试论网络数据信息管理软件中间层的设计
试论网络数据信息管理软件中间层的设计 【摘要】基于XML的新一代互联网网管已经成为当今网络软件中间 件管理发展的新趋势,越来越多的设备、服务及平台都宣称支持XML技术。它 是一种数据交换格式,允许在不同的系统或应用程序之间交换数据,通过一种网 络软件中间件化的处理机构来遍历数据,每个网络软件中间件节点存储或处理数 据并且将结果传输给相邻的节点。【关键词】XML 中间件 节点 XML是一种使用标记来标记内容以传输信息的简单方法。标记用于 界定内容,而XML的语法允许我们自行定义任意复杂度的结构。它是一组用于 设计数据格式和结构的规则和方法,易于生成便于不同的计算机和应用程序读取 的数据文件。这使得XML具有以下特性:
(1)通过使用可扩充标记集提供文档内容的更准确说明 (2)可用标准化语法来验证文档内容 (3)使用户与应用程序之间文件交换更容易 (4)支持高级搜索 (5)将文档结构与内容分开,易于用不同形式表现相同内容 (6)XML改进用户响应、网络软件中间件负载和服务器负载 (7)XML支持Unicode XML还有其他许多优点,比如它有利于不同系统之间的信息交流, 完全可以充当网际语言,并有希望成为数据和文档交换的标准机制。
由于XML具有以上诸多特性,使得它的实际应用范围十分广泛。采 用基于XML的网络软件中间件管理技术采用XML语言对需交换的数据进行编码, 为网络软件中间件管理中复杂数据的传输提供了一个极佳的机制。XML文档的 分层结构可以对网络软件中间件管理应用中的管理者-代理模式提供良好的映射, 通过XSLT(Extensible Stylesheet Language Transformations)样式表可以对XML数 据进行各种格式的重构和转换,加上XML已经被广泛应用于其它领域,各种免费和商业的XML开发工具发展异常迅速,因此使用XML来定义管理信息模式和 处理管理信息十分便利。
1、插件技术设计 我们已经习惯于一个人独立进行软件开发,每个人都使用自己的风格 进行程序设计,但随着工程项目变大或者是对时间要求比较紧时,就需要几个人, 十几个人,甚至是上百个人协作进行软件开发与设计,这时一个比较棘手的问题 就是如何将若干人所编写的软件代码(有可能是链接库、组件)进行无缝地集成, 纵然进行源代码集成是个比较传统也比较成熟的方式,适当使用链接库或组件, 也可减少源代码的泄露,但经常的情况是每一次的程序集成和代码维护都需要重 新编译与链接源代码和重新发布新软件,这种工作有时又是非常麻烦的。那么就 有疑问产生,能不能有一种方法将需要开发的目标软件分为若干功能部件,各部 件之间遵循着标准接口规定,这样在各个部件按要求开发之后,在进行整个软件 集成时只是将需要的部件进行组装,而不是集成各源代码或链接库进行编译与链 接,需要新的功能组件时也是按规定开发,之后只进行组装软件就可以使用,这 就是使用一种二进制的软件集成方法。这就是平台+插件的软件设计方法。
1.1 软件插件中间件技术流程 软件插件技术是现代软件设计思想的体现,着名的Photoshop、Word、 Excel都或多或少的利用了插件技术。插件技术改变了以前的单窗体、多窗体界 面,实现了不同功能模块的无缝结合。插件技术更易于造就一个庞大复杂的软件。
各用户软件领域所应用的插件技术可分为三种类型:
一是类似批命令的简单插件(文本插件)。事实上这种插件的自由度非 常低。使用这种方法的软件有Win Hacker等,运行这种插件后,会一步步要求用 户进行选择/输入,最后根据用户的输入来执行一系列事先定义好的操作。这种 插件一般是文本文件。功能比较单一,可扩展性极小。优点是插件做起来非常方 便,即使是对程序设计了解不多的人也可以制作。如WinAmp的Skin。
二是使用一种特殊的脚本语言来实现的插件(脚本插件)。这种插件比 较难写,需要软件开发者自己制作一个程序解释内核。比如微软惹了很多麻烦的 宏就是这种类型的。Microsoft Office就提供了开发者用于扩展辅助功能的内置 VBScript(VBA)。这种方法的优点在于无需使用其它工具来制作插件,软件本身 就可以实现,普 遍出现于各种办公自动化软件中。三是利用已有的程序开发环境来制作插件(程序插件)。例如PhotoShop 等软件使用的方法。使用这种方法的软件在程序主体中建立了多个自定义的接口, 使插件能够自由访问程序中的各种资源。这种插件的优势在于自由度极大,可以 无限发挥插件开发者的创意,这种插件是狭义范围的插件,也是真正意义上的插 件。而这种插件机制的编写相对复杂,对于插件接口之间的协调比较困难,插件 的开发也需要专业的程序员才能进行。
1.2 插件技术在中间件系统的应用模 式 网络中间件管理系统的多处设计都使用了插件技术,比如在:数据采 集方面即使用了java script,也用了程序插件;在配置管理方面使用了简单插件;在 故障管理的处理行为方面使用了程序插件。
总之,管理平台本身已实现一种通用的平台+插件软件开发的框架模 式,通过实践证明这种思路和设计方法可行,可以应用到具体软件开发上。通过 这种方式可以很好地解决软件合作开发与集成问题,对有版本级别的软件开发更 为有用。高级版的软件安装有高级版的插件,低级版的软件不安装高级版的插件, 这就给程序分发和开发带来极大的便利。对于有系列化功能的软件,系列化功能 由插件实现。
2、NetFlow技术设计 Netflow技术首先被用于网络软件中间件设备对数据交换进行加速, 并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。经过多年的技术演 进,Netflow原来用于数据交换加速的功能已经逐步由网络软件中间件设备中的 专用ASIC芯片实现,而对流经网络软件中间件设备的IP数据流进行测量和统计 的功能也已更加成熟,并成为了当今互联网领域公认的最主要的IP/MPLS流量分 析,统计和计费行业标准。Netflow技术能对IP/MPLS网络软件中间件的通信流量 进行详细的行为模式分析和计量,并提供网络软件中间件运行的详细统计数据。
为对运营商网络软件中间件中不同类型的业务流进行准确的流量和 流向分析与计量,首先需要对网络软件中间件中传输的各种类型数据包进行区分。
由于IP网络软件中间件的非面向连接特性,网络软件中间件中不同类型业务的通 信可能是任意一台终端设备向另一台终端设备发送的一组IP数据包,这组数据包 实际上就构成了运营商网络软件中间件中某种业务的一个数据流(Flow)。如果管 理系统能对全网传送的所有数据流进行区分,准确记录传送时间、传送方向和数据流的大小,就可以对运营商全网所有业务流的流量和流向进行分析和统计。