CN101086732A - 一种海量数据管理方法 - Google Patents

一种海量数据管理方法 Download PDF

Info

Publication number
CN101086732A
CN101086732A CN 200610027565 CN200610027565A CN101086732A CN 101086732 A CN101086732 A CN 101086732A CN 200610027565 CN200610027565 CN 200610027565 CN 200610027565 A CN200610027565 A CN 200610027565A CN 101086732 A CN101086732 A CN 101086732A
Authority
CN
China
Prior art keywords
data
subregion
database
record
cdr
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.)
Pending
Application number
CN 200610027565
Other languages
English (en)
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.)
SUCCESSFULL TELECOM TECHNOLOGY Co Ltd
Original Assignee
SUCCESSFULL TELECOM TECHNOLOGY 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 SUCCESSFULL TELECOM TECHNOLOGY Co Ltd filed Critical SUCCESSFULL TELECOM TECHNOLOGY Co Ltd
Priority to CN 200610027565 priority Critical patent/CN101086732A/zh
Publication of CN101086732A publication Critical patent/CN101086732A/zh
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

本发明提供了一种海量数据管理方法,该方法将一个数据库大表分成多个分区,每个分区相当于一个数据库小表,按日期划分分区,数据插入按分区顺序进行并在分区号范围内循环更新;另外建立五个数据库表空间,以进一步提高数据库并行插入和查询效率。采用本发明的方法能够避免由于数据量大而降低整个应用系统性能,进而降低整个软件系统运行平台的费用,提高其运行效率。

Description

一种海量数据管理方法
技术领域
本发明涉及一种计算机运行系统,尤其涉及一种海量数据管理方法。
背景技术
传统大型应用软件系统对其应用的管理对象采集的数据进行管理和查询分析,一般而言,管理和查询的数据量都非常巨大。如导入和查询移动短信网关的CDR(Call Detail Record话单详单)数据等。在现有的技术中,从网关取得的移动短信CDR数据文件直接插入数据库时,由于CDR中存在一些无效数据,比如无效行,无效字段等,而CDR中有二十多个字段,每个字段出错都会导致插入数据失败,应用程序因此会抛出例外,例外处理会占用计算机较多的处理时间,因而影响数据库的插入速度。另一方面,每次插入一条CDR记录,由于每次和数据库交互都存在在较大的开销,因此插入效率非常低下。当移动CDR每天几百万条数据在插入一个空的数据库表的时候,插入速度较快,随着日期的推移,表中的数据会越来越多,插入速度也会越来越慢,从而导致数据积压,不能及时处理。表中数据的增加又直接影响了对数据的查询和和统计分析的速度。
发明内容
本发明的目的,在于解决现有技术中存在的上述问题,提供一种新的海量数据管理方法。
本发明的目的是这样实现的:一种海量数据管理方法,包括以下步骤:
A、把一个数据库大表分成多个分区,每个分区相当于一个数据库小表,按日期划分分区,数据插入按分区顺序进行并在分区号范围内循环更新;
B、建立五个数据库表空间,一个分区使用一个表空间,相隔五个号的分区使用相同的表空间,即第6个分区使用和第1个分区相同的表空间,其他类推;
C、建立好数据库表空间后,每隔15分钟,从短信网关通过FTP协议,取CDR文件到本地指定目录,取得数据库的连接,设置数据库的自动提交模式为False,保证不是每条记录都自动提交,以降低和数据库交互的开销,提高插入速度;
D、读入一条CDR记录,检查记录是否合法,检查各字段是否正确;
E、字段校验通过后,根据CDR的申请时间计算数据要插入的分区号,把该条记录加入批处理命令中,如果已有1000条批命令未处理,或已到达文件的结尾,则执行批处理,将批记录提交到数据库,插入的记录自动根据每条记录的分区号,插入到数据库的不同分区中;
F、如果未达到1000条的批命令,则继续处理下一条记录直到该文件处理完毕;
G、按同样的方法处理下一个文件,直到处理完目录下的全部文件。
步骤A中所述的分区为91个,用于保存连续90天的数据,每天的数据依序插入各个分区,当90天的数据分别插入90个分区后,第91天的数据插入第91个分区,然后删除第1个分区的数据,实现始终保存最近90天的数据。
本发明海量数据管理方法能够避免由于数据量大而降低整个应用系统性能,进而降低整个软件系统运行平台的费用,提高其运行效率。例如当将分区设置为91个时,由于90天的CDR数据被分别插到90个分区里,每个分区只有一天的数据,使得数据插入速度大大提高。批处理的应用又降低了和数据库交互的开销,进一步极大地提高了插入的速度。分区上建有索引,数据的查询和统计分析时可根据日期计算要查询的分区号,根据分区号查找指定分区的数据,由于每个分区的数据量只相当于总数据的九十分之一,因此查询速度也得到了极大的提高,系统还能自动保存90天的数据。
附图说明
图1为本发明的应用程序流程图。
具体实施方式
本发明的核心是把一个数据库大表分成多个分区,每个分区相当一个数据库小表,数据插入按分区进行,按日期划分分区。如需保存90天的数据,则建立91个分区,每天的数据插入各自的分区,当90天的数据分别插入90个分区后,第91天的数据插入第91个分区,然后删除第一个分区的数据,这样始终能保存最近90天的数据。分区号根据日期产生且值在1-91之间循环。为进一步提高数据库并行插入和查询效率,我们建立五个数据表空间,一个分区一个表空间,相隔五个的分区号使用相同的表空间,即第六个分区使用和第一个分区相同的表空间,其他类推。
本发明的应用程序流程如图1所示。建立好数据库表空间后,每隔15分钟,从短信网关通过FTP协议,取CDR文件到本地指定目录,取得数据库的连接,设置数据库的自动提交模式为False,保证不是每条记录都自动提交,以降低和数据库交互的开销,提高插入速度。读入一条CDR记录,检查记录是否合法,检查各字段是否正确,字段校验通过后,根据CDR的申请时间计算数据要插入的分区号,把该条记录加入批处理命令中,如果已有1000条批命令未处理,或已到达文件的结尾,则执行批处理,这批记录被一次提交到数据库,插入的记录自动根据每条记录各自的分区号,插入到数据库的不同的分区中。如果未达到1000条的批命令,则继续处理下一条记录直到该文件处理完。然后按同样的方法处理下一个文件,直到处理完目录下的全部文件。
表中的数据查询方法是,根据日期计算该日期数据库表对应的分区号,从指定的分区中查找用户需要的数据。

Claims (2)

1、一种海量数据管理方法,其特征在于,包括以下步骤:
A、把一个数据库大表分成多个分区,每个分区相当于一个数据库小表,按日期划分分区,数据插入按分区顺序进行并在分区号范围内循环更新;
B、建立五个数据库表空间,一个分区使用一个表空间,相隔五个号的分区使用相同的表空间,即第6个分区使用和第1个分区相同的表空间,其他类推;
C、建立好数据库表空间后,每隔15分钟,从短信网关通过FTP协议,取CDR文件到本地指定目录,取得数据库的连接,设置数据库的自动提交模式为False,保证不是每条记录都自动提交,以降低和数据库交互的开销,提高插入速度;
D、读入一条CDR记录,检查记录是否合法,检查各字段是否正确;
E、字段校验通过后,根据CDR的申请时间计算数据要插入的分区号,把该条记录加入批处理命令中,如果已有1000条批命令未处理,或已到达文件的结尾,则执行批处理,将批记录提交到数据库,插入的记录自动根据每条记录的分区号,插入到数据库的不同分区中;
F、如果未达到1000条的批命令,则继续处理下一条记录直到该文件处理完毕;
G、按同样的方法处理下一个文件,直到处理完目录下的全部文件。
2、根据权利要求1所述的一种海量数据管理方法,其特征在于:步骤A中所述的分区为91个,用于保存连续90天的数据,每天的数据依序插入各个分区,当90天的数据分别插入90个分区后,第91天的数据插入第91个分区,然后删除第1个分区的数据,实现始终保存最近90天的数据。
CN 200610027565 2006-06-11 2006-06-11 一种海量数据管理方法 Pending CN101086732A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610027565 CN101086732A (zh) 2006-06-11 2006-06-11 一种海量数据管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610027565 CN101086732A (zh) 2006-06-11 2006-06-11 一种海量数据管理方法

Publications (1)

Publication Number Publication Date
CN101086732A true CN101086732A (zh) 2007-12-12

Family

ID=38937693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610027565 Pending CN101086732A (zh) 2006-06-11 2006-06-11 一种海量数据管理方法

Country Status (1)

Country Link
CN (1) CN101086732A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251861B (zh) * 2008-03-18 2010-04-21 北京锐安科技有限公司 一种海量数据加载和查询的方法
CN102081651A (zh) * 2010-12-29 2011-06-01 北京像素软件科技股份有限公司 一种网络游戏数据库分表的方法
CN101510203B (zh) * 2009-02-25 2011-09-21 南京联创科技集团股份有限公司 基于拆分机制并行处理实现大数据量高性能处理的方法
CN102200972A (zh) * 2010-03-24 2011-09-28 腾讯科技(北京)有限公司 一种数据库维护方法和设备
CN101582064B (zh) * 2008-05-15 2011-12-21 阿里巴巴集团控股有限公司 一种大数据量数据处理方法及系统
CN102446184A (zh) * 2010-10-12 2012-05-09 上海可鲁系统软件有限公司 一种基于时间序列的工业数据存储及索引方法
CN101621529B (zh) * 2008-06-30 2012-10-10 上海全成通信技术有限公司 一种异构海量数据高效低成本的装载方法
CN102982186A (zh) * 2012-12-26 2013-03-20 厦门市美亚柏科信息股份有限公司 基于oracle数据库系统的range分区表的维护方法和系统
CN101751397B (zh) * 2008-12-04 2013-03-27 中国移动通信集团安徽有限公司 一种将文件导入数据库的方法及装置
CN103279582A (zh) * 2013-06-24 2013-09-04 浙江宇天科技股份有限公司 一种基于Oracle分区的数据存储方法及装置
CN103714098A (zh) * 2012-09-29 2014-04-09 伊姆西公司 用于对数据库进行分区的方法和系统
CN103810256A (zh) * 2014-01-24 2014-05-21 武汉虹翼信息有限公司 基于分区技术在大数据网优平台中快速分发数据的方法
CN104715076A (zh) * 2015-04-13 2015-06-17 东信和平科技股份有限公司 一种多线程数据处理方法及装置
CN105045535A (zh) * 2015-07-22 2015-11-11 北京京东尚科信息技术有限公司 一种自动删除过期数据的方法和系统
CN106250493A (zh) * 2016-07-29 2016-12-21 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
CN106909558A (zh) * 2015-12-23 2017-06-30 中国电信股份有限公司 数据隔离以及查询的方法和装置
CN107451154A (zh) * 2016-05-31 2017-12-08 华为技术有限公司 一种数据表的处理方法、装置及系统
CN107894997A (zh) * 2017-10-19 2018-04-10 苏州工业大数据创新中心有限公司 工业时序数据的查询处理方法及系统
CN109977145A (zh) * 2019-03-28 2019-07-05 山东浪潮云信息技术有限公司 一种基于水平分区的数据库自动分区管理方法及系统
CN116561171A (zh) * 2023-07-10 2023-08-08 浙江邦盛科技股份有限公司 一种倾斜数据双时序分布处理方法、装置、设备及介质

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101251861B (zh) * 2008-03-18 2010-04-21 北京锐安科技有限公司 一种海量数据加载和查询的方法
CN101582064B (zh) * 2008-05-15 2011-12-21 阿里巴巴集团控股有限公司 一种大数据量数据处理方法及系统
CN101621529B (zh) * 2008-06-30 2012-10-10 上海全成通信技术有限公司 一种异构海量数据高效低成本的装载方法
CN101751397B (zh) * 2008-12-04 2013-03-27 中国移动通信集团安徽有限公司 一种将文件导入数据库的方法及装置
CN101510203B (zh) * 2009-02-25 2011-09-21 南京联创科技集团股份有限公司 基于拆分机制并行处理实现大数据量高性能处理的方法
CN102200972A (zh) * 2010-03-24 2011-09-28 腾讯科技(北京)有限公司 一种数据库维护方法和设备
CN102446184B (zh) * 2010-10-12 2013-06-19 上海可鲁系统软件有限公司 一种基于时间序列的工业数据存储及索引方法
CN102446184A (zh) * 2010-10-12 2012-05-09 上海可鲁系统软件有限公司 一种基于时间序列的工业数据存储及索引方法
CN102081651A (zh) * 2010-12-29 2011-06-01 北京像素软件科技股份有限公司 一种网络游戏数据库分表的方法
CN102081651B (zh) * 2010-12-29 2013-01-30 北京像素软件科技股份有限公司 一种网络游戏数据库分表的方法
CN103714098A (zh) * 2012-09-29 2014-04-09 伊姆西公司 用于对数据库进行分区的方法和系统
CN103714098B (zh) * 2012-09-29 2018-10-23 伊姆西公司 用于对数据库进行分区的方法和系统
CN102982186A (zh) * 2012-12-26 2013-03-20 厦门市美亚柏科信息股份有限公司 基于oracle数据库系统的range分区表的维护方法和系统
CN103279582A (zh) * 2013-06-24 2013-09-04 浙江宇天科技股份有限公司 一种基于Oracle分区的数据存储方法及装置
CN103810256A (zh) * 2014-01-24 2014-05-21 武汉虹翼信息有限公司 基于分区技术在大数据网优平台中快速分发数据的方法
CN103810256B (zh) * 2014-01-24 2017-09-26 武汉虹翼信息有限公司 基于分区技术在大数据网优平台中快速分发数据的方法
CN104715076A (zh) * 2015-04-13 2015-06-17 东信和平科技股份有限公司 一种多线程数据处理方法及装置
CN105045535B (zh) * 2015-07-22 2018-10-02 北京京东尚科信息技术有限公司 一种自动删除过期数据的方法和系统
CN105045535A (zh) * 2015-07-22 2015-11-11 北京京东尚科信息技术有限公司 一种自动删除过期数据的方法和系统
CN106909558A (zh) * 2015-12-23 2017-06-30 中国电信股份有限公司 数据隔离以及查询的方法和装置
CN107451154A (zh) * 2016-05-31 2017-12-08 华为技术有限公司 一种数据表的处理方法、装置及系统
CN106250493A (zh) * 2016-07-29 2016-12-21 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
CN107894997A (zh) * 2017-10-19 2018-04-10 苏州工业大数据创新中心有限公司 工业时序数据的查询处理方法及系统
CN107894997B (zh) * 2017-10-19 2021-10-12 苏州工业大数据创新中心有限公司 工业时序数据的查询处理方法及系统
CN109977145A (zh) * 2019-03-28 2019-07-05 山东浪潮云信息技术有限公司 一种基于水平分区的数据库自动分区管理方法及系统
CN116561171A (zh) * 2023-07-10 2023-08-08 浙江邦盛科技股份有限公司 一种倾斜数据双时序分布处理方法、装置、设备及介质
CN116561171B (zh) * 2023-07-10 2023-09-15 浙江邦盛科技股份有限公司 一种倾斜数据双时序分布处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN101086732A (zh) 一种海量数据管理方法
CN111459985B (zh) 标识信息处理方法及装置
CN103748579B (zh) 在映射化简框架中处理数据
CN108984177A (zh) 一种数据处理方法及系统
CN110347732A (zh) 一种数据转换方法及装置
CN100590620C (zh) 用于使记录在分区之间移动的系统和方法
CN104317928A (zh) 一种基于分布式数据库的业务etl方法及系统
CN101556678A (zh) 一种批处理业务的处理方法、系统及业务处理控制设备
CN101937474A (zh) 海量数据查询方法及设备
CN104298736A (zh) 数据集合连接方法、装置及数据库系统
CN101087203A (zh) 一种海量数据统计方法
CN106844320B (zh) 一种财务报表整合方法和设备
CN105630934A (zh) 一种数据统计方法及系统
CN102262636B (zh) 生成数据库分区执行计划的方法及装置
CN109388636A (zh) 业务数据插入数据库方法、装置、计算机设备及存储介质
CN102156744A (zh) 一种内存话单剔重方法
CN1809108A (zh) 基于过滤片的话单内存排重方法
CN107291938A (zh) 订单查询系统及方法
Ishihara et al. Genetic relationships among Vietnamese local pigs investigated using genome‐wide SNP markers
CN114021005A (zh) 网点信息查询方法、装置、设备及存储介质
CN112579608A (zh) 案件数据查询方法、系统、设备及计算机可读存储介质
CN106844539A (zh) 实时数据分析方法及系统
CN106599326B (zh) 一种云化架构下的记录数据剔重处理方法及系统
CN114116908A (zh) 一种数据管理方法、装置及电子设备
CN101799803B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20071212