数据处理方法及系统的制作方法

文档序号:6438859阅读:183来源:国知局
专利名称:数据处理方法及系统的制作方法
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据处理方法及系统。
背景技术
ETL即数据抽取(Extract)、转换CTransform)、装载(Load)的过程。它是构建数据仓库的重要环节。通常,用户的数据源分布在各个子系统和节点中,利用ETL将各个子系统上的数据,通过自动化或手动控制传到服务器上,进行抽取、清洗和转化处理,然后加载到数据仓库。因为现有业务数据源多,保证数据的一致性,真正理解数据的业务含义,跨越多平台、多数据源、多系统整合数据,最大可能提高数据的质量,迎合业务需求不断变化的特性,是ETL 技术处理的关键。现有的ETL工具通常有以下两种处理方式(1)使用WINDOWS图形化界面在可视化界面下点击界面的配置将各个流程以及操作环节记录下来,例如将数据源、转换规则、入库等记录到一个文件中,后台启动解析器和调度器解析该文件并调度起来,整个过程只需要ETL开发人员熟悉开发流程和数据库知识即可,不需要ETL开发人员具备编程技术,但在非图形化的系统中应用会受到局限。(2)脚本语言处理将各个ETL任务的各个环节例如数据源、转换规则、入库等用不同脚本描述出来, 并将这些脚本集合在脚本文件方案中,后台调度后用脚本解析器去解析。这种方式需要ETL 开发人员具备脚本编写能力,而且处理效率低。

发明内容
本发明提供一种数据处理方法及系统,可以在非可视化系统和可视化系统中实现大数据量、多数据源的处理,提高处理效率。为此,本发明实施例提供如下技术方案一种数据处理方法,包括将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的 ETL处理,所述任务表中的每个任务对应了一个ETL规则。优选地,所述ETL规则和所述动态库文件的信息是用户设置并发布的。可选地,所述ETL规则包括以下任意一项或多项取数规则,数据拆分规则,数据转换规则,数据合并规则,数据排序规则,数据汇总规则,数据网络采集规则,数据入库规则,数据配置规则。可选地,所述动态库文件的信息包括以下任意一项或多项每个任务的启动时间,启动周期,重做标识,任务类型标识,任务描述,任务标识,是否可用,是否具有子任务。优选地,所述对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL 处理包括对所述任务表中的每个任务按照其对应的ETL规则从数据源中提取源数据;将获取的源数据转换为系统需要的目标数据;将所述目标数据存储到目标库中。优选地,通过后台多进程并发机制调度所述任务表中的任务。一种数据处理系统,包括规则封装单元,用于将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;调度单元,用于扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL 规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。优选地,所述系统还包括规则设置单元,用于获取用户设置并发布的所述ETL规则和所述动态库文件的信肩、ο优选地,所述调度单元包括提取子单元,用于对所述任务表中的每个任务按照其对应的ETL规则从生产库中提取源数据;转换子单元,用于将所述提取子单元提取的源数据转换为系统需要的目标数据;存储单元,用于将所述转换子单元转换后的目标数据存储到目标库中。优选地,所述调度单元,具体用于通过多进程并发机制调度所述任务表中的任务。本发明提供的数据处理方法及系统,将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。无需用户具备编程技术,即可实现大数据量、多数据源的处理,不仅处理效率高,而且不受系统环境影响,可适用于非可视化系统和可视化系统中。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本发明实施例数据处理方法的流程图;图2是本发明实施例数据处理系统的一种结构示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。本发明提供的数据处理方法及系统,将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。从而无需用户具备编程技术,即可实现大数据量、多数据源的处理,不仅处理效率高,而且不受系统环境影响,可适用于非可视化系统和可视化系统中。如图1所示,是本发明实施例数据处理方法的流程图,包括以下步骤步骤101,将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中。在实际应用中,上述ETL规则和动态库文件的信息可以是用户自定义并发布到服务器的。所述ETL规则可以包含ETL开发使用的各种规则,如取数规则,数据拆分规则,数据转换规则,数据合并规则,数据排序规则,数据汇总规则,数据网络采集规则,数据入库规则,数据配置规则等。 在上述步骤101中,可以由服务器将这些ETL规则封装为动态库文件的形式,并将该动态库文件的信息登记到后台的数据库的任务表中。所述动态库文件的信息可以包括以下任意一项或多项启动时间,启动周期,重做标识,任务类型标识,任务描述,任务标识,是否可用,是否具有子任务。这些信息可以是用户自已定义的,在发布ETL规则时同时发布到所述服务器上。上述启动时间是描述该任务什么时间点被触发调度,上述任务的描述是为了增强可读性,说明该任务是用于做什么的,上述启动周期用于指示多久启动一次任务,上述任务的标识是该任务的唯一标识。为了方便ETL开发人员的开发和任务的统一管理,还可以提供统一的ETL处理 API (Application Programming Interface,应用程序编程接口 ),当然,ETL 处理 API 还可以是跨平台的,以使ETL开发人员在不同的系统平台上都可以进行ETL开发,例如使用 SRC_TABLE、DES_TABLE等工具宏API,其中,SRC_TABLE是用于操作源数据的API宏,而DES_ TABLE是用于操作目标数据的宏API。步骤102,扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。上述扫描过程和ETL规则封装登记过程可以由不同的平台来完成,比如,由调度器扫描(比如周期性地或者定时扫描)所述任务表,按照所述动态库文件的信息调度所述任务表中的任务,具体地,调度器可以通过后台多进程并发机制调度所述任务表中的任务。上述调度器对所述任务表中的每个任务的处理过程大致如下调度器对所述任务表中的每个任务按照其对应的ETL规则从数据源(比如生产库)中提取源数据,将获取的源数据转换为系统需要的目标数据,将所述目标数据存储到目标库中。在上述过程中,还可进一步包括对转换后的目标数据进行排序和汇总,然后再将汇总后的数据存储到目标库中。为了方便开发人员的使用,还可以提供一系列的API (应用程序接口),这些API 可以由开发人员来定义,调度器调用这些接口来实现上述处理过程。比如,可以提供以下 API 1.取数API,用于提取源数据,包括网络取数API、数据库取数API、Excel取数 API、Acess 取数 API 等等。
2.合并API,用于对数据进行合并。3.数据拆分API,用于对数据进行拆分。4.转换API,用于对数据进行转换,比如,可以进行纵表转横表等。可以使用SRC_ TABLE、DES_TABLE 等宏处理 API。5.汇总API,用于对数据进行汇总,比如,使用该类型API可以按索引汇总、按行或者列汇总。6.索引API,用于对大数据量查找,使用行索引技术,也就是把行号作为索引放进共享内存中。7.日志接口,用于将每个接口的调用情况记录日志,以便维护和将系统当前状况显示给用户。当然,上述各API可以由用户根据实际需要选用,对此本发明实施例不做限定。可见,本发明提供的数据处理方法,将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个 ETL规则。从而无需用户具备编程技术,即可实现大数据量、多数据源的处理,不仅处理效率高,而且不受系统环境影响,可适用于非可视化系统和可视化系统中,比如,能够应用在 Linux、Aix、Solaris、Windows 等系统平台上。相应地,本发明实施例还提供一种数据处理系统,如图2所示,是该系统的一种结构示意图。在该实施例中,所述系统包括规则封装单元201,用于将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中。调度单元202,用于扫描所述任务表,对所述任务表中的每个任务按照其对应的 ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。在实际应用中,上述ETL规则和动态库文件的信息可以是用户自定义并发布到服务器的。所述ETL规则可以包含ETL开发使用的各种规则,如取数规则,数据拆分规则,数据转换规则,数据合并规则,数据排序规则,数据汇总规则,数据网络采集规则,数据入库规则,数据配置规则等。为此,在本发明实施例中,所述系统还可进一步包括规则设置单元203,用于获取用户设置并发布的所述ETL规则和所述动态库文件的信息。相应地,规则封装单元201将这些ETL规则封装为动态库文件的形式,并将该动态库文件的信息登记到后台的数据库的任务表中。所述动态库文件的信息可以包括以下任意一项或多项启动时间,启动周期,重做标识,任务类型标识,任务描述,任务标识,是否可用,是否具有子任务。这些信息可以是用户自已定义的,在发布ETL规则时同时发布到所述服务器上。在该实施例中,上述调度单元102可以有多种方式实现,该调度单元102的一种具体结构包括提取子单元,转换子单元和存储子单元,其中所述提取子单元,用于对所述任务表中的每个任务按照其对应的ETL规则从生产库中提取源数据;
所述转换子单元,用于将所述提取子单元提取的源数据转换为系统需要的目标数据;所述存储子单元,用于将所述转换子单元转换后的目标数据存储到目标库中。当然,在实际应用中,上述调度单元102还可进一步包括其它功能单元,比如,用于对所述转换子单元转换后的目标数据进行排序、汇总等处理的功能单元。为了进一步提高对大数据量的处理效率,上述调度单元102可以优选通过多进程并发机制调度所述任务表中的任务。可见,本发明提供的数据处理系统,将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个 ETL规则。从而无需用户具备编程技术,即可实现大数据量、多数据源的处理,不仅处理效率高,而且不受系统环境影响,可适用于非可视化系统和可视化系统中,比如,能够应用在 Linux、Aix、Solaris、Windows 等系统平台上。需要说明的是,本发明实施例数据处理系统中和不同单元可以集成在一台设备 (比如计算机)上,也可以分布于不同的设备上。下面举例进一步详细说明本发明实施例的方法及系统对处理的处理过程。比如,针对移动业务的报表平台,由于移动用户的数量庞大,几亿手机用户业务处理后报表平台能产生达到上亿的业务记录,而处理这些业务记录需要一个能处理大数据量的ETL工具。利用本发明实施例提供的方法及系统,可以搭建一个报表数据库,在数据库表中配置不同的报表任务,不同的任务具有不同的ETL规则,这些不同的ETL规则都可以隐藏在统一的接口下。服务器将这些ETL规则调度起来,实现对所述业务记录的处理,有效地提高了处理效率。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种数据处理方法,其特征在于,包括将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL 处理,所述任务表中的每个任务对应了一个ETL规则。
2.根据权利要求1所述的方法,其特征在于,所述ETL规则和所述动态库文件的信息是用户设置并发布的。
3.根据权利要求1所述的方法,其特征在于,所述ETL规则包括以下任意一项或多项 取数规则,数据拆分规则,数据转换规则,数据合并规则,数据排序规则,数据汇总规则,数据网络采集规则,数据入库规则,数据配置规则。
4.根据权利要求1所述的方法,其特征在于,所述动态库文件的信息包括以下任意一项或多项每个任务的启动时间,启动周期,重做标识,任务类型标识,任务描述,任务标识, 是否可用,是否具有子任务。
5.根据权利要求1所述的方法,其特征在于,所述对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理包括对所述任务表中的每个任务按照其对应的ETL规则从数据源中提取源数据;将获取的源数据转换为系统需要的目标数据;将所述目标数据存储到目标库中。
6.根据权利要求1至4任一项所述的方法,其特征在于,通过后台多进程并发机制调度所述任务表中的任务。
7.一种数据处理系统,其特征在于,包括规则封装单元,用于将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;调度单元,用于扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。
8.根据权利要求7所述的系统,其特征在于,还包括规则设置单元,用于获取用户设置并发布的所述ETL规则和所述动态库文件的信息。
9.根据权利要求6所述的系统,其特征在于,所述调度单元包括提取子单元,用于对所述任务表中的每个任务按照其对应的ETL规则从生产库中提取源数据;转换子单元,用于将所述提取子单元提取的源数据转换为系统需要的目标数据;存储单元,用于将所述转换子单元转换后的目标数据存储到目标库中。
10.根据权利要求6至9任一项所述的系统,其特征在于,所述调度单元,具体用于通过多进程并发机制调度所述任务表中的任务。
全文摘要
本发明涉及数据处理技术领域,公开了一种数据处理方法及系统,该方法包括将ETL规则封装为动态库文件形式,并将该动态库文件的信息登记到后台的数据库的任务表中;扫描所述任务表,对所述任务表中的每个任务按照其对应的ETL规则实现数据的ETL处理,所述任务表中的每个任务对应了一个ETL规则。利用本发明,可以在非可视化系统和可视化系统中实现大数据量、多数据源的处理,提高处理效率。
文档编号G06F17/30GK102508919SQ201110370530
公开日2012年6月20日 申请日期2011年11月18日 优先权日2011年11月18日
发明者钟国南 申请人:广州从兴电子开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1