一种数据并行处理方法

文档序号:9326965阅读:611来源:国知局
一种数据并行处理方法
【技术领域】
[0001] 本发明涉及数据处理领域,尤其是涉及一种数据并行处理方法。
【背景技术】
[0002] 数据使用要求在数据使用期间保持数据正在开始时间点上是一致的,在数据开始 使用后,数据就不能被增删改,同时为提高数据加载的效率往往对时间表采用表锁。因此数 据处理过程与数据使用间存在冲突,使得在数据使用期间无法做数据加载,数据加载期间 无法使用数据。系统的利用率不高,难以适应高强度,长时间的分析使用。而采用通常的两 份镜像数据方法对大数据量存储(使用的数据环境达到IOT以上容量)和同步带来了困难 (常用的数据库级日志同步技术难以采用)。

【发明内容】

[0003] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种数据并行处理 方法。
[0004] 本发明的目的可以通过以下技术方案来实现:
[0005] -种数据并行处理方法,该方法包括相互独立的数据处理阶段、数据使用阶段和 数据合并阶段,所述数据处理阶段与数据使用阶段并行,所述数据使用阶段与数据合并阶 段互斥,其中,所述数据合并阶段是对数据历史区进行替换和添加操作,所述数据历史区分 为当前分区和历史分区,所述当前分区存储无结束时间的数据,所述历史分区存储有结束 时间的数据。
[0006] 所述数据使用阶段与数据合并阶段互斥的机制包括数据使用优先机制和数据合 并优先机制。
[0007] 所述数据使用优先机制具体为:
[0008] 当存在数据使用任务命令时,数据合并无限期等待。
[0009] 所述数据合并优先机制具体为:
[0010] 当数据使用任务的当前步骤运行完后,判断下一步骤需使用的数据表是否存在数 据合并命令,若是,则等待数据合并完成后执行下一步骤,若否,则直接执行下一步骤。
[0011] 所述数据处理阶段和数据合并阶段的运行模式包括:
[0012] a) -天处理,一天合并;或
[0013] b)多天处理,一次合并。
[0014] 与现有技术相比,本发明具有以下优点:
[0015] 1)数据处理阶段与数据使用阶段通过数据合并阶段实现完全独立且并行;
[0016] 2)合并阶段与数据处理互斥,可以通过选择处理的优先级提高数据处理效率;
[0017] 3)由于数据历史特点只对当前数据作update,历史数据是不变化的,因此将整个 数据历史区分为当前数据和历史数据,作为两个分区存储,方便对当前数据作整体替换和 历史数据作添加;
[0018] 4)数据采用替换和添加相结合的方法平衡了性能和存储容量,在增加少量存储基 础上大幅度缩短了合并时间。
【具体实施方式】
[0019] 下面结合具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提 进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的 实施例。
[0020] 本实施例提供一种数据并行处理方法,该方法包括相互独立的数据处理阶段、数 据使用阶段和数据合并阶段,所述数据处理阶段与数据使用阶段并行,所述数据使用阶段 与数据合并阶段互斥。数据处理、数据合并、数据使用三者是各自独立运行,通过状态控制 达到数据一致性。
[0021] 所述数据合并阶段是对数据历史区进行替换和添加操作,所述数据历史区分为 当前分区和历史分区,所述当前分区存储无结束时间的数据,所述历史分区存储有结束时 间的数据。一般当前数据量要远大于当天的历史数据量(按10%的变化量测算可达到10 倍)。因此当前数据采用替换的方法,先导入影子表,在合并阶段与正式表切换,达到快速合 并效果。虽然一天的历史数据要远小于当前数据,但是三年的历史数据积累又远大于当天 的历史数据,不能采用影子表替换的方法,而采用实时添加的方法,完成历史数据合并。
[0022] 数据处理阶段和数据合并阶段是相互独立的两个过程支持:
[0023] a) -天处理,一天合并;或
[0024] b)多天处理,一次合并。
[0025] 在对数据实时性要求不高时,建议每周合并一次可以简化合并与数据使用间冲突 处理。
[0026] 上述数据并行处理方法的具体流程如下:
[0027] 1、利用数据历史的特点,只针对变化的数据(状态类数据)建立整体的影子表。
[0028] 2、将当天的全量数据(全量更新表和时间拉链表的当前分区)和前一天的历史增 量数据(增量表和时间拉链表的历史分区)文件处理完成后导入数据库作为影子数据。
[0029] 3、针对不同类型的表设定不同的影子表:
[0030] ?全量更新表:表结构和数据完全一致
[0031] ?增量表:表结构完全和增量数据一致
[0032] 鲁数据历史表:明确区分的当前数据和历史数据。将数据存储上定义结束时间为 无的为当前数据,有结束时间的为历史数据。可以视为全量更新表和增量表的组合。
[0033] 4、在数据使用的间隙,将当天数据与数据库中当前数据作整体切换(全量更新表 和时间拉链表的当前分区),将当天的历史数据以增量方式合并到历史数据(增量表和时 间拉链表的历史分区)。
[0034] 5、循环第2步开始新一天的数据处理。
[0035] 6、在长时间使用数据的情形下,可以重复第2累计多天的数据处理,在其后的适 当时机在第3步一次性完成数据合并。
[0036] 上述过程中,处理阶段与数据使用完全并行,合并阶段与数据使用有冲突。
[0037] 所述数据使用阶段与数据合并阶段互斥的机制包括数据使用优先机制和数据合 并优先机制。
[0038] 处理阶段是指对原始的数据源进行加工成与实际的数据一致,给后续的合并阶段 (整体切换)提供基础,例如:为全量更新表构建当天的影子表,在合并阶段做一次表名切 换,以提高切换效率。
[0039] 数据使用(模型)是指对正式表的一连串查询,涉及的表数量,步骤,查询时间在 原则上没有限制。在合并阶段需要处理正式表,此时正式表是不能被使用的,因此需要在合 并处理和模型使用之间建立互斥机制。在一方使用时,另一方等待,已经在运行的不能自动 取消。
[0040] 数据使用优先机制(模型优先)具体为:当存在数据使用时,数据合并无限期等 待。
[0041] 数据合并优先机制(合并优先)具体为:当数据使用的当前步骤运行完后,判断下 一步骤需使用的数据表是否存在数据合并命令,若是,则等待数据合并完成后执行下一步 骤,若否,则执行下一步骤。
[0042] 合并处理与模型使用互斥案例:
[0043] 有两个任务同时运行,每个任务下以串行的方式运行两个模型(这里的模型是指 在审计系统中对数据使用的一致方式),相同的模型使用相同的数据表。每个模型的实际使 用时间不同,如表1所示。
[0044] 数据处理时间限定在18h-22h,数据合并时间限定在23时开始,每天只检测一次 (可以根据实际情况调整以上时间点和频次,设定以上时间仅为举例说明)。
[0045] 表 1
[0047] 1)模型优先模式如表2所示。
[0048] 表 2
[0049]
[0051 ] 2)合并优先模式如表3所示。
[0052] 表 3
[0053]
[0055] 采用上述数据处理方法进行数据合并的具体实例如下。
[0056] 当前系统已更新到20150101,以下示例处理20150102数据的处理流程和合并流 程。其中,灰色表头是数据文件,保存在数据处理服务器中,黑色表头是数据库表,保存在数 据库服务器中。
[0057] 1、表状态
[0058] 当前数据表
[0070] 合并后历史数据表(添加)
[0071]
【主权项】
1. 一种数据并行处理方法,其特征在于,该方法包括相互独立的数据处理阶段、数据使 用阶段和数据合并阶段,所述数据处理阶段与数据使用阶段并行,所述数据使用阶段与数 据合并阶段互斥,其中,所述数据合并阶段是对数据历史区进行替换和添加操作,所述数据 历史区分为当前分区和历史分区,所述当前分区存储无结束时间的数据,所述历史分区存 储有结束时间的数据。2. 根据权利要求1所述的数据并行处理方法,其特征在于,所述数据使用阶段与数据 合并阶段互斥的机制包括数据使用优先机制和数据合并优先机制。3. 根据权利要求2所述的数据并行处理方法,其特征在于,所述数据使用优先机制具 体为: 当存在数据使用任务命令时,数据合并无限期等待。4. 根据权利要求2所述的数据并行处理方法,其特征在于,所述数据合并优先机制具 体为: 当数据使用任务的当前步骤运行完后,判断下一步骤需使用的数据表是否存在数据合 并命令,若是,则等待数据合并完成后执行下一步骤,若否,则直接执行下一步骤。5. 根据权利要求1所述的数据并行处理方法,其特征在于,所述数据处理阶段和数据 合并阶段的运行模式包括: a) -天处理,一天合并;或 b) 多天处理,一次合并。
【专利摘要】本发明涉及一种数据并行处理方法,该方法包括相互独立的数据处理阶段、数据使用阶段和数据合并阶段,所述数据处理阶段与数据使用阶段并行,所述数据使用阶段与数据合并阶段互斥,其中,所述数据合并阶段是对数据历史区进行替换和添加操作,所述数据历史区分为当前分区和历史分区,所述当前分区存储无结束时间的数据,所述历史分区存储有结束时间的数据。与现有技术相比,本发明具有实现数据使用与加载并行、提高数据同步性等优点。
【IPC分类】G06F17/30
【公开号】CN105045879
【申请号】CN201510430266
【发明人】吴卫军, 范磊
【申请人】上海融甸信息科技有限公司
【公开日】2015年11月11日
【申请日】2015年7月21日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1