1.本发明涉及工业互联网技术领域,尤其涉及一种基于区块链的工业互联网标识可信验证方法、装置、设备及介质。
背景技术:2.区块链(blockchain)是基于区块链技术形成的公共数据库(或称公共账本),其中区块链技术是指多个参与方之间基于现代密码学、分布式一致性协议、点对点网络通信技术和智能合约编程语言等形成的数据交换、处理和存储的技术组合。具有去中心化,不可篡改的特性,在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。
3.互联网标识资源是互联网服务的基础,在大数据时代,所有资源记录都可以被编码为标识资源。工业互联网标识解析是支撑全球工业互联网有序运行的重要基础设施,是工业互联网网络体系的重要组成部分,是支撑工业互联网互联互通的神经中枢,核心包括标识编码以及提供服务的各级标识解析系统。现行的工业互联网标识体系都是基于递归体系架构,基于中心化的根节点,只能通过选择加密传输协议的方式来进行通信安全保障,用户端都是从标识解析服务器直接获取标识数据,不能进行选择,默认标识数据可信。一但获取的标识数据经过恶意篡改,用户终端轻则不能获取正确信息,重则获取误导性信息,导致决策错误,信息安全泄露,恶意攻击等问题。因此,在现行工业互联网中普遍使用的递归体系架构中,用户终端不能主动保证获取标识资源的可信性,只能被动使用从递归服务器获取的标识数据。
4.缓存技术能有效减少重复数据获取的时间,用户终端可以利用缓存技术,设置缓存区存放使用过的数据资源,但是大部分用户终端缓存区的数据不会主动更新,陈旧过时,使用的时候不加验证,会获取到过时甚至错误信息。
技术实现要素:5.发明目的:针对现有技术中的缺陷,本发明公开了一种基于区块链的工业互联网标识可信验证方法、装置、设备及介质,解决了用户终端不能主动保证获取标识资源的可信性,只能被动使用本地标识缓存解析服务器获取标识的问题以及用户终端缓存区数据不会主动更新的问题。
6.技术方案:为实现上述技术目的,本发明采用以下技术方案:一种基于区块链的工业互联网标识可信验证方法,包括:向区块链网络请求第一区块链链码,获取区块链网络反馈的第一区块链链码;同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码,若存在,则比对所述第一区块链链码与第二区块链链码是否一致,若一致,则展示用户终端缓存的标识信息,验证成功;
若不存在或者不一致,则向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码,获取本地标识缓存解析服务器反馈的标识信息与第三区块链链码;比对第一区块链链码与第三区块链链码是否相同,若相同,则展示本地标识缓存解析服务器反馈的标识信息,并且打包本地标识缓存解析服务器反馈的标识信息与第三区块链链码,存放在用户终端缓存,验证成功;若不相同,则请求本地标识缓存解析服务器更新第三区块链链码,重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数,验证失败。
7.进一步地,所述向区块链网络请求第一区块链链码,还包括:若获取第一区块链链码信息失败,则再次向区块链网络发起请求,若达到预设的失败次数,则结束验证方法。进一步地,所述本地标识缓存解析服务器定期从区块链网络获取最新的区块链链码。 进一步地,所述请求本地标识缓存解析服务器更新第三区块链链码,包括:本地标识缓存解析服务器向区块链网络请求最新的区块链链码,用来更新第三区块链链码。
8.一种基于区块链的工业互联网标识可信验证装置,包括:第一获取及验证模块:用于向区块链网络请求第一区块链链码,获取区块链网络反馈的第一区块链链码;同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码,若存在,则比对所述第一区块链链码与第二区块链链码是否一致,若一致,则展示用户终端缓存的标识信息,验证成功;若不存在或者不一致,进入第二获取及验证模块;第二获取及验证模块:用于向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码,获取本地标识缓存解析服务器反馈的标识信息与第三区块链链码;比对第一区块链链码与第三区块链链码是否相同,若相同,则展示本地标识缓存解析服务器反馈的标识信息,并且打包本地标识缓存解析服务器反馈的标识信息与第三区块链链码,存放在用户终端缓存,验证成功;若不相同,则进入更新模块;更新模块,用于请求本地标识缓存解析服务器更新第三区块链链码,进入循环模块;循环模块,用于返回第一获取及验证模块,重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数,验证失败。
9.进一步地,所述向区块链网络请求第一区块链链码,还包括:若获取第一区块链链码信息失败,则再次向区块链网络发起请求,若达到预设的失败次数,则结束验证方法。进一步地,所述请求本地标识缓存解析服务器更新第三区块链链码,包括:本地标识缓存解析服务器向区块链网络请求最新的区块链链码,用来更新第三区块链链码。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述的任一项所述方法。
11.一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现前述的任一项所述的方法。
12.有益效果:本发明基于区块链技术的可信性,用户终端向区块链网络请求第一区块链链码,同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码;若存在,则比对从区块链网络获取的第一区块链链码与用户终端缓存的第二区块链链码,若一致,则验证成功;若不存在或者不一致,则获取本地标识缓存解析服务器中的需要验证的标识信息及第三区块链链码,将第三区块链链码与第一区块链链码比对,若相同则验证成功,
并且更新用户终端缓存信息,若不同,则更新本地标识缓存解析服务器中的第三区块链链码,重新执行验证方法。
13.本发明用户终端首先比对用户终端缓存中的区块链链码,提高了可信验证方法的实时性,当缓存中不存在需要验证的标识信息或链码时,或者比对结果不一致时,再通过比对本地标识缓存解析服务器中的区块链链码,能够主动保证标识信息的可信性,并且保证了用户终端缓存数据的可信性,解决了用户终端缓存区数据不会主动更新的问题。
附图说明
14.图1是本发明实施例一的方法流程图;图2是本发明实施例二的装置结构示意图。
具体实施方式
15.以下结合附图和实施例对本发明的一种基于区块链的工业互联网标识可信验证方法、装置、设备及介质做进一步的说明和解释。
16.实施例一:如附图1所示,本实施例提供一种基于区块链的工业互联网标识可信验证方法,包括:向区块链网络请求第一区块链链码,获取区块链网络反馈的第一区块链链码;同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码,若存在,则比对所述第一区块链链码与第二区块链链码是否一致,若一致,则展示用户终端缓存的标识信息,验证成功;若不存在或者不一致,则向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码,获取本地标识缓存解析服务器反馈的标识信息与第三区块链链码;比对第一区块链链码与第二区块链链码是否相同,若相同,则展示本地标识缓存解析服务器反馈的标识信息,并且打包本地标识缓存解析服务器反馈的标识信息与第三区块链链码,存放在用户终端缓存,验证成功;若不相同,则请求本地标识缓存解析服务器更新第三区块链链码,重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数,验证失败。
17.本实施例中针对一种基于区块链的工业互联网标识可信验证方法,进行以下步骤的详细描述:步骤1、用户终端向区块链网络请求区块链链码,获取区块链反馈的第一响应信息中的区块链链码,即第一区块链链码。
18.用户终端根据约定的通信协议,如http协议,向区块链网络中设定的区块链节点请求获取最新的区块链链码信息(blockheader),工业互联网中区块链网络在部署完成后已经形成设定的区块链节点,用户接入区块链网络后获取设定的区块链节点的url(uniform resource locator,统一资源定位符)或ip地址;由于区块链是链式增加区块,最新blockheader即可代表最新的区块链链码信息。
19.进一步的,向区块链网络请求第一区块链链码,还包括:若获取第一区块链链码信息失败,则再次向区块链网络发起请求,若达到预设的失败次数,则结束验证方法。本实施
例中,用户终端如果获取链码信息成功则存储该信息;如果获取区块链链码信息失败,则再次发起请求,三次失败,则认为系统故障,结束本次流程。
20.步骤2、用户终端同时向用户终端缓存查询需要验证的标识信息和区块链链码,即第二区块链链码,若存在,则比对用户终端缓存的区块链链码(即第二区块链链码)与第一响应信息中的区块链链码(即第一区块链链码),若一致,则表示用户终端缓存的标识信息实时有效,展示用户终端缓存的标识信息,标识信息拆解为单条数据进行展示,验证成功,结束本次验证流程;如果不存在或者不一致,执行下一步骤;用户终端缓存用于存储标识信息与区块链链码blockheader,用户终端缓存的标识信息都是经过可信验证之后的信息;用户终端缓存中的标识信息包括标识编码和标识对应的参数,标识对应的参数包括公司名称、产地等;例如,标识编码为example2,用户终端缓存中的信息可以是:《blockheader:example1》,《标识编码:example2》,《公司中文名称:示例公司》,《公司所属产业:制造业》;其中blockheader遵循现有区块链技术的编码,标识对应的参数为标识相关的任意信息,本发明中不做限制。步骤3、若用户终端缓存的区块链链码不存在或用户终端缓存的区块链链码与第一响应信息中的区块链链码不一致,则用户终端向本地标识缓存解析服务器请求需要验证的标识信息与区块链链码,即第三区块链链码,其中用户终端与本地标识缓存解析服务器利用约定的通信协议进行通信,使用二者商定的数据格式。
21.进一步的,请求本地标识缓存解析服务器更新第三区块链链码,包括:本地标识缓存解析服务器向区块链网络请求最新的区块链链码,用来更新第三区块链链码。本地标识缓存解析服务器一般定期从区块链网络中获取最新区块链链码,本地标识缓存解析服务器接入区块链网络后获取设定的区块链节点的url或ip地址;所述本地标识缓存解析服务器属于服务器,为一个局域网提供服务,从区块链网络直接获取标识信息与区块链链码并进行缓存;步骤4、用户终端获取本地标识缓存解析服务器反馈的第二响应信息中的需要验证的标识信息与区块链链码,即第三区块链链码;所述第二响应信息包括标识名称、标识信息、区块链链码blockheader;从第二响应信息的固定位置提取区块链链码blockheader,同时与步骤1中获取的第一响应信息中的区块链链码blockheader进行比对,如果一致则认为本地标识缓存解析服务器的第二响应信息真实可信,即从本地标识缓存解析服务器收到的标识信息是可信的,展示响应信息中的标识信息,标识信息拆解为单条数据进行展示,并且打包标识信息与区块链链码,存放在用户终端缓存,验证成功。
22.步骤5、如果第二响应信息中的区块链链码与第一响应信息中的区块链链码不一致,则向本地标识缓存解析服务器返回提示信息,请求本地标识缓存解析服务器更新自身缓存的数据,具体包括:本地标识缓存解析服务器从区块链网络中设定的区块链节点获取最新的区块链链码blockheader。返回步骤1,开始重新验证过程,直到验证成功。如果达到预设的验证次数时仍不一致,如预设的验证次数设定为三次,则反馈验证失败,结束验证流程;本地标识缓存服务器缓存的信息存在过时需要更新等情况,因此设置预设验证次数阈值验证的条件,若经过预设验证次数验证都失败,说明标识信息不可信,结束本次验证流程。
23.本发明基于区块链技术的可信性,用户终端向区块链网络请求第一区块链链码,
同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码;若存在,则比对从区块链网络获取的第一区块链链码与用户终端缓存的第二区块链链码,若一致,则验证成功;若不存在或者不一致,则获取本地标识缓存解析服务器中的需要验证的标识信息及第三区块链链码,将第三区块链链码与第一区块链链码比对,若相同则验证成功,并且更新用户终端缓存信息,若不同,则更新本地标识缓存解析服务器中的第三区块链链码,重新执行验证方法。本发明结合缓存技术与区块链,用户终端缓存验证成功的标识信息与区块链链码,能有效提高二次访问的访问速度,同时每次数据使用时及时比对用户终端缓存与区块链网络返回的区块链链码,有效保证了标识信息的实时性。
24.本发明用户终端首先比对用户终端缓存中的区块链链码,提高了可信验证方法的实时性,保证了标识信息的可信性,当缓存中不存在需要验证的标识信息或链码时,或者比对结果不一致时,再通过比对本地标识缓存解析服务器中的区块链链码,能够主动保证标识信息的可信性,并且保证了用户终端缓存数据的可信性,解决了用户终端缓存区数据不会主动更新的问题。此外,本发明适用性高,工业互联网中电脑客户端、手机客户端都可以使用。
25.实施例二:如附图2所示,一种基于区块链的工业互联网标识可信验证装置,包括:第一获取及验证模块:用于向区块链网络请求第一区块链链码,获取区块链网络反馈的第一区块链链码;同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码,若存在,则比对所述第一区块链链码与第二区块链链码是否一致,若一致,则展示用户终端缓存的标识信息,验证成功;若不存在或者不一致,进入第二获取及验证模块;第二获取及验证模块:用于向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码,获取本地标识缓存解析服务器反馈的标识信息与第三区块链链码;比对第一区块链链码与第二区块链链码是否相同,若相同,则展示本地标识缓存解析服务器反馈的标识信息,并且打包本地标识缓存解析服务器反馈的标识信息与第三区块链链码,存放在用户终端缓存,验证成功;若不相同,则进入更新模块;更新模块,用于请求本地标识缓存解析服务器更新第三区块链链码,进入循环模块;循环模块,用于返回第一获取及验证模块,重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数,验证失败。
26.进一步地,所述向区块链网络请求第一区块链链码,还包括:若获取第一区块链链码信息失败,则再次向区块链网络发起请求,若达到预设的失败次数,则结束验证方法。
27.进一步地,所述请求本地标识缓存解析服务器更新第三区块链链码,包括:请求本地标识缓存解析服务器将第三区块链链码更新为第一区块链链码。
28.实施例三:本实施例中设定一个待查询标识样例(标识编码为example),用户终端发起验证请求,本次验证流程如下所示:用户终端利用http协议向区块链网络请求区块链链码,获取响应信息中的区块链链码blockhead,记为y。
29.用户终端在用户终端缓存中查询是否存在标识example的标识信息与区块链链
码,如果存在,标识example的标识信息记为s,区块链链码记为b,比对b与区块链网络返回的区块链链码y,若一致,则展示标识信息s,结束本次验证流程;当用户终端缓存中不存在标识example的记录,或者标识记录对应区块链链码s与区块链网络返回的区块链链码y不一致,用户终端利用udp协议封装标识example信息,向本地标识缓存解析服务器发起标识验证请求。用户终端获取本地标识缓存解析服务器的响应信息,其响应信息体记为d,该响应信息分为区块链链码blockhead,记为z,标识信息,记为s,则:d = z + s
ꢀꢀ
(1)用户终端比对区块链网络返回的blockhead信息y与响应信息中的区块链链码blockhead信息z,如果二者相同,即y=z,则展示标识信息s,并将标识信息s与区块链blockhead信息z一起打包存储在用户终端缓存区,本次验证结束。
30.如果y与z不完全相同,用户终端向本地标识缓存解析服务器报告错误信息,请求本地标识缓存解析服务器更新缓存信息。用户终端开始重新向区块链网络请求blockhead信息,并再次发起标识验证流程,如果3次验证过程中,获取到的区块链信息y与z的比对都不成功,则退出本次验证流程,返回验证失败信息;如果成功则展示标识信息s,并向用户终端缓存区更新标识example的标识信息s与区块链链码z。
31.实施例四:本实施例公开了一种设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上任意一项所述的一种基于区块链的工业互联网标识可信验证方法。存储器可为各种类型的存储器,可为随机存储器、只读存储器、闪存等。处理器可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器或图像处理器等。
32.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时用于实现以上任意一项所述的一种基于区块链的工业互联网标识可信验证方法。存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
33.以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:1.一种基于区块链的工业互联网标识可信验证方法,其特征在于,包括:向区块链网络请求第一区块链链码,获取区块链网络反馈的第一区块链链码;同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码,若存在,则比对所述第一区块链链码与第二区块链链码是否一致,若一致,则展示用户终端缓存的标识信息,验证成功;若不存在或者不一致,则向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码,获取本地标识缓存解析服务器反馈的标识信息与第三区块链链码;比对第一区块链链码与第三区块链链码是否相同,若相同,则展示本地标识缓存解析服务器反馈的标识信息,并且打包本地标识缓存解析服务器反馈的标识信息与第三区块链链码,存放在用户终端缓存,验证成功;若不相同,则请求本地标识缓存解析服务器更新第三区块链链码,重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数,验证失败。2.根据权利要求1所述的方法,其特征在于,所述向区块链网络请求第一区块链链码,还包括:若获取第一区块链链码信息失败,则再次向区块链网络发起请求,若达到预设的失败次数,则结束验证方法。3.根据权利要求1所述的方法,其特征在于,所述本地标识缓存解析服务器定期从区块链网络获取最新的区块链链码。4.根据权利要求1所述的方法,其特征在于,所述请求本地标识缓存解析服务器更新第三区块链链码,包括:本地标识缓存解析服务器向区块链网络请求最新的区块链链码,用来更新第三区块链链码。5.一种基于区块链的工业互联网标识可信验证装置,其特征在于,包括:第一获取及验证模块:用于向区块链网络请求第一区块链链码,获取区块链网络反馈的第一区块链链码;同时向用户终端缓存查询需要验证的标识信息及缓存的第二区块链链码,若存在,则比对所述第一区块链链码与第二区块链链码是否一致,若一致,则展示用户终端缓存的标识信息,验证成功;若不存在或者不一致,进入第二获取及验证模块;第二获取及验证模块:用于向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码,获取本地标识缓存解析服务器反馈的标识信息与第三区块链链码;比对第一区块链链码与第三区块链链码是否相同,若相同,则展示本地标识缓存解析服务器反馈的标识信息,并且打包本地标识缓存解析服务器反馈的标识信息与第三区块链链码,存放在用户终端缓存,验证成功;若不相同,则进入更新模块;更新模块,用于请求本地标识缓存解析服务器更新第三区块链链码,进入循环模块;循环模块,用于返回第一获取及验证模块,重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数,验证失败。6.根据权利要求5所述的一种基于区块链的工业互联网标识可信验证装置,其特征在于,所述向区块链网络请求第一区块链链码,还包括:若获取第一区块链链码信息失败,则再次向区块链网络发起请求,若达到预设的失败次数,则结束验证方法。7.根据权利要求5所述的一种基于区块链的工业互联网标识可信验证装置,其特征在于,所述请求本地标识缓存解析服务器更新第三区块链链码,包括:本地标识缓存解析服务器向区块链网络请求最新的区块链链码,用来更新第三区块链链码。
8.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述方法。9.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至4任一项所述的方法。
技术总结本发明公开了一种基于区块链的工业互联网标识可信验证方法、装置、设备及介质,方法包括:向区块链网络请求第一区块链链码;同时向用户终端缓存查询标识信息及缓存的第二区块链链码,若存在,则比对第一区块链链码、第二区块链链码,若一致,则展示标识信息,验证成功;若不存在或者不一致,则向本地标识缓存解析服务器请求需要验证的标识信息与第三区块链链码;比对第一区块链链码与第三区块链链码是否相同,若相同,则展示标识信息,并且存放在用户终端缓存,验证成功;若不相同,则重新向区块链网络请求第一区块链链码,直到验证成功,或者达到预设的验证次数。保证标识信息的可信性,以及用户终端缓存数据的实时性与可信性。以及用户终端缓存数据的实时性与可信性。以及用户终端缓存数据的实时性与可信性。
技术研发人员:霍如 胡佩 王晓康 倪东 谢人超 黄韬 汪硕 张晨
受保护的技术使用者:网络通信与安全紫金山实验室
技术研发日:2022.07.21
技术公布日:2022/11/1