CN117376371A - 数据处理方法、系统、装置、设备及存储介质 - Google Patents
数据处理方法、系统、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117376371A CN117376371A CN202210770957.9A CN202210770957A CN117376371A CN 117376371 A CN117376371 A CN 117376371A CN 202210770957 A CN202210770957 A CN 202210770957A CN 117376371 A CN117376371 A CN 117376371A
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- processing
- target
- result
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 951
- 238000000034 method Methods 0.000 claims abstract description 89
- 230000008569 process Effects 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000012795 verification Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- AQHHHDLHHXJYJD-UHFFFAOYSA-N propranolol Chemical compound C1=CC=C2C(OCC(O)CNC(C)C)=CC=CC2=C1 AQHHHDLHHXJYJD-UHFFFAOYSA-N 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 229960003712 propranolol Drugs 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/104—Peer-to-peer [P2P] networks
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Software Systems (AREA)
Abstract
本申请公开了一种数据处理方法、系统、装置、设备及存储介质,属于计算机技术领域。该方法由区块链系统中的任一节点设备执行,节点设备存储有智能合约,该方法包括:获取目标数据,在目标数据对应的处理方式属于链下处理方式的情况下,生成目标数据对应的数据处理请求;通过智能合约,向区块链系统之外的计算机设备发送数据处理请求;接收计算机设备基于数据处理请求得到的数据处理结果;对数据处理结果进行共识,得到第一共识处理结果。本申请将数据处理请求转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,提高了数据处理的准确性。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据处理方法、系统、装置、设备及存储介质。
背景技术
随着区块链技术的快速发展,区块链技术被广泛应用于各类业务。其中,区块链系统中的节点设备能够对区块链系统中的数据进行处理,例如进行哈希计算、签名验证以及密钥验证等。
但是,由于区块链系统承载了大量的数据处理任务,导致数据处理压力较大,数据处理效率较低。
发明内容
本申请实施例提供了一种数据处理方法、系统、装置、设备及存储介质,能够提高数据处理效率。所述技术方案如下:
一方面,提供了一种数据处理方法,由区块链系统中的任一节点设备执行,所述节点设备存储有智能合约;所述方法包括:
获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
接收所述计算机设备基于所述数据处理请求得到的数据处理结果;
对所述数据处理结果进行共识,得到第一共识处理结果。
可选地,所述数据处理请求包括目标数据和目标程序标识,所述目标程序标识指示用于处理所述目标数据的计算程序;
所述通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,包括:
通过所述智能合约,在所述目标程序标识为已注册的程序标识的情况下,向所述计算机设备发送所述数据处理请求。
可选地,所述区块链系统之外的计算机设备的数量为多个,所述节点设备接收到的数据处理结果为多个计算机设备返回的数据处理结果,所述对所述数据处理结果进行共识,得到第一共识处理结果,包括:
将多个数据处理结果中出现次数最多的数据处理结果,确定为所述第一共识处理结果;或者,
将所述多个数据处理结果中出现次数达到第三阈值的数据处理结果,确定为所述第一共识处理结果;或者,
所述数据处理结果为数值,对所述多个数据处理结果进行加权融合,得到所述第一共识处理结果。
可选地,所述在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,包括:
在所述目标数据对应的处理方式属于所述链下处理方式的情况下,查询所述处理方式对应的目标程序标识,所述目标程序标识指示用于进行所述处理方式的处理的计算程序;
基于所述目标数据和所述目标程序标识,生成所述数据处理请求。
另一方面,提供了一种数据处理方法,由区块链系统之外的任一计算机设备执行,所述方法包括:
接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,所述目标节点设备为所述区块链系统中的多个节点设备中的任一节点设备,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源,所述数据处理请求由所述目标节点设备在所述目标数据对应的处理方式属于链下处理方式的情况下生成,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
响应于所述数据处理请求,确定数据处理结果;
向所述目标节点设备发送所述数据处理结果,所述目标节点设备用于接收所述计算机设备发送的所述数据处理结果,对所述数据处理结果进行共识,得到第一共识处理结果。
可选地,所述数据处理请求包括目标数据和目标程序标识;所述预言机计算设备响应于所述数据处理请求,确定所述数据处理结果,包括:
所述预言机计算设备响应于所述数据处理请求,调用所述目标程序标识指示的计算程序,处理所述目标数据,得到所述数据处理结果。
可选地,所述预言机控制设备向所述目标节点设备发送所述数据处理结果,包括:
所述预言机控制设备将所述数据处理结果转换为目标格式,所述目标格式为所述智能合约支持的格式;
所述预言机控制设备向所述目标节点设备中的智能合约发送转换后的所述数据处理结果。
可选地,所述响应于所述数据处理请求,确定数据处理结果,包括:
所述数据处理请求是对目标数据的哈希处理请求,响应于所述数据处理请求,对所述目标数据进行哈希处理,得到哈希数据;或者,
所述数据处理请求是对目标数据的验证请求,响应于所述数据处理请求,对所述目标数据进行验证,得到验证结果;或者,
所述数据处理请求是对目标数据的加密请求,响应于所述数据处理请求,对所述目标数据进行加密,得到加密数据。
另一方面,提供了一种数据处理系统,所述数据处理系统包括区块链系统中的多个节点设备以及所述区块链系统之外的计算机设备,所述节点设备存储有智能合约,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
所述多个节点设备中的目标节点设备,用于获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
所述目标节点设备,还用于通过所述智能合约,向所述计算机设备发送所述数据处理请求;
所述多计算机设备,用于响应于所述数据处理请求,确定数据处理结果,向所述目标节点设备返回所述数据处理结果;
所述目标节点设备,还用于接收所述计算机设备返回的所述数据处理结果;
所述目标节点设备,还用于对所述数据处理结果进行共识,得到第一共识处理结果。
另一方面,提供了一种数据处理装置,应用于区块链系统中的任一节点设备,所述节点设备存储有智能合约;所述装置包括:
请求发送模块,用于获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
所述请求发送模块,还用于通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
结果接收模块,用于接收所述计算机设备基于所述数据处理请求得到的数据处理结果;
共识模块,用于对所述数据处理结果进行共识,得到第一共识处理结果。
可选地,所述智能合约包括业务智能合约和预言机智能合约,所述预言机智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述预言机智能合约提供有用于处理数据的处理资源;所述请求发送模块,用于:
通过所述业务智能合约,向所述预言机智能合约发送所述数据处理请求;
通过所述预言机智能合约,接收所述数据处理请求,向所述计算机设备发送所述数据处理请求。
可选地,所述共识模块,包括:
第一共识单元,用于通过所述预言机智能合约,对所述数据处理结果进行共识,得到第二共识处理结果,向所述业务智能合约发送所述第二共识处理结果;
第二共识单元,用于通过所述业务智能合约,接收所述第二共识处理结果,对所述第二共识处理结果进行共识,得到所述第一共识处理结果。
可选地,所述区块链系统之外的计算机设备的数量为多个,所述节点设备接收到的数据处理结果为多个计算机设备返回的数据处理结果;所述共识模块,用于:
将多个数据处理结果中出现次数最多的数据处理结果,确定为所述第一共识处理结果;或者,
将所述多个数据处理结果中出现次数达到第三阈值的数据处理结果,确定为所述第一共识处理结果;或者,
所述数据处理结果为数值,对所述多个数据处理结果进行加权融合,得到所述第一共识处理结果。
可选地,所述装置还包括:
预测模块,用于调用数据预测模型,对所述目标数据进行预测,得到目标预测结果,所述目标预测结果用于表示所述目标数据对应的处理方式是否属于所述链下处理方式。
可选地,所述装置还包括训练模块,所述训练模块,用于:
根据历史处理记录,获取正样本数据和对应的第一样本标签,以及负样本数据和对应的第二样本标签,所述第一样本标签表示所述正样本数据对应的处理方式属于所述链下处理方式,所述第二样本标签表示所述负样本数据对应的处理方式不属于所述链下处理方式;
调用所述数据预测模型,分别对所述正样本数据和所述负样本数据进行预测,得到第一预测结果和第二预测结果;
基于所述第一样本标签和所述第一预测结果,以及所述第二样本标签和所述第二预测结果,训练所述数据预测模型,以使调用训练后的数据预测模型得到的第一预测结果与所述第一样本标签之间的相似度增大,且得到的第二预测结果与所述第二样本标签之间的相似度增大。
可选地,所述装置还包括确定模块,所述确定模块,用于:
在所述目标数据的计算量大于第一阈值的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
在所述目标数据的数据量大于第二阈值的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
在所述目标数据所属的业务方为目标业务方的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
在所述目标数据的数据类型属于预设数据类型的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式。
可选地,所述请求发送模块,用于:
在所述目标数据对应的处理方式属于所述链下处理方式的情况下,查询所述处理方式对应的目标程序标识,所述目标程序标识指示用于进行所述处理方式的处理的计算程序;
基于所述目标数据和所述目标程序标识,生成所述数据处理请求。
可选地,所述数据处理请求包括目标数据和目标程序标识,所述目标程序标识指示用于处理所述目标数据的计算程序;
所述请求发送模块,用于在所述目标程序标识为已注册的程序标识的情况下,向所述计算机设备发送所述数据处理请求。
另一方面,提供了一种数据处理装置,应用于区块链系统之外的任一计算机设备,所述装置包括:
请求接收模块,用于接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,所述目标节点设备为所述区块链系统中的多个节点设备中的任一节点设备,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源,所述数据处理请求由所述目标节点设备在所述目标数据对应的处理方式属于链下处理方式的情况下生成,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
处理模块,用于响应于所述数据处理请求,确定数据处理结果;
结果发送模块,用于向所述目标节点设备发送所述数据处理结果,所述目标节点设备用于接收所述计算机设备发送的所述数据处理结果,对所述数据处理结果进行共识,得到第一共识处理结果。
可选地,所述计算机设备包括预言机控制设备和预言机计算设备;所述预言机控制设备中的所述请求接收模块,用于接收所述数据处理请求;
所述处理模块,包括所述预言机控制设备中的第一发送单元和所述预言机计算设备中的处理单元;所述第一发送单元,用于向所述预言机计算设备发送所述数据处理请求;所述处理单元,用于响应于所述数据处理请求,确定所述数据处理结果;
所述结果发送模块,包括所述预言机计算设备中的第二发送单元和所述预言机控制设备中的第三发送单元,所述第二发送单元,用于向所述预言机控制设备发送所述数据处理结果;所述第三发送单元,用于向所述目标节点设备发送所述数据处理结果。
可选地,所述数据处理请求包括目标数据和目标程序标识;所述处理单元,用于响应于所述数据处理请求,调用所述目标程序标识指示的计算程序,处理所述目标数据,得到所述数据处理结果。
可选地,所述第三发送单元,用于:
将所述数据处理结果转换为目标格式,所述目标格式为所述智能合约支持的格式;
向所述目标节点设备中的智能合约发送转换后的所述数据处理结果。
可选地,所述计算机设备存储有外部处理接口,所述外部处理接口由所述计算机设备之外的其他设备提供,所述处理模块,用于响应于所述数据处理请求,调用所述外部处理接口,对所述目标数据进行处理,得到所述数据处理结果。
可选地,所述处理模块,用于:
所述数据处理请求是对目标数据的哈希处理请求,响应于所述数据处理请求,对所述目标数据进行哈希处理,得到哈希数据;或者,
所述数据处理请求是对目标数据的验证请求,响应于所述数据处理请求,对所述目标数据进行验证,得到验证结果;或者,
所述数据处理请求是对目标数据的加密请求,响应于所述数据处理请求,对所述目标数据进行加密,得到加密数据。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如上述方面所述的数据处理方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如上述方面所述的数据处理方法所执行的操作。
另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述方面所述的数据处理方法所执行的操作。
在本申请实施例中,在需要对目标数据进行链下处理的情况下,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对该目标数据对应的数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法的实施环境的示意图;
图2是本申请实施例提供的一种区块链系统的结构示意图;
图3是本申请实施例提供的一种区块结构的示意图;
图4是本申请实施例提供的一种数据处理方法的流程图;
图5是本申请实施例提供的另一种数据处理方法的流程图;
图6是本申请实施例提供的另一种数据处理方法的流程图;
图7是本申请实施例提供的另一种数据处理方法的流程图;
图8是本申请实施例提供的另一种数据处理方法的流程图;
图9是本申请实施例提供的另一种数据处理方法的流程图;
图10是本申请实施例提供的另一种数据处理方法的流程图;
图11是本申请实施例提供的另一种数据处理方法的流程图;
图12是本申请实施例提供的一种数据处理装置的结构示意图;
图13是本申请实施例提供的另一种数据处理装置的结构示意图;
图14是本申请实施例提供的另一种数据处理装置的结构示意图;
图15是本申请实施例提供的另一种数据处理装置的结构示意图;
图16是本申请实施例提供的一种终端的结构示意图;
图17是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一预测结果称为第二预测结果,且类似地,可将第二预测结果称为第一预测结果。
其中,至少一个是指一个或者一个以上,例如,至少一个节点设备可以是一个节点设备、两个节点设备、三个节点设备等任一大于等于一的整数个节点设备。多个是指两个或者两个以上,例如,多个节点设备可以是两个节点设备、三个节点设备等任一大于等于二的整数个节点设备。每个是指至少一个中的每一个,例如,每个节点设备是指多个节点设备中的每一个节点设备,若多个节点设备为3个节点设备,则每个节点设备是指3个节点设备中的每一个节点设备。
可以理解的是,在本申请的实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为了便于对本申请实施例进行理解,先对以下相关术语进行解释:
1、区块链(Blockchain):是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块,每个区块都包含一个时间戳和一个与前一区块的链接。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本,即区块链中的数据一旦记录下来将不可逆。
2、智能合约(Smart contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。区块链系统中的各个节点根据特定条件自动执行的合约程序,可以对链上存储的数据进行操作,是用户与区块链进行交互、利用区块链实现业务逻辑的重要途径。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本,它允许在没有第三方的情况下进行可信交易,这些交易可追溯且不可逆转。
3、预言机是区块链之外的数据写入区块链内的机制,主要能够通过以下方面进行分类:(1)数据源的来源来自软件、硬件、人;(2)数据的流向:从合约到外部世界或者从外部世界到合约;(3)信任:中心化预言机还是非中心化预言机。
预言机能够按照上面的类型分成多类,例如一个预言机的数据来源于一个在线的网站,按照上面的分类,该预言机的数据来源自软件、该预言机的数据流向从外部世界到合约,该预言机的为中心化的预言机。
(1)软件预言机:软件预言机通过在线软件获取数据源,数据来源可能是数据库、服务、网站、网络数据。例如从网络获取汇率、数字资产价格、实时航班信息。
(2)硬件预言机:硬件预言机通过硬件设备获取数据源,数据来源可能是电子传感器、IOT(Internet of Things,物联网)设备、二维码、机器人或者其它信息读取设备,硬件预言机是至关重要的去“翻译”现实世界的信息,使得这些信息能够被智能合约理解。
(3)人类预言机:人类预言机通过具备特定知识或者技能的人作为预言机,他们能够将现实世界中的各类信息转化为智能合约能够理解的格式,数据来源是具备特定知识或者技能的人。人类预言机不仅仅能够回复一些确定性的数据信息,也能回复一些不确定的信息,例如“A队是否能够击败B队”。
(4)计算预言机:计算预言机通过链下特定的计算程序作为预言机,数据来源是链下特定的计算程序,一些复杂的计算在链上进行会消耗较多资源,因此将密集型的计算移到链下预言机,链上合约只获取计算预言机的运行结果。
(5)输入或者输出预言机:输入预言机转换外部世界数据到智能合约、输入预言机将智能合约数据传递到外部世界。例如输入预言机将传感器获取到环境温度传递到智能合约中,输出预言机将链上资金的支付结果传递到外部的机器解锁智能锁。
(6)特定合约的预言机:特定合约预言机是为智能合约定制的预言机,数据来源是特定的预言机,该预言机只为该智能合约服务,能够满足不同智能合约特定的数据需求。
(7)共识预言机:共识预言机通过多方获取数据源,数据来源是多方共识之后的结果。共识预言机通过增加参与方减少安全风险。
4、子链扩容方案:区块链上的区块链扩容方案主要有,中心化的子链扩容方案和基于零知识证明的去中心化子链扩容方案。中心化的子链扩容由可行第三方来对子链上的交易证明进行打包提交到主链(区块头等)。基于零知识证明的去中心化子链扩容方案通过将子链的交易运行过程通过零知识证明算法进行生成证明,并且提交到主链进行验证,如果验证通过即可将子链的交易锚定到主链,实现主链对子链交易的认证过程。
图1本申请实施例提供的一种数据处理方法的实施环境的示意图,参见图1,该实施环境包括区块链系统中的多个节点设备101(图中以2个节点设备为例)和区块链系统之外的多个计算机设备102(图中以2个计算机设备为例进行说明),该区块链系统之外的多个计算机设备可以为预言机设备。区块链系统中的任意一个节点设备101以及区块链系统之外的任意一个计算机设备102均可以执行本申请实施例提供的数据处理方法中的一个或多个步骤。
其中,每个节点设备101存储有智能合约,节点设备101通过智能合约,获取待处理的目标数据,在该目标数据需要进行链下处理的情况下,生成该目标数据对应的数据处理请求,并向区块链系统之外的至少一个计算机设备102发送数据处理请求,每个计算机设备102响应于该数据处理请求,确定数据处理结果,并将数据处理结果返回给节点设备101中的智能合约,节点设备101再通过智能合约对接收到的多个数据处理结果进行共识,得到共识处理结果。
在一种可能实现方式中,节点设备101或计算机设备102可以为服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。在另一种可能实现方式中,节点设备101或计算机设备102可以为终端,终端可以是智能手机、平板电脑、笔记本电脑或者台式计算机等。
参见图2,图2是本申请实施例提供的一种区块链系统的结构示意图,该区块链系统包括多个节点设备和终端,终端与节点设备连接。节点设备之间形成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在区块链系统中,任何计算设备如服务器、终端等,都可以加入而成为节点设备。
区块链系统中各节点设备涉及的功能包括:
1)路由,节点设备具有的基本功能,用于支持节点设备之间的通信。
节点设备除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点设备,供其他节点设备在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
参见图3,图3是本申请实施例提供的一种区块结构(Block Structure)的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。
本申请实施例提供的数据处理方法,可应用于需要对区块链系统中的数据进行处理的任一场景下。
例如,本申请实施例应用于对数据进行加密的场景下。当区块链系统中的节点设备通过智能合约获取到目标数据后,如果需要对该目标数据进行加密,则通过该智能合约向区块链系统之外的计算机设备发送对目标数据的加密请求,然后由计算机设备对该目标数据进行加密,得到加密结果,并将加密结果返回给节点设备中的智能合约。因此,节点设备通过智能合约能够接收到计算机设备发送的加密结果,则节点设备通过智能合约对接收到的加密结果进行共识,从而得到共识加密结果,将该共识加密结果作为该目标数据对应的加密结果。在该场景中,节点设备将区块链系统中的加密任务转移到了区块链之外,从而降低了区块链系统的数据处理压力,并且通过节点设备对计算机设备的加密结果进行共识,还能够保证最终的共识加密结果的准确性和可信度。
图4是本申请实施例提供的一种数据处理方法的流程图,本申请实施例由区块链系统中的任一节点设备执行,节点设备存储有智能合约,参见图4,该方法包括:
401、节点设备获取目标数据,在目标数据对应的处理方式属于链下处理方式的情况下,生成目标数据对应的数据处理请求。
该目标数据可以为其他设备发送给该节点设备的数据,或者是由节点设备的用户提交的数据,还可以是该智能合约按照业务处理逻辑进行处理时所产生的数据。节点设备在获取到该目标数据后,确定该目标数据对应的处理方式是否数据链下处理方式,目标数据对应的处理方式是指处理该目标数据所使用的方式,链下处理方式是指由区块链系统之外的计算机设备进行处理。
如果该目标数据对应的处理方式属于链下处理方式,说明需要请求计算机设备来处理该目标数据,因此节点设备生成该目标数据对应的数据处理请求,该数据处理请求包括该目标数据,该数据处理请求用于请求对该目标数据进行处理。
402、节点设备通过智能合约,向区块链系统之外的计算机设备发送数据处理请求。
区块链系统中包括多个节点设备,该区块链系统可以为联盟链系统、公有链系统或者私有链系统等。另外在区块链系统之外还具有计算机设备,该计算机设备不属于区块链系统中的设备。区块链系统中的节点设备存储有智能合约,该智能合约提供有用于与区块链系统之外的计算机设备进行交互的接口,计算机设备为该智能合约提供有用于处理数据的处理资源。例如,该智能合约包括预言机智能合约,该区块链之外的计算机设备为预言机设备,该预言机智能合约提供有用于与预言机设备进行交互的接口,预言机设备为该预言机智能合约提供有用于处理数据的处理资源。
节点设备通过智能合约向区块链之外的计算机设备发送该数据处理请求,以请求计算机设备对该目标数据进行处理。可选地,节点设备向该区块链系统之外的计算机设备广播该数据处理请求,区块链系统之外的计算机设备会周期性或实时性检测区块链系统中的节点设备发送的数据处理请求。
403、节点设备接收计算机设备基于数据处理请求得到的数据处理结果。
计算机设备在获取到节点设备发送的数据处理请求后,会基于该数据处理请求进行处理,得到数据处理结果,并将数据处理结果返回给该节点设备的智能合约,因此节点设备能够接收到计算机设备的数据处理结果。
404、节点设备对数据处理结果进行共识,得到第一共识处理结果。
节点设备得到计算机设备的数据处理结果后,对该数据处理结果进行共识,得到第一共识处理结果,将该共识处理结果作为该数据处理请求对应的最终处理结果,通过对区块链系统外提供的数据处理结果进行共识,保证了数据处理的可靠性。
本申请实施例提供的方法中,在需要对目标数据进行链下处理的情况下,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对该目标数据对应的数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
图5是本申请实施例提供的另一种数据处理方法的流程图,本申请实施例由区块链系统之外的任一计算机设备执行,参见图5,该方法包括:
501、计算机设备接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,目标节点设备为区块链系统中的多个节点设备中的任一节点设备。
该数据处理请求由目标节点设备在目标数据对应的处理方式属于链下处理方式的情况下生成,链下处理方式是指由区块链系统之外的计算机设备进行处理。区块链系统中的节点设备存储有智能合约,该智能合约提供有用于与区块链系统之外的计算机设备进行交互的接口,计算机设备为智能合约提供有用于处理数据的处理资源,区块链系统之外的计算机设备接收目标节点设备通过智能合约发送的数据处理请求,该数据处理请求用于请求计算机设备对数据进行处理。其中,该目标节点设备通过智能合约向计算机设备发送数据处理请求的过程参见上述图4所示的实施例。
可选地,计算机设备周期性或实时性检测区块链系统中的各个节点设备发送的数据处理请求,则当目标节点设备向多个计算机设备广播数据处理请求时,计算机设备能够检测到该数据处理请求。
502、计算机设备响应于数据处理请求,确定数据处理结果。
数据处理请求包括目标数据,计算机设备响应于该数据处理请求,对该目标数据进行处理,得到该数据处理结果。其中,该数据处理请求可以为任意类型的数据处理请求,对该目标数据的处理可以为任意类型的处理。
503、计算机设备向目标节点设备发送数据处理结果,目标节点设备用于接收计算机设备发送的数据处理结果,对数据处理结果进行共识,得到第一共识处理结果。
本申请实施例提供的方法中,在需要对目标数据进行链下处理的情况下,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对该目标数据对应的数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
在上述图4和图5所示的实施例的基础上,节点设备确定目标数据是否需要进行链下处理的过程,具体参见下述图6所示的实施例。
图6是本申请实施例提供的另一种数据处理方法的流程图,本申请实施例由区块链系统中的节点设备和区块链系统之外的计算机设备执行,参见图6,该方法包括:
601、节点设备获取目标数据。
该目标数据可以为其他设备发送给该节点设备的数据,或者是由节点设备的用户提交的数据,还可以是该智能合约按照业务处理逻辑进行处理时所产生的目标数据,本申请实施例对该目标数据的来源不做限定。
该目标数据可以为任一类型的数据,例如视频数据、语音数据、图片数据、文本数据或者表格数据等,本申请实施例对该目标数据的类型不做限定。可选地,该目标数据是由节点设备通过智能合约获取到的。
602、节点设备确定目标数据对应的处理方式是否属于链下处理方式。
节点设备获取到该目标数据后,确定该目标数据对应的处理方式是否数据链下处理方式,目标数据对应的处理方式是指处理该目标数据所使用的方式,链下处理方式是指由区块链系统之外的计算机设备进行处理。
在一种可能实现方式中,节点设备在目标数据的属性信息满足密集条件的情况下,确定目标数据对应的处理方式属于链下处理方式。其中,目标数据的属性信息包括计算量、数据量、所属的业务方以及数据类型中的至少一项,该方法包括以下四种方式。
(1)节点设备在目标数据的计算量大于第一阈值的情况下,确定目标数据对应的处理方式属于链下处理方式。
如果目标数据的计算量大于第一阈值,说明目标数据需要进行密集型计算,会消耗较多的处理资源,为了降低区块链系统的数据处理压力,可以将该目标数据归为链下处理,以使区块链系统之外的计算机设备协助区块链系统中的节点设备对该目标数据进行处理。因此,在目标数据的计算量大于第一阈值的情况下,确定该目标数据对应的处理方式属于链下处理方式,在目标数据的计算量不大于第一阈值的情况下,确定该目标数据对应的处理方式不属于链下处理方式。
其中,密集型计算是指计算量较大的计算,例如密集型计算包括哈希处理、签名、验签以及密码学算法等。
(2)节点设备在目标数据的数据量大于第二阈值的情况下,确定目标数据对应的处理方式属于链下处理方式。
如果目标数据的数据量大于第二阈值,说明处理该目标数据会消耗较多的处理资源,为了降低区块链系统的数据处理压力,可以将该目标数据归为链下处理,以使区块链系统之外的计算机设备协助区块链系统中的节点设备对该目标数据进行处理。因此,在目标数据的数据量大于第二阈值的情况下,确定该目标数据对应的处理方式属于链下处理方式,在目标数据的数据量大于不第二阈值的情况下,确定该目标数据对应的处理方式不属于链下处理方式。
(3)节点设备在目标数据所属的业务方为目标业务方的情况下,确定目标数据对应的处理方式属于链下处理方式。
本申请实施例中,可以按照业务方来划分数据对应的处理方式,例如在业务方具有链下处理需求的情况下,将该业务方设置为目标业务方,从而将该业务方的数据设置为链下处理方式。在业务方不具有链下处理需求的情况下,将该业务方的数据归为链上处理,链上处理也即是由区块链系统中的节点设备进行处理。因此,在目标数据所属的业务方为目标业务方的情况下,确定该目标数据对应的处理方式属于链下处理方式,在目标数据所属的业务方不为目标业务方的情况下,确定该目标数据对应的处理方式不属于链下处理方式。
(4)节点设备在目标数据的数据类型属于预设数据类型的情况下,确定目标数据对应的处理方式属于链下处理方式。
本申请实施例中,可以按照数据类型来划分数据对应的处理方式,由节点设备灵活设置哪些数据类型的数据进行链下处理,哪些类型的数据进行链上处理,将需要进行链下处理的数据类型确定为预设数据类型。因此,在目标数据的数据类型属于预设数据类型的情况下,确定该目标数据对应的处理方式属于链下处理方式,在目标数据的数据类型不属于预设数据类型的情况下,确定该目标数据对应的处理方式不属于链下处理方式。
在另一种可能实现方式中,节点设备调用数据预测模型,对目标数据进行预测,得到目标预测结果,目标预测结果用于表示目标数据对应的处理方式是否属于链下处理方式。
节点设备中存储有数据预测模型,例如节点设备所存储的智能合约中包括该数据预测模型,该数据预测模型用于预测数据对应的处理方式是否数据链下处理方式。因此,节点设备将该目标数据输入至数据预测模型中,由数据预测模型对该目标数据进行预测,从而得到该目标数据对应的目标预测结果。本申请实施例中,通过数据预测模型来预测目标数据对应的处理方式是否属于链下处理方式,简化了处理逻辑,有利于提高数据处理的效率。
可选地,该数据预测模型的训练过程,包括以下步骤6021-步骤6023:
6021、根据历史处理记录,获取正样本数据和对应的第一样本标签,以及负样本数据和对应的第二样本标签,第一样本标签表示正样本数据对应的处理方式属于链下处理方式,第二样本标签表示负样本数据对应的处理方式不属于链下处理方式。
节点设备中存储有历史处理记录,该历史处理记录包括已处理的历史数据以及每个历史数据对应的标签,历史数据对应的标签表示该历史数据对应的处理方式是否属于链下处理方式。因此,根据该历史处理记录,在历史数据中获取正样本数据和负样本数据,并获取该正样本数据对应的第一样本标签和负样本数据对应的第二样本标签。其中,正样本数据为处理方式属于链下处理方式的历史数据,负样本数据为处理方式不属于链下处理方式的历史数据。
6022、调用数据预测模型,分别对正样本数据和负样本数据进行预测,得到第一预测结果和第二预测结果。
第一预测结果表示该数据预测模型所预测的该正样本数据对应的处理方式是否属于链下处理方式,第二预测结果表示该数据预测模型所预测的该负样本数据对应的处理方式是否属于链下处理方式。
6023、基于第一样本标签和第一预测结果,以及第二样本标签和第二预测结果,训练数据预测模型,以使调用训练后的数据预测模型得到的第一预测结果与第一样本标签之间的相似度增大,且得到的第二预测结果与第二样本标签之间的相似度增大。
由于第一预测结果与该第一样本标签之间的相似度越高,且第二预测结果与第二样本标签之间的相似度越高,说明该数据预测模型所预测的结果越准确,因此通过训练数据预测模型,以使调用训练后的数据预测模型得到的第一预测结果与第一样本标签之间的相似度增大,且第二预测结果与第二样本标签之间的相似度增大,能够提高数据预测模型的预测能力,使得数据预测模型学习到如何区分需要进行链下处理的数据以及不需要进行链下处理的数据。
603、节点设备在目标数据对应的处理方式属于链下处理方式的情况下,生成目标数据对应的数据处理请求。
如果该目标数据对应的处理方式属于链下处理方式,说明需要请求计算机设备来处理该目标数据,因此节点设备生成该目标数据对应的数据处理请求,该数据处理请求包括该目标数据,该数据处理请求用于请求对该目标数据进行处理。
在一种可能实现方式中,节点设备在目标数据对应的处理方式属于链下处理方式的情况下,查询处理方式对应的目标程序标识,目标程序标识指示用于进行该处理方式的处理的计算程序,基于目标数据和目标程序标识,生成数据处理请求。
其中,该数据处理请求包括该目标数据和目标程序标识。例如,该目标数据对应的处理方式为加密,则该处理方式对应的目标程序标识指示用于进行加密的计算程序。例如,该目标数据对应的处理方式为哈希处理,则该处理方式对应的目标程序标识指示用于进行哈希处理的计算程序。
本申请实施例中,通过在数据处理请求中携带目标程序标识,便于后续计算机设备根据该目标程序标识,查找用于对该目标数据进行处理的计算程序,提高了数据处理的效率。
在一种可能实现方式中,节点设备通过智能合约,执行上述步骤602-步骤603。
604、节点设备通过智能合约,向区块链系统之外的计算机设备发送数据处理请求。
该智能合约提供有用于与区块链系统之外的计算机设备进行交互的接口,计算机设备为智能合约提供有用于处理数据的处理资源。
在一种可能实现方式中,该数据处理请求包括目标数据和目标程序标识,目标程序标识指示用于处理目标数据的计算程序。节点设备通过智能合约,在目标程序标识为已注册的程序标识的情况下,向计算机设备发送数据处理请求。
其中,计算机设备中用于对节点设备中的数据进行处理的计算程序对应的程序标识注册于节点设备的智能合约中,智能合约中存储有已注册的程序标识。因此。在获取到数据处理请求后,节点设备通过智能合约,先确定该数据处理请求中的目标程序标识是否为已注册的程序标识,如果是已注册的程序标识,则说明计算机设备能够处理该数据处理请求,则向计算机设备发送该数据处理请求,如果不是已注册的程序标识,则说明计算机设备不能处理该数据处理请求,则无需向计算机设备发送该数据处理请求。
需要说明的是,上述步骤602-步骤604中仅以先确定处理方式是否属于链下处理方式,在属于链下处理方式的情况下再生成数据处理请求并发送给计算机设备为例进行说明。在另一实施例中,节点设备直接按照当前的业务处理逻辑进行处理,在该目标数据对应的处理方式属于链下处理方式的情况下,该目标数据对应的处理函数为请求发送接口,因此节点设备直接调用该请求发送接口生成数据处理请求并发送给多个计算机设备即可,无需判断该目标数据对应的处理方式是否属于链下处理方式。
605、计算机设备接收节点设备通过智能合约发送的数据处理请求。
606、计算机设备响应于数据处理请求,确定数据处理结果。
数据处理请求包括目标数据,计算机设备响应于该数据处理请求,对该目标数据进行处理,得到该数据处理结果。
在一种可能实现方式中,计算机设备响应于数据处理请求,确定数据处理结果,包括以下三种方式。
(1)数据处理请求是对目标数据的哈希处理请求,计算机设备响应于数据处理请求,对目标数据进行哈希处理,得到哈希数据。
(2)数据处理请求是对目标数据的验证请求,计算机设备响应于数据处理请求,对目标数据进行验证,得到验证结果。
(3)数据处理请求是对目标数据的加密请求,计算机设备响应于数据处理请求,对目标数据进行加密,得到加密数据。
除此之外,该数据处理请求还可以为其他类型的处理请求,例如模型训练请求或者数据修复请求等,模型训练请求用于请求对人工智能模型进行训练。数据修复请求用于请求对出现错误的数据进行修复等。
在一种可能实现方式中,该计算机设备存储有外部处理接口,计算机设备响应于该数据处理请求,调用该外部处理接口,对该目标数据进行处理,得到该数据处理结果。
该外部处理接口是由该计算机设备之外的其他设备提供的。该计算机设备通过调用该外部处理接口,触发提供该外部处理接口的设备对该数据处理请求中的目标数据进行处理,从而得到该数据处理结果。例如,该外部处理接口是第三方数据网站对应的服务器所提供的,或者该外部处理接口是物联网设备的传感器所提供的等。
其中,在不同的应用场景下,该外部处理接口的功能也不相同。例如在预测天气数据的情况下,该目标数据可以为历史天气数据,该数据处理请求可以为基于该历史天气数据的天气数据预测请求,该外部处理接口具有基于历史天气数据预测未来天气数据的功能。
607、计算机设备向节点设备发送数据处理结果。
在一种可能实现方式中,计算机设备向节点设备中的智能合约发送该数据处理结果。
608、节点设备接收计算机设备基于数据处理请求得到的数据处理结果。
609、节点设备对数据处理结果进行共识,得到第一共识处理结果。
节点设备得到计算机设备的数据处理结果后,对该数据处理结果进行共识,得到第一共识处理结果,将该第一共识处理结果作为该数据处理请求对应的最终处理结果。其中,在得到该第一共识处理结果后,节点设备通过智能合约根据区块链系统中的业务处理逻辑,继续处理该第一共识处理结果,例如将该第一共识处理结果添加至区块链系统中的区块链上。
本申请实施例中,由计算机设备对数据处理请求进行处理,并由节点设备对数据处理结果进行共识,得到共识处理结果,降低了出错风险以及计算机设备篡改数据的风险,提高了数据处理的准确性和可信度。
并且,节点设备中的智能合约,提供有用于与区块链系统之外的计算机设备进行交互的接口,相当于提供了区块链系统中的节点设备与区块链系统之外的计算机设备连接的桥梁,使得区块链系统外的数据能够输入到区块链系统中,降低了区块链系统中的数据处理压力以及执行复杂度,无需在区块链系统中增加新的节点设备,即可在一定程度上达到了对区块链系统进行扩容的效果,简化了数据处理的系统架构,扩展了区块链系统的功能。
在一种可能实现方式中,节点设备通过智能合约执行上述步骤608-步骤609。
本申请实施例提供的方法,在需要对目标数据进行链下处理的情况下,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对该目标数据对应的数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
并且,按照数据的计算量或数据量的大小来确定数据是否需要进行链下处理,从而在数据的计算量或数据量较大的情况下,请求区块链系统之外的计算机设备协助区块链系统之内的节点设备对数据进行处理,有效降低了区块链系统的数据处理压力。
并且,按照数据所属的业务方或者数据类型来确定数据是否需要进行链下处理,来根据业务方或者数据类型划分数据对应的处理方式,使得节点设备可以灵活设置哪些业务方的数据进行链下处理,或者哪些数据类型的数据进行链下处理,提高了数据处理的灵活性。
并且,通过数据预测模型来预测目标数据对应的处理方式是否属于链下处理方式,简化了智能合约的处理逻辑,有利于提高数据处理的效率。
并且,通过在数据处理请求中携带目标程序标识,便于后续计算机设备根据该目标程序标识,查找用于对该目标数据进行处理的计算程序,提高了数据处理的效率。
在上述实施例的基础上,智能合约包括业务智能合约和预言机智能合约,节点设备通过业务智能合约和预言机智能合约之间的交互,来实现数据处理请求的发送以及数据处理结果的接收,具体过程参见下述图7所示的实施例。
图7是本申请实施例提供的另一种数据处理方法的流程图,本申请实施例由区块链系统中的节点设备和区块链系统之外的计算机设备执行,参见图7,该方法包括:
701、节点设备通过业务智能合约,向预言机智能合约发送数据处理请求。
其中,业务智能合约用于管理区块链系统中的数据以及处理逻辑。预言机智能合约提供有用于与区块链系统之外的计算机设备进行交互的接口,计算机设备为预言机智能合约提供有用于处理数据的处理资源。预言机智能合约用于连接区块链系统中的节点设备与区块链系统之外的计算机设备,能够将区块链系统之外的数据输入到区块链系统中,该业务智能合约和该预言机智能合约均为节点设备中所运行的程序。
因此,节点设备通过业务智能合约数据处理时,生成该数据对应的数据处理请求,向预言机智能合约发送该数据处理请求。
其中,节点设备通过业务智能合约生成数据处理请求的过程,与上述步骤601-步骤603的过程同理,在此不再赘述。
702、节点设备通过预言机智能合约,接收数据处理请求,向计算机设备发送数据处理请求。
其中,预言机智能合约向计算机设备发送数据处理请求的过程,与上述步骤604的过程同理,在此不再赘述。
703、计算机设备接收节点设备通过预言机智能合约发送的数据处理请求。
704、计算机设备响应于数据处理请求,确定数据处理结果。
705、计算机设备向节点设备中的预言机智能合约发送数据处理结果。
706、节点设备通过预言机智能合约,接收数据处理结果。
707、节点设备通过预言机智能合约,对数据处理结果进行共识,得到第二共识处理结果,向业务智能合约发送第二共识处理结果。
节点设备通过预言机智能合约,对数据处理结果进行共识,得到一个相对准确和可靠的第二共识处理结果。
708、节点设备通过业务智能合约,接收第二共识处理结果,对第二共识处理结果进行共识,得到第一共识处理结果。
节点设备通过业务智能合约,对第二共识处理结果进行共识,得到一个更加准确和可靠的第一共识处理结果。
其中,上述步骤703-步骤708中确定数据处理结果与传输数据处理结果的过程与上述步骤605-步骤609的过程同理,在此不再赘述,不同之处在于业务智能合约与预言机智能合约之间的交互。
本申请实施例提供的方法,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行两次共识,得到最终的共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
并且,节点设备中的预言机智能合约,提供了区块链系统中的节点设备与区块链系统之外的计算机设备连接的桥梁,使得区块链系统外的数据能够输入到区块链系统中,扩展了区块链系统的功能。并且,由于降低了区块链系统中的数据处理压力以及执行复杂度,因此在一定程度上达到了对区块链系统进行扩容的效果。
在上述实施例的基础上,区块链系统之外的计算机设备包括预言机控制设备和预言机计算设备,该预言机控制设备用于管理预言机智能合约发送的请求,该预言机计算设备用于处理请求,例如该预言机计算设备属于密集计算设备等。因此,可以通过预言机控制设备和预言机计算设备之间的交互,来实现数据处理结果的生成与发送,具体过程参见下述图8所示的实施例。
图8是本申请实施例提供的另一种数据处理方法的流程图,本申请实施例由区块链系统中的节点设备和区块链系统之外的计算机设备执行,参见图8,该方法包括:
801、节点设备通过智能合约,向区块链系统之外的预言机控制设备发送数据处理请求。
802、预言机控制设备接收数据处理请求。
803、预言机控制设备向预言机计算设备发送数据处理请求。
每个预言机控制设备与至少一个预言机计算设备连接,预言机控制设备在接收到数据处理请求后,向其中一个预言机计算设备发送该数据处理请求。
804、预言机计算设备响应于数据处理请求,确定数据处理结果。
在一种可能实现方式中,该预言机计算设备中存储有多个计算程序,该数据处理请求包括目标数据和目标程序标识。其中,目标程序标识指示用于处理该目标数据的计算程序。因此预言机计算设备响应于数据处理请求,调用目标程序标识指示的计算程序,处理该目标数据,得到数据处理结果。
除此之外,该步骤804中确定数据处理结果的过程与上述步骤606中确定数据处理结果的过程同理,在此不再赘述。
805、预言机计算设备向预言机控制设备发送数据处理结果。
806、预言机控制设备向节点设备发送数据处理结果。
预言机控制设备在接收到预言机计算设备发送的数据处理结果后,将该数据处理结果转发给节点设备。
在一种可能实现方式中,预言机控制设备将数据处理结果转换为目标格式,目标格式为智能合约支持的格式,预言机控制设备向节点设备中的智能合约发送转换后的数据处理结果,以便节点设备中的智能合约能够对该目标格式的数据处理结果进行处理。
需要说明的是,上述步骤802-步骤806中,仅以一个预言机控制设备和一个预言机计算设备为例进行说明。在另一实施例中,节点设备向多个预言机控制设备发送数据处理请求,多个预言机控制设备中的每个预言机控制设备以及对应的预言机计算设备均执行上述步骤802-步骤806中的一个或多个步骤。
807、节点设备接收预言机控制设备发送的数据处理结果。
808、节点设备对数据处理结果进行共识,得到第一共识处理结果。
该步骤807-步骤808与上述步骤608-步骤609的过程同理,在此不再赘述。
本申请实施例提供的方法,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
上述实施例中,仅以节点设备通过智能合约向区块链系统之外的一个计算机设备发送数据处理请求为例进行说明,在另一实施例中,节点设备通过智能合约,向区块链系统之外的多个计算机设备发送数据处理请求,由多个计算机设备响应于该数据处理请求,确定数据处理结果,并向节点设备返回数据处理结果。节点设备接收多个计算机设备返回的数据处理结果,对接收到的多个数据处理结果进行共识,得到第一共识处理结果。
由于不同的计算机设备的处理能力不同等因素,不同的计算机设备所得到的数据处理结果可能相同也可能不同。例如,在计算机设备的处理能力较强的情况下,该计算机设备所得到的数据处理结果的准确性更高,在计算机设备的处理能力较弱的情况下,该计算机设备所得到的数据处理结果的准确性更低。在计算机设备存在一定安全风险的情况下,该计算机设备所得到的数据处理结果的可信度较低。
本申请实施例中,通过对多个数据处理结果进行共识,能够提高共识处理结果的准确性。并且,在数据处理请求对应的数据处理结果是不确定性的结果时,通过对多个数据处理结果进行共识,能够提高共识处理结果的确定性。例如,该数据处理请求是预测明天的天气情况,因此单个计算机设备得到的预测结果具有不确定性,采用去中心化的共识机制,能够提高最终得到的预测结果的确定性。
在一种可能实现方式中,节点设备对多个数据处理结果进行共识,得到第一共识处理结果,包括以下三种方式。
(1)将多个数据处理结果中出现次数最多的数据处理结果,确定为第一共识处理结果。例如,该数据处理结果为数值,多个数据处理结果包括85、83、85、89和87,由于85是出现次数最多的数据处理结果,因此将85确定为第一共识处理结果。
(2)将多个数据处理结果中出现次数达到第三阈值的数据处理结果,确定为第一共识处理结果。其中,该第三阈值可以为智能合约预先设置的阈值,例如该第三阈值为多个计算机设备的数量的一半或者80%等。例如,该数据处理结果为数值,第三阈值为3次,多个数据处理结果包括85、83、85、85和87,由于85是出现次数达到3次的数据处理结果,因此将85确定为第一共识处理结果。
(3)该数据处理结果为数值,对多个数据处理结果进行加权融合,得到第一共识处理结果。例如,多个计算机设备对应有各自的权重,节点设备通过智能合约,基于该多个计算机设备对应的权重,对多个计算机设备对应的数据处理结果进行加权平均,得到该第一共识处理结果。
在一种可能实现方式中,智能合约包括业务智能合约和预言机智能合约。节点设备通过预言机智能合约,对多个数据处理结果进行共识,得到第二共识处理结果,向业务智能合约发送该第二共识处理结果。节点设备通过该业务智能合约接收该第二共识处理结果,对该第二共识处理结果进行共识,得到第一共识处理结果。
其中,本申请实施例中通过预言机智能合约进行共识是指对多个数据处理结果进行处理,例如采用上述(1)、(2)或者(3)的方法进行处理,或者采用其他方式进行统计、筛选或者融合等。其中,本申请实施例中通过业务智能合约进行共识是指对第二共识处理结果进行验证和确认。
图9是本申请实施例提供的另一种数据处理方法的流程图,如图9所示,该方法包括以下步骤。
901、业务智能合约向预言机智能合约发送数据处理请求。
902、预言机智能合约广播该数据处理请求,该数据处理请求包括待处理的目标数据,以及用于处理该目标数据的计算程序对应的程序标识。
903、预言机控制设备接收该数据处理请求,并将该数据处理请求转发给预言机计算设备。
904、预言机计算设备响应于该数据处理请求,确定数据处理结果,将该数据处理结果返回给预言机控制设备。
905、预言机控制设备将该数据处理结果返回给预言机智能合约。
906、预言机智能合约对接收到的多个数据处理结果进行共识,得到第二共识处理结果,并返回给业务智能合约,由业务智能合约对第二共识处理结果进行共识,得到第一共识处理结果。
图10是本申请实施例提供的另一种数据处理方法的流程图,如图10所示,该方法包括以下步骤。
1001、业务智能合约向预言机智能合约发送数据处理请求,请求预言机智能合约进行链下处理,并且该数据处理请求携带待处理的目标数据以及用于处理该目标数据的计算程序对应的程序标识。
1002、预言机智能合约被调用之后,广播该数据处理请求,区块链系统之外的多个预言机控制设备会实时性检测预言机智能合约广播的数据处理请求。
1003、预言机控制设备接收到数据处理请求后,向预言机计算设备发送该数据处理请求。
1004、预言机计算设备接收预言机控制设备发送的数据处理请求,并选择该数据处理请求中的程序标识指示的计算程序,调用该计算程序对数据处理请求中的目标数据进行处理,得到数据处理结果,将数据处理结果返回给预言机控制设备。
1005、预言机控制设备接收到数据处理结果后,将该数据处理结果转换为预言机智能合约支持的目标格式,向预言机智能合约发送转换后的数据处理结果。
1006、预言机智能合约对区块链系统之外的多个预言机控制设备返回的数据处理结果进行共识,得到共识处理结果,将共识处理结果返回给业务智能合约。
1007、业务智能合约接收共识处理结果,基于该共识处理结果继续执行该业务智能合约的处理逻辑,例如业务智能合约对接收到的共识处理结果再次进行共识,以验证该共识处理结果的准确性以及可靠性。再例如业务智能合约将该共识处理结果添加至区块链中。
图11是本申请实施例提供的另一种数据处理方法的流程图,如图11所示,该方法包括以下步骤。
1101、业务智能合约向预言机智能合约发送数据处理请求。
1102、预言机智能合约向区块链系统之外的多个计算机设备广播该数据处理请求,该数据处理请求包括待处理的目标数据。
1103、计算机设备接收该数据处理请求,并调用外部处理接口,由外部处理接口触发提供该外部处理接口的设备对该数据处理请求进行处理,从而获取到数据处理结果。
1104、外部处理接口将获取到的数据处理结果返回给计算机设备。
1105、计算机设备将该数据处理结果返回给预言机智能合约。
1106、预言机智能合约对接收到的多个数据处理结果进行共识,得到共识处理结果,并返回给业务智能合约。
图12是本申请实施例提供的一种数据处理装置的结构示意图。参见图12,该装置应用于区块链系统中的任一节点设备,该节点设备存储有智能合约;该装置包括:
请求发送模块1201,用于获取目标数据,在该目标数据对应的处理方式属于链下处理方式的情况下,生成该目标数据对应的数据处理请求,该链下处理方式是指由该区块链系统之外的计算机设备进行处理;
请求发送模块1201,还用于通过该智能合约,向该区块链系统之外的计算机设备发送该数据处理请求,该智能合约提供有用于与该区块链系统之外的计算机设备进行交互的接口,计算机设备为智能合约提供有用于处理数据的处理资源;
结果接收模块1202,用于接收该计算机设备基于该数据处理请求得到的数据处理结果;
共识模块1203,用于对该数据处理结果进行共识,得到第一共识处理结果。
本申请实施例提供的数据处理装置,在需要对目标数据进行链下处理的情况下,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对该目标数据对应的数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
可选地,参见图13,该智能合约包括业务智能合约和预言机智能合约,该预言机智能合约提供有用于与该区块链系统之外的计算机设备进行交互的接口,计算机设备为预言机智能合约提供有用于处理数据的处理资源;该请求发送模块1201,用于:
通过该业务智能合约,向该预言机智能合约发送该数据处理请求;
通过该预言机智能合约,接收该数据处理请求,向该计算机设备发送该数据处理请求。
可选地,参见图13,该共识模块1203,包括:
第一共识单元1213,用于通过该预言机智能合约,对数据处理结果进行共识,得到第二共识处理结果,向该业务智能合约发送该第二共识处理结果;
第二共识单元1223,用于通过该业务智能合约,接收该第二共识处理结果,对该第二共识处理结果进行共识,得到该第一共识处理结果。
可选地,参见图13,区块链系统之外的计算机设备的数量为多个,节点设备接收到的数据处理结果为多个计算机设备返回的数据处理结果;该共识模块1203,用于:
将多个数据处理结果中出现次数最多的数据处理结果,确定为第一共识处理结果;或者,
将该多个数据处理结果中出现次数达到第三阈值的数据处理结果,确定为该第一共识处理结果;或者,
该数据处理结果为数值,对该多个数据处理结果进行加权融合,得到第一共识处理结果。
可选地,参见图13,该装置还包括:
预测模块1204,用于调用数据预测模型,对该目标数据进行预测,得到目标预测结果,该目标预测结果用于表示该目标数据对应的处理方式是否属于该链下处理方式。
可选地,参见图13,该装置还包括训练模块1205,该训练模块1205,用于:
根据历史处理记录,获取正样本数据和对应的第一样本标签,以及负样本数据和对应的第二样本标签,该第一样本标签表示该正样本数据对应的处理方式属于该链下处理方式,该第二样本标签表示该负样本数据对应的处理方式不属于该链下处理方式;
调用该数据预测模型,分别对该正样本数据和该负样本数据进行预测,得到第一预测结果和第二预测结果;
基于该第一样本标签和该第一预测结果,以及该第二样本标签和该第二预测结果,训练该数据预测模型,以使调用训练后的数据预测模型得到的第一预测结果与该第一样本标签之间的相似度增大,且得到的第二预测结果与该第二样本标签之间的相似度增大。
可选地,参见图13,该装置还包括确定模块1206,该确定模块1206,用于:
在该目标数据的计算量大于第一阈值的情况下,确定该目标数据对应的处理方式属于该链下处理方式;
在该目标数据的数据量大于第二阈值的情况下,确定该目标数据对应的处理方式属于该链下处理方式;
在该目标数据所属的业务方为目标业务方的情况下,确定该目标数据对应的处理方式属于该链下处理方式;
在该目标数据的数据类型属于预设数据类型的情况下,确定该目标数据对应的处理方式属于该链下处理方式。
可选地,参见图13,该请求发送模块1201,用于:
在该目标数据对应的处理方式属于该链下处理方式的情况下,查询该处理方式对应的目标程序标识,该目标程序标识指示用于进行该处理方式的处理的计算程序;
基于该目标数据和该目标程序标识,生成该数据处理请求。
可选地,参见图13,该数据处理请求包括目标数据和目标程序标识,该目标程序标识指示用于处理该目标数据的计算程序;
该请求发送模块1201,用于在该目标程序标识为已注册的程序标识的情况下,向该计算机设备发送该数据处理请求。
需要说明的是:上述实施例提供的数据处理装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将节点设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14是本申请实施例提供的另一种数据处理装置的结构示意图。参见图14,该装置应用于区块链系统之外的任一计算机设备,该装置包括:
请求接收模块1401,用于接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,该目标节点设备为该区块链系统中的多个节点设备中的任一节点设备,该智能合约提供有用于与该区块链系统之外的计算机设备进行交互的接口,该计算机设备为该智能合约提供有用于处理数据的处理资源,该数据处理请求由该目标节点设备在该目标数据对应的处理方式属于链下处理方式的情况下生成,该链下处理方式是指由该区块链系统之外的计算机设备进行处理;
处理模块1402,用于响应于该数据处理请求,确定数据处理结果;
结果发送模块1403,用于向该目标节点设备发送该数据处理结果,该目标节点设备用于接收该计算机设备发送的该数据处理结果,对该数据处理结果进行共识,得到第一共识处理结果。
本申请实施例提供的数据处理装置,区块链系统中的节点设备通过智能合约请求区块链系统之外的计算机设备对数据处理请求进行处理,从而将数据处理请求从区块链系统内转移到了区块链系统外进行处理,降低了区块链系统的数据处理压力,有利于提升数据处理效率。并且,由节点设备对计算机设备处理得到的数据处理结果进行共识,得到共识处理结果,降低了出错风险,提高了数据处理的准确性和可信度。
可选地,参见图15,该计算机设备包括预言机控制设备和预言机计算设备;该预言机控制设备中的该请求接收模块1401,用于接收该数据处理请求;
该处理模块1402,包括该预言机控制设备中的第一发送单元1412和该预言机计算设备中的处理单元1422;该第一发送单元1412,用于向该预言机计算设备发送该数据处理请求;该处理单元1422,用于响应于该数据处理请求,生成该数据处理结果;
该结果发送模块1403,包括该预言机计算设备中的第二发送单元1413和该预言机控制设备中的第三发送单元1423,该第二发送单元1413,用于向该预言机控制设备发送该数据处理结果;该第三发送单元1423,用于向该目标节点设备发送该数据处理结果。
可选地,参见图15,该数据处理请求包括目标数据和目标程序标识;该处理单元1422,用于响应于该数据处理请求,调用该目标程序标识指示的计算程序,处理该目标数据,得到该数据处理结果。
可选地,参见图15,该第三发送单元1423,用于:
将该数据处理结果转换为目标格式,该目标格式为该智能合约支持的格式;
向该目标节点设备中的智能合约发送转换后的该数据处理结果。
可选地,参见图15,该计算机设备存储有外部处理接口,该外部处理接口由该计算机设备之外的其他设备提供,该处理模块1402,用于响应于该数据处理请求,调用该外部处理接口,对该目标数据进行处理,得到该数据处理结果。
可选地,参见图15,该处理模块1402,用于:
该数据处理请求是对目标数据的哈希处理请求,响应于该数据处理请求,对该目标数据进行哈希处理,得到哈希数据;或者,
该数据处理请求是对目标数据的验证请求,响应于该数据处理请求,对该目标数据进行验证,得到验证结果;或者,
该数据处理请求是对目标数据的加密请求,响应于该数据处理请求,对该目标数据进行加密,得到加密数据。
需要说明的是:上述实施例提供的数据处理装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以实现上述实施例的数据处理方法中所执行的操作。
可选地,该计算机设备提供为终端。图16示出了本申请一个示例性实施例提供的终端1600的结构示意图。
终端1600包括有:处理器1601和存储器1602。
处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以集成有GPU(Graphics Processing Unit,图像处理的交互器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一条计算机程序,该至少一条计算机程序用于被处理器1601所具有以实现本申请中方法实施例提供的数据处理方法。
在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。可选地,外围设备包括:射频电路1604或显示屏1605中的至少一种。
外围设备接口1603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1601和存储器1602。在一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。
显示屏1605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1605是触摸显示屏时,显示屏1605还具有采集在显示屏1605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。
本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机设备提供为服务器。图17是本申请实施例提供的一种服务器的结构示意图,该服务器1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1701和一个或一个以上的存储器1702,其中,所述存储器1702中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以实现上述实施例的数据处理方法所执行的操作。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序由处理器加载并执行,以实现如上述实施例的数据处理方法所执行的操作。在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种数据处理方法,其特征在于,由区块链系统中的任一节点设备执行,所述节点设备存储有智能合约;所述方法包括:
获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
接收所述计算机设备基于所述数据处理请求得到的数据处理结果;
对所述数据处理结果进行共识,得到第一共识处理结果。
2.根据权利要求1所述的方法,其特征在于,所述智能合约包括业务智能合约和预言机智能合约,所述预言机智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述预言机智能合约提供有用于处理数据的处理资源;所述通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,包括:
通过所述业务智能合约,向所述预言机智能合约发送所述数据处理请求;
通过所述预言机智能合约,接收所述数据处理请求,向所述计算机设备发送所述数据处理请求。
3.根据权利要求2所述的方法,其特征在于,所述对所述数据处理结果进行共识,得到第一共识处理结果,包括:
通过所述预言机智能合约,对所述数据处理结果进行共识,得到第二共识处理结果,向所述业务智能合约发送所述第二共识处理结果;
通过所述业务智能合约,接收所述第二共识处理结果,对所述第二共识处理结果进行共识,得到所述第一共识处理结果。
4.根据权利要求1所述的方法,其特征在于,所述在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求之前,所述方法还包括:
调用数据预测模型,对所述目标数据进行预测,得到目标预测结果,所述目标预测结果用于表示所述目标数据对应的处理方式是否属于所述链下处理方式。
5.根据权利要求4所述的方法,其特征在于,所述数据预测模型的训练过程,包括:
根据历史处理记录,获取正样本数据和对应的第一样本标签,以及负样本数据和对应的第二样本标签,所述第一样本标签表示所述正样本数据对应的处理方式属于所述链下处理方式,所述第二样本标签表示所述负样本数据对应的处理方式不属于所述链下处理方式;
调用所述数据预测模型,分别对所述正样本数据和所述负样本数据进行预测,得到第一预测结果和第二预测结果;
基于所述第一样本标签和所述第一预测结果,以及所述第二样本标签和所述第二预测结果,训练所述数据预测模型,以使调用训练后的数据预测模型得到的第一预测结果与所述第一样本标签之间的相似度增大,且得到的第二预测结果与所述第二样本标签之间的相似度增大。
6.根据权利要求1所述的方法,其特征在于,所述在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求之前,所述方法还包括:
在所述目标数据的计算量大于第一阈值的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
在所述目标数据的数据量大于第二阈值的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
在所述目标数据所属的业务方为目标业务方的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式;
在所述目标数据的数据类型属于预设数据类型的情况下,确定所述目标数据对应的处理方式属于所述链下处理方式。
7.一种数据处理方法,其特征在于,由区块链系统之外的任一计算机设备执行,所述方法包括:
接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,所述目标节点设备为所述区块链系统中的多个节点设备中的任一节点设备,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源,所述数据处理请求由所述目标节点设备在所述目标数据对应的处理方式属于链下处理方式的情况下生成,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
响应于所述数据处理请求,确定数据处理结果;
向所述目标节点设备发送所述数据处理结果,所述目标节点设备用于接收所述计算机设备发送的所述数据处理结果,对所述数据处理结果进行共识,得到第一共识处理结果。
8.根据权利要求7所述的方法,其特征在于,所述计算机设备包括预言机控制设备和预言机计算设备;
所述接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,包括:
所述预言机控制设备接收所述数据处理请求;
所述响应于所述数据处理请求,确定数据处理结果,包括:
所述预言机控制设备向所述预言机计算设备发送所述数据处理请求;
所述预言机计算设备响应于所述数据处理请求,确定所述数据处理结果;
所述向所述目标节点设备发送所述数据处理结果,包括:
所述预言机计算设备向所述预言机控制设备发送所述数据处理结果;
所述预言机控制设备向所述目标节点设备发送所述数据处理结果。
9.根据权利要求7所述的方法,其特征在于,所述计算机设备存储有外部处理接口,所述外部处理接口由所述计算机设备之外的其他设备提供;所述响应于所述数据处理请求,确定数据处理结果,包括:
响应于所述数据处理请求,调用所述外部处理接口,对所述目标数据进行处理,得到所述数据处理结果。
10.一种数据处理系统,其特征在于,所述数据处理系统包括区块链系统中的多个节点设备以及所述区块链系统之外的计算机设备,所述节点设备存储有智能合约,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
所述多个节点设备中的目标节点设备,用于获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
所述目标节点设备,还用于通过所述智能合约,向所述计算机设备发送所述数据处理请求;
所述计算机设备,用于响应于所述数据处理请求,确定数据处理结果,向所述目标节点设备返回所述数据处理结果;
所述目标节点设备,还用于接收所述计算机设备返回的所述数据处理结果;
所述目标节点设备,还用于对所述数据处理结果进行共识,得到第一共识处理结果。
11.一种数据处理装置,其特征在于,应用于区块链系统中的任一节点设备,所述节点设备存储有智能合约;所述装置包括:
请求发送模块,用于获取目标数据,在所述目标数据对应的处理方式属于链下处理方式的情况下,生成所述目标数据对应的数据处理请求,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
所述请求发送模块,还用于通过所述智能合约,向所述区块链系统之外的计算机设备发送所述数据处理请求,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源;
结果接收模块,用于接收所述计算机设备基于所述数据处理请求得到的数据处理结果;
共识模块,用于对所述数据处理结果进行共识,得到第一共识处理结果。
12.一种数据处理装置,其特征在于,应用于区块链系统之外的任一计算机设备,所述装置包括:
请求接收模块,用于接收目标节点设备通过智能合约发送的目标数据对应的数据处理请求,所述目标节点设备为所述区块链系统中的多个节点设备中的任一节点设备,所述智能合约提供有用于与所述区块链系统之外的计算机设备进行交互的接口,所述计算机设备为所述智能合约提供有用于处理数据的处理资源,所述数据处理请求由所述目标节点设备在所述目标数据对应的处理方式属于链下处理方式的情况下生成,所述链下处理方式是指由所述区块链系统之外的计算机设备进行处理;
处理模块,用于响应于所述数据处理请求,确定数据处理结果;
结果发送模块,用于向所述目标节点设备发送所述数据处理结果,所述目标节点设备用于接收所述计算机设备发送的所述数据处理结果,对所述数据处理结果进行共识,得到第一共识处理结果。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求1至6任一项所述的数据处理方法所执行的操作,或者实现如权利要求7至9任一项所述的数据处理方法所执行的操作。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如权利要求1至6任一项所述的数据处理方法所执行的操作,或者实现如权利要求7至9任一项所述的数据处理方法所执行的操作。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序由处理器加载并执行,以实现如权利要求1至6任一项所述的数据处理方法所执行的操作,或者实现如权利要求7至9任一项所述的数据处理方法所执行的操作。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770957.9A CN117376371A (zh) | 2022-06-30 | 2022-06-30 | 数据处理方法、系统、装置、设备及存储介质 |
EP23829693.3A EP4443851A1 (en) | 2022-06-30 | 2023-05-04 | Data processing method, system and apparatus, device, and storage medium |
PCT/CN2023/091982 WO2024001507A1 (zh) | 2022-06-30 | 2023-05-04 | 数据处理方法、系统、装置、设备及存储介质 |
US18/637,690 US20240267244A1 (en) | 2022-06-28 | 2024-04-17 | Meeting control method, electronic device, and storage medium |
US18/742,271 US20240330275A1 (en) | 2022-06-30 | 2024-06-13 | Data processing method, system, and apparatus, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770957.9A CN117376371A (zh) | 2022-06-30 | 2022-06-30 | 数据处理方法、系统、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376371A true CN117376371A (zh) | 2024-01-09 |
Family
ID=89383194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210770957.9A Pending CN117376371A (zh) | 2022-06-28 | 2022-06-30 | 数据处理方法、系统、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240330275A1 (zh) |
EP (1) | EP4443851A1 (zh) |
CN (1) | CN117376371A (zh) |
WO (1) | WO2024001507A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305170A (zh) * | 2018-03-07 | 2018-07-20 | 物数(上海)信息科技有限公司 | 基于区块链的外部服务访问方法、系统、设备及存储介质 |
CN110928880B (zh) * | 2019-11-19 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、终端及介质 |
CN111401903B (zh) * | 2020-06-03 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 区块链消息处理方法、装置、计算机以及可读存储介质 |
US12067613B2 (en) * | 2020-09-23 | 2024-08-20 | Genesys Cloud Services, Inc. | Technologies for data bidding and negotiating in an enterprise system using a permissioned blockchain infrastructure |
CN112948499A (zh) * | 2021-03-31 | 2021-06-11 | 北京金山云网络技术有限公司 | 信息获取方法和装置、电子设备和存储介质 |
CN114240657A (zh) * | 2021-12-15 | 2022-03-25 | 杭州趣链科技有限公司 | 数据处理方法、区块链、终端设备及存储介质 |
-
2022
- 2022-06-30 CN CN202210770957.9A patent/CN117376371A/zh active Pending
-
2023
- 2023-05-04 WO PCT/CN2023/091982 patent/WO2024001507A1/zh active Application Filing
- 2023-05-04 EP EP23829693.3A patent/EP4443851A1/en active Pending
-
2024
- 2024-06-13 US US18/742,271 patent/US20240330275A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4443851A1 (en) | 2024-10-09 |
US20240330275A1 (en) | 2024-10-03 |
WO2024001507A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021174930A1 (zh) | 一种业务处理系统、业务处理的方法、装置及设备 | |
CN112948900A (zh) | 应用于区块链系统的链下数据获取方法和装置 | |
CN113837760B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN112417485B (zh) | 一种基于可信执行环境的模型训练方法、系统及装置 | |
Garcia Bringas et al. | BlockChain platforms in financial services: current perspective | |
CN112508733A (zh) | 一种基于北斗的电网时空大数据智能服务系统 | |
CN112200680B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN112069529B (zh) | 基于区块链的卷宗管理方法、装置、计算机以及存储介质 | |
CN116991929A (zh) | 基于医院大数据的微服务系统 | |
CN116095671B (zh) | 一种基于元宇宙的资源共享方法及其相关设备 | |
CN117376371A (zh) | 数据处理方法、系统、装置、设备及存储介质 | |
CN110781523B (zh) | 用于处理信息的方法和装置 | |
CN114493850A (zh) | 基于人工智能的在线公证方法、系统及存储介质 | |
CN114143333A (zh) | 预言机数据处理方法及中心化预言机模块 | |
CN111932375A (zh) | 一种区块链的设计方法 | |
CN116032494B (zh) | 数据交互方法、区块链预言机、设备及介质 | |
CN116302449B (zh) | 跨智能体的算法资源调度方法、装置、设备和介质 | |
CN116743811B (zh) | 云平台下的远程教育数据处理方法、系统及电子设备 | |
CN116244359B (zh) | 一种试验数据汇聚装置、方法及设备 | |
US20240104558A1 (en) | Blockchain transaction execution method and apparatus, program product, device, and medium | |
CN118521306A (zh) | 基于区块链的资源转移方法、装置、设备及存储介质 | |
CN116996561A (zh) | 一种数据管理系统及方法、设备 | |
CN113836566A (zh) | 基于区块链系统的模型处理方法及装置、设备、介质 | |
CN116567064A (zh) | 数据处理方法、装置、计算机、可读存储介质及程序产品 | |
CN116975902A (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 |