广播表数据的写入方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-11-06 14:39:19
本技术涉及计算机,尤其涉及一种广播表数据的写入方法、装置、电子设备及存储介质。
背景技术:
1、在计算和存储分离的分布式数据库架构下,广播表存在于所有的dn(data node,数据节点)上,广播表的数据结构以及广播表中的数据在每个数据节点上均完全一致。
2、广播表在系统中具有数据量小、变动少的特点,是高频联合查询的依赖表,通常适用于需要与海量数据的表进行关联查询的场景,广播表可用于计算下推、降低cn(computernode,计算节点)上搬迁数据和计算的开销。
3、在进行广播表数据的写入时,计算节点需要开启分布式事务,向多个数据节点写入数据。为保证广播表数据在多个数据节点上的一致性,即使向广播表写入一条数据,计算节点也需要向多个数据节点开启分布式事务,这样的写入方式大大增加了分布式数据库的系统开销。
技术实现思路
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、第一生成模块,用于根据所述数据写入操作生成写入日志;
32、第一发送模块,用于发送所述写入日志至第一数据备节点,以使所述第一数据备节点对第二广播表进行与所述写入日志对应的所述数据写入操作;其中,所述第一数据备节点为所述第一数据主节点关联的数据备节点,所述第二广播表为所述第一数据备节点的广播表;
33、第二发送模块,用于响应于第一写入成功信息,发送所述写入日志至第二数据主节点,以使所述第二数据主节点对第三广播表进行与所述写入日志对应的所述数据写入操作;其中,所述第一写入成功信息为数据备节点在完成所述数据写入操作后生成的信息,所述第三广播表为所述第二数据主节点的广播表。
34、第三方面,本技术提供了一种电子设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述处理器被配置为用于执行本技术上述第一方面所述的一种广播表数据的写入方法。
35、第四方面,本技术还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本技术上述第一方面所述的一种广播表数据的写入方法。
36、本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
37、本技术实施例提供的该方法,当第一数据主节点接收到数据写入指令对第一广播表完成数据写入操作后,将生成对应的写入日志,基于写入日志,第一数据备节点完成对第二广播表的数据写入操作,第二数据主节点完成对第三广播表的数据写入操作。
38、通过本技术提供的技术方案,在进行广播表的数据写入操作时,计算节点无需同现有技术一样向各个数据节点开启分布式事务,只需以一个第一数据主节点为主,向多个第一数据备节点以及多个第二数据主节点广播写入日志即可。通过本技术提供的技术方案,在进行广播表的数据写入操作时,计算节点的负担大大减少,有效的降低了在进行广播表数据的写入时分布式数据库的系统开销。
本文地址:https://www.jishuxx.com/zhuanli/20241106/323337.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表