[发明专利]基于IOURING技术的数据库WAL落盘方法及系统在审
| 申请号: | 202210117884.3 | 申请日: | 2022-02-08 |
| 公开(公告)号: | CN114490856A | 公开(公告)日: | 2022-05-13 |
| 发明(设计)人: | 梁波;贾德星;张炜刚 | 申请(专利权)人: | 山东浪潮科学研究院有限公司 |
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/50;G06F9/46 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
| 地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 iouring 技术 数据库 wal 方法 系统 | ||
1.一种基于IOURING技术的数据库WAL落盘方法,其特征在于,该方法是通过使用生产者消费者模式处理WAL落盘,生产者为提供日志数据的事务线程;消费者为一个将日志数据真正落盘的线程,使用DIRECTIO模式打开log文件,IOURING的系统调用方式异步写入数据,并在日志数据写入成功后唤醒相应的事务线程继续处理。
2.根据权利要求1所述的基于IOURING技术的数据库WAL落盘方法,其特征在于,日志数据的处理流程具体如下:
(一)、每次log文件切换时,将上次的日志数据与信号量列表清除,关闭上次的log文件;其中,一个log文件对应一个日志数据与信号量列表;
(二)、创建新的log文件以及日志数据与信号量列表;其中,创建新的log文件时,使用direct io模式打开该log文件;
(三)、数据库系统启动时,启动一个落盘线程;
(四)、从日志数据和信号量列表中按照顺序读取需要落盘的日志数据;
(五)、日志数据落盘:将数据写入存储设备;
(六)、通过信号量唤醒日志数据对应的事务线程;
(七)、判断数据库系统是否关闭:
①、若是,则落盘线程结束;
②、若否,则跳转至步骤(四)。
3.根据权利要求1或2所述的基于IOURING技术的数据库WAL落盘方法,其特征在于,事务线程是在应用程序更新或插入数据库系统数据的线程,具体如下:
(1)、生成日志数据;
(2)、将日志数据和自身线程的信号量写入日志数据和信号量列表中;
(3)、事务线程阻塞等待该信号量唤醒后再继续。
4.根据权利要求3所述的基于IOURING技术的数据库WAL落盘方法,其特征在于,信号量是在多线程环境下使用的一种设施,用于线程间的同步与互斥;安排线程执行的先后顺序就是同步,每个线程均有先后执行顺序;
事务线程的信号量是指事务线程中定义的信号量,事务线程在执行过程中会被信号量阻塞,直到该信号量被唤醒,事务线程才会继续执行。
5.根据权利要求4所述的基于IOURING技术的数据库WAL落盘方法,其特征在于,日志数据和信号量列表结构包括存储日志数据的内存块数组和事务线程的信号量队列;
日志数据和信号量列表以设定大小的块为单位申请内存空间,用于存储日志数据;log文件创建时只有一个块,随着日志数据的增加,会申请新的块来存储;
信号量队列中存储事务线程的信号量和对应的日志数据在内存块存储的偏移量信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮科学研究院有限公司,未经山东浪潮科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210117884.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种球团矿余热和烧结矿余热联合脱硝装置及方法
- 下一篇:直线运动台





