数据同步方法、装置、设备及存储介质制造方法及图纸

技术编号:24409758 阅读:19 留言:0更新日期:2020-06-06 08:40
本申请公开了一种数据同步方法、装置、设备及存储介质,属于区块链技术领域。本申请通过从各个已同步数据中,确定目标数据,该已同步数据为该节点设备同步给目标节点设备的数据,该目标节点设备与该节点设备之间具有关联关系,基于该目标数据与目标数值,从未同步数据中确定至少一个待同步数据,该目标数值用于指示一次数据同步过程中获取该待同步数据的数据量,将该至少一个待同步数据发送给该目标节点设备。节点设备之间通过点对点的方式批量同步数据,无需将数据广播给区块链网络中的各个节点设备,可以降低数据同步过程中的网络资源占用。

Data synchronization method, device, equipment and storage medium

【技术实现步骤摘要】
数据同步方法、装置、设备及存储介质
本申请涉及区块链
,特别涉及一种数据同步方法、装置、设备及存储介质。
技术介绍
在区块链技术中,通常应用广播的方式进行数据同步,即一个节点设备对获取到的数据校验通过后,将数据加入本地的内存池中,并将数据分别发送给区块链网络中的其他节点设备,以完成数据广播。但是,在上述数据同步方法中,被广播的数据在区块链网络中大量复制、传输,会占用大量的网络带宽,导致网络性能下降,影响网络中其他业务的正常运行。
技术实现思路
本申请实施例提供了一种数据同步方法、装置、设备及存储介质,可以节约数据同步过程中所占用的网络资源。该技术方案如下:一方面,提供了一种数据同步方法,该方法包括:从各个已同步数据中,确定目标数据,该已同步数据为该节点设备同步给目标节点设备的数据,该目标节点设备与该节点设备之间具有关联关系;基于该目标数据与目标数值,从未同步数据中确定至少一个待同步数据,该目标数值用于指示一次数据同步过程中获取该待同步数据的数据量;将该至少一个待同步数据发送给该目标节点设备。一方面,提供了一种数据同步装置,该装置包括:目标数据确定模块,用于从各个已同步数据中,确定目标数据,该已同步数据为该节点设备同步给目标节点设备的数据,该目标节点设备与该节点设备之间具有关联关系;待同步数据确定模块,用于基于该目标数据与目标数值,从未同步数据中确定至少一个待同步数据,该目标数值用于指示一次数据同步过程中获取该待同步数据的数据量;发送模块,用于将该至少一个待同步数据发送给该目标节点设备。在一种可能实现方式中,该装置还包括:存储模块,用于基于该任一数据的数据标识的数值大小,将该任一数据以及该任一数据的数据标识,存储至该交易池的数据列表中。一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现该数据同步方法所执行的操作。一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现该数据同步方法所执行的操作。本申请实施例提供的技术方案,通过从各个已同步数据中,确定目标数据,该已同步数据为该节点设备同步给目标节点设备的数据,该目标节点设备与该节点设备之间具有关联关系,基于该目标数据与目标数值,从未同步数据中确定至少一个待同步数据,该目标数值用于指示一次数据同步过程中获取该待同步数据的数据量,将该至少一个待同步数据发送给该目标节点设备。节点设备之间通过点对点的方式批量同步数据,无需将数据广播给区块链网络中的各个节点设备,可以降低数据同步过程中的网络资源占用。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种区块链系统100的示意图;图2是本申请实施例提供的一种节点设备的功能架构图;图3是本申请实施例提供的一种数据同步方法的流程图;图4是本申请实施例提供的一种待同步数据确定方法的示意图;图5是本申请实施例提供的一种数据同步过程的示意图;图6是本申请实施例提供的一种数据列表的示意图;图7是本申请实施例提供的一种数据同步装置的结构示意图;图8是本申请实施例提供的一种终端的结构示意图;图9是本申请实施例提供的一种服务器的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。以下,对本申请涉及的术语进行解释。区块链(blockchain):是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后,记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。本申请实施例提供了一种基于区块链技术实现的区块链系统100,以下对该区块链系统的系统架构进行介绍。图1是本申请实施例提供的一种区块链系统100的示意图,参见图1,该区块链系统100可以包括多个节点设备101,此外,该区块链系统100还可以包括至少一个客户端。节点设备101可以是网络中的任意形式的计算设备,如服务器、主机、用户终端等。节点设备101与节点设备101之间能够共享数据。其中,节点设备101之间可以基于点对点(PeerToPeer,P2P)协议,建立P2P网络。该P2P协议是一个运行在传输控制协议(TransmissionControlProtocol,TCP)协议之上的应用层协议。每个节点设备101在进行正常工作的过程中,可以接收到输入信息,并基于接收到的输入信息维护该区块链系统内的共享数据。为了保证区块链系统内的信本文档来自技高网...

【技术保护点】
1.一种数据同步方法,其特征在于,应用于区块链系统中的节点设备,所述方法包括:/n从各个已同步数据中,确定目标数据,所述已同步数据为所述节点设备同步给目标节点设备的数据,所述目标节点设备与所述节点设备之间具有关联关系;/n基于所述目标数据与目标数值,从未同步数据中确定至少一个待同步数据,所述目标数值用于指示一次数据同步过程中获取所述待同步数据的数据量;/n将所述至少一个待同步数据发送给所述目标节点设备。/n

【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于区块链系统中的节点设备,所述方法包括:
从各个已同步数据中,确定目标数据,所述已同步数据为所述节点设备同步给目标节点设备的数据,所述目标节点设备与所述节点设备之间具有关联关系;
基于所述目标数据与目标数值,从未同步数据中确定至少一个待同步数据,所述目标数值用于指示一次数据同步过程中获取所述待同步数据的数据量;
将所述至少一个待同步数据发送给所述目标节点设备。


2.根据权利要求1所述的方法,其特征在于,所述从各个已同步数据中,确定目标数据,包括:
按照目标周期遍历同步数据列表,所述同步数据列表用于记录各次数据同步过程中的最新同步数据;
基于所述同步数据列表,将距离当前时刻最近的一次数据同步过程所对应的所述最新同步数据,作为所述目标数据。


3.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据与目标数值,从未同步数据中确定至少一个待同步数据,包括:
基于所述目标数据与目标数值,从未同步数据中确定至少一个候选数据;
将所述至少一个候选数据与所述目标节点设备的数据同步记录进行对比,对所述至少一个候选数据进行数据去重,所述数据同步记录用于记录各次数据同步过程所同步的数据以及数据接收节点设备的节点标识;
将去重后的所述至少一个候选数据确定为所述至少一个待同步数据。


4.根据权利要求3所述的方法,其特征在于,所述基于所述目标数据与目标数值,从未同步数据中确定至少一个候选数据,包括:
确定所述目标数据在数据列表中的第一存储位置,所述数据列表存储有至少一个所述已同步数据以及至少一个所述未同步数据;
基于所述第一存储位置以及所述目标数值,在所述数据列表中确定至少一个第二存储位置;
获取所述至少一个第二存储位置所存储的数据,作为所述至少一个候选数据。


5.根据权利要求3所述的方法,其特征在于,所述将所述至少一个待同步数据发送给所述目标节点设备之后,所述方法还包括:
基于所述目标节点设备的节点标识以及所述至少一个待同步数据,更新所述目标节点设备的所述数据同步记录。


6.根据权利要求1所述的方法,其特征在于,所述从已同步数据中,确定目标数据之前,所述方法还包括:
响应于任一数据的数据标记指令,从交易池中获取全局数据标识,所述交易池用于存储所述任一数据;
将所述全局数据标识作为所述任一数据的数据标识。


7.根据权利要求6所述的方法,其特征在于,所述将所述全局数据标识作为所述任一数据的数据标识之后,所述方法还包括:
基于所述任一数据的数据标识的数值大小,将所述任一数据以及所述任一数据的数据标识,存储至所述交易池的数据列表中。


8.一种数据同步装置,其特征在于,应用于区块链系统中的节点设备,所述...

【专利技术属性】
技术研发人员:刘攀李茂材王宗友蓝虎孔利周开班时一防杨常青张劲松朱耿良刘区城黄焕坤崔嘉辉廖志勇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1