分布式服务的动态更新方法、装置、设备、介质及产品与流程

未命名 08-14 阅读:101 评论: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.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
37.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
38.图1示出根据本公开实施例的分布式服务的动态更新方法的系统架构图。
39.图2示出根据本公开实施例的分布式服务的动态更新方法的流程图。
40.图3示出根据本公开实施例的分析服务的依赖关系确定服务参与的事务的流程
图。
41.图4示出根据本公开实施例的进行服务的动态更新的流程图。
42.图5示出根据本公开实施例的分布式服务的动态更新装置的结构框图。
43.图6示出根据本公开实施例的确定模块的结构框图。
44.图7示出根据本公开实施例的电子设备的示意性结构框图。
45.图8示出适于用来实现根据本公开实施例的分布式服务的动态更新方法的计算机系统的结构示意图。
具体实施方式
46.下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
47.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
48.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
49.在本公开中,对用户信息或用户数据的获取均为经用户授权、确认,或由用户主动选择的操作。
50.目前在大规模分布式服务系统中,系统的可靠性、可用性、可信性以及可维护性逐步成为计算机系统必须考虑的重要因素,尤其在一些关键服务应用领域如:金融数据处理系统、医疗服务系统,远程通信系统、电信在线计费系统等。在类似这样的分布式系统环境中往往需要实时的决策支持或者是事件驱动处理,系统一旦开始运行,就必须时刻保持操作,系统的中断就意味着付出高昂的代价甚至危及用户生命。然而此类系统在软件的生命周期中,必须保持不断的进化,以修正软件故障、扩展服务功能、提高系统性能。因此需要相应的机制能够支持系统在持续运行的同时能够演变和扩展功能同时又不影响现存的服务,即实现分布式服务的动态更新的支持机制。
51.考虑到上述问题,本公开实施例的分布式服务的动态更新方法,通过接收组网系统中设备发送的服务更新请求并启动倒计时,确定所述服务在所述倒计时内的状态,将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。上述技术方案通过引入倒计时机制,将服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,提供了一个合适的时机触发服务的动态更新,确保了动态配置安全性,保证了更新前后系统状态是合法的,一致的。
52.图1示出根据本公开实施例的分布式服务的动态更新方法的系统架构图。如图1所示,所述系统架构包括服务器101、若干个待更新设备102以及网络103。服务器101可以是一台服务器,或者包含若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心,也可以是包含服务器以及数据库组成的设备组。待更新设备102也可以是服务器,或者包含若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心,待更新设备102上部署有分布式服务,也称微服务,每个服务可以提供一个或多个功能,服务之间通过指定的通讯协议交互信息,所有的服务集合起来为业务提供正常运行的基本要素。网络103用于在服
务器101与若干个待更新设备102之间提供通信链路的介质,网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
53.应该理解,图1中的服务器、待更新设备的数目仅仅是示意性的。根据需要,可以具有任意数目的服务器、待更新设备,本公开对此不做限制。
54.图2示出根据本公开实施例的分布式服务的动态更新方法的流程图。如图2所示,所述分布式服务的动态更新方法,包括步骤s201-s203:
55.在步骤s201中,接收组网系统中设备发送的服务更新请求并启动倒计时;
56.在步骤s202中,确定所述服务在所述倒计时内的状态;
57.在步骤s203中,将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。
58.本公开提供的分布式服务的动态更新方法,应用于图1所示的服务器101,下文结合图1进行示意性说明。
59.根据本公开的实施例,分布式服务(下文也简称为服务)需要部署在不同设备上,所有被部署服务的机器集合,共同组成业务运行环境。部署分布式服务的机器例如图1所示的待更新设备102以及例如图1所示的服务器101组成本公开的组网系统。
60.根据本公开的实施例,组网系统中服务器101接收到待更新设备102(也称为设备)发送的服务更新请求后,通过启动倒计时并识别服务的状态,仅在倒计时内识别出服务处于静止状态时,进行服务的动态更新,这样能够确保待更新设备102最长在倒计时的时长后得到是否更新的反馈,避免长时间的等待,而且服务处于静止状态被认为是动态配置的安全状态,即此状态更新服务对于系统时安全的,从而保证更新前后的系统状态是合法的,一致的。
61.根据本公开的实施例,服务通常不是孤立的,一个服务可能是需要依赖其它服务的实现,同样这个服务又可能是被其它服务依赖的。目前面向服务的分布式系统一方面在服务端在登记注册单个服务信息时提供该服务的功能行为描述,另一方面同时提供该服务的依赖服务描述,从而可以根据描述查找匹配依赖服务,可能是匹配依赖本地的服务,也可以是通过建立在本地的对远程服务访问的服务代理实现透明地访问远程服务。
62.根据本公开的实施例,服务的运行是基于事务控制的,待更新设备102上配置有负责事务运行控制的事务处理监视器,监视器在某个事务的第一次服务请求到来时生成一个事务id,并以事务为单位记录管理各个服务的运行。
63.根据本公开的实施例,步骤s202中所述确定所述服务在所述倒计时内的状态,包括:
64.分析所述服务的依赖关系,确定所述服务参与的事务;
65.根据所述事务的执行状态确定所述服务在所述倒计时内的状态。
66.在本公开方式中,通过分析服务的依赖关系,分析出服务及与其有依赖关系的服务,再确定服务参与的事务,从而基于事务的执行状态确定服务在所述倒计时内的状态,进而识别服务是否处于静止状态。
67.图3示出根据本公开实施例的分析服务的依赖关系确定服务参与的事务的流程图。如图3所示,所述分析所述服务的依赖关系确定所述服务参与的事务,包括步骤s301-s303:
68.在步骤s301中,根据服务实例依赖关系树确定所述服务参与的第一事务;
69.在步骤s302中,根据根服务依赖关系树确定所述服务参与的第二事务;
70.在步骤s303中,将所述第一事务、第二事务作为所述服务参与的事务。
71.在本公开方式中,服务参与的事务可以分为两类,一类是服务自行启动的事务,另一类是服务作为根服务而被启动的相关事务。因此,识别服务处于静止状态就要确定以上两类事务,即第一事务、第二事务。其中,第一事务即服务自行启动的事务,可以通过服务实例依赖关系树确定。第二事务即作为根服务而被启动的相关事务,可以通过根服务依赖关系树确定。服务实例依赖关系树、根服务依赖关系树的构建可以参照现有技术,不作为本技术的重点,在此不予赘述。得到第一事务、第二事务后,将二者共同作为服务参与的事务。
72.根据本公开的实施例,步骤s203中服务在所述倒计时内处于静止状态,包括:
73.若所述服务没有参与的所述第一事务、第二事务,则确定所述服务在所述倒计时内处于静止状态;
74.若所述服务仅参与第一事务、且所述第一事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;
75.若所述服务仅参与第二事务、且所述第二事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;
76.若所述服务参与的第一事务、第二事务的执行结束时刻均在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态。
77.图4示出根据本公开实施例的进行服务的动态更新的流程图。如图4所示,步骤s203中进行所述服务的动态更新,包括步骤s401-s402:
78.在步骤s401中,若所述服务仅参与第一事务,则直接更新为所述服务的最新版本;
79.在步骤s402中,若所述服务仅参与第二事务,则在保留所述服务的现存版本的基础上,更新至所述服务的最新版本。
80.在本公开方式中,如果服务仅参与第一事务时无需考虑新旧版本的共存问题,直接更新服务至最新版本;如果服务仅参与第二事务,则考虑到第二事务的执行时间较长,采取的是新旧版本共存策略,即在保留所述服务的现存版本的基础上,更新至所述服务的最新版本,以保证新旧版本运行时状态的一致性。
81.本公开实施例还提供另一种步骤s203中进行所述服务的动态更新的方式,包括:
82.为在所述倒计时内处于静止状态的所述服务配置更新标志;
83.根据所述更新标志进行所述服务的动态更新。
84.在本公开方式中,可以为倒计时内处于静止状态的所述服务配置更新标志,对于需要更新的至少一个待更新设备102来说,配置相同更新标志的服务可以一并进行更新,从而提高了效率。
85.图5示出根据本公开实施例的分布式服务的动态更新装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
86.如图5所示,所述分布式服务的动态更新装置500包括:启动模块510、确定模块520和动态更新模块530。
87.所述启动模块510被配置为接收组网系统中设备发送的服务更新请求并启动倒计时;
88.所述确定模块520被配置为确定所述服务在所述倒计时内的状态;
89.所述动态更新模块530被配置为将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。
90.本公开实施例的分布式服务的动态更新装置,通过引入倒计时机制,将服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,提供了一个合适的时机触发服务的动态更新,确保了动态配置安全性,保证了更新前后系统状态是合法的,一致的。
91.根据本公开的实施例,分布式服务(下文也简称为服务)需要部署在不同设备上,所有被部署服务的机器集合,共同组成业务运行环境。部署分布式服务的机器例如图1所示的待更新设备102以及例如图1所示的服务器101组成本公开的组网系统。
92.根据本公开的实施例,组网系统中服务器101接收到待更新设备102(也称为设备)发送的服务更新请求后,通过启动倒计时来识别服务的状态,仅在倒计时内识别出服务处于静止状态时,进行服务的动态更新,这样能够确保待更新设备102最长在倒计时的时长后得到是否更新的反馈,避免长时间的等待,而且服务处于静止状态被认为是动态配置的安全状态,即此状态更新服务对于系统时安全的,从而保证更新前后的系统状态是合法的,一致的。
93.根据本公开的实施例,服务通常不是孤立的,一个服务可能是需要依赖其它服务的实现,同样这个服务又可能是被其它服务依赖的。目前面向服务的分布式系统一方面在服务端在登记注册单个服务信息时提供该服务的功能行为描述,另一方面同时提供该服务的依赖服务描述,从而可以根据描述查找匹配依赖服务,可能是匹配依赖本地的服务,也可以是通过建立在本地的对远程服务访问的服务代理实现透明地访问远程服务。
94.根据本公开的实施例,服务的运行是基于事务控制的,待更新设备102上配置有负责事务运行控制的事务处理监视器,监视器在某个事务的第一次服务请求到来时生成一个事务id,并以事务为单位记录管理各个服务的运行。
95.根据本公开的实施例,所述确定模块中确定所述服务在所述倒计时内的状态的部分,被配置为:
96.分析所述服务的依赖关系,确定所述服务参与的事务;
97.根据所述事务的执行状态确定所述服务在所述倒计时内的状态。
98.在本公开方式中,通过分析服务的依赖关系,分析出服务及与其有依赖关系的服务,再确定服务参与的事务,从而基于事务的执行状态确定服务在所述倒计时内的状态,进而识别服务是否处于静止状态。
99.图6示出根据本公开实施例的确定模块的结构框图。如图6所示,所述确定模块520包括:
100.第一确定子模块521,被配置为根据服务实例依赖关系树确定所述服务参与的第一事务;
101.第二确定子模块522,被配置为根据根服务依赖关系树确定所述服务参与的第二事务;
102.事务模块523,被配置为将所述第一事务、第二事务作为所述服务参与的事务。
103.在本公开方式中,服务参与的事务可以分为两类,一类是服务自行启动的事务,另一类是服务作为根服务而被启动的相关事务。因此,识别服务处于静止状态就要确定以上
两类事务,即第一事务、第二事务。其中,第一事务即服务自行启动的事务,可以通过服务实例依赖关系树确定。第二事务即作为根服务而被启动的相关事务,可以通过根服务依赖关系树确定。服务实例依赖关系树、根服务依赖关系树的构建可以参照现有技术,不作为本技术的重点,在此不予赘述。得到第一事务、第二事务后,将二者共同作为服务参与的事务。
104.根据本公开的实施例,所述服务在所述倒计时内处于静止状态,包括:
105.若所述服务没有参与的所述第一事务、第二事务,则确定所述服务在所述倒计时内处于静止状态;
106.若所述服务仅参与第一事务、且所述第一事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;
107.若所述服务仅参与第二事务、且所述第二事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;
108.若所述服务参与的第一事务、第二事务的执行结束时刻均在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态。
109.根据本公开的实施例,所述动态更新模块中进行所述服务的动态更新的部分,被配置为:
110.若所述服务仅参与第一事务,则直接更新为所述服务的最新版本;
111.若所述服务仅参与第二事务,则在保留所述服务的现存版本的基础上,更新至所述服务的最新版本。
112.在本公开方式中,如果服务仅参与第一事务时无需考虑新旧版本的共存问题,直接更新服务至最新版本;如果服务仅参与第二事务,则考虑到第二事务的执行时间较长,采取的是新旧版本共存策略,即在保留所述服务的现存版本的基础上,更新至所述服务的最新版本,以保证新旧版本运行时状态的一致性。
113.根据本公开的实施例,所述动态更新模块中进行所述服务的动态更新的部分,被配置为:
114.为在所述倒计时内处于静止状态的所述服务配置更新标志;
115.根据所述更新标志进行所述服务的动态更新。
116.在本公开方式中,可以为倒计时内处于静止状态的所述服务配置更新标志,对于需要更新的至少一个待更新设备102来说,配置相同更新标志的服务可以一并进行更新,从而提高了效率。
117.本公开还公开了一种电子设备,图7示出根据本公开实施例的电子设备的示意性结构框图,如图7所示,所述电子设备700包括存储器701和处理器702;其中,
118.所述存储器701用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器702执行以实现本公开实施方式中的任一方法。
119.接收组网系统中设备发送的服务更新请求并启动倒计时;
120.确定所述服务在所述倒计时内的状态;
121.将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。
122.本公开实施例的分布式服务的动态更新方法,通过接收组网系统中设备发送的服务更新请求并启动倒计时,确定所述服务在所述倒计时内的状态,将所述服务在所述倒计
时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。上述技术方案通过引入倒计时机制,将服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,提供了一个合适的时机触发服务的动态更新,确保了动态配置安全性,保证了更新前后系统状态是合法的,一致的。
123.根据本公开的实施例,所述确定所述服务在所述倒计时内的状态,包括:
124.分析所述服务的依赖关系确定所述服务参与的事务;
125.根据所述事务的执行状态确定所述服务在所述倒计时内的状态。
126.根据本公开的实施例,所述分析所述服务的依赖关系确定所述服务参与的事务,包括:
127.根据服务实例依赖关系树确定所述服务参与的第一事务;
128.根据根服务依赖关系树确定所述服务参与的第二事务;
129.将所述第一事务、第二事务作为所述服务参与的事务。
130.根据本公开的实施例,所述服务在所述倒计时内处于静止状态,包括:
131.若所述服务没有参与的所述第一事务、第二事务,则确定所述服务在所述倒计时内处于静止状态;
132.若所述服务仅参与第一事务、且所述第一事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;
133.若所述服务仅参与第二事务、且所述第二事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;
134.若所述服务参与的第一事务、第二事务的执行结束时刻均在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态。
135.根据本公开的实施例,所述进行所述服务的动态更新,包括:
136.若所述服务仅参与第一事务,则直接更新为所述服务的最新版本;
137.若所述服务仅参与第二事务,则在保留所述服务的现存版本的基础上,更新至所述服务的最新版本。
138.根据本公开的实施例,所述进行所述服务的动态更新,包括:
139.为在所述倒计时内处于静止状态的所述服务配置更新标志;
140.根据所述更新标志进行所述服务的动态更新。
141.图8示出适于用来实现根据本公开实施例的分布式服务的动态更新方法的计算机系统的结构示意图。
142.如图8所示,计算机系统800包括处理单元801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行上述实施例中的各种处理。在ram803中,还存储有系统800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
143.以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如
磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。其中,所述处理单元801可实现为cpu、gpu、tpu、fpga、npu等处理单元。
144.特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括计算机指令,该计算机指令被处理器执行时实现上文所述的方法步骤。在这样的实施例中,该计算机程序产品可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
145.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
146.描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
147.作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
148.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:
1.一种分布式服务的动态更新方法,包括:接收组网系统中设备发送的服务更新请求并启动倒计时;确定所述服务在所述倒计时内的状态;将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。2.根据权利要求1所述的方法,所述确定所述服务在所述倒计时内的状态,包括:分析所述服务的依赖关系确定所述服务参与的事务;根据所述事务的执行状态确定所述服务在所述倒计时内的状态。3.根据权利要求2所述的方法,所述分析所述服务的依赖关系确定所述服务参与的事务,包括:根据服务实例依赖关系树确定所述服务参与的第一事务;根据根服务依赖关系树确定所述服务参与的第二事务;将所述第一事务、第二事务作为所述服务参与的事务。4.根据权利要求3所述的方法,所述服务在所述倒计时内处于静止状态,包括:若所述服务没有参与的所述第一事务、第二事务,则确定所述服务在所述倒计时内处于静止状态;若所述服务仅参与第一事务、且所述第一事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;若所述服务仅参与第二事务、且所述第二事务的执行结束时刻在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态;若所述服务参与的第一事务、第二事务的执行结束时刻均在所述倒计时内,则确定所述服务在所述倒计时内处于静止状态。5.根据权利要求3或4所述的方法,所述进行所述服务的动态更新,包括:若所述服务仅参与第一事务,则直接更新为所述服务的最新版本;若所述服务仅参与第二事务,则在保留所述服务的现存版本的基础上,更新至所述服务的最新版本。6.根据权利要求1所述的方法,所述进行所述服务的动态更新,包括:为在所述倒计时内处于静止状态的所述服务配置更新标志;根据所述更新标志进行所述服务的动态更新。7.一种分布式服务的动态更新装置,包括:启动模块,被配置为接收组网系统中设备发送的服务更新请求并启动倒计时;确定模块,被配置为确定所述服务在所述倒计时内的状态;动态更新模块,被配置为将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。8.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-6任一项所述的方法步骤。9.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-6任一项所述的方法步骤。
10.一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现权利要求1-6任一项所述的方法步骤。

技术总结
本公开实施例公开了一种分布式服务的动态更新方法、装置、设备、介质及产品,所述方法包括:接收组网系统中设备发送的服务更新请求并启动倒计时;确定所述服务在所述倒计时内的状态;将所述服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,进行所述服务的动态更新。上述技术方案通过引入倒计时机制,将服务在所述倒计时内处于静止状态的时间点作为更新起始时刻,提供了一个合适的时机触发服务的动态更新,确保了动态配置安全性,保证了更新前后系统状态是合法的,一致的。一致的。一致的。


技术研发人员:付冬悦 尚攀华 李晓明
受保护的技术使用者:北京神州新桥科技有限公司
技术研发日:2023.05.31
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐