一种基于区块链的物流系统异常数据识别方法

文档序号:32156262发布日期:2022-11-11 23:32阅读:103来源:国知局
一种基于区块链的物流系统异常数据识别方法

1.本发明涉及区块链技术领域,具体涉及一种基于区块链的物流系统异常数据识别方法。


背景技术:

2.近年来,电子商务发展迅速,物流业与各种互联网技术的结合越来越紧密。在物流相关技术飞速进步的同时,仍然有很多问题亟待解决,例如物流信息溯源问题。该问题不仅仅是简单地查询货物始发地、途径地以及目的地等运输信息,更重要的是要保证所查询到的信息的真实性。物流信息溯源可以有效追踪物流商品,在其经过风险地区和相关人员时可以及时了解并进行处理,在一定程度上降低了风险。
3.传统的物流系统采用集中化部署模式,存在生产商、经销商篡改物流信息的风险,无法保证信息的准确性。同时,区块链网络因为高度透明、去中心化、不可篡改以及匿名等性质获得了广泛关注。相较于传统物流系统,区块链实现了数据不可篡改以及物流商品追溯等功能,有效打破信息孤岛,避免恶意修改信息导致的问题。
4.现有技术中,应用区块链技术数据虽然保证了上链数据的不可篡改,但是无法保证参与方提交的数据的真实性和准确性。在有恶意参与方提交恶意数据或异常数据的情况下,不经过判断直接进行数据上链,很容易造成损失。


技术实现要素:

5.本发明的目的就在于解决上述背景技术的问题,而提出一种基于区块链的物流系统异常数据识别方法。
6.本发明的目的可以通过以下技术方案实现:
7.基于本发明实施例提供的一种基于区块链的物流系统异常数据识别方法,所述方法包括:
8.获取用户区块链节点提交至待审核区块的交易数据;
9.对样本数据进行初始化,得到多个训练集以及每一训练集对应的初始化样本权重和错分代价;所述样本数据包括所述交易数据和所述用户区块链节点的历史数据;
10.针对每一训练集,以所述初始化样本权重和所述错分代价为参数,进行预设数目次迭代,得到预设数目个弱分类器,将预设数目个弱分类器组合成该训练集的强分类器;
11.将所有训练集的强分类器进行加权聚合,通过投票式判决得到所述交易数据是否异常的判决结果;
12.将所述交易数据的判决结果在区块链上进行广播,并将正常的数据打包得到第二区块,将第二区块接入至区块链。
13.可选地,在获取用户区块链节点提交至待审核区块的交易数据之前,所述方法还包括:
14.获取目标用户通过用户区块链节点输入的账号和密码,与数据库user用户表中记
录的注册时填的信息进行比对,对所述目标用户进行身份验证;
15.若所述目标用户身份验证成功,且所述用户区块链节点上传了所述交易数据,则将所述交易数据保存至所述待审核区块。
16.可选地,对所述样本数据进行初始化,得到多个训练集以及每一训练集对应的初始化样本权重和错分代价,包括:
17.将所述样本数据划分为n个训练集;
18.针对每一训练集,该训练集表示为:
19.s={(x1,y1),(x2,y2),...,(xk,yk)|y∈(1,-1)}
20.其中,k为训练集s的样本总数,xk表示第k个样本的数据,yk表示第k个样本是否正常,yk=-1代表正常类样本;yk=1代表异常类样本;
21.计算该训练集第一次迭代的初始化样本权重d1:
[0022][0023]
其中,w
1k
为第一次迭代时训练集s中每个样本的权重;
[0024]
计算该训练集的错分代价ck:
[0025][0026]
其中,n为训练集中多数类样本的数量,m为训练集中少数类样本的数量,k为训练集s的样本总数。
[0027]
可选地,针对每一训练集,以所述初始化样本权重和所述错分代价为参数,进行预设数目次迭代,得到预设数目个弱分类器,将预设数目个弱分类器组合成该训练集的强分类器,包括以下步骤:
[0028]
步骤一,针对每一训练集,提取部分数据,作为学习训练集;
[0029]
步骤二,使用所述学习训练集当前对应的学习样本权重对所述学习训练集进行学习,得到弱分类器;所述学习样本权重在第一次迭代时为所述初始化样本权重;
[0030]
步骤三,根据所述学习样本权重和错分代价更新下一次迭代的所述学习样本权重;
[0031]
步骤四,使用更新后的所述学习样本权重,重复执行上述步骤一至步骤三,直到完成预设数目次迭代,得到预设数目个弱分类器;
[0032]
步骤五,训练集s经过t次迭代后得到一组弱分类器f=(f1,f2,...,f
t
),将弱分类器集合f组合成一个强分类器fi:
[0033][0034]
其中,i表示训练集s为n个训练集中的第i个,t表示训练集s的迭代次数,α
t
表示第t次迭代时的弱分类器f
t
的所述学习样本权重,sign函数输出值为1或-1。
[0035]
可选地,每一训练集包括正常类样本和异常类样本,正常类样本多于异常类样本,正常类样本称为多数类样本,异常类样本称为少数类样本;假设每一训练集包含的m个多数类样本和n个少数类样本;
[0036]
针对每一训练集,提取部分数据,作为学习训练集,具体包括:
[0037]
针对每一训练集,按照初始化样本权重对该训练集包含的m个多数类样本按照从大到小进行排序,提取前n个多数类样本与n少数类样本,形成新的集合,作为学习训练集。
[0038]
可选地,根据所述学习样本权重和错分代价更新下一次迭代的所述学习样本权重,包括:
[0039]
假设本次迭代为第t次迭代,计算本次迭代时弱分类器f
t
的错误率ε
t

[0040][0041]
其中,d
t
(xk)表示第k个样本的数据xk在第t次迭代时的所述学习样本权重;
[0042]
计算第t次迭代训练的弱分类器f
t
的权重α
t

[0043][0044]
计算样本权重调节因子βk:
[0045]
βk=-0.5(y
kft
(xk))ck+0.5
[0046]
其中,yk为数值为1或-1的变量,f
t
(xk)为第k个样本的数据经过第t次迭代训练的弱分类器f
t
的输出数值,ck为错分代价;
[0047]
更新t+1次迭代的所述学习样本权重,得到d
t+1

[0048][0049]
其中,d
t
(xk)为第k个样本的初始化权重,α
t
为第t次迭代的弱分类器f
t
的权重,βk为第k个样本的权重调节因子,z
t
为归一化因子。
[0050]
可选地,假设包含n个训练集,且训练集s为n个训练集中的任意一个;训练集s训练的强分类器fi对输入数据给出的预测数值为1或-1;
[0051]
将所有训练集的强分类器进行加权聚合,通过投票式判决得到所述交易数据是否异常的判决结果,包括:
[0052]
从n个训练集的强分类器进行加权聚合,得到一组强分类器为f={f1,f2,...,fn};
[0053]
强分类器f的预测数值作为投票判决函数的输入,计算输出预测值p:
[0054][0055]
其中,n为训练集的数量,fi(x)表示第i个数据集训练的强分类器fi对输入数据的预测值,sign函数输出值为1或-1;
[0056]
根据预测值p得到所述交易数据是否异常的判决结果:
[0057]
若预测值p≥0,所述交易数据为异常数据;
[0058]
若预测值p<0,所述交易数据为正常数据。
[0059]
基于本发明实施例提供的一种基于区块链的物流系统异常数据识别方法,获取用户区块链节点提交至待审核区块的交易数据;对样本数据进行初始化,得到多个训练集以及每一训练集对应的初始化样本权重和错分代价;样本数据包括交易数据和用户区块链节点的历史数据;针对每一训练集,以初始化样本权重和错分代价为参数,进行预设数目次迭代,得到预设数目个弱分类器,将预设数目个弱分类器组合成该训练集的强分类器;将所有训练集的强分类器进行加权聚合,通过投票式判决得到交易数据是否异常的判决结果;将
交易数据的判决结果在区块链上进行广播,并将正常的数据打包得到第二区块,将第二区块接入至区块链。结合基于集成学习和代价敏感的不平衡数据分类算法,集成学习通过训练弱分类器来组成强分类器,代价敏感算法通过对样本赋予不同的权重来重视异常样本数据,两者结合可以有效提高不平衡数据分类的准确性,当异常数据在整体数据中占比较小时,也可以通过已训练的强分类器进行准确判断,避免将异常的数据打包上链,造成损失。
附图说明
[0060]
下面结合附图对本发明作进一步的说明。
[0061]
图1为本发明实施例提供的一种基于区块链的物流系统异常数据识别方法的流程图;
[0062]
图2为本发明实施例提供的物流系统的示意图。
具体实施方式
[0063]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0064]
本发明实施例提供了一种基于区块链的物流系统异常数据识别方法。参见图1,图1为本发明实施例提供的一种基于区块链的物流系统异常数据识别方法的流程图。该方法可以包括以下步骤:
[0065]
s101,获取用户区块链节点提交至待审核区块的交易数据。
[0066]
s102,对样本数据进行初始化,得到多个训练集以及每一训练集对应的初始化样本权重和错分代价。
[0067]
s103,针对每一训练集,以初始化样本权重和错分代价为参数,进行预设数目次迭代,得到预设数目个弱分类器,将预设数目个弱分类器组合成该训练集的强分类器。
[0068]
s104,将所有训练集的强分类器进行加权聚合,通过投票式判决得到交易数据是否异常的判决结果。
[0069]
s105,将交易数据的判决结果在区块链上进行广播,并将正常的数据打包得到第二区块,将第二区块接入至区块链。
[0070]
样本数据包括交易数据和用户区块链节点的历史数据。
[0071]
基于本发明实施例提供的一种基于区块链的物流系统异常数据识别方法,通过结合基于集成学习和代价敏感的不平衡数据分类算法,集成学习通过训练弱分类器来组成强分类器,代价敏感算法通过对样本赋予不同的权重来重视异常样本数据,两者结合可以有效提高不平衡数据分类的准确性,当异常数据在整体数据中占比较小时,也可以通过已训练的强分类器进行准确判断,避免将异常的数据打包上链,造成损失。
[0072]
一种实现方式中,用户区块链节点是与区块链网络连接的计算机和手机等电子终端。用户区块链节点可以将交易数据进行打包,并提交至待审核区块。
[0073]
一种实现方式中,正常数据通过智能合约以交易的形式记录在区块链中,当需要写入新数据时,系统识别出前一次存储的最后一个事务哈希,并将数据写入该块中,智能合
约中的交易数据可以包括交易地址、交易内容、交易地址、交易日期和交易人员签名等。
[0074]
在一个实施例中,在s101之前该方法还可以包括:
[0075]
获取目标用户通过用户区块链节点输入的账号和密码,与数据库user用户表中记录的注册时填的信息进行比对,对目标用户进行身份验证。
[0076]
若目标用户身份验证成功,且用户区块链节点上传了交易数据,则将交易数据保存至待审核区块。
[0077]
一种实现方式中,目标用户验证身份信息,账号类型可以包括生产者、经销商、运输人员等,后台自动识别用户输入的账号和密码信息,并与数据库user用户表中记录的注册时填的信息进行比对,user是用户信息类,包括使用者类型(是否为管理员)、账号account、密码password等属性。目标用户验证身份后可以填写物流商品相关数据,包括生产环境、中转时间、运输环境、配送人员等。
[0078]
在一个实施例中,步骤s102,包括:
[0079]
步骤1,将样本数据划分为n个训练集;
[0080]
针对每一训练集,该训练集表示为:
[0081]
s={(x1,y1),(x2,y2),...,(xk,yk)|y∈(1,-1)}
[0082]
其中,k为训练集s的样本总数,xk表示第k个样本的数据,yk表示第k个样本是否正常,yk=-1代表正常类样本;yk=1代表异常类样本。
[0083]
步骤2,计算该训练集第一次迭代的初始化样本权重d1:
[0084][0085]
其中,w
1k
为第一次迭代时训练集s中每个样本的权重。
[0086]
步骤3,计算该训练集的错分代价ck:
[0087][0088]
其中,n为训练集中多数类样本的数量,m为训练集中少数类样本的数量,k为训练集s的样本总数。
[0089]
在一个实施例中,步骤s103,可以包括以下步骤:
[0090]
步骤一,针对每一训练集,提取部分数据,作为学习训练集。
[0091]
步骤二,使用学习训练集当前对应的学习样本权重对学习训练集进行学习,得到弱分类器。
[0092]
步骤三,根据学习样本权重和错分代价更新下一次迭代的学习样本权重。
[0093]
步骤四,使用更新后的学习样本权重,重复执行上述步骤一至步骤三,直到完成预设数目次迭代,得到预设数目个弱分类器。
[0094]
步骤五,训练集s经过t次迭代后得到一组弱分类器f=(f1,f2,...,f
t
),将弱分类器集合f组合成一个强分类器fi:
[0095][0096]
其中,i表示训练集s为n个训练集中的第i个,t表示训练集s的迭代次数,α
t
表示第t次迭代时的弱分类器f
t
的所述学习样本权重,sign函数输出值为1或-1。
[0097]
学习样本权重在第一次迭代时为初始化样本权重;
[0098]
在一个实施例中,每一训练集包括正常类样本和异常类样本,正常类样本多于异常类样本,正常类样本称为多数类样本,异常类样本称为少数类样本;假设每一训练集包含的m个多数类样本和n个少数类样本;
[0099]
针对每一训练集,提取部分数据,作为学习训练集,具体包括:
[0100]
针对每一训练集,按照初始化样本权重对该训练集包含的m个多数类样本按照从大到小进行排序,提取前n个多数类样本与n少数类样本,形成新的集合,作为学习训练集。
[0101]
在一个实施例中,根据学习样本权重和错分代价更新下一次迭代的学习样本权重,包括:
[0102]
步骤1,假设本次迭代为第t次迭代,计算本次迭代时弱分类器f
t
的错误率ε
t

[0103][0104]
其中,d
t
(xk)表示第k个样本的数据xk在第t次迭代时的学习样本权重;
[0105]
步骤2,计算第t次迭代训练的弱分类器f
t
的权重α
t

[0106][0107]
步骤3,计算样本权重调节因子βk:
[0108]
βk=-0.5(y
kft
(xk))ck+0.5
[0109]
其中,yk为数值为1或-1的变量,f
t
(xk)为第k个样本的数据经过第t次迭代训练的弱分类器f
t
的输出数值,ck为错分代价;
[0110]
步骤4,更新t+1次迭代的学习样本权重,得到d
t+1

[0111][0112]
其中,d
t
(xk)为第k个样本的初始化权重,α
t
为第t次迭代的弱分类器f
t
的权重,βk为第k个样本的权重调节因子,z
t
为归一化因子。
[0113]
在一个实施中,假设包含n个训练集,且训练集s为n个训练集中的任意一个;训练集s训练的强分类器fi对输入数据给出的预测数值为1或-1;
[0114]
步骤s104可以包括以下步骤:
[0115]
步骤1,从n个训练集的强分类器进行加权聚合,得到一组强分类器为f={f1,f2,...,fn}。
[0116]
步骤2,强分类器f的预测数值作为投票判决函数的输入,计算输出预测值p:
[0117][0118]
其中,n为训练集的数量,fi(x)表示第i个数据集训练的强分类器fi对输入数据的预测值,sign函数输出值为1或-1。
[0119]
步骤3,根据预测值p得到交易数据是否异常的判决结果:
[0120]
若预测值p≥0,所述交易数据为异常数据;
[0121]
若预测值p<0,所述交易数据为正常数据。
[0122]
一种实现方式中,若预测值p≥0,证明强分类器中一半及以上的判断该数据属于
少数,即为异常数据,系统要将其筛选出去;反之,预测值p<0,证明强分类器中一半以下的判断该数据属于少数,即为正常数据,系统将其保留并进行上链操作。只有当有一半以上的强分类器认为提交的数据为正常数据时,才进行数据上链操作,进一步提高了判决结果的准确性,使得存储在基于区块链的数据更加真实可靠。
[0123]
在一个实施中,参照图2,图2为本发明实施例提供的物流系统的示意图,该物流系统运用本发明实施例提供的异常数据识别方法,基于hyperledger fabric架构搭建,针对上链数据进行基于集成学习和代价敏感的不平衡数据分类算法训练出的强分类器的投票判决,保证在物流系统上的数据真实可靠。
[0124]
物流系统的整体架构包含两层体系支撑和三层核心架构。其中,两层体系包括运维监控服务体系和安全管理服务体系。运维监控服务体系包括合约管理、通知管理、日志管理、异常监控和数据分析等模块,负责收集系统中运行的状态数据,并可视化呈现,系统中的状态数据包括系统的访问量、耗时、节点的健康状态和底层机器资源使用情况,通过可视化监控实时掌握整个区块链系统的状态,当出现欺诈节点、账本篡改、机器故障、数据异常等情况时及时通知相关人员处理。所述安全管理服务体系提供跨链安全、智能合约安全、隐私保护等安全防护技术,并具备用户和服务的身份认证管理、api安全、业务安全等安全防护措施。
[0125]
区块链平台中的三层核心架构包括:
[0126]
1)基础设施层,其用于区块链网络提供底层资源,用于为处理物流商品的生产、流转及配送等信息提供相关计算和存储基础。
[0127]
具体地,基础设施层包括计算节点资源、存储资源、网络通信带宽资源等,用于网络中数据计算和存储。
[0128]
2)区块链核心层,其包含加密算法模块、共识算法模块和用户及权限管理模块。其中,加密算法模块、共识算法模块用于对物流商品的生产、流转和配送等信息进行加密和共识处理,用户及权限管理模块用于对移动终端的访问权限进行管理。
[0129]
3)场景化应用层,其用于根据溯源请求,搭建可信存证相关区块链应用场景。
[0130]
在具体实施过程中,移动终端用于以物流商品标识为索引值,向区块链平台发送信息溯源请求,在区块链平台验证移动终端的权限合格后,接收与信息溯源请求相匹配的查询结果信息。
[0131]
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1