CN113946587A - 句柄标识解析缓存方法、查询方法及其句柄标识解析系统 - Google Patents

句柄标识解析缓存方法、查询方法及其句柄标识解析系统 Download PDF

Info

Publication number
CN113946587A
CN113946587A CN202111494101.5A CN202111494101A CN113946587A CN 113946587 A CN113946587 A CN 113946587A CN 202111494101 A CN202111494101 A CN 202111494101A CN 113946587 A CN113946587 A CN 113946587A
Authority
CN
China
Prior art keywords
value
handle
type
data
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111494101.5A
Other languages
English (en)
Inventor
谢家贵
李志平
陈剑
范志朋
张波
王俊
宁超举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Information and Communications Technology CAICT
Original Assignee
China Academy of Information and Communications Technology CAICT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Academy of Information and Communications Technology CAICT filed Critical China Academy of Information and Communications Technology CAICT
Publication of CN113946587A publication Critical patent/CN113946587A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及网络通信技术领域,提供了一种句柄标识解析缓存方法、查询方法及其句柄标识解析系统。本发明提供的句柄标识解析缓存方法包括步骤S1,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,计算关键字值对应的哈希地址,从而建立哈希表;步骤S2,将句柄标识解析结果缓存到所述哈希地址对应的存储单元中,句柄标识解析结果至少包括二进制格式数据和由二进制格式数据转换得到的规定格式的数据。该句柄标识解析缓存方法能够有效地减少句柄标识解析结果的缓存查询次数,省去基于不同协议查询时需要执行的数据格式的转换步骤,有效提高解析效率。

Description

句柄标识解析缓存方法、查询方法及其句柄标识解析系统
本申请要求申请日为2021年2月10日、申请号为202110184379.6、发明名称为“句柄标识解析缓存方法,查询方法及其句柄标识解析系统”的发明专利申请的优先权,其全部内容通过引用融入本文。
技术领域
本发明涉及网络通信技术领域,具体地,涉及到一种句柄标识解析缓存方法,句柄标识解析查询方法及句柄标识解析系统。
背景技术
1994年,世界互联网之父、TCP/IP协议共同发明人罗伯特卡恩发明了句柄(handle)标识解析系统。句柄标识解析系统是一种(K,V)类型的分布式数据库系统,以句柄标识字符串(包括前缀,全标识,二级节点标识,企业节点标识等)作为关键字值(key,K),对其进行解析后,得到一组句柄值(Value,V)。接着,能够以句柄值中的索引值(index)、类型值(type)作为单独的二级key,依次查询索引值(index)、类型值(type),从而在检索到的句柄值中继续查询特定目标的句柄值,在最终确定句柄值后访问与该句柄值对应的数据。
为了实现高性能的标识解析系统,在现有技术中通常会匹配高速的缓存系统来对数据进行缓存。在高速缓存系统中通过以上方式查询一个句柄标识的解析结果时,即使在句柄值中的索引值只有一个条件值且类型值也只有一个条件值的情况下,也至少需要进行三次分别对句柄标识字符串、索引值、类型值对应结果的查询,才能获得特定目标值。在索引值和类型值有多个条件值时,则查询次数会更多。这种需要多次查询才能定位到最终句柄标识解析结果的方式效率较低,查询缓存的时延较长。
另外,句柄标识解析过程通常基于多套协议实现,例如udp协议、tcp协议和http(s)协议,其中udp和tcp协议采用的是基于流的二进制格式数据,http(s)协议采用的是json格式数据。基于不同协议的查询请求的处理方式也不同,具体而言,例如当进行基于例如tcp协议的句柄标识查询时,遍历句柄标识字符串的一级哈希以及类型值和索引值的二级哈希查询,并且以二进制格式数据进行缓存;而当进行基于http(s)协议的句柄标识查询时,遍历句柄标识字符串、索引值和类型值的多级哈希查询,然后将查询到的二进制格式数据转换成http(s)所需的json格式数据。由于每次基于http(s)的查询均需要历经上述转换过程,工作效率低,影响系统解析性能。
因此,亟待一种技术方案能够减少句柄标识解析结果的缓存查询次数,省去基于不同协议查询时需要执行的数据格式的转换步骤,提高缓存效率,降低查询缓存时延,以达到提高整个系统业务处理的每秒查询率(qps)的效果。
发明内容
针对以上问题,本发明提供了一种句柄标识解析缓存方法、查询方法以及相应的句柄标识解析系统,能够有效地减少句柄标识解析结果的缓存查询次数,省去基于不同协议查询时需要执行的数据格式的转换步骤。
本发明提供的句柄标识解析缓存方法,具体包括:步骤S1,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,计算关键字值对应的哈希地址,从而建立哈希表;步骤S2,将句柄标识解析结果缓存到所述哈希地址对应的存储单元中,句柄标识解析结果至少包括二进制格式数据和由二进制格式数据转换得到的规定格式的数据。
根据上述技术方案,以句柄标识字符串、索引值、类型值排列形成的字符串作为关键字值(key)进行哈希查询,这样的查询方式只需要一次哈希查询就能精准地获得与关键字值对应的哈希地址,大大减少了查询的次数,提高了查询缓存的效率和精准度。此外,因为句柄解析结果中还保存了由二进制格式数据转换得到的规定格式的数据,所以在下次查询时,可以直接调用该规定格式的数据,省去了基于不同协议查询时需要执行的数据格式的转换步骤,从而有效提高了解析效率。
在本发明的较优技术方案中,关键字值中的索引值为多个索引值排序形成的索引列表中的索引列表值;关键字值中的类型值为多个类型值排序形成的类型列表中的类型列表值。
根据上述技术方案,对索引值和类型值进行转换处理,采用排序后分配列表值的方式,对于相同的索引列表值、类型列表值,即使输入时顺序不同,通过排序仍能够在哈希表中对应于唯一的关键字值。
在本发明的较优技术方案中,规定格式为json格式。根据上述技术方案,该句柄标识解析缓存方法能够有效适用于基于http(s)协议的句柄标识解析系统,在查询时若本地缓存有json格式的记录,可以直接调用,省去基于不同协议查询时(例如是同一服务器既需要执行基于tcp协议的查询,又需要执行基于http(s)协议的查询时),经常需要执行的格式转换的步骤,从而有效提高解析效率。
本发明还提供了一种句柄标识解析查询方法,包括:步骤S3,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,查询哈希表中与所述关键字值对应的哈希地址;步骤S4,响应于基于规定协议的查询,从哈希地址对应的存储单元中读取句柄标识解析结果,句柄标识解析结果包括预先缓存的由二进制数据转换得到的规定格式的数据。
根据上述技术方案,以句柄标识字符串、索引值、类型值排列形成的字符串作为关键字值(key)进行哈希查询,这样的查询方式只需要一次哈希查询就能精准地获得句柄标识解析结果所在的哈希地址,大大减少了查询的次数,提高了查询缓存的效率和精准度。另外,由于在步骤S4中,响应于基于规定协议的查询,调用由二进制数据转换得到的规定格式的数据,所以在查询阶段无需临时执行格式转换,有效提高查询效率。
在本发明的较优技术方案中,句柄标识解析查询方法还包括:步骤S5,根据生存时间值判断句柄标识解析结果是否过期:若过期,则删除句柄标识解析结果,并返回空值;若未过期,则返回句柄标识解析结果。根据上述较优技术方案,该句柄标识解析查询方法能够有效分辨过期数据,保证数据的时效性。
在本发明的较优技术方案中,规定协议为http/https协议,规定格式为json格式。
本发明提供的句柄标识解析系统包括:处理器;提供有缓存空间且与处理器通信连接的存储器;存储器中还存储有哈希表,哈希表经由处理器读取和执行,能够将关键字值转换为对应的哈希地址,其中,关键字值配置为句柄标识字符串、索引值和类型值排列形成的字符串,哈希地址配置为句柄标识解析结果在缓存空间中存储的地址。
附图说明
图1是本发明的一个实施方式中提供的句柄标识解析系统的总体结构图;
图2是图1实施方式中句柄标识解析的总体处理流程图;
图3是图1实施方式中句柄标识解析缓存的流程图;
图4是图1实施方式中句柄标识解析查询的流程图;
图5是图1实施方式中提供的一种句柄标识解析系统的结构示意图。
附图标记:1-安全策略子系统,2-tcp/http(s)子系统,3-缓存系统,4-递归转发子系统,5-递归服务器,6-缓存自检子系统,7-业务管理子系统,8-日志子系统,9-哈希表,10-存储器,101、102-存储单元,11-处理器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
【系统架构】
本实施方式中,句柄标识解析系统的总体结构如图1所示。优选地,该句柄标识解析系统包括安全策略子系统1、tcp/http(s)子系统2、缓存系统3、递归转发子系统4、缓冲自检子系统6、业务管理子系统7以及日志子系统8。其中,安全策略子系统1用以判断句柄标识解析请求/应答及请求/应答用户身份等信息的安全性。判断结果为无安全性问题的信息才能通过安全策略子系统1,从而进行下一步的传送或解析。安全策略子系统1与业务管理子系统7、日志子系统8之间分别存在信息交互,安全策略子系统1能够将日期、时间、使用者等信息存入日志子系统8,以备之后调用和查询。
tcp/http(s)子系统2用以将从安全策略子系统1中传送过来的信息在进行tcp/http(s)协议转换之后传送到缓存系统3和递归转发子系统4中,另外tcp/http(s)子系统2也能够将后端返回信息传送给安全策略子系统1。tcp/http(s)子系统2与业务管理子系统7之间存在信息交互,而且tcp/http(s)子系统2能够将日期、时间、解析动作等信息存入日志子系统8以备之后调用和查询。
本实施方式中,以句柄标识解析系统基于tcp协议和http(s)协议两种协议为例进行说明,但本领域技术人员能够理解,本发明提供的句柄标识解析缓存方法、查询方法也适用于其他同时包含基于二进制格式数据的协议(例如udp协议)和其他采用非二进制格式数据的协议(例如http(s)协议)的句柄标识解析系统,在未背离本发明主旨的前提下,在此类系统中应用的句柄标识解析缓存方法、查询方法以及对应的句柄标识解析系统均未超出本发明的保护范围。
在对查询请求进行应答之后,应答结果可以被缓存在缓存系统3中,从而在下次接收到基本相同的查询请求时直接进行应答,可以提高应答速度。缓存系统3一方面与业务管理子系统7以及tcp/http(s)子系统2通信连接,从而便于在缓存系统3中查询调取需要的信息。另一方面,缓存系统3与缓存自检子系统6存在信息交互,从而及时利用递归查询获得的新的条目,对缓存系统3中的内容进行更新。
递归转发子系统4能够将tcp/http(s)子系统2中传来的信息递归转发到外部的递归服务器5,并且能够将递归服务器5返回的信息传送给缓存自检子系统6以供其查询判断。
递归服务器5可以位于系统外部,用于本地无缓存结果时的递归查询,即接收到递归转发子系统4传来的查询请求后进行递归查询,若无应答信息,则将查询请求递归到下一级递归服务器5,直到某个递归服务器5传送回相应的应答信息,再将相应的应答信息传送回递归转发子系统4。递归服务器5与业务管理子系统7之间存在信息交互,而且递归服务器5会将递归查询相应产生的、包含服务器名称等内容的递归查询日志存入日志子系统8以备之后调用和查询。
缓存自检子系统6,用于接收递归转发子系统4传来的递归查询的应答结果,判断该应答结果是否需要被缓存在缓存系统3中。在一些实施方式中,若缓存系统3中未缓存相应的应答结果或者相应条目数据已经过期,并且应答结果满足预先规定的条件,则可以将应答结果缓存到缓存系统3中。若缓存系统3中已缓存相应的应答结果或者该应答结果不满足预先规定的条件,则返回递归查询得到的应答结果而不进行缓存系统3的更新。
业务管理子系统7与以上安全策略子系统1、tcp/http(s)子系统2、缓存系统3、递归服务器5及缓存自检子系统6均有信息交互,以便业务管理子系统7对整个句柄标识解析系统中的每个流程系统地管理和监控。
日志子系统8与以上安全策略子系统1、tcp/http(s)子系统2及递归服务器5等均有信息交互,用于记录和存储安全策略子系统1、tcp/http(s)子系统2及递归服务器5等的日期、时间、动作等系统日志信息。
【处理流程】
进一步地,本实施方式中句柄标识解析系统的总体处理流程如图2所示。
句柄标识解析系统开始运行,首先进行系统配置初始化,若系统配置初始化失败,则退出解析;若系统配置初始化成功,则继续进行解析。系统配置初始化成功后,进行日志初始化,若日志初始化失败,则退出解析;若日志初始化成功,则继续进行解析。日志初始化成功后,进行缓存初始化,若缓存初始化失败,则退出解析;若缓存初始化成功,则继续进行解析。缓存初始化成功后,进行日志统计初始化,若日志统计初始化失败,则退出解析;若日志统计初始化成功,则继续进行解析。上述初始化步骤是把变量赋为默认值,把控件设为默认状态的过程,从而保证系统的正常运行。
上述初始化步骤均成功完成后,系统开始监听请求信息,监听的信息类型分为tcpListen,http(s)Listen和realConfListen等。其中,tcp为传输层数据与连接方式的规范,不携带数据,仅用于连接通信;http(s)为超文本传输安全协议,http(s)建立在tcp连接的基础上,定义传输内容规范,并且传输数据;realConf为配置信息命令,用于配置的增加、删除和修改等。而Listen指令的作用为指定服务器在哪些端口或地址和端口的组合上监听接入请求。
当系统监听到来自特定的端口或者地址的请求信息时,即接收到外界信息触发时,系统能够判断外部事件类型。
当外部事件类型为基于tcp的句柄标识解析查询请求时,首先tcp/http(s)子系统2中的tcp子系统进行tcp服务收包和解包,接下来进行策略检查,在此所说的策略检查是指基于接收到的关键字值(key),代入特定函数后是否能够得到对应的哈希地址。若策略检查失败,即在哈希表中没有查找到关键字值所对应的哈希地址,则解析终止并将策略检查失败的结果返回给用户;若策略检查成功,即在哈希表中查找到了关键字值所对应的哈希地址,在缓存系统3的缓存数据库中寻找哈希地址对应的存储单元。若在缓存数据库内哈希地址对应的存储单元中缓存有对应的句柄标识解析结果,则将句柄标识解析结果返回给用户;若在缓存数据库内哈希地址对应的存储单元中没有缓存对应的句柄标识解析结果或者对应的句柄标识解析结果已经过期,则继续进行递归查询。递归服务器经过一次或多次递归查询得到句柄标识解析结果,则返回句柄标识解析结果给用户,并将句柄标识解析结果发送到缓存自检子系统6。缓存自检子系统6判断是否需要缓存该句柄标识解析结果,若缓存数据库中没有缓存该句柄标识解析结果,则将其缓存到缓存数据库中。
当外部事件类型为http(s)时,使用tcp/http(s)子系统2中的http(s)子系统进行http(s)服务收包和解包。
当外部事件类型为realConf时,crm命令下发。根据crm命令的具体内容,能够实现对哈希表和缓存数据库内信息对应地增加、删除和修改等操作。
【句柄标识字符串、句柄值】
哈希表是根据(Key,Value)而直接进行访问的数据结构。也就是说,它通过哈希函数计算的方式,把关键字值(key)映射到表中一个哈希地址来访问记录,以加快查找的速度。现有技术的句柄标识解析系统中,建立哈希表时所使用的关键字值仅为句柄标识字符串,句柄标识字符串包括前缀和后缀,其中,前缀包括顶级国家节点标识、二级节点标识、企业节点标识。例如以下字符串,
10.1045.xxx/january99-bearman
其中,10,代表顶级国家节点标识;1045,代表二级节点标识;xxx,代表企业节点标识;“.”为层级分隔符,分隔各级节点标识;“/”为前后缀分隔符,“/”之前的部分为前缀,“/”之后的部分为后缀;句柄标识字符串中不包括“.”和“/”。
在现有技术中,根据句柄标识字符串解析得到的一组句柄值的形式如下所示:
Figure BDA0003400251680000071
Figure BDA0003400251680000081
以上仅示意性地显示出了一栏数据中一种类型值(type)的解析结果。一组句柄值实际可以包含多栏数据,每栏数据采用一个索引值(index)进行标引,以将本栏数据与其他栏数据区别开。每栏数据中还可以包含不同类型值的数据。其中,
索引值(index),4字节无符号整型;
类型值(type),一个UTF8字符串;
数据(data),用于描述句柄标识的数据资源;
生存时间(TTL),表示数据在缓存空间内保留的时间;
权限掩码(permission),8位权限掩码,用于句柄的访问权限控制;
引用数(reference),表示对其他句柄的引用。
其中,类型值(type)具体包含
管理员(HS_ADMIN),表示句柄解析服务的一个或一组管理员;
服务站点(HS_SITE),表示提供句柄解析服务的服务站点;
命名授权代理服务(HS_NA_DELEGATE),用于将命名管理权限分配到服务站点;
服务(HS_SERV),表示句柄解析服务内容;
别名(HS_ALIAS),句柄标识对象有多个名称的情况下,能够用别名表示;
主站点(HS_PRIMARY),指定主要服务站点;
列表值(HS_VLIST),表示对其他句柄列表值的引用。
句柄标识必须在其type字段中指定一种类型值。类型值(type)不仅仅包括上述几种类型,句柄系统还提供了类型注册服务,该服务使用户或组织可以为其应用程序注册新的类型值。
通过以上数据结构可知,若采用现有技术中的查询方式,为了准确定位到特定的句柄标识解析结果,除了上述哈希表的映射过程,还需要使用索引值和类型值,在一组句柄值中进一步查询,方可得到特定的句柄标识解析结果。
【缓存方法】
本实施方式提供了一种句柄标识解析缓存方法,包括以下步骤,如图3所示:
步骤S1,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,计算关键字值对应的哈希地址,从而建立哈希表;
步骤S2,将句柄标识解析结果缓存到哈希地址对应的存储单元中,句柄标识解析结果至少包括二进制格式数据和由二进制格式数据转换得到的规定格式的数据。
在本实施方式中,由于建立哈希表时就已经使用了索引值和类型值作为关键字值的一部分,基于该编码方式的关键字值建立的哈希表可以直接解析出特定的句柄标识解析结果,而不需要进行多次查询。上述缓存方法大大方便了后续查询过程,减少了后续查询所需要的次数,提高了查询的效率和精准度。优选地,在本实施方式提出的句柄标识解析缓存方法中,索引值和类型值均是通过排序之后的列表值。换言之,关键字值中的索引值为多个索引值排序形成的索引列表中的索引列表值;关键字值中的类型值为多个类型值排序形成的类型列表中的类型列表值。
举例而言,对于类型值,可以根据预先设定的规则,将可用的类型值排序后形成类型列表,并且为每种类型值赋予类型列表值。可用的类型值不仅包括之前列举的常见的类型值,也可以包含用户自定义的类型值,只要及时将其加入类型列表中并赋予相应的列表值即可适用查询功能。举例来说,类型值与类型列表值的对应关系可以参见下述表1.
表1
Figure BDA0003400251680000091
Figure BDA0003400251680000101
赋予类型列表值的排序规则可以是有序的,例如采用名称的字母排序、类型排序或者其他任何合适的排序方式及其组合实现,也可以是无序的,只要类型值与类型列表值是一一对应的即可。对于索引值,也可以采用与上述方式相同的或者相似的方式实现,此处不再赘述。
通过以上方式,将索引值和类型值分别按照一定规则进行排序,得到索引列表值和类型列表值;再将句柄标识字符串与索引列表值和类型列表值整合到一起,组成关键字值。
举例来说,若句柄标识字符串为10.1045.xxx/january99-bearman,索引值为2,类型值为HS_ADMIN,则在组成关键字值时,对索引值对应的索引列表值以及类型值对应的类型列表值进行查询。通过查询上述类型列表,可知HS_ADMIN的类型值对应的类型列表值为1,同理,查询索引值2对应的索引列表值为2。因此,若采用句柄标识字符串+indexList(索引列表值)+typeList(类型列表值)的方式编码关键字值,则关键字值应当为10.1045.xxx/january99-bearman 2 1。
采用排序后分配列表值的方式,可以使得,对于相同的索引列表值、类型列表值,即使输入时顺序不同,通过排序仍能够在哈希表中对应于唯一的关键字值。当然,在一些实施方式中,也可以直接将索引值或者类型值与句柄标识字符串排列后构成关键字值,来建立或者查询哈希表。此外,在另一些实施方式中,关键字值也可以允许一定的合理变形,只要其包含索引值、类型值、句柄标识字符串的信息即可。
在确定了关键字值之后,能够利用哈希函数确定与该关键字值对应的哈希地址,利用哈希函数的计算过程能够将关键字值直接映射到对应于句柄标识解析结果的哈希地址,避免多次哈希查找造成的资源浪费。
此外,因为句柄解析结果中还保存了由二进制格式数据转换得到的规定格式的数据,所以在下次查询时,可以直接调用该规定格式的数据,省去了基于不同协议查询时需要执行的数据格式的转换步骤,从而有效提高了解析效率。
具体而言,在本实施方式中,无论是基于tcp协议的查询,还是基于http(s)协议的查询,递归得到的解析结果都会被存储为两份不同格式的数据,其中一份为二进制格式的数据,另一份为由二进制格式的数据转换得到的json格式的数据。换言之,在首次建立缓存时,即保存两份或者多份不同格式的数据,若后续接收到基于tcp协议的查询请求,则返回二进制格式的数据,若后续接收到基于http(s)协议的查询请求,则返回json格式的数据,即根据查询请求所基于的协议类型,从保存的多份数据中选择格式匹配的数据,返回给查询请求的发起方。
建立缓存时预先保存在缓存系统3中的数据的份数是对应于系统兼容协议类型的文件格式类型数量的,例如系统兼容tcp、udp、http(s)三种协议,三种协议的文件格式类型为二进制、json两种,则数据的份数也应当为两份。通过缓存不同格式的数据,在接收到基于规定协议的查询请求时,将与规定协议对应格式的数据,只需返回给查询请求的发起方即可,无需再本地进行格式的转换,从而有效提高了解析效率。
【查询方法】
本实施方式提出的句柄标识解析缓存查询流程如图4所示。
首先,执行步骤S3,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,查询哈希表中与所述关键字值对应的哈希地址。
本实施方式中,步骤S3进一步包括,调用查询程序(例如是hhdl_cache_get程序)查询关键字值,并且由关键字值计算得到对应的哈希地址的步骤。
接着,在步骤S3之后,执行步骤S4,响应于基于规定协议的查询,从哈希地址对应的存储单元中读取句柄标识解析结果,句柄标识解析结果包括预先缓存的由二进制数据转换得到的规定格式的数据。本实施方式中,规定协议为http(s)协议,规定格式为json格式。
具体而言,根据哈希地址,在缓存系统3的缓存数据库中查询该哈希地址对应的存储单元中是否缓存了对应的句柄标识解析结果。若存有对应的句柄标识解析结果,则读取该句柄标识解析结果。若该哈希地址对应的存储单元中未缓存有对应的句柄标识解析结果,则向用户返回空值(NULL)。
根据前述缓存方法可知,本实施方式在缓存的建立过程中,在缓存系统3中准备了不同格式的数据,例如是二进制格式的数据和json格式的数据。步骤S4中,在从哈希地址对应的存储单元中读取句柄标识解析结果的过程中,会根据查询请求所基于的协议类型,为该查询请求匹配相应格式的数据。具体而言,当接收到的查询请求基于tcp协议时,从缓存系统中读取的、以及返回给请求方的数据均是二进制格式的数据;当接收到的查询请求是基于http(s)协议时,从缓存系统3中读取的、以及返回给请求方的数据均是json格式的数据。因为缓存系统3中预先缓存有上述二进制格式、json格式的数据,从缓存系统中读取的过程是直接读取的,而无需经过格式转换,从而可以有效提高解析效率。
在执行步骤S4之后,还包括:步骤S5,根据生存时间值判断该哈希地址对应的句柄标识解析结果是否过期:若过期,则删除该句柄标识解析结果,并返回空值;若未过期,则返回该句柄标识解析结果。
具体而言,在步骤S5中,若该哈希地址对应的存储单元中缓存有对应的句柄标识解析结果,则根据句柄标识解析结果对应的生存时间值(TTL),检验该句柄标识解析结果是否已经过期。若该句柄标识解析结果已经过期,则向用户返回空值(NULL);若该句柄标识解析结果未过期,则向用户返回对应的句柄标识解析结果。
另外地,在执行步骤S3时,若将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,查询哈希表,但未查询到所述关键字值对应的哈希地址时,可以根据句柄标识字符串查找到对应的一组句柄值,再使用索引值和类型值,在一组句柄值中进一步查询,以获得特定的句柄标识解析结果
【句柄标识解析系统】
另外,本实施方式提出了一种句柄标识解析系统,其结构如图5所示,具体包括处理器11以及与处理器11通信连接,至少部分用于提供缓存空间的存储器10。存储器10中存储有哈希表9,哈希表9经由所述处理器11读取和执行,能够将关键字值转换为对应的哈希地址。其中,关键字值配置为句柄标识字符串、索引值和类型值排列形成的字符串,哈希地址配置为句柄标识解析结果在缓存系统3中存储的地址。存储器10的缓存系统3包含多个与哈希地址对应的存储单元101、102,用于缓存句柄标识解析结果。
在哈希表9中,可以由关键字值计算出对应的哈希地址,将句柄标识解析结果缓存在缓存系统3的缓存数据库中该哈希地址对应的存储单元101、102中或者到哈希地址对应的存储单元101、102中读取相应的句柄标识解析结果。
综上所述,以上述方式缓存和查询句柄标识解析结果,在查询时能够用关键字值计算出对应的哈希地址,以哈希地址直接查询到对应的句柄标识解析结果。只需要一次哈希查询即可实现原本需要三次以上哈希查询方可达到的效果,有效地减少了句柄标识解析结果的缓存查询次数,降低了查询缓存时延,从而提高了整个系统业务处理的每秒查询率。
在本发明的实施方式中,存储器10和处理器11可以处于同一存储介质如DNS服务器、计算机存储介质等中,也可以分设与不同的硬件、软件或云端网络之中,换言之,上述的句柄标识解析系统可以由一个独立的DNS服务器、计算机等设备组成,也可以由多个硬件、软件、硬件软件以云端网络等一种或多种组合而成。
另外,需要说明的是,存储器10可包含非易失性存储器,例如只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、快闪存储器(FLASH)或能够在有或者没有应用电力的情况下存储程序指令或数据的任何其他装置。存储器10还可包括易失性存储器,例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM),还可使用其他类型的RAM来实现存储器10。存储器10可使用单个存储器模块或多个存储器模块来实现。虽然存储器10被描绘为与处理器11本地互连,但本领域的技术人员将认识到,在不偏离主题技术的范围的情况下存储器10可与处理器11分离地设置在不同的计算机中。
处理器11可以是通用处理器、处理器核心、多处理器、可重配置处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、离散硬件部件或者任何其他处理单元以及上述一个或多个处理器的组合。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种句柄标识解析缓存方法,其特征在于,包括:
步骤S1,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,计算所述关键字值对应的哈希地址,从而建立哈希表;
步骤S2,将句柄标识解析结果缓存到所述哈希地址对应的存储单元中,所述句柄标识解析结果至少包括二进制格式数据和由所述二进制格式数据转换得到的规定格式的数据。
2.如权利要求1所述的句柄标识解析缓存方法,其特征在于,
所述关键字值中的所述索引值为多个索引值排序形成的索引列表中的索引列表值;
所述关键字值中的所述类型值为多个类型值排序形成的类型列表中的类型列表值。
3.如权利要求1所述的句柄标识解析缓存方法,其特征在于,所述规定格式为json格式。
4.一种句柄标识解析查询方法,其特征在于,包括:
步骤S3,将句柄标识字符串、索引值和类型值排列形成的字符串作为关键字值,查询哈希表中与所述关键字值对应的哈希地址;
步骤S4,响应于基于规定协议的查询,从所述哈希地址对应的存储单元中读取句柄标识解析结果,所述句柄标识解析结果包括预先缓存的由二进制数据转换得到的规定格式的数据。
5.如权利要求4所述的句柄标识解析查询方法,其特征在于,
所述关键字值中的所述索引值为多个索引值排序形成的索引列表中的索引列表值;
所述关键字值中的所述类型值为多个类型值排序形成的类型列表中的类型列表值。
6.如权利要求4所述的句柄标识解析查询方法,其特征在于,还包括:
步骤S5,根据生存时间值判断所述句柄标识解析结果是否过期:
若过期,则删除所述句柄标识解析结果,并返回空值;
若未过期,则返回所述句柄标识解析结果。
7.如权利要求4所述的句柄标识解析查询方法,其特征在于,所述规定协议为http/https协议,所述规定格式为json格式。
8.一种句柄标识解析系统,其特征在于,包括:
处理器;
提供有缓存空间的存储器,与所述处理器通信连接;
所述存储器中还存储有哈希表,所述哈希表经由所述处理器读取和执行,能够将关键字值转换为对应的哈希地址,其中,
所述关键字值配置为句柄标识字符串、索引值和类型值排列形成的字符串,所述哈希地址配置为句柄标识解析结果在所述缓存空间中存储的地址,所述句柄标识解析结果至少包括二进制格式数据和由所述二进制格式数据转换得到的规定格式的数据。
9.如权利要求8所述的句柄标识解析系统,其特征在于,
所述关键字值中的所述索引值为多个索引值排序形成的索引列表中的索引列表值;
所述关键字值中的所述类型值为多个类型值排序形成的类型列表中的类型列表值。
CN202111494101.5A 2021-02-10 2021-12-08 句柄标识解析缓存方法、查询方法及其句柄标识解析系统 Pending CN113946587A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110184379.6A CN112817983A (zh) 2021-02-10 2021-02-10 句柄标识解析缓存方法、查询方法及其句柄标识解析系统
CN2021101843796 2021-02-10

Publications (1)

Publication Number Publication Date
CN113946587A true CN113946587A (zh) 2022-01-18

Family

ID=75865264

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110184379.6A Pending CN112817983A (zh) 2021-02-10 2021-02-10 句柄标识解析缓存方法、查询方法及其句柄标识解析系统
CN202111494101.5A Pending CN113946587A (zh) 2021-02-10 2021-12-08 句柄标识解析缓存方法、查询方法及其句柄标识解析系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110184379.6A Pending CN112817983A (zh) 2021-02-10 2021-02-10 句柄标识解析缓存方法、查询方法及其句柄标识解析系统

Country Status (1)

Country Link
CN (2) CN112817983A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361447A (zh) * 2022-08-09 2022-11-18 神州顶联科技有限公司 一种水运营计费设备的物联网网关数据处理方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412893B (zh) * 2022-10-19 2023-04-21 成都锐成芯微科技股份有限公司 低功耗蓝牙属性访问方法及低功耗蓝牙系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361447A (zh) * 2022-08-09 2022-11-18 神州顶联科技有限公司 一种水运营计费设备的物联网网关数据处理方法

Also Published As

Publication number Publication date
CN112817983A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
US6301614B1 (en) System and method for efficient representation of data set addresses in a web crawler
US7219160B1 (en) Method for fast network-aware clustering
Qiao et al. Fast Bloom filters and their generalization
US8521696B2 (en) Structure of an alternative evaluator for directory operations
CN112600868B (zh) 域名解析方法、域名解析装置及电子设备
CN113946587A (zh) 句柄标识解析缓存方法、查询方法及其句柄标识解析系统
CN102971732A (zh) 键/值存储器的集成分级查询处理的系统结构
CN103701957A (zh) Dns递归方法及其系统
CN103685583A (zh) 一种域名解析的方法和系统
CN111371920A (zh) Dns前端解析方法及系统
CN111586201A (zh) 域名解析系统、方法、设备及存储介质
EP3135021A1 (en) Method and system for identifying network resources
CN113949750B (zh) 句柄标识解析缓存方法、查询方法及句柄标识解析系统
JP6607044B2 (ja) サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム
CN112671943B (zh) 一种真实域名的探测装置
KR20120085375A (ko) 로그데이터 분석시스템
CN109495525B (zh) 网络组件、解析内容标识的方法和计算机可读存储介质
CN114124887B (zh) Dns服务器的视图查询方法、dns服务器及可读存储介质
JP3570606B2 (ja) データ検索装置および方法
CN114221934B (zh) 域名解析缓存方法、dns服务器及计算机可读存储介质
CN117692173A (zh) 请求报文的处理方法、系统及相关设备
CN116888941A (zh) 用于数据发现的域名系统
Dhakshinamurthy Restructuring DNS Log Data for Faster Querying and Optimizing Resource Usage on a Hadoop Cluster
CN116743442A (zh) 一种基于云计算的dns域名解析系统
CN117544592A (zh) 域名解析方法、装置、节点、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination