[发明专利]一种写入日志的方法、装置、可读存储介质及电子设备在审
申请号: | 202211739510.1 | 申请日: | 2022-12-31 |
公开(公告)号: | CN116204584A | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 徐泉清;韩富晟;肖金亮;杨传辉 | 申请(专利权)人: | 北京奥星贝斯科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/21;G06F16/18;G06F9/54;G06F13/28 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 董晓盈 |
地址: | 100020 北京市朝阳区东三*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 写入 日志 方法 装置 可读 存储 介质 电子设备 | ||
本说明书公开了一种写入日志的方法、装置、可读存储介质及电子设备,本方法通过将分布式数据库中被写入节点预留的多个其他写入节点相应的日志缓冲区,合并成对应于两个以上写入节点的共享缓冲区,多个写入节点向同一个被写入节点写入日志时,均对被写入节点中的共享缓冲区操作即可,因此不会造成存储空间浪费,当分布式数据库增加节点时,也无需每增加节点就添加新的日志缓冲区,不会限制整个分布式数据库的规模。并且,当多个写入节点向同一个被写入节点同时写入日志时,本方法可通过原子操作,为不同的写入节点分配互不冲突的写入起始位置,从而可在共享日志缓冲区的前提下,避免写入日志冲突的问题。
技术领域
本说明书涉及计算机技术领域,尤其涉及一种写入日志的方法、装置、可读存储介质及电子设备。
背景技术
目前,随着互联网的发展,分布式数据库也得到了广泛应用,以更好的保护用户的隐私数据。为了应对分布式数据库的节点因故障而导致的数据丢失,备份节点中的数据是非常必要的。
通常的,第二节点(以下称为被写入节点)备份第一节点(以下称为写入节点)中的数据时,写入节点需要将自身保存的数据操作的日志写入被写入节点,被写入节点根据写入的日志进行回放,即可实现对写入节点的数据的备份。
如何实现写入节点向被写入节点写入日志是一个亟待解决的问题。
发明内容
本说明书提供一种写入日志的方法、装置、可读存储介质及电子设备,以至少部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种写入日志的方法,所述方法应用于分布式数据库中的写入节点,所述分布式数据库中的被写入节点中包括对应于两个以上写入节点的共享缓冲区;所述方法包括:
所述写入节点生成待写入日志;
对所述被写入节点发起原子操作,并接收所述被写入节点基于所述原子操作返回的返回值;
根据所述返回值,确定所述待写入日志在所述共享缓冲区中写入的起始位置;
根据所述起始位置,将所述待写入日志写入到所述被写入节点的共享缓冲区中。
可选地,所述写入节点生成待写入日志,具体包括:
所述写入节点生成长度为预设长度的待写入日志;
当两个以上写入节点同时对所述被写入节点发起原子操作时,所述被写入节点返回给所述两个以上写入节点的返回值各不相同,且各返回值之间的间隔至少为所述预设长度。
可选地,对所述被写入节点发起原子操作,具体包括:
对所述被写入节点发起基于远程直接数据存取RDMA的FAA操作。
可选地,所述共享缓冲区为环形缓冲区;
将所述待写入日志写入到所述被写入节点的共享缓冲区中,具体包括:
所述写入节点确定自身记录的所述被写入节点的共享缓冲区中存储的有效日志的头位置,并确定将所述待写入日志写入到所述共享缓冲区后所述共享缓冲区中存储的有效日志的尾位置;
判断从所述头位置到所述尾位置对应的存储空间是否大于所述共享缓冲区的存储空间;
若否,将所述待写入日志写入到所述被写入节点的共享缓冲区中。
可选地,当从所述头位置到所述尾位置对应的存储空间大于所述共享缓冲区的存储空间时,所述方法还包括:
从所述被写入节点中读取所述共享缓冲区中存储的有效日志的头位置;
判断从读取的头位置到所述尾位置对应的存储空间是否大于所述共享缓冲区的存储空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奥星贝斯科技有限公司,未经北京奥星贝斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211739510.1/2.html,转载请声明来源钻瓜专利网。