CN101510203B - 基于拆分机制并行处理实现大数据量高性能处理的方法 - Google Patents
基于拆分机制并行处理实现大数据量高性能处理的方法 Download PDFInfo
- Publication number
- CN101510203B CN101510203B CN2009100246706A CN200910024670A CN101510203B CN 101510203 B CN101510203 B CN 101510203B CN 2009100246706 A CN2009100246706 A CN 2009100246706A CN 200910024670 A CN200910024670 A CN 200910024670A CN 101510203 B CN101510203 B CN 101510203B
- Authority
- CN
- China
- Prior art keywords
- mass data
- files
- fifty
- database
- split
- 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.)
- Expired - Fee Related
Links
Images
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倍以上,而且当汇总表个数增加的情况下,其优势将更为明显,测试结果如下:
可见通过文件系统的并行处理,性能提高了一倍,而且可以推断出,当目标汇总表个数增加的时候,通过sql处理的时间是线性增加的,而通过文件系统模拟数据库处理,其花费的时间是非线性、缓慢地增长的。
测试结论:基于拆分机制并行处理实现大数据量高性能处理的方法来模拟数据库处理,能明显提高其处理性能(至少2倍以上)。当汇总结果表个数为多个的时候,其性能提升尤为明显。
附图说明
图1为从源表至目标表的数据流处理过程示意图
具体实施方式
可通过指定一通用接口,供原系统进行方便调用,从而达到替换原数据库内处理的功能,在显著提高系统执行效率的同时,做到跟原系统无缝衔接。
实施过程中的几项关键技术如下:
一次性读取:为了达到减少访问海量数据源表的目的,需要一次性读取所有后续汇总表所需要的信息。可通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量源表的SQL语句。无论有多少种汇总,只需一次性访问海量数据源,最大限度地减少数据库压力。为了达到减少访问海量数据源表的目的,需要一次性读取所有后续汇总表所需要的信息。可通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量源表的SQL语句。并根据实际情况进行,通常是按照电话号码,通过合理指定电话号码的某些位进行拆分,理论上可以将所有抽取的记录,比较平均地分布在抽取出的文件中。
通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量数据源表的SQL语句,读完所有后续海量数据汇总表所需要的信息。
同步拆分:为了接下来能充分利用多线程和多进程的并行处理优势,需要对数据进行一定条件的拆分。拆分条件可以根据实际情况进行,通常是按照电话号码,通过合理指定电话号码的某些位进行拆分,理论上可以将所有抽取的记录,比较平均地分布在抽取出的文件中。拆分的文件数和拆分位数关系是“10的幂”,也就是说如果按1位进行拆分,那么可拆分出10个文件;如果按两位进行拆分,那么可拆分出100个文件,如果按3位拆分,那么可拆分出1000个文件;依次类推。
并行处理:因为拆分条件的限定,就形成了“处理文件对”,一对文件中汇总的条件不可能在别的文件中出现,也就是说需要进行比较的条件范围缩小了。在文件系统中模拟数据库sql算法进行计算,充分利用文件系统的资源。这时,可以通过多线程或多进程的方式分别进行小范围内的文件汇总统计,并将汇总结果文件输出到新的文件中。模拟完成数据库操作。
组装入库:当所有的小文件汇总工作都完成之后,需要将所有的结果文件按照目标表类型分别拼接成大文件,然后装载进汇总表。这部分工作可以利用数据库特有的快速入库命令来完成,最大程度地减少入库时间。可参见图1所示。
Claims (1)
1.基于拆分机制并行处理实现大数据量高性能处理的方法,其特征是对于电信的话单海量数据通过设置拆分规则,将需要处理的海量数据,平均地拆分成多个文件,并利用文件处理系统的多线程和多CPU并行处理,快速处理海量数据:在文件处理系统中并行处理的过程是模拟数据库sql算法进行计算,充分利用文件处理系统的资源;
一次性读取所有后续海量数据汇总表所需要的信息:通过先罗列出每个汇总表所需要的维度和指标字段,再取并集的方法,制定出一个抽取海量数据源表的SQL语句,读完所有后续海量数据汇总表所需要的信息;
同步拆分:为了充分利用多线程和多进程的并行处理优势,对数据进行一定条件拆分:所述拆分条件是按照电话号码,通过合理指定电话号码的位进行拆分,将所有抽取的记录,比较平均地分布在抽取出的文件中;拆分的文件数和拆分位数关系是“10的幂”;
组装入库:平均地拆分成多个文件形成小文件汇总工作都完成之后,将所有的结果文件按照目标表类型分别拼接成大文件,然后装载进汇总表;这部分工作利用数据库快速入库命令来完成。
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 CN101510203A (zh) | 2009-08-19 |
CN101510203B true 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) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377972B (zh) * | 2010-08-23 | 2015-01-28 | 联想(北京)有限公司 | 图像处理设备和图像处理方法 |
CN101916296B (zh) * | 2010-08-29 | 2012-12-19 | 武汉天喻信息产业股份有限公司 | 基于文件的海量数据处理方法 |
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 | 芜湖大学科技园发展有限公司 | 满足不同时间粒度的海量动态数据的快速查询方法 |
CN104794128B (zh) * | 2014-01-20 | 2018-06-22 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置 |
CN104199637B (zh) * | 2014-07-16 | 2017-02-08 | 珠海金山网络游戏科技有限公司 | 一种对比打包文件的方法,装置及其系统 |
CN104915414A (zh) * | 2015-06-04 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 数据抽取方法及装置 |
CN105205174B (zh) * | 2015-10-14 | 2019-10-11 | 北京百度网讯科技有限公司 | 用于分布式系统的文件处理方法和装置 |
CN107436883B (zh) * | 2016-05-26 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 基于求余的数据抽取的方法、装置及系统 |
CN106294841A (zh) * | 2016-08-19 | 2017-01-04 | 上海携程商务有限公司 | 数据库事务的处理方法及处理系统 |
CN106446254A (zh) * | 2016-10-14 | 2017-02-22 | 北京百度网讯科技有限公司 | 文件检测方法和装置 |
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 | 北京思特奇信息技术股份有限公司 | 千万量级数据在关系型数据库中的多任务可视化激活方法 |
CN112052260B (zh) * | 2020-09-29 | 2024-01-26 | 武汉理工大学 | 一种基于多进程数据流的海量虚实数据比对方法 |
Citations (3)
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 |
CN1897025A (zh) * | 2006-04-27 | 2007-01-17 | 南京联创科技股份有限公司 | 海量数据处理中多线程工作包并行的etl技术 |
CN101086732A (zh) * | 2006-06-11 | 2007-12-12 | 上海全成通信技术有限公司 | 一种海量数据管理方法 |
-
2009
- 2009-02-25 CN CN2009100246706A patent/CN101510203B/zh not_active Expired - Fee Related
Patent Citations (3)
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 |
CN1897025A (zh) * | 2006-04-27 | 2007-01-17 | 南京联创科技股份有限公司 | 海量数据处理中多线程工作包并行的etl技术 |
CN101086732A (zh) * | 2006-06-11 | 2007-12-12 | 上海全成通信技术有限公司 | 一种海量数据管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101510203A (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101510203B (zh) | 基于拆分机制并行处理实现大数据量高性能处理的方法 | |
CN109739894B (zh) | 补充元数据描述的方法、装置、设备及存储介质 | |
CN105320679B (zh) | 一种数据表索引集合生成方法及装置 | |
CN103559300B (zh) | 数据的查询方法和查询装置 | |
US9471651B2 (en) | Adjustment of map reduce execution | |
AU2017399399B2 (en) | Method and system for optimizing database system, electronic device, and storage medium | |
CN103425672A (zh) | 一种数据库索引的建立方法及装置 | |
CN104536987B (zh) | 一种查询数据的方法及装置 | |
CN107784026A (zh) | 一种etl数据处理方法及装置 | |
CN102915344B (zh) | 一种sql语句处理方法及装置 | |
CN105677763A (zh) | 一种基于Hadoop的图像质量评估系统 | |
CN106780149A (zh) | 一种基于定时任务调度的设备实时监测系统 | |
CN103077192B (zh) | 一种数据处理方法及其系统 | |
CN105095255A (zh) | 一种数据索引创建方法及装置 | |
CN103473216A (zh) | 一种基于excel的产品工艺编制方法 | |
CN109376142A (zh) | 数据迁移方法及终端设备 | |
CN110222129B (zh) | 一种基于关系型数据库的信用评价算法 | |
CN115857918A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN103677852A (zh) | 一种可扩充的类自然语言公式编辑器的设计方法 | |
CN117216092A (zh) | 一种优化tdsql脚本的方法、装置、设备及可读存储介质 | |
CN113836164A (zh) | 统一sql的方法、系统、设备及介质 | |
Masouleh et al. | Optimization of ETL process in data warehouse through a combination of parallelization and shared cache memory | |
CN103809915A (zh) | 一种磁盘文件的读写方法和装置 | |
CN104778253A (zh) | 一种提供数据的方法和装置 | |
CN114969109A (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 |