进程更新方法及装置与流程

文档序号:29449302发布日期:2022-03-30 11:34阅读:130来源:国知局
进程更新方法及装置与流程

1.本说明书实施例涉及计算机技术领域,特别涉及一种进程更新方法。


背景技术:

2.随着网络技术的发展,后台服务器在整个网络环境中的作用越来越大,同时随着网络技术的发展,用户需求也在不断地发展,对后台服务器的要求也越来越高,这使得后台服务器需要不断进行升级以满足客户需求。在分布式系统中,客户端通常会内嵌在用户进程中运行,当客户端需要升级时,要由用户进程自己重新编译生成新的可执行程序,然后对线上的服务节点进行逐个升级,而在升级的过程中,由于需要重启客户端进程,则会产生较大的升级成本,同时也会影响用户的使用。


技术实现要素:

3.有鉴于此,本说明书施例提供了一种进程更新方法。本说明书一个或者多个实施例同时涉及一种进程更新装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
4.根据本说明书实施例的第一方面,提供了一种进程更新方法,应用于客户端,所述客户端包括:初始进程,第一目标进程,基于所述第一目标进程更新的第二目标进程;
5.所述第一目标进程接收所述初始进程转发的至少一个用户请求,在确定满足更新条件的情况下,启动所述第二目标进程;
6.所述第二目标进程在初始化完成的情况下,接收所述初始进程发送的所述至少一个用户请求,并对所述至少一个用户请求进行处理。
7.根据本说明书实施例的第二方面,提供了一种进程更新装置,应用于客户端,所述客户端包括:初始进程,第一目标进程,基于所述第一目标进程更新的第二目标进程;
8.所述第一目标进程,被配置为接收所述初始进程转发的至少一个用户请求,在确定满足更新条件的情况下,启动所述第二目标进程;
9.所述第二目标进程,被配置为在初始化完成的情况下,接收所述初始进程发送的所述至少一个用户请求,并对所述至少一个用户请求进行处理。
10.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
11.存储器和处理器;
12.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,其中,所述处理器执行所述计算机可执行指令时实现所述进程更新方法的步骤。
13.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述进程更新方法的步骤。
14.根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述进程更新方法的步骤。
15.本说明书一个实施例提供的进程更新方法,应用于客户端,所述客户端包括:初始
进程,第一目标进程,基于所述第一目标进程更新的第二目标进程;所述第一目标进程将接收所述初始进程转发的至少一个用户请求,在确定满足更新条件的情况下,启动所述第二目标进程;所述第二目标进程在初始化完成的情况下,接收所述初始进程发送的所述至少一个用户请求,并对所述至少一个用户请求进行处理。
16.具体的,在第一目标进程在接收到用户请求之后,确定满足更新条件时,将启动第二目标进程,在第二目标进程完成初始化之后,重新接收初始进程发送的至少一个用户请求,并完成对用户请求的处理,实现了对进程热升级处理,进而能够实现无需用户进程升级和重启,即无需用户操作或感知,由客户端进程自动完成热升级,不仅降低了进程升级成本,对用户进程中服务延迟影响较小,也不会影响用户使用。
附图说明
17.图1是本说明书一个实施例提供的一种进程更新方法应用于客户端的系统架构图;
18.图2是本说明书一个实施例提供的一种进程更新方法的流程图;
19.图3是本说明书一个实施例提供的一种进程更新方法的处理过程流程图;
20.图4是本说明书一个实施例提供的一种进程更新装置的结构示意图;
21.图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
22.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
23.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
24.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
25.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
26.热升级:在系统运行过程中,在不中断服务的情况下,无需用户操作或感知,即可对系统进行升级。
27.分布式系统的客户端通常会内嵌在用户进程中运行,当客户端需要升级时,要由用户进程自己重新编译生成新的可执行程序,然后对线上的服务节点进行逐个升级。在升级过程中,由于需要重启进程,还需要提前将待升级进程上的请求/流量迁移走,待升级完成后,再将请求/流量迁移回来。这一过程不仅会影响用户进程的运行,也会影响客户端升
级的成本。然而在有些项目中,用户进程的升级代价很大,此时修复客户端程序的问题就会成为一件很困难的事情。基于此,本说明书实施例提供的一种进程更新方法,实现对客户端进程的热升级处理,无需用户进程升级和重启,仅需启动一个新的客户端进程,代替需要被更新的旧的客户端进程,进而采用双进程的方式,不仅能避免等待客户端初始化的时间,也降低客户端升级的开销。
28.需要说明的是,用户进程中客户端需要升级时,将客户端程序拆成两个进程,一个是轻客户端,逻辑比较简单,只负责请求的转发(转发给重客户端);另一个是重客户端,包含了主要的客户端逻辑。轻客户端包含在用户进程中,重客户端作为一个独立进程可以独立进行升级。
29.因此,本说明书实施例提供的进程更新方法,主要在于对重客户端的升级,轻客户端由于逻辑简单,可以尽可能不进行升级,只升级重客户端,以减少对客户端的升级开销。
30.在本说明书中,提供了一种进程更新方法,本说明书同时涉及一种进程更新装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
31.图1示出了根据本说明书一个实施例提供的一种进程更新方法应用于客户端的系统架构图。
32.需要说明是,客户端中的初始进程仅负责用户请求的转发,第一目标进程和第二目标进程包含主要的客户端逻辑,可作为一个独立进程进行升级。
33.图1中包括初始进程(轻客户端)、第一目标进程(旧版本重客户端)、第二目标进程(新版本客户端)以及后端服务集群。
34.具体实施时,初始进程接收到用户发送的用户请求之后,将用户请求转发至第一目标进程,在确定第一目标进程满足更新条件的情况下,则启动第二目标进程,并等待第二目标进程完成所有的初始化之后,初始进程将用户请求转发至第二目标进程,第二目标进程接收到初始进程根据用户请求中携带的用户句柄确定与该用户句柄具有关联关系的内部句柄,第二目标进程基于该内部句柄访问后端服务集群。同时,第二目标进程可强制停止第一目标进程接收用户请求,进而实现对第一目标进程的升级处理。
35.本说明书实施例提供的进程更新方法,将客户端进程分为初始进程和第一目标进程、第二目标进程,并在确定第一目标进程满足更新条件的情况下,启动第二目标进程,初始进程将用户请求转发至第二目标进程,第二目标进程可进行后续的用户请求处理,实现了对第一目标进程的自动热升级,无需用户操作或者感知,即完成了对第一目标进程的热升级处理。
36.图2示出了根据本说明书一个实施例提供的一种进程更新方法的流程图,具体包括以下步骤。
37.步骤202:所述第一目标进程接收所述初始进程转发的至少一个用户请求,在确定满足更新条件的情况下,启动所述第二目标进程。
38.其中,初始进程可以理解为逻辑较为简单、仅负责请求转发的轻客户端进程。
39.第一目标进程可以理解为处理主要客户端逻辑的重客户端进程,第二目标进程可以理解为启动的新的重客户端进程,因此,第一目标进程可以看作为旧版本的重客户端进程,第二目标进程可以看作为新版本的重客户端进程。
40.其中,更新条件可以理解为第一目标进程在运行的过程中出现的需要被更新的条件,即热升级的触发条件,比如第一目标进程可能在运行中出现bug,也可能是为了提升某些指标需要进行更新升级,也可能是为了增加新功能。
41.具体实施时,初始进程在接收到至少一个用户请求之后,将至少一个用户请求转发至第一目标进程,进而第一目标进程在接收到至少一个用户请求之后,在确认满足更新条件的情况下,则触发启动第二目标进程,需要说明的是,在第一目标进程在触发了更新条件之后,需要进行修复或者是升级时,若对第一目标进程采取冷升级的方式,一般可能会需要重启操作,或者其他操作,将可能会影响用户的使用过程。
42.基于此,在实际应用中,为了避免升级客户端进程时,对客户端进程的重启操作会影响用户的正常使用,则在检测到重客户端进程满足更新条件时,可启动一个新版本的重客户端,以代替需要更新的旧版本重客户端,使得在用户无感知的情况下,旧版本客户端自动完成了热升级,对服务延迟的影响很小,比如,第一目标进程为了增加新功能,而需要对第一目标进程升级,则可确定第一目标进程满足预设的更新条件,进而触发启动第二目标进程。
43.进一步地,所述初始进程将接收到的至少一个用户请求转发至所述第一目标进程之前,还包括:
44.所述初始进程接收至少一个用户请求,基于用户调用顺序缓存所述至少一个用户请求。
45.其中,用户请求可以理解为在分布式系统中的用户处理请求,比如分布式存储系统中的用户存储请求等。
46.实际应用中,初始进程会接收到至少一个用户请求,系统会根据不同的用户请求的调用顺序缓存接收到的至少一个用户请求,其中,缓存的用户请求可以为尚未向用户返回结果的用户请求。
47.本说明书实施例提供的进程更新方法,初始进程为了保证用户请求处理的顺序,将至少一个用户请求按照用户调用顺序进行缓存,便于后续初始进程按照用户调用顺序将至少一个用户转发至第二目标进程。
48.更进一步地,初始进程将用户请求转发至第一目标进程,可以通过两种方式转发;具体的,所述初始进程将接收到的至少一个用户请求转发至所述第一目标进程,包括:
49.所述初始进程基于本地连接协议将接收到的至少一个用户请求转发至所述第一目标进程;或
50.所述初始进程基于共享内存机制将接收到的至少一个用户请求转发至所述第一目标进程。
51.实际应用中,初始进程通过本地连接协议进行进程通信,将接收到的至少一个用户请求转发至第一目标进程,比如,通过本地socket进行进程通信;或者初始进程通过共享内存进行进程通信,将接收到的至少一个用户请求转发至第一目标进程,比如,通过共享内存进行进程通信。
52.需要说明的是,各个进程之间的通信机制,本说明书仅以上述两种方式为例进行说明,但并仅限于上述方式,本实施例对此不做任何限制。
53.本说明书实施例提供的进程更新方法,初始进程可通过不同的通信方式进行相互
通信,实现将用户请求从初始进程转发至第一目标进程,进而能够实现实时转发用户请求。
54.步骤204:所述第二目标进程在初始化完成的情况下,接收所述初始进程发送的所述至少一个用户请求,并对所述至少一个用户请求进行处理。
55.具体实施时,第二目标进程在被启动之后,可以先完成所有的初始化工作,在确定初始化工作完成之后,才可接收到初始进程发送的至少一个用户请求,并对所述至少一个用户请求进行处理。
56.需要说明的是,实际应用中,第二目标进程初始化工作可能也会花费一定的时间,那么在此过程中,第一目标进程仍可以接收用户请求,因为系统还没有强制停止第一目标进程的运行过程。
57.为了能够准确地确定第二目标进程初始化完成的时间,在第二目标进程完成所有的初始化之后,还需向初始进程发送待接收指令,以告知初始进程可以向第二目标进程转发用户请求,实现后续的用户请求的处理;具体的,所述第二目标进程在初始化完成的情况下之后,还包括:
58.所述第二目标进程向所述初始进程发送待接收指令;
59.所述初始进程响应于所述待接收指令,基于所述用户调用顺序将所述至少一个用户请求发送至所述第二目标进程。
60.具体实施时,第二目标进程向初始进程发送待接收指令之后,初始进程即可确定第二目标进程可以代替第一目标进程接收用户请求,进而,初始进程基于缓存的用户调用顺序将至少一个用户请求发送至第二目标进程。
61.实际应用中,在第二目标进程完成所有的初始化之后,就可向初始进程发送待接收指令,即第二目标进程告知初始进程,将当前所有尚未返回结果的用户请求,按照用户调用顺序全部转发至第二目标进程中;初始进程响应于待接收指令将至少一个用户请求转发至第二目标进程,在转发完成前,暂停转发后续新的用户请求,以保证用户请求的发送顺序,在转发完成后,将后续新的用户请求转发至第二目标进程。
62.本说明书实施例提供的进程更新方法,在确定第二目标进程完成初始化之后,将用户请求转发至第二目标进程,以实现对第一目标进程的替代,保证用户在无感知的状态下,实现对用户请求的处理过程。
63.在新启动的第二目标进程接收到初始进程发送的用户请求之后,可以理解为第二目标进程可以替代第一目标进程完成对用户请求的处理,那么,第一目标进程就可以强制退出;具体的,所述第二目标进程在初始化完成的情况下,接收所述初始进程发送的所述至少一个用户请求之后,还包括:
64.所述第一目标进程停止接收所述初始进程发送的所述至少一个用户请求。
65.实际应用中,初始进程将至少一个用户请求转发至第二目标进程之后,为了能够实现第二目标进程对第一目标进程的替代,完成对第一目标进程的热升级,随后,第一目标进程即可停止接收初始进程发送的至少一个用户请求,既可以理解为强制杀死旧的待更新的重客户端。
66.本说明书实施例提供的进程更新方法,通过第一目标进程停止接收初始进程发送的用户请求,进而完成了第二目标进程对第一目标进程的替代过程,以达到了待更新的重客户端在不参与用户请求处理的同时,也并不会影响整个用户进程。
67.进一步地,所述第二目标进程对所述至少一个用户请求进行处理,包括:
68.所述第二目标进程接收所述初始进程基于所述至少一个用户请求中携带的用户句柄,确定与所述用户句柄具有关联关系的内部句柄,并基于所述内部句柄处理所述至少一个用户请求。
69.在分布式文件系统中,用户打开文件后会得到一个句柄,后续通过句柄对该文件进行读写操作,在文件系统内部实现中,一般也是通过该句柄找到相应的内部资源,从而进行用户请求处理的操作,在本实施例提供的分布式文件系统中,会存在两种句柄,一种是轻客户端返回用户的句柄,称为用户句柄;另一种是后端服务集群返回给重客户端的句柄,重客户端会将该句柄带回给轻客户端,该句柄称为内部句柄。两种句柄存在一一对应关系。
70.实际应用中,第二目标进程在接收初始进程发送的至少一个用户请求的同时,还可接收内部句柄,其中,该内部句柄是根据每个用户请求中携带的用户句柄确定的与该用户句柄具有关联关系的句柄,第二目标进程在本地基于确定好的内部句柄可访问后端服务集群,实现对用户请求的处理。
71.进一步地,每个用户请求都会携带用户句柄,初始进程在将该用户句柄转换为内部句柄之后,将该内部句柄转发至第二目标进程,若第二目标进程发现本地没有该内部句柄,则可基于重打开操作获取到新的内部句柄,完成对用户请求的处理;具体的,所述第二目标进程接收所述初始进程基于所述至少一个用户请求中携带的用户句柄,确定与所述用户句柄具有关联关系的内部句柄之后,还包括:
72.所述第二目标进程基于所述与用户句柄具有关联关系的内部句柄,在本地中未能确定与所述内部句柄相同的句柄的情况下,基于重打开操作获得目标内部句柄,并基于所述目标内部句柄处理所述至少一个用户请求。
73.实际应用中,第二目标进程在接收到初始进程确定与用户句柄具有关联关系的内部句柄之后,在本地中未能确定与该内部句柄相同的句柄的情况下,可进一步进行重打开操作(需携带旧的内部句柄),在该重打开操作中,后端服务器会返回第二目标进程一个新的内部句柄,同时后端服务器并将旧的内部句柄对应的资源删除,权限销毁,致使旧的内部句柄也将无法访问后端服务器;在第二目标进程获得一个新的内部句柄之后,即目标内部句柄,可基于目标内部句柄进一步访问后端服务器处理用户请求,同时,将目标内部句柄返回至初始进程,便于后续初始进程更新本地中用户句柄与内部句柄的对应关系。
74.本说明书实施例提供的进程更新方法,第二目标进程在本地未找到匹配的内部句柄之后,可基于重打开操作重新获得一个新的内部句柄,并基于新的内部句柄访问后端服务器处理用户请求,实现通过第二目标进程完成对用户请求的处理。
75.进一步地,所述基于重打开操作获得目标内部句柄,并基于所述目标内部句柄处理所述至少一个用户请求,包括:
76.所述第二目标进程向后端服务器发送携带有与用户句柄具有关联关系的内部句柄的重打开指令,接收所述后端服务器响应于所述重打开指令返回的目标内部句柄,并基于所述目标内部句柄处理所述至少一个用户请求。
77.具体实施时,第二目标进程在本地无法确定与用户句柄具有关联关系的内部句柄相一致的内部句柄之后,便向后端服务器发送重打开指令,后端服务器在接收到重打开指令之后,基于该重打开指令确定目标内部句柄,并将该目标内部句柄返回至第二目标进程,
在第二目标进程接收到该目标内部句柄之后,可基于该目标内部句柄访问后端服务器,进而处理用户请求。
78.本说明书实施例提供的进程更新方法,通过向后端服务器发送重打开指令,进而获得新的目标内部句柄,便于后续基于目标内部句柄处理用户请求。
79.后端服务器在返回给第二目标进程新的目标内部句柄之后,还需要将旧的内部句柄对应的资源进行删除,销毁其权限,使得根据旧的内部句柄也无法访问后端服务器;具体的,所述基于所述目标内部句柄处理所述至少一个用户请求之后,还包括:
80.所述第二目标进程接收后端服务器返回的句柄更新完成消息。
81.实际应用中,后端服务器将旧的内部句柄对应的资源进行删除,并销毁其权限,实现基于旧的内部句柄无法访问后端服务器过程,在后端服务器对句柄进行更新之后,即可向第二目标进程返回句柄更新完成的消息;此外,后端服务器还可将新的内部句柄返回至第二目标进程,并存储在本地,便于后续第二目标进程在本地确定与用户句柄具有关联关系的内部句柄。
82.本说明书实施例提供的进程更新方法,在后端服务器对内部句柄进程更新之后,返回至第二目标进程一个句柄更新完成消息,便于后续第二目标进程将该目标内部句柄返回至初始进程,以更新用户句柄与目标内部句柄之间的一一对应关系。
83.为了便于后续第二目标进程能够在本地确定出与用户句柄对应的内部句柄,还需要在初始进程中对用户句柄以及新的目标内部句柄之间的关联关系进行缓存,以保证第二目标进程可以准确地确定对应的内部句柄,进而访问后端服务器获取处理资源;具体的,所述基于所述目标内部句柄处理所述至少一个用户请求之后,还包括:
84.所述初始进程从所述第二目标进程获取所述目标内部句柄,并缓存所述至少一个用户请求中携带的用户句柄与所述目标内部句柄的关联关系。
85.实际应用中,第二目标进程基于目标内部句柄处理用户请求之后,初始进程可以从第二目标进程中获取目标内部句柄,并确定该目标内部句柄与用户请求中携带的用户句柄之间的关联关系,并将该确定好的关联关系进行缓存,实现对关联关系列表的更新,便于后续基于更新后的关联关系可以找到与用户句柄具有对应关系的内部句柄。
86.本说明书实施例提供的进程更新方法,初始进程通过对目标内部句柄与用户句柄的关联关系进行缓存,以实现对句柄一一对应关系的更新,保证基于该对应关系确定的内部句柄,可以及时地访问到后端服务器,获取对应的使用资源。
87.综上,本说明书实施例提供的进程更新方法,将客户端进程分成两类,对于逻辑简单的客户端进程可以不进行升级,只对主要复杂的逻辑的客户端进行升级;在确定第一目标进程满足更新条件的情况下,启动一个新的重客户端进程,以替代第一目标进程访问后端服务器,实现对重客户端的升级更新;此外,在等待第二目标进程初始化的过程中,第一目标进程还依旧能够接收到用户请求,并不影响用户进程的运行,采用这种双进程的方式,就能够避免等待客户端初始化的时间影响了用户进程;进一步地,在第一目标进程上还未完成的用户请求,在无法确定用户句柄对应的内部句柄时,只需多进行一步重打开操作获取新的内部句柄,便可完成对用户请求的处理,使得处理开销的成本较低。
88.下述结合附图3,以本说明书提供的进程更新方法在分布式文件系统的应用为例,对所述进程更新方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种进
程更新方法的处理过程流程图,具体包括以下步骤。
89.需要说明的是,图3为本实施例提供的一个进程更新方法的处理过程,步骤302为将客户端进程分成轻客户端和旧版本重客户端的用户请求处理过程;步骤304为在确定旧版本重客户端满足更新条件时,需要进行修复或者更新的处理过程;步骤306为启动的新版本重客户端替代旧版本重客户端处理用户请求的过程。
90.步骤302:轻客户端在接收到用户请求之后,将该用户请求转发至旧版本重客户端,由旧版本重客户端访问后端服务集群,完成对用户请求的处理。
91.步骤304:在旧版本重客户端确定满足更新条件时,可启动新版本重客户端,并等待该新版本重客户端完成所有的初始化过程。
92.需要说明的是,在等待新版本的重客户端完成初始化的时间,初始进程还是会将接收到的用户请求转发至旧版本重客户端,保证用户进程无影响。
93.步骤306:在新版本重客户端完成初始化之后,初始进程将接收到的用户请求转发至新版本重客户端,同时,并强制旧版本重客户端停止接收用户请求,由新版本重客户端接收用户请求,并接收该用户请求中携带的用户句柄对应的内部句柄,基于该内部句柄访问后端服务集群,获取处理用户请求的资源,实现对用户请求的处理过程。
94.需要说明的是,本实施例提供的进程更新方法,保证仅升级重客户端,使得轻客户端尽可能不进程升级,而在重客户端升级时采用双进程的方式,避免等待客户端初始化的时间,在旧客户端上未完成的用户请求,还可在后续通过重打开操作,获取新的内部句柄,完成对用户请求的处理,使得升级的成本开销较低。
95.本说明书实施例提供的进程更新方法,通过旧版本重客户端满足更新条件时,启动新版本的重客户端进程避免影响用户进程的使用,进而降低了进程升级的成本,基于此种热升级方式,无需用户进程进行为了升级而进行重启,客户端程序可自动完成热升级,且对服务延迟的影响很小,用户几乎无感知。
96.与上述方法实施例相对应,本说明书还提供了对象处理装置实施例,图4示出了本说明书一个实施例提供的一种进程更新装置的结构示意图。如图4所示,该装置应用于客户端,所述客户端包括:初始进程402,第一目标进程404,基于所述第一目标进程更新的第二目标进程406;
97.所述第一目标进程404,被配置为接收所述初始进程转发的至少一个用户请求,在确定满足更新条件的情况下,启动所述第二目标进程;
98.所述第二目标进程406,被配置为在初始化完成的情况下,接收所述初始进程发送的所述至少一个用户请求,并对所述至少一个用户请求进行处理。
99.可选地,所述第二目标进程406,进一步被配置为接收所述初始进程基于所述至少一个用户请求中携带的用户句柄,确定与所述用户句柄具有关联关系的内部句柄,并基于所述内部句柄处理所述至少一个用户请求。
100.可选地,所述第二目标进程406,进一步被配置为基于所述与用户句柄具有关联关系的内部句柄,在本地中未能确定与所述内部句柄相同的句柄的情况下,基于重打开操作获得目标内部句柄,并基于所述目标内部句柄处理所述至少一个用户请求。
101.可选地,所述第二目标进程406,进一步被配置为向后端服务器发送携带有与用户句柄具有关联关系的内部句柄的重打开指令,接收所述后端服务器响应于所述重打开指令
返回的目标内部句柄,并基于所述目标内部句柄处理所述至少一个用户请求。
102.可选地,所述第二目标进程406,进一步被配置为接收后端服务器返回的句柄更新完成消息。
103.可选地,所述初始进程402,被配置为从所述第二目标进程获取所述目标内部句柄,并缓存所述至少一个用户请求中携带的用户句柄与所述目标内部句柄的关联关系。
104.可选地,所述初始进程402,进一步被配置为基于本地连接协议将接收到的至少一个用户请求转发至所述第一目标进程;或
105.可选地,所述初始进程402,进一步被配置为基于本地连接协议将接收到的至少一个用户请求转发至所述第一目标进程;或
106.基于共享内存机制将接收到的至少一个用户请求转发至所述第一目标进程。
107.可选地,所述初始进程402,进一步被配置为接收至少一个用户请求,基于用户调用顺序缓存所述至少一个用户请求。
108.可选地,所述第二目标进程406,进一步被配置为向所述初始进程发送待接收指令;
109.可选地,所述初始进程402,进一步被配置为响应于所述待接收指令,基于所述用户调用顺序将所述至少一个用户请求发送至所述第二目标进程。
110.可选地,所述第一目标进程404,进一步被配置为停止接收所述初始进程发送的所述至少一个用户请求。
111.本说明书提供的进程更新装置,在第一目标进程在接收到用户请求之后,确定满足更新条件时,将启动第二目标进程,将用户请求转发至第二目标进程进行处理,在第二目标进程完成初始化之后,在第二目标进程中基于确定好的内部句柄,完成对用户请求的处理,实现了对进程热升级处理,进而能够实现无需用户进程升级和重启,即无需用户操作或感知,由客户端进程自动完成升级,不仅降低了进程升级成本,对用户进程中服务延迟影响较小,也不会影响用户使用。
112.上述为本实施例的一种进程更新装置的示意性方案。需要说明的是,该进程更新装置的技术方案与上述的进程更新方法的技术方案属于同一构思,进程更新装置的技术方案未详细描述的细节内容,均可以参见上述进程更新方法的技术方案的描述。
113.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
114.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
115.在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其
他部件。
116.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
117.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述进程更新方法的步骤。
118.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的对象处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述进程更新方法的技术方案的描述。
119.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述进程更新方法的步骤。
120.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的进程更新方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述进程更新方法的技术方案的描述。
121.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述进程更新方法的步骤。
122.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的进程更新方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述进程更新方法的技术方案的描述。
123.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
124.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
125.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
126.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部
分,可以参见其它实施例的相关描述。
127.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1