掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于区块链的排放数据存储方法、装置、设备及介质。

背景技术

相关道路标准表明,道路或非道路车辆的排放数据要进行采集和记录,并且排放数据不可篡改。目前通过安装在车辆上的车载终端采集排放数据,为了防止排放数据被篡改,目前是通过车载终端PCB(Printed Circuit Board,印制线路板)板上的安全芯片的数字签名和秘钥,对采集的排放原始数据进行数字签名加密,再通过物联网相关技术向企业平台和国家环保平台发送排放数据。

然而,目前通过安全芯片对排放数据进行数字签名和加密的方案存在安全问题,一旦安全芯片的私钥泄露,签名和加密将失效,此外,目前的加密方式属于单机中心化的加密,还存在着数据被篡改的风险。

发明内容

本发明提供了一种基于区块链的排放数据存储方法、装置、设备及介质,以提高排放数据存储安全性,降低排放数据被篡改的可能性。

根据本发明的一方面,提供了一种基于区块链的排放数据存储方法,由区块链网络中的区块生成节点执行,所述方法包括:

获取车载终端发送的排放数据存储请求;所述排放数据存储请求包括所述车载终端的排放数据和车端信息;所述车端信息包括终端标识;

根据所述终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果;

根据所述数据判断结果,生成相应区块,并向所述区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果;

根据所述区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。

根据本发明的另一方面,提供了一种基于区块链的排放数据存储装置,应用于区块链网络中的区块生成节点,所述装置包括:

存储请求获取模块,用于获取车载终端发送的排放数据存储请求;所述排放数据存储请求包括所述车载终端的排放数据和车端信息;所述车端信息包括终端标识;

判断结果确定模块,用于根据所述终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果;

区块广播模块,用于根据所述数据判断结果,生成相应区块,并向所述区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果;

链式结构数据确定模块,用于根据所述区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。

根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的基于区块链的排放数据存储方法。

根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的基于区块链的排放数据存储方法。

本发明实施例方案通过获取车载终端发送的排放数据存储请求;根据终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果;根据数据判断结果,生成相应区块,并向区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果;根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。上述技术方案通过根据数据判断结果,生成相应区块并广播,由区块验证节点进行区块验证,得到区块验证结果,对车载终端的链式结构数据的链上存储的方式,实现了对车载终端的排放数据的持久化存储,提高了排放数据存储过程和存储环境的安全性,降低了排放数据被篡改的可能性,保证了排放数据的真实性、不可篡改和安全性,为相关需求人员提供排放数据安全性保障。

应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例一提供的一种基于区块链的排放数据存储方法的流程图;

图2是根据本发明实施例二提供的一种基于区块链的排放数据存储方法的流程图;

图3是根据本发明实施例三提供的一种基于区块链的排放数据存储方法的流程图;

图4是根据本发明实施例四提供的一种基于区块链的排放数据存储装置的结构示意图;

图5是实现本发明实施例的基于区块链的排放数据存储方法的电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一

图1为本发明实施例一提供的一种基于区块链的排放数据存储方法的流程图,本实施例可适用于对车载终端的排放数据进行安全存储的情况,该方法可以由基于区块链的排放数据存储装置来执行,该基于区块链的排放数据存储装置可以采用硬件和/或软件的形式实现,该基于区块链的排放数据存储装置可配置于电子设备中,应用于区块链网络中的区块生成节点。

S110、获取车载终端发送的排放数据存储请求;排放数据存储请求包括车载终端的排放数据和车端信息;车端信息包括终端标识。

其中,排放数据存储请求可以是车载终端将自身排放数据在区块链上安全存储的请求。排放数据可以包括GPS(Global Positioning System,全球定位系统)信息、上报指令ID(Identity document,身份证标识号)、车速、发动机转速、发动机燃料油量、NOx(用于检测发动机排气中N2O、NO、NO2、N2O3、N2O4和N2O5等氮氧化物)传感器输出、SCR(SelectiveCatalytic Reduction,选择性催化还原转化器)温度、DPF压差、累计里程和累计燃油量等中的至少一种。

其中,车端信息可以包括车载终端的终端标识和上传排放数据的上传时间,其中,终端标识用于表征车载终端的唯一性。需要说明的是,车载终端的排放数据可以通过CAN((Controller Area Network,控制器局域网络)总线采集发动机数据得到。

示例性的,可以由区块链网络中的区块链节点获取车载终端上传的排放数据存储请求。需要说明的是,在区块链网络中可以部署有大量的区块链节点。由于区块链网络的区块链节点为分布式账本的数据存储结构,因此,为保证排放数据的安全性、不可篡改性和真实性,可以在数据存储过程中引入共识算法。因此,可以通过共识算法从大量区块链节点中选取用于进行区块生成的主节点,作为区块生成节点。并将区块链节点中除区块生成节点之外的其他区块链节点作为区块验证节点。因此,可以由区块链网络中的区块生成节点获取车载终端发送的排放数据存储请求。

需要说明的是,在区块生成节点获取到车载终端发送的排放数据存储请求之后,可以对该请求进行解析,从而得到排放数据和车端信息。具体的,车载终端基于自身车辆上部署的加密芯片的私钥对排放数据和车端信息进行加密处理,生成排放数据存储请求发送至区块链网络。在区块链网络的区块生成节点收到排放数据存储请求后,采用预先存储加密芯片的公钥对排放数据存储请求进行解密处理,得到车载终端的排放数据和车端信息。

S120、根据终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果。

其中,链式结构数据可以是排放数据在区块链节点上存储的数据形式,不同车载终端对应的各自的链式结构数据。各区块链节点上分别存储全部车载终端的对应的链式结构数据。

示例性的,区块生成节点可以通过终端标识,判断区块链上是否存在该终端标识对应的车载终端的链式结构数据。需要说明的是,在区块链节点获取到车载终端上传的排放数据之后,链上可能已经存在有该车载终端对应的链式结构数据,也可能获取到的是新的车载终端第一次上传的链式结构数据,在链上并未有该车载终端对应的链式存储结构。因此,针对不同情况,后续所采用的存储处理方式不同。其中,数据判断结果可以包括链上存在相应车载终端的链式存储结构,以及链上不存在相应车载终端的链式存储结构。

S130、根据数据判断结果,生成相应区块,并向区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果。

示例性的,若数据判断结果为链上存在相应车载终端的链式存储结构,则区块生成节点根据终端标识,获取相应车载终端的链式存储结构,并根据获取的排放数据和车端信息,生成相应区块,基于PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识算法,区块生成节点向区块链网络进行广播,以供区块验证节点对相应区块进行验证,得到区块验证结果。

示例性的,若数据判断结果为链上不存在相应车载终端的链式存储结构,则构建该车载终端的链式存储结构,并根据车辆信息,生成相应车载终端的链式存储结构的第一个区块,以及根据排放数据生成链式存储结构的第二个区块,并将第一个区块和第二个区块作为相应区块,基于PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识算法,区块生成节点向区块链网络进行广播,以供区块验证节点对相应区块进行验证,得到区块验证结果。

S140、根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。

示例性的,若区块验证结果通过,则区块生成节点和区块验证节点根据相应区块,确定在本次共识下相应车载终端的链式结构数据并在链式存储,以供查看。具体可以是区块生成节点和区块验证节点将相应区块添加至车载终端的链式结构数据的链条尾部,得到本次共识下,该车载终端的链式结构数据。

可选的,区块链网络的各区块链节点可以将此次得到的排放数据的相关信息发布值消息队列,以有需求的物联网平台进行订阅。具体的,区块链节点可以提供一个API(Application Programming Interface,应用程序编程接口),供物联网平台或外部系统调用。可以由物联网平台或外部系统通过车载终端ID查询所有上报的车载终端的排放数据。使用方可以通过手机APP(Application,应用程序),或者web(World Wide Web,全球广域网)应用调用该API,从区块链分布式账本中查询所有排放数据的上报信息和历史记录。

本发明实施例方案通过获取车载终端发送的排放数据存储请求;根据终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果;根据数据判断结果,生成相应区块,并向区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果;根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。上述技术方案通过根据数据判断结果,生成相应区块并广播,由区块验证节点进行区块验证,得到区块验证结果,对车载终端的链式结构数据的链上存储的方式,实现了对车载终端的排放数据的持久化存储,提高了排放数据存储过程和存储环境的安全性,降低了排放数据被篡改的可能性,保证了排放数据的真实性、不可篡改和安全性,为相关需求人员提供排放数据安全性保障。

实施例二

图2为本发明实施例二提供的一种基于区块链的排放数据存储方法的流程图,本实施例在上述各技术方案的基础上,进行了优化改进。

进一步的,将步骤“根据数据判断结果,生成相应区块,并向区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果”,细化为“若链上存在相应车载终端的链式结构数据,则获取相应车载终端的链式结构数据中的尾部区块;尾部区块包括该区块对应的区块哈希值;根据排放数据和尾部区块的区块哈希值,生成当前区块;向区块链网络广播当前区块,以供区块验证节点对当前区块进行区块验证,得到区块验证结果。”以完善对区块验证结果的确定方式。需要说明的是,在本发明实施例中未详述的部分,可参见其他实施例的表述。

参见图2所示的基于区块链的排放数据存储方法,包括:

S210、获取车载终端发送的排放数据存储请求;排放数据存储请求包括车载终端的排放数据和车端信息;车端信息包括终端标识。

S220、根据终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果。

S230、若链上存在相应车载终端的链式结构数据,则获取相应车载终端的链式结构数据中的尾部区块;尾部区块包括该区块对应的区块哈希值。

其中,尾部区块可以是相应车载终端的链式结构数据中的最后一个区块。其中,尾部区块中包括该尾部区块对应的区块哈希值。

示例性的,若区块链上存在相应车载终端的链式结构数据,则获取该车载终端的链式结构数据,并确定该链式结构数据中的尾部区块所对应的区块哈希值。

S240、根据排放数据和尾部区块的区块哈希值,生成当前区块。

示例性的,可以由区块生成节点对排放数据和尾部区块的区块哈希值再进行哈希运算,得到当前区块的区块哈希值,从而得到包括区块哈希值的当前区块。

S250、向区块链网络广播当前区块,以供区块验证节点对当前区块进行区块验证,得到区块验证结果。

示例性的,区块生成节点可以向区块链网络广播当前区块,并由区块验证节点对当前区块进行区块验证,得到区块验证结果。其中,区块验证结果包括区块验证通过和区块验证未通过。

在一个可选实施例中,向区块链网络广播所述当前区块,以供区块验证节点对当前区块进行区块证,得到区块验证结果,包括:对当前区块进行签名处理,得到当前签名区块并发送至所述区块验证节点,以供区块验证节点对当前签名区块进行签名验证,得到一次投票通过结果,并将一次投票通过结果向所述区块链网络进行广播;若接收到第一预设数量阈值的一次投票通过结果,则向区块链网络广播确认消息,以供区块验证节点根据确认消息进行二次投票,得到二次投票通过结果,并将二次投票通过结果向区块链网络进行广播;根据接收到的二次投票通过结果的结果数量,确定区块验证结果。

示例性的,区块生成节点对当前区块进行签名处理,得到当前签名区块,并将当前签名区块向区块链网络进行广播,供区块验证节点进行区块验证。区块验证节点在收到当前签名区块后,对当前签名区块进行解析得到当前区块,并验证当前签名区块的签名是否正确以及摘要信息是否正确等。区块验证节点对当前签名区块进行验证后通过后向区块链网络广播一次投票通过结果,需要说明的是,对当前签名区块验证未通过的区块验证节点不进行一次投票通过结果广播。当区块验证节点接收到第一预设数量阈值的一次投票通过结果,则向区块链网络广播确认消息。其中,第一预设消息数量阈值可以由相关技术人员预先设定。例如可以是2f+1,其中,f为宕机节点数量。需要说明的是,区块验证节点在接收到第一预设数量阈值的一次投票通过结果时,同样向区块链网络广播确认消息。因此,区块验证节点根据接收到的确认消息的数量进行二次投票,若接收到预设数量阈值如2f+1条确认消息,则向区块链网络广播二次投票通过结果。需要说明的是,未接收到预设数量阈值如2f+1条确认消息的区块链验证节点不进行广播。区块生成节点根据接收到的二次投票通过结果的结果数量,确定区块验证结果。

S260、根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。

示例性的,若区块验证通过,则将当前区块添加至车载终端的链式结构数据的尾部区块的后面,更新链式结构数据,从而得到本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。若区块验证未通过,则保留相应车载终端的当前的链式结构数据,不进行区块的添加操纵。

在一个可选实施例中,根据接收到的二次投票通过结果的结果数量,确定区块验证结果,包括:若接收到的二次投票通过结果的结果数量不小于第二预设数量阈值,则确定区块验证结果通过;若接收到的二次投票通过结果的结果数量小于第二预设数量阈值,则确定区块验证结果未通过;相应的,根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,包括:若区块验证结果通过,则采用当前区块,更新在本次共识下,相应车载终端的链式结构数据并在链上存储;若区块验证结果未通过,则将获取的相应车载终端的链式结构数据,作为本次共识下,相应车载终端的链式结构数据并在链上存储。

示例性的,若区块生成节点接收到的二次投票通过结果的结果数量不小于第二预设数量阈值,则确定区块验证结果通过;若区块生成节点接收到的二次投票通过结果的结果数量小于第二预设数量阈值,则确定区块验证结果未通过。若区块验证结果通过,则将当前区块添加至该车载终端的链式结构数据的尾部区块的后面,以更新链式结构数据,得到在本次共识下,相应车载终端的链式结构数据并在链上存储。若区块验证结果未通过,则将获取的相应车载终端的链式结构数据,作为本次共识下,相应车载终端的链式结构数据并在链上存储。

本实施例方案通过确定链上存在相应车载终端的链式结构数据时,获取相应车载终端的链式结构数据中的尾部区块的区块哈希值,根据排放数据和尾部区块的区块哈希值,生成当前区块,并向区块链网络广播当前区块,以供区块验证节点对当前区块进行区块验证,得到区块验证结果,以完善对区块验证结果的确定方式,实现了在确定链上存在相应车载终端的链式结构数据时,对区块验证结果的准确确定,从而进一步提高了对车载终端的链式结构数据的准确确定。

实施例三

图3为本发明实施例三提供的一种基于区块链的排放数据存储方法的流程图,本实施例在上述各技术方案的基础上,进行了优化改进。

进一步的,将步骤“根据数据判断结果,生成相应区块,并向区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果”,细化为“若链上不存在相应车载终端的链式结构数据,则根据车端信息,生成相应车载终端对应的链式结构数据的第一区块;第一区块包括该区块对应的区块哈希值;根据排放数据和第一区块的区块哈希值,生成相应车载终端对应的链式结构数据的第二区块;向区块链网络广播第二区块,以供区块验证节点对第二区块进行验证,得到区块验证结果。”以完善对区块验证结果的确定方式。需要说明的是,在本发明实施例中未详述的部分,可参见其他实施例的表述。

参见图3所示的基于区块链的排放数据存储方法,包括:

S310、获取车载终端发送的排放数据存储请求;排放数据存储请求包括车载终端的排放数据和车端信息;车端信息包括终端标识。

S320、根据终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果。

S330、若链上不存在相应车载终端的链式结构数据,则根据车端信息,生成相应车载终端对应的链式结构数据的第一区块;第一区块包括该区块对应的区块哈希值。

示例性的,若区块链上不存在相应车载终端的链式结构数据,则表明区块链节点第一次收到该车载终端的排放数据,因此,可以构建该车载终端的链式结构数据,并根据车端信息,生成相应车载终端对应的链式结构数据的第一区块。其中,第一区块可以是该链式结构数据中的第一个区块。

其中,车端信息可以包括车载终端的终端标识和上传时间,因此,可以对车端信息进行哈希计算,生成第一区块并得到该区块的区块哈希值。

S340、根据排放数据和第一区块的区块哈希值,生成相应车载终端对应的链式结构数据的第二区块。

示例性的,可以由区块生成节点对排放数据和第一区块的区块哈希值再进行哈希运算,得到第二区块的区块哈希值,从而得到包括区块哈希值的第二区块。

S350、向区块链网络广播第二区块,以供区块验证节点对第二区块进行验证,得到区块验证结果。

示例性的,区块生成节点可以向区块链网络广播第二区块,并由区块验证节点对第二区块进行区块验证,得到区块验证结果。其中,区块验证结果包括区块验证通过和区块验证未通过。

在一个可选实施例中,向区块链网络广播第二区块,以供区块验证节点对第二区块进行区块验证,得到区块验证结果,包括:对第二区块进行签名处理,得到第二签名区块并发送至区块验证节点,以供区块验证节点对第二签名区块进行签名验证,得到三次投票通过结果,并将三次投票通过结果向区块链网络进行广播;若接收到第三预设数量阈值的三次投票通过结果,则向区块链网络广播确认消息,以供区块验证节点根据确认消息进行四次投票,得到四次投票通过结果,并将四次投票通过结果向区块链网络进行广播;根据接收到的四次投票通过结果的结果数量,确定区块验证结果。

示例性的,区块生成节点对第二区块进行签名处理,得到第二签名区块,并将第二签名区块向区块链网络进行广播,供区块验证节点进行区块验证。区块验证节点在收到第二签名区块后,对第二签名区块进行解析得到第二区块,并验证第二签名区块的签名是否正确以及摘要信息是否正确等。区块验证节点对第二签名区块进行验证后通过后向区块链网络广播三次投票通过结果,需要说明的是,对第二签名区块验证未通过的区块验证节点不进行三次投票通过结果广播。当区块验证节点接收到第三预设数量阈值的三次投票通过结果,则向区块链网络广播确认消息。其中,第三预设消息数量阈值可以由相关技术人员预先设定。例如可以是2f+1,其中,f为宕机节点数量。需要说明的是,区块验证节点在接收到第三预设数量阈值的三次投票通过结果时,同样向区块链网络广播确认消息。因此,区块验证节点根据接收到的确认消息的数量进行四次投票,若接收到预设数量阈值如2f+1条确认消息,则向区块链网络广播四次投票通过结果。需要说明的是,未接收到预设数量阈值如2f+1条确认消息的区块链验证节点不进行广播。区块生成节点根据接收到的四次投票通过结果的结果数量,确定区块验证结果。

S360、根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。

示例性的,若区块验证通过,则生成本次共识下相应车载终端的链式结构数据,该链式结构数据中包括第一区块和第二区块。示例性的,若区块验证未通过,则在本次共识下可以仅得到包括第一区块的链式存储结构数据,或者在本次共识下,不生成相应车载终端的链式结构数据。

在一个可选实施例中,根据接收到的四次投票通过结果的结果数量,确定区块验证结果,包括:若接收到的四次投票通过结果的结果数量不小于第四预设数量阈值,则确定区块验证结果通过;若接收到的四次投票通过结果的结果数量小于第四预设数量阈值,则确定区块验证结果未通过;相应的,根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,包括:若区块验证结果通过,则根据第一区块和第二区块生成在本次共识下,相应车载终端的链式结构数据并在链上存储;若区块验证结果未通过,则根据第一区块,生成本次共识下,相应车载终端的链式结构数据并在链上存储。

示例性的,若区块生成节点接收到的三次投票通过结果的结果数量不小于第三预设数量阈值,则确定区块验证结果通过;若区块生成节点接收到的四次投票通过结果的结果数量小于第四预设数量阈值,则确定区块验证结果未通过。若区块验证结果通过,则生成本次共识下包括第一区块和第二区块的车载终端的链式结构数据并在链上存储;若区块验证结果未通过,则可以生成本次共识下包括第一区块的车载终端的链式结构数据并在链上存储。

本实施例方案通过确定链上不存在相应车载终端的链式结构数据,则根据车端信息,生成相应车载终端对应的链式结构数据的第一区块的区块哈希之,并根据排放数据和第一区块的区块哈希值,生成相应车载终端对应的链式结构数据的第二区块并进行广播,以供区块验证节点对第二区块进行验证,得到区块验证结果的确定方式,实现了在确定链上存在相应车载终端的链式结构数据时,对区块验证结果的准确确定,从而进一步提高了对车载终端的链式结构数据的准确确定。

实施例四

图4为本发明实施例四提供的一种基于区块链的排放数据存储装置的结构示意图。本发明实施例所提供的一种基于区块链的排放数据存储装置,该装置可适用于对车载终端的排放数据进行安全存储的情况,该基于区块链的排放数据存储装置可以采用硬件和/或软件的形式实现,如图4所示,该装置具体包括:存储请求获取模块401、判断结果确定模块402、区块广播模块403和链式结构数据确定模块404。其中,

存储请求获取模块401,用于获取车载终端发送的排放数据存储请求;所述排放数据存储请求包括所述车载终端的排放数据和车端信息;所述车端信息包括终端标识;

判断结果确定模块402,用于根据所述终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果;

区块广播模块403,用于根据所述数据判断结果,生成相应区块,并向所述区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果;

链式结构数据确定模块404,用于根据所述区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。

本发明实施例方案通过获取车载终端发送的排放数据存储请求;根据终端标识,判断链上是否存在相应车载终端的链式结构数据,得到数据判断结果;根据数据判断结果,生成相应区块,并向区块链网络进行广播,以供区块验证节点对相应区块进行区块验证,得到区块验证结果;根据区块验证结果,确定在本次共识下相应车载终端的链式结构数据并在链上存储,以供查看。上述技术方案通过根据数据判断结果,生成相应区块并广播,由区块验证节点进行区块验证,得到区块验证结果,对车载终端的链式结构数据的链上存储的方式,实现了对车载终端的排放数据的持久化存储,提高了排放数据存储过程和存储环境的安全性,降低了排放数据被篡改的可能性,保证了排放数据的真实性、不可篡改和安全性,为相关需求人员提供排放数据安全性保障。

可选的,所述区块广播模块403,包括:

尾部区块获取单元,用于若链上存在相应车载终端的链式结构数据,则获取相应车载终端的链式结构数据中的尾部区块;所述尾部区块包括该区块对应的区块哈希值;

当前区块生成单元,用于根据所述排放数据和所述尾部区块的区块哈希值,生成当前区块;

当前区块广播单元,用于向所述区块链网络广播所述当前区块,以供所述区块验证节点对所述当前区块进行区块验证,得到区块验证结果。

可选的,所述区块广播单元,包括:

当前签名区块发送子单元,用于对所述当前区块进行签名处理,得到当前签名区块并发送至所述区块验证节点,以供所述区块验证节点对所述当前签名区块进行签名验证,得到一次投票通过结果,并将一次投票通过结果向所述区块链网络进行广播;

第一确认消息广播子单元,用于若接收到第一预设数量阈值的一次投票通过结果,则向所述区块链网络广播确认消息,以供所述区块验证节点根据所述确认消息进行二次投票,得到二次投票通过结果,并将所述二次投票通过结果向所述区块链网络进行广播;

第一验证结果确定子单元,用于根据接收到的所述二次投票通过结果的结果数量,确定区块验证结果。

可选的,所述第一验证结果确定子单元,具体用于:

若接收到的所述二次投票通过结果的结果数量不小于第二预设数量阈值,则确定区块验证结果通过;

若接收到的所述二次投票通过结果的结果数量小于第二预设数量阈值,则确定区块验证结果未通过;

相应的,所述链式结构数据确定模块404,具体用于:

若所述区块验证结果通过,则采用所述当前区块,更新在本次共识下,相应车载终端的链式结构数据并在链上存储;

若所述区块验证结果未通过,则将获取的相应车载终端的链式结构数据,作为本次共识下,相应车载终端的链式结构数据并在链上存储。

可选的,所述区块广播模块403,包括:

第一区块生成单元,用于若链上不存在相应车载终端的链式结构数据,则根据所述车端信息,生成相应车载终端对应的链式结构数据的第一区块;所述第一区块包括该区块对应的区块哈希值;

第二区块生成单元,用于根据所述排放数据和所述第一区块的区块哈希值,生成相应车载终端对应的链式结构数据的第二区块;

第二区块广播单元,用于向所述区块链网络广播所述第二区块,以供所述区块验证节点对所述第二区块进行验证,得到区块验证结果。

可选的,所述第二区块广播单元,包括:

第二签名区块发送子单元,用于对所述第二区块进行签名处理,得到第二签名区块并发送至所述区块验证节点,以供所述区块验证节点对所述第二签名区块进行签名验证,得到三次投票通过结果,并将三次投票通过结果向所述区块链网络进行广播;

第二确定消息广播子单元,用于若接收到第三预设数量阈值的三次投票通过结果,则向所述区块链网络广播确认消息,以供所述区块验证节点根据所述确认消息进行四次投票,得到四次投票通过结果,并将所述四次投票通过结果向所述区块链网络进行广播;

第二验证结果确定子单元,用于根据接收到的所述四次投票通过结果的结果数量,确定区块验证结果。

可选的,所述第二验证结果确定子单元,具体用于:

若接收到的所述四次投票通过结果的结果数量不小于第四预设数量阈值,则确定区块验证结果通过;

若接收到的所述四次投票通过结果的结果数量小于第四预设数量阈值,则确定区块验证结果未通过;

相应的,所述链式结构数据确定模块404,具体用于:

若所述区块验证结果通过,则根据所述第一区块和所述第二区块生成在本次共识下,相应车载终端的链式结构数据并在链上存储;

若所述区块验证结果未通过,则根据所述第一区块,生成本次共识下,相应车载终端的链式结构数据并在链上存储。

本发明实施例所提供的基于区块链的排放数据存储装置可执行本发明任意实施例所提供的基于区块链的排放数据存储方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5示出了可以用来实施本发明的实施例的电子设备50的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。

如图5所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、ROM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。

电子设备50中的多个部件连接至I/O接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如基于区块链的排放数据存储方法。

在一些实施例中,基于区块链的排放数据存储方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM 53并由处理器51执行时,可以执行上文描述的基于区块链的排放数据存储方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于区块链的排放数据存储方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术分类

06120115967280