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

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

Info

Publication number
CN103077054A
CN103077054A CN2012105922961A CN201210592296A CN103077054A CN 103077054 A CN103077054 A CN 103077054A CN 2012105922961 A CN2012105922961 A CN 2012105922961A CN 201210592296 A CN201210592296 A CN 201210592296A CN 103077054 A CN103077054 A CN 103077054A
Authority
CN
China
Prior art keywords
preview
cloud application
version
versions
application engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105922961A
Other languages
English (en)
Other versions
CN103077054B (zh
Inventor
汪恭正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210592296.1A priority Critical patent/CN103077054B/zh
Publication of CN103077054A publication Critical patent/CN103077054A/zh
Application granted granted Critical
Publication of CN103077054B publication Critical patent/CN103077054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

一种云应用引擎中版本预览的控制方法及装置
技术领域
本发明涉及云开发技术领域,特别涉及一种云应用引擎中版本预览的控制方法及装置。
背景技术
在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)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (6)

1.一种云应用引擎中版本预览的控制方法,其特征在于,包括以下步骤:
云应用引擎接收开发者发送的云应用数据和启动/部署请求,其中,所述云应用数据包括上线版本和至少一个预览版本;
所述云应用引擎的应用程序服务器根据所述启动/部署请求对所述上线版本进行加载启动;
所述云应用引擎接收所述开发者发送的预览请求;以及
所述云应用引擎的应用程序服务器根据所述预览请求加载相应的预览版本。
2.如权利要求1所述的云应用引擎中版本预览的控制方法,其特征在于,所述预览版本为多个,且每个预览版本具有对应的版本号,其中,所述预览请求中包括需要加载的预览版本的版本号。
3.如权利要求1或2所述的云应用引擎中版本预览的控制方法,其特征在于,还包括:
所述云应用引擎对已加载的预览版本进行监控;
当已加载的预览版本的空闲时间大于预设时间之后,所述云应用引擎将对应的预览版本进行卸载。
4.一种云应用引擎中版本预览的控制装置,其特征在于,包括:
接收模块,用于接收开发者发送的云应用数据和启动/部署请求,其中,所述云应用数据包括上线版本和至少一个预览版本,以及接收所述开发者发送的预览请求;
应用程序服务器,用于根据所述启动/部署请求对所述上线版本进行加载启动,并根据所述预览请求加载相应的预览版本。
5.如权利要求4所述的云应用引擎中版本预览的控制装置,其特征在于,所述预览版本为多个,且每个预览版本具有对应的版本号,其中,所述预览请求中包括需要加载的预览版本的版本号。
6.如权利要求4或5所述的云应用引擎中版本预览的控制装置,其特征在于,还包括:
监控模块,用于对已加载的预览版本进行监控,并在已加载的预览版本的空闲时间大于预设时间之后,将对应的预览版本进行卸载。
CN201210592296.1A 2012-12-29 2012-12-29 一种云应用引擎中版本预览的控制方法及装置 Active CN103077054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210592296.1A CN103077054B (zh) 2012-12-29 2012-12-29 一种云应用引擎中版本预览的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210592296.1A CN103077054B (zh) 2012-12-29 2012-12-29 一种云应用引擎中版本预览的控制方法及装置

Publications (2)

Publication Number Publication Date
CN103077054A true CN103077054A (zh) 2013-05-01
CN103077054B CN103077054B (zh) 2015-12-23

Family

ID=48153591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210592296.1A Active CN103077054B (zh) 2012-12-29 2012-12-29 一种云应用引擎中版本预览的控制方法及装置

Country Status (1)

Country Link
CN (1) CN103077054B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870920A (zh) * 2016-09-23 2018-04-03 腾讯科技(深圳)有限公司 浏览器资源预拉取方法及装置
CN112882733A (zh) * 2021-02-04 2021-06-01 网易(杭州)网络有限公司 应用更新方法及装置、电子设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127235A1 (en) * 2006-07-10 2008-05-29 International Business Machines Corporation Methods, systems and computer program products for dynamic linkage
CN101833465A (zh) * 2010-04-23 2010-09-15 中国科学院声学研究所 一种支持应用程序动态加载运行的嵌入式系统
CN101876913A (zh) * 2010-01-05 2010-11-03 深圳中兴网信科技有限公司 软件组件管理方法及软件组件管理器
CN102323887A (zh) * 2011-06-30 2012-01-18 中兴通讯股份有限公司 基于浏览器引擎的动态加载Widget的方法及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127235A1 (en) * 2006-07-10 2008-05-29 International Business Machines Corporation Methods, systems and computer program products for dynamic linkage
CN101876913A (zh) * 2010-01-05 2010-11-03 深圳中兴网信科技有限公司 软件组件管理方法及软件组件管理器
CN101833465A (zh) * 2010-04-23 2010-09-15 中国科学院声学研究所 一种支持应用程序动态加载运行的嵌入式系统
CN102323887A (zh) * 2011-06-30 2012-01-18 中兴通讯股份有限公司 基于浏览器引擎的动态加载Widget的方法及移动终端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870920A (zh) * 2016-09-23 2018-04-03 腾讯科技(深圳)有限公司 浏览器资源预拉取方法及装置
CN112882733A (zh) * 2021-02-04 2021-06-01 网易(杭州)网络有限公司 应用更新方法及装置、电子设备、存储介质
CN112882733B (zh) * 2021-02-04 2023-09-08 网易(杭州)网络有限公司 应用更新方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN103077054B (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
CN101576828B (zh) 软件版本升级方法及装置、服务器
US8448187B2 (en) Conflict resolution apparatus
US8752060B2 (en) Multi-CPU domain mobile electronic device and operation method thereof
US10228954B2 (en) Broadcasting management information using fountain codes
CN104317608A (zh) 移动终端中预装应用程序的管理方法、装置和客户端
CN110851204B (zh) 应用启动的方法及装置、应用打包的方法及装置
CN104239098A (zh) 软件的自动升级方法、装置及移动终端
CN104123151A (zh) 移动终端中应用程序的插件管理方法、装置和移动终端
US20090113250A1 (en) Service testing
CN105511874A (zh) 嵌入式系统启动方法和智能终端
CN103885802A (zh) 驱动程序的安装方法、装置和客户端
CN103077054A (zh) 一种云应用引擎中版本预览的控制方法及装置
CN104360880A (zh) 一种应用安装方法及电子设备
CN114328097A (zh) 一种文件监控方法、装置、电子设备和存储介质
CN117632570A (zh) 基于多核异构soc的多操作系统诊断方法、装置和系统
CN103139755A (zh) 基于订阅的应用程序管理方法、系统及装置
CN110365839B (zh) 关机方法、装置、介质及电子设备
CN104111846A (zh) 页面数据的加载方法和装置
US11354138B1 (en) Optimizing plugin loading
CN111209197A (zh) 应用程序持续集成测试方法、系统、设备和存储介质
CN114189305B (zh) 一种时间同步方法、装置、设备及可读存储介质
CN117687703B (zh) 服务器的启动方法、装置、系统、存储介质和电子设备
CN117369952B (zh) 集群的处理方法、装置、设备及存储介质
CN114500532A (zh) 可弹性伸缩集群服务中的应用部署方法及系统
CN113709569A (zh) 用于机顶盒内多个应用客户端批量自动升级的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant