基于区块链的个人轨迹检索系统及方法与流程

文档序号:22240867发布日期:2020-09-15 19:53阅读:229来源:国知局
基于区块链的个人轨迹检索系统及方法与流程
本发明涉及公民个人轨迹领域及区块链领域,针对公民个人轨迹管理与使用,尤指一种基于区块链的个人轨迹检索系统及方法。
背景技术
:以寻找一个公民最近的活动轨迹为例,一般是以问卷调查为主,综合电信运营商定位,治安录像和公共交通票据等各方信息,通过人工或者计算机综合得出个人大致的活动轨迹。目前的检索方式,必须综合社会各方力量,对调查发起者要求很高,调查一次个人公民轨迹需要耗费大量时间人力物力,影响调查活动的进行。个人轨迹系统主要功能为查询、验证及自证个人轨迹等,使用链上各节点共享公民活动记录的方式,依靠区块链链上记录无法修改的特点,只要在链上查询公民轨迹,即可得出公民在各节点机构的活动记录,从而无需耗费社会大量资源调查一名公民的活动轨迹,也避免了公民提供虚假信息的风险。目前一般调查方法主要使用问卷调查为主,综合电信运营商定位,治安录像和公共交通票据等各方信息再综合得出活动轨迹,若引入区块链个人轨迹系统,可以大大减少得出活动轨迹耗费的时间。技术实现要素:本发明目的在于提供一种基于区块链的个人轨迹检索系统及方法,为公民个人活动轨迹快速检索,减少搜索个人轨迹的成本和提供个人轨迹自我证明。为达上述目的,本发明所提供的基于区块链的个人轨迹检索系统具体包含:区块链网络、前置数据库和应用端;所述区块链网络包含数据验证节点和多个预定机构所提供的共识节点;所述共识节点用于采集个人活动记录,以及,将所述个人活动记录共识至所述区块链网络;所述数据验证节点用于根据查询指令于所述区块链网络中获得对应的个人活动记录,根据所述个人活动记录拼接生成个人活动轨迹;将所述个人活动轨迹共识至所述区块链网络后反馈至前置数据库;所述前置数据库用于根据接收到的应用端上传的查询请求获取查询权限,根据所述查询权限和所述查询请求中的个人身份信息生成查询指令,将所述查询指令输出至所述数据验证节点;以及,将接收到的所述个人活动轨迹反馈至上传查询请求的对应的应用端;所述应用端用于接收用户输入的个人身份信息,根据所述个人身份信息生成查询请求,将所述查询请求上传至所述前置数据库;以及,接收所述前置数据库反馈的所述个人活动轨迹,将所述个人活动轨迹输出。在上述基于区块链的个人轨迹检索系统中,优选的,所述区块链网络还包含管理节点,所述管理节点用于设置所述区块链网络中各共识节点的权限及控制所述共识节点并入或退出所述区块链网络。在上述基于区块链的个人轨迹检索系统中,优选的,所述前置数据库包含发送单元、接收单元和个人轨迹缓存单元;所述发送单元用于将所述查询指令输出至所述数据验证节点;所述接收单元用于接收应用端上传的查询请求;以及,接收所述数据验证节点反馈的所述个人活动轨迹;所述个人轨迹缓存单元用于将接收到的所述个人活动轨迹反馈至上传查询请求的对应的应用端。在上述基于区块链的个人轨迹检索系统中,优选的,所述前置数据库还包含个人轨迹查询模块;所述个人轨迹查询模块用于根据接收到的应用端上传的查询请求获取查询权限,根据所述查询权限和所述查询请求中的个人身份信息生成查询指令。在上述基于区块链的个人轨迹检索系统中,优选的,所述应用端包含网络请求发送单元、网络请求接收单元、个人轨迹缓存单元和用户交互界面单元;所述网络请求发送单元用于将所述查询请求上传至所述前置数据库;所述网络请求接收单元用于接收所述前置数据库反馈的所述个人活动轨迹;所述个人轨迹缓存单元用于缓存接收到的所述个人活动轨迹;所述用户交互界面单元用于接收用户输入的个人身份信息,根据所述个人身份信息生成查询请求;以及,将所述个人轨迹缓存单元缓存的所述个人活动轨迹显示输出。本发明还提供一种基于区块链的个人轨迹检索方法,所述方法包含:采集个人活动记录,将所述个人活动记录共识至所述区块链网络;根据接收到的查询请求获取查询权限,根据所述查询权限和所述查询请求中的个人身份信息生成查询指令,根据查询指令于所述区块链网络中获得对应的个人活动记录,根据所述个人活动记录拼接生成个人活动轨迹;将所述个人活动轨迹共识至所述区块链网络后,反馈至上传查询请求的应用端进行所述个人活动轨迹输出。在上述基于区块链的个人轨迹检索方法中,优选的,根据查询指令于所述区块链网络中获得对应的个人活动记录,根据所述个人活动记录拼接生成个人活动轨迹包含:根据所述查询指令中的个人身份信息于所述区块链网络中获得对应的个人活动记录,以及,所述个人活动记录所对应的位置信息和时间信息;根据所述位置信息和所述时间信息筛选所述个人活动记录,获得有效活动记录;根据所述有效活动记录拼接生成个人活动轨迹。在上述基于区块链的个人轨迹检索方法中,优选的,根据所述位置信息和所述时间信息筛选所述个人活动记录,获得有效活动记录包含:通过拜占庭算法基于所述位置信息和所述时间信息对所述个人活动记录投票共识,获得有效活动记录。在上述基于区块链的个人轨迹检索方法中,优选的,通过拜占庭算法基于所述位置信息和所述时间信息对所述个人活动记录投票共识包含:当同一时间内出现多条所述个人活动记录且所述位置信息不同时,比对各位置信息出现所述个人活动记录的数量,根据所述个人活动记录的数量获得有效活动记录。在上述基于区块链的个人轨迹检索方法中,优选的,通过拜占庭算法基于所述位置信息和所述时间信息对所述个人活动记录投票共识包含:根据所述时间信息逐条比较相邻单位时间周期内各条所述个人活动记录的所述位置信息,当所述位置信息之间的差值大于预设阈值时,筛除时间排后一条的所述个人活动记录,获得有效活动记录。在上述基于区块链的个人轨迹检索方法中,优选的,将所述个人活动轨迹共识至所述区块链网络包含:通过tiger-192-3算法获取所述个人活动轨迹的消息摘要,将所述消息摘要及对应的所述个人活动轨迹共识至所述区块链网络完成上链存储。本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。本发明的有益技术效果在于:个人活动轨迹结果检索能力大大提高——链上各节点共享个人活动记录使快速检索成为可能。该节点检测系统使用区块链网络结构,通过区块链网络权限检查节点是否有读取权限。在满足节点权限后,网络再对节点读取个人活动记录进行分析。结合各个节点提供的活动记录,该公民活动轨迹就容易得出了。使用该系统后,无需再动用大量社会资源去得出一个人的活动轨迹了。分布式存储个人活动记录——利用区块链的链式存储结构存储个人活动记录,分布式存储的特点,令个人活动记录修改困难,存储记录有多个备份,即使遇到某个节点宕机也能恢复数据,保证数据安全,提升个人虚拟资产留存效率。提高个人活动记录的社会公信力——减少个人活动记录完全依赖个人提供信息和大量的调查。利用区块链技术记录每次使用个人活动记录,保证每次个人活动记录不可修改。越来越多大公司节点和政府机构节点加入后,链上得出的记录社会公信力越高。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:图1为本发明一实施例所提供的个人轨迹检索系统的结构示意图;图2为本发明一实施例所提供的区块链网络的结构示意图;图3为本发明一实施例所提供的前置数据库的结构示意图;图4为本发明一实施例所提供的应用端的结构示意图;图5为本发明一实施例所提供的个人轨迹查询模块的结构示意图;图6为本发明一实施例所提供的个人轨迹检索方法的流程示意图;图7a为本发明一实施例所提供的个人轨迹检索系统的结构示意图;图7b为本发明一实施例所提供的个人轨迹检索系统的结构示意图;图8为本发明一实施例所提供的个人轨迹检索方法的应用流程示意图;图9为本发明一实施例所提供的个人轨迹逻辑判断的流程示意图;图10为本发明一实施例所提供的电子设备的结构示意图;具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明所提供的基于区块链的个人轨迹检索系统具体包含:区块链网络、前置数据库和应用端;所述区块链网络包含数据验证节点和多个预定机构所提供的共识节点;所述共识节点用于采集个人活动记录,以及,将所述个人活动记录共识至所述区块链网络;所述数据验证节点用于根据查询指令于所述区块链网络中获得对应的个人活动记录,根据所述个人活动记录拼接生成个人活动轨迹;将所述个人活动轨迹共识至所述区块链网络后反馈至前置数据库;所述前置数据库用于根据接收到的应用端上传的查询请求获取查询权限,根据所述查询权限和所述查询请求中的个人身份信息生成查询指令,将所述查询指令输出至所述数据验证节点;以及,将接收到的所述个人活动轨迹反馈至上传查询请求的对应的应用端;所述应用端用于接收用户输入的个人身份信息,根据所述个人身份信息生成查询请求,将所述查询请求上传至所述前置数据库;以及,接收所述前置数据库反馈的所述个人活动轨迹,将所述个人活动轨迹输出。其中,所述区块链网络还可包含管理节点,所述管理节点用于设置所述区块链网络中各共识节点的权限及控制所述共识节点并入或退出所述区块链网络。具体的,请参考图1所示,结构上,区块链网络模块1与前置数据库模块2互相连接。前置数据库模块2与应用端3互相连接;实际工作中区块链网络负责区块链网络管理,共识和存储共识结果,验证轨迹数据和发送轨迹数据。前置数据库(fdb)负责个人轨迹检索系统用户管理和缓存个人轨迹结果。个人轨迹检索系统个人应用负责个人注册,个人轨迹查询,个人轨迹验证,个人轨迹离线验证。进一步的,可参考以下表1所示:表1区块链网络1负责区块链网络管理,共识和存储共识结果,验证轨迹数据和发送轨迹数据。区块链网络节点分为管理节点(ca),共识节点(vp),数据验证节点(dvp)。前置数据库2负责个人轨迹系统用户管理和个人轨迹结果缓存。当用户需要自己的个人轨迹时,先通过前置数据库注册,然后发起个人轨迹生成申请。前置数据库收到申请时,向网络各共识节点发起个人轨迹生成事件。等网络将个人轨迹完成后,由第一个计算出结果的节点向前置数据库发送个人轨迹记录。前置数据库将个人轨迹记录缓存,用户即可在前置数据库系统查询自己的个人轨迹记录,并将个人轨迹记录下载至应用端即个人应用。应用端4负责个人轨迹系统用户个人注册,个人轨迹生成申请,个人轨迹查询,个人轨迹验证,个人轨迹离线验证。个人应用让用户在前置数据库中注册成为个人轨迹系统用户。个人应用让用户向前置数据库发起个人轨迹生成申请。个人应用让用户在前置数据库查询缓存的个人轨迹记录。个人应用让用户向前置数据库发起个人轨迹验证申请。个人应用让用户在离线下或者对方不是个人轨迹检索系统节点时,验证个人轨迹验证。在本发明一实施例中,所述前置数据库2包含发送单元、接收单元和个人轨迹缓存单元;所述发送单元用于将所述查询指令输出至所述数据验证节点;所述接收单元用于接收应用端上传的查询请求;以及,接收所述数据验证节点反馈的所述个人活动轨迹;所述个人轨迹缓存单元用于将接收到的所述个人活动轨迹反馈至上传查询请求的对应的应用端。其中,所述前置数据库还可包含个人轨迹查询模块;所述个人轨迹查询模块用于根据接收到的应用端上传的查询请求获取查询权限,根据所述查询权限和所述查询请求中的个人身份信息生成查询指令。实际工作中,可参考图1所示,所述个人轨迹查询模块4可与所述前置数据库2分开设计,使前置数据库模块2与个人轨迹查询模块4互相连接。再请参考图1所示,在实际工作中,个人轨迹检索系统发起生成个人轨迹请求时,用户在应用端3通过发送https请求至前置数据库模块2。前置数据库模块2判断用户发起的是免费轨迹检索还是收费轨迹检索。如果是免费轨迹检索,则在数据库缓存中查询是否缓存改用户的个人轨迹。如果是收费轨迹检索,前置数据库模块2调用个人轨迹查询模块4,查询该用户是否用户检索权限。如果该用户拥有检索权限,则按照检索权限检索。如果该用户没有检索权限,则按照个人轨迹要求申请权限。前置数据库2做完上述检查并通过后,将请求发送至区块链网络模块1进行个人轨迹生成。个人轨迹生成完成后,区块链网络模块1将结果发送至前置数据库模块2,前置数据库模块2将结果缓存至数据库中,并发送个人轨迹生成通知至应用端3。个人轨迹检索系统能够将个人活动的电子记录,通过银行,券商,保险和大型公共事业单位后台数据共享,利用区块链网络形成个人轨迹。通过区块链的共识机制,令共识结果产生了一定的公信力,使参与共识的银行,券商,保险和大型公共事业单位认可由个人轨迹检索系统产生的个人轨迹结果。最终自己需要证明自己行踪的问题得以解决。针对所述前置数据库2的结构,请参考图3所示,前置数据库模块负责区块链网络模块,应用端,个人轨迹查询模块之间通讯,对于区块共识结果传递,缓存共识结果的功能。每次个人轨迹请求转发和个人轨迹结果缓存的都由前置数据库模块完成。图3中请求发送模块201即发送单元,请求接收模块202即接收单元,个人轨迹缓存模块203即个人轨迹缓存单元:请求发送模块201向区块链网络模块通讯时,向区块链网络模块发送请求。在发送时,对发送数据使用tls1.3标准加密发送。请求发送格式如下:发送格式:返回格式:请求接收模块202在区块节点需要通讯时,接收其他模块发送的请求回复。在接收时,对发送数据使用tls1.3标准解密拆包。个人轨迹缓存模块203负责接收到区块链网络模块的个人轨迹结果时,对个人轨迹结果进行缓存。当个人轨迹缓存模块接收到区块链网络模块的个人轨迹结果时,检查返回结果是否有效,区块链网络模块同时将个人轨迹文件存储在个人轨迹系统中。区块链网络模块返回个人轨迹结果格式:如果是个人轨迹结果返回有效,个人轨迹缓存模块将结果记录缓存在数据库中,并通知应用端个人轨迹已经生成。应用端可以通过向前置数据库发送查询个人轨迹请求,通过数据库中个人轨迹生成记录下载具体的个人轨迹文件。其中,所述个人轨迹查询模块4的具体结构将在后续实施例中详细说明,在此就不再一一详述。请参考图2所示,在本发明一实施例中,区块链网络结构由管理节点101(ca),共识节点102(vp),数据验证节点103(dvp)组成。其中管理节点101(ca)负责区块链网络节点准入和管理网络,共识节点102(vp)负责共识和存储共识结果,数据验证节点103(dvp)负责验证轨迹数据和发送轨迹数据。一个网络中至少有一个管理节点101(ca),至少2个节点参与方,2个节点参与方各提供一个共识节点102(vp),数据验证节点103(dvp)数量不限;各节点连接成区块链网络;各节点功能如下表2所示:表2节点名称节点功能管理节点(ca)管理网络,节点准入,节点权限共识节点(vp)共识,存储共识结果数据验证节点(dvp)验证轨迹数据,发送轨迹数据管理节点(ca)中,安装区块链管理功能,由网络管理员所有,拥有管理整个各个网络节点权限,网络启动或停止功能,节点加入或退出网络功能,节点权限授予或剥夺功能。在网络未启动时,网络管理员通过管理节点启动网络。在网络需要停止时,网络管理员通过管理节点停止网络。网络需要新增节点时,新增节点所有人向管理员发出加入申请,审批通过后,网络管理员通过管理节点加入网络。节点需要退出网络时,退出节点所有人向管理员发出退出申请,审批通过后,网络管理员通过管理节点退出网络。节点需要新增网络权限时,新增权限节点所有人向管理员发出权限新增申请,审批通过后,网络管理员通过管理节点新增该节点网络权限。节点需要被剥夺网络权限或减少网络权限时,减少权限节点所有人向管理员发出权限减少申请,审批通过后,网络管理员通过管理节点减少该节点网络权限,或网络管理员通过管理节点直接剥夺该节点网络权限。共识节点(vp)由企业或公共事业单位提供。公司节点负责区块链网络共识,存储共识结果,提供共识数据。在区块链网络共识中,共识节点提供共识数据,参与区块链共识过程提供算力。共识完成时,存储共识结果。存储完成后,各共识节点互为节点数据备份。数据验证节点由企业或公共事业单位提供。数据验证节点区块链网络个人活动记录验证,并将活动数据拼接为个人活动轨迹。数据拼接完成后,向共识节点发送拼接结果,等待网络共识完成。网络共识完成后,由第一个计算出结果的节点向前置数据库发送个人轨迹记录。在本发明一实施例中,所述应用端包含网络请求发送单元、网络请求接收单元、个人轨迹缓存单元和用户交互界面单元;所述网络请求发送单元用于将所述查询请求上传至所述前置数据库;所述网络请求接收单元用于接收所述前置数据库反馈的所述个人活动轨迹;所述个人轨迹缓存单元用于缓存接收到的所述个人活动轨迹;所述用户交互界面单元用于接收用户输入的个人身份信息,根据所述个人身份信息生成查询请求;以及,将所述个人轨迹缓存单元缓存的所述个人活动轨迹显示输出。具体请参考图4所示,应用端包括网络请求发送单元301,网络请求接收单元302,个人轨迹缓存单元303,用户交互界面单元304。应用端负责个人轨迹检索系统中面向用户操作的功能。所述应用端使个人用户能够轻易地使用企业级的数据服务。网络请求发送单元301负责向前置数据库模块通讯时,往前置数据库模块发送请求。在发送时,对发送数据使用tls1.3标准加密发送。请求发送格式如下:发送格式:网络请求接收模块302在区块节点需要通讯时,接收前数据模块发送的请求回复。在接收时,对发送数据使用tls1.3标准解密拆包。个人轨迹缓存单元303负责缓存从前置数据库下载的个人轨迹文件。当前置数据库模块通知应用端个人轨迹已经生成完成时,前置数据库模块向所述应用端发送个人轨迹请求。请求格式:前置数据库模块向返回所述应用端个人轨迹结果格式:所述应用端接收到个人轨迹结果生成完成请求时,通过网络请求接收模块302解包,读取报文中的personalresultno。读取成功后,所述应用端通过网络请求发送单元301向前置数据库模块发送下载个人轨迹文件,下载至个人终端预设的路径下。用户交互界面单元304负责展示个人应用功能界面,解析个人轨迹文件并展示其中的轨迹。当用户需要注册,生成个人轨迹,查询个人轨迹,展示个人轨迹和验证个人轨迹时,都能够通过应用端,通过界面操作将所需操作完成。用户需要展示个人轨迹时,所述应用端与全球经纬度相结合,按照时间顺序,从文件记录的开始日期,一直展示至文件记录的结束日期。当文件中每一个点都被解析到地图上时,例如使用echart组件显示,个人轨迹即可在用户交互界面单元展示。个人轨迹文件结构:请参考图5所示,个人轨迹查询模块包括网络请求发送单元401,网络请求接收单元402,个人权限管理单元403,权限单元404。个人轨迹查询模块主要负责用户在系统中的管理个人轨迹情况的记录和查询权限。个人对各节点的权限可以在个人权限管理单元中管理。各参与计算轨迹的节点权限都会存储在权限单元404中。网络请求发送单元401负责向前置数据库模块通讯时,往前置数据库模块和区块链网络模块发送请求。在发送时,对发送数据使用tls1.3标准加密发送。网络请求接收模块402系统运行中,接收其他模块发送的请求回复。在接收时,对发送数据使用tls1.3标准解密拆包。个人权限管理单元403负责管理系统中个人对各节点的权限管理。再请参考下表3所示:表3权限单元404负责存储个人对各节点的查询权限。个人用户在使用系统生成个人轨迹记录前,通过个人应用发送生成请求至前置数据库模块,前置数据数据库模块将生成请求转发至个人轨迹查询模块,个人轨迹查询模块由权限单元处理各节点权限查询。节点权限查询后,调用区块链轨迹生成接口。各节点收到记录查询的广播请求时,先解析请求中权限字段。节点根据本次请求的权限查询对应的个人生物使用记录。请参考图6所示,本发明还提供一种基于区块链的个人轨迹检索方法,所述方法包含:步骤601:采集个人活动记录,将所述个人活动记录共识至所述区块链网络;步骤602:根据接收到的查询请求获取查询权限,根据所述查询权限和所述查询请求中的个人身份信息生成查询指令,根据查询指令于所述区块链网络中获得对应的个人活动记录,根据所述个人活动记录拼接生成个人活动轨迹;步骤603:将所述个人活动轨迹共识至所述区块链网络后,反馈至上传查询请求的应用端进行所述个人活动轨迹输出。在本发明一实施例中,步骤602的根据查询指令于所述区块链网络中获得对应的个人活动记录,根据所述个人活动记录拼接生成个人活动轨迹还可包含:根据所述查询指令中的个人身份信息于所述区块链网络中获得对应的个人活动记录,以及,所述个人活动记录所对应的位置信息和时间信息;根据所述位置信息和所述时间信息筛选所述个人活动记录,获得有效活动记录;根据所述有效活动记录拼接生成个人活动轨迹。具体的,根据所述位置信息和所述时间信息筛选所述个人活动记录,获得有效活动记录可包含:通过拜占庭算法基于所述位置信息和所述时间信息对所述个人活动记录投票共识,获得有效活动记录。在上述实施例中,通过拜占庭算法基于所述位置信息和所述时间信息对所述个人活动记录投票共识包含:当同一时间内出现多条所述个人活动记录且所述位置信息不同时,比对各位置信息出现所述个人活动记录的数量,根据所述个人活动记录的数量获得有效活动记录;和/或,根据所述时间信息逐条比较相邻单位时间周期内各条所述个人活动记录的所述位置信息,当所述位置信息之间的差值大于预设阈值时,筛除时间排后一条的所述个人活动记录,获得有效活动记录。在本发明一实施例中,将所述个人活动轨迹共识至所述区块链网络包含:通过tiger-192-3算法获取所述个人活动轨迹的消息摘要,将所述消息摘要及对应的所述个人活动轨迹共识至所述区块链网络完成上链存储。请参考图8所示,以一次生成个人轨迹场景为例,本发明所提供的基于区块链的个人轨迹检索方法在实际使用过程中主要步骤包含如下:步骤801:已在系统注册有权查询权限的用户在应用端的用户交互界面单元304发起个人轨迹生成请求。步骤802:应用端的网络请求发送单元301负责向前置数据库模块通讯时,往前置数据库模块发送请求。在发送时,对发送数据使用tls1.3标准加密发送。步骤803:前置数据库模块请求接收模块202接收应用端发送的请求回复。在接收时,对发送数据使用tls1.3标准解密拆包。步骤804:前置数据库模块拆包请求后,解析出请求中包含的用户信息。前置数据库模块网络请求发送单元301负责向将用户信息发送至个人轨迹查询模块4。在发送时,对发送数据使用tls1.3标准加密发送。步骤805:个人轨迹查询模块请求接收模块402系统运行中,接收前置数据库模块发送的请求;在接收时,对发送数据使用tls1.3标准解密拆包。步骤806:个人轨迹查询模块解析出请求中的用户信息后,将用户信息传给个人套餐管理单元403,查询用户节点权限。步骤807:个人轨迹查询模块请求发送单元401将用户节点权限情况,往前置数据库模块发送;在发送时,对发送数据使用tls1.3标准加密发送。步骤808:前置数据库模块请求接收模块202发送个人轨迹查询模块的个人节点权限情况。在接收时,对发送数据使用tls1.3标准解密拆包。判断逻辑:如果该用户设置节点拥有的生物特征使用权限,则按照权限查询对应的生物特征使用情况;如果没有权限,则该节点参与本次生成轨迹请求。步骤809:前置数据库模块请求发送模块201向区块链网络模块通讯时,向区块链网络模块发送请求。在发送时,对发送数据使用tls1.3标准加密发送。请求发送格式如下:发送格式:返回格式:步骤810:区块链网络模块其中1共识节点收到个人轨迹生成请求时,分别送到不同的共识节点102(vp)获取对应的生物特征使用记录。步骤811:生物特征使用记录获取完成后,共识节点102(vp)将获取出来的数据,向网络中其余的共识节点102(vp)和数据验证节点103(dvp)广播。步骤812:当一个共识节点或数据验证节点全部数据接收完成时,开始对数据与经纬度匹配。证件记录与经纬度匹配判断逻辑:1、生物特征使用记录包含使用的地点经纬度。2、当同一时间出现两条使用记录,但经纬度不同,取使用记录总数多的证件为可信,使用记录总数较少的为不可信,不记录在个人轨迹文件中。3、当第n条证件使用记录,与第n-1条记录相差距大于一定时间内人类能够移动的距离,第n条证件,及后续使用记录作废,不记录在个人轨迹文件中。步骤813:当所有记录都匹配完成后。一个节点匹配工作完成,向其他参与共识节点发送匹配属于自己查询的使用结果,以此作为该节点的使用记录。在发送时,对发送数据使用tls1.3标准加密发送。步骤814:数据验证节点等待共识节点的匹配结果。等待所有参与共识的节点按照证件记录与经纬度匹配判断逻辑将所有结果合并后,网络通过拜占庭算法(pbft)对结果投票,投票有效后生成个人轨迹文件,同时将对文件进行3des加密,然后再获取加密后文件通过tiger-192-3算法获取文件的消息摘要,消息摘要连同个人轨迹结果号一起安装通用方式上链存储。tiger号称是最快的hash算法,专门为64位机器做了优化。tiger和md5的添加数据的方式不同,它不是加上1个1及若干个0,而是增加一个0x01和若干个0。tiger的输出是192位的,即24个字节。分组的大小也是和md5一样:64字节。该算法原理具体请参考图7a和图7b。其中,区块链上的存储格式请参考以下表4所示:表4步骤815:区块链网络模块完成个人轨迹文件后,前置数据库个人轨迹缓存模块203负责接收到区块链网络模块的个人轨迹结果,对个人轨迹结果进行缓存。当个人轨迹缓存模块接收到区块链网络模块的个人轨迹结果时,检查返回结果是否有效,区块链网络模块同时将个人轨迹文件存储在个人轨迹系统中。区块链网络模块返回个人轨迹结果格式:步骤816:个人轨迹结果返回有效,个人轨迹缓存模块将结果记录缓存在数据库中,并通知应用端个人轨迹已经生成。步骤817:应用端接收到个人轨迹结果生成完成请求时,通过请求接收模块302解包,读取报文中的personalresultno。读取成功后,应用端通过网络请求发送单元301向前置数据库模块发送下载个人轨迹文件,下载至个人终端预设的路径下。步骤818:用户交互界面单元304负责展示个人应用功能界面,解析个人轨迹文件并展示其中的轨迹,使用前端组件展示个人轨迹。为避免减少需要证明个人轨迹带来的工作量,本发明所提供的基于区块链技术的个人轨迹检索系统,通过共享个人在链上节点的活动记录,只需综合链上各方信息,将其检索结果作为个人活动记录,并据此作出由各活动记录提供方背书的个人活动记录证明;其中,结合前述实施例及附图,判断个人轨迹是否可信的判断流程如下图9所示:1、个人轨迹使用,应用端用户交互界面单元展示个人轨迹s1;2、应用端判断当前网络情况是否在线或离线;若是在线,执行s2;若是离线,s5执行。3、应用端判断为在线,则将本地个人轨迹文件的消息摘要值与区块链上的个人轨迹文件的消息摘要值比较s3。若对比一致,执行s7;若是对比不一致,s8执行。4、应用端判断为离线,则本地个人轨迹文件以rsa方式,使用个人轨迹检索系统的公钥加密s4;5、应用端将加密后的文件以蓝牙方式传给数据验证节点的终端机上s5。6、数据验证节点终端使用区块链网络的私钥解密,并取将个人轨迹文件按3des加密后,取其消息摘要信息与链上对应的个人轨迹文件的消息摘要对比s6。若对比一致,执行s7;若是对比不一致,s8执行。7、数据验证节点终端生成验证结果,将结果发送回发送方的应用端s9。本发明的有益技术效果在于:个人活动轨迹结果检索能力大大提高——链上各节点共享个人活动记录使快速检索成为可能。该节点检测系统使用区块链网络结构,通过区块链网络权限检查节点是否有读取权限。在满足节点权限后,网络再对节点读取个人活动记录进行分析。结合各个节点提供的活动记录,该公民活动轨迹就容易得出了。使用该系统后,无需再动用大量社会资源去得出一个人的活动轨迹了。分布式存储个人活动记录——利用区块链的链式存储结构存储个人活动记录,分布式存储的特点,令个人活动记录修改困难,存储记录有多个备份,即使遇到某个节点宕机也能恢复数据,保证数据安全,提升个人虚拟资产留存效率。提高个人活动记录的社会公信力——减少个人活动记录完全依赖个人提供信息和大量的调查。利用区块链技术记录每次使用个人活动记录,保证每次个人活动记录不可修改。越来越多大公司节点和政府机构节点加入后,链上得出的记录社会公信力越高。本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。如图10所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图10中所示的所有部件;此外,电子设备600还可以包括图10中没有示出的部件,可以参考现有技术。如图10所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。该存储器140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1