一种网元管理系统界面交互开发系统及方法

文档序号:6603131阅读:146来源:国知局
专利名称:一种网元管理系统界面交互开发系统及方法
技术领域
本发明涉及一种开发系统及方法,尤其涉及一种网元管理系统(EMS)界面交互开发系统及方法。
背景技术
随着网络技术的不断发展以及网络规模的不断扩大,用户对网络的需求也在不断 增加,网络管理已成为网络发展中的一个至关重要的技术,是网络可靠、安全以及高速运行 的保障。目前,国内外的网络设备提供商多达上百个,制造的设备种类非常丰富,设备型号 多种多样,满足了多种应用需求,适用于各种环境。面对数量庞大,种类繁多的网络设备,如 何设计一个灵活的可扩展的界面交互体系框架,以实现多种设备的全面可视化网络管理是 当前研究的热点问题。模型-视图-控制器(Model View Controller,MVC)强制性地使应用程序的输 入、处理和输出相互分开,使MVC应用程序被分成三个核心部件模型、视图以及控制器,它 们各自处理自己的任务。视图(View)是用户能够看到的并能与之进行交互的界面,不管用户数据如何变 化,视图只是一种输出数据并允许用户进行操作的方式。模型(Model)表示企业数据和业务的处理逻辑。在MVC的三个部件中,模型拥有 最多的处理任务。模型与数据无关,这也就意味着一个模型能为多个视图提供数据,一次编 写的模型代码可以被多个视图重用,提高了代码的重用性。控制器(Controller)主要用于接收用户的输入并调用模型和视图去完成用户的 需求。控制器不做任何逻辑处理,也不输出任何东西,它只是接收用户请求,选择使用哪个 模型去处理用户请求,并决定将处理后的结果使用哪个视图展示给用户。图1为现有技术中MVC处理模型示意图。如图1所示,首先控制器接收用户通过 视图提出的欲进行交互的用户请求(User Action),并选择与该用户请求对应的模型进行 处理(Updatel);然后模型通过业务逻辑来响应处理用户请求,并向控制器返回处理结果 (Notify);最后控制器根据处理结果选择(Update2)对应的视图,并通过视图将结果数据 展示给用户。电信管理网络(TMN)为电信网络管理目标的实现提供了一套整体解决方案。TMN 模型定义了四个管理层面,分别为网元层、网络层、运维层以及业务层,每个管理层面都有 相应的管理系统。网元管理系统(EMS,也称厂家网管或者专业网管),关注设备上的配置、资源以及 故障信息。EMS是管理特定类型的一个或多个电信网络单元(NE)的系统,处在TMN模型的 最底层即网元层,实现了对网络设备的管理,是网络管理的基础,决定着网络业务的服务质量。EMS直接面向设备,与设备之间多采用简单网络管理协议(SNMP),也有采用串口甚至套接字(SOCKET)的私有管理协议等方式进行管理。主要侧重于以下几个方面(1)网元的配置管理。(2)网元资源信息的采集。(3)网元故障信息的收集。(4)网元性能数据的采集。由于客户机/服务器(C/S)模式具有数据处理速度快、效率高,网络关系简单,网络带宽开销小等优点,因而在开发EMS时多采用传统的C/S模式的体系架构,如图2所示。作为和设备直接交互的网元管理系统,需要对设备进行全面网管,这就要区分不 同种类和型号的设备,进行不同功能点的设计和开发,因而在开发EMS的过程中需要针对 不同设备进行不同的界面展示和数据交互。但是由于通信领域中的网络设备种类繁多,型 号数量众多,使得EMS的开发人员的工作异常复杂且工作量巨大,同时又带有大量的重复 性劳动。发明人经过分析研究,认为目前开源的MVC设计框架并不能很好地满足EMS的功 能开发,原因在于(1)基于开源的开发框架需要开发人员有相对较广的知识面,而这些知识又过于 复杂,开发人员难以全面掌握;(2)MVC设计框架的升级换代过于频繁,需要开发人员花费大量的时间和精力来不 断学习了解;(3)企业级的应用开发需要一个统一的开发平台,以提高EMS的开发效率和质量, 这显著提高了开发成本。鉴于以上存在的问题,有必要提供一种高效的EMS开发系统及方法。

发明内容
本发明所要解决的技术问题,在于需要提供一种网元管理系统界面交互开发系统 及方法,以提高EMS的开发效率。为了解决上述技术问题,本发明提供了一种网元管理系统界面交互开发系统,包 括表示层、逻辑层以及持久化层,其中所述表示层,用于接收包含请求类型和请求对象的用户请求,根据所述请求类型 和请求对象从界面显示信息配置文件中获取数据对象,将所述请求类型及数据对象封装成 处理请求发送给所述逻辑层,并根据所述逻辑层发送的处理请求结果完成与用户的交互;所述逻辑层,用于对所述处理请求进行解析,根据所述请求类型及数据对象的详 细信息区分数据走向,根据所述请求类型在本地完成数据操作和/或向所述持久化层发送 数据操作命令;将在本地完成数据操作获得的第一业务数据和/或处理所述持久化层反馈 的数据操作结果获得的第二业务数据封装在所述处理请求结果中发送给所述表示层;所述持久化层,用于根据所述数据操作命令与数据库和/或设备完成数据操作, 获得所述数据操作结果反馈给所述逻辑层。优选地,所述表示层包括界面组件模块、封装/解析模块及处理模块,其中所述界面组件模块,用于接收所述用户请求,将所述用户请求发送给所述封装/ 解析模块,并用于接收所述封装/解析模块发送的所述第一业务数据和/或第二业务数据,将所述第一业务数据和/或第二业务数据展示给用户;封装/解析模块,用于根据所述请求类型和请求对象从网元类型配置文件中获取相关网元的界面显示信息配置文件,从界面显示信息配置文件中获取所述数据对象,将所 述请求类型及数据对象封装在所述请求对象中,将所述请求对象发送给所述处理模块;还 用于接收所述处理模块发送的请求对象结果,从所述请求对象结果中解析出所述第一业务 数据和/或第二业务数据,将所述第一业务数据和/或第二业务数据发送给所述界面组件 模块;处理模块,用于将所述请求对象封装成所述处理请求,将所述处理请求发送给所 述逻辑层,并用于接收所述逻辑层发送的所述处理请求结果,将所述处理请求结果解析成 所述请求对象结果,将所述请求对象结果发送给所述封装/解析模块。优选地,所述表示层进一步包括适配模块,用于接收所述界面组件发送的特殊数据,将所述特殊数据转换为可读 数据并反馈给所述界面组件模块;其中,所述界面组件模块进一步用于判断所述第一业务数据和/或第二业务数据 是否包含有特殊数据,是则将所述特殊数据发送给所述适配模块,并接收所述可读数据,将 所述可读数据以及所述第一业务数据和/或第二业务数据中除所述特殊数据之外的其余 内容展示给用户。优选地,所述逻辑层包括控制命令模块、逻辑处理模块以及数据处理模块,其中所述控制命令模块,用于接收所述处理请求,对所述处理请求进行解析,获得所述 请求类型及数据对象并发送给所述逻辑处理模块;还用于将所述逻辑处理模块发送的所述 处理请求结果发送给所述表示层;所述逻辑处理模块,用于根据所述数据对象的详细信息区分数据走向,所述数据 对象为内存时,根据该请求类型构造本地操作请求发送给所述数据处理模块,所述数据对 象为数据库和/或设备时,根据该请求类型构造数据操作请求发送给所述数据处理模块; 还用于将所述数据处理模块发送的处理请求结果发送给所述控制命令模块;所述数据处理模块,用于根据所述本地操作请求在所述内存中完成数据操作,获 得第一业务数据,用于将所述数据操作请求处理成所述数据操作命令并发送给所述持久化 层;还用于将所述持久化层反馈的数据操作结果处理成所述第二业务数据,将该第一业务 数据和/或第二业务数据封装在所述处理请求结果中发送给所述逻辑处理模块。优选地,所述逻辑层进一步包括基本工具模块及资源配置模块,其中所述基本工具模块,用于完成公共的基本操作功能;所述资源配置模块,用于界面展示的国际化处理,设备界面中图片文件的读取,数 据库连接所需信息的读取和各种资源配置文件的读取。优选地,所述持久化层包括数据库接口模块和设备接口模块,其中所述数据库接口模块,与数据库相连,用于根据所述数据操作命令在所述数据库 中完成数据操作,获得数据操作结果反馈给所述逻辑层;所述设备接口模块,与设备相连,用于根据所述数据操作命令在所述设备上完成 数据操作,获得数据操作结果反馈给所述逻辑层。为了解决上述技术问题,本发明还提供了一种网元管理系统界面交互开发方法,应用于网元管理系统界面交互开发系统,所述系统包括表示层、逻辑层及持久化层,该方法包括所述表示层接收包含请求类型和请求对象的用户请求,根据所述请求类型和请求 对象从界面显示信息配置文件中获取数据对象;所述表示层将所述请求类型及数据对象封装成处理请求发送给所述逻辑层;所述逻辑层对所述处理请求进行解析,根据所述数据对象的详细信息区分数据走 向,根据所述请求类型在本地完成数据操作和/或向所述持久化层发送数据操作命令;所述持久化层根据所述数据操作命令与数据库和/或设备完成数据操作,获得所 述数据操作结果反馈给所述逻辑层;所述逻辑层将在本地完成数据操作获得的第一业务数据和/或处理所述数据操 作结果获得的第二业务数据封装在一处理请求结果中,将该处理请求结果发送给所述表示 层;所述表示层根据所述处理请求结果完成与用户的交互。优选地,所述表示层根据所述用户请求从界面显示信息配置文件中获取数据对象 的步骤,包括所述表示层根据所述请求类型和请求对象从网元类型配置文件中获取所述界面 显示信息配置文件,从所述界面显示信息配置文件中获取所述数据对象。优选地,所述网元类型配置文件根据各网元的配置信息编写而成,包含网元的相 关名称、网元管理系统版本、网元对应的配置文件路径和界面国际化文件路径;所述界面显示信息配置文件根据各网元的配置功能点编写而成,包含网元的所有 功能的界面显示信息。优选地,所述逻辑层对所述处理请求进行解析,根据解析获得的所述数据对象的 详细信息区分数据走向的步骤,包括所述逻辑层对所述处理请求进行解析,获得所述请求类型及数据对象,并根据数 据对象从网元管理系统(EMS)数据来源配置文件中获取该数据对象的详细信息,根据所述 数据对象的详细信息区分数据走向,所述数据对象为内存时,根据该请求类型构造本地操 作请求,在本地完成数据操作;所述数据对象为数据库和/或设备时,根据该请求类型构造 数据操作命令发送给所述持久化层。优选地,所述EMS数据来源配置文件根据各网元的数据项信息编写而成,包括所 述数据对象的类型和每个数据项的逻辑名、物理名、取值范围、业务数据和物理数据的转换类。与现有技术相比,本发明以MVC模式为基础,充分利用C/S模式的可视化开发方 式和数据处理速度快、效率高等特点,实现了组件式EMS界面交互开发技术,提高了 EMS的 开发效率和代码的复用性,减少了开发人员的工作量,提高了 EMS的灵活性、稳定性和健壮 性。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1为现有技术中MVC处理模型示意图;图2为现有技术中C/S模式的体系架构示意图;图3a为本发明开发系统实施例的组成示意图;图3b为图3a所示实施例中表示层的组成示意图;图3c为图3a所示实施例中逻辑层的组成示意图;图3d为图3a所示实施例中持久化层的组成示意图;图3e为本发明界面配置文件实例中Table界面示意图;图3f为本发明界面配置文件实例中List界面示意图;图4为本发明开发方法实施例的流程示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用 技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结 合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机 可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况 下,可以以不同于此处的顺序执行所示出或描述的步骤。图3a为本发明开发系统实施例的组成示意图。如图3a所示,该系统实施例主要 包括表示层310、逻辑层320以及持久化层330,在写数据过程中表示层310,与该逻辑层320连接,用于接收用户请求,该用户请求中包含了请求 类型和请求对象,并根据请求类型和请求对象从网元类型配置文件中获取相关网元的界面 显示信息配置文件,从界面显示信息配置文件中获取数据对象,将请求类型及数据对象封 装成处理请求发送给逻辑层320,并接收逻辑层320发送的处理请求结果,并从该处理请求 结果中解析出第一业务数据和/或第二业务数据,将该第一业务数据和/或第二业务数据 展示给用户,完成与用户的数据交互;其中该请求类型表示该用户请求是读数据请求还是 写数据请求,如果是写数据请求,则请求类型中还包括用户提交的欲写入的数据;请求对象 比如为本地内存、外部的数据库或外部的设备;数据交互包括向用户展示所读取的数据和 /或接收用户要写入的数据;逻辑层320,与该表示层310及持久化层330连接,用于接收该表示层310发送的 处理请求,对该处理请求进行解析并获得该用户请求中所包含的请求类型以及数据对象, 并根据数据对象从EMS数据来源配置文件中获取该数据对象的详细信息,根据该数据对象 的详细信息区分数据走向,该数据对象为内存时,根据该请求类型在本地内存完成数据操 作(分为读数据操作或写数据操作),获得第一业务数据(读数据操作时该第一业务数据 为所读取到的数据,写数据操作时该第一业务数据为写操作完成后的反馈数据);该数据 对象为数据库或设备时,根据请求类型生成数据操作命令发送给持久化层330,接收持久化 层330反馈的数据操作结果,处理该数据操作结果获得第二业务数据;将该第一业务数据和/或第二业务数据封装在一处理请求结果中,将该处理请求结果发送给表示层310 ;其中该请求对象附带有内存地址、数据库中的表名或者设备上的管理信息库(mib)节点名等对 象信息;该数据对象的详细信息包括该数据对象的类型和数据对象中每个数据的逻辑名、 物理名、取值范围、业务数据和物理数据的转换类等;该数据操作命令中包含操作类型(该 操作类型包括读数据操作或者写数据操作);持久化层330,与该逻辑层320相连,用于接收该逻辑层320发送的数据操作命令, 并将该数据操作命令转换为与数据库500和/或设备600进行交互的操作命令,并根据该 操作命令与数据库和/或设备完成数据操作(读数据操作或者写数据操作),获得数据库 500和/或设备600反馈的数据操作结果(读数据操作所获得的数据,或者写操作完成后的 反馈数据),并将数据操作结果反馈给逻辑层320 ;其中该操作命令,比如与设备交互可以 是简单网络管理协议(SNMP)命令,与数据库交互可以是一些数据库操作命令,如SQL语句寸。其中,上述网元类型配置文件包括EMS开发过程中所涉及的各类网元的配置文 件,是根据各网元的型号、功能等配置信息所编写的,包含网元的相关名称、EMS版本、网元 对应的配置文件路径和界面国际化文件路径等。在EMS开发过程中,不同的网元会有不同 的配置文件,同一系列的网元由于功能、型号的不同,网元类型配置文件可能也会有所不 同。上述界面显示信息配置文件根据各网元的配置功能点编写而成,包含了该网元的 所有功能的界面显示信息。开发人员可根据不同网元的不同功能配置灵活的界面显示信息 (如界面显示的样式、某项功能点的读写属性、数据适配器等)和数据来源信息。上述EMS数据来源配置文件根据各网元的数据项信息编写而成,包括所述数据对 象的类型和每个数据项的逻辑名、物理名、取值范围、业务数据和物理数据的转换类等;开 发人员可根据具体应用灵活的为每个数据项定义恰当的逻辑名、取值范围和转换类。上述表示层310还用于进一步判断该用户请求中的请求类型中是否包含有特殊 数据(比如在写数据的操作中,用户提交的欲写入的数据包含有特殊数据;用户提交的欲 写入的数据包含在请求类型中),如果包含有则进一步将请求类型中的特殊数据转换成能 够直接在内存中操作的业务数据和/或能够直接在数据库或设备中操作的业务数据,然后 再进行处理请求的封装。上述逻辑层320区分该业务数据信息的数据走向,指的是逻辑层320判断表示层 310需要得到何种类型的数据,比如在读数据过程中,如果需要得到内存驻留数据则直接从 内存发送读取指令,从内存中读取数据,如果需要得到数据库数据(数据库中的物理数据) 和/或设备数据(设备上的物理数据),则向持久化层330发送读取指令;持久化层330根 据读取指令从数据库中获得数据库数据,从设备上获取设备数据,并将数据库数据和/或 设备数据反馈给逻辑层320。逻辑层320在获得所读取的数据(内存驻留数据、数据库数据 和设备数据中的一种或几种)后,将所读取的数据处理成处理请求结果发送给表示层310。上述内存驻留数据主要分为两大类,一类情况是为了增加数据响应速度而放在内 存中的数据,可以是中间数据、也可以是之前获得并于当前暂存在内存中的数据库数据和/ 或设备数据,通常针对功能的不同按照需求将数据库数据和/或设备数据驻留在内存,这 样就不需要频繁地读取数据库和/或设备;另一类情况是一些辅助性的中间逻辑数据和/或一些常量数据,这些数据用来标识数据类型,数据操作的类型等等,同时也用于进行一些逻辑判断或处理。上述的设备数据,是设备上的物理数据(其中包括一些设备上的特殊数据),其中 该物理数据例如SNMP协议中定义的数据类型,其中该特殊数据例如ip、mac地址、时间戳等。上述的数据库数据、设备数据和内存驻留数据,有些是相同的数据。根据需求有些 设备上的数据需要写入数据库或驻留内存;数据库中的数据一部分来源自设备,是设备上 的配置数据或资源数据,一部分是网管软件所需的数据;数据库的某些数据有时也需要驻 留内存。比如在一个具体应用中,一个设备功能需要读取某些参数,这些参数一般通过跟设 备交互获得,有时候参数是固定不变的常量,那就可以直接从内存中获得,或从数据库或设 备中取出直接驻留内存,方便经常使用。当需要对设备中的数据进行增加、修改或删除操作 时,就先与设备交互进行数据操作,成功后修改相应的内存驻留数据或数据库数据,有些操 作不是立即需要对数据库数据和设备数据进行统一的,当需要进行同步时,就将设备中的 数据与数据库中的相应数据进行数据同步,达到数据的统一性,一般以设备数据为准。如图3b所示,表示层310主要包括界面组件模块311、封装/解析模块312、处理 模块313以及适配模块314,其中界面组件模块311,用于接收用户请求,将该用户请求发送给封装/解析模块312, 并接收封装/解析模块312发送的该第一业务数据和/或第二业务数据,进一步用于判断 该第一业务数据和/或第二业务数据中是否包含特殊数据,包含将该特殊数据发送给适配 模块314,接收适配模块314反馈的可读数据,将该可读数据以及该第一业务数据和/或第 二业务数据中除该特殊数据之外的其余内容展示给用户(将该特殊数据发送给适配模块 314或者说调用适配模块314的前提是界面显示信息配置文件中配置了该特殊数据转换需 要调用的适配模块314);封装/解析模块312,与界面组件模块311相连,用于接收界面组件模块311发送 的用户请求,并根据请求类型和请求对象从网元类型配置文件中获取相关网元的界面显示 信息配置文件,从界面显示信息配置文件中获取数据对象,将请求类型及数据对象封装在 请求对象中,将该请求对象发送给处理模块313 ;还用于接收处理模块313发送的请求对象 结果,并从请求对象结果中解析出该第一业务数据和/或第二业务数据,将该第一业务数 据和/或第二业务数据发送给界面组件模块311 ;处理模块313,与封装/解析模块312相连,用于接收封装/解析模块312发送的 请求对象,将请求对象的请求类型及数据对象封装成处理请求,并将该处理请求发送给逻 辑层320 ;还用于接收逻辑层320发送的处理请求结果,并将该处理请求结果解析成请求对 象结果,将该请求对象结果发送给封装/解析模块312 ;适配模块314,与该界面组件模块311相连,用于接收该界面组件模块311发送的 特殊数据,将该特殊数据转换成可读数据并反馈给该界面组件模块311。上述界面组件模块311包括设备界面模块和功能界面模块,其中设备界面模块用 于确定设备外形以及设备上板卡和端口的工作状态等设备界面组件,通过适配模块314的 辅助,可以显示设备上有多少插槽、有多少板卡和端口等;不同类型的板卡和端口的外形一 般不相同;其中板卡和端口的工作状态可以用指示灯进行区分;其中功能界面模块用于确定设备所支持的具有配置功能的功能界面组件,通过适配模块314的辅助,可以向用户展示数据和/或接收用户要写入的数据;其中的配置功能主要是设备功能值的配置,比如端 口是否使能,端口带宽的设置等,以及一些展现数据信息或和用户进行交互的界面(如按 钮、文本框、选择框等);其中该设备指的是用户在网管系统中选择管理的某个设备,网管 系统可以添加多款设备,每一款设备型号都有相应的界面显示信息配置文件,用户选择管 理某个设备时便会将设备所支持的功能按照树的形式展现出来,点击不同的功能会展现出 不同的界面(由不同的功能界面组件展现),不同的功能点使用哪个功能界面组件去展现 是配置在界面显示信息配置文件中的。上述适配模块314主要用于界面展示,将业务数据根据不同的功能应用进行重组 或转换,以方便界面按照功能点的方式进行数据交互。这里所说的业务数据可以理解为中 间数据,即逻辑层中的数据。一般网络设备的基本组成包括机箱、板卡、插槽、端口和指示灯等,所以在设备界 面模块中分为机箱组件、板卡组件、插槽组件、端口组件和指示灯组件等,各个组件中的基 本配置数据(比如图片数据、端口的位置和方向数据、默认显示数据等)写在ml配置文件 中,方便查找;以Java面向对象方法为例,每个组件在实现上可以抽象为各个Java类,例 如板卡(CardObject. java)、端□ (PortObject. java)、才旨TjV灯(LampObject. java)等;上述的功能界面组件的种类是多种多样的,一般包括图表组件、列表/表行组件、 显示树组件、选择组件和针对一些特殊数据(IP地址、Mac地址和时间戳数据等)的显示组 件;其中的特殊数据比如为IP地址时,假设设备上的IP地址为192,-88,20,-54(这是IP 地址的一种需要转换的类型,有的就是直观的IP地址(192. 168. 20. 202),不需转换),则转 换后的可读的IP地址为192. 168. 20. 202 ;特殊数据比如为Mac地址时,假设设备上的Mac 地址(设备上是二进制,这里为了方便写成十进制表示)为(17,-35,62,-60,-59,107), 则转换后的可读的Mac地址为ll:dd:3e:C4:C5:6b ;特殊数据为时间戳时,假设设备上的 时间戳数据为_68,24,-77,50,7,-95,-10,-40 (用64位二进制表示的1900年1月1日 0点0分0秒起到2000年1月1日17点10分13. 639秒的秒数),则转换后的可读的时间 为Sat Jan 0117:10:13. 639 UTC 2000。上述适配模块314的存在,使得用户能够直观地 阅读设备上报的各种数据。由于设备上报的数据很多时没有可读性的,不一定是用于日常 生活中能够直接阅读数据,上述适配模块314便是用于将这些没有可读性的数据转换为可 以直接认知的数据以便用户阅读。如图3c所示,逻辑层320主要包括控制命令模块321、逻辑处理模块322、数据处 理模块323、基本工具模块324和资源配置模块325,在读数据过程中控制命令模块321,与表示层310相连,用于接收表示层310发送的处理请求,并对 处理请求进行解析,获得其中的请求类型和数据对象,将请求类型和数据对象发送给逻辑 处理模块322 ;还用于将逻辑处理模块322发送的处理请求结果发送给表示层310 ;逻辑处理模块322,与控制命令模块321、数据处理模块323、基本工具模块324和 资源配置模块325相连,主要用于接收控制命令模块321发送的请求类型和数据对象,并根 据数据对象从EMS数据来源配置文件中获取该数据对象的详细信息,根据数据对象的详细 信息区分数据走向,如果该数据对象为内存,则根据该请求类型构造本地操作请求发送给 数据处理模块323,如果该数据对象为数据库和/或设备,则根据请求类型构造数据操作请求发送给数据处理模块323 ;还用于将数据处理模块323发送的处理请求结果发送给控制命令模块321 ;数据处理模块323,与持久化层330及逻辑处理模块322相连,用于根据逻辑处理 模块322发送的本地操作请求,在内存中完成数据操作,获得第一业务数据,将逻辑处理模 块323发送的数据操作请求处理成数据操作命令,将该数据操作命令发送给持久化层330, 在写数据操作过程中,该数据操作命令中包含有需要发送给数据库或设备的物理数据;还 用于接收持久化层330反馈的数据操作结果,该数据操作结果中包含有物理数据和特殊数 据,将数据操作结果处理成第二业务数据;还用于将该第一业务数据和/或第二业务数据 封装在处理请求结果中,将该处理请求结果发送给逻辑处理模块322 ;其中的物理数据例 如简单网络管理协议(SNMP)中定义的数据类型,其中该特殊数据例如ip、maC地址、时间戳寸。比如对数据库或设备的读操作,数据处理模块323则向持久化层330下发数据获 取命令去数据库或设备中获取数据;如果是写操作则向持久化层330发送数据写命令,该 数据写命令中包括有写操作的数据值(例如写设备,数据值包括设备中mib节点的OID值 (mib节点的唯一标识)和要写入设备的数据value,OID和value是一一对应的),并将要 写入数据库或设备中的数据值转换为数据库或设备中的物理数据发送给持久化层330 ;基本工具模块324,与逻辑处理模块322相连,主要用于完成一些公共的基本操作 功能,例如传输协议的解析和封装,各种对象的序列化,数据库读写操作,xml等配置文件的 读取和系统日志的读写等操作;资源配置模块325,与逻辑处理模块322相连,主要用于界面显示的国际化处理, 设备界面中图片文件的读取,数据库连接所需信息的读取和各种资源配置文件的读取(包 括数据处理模块323配置文件、设备mib数据配置文件和界面显示配置文件等)等资源配 置操作,一般配合其他模块使用。下面是本发明系统实施例读写数据的主要过程(以读写数据库或设备为例,没有 包含区分数据走向的部分)(一)读数据(查操作)当用户点击EMS管理系统中功能点(例如要查看设备的基本属性,如软件版本、生 产商等属性)时,表示层310接收用户的请求,调用相应的界面显示组件获得请求的数据对 象,并将数据对象封装在请求对象中通过处理请求发送给逻辑层320。逻辑层320接收到处理请求后由控制命令模块解析处理请求,并将解析的结果传 送给逻辑处理模块,逻辑处理模块获取到请求后将请求转换为物理数据(请求中可能是物 理表名对应的逻辑表名,需要将逻辑名转换为物理名)传送给持久化层330。持久化层330接收到请求命令后生成数据获取命令(数据库操作语句或操作设备 的SNMP命令)操作数据库或设备,并将数据操作结果(获取到的物理数据)传送给逻辑层 320,逻辑层320将接收到的物理数据转换为业务数据(针对特殊数据会调用数据处理模块 进行转换)并将业务数据传输给表示层,表示层310通过界面展示组件和接收到的业务数 据(需要转换为用户可识别的可读数据时调用适配模块314进行转换)展示给用户。( 二)写数据(增、删、改等操作)当用户打开EMS管理系统中功能点,要进行添加、修改或删除操作(例如针对设备端口添加或删除转换路径、修改设备某个端口的控制流量的大小等)时,表示层310通过添 加、修改或删除界面接收用户的写操作请求命令,将请求命令(包括写操作的数据值,这些 数据值可以是通过适配模块转换后的数据,属于业务数据)发送给逻辑层320。逻辑层320 中的控制命令模块接收并解析请求命令,将解析后的命令传送给逻辑处理模块,逻辑处理 模块将要下发设备或数据库的业务数据转换为物理数据(针对特殊数据调用数据处理模 块),并将物理数据包含在传送给持久化层330的命令中转送给持久化层330。持久化层330将接收到的命令转换为下发设备命令或操作数据库的命令进行写 设备或数据库操作,并将数据操作结果返回给逻辑层320,逻辑层320对数据操作结果进 行判断解析(结果中包含操作错误码,如操作设备,有相应超时、数据类型错误、节点不存 在等错误码),将错误码映射为提示信息封装在处理请求结果中传送给表示层310,表示层 310接收到处理请求结果后,将提示信息展现给用户。对于写操作,一般是写设备或数据库成功时,同时更新内存数据,内存中大多存放 经常读取的设备数据或数据库数据,方便数据读取,提高响应速度;有一小部分是用于逻辑 处理的内存驻留数据,当写操作涉及到这些数据时便会直接更改内存数据。在逻辑处理模块322实现了对业务数据的区分,将表示层310所需的业务数据分 为内存驻留数据、数据库数据和设备数据,同时对数据库数据和设备数据,以及需要特殊处 理的特殊数据调用数据处理模块323进行数据转换处理;这样的数据划分就明确了逻辑处 理目的,提高了数据处理和响应速度。上述mib包含了网络设备上的所有管理信息,并不是一个物理的数据库,而是管 理信息概念上的一个集合。网络设备上的每个功能都可以看做是管理信息库中的一个mib, 而mib节点即是一个功能中的某个功能点。例如一个功能需要设置5个属性,每个属性就 是一个mib节点,整个功能就有5个mib节点组成,整个功能就是一个mib,网络设备上的信 息就被抽象成很多个mib组成的mib库。界面显示时,控制命令模块通过xml配置文件和逻辑层320中的资源配置模块325 初始化相应的界面组件,并通过表示层310中的适配模块314获得对应的可读数据,把可读 数据展示给用户。其中的逻辑处理模块322所进行的逻辑处理,包括一些特殊的逻辑处理,例如比 如当某个开关使能(打开)时,哪些数据项才能展示或哪些功能才可用,当开关禁止(关 闭)时,哪些数据不展示或哪些功能不可用;它从属于逻辑处理模块,当有特殊逻辑要处理 时调用等。上述的国际化是指界面根据不同语言的操作系统展示出不同的界面语言,例如在 中文版本的windows操作系统中安装网元管理器后就会展示出中文界面,在英文版本的 windows操作系统中安装网元管理器后就会展示出英文界面,这是为了给不同国籍的使用 不同语言的用户提供不同的语言界面展示。如图3d所示,持久化层330主要包括数据库接口模块331和设备接口模块332,在 读数据过程中数据库接口模块331,与外部的数据库500相连,用于根据逻辑层320发送的数据 操作命令在外部的数据库500中完成数据操作获得数据操作结果,并将数据操作结果反馈 给逻辑层320 ;
设备接口模块332,与网络设备600相连,主要用于根据逻辑层320发送的数据操作命令在网络设备600上完成数据操作获得数据操作结果,并将数据操作结果反馈给逻辑 层 320。基于模块化的EMS界面交互开发系统实施例,充分利用了 MVC框架中高内聚低耦 合的设计思想,各个模块之间都是松散耦合的,在开发和维护上可以根据EMS开发需要选 择合适的模块进行统一封装,简化开发流程,降低开发复杂度,提高开发效率。本发明系统实施例在写数据过程中,其中的数据分为读写入库数据、设备下发数 据和内存驻留数据;内存驻留数据由逻辑处理模块322进行处理,读写入库数据和设备下 发数据分别由数据库接口模块331和设备接口模块332进行处理。本发明系统实施例将界面显示和逻辑业务处理以模块的方式分离,同时将界面模 块以配置选择的方式进行添加(同时可以配置界面模块的展示方式),并对选定的界面模 块配置交互的数据来源、适配模块314和界面组件加载器等。本发明系统实施例将逻辑业务处理和数据处理以模块的方式分离,同时为逻辑业 务功能点配置处理特殊数据的数据处理模块323 (不配置的情况下选择默认的数据处理模 块323)和特殊逻辑处理适配器。下边是界面配置文件实例〈Dialog Name = “ VLAN_C0NVERT0R“ Class = " javax. swing. JDialog" Height ="365" Width=" 645" SaveBtn =" true" ><Panel Border = " none " Name = " rcQinQVlanMapPortTable " Toolbar ="show" Buttonbar =" show" AddBtn = " show" DeleteBtn = " show" ModifyBtn ="hide " MaxColuffidth = " 200 " Class = " com. raisecom. ems. templet, client, panel. SnmpTablePanel" TableName = " rcQinQVlanMapPortTable" />〈/Dialog〉EMS数据来源信息实例(MIB配置信息)<MibTab 1 e Name = “ rcQinQVlanMapPortTable “ Type ="Table" ModifyRefresh = “ true“ ><MibNode Logic = “ rcPortlndex “ Physics = “ rcPortlndex “ Max ="26" Min=" 1" OrderType =" Integer" Access=" noaccess" />〈MibNode Logic = " r c Q i η Q V 1 a η M a ρ I η d e χ ‘‘ Physics = " rcQinQVlanMapIndex " OrderType = " Integer “ Access =“noaccess “ IndexCollecter = “ com. raisecom. ems. ros4. client, collecter. QinQVlanMapIndexCollecter〃 /><MibNode Logic = “ rcQinQV 1 anMapCeV1 anLi st “ Physics =〃 rcQinQVlanMapCeVlanList" ><MibNodeAdapter Class = " com. raisecom. ems. ros4. server, adapter. VlansetAdapter" /><ValueAdapter Class = " com. raisecom. ems. templet, client, adapter. VlansetValueAdapter" /></MibNode>
<MibNode Logic = “ rcQinQV 1 anMapPeV1 anLi st “ Physics =〃 rcQinQVlanMapPeVlanList" ><MibNodeAdapter Class = " com. raisecom. ems. ros4. server, adapter. VlansetAdapter" /><ValueAdapter Class = " com. raisecom. ems. templet, client, adapter. VlansetValueAdapter" /></MibNode></MibTable>上述的配置文件主要以可扩展标记语言(XML)文件进行描述。标签〈Dialog〉和〈/Dialog〉中的内容是一个界面对话框的描述信息,例如Name (对话框显示的名称),Class (加载类),Height (对话框的高),Width (对话框的宽), SaveBtn(对话框中保存按钮是否显示,TRUE为显示,false为隐藏)。标签〈Panel〉中描述的是对话框中的显示内容,例如Border (表的显示 样式),Name (表的显示名称),Toolbar (工具条是否显示,show为显示,hide为隐 藏),Buttonbar (按钮条是否显示,show为显示,hide为隐藏),AddBtn/DeleteBtn/ ModifyBtn(增加、删除和修改按钮是否显示),MaxColuWidth(表中列的最大显示宽度), Class (加载类),TableName (表数据即数据对象来源名称)。标签<MibTable>和</MibTable>中是数据来源表的详细信息(包括哪些列,列中 值的最大值和最小值,适配器和特殊数据转换的配置信息等),例如Name (表名称,与标签 Panel 中的 TableName 相同),Type (—般有两种TabIe 禾口 List,Table 表示表、List 表示 一行记录,界面分别如图3e和图3f所示,图3f所示的‘‘NTP系统变量”即为前述的List, “远程NTP服务器表”及“时钟过滤表”即为前述的Table),ModifyRefresh (表中数据修改 时是否刷新数据,true为刷新、false为不刷新)。每一个<MibNode>标签代表表中的一列,例如Logic(逻辑名),Physics (物理 名),Max/Min (最大/最小值),OrderType (排序类型),Access (是否允许访问,noaccess 不允许;ROnly 只读;Rffrite 可读写),IndexCollecter (索引加载类)。标签<MibNodeAdapter>中的Class表示的是逻辑层中用到的物理数据和业务数 据互选转换的转换类(在逻辑层的数据处理模块中)。标签〈ValueAdapter〉中的Class表示的是界面组件模块用来将业务数据转化为 可读数据的适配器类(设置在表示层的适配模块中)。上述是界面配置文件和EMS数据来源配置文件的一个配置实例(为该配置实例的 一部分,并不是全部),简要说明了配置文件中各字段标识的意义以及如何进行配置,其中 字段的值可以根据需求进行灵活配置。可以利用配置文件根据不同的应用情况配置相关的 显示方式,包括适配器的配置等。图4为本发明开发方法实施例的流程示意图,该实施例用以说明本发明开发过程 中读取数据的过程。结合图3a所示系统实施例,图4所示的方法实施例主要包括如下步 骤步骤S410,表示层接收用户请求,用户请求包含请求类型和请求对象,并根据用户 请求中的请求类型和请求对象从界面显示信息配置文件中获取数据对象;
步骤S420,表示层将请求类型及数据对象封装成处理请求发送给逻辑层;步骤S430,逻辑层对处理请求进行解析,根据解析获得的数据对象的详细信息区分数据走向,根据解析获得的请求类型在本地完成数据操作和/或向持久化层发送数据操 作命令;步骤S440,持久化层根据数据操作命令与数据库和/或设备完成数据操作,获得数据操作结果反馈给逻辑层;步骤S450,逻辑层将在本地完成数据操作获得的第一业务数据和/或处理数据操作结果获得的第二业务数据封装在一处理请求结果中,将该处理请求结果发送给表示层;步骤S460,表示层根据处理请求结果完成与用户的交互。上述表示层根据用户请求从界面显示信息配置文件中获取数据对象的步骤,包 括表示层根据用户请求中的请求类型和请求对象从网元类型配置文件中获取界面 显示信息配置文件,从界面显示信息配置文件中获取数据对象。上述的网元类型配置文件根据各网元的配置信息编写而成。上述逻辑层对处理请求进行解析,根据解析获得的数据对象的详细信息区分数据 走向的步骤,包括逻辑层对处理请求进行解析,获得请求类型及数据对象,并根据数据对象从EMS 数据来源配置文件中获取该数据对象的详细信息,根据数据对象的详细信息区分数据走 向,数据对象为内存时,根据该请求类型构造本地操作请求,在本地完成数据操作;数据对 象为数据库和/或设备时,根据该请求类型构造数据操作命令发送给持久化层。本发明技术方案根据目前网络设备管理的现状,针对EMS开发的实际情况,以模 块化的开发方式提出的基于MVC的模块化的EMS界面交互开发系统和方法,将EMS界面交 互开发以模块化方式进行分离,解决了种类和型号繁多的网络设备的EMS的开发问题,降 低了开发的复杂度和工作量,提高程序的复用性、开发效率和EMS系统的灵活性、稳定性和 健壮性。这样,更有利于EMS的产品化,更有利于开发团队的分工协作。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。另外,本领域的技术人员应该明白,上述的本发 明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上, 或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代 码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成 各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这 样,本发明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采 用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本 发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
一种网元管理系统界面交互开发系统,包括表示层、逻辑层以及持久化层,其特征在于所述表示层,用于接收包含请求类型和请求对象的用户请求,根据所述请求类型和请求对象从界面显示信息配置文件中获取数据对象,将所述请求类型及数据对象封装成处理请求发送给所述逻辑层,并根据所述逻辑层发送的处理请求结果完成与用户的交互;所述逻辑层,用于对所述处理请求进行解析,根据所述请求类型及数据对象的详细信息区分数据走向,根据所述请求类型在本地完成数据操作和/或向所述持久化层发送数据操作命令;将在本地完成数据操作获得的第一业务数据和/或处理所述持久化层反馈的数据操作结果获得的第二业务数据封装在所述处理请求结果中发送给所述表示层;所述持久化层,用于根据所述数据操作命令与数据库和/或设备完成数据操作,获得所述数据操作结果反馈给所述逻辑层。
2.根据权利要求1所述的系统,其特征在于,所述表示层包括界面组件模块、封装/解 析模块及处理模块,其中所述界面组件模块,用于接收所述用户请求,将所述用户请求发送给所述封装/解析 模块,并用于接收所述封装/解析模块发送的所述第一业务数据和/或第二业务数据,将所 述第一业务数据和/或第二业务数据展示给用户;封装/解析模块,用于根据所述请求类型和请求对象从网元类型配置文件中获取相 关网元的界面显示信息配置文件,从界面显示信息配置文件中获取所述数据对象,将所述 请求类型及数据对象封装在所述请求对象中,将所述请求对象发送给所述处理模块;还用 于接收所述处理模块发送的请求对象结果,从所述请求对象结果中解析出所述第一业务数 据和/或第二业务数据,将所述第一业务数据和/或第二业务数据发送给所述界面组件模 块;处理模块,用于将所述请求对象封装成所述处理请求,将所述处理请求发送给所述逻 辑层,并用于接收所述逻辑层发送的所述处理请求结果,将所述处理请求结果解析成所述 请求对象结果,将所述请求对象结果发送给所述封装/解析模块。
3.根据权利要求2所述的系统,其特征在于,所述表示层进一步包括适配模块,用于接收所述界面组件发送的特殊数据,将所述特殊数据转换为可读数据 并反馈给所述界面组件模块;其中,所述界面组件模块进一步用于判断所述第一业务数据和/或第二业务数据是否 包含有特殊数据,是则将所述特殊数据发送给所述适配模块,并接收所述可读数据,将所述 可读数据以及所述第一业务数据和/或第二业务数据中除所述特殊数据之外的其余内容 展示给用户。
4.根据权利要求1所述的系统,其特征在于,所述逻辑层包括控制命令模块、逻辑处理 模块以及数据处理模块,其中所述控制命令模块,用于接收所述处理请求,对所述处理请求进行解析,获得所述请求 类型及数据对象并发送给所述逻辑处理模块;还用于将所述逻辑处理模块发送的所述处理 请求结果发送给所述表示层;所述逻辑处理模块,用于根据所述数据对象的详细信息区分数据走向,所述数据对象 为内存时,根据该请求类型构造本地操作请求发送给所述数据处理模块,所述数据对象为数据库和/或设备时,根据该请求类型构造数据操作请求发送给所述数据处理模块;还用 于将所述数据处理模块发送的处理请求结果发送给所述控制命令模块;所述数据处理模块,用于根据所述本地操作请求在所述内存中完成数据操作,获得第 一业务数据,用于将所述数据操作请求处理成所述数据操作命令并发送给所述持久化层; 还用于将所述持久化层反馈的数据操作结果处理成所述第二业务数据,将该第一业务数据 和/或第二业务数据封装在所述处理请求结果中发送给所述逻辑处理模块。
5.根据权利要求4所述的系统,其特征在于,所述逻辑层进一步包括基本工具模块及 资源配置模块,其中所述基本工具模块,用于完成公共的基本操作功能;所述资源配置模块,用于界面展示的国际化处理,设备界面中图片文件的读取,数据库 连接所需信息的读取和各种资源配置文件的读取。
6.根据权利要求1所述的系统,其特征在于,所述持久化层包括数据库接口模块和设 备接口模块,其中所述数据库接口模块,与数据库相连,用于根据所述数据操作命令在所述数据库中完 成数据操作,获得数据操作结果反馈给所述逻辑层;所述设备接口模块,与设备相连,用于根据所述数据操作命令在所述设备上完成数据 操作,获得数据操作结果反馈给所述逻辑层。
7.—种网元管理系统界面交互开发方法,应用于网元管理系统界面交互开发系统,所 述系统包括表示层、逻辑层及持久化层,其特征在于,该方法包括所述表示层接收包含请求类型和请求对象的用户请求,根据所述请求类型和请求对象 从界面显示信息配置文件中获取数据对象;所述表示层将所述请求类型及数据对象封装成处理请求发送给所述逻辑层; 所述逻辑层对所述处理请求进行解析,根据所述数据对象的详细信息区分数据走向, 根据所述请求类型在本地完成数据操作和/或向所述持久化层发送数据操作命令;所述持久化层根据所述数据操作命令与数据库和/或设备完成数据操作,获得所述数 据操作结果反馈给所述逻辑层;所述逻辑层将在本地完成数据操作获得的第一业务数据和/或处理所述数据操作结 果获得的第二业务数据封装在一处理请求结果中,将该处理请求结果发送给所述表示层; 所述表示层根据所述处理请求结果完成与用户的交互。
8.根据权利要求7所述的方法,其特征在于,所述表示层根据所述用户请求从界面显 示信息配置文件中获取数据对象的步骤,包括所述表示层根据所述请求类型和请求对象从网元类型配置文件中获取所述界面显示 信息配置文件,从所述界面显示信息配置文件中获取所述数据对象。
9.根据权利要求8所述的方法,其特征在于所述网元类型配置文件根据各网元的配置信息编写而成,包含网元的相关名称、网元 管理系统版本、网元对应的配置文件路径和界面国际化文件路径;所述界面显示信息配置文件根据各网元的配置功能点编写而成,包含网元的所有功能 的界面显示信息。
10.根据权利要求7所述的方法,其特征在于,所述逻辑层对所述处理请求进行解析,根据解析获得的所述数据对象的详细信息区分数据走向的步骤,包括所述逻辑层对所述处理请求进行解析,获得所述请求类型及数据对象,并根据数据对 象从网元管理系统(EMS)数据来源配置文件中获取该数据对象的详细信息,根据所述数据 对象的详细信息区分数据走向,所述数据对象为内存时,根据该请求类型构造本地操作请 求,在本地完成数据操作;所述数据对象为数据库和/或设备时,根据该请求类型构造数据 操作命令发送给所述持久化层。
11.根据权利要求10所述的方法,其特征在于所述EMS数据来源配置文件根据各网元的数据项信息编写而成,包括所述数据对象的 类型和每个数据项的逻辑名、物理名、取值范围、业务数据和物理数据的转换类。
全文摘要
本发明公开了一种网元管理系统界面交互开发系统及方法,以提高EMS的开发效率,其中该系统包括表示层用于用户请求中的请求类型和请求对象获取数据对象,封装成处理请求发送给逻辑层,并根据逻辑层发送的处理请求结果完成与用户的交互;逻辑层用于区分数据走向,根据请求类型在本地完成数据操作和/或向持久化层发送数据操作命令;将在本地获得的第一业务数据和/或处理持久化层反馈的数据操作结果获得的第二业务数据封装在处理请求结果中;持久化层用于根据数据操作命令完成数据操作,获得数据操作结果。与现有技术相比,本发明实现了组件式EMS界面交互开发技术,提高了EMS的开发效率和代码的复用性。
文档编号G06F9/44GK101826018SQ201010184119
公开日2010年9月8日 申请日期2010年5月20日 优先权日2010年5月20日
发明者卞腾, 宫贵冬, 陈虎 申请人:瑞斯康达科技发展股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1