CN110716941B - 一种handle标识解析系统及数据查询方法 - Google Patents
一种handle标识解析系统及数据查询方法 Download PDFInfo
- Publication number
- CN110716941B CN110716941B CN201910994448.2A CN201910994448A CN110716941B CN 110716941 B CN110716941 B CN 110716941B CN 201910994448 A CN201910994448 A CN 201910994448A CN 110716941 B CN110716941 B CN 110716941B
- Authority
- CN
- China
- Prior art keywords
- hash table
- result
- memory pool
- hash
- storing
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开一种HANDLE标识解析系统及数据查询方法,所述系统包括一个容量为X的HASH表,HASH表中携带一个记录每个HASH节点最近命中时间的LRU链表;一个内存池,所述HASH表中根据HANDLE名称字符串的HASH结果值决定位置,在此位置存放对应内存池中的对应HANDLE结果的地址指针;内存池中存放HANDLE标识解析结果报文。本系统及方法针对现有HANDLE标识解析系统,在大批量查询请求的情况下查询外部数据库速度较慢的问题进行改进。
Description
技术领域
本发明涉及一种提升HANDLE标识解析系统数据查询速度的方法,涉及通信技术领域。
背景技术
HANDLE标识解析系统由TCP/IP的联合发明人、有“互联网之父”之称的RobertKahn博士发明,核心系统由美国国家创新研究所(CNRI)开发。标识可以理解为用于识别不同物品、实体、物联网对象的名称标记,可以是由数字、字母、符号、文字等以一定的规则组成的字符串。标识的本质是用于识别对象的技术(包含实体对象、虚拟数字对象等),以便各类信息处理系统、资源管理系统、网络管理系统对目标对象进行相关管理和控制。在实际使用中,用户通过向HANDLE标识解析系统发送查询请求,来获得需要查询的HANDLE标识的详细信息。
对于HANDLE标识的详细信息数据,目前HANDLE标识解析系统中普遍使用的是数据库存储方案,使用的数据库主要有三种:1、Berkeley Database;2、Mysql Database;3、PostgreSQL Database。这三种数据库都属于HANDLE标识解析系统外部数据库存储方式。当HANDLE标识解析系统接收到客户的查询请求之后,需要去外部数据库中查找结果,然后将结果条目拷贝到程序内存中,再组装成响应报文返回给客户。
目前HANDLE标识解析系统普遍采用的数据查询方案需要到外部数据库中进行结果查询和结果拷贝,这一过程会受到外部数据库性能和硬件IO性能影响,耗费较长时间,从而导致系统的整体性能不高。在大量用户同时查询的情况下,HANDLE标识解析系统需要大量的查询外部数据库,当超过外部数据库响应能力时候,查询超时会导致系统给用户返回服务器太忙无法处理请求(RC_SERVER_BUSY)的结果。这样的结果对于客户来说是无效的结果,给客户带来较差的HANDLE标识解析系统的服务体验。
发明内容
为了克服上述问题,本发明针对现有HANDLE标识解析系统,在大批量查询请求的情况下查询外部数据库速度较慢的问题进行改进。
本发明提供以下技术方案:HANDLE标识解析系统,所述系统包括,
一个容量为X的HASH表,HASH表中携带一个记录每个HASH节点最近命中时间的LRU链表;
一个内存池,所述HASH表中根据HANDLE名称字符串的HASH结果值决定位置,在此位置存放对应内存池中的对应HANDLE结果的地址指针;内存池中存放HANDLE标识解析结果报文。
进一步的,所述内存池的容量为Y,且Y可线性增长。
更进一步的,所述LRU链表存储对应HANDLE标识在系统运行中最后命中使用的时间。
本发明还提供基于上述HANDLE标识解析系统的数据查询方法,所述查询方法包括以下步骤:
步骤一,接收查询请求,系统查询HASH表;
步骤二,如果查询到对应条目则依照场景三中的过程将完整网络报文发送给客户;如果未查询到对应条目,则系统按照现有查询方式去外部数据库中查询结果;判断HASH表中是否有空闲节点;
步骤三,如果所述HASH表中有空闲节点则则依照场景一中的过程将完整网络报文发送给客户;
步骤四,如果所述HASH表中没有空闲节点,则依照场景二中的过程将完整网络报文发送给客户。
进一步的,所述场景二具体为,HASH表中经没有空闲节点,
步骤2.1,将LRU链表中最早命中的结果从HASH表、内存池和LRU链表中删除;
步骤2.2,将外部数据库中查询到的结果存入内存池中,并将结果在内存池中的指针存入HASH表中,在HASH表的链表中记录此条结果的最后命中时间;
步骤2.3,将结果返回给用户。
进一步的,所述场景三具体为,
步骤3.1,根据对应条目中的指针信息在内存池中取出响应结果报文,加上网络头和IP头信息组装成完整网络报文,立刻发送给客户;
步骤3.2,根据HASH表中的指针信息去LRU链表中找到对应时间信息,更新最后命中时间。
进一步的,所述场景一具体为,HASH表中有空闲节点,
步骤1.1,将结果存入内存池中,并将结果在内存池中的位置以指针形式存入HASH表中,在HASH表的LRU链表中记录此条结果的生存期TTL值和最后命中时间;
步骤1.2,将结果返回给用户。
与现有技术相比,本发明具有以下优点:
在HANDLE标识解析系统中增加内存池存储大量热点数据,减少查询外部数据库的操作。减少查询外部数据库以及从外部数据库中把结果拷贝到HANDLE标识解析系统中的等待时间。实现HANDLE标识解析系统在大量查询的情况下,快速查找到结果数据。
附图说明
图1为本发明HANDLE标识解析系统架构图;
图2为HASH表有空闲节点时查询入表流程图;
图3为HASH表无空闲节点时查询入表流程图;
图4为命中HASH表时流程图。
具体实施方式
下面将结合本发明实施例的附图,对本发明中实施例的技术方案进行描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
改造后架构如图1所示,在HANDLE标识解析系统启动时候,创建一个X大小的HASH表,X值可以根据实际需求和硬件环境由配置文件灵活设置,并且HASH表中携带一个记录每个HASH节点最近命中时间的LRU链表。申请一块Y大小的可线性增长的内存池,Y的初始值和线性增长值可以根据实际需求和硬件环境由配置文件灵活设置。HASH表中根据HANDLE名称字符串的HASH结果值决定位置,在此处存放对应内存池中的对应HANDLE结果的地址指针。内存池中存放HANDLE标识解析结果报文。
实施例2
本发明还提供基于上述HANDLE标识解析系统的数据查询方法,所述查询方法包括以下步骤:
步骤一,接收查询请求,系统查询HASH表;
步骤二,如果查询到对应条目则依照场景三中的过程将完整网络报文发送给客户;如果未查询到对应条目,则系统按照现有查询方式去外部数据库中查询结果;判断HASH表中是否有空闲节点;
步骤三,如果所述HASH表中有空闲节点则则依照场景一中的过程将完整网络报文发送给客户;
步骤四,如果所述HASH表中没有空闲节点,则依照场景二中的过程将完整网络报文发送给客户。
应用场景一:系统刚启动不久,HASH表中无此条HANDLE请求的结果,并且HASH表中有空余位置。
具体实现如图2所示,当接收到查询请求后,系统先去HASH表中查询,未找到对应条目。然后系统按照现有查询方式去外部数据库中查询结果,获得结果后,判断得到HASH表中有空闲节点。将结果存入内存池中,并将结果在内存池中的位置以指针形式存入HASH表中,在HASH表的LRU链表中记录此条结果的生存期TTL值和最后命中时间。将结果返回给用户。
应用场景二:系统运行一段时间后,HASH表中无此条HANDLE请求的结果,并且HASH表中已经没有空余位置。
具体实现如图3所示,当接收到查询请求后,系统先去HASH表中查询,未找到对应条目。然后系统按照现有查询方式去外部数据库中查询结果,获得结果后,判断得到HASH表中已经没有空闲节点。将LRU链表中最早命中的结果从HASH表、内存池和LRU链表中删除。将外部数据库中查询到的结果存入内存池中,并将结果在内存池中的指针存入HASH表中,在HASH表的链表中记录此条结果的最后命中时间。将结果返回给用户。
应用场景三:系统运行一段时间后,HASH表中存在HANDLE请求的结果。
具体实现如图4所示,当接收到查询请求后,系统先去HASH表中查询,找到对应条目。根据对应条目中的指针信息去内存池中取出响应结果报文,加上网络头和IP头信息组装成完整网络报文,立刻发送给客户。根据HASH表中的指针信息去LRU链表中找到对应时间信息,更新最后命中时间。
根据上面描述,使用本方法的HANDLE标识解析系统架构改变为:在原生HANDLE标识解析系统基础上增加内存池缓存机制。此机制由HASH表、内存池和LRU链表组合而成。HASH表根据HANDLE名称的HASH值决定此条HANDLE标识在HASH表中的位置,这里存储了指向内存池和LRU链表的指针。内存池中存储了完整的HANDLE标识解析结果报文。LRU链表存储了此条HANDLE标识在系统运行中最后命中使用的时间,为HASH表填满后替换热点HANDLE标识做判断依据。
在大量查询请求的情况下,热点数据的查询业务全部处于场景三。这个场景不需要进行外部数据库的查询和结果数据的跨应用拷贝,只需要在HANDLE标识解析系统所管理的内存中进行查询和拷贝数据,极大提升了HANDLE标识解析系统中结果数据的查询速度。
本发明创造所述的应用方式可根据实际情况进行调整,并不是用来限制发明创造。以上对本发明所提供的技术方案进行了详细介绍;本实施例的说明只是用于帮助理解本发明的方法。本发明所述的应用方式可根据实际情况进行调整,并不是用来限制本发明。
Claims (7)
1.HANDLE标识解析系统,其特征在于,所述系统包括:
一个容量为X的HASH表,所述HASH表中携带一个记录每个HASH节点最后命中时间的LRU链表,所述HASH表中根据HANDLE名称字符串的HASH结果值决定位置,在此位置存放对应内存池中的对应HANDLE结果的地址指针;
一个内存池,所述内存池中存放HANDLE标识解析结果报文。
2.根据权利要求1所述的HANDLE标识解析系统,其特征在于,所述内存池的容量为Y,且内存池的容量线性增长。
3.根据权利要求1所述的HANDLE标识解析系统,其特征在于,所述LRU链表存储对应HANDLE标识在系统运行中最后命中时间。
4.HANDLE标识解析系统的数据查询方法,其特征在于,所述查询方法包括以下步骤:
步骤一,接收查询请求,系统查询HASH表;
步骤二,如果查询到对应条目则依照场景三中的过程将完整网络报文发送给客户;所述场景三根据对应条目的指针信息直接在内存池中取出结果;如果未查询到对应条目,则系统按照现有查询方式去外部数据库中查询结果;判断HASH表中是否有空闲节点;
步骤三,如果所述HASH表中有空闲节点则依照场景一中的过程将完整网络报文发送给客户;所述场景一将结果存入内存池,并将结果在内存池中的位置以指针形式存入HASH表中;
步骤四,如果所述HASH表中没有空闲节点,则依照场景二中的过程将完整网络报文发送给客户;将LRU链表中最早命中的结果从HASH表、内存池和LRU链表中删除,再将结果存入内存池,并将结果在内存池中的位置以指针形式存入HASH表中。
5.根据权利要求4所述的HANDLE标识解析系统的数据查询方法,其特征在于,所述场景二具体为,HASH表中没有空闲节点,
步骤2.1,将LRU链表中最早命中的结果从HASH表、内存池和LRU链表中删除;
步骤2.2,将外部数据库中查询到的结果存入内存池中,并将结果在内存池中的指针存入HASH表中,在HASH表的链表中记录此条结果的最后命中时间;
步骤2.3,将结果返回给用户。
6.根据权利要求4所述的HANDLE标识解析系统的数据查询方法,其特征在于,所述场景三具体为,
步骤3.1,根据对应条目中的指针信息在内存池中取出响应结果报文,加上网络头和IP头信息组装成完整网络报文,立刻发送给客户;
步骤3.2,根据HASH表中的指针信息去LRU链表中找到对应时间信息,更新最后命中时间。
7.根据权利要求4所述的HANDLE标识解析系统的数据查询方法,其特征在于,所述场景一具体为,HASH表中有空闲节点,
步骤1.1,将结果存入内存池中,并将结果在内存池中的位置以指针形式存入HASH表中,在HASH表的LRU链表中记录此条结果的生存期TTL值和最后命中时间;
步骤1.2,将结果返回给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994448.2A CN110716941B (zh) | 2019-10-18 | 2019-10-18 | 一种handle标识解析系统及数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994448.2A CN110716941B (zh) | 2019-10-18 | 2019-10-18 | 一种handle标识解析系统及数据查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716941A CN110716941A (zh) | 2020-01-21 |
CN110716941B true CN110716941B (zh) | 2023-06-27 |
Family
ID=69211895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910994448.2A Active CN110716941B (zh) | 2019-10-18 | 2019-10-18 | 一种handle标识解析系统及数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716941B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708322A (zh) * | 2019-10-12 | 2020-01-17 | 北京工业大学 | 一种工业互联网标识解析系统代理服务的实现方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681183A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 一种标识网内识别用户的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255637B2 (en) * | 2010-09-27 | 2012-08-28 | Infinidat Ltd. | Mass storage system and method of operating using consistency checkpoints and destaging |
CN103810115B (zh) * | 2012-11-15 | 2017-10-13 | 深圳市腾讯计算机系统有限公司 | 一种内存池的管理方法和装置 |
-
2019
- 2019-10-18 CN CN201910994448.2A patent/CN110716941B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681183A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 一种标识网内识别用户的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110716941A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11388251B2 (en) | Providing access to managed content | |
CN110324177B (zh) | 一种微服务架构下的服务请求处理方法、系统及介质 | |
US7987217B2 (en) | Transaction-aware caching for document metadata | |
US7469260B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
CN111386522B (zh) | 用于数据存储的系统和方法 | |
US7203709B2 (en) | Transaction-aware caching for access control metadata | |
EP1589691B1 (en) | Method, system and apparatus for managing computer identity | |
EP3557841A1 (en) | Dns attack defense method, apparatus and system | |
JPH11296426A (ja) | 記憶域空間の節約方法、オブジェクトの管理方法及び製造物 | |
US11755556B2 (en) | Method, device, and computer program product for managing storage system | |
CN109766318B (zh) | 文件读取方法及装置 | |
CN109309706B (zh) | 在云局域网的存储系统间共享指纹和数据块的方法和系统 | |
US8015195B2 (en) | Modifying entry names in directory server | |
US20240028583A1 (en) | Distributed data processing | |
CN110716941B (zh) | 一种handle标识解析系统及数据查询方法 | |
US11080239B2 (en) | Key value store using generation markers | |
WO2020215580A1 (zh) | 一种分布式全局数据去重方法和装置 | |
WO2021037072A1 (zh) | 一种缓存信息的更新方法、装置、设备及介质 | |
CN113271359A (zh) | 刷新缓存数据的方法、装置、电子设备和存储介质 | |
CN116634017B (zh) | 一种基于数字对象的标识解析数据缓存方法与装置 | |
CN108241685B (zh) | 数据查询的方法和查询客户端 | |
US20150019755A1 (en) | Data-centric communications system, node, and data forwarding method | |
CN111597259A (zh) | 数据存储系统、方法、装置、电子设备及存储介质 | |
US20200311132A1 (en) | Key value store using change values for data properties | |
CN113010373A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |