CN113259470A - 一种数据同步的方法及数据同步*** - Google Patents
一种数据同步的方法及数据同步*** Download PDFInfo
- Publication number
- CN113259470A CN113259470A CN202110618006.5A CN202110618006A CN113259470A CN 113259470 A CN113259470 A CN 113259470A CN 202110618006 A CN202110618006 A CN 202110618006A CN 113259470 A CN113259470 A CN 113259470A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- synchronization
- central node
- synchronized
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000001360 synchronised effect Effects 0.000 claims abstract description 163
- 239000000284 extract Substances 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 108
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000011156 evaluation Methods 0.000 claims description 23
- 230000002159 abnormal effect Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 10
- 230000008676 import Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于互联网技术领域,提供了一种数据同步的方法及数据同步***,包括:中心节点接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息,其中,所述待同步数据由所述二级数据节点所下联的用户终端经由所述二级数据节点发送至所述一级数据节点;中心节点基于所有待同步数据的数据特征信息进行数据冲突识别,确定目标同步数据;中心节点在满足预设的同步触发条件时,对所有目标同步数据进行数据同步。采用本发明能够避免重复数据存储于各个数据节点,提高数据节点的存储空间利用率,提高了数据同步的准确性。
Description
技术领域
本发明属于互联网技术领域,尤其涉及一种数据同步的方法及数据同步***。
背景技术
随着科学技术发展,多设备、多节点、多***之间实时数据同步,互相传输的需求越来越多。同步数据的数据量也越来越大,同步数据的质量要求也越来越高。如何提高数据同步准确率,成为实际应用中的不可或缺的技术需求。
现有的数据同步的技术,数据同步***内往往配置有一个中心节点,该中心节点下联有多个子节点,各个子节点会将需要同步的数据上传至直连的中心节点,中心节点需要具备大吞吐量以及多数据接口的特点,从而大大增加了中心节点的设备造价,以及对中心节点的网络具有较高的要求。并且,由于中心节点会将接收到的数据直接同步至下联的各个子节点,若某一用户终端往多个子节点上传同样的数据,则上述同步过程则会出现数据冲突的情况,降低了数据同步的准确性。
发明内容
有鉴于此,本发明实施例提供了一种数据同步的方法及数据同步***,以解决现有的数据同步的技术,中心节点下联有多个子节点,当***节点数增加的情况下,大大增加了中心节点的设备造价以及中心节点的网络环境的要求,并且在数据同步时容易出现数据冲突的情况,数据同步准确性低的问题。
本发明实施例的第一方面提供了一种数据同步的方法,应用于多节点的数据同步***,所述数据同步***包含两个以上数据集群以及一个中心节点,每个所述数据集群内包含一个一级数据节点以及至少一个二级数据节点;
所述数据同步的方法包括:
所述中心节点接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息,其中,所述待同步数据由所述二级数据节点所下联的用户终端经由所述二级数据节点发送至所述一级数据节点;
所述中心节点基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据;
所述中心节点在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步。
本发明实施例的第二方面提供了一种数据同步***,所述数据同步***包含两个以上数据集群以及一个中心节点,每个所述数据集群内包含一个一级数据节点以及至少一个二级数据节点;
所述中心节点,用于接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息,其中,所述待同步数据由所述二级数据节点所下联的用户终端经由所述二级数据节点发送至所述一级数据节点;
所述中心节点,用于基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据;
所述中心节点,用于在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步。
实施本发明实施例提供的一种数据同步的方法及***具有以下有益效果:
本发明实施例为将数据同步***内的各个数据节点划分为多个不同的数据集群,并且不同的数据集群配置两种数据节点,分别为一级数据节点以及二级数据节点,二级数据节点可以将由用户终端上传的待同步数据上传给一级数据节点,并交由一级数据节点上传给中心节点,从而中心节点直连的数据节点的数量会大大降低,从而也大大降低了对于中心节点的设备要求以及网络要求,在中心节点接收到各个一级数据节点上传的待同步数据之后,可以对所有待同步数据进行数据冲突识别,能够识别出存在冲突的数据,从而得到相互之间不存在冲突目标同步数据,并将目标同步数据同步至数据同步***内的各个数据节点,从而能够避免重复数据存储于各个数据节点,提高数据节点的存储空间利用率,提高了数据同步的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种数据同步***的结构示意图;
图2是本发明第一实施例提供的一种数据同步的方法的实现流程图;
图3是本发明第二实施例提供的一种数据同步的方法S203具体实现流程图;
图4是本发明第三实施例提供的一种数据同步的方法S2035具体实现流程图;
图5是本发明第四实施例提供的一种数据同步的方法具体实现流程图;
图6是本发明第五实施例提供的一种数据同步的方法S204具体实现流程图;
图7是本发明第六实施例提供的一种数据同步的方法具体实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例为数据同步***内的各个数据节点划分为多个不同的数据集群,并且不同的数据集群配置两种类型的数据节点,分别为一级数据节点以及二级数据节点,二级数据节点可以将由用户终端接收到的待同步数据上传给一级数据节点,并交由一级数据节点上传给中心节点,从而中心节点直连的数据节点的数量会大大降低,从而也大大降低了对于中心节点的设备要求以及网络要求,在中心节点接收到各个一级数据节点上传的待同步数据之后,可以对所有待同步数据进行数据冲突识别,能够识别出存在冲突的数据,并对冲突数据进行过滤处理,得到目标同步数据,并将目标同步数据同步至数据同步***内的各个数据节点,解决了现有的数据同步的技术,中心节点下联有多个子节点,当***节点数增加的情况下,大大增加了中心节点的设备造价以及中心节点的网络环境的要求,并且在数据同步时容易出现数据冲突的情况,数据同步准确性低的问题。
在本发明实施例中,数据同步***包含两个以上数据集群以及一个中心节点,每个所述数据集群内包含一个一级数据节点以及至少一个二级数据节点。其中,上述中心数据节点、一级数据节点以及二级数据节点包括但不限于:服务器、计算机、智能手机、笔记本电脑以及平板电脑等能够执行数据同步的设备。示例性地,图1示出了本申请一实施例提供的数据同步***的结构示意图。参见图1所示,该数据同步***中所有的数据节点可以预先划分为多个不同的数据集群10,每个数据集群内包含有一级数据节点11以及二级数据节点12,上述数据同步***还包括中心节点20。其中,上述数据集群10可以根据各个数据节点所在的地理位置进行划分,也可以根据其他划分规则对数据节点划分为不同的数据集群,例如,根据数据节点的设备型号或出厂厂家的不同,划分为对应的数据集群。
以下以基于地理位置为例对数据节点进行划分为例进行说明,数据同步***可以配置一全局地图,并为该全局地图划分为多个地理区域,每个地理区域可以划分为至少一个数据集群,示例性地,数据同步***可以将中国区域划分为华南区域、华中区域以及华北区域三个地理区域,并为上述地理区域配置对应的数据集群。在该情况下,数据同步***可以根据数据节点的安装位置所对应的地理区域,确定该数据节点对应的数据集群,例如一个二级数据节点安装于广州,而广州属于华南区域,则上述二级数据节点则属于华南区域对应的数据集群。
在一种可能的实现方式中,数据同步***可以对各个数据集群的集群规模进行管理。在该情况下,数据同步***可以为每个数据集群设置对应的最大节点数,其中,各个数据集群对应的最大数据节点数可以是相同的,也可以不同,例如,数据集群对应的最大数据节点可以根据所在区域对应的网络性能决定,例如,某一区域对应的网络带宽的总量较大,或者数据传输的平均速率较高,则对应的最大节点数的数值可以较大;反之,若某一区域对应的网络带宽的总量较小,或者数据传输的平均速率较低,即网络状态较差,则对应的最大数据节点的数值可以较小。数据同步***可以通过配置上述的最大节点数,来对各个数据集群的数据节点进行管理,避免数据集群内的数据同步任务超载,影响数据同步的效率以及数据集群的稳定性。
在一种可能的实现方式中,数据同步***为了提高组网的灵活性,可以对数据集群内的数据节点进行动态调整。若任一数据集群内包含的数据节点的个数大于预设的最大节点数,则可以对该地理区域配置新的数据集群,将超过所述最大节点数的新增数据节点添加到新配置的数据集群内,从而能够保持每个数据集群的数据节点的总数不会超过上述的最大节点数。在该情况下,若该地理区域中任意两个数据集群的数据节点的总数小于预设的最大节点数,则可以合并该地理区域内上述两个数据集群,从而能够减少数据集群的个数,提高数据节点的汇聚程度。
在一种可能的实现方式中,数据集群内还配置两级以上的数据节点,即二级数据节点可以并不直接连接用户终端,而是可以下联有对应的三级数据节点,当然,三级数据节点也可以下联有对应的四级数据节点,具体根据数据同步***的实际同步需求确定上述的组网方式,在此不对数据集群的级联级数进行限定。
在本实施例中,上述中心节点可以独立于各个数据集群,即上述中心节点可以不属于任一数据集群。在一种可能的实现方式中,上述中心节点属于数据同步***中的某一数据集群。举例性地,若中心节点的安装位置为广州,而数据同步***基于地理区域划分为华南区域数据集群、华中区域数据集群以及华北区域数据集群,则上述中心节点可以属于华南区域数据集群。在部分实施例中,若数据同步***中的中心节点发生更新,则更新前的中心节点会被更新后的一级数据节点替换,此时,被替换的中心节点可以作为所属数据集群对应的一级数据节点或者二级数据节点。
具体地,所述一级数据节点,用于接收所述二级数据节点上传的待同步数据;所述待同步数据是所述二级数据节点下联的用户终端上传的;
所述中心节点,用于接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息;
所述中心节点,用于基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据;
所述中心节点,用于在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步。
可选地,所述中心节点,用于基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据,包括:
所述中心节点,用于根据所述数据特征信息中的数据上传时间以及所属设备标识,计算任意两个待同步数据之间的第一相似度;
所述中心节点,用于若所述任意两个待同步数据之间的所述第一相似度大于预设的第一相似阈值,则将所述任意两个待同步数据识别为候选冲突数据;
所述中心节点,用于基于所述候选冲突数据的数据类型,确定与所述数据类型关联的特征提取算法;
所述中心节点,用于将所述候选冲突数据导入到所述特征提取算法内,得到所述候选冲突数据对应的数据特征向量;
所述中心节点,用于基于所述数据特征向量计算所述候选冲突数据之间的第二相似度;
所述中心节点,用于将所述第二相似度不大于预设的第二相似阈值的候选冲突数据识别为目标同步数据。
可选地,所述数据特征向量包含内容维度向量以及应用维度向量;所述内容维度向量用于标识所述候选冲突数据的内容特征;所述应用维度向量用于表示处理过所述候选冲突数据的所有应用程序;所述中心节点,用于基于所述数据特征向量计算所述候选冲突数据之间的第二相似度,包括:
所述中心节点,用于计算所述候选冲突数据的所述数据特征向量之间的向量距离,基于所述向量距离确定第一相似因子;
所述中心节点,用于根据所述应用维度向量,确定对所述候选冲突数据处理过的各个所述应用程序对应的处理次序,并基于所有所述应用程序对应的处理次序确定各个所述应用程序的加权权重;
所述中心节点,用于基于所有所述应用程序的加权权重以及所述应用维度向量,计算所述候选冲突数据之间的第二相似因子;所述第二相似因子的计算算法为:
其中,为所述第二相似因子;为其中一个候选冲突数据对应
的所述应用维度向量中第i个应用程序的值;为所述第i个应用程序对应的所述加权权
重;为另一个候选冲突数据对应的所述应用维度向量中第j个应用程序的值;为所述第j个应用程序对应的所述加权权重;n为对所述其中一个候选冲突数据处理
过的应用程序的总数;m为对所述另一个候选冲突数据处理过的应用程序的总数;
所述中心节点,用于基于所述第一相似因子以及所述第二相似因子,得到所述第二相似度。
可选地,所述中心节点还用于:
若满足预设的节点更新触发条件,则获取各个所述数据集群对应的一级数据节点的节点特征信息;所述节点特征信息包括所述中心节点对应的节点位置、节点性能参量以及节点网络参量;
基于所有所述节点位置,分别确定各个所述一级数据节点对应的位置维度得分;
基于所有已上传数据的数据量,确定所述数据同步***的数据量均值,并基于所述数据量均值以及所述节点网络参量,分别确定各个所述一级数据节点对应的网络维度得分;
根据本地对应的基准性能参量以及所有所述节点性能参量,确定出最大性能参量,并基于所述最大性能参量确定各个所述一级数据节点对应的性能维度得分;
基于所述位置维度得分、所述网络维度得分以及所述性能维度得分,确定各个所述一级数据节点对应的评价指标;
若任一所述一级数据节点的所述评价指标大于所述中心节点对应的基准指标,则向所述数据同步***内的所有数据节点发送节点更新信息;所述节点更新信息内包含所述评价指标大于所述基准指标的一级数据节点的节点标识,以将所述评价指标大于所述基准指标的一级数据节点作为新的中心节点。
可选地,所述中心节点,用于在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步,包括:
所述中心节点,用于基于预设的同步订阅列表,确定进行数据同步的目标同步节点;
所述中心节点,用于获取所述目标同步节点对应的已同步数据的同步信息;
所述中心节点,用于基于所述同步信息以及所有所述目标同步数据,确定增量同步数据;
所述中心节点,用于将所述增量同步数据发送给所述目标同步节点。
可选地,所述中心节点还用于:
若接收到所述目标同步节点发送的同步失败信息,或在预设的有效反馈时长内未接收到所述目标同步节点反馈的同步完成信息,则增加异常同步计数器的计数值;
若所述计数值大于预设的异常阈值,则对所述目标同步节点进行全量数据同步操作。
可选地,所述二级数据节点还用于:
若所述二级数据节点接收到关联的数据集群中的一级数据节点广播的节点异常信息,则获取所述数据集群内所有二级数据节点的节点信息;
基于所有所述节点信息确定出目标二级节点,并向所述数据集群广播一级节点更新信息,以将所述目标二级节点作为所述数据集群内新的一级数据节点。
为了便于说明本申请实施例提供的数据同步方法,图2示出了本发明第一实施例提供的数据同步的方法的交互流程图,详述如下:
在S201中,所述一级数据节点接收所述二级数据节点上传的待同步数据;所述待同步数据是所述二级数据节点下联的用户终端上传的。
在本实施例中,数据集群内包含有一级数据节点以及二级数据节点。其中,一级数据节点作为该数据集群内的数据汇总节点,可以接收各个二级数据节点上传的待同步数据;而二级数据节点作为该数据集群内的数据收集节点,可以直接与各个用户终端相连,接收用户终端上传的数据。
示例性地,以视频同步监控的应用场景为例进行说明。该数据同步***具体为一视频同步监控的***。该数据同步***包含有多个分布于不同区域的视频采集设备(即相当于上述的用户终端),视频采集设备可以采集各个区域获取得到的视频数据,并将该视频数据上传到关联的数据存储设备,该数据存储设备即为该视频同步监控的***中的二级数据节点,用于存储一个或多个视频采集设备获取得到的视频数据。此时,数据存储设备可以将接收到的视频数据上传给关联的数据库服务器,即关联的数据集群中的一级数据节点,一级数据节点可以接收该数据集群内各个数据存储设备发送的视频数据。
在本实施例中,二级数据节点可以接收下联的用户终端上传的数据,每个用户终端上传的数据可以配置有对应的数据标识,该数据标识可以根据用户终端的设备编号以及对应的上传时间确定。举例性地,该数据标识包含有2个字节,其中一个字节用于存储用户终端的设备标号,而另一个字节用于存储该数据对应的上传时间,其中,该用户终端的设备标号是在整个数据同步***内对于用户终端的唯一编号,从而能够基于设备标号在数据同步***内唯一确定一个用户终端。
在本实施例中,该二级数据节点可以存储有数据同步信息。该数据同步信息记录有已经上传的数据标识。二级数据节点可以根据上述数据同步信息确定未完成同步,即并未上传给一级数据节点的数据,将上述未上传给一级数据节点的数据识别为待同步数据,并将待同步数据发送给一级数据节点。
在一种可能的实现方式中,二级数据节点可以在接收到用户终端发送的待同步数据时,则将上述待同步数据发送给一级数据节点。
在一种可能的实现方式中,二级数据节点可以配置有对应的数据同步触发条件,在满足上述数据同步触发条件时,可以将待同步数据上传给一级数据节点。其中,上述数据同步触发条件可以是时间触发条件,即到达预设的上传时刻则将待同步数据发送给一级数据节点;上述数据同步触发条件还可以是一数据阈值,在检测到待同步数据的数据总量大于预设的数据阈值时,则二级数据节点向一级数据节点发送所有待同步数据。当然,二级数据节点还可以根据当前的网络状态,确定是否执行数据上传的操作;若当前的网络状态满足预设的上传触发条件(如可用的网络带宽大于预设的带宽阈值,和/或网络传输速率大于预设的速率阈值,和/或网络信噪比大于预设的比值),则二级数据节点向一级数据节点发送待同步数据。
在S202中,所述中心节点接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息。
在本实施例中,一级数据节点可以将接收到的各个二级数据节点上传的待同步数据发送给中心节点,即一级数据节点是所在数据集群内的次级中心节点,从而数据集群内的各个二级数据节点无需直接与中心节点相连,减少了中心节点所需的数据接口数量,也降低了对于中心节点的数据传输的负载压力。在部分应用场景中,若数据同步***内多个用户终端同时生成待同步数据并上传给二级数据节点,此时,多个二级数据节点同时向中心节点发送待同步数据,则整个数据同步***内的数据吞吐量较大,大大增大了数据同步***的网络负载,影响了数据同步***的稳定性。而通过为数据集群配置一级数据节点,并通过一级数据节点接收各个二级数据节点的待同步数据,继而再转发给中心节点,能够中心节点所在网络的负载,提高了数据同步***的稳定性。
与二级数据节点相同,一级数据节点可以直接将待同步数据发送给中心节点,也可以配置有对应的数据同步触发条件,在满足预设的数据同步触发条件时,将待同步数据上传给中心节点,具体实现过程可以参见上一实施例的相关描述,在此不再赘述。
在一种可能的实现方式中,数据集群内可以配置有对应的节点更新条件,若满足预设的节点更新条件则可以对该数据集群内的一级数据节点进行更新。其中,上述节点更细条件可以为一更新周期,该数据集群内可以预设的更新周期对一级数据节点进行更新。在该情况下,数据集群可以基于预设的轮值次序,在每一个更新周期选取对应轮值次序的二级数据节点作为该数据集群的一级数据节点,而上一更新周期的一级数据节点会重新作为该数据集群的二级数据节点,以此类推。
在一种可能的实现方式中,上述一级数据节点的更新方式可以应用于数据集群内的各个所有数据节点的性能参数一致的场景中。由于该数据集群内的所有数据节点的性能参数相一致,相互之间并没有优劣之分,因此可以将任意数据节点作为该数据集群的一级数据节点,而其他数据节点作为二级数据节点,并采用轮值的方式在每个更新周期到达时变更一级数据节点,避免一级数据节点长时间处于高写入高读取的状态,能够提高数据集群中一级数据节点的设备使用寿命,降低一级数据节点的使用损耗。
在S203中,所述中心节点基于所有待同步数据的数据特征信息进行数据冲突识别,确定目标同步数据。
在本实施例中,中心节点在接收到各个数据集群的一级数据节点发送的待同步数据后,可以首先对所有待同步数据进行冲突识别的操作。由于部分用户终端可能会将相同的数据上传至不同的二级数据节点,不同的二级数据节点均会将上述相同的数据发送给一级数据节点,继而一级数据节点会作为待同步数据上传给中心节点,此时,若将相同的数据同步至各个二级数据节点,则可能会导致原本已经存储有该数据的二级数据节点发生同步数据冲突的情况,而对于其他二级数据节点而言,则会浪费存储空间存储相同的两个数据。因此,为了避免上述情况的发生,中心节点在执行数据同步之前,会将所有待同步数据进行数据冲突识别,过滤掉存在数据冲突的异常数据,得到上述的目标同步数据。
在本实施例中,中心节点配置有数据特征提取算法,分别将各个待同步数据导入到上述数据特征提取算法中,确定各个待同步数据对应的数据特征信息。
在一种可能的实现方式中,若待同步数据包含数据标识,则可以将上述数据标识作为该待同步数据的数据特征信息。其中,该数据标识根据用户终端的设备编号以及数据上传时间确定的。在该情况下,执行上述的数据冲突识别具体可以为:将上述设备编号相同且数据上传时间之间的差值在预设的抖动阈值的两个或以上的待同步数据,识别为冲突数据组,只保留冲突数据组内一个待同步数据,删除该冲突数据内的其他待同步数据。举例性地,若待同步数据A对应的数据标识为{A设备,8:11},而待同步数据B对应的数据表示为{A设备,8:11},待同步数据A与待同步数据B上传的用户终端均为A设备,且上传时间相近,则将上述两个待同步数据识别为一个冲突数据组,保留其中一个待同步数据,例如保留待同步数据A,而删除其他待同步数据,即删除待同步数据B。
在一种可能的实现方式中,中心节点配置有查重搜索脚本。中心节点可以通过上述查重搜索脚本提取上述数据特征信息中的特征关键词,若任意两个待同步数据间相同的特征关键词的个数大于预设的个数阈值,例如基于数据特征信息提取的所有特征关键词均相同,则识别上述两个待同步数据是重复的数据,在该情况下,则识别上述两个待同步数据为重复数据,删除其中一个待同步数据,而保留另一个。
在S204中,所述中心节点在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步。
在本实施例中,中心节点可以配置有预设的同步触发条件。在中心节点检测到满足预设的同步触发条件时,则将目标同步数据同步至数据同步***内的所有数据节点。其中,数据同步的方式可以为:中心节点将目标同步数据发送给各个数据集群内的一级数据节点,并通过一级数据节点下发至各个二级数据节点;又或者,中心节点可以生成一个在数据同步***内的全网同步广播,该全网同步广播携带有目标同步数据,从而接收到该全网同步广播的数据节点(包括一级数据节点以及二级数据节点)均可以将目标同步数据存储于本地,以实现数据同步的目的。
在一种可能的实现方式中,上述中心节点对所有目标同步数据进行数据同步的方式具体为:中心节点确定上传目标同步数据对应数据集群,将除上传目标同步数据的数据集群外的其他集群作为待同步集群,将上述目标同步数据发送给待同步集群内的一级数据节点,以便一级数据节点将目标同步数据发送给待同步集群内的各个二级数据节点。其中,该目标同步数据通过二级数据节点发送给一级数据节点后,一级数据节点可以将该目标同步数据发送给该数据集群内的各个二级数据节点,以及将该目标同步数据发送给中心节点,即目标同步数据在所属的数据集群内已完成同步,因此,中心节点无需重新将该目标同步数据发送给其所属数据集群内的数据节点,减少了不必要的数据传输操作。
在一种可能的实现方式中,若数据同步***为实时数据同步***,则上述同步触发条件为空,则中心节点在获取得到需要进行同步的目标同步数据时,则会立即将目标同步数据发送给数据同步***内的各个数据节点,以实现数据同步。
以上可以看出,本发明实施例提供的一种数据同步的方法为数据同步***内的各个数据节点划分为多个不同的数据集群,并且不同的数据集群配置两种类型的数据节点,分别为一级数据节点以及二级数据节点,二级数据节点可以将由用户终端接收到的待同步数据上传给一级数据节点,并交由一级数据节点上传给中心节点,从而中心节点直连的数据节点的数量会大大降低,从而也大大降低了对于中心节点的设备要求以及网络要求,在中心节点接收到各个一级数据节点上传的待同步数据之后,可以对所有待同步数据进行数据冲突识别,能够识别出存在冲突的数据,并对冲突数据进行过滤处理,得到目标同步数据,并将目标同步数据同步至数据同步***内的各个数据节点,从而能够避免重复数据存储于各个数据节点,提高数据节点的存储空间利用率,提高了数据同步的准确性。
图3示出了本发明第二实施例提供的一种数据同步的方法S203的具体实现流程图。参见图3,相对于图2所述实施例,本实施例提供的一种数据同步的方法中S203包括:S2031~S2036,具体详述如下:
进一步地,所述中心节点基于所有待同步数据的数据特征信息进行数据冲突识别,确定目标同步数据,包括:
在S2031中,所述中心节点根据所述数据特征信息中的数据上传时间以及所属设备标识,计算任意两个待同步数据之间的第一相似度。
在本实施例中,中心节点可以基于数据特征信息内的两个维度信息对所有待同步数据进行一个初步筛选,选取出冲突概率较大的候选冲突数据。其中,选取的两个维度信息分别为数据上传时间以及所属设备标识,即确定各个待同步数据是否由同一用户终端上传,以及各个待同步数据对应的上传时间是否相同或相近。上述所属设备标识可以为用户终端的设备型号、物理地址,也可以是用户终端所在网络对应的网络地址、上传数据的端口号等。
在本实施例中,中心节点预设有第一相似度计算算法,可以将任意两个待同步数据的数据上传时间以及所属设备标识导入到上述第一相似度计算算法中,确定上述两个待同步数据之间的第一相似度。其中,上述第一相似度计算算法具体可以为:
其中,为上述第一相似度;为其中一个待同步数据的数据上传时
间;为其中一个待同步数据的所属设备标识;为另一个待同步数据的数据上传
时间;为另一个待同步数据的所属设备标识,为预设的时间维度权重,为预设的
设备维度权重,diff丨x,y丨为预设的差异函数。
在一种可能的实现方式中,若任一两个待同步数据之间的第一相似度小于或等于预设的第一相似阈值,则表示两个待同步数据不相似,即并非为冲突数据,可以将上述两个待同步数据识别为目标同步数据。
在S2032中,若所述任意两个待同步数据之间的所述第一相似度大于预设的第一相似阈值,则所述中心节点将所述任意两个待同步数据识别为候选冲突数据。
在本实施例中,中心节点在检测到任意两个待同步数据之间的第一相似度大于预设的第一相似阈值时,则表示上述两个待同步数据可能是相互冲突的数据,为了提高冲突数据识别的准确性,需要进一步进行识别。因此,会将上述两个待同步数据识别为候选冲突数据。
在S2033中,所述中心节点基于所述候选冲突数据的数据类型,确定与所述数据类型关联的特征提取算法。
在本实施例中,不同类型的数据所存储的内容形式以及编辑数据所使用的应用也会存在差异,基于此,中心节点首选需要确定候选冲突数据对应的数据类型,以确定对应的特征提取算法。例如,上述两个候选冲突数据类型为文本类型,则所存储的内容为字符,则可以通过对应的关键词提取算法确定数据特征向量;上述两个候选冲突数据类型为音频类型,则所存储的内容为音轨,则可以通过对应的音频分析算法确定数据特征向量。因此,中心节点可以存储有不同数据类型关联的特征提取算法,在确定了候选冲突数据对应的数据类型后,可以获取与之对应的特征提取算法,以执行S1034的操作。
在S2034中,所述中心节点将所述候选冲突数据导入到所述特征提取算法内,得到所述候选冲突数据对应的数据特征向量;所述数据特征向量包含内容维度向量以及应用维度向量;所述内容维度向量用于标识所述候选冲突数据的内容特征;所述应用维度向量用于表示处理过所述候选冲突数据的所有应用程序。
在本实施例中,中心节点可以分别将上述两个候选冲突数据导入到与其数据类型关联的特征提取算法中,以生成候选冲突数据对应的数据特征向量。上述数据特征向量具体包含两个维度向量,分别为内容维度向量以及应用维度向量。其中,内容维度向量具体用于表征该候选冲突数据的内容特征,举例性地,若该候选冲突数据对应的数据类型为文本类型,则上述内容维度向量可以是基于候选冲突数据提取得到的文本关键词生成的;若该候选冲突数据对应的数据类型为图像类型,则上述内容维度向量可以是对候选冲突数据内的图像数据进行卷积特征提取后得到的向量。
在本实施例中,每个候选冲突数据在上传之前,均是通过用户终端上应用程序生成得到的,每个应用程序在对数据进行处理后,可以在数据对应的字段添加对应的编辑标识。基于此,中心设备可以对候选冲突数据中相关的字段进行识别,从而确定曾经对候选冲突数据进行编辑操作的所有应用程序,并根据各个应用程序对候选冲突数据对应的编辑次序以及应用程序标识,生成对应的应用维度向量。
示例性地,若一候选冲突数据为一文本,该文本依次经过以下三个应用程序编辑得到:1.写字板应用→2.word文档编辑应用→3.WPS编辑应用,中心节点可以通过识别候选冲突数据的文件后缀以及读取关联字节的参数,确定处理过该候选冲突数据的所有应用程序,并生成对应的应用维度向量,例如上述例子构成的应用维度向量可以为:[txt,word,WPS]。
在S2035中,所述中心节点基于所述数据特征向量计算所述候选冲突数据之间的第二相似度。
在本实施例中,中心节点在确定了上述两个候选冲突数据对应的数据特征向量后,可以根据数据特征向量计算对应的第二相似度。其中,由于数据特征向量中包含有内容维度向量以及应用维度向量,则可以从内容相似性以及处理的应用程序的相似性两个方面,来判定上述两个候选冲突数据是否为相同的数据。由于部分数据可以通过应用程序对其中的内容进行编辑,例如通过应用程序对某个标点符号进行修正,上述两个数据之间的内容相似性较大,较难分辨是否为相同的冲突数据,此时,通过处理过该数据的应用程序的类型以及对应的处理次数(即应用维度向量)来区分对上述数据进行冲突区分。基于此,中心节点可以将上述数据特征向量导入到预设的相似度计算模型,确定候选冲突数据之间的第二相似度。
在一种可能的实现方式中,中心节点可以计算上述两个数据特征向量之间的向量距离,基于向量距离确定上述两个候选冲突数据之间的第二相似度。其中,上述向量距离是基于两个距离因子确定的,分别为内容维度距离因子以及应用维度距离因子,中心节点可以分别计算内容维度向量之间的距离以及应用维度向量之间的距离,从而得到上述两个距离因子,并基于内容维度以及应用维度关联的权重值,对上述两个距离因子进行加权叠加,从而计算得到两个数据特征向量之间的向量距离,并基于上述向量距离确定第二相似度。
进一步地,图4示出了本申请另一实施例提供的S2035的具体实现流程图。参见图4所示,本实施例提供的S2035包含S401~S404,具体描述如下:
在S401中,所述中心节点计算所述候选冲突数据的所述内容维度向量之间的向量距离,基于所述向量距离确定第一相似因子。
在本实施例中,中心节点可以提取数据特征向量中的内容维度向量,并将上述候选冲突数据的内容维度向量导入到预设的向量距离计算函数,从而可以确定了两个内容维度向量之间的向量距离。上述向量距离计算函数可以为欧氏距离计算函数,也可以是马氏距离计算函数等。
在S402中,所述中心节点对所述应用维度向量进行解析,确定处理过所述候选冲突数据的各个所述应用程序的处理次序,并基于所有所述应用程序对应的处理次序确定各个所述应用程序的加权权重。
在本实施例中,中心节点可以从数据特征向量中提取应用维度向量,并对上述应用维度向量进行分析,确定对候选冲突数据处理过的各个应用程序的程序标识以及对应的处理次序。如上例子所述,若某一候选冲突数据被三个应用程序处理过,则对应的应用维度向量为:[txt,word,WPS],中心节点对该应用维度向量进行分析,则可以确定处理过该候选冲突数据的应用程序,以及各个应用程序对应的处理次序。需要说明的是,同一应用程序可以对候选冲突数据进行多次处理,则在应用维度向量中可以存在多个对应的元素,例如,某一候选冲突数据被word文档应用编辑了两次,则上述应用维度向量可以为:[txt,word,word,WPS]。
在本实施例中,不同的处理次序可以配置对应的加权权重。因此,在确定了各个应用程序的处理次序后,可以基于预设的处理次序与权重之间的对应关系,获取与处理次序对应的加权权重。
在S403中,所述中心节点基于所有所述应用程序的加权权重以及所述应用维度向量,计算所述候选冲突数据之间的第二相似因子;所述第二相似因子的计算算法为:
其中,为所述第二相似因子;为其中一个候选冲突数据对应
的所述应用维度向量中第i个应用程序的值;为所述第i个应用程序对应的所述加权权
重;为另一个候选冲突数据对应的所述应用维度向量中第j个应用程序的值;为所述第j个应用程序对应的所述加权权重;n为对所述其中一个候选冲突数据处理
过的应用程序的总数;m为对所述另一个候选冲突数据处理过的应用程序的总数。
在本实施例中,基于各个应用程序的处理次序对该应用程序对应的元素值进行加权运算,并进行迭代叠加,若两个候选冲突数据中对应处理次序所处理的应用程序相同,则计算得到对应的数值较大,从而对应的相似度较高,两个候选冲突数据相同的概率则较大;反之,若两个候选冲突数据中对应处理次序所处理的应用程序不同,则计算得到对应的数值较小,从而对应的相似度较小。
在S404中,所述中心节点基于所述第一相似因子以及所述第二相似因子,得到所述第二相似度。
在本实施例中,中心节点在确定了内容维度向量对应的第一相似因子以及应用维度向量对应的第二相似因子,可以基于上述两个相似因子确定候选冲突向量之间的第二相似度。其中,中心节点可以直接叠加第一相似因子以及第二相似因子,得到上述的第二相似度,也可以计算第一相似因子以及第二相似因子的均值,作为上述的第二相似度。
在本申请实施例中,通过分别计算内容维度向量对应的第一相似因子以及应用维度向量对应的第二相似因子,从而能够从两个维度上评价候选冲突数据是否为相同的冲突数据,提高了冲突数据识别的准确性。
在S2036中,将所述第二相似度不大于预设的第二相似阈值的候选冲突数据识别为目标同步数据。
在本实施例中,中心节点若检测到上述两个候选冲突数据之间的第二相似度小于预设的第二相似阈值,则表示上述两个候选冲突数据并非相同的冲突数据,可以将上述两个候选冲突数据均识别为目标同步数据,以对***内的各个数据节点进行数据同步。
在一种可能的实现方式中,若第二相似度大于预设的第二相似阈值,则识别上述两个候选冲突数据为冲突数据,将其中一个候选冲突数据删除,保留另一个候选冲突数据,将保留的候选冲突数据识别为目标同步数据。
在本申请实施例中,通过对待同步数据进行两次相似度计算,分别从上传时间、所属设备、内容特征以及应用程序四个维度对待同步数据进行冲突识别,能够提高冲突数据识别的准确性。
图5示出了本发明第三实施例提供的一种数据同步的方法的具体实现流程图。参见图5,相对于图2所述实施例,本实施例提供的一种数据同步的方法在所述中心节点接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息之前,还包括:S501~S506,具体详述如下:
进一步地,在所述中心节点接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息之前,还包括:
在S501中,若所述中心节点满足预设的节点更新触发条件,则获取各个所述数据集群对应的一级数据节点的节点特征信息;所述节点特征信息包括所述中心节点对应的节点位置、节点性能参量以及节点网络参量。
在本实施例中,中心节点可以定期进行变更,以便能够从数据同步***中选取出性能较优的数据节点作为整个数据同步***的中心节点。基于此,中心节点在满足预设的节点更新触发条件时,可以获取数据集群内各个一级数据节点对应的节点特征信息。其中,上述更新触发条件可以为一时间条件,例如设置对应的更新周期,也可以是一个事件触发条件,例如,中心节点检测到当前的网络波动大于某一波动阈值,若网络吞吐量小于预设阈值的持续时长大于某个时间阈值,则识别满足上述的节点更新触发条件。
在本实施例中,中心节点获取的节点特征信息包含有三个维度的信息,分别为地理维度、设备性能维度以及所处网络的网络状态维度,对应的分贝为节点位置、节点性能参量以及节点网络参量。
在S502中,所述中心节点基于所有所述节点位置,分别确定各个所述一级数据节点对应的位置维度得分。
在本实施例中,中心节点可以根据各个一级数据节点对应的节点位置,分别确定各个一级数据节点对应的位置维度得分。由于各个一级数据节点均需要将待同步数据上传给中心节点,因此,若中心节点所在的地理位置越靠近整个数据同步***的网络中心,则各个一级数据节点的平均跳转路由的较短,因此,中心节点可以根据节点位置计算一级数据节点与各个其他数据集群的一级数据节点之间的距离值,基于距离值确定该一级数据节点对应的位置维度得分。
在S503中,所述中心节点基于所有已上传数据的数据量,确定所述数据同步***的数据量均值,并基于所述数据量均值以及所述节点网络参量,分别确定各个所述一级数据节点对应的网络维度得分。
在本实施例中,中心设备存储有所有已上传数据,基于各个已上传数据对应的数据量,计算得到该数据同步***对应的数据量均值。由于数据量均值越大,对于数据同步***的网络要求越大;反之,若数据量均值越小,对于数据同步***的网络要求越小。基于此,中心节点可以根据该数据量均值以及一级数据节点的节点网络参量,计算出网络维度得分。其中,可以根据节点网络参量与数据量均值之间比值,并基于该比值确定上述的网络维度得分。若该比值的数值越大,则对应的网络维度得分越大;反之,若该比值的数值越小,则对应的网络维度得分越小。
在一种可能的实现方式中,中心节点可以根据上述的数据量均值,确定网络参量极值,若节点网络参量大于上述网络参量极值,则将网络维度得分配置为预设的分值,即节点网络参量大于预设的网络参量极值之后,并不会继续增加对应网络维度得分,会对应的预设的分数值。由于网络传输速率大于某一数值时,属于对于传输数据量较小的数据同步网络,是并非必要的,因此可以配置有一个固定值。
在S504中,所述中心节点根据本地对应的基准性能参量以及所有所述节点性能参量,确定出最大性能参量,并基于所述最大性能参量确定各个所述一级数据节点对应的性能维度得分。
在本实施例中,中心节点可以获取自身的基准性能参量,从基准性能参量以及所有一级数据节点的节点性能参量中,选取出最大性能参量。基于最大性能参量与一级数据节点的节点性能参量之间的比值,确定出该一级数据节点对应的性能维度得分。
在S505中,所述中心节点基于所述位置维度得分、所述网络维度得分以及所述性能维度得分,确定各个所述一级数据节点对应的评价指标。
在本实施例中,中心节点可以基于上述三个维度对应的得分,计算得到以及数据节点的评价指标。其中,中心节点可以为各个维度配置对应的加权权重,基于各个加权权重以及对应的维度得分进行加权叠加,计算得到上述的评价指标。若该评价指标的数值越大,则越适合作为中心节点;反之,若该评价指标越小,则并不适合作为中心节点。
在一种可能的方式中,若各个一级数据节点的评价指标均小于或等于中心节点对应的基准指标,则表示并没有一级数据节点比当前的中心节点更适合当中心节点,此时,并不会更换数据同步***的中心节点,即无需发送节点更新信息。
在S506中,若任一所述一级数据节点的所述评价指标大于所述中心节点对应的基准指标,则所述中心节点向所述数据同步***内的所有数据节点发送节点更新信息;所述节点更新信息内包含所述评价指标大于所述基准指标的一级数据节点的节点标识,以将所述评价指标大于所述基准指标的一级数据节点作为新的中心节点。
在本实施例中,若中心节点检测到其中一个一级数据节点的评价指标大于中心节点的基准指标,则表示该一级数据节点更适合作为数据同步***的中心节点,此时,中心节点可以将该评价指标最大的一级数据节点作为新的中心节点,并生成对应的节点更新信息,发送给各个数据同步***内的数据节点,以便后续各个数据集群的一级数据节点将待同步数据发送给新的中心节点。需要说明的是,中心节点的基准指标的计算方式可以参见上述评价指标的计算方式,在此不再赘述。
在一种可能的实现方式中,被替换的中心节点可以作为所属数据集群的一级数据节点,也可以作为新的中心节点所属数据集群的一级数据节点,当然,还可以作为所属数据集群的二级数据节点。
在本申请实施例中,在满足预设的节点更新触发条件时,中心节点可以获取各个数据集群的一级数据节点的节点特征信息,从而确定是否存在更为适合的数据节点作为中心节点,并在检测到存在一级数据节点的评价指标大于自身的基准指标时,更换数据同步***的中心节点,从而保证中心节点处于高效运转的状态,提高了整个数据同步***的同步效率。
图6示出了本发明第四实施例提供的一种数据同步的方法S204的具体实现流程图。参见图6,相对于图2所述实施例,本实施例提供的一种数据同步的方法S204包括:S2041~S2046,具体详述如下:
进一步地,所述中心节点在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步,包括:
在S2041中,所述中心节点基于预设的同步订阅列表,确定进行数据同步的目标同步节点。
在本实施例中,中心节点存储有同步订阅列表,该同步订阅列表中记录有需要进行数据同步的数据节点的节点标识。中心节点可以通过读取上述同步订阅列表,确定需要进行数据同步的目标同步节点。
在S2042中,所述中心节点获取所述目标同步节点对应的已同步数据的同步信息。
在本实施例中,中心节点向目标同步节点发送一个同步信息获取请求,目标同步节点可以在接收到上述同步信息获取请求后,向中心节点发送上述同步信息。该同步信息记录有已完成同步的数据的信息,例如可以记录有已完成同步的数据编号。
在S2043中,所述中心节点基于所述同步信息以及所有所述目标同步数据,确定增量同步数据。
在本实施例中,中心节点可以根据同步信息,从所有目标同步数据中确定出该目标同步节点未同步的目标同步数据,将未同步的目标同步数据作为增量同步数据。
在S2044中,所述中心节点将所述增量同步数据发送给所述目标同步节点。
在本实施例中,中心节点将增量同步数据发送给目标同步节点,以实现增量同步。需要说明的是,由于不同的数据节点的同步状态不同,因此,对于不同的目标同步节点均可以执行上述操作,对不同的目标同步节点确定对应的增量同步数据。
在S2045中,所述中心节点若接收到所述目标同步节点发送的同步失败信息,或在预设的有效反馈时长内未接收到所述目标同步节点反馈的同步完成信息,则增加异常同步计数器的计数值。
在本实施例中,目标同步节点可以在接收到增量同步数据后,向中心节点发送一个同步完成信息,以通知中心节点以完成增量同步。基于此,若中心节点并没有在预设的有效反馈时长内接收到目标数据节点发送的同步完成信息,则可能该目标数据节点处于网络波动或者异常状态,需要进一步进行异常识别,会增加异常同步计数器的计数值。
在本实施例中,目标同步节点也可以不向中心节点发送同步完成信息,而在出现没有完成数据同步的情况下,向中心节点发送同步失败信息。此时,中心节点同样可以增加异常同步计数器的计数值,并重新将增量同步数据发送给目标同步节点。
在一种可能的实现方式中,若在后续同步过程中,接收到该目标同步节点发送的同步完成信息,或者中心节点确定该目标同步节点完成增量同步,则可以将上述异常同步计数器进行清零。即若该异常同步计数器用于确定该目标同步节点连续失败同步的次数。
在S2046中,若所述计数值大于预设的异常阈值,则所述中心节点对所述目标同步节点进行全量数据同步操作。
在本实施例中,若该异常及同步计数器的计数值大于预设的异常阈值,则表示该目标同步节点多次无法完成数据同步的操作,此时中心节点会对该目标同步节点进行全量数据同步,即将本地所有需要同步的数据发送给目标同步节点。
在本申请实施例中,中心节点对各个目标同步节点进行增量同步,能够提高数据同步的效率;另一方面,在目标同步节点多次同步失效的情况下,进行全量同步,能够提高数据同步的准确性。
图7示出了本发明第五实施例提供的一种数据同步的方法的具体实现流程图。参见图7,相对于图2-6任一项所述实施例,本实施例提供的一种数据同步的方法中还包括:S701~S702,具体详述如下:
在S701中,若所述二级数据节点接收到关联的数据集群中的一级数据节点广播的节点异常信息,则获取所述数据集群内所有二级数据节点的节点信息。
在本实施例中,数据集群内也能够对一级数据节的异常状态进行自动修复,以提高数据集群的鲁棒性。其中,一级数据节点处于异常状态的情况下,可以在数据集群内广播一个节点异常信息,二级数据节点在接收到节点异常信息时,可以获取该数据集群内的所有二级数据节点的节点信息。该节点信息可以包含有二级数据节点的性能参量、网络参量以及存储占用率等。
在S702中,所述二级数据节点基于所有所述节点信息确定出目标二级节点,并向所述数据集群广播一级节点更新信息,以将所述目标二级节点作为所述数据集群内新的一级数据节点。
在本实施例中,二级数据节点可以根据节点信息确定各个二级数据节点对应的性能评分,选取性能评分最高的一个二级数据节点作为目标二级节点,并向数据集群广播一级节点更新信息,从而能够将目标二级节点替换存在异常的一级数据节点。
在本申请实施例中,通过二级数据节点在一级数据节点异常的情况下,获取各个二级数据节点对应的节点信息,选取出替换异常的一级数据节点的目标二级节点,能够提高数据同步***的稳定性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据同步的方法,应用于多节点的数据同步***,其特征在于,所述数据同步***包含两个以上数据集群以及一个中心节点,每个所述数据集群内包含一个一级数据节点以及至少一个二级数据节点;
所述数据同步的方法包括:
所述中心节点接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息,其中,所述待同步数据由所述二级数据节点所下联的用户终端经由所述二级数据节点发送至所述一级数据节点;
所述中心节点基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据;
所述中心节点在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步。
2.根据权利要求1所述的方法,其特征在于,所述中心节点基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据,包括:
所述中心节点根据所述数据特征信息中的数据上传时间以及所属设备标识,计算任意两个待同步数据之间的第一相似度;
若所述任意两个待同步数据之间的所述第一相似度大于预设的第一相似阈值,则所述中心节点将所述任意两个待同步数据识别为候选冲突数据;
所述中心节点基于所述候选冲突数据的数据类型,确定与所述数据类型关联的特征提取算法;
所述中心节点将所述候选冲突数据导入到所述特征提取算法内,得到所述候选冲突数据对应的数据特征向量;
所述中心节点基于所述数据特征向量计算所述候选冲突数据之间的第二相似度;
将所述第二相似度不大于预设的第二相似阈值的候选冲突数据识别为目标同步数据。
3.根据权利要求2所述的方法,其特征在于,所述数据特征向量包含内容维度向量以及应用维度向量;所述内容维度向量用于标识所述候选冲突数据的内容特征;所述应用维度向量用于表示处理过所述候选冲突数据的所有应用程序;所述中心节点基于所述数据特征向量计算所述候选冲突数据之间的第二相似度,包括:
所述中心节点计算所述候选冲突数据的所述内容维度向量之间的向量距离,基于所述向量距离确定第一相似因子;
所述中心节点对所述应用维度向量进行解析,确定处理过所述候选冲突数据的各个所述应用程序的处理次序,并基于所有所述应用程序对应的处理次序确定各个所述应用程序的加权权重;
所述中心节点基于所有所述应用程序的加权权重以及所述应用维度向量,计算所述候选冲突数据之间的第二相似因子;所述第二相似因子的计算算法为:
其中,为所述第二相似因子;为其中一个候选冲突数据对应的所述应
用维度向量中第i个应用程序的值;为所述第i个应用程序对应的所述加权权重;为另一个候选冲突数据对应的所述应用维度向量中第j个应用程序的值;为所
述第j个应用程序对应的所述加权权重;n为对所述其中一个候选冲突数据处理过的应用程
序的总数;m为对所述另一个候选冲突数据处理过的应用程序的总数;
所述中心节点基于所述第一相似因子以及所述第二相似因子,得到所述第二相似度。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述中心节点满足预设的节点更新触发条件,则获取各个所述数据集群对应的一级数据节点的节点特征信息;所述节点特征信息包括所述中心节点对应的节点位置、节点性能参量以及节点网络参量;
所述中心节点基于所有所述节点位置,分别确定各个所述一级数据节点对应的位置维度得分;
所述中心节点基于所有已上传数据的数据量,确定所述数据同步***的数据量均值,并基于所述数据量均值以及所述节点网络参量,分别确定各个所述一级数据节点对应的网络维度得分;
所述中心节点根据本地对应的基准性能参量以及所有所述节点性能参量,确定出最大性能参量,并基于所述最大性能参量确定各个所述一级数据节点对应的性能维度得分;
所述中心节点基于所述位置维度得分、所述网络维度得分以及所述性能维度得分,确定各个所述一级数据节点对应的评价指标;
若任一所述一级数据节点的所述评价指标大于所述中心节点对应的基准指标,则所述中心节点向所述数据同步***内的所有数据节点发送节点更新信息;所述节点更新信息内包含所述评价指标大于所述基准指标的一级数据节点的节点标识,以将所述评价指标大于所述基准指标的一级数据节点作为新的中心节点。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述中心节点在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步,包括:
所述中心节点基于预设的同步订阅列表,确定进行数据同步的目标同步节点;
所述中心节点获取所述目标同步节点对应的已同步数据的同步信息;
所述中心节点基于所述同步信息以及所有所述目标同步数据,确定增量同步数据;
所述中心节点将所述增量同步数据发送给所述目标同步节点。
6.根据权利要求5所述的方法,其特征在于,在所述中心节点将所述增量同步数据发送给所述目标同步数据之后,还包括:
所述中心节点若接收到所述目标同步节点发送的同步失败信息,或在预设的有效反馈时长内未接收到所述目标同步节点反馈的同步完成信息,则增加异常同步计数器的计数值;
若所述计数值大于预设的异常阈值,则所述中心节点对所述目标同步节点进行全量数据同步操作。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
若所述二级数据节点接收到关联的数据集群中的一级数据节点广播的节点异常信息,则获取所述数据集群内所有二级数据节点的节点信息;
所述二级数据节点基于所有所述节点信息确定出目标二级节点,并向所述数据集群广播一级节点更新信息,以将所述目标二级节点作为所述数据集群内新的一级数据节点。
8.一种数据同步***,其特征在于,所述数据同步***包含两个以上数据集群以及一个中心节点,每个所述数据集群内包含一个一级数据节点以及至少一个二级数据节点;
所述中心节点,用于接收所述一级数据节点发送的待同步数据,并提取所述待同步数据对应的数据特征信息,其中,所述待同步数据由所述二级数据节点所下联的用户终端经由所述二级数据节点发送至所述一级数据节点;
所述中心节点,用于基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据;
所述中心节点,用于在满足预设的同步触发条件时,对所有所述目标同步数据进行数据同步。
9.根据权利要求8所述的***,其特征在于,所述中心节点,用于基于所有待同步数据的数据特征信息进行数据冲突识别,确定相互之间不存在数据冲突的目标同步数据,包括:
所述中心节点,用于根据所述数据特征信息中的数据上传时间以及所属设备标识,计算任意两个待同步数据之间的第一相似度;
所述中心节点,用于若所述任意两个待同步数据之间的所述第一相似度大于预设的第一相似阈值,则将所述任意两个待同步数据识别为候选冲突数据;
所述中心节点,用于基于所述候选冲突数据的数据类型,确定与所述数据类型关联的特征提取算法;
所述中心节点,用于将所述候选冲突数据导入到所述特征提取算法内,得到所述候选冲突数据对应的数据特征向量;
所述中心节点,用于基于所述数据特征向量计算所述候选冲突数据之间的第二相似度;
所述中心节点,用于将所述第二相似度不大于预设的第二相似阈值的候选冲突数据识别为目标同步数据。
10.根据权利要求9所述的***,其特征在于,所述数据特征向量包含内容维度向量以及应用维度向量;所述内容维度向量用于标识所述候选冲突数据的内容特征;所述应用维度向量用于表示处理过所述候选冲突数据的所有应用程序;所述中心节点,用于基于所述数据特征向量计算所述候选冲突数据之间的第二相似度,包括:
所述中心节点,用于计算所述候选冲突数据的所述数据特征向量之间的向量距离,基于所述向量距离确定第一相似因子;
所述中心节点,用于根据所述应用维度向量,确定对所述候选冲突数据处理过的各个所述应用程序对应的处理次序,并基于所有所述应用程序对应的处理次序确定各个所述应用程序的加权权重;
所述中心节点,用于基于所有所述应用程序的加权权重以及所述应用维度向量,计算所述候选冲突数据之间的第二相似因子;所述第二相似因子的计算算法为:
其中,为所述第二相似因子;为其中一个候选冲突数据对应的所
述应用维度向量中第i个应用程序的值;为所述第i个应用程序对应的所述加权权重;为另一个候选冲突数据对应的所述应用维度向量中第j个应用程序的值;
为所述第j个应用程序对应的所述加权权重;n为对所述其中一个候选冲突数据处理过的应
用程序的总数;m为对所述另一个候选冲突数据处理过的应用程序的总数;
所述中心节点,用于基于所述第一相似因子以及所述第二相似因子,得到所述第二相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110618006.5A CN113259470B (zh) | 2021-06-03 | 2021-06-03 | 一种数据同步的方法及数据同步*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110618006.5A CN113259470B (zh) | 2021-06-03 | 2021-06-03 | 一种数据同步的方法及数据同步*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259470A true CN113259470A (zh) | 2021-08-13 |
CN113259470B CN113259470B (zh) | 2021-09-24 |
Family
ID=77186119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110618006.5A Active CN113259470B (zh) | 2021-06-03 | 2021-06-03 | 一种数据同步的方法及数据同步*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259470B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185984A (zh) * | 2022-02-15 | 2022-03-15 | 数皮科技(湖北)有限公司 | 一种井场数据转换与同步方法 |
CN115794837A (zh) * | 2023-02-01 | 2023-03-14 | 天翼云科技有限公司 | 数据表的同步方法、***和电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
US7363329B1 (en) * | 2007-11-13 | 2008-04-22 | International Business Machines Corporation | Method for duplicate detection on web-scale data in supercomputing environments |
CN101676917A (zh) * | 2008-09-18 | 2010-03-24 | 英赛特半导体有限公司 | 用于把来自多个数据源的著录项目数据存入数据库的方法和*** |
CN105338093A (zh) * | 2015-11-16 | 2016-02-17 | 中国建设银行股份有限公司 | 一种数据同步方法和*** |
US20180137298A1 (en) * | 2007-03-22 | 2018-05-17 | Microsoft Technology Licensing, Llc | Remote data access techniques for portable devices |
CN108243208A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据同步方法及装置 |
CN110381149A (zh) * | 2019-07-24 | 2019-10-25 | 北京视界云天科技有限公司 | 数据分发方法、装置以及数据同步方法、装置 |
CN111625596A (zh) * | 2020-05-14 | 2020-09-04 | 国网辽宁省电力有限公司 | 新能源实时消纳调度的多源数据同步共享方法及*** |
CN111680106A (zh) * | 2020-06-17 | 2020-09-18 | 深圳前海微众银行股份有限公司 | 一种多应用***数据同步的方法及装置 |
CN112818064A (zh) * | 2021-02-25 | 2021-05-18 | 平安普惠企业管理有限公司 | 多***数据同步方法、装置、设备及存储介质 |
-
2021
- 2021-06-03 CN CN202110618006.5A patent/CN113259470B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005428A (zh) * | 2006-01-19 | 2007-07-25 | 华为技术有限公司 | 一种检测与解决数据同步冲突的实现方法 |
US20180137298A1 (en) * | 2007-03-22 | 2018-05-17 | Microsoft Technology Licensing, Llc | Remote data access techniques for portable devices |
US7363329B1 (en) * | 2007-11-13 | 2008-04-22 | International Business Machines Corporation | Method for duplicate detection on web-scale data in supercomputing environments |
CN101676917A (zh) * | 2008-09-18 | 2010-03-24 | 英赛特半导体有限公司 | 用于把来自多个数据源的著录项目数据存入数据库的方法和*** |
CN105338093A (zh) * | 2015-11-16 | 2016-02-17 | 中国建设银行股份有限公司 | 一种数据同步方法和*** |
CN108243208A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据同步方法及装置 |
CN110381149A (zh) * | 2019-07-24 | 2019-10-25 | 北京视界云天科技有限公司 | 数据分发方法、装置以及数据同步方法、装置 |
CN111625596A (zh) * | 2020-05-14 | 2020-09-04 | 国网辽宁省电力有限公司 | 新能源实时消纳调度的多源数据同步共享方法及*** |
CN111680106A (zh) * | 2020-06-17 | 2020-09-18 | 深圳前海微众银行股份有限公司 | 一种多应用***数据同步的方法及装置 |
CN112818064A (zh) * | 2021-02-25 | 2021-05-18 | 平安普惠企业管理有限公司 | 多***数据同步方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185984A (zh) * | 2022-02-15 | 2022-03-15 | 数皮科技(湖北)有限公司 | 一种井场数据转换与同步方法 |
CN115794837A (zh) * | 2023-02-01 | 2023-03-14 | 天翼云科技有限公司 | 数据表的同步方法、***和电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113259470B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113259470B (zh) | 一种数据同步的方法及数据同步*** | |
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
CN106599104B (zh) | 一种基于redis集群的海量数据关联方法 | |
CN108874803B (zh) | 数据存储方法、装置及存储介质 | |
CN109558065B (zh) | 数据删除方法及分布式存储*** | |
CN108205569A (zh) | 用于更新配置管理数据库的方法和装置 | |
CN113986873A (zh) | 一种海量物联网数据模型化的处理、存储与共享方法 | |
CN111552701A (zh) | 确定分布式集群中数据一致性的方法及分布式数据*** | |
CN113360456A (zh) | 数据归档方法、装置、设备以及存储介质 | |
WO2021027331A1 (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN117221078A (zh) | 关联规则确定方法、装置及存储介质 | |
CN110543472B (zh) | 数据对账方法及相关装置 | |
CN110830978B (zh) | 基于区域的用户数据处理方法、装置、设备及介质 | |
CN104598623A (zh) | 综合传感网分层数据管理*** | |
CN111698321A (zh) | 物联网设备数据同步方法、装置及控制中心 | |
CN116910061A (zh) | 一种数据库的分库分表方法、装置、设备及可读存储介质 | |
CN110224847B (zh) | 基于社交网络的社团划分方法、装置、存储介质及设备 | |
CN113468182B (zh) | 一种数据存储方法及*** | |
JP5922811B1 (ja) | ログ情報分類装置、ログ情報分類方法、及びプログラム | |
WO2020020358A1 (zh) | 一种确定驻留时长的方法、装置、设备及存储介质 | |
CN111061719A (zh) | 数据收集方法、装置、设备和存储介质 | |
JP2021524085A (ja) | メッセージ処理方法、装置およびシステム | |
Xu et al. | An adaptive spatial outlier detection algorithm with no parameter for WSN | |
CN111522941A (zh) | 文本聚类方法、装置、电子设备及计算机存储介质 | |
CN112488836B (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 |