服务器程序热升级的方法及装置的制造方法

文档序号:9910800阅读:361来源:国知局
服务器程序热升级的方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及计算机技术领域,尤其涉及服务器程序热升级的方法及装置。
【背景技术】
[0002]随着网络技术的发展,后台服务器在整个网络环境中的作用越来越大,但同时随着网络技术的发展,用户需求也在不断的发展,随着用户需求的不断变化及发展,对于网络后台服务器的要求也越来越高,同时网络后台服务器所具有的功能也在不断更新,这使得网络后台服务器程序需要不断的进行升级以满足客户的需求。
[0003]现有技术中,后台服务器程序每次升级重启的时候,会瞬时断开连接,造成正在服务的连接中断,影响客户端的体验,同时重启的瞬间文件操作等都被强制中断,会造成数据少量丢失,严重的时候对于关键数据操作一半中断,直接造成数据的完整性得不到保障,造成数据丢失或者数据异常等情况。
[0004]以客户端正在连接后台服务器进行用户注册操作为例,当用户通过客户端连接后台服务器进行用户注册操作时,若刚好遇到后台服务器重启升级,则客户端将根据连接状态提示用户与后台服务器连接已断开,并且在后台服务器重启之前,用户都将无法再连接后台服务器进行后续操作,在后台服务器升级重启后,由于后台服务器已经重新升级,因此,用户需要重新进行已经进行过的用户注册流程,且由于服务器重启升级的瞬间,文件操作等都被强制中断,因此,用户可能注册流程可能无法正确进行下去。
[0005]另一种情况下当用户进行注册流程时已填写用户名等关键信息后,后台服务器重启升级,由于用户填写用户名等关键信息后已上传后台服务器并且写入数据库,因此,后台服务器重启升级后,用户重新进行用户注册流程,当用户使用相同的用户名注册时,因为后台服务器已存在该用户名记录,因此用户将得到该用户名已被注册的提示,但后台服务器中该用户名的相关信息是不完整的,即用户无法正常使用该用户名进行登录,使得该用户名成为无主用户名,占用系统资源,同时也使得用户不能使用自己满意的用户名。

【发明内容】

[0006]本发明的主要目的在于提供一种服务器程序热升级的方法,旨在解决服务器程序升级重启时,数据丢失造成数据不完整的技术问题。
[0007]为实现上述目的,本发明提供一种服务器程序热升级的方法,所述服务器程序热升级的方法包括以下步骤:
[0008]当服务器程序进行升级时,服务器控制当前正在运行的处理实例A停止接收业务请求,并继续处理正在处理的业务请求;
[0009]服务器通过升级后的服务器程序创建新的处理实例B处理所述处理实例B接收到的业务请求;
[0010]当所述处理实例A处理完成业务请求后,服务器控制所述处理实例A退出,服务器程序热升级完成。
[0011]优选地,所述当服务器程序进行升级时,服务器控制当前正在运行的处理实例A停止接收业务请求,并继续处理正在处理的业务请求的步骤包括:
[0012]当服务器程序进行升级时,所述服务器程序的守护进程关闭当前正在运行的处理实例A的接收功能,使所述处理实例A停止接收业务请求,同时控制所述处理实例A继续处理正在处理的业务请求。
[0013]优选地,所述服务器通过升级后的服务器程序创建新的处理实例B处理后续接收到的业务请求的步骤包括:
[0014]所述服务器程序的守护进程通过升级后的服务器程序创建新的处理实例B,并将所述处理实例B绑定在业务请求访问端口上,同时控制所述处理实例B接收业务请求并处理。
[0015]优选地,所述当服务器程序进行升级时,服务器控制当前正在运行的处理实例A停止接收业务请求,并继续处理正在处理的业务请求的步骤还包括:
[0016]当服务器程序进行升级时,服务器控制接入层不再向当前正在运行的处理实例A发送业务请求,同时控制当前正在运行的处理实例A继续处理正在处理的业务请求。
[0017]优选地,所述服务器通过升级后的服务器程序创建新的处理实例B处理所述处理实例B接收到的业务请求的步骤还包括:
[0018]服务器通过升级后的服务器程序创建新的处理实例B,控制接入层将接收到的业务请求发送给所述处理实例B,同时控制所述处理实例B接收业务请求并处理。
[0019 ]此外,为实现上述目的,本发明还提供一种服务器程序热升级的装置,所述服务器程序热升级的装置包括:
[0020]停止接收模块,用于当服务器程序进行升级时,控制当前正在运行的处理实例A停止接收业务请求,并继续处理正在处理的业务请求;
[0021]新实例创建模块,用于通过升级后的服务器程序创建新的处理实例B处理所述处理实例B接收到的业务请求;
[0022]完成退出模块,用于当所述处理实例A处理完成业务请求后,控制所述处理实例A退出,服务器程序热升级完成。
[0023]优选地,所述停止接收模块包括:
[0024]关闭接收单元,用于当服务器程序进行升级时,控制守护进程关闭当前正在运行的处理实例A的接收功能,使所述处理实例A停止接收业务请求,同时控制所述处理实例A继续处理正在处理的业务请求。
[0025]优选地,所述新实例创建模块包括:
[0026]创建绑定单元,用于控制守护进程通过升级后的服务器程序创建新的处理实例B,并将所述处理实例B绑定在业务请求访问端口上,同时控制所述处理实例B接收业务请求并处理。
[0027]优选地,所述停止接收模块还包括:
[0028]停止业务请求发送单元,用于当服务器程序进行升级时,控制接入层不再向当前正在运行的处理实例A发送业务请求,同时控制当前正在运行的处理实例A继续处理正在处理的业务请求。
[0029]优选地,所述新实施例创建模块还包括:
[0030]创建转发单元,用于通过升级后的服务器程序创建新的处理实例B,控制接入层将接收到的业务请求发送给所述处理实例B,同时控制所述处理实例B接收业务请求并处理。
[0031]本发明实施例提出的一种服务器程序热升级的方法及装置,通过使用升级后服务器程序创建新的处理实例处理后续业务请求,同时旧处理实例处理完当前正在处理的业务请求后退出,保证服务器程序升级时数据不丢失,实现了服务器程序热升级,同时保证了服务器程序升级时数据的完整性,并且由于热升级对用户来说时透明的,不会给用户带来使用体验上的影响。
【附图说明】
[0032]图1为本发明服务器程序热升级的方法的第一实施例的流程示意图;
[0033]图2为本发明服务器程序热升级的方法的第二实施例的流程示意图;
[0034]图3为本发明服务器程序热升级的方法的第三实施例的流程示意图;
[0035]图4为本发明服务器程序热升级的装置的第一实施例的功能模块示意图;
[0036]图5为本发明服务器程序热升级的装置的第二实施例的功能模块示意图;
[0037]图6为本发明服务器程序热升级的装置的第三实施例的功能模块示意图;
[0038]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0039]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040]本发明实施例的主要解决方案是:当服务器程序进行升级时,服务器控制当前正在运行的处理实例A停止接收业务请求,并继续处理正在处理的业务请求;服务器通过升级后的服务器程序创建新的处理实例B处理所述处理实例B接收到的业务请求;当所述处理实例A处理完成业务请求后,服务器控制所述处理实例A退出,服务器程序热升级完成。
[0041]由于现有技术服务器程序升级时需要通过重启进行,当在服务器程序重启升级时会断开连接,造成正在服务的连接中断,且造成数据丢失,使数据完整性得不到保证。
[0042]本发明提供一种解决方案,使服务器程序升级时不再需要重启,而进行热升级,保证服务器程序升级时服务不中断,从而避免了由于服务中断瞬间文件操作等被强制中断而造成的数据丢失,进一步保证了数据的完整性。
[0043]参照图1,本发明服务器程序热升级的方法的第一实施例,所述服务器程序热升级的方法包括:
[0044]步骤S100,当服务器程序进行升级时,服务器控制当前正在运行的处理实例A停止接受业务请求,并继续处理正在处理的业务请求。
[0045]当服务器程序进行升级时,服务器不中断当前正在运行的处理实例A即旧处理实例的运行,控制所述处理实例A继续对正在处理的业务请求进行处理,为避免新业务请求有所述处理实例A处理,因此所述处理实例A不再接收新的业务请求。
[
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1