CN113364688A - 一种路由同步的方法、装置、电子设备及可读存储介质 - Google Patents
一种路由同步的方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113364688A CN113364688A CN202110721417.7A CN202110721417A CN113364688A CN 113364688 A CN113364688 A CN 113364688A CN 202110721417 A CN202110721417 A CN 202110721417A CN 113364688 A CN113364688 A CN 113364688A
- Authority
- CN
- China
- Prior art keywords
- routing
- routing table
- table entry
- sub
- target
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请属于通信技术领域,公开了一种路由同步的方法、装置、电子设备及可读存储介质,该方法包括,确定接收到路由更新事件时,获取路由更新事件中的更新参数信息;从多个路由子表中,获取更新参数信息对应设置的目标路由子表;在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项;根据更新参数信息,对目标路由表项进行更新;将更新后的目标路由表项,同步至路由管理设备的内核态。这样,提高了检索效率以及同步效率。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种路由同步的方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的发展,网络系统的网络结构的复杂性也越来越高。在大型的网络系统中,通常通过路由管理设备,对网络系统中的路由表进行管理,以保障网络的正常通信。
现有技术下,在接收到路由更新事件时,路由管理设备中的用户态通常将用户态的路由表更新,并将更新后的路由表中的路由表项批量同步至内核态。但是,采用这种方式,路由同步的效率较低。
发明内容
本申请实施例的目的在于提供一种路由同步的方法、装置、电子设备及可读存储介质,用以在将用户态的路由表与内核态的路由表进行同步时,提高路由同步的效率。
一方面,提供一种路由同步的方法,应用于路由管理设备的用户态,包括:
确定接收到路由更新事件时,获取路由更新事件中的更新参数信息;
从多个路由子表中,获取更新参数信息对应设置的目标路由子表,其中,路由子表中的路由表项是将用户态的路由表中的路由表项进行分类后获得的;
在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项;
根据更新参数信息,对目标路由表项进行更新;
将更新后的目标路由表项,同步至路由管理设备的内核态。
在上述实现过程中,将路由表中的路由表项分类划分,获得多个路由子表,这样,在接收到路由更新事件后,仅在目标路由子表中进行检索,提高了检索效率,以及仅将更新的目标路由表项同步至内核态,提高了同步效率。
一种实施方式中,在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项,包括:
在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索;
判断检索结果是否为非空,若是,则将检索获得的路由表项,确定为目标路由表项;
否则,确定当前的检索次数,若确定检索次数为指定次数,则根据路由更新事件,在目标路由子表中创建一个新的路由表项,并将新的路由表项,确定为目标路由表项,否则,确定路由同步完成。
在上述实现过程中,采用指定标记的方式,避免无效的检索,提高了检索效率。
一种实施方式中,在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项,包括:
若检索获得多个路由表项,则将检索获得的多个路由表项中的一个路由表项,确定为目标路由表项;
在将更新后的目标路由表项,同步至路由管理设备的内核态之后,还包括:
将针对目标路由表项中设置的指定标记,修改为非指定标记,执行在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索的步骤。
在上述实现过程中,目标路由表项同步后,将目标路由表项的指定标记进行修改,从而避免了后续的无效检索。
一种实施方式中,在根据更新参数信息,对目标路由表项进行更新之后,还包括:
根据各路由子表之间的索引关系,确定目标路由表项,在目标路由子表之外的中的关联路由表项;
根据更新后的目标路由表项,对确定出的关联路由表项进行更新。
在上述实现过程中,通过索引关系,实现了跨表更新,提高了更新效率。
一种实施方式中,将更新后的目标路由表项,同步至路由管理设备的内核态,包括:
根据目标路由表项,确定路由方式;
若确定路由方式为直连路由,则将更新后的目标路由表项,同步至路由管理设备的内核态;
若确定路由方式为回环路由,则向内核态发送路由更新指令,并将更新后的目标路由表项同步至内核态;其中,路由更新指令用于指示内核态将更新后的目标路由表项添加到内核态中的静态路由表中。
在上述实现过程中,仅将更新的目标路由表项同步至内核态,提高了同步效率。
一方面,提供一种路由同步的装置,设置于路由管理设备的用户态中,包括:
接收单元,用于确定接收到路由更新事件时,获取路由更新事件中的更新参数信息;
获取单元,用于从多个路由子表中,获取更新参数信息对应设置的目标路由子表,其中,路由子表中的路由表项是将用户态的路由表中的路由表项进行分类后获得的;
检索单元,用于在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项;
更新单元,用于根据更新参数信息,对目标路由表项进行更新;
同步单元,用于将更新后的目标路由表项,同步至路由管理设备的内核态。
一种实施方式中,检索单元用于:
在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索;
判断检索结果是否为非空,若是,则将检索获得的路由表项,确定为目标路由表项;
否则,确定当前的检索次数,若确定检索次数为指定次数,则根据路由更新事件,在目标路由子表中创建一个新的路由表项,并将新的路由表项,确定为目标路由表项,否则,确定路由同步完成。
一种实施方式中,检索单元用于:
若检索获得多个路由表项,则将检索获得的多个路由表项中的一个路由表项,确定为目标路由表项;
同步单元还用于:
将针对目标路由表项中设置的指定标记,修改为非指定标记,执行在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索的步骤。
一种实施方式中,更新单元还用于:
根据各路由子表之间的索引关系,确定目标路由表项,在目标路由子表之外的中的关联路由表项;
根据更新后的目标路由表项,对确定出的关联路由表项进行更新。
一种实施方式中,同步单元用于:
根据目标路由表项,确定路由方式;
若确定路由方式为直连路由,则将更新后的目标路由表项,同步至路由管理设备的内核态;
若确定路由方式为回环路由,则向内核态发送路由更新指令,并将更新后的目标路由表项同步至内核态;其中,路由更新指令用于指示内核态将更新后的目标路由表项添加到内核态中的静态路由表中。
一方面,提供了一种电子设备,包括处理器以及存储器,存储器存储有计算机可读取指令,当计算机可读取指令由处理器执行时,运行如上述任一种路由同步的各种可选实现方式中提供的方法的步骤。
一方面,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时运行如上述任一种路由同步的各种可选实现方式中提供的方法的步骤。
本申请实施例提供的一种路由同步的方法、装置、电子设备及可读存储介质中,确定接收到路由更新事件时,获取路由更新事件中的更新参数信息;从多个路由子表中,获取更新参数信息对应设置的目标路由子表,其中,路由子表中的路由表项是将用户态的路由表中的路由表项进行分类后获得的;在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项;根据更新参数信息,对目标路由表项进行更新;将更新后的目标路由表项,同步至路由管理设备的内核态。这样,在接收到路由更新事件后,仅在目标路由子表中进行检索,提高了检索效率,以及仅将更新的目标路由表项同步至内核态,提高了同步效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种路由同步的方法的实施流程图;
图2为本申请实施例提供的一种路由子表的索引关系的示意图;
图3为本申请实施例提供的另一种路由子表的索引关系的示意图;
图4为本申请实施例提供的一种路由同步的方法的详细实施流程图;
图5为本申请实施例提供的一种路由同步的装置的结构框图;
图6为本申请实施方式中一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
首先对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端设备:可以是移动终端、固定终端或便携式终端,例如,移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
路由表:即路由择域信息库,是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径以及路径的路由度量值等。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由的选择。
路由表项:目的地址、网络掩码、路由优先级(pre)、路由开销、输出接口以及下一跳IP地址。
目的地址:用来标识IP包的目的地址或者目的网络。
网络掩码:与目的地址一起标识目的主机或者路由器所在的网段的地址。
pre:用于标识路由加入IP路由表的优先级。当到达目的地可以选择多条路由时,可以通过路由优先级,选择优先级高路由达目的地。
路由开销:当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由。
输出接口:用于表示IP包将从路由器转发的接口。
下一跳IP地址:用于表示IP包所经过的下一个路由器。
为了在将用户态的路由表与内核态的路由表进行同步时,提高路由同步的效率,本申请实施例提供了一种路由同步的方法、装置、电子设备及可读存储介质。
本申请实施例,可以应用于路由管理设备。路由管理设备为用于实现路由管理的功能的设备。可选的,路由管理设备可以为服务器、终端设备,以及运行Linux系统的嵌入式设备等。路由管理设备包括用户态和内核态。用户态的程序运行于路由管理设备中的用户空间。内核态的程序运行于路由管理设备中的内核空间。用户态的操作权限等级低于内核态的操作权限等级。
本申请实施例中,以执行主体可以为路由管理设备的用户态为例进行说明。参阅图1所示,为本申请实施例提供的一种路由同步的方法的实施流程图,该方法的具体实施流程如下:
步骤100:确定接收到路由更新事件时,获取路由更新事件中的更新参数信息。
具体的,确定接收到内核态发送的路由更新事件时,获取路由更新事件中的更新参数信息。
其中,路由更新事件为使得路由表中的路由表项更新的事件。
也就是说,可以根据路由更新事件中的更新参数信息,更新路由表中的路由表项。
可选的,路由表项可以包括以下参数中的至少一种:目的地址、网络掩码、路由优先级、路由开销、输出接口以及下一跳IP地址。
实际应用中,路由表项中的参数,可以根据实际应用场景进行设置,在此不作限制。
可选的,路由更新事件可以为以下任一事件:接口启用事件、路由前缀更新事件、目的地址更新事件以及路由方式更新事件等。
可选的,路由更新事件中可以包括一个或多个字段信息,如,接口的接口标识信息、接口使用状态以及目的地址等。
可选的,更新参数信息可以包括以下参数中的至少一种:接口标识信息、接口使用状态、目的地址以及路由方式。
实际应用中,路由更新事件和更新参数信息,均可以根据实际应用场景进行设置,在此不作限制。
一种实施方式中,用户将一个路由设备通过网线连接到路由管理设备的网络接口1。路由管理设备中的内核态检测到网络接口1被启用后,向用户态上报路由更新事件。路由更新事件中包含的更新参数信息为:网络接口1的接口标识信息以及表示接口启用的接口使用状态。
这样,就可以获取更新参数信息。
步骤101:从多个路由子表中,获取更新参数信息对应设置的目标路由子表。
具体的,获取预先设置的参数和路由子表之间的关联关系,并根据上述关联关系,获取更新参数信息中的参数关联的路由子表,并将上述关联的路由子表确定为更新参数信息对应的目标路由子表。
可选的,一个参数可以关联一个路由子表,也可以关联多个路由子表,更新参数信息中可以包含一个参数,也可以包含多个参数,因此,更新参数信息中的参数可以关联一个路由子表,也可以关联多个路由子表。
例如,接口使用状态关联的路由子表为出接口子表以及接口禁用子表。
一种实施方式中,若确定更新参数信息中的参数关联的路由子表为多个,则将上述关联的路由子表中的一个路由子表,确定为更新参数信息匹配的目标路由子表。
其中,路由子表中的路由表项是将用户态的路由表中的路由表项进行分类后获得的。即路由子表为用户态的路由表的子表,不同路由子表之间具有索引关系。
可选的,路由子表可以包括以下子表中的至少一种:回环路由子表、路由前缀子表、出接口子表、接口启用子表以及接口禁用子表。
需要说明的是,本申请实施例中,仅以路由子表为回环路由子表、路由前缀子表、出接口子表、接口启用子表以及接口禁用子表为例进行说明,实际应用中,路由子表可以根据实际应用场景进行设置,在此不做限制。
其中,在执行步骤101之前,先建立各路由子表,具体的,建立路由子表时,可以采用以下步骤:
S1011:获取用于路由表项划分的多个参数。
S1012:分别按照每一参数,对路由表中的各路由表项进行检索,检索获得每一参数对应的路由表项。
S1013:分别将每一参数对应的路由表项,添加到创建的路由子表中。
例如,假设用于路由表项划分的参数为接口。路由表中包含路由表项A、路由表项B以及路由表项C,其中,路由表项A包括:接口1、前缀1以及目的地址1,路由表项B包括:接口2、以及目的地址2,路由表项A包括:前缀2以及目的地址2。则从路由表中的各路由表项中,检索出包含接口的路由表项A和路由表项B,并创建一个空的出接口路由子表,以及将检索出的路由表项A和路由表项B添加到该出接口路由子表中。
也就是说,不同的路由子表中的路由表项,是采用不同的检索条件,从路由表中所有的路由表项中筛选出的。因此,不同路由表项中可能存在共同的路由表项。
S1014:建立各路由子表之间的索引关系。
一种实施方式中,各路由子表之间的索引关系是指不同路由子表的索引之间的对应关系。
参阅图2所示,为一种路由子表的索引关系的示意图。图2中包括回环路由子表、路由前缀子表以及出接口子表。回环路由子表与路由前缀子表之间存在第一索引关系,回环路由子表与出接口子表之间存在第二索引关系,路由前缀子表与出接口子表之间存在第三索引关系。
进一步的,还可以基于路由子表,获得路由子表的多个路由子表。
参阅图3所示,为另一种路由子表的索引关系的示意图。图3中包括:回环路由子表、路由前缀子表以及出接口子表,还包括基于出接口子表获得的接口启用子表以及接口禁用子表。
其中,回环路由子表与路由前缀子表之间存在第一索引关系,回环路由子表与出接口子表之间存在第二索引关系,路由前缀子表与出接口子表之间存在第三索引关系。出接口子表与接口启用子表之间存在第四索引关系,出接口子表与接口禁用子表之间存在第五索引关系,接口启用子表与接口禁用子表之间存在第六索引关系。
这样,就可以在后续的步骤中,仅将更新参数信息关联的多个路由子表中的一个路由子表,作为目标路由子表,先对该目标路由子表进行路由表项更新,由于目标路由子表中的路由表项较少,因此,路由表项检索更新的速率较高,提高了后续步骤的检索更新效率,以及还可以根据各路由子表之间的索引关系,对目标路由子表之外的路由表项进行更新,实现了跨表检索以及更新,进一步提高了检索效率。
进一步的,将更新参数信息关联的所有路由子表,均作为目标路由子表,从而在后续步骤中,分别对每一目标路由子表进行检索以及更新。
步骤102:在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项。
具体的,执行步骤102时,可以采用以下步骤:
S1021:在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索。
可选的,指定标记可以为隐藏标记。也就是说,仅在设置有隐藏标记的各路由表项中检索。指定标记用于指示当前可以被检索的路由表项。
例如,更新参数信息可以为网络接口1,目标路由子表为接口禁用子表,则采用网络接口1,对接口禁用子表中设置有隐藏标记的各路由表项进行检索,获得包含网络接口1的多个路由表项。接口禁用子表中的各路由表项中的接口使用状态均为禁用。
S1022:判断检索结果是否为非空,若是,则执行S1023,否则,执行S1024。
S1023:将检索获得的路由表项,确定为目标路由表项。
具体的,若检索获得一个路由表项,则将检索获得的路由表项,确定为路由更新事件匹配的目标路由表项。若检索获得多个路由表项,则将检索获得的多个路由表项中的一个路由表项,确定为路由更新事件匹配的目标路由表项。
进一步的,还可以将针对目标路由表项中设置的指定标记,修改为非指定标记。例如,非指定标记可以为非隐藏标记。
进一步的,在后续步骤中,将该目标路由表项同步到内核态之后,再次执行步骤S1021。
这样,就可以采用循环同步的方式,每次将一条路由表项同步到内核态,并且采用指定标记的方式,可以减少检索的路由表项的数量,避免了无效检索,可以精准的检索到需要同步的路由表项,提高了后续的同步效率。
进一步的,也可以将检索的多个路由表项批量同步,由于采用批量同步的方式时,不需要循环同步以及多次检索,因此,需要设置指定标记。
S1024:判断当前的检索次数是否为指定次数,若是,则执行S1025,否则,执行S1026。
具体的,检索次数的初始值为0,每次检索到一条目标路由表项后,便将目标路由表项进行同步,并将检索次数加一。
可选的,指定次数可以为1,也可以为其它数值,在此不作限制。
S1025:根据路由更新事件,在目标路由子表中创建一个新的路由表项,并将新的路由表项,确定为路由更新事件匹配的目标路由表项。
例如,路由更新事件为目的地址更新,更新参数信息为目的地址172.198.168.12,目标路由子表为目的地址子表,则采用172.198.168.12为检索词,在目的地址子表中进行检索,若检索结果为空,则在目的地址子表中建立一个新的包含目的地址172.198.168.12的路由表项。
S1026:确定路由同步完成。
具体的,确定当前路由更新事件触发的路由同步流程已经完成。
这是由于每次同步一条路由表项时,会对路由表项进行多次检索,但是,对于需要创建路由表项的路由更新事件,仅需要创建一次路由表项即可。
这样,就可以从目标路由子表检索出路由更新事件匹配的目标路由表项。
步骤103:根据更新参数信息,对目标路由表项进行更新。
具体的,执行步骤103时,可以采用以下步骤:
S1031:根据路由更新事件中的更新参数信息,对目标路由表项进行更新。
具体的,根据更新参数信息中包含的各参数以及相应的参数值,对目标路由表项中的字段值进行调整。
一种实施方式中,将目标路由表项中的接口使用状态,更新为接口启用状态。
例如,路由更新事件为启用接口1,则将目标路由表项中接口使用状态调整为启用。
进一步的,将目标路由表项,从接口禁用子表中删除,以及将目标路由表项,添加到接口启用子表中。
这样,在目标路由表项进行更新后,就可以按照路由表项的分类方式,将更新后的目标路由表项,移动至相应的路由子表中。
进一步的,也可以现将目标路由表项从目标路由子表中删除,再对目标路由表项所在的路由子表进行调整,在此不作限制。
S1032:根据各路由子表之间的索引关系,确定更新后的目标路由表项,在目标路由子表之外的中的关联路由表项。
S1033:根据更新后的目标路由表项,对确定出的关联路由表项进行更新。
具体的,由于一条目标路由表项中可能包含多个参数,并且目标路由表项被多个路由子表包含,因此,当一个目标路由子表中的路由表项更新时,还需要将目标路由子表之外的中的同一路由表项也更新,这样,就可以根据各路由子表之间的索引关系,确定目标路由表项在目标路由子表之外的中的关联路由表项,进而将各路由子表中的关联路由表项也进行更新。
其中,目标路由表项以及关联路由表项,为分类到不同路由子表中的同一路由表项。
需要说明的是,若目标路由子表为根据路由更新事件,在目标路由子表中建立的一个新的路由表项,则目标路由子表之外的中不存在目标路由表项的关联路由表项,根据目标路由表项中的参数,确定需要更新的路由子表,并在确定出的路由子表中添加该更新后的目标路由表项,以及更新各路由子表之间的索引关系。
这样,就可以将目标路由表项进行更新。
步骤104:将更新后的目标路由表项,同步至路由管理设备的内核态。
具体的,执行S104时,可以采用以下步骤:
S1041:根据更新后的目标路由表项,确定路由方式。
具体的,获取目标路由表项中的路由方式参数,根据路由方式参数,确定路由方式。
S1042:若确定路由方式为直连路由,则将更新后的目标路由表项,同步至路由管理设备的内核态。
S1043:若确定路由方式为回环路由,则向内核态发送路由更新指令,并将更新后的目标路由表项同步至内核态。
其中,路由更新指令用于指示内核态将更新后的目标路由表项添加到所述内核态中的静态路由表中。
本申请实施例中,将路由表中的表项进行分类存储,获得不同的路由子表,并建立不同路由子表之间的索引关系,减少了检索的数据量,还可以跨表检索,提高了检索的效率,再者,采用按照指定标记进行筛选后检索的方式,避免了无效数据的检索,能够精准刷新路由,提高了同步效率,进一步的,用户态的路由子表优化了路由信息的存储,可以精准的进行同步,减少了同步数据,提高了与内核态之间的同步效率。
下面采用一个具体的应用场景,对上述实施例进行进一步详细说明,参阅图4所示,为本申请实施例提供的一种路由同步的方法的详细实施流程图,该方法的具体实施流程如下:
步骤400:确定接收到内核态上报的接口启用事件时,获取接口启用事件中的更新参数信息。
具体的,接口启用事件中的更新参数信息至少包括接口的接口标识信息,以及接口使用状态。
步骤401:从多个路由子表中,获取更新参数信息中的接口使用状态对应设置的接口禁用子表。
步骤402:从出接口子表中,按照更新参数信息中的接口标识信息进行检索,获得目标路由表项。
具体的,从出接口子表中设置有指定标记的路由表项中,检索出包含接口标识信息的目标路由表项。
步骤403:根据接口启用事件,对目标路由表项进行更新。
具体的,将目标路由表项中的接口使用状态更改为启用,并将更新后的目标路由表项,从接口禁用子表移动到接口启用子表。
进一步的,将更新后的目标路由表项的指定标记设置为非指定标记。
步骤404:根据更新后的目标路由表项中的路由方式,判断路由方式是否为回环路由,若是,则执行步骤405,否则,执行步骤406。
步骤405:向内核态发送路由更新指令,并将更新后的目标路由表项同步至内核态。
步骤406:将更新后的目标路由表项,同步至所述路由管理设备的内核态。
进一步的,还可以执行步骤402,直至检索结果为空。
本申请实施例中,在确定一个接口被启用时,从接口禁用子表中检索出该接口的路由表项,并对上述路由表项中的接口使用状态等字段进行更新,以及将更新后的路由表项从接口禁用子表移动至接口启用子表,通过将各路由表项分类划分至不同的路由子表,提高了检索效率以及同步效率。
基于同一发明构思,本申请实施例中还提供了一种路由同步的装置,由于上述装置及设备解决问题的原理与一种路由同步的方法相似,因此,上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,其为本申请实施例提供的一种路由同步的装置的结构示意图,包括:
接收单元501,用于确定接收到路由更新事件时,获取路由更新事件中的更新参数信息;
获取单元502,用于从多个路由子表中,获取更新参数信息对应设置的目标路由子表,其中,路由子表中的路由表项是将用户态的路由表中的路由表项进行分类后获得的;
检索单元503,用于在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项;
更新单元504,用于根据更新参数信息,对目标路由表项进行更新;
同步单元505,用于将更新后的目标路由表项,同步至路由管理设备的内核态。
一种实施方式中,检索单元503用于:
在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索;
判断检索结果是否为非空,若是,则将检索获得的路由表项,确定为目标路由表项;
否则,确定当前的检索次数,若确定检索次数为指定次数,则根据路由更新事件,在目标路由子表中创建一个新的路由表项,并将新的路由表项,确定为目标路由表项,否则,确定路由同步完成。
一种实施方式中,检索单元503用于:
若检索获得多个路由表项,则将检索获得的多个路由表项中的一个路由表项,确定为目标路由表项;
同步单元505还用于:
将针对目标路由表项中设置的指定标记,修改为非指定标记,执行在目标路由子表内设置有指定标记的路由表项中,按照更新参数信息进行检索的步骤。
一种实施方式中,更新单元504还用于:
根据各路由子表之间的索引关系,确定目标路由表项,在目标路由子表之外的中的关联路由表项;
根据更新后的目标路由表项,对确定出的关联路由表项进行更新。
一种实施方式中,同步单元505用于:
根据目标路由表项,确定路由方式;
若确定路由方式为直连路由,则将更新后的目标路由表项,同步至路由管理设备的内核态;
若确定路由方式为回环路由,则向内核态发送路由更新指令,并将更新后的目标路由表项同步至内核态;其中,路由更新指令用于指示内核态将更新后的目标路由表项添加到内核态中的静态路由表中。
本申请实施例提供的一种路由同步的方法、装置、电子设备及可读存储介质中,确定接收到路由更新事件时,获取路由更新事件中的更新参数信息;从多个路由子表中,获取更新参数信息对应设置的目标路由子表,其中,路由子表中的路由表项是将用户态的路由表中的路由表项进行分类后获得的;在目标路由子表中,基于更新参数信息进行检索,获得目标路由表项;根据更新参数信息,对目标路由表项进行更新;将更新后的目标路由表项,同步至路由管理设备的内核态。这样,在接收到路由更新事件后,仅在目标路由子表中进行检索,提高了检索效率,以及仅将更新的目标路由表项同步至内核态,提高了同步效率。
图6示出了一种电子设备6000的结构示意图。参阅图6所示,电子设备6000包括:处理器6010、存储器6020、电源6030、显示单元6040、输入单元6050。
处理器6010是电子设备6000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器6020内的软件程序和/或数据,执行电子设备6000的各种功能,从而对电子设备6000进行整体监控。
本申请实施例中,处理器6010调用存储器6020中存储的计算机程序时执行如图1中所示的实施例提供的路由同步的方法。
可选的,处理器6010可包括一个或多个处理单元;优选的,处理器6010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器6010中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器6020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据电子设备6000的使用所创建的数据等。此外,存储器6020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
电子设备6000还包括给各个部件供电的电源6030(比如电池),电源可以通过电源管理系统与处理器6010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
显示单元6040可用于显示由用户输入的信息或提供给用户的信息以及电子设备6000的各种菜单等,本发明实施例中主要用于显示电子设备6000中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元6040可以包括显示面板6041。显示面板6041可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
输入单元6050可用于接收用户输入的数字或字符等信息。输入单元6050可包括触控面板6051以及其他输入设备6052。其中,触控面板6051,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板6051上或在触控面板6051附近的操作)。
具体的,触控面板6051可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器6010,并接收处理器6010发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6051。其他输入设备6052可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
当然,触控面板6051可覆盖显示面板6041,当触控面板6051检测到在其上或附近的触摸操作后,传送给处理器6010以确定触摸事件的类型,随后处理器6010根据触摸事件的类型在显示面板6041上提供相应的视觉输出。虽然在图6中,触控面板6051与显示面板6041是作为两个独立的部件来实现电子设备6000的输入和输出功能,但是在某些实施例中,可以将触控面板6051与显示面板6041集成而实现电子设备6000的输入和输出功能。
电子设备6000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述电子设备6000还可以包括摄像头等其它部件,由于这些部件不是本申请实施例中重点使用的部件,因此,在图6中没有示出,且不再详述。
本领域技术人员可以理解,图6仅仅是电子设备的举例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本申请实施例中,一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得通信设备可以执行上述实施例中的各个步骤。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种路由同步的方法,其特征在于,应用于路由管理设备的用户态,所述方法包括:
确定接收到路由更新事件时,获取所述路由更新事件中的更新参数信息;
从多个路由子表中,获取所述更新参数信息对应设置的目标路由子表,其中,所述路由子表中的路由表项是将所述用户态的路由表中的路由表项进行分类后获得的;
在所述目标路由子表中,基于所述更新参数信息进行检索,获得目标路由表项;
根据所述更新参数信息,对所述目标路由表项进行更新;
将更新后的目标路由表项,同步至所述路由管理设备的内核态。
2.如权利要求1所述的方法,其特征在于,所述在所述目标路由子表中,基于所述更新参数信息进行检索,获得目标路由表项,包括:
在所述目标路由子表内设置有指定标记的路由表项中,按照所述更新参数信息进行检索;
判断检索结果是否为非空,若是,则将检索获得的路由表项,确定为目标路由表项;
否则,确定当前的检索次数,若确定所述检索次数为指定次数,则根据所述路由更新事件,在所述目标路由子表中创建一个新的路由表项,并将所述新的路由表项,确定为目标路由表项,否则,确定路由同步完成。
3.如权利要求2所述的方法,其特征在于,所述将检索获得的路由表项,确定为目标路由表项,包括:
若检索获得多个路由表项,则将检索获得的多个路由表项中的一个路由表项,确定为所述目标路由表项;
在所述将更新后的目标路由表项,同步至所述路由管理设备的内核态之后,还包括:
将针对所述目标路由表项中设置的指定标记,修改为非指定标记,执行所述在所述目标路由子表内设置有指定标记的路由表项中,按照所述更新参数信息进行检索的步骤。
4.如权利要求1-3任一项所述的方法,其特征在于,在所述根据所述更新参数信息,对所述目标路由表项进行更新之后,还包括:
根据各路由子表之间的索引关系,确定所述目标路由表项,在其它路由子表中的关联路由表项;
根据所述更新后的目标路由表项,对确定出的关联路由表项进行更新。
5.如权利要求1-3任一项所述的方法,其特征在于,所述将更新后的目标路由表项,同步至所述路由管理设备的内核态,包括:
根据所述目标路由表项,确定路由方式;
若确定所述路由方式为直连路由,则将所述更新后的目标路由表项,同步至所述路由管理设备的内核态;
若确定所述路由方式为回环路由,则向所述内核态发送路由更新指令,并将所述更新后的目标路由表项同步至所述内核态;其中,所述路由更新指令用于指示所述内核态将所述更新后的目标路由表项添加到所述内核态中的静态路由表中。
6.一种路由同步的装置,其特征在于,设置于路由管理设备的用户态中,包括:
接收单元,用于确定接收到路由更新事件时,获取所述路由更新事件中的更新参数信息;
获取单元,用于从多个路由子表中,获取所述更新参数信息对应设置的目标路由子表,其中,所述路由子表中的路由表项是将所述用户态的路由表中的路由表项进行分类后获得的;
检索单元,用于在所述目标路由子表中,基于所述更新参数信息进行检索,获得目标路由表项;
更新单元,用于根据所述更新参数信息,对所述目标路由表项进行更新;
同步单元,用于将更新后的目标路由表项,同步至所述路由管理设备的内核态。
7.如权利要求6所述的装置,其特征在于,所述检索单元用于:
在所述目标路由子表内设置有指定标记的路由表项中,按照所述更新参数信息进行检索;
判断检索结果是否为非空,若是,则将检索获得的路由表项,确定为目标路由表项;
否则,确定当前的检索次数,若确定所述检索次数为指定次数,则根据所述路由更新事件,在所述目标路由子表中创建一个新的路由表项,并将所述新的路由表项,确定为目标路由表项,否则,确定路由同步完成。
8.如权利要求7所述的装置,其特征在于,所述检索单元用于:
若检索获得多个路由表项,则将检索获得的多个路由表项中的一个路由表项,确定为所述目标路由表项;
所述同步单元还用于:
将针对所述目标路由表项中设置的指定标记,修改为非指定标记,执行所述在所述目标路由子表内设置有指定标记的路由表项中,按照所述更新参数信息进行检索的步骤。
9.如权利要求6-8任一项所述的装置,其特征在于,所述更新单元还用于:
根据各路由子表之间的索引关系,确定所述目标路由表项,在其它路由子表中的关联路由表项;
根据所述更新后的目标路由表项,对确定出的关联路由表项进行更新。
10.如权利要求6-8任一项所述的装置,其特征在于,所述同步单元用于:
根据所述目标路由表项,确定路由方式;
若确定所述路由方式为直连路由,则将所述更新后的目标路由表项,同步至所述路由管理设备的内核态;
若确定所述路由方式为回环路由,则向所述内核态发送路由更新指令,并将所述更新后的目标路由表项同步至所述内核态;其中,所述路由更新指令用于指示所述内核态将所述更新后的目标路由表项添加到所述内核态中的静态路由表中。
11.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-5任一所述方法。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-5任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721417.7A CN113364688B (zh) | 2021-06-28 | 2021-06-28 | 一种路由同步的方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721417.7A CN113364688B (zh) | 2021-06-28 | 2021-06-28 | 一种路由同步的方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364688A true CN113364688A (zh) | 2021-09-07 |
CN113364688B CN113364688B (zh) | 2023-06-13 |
Family
ID=77536862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110721417.7A Active CN113364688B (zh) | 2021-06-28 | 2021-06-28 | 一种路由同步的方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364688B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030026260A1 (en) * | 2001-08-06 | 2003-02-06 | Nobuo Ogasawara | Packet routing apparatus and routing controller |
US6795823B1 (en) * | 2000-08-31 | 2004-09-21 | Neoris Logistics, Inc. | Centralized system and method for optimally routing and tracking articles |
US20080256125A1 (en) * | 2006-06-12 | 2008-10-16 | Konrad-Zuse-Zentrum Fur Informationstechnik Berlin | Device and Method for Storing / Retrieving Objects with Multidimensionally Addressed Electronic Data |
US20090037601A1 (en) * | 2007-08-03 | 2009-02-05 | Juniper Networks, Inc. | System and Method for Updating State Information in a Router |
US20110307656A1 (en) * | 2010-06-14 | 2011-12-15 | The Hong Kong University Of Science And Technology | Efficient lookup methods for ternary content addressable memory and associated devices and systems |
CN106713147A (zh) * | 2016-12-29 | 2017-05-24 | 南京邮电大学 | 面向geo/leo双层卫星网络的抗毁路由方法 |
US10318587B1 (en) * | 2015-09-20 | 2019-06-11 | Barefoot Networks, Inc. | Algorithmic TCAM based ternary lookup |
CN110581805A (zh) * | 2018-06-08 | 2019-12-17 | 杭州海康威视数字技术股份有限公司 | 路由表更新方法、装置、交换机及存储介质 |
WO2020135421A1 (zh) * | 2018-12-29 | 2020-07-02 | 中兴通讯股份有限公司 | 一种路由配置方法、路由更新方法和装置 |
CN111934894A (zh) * | 2019-05-13 | 2020-11-13 | 烽火通信科技股份有限公司 | 基于dpdk管理无线网络接口的方法及系统 |
CN112637329A (zh) * | 2020-12-21 | 2021-04-09 | 网络通信与安全紫金山实验室 | 一种多应用程序的标识方法、装置、设备及存储介质 |
-
2021
- 2021-06-28 CN CN202110721417.7A patent/CN113364688B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795823B1 (en) * | 2000-08-31 | 2004-09-21 | Neoris Logistics, Inc. | Centralized system and method for optimally routing and tracking articles |
US20030026260A1 (en) * | 2001-08-06 | 2003-02-06 | Nobuo Ogasawara | Packet routing apparatus and routing controller |
US20080256125A1 (en) * | 2006-06-12 | 2008-10-16 | Konrad-Zuse-Zentrum Fur Informationstechnik Berlin | Device and Method for Storing / Retrieving Objects with Multidimensionally Addressed Electronic Data |
US20090037601A1 (en) * | 2007-08-03 | 2009-02-05 | Juniper Networks, Inc. | System and Method for Updating State Information in a Router |
US20110307656A1 (en) * | 2010-06-14 | 2011-12-15 | The Hong Kong University Of Science And Technology | Efficient lookup methods for ternary content addressable memory and associated devices and systems |
US10318587B1 (en) * | 2015-09-20 | 2019-06-11 | Barefoot Networks, Inc. | Algorithmic TCAM based ternary lookup |
CN106713147A (zh) * | 2016-12-29 | 2017-05-24 | 南京邮电大学 | 面向geo/leo双层卫星网络的抗毁路由方法 |
CN110581805A (zh) * | 2018-06-08 | 2019-12-17 | 杭州海康威视数字技术股份有限公司 | 路由表更新方法、装置、交换机及存储介质 |
WO2020135421A1 (zh) * | 2018-12-29 | 2020-07-02 | 中兴通讯股份有限公司 | 一种路由配置方法、路由更新方法和装置 |
CN111934894A (zh) * | 2019-05-13 | 2020-11-13 | 烽火通信科技股份有限公司 | 基于dpdk管理无线网络接口的方法及系统 |
CN112637329A (zh) * | 2020-12-21 | 2021-04-09 | 网络通信与安全紫金山实验室 | 一种多应用程序的标识方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113364688B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237295B2 (en) | Automated event ID field analysis on heterogeneous logs | |
US9589006B2 (en) | Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure | |
US9258775B1 (en) | Location-based software updates | |
US20200236171A1 (en) | Partitioning data according to relative differences indicated by a cover tree | |
US11310066B2 (en) | Method and apparatus for pushing information | |
CN112214390B (zh) | 一种测试用例生成方法、装置、系统、设备及介质 | |
CN108595483B (zh) | 数据处理方法及相关装置 | |
CN107958365B (zh) | 物料信息变更方法、装置、存储介质及电子设备 | |
CN103699534B (zh) | 系统目录中数据对象的显示方法及装置 | |
CN109885573A (zh) | 一种数据存储系统的维护方法、装置和移动终端 | |
CN112015696B (zh) | 数据访问、数据关系设置方法、装置及存储介质 | |
US11080284B2 (en) | Hybrid search connector | |
CN115658348A (zh) | 微服务调用方法、相关装置及存储介质 | |
CN114817419A (zh) | 基于Kafka的媒资数据存储方法、装置、电子设备及存储介质 | |
CN110196662B (zh) | 一种展示同步状态的方法、装置、终端及存储介质 | |
CN112559913B (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
EP2768183A1 (en) | Email management apparatus and method of electronic device | |
CN113364688B (zh) | 一种路由同步的方法、装置、电子设备及可读存储介质 | |
CN108270660A (zh) | 消息的快捷回复方法及装置 | |
WO2022052758A1 (zh) | 配网方法及设备 | |
CN104572882B (zh) | 音频数据管理方法、服务器及客户端 | |
JP6212373B2 (ja) | 操作ログ管理装置及び方法 | |
CN115913782A (zh) | 报文过滤配置的方法、装置、电子设备及介质 | |
US20230252087A1 (en) | User Centric Topics for Topic Suggestions | |
CN114849241A (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 |