[发明专利]一种无冲突复制集合类型支持子集操作的方法在审
申请号: | 201910875780.7 | 申请日: | 2019-09-17 |
公开(公告)号: | CN110569267A | 公开(公告)日: | 2019-12-13 |
发明(设计)人: | 黄宇;周舟;魏恒峰 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27 |
代理公司: | 32326 南京乐羽知行专利代理事务所(普通合伙) | 代理人: | 李玉平 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 子集 无冲突 集合 复制 副本节点 副本数据 数据复制 数据结构 数据实验 系统实现 消解 冲突 | ||
本发明公开一种无冲突复制集合类型支持子集操作的方法,该方法以Conflic‑free Replicated Data Types(CRDT)中的Set数据结构为基础,通过组合CRSet元素的add和remove操作,消解了多副本节点集合进行子集操作时所产生的数据复制冲突,实现了子集操作的无冲突复制。在基于Redis系统实现的CRSet模型上进行了数据实验,实验结果表明,本方具有较高的副本数据一致性。
技术领域
本发明涉及一种无冲突复制集合(CRSet)类型支持子集操作的方法,利用无冲突复制数据类型(Conflic-free Replicated Data Types,CRDT)技术,消解了多副本系统中各副本节点集合进行子集操作时所产生的数据复制冲突,实现了集合数据的最终一致性,而无需协调成本。
背景技术
分布式系统中,多副本技术提升了系统的可靠性和可用性的同时,也带来了一致性问题。为实现数据服务的高可用和低延迟,系统可以基于数据复制的弱一致性技术一定程度上牺牲一致性,其中的一种典型实现方式是CRDT技术。CRDT是一种经过特别设计的数据结构,使得操作能够满足交换律、结合律和幂等律,从而CRDT能够以任何顺序和任意次数应用操作而不会破坏结果。在CRDT支持的多种数据结构中,Set是最基本的数据结构,基于Set可以构建Container,Map和Graph等高级数据结构。
Set数据结构子集间的操作具有广泛的应用场景,如使用交集命令求社交应用的共同好友。Conflict-free Replicated Set(CRSet)的挑战在于:现有文献多注重于算法和理论的研究,并且主要研究CRSet元素的增删;而子集的操作所带来的冲突消解的复杂性显著增加,并且子集操作冲突消解之后的语义该如何定义尚无充分的研究。本发明弥补了现有CRSet技术对子集操作支持的不足,设计实现了语义易于理解的效率较高的CRSet支持子集间交、并和差的操作方法。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种无冲突复制集合(CRSet)类型支持子集操作的方法。该技术以CRSet数据结构中的Observe-Remove Set(OR-Set)和Positive-Negative Set(PN-Set)为范例,并基于Redis(REmote DIctionaryServer,一个开源的高性能的key-value存储系统)实现,能够有效实现CRSet子集间操作无冲突复制。
技术方案:一种无冲突复制集合(CRSet)类型支持子集操作的方法,其主要包括:
1)CRSet支持子集间交操作方法
2)CRSet支持子集间并操作方法
3)CRSet支持子集间差操作方法
本方法将CRSet子集间的操作转化为向CRSet中add或者remove集合元素的操作,应用于CRSet数据结构中的OR-Set和PN-Set基于Redis实现了CRSet子集间操作并发无冲突复制。
CRSet子集操作的基础为CRSet两个基本写操作函数:add(S,E)函数和rem(S,E)函数,分别表示向集合S中增加或者删除集合E中的元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910875780.7/2.html,转载请声明来源钻瓜专利网。