浏览器平滑重启的长连接方法、系统、存储介质及计算机设备技术方案

技术编号:37887130 阅读:5 留言:0更新日期:2023-06-18 11:51
本发明专利技术提供了一种浏览器平滑重启的长连接方法,在检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务;调用fork函数启动相对于所述旧进程更新后的新进程,并将所述新进程连接至所述unixsocket服务;通过所述unixsocket服务将连接信息传输到所述新进程;在所述旧进程上的所述连接信息传输完毕时,关闭所述旧进程。本发明专利技术还提供了一种浏览器平滑重启的长连接系统、存储介质及计算机设备。借此,本发明专利技术解决了长连接通道在进行客户端与服务端之间进行消息交互时,由于代码更新导致消息中断的技术难题;实现了浏览器与客户端之间长连接通信的平滑重启效果。与客户端之间长连接通信的平滑重启效果。与客户端之间长连接通信的平滑重启效果。

【技术实现步骤摘要】
浏览器平滑重启的长连接方法、系统、存储介质及计算机设备


[0001]本专利技术涉及浏览器长连接
,尤其涉及一种浏览器平滑重启的长连接方法、系统、存储介质及计算机设备。

技术介绍

[0002]长连接是指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
[0003]现有技术中,浏览器客户端与服务端建立长连接后,在版本更新迭代过程中,当需要加载新的代码程序时,长连接服务会中断,因为在加载新的代码时,新进程启动时因与旧进程绑定一个端口,从而导致出现端口冲突。此外,还会导致当前长连接通道上的重要数据丢失,进而影响用户体验。
[0004]综上可知,现有的方法在实际使用上,存在着较多的问题,所以有必要加以改进。

技术实现思路

[0005]针对上述的缺陷,本专利技术的目的在于提供一种浏览器平滑重启的长连接方法,系统、存储介质及其计算机设备,能够解决长连接通道在进行客户端与服务端之间进行消息交互时,由于代码更新导致消息中断的技术难题;实现浏览器与客户端之间长连接通信的平滑重启效果。
[0006]为了实现上述目的,本专利技术提供一种浏览器平滑重启的长连接方法,包括步骤:
[0007]检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务;
[0008]调用fork函数启动相对于所述旧进程更新后的新进程,并将所述新进程连接至所述unixsocket服务;
[0009]通过所述unixsocket服务将连接信息传输到所述新进程;
[0010]在所述旧进程上的所述连接信息传输完毕时,关闭所述旧进程。
[0011]可选的,所述检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务的步骤具体包括:
[0012]通过代码程序的旧进程监听到HUP信号时,启动unixsocket服务。
[0013]可选的,所述调用fork函数启动相对于所述旧进程更新后的新进程,并将所述新进程连接至所述unixsocket服务的步骤包括:
[0014]通过fork函数创建相对于所述旧进程更新后的新进程;
[0015]将所述新进程连接至所述fork函数的父进程的所述unixsocket服务。
[0016]可选的,所述通过所述unixsocket服务将连接信息传输到所述新进程的步骤具体包括:
[0017]检测到所述新进程连接至所述unixsocket服务时,停止所述旧进程的信息接收服务;
[0018]通过所述unixsocket服务将全部的连接信息传输至所述新进程。
[0019]可选的,所述通过所述unixsocket服务将全部的连接信息传输至所述新进程的步骤具体包括:
[0020]通过所述unixsocket服务,将所述浏览器预接收的第一连接信息和所述旧进程已接收的第二连接信息传递给所述新进程。
[0021]可选的,所述通过所述unixsocket服务将全部的连接信息传输至所述新进程的步骤具体包括:
[0022]通过所述unixsocket服务调用sendmsg函数,以将全部的连接信息传输至所述新进程。
[0023]可选的,所述通过所述unixsocket服务将连接信息传输到所述新进程的步骤之后,还包括:
[0024]所述新进程基于recvmsg函数以接收所述连接信息,并恢复所述浏览器的信息连接以接收用户请求。
[0025]还提供了一种浏览器平滑重启的长连接系统,包括有:
[0026]服务启动单元,用于检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务;
[0027]服务连接单元,用于调用fork函数启动相对于所述旧进程更新后的新进程,并将所述新进程连接至所述unixsocket服务;
[0028]信息传输单元,用于通过所述unixsocket服务将连接信息传输到所述新进程;
[0029]进程关闭单元,用于在所述旧进程上的所述连接信息传输完毕时,关闭所述旧进程。
[0030]另外,还提供了一种存储介质和计算机设备,所述存储介质用于存储一种用于执行上述浏览器平滑重启的长连接方法的计算机程序。
[0031]所述计算机设备包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的浏览器平滑重启的长连接方法。
[0032]本专利技术所述的浏览器平滑重启的长连接方法及其系统,当在检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务;进而调用fork函数启动代码更新的新进程,并将所述新进程连接至所述unixsocket服务;再借由unixsocket服务将浏览器的连接信息传输给新进程;当旧进程上的连接信息通过unixsocket服务全部传输给新进程后,关闭该旧进程,从而实现浏览器长连接保持平滑重启的效果。本专利技术有效解决了长连接通道在进行客户端与服务端之间进行消息交互时,由于代码更新导致消息中断的技术难题。
附图说明
[0033]图1为本专利技术一实施例提供的所述浏览器平滑重启的长连接方法的步骤流程图;
[0034]图2为本专利技术一实施例提供的所述浏览器平滑重启的长连接方法用于启动所述新进程可选的步骤流程图;
[0035]图3为本专利技术一实施例提供的所述浏览器平滑重启的长连接方法用于传输所述连接信息可选的步骤流程图;
[0036]图4为本专利技术一实施例提供的所述浏览器平滑重启的长连接系统的结构示意框图;
[0037]图5为本专利技术一实施例提供的所述浏览器平滑重启的长连接系统的所述服务连接单元可选的结构示意框图;
[0038]图6为本专利技术一实施例提供的所述浏览器平滑重启的长连接系统的所述信息传输单元可选的结构示意框图;
[0039]图7为本专利技术所述浏览器平滑重启的长连接方法的通信流程图。
具体实施方式
[0040]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0041]需要说明的,本说明书中针对“一个实施例”、“实施例”、“示例实施例”等的引用,指的是描述的该实施例可包括特定的特征、结构或特性,但是不是每个实施例必须包含这些特定特征、结构或特性。此外,这样的表述并非指的是同一个实施例。进一步,在结合实施例描述特定的特征、结构或特性时,不管有没有明确的描述,已经表明将这样的特征、结构或特性结合到其它实施例中是在本领域技术人员的知识范围内的。
[0042]此外,在说明书及后续的权利要求当中使用了某些词汇来指称特定组件或部件,所属领域中具有通常知识者应可理解,制造商可以用不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求并不以名称的差异来作为区分组件或部件的方式,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种浏览器平滑重启的长连接方法,其特征在于,包括步骤:检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务;调用fork函数启动相对于所述旧进程更新后的新进程,并将所述新进程连接至所述unixsocket服务;通过所述unixsocket服务将连接信息传输到所述新进程;在所述旧进程上的所述连接信息传输完毕时,关闭所述旧进程。2.根据权利要求1所述的浏览器平滑重启的长连接方法,其特征在于,所述检测到浏览器的代码版本更新时,通过代码程序的旧进程启动unixsocket服务的步骤具体包括:通过代码程序的旧进程监听到HUP信号时,启动unixsocket服务。3.根据权利要求1所述的浏览器平滑重启的长连接方法,其特征在于,所述调用fork函数启动相对于所述旧进程更新后的新进程,并将所述新进程连接至所述unixsocket服务的步骤包括:通过fork函数创建相对于所述旧进程更新后的新进程;将所述新进程连接至所述fork函数的父进程的所述unixsocket服务。4.根据权利要求1所述的浏览器平滑重启的长连接方法,其特征在于,所述通过所述unixsocket服务将连接信息传输到所述新进程的步骤具体包括:检测到所述新进程连接至所述unixsocket服务时,停止所述旧进程的信息接收服务;通过所述unixsocket服务将全部的连接信息传输至所述新进程。5.根据权利要求4所述的浏览器平滑重启的长连接方法,其特征在于,所述通过所述unixsocket服务将全部的连接信息传输至所述新进程的步骤具体包括:通过所述unix...

【专利技术属性】
技术研发人员:王翠萍徐平芳
申请(专利权)人:北京奇元科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1