[发明专利]一种写入batch group串行化逻辑的优化方法在审
申请号: | 202110841902.8 | 申请日: | 2021-07-26 |
公开(公告)号: | CN113590036A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 刘梦真 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 写入 batch group 串行 逻辑 优化 方法 | ||
1.一种写入batch group串行化逻辑的优化方法,其特征在于,每个batch使用独立的线程,基于滑动窗口机制来实现WAL的并发写入,多次并发访问小IO,维护一个WAL目录,每个batch对应生成一个单独的小log文件。
2.根据权利要求1所述的一种写入batch group串行化逻辑的优化方法,其特征在于,具体步骤如下:
S1、以WriteBatch对象为载体;
S2、每个写线程生成一个WriteThread::Write的实例;
S3、维护一个窗口,链表中的Writer对象可以被分为4类;
S4、链表中的每个Writer设置SequenceNumber的过程是串行的;
S5、窗口内的写线程开始并发写入WAL时,生成log之后需要判断前面的batch是否已经全部写入完成;
S6、完成WAL写入后开始写入MemTable;
S7、完成MemTable写入后,需要更新VersionSet中last_sequence_的值;
S8、Writer对象在完成MemTable写入之后退出。
3.根据权利要求2所述的一种写入batch group串行化逻辑的优化方法,其特征在于,在步骤S1中,在数据库系统中,会涌入接连不断的写请求,每个写请求包含一条或者多条操作,将一条或者多条操作的记录封装到WriteBatch,RocksDB的每次写入都以一个WriteBatch对象为载体。
4.根据权利要求3所述的一种写入batch group串行化逻辑的优化方法,其特征在于,在步骤S2中,每个写线程生成一个WriteThread::Write的实例,关联到对应的一个WriteBatch对象,将多个Writer对象用链表串起来,从而处理并发。
5.根据权利要求4所述的一种写入batch group串行化逻辑的优化方法,其特征在于,在步骤S3中,维护一个窗口,链表中的Writer对象可以被分为4类:
(1)、开始写入事务日志,且已收到确认;
(2)、开始写入事务日志,但未收到确认;
(3)、尚未写入事务日志,但允许写入;
(4)、尚未写入事务日志,且不允许写入;
其中,类型(2)和类型(3)都位于窗口范围内;
窗口大小代表允许并发写入WAL的最大线程数,窗口在接收到确认序号后,才会移动窗口的左边界。
6.根据权利要求5所述的一种写入batch group串行化逻辑的优化方法,其特征在于,在步骤S4中,每个Writer设置一个SequenceNumber,第一个进入队列的Writer的SequenceNumber等于当前VersionSet中的last_allocated_sequence_值,后续Writer的SequenceNumber则等于前一个Writer的SequenceNumber加上前一个Writer的batch中记录的数目;
为链表中的每个Writer设置SequenceNumber的过程是串行的。
7.根据权利要求6所述的一种写入batch group串行化逻辑的优化方法,其特征在于,在步骤S5中,窗口内的写线程开始并发写入WAL时,生成log之后需要判断前面的batch是否已经全部写入完成:
当还有前面序号的batch未完成写入但已经有后面序号的batch完成写入的情况下,不会返回确认序号,并且也不会对后续的写入进行确认;此时,当前的log文件也不会刷入磁盘,而是进行缓存,只有当前序号的batch全部写入完成后,才会与累积在缓存中的log文件一起进行刷盘操作,更新SequenceNumber,等于原本的SequenceNumber加上该batch的记录数目,然后将新的SequenceNumber返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110841902.8/1.html,转载请声明来源钻瓜专利网。