一种一致性级别可控的自适应数据同步方法和系统技术方案

技术编号:23449927 阅读:32 留言:0更新日期:2020-02-28 23:11
本发明专利技术提供一种一致性级别可控的自适应数据同步方法和系统,本方法包括接收集群中节点基本特征与场景特征;计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策并同步到每个节点;每个节点根据接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步。本发明专利技术解决了大规模集群的数据同步过程中针对不同类型数据的时效性需求,增强了数据同步的性能,保障了水平扩展能力且适用于大规模集群,提供了动态调整和插拔的能力。

An adaptive data synchronization method and system with controllable consistency level

【技术实现步骤摘要】
一种一致性级别可控的自适应数据同步方法和系统
本专利技术涉及软件
,尤其涉及一种一致性级别可控的自适应数据同步方法和系统。
技术介绍
分布式键值对(Key-Value)存储系统在集群中维护了数据的多份副本并保障了一致性,在很多领域得到广泛应用,一种典型的适用场景是在集群中共享具有指定主题(Topic)的相关数据(如应用共享的配置信息等),并基于发布-订阅机制,在对应Topic更新时通知所有已订阅这一Topic的节点获取最新数据,节点响应这些数据改变并进行相应的操作以实现集群管理、负载均衡、故障转移等目标。这一系统中包含两个集群,分别由客户端节点和服务器节点组成,客户端节点会向服务器集群中的某个服务器节点发出请求以订阅指定的Topic,服务器节点会将这一信息在服务器集群内同步,当对应Topic的数据有更新时,所有服务器节点上的所有数据副本以及所有订阅这一Topic的客户端节点上的数据副本都会收到更新,从而实现数据同步。目前广泛使用的分布式Key-Value存储系统包括ZooKeeper及etcd等,都依赖底层的一致性保障机制确保针对特定Key的更新可以正确、高效地应用在所有数据副本上。但在云计算的大环境下,主流的云服务提供商所管理的虚拟机和容器等计算资源实例的规模日益增大,达到百万乃至千万的规模。现有的在ZooKeeper及etcd等系统中使用的Paxos变种或Raft等数据同步和一致性保障方法需要依赖选举机制得到唯一的Leader作为协调者以保障顺序一致性,这一过程会带来大量的节点间网络交互,在集群规模超过数百节点时选举的开销急剧增加,对性能影响巨大;另一方面,Leader节点需要处理所有客户端发起的读写请求以保障一致性,这也导致在集群规模增大时Leader节点的负载增加,最终限制了集群的横向扩展能力。而在实际场景中,大规模集群中需要在所有节点间共享的信息也存在一定比例的节点级别的标注与配置数据等,这些数据只与节点和应用相关,与应用中实际承载的用户业务无关。对这类数据而言,通常在运维层面只存在“正确”与“不正确”的差异,因此Paxos变种算法以及Raft算法等保障的顺序一致性对这个场景而言过强。因此,现有的保障顺序一致性的方法和系统并不适用于大规模集群的场景。其次,相比数据副本一致性而言,大规模集群场景下的数据同步更关注性能以及方法的可靠性,针对不同类型的数据更新,会存在不同的最大可容忍的数据副本不一致窗口。例如,客户端节点订阅了分布式Key-Value存储系统中维护的某一个服务的可用地址列表,当地址列表变化时客户端节点将收到更新,从而保证服务可以被正常调用。在这一例子中,针对服务的可用地址列表的不同类型的修改操作的最大可容忍不一致窗口存在差异。向地址列表中添加一个新节点的操作的最大可容忍不一致窗口较大,因为这一更新数据未及时同步可能导致短时间内新加入的节点的计算资源未充分利用,但不会导致服务中断;相比较而言从地址列表中移除一个失效节点的操作的最大可容忍不一致窗口较小,因为未及时更新地址列表的客户端节点有可能访问失效节点以调用服务,从而导致服务中断。然而,现有的保障顺序一致性的方法和系统未能考虑一致性级别需要随着数据类型变化的情形,难以适用于大规模集群数据同步的场景。第三,现有的方法不具备动态感知环境特征并作出相应调整的能力。当集群特征或用户需求发生变化时,需要及时调整算法参数乃至选择不同的算法以满足用户对数据同步的性能、一致性、可靠性等需求。现有方法具备一定的调整集群拓扑的能力,可以应对集群中添加、删除节点以及节点失效等场景,但算法本身的流程是固定的,难以调整特定的参数以实现性能、一致性、可靠性维度的权衡,满足特定场景下对三个维度的不同需求,也无法响应需求的变化作出调整。当出现用户需要改变一致性级别或微调预期性能的情形时难以应对。综上,现有的保障顺序一致性的方法和系统水平扩展能力受到Leader节点计算能力的限制,提供的一致性保障相对于大规模集群数据同步的需求而言过强,也难以针对具体数据类型改变一致性保障级别,同时不具备自适应调整的能力,因此难以适用于大规模集群数据同步的场景。亟需一种一致性级别可控的自适应数据同步方法和系统以解决这一问题。
技术实现思路
针对现有技术的不足,本专利技术提出一种一致性级别可控的自适应数据同步方法和系统,解决大规模集群环境中数据同步的性能问题,并保证数据同步过程的正确性,可以应对大规模集群中常见的节点失效、网络不可达等问题。一种一致性级别可控的自适应数据同步方法,包括以下步骤:1)监测集群中节点的状态,接收集群中节点基本特征与场景特征;2)根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;3)根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策;4)将算法决策同步到每个节点;5)根据每个节点接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步。进一步地,所述节点包括生成决策的管理节点、提供分布式Key-Value存储的服务器节点,以及订阅具体数据并接收更新数据的客户端节点。进一步地,所述节点基本特征包括网络特征、可使用的计算能力比例以及节点的CPU、内存、磁盘的配置;所述场景特征包括客户端节点和服务器节点的集群规模、节点健康状态、用户预先配置的信息、用户发起数据更新请求的速率与模式、请求响应时间。进一步地,根据节点健康状态拟合出所述节点失效概率分布;根据用户发起数据更新请求的速率与模式,得到所述用户请求概率分布。进一步地,所述环境特征模型是通过MAPE-K自治计算模型构建;所述环境特征模型的维度包括服务器集群特征、客户端集群特征、用户最大可容忍的不一致窗口、网络延迟、节点失效的概率模型。进一步地,所述排除规则集合为包含了特定条件与在此条件下无法使用的算法的映射关系;所述收益规则集合为包含了针对特定场景特征和用户需求,对应特定算法的参数调整规则。进一步地,将算法参数导入算法模板中,生成所述算法决策。进一步地,将所述算法决策同步到每个节点,包括以下步骤:1)通知所有节点应用新算法;2)将新算法以及对应参数同步到每个节点;在同步过程中,所有节点同时持有新、旧两份算法,并遵照旧算法执行;3)当超过半数的节点成功收到新算法,且新算法执行不依赖于未收到新算法的节点之后,向所有节点发出切换算法的请求,收到这一请求的节点遵照新算法执行。进一步地,当检测到集群中所述节点基本特征与所述场景特征发生变化时,重新生成算法决策。一种一致性级别可控的自适应数据同步系统,包括:1)监测模块,用以监测集群中节点的状态,接收集群中节点基本特征与场景特征;2)分析模块,用以根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;本文档来自技高网
...

【技术保护点】
1.一种一致性级别可控的自适应数据同步方法,包括以下步骤:/n1)监测集群中节点的状态,接收集群中节点基本特征与场景特征;/n2)根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;/n3)根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策;/n4)将算法决策同步到每个节点;/n5)根据每个节点接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步。/n

【技术特征摘要】
1.一种一致性级别可控的自适应数据同步方法,包括以下步骤:
1)监测集群中节点的状态,接收集群中节点基本特征与场景特征;
2)根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;
3)根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策;
4)将算法决策同步到每个节点;
5)根据每个节点接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步。


2.如权利要求1所述的方法,其特征在于,所述节点包括生成决策的管理节点、提供分布式Key-Value存储的服务器节点,以及订阅具体数据并接收更新数据的客户端节点。


3.如权利要求1所述的方法,其特征在于,所述节点基本特征包括网络特征、可使用的计算能力比例以及节点的CPU、内存、磁盘的配置;所述场景特征包括客户端节点和服务器节点的集群规模、节点健康状态、用户预先配置的信息、用户发起数据更新请求的速率与模式、请求响应时间。


4.如权利要求1或3所述的方法,其特征在于,根据节点健康状态拟合出所述节点失效概率分布;根据用户发起数据更新请求的速率与模式,得到所述用户请求概率分布。


5.如权利要求1所述的方法,其特征在于,所述环境特征模型是通过MAPE-K自治计算模型构建;所述环境特征模型的维度包括服务器集群特征、客户端集群特征、用户最大可容忍的不一致窗口、网络延迟、节点失效的概率模型。


6.如权利要求1所述的方法,其特征在于,所述排除规则集合为包含了特定...

【专利技术属性】
技术研发人员:黄涛唐震王伟魏峻郑莹莹宋傲
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1