Etl过程并行决策方法及装置的制造方法_2

文档序号:8528250阅读:来源:国知局
br>【具体实施方式】
[0059]以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。
[0060]如图1所示,其为本发明ETL过程并行决策方法的流程图;其中,所述ETL过程并行决策方法包括:
[0061]步骤a,输出带有操作信息的ETL过程脚本文件并初始化并行参数表;
[0062]本步骤中所述操作信息包括:是否统计、统计字段的信息;初始化后的并行参数表如图2本发明ETL过程并行决策方法中并行参数表状态一所示,从图中可以看出,0001、
0002、0003、0004和0005代表操作号,O代表不进行统计,I代表进行统计,null代表空置或操作不执行,字段1、字段2代表对字段1、字段2进行统计字段操作。
[0063]步骤b,执行带有所述操作信息的所述ETL过程脚本文件并将执行信息记录在所述并行参数表中;
[0064]本步骤中,所述执行信息包括:执行时间、字段行数;记录执行信息后的并行参数表如图3本发明ETL过程并行决策方法中并行参数表状态二所示,从图中可以看出,执行时间以ms为单位,执行时间的行与操作号的列交叉处方框为执行此操作的时间,如执行操作0001的时间为2ms ;行数的行与操作号的列交叉处方框为此操作需要执行的行数。
[0065]步骤C,分析所述并行参数表并为每个操作的并行方式做决策,将决策结果写入所述并行参数表中,更新所述操作信息;
[0066]本步骤中,所述决策结果包括:是否并行、并行方式和并行的拷贝数;写入决策结果后的并行参数表如图4本发明ETL过程并行决策方法中并行参数表状态三所示,从图中可以看出,是否并行的行中方框内数字I代表并行,O代表不并行(图中未出现);并行方式中row代表行并行,columnl代表列并行,并行的拷贝数即为字段行数,因此图中未标出并行的拷贝数。将决策结果写入所述并行参数表中后,更新后的所述操作信息包括:是否统计、统计字段、执行时间、字段行数、是否并行、并行方式和并行的拷贝数。
[0067]步骤d,根据所述并行参数表执行带有更新后的所述操作信息的所述ETL过程脚本文件,实现ETL过程的并行。
[0068]本步骤中,所述操作信息包括:是否统计、统计字段、执行时间、字段行数、是否并行、并行方式和并行的拷贝数;其中,本步骤中并不对已经执行过的信息进行再执行,如是否统计、统计字段、执行时间和字段行数,仅对未执行的操作信息进行执行,如是否并行、并行方式和并行的拷贝数。
[0069]该方法可以为不同的ETL过程作出并行决策,为所述ETL过程提供并行方法。一方面,它加快了 ETL过程的执行速度,为ETL过程开发人员节省了 ETL过程测试时间和开发时间,为企业数据仓库构建节约成本,为企业运营增加效益。另一方面,该方法具有ETL过程并行解决方法的多样性,可以为各种不同的ETL过程自动提供并行方法,省去了 ETL开发人员为每一个ETL过程配置并行文件的过程,同样节省了 ETL过程开发人员开发ETL过程的时间,加速各个主体的数据仓库额构建,为企业高层的业务决策提供了更为实时的数据信息,让决策更为科学和准确,给企业带来更多的便利和更好的效果。
[0070]实施例一
[0071]如上述所述的ETL过程并行决策方法,本实施例与其不同之处在于,如图5本发明ETL过程并行决策方法步骤a的流程图所示,其为;其中,步骤a包括:
[0072]步骤al,将所述ETL过程脚本文件划分成操作,对同一个字段或同一组字段的修改看作一个操作;
[0073]对字段的修改的行为包括:删除字段、新增字段(单独新增一个常量字段,由其他字段计算得出一个新字段)、修改字段的格式(浮点型改为整数型)、更改字段(乘以100)等等。将ETL过程脚本文件划分成操作,对同一个字段或同一组字段的修改看作一个操作意为:首先对脚本文件划分操作,再对这些操作按某种规则进行编号。
[0074]划分:检索脚本文件,如果某段脚本是对一个字段(可以是表中的任何字段)进行修改,就将这段脚本视为一个操作。
[0075]编号:编号就是对操作进行编号,一般按照操作对应的脚本段落在脚本文件中的顺序来编号。
[0076]步骤a2,为操作编号,将操作号按照操作的执行顺序储存在所述并行参数表中;
[0077]本步骤中,操作号为图2、3、4中的0001、0002、0003、0004和0005。
[0078]步骤a3,给所述ETL过程脚本文件添加操作划分的信息,生成带有所述操作信息的所述ETL过程脚本文件。
[0079]实施例二
[0080]如上述所述的ETL过程并行决策方法,本实施例与其不同之处在于,如图6本发明ETL过程并行决策方法步骤b的流程图所示,其为;其中,步骤b包括:
[0081]步骤bl,执行带有所述操作信息的ETL过程脚本文件来处理源数据文件;
[0082]执行带有操作信息的ETL过程脚本文件来处理源数据文件,即为执行脚本文件中的脚本对源数据文件进行修改。
[0083]本步骤中,所述操作信息包括:是否统计、统计字段的信息。
[0084]本步骤中,处理源数据文件时采用管道并行技术。源数据文件在操作间的传递是以数据行为单位的,数据行以数据流的形式在操作间传递,除非一种特殊情况。所述特殊情况是,某操作需要对源数据字段做统计,所述某操作会等待上衣操作的全部数据到达该操作的缓存行集才开始执行操作。
[0085]步骤b2,每一个操作结束时,将上述操作的执行时长和读写的行数输出;
[0086]步骤b3,将接收到的各个操作的所述执行时长和读写的行数输出到所述并行参数表。
[0087]实施例三
[0088]如上述所述的ETL过程并行决策方法,本实施例与其不同之处在于,如图7本发明ETL过程并行决策方法步骤c的流程图所示,其为;其中,步骤c包括:
[0089]步骤Cl,对输入的带有所述操作信息的所述ETL过程脚本文件进行分析,判断每一个操作是否可以并行,可以并行的操作将采取何种方式并行,将判断得到的信息输出到所述并行参数表;
[0090]本步骤中所述操作信息包括:是否统计、统计字段的信息、执行时间、字段行数;
[0091]本步骤中,判断是否统计类操作,若不是,则该步骤可以采取单操作并行;若是,判断是否有连续的对不同字段的统计操作,若是,将连续的对不同字段的统计操作进行多操作并行,若不是,该操作不予并行。上述的单操作并行,将操作复制成多个操作拷贝,将所述操作即将处理的数据行按照轮询的方式分发给所述多个操作拷贝,多个操作拷贝并发执行。上述的多操作并行,即多操作并发执行。
[0092]步骤c2,对输入的所述并行参数表进行分析,判断每一个操作是否并行、采取的并行方式以及并行的拷贝数,将判断所得信息输出到所述并行参数表。
[0093]本步骤中,输入的并行参数表中包含步骤b3输出到并行参数表中的信息以及步骤Cl输出到并行参数表中的判断得到的信息,本步骤对其进行分析,最终确认每一个操作是否并行、采取何种方式并行以及并行的拷贝数,并将这些信息一同写入并行参数表。
[0094]实施例四
[0095]如上述所述的ETL过程并行决策方法,本实施例与其不同之处在于,如图8本发明ETL过程并行决策方法步骤d的流程图所示,其为;其中,步骤d包括:
[0096]步骤dl,接收所述并行参数表,根据所述并行参数表中操作的并行信息控制执行过程;
[0097]发出执行信号,并在接收到结束信号后发出下一个执行信号。
[0098]步骤d2,执行输入的带有所述操作信息的所述ETL过程脚本文件来处理所述源数据文件。
[0099]根据带有操作信息的ETL过程脚本文件执行ETL过程,每结束一个操作便发出结束信号,在接收到执行信号后执行下次操作,执行信号是接下来执行的操作及所述操作应该使用的并行方法。
[0100]本步骤中,所述操作信息包括:是否统计、统计字段、执行时间、字段行数、是否并行、并行方式和并行的拷贝数;其中,本步骤中并不对已经执行过的信息进行再执行,如是否统计、统计字段、执行时间和字段行数,仅对未执行的操作信息进行执行,如是否并行、并行方式和并行的拷贝数。
[0101]实施例五
[0102]本实施例为一种ETL过程并行决策装置,其与上述所述的ETL过程并行决策方法相对应;如图9本发明ETL过程并行决策装置的结构图所示,其为,其中,所述ETL过程并行决策装置包括:
[0103]输出模块1,输出带有操作信息的ETL过程脚本文件并初始化并行参数表;
[0104]第一运行模块2,执行带有所述操作信息的所述ETL过程脚本文件并将执行信息记录在所述并行参数表中;
[0105]分析模块3,分析所述并行参数表并为每个操作的并行方式做决策,将决策结果写入所述并行
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1