CN109194493B - 一种信息管理系统、方法及装置 - Google Patents
一种信息管理系统、方法及装置 Download PDFInfo
- Publication number
- CN109194493B CN109194493B CN201810916763.9A CN201810916763A CN109194493B CN 109194493 B CN109194493 B CN 109194493B CN 201810916763 A CN201810916763 A CN 201810916763A CN 109194493 B CN109194493 B CN 109194493B
- Authority
- CN
- China
- Prior art keywords
- information
- node
- nodes
- block
- preset number
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000007726 management method Methods 0.000 claims abstract description 114
- 238000012795 verification Methods 0.000 claims description 157
- 238000001514 detection method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 39
- 238000004891 communication Methods 0.000 description 18
- 238000012544 monitoring process Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000012790 confirmation Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1845—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种信息管理系统、方法及装置,其中,该系统包括:数据源和多个节点,多个节点中包括第一节点和第二节点;数据源,用于广播信息;在预设时间间隔内检测信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播信息,直至确认信息对应的区块已添加至第一预设数量个节点对应的区块链;其中,第一预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定;第一节点和第二节点用于在满足条件时将信息对应的区块添加至区块链。通过本发明实施例提供的信息管理系统、方法及装置,能够降低对计算资源的消耗。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种信息管理系统、方法及装置。
背景技术
雷达和广播式自动相关监视发射器(Automatic Dependent Surveillance-Broadcast,ADS-B)等提供的航空监视信息是空管从业者和研究人员分析、管理飞行器活动的重要依据。航空监视信息的不当处理已经引起多起空难,航空监视信息作为航空事故调查、追责的重要依据,需要得到妥善的保护。目前常用的航空监视信息数据保护方式是计算机取证。计算机取证技术具体即使用中心化的数据存储方式,通过具有较高公信力的机构通过物理隔离的方式对航空监视信息进行管理,一般情况下该机构不会对航空监视信息进行篡改等,但是一旦涉及该机构的利益时,该机构就有可能会对航空监视信息进行篡改,如此造成信息的不安全。如此,为了提高航空监视信息的安全性,需要使用去中心化的数据处理和存储方式。
区块链技术的核心就是去中心化。通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。区块链中一个重要过程是通过共识算法实现区块链中各个节点对区块的共识。
目前主流的区块链应用中使用工作量证明(Proof of Work,POW)算法作为其本身的共识机制。具体地,各个节点均求解哈希难题,优先求解出哈希难题的节点将自身生成的区块写入区块链中并广播该信息,其他节点复制该区块写入自身的区块链中。可以看出,目前区块链的应用中POW算法要求各个节点不停得计算一个哈希难题来完成各个节点对区块的共识,保证系统的正确性。而计算哈希难题一般情况是通过穷举的方式不断验证来完成的,过程十分复杂,如此会造成对计算资源的浪费。
发明内容
本发明实施例的目的在于提供一种信息管理系统、方法及装置,以降低对计算资源的消耗。具体技术方案如下:
第一方面,本发明实施例提供了一种信息管理系统,包括:数据源和多个节点,所述多个节点中包括第一节点和第二节点;其中,
所述数据源,用于广播信息;在预设时间间隔内检测所述信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播所述信息,直至确认所述信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,所述第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;
所述节点中第一节点,用于从数据源获取所述信息,并生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;确定所述区块对应的第一验证信息;广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;接收多个所述第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;
所述第二节点,用于接收包括所述第一节点和除该第二节点之外的其他第二节点发送的第二验证信息,且在第二验证信息的个数达到所述第二预设数量、且该第二预设数量个第二验证信息均与该第二节点的记录信息匹配时,将所述区块添加至该第二节点对应的区块链。
可选的,所述第一节点,还用于接收所述数据源广播的数据,并将接收到的数据保存至本地缓存;每隔预设时间段从所述本地缓存中取出预设数量个数据,并将该预设数量个数据作为所述信息;生成所述信息对应的区块。
可选的,所述第一节点,还用于在所述确定所述区块对应的第一验证信息之后,保存所述第一验证信息;在接收所述第二节点发送的所述第二验证信息之后,针对各个第二节点,保存该第二节点发送的第二验证信息。
可选的,所述第一节点,还用于在所述将所述区块添加至所述第一节点对应的区块链之后,接收多个所述第二节点发送的检查点信息,其中,所述检查点信息中包括该第二节点的区块链中最新区块的区块高度;在所述检查点信息的个数达到第三预设数量、且所述第三预设数量个所述检查点信息与所述第一节点的区块链中信息匹配时,保存所述第三预设数量个所述检查点信息;并删除保存的所述第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息,其中,所述第三预设数量是根据错误节点的预设个数确定。
可选的,所述信息包括航空监视信息。
第二方面,本发明实施例提供了一种信息管理方法,应用于信息管理系统中的第一节点,包括:
从数据源获取信息,并生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;
确定所述区块对应的第一验证信息;
广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;
接收多个所述第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
可选的,在所述将所述区块添加至所述第一节点对应的区块链之后,所述方法还包括:
接收多个所述第二节点发送的检查点信息,其中,所述检查点信息中包括该第二节点的区块链中最新区块的区块高度;
在所述检查点信息的个数达到第三预设数量、且所述第三预设数量个所述检查点信息与所述第一节点的区块链中信息匹配时,保存所述第三预设数量个所述检查点信息;并删除保存的所述第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息,其中,所述第三预设数量是根据错误节点的预设个数确定。
第三方面,本发明实施例提供了一种信息管理方法,应用于信息管理系统中的数据源,包括:
广播信息;
在预设时间间隔内检测所述信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播所述信息,直至确认所述信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,所述第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
第四方面,本发明实施例提供了一种信息管理装置,应用于信息管理系统中的第一节点,包括:
获取模块,用于从数据源获取信息;
生成模块,用于生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;
确定模块,用于确定所述区块对应的第一验证信息;
广播模块,用于广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;
接收模块,用于接收多个所述第二节点分别发送的第二验证信息;
添加模块,用于在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
第五方面,本发明实施例提供了一种信息管理装置,应用于信息管理系统中的数据源,包括:
广播模块,用于广播信息;
检测模块,用于在预设时间间隔内检测所述信息对应的区块是否已添加至第一预设数量个节点对应的区块链;
广播模块,还用于如果未被添加,则重新广播所述信息,直至确认所述信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,所述第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
本发明实施例提供的信息管理系统、方法及装置,数据源,用于广播信息;在预设时间间隔内检测信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播信息,直至确认信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;第一节点和第二节点通过验证第一验证信息和第二验证信息与自身的记录信息的匹配情况,将信息对应的区块添加至区块链中。本发明实施例中通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。且通过在数据源引入确认机制,以保证消息传递的过程中总会有一个正确节点保存了全部最新数据,还能够降低计算复杂度。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的信息管理系统的一种结构示意图;
图2为本发明实施例提供的信息管理系统的另一种结构示意图;
图3为本发明实施例中中数据源和各个节点交互过程的示意图;
图4为本发明实施例中数据源确认机制的流程图;
图5为本发明实施例提供的信息管理方法的一种流程图;
图6为本发明实施例提供的信息管理方法的另一种流程图;
图7为本发明实施例的信息管理装置的一种结构示意图;
图8为本发明实施例的信息管理装置的另一种结构示意图;
图9为本发明实施例提供的电子设备的一种结构示意图;
图10为本发明实施例提供的电子设备的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中通过区块链实现对信息的去中心化存储,以实现保护数据,且解决中心化数据存储过程中数据可能被中心化实体破坏的情况,提高信息的安全性。为了更加清楚地说明本发明实施例的方案,首先对涉及到的基础内容进行说明。为了更加清楚、方便地描述,通过符号表示部分参数。具体地,符号与参数的对应关系如下表1。
表1
本发明实施例中实现分布式共识是通过PBFT(拜占庭容错)算法,分布式共识问题的实质是拜占庭将军问题。在PBFT算法中,对于拜占庭将军问题的分布式共识的定义为安全性和活性。然而在区块链场景下,我们还需处理区块链分叉的问题。因此,定义区块链的分布式共识为:
(1)正确性(安全性):区块链上的区块是由正确节点提出的;
(2)可用性(活性):区块链系统会不断地提出新区块;
(3)一致性:两个正确区块不会在区块链的同一高度上同意两个不同的区块。
然而,在异步网络中是不可能达成分布式共识的。因此常见的区块链共识算法实际上是在三个条件中假设其中一个条件成立,并通过共识算法保证另外两个条件成立。Gramoli等人证明了额外的同步假设,即假设活性条件成立,是最适合区块链系统的建模方式。因此,假设系统之间的通信是同步的,并通过算法保证正确性和一致性。但是需要强调的是,这个同步假设实际上是一个非常弱的同步假设,允许系统的通信网络发生各种错误,例如在某一时刻可能无法通信,可能存在较高的延迟,可能重复发送消息,各个节点可能乱序接收消息。但假设整个系统的通信网络最终会被恢复,这个条件在任何实际系统中都应该可以被满足。
本发明实施例方法中,所有正确节点基于相同的确定自动机模型:
M=(q0,T,∑,Q,F),其初始状态q0,输入集合T,状态转移函数∑,状态集合Q,终止集合F是相同的。即处于相同状态的不同正确节点对于相同的输入总会得到相同的输出。
系统中每个节点都有一个唯一的标识id。正确节点指能够完成共识算法全部流程的节点。错误节点可以采取各种手段破坏系统的共识,但是假设系统中的错误节点无法破解正确节点生成的数字摘要和数字签名。PBFT算法指出,当系统中存在f个错误节点时,为了在异步系统中同时提供安全性和活性,3f+1是所需的最少节点数量,本发明实施例中模型同样遵循这一要求。由一个主节点主持的共识过程称作视图。在一个视图中,一个节点是主节点,其他节点是从节点。p=v mod n,p为主节点id,v为视图编号,视图编号从1开始依次递增。
为了简化模型,假设数据源可以保证输入的数据是正确的,区块链只保证各个节点如实的记录其收到的数据。如果需要考虑数据输入的准确性,可以引入雷达航迹融合的模型,使用神经网络和卡尔曼滤波等技术确保航迹准确性。这里不做详述。同样假设,数据在系统中存储的顺序和其产生的顺序不必完全一致。如果要对数据进行排序,可以在原始数据中加入时间戳,另行排序。
下面证明两条重要的引理。
引理1:如果一条数据出现在f+1个节点的区块链中,则这条数据是正确的。
(1)正确节点的状态转移函数∑可用伪代码表示为:
if(correct(block))
then Operation_add_toBlockChain(block);
else Operation_discard(block)。
(2)错误节点的状态转移函数∑可用伪代码表示为:
if(profitable(block))
then Operation_add_toBlockChain(block);
else Operation_discard(block)。
考虑极端情况,对于一条错误数据,如果全部错误节点同时将其写入区块链,则该错误数据最多存在于f个节点,因此一条出现在f+1个节点中的数据只可能是正确的。
引理2.1:因为错误节点可能在后续过程中删除区块链中的数据,为了保证一条数据最终出现在f+1个正确节点的区块上,这条数据需要最少出现在2f+1个节点的区块链上。
引理2.2:为了确保一条数据的一致性,应当要求每条数据获得超过一半的正确节点的认可。当n-f为偶数时,必须在(n-f)/2的基础上增加一个额外的确认,又因为错误节点可能会对两条矛盾的数据都认可,因此一条数据需要最少出现在个节点。为了简化公式的表达,记其为R。可以很容易的证明,当n>=3f+1且n和f都是整数时,2f+1<=R<=n–f恒成立。简单理解,信息对应的区块存储在R各节点中时,可以保证区块链中区块链的分布式共识定义的三性:正确性;可用性;一致性。
且为了保证在消息传递的过程中总会有一个正确节点保存了全部最新数据,即需要保证(T–f)+R>=n+1。共识过程中包括承诺commit阶段:commit消息传递过程的实质就是为了保证一个区块出现在T个节点的区块链上。
下面对本发明实施例提供的基于上述区块链共识过程的信息管理系统进行详细说明。
本发明实施例提供了一种信息管理系统,如图1所示,包括:数据源和多个节点,多个节点中包括第一节点和第二节点,其中,第一节点为信息管理系统中任一节点。
数据源,用于广播信息;在预设时间间隔内检测信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播信息,直至确认信息对应的区块已添加至第一预设数量个节点对应的区块链。
其中,第一预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定。能够保证区块链共识中定义的性质。
信息可以包括任何类型的待存储信息。如可以包括航空监视信息、学生成绩信息、员工出勤信息等等。
预设时间间隔可以根据实际情况来确定。
节点中第一节点,用于从数据源获取信息,并生成信息对应的区块,确定区块对应的第一验证信息;广播第一验证信息,以使除第一节点之外的多个第二节点接收第一验证信息,并验证第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个第二节点分别对应的第二验证信息;接收多个第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与第一节点的记录信息匹配时,将区块添加至第一节点对应的区块链,其中,第二预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
第一验证信息可以包括区块的区块高度、摘要、节点对信息的签名、时间戳、和/或视图编号等信息。同理,第二验证信息可以包括区块的区块高度、摘要、节点对信息的签名、时间戳、和/或视图编号等信息。
具体地,接收数据源广播的数据,并将接收到的数据保存至本地缓存;每隔预设时间段从本地缓存中取出预设数量个数据,并将该预设数量个数据作为信息;生成信息对应的区块。
多个第二节点分别接收第一节点发送的第一验证信息,针对各个第二节点,该第二节点验证该第一验证信息与其自身的记录信息是否匹配,在匹配时,发送对应的第二验证信息。
第二节点,用于接收包括第一节点和除该第二节点之外的其他第二节点发送的第二验证信息,且在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与该第二节点的记录信息匹配时,将区块添加至该第二节点对应的区块链。
各个节点均收到第二预设数量个第二验证信息,且接收到的第二验证信息与其自身的记录信息匹配时,分别将区块写入自身的区块链中,如此实现各个节点对信息的共识。
本发明实施例中,第一节点和第二节点通过验证第一验证信息和第二验证信息与自身的记录信息的匹配情况,将信息对应的区块添加至区块链中。通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。
在本发明另一种可选的实施例中,第一节点,还用于在确定区块对应的第一验证信息之后,保存第一验证信息;在接收第二节点发送的第二验证信息之后,针对各个第二节点,保存该第二节点发送的第二验证信息。
第一节点,还用于在将区块添加至第一节点对应的区块链之后,接收多个第二节点发送的检查点信息,其中,检查点信息中包括该第二节点的区块链中最新区块的区块高度;在检查点信息的个数达到第三预设数量、且第三预设数量个检查点信息与第一节点的区块链中信息匹配时,保存第三预设数量个检查点信息;并删除保存的第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息。其中,第三预设数量是根据错误节点的预设个数确定。
类似地,针对各个第二节点,该第二节点,也可用于在将区块添加至第二节点对应的区块链之后,接收除该第二节点之外的其他节点发送的检查点信息,其中,检查点信息中包括该其他节点的区块链中最新区块的区块高度;在检查点信息的个数达到第三预设数量、且第三预设数量个检查点信息与该第二节点的区块链中信息匹配时,保存第三预设数量个检查点信息;并删除保存的该第二节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息。
即在实现信息共识过程中,包括检查点协议,各个节点在接收到预设数量个区块时,建议检查点,广播检查点信息。每个节点在接收到第三预设数量个检查点信息时,删除包括最新区块以及最新区块之前区块对应的第一验证信息和第二验证信息,并保存该第三预设数量个检查点信息作为共识证据。
如此,安全删除历史数据,能够降低存储资源的消耗,释放计算机存储空间。
在本发明另一种可选的实施例中,还可以包括视图切换的过程。该信息管理系统中,第一节点为主节点,主持一个信息共识过程,第二节点为从节点,与主节点共同实现区块链中信息共识。当当前主节点发生错误,如死机无法发送数据等,从节点通过触发视图切换更改主节点,确保信息管理系统恢复到可用状态。具体地,申请视图切换的从节点发送视图切换信息,该视图切换信息中可以包括:更新视图编号、最新检查点,如最新区块、该区块之前区块的证据集合、该区块之后区块的第一验证信息和第二验证信息等。不同视图编号对应不同的主节点,当更新视图编号对应的主节点接收到预设数量个不同从节点发送的视图切换信息时,广播新视图信息,完成视图切换过程。
另外,本发明实施例中,还可以包括区块同步过程。区块链中的节点可能因为网络延迟等原因错过区块。如此为了保证多个节点存储信息的一致性,该节点结合其他节点实现区块同步。该节点发送请求同步信息,且在接收到相同的预设数量个针对该请求同步信息的同步信息时,将同步信息中对应的区块添加至自身区块链中,完成自身信息与其他节点信息的同步。这里所说的预设数量可以是保证在共识过程中信息一致性的数量。
本发明实施例中通过区块链保证信息的安全性。且降低了对计算资源的消耗。同时,本发明实施例能够避免现有技术中通过POW算法实现共识的过程中,对区块确认过长的问题。另外,降低了对存储资源的消耗。且数据源引入确认机制,能够降低计算复杂度。
为了更清楚地理解该信息管理系统,本发明实施例中通过该信息管理系统应用于航空领域,信息为航空监视信息时进行详细介绍。具体地,本发明实施例中通过区块链对信息进行管理,简单理解可以将应用于航空领域的区块链称为航空区块链AeroChain。
如图2所示。该信息管理系统中包括数据源和节点,节点包括主节点和从节点。主节点即上述信息管理系统中所说的第一节点,从节点即上述信息管理系统中所说的第二节点。且该系统中地区航管中心作为AeroChain的节点。且在同一时刻,只有一个地区航管中心是主节点,其他地区航管中心为从节点。简单理解,数据源和各个节点进行交互的过程如图3所示。具体地,下面进行详细介绍。
数据源从雷达和ADS-B获取飞机等的航空监视信息。数据源为信息管理系统中输入数据,且能够保证输入时刻输入数据的正确性。即数据源广播该航空监视信息,以使信息管理系统中的节点可以接收到该航空监视信息。具体地,可以通过电路转换的方式将航空监视信息发送至各个地区的地区航管中心,地区航管中心存储该航空监视信息,并对该航空监视信息进行分析处理,调度飞机航线等。
AeroChain中,数据源不仅负责向信息管理系统输入数据,也负责确定其输入的数据全部被AeroChain确认。因此,数据源可以作为AeroChain的客户端,引入超时重传机制,当一条数据在预设时间间隔tack内仍然没有出现在个节点的区块链上时,即在预设时间间隔内数据对应的区块没有添加至区块链中时,客户端即数据源会重新发送这条数据。为了简化表述,记上述公式为T。具体地,数据源确认数据以及超时重传的过程如图4所示。
定义计数器count,且初始化count=0。选择一个新节点,且确定该节点对应的最新区块,判断该区块中是否包含目标数据,即客户端发送的数据。
如果该区块中不包括目标数据,则继续判断该区块是否为该节点对应区块链中的最后一个区块,且在判断不是最后一个区块时,查询下一个区块,继续判断下一个区块是否包含目标数据;在判断是最后一个区块时,结束遍历当前节点。
如果该区块中包含目标数据,count加1,且判断是否满足确认条件,具体地,判断count是否大于等于T,
如果count大于等于T,则表示该区块添加至T个节点对应的区块链中,即成功实现对该区块的共识;如果count小于T,判断是否存在未查询节点,如果存在时,则重复上述过程,实现对未查询节点的判断,而如果不存在时,则重新发送数据。
通过在客户端引入确认及重传机制,定期检查数据是否出现在T个节点的区块链上实现commit阶段。而无需在commit阶段中各个节点互相进行消息传递,如此将commit阶段计算复杂度从O(n2)降低至O(n),且进一步能够保证信息的安全性和可靠性。
地区航管中心即节点,接收数据源提供的信息,将其保存至本地缓存,如缓冲池中。AeroChain中的主节点每隔时间tgap,从本地缓冲池中取出m条数据,生成区块b。主节点广播区块b对应的第一验证信息,如pre-prepare信息至除主节点之外的从节点,pre-prepare信息如<pre-prepare,p,v,h,b,d(b)>sign-p,其中,v为当前视图号,h为区块b的高度,d(b)为区块b的摘要,sign-p为p利用自身私钥对消息的签名。在实际应用过程中,为了计算方便,在发送pre-prepare信息中不用区分主节点、从节点,主节点也可以将pre-prepare信息发送给自身。
从节点接收一条pre-prepare信息,并将其保存至本地缓存,如存入本地日志,如果满足如下条件,则认为该pre-prepare信息与从节点自身的记录信息匹配。条件如下:
●数字签名正确,并且d(b)是b的数字摘要;
●节点目前处于视图v;
●区块b中的数据是该节点本地数据缓冲池数据的子集,并且区块b指向该节点当前区块链中的最后一个区块;
●区块高度h=当前区块高度hcurrent+1。
如果该pre-prepare消息与从节点自身的记录信息匹配,则认为从节点接受了主节点提出的pre-prepare消息,则从节点广播第二验证信息,如prepare信息<prepare,i,v,h,d(b)>sign-i,i为从节点编号。
节点接受另外一个节点提出的prepare信息,这里所说的节点包括主节点和从节点,并把其存入本地日志,如果满足如下条件,则认为该prepare信息与其自身的记录信息匹配。条件如下:
●数字签名正确;
●节点目前属于视图v;
●区块高度h=当前区块高度hcurrent+1;
●d(b)与最新pre-prepare消息中的数字摘要相同。
针对各个节点,该节点接收其他节点发送的R条prepare信息,其中,且该R条prepare信息均已验证与其对应的其他节点的记录信息匹配时,将区块b添加至该节点对应的区块链中。并且为了释放存储空间,可以将本地缓存中包含的区块b对应的临时数据删除。
如此,能够保证在没有错误发生时信息管理系统的正确性和一致性。
且因为传统技术中POW算算法实现共识的过程中有可能多个节点同时求解出哈希难题,如此,从全局视图角度出发,即会出现区块链分叉的现象,而传统技术中针对区块链分叉是采用最长链有效原则选择最终的主链,如此需要额外的6个区块对当前最新区块进行确认,产生一个区块一般需要10分钟左右,而完成一个交易大概需要1个小时,使得确认区块时间过长。本发明实施例提供的信息管理系统一般情况下区块被超过一半的正确节点确认即可,从根源上杜绝了区块链分叉的可能性,提高了区块的确认速度,进一步提高数据的确认速度。
如上述实施例,本发明实施例提供的信息管理系统中还可以包括发送检查点信息的过程。具体地,包括检查点协议。检查点协议用于删除本地化缓存,如本地日志中对于每一个区块的临时证据:pre-prepare消息和prepare消息。一个节点每收到k个区块,建立一个检查点,广播检查点信息,如checkpoint信息<checkpoint,h,d,i,v>sign-i,d为最新区块的数字摘要并反映了区块链的最新状态。
一个节点接受某条checkpoint信息,并将其存入本地日志,该节点验证该checkpoint信息是否满足如下条件:
●数字签名正确;
●当前视图号v、区块高度h和数字摘要d和该节点广播的checkpoint消息相同。
如果一个节点接收到2f+1条checkpoint消息,那么该节点将这些checkpoint消息作为证据,存入本地日志中。同时,将区块高度小于等于h的全部区块的临时证据:pre-prepare和prepare消息丢弃,并且将更早的checkpoint消息丢弃。
如上述实施例,还可以包括视图切换view change的过程。具体地,当主节点发生错误时,从节点通过触发视图转换更换主节点,确保系统恢复到可用状态。当从节点在时间tconsensus内没有达成新的区块共识、或者上一次view change不成功时,应当进行视图转换。申请视图切换的从节点停止接受与视图切换无关的其他消息,广播<view-change,vnew,c,C,E,i>sign-i消息,其中vnew为新视图号,c为最新检查点,C为c的证据集合:最少2f+1条checkpoint消息,E是一个由若干个集合e构成的集合:每个集合e是所有高度h大于c的区块的pre-prepare消息和prepare消息。两个集合背后的思想就是每个节点都用证据表明自己当前最新的区块链状态。从而保证已经被客户端确认过的数据,不会在视图转换的过程中丢失,同时也保证了恶意节点无法在视图转换的过程中向区块中插入恶意数据。从节点同时启动一个计时器timer,timer的初始值为2u+1秒,u为已经连续进行的view change次数。如果在timer超时前没有完成本次视图切换,则将vnew的取值加1,进行下一次视图切换过程。
视图vnew的主节点pnew接受view-change消息,验证是否满足如下条件:
●数字签名正确;
●集合C和集合E中的证据是正确的。例如,对于E中的每个子集合e,e应该包含一条pre-prepare消息和最少R条匹配的prepare消息。
Pnew收到最少R条匹配的view change消息后,这里匹配意味着具有相同的vnew、c、C、E。首先计算可以通过证据证明的区块链的最高高度hmax,如果当前工作高度hcurrent小于hmax,则首先根据收到的view change消息,完成区块同步。然后Pnew广播<newView,vnew,V,hmax>消息,其中V是主节点收到的全部view-change消息。
当节点接受到new view消息后,对new view消息中包含的全部view change消息执行和pnew节点类似的操作,如果从节点计算出的新视图号以及区块链高度和pnew提出的结果一致,那么从节点接受主节点提出的new view消息,将其存入本地日志,如果需要,根据view change消息完成必要的区块同步工作,进入视图vnew工作。
另外,本发明实施例中还可以包括区块同步过程。具体地,节点可能因为网络延迟等原因错过若干个区块,此时该节点应该和其他正常工作的节点完成区块同步。AeroChain中有两类区块同步的情况。
A、通过Synchrony(同步)协议发起同步。
如果一个节点主动触发,或者节点在遍历了f+1个新的主节点后仍然不能完成视图转换,应当进行区块同步,该节点广播<synchrony,hsyn,i>sign-i,hsyn该节点区块链的最大高度。此时请求同步的节点不再发送prepare消息,但仍可正常接收pre-prepare和prepare消息。请求同步的节点把此时依然能够达成共识的区块添加到一个临时区块链。这些依然能达成共识的区块,是指在请求同步节点不发送prepare消息的前提下,仍能得到至少R条prepare消息确认的区块。
收到synchrony消息的正常工作的节点,向请求同步的节点发送<synchronized,vcurrent,E,i>sign-i,其中vcurrent为当前视图,但此时只需要为区块高度大于hcurrent的节点生成相应的证据信息即可。
请求同步的节点接受synchronized消息,验证是否满足如下条件:
●数字签名正确;
●E中的消息全部正确。
如果请求区块同步的节点能收到2f+1条相同的synchronized消息,则设置自己的视图号为vcurrent,并根据集合E中的pre-prepare消息和prepare消息生成对应区块,添加到自身的区块链上。然后再将此时的区块链和临时区块链取并,开始正常工作。
B、在view change过程中同步。
在view change过程中的同步和通过Synchrony协议发起的同步原理大致相同,都是通过集合E中的pre-prepare消息和prepare消息生成相应区块,参照上述过程即可,这里不再展开赘述。
需要说明的是,应用于航空领域仅是本发明实施例信息管理系统的一种场景,这里仅是作为示例性说明。
本发明提供的信息管理系统具有通用性,可以应用于实际应用场景中的多种领域。且在实际应用过程中,当AeroChain被恶意节点攻击的频率较高时,可以为AeroChain引入错误反馈机制。且可以在当节点出现预设数量次错误行为后,将该节点删除,以通过减少错误节点的个数,进一步提高信息管理系统的可靠性。另外,为了进一步降低对计算资源的消耗,可以采用数字签名之外的技术保证数据的可靠传输。与传统的技术相比,本发明实施例中以较低的代价实现了数据的去中心化存储,提供了更为安全的存储服务。
结合上述过程以及检查点协议、视图切换、区块同步等过程,能够保证在某些节点出现错误行为时,可以从错误中恢复,并且在恢复的过程中不会对信息管理系统的安全性、活性以及一致性等造成威胁。
本发明实施例还提供了一种信息管理方法,应用于信息管理系统中的第一节点,如图5所示,包括:
S501,从数据源获取信息,并生成信息对应的区块,其中,第一节点为信息管理系统中任一节点。
S502,确定区块对应的第一验证信息。
S503,广播第一验证信息,以使除第一节点之外的多个第二节点接收第一验证信息,并验证第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个第二节点分别对应的第二验证信息。
S504,接收多个第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与第一节点的记录信息匹配时,将区块添加至第一节点对应的区块链,其中,第二预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
本发明实施例中,第一节点和第二节点通过验证第一验证信息和第二验证信息与自身的记录信息的匹配情况,将信息对应的区块添加至区块链中。通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。
可选的,在将区块添加至第一节点对应的区块链之后,该方法还包括:
接收多个第二节点发送的检查点信息,其中,检查点信息中包括该第二节点的区块链中最新区块的区块高度;在检查点信息的个数达到第三预设数量、且第三预设数量个检查点信息与第一节点的区块链中信息匹配时,保存第三预设数量个检查点信息;并删除保存的第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息,其中,第三预设数量是根据错误节点的预设个数确定。
本发明实施例还提供了一种信息管理方法,应用于信息管理系统中的数据源,如图6所示,包括:
S601,广播信息。
S602,在预设时间间隔内检测信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播信息,直至确认信息对应的区块已添加至第一预设数量个节点对应的区块链;其中,第一预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
本发明实施例中,通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。且数据源引入确认机制,能够降低计算复杂度。
本发明实施例还提供了一种信息管理装置,应用于信息管理系统中的第一节点,如图7所示,包括:
获取模块701,用于从数据源获取信息;
生成模块702,用于生成信息对应的区块,其中,第一节点为信息管理系统中任一节点;
确定模块703,用于确定区块对应的第一验证信息;
广播模块704,用于广播第一验证信息,以使除第一节点之外的多个第二节点接收第一验证信息,并验证第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个第二节点分别对应的第二验证信息;
接收模块705,用于接收多个第二节点分别发送的第二验证信息;
添加模块706,用于在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与第一节点的记录信息匹配时,将区块添加至第一节点对应的区块链,其中,第二预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
本发明实施例中,第一节点和第二节点通过验证第一验证信息和第二验证信息与自身的记录信息的匹配情况,将信息对应的区块添加至区块链中。通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。
可选的,接收模块705,还用于接收多个第二节点发送的检查点信息,其中,检查点信息中包括该第二节点的区块链中最新区块的区块高度;
该装置还包括:
保存模块,用于在检查点信息的个数达到第三预设数量、且第三预设数量个检查点信息与第一节点的区块链中信息匹配时,保存第三预设数量个检查点信息;
删除模块,用于删除保存的第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息,其中,第三预设数量是根据错误节点的预设个数确定。
需要说明的是,本发明实施例提供的信息管理装置是应用上述应用于信息管理系统中第一节点的信息管理方法的装置,则上述应用于信息管理系统中第一节点的信息管理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供了一种信息管理装置,应用于信息管理系统中的数据源,如图8所示,包括:
广播模块801,用于广播信息;
检测模块802,用于在预设时间间隔内检测信息对应的区块是否已添加至第一预设数量个节点对应的区块链;
广播模块801,还用于如果未被添加,则重新广播信息,直至确认信息对应的区块已添加至第一预设数量个节点对应的区块链;其中,第一预设数量是根据信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
本发明实施例中,通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。且数据源引入确认机制,能够降低计算复杂度。
需要说明的是,本发明实施例提供的信息管理装置是应用上述应用于信息管理系统中数据源的信息管理方法的装置,则上述应用于信息管理系统中数据源的信息管理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。
存储器903,用于存放计算机程序。
处理器901,用于执行存储器903上所存放的程序时,实现上述应用于信息管理系统中第一节点的信息管理方法的方法步骤。
本发明实施例中,第一节点和第二节点通过验证第一验证信息和第二验证信息与自身的记录信息的匹配情况,将信息对应的区块添加至区块链中。通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。
存储器1003,用于存放计算机程序。
处理器1001,用于执行存储器1003上所存放的程序时,实现上述应用于信息管理系统中数据源的信息管理方法的方法步骤。
本发明实施例中,通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。且数据源引入确认机制,能够降低计算复杂度。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现实现上述应用于信息管理系统中第一节点的信息管理方法的方法步骤。
本发明实施例中,第一节点和第二节点通过验证第一验证信息和第二验证信息与自身的记录信息的匹配情况,将信息对应的区块添加至区块链中。通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现实现上述应用于信息管理系统中数据源的信息管理方法的方法步骤。
本发明实施例中,通过信息的传递实现各个节点对区块的共识,如此能够降低对计算资源的消耗。且数据源引入确认机制,能够降低计算复杂度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备及存储介质实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种信息管理系统,其特征在于,包括:数据源和多个节点,所述多个节点中包括第一节点和第二节点;其中,
所述数据源,用于广播信息;在预设时间间隔内检测所述信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播所述信息,直至确认所述信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,所述第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;
所述节点中第一节点,用于从数据源获取所述信息,并生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;确定所述区块对应的第一验证信息;广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;接收多个所述第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;
所述第二节点,用于接收包括所述第一节点和除该第二节点之外的其他第二节点发送的第二验证信息,且在第二验证信息的个数达到所述第二预设数量、且该第二预设数量个第二验证信息均与该第二节点的记录信息匹配时,将所述区块添加至该第二节点对应的区块链。
2.根据权利要求1所述的系统,其特征在于,所述第一节点,还用于接收所述数据源广播的数据,并将接收到的数据保存至本地缓存;每隔预设时间段从所述本地缓存中取出预设数量个数据,并将该预设数量个数据作为所述信息;生成所述信息对应的区块。
3.根据权利要求1所述的系统,其特征在于,所述第一节点,还用于在所述确定所述区块对应的第一验证信息之后,保存所述第一验证信息;在接收所述第二节点发送的所述第二验证信息之后,针对各个第二节点,保存该第二节点发送的第二验证信息。
4.根据权利要求3所述的系统,其特征在于,所述第一节点,还用于在所述将所述区块添加至所述第一节点对应的区块链之后,接收多个所述第二节点发送的检查点信息,其中,所述检查点信息中包括该第二节点的区块链中最新区块的区块高度;在所述检查点信息的个数达到第三预设数量、且所述第三预设数量个所述检查点信息与所述第一节点的区块链中信息匹配时,保存所述第三预设数量个所述检查点信息;并删除保存的所述第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息,其中,所述第三预设数量是根据错误节点的预设个数确定。
5.根据权利要求1至4任一项所述的系统,其特征在于,所述信息包括航空监视信息。
6.一种信息管理方法,其特征在于,应用于信息管理系统中的第一节点,包括:
从数据源获取信息,并生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;
确定所述区块对应的第一验证信息;
广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;
接收多个所述第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
7.根据权利要求6所述的方法,其特征在于,在所述将所述区块添加至所述第一节点对应的区块链之后,所述方法还包括:
接收多个所述第二节点发送的检查点信息,其中,所述检查点信息中包括该第二节点的区块链中最新区块的区块高度;
在所述检查点信息的个数达到第三预设数量、且所述第三预设数量个所述检查点信息与所述第一节点的区块链中信息匹配时,保存所述第三预设数量个所述检查点信息;并删除保存的所述第一节点的区块链中区块高度不大于最新区块的区块高度的区块、对应的第一验证信息和第二验证信息,其中,所述第三预设数量是根据错误节点的预设个数确定。
8.一种信息管理方法,其特征在于,应用于信息管理系统中的数据源,包括:
广播信息,以使第一节点从所述数据源获取所述信息,并生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;确定所述区块对应的第一验证信息;广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;接收多个所述第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;
在预设时间间隔内检测所述信息对应的区块是否已添加至第一预设数量个节点对应的区块链,如果未被添加,则重新广播所述信息,直至确认所述信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,所述第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
9.一种信息管理装置,其特征在于,应用于信息管理系统中的第一节点,包括:
获取模块,用于从数据源获取信息;
生成模块,用于生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;
确定模块,用于确定所述区块对应的第一验证信息;
广播模块,用于广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;
接收模块,用于接收多个所述第二节点分别发送的第二验证信息;
添加模块,用于在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
10.一种信息管理装置,其特征在于,应用于信息管理系统中的数据源,包括:
广播模块,用于广播信息,以使第一节点从所述数据源获取所述信息,并生成所述信息对应的区块,其中,所述第一节点为所述信息管理系统中任一节点;确定所述区块对应的第一验证信息;广播所述第一验证信息,以使除所述第一节点之外的多个第二节点接收所述第一验证信息,并验证所述第一验证信息与自身对应的记录信息是否匹配,并在匹配时,发送多个所述第二节点分别对应的第二验证信息;接收多个所述第二节点分别发送的第二验证信息,并在第二验证信息的个数达到第二预设数量、且该第二预设数量个第二验证信息均与所述第一节点的记录信息匹配时,将所述区块添加至所述第一节点对应的区块链,其中,所述第二预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定;
检测模块,用于在预设时间间隔内检测所述信息对应的区块是否已添加至第一预设数量个节点对应的区块链;
广播模块,还用于如果未被添加,则重新广播所述信息,直至确认所述信息对应的区块已添加至所述第一预设数量个节点对应的区块链;其中,所述第一预设数量是根据所述信息管理系统中所有节点的总个数以及错误节点的预设个数确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810916763.9A CN109194493B (zh) | 2018-08-13 | 2018-08-13 | 一种信息管理系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810916763.9A CN109194493B (zh) | 2018-08-13 | 2018-08-13 | 一种信息管理系统、方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194493A CN109194493A (zh) | 2019-01-11 |
CN109194493B true CN109194493B (zh) | 2020-11-13 |
Family
ID=64921620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810916763.9A Active CN109194493B (zh) | 2018-08-13 | 2018-08-13 | 一种信息管理系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194493B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458582B (zh) | 2019-01-29 | 2023-12-12 | 深圳市智税链科技有限公司 | 基于区块链系统的业务处理方法、装置、介质及电子设备 |
WO2019101242A2 (en) * | 2019-03-18 | 2019-05-31 | Alibaba Group Holding Limited | System and method for ending view change protocol |
CN111342971B (zh) * | 2020-02-07 | 2023-08-08 | 数据通信科学技术研究所 | 一种拜占庭共识方法和系统 |
CN111711711A (zh) * | 2020-05-28 | 2020-09-25 | 北京邮电大学 | 基于区块链的顶级域名管理和解析方法及系统 |
CN111741121A (zh) * | 2020-07-03 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 区块链中的垃圾信息的处理方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453636A (zh) * | 2016-11-22 | 2017-02-22 | 深圳银链科技有限公司 | 可信区块生成方法及系统 |
CN107016611A (zh) * | 2017-03-29 | 2017-08-04 | 杭州秘猿科技有限公司 | 一种基于区块链的交易超时控制方法 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10411905B2 (en) * | 2016-07-01 | 2019-09-10 | Intel Corporation | Public key infrastructure using blockchains |
-
2018
- 2018-08-13 CN CN201810916763.9A patent/CN109194493B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453636A (zh) * | 2016-11-22 | 2017-02-22 | 深圳银链科技有限公司 | 可信区块生成方法及系统 |
CN107016611A (zh) * | 2017-03-29 | 2017-08-04 | 杭州秘猿科技有限公司 | 一种基于区块链的交易超时控制方法 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
Non-Patent Citations (2)
Title |
---|
基于区块链的去中心化交易关键技术研究及应用;安庆文;《中国优秀硕士学位论文全文数据库》;20170715;正文第3.3节 * |
基于可信计数器的拜占庭容错技术研究;朱腾;《中国优秀硕士学位论文全文数据库》;20140915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109194493A (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194493B (zh) | 一种信息管理系统、方法及装置 | |
CN108492103B (zh) | 一种联盟区块链共识方法 | |
CN112685796B (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
US11411721B2 (en) | Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system | |
CN110351133B (zh) | 用于区块链系统中的主节点切换处理的方法及装置 | |
Androulaki et al. | Hyperledger fabric: a distributed operating system for permissioned blockchains | |
US11522698B2 (en) | Method and system for byzantine fault-tolerance replicating of data | |
US20180308091A1 (en) | Fairness preserving byzantine agreements | |
US11128522B2 (en) | Changing a master node in a blockchain system | |
CN109542888B (zh) | 区块链的数据修改和同步方法、装置、设备及存储介质 | |
CN109815373B (zh) | 数据存储的控制方法、装置、服务器及可读存储介质 | |
EP3545665B1 (en) | System and method for detecting replay attack | |
CN111418183A (zh) | 区块链区块的异步处理 | |
CN111209339B (zh) | 区块同步方法、装置、计算机以及存储介质 | |
CN112612856B (zh) | 基于区块链的数据处理方法和装置 | |
CN111899019A (zh) | 一种黑名单多方交叉验证和共享的方法及系统 | |
US20240097919A1 (en) | Consensus trusted cluster changing method, computer device and computer-readable storage medium | |
CN109586949A (zh) | 区块生成方法及计算机存储介质 | |
Amiri et al. | Saguaro: An edge computing-enabled hierarchical permissioned blockchain | |
CN113254526A (zh) | 区块链共识方法、装置及系统 | |
CN113630445B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
Rüsch et al. | ZugChain: Blockchain-based juridical data recording in railway systems | |
Feng et al. | A Low Communication Complexity Double‐layer PBFT Consensus | |
Kleppmann | Distributed systems | |
Amiri et al. | Rashnu: Data-dependent order-fairness |
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 |