CN102253832B - 服务器应用程序功能模块版本监控实现方法及实现系统 - Google Patents
服务器应用程序功能模块版本监控实现方法及实现系统 Download PDFInfo
- Publication number
- CN102253832B CN102253832B CN2011101743690A CN201110174369A CN102253832B CN 102253832 B CN102253832 B CN 102253832B CN 2011101743690 A CN2011101743690 A CN 2011101743690A CN 201110174369 A CN201110174369 A CN 201110174369A CN 102253832 B CN102253832 B CN 102253832B
- Authority
- CN
- China
- Prior art keywords
- layer
- application program
- functional module
- version
- version number
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012544 monitoring process Methods 0.000 title claims abstract description 11
- 230000002688 persistence Effects 0.000 claims description 9
- 239000012190 activator Substances 0.000 claims description 4
- 238000009434 installation Methods 0.000 claims 1
- 239000000306 component Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004064 dysfunction Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种服务器应用程序功能模块版本监控实现方法及实现系统,其方法包括:1)启动服务器,安装应用程序;2)应用程序组件启动;3)应用程序的Utils工具层读取应用程序中各功能模块的配置文件versionFile.properties中的版本号,与数据库中的功能模块版本号进行比对;4)版本号一致的功能模块进入运行状态;版本号不一致的功能模块,Utils工具层启动线程停止该功能模块的运行。其系统包括多个功能模块和Utils工具层,Uils工具层进行功能模块版本的验证。本发明能够在功能模块版本不一致时停止该功能模块的运行,而不影响其他功能模块的运行,保证了服务器应用程序的稳定运行。
Description
技术领域
本发明属于计算机领域,具体涉及一种服务器应用程序功能模块版本监控实现方法及实现系统。
背景技术
OSGi全称Open Service Gateway Initiative,它作为一个规范提供了开放和通用的架构,使得使用者能统一开发、管理和部署服务。OSGI已经成为业界最知名的Java模块化规范。OSGi对于动态化的支持能够帮助开发者更好地实现”即插即用”、热部署及“即删即无的系统“。OSGi的这些服务使Java成为软件集成和软件开发的首选环境。OSGi规范的核心组件是OSGi框架。这个框架为应用程序(被叫做组件(bundle)提供了一个标准环境。
组件bundle运行时分为以下几种状态:
1.INSTALLED-成功安装bundle
2.RESOLVED-所有bundle需要的Java类都准备好了。这个状态标志着bundle已经是启动就绪或者是已经停止。
3.STARTING-正在启动bundle。调用了bundle激活器的start方法,而且还没有从方法中返回。
4.ACTIVE-bundle已经启动完毕,正在运行中。
5.STOPPING-正在停止bundle。调用了bundle激活器的stop方法,而且还没有从方法中返回。
6.UNINSTALLED-bundle已经卸载完毕,不能进入其他状态。
基于OSGI技术开发的功能模块的应用程序的模块一般具有上层服务依赖下层服务的特点。信息系统功能模块一般分为持久化层(PO层),数据操作层(DAO层),逻辑层(service层),控制层(servlet、struts),表现层(UI层)。每个模块功能可以分以上五层(组件bundle)实现。
现有技术中并没有对应用程序与数据库版本进行监控的方法,当出现版本不一致的情况时,会出现下列情况,导致服务器整个功能异常:
a)基于OSGI技术开发的应用信息系统通常会有服务启动而数据库连接失败造成的服务失败或返回错误信息
b)服务器持久层数据和数据库版本数据不一致造成的服务异常,而影响整个系统的功能使用
发明内容
为了克服上述现有技术的缺陷,本发明提供一种功能模块版本监控实现方法,在应用程序的功能模块版本不一致的情况下也能保证服务器的稳定运行。
实施本发明的具体步骤如下:
(1)启动服务器,安装应用程序;
(2)应用程序组件启动;
(3)应用程序的Utils工具层读取应用程序中各功能模块的配置文件versionFile.properties中的版本号,与数据库中的功能模块版本号进行比对;
(4)版本号一致的功能模块进入运行状态;版本号不一致的功能模块,Utils工具层启动线程停止该功能模块的运行。
所述应用程序的安装过程为:依次安装应用程序的Utils工具层、应用程序中各功能模块的持久化层(bundle-PO层)、数据操作层(bundle-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工具层进行功能模块版本的验证。功能模块可以为终端信息管理模块,电子商务内容服务模块以及支付系统模块,每个功能模块都有五层:持久化层(bundle-PO层)、数据操作层(bundle-DAO层)、逻辑层(bundle-SEVICE层)、控制层(bundle-CONTROL层)和表现层(bundle-UI层),表现层依赖于控制层,控制层依赖于逻辑层,逻辑层依赖于数据操作层,数据操作层依赖于持久化层。DAO层是实现数据库的数据CURD操作(删除,新增,更新,查找)的接口,逻辑层进行信息系统逻辑处理,控制层是用户界面动态数据的接口,表现层是用户的界面接口。
下面以终端信息管理模块为例来说明功能模块的结构,其包括:
组件bundle(PO层)’com.epos.terminal.core’
组件bundle(DAO层)’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所示。而其他功能模块如电子商务内容服务模块以及支付系统模块的服务并不受影响。显示界面也可显示服务停止的原因,可根据实际情况设计。
如果版本一致应用服务数据正常显示。
Claims (1)
1.一种服务器应用程序功能模块版本监控实现方法,包括如下步骤:
1)启动服务器,安装应用程序;所述应用程序的安装步骤为:依次安装应用程序的Utils工具层、应用程序中各功能模块的持久化层、数据操作层、逻辑层、控制层和表现层;所述服务器启动应用程序的步骤为:
第一步,应用程序组件安装后,组件进入启动就绪状态;
第二步,调用应用程序的激活器的start方法,进入启动状态;
2)应用程序组件启动,所述应用程序启动时,各功能模块持久化层的监听器通知Utils工具层启动版本验证;Utils工具层根据功能模块的名称读取数据库中的版本号;
3)应用程序的Utils工具层读取应用程序中各功能模块的配置文件versionFile.properties中的版本号,与数据库中的功能模块版本号进行比对;所述功能模块版本号不一致时,启动匿名线程停止功能模块的运行;所述停止功能模块运行的步骤为:依次停止持久化层、数据操作层、逻辑层、控制层和表现层;
4)版本号一致的功能模块进入运行状态;版本号不一致的功能模块,Utils工具层启动线程停止该功能模块的运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101743690A CN102253832B (zh) | 2011-06-24 | 2011-06-24 | 服务器应用程序功能模块版本监控实现方法及实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101743690A CN102253832B (zh) | 2011-06-24 | 2011-06-24 | 服务器应用程序功能模块版本监控实现方法及实现系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102253832A CN102253832A (zh) | 2011-11-23 |
CN102253832B true CN102253832B (zh) | 2013-11-13 |
Family
ID=44981112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101743690A Expired - Fee Related CN102253832B (zh) | 2011-06-24 | 2011-06-24 | 服务器应用程序功能模块版本监控实现方法及实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102253832B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521001B (zh) * | 2011-12-19 | 2014-04-02 | 青岛海信网络科技股份有限公司 | 一种c/s结构应用程序版本兼容性控制方法 |
CN102868562B (zh) * | 2012-09-28 | 2015-11-25 | 北京奇虎科技有限公司 | 维护网络应用平台运行的方法及维护设备 |
CN103984567B (zh) * | 2014-04-22 | 2017-12-26 | 世纪禾光科技发展(北京)有限公司 | 开放平台模块化的方法和装置 |
CN110362314B (zh) * | 2019-07-12 | 2023-10-24 | Oppo广东移动通信有限公司 | 信息处理方法及装置、计算机可读介质、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436124A (zh) * | 2007-11-16 | 2009-05-20 | 康佳集团股份有限公司 | 一种嵌入式设备kjava应用程序管理系统及方法 |
CN101464895A (zh) * | 2009-01-21 | 2009-06-24 | 阿里巴巴集团控股有限公司 | 一种更新内存数据的方法、系统和装置 |
CN101615130A (zh) * | 2009-07-24 | 2009-12-30 | 方正国际软件(武汉)有限公司 | 业务功能管理系统和方法 |
US7716663B2 (en) * | 2004-02-26 | 2010-05-11 | International Business Machines Corporation | Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles |
CN101770375A (zh) * | 2008-12-26 | 2010-07-07 | 新奥特(北京)视频技术有限公司 | 一种软件自动升级的实现方法、系统和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008114491A1 (ja) * | 2007-03-20 | 2010-07-01 | 株式会社Access | アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム |
US8549476B2 (en) * | 2009-07-30 | 2013-10-01 | Hewlett-Packard Development Company, L.P. | Comparison of result of program operation to result of an operation of a different version of the program |
-
2011
- 2011-06-24 CN CN2011101743690A patent/CN102253832B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716663B2 (en) * | 2004-02-26 | 2010-05-11 | International Business Machines Corporation | Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles |
CN101436124A (zh) * | 2007-11-16 | 2009-05-20 | 康佳集团股份有限公司 | 一种嵌入式设备kjava应用程序管理系统及方法 |
CN101770375A (zh) * | 2008-12-26 | 2010-07-07 | 新奥特(北京)视频技术有限公司 | 一种软件自动升级的实现方法、系统和装置 |
CN101464895A (zh) * | 2009-01-21 | 2009-06-24 | 阿里巴巴集团控股有限公司 | 一种更新内存数据的方法、系统和装置 |
CN101615130A (zh) * | 2009-07-24 | 2009-12-30 | 方正国际软件(武汉)有限公司 | 业务功能管理系统和方法 |
Non-Patent Citations (4)
Title |
---|
OSGi框架分析和应用研究;吴波;《中国优秀硕士学位论文全文数据库》;20100215;全文 * |
吴波.OSGi框架分析和应用研究.《中国优秀硕士学位论文全文数据库》.2010, |
基于OSGi的构件库系统设计与实现;梁小江;《中国优秀硕士学位论文全文数据库》;20101015;全文 * |
梁小江.基于OSGi的构件库系统设计与实现.《中国优秀硕士学位论文全文数据库》.2010, |
Also Published As
Publication number | Publication date |
---|---|
CN102253832A (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667482B2 (en) | Automated application modeling for application virtualization | |
US7523340B2 (en) | Support self-heal tool | |
US7028175B2 (en) | System and method for computer hardware identification | |
CN100426235C (zh) | 在软件包管理系统将用户进程表示为软件包的系统和方法 | |
US9350623B2 (en) | System and method for automated deployment of multi-component computer environment | |
US7587715B1 (en) | System and method for selective installation of one or more components for a data storage management system | |
US8347294B2 (en) | Automated administration using composites of atomic operations | |
US9417865B2 (en) | Determining when to update a package manager software | |
RU2571726C2 (ru) | Система и способ проверки целесообразности установки обновлений | |
US20070240152A1 (en) | System and method for sharing software certification and process metadata | |
US20060271924A1 (en) | Method and apparatus for automating updates to dependencies | |
US20080098099A1 (en) | Facilitating Deployment Of Customizations Of Enterprise Applications | |
JP2004533032A (ja) | ホストコンピュータを構築するシステムおよび方法 | |
US7996730B2 (en) | Customizable system for the automatic gathering of software service information | |
CN102253832B (zh) | 服务器应用程序功能模块版本监控实现方法及实现系统 | |
CN102355499A (zh) | 云计算系统 | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
EP1160666A2 (en) | Switching versions of software in a system background | |
CN117170916A (zh) | 一种故障分析方法、装置、设备及存储介质 | |
CN118642932A (zh) | 一种预装系统的性能测试方法及服务器 | |
CN114546428A (zh) | cuckoo集群的部署方法、基于cuckoo集群的检测方法、装置 | |
Allison et al. | Oracle Real Application Clusters Installation Guide, 11g Release 1 (11.1) for Microsoft Windows B28251-06 | |
Allison et al. | Oracle Real Application Clusters Installation Guide, 11g Release 1 (11.1) for Microsoft Windows B28251-05 | |
Allison et al. | Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for AIX B14201-04 | |
Allison et al. | Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for AIX B14201-03 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131113 |