CN110855737A - 一种一致性级别可控的自适应数据同步方法和*** - Google Patents

一种一致性级别可控的自适应数据同步方法和*** Download PDF

Info

Publication number
CN110855737A
CN110855737A CN201910903210.4A CN201910903210A CN110855737A CN 110855737 A CN110855737 A CN 110855737A CN 201910903210 A CN201910903210 A CN 201910903210A CN 110855737 A CN110855737 A CN 110855737A
Authority
CN
China
Prior art keywords
algorithm
node
nodes
probability distribution
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910903210.4A
Other languages
English (en)
Other versions
CN110855737B (zh
Inventor
黄涛
唐震
王伟
魏峻
郑莹莹
宋傲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201910903210.4A priority Critical patent/CN110855737B/zh
Publication of CN110855737A publication Critical patent/CN110855737A/zh
Application granted granted Critical
Publication of CN110855737B publication Critical patent/CN110855737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

一种一致性级别可控的自适应数据同步方法和***
技术领域
本发明涉及软件技术领域,尤其涉及一种一致性级别可控的自适应数据同步方法和***。
背景技术
分布式键值对(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)分析模块,用以根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;
3)规划模块,用以根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策;
4)执行模块,用以将算法决策同步到每个节点;
5)请求处理模块,用以根据每个节点接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步;
6)算法模块,由请求处理模块调用,用以接收具体的算法参数并执行算法逻辑,实现数据同步的操作。
本发明与现有技术相比的优点在于:
(1)解决了大规模集群的数据同步过程中针对不同类型数据的时效性需求。
(2)增强了数据同步的性能。
(3)保障了水平扩展能力,适用于大规模集群。
(4)结合软件定义的理念,提供了动态调整和插拔的能力。
附图说明
图1本发明的部署图;
图2本发明的实施原理图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合说明书附图和实施例对本发明中技术核心作进一步详细的说明。
本发明提出一种一致性级别可控的自适应数据同步方法和***。这一***主要由监测模块、分析模块、规划模块、执行模块、请求处理模块和算法模块组成,其主要部署模式如图1所示。
如图2所示,本发明主要借鉴MAPE-K(M-Monitor,监测;A-Analyze,分析;P-Plan,规划;E-Execute,执行;K-Knowledge,知识库)自治计算模型,由环境特征模型驱动和指导,由监测模块、分析模块、规划模块、执行模块、请求处理模块和算法模块共同完成数据同步。***中包含用于生成决策的管理节点、提供分布式Key-Value存储的服务器节点,以及订阅具体数据并接收更新数据的客户端节点。各模块的主要职责、交互模式和实现如下:
1、环境特征模型
环境特征模型是根据MAPE-K自治计算模型构建,用于刻画集群中节点的基本特征,结合特定场景的特征,驱动算法以及算法参数的选择,最终生成适用于特定场景的算法,以符合特定场景下的最大可容忍不一致窗口,满足性能需求。环境特征模型可映射到MAPE-K自治计算模型中的“知识库”,由实际场景抽取出的环境特征模型贯穿自适应闭环执行的各阶段,监测模块收集用于构建环境特征模型的原始数据,分析模块加工监测模块获得的原始数据并填充环境特征模型,规划模块由环境特征模型指导,确定具体算法选择以及算法参数,执行模块负责执行环境特征模型导出的具体决策。
所述环境特征模型包含如下维度:
(1)服务器集群特征:服务器节点可提供全部计算能力用于数据同步,这一维度包含集群规模和节点自身的CPU、内存、存储等配置;
(2)客户端集群特征:客户端集群可提供部分计算能力用于数据同步,这一维度包含连接到每个服务器节点上的以应用和数据中心粒度划分的客户端集群规模以及每个客户端节点的CPU、内存、存储等配置,同时包含客户端可使用的计算能力的比例;
(3)用户最大可容忍的不一致窗口:可对应为用户需求中针对不同类型的数据所期望的数据同步的最长完成时间;
(4)网络延迟:节点间交换数据时耗费在网络传输上的时间;
(5)节点失效的概率模型:结合先验知识和统计结果分析获得,包括节点失效的概率分布及参数。
2、监测模块
监测模块部署在管理节点上,负责持续监测集群中节点基本特征以及场景特征,监测并记录客户端对数据副本更新的最大可容忍一致性窗口以及当前客户端的访问负载模式等,作为环境特征模型的数据输入以指导决策。节点基本特征包括网络特征(链路带来的时延、网络拓扑、丢包率等)、可使用的计算能力比例以及节点的CPU、内存、磁盘等配置,场景特征包括客户端节点和服务器节点的集群规模、节点健康状态、用户预先配置的信息、用户发起数据更新请求的速率与模式、请求响应时间。
所述监测模块的具体实现如下:
(1)与所有客户端节点和服务器节点上的请求处理模块交互,统计客户端节点和服务器节点的集群规模、网络特征、可使用的计算能力比例以及各节点的CPU、内存、磁盘等配置,并测量节点间网络交互的时延;
(2)与服务器节点上的请求处理模块交互,统计自适应闭环采样周期内用户发起数据更新请求的速率,包括数据更新请求对应的Key和相应的请求数目;
(3)与服务器节点上的请求处理模块交互,统计自适应闭环采样周期内用户发起数据更新请求的模式,包括针对不同Key的权重以及请求的组合;
(4)与所有节点建立通讯,定期发送心跳包以检测节点失效和网络分区,获取节点健康状态;
(5)接收节点上报的汇总信息,获得请求响应时间,即自适应闭环采样周期内请求处理的平均时延和最大时延;
(6)读取用户预先配置的信息,主要包括一致性需求、时延需求和可靠性需求。
3、分析模块
分析模块部署在管理节点上,接收监测模块的输入,对特定的数据同步场景,结合环境特征模型,加工得到针对数据同步算法性能和可靠性的需求,并确定算法的选择范围。
所述分析模块的具体实现如下:
(1)接收监测模块的输入,根据节点健康状态拟合出节点失效概率分布;
(2)接收监测模块的输入,根据用户发起数据更新请求的速率与模式,从而得到用户请求概率分布;
(3)将监测模块获得的节点基本特征以及场景特征,结合步骤(1)、(2)分析得到的节点失效与用户请求概率分布,导入环境特征模型中;
(4)结合环境特征模型与排除规则集合,确定排除不合适的算法,获取算法的选择范围,所述排除规则集合为包含了特定条件与在此条件下无法使用的算法的映射关系,例如,排除规则集合中约定“保障最终一致性的算法无法满足顺序一致性需求”,那么当用户要求***能够保证更新的顺序一致性时,就无法选择保障最终一致性的算法;
本发明可选的算法包含:完全偏向一致性需求但难以保障性能和可靠性的两阶段和三阶段提交算法、保障顺序一致性的Paxos变种及Raft算法、偏向性能和可靠性但只保障最终一致性的Gossip算法等。
(5)将相关结果输入规划模块。
4、规划模块
规划模块部署在管理节点上,接收分析模块的输入,对特定的数据同步场景,确定具体的算法并生成相应的参数。
所述规划模块的具体实现如下:
(1)接收分析模块的输入,在算法库中排除不合适的算法后,根据收益规则集合(用户在一致性、性能、可靠性三个维度中最关心的目标),选择合适的算法作为调整的基准,所述收益规则集合为包含了针对特定场景特征和用户需求,对应特定算法的参数调整规则,例如,用户对顺序一致性的要求大于性能和可靠性时,选用类似两阶段提交的算法作为调整基准,以最大程度保障一致性;
(2)结合环境特征模型中的用户的一致性、性能和可靠性需求,确定参数调整的目标以契合用户需求,例如,用户对时延需求较高时,算法参数调整主要集中在降低全局消息量并尽量保证各节点的负载均衡;
(3)结合参数调整的目标和环境特征模型中的用户请求概率分布以及节点失效的概率分布,生成算法参数;
(4)将算法参数导入算法模板中,生成具体的算法决策,供执行模块使用。
5、执行模块
执行模块部署在管理节点上,接收规划模块的输入,将具体的决策持久化,供后续数据同步过程使用,并将这一决策同步到所有服务器节点。
所述执行模块的具体实现如下:
(1)当收到规划模块传入的具体的算法决策后,通知所有服务器节点和客户端节点应用新的算法;
(2)将新的算法以及对应参数同步到每个节点;在同步过程中,所有节点同时持有新、旧两份算法,并遵照旧算法执行;
(3)当执行模块确认超过半数的节点成功收到新算法,且新算法执行不依赖于未收到新算法的节点之后(例如,在需要切换到Raft算法的场景,当节点数足够完成Leader选举后),向所有节点发出切换算法的请求,收到这一请求的节点遵照新算法执行。
6、请求处理模块
请求处理模块部署在所有服务器节点和客户端节点上,用于处理具体数据同步的过程。部署在服务器节点上的请求处理模块会根据管理节点发送的具体算法决策,选择合适的数据同步算法和算法参数,部署在客户端节点上的请求处理模块会接收并处理服务器节点传递的数据并在必要情形下协助进行数据同步。
所述请求处理模块的具体实现如下:
(1)接收用户发起的更新请求,调用具体的算法模块,传入指定的算法参数完成数据同步操作;
(2)接收到监测模块的请求时,返回该节点对应的统计信息,如心跳信息、请求处理时延等;
(3)接收到执行模块的请求时,应用最新的算法决策。
7、算法模块
部署在所有服务器节点和客户端节点上,封装了具体的算法逻辑,同时提供了调整参数的接口。在自适应闭环生成具体的算法决策和算法参数后,相关信息会被同步至所有服务器节点和客户端节点。后续请求处理模块在处理用户请求时会调用指定的算法模块并传入算法参数,以实际完成数据同步操作。
一种一致性级别可控的自适应数据同步方法,实现步骤如下:
(1)监测模块持续监测集群状态,接收节点基本特征以及场景特征。
(2)分析模块根据监测模块的数据计算节点失效的概率分布及用户请求概率分布,并同监测模块的数据一同导入环境特征模型,结合排除规则集合获得算法的选择范围。
(3)规划模块获得分析模块的输入,根据环境特征模型中导出的结果,结合收益规则集合,选择合适的算法并确定算法参数。
(4)执行模块将具体的算法决策同步到每个节点,算法决策被成功应用后,后续的用户请求将遵照新算法和参数执行。
(5)步骤(1)~(4)构成完整的自适应闭环,定期执行。此外,当检测到请求模式或集群特征发生变化时,重新执行(1)~(4)步,生成新的决策。
(6)用户将请求发送至服务器集群中的任意服务器节点,最终到达服务器节点上的请求处理模块,部署在服务器节点上的请求处理模块根据当前的算法决策调用算法,响应用户请求并开始数据同步,当算法结束且数据更新到达所有客户端节点时此轮数据同步操作完成。
下面描述一个简单的实例,***中可供选择的算法包括改进的两阶段提交算法、Raft算法和Gossip算法。两阶段提交算法可供调整的参数是协调者提交事务所需回收的同意票数、客户端连接的服务器数;Raft算法可供调整的参数是读请求是否转发给Leader,Leader节点发起数据同步请求依赖的生成树,以及客户端连接的服务器数;Gossip算法可供调整的参数是扇出系数(每轮数据同步需要通讯的节点数),数据同步时间间隔。针对这一实例的具体步骤如下:
(1)监测模块收集到服务器集群规模为500节点,客户端节点总数为25000,每个服务器节点管理一个500节点的客户端集群。每个节点均为虚拟机实例,配置为4个CPU核心、8GB内存、256GB SSD存储。服务器集群失效节点失效数服从n=500,p=0.0001的二项分布,客户端集群失效节点数服从n=25000,p=0.0001的二项分布。所有客户端和服务器节点最终连接至同一个物理交换机,节点间的网络时延t=1ms,丢包率为0.0001。客户端可用于协助数据同步的最大计算能力(CPU时间)为20%。
(2)监测模块收集到用户的核心需求是需要保证数据更新操作的顺序一致性,同时兼顾更新时延,可容忍的最大一致性窗口为5s。此外,用户向服务器集群发起请求服从强度为lambda=100请求/秒的泊松分布,即每秒服务器集群需要处理的用户请求数的数学期望为100。
(3)分析模块接收监测模块的数据,拟合得到用户发起数据请求的概率分布为参数lambda=100请求/秒的泊松分布,并遵照排除规则集合中的规则“保障最终一致性的算法无法保障顺序一致性和严格一致性”,“保障严格一致性的算法的执行时间不确定”,排除保障最终一致性的算法,同时由于需要兼顾时延,排除了两阶段提交算法,最终调整目标是在确保Raft算法基本执行流程(Leader选举、复制状态机等)不变的前提下,通过修改拓扑结构和参数的方式降低每个节点的负载。
(4)规划模块确定使用Raft算法,并遵照收益规则集合中的规则“组播策略比广播策略在负载均衡方面的效果更好,适用于大规模集群”,“客户端连接的服务器节点数满足Quorum条件时,结合版本号可获得最新更新”,生成具体的算法参数和决策:客户端节点需要连接任意3个服务器节点获取更新;取版本号更大的更新;服务器节点不限定只有Leader节点可以响应读请求;Leader节点向Follower节点发送数据时使用组播的方式,根据网络延迟和权重由网络拓扑图构建最小生成树,在进行数据传播时首先传播到生成树中的邻居节点,由这些节点继续分层向下传播数据。连接到同一个服务器节点的客户端节点使用与服务器集群类似的组播方式协助传播数据更新。
(5)执行模块将新的算法决策同步到所有服务器,接收到这一请求的服务器重新配置本地的算法以及相应的参数。
(6)请求处理模块收到执行模块发出的切换算法请求后,切换到新的算法并使用新的参数处理后续请求。
(7)请求处理模块接收到用户发起的数据更新请求,调用新的算法模块并结合新参数执行数据同步操作,并向用户返回操作结果。
(8)当用户需求发生改变时,触发新一轮调整,遵照步骤(1)~(6)执行。
最后所应说明的是,以上实施案例仅用以说明本发明的技术方案而非限制,尽管实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可对本发明的技术方案进行修改或者等价替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种一致性级别可控的自适应数据同步方法,包括以下步骤:
1)监测集群中节点的状态,接收集群中节点基本特征与场景特征;
2)根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;
3)根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策;
4)将算法决策同步到每个节点;
5)根据每个节点接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步。
2.如权利要求1所述的方法,其特征在于,所述节点包括生成决策的管理节点、提供分布式Key-Value存储的服务器节点,以及订阅具体数据并接收更新数据的客户端节点。
3.如权利要求1所述的方法,其特征在于,所述节点基本特征包括网络特征、可使用的计算能力比例以及节点的CPU、内存、磁盘的配置;所述场景特征包括客户端节点和服务器节点的集群规模、节点健康状态、用户预先配置的信息、用户发起数据更新请求的速率与模式、请求响应时间。
4.如权利要求1或3所述的方法,其特征在于,根据节点健康状态拟合出所述节点失效概率分布;根据用户发起数据更新请求的速率与模式,得到所述用户请求概率分布。
5.如权利要求1所述的方法,其特征在于,所述环境特征模型是通过MAPE-K自治计算模型构建;所述环境特征模型的维度包括服务器集群特征、客户端集群特征、用户最大可容忍的不一致窗口、网络延迟、节点失效的概率模型。
6.如权利要求1所述的方法,其特征在于,所述排除规则集合为包含了特定条件与在此条件下无法使用的算法的映射关系;所述收益规则集合为包含了针对特定场景特征和用户需求,对应特定算法的参数调整规则。
7.如权利要求1所述的方法,其特征在于,将算法参数导入算法模板中,生成所述算法决策。
8.如权利要求1所述的方法,其特征在于,将所述算法决策同步到每个节点,包括以下步骤:
1)通知所有节点应用新算法;
2)将新算法以及对应参数同步到每个节点;在同步过程中,所有节点同时持有新、旧两份算法,并遵照旧算法执行;
3)当超过半数的节点成功收到新算法,且新算法执行不依赖于未收到新算法的节点之后,向所有节点发出切换算法的请求,收到这一请求的节点遵照新算法执行。
9.如权利要求1所述的方法,其特征在于,当检测到集群中所述节点基本特征与所述场景特征发生变化时,重新生成算法决策。
10.一种一致性级别可控的自适应数据同步***,包括:
1)监测模块,用以监测集群中节点的状态,接收集群中节点基本特征与场景特征;
2)分析模块,用以根据场景特征计算节点失效概率分布和用户请求概率分布,并与节点基本特征与场景特征一同送入至环境特征模型,结合排除规则集合获取算法的选择范围;
3)规划模块,用以根据算法的选择范围与场景特征,结合收益规则集合确定算法以及算法参数,并生成算法决策;
4)执行模块,用以将算法决策同步到每个节点;
5)请求处理模块,用以根据每个节点接收到的算法决策确定算法以及算法参数,以响应用户请求并实现数据同步;
6)算法模块,由请求处理模块调用,用以接收具体的算法参数并执行算法逻辑,实现数据同步的操作。
CN201910903210.4A 2019-09-24 2019-09-24 一种一致性级别可控的自适应数据同步方法和*** Active CN110855737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910903210.4A CN110855737B (zh) 2019-09-24 2019-09-24 一种一致性级别可控的自适应数据同步方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910903210.4A CN110855737B (zh) 2019-09-24 2019-09-24 一种一致性级别可控的自适应数据同步方法和***

Publications (2)

Publication Number Publication Date
CN110855737A true CN110855737A (zh) 2020-02-28
CN110855737B CN110855737B (zh) 2020-11-06

Family

ID=69596020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910903210.4A Active CN110855737B (zh) 2019-09-24 2019-09-24 一种一致性级别可控的自适应数据同步方法和***

Country Status (1)

Country Link
CN (1) CN110855737B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445809A (zh) * 2020-11-25 2021-03-05 浪潮云信息技术股份公司 一种分布式数据库节点存活状态检测模块及方法
CN112751916A (zh) * 2020-12-28 2021-05-04 中国科学院软件研究所 一种面向微服务治理的数据发布-订阅方法和***
CN113079099A (zh) * 2021-06-04 2021-07-06 军事科学院***工程研究院网络信息研究所 一种采用共识协议栈同步网络状态的方法及***
CN113472886A (zh) * 2021-06-30 2021-10-01 华云数据控股集团有限公司 分布式集群***及其控制方法
CN113992681A (zh) * 2021-09-18 2022-01-28 上海金仕达软件科技有限公司 一种保证分布式***中数据强一致性的方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062496A1 (en) * 1999-04-14 2000-10-19 Trebes Harold Herman Jr A system and method for providing peer-oriented control of telecommunications services
CN102227121A (zh) * 2011-06-21 2011-10-26 中国科学院软件研究所 基于机器学习的分布式缓存策略自适应切换方法及***
US20120297056A1 (en) * 2011-05-16 2012-11-22 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
CN103440182A (zh) * 2013-09-12 2013-12-11 重庆大学 自适应分配方法及装置、自适应副本一致性方法
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策***及切换方法
CN104506636A (zh) * 2014-12-29 2015-04-08 成都致云科技有限公司 一种数据同步方法及装置
CN106302559A (zh) * 2015-05-11 2017-01-04 阿里巴巴集团控股有限公司 一种数据复制方法和设备
CN106341492A (zh) * 2016-10-19 2017-01-18 杭州赛客网络科技有限公司 基于云通讯服务的分布式内存数据存储和读取方法
US20170026468A1 (en) * 2015-07-21 2017-01-26 Cisco Technology, Inc. Adaptive gossip protocol
CN106375328A (zh) * 2016-09-19 2017-02-01 中国人民解放军国防科学技术大学 一种大规模数据分发***运行时自适应优化方法
CN107153512A (zh) * 2017-04-01 2017-09-12 华为技术有限公司 一种数据迁移方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062496A1 (en) * 1999-04-14 2000-10-19 Trebes Harold Herman Jr A system and method for providing peer-oriented control of telecommunications services
US20120297056A1 (en) * 2011-05-16 2012-11-22 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
CN102227121A (zh) * 2011-06-21 2011-10-26 中国科学院软件研究所 基于机器学习的分布式缓存策略自适应切换方法及***
CN103440182A (zh) * 2013-09-12 2013-12-11 重庆大学 自适应分配方法及装置、自适应副本一致性方法
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策***及切换方法
CN104506636A (zh) * 2014-12-29 2015-04-08 成都致云科技有限公司 一种数据同步方法及装置
CN106302559A (zh) * 2015-05-11 2017-01-04 阿里巴巴集团控股有限公司 一种数据复制方法和设备
US20170026468A1 (en) * 2015-07-21 2017-01-26 Cisco Technology, Inc. Adaptive gossip protocol
CN106375328A (zh) * 2016-09-19 2017-02-01 中国人民解放军国防科学技术大学 一种大规模数据分发***运行时自适应优化方法
CN106341492A (zh) * 2016-10-19 2017-01-18 杭州赛客网络科技有限公司 基于云通讯服务的分布式内存数据存储和读取方法
CN107153512A (zh) * 2017-04-01 2017-09-12 华为技术有限公司 一种数据迁移方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐震等: ""虚拟化环境下面向多目标优化的自适应SSD缓存***"", 《软件学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445809A (zh) * 2020-11-25 2021-03-05 浪潮云信息技术股份公司 一种分布式数据库节点存活状态检测模块及方法
CN112751916A (zh) * 2020-12-28 2021-05-04 中国科学院软件研究所 一种面向微服务治理的数据发布-订阅方法和***
CN113079099A (zh) * 2021-06-04 2021-07-06 军事科学院***工程研究院网络信息研究所 一种采用共识协议栈同步网络状态的方法及***
CN113079099B (zh) * 2021-06-04 2021-09-10 军事科学院***工程研究院网络信息研究所 一种采用共识协议栈同步网络状态的方法及***
CN113472886A (zh) * 2021-06-30 2021-10-01 华云数据控股集团有限公司 分布式集群***及其控制方法
CN113472886B (zh) * 2021-06-30 2024-03-22 华云数据控股集团有限公司 分布式集群***及其控制方法
CN113992681A (zh) * 2021-09-18 2022-01-28 上海金仕达软件科技有限公司 一种保证分布式***中数据强一致性的方法

Also Published As

Publication number Publication date
CN110855737B (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN110855737B (zh) 一种一致性级别可控的自适应数据同步方法和***
EP3279794B1 (en) Time-based node election method and apparatus
US8867400B2 (en) Method and apparatus for tracking clock sources
Sakic et al. Towards adaptive state consistency in distributed SDN control plane
US10749954B2 (en) Cross-data center hierarchical consensus scheme with geo-aware leader election
CN109995669B (zh) 分布式限流方法、装置、设备及可读存储介质
Gonzalez et al. A fault-tolerant and consistent SDN controller
CN112261135A (zh) 基于一致性协议的节点选举方法、***、装置及设备
CN113641511A (zh) 一种消息通信方法和装置
CN112583931A (zh) 消息处理方法、消息中间件、电子设备和存储介质
CN111211988B (zh) 面向分布式机器学习的数据传输方法及***
CN111431730B (zh) 一种业务处理方法、***、计算机设备及可读介质
Huang et al. Enabling DNN acceleration with data and model parallelization over ubiquitous end devices
US20200142759A1 (en) Rest gateway for messaging
CN113873005A (zh) 一种微服务集群的节点选主方法、***、设备及介质
Fu et al. Resource allocation for blockchain-enabled distributed network function virtualization (NFV) with mobile edge cloud (MEC)
Xu et al. Schedule or wait: Age-minimization for IoT big data processing in MEC via online learning
US10091288B2 (en) Ordered execution of tasks
Fang et al. A fast and load-aware controller failover mechanism for software-defined networks
CN112486707A (zh) 基于Redis的消息异步消费方法及装置
CN114706675A (zh) 基于云边协同***的任务部署方法及装置
WO2016033173A1 (en) Multi-node distributed network access server designed for large scalability
Chekired et al. HybCon: A scalable SDN-based distributed cloud architecture for 5G networks
US20150372895A1 (en) Proactive Change of Communication Models
CN114760304A (zh) 算力信息的处理方法、处理***及算力网关

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant