一种海量数据的处理方法技术

技术编号:4178513 阅读:218 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种海量数据的处理方法,该方法将接口数据文件作为数据库的辅助表,采用表分区处理的方式进行存储,存储过程导入相关需要的数据,采用进程并行处理的机制,根据业务特点对不同的数据业务划分不同的主题,并对数据进行预处理,生成轻量级面向主题的汇总,然后在轻量级的汇总基础上进行重量级汇总。与现有技术相比,本发明专利技术采用进程并行处理得机制,使多个任务能异步执行,在存储方式上,采用对表划分分区的方式,在执行时分区之间互不影响,提高了执行效率。此设计方法有效的连接不同系统之间的数据接口,在各个不同的层面采用合适的策略,并使数据的查询的深度得到加强,效率得以提高。

【技术实现步骤摘要】

本专利技术涉及数字化信息的处理方法,尤其涉及。
技术介绍
传统大型应用软件系统对其应用的管理对象采集的数据进行管理和査询分析, 一般而言,管理和査询的数据量都非常巨大以致査询的速率下降。如要求对多表同 时进行联合,限制,分组,条件查询等。在现有的技术中,现在一般的査询应用中,对于这种情况,只能縮短,简化SQL语句,从而提高数据的业务逻辑处理复杂度, 而且会经常出现数据连接异常的各种问题。对于如何处理这种问题,往往鱼和熊掌 不可兼得。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种可直接提高 数据的查询和和统计分析速度的海量数据的处理方法。本专利技术的目的可以通过以下技术方案来实现 ,其特征在于,该方法将接口数据文件作为数据库的辅助表,采用表分区处理的方式进行 存储,存储过程导入相关需要的数据,采用进程并行处理的机制,根据业务特点对 不同的数据业务划分不同的主题,并对数据进行预处理,生成轻量级面向主题的汇 总,然后在轻量级的汇总基础上进行重量级汇总。所述的表分区处理是将数据库表划分为多个不同的分区,在不同的分区中存入 不同的数据,每个分区又相当于大表中的一个小表,按日期划分分区,数据插入按 分区顺序依次进行并在分区号范围内循环更新。所述的表分处理包括以下处理步骤(1) 生成每年的日期维度;(2) 在日期维度的基础上,生成每月的表空间;4(3) 然后再对每天的数据表进行分区,建立日分区;(4) 在日分区生成维度数据,该维度数据包括终端品牌维度和业务类型维度;(5) 最终生成事实数据。所述的步骤(2)中的表空间按照月份建立的,表空间相当于一个表的容器, 可储存多个表文件,这些表空间各自有自己完整的存储系统,在操作上完全是相对 独立的,每个表空间存储了该月所有的数据,即这个月每天的数据表。 所述的表空间相互之间逻辑连贯,在物理的储存空间上不相邻。 所述的步骤(3)中的日分区的天数据表按照城市代码的不同分成不同的分区,每个分区进行逻辑紧密相连,在物理存储上,各自在不同的存储扇区中,表中的数 据査询方法是,根据日期计算该日期数据库表对应的分区号,从指定的分区中査找 用户需要的数据。所述的步骤(5)中的事实数据包括登录数据,访问数据,订购数据,使用费用数据。所述的进程并行处理的机制是使用数据库的消息机制对同时需要处理的进程 进行并行的处理,并发运行,对査询数据进行分组,并建立并行任务,将组代码传 入并行任务当中去,然后建立报警通道,为每个任务注册,当一个子任务完成返回 时,将自动在报警通道删除此任务,直到报警通道中所有任务全部删除,整个任务并行完成;所述的进程并行处理包括以下处理步骤(1) 使用数据库的消息机制为每个査询业务建立一个任务进程;(2) 大数据量处理采用并行处理机制,按城市代码分成四个数据量相对均衡 的组,建立并行任务,将组代码传入过程;(3) 建立一个报警通道,并注册每个任务;(4) 等待报警信号,当一个子任务返回,将在报警通道删除此任务,直到报 警通道中所有任务全部删除,整个任务并行结束。与现有技术相比,本专利技术采用进程并行处理得机制,使多个任务能异步执行, 在存储方式上,采用对表划分分区的方式,在执行时分区之间互不影响,提高了执 行效率。此设计方法有效的连接不同系统之间的数据接口,在各个不同的层面采用 合适的策略,并使数据的查询的深度得到加强,效率得以提高。附图说明图1为本专利技术表分区处理的示意图; 图2为本专利技术系统结构示意图。具体实施例方式下面结合附图对本专利技术作进一步说明。 实施例1如图1 2所示, 一种海量数据分析,提取的设计方法,该设计方案采用Oracle 最新外部表的功能把接口数据文件作为数据库的辅助表,供存储过程使用,存储过 程导入相关需要的数据,根据业务特点对不同的数据业务划分不同的主题,并对数 据进行预处理,生成轻量级面向主题的汇总,以便降低最终实事表的运算复杂度, 然后在轻量级汇总的基础上进行重量级汇总的策略。在这个过程中,采用进程并行 处理得机制,使多个任务能异步执行,在存储方式上,采用对表划分分区的方式, 在执行时分区之间互不影响,提高了执行效率。此设计方法有效的连接不同系统之 间的数据接口,在各个不同的层面采用合适的策略,并使数据的査询的深度得到加 强,效率得以提高。上述表分区处理是将数据库表划分为多个不同的分区,在不同的分区中存入不 同的数据,每个分区又相当于大表中的一个小表,按日期划分分区,数据插入按分 区顺序依次进行并在分区号范围内循环更新,这样在査询一个分区时而不会影响其 他分区,以达到提高査询处理数据的速度,利于海量数据的管理。具体表分处理步 骤如下1. 先生成每年的日期维度(Common.Generate—Time)。2. 在日期维度的基础上,生成每月的表空间 (Common.Genemte一Tablespace),表空间时按照月份建立的,表空间相当于一个表的容器,它可以储存多个表文件,这些表空间在逻辑看起来是连贯的,然而在物理 的储存空间上却不是相邻的,各自有自己完整的存储系统,在操作上完全是相对独 立的,每个表空间存储了该月所有的数据,即这个月每天的数据表。3. 然后再对每天的数据表进行分区,建立每日的分区 (Common.Generate—Partition),这些天数据表按照城市代码的不同分成不同的分区, 每个分区虽然在逻辑上看起来是紧密相连的,然后在物理存储上,各自在不同的存储扇区中,以便硬件读操作时可以同时进行,这样就大大地提高了读取,存储数据 的效率。表中的数据查询方法是,根据日期计算该日期数据库表对应的分区号,从 指定的分区中査找用户需要的数据。4. 在分区生成维度数据,维度数据包括终端品牌维度和业务类型维度。5. 最终生成事实数据,事实数据包括登录数据,访问数据,订购数据,使 用费用等数据。其结构示意图如图l所示。 上述进程并行处理的具体实现步骤如下1. 使用数据库的消息机制为每个査询业务建立一个任务进程。2. 对这些大量数据,按城市代码分成四个数据量相对均衡的组,建立并行任务,将子任务传入并行任务当中去,将组代码传入过程。3. 建立一个报警通道,并为每个任务进行注册。4. 此时处于等待报警信号状态,当一个子任务返回时,将在报警通道删除此 任务,直到报警通道中所有任务全部删除,整个任务并行结束。这样就实现了不同 的数据处理进程进行异步并行的处理。本实施例的硬件结构包括数据库服务器、集中存储装置,数据库服务器与集中 存储装置通过通讯设备建立网络连接,其结构如图2所示。权利要求1.,其特征在于,该方法将接口数据文件作为数据库的辅助表,采用表分区处理的方式进行存储,存储过程导入相关需要的数据,采用进程并行处理的机制,根据业务特点对不同的数据业务划分不同的主题,并对数据进行预处理,生成轻量级面向主题的汇总,然后在轻量级的汇总基础上进行重量级汇总。2. 根据权利要求1所述的,其特征在于,所述的表 分区处理是将数据库表划分为多个不同的分区,在不同的分区中存入不同的数据, 每个分区又相当于大表中的一个小表,按日期划分分区,数据插入按分区顺序依次 进行并在分区号范围内循环更新。3. 根据权利要求2所述的,其特征在于,所述的表 分区处理包本文档来自技高网...

【技术保护点】
一种海量数据的处理方法,其特征在于,该方法将接口数据文件作为数据库的辅助表,采用表分区处理的方式进行存储,存储过程导入相关需要的数据,采用进程并行处理的机制,根据业务特点对不同的数据业务划分不同的主题,并对数据进行预处理,生成轻量级面向主题的汇总,然后在轻量级的汇总基础上进行重量级汇总。

【技术特征摘要】

【专利技术属性】
技术研发人员:冯谧
申请(专利权)人:上海全成通信技术有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1