CN103970531A - 中心管理服务器及其管理app的方法 - Google Patents
中心管理服务器及其管理app的方法 Download PDFInfo
- Publication number
- CN103970531A CN103970531A CN201410117763.4A CN201410117763A CN103970531A CN 103970531 A CN103970531 A CN 103970531A CN 201410117763 A CN201410117763 A CN 201410117763A CN 103970531 A CN103970531 A CN 103970531A
- Authority
- CN
- China
- Prior art keywords
- app
- management server
- server
- center management
- information
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种中心管理服务器及其管理APP的方法,其中,上述方法应用于中心管理服务器中,所述方法用于管理应用程序组件,所述中心管理服务器为基于Felix OSGI框架的服务器,所述方法包括步骤:S10、接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下,S20、读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内存,以及将相应的服务信息写入数据库;S30、根据客户端的激活指令读取APP的blueprint文件并根据所述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP。本发明能够实现APP的动态加载以及热部署。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种中心管理服务器及其管理APP的方法。
背景技术
中心管理服务器基于OSGI框架设计开发。OSGI(Open Service Gateway Initiative)技术是面向Java的动态模型系统。OSGI服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。OSGI技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。OSGI为应用程序(在这里被称为组件(bundle))提供了一个标准环境。这些组件能够组装进一个应用或部署中。图1为OSGI的基本结构示意图。
基于OSGI框架,应用程序组件(bundle)之间通过MANIFEST声明通信的接口和开放的服务。OSGI框架提供了一系列接口,实现权限管理、包管理、组件级别管理和URL处理等公共逻辑。图2显示了基于OSGI框架的组件部署关系以及组件与OSGI框架之间的关系图。
中心管理服务器作为数字监控系统的数据中心、管理中心和信令转发中心,其特点是数据量大、服务接口复杂、服务之间互相依赖等特点。如果需要接入第三方系统或增加新服务模块(以下我们称为APP),需要涉及大量的代码修改、数据备份和服务重启等工作的问题。因此,有必要对上述的中心管理服务器加载新模块的方法进行改进。
发明内容
本发明提出了一种中心管理服务器及其管理APP的方法,主要解决的是现有技术中在接入第三方系统或增加新服务组件,需要涉及大量的代码修改、数据备份和服务重启等工作的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种中心管理 服务器管理APP的方法,应用于中心管理服务器中,所述方法用于管理应用程序组件,所述中心管理服务器为基于Felix OSGI框架的服务器加载MANIFEST声明并获取应用程序组件的注册信息以及提供应用程序注册所需接口,并为新加入的应用程序提供对外通信接口,所述方法包括步骤:
S10、接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下,其中,所述的APP压缩文件包含记录配置信息的app.xml文件以及记录APP信息的war文件;
S20、读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内存,以及将相应的服务信息写入数据库;
S30、根据客户端的激活指令读取APP的blueprint文件并根据所述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP,所述blueprint文件是应用程序组件依照OSGI Felix框架开发并具有使用blueprint进行OSGI配置生成的。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种中心管理服务器,所述中心管理服务器为基于Felix OSGI框架的服务器加载MANIFEST声明并获取应用程序组件的注册信息以及提供应用程序注册所需接口,并为新加入的应用程序提供对外通信接口,具体包括,
APP压缩文件接收模块,用于接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下;
APP压缩文件解析模块,用于读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内存,以及将相应的服务信息写入数据库;
APP处理模块,用于根据客户端的激活指令读取APP的blueprint文件并根据所述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP,所述blueprint文件是应用程序组件依照OSGI Felix框架开发并具有使用blueprint进行OSGI配置生成的。
本发明的有益技术效果是:区别于现有技术中在接入第三方系统或增加新服务模块时,需要涉及大量的代码修改、数据备份和服务重启等工作的问题,本发明提供了一种中心管理服务器模块管理APP的方法,组件可以实现动态加 载并且可以通过相互引用实现组件之间的交互和消息通信,从而实现基于不同开发语言,不同框架的组件的热部署。
附图说明
图1是现有技术中的OSGI结构示意图;
图2是现技术中OSGI结构的设计示意图;
图3是本发明中心管理服务器模块动态加载方法的流程图;
图4是本发明APP组件的周期示意图;
图5是本发明中心管理服务器与客户端的信息交互示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图3至图5,本实施例提供了一种中心管理服务器管理APP的方法,该方法应用于中心管理服务器中,所述方法用于管理应用程序组件,所述中心管理服务器为基于Felix OSGI框架的服务器加载MANIFEST声明并获取应用程序组件的注册信息以及提供应用程序注册所需接口,并为新加入的应用程序提供对外通信接口。该OSGI框架实现了对组件生命周期的管理,对于新部署到框架内的组件,OSGI通过加载框架的MANIFEST声明来获取应用程序组件的注册信息以及通过搜索其他已部署到OSGI框架的组件的MANIFEST为新加入的组件提供其注册所需要的接口,并且提供该应用程序组件对外通信接口。通过以上方式,OSGI框架下的应用程序组件能够实现动态加载和相互通信。上述的方案通过注册接口实现对APP的部署管理。
中心管理服务器管理APP的方法,包括如下步骤:
S10、接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下,使APP进入install状态,其中,所述的APP压缩文件包含记录配置信息的app.xml文件以及记录APP信息的war文件;
S20、读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内 存,以及将相应的服务信息写入数据库,使APP由install状态进入resolved状态;
S30、根据客户端的激活指令读取APP的blueprint文件并根据所述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP,所述blueprint文件是应用程序组件依照OSGI Felix框架开发并具有使用blueprint进行OSGI配置生成的,APP由resolved状态进入active状态。上述的方案通过对外通信接口可以实现对APP的生命周期的管理。
上述APP的配置信息包含以下字段:
<app>
<identityFile>id.xml</identityFile>
<version>1.0.0</version>
<targetSDKVersion>1.6.5</targetSDKVersion>
<minimumCESVersion>1.6.0</minimumCESVersion>
<minimumDeviceVersion>1.6.0</minimumDeviceVersion>
<serverFile>appStatisticsSample-0.1.0.war</serverFile>
<clientFile>statistics.xap</clientFile>
</app>
上述的app的war文件是一个符合OSGI Felix框架的java web程序。这个程序可以独立运行,也可以对中心服务器有所依赖。
在一具体的实施例中,当接收到停止指令后,停止APP运行并回收APP资源,使APP由active状态进入resolved状态;当接收到卸载指令后,删除数据库中APP的相关信息,APP由resolved进入uninstalled状态。
上述的实施例中,所述步骤S10中接收APP压缩文件后还包括步骤:
判断客户端上传的APP压缩文件的是否损坏,若有损坏,则向客户端反馈APP损坏的信息;若无损坏,则向客户端反馈APP完好的信息。
在一具体的实施例中,还包括根据客户端的查看APP命令反馈服务器中所有APP的详细信息以及APP状态的步骤。该步骤能够实现对APP访问权限的管理。
在一具体的实施示例中,中心管理服务器通过MANIFEST声明所述应用程序组件通信的接口和开放的服务,
Post():向服务器上传APP zip文件,服务器将zip文件存放到APP部署目录的指定路径下,APP进入install状态。
Install():服务器读取中心服务器的APP部署目录的zip文件并将二进制字节码读入内存中,将相应的服务信息写入数据库并做好启动准备,APP由install状态进入resolved状态。
Start():读取APP的blueprint文件并根据配置读取APP信息到内存中,初始化APP启动所需组件,启动APP,APP由resolved进入active状态。此时可以APP处于可访问状态,可以调用APP提供的web接口与APP进行通信完成业务逻辑。
Stop():停止APP,并回收APP资源,APP由active进入resolved状态。
Unstall():卸载APP,删除数据库中APP相应信息,APP由resolved进入unstalled状态。
getApps():客户端通过此接口获得所有APP状态和APP的详细信息。
客户端可以通过以上接口实现对APP的管理,管理APP的序列流程如图5所示。
这样,就通过OSGI对于bundle的管理实现了APP组件和新模块的动态加载和热部署。不需要重启服务器或更新中心服务器代码,即可实现APP的动态管理。
本发明还提供了一种中心管理服务器,所述中心管理服务器为基于Felix OSGI框架的服务器加载MANIFEST声明并获取应用程序组件的注册信息以及提供应用程序注册所需接口,并为新加入的应用程序提供对外通信接口,具体包括,
APP压缩文件接收模块,用于接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下;
APP压缩文件解析模块,用于读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内存,以及将相应的服务信息写入数据库;
APP处理模块,用于根据客户端的激活指令读取APP的blueprint文件并根据所 述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP,所述blueprint文件是应用程序组件依照OSGI Felix框架开发并具有使用blueprint进行OSGI配置生成的。
在一具体的实施例中,所述APP处理模块还包括APP停止接口单元以及APP卸载接口单元,所述APP停止接口单元,用于当接收到停止指令后,停止APP运行并回收APP资源;所述APP卸载接口单元,用于当接收到卸载指令后,删除数据库中APP的相关信息。
在一实施例中,还包括APP判断反馈模块,用于判断客户端上传的APP压缩文件的是否损坏,若有损坏,则向客户端反馈APP损坏的信息;若无损坏,则向客户端反馈APP完好的信息。
在一实施例中,所述APP处理模块还包括APP查询接口单元,用于根据客户端的查看APP命令反馈服务器中所有APP的详细信息以及APP的状态。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种中心管理服务器管理APP的方法,应用于中心管理服务器中,所述方法用于管理应用程序组件,其特征在于,所述中心管理服务器为基于FelixOSGI框架的服务器加载MANIFEST声明并获取应用程序组件的注册信息以及提供应用程序注册所需接口,并为新加入的应用程序提供对外通信接口,所述方法包括步骤:
S10、接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下,其中,所述的APP压缩文件包含记录配置信息的app.xml文件以及记录APP信息的war文件;
S20、读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内存,以及将相应的服务信息写入数据库;
S30、根据客户端的激活指令读取APP的blueprint文件并根据所述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP,所述blueprint文件是应用程序组件依照OSGI Felix框架开发并具有使用blueprint进行OSGI配置生成的。
2.一种中心管理服务器管理APP的方法,其特征在于,还包括步骤:
当接收到停止指令后,停止APP运行并回收APP资源;
当接收到卸载指令后,删除数据库中APP的相关信息。
3.根据权利要求1所述的中心管理服务器管理APP的方法,其特征在于,所述步骤S10中接收APP压缩文件后还包括步骤:
判断客户端上传的APP压缩文件的是否损坏,若有损坏,则向客户端反馈APP损坏的信息;若无损坏,则向客户端反馈APP完好的信息。
4.根据权利要求1所述的中心管理服务器管理APP的方法,其特征在于,还包括根据客户端的查看APP命令反馈中心管理服务器中所有APP的详细信息以及APP状态的步骤。
5.一种中心管理服务器,其特征在于,所述中心管理服务器为基于FelixOSGI框架的服务器加载MANIFEST声明并获取应用程序组件的注册信息以及提供应用程序注册所需接口,并为新加入的应用程序提供对外通信接口具体包括,
APP压缩文件接收模块,用于接收客户端上传的APP压缩文件并将其存放至APP部署目录的指定路径下;
APP压缩文件解析模块,用于读取APP部署目录下的APP压缩文件并将二进制字节码读入服务器内存,以及将相应的服务信息写入数据库;
APP处理模块,用于根据客户端的激活指令读取APP的blueprint文件并根据所述配置信息将APP信息读入服务器的内存,然后初始化APP所需组件并启动APP,所述blueprint文件是应用程序组件依照OSGI Felix框架开发并具有使用blueprint进行OSGI配置生成的。
6.根据权利要求4所述的中心管理服务器,其特征在于,所述APP处理模块还包括APP停止接口单元以及APP卸载接口单元,
所述APP停止接口单元,用于当接收到停止指令后,停止APP运行并回收APP资源;
所述APP卸载接口单元,用于当接收到卸载指令后,删除数据库中APP的相关信息。
7.根据权利要求4所述的中心管理服务器,其特征在于,还包括APP判断反馈模块,用于判断客户端上传的APP压缩文件的是否损坏,若有损坏,则向客户端反馈APP损坏的信息;若无损坏,则向客户端反馈APP完好的信息。
8.根据权利要求4所述的中心管理服务器,其特征在于,所述APP处理模块还包括APP查询接口单元,用于根据客户端的查看APP命令反馈服务器中所有APP的详细信息以及APP的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410117763.4A CN103970531A (zh) | 2014-03-26 | 2014-03-26 | 中心管理服务器及其管理app的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410117763.4A CN103970531A (zh) | 2014-03-26 | 2014-03-26 | 中心管理服务器及其管理app的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103970531A true CN103970531A (zh) | 2014-08-06 |
Family
ID=51240071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410117763.4A Pending CN103970531A (zh) | 2014-03-26 | 2014-03-26 | 中心管理服务器及其管理app的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970531A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488144A (zh) * | 2020-04-17 | 2020-08-04 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据处理方法以及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060140144A1 (en) * | 2004-12-27 | 2006-06-29 | Motorola, Inc. | Method and system for providing an open gateway initiative bundle over the air |
CN103064676A (zh) * | 2012-12-24 | 2013-04-24 | 上海斐讯数据通信技术有限公司 | 一种对开放服务网关中组件的控制方法 |
-
2014
- 2014-03-26 CN CN201410117763.4A patent/CN103970531A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060140144A1 (en) * | 2004-12-27 | 2006-06-29 | Motorola, Inc. | Method and system for providing an open gateway initiative bundle over the air |
CN103064676A (zh) * | 2012-12-24 | 2013-04-24 | 上海斐讯数据通信技术有限公司 | 一种对开放服务网关中组件的控制方法 |
Non-Patent Citations (2)
Title |
---|
刘肖宇: "基于整合框架的OSGi分布式扩展机制研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
杨锴: "OSGi框架研究与分布式应用实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488144A (zh) * | 2020-04-17 | 2020-08-04 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据处理方法以及设备 |
CN111488144B (zh) * | 2020-04-17 | 2024-03-19 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据处理方法以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101317381B (zh) | 对能力管理对象维护、对能力管理的方法、系统及终端 | |
CN111290753B (zh) | 前端开发环境的搭建方法、装置、设备及存储介质 | |
CN102662705B (zh) | 一种对计算机集群的系统环境进行升级的系统及方法 | |
US8762977B2 (en) | Mobile device software management method and apparatus | |
CN104854558A (zh) | 用于使用编译和部署服务进行软件构建和负载处理的系统、方法和计算机程序产品 | |
CN103927180A (zh) | 一种基于安卓系统的功能插件的实现方法及其系统 | |
CN103729450A (zh) | 一种集中管理功能权限的方法及装置 | |
CN106844213A (zh) | 一种前端自动化测试方法及装置 | |
CN111857777B (zh) | 基于双芯智能电表的系统更新方法、装置和计算机设备 | |
CN104102489A (zh) | 一种第三方数据库app构建系统及构建方法 | |
CN104298512A (zh) | 一种基于OSGi标准的功能组件式集成开发系统 | |
CN101634946B (zh) | 一种rfid构件的生成方法 | |
CN104517181A (zh) | 一种核电站企业内容管理系统及方法 | |
CN105656947A (zh) | 一种交易中间件与第三方系统交互的方法、装置和系统 | |
CN104572394A (zh) | 进程监控方法及装置 | |
CN104090810A (zh) | 一种基于软件通信体系架构的核心框架集成方法 | |
CN101521600A (zh) | 一种网关设备中业务控制方法和网关设备 | |
CN105045642A (zh) | 一种自定义类的加载方法及装置 | |
CN103970531A (zh) | 中心管理服务器及其管理app的方法 | |
CN109783132B (zh) | 一种可适应系统单体化及分布式化的实现方法及装置 | |
US11803786B2 (en) | Enterprise integration platform | |
CN108694048A (zh) | 一种批量发布服务的实现方法 | |
CN102354282B (zh) | 基于分级OSGi的RFID中间件构件产品运行时监控系统 | |
CN101246421A (zh) | 一种基于工作流引擎实现的通用框架 | |
CN103064676A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140806 |