CN101964725B - 业务不中断升级的方法和系统 - Google Patents

业务不中断升级的方法和系统 Download PDF

Info

Publication number
CN101964725B
CN101964725B CN201010272204.2A CN201010272204A CN101964725B CN 101964725 B CN101964725 B CN 101964725B CN 201010272204 A CN201010272204 A CN 201010272204A CN 101964725 B CN101964725 B CN 101964725B
Authority
CN
China
Prior art keywords
module
processing unit
service
business
dynamic link
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
CN201010272204.2A
Other languages
English (en)
Other versions
CN101964725A (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.)
Changshu Yousheng Education And Training Center Co ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010272204.2A priority Critical patent/CN101964725B/zh
Publication of CN101964725A publication Critical patent/CN101964725A/zh
Application granted granted Critical
Publication of CN101964725B publication Critical patent/CN101964725B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种业务不中断升级的方法和系统,属于通信领域。该方法包括:将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;当需要更新指定模块时,业务处理单元的第一处理单元备份指定模块,将指定模块替换成新版本的模块;业务处理单元的第一处理单元加载新版本的模块,如果加载成功,则判断是否需要进行业务等待;如果需要进行业务等待,则业务处理单元的第一处理单元向指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到第二处理单元返回的业务等待成功消息时,卸载所述指定模块。本发明可以在不中断业务的情况下完成系统升级,并减少工作量。

Description

业务不中断升级的方法和系统
技术领域
本发明属于通信领域,特别涉及一种业务不中断升级的方法和系统。
背景技术
随着计算机和通讯事业的发展,各类电信业务逐渐深入国民经济的各个层面。视频监控作为一种与日常生活息息相关的业务也得到了迅猛的发展,业务容量增长明显。由于其与公安、交通、环保等事业的紧密联系,视频监控平台及相关前端等设备往往有很高的稳定性要求,业务的不中断是其中最基本的一点。
在以前的视频监控平台的开发过程中所有处理都集中在一个业务进程中,一旦需要修改一部分功能,就需要替换整个进程的可执行文件。升级前需要进行完整的系统功能验证,升级过程中需要中断业务,工作量非常大。
发明内容
为了在不中断业务的情况下完成系统升级,并减少工作量,本发明提供了一种业务不中断升级的方法和系统,技术方案如下:
一种业务不中断升级的方法,包括:
将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块;
所述业务处理单元的第一处理单元加载所述新版本的模块,如果加载成功,则判断是否需要进行业务等待;
如果需要进行业务等待,则所述业务处理单元的第一处理单元向所述指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到所述第二处理单元返回的业务等待成功消息时,卸载所述指定模块。
进一步,该方法还包括:如果加载失败,在没有所述与业务相关信息被替换时,则所述业务处理单元的第一处理单元恢复所述指定模块,或在存在所述与业务相关信息被替换时,则重新加载所述备份的模块。
进一步地,该方法还包括:如果不需要进行业务等待,则卸载所述指定模块。
进一步地,该方法还包括:在需要修改所述与业务相关的全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
进一步地,所述与业务相关的信息包括全局变量和/或函数。
一种业务不中断升级的方法,包括:
将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块;
所述业务处理单元的第一处理单元加载所述新版本的模块,并卸载所述指定模块。
进一步地,如果加载失败,在没有所述与业务相关信息被替换时,则恢复所述指定模块,在存在所述与业务相关信息被替换时,则重新加载所述备份的模块。
进一步地,该方法还包括:在需要修改所述与业务相关的全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
一种业务不中断升级的系统,包括:
第一设置模块,用于将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
第一备份和替换模块,用于当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块;
第一加载与判断模块,用于所述业务处理单元的第一处理单元加载所述新版本的模块,如果加载成功,则判断是否需要进行业务等待;
收发和卸载模块,用于在所述第一加载与判断模块判断需要进行业务等待时,则所述业务处理单元的第一处理单元向所述指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到所述第二处理单元返回的业务等待成功消息时,卸载所述指定模块。
进一步地,所述第一加载与判断模块,还用于如果加载失败,在没有所述与业务相关信息被替换时,则所述业务处理单元的第一处理单元恢复所述指定模块,或在存在所述与业务相关信息被替换时,则重新加载所述备份的模块。
进一步地,该方法还包括:修改模块,用于在需要修改所述全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
进一步地,所述第一加载与判断模块,还用于在判断不需要进行业务等待时,通知所述收发和卸载模块卸载所述指定模块。
进一步地,所述与业务相关的信息包括全局变量和/或函数。
一种业务不中断升级的系统,包括:
第二设置模块,用于将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
第二备份与替换模块,用于当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,并将所述指定模块替换成新版本的模块;
加载和卸载模块,用于所述业务处理单元的第一处理单元加载所述新版本的模块,并卸载所述指定模块。
进一步地,所述加载和卸载模块,还用于如果加载失败,在没有所述与业务相关信息被替换时,则恢复指定模块,在存在所述与业务相关信息被替换时,则重新加载备份的模块。
进一步地,该系统还包括:修改模块,用于在需要修改所述全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
本发明通过对现有业务处理单元进行模块化管理,将业务处理单元分解并封装成多个模块,正常运行时,业务处理单元是由多个处理单元和多个可动态加载的模块组成。各个模块的开发、编译和执行等相对独立,使开发和维护工作更有针对性;同时,各个模块,由业务处理单元进行调用。在更改现场故障时,可以只更新对应的模块文件而无需再重启业务,只需通知业务处理单元重新调用模块即可,可以把升级验证和工程变更限制在以模块为单位的系统内部,大大减少工作量。
附图说明
图1是本发明提供的业务不中断升级的方法的流程图;
图2是本发明提供的业务不中断升级的方法的另一种流程图;
图3是本发明提供的对动态链接库进行模块化后系统架构图;
图4是本发明提供的业务不中断升级的方法的详细流程图;
图5是本发明提供的业务不中断升级的系统结构图;
图6是本发明提供的业务不中断升级的系统另一种结构图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明通过对现有业务处理单元进行模块化管理,将业务处理单元分解并封装成多个模块,该业务处理单元可以是业务进程,该模块可以是动态链接库。正常运行时,业务处理单元是由多个处理单元和多个可动态加载的模块组成,该处理单元可以是业务进程中线程。各个模块的开发、编译和执行等相对独立,使开发和维护工作更有针对性;同时,各个模块,由业务处理单元进行调用。在更改现场故障时,可以只更新对应的模块文件而无需再重启业务,只需通知业务处理单元重新调用模块即可,可以把升级验证和工程变更限制在以模块为单位的系统内部,大大减少工作量。
如图1所示,本发明提供了一种业务不中断升级的方法,包括:
步骤101,将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
其中,该模块可以是动态链接库;该与业务相关的信息可以是全局函数和/或变量。
步骤102,当需要更新指定模块时,业务处理单元的第一处理单元备份该指定模块,将该指定模块替换成新版本的模块;
步骤103,该业务处理单元的第一处理单元加载该新版本的模块,如果加载成功,则判断是否需要进行业务等待;
步骤104,如果需要进行业务等待,则该业务处理单元的第一处理单元向该指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到该第二处理单元返回的业务等待成功消息时,卸载该指定模块。
进一步地,该方法还包括:如果加载失败,在没有与业务相关信息被替换时,则该业务处理单元的第一处理单元恢复该指定模块,或在存在与业务相关信息被替换时,则重新加载备份的模块。
进一步地,该方法还包括:如果不需要进行业务等待,则卸载该指定模块。
进一步地,该方法还包括:在需要修改与业务相关的全局数据时,该业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
其中,临时模块可以是临时动态链接库,该临时动态链接库和普通的动态链接库在本质上是一样的,只是操作不同,前者加载后立即卸载,后者是加载后不再卸载常驻内存。因此,可以将临时动态链接库定义成加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。
其中,业务处理单元可以是业务进程,处理单元可以是业务进程中的线程。
本发明提供了一种业务不中断升级的方法,该方法适用于业务处理单元中只有一个处理单元的场景。如图2所示,该方法包括:
步骤201,将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
步骤202,当需要更新指定模块时,业务处理单元的第一处理单元备份该指定模块,将该指定模块替换成新版本的模块;
步骤203,业务处理单元的第一处理单元加载新版本的模块,并卸载该指定模块。
进一步地,该方法还包括:如果加载失败,在没有与业务相关信息被替换时,则恢复指定模块,在存在与业务相关信息被替换时,则重新加载备份的模块。
进一步地,该方法还包括:在需要修改与业务相关的全局数据时,该业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
其中,该模块可以是动态链接库。
其中,该与业务相关的信息可以是全局函数和/或变量。
其中,业务处理单元可以是业务进程,处理单元可以是业务进程中的线程。
下面结合具体的实施例对本发明进行详细的描述,但该实施例并不构成对本发明保护范围的限制。其中,业务处理单元是业务进程,处理单元是业务进程中的线程,本实施例中第一处理单元可以是线程A,第二处理单元可以是线程B,模块为动态链接库,临时模块为临时动态链接库。
图3所示为对动态链接库进行模块化后系统架构图。为了简化升级操作过程,将业务数据和操作过程分离。业务进程包含了所有的全局变量和函数的定义,全局数据将以动态分配内存的方式保存在业务进程中,而业务操作过程则封装在各个动态链接库中,由业务进程负责加载和卸载。这种数据和操作分离的系统架构的优点是对数据的维护和动态链接库的升级可以分开来操作,互不干扰,不会出现某一个动态链接库升级后所有对这个库中某个变量的引用都要变更的情况。
在本发明这个架构下,如果是操作过程的变更,可以只替换动态链接库即可,无需同时进行数据的维护,因为数据是定义和保持在业务进程中,在业务不中断升级的情况下,对数据的引用和维护方式就不会变更;而如果需要修改内存中的数据也可以通过加载临时动态链接库的方式进行修改。
当需要更新某个动态链接库,必须重载动态链接库,即在程序运行过程中替换某个动态链接库。此时,如图4所示,本发明实施例提供的基于动态链接库的业务不中断升级的方法,包括:
步骤400,业务进程的线程A接收到重载命令,要求重载指定动态链接库。
步骤401,业务进程的线程A备份原动态链接库文件,备份文件名按标准的lib***_BAK.so。
步骤402,业务进程的线程A将原动态链接库文件替换成新版本的动态链接库文件。
步骤403,业务进程的线程A重新加载新版本的动态链接库文件,如果加载成功,则转入步骤405;如果加载失败,转入步骤404。
步骤404,如果没有任何函数指针和变量被替换,则重载过程中止,将动态链接库文件恢复;如果加载失败时已有函数指针和变量被替换,则重新加载备份的lib***_BAK.so,并将动态链接库替换回备份的动态链接库文件。
步骤405,根据升级配置判断是否需要进行业务等待,如果是,则转入步骤406;如果不是,则可以自动卸载指定的动态链接库文件。
在业务动态链接库化后,每个动态链接库卸载前需要确保不会有任何对这个动态链接库的引用,这时就需要进行业务等待来使当前正在执行的旧动态链接库内容执行完毕。
对于不同动态链接库,业务等待的方式各有不同,可在升级脚本中进行选择。
对于底层动态链接库,尽管是分布于各个业务线程和子线程,但底层动态链接库内都是业务简单,执行时间很短的函数。在动态链接库重载时可在管理动态链接库重载的线程中,待新动态链接库加载完毕后,等待10秒钟的时间,即可确保对旧动态链接库的所有引用都已执行完毕,旧动态链接库的卸载不会受影响。
对于上层动态链接库,程序操作分布于各个业务线程和子线程,执行时间可能会比较长。这种情况需要管理线程与此动态链接库所涉及的其他线程进行消息交互,确保动态链接库内部函数未被引用。而具体需要哪些线程进行等待,需要根据修改的内容进行分析。
处理业务等待的原则就是把影响控制在最小的范围,不需要让动态链接库涉及的所有线程都进行等待,也不需要让线程内所有动态链接库的消息都进行等待。
步骤406,业务进程的线程A开始指定动态链接库的业务等待。
步骤407,业务进程的线程A将这个动态链接库的等待标志置1。
其中,在本实施例中,等待标志为1只是为了举例需要,本发明的保护范围并不限于此。
步骤408,业务进程的线程A向该动态链接库所涉及的其他线程发送业务等待命令消息。
其他各个线程在接收到关于该动态链接库的消息时不再调用此模块动态链接库的入口函数进行处理,而是直接将消息缓存到一个list(列表)中。每个线程都定义一个消息缓存的list,list中每个元素都会表明所属动态链接库。
在此为了描述方便,其他线程仅以线程B举例,多个其他线程的原理与此类似,不再赘述。
步骤409,业务进程的线程B收到线程A的消息后,根据动态链接库定义判断该动态链接库是否有子线程,如果有,则按照升级配置来进行子线程处理,并进入步骤410;如果没有,则进入步骤410。
具体地,对子线程进行处理有两种处理方式,根据升级脚本来选择:
a)直接杀子线程。适合于重要性较低,但执行时间较长的消息。
b)等待一个预设的时间,由子线程处理完毕。适合于长线程和执行时间较短的流程。该等待的时间也有超时机制,超时后,直接杀子线程。
步骤410,业务进程的线程B在执行子进程处理成功后,向线程A回应业务等待成功消息。
步骤411,业务进程的线程A在收到业务等待成功消息后,完成动态链接库的卸载。
具体地,动态链接库卸载只需要调用dlclose函数即可。
步骤412,业务进程的线程A将等待标志清0。
其中,在本实施例中,等待标志清0只是为了举例需要,本发明的保护范围并不限于此。
步骤413,线程B开始从线程A接收消息,接收消息前优先从list中读取消息。
以上实施例是关于业务进程中有两个或多个线程的实施例,如果在业务进程中,只有一个线程,则不要进行业务等待过程,进行升级的过程如下:业务进程的线程接收到重载命令,要求重载指定动态链接库。业务进程的线程备份原动态链接库文件,备份文件名按标准的lib***_BAK.so。业务进程的线程将原动态链接库文件替换成新版本的动态链接库文件。业务进程的线程重新加载新版本的动态链接库文件,如果加载失败,在没有任何函数指针和变量被替换,则重载过程中止,将指定的动态链接库文件恢复;如果加载失败时已有函数指针和变量被替换,则重新加载备份的lib***_BAK.so,并将动态链接库替换回备份的动态链接库文件。如果加载成功,则完成升级过程。
基于与方法相同的发明构思,本发明实施例提供了一种业务不中断升级的系统,如图5所示,包括:
第一设置模块501,用于将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
第一备份和替换模块502,用于当需要更新指定模块时时,业务处理单元的第一处理单元备份该指定模块,将该指定模块替换成新版本的模块;
加载与判断模块503,用于该业务处理单元的第一处理单元加载该新版本的模块,如果加载成功,则判断是否需要进行业务等待;
收发和卸载模块504,用于在加载与判断模块503判断需要进行业务等待时,则该业务处理单元的第一处理单元向该指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到该第二处理单元返回的业务等待成功消息时,卸载该指定模块。
其中,该与业务相关的信息可以是全局函数和/或变量。
进一步地,加载与判断模块503,还用于如果加载失败,在没有与业务相关信息被替换时,则该业务处理单元的第一处理单元恢复指定的模块,或在存在与业务相关信息被替换时,则重新加载备份的模块。
进一步地,该加载与判断模块503,还用于在判断不需要进行业务等待时,通知收发和卸载模块卸载该指定模块。
进一步地,该系统还包括:修改模块,用于在需要修改全局数据时,该业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
其中,临时模块可以是临时动态链接库,该临时动态链接库和普通的动态链接库在本质上是一样的,只是操作不同,前者加载后立即卸载,后者是加载后不再卸载常驻内存。因此,可以将临时动态链接库定义成加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。
基于与方法相同的发明构思,本发明实施例提供了一种业务不中断升级的系统,如图6所示,包括:
第二设置模块601,用于将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据;
第二备份与替换模块602,用于当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块;
加载和卸载模块603,用于所述业务处理单元的第一处理单元加载所述新版本的模块,并卸载所述指定模块。
进一步地,加载和卸载模块603,还用于如果加载失败,在没有与业务相关信息被替换时,则恢复指定模块,在存在与业务相关信息被替换时,则重新加载备份的模块。
其中,该与业务相关的信息可以是全局函数和/或变量。
进一步地,该系统还包括:修改模块,用于在需要修改全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改。
其中,临时模块可以是临时动态链接库,该临时动态链接库和普通的动态链接库在本质上是一样的,只是操作不同,前者加载后立即卸载,后者是加载后不再卸载常驻内存。因此,可以将临时动态链接库定义成加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。
本发明的技术方案不仅适用于视频监控,通过简单变形,还适用于其他业务进程的架构设计。
本发明通过对现有业务处理单元进行模块化管理,将业务处理单元分解并封装成多个模块,该业务处理单元可以是业务进程,该模块可以是动态链接库。正常运行时,业务处理单元是由多个处理单元和多个可动态加载的模块组成,该处理单元可以是业务进程中线程。各个模块的开发、编译和执行等相对独立,使开发和维护工作更有针对性;同时,各个模块,由业务处理单元进行调用。在更改现场故障时,可以只更新对应的模块文件而无需再重启业务,只需通知业务处理单元重新调用模块即可,可以把升级验证和工程变更限制在以模块为单位的系统内部,大大减少工作量。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权力要求的保护范围内。

Claims (12)

1.一种业务不中断升级的方法,其特征在于,包括: 
将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据; 
当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块; 
所述业务处理单元的第一处理单元加载所述新版本的模块,如果加载成功,则判断是否需要进行业务等待; 
如果需要进行业务等待,则所述业务处理单元的第一处理单元向所述指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到所述第二处理单元返回的业务等待成功消息时,卸载所述指定模块; 
在需要修改所述与业务相关的全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改,该临时模块包括临时动态链接库; 
所述临时动态链接库,是加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。 
2.如权利要求1所述的方法,其特征在于,还包括:如果加载失败,在没有所述与业务相关信息被替换时,则所述业务处理单元的第一处理单元恢复所述指定模块,或在存在所述与业务相关信息被替换时,则重新加载所述备份的模块。 
3.如权利要求1所述的方法,其特征在于,还包括:如果不需要进行业务等待,则卸载所述指定模块。 
4.如权利要求1-3任意一项所述的方法,其特征在于,所述与业务相关的信息包括全局变量和/或函数。 
5.一种业务不中断升级的方法,其特征在于,包括: 
将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据; 
当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块; 
所述业务处理单元的第一处理单元加载所述新版本的模块,并卸载所述指定模块; 
在需要修改所述与业务相关的全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改,该临时模块包括临时动态链接库; 
所述临时动态链接库,是加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。 
6.如权利要求5所述的方法,其特征在于,如果加载失败,在没有所述与业务相关信息被替换时,则恢复所述指定模块,在存在所述与业务相关信息被替换时,则重新加载所述备份的模块。 
7.一种业务不中断升级的系统,其特征在于,包括: 
第一设置模块,用于将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据; 
第一备份和替换模块,用于当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,将所述指定模块替换成新版本的模块; 
第一加载与判断模块,用于所述业务处理单元的第一处理单元加载所述新版本的模块,如果加载成功,则判断是否需要进行业务等待; 
收发和卸载模块,用于在所述第一加载与判断模块判断需要进行业务等待时,则所述业务处理单元的第一处理单元向所述指定模块涉及的第二处理单元发送业务等待命令消息,并在接收到所述第二处理单元返回的业务等待成功消息时,卸载所述指定模块; 
修改模块,用于在需要修改所述全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改,该临时模块包括临时动态链接库; 
所述临时动态链接库,是加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。 
8.如权利要求7所述的系统,其特征在于,所述第一加载与判断模块,还用于如果加载失败,在没有所述与业务相关信息被替换时,则所述业务处理单元的第一处理单元恢复所述指定模块,或在存在所述与业务相关信息被替换时,则重新加载所述备份的模块。 
9.如权利要求7所述的系统,其特征在于,所述第一加载与判断模块,还用于在判断不需要进行业务等待时,通知所述收发和卸载模块卸载所述指定模块。 
10.如权利要求7-9任意一项所述的系统,其特征在于,所述与业务相关的信息包括全局变量和/或函数。 
11.一种业务不中断升级的系统,其特征在于,包括: 
第二设置模块,用于将业务操作封装在各个模块中,业务处理单元定义与业务相关的信息,并保存与业务相关的全局数据; 
第二备份与替换模块,用于当需要更新指定模块时,业务处理单元的第一处理单元备份所述指定模块,并将所述指定模块替换成新版本的模块; 
加载和卸载模块,用于所述业务处理单元的第一处理单元加载所述新版本的模块,并卸载所述指定模块; 
修改模块,用于在需要修改所述全局数据时,所述业务处理单元的第一处理单元通过加载临时模块的方式进行修改,该临时模块包括临时动态链接库; 
所述临时动态链接库,是加载后立即卸载、不会常驻内存、不需要在线升级的动态链接库。 
12.如权利要求11所述的系统,其特征在于,所述加载和卸载模块,还用于如果加载失败,在没有所述与业务相关信息被替换时,则恢复指定模 块,在存在所述与业务相关信息被替换时,则重新加载备份的模块。 
CN201010272204.2A 2010-09-01 2010-09-01 业务不中断升级的方法和系统 Expired - Fee Related CN101964725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010272204.2A CN101964725B (zh) 2010-09-01 2010-09-01 业务不中断升级的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010272204.2A CN101964725B (zh) 2010-09-01 2010-09-01 业务不中断升级的方法和系统

Publications (2)

Publication Number Publication Date
CN101964725A CN101964725A (zh) 2011-02-02
CN101964725B true CN101964725B (zh) 2014-12-10

Family

ID=43517471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010272204.2A Expired - Fee Related CN101964725B (zh) 2010-09-01 2010-09-01 业务不中断升级的方法和系统

Country Status (1)

Country Link
CN (1) CN101964725B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882887B (zh) * 2012-10-18 2018-04-20 新华三技术有限公司 软件平滑升级的实现方法及设备
CN103440460A (zh) * 2013-09-09 2013-12-11 中国农业银行股份有限公司 一种应用系统变更验证方法及验证系统
CN104320466B (zh) * 2014-10-29 2017-12-01 侯荣涛 一种通信系统子系统局数据存储结构以及局数据更新方法
CN107357604A (zh) * 2017-05-04 2017-11-17 许继集团有限公司 一种应用于集成保护的多模块运行方法及装置
CN109597631B (zh) * 2017-09-28 2022-04-05 阿里巴巴集团控股有限公司 一种进程的升级方法、装置及电子设备
CN108845813A (zh) * 2018-06-14 2018-11-20 郑州云海信息技术有限公司 一种应用程序热更新方法
CN110275722B (zh) * 2019-06-21 2023-08-08 北京百度网讯科技有限公司 用于升级应用的方法、装置、设备和存储介质
CN110489140B (zh) * 2019-07-11 2023-06-06 平安科技(深圳)有限公司 软件升级方法、装置、计算机设备及计算机存储介质
CN111796854B (zh) * 2020-07-03 2023-03-31 中国建设银行股份有限公司 一种模块热升级的方法、装置、电子设备和可读存储介质
CN114124907B (zh) * 2020-08-14 2023-07-21 中国移动通信集团浙江有限公司 Sip信令前置机及业务升级方法、装置、设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1979418A (zh) * 2005-12-07 2007-06-13 英业达股份有限公司 动态升级程序的方法
CN101184309A (zh) * 2007-12-21 2008-05-21 深圳国人通信有限公司 直放站设备嵌入式系统远程升级方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752618B2 (en) * 2002-12-05 2010-07-06 Samsung Electronics Co., Ltd. Apparatus and method for remote DLL linking of software upgrades for a wireless mobile station

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1979418A (zh) * 2005-12-07 2007-06-13 英业达股份有限公司 动态升级程序的方法
CN101184309A (zh) * 2007-12-21 2008-05-21 深圳国人通信有限公司 直放站设备嵌入式系统远程升级方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
分布式网络设备的业务不中断软件升级系统设计;张敏狄等;《计算机系统应用》;20100630;第19卷(第6期);全文 *
张敏狄等.分布式网络设备的业务不中断软件升级系统设计.《计算机系统应用》.2010,第19卷(第6期), *

Also Published As

Publication number Publication date
CN101964725A (zh) 2011-02-02

Similar Documents

Publication Publication Date Title
CN101964725B (zh) 业务不中断升级的方法和系统
CN111338854B (zh) 基于Kubernetes集群快速恢复数据的方法及系统
CN107589994B (zh) 应用进程优先级管理的方法、设备、系统及存储介质
US7080100B2 (en) Install processing apparatus, processing method, storage medium, and program
US7451201B2 (en) Policy driven autonomic computing-specifying relationships
JP2003256225A (ja) コンピュータシステム、障害対応方法及びコンピュータシステムを機能させるためのプログラム
CN103399781A (zh) 云服务器及其虚拟机管理方法
CN111897599A (zh) 基于微核模型插件模式的服务方法、装置、设备及存储介质
CN104699503A (zh) 一种替换安卓系统中函数的执行逻辑的方法及装置
US8892702B2 (en) Policy driven autonomic computing-programmatic policy definitions
CN111897643A (zh) 线程池配置系统、方法、装置和存储介质
CN108733536B (zh) 监控管理系统及方法
CN109194703A (zh) 云平台主机间通信负载的处理方法、电子装置及介质
CN109800060B (zh) 云平台系统、管理方法、设备及存储介质
CN111767126A (zh) 分布式批量处理的系统和方法
CN103188306B (zh) 分布式预处理方法和系统
CN109558179A (zh) 程序代码在线加载方法、程序代码在线升级方法及系统
CN114510297A (zh) 卫星数据重处理方法、装置和电子设备
CN113326052A (zh) 业务组件的升级方法、装置、计算机设备和存储介质
CN114265605A (zh) 一种业务系统功能组件的版本回退方法和装置
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN111538491A (zh) 数据事件处理方法、装置、设备和存储介质
CN113127257A (zh) 一种软件升级方法
CN118394533B (zh) 资源调度方法、计算机设备、存储介质及程序产品
CN117519837B (zh) 一种接口管理方法及接口管理系统

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
TR01 Transfer of patent right

Effective date of registration: 20201012

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee before: ZTE Corp.

Effective date of registration: 20201012

Address after: 215500 No.13, Caotang Road, Changshu, Suzhou, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

TR01 Transfer of patent right
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 215500 5th floor, building 4, 68 Lianfeng Road, Changfu street, Changshu City, Suzhou City, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: No.13 caodang Road, Changshu City, Suzhou City, Jiangsu Province

Patentee before: Changshu intellectual property operation center Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210622

Address after: 215500 second floor, No.3, soxiu vitality City, Century Center, Changshu, Suzhou, Jiangsu, 2001-2002

Patentee after: Changshu Yousheng education and Training Center Co.,Ltd.

Address before: 215500 5th floor, building 4, 68 Lianfeng Road, Changfu street, Changshu City, Suzhou City, Jiangsu Province

Patentee before: Changshu intellectual property operation center Co.,Ltd.

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: 20141210

Termination date: 20210901