[发明专利]一种应用于分布式串行长事务的并发控制方法有效
| 申请号: | 201711085717.0 | 申请日: | 2017-11-07 |
| 公开(公告)号: | CN107832121B | 公开(公告)日: | 2020-11-03 |
| 发明(设计)人: | 王宏志;赵志强;王刚 | 申请(专利权)人: | 哈工大大数据(哈尔滨)智能科技有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/14 |
| 代理公司: | 北京格允知识产权代理有限公司 11609 | 代理人: | 周娇娇;谭辉 |
| 地址: | 150001 黑龙江省哈尔滨市松北区高新技术产业开发区哈工大*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 应用于 分布式 串行 事务 并发 控制 方法 | ||
本发明涉及一种应用于分布式串行长事务的并发控制方法,其将每一数据版本的时间戳信息与数据分别存储,事务执行过程中,只读取时间戳存储区,并将之与最大时间戳序列比较,而不读取该版本的数据;同时,其将最大时间戳序列分布式存储,当将当前事务请求执行线程的时间戳与最大时间戳比较时,无需读取整个最大时间戳序列,仅需读取与当前时间戳ID相同的最大时间戳序列片段,提高了分布式事务的执行效率。
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种应用于分布式串行长事务的并发控制方法。
背景技术
目前分布式事务处理广泛应用于金融、交通运输、保险、电子商务等领域中,其中串行长事务也称为长时间运行事务,是指那些耗费时间相当长的数据库事务,长事务运行通常需要一个小时、一天,甚至更长的时间。并发控制是事务处理的核心技术之一。并发控制是指数据库合理调度并发事务,避免并发事务之间的相互干扰造成数据产生不一致性。分布式事务并发控制策略主要有封锁和时间戳两种,其中时间戳策略是指每个事务在产生时,系统会赋予事务唯一的时间戳,越晚开始的事务获得的时间戳越大,当某事务与比其时间戳大的事务发生冲突时则会终止,因此基于时间戳的并发控制不会出现死锁。
现有技术中提出了一种新的时间戳管理办法,引入最大时间戳向量TR=t1,t2,t3,…,tn,其中元素ti代表事务中每一个线程对应的最新的时间戳,即最大的时间戳,i代表不同的线程,并且TR中每一个时间戳ti都是唯一的。
在事务处理过程中,将事务版本号、时间戳、修改标志位作为前缀单独存储在标头缓冲区(Header-buffer)中,将每个版本对应的数据存储于数据缓冲区(Data-buffer)中,在验证当前版本的数据是否发生改变时,只需访问标头缓冲区(Header-buffer)比较时间戳和版本号即可,若改变,则接下来访问当前版本号对应的数据,若未改变,则访问上一版本号对应的数据,而无需查询比较所有版本对应的所有数据。这样做大大减少事务处理查询的数据量,提高了效率,且不会影响查询的准确性。
现有技术中提出的利用时间戳序列进行并发控制,且将时间戳与版本号等信息放在专门的存储区中单独管理的方法,不会出现死锁,并且能够有效地提高事务处理效率。但对于串行长事务处理问题,由于长事务产生的时间戳数据量同样是非常庞大,因此仅靠将时间戳单独管理的方法不能很好的解决长事务运行时间过长的问题,仍需进一步改进,以提高效率。
因此,针对现有技术的不足,需要提供一种更有效的应用于分布式串行长事务的并发控制方法。
发明内容
本发明要解决的技术问题在于,针对现有技术中的缺陷,提供一种应用于分布式串行长事务处理的并发控制方法,该方法包括:
步骤一:创建最大时间戳序列TR=t1,t2,t3,…,tn,其中元素ti代表事务执行过程中每一个线程i对应的最新的时间戳,由机器按照指令发生的时间顺序赋予;
步骤二:利用分布式哈希算法(DHT)对最大时间戳序列中的时间戳ti进行分割,使时间戳数据均匀分布到各个节点上;
步骤三:将当前执行请求对应的时间戳与分布在各个节点上的最大时间戳序列TR进行比较,根据比较结果更新数据版本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈工大大数据(哈尔滨)智能科技有限公司,未经哈工大大数据(哈尔滨)智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711085717.0/2.html,转载请声明来源钻瓜专利网。





