发明名称 一种分布式存储的数据获取方法
摘要 本发明提供了一种不需中心服务器参与的,完全分散式的分布式存储的数据获取方法,包括如下步骤:(1)先检查A锁在本地的状态,如果A锁已经被占用,则执行退避策略,等待随机时延后,再重新获取;(2)若本地A锁状态处于空闲,则将本地A锁置为被占用状态,但此时本节点暂不能使用该锁操作数据A,而是先向网络中发送A锁即将被占用的通告;(3)在发出通告后建立冲突检测定时器,检测互斥锁占用的冲突现象。本发明的分布式存储的数据获取方法,将P2P网络中各节点之间动作协调,有序的操作同一数据,不产生冲突,也不需要增加额外的服务器。
申请公布号 CN103067471A 申请公布日期 2013.04.24
申请号 CN201210563825.5 申请日期 2012.12.24
申请人 北京华科力扬科技有限公司 发明人 方沛宇;杨哲;杜亚梅
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 代理人
主权项 一种分布式存储的数据获取方法,包括如下步骤:(1)先检查A锁在本地的状态,如果A锁已经被占用,则执行退避策略,等待随机时延后,再重新获取;(2)若本地A锁状态处于空闲,则将本地A锁置为被占用状态,但此时本节点暂不能使用该锁操作数据A,而是先向网络中发送A锁即将被占用的通告;(3)在发出通告后建立冲突检测定时器,检测互斥锁占用的冲突现象;(4)若在定时器超时之前,收到了其他节点回送的冲突报告,或者收到其他节点发来的获取A锁的通告,则对于本节点来说获取A锁失败,清除本地A锁被占用的标识,向网络中发送释放A锁的通告;并执行退避策略,等待随机时延后再重新获取;在定时器超时之前收到其他节点发来的获取A锁通告,此节点应向通告源发送冲突报告,冲突双方均采用退避策略。(5)若定时器超时之前未收到冲突报告,或其他节点的占用通告,则定时器超时后,此次获取A锁的操作成功,本节点即真正开始持有该锁,并可以对数据A进行操作;待针对数据A的操作完成后,再用步骤(4)的方式释放A锁;为了防止持有A锁的节点在进行数据操作期间意外宕机或掉线,导致锁不能正常被释放而影响其他节点的操作,因此本发明还设计了锁的超时机制,即持有锁的节点在获取到锁后一段时间内必须发出释放该锁的通告,否则在超时后网络中其他节点自动将其本地的锁置为空闲,其他节点即可申请持有该锁。
地址 100080 北京市海淀区上地五街7号昊海大厦一层105室