一种数据处理方法及系统与流程

文档序号:32889498发布日期:2023-01-12 22:45阅读:35来源:国知局
一种数据处理方法及系统与流程

1.本发明涉及数据处理技术领域,尤其涉及一种数据处理方法及系统。


背景技术:

2.目前,基于单机数据库的分布式数据库通过数据分片的方式实现了数据的横向扩展。同时,辅以全局事务控制和计算节点数据路由等技术,实现了分布式事务管理。
3.但是,这种在分布式架构下对元数据的管理方式存在问题:当前每个数据节点都存储有元数据,但是没有一个综合的数据节点来统一管理这些数据节点中的元数据信息,从而无法获取这些数据节点中元数据信息对应的数据分片的情况,无法获取数据分片中存储的数据的元数据信息情况,降低了数据库对元数据的处理性能,降低了数据库的健壮性。


技术实现要素:

4.本发明提供了一种数据处理方法及系统,以提高信息数据库对元数据的处理性能,提高信息数据库的健壮性。
5.根据本发明的一方面,提供了一种数据处理方法,包括:
6.数据采集节点获取分配的数据分片中存储数据的元数据信息,并发送至数据采集节点对应的信息管理节点;
7.信息管理节点接收元数据信息;
8.信息管理节点将元数据信息存储在关联的信息缓存库中;
9.信息管理节点将关联的信息缓存库中的元数据信息周期性同步至信息数据库中。
10.根据本发明的另一方面,提供了一种数据处理系统,应用于本发明任一实施例的数据处理方法,该系统包括:数据采集节点、信息管理节点、信息管理节点关联的信息缓存库和信息数据库;
11.数据采集节点,用于获取分配的数据分片中存储数据的元数据信息,并发送至对应的信息管理节点;
12.信息管理节点,用于接收元数据信息;
13.信息管理节点,用于将元数据信息存储在关联的信息缓存库中;
14.信息管理节点,用于将关联的信息缓存库中的元数据信息周期性同步至信息数据库中。
15.本发明实施例的技术方案,通过数据采集节点获取分配的数据分片中存储数据的元数据信息,并发送至数据采集节点对应的信息管理节点,之后信息管理节点接收元数据信息,随后信息管理节点将元数据信息存储在关联的信息缓存库中,进而信息管理节点将关联的信息缓存库中的元数据信息周期性同步至信息数据库中。上述技术方案,通过信息管理节点将元数据信息预先暂存在信息缓存库,提高了对元数据信息的实时读写速度,同时,定期将信息缓存库中的元数据信息上传至信息数据库,使得元数据信息可以定期存入磁盘,保证了元数据信息在信息缓存库中丢失可找回,实现了对数据分片中存储数据的元
数据信息的收集、归并和整合,从而提高了信息数据库对元数据的处理性能,进而提高了信息数据库的健壮性。
16.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
17.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是根据本发明实施例一提供的一种数据处理方法的流程图;
19.图2a是根据本发明实施例二提供的一种数据处理方法的流程图;
20.图2b是根据本发明实施例二提供的一种元数据变更的流程图;
21.图3a是根据本发明实施例三提供的一种数据处理系统的结构图;
22.图3b是根据本发明实施例三提供的另一种数据处理系统的结构图;
23.图3c本发明实施例三提供的一种数据处理系统对数据分片中存储数据的元数据信息的收集、归并和整合的总体流程图;
24.图3d是根据本发明实施例三提供的另一种数据处理系统的结构图;
25.图4是实现本发明实施例的数据处理方法的电子设备的结构示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“主”、“从”、“目标”和“其他”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明的技术方案中,所涉及的数据的收集、存储、使用、加工、传输、提供和公开等,均符合相关法律法规的规定,且不违背公序良俗。
28.实施例一
29.图1为本发明实施例一提供的一种数据处理方法的流程图,本实施例可适用于对基于单机分布式数据库数据节点中存储数据的元数据信息进行统一收集、归并和整合的情况,该方法可以由数据处理系统来执行,该数据处理系统可以采用硬件和/或软件的形式实
现,该数据处理系统可配置于分布式数据库系统中。如图1所示,该方法包括:
30.s101、数据采集节点获取分配的数据分片中存储数据的元数据信息,并发送至数据采集节点对应的信息管理节点。
31.其中,数据采集节点用于采集存储数据的元数据信息。存储数据存储于数据节点中,存储数据的元数据信息可以被数据采集节点采集。其中,存储数据可以是业务数据,还可以包括数据节点的元数据,业务数据可以包括用户关联的数据和任务关联的数据等。数据采集节点可以与数据节点相同,也可以与数据节点不同。在数据节点中配置有数据采集组件(cluster group metadata collector,cgmc)时,该数据节点可以作为数据采集节点,以采集存储数据的元数据信息。将数据节点中存储数据按照预设规则进行分片,形成数据分片。一个数据分片存储数据节点中的部分数据,或者全部数据。元数据信息是指描述数据的数据属性和数据节点运行期间产生的统计信息,用于描述存储数据存储和使用过程中所产生的有关数据定义、运行状态和不同维度的统计等相关关键数据的信息,比如对存储数据的业务、结构、定义、存储、运行状态和增量变化等各方面的描述信息。
32.其中,信息管理节点即元数据管理服务(metadata server,mds),负责全局元数据信息的统一管理,用于接收、存储和上报其对应的数据采集节点采集的元数据信息。信息管理节点与数据采集节点对应,信息管理节点向至少一个数据采集节点分配至少一个数据分片。建立信息管理节点与该些数据分片之间的对应关系,该些数据采集节点与该些数据分片之间的对应关系,和信息管理节点与该些数据采集节点之间的对应关系。该些数据采集节点将采集到的对应的数据分片中存储数据的元数据信息,上传给对应的信息管理节点。
33.s102、信息管理节点接收元数据信息。
34.具体的,信息管理节点接收其对应的数据采集节点采集的元数据信息。
35.s103、信息管理节点将元数据信息存储在关联的信息缓存库中。
36.其中,信息缓存库与信息管理节点对应关联,信息管理节点将接收到的元数据信息存储于与其对应关联的信息缓存库中。信息缓存库即元数据缓存库(metadata database,mdb),用于存储信息管理节点接收的元数据信息。该信息缓存库可以是内存库,数据读写速度快。在信息管理节点的数量为多个时,每个信息管理节点均对应存在关联的信息缓存库。不同信息管理节点接收到的元数据信息不同,相应存入关联的信息缓存库的元数据信息不同,从而多个信息缓存库分别存储有不同数据分片的元数据信息,实现了分布式存储元数据信息。信息管理节点可对其关联的信息缓存库执行读写操作。
37.s104、信息管理节点将关联的信息缓存库中的元数据信息周期性同步至信息数据库中。
38.其中,元数据信息周期性同步可以是指每隔一个预设的固定时间同步一次元数据信息,该预设的固定时间默认为60秒,可自定义配置。示例性的,每隔60秒发送一次元数据信息。
39.其中,信息数据库即元数据库(relational database,rdb),用于存储元数据信息,可以提供不同维度的全局元数据查询服务。其中,不同维度即不同的角度,比如表的某一列和表的索引等维度。全局元数据可以是指信息数据库中存储有全部信息缓存库的元数据信息。在存在多个信息管理节点时,全部信息管理节点将关联的信息缓存库中的元数据信息上传至同一信息数据库中,也即信息数据库中存储有全量元数据信息。
40.示例性的,信息管理节点将关联的信息缓存库中的元数据信息每隔60秒向信息数据库发送一次。
41.本发明实施例的技术方案,通过数据采集节点获取分配的数据分片中存储数据的元数据信息,并发送至数据采集节点对应的信息管理节点,之后信息管理节点接收元数据信息,随后信息管理节点将元数据信息存储在关联的信息缓存库中,进而信息管理节点将关联的信息缓存库中的元数据信息周期性同步至信息数据库中。上述技术方案,通过信息管理节点将元数据信息预先暂存在信息缓存库,提高了对元数据信息的实时读写速度,同时,定期将信息缓存库中的元数据信息上传至信息数据库,使得元数据信息可以定期存入磁盘,保证了元数据信息在信息缓存库中丢失可找回,实现了对数据分片中存储数据的元数据信息的收集、归并和整合,从而提高了信息数据库对元数据的处理性能,进而提高了信息数据库的健壮性。
42.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述信息数据库的数量有多个,各信息数据库中存储的数据相同。
43.具体的,信息数据库至少有两个,每个信息数据库中存储的数据相同,即对信息数据库进行至少一次备份,得到至少一个副本,实现多副本存储数据。此外,每个信息数据库存储有各信息缓存库的数据,即每个信息数据库都存储有全量的元数据信息。此外还可以设置某一个信息数据库为主信息数据库,其他的信息数据库均是从信息数据库。
44.上述技术方案,设置信息数据库的数量有多个,各信息数据库中存储的数据相同,从信息数据库可以理解为主信息数据库的备份,可以避免因主信息数据库发生故障造成的数据丢失,保证了数据分片中存储数据的元数据信息收集、归并和整合,提高了信息数据库的健壮性。
45.实施例二
46.图2a为本发明实施例二提供的一种数据处理方法的流程图,本发明实施例在上述实施例的基础上,对“数据采集节点获取分配的数据分片中存储数据的元数据信息”做了进一步细化,提供了一种可选的实施方案。如图2a所示,该数据处理方法具体包括:
47.s201、当检测到数据分片中存储数据发生定义变更引起的元数据信息变更时,信息管理节点生成所述数据分片中存储数据的元数据采集任务,并发送至所述数据分片对应的采集组。
48.其中,数据分片中存储数据是指数据库对象,数据分片中存储数据发生定义变更引起的元数据信息变更可以是指数据库对象自身属性发生改变引起的元数据信息改变,可以包括数据库对象的标识信息、类型、长度、附加信息或分片信息等发生改变引起的元数据信息改变。其中,分片信息可以是指该数据库对象被分配到的数据分片的信息;附加信息可以是给该数据库对象增加的索引类型和索引列等信息。
49.其中,元数据采集任务用于指示数据采集节点采集元数据信息。采集组由至少一个数据采集节点组成。数据分片与采集组对应,采集组采集对应的数据分片中存储数据的元数据信息,相应的,数据分片与该采集组中每个数据采集节点对应。
50.可以通过检测数据定义语言(data definition language,ddl)变更日志,以检测数据分片中存储数据发生定义变更是否引起元数据信息的变更。示例性的,新建或者修改数据分片中存储数据的定义时,引起元数据信息的变更,生成ddl变更日志,或者是在ddl变
更日志中添加相应变更信息。
51.s202、采集组中目标采集节点接收元数据采集任务。
52.其中,目标采集节点可以是指待接收元数据采集任务的数据采集节点,同时,目标采集节点还用于在采集组中分配执行元数据采集任务的数据采集节点。目标采集节点可以是采集组中的数据采集组件领导者(cgmc leader)。每一个采集组中有且仅有一个cgmc leader,该cgmc leader由其对应的信息管理节点指定。该cgmc leader负责本采集组中元数据采集任务的分配、数据采集组件状态监控、采集组内故障切换、动态缩扩容以及和所属mds通信。其中动态缩扩容是指根据需求动态增加或减少当前采集组中处于工作模式的数据采集节点的数量。
53.s203、目标采集节点在采集组中选择数据采集节点,并向数据采集节点分配元数据采集任务。
54.具体的,目标采集节点在其所在的采集组中根据预设的选择规则选择合适的数据采集节点,并将元数据采集任务分配给该数据采集节点。该预设的选择规则可以包括根据数据采集节点负载能力进行选择、根据数据采集节点的工作状态进行选择、根据数据采集节点的故障状态进行选择或者随机选择等。
55.s204、数据采集节点根据元数据采集任务在数据分片中采集存储数据的元数据信息,并发送至数据采集节点对应的信息管理节点。
56.s205、信息管理节点接收元数据信息。
57.s206、信息管理节点将元数据信息存储在关联的信息缓存库中。
58.s207、信息管理节点将关联的信息缓存库中的元数据信息周期性同步至信息数据库中。
59.本发明实施例的技术方案,通过检测数据分片中存储数据发生定义变更引起的元数据信息变更情况来决定信息管理节点是否生成元数据采集任务,避免了重复采集,并实时根据变更信息采集元数据信息,提高了元数据信息更新效率。同时,通过目标采集节点在采集组中选择数据采集节点,并向数据采集节点分配元数据采集任务,实现了元数据采集任务的有效分配,使得元数据采集任务可以准确执行。
60.在上述实施例的基础上,作为本发明实施例的一种可选方式,将“目标采集节点在采集组中选择数据采集节点”具体化为:目标采集节点获取采集组中处于工作模式的节点;目标采集节点在处于工作模式的节点中选择数据采集节点。
61.其中,工作模式是指可执行元数据采集任务的模式。工作模式代表了数据采集节点的采集可用性。处于工作模式的节点可以正常处理元数据采集任务。
62.示例性的,根据预设的数据采集节点的模式配置规则,预先对采集组中的数据采集节点进行模式配置,该模式包括工作模式。之后,目标采集节点获取采集组中处于工作模式的数据采集节点,并从这些处于工作模式的数据采集节点中选择至少一个数据采集节点。
63.本发明实施例的技术方案,通过目标采集节点获取采集组中处于工作模式的节点,之后目标采集节点在处于工作模式的节点中选择数据采集节点。上述技术方案,选择采集组中处于工作模式的数据采集节点来执行元数据据采集任务,可以将采集任务分配给采集组内可用的数据采集节点,进而提高了信息数据库对元数据的处理性能。
64.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述数据处理方法还可以包括:目标采集节点根据采集组包括的节点的节点状态信息,调整采集组包括的节点的模式类型,模式类型包括工作模式或静默模式,节点状态信息包括:采集组的节点的负载状态或者采集组中节点的故障状态。
65.其中,静默模式与上述工作模式相反,上述工作模式是指可执行元数据采集任务的模式,那么静默模式则是指无法执行元数据采集任务的模式,具体可以是将正在处理的任务数量达到最大处理数量,数据节点发生故障以及无法正常工作,或数据采集节点处于节能状态等中至少一项的数据采集节点的模式配置为静默模式。
66.其中,节点的状态信息用于记录采集组中节点的当前状态。负载状态用于表示采集组中节点处理元数据采集任务的状态,根据节点的负载状态可以确定节点的工作能力。故障状态可以包括故障状态和正常状态等。采集组的节点的负载状态和采集组中节点的故障状态用于确定采集组的负载能力。
67.示例性的,目标采集节点根据采集组包括的节点的负载状态和故障状态,调整采集组包括的节点的模式类型。如果采集组中处于工作模式的节点数量大于当前元数据采集任务需要的处于工作模式的节点数量,从采集组中选择多余的节点,将这些节点的模式类型由工作模式调整为静默模式;如果采集组中处于工作模式的节点数量小于等于当前元数据采集任务需要的处于工作模式的节点数量,则将采集组中部分处于静默模式的节点的模式类型由静默模式调整为工作模式。同理,如果采集组的负载能力大于当前元数据采集任务需要的负载能力,从采集组中选择部分处于工作模式的节点,将这些节点的模式类型由工作模式调整为静默模式;如果采集组的负载能力小于等于当前元数据采集任务需要的负载能力,则将采集组中部分处于静默模式的节点的模式类型由静默模式调整为工作模式。
68.本发明实施例的技术方案,目标采集节点根据采集组包括的节点的节点状态信息,调整采集组包括的节点的模式类型,提供了确定采集组中节点模式类型的方法,实现了对采集组内元数据采集任务的均衡分配,实现了对采集组中节点负载状态的实时监控,从而提高了信息数据库对元数据的处理性能,避免高负载导致数据采集失败,提高数据采集系统的稳定性。
69.在上述实施例的基础上,提供了一种元数据管理的流程图,如图2b所示,包括:
70.s21、mds周期性读取ddl变更日志。
71.具体的,mds每隔一个预设的固定时间读取一次ddl变更日志。该预设时间默认为60秒,可自定义配置。
72.s22、检测ddl变更日志中是否有元数据对象发生变更,如果是,则执行s23,如果否,则执行s21。
73.其中,元数据对象是指前述存储数据。
74.s23、更新mdb中的元数据信息。
75.示例性的,增加或者标记删除mdb中元数据对象的记录。
76.s24、mds下发增量对象的元数据采集任务至采集组。
77.其中,增量对象可以是指发生改变的元数据对象。示例性的,mds根据预设的数据分片规则,预先将元数据对象划分到某个数据分片中。在确定增量对象之后,可以确定增量对象所属的数据分片。mds预先将该数据分片分配给某个采集组,并建立和存储该数据分片
与该采集组之间的对应关系。根据增量对象生成元数据采集任务,并下发至该采集组中。
78.s25、采集组分配增量对象的元数据采集任务。
79.示例性的,采集组收到mds下发的增量对象的元数据采集任务后,根据预设的任务分配规则(比如增量对象的唯一编号(identity document,id)取余)分发增量对象的元数据采集任务到对应的数据采集节点。此外,数据采集节点还可以配置模式,具体可以包括工作模式和静默模式。具体的,采集组将增量对象的元数据采集任务分配给处于工作模式的数据采集节点。
80.此外,如果处于工作模式的数据采集节点的负载超过负载阈值,则启用采集组中处于静默模式的数据采集节点,将增量对象的元数据采集任务分配给该数据采集节点。上述元数据管理过程中,采集组可以启用处于静默模式的数据采集节点。如果启用失败,则触发告警,使得采集组仍按照既定规则强制下发增量对象的元数据采集任务到该处于静默模式的数据采集节点。其中,负载阈值是指处于工作模式的数据采集节点可以处理的元数据采集任务的数量;警告用于给用户提供提示信息。
81.示例性的,当前处于工作模式的数据采集节点发生故障,且无处于工作模式的数据采集节点,此时需要启用处于静默模式的数据采集节点。当启用失败时,触发警告,提示用户当前没有处于静默模式的数据采集节点可用。但当前处于工作模式的数据采集节点发生故障,不能够处理元数据采集任务,采集组仍会按照既定规则强制下发增量对象的元数据采集任务到该处于静默模式的数据采集节点。
82.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述数据处理方法还可以包括:信息管理节点获取数据查询请求;信息管理节点根据数据查询请求在信息管理节点关联的信息缓存库和其他信息管理节点关联的信息缓存库中进行查询,其中,信息管理节点对应的采集组和其他信息管理节点对应的采集组不同,信息管理节点对应的采集组包括信息管理节点对应的数据采集节点;在查询结果为空的情况下,信息管理节点根据数据查询请求在信息数据库中进行查询。
83.其中,数据查询请求用于对元数据信息进行查询。信息管理节点的数量可以为至少两个,信息管理节点可以是当前获取数据查询请求的信息管理节点,其他信息管理节点则是指区别于该信息管理节点的信息管理节点。其他信息管理节点和信息管理节点,均会定期上报关联的信息缓存库中元数据信息至信息数据库。
84.其中,信息管理节点对应的采集组和其他信息管理节点对应的采集组不同是指信息管理节点和其他信息管理节点分别对应不同的采集组。信息管理节点用于接收对应的采集组上报的元数据信息,并存储在该信息管理节点关联的信息缓存库中,而其他信息管理节点用于接收对应的采集组上报的元数据信息,并存储在该其他信息管理节点关联的信息缓存库中。实际上,信息管理节点和其他信息管理节点分别对应不同的采集组,并且不同采集的数据分片不同,相应采集的元数据信息不同,相应的,上传信息管理节点关联的信息缓存库中缓存的数据与其他信息管理节点关联的信息缓存库中缓存的数据不同。
85.数据查询请求查询的元数据信息可以存储在信息管理节点关联的信息缓存库中,或者可以存储在其他信息管理节点关联的信息缓存库中。每个接收到数据查询请求的信息管理节点都可以在全部的信息缓存库中查询元数据信息。
86.其中,查询结果为空的情况可以包括信息管理节点在其关联的信息缓存库和其他
信息管理节点关联的信息缓存库中都没有查询到存储数据查询请求中对应的元数据信息的情况、或者信息管理节点关联的信息缓存库和其他信息管理节点关联的信息缓存库中的元数据信息已经清空的情况等。此时,可以在信息数据库中查询数据查询请求中对应的元数据信息。
87.实际上,信息缓存库存储数据是缓存数据,读写速度快,而信息数据库存储数据是写入磁盘中,读写速度慢,优先在信息缓存库中查询,再在信息数据库中查询,可以提高数据查询效率。
88.本发明实施例的技术方案,通过信息管理节点获取数据查询请求,之后信息管理节点根据数据查询请求在信息管理节点关联的信息缓存库和其他信息管理节点关联的信息缓存库中进行查询,随后在信息缓存库中没有的情况下(即在查询结果为空的情况下),信息管理节点根据数据查询请求在信息数据库中进行查询,减轻了信息数据库访问的压力,实现了元数据信息的多级管理,优先在读写速度快的缓存库中查询数据,提高数据查询速度。
89.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述数据处理方法,还可以包括:在信息管理节点为目标管理节点的情况下,目标管理节点获取其他信息管理节点的故障状态;在存在故障状态为故障的其他信息管理节点的情况下,目标管理节点将故障的其他信息管理节点对应的采集组,分配到故障状态为正常的其他信息管理节点,以使故障状态为正常的其他信息管理节点接收故障的其他信息管理节点对应的采集组上报的元数据信息。
90.其中,目标管理节点可以是信息管理节点领导者(mds leader),通常在多个信息管理节点中,即前述的信息管理节点和其他信息管理节点中,存在一个mds leader,而剩余信息管理节点可以是信息管理节点跟随者(mds follower)。目标管理节点还用于协调所有的信息管理节点。此外,信息管理节点还可以是信息管理节点跟随者,而其他信息管理节点中某个信息管理节点为信息管理节点领导者。故障状态用于描述节点是否故障,是否可以正常工作等。目标管理节点通过心跳包或者其他方式检测其他信息管理节点的故障状态。故障状态可以包括故障状态和正常状态等。
91.示例性的,目标管理节点在预先设定的关于信息管理节点的表格中获取其他信息管理节点的故障状态,根据获取的其他信息管理节点的故障状态,将故障状态为故障的其他信息管理节点的对应采集组分配到故障状态为正常的其他信息管理节点,以使故障状态为正常的其他信息管理节点接收故障的其他信息管理节点对应的采集组上报的元数据信息,以避免故障的其他信息管理节点对应的采集组上报的元数据信息丢失。
92.本发明实施例的技术方案,通过在信息管理节点为目标管理节点的情况下,目标管理节点获取其他信息管理节点的故障状态;在存在故障状态为故障的其他信息管理节点的情况下,目标管理节点将故障的其他信息管理节点对应的采集组,分配到故障状态为正常的其他信息管理节点,以使故障状态为正常的其他信息管理节点接收故障的其他信息管理节点对应的采集组上报的元数据信息。上述技术方案,实现了信息管理节点之间的故障切换,规避了元数据信息无法上报的情况,避免数据丢失,提高数据传输准确性和数据库中元数据信息完整性。
93.此外,可选的,在数据查询过程中,任意一个信息管理节点接收到数据查询请求可
以转发至目标管理节点中,由目标管理节点优先在各信息缓存库中查询,再在信息数据库中查询。而其他信息管理节点不进行查询。或者任意一个信息管理节点均可以进行查询,对此可以根据信息管理节点性能具体限定。
94.实施例三
95.图3a为本发明实施例三提供的一种数据处理系统的结构图。本实施例可适用于对基于单机分布式数据库数据节点中存储数据的元数据信息进行统一收集、归并和整合的情况,该数据处理系统可以采用硬件和/或软件的形式实现,该数据处理系统可配置于分布式数据库系统中。如图3a所示,该数据处理系统包括:数据采集节点10、信息管理节点20、信息管理节点20关联的信息缓存库30和信息数据库40;图3a中,数据采集节点10、信息管理节点20、信息缓存库30和信息数据库40都可以有多个,信息管理节点20与数据采集节点10对应,信息缓存库30与信息管理节点20对应关联,信息管理节点20将接收到的元数据信息存储于与其对应关联的信息缓存库30中,在信息管理节点的数量为多个时,每个信息管理节点20均对应存在关联的信息缓存库30,不同信息管理节点20接收到的元数据信息不同,相应存入关联的信息缓存库30的元数据信息不同;rdb(m)表示主信息数据库,其对应的矩形的颜色为灰色,用于表示主信息数据库当前正在工作;rdb(s)表示从信息数据库,mds表示信息管理节点,mdb表示信息缓存库。rdb(m)和rdb(s)均存储有全量元数据信息。rdb(s)相当于是rdb(m)的副本。
96.其中,数据采集节点10,用于获取分配的数据分片中存储数据的元数据信息,并发送至对应的信息管理节点20;信息管理节点20,用于接收元数据信息;信息管理节点20,用于将元数据信息存储在关联的信息缓存库30中;信息管理节点20,用于将关联的信息缓存库30中的元数据信息周期性同步至信息数据库40中。
97.其中,数据采集节点10可以与数据节点相同,也可以与数据节点不同。在数据节点中配置cgmc时,该数据节点可以作为数据采集节点10。
98.其中,信息管理节点20与数据采集节点10对应,信息管理节点20向至少一个数据采集节点10分配至少一个数据分片。数据采集节点10将采集到的其分配的数据分片中存储数据的元数据信息,上传给该信息管理节点20。
99.本发明实施例的技术方案,通过数据采集节点10获取分配的数据分片中存储数据的元数据信息,并发送至数据采集节点对应的信息管理节点20,之后信息管理节点20接收元数据信息,随后信息管理节点20将元数据信息存储在关联的信息缓存库30中,进而信息管理节点20将关联的信息缓存库30中的元数据信息周期性同步至信息数据库40中。上述数据处理系统,通过信息管理节点将元数据信息预先暂存在信息缓存库,提高了对元数据信息的实时读写速度,同时,定期将信息缓存库中的元数据信息上传至信息数据库,使得元数据信息可以定期存入磁盘,保证了元数据信息在信息缓存库中丢失可找回,实现了对数据分片中存储数据的元数据信息的收集、归并和整合,提高了该系统中信息数据库对元数据的处理性能,提高了该系统中信息数据库的健壮性。同时,该系统可以向用户提供对全局元数据信息的查询功能,实现了对全局元数据信息的实时监控。
100.在上述实施例的基础上,作为本发明实施例的一种可选方式,如图3b所示,所述数据处理系统,还可以包括:采集组50,采集组50包括目标采集节点60和数据采集节点10;采集组50由至少一个数据采集节点组成。在图3b中,颜色为灰色且标有cgmc的矩形表示目标
数据采集节点60,其他标有cgmc的矩形表示数据采集节点10,图中有六个采集组50,每一个采集组50中都包含四个数据采集节点10,且每一个采集组50中有且仅有一个目标数据采集节点60。此外,一个采集组可以更配置更多(如6)或更少(如1)的数据采集节点,一个采集组包括的数据采集节点的数量不具体限定。
101.其中,信息管理节点20,用于当检测到数据分片中存储数据发生定义变更引起的元数据信息变更时,生成元数据采集任务,并发送至数据分片对应的采集组50。
102.其中,数据分片中存储数据是指数据库对象,数据分片中存储数据发生定义变更引起的元数据信息变更可以是指数据库对象自身属性发生改变引起的元数据信息改变,可以包括数据库对象的标识信息、类型、长度、附加信息或分片信息等发生改变引起的元数据信息改变。其中,分片信息可以是指该数据库对象被分配到的数据分片的信息;附加信息可以是给该数据库对象增加的索引类型和索引列等信息。
103.示例性的,数据分片中存储数据发生定义变更引起的元数据信息发生变更时,生成ddl变更日志。信息管理节点20周期性读取ddl变更日志,当检查到数据分片中存储数据的元数据信息发生变更时,首先更新信息缓存库30中的元数据信息,然后信息管理节点20根据预设的存储数据分片规则,生成变更的元数据信息的元数据采集任务,并将其发送至数据分片对应的采集组50。
104.其中,目标采集节点60,用于接收元数据采集任务;目标采集节点60,用于在采集组50中选择数据采集节点10,并向数据采集节点10分配元数据采集任务。
105.具体的,目标采集节点60在其所在的采集组中根据选择规则选择合适的数据采集节点10,并将元数据采集任务分配给该数据采集节点10。该选择规则可以包括根据数据采集节点10负载能力进行选择、根据数据采集节点10的工作状态进行选择、根据数据采集节点10的故障状态进行选择或者随机选择等。
106.示例性的,目标采集节点60在其所在的采集组中,根据数据采集节点10的负载能力和其工作状态来选择数据采集节点10。如果数据采集节点10的负载能力存在冗余,且该数据采集节点10的工作状态为工作模式,则该数据采集节点10可以被选择;如果数据采集节点10的负载能力不足,或者该数据采集节点10的工作状态为静默模式,则该数据采集节点10不可以被选择。从可以被选择的数据采集节点10中选择一个数据采集节点10,并向该数据采集节点10分配元数据采集任务。
107.其中,数据采集节点10,用于根据元数据采集任务在数据分片中采集存储数据的元数据信息。
108.本发明实施例的技术方案,向所述系统中加入了采集组,将元数据采集任务分配给采集组,由采集组作为最小的元数据信息管理单元,通过目标采集节点在采集组中选择数据采集节点,并向数据采集节点分配元数据采集任务,实现了该系统中采集组内数据采集节点的负载均衡,实现了元数据采集任务的有效分配,使得元数据采集任务可以准确执行。同时,该系统可以用于提前预警。
109.此外,该数据处理系统对数据分片中存储数据的元数据信息的收集、归并和整合的总体流程图,如图3c所示,具体包括:
110.s31、系统安装阶段分配mds和采集组以及两者间的映射关系;给数据节点配置cgmc,并给cgmc分配角色以及给数据节点分配管理的存储数据。
111.其中,mds作为元数据信息的全局管理者,其包含两个角色,mds leader和mds follower,mds leader全局只有一个,用于协调所有的信息管理节点定期上报元数据信息给信息数据库。mds follower用于执行mds leader分配的任务。mds和采集组之间的映射关系可以是根据mds分配角色的相似规则给采集组分配cgmc leader和cgmc follower。其中,cgmc leader负责本采集组中元数据采集任务的分配、数据采集组件状态监控、采集组内故障切换、动态缩扩容以及和所属mds通信。cgmc follower根据cgmc leader下发的元数据采集任务定期采集其数据节点的元数据信息,并将其上报至cgmc leader。
112.s32、cgmc定期采集其所管理的存储数据的元数据信息,并上报给cgmc leader。
113.其中,cgmc可以是cgmc follower,也可以是cgmc leader自身。
114.s33、cgmc leader负责本采集组中元数据信息的整合、校对和上报,同时负责本采集组中cgmc的管理和元数据采集任务的分配。
115.此外,cgmc leader对于没有及时上报的cgmc进行重新连接通讯,连接超时失败后,将该cgmc列入待分配名单,触发cgmc leader的元数据采集任务再分配机制或者触发备选的cgmc接管分配失败的元数据采集任务,重新执行元数据采集任务,采集成功后上报至mds。
116.s34、各mds管理所辖的采集组的上报流程和所辖的采集组中元数据信息的整合流程。
117.示例性的,各mds校验其所辖的采集组中的元数据信息,给发生变更的元数据信息添加元数据信息更新的时间戳,将该更新后的元数据信息上传至mdb。
118.s35、mds leader负责全局元数据信息的总调度,将全局元数据信息定期汇总至主rdb。
119.具体的,mds leader负责全局元数据信息的收集、归并和整合,并将整合后的全局元数据信息定期汇总至主rdb。
120.在上述实施例的基础上,作为本发明实施例的一种可选方式,所述数据处理系统,所述信息管理节点20为目标管理节点20,还可以包括:其他信息管理节点70,如图3d所示,标有mds且颜色为灰色的矩形为目标管理节点20,相应关联的mdb为目标信息缓存库30,其他标有mds的矩形为其他信息管理节点70,相应关联的mdb为其他信息缓存库80。
121.其中,目标管理节点20,用于获取其他信息管理节点70的故障状态;目标管理节点20,用于在存在故障状态为故障的其他信息管理节点70的情况下,将故障的其他信息管理节点70对应的采集组50,分配到故障状态为正常的其他信息管理节点70,以使故障状态为正常的其他信息管理节点70接收故障的其他信息管理节点70对应的采集组50上报的元数据信息。
122.其中,目标管理节点20即mds leader,用于协调所有的信息管理节点定期上报元数据信息给信息数据库。故障状态通过进程状态和链路状态综合判断。
123.本发明实施例的技术方案,将数据处理系统中的信息管理节点做了区分,将其分为目标管理节点和其他信息管理节点,并赋予它们不同的功能,使得全局元数据信息可以被目标管理节点统一的上报给信息数据库,保证了全局元数据信息的一致性,实现了对数据分片中存储数据的元数据信息的统一收集、归并和整合。
124.本发明实施例所提供的数据处理系统,可执行本发明任意实施例所提供的数据处
理方法,具备执行各数据处理方法相应的功能模块和有益效果。
125.实施例四
126.图4示出了可以用来实施本发明的实施例的电子设备400的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
127.如图4所示,电子设备400包括至少一个处理器401,以及与至少一个处理器401通信连接的存储器,如只读存储器(rom)402、随机访问存储器(ram)403等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器401可以根据存储在只读存储器(rom)402中的计算机程序或者从存储单元408加载到随机访问存储器(ram)403中的计算机程序,来执行各种适当的动作和处理。在ram403中,还可存储电子设备400操作所需的各种程序和数据。处理器401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
128.电子设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
129.处理器401可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器401执行上文所描述的各个方法和处理,例如数据处理方法。
130.在一些实施例中,数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到ram403并由处理器401执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
131.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
132.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合
来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
133.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
134.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
135.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
136.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
137.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
138.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1