[发明专利]一种基于混合RDMA操作的分布式并发控制方法及系统有效
申请号: | 201810333653.X | 申请日: | 2018-04-13 |
公开(公告)号: | CN108710638B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 陈榕;董致远;陈海波;臧斌宇;管海兵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F9/52 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于混合RDMA操作的分布式并发控制方法及系统,在读取远端地址已被缓存的数据、远端数据时间戳以及向远端写入事务日志时,使用RDMA的单边操作;在读取远端地址未被缓存的数据、申请远端数据锁、提交远端事务、释放远端数据锁时,使用RDMA的双边操作。与现有技术相比,本发明根据分布式并发控制协议中不同步骤的特征,针对性地使用适合的RDMA操作完成对于远程数据的访问,通过混合使用RDMA操作优化分布式并发控制过程中网络硬件和处理器硬件的使用效率。 | ||
搜索关键词: | 一种 基于 混合 rdma 操作 分布式 并发 控制 方法 系统 | ||
【主权项】:
1.一种基于混合RDMA操作的分布式并发控制方法,先在不同服务器间建立起RDMA通讯连接,预先分配并管理RDMA使用的内存区域,然后执行分布式事务,在分布式并发控制中,不同步骤采用的RDMA操作不同,其特征在于,包括:数据读取步骤:事务在本地读取远端数据,若本地已经缓存了远端数据在远端服务器的地址,则执行单边操作读取步骤;若本地没有缓存远端数据在远端服务器的地址,则执行双边操作读取步骤;单边操作读取步骤:根据本地服务器缓存的远端数据的地址,使用单边操作直接读取远端服务器中的数据,执行事务执行步骤;双边操作读取步骤:使用基于双边操作的RPC读取远端数据,执行事务执行步骤;事务执行步骤:在本地服务器执行事务,若没有需要读取的数据,则执行锁申请步骤;若有需要读取的数据,执行数据读取步骤;锁申请步骤:使用基于双边操作的RPC申请远端被更新数据的锁,若成功申请所有远端被更新数据的锁,则执行时间戳校验步骤;反之执行数据锁释放步骤;时间戳校验步骤:本地服务器通过单边操作直接读取远端数据的时间戳,并将该时间戳与数据被第一次读取的时间戳比对。如果所有数据的时间戳校验都成功,则代表在事务执行期间该数据没有被更新,数据是一致的,执行日志备份步骤;如果不成功,则执行数据锁释放步骤;日志备份步骤:使用单边操作直接将事务的日志写在备份服务器内存中,如果写日志成功,执行远端数据更新步骤;如果不成功,则执行数据锁释放步骤;远端数据更新步骤:本地服务器向被更新数据所在的远端服务器发起提交请求,所述提交请求使用基于双边操作的RPC的方式执行远端数据的更新,执行结束步骤;数据锁释放步骤:本地服务器使用基于双边操作的RPC的方式执行将所申请的数据锁释放,执行结束步骤;结束步骤:结束事务操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810333653.X/,转载请声明来源钻瓜专利网。