CN101510203A - 基于拆分机制并行处理实现大数据量高性能处理的方法 - Google Patents

基于拆分机制并行处理实现大数据量高性能处理的方法 Download PDF

Info

Publication number
CN101510203A
CN101510203A CNA2009100246706A CN200910024670A CN101510203A CN 101510203 A CN101510203 A CN 101510203A CN A2009100246706 A CNA2009100246706 A CN A2009100246706A CN 200910024670 A CN200910024670 A CN 200910024670A CN 101510203 A CN101510203 A CN 101510203A
Authority
CN
China
Prior art keywords
mass data
files
fifty
database
splitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2009100246706A
Other languages
English (en)
Other versions
CN101510203B (zh
Inventor
沈小军
庞海东
赵懿敏
李捷
曹晓华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LINKAGE SYSTEM INTEGRATION CO Ltd
Original Assignee
LINKAGE SYSTEM INTEGRATION CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LINKAGE SYSTEM INTEGRATION CO Ltd filed Critical LINKAGE SYSTEM INTEGRATION CO Ltd
Priority to CN2009100246706A priority Critical patent/CN101510203B/zh
Publication of CN101510203A publication Critical patent/CN101510203A/zh
Application granted granted Critical
Publication of CN101510203B publication Critical patent/CN101510203B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

基于拆分机制并行处理实现大数据量高性能处理的方法,对于电信的话单海量数据通过设置拆分规则,将需要处理的海量数据,平均地拆分成多个文件,并利用文件处理系统的多线程和多CPU并行处理,快速处理海量数据:在文件处理系统中并行处理的过程是模拟数据库sql算法进行计算;通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量数据源表的SQL语句,读完所有后续海量数据汇总表所需要的信息;组装入库:平均地拆分成多个文件中的形成的小文件汇总工作都完成之后,将所有的结果文件按照目标表类型分别拼接成大文件,然后装载进汇总表;这部分工作可以利用数据库特有的快速入库命令来完成。

Description

基于拆分机制并行处理实现大数据量高性能处理的方法
技术领域
本发明属于电信运营商海量数据库数据处理应用技术范畴,尤其是并行处理实现大数据量高性能处理的方法。
背景技术
一般来说,电信运营商的业务清单数据常常都是海量级的,尤其是需要进行汇总统计的清单数据,每天处理的的记录数均达到千万级。通常的做法是在数据库中通过一个或多个较复杂的sql语句,并提交给数据库完成,这样的工作都占用了很多时间和数据库资源。
比如,针对每天产生的日清单数据,需要先对日清单表的记录按照指定条件进行汇总,然后更新入汇总表,更新方法是:如果汇总表已经有了相同指定约束条件的,则将相关指标值累加并更新;否则直接插入,形成新的记录。
每次汇总过程都需要执行一次较复杂的sql语句。有多少种不同的汇总目标表,就需要执行多少次sql语句。其所要花费的时间完全取决于数据库的处理性能。而通常情况下效率都非常的低。
发明内容
本发明目的是提出一种基于拆分机制并行处理实现大数据量高性能处理的方法,针对每次汇总过程都需要执行一次较复杂的sql语句。有多少种不同的汇总目标表,就需要执行多少次sql语句,所要花费的时间多的不足。
基于拆分机制并行处理实现大数据量高性能处理的方法,对于电信的话单海量数据通过设置拆分规则,将需要处理的海量数据,平均地拆分成多个文件,并利用文件处理系统的多线程和多CPU并行处理,快速处理海量数据:在文件处理系统中并行处理的过程是模拟数据库sql算法进行计算,充分利用文件处理系统的资源;
一次性读取所有后续海量数据汇总表所需要的信息:通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量数据源表的SQL语句,读完所有后续海量数据汇总表所需要的信息;
同步拆分:为了充分利用多线程和多进程的并行处理优势,对数据进行一定条件拆分:所述拆分条件是按照电话号码,通过合理指定电话号码的位进行拆分,将所有抽取的记录,比较平均地分布在抽取出的文件中;拆分的文件数和拆分位数关系是“10的幂”,也就是说如果按1位进行拆分,那么可拆分出10个文件;如果按两位进行拆分,那么可拆分出100个文件,如果按3位拆分,那么可拆分出1000个文件;依次类推;
根据拆分条件的规则,就形成了一些“处理文件对”,处理文件对中汇总的条件不可能在别的文件中出现,这样通过多线程或多进程的方式分别进行小范围内的文件汇总统计,并将汇总结果文件输出到新的文件中,模拟完成数据库操作;
组装入库:平均地拆分成多个文件中的形成的小文件汇总工作都完成之后,将所有的结果文件按照目标表类型分别拼接成大文件,然后装载进汇总表;这部分工作可以利用数据库特有的快速入库命令来完成。
本发明有益效果是:本发明针对完全通过数据库来进行类似的工作所存在的多次访问同一海量数据源、处理速度完全依赖数据库、性能无法掌控等问题而设计的。本发明主要优势在于:
1、无论有多少种汇总,只需一次性访问海量数据源,最大限度地减少数据库压力。
2、在文件系统中模拟数据库sql算法进行计算,充分利用文件系统的资源。
3、对数据库的性能依赖小,投资少,且便于移植。
通过一次性读取所有汇总表所需要的内容,并根据预设的拆分规则,分成若干小文件存储到文件系统中,然后利用多进程和多线程技术对这些文件进行数据库仿真运算,处理的结果文件最终再拼接,统一快速入库,从而完成模拟执行sql的过程。
4、对数据库的性能依赖小,投资少,且便于移植。一般主机资源投入比数据库的投入要小许多,因此提升同样的系统性能,更新数据库要比更新主机系统更费资金,更费事,充分利用文件系统能达到低投入,高产出的最终目的。
在江苏电信经营分析系统的使用情况表明,数据库海量数据的文件系统处理算法,能明显提高效率2倍以上,而且当汇总表个数增加的情况下,其优势将更为明显,测试结果如下:
Figure A200910024670D00041
可见通过文件系统的并行处理,性能提高了一倍,而且可以推断出,当目标汇总表个数增加的时候,通过sql处理的时间是线性增加的,而通过文件系统模拟数据库处理,其花费的时间是非线性、缓慢地增长的。
测试结论:基于拆分机制并行处理实现大数据量高性能处理的方法来模拟数据库处理,能明显提高其处理性能(至少2倍以上)。当汇总结果表个数为多个的时候,其性能提升尤为明显。
附图说明
图1为从源表至目标表的数据流处理过程示意图
具体实施方式
可通过指定一通用接口,供原系统进行方便调用,从而达到替换原数据库内处理的功能,在显著提高系统执行效率的同时,做到跟原系统无缝衔接。
实施过程中的几项关键技术如下:
一次性读取:为了达到减少访问海量数据源表的目的,需要一次性读取所有后续汇总表所需要的信息。可通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量源表的SQL语句。无论有多少种汇总,只需一次性访问海量数据源,最大限度地减少数据库压力。为了达到减少访问海量数据源表的目的,需要一次性读取所有后续汇总表所需要的信息。可通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量源表的SQL语句。并根据实际情况进行,通常是按照电话号码,通过合理指定电话号码的某些位进行拆分,理论上可以将所有抽取的记录,比较平均地分布在抽取出的文件中。
通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量数据源表的SQL语句,读完所有后续海量数据汇总表所需要的信息。
同步拆分:为了接下来能充分利用多线程和多进程的并行处理优势,需要对数据进行一定条件的拆分。拆分条件可以根据实际情况进行,通常是按照电话号码,通过合理指定电话号码的某些位进行拆分,理论上可以将所有抽取的记录,比较平均地分布在抽取出的文件中。拆分的文件数和拆分位数关系是“10的幂”,也就是说如果按1位进行拆分,那么可拆分出10个文件;如果按两位进行拆分,那么可拆分出100个文件,如果按3位拆分,那么可拆分出1000个文件;依次类推。
并行处理:因为拆分条件的限定,就形成了“处理文件对”,一对文件中汇总的条件不可能在别的文件中出现,也就是说需要进行比较的条件范围缩小了。在文件系统中模拟数据库sql算法进行计算,充分利用文件系统的资源。这时,可以通过多线程或多进程的方式分别进行小范围内的文件汇总统计,并将汇总结果文件输出到新的文件中。模拟完成数据库操作。
组装入库:当所有的小文件汇总工作都完成之后,需要将所有的结果文件按照目标表类型分别拼接成大文件,然后装载进汇总表。这部分工作可以利用数据库特有的快速入库命令来完成,最大程度地减少入库时间。可参见图1所示。

Claims (1)

1、基于拆分机制并行处理实现大数据量高性能处理的方法,其特征是对于电信的话单海量数据通过设置拆分规则,将需要处理的海量数据,平均地拆分成多个文件,并利用文件处理系统的多线程和多CPU并行处理,快速处理海量数据:在文件处理系统中并行处理的过程是模拟数据库sq1算法进行计算,充分利用文件处理系统的资源;
一次性读取所有后续海量数据汇总表所需要的信息:通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量数据源表的SQL语句,读完所有后续海量数据汇总表所需要的信息;
同步拆分:为了充分利用多线程和多进程的并行处理优势,对数据进行一定条件拆分:所述拆分条件是按照电话号码,通过合理指定电话号码的位进行拆分,将所有抽取的记录,比较平均地分布在抽取出的文件中;拆分的文件数和拆分位数关系是“10的幂”;
组装入库:平均地拆分成多个文件中的形成的小文件汇总工作都完成之后,将所有的结果文件按照目标表类型分别拼接成大文件,然后装载进汇总表;这部分工作可以利用数据库特有的快速入库命令来完成。
CN2009100246706A 2009-02-25 2009-02-25 基于拆分机制并行处理实现大数据量高性能处理的方法 Expired - Fee Related CN101510203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100246706A CN101510203B (zh) 2009-02-25 2009-02-25 基于拆分机制并行处理实现大数据量高性能处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100246706A CN101510203B (zh) 2009-02-25 2009-02-25 基于拆分机制并行处理实现大数据量高性能处理的方法

Publications (2)

Publication Number Publication Date
CN101510203A true CN101510203A (zh) 2009-08-19
CN101510203B CN101510203B (zh) 2011-09-21

Family

ID=41002603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100246706A Expired - Fee Related CN101510203B (zh) 2009-02-25 2009-02-25 基于拆分机制并行处理实现大数据量高性能处理的方法

Country Status (1)

Country Link
CN (1) CN101510203B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916296A (zh) * 2010-08-29 2010-12-15 武汉天喻信息产业股份有限公司 基于文件的海量数据处理方法
CN102377972A (zh) * 2010-08-23 2012-03-14 联想(北京)有限公司 图像处理设备和图像处理方法
CN102722354A (zh) * 2012-06-04 2012-10-10 南京中兴软创科技股份有限公司 面向计费业务的数据实时抽取和关键性指标实时分析方法
CN103188346A (zh) * 2013-03-05 2013-07-03 北京航空航天大学 支持分布式决策的大规模高并发访问i/o服务器负载均衡系统
CN103294754A (zh) * 2013-02-04 2013-09-11 税友软件集团股份有限公司 大数据量加载的拆分与合并方法及系统
CN103605664A (zh) * 2013-10-22 2014-02-26 芜湖大学科技园发展有限公司 满足不同时间粒度的海量动态数据的快速查询方法
CN104794128A (zh) * 2014-01-20 2015-07-22 阿里巴巴集团控股有限公司 数据处理方法和装置
CN104915414A (zh) * 2015-06-04 2015-09-16 北京京东尚科信息技术有限公司 数据抽取方法及装置
CN105205174A (zh) * 2015-10-14 2015-12-30 北京百度网讯科技有限公司 用于分布式系统的文件处理方法和装置
CN106294841A (zh) * 2016-08-19 2017-01-04 上海携程商务有限公司 数据库事务的处理方法及处理系统
CN104199637B (zh) * 2014-07-16 2017-02-08 珠海金山网络游戏科技有限公司 一种对比打包文件的方法,装置及其系统
CN106446254A (zh) * 2016-10-14 2017-02-22 北京百度网讯科技有限公司 文件检测方法和装置
CN107203601A (zh) * 2017-05-15 2017-09-26 中国建设银行股份有限公司 应用于账务处理的数据处理方法及装置
CN107436883A (zh) * 2016-05-26 2017-12-05 北京京东尚科信息技术有限公司 基于求余的数据抽取的方法、装置及系统
CN107704566A (zh) * 2017-09-29 2018-02-16 中国联合网络通信集团有限公司 话单集采预处理方法、系统及排重、拆分和合并系统
CN108073643A (zh) * 2016-11-17 2018-05-25 百度在线网络技术(北京)有限公司 任务处理方法和装置
CN111680011A (zh) * 2020-06-03 2020-09-18 中国银行股份有限公司 基于主机系统的文件处理方法及装置
CN111767331A (zh) * 2020-06-17 2020-10-13 北京思特奇信息技术股份有限公司 千万量级数据在关系型数据库中的多任务可视化激活方法
CN112052260A (zh) * 2020-09-29 2020-12-08 武汉理工大学 一种基于多进程数据流的海量虚实数据比对方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496831B1 (en) * 1999-03-25 2002-12-17 Lucent Technologies Inc. Real-time event processing system for telecommunications and other applications
CN1897025B (zh) * 2006-04-27 2011-02-02 南京联创科技集团股份有限公司 海量数据处理中多线程工作包并行的etl技术
CN101086732A (zh) * 2006-06-11 2007-12-12 上海全成通信技术有限公司 一种海量数据管理方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377972A (zh) * 2010-08-23 2012-03-14 联想(北京)有限公司 图像处理设备和图像处理方法
CN102377972B (zh) * 2010-08-23 2015-01-28 联想(北京)有限公司 图像处理设备和图像处理方法
CN101916296B (zh) * 2010-08-29 2012-12-19 武汉天喻信息产业股份有限公司 基于文件的海量数据处理方法
CN101916296A (zh) * 2010-08-29 2010-12-15 武汉天喻信息产业股份有限公司 基于文件的海量数据处理方法
CN102722354A (zh) * 2012-06-04 2012-10-10 南京中兴软创科技股份有限公司 面向计费业务的数据实时抽取和关键性指标实时分析方法
CN102722354B (zh) * 2012-06-04 2014-11-26 南京中兴软创科技股份有限公司 面向计费业务的数据实时抽取和关键性指标实时分析方法
CN103294754A (zh) * 2013-02-04 2013-09-11 税友软件集团股份有限公司 大数据量加载的拆分与合并方法及系统
CN103188346A (zh) * 2013-03-05 2013-07-03 北京航空航天大学 支持分布式决策的大规模高并发访问i/o服务器负载均衡系统
CN103605664B (zh) * 2013-10-22 2017-01-18 芜湖大学科技园发展有限公司 满足不同时间粒度的海量动态数据的快速查询方法
CN103605664A (zh) * 2013-10-22 2014-02-26 芜湖大学科技园发展有限公司 满足不同时间粒度的海量动态数据的快速查询方法
CN104794128A (zh) * 2014-01-20 2015-07-22 阿里巴巴集团控股有限公司 数据处理方法和装置
CN104794128B (zh) * 2014-01-20 2018-06-22 阿里巴巴集团控股有限公司 数据处理方法和装置
CN104199637B (zh) * 2014-07-16 2017-02-08 珠海金山网络游戏科技有限公司 一种对比打包文件的方法,装置及其系统
CN104915414A (zh) * 2015-06-04 2015-09-16 北京京东尚科信息技术有限公司 数据抽取方法及装置
CN105205174A (zh) * 2015-10-14 2015-12-30 北京百度网讯科技有限公司 用于分布式系统的文件处理方法和装置
CN105205174B (zh) * 2015-10-14 2019-10-11 北京百度网讯科技有限公司 用于分布式系统的文件处理方法和装置
CN107436883B (zh) * 2016-05-26 2020-06-30 北京京东尚科信息技术有限公司 基于求余的数据抽取的方法、装置及系统
CN107436883A (zh) * 2016-05-26 2017-12-05 北京京东尚科信息技术有限公司 基于求余的数据抽取的方法、装置及系统
CN106294841A (zh) * 2016-08-19 2017-01-04 上海携程商务有限公司 数据库事务的处理方法及处理系统
CN106446254A (zh) * 2016-10-14 2017-02-22 北京百度网讯科技有限公司 文件检测方法和装置
CN108073643A (zh) * 2016-11-17 2018-05-25 百度在线网络技术(北京)有限公司 任务处理方法和装置
CN108073643B (zh) * 2016-11-17 2021-12-03 百度在线网络技术(北京)有限公司 任务处理方法和装置
CN107203601A (zh) * 2017-05-15 2017-09-26 中国建设银行股份有限公司 应用于账务处理的数据处理方法及装置
CN107704566A (zh) * 2017-09-29 2018-02-16 中国联合网络通信集团有限公司 话单集采预处理方法、系统及排重、拆分和合并系统
CN111680011A (zh) * 2020-06-03 2020-09-18 中国银行股份有限公司 基于主机系统的文件处理方法及装置
CN111767331A (zh) * 2020-06-17 2020-10-13 北京思特奇信息技术股份有限公司 千万量级数据在关系型数据库中的多任务可视化激活方法
CN112052260A (zh) * 2020-09-29 2020-12-08 武汉理工大学 一种基于多进程数据流的海量虚实数据比对方法
CN112052260B (zh) * 2020-09-29 2024-01-26 武汉理工大学 一种基于多进程数据流的海量虚实数据比对方法

Also Published As

Publication number Publication date
CN101510203B (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
CN101510203B (zh) 基于拆分机制并行处理实现大数据量高性能处理的方法
CN109739894B (zh) 补充元数据描述的方法、装置、设备及存储介质
CN101021874B (zh) 一种对查询sql请求进行优化的方法及装置
US9471651B2 (en) Adjustment of map reduce execution
AU2017399399B2 (en) Method and system for optimizing database system, electronic device, and storage medium
CN103455489A (zh) 一种快速构建企业关键业绩指标的方法和系统
CN107301214A (zh) 在hive中数据迁移方法、装置及终端设备
CN102915344A (zh) 一种sql语句处理方法及装置
CN113468204A (zh) 一种数据查询方法、装置、设备、介质
GB2509090A (en) An extract-transform-load (ETL) processor controller indicates a degree of preferredness of a proposed placement of data
CN102955739B (zh) 一种提高性能测试脚本重用率的方法
CN115878003A (zh) 一种基于Transformer的RPA网页操作自动化方法及系统
JP6248137B2 (ja) 商用インタープリタを用いた、スクリプトに基づくデータ処理システム
CN103336765B (zh) 一种文本关键词的马尔可夫矩阵离线修正方法
CN106991116B (zh) 数据库执行计划的优化方法和装置
CN110019342A (zh) 分区表访问方法、装置及设备、计算机可读存储介质
CN105630997A (zh) 一种数据并行处理方法、装置及设备
US10628397B2 (en) Navigation of data set preparation
CN106682064B (zh) 企业报表的取数装置和取数方法
CN114969109A (zh) 一种渐进交互式数据查询系统、方法及介质
CN104407853A (zh) 一种实现table多行同时编辑的方法
JP6536580B2 (ja) 文集合抽出システム、方法およびプログラム
CN112035486B (zh) 分区表的分区建立方法、装置和设备
KR20130008333A (ko) 데이타베이스 관리자를 이용한 융합 데이타베이스 관리 시스템 및 방법
CN114880242B (zh) 测试用例的提取方法、装置、设备和介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110921

CF01 Termination of patent right due to non-payment of annual fee