APP下载

基于ETL的快速数据在线比对设计

2014-06-26汤蕾蕾

新媒体研究 2014年10期

汤蕾蕾

摘 要 在大量业务型的数据仓库中,存在海量数据比对碰撞的问题,如何通过海量数据的比对碰撞,发现目标结构是当前数据仓库中面临的一个严峻的现实问题。在许多系统中,通过消息队列的形式进行比对碰撞的实现。在本文中,我们通过ETL的方式在抽取的同时结合XML的配置完成比对模块的直接运行。通过ETL的同时进行比对,达到数据比对的最大效率,在进库的同时就进行数据的比对碰撞,及时的获取比对结果信息。

关键词 ETL;数据比对;XML;数据抽取

中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)10-0068-02

1 WEB技术设计

数据比对WEB部分包含两块功能,

1)提供界面对需要参与在线辑控的数据源库和目标库已经需要相关的条件进行设置。

2)对ETL任务的运行时间参数和启、停进行设置。

其中在线辑控的对需要进行辑控的数据源库和目标库进行设置将仍然采用XML配置文件方式,如图1。

说明:

basesql字段,为比对结果表中固化的字段,如比对的结果是人的信息,那么必须有身份证、姓名、性别等,如果是是车辆的话必须有车牌号码,车辆名称等信息。对于产生这条比对结果信息的源库和目标库的信息ID也将保存。

resultsql字段为比对结果表中保存的希望关注源库中的一些字段的信息,将会保存到比对结果表的一个clob字段中。

WEB方面负责提供界面供用户选择需要进行关注的库和相关的字段,保存后生成对应的sql语句形成一个在线辑控任务。用户可以对这个在线辑控任务进行启动、停止设置。

对ETL抽取任务的控制:

ETL的抽取任务有数据组在设计、测试完成后,在数据库中设置需要定时执行的任务属性,其中设置定时执行的参数是保存在一张表中,这张表和字段必须固化下来。

WEB端提供UI接口供用户管理ETL任务的启动、停止,以及相关的任务执行时间等参数的设定,并且提供任务的上次运行时间等信息。

对ETL抽取和比对过程中日志控制:

ETL的抽取和比对过程需要产生日志,替代现在后台采用文件方式保存的日志。

其中ETL日志表需要数据组固化表名和字段名;

比对过程的日志需要数据组固化另外一张表名和字段名;

整体,采用ETL抽取完成后直接执行比对操作,将替代现在后台中执行的定时调度任务,

但定时调度对某些操作任然需要,如案件串并中的查询,所以这里考虑仍然保留这个功能。

2 ETL技术设计

此次ETL架构主要为了满足动态数据验证,实现数据比对功能,由前台WEB页面控制调度平率等相关要求而设计。(图2)

1)判断是否抽取。

设置标志位确认数据流状态,当数据流处于运行状态,那么数据流将停止,等待下次运行时间后再次运行。

2)加载抽取数据。

更具时间戳判断,将需要抽取的数据加载到TEMP表中,由于使用TEMP表将会大大提高抽取效率。等加载完后,数据抽取的事情基本上已经完成,此时已经和源数据库库没有任何关系了。

3)数据量计算。

计算当前批次抽取数据总量、更新数据总量、数据插入总量、数据删除总量。由此来证明数据抽取情况。

4)数据验证。

更具前台页面设置对应的参数进行数据验证,此数据验证是逐一验证的方式。所以效率并不是很高。

5)数据转换。

更具业务要求,将数据转换成系统的数据。主要是字典表转换。

6)数据加载。

将抽取完成的数据加载到数据仓库中。

7)生产新数据源。

更具具体业务要求,插入到集合数据库中。

8)判断比对任务。

更具比对任务表判断是否有需要比对的任务。

9)获取比对项。

循环获取比对项。

10)输出结果。

将比对结果输入到比对结果表中。

11)第三方扩展接口。

开发第三方组建,例如短信接口。

3 详细设计

根据上面的设计,我们在此主要进行详细方面的规划设计。

WEB方面:

1)提供UI列表界面,列出当前所有的定义的在线辑控任务。用户可以在这个界面对在线辑控任务进行启动、停止控制。

2)提供UI编辑界面,根据配置文件的定义,提供选择两个库进行比对的设置,并根据设置提供两个库中哪些字段进行比对的设置。在用户保存后将生成SQL语句保存成一个在线辑控的任务。用户可以在后期对这个任务进行修改,修改的内容主要是比对的设置。默认对于新建立的在线辑控任务是设置为活动状态。

3)提供UI列表界面,列出所有定义的ETL抽取任务。用户可以在这个界面对ETL抽取任务进行启动、停止控制。

4)提供UI编辑界面,编辑ETL抽取任务的时间定义。

5)另外针对某些操作如案件串并中的案件查询仍然需要定时去执行查询工作,所以这里将实现一个独立运行的服务,已jar 包和脚本配合的形式运行在后台。定时执行任务。

6)需要固化的表:

比对信息结果表和相关关联信息字段的保存形式;

ETL抽取任务表和相关控制字段的含义;

ETL抽取日志表;

ETL比对日志表。

4 总结

本文通过这种ETL结合WEB端XML的配置方式,将海量数据在线比对的功能和数据抽取集成在一起,通过前台灵活地信息配置,将ETL和比对抽取配置结合在一起,实现数据抽取时灵活地数据碰撞和数据比对的功能。大大提升了数据比对的效率和数据比对的灵活度。

参考文献

[1]Valiant L G.A bridging model for parallel computation[J].Communications of the ACM,1997,33(8):103-111.

[2]盛宪锋,孙健英,焦文彬.基于数据生命周期管理的ARP系统优化设计[J].计算机工程与科学,2011.endprint

摘 要 在大量业务型的数据仓库中,存在海量数据比对碰撞的问题,如何通过海量数据的比对碰撞,发现目标结构是当前数据仓库中面临的一个严峻的现实问题。在许多系统中,通过消息队列的形式进行比对碰撞的实现。在本文中,我们通过ETL的方式在抽取的同时结合XML的配置完成比对模块的直接运行。通过ETL的同时进行比对,达到数据比对的最大效率,在进库的同时就进行数据的比对碰撞,及时的获取比对结果信息。

关键词 ETL;数据比对;XML;数据抽取

中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)10-0068-02

1 WEB技术设计

数据比对WEB部分包含两块功能,

1)提供界面对需要参与在线辑控的数据源库和目标库已经需要相关的条件进行设置。

2)对ETL任务的运行时间参数和启、停进行设置。

其中在线辑控的对需要进行辑控的数据源库和目标库进行设置将仍然采用XML配置文件方式,如图1。

说明:

basesql字段,为比对结果表中固化的字段,如比对的结果是人的信息,那么必须有身份证、姓名、性别等,如果是是车辆的话必须有车牌号码,车辆名称等信息。对于产生这条比对结果信息的源库和目标库的信息ID也将保存。

resultsql字段为比对结果表中保存的希望关注源库中的一些字段的信息,将会保存到比对结果表的一个clob字段中。

WEB方面负责提供界面供用户选择需要进行关注的库和相关的字段,保存后生成对应的sql语句形成一个在线辑控任务。用户可以对这个在线辑控任务进行启动、停止设置。

对ETL抽取任务的控制:

ETL的抽取任务有数据组在设计、测试完成后,在数据库中设置需要定时执行的任务属性,其中设置定时执行的参数是保存在一张表中,这张表和字段必须固化下来。

WEB端提供UI接口供用户管理ETL任务的启动、停止,以及相关的任务执行时间等参数的设定,并且提供任务的上次运行时间等信息。

对ETL抽取和比对过程中日志控制:

ETL的抽取和比对过程需要产生日志,替代现在后台采用文件方式保存的日志。

其中ETL日志表需要数据组固化表名和字段名;

比对过程的日志需要数据组固化另外一张表名和字段名;

整体,采用ETL抽取完成后直接执行比对操作,将替代现在后台中执行的定时调度任务,

但定时调度对某些操作任然需要,如案件串并中的查询,所以这里考虑仍然保留这个功能。

2 ETL技术设计

此次ETL架构主要为了满足动态数据验证,实现数据比对功能,由前台WEB页面控制调度平率等相关要求而设计。(图2)

1)判断是否抽取。

设置标志位确认数据流状态,当数据流处于运行状态,那么数据流将停止,等待下次运行时间后再次运行。

2)加载抽取数据。

更具时间戳判断,将需要抽取的数据加载到TEMP表中,由于使用TEMP表将会大大提高抽取效率。等加载完后,数据抽取的事情基本上已经完成,此时已经和源数据库库没有任何关系了。

3)数据量计算。

计算当前批次抽取数据总量、更新数据总量、数据插入总量、数据删除总量。由此来证明数据抽取情况。

4)数据验证。

更具前台页面设置对应的参数进行数据验证,此数据验证是逐一验证的方式。所以效率并不是很高。

5)数据转换。

更具业务要求,将数据转换成系统的数据。主要是字典表转换。

6)数据加载。

将抽取完成的数据加载到数据仓库中。

7)生产新数据源。

更具具体业务要求,插入到集合数据库中。

8)判断比对任务。

更具比对任务表判断是否有需要比对的任务。

9)获取比对项。

循环获取比对项。

10)输出结果。

将比对结果输入到比对结果表中。

11)第三方扩展接口。

开发第三方组建,例如短信接口。

3 详细设计

根据上面的设计,我们在此主要进行详细方面的规划设计。

WEB方面:

1)提供UI列表界面,列出当前所有的定义的在线辑控任务。用户可以在这个界面对在线辑控任务进行启动、停止控制。

2)提供UI编辑界面,根据配置文件的定义,提供选择两个库进行比对的设置,并根据设置提供两个库中哪些字段进行比对的设置。在用户保存后将生成SQL语句保存成一个在线辑控的任务。用户可以在后期对这个任务进行修改,修改的内容主要是比对的设置。默认对于新建立的在线辑控任务是设置为活动状态。

3)提供UI列表界面,列出所有定义的ETL抽取任务。用户可以在这个界面对ETL抽取任务进行启动、停止控制。

4)提供UI编辑界面,编辑ETL抽取任务的时间定义。

5)另外针对某些操作如案件串并中的案件查询仍然需要定时去执行查询工作,所以这里将实现一个独立运行的服务,已jar 包和脚本配合的形式运行在后台。定时执行任务。

6)需要固化的表:

比对信息结果表和相关关联信息字段的保存形式;

ETL抽取任务表和相关控制字段的含义;

ETL抽取日志表;

ETL比对日志表。

4 总结

本文通过这种ETL结合WEB端XML的配置方式,将海量数据在线比对的功能和数据抽取集成在一起,通过前台灵活地信息配置,将ETL和比对抽取配置结合在一起,实现数据抽取时灵活地数据碰撞和数据比对的功能。大大提升了数据比对的效率和数据比对的灵活度。

参考文献

[1]Valiant L G.A bridging model for parallel computation[J].Communications of the ACM,1997,33(8):103-111.

[2]盛宪锋,孙健英,焦文彬.基于数据生命周期管理的ARP系统优化设计[J].计算机工程与科学,2011.endprint

摘 要 在大量业务型的数据仓库中,存在海量数据比对碰撞的问题,如何通过海量数据的比对碰撞,发现目标结构是当前数据仓库中面临的一个严峻的现实问题。在许多系统中,通过消息队列的形式进行比对碰撞的实现。在本文中,我们通过ETL的方式在抽取的同时结合XML的配置完成比对模块的直接运行。通过ETL的同时进行比对,达到数据比对的最大效率,在进库的同时就进行数据的比对碰撞,及时的获取比对结果信息。

关键词 ETL;数据比对;XML;数据抽取

中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)10-0068-02

1 WEB技术设计

数据比对WEB部分包含两块功能,

1)提供界面对需要参与在线辑控的数据源库和目标库已经需要相关的条件进行设置。

2)对ETL任务的运行时间参数和启、停进行设置。

其中在线辑控的对需要进行辑控的数据源库和目标库进行设置将仍然采用XML配置文件方式,如图1。

说明:

basesql字段,为比对结果表中固化的字段,如比对的结果是人的信息,那么必须有身份证、姓名、性别等,如果是是车辆的话必须有车牌号码,车辆名称等信息。对于产生这条比对结果信息的源库和目标库的信息ID也将保存。

resultsql字段为比对结果表中保存的希望关注源库中的一些字段的信息,将会保存到比对结果表的一个clob字段中。

WEB方面负责提供界面供用户选择需要进行关注的库和相关的字段,保存后生成对应的sql语句形成一个在线辑控任务。用户可以对这个在线辑控任务进行启动、停止设置。

对ETL抽取任务的控制:

ETL的抽取任务有数据组在设计、测试完成后,在数据库中设置需要定时执行的任务属性,其中设置定时执行的参数是保存在一张表中,这张表和字段必须固化下来。

WEB端提供UI接口供用户管理ETL任务的启动、停止,以及相关的任务执行时间等参数的设定,并且提供任务的上次运行时间等信息。

对ETL抽取和比对过程中日志控制:

ETL的抽取和比对过程需要产生日志,替代现在后台采用文件方式保存的日志。

其中ETL日志表需要数据组固化表名和字段名;

比对过程的日志需要数据组固化另外一张表名和字段名;

整体,采用ETL抽取完成后直接执行比对操作,将替代现在后台中执行的定时调度任务,

但定时调度对某些操作任然需要,如案件串并中的查询,所以这里考虑仍然保留这个功能。

2 ETL技术设计

此次ETL架构主要为了满足动态数据验证,实现数据比对功能,由前台WEB页面控制调度平率等相关要求而设计。(图2)

1)判断是否抽取。

设置标志位确认数据流状态,当数据流处于运行状态,那么数据流将停止,等待下次运行时间后再次运行。

2)加载抽取数据。

更具时间戳判断,将需要抽取的数据加载到TEMP表中,由于使用TEMP表将会大大提高抽取效率。等加载完后,数据抽取的事情基本上已经完成,此时已经和源数据库库没有任何关系了。

3)数据量计算。

计算当前批次抽取数据总量、更新数据总量、数据插入总量、数据删除总量。由此来证明数据抽取情况。

4)数据验证。

更具前台页面设置对应的参数进行数据验证,此数据验证是逐一验证的方式。所以效率并不是很高。

5)数据转换。

更具业务要求,将数据转换成系统的数据。主要是字典表转换。

6)数据加载。

将抽取完成的数据加载到数据仓库中。

7)生产新数据源。

更具具体业务要求,插入到集合数据库中。

8)判断比对任务。

更具比对任务表判断是否有需要比对的任务。

9)获取比对项。

循环获取比对项。

10)输出结果。

将比对结果输入到比对结果表中。

11)第三方扩展接口。

开发第三方组建,例如短信接口。

3 详细设计

根据上面的设计,我们在此主要进行详细方面的规划设计。

WEB方面:

1)提供UI列表界面,列出当前所有的定义的在线辑控任务。用户可以在这个界面对在线辑控任务进行启动、停止控制。

2)提供UI编辑界面,根据配置文件的定义,提供选择两个库进行比对的设置,并根据设置提供两个库中哪些字段进行比对的设置。在用户保存后将生成SQL语句保存成一个在线辑控的任务。用户可以在后期对这个任务进行修改,修改的内容主要是比对的设置。默认对于新建立的在线辑控任务是设置为活动状态。

3)提供UI列表界面,列出所有定义的ETL抽取任务。用户可以在这个界面对ETL抽取任务进行启动、停止控制。

4)提供UI编辑界面,编辑ETL抽取任务的时间定义。

5)另外针对某些操作如案件串并中的案件查询仍然需要定时去执行查询工作,所以这里将实现一个独立运行的服务,已jar 包和脚本配合的形式运行在后台。定时执行任务。

6)需要固化的表:

比对信息结果表和相关关联信息字段的保存形式;

ETL抽取任务表和相关控制字段的含义;

ETL抽取日志表;

ETL比对日志表。

4 总结

本文通过这种ETL结合WEB端XML的配置方式,将海量数据在线比对的功能和数据抽取集成在一起,通过前台灵活地信息配置,将ETL和比对抽取配置结合在一起,实现数据抽取时灵活地数据碰撞和数据比对的功能。大大提升了数据比对的效率和数据比对的灵活度。

参考文献

[1]Valiant L G.A bridging model for parallel computation[J].Communications of the ACM,1997,33(8):103-111.

[2]盛宪锋,孙健英,焦文彬.基于数据生命周期管理的ARP系统优化设计[J].计算机工程与科学,2011.endprint