本技术涉及计算机,尤其涉及一种区块链数据处理方法以及相关产品。
背景技术:
1、区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。简单的讲,区块链就是去中心化的分布式账本。
2、目前,不参与共识的简易支付验证(simplified payment verification,spv)节点通过共识节点来进行区块链数据的同步,存在区块链数据同步效率低下的问题,如何提升区块链数据的同步效率是当前待解决的问题。
技术实现思路
1、本技术实施例提供一种区块链数据处理方法、装置、计算机设备、存储介质以及计算机程序产品,可以提升区块链数据的同步效率。
2、本技术实施例一方面提供了一种区块链数据处理方法,包括:
3、获取与目标区块相关的待同步数据的缓存结果标识,其中,当区块链新增所述目标区块时,所述待同步数据被缓存至内容分发网络节点;
4、若所述缓存结果标识指示所述待同步数据已缓存完成,则向所述内容分发网络节点发送所述待同步数据的同步请求,以使所述内容分发网络节点基于所述同步请求获取所述待同步数据;
5、接收所述内容分发网络节点发送的所述待同步数据,所述待同步数据用于执行业务操作。
6、其中,当所述待同步数据包括目标智能合约的目标状态数据时,所述方法还包括:
7、接收所述区块链的全量节点发送的所述目标状态数据的加密路径;
8、基于所述加密路径对所述目标状态数据进行验证,若验证通过,则执行将所述待同步数据存储至本地目标存储区域内的步骤。
9、其中,所述方法还包括:
10、当接收到与所述待同步数据相关的业务查询请求时,根据所述业务查询请求对所述本地目标存储区域内的待同步数据进行查询;
11、输出查询结果,以响应所述业务查询请求。
12、本技术实施例一方面提供了一种区块链数据处理方法,包括:
13、当区块链新增目标区块时,将所述目标区块相关的待同步数据发送至内容分发网络节点,以使所述内容分发网络节点缓存所述待同步数据;
14、向轻量节点发送所述待同步数据的缓存结果标识,以使所述轻量节点在检测到所述缓存结果标识用于指示所述待同步数据已缓存完成时,向所述内容分发网络节点发送所述待同步数据的同步请求,使得所述内容分发网络节点基于所述同步请求向所述轻量节点发送所述待同步数据,所述待同步数据用于执行业务操作。
15、其中,所述方法还包括:
16、接收所述内容分发网络节点发送的节点信息;
17、调用区块链上的缓存发布合约,生成与所述节点信息相关的节点注册信息,所述节点注册信息包括所述内容分发网络节点的有效期,在有效期内的内容分发网络节点是有效内容分发网络节点,在有效期外的内容分发网络节点不是有效内容分发网络节点。
18、调用所述缓存发布合约,将所述节点注册信息存储至所述区块链。
19、其中,所述方法还包括:
20、接收所述内容分发网络节点发送的续租请求;
21、调用所述缓存发布合约生成与所述续租请求对应的续租信息,所述续租信息包括续租期,在续租期内的内容分发网络节点是有效内容分发网络节点,在续租期外的内容分发网络节点不是有效内容分发网络节点;
22、调用所述缓存发布合约,将所述续租信息存储至所述区块链。
23、本技术实施例一方面提供了一种区块链数据处理方法,包括:
24、当区块链新增目标区块时,接收与所述目标区块相关的待同步数据,并缓存所述待同步数据;
25、当所述待同步数据缓存完成时,向区块链的全量节点发送用于指示所述待同步数据已缓存完成的回执,以使所述全量节点将所述回执存储至区块链,并基于所述回执向轻量节点发送用于指示所述待同步数据已缓存完成的缓存结果标识,用于指示所述待同步数据已缓存完成的缓存结果标识用于所述轻量节点生成所述待同步数据的同步请求;
26、接收所述轻量节点发送的所述同步请求,向所述轻量节点发送所述待同步数据,所述待同步数据用于执行业务操作。
27、其中,所述方法还包括:
28、向所述全量节点发送节点信息,以使所述全量节点调用区块链上的缓存发布合约生成与所述节点信息相关的节点注册信息以及将所述节点注册信息存储至所述区块链,所述节点注册信息包括内容分发网络节点的有效期,在有效期内的内容分发网络节点是有效内容分发网络节点;
29、所述当区块链新增目标区块时,接收与所述目标区块相关的待同步数据,包括:
30、当所述内容分发网络节点是有效内容分发网络节点,且所述区块链新增目标区块时,接收所述全量节点发送的与所述目标区块相关的待同步数据。
31、其中,所述方法还包括:
32、向所述全量节点发送续租请求,以使所述全量节点调用所述缓存发布合约生成与所述续租请求对应的续租信息以及将所述续租信息存储至所述区块链,所述续租信息包括续租期,在续租期内的内容分发网络节点是有效内容分发网络节点。
33、本技术实施例一方面提供了一种区块链数据处理装置,包括:
34、获取模块,用于获取与目标区块相关的待同步数据的缓存结果标识,其中,当区块链新增所述目标区块时,所述待同步数据被缓存至内容分发网络节点;
35、第一发送模块,用于若所述缓存结果标识指示所述待同步数据已缓存完成,则向所述内容分发网络节点发送所述待同步数据的同步请求,以使所述内容分发网络节点基于所述同步请求获取所述待同步数据;
36、第一接收模块,用于接收所述内容分发网络节点发送的所述待同步数据,所述待同步数据用于执行业务操作。
37、其中,所述第一发送模块12,还用于:
38、若所述缓存结果标识指示所述待同步数据缓存进行中,则等待预设时长后,重新获取缓存结果标识;
39、根据重新获取的缓存结果标识向目标节点发送所述同步请求,以使所述目标节点基于所述同步请求获取所述待同步数据,所述目标节点是所述内容分发网络节点或者是所述区块链的全量节点;
40、接收所述目标节点发送的所述待同步数据。
41、其中,当所述区块链新增目标区块,且所述内容分发网络节点是有效内容分发网络节点时,所述待同步数据被缓存至所述内容分发网络节点,所述第一发送模块12,还用于:
42、若所述缓存结果标识指示所述待同步数据缓存进行中,或者若所述缓存结果标识指示所述待同步数据未缓存,则向所述区块链的全量节点发送所述同步请求,以使所述全量节点基于所述同步请求获取所述待同步数据;
43、接收所述全量节点发送的所述待同步数据。
44、其中,若在缓存结果标识指示所述待同步数据缓存进行中的条件下,所述轻量节点从所述全量节点获取到所述待同步数据,则所述轻量节点对应的账户被扣除资源数据,若在缓存结果标识指示所述待同步数据未缓存的条件下,所述轻量节点从所述全量节点获取到所述待同步数据,则所述轻量节点对应的账户不被扣除资源数据。
45、其中,所述待同步数据包括以下一种或多种:增量区块链的全量区块头数据,增量区块链对应的目标智能合约的目标状态数据,以及增量区块链上与所述轻量节点相关的全量交易数据,所述增量区块链是新增所述目标区块后的区块链。
46、其中,当所述待同步数据包括目标智能合约的目标状态数据时,所述获取模块11在用于获取与目标区块相关的待同步数据的缓存结果标识时,具体用于:
47、当所述区块链新增目标区块时,向所述区块链的全量节点发送区块头获取请求,所述区块头获取请求用于所述全量节点获取所述待同步数据的缓存结果标识、增量区块链的全量区块头数据,以及增量区块链上与所述轻量节点相关的全量交易数据;
48、接收所述全量节点发送的缓存结果标识、增量区块链的全量区块头数据,以及增量区块链上与所述轻量节点相关的全量交易数据。
49、其中,所述第一接收模块13,还用于:
50、接收所述内容分发网络节点发送的缓存凭证;
51、若所述缓存凭证在有效期内,则将所述待同步数据存储至本地目标存储区域内;
52、若所述缓存凭证不在有效期内,则删除所述待同步数据。
53、其中,当所述待同步数据包括目标智能合约的目标状态数据时,所述第一接收模块13,还用于:
54、接收所述区块链的全量节点发送的所述目标状态数据的加密路径;
55、基于所述加密路径对所述目标状态数据进行验证,若验证通过,则执行将所述待同步数据存储至本地目标存储区域内的步骤。
56、其中,所述第一接收模块13,还用于:
57、当接收到与所述待同步数据相关的业务查询请求时,根据所述业务查询请求对所述本地目标存储区域内的待同步数据进行查询;
58、输出查询结果,以响应所述业务查询请求。
59、本技术实施例一方面提供了一种区块链数据处理装置,包括:
60、第二发送模块,用于当区块链新增目标区块时,将所述目标区块相关的待同步数据发送至内容分发网络节点,以使所述内容分发网络节点缓存所述待同步数据;
61、第三发送模块,用于向轻量节点发送所述待同步数据的缓存结果标识,以使所述轻量节点在检测到所述缓存结果标识用于指示所述待同步数据已缓存完成时,向所述内容分发网络节点发送所述待同步数据的同步请求,使得所述内容分发网络节点基于所述同步请求向所述轻量节点发送所述待同步数据,所述待同步数据用于执行业务操作。
62、本技术实施例一方面提供了一种区块链数据处理装置,包括:
63、第二接收模块,用于当区块链新增目标区块时,接收与所述目标区块相关的待同步数据,并缓存所述待同步数据;
64、第四发送模块,用于当所述待同步数据缓存完成时,向区块链的全量节点发送用于指示所述待同步数据已缓存完成的回执,以使所述全量节点将所述回执存储至区块链,并基于所述回执向轻量节点发送用于指示所述待同步数据已缓存完成的缓存结果标识,用于指示所述待同步数据已缓存完成的缓存结果标识用于所述轻量节点生成所述待同步数据的同步请求;
65、第三接收模块,用于接收所述轻量节点发送的所述同步请求,向所述轻量节点发送所述待同步数据,所述待同步数据用于执行业务操作。
66、本技术实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述各实施例中的方法。
67、本技术实施例一方面提供了一种计算机程序产品,计算机程序产品包括计算机程序/指令,计算机程序/指令存储在计算机可读存储介质中,计算机程序/指令被计算机设备的处理器执行时,执行上述各实施例中的方法。
68、当需要同步与目标区块相关的数据时,通过缓存结果标识来确定待同步数据是否已经缓存在内容分发网络节点中,若已经缓存在内容分发网络节点中,从内容分发网络节点处获取待同步数据。基于内容分发网络具备的高响应速度特性,相比从共识节点同步区块链数据,可以提升获取待同步数据的效率,进而提升基于待同步数据执行业务操作的效率;另外,可以避免共识节点由于响应同步请求而导致共识性能下降和区块链性能下降的情况,提升共识节点的性能和区块链的性能。