[发明专利]一种分布式存储的数据获取方法有效
| 申请号: | 201210563825.5 | 申请日: | 2012-12-24 |
| 公开(公告)号: | CN103067471B | 公开(公告)日: | 2019-01-11 |
| 发明(设计)人: | 方沛宇;杨哲;杜亚梅 | 申请(专利权)人: | 北京华科力扬科技有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 存储 数据 获取 方法 | ||
本发明提供了一种不需中心服务器参与的,完全分散式的分布式存储的数据获取方法,包括如下步骤:(1)先检查A锁在本地的状态,如果A锁已经被占用,则执行退避策略,等待随机时延后,再重新获取;(2)若本地A锁状态处于空闲,则将本地A锁置为被占用状态,但此时本节点暂不能使用该A锁,而是先向网络中发送A锁即将被占用的通告;(3)在发出通告后建立冲突检测定时器,检测互斥锁占用的冲突现象。本发明的分布式存储的数据获取方法,将P2P网络中各节点之间动作协调,有序的操作同一数据,不产生冲突,也不需要增加额外的服务器。
技术领域
本发明涉及一种数据获取方法,尤其是一种分布式存储的数据获取方法。
背景技术
Google公司设计实现了Chubby分布式锁服务系统,并已经在其内部系统中广泛使用。Chubby向程序设计者提供锁服务的接口,来保证数据操作的一致性。Chubby系统本质上是一个分布式的文件系统。系统为每项数据分配一个文件来代表其锁,用户通过打开、关闭和读取文件,获取操作此项数据的锁。通过通信机制,向用户发送更新信息。例如,当一群机器选举mater时,这些机器同时申请打开某个文件,并请求锁住这个文件。成功获取锁的服务器当选主服务器,并且在文件中写入自己的地址。其他服务器通过读取文件中的数据,获得主服务器的地址信息。
以chubby为典型代表的分布式锁服务系统,是针对服务器端的设计,由服务器向外提供服务。鉴于此类集中式锁服务都是基于中心服务器,在运行过程中存在很多不足,最典型的就是单点失效和性能瓶颈问题。一旦中心服务器出现故障不能够正常提供锁服务,整个网络的运行必将受到影响,严重时导致网络瘫痪。集中式锁服务的单点瓶颈问题比较严重。并且对于纯P2P网络来说,各节点同时作为客户端和服务器端,不存在中心服务器,这就要求能够有一套机制,能够提供完全分散式的锁服务,来保证分布存储在各节点上的数据能够保证一致性。
发明内容
本发明提供了一种不需中心服务器参与的,完全分散式的分布式存储的数据获取方法。
实现本发明目的的分布式存储的数据获取方法,包括如下步骤:
(1)先检查A锁在本地的状态,如果A锁已经被占用,则执行退避策略,等待随机时延后,再重新获取;
(2)若本地A锁状态处于空闲,则将本地A锁置为被占用状态,但此时本节点暂不能使用该A锁,而是先向网络中发送A锁即将被占用的通告;
(3)在发出通告后建立冲突检测定时器,检测互斥锁占用的冲突现象;
(4)若在定时器超时之前,收到了其他节点回送的冲突报告,或者收到其他节点发来的获取A锁的通告,则对于本节点来说获取A锁失败,清除本地A锁被占用的标识,向网络中发送释放A锁的通告;并执行退避策略,等待随机时延后再重新获取;
在定时器超时之前收到其他节点发来的获取A锁通告,此节点应向通告源发送冲突报告,冲突双方均采用退避策略;
(5)若定时器超时之前未收到冲突报告,或其他节点的占用通告,则定时器超时后,此次获取A锁的操作成功,本节点即真正开始持有该A锁,并可以对该A锁进行操作;待针对该A锁的操作完成后,再用以下步骤释放A锁:
清除本地A锁被占用的标识,向网络中发送释放A锁的通告;并执行退避策略,等待随机时延后再重新获取;
为了防止持有A锁的节点在进行数据操作期间意外宕机或掉线,导致锁不能正常被释放而影响其他节点的操作,还设计了锁的超时机制,即持有锁的节点在获取到锁后一段时间内必须发出释放该锁的通告,否则在超时后网络中其他节点自动将其本地的锁置为空闲,其他节点即可申请持有该锁;
通过检测本地锁状态并与网络中其他节点进行协商获取锁的持有权;当冲突发生时,冲突双方均采用退避策略,分别等待随机时延长再进行锁的获取;并且设计了超时机制,来避免某一节点因故障而过长时间持有锁,不能正常释放的情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华科力扬科技有限公司,未经北京华科力扬科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210563825.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





