CN117390694A - 基于区块链的数据处理方法、装置及设备、介质、产品 - Google Patents
基于区块链的数据处理方法、装置及设备、介质、产品 Download PDFInfo
- Publication number
- CN117390694A CN117390694A CN202311393525.1A CN202311393525A CN117390694A CN 117390694 A CN117390694 A CN 117390694A CN 202311393525 A CN202311393525 A CN 202311393525A CN 117390694 A CN117390694 A CN 117390694A
- Authority
- CN
- China
- Prior art keywords
- contract
- target
- data
- target object
- token
- 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 35
- 238000012795 verification Methods 0.000 claims abstract description 236
- 238000013475 authorization Methods 0.000 claims abstract description 222
- 238000012545 processing Methods 0.000 claims abstract description 165
- 238000000034 method Methods 0.000 claims abstract description 90
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 79
- 230000008569 process Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 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
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了基于区块链的数据处理方法、装置及设备、介质、产品,其中方法包括:获取目标对象的待处理数据;获取目标对象的授权令牌;授权令牌是根据目标对象的合约使用权限到期时间以及链上地址生成的;根据授权令牌确定第一合约调用参数;通过第一合约调用参数调用目标智能合约,以便于通过目标智能合约对待处理数据进行上链处理;其中,第一合约调用参数用于触发目标智能合约根据授权令牌进行验证操作,以在验证操作通过后对待处理数据进行上链处理。通过本申请实施例,可以基于授权令牌来便捷地实现智能合约的调用完成数据的上链处理。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置以及计算设备、计算机可读存储介质、计算机程序产品。
背景技术
随着计算机技术的不断发展和应用,区块链技术也在迅速发展,由于存储在区块链上的信息不可伪造和篡改,利用区块链技术进行业务数据处理成为了当前的发展趋势。在交易数据上链的过程中,共识是一个重要阶段,在共识阶段可以使用智能合约来实现共识机制。智能合约是一种可执行的计算机程序,通过智能合约能够实现可信交易。
开发人员可以通过手动编写等方式来生成智能合约,并且需要花费时间、精力来完成智能合约的测试、验证,以确保智能合约运行的准确性、稳定性。在目前的智能合约应用过程中,存在支付一定的合约执行费用来激励开发人员。而如何定义智能合约调用机制使得在能够激励开发人员的前提下较好完成智能合约的调用成为研究的热点。
发明内容
本申请提供了基于区块链的数据处理方法、装置及设备、介质、产品,可以基于授权令牌来便捷地实现智能合约的调用完成数据的上链处理。
一方面,本申请提供了一种基于区块链的数据处理方法,该方法包括:
获取目标对象的待处理数据;
获取上述目标对象的授权令牌;上述授权令牌是根据上述目标对象的合约使用权限到期时间以及链上地址生成的;
根据上述授权令牌确定第一合约调用参数;
通过上述第一合约调用参数调用目标智能合约,以便于通过上述目标智能合约对上述待处理数据进行上链处理;
其中,上述第一合约调用参数用于触发上述目标智能合约根据上述授权令牌进行验证操作,以在上述验证操作通过后对上述待处理数据进行上链处理。
另一方面,本申请提供了另一种基于区块链的数据处理方法,该方法包括:
获取携带有待处理数据以及目标合约调用参数的交易数据;上述目标合约调用参数包括针对目标智能合约的待验证令牌,上述待验证令牌用于进行是否能够调用上述目标智能合约存储上述交易数据的验证;
根据上述交易数据生成待上链的区块数据,并对上述待上链的区块数据进行共识处理;其中,在上述共识处理的过程中,包括通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作的步骤,并且是在得到的上链验证结果为验证通过时,确定对上述交易数据的验证通过;
若确定共识处理结果为共识通过,则对上述区块数据进行上链。
另一方面,本申请提供了一种基于区块链的数据处理装置,该装置包括:
获取模块,用于获取目标对象的待处理数据;
上述获取模块,还用于获取上述目标对象的授权令牌;上述授权令牌是根据上述目标对象的合约使用权限到期时间以及链上地址生成的;
处理模块,用于根据上述授权令牌确定第一合约调用参数;
数据上链模块,用于通过上述第一合约调用参数调用目标智能合约,以便于通过上述目标智能合约对上述待处理数据进行上链处理;
其中,上述第一合约调用参数用于触发上述目标智能合约根据上述授权令牌进行验证操作,以在上述验证操作通过后对上述待处理数据进行上链处理。
再一方面,本申请提供了另一种基于区块链的数据处理装置,该装置包括:
获取模块,用于获取携带有待处理数据以及目标合约调用参数的交易数据;上述目标合约调用参数包括针对目标智能合约的待验证令牌,上述待验证令牌用于进行是否能够调用上述目标智能合约存储上述交易数据的验证;
共识处理模块,用于根据上述交易数据生成待上链的区块数据,并对上述待上链的区块数据进行共识处理;其中,在上述共识处理的过程中,包括通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作的步骤,并且是在得到的上链验证结果为验证通过时,确定对上述交易数据的验证通过;
上链模块,用于若确定共识处理结果为共识通过,则对上述区块数据进行上链。
相应地,本申请提供了一种计算设备,包括处理器、存储器和网络接口,上述处理器、存储器和网络接口相互连接,其中,上述存储器用于存储计算机程序,上述计算机程序包括程序指令,上述处理器被配置用于调用上述程序指令,用以实现上述基于区块链的数据处理方法的步骤。
相应地,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令被处理器执行,用以实现上述基于区块链的数据处理方法的步骤。
相应地,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序或计算机指令,上述计算机程序或计算机指令被处理器执行,用以实现如上述基于区块链的数据处理方法的步骤。
本申请实施例获取目标对象的待处理数据以及授权令牌;根据授权令牌确定第一合约调用参数,并通过第一合约调用参数调用目标智能合约,而目标智能合约在执行过程中会对授权令牌进行验证操作,这样可以预防伪造或篡改的授权令牌,从而保证授权令牌的真实性和有效性。在验证操作通过后,再通过目标智能合约对待处理数据进行上链处理,可以确保只有经过智能合约拥有者进行合法授权的目标对象的数据,且在授权有效期内才能够上链,既在一定程度上确保了智能合约拥有者的智能合约许可权利,又可以通过一个授权令牌方便合约使用者在合法授权的授权期限内都能够便捷地使用该智能合约,而不需要每次都支付费用。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术对象而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种基于区块链的数据处理***的架构示意图;
图1B是本申请实施例提供的一种区块链的结构示意图;
图1C是本申请实施例提供的一种产生新区块的过程示意图;
图2是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图3是本申请实施例提供的另一种基于区块链的数据处理方法的流程示意图;
图4A是本申请实施例提供的一种上链存储过程的界面交互示意图;
图4B是本申请实施例提供的一种签约计费过程的界面交互示意图;
图4C是本申请实施例提供的一种单次计费过程的界面交互示意图;
图4D是本申请实施例提供的一种基于区块链的购物平台的架构图;
图5是本申请实施例提供的又一种基于区块链的数据处理方法的流程示意图;
图6是本申请实施例提供的一种基于区块链的数据上链处理的流程图;
图7是本申实施例提供的一种基于区块链的数据处理装置的示意框图;
图8是本申实施例提供的另一种基于区块链的数据处理装置的示意框图;
图9是本申请实施例提供的一种计算设备的示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术对象在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提出一种基于区块链的数据处理方法,一方面,合约使用者(或者称之为目标对象)需要向合约拥有者(或者称之为合约拥有对象)申请授权令牌,可以通过数字资产购买等方式获取智能合约在一段时间内使用权限,得到授权令牌,另一方面,通过由目标对象提交的基于合约使用权限到期时间以及链上地址生成的授权令牌进行合约使用权限的验证,可高效地验证合约使用权限,并产生较低的合约存储开销。本申请将通过以下实施例进行说明。
请参见图1A,是本申请实施例提供的一种基于区块链的数据处理***的架构示意图,该基于区块链的数据处理***包括区块链网络10、多个节点101、客户端102,其中:
区块链网络10是指用于进行节点与节点之间数据共享的网络,区块链网络中可以包括多个节点101,其中,该多个节点101中可以包括共识节点。每个节点101在进行正常工作的过程中可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。其中,区块链网络中的每个节点均存储一条相同的区块链,该区块链包括一系列按照产生的先后时间顺序相互接续的区块(Block),如图1A中所示的区块1、区块M-1等等,新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链网络中节点提交的记录数据。为了保证区块链网络内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点通信,具体可以通过有线通信链路或无线通信链路进行点对点通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
客户端102可以接入该区块链网络,并可以与区块链网络中的节点进行通信,例如,向节点发送交易数据等等。当然在一些可能的实现方式中,客户端102也可以是区块链网络中的节点之一。客户端102所在的计算设备具体可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端等,本申请实施例不做限定。客户端102可以应用在申请并使用智能合约的目标对象的计算设备中,也可以应用在合约拥有者的计算设备中。
需要说明的是,图1A中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点,该节点可以是指接入网络中的任意形式的计算设备,例如服务器、对象终端均可以加入而成为节点。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链网络中的其他节点。每个节点中可维护一个如下表1所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,表1中的节点标识仅为举例。
表1
节点名称 | 节点标识 |
节点1 | 000.000.000.00a |
节点2 | 000.000.000.00b |
… | … |
节点N | 000.000.000.00c |
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图1C,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
其中,区块链网络的节点上可以运行智能合约,可以通过调用该智能合约实现各种交易。智能合约是一种运行在区块链上的不可篡改、自动执行的计算机程序,智能合约是用于在满足一定条件时而执行的代码实现,开发对象可以通过编程语言定义合约逻辑,发布到区块链上(智能合约注册),根据合约条款的逻辑,调用密钥或者其他的事件触发执行,完成合约逻辑,同时还提供对智能合约升级、注销等功能。
在一个可能的实现方式中,区块链网络的任一节点101可以获取客户端的交易数据,该交易数据可以携带客户端的身份标识,该身份标识可以是根据客户端的身份证书确定的,节点101可以根据身份标识从智能合约中查询客户端的身份证书,若从智能合约中查询到客户端的身份证书,且根据身份证书确定出客户端具备针对区块链执行交易数据所对应交易操作的权限,则节点101可以针对区块链执行交易数据所对应的交易操作,可以利用交易数据所携带的身份标识和智能合约中所记录的身份证书之间的映射关系,确定客户端对应的身份证书,并按照身份证书中指示的权限进行交易操作,从而提升区块链上数据处理的安全性。在交易数据中只携带身份标识,可以在保证能够获取到相应身份证书的情况下,相对于在交易数据中携带完整的身份证书,可以减少交易数据的数据量,有利于交易数据的快速传输。
通常,还需要针对交易数据生成交易区块,并将区块进行上链(将区块存储到区块链上),由于只携带身份标识,可以在保证能够获取到相应身份证书的情况下,相对于在交易数据中携带完整的身份证书,可以减少交易数据的数据量,以实现一定程度上的数据压缩,这样可以降低对区块链存储资源的消耗。
可以理解的是,在本申请的具体实施方式中,涉及到待处理数据、授权令牌、合约调用信息等相关的数据,当本申请实施例运用上述数据到具体产品或技术中时,均需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准。
下面将对本申请实施例的技术方案的实现细节进行详细阐述:
请参见图2,图2是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图,本申请实施例的数据处理方法以管理服务器一侧进行描述的,管理服务器与区块链网络相连接,管理服务器也可以是区块链网络中的节点之一,区块链网络中包括多个区块链节点。如图2所示,该基于区块链的数据处理方法可包括:
S201、获取目标对象的待处理数据。待处理数据是目标对象对应的需要进行上链处理的数据,如待处理数据可以是目标对象在交易平台上的购买信息,购买信息可以包括购买的商品、交易细节、付款信息等。将目标对象的待处理数据进行上链处理,可以保证购买信息的安全性和可追溯性,并可以在后续通过验证链上存储的购买信息,以避免购物纠纷。
本申请实施例中,通过提前获取目标对象的待处理数据,以便于后续在对目标对象的授权令牌的验证操作通过后,快速对待处理数据进行上链处理。
S202、获取目标对象的授权令牌;授权令牌是根据目标对象的合约使用权限到期时间以及链上地址生成的。授权令牌是一种凭证,用于授权目标对象针对目标智能合约的访问权限。目标对象的合约使用权限到期时间用于指示目标对象针对目标智能合约的使用权限的失效时间,即在合约使用权限到期时间之前认为目标对象具有合约使用权限。目标对象的链上地址是指目标对象在区块链网络中的唯一标识。
本申请实施例中,由于目标对象的链上地址是唯一的,而授权令牌又是基于目标对象的合约使用权限到期时间以及链上地址生成的,这保证了生成的授权令牌的唯一性。通过获取目标对象的授权令牌,以便于后续基于授权令牌生成第一合约调用参数,并通过第一合约调用参数调用目标智能合约,以实现对待处理数据进行上链处理。
在一个可能的实现方式中,可以由合约拥有对象对目标对象的合约使用权限到期时间以及链上地址进行数字签名,得到唯一的授权令牌。而合约使用权限到期时间则是指:在目标对象通过数字资产等方式向智能合约拥有者支付了相关费用之后,由智能合约拥有者所在计算设备按照一定授权策略来为目标对象生成的可以允许目标对象合法使用对应智能合约的有效时间。
S203、根据授权令牌确定第一合约调用参数。第一合约调用参数用于调用目标智能合约以实现相应的合约功能,第一合约调用参数中可以包括:原始合约调用参数和授权令牌,原始合约调用参数可以包括合约地址、调用方法、验证参数等,通过使用原始合约调用参数,可以实现合约的正确调用。
本申请实施例中,根据授权令牌确定第一合约调用参数,使得目标智能合约可以对第一合约调用参数中的授权令牌进行验证操作,确保只有在对授权令牌验证操作通过后才可以对待处理数据进行上链处理,可以防止非授权或伪造的合约调用请求对数据进行非法操作,从而确保数据的安全性。
S204、通过第一合约调用参数调用目标智能合约,以便于通过目标智能合约对待处理数据进行上链处理;第一合约调用参数用于触发目标智能合约根据授权令牌进行验证操作,以在验证操作通过后对待处理数据进行上链处理。
目标智能合约是目标对象需要使用的智能合约,如用于对待处理数据进行上链处理的数据存储智能合约。对授权令牌的验证操作是目标智能合约中的一部分逻辑,目标智能合约在对待处理数据进行上链处理之前,首先需要对第一合约调用参数中的授权令牌进行验证操作,以确保只有具有合约使用权限的对象的数据能够进行上链处理。由于待处理数据已经作为交易数据的一部分传递给目标智能合约,那么目标智能合约在对授权令牌验证通过之后,会按照智能合约中的数据处理规则或协议对待验证数据进行处理,以便于在共识等操作完成之后,将包括待处理数据的交易数据对应的区块添加到区块链中,也就是说,在对授权令牌验证通过之后,后续的针对待处理数据所对应的交易数据、及区块进行上链的过程才可以正常进行。
本申请实施例中,管理服务器可以通过第一合约调用参数调用目标智能合约,而目标智能合约在执行过程中会对授权令牌进行验证操作,这样可以预防伪造或篡改的授权令牌,保证授权令牌的真实性和有效性。在验证操作通过后,管理服务器再对待处理数据进行上链处理,可以确保只有经过智能合约拥有者进行合法授权的目标对象的数据、在授权有效期内才能够上链,既在一定程度上确保了智能合约拥有者的智能合约许可权利,又可以通过一个授权令牌方便合约使用者在合法授权的授权期限内都能够便捷地使用该智能合约,而不需要在每次使用智能合约时都支付费用。
请参见图3,图3是本申请实施例提供的另一种基于区块链的数据处理方法的流程示意图,本申请实施例的数据处理方法以管理服务器一侧进行描述的,该基于区块链的数据处理方法可包括:
S301、获取目标对象的待处理数据。步骤S301的具体实现方式请参见步骤S201的相关描述,此处不再赘述。
在一个可能的实现方式中,管理服务器在执行步骤S301之后,还可以执行以下步骤:
(1)、获取待处理数据的存储指示信息。
(2)、若存储指示信息指示的存储规则为对待处理数据进行上链处理,则触发执行获取目标对象的授权令牌。
在上述步骤(1)-(2)中,存储指示信息是用于指示待处理数据的存储规则的信息,存储规则可以包括:对待处理数据进行上链处理、对待处理数据进行数据库存储处理等。当管理服务器检测到存储指示信息指示的存储规则为对待处理数据进行上链处理时,则触发执行获取目标对象的授权令牌。触发执行获取目标对象的授权令牌可以是指继续执行步骤S302以及后续步骤,或者,触发执行获取目标对象的授权令牌也可以是指继续执行前述实施例中的步骤S202以及后续步骤。通过上述方法,使得管理服务器可以通过存储指示信息,根据目标对象的实际需求为待处理数据确定合适的存储方式,这保证了数据存储的灵活性和存储方式的多样性。对于目标对象而言,可以根据存储需求来选择是需要付费进行上链存储,还是进行普通存储,目标对象可以将一些重要数据,如重要的交易数据、转账数据等选择进行上链处理,而对于一些普通数据,如交易下载的商品预览图片等,则可以通过普通存储的方式进行存储。
选择对待处理数据进行上链处理,可以增强数据的安全性,实现数据的去中心化、不可篡改性和可追溯性,但相应的存储成本会较高。而选择对待处理数据进行数据库存储处理,对于大规模数据的处理和查询有较高的性能,更侧重于数据的结构化,以及更加高效、灵活的进行数据查询、管理和分析,相应的存储成本会较低。具体选择哪种存储规则进行存储,可以是目标对象根据实际需求在对应终端设备上进行选择的,然后再由管理服务器根据选择操作确定相应的存储规则。
在一个可能的实现方式中,在确定了待处理数据之后,允许通过在显示的规则选择界面上为待处理数据选择存储规则来生成存储指示信息,以通过生成的存储指示信息来指示存储待处理数据。
请参见图4A,图4A是本申请实施例提供的一种上链存储过程的界面交互示意图,图4A中(1)所对应的界面为规则选择界面,规则选择界面中包括多种存储规则对应的选择控件,如“上链存储”对应的选择控件、“数据库存储”对应的选择控件。在目标对象购买成功后,当目标对象触发“上链存储”对应的选择控件时,管理服务器对待处理数据进行上链处理,当目标对象触发“数据库存储”对应的选择控件时,管理服务器对待处理数据进行数据库存储处理,如将购物信息存储到购物平台所对应的对象信息数据库。需要说明的是,选择存储规则的事件可以是在目标对象在购买商品前、购买商品的过程中,或者购买商品成功后所发生的,并在事件发生后由管理服务器获取到相应存储规则的,本申请实施例不对此进行限定。
S302、获取待处理数据进行上链处理的计费类型。计费类型是指对待处理数据进行上链处理时所采用的计费方式,计费类型可以包括签约计费类型和单次计费类型。签约计费类型是在目标对象通过签约的方式已经购买了对目标智能合约的一段时间内的使用权限时可使用的一种计费类型,该情况下需要通过授权令牌进行验证操作。单次计费类型是在目标对象未购买对目标智能合约的一段时间内的使用权限时可使用的一种计费类型,该情况下需要对本次使用目标智能合约进行单独计费,并通过单次支付令牌进行验证操作。
在一个可能的实现方式中,目标对象在已经购买了对目标智能合约的一段时间内的使用权限的情况下,也可以选择单独计费,该情况下也需要对本次使用目标智能合约进行单独计费,并通过单次支付令牌进行验证操作。
在一个可能的实现方式中,在确定了待处理数据的存储规则为对待处理数据进行上链处理之后,允许通过在计费类型选择界面上为待处理数据选择计费类型。如图4A所示,如图4A中(2)所对应的界面为计费类型选择界面,计费类型选择界面中包括多种计费类型对应的选择控件,如“签约计费”对应的选择控件、“单次计费”对应的选择控件。当目标对象触发“签约计费”对应的选择控件时,管理服务器对待处理数据进行签约计费相关的处理,即执行步骤S303-S305对应的方法,当目标对象触发“单次计费”对应的选择控件时,管理服务器对待处理数据进行单次计费相关的处理,即执行步骤S306-S308对应的方法。
S303、若计费类型为签约计费类型,则获取目标对象的授权令牌;授权令牌是根据目标对象的合约使用权限到期时间以及链上地址生成的。
在一个可能的实现方式中,当确定目标对象已经发起了针对目标智能合约的使用权限购买请求,且成功获取到响应使用权限购买请求反馈的授权令牌时,确定计费类型为签约计费类型。
示例性的,目标对象向管理服务器发起针对目标智能合约的使用权限购买请求,并进行购买操作,在购买成功后,管理服务器通知合约拥有对象产生本次使用权限购买事件,那么,合约拥有对象会确定本次使用权限购买请求对应的合约使用权限到期时间,然后根据确定的合约使用权限到期时间以及目标对象的链上地址生成授权令牌,并将生成的授权令牌发送给管理服务器。管理服务器在成功获取到合约拥有对象响应使用权限购买请求反馈的授权令牌时,确定计费类型为签约计费类型。
在一个可能的实现方式中,存储指示信息中携带智能合约标识,那么,管理服务器获取目标对象的授权令牌,可以根据以下步骤实现:
(1)、确定智能合约标识对应的智能合约,将确定的智能合约作为目标智能合约。智能合约标识用于唯一指示一个智能合约,管理服务器可以根据智能合约标识确定与之对应的智能合约,并将其作为目标智能合约。
(2)、从为目标对象存储的授权令牌中获取与目标智能合约相匹配的授权令牌。管理服务器中可以存储目标对象的一个或多个授权令牌,每个授权令牌对应目标对象针对一个智能合约的使用权限。管理服务器在确定目标对象需要使用的目标智能合约之后,获取目标对象的与目标智能合约相匹配的授权令牌,也即是获取目标对象已经购买的针对目标智能合约的授权令牌,该授权令牌指示目标对象针对目标智能合约具有使用权限。
智能合约标识可以通过在合约选择界面上的选择操作来选择确定,合约选择界面上显示有能够支持对待处理数据进行上链存储的智能合约标识。
本申请实施例中,管理服务器通过使用智能合约标识,能够准确确定目标对象需要使用的目标智能合约,避免选择错误的智能合约或不匹配的智能合约,从而保证基于目标智能合约对待处理数据进行上链处理的成功率。
请参见图4B,图4B是本申请实施例提供的一种签约计费过程的界面交互示意图,图4B中的(1)为计费类型选择界面,当目标对象触发“签约计费”对应的选择控件时,跳转到图4B中(2)所对应的合约选择界面。合约选择界面上显示有能够支持对待处理数据进行上链存储的智能合约标识,智能合约标识可以包括:可使用智能合约对应的标识、不可使用智能合约对应的标识。其中,可使用智能合约是指目标对象已购买的能够支持对待处理数据进行上链存储的智能合约,如智能合约1、智能合约2。不可使用智能合约是指目标对象未购买的但能够支持对待处理数据进行上链存储的智能合约,如智能合约3、智能合约4、智能合约5等。
智能合约标识是通过在合约选择界面上的选择操作来选择确定的,当目标对象通过选择需要使用的智能合约所对应的“使用”控件时,将会使用该智能合约对待处理数据进行上链存储,此时,该智能合约被确定为目标智能合约,管理服务器再获取目标对象的与目标智能合约相匹配的授权令牌。
需要说明的是,在合约选择界面中对于不可使用智能合约对应的标识,可以提供对应的“购买”控件,当某个不可使用智能合约对应的“购买”控件被触发时,可以跳转到相应的合约购买界面,以实现目标对象购买相应的智能合约。值得注意的是,根据实际业务需求,合约选择界面中也可以只显示可使用智能合约,这提高了合约选择界面进行数据展示的灵活性,本申请实施例不对此进行限定。
S304、根据授权令牌确定第一合约调用参数。步骤S304的实现方式请参见前述步骤S203的相关描述,此处不再赘述。
在一个可能的实现方式中,管理服务器在执行步骤S304之前,还可以执行以下步骤:
(1)、获取合约使用权限到期时间,并确定合约使用权限到期时间与当前时间的间隔时间。合约使用权限到期时间可以是管理服务器对授权令牌进行解密得到的,合约使用权限到期时间也可以是管理服务器同时接收到合约拥有对象发送的授权令牌以及该授权令牌对应的待验证到期时间,然后对授权令牌进行解密得到解密的合约使用权限到期时间,再解密的合约使用权限到期时间与待验证到期时间进行比对,比对一致后,将待验证到期时间确定为合约使用权限到期时间,上述方法提高了获取合约使用权限到期时间的灵活性。
(2)、若间隔时间大于第一间隔阈值,则触发执行根据授权令牌确定第一合约调用参数。
在上述步骤(1)-(2)中,间隔时间指示了目标对象针对目标智能合约的剩余有效期,当间隔时间大于第一间隔阈值时,管理服务器执行步骤S304以及后续步骤,这确保了在目标对象具有合约使用权限时进行后续的对待处理数据进行上链处理的相关步骤,避免计算资源的浪费。其中,第一间隔阈值可以取值为0,间隔时间大于0,说明目标对象针对目标智能合约还有有效期。在其他一些可实现方式中,第一间隔阈值可以按照小时为单位进行设置,或者按照天为单位进行设置,具有授权令牌的对象可以根据需求手动设置第一间隔阈值,以便于按照相应的需求进行后续的诸如授权令牌快到期(或者说合约使用权限到期时间快到期)提醒。
基于此,管理服务器还可以执行以下步骤:若间隔时间小于第二间隔阈值,则向目标对象发送第二提示信息,第二提示信息用于指示目标对象针对目标智能合约进行续费处理。
示例性的,第一间隔阈值和第二间隔阈值,可以相同,也可以不同。第二间隔阈值可以根据业务需求灵活设置,如取值为1天,间隔时间小于1天,说明目标对象针对目标智能合约的有效期较短,此时可以提示目标用针对目标智能合约进行续费处理。
本申请实施例中,管理服务器通过向目标对象发送续费提示信息,以提醒目标对象合约即将到期,需要及时进行续费处理,这有助于保证目标对象的使用合约的连续性,提高合约使用体验,避免因合约过期而导致的服务中断或数据丢失等问题。
S305、通过第一合约调用参数调用目标智能合约,通过目标智能合约对待处理数据进行上链处理;第一合约调用参数用于触发目标智能合约根据授权令牌进行验证操作,以在验证操作通过后对待处理数据进行上链处理。
上述步骤S303-S305介绍了计费类型为签约计费类型时的处理步骤,若计费类型为单次计费类型,管理服务器可以按照单次上链规则对待处理数据进行上链处理,下面将通过步骤S306-S308对其进行介绍:
S306、若计费类型为单次计费类型,则向目标智能合约的合约拥有对象发送第三提示信息,第三提示信息用于指示合约拥有对象通过合约拥有者对象的私钥生成单次支付令牌。单次支付令牌是由合约拥有者对象通过其私钥生成的一种特殊令牌,单次支付令牌作为在计费类型为单次计费类型时的一个凭证,通过该凭证对待处理数据进行上链处理。
在一个可能的实现方式中,当确定接收到目标对象在单次购买界面上发起针对目标智能合约的使用权限的单次购买请求、并得到单次支付令牌时,确定计费类型为单次计费类型。
请参见图4C,图4C是本申请实施例提供的一种单次计费过程的界面交互示意图,图4C中的(1)为计费类型选择界面,当目标对象触发“单次计费”对应的选择控件时,跳转到图4C中(2)所对应的单次购买界面。单次购买界面上显示有能够支持对待处理数据进行上链存储的一个或多个智能合约标识,如智能合约1、智能合约2、智能合约3、智能合约4、智能合约5等。目标对象可以通过触发其中一个智能合约标识对应的“单次购买控件”,以实现针对目标智能合约的使用权限的单次购买,并在购买成功后通过该智能合约标识对应的智能合约对待处理数据进行上链处理。
S307、接收响应第三提示信息返回的单次支付令牌,根据单次支付令牌确定第二合约调用参数。第二合约调用参数用于调用目标智能合约以实现相应的合约功能,第二合约调用参数中可以包括:原始合约调用参数和单次支付令牌,原始合约调用参数可以包括合约地址、调用方法、验证参数等,通过使用原始合约调用参数以保证合约的正确调用。
本申请实施例中,根据单次支付令牌确定第二合约调用参数,使得目标智能合约可以对第二合约调用参数中的单次支付令牌进行验证操作,确保只有在对单次支付令牌验证操作通过后才可以对待处理数据进行上链处理,可以防止非授权或伪造的合约调用请求对数据进行非法操作,从而确保数据的安全性。
S308、通过第二合约调用参数调用目标智能合约,以便于通过目标智能合约对待处理数据进行上链处理;第二合约调用参数用于触发目标智能合约根据单次支付令牌进行验证操作,以在对单次支付令牌进行验证操作通过后对待处理数据进行上链处理。
本申请实施例中,管理服务器可以通过第二合约调用参数调用目标智能合约,而目标智能合约在执行过程中会对单次支付令牌进行验证操作,这样可以预防伪造或被篡改的授权令牌,从而保证单次支付令牌的真实性和有效性。在验证操作通过后,管理服务器再对待处理数据进行上链处理,以便于基于授权令牌来便捷地实现智能合约的调用完成数据的上链处理,可以确保只有经过合法授权的目标对象的数据才能够上链,从而确保数据的安全性和可追溯性。上述方法不需要在智能合约中存储每个对象的合约使用权限到期时间用以验证合约使用权限,而是通过验证第二合约调用参数中的单次支付令牌的形式验证对象是否具有合约使用权限,从而可以高效地验证对象的合约使用权限,并保证较低的合约存储开销。
除此之外,每个单次购买请求都会对应生成一个唯一的单次支付令牌,并且,每一个单次支付令牌都是由合约拥有者对象使用其私钥生成的,目标智能合约在执行过程中会对单次支付令牌进行验证操作,这可以预防单次支付令牌被伪造。同时,单次支付令牌仅用于单个购买请求,一旦该单次支付令牌被使用或过期,就无法重复使用,或者在完成一次验证之后即删除,这确保了目标对象通过单次购买合约对待处理数据进行上链处理时的安全性。
在一个可能的实现方式中,管理服务器还可以执行以下步骤:
(1)、获取目标对象针对目标智能合约的使用权限购买请求。
(2)、向目标智能合约的合约拥有对象发送第一提示信息;第一提示信息用于指示合约拥有对象为目标对象确定合约使用权限到期时间,并通过合约拥有对象的私钥对确定的合约使用权限到期时间、目标对象的链上地址进行签名,得到目标对象的授权令牌。
在上述步骤(1)-(2)中,目标对象向管理服务器发送针对目标智能合约的使用权限购买请求,管理服务器响应于使用权限购买请求向目标智能合约的合约拥有对象发送第一提示信息,合约拥有对象响应于第一提示信息为目标对象确定合约使用权限到期时间,确保目标对象在合适的时间范围内获得目标智能合约的使用权限,然后,通过其私钥对确定的合约使用权限到期时间和目标对象的链上地址进行签名,得到目标对象的授权令牌,最后,合约拥有对象将生成的授权令牌返回给管理服务器。
使用权限购买请求中可以携带购买期限,管理服务器向目标智能合约的合约拥有对象发送第一提示信息时,可以在第一提示信息中携带购买期限,然后,合约拥有对象根据购买期限确定目标对象的合约使用权限到期时间。当然,使用权限购买请求中也可只携带支付费用以及对应的套餐,管理服务器根据支付费用和套餐来确定一个合约使用权限到期时间,并结合目标对象的链上地址,生成授权令牌。
(3)、接收合约拥有对象基于第一提示信息返回的目标对象的授权令牌以及合约使用权限到期时间,并存储目标对象的授权令牌以及合约使用权限到期时间。
管理服务器将接收的目标对象的授权令牌和合约使用权限到期时间进行存储,以便后续使用和验证。上述方法实现了对目标对象的购买合约使用权限的处理,并在购买成功后生成对应的授权令牌,从而在目标对象基于购买的智能合约对待处理数据进行上链处理时,能够对目标对象的合约使用权限进行快速、有效地验证,并在验证通过后通过调用相应的智能合约实现数据上链。
在一个可能的实现方式中,目标对象的合约使用权限到期时间记为timestamp,目标对象的链上地址记为address,合约拥有对象通过合约拥有对象的私钥对合约使用权限到期时间以及目标对象的链上地址{address,timestamp}进行数字签名,得到目标对象的授权令牌token。
在一个可能的实现方式中,管理服务器还可以执行以下步骤:
(1)、获取通过目标智能合约对待处理数据进行上链处理所产生的合约调用信息,并根据合约调用信息确定调用操作是否合规。合约调用信息是指调用目标智能合约对待处理数据进行上链处理的相关调用信息,合约调用信息可以包括合约调用的参数、执行结果、触发时间等。管理服务器可以根据合约调用信息判断本次合约调用操作是否合规。是否合规可以针对使用权限购买请求所购买的套餐或者服务来确定,例如一些套餐或者服务明确规定,不仅存在授权的有效期,还存在次数的限制,例如,每天不超过10次(次数阈值),如果某个对象的授权令牌虽然在合约使用权限到期时间之前即有效期内,但是每天调用目标智能合约的次数超过了10,那么认为不合规,需要按照套餐或者服务的约定,对授权令牌进行相应修改,例如调整合约使用权限到期时间等等。
(2)、若确定调用操作不合规,则根据合约调用信息生成证据存储交易数据,并对证据存储交易数据进行上链处理。
管理服务器在确定调用操作不合规时,通过生成证据存储交易数据并将其上链,以保存本次合约调用不合规的证据并确保数据的可追溯性和完整性,以便于后续进行相关数据的查询和审计。同时,证据存储交易数据是在多节点共识通过后上链的,保证了数据的真实性。
(3)、根据合约调用信息调整已存储的目标对象的授权令牌。
管理服务器可以通过根据合约调用信息调整目标对象的授权令牌,如调整授权令牌对应的合约使用权限到期时间,从而实现更精细化的合约使用权限管理。
在一个可能的实现方式中,调整已存储的目标对象的授权令牌包括至少两种类型:更新已存储的目标对象的授权令牌、删除已存储的目标对象的授权令牌。当目标对象(如合约使用者账号)产生不太严重的违规行为,上述调整可以为更新,该情况下,管理服务器可以向合约拥有对象发送第五提示信息,第五提示信息用于提示合约拥有对象在更新目标对象的合约使用权限到期时间(如将期限提前或延后)之后生成更新后的授权令牌,然后,管理服务器接收合约拥有对象基于第五提示信息返回的更新后的目标对象的授权令牌以及合约使用权限到期时间,并存储更新后的目标对象的授权令牌以及合约使用权限到期时间。
当目标对象产生较为严重的违规行为,上述调整可以为删除,该情况下,管理服务器可以删除已存储的目标对象的授权令牌以及合约使用权限到期时间,从而限制目标对象的合约使用权限。通过删除目标对象的授权令牌,可以控制目标对象继续对合约进行违规使用,提高***安全性,并降低风险。
(4)、向目标对象发送第四提示信息,第四提示信息用于提示目标对象的合约使用权限到期时间被调整。管理服务器在调整已存储的目标对象的授权令牌之后,会告知目标对象其授权令牌相关的合约使用权限到期时间已被调整,使得目标对象可以及时了解和适应调整后的合约使用期限授权情况。同时,目标对象可以查看已经上链的证据存储交易数据,从而明确自己所产生的违规信息。
本申请实施例中,管理服务器通过对合约调用信息进行合规性判断,并在不合规时调整目标对象的授权令牌,从而保证数据的上链处理符合相关规则和要求,这使得本方案可以满足不同业务场景下的需求变化,提供更灵活、更精细化的合约使用权限管理,同时也可以为合约拥有对象提供针对性、差异化的资源管理和对象关系管理的能力。并且,将证据存储交易数据上链,可以保证证据的可追溯性和完整性。
下面将通过实例对本申请实施例所提供的数据处理方法进行说明:
请参见图4D,图4D是本申请实施例提供的一种基于区块链的购物平台的架构图,假设有一个购物平台,购物平台所对应服务器即为上述管理服务器,管理服务器与多个合约拥有对象对应的终端设备(如合约拥有对象A、合约拥有对象B等对应的终端设备)、多个合约使用对象对应的终端设备(如目标对象对应的终端设备)、区块链网络相连接。其中,不同的合约拥有对象可以向管理服务器提供不同的智能合约,并由管理服务器将不同的智能合约存储到区块链网络中的共识节点中。而对于目标对象来说,可以在购物平台购买智能合约的临时使用权限(如通过包年、包月的形式进行签约),或者在每一次需要将购物信息进行上链存储时单独付费进行合约的使用。
目标对象(如购买方)可以在购物平台上购买商品,购物平台使用基于令牌(token)的智能合约资源准入授权机制来授权目标对象对智能合约的临时访问权限,从而使用智能合约所提供的功能,如数据存储智能合约所提供的数据上链功能。目标对象可以通过购物平台购买智能合约的临时使用权限并确定合约使用权限到期时间。其中,合约拥有对象可以通过购物平台设置智能合约的不同类型的临时使用权限,如包年、包月、包日的使用。在目标对象购买智能合约的临时使用权限后,即可以在合约使用权限到期时间之前使用相应的智能合约将购物信息进行上链存储,从而保证数据的安全性和可追溯性,并可以避免购物纠纷。
下面将以通过基于一个目标对象发起的购买流程、购买信息上链流程进行举例说明,主要步骤如下:
1、合约使用者通过目标对象(如合约使用者的账号)在购物平台上购买商品。
2、购物平台所对应服务器确定目标对象已支付后,生成一笔购买信息,购买信息可以包括本次交易对应的商品信息、卖方信息、买方信息、支付信息等。购买信息可以作为待处理数据。
3、购物平台所对应服务器首先确定目标对象是否需要对购买信息进行上链处理,在确定需要进行上链处理时,判断上链处理的计费类型。判断是否需要将购买信息上链可以通过分析购买信息的存储指示信息实现,如购物平台所对应服务器根据计费类型选择界面的触发操作,确定目标对象是否需要将购买信息上链,计费类型选择界面可以在购买操作之前、购买过程中、购买成功后进行展示。当确定不需要对购买信息进行上链处理时,购物平台所对应服务器可以将购买信息存储到数据库中。
4、购物平台所对应服务器根据计费类型,选择相应的方法对购买信息进行上链处理。当计费类型为签约计费类型时,购物平台所对应服务器获取目标对象的授权令牌,并通过基于授权令牌生成的第一合约调用参数调用目标智能合约,以便于目标智能合约根据授权令牌进行验证操作,并在验证操作通过后对购买信息进行上链处理。该情况下,目标对象具有合约访问权限,因此不需要额外支付数据上链的费用。
当计费类型为单次计费类型时,购物平台所对应服务器根据接收到的单次支付令牌确定第二合约调用参数,并通过第二合约调用参数调用目标智能合约,以便于目标智能合约根据单次支付令牌进行验证操作,并在对单次支付令牌进行验证操作通过后对购买信息进行上链处理。
5、目标对象可以通过购物平台提供的数据界面或接口,查询购买信息在区块链上的存储情况。
通过这种基于token的智能合约资源准入授权机制,使得购物平台所对应服务器可以轻松管理各个对象(如各个账号)针对智能合约的临时访问权限,而无需在智能合约中记录每个对象的访问权限信息,从而减少了合约存储的开销。对象可以选择将购买信息进行上链存储,从而保证数据的安全性和可追溯性,并可以避免购物纠纷。此外,这种机制也可以适用于其他场景,例如临时访问某个在线课程、文档库、视频平台等内容,并可根据具体需求可以进行灵活的定制和扩展。
需要说明的是,当计费类型为单次计费类型时,购物平台可以将本次事件通知合约拥有对象,合约拥有对象会生成此次单笔支付对应的一个随机字符串,然后对随机字符串和目标对象的链上地址进行数字签名,生成单次支付令牌(token),合约拥有对象最后将单次支付令牌返回给购物平台所对应服务器,并由购物平台所对应服务器将单次支付令牌存储到目标智能合约中。同时,在目标智能合约中存在逻辑:针对单笔支付token验证通过后,只执行一次购买信息上链处理,并在执行一次购买信息上链处理后删除合约中的相关数据,以使得合约调用者无法再次通过该单笔支付token继续进行单笔支付操作。
请参见图5,图5是本申请实施例提供的又一种基于区块链的数据处理方法的流程示意图,本申请实施例的数据处理方法以出块节点一侧进行描述的,可以理解的是,该出块节点也可以与上述提及的管理服务器为同一个计算设备,也就是说,图5所对应实施例的相关内容与前述的图2、图3等通过管理服务器来实现的相关内容,均可以由一个计算设备来执行。该基于区块链的数据处理方法可包括:
S501、获取携带有待处理数据以及目标合约调用参数的交易数据;目标合约调用参数包括针对目标智能合约的待验证令牌。
在区块链网络中,每一个节点会对接收到的交易数据进行一些基本的验证操作,例如验证交易的合法性、输入输出的有效性等。出块节点通常根据共识机制从各节点中选取出来的,常见的共识机制如工作量证明(Proof of Work,PoW)、权益证明(Proof ofStake,PoS)等,出块节点负责将待处理的交易数据根据一定的规则打包为待上链的区块数据,打包过程通常包括:将多个交易数据按顺序构建区块数据、添加区块头信息等。
交易数据是管理服务器发送到区块链网络中的,具体来说,管理服务器根据待处理数据以及目标合约调用参数生成交易数据,然后将交易数据发送到区块链网络中,以使得区块链网络中的每各个节点能够接收到该交易数据。
待验证令牌用于进行是否能够调用目标智能合约存储交易数据的验证,出块节点中的智能合约在执行过程中,会对待验证令牌进行上链验证操作。
需要说明的是,目标合约调用参数可以是第一合约调用参数,相应的,待验证令牌为授权令牌。目标合约调用参数也可以是第二合约调用参数,相应的,待验证令牌为单次支付令牌。
S502、根据交易数据生成待上链的区块数据,并对待上链的区块数据进行共识处理;在共识处理的过程中,包括通过目标合约调用参数调用目标智能合约来根据待验证令牌进行上链验证操作的步骤,并且是在得到的上链验证结果为验证通过时,确定对交易数据的验证通过。
本申请实施例中,出块节点在对待上链的区块数据进行共识处理的过程中,通过目标合约调用参数调用目标智能合约来根据待验证令牌进行上链验证操作,这样可以确保交易数据符合预定义的合法性规则,如可以验证发送者是否具备足够的权限或资格进行特定操作,或验证交易内容是否符合合约的规定。同时,通过验证待验证令牌,可以防止未经授权的交易被存储在区块链中,从而确保区块链上的数据安全和完整性。
当确定对交易数据的验证通过时,出块节点继续对待上链的区块数据进行相关的共识处理,以确保区块数据得到共识且可信的,从而维护整个区块链网络中的数据的一致性和真实性。
S503、若确定共识处理结果为共识通过,则对区块数据进行上链。共识处理结果包括:共识通过和共识不通过两种情况,出块节点只有在共识通过的情况下才会进行后续的区块数据上链操作,区块数据中包括待处理数据,从而将待处理数据永久存储到区块链,且不可篡改。
在一个可能的实现方式中,待验证令牌为授权令牌,目标合约调用参数为第一合约调用参数,授权令牌是根据目标对象针对目标智能合约的合约使用权限到期时间、及目标对象的链上地址生成的,第一合约调用参数中还包括:待验证到期时间。
待验证到期时间是管理服务器在生成授权令牌的过程中确定。在一种方式中,验证到期时间可以是管理服务器从数据库中获取到的,具体来说,在目标对象购买目标智能合约后,合约拥有对象生成目标对象的授权令牌以及待验证到期时间,并将授权令牌以及待验证到期时间发送给管理服务器,管理服务器将授权令牌以及待验证到期时间存到数据库中。此后,当目标对象需要使用目标智能合约时,管理服务器从数据库中获取目标对象对应的授权令牌以及待验证到期时间。在另一种方式中,验证到期时间可以是管理服务器通过对授权令牌进行解析得到的。
由于验证到期时间有可能是通过伪造生成的,导致验证到期时间与目标对象真实的合约使用权限到期时间不一致,因此,需要对待验证到期时间的真实性进行验证。同时,出块节点也需要对授权令牌进行验证,以确保授权令牌的真实性。
基于此,通过目标合约调用参数调用目标智能合约来根据待验证令牌进行上链验证操作,可以根据以下步骤实现:
(a1)、对授权令牌进行第一验证操作,得到第一验证结果。第一验证操作是对授权令牌进行验证的过程,该过程中,目标智能合约会检查授权令牌的有效性、完整性、真实性,从而确保授权令牌是合法的,防止授权令牌被篡改或伪造。
(a2)、在第一验证结果指示第一验证操作通过后,对待验证到期时间进行第二验证操作,得到第二验证结果。第二验证操作是对待验证到期时间进行验证的过程,该过程中,目标智能合约会根据待验证到期时间确定授权令牌是否已过期,从而判断授权令牌是否还有效。
(a3)、在第二验证结果指示第二验证操作通过后,确定上链验证结果为验证通过。
本申请实施例中,出块节点通过目标智能合约进行第一验证操作和第二验证操作,可以确保只有合法且未过期的授权令牌才能进行数据的上链处理,增强了区块链网络中数据的安全性和可信度,防止无效或过期的授权令牌被用于数据上链处理。
在一个可能的实现方式中,上述对授权令牌进行第一验证操作,得到第一验证结果(即步骤a1),可以根据以下步骤实现:
(a11)、将目标对象的链上地址作为待验证链上地址。目标对象的链上地址可以是在第一合约调用参数中携带,并由目标智能合约获取到的;目标对象的链上地址也可以是出块节点根据目标对象在区块链上的相关数据确定的,本申请实施例不对此进行限定。
(a12)、根据待验证到期时间、待验证链上地址以及授权令牌,推导确定待验证公钥。示例性的,目标智能合约可以组合待验证到期时间和待验证链上地址,并计算组合结果的第一特征值(如哈希值),以及计算授权令牌的第二特征值,再根据第一特征值和第二特征值推导出待验证公钥。
(a13)、根据待验证公钥推导确定合约拥有对象的链上地址。示例性的,目标智能合约可以对待验证公钥进行哈希计算得到哈希值,然后确定地址前缀以及校验码,最后将地址前缀、哈希值、校验码拼接为合约拥有对象的链上地址。
(a14)、将推导确定的合约拥有对象的链上地址与目标智能合约中存储的合约拥有对象的链上地址进行比对。目标智能合约中存储的合约拥有对象的链上地址是真实的,且经过了各节点验证。
(a15)、根据比对结果确定第一验证结果;若比对结果为一致,则第一验证结果为验证通过,若比对结果为不一致,则第一验证结果为验证失败。
通过步骤(a11)-(a15),可以实现对授权令牌的真实性验证,防止通过伪造或篡改的授权令牌进行数据上链处理。
在一个可能的实现方式中,上述在第一验证结果指示第一验证操作通过后,对待验证到期时间进行第二验证操作,得到第二验证结果(即步骤a2),可以根据以下步骤实现:
(a21)、在第一验证结果指示第一验证操作通过后,根据待验证公钥确定授权令牌中的合约使用权限到期时间。目标智能合约可以通过待验证公钥从授权令牌中恢复出合约使用权限到期时间,用于后续进行时间一致性比对。
(a22)、将确定的授权令牌中的合约使用权限到期时间与待验证到期时间进行时间一致性比对。由于待验证到期时间并不一定真实,因此,目标智能合约会判断待验证到期时间与当前时间是否一致,若一致,则说明待验证到期时间是准确的,那么,目标智能合约可以继续进行后续的时限验证。若不一致,则说明待验证到期时间是伪造的或被纂改的,那么,目标智能合约可以停止针对该授权令牌的后续处理。
(a23)、若时间一致性比对结果为一致,则根据待验证到期时间以及当前时间,确定时限验证结果。
(a24)、根据时限验证结果,确定第二验证结果。
在上述步骤(a23)-(a24)中,目标智能合约通过判断待验证到期时间与当前时间的关系,可以确定时限验证结果,时限验证结果用于指示授权令牌是否在有效期内,从而验证授权令牌的有效性,并得到相应的验证结果。
示例性的,若待验证到期时间在当前时间之前,则说明授权令牌未过期,对应的时限验证结果为通过,对应的第二验证结果为通过;若待验证到期时间在当前时间之后,则说明授权令牌过期,对应的时限验证结果为不通过,对应的第二验证结果为不通过,从而基于待验证到期时间实现对授权令牌的有效性进行高效的验证。
在一个可能的实现方式中,待验证令牌为单次支付令牌,目标合约调用参数为第二合约调用参数,单次支付令牌是待处理数据的计费类型为单次计费类型时,由目标智能合约的合约拥有对象通过合约拥有者对象的私钥生成的。
基于此,通过目标合约调用参数调用目标智能合约来根据待验证令牌进行上链验证操作,可以根据以下步骤实现:
(b1)、根据公钥对单次支付令牌进行第三验证操作,得到第三验证结果。第三验证操作是对单次支付令牌进行验证的过程,该过程中,目标智能合约会利用公钥验证单次支付令牌的有效性、完整性、真实性,从而确保单次支付令牌是合法的,防止单次支付令牌被篡改或伪造。
(b2)、在第三验证结果指示第三验证操作通过后,确定上链验证结果为验证通过。
本申请实施例中,目标合约调用参数通过使用公钥验证单次支付令牌,当第三验证操作通过时,目标合约调用参数可以认定该单次支付令牌是有效的,进而执行后续的数据上链处理;当第三验证操作不通过时,目标合约调用参数可以认定该单次支付令牌是伪造的或被纂改的,进而拒绝执行后续的数据上链处理。同时,在上链验证结果为验证通过之后,该单次支付令牌可能会被删除或标记为已使用,从而避免单次支付令牌的重复使用。
在一个可能的实现方式中,在目标对象每一次选择单次计费类型进行数据上链处理时,管理服务器会将对应的单次支付令牌存储到目标智能合约中。
基于此,通过目标合约调用参数调用目标智能合约来根据待验证令牌进行上链验证操作,可以根据以下步骤实现:判断目标智能合约中是否存在与目标合约调用参数包括的单次支付令牌相匹配的单次支付令牌,根据判断结果确定第四验证结果;若存在,则第四验证结果为验证通过,在第四验证结果指示第四验证操作通过后,确定上链验证结果为验证通过。并且,在第四验证结果验证通过后,目标智能合约会将目标智能合约中存储的该单次支付令牌删除,以防止该单次支付令牌的重复验证和使用。
下面将通过实例对本申请实施例所提供的数据处理方法进行举例说明:
请参见图6,图6是本申请实施例提供的一种基于区块链的数据上链处理的流程图,主要步骤如下:
1.合约使用者通过目标对象(如合约使用者的账号)向管理服务器发送针对目标智能合约的合约购买请求。
2.管理服务器向合约拥有对象发送合约购买请求。合约购买请求中可以携带目标智能合约对应的合约标识。
3.合约拥有对象基于合约购买请求,对目标对象的address、timestamp进行签名,得到token。address表示目标对象的链上地址,timestamp表示目标对象购买的目标智能合约所对应的合约使用权限到期时间,token表示签名得到的授权令牌。
4.合约拥有对象将token和timestamp发送给管理服务器。管理服务器在接收到token和timestamp之后,将timestamp作为目标对象的待验证到期时间,然后将token和timestamp进行存储。
5.目标对象向管理服务器发送通过目标智能合约进行数据上链处理的数据上链处理请求。
6.管理服务器通过合约调用参数调用目标智能合约,以便于目标智能合约根据进行验证操作。合约调用参数包括:token、timestamp等。
7.目标智能合约对授权令牌(token)进行第一验证操作。
8.在第一验证操作通过后,目标智能合约对待验证到期时间(timestamp)进行第二验证操作。
9.在第二验证操作通过后,目标智能合约向管理服务器返回验证通过的信息。除此之外,管理服务器可以将验证通过的信息返回给目标对象。
10.目标智能合约对待处理数据进行上链处理。
上述各个步骤的实现方式请参见前述实施例中的相关描述,此处不再赘述。
需要说明的是,上述合约购买请求可以是针对多个智能合约的购买请求,相应的,合约购买请求中可以携带多个智能合约各自对应的合约标识。同样的,通过合约调用参数调用目标智能合约时,合约调用参数也可以包括多个智能合约各自对应的token,以及各个token对应的timestamp,上述方法实现了智能合约的批量处理,提高了处理效率。
请参阅图7,是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。本实施例中所描述的数据处理装置可应用于计算设备中,例如可以应用在上述提及的管理服务器中,该数据处理装置包括:
获取模块701,用于获取目标对象的待处理数据;
上述获取模块701,还用于获取上述目标对象的授权令牌;上述授权令牌是根据上述目标对象的合约使用权限到期时间以及链上地址生成的;
处理模块702,用于根据上述授权令牌确定第一合约调用参数;
数据上链模块703,用于通过上述第一合约调用参数调用目标智能合约,以便于通过上述目标智能合约对上述待处理数据进行上链处理;
其中,上述第一合约调用参数用于触发上述目标智能合约根据上述授权令牌进行验证操作,以在上述验证操作通过后对上述待处理数据进行上链处理。
在一个可能的实现方式中,上述处理模块702,还用于:
获取上述目标对象针对上述目标智能合约的使用权限购买请求;
向上述目标智能合约的合约拥有对象发送第一提示信息;上述第一提示信息用于指示上述合约拥有对象为上述目标对象确定合约使用权限到期时间,并通过上述合约拥有对象的私钥对确定的合约使用权限到期时间、上述目标对象的链上地址进行签名,得到上述目标对象的授权令牌;
接收上述合约拥有对象基于上述第一提示信息返回的上述目标对象的授权令牌以及上述合约使用权限到期时间,并存储上述目标对象的授权令牌以及上述合约使用权限到期时间。
在一个可能的实现方式中,上述根据上述授权令牌确定第一合约调用参数之前,上述处理模块702,还用于:
获取合约使用权限到期时间,并确定上述合约使用权限到期时间与当前时间的间隔时间;
若上述间隔时间大于第一间隔阈值,则触发执行根据上述授权令牌确定第一合约调用参数;
上述处理模块702,还用于:若上述间隔时间小于第二间隔阈值,则向上述目标对象发送第二提示信息,上述第二提示信息用于指示上述目标对象针对上述目标智能合约进行续费处理。
在一个可能的实现方式中,上述处理模块702,还用于:
获取上述待处理数据进行上链处理的计费类型;
若上述计费类型为签约计费类型,则触发执行获取上述目标对象的授权令牌;其中,当确定上述目标对象已经发起了针对上述目标智能合约的使用权限购买请求、且成功获取到响应上述使用权限购买请求反馈的授权令牌时,确定计费类型为签约计费类型;
若上述计费类型为单次计费类型,则按照单次上链规则对上述待处理数据进行上链处理;其中,当确定接收到上述目标对象在单次购买界面上发起针对上述目标智能合约的使用权限的单次购买请求、并得到单次支付令牌时,确定计费类型为单次计费类型。
在一个可能的实现方式中,上述处理模块702,还用于:
向上述目标智能合约的合约拥有对象发送第三提示信息,上述第三提示信息用于指示上述合约拥有对象通过上述合约拥有者对象的私钥生成单次支付令牌;
接收响应上述第三提示信息返回的单次支付令牌;
上述按照单次上链规则对上述待处理数据进行上链处理,包括:根据上述单次支付令牌确定第二合约调用参数;通过上述第二合约调用参数调用上述目标智能合约,以便于通过上述目标智能合约对上述待处理数据进行上链处理;
其中,上述第二合约调用参数用于触发上述目标智能合约根据上述单次支付令牌进行验证操作,以在对上述单次支付令牌进行验证操作通过后对上述待处理数据进行上链处理。
在一个可能的实现方式中,上述处理模块702,还用于:
获取通过上述目标智能合约对上述待处理数据进行上链处理所产生的合约调用信息,并根据上述合约调用信息确定调用操作是否合规;
若确定调用操作不合规,则根据上述合约调用信息生成证据存储交易数据,并对上述证据存储交易数据进行上链处理;
根据上述合约调用信息调整已存储的上述目标对象的授权令牌;
向上述目标对象发送第四提示信息,上述第四提示信息用于提示上述目标对象的合约使用权限到期时间被调整。
在一个可能的实现方式中,上述处理模块702,还用于:
获取上述待处理数据的存储指示信息;
若上述存储指示信息指示的存储规则为对上述待处理数据进行上链处理,则触发执行获取上述目标对象的授权令牌;
其中,在确定了上述待处理数据之后,允许通过在显示的规则选择界面上为上述待处理数据选择存储规则来生成存储指示信息,以通过生成的存储指示信息来指示存储上述待处理数据。
在一个可能的实现方式中,上述存储指示信息中携带智能合约标识;上述处理模块702在用于获取上述目标对象的授权令牌时,具体用于:
确定上述智能合约标识对应的智能合约,将确定的智能合约作为目标智能合约;
从为上述目标对象存储的授权令牌中获取与上述目标智能合约相匹配的授权令牌;
其中,上述智能合约标识是通过在上述合约选择界面上的选择操作来选择确定的,上述合约选择界面上显示有能够支持对上述待处理数据进行上链存储的智能合约标识。
请参阅图8,是本申请实施例提供的另一种基于区块链的数据处理装置的结构示意图。本实施例中所描述的数据处理装置可应用于上述提及的管理服务器中,该数据处理装置包括:
获取模块801,用于获取携带有待处理数据以及目标合约调用参数的交易数据;上述目标合约调用参数包括针对目标智能合约的待验证令牌,上述待验证令牌用于进行是否能够调用上述目标智能合约存储上述交易数据的验证;
共识处理模块802,用于根据上述交易数据生成待上链的区块数据,并对上述待上链的区块数据进行共识处理;其中,在上述共识处理的过程中,包括通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作的步骤,并且是在得到的上链验证结果为验证通过时,确定对上述交易数据的验证通过;
上链模块803,用于若确定共识处理结果为共识通过,则对上述区块数据进行上链。
在一个可能的实现方式中,上述待验证令牌为授权令牌,上述目标合约调用参数为第一合约调用参数,上述授权令牌是根据目标对象针对上述目标智能合约的合约使用权限到期时间、及上述目标对象的链上地址生成的,上述第一合约调用参数中还包括:待验证到期时间;
上述共识处理模块802,在用于通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作时,具体用于:
对上述授权令牌进行第一验证操作,得到第一验证结果;
在上述第一验证结果指示上述第一验证操作通过后,对上述待验证到期时间进行第二验证操作,得到第二验证结果;
在上述第二验证结果指示上述第二验证操作通过后,确定上链验证结果为验证通过。
在一个可能的实现方式中,上述共识处理模块802,在用于对上述授权令牌进行第一验证操作,得到第一验证结果时,具体用于:
将上述目标对象的链上地址作为待验证链上地址;
根据上述待验证到期时间、上述待验证链上地址以及上述授权令牌,推导确定待验证公钥;
根据上述待验证公钥推导确定合约拥有对象的链上地址;
将推导确定的合约拥有对象的链上地址与目标智能合约中存储的合约拥有对象的链上地址进行比对;
根据比对结果确定第一验证结果;其中,若上述比对结果为一致,则上述第一验证结果为验证通过,若上述比对结果为不一致,则上述第一验证结果为验证失败。
在一个可能的实现方式中,上述共识处理模块802,在用于在上述第一验证结果指示上述第一验证操作通过后,对上述待验证到期时间进行第二验证操作,得到第二验证结果时,具体用于:
在上述第一验证结果指示上述第一验证操作通过后,根据上述待验证公钥确定上述授权令牌中的合约使用权限到期时间;
将确定的上述授权令牌中的合约使用权限到期时间与上述待验证到期时间进行时间一致性比对;
若时间一致性比对结果为一致,则根据上述待验证到期时间以及当前时间,确定时限验证结果;
根据上述时限验证结果,确定第二验证结果。
在一个可能的实现方式中,上述待验证令牌为单次支付令牌,上述目标合约调用参数为第二合约调用参数,上述单次支付令牌是上述待处理数据的计费类型为单次计费类型时,由上述目标智能合约的合约拥有对象通过上述合约拥有者对象的私钥生成的;上述共识处理模块802,在用于通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作时,具体用于:
根据公钥对上述单次支付令牌进行第三验证操作,得到第三验证结果;
在上述第三验证结果指示上述第三验证操作通过后,确定上链验证结果为验证通过。
需要说明的是,本申请实施例的数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例提供的基于区块链的数据处理装置可以采用软件方式实现,基于区块链的数据处理装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括处理单元和通信单元;其中,处理单元和通信单元用于实现本申请实施例提供的基于区块链的数据处理方法。
在其它可行的实施例中,本申请实施例提供的基于区块链的数据处理装置也可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的基于区块链的数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于区块链的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
请参阅图9,是本申请实施例提供的一种计算设备的结构示意图。本实施例中所描述的计算设备,包括:处理器901、存储器902以及网络接口903。上述处理器901、存储器902以及网络接口903之间可以交互数据。例如,通过一条或多条通信总线进行连接,通信总线用于实现这些组件之间的通信连接。
上述处理器901可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器902可以包括只读存储器和随机存取存储器,并向处理器901提供程序指令和数据。存储器902可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器902也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器902还可以包括上述种类的存储器的组合。在可行的实施例中,该计算设备可应用于一实施例。上述处理器901调用上述程序指令时用于执行如下操作:
获取目标对象的待处理数据;
获取上述目标对象的授权令牌;上述授权令牌是根据上述目标对象的合约使用权限到期时间以及链上地址生成的;
根据上述授权令牌确定第一合约调用参数;
通过上述第一合约调用参数调用目标智能合约,以便于通过上述目标智能合约对上述待处理数据进行上链处理;
其中,上述第一合约调用参数用于触发上述目标智能合约根据上述授权令牌进行验证操作,以在上述验证操作通过后对上述待处理数据进行上链处理。
在一个可能的实现方式中,上述处理器901,还用于:
获取上述目标对象针对上述目标智能合约的使用权限购买请求;
向上述目标智能合约的合约拥有对象发送第一提示信息;上述第一提示信息用于指示上述合约拥有对象为上述目标对象确定合约使用权限到期时间,并通过上述合约拥有对象的私钥对确定的合约使用权限到期时间、上述目标对象的链上地址进行签名,得到上述目标对象的授权令牌;
接收上述合约拥有对象基于上述第一提示信息返回的上述目标对象的授权令牌以及上述合约使用权限到期时间,并存储上述目标对象的授权令牌以及上述合约使用权限到期时间。
在一个可能的实现方式中,上述根据上述授权令牌确定第一合约调用参数之前,上述处理器901,还用于:
获取合约使用权限到期时间,并确定上述合约使用权限到期时间与当前时间的间隔时间;
若上述间隔时间大于第一间隔阈值,则触发执行根据上述授权令牌确定第一合约调用参数;
上述处理器901,还用于:若上述间隔时间小于第二间隔阈值,则向上述目标对象发送第二提示信息,上述第二提示信息用于指示上述目标对象针对上述目标智能合约进行续费处理。
在一个可能的实现方式中,上述处理器901,还用于:
获取上述待处理数据进行上链处理的计费类型;
若上述计费类型为签约计费类型,则触发执行获取上述目标对象的授权令牌;其中,当确定上述目标对象已经发起了针对上述目标智能合约的使用权限购买请求、且成功获取到响应上述使用权限购买请求反馈的授权令牌时,确定计费类型为签约计费类型;
若上述计费类型为单次计费类型,则按照单次上链规则对上述待处理数据进行上链处理;其中,当确定接收到上述目标对象在单次购买界面上发起针对上述目标智能合约的使用权限的单次购买请求、并得到单次支付令牌时,确定计费类型为单次计费类型。
在一个可能的实现方式中,上述处理器901,还用于:
向上述目标智能合约的合约拥有对象发送第三提示信息,上述第三提示信息用于指示上述合约拥有对象通过上述合约拥有者对象的私钥生成单次支付令牌;
接收响应上述第三提示信息返回的单次支付令牌;
上述按照单次上链规则对上述待处理数据进行上链处理,包括:根据上述单次支付令牌确定第二合约调用参数;通过上述第二合约调用参数调用上述目标智能合约,以便于通过上述目标智能合约对上述待处理数据进行上链处理;
其中,上述第二合约调用参数用于触发上述目标智能合约根据上述单次支付令牌进行验证操作,以在对上述单次支付令牌进行验证操作通过后对上述待处理数据进行上链处理。
在一个可能的实现方式中,上述处理器901,还用于:
获取通过上述目标智能合约对上述待处理数据进行上链处理所产生的合约调用信息,并根据上述合约调用信息确定调用操作是否合规;
若确定调用操作不合规,则根据上述合约调用信息生成证据存储交易数据,并对上述证据存储交易数据进行上链处理;
根据上述合约调用信息调整已存储的上述目标对象的授权令牌;
向上述目标对象发送第四提示信息,上述第四提示信息用于提示上述目标对象的合约使用权限到期时间被调整。
在一个可能的实现方式中,上述处理器901,还用于:
获取上述待处理数据的存储指示信息;
若上述存储指示信息指示的存储规则为对上述待处理数据进行上链处理,则触发执行获取上述目标对象的授权令牌;
其中,在确定了上述待处理数据之后,允许通过在显示的规则选择界面上为上述待处理数据选择存储规则来生成存储指示信息,以通过生成的存储指示信息来指示存储上述待处理数据。
在一个可能的实现方式中,上述存储指示信息中携带智能合约标识;上述处理器901在用于获取上述目标对象的授权令牌时,具体用于:
确定上述智能合约标识对应的智能合约,将确定的智能合约作为目标智能合约;
从为上述目标对象存储的授权令牌中获取与上述目标智能合约相匹配的授权令牌;
其中,上述智能合约标识是通过在上述合约选择界面上的选择操作来选择确定的,上述合约选择界面上显示有能够支持对上述待处理数据进行上链存储的智能合约标识。
在可行的实施例中,该计算设备可应用于另一实施例。上述处理器901调用上述程序指令时用于执行如下操作:
获取携带有待处理数据以及目标合约调用参数的交易数据;上述目标合约调用参数包括针对目标智能合约的待验证令牌,上述待验证令牌用于进行是否能够调用上述目标智能合约存储上述交易数据的验证;
根据上述交易数据生成待上链的区块数据,并对上述待上链的区块数据进行共识处理;其中,在上述共识处理的过程中,包括通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作的步骤,并且是在得到的上链验证结果为验证通过时,确定对上述交易数据的验证通过;
若确定共识处理结果为共识通过,则对上述区块数据进行上链。
在一个可能的实现方式中,上述待验证令牌为授权令牌,上述目标合约调用参数为第一合约调用参数,上述授权令牌是根据目标对象针对上述目标智能合约的合约使用权限到期时间、及上述目标对象的链上地址生成的,上述第一合约调用参数中还包括:待验证到期时间;
上述处理器901,在用于通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作时,具体用于:
对上述授权令牌进行第一验证操作,得到第一验证结果;
在上述第一验证结果指示上述第一验证操作通过后,对上述待验证到期时间进行第二验证操作,得到第二验证结果;
在上述第二验证结果指示上述第二验证操作通过后,确定上链验证结果为验证通过。
在一个可能的实现方式中,上述处理器901,在用于对上述授权令牌进行第一验证操作,得到第一验证结果时,具体用于:
将上述目标对象的链上地址作为待验证链上地址;
根据上述待验证到期时间、上述待验证链上地址以及上述授权令牌,推导确定待验证公钥;
根据上述待验证公钥推导确定合约拥有对象的链上地址;
将推导确定的合约拥有对象的链上地址与目标智能合约中存储的合约拥有对象的链上地址进行比对;
根据比对结果确定第一验证结果;其中,若上述比对结果为一致,则上述第一验证结果为验证通过,若上述比对结果为不一致,则上述第一验证结果为验证失败。
在一个可能的实现方式中,上述处理器901,在用于在上述第一验证结果指示上述第一验证操作通过后,对上述待验证到期时间进行第二验证操作,得到第二验证结果时,具体用于:
在上述第一验证结果指示上述第一验证操作通过后,根据上述待验证公钥确定上述授权令牌中的合约使用权限到期时间;
将确定的上述授权令牌中的合约使用权限到期时间与上述待验证到期时间进行时间一致性比对;
若时间一致性比对结果为一致,则根据上述待验证到期时间以及当前时间,确定时限验证结果;
根据上述时限验证结果,确定第二验证结果。
在一个可能的实现方式中,上述待验证令牌为单次支付令牌,上述目标合约调用参数为第二合约调用参数,上述单次支付令牌是上述待处理数据的计费类型为单次计费类型时,由上述目标智能合约的合约拥有对象通过上述合约拥有者对象的私钥生成的;上述处理器901,在用于通过上述目标合约调用参数调用上述目标智能合约来根据上述待验证令牌进行上链验证操作时,具体用于:
根据公钥对上述单次支付令牌进行第三验证操作,得到第三验证结果;
在上述第三验证结果指示上述第三验证操作通过后,确定上链验证结果为验证通过。
具体实现中,本申请实施例中所描述的处理器901、存储器902以及网络接口903可执行本申请实施例图2、图3或图5提供的数据处理方法的相关实施例中所描述的实现方式,也可执行本申请实施例图7或图8所提供的数据处理装置的相关实施例中所描述的实现方式,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和***,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序执行时可包括如上述实施例中的基于区块链的数据处理方法的部分或全部步骤。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术对象应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术对象也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本申请实施例中所涉及到的“第一”、“第二”等描述仅用于描述目的,而不能理解为指示或者暗示其相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的技术特征可以明示或者隐含的包括至少一个该特征。
本领域普通技术对象可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令存储在计算机可读存储介质中。服务器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该服务器执行上述各方法实施例中所执行的步骤。
以上对本申请实施例所提供的一种基于区块链的数据处理方法、装置、设备以及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术对象,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种基于区块链的数据处理方法,其特征在于,所述方法包括:
获取目标对象的待处理数据;
获取所述目标对象的授权令牌;所述授权令牌是根据所述目标对象的合约使用权限到期时间以及链上地址生成的;
根据所述授权令牌确定第一合约调用参数;
通过所述第一合约调用参数调用目标智能合约,以便于通过所述目标智能合约对所述待处理数据进行上链处理;
其中,所述第一合约调用参数用于触发所述目标智能合约根据所述授权令牌进行验证操作,以在所述验证操作通过后对所述待处理数据进行上链处理。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标对象针对所述目标智能合约的使用权限购买请求;
向所述目标智能合约的合约拥有对象发送第一提示信息;所述第一提示信息用于指示所述合约拥有对象为所述目标对象确定合约使用权限到期时间,并通过所述合约拥有对象的私钥对确定的合约使用权限到期时间、所述目标对象的链上地址进行签名,得到所述目标对象的授权令牌;
接收所述合约拥有对象基于所述第一提示信息返回的所述目标对象的授权令牌以及所述合约使用权限到期时间,并存储所述目标对象的授权令牌以及所述合约使用权限到期时间。
3.如权利要求1所述的方法,其特征在于,所述根据所述授权令牌确定第一合约调用参数之前,所述方法还包括:
获取合约使用权限到期时间,并确定所述合约使用权限到期时间与当前时间的间隔时间;
若所述间隔时间大于第一间隔阈值,则触发执行根据所述授权令牌确定第一合约调用参数;
所述方法还包括:若所述间隔时间小于第二间隔阈值,则向所述目标对象发送第二提示信息,所述第二提示信息用于指示所述目标对象针对所述目标智能合约进行续费处理。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取所述待处理数据进行上链处理的计费类型;
若所述计费类型为签约计费类型,则触发执行获取所述目标对象的授权令牌;其中,当确定所述目标对象已经发起了针对所述目标智能合约的使用权限购买请求、且成功获取到响应所述使用权限购买请求反馈的授权令牌时,确定计费类型为签约计费类型;
若所述计费类型为单次计费类型,则按照单次上链规则对所述待处理数据进行上链处理;其中,当确定接收到所述目标对象在单次购买界面上发起针对所述目标智能合约的使用权限的单次购买请求、并得到单次支付令牌时,确定计费类型为单次计费类型。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
向所述目标智能合约的合约拥有对象发送第三提示信息,所述第三提示信息用于指示所述合约拥有对象通过所述合约拥有者对象的私钥生成单次支付令牌;
接收响应所述第三提示信息返回的单次支付令牌;
所述按照单次上链规则对所述待处理数据进行上链处理,包括:根据所述单次支付令牌确定第二合约调用参数;通过所述第二合约调用参数调用所述目标智能合约,以便于通过所述目标智能合约对所述待处理数据进行上链处理;
其中,所述第二合约调用参数用于触发所述目标智能合约根据所述单次支付令牌进行验证操作,以在对所述单次支付令牌进行验证操作通过后对所述待处理数据进行上链处理。
6.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
获取通过所述目标智能合约对所述待处理数据进行上链处理所产生的合约调用信息,并根据所述合约调用信息确定调用操作是否合规;
若确定调用操作不合规,则根据所述合约调用信息生成证据存储交易数据,并对所述证据存储交易数据进行上链处理;
根据所述合约调用信息调整已存储的所述目标对象的授权令牌;
向所述目标对象发送第四提示信息,所述第四提示信息用于提示所述目标对象的合约使用权限到期时间被调整。
7.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述待处理数据的存储指示信息;
若所述存储指示信息指示的存储规则为对所述待处理数据进行上链处理,则触发执行获取所述目标对象的授权令牌;
其中,在确定了所述待处理数据之后,允许通过在显示的规则选择界面上为所述待处理数据选择存储规则来生成存储指示信息,以通过生成的存储指示信息来指示存储所述待处理数据。
8.如权利要求7所述的方法,其特征在于,所述存储指示信息中携带智能合约标识;所述获取所述目标对象的授权令牌,包括:
确定所述智能合约标识对应的智能合约,将确定的智能合约作为目标智能合约;
从为所述目标对象存储的授权令牌中获取与所述目标智能合约相匹配的授权令牌;
其中,所述智能合约标识是通过在所述合约选择界面上的选择操作来选择确定的,所述合约选择界面上显示有能够支持对所述待处理数据进行上链存储的智能合约标识。
9.一种基于区块链的数据处理方法,其特征在于,所述方法包括:
获取携带有待处理数据以及目标合约调用参数的交易数据;所述目标合约调用参数包括针对目标智能合约的待验证令牌,所述待验证令牌用于进行是否能够调用所述目标智能合约存储所述交易数据的验证;
根据所述交易数据生成待上链的区块数据,并对所述待上链的区块数据进行共识处理;其中,在所述共识处理的过程中,包括通过所述目标合约调用参数调用所述目标智能合约来根据所述待验证令牌进行上链验证操作的步骤,并且是在得到的上链验证结果为验证通过时,确定对所述交易数据的验证通过;
若确定共识处理结果为共识通过,则对所述区块数据进行上链。
10.如权利要求9所述的方法,其特征在于,所述待验证令牌为授权令牌,所述目标合约调用参数为第一合约调用参数,所述授权令牌是根据目标对象针对所述目标智能合约的合约使用权限到期时间、及所述目标对象的链上地址生成的,所述第一合约调用参数中还包括:待验证到期时间;
所述通过所述目标合约调用参数调用所述目标智能合约来根据所述待验证令牌进行上链验证操作,包括:
对所述授权令牌进行第一验证操作,得到第一验证结果;
在所述第一验证结果指示所述第一验证操作通过后,对所述待验证到期时间进行第二验证操作,得到第二验证结果;
在所述第二验证结果指示所述第二验证操作通过后,确定上链验证结果为验证通过。
11.如权利要求10所述的方法,其特征在于,所述对所述授权令牌进行第一验证操作,得到第一验证结果,包括:
将所述目标对象的链上地址作为待验证链上地址;
根据所述待验证到期时间、所述待验证链上地址以及所述授权令牌,推导确定待验证公钥;
根据所述待验证公钥推导确定合约拥有对象的链上地址;
将推导确定的合约拥有对象的链上地址与目标智能合约中存储的合约拥有对象的链上地址进行比对;
根据比对结果确定第一验证结果;其中,若所述比对结果为一致,则所述第一验证结果为验证通过,若所述比对结果为不一致,则所述第一验证结果为验证失败。
12.如权利要求11所述的方法,其特征在于,所述在所述第一验证结果指示所述第一验证操作通过后,对所述待验证到期时间进行第二验证操作,得到第二验证结果,包括:
在所述第一验证结果指示所述第一验证操作通过后,根据所述待验证公钥确定所述授权令牌中的合约使用权限到期时间;
将确定的所述授权令牌中的合约使用权限到期时间与所述待验证到期时间进行时间一致性比对;
若时间一致性比对结果为一致,则根据所述待验证到期时间以及当前时间,确定时限验证结果;
根据所述时限验证结果,确定第二验证结果。
13.如权利要求9所述的方法,其特征在于,所述待验证令牌为单次支付令牌,所述目标合约调用参数为第二合约调用参数,所述单次支付令牌是所述待处理数据的计费类型为单次计费类型时,由所述目标智能合约的合约拥有对象通过所述合约拥有者对象的私钥生成的;所述通过所述目标合约调用参数调用所述目标智能合约来根据所述待验证令牌进行上链验证操作,包括:
根据公钥对所述单次支付令牌进行第三验证操作,得到第三验证结果;
在所述第三验证结果指示所述第三验证操作通过后,确定上链验证结果为验证通过。
14.一种基于区块链的数据处理装置,其特征在于,包括用于实现如权利要求1-8中任一项所述的基于区块链的数据处理方法的模块,或者,包括用于实现如权利要求9-13中任一项所述的基于区块链的数据处理方法的模块。
15.一种计算设备,其特征在于,包括处理器、存储器和网络接口,所述处理器、存储器和网络接口相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,实现如权利要求1-8中任一项所述的基于区块链的数据处理方法,或者,实现如权利要求9-13中任一项所述的基于区块链的数据处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得具有所述处理器的计算设备实现如权利要求1-8中任一项所述的基于区块链的数据处理方法,或者,实现如权利要求9-13中任一项所述的基于区块链的数据处理方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时,实现如权利要求1-8中任一项所述的基于区块链的数据处理方法,或者,实现如权利要求9-13中任一项所述的基于区块链的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311393525.1A CN117390694A (zh) | 2023-10-25 | 2023-10-25 | 基于区块链的数据处理方法、装置及设备、介质、产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311393525.1A CN117390694A (zh) | 2023-10-25 | 2023-10-25 | 基于区块链的数据处理方法、装置及设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117390694A true CN117390694A (zh) | 2024-01-12 |
Family
ID=89437014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311393525.1A Pending CN117390694A (zh) | 2023-10-25 | 2023-10-25 | 基于区块链的数据处理方法、装置及设备、介质、产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117390694A (zh) |
-
2023
- 2023-10-25 CN CN202311393525.1A patent/CN117390694A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376504B (zh) | 一种基于区块链技术的图片隐私保护方法 | |
CN109274652B (zh) | 身份信息验证***、方法及装置及计算机存储介质 | |
TW202018571A (zh) | 基於區塊鏈的資料存證方法及裝置、電子設備 | |
CN113537984A (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN111027028A (zh) | 基于智能合约的版权数据处理方法以及装置 | |
CN111444273B (zh) | 一种基于区块链的数据授权方法以及装置 | |
CN111538784A (zh) | 一种基于区块链的数字资产交易方法、装置及存储介质 | |
CN111314172B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN111414434B (zh) | 基于区块链的数据交易管理网络、交易设备和存储介质 | |
CN109861996B (zh) | 基于区块链的关系证明方法、装置、设备及存储介质 | |
CN111125778B (zh) | 一种版权交易信息的处理方法及装置 | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN110661779B (zh) | 基于区块链网络的电子证件管理方法、***、设备及介质 | |
EP4092984A1 (en) | Data processing method and apparatus, device and medium | |
CN110708162B (zh) | 资源的获取方法、装置、计算机可读介质及电子设备 | |
CN109992976A (zh) | 访问凭证验证方法、装置、计算机设备及存储介质 | |
CN110674531A (zh) | 基于区块链的居住信息管理方法、装置、服务器及介质 | |
CN110599311A (zh) | 资源处理方法、装置、电子设备及存储介质 | |
CN111274597B (zh) | 一种数据处理方法以及设备 | |
CN110941840B (zh) | 一种数据处理方法、***及终端 | |
CN110347750B (zh) | 基于区块链的数据处理方法和装置 | |
CN110766403A (zh) | 基于区块链的数据处理装置、方法及存储介质 | |
CN114124515B (zh) | 标书传输方法、密钥管理方法、用户验证方法及对应装置 | |
CN117390694A (zh) | 基于区块链的数据处理方法、装置及设备、介质、产品 | |
CN112163917A (zh) | 基于区块链的票据处理方法、装置、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |