[发明专利]元数据服务器失效接替中精确一次执行语义的方法及系统有效
申请号: | 201510346978.8 | 申请日: | 2015-06-19 |
公开(公告)号: | CN104991739B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 李月嘉;邵冰清;刘健;董欢庆;张军伟;刘振军 | 申请(专利权)人: | 中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/14 |
代理公司: | 北京律诚同业知识产权代理有限公司11006 | 代理人: | 祁建国,梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 服务器 失效 接替 精确 一次 执行 语义 方法 系统 | ||
技术领域
本发明涉及元数据服务器失效接替技术及非幂等操作等领域,特别涉及元数据服务器失效接替中精确一次执行语义的方法及系统。
背景技术
在大规模机群文件系统中,元数据与数据服务分离结构已经成为了一种趋势,一方面,数据访问不必通过元数据服务器,而是采用带外方式直接访问存储设备,从而获取较高的数据访问性能;另一方面,元数据服务器专门提供元数据服务,卸载了数据访问负载,从而单台元数据服务器可以支持更高的客户端访问性能,管理更多的存储设备,支持更大的系统规模扩展,然而,随着系统规模的不断扩大,单台元数据服务器逐渐成为制约系统扩展的瓶颈,为了进一步提升机群文件系统的扩展能力,目前通常采用多个元数据服务器构成元数据服务器机群,以分散元数据负载,支持通过增加元数据服务器数量达到集群文件系统的横向扩展。
为了保证元数据集群的高可用性,通常为每一台元数据服务器配备一台备份服务器,当元数据服务器发生宕机,将宕机服务器的元数据服务迁移至备份服务器,在备份服务器缓存中恢复出宕机服务器元数据信息,接管宕机服务器的工作,实现高可用。元数据操作,分为非幂等和幂等操作两类。非幂等操作的特点是两次执行就会两次改变系统状态,系统就会处于不一致的状态,因此在失效接替过程中,我们需要精确恢复出非幂等操作在宕机事故发生时所执行到的进度,避免非幂等操作的多次执行,使客户端感受不到宕机事件的发生,实现无缝接替,保证非幂等操作的精确一次执行语义;而幂等操作则正好相反,任意多次执行所产生的影响均与一次执行的影响相同。
根据宕机发生时元数据操作在宕机服务器的完成进度,将元数据操作分为以下五类:
(1)已经持久到宕机服务器的元数据磁盘上,并且客户端已经接收到返回结果;
(2)已经持久到宕机服务器的元数据磁盘上,但客户端在收到返回结果之前,服务器发生了宕机,并且该操作是幂等操作,如读操作;
(3)已经持久到宕机服务器的元数据磁盘上,但客户端在收到返回结果之前发生了宕机,并且该操作是非幂等操作,如删除操作;
(4)操作还没有持久到宕机服务器的元数据磁盘上,客户端已经收到回复结果;
(5)操作既没有持久到宕机服务器的元数据磁盘上,客户端也没收到回复结果。
第(1)类操作,不需要备份服务器恢复,也不需要客户端做任何操作;第(5)类操作,也不需要备份服务器恢复,因为客户端在特定时间间隔内没有收到回复时,会重新发起操作请求,并需要备份服务器继续执行返回结果;备份服务器也不需要恢复第(2)类操作,因为客户端会重新发起操作请求,备份服务器会重新执行该操作,而幂等操作的第二次执行不会造成错误;第(4)类操作,备份服务器需要恢复出该操作的参数,并继续执行该操作,将其持久到磁盘上,不需要担心该操作的精确一次执行语义,因为客户端已经接收到回复结果,不会再发起请求,所以该操作只会被持久到磁盘上一次。
备份服务器需要保证精确一次执行语义的是第(3)类操作,因为如果客户端在一定时间间隔内没有收到服务器的回复,就会重新发起相同参数的请求,而对于已经持久到磁盘上的非幂等操作,第二次执行就会造成错误,所以就需要保证备份服务器在完成接替后,当收到客户端发来的该类操作的重复请求时,备份服务器只需要返回该操作的回复结果,而不需要在磁盘上再次执行,从而保证了精确一次执行语义。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司,未经中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510346978.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种鱼菜共生水循环培养种植装置及方法
- 下一篇:一种留存水量限定装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置