CN113342776B - 基于智能合约的交易信息迁移方法、装置、设备及介质 - Google Patents
基于智能合约的交易信息迁移方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113342776B CN113342776B CN202110542358.7A CN202110542358A CN113342776B CN 113342776 B CN113342776 B CN 113342776B CN 202110542358 A CN202110542358 A CN 202110542358A CN 113342776 B CN113342776 B CN 113342776B
- Authority
- CN
- China
- Prior art keywords
- contract
- transaction information
- target
- intelligent contract
- side chain
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种基于智能合约的交易信息迁移方法、装置、设备及介质。接收交易入链请求,交易入链请求包括基于目标智能合约产生的目标交易信息,交易入链请求指示目标交易信息存储至交易池;从交易入链请求中获取目标交易信息,目标交易信息包括目标智能合约的目标合约标识;基于预设的热点合约的合约标识和目标合约标识,确定目标智能合约是否为热点合约,其中,基于热点合约产生的热点交易信息对主链的资源占用情况满足预设的资源超量占用条件;若目标智能合约为预设的热点合约,且主链上存储的基于目标智能合约产生的历史交易信息,已经全部同步到目标智能合约对应的侧链上,向侧链发送目标交易信息,触发侧链存储目标交易信息。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种基于智能合约的交易信息迁移方法、装置、设备及介质。
背景技术
区块链作为一种新兴的分布式基础架构,相当于一个去中心化的数据存储模块,由于区块链的去中心化和数据不易更改的特性,可以利用区块链存储执行智能合约的交易信息,在对现有技术的研究和实践过程中,本申请的发明人发现,在区块链网络中,通常在一条链中存储多个智能合约的交易信息,由于在一条链中出块速度有限,会限制多个智能合约产生的大量交易信息的存储速率。
发明内容
本申请实施例提供一种基于智能合约的交易信息迁移方法、装置、设备及介质,提升了区块链网络的出块速度和交易信息的存储速率。
本申请实施例提供一种基于智能合约的交易信息迁移方法,应用于区块链网络中的主链节点,所述方法包括:
接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;
从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;
基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件;
若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
相应的,本申请实施例还提供一种基于智能合约的交易信息迁移装置,应用于区块链网络中的主链节点,所述装置包括:
接收单元,用于接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;
获取单元,用于从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;
确定单元,用于基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件;
发送单元,用于若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
可选的,所述装置还包括:
获取所述热点合约对应的所述资源超量占用条件;
获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况;
确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约。
可选的,所述装置还包括:
获取所述主链节点上部署的所有所述智能合约,在历史的交易周期内的交易信息的数量;
将所述交易信息的数量作为各个所述智能合约对所述主链的所述资源占用情况;
若所述智能合约对应的所述交易信息的数量,超过所述资源超量占用条件中的交易信息数量最大值,确定所述智能合约为所述热点合约。
可选的,所述装置还包括:
获取所述主链节点的最大出块速度,以及所述主链节点上部署的所有所述智能合约;
基于所述智能合约的数量,以及所述最大出块速度,确定每个所述智能合约的交易信息的最大产生速度;
基于所述最大产生速度和预设的交易周期,计算一个交易周期内各所述智能合约的交易信息数量最大值;
基于各智能合约的所述交易信息数量最大值,确定各智能合约为热点合约时的资源超量占用条件。
可选的,所述装置还包括:
确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息;
获取各智能合约对应的交易信息,存储至所述主链上所需的累计时长;
基于各智能合约对应的所述累计时长,确定各个所述智能合约对所述主链的所述资源占用情况;
将所述累计时长超过所述资源超量占用条件中的累计时长最大值的智能合约,确定所述热点合约。
可选的,所述装置还包括:
确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息;
获取各智能合约对应的交易信息的数据总量;
基于各智能合约对应的数据总量,确定各智能合约对所述主链的所述资源占用情况;
将所述数据总量超过所述资源超量占用条件中的交易数据量最大值的智能合约,确定所述热点合约。
可选的,所述装置还包括:
针对每一所述热点合约,确定所述热点合约待使用的侧链,所述侧链的存储内容为空;
获取所述侧链的侧链标识;
建立各所述热点合约的合约标识与侧链的侧链标识的对应关系;
所述发送单元还包括:
基于所述对应关系,获取与所述目标智能合约的所述目标合约标识对应的侧链标识;
基于所述目标智能合约对应的侧链标识,向所述目标智能合约对应的侧链发送所述目标交易信息。
可选的,所述装置还包括:
获取各所述热点合约的所述合约标识,与热点合约对应的侧链的侧链标识之间的对应关系;
基于所述对应关系,获取与所述目标智能合约对应的侧链的侧链标识;
在所述主链存储的交易信息中,获取包含所述目标合约标识的交易信息作为待同步交易信息;
基于所述目标智能合约对应的侧链标识,触发所述目标智能合约对应的侧链,基于所述待同步交易信息和所述目标智能合约执行对应的交易,将得到的交易信息存储至所述侧链。
可选的,所述发送单元还包括:
若所述目标智能合约为预设的所述热点合约,基于所述目标智能合约的所述目标合约标识,获取所述主链上存储的所述目标智能合约的所述历史交易信息的第一信息属性;
基于各所述热点合约的合约标识与侧链的侧链标识的对应关系,以及所述目标智能合约的目标合约标识,确定所述目标智能合约对应的侧链的侧链标识;
基于所述目标智能合约对应的侧链的侧链标识,确定所述侧链中存储的交易信息的第二信息属性;
基于所述第一信息属性和所述第二信息属性,确定所述目标智能合约的所述历史交易信息是否已经全部同步到所述目标智能合约对应的侧链上;
若是,向所述目标智能合约对应的所述侧链发送所述目标交易信息。
可选的,所述装置还包括:
若在所述主链上存储的基于所述目标智能合约产生的所述历史交易信息,未完全同步到所述目标智能合约对应的侧链,将所述目标交易信息存储在所述主链节点的所述交易池中。
可选的,所述装置还包括:
将存储在所述主链节点的所述交易池中的所述交易信息存储到所述主链的最新的区块上;
若所述最新的区块中包括所述目标智能合约的最新生成的交易信息,基于所述目标智能合约对应的侧链上存储的历史交易信息,和所述主链的区块中存储的所述目标智能合约的历史交易信息,确定所述主链中未同步的历史交易信息;
将所述未同步的历史交易信息,迁移至所述目标智能合约对应的侧链中。
同样的,本申请实施例还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述基于智能合约的交易信息迁移方法任一项的步骤。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现基于智能合约的交易信息迁移方法任一项的步骤。
本申请实施例提供一种基于智能合约的交易信息迁移方法、装置、设备及介质,确定了热点合约的属性为基于所述热点合约产生的热点交易信息对主链的资源占用情况满足预设的资源超量占用条件,可以利用侧链来存储基于热点合约产生的交易信息,从而使侧链分担主链需要快速存储大量交易信息的压力。根据热点合约的确定方法判断进入交易池中的目标交易信息对应的目标智能合约是否为热点合约,若是则在主链中存储的基于目标智能合约产生的历史交易信息全部同步到侧链的条件下,可以目标交易信息移至侧链中,实现多条侧链和主链可以同时新增区块来存储交易信息,提升了区块链网络的出块速度,使得新增的区块可以满足多个智能合约产生的大量交易信息的存储需求,从而提升交易信息的存储速率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于智能合约的交易信息迁移装置的系统示意图;
图2是本申请实施例提供的基于智能合约的交易信息迁移方法的流程示意图;
图3是本申请实施例提供的主链和侧链示意图;
图4是本申请实施例提供的基于智能合约的交易信息迁移方法的另一流程示意图;
图5是本申请实施例提供的基于智能合约的交易信息迁移装置的结构示意图;
图6是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种基于智能合约的交易信息迁移方法、装置、设备及介质。具体地,本申请实施例的基于智能合约的交易信息迁移可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(Personal Computer,PC)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备,终端还可以包括客户端。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参阅图1,图1为本申请实施例提供的基于智能合约的交易信息迁移装置的系统示意图。该系统可以包括主链节点A、主链节点B和主链节点C。不同的主链节点之前可以通过网络相互连接,例如,网络可以为无线网络或者有线网络,无线网络可以为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。在主链节点中可以获取区块链中由多个区块组成的主链101和侧链102。主链节点用于接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件;若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从基于智能合约的交易信息迁移装置的角度进行描述,该基于智能合约的交易信息迁移装置具体可以集成在终端设备中,该终端设备可以包括智能手机、笔记本电脑、平板电脑以及个人计算机等设备。
本申请实施例提供的一种基于智能合约的交易信息迁移方法,该方法可以由终端的处理器执行,如图2所示,该基于智能合约的交易信息迁移方法的具体流程主要包括步骤201至步骤204,详细说明如下:
步骤201、接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池。
在本申请实施例中,主链是区块链,主链以链接的区块存储数据,区块链存储在区块链网络的节点中,主链节点包括可以对主链进行操作的节点。
在本申请实施例中,区块链网络中具有多个主链节点,当其中一个或多个主链节点产生交易信息时,产生交易信息的主链节点将交易信息广播到区块链网络中的其他主链节点上,各个主链节点要先将交易信息存储到交易池中。其中,交易池中存储的是还没有存储到区块链中的交易信息。交易池具有交易代理入口,交易代理入口为交易池接收交易入链请求的http和/或tcp接口。交易信息进入到交易池之前,交意代理入口接收到交易入链请求,交易入链请求中包含了具体要存入主链的交易信息,例如基于目标智能合约产生的目标交易信息,交意代理入口根据交易入链请求的作用,将包含的交易信息存入交易池中。
在本申请的一种或多种实施方式中,交易入链请求中可以只包含一个交易信息,也可以包含多个交易信息。其中,交易信息可以是部署智能合约的内容数据,请求生成智能合约的命令数据,也可以是调用智能合约的指令数据,智能合约执行产生的结果数据等。
步骤202、从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识。
在本申请实施例中,为了将交易入链请求中包含的交易信息存储至交易池中,需要从交易入链请求中获取具体的目标交易信息,目标交易信息包括目标智能合约的目标合约标识。进一步地,为了判断目标交易信息是否为基于热点合约产生的交易信息,且可以利用热点合约的合约标识来唯一确定热点合约,所以需要从目标交易信息中提取目标合约标识,用目标合约标识来确定目标交易信息被产生时相关的目标智能合约,从而可以通过比较目标智能合约的目标合约标识与热点合约的合约标识是否相同,来判断目标智能合约是否为热点合约。
步骤203、基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件。
在本申请实施例中,可以基于热点合约产生的交易信息即为热点交易信息,若基于热点合约产生的全部热点交易信息都存储至主链上时,则全部的热点交易信息对主链的资源占用情况满足预设的资源超量占用条件。其中,主链的资源可以是主链的存储空间和/或主链的出块速度等。具体可以通过步骤S2031至步骤S2033确定可以作为热点合约的智能合约,如下所示:
步骤S2031:获取所述热点合约对应的所述资源超量占用条件。
在本申请实施例中,预先设置一个资源超量占用条件,用于判断属于热点合约的智能合约。资源超量占用条件可以是热点合约对主链的资源占用评判标准,如果智能合约对主链的资源占用情况超过资源超量占用条件,则可以判定该智能合约为热点合约。
步骤S2032:获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况。
在本申请实施例中,智能合约对主链的资源占用情况可以用智能合约一段时间内产生的交易信息的数量来评定,可以用一个智能合约产生的历史交易信息存储至主链所需要的累计时长来评定,还可以用智能合约产生的交易信息的数据总量来衡量等。当选取一个衡量条件时,获取每个智能合约在此条件下对主链的资源占用情况来相互比较。
步骤S2033:确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约。
在本申请实施例中,当智能合约对主链的资源占用情况用智能合约一段时间内产生的交易信息的数量来评定时,上述步骤S2032中“获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况”可以通过如下步骤S20321至步骤S20322实现:
步骤S20321:获取所述主链节点上部署的所有所述智能合约,在历史的交易周期内的交易信息的数量。
在本申请实施例中,历史的交易周期为一段预设时间,即为智能合约已经产生的历史交易信息的数量检测周期。例如,可以设置历史的交易周期为一天,每天获取在主链上部署的各个智能合约产生的交易信息的数量。
步骤S20322:将所述交易信息的数量作为各个所述智能合约对所述主链的所述资源占用情况。
在本申请实施例中,将历史的交易周期内获取的基于各个智能合约产生的交易信息的数量,作为各个智能合约对主链的资源占用情况。
并且,在利用历史的交易周期内的交易信息的数量作为资源占用情况时,步骤S2033“确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约”具体可以为:若所述智能合约对应的所述交易信息的数量,超过所述资源超量占用条件中的交易信息数量最大值,确定所述智能合约为所述热点合约。
在本申请的一些实施例中,当用智能合约历史的交易周期内产生的交易信息的数量来评定对主链的资源占用情况时,为了找到相同条件的评判标准,可以获取资源超量占用条件中的交易信息数量最大值与各个智能合约历史的交易周期内产生的交易信息的数量来比较。一个智能合约在任意一个历史的交易周期内产生的交易信息的数量超过交易信息数量最大值,则可以确定该智能合约成为热点合约。此外,可能一个智能合约在开始部署的时候,在历史的交易周期内产生的交易信息数量小于交易信息数量最大值,此时该智能合约不属于热点合约,随着该智能合约的持续部署和执行,该智能合约在历史的交易周期内产生的交易信息会超过交易信息数量最大值,此时该智能合约变为热点合约。其中,交易信息数量最大值可以是热点合约在历史的交易周期内产生的交易信息的数量。
在本申请实施例中,当利用历史的交易周期内的交易信息的数量作为资源占用情况时,上述步骤S2031中“获取所述热点合约对应的资源超量占用条件”具体可以通过如下步骤S20311至步骤S20314实现:
步骤S20311:获取所述主链节点的最大出块速度,以及所述主链节点上部署的所有所述智能合约。
在本申请实施例中,主链节点的最大出块速度可以是主链节点打包交易池中的交易信息存储至主链上,从而形成主链上的一个区块的速度。
步骤S20312:基于所述智能合约的数量,以及所述最大出块速度,确定每个所述智能合约的交易信息的最大产生速度。
在本申请的一些实施例中,主链节点上部署了多个智能合约,基于每个智能合约都会产生交易信息,并且需要将各个智能合约产生的交易信息打包存储至主链上,形成主链的区块。由于主链节点的出块速度有限,所以一段时间内在主链上可以产生的区块数量有限,产生的区块可以容纳的交易信息的总数量有限,因此基于各个智能合约在一端时间内可以产生的交易信息的数量有限。由此,可以根据智能合约的数量和最大出块速度来确定出每个智能合约的交易信息的最大产生速度。
步骤S20313:基于所述最大产生速度和预设的交易周期,计算一个交易周期内各所述智能合约的交易信息数量最大值。
在本申请实施例中,获取各个智能合约的最大产生速度和预设的交易周期后,可以根据计算得出各智能合约的所述交易信息数量最大值。
步骤S20314:基于各智能合约的所述交易信息数量最大值,确定各智能合约为热点合约时的资源超量占用条件。
在本申请的一些实施例中,当得出各个智能合约的交易信息数量最大值时,可以比较各个智能合约的交易信息数量最大值,从中选取一个作为判定热点合约的交易信息数量最大值。当确定了热点合约的交易信息数量最大值时,可以根据相似的方法,或者根据资源超量占用条件中其他判定条件与交易信息数量最大值的关系,确定资源超量占用条件中的全部判定条件,例如,其他判定条件可以为累计时长最大值和/或交易数据量最大值。
在本申请的一些实施例中,当主链节点上部署的智能合约的数量发生改变时,可以根据新的智能合约的数量重新确定每个智能合约的交易信息的最大产生速度,进而确定预设的交易周期内各智能合约的交易信息数量最大值。
在本申请实施例中,当智能合约对主链的资源占用情况用一个智能合约产生的历史交易信息存储至主链所需要的累计时长来确定时,上述步骤S2032中“获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况”可以通过如下步骤S20323至步骤S20324实现:
步骤S20323:确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息。
在本申请实施例中,当主链节点将存储在交易池中的交易信息打包存储在区块链上,形成区块链上的一个区块时,获取交易信息打包并形成区块的时间,作为一个交易信息存储至主链所需的第一子持续时长,然后获取该区块中基于各个智能合约产生的交易信息的数量,根据数量与第一子持续时长的乘积,获取该区块中基于各个智能合约产生的交易信息存储至主链所需要的第二子持续时长,然后获取主链上各个区块中各智能合约的第二子持续时长的总和,形成各智能合约已经产生的交易信息存储至主链时所需的持续时长。
步骤S20324:获取各智能合约对应的交易信息,存储至所述主链上所需的累计时长;基于各智能合约对应的所述累计时长,确定各个所述智能合约对所述主链的所述资源占用情况。
并且,在利用持续时长作为资源占用情况时,步骤S2033“确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约”具体可以为:将所述累计时长超过所述资源超量占用条件中的累计时长最大值的智能合约,确定所述热点合约。
在本申请实施例中,信息存储时长最大值是基于热点合约产生的交易信息打包至主链上的累计时长。可以获取基于热点合约产生的全部交易信息存储至主链上的持续时长作为信息存储时长最大值,也可以获取部分基于热点合约产生的交易信息存储至主链上的累计时长作为信息存储时长最大值。在利用持续时长作为资源占用情况时,将各个智能合约对应的持续时长与信息存储时长最大值进行比较,从而获取热点合约。
在本申请实施例中,当智能合约对主链的资源占用情况用交易信息包含的数据总量进行评定时,上述步骤S2032中“获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况”可以通过如下步骤S20325至步骤S20327实现:
步骤S20325:确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息。
步骤S20326:获取各智能合约对应的交易信息的数据总量。
在本申请实施例中,获取各个智能合约已经产生的且存储至主链上的全部交易信息,然后获取每个交易信息包含的数据量,累加所有交易信息包含的数据量,形成全部交易信息包含的数据总量。
步骤S20327:基于各智能合约对应的数据总量,确定各智能合约对所述主链的所述资源占用情况。
并且,在利用数据量作为资源占用情况时,步骤S2033“确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约”具体可以为:将所述数据总量超过所述资源超量占用条件中的交易数据量最大值的智能合约,确定所述热点合约。
在本申请实施例中,交易数据量最大值可以是基于热点合约产生的交易信息包含的数据总量。可以获取基于热点合约产生的全部交易信息包含的数据总量作为交易数据量最大值,也可以获取基于热点合约产生的部分交易信息包含的数据总量作为交易数据量最大值。
步骤204、若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
在本申请实施例中,向侧链发送目标交易信息可以是将目标交易信息发送给侧链所在的侧链节点,侧链节点具有侧链地址,基于侧链地址将目标交易信息发送到侧链上,由侧链节点将目标交易信息打包到侧链上,形成侧链上的一个区块。
在本申请实施例中,历史交易信息为基于目标智能合约产生的部分交易信息,且该部分交易信息已经存储至主链上。
在本申请实施例中,上述步骤S2033中“确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约”之后,为了避免所有智能合约产生的交易信息都存储至主链上,使主链无法满足大量交易信息的存储需求的情况不出现,可以将基于热点合约产生的交易信息存储至侧链上。进一步地,为了基于侧链来统计不同热点合约的数量,可以将一个或属于一类的热点合约存储至同一条侧链上。将为了更清楚地确定哪一条侧链存储哪个热点合约产生的交易信息,可以将热点合约与对应的侧链进行关联,形成对应关系,将热点合约产生的交易信息存储至具有对应关系的侧链上。由于每一条侧链都有一个唯一的侧链标识,来区分不同侧链,且每一个热点合约都有一个合约标识来区分不同的合约,因此可以利用侧链标识和合约标识来进行关联。具体可以为“针对每一所述热点合约,确定所述热点合约待使用的侧链,所述侧链的存储内容为空;获取所述侧链的侧链标识;建立各所述热点合约的合约标识与侧链的侧链标识的对应关系”。其中,合约标识可以是智能合约在区块链节点中的存储地址标识等,侧链标识可以是侧链的IP地址等。
在本申请的一些实施例中,为了存储同一个或同一类热点合约的交易信息,需要选取存储内容为空的侧链作为热点合约待使用的侧链,当不存在存储内容为空的侧链时,可以及时生成一个新的侧链作为热点合约待使用的侧链。
在本申请实施例中,形成了各热点合约的合约标识与侧链标识的对应关系后,在此情况下,当确定了目标交易信息是基于热点合约产生的交易信息之后,上述步骤204中“向所述侧链发送所述目标交易信息”可以通过如下步骤S2041至步骤S2042实现:
步骤S2041:基于所述对应关系,获取与所述目标智能合约的所述目标合约标识对应的侧链标识。
在本申请的一些实施例中,为了将目标交易信息存储到目标智能合约对应的侧链上,需要根据对应关系找出与目标智能合约对应的侧链。
步骤S2042:基于所述目标智能合约对应的侧链标识,向所述目标智能合约对应的侧链发送所述目标交易信息。
在本申请实施例中,主链和侧链是分离的,为了在侧链上获取基于目标智能合约产生的全部交易信息,从而完整地获取目标智能合约的全部内容,更好地保证目标智能合约的执行,当目标智能合约已经产生的历史交易信息已经存储到主链上时,还需要把主链上存储的基于目标智能合约产生的历史交易信息,全部同步到目标智能合约对应的侧链上,具体可以通过如下步骤S2043至步骤S2046实现:
步骤S2043:获取各所述热点合约的所述合约标识,与热点合约对应的侧链的侧链标识之间的对应关系。
步骤S2044:基于所述对应关系,获取与所述目标智能合约对应的侧链的侧链标识。
步骤S2045:在所述主链存储的交易信息中,获取包含所述目标合约标识的交易信息作为待同步交易信息。
在本申请实施例中,待同步交易信息即为目标智能合约已经产生的存储至主链上的历史交易信息。
步骤S2046:基于所述目标智能合约对应的侧链标识,触发所述目标智能合约对应的侧链,基于所述待同步交易信息和所述目标智能合约执行对应的交易,将得到的交易信息存储至所述侧链。
在本申请实施例中,待同步交易信息是按照目标智能合约的逻辑顺序产生的,为了获取完整有序的待同步交易信息,因此可以根据目标智能合约对应的侧链标识,确定目标智能合约对应的侧链,使得该侧链待同步交易信息和目标智能合约的内容,执行对应的交易,再次重复待同步交易信息的产生过程,将得到的交易信息存储至侧链,得到的交易信息和待同步交易信息的内容一致。
在本申请实施例中,也可以找出主链中存储的全部待同步交易信息,并且获取待同步交易信息在主链上的存储顺序,按照顺序复制待同步交易信息,生成与待同步交易信息内容一致的交易信息。
在本申请实施例中,当在主链节点上生成了新的交易信息后,主链节点可以将新的交易信息发送给侧链,侧链自动将交易复制信息打包形成区块。如图3所示的主链和侧链示意图中,区块链网络中可以具有主链301,侧链302和侧链303,可以将主链上存储的热点合约1的全部交易同步到侧链302,可以将主链上存储的热点合约2的全部交易同步到侧链303。
在本申请实施例中,为了确定主链上存储的基于目标智能合约产生的历史交易信息,是否已经全部同步到目标智能合约对应的侧链上,步骤204中“若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息”具体可以为:
若所述目标智能合约为预设的所述热点合约,基于所述目标智能合约的所述目标合约标识,获取所述主链上存储的所述目标智能合约的所述历史交易信息的第一信息属性;基于各所述热点合约的合约标识与侧链的侧链标识的对应关系,以及所述目标智能合约的目标合约标识,确定所述目标智能合约对应的侧链的侧链标识;基于所述目标智能合约对应的侧链的侧链标识,确定所述侧链中存储的交易信息的第二信息属性;基于所述第一信息属性和所述第二信息属性,确定所述目标智能合约的所述历史交易信息是否已经全部同步到所述目标智能合约对应的侧链上;若是,向所述目标智能合约对应的所述侧链发送所述目标交易信息。
在本申请实施例中,第一信息属性可以是主链上存储的历史交易信息的数量,第二信息属性可以是侧链上存储的交易复制信息的数量,比较两个数量是否相等,从而判断历史交易信息,是否已经全部同步到目标智能合约对应的侧链上。
进一步地,第一信息属性还可以是第一个历史交易信息的标识信息,和最后一个历史交易信息的标识信息,第二信息属性可以是第一个交易复制信息的标识信息,和最后一个交易复制信息的标识信息,由于交易复制信息是按照历史交易信息的顺序产生的,因此只要对应比较第一个历史交易信息的标识信息和第一个交易复制信息的标识信息是否相等,以及最后一个历史交易信息的标识信息和最后一个交易复制信息的标识信息是否相等,从而判断历史交易信息,是否已经全部同步到目标智能合约对应的侧链上。
在本申请实施例中,在目标交易信息是基于热点合约产生的交易信息的情况下,当出现主链上存储的基于目标智能合约产生的历史交易信息,未完全同步到侧链上的情况时,基于智能合约的交易信息迁移方还可以具有步骤205:若在所述主链上存储的基于所述目标智能合约产生的所述历史交易信息,未完全同步到所述目标智能合约对应的侧链,将所述目标交易信息存储在所述主链节点的所述交易池中。
在本申请实施例中,在目标交易信息暂时存储在主链节点的交易池中后,为了保证侧链上基于目标智能合约产生的目标交易信息的完整性,还需要将目标交易信息存储至侧链上,因此,将存储到交易池的目标交易信息存储到侧链中的步骤可以为“将存储在所述主链节点的所述交易池中的所述交易信息存储到所述主链的最新的区块上;若所述最新的区块中包括所述目标智能合约的最新生成的交易信息,基于所述目标智能合约对应的侧链上存储的历史交易信息,和所述主链的区块中存储的所述目标智能合约的历史交易信息,确定所述主链中未同步的历史交易信息;将所述未同步的历史交易信息,迁移至所述目标智能合约对应的侧链中”。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例提供一种基于智能合约的交易信息迁移方法,设置了热点合约的确定方法为基于所述热点合约产生的热点交易信息对主链的资源占用情况满足预设的资源超量占用条件,可以利用侧链来存储基于热点合约产生的交易信息,从而使侧链分担主链需要快速存储大量交易信息的压力。根据热点合约的确定方法判断进入交易池中的目标交易信息对应的目标智能合约是否为热点合约,若是则在主链中存储的基于目标智能合约产生的历史交易信息全部同步到侧链的条件下,可以目标交易信息移至侧链中,实现多条侧链和主链可以同时新增区块来存储交易信息,提升了区块链网络的出块速度,使得新增的区块可以满足多个智能合约产生的大量交易信息的存储需求,从而提升交易信息的存储速率。
请参阅图4,图4为本申请实施例提供的基于智能合约的交易信息迁移方法的另一流程示意图。该方法的具体流程可以如下:
步骤401、接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息。
例如,交易信息进入到交易池之前,交意代理入口接收到交易入链请求,交易入链请求中包含了具体要存入主链的交易信息,例如基于目标智能合约产生的目标交易信息,交意代理入口根据交易入链请求的作用,将包含的交易信息存入交易池中。
步骤402、从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识。
步骤403、获取所述热点合约对应的所述资源超量占用条件。
例如,预先设置一个资源超量占用条件,用于判断属于热点合约的智能合约。资源超量占用条件可以是热点合约对主链的资源占用评判标准,如果智能合约对主链的资源占用情况超过资源超量占用条件,则可以判定该智能合约为热点合约。
步骤404、获取所述目标智能合约在历史交易周期内的交易信息的数量。
例如,可以设置历史交易周期为一天,每天获取基于目标智能合约产生的交易信息的数量。
步骤405、若所述目标智能合约对应的所述交易信息的数量,超过所述资源超量占用条件中的交易信息数量最大值,确定所述目标智能合约为所述热点合约。
例如,一个智能合约在任意一个历史交易周期内产生的交易信息的数量超过交易信息数量最大值,则可以确定该智能合约成为热点合约。
步骤406、若所述目标智能合约为预设的所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
步骤407、若在所述主链上存储的基于所述目标智能合约产生的所述历史交易信息,未完全同步到所述侧链,将所述目标交易信息存储在所述主链节点的所述交易池中。
在本申请实施例中,在目标交易信息暂时存储在主链节点的交易池中后,为了保证侧链上基于目标智能合约产生的目标交易信息的完整性,还需要将目标交易信息存储至侧链上。
步骤408、将存储在交易池中的目标交易信息和所述主链上存储的未同步到所述侧链上的所述历史交易信息,发送到侧链,触发侧链自动存储。
例如,将存储在主链节点的交易池中的目标交易信息存储到主链的区块上,形成目标智能合约的最新生成的历史交易信息;将最新生成的历史交易信息,和主链上存储的未同步到侧链上的历史交易信息,作为未同步的历史交易信息;向侧链发送未同步的历史交易信息,触发侧链存储未同步的历史交易信息。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例提供一种基于智能合约的交易信息迁移方法,确定了热点合约的属性为基于所述热点合约产生的热点交易信息对主链的资源占用情况满足预设的资源超量占用条件,可以利用侧链来存储基于热点合约产生的交易信息,从而使侧链分担主链需要快速存储大量交易信息的压力。根据热点合约的确定方法判断进入交易池中的目标交易信息对应的目标智能合约是否为热点合约,若是则在主链中存储的基于目标智能合约产生的历史交易信息全部同步到侧链的条件下,可以目标交易信息移至侧链中,实现多条侧链和主链可以同时新增区块来存储交易信息,提升了区块链网络的出块速度,使得新增的区块可以满足多个智能合约产生的大量交易信息的存储需求,从而提升交易信息的存储速率。
为便于更好的实施本申请实施例的基于智能合约的交易信息迁移方法,本申请实施例还提供一种基于智能合约的交易信息迁移装置。请参阅图5,图5为本申请实施例提供的基于智能合约的交易信息迁移装置的结构示意图。该基于智能合约的交易信息迁移装置可以包括接收单元501、获取单元502、确定单元503和发送单元504。
其中,接收单元501,用于接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;
获取单元502,用于从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;
确定单元503,用于基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件;
发送单元504,用于若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
可选的,所述装置还包括:
获取所述热点合约对应的所述资源超量占用条件;
获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况;
确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约。
可选的,所述装置还包括:
获取所述主链节点上部署的所有所述智能合约,在历史的交易周期内的交易信息的数量;
将所述交易信息的数量作为各个所述智能合约对所述主链的所述资源占用情况;
若所述智能合约对应的所述交易信息的数量,超过所述资源超量占用条件中的交易信息数量最大值,确定所述智能合约为所述热点合约。
可选的,所述装置还包括:
获取所述主链节点的最大出块速度,以及所述主链节点上部署的所有所述智能合约;
基于所述智能合约的数量,以及所述最大出块速度,确定每个所述智能合约的交易信息的最大产生速度;
基于所述最大产生速度和预设的交易周期,计算一个交易周期内各所述智能合约的交易信息数量最大值;
基于各智能合约的所述交易信息数量最大值,确定各智能合约为热点合约时的资源超量占用条件。
可选的,所述装置还包括:
确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息;
获取各智能合约对应的交易信息,存储至所述主链上所需的累计时长;
基于各智能合约对应的所述累计时长,确定各个所述智能合约对所述主链的所述资源占用情况;
将所述累计时长超过所述资源超量占用条件中的累计时长最大值的智能合约,确定所述热点合约。
可选的,所述装置还包括:
确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息;
获取各智能合约对应的交易信息的数据总量;
基于各智能合约对应的数据总量,确定各智能合约对所述主链的所述资源占用情况;
将所述数据总量超过所述资源超量占用条件中的交易数据量最大值的智能合约,确定所述热点合约。
可选的,所述装置还包括:
针对每一所述热点合约,确定所述热点合约待使用的侧链,所述侧链的存储内容为空;
获取所述侧链的侧链标识;
建立各所述热点合约的合约标识与侧链的侧链标识的对应关系;
所述发送单元504还包括:
基于所述对应关系,获取与所述目标智能合约的所述目标合约标识对应的侧链标识;
基于所述目标智能合约对应的侧链标识,向所述目标智能合约对应的侧链发送所述目标交易信息。
可选的,所述装置还包括:
获取各所述热点合约的所述合约标识,与热点合约对应的侧链的侧链标识之间的对应关系;
基于所述对应关系,获取与所述目标智能合约对应的侧链的侧链标识;
在所述主链存储的交易信息中,获取包含所述目标合约标识的交易信息作为待同步交易信息;
基于所述目标智能合约对应的侧链标识,触发所述目标智能合约对应的侧链,基于所述待同步交易信息和所述目标智能合约执行对应的交易,将得到的交易信息存储至所述侧链。
可选的,所述发送单元504还包括:
若所述目标智能合约为预设的所述热点合约,基于所述目标智能合约的所述目标合约标识,获取所述主链上存储的所述目标智能合约的所述历史交易信息的第一信息属性;
基于各所述热点合约的合约标识与侧链的侧链标识的对应关系,以及所述目标智能合约的目标合约标识,确定所述目标智能合约对应的侧链的侧链标识;
基于所述目标智能合约对应的侧链的侧链标识,确定所述侧链中存储的交易信息的第二信息属性;
基于所述第一信息属性和所述第二信息属性,确定所述目标智能合约的所述历史交易信息是否已经全部同步到所述目标智能合约对应的侧链上;
若是,向所述目标智能合约对应的所述侧链发送所述目标交易信息。
可选的,所述装置还包括:
若在所述主链上存储的基于所述目标智能合约产生的所述历史交易信息,未完全同步到所述目标智能合约对应的侧链,将所述目标交易信息存储在所述主链节点的所述交易池中。
可选的,所述装置还包括:
将存储在所述主链节点的所述交易池中的所述交易信息存储到所述主链的最新的区块上;
若所述最新的区块中包括所述目标智能合约的最新生成的交易信息,基于所述目标智能合约对应的侧链上存储的历史交易信息,和所述主链的区块中存储的所述目标智能合约的历史交易信息,确定所述主链中未同步的历史交易信息;
将所述未同步的历史交易信息,迁移至所述目标智能合约对应的侧链中。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
本申请实施例提供的基于智能合约的交易信息迁移装置,通过接收单元501接收包含目标交易信息的交易入链请求,然后,通过获取单元502获取目标交易信息的目标合约标识,之后,通过确定单元503根据热点合约的确定方法判断进入交易池中的目标交易信息对应的目标智能合约是否为热点合约,最后,通过发送单元504判断若是则在主链中存储的基于目标智能合约产生的历史交易信息全部同步到侧链的条件下,可以目标交易信息移至侧链中,实现多条侧链和主链可以同时新增区块来存储交易信息,提升了区块链网络的出块速度,使得新增的区块可以满足多个智能合约产生的大量交易信息的存储需求,从而提升交易信息的存储速率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理等终端设备。如图6所示,图6为本申请实施例提供的计算机设备的结构示意图。该计算机设备600包括有一个或者一个以上处理核心的处理器601、有一个或一个以上计算机可读存储介质的存储器602及存储在存储器602上并可在处理器上运行的计算机程序。其中,处理器601与存储器602电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器601是计算机设备600的控制中心,利用各种接口和线路连接整个计算机设备600的各个部分,通过运行或加载存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备600的各种功能和处理数据,从而对计算机设备600进行整体监控。
在本申请实施例中,计算机设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:
接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件;若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图6所示,计算机设备600还包括:触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607。其中,处理器601分别与触控显示屏603、射频电路604、音频电路605、输入单元606以及电源607电性连接。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏603可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏603可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器601,并能接收处理器601发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器601以确定触摸事件的类型,随后处理器601根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏603而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏603也可以作为输入单元606的一部分实现输入功能。
在本申请实施例中,通过处理器601根据热点合约的属性判断基于目标智能合约产生的目标交易信息是否是基于热点合约产生的,如果目标交易信息包括热点合约的合约标识,则可以确定目标交易信息是基于热点合约产生的。此时还需要通过处理器601判断存储在主链上的基于目标智能合约产生的历史交易信息是否完全同步到侧链上,从而根据判断结果确定是否将目标交易信息发送到侧链上。
射频电路604可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路605可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路605可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路605接收后转换为音频数据,再将音频数据输出处理器601处理后,经射频电路604以发送给比如另一计算机设备,或者将音频数据输出至存储器602以便进一步处理。音频电路605还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元606可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源607用于给计算机设备600的各个部件供电。可选的,电源607可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源607还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图6中未示出,计算机设备600还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,确定了热点合约的属性为基于所述热点合约产生的热点交易信息对主链的资源占用情况满足预设的资源超量占用条件,可以利用侧链来存储基于热点合约产生的交易信息,从而使侧链分担主链需要快速存储大量交易信息的压力。根据热点合约的确定方法判断进入交易池中的目标交易信息对应的目标智能合约是否为热点合约,若是则在主链中存储的基于目标智能合约产生的历史交易信息全部同步到侧链的条件下,可以目标交易信息移至侧链中,实现多条侧链和主链可以同时新增区块来存储交易信息,提升了区块链网络的出块速度,使得新增的区块可以满足多个智能合约产生的大量交易信息的存储需求,从而提升交易信息的存储速率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种基于智能合约的交易信息迁移方法中的步骤。例如,该计算机程序可以执行如下步骤:
接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,基于所述热点合约产生的交易信息对主链的资源占用情况满足预设的资源超量占用条件;若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种基于智能合约的交易信息迁移方法中的步骤,因此,可以实现本申请实施例所提供的任一种基于智能合约的交易信息迁移方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种基于智能合约的交易信息迁移方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。
Claims (14)
1.一种基于智能合约的交易信息迁移方法,其特征在于,应用于区块链网络中的主链节点,所述方法包括:
接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;
从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;
基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,所述热点合约为对主链的资源占用情况超过预设资源超量占用条件中设置的资源占用参数的智能合约;
若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述热点合约对应的所述资源超量占用条件;
获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况;
确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约。
3.根据权利要求2所述的方法,其特征在于,所述获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况,包括:
获取所述主链节点上部署的所有所述智能合约,在历史的交易周期内的交易信息的数量;
将所述交易信息的数量作为各个所述智能合约对所述主链的所述资源占用情况;
所述确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约,包括:
若所述智能合约对应的所述交易信息的数量,超过所述资源超量占用条件中的交易信息数量最大值,确定所述智能合约为所述热点合约。
4.根据权利要求2所述的方法,其特征在于,所述获取所述热点合约对应的所述资源超量占用条件,包括:
获取所述主链节点的最大出块速度,以及所述主链节点上部署的所有智能合约;
基于所述智能合约的数量,以及所述最大出块速度,确定每个所述智能合约的交易信息的最大产生速度;
基于所述最大产生速度和预设的交易周期,计算一个交易周期内各所述智能合约的交易信息数量最大值;
基于各智能合约的所述交易信息数量最大值,确定各智能合约为热点合约时的资源超量占用条件。
5.根据权利要求2所述的方法,其特征在于,所述获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况,包括:
确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息;
获取各智能合约对应的交易信息,存储至所述主链上所需的累计时长;
基于各智能合约对应的所述累计时长,确定各个所述智能合约对所述主链的所述资源占用情况;
所述确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约,包括:
将所述累计时长超过所述资源超量占用条件中的累计时长最大值的智能合约,确定所述热点合约。
6.根据权利要求2所述的方法,其特征在于,所述获取所述主链节点上部署的所有智能合约对所述主链的所述资源占用情况,包括:
确定所述主链的区块中,基于所述主链节点上部署的各个所述智能合约产生的交易信息;
获取各智能合约对应的交易信息的数据总量;
基于各智能合约对应的数据总量,确定各智能合约对所述主链的所述资源占用情况;
所述确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约,包括:
将所述数据总量超过所述资源超量占用条件中的交易数据量最大值的智能合约,确定所述热点合约。
7.根据权利要求2所述的方法,其特征在于,确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约后,还包括:
针对每一所述热点合约,确定所述热点合约待使用的侧链,所述侧链的存储内容为空;
获取所述侧链的侧链标识;
建立各所述热点合约的合约标识与侧链的侧链标识的对应关系;
所述向所述侧链发送所述目标交易信息,包括:
基于所述对应关系,获取与所述目标智能合约的所述目标合约标识对应的侧链标识;
基于所述目标智能合约对应的侧链标识,向所述目标智能合约对应的侧链发送所述目标交易信息。
8.根据权利要求2所述的方法,其特征在于,所述确定所述资源占用情况满足所述资源超量占用条件的智能合约为所述热点合约后,还包括:
获取各所述热点合约的所述合约标识,与热点合约对应的侧链的侧链标识之间的对应关系;
基于所述对应关系,获取与所述目标智能合约对应的侧链的侧链标识;
在所述主链存储的交易信息中,获取包含所述目标合约标识的交易信息作为待同步交易信息;
基于所述目标智能合约对应的侧链标识,触发所述目标智能合约对应的侧链,基于所述待同步交易信息和所述目标智能合约执行对应的交易,将得到的交易信息存储至所述侧链。
9.根据权利要求1所述的方法,其特征在于,所述若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息,包括:
若所述目标智能合约为预设的所述热点合约,基于所述目标智能合约的所述目标合约标识,获取所述主链上存储的所述目标智能合约的所述历史交易信息的第一信息属性;
基于各所述热点合约的合约标识与侧链的侧链标识的对应关系,以及所述目标智能合约的目标合约标识,确定所述目标智能合约对应的侧链的侧链标识;
基于所述目标智能合约对应的侧链的侧链标识,确定所述侧链中存储的交易信息的第二信息属性;
基于所述第一信息属性和所述第二信息属性,确定所述目标智能合约的所述历史交易信息是否已经全部同步到所述目标智能合约对应的侧链上;
若是,向所述目标智能合约对应的所述侧链发送所述目标交易信息。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在所述主链上存储的基于所述目标智能合约产生的所述历史交易信息,未完全同步到所述目标智能合约对应的侧链,将所述目标交易信息存储在所述主链节点的所述交易池中。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
将存储在所述主链节点的所述交易池中的所述交易信息存储到所述主链的最新的区块上;
若所述最新的区块中包括所述目标智能合约的最新生成的交易信息,基于所述目标智能合约对应的侧链上存储的历史交易信息,和所述主链的区块中存储的所述目标智能合约的历史交易信息,确定所述主链中未同步的历史交易信息;
将所述未同步的历史交易信息,迁移至所述目标智能合约对应的侧链中。
12.一种基于智能合约的交易信息迁移装置,其特征在于,应用于区块链网络中的主链节点,所述装置包括:
接收单元,用于接收交易入链请求,所述交易入链请求包括基于目标智能合约产生的目标交易信息,所述交易入链请求用于指示将所述目标交易信息存储至所述主链节点的交易池;
获取单元,用于从所述交易入链请求中获取所述目标交易信息,所述目标交易信息包括所述目标智能合约的目标合约标识;
确定单元,用于基于预设的热点合约的合约标识,以及所述目标智能合约的目标合约标识,确定所述目标智能合约是否为所述热点合约,其中,所述热点合约为对主链的资源占用情况超过预设资源超量占用条件中设置的资源占用参数的智能合约;
发送单元,用于若所述目标智能合约为所述热点合约,且所述主链上存储的基于所述目标智能合约产生的历史交易信息,已经全部同步到所述目标智能合约对应的侧链上,向所述侧链发送所述目标交易信息,触发所述侧链存储所述目标交易信息。
13.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现如权利要求1至11任一项所述基于智能合约的交易信息迁移方法中的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述基于智能合约的交易信息迁移方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110542358.7A CN113342776B (zh) | 2021-05-18 | 2021-05-18 | 基于智能合约的交易信息迁移方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110542358.7A CN113342776B (zh) | 2021-05-18 | 2021-05-18 | 基于智能合约的交易信息迁移方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342776A CN113342776A (zh) | 2021-09-03 |
CN113342776B true CN113342776B (zh) | 2022-11-15 |
Family
ID=77469233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110542358.7A Active CN113342776B (zh) | 2021-05-18 | 2021-05-18 | 基于智能合约的交易信息迁移方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342776B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561231B (zh) * | 2023-07-10 | 2023-09-22 | 北京银联金卡科技有限公司 | 一种基于分链技术的联盟链数据处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613877A (zh) * | 2020-12-17 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 应用于区块链网络的智能合约触发方法、装置及相关设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11257073B2 (en) * | 2018-01-31 | 2022-02-22 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
CN111327648B (zh) * | 2018-12-13 | 2022-04-12 | 北京果仁宝软件技术有限责任公司 | 基于区块链智能合约的处理方法和系统 |
CN110210845B (zh) * | 2019-06-11 | 2021-06-18 | 网易(杭州)网络有限公司 | 用于区块链数据迁移的方法、装置、介质和计算设备 |
CN111415251A (zh) * | 2020-05-09 | 2020-07-14 | 杭州时戳信息科技有限公司 | 基于区块链的抵押借贷方法、系统、存储介质及计算设备 |
-
2021
- 2021-05-18 CN CN202110542358.7A patent/CN113342776B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613877A (zh) * | 2020-12-17 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 应用于区块链网络的智能合约触发方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113342776A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110808922B (zh) | 一种消息处理方法、装置、存储介质及电子设备 | |
JP2022501752A (ja) | 電子手形識別子の割り当て方法、電子手形の生成方法、及びその装置とシステム、並びに、記憶媒体及びコンピュータプログラム | |
CN112231108A (zh) | 任务处理方法、装置、计算机可读存储介质及服务器 | |
CN113157810B (zh) | 一种区块同步方法、计算机设备和存储介质 | |
CN113342776B (zh) | 基于智能合约的交易信息迁移方法、装置、设备及介质 | |
CN114461407B (zh) | 数据处理方法、装置、分发服务器、系统及存储介质 | |
CN113506100B (zh) | 联盟链数据处理方法、装置、计算机设备及存储介质 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN112905338A (zh) | 计算资源自动分配方法及装置 | |
CN114676205A (zh) | 事件信息的处理方法及装置 | |
CN115098456A (zh) | 文件处理方法、装置、存储介质及电子设备 | |
CN112783860A (zh) | 构造镜像数据库的方法、装置、存储介质及计算机设备 | |
CN114268799A (zh) | 一种流媒体传输方法、装置、电子设备及介质 | |
CN113904940A (zh) | 资源调整方法、装置、电子设备和计算机可读存储介质 | |
CN109725892B (zh) | 系统逻辑控制方法及装置 | |
CN110209491B (zh) | 一种资源管理方法、装置、服务器及存储介质 | |
CN112138397A (zh) | 一种触发器管理方法、装置、计算机设备和存储介质 | |
CN114422535B (zh) | 区块链中部署合约的方法、装置、计算机设备及存储介质 | |
CN114844911B (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN117202146B (zh) | 针对nfc无源显示设备的显示控制方法、装置及介质 | |
CN115580580B (zh) | 流量控制方法、流量控制装置、计算机可读存储介质 | |
CN113806801B (zh) | 交易信息上链方法、装置、计算机设备及存储介质 | |
CN113360883A (zh) | 一种智能合约的处理方法、装置、计算机设备及存储介质 | |
CN117632492A (zh) | 资源管理方法、装置、存储介质及电子设备 | |
CN117411830A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |