发明名称 一种不中断服务的服务端程序平滑升级的方法
摘要 一种不中断服务的服务端程序平滑升级的方法,步骤1:升级开始,服务器端启动新程序;步骤2:确认新版本程序在服务器端上运行没有问题后,分别向新、旧版本程序发送“开始升级”指令;步骤3:旧版本程序接收到“开始升级”指令后,将自己的服务端口号的侦听连接传给新版本程序;步骤4:旧版本程序停止客户端套接字的事件监控,旧版本程序停止接收已有客户端连接的数据收发,然后获取之前所有接入旧版本程序的客户端会话数据,并将其打包;步骤5:旧版本程序调用“发送会话”接口,将已打包的客户端会话数据依次、逐步地传至新版本程序中;步骤6:新版本程序调用“接收会话”接口;步骤7:对旧版本程序中的每个客户会话循环执行步骤5和步骤6。
申请公布号 CN105100232B 申请公布日期 2016.08.17
申请号 CN201510411325.3 申请日期 2015.07.14
申请人 焦点教育科技有限公司 发明人 仇文超;张旭
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 陈建和
主权项 一种不中断服务的服务端程序平滑升级的方法,其特征在于,包括如下步骤:步骤1:升级开始,服务器端启动新程序;步骤2:确认新版本程序在服务器端上运行没有问题后,分别向新、旧版本程序发送“开始升级”指令;步骤3:旧版本程序接收到“开始升级”指令后,将自己的服务端口号的侦听连接传给新版本程序;为新版本程序分配不同于旧版本程序的新服务端口,新版本程序接收到“开始升级”指令后,接收到旧版本程序的侦听连接并开始接管自此之后新接入服务端的所有客户端,此时,新版本程序通过新旧两个版本的服务端口为客户端提供服务;步骤4:旧版本程序停止客户端套接字的事件监控,即旧版本程序停止接收已有客户端连接的数据收发,然后获取之前所有接入旧版本程序的客户端会话数据,并将其打包;数据打包时需将旧版本程序未处理完成的客户端会话数据一并打包,新版本程序会在收到这些数据后继续处理;步骤5:旧版本程序调用“发送会话”接口,将已打包的客户端会话数据依次、逐步地传至新版本程序中;步骤6:新版本程序调用“接收会话”接口,解包后得到旧版本程序的客户连接及会话数据,这个客户连接即是旧版本程序的客户连接;接着,新版本程序对这些连接所涉及的所有会话数据进行处理;步骤7:转到步骤5,对旧版本程序中的每个客户会话循环执行步骤5和步骤6,直到所有客户会话数据全部转移至新版本程序;这一过程会因实际场景不同而持续不同的时间;通常可在极短时间内完成迁移;步骤8:结束旧版本程序,并向新版本程序发送指令,告之停止新版本程序的新服务端口,仅保留旧版本程序的原服务端口,至此,整个服务器端程序平滑升级过程结束。
地址 210000 江苏省南京市高新区惠达路6号北斗大厦2楼230室