CN113535335B - 基于区块链的虚拟资源分配方法及装置和电子设备 - Google Patents

基于区块链的虚拟资源分配方法及装置和电子设备 Download PDF

Info

Publication number
CN113535335B
CN113535335B CN202111082141.9A CN202111082141A CN113535335B CN 113535335 B CN113535335 B CN 113535335B CN 202111082141 A CN202111082141 A CN 202111082141A CN 113535335 B CN113535335 B CN 113535335B
Authority
CN
China
Prior art keywords
service
user
intelligent contract
blockchain
contract
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
Application number
CN202111082141.9A
Other languages
English (en)
Other versions
CN113535335A (zh
Inventor
刘勤
黄胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202111082141.9A priority Critical patent/CN113535335B/zh
Publication of CN113535335A publication Critical patent/CN113535335A/zh
Application granted granted Critical
Publication of CN113535335B publication Critical patent/CN113535335B/zh
Priority to PCT/CN2022/109839 priority patent/WO2023040496A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Abstract

本说明书实施例提供一种基于区块链的虚拟资源分配方法及装置和电子设备。所述方法包括:获取服务提供方在中心化管控平台上注册的用户服务对应的服务数据;构建针对服务提供方所在的目标成员区块链上部署的目标系统合约的智能合约调用交易;智能合约调用交易包括服务数据;将智能合约调用交易发布至目标成员区块链,以使目标成员区块链中的节点设备响应于智能合约调用交易,调用目标系统智能合约包含的虚拟资源分配逻辑,基于服务数据确定待分配的虚拟资源的第一数量,并从目标系统智能合约中维护的虚拟资源池中,向服务提供方在目标成员区块链上注册的用户账户转入第一数量的虚拟资源。

Description

基于区块链的虚拟资源分配方法及装置和电子设备
技术领域
本说明书实施例涉及区块链技术领域,尤其涉及一种基于区块链的虚拟资源分配方法及装置和电子设备。
背景技术
随着区块链技术的发展,越来越多的业务可以利用区块链系统中部署的智能合约来实现。区块链系统作为业务背后的基础设施,运行与维护需要投入成本。因此,一些大型的服务机构分别推出了自己的区块链系统,来面向没有能力搭建区块链系统的业务方提供与区块链相关的基础服务。而接入该区块链系统的业务方可以通过调用区块链系统中部署的智能合约,来实现相应业务。
然而,在实际应用中,不同的区块链系统之间通常是相互独立的,如何利用这些相互独立的区块链系统来更有效地为业务方提供与区块链相关的基础服务,是亟待解决的技术问题。
发明内容
根据本说明书实施例的第一方面,提出一种基于区块链的虚拟资源分配方法。其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述方法包括:
获取服务提供方在所述中心化管控平台上注册的用户服务对应的服务数据;所述用户服务包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统合约的智能合约调用交易;其中,所述智能合约调用交易包括所述服务数据;
将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的虚拟资源的第一数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第一数量的虚拟资源。
根据本说明书实施例的第二方面,还提出一种基于区块链的虚拟资源分配方法,其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述方法包括:
获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量;所述服务解决方案由至少一个用户服务组合生成,所述用户服务包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述第二数量;
将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述第二数量确定待分配的虚拟资源的第三数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第三数量的虚拟资源。
根据本说明书实施例的第三方面,还提出一种基于区块链的虚拟资源分配装置,区块链服务网络包括至少一个成员区块链;其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;
所述装置包括:
第一获取模块,获取服务提供方在所述中心化管控平台上注册的用户服务对应的服务数据;所述用户服务包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
第一构建模块,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统合约的智能合约调用交易;其中,所述智能合约调用交易包括所述服务数据;
第一调用模块,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的虚拟资源的第一数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第一数量的虚拟资源。
根据本说明书实施例的第四方面,还提出一种基于区块链的虚拟资源分配装置,区块链服务网络包括至少一个成员区块链;其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述装置包括:
第二获取模块,获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量;所述服务解决方案由至少一个用户服务组合生成,所述用户服务包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
第二构建模块,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述第二数量;
第二调用模块,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述第二数量确定待分配的虚拟资源的第三数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第三数量的虚拟资源。
在本说明书以上的实施方式中,一方面,由于在中心化管控平台上注册的用户服务,可以包括来源于不同的成员区块链上的用户智能合约的合约执行逻辑;因此,通过这种方式,相当于是整合了不同的成员区块链上的用户智能合约的服务能力,将不同的成员区块链上的用户智能合约包含的具有基础服务能力的合约执行逻辑,进行整合之后生成服务能力更为复杂的服务,使得不同的成员区块链上部署的用户智能合约的服务能力,能够在各成员区块链之间被充分地流通和共享,从而从根本上解决各个成员区块链之间相互隔离,其所提供的服务能力无法被整合造成的信息孤岛的问题。
另一方面,通过在区块链服务网络中引入激励机制,向在该区块链服务网络对应的中心化管控平台上注册了用户服务或者解决方案的服务提供方发放一定数量的虚拟资源,既可以激励更多的区块链作为成员区块链加入到上述区块链服务网络,又可以激励在成员区块链上注册了用户账户的服务提供方,在区块链服务网络上注册更多的用户服务或者解决方案,从而形成良性循环。
附图说明
图1是本说明书一示例性实施例示出的区块链服务网络的网络架构图。
图2是本说明书根据一示例性实施例示出的一种区块链服务网络的管理方法的流程图。
图3是本说明书示出的一种对目标区块链进行注册处理的流程图。
图4是本说明书根据一示例性实施例示出的一种在中心化管控平台上注册用户服务的服务注册方法的流程图。
图5是本说明书根据一示例性实施例示出的一种在中心化管控平台上注册服务解决方案的服务注册方法的流程。
图6是本说明书根据一示例性实施例示出的一种针对在中心化管控平台上注册的用户服务的服务使用方法的流程图。
图7是本说明书根据一示例性实施例示出的另一种针对在中心化管控平台上注册的用户服务的服务使用方法的流程图。
图8是本说明书根据一示例性实施例示出的一种基于区块链的虚拟资源分配方法的流程图。
图9是本说明书根据一示例性实施例示出的另一种基于区块链的虚拟资源分配方法的流程图。
图10是一示例性实施例提供的一种电子设备的示意结构图。
图11是本说明书根据一示例性实施例示出的一种基于区块链的虚拟资源分配装置的框图。
图12是本说明书根据一示例性实施例示出的一种基于区块链的虚拟资源分配装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着区块链技术的不断发展,越来越多的区块链建立起来。然而,各个区块链之间,通常都是相互独立的,不同的区块链通常之间无法连通。因此,这就造成了在单个区块链上部署的用户智能合约的服务能力,无法在不同的区块链之间被充分地流通和共享。
而本说明书则旨在搭建一种由多个成员区块链构成的区块链服务网络,并通过在该区块链服务网络中引入激励机制,来激励更多的区块链作为成员区块链加入到上述区块链服务网络,并激励在成员区块链上注册了用户账户的服务提供方,在区块链服务网络上注册更多的通过整合各成员区块链上的用户智能合约所包含的合约执行逻辑生成的用户服务的技术方案。
在实现时,需要加入区块链服务网络的目标区块链,可以通过向区块链服务网络的中心化管控平台发送注册请求的方式,来注册成为该区块链服务网络的成员区块链。而中心化管控平台在接收到与该目标区块链对应的注册请求时,可以对该目标区块链进行注册处理,以将该目标区块链作为成员区块链加入到该区块链服务网络。
其中,在该中心化管控平台上,可以支持注册由部署在各成员区块链上的用户智能合约所包含的合约执行逻辑组合生成的用户服务;以及,基于已经注册的用户服务组合生成的用户服务。进一步的,上述中心化管控平台还可以通过向上述区块链服务网络中的各成员区块链,分别部署用于进行虚拟资源分配的目标系统智能合约的方式,在上述区块链服务网络中引入激励机制。
当服务提供方在上述中心化管控平台上注册了新的用户服务,则可以调用上述服务提供方所在的目标成员区块链上部署的上述系统智能合约,基于该用户服务的服务数据来确定待分配的虚拟资源的第一数量,然后向该服务提供方在该目标成员区块链上注册的用户账户,转入该第一数量的虚拟资源,作为发放给该服务提供方的激励。
相应的,当服务提供方在上述中心化管控平台上注册了新的服务解决方案,也可以调用上述服务提供方所在的目标成员区块链上部署的上述系统智能合约,基于该服务提供方注册的服务解决方案的第二数量,来确定待分配的虚拟资源的第三数量,然后向该服务提供方在该目标成员区块链上注册的用户账户,转入该第三数量的虚拟资源,作为发放给该服务提供方的激励。
在以上技术方案中,一方面,由于在中心化管控平台上注册的用户服务,可以包括来源于不同的成员区块链上的用户智能合约的合约执行逻辑;因此,通过这种方式,相当于是整合了不同的成员区块链上的用户智能合约的服务能力,将不同的成员区块链上的用户智能合约包含的具有基础服务能力的合约执行逻辑,进行整合之后生成服务能力更为复杂的服务,使得不同的成员区块链上部署的用户智能合约的服务能力,能够在各成员区块链之间被充分地流通和共享,从而从根本上解决各个成员区块链之间相互隔离,其所提供的服务能力无法被整合造成的信息孤岛的问题。
另一方面,通过在区块链服务网络中引入激励机制,向在该区块链服务网络对应的中心化管控平台上注册了用户服务或者解决方案的服务提供方发放一定数量的虚拟资源,既可以激励更多的区块链作为成员区块链加入到上述区块链服务网络,又可以激励在成员区块链上注册了用户账户的服务提供方,在区块链服务网络上注册更多的用户服务或者解决方案,从而形成良性循环。
请参见图1,图1是本说明书一示例性实施例示出的区块链服务网络的网络架构图。
如图1所示,在上述区块链服务网络的网络架构中,可以包括由若干成员区块链组成的区块链服务网络、待注册的目标区块链网络以及用于对区块链服务网络进行管理的中心化管控平台。需要说明的是,初始情况下区块链服务网络中没有成员区块链,目标区块链通过中心化管理平台完成注册后才能加入到区块链服务网络中。
其中,图1中示出的待注册的目标区块链网络,是指暂未加入区块链服务网络的区块链网络,上述目标区块链网络可以通过与中心化管控平台进行注册交互,来申请作为成员区块链加入到上述目标区块链网络。
图1中示出的第一成员区块链、第二成员区块链和第三成员区块链,是指已经加入上述区块链服务网络的成员区块链。
其中,示出的一种实施方式中,上述区块链服务网络中的至少部分成员区块链,可以是异构的区块链。
需要说明的是,狭义上的异构区块链,通常是指在区块链上流通的价值存在明显差异;也即,所流通的价值存在明显差异的两个区块链之间,通常可以称之为异构区块链。比如,比特币网络和以太坊就是狭义上的异构区块链。
而广义上的异构区块链,是指区块链的类型和/或采用的区块链协议存在明显差异;也即,区块链的类型和/或采用的区块链协议存在明显的两个区块链之间,通常也可以称之为异构区块链。比如,蚂蚁区块链(ANT CHAIN)和hyperledger fabric区块链就是广义上的异构区块链。
在上述区块链服务网络中的各成员区块链上,均可以部署若干用户智能合约。
其中,这些用户智能合约中的合约代码所表达的合约执行逻辑,通常可以包括分别对应不同的基础服务能力的多个合约执行逻辑。
例如,在实际应用中,智能合约中包含的合约执行逻辑,通常可以是函数的形式,一个智能合约中则可以包含分别对应不同的服务功能的多个函数。
图1中示出的中心化管控平台,具体可以是一个用于对上述区块链服务网络进行中心化管理的服务平台。其中,需要说明的是,承载该中心化管控平台的硬件设备,可以是服务器,也可以是基于若干台服务器构成的服务器集群,在本说明书中不进行特别限定。
上述中心化管控平台作为中心化的服务平台,可以对上述区块链服务网络进行成员管理;例如,可以负责区块链服务网络中的成员区块链的注册加入、退出网络,等等。
除此之外,上述中心化管控平台还可以用于实现各成员区块链之间的跨链访问;
例如,在实际应用中,在上述中心化管控平台上,可以搭载一个跨链服务组件,该跨链服务组件具体用于实现各成员区块链之间的跨链数据交互。加入区块链服务网络的各成员区块链,可以通过上述中心化管控平台上的跨链服务组件,来实现与其它成员区块链之间的跨链数据访问。
或者,上述中心化管控平台,在对各成员区块链进行中心化管理的过程中,也可以向各成员区块链下发并部署用于实现跨链数据访问的系统智能合约,使得各成员区块链网络可以基于部署的上述系统智能合约,来实现与其它成员区块链之间的跨链数据访问。
进一步的,上述中心化管控平台除了可以用于对区块链服务网络进行成员管理,以及实现各成员区块链之间的跨链访问以外,还可以支持注册由部署在各成员区块链上的用户智能合约所包含的合约执行逻辑组合生成的用户服务。
其中,上述用户服务,具体是指将不同的成员区块链上的用户智能合约所包含的具有基础服务能力的合约执行逻辑,进行组合之后生成的服务能力更为复杂的服务。
例如,在实现时,可以将分布在各个成员区块链上的用户智能合约所包含的具有基础服务能力的合约执行逻辑,作为基础服务组件进行组合,来生成更加复杂的用户服务,再将该用户服务作为标准化的服务注册到中心化管控平台,以供用户进行调用。其中,示出的一种实施方式中,在上述中心化管控平台上注册的用户服务,具体可以包括将部署在各成员区块链上的用户智能合约所包含的至少一个合约执行逻辑,按照与该用户服务对应的服务逻辑的逻辑顺序,进行组合生成的服务。
需要说明的是,与该用户服务对应的服务逻辑,以及该服务逻辑的逻辑顺序,通常取决于用户具体的服务注册需求,在实际应用中,通常可以由用户基于实际的需求来进行自定义。
进一步的,在示出的另一种实施方式中,组合生成上述用户服务的合约执行逻辑中的至少部分合约执行逻辑,可以分别与不同的成员区块链上部署的用户智能合约相对应。也即,用户可以将分布在不同的成员区块链上的用户智能合约所包含的合约执行逻辑,进行组合生成一个用户服务。
当然,在实际应用中,组合生成上述用户服务的合约执行逻辑中的至少部分合约执行逻辑,也可以来源于同一个成员区块链中的多个用户智能合约所包含的合约执行逻辑;或者,也可以来源于同一个成员区块链中的同一个用户智能合约所包含的多个合约执行逻辑,在本说明书中不进行特别限定。
为了便于服务提供方的用户,对部署在各个成员区块链上的各个用户智能合约包含的合约执行逻辑进行自由组合,来生成服务能力更为复杂的用户服务,中心化平台可以将上述区块链服务网络中的各成员区块链上部署的用户智能合约包含的合约执行逻辑的访问权限,开放给服务提供方的用户。
其中,中心化平台在将上述区块链服务网络中的各成员区块链上部署的用户智能合约包含的合约执行逻辑的访问权限,开放给服务提供方的用户时,为了最大程度的保护各成员区块链上部署的各用户智能合约的数据隐私安全,具体可以有选择的仅将成员区块链上部署的用户智能合约包含的部分的合约执行逻辑的访问权限,开放给服务提供方的用户。而对于未开放访问权限的合约执行逻辑,则无法用于组合生成用户服务。
在示出的一种实施方式中,中心化管控平台还可以支持将各成员区块链上部署的用户智能合约包含的合约执行逻辑,在中心化管控平台上进行注册。相应的,中心化管控平台上注册的用户服务,则可以是由在中心化管控平台上已注册的至少一个合约执行逻辑进行组合生成的服务。
例如,在一个例子中,中心化管控平台可以支持将各成员区块链上部署的用户智能合约包含的合约执行逻辑,注册为中心化管控平台上的基础服务组件;其中,该基础服务组件将作为组合生成用户服务的基本单元。中心化管控平台上注册的用户服务,则可以是由在中心化管控平台上已注册的至少一个基础服务组件进行组合生成的服务。而各成员区块链上部署的用户智能合约的部署方或者管理方,可以向中心化管控平台发送基础组件注册请求,该基础组件注册请求可以包括该用户智能合约包含的待注册的目标合约执行逻辑的标识信息(比如函数名)。中心化管控平台在收到该基础组件注册请求时,可以为该部署方或者管理方分配一个基础服务组件标识,然后将该待注册的目标合约执行逻辑的标识信息、包含该目标合约执行逻辑的用户智能合约的地址、以及部署该用户智能合约的成员区块链的标识信息,与该基础服务组件标识进行绑定,以完成基础服务组件的注册。
在这种情况下,中心化管控平台可以仅将在中心化管控平台上完成注册的合约执行逻辑的访问权限,开放给服务提供方的用户,以使服务提供方的用户可以对在中心化管控平台上注册的至少一个合约执行逻辑进行自由组合,来自定义新的用户服务。而对于未在中心化管控平台注册的合约执行逻辑的访问权限,则可以不开放给服务方用户。通过这种方式,可以最大程度的保护各成员区块链上的用户智能合约的数据隐私,使得服务提供方只可以对已经在中心化管控平台上注册的合约执行逻辑进行自由组合,来自定义新的用户服务,而无法访问那些未开放访问权限的合约智能逻辑。
例如,在一个例子中,中心化管控平台可以将已注册的合约执行逻辑,通过可视化界面,向服务提供方的用户输出,以将在中心化管控平台上完成注册的合约执行逻辑的访问权限,开放给服务提供方的用户,然后可以获取该服务提供方的用户在该可视化界面中选择的至少一个合约执行逻辑,然后再将服务提供方的用户在可视化界面中选择的至少一个合约执行逻辑,按照该服务提供方的用户需要注册的用户服务对应的服务逻辑的逻辑顺序,进行组合生成该用户服务。
由于部署在各个成员区块链上的用户智能合约中所包含的合约执行逻辑,可能涉及用户的隐私或者其它不便于开放的合约执行逻辑;因此,通过这种方式,使得部署在各个成员区块链上的用户智能合约的部署方或者管理方,可以有选择性的仅将该用户智能合约包含的部分的合约执行逻辑在中心化管控平台进行注册,并只将这些在中心化管控平台上注册的合约执行逻辑的访问权限开放给服务提供方的用户,从而可以最大程度的保障部署在各成员区块链上的用户智能合约的数据隐私安全。
当然,在实际应用中,中心化管控平台,具体也可以选择将成员区块链上部署的所有的用户智能合约包含的合约执行逻辑的访问权限,均开放给服务提供方的用户。
在这种情况下,中心化管控平台可以不再支持将各成员区块链上部署的用户智能合约包含的合约执行逻辑,在中心化管控平台上进行注册。当各成员区块链在加入区块链服务网络之后,中心化管控平台可以主动的对各成员区块链的区块链数据进行扫描和解析,来获取各成员区块链上的用户智能合约的部署情况;比如,通过区块扫描和解析的方式,来获取各成员区块链上部署的用户智能合约,以及各用户智能合约中包括的合约执行逻辑。然后,再将扫描和解析到的各成员区块链上部署的所有的用户智能合约包含的合约执行逻辑的访问权限,均开放给服务提供方的用户。
请参见图2,图2是本说明书根据一示例性实施例示出的一种区块链服务网络的组建方法的流程图,该方法应用于图1所示的中心化管控平台;所述方法包括:
步骤201:接收与目标区块链对应的注册请求;
上述目标区块链是指需要加入区块链服务网络,但还未完成加入注册的区块链。上述目标区块链可以通过与区块链服务网络的中心化管控平台进行注册交互,向上述中心化管控平台发送注册请求的方式,来注册成为该区块链服务网络的成员区块链。
其中,上述注册请求具体可以是由具有上述目标区块链的注册权限的用户,通过在上述中心化管控平台上所注册的用户账户所发起的;
例如,在实际应用中,具有上述目标区块链的注册权限的用户,在上述中心化管控平台上注册的用户账户,具体可以包括上述中心化管控平台中的系统管理员账户、上述目标区块链的管理者在上述中心化管控平台上注册的管理员账户、目标区块链中的用户智能合约的部署方用户在上述中心化管控平台上注册的用户账户,等等。需要指出的是,发出注册请求的用户账户,具体是指在中心化管控平台中注册的中心化账户,而并不是在各成员区块链中注册的区块链账户。
其中,在上述注册请求中,可以包括与待注册的上述目标区块链相关的一些基础注册信息。上述基础注册信息具体可以包括,上述目标区块链的访问地址信息、以及上述目标区块链相关的区块链配置信息,等等。
当然,在实际应用中,在上述注册请求中,除了可以包括与待注册的上述目标区块链相关的一些基础注册信息以外,还可以包含其它形式的注册信息,在本说明书中不进行特别限定。其中,上述目标区块链的访问地址信息,具体用于与中心化管控平台之间建立网络连接;在实际应用中,上述访问地址信息具体可以包括上述目标区块链中的一个或者多个节点设备对应的域名信息或者IP地址信息,使得中心化管控平台可以基于上述域名信息或者IP地址信息,与上述目标区块链中的一个或者多个节点设备之间建立通信连接。
上述区块链配置信息,具体可以包括任意形式的能够用于表示上述目标区块链的基本配置的信息;例如,上述区块链配置信息,具体可以包括与上述目标区块链对应的区块链类型信息、上述目标区块链所采用的区块链协议的协议类型信息,以及上述目标区块链采用的共识算法的算法类型信息,等等。
例如,在一个例子中,上述注册请求可以表示成如下的数据格式:
{chain001.io;Common chain;Polkadot ;… }
在以上示出的数据格式中,上述目标区块链的域名信息为“chain001.io”,其区块链类型为“Common chain(公链)”,其所采用过的区块链协议为“Polkadot(波卡)”。当然,在实际应用中,以上示出的数据格式中,还可以包含其它形式的数据内容,在本说明书中不再进行一一列举。
步骤202:响应于所述注册请求,针对所述目标区块链进行注册处理,以将所述目标区块链作为成员区块链加入所述区块链服务网络;所述注册处理包括在所述目标区块链中创建与所述中心化管控平台对应的区块链账户,所述区块链账户用于在服务使用方调用所述中心化管控平台上注册的目标用户服务时,发起针对所述目标区块链上部署的目标用户智能合约的合约调用;其中,该用户服务包括所述目标区块链部署的目标用户智能合约的合约执行逻辑。
中心化管控平台在接收到与目标区块链对应的注册请求时,可以响应该注册请求,对该注册请求进行合法性检查;例如,对该注册请求进行的合法性检查,具体可以包括检查该注册请求的发起者,是否具有相应的注册权限;以及,该注册请求中的数据格式是否满足预设的规则或格式要求,等等。
中心化管控平台在完成针对该注册请求的合法性检查后,如果该注册请求通过了合法性检查,中心化管控平台可以进一步基于该注册请求中携带的数据内容,对该目标区块链进行注册处理,以将该目标区块链作为成员区块链加入到该区块链服务网络。
其中,中心化管控平台对目标区块链进行的注册处理,具体可以包括在该目标区块链中创建与该中心化管控平台对应的区块链账户。
例如,在实现时,可以先在该目标区块链中为该中心化管控平台申请一个公私钥对,私钥由该中心化管控平台的管理用户持有,再基于公钥进行计算生成一个对应的账户地址(比如该账户地址通常可以是公钥计算得到的一个hash值),然后在目标区块链中再创建一个与该账户地址对应的区块链账户。
需要说明的是,在采用账户模型的区块链中,区块链支持的账户类型通常包括外部账户和合约账户。外部账户就是由用户直接控制的账户,也称之为用户账户。而合约账户则是由用户通过外部账户创建的,包含合约代码的账户(即智能合约)。而以上描述的在该目标区块链中创建与该中心化管控平台对应的区块链账户,具体可以是一个外部账户。当在该目标区块链中为该中心化管控平台创建了对应的区块链账户之后,此时该中心化管控平台已取得该目标区块链中合法的用户身份,从而使得中心化管控平台可以基于该外部账户,来发起针对该目标区块链中部署的用户智能合约的合约调用。
中心化管控平台对目标区块链进行的注册处理,除了可以包括在该目标区块链中创建与该中心化管控平台对应的区块链账户之外,还可以包括与该目标区块链的注册过程相关的其它形式的注册处理过程。
例如,在示出的一种实施方式中,中心化管控平台对目标区块链进行的注册处理,具体还可以包括在目标区块链中部署至少一个系统智能合约;其中,上述至少一个系统智能合约具体可以包括一个用于与其它成员区块链进行跨链通信的目标系统智能合约。
当然,除了该用于与其它成员区块链进行跨链通信的目标系统智能合约以外,还可以包括用于实现其它的基础管理功能的系统智能合约;例如,上述至少一个系统智能合约还可以包括用于对目标区块链进行服务管理的智能合约,以及用于对中心化管控平台上注册的用户服务或者服务解决方案相关的用户进行服务激励的智能合约等等,在本说明书中不再进行一一列举。
以下通过一个具体的实施例详细描述对目标区块链进行注册处理的过程。
请参见图3,图3为本说明书示出的一种对目标区块链进行注册处理的流程图,包括如下的执行步骤:
步骤301,注册方向中心化平台发起与目标区块链对应的注册请求;
中心化管控平台在收到上述注册请求后,可以响应该注册请求,开始对上述目标区块链进行注册处理。其中,在本实施例中,对上述目标区块链进行的注册处理,可以包括以下的步骤302-步骤306示出的注册处理流程。
步骤302,保存目标区块链的区块链配置信息;
步骤303,基于目标区块链的访问地址信息与目标区块链中的至少部分节点设备建立通信连接;
如前所述,在上述注册请求中,可以包括与上述目标区块链相关的一些区块链配置信息;例如,上述区块链配置信息,可以包括上述目标区块链的访问地址信息,以及上述目标区块链相关的配置信息,等等。中心化管控平台在收到上述注册请求后,可以获取该注册请求中携带的上述区块链配置信息,然后基于获取到的区块链配置信息针对上述目标区块链执行后续的注册处理流程。
中心化管控平台在收到上述注册请求后,可以将从注册请求中读取到的与目标区块链相关的区块链配置信息,作为成员区块链的配置信息,在本地的数据库中进行存储。
例如,在实现时,中心化管控平台可以维护一个用于存储上述区块链服务网络中的各个成员区块链相关的区块链配置信息的信息库,中心化管控平台可以将从上述注册请求中读取到目标区块链相关的区块链配置信息,作为成员区块链的区块链配置信息存储至该信息库中。
中心化管控平台在将与目标区块链相关的区块链配置信息,作为成员区块链的配置信息,在本地的数据库中进行存储之后,还可以进一步基于从注册请求中读取到的上述目标区块链的访问地址信息,与目标区块链中的至少部分节点设备建立通信连接。
例如,如前所述,上述访问地址信息具体可以包括上述目标区块链中的一个或者多个节点设备对应的域名信息或者IP地址信息,中心化管控平台可以基于上述域名信息或者IP地址信息,与上述目标区块链中的一个或者多个节点设备之间建立通信连接。其中,在实现时,中心化管控平台可以与上述目标区块链中的所有节点设备均建立通信连接,也可以仅与上述目标区块链中的部分关键的节点设备(比如存储完整的区块链账本的全节点)建立通信连接。
步骤304,基于所述通信连接从目标区块链中的节点设备处获取所述目标区块链相关的区块链数据。
中心化管控平台在与目标区块链中的至少部分节点设备建立了通信连接之后,可以继续基于该通信连接,从目标区块链中的节点设备处获取该目标区块链相关的区块链数据。
其中,从目标区块链中的节点设备处获取到的该目标区块链相关的区块链数据,具体可以包括与该目标区块链相关的任意形式的数据,在本说明书中不进行特别限定;
例如,在一个例子中,从目标区块链中的节点设备处获取到的该目标区块链相关的区块链数据,具体可以包括该目标区块链完整的区块链账本、与该目标区块链的区块链账本对应的认证根数据、以及该目标区块链中的各个节点设备的公钥数据,等等。
其中,需要说明的是,在区块链领域,与区块链账本对应的认证根数据,通常可以包括区块链账本中的创世块数据、各个区块的区块头数据等,可以用于对该区块链账本中存储的数据进行认证的数据。
在从目标区块链中的节点设备处获取到该目标区块链相关的区块链数据之后,中心化管控平台可以在数据库中存储获取到的区块链数据。
例如,如前所述,中心化管控平台可以维护一个用于存储上述区块链服务网络中的各个成员区块链相关的区块链配置信息的信息库,中心化管控平台可以将从上述注册请求中读取到目标区块链相关的区块链配置信息,作为成员区块链的区块链配置信息存储至该信息库中。而中心化管控平台在从目标区块链中的节点设备处获取到该目标区块链相关的区块链数据之后,也可以将获取到的区块链数据,在上述信息库中与上述目标区块链相关的区块链配置信息进行关联存储。
步骤305,在所述目标区块链上创建与所述中心化管控平台对应的区块链账户。
中心化管控平台基于上述通信连接从目标区块链中的节点设备处获取所述目标区块链相关的区块链数据之后,还可以继续在上述目标区块链上,为中心化管控平台创建一个对应的区块链账户。其中,创建上述区块链账户的具体过程不再赘述。
当在上述目标区块链上为中心化管控平台创建了对应的区块链账户之后,此时该中心化管控平台已取得该目标区块链中合法的用户身份,并已经具有调用上述目标区块链上部署的用户智能合约的能力,后续中心化管控平台可以基于该区块链账户来发起针对该目标区块链上部署的用户智能合约的合约调用。
其中,在上述中心化管控平台上,具体可以维护一个区块链账户列表。该区块链账户列表中具体可以包含在各个成员区块链上创建的上述中心化管控平台对应的区块链账户。当在上述目标区块链上为中心化管控平台创建了对应的区块链账户之后,可以将该区块链账户添加至上述区块链账户列表中进行维护。
需要说明的是,在各个成员区块链上创建的上述中心化管控平台对应的区块链账户具体可以相同,也可以不相同。例如,在一个例子中,为了便于进行账户管理,在各个成员区块链上创建的上述中心化管控平台对应的区块链账户,默认可以采用同一个预设的区块链账户。比如,在实现时,各个成员区块链均可以将某一个固定的区块链账户提前进行预留,作为与中心化管控平台对应的区块链账户。
步骤306,在目标区块链中部署至少一个系统智能合约;其中,所述至少一个系统智能合约包括用于与其它成员区块链进行跨链通信的目标系统智能合约。
当在上述目标区块链上,为中心化管控平台创建一个对应的区块链账户之后,中心化管控平台还可以继续在该目标区块链中部署至少一个系统智能合约。上述至少一个系统智能合约具体可以包括用于与其它成员区块链进行跨链通信的目标系统智能合约。
其中,上述至少一个系统智能合约除了可以包括用于与其它成员区块链进行跨链通信的目标系统智能合约之外,还可以包括用于对目标区块链网络进行网络治理的系统智能合约、用于对在中心化管控平台上注册的用户服务相关的用户进行服务激励的系统智能合约,等等,在本说明书中不进行特别限定。
需要说明的是,上述系统智能合约与上述目标区块链上部署的用户智能合约,是两类完全不同的智能合约。
上述系统智能合约包含的合约执行逻辑,通常是与中心化管控平台上的一些管理功能相关执行逻辑。例如,如前所述的进行网络治理的系统智能合约所包含的合约执行逻辑,可以是与中心化管控平台对上述区块链服务网络进行网络治理的功能相关的执行逻辑;相应的,如前所述的用于对在中心化管控平台上注册的用户服务相关的用户进行服务激励的系统智能合约所包含的合约执行逻辑,可以是与中心化管控平台对注册的用户服务相关的用户进行服务激励的功能相关的执行逻辑。而上述用户智能合约包含的合约执行逻辑,通常与用户在成员区块链上定义的用户服务逻辑相关。
通过在上述目标区块链上部署至少一个系统智能合约,可以在中心化管控平台已经具有调用上述目标区块链上部署的用户智能合约的能力的基础上,使得上述目标区块链上的用户,也可以通过调用上述目标区块链上部署的系统智能合约的方式,在上述目标区块链上来完成一些与上述中心化管控平台上的管理功能相关的操作。
步骤307,向所述注册方返回与所述目标区块链对应的成功注册消息。
当中心化管控平台针对上述目标区块链执行了如步骤302-步骤306示出的各项注册处理流程后,此时上述目标区块链将作为成员区块链,成功的加入到上述区块链服务网络。
在这种情况下,上述中心化管控平台向上述注册方返回与上述目标区块链对应的成功注册消息,以通知上述注册方该目标区块链已经作为成员区块链,成功的加入到了上述区块链服务网络。
其中,需要说明的是,以上实施例中步骤302-步骤306示出的各项注册处理流程的先后顺序仅为示意性的,在本说明书中不进行特别的限定。可以理解的是,在实际应用中,以上实施例中步骤302-步骤306示出的各项注册处理流程的先后顺序,可以基于实际的注册需求进行灵活的调整和互换。
在本说明书中,当目标区块链作为成员区块链加入了该区块链服务网络之后,后续服务提供方的用户就可以按照自身的需求,将该目标区块链上部署的目标智能合约所包含的合约执行逻辑,与其它成员区块链上部署的用户智能合约所包含的合约执行逻辑进行组合,生成目标用户服务,然后将该目标用户服务注册到该中心化管控平台。
其中,可以理解的是,组合生成上述目标用户服务的合约执行逻辑中,将包括上述目标区块链上部署的上述目标用户智能合约所包含的合约执行逻辑。
当服务使用方需要调用在中心化控平台上注册的上述目标用户服务时,就可以基于在该目标区块链中创建与该中心化管控平台对应的区块链账户,以该区块链账户代表的区块链身份,来发起针对该目标区块链上部署的上述目标用户合约的合约调用。
其中,当上述目标用户服务在上述中心化管控平台上注册完成后,上述中心化管控平台具体可以将该目标用户服务作为标准化的服务进行部署,以开放给服务使用方进行调用。
需要说明的是,上述中心化管控平台在部署注册完成的上述目标用户服务时,具体可以采用分布式部署的方式,也可以采用中心化部署的方式。
在示出的一种实施方式中,上述中心化管控平台在部署上述目标用户服务时,具体可以将上述用户服务以系统智能合约的形式,分布式部署在各成员区块链上,以供服务使用方调用。
由于组成上述目标用户服务的合约调用逻辑,可能包括分布于多个成员区块链上部署的多个用户智能合约所包含的合约执行逻辑,用户在调用上述目标用户服务时也可能需要跨链调用分布在多个成员区块链上的多个用户智能合约;因此,上述中心化管控平台在部署在中心化管控平台上注册的用户服务时,具体可以为该用户服务开发对应的跨链调用逻辑,然后将该跨链调用逻辑作为系统智能合约的合约执行逻辑,部署在各成员区块链上。
例如,如前所述,上述系统智能合约包含的合约执行逻辑,通常是与中心化管控平台上的一些管理功能相关执行逻辑。因此,通过这种方式,相当于是将为该用户服务开发对应的跨链调用逻辑,也作为中心化管控平台上的一些管理功能相关执行逻辑的一部分,以系统智能合约的形式,部署在各成员区块链上。
在示出的一种实施方式中,上述用于跨链通信的目标系统智能合约中,可以包含与上述目标用户服务对应的跨链调用逻辑。
该跨链调用逻辑具体可以用于:确定组合生成该目标用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,按照与上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
通过这种方式,使得服务使用方,都可以通过调用该目标系统智能合约中的包含的上述跨链调用逻辑的方式,对已经在中心化管控平台上注册的上述目标用户服务发起调用。在示出的一种实施方式中,在上述目标系统智能合约中,还可以维护与上述目标用户服务对应的服务配置信息,以及在各成员区块链上为上述中心化平台创建的区块链账户列表。
例如,在实现时,与上述目标用户服务对应的服务配置信息,以及在各成员区块链上为上述中心化平台创建的区块链账户列表,具体可以存储在上述目标系统智能合约的账户存储空间中;比如,上述服务配置信息和上述区块链账户列表,具体可以组织成key-value键值对的形式,构建成Merkle树存储在各成员区块链中的节点设备搭载的存储介质中;再将该Merkle树的根hash存储到与该目标系统智能合约对应的合约账户的账户结构体中。
其中,上述服务配置信息具体可以包括:组合生成上述目标用户服务的各合约执行逻辑的标识信息(比如函数名)、包含上述各合约执行逻辑的各用户智能合约的合约地址、以及部署上述各用户智能合约的各成员区块链的区块链标识之间的对应关系。
在这种情况下,上述跨链调用逻辑具体可以由如下的执行逻辑组成:
查询逻辑,用于查询上述目标系统智能合约中维护的与上述目标用户服务对应的服务配置信息中的上述对应关系,以确定组合生成上述目标用户服务的各合约执行逻辑、包含上述各合约执行逻辑的各用户智能合约、和部署上述各用户智能合约的各成员区块链。以及,还可以用于在确定出部署上述各用户智能合约的各成员区块链之后,进一步查询上述目标系统智能合约中维护的上述区块链账户列表,以确定在上述各成员区块链上创建的与该中心化平台对应的区块链账户。
跨链逻辑,用于基于查询逻辑确定出的,包含上述各合约执行逻辑的各用户智能合约、部署上述各用户智能合约的各成员区块链、以及在上述各成员区块链上创建的与该中心化平台对应的区块链账户等信息,按照上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。其中,跨链调用其它成员区块链上部署的用户智能合约的具体实施细节,在本说明书中不再进行详述,本领域技术人员可以参考相关技术中的记载。
在示出的一种实施方式中,上述服务配置信息中,还可以包括:基于上述目标用户服务对应的服务逻辑的逻辑顺序,为组合生成上述目标用户服务的各合约执行逻辑确定出的调用顺序。
在这种情况下,在调用上述目标系统智能合约包含的上述跨链逻辑,按照上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用时,具体可以读取上述服务配置信息中包括的上述调用顺序,再按照读取到的上述调用顺序,分别发起针对上述各用户智能合约的跨链调用。
当然,在实际应用中,上述目标用户服务对应的服务逻辑的逻辑顺序,具体也可以不作为服务配置信息的一部分维护在上述目标系统智能合约中,而是维护在上述中心化管控平台上。
在这种情况下,在调用上述目标系统智能合约包含的上述跨链逻辑,按照上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用时,具体可以与上述中心化管控平台进行链外交互,从上述中心化管控平台上来读取上述目标用户服务对应的服务逻辑的逻辑顺序,再按照读取到的上述调用顺序,发起针对上述各用户智能合约的跨链调用。
例如,在实现时,上述目标系统智能合约具体可以通过一个oracle预言机程序,与上述中心化管控平台进行链外交互,从上述中心化管控平台上读取上述目标用户服务对应的服务逻辑的逻辑顺序。其中,上述目标系统智能合约通过oracle预言机程序与上述中心化管控平台进行链外交互的具体实施细节,在本说明书中不再进行详述,本领域技术人员可以参考相关技术中的记载。
在示出的一种实施方式中,中心化管控平台在各成员区块链上部署了用于进行跨链通信的目标系统智能合约之后,后续服务提供方的用户在上述中心化管控平台上注册了新的用户服务时,中心化管控平台还可以将新注册的该用户服务对应的服务配置信息,存储至上述目标系统智能合约,以对该目标系统智能合约中维护的服务配置信息进行更新。
在示出的一种实施方式中,中心化管控平台在各成员区块链上部署了用于进行跨链通信的目标系统智能合约之后,后续如果上述区块链服务网络加入了新的成员区块链,中心化管控平台还可以将在该新的成员区块链上创建的与该中心化管控平台对应的区块链账户,也存储至上述目标系统智能合约,以对该目标系统智能合约中维护的区块链账户列表进行更新。
其中,需要说明的是,在实际应用中,以上描述的中心化管控平台对上述目标系统智能合约中维护的服务配置信息以及区块链账户列表进行更新的操作,具体可以采用实时更新的方式,也可以采用离线更新的方式。
一方面,如果采用实时更新的方式,每当在上述中心化管控平台上注册了新的用户服务时,中心化管控平台就可以立即将新注册的该用户服务对应的服务配置信息,存储至上述目标系统智能合约,以对该目标系统智能合约中维护的服务配置信息进行更新。
相应的,每当上述区块链服务网络加入了新的成员区块链时,中心化管控平台也可以立即将在该新的成员区块链上创建的与该中心化管控平台对应的区块链账户,存储至上述目标系统智能合约,以对该目标系统智能合约中维护的区块链账户列表进行更新。
另一方面,如果采用离线更新的方式,可以在上述目标系统智能合约每次被调用时,再触发对上述目标系统智能合约中维护的服务配置信息和区块链账户列表进行更新。
在这种情况下,每当在上述中心化管控平台上注册了新的用户服务时,中心化管控平台可以先将新注册的该用户服务对应的服务配置信息缓存起来。当上述目标系统智能合约被调用时,再将缓存的上述服务配置信息存储至上述目标系统智能合约,以对该目标系统智能合约中维护的服务配置信息进行更新。相应的,每当上述区块链服务网络加入了新的成员区块链时,中心化管控平台也可以先将在该新的成员区块链上创建的与该中心化管控平台对应的区块链账户缓存起来。当上述目标系统智能合约被调用时,再将缓存的上述区块链账户存储至上述目标系统智能合约,以对该目标系统智能合约中维护的区块链账户列表进行更新。
例如,在实现时,可以在上述目标系统智能合约中引入数据同步的执行逻辑,使得上述目标系统智能合约每次被调用时,可以先运行该数据同步的执行逻辑,与中心化管控平台进行服务配置信息和区块链账户列表的数据同步,基于中心化管控平台缓存的服务配置信息和区块链账户对上述目标系统智能合约中维护的服务配置信息和区块链账户列表进行更新,然后再继续执行本次被调用的合约执行逻辑。
在示出的一种实施方式中,上述中心化管控平台在部署上述目标用户服务时,也可以将上述用户服务以服务接口的形式,中心化部署在上述中心化管控平台上,以供服务使用方调用。
其中,在该服务接口中可以包含与上述目标用户服务相关的调用方法(比如该调用方法具体可以是接口函数的形式),这些调用方法对应的调用逻辑具体可以包括:确定组合生成该目标用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,按照与上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
在这种情况下,当服务使用方需要调用已经在上述中心化管控平台上注册的上述目标用户服务时,可以发起一个针对上述服务接口的调用请求,来调用上述目标用户服务。
而中心化管控平台在收到针对上述服务接口的调用请求后,可以响应该调用请求,执行该服务接口中包含的上述调用方法,来确定组合生成该目标用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,按照与上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用,然后再汇总针对上述各用户智能合约的跨链调用的调用结果,并将上述调用结果返回给上述服务使用方。
例如,在一个例子中,以上实施例描述的与上述目标用户服务对应的服务配置信息,以及在各成员区块链上为上述中心化平台创建的区块链账户列表,具体可以维护在上述中心化管控平台上;比如,在实际应用中,上述服务配置信息和上述区块链账户列表,均可以作为服务接口相关的调用参数的形式,写入到上述服务接口中。
相应的,上述服务接口所包含的与上述目标用户服务相关的调用方法对应的调用逻辑,具体可以包括:
查询逻辑,用于查询上述服务配置信息中的上述对应关系,以确定组合生成上述目标用户服务的各合约执行逻辑、包含上述各合约执行逻辑的各用户智能合约、和部署上述各用户智能合约的各成员区块链。以及,在确定出部署上述各用户智能合约的各成员区块链之后,进一步查询上述区块链账户列表,以确定在上述各成员区块链上创建的与该中心化平台对应的区块链账户。
跨链逻辑,用于根据上述查询逻辑查询出的在上述各成员区块链上创建的与该中心化平台对应的区块链账户,按照上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
在另一个例子中,中心化管控平台维护的上述服务配置信息中,还可以包括:基于上述目标用户服务对应的服务逻辑的逻辑顺序,为组合生成上述目标用户服务的各合约执行逻辑确定出的调用顺序。
在这种情况下,上述跨链逻辑在按照上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用时,具体可以从上述服务配置信息中读取上述调用顺序,再按照读取到的上述调用顺序,分别发起针对上述各用户智能合约的跨链调用。
请参见图4,图4是本说明书根据一示例性实施例示出的一种在中心化管控平台上注册用户服务的服务注册方法的流程图,该方法应用于图1所示的中心化管控平台;所述方法包括:
步骤401,接收服务提供方发起的用户服务注册请求;
上述服务提供方,具体可以是一个具有在该中心化管控平注册用户服务的服务需求的用户。该服务提供方的用户,可以按照自身的服务需求,将部署在各成员区块链上的用户智能合约所包含的合约执行逻辑进行组合,生成用户服务,然后将该用户服务注册到该中心化管控平台。
其中,需要说明的是,上述服务提供方的用户,具体可以是一个在上述区块链服务网络上的任一成员区块链上注册了区块链账户的用户。也即,该服务提供方的用户,具体可以是一个隶属于上述区块链服务网络中的某一个成员区块链的用户成员。
在这种情况下,该服务提供方的用户可以按照自身的服务需求,将该成员区块链上部署的智能合约所包含的合约执行逻辑,与其它成员区块链上部署的用户智能合约所包含的合约执行逻辑进行组合,生成用户服务,然后将该用户服务注册到该中心化管控平台。
当然,在实际应用中,上述服务提供方的用户,具体也可以是并未在上述区块链服务网络上的各成员区块链上注册了区块链账户的用户,而是一个在上述中心化管控平台上注册了用户账户的用户;也即,上述服务提供方的用户是一个不隶属于上述区块链服务网络中的任一成员区块链的用户成员,而是隶属于上述中心化管控平台的一个用户成员。例如,该上述服务提供方的用户,具体可以是在中心化管控平台上注册了管理员账户的一个平台管理员。
在这种情况下,上述服务提供方的用户可以基于自身对各成员区块链上的用户智能合约的部署情况的全局了解,再按照自身的服务需求,将部署在各成员区块链上的用户智能合约所包含的合约执行逻辑进行自由组合,生成用户服务,然后将该用户服务注册到该中心化管控平台。
上述服务提供方的用户在向中心化管控平台上注册用户服务时,具体可以通过一个与上述中心化管控平台对接的用户客户端来完成。上述服务提供方的用户可以通过在上述用户客户端上执行服务注册操作,向上述中心化管控平台发起服务注册请求,使得上述中心化管控平台可以响应该服务注册请求,在上述中心化管控平台上注册用户服务。
步骤402,响应于所述用户服务注册请求,确定用于实现所述用户服务对应的服务功能的合约执行逻辑集合;所述合约执行逻辑集合包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
上述中心化管控平台在收到上述服务提供方的用户发起的用户服务注册请求时,可以响应该用户服务注册请求,来确定用于实现该服务提供方的用户需要注册的用户服务对应的服务功能的合约执行逻辑集合;其中,该合约执行逻辑集合包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑。
例如,如前所述,组合生成上述用户服务的合约执行逻辑中的至少部分合约执行逻辑,可以分别与不同的成员区块链上部署的用户智能合约相对应。在这种情况下,该合约执行逻辑集合中的至少部分合约执行逻辑,可以是来自不同的成员区块链上的用户智能合约所包含的合约执行逻辑。当然,在实际应用中,组合生成上述用户服务的合约执行逻辑中的至少部分合约执行逻辑,也可以是来源于同一个成员区块链中的多个用户智能合约所包含的合约执行逻辑;或者,也可以来源于同一个成员区块链中的同一个用户智能合约所包含的多个合约执行逻辑。在这种情况下,该合约执行逻辑集合中的至少部分合约执行逻辑,也可以是来源于同一个成员区块链中的多个用户智能合约所包含的合约执行逻辑;或者,也可以来源于同一个成员区块链中的同一个用户智能合约所包含的多个合约执行逻辑,在本说明书中不进行特别限定。
在示出的一种实施方式中,中心化管控平台可以支持将各成员区块链上部署的用户智能合约包含的合约执行逻辑,在中心化管控平台上进行注册。相应的,中心化管控平台上注册的用户服务,则可以是由在中心化管控平台上已注册的至少一个合约执行逻辑进行组合生成的服务。
在这种情况下,上述中心化管控平台响应上述用户服务注册请求,来确定用于实现上述服务提供方的用户需要注册的用户服务对应的服务功能的合约执行逻辑集合时,则具体可以从上述中心化管控平台上已经注册的合约执行逻辑中,来确定用于实现该用户服务对应的服务功能的合约执行逻辑集合。
在示出的一种实施方式中,中心化管控平台可以将已注册的合约执行逻辑,通过上述商用户客户端上的可视化界面,向服务提供方的用户输出,以将在中心化管控平台上完成注册的合约执行逻辑的访问权限,开放给服务提供方的用户。
而服务提供方的用户可以基于自身的服务需求,从上述可视化界面中选择至少一个已注册的合约执行逻辑,并将选择的合约执行逻辑对应的标识信息(比如函数名)携带在上述用户服务注册请求中,然后将该服务注册请求发送至上述中心化管控平台。
在这种情况下,上述中心化管控平台在响应上述用户服务注册请求,在从上述中心化管控平台上已经注册的合约执行逻辑中,来确定用于实现该用户服务对应的服务功能的合约执行逻辑集合时,具体可以获取该用户服务注册请求中携带的上述标识信息,然后将已注册的合约执行逻辑中与上述标识信息对应的至少一个合约执行逻辑,确定为用于实现上述用户服务对应的服务功能的合约执行逻辑集合。
在示出的另一种实施方式中,上述服务提供方的用户,可以基于自身的服务需求,为需要注册的上述用户服务定义服务逻辑。而在上述用户服务注册请求中,也可以不携带从上述可视化界面中选择至少一个已注册的合约执行逻辑对应的标识信息,而是携带服务提供方的用户为上述用户服务定义的服务逻辑相关的描述信息。例如,该描述信息,具体可以是用户需要注册的用户服务相关的功能描述。
在这种情况下,上述中心化管控平台在响应上述用户服务注册请求,在从上述中心化管控平台上已经注册的合约执行逻辑中,来确定用于实现该用户服务对应的服务功能的合约执行逻辑集合时,具体可以将已注册的合约执行逻辑,分别与该描述信息所指示的服务逻辑进行匹配;然后根据匹配的结果,将已注册的合约执行逻辑中,与该描述信息所指示的服务逻辑匹配的至少一个合约执行逻辑,确定为用于实现上述用户服务对应的服务功能的合约执行逻辑集合。
通过这种方式,服务提供方的用户可以在不了解已经注册的各个合约执行逻辑对应的服务逻辑的前提下,仅向中心化管控平台提交与需要注册的用户服务对应的服务逻辑相关的描述信息,就可以由中心化管控平台通过逻辑匹配的方式,从已注册的合约执行逻辑中查找到能够组合生成上述用户服务的合约执行逻辑集合,从而使得一些对已经注册的各个合约执行逻辑的服务逻辑不太了解的用户,也可以自主的基于自身的服务需求在中心化管控平台上注册新的用户服务,进而可以提升在中心化管控平台上注册用户服务时的便捷性,
步骤403,将所述合约执行逻辑集合中的合约执行逻辑进行组合生成所述用户服务,以完成所述用户服务的服务注册。
当上述中心化管控平台在从上述中心化管控平台上已经注册的合约执行逻辑中,确定出用于实现上述用户服务对应的服务功能的合约执行逻辑集合之后,可以将上述合约执行逻辑集合中的合约执行逻辑进行组合生成上述用户服务,以完成上述用户服务的服务注册。
在示出的一种实施方式中,上述中心化管控平台可以为该服务提供方的用户分配一个服务标识,再将上述合约执行逻辑集合中的合约执行逻辑进行组合生成一个合约执行逻辑组合,然后将该合约执行逻辑组合与上述服务标识进行绑定,以完成针对上述用户服务的服务注册。
例如,在实现时,可以将上述合约执行逻辑集合中的合约执行逻辑,按照与上述服务提供方的用户为上述用户服务定义的服务逻辑的逻辑顺序进行组合,得到合约执行逻辑组合,再将该合约执行逻辑组合与上述服务标识进行绑定,以完成针对上述用户服务的服务注册。
在示出的一种实施方式中,当完成上述用户服务的服务注册之后,中心化管控平台可以为注册完成的该用户服务生成对应的服务配置信息,并在本地存储为该用户服务生成的服务配置信息。
例如,在实现时,在中心化管控平台上,具体可以维护一个用于存储注册完成的用户服务对应的服务配置信息的信息库,当注册了新的用户服务之后,可以将为该新的用户服务生成的服务配置信息,与为该新的用户服务分配的服务标识一起关联存储到该信息库中。
其中,上述服务配置信息的具体内容,在本说明书中不进行特别限定;例如,可以包括:组合生成上述用户服务的各合约执行逻辑的标识信息、包含所述各合约执行逻辑的各用户智能合约的合约地址、以及部署上述各用户智能合约的各成员区块链的区块链标识之间的对应关系,等等。
在本说明书中,上述中心化管控平台,除了可以支持注册由部署在各成员区块链上的用户智能合约所包含的合约执行逻辑组合生成的用户服务以外,在实际应用中,还可以支持由已经注册的至少一个用户服务组合生成服务解决方案。
请参见图5,图5是本说明书根据一示例性实施例示出的一种在中心化管控平台上注册服务解决方案的服务注册方法的流程图,该方法也可以应用于图1所示的中心化管控平台;所述方法包括:
步骤501,接收服务提供方发起的解决方案注册请求;
其中,上述服务解决方案,具体是指将已经在上述中心化管控平台上注册的至少一个用户服务,进行组合之后生成的服务能力更为复杂的解决方案。
上述服务提供方的用户在向中心化管控平台上注册用户服务时,具体也可以通过一个与上述中心化管控平台对接的用户客户端来完成。上述服务提供方的用户可以通过在上述用户客户端上执行服务注册操作,向上述中心化管控平台发起解决方案注册请求,使得上述中心化管控平台可以响应该解决方案注册请求,在上述中心化管控平台上注册服务解决方案。
步骤502,响应于所述解决方案注册请求,从已注册的用户服务中确定用于实现所述服务解决方案对应的服务功能的用户服务集合;
上述中心化管控平台在收到上述服务提供方的用户发起的解决方案注册请求时,可以响应该解决方案注册请求,来确定用于实现该服务提供方的用户需要注册的服务解决方案对应的服务功能的用户服务集合。
在示出的一种实施方式中,上述中心化管控平台可以将已经注册的用户服务通过可视化界面向服务提供方的用户输出,以由该服务提供方的用户在该可视化界面中选择用于组合生成上述服务解决方案的至少一个用户服务。相应的,上述解决方案注册请求中可以携带该服务提供方的用户选择的上述至少一个用户服务对应的标识信息,上述中心化管控平台在响应上述解决方案注册请求,在从上述中心化管控平台上已经注册的用户服务中,来确定用于实现该服务解决方案对应的服务功能的用户服务集合时,具体可以获取该解决方案注册请求中携带的上述标识信息,然后将已注册的用户服务中与上述标识信息对应的至少一个用户服务,确定为用于实现上述服务解决方案对应的服务功能的用户服务集合。
在示出的另一种实施方式中,上述服务提供方的用户,也可以基于自身的服务需求,为需要注册的上述服务解决方案定义一个服务逻辑。而在上述解决方案注册请求中,也可以不携带从上述可视化界面中选择至少一个已注册的用户服务对应的标识信息,而是携带服务提供方的用户为上述服务解决方案定义的服务逻辑相关的描述信息。例如,该描述信息,具体可以是用户需要注册的服务解决方案相关的功能描述。
在这种情况下,上述中心化管控平台在响应上述解决方案注册请求,在从上述中心化管控平台上已经注册的用户服务中,来确定用于实现该服务解决方案对应的服务功能的用户服务集合时,具体可以将已注册的用户服务对应的服务逻辑,分别与该描述信息所指示的服务逻辑进行匹配;然后根据匹配的结果,将已注册的用户服务中,与该描述信息所指示的服务逻辑匹配的至少一个用户服务,确定为用于实现上述服务解决方案对应的服务功能的用户服务集合。
步骤503,将所述用户服务集合中的用户服务进行组合生成所述服务解决方案,以完成所述服务解决方案的服务注册。
当上述中心化管控平台在从上述中心化管控平台上已经注册的用户服务中,确定出用于实现上述服务解决方案对应的服务功能的用户服务集合之后,可以将上述用户服务集合中的用户服务进行组合生成上述服务解决方案,以完成上述服务解决方案的注册。
在示出的一种实施方式中,上述中心化管控平台可以为该服务提供方的用户分配一个方案标识,再将上述用户服务集合中的用户服务进行组合生成一个用户服务组合,然后将该用户服务组合与上述方案标识进行绑定,以完成针对上述服务解决方案的服务注册。
例如,在实现时,可以将上述用户服务集合中的用户服务,按照与上述服务提供方的用户为上述服务解决方案定义的服务逻辑的逻辑顺序进行组合,得到用户服务组合,再将该用户服务组合与上述方案标识进行绑定,以完成针对上述服务解决方案的注册。
在示出的一种实施方式中,当完成上述服务解决方案的服务注册之后,中心化管控平台可以为注册完成的该服务解决方案生成对应的服务配置信息,并在本地存储为该服务解决方案生成的服务配置信息。
例如,在实现时,在中心化管控平台上,具体可以维护一个用于存储注册完成的服务解决方案对应的服务配置信息的信息库,当注册了新的服务解决方案之后,可以将为该新的服务解决方案生成的服务配置信息,与为该新的服务解决方案分配的服务标识一起关联存储到该信息库中。
其中,上述服务配置信息的具体内容,在本说明书中不进行特别限定;例如,可以包括:组合生成上述服务解决方案的各用户服务的服务标识、组合生成上述各用户服务的各合约执行逻辑的标识信息、包含所述各合约执行逻辑的各用户智能合约的合约地址、以及部署上述各用户智能合约的各成员区块链的区块链标识之间的对应关系,等等。
在本说明书中,当服务提供方的用户在上述中心化管控平台注册了用户服务时,中心化管控平台具体可以将已经注册完成的用户服务作为标准化的服务进行服务部署,以开放给服务使用方进行调用。
其中,中心化管控平台在部署已注册完成的用户服务时,具体可以以服务接口的形式中心化的部署在中心化管控平台上,也可以以系统智能合约的形式,分布式部署在各成员区块链上。
请参见图6,图6是本说明书根据一示例性实施例示出的一种针对在中心化管控平台上注册的用户服务的服务使用方法的流程图,该方法也可以应用于图1所示的中心化管控平台;其中,所述中心化管控平台上部署了与注册完成的用户服务对应的服务接口;所述方法包括:
步骤601,获取服务使用方发起的针对所述服务接口的调用请求;
在上述中心化管控平台上注册完成的用户服务,具体可以以服务接口的形式部署在上述中心化管控平台上。而具有上述用户服务的调用需求的服务使用方,可以通过发起针对上述服务接口的调用请求,来调用中心化部署在上述中心化管控平台上的用户服务。
其中,上述服务使用方具体可以是一个具有上述用户服务的调用需求的用户,也可以是一个具有上述用户服务的调用需求的业务系统,在本说明书中不进行特别限定。
步骤602,响应于所述调用请求,确定组合生成所述用户服务的各合约执行逻辑对应的各用户智能合约,以及部署所述各用户智能合约的各成员区块链;
步骤603,基于在所述各成员区块链中创建的与所述中心化管控平台对应的区块链账户,分别发起针对所述各用户智能合约的跨链调用,以完成针对所述用户服务的服务调用。
其中,在上述服务接口中具体可以包含与上述用户服务相关的调用方法;例如,在实际应用中,上述服务接口中包含的调用方法,具体可以是接口函数的形式。这些调用方法对应的调用逻辑具体可以包括:确定组合生成用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,分别发起针对上述各用户智能合约的跨链调用。
而中心化管控平台在收到上述服务使用方的用户针对上述服务接口的调用请求后,可以响应该调用请求,执行该服务接口中包含的上述调用方法,来确定组合生成该用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,分别发起针对上述各用户智能合约的跨链调用。
在示出的一种实施方式中,在上述中心化管控平台上具体可以维护注册完成的用户服务对应的服务配置信息,以及在各成员区块链上为上述中心化平台创建的区块链账户列表;比如,在实际应用中,上述服务配置信息和上述区块链账户列表,均可以作为服务接口相关的调用参数的形式,写入到上述服务接口中。
相应的,上述服务接口所包含的与上述目标用户服务相关的调用方法对应的调用逻辑,具体可以包括:
查询逻辑,查询上述服务配置信息中的上述对应关系,以确定组合生成上述目标用户服务的各合约执行逻辑、包含上述各合约执行逻辑的各用户智能合约、和部署上述各用户智能合约的各成员区块链。以及,在确定出部署上述各用户智能合约的各成员区块链之后,进一步查询上述区块链账户列表,以确定在上述各成员区块链上创建的与该中心化平台对应的区块链账户。
跨链逻辑,根据上述查询逻辑查询出的在上述各成员区块链上创建的与该中心化平台对应的区块链账户,分别发起针对上述各用户智能合约的跨链调用。
在示出的一种实施方式中,上述用户服务具体可以也可以是将部署在各成员区块链上的用户智能合约所包含的至少一个合约执行逻辑,按照与该用户服务对应的服务逻辑的逻辑顺序进行组合生成的服务。
在这种情况下,上述跨链逻辑在根据在上述各成员区块链上创建的与该中心化平台对应的区块链账户,分别发起针对上述各用户智能合约的跨链调用时,具体可以根据在上述各成员区块链上创建的与该中心化平台对应的区块链账户,按照上述逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
在示出的一种实施方式中,中心化管控平台维护的上述服务配置信息中,还可以包括:基于上述用户服务对应的服务逻辑的逻辑顺序,为组合生成上述用户服务的各合约执行逻辑确定出的调用顺序信息。相应的,上述跨链逻辑在按照上述用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用时,具体可以从上述服务配置信息中读取上述调用顺序,再按照读取出的上述调用顺序,分别发起针对上述各用户智能合约的跨链调用。
当中心化管控平台通过调用上述服务接口,完成了针对上述各用户智能合约的跨链调用之后,可以进一步汇总针对上述各用户智能合约的跨链调用的调用结果,并将上述调用结果作为针对上述用户服务的调用结果,返回给上述服务使用方。
请参见图7,图7是本说明书根据一示例性实施例示出的另一种针对在中心化管控平台上注册的用户服务的服务使用方法的流程图,该方法可以应用于图1所示的区块链服务网络中的任一目标成员区块链中的节点设备。其中,上述区块链服务网络中的各成员区块链上分别部署了由中心化管控平台下发的至少一个系统智能合约;上述至少一个系统智能合约包括用于与其它成员区块链进行跨链通信的目标系统智能合约;该目标系统智能合约包含与在所述中心化管控平台上注册完成的用户服务对应的跨链调用逻辑;所述方法包括:
步骤701,获取服务使用方发起的针对所述用户服务的调用数据;
在上述中心化管控平台上注册完成的用户服务,具体可以以上述系统智能合约的形式部署在上述中心化管控平台上。而具有上述用户服务的调用需求的服务使用方,可以通过发起针对上述目标系统智能合约的合约调用的方式,来调用去中心化部署在各成员区块链上的上述用户服务。
其中,上述服务使用方具体可以是一个具有上述用户服务的调用需求的用户,也可以是一个具有上述用户服务的调用需求的,部署在任一成员区块链上的用户智能合约,在本说明书中不进行特别限定。
例如,在一种情况下,如果上述服务使用方是一个具有上述用户服务的调用需求的用户,此时该用户具体可以是一个在上述目标成员区块链上注册了区块链账户的用户。该用户可以基于在该目标成员区块链上注册的区块链账户,来发起针对该目标成员区块链上部署的上述目标系统智能合约的合约调用,以完成针对上述用户服务的服务调用。
在另一种情况下,如果上述服务使用方是一个部署在上述目标成员区块链上的目标用户智能合约,此时该目标用户智能合约中包含的合约执行逻辑,可以与上述用户服务具有嵌套的调用关系;例如,该目标用户智能合约中包含的合约执行逻辑,引用了在中心化管控平台上注册的用户服务。在这种情况下,该目标用户智能合约在执行包含的合约执行逻辑的过程中,可以通过智能合约之间的嵌套调用的方式,进一步发起针对上述目标系统智能合约的合约调用。
相应的,上述调用数据的具体内容,通常也取决于上述服务使用方的具体类型;
例如,如果上述服务使用方是一个具有上述用户服务的调用需求的用户,此时上述调用数据,具体可以是该用户在上述目标成员区块链注册的区块链账户发起的一笔用于调用上述目标系统合约的合约调用交易。
如果上述服务使用方是一个部署在上述目标成员区块链上的目标用户智能合约,此时上述调用数据,具体可以是上述目标用户智能合约在调用上述目标系统智能合约时,由上述目标用户智能合约发送给上述目标系统智能合约的针对上述用户服务的调用消息。
例如,在实际应用中,智能合约之间相互的调用,通常采用的是“消息调用”的方式,当某一个智能合约需要调用其它智能合约时,会向该其他智能合约发送一个调用消息。因此,在本说明书中,上述目标用户智能合约在调用上述目标系统智能合约时,具体也可以采用这种“消息调用”的方式,通过向上述目标系统智能合约发送一个调用消息,来发起针对上述目标系统智能合约的合约调用。
需要说明的是,当某一个智能合约采用“消息调用”的方式,调用其它智能合约时,该其它智能合约在调用完成后,会将调用结果返回给发送调用消息的智能合约,来触发该智能合约基于该调用结果继续执行下一步的合约执行逻辑。
步骤702,响应于所述调用数据,调用所述目标系统智能合约包含的所述跨链调用逻辑,确定组合生成所述用户服务的各合约执行逻辑对应的各用户智能合约,以及部署所述各用户智能合约的各成员区块链;
步骤703,基于在所述各成员区块链中创建的与所述中心化管控平台对应的区块链账户,分别发起针对所述各用户智能合约的跨链调用,以完成针对所述用户服务的服务调用。
上述目标成员区块链上可以部署了由中心化管控平台下发的至少一个系统智能合约;上述至少一个系统智能合约具体可以包括用于与其它成员区块链进行跨链通信的目标系统智能合约。其中,该目标系统智能合约中,具体可以包含与上述用户服务对应的跨链调用逻辑。
例如,由于组成上述用户服务的合约调用逻辑,可能包括分布于多个成员区块链上部署的多个用户智能合约所包含的合约执行逻辑,用户在调用上述用户服务时也可能需要跨链调用分布在多个成员区块链上的多个用户智能合约;因此,上述中心化管控平台在部署上述用户服务时,具体可以为该用户服务开发对应的跨链调用逻辑,然后将该跨链调用逻辑作为上述系统智能合约的合约执行逻辑,部署在上述目标成员区块链上。
该跨链调用逻辑具体可以用于:确定组合生成该用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,按照与上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
通过这种方式,通过这种方式,使得服务使用方,可以通过自主的调用该目标系统智能合约中的包含的上述跨链调用逻辑的方式,对已经在中心化管控平台上注册的上述目标用户服务发起调用。
当上述目标成员区块链上的节点设备收到服务使用方发起的调用数据时,可以响应该调用数据,调用上述目标系统智能合约包含的上述跨链调用逻辑,确定组合生成该用户服务的各合约执行逻辑对应的各用户智能合约,以及部署上述各用户智能合约的各成员区块链,并基于在上述各成员区块链中创建的与中心化管控平台对应的区块链账户,按照与上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
例如,在一种情况下,如果上述服务使用方是一个具有上述用户服务的调用需求的用户,此时该用户具体可以是一个在上述目标成员区块链上注册了区块链账户的用户。上述调用数据具体可以是该用户通过在该目标成员区块链上注册的区块链账户,打包的一笔针对上述目标系统智能合约的合约调用交易。上述节点设备收到该合约调用交易后,可以响应该合约调用交易,进一步调用上述目标系统智能合约包含的上述跨链调用逻辑。
在另一种情况下,如果上述服务使用方是一个部署在上述目标成员区块链上的目标用户智能合约,此时该目标用户智能合约中包含的合约执行逻辑,可以与上述用户服务具有嵌套的调用关系。在这种情况下,上述调用数据具体可以是该目标用户智能合约发送给上述目标系统智能合约的一个调用消息。上述节点设备在收到该调用消息后,可以响应该调用消息,进一步调用上述目标系统智能合约包含的上述跨链调用逻辑。
在示出的一种实施方式中,在上述目标系统智能合约中,还可以维护与上述用户服务对应的服务配置信息,以及在各成员区块链上为上述中心化平台创建的区块链账户列表。
例如,在实现时,与上述用户服务对应的服务配置信息,以及在各成员区块链上为上述中心化平台创建的区块链账户列表,具体可以存储在上述目标系统智能合约的账户存储空间中;比如,上述服务配置信息和上述区块链账户列表,具体可以组织成key-value键值对的形式,构建成Merkle树存储在各成员区块链中的节点设备搭载的存储介质中;再将该Merkle树的根hash存储到与该目标系统智能合约对应的合约账户的账户结构体中。
其中,上述服务配置信息具体可以包括:组合生成上述用户服务的各合约执行逻辑的标识信息(比如函数名)、包含上述各合约执行逻辑的各用户智能合约的合约地址、以及部署上述各用户智能合约的各成员区块链的区块链标识之间的对应关系。
在这种情况下,上述跨链调用逻辑具体可以由如下的执行逻辑组成:
查询逻辑,用于查询上述目标系统智能合约中维护的与上述用户服务对应的服务配置信息中的上述对应关系,以确定组合生成上述用户服务的各合约执行逻辑、包含上述各合约执行逻辑的各用户智能合约、和部署上述各用户智能合约的各成员区块链。以及,还可以用于在确定出部署上述各用户智能合约的各成员区块链之后,进一步查询上述目标系统智能合约中维护的上述区块链账户列表,以确定在上述各成员区块链上创建的与该中心化平台对应的区块链账户。
跨链逻辑,用于基于查询逻辑确定出的,包含上述各合约执行逻辑的各用户智能合约、部署上述各用户智能合约的各成员区块链、以及在上述各成员区块链上创建的与该中心化平台对应的区块链账户等信息,分别发起针对上述各用户智能合约的跨链调用。其中,跨链调用其它成员区块链上部署的用户智能合约的具体实施细节,在本说明书中不再进行详述,本领域技术人员可以参考相关技术中的记载。
在这种情况下,当上述目标成员区块链上的节点设备收到服务使用方发起的调用数据时,可以响应该调用数据,调用上述目标系统智能合约包含的上述查询逻辑,查询上述对应关系,以确定组合生成上述用户服务的各合约执行逻辑、包含上述各合约执行逻辑的各用户智能合约、和部署上述各用户智能合约的各成员区块链。以及,进一步查询上述区块链账户列表,以确定在上述各成员区块链上创建的与该中心化平台对应的区块链账户。然后,可以进一步调用上述目标系统智能合约包含的上述跨链逻辑,基于确定出的上述区块链账户,分别发起针对所述各用户智能合约的跨链调用。
在示出的一种实施方式中,上述用户服务具体可以也可以是将部署在各成员区块链上的用户智能合约所包含的至少一个合约执行逻辑,按照与该用户服务对应的服务逻辑的逻辑顺序进行组合生成的服务。
在这种情况下,上述跨链逻辑具体用于:基于查询逻辑确定出的,包含上述各合约执行逻辑的各用户智能合约、部署上述各用户智能合约的各成员区块链、以及在上述各成员区块链上创建的与该中心化平台对应的区块链账户等信息,按照上述逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
相应的,上述节点设备在调用上述目标系统智能合约包含的上述跨链逻辑,基于确定出的上述区块链账户,分别发起针对所述各用户智能合约的跨链调用时,具体可以基于确定出的上述区块链账户,按照上述逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
在示出的一种实施方式中,在上述服务配置信息中,还可以包括:基于上述目标用户服务对应的服务逻辑的逻辑顺序,为组合生成上述目标用户服务的各合约执行逻辑确定出的调用顺序。
上述跨链逻辑具体用于:读取上述服务配置信息中包括的上述调用顺序,基于查询逻辑确定出的,包含上述各合约执行逻辑的各用户智能合约、部署上述各用户智能合约的各成员区块链、以及在上述各成员区块链上创建的与该中心化平台对应的区块链账户等信息,按照读取到的上述逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
相应的,上述节点设备在调用上述目标系统智能合约包含的上述跨链逻辑,基于确定出的上述区块链账户,按照上述逻辑顺序,分别发起针对所述各用户智能合约的跨链调用时,具体可以读取上述服务配置信息中包括的上述调用顺序,再基于确定出的上述区块链账户,按照读取到的上述逻辑顺序,分别发起针对上述各用户智能合约的跨链调用。
当然,在实际应用中,上述目标用户服务对应的服务逻辑的逻辑顺序,具体可以不作为服务配置信息的一部分维护在上述目标系统智能合约中,而是维护在上述中心化管控平台上。
在这种情况下,在调用上述目标系统智能合约包含的上述跨链逻辑,按照上述目标用户服务对应的服务逻辑的逻辑顺序,分别发起针对上述各用户智能合约的跨链调用时,具体可以与上述中心化管控平台进行链外交互,从上述中心化管控平台上来读取上述目标用户服务对应的服务逻辑的逻辑顺序,再按照读取到的上述调用顺序,发起针对上述各用户智能合约的跨链调用。
例如,在实现时,上述目标系统智能合约具体可以通过另一个oracle预言机程序,与上述中心化管控平台进行链外交互,从上述中心化管控平台上读取上述目标用户服务对应的服务逻辑的逻辑顺序。其中,上述目标系统智能合约通过oracle预言机程序与上述中心化管控平台进行链外交互的具体实施细节,在本说明书中不再进行详述,本领域技术人员可以参考相关技术中的记载。
在示出的一种实施方式中,中心化管控平台在各成员区块链上部署了用于进行跨链通信的目标系统智能合约之后,后续服务提供方的用户在上述中心化管控平台上注册了新的用户服务时,中心化管控平台还可以将新注册的该用户服务对应的服务配置信息,存储至上述目标系统智能合约,以对该目标系统智能合约中维护的服务配置信息进行更新。
在示出的一种实施方式中,中心化管控平台在各成员区块链上部署了用于进行跨链通信的目标系统智能合约之后,后续如果上述区块链服务网络加入了新的成员区块链,中心化管控平台还可以将在该新的成员区块链上创建的与该中心化管控平台对应的区块链账户,也存储至上述目标系统智能合约,以对该目标系统智能合约中维护的区块链账户列表进行更新。
其中,需要说明的是,在实际应用中,以上描述的中心化管控平台对上述目标系统智能合约中维护的服务配置信息以及区块链账户列表进行更新的操作,具体可以采用实时更新的方式,也可以采用离线更新的方式。
一方面,如果采用实时更新的方式,每当在上述中心化管控平台上注册了新的用户服务时,中心化管控平台就可以立即将新注册的该用户服务对应的服务配置信息,存储至上述目标系统智能合约,以对该目标系统智能合约中维护的服务配置信息进行更新。
相应的,每当上述区块链服务网络加入了新的成员区块链时,中心化管控平台也可以立即将在该新的成员区块链上创建的与该中心化管控平台对应的区块链账户,存储至上述目标系统智能合约,以对该目标系统智能合约中维护的区块链账户列表进行更新。
另一方面,如果采用离线更新的方式,可以在上述目标系统智能合约每次被调用时,再触发对上述目标系统智能合约中维护的服务配置信息和区块链账户列表进行更新。
在这种情况下,每当在上述中心化管控平台上注册了新的用户服务时,中心化管控平台可以先将新注册的该用户服务对应的服务配置信息缓存起来。当上述目标系统智能合约被调用时,再将缓存的上述服务配置信息存储至上述目标系统智能合约,以对该目标系统智能合约中维护的服务配置信息进行更新。相应的,每当上述区块链服务网络加入了新的成员区块链时,中心化管控平台也可以先将在该新的成员区块链上创建的与该中心化管控平台对应的区块链账户缓存起来。当上述目标系统智能合约被调用时,再将缓存的上述区块链账户存储至上述目标系统智能合约,以对该目标系统智能合约中维护的区块链账户列表进行更新。
例如,在实现时,可以在上述目标系统智能合约中引入数据同步的执行逻辑,使得上述目标系统智能合约每次被调用时,可以先运行该数据同步的执行逻辑,与中心化管控平台进行服务配置信息和区块链账户列表的数据同步,基于中心化管控平台缓存的服务配置信息和区块链账户对上述目标系统智能合约中维护的服务配置信息和区块链账户列表进行更新,然后再继续执行本次被调用的合约执行逻辑。
在示出的一种实施方式中,上述中心化管控平台除了可以支持注册上述用户服务以外,还可以支持在上述中心化管控平台上,为部署在各成员区块链上的作为上述服务使用方的用户智能合约注册关联的用户服务。
当上述服务使用方是一个部署在上述目标成员区块链上的目标用户智能合约,此时该目标用户智能合约的部署方或者管理方,可以通过向中心化管控平台发送用户智能合约注册请求的方式,为该目标用户智能合约注册关联的用户服务。
其中,在该用户智能合约注册请求中,具体可以携带上述目标用户智能合约的合约地址,以及需要与该目标用户智能合约进行关联的目标用户服务的服务标识。
当中心化管控平台收到该目标用户智能合约的部署方或者管理方发送的用户智能合约注册请求后,可以响应该用户智能合约注册请求,读取该用户智能合约注册请求中携带的目标用户服务的服务标识和该目标用户智能合约的合约地址,然后创建该目标用户服务的服务标识和该目标用户智能合约的合约地址之间的关联关系,并将该关联关系在中心化管控平台上进行存储。
在这种情况下,针对上述用户服务的调用数据,具体可以是上述目标用户智能合约提交给上述目标系统智能合约的针对上述用户服务的调用消息。上述节点设备响应于上述调用消息,调用上述目标系统智能合约包含的上述跨链调用逻辑之前,可以先确定该用户服务是否已经注册为与上述目标用户智能合约关联的用户服务;
例如,在一个例子中,上述关联关系具体可以作为上述服务配置信息的一部分,维护在上述目标系统智能合约中。在这种情况下,上述节点设备响应于上述调用消息,调用上述目标系统智能合约包含的上述跨链调用逻辑之前,可以先查询上述关联关系,来确定该用户服务是否已经注册为与上述目标用户智能合约关联的用户服务。
当然,上述关联关系具体也可以不作为上述服务配置信息的一部分,维护在上述目标系统智能合约中,而是维护在上述中心化管控平台上。在这种情况下,上述节点设备响应于上述调用消息,调用上述目标系统智能合约包含的上述跨链调用逻辑之前,可以通过一个oracle预言机程序,与上述中心化管控平台进行链外交互,从上述中心化管控平台上读取上述关联关系,再基于读取到的关联关系来确定该用户服务是否已经注册为与上述目标用户智能合约关联的用户服务。或者,上述节点设备响应于上述调用消息,调用上述目标系统智能合约包含的上述跨链调用逻辑之前,可以通过一个oracle预言机程序,与上述中心化管控平台进行链外交互,向上述中心化管控平台发送一个查询请求,由中心化管控平台来查询上述关联关系确定该用户服务是否已经注册为与上述目标用户智能合约关联的用户服务,再将查询结果返回给上述目标系统智能合约。
当确定出上述用户服务已经注册为与上述目标用户智能合约关联的用户服务,此时可以进一步调用上述目标系统智能合约包含的上述跨链调用逻辑。如果确定出上述用户服务并未注册为与上述目标用户智能合约关联的用户服务,此时可以拒绝上述目标用户智能合约来调用上述目标系统智能合约包含的上述跨链调用逻辑。
通过这种方式,可以为部署在各成员区块链上的作为服务使用方的各用户智能合约,灵活的注册用户服务,并根据注册结果,来严格的控制各用户智能合约作为服务使用方的服务调用权限;例如,通过这种注册机制,可以将在中心化管控平台上注册的用户服务的调用权限,限制在与这些用户服务关联的用户智能合约中,进而可以保证各用户智能合约只能作为服务使用方来调用与其关联的用户服务。
在本说明书中,当服务提供方的用户在上述中心化管控平台注册了服务解决方案时,中心化管控平台具体可以将已经注册完成的服务解决方案作为标准化的服务进行服务部署,以开放给服务使用方进行调用。其中,中心化管控平台在部署已注册完成的服务解决方案时,具体可以也以服务接口的形式,中心化的部署在中心化管控平台上,也可以以系统智能合约的形式,分布式部署在各成员区块链上,以供服务使用方进行调用。
需要说明的是,上述中心化管控平台在部署注册完成的服务解决方案的详细过程,以及服务使用方调用部署完成的服务解决方案的详细过程,本说明书中不再进行赘述,本领域技术人员可以参考以上图6和图7示出的针对注册完成的用户服务进行部署的详细过程和服务使用方调用部署的用户服务的详细过程。在本说明书中,为了激励更多的区块链加入到上述区块链服务网络,上述中心化管控平台还可以采用相应的激励措施,对于在已经加入到上述区块链服务网络的成员区块链上注册了用户账户,并且在上述中心化管控平台上注册了新的用户服务或者新的服务解决方案的服务提供方的用户进行激励。
而这种激励措施,具体也可以以系统智能合约的形式,分布式的部署在各成员区块链上。例如,如前所述,各成员区块链在作为成员加入上述区块链服务网络时,中心化管控平台在各成员区块链中部署了至少一个系统智能合约;其中,上述至少一个系统智能合约除了可以包括至少描述的用于与其它成员区块链进行跨链通信的系统智能合约,用于对目标区块链进行服务管理的系统智能合约以外,还可以包括一个用于对中心化管控平台上注册的用户服务或者服务解决方案相关的用户进行服务激励的系统智能合约。进而,可以通过调用该系统智能合约的方式,对在上述中心化管控平台上注册了新的用户服务或者新的服务解决方案的用户进行激励。
请参见图8,图8是本说明书根据一示例性实施例示出的一种基于区块链的虚拟资源分配方法的流程图,该方法可以应用于虚拟资源分配的发起方;其中,各成员区块链上由上述中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述方法包括:
步骤801,获取服务提供方在所述中心化管控平台上注册的目标用户服务对应的服务数据;
上述虚拟资源,具体可以是任意类型的能够在区块链上流通实现价值转移的虚拟媒介,在本说明书中不进行特别限定;例如,在示出的一种实施方式中,上述虚拟资源具体可以包括在区块链上发布的与链外的实体资产价值锚定的虚拟资产。上述链外的实体资产,可以包括任意类型的链外实体资产;比如,链外由用户持有的货币。
上述虚拟资源的发起方,具体可以是图1所示的中心化管控平台,也可以是与各成员区块链对接的用户客户端(比如可以是服务提供方的用户对应的客户端)。也即,图8示出的方法流程的执行主体,可以是上述中心化管控平台,也可以是接入各成员区块链的用户客户端,在实际应用中,可以由中心化管控平台发起对上述系统智能合约的合约调用,来向在上述中心化管控平台上注册了新的用户服务的用户进行激励,也可以由上述用户客户端发起对上述系统智能合约的合约调用,来向在上述中心化管控平台上注册了新的用户服务的用户进行激励,在本说明书中不进行特别的限定。
对于已经在各成员区块链上注册了用户账户的服务提供方的用户,在该成员区块链加入了上述区块链服务网络之后,可以利用分布在各成员区块链上的用户智能合约所包含的合约执行逻辑,按照自身的服务需求,来灵活的进行自由组合来定义新的用户服务,并将该新的用户服务在上述中心化管控平台上进行注册。其中,在上述中心化管控平台上注册新的用户服务的详细过程不再赘述。
而上述虚拟资源分配的发起方,可以通过获取上述用户服务在部署之后的服务数据,将该服务数据作为合约调用参数,来发起针对上述系统智能合约的合约调用,向注册该用户服务的服务提供方的用户分配一定数量的虚拟资源作为激励。
例如,如果上述虚拟资源分配的发起方为上述中心化管控平台,在获取上述用户服务在部署之后的服务数据时,具体可以由上述中心化管控平台来实时监控并收集上述用户服务的调用情况,来获得该用户服务的服务数据。而如果上述虚拟资源分配的发起方为上述用户客户端,则可以与上述中心化管控平台进行交互,从上述中心化管控平台处获取该用户服务的服务数据。
其中,上述服务数据,具体可以是能够真实反应上述用户服务的服务使用状况的数据,在本说明书中不对上述服务数据的具体数据类型进行明确的限定。
在示出的一种实施方式中,上述服务数据具体可以包括与上述用户服务对应的服务指标。其中,该服务指标具体可以包括能够反映该用户服务的服务使用状况的任意类型的指标。
在一种实现方式中,上述服务指标具体可以包括与上述用户服务的服务使用相关的第一类服务指标。在实际应用中,上述中心化管控平台可以通过监控上述用户服务在部署之后,服务使用方在调用该用户服务的过程中产生的调用数据,并对上述调用数据进行统计分析,来得到上述第一类服务指标。
其中,上述第一类服务指标所包含的具体的指标类型,在本说明书中不进行特别限定;例如,在实际应用中,上述第一类服务指标,具体可以包括上述用户服务的服务在线时长、上述用户服务被调用时的平均响应时长,上述用户服务被调用时的调用成功率等指标中的一个或者多个的组合。当然,在实际应用中,上述第一类服务指标也可以包括以上示出的各种指标以外的其它指标,在本说明书中不进行特别限定;
需要说明的是,上述用户服务的服务在线时长,具体可以用上述用户服务被成功部署的时刻或者被首次调用的时刻,与当前最新的时刻之间的时长间隔来表示。
例如,在实现时,上述中心化管控平台可以在后台记录上述用户服务被成功部署的时刻或者被首次调用的时刻,假设上述用户服务被成功部署的时刻或者被首次调用的时刻为T1,当前最新的时刻为T2,则上述用户服务的服务在线时长可以表示成T2-T1。
上述用户服务被调用时的平均响应时长,具体可以用将上述用户服务每次被调用的响应时长之和,按照该用户服务被调用的总次数计算得到的平均值来表示。
例如,在实现时,上述中心化管控平台可以在后台记录上述用户服务每次被调用时的开始时刻和结束时刻,并计算该开始时刻和结束时刻之间的时长间隔,得到每次被调用的响应时长。然后,可以将该上述用户服务每次被调用的响应时长求和得到一个响应时长的总时长。最后,上述中心化管控平台可以记录上述用户服务被调用的总次数,再将上述总时长按照上述总次数来计算平均值,得到上述用户服务的平均响应时长。
上述用户服务被调用时的调用成功率,具体可以用将上述用户服务被调用时成功返回调用结果的次数,按照与该用户服务被调用的总次数计算得到的平均值来表示。
例如,在实现时,上述中心化管控平台可以在后台记录上述用户服务被调用时成功返回调用结果的次数,以及该用户服务被调用的总次数。然后,再计算上述用户服务被调用时成功返回调用结果的次数,与该用户服务被调用的总次数的比值,得到上述用户服务的调用成功率。
在另一种实现方式中,上述服务指标除了可以包括与上述用户服务的服务使用相关的第一类服务指标之外,还可以包括服务使用方针对上述用户服务的用户反馈相关的第二类服务指标。在实际应用中,上述中心化管控平台可以通过监控上述用户服务在被服务使用方调用之后,服务使用方提交的针对该用户服务的反馈信息,来获得上述第二类服务指标。
其中,上述第二类服务指标所包含的具体的指标类型,在本说明书中不进行特别限定;例如,在实际应用中,上述第二类服务指标,具体可以包括服务使用方针对上述用户服务的服务使用评分。当然,在实际应用中,上述第二类服务指标也可以包括以上示出的用户使用评分以外的其它指标,在本说明书中不进行特别限定。
在示出的另一种实施方式中,上述服务数据具体也可以包括基于与上述用户服务对应的服务指标计算出的与上述用户服务对应的服务评分。
其中,在一个例子中,基于与上述用户服务对应的服务指标计算与上述用户服务对应的服务评分时,具体可以将与上述用户服务对应的服务指标进行加权计算,得到与上述用户服务对应的服务评分。需要说明的是,当上述服务指标本身并不是评分的形式,需要将其换算成评分的形式之后,再进行加权计算。而在加权计算的过程中,以上示出的第一类服务指标的加权系数,可以大于上述第二类服务指标的加权系统。通过这种方式,可以适当提升上述第二类服务指标中的各指标对服务评分的贡献度,而适当降低服务使用方对上述用户服务的用户反馈对服务评分的贡献度。
步骤802,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统合约的智能合约调用交易;其中,所述智能合约调用交易包括所述服务数据;
当上述虚拟资源分配的发起方,在获取到与上述用户服务对应的服务数据之后,可以构建一笔针对上述服务提供方所在的目标成员区块链上部署的上述系统智能合约的智能合约调用交易,并在该智能合约调用交易中携带作为合约调用参数的上述服务数据。
其中,需要说明的是,上述虚拟资源分配的发起方在构建上述智能合约调用交易之前,可以先确定上述服务使用方所在的目标成员区块链。
例如,在示出的一种实施方式中,上述服务提供方在完成上述用户服务的服务注册之后,中心化管控平台为注册完成的该用户服务生成对应的服务配置信息中,除了可以包含之前各实施例描述的信息之外,还可以包括该服务提供方的标识信息,和该服务提供方所在的目标成员区块链的区块链标识之间的对应关系。其中,该服务提供方的标识信息,具体可以是该服务提供方在上述目标成员区块链上注册的用户账户的账户标识。当然,也可以是其它形式的能够用于查询该服务提供方在上述目标成员区块链上注册的用户账户的身份标识。而该服务提供方的标识信息,具体可以携带在该服务提供方在注册该用户服务时,提交给该中心化管控平台的服务注册请求中。在这种情况下,上述虚拟资源分配的发起方可以通过查询上述服务配置信息中的上述对应关系,来确定上述服务使用方所在的目标成员区块链。
步骤803,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的虚拟资源的第一数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第一数量的虚拟资源。
上述虚拟资源分配的发起方在构建出针对上述服务提供方所在的目标成员区块链上部署的上述系统智能合约的智能合约调用交易之后,可以将该智能合约调用交易发布至上述目标成员区块链,使得上述目标成员区块链中的节点设备可以响应该智能合约调用交易,在本地搭载的智能合约执行环境(比如用于执行合约代码的虚拟机)中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码,完成针对上述服务使用方的虚拟资源分配。
其中,上述虚拟资源分配逻辑,具体可以用于基于上述智能合约调用交易中携带的服务数据来确定待分配的虚拟资源的第一数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入所述第一数量的虚拟资源。
在这种情况下,上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的服务数据来确定待分配的虚拟资源的第一数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入上述第一数量的虚拟资源。
在示出的一种实施方式中,如果上述智能合约调用交易携带的服务数据,是与上述用户服务对应的服务指标,此时上述虚拟资源分配逻辑中还可以包含基于上述服务指标计算上述服务评分的计算逻辑。
在这种情况下,上述虚拟资源分配逻辑,具体可以用于基于上述智能合约调用交易中携带的上述服务指标,计算与上述用户服务对应的服务评分,再基于计算出的服务评分确定待分配的虚拟资源的第一数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入所述第一数量的虚拟资源。上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的上述服务指标,计算与上述用户服务对应的服务评分,再基于计算出的服务评分确定待分配的虚拟资源的第一数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入上述第一数量的虚拟资源。
在示出的一种实施方式中,如果上述智能合约调用交易携带的服务数据,是基于与上述用户服务对应的服务指标计算出的与上述用户服务对应的服务评分,此时上述虚拟资源分配逻辑中还可以不包含基于上述服务指标计算上述服务评分的计算逻辑。
在这种情况下,上述虚拟资源分配逻辑,具体可以用于基于上述智能合约调用交易中携带的上述服务评分,确定待分配的虚拟资源的第一数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入所述第一数量的虚拟资源。上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的上述服务评分,确定待分配的虚拟资源的第一数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入上述第一数量的虚拟资源。
还需要说明的是,在上述智能合约调用交易中,除了可以携带上述服务数据之外,还可以携带上述服务提供方在上述目标成员区块链上注册的用户账户的账户标识,或者其它形式的可以用于查询上述用户账户的身份标识。
一方面,如果上述智能合约调用交易中,携带上述服务提供方在上述目标成员区块链上注册的用户账户的账户标识,则上述虚拟资源分配逻辑,具体可以用于基于上述智能合约调用交易中携带的服务数据来确定待分配的虚拟资源的第一数量,并基于上述智能合约调用交易中携带的上述账户标识来确定上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第一数量的虚拟资源。
在这种情况下,上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的服务数据来确定待分配的虚拟资源的第一数量,并基于上述智能合约调用交易中携带的上述账户标识来确定上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第一数量的虚拟资源。
如果上述智能合约调用交易中,携带用于查询上述服务提供方在上述目标成员区块链上注册的用户账户的其它形式的身份标识,则上述虚拟资源分配逻辑具体还可以包括查询上述服务提供方在上述目标成员区块链上注册的用户账户的逻辑。
在这种情况下,上述虚拟资源分配逻辑具体可以用于基于上述智能合约调用交易中携带的服务数据来确定待分配的虚拟资源的第一数量,并基于上述智能合约调用交易中携带的上述身份标识来查询上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入所述第一数量的虚拟资源。上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的服务数据来确定待分配的虚拟资源的第一数量,并基于上述智能合约调用交易中携带的上述身份标识来查询上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第一数量的虚拟资源。
需要说明的是,上述虚拟资源分配逻辑基于上述服务评分确定待分配的虚拟资源的第一数量的具体方式,可以基于具体的虚拟资源分配需求,来进行自定义,在本说明书中不进行特别限定。
例如,在一个例子中,可以预先划分出若干服务评分的区间,并按照具体的虚拟资源分配需求为每一个区间预设一个对应的虚拟资源分配数量。在基于上述服务评分确定待分配的虚拟资源的第一数量时,可以先确定该服务评分命中的区间,再将该区间对应的虚拟资源分配数量,确定为上述第一数量。
请参见图9,图9是本说明书根据一示例性实施例示出的一种基于区块链的虚拟资源分配方法的流程图,该方法也可以应用于上述虚拟资源分配的发起方;其中,各成员区块链上由上述中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述方法包括:
步骤901,获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量;
上述虚拟资源,具体也可以是任意类型的能够在区块链上流通实现价值转移的虚拟媒介,在本说明书中不进行特别限定;例如,在示出的一种实施方式中,上述虚拟资源具体可以包括在区块链上发布的与链外的实体资产价值锚定的虚拟资产。上述链外的实体资产,可以包括任意类型的链外实体资产;比如,链外由用户持有的货币。
上述虚拟资源的发起方,具体可以是图1所示的中心化管控平台,也可以是与各成员区块链对接的用户客户端(比如可以是服务提供方的用户对应的客户端)。也即,图8示出的方法流程的执行主体,可以是上述中心化管控平台,也可以是接入各成员区块链的用户客户端,在实际应用中,可以由中心化管控平台发起对上述系统智能合约的合约调用,来向在上述中心化管控平台上注册了新的用户服务的用户进行激励,也可以由上述用户客户端发起对上述系统智能合约的合约调用,来向在上述中心化管控平台上注册了新的用户服务的用户进行激励,在本说明书中不进行特别的限定。
对于已经在各成员区块链上注册了用户账户的服务提供方的用户,在该成员区块链加入了上述区块链服务网络之后,除了可以利用分布在各成员区块链上的用户智能合约所包含的合约执行逻辑,按照自身的服务需求,来灵活的进行自由组合来定义新的用户服务以外,还可以按照自身的服务需求,对已经在上述中心化管控平台上注册的用户服务,来灵活的进行自由组合定义新的服务解决方案,并将该新的服务解决方案在上述中心化管控平台上进行注册。其中,在上述中心化管控平台上注册新的服务解决方案的详细过程不再赘述。
而上述虚拟资源分配的发起方,可以通过获取上述服务提供方在上述中心化管控平台上注册的服务解决方案的第二数量,将该第二数量作为合约调用参数,来发起针对上述系统智能合约的合约调用,向该服务提供方的用户分配一定数量的虚拟资源作为激励。
例如,如果上述虚拟资源分配的发起方为上述中心化管控平台,具体可以由上述中心化管控平台来实时监控并收集上述服务使用方的用户注册的服务解决方案的数量。而如果上述虚拟资源分配的发起方为上述用户客户端,则可以与上述中心化管控平台进行交互,从上述中心化管控平台处获取上述服务使用方的用户注册的服务解决方案的数量。
在示出的一种实施方式中,上述虚拟资源分配的发起方,可以在获取上述服务提供方在上述中心化管控平台上注册的服务解决方案的第二数量时,具体可以获取服务提供方在上述中心化管控平台上注册的各个服务解决方案中满足预设的服务条件的服务解决方案的第二数量。
其中,上述预设的服务条件所包含的具体内容,可以实际的需求进行自定义,在本说明书中不进行特别限定;
例如,在一个例子中,上述预设的服务条件具体可以包括:服务评分达到阈值。在这种情况下,上述虚拟资源分配的发起方,在获取上述服务提供方在上述中心化管控平台上注册的服务解决方案的第二数量时,具体可以获取服务提供方在上述中心化管控平台上注册的各个服务解决方案中,服务评分达到阈值的服务解决方案的第二数量。
其中,而上述服务解决方案的服务评分,具体也可以是基于该服务解决方案的服务指标计算出的服务评分;需要说明的是,在计算服务解决方案的服务评分时采用的服务指标,具体可以与在计算用户服务的服务评分时采用的服务指标相同,不再赘述。除此之外,上述服务解决方案的服务评分,具体也可以是基于组合生成该服务解决方案的各用户服务的服务评分计算出的服务评分;比如,该服务解决方案的服务评分,具体可以是对组合生成该服务解决方案的各用户服务的服务评分进行加权计算得到的评分,也可以是对组合生成该服务解决方案的各用户服务的服务评分进行求和得到的评分,在本说明书中不进行特别限定。
步骤902,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述第二数量;
当上述虚拟资源分配的发起方,在获取到与上述第二数量之后,可以构建一笔针对上述服务提供方所在的目标成员区块链上部署的上述系统智能合约的智能合约调用交易,并在该智能合约调用交易中携带作为合约调用参数的上述第二数量。
其中,需要说明的是,上述虚拟资源分配的发起方在构建上述智能合约调用交易之前,也可以先确定上述服务使用方所在的目标成员区块链。
例如,在示出的一种实施方式中,上述服务提供方在完成上述服务解决方案的服务注册之后,中心化管控平台为注册完成的该服务解决方案生成对应的服务配置信息中,除了可以包含之前各实施例描述的信息之外,还可以包括该服务提供方的标识信息,和该服务提供方所在的目标成员区块链的区块链标识之间的对应关系。在这种情况下,上述虚拟资源分配的发起方可以通过查询上述服务配置信息中的上述对应关系,来确定上述服务使用方所在的目标成员区块链。
步骤903,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述第二数量确定待分配的虚拟资源的第三数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第三数量的虚拟资源。
上述虚拟资源分配的发起方在构建出针对上述服务提供方所在的目标成员区块链上部署的上述系统智能合约的智能合约调用交易之后,可以将该智能合约调用交易发布至上述目标成员区块链,使得上述目标成员区块链中的节点设备可以响应该智能合约调用交易,在本地搭载的智能合约执行环境(比如用于执行合约代码的虚拟机)中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码,完成针对上述服务使用方的虚拟资源分配。
其中,上述虚拟资源分配逻辑,具体可以用于基于上述智能合约调用交易中携带的上述第二数量来确定待分配的虚拟资源的第三数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入上述第三数量的虚拟资源。
在这种情况下,上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的上述第二数量来确定待分配的虚拟资源的第三数量,并从该系统智能合约中维护的虚拟资源池中,向上述服务提供方在上述目标成员区块链上注册的用户账户,转入上述第三数量的虚拟资源。
还需要说明的是,在上述智能合约调用交易中,除了可以携带上述第二数量之外,还可以携带上述服务提供方在上述目标成员区块链上注册的用户账户的账户标识,或者其它形式的可以用于查询上述用户账户的身份标识。
一方面,如果上述智能合约调用交易中,携带上述服务提供方在上述目标成员区块链上注册的用户账户的账户标识,则上述虚拟资源分配逻辑,具体可以用于基于上述智能合约调用交易中携带的上述第二数量来确定待分配的虚拟资源的第松散数量,并基于上述智能合约调用交易中携带的上述账户标识来确定上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第三数量的虚拟资源。
在这种情况下,上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的上述第二数据来确定待分配的虚拟资源的第三数量,并基于上述智能合约调用交易中携带的上述账户标识来确定上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第三数量的虚拟资源。
如果上述智能合约调用交易中,携带用于查询上述服务提供方在上述目标成员区块链上注册的用户账户的其它形式的身份标识,则上述虚拟资源分配逻辑具体还可以包括查询上述服务提供方在上述目标成员区块链上注册的用户账户的逻辑。
在这种情况下,上述虚拟资源分配逻辑具体可以用于基于上述智能合约调用交易中携带的上述第二数量来确定待分配的虚拟资源的第三数量,并基于上述智能合约调用交易中携带的上述身份标识来查询上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第三数量的虚拟资源。上述目标成员区块链中的节点设备,在本地搭载的智能合约执行环境中,分布式的执行上述系统智能合约包含的虚拟资源分配逻辑对应的合约代码之后,可以基于上述智能合约调用交易中携带的上述第二数量来确定待分配的虚拟资源的第三数量,并基于上述智能合约调用交易中携带的上述身份标识来查询上述服务提供方在上述目标成员区块链上注册的用户账户,再从该系统智能合约中维护的虚拟资源池中,向上述用户账户转入上述第三数量的虚拟资源。
需要说明的是,上述虚拟资源分配逻辑基于上述第二数量确定待分配的虚拟资源的数量的具体方式,可以基于具体的虚拟资源分配需求,来进行自定义,在本说明书中不进行特别限定。
例如,在一个例子中,可以预先划分出若干的数值区间,并按照具体的虚拟资源分配需求为每一个区间预设一个对应的虚拟资源分配数量。在基于上述第二数量确定待分配的虚拟资源的第三数量时,可以先确定该第二数量命中的区间,再将该区间对应的虚拟资源分配数量,确定为上述第三数量。
在以上各个实施例中,以在中心化管控平台上注册的用户服务,具体是指区块链服务网络上的各成员区块链上的用户智能合约所包含的合约执行逻辑,进行组合之后生成的服务为例进行说明。需要补充说明的是,在实际应用中,在中心化管控平台上注册的用户服务,除了可以是将各成员区块链上的用户智能合约所包含的合约执行逻辑,进行组合之后生成的服务以外,具体也可以是指将各成员区块链上的区块链数据,进行组合之后生成的数据服务。
在这种情况下,在各成员区块链上创建的与中心化管控平台对应的区块链账户,则具体用于在服务使用方调用上述用户服务时,发起针对各成员区块链上的组合生成该用户服务的区块链数据的数据访问。
相应的,当上述用户服务是将各成员区块链上的区块链数据,进行组合之后生成的数据服务时,针对该类用户服务的注册、部署以及调用的具体实施细节,与以上图2-图7示出的各实施例中描述的针对用户服务的注册、部署以及调用过程类似。
例如,在这种情况下,服务提供方在向中心化管控平台注册这类用户服务时,可以向中心化管控平台发送用户服务注册请求,而中心化管控平台在收到该用户服务注册请求后,可以响应于该用户服务注册请求,确定用于实现该用户服务对应的服务功能的区块链数据集合;上述区块链数据集合包括部署在区块链服务网络中的各成员区块链上的区块链数据;然后,再将上述区块链数据集合中的区块链数据进行组合生成上述用户服务,以完成针对用户服务的服务注册,具体的注册服务的细节不再赘述,本领域技术人员可以参考图4示出的各实施例的记载,在本说明书中不再进行赘述。
而上述用户服务在进行服务部署时,具体也可以以服务接口的形式中心化部署在上述中心化管控平台,也可以以系统智能合约的形式分布式部署在各成员区块链。比如,以系统智能合约的形式分布式部署在各成员区块链为例,此时上述用于进行跨链通信的系统智能合约包含的与上述用户服务对应的跨链调用逻辑,则具体可以用于:确定组合生成该用户服务的各区块链数据对应的的各成员区块链,并基于在所述各成员区块链中创建的与所述中心化管控平台对应的区块链账户,分别发起针对上述各成员区块链上的各区块链数据的数据访问。服务使用方在需要调用该类用户服务时,可以通过调用该系统智能合约中的包含的上述跨链调用逻辑,对已经在中心化管控平台上注册的该类用户服务发起调用,具体的服务调用的细节不再赘述,本领域技术人员可以参考图6和图7示出的各实施例的记载,在本说明书中不再进行赘述。
与前述方法的实施例相对应,本说明书还提供了装置、电子设备以及存储介质的实施例。
图10是一示例性实施例提供的一种电子设备的示意结构图。请参考图10,在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器1002从非易失性存储器1010中读取对应的计算机程序到内存808中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
如图11所示,图11是本说明书根据一示例性实施例示出的一种基于区块链的虚拟资源分配装置的框图,该装置可以应用于如图10所示的电子设备中,以实现本说明书的技术方案。区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述装置1100包括:
第一获取模块1101,获取服务提供方在所述中心化管控平台上注册的用户服务对应的服务数据;所述用户服务包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
第一构建模块1102,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统合约的智能合约调用交易;其中,所述智能合约调用交易包括所述服务数据;
第一调用模块1103,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的虚拟资源的第一数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第一数量的虚拟资源。
上述装置1100的各个模块的具体细节已经在之前描述的方法流程中进行了详细的描述,因此此处不再赘述。
如图12所示,图11是本说明书根据一示例性实施例示出的另一种基于区块链的虚拟资源分配装置的框图,该装置也可以应用于如图10所示的电子设备中,以实现本说明书的技术方案。区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管理平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述装置1200包括:
第二获取模块1201,获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量;所述服务解决方案由至少一个用户服务组合生成,所述用户服务包括部署在各成员区块链上的用户智能合约所包含的合约执行逻辑;
第二构建模块1202,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述第二数量;
第二调用模块1203,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述第二数量确定待分配的虚拟资源的第三数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第三数量的虚拟资源。
上述装置1200的各个模块的具体细节已经在之前描述的方法流程中进行了详细的描述,因此此处不再赘述。
相应的,本说明书还提供一种电子设备,所述电子设备包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现之前描述的全部的方法流程中的步骤。
相应的,本说明书还提供一种计算机可读存储介质,其上存储有可执行的指令;其中,该指令被处理器执行时,实现之前描述的全部的方法流程中的步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (23)

1.一种基于区块链的虚拟资源分配方法,其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管控平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述虚拟资源包括在区块链上流通实现价值转移的虚拟媒介;所述方法包括:
获取服务提供方在所述中心化管控平台上注册的用户服务对应的服务数据;所述用户服务包括将部署在不同的成员区块链上的用户智能合约所包含的合约执行逻辑进行组合后生成的服务能力更为复杂的服务;
构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述服务数据;
将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的虚拟资源的第一数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第一数量的虚拟资源。
2.根据权利要求1所述的方法,所述用户服务包括由部署在所述区块链服务网络中的各成员区块链上的用户智能合约的合约执行逻辑组合生成的服务。
3.根据权利要求2所述的方法,构建针对目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易之前,还包括:
获取与所述用户服务对应的服务配置信息;其中,所述服务配置信息包括与所述用户服务对应的服务提供方的标识信息,和所述服务提供方所在的目标成员区块链的区块链标识之间的对应关系;
查询所述对应关系,以确定与所述用户服务对应的服务提供方所在的目标成员区块链。
4.根据权利要求2所述的方法,所述服务数据包括与所述用户服务对应的服务指标;
调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的第一数量包括:
调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务指标计算与所述用户服务对应的服务评分,并基于计算出的服务评分确定待分配的第一数量。
5.根据权利要求4所述的方法,所述服务数据包括基于与所述用户服务对应的服务指标计算出的与所述用户服务对应的服务评分;
调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的第一数量包括,包括:
调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务评分确定待分配的第一数量。
6.根据权利要求4或5所述的方法,所述服务指标包括与所述用户服务的服务使用相关的第一类服务指标。
7.根据权利要求6所述的方法,所述第一类服务指标包括以下示出的指标中的一个或者多个的组合:
所述用户服务的服务在线时长;
所述用户服务被调用时的平均响应时长;
所述用户服务被调用时的调用成功率。
8.根据权利要求6所述的方法,所述服务指标还包括与所述用户服务的服务使用方针对所述用户服务的用户反馈相关的第二类服务指标。
9.根据权利要求8所述的方法,所述第二类服务指标包括:
服务使用方针对所述用户服务的服务使用评分。
10.根据权利要求9所述的方法,所述基于所述服务指标计算与所述用户服务对应的服务评分,包括:
针对所述服务指标中包含的各指标进行加权计算,得到与所述用户服务对应的服务评分。
11.根据权利要求10所述的方法,在针对所述服务指标中包含的各指标进行加权计算时,所述第一类服务指标的加权系数大于所述第二类服务指标。
12.根据权利要求1所述的方法,所述虚拟资源包括在区块链上发布的与实体资产价值锚定的虚拟资产。
13.一种基于区块链的虚拟资源分配方法,其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管控平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述虚拟资源包括在区块链上流通实现价值转移的虚拟媒介;所述方法包括:
获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量;所述服务解决方案由至少一个用户服务组合生成,所述用户服务包括将部署在不同的成员区块链上的用户智能合约所包含的合约执行逻辑进行组合后生成的服务能力更为复杂的服务;
构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述第二数量;
将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述第二数量确定待分配的虚拟资源的第三数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第三数量的虚拟资源。
14.根据权利要求13所述的方法,所述用户服务包括由部署在所述区块链服务网络中的各成员区块链上的用户智能合约的合约执行逻辑组合生成的服务。
15.根据权利要求14所述的方法,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易之前,还包括:
获取与所述服务解决方案对应的服务配置信息;其中,所述服务配置信息包括与所述服务解决方案对应的服务提供方的标识信息,和所述服务提供方所在的目标成员区块链的区块链标识之间的对应关系;
查询所述对应关系,以确定与所述服务解决方案对应的服务提供方所在的目标成员区块链。
16.根据权利要求14所述的方法,所述获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量,包括:
获取服务提供方在所述中心化管控平台上注册的各个服务解决方案中满足预设的服务条件的服务解决方案的第二数量。
17.根据权利要求16所述的方法,所述预设的服务条件包括:
服务评分达到阈值。
18.根据权利要求17所述的方法,所述服务解决方案的服务评分包括:
基于所述服务解决方案的服务指标计算出的服务评分;或者,
基于组合生成所述服务解决方案的各用户服务的服务评分计算出的服务评分。
19.根据权利要求14所述的方法,所述虚拟资源包括在区块链上发布的与实体资产价值锚定的虚拟资产。
20.一种基于区块链的虚拟资源分配装置,其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管控平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述虚拟资源包括在区块链上流通实现价值转移的虚拟媒介;
所述装置包括:
第一获取模块,获取服务提供方在所述中心化管控平台上注册的用户服务对应的服务数据;所述用户服务包括将部署在不同的成员区块链上的用户智能合约所包含的合约执行逻辑进行组合后生成的服务能力更为复杂的服务;
第一构建模块,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述服务数据;
第一调用模块,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述服务数据确定待分配的虚拟资源的第一数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第一数量的虚拟资源。
21.一种基于区块链的虚拟资源分配装置,其中,区块链服务网络中的各成员区块链上由与所述区块链服务网络对应的中心化管控平台分别部署了至少一个系统智能合约;所述至少一个系统智能合约包括用于进行虚拟资源分配的目标系统智能合约;所述虚拟资源包括在区块链上流通实现价值转移的虚拟媒介;所述装置包括:
第二获取模块,获取服务提供方在所述中心化管控平台上注册的服务解决方案的第二数量;所述服务解决方案由至少一个用户服务组合生成,所述用户服务包括将部署在不同的成员区块链上的用户智能合约所包含的合约执行逻辑进行组合后生成的服务能力更为复杂的服务;
第二构建模块,构建针对所述服务提供方所在的目标成员区块链上部署的所述目标系统智能合约的智能合约调用交易;其中,所述智能合约调用交易包括所述第二数量;
第二调用模块,将所述智能合约调用交易发布至所述目标成员区块链,以使所述目标成员区块链中的节点设备响应于所述智能合约调用交易,调用所述目标系统智能合约包含的虚拟资源分配逻辑,基于所述第二数量确定待分配的虚拟资源的第三数量,并从所述目标系统智能合约中维护的虚拟资源池中,向所述服务提供方在所述目标成员区块链上注册的用户账户转入所述第三数量的虚拟资源。
22.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-12或者13-19中任一项所述的方法。
23.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-12或者13-19中任一项所述的方法。
CN202111082141.9A 2021-09-15 2021-09-15 基于区块链的虚拟资源分配方法及装置和电子设备 Active CN113535335B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111082141.9A CN113535335B (zh) 2021-09-15 2021-09-15 基于区块链的虚拟资源分配方法及装置和电子设备
PCT/CN2022/109839 WO2023040496A1 (zh) 2021-09-15 2022-08-03 基于区块链的虚拟资源分配

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111082141.9A CN113535335B (zh) 2021-09-15 2021-09-15 基于区块链的虚拟资源分配方法及装置和电子设备

Publications (2)

Publication Number Publication Date
CN113535335A CN113535335A (zh) 2021-10-22
CN113535335B true CN113535335B (zh) 2022-01-11

Family

ID=78092638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111082141.9A Active CN113535335B (zh) 2021-09-15 2021-09-15 基于区块链的虚拟资源分配方法及装置和电子设备

Country Status (2)

Country Link
CN (1) CN113535335B (zh)
WO (1) WO2023040496A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535335B (zh) * 2021-09-15 2022-01-11 支付宝(杭州)信息技术有限公司 基于区块链的虚拟资源分配方法及装置和电子设备
CN115664718A (zh) * 2022-09-27 2023-01-31 蚂蚁区块链科技(上海)有限公司 一种智能合约的跨链调用方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102265A (zh) * 2018-07-19 2018-12-28 清华大学 一种基于区块链的数据处理方法及装置
CN109376008A (zh) * 2018-09-25 2019-02-22 阿里巴巴集团控股有限公司 一种虚拟资源的分配方法和装置
CN110458702A (zh) * 2019-07-15 2019-11-15 阿里巴巴集团控股有限公司 基于区块链的虚拟资源分配方法及装置、电子设备
US20200177519A1 (en) * 2019-07-15 2020-06-04 Alibaba Group Holding Limited Allocating virtual resource based on block chain
CN111401867A (zh) * 2020-03-18 2020-07-10 腾讯科技(深圳)有限公司 基于区块链的资源转移方法、装置、节点设备及存储介质
CN111523935A (zh) * 2020-04-22 2020-08-11 支付宝(杭州)信息技术有限公司 一种虚拟资源分配方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642825B2 (en) * 2018-11-09 2020-05-05 Innoplexus Ag System and method for interoperability of blockchains
CN110471984B (zh) * 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
CN112631803A (zh) * 2020-12-21 2021-04-09 杭州趣链科技有限公司 区块链的智能合约调用方法、装置、服务器和存储介质
CN113535335B (zh) * 2021-09-15 2022-01-11 支付宝(杭州)信息技术有限公司 基于区块链的虚拟资源分配方法及装置和电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109102265A (zh) * 2018-07-19 2018-12-28 清华大学 一种基于区块链的数据处理方法及装置
CN109376008A (zh) * 2018-09-25 2019-02-22 阿里巴巴集团控股有限公司 一种虚拟资源的分配方法和装置
CN110458702A (zh) * 2019-07-15 2019-11-15 阿里巴巴集团控股有限公司 基于区块链的虚拟资源分配方法及装置、电子设备
US20200177519A1 (en) * 2019-07-15 2020-06-04 Alibaba Group Holding Limited Allocating virtual resource based on block chain
CN111401867A (zh) * 2020-03-18 2020-07-10 腾讯科技(深圳)有限公司 基于区块链的资源转移方法、装置、节点设备及存储介质
CN111523935A (zh) * 2020-04-22 2020-08-11 支付宝(杭州)信息技术有限公司 一种虚拟资源分配方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Digital Support of Forensic Laboratories under Optimized Block Chain Network;Shobhit Mani Tiwari;《2021 Third International Conference on Intelligent Communication Technologies and Virtual Mobile Networks (ICICV)》;20210331;全文 *
基于区块链技术的云身份管理信任模型设计;朱曦等;《山东科学》;20200616;全文 *

Also Published As

Publication number Publication date
CN113535335A (zh) 2021-10-22
WO2023040496A1 (zh) 2023-03-23

Similar Documents

Publication Publication Date Title
CN108418862B (zh) 基于人工智能服务云平台的微服务管理方法和系统
CN113535691B (zh) 一种用户服务注册方法及装置
CN113535335B (zh) 基于区块链的虚拟资源分配方法及装置和电子设备
JP2000339287A (ja) 作業負荷によって管理されるクライアント/サーバ・データ処理システムにおける集中アフィニティ維持装置および方法
WO2023040498A1 (zh) 用户服务使用
US11165874B2 (en) Methods and apparatus for multi-provider virtual network services
CN109547488A (zh) 一种基于联盟区块链的可信数据计算及交换系统
CN110908812B (zh) 业务数据处理方法、装置、可读存储介质和计算机设备
CN113194143B (zh) 一种区块链账户的创建方法、装置及电子设备
CN113535690B (zh) 一种区块链服务网络的组建方法和装置
CN110599144A (zh) 一种区块链节点的入网方法以及装置
CN113095825A (zh) 基于区块链的资产管理方法、装置及电子设备
CN113536384B (zh) 基于区块链的隐私数据映射方法、装置、介质和电子设备
CN113095824B (zh) 基于区块链的资产管理方法、装置及电子设备
CN113327169B (zh) 基于区块链的理赔方法及装置、电子设备
CN108833328A (zh) 云管理方法、装置、存储介质及处理器
CN113762939A (zh) 基于区块链的资产管理方法、装置及电子设备
CN113259462A (zh) 区块链消息的分发方法及装置
CN111831678A (zh) 基于区块链的隐私保护方法及装置和电子设备
WO2024066018A1 (zh) 一种智能合约的跨链调用方法及装置
Rouzbahani et al. A Trust-Aware Task Allocation Method Based on Blockchain for The Internet of Things
US20230367766A1 (en) Environmental impact tracking in public trust ledger actions via a database system
Kirkman et al. Intercloud: a data movement policy DApp for managing trust in the cloud
CN115665141A (zh) 一种智能合约的跨链调用方法及装置
CN114915547A (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