CN102253832B - 服务器应用程序功能模块版本监控实现方法及实现系统 - Google Patents

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

Info

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
Application number
CN2011101743690A
Other languages
English (en)
Other versions
CN102253832A (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.)
Shanghai Founder Technology Computer System Co Ltd
Original Assignee
Shanghai Founder Technology Computer System 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 Shanghai Founder Technology Computer System Co Ltd filed Critical Shanghai Founder Technology Computer System Co Ltd
Priority to CN2011101743690A priority Critical patent/CN102253832B/zh
Publication of CN102253832A publication Critical patent/CN102253832A/zh
Application granted granted Critical
Publication of CN102253832B publication Critical patent/CN102253832B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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工具层启动线程停止该功能模块的运行。
CN2011101743690A 2011-06-24 2011-06-24 服务器应用程序功能模块版本监控实现方法及实现系统 Expired - Fee Related CN102253832B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107150A1 (en) * 2007-03-20 2010-04-29 Tomihisa Kamada Terminal having application update managing function, and application update managing program and system
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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) 云计算系统
CN117056115A (zh) 应用程序的修复方法和装置、存储介质及电子设备
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN111831484B (zh) 一种系统自动备份还原的方法
EP1160666A2 (en) Switching versions of software in a system background
CN100351786C (zh) 计算机帮助系统和实现方法
CN117170916A (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

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

Granted publication date: 20131113