CN113032490B - 一种合约数据处理方法、相关设备及介质 - Google Patents
一种合约数据处理方法、相关设备及介质 Download PDFInfo
- Publication number
- CN113032490B CN113032490B CN202110365672.2A CN202110365672A CN113032490B CN 113032490 B CN113032490 B CN 113032490B CN 202110365672 A CN202110365672 A CN 202110365672A CN 113032490 B CN113032490 B CN 113032490B
- Authority
- CN
- China
- Prior art keywords
- contract
- target
- user
- service
- identification information
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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/04—Payment circuits
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种合约数据处理方法、相关设备及介质。方法包括:获取合约调用终端发送的针对目标代理合约的第一调用指令;第一调用指令中携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务;基于第一调用指令中的第一合约调用地址获取目标代理合约;目标代理合约中包含与目标业务对应的目标业务合约的第二合约调用地址;获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。本申请实施例可以确保合约访问的安全性。
Description
本申请为在2019年12月05日提交中国专利局、申请号为201911237807.6、申请名称为“一种合约数据处理方法、相关设备及介质”的中国专利申请的分案申请,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,具体涉及合约数据处理方法、相关设备及一种计算机存储介质。
背景技术
目前,在一些合约调用的应用场景中,外部用户所对应的终端可以直接从区块链上获取某个业务合约(例如,业务合约A)的合约调用地址,从而可以直接通过该业务合约A的合约调用地址访问到该业务合约,以通过该业务合约中的相应方法执行相应的业务逻辑。那么,当请求调用该业务合约A的外部用户为非法用户时,该非法用户则可以通过非法获取到的该业务合约A的合约调用地址直接访问到该业务合约,由此可见,现有技术中在访问该业务合约的过程中,降低了合约访问的可靠性,进而难以确保合约访问的安全性。
发明内容
本申请实施例提供了一种合约数据处理方法、相关设备及介质,可以提高合约访问的安全性。
本申请一方面提供了一种合约数据处理方法,方法包括:
获取合约调用终端发送的针对目标代理合约的第一调用指令;第一调用指令中携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务;
基于第一调用指令中的第一合约调用地址获取目标代理合约;目标代理合约中包含与目标业务对应的目标业务合约的第二合约调用地址;
获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;
若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。
本申请一方面提供了一种合约数据处理装置,合约数据处理装置包括:
第一指令获取模块,用于获取合约调用终端发送的针对目标代理合约的第一调用指令;第一调用指令中携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务;
代理合约调用模块,用于基于第一调用指令中的第一合约调用地址获取目标代理合约;目标代理合约中包含与目标业务对应的目标业务合约的第二合约调用地址;
权限查询模块,用于获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;
目标业务执行模块,用于若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。
其中,方法应用于区块链网络中的电子票据系统;
装置还包括:
请求部署模块,用于获取业务提供终端针对电子票据系统中的目标业务发送的合约部署请求;
合约构建模块,用于基于合约部署请求在合约发布平台中构建与目标业务相关联的多个智能合约,将每个智能合约分别写入区块链网络对应的区块链;多个智能合约中包含目标代理合约;
调用地址返回模块,用于将目标代理合约的第一合约调用地址返回给与业务提供终端相关联的合约调用终端。
其中,合约部署请求中携带与业务提供终端相关联的关联用户的注册标识信息;多个智能合约中还包含权限管理合约、目标业务合约;
合约构建模块包括:
权限合约构建单元,用于基于合约部署请求中的注册标识信息在合约发布平台中构建与目标业务相关联的权限管理合约,将权限管理合约发布至区块链网络对应的区块链;
业务合约构建单元,用于构建与目标业务对应的目标业务合约,在权限管理合约中设置目标业务合约对应的访问权限,将目标业务合约写入区块链;访问权限用于表征关联用户属于授权用户,授权用户为权限管理合约对应的权限管理列表中的具有注册标识信息的用户;
代理合约构建单元,用于获取与电子票据系统相关联的基类函数,根据基类函数以及目标业务合约的第二合约调用地址,构建与目标业务对应的目标代理合约,将所目标代理合约写入区块链。
其中,代理合约构建单元包括:
基类构建子单元,用于构建针对电子票据系统中的多个业务的基类函数;基类函数中包含用于调用权限管理合约的目标函数;多个业务中包含目标业务;
地址获取子单元,用于获取目标业务合约的第二合约调用地址和目标业务合约的合约名称;
关系建立子单元,用于根据基类函数中的目标函数,创建与权利管理合约相关联的初始代理合约,在初始代理合约中建立第二合约调用地址与目标业务合约的合约名称之间的第一映射关系;初始代理合约中包含用于指向目标函数的回调函数;
代理合约确定子单元,用于基于第一映射关系以及回调函数得到与目标业务对应的目标代理合约,将所目标代理合约写入区块链。
其中,权限查询模块包括:
函数确定单元,用于通过目标代理合约中的回调函数从基类函数中继承得到目标函数;
权限合约确定单元,用于通过目标函数获取权限管理合约;
调用查询单元,用于调用权限管理合约中的查询函数获取权限管理列表,通过权限管理列表对合约调用终端对应的目标用户进行权限查询。
其中,第一调用指令中携带合约调用终端对应的目标用户的用户标识信息;
调用查询单元包括:
列表获取子单元,用于调用权限管理合约中的查询函数获取权限管理列表;权限管理列表中包含多个授权用户的注册标识信息;
标识查找子单元,用于在多个授权用户的注册标识信息中查找与目标用户的用户标识信息相匹配的注册标识信息;
第一确定子单元,用于若查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户的权限属于权限管理合约中的授权用户的访问权限;
第二确定子单元,用于若未查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户不属于权限管理合约中的授权用户的访问权限。
其中,目标用户的用户标识信息包含以下至少一种访问身份标识信息:目标用户的访问地址标识信息、目标用户的访问口令标识信息、目标用户的访问时间标识信息。
其中,多个智能合约中还包含目标数据合约;目标数据合约与目标业务合约之间存在数据映射关系;
目标业务执行模块包括:
业务合约访问单元,用于若确定查询出目标用户的权限属于授权用户的访问权限,则通过第二合约调用地址访问目标业务合约;
数据合约调用单元,用于根据数据映射关系确定目标业务合约对应的目标数据合约,调用目标数据合约执行目标业务。
其中装置还包括:
响应生成模块,用于若确定查询出目标用户的权限不属于授权用户的访问权限,则生成第一调用指令对应的调用失败响应信息,将调用失败响应信息返回给合约调用终端进行显示。
其中,与目标业务对应的目标业务合约为第一业务合约;
装置还包括:
业务合约调整模块,用于当与目标业务对应的目标业务合约由第一业务合约调整为第二业务合约时,获取多个智能合约中的代理管理合约,在代理管理合约中确定与第一业务合约相关联的目标代理合约;
映射建立模块,用于获取第二业务合约的第三合约调用地址,在目标代理合约中建立第三合约调用地址与第二业务合约的合约名称之间的第二映射关系;
代理合约更新模块,用于基于第二映射关系对目标代理合约中的用于进行合约映射的代理变量进行更新,将更新后的目标代理合约写入区块链。
其中,更新后的目标代理合约的合约调用地址为第一合约调用地址;
装置还包括:
第二指令获取模块,用于在获取到合约调用终端发送的针对目标代理合约的第二调用指令时,基于第一合约调用地址获取更新后的目标代理合约;
业务合约调用模块,用于根据更新后的目标代理合约中的代理变量所对应的第二映射关系,获取第二业务合约。
其中,目标用户为税局发布用户;目标业务为税局发布业务,目标业务合约包含税局发布业务对应的业务发布合约;业务发布合约中包含与税局发布用户相关联的多个税局校验用户的公钥信息;
目标业务执行模块包括:
发布合约访问单元,用于若查询出税局发布用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问业务发布合约;
签名接收单元,用于接收多个税局校验用户针对税局发布业务中的业务数据信息发送的签名信息;一个签名信息是由一个税局校验用户的私钥信息对业务数据信息的哈希值进行签名后所确定的;
公钥验签单元,用于获取业务发布合约中的每个税局校验用户的公钥信息,通过每个税局校验用户的公钥信息分别对采集到的税局用户所发送的签名信息进行验签;
业务数据发布单元,用于在验签成功时,确认业务数据信息具备合法性,将业务数据信息发布至合约发布平台。
本申请一方面提供了一种节点设备,包括:处理器、存储器、网络接口;
处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,存储器用于存储计算机程序,处理器用于调用计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
在本申请实施例中,在获取到合约调用终端发送的针对目标代理合约的第一调用指令时,可以基于第一调用指令中的第一合约调用地址获取目标代理合约;其中,第一调用指令中可以携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务;其中,目标代理合约中可以包含与目标业务对应的目标业务合约的第二合约调用地址。进一步的,获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。由此可见,本申请实施例中的合约调用方(即目标用户)在通过目标代理合约调用目标业务合约之前,会先通过目标代理合约优先调用权限管理合约,以通过该权限管理合约对合约调用方(即目标用户)进行权限查阅,进而可以在该权限管理合约中查询到与该目标用户的权限相匹配的授权用户的访问权限的情况下,允许该目标用户调用目标业务合约执行目标业务。换言之,本申请实施例可以在调用目标业务合约之前,可以通过目标代理合约中所映射的权限管理合约,增加一道保护屏障,以确保在该权限管理合约中的授权用户具备进一步访问到该目标业务合约,进而可以确保合约访问的安全性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络拓扑结构的系统架构示意图;
图2是本申请实施例提供的一种数据交互的场景示意图;
图3是本申请实施例提供的一种合约数据处理方法的流程示意图;
图4是本申请实施例提供的一种进行权限查询的场景示意图;
图5是本本申请实施例提供的一种合约数据处理方法的流程示意图;
图6是本申请实施例提供的一种部署智能合约的场景示意图;
图7是本申请实施例提供的一种发布业务数据信息的场景示意图;
图8是本申请实施例提供的一种业务变更的场景示意图;
图9是本申请实施例提供的一种合约数据处理装置的结构示意图;
图10是本申请实施例提供的一种节点设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,本申请所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种网络拓扑结构的系统架构示意图。该系统架构图可以包含图1所示的用户终端20a,用户终端20c、节点设备10a、节点设备10b、节点设备10c、节点设备10d。其中,用户终端20a对应的用户可以为图1所示的用户20b,用户终端20c对应的用户可以为图1所示的用户20d。其中,节点设备10a、节点设备10b、节点设备10c、节点设备10d均为图1所示的区块链网络100中的一个区块链节点(简称为节点),该区块链网络100可以应用于合约数据处理系统,该合约数据处理系统可以包含基于智能合约的区块链电子票据系统(简称电子票据系统)、基于智能合约的区块链电子资产转移系统等,这里将不对其具体的应用场景进行限定。其中,当图1所示的用户20b为合约调用用户(即合约调用方),图1所示的用户20d可以为业务提供方时,本申请实施例中可以将用户终端20a称之为合约调用终端,将用户终端20c称之为业务提供终端。换言之,本申请实施例中的用户终端20a可以为需要调用智能合约执行相应业务的合约调用终端,本申请实施例中的用户终端20c为请求部署与该业务相关联的智能合约的业务提供终端。其中,可以理解的是,该合约数据处理系统中的每个区块链节点可以对应多个合约调用终端,此处仅以一个区块链节点对应一个合约调用终端(例如,用户终端20a)为例进行本申请的说明。
其中,还可以理解的是,该合约数据处理系统中的每个区块链节点均可以用于维护同一区块链(即图1所示的区块链10e),该区块链10e上可以预先部署多个智能合约,比如,可以预先部署:代理合约、权限管理合约、业务合约、数据合约、代理管理合约等具有不同数据处理功能的智能合约。
其中,可以理解的是,本申请实施例中的智能合约本质上就是一段计算机执行的程序,可以事先将合约的触发条件,执行的事项等详细的合约内容,以代码的形式储存在区块链网络中,进而可以在确定满足相应的条件时自动执行相应的合约代码信息,不需任何第三方干预,任何第三方也无法干预,从而可以确保合约调用方在调用该智能合约执行相应数据处理业务的公平、公正、可靠性。其中,可以理解的是,本申请实施例中的智能合约可以包含至少一个合约函数,每个合约函数可以理解为一个方法,本申请实施例可以根据每个方法的方法名调用相应的方法,以执行相应的业务逻辑。比如,智能合约A中的一个方法可以用于调用智能合约B,进而可以通过智能合约B中的另一个方法继续执行相应的业务逻辑,这里将不对智能合约中的每个合约函数的具体功能进行限定。其中,可以理解的是,本申请实施例中的每个合约函数均可以按照智能合约的合约策略进行执行,即一个合约函数可以等效为智能合约中所规定的一个合约条款,且这些合约条款之间均是按照智能合约的合约逻辑依次执行的。可以理解的是,本申请实施例中的合约函数可以为一系列的指令。
其中,本申请实施例中的代理管理合约可以用于对与多个业务相关联的代理合约进行集中管理,比如,合约管理用户可以通过该代理管理合约,对每个代理合约中用于进行合约映射的代理参数(也可以称之为代理变量)进行变更处理,从而可以在不变更代理合约的合约调用地址的情况下,通过变更后的代理变量快速建立好与相应业务合约之间的调用关系。其中,可以理解的是,通过该代理参数可以唯一的找到与代理合约对应的业务合约。比如,当多个代理合约中的某个代理合约(例如,代理合约1)所映射的业务合约(例如,业务合约1)需要修改为另一业务合约(例如,业务合约2)时,可以通过该代理管理合约定位到该代理合约1,进而可以对该代理合约1中的代理参数进行更新,以得到更新后的代理合约1(比如,代理合约1’)。比如,本申请实施例可以在该代理合约1的代理参数中,将业务合约1的合约调用地址1变更成业务合约2的合约调用地址2。这样,后续其他用户需要调用业务合约2执行其他业务时,可以直接通过该更新后的代理合约1对业务合约2进行调用。
其中,可以理解的是,对于需要调用相应业务合约的合约调用用户(即外部用户)而言,代理合约中的代理参数(即代理变量)的变更,并不会影响外部用户在不同时刻通过同一合约调用地址(这里指代理合约的同一合约调用地址)对该代理合约的调用。换言之,在本申请实施例中,代理合约1中的代理参数的变更,对于外部用户而言是无感知的,即该外部用户在不同时刻所调用的该代理合约1的合约调用地址仍是不变的。所以,在外部用户所需要执行的业务存在变更(例如,业务升级)的情况下,可以继续通过该代理合约的合约调用地址快速地获取到代理参数变更后的业务合约进行访问。
其中,可以理解的是,一个代理合约可以对应一个业务合约,一个业务合约可以对应一个类型的业务,这里的业务可以包含但不限于电子票据系统中的企业注册业务、税局注册业务、税局发布业务、投诉建议服务等。此外,本申请实施例还可以将通过业务合约执行相应业务逻辑时所需要的业务数据写入上述数据合约,这样,在业务升级的情况下,可以使用升级后的业务合约的业务逻辑,并可以继续使用先前所关联的数据合约中的业务数据协作执行升级后的业务。可以理解的是,本申请实施例中的代理参数(代理变量)可以以键值对的形式存储在代理合约的回调函数所关联的代码信息中。
可以理解的是,本申请实施例涉及的合约数据处理系统中的每个区块链节点可以为接入该区块链网络中的任意形式的计算设备,如服务器、用户终端等。这些区块链节点可以通过网络通信的形式连接形成的分布式系统,该分布式系统也可以称之为区块链系统。换言之,本申请实施例中的区块链节点可以为需要接入该区块链网络的任意一个实体对象提供接入服务,比如,区块链节点可以为某个实体对象(例如,实体对象A)对应的用户终端;可选的,区块链节点还可以为某个实体对象(例如,实体对象B)所对应的用户终端的后台服务器,此时,该后台服务器可以通过网络与该实体对象B所对应的用户终端进行数据交互。其中,可以理解的是,这里的实体对象可以包含业务提供方、业务平台方以及合约调用方。其中,合约调用方可以具体包含企业用户、个人用户等,这里将不对其进行限定。其中,业务提供方可以包含上述电子票据系统中的税局总局、地方税务局等,在电子资产转移系统可以为商户(例如,游戏设备提供商、虚拟物品提供商等);业务平台方可以包含在上述合约发布平台上参与部署智能合约的合约开发用户等。
其中,该合约开发用户所对应的合约开发终端可以为该区块链网络100中的一个区块链节点(例如,图1所示的节点设备10a),该节点设备10a可以用于接收某个业务提供方(例如,图1所示的用户20d)通过合约发布平台所发起的合约部署请求。进一步的,合约开发用户在该节点10a(即合约开发终端)中编写好每个智能合约之后,可以将编写好的智能合约广播给该区块链网络100中的共识节点,以使这些共识节点在达成共识的情况下,将相应的智能合约可以写入区块链中,以得到图1所示的区块链10e,这样,该区块链网络100中的其他区块链节点所对应的用户终端可以快速从链上获取到相应的智能合约,以进行存储处理,进而可以在一些智能合约的调用场景下,快速调用相应的智能合约实现数据处理业务所涉及的电子资产的转移操作(比如,支付类操作)。其中,本申请实施例中的电子资产(也可以称之为电子资源)还可以指用于购买虚拟物品的资金,其可至少包括法币、电子货币等;所谓法币是指一种以法律形式赋予其强制流通使用的货币,如人民币、美元等;所谓电子货币是指以电子形式存储在用户所持有的电子钱包(如QQ钱包、微信钱包等)中的货币。其中,虚拟物品可包括但不限于:电子票据、数字货币(一种不受管制的、数字化的货币)、游戏资源(如游戏币、游戏装备等),等等。
为便于理解,本申请实施例可以从上述图1所对应实施例中的区块链网络100选择一个区块链节点(例如,上述图1所对应实施例中的节点设备10a)作为目标区块链节点(即该目标区块链节点也可以称之为目标节点设备),以对该目标区块链节点与合约调用终端之间进行数据交互的具体过程进行阐述。进一步的,请参见图2,是本申请实施例提供的一种数据交互的场景示意图。其中,如图2所示的目标区块链节点可以为上述图1所对应实施例中的节点设备10a,该目标区块链节点在本地所维护的区块链可以为上述图1所对应实施例中的区块链10e。如图2所示,该区块链上部署有多个智能合约,这些智能合约具体可以包含与图2所示的代理管理合约60a、代理合约60b、权限管理合约60c、业务合约60d、数据合约60e。
其中,代理管理合约60a可以用于对图2所示的至少一个代理合约进行管理。本申请实施例所描述的至少一个代理合约可以统称为图2所示的代理合约60b,且该代理合约60b具体可以包含图2所示的代理合约1和代理合约2。其中,一个代理合约可以为与某个业务(例如,业务A)相关联的业务提供方与业务平台方之间所签署的电子业务代理合约。其中,本申请实施例可以将该业务A称之为目标业务,该目标业务可以为上述电子票据系统中的注册业务(例如,企业注册业务),还可以为上述电子票据系统中的另一注册业务(例如,税局注册业务),还可以为上述电子票据系统中的税局发布业务,这里将不对目标业务的具体内容进行限制。可以理解的是,本申请实施例中的一个代理合约中可以包含一个用于对业务合约进行合约映射的参数,该用于进行合约映射的参数可以称之为代理参数,该代理参数还可以为与键值对相关联的代理变量。
其中,为便于理解,本申请实施例以上述目标业务为上述税局注册业务为例,此时,与该税局注册业务相关联的实体对象为可以为企业A(比如,税务总局),如图2所示,与该税务总局相关联的合约调用终端可以为图2所示的用户终端30b,其中,该用户终端30b对应的用户50b可以包含与该税务总局相关联的关联用户(比如,地方税务局等)。可以理解的是,在图2所示的用户终端30b通过合约发布平台向与业务平台方(例如,企业B)相关联的目标区块链节点发送第一合约调用指令之前,该目标区块链节点需要根据合约部署请求预先将创建的多个智能合约部署在区块链上。换言之,与该税局注册业务相关联的业务提供方(例如,上述税务总局)可以先向该业务平台方(例如,企业B)发送合约部署请求,该合约部署请求可以用于表征该税局总局(即上述业务提供方)需要委托业务平台方(例如,企业B)通过该合约发布平台创建与上述税局注册业务相关联的多个智能合约,并将这些创建的智能合约部署在图2所示的区块链上。其中,图2所示的用户50a可以为业务平台方(例如,企业B)下的合约开发用户。可以理解的是,该合约开发用户可以通过上述合约发布平台部署与目标业务相关联的多个智能合约,可选的,该合约开发用户在部署完这些智能合约之后,还可以在代理管理合约中将自己设置为能够对图2所示的多个代理合约(即代理合约1、代理合约2等)进行集中管理的合约管理用户。
此外,本申请实施例在确保某个用户具有访问某个智能合约中的相应方法的访问权限之前,需要在相应的智能合约中进行权限注册。比如,可以依照权限注册规则将这个用户的注册标识信息写入权限管理合约,以便于这个用户后续需要访问某个智能合约时,可以通过该权限管理合约进行权限查询。例如,本申请实施例可以将合约调用地址和方法名以键值对的形式预先写入图2所示的权限管理合约60c,从而可以确保这个用户可以访问这个合约调用地址所对应的智能合约中的这个方法名所对应的方法。
可选的,该合约开发用户还可以在图2所示的代理管理合约60a中指定该企业B下的其他合约开发用户(例如,合约开发用户1和合约开发用户2)作为能够对相应代理合约进行管理的合约管理用户,比如,可以指定合约开发用户1为代理合约1的合约管理用户,以在后续存在业务变更的情况下,可以对代理合约1中的代理参数进行变更,指定合约开发用户2对代理合约1中的代理参数进行变更,这里将不对管理用户所需要管理的智能合约的数量进行具体的限制。
其中,图2所示的区块链可以包含图2所示的多个区块,具体可以包含区块40a、...、区块40b、区块40c、区块40d,这些区块之间可以通过哈希链的方式进行相互关联。其中,区块40a可以为该区块链的创世纪区块(即该区块链上具有最小生成时间戳的区块)。此外,区块40b的哈希值可以用于作为区块40c的父区块哈希值,以此类推,区块40c的哈希值可以用于作为区块40d的父区块哈希值。换言之,在图2所示的区块链中,除创世纪区块之外的每个区块的区块头中可以存储有本区块的哈希值,还可以存储有前一区块的哈希值。
其中,可以理解的是,与该企业B相关联的区块链节点(例如,图2所示的目标区块链节点)在通过该合约发布平台创建权限管理合约(即图2所示的权限管理合约60c)的过程中,可以在该权限管理合约60c中预先对与上述业务提供方相关联的关联用户的注册标识信息进行权限注册,即可以预先注册哪些关联用户具备访问业务合约1的访问权限,这些具备访问权限的关联用户可以统称为授权用户。应当理解,本申请实施例中的授权用户是指可以通过查找到的访问权限具体确定能够访问到业务合约1中的特定方法(函数)的关联用户。可以理解的是,本申请实施例中的关联用户可以包含图2所示的用户50b(即合约调用用户),当然,还可以包含与上述税局注册业务相关联的其他用户。
其中,可以理解的是,图2所示的目标区块链节点在区块链上部署好权限管理合约60c之后,还可以在区块链上进一步部署与上述税局注册业务相关联的业务合约(例如,图2所示的业务合约1),并可以创建与该业务合约1对应的数据合约(例如,图2所示的数据合约1)。进一步的,该目标区块链节点还可以在部署图2所示的代理合约1的过程中,将部署好的业务合约1的合约合约调用地址(例如,调用地址1)作为该代理合约1的参数,并可以将该代理合约1中与业务合约1相关联的参数统称为上述用于进行合约映射的代理变量。可以理解的是,本申请实施例通过引入代理合约,可以在上述税局注册业务需要进行变更(例如,业务升级,将业务合约1升级为业务合约1’)的情况下,可以快速对该代理合约(例如,图2所示的代理合约1)中用于进行合约映射的代理变量进行调整,即可以将该代理变量由业务合约1的合约调用地址调整为业务合约1’(即对业务合约1进行升级后的另一业务合约)的合约调用地址。
可以理解的是,本申请实施例可以将合约调用方所使用的用于调用代理合约1的合约调用地址(例如,上述调用地址2)统称为第一合约调用地址。另外,本申请实施例还可以将通过该第一合约调用地址调用上述代理合约1的合约调用方称之为目标用户,并可以将该代理合约1中所写入的业务合约的合约调用地址(例如,上述调用地址1)统称为第二合约调用地址。
由于本申请实施例无需在业务合约存在变更(例如,业务升级)的情况下,重新生成具有不同合约调用地址的另一代理合约。所以,图2所示的区块链节点在不同时刻获取到图2所示的用户终端30b(即合约调用终端)所发送的针对代理合约1的调用指令时,均可以通过同一合约调用地址(即前述第一合约调用地址)调用到图2所示的代理合约1。为便于理解,本申请实施例可以将图2所示的用户终端30b在当前时刻为T1时刻所发送的合约调用指令称之为第一调用指令,该第一调用指令可以用于调用与图2所示的代理合约1相关联的业务合约1。同理,本申请实施例可以将该用户终端30b在T2时刻(即T1时刻的下一时刻)所发送的合约调用指令称之为第二调用指令,该第二调用指令可以用于调用与图2所示的代理合约1相关联的更新后的业务合约1(即上述业务合约1’)。换言之,目标用户(即图2所示的用户50b)在当前时刻为T1时刻所使用的用于调用代理合约(这里指调用代理变量调整前的代理合约1)的合约调用地址,与该用户50b在T2时刻所使用的用于调用代理合约(这里指调用代理变量调整后的代理合约1)的合约调用地址均为第一合约调用地址。其中,T2时刻可以为T1时刻的下一时刻,本申请实施例将不对这两个时刻之间的具体间隔时长进行限定。
应当理解,如图2所示的目标区块链节点可以在获取到第二调用指令之后,可以基于前述第二调用指令中所携带的同一合约调用地址继续调用图2所示的代理合约1。为便于对前述两个不同时刻下的代理合约1进行区别,本申请实施例可以将代理参数(即代理变量)变更前的代理合约1统称为目标代理合约,将代理参数(即代理变量)变更后的代理合约1统称为更新后的目标代理合约。
其中,可以理解的是,由于该代理合约1中用于进行合约映射的代理变量的值发生了变化,且该代理合约1中的其他合约函数所对应的业务处理功能并未产生变化,因此,该用户50b在T2时刻调用该更新后的目标代理合约时,可以继续复用原有代理合约1(即上述目标代理合约)中用于调用权限管理合约60c的方法,从而可以继续基于同一权限管理合约(即图2所示的权限管理合约60c)进行权限控制,进而可以在查询到当前调用代理合约1的用户50b(即上述目标用户)的权限属于图2所示的权限管理合约60c中的授权用户的权限时,进一步通过该更新后的目标代理合约中所写入的新的第二合约调用地(即第三合约调用地址)址访问到上述业务合约1’,进而可以通过上述业务合约1’执行新的目标业务。
可以理解的是,本申请实施例在单独对业务合约1的业务逻辑进行变更处理(例如,上述业务升级)的情况下,还可以继续沿用图2所示的数据合约1中的业务数据。应当理解,本申请实施例通过将与该税局注册业务相关联的业务逻辑与参数数据进行解耦操作,可以在升级合约的过程中,可以单独业务合约进行升级操作,也可以单独对数据合约进行升级操作,且可以实现对彼此合约代码的互不影响。同理,以此类推,本申请实施例还可以单独对上述业务数据所对应的数据合约进行升级操作,并可以继续沿用原有的业务合约1对应的业务逻辑。
其中,应当理解,如图2所示的目标区块链节点在部署完上述每个智能合约之后,可以将这些智能合约广播至与该目标区块链节点相关联的多个共识节点(例如,上述上图1所对应实施例中的节点设备10b、节点设备10c,节点设备10d等),这些共识节点之间可以组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。
其中,应当了理解,本申请实施例中的目标区块链节点可以为该区块链系统中的区块链节点基于共识机制所选举得到的领导节点,此时,本申请实施例可以进一步将该区块链系统中的与该领导节点具有网络连接关系的用于进行共识验证的其他共识节点称之为从节点。应当理解,在分布式系统(即上述图1所示的合约数据处理系统)中,任何机器如服务器、终端都可以加入而成为节点,且一个节点可以对应一个角色,一个角色或者多个角色可以对应同一个实体对象。换言之,该合约数据处理系统可以用于为加入该区块链系统中的角色提供相应的接入接口。比如,在上述合约数据处理系统为电子票据系统时,可以针对税局(即税务局,这里的税务局包含上述税局总局和地方税务局)提供用于进行收税服务的智能合约的接口、也可以针对开票企业提供针对购买虚拟物品所提供的开票服务的智能合约的接口,这里将不对其进行一一列举。
其中,该目标区块链节点获取与目标代理合约相关联的权限管理合约、以及调用权限管理合约对目标用户进行权限查询的具体实现方式可以参见图3-图8所对应实施例的描述。
进一步地,请参见图3,是本申请实施例提供的一种合约数据处理方法的流程示意图。该方法可以由区块链网络中的区块链节点执行,该区块链节点可以为上述图2所对应实施例中的目标区块链节点,该方法具体可以包含以下步骤S101-步骤S104。
步骤S101,获取合约调用终端发送的针对目标代理合约的第一调用指令;
具体的,区块链节点可以获取合约调用终端在第一时刻所发送的针对目标代理合约的第一调用指令,该第一调用指令中可以携带目标代理合约对应的第一合约调用地址以及与该合约调用终端相关联的目标业务。
其中,本申请实施例中的目标业务可以包含上述电子票据系统中的税局注册业务、企业注册业务、税局发布业务等。可选的,本申请实施例中的目标业务还可以包含上述资产转移系统中的企业注册业务、资产转移业务等,这里将不对其进行具体的限制。
其中,本申请实施例中的第一时刻可以为上述图2所对应实施例中的T1时刻,该第一合约调用地址可以为上述图2所对应实施例中的调用地址2,该调用地址2是由该区块链节点在上述区块链上部署完上述目标代理合约之后所确定的用于对该目标代理合约进行调用的合约调用地址,这里将不再继续进行赘述。
可以理解的是,本申请实施例所描述的区块链可以为能够存储完整区块信息的全量节点所维护的全量区块链,该全量区块链上的每个区块中均可以包含完整的区块头信息和区块体信息,这里的区全量区块链可以包含上述图2所示的区块链,即该全量区块链上可以预先部署有上述图2所示的代理管理合约60a、代理合约60b,权限管理合约60c、业务合约60d,数据合约60e。
其中,这里的代理合约60b可以包含至少一个代理合约,具体可以包含上述图2所示的代理合约1和代理合约2。其中,可以理解的是,本申请实施例可以包含上述多个业务,在本申请实施例中,一个业务可以对应一个业务合约和一个数据合约。此外,一个业务合约可以对应一个代理合约。为便于理解,本申请实施例可以以多个业务中的一个业务作为目标业务为例,此时,与该目标业务对应的业务合约可以称之为目标业务合约,进而可以通过权限管理合约对调用与该目标业务相关联的目标业务合约的具体实现过程进行阐述。
步骤S102,基于第一调用指令中的第一合约调用地址获取目标代理合约;
其中,可以理解的是,本申请实施例中的目标代理合约中可以包含与目标业务对应的目标业务合约的第二合约调用地址,可选的,该目标代理合约中还可以包含回调函数(即该目标代理合约中可以包含callback函数),该回调函数可以用于调用与该目标代理合约相关联的基类函数(公共类函数)中的目标函数;该基类函数中的目标函数可以用于调用对多个业务合约的访问权限进行集中控制的权限管理合约,通过该权限管理合约可以进一步执行下述步骤S103。
应当理解,本申请实施例中的区块链节点在执行上述步骤S101和步骤S102之前,还可以接收与该合约调用终端具有关联关系的业务提供方(例如,企业A)通过上述合约发布平台的发送合约部署请求,进而可以在该区块链节点部署完上述多个智能合约之后,能够确保该合约调用终端可以获取到用于调用目标代理合约的第一合约调用地址。
其中,该合约部署请求用于指示与上述业务平台方(例如,企业B)相关联的区块链节点(例如,合约开发用户所对应的合约开发终端)可以在该合约发布平台中构建多个智能合约,并可以将构建的这些智能合约广播至该区块链节点所在的区块链网络中的其他共识节点,以使其他共识节点可以在达成共识的情况下,将这些智能合约分别写入该区块链网络对应的区块链。其中,多个智能合约中可以包含前述目标代理合约,该区块链节点可以将用于调用该目标代理合约的第一合约调用地址返回给与该业务提供方相关联的合约调用终端。
其中,可以理解的是,本申请实施例可以将与该业务提供方相关联的用户终端统称为合约调用终端。比如,在上述电子票据系统中,业务提供方可以为上述税务总局,与该业务提供方相关联的用户终端可以包含该税务总局下的合约调用终端,还可以包含该税务总局所管辖的地方税务局下的合约调用终端,这里将不对其进行限定。可以理解的是,地方税务局在需要执行税局注册业务时,可以发送上述第一调用指令,以通过该第一调用指令获取与税局注册业务相关联的目标业务合约(这里指税局注册合约),进而可以继续执行下述步骤S103。
又比如,在上述电子票据系统中,该业务提供方可以为具有电子票据开具功能的开票企业,与该业务提供方相关联的用户终端可以包含需要注册开票服务的企业所对应的合约调用终端等。例如,需要注册开票服务的企业可以在需要执行上述企业注册业务时,发送上述第一调用指令,以通过该第一调用指令获取与企业注册业务相关联的目标业务合约(这里指企业注册合约),进而可以继续执行下述步骤S103。
又比如,在电子资产转移系统下,业务提供方可以为游戏开发商,与该业务提供方相关联的合约调用终端可以在需要购买该游戏开发商所展示的虚拟物品(例如,游戏装备M)时,发送上述第一调用指令,以通过该第一调用指令获取与电子资产转移业务(即电子支付业务)相关联的目标业务合约(这里指资产转移合约),进而可以继续执行下述步骤S103。
步骤S103,获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;
具体的,区块链节点可以通过目标代理合约中的回调函数从基类函数中继承得到目标函数;进一步的,该区块链节点可以通过该目标函数获取用于进行权限控制的权限管理合约;进一步的,区块链节点可以调用权限管理合约中的查询函数获取权限管理列表,通过权限管理列表对合约调用终端对应的目标用户进行权限查询。
其中,为便于理解,本申请实施例将以该区块链节点应用于区块链网络中的电子票据系统为例,可以理解的是,这里的电子票据系统可以大致包含以下两大业务,税局注册业务和企业注册业务等。可以理解的是,本申请实施例可以通过编写的权限管理合约进行权限控制,即可以在编写该权限管理合约时,预先在该权限管理合约中写入谁有权限进行税局注册,谁有权限进行企业注册,即该电子票据系统中的区块链节点在获取到上述合约调用终端所发送的第一合约调用指令之后,可以通过该权限管理合约对发送该第一合约调用指令的目标用户进行权限查询。
其中,上述第一调用指令中可以携带合约调用终端对应的目标用户的用户标识信息;这里的目标用户的用户标识信息包含以下至少一种访问身份标识信息:目标用户的访问地址标识信息、目标用户的访问口令标识信息、目标用户的访问时间标识信息。
其中,该区块链节点通过该权限管理合约对目标用户进行权限查询的具体过程可以描述为:区块链节点可以调用权限管理合约中的查询函数获取权限管理列表;其中,权限管理列表中可以包含多个授权用户的注册标识信息;进一步的,该区块链节点可以在多个授权用户的注册标识信息中查找与目标用户的用户标识信息相匹配的注册标识信息;进一步的,该区块链节点若查找到与该目标用户的用户标识信息相匹配的注册标识信息,则确定查询出该目标用户的权限属于该权限管理合约中的授权用户的访问权限;可选的,该区块链节点若未查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户不属于权限管理合约中的授权用户的访问权限。
为便于理解,进一步的,请参见图4,是本申请实施例提供的一种进行权限查询的场景示意图。如图4所示的区块链节点可以在获取到图4所示的合约调用终端发送的第一调用指令之后,从该第一调用指令中获取该第一调用指令中所携带的目标用户的用户标识信息。为便于理解,本申请实施例以该目标用户的用户标识信息为用户地址为例,以阐述通过该权限管理合约中的权限管理列表对该目标用户的用户地址进行权限查询的具体过程的描述。
如图4所示的权限管理列表中可以包含多个授权用户的注册标识信息,比如,可以包含图4所示的授权用户1的注册标识信息10a、授权用户2的注册标识信息10b、授权用户3的注册标识信息10c、授权用户4的注册标识信息10d等。其中,该授权用户1的注册标识信息10a可以为图4所示的(地址信息1,方法名1),授权用户2的注册标识信息10b可以为图4所示的(地址信息1,方法名2)、授权用户3的注册标识信息10c可以为图4所示的(地址信息2,方法名3)、授权用户4的注册标识信息10d可以为图4所示的(地址信息3,方法名4),以此类推,若该权限管理列表中包含N个授权用户,则该权限管理列表中可以包含授权用户N的注册标识信息10n,这里的N可以为正整数,例如,N可以为10。
可以理解的是,每个授权用户的注册标识信息均可以表征这个用户所能访问到的某个智能合约的合约调用地址,以及这个用户所能够调用的这个智能合约中的某个方法的方法名,这里的合约调用地址和方法名可以以键值对的形式存储在该权限管理列表中。还可以理解的是,不同授权用户可以通过同一合约调用地址访问到同一个智能合约,比如,图4所示的授权用户1和授权用户2可以访问同一智能合约中的不同方法。即授权用户1可以访问合约调用地址为地址信息1的智能合约(例如,合约1),且可以继续访问该合约1中的方法名为方法名1的方法;授权用户2也可以访问合约调用地址为地址信息1的同一智能合约(例如,合约1),然而此时该授权用户2并不具备访问方法名1所对应的方法的权限,仅具备访问到该合约1中的方法名为方法名2的方法的权限。可以理解的是,本申请实施例中的不同授权用户也可以调用不同智能合约中的不同方法,例如,图4所示的授权用户3可以访问合约调用地址为地址信息2的智能合约,授权用户4可以访问合约调用地址为地址信息3的智能合约。
可以理解的是,若上述目标用户的用户标识信息为合约调用终端的用户地址(即访问地址标识信息可以为地址信息2),则可以在图4所示的权限管理列表中找到与该地址信息2(即用户标识信息)相匹配的注册标识信息(即图4所示的授权用户3的注册标识信息10c),此时,该区块链节点可以确定查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,进而可以执行该方法名3所对应的方法继续进行下述步骤S104。
可选的,若上述目标用户的用户标识信息为合约调用终端的用户地址(即访问地址标识信息可以为地址信息30),且在图4所示的权限管理列表中未找到与该地址信息30(即用户标识信息)相匹配的注册标识信息,此时,该区块链节点可以确定该目标用户的权限不属于权限管理合约中的授权用户的访问权限,进而可以生成图4所示的第一调用指令对应的调用失败响应信息,并可以将该调用失败响应信息返回给图4所示的合约调用终端进行显示。
其中,可以理解的是,该区块链节点为上述业务提供方部署上述多个智能合约的过程中,还可以为与该业务提供方相关联的关联用户分配相应的用户口令信息(这里的用户口令信息可以为一段随机生成的字符串),并可以将为关联用户所分配的用户口令信息返回给关联用户所对应的合约调用终端,以使这些合约调用终端可以在本地存储相应的用户口令信息,可以理解的是,本申请实施例可以将在合约调用终端本地所存储的用户口令信息称之为访问口令标识信息;与此同时,本申请实施例还可以将在上述图4所示的权限管理列表中所存储的用户口令信息和与该用户口令信息相关联的智能合约的方法名称之为注册口令标识信息,这样,后续在这些关联用户中存在发送第一调用指令的关联用户时,可以将该关联用户称之为目标用户,进而可以将该目标用户所发送的第一调用指令中所携带的访问口令标识信息(即本地token(令牌)信息)与权限管理列表中的注册口令标识信息进行匹配,以判断该本地token信息是否存在于该权限管理列表中,若存在,则可以继续执行下述步骤S104。反正,也可以生成上述调用失败响应信息。
可选的,本申请实施例中的目标用户的用户标识信息还可以包含目标用户的访问时间标识信息,此时,上述权限管理列表中可以记录授权用户的访问时间段,此时,该区块链节点可以首先判断该目标用户是否为授权用户,比如,可以通过上述访问地址标识信息和访问口令标识信息进行判断,然后,该区块链节点可以进一步检查该目标用户的访问时间标识信息(比如,访问时间戳)是否在该权限管理列表所约定的访问时间段,如果在,则可以确定查找到与目标用户的用户标识信息相匹配的注册标识信息,进而确定查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,从而可以继续执行下述步骤S104。
此外,可以理解的是,该区块链节点还可以通过该权限管理合约进行流量统计(即可以统计一段时间内的访问量),比如,该区块链节点可以统计该合约发布平台在某个访问时间标识信息所在的时间段内的访问量,进而可以在访问量达到预设的访问阈值的情况下,拒绝后续合约调用终端对该合约发布平台的访问,从而也可以间接表明在访问量达到预设的访问阈值的情况下的这些用户在这个访问时间段内不具备访问该目标业务合约的权限,进而可以生成该第一调用指令对应的调用失败响应信息,并可以将调用失败响应信息返回给相应合约调用终端进行显示。
可选的,本申请实施例在通过权限管理合约进行流量统计的过程中,可以统计出该合约发布平台上具有较大访问量所对应的目标业务(例如,企业注册业务),还可以统计出在同一统计时长内在该合约发布平台上具有较小访问量所对应的另一目标业务(例如,投诉建议业务),这样,本申请实施例可以通过该权限管理合约起到一个业务开关的作用。比如,可以将具有最小访问量的该投诉建议业务在这个时间段内进行关闭,以在该时间段内将该投诉建议业务所占用的信道资源移交给企业注册业务,以充分利用该时间段内有限的信道带宽资源。
步骤S104,若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。
具体的,多个智能合约中还可以包含目标数据合约;该目标数据合约与上述目标业务合约之间存在数据映射关系;此时,区块链节点若确定查询出目标用户的权限属于授权用户的访问权限,则可以通过第二合约调用地址访问目标业务合约;进一步的,区块链节点可以根据该数据映射关系唯一的确定目标业务合约对应的目标数据合约,进而可以调用该目标数据合约执行目标业务。
应当理解,本申请实施例通过引入上述目标代理合约,可以在目标代理合约中增加一个用于进行权限控制的屏障,以防止非法用户通过非法手段获取到代理合约的调用地址的情况下,可以通过该权限管理合约进一步进行权限控制,以提高合约访问的安全性,从而可以确保具备授权用户的访问权限的目标用户可以继续调用上述目标业务合约,进而可以通过该目标业务合约所绑定的目标数据合约执行相应的任务,进而可以确保任务执行的有效性。
本申请实施例中的合约调用方(即目标用户)在通过目标代理合约调用目标业务合约之前,会先通过目标代理合约优先调用权限管理合约,以通过该权限管理合约对合约调用方(即目标用户)进行权限查阅,进而可以在该权限管理合约中查询到与该目标用户的权限相匹配的授权用户的访问权限的情况下,允许该目标用户调用目标业务合约执行目标业务。换言之,本申请实施例可以在调用目标业务合约之前,可以通过目标代理合约中所映射的权限管理合约,增加一道保护屏障,以确保在该权限管理合约中的授权用户具备进一步访问到该目标业务合约,进而可以确保合约访问的安全性。
进一步地,请参见图5,是本本申请实施例提供的一种合约数据处理方法的流程示意图。如图5所示的方法可以由区块链网络中的区块链节点执行,方法可以应用于该区块链网络中的电子票据系统,该方法至少可以包含以下步骤:
步骤S201,获取业务提供终端针对电子票据系统中的目标业务发送的合约部署请求;
步骤S202,基于合约部署请求在合约发布平台中构建与目标业务相关联的多个智能合约,将每个智能合约分别写入区块链网络对应的区块链;
具体的,合约部署请求中携带与业务提供终端相关联的关联用户的注册标识信息;多个智能合约中包含目标代理合约;此外,多个智能合约中还包含权限管理合约、目标业务合约;此时,该区块链节点可以基于合约部署请求中的注册标识信息在合约发布平台中构建与目标业务相关联的权限管理合约,将权限管理合约发布至区块链网络对应的区块链;进一步的,该区块链节点可以构建与目标业务对应的目标业务合约,在权限管理合约中设置目标业务合约对应的访问权限,将目标业务合约写入区块链;访问权限用于表征关联用户属于授权用户,授权用户为权限管理合约对应的权限管理列表中的具有注册标识信息的用户;进一步的,该区块链节点可以获取与电子票据系统相关联的基类函数,根据基类函数以及目标业务合约的第二合约调用地址,构建与目标业务对应的目标代理合约,将所目标代理合约写入区块链。
为便于理解,进一步的,请参见图6,是本申请实施例提供的一种部署智能合约的场景示意图。其中,图6所示的节点设备70a可以为上述区块链网络中的区块链节点,该区块链节点所对应的实体对象可以为用于提供合约发布平台的业务平台方(例如,企业X)。可以理解的是,一个实体对象可以对应多个角色,每个角色可以对应一个节点设备。其中,多个角色具体可以包含合约编写角色(例如,合约开发用户)、合约管理角色(例如,合约管理用户)、信息发布角色(例如,合约调用用户)等,这里将不一一对这些角色的具体类型进行列举。所以,与该业务平台方相关联的节点设备可以包含一个独立的服务设备,还可以包含多个可以协同合作的服务设备集群,这里将不对其进行限制。
为便于理解,本申请实施例可以以与该业务平台方相关联的节点设备为图6的节点设备70a为例。如图6所示的业务平台方在获取到图6所示的业务提供方通过图6所示的用户终端80a发送的合约部署请求时,可以通过图6所示的节点设备70a(即区块链节点)在合约发布平台上编写多个智能合约。其中,该业务提供方所对应的用户终端80a可以为上述图1所对应实施例中的用户终端20c。此时,与该业务平台方相关联的用户可以充当合约开发用户这一角色,以编写图2所示的权限管理合约,该权限管理合约可以用于在该区块链节点(即节点设备70a)中对多个业务相关联的业务合约的访问权限进行集中控制,以通过该权限管理合约实现集中化的权限控制。
其中,可以理解的是,业务平台方可以预先构建构建针对该电子票据系统中的多个业务的基类函数;该基类函数中可以包含用于调用权限管理合约的目标函数。本申请实施例可以将图6所示的基类函数称之为图6所示的多个代理合约(即代理合约1、...、代理合约2)的父类,也可以将多个代理合约(即代理合约1、...、代理合约2)称之为该基类函数的子类。每个代理合约中均可以包含一个回调函数,这里的回调函数可以为callback函数。这里的回调函数可以用于调用该基类函数中的一个方法,该方法可以用于调用图6的权限管理合约。所以,多个代理合约均可以通过各自的回调函数,从同一基类函数中继承得到用于对权限管理合约进行调用的方法。其中,可以理解的是,本申请实施例可以将该基类函数中所包含的用于调用权限管理合约的方法称之为上述目标函数。
此外,本申请实施例中的基类函数还可以用于生成图6所示的多个代理合约的初始的代理合约,这样,图6所示的业务平台方可以根据具体业务的业务需求对这些初始代理合约中的代理变量(即上述代理参数)进行调整,以在相应的初始代理合约中分别建立第二合约调用地址与目标业务合约的合约名称之间的第一映射关系。其中,本申请实施例可以将每个代理合约中用于调用相应的业务合约的合约调用地址统称为第二合约调用地址。可以理解的是,本申请实施例可以在通过该权限管理合约进行授权的情况下,允许合约调用方(例如,图2所示的目标用户)调用相应的业务合约。比如,可以在多个代理合约中的代理合约1内,将用于调用业务合约1的合约调用地址称之为第二合约调用地址,以此类推,可以将在多个代理合约中的代理合约2内用于调用业务合约2的合约调用地址称之为第二合约调用地址。换言之,该业务平台方在开发相应的代理合约的过程中,可以在代理合约中将相应业务合约的合约调用地址作为一个参数写入该代理合约,以形成图6所示的多个代理合约。
如图6所示,业务平台方在编写好每个智能合约之后,可以将这些智能合约广播至与该节点设备70b在同一区块链网络的多个共识节点,以使多个共识节点可以对编写的智能合约进行共识,从而可以在这些共识节点达成共识,准许该节点设备70a将这些智能合约写入区块链,以便于该区块链所在区块链网络中的其它节点可以获取到该业务平台方所编写的智能合约,以在这些节点中存储所编写的智能合约。如图6所示,本申请实施例还可以将图6所示的每个代理合约(例如,代理合约1)的合约调用地址作为第一合约调用地址,进而可以进一步执行下述步骤S203,以将该代理合约1的第一合约调用地址下发给与图6所示的业务提供方相关联的用户。比如,可以将第一合约调用地址下发给业务提供方,也可以将第一合约调用地址下发给与该业务提供方相关联的其他用户,这里将不对接收该第一合约调用地址的具体用户进行限制。
步骤S203,将目标代理合约的第一合约调用地址返回给与业务提供终端相关联的合约调用终端。
其中,本申请实施例可以将多个智能合约中该目标用户所请求调用的代理合约(例如,上述图6所示的代理合约1)称之为目标代理合约,以便于可以将该目标代理合约的合约调用地址作为第一合约调用地址返回给上述合约调用终端(例如,上述图2所对应实施例中的用户终端30b),进而可以继续执行下述步骤S204-步骤S208。
步骤S204,获取合约调用终端发送的针对目标代理合约的第一调用指令;
其中,第一调用指令中携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务。
步骤S205,基于第一调用指令中的第一合约调用地址获取目标代理合约;
其中,目标代理合约中包含与目标业务对应的目标业务合约的第二合约调用地址。
步骤S206,获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;
其中,第一调用指令中携带合约调用终端对应的目标用户的用户标识信息;调用权限管理合约中的查询函数获取权限管理列表;权限管理列表中包含多个授权用户的注册标识信息;进一步的,该区块链节点可以在多个授权用户的注册标识信息中查找与目标用户的用户标识信息相匹配的注册标识信息;进一步的,若查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,进而可以继续执行下述步骤S208;可选的,若未查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户不属于权限管理合约中的授权用户的访问权限,进而可以继续执行下述步骤S207。
步骤S207,若确定查询出目标用户的权限不属于授权用户的访问权限,则生成第一调用指令对应的调用失败响应信息,将调用失败响应信息返回给合约调用终端进行显示。
可选的,步骤S208,若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。
具体的,目标用户可以为税局发布用户;目标业务可以为税局发布业务,目标业务合约包含税局发布业务对应的业务发布合约;业务发布合约中包含与税局发布用户相关联的多个税局校验用户的公钥信息;此时,区块链节点若查询出税局发布用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问业务发布合约;进一步的,区块链节点可以接收多个税局校验用户针对税局发布业务中的业务数据信息发送的签名信息;其中,一个签名信息是由一个税局校验用户的私钥信息对业务数据信息的哈希值进行签名后所确定的;进一步的,区块链节点可以获取业务发布合约中的每个税局校验用户的公钥信息,通过每个税局校验用户的公钥信息分别对采集到的税局用户所发送的签名信息进行验签;进一步的,区块链节点可以在验签成功时,确认业务数据信息具备合法性,将业务数据信息发布至合约发布平台。
为便于理解,进一步的,请参见图7,是本申请实施例提供的一种发布业务数据信息的场景示意图。如图7所示的目标用户可以为税局发布用户,该税局发布用户在需要通过该合约发布平台发布图7所示的业务数据信息时,可以向图7所示的节点设备70a发送业务发布请求,该业务发布请求中可以是由上述第一调用指令所确定的。其中,图7所示的节点设备70a可以在获取到该业务发布请求之后,基于上述第一合约调用地址获取与目标业务相关联的目标代理合约(例如,上述图6所对应实施例中的代理合约2);其中,本申请实施例中的目标业务可以为上述税局发布业务,此时,该目标业务对应的目标业务合约可以包含该税局发布业务对应的业务发布合约;其中,可以理解的是,该节点设备70a中所存储的业务发布合约中可以包含与图7所示的目标用户(税局发布用户)相关联的多个税局校验用户的公钥信息;这里以图7所示的业务发布合约中所写入的两个税局校验用户(即税局校验用户1和税局校验用户2)为例。
如图7所示的节点设备70a可以调用上述权限管理好对目标用户进行权限控制,可以理解的是,节点设备70b若查询出该税局发布用户的权限属于权限管理合约中的授权用户的访问权限,则可以通过第二合约调用地址访问图7所示的业务发布合约。如图7所示的用户终端80a可以为上述合约调用终端,当该合约调用终端需要针对图7所示的业务数据信息调用该业务发布合约执行目标业务时,图7所示的节点设备70a可以监测并收集由这些税局校验用户所返回的签名信息,并可以通过该业务发布合约中所存储的每个税局校验用户的公钥信息进行验签操作。其中,一个签名信息可以是由一个税局校验用户的私钥信息对图7所示的业务数据信息的哈希值进行签名后所确定的;应当理解,本申请实施例中的用户终端80b和用户终端80c可以主动向图7所示的节点设备70a拉取前述业务数据信息,以对拉取到的业务数据信息进行确认(即是否同意发布该业务数据信息),即该节点设备70a可以获取到用户终端80b返回的签名信息1、还可以获取到用户终端80c返回的签名信息2。进一步的,节点设备70a可以通过该业务发布合约中所存储的这些税局校验用户的公钥信息对这些签名信息分别进行验签,从而可以在验签成功时,确认图7所示的业务数据信息具备合法性,进而可以将图7所示的业务数据信息发布至合约发布平台进行展示。
可选的,应当理解,本申请实施例中的与目标业务对应的目标业务合约可以为第一业务合约,则该区块链节点可以在该目标业务合约由第一业务合约变更为第二业务合约的情况下,继续执行下述步骤S209。
步骤S209,当与目标业务对应的目标业务合约由第一业务合约调整为第二业务合约时,获取多个智能合约中的代理管理合约,在代理管理合约中确定与第一业务合约相关联的目标代理合约;
步骤S210,获取第二业务合约的第三合约调用地址,在目标代理合约中建立第三合约调用地址与第二业务合约的合约名称之间的第二映射关系;
步骤S211,基于第二映射关系对目标代理合约中的用于进行合约映射的代理变量进行更新,将更新后的目标代理合约写入区块链。
其中,更新后的目标代理合约的合约调用地址为第一合约调用地址;
步骤S212,在获取到合约调用终端发送的针对目标代理合约的第二调用指令时,基于第一合约调用地址获取更新后的目标代理合约;
步骤S213,根据更新后的目标代理合约中的代理变量所对应的第二映射关系,获取第二业务合约。
为便于理解,进一步的,请参见图8,是本申请实施例提供的一种业务变更的场景示意图。其中,如图所示的业务变更具体可以理解为上述业务升级情况下的业务变更,此时,图8所示的区块链节点可以在上述合约发布平台上发布与变更后的目标业务相关联的第二业务合约,并可以将该第二业务合约的合约调用地址称之为第三合约调用地址(即图8所示的调用地址D3)。其中,该第二业务合约可以为图8所示的业务合约1’,可以理解的是,本申请实施例可以在业务变更的情况下,对图8所示的代理合约中的用于进行合约映射的代码信息(例如,图8所示的代理变量)进行变更。如图8所示,本申请实施例可以将代理变量变更前的代理合约1称之为与上述第一调用指令相关联的代理合约。此外,本申请实施例还可以将代理变更后的代理合约1称之为与当前的第二调用指令相关联的代理合约。
可以理解的是,如图8所示的第一调用指令相关联的代理合约和与第二调用指令相关联的代理合约具有相同的合约调用地址,所以,对图8所示的合约调用终端所对应的目标用户而言,在业务升级之后,仍可以用前述第一合约调用地址(例如,图8所示的调用地址D1)继续调用图8所示的代理合约。可以理解的是,对于代理合约而言,该代理合约可以自动标记当前区块链上所存储的与该升级后的目标业务相关联的代理变量(即图8所示的代理变量100b)。
其中。可以理解的是,代理变量100b是对图8所示的代理变量100a进行更新后所确定的。本申请实施例中的代理变量100a可以为图8所示的键值对(即(调用地址D2,合约名字1))。可以理解的是,该代理变量100a可以用于表征在上述T1时刻时该代理合约中的目标业务合约(即图8所示的业务合约1)的第二合约调用地址(即调用地址D2)与该业务合约1的合约名字(即合约名字1)之间的第一映射关系。同理,该代理变量100a可以用于表征在当前时刻为T2时刻时,该代理合约中新的目标业务合约(即图8所示的业务合约1’)的第三合约调用地址(即调用地址D3)与该业务合约1’的合约名字(即合约名字2)之间的第二映射关系。所以,如图8所示,该区块链节点在获取到第二调用指令之后,可以通过图8所示的权限管理合约进行确权处理,以对访问该新的目标业务合约的访问用户(例如,上述图7所示的目标用户)进行权限控制,应当理解,本申请实施例可以通过图8所示的权限管理合约对目标用户进行授权,进而可以在授权之后进一步根据新的目标代理合约中的代理变量(即图8所示的代理变量100b)所对应的第二映射关系,获取图8所示的业务合约1’(即第二业务合约)。由于本申请实施例无需编写新的代理合约,也无需编写新的权限管理合约,所以可以提高访问业务合约的效率。
本申请实施例中的合约调用方(即目标用户)在通过目标代理合约调用目标业务合约之前,会先通过目标代理合约优先调用权限管理合约,以通过该权限管理合约对合约调用方(即目标用户)进行权限查阅,进而可以在该权限管理合约中查询到与该目标用户的权限相匹配的授权用户的访问权限的情况下,允许该目标用户调用目标业务合约执行目标业务。换言之,本申请实施例可以在调用目标业务合约之前,可以通过目标代理合约中所映射的权限管理合约,增加一道保护屏障,以确保在该权限管理合约中的授权用户具备进一步访问到该目标业务合约,进而可以确保合约访问的安全性。
进一步的,请参见图9,是本申请实施例提供的一种合约数据处理装置的结构示意图,该合约数据处理装置1可运行于区块链网络中的区块链节点,应当理解,该合约数据处理装置1可以是运行于区块链节点中的计算机程序(包括程序代码),并且可以执行本申请实施例提供的一种合约数据处理方法。可选的,该区块链节点还可以为上述图2所对应实施例中的目标区块链节点。该合约数据处理装置1具体可以包含:第一指令获取模块10,代理合约调用模块20,权限查询模块30,目标业务执行模块40;进一步的,该合约数据处理装置1还可以包含请求部署模块50,合约构建模块60,调用地址返回模块70,响应生成模块80,业务合约调整模块90,映射建立模块100,代理合约更新模块110,第二指令获取模块120,业务合约调用模块130;
第一指令获取模块10,用于获取合约调用终端发送的针对目标代理合约的第一调用指令;第一调用指令中携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务;
代理合约调用模块20,用于基于第一调用指令中的第一合约调用地址获取目标代理合约;目标代理合约中包含与目标业务对应的目标业务合约的第二合约调用地址;
权限查询模块30,用于获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;
其中,权限查询模块30包括:函数确定单元301,权限合约确定单元302,调用查询单元303;
函数确定单301,用于通过目标代理合约中的回调函数从基类函数中继承得到目标函数;
权限合约确定单元302,用于通过目标函数获取权限管理合约;
调用查询单元303,用于调用权限管理合约中的查询函数获取权限管理列表,通过权限管理列表对合约调用终端对应的目标用户进行权限查询。
其中,第一调用指令中携带合约调用终端对应的目标用户的用户标识信息;
调用查询单元303包括:列表获取子单元3031,标识查找子单元3032,第一确定子单元3033,第二确定子单元3034;
列表获取子单元3031,用于调用权限管理合约中的查询函数获取权限管理列表;权限管理列表中包含多个授权用户的注册标识信息;
标识查找子单元3032,用于在多个授权用户的注册标识信息中查找与目标用户的用户标识信息相匹配的注册标识信息;
第一确定子单元3033,用于若查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户的权限属于权限管理合约中的授权用户的访问权限;
第二确定子单元3034,用于若未查找到与目标用户的用户标识信息相匹配的注册标识信息,则确定查询出目标用户不属于权限管理合约中的授权用户的访问权限。
其中,目标用户的用户标识信息包含以下至少一种访问身份标识信息:目标用户的访问地址标识信息、目标用户的访问口令标识信息、目标用户的访问时间标识信息。
其中,列表获取子单元3031,标识查找子单元3032,第一确定子单元3033,第二确定子单元3034的具体实现方式可以参见上述3所对应实施例中对权限查询的具体过程的描述,这里将不再继续进行赘述。
其中,函数确定单元301,权限合约确定单元302,调用查询单元303的具体实现方式可以参见上述3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
目标业务执行模块40,用于若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。
目标业务执行模块40包括:业务合约访问单元401,数据合约调用单元402;
业务合约访问单元401,用于若确定查询出目标用户的权限属于授权用户的访问权限,则通过第二合约调用地址访问目标业务合约;
数据合约调用单元402,用于根据数据映射关系确定目标业务合约对应的目标数据合约,调用目标数据合约执行目标业务。
其中,业务合约访问单元401,数据合约调用单元402的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
可选的,其中,目标用户为税局发布用户;目标业务为税局发布业务,目标业务合约包含税局发布业务对应的业务发布合约;业务发布合约中包含与税局发布用户相关联的多个税局校验用户的公钥信息;
发布合约访问单元403,用于若查询出税局发布用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问业务发布合约;
签名接收单元404,用于接收多个税局校验用户针对税局发布业务中的业务数据信息发送的签名信息;一个签名信息是由一个税局校验用户的私钥信息对业务数据信息的哈希值进行签名后所确定的;
公钥验签单元405,用于获取业务发布合约中的每个税局校验用户的公钥信息,通过每个税局校验用户的公钥信息分别对采集到的税局用户所发送的签名信息进行验签;
业务数据发布单元406,用于在验签成功时,确认业务数据信息具备合法性,将业务数据信息发布至合约发布平台。
其中,发布合约访问单元403,签名接收单元404,公钥验签单元405,业务数据发布单元406的具体实现方式可以参见上述图3所对应实施例中对发布业务数据信息的具体过程中的描述,这里将不再继续进行赘述。
可选的,其中,方法应用于区块链网络中的电子票据系统;
请求部署模块50,用于获取业务提供终端针对电子票据系统中的目标业务发送的合约部署请求;
合约构建模块60,用于基于合约部署请求在合约发布平台中构建与目标业务相关联的多个智能合约,将每个智能合约分别写入区块链网络对应的区块链;多个智能合约中包含目标代理合约;
其中,合约部署请求中携带与业务提供终端相关联的关联用户的注册标识信息;多个智能合约中还包含权限管理合约、目标业务合约;
合约构建模块60包括:权限合约构建单元601,业务合约构建单元602,代理合约构建单元603;
权限合约构建单元601,用于基于合约部署请求中的注册标识信息在合约发布平台中构建与目标业务相关联的权限管理合约,将权限管理合约发布至区块链网络对应的区块链;
业务合约构建单元602,用于构建与目标业务对应的目标业务合约,在权限管理合约中设置目标业务合约对应的访问权限,将目标业务合约写入区块链;访问权限用于表征关联用户属于授权用户,授权用户为权限管理合约对应的权限管理列表中的具有注册标识信息的用户;
代理合约构建单元603,用于获取与电子票据系统相关联的基类函数,根据基类函数以及目标业务合约的第二合约调用地址,构建与目标业务对应的目标代理合约,将所目标代理合约写入区块链。
其中,代理合约构建单元603包括:基类构建子单元6031,地址获取子单元6032,关系建立子单元6033,代理合约确定子单元6034;
基类构建子单元6031,用于构建针对电子票据系统中的多个业务的基类函数;基类函数中包含用于调用权限管理合约的目标函数;多个业务中包含目标业务;
地址获取子单元6032,用于获取目标业务合约的第二合约调用地址和目标业务合约的合约名称;
关系建立子单元6033,用于根据基类函数中的目标函数,创建与权利管理合约相关联的初始代理合约,在初始代理合约中建立第二合约调用地址与目标业务合约的合约名称之间的第一映射关系;初始代理合约中包含用于指向目标函数的回调函数;
代理合约确定子单元6034,用于基于第一映射关系以及回调函数得到与目标业务对应的目标代理合约,将所目标代理合约写入区块链。
其中,基类构建子单元6031,地址获取子单元6032,关系建立子单元6033,代理合约确定子单元6034的具体实现方式可以参见上述图3所对应实施例中的对代理合约的描述,这里将不再继续进行赘述。
其中,权限合约构建单元601,业务合约构建单元602,代理合约构建单元603的具体实现方式可以参见上述图3所对应实施例中对部署多个智能合约的描述,这里将不再继续进行赘述。
调用地址返回模块70,用于将目标代理合约的第一合约调用地址返回给与业务提供终端相关联的合约调用终端。
可选的,响应生成模块80,用于若确定查询出目标用户的权限不属于授权用户的访问权限,则生成第一调用指令对应的调用失败响应信息,将调用失败响应信息返回给合约调用终端进行显示。
可选的,其中,与目标业务对应的目标业务合约为第一业务合约;
业务合约调整模块90,用于当与目标业务对应的目标业务合约由第一业务合约调整为第二业务合约时,获取多个智能合约中的代理管理合约,在代理管理合约中确定与第一业务合约相关联的目标代理合约;
映射建立模块100,用于获取第二业务合约的第三合约调用地址,在目标代理合约中建立第三合约调用地址与第二业务合约的合约名称之间的第二映射关系;
代理合约更新模块110,用于基于第二映射关系对目标代理合约中的用于进行合约映射的代理变量进行更新,将更新后的目标代理合约写入区块链。
可选的,其中,更新后的目标代理合约的合约调用地址为第一合约调用地址;
第二指令获取模块120,用于在获取到合约调用终端发送的针对目标代理合约的第二调用指令时,基于第一合约调用地址获取更新后的目标代理合约;
业务合约调用模块130,用于根据更新后的目标代理合约中的代理变量所对应的第二映射关系,获取第二业务合约。
其中,第一指令获取模块10,代理合约调用模块20,权限查询模块30,目标业务执行模块40的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述;此外,请求部署模块50,合约构建模块60,调用地址返回模块70,响应生成模块80,业务合约调整模块90,映射建立模块100,代理合约更新模块110,第二指令获取模块120,业务合约调用模块130的具体实现方式可以参见上述图5所对应实施例中对步骤S201-步骤S213的描述,这里将不再继续进行赘述。
本申请实施例中的合约调用方(即目标用户)在通过目标代理合约调用目标业务合约之前,会先通过目标代理合约优先调用权限管理合约,以通过该权限管理合约对合约调用方(即目标用户)进行权限查阅,进而可以在该权限管理合约中查询到与该目标用户的权限相匹配的授权用户的访问权限的情况下,允许该目标用户调用目标业务合约执行目标业务。换言之,本申请实施例可以在调用目标业务合约之前,可以通过目标代理合约中所映射的权限管理合约,增加一道保护屏障,以确保在该权限管理合约中的授权用户具备进一步访问到该目标业务合约,进而可以确保合约访问的安全性。
进一步地,请参见图10,是本申请实施例提供的一种节点设备的示意图。如图10所示,节点设备1000可以为上述图2对应实施例中的目标区块链节点,节点设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的节点设备1000中,网络接口1004主要用于提供数据通信功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取合约调用终端发送的针对目标代理合约的第一调用指令;第一调用指令中携带目标代理合约对应的第一合约调用地址以及与合约调用终端相关联的目标业务;
基于第一调用指令中的第一合约调用地址获取目标代理合约;目标代理合约中包含与目标业务对应的目标业务合约的第二合约调用地址;
获取与目标代理合约相关联的权限管理合约,调用权限管理合约对合约调用终端对应的目标用户进行权限查询;
若查询出目标用户的权限属于权限管理合约中的授权用户的访问权限,则通过第二合约调用地址访问目标业务合约,调用目标业务合约执行目标业务。
应当理解,本申请实施例中所描述的节点设备1000可执行前文图3和图5所对应实施例中对合约数据处理方法的描述,也可执行前文图9所对应实施例中对合约数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的合约数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或者图5所对应实施例中对合约数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种合约数据处理方法,其特征在于,包括:
获取目标用户通过合约调用终端发送的针对目标代理合约的第一调用指令;所述第一调用指令中携带所述目标代理合约对应的第一合约调用地址、与所述合约调用终端相关联的目标业务以及所述目标用户的用户标识信息;所述用户标识信息包含所述目标用户的访问地址标识信息;
基于所述第一调用指令中的所述第一合约调用地址获取所述目标代理合约;所述目标代理合约中包含与所述目标业务对应的目标业务合约的第二合约调用地址;
获取与所述目标代理合约相关联的权限管理合约,调用所述权限管理合约中的查询函数获取所述权限管理合约中的权限管理列表;所述权限管理列表中包含多个授权用户的注册标识信息;
若在所述权限管理列表的所述多个授权用户的注册标识信息中查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息,则确定所述目标用户属于所述权限管理合约中的授权用户;
在确定所述目标用户具备所述权限管理合约中的授权用户的访问权限时,通过所述第二合约调用地址访问所述目标业务合约,调用所述目标业务合约所绑定的目标数据合约执行所述目标业务。
2.根据权利要求1所述的方法,其特征在于,所述权限管理列表中的每个授权用户的注册标识信息均包括以键值对形式存储的合约调用地址和与合约调用地址相关联的智能合约的方法名;所述目标用户的访问地址标识信息为所述目标用户所对应的所述合约调用终端的用户地址;
所述若在所述权限管理列表的所述多个授权用户的注册标识信息中查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息,则确定所述目标用户属于所述权限管理合约中的授权用户,包括:
通过所述权限管理列表的所述多个授权用户的注册标识信息对所述合约调用终端的用户地址进行权限查询;
若在所述多个授权用户的注册标识信息中查找到与所述合约调用终端的用户地址相匹配的合约调用地址,则在所述权限管理列表中将查找到的合约调用地址所属键值对对应的注册标识信息,作为与所述目标用户的访问地址标识信息相匹配的注册标识信息;
确定所述目标用户属于所述权限管理合约中的授权用户;
则所述在确定所述目标用户具备所述权限管理合约中的授权用户的访问权限时,通过所述第二合约调用地址访问所述目标业务合约,调用所述目标业务合约所绑定的目标数据合约执行所述目标业务,包括:
在确定所述目标用户具备所述权限管理合约中的授权用户的访问权限时,允许所述目标用户通过所述第二合约调用地址访问所述目标业务合约,基于所述权限管理合约中的与所述查找到的合约调用地址相关联的智能合约的方法名,访问所述目标业务合约中的方法,基于访问到的方法确定所述目标业务合约所绑定的目标数据合约,调用所述目标数据合约执行所述目标业务。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若在所述多个授权用户的注册标识信息中未查找到与所述合约调用终端的用户地址相匹配的合约调用地址,则确定在所述权限管理列表中未查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息;
在未查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息时,确定所述目标用户的权限不属于所述权限管理合约中的授权用户访问权限;
生成针对所述第一调用指令对应的调用失败响应信息,将所述调用失败响应信息返回给所述合约调用终端,以使所述合约调用终端显示所述调用失败响应信息。
4.根据权利要求1所述的方法,其特征在于,所述用户标识信息包含所述目标用户的访问口令标识信息;所述目标用户的访问口令标识信息为在所述合约调用终端的本地所存储的本地令牌信息;所述多个授权用户的注册标识信息为所述多个授权用户的注册口令标识信息;一个授权用户的注册口令标识信息包括用户口令信息和与用户口令信息相关联的智能合约的方法名;
所述若在所述权限管理列表的所述多个授权用户的注册标识信息中查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息,则确定所述目标用户属于所述权限管理合约中的授权用户,包括:
将所述合约调用终端的本地所存储的本地令牌信息与所述权限管理列表的所述多个授权用户的注册标识信息进行匹配;
若在所述多个授权用户的注册标识信息中查找到与所述合约调用终端的本地所存储的本地令牌信息相匹配的用户口令信息,则在所述权限管理列表中将查找到的用户口令信息所对应的注册口令标识信息,作为与所述目标用户的访问口令标识信息相匹配的注册标识信息;
确定所述目标用户属于所述权限管理合约中的授权用户;
则所述在确定所述目标用户具备所述权限管理合约中的授权用户的访问权限时,通过所述第二合约调用地址访问所述目标业务合约,调用所述目标业务合约所绑定的目标数据合约执行所述目标业务,包括:
在确定所述目标用户具备所述权限管理合约中的授权用户的访问权限时,允许所述目标用户通过所述第二合约调用地址访问所述目标业务合约,基于所述权限管理合约中的与所述查找到的用户口令信息相关联的智能合约的方法名,访问所述目标业务合约中的方法,基于访问到的方法确定所述目标业务合约所绑定的目标数据合约,调用所述目标数据合约执行所述目标业务。
5.根据权利要求1所述的方法,其特征在于,所述目标用户的用户标识信息包含所述目标用户的访问地址标识信息、所述目标用户的访问口令标识信息以及所述目标用户的访问时间标识信息;所述目标用户的访问时间标识信息为在所述合约调用终端的访问时间戳;所述多个授权用户的注册标识信息包括所述多个授权用户的访问时间段;
所述若在所述权限管理列表的所述多个授权用户的注册标识信息中查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息,则确定所述目标用户属于所述权限管理合约中的授权用户,包括:
在根据所述目标用户的访问地址标识信息和所述目标用户的访问口令标识信息,确定所述目标用户属于所述权限管理合约中的授权用户时,在所述权限管理列表中基于确定的授权用户的访问时间段对与所述合约调用终端的访问时间戳进行查找;
若在确定的授权用户的访问时间段内查找到与所述合约调用终端的访问时间戳相匹配的访问时间戳,则在所述权限管理列表中确定查找到与所述目标用户的用户标识信息相匹配的注册标识信息,且确定所述目标用户具备所述权限管理合约中的授权用户的访问权限。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过权限管理合约统计合约发布平台在所述确定的授权用户的访问时间段内的访问量;
若统计到的访问量达到访问阈值,则拒绝所述合约调用终端访问所述合约发布平台,且在确定所述目标用户在所述确定的授权用户的访问时间段内不具备访问所述目标业务合约的权限时,生成所述第一调用指令对应的调用失败响应信息,将所述调用失败响应信息返回给所述合约调用终端,以使所述合约调用终端显示所述调用失败响应信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在通过权限管理合约进行流量统计的过程中,统计所述合约发布平台上具有最大访问量的目标业务,且在同一统计时长内统计所述合约发布平台上具有最小访问量的目标业务;
若确定出具有最小访问量的目标业务为投诉建议业务,且确定出具有最大访问量的目标业务为企业注册业务,则在所述同一统计时长所对应的时间段内,关闭所述投诉建议业务;
将所述投诉建议业务所占用的信道资源移交给所述企业注册业务。
8.根据权利要求1所述的方法,其特征在于,所述目标业务包括电子票据系统中的税局注册业务;所述电子票据系统属于区块链网络中的合约数据处理系统;
在所述获取目标用户通过合约调用终端发送的针对目标代理合约的第一调用指令之前,所述方法包括:
接收与所述税局注册业务相关联的业务提供方通过业务提供终端发送的合约部署请求;所述业务提供方包括所述电子票据系统中的税务总局;所述合约部署请求用于表征所述税务总局委托业务平台方通过合约发布平台创建与所述税局注册业务相关联的多个智能合约;所述业务平台方为所述多个智能合约对应的合约开发用户;
在所述合约开发用户通过合约发布平台创建得到所述多个智能合约时,将创建的每个智能合约部署在所述区块链网络对应的区块链;所述多个智能合约至少包括所述目标代理合约、所述权限管理合约和所述目标业务合约;所述目标代理合约中包含用于对所述目标业务合约进行合约映射的代理参数。
9.根据权利要求8所述的方法,其特征在于,所述多个智能合约还包括代理管理合约;
所述方法还包括:
在所述代理管理合约中将所述合约开发用户设置为合约管理用户;所述合约管理用户用于集中管理所述多个智能合约中的代理合约;所述多个智能合约中的代理合约包括所述目标代理合约。
10.根据权利要求8所述的方法,其特征在于,所述多个智能合约包括与所述目标业务合约绑定的所述目标数据合约;在所述税局注册业务存在升级之前,与所述税局注册业务对应的所述目标业务合约为第一业务合约;
所述方法还包括:
当所述税局注册业务存在业务升级时,将与所述税局注册业务相关联的所述第一业务合约中的业务逻辑与所述目标数据合约中的业务数据进行解耦操作;
将与所述税局注册业务对应的所述目标业务合约由所述第一业务合约升级调整为第二业务合约;所述第二业务合约用于调用所述目标业务合约中的业务数据。
11.根据权利要求10所述的方法,其特征在于,所述代理参数包括用于进行合约映射的代理变量和所述代理变量的值;
所述将与所述税局注册业务对应的目标业务合约由所述第一业务合约升级调整为第二业务合约,包括:
在代理管理合约中确定与所述第一业务合约相关联的所述目标代理合约;所述代理管理合约用于对所述目标代理合约中的所述代理变量进行更新;更新前的目标代理合约的合约调用地址与更新后的目标代理合约的合约调用地址保持一致;
获取所述第二业务合约的第三合约调用地址,在所述目标代理合约中建立所述第三合约调用地址与所述第二业务合约的合约名称之间的第二映射关系;
基于所述第二映射关系对所述目标代理合约中的用于进行合约映射的所述代理变量的值进行更新,将更新后的目标代理合约写入所述区块链;所述更新后的目标代理合约的合约调用地址为所述第一合约调用地址;
在获取到所述合约调用终端发送的针对所述更新后的目标代理合约的第二调用指令时,基于所述第一合约调用地址获取所述更新后的目标代理合约;
根据所述更新后的目标代理合约中的代理变量所对应的第二映射关系,获取所述第二业务合约。
12.根据权利要求1所述的方法,其特征在于,所述目标用户为税局发布用户;所述目标业务包括税局发布业务,所述目标业务合约包含所述税局发布业务对应的业务发布合约;所述业务发布合约中包含与所述税局发布用户相关联的多个税局校验用户的公钥信息;所述多个税局校验用户包括税局校验用户1和税局校验用户2,且所述税局校验用户1和所述税局校验用户2均为写入所述业务发布合约中的税局校验用户;
在所述调用所述目标业务合约执行所述目标业务之前,所述方法还包括:
监测并收集由所述多个税局校验用户中的所述税局校验用户1所返回的签名信息以及所述税局校验用户2所返回的签名信息;所述税局校验用户1所返回的签名信息是由所述税局校验用户1的私钥信息对所述税局发布业务中的业务数据信息的哈希值进行签名后所确定的;所述业务数据信息为所述税局校验用户1所同意发布的;所述税局校验用户2所返回的签名信息是由所述税局校验用户2的私钥信息对所述业务数据信息的哈希值进行签名后所确定的;所述业务数据信息为所述税局校验用户2所同意发布的;
通过所述业务发布合约中所存储的所述税局校验用户1的公钥信息,对所述税局校验用户1所返回的签名信息进行验签操作,且通过所述业务发布合约中所存储的所述税局校验用户2的公钥信息,对所述税局校验用户2所返回的进行验签操作;
在验签成功时,确认所述税局发布用户所请求发布的所述税局发布业务中的所述业务数据信息具备合法性。
13.一种合约数据处理装置,其特征在于,包括:
第一指令获取模块,用于获取目标用户通过合约调用终端发送的针对目标代理合约的第一调用指令;所述第一调用指令中携带所述目标代理合约对应的第一合约调用地址、与所述合约调用终端相关联的目标业务以及所述目标用户的用户标识信息;所述用户标识信息包含所述目标用户的访问地址标识信息;
代理合约调用模块,用于基于所述第一调用指令中的所述第一合约调用地址获取所述目标代理合约;所述目标代理合约中包含与所述目标业务对应的目标业务合约的第二合约调用地址;
权限查询模块,用于获取与所述目标代理合约相关联的权限管理合约,调用所述权限管理合约中的查询函数获取所述权限管理合约中的权限管理列表;所述权限管理列表中包含多个授权用户的注册标识信息;
所述权限查询模块,还用于若在所述权限管理列表的所述多个授权用户的注册标识信息中查找到与所述目标用户的访问地址标识信息相匹配的注册标识信息,则确定所述目标用户属于所述权限管理合约中的授权用户;
目标业务执行模块,用于在确定所述目标用户具备所述权限管理合约中的授权用户的访问权限时,通过所述第二合约调用地址访问所述目标业务合约,调用所述目标业务合约所绑定的目标数据合约执行所述目标业务。
14.一种节点设备,其特征在于,包括:处理器、存储器、网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行如权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365672.2A CN113032490B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911237807.6A CN110941679B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
CN202110365672.2A CN113032490B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911237807.6A Division CN110941679B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032490A CN113032490A (zh) | 2021-06-25 |
CN113032490B true CN113032490B (zh) | 2022-07-12 |
Family
ID=69909702
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110365672.2A Active CN113032490B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
CN201911237807.6A Active CN110941679B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911237807.6A Active CN110941679B (zh) | 2019-12-05 | 2019-12-05 | 一种合约数据处理方法、相关设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113032490B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338645B (zh) * | 2020-05-15 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 系统合约的创建方法及装置 |
CN111797106B (zh) * | 2020-06-24 | 2023-09-01 | 北京荷月科技有限公司 | 一种兼容多版本合约并行的合约权限设置方法和系统 |
CN111797374B (zh) * | 2020-07-21 | 2023-06-06 | 浙江同善人工智能技术有限公司 | 一种基于公链智能合约的供应链访问控制系统和方法 |
CN112187772B (zh) * | 2020-09-23 | 2021-09-21 | 上海万向区块链股份公司 | 基于智能合约设计的权限控制方法、系统及介质 |
CN112437441B (zh) * | 2020-10-22 | 2022-08-05 | 山东省科学院自动化研究所 | 面向物联网的基于智能合约的访问控制系统及方法 |
CN112948866B (zh) * | 2021-03-29 | 2024-05-10 | iCALC控股有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN112995211B (zh) * | 2021-04-21 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、设备及存储介质 |
CN113327115B (zh) * | 2021-05-11 | 2023-07-04 | 支付宝(杭州)信息技术有限公司 | 租赁业务的处理方法、装置、设备及系统 |
CN113271211B (zh) * | 2021-05-18 | 2023-03-24 | 网易(杭州)网络有限公司 | 一种数字身份验证系统、方法、电子设备及存储介质 |
CN113297217B (zh) * | 2021-05-20 | 2021-12-17 | 广州光点信息科技有限公司 | 一种数据传输方法、装置及系统 |
CN113379422B (zh) * | 2021-08-12 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 基于智能合约的数据处理方法、设备以及可读存储介质 |
CN113535690B (zh) * | 2021-09-15 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 一种区块链服务网络的组建方法和装置 |
CN114089711B (zh) * | 2022-01-21 | 2022-05-17 | 深圳艾灵网络有限公司 | 工业设备控制管理方法、电子设备及存储介质 |
CN117155536B (zh) * | 2023-09-01 | 2024-08-20 | 佛山市康颐福城市服务科技有限公司 | 智能合约的交易管理方法、装置、设备和可读存储介质 |
CN117540356B (zh) * | 2024-01-10 | 2024-03-12 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522735A (zh) * | 2018-11-29 | 2019-03-26 | 上海中信信息发展股份有限公司 | 一种基于智能合约的数据权限验证方法及装置 |
CN109559229A (zh) * | 2018-11-30 | 2019-04-02 | 众安信息技术服务有限公司 | 基于区块链的更新智能合约组的方法 |
CN109639646A (zh) * | 2018-11-16 | 2019-04-16 | 清华大学 | 基于区块链的物联网安全检测方法及系统 |
CN110474865A (zh) * | 2018-05-11 | 2019-11-19 | 北京轻信科技有限公司 | 区块链用户权限系统及实现方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3454238B1 (en) * | 2016-12-23 | 2022-02-09 | CloudMinds (Shanghai) Robotics Co., Ltd. | Registration and authorization method, device and system |
CN108492180B (zh) * | 2018-02-14 | 2020-11-24 | 创新先进技术有限公司 | 资产管理方法及装置、电子设备 |
KR102113265B1 (ko) * | 2018-03-14 | 2020-05-20 | 주식회사 아이시티코리아 | 블록체인 기반 스마트 계약시스템 및 그 방법 |
FR3079322B1 (fr) * | 2018-03-26 | 2021-07-02 | Commissariat Energie Atomique | Methode et systeme de gestion d'acces a des donnees personnelles au moyen d'un contrat intelligent |
CN110443658B (zh) * | 2018-12-07 | 2023-01-24 | 深圳市智税链科技有限公司 | 基于区块链系统的税务管理方法、装置、介质及电子设备 |
CN110598394B (zh) * | 2019-03-28 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 一种权限验证方法、装置和存储介质 |
-
2019
- 2019-12-05 CN CN202110365672.2A patent/CN113032490B/zh active Active
- 2019-12-05 CN CN201911237807.6A patent/CN110941679B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110474865A (zh) * | 2018-05-11 | 2019-11-19 | 北京轻信科技有限公司 | 区块链用户权限系统及实现方法 |
CN109639646A (zh) * | 2018-11-16 | 2019-04-16 | 清华大学 | 基于区块链的物联网安全检测方法及系统 |
CN109522735A (zh) * | 2018-11-29 | 2019-03-26 | 上海中信信息发展股份有限公司 | 一种基于智能合约的数据权限验证方法及装置 |
CN109559229A (zh) * | 2018-11-30 | 2019-04-02 | 众安信息技术服务有限公司 | 基于区块链的更新智能合约组的方法 |
Non-Patent Citations (1)
Title |
---|
基于区块链的智能合约技术与应用综述;贺海武等;《计算机研究与发展》;20181115;第55卷(第11期);第2452-2466页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110941679A (zh) | 2020-03-31 |
CN113032490A (zh) | 2021-06-25 |
CN110941679B (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113032490B (zh) | 一种合约数据处理方法、相关设备及介质 | |
CN108492180B (zh) | 资产管理方法及装置、电子设备 | |
CN109478298B (zh) | 区块链实现的方法和系统 | |
US20200145373A1 (en) | System for blockchain based domain name and ip number register | |
CN109003185B (zh) | 一种智能合约的建立方法、装置、计算设备及存储介质 | |
TW201810151A (zh) | 區塊鏈實施之方法及系統 | |
WO2015116998A2 (en) | Electronic transfer and obligation enforcement system | |
CN111444209B (zh) | 一种基于区块链的数据处理方法、装置、设备及介质 | |
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
CN110532025A (zh) | 基于微服务架构的数据处理方法、装置、设备及存储介质 | |
CN111383114A (zh) | 基于区块链的资产信息管理方法和装置 | |
US11151122B2 (en) | Distributed ledger data linkage management | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN110674531B (zh) | 基于区块链的居住信息管理方法、装置、服务器及介质 | |
CN113221191B (zh) | 基于区块链的数据存证方法、装置、设备和存储介质 | |
CN110599144A (zh) | 一种区块链节点的入网方法以及装置 | |
CN111274597B (zh) | 一种数据处理方法以及设备 | |
CN111008251A (zh) | 一种数据处理方法以及设备 | |
CN113469811A (zh) | 区块链交易处理方法及装置 | |
CN110458541B (zh) | 基于区块链的对象置换方法及装置 | |
Bagchi | Using blockchain technology and smart contracts for access management in IoT devices | |
CN115913734A (zh) | 应用于联盟链的用户权限管理方法、装置及设备 | |
CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
WO2021006251A1 (ja) | 資産のバックアップ処理方法およびプログラムを記録した記録媒体 | |
Yi et al. | Bitcoin, Ethereum, Smart Contracts and Blockchain Types |
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: 40045487 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |