掌桥专利:专业的专利平台
掌桥专利
首页

一种面向周期性复制系统的成本最小化一致性维护方法

文献发布时间:2023-06-19 19:30:30


一种面向周期性复制系统的成本最小化一致性维护方法

技术领域:

本发明公开了一种面向周期性复制系统的成本最小化一致性维护方法,涉及广域分布式存储系统面临的挑战,属于计算机技术领域。

背景技术:

现代存储系统普遍采用基于领导者的周期性复制(也称主动/被动或主/从复制)技术来降低同步成本,这种复制方式由于领导者节点的强一致性及周期同步的低网络带宽消耗,在广域分布的系统中得到了广泛的部署及使用,例如HDFS、Lustre、GlusterFS、MongoDB等。在云存储系统中,优化一致性维护策略对于降低其运营成本至关重要,因此,一个关键的问题是如何优化一致性维护策略以降低系统的同步成本。对周期性复制系统而言,追随者节点的同步频率是一个重要问题。如果同步较为频繁,追随者节点副本数据可能会相对更新,但同步的成本会很大。首先,频繁的同步请求浪费了网络带宽,甚至可能有很多同步请求没有返回最新更新,特别是在广域环境中,减少广域带宽的消耗非常重要;其次,过多的追随者同步请求可能会使领导者节点过载,降低系统的性能。另外,追随者节点副本数据较低的同步频率可以降低同步成本,但会提高追随者节点的副本陈旧度,增加了使用陈旧信息的业务成本。用户的体验和系统的性能与副本的陈旧度直接相关,可以将陈旧度单位转换为成本,但是大部分的优化策略均忽略了这一点。而且不同的应用程序对数据的陈旧度容忍性不同,我们可以据此进一步降低系统的同步成本。因此,将副本陈旧度成本考虑在内,并根据不同的系统负载设置不同的同步周期,对于建立自适应的同步策略,从而降低系统和应用的成本具有重要意义。现有的一致性维护策略以不同的方式降低了系统的同步成本。这些一致性的维护策略可以分为静态方法和动态方法。

静态的方法,通常在系统开发时设定了一致性协议,无法在运行时改变,这是一种“one-size-fits-all”的思想。最常用的一致性协议是强一致性协议和最终一致性协议。例如Google Spanner、Windows Azure Storage,MongoDB等系统采用强一致性协议,而Dynamo、Cassandra则支持最终一致性协议。Spanner是Google开发的可扩展、多版本、全球分布式并支持同步复制的数据库,并通过同步复制和多版本来满足外部一致性,并具有高可用性。Spanner使用Paxos协议在多个副本间同步redo日志,从而保证数据在多个副本上是一致的。WAS(Windows Azure Storage)系统为云中的数据对象提供具有高可用性、安全性、持久性、可大规模缩放且具有冗余性的存储。WAS提出了一种“链式提交”方法来保证了分布式数据流的一致性。当数据请求返回ACK后,保证三个副本同时写入并持久化这条请求,此时三个副本一定是“强一致”的。Amazon DynamoDB是一种全托管NoSQL数据库服务,提供快速而可预测的性能,能够实现无缝扩展。在DynamoDB中,强一致性读取是最终一致性读取的成本的2倍,因此其允许用户在读取数据时根据需要在强一致性读取和最终一致性读取之间进行选择。Amazon S3是用于Internet的简单的基于密钥的对象存储服务。所有区域中的Amazon S3存储桶为新对象的PUTS提供写后读取一致性,并为覆盖PUTS和DELETES最终提供一致性。另有一些工作则改进了一致性协议来降低系统的同步成本,例如RS-Paxos、Craft。传统的Paxos协议将数据副本完整地复制到所有参与节点中。然而,完整的副本复制在网络和存储成本方面都很昂贵,尤其是在使用商用硬盘的广域应用中。RS-Paxos、CRaft将纠删码结合到Paxos/Raft协议中,提高了系统的写入吞吐量。类似的工作还有Pando和Giza系统,他们均通过将纠删码结合到不同的一致性协议中来减少系统的存储成本和通信成本。

动态的方法,在系统运行时根据实时需要动态调整一致性策略。Bismar提出了一种经济一致性模型,在运行时自适应地调整一致性级别。他们将不同的一致性级别的成本包括计算成本、存储成本和网络成本。Bismar定义了一个一致性成本效率(Consistency-Cost Efficiency)的新指标,每次选择最大的效率的一致性方案。BRIGHT提出了一种基于拉取的自适应同步策略,该策略旨在减少联系远程服务器的开销。首先,他们使用更新历史对数据源的更新进行建模,并提出基于历史的策略来估计发生更新的时刻;然后提供了一组自适应策略,客户端根据性能从可用策略中进行选择需使用的策略。FCPP使用通信流量表示一致性维护的成本。他们提出了一种概率增量一致性(PDC)的模型,然后提出了在PDC模型下满足用户指定一致性要求的推拉灵活组合(FCPP)算法,可用于确保指定的一致性要求以及减少一致性维护成本。CACC通过利用网状网络的层次结构将推和拉结合起来,以降低通信成本,并通过优化广播的间隔实现推送和拉取之间的最佳权衡。Carra等人研究了用作缓存的内存中数据存储的资源动态分配。他们的模型考虑了存储成本和未命中成本,并根据流量模式调整资源量,以最小化总成本。他们设计了一种基于TTL缓存的方法,并研究了一种模型,其中通过随机近似迭代调整生存时间(TTL),并动态收敛到最佳设置。一致性越强意味着操作的经济成本越高,而高陈旧率的一致性越弱会导致财务损失,增加了使用陈旧信息的业务成本。因此,用户的体验和系统的性能与副本的陈旧度直接相关,需要将副本陈旧度单位转换为成本。

现有的一致性的维护方法存在的问题主要为:

静态的一致性策略不能适应不同的工作负载,因此不能有效降低系统同步成本。

动态的一致性策略可以根据工作负载灵活调整同步策略从而在一定程度上降低同步了成本。但其同步成本仅强调了一致性维护导致的传输成本和存储成本,均未考虑不同一致性之间的陈旧度成本,因此其不能有效降低周期性复制系统的同步成本。

总之,现有的方法均不能有效的降低周期性复制系统中的同步成本,因此需要量化陈旧度造成的成本,并在优化一致性的维护成本时将其纳入同步成本模型,据此建立一种适用于周期性复制系统的自适应的同步策略以最小化系统的同步成本。

发明内容:

本发明的主要目的是提供一种面向周期性复制系统的成本最小化一致性维护方法,针对周期性复制系统的同步成本问题,为此类系统建立了同步成本量化分析模型,推导出不同工作负载下最优的同步周期,并据此建立成本最小化的自适应同步策略,可有效降低系统的同步成本。

本发明的技术方案是:

一种面向周期性复制系统的成本最小化一致性维护方法,其特征在于,为周期性复制系统建立了一致性维护成本的量化分析模型,该模型包括陈旧度成本,存储成本和通信成本,可有效量化、分析、优化不同一致性的维护成本;根据系统的一致性维护成本的量化分析模型,推导出当前工作负载下使系统同步成本最优的同步周期;基于推导出的最优同步周期,建立了系统实际运行时成本最小化的一致性维护方法,该方法可根据不同的工作负载自适应地调整同步周期,在运行时最小化系统的同步成本;用户的体验和系统的性能与副本的陈旧度直接相关,将副本陈旧度单位转换为成本,可有效度量使用陈旧信息的业务成本。本发明具有良好的实用性和理论性,能根据实际运行状况自适应的调整同步配置以最小化系统的同步成本。

包括以下步骤,具体如下:

1)建立周期性复制系统副本陈旧度量化分析模型,量化不同地理位置分布的追随者节点的副本陈旧度;

2)建立周期性复制系统的同步成本模型,包括系统的数学建模过程与同步成本的形式化表述;

3)根据周期性复制系统的同步成本模型,计算一段时期T内的一致性维护总成本,通过最小化归一化后的总成本得到最优的同步周期;

4)依据最优同步周期建立起成本最优的同步方法,在运行时根据工作负载自适应地调整系统同步周期,从而降低系统的同步成本。

其中,步骤1)包括以下步骤:

步骤(1.1)将领导者节点每个数据项(记为y)的外部更新过程建模为泊松过程(更新率记为λ

步骤(1.2)领导者节点每次开始传输数据的时间用变量P表示,追随者节点每次接收到领导者节点的数据的时刻用变量A表示,用随机变量R

步骤(1.3)追随者节点本地副本最新的写入(记为w

步骤(1.4)定义周期性复制系统下t-freshness指标的形式化表述,t-freshness(记为Δ

步骤(1.5)基于各追随者节点的陈旧性指标的变化曲线,根据图像计算t-freshness的平均值,t-freshness的平均值为单个周期内该指标曲线下的平均面积与平均周期长度的比值,从而推导出量化陈旧性指标的表达式。该表达式可在不同负载、系统同步配置提供各追随者节点的平均陈旧度量化结果。

步骤2)包括以下步骤:

步骤(2.1)建立周期性复制系统的同步成本模型,一致性维护的成本(表示为cost)由三部分组成:过时成本Γ

步骤(2.2)将陈旧成本纳入成本最小化模型中,副本陈旧度表示为Δ,我们将单位时间内的过时成本表示为S;为了方便起见,假设存储成本与数据项的数量成线性关系,C表示单位时间内存储单个数据项的成本;领导者与追随者节点每进行一次通信的成本表示为D1,每次通过网络传输数据的单个数据项的消耗的成本表示为D2。

其中,步骤3)包括以下步骤:

步骤(3.1)根据同步周期建立起系统同步成本的量化模型,在时间T内,系统的总陈旧成本为

步骤(3.2)在时间T内,系统的总通信成本包括同步请求的成本和传输数据量的成本,为

步骤(3.3)在时间T内,系统的总存储成本为

步骤(3.4)计算一段时期T内的一致性维护总成本,Cost=D

步骤(3.5)归一化后的总成本可表示为

步骤(3.6)通过对θ进行求导,可以得出

步骤(3.7)二次求导,可以得出

步骤(3.8)通过最小化归一化后的总成本得到最优的同步周期,最优的θ

其中,步骤4)包括以下步骤:

步骤(4.1)此模型扩展到具有多个键值的情况,领导者节点在每个周期更新的键值对集合表示为S={key

步骤(4.2)自适应的同步策略包含一个关于刷新事件的无限循环,每次迭代或者说每个刷新事件(初始时,领导者节点延迟一个随机变量θ

步骤(4.3)使用最大似然估计方法计算上个刷新窗口θ

步骤(4.4)同时在历史统计窗口T内,领导者节点统计所有发生更新的数据项,并使用最大似然估计方法计算这些数据项的更新率λT;

步骤(4.5)通过步骤(4.3)和步骤(4.4)两者加权得到变化数据项的更新率λ,λ=ω*λi+(1-ω)*λT,其中权重ω代表了历史时间内的旧变化和最近变化的相对偏好度量,可以由系统自由进行调整以产生不同的效果;

步骤(4.6)通过本发明步骤(3.8),可以推断出下一次最佳同步周期θ

本发明所提出的一种面向周期性复制系统的成本最小化一致性维护方法,与现有技术相比,其主要优点是:

本发明所提出的面向周期性复制系统的成本最小化一致性维护方法,可在系统运行时根据不同的工作负载设置成本最优的同步周期,有效降低系统同步成本;同时,本发明所建立周期性复制系统的同步成本模型采用了完全的数学建模方法,包括陈旧度成本、存储成本和通信成本,易于解释不同系统同步配置和工作负载对一致性维护成本所带来的影响,提升系统的可解释性;基于本发明的同步成本模型可推导出不同工作负载下最优的同步周期;用户的体验和系统的性能与副本的陈旧度直接相关,将陈旧度单位转换为成本,可有效表示使用陈旧信息的业务成本。本发明具有良好的理论性和实用性,易于理解、分析、优化周期性复制系统的同步成本。

附图说明:

图1为一种面向周期性复制系统的成本最小化同步方法实施流程图。

图2为周期性复制系统架构图。

图3为周期性复制系统副本陈旧度的变化曲线图。

图3-1为副本陈旧度指标计算示意图。

具体实施方式:

以下结合附图对本发明作进一步详细的说明。

如图1所示,是本发明的实施流程图。一种面向周期性复制系统的成本最小化同步方法,包括以下步骤:

1)建立周期性复制系统的副本陈旧度模型,包括该系统的数学建模过程以及陈旧性指标的形式化表述,量化不同地理位置分布的追随者节点的副本陈旧度;

2)基于陈旧度成本、通信成本和存储成本建立周期性复制系统的同步成本模型,形成系统的数学建模过程以及同步成本的形式化表述;

3)根据周期性复制系统的同步成本模型,计算一段时期T内的一致性维护总成本,通过最小化归一化后的总成本得到最优的同步周期;

4)依据最优同步周期建立起成本最优的同步方法,在运行时根据工作负载自适应地调整系统同步周期,从而降低系统的同步成本。

周期性复制系统架构如图2所示,是普遍采用的一种技术。在该类系统中,系统只允许在领导者节点写入,每个写入请求带有领导者节点全局递增的版本号和写入时间戳,并将写请求通过多播机制或者追随者的拉取周期性地传输到追随者节点,并提交更新,保证全局写的线性一致性。因为领导者节点和追随者节点是异步更新的,所以领导者节点一旦接收到更新追随者节点的数据副本将会变得陈旧。为了保持追随者节点本地副本的新鲜或者一致,追随者节点周期性的向领导者节点获取增量更新。在没有更新的情况下,领导者节点和追随者节点最终会收敛到一致的状态。在读取时,客户端访问领导者节点会获得最新的更新,但客户端与领导者节点的响应时间比较高,因此可以访问追随者节点获取数据,用数据新鲜度换来较低的响应时间。

追随者节点t-freshness陈旧性指标的变化过程如图3所示,在每个追随者节点接收到同步请求的时间A

1)平均t-freshness可以通过图3-1所示的t-freshness演变曲线下的面积相加来算,每个周期内的面积S

2)定义一个几何分布的随机变量M

3)计算梯形面积S

4)计算平行四边形面积S

5)综合以上步骤可以得到

6)计算

7)综合以上步骤可以得到

最后所应说明的是:本发明还可有其它多种应用场景,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的保护范围。

相关技术
  • 一种面向数字音频复制粘贴篡改操作的检测方法及系统
  • 异步远程复制系统及其维护数据一致性的方法
  • 异步远程复制系统及其维护数据一致性的方法
技术分类

06120115936228