CN115858542B - 一种GeoIPv6树状索引方法、系统及电子设备 - Google Patents
一种GeoIPv6树状索引方法、系统及电子设备 Download PDFInfo
- Publication number
- CN115858542B CN115858542B CN202310193198.9A CN202310193198A CN115858542B CN 115858542 B CN115858542 B CN 115858542B CN 202310193198 A CN202310193198 A CN 202310193198A CN 115858542 B CN115858542 B CN 115858542B
- Authority
- CN
- China
- Prior art keywords
- bit
- tree
- geoipv6
- index
- node
- 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
-
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种GeoIPv6树状索引方法、系统及电子设备,解决了现有技术检索IPv6地址数据消耗内存多,检索时间长的问题。GeoIPv6树状索引方法,用于IPv6地址地理位置信息检索,包括步骤:将128位的IPv6地址中从第4位到第48位的公网网段部分取出。将45位公网网段按顺序拆分为5个字段,分别为13位、8位、8位、8位、8位。将13位字段作为根节点,每个8位字段依次作为下一级子节点,构成树状索引结构。每一条GeoIP数据的IPv6地址中只有不超过45位的网段信息记录在索引中,而且索引树最大深度不超过5层,不会随着数据量的增加而增加。适合应用在IPv6网络流量较大,并且对实时性能要求较高的场景中。
Description
技术领域
本申请涉及IPv6地址检索技术领域,尤其涉及一种GeoIPv6树状索引方法、系统及电子设备。
背景技术
随着IPv6地址的广泛应用,GeoIP数据检索迎来了新的挑战。由于IPv6地址空间相比IPv4要大得多,导致GeoIP数据检索的内存开销和时间开销都大幅增加,这一情况对于实时性要求较高使用场景或者内存资源比较紧张的小微设备来说,会成为性能瓶颈,影响用户体验质量。
现有的GeoIP技术方案中,在引入IPv6地址数据后,要么忍受额外的内存和时间开销带来的性能瓶颈;要么通过裁剪IPv6地址库数据的方式(如只保留中国城市的IPv6地址数据),来降低资源消耗,但这无疑会限定设备的应用场景。因此需要一种能够更合理更高效地利用内存资源节约额外开销,也能够快速地进行地址检索,不会随着地址数量的增加而降低检索性能的检索结构。
发明内容
本申请实施例提供一种GeoIPv6树状索引方法、系统及电子设备,解决了现有技术检索IPv6地址数据消耗内存多,检索时间长的问题。
一种GeoIPv6树状索引方法,用于IPv6地址地理位置信息检索,包括以下步骤:
将128位的IPv6地址中从第4位到第48位的公网网段部分取出。将45位公网网段按顺序拆分为5个字段,分别为13位、8位、8位、8位、8位。将13位字段作为根节点,每个8位字段依次作为下一级子节点,构成树状索引结构。
进一步地,还包含以下步骤:父节点满子节点且所有子节点的地理位置信息相同,则将该父节点的全部子节点删除并将地理位置信息标注在父节点。
进一步地,还包含以下步骤:父节点满子节且子节点地理位置信息有相同的部分,将相同的部分写入父节点。
进一步地,还包含以下步骤:
设置快查缓存索引表。
将单位时间查询频次高于设定阈值的IPv6地址写入快查缓存索引表。
将快查缓存索引表指向该IPv6地址对应的叶节点或中间节点。
进一步地,所述设定阈值包含百分比阈值和/或查询数量阈值。每分钟地址分布占比高于百分比阈值,写入快查缓存索引,和/或,每分钟查询次数高于查询数量阈值,写入快查缓存索引。
进一步地,还包含以下步骤:
设置索引老化时间。
查询频次低于设定阈值的时长大于索引老化时间,则将该条目从快查缓存索引表中删除。
进一步地,GeoIPv6树状索引方法,响应于IPv6地址,按照所述5个字段从树状索引结构的根节点向叶节点逐级检索。
本申请实施例还提供一种GeoIPv6树状索引系统,用于实现上述任意一项实施例所述方法,包含提取模块、拆分模块和构建模块。所述提取模块,用于提取128位的IPv6地址中从第4位到第48位共45位的公网网段并发送至拆分模块。所述拆分模块,用于将45位公网网段拆分为13位、8位、8位、8位、8位5个字段并发送至构架模块。所述构建模块,用于将5个字段构建成分层的树状结构。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项实施例所述的方法。
本申请实施例还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项实施例所述的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
每一条GeoIP数据的IPv6地址中只有不超过45位的网段信息记录在索引中,而且索引树最大深度不超过5层,不会随着数据量的增加而增加。适合应用在IPv6网络流量较大,并且对实时性能要求较高的场景中。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例一种GeoIPv6树状索引方法流程图;
图2为本申请实施例一种树状索引结构图;
图3为本申请实施例另一种树状索引结构图;
图4为本申请GeoIPv6查找树初始化实施例流程图;
图5为本申请GeoIPv6查找树检索实施例流程图;
图6为本申请实施例剪枝策略示意图;
图7为本申请实施例节点信息聚合策略示意图;
图8为本申请实施例快查缓存索引策略示意图;
图9是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一种GeoIPv6树状索引方法实施例流程图。
本申请实施例提供一种GeoIPv6树状索引方法,用于IPv6地址地理位置信息检索,包括以下步骤101~103:
步骤101、将128位的IPv6地址中从第4位到第48位共45位的公网网段部分取出。
IPv6地址特征分析:128位地址,前64位为网络段,后64位为主机段。
GeoIP只针对公网单播地址进行地理位置判定,公网单播地址具有如下特征:
前3位固定为“001”。
接下来45位是公网网段,决定了IPv6地址的地理位置信息。
接下来16位是本地站点内子网网段,用于本地划分多个子网时使用,和地理位置无关。
最后64位是接口ID,用于确定一个具体的网卡设备。
其中45位公网网段包含:
13位顶级汇聚网络ID。8位保留字段,用于将来顶级汇聚网络ID和下级网络ID长度的扩展,为了兼容将来的扩展方案,本发明中将此字段当作下级汇聚网络ID同等处理,进行索引的构建与检索,未使用时为全0。
24位下级汇聚网络ID。国家或城市的地址空间是按照网络前缀划分的。不同大小的IPv6地址空间对应不同长度的公网网段长度。不同国家或城市地址空间网络前缀包含的顶级汇聚网络ID长度固定为13位
不同国家或城市地址空间网络前缀包含的下级汇聚网络ID长度不固定,最大值为32位(8位保留+24位下级汇聚网络ID),长度越小对应的地址空间就越大。
树状索引结构设计:
IPv6地址的地理位置信息,由45位公网网段决定,所以树状索引结构只需要包含45位公网网段。
步骤102、将45位公网网段按顺序拆分为5个字段,分别为13位、8位、8位、8位、8位。
45位公网网段部分,按顺序拆分为:13位一级索引,8位二级索引,8位三级索引,8位四级索引,8位五级索引。
步骤103、将13位字段作为根节点,每个8位字段依次作为下一级子节点,构成树状索引结构。
需要说明的是,由于每个节点都是从IPv6地址中的公网网段中分出,因此每个节点都有可能包含地址位置信息条目。
图2为本申请实施例树状索引结构图。
根节点为一个数组,数组长度为8192(13位二进制最大值),组成树状结构的第一层节点。
例如,如图2所示,IPv6网段为2001::/16,45位公网网段前13位为0x0001对应第一层上0x0001节点的地址信息
第一层每个节点最多拥有256(8位二进制最大值)个子节点。
例如,如图2所示,IPv6网段为2003:00AB:A000::/40,45位公网网段前37位0x0003, 0x00, 0xAB, 0xA0即8位四级索引对应第四层上0xA0节点的地址信息。
再例如,IPv6网段为2003:00C8:A020::/48,45位公网网段45位0x0003, 0x00,0xC8 0xA0, 0x20即8位五级索引对应第五层上0x20节点的地址信息。
树状结构最多5层。
图3为本申请实施例另一种树状索引结构图。
如果一个IPv6网段对应的公网部分长度为13、21、29、37或45,那么它正好对应唯一一个叶节点,如图2所示。否则将对应多个叶节点,
例如,如图3所示,45位公网网段44位0x0003, 0x00,0xC8 0xA0, 0x20,由于最后一位不确定,因此对应第五层上0x20、0x21两个节点的地址信息。
需要说明的是,所述叶节点为树状索引结构中没有子节点的节点。本申请中叶节点可以出现在任意一层。
图4为本申请GeoIPv6查找树初始化实施例流程图。
GeoIPv6检索:
读取一条GeoIPv6数据,取出IPv6地址的第4位到第48位共45位的公网网段部分。
拆分45位公网网段部分为5个字段,依次为:
13位顶级汇聚网络ID,对应树状索引结构第一层节点。
8位保留字段,对应树状索引结构第二层节点。
下级汇聚网络ID前8位,对应树状索引结构第三层节点。
下级汇聚网络ID中间8位,对应树状索引结构第四层节点。
下级汇聚网络ID后8位,对应树状索引结构第五层节点。
根据5个字段,将地理位置信息插入到树状索引中。
图5为本申请GeoIPv6查找树检索实施例流程图。
例如,给定一个128位的IPv6地址,需要对其地理位置信息进行检索查询。
取出IPv6地址的第4位到第48位共45位的公网网段部分。
拆分45位公网网段部分为5个字段,使用5个字段作为索引值在树状结构中进行最长匹配检索。
检索结果返回:
如果命中一个节点,该节点标注了地理位置信息,则返回该地理位置信息。
如果命中一个节点,该节点未标注地理位置信息(该节点为中间节点,其子节点或子树拥有地理位置信息),则返回空。
如果未命中任意节点,则返回空。
图6为本申请实施例剪枝策略示意图。
进一步地,本申请方法还可包含以下步骤:
步骤104、当父节点满子节点且所有子节点的地理位置信息完全相同,则将该父节点的全部子节点删除并将地理位置信息标注在父节点。
步骤104运用了剪枝策略:如果一个父节点的拥有256子节点即满子节点,并且所有子节点的地理位置信息都相同,那么需要对其进行合并剪枝:1. 将子节点的位置信息标注在父节点上,2. 删除所有子节点。
剪枝可以减少索引结构的深度,提高检索效率,同时也可以节约内存使用量。
图7为本申请实施例节点信息聚合策略示意图。
在以上任意一个实施例基础上,本申请方法还可包含以下步骤:
步骤105、当父节点满子节且子节点地理位置信息不完全相同但均有相同的部分,例如相同的前缀,则将相同的部分写入父节点。
步骤105运用了节点信息聚合策略:如果某个节点具有满子节点,位置信息不全相同但内有相同的部分前缀,则可以进行相同部分信息的聚合。如图7中,所有子节点的位置信息都包含“Country B”,则将该信息写入到父节点中。这种信息的聚合,在特定检索中能够提高检索效率,如查询一个IPv6地址的Country信息时,不需要检索其子节点,减少检索深度。
图8为本申请实施例快查缓存索引策略示意图。
在以上任意一个实施例基础上,本申请方法还可还包含以下步骤:
步骤106、设置表结构快查缓存索引。
GeoIPv6在实际应用场景中,需要查询的IPv6地址的地理位置分布情况通常具有显著的特征。
举例一:某个提供在线音视频服务或者网络内容搜索服务的企业站点网络监控场景中,所有访问IP地址中可能有80%甚至更多的是来自国内。
举例二:某个跨国网络服务提供商,在不同的国家和地区通常会设置一个或多个站点,这些站点的访问IP中同样大部分是来自本地。
举例三:某个公司总部设在北京,有三个子公司分别设置在上海、南京、广州,位于总部的内部服务器的访问IP,集中分布于北京、上海、南京、广州等地。
基于上述IP地址地理位置分布的特征,本发明提出表结构的快查缓存索引方法,来进一步提高检索效率。
步骤107、将单位时间查询频次高于设定阈值的条目写入快查缓存索引表。
根据需求,选择IP地址段。
例如,采用静态索引的方式:由于查询频次高的IP地址会占用大量的检索资源,因此在一个特定站点中,优先将预期查询频次较高的IP地址段写入快查缓存索引,可以有效地减轻检索压力,提高检索效率。
设置所述设定阈值。
还可以选择用动态索引,例如,有些场景中无法预先得知IP地址地理位置分布情况,则在实际的使用过程进行动态调整,将地址分布密度高的条目写入快查缓存索引。
例如,所述设定阈值设置为百分比阈值和/或查询数量阈值。
每分钟地址分布占比高于百分比阈值,写入快查缓存索引。
例如,每分钟地址分布占1%以上的节点,写入快查缓存索引。
每分钟查询次数高于查询数量阈值,写入快查缓存索引。
比如每分钟查询次数100次以上的节点,写入快查缓存索引。
步骤108、将快查缓存索引表指向该IPv6地址对应的叶节点或中间节点。
将该IP地址对应的叶节点或中间节点存入快查缓存索引表,在地址检索时,系统会优先检索快查缓存索引表,若在快查缓存索引表中检索到目标,则不用进行树状索引的检索,降低了检索压力。
进一步地,还包含步骤:
快查缓存索引表项可以指向一个叶节点,也可以指向一个中间节点。如果一个城市的IP查询频次很高,则写入缓存索引;如果一个中节点(比如省份)查询频次很高,但其所有子节点(省内的多个城市)查询频次比较平均且都没超过缓存阈值,则将该中间节点写入缓存索引。
例如,如图8所示,IPv6地址2003:00AB:A0,和2003:00C8:A0被写入快查缓存索引表。当需要查询该IPv6地址的地理位置信息时,系统可以直接从快查缓存索引表中找到,并通过快查缓存索引表找到对应的节点并获取该节点的地址位置信息,IPv6地址2003:00AB:A0找到第四层的一个叶节点,得到Country B,City b1。IPv6地址2003:00C8:A0找到第四层的一个中间节点,没有找到相应的地址信息,这时候在通过树状结构索引向下层检索,知道该地址来自CountryB。
进一步地,还包含以下步骤:
步骤109、设置索引老化时间。
步骤110、查询频次低于设定阈值的时长大于索引老化时间,则将该条目从快查缓存索引表中删除。
步骤109和步骤110采用了快查缓存索引老化策略:IP地理位置分布可能会随着时间变化,快查缓存索引中的条目如果连续一段分钟的查询频次都低于阈值,则考虑将其进行老化处理。即将该条目从快查缓存索引表中删除。
本申请是针对IPv6地址地理位置检索的一种低消耗高性能解决方案。充分利用IPv6地址特征而设计了一种特殊的树状索引结构,在进行合理的剪枝之后,每一条GeoIP数据的IPv6地址中只有不超过45位的网段信息记录在索引中,而且索引树最大深度不超过5层,不会随着数据量的增加而增加。本方案适合应用在IPv6网络流量较大,并且对实时性能要求较高的场景中。
在上述实施例步骤的基础上构建了GeoIPv6树状索引,检索时,响应于IPv6地址,根据所述5个字段从根节点开始在5层树状索引结构中逐级检索。
本申请实施例还提供一种GeoIPv6树状索引系统,用于实现上述任意一项实施例所述方法,包含提取模块、拆分模块和构建模块。
所述提取模块,用于提取128位的IPv6地址中从第4位到第48位共45位的公网网段并发送至拆分模块。
所述拆分模块,用于将45位公网网段拆分为13位、8位、8位、8位、8位五个字段并发送至构建模块。
所述构建模块,用于将五个字段构建成分层的树状索引结构。
进一步地,所述构建模块还用于完成分解树状结构的剪枝策略和信息聚合策略;进一步地,所述构建模块还用于构建快查缓存索引表,并且与构建模块中的分层结构连接。
进一步地,还包含检索模块,所述检索模块用于响应IPv6地址,根据所述5个字段从树状索引结构的根节点向叶节点逐级检索;优选地,先检索快查缓存索引表。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101和步骤102的执行主体可以为设备1,步骤103的执行主体可以为设备2;又比如,步骤101的执行主体可以为设备1,步骤102和步骤103的执行主体可以为设备2;等等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
因此,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请中任一实施例所述的方法。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器(ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
图9是本申请实施例提供的一种电子设备的结构示意图。
进一步地,本申请还提出一种电子设备(或计算设备),包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请任一实施例所述的方法。
所显示的电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。其包括:一个或多个处理器620;存储装置610,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器620运行,使得所述一个或多个处理器620实现本申请实施例所提供的GeoIPv6树状索引方法,该方法包括本申请实施例101~103的步骤,进一步地,还可包含步骤104~107中至少一个步骤;在步骤107基础上,进一步地,还可包含步骤108~110;在检索时,按照所述GeoIPv6树状索引结构,响应于输入的IPv6地址,根据所述5个字段从树状索引结构的根节点向叶节点逐级检索。
该电子设备600还包含输入装置630和输出装置640;电子设备中的处理器620、存储装置610、输入装置630和输出装置640可以通过总线或其他方式连接,图中以通过总线650连接为例。
通过输入装置输入检索范围内的IPv6地址送至处理器,经过处理器构建GeoIPv6树状索引结构,保存在所述存储装置中,进一步地,通过输入装置输入待检索的IPv6地址送至处理器,根据构建的GeoIPv6树状索引结构进行检索,将得到的结果通过输出装置输出。
例如,查询一个IPv6地址先将128位地址中从第4位到第48位共45位的公网网段部分取出,在快查缓存索引表中检索该地址,若找到该地址,则直接找到该地址在快查缓存索引表中连接的节点获得地址地理信息。若未在快查缓存索引表中找到,则将45位公网网段部分按顺序拆分为5个字段,分别为13位、8位、8位、8位、8位。按照13位字段作为根节点,每个8位字段引作为一级子节点的树状结构逐级查询,直到找到该IPv6地址对应的叶节点,找到相应的地址信息。
存储装置610作为一种计算机可读存储介质,可用于存储软件程序、计算机可运行程序以及模块单元,如本申请实施例中的云底高度的确定方法对应的程序指令。存储装置610可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置610可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件,或其他非易失性固态存储器件。在一些实例中,存储装置610可进一步包括相对于处理器620远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏、扬声器等电子设备。
还需要说明的是,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所做的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种GeoIPv6树状索引方法,用于IPv6地址地理位置信息检索,其特征在于,包括以下步骤:
将128位的IPv6地址中从第4位到第48位的公网网段部分取出;
将45位公网网段按顺序拆分为5个字段,分别为13位、8位、8位、8位、8位;
将13位字段作为根节点,每个8位字段依次作为下一级子节点,构成树状索引结构;
设置快查缓存索引表;
将单位时间查询频次高于设定阈值的IPv6地址写入快查缓存索引表;
将快查缓存索引表指向该IPv6地址对应的叶节点或中间节点;
设置索引老化时间;
查询频次低于设定阈值的时长大于索引老化时间,则将该条目从快查缓存索引表中删除。
2.根据权利要求1所述GeoIPv6树状索引方法,其特征在于,还包含步骤:
父节点满子节点且所有子节点的地理位置信息相同,则将该父节点的全部子节点删除并将地理位置信息标注在父节点。
3.根据权利要求1所述GeoIPv6树状索引方法,其特征在于,还包含步骤:
父节点满子节点且子节点地理位置信息有相同的部分,将相同的部分写入父节点。
4.根据权利要求1所述GeoIPv6树状索引方法,其特征在于,所述设定阈值包含百分比阈值和/或查询数量阈值;
每分钟地址分布占比高于百分比阈值,写入快查缓存索引;和/或,
每分钟查询次数高于查询数量阈值,写入快查缓存索引。
5.根据权利要求1-4任意一项所述GeoIPv6树状索引方法,其特征在于,响应于IPv6地址,按照所述5个字段从树状索引结构的根节点向叶节点逐级检索。
6.一种GeoIPv6树状索引系统,其特征在于,用于实现权利要求1-5任意一项所述方法,包含提取模块、拆分模块和构建模块;
所述提取模块,用于提取128位的IPv6地址中从第4位到第48位共45位的公网网段并发送至拆分模块;
所述拆分模块,用于将45位公网网段拆分为13位、8位、8位、8位、8位5个字段并发送至构架模块;
所述构建模块,用于将5个字段构建成分层的树状结构。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
8.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310193198.9A CN115858542B (zh) | 2023-03-03 | 2023-03-03 | 一种GeoIPv6树状索引方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310193198.9A CN115858542B (zh) | 2023-03-03 | 2023-03-03 | 一种GeoIPv6树状索引方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115858542A CN115858542A (zh) | 2023-03-28 |
CN115858542B true CN115858542B (zh) | 2023-06-13 |
Family
ID=85659806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310193198.9A Active CN115858542B (zh) | 2023-03-03 | 2023-03-03 | 一种GeoIPv6树状索引方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858542B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009059534A1 (fr) * | 2007-11-02 | 2009-05-14 | Huawei Technologies Co., Ltd. | Procédé et dispositif de recherche d'acheminement en réseau privé virtuel |
CN105357334A (zh) * | 2015-11-21 | 2016-02-24 | 广州咨元信息科技有限公司 | 一种基于ipv6地址划分的ipv6地址存储及快速查询方法 |
US9537972B1 (en) * | 2014-02-20 | 2017-01-03 | Fireeye, Inc. | Efficient access to sparse packets in large repositories of stored network traffic |
CN110347685A (zh) * | 2019-06-28 | 2019-10-18 | 华中科技大学 | 基于字典树的索引结构、数据查询优化方法、主存管理器 |
CN115623480A (zh) * | 2022-09-19 | 2023-01-17 | 汪军 | 一种自组织网络系统、方法和电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061712A (en) * | 1998-01-07 | 2000-05-09 | Lucent Technologies, Inc. | Method for IP routing table look-up |
US8782091B2 (en) * | 2006-08-28 | 2014-07-15 | International Business Machines Corporation | Method and system for addressing a node in tree-like data structure |
CN101841573B (zh) * | 2010-01-20 | 2013-08-07 | 中国科学院计算机网络信息中心 | 互联网地址信息处理方法、装置以及互联网系统 |
CN103107945B (zh) * | 2013-01-10 | 2016-01-27 | 中国科学院信息工程研究所 | 一种快速查找ipv6路由的系统及方法 |
CN103561133B (zh) * | 2013-11-19 | 2016-08-24 | 中国科学院计算机网络信息中心 | 一种ip地址归属信息索引方法及快速查询方法 |
-
2023
- 2023-03-03 CN CN202310193198.9A patent/CN115858542B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009059534A1 (fr) * | 2007-11-02 | 2009-05-14 | Huawei Technologies Co., Ltd. | Procédé et dispositif de recherche d'acheminement en réseau privé virtuel |
US9537972B1 (en) * | 2014-02-20 | 2017-01-03 | Fireeye, Inc. | Efficient access to sparse packets in large repositories of stored network traffic |
CN105357334A (zh) * | 2015-11-21 | 2016-02-24 | 广州咨元信息科技有限公司 | 一种基于ipv6地址划分的ipv6地址存储及快速查询方法 |
CN110347685A (zh) * | 2019-06-28 | 2019-10-18 | 华中科技大学 | 基于字典树的索引结构、数据查询优化方法、主存管理器 |
CN115623480A (zh) * | 2022-09-19 | 2023-01-17 | 汪军 | 一种自组织网络系统、方法和电子设备 |
Non-Patent Citations (5)
Title |
---|
AN IPv6 Routing Table Lookup Algorithm In Softwore And Asic By Designing A High-level Synthesis System;MD Iftakharul Islam;Computer Science;全文 * |
IPv6网络接入控制方法研究与实现;孙文胜等;电子器件(05);全文 * |
Offset Addressing Approach to Memory-Efficent IP Addre Lookup;Kung Huang等;IEEE Infocom 2011;全文 * |
一种基于Trie的IPv6路由查找方案;孙为等;计算机应用与软件(07);全文 * |
一种新的快速IPv6路由查找算法;华泽;;现代计算机(专业版)(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115858542A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635343B (zh) | 应用于dns查询的ip地址列表存储和查询方法 | |
US6490592B1 (en) | Method of and apparatus for generating a tree data structure supporting longest match lookup | |
US9269411B2 (en) | Organizing data in a hybrid memory for search operations | |
US20100058027A1 (en) | Method for selecting hash function, method for storing and searching routing table and devices thereof | |
EP2560327B1 (en) | Routing table establishment method and device | |
Mun et al. | New approach for efficient ip address lookup using a bloom filter in trie-based algorithms | |
CN109804605B (zh) | 压缩转发表 | |
CN106506729B (zh) | 一种基于dns视图的dns策略解析方法及装置 | |
CN102945249B (zh) | 一种策略规则匹配查询树生成方法、匹配方法及装置 | |
CN105141525B (zh) | IPv6路由查找方法及装置 | |
CN103561133A (zh) | 一种ip地址归属信息索引方法及快速查询方法 | |
US20120246163A1 (en) | Hash table storage and search methods and devices | |
CN103957282B (zh) | 一种域内终端用户域名解析加速系统及其方法 | |
WO2013078644A1 (zh) | 路由前缀存储方法、装置及路由地址查找方法、装置 | |
CN109921995A (zh) | 一种配置地址表的方法、fpga和应用该fpga的网络设备 | |
WO2017000893A1 (zh) | Ip路由查找 | |
CN106416152A (zh) | 一种查找装置、查找配置方法和查找方法 | |
CN104408067A (zh) | 一种多树结构的数据库设计方法及装置 | |
US20230041395A1 (en) | Method and Device for Processing Routing Table Entries | |
CN115858542B (zh) | 一种GeoIPv6树状索引方法、系统及电子设备 | |
Song et al. | Packet classification using coarse-grained tuple spaces | |
Hsieh et al. | A classified multisuffix trie for IP lookup and update | |
WO2020248690A1 (zh) | 报文匹配查表方法、系统、存储介质和终端 | |
CN117435912A (zh) | 基于网络数据包属性值长短特征的数据包索引与检索方法 | |
CN103078968B (zh) | 域名查询方法、ip分族方法、装置和设备 |
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 |