CN110968641A - 数据写入控制方法、装置及电子设备 - Google Patents
数据写入控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110968641A CN110968641A CN201811162767.9A CN201811162767A CN110968641A CN 110968641 A CN110968641 A CN 110968641A CN 201811162767 A CN201811162767 A CN 201811162767A CN 110968641 A CN110968641 A CN 110968641A
- Authority
- CN
- China
- Prior art keywords
- copies
- length difference
- data
- copy
- rated
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据写入控制方法、装置及电子设备,其中,方法包括:获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;根据所述额定数据节点数量,执行数据写入控制。本发明实施例以动态的方式调整副本全部同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
Description
技术领域
本申请涉及一种数据写入控制方法、装置及电子设备,属于计算机技术领域。
背景技术
设置在用户一侧的分布式系统的客户端向网络侧的分布式数据库系统中进行写入数据时,需要向分布式数据库系统的多个数据节点写入数据副本,只有当全部数据节点的数据副本写入完成后,才能认为该数据成功写入。但是,从执行效率角度考虑,不需要等待确认全部数据节点的数据副本都写入成功后,再执行下一次写操作。
在现有技术中,一般采用的是部分数据节点的副本同步完成后,就执行下一次写操作。同步机制是预先设定好的,在预设数量的数据节点返回副本数据写入成功消息后,就执行下一次写操作。以三副本的分布式数据库系统为例,在分布式系统的客户端收到两个数据节点返回副本数据写入成功消息后,就允许用户执行下一次写操作。
现有技术的机制会存在如下问题:各个数据节点所处的网络状况以及磁盘访问状况都有所不同,可能会存在部分磁盘的写入速度滞后的情形。在现有技术中的写入策略中,没有考虑还未完成副本数据同步的数据节点的实际情况,而是以固定的机制,在预设数量的数据节点的写入成功消息后,就执行下一次写操作。这样可能会造成未完成副本数据同步的数据节点的副本数据写入请求的积压,尤其在连续的数据写入的情况下,会造成更多的压力,会导致更多的超时、重试情形,导致恶性循环。
发明内容
本发明实施例提供一种数据写入控制方法、装置及电子设备,以有效兼顾数据写入过程的高效性及数据的稳定性。
为了实现上述目的,本发明实施例提供了一种数据写入控制方法,包括:
获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
根据所述额定数据节点数量,执行数据写入控制。
本发明实施例还提供了一种数据写入控制装置,包括:
副本间长度差值获取模块,用于获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
额定数据节点数量确定模块,用于根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
数据写入控制模块,用于根据所述额定数据节点数量,执行数据写入控制。
本发明实施例还提供了一种电子设备,其中,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:
获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
根据所述额定数据节点数量,执行数据写入控制。
本发明实施例的数据写入控制方法、装置及电子设备,以动态的方式调整副本全部同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1为本发明实施例的数据写入控制方法的系统环境示意图;
图2为本发明实施例的数据写入控制方法的流程示意图之一;
图3为本发明实施例的数据写入控制方法的流程示意图之二;
图4为本发明实施例的数据写入控制装置的结构示意图之一;
图5为本发明实施例的数据写入控制装置的结构示意图之二;
图6为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例的整体描述
如图1所示,其为本发明实施例的数据写入控制方法的系统环境示意图,其中,用户在向分布式数据库系统写入数据时,通过用户客户端向设置在用户一侧的分布式数据库系统的客户端(该客户端可以设置在用本地的服务器中)发送数据写入请求,分布式数据库系统的客户端再向网络侧的分布式数据库系统中的不同数据节点11、12、13、…1n发送副本数据写入请求,当副本数据写入成功后,各数据节点分别向分布式数据库系统的客户端返回副本数据写入成功消息,只有当全部数据节点的数据副本写入完成后,才能认为该数据已经成功写入,从而分布式数据库系统的客户端向用户客户端返回数据成功写入消息。但是,从执行效率角度考虑,不需要等待确认全部数据节点的数据副本都写入成功后,再执行下一次写操作。
在实际数据写入过程中,各数据节点的数据副本写入效率受网络、磁盘等因素影响而出现效率不同的情况,如图1所示,数据节点内的阴影部分表示已经成功写入的数据,可以看到,各节点中写入的副本数据长度不同,图中副本21、22已完成数据写入,副本23、2n中数据出现排队等待现象,即图中副本23、2n中出现的空白部分,本发明实施例将返回用户写入成功之前完成数据写入的数据副本称为完全同步副本,反之将没有完成数据写入的副本称为部分同步副本。
通常,分布式数据库系统客户端在数据节点返回适量个数的副本数据写入成功消息后向用户客户端返回数据写入成功消息,从而用户客户端可以继续向分布式数据库系统客户端发送数据写入请求,对于返回写入成功消息的个数,本发明实施例将其称为额定数据节点数量。
本发明实施例提供了一种数据写入控制技术,即根据完全同步与部分同步的副本之间的副本间长度差值确定需要执行完全同步的额定数据节点数量,以动态的方式调整副本完全同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
下面通过一些具体实施例来进一步说明本发明的技术方案。
实施例一
如图2所示,其为本发明实施例的数据写入控制方法的流程示意图之一,该方法包括如下步骤:
S101:获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中。如图1中所示,阴影部分为满格状态的副本(如副本21、22),为完全同步副本,,阴影部分为未满格状态的副本(如副本23、2n),为部分同步的副本,空白部分表示尚有副本数据处于排队状态,。上述的第一副本间长度差值就是空白部分的数据长度。
在实际的分布式数据库系统中,会出现多个部分同步程度不同的副本,针对这种情况,上述步骤中的获取完全同步和部分同步的副本之间的第一副本间长度差值,可以具体为:获取完全同步的副本与多个部分同步的副本中长度最小的副本之间的副本间长度差值作为第一副本间长度差值;也可以为获取完全同步的副本与多个部分同步的副本长度差值的平均值作为第一副本间长度差值。
关于这两种计算第一副本间长度差值的处理,通过下面的示例来进一步说明一下。为描述方便,本实施例定义如下参数:
M:副本总数;
N:执行完全同步的额定数据节点数量;
diff:第一副本间长度差值。
第一副本间长度差值计算方式之一:完全同步的副本与多个部分同步的副本中长度最小的副本之间的副本间长度差值。
表一
如表一所示,分布式数据库系统客户端向数据节点11至数据节点15分别发送副本数据写入请求,对应的写入的数据为副本21至副本25,假设每次写操作的写入数据量是固定的,表格中的1代表每次写入的数据量。其中,副本21、22、23分别写入数据成功,副本24、25的数据由于一些原因进度缓慢,造成了数据排队,此时的副本21、22、23为完全同步副本,副本24、25为部分同步副本,而且副本21、22、23的数据长度都为1,副本24、25的数据长度都为0,此时的第一副本间长度差值diff为完全同步副本(副本21、22、23)与部分同步副本(副本24、25)间的长度差,即diff=1。
表二
如表二所示,分布式数据库系统客户端继续向数据节点11至数据节点15发送副本数据写入请求,其中,副本21、22、23分别写入数据成功,而此时副本24上一次排队的数据已经写入成功,但本次副本24、25的数据由于一些原因进度缓慢,造成了数据排队,所以此时副本21、22、23的数据长度都为2,副本24的数据长度为1,副本25的数据长度为0,所以此时的第一副本间长度差值diff可以为完全同步副本(副本21、22、23)与数据长度最小的部分同步副本(副本25)间的长度差,即diff=2。
表三
如表三所示,分布式数据库系统客户端持续向数据节点11至数据节点15发送副本数据写入请求,此前副本24、25排队的数据都已写入成功,而且本次请求写入的数据也都全部写入成功,所以此时副本21至25的数据长度都为3,显然,第一副本间长度差值diff=0。
第一副本间长度差值计算方式之二:完全同步的副本与多个部分同步的副本长度差值的平均值。
表四
如表四所示,分布式数据库系统客户端向数据节点11至数据节点15分别发送副本数据写入请求,其中,副本21、22、23分别写入数据成功,副本24、25的数据由于一些原因进度缓慢,造成了数据排队,所以副本21、22、23的数据长度都为1,副本24、25的数据长度都为0,即diff=1
表五
如表五所示,分布式数据库系统客户端继续向数据节点11至数据节点15发送副本数据写入请求,其中,副本21、22、23分别写入数据成功,而此时副本24上一次排队的数据已经写入成功,但本次副本24、25的数据由于一些原因进度缓慢,造成了数据排队,所以此时副本21、22、23的数据长度都为2,副本24的数据长度为1,副本25的数据长度为0,所以此时的第一副本间长度差值diff可以为完全同步副本(副本21、22、23)与部分同步副本(副本24、25)间的长度差的平均值,即diff=(1+2)/2=1.5。
S102:根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量。在分布式数据库系统的客户端向用户客户端返回数据写入成功消息之前,需要等待适量的数据节点返回副本数据写入成功消息,即需要适量的完全同步的副本,本发明实施例将此时完全同步的副本数量称之为额定数据节点数量。其中,额定数据节点数量是根据数据写入情况进行动态调整的,上限值为副本总数,下限值至少为1,但考虑到分布式数据库系统内数据的安全性和稳定性,额定数据节点数量最低可以设定为两个。为了兼顾数据写入效率、安全性及系统的稳定性,在确定需要执行完全同步的额定数据节点数量时,本发明实施例预设了第一副本间长度差阈值和第二副本间长度差阈值,并根据第一副本间长度差值与第一副本间长度差阈值和第二副本间长度差阈值作比较,来确定需要执行完全同步的额定数据节点数量。
具体的,上述步骤中的根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量可以具体为:
如果第一副本间长度差值大于预设的第一副本间长度差阈值,说明副本间的长度差值过大,则增加额定数据节点数量,来等待慢的副本,每次增加的额定数据节点数量可以是1,也可以根据第一副本间长度差值及数据写入情况选取合适的增加量,当额定数据节点数量增加至副本总数时,将不再增加。
如果第一副本间长度差值小于预设的第二副本间长度差阈值,说明副本间的长度差值已经很小了,则减少额定数据节点数量,其中,第二副本间长度差阈值小于第一副本间长度差阈值,每次减少的额定数据节点数量可以是1,也可以根据第一副本间长度差值及数据写入情况选取合适的减少量,但考虑到分布式数据库系统内数据的安全性和稳定性,额定数据节点数量最小减少至两个。如果第一副本间长度差值在第一副本间长度差阈值和第二副本间长度差阈值区间以内,说明副本间的长度差值还在合理的水平,则保持额定数据节点数量不变。
S103:根据额定数据节点数量,执行数据写入控制。在额定数据节点数量确定后,就可以基于该额定数据节点数量对向用户客户端返回数据写入成功消息的时机进行控制,进而达到数据写入控制的目的。
具体地,该步骤103可以具体为:在数据写入的过程中,首先接收到来自用户客户端的数据写入请求,之后向存储各个副本的各个数据节点分别发出副本数据写入请求,当接收到满足额定数据节点数量的副本数据写入成功消息后,向用户客户端返回数据写入成功消息,以触发用户客户端发送下一次数据写入请求。即以动态的方式调整副本完全同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
上述的步骤S101和步骤S102可以以预设的时间间隔定期执行,从而动态地根据各个副本的同步状况,确定出当前的额定数据节点数量。当有来自用户客户端的数据写入请求后,就按照该额定数据节点数量进行返回数据写入成功消息的控制。
作为另外一种可选择的实施例方式,也可以在每次收到来自用户客户端的数据写入请求后,触发上述步骤S101和步骤S102的处理,以确定出当前的额定数据节点数量,进而对本次数据写入请求执行相应的处理。具体地,该处理流程如图3所示,其为本发明实施例的数据写入控制方法的流程示意图之二,该流程可以包括:
S201:接收到来自用户客户端的数据写入请求,向存储各个副本的各个数据节点分别发出副本数据写入请求。
S202:获取完全同步和部分同步的副本之间的第一副本间长度差值。
S203:根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量。
S204:当接收到满足额定数据节点数量的副本数据写入成功消息后,向用户客户端返回数据写入成功消息,以触发用户客户端发送下一次数据写入请求。
本发明实施例提供的数据写入控制方法,根据完全同步与部分同步的副本之间的副本间长度差值确定需要执行完全同步的额定数据节点数量,以动态的方式调整副本完全同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
实施例二
如图4所示,其为本发明实施例的数据写入控制装置的结构示意图之一,该装置包括:副本间长度差值获取模块31,额定数据节点数量确定模块32,数据写入控制模块33。
副本间长度差值获取模块31,用于获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中。
在实际的分布式数据库系统中,会出现多个部分同步程度不同的副本,针对这种情况,上述步骤中的获取完全同步和部分同步的副本之间的第一副本间长度差值,可以具体为:获取完全同步的副本与多个部分同步的副本中长度最小的副本之间的副本间长度差值作为第一副本间长度差值;也可以为获取完全同步的副本与多个部分同步的副本长度差值的平均值作为第一副本间长度差值。
额定数据节点数量确定模块32,用于根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
在分布式数据库系统的客户端向用户客户端返回数据写入成功消息之前,需要等待适量的数据节点返回副本数据写入成功消息,即需要适量的完全同步的副本,本发明实施例将此时完全同步的副本数量称之为额定数据节点数量。其中,额定数据节点数量是根据数据写入情况进行动态调整的,上限值为副本总数,下限值至少为1,但考虑到分布式数据库系统内数据的安全性和稳定性,额定数据节点数量最低可以为两个。为了兼顾数据写入效率、安全性及系统的稳定性,在确定需要执行完全同步的额定数据节点数量时,本发明实施例预设了第一副本间长度差阈值和第二副本间长度差阈值,并根据第一副本间长度差值与第一副本间长度差阈值和第二副本间长度差阈值作比较,来确定需要执行完全同步的额定数据节点数量。
具体的,上述步骤中的根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量可以具体为:
如果第一副本间长度差值大于预设的第一副本间长度差阈值,说明副本间的长度差值过大,则增加额定数据节点数量,来等待慢的副本,每次增加的额定数据节点数量可以是1,也可以根据第一副本间长度差值及数据写入情况选取合适的增加量,当额定数据节点数量增加至副本总数时,将不再增加。
如果第一副本间长度差值小于预设的第二副本间长度差阈值,说明副本间的长度差值已经很小了,则减少额定数据节点数量,其中,第二副本间长度差阈值小于第一副本间长度差阈值,每次减少的额定数据节点数量可以是1,也可以根据第一副本间长度差值及数据写入情况选取合适的减少量,但考虑到分布式数据库系统内数据的安全性和稳定性,额定数据节点数量最小减少至两个。如果第一副本间长度差值在第一副本间长度差阈值和第二副本间长度差阈值区间以内,说明副本间的长度差值还在合理的水平,则保持额定数据节点数量不变。
数据写入控制模块33,用于根据额定数据节点数量,执行数据写入控制。
在额定数据节点数量确定后,就可以基于该额定数据节点数量对向用户客户端返回数据写入成功消息的时机进行控制,进而达到数据写入控制的目的。
在数据写入的过程中,首先接收到来自用户客户端的数据写入请求,之后向存储各个副本的各个数据节点分别发出副本数据写入请求,当接收到满足额定数据节点数量的副本数据写入成功消息后,向用户客户端返回数据写入成功消息,以触发用户客户端发送下一次数据写入请求。即以动态的方式调整副本完全同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
上述的获取完全同步和部分同步的副本之间的第一副本间长度差值和确定需要执行完全同步的额定数据节点数量可以以预设的时间间隔定期执行,从而动态地根据各个副本的同步状况,确定出当前的额定数据节点数量。当有来自用户客户端的数据写入请求后,就按照该额定数据节点数量进行返回数据写入成功消息的控制。
作为另外一种可选择的实施例方式,也可以在每次收到来自用户客户端的数据写入请求后,触发上述获取完全同步和部分同步的副本之间的第一副本间长度差值和确定需要执行完全同步的额定数据节点数量的处理,以确定出当前的额定数据节点数量,进而对本次数据写入请求执行相应的处理。相应地,如图5所示,其为本发明实施例的数据写入控制装置的结构示意图之二,在图4的基础上,增加了数据写入请求接收处理模块34,其用于接收到来自用户客户端的数据写入请求,向存储各个副本的各个数据节点分别发出副本数据写入请求,并触发额定数据节点数量确定模块执行确定需要执行完全同步的额定数据节点数量的处理。相应地,数据写入控制模块33具体用于:当接收到满足额定数据节点数量的副本数据写入成功消息后,向用户客户端返回数据写入成功消息,以触发用户客户端发送下一次数据写入请求。
本发明实施例提供的数据写入控制装置,根据完全同步与部分同步的副本之间的副本间长度差值确定需要执行完全同步的额定数据节点数量,以动态的方式调整副本完全同步的执行程度,从而在数据写入效率和分布式系统的数据安全性和稳定性之间保持动态的平衡。
实施例三
前面实施例描述了数据写入控制技术相关的流程处理及装置结构,上述的方法和装置的功能可借助一种电子设备实现完成,如图6所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器110和处理器120。
存储器110,用于存储程序。
除上述程序之外,存储器110还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器110可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器120,耦合至存储器110,用于执行存储器110中的程序,以用于执行如下处理:
获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
根据额定数据节点数量,执行数据写入控制。
其中,根据第一副本间长度差值,确定需要执行完全同步的额定数据节点数量可以包括:
如果第一副本间长度差值大于预设的第一副本间长度差阈值,则增加额定数据节点数量;
如果第一副本间长度差值小于预设的第二副本间长度差阈值,则减少额定数据节点数量,第二副本间长度差阈值小于第一副本间长度差阈值;
如果第一副本间长度差值在第一副本间长度差阈值和第二副本间长度差阈值区间以内,则保持额定数据节点数量不变。
其中,获取完全同步和部分同步的副本之间的第一副本间长度差值可以包括:
获取完全同步的副本与多个部分同步的副本中长度最小的副本之间的副本间长度差值作为第一副本间长度差值;
或者,
获取完全同步的副本与多个部分同步的副本长度差值的平均值作为第一副本间长度差值。
此外,在获取完全同步和部分同步的副本之间的第一副本间长度差值之前还可以包括:接收到来自用户客户端的数据写入请求,向存储各个副本的各个数据节点分别发出副本数据写入请求,
相应地,根据额定数据节点数量,执行数据写入控制可以包括:
当接收到满足额定数据节点数量的副本数据写入成功消息后,向用户客户端返回数据写入成功消息,以触发用户客户端发送下一次数据写入请求。
上述对于上述处理过程具体说明、技术原理详细说明以及技术效果详细分析在前面实施例中进行了详细描述,在此不再赘述。
进一步,如图所示,电子设备还可以包括:通信组件130、电源组件140、音频组件150、显示器160等其它组件。图中仅示意性给出部分组件,并不意味着电子设备只包括图中所示组件。
通信组件130被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件130经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件130还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件140,为电子设备的各种组件提供电力。电源组件140可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件150被配置为输出和/或输入音频信号。例如,音频组件150包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器110或经由通信组件130发送。在一些实施例中,音频组件150还包括一个扬声器,用于输出音频信号。
显示器160包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种数据写入控制方法,包括:
获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
根据所述额定数据节点数量,执行数据写入控制。
2.根据权利要求1所述的方法,其中,根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量包括:
如果所述第一副本间长度差值大于预设的第一副本间长度差阈值,则增加额定数据节点数量;
如果所述第一副本间长度差值小于预设的第二副本间长度差阈值,则减少额定数据节点数量,所述第二副本间长度差阈值小于所述第一副本间长度差阈值;
如果所述第一副本间长度差值在所述第一副本间长度差阈值和所述第二副本间长度差阈值区间以内,则保持所述额定数据节点数量不变。
3.根据权利要求1所述的方法,其中,获取完全同步和部分同步的副本之间的第一副本间长度差值包括:
获取完全同步的副本与多个部分同步的副本中长度最小的副本之间的副本间长度差值作为所述第一副本间长度差值;
或者,
获取完全同步的副本与多个部分同步的副本长度差值的平均值作为所述第一副本间长度差值。
4.根据权利要求1所述的方法,在获取完全同步和部分同步的副本之间的第一副本间长度差值之前还包括:接收到来自用户客户端的数据写入请求,向存储各个副本的各个数据节点分别发出副本数据写入请求,
所述根据所述额定数据节点数量,执行数据写入控制包括:
当接收到满足额定数据节点数量的副本数据写入成功消息后,向所述用户客户端返回数据写入成功消息,以触发所述用户客户端发送下一次数据写入请求。
5.根据权利要求1所述的方法,其中,所述额定数据节点数量最低为两个。
6.一种数据写入控制装置,包括:
副本间长度差值获取模块,用于获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
额定数据节点数量确定模块,用于根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
数据写入控制模块,用于根据所述额定数据节点数量,执行数据写入控制。
7.根据权利要求6所述的装置,其中,根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量包括:
如果所述第一副本间长度差值大于预设的第一副本间长度差阈值,则增加额定数据节点数量;
如果所述第一副本间长度差值小于预设的第二副本间长度差阈值,则减少额定数据节点数量,所述第二副本间长度差阈值小于所述第一副本间长度差阈值;
如果所述第一副本间长度差值在所述第一副本间长度差阈值和所述第二副本间长度差阈值区间以内,则保持所述额定数据节点数量不变。
8.根据权利要求6所述的装置,其中,获取完全同步和部分同步的副本之间的第一副本间长度差值包括:
获取完全同步的副本与多个部分同步的副本中长度最小的副本之间的副本间长度差值作为所述第一副本间长度差值;
或者,
获取完全同步的副本与多个部分同步的副本长度差值的平均值作为所述第一副本间长度差值。
9.根据权利要求6所述的装置,其中,还包括:
数据写入请求接收处理模块,用于接收到来自用户客户端的数据写入请求,向存储各个副本的各个数据节点分别发出副本数据写入请求,并触发所述额定数据节点数量确定模块执行确定需要执行完全同步的额定数据节点数量的处理;
所述根据所述额定数据节点数量,执行数据写入控制包括:
当接收到满足额定数据节点数量的副本数据写入成功消息后,向所述用户客户端返回数据写入成功消息,以触发所述用户客户端发送下一次数据写入请求。
10.根据权利要求6所述的装置,其中,所述额定数据节点数量最低为两个。
11.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:
获取完全同步和部分同步的副本之间的第一副本间长度差值,各个副本分别存储于不同的数据节点中;
根据所述第一副本间长度差值,确定需要执行完全同步的额定数据节点数量;
根据所述额定数据节点数量,执行数据写入控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811162767.9A CN110968641B (zh) | 2018-09-30 | 2018-09-30 | 数据写入控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811162767.9A CN110968641B (zh) | 2018-09-30 | 2018-09-30 | 数据写入控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968641A true CN110968641A (zh) | 2020-04-07 |
CN110968641B CN110968641B (zh) | 2023-05-02 |
Family
ID=70029382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811162767.9A Active CN110968641B (zh) | 2018-09-30 | 2018-09-30 | 数据写入控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968641B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
CN103428288A (zh) * | 2013-08-13 | 2013-12-04 | 浙江大学 | 基于分区状态表和协调节点的副本同步方法 |
CN103986694A (zh) * | 2014-04-23 | 2014-08-13 | 清华大学 | 分布式计算机数据存储系统中多副本一致性的控制方法 |
US20150324388A1 (en) * | 2014-05-06 | 2015-11-12 | International Business Machines Corporation | Dataset replica migration |
US9280423B1 (en) * | 2013-06-27 | 2016-03-08 | Emc Corporation | Mounting block level backup images |
CN108400881A (zh) * | 2017-02-08 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于状态机的消息引擎动态调整方法、装置及电子设备 |
-
2018
- 2018-09-30 CN CN201811162767.9A patent/CN110968641B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US9280423B1 (en) * | 2013-06-27 | 2016-03-08 | Emc Corporation | Mounting block level backup images |
CN103428288A (zh) * | 2013-08-13 | 2013-12-04 | 浙江大学 | 基于分区状态表和协调节点的副本同步方法 |
CN103986694A (zh) * | 2014-04-23 | 2014-08-13 | 清华大学 | 分布式计算机数据存储系统中多副本一致性的控制方法 |
US20150324388A1 (en) * | 2014-05-06 | 2015-11-12 | International Business Machines Corporation | Dataset replica migration |
CN108400881A (zh) * | 2017-02-08 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于状态机的消息引擎动态调整方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110968641B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10732696B2 (en) | Method and apparatus for wake-up control of intelligent terminal | |
US20230281037A1 (en) | Cross-device task relay method, cloud platform, and non-transitory storage medium | |
CN104144116B (zh) | 即时通讯方法及即时通讯系统 | |
US10491535B2 (en) | Adaptive data synchronization | |
EP3547715B1 (en) | Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker | |
US20140189015A1 (en) | Pushing notifications based on location proximity | |
JP2018515871A (ja) | グループ管理方法および端末、および記憶媒体 | |
US20130166832A1 (en) | Methods and electronic devices for adjusting the operating frequency of a memory | |
WO2017041531A1 (zh) | 一种超时等待时长更新方法及装置 | |
US20130055273A1 (en) | Terminal and application management method thereof | |
CN113301075B (zh) | 流量控制方法、分布式系统、设备及存储介质 | |
WO2019033935A1 (zh) | 界面消息显示及处理方法、装置及电子设备 | |
KR20160145116A (ko) | 토큰 버킷을 사용하는 통신들의 배터리 효율적 동기화 | |
US20140201317A1 (en) | Systems and Methods for Device-to-Cloud Message Delivery | |
CN113055483A (zh) | 消息中间件数据处理方法、装置及系统 | |
US8417222B1 (en) | Systems and methods for delivering messages based on a device radio status | |
EP2709371A1 (en) | Continuous data delivery with energy conservation | |
CN110968641B (zh) | 数据写入控制方法、装置及电子设备 | |
WO2016110011A1 (zh) | 一种终端及终端省电的方法、存储介质 | |
CN112395103B (zh) | 延迟消息发送方法、装置及存储介质 | |
CN114124962A (zh) | 多机房消息负载均衡处理方法及装置 | |
CN113301076B (zh) | 流量控制方法、分布式系统、设备及存储介质 | |
CN109428919B (zh) | 网页处理请求的处理方法和装置以及电子设备 | |
CN112130907A (zh) | 会话处理方法、装置及电子设备 | |
US9198193B1 (en) | Systems and methods for controlling network connection overhead associated with mobile device communications |
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 |