一种配置文件管理方法、装置及电子设备和存储介质与流程

文档序号:22124736发布日期:2020-09-04 17:04阅读:141来源:国知局
一种配置文件管理方法、装置及电子设备和存储介质与流程

本申请涉及计算机技术领域,更具体地说,涉及一种配置文件管理方法、装置及一种电子设备和一种计算机可读存储介质。



背景技术:

根据某一项具体的功能或者任务,可以抽象出服务的概念,如订单审批服务、支付服务和审计服务等。单一服务往往由数个执行相同功能的节点构成,由置于节点集群前的负载均衡器按照一定的算法将前端请求分发的各个节点上,以实业务的分流。

在大型系统中,往往包括十数个服务,上百个节点,并且由独立的配置中心实现对公共的配置文件的管理。而配置中心往往也是一种由多个节点组成的服务,需要占用额外的资源。在上百个节点的大型系统内,这种配置中心存在着很大的积极性,是常用的做法。但是节点数量较少的系统,如小型系统或者单一服务内部,消耗额外的资源搭建配置中心,显然不是一种值得推广的做法。

因此,如何在不增加额外资源需求的情况下,实现服务内部配置文件的轻量级、分布式存储和管理是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的在于提供一种配置文件管理方法、装置及一种电子设备和一种计算机可读存储介质,在不增加额外资源需求的情况下,实现了服务内部配置文件的轻量级、分布式存储和管理。

为实现上述目的,本申请提供了一种配置文件管理方法,应用于配置服务集群中的目标节点,包括:

在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点;其中,所述配置文件信息包括节点地址和配置文件的最后更新时间;

选择所述最后更新时间最近的节点作为基准节点,并基于所述基准节点的地址向所述基准节点发送同步消息,以便所述基准节点将自身的配置文件作为基准配置文件在所述配置服务集群中广播,所述配置服务集群中其他节点基于所述基准配置文件更新自身的配置文件。

其中,在所述配置服务集群中广播自身的配置文件信息,包括:

当到达所述目标节点对应的同步时间时,在所述配置服务集群中广播自身的配置文件信息。

其中,所述配置文件信息还包括生成时间;

相应的,在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点,包括:

在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点验证当前时间与所述生成时间的时间差小于预设时间窗口时将自身的配置文件信息返回至所述目标节点。

其中于,还包括:

当接收到所述基准配置文件时,基于基准配置文件更新自身的配置文件,并向所述基准节点返回同步完毕应答。

其中,还包括:

通过watch机制监听所述配置服务集群中其他节点的修改配置项事件,并基于所述修改配置项事件更新自身的配置文件。

为实现上述目的,本申请提供了一种配置文件管理装置,应用于配置服务集群中的目标节点,包括:

广播模块,用于在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点;其中,所述配置文件信息包括节点地址和配置文件的最后更新时间;

选择模块,用于选择所述最后更新时间最近的节点作为基准节点,并基于所述基准节点的地址向所述基准节点发送同步消息,以便所述基准节点将自身的配置文件作为基准配置文件在所述配置服务集群中广播,所述配置服务集群中其他节点基于所述基准配置文件更新自身的配置文件。

其中,所述广播模块具体为当到达所述目标节点对应的同步时间时,在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点的模块。

其中,还包括:

第一更新模块,用于通过watch机制监听所述配置服务集群中其他节点的修改配置项事件,并基于所述修改配置项事件更新自身的配置文件。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述配置文件管理方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述配置文件管理方法的步骤。

通过以上方案可知,本申请提供的一种配置文件管理方法,包括:在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点;其中,所述配置文件信息包括节点地址和配置文件的最后更新时间;选择所述最后更新时间最近的节点作为基准节点,并基于所述基准节点的地址向所述基准节点发送同步消息,以便所述基准节点将自身的配置文件作为基准配置文件在所述配置服务集群中广播,所述配置服务集群中其他节点基于所述基准配置文件更新自身的配置文件。

本申请提供的配置文件管理方法,实现了去中心化架构下单一服务配置文件的管理,不需要另外增加节点资源实现配置中心,并且每个节点运行一个轻量级的程序,在一个同步周期内,实现服务集群内节点配置文件的快速同步,节省了资源。由此可见,本申请提供的配置文件管理方法,在不增加额外资源需求的情况下,实现服务内部配置文件的轻量级、分布式存储和管理。本申请还公开了一种配置文件管理装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为根据一示例性实施例示出的一种配置文件管理方法的流程图;

图2为根据一示例性实施例示出的另一种配置文件管理方法的流程图;

图3为根据一示例性实施例示出的一种配置文件管理装置的结构图;

图4为根据一示例性实施例示出的一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种配置文件管理方法,在不增加额外资源需求的情况下,实现了服务内部配置文件的轻量级、分布式存储和管理。

参见图1,根据一示例性实施例示出的一种配置文件管理方法的流程图,如图1所示,包括:

s101:在配置服务集群中广播自身的配置文件信息,以便配置服务集群中的其他节点将自身的配置文件信息返回至目标节点;其中,配置文件信息包括节点地址和配置文件的最后更新时间;

本实施例的执行主体为配置服务集群中的目标节点,目标为实现配置服务集群中各节点配置文件的同步。在本步骤中,目标节点在配置服务集群中广播自身的配置文件信息,配置服务集群中的其他节点接收到广播消息后,将自身的配置文件信息返回至目标节点。本实施例中的配置文件信息至少包括节点地址和配置文件的最后更新时间,节点地址用于节点之间的通信,最后更新时间用于在后续步骤中选举基准节点。

需要说明的是,可以预设该配置服务集群的同步周期,即每个预设时间段执行一次本实施例的步骤,每次同步过程的目标节点可以不同,防止固定目标节点宕机后,导致整个同步过程被阻塞。在具体实施中,可以为每个目标节点设置不同的同步时间,以时限每次同步过程目标节点的不同。即在配置服务集群中广播自身的配置文件信息的步骤可以包括:当到达目标节点对应的同步时间时,在配置服务集群中广播自身的配置文件信息。

s102:选择最后更新时间最近的节点作为基准节点,并基于基准节点的地址向基准节点发送同步消息,以便基准节点将自身的配置文件作为基准配置文件在配置服务集群中广播,配置服务集群中其他节点基于基准配置文件更新自身的配置文件。

在本步骤中,目标节点接收到配置服务集群中所有节点的配置文件信息后,选举出最后更新时间最近的节点作为基准节点,并向其发送同步消息,基准节点接收到该同步消息后将自身的配置文件作为基准配置文件在配置服务集群中广播,其他节点接收到广播消息后,同步自身的配置文件。

基准配置文件包括基准节点中的各配置参数,可以理解的是,配置参数可以分为两种类型,一种是不需要或者不允许更改的配置项,可以直接固化在程序中,另一种是需要经常修改的配置项,需要从程序中抽取出来,独立于运行程序之外,需要该配置项可实时获取。也就是说,基准配置文件可以仅包括需要经常修改的配置项,当然也可以既包括需要经常修改的配置项也包括不允许更改的配置项,本实施例不进行具体限定。

在上述实施例的基础上,作为一种优选实施方式,通过watch机制监听配置服务集群中其他节点的修改配置项事件,并基于修改配置项事件更新自身的配置文件。在具体实施中,节点通过watch机制持续监听修改配置项的事件,当修改配置项事件发生时,即可被集群中节点通过watch机制获取修改项,继而近乎实时的修改自身的配置参数。可见,当节点宕机再恢复或者新加入的节点,基于watch机制可以实现高性能、近乎实时的各节点配置项的增量同步。

本申请实施例提供的配置文件管理方法,实现了去中心化架构下单一服务配置文件的管理,不需要另外增加节点资源实现配置中心,并且每个节点运行一个轻量级的程序,在一个同步周期内,实现服务集群内节点配置文件的快速同步,节省了资源。由此可见,本申请实施例提供的配置文件管理方法,在不增加额外资源需求的情况下,实现服务内部配置文件的轻量级、分布式存储和管理。

本申请实施例公开了一种配置文件管理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图2,根据一示例性实施例示出的另一种配置文件管理方法的流程图,如图2所示,包括:

s201:目标节点在配置服务集群中广播自身的配置文件信息;

在本实施例中,目标节点将自身的配置文件信息作为消息在配置服务集群中进行广播。配置文件信息包括节点地址、配置文件的最后更新时间和生成时间,生成时间即该配置文件信息的生成时间,即广播该配置文件信息的当前时间。

s202:配置服务集群中的其他节点验证当前时间与生成时间的时间差小于预设时间窗口时将自身的配置文件信息返回至目标节点;

在本步骤中,配置服务集群中的其他节点接收到目标节点广播的配置文件信息时,判断当前时间与配置文件信息中携带的生成时间之间的时间差是否小于预设时间窗口,若是,则封装自身的配置文件信息返回至目标节点,否则丢弃消息。

s203:目标节点选择最后更新时间最近的节点作为基准节点,并基于基准节点的地址向基准节点发送同步消息;

s204:基准节点将自身的配置文件信息作为基准配置文件在配置服务集群中广播;

s205:接收到基准配置文件的节点基于基准配置文件更新自身的配置文件,并向基准节点返回同步完毕应答。

在本步骤中,配置服务集群中的节点接收到准配置文件后,同步自身的配置文件,并向基准配置文件发送同步完毕应答。针对每次应答等待过程,可以在每个节点中配置最大应答时间,当其作为基准节点时,若其他节点应答超过自身对应的最大应答时间,可以重复发送预设次数的基准配置文件,超过预设次数后,判定该节点异常,结束等待应答。

由此可见,本实施例基于轻量级的代理程序,可实现各个节点之间全量结合增量的、高效、实时的配置文件同步机制。

下面介绍本申请提供的一种应用实施例,具体可以包括以下步骤:

步骤1:每2h进行一次节点配置文件同步过程,过程如下:

a、p节点将自身的地址信息、当前时间和配置文件的最后更新时间作为消息,在节点集群内广播;

b、其他节点接收到广播消息后,判断信息携带的时间和本地的时间之差是否在可允许窗口内(例如窗口时长可设置为30s),超出则直接丢弃消息,否则封装自身的消息,向p节点答复;

c、p节点接收到节点集群内其他节点的回复后,选举出配置文件更新时间最新的节点(n节点),并向其发送同步配置文件消息;

d、n节点收到同步消息后,答复节点p,并在节点集群内广播自身配置文件;

e、其他节点接收到广播消息后,同步自身节点的配置文件,并发送同步完毕应答;

f、针对每次应答等待过程,可配置一超时时间(如2s),应答超时,可重新发送多次(如3次),多次无效后,可任务节点异常,不再等待,继续其他流程。

步骤2:节点通过watch机制持续监听修改配置项的事件,当修改配置项事件发生时,即可被集群中节点通过watch机制获取修改项,继而近乎实时的修改自身的配置参数。

下面对本申请实施例提供的一种配置文件管理装置进行介绍,下文描述的一种配置文件管理装置与上文描述的一种配置文件管理方法可以相互参照。

参见图3,根据一示例性实施例示出的一种配置文件管理装置的结构图,如图3所示,包括:

广播模块301,用于在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点;其中,所述配置文件信息包括节点地址和配置文件的最后更新时间;

选择模块302,用于选择所述最后更新时间最近的节点作为基准节点,并基于所述基准节点的地址向所述基准节点发送同步消息,以便所述基准节点将自身的配置文件作为基准配置文件在所述配置服务集群中广播,所述配置服务集群中其他节点基于所述基准配置文件更新自身的配置文件。

本申请实施例提供的配置文件管理装置,实现了去中心化架构下单一服务配置文件的管理,不需要另外增加节点资源实现配置中心,并且每个节点运行一个轻量级的程序,在一个同步周期内,实现服务集群内节点配置文件的快速同步,节省了资源。由此可见,本申请实施例提供的配置文件管理装置,在不增加额外资源需求的情况下,实现服务内部配置文件的轻量级、分布式存储和管理。

在上述实施例的基础上,作为一种优选实施方式,所述广播模块301具体为当到达所述目标节点对应的同步时间时,在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点将自身的配置文件信息返回至所述目标节点的模块。

在上述实施例的基础上,作为一种优选实施方式,所述配置文件信息还包括生成时间;

相应的,所述广播模块301具体为在所述配置服务集群中广播自身的配置文件信息,以便所述配置服务集群中的其他节点验证当前时间与所述生成时间的时间差小于预设时间窗口时将自身的配置文件信息返回至所述目标节点的模块。

在上述实施例的基础上,作为一种优选实施方式,还包括:

第二更新模块,用于当接收到所述基准配置文件时,基于基准配置文件更新自身的配置文件,并向所述基准节点返回同步完毕应答。

在上述实施例的基础上,作为一种优选实施方式,还包括:

第一更新模块,用于通过watch机制监听所述配置服务集群中其他节点的修改配置项事件,并基于所述修改配置项事件更新自身的配置文件。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请还提供了一种电子设备,参见图4,本申请实施例提供的一种电子设备400的结构图,如图4所示,可以包括处理器11和存储器12。该电子设备400还可以包括多媒体组件13,输入/输出(i/o)接口14,以及通信组件15中的一者或多者。

其中,处理器11用于控制该电子设备400的整体操作,以完成上述的配置文件管理方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的配置文件管理方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述配置文件管理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由电子设备400的处理器11执行以完成上述的配置文件管理方法。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1