具体实施方式
为使本文件的目的、技术方案和优点更加清楚,下面将结合本文件具体实施例及相应的附图对本文件技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本文件一部分实施例,而不是全部的实施例。基于本文件中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文件保护的范围。
为了对数据仓库中的任务链路进行监控管理,本说明书实施例提供了一种任务管理方法、装置、电子设备及存储介质,该方法、装置、电子设备及存储介质可在数据仓库的任务链路中的任务节点执行发生异常时,针对异常的情形采用相应的应急措施。
首先,为了更直观地理解本说明书实施例提供的方案,下面结合图1,对本说明书实施例提供的任务管理方案的系统架构进行说明。
如图1所示,是本说明书一个或多个实施例提供的任务管理方法、装置、电子设备及存储介质的应用环境示意图。如图1所示,服务端100通过网络300与一个或多个用户端200通信连接,以进行数据通信或交互。所述服务端100可以是网络服务器、数据库服务器等。所述用户端200可以是,但不限于个人电脑、智能手机、平板电脑、膝上型便携计算机、车载电脑、个人数字助理等。所述网络300可以是有线或无线网络。
下面将对本说明书实施例提供的任务管理方法进行详细说明。
本说明书实施例提供的任务管理方法可应用于服务端100,为了便于描述,除特别说明外,本说明书实施例均以服务端100为执行主体进行说明。
可以理解,所述执行主体并不构成对本说明书实施例的限定。
具体的,该任务管理方法的流程如图2所示,可以包括如下步骤:
步骤S201,当目标任务链路被执行时,监控目标任务链路的执行情况。
本说明书实施例中,任务链路是服务端100的离线数仓中的一系列任务,它们不是独立的个体,而是相互之间存在依赖关系,前置任务完成后,后续的任务才能开始执行,多个相互依赖的任务和他们之间的关系就构成了任务链路。为方便说明,本说明书实施例中将离线数仓中被监控的任务链路称之为目标任务链路。
目标任务链路被执行,可以是指目标任务链路中的一个或多个任务节点被执行。当目标任务链路中的其中一个或多个任务节点被执行时,监控该目标任务链路中被执行的任务节点的执行情况。
对于目标任务链路中的任务节点未被执行期间,由于任务节点的执行情况未发生改变,因此可以不用监控目标任务链路的执行情况。
步骤S203,确定目标任务链路中存在异常的目标节点。
本说明书一个或多个实施例中,存在异常可以是指当前被执行的任务节点在执行时发生了延迟。例如对于任务节点需要在既定的时间点前完成的,如果没能在相应的时间点前完成,那么就可以称该任务节点发生了延迟。
本说明书一个或多个实施例中,存在异常也可以是指当前被执行的任务节点在执行时,任务节点的数据异常,即数据处理发生了逻辑错误。例如,任务节点中的某一列或多列数据的运算逻辑由原来的和运算变成了乘积运算,或任务节点中的某一列或多列数据的运算逻辑由原来的求并运算变成了求交运算等等。
当目标任务链路中的其中一个任务节点被执行时,可以根据该任务节点执行时是否发生了延迟或数据处理的逻辑错误,确定出目标任务链路中被执行的任务节点发生了异常,若被执行的任务节点发生了异常,则该被执行的任务节点为目标任务链路中存在异常的目标节点。
步骤S205,基于目标节点的异常状态,对目标节点的下游节点中与异常状态关联的任务节点进行与异常状态匹配的异常处理策略。
若目标节点异常是指当前被执行的任务节点发生了延迟,则基于目标节点的异常状态,对目标节点的下游节点中与异常状态关联的任务节点进行与异常状态匹配的异常处理策略,可以包括如下步骤:
首先,对目标节点的下游节点进行延迟评估。
所述目标节点的下游节点是在目标节点后,且需要依赖目标节点完成后才能够执行的节点。在对目标节点的下游节点进行延迟评估时,可根据目标任务链路中目标节点到其下游节点的时间进行评估。
其中,目标任务链路中目标节点到其下游节点的时间,可以根据目标任务链路中目标节点到其下游节点的历史平均运行时长确定;也可以根据目标任务链路中目标节点到其下游节点的历史运行时间取中间值确定;还可以根据目标任务链路中目标节点到其下游节点的历史运行时间的数学期望值确定等。
然后,当延迟评估的结果为目标节点的下游节点会发生延迟时,对会发生延迟的下游节点进行告警。
具体的,在进行告警时,可向会发生延迟的下游节点所对应的管理用户发送告警信息。
所述管理用户可以是指需要消费该会发生延迟的下游节点所产出的数据的用户,用户可以通过登陆用户端200访问服务端100以消费该下游节点被执行后产出的数据。
所述告警信息可以是,但不限于邮件、短信、语音信息、即时信息等。
本说明书实施例中,若目标节点异常是指当前被执行的任务节点数据异常,则基于目标节点的异常状态,对目标节点的下游节点中与异常状态关联的任务节点进行与异常状态匹配的异常处理策略,可以包括如下步骤:
首先,解析目标任务链路中任务节点的运算逻辑。根据运算逻辑,确定出目标节点的下游节点中与异常的数据关联的任务节点。
任务节点的运算逻辑可以是指任务节点中数据的运算逻辑。例如,目标节点中的某一列数据的运算逻辑异常,其下游节点中的部分任务节点可能直接或间接依赖于该异常的数据的运算处理结果,则目标节点的下游节点中,需要直接或间接依赖该异常的数据的运算处理结果的任务节点,与该异常的数据关联。
上述所述的间接依赖该异常数据是指,任务节点的数据是依据该异常数据产出的数据进行逻辑运算得到的。
然后,对目标节点的下游节点中与异常的数据关联的任务节点进行告警。
具体的,在进行告警时,可向与异常的数据关联的任务节点所对应的管理用户发送告警信息。所述告警信息可以是,但不限于邮件、短信、语音信息、即时信息等。
本说明书一个或多个实施例中,在确定出目标节点的下游节点中与异常的数据关联的任务节点后,也可以停止目标节点的下游节点中与异常的数据关联的任务节点。如此,避免后续更多的任务节点处理异常,防止脏数据的累积。
本说明书实施例提供的技术方案,通过在目标任务链路被执行时,监控目标任务链路的执行情况,并根据目标任务链路中异常目标节点的异常状态,对下游节点中会受到影响的任务节点采取与该异常状态匹配的异常处理策略,从而可实现针对不同异常情况采取相应的处理措施,提升事故处置的应急效率,提高判断的准确性,避免用户消费已产出的数据错误,防止脏数据的累积,降低节点异常对业务带来的影响。
为了便于理解本申请实施例提供的整个技术方案,下面将分别以目标任务节点发生延迟和目标任务节点的数据异常为例进行举例说明。
请参阅图3,是本说明书一个实施例提供的任务管理方法的流程示意图,本实施例以目标任务节点发生延迟为例进行举例说明,任务管理方法可以包括如下步骤:
步骤S301,初始化目标任务链路中任务节点的关键瓶颈路径。
本说明书实施例中,关键瓶颈路径为对执行所述任务节点影响最大的路径。
对执行任务节点的影响可以是时间上的影响,如图4所示,是一目标任务链路的结构示意图,该目标任务链路中包括任务节点A、B、C、D、E、F、G及H,其中任务节点A、H、D等需要任务节点F完成后才能够执行,因此任务节点A、H、D均是任务节点F的下游节点。同理,任务节点A是任务节点B、C、D、E、F、G等的下游节点。
针对任务节点A,任务节点A的执行需要依赖任务节点B、C、D、E、F、G的执行并构成3条路径G-F-D、G-E-C以及G-E-C-B,只有这3条路径中的任务节点均完成后才能执行任务节点A。其中正常情况下任务节点G执行到任务节点E执行的时间为2.5小时,任务节点G执行到任务节点F执行的时间为1小时,任务节点F执行到任务节点D执行的时间为4小时,任务节点E执行到任务节点C执行的时间为1小时,任务节点C执行到任务节点B执行的时间为1小时。
那么正常情况下路径G-F-D的时间为5小时,路径G-E-C的时间为3.5小时,路径G-E-C-B的时间为4.5小时。由于路径G-F-D的执行时间最长,即路径G-F-D对执行任务节点A的时间长短影响最大,因此任务节点A的关键瓶颈路径为路径G-F-D。对应任务节点H、B、C、D、E、F等,由于其对应的路径只有一条,则其关键瓶颈路径可以是其对应的唯一一条路径。
本说明书一个或多个实施例中,从任务节点执行到其下一个任务节点执行的时间,可根据该任务节点到其下一个任务节点的历史平均运行时长确定;也可以根据该任务节点到其下一个任务节点的历史运行时间取中间值确定;还可以根据该任务节点到其下一个任务节点的历史运行时间的数学期望值确定等。
步骤S303,当目标任务链路被执行时,监控目标任务链路的执行情况。
步骤S305,确定目标任务链路中存在异常的目标节点。
步骤S307,当目标节点发生延迟时,对目标节点的下游节点进行延迟评估。
如图4所示,若目标节点为任务节点E,正常情况下任务节点G执行后到任务节点E执行的时间为2.5小时,若任务节点E执行的时间晚了1小时,即目标节点发生了延迟,延迟时间为1小时,那么正常情况下G-E-C-B这条路径的执行时间就从原来的4.5小时变成了5.5小时,综合考虑3条路径G-F-D、G-E-C以及G-E-C-B的执行时间,则即完成任务节点A可能需要延迟0.5小时。
同样的,完成任务节点C、B可能需要延迟1小时。因此对于目标节点E,其下游节点A、B、C均可能会发生延迟。延迟评估的结果为目标节点E的下游节点A、B、C均可能会发生延迟。
步骤S309,当延迟评估的结果为目标节点的下游节点会发生延迟时,对会发生延迟的下游节点进行告警。
步骤S311,更新会发生延迟的下游节点的关键瓶颈路径。
本说明书一个或多个实施例中,关键瓶颈路径可以根据任务的预估处理时长来更新下游节点的关键瓶颈路径,所述预估处理时长可根据任务节点间的历史平均运行时长确定,也可以根据任务节点间的历史运行时间取中间值确定;还可以根据任务节点间的历史运行时间的数学期望值确定等。
可以理解的,对于仅有一条路径的任务节点,由于无论是否更新其关键瓶颈路径,其执行的路径始终是原来的那条路径,因此其关键瓶颈路径也可以不进行更新,例如当目标节点E发生延迟时,其下游的任务节点B、C可以不更新关键瓶颈路径。
对于有多条路径的任务节点,则可以根据其多条路径的时间来重新更新其关键瓶颈路径。如任务节点A,由于目标节点E延迟了1小时,此时路径G-E-C-B的执行时间变最长,则对于任务节点A,其更新后的关键瓶颈路径为路径G-E-C-B。
可以理解的,本说明书实施例中步骤S309与步骤S311的顺序并不限定。
本说明书实施例提供的技术方案,通过在目标任务链路被执行时,监控目标任务链路的执行情况,当目标节点发生延迟时对目标节点的下游节点进行延迟评估,并对评估结果会发生延迟的下游节点进行告警,同时更新会发生延迟的下游节点的关键瓶颈路径,如此在发生延迟时可对可能受影响的下游节点进行告警,提升事故处置的应急效率,避免用户消费已产出的数据错误,防止脏数据的累积,降低节点异常对业务带来的影响。同时,由于在评估后对可能受影响的下游节点进行关键瓶颈路径更新,避免后续过程中再次发生延迟时出现误报警的情况,同时提高判断的准确性。
请参阅图5,是本说明书一个实施例提供的任务管理方法的流程示意图,本实施例以目标任务节点的数据异常为例进行举例说明,任务管理方法可以包括如下步骤:
步骤S501,当目标任务链路被执行时,监控目标任务链路的执行情况。
步骤S503,确定目标任务链路中存在异常的目标节点。
步骤S505,当目标节点的数据异常时,解析目标任务链路中任务节点的运算逻辑,并根据运算逻辑确定出目标节点的下游节点中与异常的数据关联的任务节点。
本说明书一个或多个实施例中,若目标节点的数据异常,即目标节点的数据的运算逻辑出现错误,则解析目标任务链路中任务节点的运算逻辑,并根据解析出的运算逻辑确定出目标节点的下游节点中与该异常的数据关联的任务节点。
本说明书一个或多个实施例中,若目标节点的数据异常,则在解析任务节点的运算逻辑时,也可以只针对目标任务链路中的目标节点的下游节点进行运算逻辑解析,如此可进一步降低数据运算量,提升任务节点的运算逻辑的解析速度。
如图6所示,是一目标任务链路的示意图,该目标任务链路中包括任务节点A、B、C、D、E、F以及G,其中任务节点A、H、D均是任务节点F的下游节点。且任务节点F中包括数据Fx和Fy,任务节点D中的数据Dx依赖于任务节点F中的数据Fx,任务节点D中的数据Dy依赖于任务节点F中的数据Fy,任务节点A中的数据Ax依赖于数据节点D中的数据Dx,数据节点H中的数据Hy依赖于数据节点D中的数据Dy。
当任务节点F为目标节点时,如果任务节点F中的数据Fx的运算逻辑出现错误,由于任务节点D中的数据Dx依赖于任务节点F中的数据Fx,任务节点A中的数据Ax依赖于任务节点D中的数据Dx。
由于当任务节点F中的数据Fx的运算逻辑出现错误时,其下游节点D和A在执行时也对受到异常数据Fx的影响,因此目标节点F的下游节点D和A为与异常的数据Fx关联的任务节点。而任务节点H虽然是目标节点F的下游节点,但任务节点H所间接依赖的数据为数据Fy,与数据Fx无关联关系,因此任务节点H与异常的数据Fx不关联。
步骤S507,向与异常的数据关联的任务节点所对应的管理用户发送告警信息。
在确定出目标节点的下游节点中与异常的数据关联的任务节点后,则可向与异常的数据关联的任务节点所对应的管理用户发送告警信息。
如上所述,若目标节点F中的数据Fx的运算逻辑出现错误,则向与异常的数据Fx关联的下游节点D和A所对应的管理用户发送告警信息,以告知任务节点D和A所对应的管理用户,停止消费已产出的数据错误,防止脏数据的累积,降低对业务带来的影响。
所述告警信息可以是,但不限于邮件、短信、语音信息、即时信息等。
本说明书实施例提供的技术方案,通过在目标任务链路被执行时,监控目标任务链路的执行情况,当目标节点的数据异常时,根据目标任务链路中任务节点的运算逻辑确定出与异常的数据关联的任务节点,并向与异常的数据关联的任务节点所对应的管理用户发送告警信息,以告知任务节点D和A所对应的管理用户,如此可提升事故处置的应急效率,避免用户消费已产出的数据错误,防止脏数据的累积,降低异常数据对业务带来的影响。
请参阅图7,是本说明书一个实施例提供的任务管理方法的流程示意图,本实施例以目标任务节点的数据异常为例进行举例说明,任务管理方法可以包括如下步骤:
步骤S701,当目标任务链路被执行时,监控目标任务链路的执行情况。
步骤S703,确定目标任务链路中存在异常的目标节点。
步骤S705,当目标节点的数据异常时,解析目标任务链路中任务节点的运算逻辑,并根据运算逻辑确定出目标节点的下游节点中与异常的数据关联的任务节点。
步骤S707,停止目标节点的下游节点中与异常的数据关联的任务节点。
本说明书的一个或多个实施例中,在确定出目标节点的下游节点中与异常的数据关联的任务节点后,也可也直接停止目标节点的下游节点中与异常的数据关联的任务节点的执行。以便下游节点停止消费已产出的数据错误,防止脏数据的累积,降低数据异常对业务带来的影响。
本说明书实施例提供的技术方案,通过在目标任务链路被执行时,监控目标任务链路的执行情况,当目标节点的数据异常时,根据目标任务链路中任务节点的运算逻辑确定出与异常的数据关联的任务节点,停止目标节点的下游节点中与异常的数据关联的任务节点的执行,如此可提升事故处置的应急效率,避免用户消费已产出的数据错误,防止脏数据的累积,降低数据异常对业务带来的影响。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图8是本说明书的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成任务管理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
当目标任务链路被执行时,监控所述目标任务链路的执行情况;
确定所述目标任务链路中存在异常的目标节点;
基于所述目标节点的异常状态,对所述目标节点的下游节点中与所述异常状态关联的任务节点进行与所述异常状态匹配的异常处理策略。
上述如本说明书图8所示实施例揭示的任务管理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field -Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2、图3、图5及图7的方法,并实现任务管理装置在图2、图3、图5及图7所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2、图3、图5及图7所示实施例的方法,并具体用于执行以下操作:
当目标任务链路被执行时,监控所述目标任务链路的执行情况;
确定所述目标任务链路中存在异常的目标节点;
基于所述目标节点的异常状态,对所述目标节点的下游节点中与所述异常状态关联的任务节点进行与所述异常状态匹配的异常处理策略。
图9是本说明书的一个实施例任务管理装置900的结构示意图。请参考图9,在一种软件实施方式中,任务管理装置900可包括:
监控模块901,当目标任务链路被执行时,监控所述目标任务链路的执行情况;
确定模块903,确定所述目标任务链路中存在异常的目标节点;
处理模块905,基于所述目标节点的异常状态,对所述目标节点的下游节点中与所述异常状态关联的任务节点进行与所述异常状态匹配的异常处理策略。
本说明书一个或多个实施例中,处理模块905,可以用于当目标节点发生延迟时,对目标节点的下游节点进行延迟评估。并当延迟评估的结果为目标节点的下游节点会发生延迟时,对会发生延迟的下游节点进行告警。
其中,处理模块905具体用于向会发生延迟的下游节点所对应的管理用户发送告警信息。
任务管理装置900还可以包括:
初始化模块,可以用于初始化所述目标任务链路中任务节点的关键瓶颈路径,所述关键瓶颈路径为对执行所述任务节点影响最大的路径。
其中,初始化模块具体可以用于根据历史运行数据初始化所述目标任务链路中任务节点的关键瓶颈路径,历史运行数据包括目标任务链路中任务节点的历史平均运行时长。
更新模块,可以用于更新所述会发生延迟的下游节点的关键瓶颈路径。
其中,更新模块具体可以用于根据任务的预估处理时长更新所述会发生延迟的下游节点的关键瓶颈路径。
本说明书一个或多个实施例中,处理模块905,还可以用于当目标节点的数据异常时,对目标节点的下游节点中与异常的数据关联的任务节点进行告警。
其中,处理模块905具体可以用于向与异常的数据关联的任务节点所对应的管理用户发送告警信息。
任务管理装置900还可以包括:
解析模块,具体可以用于解析所述目标任务链路中任务节点的运算逻辑。
确定模块903还可以用于根据所述运算逻辑,确定出所述目标节点的下游节点中与异常的数据关联的任务节点。
本说明书一个或多个实施例中,处理模块905,还可以用于当目标节点的数据异常时,停止目标节点的下游节点中与异常的数据关联的任务节点的执行。
采用上述装置,当目标任务链路中存在异常的目标节点时,可对下游节点中会受到影响的任务节点采取与该异常状态匹配的异常处理策略,从而可实现针对不同异常情况采取相应的处理措施,提升事故处置的应急效率,提高判断的准确性,避免用户消费已产出的数据错误,防止脏数据的累积,降低节点异常对业务带来的影响。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
总之,以上所述仅为本文件的较佳实施例而已,并非用于限定本文件的保护范围。凡在本文件的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本文件的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本文件中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。