基于tlv结构的网管配置模块的实现方法及网管配置模块的制作方法

文档序号:9670599阅读:625来源:国知局
基于tlv结构的网管配置模块的实现方法及网管配置模块的制作方法
【技术领域】
[0001] 本发明设及数据通信领域,尤其设及一种基于TLV结构的网管配置模块的实现方 法。
【背景技术】
[0002] 设备的业务配置功能部分,在网管中占有比较大的比重,通过网管系统中的配置 模块可方便直观的根据实际组网情况获得网管系统中被管理设备的数据配置信息,同时对 被管理的设备下发参数配置。
[0003] 网络管理系统是一个软硬件结合W软件为主的分布式网络应用系统,通过网络管 理系统对网络进行管理,是保障网络可靠、高效且正常运行的重要手段。随着网络技术的不 断发展,应用水平的不断提高,网络环境和组网结构越来越复杂,网络管理系统的功能也在 不断地增强,同时网络管理的技术和方法也在不断地创新。
[0004] 目前已有的方案,在实现网络管理系统配置管理上,基于C/S架构的网络管理系 统配置管理前后台通信消息结构体是采用的struct结构的固定长度的结构设计,页面用 于显示配置参数值的控件均需绑定变量,而基于B/S架构实现的网络管理系统配置管理则 是通过ht化报文Wjson数据方式进行前后台通信的。 阳〇化]目前现有的技术,同样是基于C/S架构实现的网络管理系统,通过struct结构的 固定长度的消息结构体存储配置项,需要前后台定义的结构体保持一致,同时初始化结构 体时字符型配置参数的长度需要与结构体中定义的长度保持一致,否则会报错,尤其在MIB 节点有变化的情况下;在固定长度设计中需对页面显示各配置参数的控件绑定变量,配置 参数较多时,该操作较繁琐;并且网络字节序转换,初始化结构体W及从结构体取值并赋给 界面上对应的控件等均未进行封装,导致前台代码不够简洁且代码量较大,不易于后期维 护。因此怎样提供一个灵活、不易出错、方便处理的数据结构,W及缩减前台业务配置部分 的开发及维护成本和负担,使新的配置接口能满足易扩展、易维护的要求,同时方便支持未 来的需求,无疑是程序必须急待解决的问题。

【发明内容】

[0006] 鉴于上述问题,本申请记载了一种基于TLV结构的网管配置模块的实现方法,所 述方法包括:
[0007] 将用户需要配置参数创建一份XML文件;
[0008] 为设备创建一个通用配置模版文件;
[0009] 获取网管配置信息并显示;
[0010] 下发配置数据;
[0011] 其中,所述XML文件中存储有需要中英文显示的静态控件的ID,每个所述静态控 件对应全局唯一的ID。
[0012] 较佳的,配置界面基于MFC实现,在所述配置界面显示前初始化函数根据用户登 录网关系统时选择的中英文来获取所述XML文件中对应所述参数。
[0013] 较佳的,所述通用配置模版文件采用TLV变长消息结构。
[0014] 较佳的,所述通用配置模版文件包括多组MIB参数结点组成的组、MIB参数结点W 及由一组MIB参数结点组成的组。
[0015] 较佳的,所述MIB参数结点包括所述MIB参数结点对应的TAG、所述MIB参数结点 值的长度W及所述MIB参数结点的值。
[0016] 较佳的,所述由一组MIB参数结点组成的组包括缓存文件W及所述由一组MIB参 数结点组成的组的索引。
[0017] 较佳的,获取所述网管配置信息并显示的过程包括步骤:
[0018] 生成通用配置模版文件对象ObjPackage;
[0019] 调用addltem方法将要获取的所述配置参数对应的Tag值W及长度加入数组;
[0020] 调用ge证ata方法组织需要发送给server的数据,然后将组成的TLV数据、对应 的命令码和返回的消息对象作为参数调用ClientSendSyncMsg向sever发送异步消息;
[0021] 若所述消息发送成功则通过所述对象objPackage调用Se社)ata解析来自server 的报文,并按照group和item进行存储;
[0022] 调用网络字节序转换接口将转换后的值赋给Tag对应的控件来显示。
[0023] 较佳的,下发配置数据的过程包括步骤:
[0024] 获取配置界面输入框控件对应的值; 阳0巧]进行网络字节序转换,生成通用配置模版文件对象ObjPackage; 阳0%] 调用addltem方法,将转换后的值及对应的Tag值和长度,加入数组;
[0027] 调用ge证ata方法组织需要发送给server的数据;
[002引将组成的TLV数据、对应的命令码和返回的消息对象作为参数调用ClientSendSyncMsg向sever发送异步消息;
[0029] sever再将配置下发到所述设备。
[0030] 上述技术方案具有如下优点或有益效果:本发明主要用于提供一种基于TLV结构 的网管配置模块的实现方法,主要包括XML文件设计、通用配置类设计、网管配置信息获取 及显示和配置数据下发几部分。网管系统是管理多种不同设备的综合管理软件平台,本发 明在消息结构设计时充分考虑到消息结构长度的灵活性,采用了TLV可变长结构,避免了 按照固定长度的结构设计时,需要前后台定义的结构体保持一致,否则会报错的问题,尤其 在MIB节点有变化的情况下;在TLV结构设计时直接将显示页面各配置参数的控件ID与 TAG值通过MAP结构关联,省去了固定长度设计中对各个参数的显示控件绑定变量的操作; 同时对网络字节序转换,TLV的构造和解析、将配置参数赋给界面上对应的控件等操作进行 了封装,提供简单易用的调用接口。配置接口的调用,缩减了前台业务配置部分的开发及维 护成本和负担;新的配置接口,满足易扩展、易维护的要求,方便支持未来的需求,比如业务 配置的模板化。
【附图说明】
[0031] 参考所附附图,W更加充分的描述本发明的实施例。然而,所附附图仅用于说明和 阐述,并不构成对本发明范围的限制。
[0032] 图I为本发明一种基于TLV结构的网管配置模块的实现方法的总体流程图;
[0033] 图2为本发明一种基于TLV结构的网管配置模块的实现方法中获取网管配置信息 并显示过程的流程图;
[0034] 图3为本发明一种基于TLV结构的网关配置模块的实现方法中下发配置数据过程 的流程图。
【具体实施方式】
[0035] 下面结合附图和具体实施例对本发明一种基于TLV结构的网管配置模块的实现 方法进行详细说明。
[0036] 实施例一
[0037] 如图1所示,一种基于TLV结构的网管配置模块的实现方法,包括步骤:
[003引将用户需要配置的各类型的参数创建一份XML文件;
[0039] 为设备创建一个通用配置模版文件;
[0040] 获取网管配置信息并显示;
[0041] 下发配置数据。
[0042] 其中,基于TLV结构的网管配置模块的实现方法主要包括XML文件设计、通用配置 模版的设计、网关配置信息获取及显示W及配置数据的下发。
[0043] 具体来说,将用户需要配置的各类型的参数创建一份XML文件的过程主要为设及 XML文件的设计。本实施例中配置管理部分页面中英文主要基于XML文件实现,配置界面是 基于MFC实现的,界面上的元素由不同的控件组成,每个控件均对应全局唯一的ID。在XML 文件中,根据需要中英文显示的静态控件的ID存储对应的中英文,在界面显示前的初始化 函数化InitDialog中根据用户登录网管系统时选择的中英文来获取对应的中英文并调用 SetWindowText函数显示。W端口镜像配置为例:
[0044] <DLG_M{R民OR-CFG> <STATIC_M化民OR_PO财兴 <ZH>镜像端口号</ZH> <EN>MirrorPort</EN> </STATIC-MWROR-PORT〉 <STATIC_MIR艮 0R_ING艮ESSP0RT> <ZH> 进端口 </ZH> <EN>MirrorlngressPort</EN> </S7ATIC_MIRROR_JNGRESSPORT> <STATIC_MIR艮 0R_EGRESSP0RT> <ZH>出端口</ZH> <EN>Mim)化隻傲沈oit</EN> </STAT!C_MI民民OR_EG民ESSPORT> </DLG_M化艮 0R_CFG>
[0045] 为设备创建一个通用配置模版文件的过程主要设及通用配置模版文件的设计。本 实施例中前后台通信的消息结构,采用TLV变长消息结构,通用配置类CCommConfig(即通 用配置模版文件)在设计之初充分考虑到接口的易扩展性和易维护性,同时要方便支持未 来的需求,并且通过配置接口的调用可W缩减前台业务配置部分的开发及维护成本和负 担。对网络字节序转换,TLV的构造和解析等进行了封装,提供简单易用的调用接口。
[0046] 用配置类CCommConfig属性如下表1所示:
[0047] 表 1CCommConfig成员列表
[0048]
[0049] 主要方法及功能如下:
[(K)加]CCommConfig: : createGroup方法:包!建一个item group,并添加到数组末尾;
[0051] CCommConfig: :addltem方法:往数组中最后一个group中添加一个item ;
[0052] CCommConfig: :getData方法:组织需要发送给server的数据; 阳化引 CCommConfig::SetData方法:解析来自server的报文,并按照group和item进 行存储;
[0054] CCommConfig: :getItemInfo方法:根据结点对应的TAG值,在解析后的Group中 取出对应的值; 阳化5] 其中,CTlvItem和CTlvItemGroup为通用配置类成员对应的类,CTlvItem是MIB 参数结点类,CTlvItemGroup是MIB参数结点组成的组类。
[0056] CTlvItem成员列表及主要方法如表2所示:
[0057] 表2 CTlvItem成员列表
[0059] 主要方法及功能如下:
[0060] CTlvItem: : getItemID方法:取MIB参数结点对应的TAG ;
[0061] CTlvItem: :getValue方法:取MIB参数结点对应的值;
[0062] CTlvItem: : getSize方法:取MIB参数结点值的长度;
[0063]CTlvItemGroup成员列表及主要方法表3所示:
[0064]表 3CTlvItemGroup成员列表 阳0化]
[0066] 主要方法及功能:
[0067]CTlvItemGroup: :addltem方法:新创建一个item;
[0068]CTlvItemGroup::getItemInfo方法:读取该组中的一个item信息;
[0069]CTlvItemGroup: :getData方法:把该组的所有item转化为TLV的格式;
[0070]CTlvItemGroup: :release方法:删除该组中
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1