服务端热升级方法、终端设备及计算机可读存储介质与流程
未命名
08-22
阅读:205
评论:0
1.本技术涉及计算机技术领域,尤其涉及服务端热升级方法、终端设备及计算机可读存储介质。
背景技术:
2.服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。在客户端出现新的需求时,为了满足客户端的需求变化,就需要对服务端进行迭代升级。
3.在相关技术中,对服务进行迭代升级或者引擎升级发版,需要停止系统所有在运行中的任务,替换掉需要升级的模块,替换完成后再启动系统。而在中止系统时,会中断正在处理的客户端请求,并且无法为新的客户端请求提供服务。
技术实现要素:
4.本技术实施例通过提供一种服务端热升级方法、终端设备及计算机可读存储介质,解决了在对服务端的服务进行升级,或者引擎升级发版时,暂停服务导致通讯中断的问题,实现了提高升级效率的同时,避免通讯中断。
5.本技术实施例提供了一种服务端热升级方法,所述服务端热升级方法包括:
6.根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程,其中,所述备份进程与所述目标进程的作用以及监听的端口相同;
7.根据所述升级消息确定升级内容,对所述备份进程进行升级;
8.控制所述目标进程继续执行当前任务,停止接收新任务。
9.可选地,所述控制所述目标进程继续执行当前任务,停止接收新任务的步骤包括:
10.检测所述目标进程中是否存在正在进行中的任务;
11.若存在所述正在进行中的任务,控制所述目标进程继续运行预定时长后,关闭所述目标进程;
12.若不存在所述正在进行中的任务,直接关闭所述目标进程。
13.可选地,所述检测所述目标进程中是否存在正在进行中的任务的步骤之后,包括:
14.若存在所述正在进行中的任务,待所述正在进行中的任务执行完毕,关闭所述目标进程;或者,
15.将所述正在进行中的任务发送到所述备份进程,所述备份进程完成所述正在进行的任务后,将任务结果返回所述目标进程,所述目标进程在接收到所述任务结果后,关闭所述目标进程。
16.可选地,所述控制所述目标进程继续执行当前任务,停止接收新任务的步骤之后,还包括:
17.在所述备份进程完成升级,并启动后,控制所述目标进程终止进程;
18.控制所述备份进程接收所述新任务,并检测所述目标进程是否已停止工作;
19.若未停止工作,由所述备份进程向所述目标进程发送停止运行通知,所述目标进
程在接收到所述停止运行通知后,关闭所述目标进程。
20.可选地,所述检测所述目标进程是否已停止工作的步骤之后,还包括:
21.若所述目标进程已停止工作,记录所述目标进程的状态并将所述目标进程删除;
22.将所述备份进程作为主进程,等待接收升级消息。
23.可选地,所述根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程的步骤,还包括:
24.检测所述目标进程中是否有未开始执行的任务;
25.若存在所述未开始执行的任务,将所述未开始执行的任务发送到所述备份进程。
26.可选地,所述根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程的步骤包括:
27.拷贝所述目标进程的配置文件;
28.对所述升级消息进行解析,获取升级包;
29.根据所述升级包,对所述配置文件进行升级操作,生成所述备份进程。
30.可选地,所述根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程的步骤之后,还包括:
31.将所述目标进程的内存数据与所述备份进程通过共享内存进行数据共享,以及信息互通。
32.此外,为实现上述目的,本发明实施例还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的服务端热升级程序,所述处理器执行所述服务端热升级程序时,实现如上所述的方法。
33.此外,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有服务端热升级程序,所述服务端热升级程序被处理器执行时,实现如上所述的方法。
34.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
35.在服务端有服务需要迭代更新或者由引擎要升级发版时,服务端根据接收到的升级消息确定待升级的目标进程,并生成目标进程的备份进程,其中,所述备份进程与目标进程的作用以及监听的端口相同。根据升级消息确定升级内容,对备份进程进行升级,控制目标进程继续执行当前正在执行的任务,并停止接收新任务。新任务待备份进程升级完毕,由备份进程接收新任务。通过这种方式,使得在服务升级过程中,无需停服,目标进程继续执行当前任务,对目标进程的备份进程进行升级。有效解决了在服务迭代升级或者引擎改版升级时,停服导致通讯中断的问题,进而实现了提高升级效率的同时,防止通讯中断。
附图说明
36.图1为本技术服务端热升级方法实施例一的流程示意图;
37.图2为本技术服务端热升级方法实施例二的流程示意图;
38.图3为本技术一实施例方案涉及的硬件运行环境的终端结构示意图。
具体实施方式
39.为了解决服务端的服务进行迭代更新或者引擎升级发版时,停服导致通讯中断的
问题,本技术提供一种服务端热升级方法。根据接收到的升级消息确定待升级的目标进程,并生成目标进程的备份进程,备份进程和目标进程的作用以及监听的端口相同。根据升级消息确定升级内容,对备份进程进行升级。控制目标进程继续执行当前任务,停止接收新任务。由于是对目标进程的备份进程进行升级,目标进程继续执行当前任务,无需停服,实现了提高升级效率的同时防止通讯中断的效果。
40.为了更好的理解上述技术方案,下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
41.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
42.实施例一
43.在本实施例中,提供一种服务端热升级方法。
44.参照图1,本实施例的服务端热升级方法包括以下步骤:
45.步骤s100:根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程,其中,所述备份进程与所述目标进程的作用以及监听的端口相同;
46.在本实施例中,目标进程指的是需要迭代更新的进程。备份进程指的是功能与目标进程完全一致的进程,在目标进程停止工作后,备份进程可以代替目标进程执行任务,以及提供与其它客户端的连接。在操作系统中,每个进程执行各自的任务,当需要对某一进程进行升级时,需要使该进程停止工作,或者卸载该进程的一部分模块,待该进程及该进程依赖的模块升级完成后,再重启进程或重新加载模块。在对进程进行升级时,会导致设备整体丧失正常运行能力。
47.作为一种可选实施方式,接收到升级消息后,根据升级消息中的标识码确定待升级的目标进程的pid(进程id),每个进程有其各自对应的标识码。根据升级消息确定待升级的目标进程后,首先对目标进程进行拷贝,再对升级消息进行解析,获取升级包。根据升级包对配置文件进行升级操作,生成备份进程。
48.示例性地,升级消息中可以有多个标识码,如01、02、03,在标识码和集成的对应关系表中确定标识码01、02、03对应的目标进程pid为pid1、pid2、pid3。当升级消息中同时有多个标识码时,可以根据各个标识码获取各个目标进程的pid,同时对各个目标进程进行升级。
49.作为另一种可选实施方式,每个目标进程对应存在一个监测模块。监测模块对操作系统信号如sig_hup等进行监测,也可以针对文件系统如文件的创建、修改等进行监测,可定时或者实时检测是否存在针对该目标进程的升级指令。若存在所述升级指令,则创建并启动所述目标进程对应的备份进程。由于监测模块可以定时或者实时监测是否存在对目标进程对应的升级指令,当存在所述升级指令时,可以直接执行相应的升级动作。减少了由系统接收升级指令,再对升级指令进行解析,确定目标进程后,向目标进程发送升级消息,目标进程对所述升级消息作出响应这一过程的响应时间。提高了升级消息传输效率,进而提高了升级效率。
50.作为又一种可选实施方式,生成的备份进程与目标进程之间通过共享内存进行消
息的互通和数据共享。
51.示例性地,在拷贝目标进程,生成备份进程时,目标进程中已存储的数据也一并拷贝并存储到备份进程中。而目标进程当前执行的任务,及执行任务过程中存储的数据,则通过共享内存与备份进程进行数据共享。
52.步骤s200:根据所述升级消息确定升级内容,对所述备份进程进行升级;
53.在本实施例中,升级消息可以是对目标进程相关功能进行升级的内容,也可以是对目标进程存在的异常进行修复的内容。
54.作为一种可选实施方式,可以根据升级内容,确定备份进程中具体的待更新文件。对待更新文件进行升级,从而完成对备份进程的升级。
55.示例性地,在对备份进程进行升级时,可以根据升级内容携带的替换文件,直接对待更新文件进行替换。也可以对待升级文件中的关键参数进行替换,完成升级。
56.作为另一种可选实施方式,在接收到升级消息,根据升级消息对备份进程进行升级的过程中,同时检测目标进程中是否存在未开始执行的任务。若存在未开始执行的任务,可以将未开始执行的任务转发至备份进程的待执行任务列表中。
57.示例性地,升级后的进程相较于原进程,通常具有较好的响应速度,因此当目标进程中存在有未开始执行的任务时,可等待备份进程完成升级后,使用备份进程执行相应任务。也可根据任务的紧急程度,确定是否等待备份进程更新后,再由备份进程执行。
58.步骤s300:控制所述目标进程继续执行当前任务,停止接收新任务。
59.在本实施例中,备份进程升级过程中,目标进程继续执行当前未完成的任务。同时目标进程关闭端口监听服务,不再接收新的socket连接,也即不再接收新任务。由备份进程开启端口,监听相关服务,接收新的任务。
60.作为一种可选实施方式,检测目标进程中是否存在正在进行中的任务,若存在正在进程中的任务,则控制目标进程继续运行预定时长后,关闭目标进程;若不存在正在进行中的任务,则直接关闭目标进程。
61.示例性地,当目标进程中有正在执行中的任务时,为了防止任务中断导致通讯中断,或者任务异常。控制目标进行继续完成相关任务。设置一预设时长,当接收到升级消息后,经过预设时长,控制目标进程自动终止运行。可以根据历史数据中,目标进程执行各个任务所用的时间,计算平均值,将所述平均值作为所述预设时长。使得目标进程可以在当前任务执行完毕后,自动终止进程。预设时长的设置可以根据实际使用情况进行调整,确保在当前任务执行完毕后,再终止目标进程。
62.作为另一种可选实施方式,当接收到目标进程升级指令后,若检测到目标进程中存在正在执行中的任务,则等待所述任务执行完毕后,自动终止进程,无需等待预设时间到达后再关闭进程。
63.示例性地,在备份进程升级过程中,目标进程继续执行当前正在执行的任务,在执行完成后,将执行当前任务时产生的相关数据存储到共享内存中,将任务执行结果反馈到客户端后,关闭目标进程。可选地,此时若备份进程仍未升级完成,且存在未执行的任务,为了减少任务的等待时间,可以控制目标进程继续执行所述未执行的任务,待备份进程升级完成后,将现在正在执行的任务转发至备份进程。由于目标进程在执行任务过程中,任务执行的相关数据通过共享内存与备份进程共享,因此备份进程在接收到转发的任务时,可以
直接执行剩下未完成的任务。
64.作为又一种可选实施方式,接收升级任务,经过预定时长后,检测目标进程是否停止工作,若目标进程中正在执行的任务已经结束,则将执行结果反馈到客户端,同时将执行结果同步到备份进程,再自动终止目标进程。若经过预定时长后,目标进程仍未自动终止,则由备份进程通过共享内存发送终止进程指令到目标进程,目标进程在接收到所述终止进程指令后,终止运行。
65.示例性地,若经过预定时长后,目标进程中正在执行的任务仍未结束,则由备份进程发送指令控制目标进程终止进程,同时将未执行完的任务转发到备份进程,由备份进程继续执行未完成的任务。
66.作为再一种可选实施方式,在备份进程升级启动后,接替目标进程。监听原目标进程监听的各个端口,并与服务端的其它进程进行数据传输。
67.示例性地,在接收到升级消息,拷贝目标进程,生成备份进程后,目标进程停止监听各个任务端口,由备份进程监听所述各个任务端口。在目标进程终止进程后,备份进程转为主进程。
68.在本实施例中,服务端根据接收到的升级消息确定待升级的目标进程,并生成目标进程的备份进程。备份进程与目标进程的作用以及监听的端口均相同。根据升级消息确定升级内容,对备份进程进行升级,同时控制目标进程继续执行当前任务,并停止接收新任务。待备份进程升级完成,启动后,由备份进程接替目标进程接收新任务,执行相应的任务。由于是对备份进程进行升级,在升级过程中,目标进程继续执行相关任务。达到在不中断任务的情况下,完成对进程的升级。
69.实施例二
70.基于实施例一,提出本技术的另一实施例,参照图2,在检测所述目标进程是否已停止工作的步骤之后,还包括:
71.步骤s310:在所述备份进程完成升级,并启动后,控制所述目标进程终止进程;
72.步骤s320:控制所述备份进程接收所述新任务,并检测所述目标进程是否已停止工作;
73.在本实施例中,备份进程升级完成后,自动重启。备份进程重启后即开始监听原先与目标进程连接的各个端口,执行接收到的新任务。同时控制目标进程终止进程,防止两个进程同时工作,导致任务传输异常。
74.作为一种可选实施方式,在备份进程升级过程中,由目标进程继续执行任务,而对于新接收到的任务,可以由目标进程执行,也可以先存放到任务执行列表中,并存放于共享内存中,待备份进程升级完成后,由备份进程执行新任务。
75.示例性地,升级是对相关进程的功能进行改进,或者修复原先进程的异常。因此由升级后的进程来处理任务,具有更高的适配性。在备份进程升级过程中接收到的新任务,检测所述新任务是否需要用到备份进程中升级的功能,若需要用到相关升级功能,则可以等待备份进程升级完成后,由备份进程响应所述新任务。
76.步骤s321:若所述目标进程已停止工作,记录所述目标进程的状态并将所述目标进程删除;
77.步骤s322:将所述备份进程作为主进程,等待接收升级消息。
78.在本实施例中,目标进程的状态,指的是目标进程停止时,是否有未执行完的任务,以及是否存在执行异常而暂停的任务。
79.作为一种可选实施方式,若目标进程中存在未执行完的任务,则由备份任务从共享内存中获取该未执行完的任务的执行进度,继续完成所述未完成的任务。若目标进程中存在因执行异常而暂停的任务,则由备份进程从共享内存中获取该异常任务的执行情况,并分析异常原因,重新执行所述异常任务。
80.示例性地,当目标进程的功能不足以支撑新需求时,需要对目标进程的功能进行升级。若在备份进程升级过程中,目标进程中执行的是所述新需求对应的任务,则可能导致任务执行异常。此时则需要由备份进程重新对该异常的任务进行响应。
81.步骤s330:若未停止工作,由所述备份进程向所述目标进程发送停止运行通知,所述目标进程在接收到所述停止运行通知后,关闭所述目标进程。
82.在本实施例中,控制目标进程停止工作后,需要检测目标进程是否已经停止工作。若目标进程仍未停止工作,则由备份进程再向目标进程发送停止运行通知。
83.作为一种可选实施方式,当目标进程未停止工作时,由备份进程向目标进程发送停止运行通知,控制目标进程强制终止。
84.示例性地,在初次控制目标进程终止的过程中,可能由于代码错误,导致不能正确的在进程结束时停止代码执行。或者其它可能阻碍进程正常终止的干扰因素。此时需要由备份进程强制目标进程下线。避免两个进程同时在线,导致新的任务无法正确发送到升级后的进程中。
85.在本实施例中,备份进程完成升级并启动后,控制目标进程终止,由备份进程接替目标进程执行新的任务。同时需要检测目标进程是否已经停止工作,若已停止工作,检测目标进程中是否有未执行完成的任务或者因异常而中断的任务,由备份进程继续执行所述未完成任务或者异常任务。若未停止工作,则由备份进程控制目标进程强行终止工作。使得进程更新迭代后,不存在遗漏任务,并且后续只存在一个可执行的进程,防止任务分配错乱。
86.实施例三
87.在本技术实施例中,提出一种服务端热升级装置。
88.参照图3,图3为本技术一实施例方案涉及的硬件运行环境的终端结构示意图。
89.如图3所示,该控制终端可以包括:处理器1001,例如cpu,网络接口1003,存储器1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1004可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
90.本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
91.如图3所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块、以及服务端热升级程序。
92.在图3所示的服务端热升级设备硬件结构中,处理器1001可以调用存储器1004中存储的服务端热升级程序,并执行以下操作:
93.根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进
程,其中,所述备份进程与所述目标进程的作用以及监听的端口相同;
94.根据所述升级消息确定升级内容,对所述备份进程进行升级;
95.控制所述目标进程继续执行当前任务,停止接收新任务。
96.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
97.检测所述目标进程中是否存在正在进行中的任务;
98.若存在所述正在进行中的任务,控制所述目标进程继续运行预定时长后,关闭所述目标进程;
99.若不存在所述正在进行中的任务,直接关闭所述目标进程。
100.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
101.若存在所述正在进行中的任务,待所述正在进行中的任务执行完毕,关闭所述目标进程;或者,
102.将所述正在进行中的任务发送到所述备份进程,所述备份进程完成所述正在进行的任务后,将任务结果返回所述目标进程,所述目标进程在接收到所述任务结果后,关闭所述目标进程。
103.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
104.在所述备份进程完成升级,并启动后,控制所述目标进程终止进程;
105.控制所述备份进程接收所述新任务,并检测所述目标进程是否已停止工作;
106.若未停止工作,由所述备份进程向所述目标进程发送停止运行通知,所述目标进程在接收到所述停止运行通知后,关闭所述目标进程。
107.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
108.若所述目标进程已停止工作,记录所述目标进程的状态并将所述目标进程删除;
109.将所述备份进程作为主进程,等待接收升级消息。
110.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
111.检测所述目标进程中是否有未开始执行的任务;
112.若存在所述未开始执行的任务,将所述未开始执行的任务发送到所述备份进程。
113.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
114.拷贝所述目标进程的配置文件;
115.对所述升级消息进行解析,获取升级包;
116.根据所述升级包,对所述配置文件进行升级操作,生成所述备份进程。
117.可选地,处理器1001可以调用存储器1004中存储的服务端热升级程序,还执行以下操作:
118.将所述目标进程的内存数据与所述备份进程通过共享内存进行数据共享,以及信息互通。
119.此外,为实现上述目的,本发明实施例还提供一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的服务端热升级程序,所述处理器执行所述服务端热升级程序时,实现如上所述的服务端热升级方法。
120.此外,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有服务端热升级程序,所述服务端热升级程序被处理器执行时,实现如上所述的服务端热升级方法。
121.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
122.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
123.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
124.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
125.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本技术可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
126.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
127.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种服务端热升级方法,其特征在于,所述服务端热升级方法包括以下步骤:根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程,其中,所述备份进程与所述目标进程的作用以及监听的端口相同;根据所述升级消息确定升级内容,对所述备份进程进行升级;控制所述目标进程继续执行当前任务,停止接收新任务。2.如权利要求1所述的服务端热升级方法,其特征在于,所述控制所述目标进程继续执行当前任务,停止接收新任务的步骤包括:检测所述目标进程中是否存在正在进行中的任务;若存在所述正在进行中的任务,控制所述目标进程继续运行预定时长后,关闭所述目标进程;若不存在所述正在进行中的任务,直接关闭所述目标进程。3.如权利要求2所述的服务端热升级方法,所述检测所述目标进程中是否存在正在进行中的任务的步骤之后,包括:若存在所述正在进行中的任务,待所述正在进行中的任务执行完毕,关闭所述目标进程;或者,将所述正在进行中的任务发送到所述备份进程,所述备份进程完成所述正在进行的任务后,将任务结果返回所述目标进程,所述目标进程在接收到所述任务结果后,关闭所述目标进程。4.如权利要求1所述的服务端热升级方法,其特征在于,所述控制所述目标进程继续执行当前任务,停止接收新任务的步骤之后,还包括:在所述备份进程完成升级,并启动后,控制所述目标进程终止进程;控制所述备份进程接收所述新任务,并检测所述目标进程是否已停止工作;若未停止工作,由所述备份进程向所述目标进程发送停止运行通知,所述目标进程在接收到所述停止运行通知后,关闭所述目标进程。5.如权利要求4所述的服务端热升级方法,其特征在于,所述检测所述目标进程是否已停止工作的步骤之后,还包括:若所述目标进程已停止工作,记录所述目标进程的状态并将所述目标进程删除;将所述备份进程作为主进程,等待接收升级消息。6.如权利要求1所述的服务端热升级方法,其特征在于,所述根据所述升级消息确定升级内容,对所述备份进程进行升级的步骤,还包括:检测所述目标进程中是否有未开始执行的任务;若存在所述未开始执行的任务,将所述未开始执行的任务发送到所述备份进程。7.如权利要求1所述的服务端热升级方法,其特征在于,所述根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程的步骤包括:拷贝所述目标进程的配置文件;对所述升级消息进行解析,获取升级包;根据所述升级包,对所述配置文件进行升级操作,生成所述备份进程。8.如权利要求1所述的服务端热升级方法,其特征在于,所述根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程的备份进程的步骤之后,还包括:
将所述目标进程的内存数据与所述备份进程通过共享内存进行数据共享,以及信息互通。9.一种终端设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的服务端热升级程序,所述处理器执行所述服务端热升级程序时,实现权利要求1-8任一所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有服务端热升级程序,所述服务端热升级程序被处理器执行时,实现权利要求1-8任一所述的方法。
技术总结
本申请公开了服务端热升级方法、终端设备及计算机可读存储介质,该方法包括:根据接收到的升级消息确定待升级的目标进程,并生成所述目标进程非备份进程,其中,所述备份进程与所述目标进程的作用以及监听的端口相同;根据所述升级消息确定升级内容,对所述备份进程进行升级;控制所述目标进程继续执行当前任务,停止接收新任务。解决了对服务端中的服务进行迭代升级或者对引擎升级发版时,暂停系统运行导致中断正在处理的客户端请求,并且无法为新的客户端请求提供服务的问题,达到提高升级效率的同时,避免通讯中断的效果。避免通讯中断的效果。避免通讯中断的效果。
技术研发人员:王林 宋燚 周宇
受保护的技术使用者:深圳市石犀科技有限公司
技术研发日:2023.05.08
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
