配置信息发布方法、装置、电子设备及存储介质与流程
未命名
08-22
阅读:98
评论:0
1.本公开涉及通信领域,尤其涉及一种配置信息发布方法、装置、电子设备及存储介质。
背景技术:
2.相关技术中,分布式环境下配置信息的发布主要依赖于独立的配置中心服务实现。具体的,可以设置一个独立的配置中心服务,客户端节点的每个服务在启动时可以从独立的配置中心服务中拉取该服务对应的配置信息。但是,独立的配置中心服务的设置和使用,会导致配置信息发布系统的运维难度较大。
技术实现要素:
3.本公开提供一种配置信息发布方法、装置、电子设备及存储介质,以至少解决相关技术中配置信息发布系统的运维难度较大的问题。本公开的技术方案如下:
4.根据本公开实施例的第一方面,提供一种配置信息发布方法,包括:
5.在接收到配置信息发布指令的情况下,基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点;
6.通过分布式调度框架将所述客户端节点对应的待同步配置信息同步至所述客户端节点。
7.在一种可能的实施方式中,所述基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点,包括:
8.基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及获取每个所述客户端节点各自的服务。
9.在一种可能的实施方式中,所述将所述客户端节点对应的待同步配置信息同步至所述客户端节点,包括:
10.将第i个所述客户端节点的每个服务对应的待同步配置信息同步至第i个所述客户端节点;其中,i∈[1,m],m为所述客户端节点的数量,且m∈n
*
,i∈n
*
。
[0011]
在一种可能的实施方式中,所述将所述客户端节点对应的待同步配置信息同步至所述客户端节点之后,还包括:
[0012]
基于所述分布式调度框架确定所述客户端节点的服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息是否不同;
[0013]
在所述客户端节点的所述服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息不同的情况下,将所述客户端节点的所述服务对应的待同步配置信息同步至所述客户端节点。
[0014]
在一种可能的实施方式中,所述基于所述分布式调度框架确定所述客户端节点的服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息是否不同,包括:
[0015]
通过第j个所述客户端节点对应的任务节点,获取第j个所述客户端节点的每个服务对应的本地配置信息;其中,j∈[1,m],m为所述客户端节点的数量,且m∈n
*
,j∈n
*
;
[0016]
通过第j个所述客户端节点对应的任务节点,确定第j个所述客户端节点的每个服务对应的本地配置信息与所述第j个所述客户端节点的每个服务对应的待同步配置信息是否不同。
[0017]
根据本公开实施例的第二方面,提供一种配置信息发布装置,包括:
[0018]
获取模块,用于在接收到配置信息发布指令的情况下,基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点;
[0019]
第一同步模块,用于通过分布式调度框架将所述客户端节点对应的待同步配置信息同步至所述客户端节点。
[0020]
在一种可能的实施方式中,所述获取模块,包括:
[0021]
第一获取单元,用于基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及获取每个所述客户端节点各自的服务。
[0022]
在一种可能的实施方式中,所述第一同步模块,包括:
[0023]
同步单元,用于将第i个所述客户端节点的每个服务对应的待同步配置信息同步至第i个所述客户端节点;其中,i∈[1,m],m为所述客户端节点的数量,且m∈n*,i∈n*。
[0024]
在一种可能的实施方式中,所述配置信息发布装置,还包括:
[0025]
确定模块,用于基于所述分布式调度框架确定所述客户端节点的服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息是否不同;
[0026]
第二同步模块,用于在所述客户端节点的所述服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息不同的情况下,将所述客户端节点的所述服务对应的待同步配置信息同步至所述客户端节点。
[0027]
在一种可能的实施方式中,所述确定模块,包括:
[0028]
第二获取单元,用于通过第j个所述客户端节点对应的任务节点,获取第j个所述客户端节点的每个服务对应的本地配置信息;其中,j∈[1,m],m为所述客户端节点的数量,且m∈n*,j∈n*;
[0029]
确定单元,用于通过第j个所述客户端节点对应的任务节点,确定第j个所述客户端节点的每个服务对应的本地配置信息与所述第j个所述客户端节点的每个服务对应的待同步配置信息是否不同。
[0030]
根据本公开实施例的第三方面,提供一种电子设备,包括:
[0031]
处理器;
[0032]
用于存储所述处理器可执行指令的存储器;
[0033]
其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的配置信息发布方法。
[0034]
根据本公开实施例的第四方面,提供一种非临时性的计算机可读存储介质,当所述非临时性的计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一项所述的配置信息发布方法。
[0035]
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的配置信息发布方法。
[0036]
本公开的实施例提供的技术方案至少带来以下有益效果:
[0037]
在本公开的实施例中,在接收到配置信息发布指令的情况下,基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点,然后通过分布式调度框架将客户端节点对应的待同步配置信息同步至客户端节点。这样,一方面,可以基于rpc的注册发现机制和分布式调度框架实现配置信息的同步,也即可以基于轻量化的组件实现配置信息的同步,而无需单独设置独立的配置中心服务,从而可以有效降低配置发布功能使用的复杂度,降低系统运维难度。另一方面,由客户端节点启动线程主动进行配置信息的获取,转由安装有配置组件的服务器主动进行配置信息的同步,还可以避免由于客户端线程故障导致的配置信息同步失败的情况,从而能够提高配置信息发布系统的稳定性和可用性。
[0038]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0039]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0040]
图1是根据现有技术示出的一种配置信息发布方法的流程图。
[0041]
图2是根据一示例性实施例示出的一种配置信息发布方法的流程图。
[0042]
图3是根据一示例性实施例示出的一种配置信息发布流程的示意图。
[0043]
图4是根据一示例性实施例示出的一种配置信息修正流程的示意图。
[0044]
图5是根据一示例性实施例示出的一种配置信息发布装置的框图。
[0045]
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0046]
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0047]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0048]
由背景技术可知,相关技术中,配置信息的发布依赖于独立的配置中心服务,而独立的配置中心服务通常较重,会导致配置信息发布系统的运维难度较大。图1是根据现有技术示出的一种配置信息发布方法的流程图。如图1所示,客户端节点在服务启动初始化后,需要向配置中心注册要监听的配置信息。然后,可以在配置中心获取服务对应的配置信息,并将配置信息存储到本地磁盘。之后,在运行过程中,客户端节点可以周期性启动检查线程,检查客户端节点的本地配置信息与客户端节点的线上配置信息是否存在差别。需要说明的是,客户端节点的本地配置信息可以是客户端节点存储在本地磁盘的与自身服务对应
的配置信息,客户端节点的线上配置信息可以是配置中心中与客户端节点服务对应的配置信息。在客户端节点的本地配置信息与客户端节点的线上配置信息存在差别的情况下,可以向配置中心获取与客户端节点服务对应的发生变化的配置信息,并将发生变化的配置信息更新到本地,例如更新到本地的内存和磁盘;在客户端节点的本地配置信息与客户端节点的线上配置信息不存在差别的情况下,客户端节点可以等待检查线程的下个执行周期。由此可以看出,客户端节点配置信息的获取和更新都需要依赖于独立的配置中心服务。然而独立的配置中心服务通常较重,会导致配置信息发布系统的运维难度较大。
[0049]
下面结合附图对本公开实施例提供的配置信息发布方法、装置、电子设备及存储介质进行详细说明。
[0050]
图2是根据一示例性实施例示出的一种配置信息发布方法的流程图,该配置信息发布方法可以应用于服务器,例如,可以为单台服务器或服务器集群等。该服务器可以安装有配置组件,服务器可以通过配置组件执行本公开实施例的技术方案,该配置组件可以集成在某个服务器的应用中,配置组件可以基于rpc(remote procedure call,远程过程调用)框架与分布式调度框架实现,其中,分布式调度框架可以采用lts(light task scheduler,轻量级分布式任务调度)框架。如图2所示,配置信息发布方法可以包括以下步骤:
[0051]
在步骤s210中,在接收到配置信息发布指令的情况下,基于rpc的注册发现机制获取需要进行配置信息同步的客户端节点。
[0052]
在本公开实施例中,服务器可以接收配置信息发布指令,在接收到配置信息发布指令的情况下,可以进行配置信息的组装。在完成配置信息的组装后,服务器可以基于rpc的注册发现机制获取需要进行配置信息同步的客户端节点。rpc是一种进程间通信方式,允许像调用本地服务一样调用远程服务,通信协议大多采用二进制方式,主流的框架有dubbo、spring cloud等。示例性的,图3是根据一示例性实施例示出的一种配置信息发布流程的示意图。如图3所示,运营人员可以在服务器上的操作界面输入配置信息发布指令,使得服务器可以接收到配置信息发布指令,以实现配置信息的实时、同步发布,前述操作包括但不限于发送配置信息发布指令。服务器可以安装有配置组件。在接收到配置信息发布指令之后,服务器可以运行配置组件,进行组装配置信息。在完成配置信息的组装之后,服务器可以获取客户端节点,其中,前述客户端节点包括全部需要进行配置信息同步的客户端节点。具体地,考虑到客户端节点的每个服务启动时,都会向rpc注册,故而可以通过rpc注册中心,基于rpc框架的注册发现机制获取需要进行配置信息同步的全部客户端节点。
[0053]
在步骤s220中,通过分布式调度框架将客户端节点对应的待同步配置信息同步至客户端节点。
[0054]
在本公开实施例中,服务器在基于rpc的注册发现机制获取到需要进行配置信息同步的客户端节点之后,可以确定与客户端节点对应的需要进行同步的配置信息,即待同步配置信息,进而可以通过分布式调度框架将客户端节点对应的待同步配置信息同步至客户端节点。示例性的,仍如图3所示,服务器在获取客户端节点之后,可以遍历客户端节点,进而发布配置信息。例如,在客户端节点包括节点a、节点b、节点c和节点d的情况下,可以遍历节点a、节点b、节点c和节点d,并可以以广播的方式将配置信息同步下发到节点a、节点b、节点c和节点d。可以理解的,分布式调度框架,例如lts,是由一组通过网络进行通信、为了
完成共同的任务而协调工作的计算机节点组成的系统框架。
[0055]
在本公开实施例中,在接收到配置信息发布指令的情况下,基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点,然后,通过分布式调度框架将客户端节点对应的待同步配置信息同步至客户端节点。这样,一方面,可以基于rpc的注册发现机制和分布式调度框架实现配置信息的同步,也即可以基于轻量化的组件实现配置信息的同步,而无需单独设置独立的配置中心服务,从而可以有效降低配置发布功能使用的复杂度,降低系统运维难度。另一方面,由客户端节点启动线程主动进行配置信息的获取,转由安装有配置组件的服务器主动进行配置信息的同步,还可以避免由于客户端线程故障导致的配置信息同步失败的情况,从而能够提高配置信息发布系统的稳定性和可用性。
[0056]
在一种可能的实施方式中,基于rpc的注册发现机制获取需要进行配置信息同步的客户端节点,包括:
[0057]
基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及获取每个客户端节点各自的服务。
[0058]
在本公开实施例中,考虑到与配置信息相关的实际上是每个客户端节点各自的服务,且每个客户端节点的每个服务在首次启动时通常都会向rpc框架进行注册。因此,每个客户端节点各自的服务也可以通过rpc的注册发现机制进行获取。示例性的,在获取需要进行配置信息同步的客户端节点时,不仅可以基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,还可以基于rpc的注册发现机制获取每个客户端节点各自的服务。可以理解的,每个客户端节点的服务可以是一个也可以是多个,不同客户端节点的服务可以相同,可以部分相同,也可以不同。如此,可以获取到需要进行配置信息同步的客户端节点以及每个客户端节点各自的服务,从而可以为后续进行待同步信息的同步提供数据依据,以基于每个客户端节点各自的服务进行配置信息的发布,能够提高配置信息发布的准确性。
[0059]
在一种可能的实施方式中,将客户端节点对应的待同步配置信息同步至客户端节点,包括:
[0060]
将第i个客户端节点的每个服务对应的待同步配置信息同步至第i个客户端节点。
[0061]
其中,i∈[1,m],m为客户端节点的数量,且m∈n
*
,i∈n
*
。
[0062]
在本公开实施例中,服务器在基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及每个客户端节点各自的服务后,可以向每个客户端节点同步其各自的服务对应的配置信息。示例性的,可以确定第i个客户端节点的每个服务对应的待同步配置信息。在确定第i个客户端节点的每个服务对应的待同步配置信息之后,可以将第i个客户端节点的每个服务对应的待同步配置信息同步至第i个客户端节点。可以理解的,在客户端节点的数量为m的情况下,i可以从1取到m,使得所有客户端节点的所有服务对应的待同步配置信息都可以同步至对应的客户端节点。需要说明的是,所有客户端节点的所有服务对应的待同步配置信息可以通过广播方式发出,使得所有的客户端节点可以并行接收到待同步的配置信息;且在被客户端节点接收到后,客户端节点可以将待同步配置信息同步至客户端节点本地,例如,本地的内存或磁盘。如此,一方面,可以根据每个客户端的每个服务,直接将每个客户端的每个服务对应的待同步配置信息同步至每个客户端,从而能够提高配置信息的发布时效性和准确性。另一方面,通过广播方式下发待同步配置信息,能够
并行实现待同步配置信息的发布,从而可以进一步提高时效性。
[0063]
在一种可能的实施方式中,将客户端节点对应的待同步配置信息同步至客户端节点之后,还包括:
[0064]
基于分布式调度框架确定客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息是否不同;
[0065]
在客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息不同的情况下,将客户端节点的服务对应的待同步配置信息同步至客户端节点。
[0066]
在本公开实施例中,考虑到客户端节点的服务对应的本地配置信息可能会出现与客户端节点的服务对应的待同步配置信息不同的情况。例如,客户端节点存在某个或某些服务先启动后注册的情况,导致前述服务未在rpc框架中注册,服务器也未能基于rpc的注册发现机制获取该客户端节点对应的前述服务,即,出现漏同步的情况。故而,在将客户端节点对应的待同步配置信息同步至客户端节点之后,可以基于分布式调度框架确定客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息是否不同,也即确定服务器侧的待同步配置信息与客户端节点侧的配置信息是否存在差异。在客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息不同的情况下,可以将客户端节点的服务对应的待同步配置信息同步至客户端节点。反之,在客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息相同的情况下,可以等待下一轮客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息核对过程的执行。
[0067]
示例性的,图4是根据一示例性实施例示出的一种配置信息修正流程的示意图。如图4所示,运营人员可以通过操作服务器的操作界面设置启动配置检查任务(例如可以是周期性自动启动),也即向服务器发送配置检查指令。然后,服务器在接收到配置检查指令后,可以获取客户端节点本地的配置信息,以及服务器侧与客户端节点的服务对应的待同步配置信息。示例性的,可以通过rpc的注册发现机制获取需要进行配置信息同步的客户端节点,以及获取前述客户端节点本地的配置信息。具体地,可以通过遍历获取的方式获取前述客户端节点本地的配置信息。例如,客户端节点可以包括节点a、节点b、节点c,在客户端节点包括节点a、节点b和节点c的情况下,可以遍历节点a、节点b、节点c,继而获取与节点a、节点b和节点c对应的配置信息。在获取到客户端节点本地的配置信息以及服务器侧与客户端节点的服务对应的待同步配置信息之后,可以进行差异比对,即确定客户端节点的服务对应的本地配置信息与服务器侧的客户端节点的服务对应的待同步配置信息是否存在不同,例如可以是完全不同或者部分不同。在服务器侧的客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息存在不同的情况下,可以进行配置信息修正,即将服务器侧的客户端节点的服务对应的待同步配置信息下发至对应的客户端节点,也即前述与服务器侧的客户端节点的服务对应的待同步配置信息存在不同的客户端节点。可以理解的是,在配置信息修正过程中,服务器也可以将客户端节点的服务对应的待同步配置信息以广播的方式下发至存在不同的客户端节点。此外,还可以生成配置信息修正的事件通知,用于通知运营人员配置信息修正的执行信息。在客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息相同的情况下,可以判断是否进行下一轮的配置检查任务。在需要进行下一轮配置检查任务的情况下,重新执行获取客户端节点配
置信息以及后续流程。在不需要进行配置检查任务的情况下,可以结束配置检查任务。如此,可以基于分布式调度框架完成配置信息的周期性检查,相比相关技术中客户端节点启动本地线程定时进行配置信息检查和同步而言,可以有效提升配置信息的同步的稳定性和可用性。
[0068]
在一种可能的实施方式中,基于分布式调度框架确定客户端节点的服务对应的本地配置信息与客户端节点的所述服务对应的待同步配置信息是否不同,包括:
[0069]
通过第j个客户端节点对应的任务节点,获取第j个客户端节点的每个服务对应的本地配置信息;
[0070]
通过第j个客户端节点对应的任务节点,确定第j个客户端节点的每个服务对应的本地配置信息与第j个客户端节点的每个服务对应的待同步配置信息是否不同。
[0071]
其中,j∈[1,m],m为客户端节点的数量,且m∈n
*
,j∈n
*
。
[0072]
在本公开实施例中,考虑到每个客户端节点通常有多个服务,故而,在基于分布式调度框架确定客户端节点的服务对应的本地配置信息与客户端节点的所述服务对应的待同步配置信息是否不同时,可以分别确定每个客户端节点的每个服务对应的本地配置信息与服务器侧对应的待同步配置信息是否存在不同。示例性的,可以调用第j个客户端节点对应的任务节点,通过第j个客户端节点对应的任务节点,获取第j个客户端节点的每个服务对应的本地配置信息。其中,任务节点可以是服务器侧的分布式调度框架中每个客户端节点对应的节点,其可以是在首次进行配置信息同步时建立的。在获取到第j个客户端节点的每个服务对应的本地配置信息之后,可以通过第j个客户端节点对应的任务节点,确定第j个客户端节点的每个服务对应的本地配置信息与第j个客户端节点的每个服务对应的待同步配置信息是否不同。可以理解的是,在客户端节点的数量为m的情况下,j可以从1取至m,也即,可以通过所有客户端节点对应的任务节点,获取所有客户端节点的每个服务对应的本地配置信息,以及进一步确定所有客户端节点的每个服务对应的本地配置信息与所有客户端节点的每个服务对应的待同步配置信息是否不同。如此,可以通过每个客户端节点对应的任务节点,进行每个客户端节点的每个服务对应的本地配置信息与该客户端节点的每个服务对应的待同步配置信息的比对,以实现配置信息的同步或修正,无需客户端节点启动自身的线程,如此,可以进一步提升配置信息的同步的稳定性和时效性。
[0073]
基于相同的发明构思,本公开的实施例还提供了一种配置信息发布装置,如图5所示,图5是根据一示例性实施例示出的一种配置信息发布装置的框图。参照图5,该配置信息发布装置500可以包括:
[0074]
获取模块510,用于在接收到配置信息发布指令的情况下,基于rpc的注册发现机制获取需要进行配置信息同步的客户端节点;
[0075]
第一同步模块520,用于通过分布式调度框架将客户端节点对应的待同步配置信息同步至客户端节点。
[0076]
在一种可能的实施方式中,获取模块510,包括:
[0077]
第一获取单元,用于基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及获取每个客户端节点各自的服务。
[0078]
在一种可能的实施方式中,第一同步模块520,包括:
[0079]
同步单元,用于将第i个客户端节点的每个服务对应的待同步配置信息同步至第i
个客户端节点;其中,i∈[1,m],m为客户端节点的数量,且m∈n*,i∈n*。
[0080]
在一种可能的实施方式中,配置信息发布装置500,还包括:
[0081]
确定模块,用于基于分布式调度框架确定客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息是否不同;
[0082]
第二同步模块,用于在客户端节点的服务对应的本地配置信息与客户端节点的服务对应的待同步配置信息不同的情况下,将客户端节点的服务对应的待同步配置信息同步至客户端节点。
[0083]
在一种可能的实施方式中,确定模块,包括:
[0084]
第二获取单元,用于通过第j个客户端节点对应的任务节点,获取第j个客户端节点的每个服务对应的本地配置信息;其中,j∈[1,m],m为客户端节点的数量,且m∈n*,j∈n*;
[0085]
确定单元,用于通过第j个客户端节点对应的任务节点,确定第j个客户端节点的每个服务对应的本地配置信息与第j个客户端节点的每个服务对应的待同步配置信息是否不同。
[0086]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0087]
根据本公开的实施例,本公开还提供了一种电子设备、一种非临时性的计算机可读存储介质和一种计算机程序产品。
[0088]
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备600旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0089]
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0090]
电子设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0091]
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如配置信息发布方法。例如,在一些实施例中,配置信息发布方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的
部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的配置信息发布方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行配置信息发布方法。
[0092]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0093]
用于实施本公开的方法的计算机程序产品的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0094]
在本公开的上下文中,非临时性的计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。非临时性的计算机可读存储介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0095]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0096]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
[0097]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0098]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0099]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种配置信息发布方法,其特征在于,包括:在接收到配置信息发布指令的情况下,基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点;通过分布式调度框架将所述客户端节点对应的待同步配置信息同步至所述客户端节点。2.根据权利要求1所述的配置信息发布方法,其特征在于,所述基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点,包括:基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及获取每个所述客户端节点各自的服务。3.根据权利要求2所述的配置信息发布方法,其特征在于,所述将所述客户端节点对应的待同步配置信息同步至所述客户端节点,包括:将第i个所述客户端节点的每个服务对应的待同步配置信息同步至第i个所述客户端节点;其中,i∈[1,m],m为所述客户端节点的数量,且m∈n
*
,i∈n
*
。4.根据权利要求1所述的配置信息发布方法,其特征在于,所述将所述客户端节点对应的待同步配置信息同步至所述客户端节点之后,还包括:基于所述分布式调度框架确定所述客户端节点的服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息是否不同;在所述客户端节点的所述服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息不同的情况下,将所述客户端节点的所述服务对应的待同步配置信息同步至所述客户端节点。5.根据权利要求4所述的配置信息发布方法,其特征在于,所述基于所述分布式调度框架确定所述客户端节点的服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息是否不同,包括:通过第j个所述客户端节点对应的任务节点,获取第j个所述客户端节点的每个服务对应的本地配置信息;其中,j∈[1,m],m为所述客户端节点的数量,且m∈n
*
,j∈n
*
;通过第j个所述客户端节点对应的任务节点,确定第j个所述客户端节点的每个服务对应的本地配置信息与所述第j个所述客户端节点的每个服务对应的待同步配置信息是否不同。6.一种配置信息发布装置,其特征在于,包括:获取模块,用于在接收到配置信息发布指令的情况下,基于远程过程调用rpc的注册发现机制获取需要进行配置信息同步的客户端节点;第一同步模块,用于通过分布式调度框架将所述客户端节点对应的待同步配置信息同步至所述客户端节点。7.根据权利要求6所述的配置信息发布装置,其特征在于,所述获取模块,包括:第一获取单元,用于基于rpc的注册发现机制获取所有需要进行配置信息同步的客户端节点,以及获取每个所述客户端节点各自的服务。8.根据权利要求7所述的配置信息发布装置,其特征在于,所述第一同步模块,包括:同步单元,用于将第i个所述客户端节点的每个服务对应的待同步配置信息同步至第i个所述客户端节点;其中,i∈[1,m],m为所述客户端节点的数量,且m∈n*,i∈n*。
9.根据权利要求6所述的配置信息发布装置,其特征在于,所述装置,还包括:确定模块,用于基于所述分布式调度框架确定所述客户端节点的服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息是否不同;第二同步模块,用于在所述客户端节点的所述服务对应的本地配置信息与所述客户端节点的所述服务对应的待同步配置信息不同的情况下,将所述客户端节点的所述服务对应的待同步配置信息同步至所述客户端节点。10.根据权利要求8所述的配置信息发布装置,其特征在于,所述确定模块,包括:第二获取单元,用于通过第j个所述客户端节点对应的任务节点,获取第j个所述客户端节点的每个服务对应的本地配置信息;其中,j∈[1,m],m为所述客户端节点的数量,且m∈n*,j∈n*;确定单元,用于通过第j个所述客户端节点对应的任务节点,确定第j个所述客户端节点的每个服务对应的本地配置信息与所述第j个所述客户端节点的每个服务对应的待同步配置信息是否不同。11.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的配置信息发布方法。12.一种非临时性的计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至5中任一项所述的配置信息发布方法。13.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的配置信息发布方法。
技术总结
本公开关于一种配置信息发布方法、装置、电子设备及存储介质。其中,所述配置信息发布方法,包括:在接收到配置信息发布指令的情况下,基于远程过程调用RPC的注册发现机制获取需要进行配置信息同步的客户端节点,然后通过分布式调度框架将客户端节点对应的待同步配置信息同步至客户端节点。采用本公开实施例提供的配置信息发布方法,可以降低系统运维难度,提高配置信息发布系统的稳定性和可用性。提高配置信息发布系统的稳定性和可用性。提高配置信息发布系统的稳定性和可用性。
技术研发人员:马小驰
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.05.11
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
