一种无缝版本升级方法及系统的制作方法

文档序号:6512231阅读:247来源:国知局
一种无缝版本升级方法及系统的制作方法
【专利摘要】本发明涉及一种无缝版本升级方法,包括以下步骤:步骤1:读取进程信息到内存;步骤2:保存配置信息,设置共存时间值;步骤3:将读取的新配置信息与保存的配置信息相匹配;如匹配,跳转至步骤7;否则,启动新版本进程处理业务,继续;步骤4:新旧版本进程同时处理业务;步骤5:判断处理时间是否等于设置时间值;如等于,进行步骤6;否则,跳转至步骤4;步骤6:判断旧版本进程处理的业务是否完成,如完成,结束旧版本,继续步骤7;否则,跳转至步骤4;步骤7:处理业务;步骤8:判断所有业务是否处理完成,如果完成,结束;否则,更新内存中配置信息,返回步骤3。本发明为电信系统版本升级提供高效、快捷、无缝的控制与升级方案。
【专利说明】一种无缝版本升级方法及系统
【技术领域】
[0001]本发明涉及一种无缝版本升级方法及系统,涉及版本进程升级频繁领域,特别是涉及业务变动较多经常需要晚上版本升级,如电信业务系统的版本升级。
【背景技术】
[0002]随着市场对电信业务的需求变化越来越快,版本升级后如何快速加载以及减轻熬夜的痛苦已经成为电信行业技术人员的一个共识。因此,如何能快速简单的完成版本升级,是现有技术人员特别是维护人员中有待迫切解决的一项技术问题。

【发明内容】

[0003]本发明所要解决的技术问题是,针对现有技术的不足,提供一种为电信系统版本升级提供高效、快捷、无缝的控制与升级方案的一种无缝版本升级方法。
[0004]本发明解决上述技术问题的技术方案如下:一种无缝版本升级方法,具体包括以下步骤:
[0005]步骤1:将单独保存的旧版本进程信息读取到内存中;
[0006]步骤2:读取内存中旧版本进程的配置信息保存到内存中的配置文件中,并设置新旧版本进程共同运行时间段值;
[0007]步骤3:启动旧版本进程开始处理业务,每隔预设的时间段,进程管理器读取配置文件得到新配置信息,将新配置信息与预先保存的配置信息相匹配;如匹配,跳转至步骤7 ;否则,启动与新配置信息相对应的新版本进程,进行步骤4 ;
[0008]步骤4:新旧版本进程同时处理业务;
[0009]步骤5:判断新旧版本进程共同处理业务的时间段值是否等于设置的新旧版本进程共同运行时间段值;如果等于,进行步骤6 ;否则,跳转至步骤4 ;
[0010]步骤6:判断旧版本进程正在处理的业务是否已完成,如已完成,结束旧版本进程,继续步骤7 ;否则,跳转至步骤4 ;
[0011]步骤7:正在运行的版本进程处理业务;
[0012]步骤8:判断所有业务是否处理完成,如果完成,结束;否则,将新版本进程的新配置信息保存到内存中配置文件内,新版本进程变为旧版本进程,返回步骤3。
[0013]本发明的有益效果是:本发明通过业务脚本化以及进程管理器简单快速的完成版本开发后的无缝升级,为电信系统版本升级提供高效、快捷、无缝的控制与升级方案;对于运维者来说,只需要更新业务脚本并在配置文件中更新版本号,后续的升级系统将自动执行。
[0014]在上述技术方案的基础上,本发明还可以做如下改进。
[0015]进一步,所述步骤4中,在运行新版本进程时,对旧版本进程设置一个标志位,该标志位表示所述版本进程正处理业务结束后,旧版本进程不再运行。
[0016]进一步,所述单独保存的版本进程信息以xml可扩展标记语言脚本形式保存。[0017]进一步,所述步骤3中读取正在运行的版本进程的配置信息与配置文件中的配置信息不匹配时,启动新版本进程的同时,记录新版本进程ID。
[0018]本发明所要解决的另一个技术问题是,针对现有技术的不足,提供一种为电信系统版本升级提供高效、快捷、无缝的控制与升级方案的一种无缝版本升级系统。
[0019]本发明解决上述技术问题的技术方案如下:一种无缝版本升级系统,包括读取模块、设置模块、进程管理器、判断模块和内存更新模块;
[0020]所述读取模块用于将单独保存的版本进程信息读取到内存中;
[0021]所述设置模块用于读取内存中版本进程信息中的配置信息保存到内存中的配置文件中,并设置新旧版本共存时间值;
[0022]所述进程管理器每隔预设的时间段,读取配置文件得到新配置信息,将新配置信息与预先保存的配置信息相匹配;如匹配,说明不需要升级;否则,发现新版本进程信息,启动新版本进程处理业务,新旧版本进程同时处理业务;
[0023]所述判断模块判断新旧版本进程同时处理业务时间是否等于设置的新旧版本共存时间值;如果等于,进行进一步判断旧版本进程正在处理的业务是否已完成,如已完成,结束旧版本进程,由新版本进程独立运行;否则,继续新旧版本进程同时运行;
[0024]所述内存更新模块用于更新内存中配置文件内的配置信息。
[0025]本发明的有益效果是:本发明通过业务脚本化以及进程管理器简单快速的完成版本开发后的无缝升级,为电信系统版本升级提供高效、快捷、无缝的控制与升级方案;对于运维者来说,只需要更新业务脚本并在配置文件中更新版本号,后续的升级系统将自动执行。
[0026]在上述技术方案的基础上,本发明还可以做如下改进。
[0027]进一步,所述进程管理器在启动运行新版本进程时,对旧版本进程设置一个标志位,该标志位表示所述版本进程正处理业务结束后,旧版本进程不再运行。
[0028]进一步,所述单独保存的版本进程信息以xml可扩展标记语言脚本形式保存。
[0029]进一步,所述设置模块读取正在运行的版本进程的配置信息与配置文件中的配置信息不匹配时,启动新版本进程的同时,记录新版本进程ID。
【专利附图】

【附图说明】
[0030]图1为本发明具体实施例1所述的一种无缝版本升级方法流程图;
[0031]图2为本发明具体实施例1所述的一种无缝版本升级系统结构框图。
[0032]附图中,各标号所代表的部件列表如下:
[0033]1、读取模块,2、设置模块,3、进程管理器,4、判断模块,5、内存更新模块。
【具体实施方式】
[0034]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0035]如图1所示,为本发明具体实施例1所述的一种无缝版本升级方法流程图,具体包括以下步骤:
[0036]步骤1:将单独保存的旧版本进程信息读取到内存中;[0037]步骤2:读取内存中旧版本进程的配置信息保存到内存中的配置文件中,并设置新旧版本进程共同运行时间段值;
[0038]步骤3:启动旧版本进程开始处理业务,每隔预设的时间段,进程管理器读取配置文件得到新配置信息,将新配置信息与预先保存的配置信息相匹配;如匹配,跳转至步骤7 ;否则,启动与新配置信息相对应的新版本进程,进行步骤4 ;
[0039]步骤4:新旧版本进程同时处理业务;
[0040]步骤5:判断新旧版本进程共同处理业务的时间段值是否等于设置的新旧版本进程共同运行时间段值;如果等于,进行步骤6 ;否则,跳转至步骤4 ;
[0041]步骤6:判断旧版本进程正在处理的业务是否已完成,如已完成,结束旧版本进程,继续步骤7 ;否则,跳转至步骤4 ;
[0042]步骤7:正在运行的版本进程处理业务;
[0043]步骤8:判断所有业务是否处理完成,如果完成,结束;否则,将新版本进程的新配置信息保存到内存中配置文件内,新版本进程变为旧版本进程,返回步骤3。
[0044]所述步骤4中,在运行新版本进程时,对旧版本进程设置一个标志位,该标志位表示所述版本进程正处理业务结束后,旧版本进程不再运行。
[0045]所述单独保存的版本进程信息以xml可扩展标记语言脚本形式保存。
[0046]所述步骤3中读取正在运行的版本进程的配置信息与配置文件中的配置信息不匹配时,启动新版本进程的同时,记录新版本进程ID。
[0047]如图2所示,为本发明具体实施例1所述的一种无缝版本升级系统结构框图,包括读取模块1、设置模块2、进程管理器3、判断模块4和内存更新模块5 ;
[0048]所述读取模块I用于将单独保存的版本进程信息读取到内存中;
[0049]所述设置模块2用于读取内存中版本进程信息中的配置信息保存到内存中的配置文件中,并设置新旧版本共存时间值;
[0050]所述进程管理器3每隔预设的时间段,读取配置文件得到新配置信息,将新配置信息与预先保存的配置信息相匹配;如匹配,说明不需要升级;否则,发现新版本进程信息,启动新版本进程处理业务,新旧版本进程同时处理业务;
[0051]所述判断模块4判断新旧版本进程同时处理业务时间是否等于设置的新旧版本共存时间值;如果等于,进行进一步判断旧版本进程正在处理的业务是否已完成,如已完成,结束旧版本进程,由新版本进程独立运行;否则,继续新旧版本进程同时运行;
[0052]所述内存更新模块5用于更新内存中配置文件内的配置信息。
[0053]所述进程管理器3在启动运行新版本进程时,对旧版本进程设置一个标志位,该标志位表示所述版本进程正处理业务结束后,旧版本进程不再运行。
[0054]所述单独保存的版本进程信息以xml可扩展标记语言脚本形式保存。
[0055]所述设置模块2读取正在运行的版本进程的配置信息与配置文件中的配置信息不匹配时,启动新版本进程的同时,记录新版本进程ID。
[0056]本方案基于业务与引擎分离,引擎作为解析进程独立于业务。业务以xml脚本形式存放在一个单独的目录中,且在进程启动过程中一次性读取到内存中,后续如果不是启动新的进程将不再读取脚本。如果后续需要升级,只需要在这个目录中更新业务脚本,且将配置文件中版本信息更新即可。在第一次启动过程中,将原始系统版本信息存放在内存中。设置系统配置文件以及新旧版本共存时间,进程管理器根据配置文件配置的间隔时间来读取版本配置文件,读取到的版本配置信息与之前保存在内存中的版本信息比较,如果一致表示系统开始运行的版本与现在的版本是一致的,不需要升级,如果不一致则说明版本需要升级,这时进程管理器启动进程,进程就会读取业务脚本(要升级的业务脚本),老版本同时跑业务,同时新旧版本也会每隔一段时间读取配置文件,通过配置文件与自己启动的时候读取到内存中的版本信息比较,如果是新版本进程,则不做任何处理,如果是老版本进程,则业务结束后不再跑新的业务。进程管理器根据配置文件中的新旧版本共存时间,从启动新版本开始计算时间,确保老版本进程在跑业务已经全部跑完,然后停掉老版本进程。
[0057]主要的流程有:
[0058]a、设置版本信息,在配置文件中设置版本信息以及新旧版本共存时长。
[0059]b、进程管理器读取配置信息跟进程管理器之前读取到的版本信息比较,如果一致,则不做处理;如果不一致,表示需要升级,则将对应的配置信息读取到进程管理器的内存中。
[0060]C、启动新版本进程,进程管理器通过系统命令在程序中启动新版本进程。
[0061]d、新旧版本进程读取配置信息,新旧版本进程都会去读取配置信息中的版本信息跟自己内存中的版本信息对比,如果一致,说明是新版本进程,不做处理;如果不一致(可升级也可回退),则设置一个标记位,该标记位表示在跑的业务结束后不再跑新的业务。
[0062]e、进程管理器停止老版本进程,进程管理器根据共存时间确保老版本进程的业务已经全部跑完,然后停止老版本进程,这样就让新版本的进程独立运行了。
[0063]f、进程管理器与新版本进程每隔一段时间监控配置文件信息,看是否有新的升级。
[0064]主要结构体:
[0065]进程管理器主要结构体:
[0066]

s I rue? -VERSION-STRUCT
{
string strversion; //版本号信息
int nTimes; //并存时间
int n01dPid[30]; // 老的进程 PTD
int nNewPid [30]; //新的进程 PID
}
业务执行进程的结构体:
struct _VERS10N_STRUCT
[0067]{

string strversion; //版本号信息
int nf lag; //是否执行新的业务标记
}
[0068]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换 、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种无缝版本升级方法,其特征在于,具体包括以下步骤: 步骤1:将单独保存的旧版本进程信息读取到内存中; 步骤2:读取内存中旧版本进程的配置信息保存到内存中的配置文件中,并设置新旧版本进程共同运行时间段值; 步骤3:启动旧版本进程开始处理业务,每隔预设的时间段,进程管理器读取配置文件得到新配置信息,将新配置信息与预先保存的配置信息相匹配;如匹配,跳转至步骤7 ;否贝U,启动与新配置信息相对应的新版本进程,进行步骤4 ; 步骤4:新旧版本进程同时处理业务; 步骤5:判断新旧版本进程共同处理业务的时间段值是否等于设置的新旧版本进程共同运行时间段值;如果等于,进行步骤6 ;否则,跳转至步骤4 ; 步骤6:判断旧版本进程正在处理的业务是否已完成,如已完成,结束旧版本进程,继续步骤7;否则,跳转至步骤4; 步骤7:正在运行的版本进程处理业务; 步骤8:判断所有业务是否处理完成,如果完成,结束;否则,将新版本进程的新配置信息保存到内存中配置文件内,新版本进程变为旧版本进程,返回步骤3。
2.根据权利要求1所述的一种无缝版本升级方法,其特征在于,所述步骤4中,在运行新版本进程时,对旧版本进程设置一个标志位,该标志位表示所述版本进程正处理业务结束后,旧版本进程不再运行。.
3.根据权利要求1或2所述的一种无缝版本升级方法,其特征在于,所述单独保存的版本进程信息以xml可扩展标记语言脚本形式保存。
4.根据权利要求3所述的一种无缝版本升级方法,其特征在于,所述步骤3中读取正在运行的版本进程的配置信息与配置文件中的配置信息不匹配时,启动新版本进程的同时,记录新版本进程ID。
5.一种无缝版本升级系统,其特征在于,包括读取模块、设置模块、进程管理器、判断模块和内存更新模块; 所述读取模块用于将单独保存的版本进程信息读取到内存中; 所述设置模块用于读取内存中版本进程信息中的配置信息保存到内存中的配置文件中,并设置新旧版本共存时间值; 所述进程管理器每隔预设的时间段,读取配置文件得到新配置信息,将新配置信息与预先保存的配置信息相匹配;如匹配,说明不需要升级;否则,发现新版本进程信息,启动新版本进程处理业务,新旧版本进程同时处理业务; 所述判断模块判断新旧版本进程同时处理业务时间是否等于设置的新旧版本共存时间值;如果等于,进行进一步判断旧版本进程正在处理的业务是否已完成,如已完成,结束旧版本进程,由新版本进程独立运行;否则,继续新旧版本进程同时运行; 所述内存更新模块用于更新内存中配置文件内的配置信息。
6.根据权利要求5所述的一种无缝版本升级系统,其特征在于,所述进程管理器在启动运行新版本进程时,对旧版本进程设置一个标志位,该标志位表示所述版本进程正处理业务结束后,旧版本进程不再运行。
7.根据权利要求5或6所述的一种无缝版本升级系统,其特征在于,所述单独保存的版本进程信息以xml可扩展标记语言脚本形式保存。
8.根据权利要求7所述的一种无缝版本升级系统,其特征在于,所述设置模块读取正在运行的版本进程的配置信息与配置文件中的配置信息不匹配时,启动新版本进程的同时,记录新版本进程ID。
【文档编号】G06F9/445GK103473101SQ201310428918
【公开日】2013年12月25日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】谢元胜 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1