System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,尤其是涉及一种分布式数据库并行数据采集处理方法。
技术介绍
1、数据库变更数据采集通常是利用逻辑日志输出方式来实现,即每条日志主要是数据库表记录的增、删、改的内容,另一种方式比较少见,即直接输出原始格式的日志,即物理日志或bin日志。
2、分布式数据库虽然对用户呈现的是一个单一的数据库,但在实际部署上它却是一个数据库集群。所有的数据在集群中可以分散到多个逻辑或物理数据节点上,后面统称为数据节点,每个数据节点都可以独立输出自己的日志,分布式数据库同样要具备事务特性,但不同的是,分布式数据库的事务较为复杂,主要体现在一个全局事务涉及的数据可以分布在多个数据节点上。
3、在数据采集的时候,由于用户从每个分布式节点分别拉去日志,然后进行处理,但众所周知,来自每个节点的日志流不仅快慢不一,而且中途可能会发生各种异常和故障,如果在处理的时候,不能为属于同一个全局事务的数据的整体保持事务性,那么就丧失了分布式事务一致性,导致处理后的数据的完整性被破坏。
4、通常,业界采用的方式为,将从每个分布式节点拉取的日志,首先经过某种方式,按照全局事务为单位进行合并同时,还要保证合并后的全局事务维持上述的“全局唯一、单调递增”的特性,这里简称这种操作为串行化操作,通过这种操作来保证分布式事务一致性,经过串行化后的数据,能真正开始用户的数据处理过程。
5、但显而易见,串行化操作的一个最大的问题就是效率低下,它必须要将来自多个分布式节点的并行流,经过复杂的操作,组装成唯一一条输出流,分布式
技术实现思路
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、通过分布式数据库和消息队列的设计,提高了系统的可用性和容错性,即使部分节点或组件发生故障,也不会影响整个系统的正常运行。
本文档来自技高网...【技术保护点】
1.一种分布式数据库并行数据采集处理方法,其特征在于,包括:
2.根据权利要求1所述的一种分布式数据库并行数据采集处理方法,其特征在于:
3.根据权利要求1所述的一种分布式数据库并行数据采集处理方法,其特征在于:
4.根据权利要求3所述的一种分布式数据库并行数据采集处理方法,其特征在于:
5.根据权利要求1所述的一种分布式数据库并行数据采集处理方法,其特征在于:
6.根据权利要求2所述的一种分布式数据库并行数据采集处理方法,其特征在于:
7.根据权利要求2所述的一种分布式数据库并行数据采集处理方法,其特征在于:
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-7任一所述的一种分布式数据库并行数据采集处理方法。
9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要
10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一所述的一种分布式数据库并行数据采集处理方法。
...【技术特征摘要】
1.一种分布式数据库并行数据采集处理方法,其特征在于,包括:
2.根据权利要求1所述的一种分布式数据库并行数据采集处理方法,其特征在于:
3.根据权利要求1所述的一种分布式数据库并行数据采集处理方法,其特征在于:
4.根据权利要求3所述的一种分布式数据库并行数据采集处理方法,其特征在于:
5.根据权利要求1所述的一种分布式数据库并行数据采集处理方法,其特征在于:
6.根据权利要求2所述的一种分布式数据库并行数据采集处理方法,其特征在于:
7.根据权利要求2所述的一种分布式数据库并行数据采集处理方法,其特征在于:
8.一种...
【专利技术属性】
技术研发人员:谷裕,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。