首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

实现OpenGauss数据库主从复制模式下从机快速保持与主机数据一致性的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:广州海量数据库技术有限公司

摘要:本发明属于关系型数据库管理及操作系统技术领域,尤其涉及一种实现OpenGauss数据库主从复制模式下从机快速保持与主机数据一致性的方法及其用途。本方法通过改造现有的WAL回放线程,将备库回放线程工作由单独线程回放拆分为多线程并行回放,并将WAL类型区分为事务日志和非事务日志,针对事务日志,仍采用单独线程回放,以避免乱序事件的发生,针对非事务日志,采用多线程并行回放,以加快WAL回放速度。利用本方法能够使备库快速完成WAL回放,减少WAL累积,保持主库和备库WAL差值始终在设定的阈值范围之内,显著提高主从复制模式下OpenGauss数据库的对外服务能力,为数据库性能的正常发挥提供技术保障。

主权项:1.一种实现OpenGauss数据库主从复制模式下从机快速保持与主机数据一致性的方法,其特征在于,本方法通过改造现有的WAL回放线程,将备库回放线程工作由单独线程回放拆分为多线程并行回放,并将WAL类型区分为事务日志和非事务日志,所述事务日志包括事务操作相关日志,所述非事务日志包括数据操作相关日志;针对事务日志,本方法仍采用单独线程回放,以避免乱序事件的发生,针对非事务日志,本方法采用多线程并行回放,以加快WAL回放速度;当对非事务日志采用多线程并行回放处理时,如果非事务日志之间存在依赖关系,则将依赖关系区分为事务内依赖关系和事务间依赖关系,针对不同类型的依赖关系,采用下述不同的处理方法:(一)针对事务内依赖关系,当一个事务内存在对同一操作对象多次操作的WAL时,并行回放时根据从WAL信息中获取到的标识该操作对象物理位置的数字标号计算回放此日志的工作线程编号,由于标识操作对象物理位置的数字标号具有唯一性,从而保证了包含同一操作对象的所有非事务日志都由同一个工作线程回放;(二)针对事务间依赖关系,对并行回放的WAL进行封装,并在封装结构中保存相关的标记信息,同时在数据库内核中设置WAL类型和分派函数映射关系,针对不同类型的WAL调用与之相匹配的分派函数,由分派函数处理事务间的依赖关系;所述针对不同类型的WAL调用与之相匹配的分派函数,由分派函数处理事务间的依赖关系,具体包括以下处理方式:(1)当WAL的类型为RM_HEAP_ID时,对应的分派函数为DispatchHeapRecord,DispatchHeapRecord根据WAL是否涉及数据块改动来决定该WAL由哪个REDO_BATCH线程回放:(a)若max_block_id=0,表明涉及数据块改动,遍历每个数据块,依据数据块的物理文件OID来选择分组,保证物理文件OID相同的WAL由同一个工作线程回放;(b)若max_block_id0,表明不涉及数据块改动,则将WAL分派给多个工作线程并行回放;(2)当WAL的类型为RM_STANDBY_ID时,对应的分派函数为DispatchStandbyRecord,DispatchStandbyRecord将此WAL分派给REDO_TRXN_MNG线程回放;(3)当WAL的类型为RM_XACT_ID时,对应的分派函数为DispatchXactRecord,DispatchXactRecord首先判断此WAL是否会删除文件:(a)如果会删除文件,则将此WAL分派给所有的REDO_BATCH线程回放;(b)如果不删除文件,则将此WAL分派给REDO_TRXN_MNG线程回放。

全文数据:

权利要求:

百度查询: 广州海量数据库技术有限公司 实现OpenGauss数据库主从复制模式下从机快速保持与主机数据一致性的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。