发明内容
鉴于上述问题,本发明提出了一种基于区块链技术的车辆识别方法、系统及电子设备,其可以实现对停车场车辆信息的准确识别,并能够采用分布式记账方式保证车主根据用车时长和剩余金额自动费用扣除。
根据本发明实施例的第一方面,提供一种基于区块链技术的车辆识别方法,所述基于区块链技术的车辆识别方法包括:
获取车辆出库交易,并在车辆网内向所有的车辆节点发布广播;
所述每个所述的车辆节点将收到的交易状态信息写入第一区块;
每个所述的车辆节点在新的第一区块上进行计算,寻找解释证明;
确认所述解释证明,并将所述解释证明对应的第一区块在整个车辆网广播;
对新的交易进行验证,验证成功后交易正式完成,并保存为最新区块;
所述每个所述车辆节点通过所述最新区块获取第一哈希值,将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算。
在一个或多个实施例中,优选地,所述获取车辆出库交易,并在车辆网内向所有的车辆节点发布广播,具体包括:
车辆感应端获取车牌信息,获得车牌对应的电子戳信息和车辆币;
读取所述车辆网内的电子戳信息,其中,电子戳信息包括本次出库时间戳、本次入库时间戳、上次出库时间戳和上次入库时间戳;
通过所述本次出库时间戳和所述本次入库时间戳计算此次停车总时长;
根据所述车辆网内的存储数据进行车辆币消费金额计算;
将所述车辆币与所述车辆币消费金额做差,获得交易状态信息,其中,所述交易状态信息包括车辆币输出方、车辆币输入方、车辆币交易额、时间戳;
将所述交易状态信息在所述车辆网内发布广播。
在一个或多个实施例中,优选地,该方法还包括:
在车辆网内向所有的车辆节点发布广播的同时,将所述交易状态信息通过红外反馈给正在出库的车辆;
所述正在出库的车辆将所述交易状态信息反馈给所述车辆感应端。
在一个或多个实施例中,优选地,所述每个所述的车辆节点将收到的交易状态信息写入第一区块,具体包括:
在所述车辆网内,所有的车辆节点进行计算将所述交易状态信息写入到第一区块的交易状态信息区,其中,所述第一区块包括块高度、头部哈希值、解释证明数据区、交易状态信息区;
根据所述第一区块的数据区更新所述块高度;
将所述第一区块的数据区在所述车辆网内广播为新的所述第一区块。
在一个或多个实施例中,优选地,所述每个所述的车辆节点在新的第一区块上进行计算,寻找解释证明,具体包括:
在所述车辆网内,所述的每个所述车辆节点获取所述新的第一区块;
在所述车辆网内,所述的每个所述车辆节点根据所述新的第一区块寻找解释证明;
在所述车辆网内,当至少一个所述车辆节点根据所述新的第一区块;
寻找到解释证明后,将解释证明存储到所述解释证明数据区,并更新所述新的第一区块;在所述车辆网络内广播更新后的所述新的第一区块。
在一个或多个实施例中,优选地,所述确认所述解释证明,并将所述解释证明对应的第一区块在整个车辆网广播,具体包括:
在所述车辆网内,所述的每个所述车辆节点获取更新后的所述新的第一区块;
所述的每个所述车辆节点获取所述解释证明数据区,并解密计算,确认所述解释证明数据区是否正确;
当所述解释证明数据区正确时,在所述车辆网内发送交易验证广播。
在一个或多个实施例中,优选地,所述对新的交易进行验证,验证成功后交易正式完成,并保存为最新区块,具体包括:
在所述车辆网内,所述的每个所述车辆节点获取交易验证广播;
至少6个所述车辆节点对所述更新后的所述第一区块进行验证,验证通过后在所述车辆网内发布验证交易正式完成广播;
在车辆网内,所述的每个所述车辆节点在收到所述验证交易正式完成广播后,保存为最新区块,并在所述车辆网内广播。
在一个或多个实施例中,优选地,所述每个所述车辆节点通过所述最新区块获取第一哈希值,将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算,具体包括:
在所述车辆网内,所述的每个所述车辆节点在收到所述最新区块;
在所述车辆网内,所述的每个所述车辆节点获取所述最新区块的第一哈希值;
在所述车辆网内,所述的每个所述车辆节点根据状态转移函数进行下一个区块的计算;
所述状态转移函数为:
S(t+1)=F[S(t),B(t+1)]
其中,S(t+1)代表(t+1)区块时的状态,S(t)代表t时刻的状态,B(t+1)代表(t+1)时刻的区块,F[S(t),B(t+1)]指的是状态转移函数。
根据本发明实施例的第二方面,提供一种基于区块链技术的车辆识别系统,所述系统包括:
交易获取单元,获取车辆出库交易,并在车辆网内向所有的车辆节点发布广播;
交易写入单元,所述每个所述的车辆节点将收到的交易状态信息写入第一区块;
区块计算单元,每个所述的车辆节点在新的第一区块上进行计算,寻找解释证明;
解释证明单元,确认所述解释证明,并将所述解释证明对应的第一区块在整个车辆网广播;
交易验证单元,对新的交易进行验证,验证成功后交易正式完成,并保存为最新区块;
区块更新单元,所述每个所述车辆节点通过所述最新区块获取第一哈希值,将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算。
根据本发明实施例的第三方面,提供一种电子设备,包括存储器和处理器。所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现所述的基于区块链技术的车辆识别方法的步骤。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明实施例中,通过该方案,提供了一种基于区块链技术的车辆识别方法、系统及电子设备,通过区块链技术设计了车辆识别方法,并进而给出对应识别装置及电子设备,可实现对停车场车辆信息的准确识别,采用分布式记账方式保证车主根据用车时长和剩余金额公正、自动的进行停车费用扣除。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
具体实施方式
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,现有的车辆识别方法和收费方式是通过摄像头进行拍摄,在停车场出入口安装一台电脑,并由该电脑与系统内的车辆存储信息进行对比,进而控制停车场出入口的遮挡杆抬起或降落。其中,车辆存储信息主要包括了车牌号、剩余金额和进出停车场的时间。当用户办理月卡或年卡后,停车场直接将车牌号存储在系统内,并授权停车场不进行额外收费。如图1所示,为一个具体的基于人力的现有的车辆识别与收费方式的结构图,各个车辆节点分别为进出停车场的车辆,车辆每次只能与控制后台进行沟通,此时每个车辆节点上无法验证车辆的出入信息和余额。此外,也没有办法根据用于对车库的使用频率进行自适应的调整收费比例,实现更好的公平性。最重要的是,管理人员对于控制中心有绝对的控制权,使得在整个车辆识别过程中,很多情况下会有人为的控制参与到整个车辆识别系统中,管理人员容易套取车辆识别系统的利润,造成管理人员私收费用和额外收费情况常有发生。
综上,现有技术存在如下缺陷:办理年卡或月卡后,无法根据停车的时长进行个性化收费,存在一定的不公平收费;仅采用停车场出入口的电脑进行收费并记录账目,价格和费用不透明;停车场出入口电脑操作权限过高,常出现停车场管理员私自收费和额外收费等情况。
本发明实施例中,提供了一种基于区块链技术的车辆识别方法,在每次有车辆出库过程中,自动的由车库系统作为一个车辆节点向通过车辆收取车辆币,并在系统内广播该次交易,其它的车辆节点在运行在车库外时,自动的帮助该次交易记账,最终实现全部车辆的分布式账本记账,保证了车辆出库收费的公平和公正性。
图2是本发明一个实施例的一种基于区块链技术的车辆识别方法的流程图。如图2所示,在一个实施例中,优选地,提供一种基于区块链技术的车辆识别方法,所述基于区块链技术的车辆识别方法包括:
S201、获取车辆出库交易,并在车辆网内向所有的车辆节点发布广播;
S202、所述每个所述的车辆节点将收到的交易状态信息写入第一区块;
S203、每个所述的车辆节点在新的第一区块上进行计算,寻找解释证明;
S204、确认所述解释证明,并将所述解释证明对应的第一区块在整个车辆网广播;
S205、对新的交易进行验证,验证成功后交易正式完成,并保存为最新区块;
S206、所述每个所述车辆节点通过所述最新区块获取第一哈希值,将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算。
在本发明实施例中,通过车辆网进行各个车辆节点的信息广播,各车辆节点在收到广播后,分别独立的进行交易状态信息的写入、解释证明和交易验证,并最终以最新区块获取的哈希值作为父哈西值进行后续区块的计算。
在一个或多个实施例中,每个车辆节点内都含有全部的区块信息,具体体现为一种分布式账本形式,基于区块链技术的每个车辆节点之间的关系如图3所示;所示基于区块链技术的车辆识别方法内包括至少一个车辆节点、至少一个控制中心和至少一个管理人员;每一个车辆节点、每一个控制中心和每一个管理人员内部均包含一套完整的分布式账本,当控制中心与某个车辆节点发生了交易时,交易信息将会在整个车辆网内部进行广播,在广播后,每一个车辆节点、每一个控制中心和每一个管理人员根据本身目前所处的条件进行验证,只有验证成功后才能将建立一个新的区块,并使车辆网内所有节点都更新此数据信息。
图4是本发明一个实施例的一种基于区块链技术的车辆识别方法中的在车辆网内向所有的车辆节点发布交易广播的流程图。如图3所示,在一个或多个实施例中,优选地,所述获取车辆出库交易,并在车辆网内向所有的车辆节点发布广播,具体包括:
S401、车辆感应端获取车牌信息,获得车牌对应的电子戳信息和车辆币;
S402、读取所述车辆网内的电子戳信息,其中,电子戳信息包括本次出库时间戳、本次入库时间戳、上次出库时间戳和上次入库时间戳;
S403、通过所述本次出库时间戳和所述本次入库时间戳计算此次停车总时长;
S404、根据所述车辆网内的存储数据进行车辆币消费金额计算;
S405、将所述车辆币与所述车辆币消费金额做差,获得交易状态信息,其中,所述交易状态信息包括车辆币输出方、车辆币输入方、车辆币交易额、时间戳;
S406、将所述交易状态信息在所述车辆网内发布广播。
在本发明实施例中,通过车辆币进行交易,并在车辆出库过程中进行车辆币的交易,每次交易均被打了时间戳,交易状态信息在整个车辆网内广播,广播的具体交易状态信息包括车辆币输出方、车辆币输入方、车辆币交易额、时间戳。由于既包括时间信息有包括交易额,因此,在交易后无法被更改,而且交易在被确认后,将会有在整个车辆网中所有节点共同获取到交易信息的广播,避免了管理人员篡改的可能性。
在一个或多个实施例中,优选地,该方法还包括:
在车辆网内向所有的车辆节点发布广播的同时,将所述交易状态信息通过红外反馈给正在出库的车辆;
所述正在出库的车辆将所述交易状态信息反馈给所述车辆感应端。
在本发明实施例中,所述交易状态信息在正在出库的车辆与控制中心之间最先开始数据交互,进而才能够将所述交易状态信息在整个车辆网内开始数据确认。由于对应交易的两个发起方均已经确认,在系统内其他方将会对此次交易进行记录,具体的任务是进行进一步的,将交易状态信息写入到第一区块。
图5是本发明一个实施例的一种基于区块链技术的车辆识别方法中的将交易状态信息写入第一区块的流程图。如图4所示,在一个或多个实施例中,优选地,所述每个所述的车辆节点将收到的交易状态信息写入第一区块,具体包括:
S501、在所述车辆网内,所有的车辆节点进行计算将所述交易状态信息写入到第一区块的交易状态信息区,其中,所述第一区块包括块高度、头部哈希值、解释证明数据区、交易状态信息区;
S502、根据所述第一区块的数据区更新所述块高度;
S503、将所述第一区块的数据区在所述车辆网内广播为新的所述第一区块。
在本发明实施例中,明确第一交易状态信息的形式,所述第一区块包括块高度、头部哈希值、解释证明数据区、交易状态信息区,进而根据此形式,需要根据没去的交易状态信息进而计算解释证明数据,解释证明数据为目前已有的交易信息和块高度等信息的匹配解,相对与每个车辆节点都具有一个解。因此,需要进一步进行证明解的计算。
图6是本发明一个实施例的一种基于区块链技术的车辆识别方法中的证明解的计算流程图。如图6所示,在一个或多个实施例中,优选地,所述每个所述的车辆节点在新的第一区块上进行计算,寻找解释证明,具体包括:
S601、在所述车辆网内,所述的每个所述车辆节点获取所述新的第一区块;
S602、在所述车辆网内,所述的每个所述车辆节点根据所述新的第一区块寻找解释证明;
S603、在所述车辆网内,当至少一个所述车辆节点根据所述新的第一区块;
S604、寻找到解释证明后,将解释证明存储到所述解释证明数据区,并更新所述新的第一区块;
S605、在所述车辆网络内广播更新后的所述新的第一区块。
在本发明实施例中,在进行解释证明计算后,获取的解释证明数据直接存储到第一区块内的解释证明数据区,整个计算过程所述车辆网内,每个所述车辆节点均进行解释证明的寻找,当有一个解释证明获得后,则在全网进行广播,具体的解释证明广播流程在下面内容进行详细介绍。
在一个或多个实施例中,第一区块为当前最后一个区块,如图7所示中,在图中包括N个区块,每个区块均包括一个区块头,所述的区块头采用上一个区块的数据为计算基础,并通过了加密算法,进行加密。加密后的区块头包含了上一个区块的长度信息、上一个区块的头信息和本区块的建立时间戳。基于此方式,形成的最终的区块链是各个区块之间具有相互印证且不可更改的特点,因此可以作为一个不可更改的分布式账本文件。
图8是本发明一个实施例的一种基于区块链技术的车辆识别方法中的将所述解释证明对应的第一区块在整个车辆网广播的流程图。如图7所示,在一个或多个实施例中,优选地,所述确认所述解释证明,并将所述解释证明对应的第一区块在整个车辆网广播,具体包括:
S801、在所述车辆网内,所述的每个所述车辆节点获取更新后的所述新的第一区块;
S802、所述的每个所述车辆节点获取所述解释证明数据区,并解密计算,确认所述解释证明数据区是否正确;
S803、当所述解释证明数据区正确时,在所述车辆网内发送交易验证广播。
本发明实施例中,各个车辆节点通过各自的私钥对获得的解释证明进行解密,并进而进行验证计算,确认所述的解释证明是否能与现在第一区块内其它数据所匹配。通过该方式确保了,交易信息的可靠性和不可修改性。
图9是本发明一个实施例的一种基于区块链技术的车辆识别方法中的对新的交易进行验证的流程图。如图9所示,在一个或多个实施例中,优选地,所述对新的交易进行验证,验证成功后交易正式完成,并保存为最新区块,具体包括:
S901、在所述车辆网内,所述的每个所述车辆节点获取交易验证广播;
S902、至少6个所述车辆节点对所述更新后的所述第一区块进行验证,验证通过后在所述车辆网内发布验证交易正式完成广播;
S903、在车辆网内,所述的每个所述车辆节点在收到所述验证交易正式完成广播后,保存为最新区块,并在所述车辆网内广播。
本发明实施例中,进一步规定了对于验证的车辆节点的数据,至少需要6个,因此在配置和安装该套车辆识别方法的系统中,一般会在车辆出库和入库的区域安装至少6个长时间通电的车辆节点。
图10是本发明一个实施例的一种基于区块链技术的车辆识别方法中将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算的流程图。如图10所示,在一个或多个实施例中,优选地,所述每个所述车辆节点通过所述最新区块获取第一哈希值,将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算,具体包括:
S1001、在所述车辆网内,所述的每个所述车辆节点在收到所述最新区块;
S1002、在所述车辆网内,所述的每个所述车辆节点获取所述最新区块的第一哈希值;
S1003、在所述车辆网内,所述的每个所述车辆节点根据状态转移函数进行下一个区块的计算;
所述状态转移函数为:
S(t+1)=F[S(t),B(t+1)]
其中,S(t+1)代表(t+1)区块时的状态,S(t)代表t时刻的状态,B(t+1)代表(t+1)时刻的区块,F[S(t),B(t+1)]指的是状态转移函数。
本发明实施例中,给出了一个具体的交易的验证流程,在该流程中提供了状态转移桉树,用于判断区块的状态是否发生变化,进而实现对于车辆设备后的账目核对与记录,并生成下一个区块,完成状态的转移。
在一个或多个实施例中,如图11所示,为本发明实施例中的还细致分布于计算示意图,一个具体的区块中,区块头为Hash值,该值将会有新生村的Hash与原始的Hash一同组成。在一个或多个实施例中,如图12为一个基于区块链的交易示例,可以看出所述的基于车辆币的车辆识别结构是类似的,该识别结构也会包括交易信息、时间戳、头Hash值(哈希值),进而基于此方式能够实现一利用车辆币完成分布式可信交易的体系建立。
图13根据本发明实施例的第二方面,提供一种基于区块链技术的车辆识别系统,所述系统包括:
交易获取单元1301,获取车辆出库交易,并在车辆网内向所有的车辆节点发布广播;
交易写入单元1302,所述每个所述的车辆节点将收到的交易状态信息写入第一区块;
区块计算单元1303,每个所述的车辆节点在新的第一区块上进行计算,寻找解释证明;
解释证明单元1304,确认所述解释证明,并将所述解释证明对应的第一区块在整个车辆网广播;
交易验证单元1305,对新的交易进行验证,验证成功后交易正式完成,并保存为最新区块;
区块更新单元1306,所述每个所述车辆节点通过所述最新区块获取第一哈希值,将所述最新区块的第一哈希值作为父哈希值进行下一个区块的计算。
本发明实施例中,根据所述的基于区块链技术的车辆识别方法,进一步设计了具备有相应的功能的车辆识别装置,装置中各个单元分为用于进行交易获取、交易写入、区块计算、解释证明、交易验证和区块更新。在全部的车辆节点中都会配置有该套装置,但是该套装置由于仅能在通电状态下进行执行命令。因此,在正常状态下,仅仅有部分车辆节点,进行验证和解释证明等相关功能。在车辆节点中,车库出口区域安装的车辆识别装置,整个系统中最重要的车辆节点,它负责完成在所有其他节点不工作时,进行车辆信息的计算,并更新区块链,实现自动的记账。
图14是本发明实施例的电子设备的示意图。图14所示的电子设备为通用基于区块链技术的车辆识别装置,其包括通用的计算机硬件结构,其至少包括处理器1401和存储器1402。处理器1401和存储器1402通过总线1403连接。存储器1402适于存储处理器1401可执行的指令或程序。处理器1401可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器1401通过执行存储器1402所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线1403将上述多个组件连接在一起,同时将上述组件连接到显示控制器1404和显示装置以及输入/输出(I/O)装置1405。输入/输出(I/O)装置1405可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置1405通过输入/输出(I/O)控制器1406与系统相连。
本发明实施例中,通过该方案,提供了一种基于区块链技术的车辆识别方法系统及电子设备,通过区块链技术设计了车辆识别方法,并进而给出对应识别系统及电子设备,可实现对停车场车辆信息的准确识别,采用分布式记账方式保证车主根据用车时长和剩余金额公正、自动的进行停车费用扣除。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。