首页> 中国专利> 基于大数据的人社人员档案袋数据库的构建方法及系统

基于大数据的人社人员档案袋数据库的构建方法及系统

摘要

本发明公开了基于大数据的人社人员档案袋数据库的构建方法及系统;包括:人社业务数据库,为人社人员档案袋数据库的初始化提供原始数据来源,为数据的增量计算提供消息流LCRs;业务数据同步模块,用于完成数据从业务数据到人社过程数据的初始化,实现从人社业务数据库到人社业务过程数据库的增量同步;档案信息初始化模块,用于定义、调度、执行档案信息初始化任务,完成对人社业务过程数据的抽取、转换、清洗和整合,将结果存储到人社人员档案袋数据库;增量消息存储模块,接收增量同步模块的增量消息,为档案信息增量计算模块提供触发流计算的增量消息流;本发明以人社业务数据为数据源,利用大数据处理技术和分布式存储技术构建一种准确、实时的人员档案袋。

著录项

  • 公开/公告号CN106326457A

    专利类型发明专利

  • 公开/公告日2017-01-11

    原文格式PDF

  • 申请/专利权人 山大地纬软件股份有限公司;

    申请/专利号CN201610748794.9

  • 发明设计人 肖宗水;刘征征;杨东;徐铭;郭伟;

    申请日2016-08-29

  • 分类号G06F17/30(20060101);

  • 代理机构37221 济南圣达知识产权代理有限公司;

  • 代理人黄海丽

  • 地址 250101 山东省济南市高新区齐鲁软件园E座

  • 入库时间 2023-06-19 01:18:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-30

    授权

    授权

  • 2017-02-08

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160829

    实质审查的生效

  • 2017-01-11

    公开

    公开

说明书

技术领域

本发明涉及一种基于大数据的人社人员档案袋数据库的构建方法及系统。

背景技术

随着人社数据一体化建设不断推进,急需在人社领域内构建一种准确定位“人”的信息、实时描绘“人”的发展轨迹的人员档案袋。构建一种准确、实时的人员档案袋,不仅有助于协调政府各职能部门之间的信息共享,提升工作效率;而且可以为人社人员提供了一种结构调理、层次清晰,内容明确的人员档案数据,为人社基础信息服务和信息公开提供了重要保障。构建人社人员档案袋数据库的重要数据来源就是人社业务数据,然而人社业务数据普遍分散在各个人社领域(养老、医疗、待遇、就业、教育等)的业务数据库中,加之人社业务数据具有地域分布广、涉及系统多、数据规模大、数据噪声多等问题,给梳理组织人社业务数据构建人社人员档案袋数据库带来了极大的难度和挑战。由于人社业务数据规模巨大,利用传统的数据处理和解决方案构建人员档案袋速度慢、时延高,无法满足数据实时性需求,然而目前国内外在人社领域提出基于大数据处理技术构建人社人员档案袋数据库的方法和系统却不多,普遍的研究内容是针对传统人员档案提供一些档案的快速搜索方法,或提出一些方法或装置构建一种基于纸质档案的电子档案。

在专利【CN105335506A】中,一种电子档案编研方法及系统通过对电子档案内容进行关联分析,得到一级关联信息、二级关联信息;并通过所属一级参考、二级参考信息,对用户选题及选材做出辅助、推荐,提高了用户查阅电子档案的效率,节省了用户筛选素材的时间,但是并没有提供一种能够在海量数据规模下,对海量人社业务数据进行清洗、转换、计算、整合,构建完整的人员档案信息的有效方法或系统。

在专利【CN105303321A】中,一种档案管理方法及装置通过获取纸质档案的电子档案,并生成电子档案的第一关键信息和第二关键信息,然后将电子档案、第一关键信息和第二关键信息同步到云存储系统中,实现纸质形态的档案的电子管理,借助于电子存储设备来降低存储费用。此方法和装置仅仅是基于纸质档案来构建电子档案,并不能满足根据业务历史数据来构建电子档案信息库的需求。

发明内容

本发明的目的就是为了解决上述问题,提供一种基于大数据的人社人员档案袋数据库的构建方法及系统,系统以人社业务数据为数据源,利用大数据处理技术和分布式存储技术构建一种准确、实时的人员档案袋。

本方法和系统将人社人员档案袋数据库的构建分为初始化阶段和增量同步阶段。

初始化阶段,首先将分散在各地市的人社业务数据集中导入到人社业务过程数据库(基于HBASE数据库,HBASE,即一种按列存储的分布式数据库),完成人社业务数据库到人社业务过程数据库的初始化;然后基于人社业务过程数据库,利用Apache Spark(一种分布式大数据处理框架)大数据处理技术,实现人社业务数据的抽取、清洗、转换,重新组织并保存到人社人员档案袋数据库(基于MongoDB数据库,MongoDB,一种按文档存储的分布式数据库)中,实现人社人员档案袋数据库的初始化;

增量同步阶段,首先在各个业务数据库中配置Oracle Streams(Oracle Streams是Oracle提供的一种受管理的信息流),分析捕获Redo日志,将包含业务数据库的增、删、改等操作的LCRs(LCRs,Logical Change Records)分发到Oracle高级队列,然后将LCRs消息转换成增量计算消息流,利用Apache Storm(一种分布式流处理框架),实现人社业务数据的增量抽取、清洗、转换,重新组织并保存到人社人员档案袋数据库中,实现人社人员档案袋数据库的增量同步,保证了人社档案袋数据的实时性和准确性。

为了实现上述目的,本发明采用如下技术方案:

基于大数据的人社人员档案袋数据库的构建系统,包括:

人社业务数据库,一方面为人社人员档案袋数据库的初始化提供原始数据来源,另一方面为数据的增量计算提供消息流LCRs;

业务数据同步模块,用于完成数据从业务数据到人社过程数据的初始化,实现从人社业务数据库到人社业务过程数据库的增量同步;

档案信息初始化模块,用于定义、调度、执行档案信息初始化任务,完成对人社业务过程数据的抽取、转换、清洗和整合,并将处理结果存储到人社人员档案袋数据库;

增量消息存储模块,接收来自增量同步模块的增量消息,为档案信息增量计算模块提供触发流计算的增量消息流;

档案信息增量计算模块,用于定义、调度、执行档案信息增量计算拓扑任务,根据来自增量消息存储模块中的增量消息流,完成对增量消息流中所涉及的人社业务过程数据的抽取、转换、清洗和整合,并将处理结果同步更新到人社人员档案袋数据库;

人社数据存储模块,用于一方面为人社业务过程数据提供分布式存储支持,构建人社业务过程数据库,另一方面为人社人员档案袋数据库提供分布式的文档格式数据存储,构建人社人员档案袋数据库。

增量消息存储模块,基于开源消息总线ActiveMQ,接收来自增量同步模块的增量消息,为档案信息增量计算模块提供触发流计算的增量消息流。

所述人社业务数据库,包括:Redo日志分析模块和AQ模块,Advanced Queue即高级队列;

所述Redo日志分析模块,基于Oracle Streams技术,用于分析Redo日志,产生LCRs(Logical Change Records),并将LCRs解析成XML格式的增量消息流发送到AQ模块;

所述AQ模块,是一种Oracle数据库提供的消息队列,支持消息的持久化,用于接收和临时存储来自Redo日志分析模块发送的XML格式的增量消息流。

所述业务数据同步模块,包括:初始化模块和增量同步模块;

所述初始化模块,用于加载各地市人社业务数据库中的数据,将数据导入到分布式存储的人社业务过程数据库中,完成数据从业务数据到人社过程数据的初始化;

所述增量同步模块,用于读取AQ模块中的XML格式的增量消息流,将增量消息流转换成HBase数据库可识别的数据定义语言和数据操作语言,并将转换后的消息流应用到人社业务过程数据库的Hbase数据库中,实现从人社业务数据库到人社业务过程数据库的增量同步。

所述档案信息初始化模块,包括:Spark作业定义模块、Spark作业调度模块、Spark任务调度中间件和Spark计算任务池;

所述Spark作业定义模块,根据人社人员档案袋数据库不同的信息模块,定义相应的计算任务,每一个计算任务中都包含对数据的清洗、转换、计算和整合操作;

人社人员档案袋数据库不同的信息模块包括:

状态信息(具体又包括个人基本信息、参保情况[包括养老、医疗、工伤、生育、失业]、待遇情况[包括养老、医疗、工伤、生育、失业]等)、

历程信息(具体又包括社保历程、医保历程、就业历程、劳动历程、人才历程等)、

个人标签(具体又包括健康标签、收入标签、信誉标签、社会关系标签、职业标签、学历标签等)、

电子证照(电子照片、指纹信息、DNA信息、虹膜信息等)。

所述Spark作业调度模块,根据Spark作业定义模块中关于作业的定义,将作业定义发送到Spark任务调度中间件进行调度执行;

所述Spark任务调度中间件,用于接收park作业定义消息,发起Spark任务调度,调度Spark计算任务池中的计算任务进行清洗、转换、计算和整合,然后保存到人员档案袋数据库中,完成Spark作业定义中指定的数据计算模块的数据初始化;

所述Spark计算任务池,包含若干个计算任务,每一个计算任务对应人社人员档案袋数据库中不同的计算模块,整个计算任务池完全覆盖整个人社人员档案袋数据库的全部计算模块。

所述档案信息增量计算模块,包括:Storm作业定义模块、Storm作业调度模块、Storm增量计算拓扑任务池;

所述Storm作业定义模块,根据人社人员档案袋数据库的不同的信息计算模块,定义相应的计算拓扑,每一个计算拓扑中包含对数据的清洗、转换、计算和整合操作;

所述Storm作业调度模块,根据Storm作业定义模块中关于作业的定义,调度执行Storm增量计算拓扑任务池中的计算拓扑,对数据进行清洗、转换、计算和整合操作,实现数据从人社业务过程数据库到人社人员档案袋数据库的数据增量同步;

所述Storm增量计算拓扑任务池,包含若干计算拓扑,每一个计算拓扑对应人社人员档案袋数据库中唯一的计算模块和计算节点,整个计算拓扑任务池完全覆盖整个人社人员档案袋数据库的全部计算模块和计算节点,计算拓扑任务池能够实现计算拓扑修改和定义。

所述人社数据存储模块,包括:人社业务过程数据库和人社人员档案袋数据库;

所述人社业务过程数据库,是一种分布式存储的Hbase数据库,用于将人社业务数据库中的数据分布式存储,为分布式计算提供基础,为人社人员档案袋数据库的构建提供实时数据依据;

所述人社人员档案袋数据库,是一种分布式存储的MongoDB数据库,能对人社人员档案信息的进行实时反映。

基于大数据的人社人员档案袋数据库的构建方法,包括以下步骤:

步骤201,配置业务数据同步模块中的初始化模块,将分散在各个人社业务数据库中的业务数据集中抽取到分布式存储的人社业务过程数据库中,完成从人社业务数据库到人社业务过程数据库的数据初始化,为后续进行人社人员档案袋数据库的构建提供数据来源和基础;

步骤202,配置档案信息初始化模块,根据人社人员档案袋数据库的不同计算模块,进行Spark作业的定义,并通过Spark作业调度模块将定义好的Spark作业发送给Spark任务调度中间件,Spark任务调度中间件将收到的Spark作业分解成多个与Spark作业定义相匹配的计算任务,然后调度执行Spark计算任务池中对应的计算任务,完成从人社业务过程数据库到人社人员档案袋数据库的初始化;

步骤203,完成人社人员档案袋数据库的初始化后,在人社业务数据库配置Oracle Streams,利用Redo日志分析模块实现Redo日志分析,并将解析出的LCRs消息发送到Oracle高级队列AQ模块中存储;

步骤204,增量同步模块接受来自高级队列AQ模块中的XML增量消息,并将XML增量消息解析成HBASE数据库可识别的数据定义语言和数据操作语言,并将增量消息应用到人社业务过程数据库,完成从人社业务数据库到人社业务过程数据库的增量同步;同时将XML增量消息发送至增量消息存储模块;

步骤205,配置档案信息增量计算模块,根据人员档案袋数据库的不同计算模块,Storm作业定义模块完成Storm作业的定义,并通过Storm作业调度模块执行Storm增量计算拓扑任务池中与Storm作业定义相匹配的Storm增量计算拓扑,完成从人社业务过程数据库到人社人员档案袋数据库的增量同步计算,保证人员档案袋数据的一致性和实时性。

所述步骤201中,业务数据增量同步模块中的初始化模块的配置针对不同的数据粒度进行初始化配置,可以在用户级别(Schema级别)配置从人社业务数据库到人社业务过程数据库的初始化,也可以在表级别(Table级别)配置从人社业务数据库到人社业务过程数据库的初始化。提高数据初始化的灵活性和适应性。

所述步骤202中,档案信息初始化模块中Spark作业的定义是基于人社人员档案袋数据库的层次结构和计算节点完成的,定义好的Spark作业可以和Spark计算任务池中的若干个作业自动匹配。良好的任务匹配能力为初始化任务的定义以及Spark计算任务的编写提供了更加灵活的后续扩展能力。

所述步骤202中,档案信息初始化模块,作业的运行是基于Spark大数据计算框架实现的,Spark批量数据处理能力和迭代计算能力提高了初始化计算的性能,降低了初始化的时间窗口,使人社人员档案袋数据库的构建过程更加快速。

所述步骤203中,高级队列AQ模块的设计采用队列方式,并且对于增量消息到各个队列的分配采用了负载均衡策略,防止高级队列在接受增量消息时压力的不均衡。

所述步骤204中,增量同步模块将增量消息转换为HBase数据库可识别的数据定义语言和数据操作语言,并应用到人社业务过程数据库;同时针对每一个增量消息中所对应的HBase数据库表建立HBase数据库的行键Rowkey和人社人员标识的索引。索引的创建极大地缩短了档案信息增量计算模块加载业务历程数据的时间,提高了档案信息增量计算的速度。

所述步骤205中,档案信息增量计算模块加载增量消息存储模块的增量消息,档案信息增量计算模块中的每个增量计算拓扑会根据自己内部预定义的消息处理范围过滤不合适的增量消息,并将当前计算拓扑和增量消息建立字典映射,字典映射用于后续消息的过滤。极大地减少了后续消息分配的时间,提高了档案信息增量计算的速度。

本发明的有益效果:

本发明提供了一种人社人员档案袋数据库的构建方法及系统,具体是将地区分布广、涉及系统多、数据规模大、数据噪声多、结构较松散的人社业务数据,进行清洗、转换、计算、整合等处理,形成人社领域的人员档案袋的解决方法及系统。一种人社人员档案袋数据库的构建方法及系统,利用Apache Storm和Apache Spark等大数据分析处理技术,将结构分散、层次模糊、包含噪声的人社历史数据进行有效的清洗、分析、计算、整合,实现了人社档案信息的一体化建设,形成了结构调理,层次清晰,内容明确的人社人员档案袋数据库,为人社数据的开放共享提供了重要保障。

附图说明

图1为本发明的一种人社人员档案袋数据库的构建方法及系统的架构图;

图2为本发明的一种人社人员档案袋数据库的构建方法及系统的初始化流程图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

一种人社人员档案袋数据库的构建方法及系统,如图1所示,由数据源模块101(包括Redo日志分析模块,AQ模块)、业务数据同步模块102(包括初始化模块,增量同步模块)、档案信息初始化模块103(包括Spark作业定义模块,Spark作业调度模块,Spark任务调度中间件,Spark计算任务池)、增量消息存储模块104、档案信息增量计算模块105(包括Storm作业定义模块,Storm作业调度模块,Storm增量计算拓扑任务池)、数据存储模块106(包括人社业务过程数据库,人社人员档案袋数据库)五部分组成;

所述的数据源模块101,即人社业务数据库,主要为业务数据增量模块提供数据抽取来源,同时为数据的增量计算提供增量消息;数据源模块101的功能通过业务数据库数据、Redo日志分析模块以及AQ模块共同完成;Redo日志分析模块主要负责分析Redo日志,捕获业务数据库数据操作(包括所有的插入、删除、更新、建表、建索引等DML操作和DDL操作),生成LCRs消息,将LCRs转换成XML增量消息发送至AQ模块;AQ模块主要负责临时存储来自Redo日志分析模块产生的XML增量消息,为业务增量同步模块提供增量消息流。

所述的业务数据同步模块102,主要负责将人社业务数据库中的数据同步到人社业务历程数据库中,为构建人社人员档案袋数据库提供分布式化存储的数据来源;业务数据同步模块102的功能通过1021模块(初始化模块)、1022模块(增量同步模块)共同完成;初始化模块1021主要负责将所述数据源模块,即人社业务数据库中的数据一次性初始化导入人社业务历程数据库,完成人社业务历程库的初始化;增量同步模块主要负责接收所述AQ模块1012中的增量消息,并将增量消息转换成HBASE数据可识别的数据定义语言和数据操作语言,并将其应用到人社业务历程数据库中,实现从人社业务数据库到人社业务历程数据库的数据增量同步。

所述的档案信息初始化模块103,主要负责将人社业务历程数据库中的数据进行清洗、转换、计算、整合,并将数据保存到人社人员档案袋数据库的对应信息节点中,实现人社人员档案袋数据库的初始化;档案信息初始化模块103的功能通过1031模块(Spark作业定义模块)、1032模块(Spark作业调度模块)、1033模块(Spark任务调度中间件)、1034模块(Spark计算任务池)共同完成;Spark作业定义模块1031主要负责根据人员档案袋的计算模块和计算节点定义对应的Spark作业;Spark作业调度模块1032主要负责将定义好的Spark作业交给Spark任务调度中间件进行调度执行,来实现人社业务历程数据库中数据的清洗、转换、计算、整合等处理;Spark任务调度中间件1033主要负责实际的Spark作业的任务分解和任务调度执行,Spark任务调度中间件1033根据具体的Spark作业定义,将其分成多个计算任务进行调度执行;Spark计算任务池1034主要负责整合所有的计算任务,匹配对应的Spark作业定义中的计算任务,做到可以随时让Spark任务调度中间调度运行。

所述的增量消息存储模块104,主要负责提供高并发和高可用的消息队列,临时存储由业务数据同步模块处理后的增量消息,为档案信息增量计算模块提供消息流。

所述的档案信息增量计算模块105,主要负责接受增量消息,根据增量消息中涉及的人社业务历程数据进行清洗、转换、计算、整合,并将增量数据更新到人社人员档案袋数据库中的对应信息节点中,实现人社人员档案袋数据库的增量同步;档案信息增量计算模块105的功能通过1051模块(Storm作业定义模块)、1052模块(Storm作业调度模块)、1053模块(Storm增量计算拓扑任务池)共同完成;Storm作业定义模块1051主要负责根据人员档案袋的计算模块和计算节点定义对应的Storm作业;Storm作业调度模块1052主要负责根据定义好的Storm作业,匹配合适Storm增量计算拓扑并调度执行,来实现对增量消息中所涉及的人社业务历程数据的清洗、转换、计算、整合等处理;Storm增量计算拓扑任务池主要负责整合所有的增量计算拓扑任务,匹配对应的Storm作业定义中的增量计算任务,为Storm作业调度模块提供可用增量计算作业。

所述的人社数据存储模块106,主要负责将人社业务历程数据和人社人员档案袋数据库进行分布式化存储,为海量人社人员档案数据提供了良好的数据存储安全保障机制,同时提高了人社档案数据存储的横向扩展能力。

一种人社人员档案袋数据库的构建方法及系统,如图2所示,它包括以下步骤:

步骤201,配置业务数据增量同步模块102中的初始化模块1021,将分散在各个业务数据库中的业务数据集中抽取到分布式存储的业务历程数据库中,完成从业务数据库到业务历程数据库的数据初始化,为后续进行人社人员档案袋数据库的构建提供数据来源和基础;

步骤202,配置档案信息初始化模块103,根据人员档案袋的不同计算模块,进行Spark作业的定义,并通过作业调度模块执行和作业定义相匹配的Spark计算任务池中的任务,完成从业务历程库到人社人员档案袋数据库的初始化;

步骤203,完成人社人员档案袋数据库的初始化后,在业务数据库配置Oracle Streams,利用Redo日志分析模块1011实现Redo日志分析,并将解析出的LCRs消息发送到Oracle高级队列(AQ模块)中存储;

步骤204,增量同步模块1022接受来自高级队列中的XML增量消息,并将其解析成HBASE数据库可识别的数据定义语言和数据操作语言,并将增量消息应用到业务历程数据库,完成从业务数据库到业务历程数据库的增量同步;同时将XML增量消息发送至增量消息存储模块;

步骤205,配置档案信息增量计算模块105,根据人员档案袋的不同计算模块,完成Storm作业的定义,并通过Storm作业调度模块1052执行增量计算拓扑任务池中和作业定义相匹配的Storm增量计算拓扑,完成从业务历程数据库到人社人员档案袋数据库的增量同步计算,保证人员档案袋数据的一致性和实时性。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号