区块链应用的管理方法、装置、计算机设备和存储介质与流程

文档序号:31831949发布日期:2022-10-18 18:41阅读:203来源:国知局
区块链应用的管理方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机技术领域,具体涉及一种区块链应用的管理方法、装置、计算机设备和存储介质。


背景技术:

2.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在实际应用中,可以在区块链上部署应用,以更好地利用区块链来开展业务。
3.在对相关技术的研究和实践过程中,本技术的发明人发现,随着区块链的发展,出现了多种类型的区块链,以及部署在不同类型区块链上的多个应用,使得区块链应用的管理难度与管理效率均有待提高。
4.本技术可以提供包括至少一个底链类型的底链类型集合,并基于各底链类型的区块链底链,创建所属不同底链的区块链,进而在创建的区块链上部署应用,并通过智能合约对部署的应用进行数据分析及应用管理。也就是说,本技术不仅可以支持创建所属不同底链的区块链,并且,还可以支持在不同区块链上部署应用,并对部署的应用进行数据分析与管理,因此,本技术可以针对多链多应用进行管理,相较于仅支持单一底链的区块链应用的管理方式,本技术能够有效地提高区块链应用的管理效率,能够避免通过仅支持对单一底链上的应用进行管理时带来的不变与低效。


技术实现要素:

5.本技术实施例提供一种区块链应用的管理方法、装置、计算机设备和存储介质,可以提高对区块链应用的管理效率。
6.本技术实施例提供一种区块链应用的管理方法,包括:
7.获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;
8.从所述底链类型集合中确定创建区块链所需的目标底链类型;
9.基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;
10.在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;
11.通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
12.相应的,本技术实施例还提供一种区块链应用的管理装置,包括:
13.获取单元,用于获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;
14.确定单元,用于从所述底链类型集合中确定创建区块链所需的目标底链类型;
15.创建单元,用于基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;
16.部署单元,用于在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;
17.分析单元,用于通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
18.在一实施例中,所述创建单元,包括:
19.信息确定子单元,用于确定待创建的目标区块链的属性信息;
20.初始创建子单元,用于基于所述区块链底链与所述属性信息,创建目标业务的初始区块链;
21.机构添加子单元,用于为所述初始区块链添加成员机构,得到添加后的目标区块链,其中,所述成员机构具有针对所述目标区块链的数据处理权限。
22.在一实施例中,所述创建单元,包括:
23.账号确定子单元,用于确定创建目标区块链的目标账号;
24.权限校验子单元,用于对所述目标账号进行权限校验,以确定所述目标账号的区块链创建权限;
25.目标创建子单元,用于当检测到权限校验通过时,通过所述目标账号基于所述区块链底链,创建目标业务的目标区块链。
26.在一实施例中,所述权限校验子单元,用于:
27.对所述目标账号进行归属校验,以校验所述目标账号的归属机构信息,得到第一校验结果;对所述目标账号进行节点校验,以校验所述目标账号的节点信息,得到第二校验结果;基于所述第一校验结果与所述第二校验结果,确定所述目标账号的区块链创建权限。
28.在一实施例中,所述部署单元,包括:
29.应用获取子单元,用于获取所述目标业务的待部署应用,其中,所述待部署应用具有对应的应用属性信息;
30.机构确定子单元,用于确定所述待部署应用的成员机构,其中,所述成员机构具有针对部署后应用的数据处理权限;
31.应用部署子单元,用于基于所述应用属性信息与所述成员机构,将所述待部署应用部署至所述目标区块链,以在所述目标区块链上部署所述目标业务的目标应用。
32.在一实施例中,所述部署单元,包括:
33.程序获取子单元,用于获取智能合约的程序信息;
34.程序编译子单元,用于对所述程序信息进行编译处理,得到编译后的智能合约;
35.关系建立子单元,用于建立所述编译后智能合约与所述目标应用之间的连接关系,得到所述目标应用的智能合约。
36.在一实施例中,在所述生成所述目标应用的智能合约后,所述区块链应用的管理装置,还包括:
37.信息获取单元,用于获取至少一个智能合约的属性信息;
38.信息解析单元,用于对所述属性信息进行解析,得到所述智能合约的归属信息与状态信息,其中,所述归属信息表征所述智能合约所属的应用,所述状态信息表征所述智能合约的合约状态;
39.合约管理单元,用于基于所述归属信息与所述状态信息,对所述智能合约进行管
理。
40.在一实施例中,所述分析单元,包括:
41.合约确定子单元,用于确定对所述目标应用进行数据分析所需的目标智能合约;
42.数据获取子单元,用于通过调用所述目标智能合约的接口,获取所述目标应用在所述目标区块链的链上数据;
43.数据分析子单元,用于对所述链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
44.在一实施例中,所述数据分析子单元,用于:
45.对所述链上数据进行结构化解析,得到所述链上数据的结构化数据;生成针对所述结构化数据的数据处理接口;基于针对所述数据处理接口的调用请求,对所述结构化数据进行数据分析。
46.在一实施例中,在所述获取所述目标应用在所述目标区块链的链上数据后,所述分析单元,还包括:
47.标准化子单元,用于基于所述链上数据在所述目标区块链的存储模式,对所述链上数据进行标准化处理,得到所述链上数据的标准化数据;
48.数据存储子单元,用于将所述标准化数据存储到所述目标区块链的链下数据库。
49.在一实施例中,所述数据存储子单元,用于:
50.确定所述链上数据的数据导出模型;从所述标准化数据提取所述数据导出模型对应的目标数据信息;基于所述数据导出模型,对所述目标数据信息进行组合,得到组合后信息;将所述组合后信息存储到所述目标区块链的链下数据库。
51.相应的,本技术实施例还提供一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本技术实施例所示的区块链应用的管理方法的步骤。
52.相应的,本技术实施例还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如本技术实施例所示的区块链应用的管理方法的步骤。
53.本技术实施例可以获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;从所述底链类型集合中确定创建区块链所需的目标底链类型;基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
54.该方案可以提供包括至少一个底链类型的底链类型集合,并基于各底链类型的区块链底链,创建所属不同底链的区块链,进而在创建的区块链上部署应用,并通过智能合约对部署的应用进行数据分析及应用管理。也就是说,本技术不仅可以支持创建所属不同底链的区块链,并且,还可以支持在不同区块链上部署应用,并对部署的应用进行数据分析与管理,因此,本技术可以针对多链多应用进行管理,相较于仅支持单一底链的区块链应用的管理方式,本技术能够有效地提高区块链应用的管理效率,能够避免通过仅支持对单一底链上的应用进行管理时带来的不变与低效。
附图说明
55.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
56.图1是本技术实施例提供的区块链应用的管理方法的场景示意图;
57.图2是本技术实施例提供的区块链应用的管理方法的流程示意图;
58.图3是本技术实施例提供的区块链应用的管理方法的区块链管理示意图;
59.图4是本技术实施例提供的区块链应用的管理方法的区块链创建流程图;
60.图5是本技术实施例提供的区块链应用的管理方法的账号配置流程图;
61.图6是本技术实施例提供的区块链应用的管理方法的应用新增流程图;
62.图7是本技术实施例提供的区块链应用的管理方法的合约新增示意图;
63.图8是本技术实施例提供的区块链应用的管理方法的合约管理示意图;
64.图9是本技术实施例提供的区块链应用的管理方法的数据管理示意图;
65.图10是本技术实施例提供的区块链应用的管理方法的平台架构示意图;
66.图11是本技术实施例提供的区块链应用的管理方法的另一流程示意图;
67.图12是本技术实施例提供的区块链应用的管理方法的数据概览示意图;
68.图13是本技术实施例提供的区块链应用的管理方法的开发者管理示意图;
69.图14是本技术实施例提供的区块链应用的管理装置的结构示意图;
70.图15是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
71.图16是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
72.图17是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
73.图18是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
74.图19是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
75.图20是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
76.图21是本技术实施例提供的区块链应用的管理装置的另一结构示意图;
77.图22是本技术实施例提供的计算机设备的结构示意图;
78.图23是本技术实施例提供的区块链系统的结构示意图;
79.图24是本技术实施例提供的区块链系统的另一结构示意图.
具体实施方式
80.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
81.本技术实施例提供一种区块链应用的管理方法、装置、计算机设备和存储介质。具体地,本技术实施例提供适用于计算机设备的区块链应用的管理装置。其中,该计算机设备可以为终端或服务器等设备,该终端可以为手机、平板电脑、笔记本电脑等设备。该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群,例如,区块链。
82.本技术实施例将以区块链应用的管理装置为服务器执行为例,来介绍区块链应用的管理方法。
83.参见图1,本技术实施例提供了区块链应用的管理系统包括服务器10和终端20等;服务器10与终端20之间通过网络连接,比如,通过有线或无线网络连接等,其中,区块链应用的管理装置集成在服务器中。
84.其中,服务器10可以获取区块链的底链类型集合,其中,该底链类型集合包括至少一个区块链底链的底链类型;从底链类型集合中确定创建区块链所需的目标底链类型。例如,服务器10可以通过终端20确定目标底链类型,具体地,用户可以通过与终端20的交互确定目标底链类型,终端20可以将目标底链类型信息发送给服务器10,以使得服务器10可以确定用户从底链类型集合中选择的目标底链类型。
85.服务器10可以基于目标底链类型对应的区块链底链,创建目标业务的目标区块链。并且,服务器10可以在目标区块链上部署目标业务的目标应用,以及生成该目标应用的智能合约;通过目标应用的智能合约,对该目标应用在目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
86.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
87.本技术实施例提供的一种区块链应用的方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本技术实施例以区块链应用的管理方法由服务器执行为例来进行说明,如图2所述,该区块链应用的管理方法的具体流程可以如下:
88.101、获取区块链的底链类型集合,其中,底链类型集合包括至少一个区块链底链的底链类型。
89.其中,区块链是分布式数据存储,点对点传输,共识机制,加密算法等计算机技术的新型应用模型。区块链本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学相关联产生的数据块,各个数据块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值。区块链技术在数字资产,智能合约,物流追踪,产品保护等场景有着广泛应用。
90.其中,区块链底链为区块链基础能力服务,作为示例,区块链底链可以包括bcos,fabric等,其中,bcos(取be credible,open&secure涵义命名)是聚焦于企业级应用服务的区块链技术开源平台,已经在多个企业级应用场景中被充分验证;fabric是一个许可的区块链构架。它提供一个模块化的构架,把架构中的节点、智能合约的执行以及可配置的共识和成员服务。
91.其中,底链类型为区块链底链的类型,例如,底链类型可以包括bcos类型与fabric类型,等等。
92.在一实施例中,服务器可以确定能够支持创链的区块链底链,进而确定区块链的底链类型集合,其中,该底链类型集合包括至少一个区块链底链的底链类型,服务器可以基于各底链类型对应的区块链底链创建区块链。
93.在另一实施例中,终端可以设计与本技术所述的区块链应用的管理方法对应的区块链中枢管控平台,服务器在获取区块链的底链类型集合后,可以将底链类型集合信息发送给终端,以使得终端可以在区块链中枢管控平台中展示对应的底链类型。作为示例,图3
展示了终端设计的区块链中枢管控平台,其中,该区块链中枢管控平台提供有区块链管理的功能,并且,在相关页面中,支持展示区块链的底链类型集合。例如,终端可以响应于针对1001所示的底链类型控件的选择操作,展示底链类型列表,其中,该底链类型列表中包括底链类型集合中的各个底链类型。
94.102、从底链类型集合中确定创建区块链所需的目标底链类型。
95.服务器从底链类型集合中确定创建区块链所需的目标底链类型的方式可以有多种,例如,服务器可以通过终端来确定目标底链类型,譬如,用户可以通过终端的区块链中枢管控平台,从底链类型集合中选择目标底链类型,进一步地,终端可以将该目标底链类型信息发送给服务器,以使得服务器可以从底链类型集合中确定创建区块链所需的目标底链类型。
96.作为示例,参考图3,终端可以通过控件1001获取用户从底链类型集合中确定的目标底链类型,进一步地,终端可以将目标底链类型信息发送给服务器,以使得服务器可以从底链类型集合中确定创建区块链所需的目标底链类型。
97.在实际应用中,确定目标底链类型后即可确定创建区块链所需的目标底链,由于对于同一底链类型下可以包括有不同底链版本的区块链底链,因此,可以通过确定底链类型与底链版本,来确定目标底链。作为示例,参考图3,终端可以通过控件1001获取用户从底链类型集合中确定的底链类型,并且,终端可以通过控件1002获取用户所确定的该底链类型下的底链版本,终端可以将底链类型信息与底链版本信息发送给服务器,以使得服务器可以基于该底链类型信息与底链版本信息,从底链类型集合中确定创建区块链所需的目标底链。
98.103、基于目标底链类型对应的区块链底链,创建目标业务的目标区块链。
99.其中,可以将业务的相关应用部署在区块链上,以使得该业务可以利用区块链提供服务。在本技术中,可以将目标业务的相关应用部署在目标区块链上,例如,目标业务可以为数据共享业务,目标底链类型可以为bcos类型,因此,可以基于bcos类型对应的区块链底链bcos,创建目标区块链,并将数据共享业务的数据共享应用部署在该目标区块链上,以使得数据共享业务可以利用该目标区块链提供数据共享服务。
100.值得注意的是,在本技术中,对于在步骤102中所确定的不同的目标底链类型,服务器可以对应地基于不同目标底链类型所对应的区块链底链,创建不同的目标区块链,这样的话,在本技术中,服务器能够支持创建所属不同类型底链的区块链。
101.对应地,终端上的区块链中枢管控平台作为对本技术的一个具体应用,可以提供给用户以下功能:在同一区块链中枢管控平台上,生成所述不同类型底链的区块链。
102.在一实施例中,可以将本技术应用于联盟链,其中,联盟链为用于机构间的区块链,联盟链只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。因此,服务器可以基于目标底链类型对应的区块链底链,创建适用于机构间的区块链,具体地,步骤“基于目标底链类型对应的区块链底链,创建目标业务的目标区块链”,可以包括:
103.确定待创建的目标区块链的属性信息;
104.基于区块链底链与属性信息,创建目标业务的初始区块链;
105.为初始区块链添加成员机构,得到添加后的目标区块链,其中,成员机构具有针对
该目标区块链的数据处理权限。
106.其中,目标区块链的属性信息为描述目标区块链的属性的信息,例如,属性信息可以包括区块链的名称,区块链所支持的加密算法,区块链所属机构,区块链的主机节点,区块链的节点数量,等等。
107.其中,初始区块链为基于区块链底链与属性信息所创建的区块链,具体地,应用到联盟链的场景中时,最后生成的目标区块链是由不同的区块链节点组成的,每个区块链节点归不同的成员机构所有,因此,在联盟链的场景中时,还需要为初始区块链添加成员机构,以创建应用于联盟链参加的目标区块链。
108.其中,成员机构为参与联盟链的机构中的成员,每个成员机构可以为最终生成的区块链贡献区块链节点,并且,成员机构具有针对最终生成的区块链的数据处理权限。
109.其中,数据处理权限为对目标区块链的链上数据的处理权限,例如,数据处理权限可以包括数据写入权限,数据读取权限,数据删除权限,数据修改权限,等等。
110.在一实施例中,参考图4,服务器可以基于目标底链类型对应的区块链底链,创建目标业务的目标区块链,以得到目标业务的业务子链。具体地,服务器可以通过确定底链类型来确定待创建的业务子链类型,通过确定底链版本来确定该业务子链类型下的底链版本,这样的话,即可通过底链类型与底链版本来确定创建业务子链所需的区块链底链。此外,服务器还可以通过确定业务子链的子链名称、链加密类型、所属机构、主机节点、初始节点数量等来确定待创建的业务子链的属性信息。
111.进一步地,服务器可以基于区块链底链与属性信息,创建初始区块链。例如,服务器可以在该区块链底链的基础上,基于业务子链的属性信息来对区块链底链的属性进行调整,并将该调整后的区块链底链作为初始区块链。
112.在联盟链的应用场景下,参考图4,服务器可以通过为初始区块链添加成员机构,得到添加后的目标区块链。具体地,若确定需要邀请其他机构,服务器可以通过待邀请的机构的身份标识(identity document,id),向该机构发出邀请加入业务子链。值得注意的是,需要其他机构加入该业务子链的,创建链的时候,首先需要邀请的机构同意,再由运维管理员创建。
113.此外,参考图4,若不需要为初始区块链添加成员机构,则可以将初始区块链作为目标区块链,得到目标业务的目标区块链。
114.在实际应用中,服务器可以赋予预设账号创建目标区块链的权限,例如,在联盟链的应用场景中,需要对创建目标区块链的账号进行校验,以确定该账号是否符合联盟链的准则。具体地,步骤“基于目标底链类型对应的区块链底链,创建目标业务的目标区块链”,可以包括:
115.确定创建目标区块链的目标账号;
116.对目标账号进行权限校验,以确定该目标账号的区块链创建权限;
117.当检测到权限校验通过时,通过该目标账号基于区块链底链,创建目标业务的目标区块链。
118.其中,服务器确定创建目标区块链的目标账号的方式可以有多种,例如,在一实施例中,参考图5,用户可以通过终端提供的区块链中枢管控平台,进行开发者账号的申请,服务器可以通过终端获取该申请信息,并通过运维平台审核,若审核通过,服务器可以将该审
核通过信息返回给终端,以使得用户可以通过终端接收该审核通过信息,并在终端进行账号登录。当用户在终端进行开发者账号登录时,终端可以将该登录信息发送给服务器,服务器则可以将该账号确定为创建目标区块链的目标账号。
119.进一步地,服务器还需要对目标账号进行权限校验,以确定该目标账号是否具有区块链创建权限,当检测到目标账号的权限校验通过时,允许该目标账号,基于区块链底链创建目标业务的目标区块链。例如,服务器在检测到该目标账号的权限校验通过时,可以向终端发送校验通过信息,以使得该目标账号对应的用户可以通过终端的区块链中枢管控平台执行创建目标区块链的相关操作。
120.具体地,步骤“对目标账号进行权限校验,以确定该目标账号的区块链创建权限”,可以包括:
121.对目标账号进行归属校验,以校验该目标账号的归属机构信息,得到第一校验结果;
122.对该目标账号进行节点校验,以校验该目标账号的节点信息,得到第二校验结果;
123.基于第一校验结果与第二校验结果,确定该目标账号的区块链创建权限。
124.其中,归属校验用于校验该目标账号所属的机构,例如,在联盟链的应用场景中,可以对目标账号进行归属校验,以确定该目标账号所属的机构是否为该联盟链的成员机构。
125.在一实施例中,参考图5,当用户的开发者账号审核通过时,用户可以通过该开发者账号新增机构,以加入联盟链中。具体地,可以包括新增机构名称,新增机构标识,以及创建所属机构的步骤。当该开发者账号成功创建机构后,若服务器对该开发者账号进行归属校验,则可以确定该开发者账号的归属校验通过。
126.其中,节点校验用于校验该目标账号的节点信息,例如,节点信息可以包括ip信息、节点所属机构、数据传输账号及端口等。
127.在一实施例中,参考图5,当用户的开发者账号审核通过时,用户可以通过该开发者账号新增主机节点信息,具体地,可以包括添加主机ip地址(internet protocol address是指互联网协议地址,又译为网际协议地址),选择所属机构,填写ssh(secureshell,中文为安全外壳协议)账号及ssh端口等步骤。当该开发者账号成功新增主机后,若服务器对该开发者账号进行节点校验,则可以确定该开发者账号的节点校验通过。
128.值得注意的是,在实际应用中,添加主机前检查是否满足性能要求,否则可能添加失败。
129.基于第一校验结果与第二校验结果,确定区块链创建权限的方式可以有多种,例如,可以设置当第一校验结果与第二校验结果均为校验通过时,确定该目标账号具有区块链的创建权限;又如,可以设置若第一校验结果或第二校验结果为校验通过时,确定该目标账号具有区块链的创建权限;又如,可以为第一校验结果与第二校验结果设置不同的权值,以使得可以通过加权计算来确定该目标账号是否具有区块链的创建权限;等等。
130.104、在目标区块链上部署目标业务的目标应用,以及生成该目标应用的智能合约。
131.其中,智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
132.在创建的目标区块链上,可以开发相应的业务应用,其中数据上链机制及处理接口,可以通过智能合约来实现自动化处理,因此,服务器可以在目标区块链上部署目标业务的目标应用,以及生成该目标应用的智能合约,具体地,步骤“在目标区块链上部署目标业务的目标应用”,可以包括:
133.获取目标业务的待部署应用,其中,该待部署应用具有对应的应用属性信息;
134.确定待部署应用的成员机构,其中,该成员机构具有针对部署后应用的数据处理权限;
135.基于应用属性信息与成员机构,将待部署应用部署至目标区块链,以在目标区块链上部署目标业务的目标应用。
136.其中,应用属性信息为描述目标应用的属性的信息,例如,应用属性信息可以包括应用名称、应用版本号等。
137.在一实施例中,服务器可以获取目标业务的待部署应用,其中,该待部署应用具有对应的应用属性信息,具体可以包括应用名称,应用版本号等。
138.在另一实施例中,参考图6,用户可以通过终端的区块链中枢管控平台新增待部署应用,并确定部署该待部署应用的目标区块链、该待部署应用的应用名称、应用版本号等。相应地,服务器即可通过终端获取目标业务的待部署应用,并确定该待部署应用的应用属性信息。
139.进一步地,服务器可以确定待部署应用的成员机构,其中,该成员机构具有针对部署后应用的数据处理权限。值得注意的是,针对部署后应用,不同的成员机构可以设置有不同等级的数据处理权限。
140.在确定待部署应用的应用属性与成员机构后,服务器即可基于应用属性信息与成员机构,将待部署应用部署至目标区块链,以在目标区块链上部署目标业务的目标应用。
141.此外,服务器还可以生成该目标应用的智能合约,具体地,步骤“生成目标应用的智能合约”,可以包括:
142.获取智能合约的程序信息;
143.对程序信息进行编译处理,得到编译后的智能合约;
144.建立编译后智能合约与目标应用之间的连接关系,得到该目标应用的智能合约。
145.其中,智能合约为计算机化的协议,可以执行某个合约的条款,具体地,智能合约可以通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,并根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
146.作为示例,智能合约的程序信息可以为代码信息,该代码信息可以用于在满足一定条件时执行该智能合约。
147.在一实施例中,服务器可以通过终端获取智能合约的程序信息,作为示例,参考图7,用户可以在终端的区块链中枢管控平台上,通过图7所述的代码编辑区域输入智能合约的程序信息,以使得服务器可以通过终端获取该程序信息。
148.其中,编译为利用编译程序从源语言编写的源程序产生目标程序的过程,在一实施例中,服务器获取的智能合约的程序信息可以为以solidity语言编写的代码信息,服务
器可以对该程序信息进行编译,以得到编译后的智能合约。此外,服务器还可以将编译后智能合约的相关信息发送给终端,以使得终端可以通过区块链中枢管控平台展示编译后合约的相关信息,例如,参考图7,可以在合约信息展示区中展示合约编译后的应用程序二进制接口(applicationbinaryinterface,abi),bin信息,合约的版本号,合约名等。
149.其中,编译后智能合约与目标应用之间的连接关系,用于将该编译后智能合约设置为供该目标应用所用的智能合约。
150.建立编译后智能合约与目标应用之间的连接关系的方式可以有多种,例如,参考图6,服务器在通过终端获取智能合约的合约名称、合约路径、程序信息后,可以对该智能合约进行编译,得到编译后智能合约,并且,服务器可以对该编译后智能合约执行合约部署,以将该智能合约部署在目标区块链上,并设置为供目标应用所用,从而建立编译后智能合约与目标应用之间的连接关系。
151.在实际应用中,除了可以生成目标应用的智能合约,并对该智能合约进行合约部署,类似地,还可以生成同一区块链上其他应用的智能合约、以及不同区块链上其他应用的智能合约,并进一步地对这些智能合约进行管理,具体地,在步骤“生成目标应用的智能合约”,还可以包括:
152.具体地,在步骤“生成目标应用的智能合约”,还可以包括:
153.获取至少一个智能合约的属性信息;
154.对属性信息进行解析,得到智能合约的归属信息与状态信息,其中,归属信息表征智能合约所属的应用,状态信息表征智能合约的合约状态;
155.基于归属信息与状态信息,对智能合约进行管理。
156.其中,智能合约的属性信息为描述智能合约的属性的信息,智能合约的属性信息可以包括智能合约的合约名称,合约地址,所属应用,所属区块链,合约语言,合约状态,创建时间,等等。
157.服务器可以获取至少一个智能合约的属性信息,其中,这些智能合约可以为所属同一应用的智能合约,也可以为所属不同应用的智能合约,例如,可以为所属同一区块链上不同应用的智能合约,又如,可以为所属不同区块链上不同应用的智能合约。
158.其中,智能合约的归属信息表征该智能合约所属的应用;智能合约的状态信息表征智能合约的合约状态,例如,合约状态可以包括:已部署,部署中,未部署,已停用,等等。
159.服务器可以基于各智能合约的归属信息与状态信息,对智能合约进行管理,在一实施例中,当服务器生成目标应用的智能合约,并对该智能合约执行合约部署后,进一步地,服务器可以获取该智能合约的属性信息,该属性信息具体可以包括合约地址,合约所属应用,合约所属业务子链,合约状态,合约创建时间等,并进一步地对该智能合约进行管理。
160.其中,服务器对智能合约进行管理的方式可以有多种,例如,可以根据归属信息与状态信息对智能合约进行分类;又如,参考图8,服务器可以将各智能合约的属性信息发送给终端,以触发终端展示智能合约信息列表,其中,智能合约信息列表中包括至少一条智能合约信息项,每个智能合约信息项对应于一个智能合约的属性信息。
161.105、通过目标应用的智能合约,对该目标应用在目标区块链的链上数据进行数据分析,以基于分析结果对该目标应用进行管理。
162.其中,链上数据为目标应用在目标区块链上存储的数据。区块链由于特定的链式
存储结构,链上数据只能通过智能合约接口的方式获取和调用,因此,在本技术中,可以通过目标应用的智能合约,对该目标应用在目标区块链的链上数据进行数据分析,以基于分析结果对该目标应用进行管理。具体地,步骤“通过目标应用的智能合约,对该目标应用在目标区块链的链上数据进行数据分析,以基于分析结果对该目标应用进行管理”,可以包括:
163.确定对目标应用进行数据分析所需的目标智能合约;
164.通过调用目标智能合约的接口,获取目标应用在目标区块链的链上数据;
165.对链上数据进行数据分析,以基于分析结果对目标应用进行管理。
166.由于区块链节点计算能力稀缺和键值存储的数据结构等技术特点决定了区块链上不适合进行复杂的数据查询、数据分析和数据计算等工作,上述工作更适合在链下完成。因此,在本实施例中,服务器可以确定目标智能合约,该目标智能合约用于获取目标应用在目标区块链的链上数据。
167.服务器可以通过调用目标智能合约的所提供的接口来获取目标应用在目标区块链的链上数据,具体地,为了提高效率,参考图9,服务器可以通过任务调度,多线程获取不同块的逻辑记录,以高效地获取目标应用在目标区块链的链上数据。
168.进一步地,服务器可以对获取的链上数据进行分析,以基于分析结果对目标应用进行管理。具体地,步骤“对链上数据进行数据分析”,可以包括:
169.对链上数据进行结构化解析,得到链上数据的结构化数据;
170.生成针对结构化数据的数据处理接口;
171.基于针对数据处理接口的调用请求,对结构化数据进行数据分析。
172.其中,结构化解析用于生成结构化数据,具体地,结构化数据也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。
173.其中,接口也称应用程序接口(application programming interface,api),是一些预先定义的接口(如函数),或指软件系统不同组成部分衔接的约定。接口可以用于提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
174.在本实施例中,针对结构化数据的数据处理接口为针对结构化数据提供不同数据处理功能的接口,例如,参考图9,数据处理接口可以包括针对结构化数据的crud接口,其中,crud是指在做计算处理时的增加(create)、检索(retrieve)、更新(update)和删除(delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。
175.生成针对结构化数据的数据处理接口的方式可以有多种,例如,参考图9,在对链上数据进行结构化解析,得到链上数据的结构化数据后,服务器还可以通过关系型数据库将解析得到的结构化数据进行结构化存储,并提供关系型数据库中的数据处理接口,例如crud接口,以生成针对结构化数据的互数据处理接口。
176.进一步地,服务器可以获取上层用户针对数据处理接口的调用请求,针对结构化数据执行对应的数据处理,以实现对结构化数据进行分析。例如,可以执行对结构化数据的增删改查操作,实现数据的可视化展示,数据分析等等。
177.此外,在获取链上数据后,服务器还可以根据链式存储的方式对链数据做标准化处理,并且,通过持久化框架,可以协助并自动将程序数据存储到数据库。具体地,在步骤“获取目标应用在目标区块链的链上数据”后,还可以包括:
178.基于链上数据在目标区块链的存储模式,对链上数据进行标准化处理,得到链上数据的标准化数据;
179.将标准化数据存储到目标区块链的链下数据库。
180.其中,区块链上数据的存储模式可以有多种,例如,可以包括链式存储方式,具体地,链式存储在计算机存储器中用任意地址的存储单元存放数据元素,数据元素之间的逻辑关系以指针连接的方式实现。
181.其中,数据的标准化是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归一化的方法有:离差标准化(min-max normalization,min-max标准化),log函数转换,atan函数转换,标准差标准化(zero-mena normalization,z-score标准化),模糊量化法,等等。
[0182]
在本实施例中,服务器可以基于链上数据在目标区块链的链式存储模式,对链上数据进行标准化处理,得到链上数据的标准化数据,以便以后续可以基于标准化数据对链上数据进行数据分析。
[0183]
在得到链上数据的标准化数据后,还可以将标准化数据存储到目标区块链的链下数据库,例如,可以根据链上数据的数据导出模型,按需将标准化数据存储到目标区块链的链下数据库。具体地,步骤“将标准化数据存储到目标区块链的链下数据库”,可以包括:
[0184]
确定链上数据的数据导出模型;
[0185]
从标准化数据提取该数据导出模型对应的目标数据信息;
[0186]
基于该数据导出模型,对目标数据信息进行组合,得到组合后信息;
[0187]
将组合后信息存储到目标区块链的链下数据库。
[0188]
其中,数据导出模型为将链上数据从目标数据库导出时所遵循的规范,例如,数据导出模型可以包括:区块链详细数据导出模型,区块交易数据导出模型,合约信息导出模型等。
[0189]
具体地,区块链详细数据导出模型可以用于导出每个区块的详细数据,具体可以包括区块哈希、区块块高、出块时间、区块上交易量等;区块交易数据导出模型可以用于导出每个区块中每个交易的基本信息,具体可以包括区块哈希、区块块高、区块出块时间、智能合约名称、合约中方法名称、交易哈希、交易发起方地址、交易接收方地址等;区块合约信息导出模型可以用于导出合约的相关信息,具体可以包括合约编译后的应用程序二进制接口(applicationbinaryinterface,abi),bin信息,合约的版本号,合约名等。
[0190]
在确定链上数据的数据导出模型后,即可从标准化数据中提取该数据导出模型对应的目标数据信息,例如,在一实施例中,链上数据的数据导出模型为区块链详细数据导出模型,则服务器可以从链上数据的标准化数据中提取包括区块哈希、区块块高、出块时间、区块上交易量等的目标数据信息。又如,在一实施例中,链上数据的数据导出模型为区块交易数据导出模型,则服务器可以从链上数据的标准化数据中提取包括区块哈希、区块块高、
区块出块时间、智能合约名称、合约中方法名称、交易哈希、交易发起方地址、交易接收方地址等的目标数据信息;等等。
[0191]
进一步地,可以基于链上数据的数据导出模型,对提取到的目标数据信息进行组合,得到组合后信息。
[0192]
作为示例,在一实施例中,链上数据的数据导出模型为区块链详细数据导出模型,其中,区块链详细数据导出模型的模型规范可以如下:
[0193][0194]
服务器可以从标准化数据提取区块链详细数据导出模型对应的目标数据信息,提取出的目标数据信息具体可以包括主键id、区块哈希、区块高度、出块时间、当前区块交易量、记录插入/更新时间、区块时间。进一步地,服务器可以基于区块链详细数据导出模型的模型规范对提取出的目标数据信息进行组合,得到组合后信息。
[0195]
作为示例,在另一实施例中,链上数据的数据导出模型为区块交易数据导出模型,其中,区块交易数据导出模型的模型规范可以如下:
[0196][0197]
服务器可以从标准化数据提取区块交易数据导出模型对应的目标数据信息,提取出的目标数据信息具体可以包括主键id、区块哈希、区块高度、出块时间、该笔交易的合约名称、该笔交易调用的函数名称、交易哈希、交易发起方地址、交易接收方地址、记录插入/更新时间。进一步地,服务器可以基于区块交易数据导出模型的模型规范对提取出的目标数据信息进行组合,得到组合后信息。
[0198]
作为示例,在另一实施例中,链上数据的数据导出模型为合约信息导出模型,其中,合约信息导出模型的模型规范可以如下:
[0199][0200]
服务器可以从标准化数据提取合约信息导出模型对应的目标数据信息,提取出的目标数据信息具体可以包括主键id、abi哈希值、合约abi、合约bin信息、合约名称、版本号、记录插入/更新时间。进一步地,服务器可以基于合约信息导出模型的模型规范对提取出的目标数据信息进行组合,得到组合后信息。
[0201]
在得到组合后信息后,即可将组合后数据存储到目标区块链的链下数据库,其中,链下数据库为除目标区块链以外可提供存储的数据库,例如,链下数据库可以包括关系型数据库与非关系型数据库等。
[0202]
在实际应用中,还可以基于数据导出模型,从链下数据库导出各数据导出模型对应的表单数据,以使得能够基于导出的数据对区块链应用进行数据分析与管理。
[0203]
由上可知,本实施例可以获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;从所述底链类型集合中确定创建区块链所需的目标底链类型;基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
[0204]
该方案可以提供包括至少一个底链类型的底链类型集合,并基于各底链类型的区块链底链,创建所属不同底链的区块链,进而在创建的区块链上部署应用,并通过智能合约对部署的应用进行数据分析及应用管理。也就是说,本技术不仅可以支持创建所属不同底链的区块链,并且,还可以支持在不同区块链上部署应用,并对部署的应用进行数据分析与管理,因此,本技术可以针对多链多应用进行管理,相较于仅支持单一底链的区块链应用的管理方式,本技术能够有效地提高区块链应用的管理效率,能够避免通过仅支持对单一底链上的应用进行管理时带来的不变与低效。
[0205]
其次,该方案支持主流的联盟链,例如fisco bcos和hyperledger fabric,给用户多种选择,并可提供标准,接入其他厂商的底层平台。该方案提供合约集成开发环节(integrateddevelopmentenvironment,ide)等开发工具,实现合约的在线编辑、编译、调试部署
等一站式开发套件。并能将复杂的区块链技术封装为简单易用的api,可对接任何语言开发的应用,提升系统链改的便捷性。此外,该方案内置通用的区块链应用组件,内置经过长期验证过的智能合约,业务层无需开发,开箱即用。
[0206]
此外,该方案可以为用户部署区块链中枢管控平台,支持开发者平台、数据运维及分析平台,如上图10所示。并通过中枢提供的基础组件,如私钥托管、消息队列、ca(证书颁发机构,英文全称为certificateauthority)证书服务、合约安全检测服务。运维管理模块支持应用管理、统计日志管理、合约管理、节点管理等服务。
[0207]
另外,该方案针对区块链应用,还提供了强大的数据分析和管理模块,能够对交易进行解析,并导出到链外存储系统,实现对数据的结构化处理,并接入数据分析和可视化系统。使得能够为监管机构提供数据监管平台,可方便搜索、监控链上违规内容。
[0208]
根据上面实施例所描述的方法,以下将举例进一步详细说明。
[0209]
在本实施例中,将以区块链应用的管理装置集成在服务器与终端为例进行说明,该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群;该终端可以为手机、平板电脑、笔记本电脑等设备。
[0210]
如图11所示,一种区块链应用的管理方法,具体流程如下:
[0211]
201、服务器获取区块链的底链类型集合,其中,底链类型集合包括至少一个区块链底链的底链类型。
[0212]
其中,底链类型为区块链底链的类型,例如,底链类型可以包括bcos类型与fabric类型,等等。
[0213]
在一实施例中,服务器可以确定能够支持创链的区块链底链,进而确定区块链的底链类型集合,其中,该底链类型集合包括至少一个区块链底链的底链类型,服务器可以基于各底链类型对应的区块链底链创建区块链。
[0214]
此外,作为对本技术的一个具体应用,终端可以配置有如图12所示的区块链中枢管控平台,其中,针对本技术所述的区块链应用的管理方法,区块链中枢管控平台对应地可以提供有数据概览、机构管理、主机管理、区块链管理、应用管理、合约管理、私钥管理、证书管理、通知中心、以及用户管理等功能。
[0215]
参考图12,如图中展示了区块链中枢管控平台所提供的数据概览功能,用户可以通过数据概览页面获悉区块链及应用的概况,例如,区块链数量,应用数量,机构数量,主机数量等。此外,数据概览页面还可以设置有如图12所示的操作指引。
[0216]
其中,机构管理可以用于供用户新增机构、以及获悉所有机构的相关信息。例如,可以通过在机构管理页面展示机构信息列表,其中,机构信息列表中包括至少一条机构信息项,每个机构信息项对应于一个机构的属性信息,例如,机构编号、机构名称、机构创建时间等。
[0217]
其中,主机管理也称节点管理,节点管理可以提供前置列表、节点列表、修改节点共识状态的功能。用户可以通过新增节点前置,把新的节点前置添加到前置列表。系统会默认拉取这些前置所在的群组和各个群组的节点信息。在节点列表中,用户可以修改节点的共识状态。
[0218]
其中,区块链管理用于供用户新增区块链、以及获悉所有创建的区块链的相关信息。例如,可以通过在区块链管理页面内展示区块链信息列表,其中,区块链信息列表中包
括至少一条区块链信息项,每个区块链信息项对应于一条区块链的属性信息,例如,区块链id、区块链名称、区块链类型、区块链状态、区块链创建时间等。
[0219]
其中,应用管理可以用于供用户新增应用、以及获悉所有应用的相关信息。例如,可以通过在应用管理页面内展示应用信息列表,其中,应用信息列表中包括至少一条应用信息项,每个应用信息项对应于一个应用的属性信息,例如,应用id、应用名称、应用版本、应用所属区块链、应用状态、应用创建时间等。
[0220]
其中,合约管理可以提供合约开发ide环境、已部署的合约列表、合约查询以及预编译合约的crud功能。
[0221]
类似地,私钥管理、证书管理以及用户管理,可以分别提供针对区块链中的私钥、证书、以及用户的管理功能。作为示例,私钥管理可以用于新建私钥用户和新建公钥用户,具体地,私钥管理可以新建私钥用户,私钥将托管在签名服务中,然后通过签名服务对合约部署和合约调用进行签名。值得注意的是,外部账户可通过新建公钥账户导入,主要用于把交易和用户关联起来。
[0222]
202、服务器将底链类型集合发送给终端,终端从底链类型集合中确定创建区块链所需的目标底链类型。
[0223]
在一实施例中,服务器可以通过终端来确定目标底链类型,譬如,用户可以通过终端的区块链中枢管控平台,从底链类型集合中选择目标底链类型,进一步地,终端可以将该目标底链类型信息发送给服务器,以使得服务器可以从底链类型集合中确定创建区块链所需的目标底链类型。
[0224]
203、终端将目标底链类型发送给服务器。
[0225]
204、服务器基于目标底链类型对应的区块链底链,创建目标业务的目标区块链。
[0226]
在一实施例中,可以将本技术应用于联盟链,服务器可以确定待创建的目标区块链的属性信息,进一步地,基于区块链底链与属性信息,创建目标业务的初始区块链,并为初始区块链添加成员机构,得到添加后的目标区块链,其中,成员机构具有针对该目标区块链的数据处理权限。若不需要为初始区块链添加成员机构,则可以将初始区块链作为目标区块链,得到目标业务的目标区块链。
[0227]
在另一实施例中,服务器可以赋予预设账号创建目标区块链的权限,例如,在联盟链的应用场景中,需要对创建目标区块链的账号进行校验,以确定该账号是否符合联盟链的准则。因此,服务器可以确定创建目标区块链的目标账号,并对目标账号进行权限校验,以确定该目标账号的区块链创建权限。当检测到权限校验通过时,通过该目标账号基于区块链底链,创建目标业务的目标区块链。
[0228]
在该实施例中,终端上的区块链中枢管控平台可以对应地设置开发者管理页面,参考图13,开发者管理可以用于供运维管理者新增开发者、以及获悉所有开发者的相关信息。例如,可以通过在开发者管理页面内展示开发者信息列表,其中,开发者信息列表中包括至少一条开发者信息项,每个开发者信息项对应于一个开发者的属性信息,例如,开发者名称、所属企业、邮箱、电话、状态、账号创建时间,等等。
[0229]
205、服务器在目标区块链上部署目标业务的目标应用,以及生成目标应用的智能合约。
[0230]
在一实施例中,服务器可以获取目标业务的待部署应用,其中,该待部署应用具有
对应的应用属性信息。进一步地,服务器可以确定待部署应用的成员机构,其中,该成员机构具有针对部署后应用的数据处理权限,这样的话,服务器即可基于应用属性信息与成员机构,将待部署应用部署至目标区块链,以在目标区块链上部署目标业务的目标应用。
[0231]
在一实施例中,服务器可以获取智能合约的程序信息,并对该程序信息进行编译处理,得到编译后的智能合约,进一步地,服务器可以建立编译后智能合约与目标应用之间的连接关系,以生成该目标应用的智能合约。
[0232]
206、服务器通过目标应用的智能合约,对目标应用在目标区块链的链上数据进行数据分析,以基于分析结果对目标应用进行管理。
[0233]
在一实施例中,服务器可以确定对目标应用进行数据分析所需的目标智能合约,并通过调用目标智能合约的接口,获取目标应用在目标区块链的链上数据,进一步地,服务器可以对链上数据进行数据分析,以基于分析结果对目标应用进行管理。
[0234]
由上可知,本技术实施例可以提供包括至少一个底链类型的底链类型集合,并基于各底链类型的区块链底链,创建所属不同底链的区块链,进而在创建的区块链上部署应用,并通过智能合约对部署的应用进行数据分析及应用管理。也就是说,本技术实施例不仅可以支持创建所属不同底链的区块链,并且,还可以支持在不同区块链上部署应用,并对部署的应用进行数据分析与管理,因此,本技术实施例可以针对多链多应用进行管理,相较于仅支持单一底链的区块链应用的管理方式,本技术能够有效地提高区块链应用的管理效率,能够避免通过仅支持对单一底链上的应用进行管理时带来的不变与低效。
[0235]
而且,本技术实施例可以可快速构建区块链技术平台,具备可视化部署节点,快速建链,并可集中管理多条链。提供合约管理、节点管理、证书管理、私钥管理、配置管理等便捷的运维管理工具。可在同一管理平台管理多个区块链应用,实现多条链、多个应用的集中管理。
[0236]
为了更好地实施以上方法,相应的,本技术实施例还提供一种区块链应用的管理装置,其中,该区块链应用的管理装置可以集成在服务器或终端中。该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群;该终端可以为手机、平板电脑、笔记本电脑等设备。
[0237]
例如,如图14所示,该区块链应用的管理装置可以包括获取单元301,确定单元302,创建单元303,部署单元304以及分析单元305,如下:
[0238]
获取单元301,用于获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;
[0239]
确定单元302,用于从所述底链类型集合中确定创建区块链所需的目标底链类型;
[0240]
创建单元303,用于基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;
[0241]
部署单元304,用于在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;
[0242]
分析单元305,用于通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
[0243]
在一实施例中,参考图15,所述创建单元303,可以包括:
[0244]
信息确定子单元3031,可以用于确定待创建的目标区块链的属性信息;
[0245]
初始创建子单元3032,可以用于基于所述区块链底链与所述属性信息,创建目标业务的初始区块链;
[0246]
机构添加子单元3033,可以用于为所述初始区块链添加成员机构,得到添加后的目标区块链,其中,所述成员机构具有针对所述目标区块链的数据处理权限。
[0247]
在一实施例中,参考图16,所述创建单元303,可以包括:
[0248]
账号确定子单元3034,可以用于确定创建目标区块链的目标账号;
[0249]
权限校验子单元3035,可以用于对所述目标账号进行权限校验,以确定所述目标账号的区块链创建权限;
[0250]
目标创建子单元3036,可以用于当检测到权限校验通过时,通过所述目标账号基于所述区块链底链,创建目标业务的目标区块链。
[0251]
在一实施例中,所述权限校验子单元3035,可以用于:
[0252]
对所述目标账号进行归属校验,以校验所述目标账号的归属机构信息,得到第一校验结果;对所述目标账号进行节点校验,以校验所述目标账号的节点信息,得到第二校验结果;基于所述第一校验结果与所述第二校验结果,确定所述目标账号的区块链创建权限。
[0253]
在一实施例中,参考图17,所述部署单元304,可以包括:
[0254]
应用获取子单元3041,可以用于获取所述目标业务的待部署应用,其中,所述待部署应用具有对应的应用属性信息;
[0255]
机构确定子单元3042,可以确定所述待部署应用的成员机构,其中,所述成员机构具有针对部署后应用的数据处理权限;
[0256]
应用部署子单元3043,可以基于所述应用属性信息与所述成员机构,将所述待部署应用部署至所述目标区块链,以在所述目标区块链上部署所述目标业务的目标应用。
[0257]
在一实施例中,参考图18,所述部署单元304,可以包括:
[0258]
程序获取子单元3044,可以获取智能合约的程序信息;
[0259]
程序编译子单元3045,用于对所述程序信息进行编译处理,得到编译后的智能合约;
[0260]
关系建立子单元3046,可以建立所述编译后智能合约与所述目标应用之间的连接关系,得到所述目标应用的智能合约。
[0261]
在一实施例中,参考图19,在所述生成所述目标应用的智能合约后,所述区块链应用的管理装置,还可以包括:
[0262]
信息获取单元306,可以用于获取至少一个智能合约的属性信息;
[0263]
信息解析单元307,可以用于对所述属性信息进行解析,得到所述智能合约的归属信息与状态信息,其中,所述归属信息表征所述智能合约所属的应用,所述状态信息表征所述智能合约的合约状态;
[0264]
合约管理单元308,可以用于基于所述归属信息与所述状态信息,对所述智能合约进行管理。
[0265]
在一实施例中,参考图20,所述分析单元305,可以包括:
[0266]
合约确定子单元3051,可以用于确定对所述目标应用进行数据分析所需的目标智能合约;
[0267]
数据获取子单元3052,可以用于通过调用所述目标智能合约的接口,获取所述目
标应用在所述目标区块链的链上数据;
[0268]
数据分析子单元3053,可以用于对所述链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
[0269]
在一实施例中,所述数据分析子单元3053,可以具体用于:
[0270]
对所述链上数据进行结构化解析,得到所述链上数据的结构化数据;生成针对所述结构化数据的数据处理接口;基于针对所述数据处理接口的调用请求,对所述结构化数据进行数据分析。
[0271]
在一实施例中,参考图21,在所述获取所述目标应用在所述目标区块链的链上数据后,所述分析单元305,还可以包括:
[0272]
标准化子单元3054,可以用于基于所述链上数据在所述目标区块链的存储模式,对所述链上数据进行标准化处理,得到所述链上数据的标准化数据;
[0273]
数据存储子单元3055,可以用于将所述标准化数据存储到所述目标区块链的链下数据库。
[0274]
在一实施例中,所述数据存储子单元3055,可以具体用于:
[0275]
确定所述链上数据的数据导出模型;从所述标准化数据提取所述数据导出模型对应的目标数据信息;基于所述数据导出模型,对所述目标数据信息进行组合,得到组合后信息;将所述组合后信息存储到所述目标区块链的链下数据库。
[0276]
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0277]
由上可知,本实施例的区块链应用的管理装置中由获取单元301获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;由确定单元302从所述底链类型集合中确定创建区块链所需的目标底链类型;由创建单元303基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;由部署单元304在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;由分析单元305通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
[0278]
该方案可以提供包括至少一个底链类型的底链类型集合,并基于各底链类型的区块链底链,创建所属不同底链的区块链,进而在创建的区块链上部署应用,并通过智能合约对部署的应用进行数据分析及应用管理。也就是说,本技术不仅可以支持创建所属不同底链的区块链,并且,还可以支持在不同区块链上部署应用,并对部署的应用进行数据分析与管理,因此,本技术可以针对多链多应用进行管理,相较于仅支持单一底链的区块链应用的管理方式,本技术能够有效地提高区块链应用的管理效率,能够避免通过仅支持对单一底链上的应用进行管理时带来的不变与低效。
[0279]
此外,本技术实施例还提供一种计算机设备,该计算机设备可以为服务器或终端等设备,如图18所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:
[0280]
该计算机设备可以包括有一个或一个以上计算机可读存储介质的存储器401、输入单元402、显示单元403、包括有一个或者一个以上处理核心的处理器404、以及电源405等
部件。本领域技术人员可以理解,图22中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0281]
存储器401可用于存储软件程序以及模块,处理器404通过运行存储在存储器401的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器401还可以包括存储器控制器,以提供处理器404和输入单元402对存储器401的访问。
[0282]
输入单元402可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元402可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器404,并能接收处理器404发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元402还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0283]
显示单元403可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元403可包括显示面板,可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器404以确定触摸事件的类型,随后处理器404根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图22中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
[0284]
处理器404是计算机设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器401内的软件程序和/或模块,以及调用存储在存储器401内的数据,执行计算机设备的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器404可包括一个或多个处理核心;优选的,处理器404可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器404中。
[0285]
计算机设备还包括给各个部件供电的电源405(比如电池),优选的,电源可以通过电源管理系统与处理器404逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功
耗管理等功能。电源405还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0286]
尽管未示出,计算机设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备中的处理器404会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器401中,并由处理器404来运行存储在存储器401中的应用程序,从而实现各种功能,如下:
[0287]
获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;从所述底链类型集合中确定创建区块链所需的目标底链类型;基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
[0288]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0289]
由上可知,本实施例的计算机设备可以提供包括至少一个底链类型的底链类型集合,并基于各底链类型的区块链底链,创建所属不同底链的区块链,进而在创建的区块链上部署应用,并通过智能合约对部署的应用进行数据分析及应用管理。也就是说,本实施例的计算机设备不仅可以支持创建所属不同底链的区块链,并且,还可以支持在不同区块链上部署应用,并对部署的应用进行数据分析与管理,因此,本实施例的计算机设备可以针对多链多应用进行管理,相较于仅支持单一底链的区块链应用的管理方式,本技术能够有效地提高区块链应用的管理效率,能够避免通过仅支持对单一底链上的应用进行管理时带来的不变与低效。
[0290]
本技术实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
[0291]
以分布式系统为区块链系统为例,参见图23,图23是本技术实施例提供的分布式系统500应用于区块链系统的一个可选的结构示意图,由多个节点600(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端700形成,节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
[0292]
参见图23示出的区块链系统中各节点的功能,涉及的功能包括:
[0293]
1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0294]
节点除具有路由功能外,还可以具有以下功能:
[0295]
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
[0296]
例如,应用实现的业务包括:
[0297]
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的
响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
[0298]
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
[0299]
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
[0300]
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0301]
参见图24,图24是本发明实施例提供的区块结构(block structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0302]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0303]
为此,本技术实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种区块链应用的管理方法中的步骤。例如,该指令可以执行如下步骤:
[0304]
获取区块链的底链类型集合,其中,所述底链类型集合包括至少一个区块链底链的底链类型;从所述底链类型集合中确定创建区块链所需的目标底链类型;基于所述目标底链类型对应的区块链底链,创建目标业务的目标区块链;在所述目标区块链上部署所述目标业务的目标应用,以及生成所述目标应用的智能合约;通过所述目标应用的智能合约,对所述目标应用在所述目标区块链的链上数据进行数据分析,以基于分析结果对所述目标应用进行管理。
[0305]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0306]
其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0307]
由于该存储介质中所存储的指令,可以执行本技术实施例所提供的任一种区块链应用的管理方法中的步骤,因此,可以实现本技术实施例所提供的任一种区块链应用的管理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0308]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使
得该计算机设备执行上述区块链应用的管理方面的各种可选实现方式中提供的方法。
[0309]
以上对本技术实施例所提供的一种区块链应用的管理方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1