在线化联盟链管理方法、装置、计算机设备及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种在线化联盟链管理方法、装置、计算机设备及存储介质。
背景技术
区块链是一种发源于比特币的分布式去中心化记账技术,其通过将区块数据有序的叠加并同步存储至区块链网络的各个节点中,产生了一个具有去中心化、防篡改、过程透明可追溯的可靠数据库;被广泛认为在金融、征信、物联网、国际贸易结算等众多领域有着一定的应用前景。
区块链技术根据去中心化程度的不同分为公有链、联盟链和私有链;其中,联盟链仅允许授权的节点加入网络,可根据权限查看信息,主要应用群体为银行、保险、证券、商业协会、集团企业及上下游企业,是目前区块链的主要研究方向。
BlockChain as a Service(区块链即服务,简称BaaS)平台是区块链技术的一个应用热点,旨在让用户通过界面操作来实现对区块链的配置、管理以及使用区块链的难度和成本。但现有的Baas平台大都基于云,用户所建立的区块链系统及其相关的数字证书、私钥均在云服务器,区块链网络的拓展受到极大的限制,且私钥安全性难以保证。
发明内容
本发明的目的是提供一种在线化联盟链管理方法、装置、计算机设备及存储介质,旨在解决现有的搭载联盟链的云服务器安全性不高且用户自身管理的自由度不高的问题。
第一方面,本发明实施例提供了一种在线化联盟链管理方法,其包括:
接收机构用户加入联盟链的申请信息,对申请信息进行审核并在通过后向机构用户分配根证书及根密钥,并根据所述根证书及根密钥将该机构用户添加到联盟链上;
接收机构用户登记的节点服务器信息,为机构用户生成节点证书和节点密钥,使所述机构用户通过所述节点证书建立并启动联盟链节点;
接收机构用户注册操作员账号的请求,为所述机构用户生成操作员证书并分配操作权限;
接收机构用户使用操作员账号登录的请求,并在通过后完成登录;
接收机构用户发送的管理节点的请求,编码生成针对所述机构用户所属联盟链节点的管理节点的指令,并根据相应指令执行并返回相应信息,所述管理节点的指令包括节点查询指令和节点配置更新指令;
接收机构用户发送的监控节点的请求,编码生成针对所述机构用户所属联盟链节点的监控节点的指令,并根据相应指令执行并返回相应信息;
接收机构用户发送的修改节点子链的请求,编码生成针对所述机构用户所属联盟链节点的新增子链、更新子链配置、管理子链描述信息或添加子链节点的指令,并根据相应指令执行并返回相应信息;
接收机构用户发送的操作智能合约的请求,编码生成针对所述机构用户所属联盟链节点的智能合约的安装、升级、实例化或调用的操作指令,并根据相应指令执行并返回相应信息。
第二方面,本发明实施例提供了一种在线化联盟链管理装置,其包括:
添加单元,用于接收机构用户加入联盟链的申请信息,对申请信息进行审核并在通过后向机构用户分配根证书及根密钥,并根据所述根证书及根密钥将该机构用户添加到联盟链上;
启动单元,用于接收机构用户登记的节点服务器信息,为机构用户生成节点证书和节点密钥,使所述机构用户通过所述节点证书建立并启动联盟链节点;
分配单元,用于接收机构用户注册操作员账号的请求,为所述机构用户生成操作员证书并分配操作权限;
登录单元,用于接收机构用户使用操作员账号登录的请求,并在通过后完成登录;
管理节点单元,用于接收机构用户发送的管理节点的请求,编码生成针对所述机构用户所属联盟链节点的管理节点的指令,并根据相应指令执行并返回相应信息,所述管理节点的指令包括节点查询指令和节点配置更新指令;
监控节点单元,用于接收机构用户发送的监控节点的请求,编码生成针对所述机构用户所属联盟链节点的监控节点的指令,并根据相应指令执行并返回相应信息;
修改节点子链单元,用于接收机构用户发送的修改节点子链的请求,编码生成针对所述机构用户所属联盟链节点的新增子链、更新子链配置、管理子链描述信息或添加子链节点的指令,并根据相应指令执行并返回相应信息;
操作智能合约单元,用于接收机构用户发送的操作智能合约的请求,编码生成针对所述机构用户所属联盟链节点的智能合约的安装、升级、实例化或调用的操作指令,并根据相应指令执行并返回相应信息。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的在线化联盟链管理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的在线化联盟链管理方法。
本发明公开了一种在线化联盟链管理方法、装置、计算机设备及存储介质。其中,该方法包括接收机构用户加入联盟链的申请信息,为其分配根证书及根密钥并在线添加至联盟链;接收机构用户登记的服务器信息,为其生成节点证书和节点密钥并使其根据节点证书建立并启动联盟链节点;接收机构用户注册操作员账号的请求,为其生成操作员证书并分配操作权限;使机构用户通过操作员账号对其所属联盟链节点、子链通道、智能合约及区块进行在线管理、维护。本发明实施例提供了机构用户对其所属的区块链节点进行在线管理的功能,放开了对节点服务器的条件限制,让机构用户可利用已有服务器快速入链,从而实现降低联盟链管理成本,提升了机构用户体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的在线化联盟链管理方法的流程示意图;
图2为本发明实施例提供的在线化联盟链管理方法的子流程示意图;
图3为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图;
图4为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图;
图5为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图;
图6为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图;
图7为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图;
图8为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图;
图9为本发明实施例提供的在线化联盟链管理方法的又一子流程示意图
图10为本发明实施例提供的在线化联盟链管理装置的示意性框图;
图11为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的在线化联盟链管理方法的流程图;
如图1所示,该方法包括步骤S101~S108。
S101、接收机构用户加入联盟链的申请信息,对申请信息进行审核并在通过后向机构用户分配根证书及根密钥,并根据所述根证书及根密钥将该机构用户添加到联盟链上。
本实施例中,接收机构用户发送的加入联盟链的申请信息,并对该申请信息进行审核,若审核通过则为机构用户分配根证书及根密钥,并根据所述根证书及根密钥将该机构用户添加到联盟链上;若审核未通过则撤回机构用户的申请信息,机构用户加入联盟链失败。
在一实施例中,如图2所示,所述步骤S101包括:
S201、接收机构用户向联盟管理方发送的加入联盟链的申请信息,与机构用户签署相应协议并进行审核;
S202、审核通过后为机构用户颁发X509格式的机构根证书、TLS根证书、初始管理员证书以及对应的多个根密钥,并将机构用户的信息存储于脱链数据库中;
S203、将机构用户的信息、颁发的根证书及根密钥整理成联盟链组织信息,并根据所述联盟链组织信息将所述机构用户添加为联盟链组织成员。
本实施例中,接收所述机构用户向联盟管理方发送加入联盟链的申请信息,所述申请信息包括机构用户的基本信息、资质信息、信用信息等,然后通过联盟管理方与所述机构用户签署共识机制、合作协议等相应协议,并在签署完成后对机构用户的申请信息进行审核。
若审核通过则为机构用户颁发X509格式的机构根证书、TLS根证书、初始管理员证书以及对应的多个根密钥,并将机构用户的信息存储于脱链数据库中,所述脱链数据库是独立于区块链的数据库,可存储区块链配置、参与者、数字证书等区块链管理信息。
将机构用户的信息和X509格式的机构根证书、TLS根证书、初始管理员证书以及对应的多个根密钥整理成联盟链组织信息,将该联盟链组织信息作为机构用户的身份信息,并将机构用户添加为联盟链组织成员。
若审核未通过,则撤回机构用户的申请,所述机构用户可视情况调整申请信息重新申请或放弃申请。
在一实施例中,所述步骤步骤S101还包括:
获取同意机构用户加入的联盟链的联盟成员的数量,若数量达到总的联盟成员数量的预定比例,则同意机构用户加入联盟链并自动构建主链配置更新请求,并使所有联盟成员对所述更新请求进行确认并签名,完成主链配置更新。
本实施例中,在机构用户发送的加入联盟链的申请信息审核通过后,还需获取同意机构用户加入的联盟链的联盟成员的数量,若数量达到总的联盟成员数量的预定比例,机构用户才可加入联盟链,若数量未达到总的联盟成员数量的预定比例,则机构用户加入联盟链失败,这里的预定比例可以是50%,或者其他比例,这样也可以实现去中心化管理。
当同意机构用户加入的联盟链的联盟成员的数量达到预定比例时,管理平台可自动构建主链配置更新请求,也就是主链成员更新请求,并在获取所有联盟成员对所述更新请求的确认签名后,即可进行配置更新操作。
S102、接收机构用户登记的节点服务器信息,为机构用户生成节点证书和节点密钥,使所述机构用户通过所述节点证书建立并启动联盟链节点。
本实施例中,所述节点服务器用于机构用户接入区块链网络,本实施例中的区块链网络可支持任意来源的服务器,所述机构用户可利用自身已有的服务器来接入区块链网络,当接收到机构用户登记的节点服务器信息后,为机构用户生成节点证书和节点密钥,所述机构用户可通过节点证书建立并启动联盟链节点;所述节点服务器可用于存储所述联盟链节点的信息、节点证书和节点密钥,联盟链节点通过使用自身已有的服务器可以提高自身节点信息的安全性,尤其是节点密钥的安全性,可得到安全稳定的保障。
在一实施例中,如图3所示,所述步骤S102包括:
S301、接收机构用户登记的节点服务器的IP、域名、硬件配置、地理位置的信息;
S302、根据存储于脱链数据库中的机构用户的信息为其生成X509格式的节点证书、节点TLS证书以及对应的多个节点密钥,并将节点服务器的信息存储于脱链数据库中,使机构用户使用节点证书启动节点并加入联盟链。
本实施例中,接收机构用户登记的节点服务器的信息,所述节点服务器的信息包含服务器的IP、域名、硬件配置、地理位置等信息;根据存储于脱链数据库中的所述机构用户的信息,为机构用户生成X509格式的节点证书、节点TLS证书以及对应的多个节点密钥,机构用户根据节点证书建立并启用联盟链节点,然后将所述节点服务器的信息存储于脱链数据库中,所述机构用户可使用节点证书启动节点并加入联盟链。
S303、接收机构用户注册操作员账号的请求,为所述机构用户生成操作员证书并分配操作权限。
本实施例中,操作员账号可提供机构用户在管理平台上对自身节点进行操作的权限,在机构用户加入联盟链后,可向管理平台发送注册操作员账号的请求,管理平台在确认机构用户为联盟链新成员后,为其生成操作员证书并分配操作自身节点的权限。
S104、接收机构用户使用操作员账号登录的请求,并在通过后完成登录。
本实施例中,机构用户成功注册操作员账号后,可通过操作员账号登录管理平台,成功登录后可在管理平台上对其所属联盟链节点、子链通道、智能合约及区块进行在线管理和维护。
S105、接收机构用户发送的管理节点的请求,编码生成针对所述机构用户所属联盟链节点的管理节点的指令,并根据相应指令执行并返回相应信息,所述管理节点的指令包括节点查询指令和节点配置更新指令。
本实施例中,所述机构用户需对所属联盟链节点进行管理时,可向管理平台发送管理节点的请求,所述管理平台接收到请求后,根据请求的内容在脱链数据库找到相应的节点信息(比如节点IP地址、端口等),然后根据请求的内容编码生成针对所述机构用户所属联盟链节点的管理节点的指令,然后将管理节点的指令通过端口和节点IP地址发送至相应的联盟链节点,联盟链节点接收到相应指令后执行并返回相应信息;所述管理节点的指令包括节点查询指令和节点配置更新指令,具体的指令根据机构用户的请求内容进行编码,比如所述节点查询指令还可以包括查询节点最新区块指令、查询区块详细信息指令等等。
在一实施例中,如图4所示,所述步骤S105包括:
S401、接收机构用户发送的节点查询的请求,编码生成节点查询指令,并将节点查询指令发送至所述机构用户的节点,使所述机构用户的节点对节点查询指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份,若身份验证通过,则根据节点查询指令的内容调用内部接口生成响应消息并返回;
S402、接收构用户发送的节点配置更新请求,编码生成节点配置更新指令,并将节点配置更新指令发送至所述机构用户的节点,使所述机构用户的节点对节点配置更新指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份,若身份验证通过,则根据节点配置更新指令执行节点配置更新并返回更新信息。
本实施例中,所述管理平台接收到节点查询的请求或者节点配置更新请求后,根据相应请求的内容编码生成节点查询指令或者节点配置更新指令,然后将节点查询指令或者节点配置更新指令发送至所述机构用户的所属联盟链节点,联盟链节点接收到节点查询指令或者节点配置更新指令后,对指令的合法性和有效性进行验证并得到验证结果,若验证结果为合法且有效,则继续验证指令发送方的身份,这里验证指令发送方的身份的目的是为了防止其他成员发送恶意指令,只有在确认发送方的身份为对应的机构用户后,联盟链节点才可根据节点查询指令的内容调用内部接口生成响应消息并返回,或者根据节点配置更新指令执行节点配置更新并返回更新信息。
若在对指令的合法性和有效性进行验证的过程中得到非法或无效的验证结果,则直接丢弃指令;或者在验证指令发送方的身份的过程中得到非对应的机构用户身份,则直接丢弃指令。
S106、接收机构用户发送的监控节点的请求,编码生成针对所述机构用户所属联盟链节点的监控节点的指令,并根据相应指令执行并返回相应信息。
本实施例中,所述机构用户需对所属联盟链节点进行监控时,可向管理平台发送监控节点的请求,管理平台接收到请求后,根据请求的内容在脱链数据库找到相应的节点信息,然后根据请求的内容编码生成针对所述机构用户所属联盟链节点的监控节点的指令,然后将监控节点的指令发送至联盟链节点,联盟链节点接收到监控节点的指令后执行并返回相应信息。
在一实施例中,如图5所示,所述步骤S106包括:
S501、接收机构用户发送的节点监控的请求,编码生成节点监控指令,并将节点监控指令发送至所述机构用户的节点,使所述机构用户的节点对节点监控指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份;
S502、若身份验证通过,则根据节点监控指令对节点进行指标信息采集并返回,所述指标信息包括配置信息、操作系统性能指标信息以及区块链性能指标信息。
本实施例中,所述管理平台接收到节点监控的请求后,根据请求的内容编码生成节点监控指令,然后将节点监控指令发送至所述机构用户的所属联盟链节点,联盟链节点接收到节点监控指令后,对指令的合法性和有效性进行验证并得到验证结果,若验证结果为合法且有效,则继续验证指令发送方的身份,这里验证指令发送方的身份的目的是为了防止其他成员非法监控非自身对应的节点,只有在确认发送方的身份为对应的机构用户后,联盟链节点才可根据监控指令对节点的配置信息、操作系统性能指标信息以及区块链性能指标信息等指标信息进行采集并返回。
若在对节点监控指令的合法性和有效性进行验证的过程中得到非法或无效的验证结果,则直接丢弃指令;或者在验证指令发送方的身份的过程中得到非对应的机构用户身份,则直接丢弃指令。
S107、接收机构用户发送的修改节点子链的请求,编码生成针对所述机构用户所属联盟链节点的新增子链、更新子链配置、管理子链描述信息或添加子链节点的指令,并根据相应指令执行并返回相应信息。
本实施例中,所述机构用户需对所属联盟链节点进行修改节点子链时,可向管理平台发送修改节点子链的请求,管理平台接收到请求后,根据请求的内容在脱链数据库找到相应的节点信息,然后根据请求的内容编码生成针对所述机构用户所属联盟链节点的新增子链指令、更新子链配置指令、管理子链描述信息指令或添加子链节点指令,然后将新增子链指令、更新子链配置指令、管理子链描述信息指令或添加子链节点指令发送至联盟链节点,联盟链节点接收到相应的指令后执行并返回相应信息。
在一实施例中,如图6所示,所述步骤S107包括:
S601、接收构用户发送的新增子链请求,编码生成新增子链指令,并将新增子链指令发送至所述机构用户的节点,使所述机构用户的节点对新增子链指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份,若身份验证通过,则根据新增子链指令从脱链数据库中找到相应节点,并在该节点下增加子链信息,完成新增子链操作并返回操作信息;
S602、接收构用户发送的子链配置更新请求,编码生成子链配置更新指令,并将子链配置更新指令发送至各个联盟成员,使所有联盟成员对所述子链配置更新请求进行确认并签名,将签名打包发送给排序节点进行验证;在排序节点验证通过后完成子链配置更新并返回更新信息;
S603、接收构用户发送的管理子链描述信息请求,编码生成管理子链描述信息指令,并将管理子链描述信息指令发送至所述机构用户的节点,使所述机构用户的节点对管理子链描述信息指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份,若身份验证通过,则根据子链描述信息指令从脱链数据库中找到相应子链,并对该子链的描述信息进行更新并返回更新信息;
S604、接收机构用户发送的子链节点添加请求,编码生成子链节点添加指令,并将子链节点添加指令发送至所述机构用户的节点,使所述机构用户的节点对子链节点添加指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份,若身份验证通过,则根据子链节点添加指令找到相应子链,并在该子链下增加子节点,完成子链节点添加操作。
本实施例中,所述管理平台接收到新增子链请求、子链配置更新请求、管理子链描述信息请求或子链节点添加请求后,根据相应请求的内容编码生成新增子链指令、子链配置更新指令、管理子链描述信息指令或子链节点添加指令,然后将新增子链指令、子链配置更新指令、管理子链描述信息指令或子链节点添加指令发送至所述机构用户的所属联盟链节点,联盟链节点接收到指令后,对指令的合法性和有效性进行验证并得到验证结果,若验证结果为合法且有效,则继续验证指令发送方的身份,这里验证指令发送方的身份的目的是为了防止其他成员对非自身节点的子链进行操作,只有在确认发送方的身份为对应的机构用户后,联盟链节点才可根据相应指令执行并返回相应信息。
具体的,可根据新增子链指令的内容从脱链数据库中找到相应节点,并在该节点下增加子链信息,即可完成新增子链操作并返回操作信息。
可通过联盟链网络将子链配置更新指令发送至各个联盟成员,联盟成员对所述子链配置更新请求进行确认并并返回签名,在得到预定比例的签名后,由管理平台将签名打包发送给排序节点,并通过排序节点对签名的有效性进行验证;排序节点验证通过后在联盟链全网发送子链配置更新指令,机构用户所属联盟链节点收到子链配置更新指令后,根据指令内容执行子链配置更新并返回更新情况。
可根据管理子链描述信息指令的内容从脱链数据库中找到相应节点,并对该节点的子链的描述信息进行更新并返回更新信息。
可根据管理子链节点添加指令的内容从脱链数据库中找到相应节点,并在该子链下添加子节点,完成子链节点添加操作并返回操作信息。
若在对新增子链指令、子链配置更新指令、管理子链描述信息指令或子链节点添加指令的合法性和有效性进行验证的过程中得到非法或无效的验证结果,则直接丢弃指令;或者在验证指令发送方的身份的过程中得到非对应的机构用户身份,则直接丢弃指令。
S108、接收机构用户发送的操作智能合约的请求,编码生成针对所述机构用户所属联盟链节点的智能合约的安装、升级、实例化或调用的操作指令,并根据相应指令执行并返回相应信息。
本实施例中,所述机构用户需对所属联盟链节点的智能合约进行操作时,可向管理平台发送操作智能合约的请求,当管理平台接收到请求后,可根据请求的内容在脱链数据库找到相应的节点信息,然后根据请求的内容编码生成针对所述机构用户所属联盟链节点的智能合约的安装指令、升级指令、实例化指令或调用指令,然后将安装指令、升级指令、实例化指令或调用指令发送至联盟链节点,联盟链节点接收到相应的指令后执行并返回相应信息。
在一实施例中,如图7所示,所述步骤S108包括:
S701、接收机构用户上传的智能合约并记录该智能合约的名称、版本和压缩包信息,并将所述智能合约发送至所述机构用户的节点;
S702、接收机构用户发送的安装或升级智能合约的请求,编码生成安装指令或升级指令,并将安装指令或升级指令发送至所述机构用户的节点;
S703、使所述机构用户的节点收到安装指令或升级指令后执行安装或升级操作并返回操作信息。
本实施例中,所述机构用户上传智能合约压缩包至管理平台,管理平台接收智能合约压缩包并记录该智能合约的名称、版本和压缩包信息,然后将所述智能合约发送至所述机构用户的所属联盟链节点;当管理平台接收到机构用户发送的安装或升级智能合约的请求后,可根据请求的内容编码生成安装指令或升级指令,然后将安装指令或升级指令发送至所述机构用户所属联盟链节点;联盟链节点收到安装指令或升级指令后执行安装或升级操作,并记录保存新的智能合约,完成后返回操作信息。
在一实施例中,如图8所示,所述步骤S108包括:
S801、接收机构用户发送的智能合约实例化请求,编码生成实例化指令,并将实例化指令发送至所述机构用户的节点,使所述机构用户的节点对实例化指令的合法性和有效性进行验证,若指令验证通过则继续验证指令发送方的身份,若身份验证通过,则使所述机构用户对实例化指令进行签名并返回;
S802、将实例化指令发送至各个联盟成员,并使所有联盟成员对所述实例化指令进行确认并签名,并打包发送给排序节点进行验证;并在排序节点验证通过后构建智能合约的运行环境并启动,完成实例化流程并使智能合约正效。
本实施例中,所述机构用户需对所属联盟链节点的智能合约进行实例化时,可向管理平台发送智能合约实例化的请求,所述管理平台接收到请求后,可根据请求的内容在脱链数据库找到相应的节点信息,然后根据请求的内容编码生成针对所述机构用户所属联盟链节点的实例化指令,然后将实例化指令发送至机构用户所属联盟链节点;联盟链节点接收到实例化指令后,对指令的合法性和有效性进行验证并得到验证结果,若验证结果为合法且有效,则继续验证指令发送方的身份,这里验证指令发送方的身份的目的是为了防止其他成员操作非自身对应的节点,在身份验证通过后由联盟链节点对实例化指令进行签名并返回管理平台。
在联盟链节点对实例化指令进行签名后,管理平台将实例化指令依次发送至各个联盟成员,联盟成员对实例化指令进行确认并返回签名,在得到预定比例的签名后,由管理平台将签名打包并提交给排序节点,并通过排序节点对签名的有效性进行验证,排序节点验证通过后在联盟链全网发送实例化指令,机构用户所属联盟链节点收到排序节点的实例化指令后,构建智能合约的运行环境并启动,完成实例化流程并使智能合约正效。
在一实施例中,如图9所示,所述步骤S108包括:
S901、接收机构用户发送的智能合约调用请求,编码生成调用指令,并将调用指令发送至所述机构用户的节点,所述调用指令包含要调用的合约信息、调用方法、方法参数以及调用者签名;
S902、使所述机构用户的节点收到调用指令后,验证所述调用者签名并在验证通过后,将所述要调用的合约信息、调用方法和方法参数传递给节点的智能合约的运行环境去运行,并返回智能合约的运行结果。
本实施例中,管理平台接收到智能合约调用请求后,根据请求的内容编码生成调用指令,然后将调用指令发送至所述机构用户的所属联盟链节点,所述调用指令包含要调用的合约信息、调用方法、方法参数以及调用者签名;联盟链节点接收到调用指令后,对调用指令中的调用者签名的有效性进行验证并得到验证结果,这里验证调用者签名的目的是为了防止其他成员非法调用非自身节点的智能合约,在验证结果为有效后,可将所述要调用的合约信息、调用方法和方法参数传递给节点的智能合约的运行环境去运行,得到运行结果并签名返回管理平台,完成调用智能合约。
若在对调用者签名的有效性进行验证的过程中,若得到无效的验证结果,则直接丢弃指令。
本发明实施例还提供一种在线化联盟链管理装置,该在线化联盟链管理装置用于执行前述在线化联盟链管理方法的任一实施例。具体地,请参阅图10,图10是本发明实施例提供的在线化联盟链管理装置的示意性框图。
如图10所示,在线化联盟链管理装置1000,包括:添加单元1001、启动单元1002、分配单元1003、登录单元1004、管理节点单元1005、监控节点单元1006、监控节点单元修改节点子链单元1007、以及修改节点子链单元1008。
添加单元1001,用于接收机构用户加入联盟链的申请信息,对申请信息进行审核并在通过后向机构用户分配根证书及根密钥,并根据所述根证书及根密钥将该机构用户添加到联盟链上;
启动单元1002,用于接收机构用户登记的节点服务器信息,为机构用户生成节点证书和节点密钥,使所述机构用户通过所述节点证书建立并启动联盟链节点;
分配单元1003,用于接收机构用户注册操作员账号的请求,为所述机构用户生成操作员证书并分配操作权限;
登录单元1004,用于接收机构用户使用操作员账号登录的请求,并在通过后完成登录;
管理节点单元1005,用于接收机构用户发送的管理节点的请求,编码生成针对所述机构用户所属联盟链节点的管理节点的指令,并根据相应指令执行并返回相应信息,所述管理节点的指令包括节点查询指令和节点配置更新指令;
监控节点单元1006,用于接收机构用户发送的监控节点的请求,编码生成针对所述机构用户所属联盟链节点的监控节点的指令,并根据相应指令执行并返回相应信息;
修改节点子链单元1007,用于接收机构用户发送的修改节点子链的请求,编码生成针对所述机构用户所属联盟链节点的新增子链、更新子链配置、管理子链描述信息或添加子链节点的指令,并根据相应指令执行并返回相应信息;
操作智能合约单元1008,用于接收机构用户发送的操作智能合约的请求,编码生成针对所述机构用户所属联盟链节点的智能合约的安装、升级、实例化或调用的操作指令,并根据相应指令执行并返回相应信息。
该装置提供了机构用户对其所属的区块链节点进行在线管理的功能,放开了对节点服务器的条件限制,让机构用户可利用已有服务器快速入链,实现了降低联盟链管理成本和提升机构用户体验的优点。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
上述在线化联盟链管理装置可以实现为计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。
请参阅图11,图11是本发明实施例提供的计算机设备的示意性框图。该计算机设备1100是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图11,该计算机设备1100包括通过系统总线1101连接的处理器1102、存储器和网络接口1105,其中,存储器可以包括非易失性存储介质1103和内存储器1104。
该非易失性存储介质1103可存储操作系统11031和计算机程序11032。该计算机程序11032被执行时,可使得处理器1102执行在线化联盟链管理方法。
该处理器1102用于提供计算和控制能力,支撑整个计算机设备1100的运行。
该内存储器1104为非易失性存储介质1103中的计算机程序11032的运行提供环境,该计算机程序11032被处理器1102执行时,可使得处理器1102执行在线化联盟链管理方法。
该网络接口1105用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1100的限定,具体的计算机设备1100可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器1102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1102还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的在线化联盟链管理方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。