对象标识符解析方法、装置、设备及存储介质
文献发布时间:2023-06-19 12:19:35
技术领域
本发明涉及区块链技术领域,尤其涉及一种对象标识符解析方法、装置、设备及存储介质。
背景技术
OID(Object Identifier,对象标识符)是由ISO/IEC、ITU国际标准化组织联合提出的标识机制,采用分层树形结构对任何类型的对象进行全球无歧义、唯一命名。OID具有分层灵活、扩展性强、管理机制清晰等优势,并可兼容现有标识机制,已经广泛应用于信息安全、医疗卫生、网络管理等领域。
OID编码体系是一个分级的符号体系,相对应的,为解决OID对应对象的信息的同一查询问题。于此同时,现有技术中还定义了一套OID解析系统(ORS),使用DNS技术,将全球的OID通过互联网组织成一个分级的数据库系统;其中上级DNS和下级DNS之间,通过NS资源记录进行授权链接。每个DNS通过NAPTR类型的资源记录,来保存对应的OID对象的服务配置信息。
但是,OID解析继承了DNS单点故障、单点失效、负载过重和易被非法控制等问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提出一种对象标识符解析方法、装置、设备及存储介质,旨在解决现有技术中OID解析容易出现单点故障、单点失效、负载过重和易被非法控制等问题,导致OID解析不准确的技术问题。
为实现上述目的,本发明提供一种对象标识符解析方法,所述对象标识符解析方法包括以下步骤:
对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点;
查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;
接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。
可选地,所述对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点,包括:
对待标识OID进行解析,以确定所述待识别OID对应的OID节点;
查找所述OID节点对应的待选父节点,并将所述待选父节点作为所述待识别OID对应的父节点。
可选地,所述查找所述OID节点对应的待选父节点,包括:
查找所述OID节点对应的层级区块链;
根据所述层级区块链确定所述OID节点对应的待选父节点。
可选地,所述查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求之前,还包括:
查找所述父节点对应的节点类型,并根据所述节点类型判断所述父节点是否为轻节点;
相应地,所述查询请求包括第一查询请求;
所述向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息,包括:
在所述父节点为轻节点时,向所述DNS区块链客户端发送所述第一查询请求,以使所述DNS区块链客户端基于所述第一查询请求从DNS服务器获取所述待识别OID在DNS区块链网络中的解析反馈信息。
可选地,所述根据所述节点类型判断所述父节点是否为轻节点之前,还包括:
根据所述节点类型判断所述父节点是否为全节点;
在所述父节点不为全节点时,执行根据所述节点类型判断所述父节点是否为轻节点的步骤。
可选地,所述查询请求包括第二查询请求;
所述根据所述节点类型判断所述父节点是否为全节点之后,还包括:
在所述父节点为全节点时,向所述DNS区块链客户端发送所述第二查询请求,以使所述DNS区块链客户端基于所述第二查询请求在本地数据库中查找所述待识别OID在DNS区块链网络中的解析反馈信息。
可选地,所述接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果,包括:
接收所述DNS区块链客户端反馈的所述解析反馈信息;
从所述解析反馈信息中提取所述待识别OID对应的OID解析资源;
根据所述OID解析资源确定所述待识别OID对应的服务配置信息,并将所述服务配置信息作为OID解析结果。
可选地,所述接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果之后,还包括:
在接收到所述待识别OID对应的操作指令时,根据所述操作指令对所述服务配置信息进行调整,以生成待处理服务配置信息;
查找所述DNS区块链网络中的超级节点;
将所述待处理服务配置信息发送给所述超级节点,以使所述超级节点将所述待处理服务配置信息写入所述DNS区块链网络中。
可选地,所述根据所述操作指令对所述服务配置信息进行调整,包括:
根据所述操作指令确定操作信息,并根据所述操作信息确定操作类型;
在所述操作类型为修改操作时,根据所述操作信息对所述服务配置信息进行调整。
可选地,所述查找所述DNS区块链网络中的超级节点,包括:
查找所述DNS区块链网络对应的区块链网络信息;
从所述区块链网络信息中提取超级节点信息,并根据所述超级节点信息确定超级节点。
可选地,所述对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点之前,还包括:
在接收到应用程序发送的OID时,将接收到的OID作为待识别OID;
相应地,所述根据所述解析反馈信息确定OID解析结果之后,还包括:
将所述OID解析结果发送给所述应用程序。
此外,为实现上述目的,本发明还提出一种对象标识符解析装置,所述对象标识符解析装置包括:
节点确定模块,用于对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点;
查询请求模块,用于查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;
解析结果模块,用于接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。
可选地,所述节点确定模块,还用于对待标识OID进行解析,以确定所述待识别OID对应的OID节点;查找所述OID节点对应的待选父节点,并将所述待选父节点作为所述待识别OID对应的父节点。
可选地,所述节点确定模块,还用于查找所述OID节点对应的层级区块链;根据所述层级区块链确定所述OID节点对应的待选父节点。
可选地,所述节点确定模块,还用于查找所述父节点对应的节点类型,并根据所述节点类型判断所述父节点是否为轻节点;在所述父节点为轻节点时,向所述DNS区块链客户端发送所述第一查询请求,以使所述DNS区块链客户端基于所述第一查询请求从DNS服务器获取所述待识别OID在DNS区块链网络中的解析反馈信息。
可选地,所述节点确定模块,还用于根据所述节点类型判断所述父节点是否为全节点;在所述父节点不为全节点时,执行根据所述节点类型判断所述父节点是否为轻节点的步骤。
可选地,所述节点确定模块,还用于在所述父节点为全节点时,向所述DNS区块链客户端发送所述第二查询请求,以使所述DNS区块链客户端基于所述第二查询请求在本地数据库中查找所述待识别OID在DNS区块链网络中的解析反馈信息。
可选地,所述解析结果模块,还用于接收所述DNS区块链客户端反馈的所述解析反馈信息;从所述解析反馈信息中提取所述待识别OID对应的OID解析资源;根据所述OID解析资源确定所述待识别OID对应的服务配置信息,并将所述服务配置信息作为OID解析结果。
此外,为实现上述目的,本发明还提出一种对象标识符解析设备,所述对象标识符解析设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的对象标识符解析程序,所述对象标识符解析程序配置有实现如上所述的对象标识符解析方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有对象标识符解析程序,所述对象标识符解析程序被处理器执行时实现如上文所述的对象标识符解析方法的步骤。
本发明提出的对象标识符解析方法,通过对待识别OID进行解析,以确定所述待识别OID对应的父节点;查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。在本发明中不再使用传统的DNS系统,而是使用基于区块链技术的DNS系统,通过DNS区块链网络进行OID解析将不再有单点故障、单点失效等问题,并且也避免了因为DNS根节点被非法操控所带来的数据篡改问题,从而提高了OID解析的准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的对象标识符解析设备结构示意图;
图2为本发明对象标识符解析方法第一实施例的流程示意图;
图3为本发明对象标识符解析方法第二实施例的流程示意图;
图4为本发明对象标识符解析方法一实施例的OID节点区块链示意图;
图5为本发明对象标识符解析方法一实施例的OID解析的数据传输示意图;
图6为本发明对象标识符解析方法第三实施例的流程示意图;
图7为本发明对象标识符解析装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的对象标识符解析设备结构示意图。
如图1所示,该对象标识符解析设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对对象标识符解析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及对象标识符解析程序。
在图1所示的对象标识符解析设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户设备,与所述用户设备进行数据通信;本发明设备通过处理器1001调用存储器1005中存储的对象标识符解析程序,并执行本发明实施例提供的对象标识符解析方法。
基于上述硬件结构,提出本发明对象标识符解析方法实施例。
参照图2,图2为本发明对象标识符解析方法第一实施例的流程示意图。
在第一实施例中,所述对象标识符解析方法包括以下步骤:
步骤S10,对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点。
需要说明的是,本实施例的执行主体可为对象标识符解析设备,所述对象标识符解析设备可为ORS客户端,ORS客户端是OID解析系统(Resolution System)的客户端,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,在本实施例中,以ORS客户端为例进行说明。
应当理解的是,本实施例提供了一种OID解析方法,来避免因依托DNS系统所带来的问题,本实施例的OID解析方法不再使用传统的DNS系统,转为使用基于区块链的DNS权威域名服务。因为使用基于区块链技术的DNS系统,OID解析服务将继承因没有中央部分控制而能够阻止被非法控制的特定。
可以理解的是,在确定待识别OID后,可对待识别OID进行解析,以确定所述待识别OID对应的OID节点,然后查找OID节点对应的父节点。
步骤S20,查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息。
应当理解的是,每个父节点都可有对应的DNS区块链客户端,因此,可查找该父节点对应的DNS区块链客户端,并向DNS区块链客户端发送查询请求,DNS区块链客户端在接收到ORS客户端发送的查询请求后,DNS区块链客户端可返回此OID在DNS区块链网络中的解析反馈信息。
步骤S30,接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。
可以理解的是,ORS客户端可接收DNS区块链客户端反馈的解析反馈信息,从所述解析反馈信息中提取待识别OID对应的OID解析资源,根据所述OID解析资源确定待识别OID对应的服务配置信息,并将服务配置信息作为OID解析结果。
进一步地,为了使OID解析更有针对性,提高OID解析的效果,所述对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点之前,还包括:
在接收到应用程序发送的OID时,将接收到的OID作为待识别OID;
相应地,所述根据所述解析反馈信息确定OID解析结果之后,还包括:
将所述OID解析结果发送给所述应用程序。
应当理解的是,OID可由应用程序或用户发送至ORS客户端,在本实施例中,以OID由应用程序发送至ORS客户端为例进行说明。
可以理解的是,ORS客户端在接收到应用程序发送的OID时,可将接收到的OID作为待识别OID,在确定待识别OID的OID解析结果后,将OID解析结果发送给该应用程序。
本实施例中通过对待识别OID进行解析,以确定所述待识别OID对应的父节点;查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。在本实施例中不再使用传统的DNS系统,而是使用基于区块链技术的DNS系统,通过DNS区块链网络进行OID解析将不再有单点故障、单点失效等问题,并且也避免了因为DNS根节点被非法操控所带来的数据篡改问题,从而提高了OID解析的准确性。
在一实施例中,如图3所示,基于第一实施例提出本发明对象标识符解析方法第二实施例,所述步骤S10,包括:
步骤S101,对待标识OID进行解析,以确定所述待识别OID对应的OID节点。
应当理解的是,由于本实施例中的OID解析方法是基于区块链的,因此,每个OID都有其对应的节点,所以,可对待识别OID进行解析,以确定待识别OID对应的OID节点。
需要说明的是,同一层级的OID节点组成一个OID解析区块链网络,所有节点可分为两种类型:一种类型是全节点,保存有当前层级全部的OID解析资源,可以直接提供OID递归解析的服务,并且参与区块生成和验证。另一种是轻节点,接入区块链网络但是不保存所有OID解析资源,需要时要向全节点进行资源拉取,轻节点不参与区块验证和生成。OID解析时可任意选择层级区块链中的任意一个节点获取解析服务。
步骤S102,查找所述OID节点对应的待选父节点,并将所述待选父节点作为所述待识别OID对应的父节点。
应当理解的是,在确定OID节点后,可查找与OID节点同一层级的节点,并将于OID节点同一层级的节点作为待选父节点,然后从待选父节点中随机选取一个节点作为待识别OID对应的父节点。
在具体实现中,可如图4所示,图4为OID节点区块链示意图。
进一步地,为了准确地确定待选父节点,避免数据误差造成的解析故障,所述查找所述OID节点对应的待选父节点,包括:
查找所述OID节点对应的层级区块链;根据所述层级区块链确定所述OID节点对应的待选父节点。
可以理解的是,同一层级的OID节点组成一个OID解析区块链网络,可能存在多个层级,因此,每个层级都有对应的区块链网络。在确定OID节点后,可确定OID节点所属的层级,然后将该层级对应的区块链网络作为与OID节点对应的层级区块链。
在具体实现中,例如,有三个层级,分别为层级A、层级B和层级C,其中,层级A对应区块链网络A、层级B对应区块链网络B以及层级C对应区块链网络C。在确定OID节点后,如果OID节点属于层级B,那么就可将层级B对应的区块链网络B作为与OID节点对应的层级区块链。
可以理解的是,可对层级区块链中的节点进行遍历,并将遍历到的所有节点作为待选父节点,进而从待选父节点中选取一个或多个节点作为待识别OID对应的父节点。
进一步地,由于节点分别全节点和轻节点两种类型,而这两种节点保存的资源并不相同,因此,为了达到更好的解析效果,可根据不同的节点类型确定不同的查询策略,所述查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求之前,还包括:
查找所述父节点对应的节点类型,并根据所述节点类型判断所述父节点是否为轻节点;
相应地,所述查询请求包括第一查询请求,所述向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息,包括:
在所述父节点为轻节点时,向所述DNS区块链客户端发送所述第一查询请求,以使所述DNS区块链客户端基于所述第一查询请求从DNS服务器获取所述待识别OID在DNS区块链网络中的解析反馈信息。
应当理解的是,在确定父节点后,可查找父节点对应的节点类型,进而根据节点类型判断父节点是否为轻节点,在父节点为轻节点时,向DNS区块链客户端发送第一查询请求。
可以理解的是,由于轻节点接入区块链网络但是不保存所有OID解析资源,需要时要向全节点进行资源拉取,因此,DNS区块链客户端在接收到第一查询请求后,可基于第一查询请求从DNS服务器获取待识别OID在DNS区块链网络中的解析反馈信息。
进一步地,由于全节点保存有当前层级全部的OID解析资源,获取解析资源的方式更为方便,因此,可优先判断父节点是否为全节点,所述根据所述节点类型判断所述父节点是否为轻节点之前,还包括:
根据所述节点类型判断所述父节点是否为全节点;在所述父节点不为全节点时,执行根据所述节点类型判断所述父节点是否为轻节点的步骤。
应当理解的是,可根据节点类型判断父节点是否为全节点,在父节点不为全节点时,才进一步判断父节点是否为轻节点,如果直接可判断父节点为全节点的话,就可省去后续的判断步骤,提高处理效率。
进一步地,由于全节点和轻节点的区别,因此,针对全节点和轻节点的查询方式以及对应的查询请求也并不相同,所述查询请求包括第二查询请求,所述根据所述节点类型判断所述父节点是否为全节点之后,还包括:
在所述父节点为全节点时,向所述DNS区块链客户端发送所述第二查询请求,以使所述DNS区块链客户端基于所述第二查询请求在本地数据库中查找所述待识别OID在DNS区块链网络中的解析反馈信息。
需要说明的是,在本实施例中查询请求包括第一查询请求和第二查询请求,第一查询请求与轻节点对应,第二查询请求与全节点对应。
可以理解的是,在父节点为全节点时,可向DNS区块链客户端发送第二查询请求。由于全节点保存有当前层级全部的OID解析资源,可直接提供OID递归解析的服务,因此,DNS区块链客户端在接收到第二查询请求后,可直接在本地数据库中查找待识别OID在DNS区块链网络中的解析反馈信息。
在具体实现中,可如图5所示,图5位OID解析的数据传输示意图。
本实施例中通过对待标识OID进行解析,以确定所述待识别OID对应的OID节点;查找所述OID节点对应的待选父节点,并将所述待选父节点作为所述待识别OID对应的父节点,进而获取父节点的节点类型,根据不同的节点类型确定不同的查询策略,可达到更好的解析效果。
在一实施例中,如图6所示,基于第一实施例或第二实施例提出本发明对象标识符解析方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤S30,包括:
步骤S301,接收所述DNS区块链客户端反馈的所述解析反馈信息。
应当理解的是,DNS区块链客户端根据查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息后,会将解析反馈信息反馈给ORS客户端,因此,ORS客户端可接收DNS区块链客户端反馈的解析反馈信息。
步骤S302,从所述解析反馈信息中提取所述待识别OID对应的OID解析资源。
可以理解的是,由于解析反馈信息中包含有OID解析资源,ORS客户端可从解析反馈信息中提取待识别OID对应的OID解析资源。
步骤S303,根据所述OID解析资源确定所述待识别OID对应的服务配置信息,并将所述服务配置信息作为OID解析结果。
可以理解的是,在确定待识别OID对应的OID解析资源后,可根据OID解析组员确定待识别OID对应的服务配置信息,由于为了提高数据的准确性,防止某个节点的数据被篡改,父节点可能存在多个,因此,根据多个DNS区块链客户端反馈的解析反馈信息可确定多个服务配置信息,可将这些服务配置信息进行比较,判断它们是否一致。如果在正常情况下,这些服务配置信息应该是一致的,因此,可将服务配置信息作为OID解析结果。但是,在某些特定的情况下,例如,区块链节点中的数据被篡改了,此时,将这些服务配置信息进行比较的话,可能会出现不一致的情况,在这种情况下,将占比较高的服务配置信息作为OID解析结果。
在具体实现中,例如,确定了三个服务配置信息,这三个服务配置信息分别为三个节点对应的DNS区块链客户端反馈的,将它们进行比较,如果三个服务配置信息一致,那么便可将其中任意一个服务配置信息作为OID解析结果。如果三个服务配置信息不一致,存在两种信息,例如,三种服务配置信息分别为服务配置信息A、服务配置信息B和服务配置信息C,如果服务配置信息A和服务配置信息B相同,而服务配置信息C与其他两者不同,因此,可将服务配置信息A和服务配置信息B中的任意一个作为OID解析结果。
在本实施例中,通过区块链获取解析资源的方式确定OID解析结果,以达到对待识别OID进行OID解析的效果,而且,由于区块链中存在多个节点,即使一个或多个区块链节点损坏或者发生故障,仍可以通过其他节点获得解析资源,因此,避免了单点损坏便无法进行OID解析的问题,而且,由于区块链网络中的资源是公开透明的,也可以对多个节点反馈的信息进行比对,以校验信息的真实性和准确性,提高了OID解析的准确性和安全性。
进一步地,除了可通过区块链网络来进行OID解析外,还可对区块链网络中的OID的服务配置信息进行各种操作,所述接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果之后,还包括:
在接收到所述待识别OID对应的操作指令时,根据所述操作指令对所述服务配置信息进行调整,以生成待处理服务配置信息;查找所述DNS区块链网络中的超级节点;将所述待处理服务配置信息发送给所述超级节点,以使所述超级节点将所述待处理服务配置信息写入所述DNS区块链网络中。
应当理解的是,区块链网络中存在超级节点,所有的OID的注册、修改、删除等操作依托于DNS区块链网络中的超级节点。通过申请的OID的服务配置信息以及OID节点树将由超级节点写入区块链中。服务配置信息和OID节点树将指引ORS客户端取进行递归解析请求。
可以理解的是,ORS客户端在接收到应用程序或用户发送的待识别OID对应的操作指令时,可根据操作指令对服务配置信息进行调整,以生成待处理服务配置信息。并查找DNS区块链网络中的超级节点,将待处理服务配置信息发送给超级节点,由超级节点将待处理服务配置信息写入DNS区块链网络中。
进一步地,由于存在多种操作,对应不同的操作指令,为了提高调整效率,所述根据所述操作指令对所述服务配置信息进行调整,包括:
根据所述操作指令确定操作信息,并根据所述操作信息确定操作类型;在所述操作类型为修改操作时,根据所述操作信息对所述服务配置信息进行调整。
应当理解的是,在确定操作指令后,可根据操作指令确定操作信息,然后根据操作信息确定操作类型,所述操作类型可包括注册操作、修改操作、删除操作等,在操作类型为修改操作时,可根据操作信息对服务配置信息进行调整。而在操作类型为注册操作或者删除操作时,并不需要对服务配置信息进行调整,直接将该操作信息发送至超级节点,由超级节点进行处理。
进一步地,由于区块链中存在多个超级节点,有些操作只有超级节点才有权限,因此,所述查找所述DNS区块链网络中的超级节点,包括:
查找所述DNS区块链网络对应的区块链网络信息;从所述区块链网络信息中提取超级节点信息,并根据所述超级节点信息确定超级节点。
应当理解的是,可查找DNS区块链网络对应的区块链网络信息,所述区块链网络信息为该DNS区块链网络对应的各种信息,进而从区块网络信息中提取超级节点信息,从而可根据超级节点信息确定该DNS区块链网络中的超级节点。
本实施例中通过接收所述DNS区块链客户端反馈的所述解析反馈信息;从所述解析反馈信息中提取所述待识别OID对应的OID解析资源;根据所述OID解析资源确定所述待识别OID对应的服务配置信息,并将所述服务配置信息作为OID解析结果,由于区块链中存在多个节点,即使一个或多个区块链节点损坏或者发生故障,仍可以通过其他节点获得解析资源,因此,避免了单点损坏便无法进行OID解析的问题,同时也可有效避免数据篡改的情况,提高了OID解析的准确性和安全性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有对象标识符解析程序,所述对象标识符解析程序被处理器执行时实现如上文所述的对象标识符解析方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,参照图7,本发明实施例还提出一种对象标识符解析装置,所述对象标识符解析装置包括:
节点确定模块10,用于对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点。
查询请求模块20,用于查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息。
解析结果模块30,用于接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。
本实施例中通过对待识别OID进行解析,以确定所述待识别OID对应的父节点;查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。在本实施例中不再使用传统的DNS系统,而是使用基于区块链技术的DNS系统,通过DNS区块链网络进行OID解析将不再有单点故障、单点失效等问题,并且也避免了因为DNS根节点被非法操控所带来的数据篡改问题,从而提高了OID解析的准确性。
在一实施例中,所述对象标识符解析装置还包括信息调整模块,用于在接收到所述待识别OID对应的操作指令时,根据所述操作指令对所述服务配置信息进行调整,以生成待处理服务配置信息;查找所述DNS区块链网络中的超级节点;将所述待处理服务配置信息发送给所述超级节点,以使所述超级节点将所述待处理服务配置信息写入所述DNS区块链网络中。
在一实施例中,所述信息调整模块,还用于根据所述操作指令确定操作信息,并根据所述操作信息确定操作类型;在所述操作类型为修改操作时,根据所述操作信息对所述服务配置信息进行调整。
在一实施例中,所述信息调整模块,还用于查找所述DNS区块链网络对应的区块链网络信息;从所述区块链网络信息中提取超级节点信息,并根据所述超级节点信息确定超级节点。
在一实施例中,所述节点确定模块10,还用于在接收到应用程序发送的OID时,将接收到的OID作为待识别OID;所述解析结果模块30,还用于将所述OID解析结果发送给所述应用程序。
在本发明所述对象标识符解析装置的其他实施例或具体实现方法可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该估算机软件产品存储在如上所述的一个估算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台智能设备(可以是手机,估算机,对象标识符解析设备,空调器,或者网络对象标识符解析设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
本发明公开了A1、一种对象标识符解析方法,所述对象标识符解析方法包括以下步骤:
对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点;
查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;
接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。
A2、如A1所述的对象标识符解析方法,所述对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点,包括:
对待标识OID进行解析,以确定所述待识别OID对应的OID节点;
查找所述OID节点对应的待选父节点,并将所述待选父节点作为所述待识别OID对应的父节点。
A3、如A2所述的对象标识符解析方法,所述查找所述OID节点对应的待选父节点,包括:
查找所述OID节点对应的层级区块链;
根据所述层级区块链确定所述OID节点对应的待选父节点。
A4、如A1所述的对象标识符解析方法,所述查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求之前,还包括:
查找所述父节点对应的节点类型,并根据所述节点类型判断所述父节点是否为轻节点;
相应地,所述查询请求包括第一查询请求;
所述向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息,包括:
在所述父节点为轻节点时,向所述DNS区块链客户端发送所述第一查询请求,以使所述DNS区块链客户端基于所述第一查询请求从DNS服务器获取所述待识别OID在DNS区块链网络中的解析反馈信息。
A5、如A4所述的对象标识符解析方法,所述根据所述节点类型判断所述父节点是否为轻节点之前,还包括:
根据所述节点类型判断所述父节点是否为全节点;
在所述父节点不为全节点时,执行根据所述节点类型判断所述父节点是否为轻节点的步骤。
A6、如A5所述的对象标识符解析方法,所述查询请求包括第二查询请求;
所述根据所述节点类型判断所述父节点是否为全节点之后,还包括:
在所述父节点为全节点时,向所述DNS区块链客户端发送所述第二查询请求,以使所述DNS区块链客户端基于所述第二查询请求在本地数据库中查找所述待识别OID在DNS区块链网络中的解析反馈信息。
A7、如A1~A6中任一项所述的对象标识符解析方法,所述接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果,包括:
接收所述DNS区块链客户端反馈的所述解析反馈信息;
从所述解析反馈信息中提取所述待识别OID对应的OID解析资源;
根据所述OID解析资源确定所述待识别OID对应的服务配置信息,并将所述服务配置信息作为OID解析结果。
A8、如A7所述的对象标识符解析方法,所述接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果之后,还包括:
在接收到所述待识别OID对应的操作指令时,根据所述操作指令对所述服务配置信息进行调整,以生成待处理服务配置信息;
查找所述DNS区块链网络中的超级节点;
将所述待处理服务配置信息发送给所述超级节点,以使所述超级节点将所述待处理服务配置信息写入所述DNS区块链网络中。
A9、如A8所述的对象标识符解析方法,所述根据所述操作指令对所述服务配置信息进行调整,包括:
根据所述操作指令确定操作信息,并根据所述操作信息确定操作类型;
在所述操作类型为修改操作时,根据所述操作信息对所述服务配置信息进行调整。
A10、如A8所述的对象标识符解析方法,所述查找所述DNS区块链网络中的超级节点,包括:
查找所述DNS区块链网络对应的区块链网络信息;
从所述区块链网络信息中提取超级节点信息,并根据所述超级节点信息确定超级节点。
A11、如A1~A6中任一项所述的对象标识符解析方法,所述对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点之前,还包括:
在接收到应用程序发送的OID时,将接收到的OID作为待识别OID;
相应地,所述根据所述解析反馈信息确定OID解析结果之后,还包括:
将所述OID解析结果发送给所述应用程序。
本发明公开了B12、一种对象标识符解析装置,所述对象标识符解析装置包括:
节点确定模块,用于对待识别对象标识符OID进行解析,以确定所述待识别OID对应的父节点;
查询请求模块,用于查找所述父节点对应的DNS区块链客户端,并向所述DNS区块链客户端发送查询请求,以使所述DNS区块链客户端基于所述查询请求确定所述待识别OID在DNS区块链网络中的解析反馈信息;
解析结果模块,用于接收所述DNS区块链客户端反馈的所述解析反馈信息,并根据所述解析反馈信息确定OID解析结果。
B13、如B12所述的对象标识符解析装置,所述节点确定模块,还用于对待标识OID进行解析,以确定所述待识别OID对应的OID节点;查找所述OID节点对应的待选父节点,并将所述待选父节点作为所述待识别OID对应的父节点。
B14、如B13所述的对象标识符解析装置,所述节点确定模块,还用于查找所述OID节点对应的层级区块链;根据所述层级区块链确定所述OID节点对应的待选父节点。
B15、如B12所述的对象标识符解析装置,所述节点确定模块,还用于查找所述父节点对应的节点类型,并根据所述节点类型判断所述父节点是否为轻节点;在所述父节点为轻节点时,向所述DNS区块链客户端发送所述第一查询请求,以使所述DNS区块链客户端基于所述第一查询请求从DNS服务器获取所述待识别OID在DNS区块链网络中的解析反馈信息。
B16、如B15所述的对象标识符解析装置,所述节点确定模块,还用于根据所述节点类型判断所述父节点是否为全节点;在所述父节点不为全节点时,执行根据所述节点类型判断所述父节点是否为轻节点的步骤。
B17、如B16所述的对象标识符解析装置,所述节点确定模块,还用于在所述父节点为全节点时,向所述DNS区块链客户端发送所述第二查询请求,以使所述DNS区块链客户端基于所述第二查询请求在本地数据库中查找所述待识别OID在DNS区块链网络中的解析反馈信息。
B18、如B12所述的对象标识符解析装置,所述解析结果模块,还用于接收所述DNS区块链客户端反馈的所述解析反馈信息;从所述解析反馈信息中提取所述待识别OID对应的OID解析资源;根据所述OID解析资源确定所述待识别OID对应的服务配置信息,并将所述服务配置信息作为OID解析结果。
本发明还公开了C19、一种对象标识符解析设备,所述对象标识符解析设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的对象标识符解析程序,所述对象标识符解析程序配置有实现如上所述的对象标识符解析方法的步骤。
本发明还公开了D20、一种存储介质,所述存储介质上存储有对象标识符解析程序,所述对象标识符解析程序被处理器执行时实现如上所述的对象标识符解析方法的步骤。
- 对象标识符解析方法、装置、设备及存储介质
- 报文解析方法、装置、设备及计算机可读存储介质