专利名称:电信业务数据动态转换的方法及其系统的制作方法
技术领域:
本发明涉及数据仓库中的抽取、转换和加载(ETL,Extract, Transform, Load)技 术,尤其涉及一种电信业务数据动态转换的方法及其系统。
背景技术:
随着电信市场的逐步开放,新的运营商不断产生,电信市场的竞争日趋激烈。为了 能够在竞争中生存和持续发展,各电信运营商都对企业的经营和管理提出了更高的要求。 ETL技术对于电信运营商管理电信运营系统、分析业务数据、把握业务发展方向,以及提升 服务水平至关重要。目前,市场上主流的商业化ETL工具主要有数据整合平台(DLDataIntegrator)、 DataStage Jnformatica等。这些商业化的ETL工具在功能上都各有千秋,能满足一般数据 转换处理的需求。但是,电信业务极其繁多,而且业务更新频繁,如电信运营商不断推出的 各类套餐业务。这就要求ETL工具具有良好的灵活性和跨平台性。由于商业化ETL工具缺 乏对电信业务数据深入分析和理解,只是提供通用的处理模块供用户调用;而且所开放的 接口比较简单,一旦遇到性能瓶颈问题而需要做优化调整时往往比较困难,或者代价较高。 因此,这类工具比较适合用于数据量不大,业务较为单一且变化不大的数据转换场合。电信运营系统生成的数据主要是电话通话清单、电话客户资料等,通常此类数据 数量巨大,动辄有上亿条记录,尤其是清单数据,如固定电话的市话详单,其数据量更加庞 大。而且电信业务数据具有特定的业务含义,采用通用的商业化ETL工具对这些电信业务 数据进行处理时,由于没有充分利用电信业务数据自身的特点,其转换效率比较低。此外, 目前市场上提供的一些脚本解释型的ETL工具,在解释脚本时需要花费较多的时间,所以 其数据转换效率也比较低。无疑,电信业务的高速发展、数据量的急剧增加对数据转换工具 造成很大的性能压力。因此,对于如此庞大的数据量,如何有效提高系统的处理效率成为本 领域亟待解决的技术问题。此外,如果直接将上述ETL工具应用到电信系统时,存在软件开 发复杂、灵活性较差等不足之处,系统跨平台性能差。基于前述商业化的ETL工具开发的支撑各项业务运营的计算机管理系统难以满 足企业管理的要求,电信企业迫切需要寻找一种新的数据转换手段,使其能够低成本、高效 率地实现电信业务数据动态转换,从而使管理人员能够及时准确地了解市场资源使用情况 和业务发展状况,以便及时发现并解决问题。
发明内容
本发明所要解决的技术问题是提供一种电信业务数据动态转换的方法及其系统, 其针对电信业务自身特点定制函数集,配置电信业务数据转化规则,并结合JAVA动态编译 以及反射技术,克服了通用ETL工具灵活性差、转换效率低等缺点。本发明提供如下技术方 案本发明的一个方面提供了电信业务数据动态转换的方法,该方法包括根据业务
4标识获取预置的电信业务数据转换规则;根据数据转换规则和预置的业务实现类的模板, 动态生成业务实现类的JAVA源代码,并编译生成JAVA程序代码;动态加载并执行业务实现 类,将源数据文件生成目标数据文件。本发明提供的电信业务数据动态转换方法的一个实施例中,动态加载并执行业务 实现类的步骤包括采用动态加载JAVA类技术和反射调用JAVA函数技术动态加载并执行 业务实现类。本发明提供的电信业务数据动态转换方法的一个实施例中,该方法还包括步骤 通过图形化界面接收用户对数据转换规则的配置。本发明提供的电信业务数据动态转换方法的一个实施例中,该方法还包括步骤 通过图形化界面接收用户对函数集的定义和/或扩展。本发明提供的电信业务数据动态转换方法的一个实施例中,函数集包括从电话号 码中拆分接入号码、区号、运营商信息的函数。本发明另一个方面提供了一种电信业务数据动态转换系统,该系统包括数据转 换规则存储子系统,用于存储电信业务数据转换规则和函数集;数据转换规则调度子系统, 用于从数据转换规则存储子系统中获取电信业务数据转换规则;根据转换规则和预置的业 务实现类的模板,动态生成业务实现类的JAVA源代码,并编译生成JAVA程序代码;以及动 态加载并执行业务实现类,将源数据文件生成目标数据文件。本发明提供的电信业务数据动态转换系统的一个实施例中,该系统还包括数据转 换规则生成环境子系统,用于通过图形化界面接收用户对电信业务数据转换规则的配置, 将修改或增加的数据转换规则保存到数据转换规则存储子系统;以及提供用户自定义函数 编程接口,供用户扩展函数集。本发明提供的电信业务数据动态转换系统的一个实施例中,数据转换规则生成环 境子系统包括数据转换规则配置模块,用于对预置的数据转换规则进行维护,引导用户配 置新的数据转换规则,并负责导入/导出选定的数据转换规则;函数集配置模块,用于对预 置的函数集进行维护,负责引导用户配置新的函数,以及导入/导出函数集或单个函数;系 统维护模块,用于存储数据转换规则生成环境子系统的系统参数和生成的系统日志。本发明提供的电信业务数据动态转换系统的一个实施例中,数据转换规则配置模 块包括数据转换规则维护子模块,用于负责转换规则列表的树状展现和转换规则的信息 展现;数据转换规则配置向导子模块,用于负责引导用户逐步完成数据转换规则的配置; 数据转换规则导入/导出子模块,用于负责导入和导出选定的转换规则,供用户备份和/或 部署ο本发明提供的电信业务数据动态转换系统的一个实施例中,函数集配置模块包 括函数集维护子模块,用于对预置的函数集进行维护;自定义函数向导子模块,用于负责 引导用户完成函数的定义;函数导入/导出子模块,用于导入/导出函数集或单个函数,供 用户备份和/或部署。本发明提供的电信业务数据动态转换系统的一个实施例中,系统维护模块包括 系统参数子模块,用于配置和维护数据转换规则生成环境子系统的系统参数;系统日志子 模块,用于生成和存储数据转换规则生成环境子系统的系统日志。本发明提供的电信业务数据动态转换系统的一个实施例中,数据转换规则调度子
5系统包括数据转换规则引擎,用于从数据转换规则存储子系统中获取电信业务数据转换 规则;动态生成业务实现类的JAVA源代码,并编译生成JAVA程序代码;以及动态加载并执 行业务实现类,将源数据文件生成目标数据文件;系统维护模块,用于存储数据转换规则调 度子系统的系统参数和生成的系统日志。本发明提供的电信业务数据动态转换系统的一个实施例中,数据转换规则引擎包 括源代码生成器,用于根据数据转换规则和预置的业务实现类的模板,动态生成业务实现 类的JAVA源代码文件;源代码编译器,用于编译业务实现类的JAVA源代码文件,生成JAVA 程序代码;以及数据转换规则处理器,用于读写数据文件,负责电信业务数据的转换;以及 集中和处理系统错误。本发明提供的电信业务数据动态转换系统的一个实施例中,系统维护模块包括 系统参数子模块,用于配置和维护数据转换规则调度子系统的系统参数;系统日志子模块, 用于生成和存储数据转换规则调度子系统的系统日志。本发明提供的电信业务数据动态转换系统的一个实施例中,数据转换规则存储子 系统存储的函数集包括用于从电话号码中拆分出接入号码、区号、运营商信息的函数。电信运营系统生成的数据量都很大,尤其是详单数据,其数据量更加庞大,这无疑 对数据转换工具造成了一定的性能压力。同时,电信业务极其繁多,而且变化很快,如电信 推出的各类套餐业务。这就要求ETL工具具有很好的灵活性。另外,目前市场上的ETL工 具没有针对电信业务数据特点进行优化处理,不能在灵活性和效率之间取得平衡;对于庞 大的电信业务数据量,如何有效提高系统的处理效率,也是需要考虑的问题。本发明针对电 信业务数据特性建立了丰富的函数集,同时提供函数自定义接口,便于用户扩展函数集;不 同于当前脚本解释型ETL工具,本发明采用动态生成源代码,动态编译,以及动态加载并执 行代码的方式,有效地提高了数据转换效率,具有很强的实用性。本发明创新地提出采用函 数集,采用JAVA为设计语言,良好的跨平台特性有利于各子系统的兼容与集成。使用JAVA 反射技术,可以灵活动态地执行数据规则JAVA代码来生成电信业务数据文件;从而避免在 电信业务数据转换需求发生变更时引起修改ETL工具程序代码的繁杂工作量。动态实现电 信业务数据转换,为电信系统提供准确、统一的数据文件。
图1示出根据本发明的电信业务数据动态转换的方法的一个实施例的流程图;图2示出根据本发明的电信业务数据动态转换的方法的一个实施例的流程图;图3示出根据本发明的电信业务数据动态转换的系统的一个实施例的结构示意 图;图4示出本发明由数据转换规则生成环境子系统的一个实施例提供的图形化界 面;图5示出了数据转换规则调度子系统的一个实施例将目标数据文件中的记录装 载到数据库系统中的进度监控界面;图6示出根据本发明的电信业务数据动态转换的系统的一个实施例的结构示意 图;图7示出根据本发明的电信业务数据动态转换的系统的一个实施例的结构示意
6图8示出根据本发明的电信业务数据动态转换的方法的一个具体应用例的流程 图9示出根据本发明的电信业务数据动态转换的系统的一个具体应用例的流程
具体实施方式
下面参照附图对本发明进行更全面的描述,来说明本发明示例性的各种实施例。图1示出根据本发明的电信业务数据动态转换方法的一个实施例的流程图。如图1所示,步骤102,根据业务标识获取预置的电信业务数据转换规则。本发明 提供的电信业务数据动态转换方法的一个实施例中,根据业务标识(通常为数字化的业务 代码)从存储的电信业务数据转换规则信息中直接获取电信业务数据转换规则。本发明提 供的数据动态转换方法的一个实施例中,在系统数据库中存储有用户预先定制好的电信业 务数据转换规则信息和函数集等信息。稍后对电信业务数据转换规则信息和函数集进行简 要介绍。步骤104,根据数据转换规则和预置的业务实现类的模板,动态生成业务实现类的 JAVA源代码。例如,在步骤104中根据业务标识获取已配置好的业务规则信息,随后根据业 务实现类模版文件,动态实例化生成业务实现类JAVA源代码文件。稍后对JAVA源代码存 储格式进行简要介绍。步骤106,编译业务实现类的JAVA源代码生成JAVA程序代码。稍后对动态编译业 务实现类的JAVA源代码生成JAVA虚拟机能执行的程序代码技术进行简要介绍。步骤108,动态加载并执行业务实现类,将源数据文件生成目标数据文件。例如,采 用动态加载JAVA类和反射调用JAVA函数的技术,加载并执行业务实现类模板文件,读取源 数据文件,生成目标数据文件。源数据文件包括系统参数或业务标识,如电信业务的种类、 套餐名称等信息。生成的目标数据文件提供给其他系统使用(如利用数据库自带的数据文 件导入工具,将目标数据文件中的记录装载到数据库系统中)。稍后对动态加载技术、反射 (JAVA Reflection)调用技术以及目标数据文件进行简要介绍。本发明提供的电信业务数据动态转换方法的一个实施例中,电信业务数据转换规 则信息包括电信业务数据转换规则和对应转换规则的编译状态信息。本发明中所提及的转 换规则的编译状态信息主要存放在编译状态信息表中(参见下表1)。
CN 101958987 A
说明 书4/18页
图 003
图
权利要求
一种电信业务数据动态转换的方法,其特征在于,所述方法包括根据业务标识获取预置的电信业务数据转换规则;根据所述数据转换规则和预置的业务实现类的模板,动态生成所述业务实现类的JAVA源代码,并编译生成JAVA程序代码;动态加载并执行所述业务实现类,将源数据文件生成目标数据文件。
2.根据权利要求1所述的方法,其特征在于,所述动态加载并执行所述业务实现类的 步骤包括采用动态加载JAVA类技术和反射调用JAVA函数技术动态加载并执行所述业务实现类。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤 通过图形化界面接收用户对所述数据转换规则的配置。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤 通过图形化界面接收用户对函数集的定义和/或扩展。
5.根据权利要求4所述的方法,其特征在于,所述函数集包括从电话号码中拆分接入 号码、区号、运营商信息的函数。
6.一种电信业务数据动态转换的系统,其特征在于,所述系统(300,900)包括 数据转换规则存储子系统(302,902),用于存储电信业务数据转换规则和函数集; 数据转换规则调度子系统(306,906),用于从所述数据转换规则存储子系统(302,902)中获取所述电信业务数据转换规则;根据所述转换规则和预置的业务实现类的模板, 动态生成业务实现类的JAVA源代码,并编译生成JAVA程序代码;以及动态加载并执行所述 业务实现类,根据源数据文件生成目标数据文件。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括数据转换规则生成环境 子系统(304,904),用于通过图形化界面接收用户对所述电信业务数据转换规则的配置,将 修改或增加的所述数据转换规则保存到所述数据转换规则存储子系统(302,902);以及提 供用户自定义函数编程接口,供用户扩展所述函数集。
8.根据权利要求7所述的系统,其特征在于,所述数据转换规则生成环境子系统(904) 包括数据转换规则配置模块(9042),用于对预置的所述数据转换规则进行维护,引导用户 配置新的数据转换规则,并负责导入/导出选定的所述数据转换规则;函数集配置模块(9044),用于对预置的所述函数集进行维护,负责引导用户配置新的 函数,以及导入/导出所述函数集或单个函数;系统维护模块(9046),用于存储所述数据转换规则生成环境子系统(904)的系统参数 和生成的系统日志。
9.根据权利要求8所述的系统,其特征在于,所述数据转换规则配置模块(9042)包括数据转换规则维护子模块(90422),用于负责转换规则列表的树状展现和所述转换规 则的信息展现;数据转换规则配置向导子模块(90424),用于负责引导用户逐步完成所述数据转换规 则的配置;数据转换规则导入/导出子模块(90426),用于负责导入和导出选定的所述转换规则, 供用户备份和/或部署。
10.根据权利要求8所述的系统,其特征在于,所述函数集配置模块(9044)包括 函数集维护子模块(90442),用于对预置的所述函数集进行维护;自定义函数向导子模块(90444),用于负责引导用户完成所述函数的定义; 函数导入/导出子模块(90446),用于导入/导出所述函数集或单个函数,供用户备份 和/或部署。
11.根据权利要求8所述的系统,其特征在于,所述系统维护模块(9046)包括系统参数子模块(90462),用于配置和维护所述数据转换规则生成环境子系统(904) 的系统参数;系统日志子模块(90464),用于生成和存储所述数据转换规则生成环境子系统(904) 的系统日志。
12.根据权利要求6所述的系统,其特征在于,所述数据转换规则调度子系统(906)包括数据转换规则引擎(9062),用于从所述数据转换规则存储子系统(302,902)中获取电 信业务数据转换规则;动态生成所述业务实现类的JAVA源代码,并编译生成所述JAVA程序 代码;以及动态加载并执行所述业务实现类,将源数据文件生成目标数据文件;系统维护模块(9064),用于存储所述数据转换规则调度子系统(906)的系统参数和生 成的系统日志。
13.根据权利要求12所述的系统,其特征在于,所述数据转换规则引擎(9062)包括 源代码生成器(90622),用于根据所述数据转换规则和所述预置的业务实现类的模板,动态生成业务实现类的JAVA源代码文件;源代码编译器(90624),用于编译所述业务实现类的JAVA源代码文件,生成所述JAVA 程序代码;以及数据转换规则处理器(90626),用于读写数据文件,负责电信业务数据的转换;以及集 中和处理系统错误。
14.根据权利要求12所述的系统,其特征在于,所述系统维护模块(9064)包括系统参数子模块(90642),用于配置和维护所述数据转换规则调度子系统(906)的系 统参数;系统日志子模块(90644),用于生成和存储所述数据转换规则调度子系统(906)的系统日志。
15.根据权利要求6所述的系统,其特征在于,所述数据转换规则存储子系统(302, 902)存储的所述函数集包括用于从电话号码中拆分接入号码、区号、运营商信息的函数。
全文摘要
本发明公开了一种电信业务数据动态转换方法及其系统,方法包括获取预置的电信业务数据转换规则,根据数据转换规则和预置的业务实现类的模板,动态生成业务实现类的JAVA源代码,并编译生成JAVA程序代码;动态加载并执行业务实现类,将源数据文件生成目标数据文件。本发明针对电信业务数据特性建立了丰富的函数集,同时提供函数自定义接口,便于用户自定义和扩展函数集;不同于当前脚本解释型ETL工具,本发明采用动态编译、动态加载,以及JAVA反射技术,提高了数据转换效率,具有很强的跨平台特性和应用灵活性。
文档编号H04M15/00GK101958987SQ200910152289
公开日2011年1月26日 申请日期2009年7月14日 优先权日2009年7月14日
发明者何震苇, 刘春 , 向勇, 张青, 邹学锋, 黄平 申请人:中国电信股份有限公司