服务器应用程序功能模块版本监控实现方法及实现系统的制作方法

文档序号:6427118阅读:202来源:国知局
专利名称:服务器应用程序功能模块版本监控实现方法及实现系统的制作方法
技术领域
本发明属于计算机领域,具体涉及一种服务器应用程序功能模块版本监控实现方法及实现系统。
背景技术
OSGi全称Open Service Gateway Initiative,它作为一个规范提供了开放和通用的架构,使得使用者能统一开发、管理和部署服务。OSGI已经成为业界最知名的Java模块化规范。OSGi对于动态化的支持能够帮助开发者更好地实现”即插即用”、热部署及“即删即无的系统“。OSGi的这些服务使Java成为软件集成和软件开发的首选环境。OSGi规范的核心组件是OSGi框架。这个框架为应用程序(被叫做组件(bundle)提供了一个标准环境。组件bundle运行时分为以下几种状态1. INSTALLED-成功安装 bundle2. RESOLVED-所有bundle需要的Java类都准备好了。这个状态标志着bundle已
经是启动就绪或者是已经停止。3. STARTING-正在启动bundle。调用了 bundle激活器的start方法,而且还没有从方法中返回。4. ACTIVE-bundle已经启动完毕,正在运行中。5. STOPPING-正在停止bundle。调用了 bundle激活器的stop方法,而且还没有从方法中返回。6. UNINSTALLED-bundle已经卸载完毕,不能进入其他状态。基于OSGI技术开发的功能模块的应用程序的模块一般具有上层服务依赖下层服务的特点。信息系统功能模块一般分为持久化层(Po层),数据操作层(DA0层),逻辑层 (service层),控制层(servlet、struts),表现层(UI层)。每个模块功能可以分以上五层 (组件bundle)实现。现有技术中并没有对应用程序与数据库版本进行监控的方法,当出现版本不一致的情况时,会出现下列情况,导致服务器整个功能异常a)基于OSGI技术开发的应用信息系统通常会有服务启动而数据库连接失败造成的服务失败或返回错误信息b)服务器持久层数据和数据库版本数据不一致造成的服务异常,而影响整个系统的功能使用

发明内容
为了克服上述现有技术的缺陷,本发明提供一种功能模块版本监控实现方法,在应用程序的功能模块版本不一致的情况下也能保证服务器的稳定运行。实施本发明的具体步骤如下
(1)启动服务器,安装应用程序;(2)应用程序组件启动;(3)应用程序的Utils工具层读取应用程序中各功能模块的配置文件 versionFile. properties中的版本号,与数据库中的功能模块版本号进行比对;(4)版本号一致的功能模块进入运行状态;版本号不一致的功能模块,Utils工具层启动线程停止该功能模块的运行。所述应用程序的安装过程为依次安装应用程序的Utils工具层、应用程序中各功能模块的持久化层(bimdle-PO层)、数据操作层(bimdle-DAO层)、逻辑层 (bundle-SEVICE 层)、控制层(bundle-CONTROL 层)和表现层(bundle-UI 层)。所述应用程序启动时,各功能模块持久化层的监听器通知Utils工具层启动版本验证。Utils工具层根据功能模块的名称读取数据库中的版本号。服务器启动应用程序组件的正确执行步骤为首先应用程序组件安装后,组件进入启动就绪状态;然后,调用应用程序的激活器的start方法,进入启动状态。所述功能模块版本号不一致时,启动匿名线程停止该功能模块的运行。所述停止功能模块运行的步骤为依次停止持久化层(bundle-PO层)、数据操作层(bundle-DAO层)、逻辑层 (bundle-SEVICE 层)、控制层(bundle-CONTROL 层)和表现层(bundle-UI 层)。本发明还提供一种服务器应用程序版本监控实现系统,包括各功能模块和Utils 工具层,Utils工具层进行功能模块版本的验证。本发明的方法和系统解决了现有技术中功能模块版本不一致带来的服务器应用程序异常、不稳定的问题,能够在功能模块版本不一致时停止该功能模块的运行,而不影响其他功能模块的运行,保证了整个服务器应用程序的稳定运行。


图1本发明实施例的服务器应用程序版本监控实现系统结构框图;图2是本发明实施例的服务器应用程序版本监控实现方法流程图;图3是本发明实施例启动应用程序时的界面图;图4是现有技术中启动应用程序后版本号不一致后出现的界面图;图5是使用本发明的方法启动应用程序后版本号不一致后出现的界面图。
具体实施例方式本实施例以具体的信息系统的服务为例说明本发明的方法和系统。该信息系统的应用程序主要包括的功能模块有终端信息管理模块,电子商务内容服务模块以及支付系统模块。终端信息系统模块主要提供终端应用的上传下载,在终端PDA上根据分类显示不同的应用等外部接口。电子商务内容服务模块提供运营服务内容发布、管理和交互显示等外部接口。支付系统模块主要提供对收费应用付费的服务。如图1所示,服务器应用程序版本监控实现系统包括各功能模块、Utils工具层,Utils工具层进行功能模块版本的验证。功能模块可以为终端信息管理模块,电子商务内容服务模块以及支付系统模块,每个功能模块都有五层持久化层(bimdle-PO层)、数据操作层(bundle-DAO 层)、逻辑层(bundle-SEVICE 层)、控制层(bundle-CONTROL 层)和表现层 (bimdle-UI层),表现层依赖于控制层,控制层依赖于逻辑层,逻辑层依赖于数据操作层, 数据操作层依赖于持久化层。DAO层是实现数据库的数据CURD操作(删除,新增,更新,查找)的接口,逻辑层进行信息系统逻辑处理,控制层是用户界面动态数据的接口,表现层是用户的界面接口。下面以终端信息管理模块为例来说明功能模块的结构,其包括组件 bundle (P0 层),com. epos, terminal, core,组件 bundle (DA0 层),com. epos, terminal, dao,组件 bundle (service 层),com. epos, terminal, service,组件 bundle (control 层),com. epos, terminal, restle,组件 bundle (view 层),com. epos, terminal, ui,本发明的方法流程参见图2 启动 Spring DM server 月艮务器。当服务器执行install命令后,所有Bundle就被安装在OSGi平台上并进入 INSTALLED 状态。当我们执行start命令时,OSGi平台会首先执行resolve操作。如果操作成功, Bundle就会进入RESOLVED状态。Bundle 进入 RESOLVED 状态后,start 命令会使 Bundle 进入 Starting 状态。com. epos, terminal, core的监听器就通知Utils工具层去读取启动功能模块配置文件版本,然后验证数据库服务器是否启动和版本是否匹配。当发现数据库版本和应用程序中的功能模块如终端信息管理模块的版本匹配,Bundle会自动进入到ACTIVE状态。否则启动匿名线程停止该功能模块的所有启动组件。而其他的功能模块如电子商务和支付系统如果版本匹配,这两个功能模块的所有组件(bundle)进入ACTIVE状态并运行。具体来说,由于现有技术中并没有版本监控技术,用户点击三个功能模块中终端信息管理模块,会出现如图3所示的应用仓库图标,点击该应用仓库图标后,如果该功能模块的版本与数据库中版本不一致就会出现应用数据不正常而导致整个应用程序服务的不稳定。如图4所示。而使用本发明的方法点击应用仓库图标时,即使该功能模块的版本与数据库版本不一致,该功能模块就会停止服务,其显示的界面如图5所示。而其他功能模块如电子商务内容服务模块以及支付系统模块的服务并不受影响。显示界面也可显示服务停止的原因, 可根据实际情况设计。如果版本一致应用服务数据正常显示。
权利要求
1.一种服务器应用程序功能模块版本监控实现方法,包括如下步骤1)启动服务器,安装应用程序;2)应用程序组件启动;3)应用程序的Utils工具层读取应用程序中各功能模块的配置文件versionFile. properties中的版本号,与数据库中的功能模块版本号进行比对;4)版本号一致的功能模块进入运行状态;版本号不一致的功能模块,Utils工具层启动线程停止该功能模块的运行。
2.根据权利要求1所述的服务器应用程序版本监控实现方法,其特征在于,所述应用程序的安装步骤为依次安装应用程序的Utils工具层、应用程序中各功能模块的持久化层、数据操作层、逻辑层、控制层和表现层。
3.根据权利要求2所述的服务器应用程序版本监控实现方法,其特征在于,所述应用程序启动时,各功能模块持久化层的监听器通知Utils工具层启动版本验证。
4.根据权利要求1所述的服务器应用程序版本监控实现方法,其特征在于,Utils工具层根据功能模块的名称读取数据库中的版本号。
5.根据权利要求1所述的服务器应用程序版本监控实现方法,其特征在于,服务器启动应用程序的步骤为第一步,应用程序组件安装后,组件进入启动就绪状态;第二步,调用应用程序的激活器的start方法,进入启动状态。
6.根据权利要求1所述的服务器应用程序版本监控实现方法,其特征在于,所述功能模块版本号不一致时,启动匿名线程停止功能模块的运行。
7.根据权利要求1或6所述的服务器应用程序版本监控实现方法,其特征在于,所述停止功能模块运行的步骤为依次停止持久化层、数据操作层、逻辑层、控制层和表现层。
8.一种服务器应用程序功能模块版本监控实现系统,其特征在于,包括多个功能模块和Utils工具层,Utils工具层进行功能模块版本的验证。
全文摘要
本发明公开了一种服务器应用程序功能模块版本监控实现方法及实现系统,其方法包括1)启动服务器,安装应用程序;2)应用程序组件启动;3)应用程序的Utils工具层读取应用程序中各功能模块的配置文件versionFile.properties中的版本号,与数据库中的功能模块版本号进行比对;4)版本号一致的功能模块进入运行状态;版本号不一致的功能模块,Utils工具层启动线程停止该功能模块的运行。其系统包括多个功能模块和Utils工具层,Utils工具层进行功能模块版本的验证。本发明能够在功能模块版本不一致时停止该功能模块的运行,而不影响其他功能模块的运行,保证了服务器应用程序的稳定运行。
文档编号G06F9/445GK102253832SQ201110174369
公开日2011年11月23日 申请日期2011年6月24日 优先权日2011年6月24日
发明者穆幽方 申请人:上海北大方正科技电脑系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1