一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

元数据的同步方法和装置、存储介质和电子装置与流程

2022-04-02 02:33:50 来源:中国专利 TAG:


1.本技术涉及互联网领域,尤其涉及一种元数据的同步方法和装置、存储介质和电子装置。


背景技术:

2.分布式系统(例如,分布式数据库)可以包含多种节点,例如,协调节点(coordinate node,可简称为cn),数据节点(data node,可简称为dn)。协调节点作为数据请求部分的协调者,本身并不参与数据的匹配与读写操作,而仅仅是将请求分发到所需要处理的数据节点,而分发到数据节点的操作可以是依据协调节点中的元数据执行的。
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.图1是根据本技术实施例的元数据的同步方法的硬件环境的示意图;
29.图2是根据本技术实施例的一种可选的元数据的同步方法的流程示意图;
30.图3是根据本技术实施例的一种可选的元数据的同步方法的示意图;
31.图4是根据本技术实施例的另一种可选的元数据的同步方法的流程示意图;
32.图5是根据本技术实施例的又一种可选的元数据的同步方法的流程示意图;
33.图6是根据本技术实施例的一种可选的元数据的同步装置的结构框图;
34.图7是根据本技术实施例的一种可选的电子装置的结构框图。
具体实施方式
35.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
36.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.首先,在对本技术实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
38.分布式事务:使用的两阶段提交的方式实现事务提交,任一阶段事务回滚,整个事务回滚,即,任一节点执行失败,整个分布式事务进行回滚。
39.根据本技术实施例的一个方面,提供了一种元数据的同步方法。可选地,在本实施例中,上述元数据的同步方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103(例如,目标节点)通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如数据操作、游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库(分布式数据库),用于为服务器103提供数据存储服务,还可以用于处理分布式事务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于pc、手机、平板电脑等。本技术实施例的元数据的同步方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本技术实施例的元数据的同步方法也可以是由安装在其上的客户端来执行。
40.以运行在服务器上为例,图2是根据本技术实施例的一种可选的元数据的同步方
法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
41.步骤s202,获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接;
42.步骤s204,从多个协调节点中确定出待进行元数据同步的第一协调节点;
43.步骤s206,将目标元数据同步到第一协调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本。
44.通过上述步骤s202至步骤s206,获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接;从多个协调节点中确定出待进行元数据同步的第一协调节点;将目标元数据同步到第一协调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本,解决了相关技术中采用分布式事务进行元数据同步的方式存在由于同步过程复杂导致的同步成功率低的问题,提高了元数据同步的成功率、以及元数据同步方式的实用性。
45.在步骤s202提供的技术方案中,获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接。
46.本实施例中的元数据的同步方法可以应用于包含分布式数据库的分布式系统。在分布式系统中可以包含多个数据节点和多个协调节点,多个数据节点可以属于同一数据节点集群,多个协调节点可以属于同一协调节点集群。
47.对于一个数据节点,可以为其配置备用数据节点。该数据节点中保存的数据和数据节点的配置信息与其备用数据节点可以完全相同,也可以略有不同,以满足在其异常时可以通过其备用数据节点替代其提供数据服务为准。
48.在每个数据节点中可以保存有与分布式数据库对应的元数据,该元数据是描述数据的数据,或者说,对数据及信息资源的描述性信息。协调节点上的元数据可以用于描述分布式数据库中的每个数据节点所存储的数据。元数据可以理解为存储了全局信息的一些表,比如,每个数据节点保存有不同的数据,元数据就是用来描述哪些数据存储在了哪个数据节点中,即,用于确定请求的数据存储在的数据节点。
49.例如,用户a请求对数据a执行一个操作,协调节点通过元数据可以确定该数据a存储在数据节点a中。又例如,用户b请求对数据b执行一个操作,协调节点通过元数据可以确定该数据b存储在数据节点b中。
50.由于是基于同一分布式数据库进行分发处理,需要分布式数据库的多个协调节点之间元数据同步。否则,如果一个协调节点的元数据修改之后未同步到其他协调节点,在其他协调节点根据自己的元数据查找数据时,可能无法找到正确的数据。
51.可选地,在本实施例中,可以通过一个节点(即,目标节点)向协调节点进行元数据同步的方式来保证各个协调节点的元数据写一致。该目标节点可以是gms(global management service,全局事务管理)节点。可将分片元数据、及分布式表的相关信息存储在gms节点上,由gms节点提供全局事务管理,保证全局事务写一致性。协调节点执行分布式操作或涉及元数据变更的操作时,gms节点会更新元数据版本信息,以保证gms节点中存储有最新的元数据版本。
52.目标节点可以与分布式数据库的多个协调节点之间通信连接,以便向各个协调节点进行元数据同步。例如,如图3所示,gms节点与分布式数据库中的各个协调节点均进行通
信连接。在进行元数据同步时,目标节点可以首先获取本节点上的目标元数据的目标版本。
53.在步骤s204提供的技术方案中,从多个协调节点中确定出待进行元数据同步的第一协调节点。
54.多个协调节点上的元数据的版本可以相同,也可以不同,可以均为最新的版本,也可以部分为最新的版本,还可以都不是最新的版本。对于元数据版本不是最新版本的协调节点,可以由目标节点向其同步元数据。
55.目标节点上可以记录所有协调节点的元数据版本,根据记录的元数据版本,目标节点可以从多个协调节点中确定出待进行元数据同步的第一协调节点,该第一协调节点上的第一元数据的第一版本可以低于目标元数据的目标版本,也可以不低于目标元数据的目标版本,即,目标节点直接向第一协调节点进行元数据同步,而不考虑其元数据是否是最新版本。
56.第一协调节点的数量可以为一个或多个。可选地,第一协调节点可以是全部的协调节点,即,前述多个协调节点。在同时向全部的协调节点同步元数据的情况下,目标节点可以直接将多个协调节点确定为待进行元数据同步的协调节点。
57.在步骤s206提供的技术方案中,将目标元数据同步到第一协调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本。
58.在确定出待进行元数据同步的第一协调节点之后,目标节点可以将目标元数据同步到第一协调节点。同步元数据的方式可以是:目标节点将目标元数据直接发送给第一协调节点,发送的同步数据可以为目标元数据;也可以为将待更新的元数据(目标元数据与第一元数据之间的差异)发送给第一协调节点,发送的同步数据可以为待更新的元数据。
59.在第一协调节点为多个的情况下,目标节点可以将目标元数据同时同步到全部或者部分第一协调节点(并行执行),也可以是依次同步到各第一协调节点(串行执行),本实施例中对此不作具体限定。
60.第一协调节点在接收到目标节点发送的同步数据之后,可以使用该同步数据更新第一元数据,从而将第一元数据的元数据版本由第一版本更新为目标版本。在各个协调节点版本更新完成之后,所有协调节点之间可以保持写一致。
61.作为一种可选的实施例,在从多个协调节点中确定出待进行元数据同步的第一协调节点之前,上述方法还包括:
62.s11,检测到目标对象向多个协调节点中的第二协调节点发起的目标操作,其中,目标操作用于将第二协调节点上的第二元数据的第二版本更新到目标版本;
63.s12,响应目标操作,将目标节点上的目标元数据的版本更新到目标版本。
64.用户(目标节点)可以向多个协调节点中的一个协调节点(例如,第二协调节点)发起目标操作(例如,数据操作)。该操作涉及到元数据变更,会触发将第二协调节点上的第二元数据的第二版本更新到目标版本。
65.响应该目标操作,第二协调节点可以向目标节点发送第一版本更新请求,以请求将目标节点上的目标元数据更新到目标版本。目标节点接收到第一版本更新请求,响应该请求,可以将目标元数据的版本更新到目标版本。目标节点在将目标元数据更新到目标版本,可以将目标元数据同步到全部的协调节点。
66.在此情况下,第二协调节点上的第二元数据的第二版本先不更新,而是由目标节
点在更新目标元数据更新为目标版本之后,将目标元数据同步到第二协调节点。
67.可选地,在检测到目标操作之后,第二协调节点也可以对其元数据进行处理(将第二元数据的第二版本更新到目标版本),并向目标节点发送第二版本更新请求,以请求将目标节点上的目标元数据同步更新到目标版本。在此情况下,目标节点在将目标元数据更新到目标版本之后,可以将目标元数据同步到多个协调节点中除了第二协调节点以为的其他协调节点。
68.通过上述方式,目标节点上的元数据保持在最新版本,可以保证目标节点同步到协调节点的元数据是最新版本,进而保证各个协调节点的元数据的一致性。
69.例如,gms节点可以负责元数据的管理,用户向协调节点发操作,如果此操作涉及元数据变更,gms节点将变更元数据,之后会将元数据同步到协调节点。
70.通过本实施例,根据用户操作触发目标节点上的元数据更新,可以保证目标节点中的元数据保持最新版本,进而保证各个协调节点元数据的一致性。
71.作为一种可选的实施例,从多个协调节点中确定出待进行元数据同步的第一协调节点包括:
72.s21,确定多个协调节点中的每个协调节点上的元数据的版本;
73.s22,根据每个协调节点上的元数据的版本,从多个协调节点中确定出待进行元数据同步的第一协调节点,其中,第一协调节点上的第一元数据的第一版本低于目标版本。
74.目标节点上可以记录有各个协调节点的元数据版本。通过记录的元数据版本,目标节点可以确定出多个协调节点中的每个协调节点上的元数据的版本。
75.通过比较每个协调节点上的元数据的版本和目标节点的目标元数据的版本(目标版本),目标节点可以从多个协调节点中确定出元数据版本低于目标版本的协调节点,并将其确定为待进行元数据同步的第一协调节点。
76.可选地,元数据版本可以按照时间顺序进行配置,根据版本之间的时间顺序、大小关系、或者其他关系,可以确定出元数据版本之间的高低关系。
77.通过本实施例,通过将元数据版本低于目标版本的协调节点确定为待进行元数据同步的协调节点,可以减少元数据同步时所需同步的协调节点数据,减少对通信资源的占用,提高通信资源利用率。
78.需要说明的是,目标节点向协调节点同步元数据的时机可以是:在检测到目标对象发起与元数据变更关联的操作时,也可以是:检测到协调节点的元数据版本低于目标元数据版本时,还可以是其他能够确定协调节点上的元数据版本滞后的时机。本实施例中对此不作具体限定。
79.作为一种可选的实施例,在从多个协调节点中确定出待进行元数据同步的第一协调节点之前,上述方法还包括:
80.s31,接收多个协调节点中的第三协调节点发送的版本指示信息,其中,版本指示信息用于指示第三协调节点上的第三元数据的版本为第三版本;
81.s32,保存第三协调节点上的第三元数据与第三版本之间的对应关系。
82.目标节点上记录的各个协调节点的元数据版本可以是由各个协调节点主动发送的,也可是由目标节点通过请求-响应的方式从各个协调节点出获取的。
83.多个协调节点中的第三协调节点上的第三元数据的元数据版本为第三版本。在预
定时间(版本上报时刻)到达时,或者,在接收到的目标节点发送的版本信息获取请求时,将第三版本的版本信息(即,版本指示信息)发送给目标节点。
84.目标节点可以接收第三协调节点发送的版本指示信息,并记录第三协调节点上的第三元数据与第三版本之间的对应关系,该对应关系可以用于指示第三协调节点上的第三元数据的元数据为第三版本。
85.通过接收多个协调节点中的各个协调节点发送的版本指示信息,目标节点可以确定并记录各个协调节点的元数据版本,以便准确、及时地进行元数据同步。
86.通过本实施例,通过接收并记录各个协调节点的元数据版本,可以提高元数据同步的准确性和及时性。
87.作为一种可选的实施例,在将目标元数据同步到第一协调节点之后,上述方法还包括:
88.s41,检测到多个协调节点中的第四协调节点处于异常状态;
89.s42,将第四协调节点配置为不可用状态,其中,不可用状态为不允许执行业务处理的状态。
90.由于环境因素、自身软硬件运行状态等多方面的影响,协调节点会出现一些异常情况,导致协调节点“down”掉,比如,机器停电,数据库异常等。多个协调节点中的第四协调节点由于某些原因导致该协调节点处于异常状态。
91.目标节点在检测到第四协调节点处于异常状态之后,可以将该协调节点配置为不可用状态,也就是,不允许执行业务处理的状态。通过将协调节点配置为不可用状态,可以将协调节点移出协调节点集群。将协调节点配置为不可用状态,在控制负载均衡时,可以不将数据操作请求转发至该协调节点,从而避免由于协调节点异常影响业务处理。
92.通过本实施例,通过将异常节点配置为不可用状态,在任一协调节点down掉时,可以不影响集群使用,提高业务处理的及时性以及协调节点集群的鲁棒性。
93.作为一种可选的实施例,在将第四协调节点配置为不可用状态之后,上述方法还包括:
94.s51,检测到第四协调节点由异常状态恢复到正常状态;
95.s52,将第四协调节点配置为可用状态,其中,可用状态为允许执行业务处理的状态;
96.s53,将目标元数据同步到第四协调节点,以将第四协调节点上的第四元数据的第四版本更新到目标版本。
97.如果第四协调节点由异常状态恢复到正常状态,例如,机器重新接电,数据库由异常恢复,目标节点可以检测到第四协调节点由异常状态恢复到正常状态。
98.如果第四协调节点恢复正常,目标节点可以将第四协调节点配置为可用状态,即,允许执行业务处理的状态,重新将第四协调节点拉回协调节点集群中。例如,可以将该第四协调节点配置为可用状态,可用状态的协调节点可以被配置为候选协调节点、或者当前在使用的协调节点。
99.在将第四协调节点配置为可用状态之前或者之后,目标节点可以将目标元数据同步到第四协调节点,以将第四协调节点上的第四元数据的第四版本更新到目标版本。
100.如果在此过程中,目标节点的目标元数据的版本又发生了更新,即,由目标版本更
新到一个新的版本,则可以将目标元数据同步到第四协调节点,以将第四协调节点上的第四元数据的第四版本更新到目标元数据的最新版本。
101.通过本实施例,通过再次检测到协调节点可用时再次将其加到集群中,并同步元数据,可以提高协调节点的利用率,并保证协调节点之间元数据的一致性。
102.作为一种可选的实施例,在将目标元数据同步到第一协调节点之后,上述方法还包括:
103.s61,确定与多个协调节点对应的目标业务流量,其中,目标业务流量为多个协调节点中的每个协调节点的业务流量的总和;
104.s62,在目标业务流量大于或者等于第一流量阈值的情况下,从候选协调节点中确定出待添加的第五协调节点;
105.s63,将第五协调节点配置为使用状态,其中,使用状态为当前用于进行业务处理的状态;
106.s64,将目标元数据同步到第五协调节点,以将第五协调节点上的第五元数据的第五版本更新到目标版本。
107.在分布式数据库中,协调节点作为流量的出入口,一定程度反映了分布式数据库的处理能力。根据业务流量做相应的动态升降配处理,可以保证协调节点的处理能力与资源的合理运用。
108.目标节点可以确定多个协调节点的总业务流量,即,目标业务流量,多个协调节点的总业务流量为多个协调节点中的每个协调节点的业务流量的总和,上述业务流量可以是一段时间的业务流量,也可以是一段时间的业务流量的平均值(时间上的平均值)。
109.在得到目标业务流量之后,目标节点可以比较目标业务流量和第一流量阈值,如果该目标业务流量大于或者等于第一流量阈值,表明业务量过多,当前的协调节点可能无法及时处理所有的数据请求,需要增加协调节点的数量。
110.目标节点可以将候选协调节点中的第五协调节点配置为使用状态,即,当前用于进行业务处理的状态。在将第五协调节点配置为使用状态之前、或者之后,目标节点可以将目标元数据同步到第五协调节点,以将第五协调节点上的第五元数据的第五版本更新到目标版本。
111.如果在此过程中,目标节点的目标元数据的版本又发生了更新,即,由目标版本更新到一个新的版本,则可以将目标元数据同步到第五协调节点,以将第五协调节点上的第五元数据的第五版本更新到目标元数据的最新版本。
112.可选地,目标节点可以将目标元数据同步到各个处于正常状态(使用状态,可用状态等)的协调节点,以便在将协调节点配置为使用状态时,该协调节点可以及时进行业务处理。本实施例中对此不作具体限定。
113.通过本实施例,根据业务流量对协调节点进行动态升降配处理,可以保证协调节点的处理能力与资源的合理运用。
114.作为一种可选的实施例,在确定与多个协调节点对应的目标业务流量之后,上述方法还包括:
115.s71,在目标业务流量小于或者等于第二流量阈值的情况下,从多个协调节点中确定出待移除的第六协调节点;
116.s72,将第六协调节点配置为候选状态,其中,候选状态用于表示第六协调节点为一个候选协调节点。
117.如果该目标业务流量小于或者等于第二流量阈值(第一流量阈值大于第二流量阈值),表明业务量较少,当前的协调节点处理数据请求存在资源浪费,可以减少协调节点的数量。
118.目标节点可以从多个协调节点中确定出待移除的第六协调节点(处于使用状态的一个协调节点),并将该第六协调节点配置为候选状态,候选状态用于表示第六协调节点为一个候选协调节点,也就是,将第六协调节点配置为一个候选协调节点。
119.可选地,目标节点可以将目标元数据同步到各个处于正常状态(可用状态、使用状态、候选状态等)的协调节点,以便在将协调节点配置为使用状态时,该协调节点可以及时进行业务处理。本实施例中对此不作具体限定。
120.通过本实施例,根据业务流量对协调节点进行动态升降配处理,可以保证协调节点的处理能力与资源的合理运用。
121.需要说明的是,虽然本实施例中将协调节点的状态配置为:不可用状态、可用状态、候选状态和使用状态,不排他的,协调节点也可以配置为更多或者更少的状态,例如,仅配置为不可用状态(可以对应于本实施例中的不可用状态)和可用状态(可以对应于本实施例中的可用状态、候选状态和使用状态)。
122.下面结合可选示例对协调节点的升降配的过程进行说明。分布式数据库中有两台协调节点,压力比较大,需要再添加两台机器,此为协调节点的升配。分布式数据库中现在有四台协调节点,如果业务量减少,四台协调节点同时进行处理的话存在资源浪费,则可以减少协调节点的数量,此为协调节点的降配。此外,在有机器出现异常时,可以自动剔除异常节点,控制协调节点在可用状态和不可用状态之间的变更。
123.需要说明的是,第一协调节点至第六协调节点可以是相同的协调节点,也可以是不同的协调节点,也可以部分是相同的协调节点,部分是不同的协调节点,本实施例中对此不作具体限定。
124.下面结合可选示例对本技术实施例中的元数据的同步方法进行解释说明。在本示例中,目标节点为gms节点,通过由gms节点向协调节点同步元数据的方式保证所有对的协调节点写一致;通过按照业务流量对协调节点进行升降配,来保证资源的合理利用。
125.对于gms节点,分片元数据及分布式表的相关信息可以存储在gms节点,以提供全局事务管理,保证全局事务写一致性,还可以提供升降配元数据管理。协调节点执行分布式操作或涉及元数据变更的操作时,gms节点更新元数据版本信息;如果检查到协调节点的元数据信息滞后,可以同步元数据到协调节点,达到一致。通过此方式,可以灵活添加、减少协调节点,以满足请求处理的需求。
126.其中,分片元数据用于表示分布式数据库中有哪些数据节点,数据节点的host,port,节点是否可用等等;分布式表用于描述表的分片规则,分片范围,表放在哪个数据节点上。分片和分布式表可以均属于元数据,元数据可以用于描述有哪些数据仓库,数据仓库的位置,分布式表用于描述各个数据放在哪个仓库,即,数据与数据节点之间的对应关系。
127.在多种场景下均可触发元数据的同步过程,上述多个场景可以包括但不限于以下至少之一:元数据变更,协调节点由不可用到可用的状态切换等。
128.例如,如图4所示,本示例中的元数据的同步方法可以包括以下流程步骤:
129.步骤s402,用户发来涉及元数据变更的请求。
130.gms节点可以负责元数据的管理,用户向协调节点发操作,如果此操作涉及元数据变更,gms节点将变更元数据,之后会将元数据同步到协调节点(例如,所有协调节点)。
131.步骤s404,gms节点发生元数据变更,更新版本信息。
132.步骤s406,检测到协调节点版本滞后,同步元数据到协调节点。
133.gms节点可以定期检查此版本信息,滞后就会去同步,然后更新版本信息到一致状态。
134.又例如,如图5所示,本示例中的元数据的同步方法可以包括以下流程步骤:
135.步骤s502,检测到协调节点down掉,设置为不可用。
136.协调节点在出现异常情况时才会down掉,比如机器停电或者数据库异常挂了等。gms节点可以将出现异常情况的协调节点设置为不可用状态。
137.步骤s504,再次检测到协调节点可用,同步元数据。
138.gms节点检测到该协调节点再次可用时,会再次将该协调节点加到集群,并向其同步元数据。
139.通过本示例,多协调节点之间不是通过分布式事务保证的数据一致性,而是通过元数据存储在gms节点,元数据变更后gms节点将其同步到其他协调节点,完成元数据同步,可以提高信息同步的灵活性和可用性;并且,协调节点升配后,既不会有分布式事务两段式提交带来的问题,元数据同步也更简单,并且根据业务流量可以进行协调节点灵活地升降配。
140.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
141.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
142.根据本技术实施例的另一个方面,还提供了一种用于实施上述元数据的同步方法的元数据的同步装置。图6是根据本技术实施例的一种可选的元数据的同步装置的结构框图,如图6所示,该装置可以包括:
143.(1)获取单元602,用于获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接;
144.(2)第一确定单元604,与获取单元602相连,用于从多个协调节点中确定出待进行元数据同步的第一协调节点;
145.(3)第一同步单元606,与第一确定单元604相连,用于将目标元数据同步到第一协
调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本。
146.需要说明的是,该实施例中的获取单元602可以用于执行上述步骤s202,该实施例中的第一确定单元604可以用于执行上述步骤s204,该实施例中的第一同步单元606可以用于执行上述步骤s206。
147.通过上述模块,获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接;从多个协调节点中确定出待进行元数据同步的第一协调节点;将目标元数据同步到第一协调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本,解决了相关技术中采用分布式事务进行元数据同步的方式存在由于同步过程复杂导致的同步成功率低的问题,提高了元数据同步的成功率、以及元数据同步方式的实用性。
148.作为一种可选的实施例,上述装置还包括:
149.第一检测单元,用于在从多个协调节点中确定出待进行元数据同步的第一协调节点之前,检测到目标对象向多个协调节点中的第二协调节点发起的目标操作,其中,目标操作用于将第二协调节点上的第二元数据的第二版本更新到目标版本;
150.更新单元,用于响应目标操作,将目标节点上的目标元数据的版本更新到目标版本。
151.作为一种可选的实施例,第一确定单元604包括:
152.第一确定模块,用于确定多个协调节点中的每个协调节点上的元数据的版本;
153.第二确定模块,用于根据每个协调节点上的元数据的版本,从多个协调节点中确定出待进行元数据同步的第一协调节点,其中,第一协调节点上的第一元数据的第一版本低于目标版本。
154.作为一种可选的实施例,上述装置还包括:
155.接收单元,用于在从多个协调节点中确定出待进行元数据同步的第一协调节点之前,接收多个协调节点中的第三协调节点发送的版本指示信息,其中,版本指示信息用于指示第三协调节点上的第三元数据的版本为第三版本;
156.保存单元,用于保存第三协调节点上的第三元数据与第三版本之间的对应关系。
157.作为一种可选的实施例,上述装置还包括:
158.第二检测单元,用于在将目标元数据同步到第一协调节点之后,检测到多个协调节点中的第四协调节点处于异常状态;
159.第一配置单元,用于将第四协调节点配置为不可用状态,其中,不可用状态为不允许执行业务处理的状态。
160.作为一种可选的实施例,上述装置还包括:
161.第三检测单元,用于在将第四协调节点配置为不可用状态之后,检测到第四协调节点由异常状态恢复到正常状态;
162.第二配置单元,用于将第四协调节点配置为可用状态,其中,可用状态为允许执行业务处理的状态;
163.第二同步单元,用于将目标元数据同步到第四协调节点,以将第四协调节点上的第四元数据的第四版本更新到目标版本。
164.作为一种可选的实施例,上述装置还包括:
165.第二确定单元,用于在将目标元数据同步到第一协调节点之后,确定与多个协调节点对应的目标业务流量,其中,目标业务流量为多个协调节点中的每个协调节点的业务流量的总和;
166.第一选取单元,用于在目标业务流量大于或者等于第一流量阈值的情况下,从候选协调节点中选取出待添加的第五协调节点;
167.第三配置单元,用于将第五协调节点配置为使用状态,其中,使用状态为当前用于进行业务处理的状态;
168.第三同步单元,用于将目标元数据同步到第五协调节点,以将第五协调节点上的第五元数据的第五版本更新到目标版本。
169.作为一种可选的实施例,上述装置还包括:
170.第二选取单元,用于在确定与多个协调节点对应的目标业务流量之后,在目标业务流量小于或者等于第二流量阈值的情况下,从多个协调节点中选取出待移除的第六协调节点;
171.第四配置单元,用于将第六协调节点配置为候选状态,其中,候选状态用于表示第六协调节点为一个候选协调节点。
172.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
173.根据本技术实施例的又一个方面,还提供了一种用于实施上述元数据的同步方法的电子装置,该电子装置可以是终端设备、服务器、或者其组合。
174.图7是根据本技术实施例的一种可选的电子装置的结构框图,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
175.可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备,例如,gms节点。
176.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
177.s1,获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接;
178.s2,从多个协调节点中确定出待进行元数据同步的第一协调节点;
179.s3,将目标元数据同步到第一协调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本。
180.其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的元数据的同步方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述元数据的同步方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702可以但不限于
用于存储元数据、元数据的版本信息等。
181.作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述元数据的同步装置中的获取单元602、第一确定单元604、以及第一同步单元606。此外,还可以包括但不限于上述元数据的同步装置中的其他模块单元,本示例中不再赘述。
182.可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
183.此外,上述电子装置还包括:连接总线708,用于连接上述电子装置中的各个模块部件。
184.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
185.本领域普通技术人员可以理解,图7所示的结构仅为示意,实施上述元数据的同步方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图7其并不对上述电子装置的结构造成限定。例如,终端设备还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
186.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
187.根据本技术实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行元数据的同步方法的程序代码。
188.可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
189.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
190.s1,获取目标节点上的目标元数据的目标版本,其中,目标节点与分布式数据库的多个协调节点之间通信连接;
191.s2,从多个协调节点中确定出待进行元数据同步的第一协调节点;
192.s3,将目标元数据同步到第一协调节点,以将第一协调节点上的第一元数据的第一版本更新到目标版本。
193.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
194.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
195.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
196.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技
术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
197.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
198.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
199.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
200.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
201.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献