【技术实现步骤摘要】
基于区块链的数据处理方法、装置、设备及可读存储介质
[0001]本申请涉及计算机
,尤其涉及一种基于区块链的数据处理方法、装置、设备及可读存储介质。
技术介绍
[0002]随着网络技术的快速发展以及政府和企业对数据安全的重视,区块链得到了极大的重视和应用,因此区块链上DAPP去中心化应用逐渐增多,链上合约部署也日益频繁。
[0003]当前区块链上通过代理合约的方式进行业务逻辑合约的管理,即在区块链中部署业务逻辑合约后,将业务逻辑合约对应的链上业务合约的地址在代理合约中进行注册,然后通过代理合约来调用多个业务逻辑合约,以便于业务逻辑合约的升级和存储维护。但是针对一些具有固定业务功能的业务逻辑合约,不同用户或者不同业务需要应用这些固定业务功能时,需要分别部署其对应的业务逻辑合约,因此,当固定业务功能对应的业务逻辑合约的合约代码量越多时,每次进行业务逻辑合约的部署需要花费的gas(消耗)费用就越多,而且重复部署具有相同代码的业务逻辑合约,也大大浪费了系统资源。
技术实现思路
[0004]本申请实施例提供了一种数据处理方法、装置、设备及可读存储介质,可以减少合约部署期间的消耗费用,且可以减少系统资源的浪费。
[0005]本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
[0006]接收与第一对象相关联的业务逻辑合约调用交易;
[0007]若业务逻辑合约调用交易共识通过,则获取管理合约;管理合约中存储有一个或多个代理合约地址;每个代理合约地址分别与不同的对象链上
【技术保护点】
【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:接收与第一对象相关联的业务逻辑合约调用交易;若所述业务逻辑合约调用交易共识通过,则获取管理合约;所述管理合约中存储有一个或多个代理合约地址;每个代理合约地址分别与不同的对象链上地址相关联;每个代理合约地址对应的代理合约均与业务逻辑合约相关联;通过所述管理合约在所述一个或多个代理合约地址中,获取与所述第一对象对应的第一对象链上地址相关联的代理合约地址,作为目标代理合约地址;获取所述目标代理合约地址对应的目标代理合约,通过所述目标代理合约获取所述业务逻辑合约;通过所述业务逻辑合约执行所述业务逻辑合约调用交易,得到交易执行结果,将所述交易执行结果写入所述目标代理合约;所述目标代理合约中的所述交易执行结果与所述第一对象相关联。2.根据权利要求1所述的方法,其特征在于,所述获取所述目标代理合约地址对应的目标代理合约,通过所述目标代理合约调用所述业务逻辑合约,包括:在第一上下文环境下,在通过管理合约切换调用所述目标代理合约地址对应的目标代理合约的过程中,将第一上下文环境切换为第二上下文环境;所述第一上下文环境为所述管理合约对应的上下文环境;所述第二上下文环境为所述目标代理合约对应的上下文环境;在所述第二上下文环境下,通过所述目标代理合约委托调用业务逻辑合约;所述第二上下文环境在委托调用所述业务逻辑合约的过程中不发生变化。3.根据权利要求2所述的方法,其特征在于,所述通过所述业务逻辑合约执行所述业务逻辑合约调用交易,得到交易执行结果,将所述交易执行结果写入所述目标代理合约,包括:在所述第二上下文环境下,通过所述业务逻辑合约执行所述业务逻辑合约调用交易,得到交易执行结果;将所述交易执行结果写入所述目标代理合约对应的所述第二上下文环境中。4.根据权利要求3所述的方法,其特征在于,所述业务逻辑合约调用交易包括交易数据和待调用函数名称;所述待调用函数名称用于表征在所述业务逻辑合约中所需调用的用于执行所述交易数据的待调用函数的名称;所述在所述第二上下文环境下,通过所述业务逻辑合约执行所述业务逻辑合约调用交易,得到交易执行结果,包括:根据所述待调用函数名称在所述业务逻辑合约中获取待调用函数;根据所述待调用函数,在所述第二上下文环境中,获取针对所述交易数据的历史交易数据;通过所述交易数据和所述历史交易数据执行所述待调用函数,得到交易执行结果。5.根据权利要求1所述的方法,其特征在于,还包括:接收与第一对象相关联的代理合约部署交易;所述代理合约部署交易中包含管理合约地址;若所述代理合约部署交易共识通过,则获取所述管理合约地址所指示的管理合约;
通过所述管理合约部署与业务逻辑合约相关联的目标代理合约;将所述目标代理合约对应的代理合约地址与所述第一对象对应的第一对象链上地址,关联写入所述管理合约中。6.根据权利要求5所述的方法,其特征在于,所述管理合约包括代理合约部署代码和业务逻辑合约对应的业务逻辑合约地址;所述通过所述管理合约部署与业务逻辑合约相关联的目标代理合约,包括:通过执行所述代理合约部署代码,创建初始代理合约;将所述业务逻辑合约地址写入所述初始代理合约,得到与所述业务逻辑合约相关联的目标代理合约。7.根据权利要求1所述的方法,其特征在于,还包括:接收与管理对象相关联的管理合约部署交易;所述管理合约部署交易中包含管理合约代码、代理合约部署代码以及业务逻辑合约地址;若所述管理合约部署交易共识通过,则通过执行所述管理合约代码,创建初始管理合约;将所述代理合约部署代码和所述业务逻辑合约地址写入所述初始...
【专利技术属性】
技术研发人员:陈自民,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。