掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链跨链协同的冷链产品关联性查询方法及装置

文献发布时间:2023-06-19 19:30:30


基于区块链跨链协同的冷链产品关联性查询方法及装置

技术领域

本发明属于文本多标签分类和区块链跨链技术融合领域,特别涉及基于区块链跨链协同的冷链产品关联性查询方法及装置。

背景技术

区块链技术是由密码学、数据库等多种技术融合的底层核心技术,本质是一种去中性化的分布式账本。区块链公开透明、防篡改、集体维护性等特征,使其具有较高的可信性和安全性。然而,区块链存在不同的公有链、联盟链、私有链,链与链的孤立存在,阻碍了不同区块链之间协同交互。因此,如何实现链间的信息互通,是区块链技术发展面临的问题。

冷链产品大致涵盖四个环节:冷冻加工、冷冻贮藏、冷藏运输及配送、冷冻销售。主要分为上中下游三部分产品链,上游主要是材料供应、设备制造,中游是物流运输和仓储管理,下游主要是产品到食品、医药、化工、电子和商用的冷链。因此,冷链产品数量庞大、产品之间关联性高,故提出将这些冷链产品信息进行精确的分类,从而存储到多条区块链的区块中,既可以降低本地数据库的存储压力又可以保证数据的可信性和防篡改性。同时,每个区块链之间产品信息具有紧密相关联性,故提出跨链协同技术融合实现多链间的互通性,保障了数据查询交互。在跨链的基础上,提出关联性分析算法,计算区块间和链间的产品关联性,最终获得更为精确的产品信息,方便用户便捷性。

在浏览器中查询产品信息时,有许多问题:1、冷链产品分类不准确问题;2、因数据量大,获取信息时间长问题;3、查询关联性的冷链产品信息没有结果问题。

发明内容

发明目的:针对上述问题,本发明提供了一种基于区块链跨链协同的基于区块链跨链协同的冷链产品关联性查询方法及装置,用以解决用户在海量的冷链产品数据中,出现的产品分类不准确、查询产品信息耗时长、查询效率低的问题。

技术方案:本发明提出基于跨链协同的冷链产品关联性查询的方法及装置,包括如下步骤:

步骤1:爬取冷链产品信息进行数据清洗和数据处理,得到清洗、处理好的数据集;

步骤2:通过清洗后的数据集,构建多标签文本分类模型,经过训练得到分类结果,所述多标签文本分类模型结合CNN网络、LSTM模型以及多通道注意力,通过该多标签文本分类模型获取融合后的文本信息向量表示E作为分类器的输入获取分类结果y;

步骤3:根据分类结果,在不同区块链中存储不同类别的冷链产品信息构成多条产品链Pi,形成产品链网络;

步骤4:产品链网络中的多条产品链作为区块链跨链交互的主体,在符合中继链身份注册的基础上,可以有合法权限进行跨链交互,利用中继链中的共识算法进行监督注册和验证,最终得到合法身份注册的产品链;

步骤5:根据用户提出跨链查询请求,利用哈希锁定中的智能合约对产品链之间进行跨链身份认证;

步骤6:身份验证后,对每个链的区块节点之间进行关联性分析,得到最终查询产品结果信息。

进一步地,所述步骤1的具体方法为:

步骤1.1:对待清洗数据集D1进行去重、去空和去除特殊字符得到清洗后数据集D2;

步骤1.2:对清洗后数据集D2的待处理文本进行jieba分词处理;

步骤1.3:将数据集D2的待处理文本内容固定为统一长度Lmax,并利用预训练好的Bert模型将文本进行tokenization分词,将每个词转化成固定长度的向量,得到词向量的数据集D3;

步骤1.4:将所述词向量分别送入Bert模型中的Token Embedding层、SegmentEmbeddings层和Position Embeddings层以及双向Transformer中,将词向量转化为字向量,输出len(D3)个字向量序列S=s1,s2,s3,...,sj,...,slen(D3)。

进一步地,所述步骤2的具体方法为:

步骤2.1:将所述字向量序列S的字向量子序列sj输入CNN网络进行训练后获取特征向量f4j;

步骤2.2:利用LSTM模型对字向量子序列sj进行一个序列上的双向运算,得到的输出经过非线性激活层的运算后,得到另一个特征向量lj;

步骤2.3:将特征向量f4j和lj作为多通道注意力的输入;

步骤2.4:计算特征向量f4j和lj与整个特征向量匹配得分S1j和S2j;

步骤2.5:根据匹配得分S1j和S2j计算特征向量得分占总体百分比α 1j和α 2j;

步骤2.6:根据特征向量得分占总体百分比对特征向量进行求和再平均,得到最终输出向量V和T;

步骤2.7:将输出向量V和T融合,得到最终的文本信息向量表示E,向量E作为分类器的输入;

步骤2.8:将向量化表示Ej经过全连接层和隐藏层输入到softmax,采用softmax函数进行文档分类预测,得到分类概率预测向量P=p1,p2,...,Pi,...,pn;

步骤2.9:查找向量P中的最大值,并将最大值对应的的结果输出,得到分类结果y。

进一步地,所述步骤3的具体方法为:

步骤3.1:根据步骤2产品分类结果y,划分y个不同的区块链,将y个不同的冷链产品信息链构成冷链产品区块网络;

步骤3.2:将每条冷链产品区块链由多个区块连接,每个区块存储同类别下的产品,每个区块由验证块和信息块构成,验证块存储该产品的验证id和密钥,信息块存储该产品的id和具体信息;

步骤3.3:用户通过浏览器,在冷链产品信息网站中进行浏览,请求通过HTTP协议发送,实现访问接口与其他子系统进行交互;

步骤3.4:服务器组收到HTTP请求后,根据文本框中获取的冷链产品关键词信息与从产品区块链服务器节点获取到的冷链产品信息进行同步对称加密密钥处理。

进一步地,所述步骤4的具体方法为:

步骤4.1:产品链Pi接入跨链网关,通过跨链网关向中继链发送注册申请,请求注册信息reg包含区块链标识、证书、身份标识信息,即reg={BlockchainInfo,Version,UID}作为映射关系;

步骤4.2:跨链网关接收到产品链Pi申请注册的请求,对请求消息进行转发,在注册信息映射关系中追加注册请求标识;

步骤4.3:中继链节点通过共识算法确定该产品链Pi是否可以进行注册,并对产品链的合法节点利用秘密共享机制生成子密钥;

步骤4.4:若未收到申请,则返回步骤4.1继续申请请求;

步骤4.5:若中继链中收到申请注册请求,则进行注册请求验证,验证注册信息是否合法,并公开自身的私钥;

步骤4.4:将产品链Pi的地址及哈希存储至中继链账本,将结果返回至请求产品链中,作为记录;

步骤4.5:确认为合法申请注册的产品链Pi,在中继链中加密存储其身份信息,使用SM9的密钥生成算法为该终端生成加密私钥和签名私钥,并为其按照规范组合成相应数字身份ID;

步骤4.6:产品链Pi返回身份与签名是否一致,如果一致则注册产品链身份,否则回滚到步骤4.3继续身份注册审核。

进一步地,所述步骤5的具体方法为:

步骤5.1:先在中继链上系统初始化生成系统公私密钥;

步骤5.2:用户在产品链Pi生成系统随机数;

步骤5.3:产品链Pi通过网关向中继链发送注册请求;

步骤5.4:在中继链审核,判断是否颁发身份;

步骤5.5:如果不是,则撤销连接,标志是否不合格;

步骤5.6:否则,发送数字身份ID以及对应的密钥;

步骤5.7:产品链Pi返回随机数的签名信息给中继链;

步骤5.8:接着在中继链验证签名,如果不是,则拒绝跨链请求,如果是则转发跨链查询交互请求。

进一步地,所述步骤6的具体方法为:

步骤6.1:从存储产品链的区块N出发,在关联性计算的基础上,通过过滤阶段,将计算得到的关联程度较低的节点先过滤出来,用来初步确定与目标产品标签分类有一定关联度的区块;

步骤6.2:在节点关系发掘阶段中根据分类产品的文本信息计算关联度,将备选区块中满足关联度>Q1的区块筛选出来,作为备选区块M;

步骤6.3:在产品链间阶段,通过步骤6.2中的区块进行溯源产品链间的关联性,根据关联分析计算基于区块的关联度,若满足关联度>Q2,则对候选产品链作进一步筛选和过滤;

步骤6.4:在总关联度排序阶段,对总关联度进行高低排序,对最终关联度最高的结果的输出,作为最终查询冷链产品结果信息。

本发明还公开一种基于区块链跨链协同的冷链产品关联性查询装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时执行如上所述的基于区块链跨链协同的冷链产品关联性查询方法的步骤。

有益效果:

1、本发明将区块链存储数据技术应用到冷链领域中,用来存储海量的冷链产品信息,利用加密技术和共识机制实现存储冷链产品数据的防篡改性,即需要对数据进行加密,区块链网络只存储加密后的数据和索引数据,只有获得数据访问权限的用户才能密钥访问,因此可以保障数据安全,有效提高存储的可靠性和稳定性。

2、本发明采用一种基于双向长短期记忆神经网络和注意力机制加权融合的多标签分类改进模型进行分类训练,最终获得分类结果。这样有利于解决标签错误、数据过拟合和类别不均衡问题,提高冷链产品描述信息文本分类的准确率,为查询提供便捷性。

3、本发明将数据存储依赖于本地数据库和产品区块网络服务器中,将加密密钥保持一致,可以提高存储性能和查询效率,产品信息无需向第三方机构过渡,可以实现共同协作和集体维护性。

4、本发明采用多链式存储产品链,根据文本分类的结果将冷链产品信息存储在不同的区块链中,构成产品区块链网络,提高分布式存储性能。每个区块链中的区块由验证块和信息块构成,从而保证在块间数据查询时可以验证合法性以及准确性,从而方便获取信息块中存储的产品信息。

5、本发明采用跨链技术中的中继链和哈希锁定机制两者融合的方法,链间交互需要跨链请求、身份注册和身份验证。产品链需要进行注册确定是合法链才有权限收到跨链请求,通过身份注册的产品链需要验证身份是否正确,需要进行跨链合约处理,这样才能保障链间的流通性,最终实现链和链之间的数据互通和流动。

6、本发明采用关联性分析算法,在浏览器查询冷链产品信息时,通过查询产品链中的区块内部数据,再将存储的文本信息进行关联度排序,最终得到查询冷链产品结果信息。

附图说明

图1为本发明整体框架图;

图2为冷链产品数据处理流程图;

图3为改进的多标签文本分类流程图;

图4为根据分类结果在区块链中存储冷链产品示意图;

图5为区块链跨链数字身份注册流程图;

图6为区块链跨链身份认证流程图;

图7为通过跨链请求后对冷链产品关联分析计算流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明公开了一种基于区块链跨链协同的冷链产品关联性查询方法及装置,包括冷链产品数据处理、冷链产品分类模型训练、冷链产品在区块链中的存储、区块链跨链身份认证、冷链产品关联分析计算,该方法及装置框架如图1所示,包括如下步骤:

步骤1:通过爬取到的冷链产品信息进行数据清洗和数据处理,得到清洗好的数据集,具体的如图2所示:

步骤1.1:定义T为单个文本待清洗信息集,定义ITEM_NAME,TYPE分别为商品标题的文本内容和分类标签,并且满足关系T=ITEM_NAME,TYPE。

步骤1.2:定义D1为待清洗数据集,D1=T1,T2,...,Ta,...,Tlen(D1),Ta为D1中第a个待清洗文本标签信息数据,其中,len(D1)为D1中文本内容数量,变量a∈[1,len(D1)]。

步骤1.3:数据集D1中的文本进行去重、去空和去除特殊字符后,得到清洗后的数据集D2=T1,T2,...,Tb,...,Tlen(D2),Tb为D2中第b个待处理文本标签信息数据,其中,len(D2)为D2中文本数量,变量b∈[1,len(D2)]。

步骤1.4:通过清洗后数据集D2,将待处理文本内容Tb进行jieba分词处理。

步骤1.5:遍历每条数据,返回分词和出现次数的字典Da。

步骤1.6:将本地停用词词表Ti进行调用,判断是否有停用词。

步骤1.7:如果有则删除词典中的停用词,如果没有则返回1.6继续调用停用词词表。

步骤1.8:对新的字典中的分词出现的次数进行标签提取,返回分词排序后的标签字典Dc。

步骤1.9:将Dc中的分词和标签进行形式处理,返回分词及其序号的字典对Dd和标签及其序号的字典对Df。

步骤1.10:通过处理数据集D2,将待处理文本内容Tb固定为统一长度Lmax。

步骤1.11:定义j为循环变量,且赋j初值为1,开始循环。

步骤1.12:如果j≤len(D2),则进入到步骤S1.13;否则,跳转到步骤S1.14。

步骤1.13:定义len(Tj)为文本中第j个文本的长度,如果leh(Tj)+2≤Lmax,则进入步骤S1.14;否则,截取该文本的前Lmax个词,再进入到步骤S1.14。

步骤1.14:利用预训练好的Bert模型将文本Tj进行tokenization分词,将每个词转化成固定长度的向量,得到词向量,词向量对应数据集D3,数据集D3的文本Tj′,Tj′=W1,W2,...,Wk,...,WLmax,其中,Wk代表第k个词向量。

步骤1.15:将数据集D3中的每个文本Tj′分别送入Bert模型中的Token Embedding层、Segment Embeddings层和Position Embeddings层,分别得到向量编码V1、句子编码V2及位置编码V3。

步骤1.16:将向量编码V1句子编码V2及位置编码V3相加,输入到Bert的双向Transformer中,Bert模型输出一个字向量子序列vj=S(W1),S(W2),...,S(Wk),...,S(WLmax),其中S(Wk)代表第k个字向量。

步骤1.17:结束循环,输出len(D3)个字向量序S=s1,s2,s3,...,sj,...,slen(D3)。

步骤2:通过清洗后的数据集,构建多标签文本分类模型,经过训练得到分类结果,具体的如图3所示:

步骤2.1:将步骤1.17生成的字向量序列S输入CNN网络,设置卷积核大小分别为3、4和5。

步骤2.2:字向量序列sj传入卷积核大小为5的卷积层进行卷积操作,得到向量fj,其中得到fj表示输出的第j个f向量,j∈(1,len(D3))。

步骤2.4:将上一步得到的fj输入到激活函数Relu中,得到输出为f2j,

步骤2.5:将上一步得到的f2j输入到步长为2的最大池化层,得到f3j,其中得到f3j表示输出的第j个f3向量。

步骤2.6:重复S2.2至S2.5,将其中部分参数替换:卷积层改为4和3,最终得到的输出为f4j,其中得到f4j表示输出的第j个f4向量。

步骤2.7:利用LSTM模型对字向量子序列sj进行一个序列上的双向运算,得到的输出经过非线性激活层的运算后,得到另一个特征向量lj,其中得到lj表示输出的第j个l向量。

步骤2.8:将步骤2.6和步骤2.7得到的特征向量f4j和lj作为多通道注意力的输入。

步骤2.9:计算特征向量f4j和lj与整个特征向量匹配得分S1j和S2j。

步骤2.10:根据匹配得分S1j和S2j计算特征向量得分占总体百分比α 1j和α 2j。

步骤2.11:根据特征向量得分占总体百分比对特征向量进行求和再平均,得到最终向量V和T。

步骤2.12:将多通道注意力的输出向量V和T融合,得到最终的文本信息向量表示E,向量E作为分类器的输入。

步骤2.13:将步骤2.12得到的向量化表示Ej经过全连接层和隐藏层输入到softmax。

步骤2.14:采用softmax函数进行文档分类预测,得到分类概率预测向量P=p1,p2,...,Pi,...,pn。

步骤2.15:查找向量P中的最大值,并将最大值对应的的结果输出,得到分类结果y。

步骤3:通过根据分类结果,在不同区块链中存储不同类别的冷链产品信息构成多条产品链,形成产品链网络,具体如图4所示:

步骤3.1:根据步骤2.15得到的产品分类结果y,划分y个不同的区块链,将产品链A、B等y个不同的冷链产品信息链构成冷链产品区块网络。

步骤3.2:将每条冷链产品区块链由多个区块连接,每个区块存储同类别下的产品,每个区块由验证块和信息块构成,验证块主要是存储该产品的验证id和密钥,信息块主要存储该产品的id和具体信息。

步骤3.3:用户通过浏览器,在冷链产品信息网站中进行浏览,请求通过HTTP协议发送,实现访问接口与其他子系统进行交互。

步骤3.4:服务器组收到HTTP请求后,根据文本框中获取的冷链产品关键词信息与从产品区块链服务器节点获取到的冷链产品信息进行同步对称加密密钥处理。

步骤4:产品链网络中的多条产品链作为区块链跨链交互的主体,在符合中继链身份注册的基础上,可以有合法权限进行跨链交互,利用中继链中的共识算法进行监督注册和验证,最终得到合法身份注册的产品链,具体如图5所示:

步骤4.1:产品链Pi接入跨链网关,通过跨链网关向中继链发送注册申请,请求注册信息reg包含区块链标识、证书、身份标识信息,即reg={BlockchainInfo,Version,UID}作为映射关系。

步骤4.2:网关接收到产品链申请注册的请求,对请求消息进行转发,在注册信息映射关系中追加注册请求标识。

步骤4.3:中继链节点通过共识算法确定该产品链Pi是否可以进行注册。使用秘密共享机制生成子密钥。

步骤4.4:若未收到申请,则返回步骤4.1继续申请请求。

步骤4.5:若中继链中收到申请注册请求,则进行注册请求验证,验证注册信息是否合法,并公开自身的私钥。

步骤4.4:将产品链Pi的地址及哈希存储至中继链账本,将结果返回至请求产品链中,作为记录。

步骤4.5:确认为合法申请注册的产品链Pi,在中继链中加密存储其身份信息,使用SM9的密钥生成算法为该终端生成加密私钥和签名私钥,并为其按照规范组合成相应数字身份ID。

步骤4.6:产品链Pi返回身份与签名是否一致,如果一致则注册产品链身份,否则回滚到步骤4.3继续身份注册审核。

步骤5:通过用户提出跨链查询请求,利用哈希锁定中的智能合约对产品链之间进行跨链身份认证,具体如图6所示:

步骤5.1:先在中继链上系统初始化生成系统公私密钥。

步骤5.2:用户在产品链Pi生成系统随机数。

步骤5.3:产品链Pi通过网关向中继链发送注册请求。

步骤5.4:在中继链审核,判断是否颁发身份。

步骤5.5:如果不是,则撤销连接,标志是否不合格。

步骤5.6:否则,发送数字身份ID以及对应的密钥。

步骤5.7:产品链Pi返回随机数的签名信息给中继链。

步骤5.8:接着在中继链验证签名,如果不是,则拒绝跨链请求,如果是则转发跨链查询交互请求。

步骤6:通过身份验证后,每个链的区块节点之间进行关联性分析,得到查询结果产品链,具体如图7所示:

步骤6.1:从存储产品链的区块N出发,在关联性计算的基础上,通过过滤阶段,将计算得到的关联程度较低的节点先过滤出来,用来初步确定与目标产品标签分类有一定关联度的区块。

步骤6.2:在节点关系发掘阶段中根据分类产品的文本信息计算关联度,将备选区块中满足关联度>Q1的区块筛选出来,作为备选区块M。

步骤6.3:在产品链间阶段,通过步骤6.2中的区块进行溯源产品链间的关联性,根据关联分析计算基于区块的关联度,若满足关联度>Q2,则对候选产品链作进一步筛选和过滤。

步骤6.4:在总关联度排序阶段,对总关联度进行高低排序,对最终关联度最高的结果的输出,作为最终查询冷链产品结果信息。

上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

相关技术
  • 基于区块链的供应链查询方法和装置
  • 区块链跨链交易方法、跨链通信装置及存储介质
  • 一种基于区块链的查询方法和装置
  • 基于区块链块分类的冷链数据存储与查询方法及装置
  • 一种基于区块链的跨链可信查询方法及系统
技术分类

06120115931936