一种管理芯片表的方法及设备 【技术领域】
本发明涉及通信技术领域,尤其涉及一种管理芯片表的方法及设备。
背景技术
随着芯片功能的不断增强,路由器、交换机等设备内部芯片表越来越复杂多样,芯片表的数量也越来越多。所谓芯片表,即路由器、交换机等设备内部设置MAC(Media Access Control,介质访问控制)地址条目数、最多VLAN(VirtualLocal Area Network,虚拟局域网)数、路由表条目数等信息的表。
现有的技术方案中,对芯片表的操作包括如下步骤:
步骤S1,根据每个芯片表的结构设计与该结构耦合的操作方法。即在设计操作方法的同时对芯片表的结构信息进行设计,且将芯片表的结构信息耦合到设计的操作方法中,即在操作方法中携带有芯片表的结构信息代码,建立操作方法与芯片表之间一一对应的关系。
步骤S2,采用逐表和逐个操作的方式对芯片表进行操作。即:每个芯片表的操作方法都会根据每个芯片表的具体结构进行设计,而且对同一个芯片表的不同操作都会重复一次芯片表的结构设计。
然而,上述技术方案至少存在如下问题:
由于操作方法与芯片表的结构相耦合,不便于对芯片表进行管理:
一方面,无法设计统一的操作方法对芯片表进行统一操作,而且,芯片的操作代码量与芯片表的个数和操作方法成线性增长关系;
另一方面,芯片表的结构与操作方法互相制约,芯片表的结构变化一定会影响到对该芯片表的操作方法的设计,而且修改该操作方法时必须考虑该芯片表的结构。
【发明内容】
本发明实施例提供一种管理芯片表的方法及设备,以消除操作方法中耦合的芯片表结构的信息数据、提取对芯片表进行统一管理的操作方法。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,提供一种管理芯片表的方法,包括:
编写芯片表,生成所述芯片表的源文件;
当对所述芯片表进行操作时,对所述源文件进行解析,得到所述芯片表的信息数据;设计或调用统一的操作方法对所述信息数据对应的芯片表进行操作。
一方面,提供一种管理芯片表的设备,包括:
源文件生成模块,用于编写芯片表,生成所述芯片表的源文件;
操作模块,用于对所述源文件生成模块生成的源文件进行解析,得到所述芯片表的信息数据;设计或调用统一的操作方法对所述信息数据对应的芯片表进行操作。
本发明实施例提供的管理芯片表的方法及设备,编写芯片表与设计操作方法分离,消除了芯片表操作方法中耦合的芯片表结构信息数据,然后根据统一的操作方法对该芯片表进行相关操作。一方面,可以提取统一的操作方法对多个或所有芯片表进行统一操作并降低了操作方法的数量;另一方面,即使芯片表的结构发生变化也不影响该芯片表的操作方法,同时,增加或修改芯片表的操作方法也不用考虑芯片表的结构,从而增强了芯片表操作方法的可维护性。因此,芯片表与操作方法可以任意组合,可以根据用户需求调用任一操作方法对任意单个或多个芯片表进行相应操作,实现对芯片表进行灵活、高效的管理。
【附图说明】
图1为本发明实施例提供的管理芯片表的方法流程图;
图2为本发明实施例提供的管理芯片表地设备结构图。
【具体实施方式】
现有技术中,每个芯片表的操作方法都会根据每个芯片表的具体结构进行设计,且对同一个芯片表的不同操作都会重复一次芯片表的结构设计。以表1所示的芯片表为例进行说明:
表1:
在表1所示,该芯片表包括多个域。其中,芯片表的“OpCode”域存在有分支结构:“OC1”/“OC2”/“OC3”/。在对该芯片表的操作方法进行设计时,现有技术就需要设计根据“OpCode”域值来选择不同分支的流程。但对于同一芯片表的不同操作方法,该芯片表分支结构的选择流程是一致的,因此,在对该芯片表进行不同操作时,需要重复对该芯片表的结构进行设计。
由于操作方法与芯片表的结构相耦合,导致芯片表的结构与操作方法互相制约。从而芯片表的结构变化一定会影响到对该芯片表的操作方法的设计,而且修改该操作方法一定要考虑该芯片表的结构,也就无法设计统一的操作方法对芯片表进行统一操作。而且,芯片的操作代码量与芯片表的个数和操作方法成线性增长关系。
本发明实施例提供一种管理芯片表的方法和设备,以消除操作方法中耦合的芯片表结构信息数据、提取对芯片表进行统一管理的操作方法。下面结合附图对本发明实施例中管理芯片表的方法及设备进行详细描述。
本发明实施例首先提供一种管理芯片表的方法,如图1所示,包括:
S101,编写芯片表,生成该芯片表的源文件。
例如:通过XML(Extensible Markup Language,可扩展标记语言)或其它可表示芯片表域信息和结构信息的语言编写芯片表。
本实施例采用XML语言编写芯片表。以表1所示的芯片表为例,通过XML的层次关系结构来构建该芯片表的整体信息,根据该芯片表的结构编写的XML文档如下所示:
<?xml version=″1.0″encoding=″GB2312″?>
<TABLE caption=“Table″width=″0″branch=″0″>
<A caption=“A″width=″1″branch=″0″/>/芯片表域“A”的属性包含域名称、位宽、分支标示等/
<B caption=“B″width=″1″branch=″0″/>
…<!-其他域定义类似,此处省略-->
<D caption=“D″width=″12″branch=″1″brname=″OpCode″>
<OC1 caption=“OC1″width=″0″branch=″0″>
<E caption=“E″width=“8″branch=″0″/>
…<!-其他域定义类似,此处省略-->
</OC1> /分支的层次结构及属性/
…<!-其他域定义类似,此处省略-->
</D>
<N caption=“N″width=″12″branch=″0″/>
…<!-其他域定义类似,此处省略-->
</TABLE>
在上述芯片表的源文件中,编写了表1所示芯片表的域和结构信息,具体包括域名称、位宽、是否有分支等信息;并且利用XML的层次关系表示芯片表域的分支结构关系。该源文件利用XML结点属性定义了芯片表的所有域信息,以及每个域在整个芯片表中的结构信息;而且,在该芯片表的结构信息中,每个域的前后关系与XML结点先后关系一一对应。
S102,当对芯片表进行操作时,对该源文件进行解析,得到该芯片表的信息数据;设计或调用统一的操作方法对该信息数据对应的芯片表进行操作。例如:调用匹配的操作方法执行增加或修改单个或多个芯片表的操作。
在该步骤中,具体包括:
S102.1,设计或调用统一的操作方法。该操作方法与芯片表的结构分离且可用于对更新后的该芯片表和/或其余的芯片表进行统一操作。
S102.2,对该源文件进行解析,得到该芯片表的信息数据。
S102.3,输入该信息数据。
S102.4,遍历该信息数据对应的芯片表的所有域,根据统一的操作方法对该信息数据对应的芯片表的所有域进行统一操作。
在S102中,可以使用XML解析器对构造好的芯片表的XML源文件按层次规则进行解析,并采用C++语言来生成该芯片表的信息数据。该信息数据映射了芯片表中的域信息、域与域之间的结构信息。然后,将得到的信息数据作为输入数据,采用遍历芯片表域的方式,根据具体的操作要求设计或调用统一的操作方法对整个芯片表的所有域进行统一操作。
本发明实施例提供的管理芯片表的方法,编写芯片表与设计操作方法分离、消除了芯片表操作方法中耦合的芯片表结构信息数据,然后根据统一的操作方法对该芯片表进行相关操作。一方面,可以提取统一的操作方法对多个或所有芯片表进行统一操作并降低了操作方法的数量;另一方面,即使芯片表的结构发生变化也不影响该芯片表的操作方法,同时,增加或修改芯片表的操作方法也不用考虑芯片表的结构,从而增强了芯片表操作方法的可维护性。因此,芯片表与操作方法可以任意组合,可以根据用户需求调用任一操作方法对任意单个或多个芯片表进行相应操作,实现对芯片表进行灵活、高效的管理。
本发明实施例还提供一种管理芯片表的设备,以消除操作方法中耦合的芯片表结构信息数据、提取对芯片表进行统一管理的操作方法。
如图2所示,该设备包括:
源文件生成模块1,用于编写芯片表,生成芯片表的源文件;例如:通过XML语言或其它可表示芯片表域信息和结构信息的语言编写该芯片表;
操作模块3,用于对源文件生成模块1生成的源文件进行解析,得到芯片表的信息数据;设计或调用统一的操作方法对该信息数据对应的芯片表进行操作。
操作模块3可以进一步细分为:
解析单元31,用于对源文件生成模块生成的源文件进行解析,得到芯片表的信息数据;
设计单元33,用于设计与芯片表的结构分离的统一的操作方法;
调用单元35,用于调用所述设计单元33设计的统一的操作方法,所述操作方法与所述芯片表的结构分离;
操作单元37,用于遍历解析单元31解析出的信息数据对应的芯片表的所有域,根据调用单元35调用的操作方法对该芯片表的所有域进行统一操作。
如图2所示,该设备还可以进一步包括:第一存储模块5和第二存储模块7。
第一存储模块5,用于存储源文件生成模块1生成的源文件;存储的源文件便于操作模块3对芯片表进行相应操作。
第二存储模块7,用于存储与芯片表的结构分离的操作方法,例如:存储设计单元33设计的操作方法,以便于操作模块3对第一存储模块7存储的单个或多个芯片表进行统一操作,实现统一地管理。
如图2所示,该设备还可以进一步包括更新模块9,用于修改第一存储模块5和第二存储模块7的存储信息。第一存储模块5中的结构信息和第二存储模块7的操作方法分离,即使第一存储模块5存储的源文件所对应的芯片表的结构发生变化也不影响第二存储模块7中存储的统一的操作方法,同理,增加或修改芯片表的操作方法也不用考虑芯片表的结构。
本发明实施例提供的管理芯片表的设备,编写芯片表与设计操作方法分离、消除了芯片表操作方法中耦合的芯片表结构信息数据,然后根据统一的操作方法对该芯片表进行相关操作。一方面,可以提取统一的操作方法对多个或所有芯片表进行统一操作并降低了操作方法的数量;另一方面,即使芯片表的结构发生变化也不影响该芯片表的操作方法,同时,增加或修改芯片表的操作方法也不用考虑芯片表的结构,从而增强了芯片表操作方法的可维护性。因此,芯片表与操作方法可以任意组合,可以根据用户需求调用任一操作方法对任意单个或多个芯片表进行相应操作,实现对芯片表进行灵活、高效的管理。
综上所述,本发明实施例提供的技术方案可以广泛应用于交换机、路由器等网络设备中,对该设备中的芯片表进行统一管理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。