一种交换机配置模拟下发的方法、系统及计算机与流程

文档序号:18752514发布日期:2019-09-24 21:21阅读:303来源:国知局
一种交换机配置模拟下发的方法、系统及计算机与流程

本发明涉及数据处理技术领域,特别涉及一种交换机配置模拟下发的方法、系统及计算机。



背景技术:

近年来,随着互联网流量的激增,众多公司纷纷开始对机房中的交换机设备进行换代升级,因此网络设备生产商接收到的客户订单也越来越多。受实验环境所限,设备厂商不可能对所有用户提出的需求都进行实际的组网验证。在这种背景下,急需要一种简单高效的辅助验证系统,快速的为客户反馈出当前配置的下发效果来帮助用户进行网络设备选购。因此,如何实现简单快速的交换机配置模拟下发,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种交换机配置模拟下发的系统、方法及计算机,能够脱离真实的物理设备,通过软件仿真的形式进行配置下发,并且能够方便快捷的查看当前配置在不同设备上的下发效果以此来评估单台设备性能。

为解决上述技术问题,本发明提供一种交换机配置模拟下发的系统,包括:

MQC配置命令解析模块,用于将接收到的配置文件中MQC策略配置命令进行提取并解析,生成符合规则标准的数据信息,利用HASH表进行存储;

端口下发配置命令解析模块,用于查找接收到的所述配置文件端口下发命令,提取端口配置信息,并创建下发实例数据结构和全局下发链表;

ACL规则解析模块,用于将接收到的所述配置文件中ACL规则配置命令进行提取并解析,生成符合预定规则标准的数据结构,并利用HASH表进行存储;

底层模拟下发模块,用于根据所述HASH表、下发实例数据结构、全局下发链表及用户选择的单板类型及单板数量进行参数二次解析操作及参数匹配操作,并调用底层SDK层代码库模拟配置下发到硬件过程并返回下发结果。

其中,所述MQC配置命令解析模块,包括:

MQC class命令解析单元,用于将所述配置文件中MQC class命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

MQC behavior命令解析单元,用于将所述配置文件中MQC behavior命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

MQC policy命令解析单元,用于根据MQC class命令及MQC behavior命令的配置信息,将所述配置文件中MQC policy命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中。

其中,所述端口下发配置命令解析模块具体为查找接收到的所述配置文件端口下发命令,提取端口配置信息,根据配置信息中端口号计算全局端口索引,建立端口映射关系,解析端口下发配置子命令并构建全局下发链表的模块。

其中,所述底层模拟下发模块,包括:

SAL驱动参数解析单元,用于根据所述HASH表、下发实例数据结构、全局下发链表对所述下发实例数据结构进行二次解析;

ADAPT驱动适配单元,用于创建并维护一个全局ACL ENTRY下发链表;

SOC芯片参数匹配单元,用于对各种芯片特性进行参数匹配操作;

SDK底层代码单元,用于调用底层SDK层代码库模拟配置下发到硬件过程并返回所选设备的ACL使用情况信息表。

本发明还提供一种交换机配置模拟下发的方法,包括:

接收用户输入的配置文件及参数信息;其中,所述参数信息包括单板类型、槽位数量;

将所述配置文件中MQC策略配置命令进行提取并解析,生成符合规则标准的数据信息,利用HASH表进行存储;

查找所述配置文件端口下发命令,提取端口配置信息,并创建下发实例数据结构和全局下发链表;

将所述配置文件中ACL规则配置命令进行提取并解析,生成符合预定规则标准的数据结构,并利用HASH表进行存储;

根据所述HASH表、下发实例数据结构、全局下发链表及用户选择的单板类型及单板数量进行参数二次解析操作及参数匹配操作,并调用底层SDK层代码库模拟配置下发到硬件过程并返回下发结果。

其中,将所述配置文件中MQC策略配置命令进行提取并解析,生成符合规则标准的数据信息,利用HASH表进行存储,包括:

将所述配置文件中MQC class命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

将所述配置文件中MQC behavior命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

根据MQC class命令及MQC behavior命令的配置信息,将所述配置文件中MQC policy命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中。

其中,查找所述配置文件端口下发命令,提取端口配置信息,并创建下发实例数据结构和全局下发链表,包括:

查找接收到的所述配置文件端口下发命令,提取端口配置信息,根据配置信息中端口号计算全局端口索引,建立端口映射关系,解析端口下发配置子命令并构建全局下发链表。

其中,根据所述HASH表、下发实例数据结构、全局下发链表及用户选择的单板类型及单板数量进行参数二次解析操作及参数匹配操作,并调用底层SDK层代码库模拟配置下发到硬件过程并返回下发结果,包括:

根据所述HASH表、下发实例数据结构、全局下发链表对所述下发实例数据结构进行二次解析;

创建并维护一个全局ACL ENTRY下发链表;

对各种芯片特性进行参数匹配操作;

调用底层SDK层代码库模拟配置下发到硬件过程并返回所选设备的ACL使用情况信息表。

本发明还提供一种计算机,包括:根据上述任一项所述的交换机配置模拟下发的系统。

本发明所提供的交换机配置模拟下发的系统,可提供多种交换机单板类型的选择,使用户脱离真实的物理设备,通过软件仿真的形式进行配置下发,并且能够方便快捷的查看当前配置在不同设备上的下发效果,以此来评估单个交换机的性能,通过比较挑选出最适合自己需求的产品;节省了大量利用物理设备进行测试的时间,可以显著缩短项目周期,节约项目成本,能够使设备公司更合理的进行人员安排,在兼顾小型客户单台设备需求的同时,还能保证充足的研发力量对大型客户的复杂需求进行验证,提高工作效率;本发明还提供了交换机配置模拟下发的方法及计算机,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的交换机配置模拟下发的系统的结构框图;

图2为本发明实施例所提供的解析层的解析过程示意图;

图3为本发明实施例所提供的交换机配置模拟下发的方法的流程图。

具体实施方式

本发明的核心是提供一种交换机配置模拟下发的系统、方法及计算机,能够脱离真实的物理设备,通过软件仿真的形式进行配置下发,并且能够方便快捷的查看当前配置在不同设备上的下发效果以此来评估单台设备性能。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的交换机配置模拟下发的系统的结构框图;该系统可以包括:解析层设置MQC配置命令解析模块100、端口下发配置命令解析模块200及ACL规则解析模块300及底层模拟下发模块400;

该系统之所以在解析层设置MQC配置命令解析模块100、端口下发配置命令解析模块200及ACL规则解析模块300是由于要将一个依赖于实际硬件环境的过程,完全使用软件形式仿真出来。根据系统整体性分析,从宏观上将系统分为上层配置命令解析部分(即解析层)以及底层模拟下发部分(即底层模拟下发模块)。结合MQC配置以及配置文件中的命令行组织顺序,由于ACL规则命令位于整个配置文件的最后的位置,而在class视图的匹配规则配置中,有很大可能会提前应用到ACL规则。ACL规则的特殊位置,给解析层软件的设计带来了一定的困难,为了使得位置靠后的ACL模块配置能够提前解析,提出了“预解析,后下发”的设计思路,在应用到ACL规则的class匹配规则命令解析中,class实例结构数据仅仅记录了当前ACL组号与ACL组类型,此时并不关心当前ACL组内到底有何种规则配置,而是将对ACL规则实例结构的查找放到了底层模拟下发流程之中。由此当解析程序遇到端口下发命令行时,并不直接调用驱动接口进入模拟下发,而是将每一个待下发配置当作一个实例对象,定义一种数据结构来表示,每个字段储存着已经解析好的、要传给模拟下发接口函数的参数,并将这些下发实例数据结构以全局链表的形式组织到一起。当后续所有命令包括ACL规则配置全部解析完毕之后,遍历全局下发链表中的内容来调用驱动接口,使每项配置依次进入模拟下发阶段。

其中,ACL(Access Control List,访问控制列表)是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。

MQC配置命令解析模块100,用于将接收到的配置文件中MQC策略配置命令进行提取并解析,生成符合规则标准的数据信息(即预先约定的数据结构),利用HASH表进行存储;

具体的,由于MQC命令由class、behavior、policy三个部分组成,因此解析过程可以包括:

MQC class命令解析单元,用于将所述配置文件中MQC class命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

MQC behavior命令解析单元,用于将所述配置文件中MQC behavior命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

MQC policy命令解析单元,用于根据MQC class命令及MQC behavior命令的配置信息,将所述配置文件中MQC policy命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中。

其中,在整个模拟配置下发过程中,实际要下发的数据是在MQC命令中配置好的policy策略信息,因此,在经过解析模块的处理之后,就能够建立好将要下发的数据实例信息为后续工作打下基础。

端口下发配置命令解析模块200,用于查找接收到的所述配置文件端口下发命令,提取端口配置信息,并创建下发实例数据结构和全局下发链表;

其中,对输入的命令行配置文件进行关键字判断,用于提取出端口相关配置;若为普通端口port视图,则除了对视图命令解析之外,还要根据端口号计算全局端口索引,建立端口映射关系,为后续模拟下发过程中的端口查找奠定基础;解析下发配置子命令,并构建全局下发链表,等待调用底层驱动接口进入模拟下发阶段。输入的命令行配置文件即用户输入的配置文件,该配置文件是解析的基础。这里的下发实例数据结构即为MQC policy命令解析单元处理生成的HASH表中的节点。

具体的,所述端口下发配置命令解析模块200具体用于查找接收到的所述配置文件端口下发命令,提取端口配置信息,根据配置信息中端口号计算全局端口索引,建立端口映射关系,解析端口下发配置子命令并构建全局下发链表。

ACL规则解析模块300,用于将接收到的所述配置文件中ACL规则配置命令进行提取并解析,生成符合预定规则标准的数据结构,并利用HASH表进行存储;

其中,对命令行配置文件中ACL规则配置命令进行提取并解析,使用合理的数据结构进行存储。在底层模拟下发阶段,驱动软件会根据MQC中的class视图下的ACL匹配规则命令进行ACL组规则的查找操作。配置文件中ACL组规则命令在经过此功能模块的解析之后,就能够很方便的为后续ACL相关信息的查找操作提供遍历条件和数据,是模拟下发流程能够正确运行的重要基础。

其中,前三个模块属于上层命令行解析模块即解析层,即根据用户输入的配置文件,以及单板类型、槽位数量等参数信息,具体的参数信息类型和种类可以根据用户实际需求进行确认,参数信息为执行配置文件的载体硬件的信息。对配置文件中的相关ACL命令进行解析,包括MQC、ACL规则和端口下发命令。MQC命令由class、behavior、policy三个部分组成,有三个对应的单元对其进行分类提取和数据解析,生成符合一定规则标准的数据结构。考虑到配置众多,因此采用HASH表的形式对解析后的数据进行存储,方便后续模拟下发过程中对相关内容进行查找。解析层的流程如图2所示,用户输入配置文件之后,图2的解析顺序,对相关配置命令依照次序进行提取解析。根据关键词提取和判断,首先进行MQC下的class、behavior两种命令的解析操作,为每一条配置信息创建一条HASH节点存入HASH表中,然后解析policy命令,依赖于class和behavior的相关配置。然后查找配置文件中的端口下发命令,记录下发端口类型、端口号等信息,创建下发实例数据结构和全局下发链表;最后解析配置文件中的ACL规则信息,同样以HASH表的形式存储。

底层模拟下发模块400,用于根据所述HASH表、下发实例数据结构、全局下发链表及用户选择的单板类型及单板数量进行参数二次解析操作及参数匹配操作,并调用底层SDK层代码库模拟配置下发到硬件过程并返回下发结果。

具体的,底层模拟下发模块400属于模拟下发层包括:

SAL驱动参数解析单元,用于根据所述HASH表、下发实例数据结构、全局下发链表对所述下发实例数据结构进行二次解析,主要完成二次解析。

ADAPT驱动适配单元,用于创建并维护一个全局ACL ENTRY下发链表;

其中,此链表是传递给最底层SDK库函数的数据结构。根据SAL解析层传入的“生效范围信息”,选择是否需要扩展链表节点,即“外扩”。比如选择对单板所有外部端口生效,需要针对每个芯片复制链表节点并将匹配端口掩码设置为E_PORT。

SOC芯片参数匹配单元,用于对各种芯片特性进行参数匹配操作;

SDK底层代码单元,用于调用底层SDK层代码库模拟配置下发到硬件过程并返回所选设备的ACL使用情况信息表。

在执行上述几个单元时,首先对它们进行初始化操作。

底层模拟下发模块400的具体工作过程如下:

当解析层正确执行后,会调用底层模拟下发模块,通过底层模拟下发模块的接口进入模拟下发阶段。首先模拟系统的初始化阶段,包括SAL驱动参数解析单元中的令行解析初始化、ADAPT驱动适配单元中驱动软件初始化、SDK底层代码单元中SDK软件初始化。然后进入SAL驱动参数解析单元对上层传入的下发配置实例进行二次解析,创建并维护一个全局ACL ENTRY下发链表,此链表是传递给最底层SDK库函数的数据结构。SOC芯片参数匹配单元主要负责对各种芯片特性进行适配操作,主要作用是维护slice的划分,group、entry、meter、counter的申请和释放。SDK底层代码单元主要就是引用了最底层的下发模块代码进行模拟物理下发操作,如果SDK层能够正常返回,则说明模拟下发过程成功,并返回当前所选设备的ACL使用情况信息表。

基于上述技术方案,本发明实施例提供的交换机配置模拟下发的系统,该系统摒弃了在物理交换机上进行测试的传统方法,以用户提供的配置文件为基础,用软件仿真的形式以最快的速度为客户反馈出当前配置的下发效果。ACL具有强大的规则过滤功能,在交换机软件系统中应用范围极广,因此优先在ACL模块上实现模拟配置下发,有着更为重要的实用价值。

下面对本发明实施例提供的交换机配置模拟下发的方法及计算机进行介绍,下文描述的交换机配置模拟下发的方法及计算机与上文描述的交换机配置模拟下发的系统可相互对应参照。

请参考图3,图3为本发明实施例所提供的交换机配置模拟下发的方法的流程图;该方法可以包括:

S100、接收用户输入的配置文件及参数信息;其中,所述参数信息包括单板类型、槽位数量;

S110、将所述配置文件中MQC策略配置命令进行提取并解析,生成符合规则标准的数据信息,利用HASH表进行存储;

S120、查找所述配置文件端口下发命令,提取端口配置信息,并创建下发实例数据结构和全局下发链表;

S130、将所述配置文件中ACL规则配置命令进行提取并解析,生成符合预定规则标准的数据结构,并利用HASH表进行存储;

S140、根据所述HASH表、下发实例数据结构、全局下发链表及用户选择的单板类型及单板数量进行参数二次解析操作及参数匹配操作,并调用底层SDK层代码库模拟配置下发到硬件过程并返回下发结果。

可选的,将所述配置文件中MQC策略配置命令进行提取并解析,生成符合规则标准的数据信息,利用HASH表进行存储,包括:

将所述配置文件中MQC class命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

将所述配置文件中MQC behavior命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中;

根据MQC class命令及MQC behavior命令的配置信息,将所述配置文件中MQC policy命令进行提取并解析,使每条配置信息生成符合预定规则标准的数据结构,并创建对应的HASH节点存入HASH表中。

可选的,查找所述配置文件端口下发命令,提取端口配置信息,并创建下发实例数据结构和全局下发链表,包括:

查找接收到的所述配置文件端口下发命令,提取端口配置信息,根据配置信息中端口号计算全局端口索引,建立端口映射关系,解析端口下发配置子命令并构建全局下发链表。

可选的,根据所述HASH表、下发实例数据结构、全局下发链表及用户选择的单板类型及单板数量进行参数二次解析操作及参数匹配操作,并调用底层SDK层代码库模拟配置下发到硬件过程并返回下发结果,包括:

根据所述HASH表、下发实例数据结构、全局下发链表对所述下发实例数据结构进行二次解析;

创建并维护一个全局ACL ENTRY下发链表;

对各种芯片特性进行参数匹配操作;

调用底层SDK层代码库模拟配置下发到硬件过程并返回所选设备的ACL使用情况信息表。

本发明还提供一种计算机,包括:根据上述任意实施例所述的交换机配置模拟下发的系统。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的交换机配置模拟下发的系统、方法及计算机进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1