基于数据仓库的数据封装装置及业务数据获取方法

文档序号:6582215阅读:210来源:国知局
专利名称:基于数据仓库的数据封装装置及业务数据获取方法
技术领域
本发明涉及数据存储领域,尤其涉及一种基于数据仓库的数据封装装置及业务数 据获取方法。
背景技术
随着电信业务的发展和市场规模的扩大,经营分析系统的数据仓库 (Dataffarehouse, Dff)作为企业级数据中心,其中存储的业务数据类型和数据量迅速增 加。数据仓库是集成的antegrated)、相对稳定的(Non-volatile)、反映历史变化(Time Variant)的数据集合,数据仓库面向主题(Subject Oriented)设计,一般存储历史数据。现有技术中,经营分析系统的业务应用软件往往直接在代码中嵌入数据访问和处 理逻辑,不同业务应用软件之间很难共用相同的数据访问和处理逻辑,造成代码的冗余。经 营分析系统的业务应用软件和业务数据的耦合度较高,使得经营分析系统提供数据服务的 效率较低。直接将数据仓库中的业务数据暴露给外部的业务应用软件增加了业务数据的安 全风险的管理代价。经营分析系统中各子系统之间、以及各子系统内部之间,存在着耦合度 较高、标准化不足等问题,导致经营分析系统内部或者经营分析系统之间无法有效地进行 数据交互,从而降低了业务运行效率,增加了系统运行风险。

发明内容
本发明提供一种基于数据仓库的数据封装装置及业务数据获取方法,用以解决业 务应用软件和业务数据的耦合度较高的问题,同时提升业务数据的安全性。本发明提供一种基于数据仓库的数据封装装置,包括数据封装应用插件模块、数 据服务管理模块、数据协议封装模块和数据逻辑封装模块,其中数据封装应用插件模块,用于在接收到业务应用软件提交的数据服务请求时,向 数据服务管理模块发起服务调用请求,以及根据数据服务管理模块返回的服务调用结果获 取编码数据并进行解码,将解码得到的业务数据返回给业务应用软件;数据服务管理模块,用于根据服务调用请求调用相应的数据服务,根据数据服务 的配置信息从数据协议封装模块中调用对应的协议插件,使用调用的协议插件将服务调用 请求进行协议转换得到数据请求,并调用所述数据服务对应的数据逻辑封装模块,以及使 用调用的协议插件对数据逻辑封装模块返回的业务数据进行编码得到编码数据,并向数据 封装应用插件模块返回服务调用结果;数据协议封装模块,用于提供协议插件供数据服务管理模块调用;数据逻辑封装模块,用于将数据请求进行解析和处理,到数据仓库中获取业务数 据,并将获取到的业务数据返回给数据服务管理模块。本发明提供一种基于上述数据封装装置的业务数据获取方法,包括数据封装应用插件模块在接收到业务应用软件提交的数据服务请求时,向数据服 务管理模块发起服务调用请求;
数据服务管理模块根据服务调用请求调用相应的数据服务,根据数据服务的配置 信息从数据协议封装模块中调用对应的协议插件,使用调用的协议插件将服务调用请求进 行协议转换得到数据请求,并调用所述数据服务对应的数据逻辑封装模块;所述数据逻辑封装模块将数据请求进行解析和处理,到数据仓库中获取业务数 据,并将获取到的业务数据返回给数据服务管理模块;所述数据服务管理模块使用调用的协议插件对数据逻辑封装模块返回的的业务 数据进行编码得到编码数据,并向数据封装应用插件模块返回服务调用结果;数据封装应用插件模块根据所述服务调用结果获取编码数据并进行解码,将解码 得到的业务数据返回给业务应用软件。本发明提供的基于数据仓库的数据封装装置及业务数据获取方法,通过在业务层 和数据层之间增加数据封装装置,解决了业务应用软件和业务数据的耦合度较高的问题, 同时提升了业务数据的安全性,数据封装应用插件模块在接收到业务应用软件提交的数据 服务请求时,向数据服务管理模块发起服务调用请求,数据服务管理模块根据服务调用请 求调用相应的数据服务,根据数据服务的配置信息调用对应的协议插件和数据逻辑封装模 块,从而获取业务数据并进行协议封装,最终将业务数据返回给业务应用软件。该方案有效 促进了应用层和数据层的解耦合,同时实现数据层的开放化和标准化。本发明提供的基于数据仓库的数据封装装置及业务数据获取方法,适用于经营分 析系统,能够提升经营分析系统的内部处理能力和外部互动能力,解决经营分析系统所面 临的业务应用软件和业务数据的耦合度较高的问题,使得经营分析系统能够高效地提供数 据服务。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。


图1为本发明实施例提供的基于数据仓库的数据封装装置框图;图2为本发明实施例提供的业务数据获取方法流程图。
具体实施例方式
本发明实施例提供了 一种基于数据仓库的数据封装装置,用以可以有效促进应用 层和数据层的解耦合,解决业务应用软件和业务数据的耦合度较高的问题,同时提升业务 数据的安全性,实现数据层的开放化和标准化。本发明实施例提供的基于数据仓库的数据封装装置可以应用于经营分析系统,用 以提升经营分析系统的内部处理能力和外部互动能力,解决经营分析系统所面临的业务应 用软件和业务数据的耦合度较高的问题,使得经营分析系统能够高效地提供数据服务。当 然,本发明实施例提供的基于数据仓库的数据封装装置也可以应用于其它基于数据仓库的 系统。本发明实施例以经营分析系统为例进行说明。以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的 优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明实施例提供的基于数据仓库的数据封装装置,如图1所示,包括数据封装 应用插件模块101、数据服务管理模块102、数据逻辑封装模块103和数据协议封装模块 104,其中数据封装应用插件模块101,用于在接收到业务应用软件提交的数据服务请求时, 向数据服务管理模块发起服务调用请求,以及根据数据服务管理模块返回的服务调用结果 获取编码数据并进行解码,将解码得到的业务数据返回给业务应用软件;数据服务管理模块102,用于根据服务调用请求调用相应的数据服务,根据数据服 务的配置信息从数据协议封装模块中调用对应的协议插件,使用调用的协议插件将服务调 用请求进行协议转换得到数据请求,并调用所述数据服务对应的数据逻辑封装模块,以及 使用调用的协议插件对数据逻辑封装模块返回的业务数据进行编码得到编码数据,并向数 据封装应用插件模块返回服务调用结果;数据协议封装模块103,用于提供协议插件供数据服务管理模块调用;数据逻辑封装模块104,用于将数据请求进行解析和处理,到数据仓库中获取业务 数据,并将获取到的业务数据返回给数据服务管理模块;具体实施中,数据逻辑封装模块104使用SQL (结构化查询语言)请求到数据仓库 中获取业务数据。本发明实施例提供的基于数据仓库的数据封装装置,通过数据封装应用插件模 块,简化了经营分析系统中业务应用软件的数据封装工作量,增强了系统稳定性;通过数据 服务管理模块,对各类数据逻辑和协议进行统一管理,并可将数据逻辑和协议与数据服务 进行适配;通过数据协议封装模块,可对各种协议进行组合,灵活应对各种协议封装需求, 形成统一的协议插件供数据服务管理模块调用;通过数据逻辑封装模块,可对数据仓库的 数据逻辑进行标准化封装,最大限度地降低数据仓库内部数据逻辑的变化对外部系统的影 响。下面对各功能模块进行详细说明。1、数据封装应用插件模块为简化业务应用软件的编码工作量与联调工作量,数据封装装置为业务应用软件 提供数据封装应用插件,通过该插件可以实现自动注册到数据服务管理模块、在数据服务 管理模块控制下实现业务数据的协议切换、日志提交、应用监控等功能,客户端可以关注数 据逻辑的实现。同时在业务应用软件开发时,通过挂接数据封装应用插件,实现数据封装, 从而大大降低联调工作量。数据封装应用插件通过信令接口与数据服务管理模块实现通 信,进行数据传输。2、数据服务管理模块数据服务管理模块是数据封装装置的核心管理模块,数据服务管理模块通过信令 接口与数据封装应用插件相互协作。数据服务管理模块包括如下核心功能数据服务注册管理,数据服务管理模块中的数据服务首先要通过注册才能提供服 务。数据服务需要在数据服务管理模块上配置访问路径,其格式为“服务域名、端口号、上下 文信息和URI”。数据服务还需要配置其版本信息,包括当前的版本号、以及向下兼容的版本5寸。服务安全管理,数据服务管理模块主要管理业务应用软件到数据服务接口的访 问,因此对服务请求应答的安全控制首先可以通过网络层来控制访问安全。其次对具体数 据服务的访问控制是通过数据服务管理模块来控制。当客户端启动时,先要到数据服务管 理模块进行登录操作,取得加密令牌;数据服务管理模块通过验证服务调用请求中携带的 加密令牌对服务调用请求进行有效性验证,也可以采用用户名密码的方式服务调用请求进 行有效性验证。服务路由管理,数据服务管理模块具有对数据服务的负载平衡和容错功能,当部 署了多个相同的数据服务时,按照负载均衡原则选择空闲的数据服务。服务版本管理,服务版本管理可以根据数据封装应用插件请求的版本号,自动匹 配版本兼容的数据服务。协议切换规则管理,在数据服务注册后,可以配置协议切换规则。3、数据协议封装模块为满足各种应用场景,数据协议封装模块对多种协议进行组合,并封装成标准化 的协议插件供数据服务管理平台调用,以提供最适合应用场景的协议集合。数据协议封装 模块所采用的主要协议包括Web Service (万维网服务)信令协议利用标准的Web Service进行数据传输的 信令协议。FTP (File Transfer Protocol,文件传输协议)数据传输协议FTP协议是数据仓 库中最常用的与外部系统之间的接口协议,通用性高,大数据量支持性能较佳。FTP协议的 优点有稳定性好,速度最快,可用的软件多,支持的系统平台多。具体协议遵照RFC 959规 范。CSV (Comma Separated value,逗号分隔值)数据格式协议CSV文件是数据仓库 最常用的数据格式,因此具有最高的通用性。其优点有如下几点文件结构简单,基本上和 文本的差别不大;可以和Excle进行转换,很容易进行察看模式转换;可以减少存储信息的 容量,这样有利于网络传输以及客户端的再处理;由于是一堆没有任何说明的数据,具备基 本的安全性。ZIP压缩与加密协议ZIP是一种计算机文件的压缩算法。目前,ZIP格式属于几 种主流的压缩格式之一。ZIP的优点是系统平台支持性好,java、.net、UNIX环境均支持, 压缩速度快,因此有着最高的通用性。经营分析系统中数据封装确定如下应用场景,通过上述协议的组合可以完全满足 需求小数据量实时应用场景Web Service ;大数据量实时应用场景Web Service+同步FTP+CSV ;大数据量非实时应用场景Web Service+异步FTP+CSV+ZIP ;大数据量发布和订阅应用场景Web Service+异步FTP+异步FTP+CSV+ZIP。4、数据逻辑封装模块由于数据仓库中业务数据的更新较为频繁,从性能出发往往采用分表操作,因此 不能把表结构直接暴露给外部系统,而是需要对数据仓库具体的数据逻辑进行封装和屏蔽,最大限度降低数据仓库内部数据逻辑的变化对外部系统的影响。数据逻辑根据实际需 求定制开发,表现为一个内部接口形式,由数据服务管理模块进行调用。数据逻辑采用如下 技术以提升性能数据库连接池技术、内存缓存技术、数据库分页查询技术。为了便于理解,本发明实施例同时提供了基于上述数据封装装置的业务数据获取 方法,如图2所示,包括S201、业务应用软件在为用户提供服务时,如果需要使用数据仓库中的业务数据, 则通过内部接口向数据封装应用插件提交数据服务请求;S202、数据封装应用插件模块在接收到业务应用软件提交的数据服务请求时,向 数据服务管理模块发起服务调用请求;具体实施中,数据封装应用插件接收到数据服务请求时,通过数据封装信令接口 向数据服务管理模块发起服务调用请求,请求调用相应的数据服务;S203、数据服务管理模块根据服务调用请求调用相应的数据服务,根据数据服务 的配置信息从数据协议封装模块中调用对应的协议插件,使用调用的协议插件将服务调用 请求进行协议转换得到数据请求;具体实施中,数据服务管理模块根据服务调用请求调用相应的数据服务之前,还 包括对服务调用请求进行有效性验证的步骤;数据服务管理模块可以采用多种形式对服务 调用请求进行有效性验证,例如IP地址验证形式、用户名密码形式、加密令牌形式等;所述数据服务管理模块中部署多个不同的数据服务,数据服务的配置信息包括 访问路径,访问路径一般由服务域名、端口号、上下文信息和URI ((Universal Resource Identifier,通用资源标识符)组成,URI —般由访问资源的命名机制、存放资源的主机名、 由路径表示的资源名称三部分组成。数据服务管理模块根据数据服务的访问路径可以确定 相应的应用场景,以便从数据协议封装模块中调用与应用场景相匹配的协议插件。数据服 务的配置信息中也可以直接包括应用场景信息。具体实施中,所述数据服务管理模块中还可能部署多个相同的数据服务。针对该 情况,数据服务管理模块根据服务调用请求调用相应的数据服务时,如果相同的数据服务 在数据服务管理模块中部署了多个,从多个相同的数据服务中选取空闲的数据服务。S204、数据服务管理模块根据数据服务的配置信息调用该数据服务对应的数据逻 辑封装模块;不同的数据服务对应的数据逻辑封装模块不同,相同数据服务的不同版本对应的 数据逻辑封装模块也不同,在相同数据服务具有多个版本的情况下,数据服务的配置信息 不仅需要包括访问路径,还需要包括版本信息,例如当前的版本号、可以向下兼容的版本号 等,数据服务管理模块根据数据服务的访问路径和版本信息调用其对应的数据逻辑封装模 块。S205、数据逻辑封装模块将数据请求进行解析和处理,到数据仓库中获取业务数 据;S206、数据逻辑封装模块将获取到的业务数据返回给数据服务管理模块;S207、数据服务管理模块使用调用的协议插件对数据逻辑封装模块返回的的业务 数据进行编码得到编码数据;具体实施中,编码数据可以采用协议数据流的形式承载,也可以采用数据文件的形式存储,如果采用协议数据流形式,则服务调用结果包括承载有所述编码数据的协议数 据流,如果采用数据文件形式,则服务调用结果包括数据文件的存储位置信息;S208、数据服务管理模块向数据封装应用插件模块返回服务调用结果;如果编码数据采用协议数据流的形式承载,服务调用结果包括协议数据流,如果 采用数据文件形式存储,服务调用结果包括数据文件的存储位置信息,还可以包括服务调 用情况等信息;S209、数据封装应用插件模块根据所述服务调用结果获取编码数据并进行解码, 将解码得到的业务数据返回给业务应用软件;如果服务调用结果包括协议数据流,则数据封装应用插件模块从接收到的协议数 据流中获取编码数据;如果服务调用结果包括数据文件的存储位置信息,则数据封装应用插件模块根据 数据文件的存储位置信息提取数据文件,并从提取到的数据文件中获取编码数据。本发明实施例提供的基于数据仓库的数据封装装置及业务数据获取方法,通过在 业务层和数据层之间增加数据封装装置,解决了业务应用软件和业务数据的耦合度较高的 问题,同时提升了业务数据的安全性,数据封装应用插件模块在接收到业务应用软件提交 的数据服务请求时,向数据服务管理模块发起服务调用请求,数据服务管理模块根据服务 调用请求调用相应的数据服务,根据数据服务的配置信息调用对应的协议插件和数据逻辑 封装模块,从而获取业务数据并进行协议封装,最终将业务数据返回给业务应用软件。该方 案有效促进了应用层和数据层的解耦合,同时实现数据层的开放化和标准化。本发明实施例提供的基于数据仓库的数据封装装置及业务数据获取方法,适用于 经营分析系统,能够提升经营分析系统的内部处理能力和外部互动能力,解决经营分析系 统所面临的业务应用软件和业务数据的耦合度较高的问题,使得经营分析系统能够高效地 提供数据服务。本领域的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产 品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施 例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可 用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品 的形式。本发明是参照根据本发明实施例的方法、装置和计算机程序产品的流程图和/或 方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/ 或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生 一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于数据仓库的数据封装装置,其特征在于,包括数据封装应用插件模块、数据 服务管理模块、数据协议封装模块和数据逻辑封装模块,其中数据封装应用插件模块,用于在接收到业务应用软件提交的数据服务请求时,向数据 服务管理模块发起服务调用请求,以及根据数据服务管理模块返回的服务调用结果获取编 码数据并进行解码,将解码得到的业务数据返回给业务应用软件;数据服务管理模块,用于根据服务调用请求调用相应的数据服务,根据数据服务的配 置信息从数据协议封装模块中调用对应的协议插件,使用调用的协议插件将服务调用请求 进行协议转换得到数据请求,并调用所述数据服务对应的数据逻辑封装模块,以及使用调 用的协议插件对数据逻辑封装模块返回的业务数据进行编码得到编码数据,并向数据封装 应用插件模块返回服务调用结果;数据协议封装模块,用于提供协议插件供数据服务管理模块调用; 数据逻辑封装模块,用于将数据请求进行解析和处理,并到数据仓库中获取业务数据, 并将获取到的业务数据返回给数据服务管理模块。
2.如权利要求1所述的方法,其特征在于,所述数据服务管理模块,还用于在根据服务调用请求调用相应的数据服务之前,对服 务调用请求进行有效性验证。
3.一种基于权利要求1所述数据封装装置的业务数据获取方法,其特征在于,包括 数据封装应用插件模块在接收到业务应用软件提交的数据服务请求时,向数据服务管理模块发起服务调用请求;数据服务管理模块根据服务调用请求调用相应的数据服务,根据数据服务的配置信息 从数据协议封装模块中调用对应的协议插件,使用调用的协议插件将服务调用请求进行协 议转换得到数据请求,并调用所述数据服务对应的数据逻辑封装模块;所述数据逻辑封装模块将数据请求进行解析和处理,并到数据仓库中获取业务数据, 并将获取到的业务数据返回给数据服务管理模块;所述数据服务管理模块使用调用的协议插件对数据逻辑封装模块返回的的业务数据 进行编码得到编码数据,并向数据封装应用插件模块返回服务调用结果;数据封装应用插件模块根据所述服务调用结果获取编码数据并进行解码,将解码得到 的业务数据返回给业务应用软件。
4.如权利要求3所述的方法,其特征在于,所述数据服务管理模块根据服务调用请求 调用相应的数据服务之前,还包括对服务调用请求进行有效性验证的步骤。
5.如权利要求3所述的方法,其特征在于,所述服务调用结果包括承载有所述编码数 据的协议数据流,以及所述数据封装应用插件模块从接收到的协议数据流中获取编码数 据。
6.如权利要求3所述的方法,其特征在于,所述服务调用结果包括数据文件的存储位 置信息,所述数据文件包括所述编码数据,所述数据封装应用插件模块根据数据文件的存 储位置信息提取数据文件,并从提取到的数据文件中获取编码数据。
7.如权利要求3所述的方法,其特征在于,所述数据服务的配置信息包括访问路径;以及所述数据服务管理模块根据数据服务的访问路径确定相应的应用场景,并从数据协议封装模块中调用与所述应用场景相匹配的协议插件。
8.如权利要求7所述的方法,其特征在于,所述访问路径由服务域名、端口号、上下文 信息和通用资源标识符URI组成。
9.如权利要求7所述的方法,其特征在于,所述数据服务的配置信息还包括版本信息。
10.如权利要求3所述的方法,其特征在于,还包括所述数据服务管理模块根据服务调用请求调用相应的数据服务时,如果相同的数据服 务在数据服务管理模块中部署了多个,从多个相同的数据服务中选取空闲的数据服务。
全文摘要
本发明公开了一种基于数据仓库的数据封装装置及业务数据获取方法,用以解决业务应用软件和业务数据的耦合度较高的问题,同时提升业务数据的安全性。数据封装装置包括数据封装应用插件模块,用于在接收到数据服务请求时发起服务调用请求,以及根据服务调用结果得到业务数据并返回;数据服务管理模块,用于根据服务调用请求调用相应的数据服务,根据数据服务的配置信息调用对应的协议插件,将服务调用请求进行协议转换,并调用数据服务对应的数据逻辑封装模块,以及使用调用的协议插件对业务数据进行编码,并返回服务调用结果;数据逻辑封装模块,用于将数据请求进行解析和处理,到数据仓库中获取业务数据,并将业务数据返回给数据服务管理模块。
文档编号G06F17/30GK102081605SQ20091020001
公开日2011年6月1日 申请日期2009年11月30日 优先权日2009年11月30日
发明者周刚, 曾成, 沈亚飞 申请人:中国移动通信集团上海有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1