基于区块链中继通信网络系统的消息传输方法及装置与流程

文档序号:31763376发布日期:2022-10-12 03:39阅读:89来源:国知局
基于区块链中继通信网络系统的消息传输方法及装置与流程

1.本说明书实施例属于区块链技术领域,尤其涉及一种基于区块链中继通信网络系统的消息传输方法及装置。


背景技术:

2.区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。在传统的区块链技术中,各个区块链节点之间直接采用p2p(peer to peer,点对点)技术进行通信,以传输交易、区块等,但由于各种网络因素导致通信时延高、稳定性差,无法满足应用需求。
3.因此,相关技术中提出了基于区块链中继通信网络系统的区块链通信技术。区块链节点可以分别接入区块链中继通信网络系统,使得区块链节点之间能通过区块链中继通信网络系统来实现通信。由于区块链中继通信网络系统是面向区块链实时传输的骨干中继通信网络系统,其包含的各个中继节点之间能够通过高qos(quality of service,服务质量)保障的优质带宽进行通信交互,因而由区块链中继通信网络系统接管区块链节点之间通信的中间链路(middle mile),能够降低通信时延、提高稳定性,从而显著提升区块链节点之间的通信质量。


技术实现要素:

4.本说明书的目的在于提供一种基于区块链中继通信网络系统的消息传输方法及装置。
5.根据本说明书一个或多个实施例的第一方面,提出了一种基于区块链中继通信网络系统的消息传输方法,所述区块链中继通信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
6.所述源区块链节点基于所述共享密钥对明文信息加密以获取加密信息,为所述加密信息封装ip头部以生成加密消息,并将所述加密消息发送至所述区块链中继通信网络系统;
7.所述区块链中继通信网络系统基于所述ip头部将所述加密消息转发至所述目的区块链节点;
8.所述目的区块链节点基于所述共享密钥对所述加密消息解密以获取所述明文信息。
9.根据本说明书一个或多个实施例的第二方面,提出了一种基于区块链中继通信网
络系统的消息传输方法,应用于源区块链节点,所述区块链中继通信网络系统分别与所述源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
10.基于所述共享密钥对明文信息加密以获取加密信息;
11.为所述加密信息封装ip头部以生成加密消息;
12.将所述加密消息发送至所述区块链中继通信网络系统,所述区块链中继通信网络系统用于基于所述ip头部将所述加密消息转发至所述目的区块链节点。
13.根据本说明书一个或多个实施例的第三方面,提出了一种基于区块链中继通信网络系统的消息传输方法,应用于目的区块链节点,所述区块链中继通信网络系统分别与源区块链节点和所述目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
14.接收所述区块链中继通信网络系统基于加密消息的ip头部转发至所述目的区块链节点的所述加密消息,所述加密消息由所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装所述ip头部以生成;
15.基于所述共享密钥对所述加密消息解密以获取所述明文信息。
16.根据本说明书一个或多个实施例的第四方面,提出了一种基于区块链中继通信网络系统的消息传输方法,应用于所述区块链中继通信网络系统,所述区块链中继通信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
17.接收所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装ip头部以生成的加密消息;
18.基于所述ip头部将所述加密消息转发至所述目的区块链节点。
19.根据本说明书一个或多个实施例的第五方面,提出了一种基于区块链中继通信网络系统的消息传输系统,所述区块链中继通信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述系统包括:
20.所述源区块链节点,用于基于所述共享密钥对明文信息加密以获取加密信息,为所述加密信息封装ip头部以生成加密消息,并将所述加密消息发送至所述区块链中继通信网络系统;
21.所述区块链中继通信网络系统,用于基于所述ip头部将所述加密消息转发至所述目的区块链节点;
22.所述目的区块链节点,用于基于所述共享密钥对所述加密消息解密以获取所述明文信息。
23.根据本说明书一个或多个实施例的第六方面,提出了一种基于区块链中继通信网络系统的消息传输装置,应用于源区块链节点,所述区块链中继通信网络系统分别与所述
源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述装置包括:
24.明文信息加密单元,用于基于所述共享密钥对明文信息加密以获取加密信息;
25.加密消息生成单元,用于为所述加密信息封装ip头部以生成加密消息;
26.加密消息发送单元,用于将所述加密消息发送至所述区块链中继通信网络系统,所述区块链中继通信网络系统用于基于所述ip头部将所述加密消息转发至所述目的区块链节点。
27.根据本说明书一个或多个实施例的第七方面,提出了一种基于区块链中继通信网络系统的消息传输装置,应用于目的区块链节点,所述区块链中继通信网络系统分别与源区块链节点和所述目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述装置包括:
28.第一加密消息接收单元,用于接收所述区块链中继通信网络系统基于加密消息的ip头部转发至所述目的区块链节点的所述加密消息,所述加密消息由所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装所述ip头部以生成;
29.加密消息解密单元,用于基于所述共享密钥对所述加密消息解密以获取所述明文信息。
30.根据本说明书一个或多个实施例的第八方面,提出了一种基于区块链中继通信网络系统的消息传输装置,应用于所述区块链中继通信网络系统,所述区块链中继通信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述装置包括:
31.第二加密消息接收单元,用于接收所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装ip头部以生成的加密消息;
32.加密消息转发单元,用于基于所述ip头部将所述加密消息转发至所述目的区块链节点。
33.根据本说明书一个或多个实施例的第九方面,提出了一种电子设备,包括:
34.处理器;
35.用于存储处理器可执行指令的存储器;
36.其中,所述处理器通过运行所述可执行指令以实现如第一至第四方面中任一项所述的方法。
37.根据本说明书一个或多个实施例的第十方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一至第四方面中任一项所述方法的步骤。
38.在本说明书实施例中,源区块链节点与目的区块链节点通过区块链中继通信网络系统相连,源区块链节点与目的区块链节点同属于一个区块链节点组,共同维护有相同的共享密钥,这使得源区块链节点在需要向目的区块链节点发送明文信息时可以利用共享密钥进行加密,确保了系统的机密性,又由于区块链中继通信网络中的所有中继节点均未维
护有该共享密钥,这使得中继网络系统中的中继节点无法通过解密直接获取明文信息,从而避免明文信息在途径区块链中继通信网络系统的过程中被暴露,增强了区块链节点之间通信的安全性。另外,区块链中继通信网络系统在获取到加密消息后无需进行复杂的解封装或解析过程,而是可以在网络层基于加密消息的ip头部直接实现转发,整个从源区块链节点到目的区块链节点的数据传递过程没有增加额外的计算开销,实现了高效的数据传递。
附图说明
39.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
40.图1是一示例性实施例提供的一种区块链节点通过区块链中继通信网络系统进行交互的场景示意图。
41.图2是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输方法的流程图。
42.图3是一示例性实施例提供的另一种基于区块链中继通信网络系统的消息传输方法的流程图。
43.图4是一示例性实施例提供的又一种基于区块链中继通信网络系统的消息传输方法的流程图。
44.图5是一示例性实施例提供的再一种基于区块链中继通信网络系统的消息传输方法的流程图。
45.图6是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输方法的交互流程图。
46.图7是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输系统的架构示意图。
47.图8是一示例性实施例提供的一种设备的结构示意图。
48.图9是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输装置的框图。
49.图10是一示例性实施例提供的另一种基于区块链中继通信网络系统的消息传输装置的框图。
50.图11是一示例性实施例提供的又一种基于区块链中继通信网络系统的消息传输装置的框图。
具体实施方式
51.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于
本说明书保护的范围。
52.本说明书实施例所涉及的区块链中继通信网络系统是指面向区块链实时传输的骨干中继通信网络系统,也可称为区块链中继通信网络,区块链中继通信网络外部对接的终端为区块链网络中的区块链节点,上述区块链网络的类型可以包括公有链、私有链和联盟链等。譬如,应用于公有链的区块链中继通信网络主要包括falcon、fast bitcoin relay network(fbrn)、fast internet bitcoin relay engine(fibre)等,而应用于联盟链的区块链中继通信网络主要包括bloxroute、blockchain transmission network(btn)等。本说明书并不限制所采用的区块链中继通信网络。
53.当区块链节点之间在基于p2p技术进行端到端直连时,可以使用tls(transport layer security,传输层安全协议)实现加密通信。例如,当区块链节点node 1需要向区块链节点node 2发送区块链消息时,node 1作为源区块链节点,而node 2作为目的区块链节点。node1与node 2之间可以基于tls协议进行密钥协商,从而基于协商出的传输密钥在该node 1与node 2之间建立起tls链路。那么,区块链消息在该tls链路内部传输时都处于密文状态(由上述的传输密钥加密),仅由持有该传输密钥的node 1与node 2能够解密出相应的消息明文。
54.但是,当区块链节点之间通过区块链中继通信网络进行通信时,情况则有所不同。假定node a对接区块链中继通信网络中的中继节点1。虽然可以通过在node 1与中继节点1之间建立tls链路,使得区块链消息在该tls链路内部传输时均处于密文状态,但是由于传输密钥是在node 1与中继节点1之间协商得到,所以中继节点1能够通过该传输密钥对收到的消息密文进行解密,使得消息明文被暴露给区块链中继通信网络。
55.以图1为例,图1是一示例性实施例提供的一种区块链节点通过区块链中继通信网络系统进行交互的场景示意图。如图1所示,区块链中继通信网络系统中包含有三个中继节点,分别为中继节点a、中继节点b和中继节点c,假设中继节点a与区块链节点node a通过tls链路1相连接,中继节点b与区块链节点node b通过tls链路2相连接,中继节点b还与区块链节点node d通过tls链路3相连接,中继节点c与区块链节点node c通过tls链路4相连接。而在区块链中继系统网络系统内部,中继节点a、中继节点b和中继节点c三者通过高速链路(大带宽、低延迟的非加密链路)彼此两两相互连接。由于作为区块链中继通信网络内部的中继节点与作为区块链中继通信网络外部终端的区块链节点之间建立有tls链路,因此在tls链路的传输过程中,即使消息被攻击者截获,由于攻击者未参与该加密链路对应密钥的密钥协商过程,因此攻击者无法解密得到加密前的消息。但对于中继节点而言,由于其参与了密钥协商过程,因此能够解密以获取区块链节点在通过加密链路对应的密钥进行加密前的消息,那么在区块链节点之间直接传输明文信息且区块链中继通信网络系统被攻击者控制的情况下,将导致大规模的数据泄露,带来极大的安全隐患。另外,tls链路的性质要求中继节点对从区块链节点接收到的加密后的消息进行多层解封装、解密并进一步封装后才能再用于转发,不利于进行高效的数据传递。
56.为消除上述安全隐患,一种常规的做法是在源区块链节点与目的区块链节点的应用层使用非对称加密的方式进行消息的保护,但这种方式增加了额外的计算开销,不利于高效的数据传递,违背了区块链中继通信网络加速数据传递过程的初衷。
57.因此,为了消除安全隐患的同时实现高效的数据传递,本说明书提出了一种基于
区块链中继通信网络系统的消息传输方案,通过仅在区块链节点组内部共享的共享密钥对明文信息进行加密,使源区块链节点与目的区块链节点在进行数据传递时能够避免向区块链中继通信网络系统暴露明文信息,增强了区块链节点之间通信的安全性,同时整个数据传递过程没有增加额外的计算开销,实现了高效的数据传递。
58.下面结合图2对本说明书涉及的基于区块链中继通信网络系统的消息传输方法进行详细说明。图2是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输方法的流程图,其中,所述区块链中继通信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
59.s202:所述源区块链节点基于所述共享密钥对明文信息加密以获取加密信息,为所述加密信息封装ip头部以生成加密消息,并将所述加密消息发送至所述区块链中继通信网络系统。
60.在本说明书实施例中,源区块链节点对明文信息进行加密并封装ip头部的操作均是基于网络层协议实现的,即所述明文信息具体是指包含ip头部的网络层ip报文或去掉ip头部的网络层ip报文,该明文信息在包含ip头部的情况下可以直接在网络层实现转发。而无论明文信息是否包含ip头部,其被加密得到的加密信息都不存在ip头部,因此为了能够使加密信息能够在网络层被正确转发至目的区块链节点,需要为加密信息封装ip头部以生成加密消息。
61.在所述明文信息包含有原始报文对应的原始ip头部的情况下,所述ip头部基于区块链中继通信网络系统的网络信息所创建。本说明书实施例涉及的原始报文属于上述的包含ip头部的网络层ip报文,原始报文对应的原始ip头部中包含的源ip地址为源区块链节点的ip地址,而原始ip头部中包含的目的ip地址为目的区块链节点对应的ip地址。本说明书实施例中,如果包含原始ip头部的原始报文作为明文信息被整体加密为加密信息,那么源区块链节点为加密信息所重新封装的ip头部需要参考区块链中继网络系统的网络信息。例如,当区块链中继通信网络系统包括与源区块链节点相连的源中继节点、与目的区块链节点相连的目的中继节点的情况下,可以将重新封装的ip头部中的源ip地址设置为源中继节点的ip地址,将重新封装的ip头部中的目的ip地址设置为目的区块链节点的ip地址,从而使加密消息在区块链中继通信网络系统中转发时向区块链中继通信网络系统隐藏源区块链节点的ip地址,起到一定的信息保护的作用。
62.在所述明文信息包含有原始报文对应的原始ip头部的情况下,具体可以采用隧道模式的ipsec esp(internet protocol security,互联网安全协议;encapsulation security protocol,封装安全协议)协议实现。在隧道模式的ipsec esp下,源区块链节点首先确定与目的区块链节点所同属的区块链节点组,获取该区块链节点组对应的共享密钥并基于该共享密钥对原始报文进行加密以获取得到加密信息,为加密信息分别封装一个esp头部和一个esp尾部,其中,esp头部携带有对应于该区块链节点组的spi(security parameters index,安全参数索引),esp尾部包括一些填充数据以及填充数据对应的填充长度等信息,此时得到的由esp头部、加密信息和esp尾部共同构成的结构体称为enchilada(认证区结构体)。源区块链节点进一步对该认证区结构体计算哈希摘要,并将该哈希摘要
封装在认证区结构体的尾部,最后在此基础上为包含哈希摘要的认证区结构体封装一个新的ip头部以生成加密消息。新的ip头部里的目的ip地址、源ip地址可以与原始ip头部中的目的ip地址、源ip地址相同或不同,新的ip头部中包含的协议类型为50,说明它里面装的是一个ipsec报文。
63.在所述明文信息为去除所述原始ip头部的所述原始报文的情况下,所述ip头部为所述原始ip头部。本说明书实施例中,如果原始报文被去除原始ip头部后作为明文信息被加密为加密信息,那么源区块链节点为加密信息所重新封装的ip头部则可以设置为原始ip头部。具体而言,可以采用传输模式的ipsec esp协议来实现本说明书实施例。在传输模式的ipsec esp协议下,源区块链节点首先确定与目的区块链节点所同属的区块链节点组,获取该区块链节点组对应的共享密钥并基于该共享密钥对去除原始ip头部的原始报文进行加密以获取得到加密信息,与隧道模式的ipsec esp协议类似,为加密信息分别封装一个esp头部和一个esp尾部以生成认证区结构体,将该认证区结构体对应的哈希摘要封装在该认证区结构体的尾部,同时将原始ip头部封装在该认证区结构体的首部以生成加密消息。
64.如前所述,本说明书实施例所涉及的所述加密消息可以基于ipsec esp协议生成,具体包括传输模式的ipsec esp协议或隧道模式的ipsec esp协议,从而在数据传递的过程中兼顾了数据完整性、防重放攻击等特性。
65.源区块链节点在生成包含有ip头部的加密消息后,就可以将所述加密消息发送至所述区块链中继通信网络系统,以使中继通信网络系统基于该ip头部对所述加密消息进行转发,并使其最终路由至目的区块链节点。
66.在本说明书实施例中,作为区块链中继通信网络系统外部终端的区块链节点,可以按照区块链节点组的群组管理方式进行管理,从而使得处于同一区块链节点组中的各个区块链节点维护有相同的共享密钥。例如,若干个区块链节点可以事先通过组密钥协商来维护共同的共享密钥,从而基于线上协商的方式共同组织成为一个区块链节点组;或者,若干个区块链节点在线下被手动录入了相同的密钥作为共享密钥,从而基于线下录入的方式共同组织成为一个区块链节点组;或者,若干个区块链节点所处的节点设备绑定有相同的密钥,那么这若干个区块链节点会从自身所处节点设备上读取得到该相同的密钥并作为共享密钥,从而基于设备绑定的方式共同组织成为一个区块链节点组。区块链节点组内的区块链节点在进行相互通信的过程中,首先会根据共同维护的共享密钥对明文信息进行加密以获得加密信息,然后为所述加密信息封装ip头部以生成加密消息,最后再对加密消息进行传输,由此以来,无论加密消息在传输过程中经过任何处理、或者被攻击者所窃取,由于共享密钥仅被同一区块链节点组内的区块链节点所维护,因此从理论上排除了数据传递过程中明文信息被暴露的可能性。本说明书实施例所涉及的共享密钥为对称密钥,因此,在区块链节点接收到来自与其属于同一区块链节点组内的其他区块链节点的加密消息时,可以直接基于共享密钥进行解密以获取明文信息。
67.在本说明书实施例中,同一个区块链节点可以同时隶属于多个不同的区块链节点组,因而对于任一区块链节点而言,其本地可以分别维护有自身共同所属的多个区块链节点组的成员列表及其对应的共享密钥。而在源区块链节点需要向目的区块链节点传输数据的情况下,源区块链节点首先通过在本地查找预先维护的至少一个区块链节点组,并确定自身与目的区块链节点共同所属的区块链节点组(可能有多个),然后基于本地维护的该共
同所属的区块链节点组对应的共享密钥对明文信息进行加密以获取加密信息,再进一步封装ip头部以生成加密消息,从而使得目的区块链节点在接收到该加密消息后能够基于该区块链节点组的共享密钥从中解密得到明文信息。
68.s204:所述区块链中继通信网络系统基于所述ip头部将所述加密消息转发至所述目的区块链节点。
69.在本说明书实施例中,区块链中继通信网络系统分别与源区块链节点和目的区块链节点通过非加密链路相连,这意味着区块链中继通信网络系统中的中继节点不需要承担对加密消息的解密工作,而只需要解封装至网络层后,基于ip头部中的目的ip地址(即目的区块链节点的ip地址)对加密消息进行转发,从而使得加密消息在区块链中继网络系统内部实现了高效的数据传递。
70.在本说明书实施例中,所述区块链中继通信网络系统为一个中继节点;或者,
71.所述区块链中继通信网络系统包括源中继节点和目的中继节点,所述源中继节点与源区块链节点相连,所述目的中继节点与目的区块链节点相连,所述区块链中继通信网络系统基于所述ip头部将所述加密消息转发至所述目的区块链节点,包括:
72.所述源中继节点将从所述源区块链节点接收的所述加密消息发送至所述目的中继节点;
73.所述目的中继节点将所述加密消息发送至所述目的区块链节点。
74.在本说明书实施例中,区块链中继通信网络系统可以包括至少一个中继节点,而在只有一个中继节点的情况下,该中继节点同时与源区块链节点和目的区块链节点分别建立有连接;而在区块链中继通信网络系统包括有源中继节点与目的中继节点在内的至少两个中继节点的情况下,所述源中继节点与所述源区块链节点相连接,所述目的中继节点与所述目的区块链节点相连接,而区块链中继通信网络系统内部的中继节点之间也会通过高速链路(大带宽、低延迟的非加密链路)相连接,因此,加密消息可以在区块链中继通信网络系统中通过高速链路进行路由转发,期间各中继节点不涉及除为加密消息进行转发路由以外的计算过程,从而使得加密消息被高效转发至目的中继节点。
75.s206:所述目的区块链节点基于所述共享密钥对所述加密消息解密以获取所述明文信息。
76.如前所述,由于目的区块链节点与源区块链节点处于同一区块链节点组,同时维护有相同的共享密钥,因此,在目的区块链节点接收到区块链中继通信网络系统发送的加密消息的情况下,可以基于所述共享密钥对所述加密消息进行解密以最终获取明文信息,至此实现基于区块链中继通信网络系统的消息传输方案的全流程。
77.在源区块链节点基于ipsec esp协议生成加密消息的情况下,目的区块链节点也需要基于ipsec esp协议对加密消息进行处理。例如,在隧道模式的ipsec esp下,目的区块链节点接收到加密消息后检查其ip头部中的协议类型为50,故知道这是一个ipsec包。于是,目的区块链节点首先对加密信息包含的认证区结构体进行哈希运算以获得一个哈希摘要,将其与加密消息尾部的哈希摘要进行比对,在比对一致的情况下确认该加密消息中的认证区结构体未被篡改。然后,目的区块链节点进一步查看认证区结构体中的esp头部,通过esp头部包含的spi决定接下来所需使用sa(security assist,安全关联策略),由于在spi对应于源区块链节点与目的区块链节点共同所属的区块链节点组,因此目的区块链节
点因此检索得到该区块链节点组对应的本地预先存储的sa,并从中获取该区块链节点组对应的共享密钥以及对应的解密方式。将认证区结构体去除esp头部和esp尾部后得到加密信息,按照检索得到的sa中的解密方式与共享密钥对加密信息进行解密以获取明文信息,该明文信息仍然包含有一个原始ip头部,目的区块链节点还可以根据得到的原始ip头部对该明文信息进行进一步转发。
78.在传输模式的ipsec esp下,目的区块链节点接收到加密消息后检查其ip头部中的协议类型为50,故知道这是一个ipsec包。于是,与隧道模式的ipsec esp类似,目的区块链节点首先对加密信息包含的认证区结构体进行哈希运算以获得一个哈希摘要,将其与加密消息尾部的哈希摘要进行比对,在比对一致的情况下确认该加密消息中的认证区结构体未被篡改。然后,目的区块链节点进一步查看认证区结构体中的esp头部,通过esp头部包含的spi在本地检索得到对应的共享密钥以及对应的解密方式。将认证区结构体去除esp头部和esp尾部后得到的加密信息按照对应的解密方式和共享密钥进行解密以获取明文信息,该明文信息中不包含其他ip头部。
79.在本说明书实施例中,源区块链节点与目的区块链节点通过区块链中继通信网络系统相连,源区块链节点与目的区块链节点同属于一个区块链节点组,共同维护有相同的共享密钥,这使得源区块链节点在需要向目的区块链节点发送明文信息时可以利用共享密钥进行加密,确保了系统的机密性,又由于区块链中继通信网络中的所有中继节点均未维护有该共享密钥,这使得中继网络系统中的中继节点无法通过解密直接获取明文信息,从而避免明文信息在途径区块链中继通信网络系统的过程中被暴露,增强了区块链节点之间通信的安全性。另外,区块链中继通信网络系统在获取到加密消息后无需进行复杂的解封装或解析过程,而是可以在网络层基于加密消息的ip头部直接实现转发,整个从源区块链节点到目的区块链节点的数据传递过程没有增加额外的计算开销,实现了高效的数据传递。
80.可选的,所述共享密钥通过所述区块链节点组中的各区块链节点进行组密钥协商以维护于所述各区块链节点。在本说明书实施例中,同属于一个区块链节点组中的各区块链节点通过事先进行组密钥协商实现共同维护有共享密钥。组密钥协商不同于两个对等体之间的端到端的密钥协商,而是指至少三个对等体之间的密钥协商,其目的在于通过线上交互的方式,使至少三个对等体共同维护有相同的共享密钥,同时避免该共享密钥泄露给除是所述至少三个对等体以外的第三方。本说明书实施例所涉及的端到端的密钥协商对应的协议可以包括tls协议、ike(internet key exchange,网络密钥交换协议)协议、dh(diffie-hellman)密钥交换协议等,本说明书对此并不做限制。
81.可选的,所述区块链节点组中的各区块链节点进行组密钥协商,包括:所述区块链节点组中的主节点分别与所述区块链节点组中除所述主节点以外的其他区块链节点通过密钥协商以共同维护所述共享密钥。在本说明书实施例中,提供了一种组密钥协商的方法,在该方法中,首先需要在区块链节点组中确定一个主节点作为组密钥协商的主持者,然后,主节点会与所述区块链节点组中除所述主节点以外的其他区块链节点(从节点)分别进行端到端的密钥协商。例如在图1所示的场景,假设node a作为主节点且希望组建一个包含node a、node b与node c的区块链节点组,那么node a可以依次或同时分别与node b和node c进行密钥协商,并且使node b在密钥协商后所维护的共享密钥与node c在密钥协商
后所维护的共享密钥相同,同时node a自身也会维护有该共享密钥,从而最终使得node a、node b与node c维护有相同的共享密钥,从而共同参与组成一个新的区块链节点组。
82.可选的,所述主节点与所述其他区块链节点中的任一区块链节点(从节点)进行密钥协商,包括:所述主节点与所述任一区块链节点通过dh密钥交换协议生成并维护所述共享密钥;或者,所述主节点与所述任一区块链节点通过dh密钥交换协议共同维护会话密钥,并将所述主节点生成的所述共享密钥基于所述会话密钥加密后发送至所述任一区块链节点,所述任一区块链节点用于将加密后的所述共享密钥基于所述会话密钥进行解密以获取所述共享密钥。在本说明书实施例中,主节点在与任一从节点进行密钥协商时,都可以直接或间接基于dh密钥交换协议来实现共同维护相同的共享密钥,dh密钥交换协议是一类在不安全网络中生成对称密钥的方案,其主要通过两个密钥协商方之间相互公开生成元和可公开计算值的方式,使每一密钥协商方都能计算出只有密钥协商方才能获知的相同的密钥种子,从而进一步基于相同的密钥种子生成并维护相同的对称密钥。
83.在一实施例中,主节点与从节点之间可以将彼此之间通过dh密钥交换协议直接生成的密钥作为共享密钥,从而使得主节点与该从节点之间维护相同的共享密钥,但由于每次通过dh密钥交换协议得到的共享密钥是不确定的,因此为了确保主节点与其他所有从节点均维护有相同的共享密钥,这种直接通过dh密钥协商协议来直接生成共享密钥的做法通常只会用在主节点进行组密钥协商过程中与第一个从节点进行密钥协商时,而后续则需要采用其他方式来确保所有从节点均能维护相同的共享密钥。
84.在另一实施例中,主节点与从节点之间可以首先将dh密钥交换协议直接生成的密钥作为会话密钥,以用于后续进行加密通信,此时主节点就能够将随机生成的对称密钥作为共享密钥(或与第一个从节点通过密钥协商生成的共享密钥)并通过会话密钥加密后发送给从节点,从而使得从节点根据自身维护的会话密钥解密得到共享密钥,并且由于dh密钥交换协议直接生成的会话密钥并不直接作为共享密钥,而是作为构建加密通信的基础,这使得区块链节点组中的每个从节点均可通过该方式维护相同的共享密钥,从而最终实现组密钥协商。
85.可选的,所述共享密钥和/或所述会话密钥记录在所述主节点与所述任一区块链节点维护的安全关联策略中。为了区分不同的加密策略,同时有效地安排密钥协商的流程,因此需要对不同类型的消息施加以不同的安全关联策略,以使其按照规定的方式进行加密,本说明书实施例所涉及的安全关联策略具体是指ike协议中的sa(security assist),不同sa可以通过待处理消息上的spi(security parameters index,安全参数索引)字段进行索引。例如,用于进行密钥协商的消息(如dh密钥协商过程中发送的消息)就可以被设置为通过会话密钥进行加密,因此这类消息对应的报文上的spi字段将指向使用会话密钥进行加解密的安全关联策略;而用于进行普通通讯的消息就可以被设置为通过共享密钥进行加密,因此这类消息对应的报文上的spi字段将指向使用相应区块链节点组对应的共享密钥进行加解密的安全关联策略。
86.可选的,所述主节点与所述其他区块链节点中的任一区块链节点(从节点)进行密钥协商,包括:所述主节点生成所述共享密钥,并将所述共享密钥基于所述任一区块链节点的公钥加密得到的密文密钥发送至所述任一区块链节点;所述任一区块链节点将所述密文密钥基于所述任一区块链节点的私钥进行解密以获取所述共享密钥。在本说明书实施例
中,通过非对称加密特性来实现主节点与从节点之间密钥协商的工作,同时避免在密钥协商的过程中向其他第三方泄露共享密钥,从而在进一步实现组密钥协商。
87.可选的,还包括:所述其他任一区块链节点将所述共享密钥基于所述主节点公钥加密后返回所述主节点;所述主节点在基于所述主节点的私钥对从所述其他任一区块链节点获取的加密后的所述共享密钥进行解密得到所述共享密钥的情况下,确定与所述其他任一区块链节点的密钥协商已完成。在从节点解密得到共享密钥后,虽然客观上主节点与从节点此刻均已维护有相同的共享密钥,但主节点其实在未接收到相关证明的情况下无法确定从节点已经维护有共享密钥,因此为了使主节点能够确定参与某一次密钥协商的从节点确实已经获取了共享密钥,可以让从节点在解密得到共享密钥后,进一步使用主节点的公钥进行加密后返回至主节点,而主节点解密得到共享密钥后,便可以确定该从节点已经成功获取共享密钥,从而方便安排进行后续的密钥协商任务,或确定组密钥协商已经完成(在确定区块链节点组中所有从节点均维护有共享密钥的情况下)。
88.可选的,还包括:所述主节点基于所述主节点的私钥为所述密文密钥生成数字签名,并将所述数字签名发送至所述任一区块链节点;所述任一区块链节点基于所述主节点的公钥对所述数字签名进行验签,在验签成功的情况下确定所述密文密钥来源于所述主节点。在本说明书实施例中,为了使从节点能够验证主节点的身份,防止其他第三方假冒主节点与从节点进行密钥验证,可以利用数字签名技术,使主节点对密文密钥进行数字签名,而后从节点对数字签名进行验签,并在验签成功的情况下确定密文密钥来源的合法性,同时还可以确保密文密钥在传输过程中未被篡改。
89.可选的,所述各区块链节点分别与所述区块链中继通信网络系统中至少一个中继节点相连,所述各区块链节点在进行组密钥协商时所需交互的至少部分协商消息经由与所述区块链中继通信网络系统实现转发。本说明书实施例中,在区块链节点组中的区块链节点之间通过共享密钥进行消息加密传输之前,其彼此之间在进行组密钥协商时也需要互相发送一些协商消息,例如dh密钥协商协议中的生成元以及可公开计算值,或者非对称加密方式中的密钥密文,而这些协商消息中至少部分可以通过区块链中继通信网络系统实现转发,由于区块链中继通信网络系统通常具有较高的消息传输效率,从而加快了组密钥协商的效率。当然,上述各区块链节点在进行组密钥协商时所需交互的协商消息也可以直接走区块链中继通信网络系统之外的其他专线或公网;或者,这些协商消息一部分通过区块链中继通信网络系统进行转发,另一部分通过其他专线或公网进行转发。
90.在本说明书实施例中,所述源区块链节点与所述目的区块链节点处于相同的区块链网络或不同的区块链网络。需要指出的是,区块链节点组与区块链网络之间并非同一概念,这意味着,同属于一个区块链节点组中的区块链节点成员并非一定处于同一区块链网络中,同一区块链网络中的各区块链节点也不一定处于同一区块链节点组中,本说明书实施例所涉及的区块链节点组其初衷在于实现区块链节点组内成员的安全通信,这不仅可以适应区块链网络内部各区块链节点针对交易共识、区块同步的链内交互需求(通过将统同一区块链网络中的所有区块链节点设置为同一区块链节点组),也可以适应不同区块链网络中的区块链节点之间的跨链交互需求(通过将处于不同区块链网络中的区块链节点设置为同一区块链节点组)。在所述源区块链节点与所述目的区块链节点处于不同的区块链网络的情况下,所述源区块链节点所处的源区块链网络与所述目的区块链节点所处的目的区
块链网络同构或异构,区块链节点组中的区块链节点并不被要求需要具有相同的区块链架构,即一个区块链节点组中各区块链节点所涉及的多个区块链网络并非一定要求同构,具有相同的区块链协议、共识协议等,涉及的多个区块链网络之间也可以是异构的。
91.需要说明的是,狭义上的异构区块链,通常是指在区块链上流通的价值存在明显差异;也即,所流通的价值存在明显差异的两个区块链之间,通常可以称之为异构区块链。比如,比特币网络和以太坊就是狭义上的异构区块链。
92.而广义上的异构区块链,是指区块链的类型和/或采用的区块链协议存在明显差异;也即,区块链的类型和/或采用的区块链协议存在明显的两个区块链之间,通常也可以称之为异构区块链。比如,蚂蚁区块链(ant chain)和hyperledger fabric区块链就是广义上的异构区块链。
93.本说明书实施例所涉及的基于区块链中继通信网络系统的消息传输方法可以基于网络层协议实现,例如该网络层协议可以是ipsec(internet protocol security,互联网安全协议),具体为ipsec esp协议。由于基于共享密钥的加解密过程、ip头部的封装过程均发生在网络层,故相较于应用层协议、传输层协议或tls协议,本说明书实施例中的区块链中继通信网络系统无需对转发报文(即加密消息)进行深度解封装和解析,而只需要解封装至网络层后直接基于ip头部进行转发,对转发效率具有较小的性能损耗。同时,由于网络层中加密的对象为ip报文,而应用层协议中加密的对象为应用程序定义的数据结构体,因此网络层协议相较于应用层协议而言,其加密范围(包含应用层封装、传输层封装等)更大,具有更强的数据保护能力。
94.图3是一示例性实施例提供的另一种基于区块链中继通信网络系统的消息传输方法的流程图。如图3所示,该方法应用于源区块链节点,所述区块链中继通信网络系统分别与所述源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
95.s302:基于所述共享密钥对明文信息加密以获取加密信息。
96.s304:为所述加密信息封装ip头部以生成加密消息。
97.s306:将所述加密消息发送至所述区块链中继通信网络系统,所述区块链中继通信网络系统用于基于所述ip头部将所述加密消息转发至所述目的区块链节点。
98.图4是一示例性实施例提供的又一种基于区块链中继通信网络系统的消息传输方法的流程图。如图4所示,该方法应用于目的区块链节点,所述区块链中继通信网络系统分别与源区块链节点和所述目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
99.s402:接收所述区块链中继通信网络系统基于加密消息的ip头部转发至所述目的区块链节点的所述加密消息,所述加密消息由所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装所述ip头部以生成。
100.s404:基于所述共享密钥对所述加密消息解密以获取所述明文信息。
101.图5是一示例性实施例提供的再一种基于区块链中继通信网络系统的消息传输方法的流程图。如图5所示,该方法应用于所述区块链中继通信网络系统,所述区块链中继通
信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述方法包括:
102.s502:接收所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装ip头部以生成的加密消息。
103.s504:基于所述ip头部将所述加密消息转发至所述目的区块链节点。
104.图6是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输方法的交互流程图。图6是基于图1所示的场景中node a、中继节点a、中继节点b和node b之间的相互配合实现,假设node a为源区块链节点,且node a本地维护有一个成员同时包含有node a与node b的区块链节点组对应的共享密钥key_1,假设node b为目的区块链节点,且node b本地也维护有共享密钥key_1,另外,区块链中继通信网络系统中作为源中继节点的中继节点a与node a相连接,区块链中继通信网络系统中作为目的中继节点的中继节点b与node b相连接,而中继节点a与中继节点b之间通过高速链路相连接。下面以图1中node a经由区块链中继通信网络系统中的中继节点a与中继节点b向node b发送明文信息为例,对本说明书基于区块链中继通信网络系统的消息传输的方案进行详细说明。请参考图6,该方法包括以下步骤:
105.s601:node a在本地查找与node b同属的区块链节点组,同时确定同属的区块链节点组对应的共享密钥key_1,并基于共享密钥key_1对原始信息original_msg加密同时封装新的ip头部得到加密消息encrypted_msg,其中,新封装的ip头部中的源ip地址为中继节点a的ip地址,目的ip地址为node b的ip地址。
106.s602:node a将encrypted_msg发送至中继节点a。
107.s603:中继节点a接收到encrypted_msg后,基于其ip头部中的目的ip地址(node b的ip地址),查找本地路由表,发现下一跳为中继节点b,于是将encrypted_msg直接通过彼此相连接的高速链路发送至中继节点b,当然,也可以根据其他路由策略(例如支持负载均衡)将encrypted_msg经由中继节点c转发至中继节点b。
108.s604:中继节点b接收到封装有encrypted_msg后,通过其ip头部确定其所需发往的目的地为node b,而中继节点b自身也具有通向node b的路由信息,于是中继节点b将encrypted_msg进一步转发至node b。
109.s605:node b接收到encrypted_msg后,通过其ip头部发现该加密消息的目的地为自身,于是将ip头部进行解封装,并进一步获取encrypted_msg中用于加解密该加密消息对应的区块链节点组的索引字段(例如spi),node b由此索引到对应的区块链节点组,并使用该区块链节点组对应的共享密钥key_1对encrypted_msg进行解密得到original_msg。
110.图7是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输系统的架构示意图。如图7所示,所述区块链中继通信网络系统702分别与源区块链节点701和目的区块链节点703相连,所述源区块链节点701和所述目的区块链节点703所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统702中的中继节点未维护有所述共享密钥;所述系统包括:
111.所述源区块链节点701,用于基于所述共享密钥对明文信息加密以获取加密信息,为所述加密信息封装ip头部以生成加密消息,并将所述加密消息发送至所述区块链中继通
信网络系统702。
112.所述区块链中继通信网络系统702,用于基于所述ip头部将所述加密消息转发至所述目的区块链节点703。
113.所述目的区块链节点703,用于基于所述共享密钥对所述加密消息解密以获取所述明文信息。
114.可选的,所述区块链中继通信网络系统702为一个中继节点;或者,
115.所述区块链中继通信网络系统702包括源中继节点7021和目的中继节点7022,所述源中继节点7021与源区块链节点701相连,所述目的中继节点7022与目的区块链节点703相连,所述区块链中继通信网络系统702基于所述ip头部将所述加密消息转发至所述目的区块链节点703,包括:
116.所述源中继节点7021将从所述源区块链节点701接收的所述加密消息发送至所述目的中继节点7022;
117.所述目的中继节点7022将所述加密消息发送至所述目的区块链节点703。
118.可选的,所述共享密钥通过所述区块链节点组中的各区块链节点进行组密钥协商以维护于所述各区块链节点。
119.可选的,所述各区块链节点分别与所述区块链中继通信网络系统702中至少一个中继节点相连,所述各区块链节点在进行组密钥协商时所需交互的至少部分协商消息经由所述区块链中继通信网络系统702实现转发。
120.可选的,所述区块链节点组中的各区块链节点进行组密钥协商,包括:
121.所述区块链节点组中的主节点分别与所述区块链节点组中除所述主节点以外的其他区块链节点通过密钥协商以共同维护所述共享密钥。
122.可选的,所述主节点与所述其他区块链节点中的任一区块链节点进行密钥协商,包括:
123.所述主节点与所述任一区块链节点通过dh密钥交换协议生成并维护所述共享密钥;或者,
124.所述主节点与所述任一区块链节点通过dh密钥交换协议共同维护会话密钥,并将所述主节点生成的所述共享密钥基于所述会话密钥加密后发送至所述任一区块链节点,所述任一区块链节点用于将加密后的所述共享密钥基于所述会话密钥进行解密以获取所述共享密钥。
125.可选的,所述共享密钥和/或所述会话密钥记录在所述主节点与所述任一区块链节点维护的安全关联策略中。
126.可选的,所述主节点与所述其他区块链节点中的任一区块链节点进行密钥协商,包括:
127.所述主节点生成所述共享密钥,并将所述共享密钥基于所述任一区块链节点的公钥加密得到的密文密钥发送至所述任一区块链节点;
128.所述任一区块链节点将所述密文密钥基于所述任一区块链节点的私钥进行解密以获取所述共享密钥。
129.可选的,还包括:
130.所述主节点基于所述主节点的私钥为所述密文密钥生成数字签名,并将所述数字
签名发送至所述任一区块链节点;
131.所述任一区块链节点基于所述主节点的公钥对所述数字签名进行验签,在验签成功的情况下确定所述密文密钥来源于所述主节点。
132.可选的,所述源区块链节点701与所述目的区块链节点703处于相同的区块链网络或不同的区块链网络。
133.可选的,在所述源区块链节点701与所述目的区块链节点703处于不同的区块链网络的情况下,所述源区块链节点701所处的源区块链网络与所述目的区块链节点703所处的目的区块链网络同构或异构。
134.可选的,
135.在所述明文信息包含有原始报文对应的原始ip头部的情况下,所述ip头部基于区块链中继通信网络系统702的网络信息所创建;
136.在所述明文信息为去除所述原始ip头部的所述原始报文的情况下,所述ip头部为所述原始ip头部。
137.可选的,所述加密消息基于ipsec esp协议生成。
138.图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他功能所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
139.如图9所示,图9是一示例性实施例提供的一种基于区块链中继通信网络系统的消息传输装置的框图,该装置可以应用于如图8所示的设备中,以实现本说明书的技术方案;所述装置应用于源区块链节点,所述区块链中继通信网络系统分别与所述源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述装置包括:
140.明文信息加密单元901,用于基于所述共享密钥对明文信息加密以获取加密信息。
141.加密消息生成单元902,用于为所述加密信息封装ip头部以生成加密消息。
142.加密消息发送单元903,用于将所述加密消息发送至所述区块链中继通信网络系统,所述区块链中继通信网络系统用于基于所述ip头部将所述加密消息转发至所述目的区块链节点。
143.如图10所示,图10是一示例性实施例提供的另一种基于区块链中继通信网络系统的消息传输装置的框图,该装置可以应用于如图8所示的设备中,以实现本说明书的技术方案;所述装置应用于目的区块链节点,所述区块链中继通信网络系统分别与源区块链节点和所述目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述装置包括:
144.第一加密消息接收单元1001,用于接收所述区块链中继通信网络系统基于加密消
息的ip头部转发至所述目的区块链节点的所述加密消息,所述加密消息由所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装所述ip头部以生成。
145.加密消息解密单元1002,用于基于所述共享密钥对所述加密消息解密以获取所述明文信息。
146.如图11所示,图11是一示例性实施例提供的又一种基于区块链中继通信网络系统的消息传输装置的框图,该装置可以应用于如图8所示的设备中,以实现本说明书的技术方案;所述装置应用于所述区块链中继通信网络系统,所述区块链中继通信网络系统分别与源区块链节点和目的区块链节点相连,所述源区块链节点和所述目的区块链节点所属的区块链节点组中的各区块链节点均维护有相同的共享密钥,且所述区块链中继通信网络系统中的中继节点未维护有所述共享密钥;所述装置包括:
147.第二加密消息接收单元1101,用于接收所述源区块链节点为基于所述共享密钥对明文信息加密获取的加密信息封装ip头部以生成的加密消息。
148.加密消息转发单元1102,用于基于所述ip头部将所述加密消息转发至所述目的区块链节点。
149.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
150.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以
纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
151.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本发明不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
152.虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
153.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
154.本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
155.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
156.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
157.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
158.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
159.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
160.本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
161.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
162.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
163.以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明
书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1