发明名称 一种对消息处理系统进行热更新的系统及其方法
摘要 一种对消息处理系统进行热更新的系统及其方法,本发明在分析影响热动态更新的关键问题的基础上,利用消息转发、多进程合作、业务与框架分离等技术实现了基于消息转发的动态更新,本发明提供一种不中断业务版本升级能力,实现在业务功能的平滑升级,降低系统的运营和维护成本,提高需求的响应速度。本技术使用了框架进程和业务进程分离方式,具有代码耦合度低和界限明确清晰的优点。
申请公布号 CN101702692B 申请公布日期 2011.12.07
申请号 CN200910233480.5 申请日期 2009.10.30
申请人 南京中兴软创科技股份有限公司 发明人 张宇
分类号 H04L12/58(2006.01)I 主分类号 H04L12/58(2006.01)I
代理机构 南京天华专利代理有限责任公司 32218 代理人 徐冬涛
主权项 一种对消息处理系统进行热更新的方法,其特征是在网络通信模块和业务逻辑处理模块之间增加一个热更新控制模块,网络通信模块作为消息处理系统的消息收发端与其它网元设备进行通信,网络通信模块与热更新控制模块连接,热更新控制模块与业务逻辑处理模块连接,所述的热更新控制模块包含:初始化组件、业务进程控制组件、转发控制组件、进程状态表和控制命令处理组件,业务进程控制组件与转发控制组件通过内部消息进行通信完成业务进程的控制和消息的转发;热更新控制模块中的各组件按以下方式对消息处理系统进行热更新:(a).将待更新的新版本业务功能处理进程部署到指定的主机目录下,通过控制命令处理组件的更新控制界面,发出版本更新消息给业务进程控制组件,业务进程控制组件收到版本更新消息后,根据消息里面携带的版本号信息,确定目标版本号并将新版本的目标版本号写入进程状态表的目标版本号字段;(b).取进程状态表中的一条记录,将老版本的业务功能处理进程标识记录在局部变量中,根据进程状态表中目标版本信息,在指定目录下寻找对应的可执行文件是否存在,如果不存在,则提示错误信息,终止更新操作,更新指令失败;如果存在则继续;(c).启动新版本的该可执行文件对应的业务功能处理进程,此时进程状态表中的记录仍然是老版本进程的记录,转发控制组件依然参考进程状态表中的记录正常运行;(d).当业务进程控制组件收到新版本业务功能处理进程的注册消息后,立即通过原子操作更新进程状态表中的记录,将记录中的业务功能处理进程标识内容更新为新版本进程的信息,根据步骤b中记录下的在局部变量中的老版本的业务功能处理进程标识,发送进程退出消息给老版本业务功能处理进程;老版本业务功能处理进程在处理完消息队列中的业务请求消息后,开始处理退出消息,进行相关的退出准备,释放相应的内存后,老版本业务进程退出;(e).重复b到d步骤,直到整个进程状态表中的记录遍历处理完成,将进程状态表中的目标版本字段的数值赋值给当前版本字段,更新操作完成。
地址 210012 江苏省南京市雨花台区紫荆花路68号