[发明专利]一种C++应用程序版本动态管理系统和方法无效

专利信息
申请号: 201010624578.6 申请日: 2010-12-30
公开(公告)号: CN102073520A 公开(公告)日: 2011-05-25
发明(设计)人: 段锴;许囡囡;杨勇生 申请(专利权)人: 中国民航信息网络股份有限公司
主分类号: G06F9/445 分类号: G06F9/445
代理公司: 北京锐思知识产权代理事务所(普通合伙) 11341 代理人: 李涛
地址: 100010 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 c++ 应用程序 版本 动态 管理 系统 方法
【说明书】:

技术领域

发明涉及一种C++应用程序版本动态管理系统和方法,在不停止服务的情况下,对应用逻辑进行更新、扩展与增强,实现“即插即用”。

背景技术

目前阶段,一套应用系统在业务逻辑发生调整变化,需要升级时,主要采用以下几种实施方案:一是申请计划停机,更新应用程序;二是切换到备份系统,更新应用程序;三是采用集群方案,按机器、分批次更新应用程序。不论采用哪种方案,有的需要中断系统服务;有的上线操作或者故障后回滚操作非常复杂,加重运维人员工作负担;有的需要额外增加设备资源,提高运维成本。

插件(plug-in)技术在业界有着广泛的应用,很多软件(比如firef0x、winamp等)都支持它,其中以Eclipse平台最著名。插件技术是指在软件的设计和开发过程中,将整个应用程序划分为宿主程序和插件对象两部分,宿主程序能够调用插件对象,插件对象能够在宿主程序上实现自己的逻辑,而两者的交互基于一种公共的通信契约。宿主程序可以独立于插件对象存在,因此,我们可以在避免改变宿主程序的情况下通过增减插件或修改插件的方式增加或调整功能。

使用了插件式机制的应用程序是一个框架,这个框架由于使用了插件架构,变得稳固且具有良好的可扩展性。扩展性的优点在于它屏蔽了宿主程序与插件对象之间复杂的交互和通信联系,第三方插件开发者无需关注框架的宿主程序是如何运行的,如何调用插件对象等复杂问题。事实上,他们完全无需了解框架的宿主程序是如何编写的,只须关心自己所要解决问题的处理逻辑,只要这个逻辑编写正确,并且符合插件式框架规定的格式和流程,这个插件文件就将能够被框架的宿主程序识别并安装。

以航信开放平台应用为例,由于不同部门使用处理的业务数据类型千差万别,业务流程也复杂多变,都必须根据实际情况开发自己专门应用逻辑,如果每个新应用项目都必须让开发人员从头构建,无疑是一种智力与经验的浪费,同时浪费的还有宝贵的开发时间。使用插件式机制的应用程序发布插件接口,它就好像一个应用功能的容器,应用插件开发人员可以根据自己的需要实现协议接口,不断填充和增强这个容器的功能,从而这个容器为功能的扩展提供了无限的空间。

插件可基于动态共享库实现,动态共享库是具有某种功能的一种软件模块,它可以在需要时才被系统载入调用。动态共享库文件本身并不能独立运行,但它能够被其他程序调用实现。

发明内容

基于上述问题,本发明人提供一种C++应用程序版本动态管理系统和方法,通过合理利用动态共享库技术,可以解决以上问题。将应用逻辑封装成动态共享库,同时设计系统框架对其实现动态装载,在应用程序版本升级时,只需升级相应动态共享库文件,然后系统框架对其进行装载,实现应用程序的在线更新,整个过程不需要停机中断服务,即所谓热插拔。

本发明的C++应用程序版本动态管理系统包括:应用插件模块;宿主程序模块;应用处理接口类模块;应用处理接口类动态注册模块;应用插件装/卸载模块;应用版本发布模块;应用版本获取模块。

其中,应用插件模块是后缀为.so类型的动态库文件,该模块将应用的业务处理逻辑打包。

其中,宿主程序模块是可执行文件,相当于应用插件的容器,负责装载应用插件,创建应用处理接口对象,接受外部调用后,执行接口对象中的接口函数,该函数实现应用插件中的业务逻辑处理。在处理外部请求之前还负责调用应用版本获取模块获取应用版本,比较版本号和应用当前使用的版本号,如果发生变化,则先调用应用插件卸载模块,将当前使用的应用插件卸载,然后调用应用插件装载模块,装载新版本的应用插件,实现版本的更新。如果一次应用处理需要分为多个应用模块的话,第一个模块负责把得到的应用版本号发给后续模块,从而保证这次请求的整个处理过程采用统一的应用版本。

其中,应用处理接口类模块用于实现宿主程序与应用插件之间的调用接口。为了实现在应用插件业务逻辑发生变化时不需要更改宿主程序,该模块将包括一个基类和相应的派生类,并且基类中的接口函数定义成纯虚函数,由宿主程序调用,派生类中的接口函数实现具体应用逻辑,打包在应用插件中,这样宿主程序装载应用插件以后,就可以通过执行纯虚接口函数,利用C++对象的多态性来调用插件中的应用逻辑了。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航信息网络股份有限公司,未经中国民航信息网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010624578.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top