[发明专利]一种基于Java虚拟机资源池的数据处理方法有效
申请号: | 201310264290.6 | 申请日: | 2013-06-27 |
公开(公告)号: | CN104252368A | 公开(公告)日: | 2014-12-31 |
发明(设计)人: | 张明浩;王耘;喻大发 | 申请(专利权)人: | 珠海世纪鼎利通信科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 赵建刚 |
地址: | 519085 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 虚拟机 资源 数据处理 方法 | ||
技术领域
本发明涉及计算机数据处理领域,尤其涉及一种基于Java虚拟机资源池的数据处理方法。
背景技术
(1)已有技术:
目前用Hadoop MapReduce框架对海量数据进行分析,提交一个Job(即作业)到MapReduce框架,随即被分解为多台服务器上多个并行的Task(即任务),完成后将计算结果回收归并。通常每个Task运行在一个JVM上,每个JVM是一个独立的进程,同一个Job的多个Task可以复用一个JVM。
(2)已有技术问题及缺陷:
MapReduce Job启动加载慢,由于每个Job需要在多台服务器上启动多个JVM进程,服务器越多启动开销越大、启动越慢。目前Hadoop MapReduce只支持Task复用JVM,当需要连续地处理海量数据上的多个数据分析业务时,这种重复启动JVM的开销十分明显而且不必要。更广泛地、对于集群上的分布式Java程序,负载均衡的粒度也不能细致到JVM级别。
发明内容
本发明的目的在于提供一种针对海量信令数据处理分析业务时能够大大降低用于海量数据处理的Hadoop MapReduce任务的启动时间,提高数据处理效率的方法,从而解决现有技术中存在的前述问题。
本发明主要应用于云计算领域海量数据分析业务和其他分布式Java程序。使用一种云数据中心Java虚拟机资源池技术,可以大大降低用于海量数据处理的Hadoop MapReduce任务的启动时间,有效地提升了Java Virtual Machine(Java虚拟机,以下简称JVM)负载均衡和横向扩展能力。
为了实现上述目的,本发明采用的技术方案如下:
一种基于Java虚拟机资源池的数据处理方法,通过JVM Pool Controller对JVM池中的虚拟机资源按需的进行创建、杀死、重置;
维护一个保持活动的JVM池,为Hadoop MapReduce框架提供Job复用JVM支持;
消除连续运行MapReduce任务时JVM的重复启动开销,加速MapReduce任务的启动加载速度;
通过对JVM池的管理,为分布式的Java程序提供JVM级别的横向扩展和负载均衡支持。
优选的,所述维护一个保持活动的JVM池的方法,具体为:通过JVM Pool Manager启动、维护和管理一组活动的JVM进程,并负责分发Task到空闲的JVM实例。
优选的,具体包括以下步骤:
S1,系统初始化;
S2,JVM通过JVM控制器协议周期性向JVM控制器上报心跳,传递JVM的基本信息;
S3,JVM控制器通过JVM池控制器协议周期性的向JVM池控制器上报心跳,传递JVM控制器的基本信息;
S4,当客户端需要通过JStack执行任务或者申请资源时,需要先通过存储器内容加载器使用JVM客户端协议向JVM控制器获取JVM端口和JVM当前工作目录,并传递给存储器内存执行器;
S5,存储器内容执行器通过JVM协议将请求直接传递给JVM,并通过心跳机制将请求间接传递给JVM控制器以及JVM池控制器执行相应的命令。
优选的,所述JVM的基本信息,包括:JVM通信端口、内存、创建时间、运行时间和工作目录。
优选的,所述JVM控制器的基本信息,包括:JVM创建数量、运行状态、每个JVM的内存、通信端口、创建时间、运行时间和工作目录。
优选的,所述的对JVM池的管理,包括:创建、杀死和重置JVM池中的JVM的步骤。
本发明的有益效果是:
本发明的基于云数据中心Java虚拟机资源池的数据处理方法,在应用于海量数据处理时,可以大大降低用于海量数据处理的Hadoop MapReduce任务的启动时间;
在用于其他大规模分布的Java程序能够大大提升JVM负载均衡和横向扩展能力。
附图说明
图1是本发明的基于云数据中心Java虚拟机资源池的数据处理方法的JVM池结构示意图;
图2是本发明的基于云数据中心Java虚拟机资源池的数据处理方法的处理流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
JVM Pool Controller---Java池控制器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海世纪鼎利通信科技股份有限公司,未经珠海世纪鼎利通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310264290.6/2.html,转载请声明来源钻瓜专利网。