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