基于区块链的失踪人口寻找方法及系统
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种基于区块链的失踪人口寻找方法及系统。
【背景技术】
现有技术中,为了寻找失踪人口,通常通过张贴寻人启事,在电视、广播或网络上登报寻人启事,以及利用目前出现的打拐系统,通过在预设范围内紧急扩散失踪人口的信息,以寻求路人帮助,及早解救失踪人口。但由于中国幅员辽阔、人口众多,失踪人员一旦出了预设范围、失踪者被改变样貌或者失踪时间偏长,则现有的方法很难将失踪者找回,而且,在寻找过程中需要从接收到的大量信息中鉴别有效信息,所以存在人力占用太多、效率低下、工作量大等缺点。
【发明内容】
有鉴于此,本发明实施例提供了一种基于区块链的失踪人口寻找方法及系统。
第一方面,本发明实施例提供了一种基于区块链的失踪人口寻找方法,用于联盟链中,所述联盟链内包含M个非盈利组织节点和N个盈利组织节点,其中N个盈利组织节点预先加入第一智能合约,所述第一智能合约包括联盟链内中N个盈利组织节点的节点标识列表,所述方法包括:
S1第一节点接收失踪人口照片,完成认证后在所述联盟链中广播寻人任务信息,所述寻人任务信息包括人脸特征数据和失踪时间数据、用于约定比对识别规则和奖励规则的第二智能合约和发放的加密数字货币数量;
S2第二节点在接收到第一节点的广播后,将储存的失踪时间之后的视频与失踪人口照片进行比对识别,若比对成功,则将比对结果附加时间戳在所述联盟链中进行广播;
S3第一节点获取第二节点反馈的比对结果,基于第一智能合约和第二智能合约向所述第二节点支付对应数量的加密数字货币;
S4将本次交易行为同步记录在联盟链上的联盟节点。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述步骤S1中完成认证包括:
S10当接收到第一节点发送的任务发布请求时,解析出所述任务发布请求中包含的第一节点所属的组织节点的第一节点标识;
S11判断第一智能合约的节点标识列表是否包含第一节点标识;
S12若第一智能合约的节点标识列表不包含第一节点标识,则完成认证。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述步骤S12还包括:
S120若第一智能合约的节点标识列表包含第一节点标识,则查询联盟链账本信息是否记载第一节点的交易记录;
S121若联盟链账本信息记载有第一节点的交易记录,则完成认证。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述步骤S1还包括:
S122将完成认证的组织节点执行第三智能合约,即:
S1221从失踪人口照片中提取出人脸部位,对所述提取出的人脸部位进行白化处理;
S1222提取人脸部位的特征值,作为比对的基准特征值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
S5第一节点接收到新节点提交的加入联盟链的加入请求,并向新节点返回是否盈利节点类型选择;
S6若新节点选择盈利节点类型,则第一节点将新节点的加入请求在所述联盟链中进行广播;
S7若通过M个非盈利组织节点中任一节点的验证或者新节点为首个盈利节点,则允许所述新节点接入联盟链,并将新节点加入第一智能合约;
S8若新节点选择非盈利节点类型,则第一节点将新节点的加入请求在所述联盟链中进行广播;
S9若通过M个非盈利组织节点的全部节点的验证或者新节点为首个非盈利节点,则允许所述新节点接入联盟链。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述步骤S2包括:
S20若第二节点在执行S2后未接收到其他第二节点的区块广播,则将比对结果附加时间戳进行广播;
S21若第二节点在执行S2过程中接收到其他第二节点的区块广播,则立即停止比对。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述步骤S3包括:
S30第一节点获取第二节点反馈的比对结果,若第二节点加入第一智能合约,则基于第二智能合约向所述第二节点支付对应数量的加密数字货币;
S31第一节点获取第二节点反馈的比对结果,若第二节点未加入第一智能合约,则不向所述第二节点支付对应数量的加密数字货币。
第二方面,本发明实施例提供了一种基于区块链的失踪人口寻找系统,包括:
至少一个第一节点,所述第一节点包括:
任务生成模块,用于接收失踪人口照片,完成认证后在所述联盟链中广播寻人任务信息,所述寻人任务信息包括人脸特征数据和失踪时间数据、用于约定比对识别规则和奖励规则的第二智能合约和发放的加密数字货币数量;
认证模块,用于认证第一节点的任务发布权限;
处理模块,用于获取第二节点反馈的比对结果,基于第一智能合约和第二智能合约向所述第二节点支付对应数量的加密数字货币;
记录模块,将本次交易行为同步记录在联盟链上的联盟节点;
至少一个第二节点,所述第二节点包括:
图形识别模块,用于在接收到第一节点的广播后,将储存的失踪时间之后的视频与失踪人口照片进行比对识别;
结果生成模块,用于图形识别模块比对成功时,将比对结果附加时间戳在所述联盟链中进行广播。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述的方法。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例的方法中,提出了一种基于区块链的失踪人口寻找方法,通过将联盟链内的组织节点划分为非盈利组织节点和盈利组织节点,建立以非盈利组织节点为主导,以盈利组织节点为辅助的失踪人口寻找联盟链,发挥非盈利组织节点的公共服务功能,而利用盈利组织节点可以充分调动社会力量进行失踪人口寻找的积极性,以拯救每一个失踪或者被拐人口的家庭。将非盈利组织节点和盈利组织节点的权限区分开来,所以减少不可信的任务的发布,提高联盟链内信息共享的信任度,调动了盈利组织节点的任务完成的积极性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的一种基于区块链的失踪人口寻找方法的流程示意图;
图2为本发明实施例所提供的基于区块链的失踪人口寻找方法的另一示意流程图;
图3为本发明实施例所提供的新节点加入联盟链的流程示意图;
图4为本发明实施例所提供的第一节点的功能方块图;
图5为本发明实施例所提供的第二节点的功能方块图;
图6为本发明实施例所提供的节点设备的硬件示意图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
定义:
智能合约程序是一个可以自动执行的计算机程序,它自己就是一个系统参与者。它对接收到的信息进行回应,它可以接收和储存价值,也可以向外发送信息和价值。
区块链节点,用于存储区块信息、合约、共识确认、执行合约内容等功能。合约设备可以作为区块链节点之一。
请参考图1,其为本发明实施例所提供的一种基于区块链的失踪人口寻找方法,如图所示,该方法用于联盟链中,所述联盟链内包含M个非盈利组织节点和N个盈利组织节点,其中N个盈利组织节点预先加入第一智能合约,所述第一智能合约包括联盟链内中N个盈利组织节点的节点标识列表,所述方法包括:
S1第一节点接收失踪人口照片,完成认证后在所述联盟链中广播寻人任务信息,所述寻人任务信息包括人脸特征数据和失踪时间数据、用于约定比对识别规则和奖励规则的第二智能合约和发放的加密数字货币数量;
S2第二节点在接收到第一节点的广播后,将储存的失踪时间之后的视频与失踪人口照片进行比对识别,若比对成功,则将比对结果附加时间戳在所述联盟链中进行广播;
其中,所述步骤S2具体包括:
S20若第二节点在执行S2后未接收到其他第二节点的区块广播,则将比对结果附加时间戳进行广播;
S21若第二节点在执行S2过程中接收到其他第二节点的区块广播,则立即停止比对。
S3第一节点获取第二节点反馈的比对结果,基于第一智能合约和第二智能合约向所述第二节点支付对应数量的加密数字货币;
其中,所述步骤S3具体包括:
S30第一节点获取第二节点反馈的比对结果,若第二节点加入第一智能合约,则基于第二智能合约向所述第二节点支付对应数量的加密数字货币;
S31第一节点获取第二节点反馈的比对结果,若第二节点未加入第一智能合约,则不向所述第二节点支付对应数量的加密数字货币。
S4将本次交易行为同步记录在联盟链上的联盟节点。
如图1所述的实施例,该方法中提及的节点为具有运算能力的装置或设备,第一节点和第二节点的组成功能结构可以是相同的,两种节点的不同命名只是对单次失踪人口寻找过程扮演不同的角色进行区分。需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
从上述描述可知,本实施例首先将联盟链内的组织节点划分为非盈利组织节点和盈利组织节点,非盈利组织节点和盈利组织节点共同对其储存失踪时间之后的监控视频与失踪人口照片进行比对识别,寻找失踪人口,并基于第一智能合约和第二智能合约对完成任务的盈利组织节点进行奖励。其中,非盈利组织节点可以是各地公安、政府视频监控系统或者社会公益组织的视频监控系统或者其他以非盈利目的加入联盟链的单位和个人,而盈利组织是指以获利为目的加入联盟链的单位和个人。通过建立以非盈利组织节点为主导,以盈利组织节点为辅助的失踪人口寻找联盟链,发挥非盈利组织节点的公共服务功能,而利用盈利组织节点可以充分调动社会力量进行失踪人口寻找的积极性,以拯救每一个失踪或者被拐人口的家庭。利用区块链技术解决失踪人口寻找的问题,由联盟链节点参与任务执行,在数据采集过程中发生的交易采用联盟链技术分布式记账和账本同步,保证了失踪人口数据采集和账本的安全性,并且失踪人口信息可追溯和不可篡改。通过图像识别服务器进行相似度匹配,无需人工判断人脸相似度,判断准确率和效率更高,因此,使得失踪人口的寻找效率较高。
请参阅图2,图2为本发明又一实施例提供的基于区块链的失踪人口寻找方法的示意流程图,在上述实施例的基础上,所述步骤S1中完成认证包括:
S10当接收到第一节点发送的任务发布请求时,解析出所述任务发布请求中包含的第一节点所属的组织节点的第一节点标识;
S11判断第一智能合约的节点标识列表是否包含第一节点标识;
S12若第一智能合约的节点标识列表不包含第一节点标识,则完成认证。
S120若第一智能合约的节点标识列表包含第一节点标识,则查询联盟链账本信息是否记载第一节点的交易记录;
S121若联盟链账本信息记载有第一节点的交易记录,则完成认证,否则不能完成认证。
S122将完成认证的组织节点执行第三智能合约,即:
S1221从失踪人口照片中提取出人脸部位,对所述提取出的人脸部位进行白化处理;
S1222提取人脸部位的特征值,作为比对的基准特征值。
将储存的失踪时间之后的视频与失踪人口照片进行比对识别,是根据所述待识别视频的视频帧中人脸部位的特征值与所述基准特征值进行人脸识别,采用计算得到相关距离,确定最终识别结果:
其中,分数上半部分为两向量之间的协方差,下半部分为两向量的标准差,ρXY的值在-1~1之间,绝对值越大说明二者相关度越高,即越相似。需要说明的是,本发明将储存的失踪时间之后的视频与失踪人口照片进行比对识别不限于上述方法,还可以采用人脸识别领域的其他算法进行比对识别。
因为非盈利组织节点具有非盈利性属性,而且具有公益性和政府性,所以可以不需要条件即可发布任务,而盈利组织节点必须至少完成一次任务被记录才能完成验证发布任务,完成一次任务证明盈利组织节点具备一定规模和硬件实力,并对联盟有一定贡献,只有这样盈利组织节点才能升级权限。通过设计必须完成认证后才能在所述联盟链中广播寻人任务信息,将非盈利组织节点和盈利组织节点的权限区分开来,所以减少不可信的任务的发布,提高联盟链内信息共享的信任度,调动了盈利组织节点的任务完成的积极性。
请参阅图3,图3为本发明又一实施例提供的基于区块链的失踪人口寻找方法的示意流程图,在上述实施例的基础上,所述方法还包括:
S5第一节点接收到新节点提交的加入联盟链的加入请求,并向新节点返回是否盈利节点类型选择;
S6若新节点选择盈利节点类型,则第一节点将新节点的加入请求在所述联盟链中进行广播;
S7若通过M个非盈利组织节点中任一节点的验证或者新节点为首个盈利节点,则允许所述新节点接入联盟链,并将新节点加入第一智能合约;
S8若新节点选择非盈利节点类型,则第一节点将新节点的加入请求在所述联盟链中进行广播;
S9若通过M个非盈利组织节点的全部节点的验证或者新节点为首个非盈利节点,则允许所述新节点接入联盟链。
非盈利组织节点相对盈利组织节点具有更高的任务发布权限,而上述设计使得非盈利组织节点相对盈利组织节点具有更高的管理权限,新节点选择盈利节点类型,仅需通过M个非盈利组织节点中任一节点的验证或者新节点为首个盈利节点即可,这样更容易使得联盟扩张,更容易完成寻人任务。而新节点选择非盈利节点类型,则需通过M个非盈利组织节点的全部节点的验证或者新节点为首个非盈利节点,非盈利组织节点基于首个非盈利节点而搭建,并逐步形成与其他非盈利目的的非盈利组织节点共同平等管理联盟链,保障非盈利组织节点加入的可靠性,从而保障了非盈利组织节点的稳定性,减少联盟中不可信的任务的发布和避免管理混乱。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
图4为本发明实施例所提供的第一节点的功能方块图;
图5为本发明实施例所提供的第二节点的功能方块图。
请参考图4和图5,其为本发明实施例所提供的一种基于区块链的失踪人口寻找系统,所述系统包括:
至少一个第一节点100,请参考图4,其为本发明实施例所提供的第一节点的功能方块图,所述第一节点100包括:
任务生成模块,用于接收失踪人口照片,完成认证后在所述联盟链中广播寻人任务信息,所述寻人任务信息包括人脸特征数据和失踪时间数据、用于约定比对识别规则和奖励规则的第二智能合约和发放的加密数字货币数量;
认证模块110,用于认证第一节点的任务发布权限;
处理模块120,用于获取第二节点反馈的比对结果,基于第一智能合约和第二智能合约向所述第二节点支付对应数量的加密数字货币;
记录模块130,将本次交易行为同步记录在联盟链上的联盟节点。
至少一个第二节点200,请参考图5,图5为本发明实施例所提供的第二节点的功能方块图,所述第二节点200包括:
图形识别模块210,用于在接收到第一节点的广播后,将储存的失踪时间之后的视频与失踪人口照片进行比对识别;
结果生成模块220,用于图形识别模块比对成功时,将比对结果附加时间戳在所述联盟链中进行广播。
由于本实施例中的各单元模块能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。
图6是本发明的一个实施例节点设备的硬件示意图。请参考图6,在硬件层面,该节点设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该节点设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,也可从其它设备上获取相应的计算机程序,以在逻辑层面上形成电价的定价装置。处理器,执行存储器所存放的程序,以通过执行的程序实现本发明任一实施例中提供的节点工作方法。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的节点设备执行时,能够使该节点设备执行本发明任一实施例中提供的节点工作方法。
上述如本发明图实施例提供的节点设备执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的节点设备执行时,能够使该节点设备执行本发明任一实施例中提供的节点工作方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元或模块分别描述。当然,在实施本发明时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。