一种标识解析系统
文献发布时间:2023-06-19 11:29:13
技术领域
本公开涉及互联网技术领域,尤其涉及一种标识解析系统。
背景技术
工业互联网标识解析体系是工业互联网网络体系的重要组成部分,是支撑工业互联网互联互通的神经中枢,其作用类似于互联网领域的域名解析系统。现有的工业互联网标识解析系统包括Handle标识解析系统、OID标识解析系统、国家物联网Ecode标识解析系统以及全球商品标识GS1标识解析系统等。相关技术中,用户通过终端向服务器发送标识的解析请求,服务器根据解析请求,返回与标识对应的解析内容。由于受服务器性能的影响,当存在大量的解析请求时,会造成网路拥堵,从而导致用户端查询时间较长,或查询出错。
发明内容
为克服相关技术中存在的问题,本公开提供一种标识解析系统。
包括:多个区块链节点,所述区块链节点之间共享标识地址索引,所述标识地址索引包括标识与标识解析信息所在的服务器地址之间的关联关系;
所述区块链节点包括区块链服务器,所述区块链服务器用于接收标识的解析请求,并确定所述标识的解析信息,以及在无法确定所述标识的解析信息的情况下,从所述标识地址索引中确定所述标识的解析信息所在的服务器地址。
在一种可能的实现方式中,所述区块链节点还包括本地服务器,
所述本地服务器用于接收用户发送的标识的解析请求,将所述解析请求发送至所述区块链服务器,接收所述区块链服务器返回的所述标识的解析信息或所述标识的解析信息所在的服务器地址。
在一种可能的实现方式中,所述本地服务器还用于在接收到所述标识的解析信息所在的服务器地址后,向目标服务器发送所述标识的解析请求,以及接收所述目标服务器返回的所述标识的解析信息。
在一种可能的实现方式中,所述本地服务器包括缓存模块,所述缓存模块存储了标识的历史解析信息,
所述本地服务器还用于在接收到所述用户发送的标识的解析请求后,从所述缓存模块中确定所述标识的解析信息,以及在未缓存所述标识的解析信息的情况下,将所述解析请求发送至所述区块链服务器。
在一种可能的实现方式中,所述本地服务器还用于在接收所述区块链服务器返回的所述标识的解析信息后,将所述标识的解析信息记录至所述缓存模块,并定期删除记录时间大于预设值的解析信息,以更新所述缓存模块。
在一种可能的实现方式中,所述本地服务器包括配置模块,所述配置模块包括标识类别与区块链服务器之间的关联关系,所述本地服务器还用于在接收到用户发送的标识的解析请求后,利用所述配置模块识别所述解析请求中标识的类别,确定与所述类别相匹配的区块链服务器,向所述区块链服务器发送所述解析请求。
在一种可能的实现方式中,所述本地服务器还用于在接收到用户发送的标识的解析请求后,在所述配置模块识别不到所述解析请求中标识的类别的情况下,向所述用户返回解析失败的消息。
在一种可能的实现方式中,所述与所述类别相匹配的区块链服务器包括与所述本地服务器处于同一区块链节点的区块链服务器,以及与所述本地服务器处于不同区块链节点的区块链服务器。
在一种可能的实现方式中,所述区块链服务器包括存储模块,所述存储模块用于接收并存储标识以及对应的标识解析信息,所述区块链服务器将其地址以及所述存储模块中存储的标识定期更新至所述标识地址索引中。
在一种可能的实现方式中,所述标识类别包括Handle标识、OID标识、Ecode标识、GS1标识中的至少一种。
本公开的实施例提供的技术方案可以包括以下有益效果:本公开实施例中,将标识的解析信息存储于多个区块链服务器中,所述区块链服务器可以直接解析标识的解析请求,以及在无法确定所述标识的解析信息的情况下,从所述标识地址索引中确定所述标识的解析信息所在的服务器地址,降低了网络拥堵,提高了用户的查询效率,并且各个区块链节点之间共享标识地址索引,在一个区块链节点出现问题的情况下,其它区块链节点仍然保存有所述标识地址索引,提高了数据存储的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种标识解析系统的框图。
图2是根据一示例性实施例示出的一种标识解析系统的应用场景图。
图3是根据一示例性实施例示出的一种标识解析系统解析方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了方便本领域技术人员理解本公开实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
现有的工业互联网标识解析系统包括Handle标识解析系统、OID标识解析系统、国家物联网Ecode标识解析系统以及全球商品标识GS1标识解析系统等。所述Handle标识解析系统中普遍使用的是外部数据库存储方式。当Handle标识解析系统接收到客户的查询请求之后,需要到外部数据库中查找结果,然后将查找到的结果拷贝到程序内存中,再组装成响应报文返回给客户。所述OID标识解析系统可基于标识OID服务平台为标识提供基于OID编码的存储与解析服务,应用工作站使用RFID读写器读取标识的OID号,并将其传送至OID服务平台,OID服务平台根据读取到的OID号返回该OID号的解析信息。OID解析系统为与DNS解析系统类似,均为树状解析结构。所述国家物联网Ecode标识解析系统,由Ecode编码、数据标识、中间件、解析系统、信息查询和发现服务、安全机制等部分组成。根据GB T 36605-2018对Ecode解析的规范,Ecode编码信息存储在编码体系解析服务器、编码数据结构解析服务器、主码解析服务器中,采用数据库存储管理,三类服务器分别存储有Ecode标识的信息,客户端需通过多次迭代查询,从各个服务器上逐次依序获取信息。所述GS1标识解析系统拥有全球跨行业的产品、运输单元、资产、位置和服务的标识标准体系和信息交换标准体系,使产品在全世界都能够被扫描和识读。GS1基于条码技术生成商品条码,通过RFID读写器获取条码信息,其数据存储和解析过程与OID相似。
上述解析系统分别隶属于不同的主体,彼此之间没有连通,因此,当出现的工业标识与当前的标识解析系统类型不匹配的时候,无法对所述工业标识进行解析。上述解析系统多基于树状层次结构的集中式存储数据库保存数据,常使用递归查询以及迭代查询的方式调用顶级节点以查询解析记录,因此,当存在大量的解析请求时,易造成网络拥堵,从而导致用户端查询时间较长,并且集中式存储标识解析信息易导致关键节点服务器出现问题时,数据安全得不到保障。
基于类似于上文所述的实际技术需求,本公开提供了一种标识解析系统。
下面结合附图1对本公开所述的一种标识解析系统进行详细的说明。图1是本公开提供的一种标识解析系统的一种实施例的框图。图2是根据一示例性实施例示出的一种标识解析系统的应用场景图。参考图1图2所示。
一种标识解析系统,其特征在于,包括:多个区块链节点,所述区块链节点之间共享标识地址索引,所述标识地址索引包括标识与标识解析信息所在的服务器地址之间的关联关系;
所述区块链节点包括区块链服务器,所述区块链服务器用于接收标识的解析请求,并确定所述标识的解析信息,以及在无法确定所述标识的解析信息的情况下,从所述标识地址索引中确定所述标识的解析信息所在的服务器地址。
本公开实施例中,所述标识可以包括工业互联网标识以及其它通过条形码、二维码、无线射频识别标签等方式赋予物品唯一身份的标识。所述标识解析信息包括标识对应的物品的名称、类别、生产厂家、生产日期、制造工艺等信息。
本公开实施例中,所述区块链节点包括连接在区块链网络的一台或多台计算机或服务器,如图1和图2中的区块链节点A 101、区块链节点B 102和区块链节点C 103,用于数据的生成、事务的验证和统计,以及将生成的数据广播到整个网络进行同步。所述标识地址索引包括标识与标识解析信息所在的服务器地址之间的关联关系,在一个示例中,可以将所述标识地址索引写入区块链账本,所述区块链账本可以包括头文件和标识地址索引,所述头文件用来表示标识地址索引的顺序和前后连接指针,所述标识地址索引还可以包括标识类别,解析权限等。
本公开实施例中所述区块链节点包括区块链服务器,如图1、图2中的区块链服务器A 104和区块链服务器B 105,所述区块链服务器存储有部分标识的解析信息以及所述标识地址索引。在一个示例中,可以直接接收用户的标识解析请求,也可以从其他服务器获取用户的标识解析请求,在所述区块链服务器存储了解析请求中的标识的解析信息的情况下,可以直接将所述解析信息直接发送出去,在所述区块链服务器没有存储所述解析请求中的标识的解析信息的情况下,通过标识地址索引,查询到与所述标识相匹配的解析信息所在的服务器的地址,如IP地址。
本公开实施例中,将标识的解析信息存储于多个区块链服务器中,所述区块链服务器可以直接解析标识的解析请求,以及在无法确定所述标识的解析信息的情况下,从所述标识地址索引中确定所述标识的解析信息所在的服务器地址,降低了网络拥堵,提高了用户的查询效率,并且各个区块链节点之间共享标识地址索引,在一个区块链节点出现问题的情况下,其它区块链节点仍然保存有所述标识地址索引,提高了数据存储的安全性。
在一种可能的实现方式中,所述区块链节点还包括本地服务器,
所述本地服务器用于接收用户发送的标识的解析请求,将所述解析请求发送至所述区块链服务器,接收所述区块链服务器返回的所述标识的解析信息或所述标识的解析信息所在的服务器地址。
本公开实施例中,所述本地服务器可以包括各种用户终端,如手机、笔记本、平板电脑和个人计算机等。在一个示例中,所述本地服务器还可以具有扫描功能,如摄像头以及相应的应用程序,以识别所述标识。在一个示例中,所述本地服务器还可以具有显示功能,以展示标识的解析信息。所述本地服务器接收用户发送的标识解析请求后,将所述解析请求发送至所述区块链服务器,接收所述区块链服务器返回的所述标识的解析信息或所述标识的解析信息所在的服务器地址。在一个示例中,如果区块链服务器返回了标识的解析信息,则所述本地服务器直接将所述标识的解析信息返回给用户。
在一种可能的实现方式中,所述本地服务器还用于在接收到所述标识的解析信息所在的服务器地址后,向目标服务器发送所述标识的解析请求,以及接收所述目标服务器返回的所述标识的解析信息。并将所述解析信息返回给用户。所述目标服务器可以包括上述区块链服务器。本公开实施例中,所述目标服务器包括与所述本地服务器处于不同区块链节点的区块链服务器。例如,参考图2所示,本地服务器107接收用户发送的标识的解析请求,将所述解析请求发送至区块链服务器A(2) 104,接收区块链服务器A(2) 104返回的所述标识的解析信息或所述标识的解析信息所在的服务器地址,当接收到所述标识的解析信息所在的服务器地址后,比如该服务器地址为区块链服务器B的地址,则本地服务器107就会将标识的解析请求发送给区块链服务器B,接收区块链服务器B返回的标识解析信息。
在一种可能的实现方式中,所述本地服务器包括缓存模块,所述缓存模块存储了标识的历史解析信息,
所述本地服务器还用于在接收到所述用户发送的标识的解析请求后,从所述缓存模块中确定所述标识的解析信息,以及在未缓存所述标识的解析信息的情况下,将所述解析请求发送至所述区块链服务器。
本公开实施例中,所述缓存模块缓存有通过所述本地服务器进行标识解析的解析记录。在接收到所述用户发送的标识的解析请求后,首先从所述缓存模块中确定所述标识的解析信息,如果所述缓存模块中缓存有所述标识的历史解析信息,则可以快速的确定所述标识的解析信息,无需访问区块链服务器,减轻了对区块链服务器的访问压力。
在一种可能的实现方式中,所述本地服务器还用于在接收所述区块链服务器返回的所述标识的解析信息后,将所述标识的解析信息记录至所述缓存模块,并定期删除记录时间大于预设值的解析信息,以更新所述缓存模块。
本公开实施例中,为防止解析信息更新后,本地服务器仍然存储的是以往的解析记录,从而在新的解析请求产生时,返回未更新的解析信息,而导致错误解析,采用对缓存模块中的解析记录进行定期的更新方式,删除记录时间大于预设值的解析信息。与上述实施例相同的是,所述本地服务器中缓存的解析记录源于通过所述本地服务器进行解析的历史解析记录。
在一种可能的实现方式中,所述本地服务器包括配置模块,所述配置模块包括标识类别与区块链服务器之间的关联关系,所述本地服务器还用于在接收到用户发送的标识的解析请求后,利用所述配置模块识别所述解析请求中标识的类别,确定与所述类别相匹配的区块链服务器,向所述区块链服务器发送所述解析请求。
本公开实施例中,所述标识类别可以包括Handle标识、OID标识、Ecode标识、GS1标识。在一个示例中,所述标识类别可以从本地输入、区块链服务器或公共的标识系统的注册解析服务器中获取标识类别,还可以获取其他网络连接信息等。所述本地服务器还用于在接收到用户发送的标识的解析请求后,利用所述配置模块识别所述解析请求中标识的类别,确定与所述类别相匹配的区块链服务器。在一个示例中,例如:本地服务器识别解析请求中的标识类别,若解析请求中只包含数字文本且以”.”作为分隔符分层隔开,则可判断所述解析请求的标识类别为OID标识,将该解析请求发送至与所述OID标识相匹配的区块链服务器;在另一个示例中,若解析请求中存在”/”作为分隔符的分层结构,且”/”前均为以”.”作为分隔符的数字信息,”/”后为字符或数字组合,则可判断所述标识类别为Handle标识,将该解析请求发送至与Handle标识相匹配的区块链服务器;在另一个示例中,若解析请求中以”E=”作为起始符,采用多节固定写入,或采用RFID分段存储格式存储“E=V+NSI+MD”标签,则可判断所述标识类别为Ecode标识,将所述解析请求发送至与Ecode标识相匹配的区块链服务器;在另一个示例中,若解析请求中满足GTIN-8/12/13/14编码结构,或18位数字编码SSCC结构,或13位数字编码GLN结构,则可判断为GS1标识,将该解析请求发送至与GS1标识相匹配的区块链服务器;在另一个示例中,所述本地服务器在接收到用户发送的标识的解析请求后,在所述配置模块识别不到所述解析请求中标识的类别的情况下,向所述用户返回解析失败的消息。需要说明的是,所述标识类别的设置方式不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
在一种可能的实现方式中,所述配置模块可以通过下述方式获取标识类别。本地服务器自启动时创建本地日志。在一个示例中,可以从现有的解析系统的官方文件中获取标识类别;在另一个示例中,也可以从现有的解析系统的配置文件中获取标识类别。本地服务器还会对获取到的标示类别数据进行清洗去重操作,将所述获取到的标识类别动态存储到本地日志,所述本地服务器还用于将处理后的标识类别同步到区块链服务器中。
本公开实施例本地服务器的配置模块包括多种标识类别,能够识别所述解析请求中不同的标识类别,并对不同标识类别的标识解析请求进行解析,提高了系统的适用性。
在一种可能的实现方式中,所述与所述类别相匹配的区块链服务器包括与所述本地服务器处于同一区块链节点的区块链服务器,以及与所述本地服务器处于不同区块链节点的区块链服务器。
本公开实施例中,可以按照地理区域划分所述区块链节点,例如北京地区的区块链服务器和本地服务器位于所述区块链节点A,天津地区的区块链服务器和本地服务器位于所述区块链节点B,南京地区区块链服务器和本地服务器位于所述区块链节点C。
本公开实施例中,本地服务器识别到标识类别后,可以先从与所述本地服务器处于同一区块链节点的服务器中去匹配所述区块链服务器,如果所述区块链节点的服务器中没有,就从与所述本地服务器处于不同区块链节点的区块链服务器中去找。在一个示例中,例如,区块链节点A的本地服务器获取到标识解析请求,读取标识类别,如果区块链节点A中有与所述标识类别相匹配的区块链服务器,就将该标识解析请求发送至所述区块链服务器;如果区块链节点A中没有与所述标识类别相匹配的区块链服务器,就匹配其他区块链节点中的区块链服务器。
在一种可能的实现方式中,所述区块链服务器包括存储模块,所述存储模块用于接收并存储标识以及对应的标识解析信息,所述区块链服务器将其地址以及所述存储模块中存储的标识定期更新至所述标识地址索引中。
本公开实施例中,所述存储模块可以接收本地服务器或其他区块链服务器发送的标识以及标识的解析信息,所述区块链服务器将其地址以及所述存储模块中存储的标识定期更新至所述标识地址索引中。
图3是根据一示例性实施例示出的一种标识解析系统解析方法的流程图。参考图3所示,用户向本地服务器发送标识解析请求;本地服务器查看本地配置模块,根据解析请求的标识类别,以及标识类别与区块链服务器的关联关系,确定与所述标识类别相匹配的区块链服务器,否则向用户反馈标识请求非法;本地服务器根据标识类别查看缓存模块,当缓存模块中存在此标识解析请求的解析记录时,直接调用此解析记录向用户提供标识解析信息,否则本地服务器根据解析请求类别将标识解析请求分发到相应区块链服务器服务器;区块链服务器在收到解析请求后,查看区块链服务器中是否存在解析请求解析信息索引记录时,如果有,则从区块链服务器中确定标识解析信息,如果没有,则访问标识地址索引获取解析信息存储位置,即其他区块链服务器,从解析信息存储位置中获取标识解析信息,同时写入区块链服务器。区块链服务器根据既定查询策略上链查询,在查询到正确解析结果后向用户返回解析信息,同时将标识地址索引写入存储模块,并周期性同步链上账本数据以保证链上和本地数据的一致性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 一种标识解析装置、标识解析系统及标识解析方法
- 句柄标识解析缓存方法、查询方法及句柄标识解析系统