一种社保大数据分布式预处理方法及系统技术方案

技术编号:14002628 阅读:89 留言:0更新日期:2016-11-16 10:33
本发明专利技术公开了一种社保大数据分布式预处理方法及系统,主要技术方案是将数据预处理流程定义为包含多个预处理操作节点的数据预处理作业,预处理操作节点在独立的线程中并行执行;对复杂度高的数据操作节点分配多个执行线程,并以分布式云服务器集群的方式并行执行数据预处理作业;分布式预处理系统的数据装载按列方式写入分布式文件系统,同时利用NoSQL对数据写入操作进行缓存优化。本发明专利技术充分发挥了预处理云服务器的处理性能,克服了单一服务器的性能瓶颈,也避免了服务器与HDFS数据节点之间多余的数据传输,同时提高数据装载到HDFS的效率,从而提高大数据预处理的效率。

【技术实现步骤摘要】

本专利技术涉及大数据处理
,尤其是指一种社保大数据分布式预处理方法及系统
技术介绍
国家级的信息化规划方案“金保工程”提出全面推进电子政务工程建设,以“政府先行”的方式带动国民经济和社会发展信息化。如今社保已覆盖十几亿人口,政府因此拥有了海量的社保大数据。如果能利用飞速发展的大数据技术,对各个社保业务领域数据进行挖掘和统计分析,可为政府政策方针的制定提供参考依据,实现创新性政府服务,从而进一步推进电子政务工程建设。社保大数据的挖掘与分析从采集源数据到最终获得分析结果一般要经过几个主要步骤,包括数据采集、数据预处理、数据存储与管理、联机分析处理(OLAP)、数据挖掘、数据可视化等。其中,数据预处理负责将分布的、异构数据源中的数据如关系数据、文本数据文件等抽取到临时中间层后进行清洗、集成、转换和规约,最后加载到数据仓库中,成为联机分析处理的基础。数据预处理占据了数据分析流程中的大部分工作量,同时也是数据仓库中非常重要的一环,该部分的工作直接关系到数据仓库中数据的质量,从而影响到联机分析处理结果的质量。尤其在面对海量数据的处理需求时,数据预处理系统的设计则显得尤为重要,系统的结构主要包括数据抽取模块、数据的清洗与转换模块以及数据的装载模块。现有社保业务系统的设计实施是基于各部门具体需求完成的,而社保包括工伤、生育、医疗、失业、养老五大险种,社保五险业务数据因此分散在各个业务系统中。要对社保大数据进行深入的挖掘和统计分析,首先要数据从不同的数据源中抽取出来,导入到一个大型的分布式数据仓库中。由于数据一般存储于多种不同的关系型数据库中,或以文本的形式存在,不能直接使用,需要先进行数据类型转换、格式转换、清除重复、纠正异常等预处理操作。数据导入和预处理的最大挑战在于数据吞吐量异常巨大,数据量级以TB计算,因此需要设计一种能够稳定、高效完成各个数据预处理环节的大数据预处理系统。现有预处理系统提供了多线程并行执行的功能,但一般仅支持在单台预处理服务器上运行。由于传统的数据预处理的处理量级尚小,单台服务器的性能很容易满足需求。但在大数据时代,面对海量的社保业务数据,单台服务器的性能存在瓶颈,难以支撑大数据的高效预处理工作。如何有效扩展预处理服务器的性能,是实现大数据预处理系统的一大问题。传统关系型数据库按行数据进行存储,而数据的行式存储会带来弊端是在查询数据时,即使只涉及其中的几列,所有无关的数据列都会被一并读取。在联机分析处理中,一般只需要对少数列频繁进行查询访问,但却不得不读取其余大量的无关数据列,这势必会对分析性能的造成无谓的损耗。特别是在TB级海量数据的条件下,耗费在读取无关数据上的时间将会成为系统性能的一个瓶颈。预处理系统在完成数据预处理操作后,需要把符合格式要求的数据记录装载到分布式数据仓库中。数据记录完成预处理操作节点后到达数据装载操作节点,但由于数据预处理操作和数据装载操作分别在两个线程中同时进行,数据记录到达数据装载节点的时间不一致,将会导致频繁的分布式集群文件系统(HDFS)读写操作,从而成为影响数据预处理效率的又一个因素。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种社保大数据分布式预处理方法及系统,可充分利用预处理云服务器的处理性能,提供一定的可扩展性,避免了服务器与分布式文件系统数据节点之间多余的数据传输,同时提高数据装载到分布式文件系统的效率,从而提高数据预处理的效率。为实现上述目的,本专利技术所提供的技术方案,如下:一种社保大数据分布式预处理方法,首先,将数据预处理的各种操作定义为数据操作节点,将一套数据预处理流程定义为数据预处理作业,数据预处理作业由数据操作节点构成;然后对给定的数据预处理作业,为其中的每个数据操作节点分配一个或多个线程,分配多个线程的数据操作节点称为并行数据操作节点,启动预处理作业即启动多个线程同时工作,而仅包含单线程数据操作节点的预处理流程中,数据流按单泳道传递;对复杂度高的数据操作节点分配多个执行线程,并以分布式云服务器集群的方式并行执行数据预处理作业,集群由云平台上搭建的预处理服务器组成,包括一台主服务器和多台子服务器,系统将预处理作业中分配多线程的数据操作节点抽取出来,构成子预处理作业,分配给子服务器,剩余部分则交由主服务器处理,集群任务调度器采用MapReduce并行模式,按照设定的分区规则对主服务器上操作节点的数据集进行均匀划分,传输给子服务器进行处理,子服务器完成数据处理操作后发送给主服务器进行合并,最终保持数据的一致性;所述数据处理流程按如下具体步骤执行:1)云平台为云服务器分配所需资源,并初始化预处理云服务器集群;2)云平台初始化预处理集群任务调度器,调度器负责管理数据操作节点活动、监听操作节点的执行,以及指导数据集的划分和分发任务;3)云服务器加载数据操作节点的元数据,元数据定义了数据操作节点的名称和操作数据集的字段信息,包括字段名称、数据类型、数据精度,云服务器对加载的数据操作节点按先后顺序排列;4)云服务器对各数据操作节点按以下步骤执行:4.1)云服务器获取当前数据操作节点,根据元数据获取操作节点名称以及操作的数据集信息;判断数据操作节点是否为并行数据操作节点,若不是,执行步骤4.2),若是,执行步骤4.3);4.2)主服务器从上一操作节点获取数据集,并负责执行当前节点定义的数据操作任务;数据操作任务完成后,执行步骤4.4);4.3)主服务器从上一操作节点获取数据集,由集群任务调度器按照设定的分区规则对数据集进行均匀划分,传输给子服务器并行执行数据操作任务;子服务器完成数据处理操作后发送给主服务器进行合并,数据操作任务完成后,执行步骤4.4);4.4)判断有无后续数据操作节点,若有,则执行步骤4.1)。一种社保大数据分布式预处理系统,包括:数据抽取模块,该数据抽取模块包括结构化数据抽取单元和文本数据抽取单元;所述结构化数据抽取单元用于抽取关系型数据库中的数据记录;所述文本数据抽取单元用于抽取非结构化的系统数据,包括系统运行过程中产生的用户行为数据和日志数据;数据转换模块,该数据转换模块包括数据字段转换单元、数据连接单元、数据分发单元、数据合并单元和数据去重单元;所述数据字段转换单元提供对数据类型、格式、精度的转换;所述数据连接单元提供数据记录行的连接;所述数据分发单元用于对数据进行划分和转发;所述数据合并单元实现对子服务器上传数据的合并;所述数据去重单元用于去除数据记录中的重复行;数据装载模块,该数据装载模块包括NoSQL缓存单元、集群文件系统写入单元和任务调度单元;所述NoSQL缓存单元负责将需要装载的数据行写入NoSQL缓存数据库中,待达到设定量时触发集群文件系统写入任务;所述集群文件系统写入单元负责将缓存的数据行写入分布式集群的文件系统HDFS;所述任务调度单元负责监视NoSQL中的缓存情况,适时调度集群文件系统写入任务。本专利技术与现有技术相比,具有如下优点与有益效果:1、采用多线程的方式执行预处理作业,并为预处理作业配置集群执行方式,可充分发挥预处理云服务器的处理性能,并提供一定的可扩展性;同时数据按列存储并采用NoSQL数据库进行缓存优化,避免了服务器与HDFS数据节点之间多余的数据传输,同时提高数据装载到HDF本文档来自技高网
...
一种社保大数据分布式预处理方法及系统

【技术保护点】
一种社保大数据分布式预处理方法,其特征在于:首先,将数据预处理的各种操作定义为数据操作节点,将一套数据预处理流程定义为数据预处理作业,数据预处理作业由数据操作节点构成;然后对给定的数据预处理作业,为其中的每个数据操作节点分配一个或多个线程,分配多个线程的数据操作节点称为并行数据操作节点,启动预处理作业即启动多个线程同时工作,而仅包含单线程数据操作节点的预处理流程中,数据流按单泳道传递;对复杂度高的数据操作节点分配多个执行线程,并以分布式云服务器集群的方式并行执行数据预处理作业,集群由云平台上搭建的预处理服务器组成,包括一台主服务器和多台子服务器,系统将预处理作业中分配多线程的数据操作节点抽取出来,构成子预处理作业,分配给子服务器,剩余部分则交由主服务器处理,集群任务调度器采用MapReduce并行模式,按照设定的分区规则对主服务器上操作节点的数据集进行均匀划分,传输给子服务器进行处理,子服务器完成数据处理操作后发送给主服务器进行合并,最终保持数据的一致性;所述数据处理流程按如下具体步骤执行:1)云平台为云服务器分配所需资源,并初始化预处理云服务器集群;2)云平台初始化预处理集群任务调度器,调度器负责管理数据操作节点活动、监听操作节点的执行,以及指导数据集的划分和分发任务;3)云服务器加载数据操作节点的元数据,元数据定义了数据操作节点的名称和操作数据集的字段信息,包括字段名称、数据类型、数据精度,云服务器对加载的数据操作节点按先后顺序排列;4)云服务器对各数据操作节点按以下步骤执行:4.1)云服务器获取当前数据操作节点,根据元数据获取操作节点名称以及操作的数据集信息;判断数据操作节点是否为并行数据操作节点,若不是,执行步骤4.2),若是,执行步骤4.3);4.2)主服务器从上一操作节点获取数据集,并负责执行当前节点定义的数据操作任务;数据操作任务完成后,执行步骤4.4);4.3)主服务器从上一操作节点获取数据集,由集群任务调度器按照设定的分区规则对数据集进行均匀划分,传输给子服务器并行执行数据操作任务;子服务器完成数据处理操作后发送给主服务器进行合并,数据操作任务完成后,执行步骤4.4);4.4)判断有无后续数据操作节点,若有,则执行步骤4.1)。...

【技术特征摘要】
1.一种社保大数据分布式预处理方法,其特征在于:首先,将数据预处理的各种操作定义为数据操作节点,将一套数据预处理流程定义为数据预处理作业,数据预处理作业由数据操作节点构成;然后对给定的数据预处理作业,为其中的每个数据操作节点分配一个或多个线程,分配多个线程的数据操作节点称为并行数据操作节点,启动预处理作业即启动多个线程同时工作,而仅包含单线程数据操作节点的预处理流程中,数据流按单泳道传递;对复杂度高的数据操作节点分配多个执行线程,并以分布式云服务器集群的方式并行执行数据预处理作业,集群由云平台上搭建的预处理服务器组成,包括一台主服务器和多台子服务器,系统将预处理作业中分配多线程的数据操作节点抽取出来,构成子预处理作业,分配给子服务器,剩余部分则交由主服务器处理,集群任务调度器采用MapReduce并行模式,按照设定的分区规则对主服务器上操作节点的数据集进行均匀划分,传输给子服务器进行处理,子服务器完成数据处理操作后发送给主服务器进行合并,最终保持数据的一致性;所述数据处理流程按如下具体步骤执行:1)云平台为云服务器分配所需资源,并初始化预处理云服务器集群;2)云平台初始化预处理集群任务调度器,调度器负责管理数据操作节点活动、监听操作节点的执行,以及指导数据集的划分和分发任务;3)云服务器加载数据操作节点的元数据,元数据定义了数据操作节点的名称和操作数据集的字段信息,包括字段名称、数据类型、数据精度,云服务器对加载的数据操作节点按先后顺序排列;4)云服务器对各数据操作节点按以下步骤执行:4.1)云服务器获取当前数据操作节点,根据元数据获取操作节点名称以及操作的数据集信息;判断数据操作节点是否为并行数...

【专利技术属性】
技术研发人员:张星明陈伟健林育蓓吴世豪
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

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

1