CN116467062A - 一种基于区块链的数据处理方法、设备以及可读存储介质 - Google Patents
一种基于区块链的数据处理方法、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN116467062A CN116467062A CN202210028536.9A CN202210028536A CN116467062A CN 116467062 A CN116467062 A CN 116467062A CN 202210028536 A CN202210028536 A CN 202210028536A CN 116467062 A CN116467062 A CN 116467062A
- Authority
- CN
- China
- Prior art keywords
- resource
- identifier
- ticket
- attribute
- virtual
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 136
- 238000012546 transfer Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 abstract description 14
- 238000012545 processing Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/126—Applying verification of the received information the source of the received data
-
- 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/321—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 a third party or a trusted authority
- H04L9/3213—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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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
-
- 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)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种基于区块链的数据处理方法、设备以及可读存储介质,该方法包括:根据资源领取请求确定权证标识;基于通用回调函数,在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,根据M个虚拟资源的资源属性确定权证标识对应的权证属性;若权证属性为第一权证属性,则确定用于唯一标识目标虚拟资源的目标索引标识,根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;若权证属性为第二权证属性,则根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。采用本申请,可以提高智能合约的适用性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据处理方法、设备以及可读存储介质。
背景技术
区块链技术由于其去中心化、无法篡改的特性,能够为各种数字物品以及实体物品,提供以具有唯一特性的虚拟资源为权证类型的所有权证明,并以分布式等方式存储和分发。
现有的智能合约,限定每个链下物品只能在区块链上发行一个虚拟资源,但在实际生活中,较多链下物品需要发行多个虚拟资源(即多个所有权),例如开发者设计出一款游戏中的装备1,欲发行100份该装备,且想对该100份装备1的所有权进行上链处理,明显地,现有的智能合约无法对装备1的100份
所有权进行上链处理,即现有的智能合约适用性较低。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、设备以及可读存储介质,可以提高智能合约的适用性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
获取资源领取请求,根据资源领取请求确定权证标识;资源领取请求包括领取对象标识以及发行对象标识;
根据资源领取请求,调用智能合约中的通用回调函数,基于通用回调函数,在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,根据M个虚拟资源的资源属性确定权证标识对应的权证属性;发行对象标识持有M个虚拟资源中的目标虚拟资源;M为正整数;
若权证属性为第一权证属性,则根据通用回调函数,确定用于唯一标识目标虚拟资源的目标索引标识,根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;
若权证属性为第二权证属性,则根据通用回调函数,获取通用索引标识,根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
第一确定模块,用于获取资源领取请求,根据资源领取请求确定权证标识;资源领取请求包括领取对象标识以及发行对象标识;
第二确定模块,用于根据资源领取请求,调用智能合约中的通用回调函数,基于通用回调函数,在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,根据M个虚拟资源的资源属性确定权证标识对应的权证属性;发行对象标识持有M个虚拟资源中的目标虚拟资源;M为正整数;
第三确定模块,用于若权证属性为第一权证属性,则根据通用回调函数,确定用于唯一标识目标虚拟资源的目标索引标识,根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;
第三确定模块,还用于若权证属性为第二权证属性,则根据通用回调函数,获取通用索引标识,根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。
其中,第一确定模块,包括:
第一获取单元,用于获取由领取对象标识所发起的资源领取请求;
第二获取单元,用于若资源领取请求包含物品标识,则获取与物品标识相关联的权证标识;M个虚拟资源用于表征具有物品标识的物品的权证;
第三获取单元,用于若资源领取请求中不包括物品标识,则获取发行对象标识所持有的权证标识集合,从权证标识集合中获取权证标识。
其中,资源领取请求还包括资源领取数量;
第二确定模块,包括:
权限检验单元,用于检验领取对象标识针对权证标识的领取权限;
数量对比单元,用于若领取权限为允许领取权限,则将资源领取数量与第一数量阈值进行对比;允许领取权限用于表征领取对象标识未持有具有权证标识的虚拟资源;
函数调用单元,用于若资源领取数量小于第一数量阈值,则调用智能合约中的通用回调函数。
其中,基于区块链的数据处理装置,还包括:
第一获取模块,用于在区块链中,获取发行对象标识所持有的均具有权证标识的N个虚拟资源;N个虚拟资源属于M个虚拟资源;N为正整数;
第一获取模块,还用于若N小于第二数量阈值,则返回领取失败信息至领取对象标识,且发送资源领取结束信息至发行对象标识;
第一获取模块,还用于若N等于或大于第二数量阈值,则从N个虚拟资源中获取用于转移至领取对象标识的目标虚拟资源;
则第三确定模块,具体用于若N等于或大于第二数量阈值,则根据通用回调函数,将N确定为用于唯一标识目标虚拟资源的目标索引标识。
其中,第二确定模块,包括:
第一确定单元,用于若M个虚拟资源的资源属性为第一资源属性,则确定权证标识对应的权证属性为第一权证属性;第一资源属性用于表征M等于或大于2,且M个虚拟资源均具有唯一标识特性;
第二确定单元,用于若M个虚拟资源的的资源属性为第二资源属性或第三资源属性,则确定权证标识对应的权证属性为第二权证属性;第二资源属性用于表征M等于或大于2,且M个虚拟资源具有相同标识特性;第三资源属性用于表征M等于1。
其中,基于区块链的数据处理装置,还包括:
第二获取模块,用于获取第一业务节点发送的资源发行请求;资源发行请求包括资源详情信息,资源详情信息包括第一业务节点对应的对象标识以及待发行虚拟资源;
第二获取模块,还用于获取包括发行对象标识的发行对象标识集合,将发行对象标识集合中的对象标识与第一业务节点对应的对象标识进行匹配;
第四确定模块,用于若发行对象标识集合中存在与第一业务节点对应的对象标识相同的对象标识,则根据待发行虚拟资源的资源属性,确定第一业务节点的资源发行权限;
第四确定模块,还用于当资源发行权限为资源允许发行权限时,根据资源详情信息,执行智能合约中的通用发行函数;
第四确定模块,还用于基于通用发行函数,将待发行虚拟资源发行至第一业务节点对应的对象标识。
其中,第四确定模块,包括:
第四获取单元,用于获取资源详情信息中的针对待发行虚拟资源的待发行总数量;
第三确定单元,用于若待发行虚拟资源的资源属性为目标资源属性,且待发行总数量为至少两个,则确定第一业务节点的资源发行权限为资源允许发行权限;目标资源属性包括第一资源属性或第二资源属性;
第四确定单元,用于若待发行虚拟资源的资源属性为第三资源属性,且待发行总数量为一个,则确定资源发行权限为资源允许发行权限。
其中,第四确定模块,包括:
标识生成单元,用于基于第一业务节点对应的对象标识、待发行虚拟资源对应的待发行物品标识以及待发行总数量,生成待发行虚拟资源的待发行权证标识;
函数执行单元,用于根据待发行权证标识、第一业务节点对应的对象标识、待发行虚拟资源的资源属性以及待发行总数量,执行智能合约中的通用发行函数;
则第四确定模块,包括:
资源发行单元,用于基于通用发行函数,将发行数量为待发行总数量且携带待发行权证标识的待发行虚拟资源,发行至第一业务节点对应的对象标识。
其中,基于区块链的数据处理装置,还包括:
第二获取模块,还用于获取第二业务节点发送的资源转移请求;资源转移请求包括受让对象标识以及资源标识;
函数调用模块,用于根据资源转移请求,调用智能合约中的通用转移函数;
第三获取模块,用于若资源标识包括目标索引标识,则通过通用转移函数,从区块链中获取与目标索引标识相关联的第一目标区块;
第三获取模块,还用于从第一目标区块中,获取与目标索引标识相关联的领取对象标识,若领取对象标识与第二业务节点对应的对象标识相同,则将领取对象标识所持有的目标虚拟资源,转移至受让对象标识。
其中,第三获取模块,还用于若资源标识包括通用索引标识,则通过通用转移函数,从区块链中获取与通用索引标识相关联的A个第二目标区块;A为正整数,且A小于或等于M;
第三获取模块,还用于分别从A个第二目标区块中,获取与通用索引标识相关联的待验证领取对象标识;每个第二目标区块分别包含不同的待验证领取对象标识;
第三获取模块,还用于若A个待验证领取对象标识中存在与第二业务节点对应的对象标识相同的待验证对象标识,则将与第二业务节点对应的对象标识相同的待验证对象标识所持有的目标虚拟资源,转移至受让对象标识。
其中,基于区块链的数据处理装置,还包括:
第二获取模块,还用于获取第三业务节点发送的对象注册请求;对象注册请求包括第三业务节点对应的对象标识、第三业务节点对应的标识地址以及对象类型;
函数调用模块,还用于根据对象注册请求,调用智能合约中的通用注册函数;
第五确定模块,用于基于通用注册函数识别对象类型,若对象类型为发行对象类型,则确定第三业务节点对应的对象标识为发行对象标识,对发行对象标识以及第三业务节点对应的标识地址关联存储至区块链中;
第五确定模块,还用于若对象类型为领取对象类型,则确定第三业务节点对应的对象标识为领取对象标识,对领取对象标识以及第三业务节点对应的标识地址关联存储至区块链中。
其中,基于区块链的数据处理装置,还包括:
第二获取模块,还用于获取查询对象标识发送的资源查询请求;资源查询请求包括资源标识;
函数调用模块,还用于根据资源查询请求,调用智能合约中的通用资源查询函数;
第五确定模块,还用于基于通用资源查询函数,确定查询对象标识的资源查询权限;
信息返回模块,用于若资源查询权限为资源允许查询权限,则返回针对目标虚拟资源的资源流转信息至查询对象标识;资源允许查询权限用于表明查询对象标识为领取对象标识或区块链中的共识节点对应的对象标识。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,区块链节点可以根据资源领取请求确定权证标识;进一步,基于通用回调函数,可以在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,故可以根据M个虚拟资源的资源属性确定权证标识对应的权证属性;进一步,若权证属性为第一权证属性,则根据通用回调函数,可以确定用于唯一标识目标虚拟资源的目标索引标识,进而可以根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;此外,若权证属性为第二权证属性,则根据通用回调函数,可以获取通用索引标识,进而可以根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识,其中,M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。上述可知,针对不同的资源属性,本申请实施例可以确定不同的权证属性(如第一权证属性以及第二权证属性),故针对资源属性不同的虚拟资源,可以生成其对应的索引标识(如目标索引标识或通用索引标识),明显地,本申请实施例可以在一个智能合约中,对资源属性互不相同的虚拟资源进行分发处理,故可以实现一个智能合约与多种资源属性互不相同的虚拟资源的互通,从而可以提高智能合约的适用性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图3是本申请实施例提供的一种数据处理的场景示意图;
图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图5是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图7是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图9是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对部分名词进行以下简单解释:
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、区块链节点:区块链网络将节点区分为共识节点(也可以称作核心节点)以及同步节点(可以包括数据节点以及轻节点)。其中,共识节点负责区块链全网的共识业务;同步节点负责同步共识节点的账本信息,即同步最新的区块数据。无论是共识节点还是同步节点,其内部构造都包括网络通信组件,因为区块链网络本质是一个点对点(Peer to Peer,P2P)网络,需通过P2P组件与区块链网络中的其他节点进行通信。区块链网络中的资源和服务都分散在各个节点上,信息的传输和服务的实现都直接在节点之间进行,无需中间环节或中心化的服务器(第三方)介入。
3、公钥(public key)与私钥(private key):公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
4、区块(block):是在区块链网络上承载交易数据的数据包,是一种被标记上时间戳和前继区块对应的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易。区块包括区块头(Block Header)以及区块体(Block Body),区块头可以记录当前区块的元信息,包含当前版本号、前继区块对应的哈希值、时间戳、随机数、默克尔树根(MerkleRoot)的哈希值等数据。区块体可以记录一段时间内所生成的详细数据,包括当前区块经过验证的、区块创建过程中生成的所有交易记录或是其他信息,可以理解为账本的一种表现形式。
5、哈希值:也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。在区块链中,每个区块(除了初始区块)都包含前继区块的哈希值,前继区块被称为当前区块的父区块。哈希值是区块链技术中的潜力核心基础和最重要的方面,它保留了记录和查看数据的真实性,以及区块链作为一个整体的完整性。
6、智能合约(Smart Contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。在区块链系统当中,智能合约(简称合约)是一种区块链各节点可以理解并执行的代码,可以执行任意逻辑并得到结果。在实际应用中,智能合约通过区块链上的交易来管理与试用。每条交易相当于对区块链系统的一个远程过程调用(Remote ProcedureCall,RPC)请求。如果说智能合约相当于可执行程序,区块链就相当于提供运行环境的操作系统。区块链可以包含多个合约,以合约账号(Identity,ID)、标识号或名称来区分。下文叙述的治理共识委员会合约是本申请实施例提供的一个智能合约,其用于管理共识节点,可以包括记录共识节点的节点状态,动态地加入共识节点,剔除异常共识节点等。
请参见图1,图1是本申请实施例提供的一种系统架构示意图。如图1所示,该系统架构可以为区块链网络,其中,区块链网络可以包括共识网络101以及同步网络102;同步网络102中的节点可以称为同步节点,同步节点主要进行业务执行,不参与记账共识,通过身份认证的方式从共识网络101中获得区块数据。共识网络101也可以称作核心网络,共识网络101中的节点可以称为共识节点,共识节点拥有全量数据。其中,共识网络101和同步网络102可以处在不同网络环境下,通常来说,共识网络101处于私有网络中,而同步网络102处于共有网络中,二者通过路由边界进行交互。
可以理解的是,上述共识网络101可以包括一个或者多个共识节点,这里将不对共识节点的数量进行限制。请再参见图1,共识网络101可以包括共识节点1011、共识节点1012、...、共识节点1013。
可以理解的是,上述同步网络102可以包括一个或者多个同步节点,这里将不对同步节点的数量进行限制。请再参见图1,同步网络102可以包括同步节点1021、同步节点1022、同步节点1023、...、同步节点1024以及同步节点1025。
每个节点(包括共识网络101中的共识节点以及同步网络102中的同步节点)在进行正常工作时,可以接收到客户端发送的交易数据,并基于接收到的交易数据生成区块,然后进行区块上链处理。可以理解的是,在本申请的具体实施方式中,涉及到用户信息(例如领取对象标识以及物品标识)等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为了保证各个节点之间的数据互通,每个节点之间可以存在数据连接,例如共识节点1011与共识节点1012之间存在数据连接,共识节点1011与共识节点1013之间存在数据连接,同步节点1021与同步节点1023之间存在数据连接等等。进一步地,共识网络101与同步网络102之间存在数据连接,例如共识节点1011与同步节点1022之间存在数据连接,共识节点1012与同步节点1023之间存在数据连接等等。
可以理解的是,节点之间可以通过上述数据连接进行数据或者区块传输。上述节点之间的数据连接可以基于节点标识,对于区块链网络中的每个节点,均具有与其对应的节点标识,而且上述每个节点均可以存储与自身有相连关系的其他节点的节点标识,以便后续根据其他节点的节点标识,将获取到的数据或生成的区块广播至其他节点,例如共识节点1011可以维护一个节点标识列表,该节点标识列表保存着其他节点的节点名称和节点标识,如表1所示。
表1
其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任意一种能够用于标识区块链网络中节点的信息,表1中仅以IP地址为例进行说明。
假设共识节点1011的节点标识为117.116.156.425,则共识节点1011可以通过节点标识117.114.151.183,向同步节点1021发送数据同步请求,且同步节点1021通过节点标识117.116.156.425,可以知道该数据同步请求是共识节点1011所发送的;同理,同步节点1023可以通过节点标识117.116.156.425,向共识节点1011发送交易数据A,且共识节点1011通过节点标识119.250.485.362,可以知道该交易数据A是同步节点1023所发送的,其他节点之间的数据传输亦如此,故不再一一进行赘述。
可以理解的是,上述的数据连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他连接方式,本申请在此不做限制。
可以理解的是,图1中的区块链网络中的区块链节点包括但不限于终端设备或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。其中,终端设备和服务器可以通过有线或无线方式进行直接或间接地连接,本申请实施例对此不做限制。
进一步地,请参见图2,图2是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。该基于区块链的数据处理方法可以由区块链节点(包括图1中的同步节点和共识节点)执行。如图2所示,该基于区块链的数据处理方法至少可以包括以下步骤S101-步骤S104。
步骤S101,获取资源领取请求,根据资源领取请求确定权证标识;资源领取请求包括领取对象标识以及发行对象标识。
具体的,获取由领取对象标识所发起的资源领取请求;若资源领取请求包含物品标识,则获取与物品标识相关联的权证标识;M个虚拟资源用于表征具有物品标识的物品的权证;若资源领取请求中不包括物品标识,则获取发行对象标识所持有的权证标识集合,从权证标识集合中获取权证标识。
请一并参见图3,图3是本申请实施例提供的一种数据处理的场景示意图。其中,领取对象201a可以表示操作领取节点20a的领取用户,如图3所示,领取节点20a可以显示针对发行方1的物品显示页面204a,物品显示页面204a可以显示3个物品,例如物品1、物品2以及物品3,可以理解的是,本申请实施例为了便于叙述以及理解,示意物品显示页面204a包括3个物品,实际应用时,物品显示页面204a可以显示的物品数量可以为任意数量,本申请实施例不对物品的物品类型进行限定,可以为数字物品,例如视频、音乐,游戏皮肤等,也可以为实体物品,例如一块土地,一栋房屋等,物品类型以及物品数量可以根据实际应用场景进行设定。
本申请实施例可以依据场景生成两种资源领取请求,一种资源领取请求携带物品标识,为了便于叙述,将携带物品标识的资源领取请求称为第一资源领取请求;一种资源领取请求不携带物品标识,为了区分上述的第一资源领取请求,将不携带物品标识的称为第二资源领取请求。具体请参见图3,若领取对象201a在物品显示页面204a中选择物品3,即领取物品3,则领取节点20a可以响应针对选择控件202a的触发操作,生成包括物品标识3、领取对象标识以及发行对象标识的第一资源领取请求,并将该资源领取请求发送至区块链节点20b,其中,物品标识可以为物品的编号以及其他任意一种能够用于唯一标识物品的信息;领取对象标识可以为领取对象201a的账号以及其他任意一种能够用于唯一标识领取对象201a的信息;发行对象标识可以为发行对象(即发行方1)的账号,以及其他任意一种能够用于唯一标识发行对象的信息;需要说明的是,资源领取请求(包括第一资源领取请求以及第二资源领取请求)用于表征领取对象201a申请领取物品(如图3示例的物品3)的所有权,即下文描述的目标虚拟资源。
区块链节点20b获取到第一资源领取请求后,获取第一索引表20c,本申请实施例不限定获取第一索引表20c的方式,区块链节点20b可以从本地数据库中获取第一索引表20c,也可以从区块链中获取第一索引表20c;如图3所示,第一索引表20c可以包括以权证标识所生成的索引键,以及以物品标识所生成的索引值,具体可以包括物品1的物品标识1,以及与物品标识1具有索引关系的权证标识1,物品2的物品标识2,以及与物品标识2具有索引关系的权证标识2,物品标识3以及与物品标识3具有索引关系的权证标识3;上述的权证标识用于表征其对应的链下物品,在区块链网络中的链上产品(表征物品的所有权)的标识。
区块链节点20b可以从第一索引表20c中确定与物品标识3具有索引关系的权证标识3。上述过程描述的是区块链节点20b根据第一资源领取请求确定权证标识的过程,该过程适用于领取对象确定领取的物品。下文将描述区块链节点20b根据第二资源领取请求确定权证标识的过程,该过程适用于领取对象不确定领取的物品,例如领取对象参与发行对象所创建的活动,由发行对象确定分发的物品。
请再参见图3,若领取对象201a触发物品领取控件(如图3所示例的参与活动控件203a),则领取节点20a响应针对物品领取控件的触发操作,生成包括领取对象标识以及发行对象标识的第二资源领取请求,并将该请求发送至区块链节点20b。区块链节点20b获取到第二资源领取请求后,根据该请求获取发行对象标识所持有的权证标识集合20d,如图3所示,权证标识集合20d可以包括物品1对应的权证标识1,物品2对应的权证标识2,以及物品3对应的权证标识3。区块链节点20b从权证标识集合20d中随机权证标识,例如图3所示例的权证标识3。
可以理解的是,区块链节点20b可以包括发行方1对应的发行节点,例如,领取节点20a将资源领取请求发送至发行节点。
可以理解的是,图3中所展示的界面以及控件仅仅是一些可供参考的表现形式,在实际业务场景中,开发人员可以根据产品需求来进行相关设计,本申请实施例对涉及到的界面和控件的具体形式不做限制。
步骤S102,根据资源领取请求,调用智能合约中的通用回调函数,基于通用回调函数,在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,根据M个虚拟资源的资源属性确定权证标识对应的权证属性;发行对象标识持有M个虚拟资源中的目标虚拟资源;M为正整数。
具体的,资源领取请求还包括资源领取数量;检验领取对象标识针对权证标识的领取权限;若领取权限为允许领取权限,则将资源领取数量与第一数量阈值进行对比;允许领取权限用于表征领取对象标识未持有具有权证标识的虚拟资源;若资源领取数量小于第一数量阈值,则调用智能合约中的通用回调函数。
具体的,在区块链中,获取发行对象标识所持有的均具有权证标识的N个虚拟资源;N个虚拟资源属于M个虚拟资源;N为正整数;若N小于第二数量阈值,则返回领取失败信息至领取对象标识,且发送资源领取结束信息至发行对象标识;若N等于或大于第二数量阈值,则从N个虚拟资源中获取用于转移至领取对象标识的目标虚拟资源。
具体的,若M个虚拟资源的资源属性为第一资源属性,则确定权证标识对应的权证属性为第一权证属性;第一资源属性用于表征M等于或大于2,且M个虚拟资源均具有唯一标识特性;若M个虚拟资源的的资源属性为第二资源属性或第三资源属性,则确定权证标识对应的权证属性为第二权证属性;第二资源属性用于表征M等于或大于2,且M个虚拟资源具有相同标识特性;第三资源属性用于表征M等于1。
请一并参见图4,图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图4所示,区块链节点20b确定权证标识之后,会检验领取对象标识针对权证标识的领取权限,结合图3以及图4叙述,区块链节点20b获取领取对象标识对应的已领取资源集合20h,已领取资源集合20h可以包括物品1对应的虚拟资源1,以及虚拟资源x。若x等于3,则区块链节点20b可以确定领取对象标识已领取物品3对应的虚拟资源3,若分发物品时,对所有权要求唯一性,即每个领取对象标识只能领取一个物品的场景下,例如游戏开发者在活动期间免费向游戏玩家赠送一个游戏皮肤,此时,区块链节点20b在确定领取对象标识已领取物品3的情况下,即领取对象标识在区块链网络中持有虚拟资源3,可以向领取节点20a返回物品已领取信息,则领取节点20a可以显示提示页面205a,其中,提示页面205a可以显示物品已领取信息,如图4所示。
若x不等于3,则区块链节点20b可以确定领取对象标识未持有具有权证标识3的虚拟资源3,此时,将资源领取请求中的资源领取数量与第一数量阈值进行对比,其中,第一数量阈值可以根据实际应用进行设定,若资源领取数量等于或大于第一数量阈值,则可以返回数量超额信息至领取节点20a,如图4所示,领取节点20a可以显示提示页面206a,其中,提示页面206a可以显示数量超额提示信息,如“不可领取”。若资源领取数量小于第一数量阈值,则区块链节点20b可以调用智能合约20e中的通用回调函数20f,基于该回调函数20f,生成资源领取交易20g,即图4所示例的交易“从发行对象标识领取z个具有权证标识3的虚拟资源至领取对象标识”,其中,z表示资源领取数量,将资源领取交易20g广播至共识网络,以对该交易进行上链处理。
上述描述的场景是指分发物品时,对所有权要求唯一性,若对所有权不要求唯一性,即一个领取对象标识可以领取多个物品,则领取对象标识可以在区块链网络中持有一个物品的多个虚拟资源(即一个物品的多个所有权),则可以直接调用通用回调函数20f生成资源领取交易,将该交易广播至共识网络中。
若区块链节点20b具有共识权限,即区块链节点20b为共识节点,则可以对上述的资源领取交易进行共识,请一并参见图5,图5是本申请实施例提供的一种基于区块链的数据处理的场景示意图。结合图4以及图5叙述,如图5所示,区块链节点20b执行通用回调函数20f,可以获取发行对象标识对应的第二索引表30b,第二索引表30b可以包括以权证标识所生成的索引键,以发行数量所生成的索引值、以持有数量所生成的索引值,以及以资源属性所生成的索引值。其中,发行数量表示发行对象标识在发行物品时,其对应的虚拟资源的总数量,该虚拟资源可以为一种数字产品,持有数量表示发行对象标识当前所持有的针对权证标识3的虚拟资源的数量,资源属性表示虚拟资源的属性。
在本申请实施例中,可以包括3种资源属性互不相同的虚拟资源,若M等于1,则表示物品有且只有一份,其具有第三资源属性,例如一块土地,其仅有一个虚拟资源(即土地所有权);若M等于或大于2,则表示可以存在多个相同的物品,即可以存在多个虚拟资源,若多个虚拟资源具有相同标识特性,则虚拟资源具有第二资源属性,例如游戏开发者生产10个相同的游戏皮肤,且不对10个相同的游戏皮肤进行标序;若M等于或大于2,且多个虚拟资源具有唯一标识特性,此时多个虚拟资源可以分别具有唯一的序号,则虚拟资源具有第一资源属性,例如游戏开发者生产10个相同的游戏皮肤,且对10个相同的游戏皮肤进行标序,用以区分该10个游戏皮肤,此时,每个游戏皮肤具有唯一的序号。
当权证标识3对应的虚拟资源3具有第一资源属性时,区块链节点20b可以确定权证标识3对应的权证属性为第一权证属性;当虚拟资源3具有第二资源属性或第二资源属性时,可以确定权证标识3具有第二权证属性。
请再参见图5,区块链节点20b在区块链中,获取发行对象标识所持有的均具有权证标识3的N个虚拟资源,将N与第二数量阈值进行对比,其中,第二数量阈值可以根据实际应用场景进行设定,本申请实施例设为1,若N小于第二数量阈值(即1),即N等于0,此时区块链节点20b可以确定发行对象标识未持有权证标识3对应的虚拟资源,也可以理解为,发行对象标识已分发完物品3,故其在区块链网络中未持有物品3的所有权,区块链节点20b可以返回领取失败信息至领取节点20a(登录有领取对象标识的节点),领取节点20a可以显示提示页面207a,该提示页面207a可以包括领取失败信息,如图6所示例的信息“已结束”;此外,区块链节点20b可以发送资源领取结束信息至发行节点(登录有发行对象标识的节点),以提示发行对象该物品已发放完毕。若N等于或大于第二数量阈值且资源属性为第一资源属性,则区块链节点20b可以从N个虚拟资源中,按序获取用于转移至领取对象标识的目标虚拟资源,例如从小至大的顺序获取目标虚拟资源,或从大至小的顺序获取目标虚拟资源。若N等于或大于第二数量阈值且资源属性为第二资源属性,则区块链节点20b可以从N个虚拟资源中,随机获取目标虚拟资源。可以理解的是,上述过程为区块链节点20b对资源领取交易的共识过程。
步骤S103,若权证属性为第一权证属性,则根据通用回调函数,确定用于唯一标识目标虚拟资源的目标索引标识,根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识。
具体的,若N等于或大于第二数量阈值,则根据通用回调函数,将N确定为用于唯一标识目标虚拟资源的目标索引标识。
步骤S104,若权证属性为第二权证属性,则根据通用回调函数,获取通用索引标识,根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。
结合步骤S102以及步骤S104叙述,且结合图3-图5叙述,若权证属性为第一权证属性,且N等于或大于第二数量阈值,则区块链节点20b将N确定为用于唯一标识目标虚拟资源的目标索引标识,可选的,将目标虚拟资源对应的序号作为目标索引标识;进一步,区块链节点20b将权证标识3以及目标索引标识(N),确定为目标虚拟资源的资源标识。若权证属性为第二权证属性,且N等于或大于第二数量阈值,则区块链节点20b将通用索引标识以及权证标识,确定为目标虚拟资源的资源标识,其中,通用索引标识可以根据实际应用场景进行设定,图5中设定为0。上述过程仍属于区块链节点20b对资源领取交易的共识过程。
当资源领取交易共识完成时,即确定资源标识以及目标虚拟资源时,共识网络中的出块节点根据该资源领取交易生成待上链区块,当待上链区块上链成功时,共识网络可以将发行对象标识所持有的目标虚拟资源转移至领取对象标识。
在本申请实施例中,区块链节点可以根据资源领取请求确定权证标识;进一步,基于通用回调函数,可以在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,故可以根据M个虚拟资源的资源属性确定权证标识对应的权证属性;进一步,若权证属性为第一权证属性,则根据通用回调函数,可以确定用于唯一标识目标虚拟资源的目标索引标识,进而可以根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;此外,若权证属性为第二权证属性,则根据通用回调函数,可以获取通用索引标识,进而可以根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识,其中,M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。上述可知,针对不同的资源属性,本申请实施例可以确定不同的权证属性(如第一权证属性以及第二权证属性),故针对资源属性不同的虚拟资源,可以生成其对应的索引标识(如目标索引标识或通用索引标识),明显地,本申请实施例可以在一个智能合约中,对资源属性互不相同的虚拟资源进行分发处理,故可以实现一个智能合约与多种资源属性互不相同的虚拟资源的互通,从而可以提高智能合约的适用性,故可以节省智能合约的开发成本。
请参见图6,图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该基于区块链的数据处理方法可以由区块链节点(包括图1中的同步节点和共识节点)执行。如图6所示,该基于区块链的数据处理方法至少可以包括以下步骤S201-步骤S205。
步骤S201,获取第一业务节点发送的资源发行请求;资源发行请求包括资源详情信息,资源详情信息包括第一业务节点对应的对象标识以及待发行虚拟资源。
具体的,可以理解的是,在区块链网络中的每个发行对象标识所持有的虚拟资源,均需发行对象标识预先申请将虚拟资源发行至自己的对象标识(例如用户账号),请一并参见图7,图7是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图7所示,第一业务节点60a发送资源发行请求至区块链节点60b,其中,资源发行请求用于第一业务节点60a向区块链网络请求将待发行虚拟资源发行至其对应的对象标识,如图7所示例的对象标识60d,资源发行请求携带的数据,可以根据实际应用场景进行设定。
可选的,第一业务节点60a为区块链网络中的同步节点,则第一业务节点60a可以等同于区块链节点60b。
步骤S202,获取包括发行对象标识的发行对象标识集合,将发行对象标识集合中的对象标识与第一业务节点对应的对象标识进行匹配。
具体的,区块链节点60b根据资源发行请求获取包括发行对象标识的发行对象标识集合60c,如图7所示,发行对象标识集合60c可以包括多个发行对象标识,如发行对象标识1115566m、发行对象标识1235476v、...、发行对象标识1hfe42km,本申请实施例以哈希值示意发行对象标识。
进一步,区块链节点60b将发行对象标识集合60c中的对象标识,与第一业务节点对应的对象标识(图7以对象标识60d示意)进行匹配
步骤S203,若发行对象标识集合中存在与第一业务节点对应的对象标识相同的对象标识,则根据待发行虚拟资源的资源属性,确定第一业务节点的资源发行权限。
具体的,获取资源详情信息中的针对待发行虚拟资源的待发行总数量;若待发行虚拟资源的资源属性为目标资源属性,且待发行总数量为至少两个,则确定第一业务节点的资源发行权限为资源允许发行权限;目标资源属性包括第一资源属性或第二资源属性;若待发行虚拟资源的资源属性为第三资源属性,且待发行总数量为一个,则确定资源发行权限为资源允许发行权限。
请再参见图7,若发行对象标识集合60c中不存在与对象标识60d相同的对象标识,即匹配失败,则可以确定对象标识60d不具备发行权限,例如该对象标识不曾注册,或已注册,但注册时,其对象类型为普通对象标识类型(例如领取对象类型),此时,区块链节点60b可以提示第一业务节点60a新增发行对象类型,以发行待发行虚拟资源。
若匹配成功,即发行对象标识集合60c中存在与对象标识60d相同的对象标识,例如发行对象标识1hfe42km与对象标识60d相同,则区块链节点60b将待发行虚拟资源的资源属性(图7示例为资源属性60e),与待发行虚拟资源的待发行总数量(图7示例为M)进行匹配,若资源属性60e为第一资源属性或第二资源属性,但M等于1,此时,区块链节点60b可以确定第一业务节点60a针对待发行虚拟资源的发行信息存在错误,该资源发行请求不符合发行规定,故退回该资源发行请求;同理,若资源属性60e为第三资源属性,但M等于或大于2,此时,区块链节点60b拒绝第一业务节点发送的资源发行请求。
若资源属性60e为第一资源属性或第二资源属性,但M等于或大于2,则区块链节点60b确定第一业务节点60a针对待发行虚拟资源的资源发行权限为资源允许发行权限,同理,若资源属性60e为第三资源属性,但M等于1,可以确定第一业务节点60a针对待发行虚拟资源的资源发行权限为资源允许发行权限。
步骤S204,当资源发行权限为资源允许发行权限时,根据资源详情信息,执行智能合约中的通用发行函数。
具体的,基于第一业务节点对应的对象标识、待发行虚拟资源对应的待发行物品标识以及待发行总数量,生成待发行虚拟资源的待发行权证标识;根据待发行权证标识、第一业务节点对应的对象标识、待发行虚拟资源的资源属性以及待发行总数量,执行智能合约中的通用发行函数。
请再参见图7,当第一业务节点60a针对待发行虚拟资源的资源发行权限为资源允许发行权限时,区块链节点60b将对象标识60d、待发行虚拟资源对应的待发行物品标识(即链下物品对应的标识),以及M组合成待发行虚拟资源的待发行权证标识(图7以权证标识60f示意),可以理解的是,若第一业务节点等于图2中的发行对象标识,且待发行虚拟资源等同于图2中的虚拟资源(图4中的虚拟资源3),则权证标识60f等同于图3中的权证标识3,待发行物品标识等同于图3中物品标识3。
进一步,区块链节点60b根据权证标识60f、对象标识60d、资源属性60e以及M,执行智能合约20e中的通用发行函数60g。
步骤S205,基于通用发行函数,将待发行虚拟资源发行至第一业务节点对应的对象标识。
具体的,基于通用发行函数,将发行数量为待发行总数量且携带待发行权证标识的待发行虚拟资源,发行至第一业务节点对应的对象标识。
请再参见图7,区块链节点60b调用通用发行函数60g,生成资源发行交易60h,如图7所示例的交易“发行M个具有权证标识60f的虚拟资源至对象标识60d”,然后将资源发行交易60h广播至共识网络,以使共识网络中的共识节点对该交易进行共识,并生成包含资源发行交易60h的区块,当该区块上链成功时,对象标识60d持有M个具有权证标识60f的虚拟资源。
上述可知,在本申请实施例中,区块链节点可以在一个智能合约中,对资源属性互不相同的虚拟资源进行发行处理,故可以实现一个智能合约与多种资源属性互不相同的虚拟资源的互通,从而可以提高智能合约的适用性,也可以节省智能合约的开发成本。
请参见图8,图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该基于区块链的数据处理方法可以由区块链节点(包括图1中的同步节点和共识节点)执行。如图8所示,该基于区块链的数据处理方法至少可以包括以下步骤S301-步骤S307。
步骤S301,获取第二业务节点发送的资源转移请求;资源转移请求包括受让对象标识以及资源标识。
具体的,区块链节点获取第二业务节点发送的资源转移请求,则区块链节点可以确定第二业务节点对应的对象标识;其中,资源转移请求用于表征,第二业务节点向区块链网络请求转移其对象标识所持有的具有资源标识的虚拟资源至受让对象标识。
步骤S302,根据资源转移请求,调用智能合约中的通用转移函数。
具体的,区块链节点调用智能合约中的通用转移函数,生成资源转移交易,该资源转移请求包括第二业务节点对应的对象标识、受让对象标识以及资源标识,其具体内容可以根据实际应用场景进行设定。
区块链节点将该资源转移交易广播至共识网络,以使共识网络中的共识节点对资源转移交易进行共识处理。
步骤S303,若资源标识包括目标索引标识,则通过通用转移函数,从区块链中获取与目标索引标识相关联的第一目标区块。
具体的,区块链节点可以具备共识权限,即区块链节点为共识节点,此时,区块链节点可以对资源转移交易进行共识处理。若资源标识包括目标索引标识,或资源标识包括的权证标识对应的权证属性为第一权证属性,则区块链节点可以从区块链中获取与目标索引标识相关联的第一目标区块,其中,第一目标区块是指与目标索引标识相关联且生成时间戳最大的区块。
步骤S304,从第一目标区块中,获取与目标索引标识相关联的领取对象标识,若领取对象标识与第二业务节点对应的对象标识相同,则将领取对象标识所持有的目标虚拟资源,转移至受让对象标识。
具体的,结合上文图2所对应的实施例,区块链节点需要检验第二业务节点所登录的对象标识是否为领取对象标识,因为在上文图2所对应的实施例中,发行对象标识将具有资源标识的目标虚拟资源转移至领取对象标识。区块链节点从第一目标区块中,获取与目标索引标识相关联的领取对象标识,若领取对象标识与第二业务节点对应的对象标识相同,则将领取对象标识所持有的目标虚拟资源,转移至受让对象标识。
步骤S305,若资源标识包括通用索引标识,则通过通用转移函数,从区块链中获取与通用索引标识相关联的A个第二目标区块;A为正整数,且A小于或等于M。
步骤S306,分别从A个第二目标区块中,获取与通用索引标识相关联的待验证领取对象标识;每个第二目标区块分别包含不同的待验证领取对象标识。
步骤S307,若A个待验证领取对象标识中存在与第二业务节点对应的对象标识相同的待验证对象标识,则将与第二业务节点对应的对象标识相同的待验证对象标识所持有的目标虚拟资源,转移至受让对象标识。
结合步骤S305-步骤S307叙述,若资源标识包括通用索引标识,或资源标识包括的权证标识对应的权证属性为第二权证属性,则上文图2所对应的实施例中的M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识,故具有相应的资源标识,所以区块链节点通过通用转移函数,从区块链中可以获取与通用索引标识相关联的A个第二目标区块,其中,A等于已发生转移的虚拟资源的数量,A个第二目标区块分别包含的持有通用索引标识的待验证对象标识均不相同,每个第二目标区块所包含的待验证对象标识,为该区块包含的虚拟资源对应的转移关系中发生时间戳为最小时间戳的转移关系中的接收虚拟资源的对象标识;例如一个第二目标区块包含第一待验证对象标识以及第一待验证对象标识所持有的目标虚拟资源,又一个第二目标区块包含第二待验证对象标识以及第二待验证对象标识所持有的目标虚拟资源,需要说明的是,若已发生转移的虚拟资源包括第一虚拟资源,第一虚拟资源先从发行对象标识转移至第一对象标识,后续第一虚拟资源从第一对象标识转移至第二对象标识,后续该第一虚拟资源从第二对象标识转移至第三对象标识,则区块链中的第二目标区块中所记录的是第三对象标识(待验证对象标识)持有第一虚拟资源。
进一步,区块链节点分别从A个第二目标区块中,获取与通用索引标识相关联的待验证领取对象标识,若A个待验证领取对象标识中存在与第二业务节点对应的对象标识相同的待验证对象标识,则将与第二业务节点对应的对象标识相同的待验证对象标识所持有的目标虚拟资源,转移至受让对象标识。若A个待验证领取对象标识中,不存在与第二业务节点对应的对象标识相同的待验证对象标识,则区块链节点可以确定该第一业务节点所对应的对象标识未持有该目标虚拟资源。
上述可知,在本申请实施例中,区块链节点可以在一个智能合约中,对资源属性互不相同的虚拟资源进行转移处理,故可以实现一个智能合约与多种资源属性互不相同的虚拟资源的互通,从而可以提高智能合约的适用性。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该数据处理方法可以由管理节点、发行节点以领取节点共同执行,管理节点、发行节点以领取节点均可以为图1中的区块链节点。如图9所示,该数据同步过程包括如下步骤。
步骤S1,调用注册接口注册对象标识,并标明对象类型。
具体的,管理节点获取第三业务节点发送的对象注册请求;对象注册请求包括第三业务节点对应的对象标识、第三业务节点对应的标识地址以及对象类型;根据对象注册请求,调用智能合约中的通用注册函数;基于通用注册函数识别对象类型,若对象类型为发行对象类型,则确定第三业务节点对应的对象标识为发行对象标识,对发行对象标识以及第三业务节点对应的标识地址关联存储至区块链中;若对象类型为领取对象类型,则确定第三业务节点对应的对象标识为领取对象标识,对领取对象标识以及第三业务节点对应的标识地址关联存储至区块链中。
本申请实施例中的节点可以分为3类,即管理节点、发行节点以及领取节点,管理节点具有注册对象的权限,管理节点可以调用区块链上智能合约的注册(Register-User)接口,即调用上述的通用注册函数,对发行对象和领取对象进行链上对象注册,并且标明注册对象的对象类型,对象类型可以包括发行对象类型以及领取对象类型。上述过程可以通过表2中的代码实现,表2是本申请实施例提供的一种管理节点注册对象的代码示意表。
表2
可以理解的是,实际应用场景中,一个对象标识既可以发行虚拟资源,也可以领取其他对象标识所发行的虚拟资源。
步骤S2,审核待发行虚拟资源。
具体的,发行节点(登录有发行对象标识的节点)向管理节点提交需要发行的待发行虚拟资源,管理节点对发行的资产进行审核,检查发行的资产是否符合发行的要求。
步骤S3,调用发行接口,向发行对象标识发行虚拟资源。
具体的,管理节点确认待发行虚拟资源符合监管的要求,则管理节点调用智能合约中的发行(issue)接口,即调用通用发行函数,传入发行资产的发行对象标识,权证标识(tokenID),发行资产数量,为发行对象标识发行具有权证标识的虚拟资源。上述过程可以通过表3中的代码实现,表3是本申请实施例提供的一种管理节点发行虚拟资源至发行对象标识的代码示意表。
表3
步骤S4,领取虚拟资源。
具体的,领取节点(登录有领取对象标识的节点)发起资源领取请求,向发行节点发送该请求。
步骤S5,调用回调接口,向领取对象标识发放虚拟资源。
具体的,发行节点接收到领取节点发送的资源领取请求,对领取节点的节点身份进行确认,确认其具有允许领取权限后,发行节点调用智能合约回调(receive)接口,即调用通用领取函数,该步骤的详细描述请参见上文图2所对应的实施例中的描述,该过程可以通过表4中的代码实现,表4是本申请实施例提供的一种领取节点分发虚拟资源至领取对象标识的代码示意表。
表4
在本申请实施例中,规定tokenID和资源标识(assetID)的格式如下:
tokenID=发行对象标识+split_char(分割标识)+物品标识+split_char+amount
assetID=发行对象标识+split_char+物品标识+split_char+amount+split_char+index
步骤S6,调用转移接口,转移虚拟资源。
具体的,领取对象标识拥有虚拟资源之后,领取对象可以对拥有的虚拟资源调用转移(transfer)接口进行资产的转移,其具体描述请参见上文图6所对应的实施例中的描述,该过程可以通过表5中的代码实现,表5是本申请实施例提供的一种转移虚拟资源的代码示意表。
表5
步骤S7、S8以及S9,查询虚拟资源。
具体的,获取查询对象标识发送的资源查询请求;资源查询请求包括资源标识;根据资源查询请求,调用智能合约中的通用资源查询函数;基于通用资源查询函数,确定查询对象标识的资源查询权限;若资源查询权限为资源允许查询权限,则返回针对目标虚拟资源的资源流转信息至查询对象标识;资源允许查询权限用于表明查询对象标识为领取对象标识或区块链中的共识节点对应的对象标识。
管理节点、发行节点、领取节点均可以对区块链上的虚拟资源信息进行查询,该过程可以通过表6中的代码实现,表6是本申请实施例提供的一种查询虚拟资源的代码示意表。
表6
其中,区块链网络中的共识节点以及持有虚拟资源的对象标识可以验证虚拟资源在区块链上的流转情况,该过程可以通过表7中的代码实现,表7是本申请实施例提供的一种查询目标虚拟资源的资源流转信息的代码示意表。
表7
在本申请实施例中,区块链节点可以根据资源领取请求确定权证标识;进一步,基于通用回调函数,可以在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,故可以根据M个虚拟资源的资源属性确定权证标识对应的权证属性;进一步,若权证属性为第一权证属性,则根据通用回调函数,可以确定用于唯一标识目标虚拟资源的目标索引标识,进而可以根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;此外,若权证属性为第二权证属性,则根据通用回调函数,可以获取通用索引标识,进而可以根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识,其中,M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。上述可知,针对不同的资源属性,本申请实施例可以确定不同的权证属性(如第一权证属性以及第二权证属性),故针对资源属性不同的虚拟资源,可以生成其对应的索引标识(如目标索引标识或通用索引标识),明显地,本申请实施例可以在一个智能合约中,对资源属性互不相同的虚拟资源进行分发处理,故可以实现一个智能合约与多种资源属性互不相同的虚拟资源的互通,从而可以提高智能合约的适用性。
进一步地,请参见图10,图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。上述基于区块链的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该基于区块链的数据处理装置1可以包括:第一确定模块11、第二确定模块12以及第三确定模块13。
第一确定模块11,用于获取资源领取请求,根据资源领取请求确定权证标识;资源领取请求包括领取对象标识以及发行对象标识;
第二确定模块12,用于根据资源领取请求,调用智能合约中的通用回调函数,基于通用回调函数,在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,根据M个虚拟资源的资源属性确定权证标识对应的权证属性;发行对象标识持有M个虚拟资源中的目标虚拟资源;M为正整数;
第三确定模块13,用于若权证属性为第一权证属性,则根据通用回调函数,确定用于唯一标识目标虚拟资源的目标索引标识,根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;
第三确定模块13,还用于若权证属性为第二权证属性,则根据通用回调函数,获取通用索引标识,根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。
其中,第一确定模块11、第二确定模块12以及第三确定模块13的具体功能实现方式可以参见上述图2对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
再请参见图10,第一确定模块11可以包括:第一获取单元111、第二获取单元112以及第三获取单元113。
第一获取单元111,用于获取由领取对象标识所发起的资源领取请求;
第二获取单元112,用于若资源领取请求包含物品标识,则获取与物品标识相关联的权证标识;M个虚拟资源用于表征具有物品标识的物品的权证;
第三获取单元113,用于若资源领取请求中不包括物品标识,则获取发行对象标识所持有的权证标识集合,从权证标识集合中获取权证标识。
其中,第一获取单元111、第二获取单元112以及第三获取单元113的具体功能实现方式可以参见上述图2对应实施例中的步骤S101,这里不再进行赘述。
再请参见图10,资源领取请求还包括资源领取数量;
第二确定模块12可以包括:权限检验单元121、数量对比单元122以及函数调用单元123。
权限检验单元121,用于检验领取对象标识针对权证标识的领取权限;
数量对比单元122,用于若领取权限为允许领取权限,则将资源领取数量与第一数量阈值进行对比;允许领取权限用于表征领取对象标识未持有具有权证标识的虚拟资源;
函数调用单元123,用于若资源领取数量小于第一数量阈值,则调用智能合约中的通用回调函数。
其中,权限检验单元121、数量对比单元122以及函数调用单元123的具体功能实现方式可以参见上述图2对应实施例中的步骤S102,这里不再进行赘述。
再请参见图10,基于区块链的数据处理装置1还可以包括:第一获取模块14。
第一获取模块14,用于在区块链中,获取发行对象标识所持有的均具有权证标识的N个虚拟资源;N个虚拟资源属于M个虚拟资源;N为正整数;
第一获取模块14,还用于若N小于第二数量阈值,则返回领取失败信息至领取对象标识,且发送资源领取结束信息至发行对象标识;
第一获取模块14,还用于若N等于或大于第二数量阈值,则从N个虚拟资源中获取用于转移至领取对象标识的目标虚拟资源。
则第三确定模块13,具体用于若N等于或大于第二数量阈值,则根据通用回调函数,将N确定为用于唯一标识目标虚拟资源的目标索引标识。
其中,第一获取模块14以及第三确定模块13的具体功能实现方式可以参见上述图2对应实施例中的步骤S102-步骤S103,这里不再进行赘述。
再请参见图10,第二确定模块12可以包括:第一确定单元124以及第二确定单元125。
第一确定单元124,用于若M个虚拟资源的资源属性为第一资源属性,则确定权证标识对应的权证属性为第一权证属性;第一资源属性用于表征M等于或大于2,且M个虚拟资源均具有唯一标识特性;
第二确定单元125,用于若M个虚拟资源的的资源属性为第二资源属性或第三资源属性,则确定权证标识对应的权证属性为第二权证属性;第二资源属性用于表征M等于或大于2,且M个虚拟资源具有相同标识特性;第三资源属性用于表征M等于1。
其中,第一确定单元124以及第二确定单元125的具体功能实现方式可以参见上述图2对应实施例中的步骤S102,这里不再进行赘述。
再请参见图10,基于区块链的数据处理装置1还可以包括:第二获取模块15以及第四确定模块16。
第二获取模块15,用于获取第一业务节点发送的资源发行请求;资源发行请求包括资源详情信息,资源详情信息包括第一业务节点对应的对象标识以及待发行虚拟资源;
第二获取模块15,还用于获取包括发行对象标识的发行对象标识集合,将发行对象标识集合中的对象标识与第一业务节点对应的对象标识进行匹配;
第四确定模块16,用于若发行对象标识集合中存在与第一业务节点对应的对象标识相同的对象标识,则根据待发行虚拟资源的资源属性,确定第一业务节点的资源发行权限;
第四确定模块16,还用于当资源发行权限为资源允许发行权限时,根据资源详情信息,执行智能合约中的通用发行函数;
第四确定模块16,还用于基于通用发行函数,将待发行虚拟资源发行至第一业务节点对应的对象标识。
其中,第二获取模块15以及第四确定模块16的具体功能实现方式可以参见上述图6对应实施例中的步骤S201-步骤S205,这里不再进行赘述。
再请参见图10,第四确定模块16可以包括:第四获取单元161、第三确定单元162以及第四确定单元163。
第四获取单元161,用于获取资源详情信息中的针对待发行虚拟资源的待发行总数量;
第三确定单元162,用于若待发行虚拟资源的资源属性为目标资源属性,且待发行总数量为至少两个,则确定第一业务节点的资源发行权限为资源允许发行权限;目标资源属性包括第一资源属性或第二资源属性;
第四确定单元163,用于若待发行虚拟资源的资源属性为第三资源属性,且待发行总数量为一个,则确定资源发行权限为资源允许发行权限。
其中,第四获取单元161、第三确定单元162以及第四确定单元163的具体功能实现方式可以参见上述图6对应实施例中的步骤S203,这里不再进行赘述。
再请参见图10,第四确定模块16可以包括:标识生成单元164、函数执行单元165以及资源发行单元166。
标识生成单元164,用于基于第一业务节点对应的对象标识、待发行虚拟资源对应的待发行物品标识以及待发行总数量,生成待发行虚拟资源的待发行权证标识;
函数执行单元165,用于根据待发行权证标识、第一业务节点对应的对象标识、待发行虚拟资源的资源属性以及待发行总数量,执行智能合约中的通用发行函数;
则第四确定模块16,包括:
资源发行单元166,用于基于通用发行函数,将发行数量为待发行总数量且携带待发行权证标识的待发行虚拟资源,发行至第一业务节点对应的对象标识。
其中,标识生成单元164、函数执行单元165以及资源发行单元166的具体功能实现方式可以参见上述图6对应实施例中的步骤S204-步骤S205,这里不再进行赘述。
再请参见图10,基于区块链的数据处理装置1还可以包括:函数调用模块17以及第三获取模块18。
第二获取模块15,还用于获取第二业务节点发送的资源转移请求;资源转移请求包括受让对象标识以及资源标识;
函数调用模块17,用于根据资源转移请求,调用智能合约中的通用转移函数;
第三获取模块18,用于若资源标识包括目标索引标识,则通过通用转移函数,从区块链中获取与目标索引标识相关联的第一目标区块;
第三获取模块18,还用于从第一目标区块中,获取与目标索引标识相关联的领取对象标识,若领取对象标识与第二业务节点对应的对象标识相同,则将领取对象标识所持有的目标虚拟资源,转移至受让对象标识。
其中,第二获取模块15、函数调用模块17以及第三获取模块18的具体功能实现方式可以参见上述图8对应实施例中的步骤S301-步骤S304,这里不再进行赘述。
再请参见图10,第三获取模块18,还用于若资源标识包括通用索引标识,则通过通用转移函数,从区块链中获取与通用索引标识相关联的A个第二目标区块;A为正整数,且A小于或等于M;
第三获取模块18,还用于分别从A个第二目标区块中,获取与通用索引标识相关联的待验证领取对象标识;每个第二目标区块分别包含不同的待验证领取对象标识;
第三获取模块18,还用于若A个待验证领取对象标识中存在与第二业务节点对应的对象标识相同的待验证对象标识,则将与第二业务节点对应的对象标识相同的待验证对象标识所持有的目标虚拟资源,转移至受让对象标识。
其中,第三获取模块18的具体功能实现方式可以参见上述图8对应实施例中的步骤S305-步骤S307,这里不再进行赘述。
再请参见图10,基于区块链的数据处理装置1还可以包括:第五确定模块19。
第二获取模块15,还用于获取第三业务节点发送的对象注册请求;对象注册请求包括第三业务节点对应的对象标识、第三业务节点对应的标识地址以及对象类型;
函数调用模块17,还用于根据对象注册请求,调用智能合约中的通用注册函数;
第五确定模块19,用于基于通用注册函数识别对象类型,若对象类型为发行对象类型,则确定第三业务节点对应的对象标识为发行对象标识,对发行对象标识以及第三业务节点对应的标识地址关联存储至区块链中;
第五确定模块19,还用于若对象类型为领取对象类型,则确定第三业务节点对应的对象标识为领取对象标识,对领取对象标识以及第三业务节点对应的标识地址关联存储至区块链中。
其中,第二获取模块15、函数调用模块17以及第五确定模块19的具体功能实现方式可以参见上述图9对应实施例中的步骤S1,这里不再进行赘述。
再请参见图10,基于区块链的数据处理装置1还可以包括:信息返回模块20。
第二获取模块15,还用于获取查询对象标识发送的资源查询请求;资源查询请求包括资源标识;
函数调用模块17,还用于根据资源查询请求,调用智能合约中的通用资源查询函数;
第五确定模块19,还用于基于通用资源查询函数,确定查询对象标识的资源查询权限;
信息返回模块20,用于若资源查询权限为资源允许查询权限,则返回针对目标虚拟资源的资源流转信息至查询对象标识;资源允许查询权限用于表明查询对象标识为领取对象标识或区块链中的共识节点对应的对象标识。
其中,第二获取模块15、函数调用模块17以及信息返回模块20的具体功能实现方式可以参见上述图9对应实施例中的步骤S9,这里不再进行赘述。
在本申请实施例中,区块链节点可以根据资源领取请求确定权证标识;进一步,基于通用回调函数,可以在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,故可以根据M个虚拟资源的资源属性确定权证标识对应的权证属性;进一步,若权证属性为第一权证属性,则根据通用回调函数,可以确定用于唯一标识目标虚拟资源的目标索引标识,进而可以根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;此外,若权证属性为第二权证属性,则根据通用回调函数,可以获取通用索引标识,进而可以根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识,其中,M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。上述可知,针对不同的资源属性,本申请实施例可以确定不同的权证属性(如第一权证属性以及第二权证属性),故针对资源属性不同的虚拟资源,可以生成其对应的索引标识(如目标索引标识或通用索引标识),明显地,本申请实施例可以在一个智能合约中,对资源属性互不相同的虚拟资源进行分发处理,故可以实现一个智能合约与多种资源属性互不相同的虚拟资源的互通,从而可以提高智能合约的适用性。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取资源领取请求,根据资源领取请求确定权证标识;资源领取请求包括领取对象标识以及发行对象标识;
根据资源领取请求,调用智能合约中的通用回调函数,基于通用回调函数,在区块链中确定发行对象标识所发行的具有权证标识的M个虚拟资源,根据M个虚拟资源的资源属性确定权证标识对应的权证属性;发行对象标识持有M个虚拟资源中的目标虚拟资源;M为正整数;
若权证属性为第一权证属性,则根据通用回调函数,确定用于唯一标识目标虚拟资源的目标索引标识,根据权证标识以及目标索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;
若权证属性为第二权证属性,则根据通用回调函数,获取通用索引标识,根据权证标识以及通用索引标识,确定转移至领取对象标识的目标虚拟资源的资源标识;M个虚拟资源中已发生转移的虚拟资源具有相同的通用索引标识。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2、图6、图8以及图9所对应实施例中对基于区块链的数据处理方法的描述,也可执行前文图10所对应实施例中对基于区块链的数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2、图6、图8以及图9中各个步骤所提供的基于区块链的数据处理方法,具体可参见上述图2、图6、图8以及图9各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
上述计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图2、图6、图8以及图9所对应实施例中对基于区块链的数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种基于区块链的数据处理方法,其特征在于,包括:
获取资源领取请求,根据所述资源领取请求确定权证标识;所述资源领取请求包括领取对象标识以及发行对象标识;
根据所述资源领取请求,调用智能合约中的通用回调函数,基于所述通用回调函数,在区块链中确定所述发行对象标识所发行的具有所述权证标识的M个虚拟资源,根据所述M个虚拟资源的资源属性确定所述权证标识对应的权证属性;所述发行对象标识持有所述M个虚拟资源中的目标虚拟资源;M为正整数;
若所述权证属性为第一权证属性,则根据所述通用回调函数,确定用于唯一标识所述目标虚拟资源的目标索引标识,根据所述权证标识以及所述目标索引标识,确定转移至所述领取对象标识的所述目标虚拟资源的资源标识;
若所述权证属性为第二权证属性,则根据所述通用回调函数,获取通用索引标识,根据所述权证标识以及所述通用索引标识,确定转移至所述领取对象标识的所述目标虚拟资源的资源标识;所述M个虚拟资源中已发生转移的虚拟资源具有相同的所述通用索引标识。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源领取请求确定权证标识,包括:
获取由所述领取对象标识所发起的所述资源领取请求;
若所述资源领取请求包含物品标识,则获取与所述物品标识相关联的所述权证标识;所述M个虚拟资源用于表征具有所述物品标识的物品的权证;
若所述资源领取请求中不包括所述物品标识,则获取所述发行对象标识所持有的权证标识集合,从所述权证标识集合中获取所述权证标识。
3.根据权利要求1所述的方法,其特征在于,所述资源领取请求还包括资源领取数量;
所述根据所述资源领取请求,调用智能合约中的通用回调函数,包括:
检验所述领取对象标识针对所述权证标识的领取权限;
若所述领取权限为允许领取权限,则将所述资源领取数量与第一数量阈值进行对比;所述允许领取权限用于表征所述领取对象标识未持有具有所述权证标识的虚拟资源;
若所述资源领取数量小于所述第一数量阈值,则调用所述智能合约中的通用回调函数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述区块链中,获取所述发行对象标识所持有的均具有所述权证标识的N个虚拟资源;所述N个虚拟资源属于所述M个虚拟资源;N为正整数;
若N小于第二数量阈值,则返回领取失败信息至所述领取对象标识,且发送资源领取结束信息至所述发行对象标识;
若N等于或大于所述第二数量阈值,则从所述N个虚拟资源中获取用于转移至所述领取对象标识的所述目标虚拟资源;
则所述根据通用回调函数,确定用于唯一标识目标虚拟资源的目标索引标识,包括:
若N等于或大于所述第二数量阈值,则根据所述通用回调函数,将N确定为用于唯一标识所述目标虚拟资源的所述目标索引标识。
5.根据权利要求1所述的方法,其特征在于,所述根据所述M个虚拟资源确定所述权证标识对应的权证属性,包括:
若所述M个虚拟资源的资源属性为第一资源属性,则确定所述权证标识对应的权证属性为所述第一权证属性;所述第一资源属性用于表征M等于或大于2,且所述M个虚拟资源均具有唯一标识特性;
若所述M个虚拟资源的的资源属性为第二资源属性或第三资源属性,则确定所述权证标识对应的权证属性为第二权证属性;所述第二资源属性用于表征M等于或大于2,且所述M个虚拟资源具有相同标识特性;所述第三资源属性用于表征M等于1。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取第一业务节点发送的资源发行请求;所述资源发行请求包括资源详情信息,所述资源详情信息包括所述第一业务节点对应的对象标识以及待发行虚拟资源;
获取包括所述发行对象标识的发行对象标识集合,将所述发行对象标识集合中的对象标识与所述第一业务节点对应的对象标识进行匹配;
若所述发行对象标识集合中存在与所述第一业务节点对应的对象标识相同的对象标识,则根据所述待发行虚拟资源的资源属性,确定所述第一业务节点的资源发行权限;
当所述资源发行权限为资源允许发行权限时,根据所述资源详情信息,执行所述智能合约中的通用发行函数;
基于所述通用发行函数,将所述待发行虚拟资源发行至所述第一业务节点对应的对象标识。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待发行虚拟资源的资源属性,确定所述第一业务节点的资源发行权限,包括:
获取所述资源详情信息中的针对所述待发行虚拟资源的待发行总数量;
若所述待发行虚拟资源的资源属性为目标资源属性,且所述待发行总数量为至少两个,则确定所述第一业务节点的资源发行权限为所述资源允许发行权限;所述目标资源属性包括所述第一资源属性或所述第二资源属性;
若所述待发行虚拟资源的资源属性为所述第三资源属性,且所述待发行总数量为一个,则确定所述资源发行权限为所述资源允许发行权限。
8.根据权利要求7所述的方法,其特征在于,所述根据所述资源详情信息,执行所述智能合约中的通用发行函数,包括:
基于所述第一业务节点对应的对象标识、所述待发行虚拟资源对应的待发行物品标识以及所述待发行总数量,生成所述待发行虚拟资源的待发行权证标识;
根据所述待发行权证标识、所述第一业务节点对应的对象标识、所述待发行虚拟资源的资源属性以及所述待发行总数量,执行所述智能合约中的通用发行函数;
则所述基于所述通用发行函数,将所述待发行虚拟资源发行至所述第一业务节点对应的对象标识,包括:
基于所述通用发行函数,将发行数量为所述待发行总数量且携带所述待发行权证标识的所述待发行虚拟资源,发行至所述第一业务节点对应的对象标识。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第二业务节点发送的资源转移请求;所述资源转移请求包括受让对象标识以及所述资源标识;
根据所述资源转移请求,调用所述智能合约中的通用转移函数;
若所述资源标识包括所述目标索引标识,则通过所述通用转移函数,从所述区块链中获取与所述目标索引标识相关联的第一目标区块;
从所述第一目标区块中,获取与所述目标索引标识相关联的所述领取对象标识,若所述领取对象标识与所述第二业务节点对应的对象标识相同,则将所述领取对象标识所持有的所述目标虚拟资源,转移至所述受让对象标识。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述资源标识包括所述通用索引标识,则通过所述通用转移函数,从所述区块链中获取与所述通用索引标识相关联的A个第二目标区块;A为正整数,且A小于或等于M;
分别从所述A个第二目标区块中,获取与所述通用索引标识相关联的待验证领取对象标识;每个第二目标区块分别包含不同的待验证领取对象标识;
若A个待验证领取对象标识中存在与所述第二业务节点对应的对象标识相同的待验证对象标识,则将与所述第二业务节点对应的对象标识相同的待验证对象标识所持有的所述目标虚拟资源,转移至所述受让对象标识。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第三业务节点发送的对象注册请求;所述对象注册请求包括所述第三业务节点对应的对象标识、所述第三业务节点对应的标识地址以及对象类型;
根据所述对象注册请求,调用所述智能合约中的通用注册函数;
基于所述通用注册函数识别所述对象类型,若所述对象类型为发行对象类型,则确定所述第三业务节点对应的对象标识为所述发行对象标识,对所述发行对象标识以及所述第三业务节点对应的标识地址关联存储至所述区块链中;
若所述对象类型为领取对象类型,则确定所述第三业务节点对应的对象标识为所述领取对象标识,对所述领取对象标识以及所述第三业务节点对应的标识地址关联存储至所述区块链中。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取查询对象标识发送的资源查询请求;所述资源查询请求包括所述资源标识;
根据所述资源查询请求,调用所述智能合约中的通用资源查询函数;
基于所述通用资源查询函数,确定所述查询对象标识的资源查询权限;
若所述资源查询权限为资源允许查询权限,则返回针对所述目标虚拟资源的资源流转信息至所述查询对象标识;所述资源允许查询权限用于表明所述查询对象标识为所述领取对象标识或所述区块链中的共识节点对应的对象标识。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至12任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机程序产品,其特征在于,计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,所述计算机指令适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028536.9A CN116467062A (zh) | 2022-01-11 | 2022-01-11 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
PCT/CN2022/130419 WO2023134282A1 (zh) | 2022-01-11 | 2022-11-07 | 基于区块链的数据处理方法、装置、设备、存储介质及程序产品 |
US18/209,175 US20230325833A1 (en) | 2022-01-11 | 2023-06-13 | Blockchain-based data processing method and apparatus, device, storage medium, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028536.9A CN116467062A (zh) | 2022-01-11 | 2022-01-11 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467062A true CN116467062A (zh) | 2023-07-21 |
Family
ID=87174026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210028536.9A Pending CN116467062A (zh) | 2022-01-11 | 2022-01-11 | 一种基于区块链的数据处理方法、设备以及可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230325833A1 (zh) |
CN (1) | CN116467062A (zh) |
WO (1) | WO2023134282A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230412639A1 (en) * | 2022-06-21 | 2023-12-21 | Coinbase, Inc. | Detection of malicious on-chain programs |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9229949B2 (en) * | 2011-10-07 | 2016-01-05 | Microsoft Technology Licensing, Llc | Extensible and generic framework for managing resources for data warehousing loads |
CN110163483A (zh) * | 2019-04-22 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 基于区块链的虚拟资源分配方法和装置 |
CN110221919B (zh) * | 2019-05-31 | 2023-08-01 | 创新先进技术有限公司 | 基于区块链的虚拟资源分配方法和装置 |
CN111401867A (zh) * | 2020-03-18 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 基于区块链的资源转移方法、装置、节点设备及存储介质 |
CN112991069B (zh) * | 2020-03-30 | 2023-08-15 | 腾讯科技(深圳)有限公司 | 资源处理方法、装置、设备及存储介质 |
-
2022
- 2022-01-11 CN CN202210028536.9A patent/CN116467062A/zh active Pending
- 2022-11-07 WO PCT/CN2022/130419 patent/WO2023134282A1/zh unknown
-
2023
- 2023-06-13 US US18/209,175 patent/US20230325833A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023134282A1 (zh) | 2023-07-20 |
US20230325833A1 (en) | 2023-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020258846A1 (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN109819443B (zh) | 基于区块链的注册认证方法、装置及系统 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN110910110B (zh) | 一种数据处理方法、装置及计算机存储介质 | |
US20230325833A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
CN116488818A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112702419B (zh) | 基于区块链的数据处理方法、装置、设备和存储介质 | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN117010889A (zh) | 数据处理方法、装置及设备、介质、产品 | |
CN117633900B (zh) | 基于分布式网络的文件路径核验方法和装置、设备和介质 | |
CN117057806B (zh) | 基于区块链的数据处理方法、装置及相关设备 | |
CN117459237A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN116707813A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
WO2024103856A1 (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
WO2024146285A1 (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
US20240160755A1 (en) | Cross-chain resource transfer using resource transfer certificate | |
CN117294753A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN117395264A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN116074027A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN117768544A (zh) | 基于区块链的数据处理方法、装置和计算机可读存储介质 | |
CN117353946A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN116980412A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN117633099A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN117456072A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN117811739A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40088011 Country of ref document: HK |