CN110381167A - 基于云的区块链节点主动发现系统及方法 - Google Patents
基于云的区块链节点主动发现系统及方法 Download PDFInfo
- Publication number
- CN110381167A CN110381167A CN201910732855.6A CN201910732855A CN110381167A CN 110381167 A CN110381167 A CN 110381167A CN 201910732855 A CN201910732855 A CN 201910732855A CN 110381167 A CN110381167 A CN 110381167A
- Authority
- CN
- China
- Prior art keywords
- node
- service
- request
- trusted
- trusted node
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Abstract
一种基于云的区块链节点主动发现的系统和方法,具体方法包含:新节点向BaaS平台发送查询可信区块链节点的请求;服务搜索代理搜索本地服务库,获取可信节点列表;通过服务代理向BaaS平台查找节点认证服务;服务分析代理对新节点的服务请求进行服务需求分析,根据XML格式进行服务组装;可信节点向新节点发送节点认证请求。依次进行密钥交换、验签等节点认证处理;新节点通过服务代理向BaaS平台发送添加节点服务Add_Peer搜索请求;服务代理向新节点的节点代理模块返回添加节点认证服务API;新节点通过服务代理向可信节点发送添加节点服务请求,实现可信节点添加新节点网络信息等处理;节点添加成功后,启动进行数据同步。
Description
技术领域
本发明涉及去中心化系统云化组网技术领域,特别涉及一种基于云的区块链节点主动发现的系统和方法。
背景技术
随着互联网金融的发展,银行正在探索以金融科技为手段,聚焦行业客户、政务服务等金融场景建设,开展技术创新、软件研发和产品运营。泛金融生态圈将成为支撑银行快速发展的新格局,而区块链技术正是探索这一新型合作模式的利器。区块链与云计算的紧密结合,促进了区块链技术在跨领域的应用。主流云计算厂商瞄准向客户提供区块链服务的潜在商机,相继推出了区块链云服务平台——BaaS(BaaS,Blockchain-as-a-Service,区块链即服务)。BaaS是一种允许用户在云上构建、托管、使用区块链应用程序、智能合约和功能的解决方案和服务,被认为是区块链生态发展中一个具有划时代意义的里程碑事件。BaaS的本质上是将区块链网络迁移到基础云设施上,实现基于云的区块链网络组网、监控、运营管理等,以保持基础设施的灵活性和可操作性。在基于云的区块链网络中,参与区块链共识的节点(简称“共识节点”)由虚拟化节点组成,出于对区块链网络使用环境的灵活性、安全性和扩展性考虑,除了要在云基础设施上创建区块链节点,实现安全认证外,还要支持区块链节点的主动发现和接纳,这样对区块链网络的高可用性和高可扩展性都能起到很好的保护作用。
目前区块链组网有2种模式:1、停机组网,预先配置每个节点的网络信息和安全证书,操作员执行组网指令连接各节点,组成区块链网络;2、不停机组网,由平台分配节点的网络信息,发放安全证书,操作员执行加入节点的指令,将新节点加入网络。停机组网模式安全性比较高,但操作较为复杂,扩展性不佳,因为各成员节点的网络信息预先设置,要求预先按照规划分配网络信息,并通过手工方式将节点逐一加入网络,无法在计划外增加临时节点,如果因业务扩展需要增加成员节点,将会由于停机对现有服务造成极大威胁。不停机组网模式在操作效率上获得了一定提升,但仍摆脱不了运维人员对新增节点主动连接的操作处理,致使区块链网络创建对平台运维的依赖较多。对于快速成长的业务联盟来说,联盟成员希望在创建共识节点、表决上获得更多的自主性,从而进一步降低对第三方运维机构过渡依赖。因此,用户迫切需要获取一种既安全、方便,扩展性又高的节点主动发现手段,能够主动加入区块链网络,避免对中心化运维体系的过渡依赖。
发明内容
本发明目的在于提出了一种基于云的区块链动态组网的系统和方法,保障整个基于云基础设施的组网流程独立、安全和便捷;提高区块链网络的高可扩展性和方便性。
为达上述目的,一种基于云的区块链节点主动发现系统,所述系统包含BaaS服务代理装置、可信节点和新节点;所述新节点用于向所述BaaS服务代理装置发起询可信节点列表请求,通过所述BaaS服务代理装置搜索获得可信节点列表;根据可信节点列表获得可信节点信息后,向所述BaaS服务代理装置发送可信节点认证请求,接收反馈的可信节点认证服务;通过所述可信节点认证服务与对应的可信节点完成认证后,向所述BaaS服务代理装置发送添加节点服务请求,接收反馈的添加节点认证服务;根据所述添加节点认证服务与可信节点建立可信连接并进行数据同步;所述BaaS服务代理装置用于根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表,将所述可信节点列表反馈至新节点;根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务组装,将所述可信节点认证服务反馈至新节点;以及,根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务并反馈至新节点;所述可信节点用于根据接收到的所述可信节点认证服务与新节点进行节点认证;以及,根据接收到的所述添加节点认证服务添加新节点的网络信息并将自身的网络信息发送至新节点,与新节点建立可信连接后进行数据同步。
在上述基于云的区块链节点主动发现系统中,优选的,所述BaaS服务代理装置还包含用户接口代理模块和个性化配置模块;所述用户接口代理模块用于提供多种用户接口供区块链节点访问;所述个性化配置模块用于通过语义分析构件分析所述可信节点认证请求或所述添加节点服务请求中的请求要素,根据所述请求要素要预设规则组装获得可信节点认证服务或添加节点认证服务。
在上述基于云的区块链节点主动发现系统中,优选的,所述可信节点还包含向所述BaaS服务代理装置提供订阅信息;所述BaaS服务代理装置通过语义分析构件获得所述订阅信息所对应的订阅条件,将所述订阅条件保存至本地端。
在上述基于云的区块链节点主动发现系统中,优选的,所述BaaS服务代理装置还包含组网搜索模块和验证模块;所述组网搜索模块用于根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表;所述验证模块用于所述查询可信节点列表请求生成服务分析XML文档,通过语义分析构件获得所述服务分析XML文档的服务要素,根据所述服务要素通过预设规则组装获得服务构件;通过所述服务构件对所述可信节点列表进行程序验证,当验证通过时,将所述可信节点列表反馈至新节点。
本发明还提供一种基于云的区块链节点主动发现方法,所述方法包含:新节点向BaaS服务代理装置发起查询可信节点列表请求;所述BaaS服务代理装置根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表,将所述可信节点列表反馈至新节点;所述新节点根据可信节点列表获得可信节点信息后向所述BaaS服务代理装置发起可信节点认证请求;所述BaaS服务代理装置根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务组装,将所述可信节点认证服务反馈至新节点;所述新节点通过所述节点认证服务与对应的可信节点进行节点认证后,向所述BaaS服务代理装置发起添加节点服务请求;所述BaaS服务代理装置根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务并反馈至新节点;所述新节点根据所述添加节点请求将自身网络信息发送至可信节点,与可信节点建立可信连接并进行数据同步。
在上述基于云的区块链节点主动发现方法中,优选的,所述根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务包含:通过语义分析构件分析所述可信节点认证请求中的请求要素,根据所述请求要素要预设规则组装获得可信节点认证服务。
在上述基于云的区块链节点主动发现方法中,优选的,所述根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务包含:
通过语义分析构件分析所述添加节点服务请求中的请求要素,根据所述请求要素要预设规则组装获得添加节点认证服务。
在上述基于云的区块链节点主动发现方法中,优选的,所述方法还包含:可信节点向所述BaaS服务代理装置提供订阅信息;所述BaaS服务代理装置通过语义分析构件获得所述订阅信息所对应的订阅条件,将所述订阅条件保存至本地端;以及将所述查询可信节点列表请求与本地端存储的订阅条件比较,根据比较结果获得所述可信节点列表。
在上述基于云的区块链节点主动发现方法中,优选的,所述方法还包含:根据所述查询可信节点列表请求生成服务分析XML文档,通过语义分析构件获得所述服务分析XML文档的服务要素,根据所述服务要素通过预设规则组装获得服务构件;通过所述服务构件对所述可信节点列表进行程序验证,当验证通过时,将所述可信节点列表反馈至新节点;
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:克服了以往区块链组网过渡依赖于中心化运维的问题,提供了一种自主分配和创建节点资源,主动连接区块链网络的方法,新节点不仅能够自主分配计算资源、存储资源和网络资源,实现区块链网络的主动发现和节点的动态新增,还可以动态撤销及释放资源,却不会对已有服务状态产生影响,有效减低了中心化运维的资源投入。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为一种基于云的多链混合组网的系统示意图;
图2A为一种基于云的区块链节点主动发现系统结构图;
图2B为一实施例中基于云的区块链节点主动发现系统结构图;
图3为一实施例中BaaS服务代理装置的结构示意图;
图4为一实施例中BaaS服务代理装置的结构示意图;
图5为一种基于云的区块链节点主动发现方法的流程示意图;
图6为一种基于云的区块链节点主动发现服务代理的流程示意图;
图7为一实施例中基于云的区块链节点主动发现方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,基于云的多链混合组网的系统可包含公共安全基础链1、联盟子链2、区块链共识节点3、跨链交易4、云计算5。
公共安全基础链1:公共安全基础链提供了连接同构和异构联盟子链的跨链组网能力,能够进行数据同步和价值传递,负责多联盟子链的共识同步等,但同步效率较低。在区块链所面临的诸多问题中,链与链之间的互通性缺失很大程度限制了区块链的应用范围,区块链跨链组网是跨链互操作的基础能力,提供了同构和异构区块链之间的信息交互和价值流转服务。
联盟子链2:由同构区块链组网形成的联盟链,具有共识节点少,同步效率较高的特点,通过连接公共基础服务链1,实现与其他联盟子链的异构链通信和互联。常见的联盟子链由以太坊、Fabric、工银玺链等区块链产品构成。
共识节点3:共识节点是区块链网络的基本构成单元,一般存储全量账本数据,用于进行共识同步,执行智能合约和表决等处理,共识节点也是独立的通信单元,是区块链动态组网的基本单位。
跨链交易4:跨链交易是指在不同联盟子链中执行的智能合约交易,执行后,交易所在联盟子链的共识节点区块高度和账本数据将进行同步更新。
云计算5:主要指PaaS(Platform-as-a-Service)平台,PaaS平台提供了应用程序执行和开发环境。PaaS所依靠的云计算一种分布式计算技术,可透过网络将庞大的计算处理程序自动拆分成无数较小的子程序,再交由多部服务器IaaS(Infrastructure as aService)所组成的庞大系统搜寻、计算分析后,将处理结果回传给用户。
基于上述应用结构,请参考图2A所示,本发明所提供的一种基于云的区块链节点主动发现系统,所述系统包含BaaS服务代理装置、可信节点和新节点;所述新节点用于向所述BaaS服务代理装置发起询可信节点列表请求,通过所述BaaS服务代理装置搜索获得可信节点列表;根据可信节点列表获得可信节点信息后,向所述BaaS服务代理装置发送可信节点认证请求,接收反馈的可信节点认证服务;通过所述可信节点认证服务与对应的可信节点完成认证后,向所述BaaS服务代理装置发送添加节点服务请求,接收反馈的添加节点认证服务;根据所述添加节点认证服务与可信节点建立可信连接并进行数据同步;所述BaaS服务代理装置用于根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表,将所述可信节点列表反馈至新节点;根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务组装,将所述可信节点认证服务反馈至新节点;以及,根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务并反馈至新节点;所述可信节点用于根据接收到的所述可信节点认证服务与新节点进行节点认证;以及,根据接收到的所述添加节点认证服务添加新节点的网络信息并将自身的网络信息发送至新节点,与新节点建立可信连接后进行数据同步。其中,请参考图3所示,所述BaaS服务代理装置还包含用户接口代理模块和个性化配置模块;所述用户接口代理模块用于提供多种用户接口供区块链节点访问;所述个性化配置模块用于通过语义分析构件分析所述可信节点认证请求或所述添加节点服务请求中的请求要素,根据所述请求要素要预设规则组装获得可信节点认证服务或添加节点认证服务。
以此,通过上述实施例所基于云的区块链节点的主动发现模式提供的一种节点自主发现区块链网络的方法,与传统模式相比,新模式无论在便捷操作还是扩展性上均获得了提升,在新模式下,新节点不仅能够自主分配计算资源、存储资源和网络资源,实现区块链网络的主动发现和节点的动态新增,还可以动态撤销及释放资源,却不会对已有服务状态产生影响,有效减低了中心化运维的资源投入。
在上述实施例中,所述可信节点还包含向所述BaaS服务代理装置提供订阅信息;所述BaaS服务代理装置通过语义分析构件获得所述订阅信息所对应的订阅条件,将所述订阅条件保存至本地端。语义分析构件基于语义Web,将请求命令解析成“对象-属性-值”方式表示,每个三元组称为一个XML形式的陈述句。下例为一个节点信息查询消息PeerInfoQueryMessage的XML形式,定义了查询消息的最小发生次数为1次:
<xs:complexType name=“PeerInfoQueryMessage”>
<xs:sequence>
<xs:element name=”request” type=”xs:anyType”minoccurs=”1”>
</xs:sequence>
</xs:complexType>
请参考图4所示,在本发明一实施例中,所述BaaS服务代理装置还可包含组网搜索模块和验证模块;所述组网搜索模块用于根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表;所述验证模块用于所述查询可信节点列表请求生成服务分析XML文档,通过语义分析构件获得所述服务分析XML文档的服务要素,根据所述服务要素通过预设规则组装获得服务构件;通过所述服务构件对所述可信节点列表进行程序验证,当验证通过时,将所述可信节点列表反馈至新节点;以此通过上述结构可有效验证该些可信节点是否能够与所述新节点连接,具体实现流程将在后续实施例中详细说明,在此就不再一一详述。
综上所述,本发明所提供的基于云的区块链节点主动发现系统在实际工作中可包含图2B所述结构,具体可参考图2B所示,包含可信节点400、新节点410、BaaS服务代理装置420、RPC交易430、P2P网络440。其中,BaaS服务代理装置420包括用户接口代理421、个性化配置422;新加入节点410包括节点服务代理411。
可信节点400:可以信赖的共识节点,通常指可被新加入节点连接,实现区块链组网和数据同步的节点。可信节点通过用户接口,提交订阅信息,通过个性化配置的语义逻辑推理后,作为订阅条件保存在本地服务代理。
新节点410:指待加入区块链网络的新节点,通常由联盟成员创建,负责通过本地服务代理411主动发起组网请求的区块链节点。
节点服务代理411:负责主动向BaaS服务代理发起组网请求,并根据请求结果提供节点网络信息、进行节点认证。
BaaS服务代理装置420:BaaS平台的服务代理模块,负责提供组网服务搜索,组网服务包括可信节点查询服务、节点认证服务、节点添加服务等功能,是节点主动发现的核心模块。
用户接口代理421:负责提供包括Web、Web Services、Java Services、NIO及传统搜索引擎RPC-JSON API等5种用户接口,供区块链节点访问。其中,NIO提供了性能更优的资源访问方式,适用于对访问响应时间要求更高的节点。
个性化配置422:负责对节点提供的指令提供本体维护与推理、语义智能匹配等功能。
RPC交易430:在P2P环境中执行的远程调用交易,新加入节点通过发送和接受此交易实现区块链动态组网。
P2P网络440:一种P2P的网络环境,在本发明中,专指基于云基础设施的P2P网络环境。
请参考图5所示,本发明还提供一种基于云的区块链节点主动发现方法,所述方法包含:S101新节点向BaaS服务代理装置发起查询可信节点列表请求;S102所述BaaS服务代理装置根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表,将所述可信节点列表反馈至新节点;S103所述新节点根据可信节点列表获得可信节点信息后向所述BaaS服务代理装置发起可信节点认证请求;S104所述BaaS服务代理装置根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务组装,将所述可信节点认证服务反馈至新节点;S105所述新节点通过所述节点认证服务与对应的可信节点进行节点认证后,向所述BaaS服务代理装置发起添加节点服务请求;S106所述BaaS服务代理装置根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务并反馈至新节点;S107所述新节点根据所述添加节点请求将自身网络信息发送至可信节点,与可信节点建立可信连接并进行数据同步。以此,通过该实施例可使得新节点能够主动发起区块链节点连接,无需太多人工干预;同时,保证了区块链网络在线状态下依然能够动态添加新节点。在上述实施例中,所述根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务包含:通过语义分析构件分析所述可信节点认证请求中的请求要素,根据所述请求要素要预设规则组装获得可信节点认证服务。所述根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务包含:通过语义分析构件分析所述添加节点服务请求中的请求要素,根据所述请求要素要预设规则组装获得添加节点认证服务。具体的,语义分析构件基于语义Web,将请求命令解析成“对象-属性-值”方式表示,每个三元组称为一个XML形式的陈述句。下例为一个节点信息查询消息PeerInfoQueryMessage的XML形式,定义了查询消息的最小发生次数为0次:
<xs:complexType name=“PeerInfoQueryMessage”>
<xs:sequence>
<xs:element name=”sourcepid”type=”jxta:JXTAID”>
<xs:element name=”targetpid”type=”jxta:JXTAID”>
<xs:element name=”request” type=”xs:anyType”minoccurs=”0”>
</xs:sequence>
</xs:complexType>
应答消息PeerInfoResponse表示如下:
<xs:complexType name=“PeerInfoResponse”>
<xs:sequence>
<xs:element name=”sourcepid”type=”jxta:JXTAID”>
<xs:element name=”targetpid”type=”jxta:JXTAID”>
<xs:element name=”timestampe” type=”xs:unsignedLong”minoccurs=”0”>
<xs:element name=”response” type=”xs:anyType”minoccurs=”0”>
</xs:sequence>
</xs:complexType>
在本发明一实施例中,所述方法还包含:可信节点向所述BaaS服务代理装置提供订阅信息;所述BaaS服务代理装置通过语义分析构件获得所述订阅信息所对应的订阅条件,将所述订阅条件保存至本地端;以及将所述查询可信节点列表请求与本地端存储的订阅条件比较,根据比较结果获得所述可信节点列表。
在本发明一实施例中,所述方法还包含:根据所述查询可信节点列表请求生成服务分析XML文档,通过语义分析构件获得所述服务分析XML文档的服务要素,根据所述服务要素通过预设规则组装获得服务构件;通过所述服务构件对所述可信节点列表进行程序验证,当验证通过时,将所述可信节点列表反馈至新节点;具体请参考图6所示,包含步骤如下:步骤S501:联盟成员用户向用户接口代理421提交组网指令,用户接口代理421获取用户的需求描述指令,提交给服务搜索代理。步骤S502:服务搜索代理首先在本地服务库搜索组网服务,如果没有搜索到本地服务,转向Internet进行搜索。步骤S503:守护进程对搜索情况进行判断,如果服务搜索代理没有查找到组网服务指令,则向用户接口代理421提交查询结果信息。否则转到服务分析代理模块继续执行。步骤S504:服务分析代理模块负责将用户组网指令生成服务分析XML文档,再将搜索到的服务或构件存放地址传送到服务分析代理模块进行分析。步骤S505:服务分析代理模块根据服务分析的XML文档进行本体和语义推理分析,然后进行服务构件的组装。步骤S506:服务构件验证代理对服务进行程序验证。步骤S507:守护进程将服务构件验证执行结果传递给用户接口代理。
综上所述,实际工作中本发明所提供的基于云的区块链节点主动发现方法如图7所示,整体可包含获取可新节点信息、节点认证、节点添加三大步骤,具体如下:
步骤S600:用户通过节点代理向BaaS服务代理装置发送查询可信区块链节点的请求。查询指令采用JASON-RPC命令格式,如下:
curl-s-X POST-H"Content-Type":application/json--data'{"jsonrpc":"2.0","method":"trust_nodeList","params":[],"id":1}'host:8545
步骤S601:用户接口代理负责处理来自新节点的服务请求,并将其传送给服务搜索代理。
步骤S602:服务搜索代理针对接收的服务请求,首先搜索本地服务库,若搜索不到服务,则向Internet搜索服务。
步骤S603:服务分析代理对新节点的服务请求进行服务需求分析,根据XML格式进行服务组装。
步骤S604:执行服务验证处理,交验服务程序合法性。
步骤S605:向新节点的节点代理模块返回可新节点列表。
步骤S606:新节点通过节点服务代理向BaaS服务代理装置发送节点认证服务请求,查找节点认证服务peer_authentication。
步骤S607:用户接口代理负责处理来自新节点的服务请求,并将其传送给服务搜索代理。
步骤S608:服务搜索代理搜索本地服务库。
步骤S609:服务分析代理对新节点的服务请求进行服务需求分析,根据XML格式进行服务组装。
步骤S610:向新节点的节点代理模块返回节点认证服务API。
步骤S611:新节点向可信节点发送节点认证请求,请求指令采用JASON-RPC命令格式,如下:
curl-s-X POST-H"Content-Type":application/json--data'{"jsonrpc":"2.0","method":"peer_authentication","params":[],"id":1}'172.17.0.2:8545
步骤S612:可信节点接收到新节点的认证请求后,依次进行密钥交换、验签等节点认证处理,返回节点认证结果。
步骤S613:若节点验证通过,新节点通过节点服务代理向BaaS服务代理装置发送添加节点服务Add_Peer搜索请求。
步骤S614:用户接口代理负责处理来自新节点的服务请求,并将其传送给服务搜索代理。
步骤S615:服务分析代理对新节点的服务请求进行服务需求分析,根据XML格式进行服务组装。
步骤S616:服务分析代理对新节点的服务请求进行服务需求分析,根据XML格式进行服务组装。
步骤S617:向新节点的节点代理模块返回添加节点认证服务API。
步骤S618:新节点通过节点服务代理向可信节点发送添加节点服务请求,同时提供自身的网络信息enode。指令如下:
curl-s-X POST-H"Content-Type":application/json--data'{"jsonrpc":"2.0","method":"add_Peer","params":["enode"],"id":1}'
步骤S619:可信节点添加新节点网络信息。
步骤S620:可信节点向节点服务代理发送新节点添加结果,同时提供自身的网络信息enode。
步骤S621:新节点添加可信节点信息。
步骤S622:节点添加成功后,建立可信连接,进行数据同步。
在上述实施例中,新节点与BaaS服务代理装置之间通信主要采用JSON-RPC协议,传递内容透过JSON形式,直接在内容中定义了要调用的函数名称;其中,常见的组网服务包含以下典型API指令:
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:克服了以往区块链组网过渡依赖于中心化运维的问题,提供了一种自主分配和创建节点资源,主动连接区块链网络的方法,新节点不仅能够自主分配计算资源、存储资源和网络资源,实现区块链网络的主动发现和节点的动态新增,还可以动态撤销及释放资源,却不会对已有服务状态产生影响,有效减低了中心化运维的资源投入。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种基于云的区块链节点主动发现系统,其特征在于,所述系统包含BaaS服务代理装置、可信节点和新节点;
所述新节点用于向所述BaaS服务代理装置发起询可信节点列表请求,通过所述BaaS服务代理装置搜索获得可信节点列表;根据可信节点列表获得可信节点信息后,向所述BaaS服务代理装置发送可信节点认证请求,接收反馈的可信节点认证服务;通过所述可信节点认证服务与对应的可信节点完成认证后,向所述BaaS服务代理装置发送添加节点服务请求,接收反馈的添加节点认证服务;根据所述添加节点认证服务与可信节点建立可信连接并进行数据同步;
所述BaaS服务代理装置用于根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表,将所述可信节点列表反馈至新节点;根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务组装,将所述可信节点认证服务反馈至新节点;以及,根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务并反馈至新节点;
所述可信节点用于根据接收到的所述可信节点认证服务与新节点进行节点认证;以及,根据接收到的所述添加节点认证服务添加新节点的网络信息并将自身的网络信息发送至新节点,与新节点建立可信连接后进行数据同步。
2.根据权利要求1所述的基于云的区块链节点主动发现系统,其特征在于,所述BaaS服务代理装置还包含用户接口代理模块和个性化配置模块;
所述用户接口代理模块用于提供多种用户接口供区块链节点访问;
所述个性化配置模块用于通过语义分析构件分析所述可信节点认证请求或所述添加节点服务请求中的请求要素,根据所述请求要素要预设规则组装获得可信节点认证服务或添加节点认证服务。
3.根据权利要求2所述的基于云的区块链节点主动发现系统,其特征在于,所述可信节点还包含向所述BaaS服务代理装置提供订阅信息;所述BaaS服务代理装置通过语义分析构件获得所述订阅信息所对应的订阅条件,将所述订阅条件保存至本地端。
4.根据权利要求3所述的基于云的区块链节点主动发现系统,其特征在于,所述BaaS服务代理装置还包含组网搜索模块和验证模块;所述组网搜索模块用于根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表;
所述验证模块用于所述查询可信节点列表请求生成服务分析XML文档,通过语义分析构件获得所述服务分析XML文档的服务要素,根据所述服务要素通过预设规则组装获得服务构件;通过所述服务构件对所述可信节点列表进行程序验证,当验证通过时,将所述可信节点列表反馈至新节点。
5.一种基于云的区块链节点主动发现方法,其特征在于,所述方法包含:
新节点向BaaS服务代理装置发起查询可信节点列表请求;
所述BaaS服务代理装置根据接收到的查询可信节点列表请求于本地端和/或区块链网络上查询获得可信节点列表,将所述可信节点列表反馈至新节点;
所述新节点根据可信节点列表获得可信节点信息后向所述BaaS服务代理装置发起可信节点认证请求;
所述BaaS服务代理装置根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务组装,将所述可信节点认证服务反馈至新节点;
所述新节点通过所述节点认证服务与对应的可信节点进行节点认证后,向所述BaaS服务代理装置发起添加节点服务请求;
所述BaaS服务代理装置根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务并反馈至新节点;
所述新节点根据所述添加节点请求将自身网络信息发送至可信节点,与可信节点建立可信连接并进行数据同步。
6.根据权利要求5所述的基于云的区块链节点主动发现方法,其特征在于,所述根据可信节点认证请求通过XML格式按预设规则组装获得可信节点认证服务包含:通过语义分析构件分析所述可信节点认证请求中的请求要素,根据所述请求要素要预设规则组装获得可信节点认证服务。
7.根据权利要求5所述的基于云的区块链节点主动发现方法,其特征在于,所述根据添加节点服务请求通过XML格式按预设规则组装获得添加节点认证服务包含:通过语义分析构件分析所述添加节点服务请求中的请求要素,根据所述请求要素要预设规则组装获得添加节点认证服务。
8.根据权利要求5所述的基于云的区块链节点主动发现方法,其特征在于,所述方法还包含:可信节点向所述BaaS服务代理装置提供订阅信息;所述BaaS服务代理装置通过语义分析构件获得所述订阅信息所对应的订阅条件,将所述订阅条件保存至本地端;以及将所述查询可信节点列表请求与本地端存储的订阅条件比较,根据比较结果获得所述可信节点列表。
9.根据权利要求8所述的基于云的区块链节点主动发现方法,其特征在于,所述方法还包含:根据所述查询可信节点列表请求生成服务分析XML文档,通过语义分析构件获得所述服务分析XML文档的服务要素,根据所述服务要素通过预设规则组装获得服务构件;通过所述服务构件对所述可信节点列表进行程序验证,当验证通过时,将所述可信节点列表反馈至新节点。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至9任一所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求5至9任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732855.6A CN110381167B (zh) | 2019-08-09 | 2019-08-09 | 基于云的区块链节点主动发现系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732855.6A CN110381167B (zh) | 2019-08-09 | 2019-08-09 | 基于云的区块链节点主动发现系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110381167A true CN110381167A (zh) | 2019-10-25 |
CN110381167B CN110381167B (zh) | 2022-02-08 |
Family
ID=68258633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910732855.6A Active CN110381167B (zh) | 2019-08-09 | 2019-08-09 | 基于云的区块链节点主动发现系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110381167B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111182075A (zh) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | 一种fabric区块链网络联盟组网方法 |
CN111740989A (zh) * | 2020-06-19 | 2020-10-02 | 大连理工大学 | 一种面向区块链的物联网芯片轻量级数据加密方法 |
CN113301107A (zh) * | 2021-03-30 | 2021-08-24 | 数界(深圳)科技有限公司 | 节点计算平台及其实现方法、可信云平台实现方法 |
CN113360504A (zh) * | 2021-06-22 | 2021-09-07 | 东北大学 | 一种基于多区块链环境下的连接查询优化方法 |
CN113450079A (zh) * | 2021-07-07 | 2021-09-28 | 上海汉开科技股份有限公司 | 一种基于安全审计的区块链平台操作管理系统 |
CN113505319A (zh) * | 2021-07-27 | 2021-10-15 | 上海点融信息科技有限责任公司 | 为BaaS平台上的搜索引擎更新检索内容的方法、装置及介质 |
CN113852655A (zh) * | 2020-06-28 | 2021-12-28 | 北京金山云网络技术有限公司 | 信息管理方法、装置及区块链服务系统 |
CN114944941A (zh) * | 2022-04-24 | 2022-08-26 | 北京交通大学 | 一种基于区块链的物联网服务分布式访问控制方法 |
CN115314374A (zh) * | 2022-07-06 | 2022-11-08 | 京东科技信息技术有限公司 | 区块链节点的部署方法、设备、存储介质及程序产品 |
CN115348263A (zh) * | 2022-06-29 | 2022-11-15 | 中国工商银行股份有限公司 | 多层次区块链系统、多层次区块链的混合组网方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005117656A (ja) * | 2003-10-03 | 2005-04-28 | Fujitsu Ltd | 自己組織化マルチホップ無線アクセスネットワーク用の装置、方法及び媒体 |
CN107528856A (zh) * | 2017-09-27 | 2017-12-29 | 福建实达电脑设备有限公司 | 基于区块链的物联网雾端设备在云端平台接入认证方法 |
CN108124505A (zh) * | 2017-12-19 | 2018-06-05 | 深圳前海达闼云端智能科技有限公司 | 获取可信节点的方法、装置、存储介质及区块链节点 |
CN108235806A (zh) * | 2017-12-28 | 2018-06-29 | 深圳达闼科技控股有限公司 | 安全访问区块链的方法、装置、系统、存储介质及电子设备 |
CN108256859A (zh) * | 2018-01-02 | 2018-07-06 | 中国工商银行股份有限公司 | 基于区块链的金融产品交易共识方法、节点及系统 |
CN108667618A (zh) * | 2018-05-10 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 区块链成员管理的数据处理方法、装置、服务器及系统 |
CN109819443A (zh) * | 2018-12-29 | 2019-05-28 | 东莞见达信息技术有限公司 | 基于区块链的注册认证方法、装置及系统 |
WO2019108438A1 (en) * | 2017-11-30 | 2019-06-06 | Mocana Corporation | System and method for securing data transport between a non-ip endpoint device that is connected to a gateway device and a connected service |
US20190236606A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment |
-
2019
- 2019-08-09 CN CN201910732855.6A patent/CN110381167B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005117656A (ja) * | 2003-10-03 | 2005-04-28 | Fujitsu Ltd | 自己組織化マルチホップ無線アクセスネットワーク用の装置、方法及び媒体 |
CN107528856A (zh) * | 2017-09-27 | 2017-12-29 | 福建实达电脑设备有限公司 | 基于区块链的物联网雾端设备在云端平台接入认证方法 |
WO2019108438A1 (en) * | 2017-11-30 | 2019-06-06 | Mocana Corporation | System and method for securing data transport between a non-ip endpoint device that is connected to a gateway device and a connected service |
CN108124505A (zh) * | 2017-12-19 | 2018-06-05 | 深圳前海达闼云端智能科技有限公司 | 获取可信节点的方法、装置、存储介质及区块链节点 |
CN108235806A (zh) * | 2017-12-28 | 2018-06-29 | 深圳达闼科技控股有限公司 | 安全访问区块链的方法、装置、系统、存储介质及电子设备 |
CN108256859A (zh) * | 2018-01-02 | 2018-07-06 | 中国工商银行股份有限公司 | 基于区块链的金融产品交易共识方法、节点及系统 |
US20190236606A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment |
CN108667618A (zh) * | 2018-05-10 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 区块链成员管理的数据处理方法、装置、服务器及系统 |
CN109819443A (zh) * | 2018-12-29 | 2019-05-28 | 东莞见达信息技术有限公司 | 基于区块链的注册认证方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
JIAN MA 等: "Time-shared parking mechanism and application based on BaaS cloud infrastructure", 《IEEE》 * |
朱孝兵: "基于区块链的跨域认证与访问控制的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111182075A (zh) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | 一种fabric区块链网络联盟组网方法 |
CN111740989A (zh) * | 2020-06-19 | 2020-10-02 | 大连理工大学 | 一种面向区块链的物联网芯片轻量级数据加密方法 |
CN111740989B (zh) * | 2020-06-19 | 2021-05-07 | 大连理工大学 | 一种面向区块链的物联网芯片轻量级数据加密方法 |
CN113852655A (zh) * | 2020-06-28 | 2021-12-28 | 北京金山云网络技术有限公司 | 信息管理方法、装置及区块链服务系统 |
CN113301107A (zh) * | 2021-03-30 | 2021-08-24 | 数界(深圳)科技有限公司 | 节点计算平台及其实现方法、可信云平台实现方法 |
CN113360504B (zh) * | 2021-06-22 | 2023-08-15 | 东北大学 | 一种基于多区块链环境下的连接查询优化方法 |
CN113360504A (zh) * | 2021-06-22 | 2021-09-07 | 东北大学 | 一种基于多区块链环境下的连接查询优化方法 |
CN113450079A (zh) * | 2021-07-07 | 2021-09-28 | 上海汉开科技股份有限公司 | 一种基于安全审计的区块链平台操作管理系统 |
CN113505319A (zh) * | 2021-07-27 | 2021-10-15 | 上海点融信息科技有限责任公司 | 为BaaS平台上的搜索引擎更新检索内容的方法、装置及介质 |
CN114944941B (zh) * | 2022-04-24 | 2023-03-17 | 北京交通大学 | 一种基于区块链的物联网服务分布式访问控制方法 |
CN114944941A (zh) * | 2022-04-24 | 2022-08-26 | 北京交通大学 | 一种基于区块链的物联网服务分布式访问控制方法 |
CN115348263A (zh) * | 2022-06-29 | 2022-11-15 | 中国工商银行股份有限公司 | 多层次区块链系统、多层次区块链的混合组网方法及装置 |
CN115314374A (zh) * | 2022-07-06 | 2022-11-08 | 京东科技信息技术有限公司 | 区块链节点的部署方法、设备、存储介质及程序产品 |
CN115314374B (zh) * | 2022-07-06 | 2024-02-06 | 京东科技信息技术有限公司 | 区块链节点的部署方法、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110381167B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110381167A (zh) | 基于云的区块链节点主动发现系统及方法 | |
CN113711536B (zh) | 从区块链网络中提取数据 | |
AU2019302940B2 (en) | Implementing a blockchain-based web service | |
CN110226168B (zh) | 用于提供区块链云服务的接口的系统和方法 | |
JP6532930B1 (ja) | ブロックチェーンベースのユーザ識別管理用の分散型台帳装置、分散型台帳方法 | |
EP3559874B1 (en) | Event-driven blockchain workflow processing | |
JP2021534512A (ja) | 分散型元帳におけるdagベースのトランザクション処理方法およびシステム | |
CN110417896A (zh) | 基于云的区块链动态组网的系统及方法 | |
US20220311607A1 (en) | Key generation method and apparatus, device, and medium | |
JP2023532959A (ja) | 許可制ブロックチェーンのためのプライバシー保護アーキテクチャ | |
JP2019115026A (ja) | ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法 | |
CN111327613B (zh) | 分布式服务的权限控制方法、装置及计算机可读存储介质 | |
CN113422733B (zh) | 区块链的业务处理方法、装置、计算机设备及存储介质 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
Lin et al. | A Blockchain-enabled decentralized settlement model for IoT data exchange services | |
Ranawaka et al. | Custos: Security middleware for science gateways | |
CN112231415B (zh) | 区块链网络的数据同步方法、系统、电子设备及可读介质 | |
Xu et al. | BUES: A blockchain-based upgraded email system | |
CN111770101B (zh) | 接入区块链网络的系统及方法 | |
Li et al. | Research and implementation of blockchain warehouse receipt trading platform based on BFT | |
Xu et al. | SCOPE: A Cross-Chain Supervision Scheme for Consortium Blockchains | |
Balarengadurai et al. | Decentralized Blockchain-Based Infrastructure for Numerous IoT Setup | |
CN115827775A (zh) | 基于模块化设计的区块链方案 | |
Desai et al. | OCEAN: A Liquid Market For Grid Computation |
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 |