首页> 中国专利> 一种云应用引擎中版本预览的控制方法及装置

一种云应用引擎中版本预览的控制方法及装置

摘要

本发明提出了一种云应用引擎中版本预览的控制方法,包括以下步骤:云应用引擎接收开发者发送的云应用数据和启动/部署请求;云应用引擎的应用程序服务器根据启动/部署请求对应用数据的上线版本进行加载启动;云应用引擎接收开发者发送的预览请求;云应用引擎的应用程序服务器根据预览请求加载相应的预览版本。本发明还提出了一种云应用引擎中版本预览的控制装置。本发明通过应用的预览版本的延时加载和空闲应用的预览版本过期卸载的机制,在满足开发者开发时可以进行预览开发功能的前提下,有效减少了应用实例的预览版本对内存等系统资源的占用,并减少了常规应用进程启动时间,提高了云应用引擎的资源利用率和应用可用性。

著录项

  • 公开/公告号CN103077054A

    专利类型发明专利

  • 公开/公告日2013-05-01

    原文格式PDF

  • 申请/专利权人 百度在线网络技术(北京)有限公司;

    申请/专利号CN201210592296.1

  • 发明设计人 汪恭正;

    申请日2012-12-29

  • 分类号

  • 代理机构北京清亦华知识产权代理事务所(普通合伙);

  • 代理人宋合成

  • 地址 100085 北京市海淀区上地十街10号百度大厦三层

  • 入库时间 2024-02-19 18:33:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-23

    授权

    授权

  • 2013-06-05

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20121229

    实质审查的生效

  • 2013-05-01

    公开

    公开

说明书

技术领域

本发明涉及云开发技术领域,特别涉及一种云应用引擎中版本预览的控制 方法及装置。

背景技术

在java的云应用引擎中,为支持项目的开发中版本的预览测试,会让多个 版本的应用程序实例处于预加载的服务状态。而当java web应用程序在预加载 时会占用一定的内存资源,当加载的应用程序数量较多时,就会导致大量基本 无请求的预览版本应用程序实例占用了大量系统内存资源,造成内存资源浪费 和系统性能瓶颈。

发明内容

本发明旨在至少在一定程度上解决上述技术问题之一或至少提供一种有 用的商业选择。

为此,本发明的第一个目的在于提出一种云应用引擎中版本预览的控制方 法,延迟加载应用程序的预览版本,并卸载一定时间无预览请求的预览版本的 应用程序实例,以实现节约内存资源。本发明的第二个目的在于提出一种云应 用引擎中版本预览的控制装置。

为达到上述目的,本发明第一方面的实施例提出了一种云应用引擎中版本 预览的控制方法,包括以下步骤:云应用引擎接收开发者发送的云应用数据和 启动/部署请求,其中,所述云应用数据包括上线版本和至少一个预览版本; 所述云应用引擎的应用程序服务器根据所述启动/部署请求对所述上线版本进 行加载启动;所述云应用引擎接收所述开发者发送的预览请求;所述云应用引 擎的应用程序服务器根据所述预览请求加载相应的预览版本。

在本发明的一个实施例中,所述预览版本为多个,且每个预览版本具有对 应的版本号,其中,所述预览请求中包括需要加载的预览版本的版本号。

在本发明的一个实施例中,所述云应用引擎中版本预览的控制方法,还包 括:所述云应用引擎对已加载的预览版本进行监控;当已加载的预览版本的空 闲时间大于预设时间之后,所述云应用引擎将对应的预览版本进行卸载。

根据本发明实施例的云应用引擎中版本预览的控制方法,通过应用的预览 版本的延时加载和空闲应用的预览版本过期卸载的机制,在满足了开发者开发 时可以进行预览开发功能的前提下,可以有效减少应用实例的预览版本对内存 等系统资源的占用,并减少了常规应用进程启动时间,提高了云应用引擎的资 源利用率和应用可用性。

本发明第二方面的实施例提出了一种云应用引擎中版本预览的控制装置, 包括:接收模块,用于接收开发者发送的云应用数据和启动/部署请求,其中, 所述云应用数据包括上线版本和至少一个预览版本,以及接收所述开发者发送 的预览请求;应用程序服务器,用于根据所述启动/部署请求对所述上线版本 进行加载启动,并根据所述预览请求加载相应的预览版本。

在本发明的一个实施例中,所述预览版本为多个,且每个预览版本具有对 应的版本号,其中,所述预览请求中包括需要加载的预览版本的版本号。

在本发明的一个实施例中,所述云应用引擎中版本预览的控制装置还包 括:监控模块,用于对已加载的预览版本进行监控,并在已加载的预览版本的 空闲时间大于预设时间之后,将对应的预览版本进行卸载。

根据本发明实施例的云应用引擎中版本预览的控制装置,通过应用的预览 版本的延时加载和空闲应用的预览版本过期卸载的机制,在满足了开发者开发 时可以进行预览开发功能的前提下,可以有效减少应用实例的预览版本对内存 等系统资源的占用,并减少了常规应用进程启动时间,提高了云应用引擎的资 源利用率和应用可用性。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描 述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中 将变得明显和容易理解,其中:

图1为本发明一个实施例的云应用引擎中版本预览的控制方法的流程图;

图2为本发明另一个实施例的云应用引擎中版本预览的控制方法的流程 图;

图3为本发明一个实施例的云应用引擎中版本预览的控制装置的示意图; 以及

图4为本发明另一个实施例的云应用引擎中版本预览的控制装置的示意 图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自 始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元 件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不 能理解为对本发明的限制。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、 “固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接, 或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以 通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术 人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,在 本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

下面分别参考图1至图2对本发明实施例的云应用引擎中版本预览的 控制方法的流程进行描述。

如图1所示,根据本发明第一方面的实施例的云应用引擎中版本预览的控 制方法,包括以下步骤:

S101:云应用引擎接收开发者发送的云应用数据和启动/部署请求,其中, 云应用数据包括上线版本和至少一个预览版本。

S102:云应用引擎的应用程序服务器根据启动/部署请求对应用数据的上 线版本进行加载启动。

S103:云应用引擎接收开发者发送的预览请求。

在本发明的一个实施例中,云应用数据的预览版本为多个,且每个预览版 本具有对应的版本号,发送预览请求时,预览请求中包括需要加载的预览版本 的版本号。

S104:云应用引擎的应用程序服务器根据预览请求加载相应的预览版本。

在以下实施例描述说明中,云应用数据以应用程序为例。应用程序包括上 线版本和至少一个预览版本。

云应用引擎接受开发者发送的应用程序和该应用程序的应用/部署请求, 启动/部署该应用程序。但与传统技术相区别的是,在应用程序启动或部署时 不立即加载该应用程序的预览版本,而只对应用数据的上线版本进行加载启 动,而当云应用引擎接收到开发者发送的预览请求时,应用程序服务器再根据 预览请求加载相应的预览版本。具体地,本发明的控制方法通过在应用程序服 务器对应用程序的正常代码扫描中忽略预览版本类型应用代码,不在应用程序 启动或部署时加载预览版本的应用实例,当发现有符合预览规则的预览请求无 相应的应用实例处理时,应用程序服务器再触发应用程序预览版本的加载和请 求处理,实现预览应用的延迟加载。启动时不加载应用程序的预览版本,也可 以减少常规应用进程的启动时间。

在本发明的一个实施例中,如图2所示,云应用引擎中版本预览的控制方 法还包括:

S105:云应用引擎对已加载的预览版本进行监控。

S106:当已加载的预览版本的空闲时间大于预设时间之后,云应用引擎将 对应的预览版本进行卸载。

其中,预设时间可以由开发者或应用引擎提供方进行具体设置。对预览版 本进行监控,可通过在应用程序服务器中增加一个针对已加载预览版本的定时 扫描器或定时扫描程序来实现,当定时扫描器或定时扫描程序扫描到该预览版 本的空闲时间(即该预览版本一直处于无请求状态)大于预设时间后,云应用 引擎自动卸载该预览版本,以释放内存空间。在实际情况中,应用程序的预览 版本一般用于开发者对应用程序进行测试,而一般开发应用程序的测试过程 为,对一个或一批应用程序的预览版本进行测试,测试完毕后,再进行下一个 或下一批应用程序的预览版本的测试,即,对一个或一批应用程序的预览版本 进行测试时,实际上对其他待测试的应用程序的预览版本并没有访问请求,本 发明结合这一实际需要,对无请求超过预设时间的应用程序预览版本进行卸 载,以节省云应用引擎系统的内存资源。

根据本发明实施例的云应用引擎中版本预览的控制方法,通过应用的预览 版本的延时加载和空闲应用的预览版本过期卸载的机制,在满足了开发者开发 时可以进行预览开发功能的前提下,可以有效减少应用实例的预览版本对内存 等系统资源的占用,并减少了常规应用进程启动时间,提高了云应用引擎的资 源利用率和应用可用性。

为了实现上述实施例,本发明还提出一种云应用引擎中版本预览的控制装 置。

如图3所示,根据本发明第二方面的云应用引擎中版本预览的控制装置, 包括:接收模块310和应用程序服务器320。

具体地,接收模块310用于接收开发者发送的云应用数据和启动/部署请 求,其中,云应用数据包括上线版本和至少一个预览版本。接收模块310还用 于接收开发者发送的预览请求。应用程序服务器320用于根据启动/部署请求 对应用数据的上线版本进行加载启动,并根据预览请求加载相应的预览版本。

在以下实施例描述说明中,云应用数据以应用程序为例。应用程序包括上 线版本和至少一个预览版本。

接收模块310接受开发者发送的应用程序和该应用程序的应用/部署请求, 启动/部署该应用程序。但与传统技术相区别的是,在应用程序启动或部署时 应用程序服务器320不立即加载该应用程序的预览版本,而只对应用数据的上 线版本进行加载,而当接收模块310接收到开发者发送的预览请求时,应用程 序服务器320再根据预览请求加载相应的预览版本。具体地,本发明的控制方 法通过在应用程序服务器对应用程序的正常代码扫描中忽略预览版本类型应 用代码,不在应用程序启动或部署时加载预览版本的应用实例,当发现有符合 预览规则的预览请求无相应的应用实例处理时,应用程序服务器320再触发应 用程序预览版本的加载和请求处理,实现预览应用的延迟加载。启动时不加载 应用程序的预览版本,也可以减少常规应用进程的启动时间。

在本发明的一个实施例中,云应用数据的预览版本为多个,且每个预览版 本具有对应的版本号,发送预览请求时,预览请求中包括需要加载的预览版本 的版本号。

在本发明的一个实施例中,如图4所示,云应用引擎中版本预览的控制装 置还包括:监控模块330。监控模块330用于对已加载的预览版本进行监控, 并在已加载的预览版本的空闲时间大于预设时间之后,将对应的预览版本进行 卸载。

其中,预设时间可以由开发者或应用引擎提供方进行具体设置。在具体实 施例中对预览版本进行监控,可通过在应用程序服务器中增加一个针对已加载 预览版本的定时扫描器或定时扫描程序来实现,当定时扫描器或定时扫描程序 扫描到该预览版本的空闲时间(即该预览版本一直处于无请求状态)大于预设 时间后,监控模块330自动卸载该预览版本,以释放内存空间。在实际情况中, 应用程序的预览版本一般用于开发者对应用程序进行测试,而一般开发应用程 序的测试过程为,对一个或一批应用程序的预览版本进行测试,测试完毕后, 再进行下一个或下一批应用程序的预览版本的测试,即,对一个或一批应用程 序的预览版本进行测试时,实际上对其他待测试的应用程序的预览版本并没有 访问请求,本发明结合这一实际需要,对无请求超过预设时间的应用程序预览 版本进行卸载,以节省云应用引擎系统的内存资源。

根据本发明实施例的云应用引擎中版本预览的控制装置,通过应用的预览 版本的延时加载和空闲应用的预览版本过期卸载的机制,在满足了开发者开发 时可以进行预览开发功能的前提下,可以有效减少应用实例的预览版本对内存 等系统资源的占用,并减少了常规应用进程启动时间,提高了云应用引擎的资 源利用率和应用可用性。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解 为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行 指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括 另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能 按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例 所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被 认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算 机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括 处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系 统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言, "计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指 令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。 计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个 布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器 (RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速 存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机 可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以 例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他 合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器 中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。 在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执 行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方 式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有 用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合 逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA) 等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或 部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种 计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组 合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块 中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品 销售或使用时,也可以存储在一个计算机可读取存储介质中。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、 “具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特 征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明 书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描 述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中 以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例 是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本 发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修 改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号