本发明涉及数据处理领域。更具体地说,本发明涉及一种溯源数据异常检测方法及区块链溯源数据存储方法。
背景技术:
1、为了提高源数据的有效性或真实性,需要对采集的源数据进行异常检测,以过滤异常数据。现有的异常数据检测方法主要有孤立森林算法(isolation forest,iforest)、局部异常因子检测算法(local outlier factor,lof)、基于聚类的异常检测算法和基于距离的异常检测算法,但上述异常数据检测方法在进行粮油食品溯源数据异常检测时,异常数据识别效果均有待提高。
技术实现思路
1、本发明的一个目的是提供一种溯源数据异常检测方法及区块链溯源数据存储方法,以至少解决上述问题。
2、为了实现本发明的目的和其它优点,提供了一种溯源数据异常检测方法,包括:获取溯源数据,并对其预处理;对预处理后的溯源数据采用lof算法进行异常值检测,初步过滤异常数据,得第一数据集;对所述第一数据集采用孤立森林算法进行异常值检测,再次过滤异常数据,得过滤后的溯源数据。
3、优选的是,所述的溯源数据异常检测方法,所述孤立森林算法中孤立森林的构建方法为:确定孤立森林算法中的最大树高h和孤立树个数n;从所述第一数据集中进行随机采样,得n个第二数据集;分别将所述第二数据集作为孤立树的根节点数据,采用lof算法进行异常值检测,并将检测结果作为分支判断标准进行数据分支,若检测结果为异常值,则将该溯源数据划分为孤立树的左枝,得第三数据集,否则,将该数据划分为孤立树的右枝,得第四数据集;分别对所述第三数据集和所述第四数据集采用lof算法进行异常值检测,并将检测结果作为分支判断标准,对所述第三数据集和所述第四数据集再次进行数据分支,重复上述过程,不断构造新的叶子节点,直至每个叶子节点中只有一个数据或孤立树已经生长到所述最大树高h。
4、优选的是,所述的溯源数据异常检测方法,所述溯源数据的数据类型包括公开数据和隐私数据。
5、优选的是,所述的溯源数据异常检测方法,所述预处理包括数据分类和归一化处理。
6、本发明还提供了一种区块链溯源数据存储方法,包括:采用如权利要求1~4任一所述的溯源数据异常检测方法对所述溯源数据进行异常值检测,过滤异常数据。
7、优选的是,所述的区块链溯源数据存储方法,还包括:
8、将过滤后的溯源数据存储在本地数据库中,并进行加密处理;
9、建立区块链与本地数据库之间的映射关系,将加密后的密文上传至区块链。
10、优选的是,所述的区块链溯源数据存储方法,根据所述溯源数据的数据类型,对所述过滤后的溯源数据分别进行加密处理。
11、优选的是,所述的区块链溯源数据存储方法,对于所述公开数据,采用sha256加密算法进行加密后直接上链;对于所述隐私数据,采用sm2椭圆加密算法进行加密,生成sm2密钥对,对所述sm2密钥对中的公钥进行加密后上链。
12、本发明还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-4中任一项所述的方法。
13、本发明还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现权利要求1-4中任一项所述的方法。
14、本发明至少包括以下有益效果:
15、第一、本发明的溯源数据异常检测方法是将lof算法与孤立森林算法进行有机结合,将经lof算法过滤后的溯源数据作为孤立树的树根节点数据,在此基础上进行建树,并将孤立森林算法中的孤立树分枝判别操作采用lof算法进行代替,将每棵树的局部异常因子结果作为评判树高分枝的标准,提高算法对局部异常数据的检测能力,使得本发明的溯源数据异常检测方法的异常数据识别能力更强、总体性能更好、鲁棒性更强。
16、第二、本发明的区块链溯源数据存储方法采用“区块链+本地数据库”的链上链下的存储方式,可极大的减轻区块链的存储压力,提高溯源数据查询效率和安全性,且能够满足粮油食品供应链溯源系统数据上链与查询需求。
17、本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
1.溯源数据异常检测方法,其特征在于,包括:
2.如权利要求1所述的溯源数据异常检测方法,其特征在于,所述孤立森林算法中孤立森林的构建方法为:确定孤立森林算法中的最大树高h和孤立树个数n;从所述第一数据集中进行随机采样,得n个第二数据集;分别将所述第二数据集作为孤立树的根节点数据,采用lof算法进行异常值检测,并将检测结果作为分支判断标准进行数据分支,若检测结果为异常值,则将该溯源数据划分为孤立树的左枝,得第三数据集,否则,将该数据划分为孤立树的右枝,得第四数据集;分别对所述第三数据集和所述第四数据集采用lof算法进行异常值检测,并将检测结果作为分支判断标准,对所述第三数据集和所述第四数据集再次进行数据分支,重复上述过程,不断构造新的叶子节点,直至每个叶子节点中只有一个数据或孤立树已经生长到所述最大树高h。
3.如权利要求2所述的溯源数据异常检测方法,其特征在于,所述溯源数据的数据类型包括公开数据和隐私数据。
4.如权利要求3所述的溯源数据异常检测方法,其特征在于,所述预处理包括数据分类和归一化处理。
5.区块链溯源数据存储方法,其特征在于,包括:采用如权利要求1~4任一所述的溯源数据异常检测方法对所述溯源数据进行异常值检测,过滤异常数据。
6.如权利要求5所述的区块链溯源数据存储方法,其特征在于,还包括:
7.如权利要求6所述的区块链溯源数据存储方法,其特征在于,根据所述溯源数据的数据类型,对所述过滤后的溯源数据分别进行加密处理。
8.如权利要求7所述的区块链溯源数据存储方法,其特征在于,对于所述公开数据,采用sha256加密算法进行加密后直接上链;对于所述隐私数据,采用sm2椭圆加密算法进行加密,生成sm2密钥对,对所述sm2密钥对中的公钥进行加密后上链。
9.电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-4中任一项所述的方法。
10.存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-4中任一项所述的方法。