基于内存计算的可定制多模式大数据处理系统的制作方法

文档序号:10655322阅读:325来源:国知局
基于内存计算的可定制多模式大数据处理系统的制作方法
【专利摘要】本发明提供了一种基于内存计算的可定制多模式大数据处理系统,包括:数据存储层模块、基于内存的数据共享和管理层模块、基于内存计算的通用执行框架层模块以及访问接口层模块;其中,采用了数据的分布式内存抽象机制、位置感知性调度机制、分布式混合列式存储机制。本发明构建了海量数据存储,提供面向集群并发计算的内存数据管理和共享框架,并提供高效、按需定制的大数据多模式通用处理框架,支持批处理、实时数据流计算,对数据的灵活分析与深度利用提供支撑。
【专利说明】
基于内存计算的可定制多模式大数据处理系统
技术领域
[0001]本发明涉及大数据技术(基础平台)领域的系统,具体地,涉及基于内存计算的可定制多模式大数据处理系统。
【背景技术】
[0002]大数据处理技术是海量数据处理的计算模式实现,基于大数据存储与管理技术展开,是大数据分析挖掘与应用的核心支撑。随着海量数据处理需求多样化的发展,要求大数据处理技术能够在统一的通用处理框架下,能够提供批处理、流处理、图处理等多种处理模式的数据处理功能,具备综合化数据处理功能;与此同时,各行业、各领域的大数据处理需求向细粒度、可定制化方向发展,一方面要求大数据处理技术在保证系统作业吞吐的前提下,能够提供细粒度调度操控接口,适应不同类型、不同优先级等多方面的作业处理需求,另一方面要求大数据处理技术不断完善处理模式与处理效率,支持迭代、共享等多种处理逻辑,并适应数据加速膨胀的发展现状,在各种模式下不断提升处理效率。然而,尽管大数据处理技术及相关领域快速发展,但目前尚未出现能够同时满足高效的、支持定制模式的大数据处理系统。
[0003]经对现有技术的文献检索发现,名称为“一种用于大数据处理的计算系统及计算方法”的专利文献(申请号:201310455174.2 ;公开号:CN103488775A),公开了一种用于大数据处理的计算系统,其包括数据存储模块、消息传输模块和计算模型模块、以及编程接口模块,可作为一种通用的大数据处理系统,但其采用的技术方案先进性不足,无法满足数据处理的实时性需求,同时无法支持交互式查询、流数据分析、图处理等多种处理模式,可定制性效果不佳,另外系统整体吞吐性能也有待进一步提升。
[0004]又经检索发现,专利名称为“一种基于分布式内存计算的大数据实时处理系统及方法”的专利文献(申请号:201510110508.1;公开号:CN104636199A),公开了一种基于分布式内存计算的大数据实时处理系统及方法,其实现了分布式内存集中使用,内存计算过程数据可恢复,以及数据实时增量计算,数据访问速度快,可提供实时的分析结果。但其仅支持对数据的实时处理,所支持的处理模式单一,难以支持批处理、图处理等处理需求;另外其所处理的数据规模限于集群内存容量,无法支撑数据量超过内存范围的海量数据处理。
[0005]为此,有必要发展高效的可定制多模式大数据处理系统,从而实现突破基于内存的分布式批处理技术、高可靠性实时流处理、多模式计算资源统一管理,形成多模式综合化海量数据处理编程支撑能力、细粒度可定制作业调度能力、迭代等复杂处理逻辑支撑能力,显著提升数据处理效率。

【发明内容】

[0006]针对现有技术中的缺陷,本发明的目的是提供一种基于内存计算的可定制多模式大数据处理系统。
[0007]根据本发明提供的一种基于内存计算的可定制多模式大数据处理系统,包括:数据存储层模块、基于内存的数据共享和管理层模块、基于内存计算的通用执行框架层模块以及访问接口层模块;
[0008]数据存储层模块,用于数据存储;
[0009]基于内存的数据共享和管理层模块,用于衔接数据存储层模块与基于内存计算的通用执行框架层模块,将数据存储层模块存储的数据资源载入内存并按需共享;
[0010]基于内存计算的通用执行框架层模块,用于数据处理编程;
[0011]访问接口层模块,用于提供数据访问接口。
[0012]优选地,所述数据存储层模块包括如下任一个或任多个模块:
[0013]分布式文件系统模块,用于对数据进行存储;
[0014]分布式数据库模块,用于在基于列的数据表上建立二级索引,所述二级索引包括全局索引和本地索引;
[0015]分布式消息队列模块,用于提供实时在线和批量离线处理数据的消息派发服务;
[0016]分布式同步系统模块,用于提供高可用的分布式数据管理和系统协调框架,保证分布式环境中数据的强一致性。
[0017]优选地,所述基于内存的数据共享和管理层模块,用于从数据存储层模块中加载需要频繁访问的数据,对基于工作集的任务提供抽象分布式的内存抽象,允许在执行多个任务时显式地将工作集缓存在内存中。
[0018]优选地,所述基于内存的数据共享和管理层模块,采用数据的分布式内存抽象机制;
[0019]所述数据的分布式内存抽象机制,具体为:对分布在集群中的数据,抽象成具有业务含义的逻辑视图,并存储于分布式集群的内存中。
[0020]优选地,所述基于内存的数据共享和管理层模块,采用位置感知性调度机制;
[0021 ]所述位置感知性调度机制,具体为:在分布式集群中,根据存储在全局节点中数据块分布特征进行调度。
[0022]优选地,所述基于内存计算的通用执行框架层模块,采用分布式混合列式存储机制;
[0023]所述分布式混合列式存储机制,具体为:将数据以键值对的形式经过序列化后存储在内存、SSD和磁盘中的混合存储机制。
[0024]与现有技术相比,本发明具有如下的有益效果:
[0025]1、构建了海量数据存储、高度弹性扩展、自主管理修复、无单点故障的安全可信分布式持久化存储,对数据提供跨内存、SSD、磁盘等复杂异构存储设备进行透明、高效的分级存储,解决存储虚拟化、数据动态分布、存储集群、异构存储设备数据交换等问题,提升大数据存储的支撑效能;
[0026]2、提供面向集群并发计算的内存数据管理和共享框架,主要解决内存分布式文件系统容错问题、面向多个应用框架的内存共享和隔离管理问题、面向多个应用框架的共享内存数据高性能访问问题、共享数据去冗余问题以及分布式内存数据的回收管理问题,用以衔接底层分布式持久化存储和上层通用分布式计算框架,提升不同处理模式间的数据共享效率和数据处理效率;
[0027]3、提供高效、按需定制的大数据多模式通用处理框架,支持批处理、实时数据流计算、实时交互式查询分析、高效快速迭代分析能力、图计算、复杂逻辑处理等多模式综合化海量数据处理编程、细粒度可定制作业调度,对数据的灵活分析与深度利用提供支撑;
[0028]4、提供广泛易用的访问接口,支持JDBC、ODBC、JAVA/C++AP1、REST等访问方式;
[0029]5、可优选地引入lineage技术(允许基于数据衍生过程重建部分数据集的信息)和检查点算法(在特定时刻将内存数据持久化到磁盘作为检查点,用于保存和恢复程序运行状态的相关算法,具体包括异步检查点算法和一致检查点算法)实现共享数据容错机制和去冗余机制,使得海量数据在分布式集群中以内存的速度进行共享和访问,极大地提高了分布式系统数据处理吞吐量,将lineage技术引入分布式内存存储系统,绕开重复复制带来的吞吐量低下的局限性,实现共享数据去冗余机制;
[0030]6、采用检查点算法限定重复计算过程的范围并解决所需资源的获取,通过再次对任务的操作进行计算来恢复出错或丢失的数据,实现分布式内存数据的容错机制;
[0031]7、优选地可引入“off-heap”堆外内存技术(将对象从堆中脱离出来序列化,然后存储在内存中,就像存储到磁盘上一样但仍然在RAM中;对象在这种状态下必须先反序列化而不能直接使用,其不受垃圾回收GC机制收集)实现新的内存回收机制来避免传统的JVM垃圾回收机制对堆的开销,在分布式集群内存中实现对大数据集对象的管理,提升数据共享效率和数据处理效率;
[0032]8、优选地可引入优化的倒排索引技术(根据属性的值来查找记录,而不是由记录来确定属性值的索引方式。索引表中每一项都包括一个属性值和具有该属性值的记录地址,用于确定属性值和存储位置的映射关系WPElastic Search分布式全文检索技术(基于Elasticsearch实现的全文分布式检索技术,其中Elasticsearch是一个基于Lucene的搜索引起,稳定可靠快速,具有良好的水平扩展能力,是专门为分布式环境设计的)的对分布式列式数据库的非主键列和分布式内存数据集建立索引,实现更加高效的基于列的数据表上建立二级索引(全局/本地索引),支持高速的数据检索、搜索和统计,并支持对文本建立增量全文索引。
【附图说明】
[0033]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0034]图1为基于内存计算的可定制多模式大数据处理系统的层次组成图。
[0035]图2为基于内存计算的可定制多模式大数据处理系统的调用关系图。
【具体实施方式】
[0036]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0037]本发明提供一种基于内存计算的可定制多模式大数据处理系统,本发明提供批处理、实时数据流计算、实时交互式查询分析、高效快速迭代分析能力图计算、复杂逻辑处理等多模式综合化海量数据处理编程支撑能力、细粒度作业调度能力,具有根据需求进行灵活定制、采用基于内存计算的数据处理效率显著提升等优点。
[0038]根据本发明提供的一种基于内存计算的可定制多模式大数据处理系统,包括:数据存储层模块、基于内存的数据共享和管理层模块、基于内存计算的通用执行框架层模块以及访问接口层模块;
[0039]数据存储层模块,用于数据存储;
[0040]基于内存的数据共享和管理层模块,用于衔接数据存储层模块与基于内存计算的通用执行框架层模块,将数据存储层模块存储的数据资源载入内存并按需共享;
[0041]基于内存计算的通用执行框架层模块,用于数据处理编程;
[0042]访问接口层模块,用于提供数据访问接口。
[0043]所述数据存储层模块包括如下任一个或任多个模块:
[0044]分布式文件系统模块,用于对数据进行存储;
[0045]分布式数据库模块,用于在基于列的数据表上建立二级索引,所述二级索引包括全局索引和本地索引;
[0046]分布式消息队列模块,用于提供实时在线和批量离线处理数据的消息派发服务;
[0047]分布式同步系统模块,用于提供高可用的分布式数据管理和系统协调框架,保证分布式环境中数据的强一致性。
[0048]所述基于内存的数据共享和管理层模块,用于从数据存储层模块中加载需要频繁访问的数据,对基于工作集的任务提供抽象分布式的内存抽象,允许在执行多个任务时显式地将工作集缓存在内存中。
[0049]所述基于内存的数据共享和管理层模块,采用数据的分布式内存抽象机制;
[0050]所述数据的分布式内存抽象机制,具体为:对分布在集群中的数据,抽象成具有业务含义的逻辑视图,并存储于分布式集群的内存中。
[0051]所述基于内存的数据共享和管理层模块,采用位置感知性调度机制;
[0052]所述位置感知性调度机制,具体为:在分布式集群中,根据存储在全局节点中数据块分布特征进行调度。
[0053]所述基于内存计算的通用执行框架层模块,采用分布式混合列式存储机制;
[0054]所述分布式混合列式存储机制,具体为:将数据以键值对的形式经过序列化后存储在内存、SSD和磁盘中的混合存储机制。
[0055]接下来对本发明进行更为详细的描述。
[0056]本发明提供的基于内存计算的可定制多模式大数据处理系统,从下至上依次包括数据存储层模块、基于内存的数据共享和管理层模块、基于内存计算的通用执行框架层模块以及访问接口层模块。
[0057]数据存储层模块具体包括分布式文件系统模块、分布式数据库模块、分布式消息队列模块和分布式同步系统模块,用于数据持久化存储,支持多种模式的大数据处理提供存储支撑,其中,所述持久化存储是相较于内存方式的瞬时数据存储而言的,例如磁盘存储。分布式文件系统模块对海量结构化、半结构化、非结构化多种类型数据进行存储,以达到具备高可用性、高可靠性、安全性、高效性和高扩展性等的海量数据存储能力;分布式数据库模块提供面向列的、全方位的事务处理能力,通过在基于列的数据表上建立二级索引(全局/本地索引),支持高速的数据检索、搜索和统计,根据索引进行低延迟检索,支持大量用户同时进行高并发数据插入、修改、查询和检索,支持对文本建立增量全文索引,并且通过全文关键字索引支持低延迟全文关键字检索,为分布式内存分析引擎提供高效数据扫描接口,充分利用分布式列式数据库的内部数据结构以及全局/辅助索引进行SQL执行加速,可以满足高速的联机分析处理数据分析应用需求。
[0058]基于内存的数据共享和管理层模块,用以衔接底层数据存储层模块分布式持久化存储和上层通用分布式计算框架,将数据存储中的海量数据资源最大限度地载入内存并按需共享,提升不同处理模式间的数据共享效率和数据处理效率。具体地,面向集群并发计算的所述基于内存的数据共享和管理层模块,从数据存储层模块中加载需要频繁访问的数据,对基于工作集的任务(即多个并行操作重用中间结果的这类任务),通过内存分布式文件系统容错机制、面向多个应用框架的内存共享和隔离管理机制、面向多个应用框架的共享内存数据高性能访问机制、共享数据去冗余机制以及分布式内存数据的回收管理机制、数据的分布式内存抽象支持自动容错、位置感知性调度和可伸缩性,允许在执行多个任务时显式地将工作集缓存在内存中,加速工作集共享和重用,提升不同处理模式间的数据共享效率和数据处理效率,其中,所述显示地是指,将不同框架下的数据集合以统一对象的方式存储在内存中,方便各应用框架的数据共享和处理访问。
[0059]基于内存的分布式通用计算框架层模块,支持批处理、实时数据流计算、实时交互式查询分析、高效快速迭代分析、图计算、复杂逻辑处理等多模式综合化海量数据处理编程、细粒度可定制作业调度,对数据的灵活分析与深度利用提供支撑。具体地,所述基于内存计算的通用执行框架层模块,采用跨磁盘、SSD、内存三层架构的分布式混合列式存储,最大限度地将数据资源载入内存,利用内存访问速度优势,缩短数据查询时间,减少磁盘访问次数,提供分布式内存计算任务调度框架和分布式内存计算任务执行引擎,提高整体的数据查询处理速度、数据对象容量和数据吞吐量。主要用于解决海量数据的交互式数据挖掘和迭代分析效率问题,提高任务响应性能。
[0060]访问接口模块提供JDBC、0DBC、AP1、REST等广泛易用的访问接口,便于应用编程调用。
[0061]进一步地,根据不同的模式需要定制所述系统中不同模块形成不同的支撑平台,达到实现需要。
[0062]实施举例1:针对实时流计算模型的定制化平台
[0063]为支持流计算模式,实时流转的数据,需要一个分布式的、高性能、高可靠性的消息处理和计算平台。需要定制所述系统的数据存储模块中分布式文件系统、分布式实时数据库、分布式消息队列,基于内存的分布式通用计算框架层模块,以及访问接口模块。
[0064]本发明所述系统中基于内存的通用计算框架包括实时流处理引擎,提供了强大的流计算表达能力,支持复杂的应用逻辑,生产系统的消息通过实时消息队列进入计算集群,在集群内以流水线方式被依次处理,完成数据转换、特征提取、策略检查、分析告警等复杂服务计算,最终输出到分布式实时数据库等存储集群,实时生成告警页面、实时展示页面等。系统具备强扩展性、强容错、低延迟、高吞吐等特点,成熟应用于实时数据(如传感器数据)的实时告警、风险控制、在线统计和挖掘等业务。
[0065]具体过程是:数据不断的从数据源产生,比如在线业务数据、实时抓取的数据、从其他系统导入的数据等等,数据统一进入一个大吞吐量消息队列系统。每条进入的数据,都会分别流转到流处理平台和批处理平台中,这两个平台采用不同的计算模型,同时完成对数据的计算。其中,流处理平台会在每条数据接受到的时刻就完成相应的计算工作,并在合适的时机根据输出的配置,将结果输出到数据存储模块。而批处理平台,会先积攒一段时间的数据,然后在这些数据的基础上运用某种算法模型,完成计算,计算结果同样会输出到数据存储模块。
[0066]实施举例2:批处理模式的定制化平台
[0067]批处理模式需要克服流处理不能纵观全局数据的缺点,需要纵观一段时期内的数据总体,结合新老数据执行任务。高效批处理模式需要定制本系统的数据存储模块中分布式文件系统、分布式实时数据库、分布式消息队列,面向集群并发计算的内存数据共享和管理层模块,基于内存的分布式通用计算框架层模块,以及访问接口模块。
[0068]具体过程是:数据不断的从数据源产生,比如在线业务数据、实时抓取的数据、从其他系统导入的数据等等,数据统一进入一个大吞吐量消息队列系统。每条进入的数据,都会流转到批处理平台中,经过一段时间的数据积累,然后在这些数据的基础上运用某种算法模型,完成计算,计算结果同样会输出到数据存储模块。
[0069I本发明的特点包括:
[0070]I)在一个通用的大数据处理框架内,提供基于内存计算的流数据实时分析、数据批量处理、图计算、交互式查询、迭代分析等多种模式的数据处理功能;
[0071]2)通过提供一个高效的面向集群并发计算的内存数据共享和管理框架,允许文件以内存的速度在集群框架下进行可靠的共享,并让不同的作业以及框架都能以内存的速度进行文件缓存和数据共享,可以减少哪些需要经常使用数据集通过访问磁盘来获得的次数,支持不同处理模式间的数据共享,使得可以在集群里以访问内存的速度来访问数据,使得整个系统的数据吞吐率提升数百倍;
[0072]3)在统一系统平台下支持多模式计算集群,通过分布式集群资源配置和调度管理建立统一分布式数据集,动态创建交互式分析集群、批处理集群以及实时流处理集群等多种不同模式的数据集群,提供资源配额管理、动态资源调配、资源共享的能力,进而通过数据共享和管理框架实现不同模式间的高效共享和处理;
[0073]4)广泛的访问接口,提供JDBC、0DBC、AP1、REST多种访问方式,在多种情况下使用。
[0074]本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0075]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
【主权项】
1.一种基于内存计算的可定制多模式大数据处理系统,其特征在于,包括:数据存储层模块、基于内存的数据共享和管理层模块、基于内存计算的通用执行框架层模块以及访问接口层模块; 数据存储层模块,用于数据存储; 基于内存的数据共享和管理层模块,用于衔接数据存储层模块与基于内存计算的通用执行框架层模块,将数据存储层模块存储的数据资源载入内存并按需共享; 基于内存计算的通用执行框架层模块,用于数据处理编程; 访问接口层模块,用于提供数据访问接口。2.根据权利要求1所述的基于内存计算的可定制多模式大数据处理系统,其特征在于,所述数据存储层模块包括如下任一个或任多个模块: 分布式文件系统模块,用于对数据进行存储; 分布式数据库模块,用于在基于列的数据表上建立二级索引,所述二级索引包括全局索引和本地索引; 分布式消息队列模块,用于提供实时在线和批量离线处理数据的消息派发服务; 分布式同步系统模块,用于提供高可用的分布式数据管理和系统协调框架,保证分布式环境中数据的强一致性。3.根据权利要求1所述的基于内存计算的可定制多模式大数据处理系统,其特征在于,所述基于内存的数据共享和管理层模块,用于从数据存储层模块中加载需要频繁访问的数据,对基于工作集的任务提供抽象分布式的内存抽象,允许在执行多个任务时显式地将工作集缓存在内存中。4.根据权利要求1所述的基于内存计算的可定制多模式大数据处理系统,其特征在于,所述基于内存的数据共享和管理层模块,采用数据的分布式内存抽象机制; 所述数据的分布式内存抽象机制,具体为:对分布在集群中的数据,抽象成具有业务含义的逻辑视图,并存储于分布式集群的内存中。5.根据权利要求1所述的基于内存计算的可定制多模式大数据处理系统,其特征在于,所述基于内存的数据共享和管理层模块,采用位置感知性调度机制; 所述位置感知性调度机制,具体为:在分布式集群中,根据存储在全局节点中数据块分布特征进行调度。6.根据权利要求1所述的基于内存计算的可定制多模式大数据处理系统,其特征在于,所述基于内存计算的通用执行框架层模块,采用分布式混合列式存储机制; 所述分布式混合列式存储机制,具体为:将数据以键值对的形式经过序列化后存储在内存、SSD和磁盘中的混合存储机制。
【文档编号】G06F17/30GK106021484SQ201610333546
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】冯伟, 王金华
【申请人】中国电子科技集团公司第三十二研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1