异常监控方法及装置与流程

文档序号:11215503阅读:1110来源:国知局
异常监控方法及装置与流程

本申请涉及通信技术,尤其涉及一种异常监控方法及装置。



背景技术:

在大数据时代,数据被越来越广泛的分析和使用,但是由于数据量之大、收集过程复杂,难免会出现不稳定或错误的情况,特别是在分布式系统中,出错重试更是难以避免。当出现问题时,如果能够及时预警甚至提前预警,会极大的降低数据错误带来的损失。

在任务调度系统中,为便于及时发现异常任务,一般采用任务监控方案。现有技术任务监控方案,基本上都是用户配置繁杂的信息,包括报警触发条件、报警时间、报警对象、报警方式等,基于这些配置信息,对任务运行过程进行监控,当发现符合报警触发条件的任务时,在设定的报警时间,以设定的报警方式向设定的报警对象进行报警。在这种方式中,报警时间是预先配置好的,灵活性较差,容易引起报警不够及时或者非必要的报警,导致报警精度较差。



技术实现要素:

本申请提供一种异常监控方法及装置,用以提高对异常任务报警的灵活性,降低出现报警不及时或非必要报警的几率,提高报警精度。

为达到上述目的,本申请的实施例采用如下技术方案:

第一方面,提供了一种异常监控方法,包括:

根据任务调度系统中预先设定的基准任务,确定所述任务调度系统中的异常任务;

根据预先设定的所述基准任务的基准完成时间,确定重新运行所述异常任务的最晚开始时间;

根据重新运行所述异常任务的最晚开始时间和当前时间,对所述异常任务进行报警处理。

第二方面,提供了一种异常监控装置,包括:

异常任务确定模块,用于根据任务调度系统中预先设定的基准任务,确定所述任务调度系统中的异常任务;

最晚时间确定模块,用于根据预先设定的所述基准任务的基准完成时间,确定重新运行所述异常任务的最晚开始时间;

报警处理模块,用于根据重新运行所述异常任务的最晚开始时间和当前时间,对所述异常任务进行报警处理。

由上述技术方案可知,本申请预先设定任务调度系统中的基准任务及其基准完成时间,在任务调度过程中,根据基准任务确定异常任务,进而根据基准任务的基准完成时间,确定重新运行异常任务的最晚开始时间,根据重新运行异常任务的最晚开始时间和当前时间,对异常任务进行报警处理,而不是像现有技术那样必须在预先配置的报警时间到达时进行报警处理,灵活性较强,有利于降低出现报警不及时或非必要报警的几率,提高了报警精度。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本申请一实施例提供的异常监控方法的流程示意图;

图2为本申请另一实施例提供的任务调度系统中任务依赖关系示意图;

图3为本申请又一实施例提供的任务调度系统中任务依赖关系示意图;

图4为本申请又一实施例提供的异常监控装置的结构示意图;

图5为本申请又一实施例提供的异常监控装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

任务调度系统是指按照事先设定好的方式和时间对一系列的指令或任务进行调度执行的系统。在现有任务调度系统中,为便于及时发现异常任务,一般采用任务监控方案。现有任务监控方案,基本上都是用户配置繁杂的信息,包括报警触发条件、报警时间、报警对象、报警方式等,基于这些配置信息,对任务运行过程进行监控,当发现符合报警触发条件的任务时,在设定的报警时间,以设定的报警方式向设定的报警对象进行报警。在这种方式中,报警时间是预先配置好的,灵活性较差,容易引起报警不够及时或者非必要的报警,导致报警精度较差。

针对上述技术问题,本申请提供一种解决方案,主要原理是:预先配置任务调度系统中的基准任务及其基准完成时间,根据基准任务确定异常任务,根据基准任务的基准完成时间,确定重新运行异常任务的最晚开始时间,进而根据重新运行异常任务的最晚开始时间和当前时间,对异常任务进行报警处理,不再像现有技术那样必须在预先配置的报警时间到达时进行报警处理,灵活性较强,有利于降低出现报警不及时或非必要报警的几率,提高了报警精度。

值得说明的是,本申请提供的技术方案适用于任务调度系统,并且优选适用于数据仓库开发过程中的离线任务调度系统,但不限于此。离线任务调度系统中调度的任务属于离线任务,是相对在线或实时任务而 言的,主要是指不需要立即应用到在线业务系统上,而是在经过一系列的异步处理之后,再将获得的数据回流到在线业务系统中的任务。

本申请以下实施例以离线任务调度系统为例进行说明,但对本领域技术人员来说,在本申请以下实施例给出的技术启示的基础上,很容易将本申请技术方案应用到在线任务调度系统中。

下面结合具体实施方式及附图对本申请技术方案进行详细说明。

图1为本申请一实施例提供的异常监控方法的流程示意图。如图1所示,该方法包括:

101、根据任务调度系统中预先设定的基准任务,确定任务调度系统中的异常任务。

102、根据预先设定的基准任务的基准完成时间,确定重新运行异常任务的最晚开始时间。

103、根据重新运行异常任务的最晚开始时间和当前时间,对异常任务进行报警处理。

本实施例提供一种异常监控方法,可由异常监控装置来执行,用以更加灵活的对异常任务进行报警处理,降低出现报警不及时或非必要报警的几率,提高报警精度。

在任务调度系统中,任务之间有上下游依赖关系,下游任务需要等待上游任务执行完成之后方可执行。其中,任务调度系统中任务之间的依赖关系的一种示例如图2所示。在图2所示的任务调度系统中,包括任务a、任务b、任务c、任务d、任务e以及任务f。任务b和任务c依赖于任务a,任务a是任务b和任务c的上游任务,而任务b和任务c是任务a的下游任务;同理,任务f依赖于任务a和任务c,且任务a和任务c是任务f的上游任务,任务f是任务a和任务c的下游任务;任务d和任务e依赖任务a和任务b,任务a和任务b是任务d和任务e的上游任务,任务d和任务e是任务a和任务b的下游任务。

值得说明的是,在图2所示的上下游任务关系中,包括直接上下游任务和间接上下游任务。例如,任务a是任务b和任务c的直接上游 任务,而任务b和任务c是任务a的直接下游任务,而任务a是任务d、任务e和任务f的间接上游任务,任务d、任务e和任务f是任务a的间接下游任务。在本申请实施例中,并不细分直接上下游任务和间接上下游任务。

由于在任务调度系统中任务之间存在上下游依赖关系,所以本实施例预先设定任务调度系统中的基准任务及其基准完成时间,将基准任务及其基准完成时间作为异常监控的基线,通过该基线完成异常任务监控及报警处理。

其中,基准任务的基准完成时间是指该基准任务的最晚完成时间,也就是说,需要保证基准任务必须在基准完成时间之前完成,否则会带来严重的不利后果,例如可能导致整个任务调度系统报错,或者影响依赖该任务调度系统的在线业务系统的正常运行等。

可选的,可以根据任务调度系统中各个任务的重要程度,确定基准任务,例如将最重程度满足一定条件(例如最重要)的任务作为基准任务。或者,可以根据任务调度系统中各个任务之间的依赖关系,确定基准任务,例如将上游任务数量和下游任务数量均满足一定条件(例如最多或大于指定数量)的任务作为基准任务。如果一个任务的上游任务数量和下游任务数量均较多,说明该任务比较核心,影响面较大,所以有必要保证该任务在最晚完成时间之前完成,因此将其设置为基准任务有利于保证更多任务能够按时运行。

相应的,在确定基准任务之后,可以根据基准任务的应用情况,确定基准任务的基准完成时间。例如,如果在线业务系统需要在每天早上9点调度该基准任务计算出的数据,则可以将基准任务的基准完成时间设置为9点,这意味着该基准任务必须在每天9点之前完成。又例如,如果有关人员需要在每天早上10点查看由基准任务计算出的数据所生成的报表,那么可以将该基准任务的基准完成时间设置为10点,这意味着该基准任务必须在10点之前完成。

在此说明,本实施例不限定基准任务的个数,可以是一个,也可以是多个。另外,在基准任务为多个的情况下,可以为不同基准任务设置 不同的基准完成时间,也可以设置相同的基准完成时间。如图2所示,位于方框中的任务d和任务e被设置为基准任务,这两个基准任务均需要在早上6点之前完成,所以可以为这两个基准任务设置相同的基准完成时间,例如6点。

在设定基准任务及其基准完成时间之后,可以根据基准任务与任务调度系统中其它任务之间的依赖关系,确定任务调度系统中的异常任务。

在一可选实施方式中,异常监控装置可以根据基准任务与任务调度系统中其它任务之间的依赖关系,确定与该基准任务存在依赖关系的任务作为待监控任务;然后,对待监控任务的运行过程进行监控,从而获取待监控任务中运行状态异常的任务作为异常任务。

进一步,与基准任务存在依赖关系的任务包括其上游任务和其下游任务,但直接影响基准任务的开始时间及其完成时间的是基准任务的上游任务,而基准任务的下游任务对基准任务的影响相对较小,因此可以忽略其下游任务。基于此,异常监控装置可以确定任务调度系统中被该基准任务所依赖的任务作为待监控任务,然后,对待监控任务的运行过程进行监控,从而获取待监控任务中运行状态异常的任务作为异常任务。在该实施方式中,待监控任务的数量相对较少,有利于节约监控所消耗的各种资源,提高发现异常任务的效率。另外,在该实施方式中,只需预先设定基准任务,异常监控装置可以根据任务之间的依赖关系反推出该基准任务的所有上游任务,进而自动监控该基准任务的所有上游任务,而不是像现有技术那样需要针对所有的上游任务都配置一遍触发条件、报警时间等,具有配置信息较少而监控范围较广的优势,尤其适用于任务数量较多的任务调度系统。

在上述获取异常任务的过程中,异常任务是指运行状态异常的待监控任务。运行状态异常是相对于运行状态正常而言的。

在一可选实施方式中,可以预先设定表示正常运行状态的正常状态条件。基于此,可以对待监控任务的运行过程进行监控,判断待监控任务的运行状态是否符合正常状态条件;若判断结果为符合,则确定该待监控任务的运行状态正常;若判断结果为不符合,则确定该待监控任务 的运行状态异常,将该待监控任务作为异常任务。或者,

在另一可选实施方式中,可以预先设定表示异常运行状态的异常状态条件。基于此,可以对待监控任务的运行过程进行监控,判断待监控任务的运行状态是否符合异常状态条件;若判断结果为不符合,则确定该待监控任务的运行状态正常;若判断结果为符合,则确定该待监控任务的运行状态异常,将该待监控任务作为异常任务。

当然,在其他可选实施方式中,也可以同时设定表示正常运行状态的正常状态条件和表示异常运行状态的异常状态条件。

进一步可选的,上述异常状态条件包括以下至少一个:

运行出错:表示运行出错的任务属于异常任务;

运行速度变慢:表示运行速度变慢的任务属于异常任务。

基于上述异常状态条件,异常监控装置可以通过以下至少一种操作,来获取异常任务,具体如下:

获取待监控任务中运行出错的任务作为异常任务;以及

获取待监控任务中运行速度变慢的任务作为异常任务。

进一步,可以通过任务的运行时长来确定任务的运行速度是否变慢。具体的,异常监控装置可以获取待监控任务中运行时长满足指定时长条件的任务作为运行速度变慢的任务,即异常任务。

可选的,上述指定时长条件包括但不限于以下至少一个条件:

大于预设时长阈值:表示待监控任务的运行时长需要大于预设时长阈值时才有可能作为运行速度变慢的任务;

比指定时间段内的平均运行时长多出指定比例:表示待监控任务的运行时长需要比指定时间段内的平均运行时长多出指定比例才有可能作为运行速度变慢的任务。

上述时长阈值可以根据应用场景及任务属性等适应性设置,例如可以是1小时、30分钟或2小时等。相应的,上述指定时间段以及指定比例也可以根据应用场景及任务属性等适应性设置,例如上述指定时间段可以是10天、15天或1个月等,上述指定比例可以是30%、20%或15%,甚至可以是一个比例范围,例如15%-30%等。

经过上述操作,可以确定出任务调度系统中的异常任务。所述异常任务是指出现异常的任务,所以需要重新运行,另外,由于基准任务依赖于异常任务,且基准任务必须在基准完成时间之前完成,这决定了异常任务不能随意重新运行,需要在某个最晚时间之前开始,以保证依赖于异常任务的基准任务能够在基准完成时间之前完成。基于此,异常监控装置可以根据预先设定的基准任务的基准完成时间,确定重新运行异常任务的最晚开始时间。

具体的,异常监控装置可以根据基准任务与异常任务之间的依赖关系、基准任务的基准完成时间、基准任务的平均运行时长以及异常任务的平均运行时长进行反推,从而确定重新运行异常任务的最晚开始时间。

举例说明,假设一种任务调度系统包括的任务及任务之间的依赖关系如图3所示,该任务调度系统包括任务a、任务b、任务c、任务d、任务e以及任务f。其中,任务b是任务a的直接下游任务,任务c、任务d和任务e分别是任务b的直接下游任务,任务f是任务e的直接下游任务。另外,在图3所示的任务调度系统中,任务c和任务d被设置为一组基准任务,对应的基准完成时间是6:00,这意味着,任务c和任务d都需要在6:00之前完成;而任务e和任务f被设置为另一组基准任务,对应的基准完成时间是5:00,这意味着,任务e和任务f都需要在5:00前完成。

除上述信息之外,还可以获知各任务的平均运行时间,具体为:任务e的平均运行时长为0.5小时,任务f的平均运行时长为20分钟,任务c的平均运行时长为1.5小时,任务d的平均运行时长为2小时,任务b的平均运行时长为2小时,任务a的平均运行时长为10分钟。

假设监控到任务a为异常任务,则异常监控装置可以根据上述已知信息,从基准任务开始沿着依赖关系向上反推,首先确定异常任务a的下游任务,即任务b的最晚完成时间;然后,根据任务b的最晚完成时间,确定重新运行异常任务a的最晚开始时间。

具体的,对于任务e和任务f,若要任务e和任务f在基准完成时间之前完成,则任务e和任务f的最晚开始时间为:任务e和任务f的 基准完成时间减去任务e和任务f的平均运行时长,即5:00-20分钟-0.5小时=4:10分,任务e和任务f的最晚开始时间也就是根据任务e和任务f计算出的任务b的最晚完成时间,为4:10分;

对于任务c,若要任务c在基准完成时间之前完成,则任务c的最晚开始时间为:任务c的基准完成时间减去任务c的平均运行时长,即6:00-1.5小时=4:30分,任务c的最晚开始时间也就是根据任务c计算出的任务b的最晚完成时间,为4:30分;

对于任务d,若要任务d在基准完成时间之前完成,则任务d的最晚开始时间为:任务d的基准完成时间减去任务d的平均运行时长,即6:00-2小时=4:00,任务d的最晚开始时间也就是根据任务d计算出的任务b的最晚完成时间,为4:00;

由上述可以确定,任务b的最晚完成时间为4:00;

接着,由于任务b需要在4:00之前完成,那么意味着任务b的最晚开始时间应该为:任务b的最晚完成时间减去任务b的平均运行时长,即4:00-2小时=2:00,任务b的最晚开始时间也就是任务a的最晚完成时间;

由于任务a需要在2:00之前完成,那么意味着任务a的最晚开始时间应该为:任务a的最晚完成时间减去任务a的平均运行时长,即2:00-10分钟=1:50。

当然,若知道当前时间,还可以计算出任务a的时间余量,即任务a的最晚开始时间与当前时间的时间差。例如,若当前时间为1小时,则任务a的时间余量为50分钟。

当确定重新运行异常任务的最晚开始时间之后,异常监控装置可以根据该最晚开始时间与当前时间,灵活的对异常任务进行报警处理。

例如,若最晚开始时间距离当前时间较近,则可以立即对异常任务进行报警处理,以便能够及时对异常任务进行处理;若最晚开始时间距离当前时间较远,则可以晚一点对异常任务进行报警处理,以便在合理时间进行报警,降低报警对用户的打扰,减少非必要的报警。

对异常任务进行报警处理的关键是确定异常报警时间。其中,异常 监控装置主要依据重新运行异常任务的最晚开始时间和当前时间,确定异常报警时间,然后在异常报警时间到达时,对异常任务进行报警处理。

其中,重新运行异常任务的最晚开始时间和当前时间是影响异常报警时间的主要因素,当然还包括一些其它因素,例如需要及时报警的时间段以及异常任务的异常类型等。对于一些应用场景,可以预先指定需要及时报警的时间范围,简称为指定时间范围。指定时间范围可以是工作时间,如9:00--20:00。

基于上述,异常监控装置可以判断当前时间是否处于指定时间范围内,若判断结果为是,即当前时间处于指定时间范围内,则将当前时间作为异常报警时间,在异常报警时间到达时,对异常任务进行报警处理,也就是立即对异常任务进行报警处理;若判断结果为否,即当前时间未处于指定时间范围内,则可以根据异常任务的异常类型以及重新运行异常任务的最晚开始时间,确定异常报警时间,在异常报警时间到达时,对异常任务进行报警处理。

可选的,以异常任务的异常类型包括运行出错和运行速度变慢为例。

若异常任务的异常类型为运行出错,则可以判断重新运行异常任务的最晚开始时间是否晚于预设的第一时间,若判断结果为是,即重新运行异常任务的最晚开始时间晚于预设的第一时间,则设置晚于当前时间但早于第一时间的第二时间作为异常报警时间;若判断结果为否,也就是说重新运行异常任务的最晚开始时间早于或等于预设的第一时间,则设置当前时间作为异常报警时间,即立即对异常任务进行报警处理。其中,在第二时间到达时在进行报警处理,相当于延迟报警,有利于避开用户的休息时间,可以减少对用户的打扰,并且从长远来看相当于拉大了两次报警之间的时间间隔,有利于减少报警次数,节约资源;而将当前时间作为异常报警时间可以及时报警,避免报警不及时带来的问题。

在此说明,本实施例并不限定第一时间和第二指定时间的取值,可以根据应用场景适应性设置。例如,预设的第一时间可以是11:00,相应的,若当前时间为9:00之前,则第二指定时间可以是9:00,但不限于此。

若异常任务的异常类型为运行速度变慢,可以判断重新运行异常任务的最晚开始时间与当前时间的时间差是否大于预设的时差阈值,若判断结果为是,即重新运行异常任务的最晚开始时间与当前时间的时间差大于预设的时差阈值,则设置比重新运行异常任务的最晚开始时间早所述时差阈值的第三时间作为异常报警时间;若判断结果为否,即重新运行异常任务的最晚开始时间与当前时间的时间差小于或等于预设的时差阈值,则设置当前时间作为异常报警时间。其中,将比重新运行异常任务的最晚开始时间早所述时差阈值的第三时间作为异常报警时间,相当于延迟报警,有利于避开用户的休息时间,可以减少对用户的打扰,并且从长远来看相当于拉大了两次报警之间的时间间隔,有利于减少报警次数,节约资源;而将当前时间作为异常报警时间可以及时报警,避免报警不及时带来的问题。

在此说明,本实施例并不限定上述时差阈值的取值,可以根据应用场景适应性设置。例如,时差阈值可以是2小时,但不限于此。

进一步,可以预先设置报警对象和报警方式。所述报警对象主要是指需要对异常任务进行处理的责任人或负责人,例如可以将报警对象配置在值班表中。所述报警方式包括以下至少一种:语音报警、短信报警、邮件报警、报警灯以及即时通讯报警等。基于此,上述对异常任务进行报警处理具体为:根据预先配置的值班表,以配置的报警方式向相应的责任人或负责人进行报警,例如向责任人或负责人的终端设备发短信或邮件,或者对责任人或负责人进行语音提示,等。

由上述可见,异常监控装置根据重新运行异常任务的最晚开始时间和当前时间,可以灵活确定异常报警时间,有利于在合适的时间对异常任务进行报警处理,而不用像现有技术那样必须在预先配置的报警时间到达时进行报警处理,灵活性较强,既可以及时报警又可以减少不必要的报警,有利于降低出现报警不及时或非必要报警的几率,提高了报警精度,是一种智能报警方案。

图4为本申请又一实施例提供的异常监控装置的结构示意图。如图 4所示,该装置包括:异常任务确定模块41、最晚时间确定模块42和报警处理模块43。

异常任务确定模块41,用于根据任务调度系统中预先设定的基准任务,确定任务调度系统中的异常任务。

最晚时间确定模块42,用于根据预先设定的基准任务的基准完成时间,确定重新运行异常任务的最晚开始时间。

报警处理模块43,用于根据重新运行异常任务的最晚开始时间和当前时间,对异常任务进行报警处理。

在一可选实施方式中,如图5所示,异常任务确定模块41的一种实现结构包括:监控任务确定单元411和异常任务获取单元412。

监控任务确定单元411,用于确定任务调度系统中的被基准任务所依赖的任务作为待监控任务;

异常任务获取单元412,用于获取待监控任务中运行状态异常的任务作为异常任务。

进一步,异常任务获取单元412具体用于执行以下至少一种操作:

获取待监控任务中运行出错的任务作为异常任务;

获取待监控任务中运行速度变慢的任务作为异常任务。

更进一步,异常任务获取单元412在获取待监控任务中运行速度变慢的任务作为异常任务时,具体用于:

获取待监控任务中运行时长满足指定时长条件的任务作为异常任务;其中,指定时长条件包括以下至少一个:

大于预设时长阈值;

比指定时间段内的平均运行时长多出指定比例。

在一可选实施方式中,如图5所示,报警处理模块的一种实现结构包括:第一报警处理单元431和第二报警处理单元432。

第一报警处理单元431,用于在当前时间处于指定时间范围内时,立即对异常任务进行报警处理。

第二报警处理单元432,用于在当前时间未处于指定时间范围内时,根据异常任务的异常类型以及重新运行异常任务的最晚开始时间,确定 异常报警时间,在异常报警时间到达时,对异常任务进行报警处理。

进一步,第二报警处理单元432具体用于:

若异常任务的异常类型为运行出错,则在重新运行异常任务的最晚开始时间晚于预设的第一时间时,设置晚于当前时间但早于第一时间的第二时间作为异常报警时间,或者,在重新运行异常任务的最晚开始时间早于或等于第一时间时,设置当前时间作为异常报警时间;

若异常任务的异常类型为运行速度变慢,则在重新运行异常任务的最晚开始时间与当前时间的时间差大于预设的时差阈值时,设置比重新运行异常任务的最晚开始时间早时差阈值的第三时间作为异常报警时间,或者,在重新运行异常任务的最晚开始时间与当前时间的时间差小于或等于时差阈值时,设置当前时间作为异常报警时间。

本实施例提供的异常监控装置,在任务调度过程中,根据预先设定的基准任务确定异常任务,进而根据预先设定的基准任务的基准完成时间,确定重新运行异常任务的最晚开始时间,根据重新运行异常任务的最晚开始时间和当前时间,对异常任务进行报警处理,而不是像现有技术那样必须在预先配置的报警时间到达时进行报警处理,灵活性较强,有利于降低出现报警不及时或非必要报警的几率,提高了报警精度。

另外,采用本实施例提供的异常监控装置,只需预先设定基准任务及其基准完成时间即可,本实施例提供的异常监控装置可以根据基准任务与任务调度系统中其它任务之间的依赖关系反推出该基准任务的所有上游任务,进而自动监控该基准任务的所有上游任务,而不是像现有技术那样需要针对所有的上游任务都配置一遍触发条件、报警时间等,具有配置信息较少而监控范围较广的优势,尤其适用于任务数量较多的任务调度系统。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在运行时,运行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1