本发明专利技术公开了一种基于分布式数据仓库的社保数据联机分析处理系统,包括与多维分析服务器进行交互的展示层;对MDX语句进行解析,并使用解析后的语句执行查询计算的维度层;对聚集结果的缓存进行管理的星状层;负责接收星状层发出的SQL语句,在数据仓库中执行,并将结果返回的存储层。本发明专利技术系统的数据仓库通过分布式文件系统实现,而分布式文件系统集群由云计算平台统一管理,实现资源的负载均衡。系统通过功能上的多层分发,实现了对存储海量数据的分布式数据仓库的统一查询接口,以类似JDBC的查询方式,完成对于数据立方体多个维度的操作。
【技术实现步骤摘要】
本专利技术涉及联机分析处理和分布式存储领域,尤其是指一种基于分布式数据仓库的社保数据联机分析处理系统。
技术介绍
随着信息化技术的不断发展完善,政府、企业等机构累积产生了大量业务数据,如何从这类数据中提取有用信息,便于判断形势,对未来发展作出决策,成为决策者关心的重要问题。企业级别的系统应用往往达到了TB、PB甚至更高的数据量,而对于决策者而言,重要的决策参考信息常常就被淹没在其中。目前十分通用的做法是,从海量数据中提炼出有助于决策分析的数据信息,存放到数据变动相对较小的数据仓库中,作为对海量数据进行筛选后的数据环境。再基于数据仓库的数据,进行联机分析处理,得到相关的决策信息。我国的社会保障信息化管理虽然经过多年的发展完善,但当下对五种社会保障信息系统的管理,仍然很难与其他现有独立系统有效交互,更不用说直接进行操作。事务同步和数据共享程度较低,明显影响劳动和社会保障信息的使用效率。联机分析处理(OLAP)是一个将原始数据转化为贴近用户所理解的业务维度的,提供从各种可能地视角观察信息的软件技术,便于分析师、管理者和执行者来快速、一致、交互地访问数据。OLAP的功能特点是提供动态多维的分析整合企业数据,支持终端用户分析和定位活动,包括各个维度的计算和建模应用,通过层次结构和成员进行趋势分析,对子集切片细致查看,钻取到更深的层次,旋转到新的维度进行可见的区域比较等。传统的数据仓库一般采用集中式结构化数据存储方式,单节点运行计算,配置起来比较简单,对结构化数据的处理速度也比较快,同时,受服务器硬件性能的影响也比较大。但是在社保数据应用中,往往要对多张数据表中成千上万条数据进行综合查询,传统数据仓库的性能越来越难以满足这类复杂的查询需求。随着数据量的积累,数据仓库迟早会有需要扩容的时候,而传统数据仓库由于采用集中式存储方式,扩容的代价是巨大的,往往需要将原有存储介质整体替换。对于数据仓库的查询,往往是对海量数据的范围查询,并不需要太高的实时性,对于查询任务的处理也可以分批次进行,因此数据仓库系统特别适合使用分布式数据解决方案。对海量社保数据的多维查询分析,查询速度是评价系统性能的关键因素,针对多维立方体查询的优化,有几个比较常见的优化方法:存储过程,索引技术,物化视图。存储过程对针对特定的查询创建查询语句群,将语句经过编译优化并存储在数据库中,以此来优化查询效率,但是在分布式文件系统中,很少见有对于存储过程、索引技术的支持,这些技术对于分布式文件系统也并不适用。而物化视图则是一种典型的用空间换取时间的方法,通过建立实体视图达到减少表连接消耗时间的目的,在本文所依据项目中,由于涉及到多种社会保障服务,为每个服务建立物化视图将会带来时间信息、地理信息等方面的巨大冗余,因此这种方法也是不尽如人意的。根据数据存储方式,联机分析处理可以分为三类:关系型OLAP、多维OLAP、混合型OLAP:关系型OLAP将数据存储在关系数据库中,就像传统数据表一样,不同的是,它还会定义一批实视图,与业务数据一同存储在数据库中,这与传统关系型数据库只存储视图的定义结构截然不同。这样做的原因在于定义使用频率比较高,计算量比较大的查询作为实视图可以很大程度上减少查询所需要的耗时。多维OLAP将多维数据在物理上存储为多维数组格式,因此也被成为物理OLAP。而关系型OLAP主要通过一些中间软件实现立方体,被称为虚拟OLAP。混合型OLAP目前为止尚没有一个完全清晰的定义,但是显然,它不是单纯的将ROLAP和MOLAP组合起来,应当结合具体的业务逻辑,将两种OLAP的优点有机地组合起来。内存数据库系统是指将数据库的全部或大部分数据放在内存中的数据库系统,内存数据库中数据是常驻内存,处理前不需要从磁盘读取数据,处理后也不需要将结果写回磁盘,节省了磁盘I/O的时间,一般都具有很高的查询性能,适合要求快速响应的系统。本专利技术针对的海量社保数据无法完全存储在内存当中,但针对社保数据对五险一金操作比较多的特性,我们从海量社保数据中提取出常见的如医疗金、失业金、养老金等类目的数据模型,将这些常用模型用NoSQL内存数据库作为存储空间,使其常驻内存,实现对常用业务数据的快速存取。当前国内外关于大数据联机分析处理的研究成果多种多样,但至今未见针对社保应用海量数据实现的多级分布式的联机分析处理方法及系统。针对海量社保数据,研究一个真正实用、可靠的数据统计分析方法及系统,保证实际应用中社保数据存储的可靠性、查询的实时性是本专利技术的重点。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于分布式数据仓库的社保数据联机分析处理系统,针对海量社保数据,能够快速响应查询请求,提升查询效率。为实现上述目的,本专利技术所提供的技术方案,如下:一种基于分布式数据仓库的社保数据联机分析处理系统,从上至下划分为4层,包括:展示层,是用户与多维分析服务器进行交互的层次,将分析计算的结果展现给用户,而该展示层主要通过前端工具提供服务,通过查询接口得到多维分析结果,其实现的查询接口,在建立连接时,能够像注册JDBC驱动一样注册连接驱动,通过通用接口Connection加载指定的OLAP驱动,随后获取连接,获取连接后,通过创建声明对象执行查询得到结果;维度层,主要对MDX语句进行解析,并使用解析后的语句执行查询计算;一个MDX查询在得到最终结果之前,往往需要经过数次迭代求值计算,并对每次的计算结果汇总处理;在该维度层中,首先,计算结果集中每个轴包含的成员列表,再计算需要聚集计算的单元格,最后将聚集计算请求批量提交到星状层;MDX查询结果能够在维度层中缓存,如果用户需要对查询结果作进一步操作,系统就不需要重新处理完整的查询请求,能够直接在维度层中缓存的查询结果基础上进行处理,得到新的查询结果,从而提高解析查询的效率;星状层,主要对聚集结果的缓存进行管理;该星状层处理维度层发出的提取聚集结果请求,在收到请求后,首先在缓存的聚集结果中搜索,如果请求结果存在,或缓存中现有结果能够经过计算后生成请求对应的结果,就能够直接从缓存中提取或者计算生成结果;如果不能通过缓存提供请求结果,则将请求转化为SQL查询,提交给存储层处理;星状层获得存储层的计算结果后,再将结果加入缓存;存储层,负责接收星状层发出的SQL语句,在数据仓库中执行,并将结果返回给星状层;存储层作为永久存储,以数据仓库为基础,拥有全部的业务数据;作为高速缓存的NoSQL内存数据库,则存储着常用的社保业务数据。所述存储层使用了嵌套型的列式存储方式,构造了一个基于列的索引树,能够将同一列的重复数据进行压缩,查询时读取以压缩格式存储的每一列数据,并消耗CPU解压数据;列式查询对于重复率高的数据列能够快速跳过,对于海量社保数据的查询能够大幅减少查询消耗时间;通过对社保海量数据按关键列进行分区存储的优化方法,还能够进一步提高查询命中率,增强海量数据查询的实时性。本专利技术与现有技术相比,具有如下优点与有益效果:1、本专利技术结合多种数据分析模型的优点,提出一种基于分布式数据仓库的社保数据联机分析处理系统。该系统的数据仓库通过分布式文件系统实现,而分布式文件系统集群由云计算平台统一管理,实现资源的负载均衡。系统通过功能上的多层分发,实现了对存储海量数本文档来自技高网...
【技术保护点】
一种基于分布式数据仓库的社保数据联机分析处理系统,其特征在于,从上至下划分为4层,包括:展示层,是用户与多维分析服务器进行交互的层次,将分析计算的结果展现给用户,而该展示层主要通过前端工具提供服务,通过查询接口得到多维分析结果,其实现的查询接口,在建立连接时,能够像注册JDBC驱动一样注册连接驱动,通过通用接口Connection加载指定的OLAP驱动,随后获取连接,获取连接后,通过创建声明对象执行查询得到结果;维度层,主要对MDX语句进行解析,并使用解析后的语句执行查询计算;一个MDX查询在得到最终结果之前,往往需要经过数次迭代求值计算,并对每次的计算结果汇总处理;在该维度层中,首先,计算结果集中每个轴包含的成员列表,再计算需要聚集计算的单元格,最后将聚集计算请求批量提交到星状层;MDX查询结果能够在维度层中缓存,如果用户需要对查询结果作进一步操作,系统就不需要重新处理完整的查询请求,能够直接在维度层中缓存的查询结果基础上进行处理,得到新的查询结果,从而提高解析查询的效率;星状层,主要对聚集结果的缓存进行管理;该星状层处理维度层发出的提取聚集结果请求,在收到请求后,首先在缓存的聚集结果中搜索,如果请求结果存在,或缓存中现有结果能够经过计算后生成请求对应的结果,就能够直接从缓存中提取或者计算生成结果;如果不能通过缓存提供请求结果,则将请求转化为SQL查询,提交给存储层处理;星状层获得存储层的计算结果后,再将结果加入缓存;存储层,负责接收星状层发出的SQL语句,在数据仓库中执行,并将结果返回给星状层;存储层作为永久存储,以数据仓库为基础,拥有全部的业务数据;作为高速缓存的NoSQL内存数据库,则存储着常用的社保业务数据。...
【技术特征摘要】
1.一种基于分布式数据仓库的社保数据联机分析处理系统,其特征在于,从上至下划分为4层,包括:展示层,是用户与多维分析服务器进行交互的层次,将分析计算的结果展现给用户,而该展示层主要通过前端工具提供服务,通过查询接口得到多维分析结果,其实现的查询接口,在建立连接时,能够像注册JDBC驱动一样注册连接驱动,通过通用接口Connection加载指定的OLAP驱动,随后获取连接,获取连接后,通过创建声明对象执行查询得到结果;维度层,主要对MDX语句进行解析,并使用解析后的语句执行查询计算;一个MDX查询在得到最终结果之前,往往需要经过数次迭代求值计算,并对每次的计算结果汇总处理;在该维度层中,首先,计算结果集中每个轴包含的成员列表,再计算需要聚集计算的单元格,最后将聚集计算请求批量提交到星状层;MDX查询结果能够在维度层中缓存,如果用户需要对查询结果作进一步操作,系统就不需要重新处理完整的查询请求,能够直接在维度层中缓存的查询结果基础上进行处理,得到新的查询结果,从而提高解析查询的效率;星状层,主要对聚集结果的缓存进行管理;该星状层处...
【专利技术属性】
技术研发人员:张星明,丛子涵,刘俊,古振威,
申请(专利权)人:华南理工大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。