记录并提供数据的方法,网络节点及网络转让专利

申请号 : CN201811464775.9

文献号 : CN109587237B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王占仓

申请人 : 爱立信(中国)通信有限公司

摘要 :

本发明的实施例提供记录并提供数据的方法,网络节点及网络。记录并提供数据的方法包括:将数据存储于第一区块链式数据结构中;以及根据预定条件,从第一区块链式数据结构存储的数据中提取满足预定条件的数据部分,以将数据部分存储于第二区块链式数据结构中。根据本发明的实施例,不需要将所有的数据提供到第二区块链式数据结构中,这可以提高数据的安全性,也能够减小第二区块链式数据结构的存储成本。

权利要求 :

1.一种在网络节点中执行的记录并提供数据的方法,包括:将数据存储于第一区块链式数据结构中;

根据预定条件,从所述第一区块链式数据结构存储的数据中提取满足所述预定条件的数据部分,以将所述数据部分存储于第二区块链式数据结构中;

其中,所述网络节点位于第一网络中,所述第一区块链式数据结构被配置为分布式地存储在所述第一网络的至少一个节点中;

其中,所述网络节点还位于第二网络中;

其中,所述第二区块链式数据结构被配置为分布式地存储在第二网络的至少一个节点中;

其中,在所述第一网络中经过选举产生所述第二网络中的节点的至少部分。

2.根据权利要求1所述的记录并提供数据的方法,其中,所述网络节点包括车载终端,以采集所述数据。

3.根据权利要求2所述的记录并提供数据的方法,其中,所述第一网络还包括:

存储服务器,被配置为存储所述数据;以及验证服务器,被配置为验证所述数据。

4.根据权利要求1至3中任一项所述的记录并提供数据的方法,还包括:将所述数据部分发送至所述第二网络;

其中,由所述第二网络中的节点将所述数据部分存储于所述第二区块链式数据结构中。

5.根据权利要求4所述的记录并提供数据的方法,其中,所述第二网络还包括:数据收集服务器。

6.根据权利要求1至3中任一项所述的记录并提供数据的方法,其中,所述网络节点还位于第二网络中,所述记录并提供数据的方法还包括:

形成包括所述数据部分的数据区块;

将所述数据区块发送到所述第二网络中的其它节点,以使得所述数据区块被所述其它节点验证。

7.根据权利要求6所述的记录并提供数据的方法,其中,所述数据区块以广播的方式发送。

8.根据权利要求7所述的记录并提供数据的方法,还包括:接收所述其它节点的验证结果;以及

在所述第二网络中超过预定数量的节点的所述验证结果为验证通过时,将所述数据区块添加至所述第二区块链式数据结构的已有数据链中,以将所述数据部分存储于所述第二区块链式数据结构中。

9.根据权利要求8所述的记录并提供数据的方法,其中,所述验证结果由所述其它节点以广播的方式在所述第二网络中发送。

10.根据权利要求8所述的记录并提供数据的方法,其中,所述预定数量的节点是2/3数量的节点。

11.根据权利要求6所述的记录并提供数据的方法,其中,在所述第一网络中经过选举产生所述第二网络中的节点的备选节点。

12.根据权利要求11所述的记录并提供数据的方法,其中,所述选举周期进行。

13.根据权利要求1至3中任一项所述的记录并提供数据的方法,其中,所述第二区块链式数据结构被配置为存储来自于多个所述第一区块链式数据结构的数据部分。

14.根据权利要求1至3中任一项所述的记录并提供数据的方法,还包括:基于所述数据的拥有者的授权,确定是否提供满足所述预定条件的数据部分。

15.根据权利要求1至3中任一项所述的记录并提供数据的方法,还包括:响应于所述数据部分在所述第二区块链式数据结构中的存储,获取给所述数据的拥有者的激励。

16.一种网络节点,包括:

存储器;以及

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

其中,所述处理器被配置为运行程序以执行:将数据存储于第一区块链式数据结构中;

根据预定条件,从所述第一区块链式数据结构存储的数据中提取满足所述预定条件的数据部分,以将所述数据部分存储于第二区块链式数据结构中;

其中,所述网络节点位于第一网络中,所述第一区块链式数据结构被配置为分布式地存储在所述第一网络的至少一个节点中;

其中,所述网络节点还位于第二网络中;

其中,所述第二区块链式数据结构被配置为分布式地存储在第二网络的至少一个节点中;

其中,在所述第一网络中经过选举产生所述第二网络中的节点的至少部分。

17.根据权利要求16所述的网络节点,其中,所述处理器被配置为运行程序以执行权利要求2至15中任一项所述的方法。

18.一种网络,包括权利要求16或者17所述的网络节点。

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

说明书 :

记录并提供数据的方法,网络节点及网络

技术领域

[0001] 本发明涉及信息技术,尤其涉及记录并提供数据的方法,网络节点及网络。

背景技术

[0002] 随着网络技术的发展,越来越多的设备可以接入到网络之中,组成“物联网”。在这样的网络中,经常涉及大量的数据的产生和记录,以及针对特定需求而进行的数据提供。
[0003] 例如,在车联网的应用中,车辆在行驶过程中会使用传感器设备产生大量的数据,以反映车辆自身的状态和车辆所在的环境。这些数据中的特定部分还需要在网络中传播,以实现车辆之间的协同运行。此外,数据也需要能够被存储并查看、使用,以对于车辆进行服务和/或监管。

发明内容

[0004] 本发明的实施例提供记录并提供数据的方法,网络节点及网络。
[0005] 本发明的第一个方面提供一种在网络节点中执行的记录并提供数据的方法,包括:将数据存储于第一区块链式数据结构中;以及根据预定条件,从第一区块链式数据结构存储的数据中提取满足预定条件的数据部分,以将数据部分存储于第二区块链式数据结构中。
[0006] 在本发明的实施例中,网络节点位于第一网络中,第一区块链式数据结构被配置为分布式地存储在第一网络的至少一个节点中。
[0007] 在本发明的实施例中,网络节点包括车载终端,以采集数据。
[0008] 在本发明的实施例中,第一网络还包括:存储服务器,被配置为存储数据;以及验证服务器,被配置为验证数据。
[0009] 在本发明的实施例中,记录并提供数据的方法还包括:将数据部分发送至第二网络;其中,由第二网络中的节点将数据部分存储于第二区块链式数据结构中;并且其中,第二区块链式数据结构被配置为分布式地存储在第二网络的至少一个节点中。
[0010] 在本发明的实施例中,第二网络还包括:数据收集服务器。
[0011] 在本发明的实施例中,网络节点还位于第二网络中,记录并提供数据的方法还包括:形成包括数据部分的数据区块;将数据区块发送到第二网络中的其它节点,以使得数据区块被其它节点验证。
[0012] 在本发明的实施例中,数据区块以广播的方式发送。
[0013] 在本发明的实施例中,记录并提供数据的方法还包括:接收其它节点的验证结果;以及在第二网络中超过预定数量的节点的验证结果为验证通过时,将数据区块添加至第二区块链式数据结构的已有数据链中,以将数据部分存储于第二区块链式数据结构中。
[0014] 在本发明的实施例中,验证结果由其他节点以广播的方式在第二网络中发送。
[0015] 在本发明的实施例中,预定数量的节点是2/3数量的节点。
[0016] 在本发明的实施例中,在第一网络中经过选举产生第二网络中的节点的至少部分,以及第二网络中的节点的备选节点。
[0017] 在本发明的实施例中,选举周期进行。
[0018] 在本发明的实施例中,第二区块链式数据结构被配置为存储来自于多个第一区块链式数据结构的数据部分。
[0019] 在本发明的实施例中,记录并提供数据的方法还包括:基于数据的拥有者的授权,确定是否提供满足预定条件的数据部分。
[0020] 在本发明的实施例中,记录并提供数据的方法还包括:响应于数据部分在第二区块链式数据结构中的存储,获取给数据的拥有者的激励。
[0021] 本发明的第二个方面提供一种网络节点,包括:存储器;以及可操作地耦合到存储器的处理器;其中,处理器被配置为运行程序以执行:将数据存储于第一区块链式数据结构中;根据预定条件,从第一区块链式数据结构存储的数据中提取满足预定条件的数据部分,以将数据部分存储于第二区块链式数据结构中。
[0022] 在本发明的实施例中,处理器被配置为运行程序以执行上述任一项的方法。
[0023] 本发明的第三个方面提供一种网络,包括上述任一项的网络节点。
[0024] 本发明的第四个方面提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在至少一个处理器上执行时使至少一个处理器执行上述任一项的方法。
[0025] 根据本发明的实施例,以第一区块链式数据结构存储数据,然后针对不同的预定条件,将提取的数据部分存储到第二区块链式数据结构中,因此,不需要将所有的数据提供到第二区块链式数据结构中,这可以提高数据的安全性,也能够减小第二区块链式数据结构的存储成本。

附图说明

[0026] 为了更清楚地说明本发明的实施例的技术方案,下面将对实施例的附图进行简要说明,应当知道,以下描述的附图仅仅涉及本发明的一些实施例,而非对本发明的限制,其中:
[0027] 图1是具有多个网络节点的网络的示意图;
[0028] 图2是本发明的实施例提供的在网络节点中执行的记录并提供数据的方法的示例性的流程图;
[0029] 图3是第一区块链式数据结构和第二区块链式数据结构的示例性的框图;
[0030] 图4是示出了数据区块的示意图;
[0031] 图5是示出了图2所示的方法的其它示例性的步骤的流程图;
[0032] 图6是示出了图2所示的方法的其它示例性的步骤的流程图;
[0033] 图7是示出了图2所示的方法的其它示例性的步骤的流程图;
[0034] 图8是本发明的实施例提供的网络节点的示例性的框图。

具体实施方式

[0035] 为了使本发明的实施例的技术方案和优点更加清楚,下面将结合附图,对本发明的实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域技术人员在无需创造性劳动的前提下所获得的所有其他实施例,也都属于本发明保护的范围。
[0036] 图1是具有多个网络节点的网络的示意图。如图1所示,网络10中包含了多个网络节点101,网络节点101通过网络连接102相互连接和通信。网路连接102可以采用任意的实现方式,例如,网络节点101可以是能够接入蜂窝通信网络的移动终端。这些网络节点101可以包括具有网络通信能力的车载终端,并产生与车辆运行相关的数据。按照网络节点101之间的相互关系,可以进一步在网络中划分第一网络100,第二网络200。应当理解,可以以任意的规则进行划分。例如,可以基于车辆所处的位置、车辆品牌型号、运行时间等等划分第一网络100,可以基于提供的数据类型而划分第二网络200。
[0037] 为了对于网络节点101的数据进行记录,并保证数据的真实性,一种可能的方式是建立服务器以实时采集并存储数据,以防止伪造或者篡改。然而,集中数据记录需要巨大的资源投入和维护成本,这可能导致数据记录和获取分析的效率低下。
[0038] 此外,根据不同的数据分析需求,需要使用数据中不同的部分。在并不知道后期会需要什么样的数据的情况下,要求车辆始终提供所有数据会增加处理和存储的成本,也难以实现维护隐私的需求。例如,第一网络100中的网络节点也可能并不希望向外提供所有的详细信息。
[0039] 图2是本发明的实施例提供的在网络节点中执行的记录并提供数据的方法的示例性的流程图。如图2所示,记录并提供数据的方法包括:步骤S210,将数据存储于第一区块链式数据结构中;以及步骤S220,根据预定条件,从第一区块链式数据结构存储的数据中提取满足预定条件的数据部分,以将数据部分存储于第二区块链式数据结构中。
[0040] 根据本发明的实施例,以第一区块链式数据结构存储数据,然后针对不同的预定条件,将提取的数据部分存储到第二区块链式数据结构中。第一区块链式数据结构可以对数据实现存储,保证数据的完整。而在第二区块链式数据结构中,仅仅存储预定条件的所需数据,可以降低处理和存储的成本,也有利于维护隐私。例如,在无人驾驶应用中,可以采集大量的与驾驶行为(例如,特定场景下进行的刹车、转向、加速、避让等)相关的数据对算法进行训练,而其它信息(例如车辆型号、使用年限、拥有者个人信息等)都可以不被采集。
[0041] 图3是第一区块链式数据结构和第二区块链式数据结构的示例性的框图。图3示出了多个第一区块链式数据结构301,以及与之相关的第二区块链式数据结构302。第一区块链式数据结构301和第二区块链式数据结构302在形成规则上可以相同。即,都是将数据区块B1,B2,B3……BN在经过密码学运算H(例如,HASH计算)之后添加到已有的数据链C上。
[0042] 第一区块链式数据结构301可以由第一网络100中的网络节点产生和维护,以记录各个网络节点101产生的原始数据。第一区块链式数据结构301可以分布式地存储在第一网络100的至少一个节点中。网络节点101可以包括车载终端,以采集数据。车载终端采集的数据可以是例如车辆位置、运动轨迹、运行状况等信息,这些数据可以作为第一区块链式数据结构301的有效数据,存放在数据区块B中。位于同样的第一网络100中的各个节点都可以添加数据区块B,具体方式不作限定。此外,在网络节点101是车载终端的情况,还可以通过读取数据区块B中的有效数据了解其它车辆的信息,以实现车辆协作等功能。具体的读取方式和可能涉及到的隐私策略等等可以以任意手段实现,此处不作限定。
[0043] 此外,在本发明的实施例中,分布式地存储第一区块链式数据结构301并不会妨碍传统的集中式管理,例如,第一网络100中还可以包括:存储服务器,被配置为存储第一网络100中所有网络节点101的数据;以及验证服务器,被配置为在存储之前对于这些数据验证。
验证可以包括数据真实性的验证,也可以是对于数据进行简单分析,以去除无用数据。存储服务器和验证服务器可以以任意的技术手段实现,具体方式不作限定。
[0044] 在多个第一网络100存储了原始数据的情况下,第二网络200的网络节点可以实现跨越多个第一网络100的操作,以生成和维护第二区块链式数据结构。图3中示出了第二网络200的网络节点运行智能合约303,以从多个第一区块链式数据结构301中获取数据部分,并创建第二区块链式数据结构302中的数据区块。
[0045] 作为一个简单的示例,第一网络100可以是由不同的车辆制造商及其联盟,或者公司组建的车辆网络,第一网络100彼此之间的信息是不流通的。而通过第二网络200的运行,这些不同的车辆制造商及其联盟,或者公司可以向保险公司等提供所需要的信息,例如,特定年限车辆的运行状况等。并不是所有详细信息都需要提供,而且提供的信息也不需要流通到其它的第一网络100,保障了安全性。
[0046] 应当理解,图3中,为了便于说明,第二区块链式数据结构302中的B2,B3,BN分别指向了不同的第一区块链式数据结构301,然而,这并不是限定一个区块B只能包含来自一个第一区块链式数据结构301的数据。根据采集的数据的目的不同,每个区块B都可以包括来自任意数量的第一区块链式数据结构301的数据部分。此外,此处数据部分的具体内容也不作限定,其可以根据预定条件不同而不同。例如,预定条件可以是与车辆位置,或者运行年限,或者品牌型号等等相关的条件。数据部分可以是符合上述条件的具体车辆位置,或者运行年限等信息。
[0047] 图4是示出了数据区块的示意图。如图4所示,数据区块B可以包括:时间戳401,以表明当前数据区块B形成的时间;有效载荷402,其包括有效数据403以及用于验证有效数据403的签名404;随机数405,其用于验证数据区块B。
[0048] 第一区块链式数据结构301的数据区块B的有效数据403可以是网络节点101采集的数据。第二区块链式数据结构302的数据区块B的有效数据403可以是来自一个或者多个第一区块链式数据结构301的数据部分。
[0049] 数据区块中包含数字签名404,其它节点可以利用产生数据区块B的节点的公钥对于数据块中的签名信息进行验证。数据块中还可以包含SHA256,MD5码等数据完整性验证信息,以利于其它节点的验证。
[0050] 图5是示出了图2所示的方法的其它示例性的步骤的流程图。如图5所示,在本发明的实施例中,记录并提供数据的方法还包括:步骤S510,将数据部分发送至第二网络。然后,由第二网络中的节点将数据部分存储于第二区块链式数据结构中。第二区块链式数据结构被配置为分布式地存储在第二网络的至少一个节点中。
[0051] 在图5所示的情况下,存储数据以及提供其中的数据部分的网络节点101可以未包含在第二网络200中,因而,不能直接进行与第二区块链式数据结构302相关的操作。然而,该网络节点101可以将满足预定条件的数据部分发送到第二网络200中的任意节点,也可以在第二网络200中进行广播。
[0052] 图6是示出了图2所示的方法的其它示例性的步骤的流程图。
[0053] 在本发明的实施例中,网络节点还可以位于第二网络中,即,存储数据以及提供其中的数据部分的网络节点101可以包含在第二网络200中。此时,如图6所示,记录并提供数据的方法还包括:步骤S610,形成包括数据部分的数据区块;步骤S620,将数据区块发送到第二网络中的其它节点,以使得数据区块被其它节点验证,其中,数据区块可以以广播的方式发送;步骤S630,接收其它节点的验证结果,其中,验证结果可以由其它节点以广播的方式在第二网络中发送;以及步骤S640,根据验证结果,将数据区块添加至第二区块链式数据结构的已有数据链中;具体而言,可以在第二网络中超过预定数量的节点的验证结果为验证通过时,将数据区块添加至第二区块链式数据结构的已有数据链中,以将数据部分存储于第二区块链式数据结构中,其中,预定数量的节点可以是第二网络中2/3数量的节点,以实现拜占庭容错机制。
[0054] 虽然第二网络200中的各个网络节点就可以完成第二区块链式数据结构302的生成与维护工作。然而,与第一网络100相似,在本发明的实施例中,第二网络也可以还包括:数据收集服务器。数据收集服务器可以备份第二区块链式数据结构302,也可以根据在第二网络200中广播所述的预定条件,以使得第二网络200中的节点可以进行生成数据区块B的工作。此外,数据收集服务器可以作为数据提供的中转。即,在例如汽车厂商、车辆保险公司、车辆管理机构期望获得数据服务时,可以统一通过数据收集服务器发布需求,这可以简化流程,也能够提高安全性。
[0055] 在本发明的实施例中,可以在第一网络中经过选举产生第二网络中的节点的至少部分,以及第二网络中的节点的备选节点。在本发明的实施例中,选举周期进行。
[0056] 具体而言,以投票的方式产生第二网络200的节点时。在网络10中,可以规定预定的投票时间,所投的票据可以直接使用区块链系统中常用的通证。在该投票时间内,投票人向被选举人转移通证,以表示支持。完成选举后,第二网络200的节点可以根据预定的时间表轮流执行产生数据区块的工作。在预定的节点没有完成产生数据区块的工作时,备选节点可以正式加入第二网络200,进行替代。
[0057] 图7是示出了图2所示的方法的其它示例性的步骤的流程图。如图7所示,在本发明的实施例中,记录并提供数据的方法还包括:步骤S710,基于数据的拥有者的授权,确定是否提供满足预定条件的数据部分。
[0058] 在使用第一区块链式数据结构301和第二区块链式数据结构302的分层机制下,数据的隐私保护等管理等措施将能够被更加方便地实施。数据的拥有者,例如车主可以明确得知向外提供了哪些信息。车主可以在车载终端上的人机界面进行隐私设置,例如,通过选择“允许提供位置信息”,“禁止提供位置信息”等选项,方便地进行管理。
[0059] 此外,在本发明的实施例中,记录并提供数据的方法还包括:步骤S720,响应于数据部分在第二区块链式数据结构中的存储,获取给数据的拥有者的激励。在区块链系统中,数据可以作为交易商品,数据提供者可以获得通证作为激励。这也促进了数据拥有者共享数据的积极性。而包括转移通证等的交易信息可以直接包括在数据区块B,交易过程可以简单、快捷地同步进行。
[0060] 图8是本发明的实施例提供的网络节点的示例性的框图。本发明的实施例提供一种网络节点101,包括:存储器801;以及可操作地耦合到存储器801的处理器802;其中,处理器802被配置为运行程序以执行:将数据存储于第一区块链式数据结构中;根据预定条件,从第一区块链式数据结构存储的数据中提取满足预定条件的数据部分,以将数据部分存储于第二区块链式数据结构中。在本发明的实施例中,处理器可以被配置为运行程序以执行上述任一项的方法,例如基于图2、5-7描述的方法。
[0061] 网络节点101还可以包括任意形式的通信模块803,以用于在网络中通信,发送和接收信息。例如,通信模块803可以是任意的具有有线/无线通信功能的模块。通信模块803可以使得网络节点101连接到蜂窝通信网络等,以实现联网功能。
[0062] 应当理解,处理器802可以是任意的具有处理功能的硬件,例如中央处理单元(CPU),微控制单元(MCU),数字信号处理器(DSP),现场可编程门阵列(FPGA)等。处理器802可以包括不同的硬件部分以执行不同的方法步骤、或者实现不同的功能,也可以是由处理器802运行不同的程序模块而实现不同的方法步骤、或者实现不同的功能。
[0063] 基于这样的结构,网络节点101可以是任意形式的计算机,例如,独立设置的个人电脑、服务器等,也可以是嵌入到其它设备的计算机,例如,车辆等的车载终端/车载电脑。
[0064] 本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在至少一个处理器上执行时使至少一个处理器执行上述任一项的方法,例如基于图2、5-7描述的方法。该计算机可读存储介质可以被网络节点101读取而使得网络节点101执行上述动作。计算机可读存储介质可以是任意的电、磁、光存储介质,例如,硬盘、内存、闪存、光盘等等。
[0065] 根据本发明的实施例,以第一区块链式数据结构存储数据,然后针对不同的预定条件,将提取的数据部分存储到第二区块链式数据结构中,因此,不需要将所有的数据提供到第二区块链式数据结构中,这可以提高数据的安全性,也能够减小第二区块链式数据结构的存储成本。
[0066] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。