本申请涉及大数据监测领域,特别是涉及一种作业监测方法、装置、终端以及计算机存储介质。
背景技术:
随着大数据及相关技术的持续发展,传统的数据分析迎来了新的生机,使得对大规模数据进行分析成为了可能。而伴随着数据量的剧增,数据的整合和计算需要的硬件资源面临着前所未有的挑战。
目前解决硬件资源不足的方式主要有两种,第一种方式是通过增加硬件资源,但是通过增加硬件的方式不仅成本高,而且一般企业的审批流程也比较长,并不能及时解决硬件资源不足的情况。第二种方式是通过人工对正在执行的作业进行异常检测,不仅人力成本大,而且是在已经出现异常后才能监测到,容易出现重大事故,也造成了其他作业执行的延迟。
技术实现要素:
本申请主要解决的技术问题是提供一种作业监测方法、装置、终端以及计算机存储介质,能够在不增加硬件资源的前提下,实现对作业异常的预警。
为解决上述技术问题,本申请采用的第一个技术方案是:提供一种作业监测方法,该作业监测方法包括:判断当前是否存在所占内存资源超过第一阈值的作业;其中,第一阈值小于内存资源总量的最大阈值;
如果存在所占内存资源超过第一阈值的作业,将作业的作业信息发送至监控对象。
其中,如果存在所占内存资源超过第一阈值的作业,将作业的作业信息发送至监控对象的步骤包括:
如果存在所占内存资源超过第一阈值的作业,判断作业超过第一阈值的持续时间是否超过阈值时间;
如果持续时间超过阈值时间,将作业的作业信息发送至监控对象。
其中,将作业的作业信息发送至监控对象的步骤包括:
判断作业信息的格式是否与预设格式相同;
如果作业信息的格式与预设格式不同,将作业信息的格式转换成预设格式;
将转换格式后的作业信息发送至监控对象。
其中,预设格式包括表格或文本格式。
其中,作业信息包括作业的名称、所占内存资源量以及当前执行状态。
其中,第一阈值是历史作业所占内存资源的平均值。
其中,判断当前是否存在所占内存资源超过第一阈值的作业的步骤具体包括:
判断当前是否存在所占map个数大于第一阈值的作业;
如果存在所占内存资源超过第一阈值的作业,将作业的作业信息发送至监控对象的步骤包括:
如果存在所占map个数大于第一阈值的作业,将作业的作业信息发送至监控对象。
为解决上述技术问题,本申请采用的第二个技术方案是:提供一种作业监测装置,所述作业监测装置包括判断模块和发送模块,
判断模块用于判断当前是否存在所占内存资源超过第一阈值的作业;其中,第一阈值小于内存资源总量的最大阈值;
发送模块用于存在所占内存资源超过第一阈值的作业时,将作业的作业信息发送至监控对象。
其中,判断模块具体用于存在所占内存资源超过第一阈值的作业时,判断作业超过第一阈值的持续时间是否超过阈值时间;发送模块具体用于在持续时间超过阈值时间时,将作业的作业信息发送至监控对象。
其中,判断模块还用于判断作业信息的格式是否与预设格式相同;如果作业信息的格式与预设格式不同,将作业信息的格式转换成预设格式;发送模块还用于将转换格式后的作业信息发送至监控对象。
其中,预设格式包括表格或文本格式。
其中,作业信息包括作业的名称、所占内存资源量以及当前执行状态。
其中,第一阈值是历史作业所占内存资源的平均值。
其中,判断模块具体用于判断当前是否存在所占map个数大于第一阈值的作业;发送模块用于当存在所占map个数大于第一阈值的作业时,将作业的作业信息发送至监控对象。
为解决上述技术问题,本申请采用的第三个技术方案是:提供一种作业监测终端,作业监测终端包括:相互耦接的处理器和通信电路,处理器在工作时配合通信电路实现上述任一项的作业监测方法。
为解决上述技术问题,本申请采用的第四个技术方案是:提供一种计算机存储介质,计算机存储介质上存储有程序数据,程序数据被处理器执行时实现上述任一项的作业监测方法。
相对于现有技术,本申请的有益效果是:本申请中,首先判断当前是否存在所占内存资源超过第一阈值的作业,该第一阈值小于内存资源总量的最大阈值,并在检测到存在时,将该作业的作业信息发送至监控对象。此种方式能够对可能出现异常的作业提前进入预警状态,避免在作业执行失败或影响其他作业执行导致重大事故后才发现,可有效降低重大事故出现的概率。且通过该方式,在低人力成本的前提下,实现对作业的实时监控,保证作业监控的稳定性和可持续性。
附图说明
图1是本申请作业监测方法一实施方式的流程示意图;
图2是本申请作业监测方法另一实施方式的流程示意图;
图3是本申请将作业的作业信息发送至监测对象的步骤一实施方式的细化流程示意图;
图4是本申请作业监测装置一实施方式的结构示意图;
图5是本申请作业监测终端一实施方式的结构示意图;
图6是本申请计算机存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
如图1所示,图1是本申请作业监测方法一实施方式的流程示意图。本实施方法的作业监测方法包括如下步骤:
步骤101:判断当前是否存在所占内存资源超过第一阈值的作业;其中,第一阈值小于内存资源总量的最大阈值。
终端或服务器在执行作业时,为了保证多个作业都能正常执行,对每个作业所占内存资源进行监测。
其中,该终端包括电脑、智能终端、pc机等设备。
在一个具体实施例中,终端或服务器是对大数据平台中执行的作业的资源进行监测。
具体地,终端或服务器获取正在执行的作业的作业信息,如通过调用作业信息采集程序从大数据平台clouderamanager中的yarn中实时采集当前正在执行的作业的作业信息。该作业信息包括该作业的名称,以及所占内存资源量以及当前执行状态,如在hadoop软件平台下,所占内存资源量可通过map数来表示。
为了避免作业出现事故,以提前做好预警,本实施方式中,在获取到当前执行的作业的作业信息后,判断是否存在所占内存资源超过第一阈值的作业。
其中,该第一阈值小于内存资源总量的最大阈值。该最大阈值为终端或服务器设置的单个作业所占内存资源不能超过的最大量,超过该最大阈值可能造成其他作业无法正常运行或延迟。如内存资源总量为1000m,该内存储资源总量的最大阈值为7000m或8000m。
第一阈值可根据实际经验自行设置,在一个优选的实施方式中,该第一阈值为历史作业所占内存资源的平均值,如200m。当前执行的作业数量较多时,该第一阈值也可以为当前各个作业做占内存资源的平均值,在此不做限定。
在hadoop软件平台下,所占内存资源量通过map数表示时,终端或服务器判断当前的作业所占的map数是否存在超过第一阈值的map数量,如20个map或30个map。
步骤102:如果存在所占内存资源超过第一阈值的作业,将所述作业的作业信息发送至监控对象。
通过上述筛选后,如果当前正在执行的作业中存在内存资源超过第一阈值的作业,则将该所占内存资源超过第一阈值的作业的作业信息发送至监测对象,以提醒监测对象对该作业进行监测。在未出现真正异常或事故之前,实现预警提醒。通过该监测对象进一步判断上述作业是否是异常作业,如果是异常作业,对该异常作业进行重启或关闭等操作,以避免影响其他正常作业的执行。
其中,终端或服务器可通过邮件、短信或其他社交平台将该上述作业信息发送至监测对象。该监测对象可以为相关工作人员。
通过上述方式,在监测到所占内存资源超过小于最大阈值的第一阈值的作业时,将该作业的作业信息发送至监测对象,这样能够对可能出现异常的作业提前进入预警状态,避免在作业执行失败或影响其他作业执行导致重大事故后才发现,可有效降低重大事故出现的概率。且通过该方式,在低人力成本的前提下,实现作业的实时监控,保证作业监控的稳定性和可持续性。
在作业执行时,有时会出现短暂的异常,如所占的内存资源忽然剧增,但是稍后就恢复了正常,这种情况下短暂的异常并不会对该作业或其他作业造成实质性的影响,但是终端或服务器仍然会将该异常筛选出来。为了避免对这种的偶然的异常作业进行处理造成的处理器资源浪费,节省人力成本,如图2所示,图2是本申请作业监测方法另一实施方式的流程示意图,在步骤201:判断当前是否存在所占内存资源超过第一阈值的作业之后,执行步骤202。
步骤202:如果存在所占内存资源超过第一阈值的作业,判断所述作业所占内存资源超过所述第一阈值的持续时间是否超过阈值时间。
其中,该阈值时间可以根据经验自行设置,如20秒。也可以根据历史偶然出现的异常作业的异常时间的平均值来设定,在此不做限定。
步骤203:如果超过阈值时间,将所述作业的作业信息发送至监控对象。
在确定作业所占内存资源大于第一阈值且该异常情况的持续时间超过该阈值时间,将该作业的作业信息发送至监控对象进行异常检测。
通过上述方式,能够有效避免对由于网络等其他突发情况造成的偶然的作业异常的筛选,节省终端或服务器的工作量,也减少了监测对象的工作量。
在实际操作过程中,有时候为了操作方便或执行作业的平台不同,终端或服务器获取到的作业信息的格式可能多种多样,如json格式或列表格式,这些格式对于一般监测对象来说观看起来并不是很直观。为了使监测对象能够更加清晰直观的获知可能出现异常的作业,图3为本申请将作业信息发送至监测对象的步骤一实施方式的细化流程图。
如图3所示包括如下步骤:
步骤301:判断所述作业信息的格式是否与预设格式相同。
终端或服务器获取到需要发送给检测对象的作业信息后,进一步判断该作业信息的格式是否与预设格式相同。该预设格式可以为表格格式,如excel格式,也可以为文本格式,在此不做限定。
步骤302:如果所述作业信息的格式与预设格式不同,将作业信息的格式转换成预设格式。
步骤303:将转换格式后的所述作业信息发送至所述监控对象。
如表1所示,表1为作业信息一实施方式的示意表。
本实施方式的作业信息包括可能出现异常的作业的编号jobid,异常的提交时间、异常的开始时间、持续时间、作业名称job名、以及所占map数,在其他实施方式中,还可以包括结束时间、状态等。
表1
通过上述方式,能够将不同平台不同格式的作业信息转换成通用的预设格式的信息,使监测人员更加直观一目了然的获知可能出现异常的作业的作业信息。
区别于现有技术,本实施方式中,首先判断当前是否存在所占内存资源超过第一阈值的作业,该第一阈值小于内存资源总量的最大阈值,并在检测到存在时,将该作业的作业信息发送至监控对象。能够对可能出现异常的作业提前进入预警状态,避免在作业执行失败或影响其他作业执行导致重大事故后才发现,可有效降低重大事故出现的概率。且通过该方式,在低人力成本的前提下,实现作业的实时监控,保证作业监控的稳定性和可持续性。
另外,在获取到存在所占内存资源超过第一阈值的作业后,进一步地对持续时间进行判断,如果该持续时间超过阈值时间,再将该作业的作业信息发送至监测对象。通过上述方式,能够有效避免对由于网络等其他突发情况造成的偶然的作业异常的筛选,节省终端或服务器的工作量,也减少了监测对象的工作量。
参阅图4,图4是本申请作业监测装置一实施方式的结构示意图。
本实施方式的作业监测装置包括判断模块401和发送模块402。
判断模块401用于判断当前是否存在所占内存资源超过第一阈值的作业;其中,第一阈值小于内存资源总量的最大阈值。
在本实施方式中,作业监测装置对终端的大数据平台资源进行监测。
具体地,判断模块401获取正在执行的作业的作业信息,如通过调用作业信息采集程序从大数据平台clouderamanager中的yarn中实时采集当前正在执行的作业的作业信息。该作业信息包括该作业的名称,以及所占内存资源量以及当前执行状态,如在hadoop软件平台下,所占内存资源量可通过map数来表示。
进一步地,判断模块401为了避免作业出现事故,提前做好预警,在获取到当前执行的作业的作业信息后,判断是否存在所占内存资源超过第一阈值的作业。
其中,该第一阈值小于内存资源总量的最大阈值。其中,该最大阈值为终端或服务器设置的单个作业所占内存资源不能超过的最大量,超过该最大阈值可能造成其他作业无法正常运行或延迟。
第一阈值可根据实际经验自行设置,在一个优选的实施方式中,该第一阈值为历史作业所占内存资源的平均值,当前执行的作业数量较多时,该第一阈值也可以为当前各个作业所占内存资源的平均值,在此不做限定。
发送模块402用于当存在所占内存资源超过所述第一阈值的作业时,将所述作业的作业信息发送至监控对象。
通过判断模块401的上述筛选后,如果当前正在执行的作业中存在内存资源超过第一阈值的作业,发送模块则将该所占内存资源超过第一阈值的作业的作业信息发送至监测对象,以提醒监测对象对该作业进行监测。
其中,发送模块402可通过邮件、短信或其他社交平台将该上述作业信息发送至监测对象。该监测对象可以为相关工作人员。
通过上述方式,判断模块401在监测到所占内存资源超过小于最大阈值的第一阈值的作业时,发送模块402将该作业的作业信息发送至监测对象,这样能够对可能出现异常的作业提前进入预警状态,避免在作业执行失败或影响其他作业执行导致重大事故后才发现,可有效降低重大事故出现的概率。且通过该方式,在低人力成本的前提下,实现作业的实时监控,保证作业监控的稳定性和可持续性。
在另一个实施方式中,为了避免对这种的偶然的异常的处理造成的处理器资源浪费,节省人力成本,判断模块401在检测到存在所占内存资源超过第一阈值的作业时,还用于判断该作业所占内存资源超过所述第一阈值的持续时间是否超过阈值时间。如果超过阈值时间,将作业的作业信息发送至监控对象。
其中,该阈值时间可以根据经验自行设置,如20秒。也可以根据历史偶然出现的异常作业的异常时间的平均值来设定,在此不做限定。
通过上述方式,能够有效避免对由于网络等其他突发情况造成的偶然的作业异常的筛选,节省终端或服务器的工作量,也减少了监测对象的工作量。
进一步地,为了使监测对象能够更加清晰直观的获知可能出现异常的作业,判断模块401获取到需要发送给检测对象的作业信息后,进一步判断该作业信息的格式是否与预设格式相同。该预设格式可以为表格格式,如excel格式,也可以为文本格式,在此不做限定。如果所作业信息的格式与预设格式不同,将作业信息的格式转换成预设格式。发送模块402将转换格式后的作业信息发送至监控对象。
通过上述方式,能够将不同平台不同格式的作业信息转换成通用的预设格式的信息,使监测人员更加直观一目了然的获知可能出现异常的作业的作业信息。
参阅图5,图5是本申请作业监测终端一实施方式的结构示意图。本实施方式的获取终端50包括相互耦接的处理器501和通信电路502。该通信电路502用于与其他设备或监测对象配合完成通信。
其中,该终端50包括pc机、平板电脑以及智能手机等的智能设备。
处理器501用于判断当前是否存在所占内存资源超过第一阈值的作业;其中,所述第一阈值小于内存资源总量的最大阈值。
其中,该处理器501是对大数据平台中执行的作业的资源进行监测。
具体地,处理器501获取正在执行的作业的作业信息,如通过调用作业信息采集程序从大数据平台clouderamanager中的yarn中实时采集当前正在执行的作业的作业信息。该作业信息包括该作业的名称,以及所占内存资源量以及当前执行状态,如在hadoop软件平台下,所占内存资源量可通过map数来表示。
为了避免作业出现事故,提前做好预警,本实施方式中,处理器501在获取到当前执行的作业的作业信息后,判断是否存在所占内存资源超过第一阈值的作业。
其中,该第一阈值小于内存资源总量的最大阈值。其中,该最大阈值为处理器501设置的单个作业所占内存资源不能超过的最大量,超过该最大阈值可能造成其他作业无法正常运行或延迟。
第一阈值可根据实际经验自行设置,在一个优选的实施方式中,该第一阈值为历史作业所占内存资源的平均值,如200m。当前执行的作业数量较多时,该第一阈值也可以为当前各个作业做占内存资源的平均值,在此不做限定。
通信电路502用于当存在所占内存资源超过所述第一阈值的作业时,将所述作业的作业信息发送至监控对象。
其中,通信电路502可通过邮件、短信或其他社交平台将该上述作业信息发送至监测对象。该监测对象可以为相关工作人员。
通过上述方式,处理器501在监测到所占内存资源超过小于最大阈值的第一阈值的作业时,将该作业的作业信息发送至监测对象,这样能够对可能出现异常的作业提前进入预警状态,避免在作业执行失败或影响其他作业执行导致重大事故后才发现,可有效降低重大事故出现的概率。且通过该方式,在低人力成本的前提下,实现作业的实时监控,保证作业监控的稳定性和可持续性。
为了避免对这种的偶然的异常的处理造成的处理器资源浪费,节省人力成本,处理器501监测到存在所占内存资源超过第一阈值的作业后,进一步判断该作业所占内存资源超过第一阈值的持续时间是否超过阈值时间。通信电路502在持续时间超过阈值时间时,将所述作业的作业信息发送至监控对象。
通过上述方式,能够有效避免对由于网络等其他突发情况造成的偶然的作业异常的筛选,节省终端或服务器的工作量,也减少了监测对象的工作量。
在另一个实施方式中,为了使监测对象能够更加清晰直观的获知可能出现异常的作业,处理器501在获取到需要发送给检测对象的作业信息后,进一步判断该作业信息的格式是否与预设格式相同。该预设格式可以为表格格式,如excel格式,也可以为文本格式,在此不做限定。如果所述作业信息的格式与预设格式不同,处理器501将所述作业信息的格式转换成所述预设格式。通信电路502将转换格式后的所述作业信息发送至所述监控对象。
通过上述方式,能够将不同平台不同格式的作业信息转换成通用的预设格式的信息,使监测人员更加直观一目了然的获知可能出现异常的作业的作业信息。
请参阅图6,本申请还提供一种计算机存储介质一实施方式的结构示意图。本实施例中,该计算机存储介质60存储有处理器可运行的程序数据61,该程序数据61用于执行上述实施例中的方法。
该计算机存储介质60具体可以为u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等可以存储程序数据61的介质,或者也可以为存储有该程序数据61的服务器,该服务器可将存储的程序数据61发送给其他设备运行,或者也可以自运行该存储的程序数据61。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。