[0001]
本发明涉及寄递物流管理技术领域,更具体地说,涉及一种基于区块链的寄递物流管理方法、装置、终端及存储介质。
背景技术:[0002]
现有寄递快递、物流通过快递员手持移动设备(手机、平板等)安装登录客户端软件或访问登录客户端网页进行登记上传寄件人信息,实时通过互联网网络连接服务器端进行寄件人身份信息的验证,最后将数据上传到后台服务器端,服务器端进行常规信息的校验存储信息到系统数据库中。
[0003]
快递行业要求实名制寄件,基于传统数据库存储实名验证信息的方式以及http、https方式验证服务,会存在极大可能实名验证信息数据被网络攻击破解加密数据以及数据被篡改,造成不可信的服务。现有系统存储的收件人信息是存储在传统数据库中,信息可能会被篡改,将导致快件在投递过程中容易被无关人员冒领、错领。
[0004]
此外,现有客户端和服务端的数据交换方式当客户端处于一个网络异常的环境,将无法与服务器端获得连接,进而导致寄递信息验证服务不可用,无法进行正常的寄递登记业务。
技术实现要素:[0005]
为克服现有技术中的缺点与不足,本发明的目的在于提供一种基于区块链的寄递物流管理方法、装置、终端及存储介质;本发明采用区块链的加密算法技术,对身份验证信息进行加密,可解决敏感身份验证数据被破解和篡改,保障数据安全性和真实可信。
[0006]
为了达到上述目的,本发明通过下述技术方案予以实现:一种基于区块链的寄递物流管理方法,其特征在于:包括:
[0007]
录入寄递员信息;将寄递员信息生成寄递员信息区块,并连接到区块链上;
[0008]
获取寄递员身份登录信息;调用区块链上的寄递员信息区块对寄递员身份登录信息进行验证;
[0009]
录入寄件信息;将寄件信息生成寄件信息区块,并连接到区块链上;
[0010]
获取寄件人身份认证信息;调用区块链上的寄件信息区块对寄件人身份认证信息进行身份验证;
[0011]
获取收件信息;所述收件信息包括收件人姓名、收件人手机号码、收件地址和快递开箱照片;将快递单号、所述寄件信息和收件信息一起生成收寄件区块,并连接到区块链上;每个收寄件区块都会生成一个唯一的哈希值来使收寄件区块直接按照时间顺序链接;
[0012]
根据快递单号查询区块链上的收寄件区块,触发区块链上的投递智能合约来获取收寄件区块的信息;通过哈希算法对收寄件区块中的收件人姓名、收件地址和收件人手机号码进行加密处理,生成验证码a,并将验证码a发送至收件人手机号码上;
[0013]
根据验证码a调用区块链收件验证智能合约进行收件人身份的验证:收件验证智
能合约接收验证码a,提取出对应收寄件区块信息中的快递单号,使用哈希算法对快递单号所对应的收件人姓名、收件地址和收件人手机号码进行加密处理生成验证码b;将验证码a与验证码b进行对等比较:验证码a与验证码b相同则匹配成功;
[0014]
匹配成功后将快件投递状态标记为确认投递状态,并写入一个新的投递状态区块中;将投递状态区块连接到区块链上。
[0015]
优选地,所述录入寄递员信息;将寄递员信息生成寄递员信息区块,并连接到区块链上,包括:
[0016]
将录入的寄递员信息存储到数据库中;寄递员信息包括寄递员手机号码、寄递员身份证号码、寄递员住址和寄递员照片;
[0017]
将寄递员信息使用公钥进行加密生成唯一身份id作为key,真实的信息内容作为value;通过调用区块链上的寄递员信息智能合约将寄递员信息写入到一个寄递员信息区块中;将寄递员信息区块连接到区块链上;
[0018]
所述获取寄递员身份登录信息;调用区块链上的寄递员信息区块对寄递员身份登录信息进行验证,包括:
[0019]
通过拍照或扫描获取寄递员身份证上的信息;根据寄递员身份证上的信息访问区块链的验证智能合约来调取对应的寄递员信息区块,通过使用私钥进行解密验证。
[0020]
优选地,在将录入的寄递员信息存储到数据库中之前,还包括:添加或导入物流机构下的快递公司资料信息;快递公司资料信息包括名称、地址、联系电话、责任人、责任人电话、所属机构和营业执照;对每个快递公司分配一个管理账号;
[0021]
所述录入的寄递员信息存储到所在快递公司的管理账号对应的数据库中。
[0022]
优选地,所述录入寄件信息;将寄件信息生成寄件信息区块,并连接到区块链上,包括:
[0023]
添加或导入寄件人身份信息;寄件人身份信息包括寄件人姓名、寄件人性别、寄件人手机号码、寄件人身份证号码和寄件地址;将寄件人身份信息使用公钥进行加密生成唯一身份id作为key,真实的信息内容作为value;通过调用区块链上的寄件人信息智能合约将寄件人身份信息写入一个寄件信息区块中;将寄件信息区块连接到区块链上;
[0024]
所述获取寄件人身份认证信息;调用区块链上的寄件信息区块对寄件人身份认证信息进行身份验证,包括:
[0025]
通过拍照或扫描获取寄件人身份证上的信息作为寄件人身份认证信息;根据寄件人身份证上的信息访问区块链的验证智能合约来调取对应的寄件信息区块,通过使用私钥进行解密验证。
[0026]
优选地,所述将快递单号和收件信息一起生成收寄件区块,并连接到区块链上,包括:
[0027]
将快递单号和收件信息一起通过调用区块链上的保存收件智能合约将收件信息写入一个收寄件区块中;将收寄件区块连接到区块链上。
[0028]
优选地,所述保存收件智能合约使用solidity语言进行编写,编译后部署到区块链上提供调用的地址,定义了一个save方法接收快递单号、寄件人姓名、寄件人手机号码、寄件人身份证号码、寄件地址、收件人姓名、收件人手机号码和收件地址;然后写入一个收寄件区块中,并部署到区块链上。
[0029]
优选地,将所述寄递物流管理方法应用于若干客户端上;采用分布式账本方式将每个客户端作为分布式的一个节点存储区块链账本数据。
[0030]
为实现上述基于区块链的寄递物流管理方法,本发明提供一种基于区块链的寄递物流管理装置,其特征在于:包括:
[0031]
寄递员信息录入模块,用于录入寄递员信息,将寄递员信息生成寄递员信息区块,并连接到区块链上;
[0032]
寄递员登录模块,用于获取寄递员身份登录信息;调用区块链上的寄递员信息区块对寄递员身份登录信息进行验证;
[0033]
寄件人信息录入模块,用于录入寄件信息,将寄件信息生成寄件信息区块,并连接到区块链上;
[0034]
寄件人认证模块,用于获取寄件人身份认证信息;调用区块链上的寄件信息区块对寄件人身份认证信息进行身份验证;
[0035]
收寄件信息生成模块,用于获取收件信息;将快递单号、所述寄件信息和收件信息一起生成收寄件区块,并连接到区块链上;每个收寄件区块都会生成一个唯一的哈希值来使收寄件区块直接按照时间顺序链接;所述收件信息包括收件人姓名、收件人手机号码、收件地址和快递开箱照片;
[0036]
派件验证码生成模块,根据快递单号查询区块链上的收寄件区块,触发区块链上的投递智能合约来获取收寄件区块的信息;通过哈希算法对收寄件区块中的收件人姓名、收件地址和收件人手机号码进行加密处理,生成验证码a,并将验证码a发送至收件人手机号码上;
[0037]
取件验证模块,用于根据验证码a调用区块链收件验证智能合约进行收件人身份的验证:收件验证智能合约接收验证码a,提取出对应收寄件区块信息中的快递单号,使用哈希算法对快递单号所对应的收件人姓名、收件地址和收件人手机号码进行加密处理生成验证码b;将验证码a与验证码b进行对等比较:验证码a与验证码b相同则匹配成功;
[0038]
投递确认模块,用于将快件投递状态标记为确认投递状态,并写入一个新的投递状态区块中;将投递状态区块连接到区块链上。
[0039]
一种寄递物流管理终端,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于:所述处理器执行存储器存储的程序时,实现上述基于区块链的寄递物流管理方法。
[0040]
一种存储介质,其特征在于,其中所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述基于区块链的寄递物流管理方法。
[0041]
与现有技术相比,本发明具有如下优点与有益效果:
[0042]
1、本发明采用区块链的加密算法技术,对身份验证信息进行加密,可解决敏感身份验证数据被破解和篡改,保障数据安全性和真实可信;
[0043]
2、本发明将寄件信息和收件信息等数据进行上链,历史数据查询将不会被篡改;可通过区块链上的数据对快件进行追溯,确认流转过程中引发问题的环节和责任人;区块链上的每一个区块都会盖上时间戳,每个新产生的区块严格按照时间线形顺序推进依次链接存储数据,每一个区块自身都有一个唯一哈希值以及上一个区块的哈希值,确保区块按照时间顺序连接的同时没有被篡改;
[0044]
3、本发明采用区块链智能合约技术,通过编写智能合约程序将数据写入区块链区块中,以及利用智能合约进行数据身份信息的验证;
[0045]
4、本发明根据收件信息生成验证码a并发送给收件人作为取件凭证,之后根据验证码a调用区块链上信息并使用哈希算法生成验证码b,根据验证码a和b的匹配结果来确认投递是否正确,避免出现被无关人员冒领、错领,还可隐藏收件人手机号码,保护个人信息安全;
[0046]
5、本发明采用区块链去中心化分布式账本技术,将每一个客户端都作为分布式的一个节点存储验证信息账本数据,解决网络异常或无法连接服务端时仍可以利用自身节点数据对寄递员和寄件人身份信息进行验证。
附图说明
[0047]
图1是本发明基于区块链的寄递物流管理方法的流程图;
[0048]
图2是本发明基于区块链的寄递物流管理方法所应用的寄递物流管理系统的系统框图。
具体实施方式
[0049]
下面结合附图与具体实施方式对本发明作进一步详细的描述。
[0050]
实施例
[0051]
本实施例一种基于区块链的寄递物流管理方法,应用于基于以太坊区块链网络提供分布式账本、安全加解密机制技术的寄递物流系统;如图2所示,寄递物流系统包括有移动终端、后台管理端两个子系统。移动终端子系统包括收件人登录、查看收件派单、收件登记、收件记录管理。后台管理端包括参与物流的机构管理、寄递管理、寄件人管理、收件验视审查管理、可疑件管理、用户管理、快递公司管理、数据统计分析等功能模块。
[0052]
基于区块链的寄递物流管理方法,流程如图1所示,包括:
[0053]
录入寄递员信息;将寄递员信息生成寄递员信息区块,并连接到区块链上;
[0054]
获取寄递员身份登录信息;调用区块链上的寄递员信息区块对寄递员身份登录信息进行验证;
[0055]
录入寄件信息;将寄件信息生成寄件信息区块,并连接到区块链上;
[0056]
获取寄件人身份认证信息;调用区块链上的寄件信息区块对寄件人身份认证信息进行身份验证;
[0057]
获取收件信息;所述收件信息包括收件人姓名、收件人手机号码、收件地址和快递开箱照片;将快递单号、所述寄件信息和收件信息一起生成收寄件区块,并连接到区块链上;每个收寄件区块都会生成一个唯一的哈希值来使收寄件区块直接按照时间顺序链接;
[0058]
根据快递单号查询区块链上的收寄件区块,触发区块链上的投递智能合约来获取收寄件区块的信息;通过哈希算法对收寄件区块中的收件人姓名、收件地址和收件人手机号码进行加密处理,生成验证码a,并将验证码a发送至收件人手机号码上;
[0059]
根据验证码a调用区块链收件验证智能合约进行收件人身份的验证:收件验证智能合约接收验证码a,提取出对应收寄件区块信息中的快递单号,使用哈希算法对快递单号所对应的收件人姓名、收件地址和收件人手机号码进行加密处理生成验证码b;将验证码a
与验证码b进行对等比较:验证码a与验证码b相同则匹配成功;验证码a和b可采用6位的数字验证码;
[0060]
匹配成功后将快件投递状态标记为确认投递状态,并写入一个新的投递状态区块中;将投递状态区块连接到区块链上。
[0061]
具体地说,在录入寄递员信息之前,还包括:
[0062]
添加或导入物流机构下的快递公司资料信息;快递公司资料信息包括名称、地址、联系电话、责任人、责任人电话、所属机构和营业执照;对每个快递公司分配一个管理账号。
[0063]
所述录入寄递员信息;将寄递员信息生成寄递员信息区块,并连接到区块链上,包括:
[0064]
将录入的寄递员信息存储到所在快递公司的管理账号对应的数据库中;寄递员信息包括寄递员手机号码、寄递员身份证号码、寄递员住址和寄递员照片;
[0065]
将寄递员信息使用公钥进行加密生成唯一身份id作为key,真实的信息内容作为value;通过调用区块链上的寄递员信息智能合约将寄递员信息写入到一个寄递员信息区块中;将寄递员信息区块连接到区块链上。
[0066]
所述寄递员信息智能合约使用solidity语言进行编写,在寄递员信息智能合约代码中定义save方法,save方法接收寄递员的唯一身份id、寄递员手机号码、寄递员身份证号码、寄递员住址和寄递员照片的信息来写入到一个寄递员信息区块中;每一个寄递员信息区块都会有一个哈希值确保区块按照时间顺序连接并且没有被篡改;寄递员信息智能合约将寄递员信息区块部署到区块链上时,对寄递员信息区块分配一个合约地址,以在后续调用寄递员信息智能合约时将使用所述合约地址进行呼叫。
[0067]
所述获取寄递员身份登录信息;调用区块链上的寄递员信息区块对寄递员身份登录信息进行验证,包括:
[0068]
通过拍照或扫描获取寄递员身份证上的信息;根据寄递员身份证上的信息访问区块链的验证智能合约来调取对应的寄递员信息区块,通过使用私钥进行解密验证。
[0069]
所述录入寄件信息;将寄件信息生成寄件信息区块,并连接到区块链上,包括:
[0070]
添加或导入寄件人身份信息;寄件人身份信息包括寄件人姓名、寄件人性别、寄件人手机号码、寄件人身份证号码和寄件地址;将寄件人身份信息使用公钥进行加密生成唯一身份id作为key,真实的信息内容作为value;通过调用区块链上的寄件人信息智能合约将寄件人身份信息写入一个寄件信息区块中;将寄件信息区块连接到区块链上。
[0071]
寄件人信息智能合约使用solidity语言进行编写,在寄件人信息智能合约代码中定义save方法,save方法接收寄件人的唯一身份id、寄件人手机号码、寄件人身份证号码、寄件地址参数信息来写入寄件人信息区块链的一个新的寄件信息区块中。
[0072]
所述获取寄件人身份认证信息;调用区块链上的寄件信息区块对寄件人身份认证信息进行身份验证,包括:
[0073]
通过拍照或扫描获取寄件人身份证上的信息作为寄件人身份认证信息;根据寄件人身份证上的信息访问区块链的验证智能合约来调取对应的寄件信息区块,通过使用私钥进行解密验证。
[0074]
所述将快递单号和收件信息一起生成收寄件区块,并连接到区块链上,包括:
[0075]
将快递单号和收件信息一起通过调用区块链上的保存收件智能合约将收件信息
写入一个收寄件区块中;将收寄件区块连接到区块链上。
[0076]
所述保存收件智能合约使用solidity语言进行编写,编译后部署到区块链上提供调用的地址,定义了一个save方法接收快递单号、寄件人姓名、寄件人手机号码、寄件人身份证号码、寄件地址、收件人姓名、收件人手机号码和收件地址;然后写入一个收寄件区块中,并部署到区块链上。
[0077]
本发明采用区块链的加密算法技术,对身份验证信息进行加密,可解决敏感身份验证数据被破解和篡改,保障数据安全性和真实可信。
[0078]
本发明将寄件信息和收件信息等数据进行上链,历史数据查询将不会被篡改;可通过区块链上的数据对快件进行追溯,确认流转过程中引发问题的环节和责任人;区块链上的每一个区块都会盖上时间戳,每个新产生的区块严格按照时间线形顺序推进依次链接存储数据,每一个区块自身都有一个唯一哈希值以及上一个区块的哈希值,确保区块按照时间顺序连接的同时没有被篡改。
[0079]
本发明采用区块链智能合约技术,通过编写智能合约程序将数据写入区块链区块中,以及利用智能合约进行数据身份信息的验证。
[0080]
本发明根据收件信息生成验证码a并发送给收件人作为取件凭证,之后根据验证码a调用区块链上信息并使用哈希算法生成验证码b,根据验证码a和b的匹配结果来确认投递是否正确,避免出现被无关人员冒领、错领,还可隐藏收件人手机号码,保护个人信息安全。
[0081]
将所述寄递物流管理方法应用于若干客户端上;采用分布式账本方式将每个客户端作为分布式的一个节点存储区块链账本数据。本发明采用区块链去中心化分布式账本技术,将每一个客户端都作为分布式的一个节点存储验证信息账本数据,解决网络异常或无法连接服务端时仍可以利用自身节点数据对寄递员和寄件人身份信息进行验证。
[0082]
实施例二
[0083]
为实现实施例一所述的基于区块链的寄递物流管理方法,本实施例提供一种基于区块链的寄递物流管理装置,其特征在于:包括:
[0084]
寄递员信息录入模块,用于录入寄递员信息,将寄递员信息生成寄递员信息区块,并连接到区块链上;
[0085]
寄递员登录模块,用于获取寄递员身份登录信息;调用区块链上的寄递员信息区块对寄递员身份登录信息进行验证;
[0086]
寄件人信息录入模块,用于录入寄件信息,将寄件信息生成寄件信息区块,并连接到区块链上;
[0087]
寄件人认证模块,用于获取寄件人身份认证信息;调用区块链上的寄件信息区块对寄件人身份认证信息进行身份验证;
[0088]
收寄件信息生成模块,用于获取收件信息;将快递单号、所述寄件信息和收件信息一起生成收寄件区块,并连接到区块链上;每个收寄件区块都会生成一个唯一的哈希值来使收寄件区块直接按照时间顺序链接;所述收件信息包括收件人姓名、收件人手机号码、收件地址和快递开箱照片;
[0089]
派件验证码生成模块,根据快递单号查询区块链上的收寄件区块,触发区块链上的投递智能合约来获取收寄件区块的信息;通过哈希算法对收寄件区块中的收件人姓名、
收件地址和收件人手机号码进行加密处理,生成验证码a,并将验证码a发送至收件人手机号码上;
[0090]
取件验证模块,用于根据验证码a调用区块链收件验证智能合约进行收件人身份的验证:收件验证智能合约接收验证码a,提取出对应收寄件区块信息中的快递单号,使用哈希算法对快递单号所对应的收件人姓名、收件地址和收件人手机号码进行加密处理生成验证码b;将验证码a与验证码b进行对等比较:验证码a与验证码b相同则匹配成功;
[0091]
投递确认模块,用于将快件投递状态标记为确认投递状态,并写入一个新的投递状态区块中;将投递状态区块连接到区块链上。
[0092]
实施例三
[0093]
本实施例一种寄递物流管理终端,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于:所述处理器执行存储器存储的程序时,实现实施例一所述的基于区块链的寄递物流管理方法。
[0094]
实施例四
[0095]
一种存储介质,其特征在于,其中所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行实施例一所述的基于区块链的寄递物流管理方法。
[0096]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。