一种异常处理方法和装置制造方法及图纸

技术编号:15690725 阅读:64 留言:0更新日期:2017-06-24 03:21
本发明专利技术实现一种异常处理方法和装置,包括:获取分布式业务处理过程中发生异常的原因和位置,将发生异常的原因和位置存储在Hadoop数据库Hbase中。通过本发明专利技术提供的技术方案,获取了分布式系统发生异常的原因和位置,保证了对异常的及时处理,便于后期进行程序调试和系统维护。

Exception handling method and apparatus

The invention realizes an exception handling method and device, which comprises the following steps: obtaining the cause and position of an exception occurring in the distributed service processing process and storing the reason and position of the abnormal occurrence in the Hadoop database Hbase. Through the technical scheme provided by the invention, the causes and positions of the abnormal occurrence of the distributed system are obtained, and the prompt processing of the abnormality is ensured, so that the program debugging and the system maintenance can be carried out in the later stage.

【技术实现步骤摘要】
一种异常处理方法和装置
本专利技术涉及计算机技术,尤指一种基于Hadoop分布式的异常处理方法和装置。
技术介绍
Hadoop是由Apache基金会所开发的分布式系统基础架构。Hadoop分布式框架的核心设计是:分布式文件系统(HDFS,HadoopDistributedFileSystem)和映射(Map)/规约(Reduce)。其中,HDFS为海量的数据提供了存储,Map/Reduce为海量的数据提供了计算。Map/Reduce框架是一个简易的分布式计算软件框架,基于Hadoop分布式架构编写的应用程序能够运行在由上千个商用机器组成的大型分布式集群系统上,并且能够以一种可靠容错性的方式并行处理超过T级别的数据集。Map/Reduce框架由一个单独的主节点(Master)和多个集群从节点(Slave)共同组成。针对Hadoop分布式的实现,现有的系统使用集群完全分布式配置模式,在完全分布式中,Master负责调度构成一个作业的所有任务并分布到不同的Slave上,Master监控Slave的执行,并重新执行失败的任务,Slave仅负责执行由Master指派的任务。Hadoop分布式系统中,由于Slave分布在不同的机器上,且分布在未知的线程上,当不同的Slave执行Map或者Reduce产生异常时,相关技术中通常利用异常信息获取函数e.getMessage()对异常进行处理,但是该函数只能获取异常的原因,但是,由于不知道异常的具体位置,导致不能及时处理异常,影响了系统运行和维护。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种异常处理方法和装置,能够获取分布式系统的异常的原因和位置,从而保证对发生的异常进行及时处理。为了达到本专利技术目的,本专利技术提供了一种异常处理方法,包括:获取业务处理过程中发生异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;将所述获取的原因和位置存储在预先创建的Hadoop数据库Hbase中;所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。可选地,所述获取异常的原因和位置之前,还包括:判断所述业务处理过程运行是否失败,当判断出所述业务处理过程运行失败时将所述业务处理过程运行失败的相关信息保存到所述Hbase中;其中,所述运行失败的相关信息包括:所述业务处理过程运行失败的开始时间、运行失败的结束时间、当前运行的任务名称、失败的状态。可选地,当所述业务处理过程包括组件Combiner处理时,所述方法还包括:获取所述组件Combiner处理过程中的异常的原因和位置并存储在所述Hbase中。可选地,所述获取业务处理过程中的异常的原因和位置包括:利用打印异常信息函数PrintStackTrace()获取所述异常的原因和位置。可选地,所述获取业务处理过程中的异常的原因和位置之后,所述将所述异常的原因和位置存储在Hadoop数据库Hbase中之前,还包括:将所述异常的原因和位置的格式转换成字符串格式。本专利技术还提供一种异常处理装置,其特征在于,包括获取模块、处理模块;其中,获取模块,用于获取业务处理过程中的异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;处理模块,用于将所述异常的原因和位置存储在预先创建的Hadoop数据库Hbase中;所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。可选地,还包括判断模块,用于:判断出所述业务处理过程运行失败,通知所述获取模块执行获取业务处理过程中的异常的原因和位置的步骤;通知所述处理模块将所述业务处理过程运行失败的相关信息保存到所述Hbase中;其中,所述运行失败的相关信息包括:所述业务处理过程运行失败的开始时间、运行失败的结束时间、当前运行的任务名称、失败的状态。可选地,所述获取模块,还用于当所述业务处理过程包括组件Combiner处理时,获取所述组件Combiner处理过程中的异常的原因和位置并存储在所述Hbase中。可选地,所述获取模块具体用于:利用打印异常信息函数PrintStackTrace()获取所述异常的原因和位置。可选地,所述处理模块还用于:将所述异常的原因和位置的格式转换成字符串格式后再执行存储在Hadoop数据库Hbase中的步骤。与现有技术相比,本专利技术包括:在业务处理过程中获取发生异常的原因和位置,并将发生的异常的原因和位置保存在Hbase。通过本专利技术提供的技术方案,获取了分布式系统发生的异常的原因和位置,保证了对异常的及时处理,便于后期进行程序调试和系统维护。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实现异常获取方法的流程图;图2为本专利技术实现判断Map/Reduce程序运行是否出现异常的流程图;图3为本专利技术实现异常获取装置的组成结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本专利技术实现异常获取的流程图,如图1所示,包括:步骤100:获取业务处理过程中发生异常的原因和位置,业务处理过程包括执行Map程序和Reduce程序;其中,在Hadoop分布式系统中可以利用Map/Reduce进行业务处理过程,即业务处理过程包括执行Map程序和Reduce程序,而由于数据源等多方面的原因,会在Map/Reduce执行过程中产生异常,从而导致Map/Reduce运行失败,为了获取产生的异常,本步骤中,可以利用获取异常信息的函数,如打印异常信息函数PrintStackTrace()获取异常的原因和位置。步骤101:将获取的原因和位置存储在预先创建的Hadoop数据库Hbase中。其中,Hbase至少包括由行键和列簇组成的记录异常日志事件表。本专利技术的记录异常日志事件表的列簇至少包括:列簇job、列簇map、列簇reduce,其中,列簇job:用于记录业务处理过程运行失败的相关信息,比如包括:程序运行失败的开始时间job:beginTime、程序运行失败的结束时间job:endTime、任务的名称j本文档来自技高网...
一种异常处理方法和装置

【技术保护点】
一种异常处理方法,其特征在于,包括:获取业务处理过程中发生异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;将所述获取的原因和位置存储在预先创建的Hadoop数据库Hbase中;所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。

【技术特征摘要】
1.一种异常处理方法,其特征在于,包括:获取业务处理过程中发生异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;将所述获取的原因和位置存储在预先创建的Hadoop数据库Hbase中;所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。2.根据权利要求1所述的方法,其特征在于,所述获取异常的原因和位置之前,还包括:判断所述业务处理过程运行是否失败,当判断出所述业务处理过程运行失败时,将所述业务处理过程运行失败的相关信息保存到所述Hbase中;其中,所述运行失败的相关信息包括:所述业务处理过程运行失败的开始时间、运行失败的结束时间、当前运行的任务名称、失败的状态。3.根据权利要求1所述的方法,其特征在于:当所述业务处理过程包括组件Combiner处理时,所述方法还包括:获取所述组件Combiner处理过程中的异常的原因和位置并存储在所述Hbase中。4.根据权利要求1、2或3所述的方法,其特征在于,所述获取业务处理过程中的异常的原因和位置包括:利用打印异常信息函数PrintStackTrace()获取所述异常的原因和位置。5.根据权利要求1、2或3所述的方法,其特征在于,所述获取业务处理过程中的异常的原因和位置之后,所述将所述异常的原因和位置存储在Hadoop数据库Hbase中之前,还包括:将所述异常的原因和位置的格式转换成字符串格式。6...

【专利技术属性】
技术研发人员:陈金添
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1