一种资源业务对象的持久化和查询方法技术

技术编号:2838892 阅读:209 留言:0更新日期:2012-04-11 18:40
一种电信运营支撑系统的本地网资源管理系统中的业务对象的持久化方法,其特征在于包括步骤:在客户端对业务对象和/或其关联业务对象进行修改,并针对所修改的业务对象设定与所述修改相应的持久化类型标记;将包括所述被修改的业务对象的对象树提交到服务器以请求持久化;在服务器端根据持久化标记对所提交的对象树实施修改,以得到最终的对象树;以及将最终的对象树持久化到数据库中。

【技术实现步骤摘要】

本专利技术涉及一种适用于电信运营支撑系统(简称OSS)的本地网资源管理系统中的业务对象的持久化方法和基于该持久化方法的查询方法。
技术介绍
经过十几年的高速发展,通信网络规模已经非常庞大。电信运营商如何通过一种网络资源动态管理体系,调度企业各部门有效配置网络资源,盘活网络存量资产,提高资源利用率,最大限度满足客户需要,支撑前端业务,是提高网络综合效能和企业竞争力的重要保证。为此,电信运营商普遍采用了基于计算机信息管理技术的电信OSS本地网资源管理系统,其参照了eTom的模型体系,以计算机系统为基础,实现传输网、数据网、交换网、动力网等各专业网的物理设备资源、逻辑配置资源、业务调度和业务开通流程的集中统一管理,为电信运营商提供了电信网络管理的综合解决方案,不仅使新的网络资源的快速方便的扩展成为可能,并帮助电信运营商极大地提高了新业务生成的速度。通常以管理人员操作客户端上运行的管理系统的方式对资源(即对象)进行管理和查询,而所管理的各种资源最终均存储在服务器端的数据库中,并最终通过服务器端的数据库管理系统来查询。在电信OSS本地网资源管理系统中,通常采用面向对象技术对资源进行建模,其中管理许多不同类型的资源业务对象,如空间资源(站点、机房等)、物理资源(网元、端口、端子等)、逻辑资源(SDH、PDH、电路等),而且每个资源业务对象都会有许多属性,如网元就有名称、编码、厂商、设备种类、客户等数十个属性。当前,在把业务对象持久化到数据库的过程中,即在数据库对象持久化层上,或者采用直接使用JDBC写sql语句的方式,或者采用O/R Mapping中间件工具,把数据库表和字段封装成对象和属性。现在已经有不少成熟的中间件产品,如JDO、Toplink、Hibernate等。但对于现有的电信OSS本地网资源管理系统,在涉及到具体业务领域时,直接使用这些产品仍有一些不足之处。例如,应用代码和具体O/R Mapping产品绑定,如果以后要迁移到其他产品的话,则需要重新编写代码,代价很大;对于每一种资源业务对象的持久化和查询,都需要写许多定制的代码;缺乏有效封装,客户端可以直接获取数据库的对象,可以直接对数据库进行操作,违反了分层的原则,并降低安全性;调用方法分散,缺乏统一的管理,无法在性能和功能上进行统一处理和维护;对于带有多层关联子业务对象的资源对象,无法做到灵活查询;无法满足资源统一命名规范,同时又兼顾拼装名称的灵活定制显示。
技术实现思路
为克服以上的不足,本专利技术的目的是提供一种电信OSS本地网资源管理系统中的业务对象持久化方法和以此为基础的业务对象查询方法,它们是统一的和对象类型无关的。本专利技术提供了一种电信运营支撑系统的本地网资源管理系统中的业务对象的持久化方法,其特征在于包括步骤在客户端对业务对象和/或其关联业务对象进行修改,并针对所修改的业务对象设定与所述修改相应的持久化类型标记;将包括所述被修改的业务对象的对象树提交到服务器以请求持久化;在服务器端根据持久化标记对所提交的对象树实施修改,以得到最终的对象树;以及将最终的对象树持久化到数据库中。根据一个实施例,所述实施修改的步骤包括遍历该对象树,当遍历经过一个业务对象时,实施该业务对象的简单属性的修改;以及当遍历经过一个关联时,判断与该关联相关的父业务对象和子业务对象之间的关系,如果父业务对象和子业务对象之间是1∶1或n∶1的关系,则根据子对象的持久化类型不同,重新设置该父业务对象和子业务对象的关系;以及如果该父业务对象和子业务对象是1∶n或n∶n的关系,则先递归持久化子业务对象,然后在递归返回父业务对象时重新设置该父业务对象和子业务对象之间的关系。根据一个实施例,所述持久化类型包括新增,修改和删除。根据一个实施例,所述客户端通过统一的入口来进行所述请求。根据一个实施例,所述客户端能够通过该入口提交多个对象树。根据一个实施例,所述持久化步骤是通过中间件工具进行的。本专利技术还提供一种电信运营支撑系统的本地网资源管理系统中的业务对象查询方法,其特征在于包括步骤在客户端定义查询请求,该查询请求包括查询表达式和关联对象组装字符串;发送查询请求到服务器;服务器根据预定的查询表达式映射将所接收的查询请求中的查询表达式转换成针对相应中间件的表达式;根据转换的查询表达式执行查询并根据关联对象组装字符串来生成查询结果;以及将生成的查询结果返回给客户端。根据一个实施例,所述执行查询并生成查询结果的步骤包括查询出满足查询表达式的业务对象的集合;针对该集合中的每个对象,查询出满足要求的对象;以及解析关联对象组装字符串,递归组装业务对象树,以生成查询结果。根据一个实施例,所述查询请求还包括资源命名拼装字符串,并且所述执行查询并生成查询结果的步骤包括解析资源命名拼装字符串,以及得到业务对象类型和命名上下文名称;根据该业务对象类型和命名上下文名称从预定义的命名规则中找到对应的命名规则;根据命名规则的前提条件,生成相应拼装的SQL语句,查询出命名显示子项;对所述命名显示子项进行命名显示名称取值转换;以及用经过转换后的名称替换查询结果中与所述业务对象类型相应的对象的名称。根据一个实施例,所述解析并递归组装的步骤包括针对每个解析出的关联子对象,根据预定映射关系得到相应的设置方法;以及调用该设置方法,以设置该关联子对象。根据一个实施例,所述中间件为Toplink或Hibernate。根据一个实施例,所述查询请求包括指定当前查询的页数和每页查询的记录数目的信息,并且所述查询业务对象集合的步骤包括根据分页号和每页的数目进行查询。根据本专利技术,资源业务查询服务器有预定义的查询表达式,能转换成不同O/R Mapping产品的查询表达式,以支持不同的O/RMapping产品。根据本专利技术,查询时能够方便地设置查询业务对象的任意关联子对象。根据本专利技术,提供了满足本地网资源统一命名规范,同时又能实现命名灵活定制显示。附图说明通过下面结合附图所进行的对本专利技术的描述,能够明白本专利技术的上述及其它目的,特征和优点,其中图1示出了根据本专利技术的业务对象持久化方法的一个实施例;图2示出了根据本专利技术的业务对象查询方法的一个实施例;图3示出了修改之前的对象树的例子;图4示出了客户端所提交的对象树;图5示出了在服务器端的数据库中持久化后的对象树;图6示出了一个资源对象树的例子;图7示出了一棵端口的对象树的例子。具体实施例方式下面结合附图来说明本专利技术的具体实施例。图1示出了根据本专利技术的业务对象持久化方法的一个实施例。如图1所示,在步骤S1,由用户在系统客户端对业务对象的持久化进行设定。根据业务对象之间的关联,可以在逻辑上将存在关联的若干对象视为对象树。对象树的一个特例是单节点树,即单个对象。对象树在面向对象程序设计语言中得到广泛的支持。例如系统可采用开发语言Java,Java本身是一个面向对象的语言,每一个资源业务对象都会对应到一个Java的Object对象。一个业务对象持久化,可分为新增、修改、删除三种情况。持久化既包括持久化业务对象本身的基本属性,也包括持久化该业务对象关联的子业务对象。对于修改的情况,既包括对象基本属性的修改,如修改了名称,也包括关联子对象的改动,子对象的增、删、改都意味着父对象做了修改。这些子对象的类和父本文档来自技高网
...

【技术保护点】
一种电信运营支撑系统的本地网资源管理系统中的业务对象的持久化方法,其特征在于包括步骤:    在客户端对业务对象和/或其关联业务对象进行修改,并针对所修改的业务对象设定与所述修改相应的持久化类型标记;    将包括所述被修改的业务对象的对象树提交到服务器以请求持久化;    在服务器端根据持久化标记对所提交的对象树实施修改,以得到最终的对象树;以及    将最终的对象树持久化到数据库中。

【技术特征摘要】

【专利技术属性】
技术研发人员:万宏谋张骐张玲章靖达汪学强齐麟周俊锋李娟邰恩智李玉宏
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1