信息生成和传递系统及方法转让专利

申请号 : CN201810770457.9

文献号 : CN109040198B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王占仓钟博

申请人 : 瑞典爱立信有限公司

摘要 :

本发明的实施例提供信息生成和传递系统及方法。信息生成和传递系统包括:主网络以及与主网络分别连接的多个子网络。子网络包括多个对等节点。对等节点被配置为生成信息。子网络被配置为,基于有向无环图,将信息进行链接和存储。子网络还被配置为,将信息传递至主网络。主网络被配置为以区块链的链式数据结构链接和存储信息。对等节点可以用于快速生成信息。使用有向无环图,可以提供多条链接路径,以得到并发的信息处理能力。主网络可以对于来自子网络的信息以区块链的链式数据结构链接和存储,以提高数据的可靠性。

权利要求 :

1.一种信息生成和传递系统,包括:主网络,以及与所述主网络分别连接的多个子网络;其中,所述子网络包括多个对等节点;

所述对等节点被配置为生成所述信息;

所述子网络被配置为,基于有向无环图,将所述信息进行链接和存储;

所述子网络还被配置为,将所述信息传递至所述主网络;

所述主网络被配置为以区块链的链式数据结构链接和存储所述信息;

其中,所述多个子网络被分别布置在多个地理区域。

2.根据权利要求1所述的系统,其中,

所述子网络被配置为:将所述信息在所述多个对等节点之间传递;基于部署在所述子网络的智能合约通过一致性协议来验证所述信息。

3.根据权利要求2所述的系统,其中,

所述一致性协议包括:权益证明(PoS)、委托权益证明(DPoS)、实用拜占庭协议、Gossip传播协议、无冲突复制数据类型(CRDT)、马尔可夫链蒙特卡洛共识(MCMC)中的至少一个。

4.根据权利要求2所述的系统,其中,所述子网络的智能合约经由所述主网络进行部署,并且运行在所述子网络的虚拟机上。

5.根据权利要求2所述的系统,其中,所述子网络被配置为:判断所述信息是否满足预定条件;并且将满足预定条件的信息传输到所述主网络。

6.根据权利要求2所述的系统,其中,所述子网络被配置为:将所述信息传输到所述主网络;并且,所述主网络被配置为判断所述信息是否满足预定条件。

7.根据权利要求5或者6所述的系统,其中,所述主网络被配置为:对于满足预定条件的所述信息,将所述信息添加至所述区块链的链式结构中并在分布式账本中进行存储。

8.根据权利要求7所述的系统,其中,

所述分布式账本的一个数据块包括以下项目中的至少一个:子网络的唯一标识,时间戳,子网络的位置,信息的内容,前一个数据块的公钥,和当前数据块的公钥。

9.根据权利要求5或者6所述的系统,其中,所述信息包括指示紧急事件是否发生的警报信息,并且所述紧急事件包括:地震,火灾,洪水,山体滑坡中的至少一个;

其中,所述预定条件是指所述信息指示紧急事件的发生。

10.根据权利要求1至6中任一项所述的系统,其中,所述对等节点包括传感器,所述传感器被配置为检测环境参数并根据检测结果生成所述信息。

11.根据权利要求10所述的系统,其中,所述环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动特征中的至少一个。

12.根据权利要求1至6中任一项所述的系统,其中,所述对等节点包括用户设备,所述用户设备被配置为通过自动或者手动报告的方式生成所述信息。

13.一种信息生成和传递方法,用于信息生成和传递系统;

其中,所述信息生成和传递系统包括主网络,以及与所述主网络分别连接的多个子网络;其中,所述子网络包括多个对等节点;

所述方法包括:

由所述子网络中的所述对等节点生成所述信息;

由所述子网络基于有向无环图,将所述信息进行链接和存储;

由所述子网络将所述信息传递至主网络;以及由所述主网络以区块链的链式数据结构链接和存储所述信息;

其中,所述多个子网络被分别布置在多个地理区域。

14.根据权利要求13所述的方法,还包括:在所述子网络的所述多个对等节点之间传递所述信息;

基于部署在所述子网络的智能合约通过一致性协议来验证所述信息。

15.根据权利要求14所述的方法,其中,所述一致性协议包括:权益证明(PoS)、委托权益证明(DPoS)、实用拜占庭协议、Gossip传播协议、无冲突复制数据类型(CRDT)、马尔可夫链蒙特卡洛共识(MCMC)中的至少一个。

16.根据权利要求14所述的方法,还包括:经由所述主网络在所述子网络部署智能合约;其中,所述子网络的智能合约运行在所述子网络的虚拟机上。

17.根据权利要求14所述的方法,其中,由所述子网络将所述信息传递至主网络包括:判断所述信息是否满足预定条件;以及

将满足预定条件的信息传输到所述主网络。

18.根据权利要求14所述的方法,还包括:由所述主网络判断所述信息是否满足预定条件。

19.根据权利要求17或者18所述的方法,其中,由所述主网络以区块链的链式数据结构链接和存储所述信息包括:对于满足预定条件的所述信息,将所述信息添加至所述区块链的链式结构中并在分布式账本中进行存储。

20.根据权利要求19所述的方法,其中,所述分布式账本的一个数据块包括以下项目中的至少一个:子网络的唯一标识,时间戳,子网络的位置,信息的内容,前一个数据块的公钥,和当前数据块的公钥。

21.根据权利要求17或者18所述的方法,其中,所述信息包括指示紧急事件是否发生的警报信息,并且所述紧急事件包括:地震,火灾,洪水,山体滑坡中的至少一个;

其中,所述预定条件是指所述信息指示紧急事件的发生。

22.根据权利要求13至18中任一项所述的方法,其中,所述对等节点包括传感器;

由所述子网络中的所述对等节点生成信息包括:由所述传感器被配置为检测环境参数并根据检测结果生成所述信息。

23.根据权利要求22所述的方法,其中,所述环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动中的至少一个。

24.根据权利要求13至18中任一项所述的方法,其中,所述对等节点包括用户设备;

由所述子网络中的所述对等节点生成信息包括:由所述用户设备通过自动或者手动报告的方式生成所述信息。

25.一种对等节点,包括:

存储器;

以及

可操作地耦合到所述存储器的处理器;

其中,所述处理器被配置为执行程序以生成信息,并且基于有向无环图,将所述信息进行链接和存储,其中,所述对等节点被配置为与其它所述对等节点组成多个子网络,其中,所述多个子网络被分别布置在多个地理区域。

26.根据权利要求25所述的对等节点,还被配置为:向其它所述对等节点传递所述信息,以使得所述信息在所述子网络的多个对等节点之间传递;

其中,所述对等节点还被配置为基于智能合约通过一致性协议来验证所述信息。

27.根据权利要求25所述的对等节点,还包括:传感器,其被配置为检测环境参数并根据检测结果生成所述信息。

28.根据权利要求27所述的对等节点,其中,所述环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动中的至少一个。

29.根据权利要求25所述的对等节点,包括:用户设备,其被配置为通过自动或者手动报告的方式生成所述信息。

30.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在至少一个处理器上执行时使所述至少一个处理器执行根据权利要求13至24中任一项所述的方法。

说明书 :

信息生成和传递系统及方法

技术领域

[0001] 本发明涉及通信系统,尤其涉及信息生成和传递系统及方法。

背景技术

[0002] 如何在具有大量通信节点的系统中快速、准确地传递信息始终是研究的课题。在一些情况下,例如当地震,火灾,洪水,山体滑坡等紧急事件发生或即将发生时,信息是否能够快速、准确地在紧急事件相关地区传输会直接影响生命财产的安全。
[0003] 在传统技术中,可以在重点地区布置专业设备或者专业人员进行监测。此外,在紧急情况下的普通人员也可以利用移动通信设备(诸如用户设备(UE)等)提供的紧急呼叫功能,直接向预定的紧急调度台等中央节点报告紧急事件的信息,紧急调度台可以接收大量呼叫以提高信息收集能力和速度。
[0004] 在得知了紧急事件的发生或者即将发生,需要快速传播这样的信息的情况下,一般会使用部署的集中式应急事件广播系统广播消息(例如,通过短消息服务(SMS)等),以通知那些紧急事件发生地周围和/或受此紧急事件影响的人。
[0005] 然而,上述的系统具有下述的问题:首先,专业设备或者专业人员的部署导致了高的成本,难以应用到大的规模。其次,当更多的设备被部署以覆盖大面积时,可能需要巡视和手动测量。自动化程度难以提高,并且可能需要涉及巨大的资源来执行日常的运行过程。然后,由于使用集中管理,响应时间很慢。发生紧急事件时,这可能无法满足快速响应要求。
最后,在中央节点由于某些原因(例如人为因素,地震等事故)而遭到破坏时,广播系统将根本不起作用。
[0006] 传统的信息生成和传递系统及方法存在改进的空间。

发明内容

[0007] 本发明的实施例提供改进的信息生成和传递系统及方法。
[0008] 根据本发明的一个方面,提供了信息生成和传递系统。信息生成和传递系统包括:主网络以及与主网络分别连接的多个子网络。子网络包括多个对等节点。对等节点被配置为生成信息。子网络被配置为,基于有向无环图,将信息进行链接和存储。子网络还被配置为,将信息传递至主网络。主网络被配置为以区块链的链式数据结构链接和存储信息。
[0009] 在本发明的实施例中,子网络被配置为:将信息在多个对等节点之间传递;基于部署在子网络的智能合约通过一致性协议来验证信息。
[0010] 在本发明的实施例中,一致性协议包括:权益证明(PoS)、委托权益证明(DPoS)、实用拜占庭协议、Gossip传播协议、无冲突复制数据类型(CRDT)、马尔可夫链蒙特卡洛共识(MCMC)中的至少一个。
[0011] 在本发明的实施例中,子网络的智能合约经由主网络进行部署,并且运行在子网络的虚拟机上。
[0012] 在本发明的实施例中,子网络被配置为:判断信息是否满足预定条件;并且将满足预定条件的信息传输到主网络。
[0013] 在本发明的实施例中,子网络被配置为:将信息传输到主网络;并且,主网络被配置为判断信息是否满足预定条件。
[0014] 在本发明的实施例中,主网络被配置为:对于满足预定条件的信息,将信息添加至区块链的链式结构中并在分布式账本中进行存储。
[0015] 在本发明的实施例中,分布式账本的一个数据块包括以下项目中的至少一个:子网络的唯一标识,时间戳,子网络的位置,信息的内容,前一个数据块的公钥,和当前数据块的公钥。
[0016] 在本发明的实施例中,多个子网络被分别布置在多个地理区域。信息包括指示紧急事件是否发生的警报信息。紧急事件包括:地震,火灾,洪水,山体滑坡等中的至少一个。预定条件是指信息指示紧急事件的发生。
[0017] 在本发明的实施例中,对等节点包括传感器,传感器被配置为检测环境参数并根据检测结果生成信息。
[0018] 在本发明的实施例中,其中,环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动特征中的至少一个。
[0019] 在本发明的实施例中,其中,对等节点包括用户设备,用户设备被配置为通过自动或者手动报告的方式生成信息。
[0020] 本发明的第二个方面提供信息生成和传递方法,用于信息生成和传递系统。信息生成和传递系统包括主网络,以及与主网络分别连接的多个子网络。子网络包括多个对等节点。该方法包括:由子网络中的对等节点生成信息;由子网络基于有向无环图,将信息进行链接和存储;由子网络将信息传递至主网络;以及由主网络以区块链的链式数据结构链接和存储信息。
[0021] 在本发明的实施例中,该方法还包括:在子网络的多个对等节点之间传递信息。基于部署在子网络的智能合约通过一致性协议来验证信息。
[0022] 在本发明的实施例中,一致性协议包括:权益证明(PoS)、委托权益证明(DPoS)、实用拜占庭协议、Gossip传播协议、无冲突复制数据类型(CRDT)、马尔可夫链蒙特卡洛共识(MCMC)中的至少一个。
[0023] 在本发明的实施例中,经由主网络在子网络部署智能合约。子网络的智能合约运行在子网络的虚拟机上。
[0024] 在本发明的实施例中,由子网络将信息传递至主网络包括:判断信息是否满足预定条件;以及将满足预定条件的信息传输到主网络。
[0025] 在本发明的实施例中,该方法还包括:由主网络判断信息是否满足预定条件。
[0026] 在本发明的实施例中,由主网络以区块链的链式数据结构链接和存储信息包括:对于满足预定条件的信息,将信息添加至区块链的链式结构中并在分布式账本中进行存储。
[0027] 在本发明的实施例中,分布式账本的一个数据块包括以下项目中的至少一个:子网络的唯一标识,时间戳,子网络的位置,信息的内容,前一个数据块的公钥,和当前数据块的公钥。
[0028] 在本发明的实施例中,多个子网络被分别布置在多个地理区域。信息包括指示紧急事件是否发生的警报信息。紧急事件包括:地震,火灾,洪水,山体滑坡等中的至少一个。预定条件是指信息指示紧急事件的发生。
[0029] 在本发明的实施例中,对等节点包括传感器。由子网络中的对等节点生成信息包括:由传感器被配置为检测环境参数并根据检测结果生成信息。
[0030] 在本发明的实施例中,环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动中的至少一个。
[0031] 在本发明的实施例中,对等节点包括用户设备。由子网络中的对等节点生成信息包括:由用户设备通过自动或者手动报告的方式生成信息。
[0032] 根据本发明的第三个方面,提供了对等节点。对等节点,包括:存储器;以及可操作地耦合到存储器的处理器。处理器被配置为执行程序以生成信息,并且基于有向无环图,将所述信息进行链接和存储。对等节点被配置为与其它对等节点组成子网络。
[0033] 在本发明的实施例中,对等节点还被配置为:向其它对等节点传递信息,以使得信息在子网络的多个对等节点之间传递。所述对等节点还被配置为基于智能合约通过一致性协议来验证信息。
[0034] 在本发明的实施例中,还包括:传感器,其被配置为检测环境参数并根据检测结果生成信息。
[0035] 在本发明的实施例中,传感器基于环境参数来检测事件,环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动中的至少一个。
[0036] 在本发明的实施例中,对等节点,包括:用户设备,其被配置为通过自动或者手动报告的方式生成信息。
[0037] 根据本发明的第四个方面,提供了一种计算机可读存储介质。在计算机可读存储介质上存储有计算机程序,计算机程序在至少一个处理器上执行时使至少一个处理器执行如上所述的任一项的方法。
[0038] 在本发明的实施例的信息生成和传递系统及方法中,子网络包括多个对等节点,对等节点可以用于快速生成信息。在子网络中,基于有向无环图,这些采集的信息可以被链接和存储。使用有向无环图,可以提供多条链接路径,以得到并发的信息处理能力,即,子网络中不同的对等节点在相同的时间阶段产生的不同信息可以在子网络中的多条不同链接路径中被并行的处理,而不需要在唯一的链接路径中等待依次处理。主网络可以对于来自子网络的信息以区块链的链式数据结构链接和存储。区块链的链式数据结构具有备份和冗余数量充足、易于检索和查看、以及难以篡改的特性,这可以提高数据的可靠性,并降低维护成本。
[0039] 进一步地,在子网络可以全面地对于采集的信息进行传递和存储的同时,主网络也可以仅仅保留满足预定条件的消息,并将其存储,这可以减少主网络的存储负担。

附图说明

[0040] 为了更清楚地说明本发明的实施例的技术方案,下面将对实施例的附图进行简要说明,应当知道,以下描述的附图仅仅涉及本发明的一些实施例,而非对本发明的限制,其中:
[0041] 图1是示出了根据本发明的实施例的信息生成和传递系统中的数据链接方式的示意性的框图;
[0042] 图2是示出了图1中的主网络10从子网络201,202,203获取数据的示意性的框图;
[0043] 图3是示出了对等节点300产生的信息被认证的过程的示意性的流程图;
[0044] 图4是示出了对等节点300将信息发送到其它对等节点的流程的示例性的示意图;
[0045] 图5是示出了接收到信息的对等节点300转发信息的流程的示例性的示意图;
[0046] 图6是示出了对等节点300的结构的示例性的框图;
[0047] 图7是示出了子网络层次运行的部分计算逻辑的示例性的流程图;
[0048] 图8是示出了主网络层次运行的部分计算逻辑的示例性的流程图。

具体实施方式

[0049] 为了使本发明的实施例的技术方案和优点更加清楚,下面将结合附图,对本发明的实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域技术人员在无需创造性劳动的前提下所获得的所有其他实施例,也都属于本发明保护的范围。
[0050] 图1是示出了根据本发明的实施例的信息生成和传递系统的中的数据链接方式的示意性的框图。如图1所示,根据本发明的一个方面,信息生成和传递系统包括:主网络10以及与主网络10分别连接的多个子网络201,202,203。图中示出了3个子网络的情况,然而,应当理解,子网络的数量是不受限制的,也可以是1个或者是多于1的其它任意数量。
[0051] 作为示例,主网络10可以是任意的计算机网络,例如各种类型的局域网、广域网或者其一部分。此时,主网络10中可以包括多个计算机节点(未图示),例如个人电脑、服务器、或者其它类型的专用计算设备等。这些节点可以以任意的网络拓扑形式相互连接。主网络10可以面向信息生成和传递系统的工作人员,提供人机交互接口,以便于工作人员进行整个系统级别的监控和维护。工作人员可以通过主网络10在子网络201、202、203上部署任意的程序和系统等。
[0052] 子网络可以包括多个对等节点(未图示)。对等节点被配置为生成信息。作为示例,对等节点可以是易于部署的物联网设备,例如,物联网传感器设备,以容易地获取和生成信息。
[0053] 如图1所示,在子网络的层面上,子网络可以被配置为,基于有向无环图,将信息进行链接和存储。如图1所示,数据块300对应着对等节点生成的信息。在传统的计算机网络中,为了存储和处理这些信息,需要使用一个或者数个中央节点,对于信息进行收集,并以规定格式(例如,数据块300)进行验证、排序、存储等处理工作。在本发明的实施例中,使用了图1所示的有向无环图,数据块300不需要集中处理,每当新的信息(即,数据块300)出现后,新的数据块300就将被链接到已经存在于有向无环图中的数据块上。图1中的子网络中,左侧表示原有的数据块,从左到右表示之后依次生成,并被链接到已有的数据块的新增加数据块。这样,当不同的对等节点在相同的时间段产生了不同的信息时,这些不同的信息也可以被链接到有向无环图中不同的分支,方便的信息的处理和存储。此外,这样的数据链接方式也方便于以分布式的方式存储到子网络中的多个节点,以保证数据不容易被篡改,实现去中心化。作为示例,在数据少、或者对等节点的存储能力强时,可以实现所有节点都存储数据的完整备份。此外,当数据较多时,可以仅仅在有足够存储能力的少量节点存储完整数据,而在其它阶段存储数据的校验信息,以在减少存储量的同时,保证数据的可验证。
[0054] 子网络201,202,203还被配置为将信息传递至主网络10。如图1所示,主网络10被配置为以区块链的链式数据结构链接和存储信息。对于来自子网络的信息,主网络10以一定的规则(例如,以预定周期,或者在接收到满足预定条件的消息时)进行收集,并形成预定格式的数据块101,102,103……。每一个数据块101可以包括特定时间阶段的来自所有子网络201,202,203的数据或者是其中一部分的子网络的数据。在主网络10中,与子网络类似,左侧表示原有的数据块,从左到右表示之后依次生成并被链接到已有的数据块的新增加数据块。在主网络10中,以区块链的链式数据结构链接和存储信息。这同样可以实现去中心的目的,区块链的链式数据结构限定了更为严格的数据链接形式,保证了数据的可靠性,并且易于维护。
[0055] 图2是图1中的主网络10从子网络201,202,203获取数据的示意性的框图。如图2所示,作为一个示例,主网络10在第一个时间阶段获取了数据块B1(对应于图1中的数据块101),在第二个时间阶获取了数据块B2(对应于图1中的数据块102),在第三个时间阶获取了数据块B3(对应于图1中的数据块103)。数据块B1、B2、B3可以包括相同或者类似的数据结构,这些数据结构可以包括具体的数据元素D1、D2、……DN,例如,数据元素D1可以表示来自子网络201的数据,数据元素D2可以表示来自子网络202的数据,数据元素D3可以表示来自子网络203的数据。作为示例,数据块的数据元素D1、D2、……DN的任一个都可以包括以下项目:子网络的唯一标识,时间戳,子网络的位置,信息的内容等。此外,任一个数据块B1、B2、B3等,都可以包括前一个数据块的公钥,和当前数据块的公钥等内容。
[0056] 在进行具体的链接时,第一个时间阶段的数据块B1经过预定义的验证运算H1等过程后,与已有的数据序列BS0组合,形成新的数据序列。验证过程可以是Hash值的计算和保存的过程,或者是其它更加复杂的安全算法。按照这样的顺序,第二个时间阶段的数据块B2经过预定义的验证运算H2等过程后,也被链接到数据链上。第三个时间阶段的数据块B3也执行相同的操作。
[0057] 组合得到的数据序列可以使用部署在主网络10的节点中的分布式账本以可检索的方式进行存储。主网络10的节点之间可以共享、复制和同步分布式账本中包含的数据信息,这可以保证主网络10中存储的信息的真实性和可靠性。一旦数据序列被固定并存储在主网络10中,子网络201、202、203,以及主网络10中的任一节点都难以对其进行更改。作为极端的情况考虑,潜在的篡改者将需要同时控制几乎大部分存储分布式账本的节点并同时进行篡改,而该过程在实际应用中是很难实现的,并且被认为是不可能发生的。相对于以中心化的形式存储和管理数据,安全性和可靠性得到了很大的提升,而成本可以得到有效的降低。
[0058] 图1和图2从整体上示出了信息生成和传递系统的数据结构和最终获取的数据序列的简明示例。以下,结合图3至图8,进一步地说明在对等节点300层次,子网络201,202,203层次,以及主网络10层次的与信息相关的处理。信息生成和传递的过程中,在本发明的实施例提供的系统的各个层次,区块链相关的机制能够得到良好的应用。
[0059] 在具体的应用中,子网络201,202,203中的对等节点可能被配置为以预定周期产生大量的信息,例如,对等节点可能是对于环境参数进行实时监测的各种传感器设备。实时监测的过程会产生大量信息,为了减少主网络10的负担,这些信息之中,并不是都需要在网络10存储。因此,子网络201,202,203可以被配置为:判断信息是否满足预定条件;并且将满足预定条件的信息传输到主网络10。或者,所有的信息都可以传递到主网络10,然后由主网络10在存储前判断信息是否满足预定条件。关于上述示例,预定条件可以是监控到的环境参数超出了预定的阈值范围,该阈值范围可以根据真实的环境事件设定。例如,可以使用固定在山体上的运动特征传感器监测该固定位置的山体部分是否产生了运动。阈值范围以外的不正常的运动(加速度、速度)可能预示着山体滑坡的产生。主网络10可以仅仅保留指示了山体滑坡等特定事件的发生的消息,并将其存储,同时忽略指示了正常状态的消息。这可以大大减少主网络10的存储负担。
[0060] 图3是示出了对等节点300产生的信息被认证的过程的示意性的流程图。在图3中,信息以预定格式的消息的形式传递。如图3所示,在步骤S310中,产生信息的对等节点300用私钥对于消息进行签名。在步骤S320中,对等节点300基于预定义的一致性协议(例如,马尔可夫链蒙特卡罗共识(MCMC)),选择和引用两个随机消息(未经确认的消息)作为该消息的分支消息和主干消息。在步骤S330中,对等节点300提供工作量证明,以使得该消息可以被网络接受。在步骤S340中,该消息被广播到整个网络。在步骤S350中,该消息会被其它节点的消息选中并验证,并因此被确认是否可信。
[0061] 参见图1所示的子网络的结构,步骤S340中的广播过程中和步骤S350消息引用与确认过程中,消息可以沿着有向无环图中形成的路径被引用,从而实现链接的过程。在马尔可夫链蒙特卡罗(MCMC)协议中,处理消息的目标是使其成为一个被整个网络接受和确认的共识消息。所有未经确认的消息均间接参考所有共识消息。这意味着每个确认的消息都会有一条从底部到它的路径,并且可以使用MCMC算法轻松计算消息的确认程度。例如,如果MCMC算法执行了N次,则整个网络接受消息的概率是M/N,其中M是可以从图的底部到该消息的节点的数量。设定不同的概率值,可以预定义消息需要被不同节点确定的次数。确认时间和确认效果之间可以具有能够被调整的平衡。有向无环图的结构提供了快速、并发性高的消息传递和认证机制。
[0062] 在本发明的实施例中,根据有向无环图的结构,子网络中存在多条信息链接路径,这提高了信息链接和确认的并发性。即,子网络的结构满足了多个节点的多个消息的同时链接和确认的需求。相比于区块链中的链式数据结构只能顺序依次处理不同消息的设置,子网络中有更多消息被更快地传输和确认。多条路径也更好地防止了节点失效的情况,在排除失效节点而保持网络的完整性方面也更有效率。这在监控紧急事件时是非常有利的。
[0063] 应当理解,其它任意的区块链相关的交易产生及认证机制均可以适用。在本系统中,消息将被作为传统的交易对待,这提高了消息的可靠性。
[0064] 对于一致性协议是没有限制的,例如,上述的一致性协议还可以是:权益证明(PoS)、委托权益证明(DPoS)、实用拜占庭协议、Gossip传播协议、无冲突复制数据类型(CRDT)中的任意一个。基于一致性协议的认证过程可以由部署在子网络的智能合约实现,这可以简化一致性协议的具体实现过程。
[0065] 以下,对于子网络中具体的点对点的信息传输过程进行说明。在对等节点300的层次上,在任一子网络中的对等节点300被配置为生成信息,并向子网络中的其它对等节点300传递信息。
[0066] 图4是示出了对等节点300将信息发送到其它对等节点的流程的示例性的示意图。如图4所示,为了将消息广播到整个网络,对等节点300首先需要将消息发送到其它对等节点。在步骤S410中,对等节点300产生了消息。在步骤S420中,选择随机对等节点作为目标节点。在步骤S430中,向选择的目标节点发送消息。在步骤S440中,判断是否发送成功。作为一个示例,可以通过是否接收到目标节点的应答来判断是否发送成功。如果发送成功,则在步骤S450中,完成本次发送任务,维护当前的数据会话。如果发送失败,在步骤S460中,则判断是否还存在其它候选节点可以作为目标节点。作为一个具体示例,在发送失败后,可以尝试预定次数的再发送过程,如果再发送到达预定次数,则判定为失败。如果没有其它候选节点,在步骤S470中,则反馈请求失败的消息。如果存在其它候选节点可以作为新的目标节点,则重新进行S430,向新的目标节点发送消息。
[0067] 图5是示出了接收到信息的对等节点300转发信息的流程的示例性的示意图。如图5所示,在步骤S501中,本对等节点300接收到消息。在步骤S502中,判断该信息是否由本对等节点发送。该判断可以通过读取消息中的作为发消息者的对等节点编号(ID)而进行。
[0068] 如果是由本节点发送的信息,则在步骤S503中判断是否存在需要对信息进行更新的内容,即判断该信息代表的事件状况是否已经发生了改变。如果不需要更新,则在步骤S504中等待预定时间,并重新广播该消息。如果需要更新,则在步骤S505中,构建具有更新的内容的新消息。然后在步骤S506中,广播新消息,并且重播接收到的原消息。
[0069] 如果不是由本节点发送的消息,则在步骤S507中判断是否被本节点广播过。如果被广播过,则进行步骤S503。如果没有,则在步骤S508中,检测是否存在能够强化该信息的数据。这些数据可以由本节点自主检测而得到。如果不存在这样的数据,则在步骤S509中,直接重新广播该信息。如果存在这样的数据,则在步骤S510中,构建具有强化的内容的新消息。在步骤S511中,广播新消息,并且重播接收的原消息。
[0070] 根据图5的描述可知,接收到信息的对等节点300不仅仅可以转发该消息,并且可以按照预定的逻辑对于该消息进行分析、判断,并生成新的消息。信息生成和传递的系统被良好地去中心化,每一个对等节点300都可以响应于消息,触发预定事件。与消息相关的事件将被更加及时的处理,相关的用户也可以更迅速地得到信息通知,并进行反应。
[0071] 图6是示出了对等节点300的结构的示例性的框图。如图6所示,所述对等节点300包括:存储器601;通信模块602;以及可操作地耦合到存储器601和通信模块602的处理器603。处理器603被配置为执行程序以生成信息,并基于上述的有向无环图将所述信息进行链接和存储。
[0072] 此外,如之前已经描述的,对等节点可以向其它对等节点传递信息,以使得信息在子网络的多个对等节点之间传递。对等节点还可以基于智能合约通过一致性协议来验证所述信息。
[0073] 进一步地,为了生成与真实环境相关的信息,对等节点300还可以包括:传感器604,其被配置为检测事件并根据检测到的事件生成信息。作为一个具体的示例,传感器604基于环境参数来检测事件,环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动等中的至少一个。传感器604可以是物联网(IoT)传感器,这样的对等节点
300可以以较低的成本大量、快速部署,对于大范围区域的环境参数进行监测。物联网(IoT)传感器可以很好地适用于快速部署,并在长时间段内稳定地定期获取监测信息的应用。
[0074] 在本发明的实施例中,对等节点300还可以包括用户界面605,以使得对等节点300也可以被视为专用的用户设备(UE)。用户界面605使得成本略有升高,然而,在特定的节点部署这样的用户设备可以提高系统的可操作性。
[0075] 应当理解,对等节点300同样可以是普通的诸如智能手机的用户设备。这样的对等节点300不具有专用的传感器,但是可以配置为通过自动或者手动报告的方式生成信息。智能手机等用户设备随着用户而移动,可以给更贴近用户的需求,一定程度上弥补了被部署的传感器不容易移动的缺陷。
[0076] 作为一个有利的应用,上述对等节点300组成的多个子网络201,202,203可以被分别布置在多个地理区域。用于获取关于紧急事件的警报信息。紧急事件可以包括:地震,火灾,洪水,山体滑坡等中的至少一个。在本发明的实施例中,对等节点300即可以使用传感器以自动生成上述紧急事件的事件信息,又可以包括用户设备以接收用户报告的信息。传感器可以是容易大量部署、且成本较低的物联网传感器等,而用户设备可以是被大量用户使用的智能手机等。传感器和用户设备的结合可以增强信息的可靠性,并且,当用户设备直接位于子网络中时,它们可以更快地获取在子网络中传递的信息,并将该信息直接呈现给用户,而无需等待任何专门的中央节点对于信息的收集和广播。这在通知用户附近发生的自然灾害时尤其有用。传感器设备自动检测到的自然灾害相关的信息可以在第一时间直接传递到附近的用户,这有利于减少人员和财产损失。
[0077] 图7是示出了子网络层次运行的部分计算逻辑的示例性的流程图。如图7所示,在步骤S710中,由子网络基于智能合约,链接、验证和存储信息。在步骤S720中,判断是否满足预定条件。在步骤S730中,向主网络传递信息。智能合约可以由工作人员经由主网络10部署并在子网络的虚拟机上运行。
[0078] 基于智能合约,子网络层次上的验证结果和判断结果可以是多个对等节点对于同一信息的验证和判断结构的综合,这样的综合可以是全体投票方式或者其它任意的信息综合方式。在子网络层次对于对等节点产生的信息进行验证和判断,可以避免少量损坏或者恶意节点对于子网络的干扰。
[0079] 图8是示出了主网络层次运行的部分计算逻辑的示例性的流程图。如图8所示,在步骤S810中,由主网络基于在主网络部署的在虚拟机上运行的智能合约,对于来自多个子网络的信息进行验证。在步骤S820中,生成主网络对于信息的验证结果。在步骤S830中,以链式数据结构组合经过了验证的来自多个子网络的信息。在步骤S840中,在分布式账本中以可检索的方式进行存储组合后的信息。
[0080] 参见图2中的数据结构,作为一个示例,验证的过程可以以图2中的H1,H2,H3简单的示出。在数据被存储在分布式账本后,子网络201、202、203,以及主网络10中的节点都将不能够对其进行二次更改。意图进行的恶意篡改被认为是成本极高而几乎不可能实现的。
[0081] 本发明的实施例还提供信息生成和传递方法,用于上述信息生成和传递系统。该方法包括:由子网络中的对等节点生成信息;由子网络基于有向无环图,将信息进行链接和存储;由子网络将信息传递至主网络;以及由主网络以区块链的链式数据结构链接和存储信息。
[0082] 在本发明的实施例中,该方法还包括:在子网络的多个对等节点之间传递信息。基于部署在子网络的智能合约通过一致性协议来验证信息。
[0083] 在本发明的实施例中,由子网络将信息传递至主网络包括:判断信息是否满足预定条件;以及将满足预定条件的信息传输到主网络。
[0084] 在本发明的实施例中,该方法还包括:由主网络判断信息是否满足预定条件。
[0085] 在本发明的实施例中,由主网络以区块链的链式数据结构链接和存储信息包括:对于满足预定条件的信息,将信息添加至区块链的链式结构中并在分布式账本中进行存储。
[0086] 在本发明的实施例中,对等节点包括传感器。由子网络中的对等节点生成信息包括:由传感器被配置为检测环境参数并根据检测结果生成信息。
[0087] 在本发明的实施例中,环境参数包括温度,湿度,照明,烟雾,火焰,声音,振动,大气污染,气体,和运动中的至少一个。
[0088] 在本发明的实施例中,对等节点包括用户设备。由子网络中的对等节点生成信息包括:由用户设备通过自动或者手动报告的方式生成信息。
[0089] 本发明的实施例还提供了一种计算机可读存储介质。在计算机可读存储介质上存储有计算机程序,计算机程序在至少一个处理器上执行时使至少一个处理器执行如上所述的任一项的方法。
[0090] 在本发明的实施例的信息生成和传递系统及方法中,子网络包括多个对等节点,对等节点可以用于快速生成信息。在子网络中,基于有向无环图,这些采集的信息可以被链接和存储。使用有向无环图,可以提供多条链接路径,以得到并发的信息处理能力,即,子网络中不同的对等节点在相同的时间阶段产生的不同信息可以在子网络中的多条不同链接路径中被并行的处理,而不需要在唯一的链接路径中等待依次处理。主网络可以对于来自子网络的信息以区块链的链式数据结构链接和存储,以提高数据的可靠性。
[0091] 这样的信息生成和传递系统及方法尤其适用于紧急事件警报广播,紧急事件的消息可以被快速生成、认证、传递,并进行有效地存储。这些过程不再需要人为的干预,也不需要专用的中央节点。关于紧急事件的响应速度有望得到大幅的提高,与紧急事件相关的生命财产安全有望得到更好的保证。
[0092] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。