[发明专利]记录事务日志的方法和数据库引擎有效
申请号: | 201310744292.5 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103729442B | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 于巍;刘辉军;聂愿愿 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 黄厚刚 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种记录事务日志的方法和数据库引擎,属于数据库技术领域。所述方法包括接收SQL请求;根据该SQL请求,修改该SQL请求对应的数据页;为所述修改生成对应的事务日志;对所述事务日志进行分区得到多个日志片段,将该多个日志片段写入到多个缓存队列中,并行将所述多个缓存队列中的日志片段写入到日志文件中。所述数据库引擎包括接收模块、修改模块、生成模块和写入模块。本发明实现了并行记录事务日志,由于缓存队列为多个,且写入日志文件是并行处理方式,因此,不仅减小了事务日志缓存队列的锁粒度,而且极大地提高了日志文件写磁盘的速度,提高了数据库系统的性能,提升了用户体验。 | ||
搜索关键词: | 记录 事务 日志 方法 数据库 引擎 | ||
【主权项】:
一种记录事务日志的方法,其特征在于,所述方法包括:接收结构化查询语言SQL请求;根据所述SQL请求,修改所述SQL请求对应的数据页;为所述修改生成对应的事务日志;对所述事务日志进行分区得到多个日志片段;将所述多个日志片段写入到多个缓存队列中,并行将所述多个缓存队列中的日志片段写入到日志文件中;所述对所述事务日志进行分区得到多个日志片段;将所述多个日志片段写入到多个缓存队列中,并行将所述多个缓存队列中的日志片段写入到日志文件中,包括:判断所述事务日志的类型;如果所述事务日志的类型是并行执行日志,则对所述事务日志进行分区得到多个日志片段,将所述多个日志片段写入到多个并行执行的缓存队列中;并行将所述多个缓存队列中的日志片段写入多个并行执行日志文件中;其中,所述并行执行日志是指所述修改是不需要保证顺序的修改时生成的事务日志;所述判断所述事务日志的类型之后,还包括:如果所述事务日志的类型是优先执行日志,则将所述事务日志写入到优先执行的缓存队列中;将所述优先执行的缓存队列中的所述事务日志写入优先执行日志文件中;其中,所述优先执行日志是指所述修改是需要保证顺序的修改时生成的事务日志;所述对所述事务日志进行分区得到多个日志片段,将所述多个日志片段写入到多个并行执行的缓存队列中,包括:根据所述事务日志中的每条记录的文件号、页号和页内位置按照预设规则确定每条记录对应的并行执行的缓存队列;并行将每条记录写入对应的缓存队列中;其中,所述预设规则为与同一个数据页有关的记录对应到同一个并行执行的缓存队列中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310744292.5/,转载请声明来源钻瓜专利网。