一种基于分布式内存计算的大数据实时处理系统及方法

文档序号:8319013阅读:1130来源:国知局
一种基于分布式内存计算的大数据实时处理系统及方法
【技术领域】
[0001]本发明涉及大数据处理领域,具体涉及一种基于分布式内存计算的大数据实时处理系统及方法。
【背景技术】
[0002]近几年来,随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。动辄达到数百TB (太字节)甚至数十至数百PB (拍字节)规模的行业/企业大数据已远远超出了现有传统的计算技术和信息系统的处理能力,因此,寻求有效的大数据处理技术、方法和手段已经成为现实世界的迫切需求。“大数据”在物理学、生物学、环境生态学等领域以及军事、金融、通讯等行业存在已有时日,却因为近年来互联网和信息行业的发展而引起人们关注。大数据作为云计算、物联网之后IT行业又一大颠覆性的技术革命。云计算主要为数据资产提供了保管、访问的场所和渠道,而数据才是真正有价值的资产。企业内部的经营交易信息、互联网世界中的商品物流信息,互联网世界中的人与人交互信息、位置信息等,其数量将远远超越现有企业IT架构和基础设施的承载能力,实时性要求也将大大超越现有的计算能力。如何盘活这些数据资产,使其为国家治理、企业决策乃至个人生活服务,是大数据的核心议题,也是云计算内在的灵魂和必然的升级方向。
[0003]大数据分析按照分析时间的长短一般可以分为,实时数据分析和离线数据分析。离线数据分析是针对固定的数据进行数据的分析和计算,而实时数据分析是指数据在产生过程中就可以实时的计算出相关结果信息,并且结果随着数据的不断更新,结果页随之不断的改变,让用户实时的看到数据的结果。实时运算在互联网,金融等场景下有大量的需求,然而现有技术还缺乏有效的大数据实时处理方法。

【发明内容】

[0004]本发明涉及一种基于分布式内存计算的大数据实时处理系统及方法,专门为大数据的数据实时处理而设计,将多台机器的内存进行综合利用,将实时的数据都保存在内存中,在内存中完成相关的计算和分析。由于数据在计算过程中都是在内存中的,所以能够提供快速的数据访问速度,加快数据的分析,为用户提供实时的分析结果。
[0005]为了达到上述目的,本发明的一个技术方案是提供一种基于分布式内存计算的大数据实时处理方法,其中以分布的多个内存节点各自具有的内存资源形成资源池;
在用户发起任务时,客户端向资源池的资源调度器传输任务,及固定时间间隔内的任务相关的增量数据来申请执行;
所述资源调度器根据任务需要的内存资源在资源池中进行调配,指定资源池中相应的内存节点对任务相关的增量数据进行计算,并将其各自计算得到的局部结果存入资源池中;
将被指定的各个内存节点计算得到的局部结果合并运算,得到全局的计算结果,向用户发送。
[0006]优选地,对于数据源持续产生的数据,客户端在每次达到固定时间间隔时,将该时间间隔内的数据打包形成的数据包作为增量数据,发送至资源调度器申请执行。
[0007]优选地,计算最新一个数据包得到的局部结果,与对该数据包之前其他数据包计算获得的局部结果合并,来得到全局的计算结果向用户发送。
[0008]优选地,资源调度器指定资源池中空闲的内存节点,进行局部结果的合并运算。
[0009]优选地,所述内存节点对其被分配的增量数据完成计算后,在有效期内记录计算过程相关的数据,以备查询或进行数据恢复。
[0010]优选地,直到所述内存节点的内存资源不足或者整个任务执行完成时,才释放其内存资源进行回收,以便资源管理器将该内存节点的内存资源重新列入资源池中的队列,等待收到后续任务时分配。
[0011]本发明的另一个技术方案是提供一种基于分布式内存计算的大数据实时处理系统,其中包含:
资源池,由分布的多个内存节点各自的内存资源形成;
客户端,向所述资源池发送任务及固定时间间隔内的任务相关增量数据,申请任务执行;
资源调度器,接收客户端发送的任务执行的申请,根据任务需要在资源池中调配内存资源,并指定相应内存节点对任务相关的增量数据进行计算;
其中,每个内存节点进一步设置有节点管理模块和内存计算模块;
所述节点管理模块对本节点的内存资源进行调度和管理,接收资源调度器发送的任务调度的指令,维护和监控内存计算模块的工作;
所述内存计算模块对任务相关的增量数据进行计算,得到相应的局部结果并进行保存;所述资源池中由被指定的各个内存节点计算得到的所有局部结果,通过合并运算得到全局的计算结果,发送给用户。
[0012]优选地,对于数据源持续产生的数据,客户端在每次达到固定时间间隔时,将该时间间隔内的数据打包形成的数据包作为增量数据,发送至资源调度器申请执行。
[0013]优选地,所述内存节点的内存资源不足或者整个任务执行完成时,所述内存计算模块释放计算时使用的内存资源,由所述节点管理模块进行回收该内存节点的内存资源并向资源管理器重新注册,以便将该内存节点的内存资源重新列入资源池中的队列,等待收到后续任务时分配。
[0014]本发明与现有技术相比,优势主要体现在以下方面:
分布式内存集中使用:本发明能够将分布式的内存形成统一的资源池,根据实际使用需要按需使用,提高内存的使用效率。
[0015]内存计算过程数据可恢复:本发明在内存允许的情况下,将历时数据都保存在内存中,当发生数据意外无效后,可以查找历时数据快速重新生成目标数据。
[0016]数据实时增量计算:本发明可以对数据增量进行局部计算,将结果再和总量数据进行汇总。
【附图说明】
[0017]图1是本发明分布式内存计算的示意图。
[0018]图2是本发明所述大数据实时处理系统的模块关系示意图。
[0019]图3是本发明所述大数据实时数据方法一个示例的处理时序图。
[0020]图4是本发明所述大数据实时处理方法的处理逻辑的示意图。
【具体实施方式】
[0021]如图1所示,本发明的应用场景包含用户和大数据平台厂商,用户提供实时的数据源,数据持续不停的产生;由数据收集手段对数据持续收集,并不断地传送到大数据平台之上。大数据平台通过基于分布式内存计算的大数据实时处理系统及方法,将系统内分布的多个内存节点20形成一个逻辑上的资源池,由资源调度器10根据任务的实际需要对内存资源进行分配,指定资源池中相应的内存节点20作为内存计算容器,各自对记载到其中的数据进行分析和计算,能够快速得到相应的运算结果;再将各内存节点20的运算结果合并集中,得到全量数据的计算结果,向用户发送。
[0022]如图2所示,本发明所述基于分布式内存计算的大数据实时处理系统,包含客户端,资源调度器10,多个内存节点20及其各自设置的节点管理模块21和内存计算模块22。
[0023]用户发起任务后,所述客户端通过调用设置的任务提交模块30,自动将任务提交给资源调度器10,并且能够与任务执行的工作单元保持数据通信。
[0024]所述资源调度器10,内部实现资源调度和任务调度逻辑,包括对分布式内存资源的管理,接受内存节点20的注册,收集内存节点20的资源,以及调度任务的执行,指定哪些内存计算模块22执行哪些任务。
[0025]所述节点
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1