具有数据验证功能的动物个体溯源共识方法

文档序号:33079434发布日期:2023-01-31 16:33阅读:24来源:国知局
具有数据验证功能的动物个体溯源共识方法

1.本发明涉及机器学习与区块链技术领域,具体为一项具有数据验证功能的动物个体溯源共识方法。


背景技术:

2.区块链是一种按照时间顺序将数据区块以链条的方式 组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账。利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码 (智能合约)来编程和操作数据的一种去中心化基础架构与分布式计算范式。区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段, 在节点无需互相信任的分布式系统中达成共识,实现基于去中心化信用的点对点交易、协调与协作, 从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。 目前主流的共识机制有工作量证明机制(pow),权益证明机制(pos),股份授权证明机制(dpos),实用拜占庭容错机制(pbft)等,但目前的共识机制大都存在过度消耗资源、效率低以及适应性差等缺点。


技术实现要素:

3.为了解决传统畜牧业养殖方式存在的人工成本高、数据更新不规范、容易被篡改、历史数据不可追溯等不足,本发明提出了一种具有数据验证功能的动物个体溯源共识方法,共识过程简单高效,能够有效解决畜牧养殖过程中数据安全性低、历史数据不可追溯等缺点。
4.为实现上述目的,本发明采用如下技术方案:一种具有数据验证功能的动物个体溯源共识方法,其特征在于,包括如下步骤:步骤1:数据节点采集个体养殖数据后传输给计算节点,计算节点通过个体识别方法获取个体唯一身份标识,身份标识用于数据与个体的对应以及后续相关数据的查询、对比等。所述数据节点为物联网设备,所述计算节点为具有编程与计算能力的设备,所述养殖数据包括体重、体温、圈舍温度、圈舍湿度等与个体生长相关的数据;步骤2:计算节点根据个体身份标识及数据类型对个体实时数据进行预测获得个体实时数据期望值,根据预设规则计算得到数据节点传输的测量值与期望值的相近系数,并对步骤1中数据节点传输的养殖数据进行验证,判断数据是否异常。其中,数据预测模型是由历史养殖数据作为数据集,基于xgboost算法进行训练得到;步骤3:当出现异常数据时,计算节点根据预设规则判断数据异常来源,其中数据异常来源包括数据节点异常和个体异常预警。如果数据节点异常则报送系统管理员数据节点编号,如果个体异常预警则根据个体健康评分算法得出个体健康评分并反馈给系统。最后计算节点将数据打包生成交易;步骤4:系统根据预设规则计算各计算节点的优先系数并选出一个计算节点作为
领导者节点;步骤5:领导者节点根据预设规则对交易进行验证,确认计算节点身份及交易格式,验证通过后领导者节点打包交易生成区块并将区块广播到网络同时发起出块验证;步骤6:计算节点根据预设规则对区块进行验证,并将验证结果反馈给系统,当系统接收到一定数量的出块验证通过反馈结果时,证明出块成功,调用智能合约完成出块。
5.进一步,步骤2中,所述的预设规则为:1.计算节点根据相近系数公式计算数据节点传输的测量值与期望值的相近系数;2.将相近系数输入相近阈值函数;3.通过数据验证算法并对步骤1中数据节点传输的养殖数据进行验证。
6.进一步,所述的相近系数公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中x表示个体实时数据的测量值,x

表示个体实时数据的期望值,μ表示调节系数,s表示个体实时数据的测量值与期望值的相近系数。
7.进一步,所述的相近阈值函数为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中γ示为个体实时数据异常阈值,f(s)表示相近阈值函数。
8.进一步,所述的数据验证算法为:1. 数据更新时,若计算节点ci未能接收到相应数据节点di传输的数据,则产生链接错误,计算节点ci与数据节点di发生通讯异常;2. 计算节点ci通过个体身份标识和数据预测模块获得个体实时数据的期望值x

;3. 计算节点ci根据公式1计算得到个体实时数据预测值x

与测量值x的相近系数s、并根据相近阈值函数f(s)的函数值判断个体实时数据测量值x为有效数据或异常数据;4. 当f(s)的函数值为0时,此时个体实时数据测量值x为有效数据,当f(s)的函数值为1时,此时个体实时数据测量值x为异常数据;5. 当x为有效数据时,交易ti的预警位置0;当x为异常数据时,交易ti预警位置1。
9.进一步,步骤3中,所述的预设规则为:1. 当数据为异常数据时,计算节点触发预警并记录此次数据所属的数据节点标识及个体身份标识;2. 计算节点根据异常系数公式计算异常系数,并通过预警函数判断异常来源;3. 异常系数公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中d
ij
为数据节点di传输的数据打包生成的交易tj的预警位的值,n为数据节点di传输的数据总数;4. 预警函数为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
其中fi(e)为数据节点预警函数,δ为预警阈值;5. 当预警函数值为0时,表示数据节点di出现程序故障;当预警函数值为0时,表示数据节点正常,此时需要计算个体健康评分。
10.进一步,步骤3中,所述的个体健康评价算法为:1. 建立评价因素集,具体步骤为:把系统维护的个体养殖数据的状态参量作为评价因素,建立层次型指标体系。目标层个体健康评分可分解为q个评价项目,然后再将q个评价项目继续分解为指标层;2. 确定各级评价因素的权重 ;3. 确定指标层的状态参量,若数据正常则状态参量为0,若数据异常则状态参量为1;4. 计算个体健康评分公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,h表示个体健康评分,n表示项目层中评价项目个数,wi表示评价项目i的权重,wj表示si中各指标的权重,tj表示si中各指标的状态参量。
11.进一步,步骤4中,所述的预设规则为:1. 根据优先系数公式计算各计算节点的优先系数,所述的优先系数公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中β为节点优先系数,α为节点加入网络天数,b为节点成功出块次数,σ为一个很小的数防止节点优先系数为0的情况,t为平均时间间隔,t为计算节点与上一次参与共识的时间间隔;2. 采用轮盘赌算法选出领导者节点;进一步,所述的轮盘赌算法为:根据计算节点的优先系数ri,计算被选中的概率算法:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中ri表示第i个计算节点的优先系数,n表示候选者节点总数,rk计算节点dk的优先系数;所有计算节点被选中为领导者节点的累计概率算法:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)根据轮盘赌算法选择领导者节点,即在[0,1]区间上生成一个随机数字r,q
i-1
《r≤qi,则计算节点di成功竞选为领导者,如r《q1,则计算节点d1成功竞选为领导者节点,此步骤将在周期内不断执行。
[0012]
进一步,步骤5中,所述的预设规则为:1.领导者节点通过非对称加密算法验证交易确认交易节点身份;2.领导者节点调用交易验证程序验证计算节点是否正常打包交易;3.领导者节点打包交易生成区块;4.领导者节点将打包好的区块及区块哈希广播到网络,并发起出块验证。
[0013]
进一步,步骤6中,所述的预设规则为:
1. 计算节点通过非对称加密算法确认打包交易的计算节点身份;2. 计算节点调用交易验证程序对区块进行验证,并向系统返回验证结果;3. 当系统收到超过λ区块验证通过的结果时,证明出块成功,系统调用智能合约完成出块;4. 若成功出块,则出块验证失败的计算节点为程序异常;5. 若出块失败,则领导者节点发生程序异常,系统重新选出领导者节点重复操作;6. 对成功出块的领导者节点及区块验证正确的计算节点给予相应奖励,对出块失败的领导者节点及区块验证失败的计算节点进行程序检查。
[0014]
本发明有益效果为:提出了一种新型的具有数据验证功能的动物个体溯源共识方法,通过基于时间序列的预测模型、面部识别、区块链去中心化、共识机制等特性改变了传统畜牧业中心化的管理模式,减少畜牧业养殖的人工成本、解决了人工数据维护易被篡改、历史数据更新过程不能追溯、个体异常不能及时发现等缺点,提供了一种个体数据维护过程全程记录,个体出现异常及时反馈的全新运行模式,所有数据信息加盖时间戳、可追溯、不可篡改;本发明其一,个体识别技术可采用面部识别技术,利用个体实时图像随时识别个体唯一身份标识,获取个体相关所有数据,极大地减少人工成本;其二,以个体历史生长数据为数据集,基于xgboost时间序列模型对个体实时养殖数据期望值进行预测,根据提出的算法实时验证个体数据测量值以及鉴别异常来源,实现了数据维护的自动化。其三,根据所提出算法计算个体健康评分,对可能出现异常的个体进行健康评估,实现了个体异常及时反馈,从而提高了个体异常发现的时效性;其四,计算节点通过使用拜占庭容错算法(pbft)对出块进行验证,保证正确出块。其五,数据维护采取智能合约技术,自动执行智能合约脚本语言,使得数据维护过程透明、精准、易追溯。
附图说明
[0015]
图1为本发明所涉及的算法结构图,图2为本发明的流程图。
具体实施方式
[0016]
本发明提出一种具有数据验证功能的动物个体溯源共识方法,为了本发明的目的、技术方案和优点更加清楚明白,下面结合具体实例,对本发明作进一步的详细说明。
[0017]
本发明中区块链类型选用联盟链,应用智能合约使系统具备确定性、一致性、可观察和可验证性、高效性和实时性等优点。
[0018]
一种具有数据验证功能的动物个体溯源共识方法,应用于基于区块链的畜牧养殖系统中,该畜牧养殖系统包括节点管理模块、数据采集模块、数据预测模块、数据分析模块、预警处理模块、数据库。
[0019]
其中,节点管理模块用于管理数据节点与计算节点;数据采集模块用于采集各种所需要的数据信息;数据预测模块用于对个体实时数据期望值值进行预测;数据分析模块用于根据历史数据相关参数进行大数据智能汇总分析;预警处理模块用于处理预警反馈;
数据库用于存储个体信息。
[0020]
本实例以鹿个体体重为例,详细说明养殖数据维护的具体过程,其中个体识别通过图像识别的方法获取个体唯一身份标识。
[0021]
1.数据节点-物联网设备按照一定的时间周期采集鹿的体重数据,并将数据传输给计算节点-具有计算和编程能力的设备,在本发明实例中,我们取数据节点数量y=3,计算节点数量m=10,鹿个体数量n=10,在鹿体重数据更新中,数据节点将体重数据及个体实时图像传输给计算节点,计算节点通过图像识别出鹿的唯一身份标识,并通过数据预测模块获得鹿养殖实时数据期望值,鹿体重数据测量值与实时数据的期望值如表1所示:表1:测量值与期望值2.计算节点接收数据节点数据,因所有数据节点均返回数据信息,则计算节点与数据节点未发生通讯异常,计算节点根据公式1计算得到实时数据测量值与预测值的相近系数,本实例中相近系数公式的调节系数μ=0.1,计算得到相近系数如表2所示:根据公式2计算相近阈值函数的函数值从而对测量值进行验证,本实例中相近阈值函数的阈值 γ=0.25 ,计算得到待验证数据的相近阈值函数值如表3所示:表2:测量值与期望值的相近系数
表3:待验证数据相近阈值函数值因存在相近阈值函数值为1的数据,计算节点触发预警机制,并记录异常数据所属
的数据节点标识3和鹿身份标识9,计算节点打包数据生成交易,其中交易的预警位分别为0、0、0、0、0、0、 0、0、1、0。
[0022] 3.因触发预警机制,计算节点根据公式3计算得到数据节点3的异常系数为0.33,将异常系数输入公式4中的预警函数判断异常数据来源,本实例中预警函数的预警阈值 δ=0.6 ,计算得到预警函数值为1,表示数据节点3无程序故障,此时需要根据个体健康评分算法计算身份标识为9的鹿个体健康评分。
[0023] 4. 根据个体健康评分算法计算身份标识为9的鹿个体健康评分:(1)建立评价因素集,本发明实例将目标层分解为两个评价项目,分别为环境因素集 s
1 和个体数据因素集s2,再分解两个评价项目到指标层,其最终的评价因素集如表4所示:表4:评价因素集(2)确定各级评价因素权重;本实例中评价因素权重如表5所示:表5:评价因素权重(3)确定指标层状态参量,经查询得到身份标识为9的鹿个体指标层状态参量如表6所示:表6:指标层状态参量
(4)根据公式5得到身份标识为9的鹿个体健康评分为0.52,将此鹿的身份标识及健康评分反馈给预警处理模块。
[0024]
5.根据公式6计算得到所有计算节点的优先系数,结果如表7所示:表7:计算节点优先系数竞选领导者节点,计算10个计算节点被选中的概率p
i 分别为:0.081,0.084,0.195,0.068,0.102,0.072,0.150,0.123,0.067,0.057,累计概率qi分别为:0.081,0.165,0.360,0.428,.0530,0.602,0.752,0.875,0.942,1,随机数r=0.65,因此,i=7的计算节点成为领导者。
[0025]
6.领导者节点完成交易的验证后打包交易生成区块并发起出块验证,本实例中出块验证阈值中λ=1/2所有计算节点返回验证结果如表8所示:
[0026]
表8:验证反馈结果
此时出块验证通过结果所占比例为9/10,出块成功,奖励成功出块的领导者节点和计算节点,其中计算节点10可能存在出块验证程序异常。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1