[发明专利]面向shared-nothing架构分布式数据库高冲突事务处理方法及系统在审
申请号: | 202210820426.6 | 申请日: | 2022-07-13 |
公开(公告)号: | CN115373880A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 连薛超;倪葎;张蓉 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F16/21;G06F16/2455;G06F16/27 |
代理公司: | 上海麦其知识产权代理事务所(普通合伙) 31257 | 代理人: | 董红曼 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 shared nothing 架构 分布式 数据库 冲突 事务处理 方法 系统 | ||
1.一种面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,包括以下步骤:
步骤一:冲突检测节点通过检测key的冲突率,若检测发现系统当前处于高冲突状态,收集高冲突的数据项集合并发送给监控节点;
步骤二:客户端判断事务是否属于高冲突事务,并发送给步骤一中选定的高冲突处理节点;
步骤三:选定好高冲突处理节点以后,对高冲突事务进行预先加锁和本地缓存进行处理。
2.如权利要求1所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,步骤一中,在冲突检测节点对每个检测冲突节点的abort率进行检测,当abort率高于阈值时,启动记录高冲突数据项。
3.如权利要求2所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,所述阈值设定为0.05。
4.如权利要求1所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,步骤一中,对高冲突数据项的集合,取一定比率的数据项来发送给监控节点,即
其中,key代表某个访问的数据项,Akey表示一段时间内某个key的访问次数,λ表示阈值,λ被设置为采样时间内的回滚率与触发收集高冲突数据项回滚率之间的差值,即λ=采样时间内的回滚率-触发收集高冲突数据项回滚率。
5.如权利要求1所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,步骤二中,客户端根据事务ID和事务的输入输出来判断一个事务是否属于高冲突事务,对于高冲突事务就发送给对应的高冲突处理节点。
6.如权利要求1所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,步骤三中,系统维护了一个全局的策略版本来辨别冲突处理策略的版本,监控节点在收到冲突检测节点发来的高冲突状态请求后,变更内部的strategy_version,随后更新事务处理节点处的strategy_version;客户端在发现自身的strategy_version不对后,向监控节点请求更新自己的strategy_version和对应的冲突处理策略。
7.如权利要求1所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,步骤三中,预先加锁为在正常的执行流程之外,额外增加和预先加锁的流程,在读锁在事务执行阶段就获取,而写锁等到提交阶段才获取,获取锁时总是按照键值的大小来获取,对于未按顺序获取的锁会释放。
8.如权利要求1所述的面向shared-nothing架构分布式数据库高冲突事务处理方法,其特征在于,步骤三中,本地缓存为在事务处理节点维护一个本地缓存,缓存所有的高冲突数据项。
9.一种实现如权利要求1-8之任一项所述方法的系统,其特征在于,所述系统包括冲突检测模块和高冲突处理模块;其中,
所述冲突检测模块,通过回滚率来控制何时收集高冲突数据项,并根据按照负载变化的比率来发送给监控节点高冲突数据项;
所述高冲突处理模块,核心在于用预先加锁和本地缓存两个方法来增加系统的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210820426.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实验室用矿浆沉降浓缩装置
- 下一篇:一种电气工程裸露电线收纳保护设备