本技术实施例涉及计算机,特别涉及一种数据处理方法、系统、装置、设备及存储介质。
背景技术:
1、随着区块链技术的快速发展,区块链技术被广泛应用于各类业务。其中,区块链系统中的节点设备能够对区块链系统中的数据进行处理,例如进行哈希计算、签名验证以及密钥验证等。
2、但是,由于区块链系统承载了大量的数据处理任务,导致数据处理压力较大,数据处理效率较低。
技术实现思路
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、请求发送模块,用于获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
38、所述请求发送模块,还用于通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
39、结果接收模块,用于接收所述计算机设备基于所述数据处理请求得到的数据处理结果;
40、共识模块,用于对所述数据处理结果进行共识,得到第一共识处理结果。
41、可选地,所述智能合约包括业务智能合约和预言机智能合约,所述预言机智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述预言机智能合约提供有用于处理数据的处理资源;所述请求发送模块,用于:
42、通过所述业务智能合约,向所述预言机智能合约发送所述数据处理请求;
43、通过所述预言机智能合约,接收所述数据处理请求,向所述计算机设备发送所述数据处理请求。
44、可选地,所述共识模块,包括:
45、第一共识单元,用于通过所述预言机智能合约,对所述数据处理结果进行共识,得到第二共识处理结果,向所述业务智能合约发送所述第二共识处理结果;
46、第二共识单元,用于通过所述业务智能合约,接收所述第二共识处理结果,对所述第二共识处理结果进行共识,得到所述第一共识处理结果。
47、可选地,所述区块链系统之外的计算机设备的数量为多个,所述节点设备接收到的数据处理结果为多个计算机设备返回的数据处理结果;所述共识模块,用于:
48、将多个数据处理结果中出现次数最多的数据处理结果,确定为所述第一共识处理结果;或者,
49、将所述多个数据处理结果中出现次数达到第三阈值的数据处理结果,确定为所述第一共识处理结果;或者,
50、所述数据处理结果为数值,对所述多个数据处理结果进行加权融合,得到所述第一共识处理结果。
51、可选地,所述装置还包括:
52、预测模块,用于调用数据预测模型,对所述目标数据进行预测,得到目标预测结果,所述目标预测结果用于表示所述目标数据对应的处理方式是否属于所述链下处理方式。
53、可选地,所述装置还包括训练模块,所述训练模块,用于:
54、根据历史处理记录,获取正样本数据和对应的第一样本标签,以及负样本数据和对应的第二样本标签,所述第一样本标签表示所述正样本数据对应的处理方式属于所述链下处理方式,所述第二样本标签表示所述负样本数据对应的处理方式不属于所述链下处理方式;
55、调用所述数据预测模型,分别对所述正样本数据和所述负样本数据进行预测,得到第一预测结果和第二预测结果;
56、基于所述第一样本标签和所述第一预测结果,以及所述第二样本标签和所述第二预测结果,训练所述数据预测模型,以使调用训练后的数据预测模型得到的第一预测结果与所述第一样本标签之间的相似度增大,且得到的第二预测结果与所述第二样本标签之间的相似度增大。
57、可选地,所述装置还包括确定模块,所述确定模块,用于:
58、在所述目标数据的计算量大于第一阈值的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
59、在所述目标数据的数据量大于第二阈值的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
60、在所述目标数据所属的业务方为目标业务方的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
61、在所述目标数据的数据类型属于预设数据类型的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式。
62、可选地,所述请求发送模块,用于:
63、在所述目标数据对应的处理方式属于所述链下处理方式的情况下,查询所述处理方式对应的目标程序标识,所述目标程序标识指示用于进行所述处理方式的处理的计算程序;
64、基于所述目标数据和所述目标程序标识,生成所述数据处理请求。
65、可选地,所述数据处理请求包括目标数据和目标程序标识,所述目标程序标识指示用于处理所述目标数据的计算程序;
66、所述请求发送模块,用于在所述目标程序标识为已注册的程序标识的情况下,向所述计算机设备发送所述数据处理请求。
67、另一方面,提供了一种数据处理装置,应用于区块链系统之外的任一计算机设备,所述装置包括:
68、请求接收模块,用于接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,所述目标节点设备为所述区块链系统中的多个节点设备中的任一节点设备,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源,所述数据处理请求由所述目标节点设备在所述目标数据对应的处理方式属于链下处理方式的情况下生成,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
69、处理模块,用于响应于所述数据处理请求,确定数据处理结果;
70、结果发送模块,用于向所述目标节点设备发送所述数据处理结果,所述目标节点设备用于接收所述计算机设备发送的所述数据处理结果,对所述数据处理结果进行共识,得到第一共识处理结果。
71、可选地,所述计算机设备包括预言机控制设备和预言机计算设备;所述预言机控制设备中的所述请求接收模块,用于接收所述数据处理请求;
72、所述处理模块,包括所述预言机控制设备中的第一发送单元和所述预言机计算设备中的处理单元;所述第一发送单元,用于向所述预言机计算设备发送所述数据处理请求;所述处理单元,用于响应于所述数据处理请求,确定所述数据处理结果;
73、所述结果发送模块,包括所述预言机计算设备中的第二发送单元和所述预言机控制设备中的第三发送单元,所述第二发送单元,用于向所述预言机控制设备发送所述数据处理结果;所述第三发送单元,用于向所述目标节点设备发送所述数据处理结果。
74、可选地,所述数据处理请求包括目标数据和目标程序标识;所述处理单元,用于响应于所述数据处理请求,调用所述目标程序标识指示的计算程序,处理所述目标数据,得到所述数据处理结果。
75、可选地,所述第三发送单元,用于:
76、将所述数据处理结果转换为目标格式,所述目标格式为所述智能合约支持的格式;
77、向所述目标节点设备中的智能合约发送转换后的所述数据处理结果。
78、可选地,所述计算机设备存储有外部处理接口,所述外部处理接口由所述计算机设备之外的其他设备提供,所述处理模块,用于响应于所述数据处理请求,调用所述外部处理接口,对所述目标数据进行处理,得到所述数据处理结果。
79、可选地,所述处理模块,用于:
80、所述数据处理请求是对目标数据的哈希处理请求,响应于所述数据处理请求,对所述目标数据进行哈希处理,得到哈希数据;或者,
81、所述数据处理请求是对目标数据的验证请求,响应于所述数据处理请求,对所述目标数据进行验证,得到验证结果;或者,
82、所述数据处理请求是对目标数据的加密请求,响应于所述数据处理请求,对所述目标数据进行加密,得到加密数据。
83、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如上述方面所述的数据处理方法所执行的操作。
84、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如上述方面所述的数据处理方法所执行的操作。
85、另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述方面所述的数据处理方法所执行的操作。
86、在本技术实施例中,在需要对目标数据进行链下处理的情况下,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对该目标数据对应的数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。