发明内容
本申请提供一种流式计算作业处理方法,以可以提高流式计算作业处理的效率和精准度,进而提高用户体验。
第一方面,本申请提供了一种流式计算作业处理方法,所述方法包括:
获取流式计算作业;其中,所述流式计算作业包括若干配置参数;
若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式;
根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;
基于所述调整后的配置参数,执行所述流式计算作业。
可选的,所述若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式,包括:
若所述检测到执行所述流式计算作业过程中的配置参数存在异常情况,将所述配置参数作为目标配置参数;
获取所述目标配置参数对应的预设扩缩容条件;
判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件;
若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,根据所述目标配置参数,确定扩缩容调整方式。
可选的,所述获取流式计算作业,包括:
任务执行服务获取所述流式计算作业;以及,所述任务执行服务执行所述流式计算作业,以及检测执行所述流式计算作业过程中的配置参数。
可选的,所述若检测到执行所述流式计算作业过程中的配置参数存在异常情况,将所述配置参数作为目标配置参数,包括:
若所述任务执行服务检测到执行所述流式计算作业过程中的配置参数存在异常情况,所述任务执行服务将所述配置参数作为目标配置参数推送至时序数据库;
相应地,所述获取所述目标配置参数对应的预设扩缩容条件,包括:
监控服务检测到所述时序数据库包括所述目标配置参数,所述监控服务向扩缩容策略服务发送调取指令;
所述扩缩容策略服务响应于所述调取指令,从所述时序数据库中调取所述目标配置参数以及获取所述目标配置参数对应的预设扩缩容条件;
相应地,所述判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件,包括:
所述扩缩容策略服务判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件;
相应地,所述若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,根据所述目标配置参数,确定扩缩容调整方式,包括:
若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,所述扩缩容策略服务根据所述目标配置参数,确定扩缩容调整方式,并向扩缩容服务发送所述扩缩容调整方式。
可选的,所述根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数,包括:
所述扩缩容服务根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;
所述扩缩容服务向所述任务执行服务发送所述调整后的配置参数。
可选的,所述基于所述调整后的配置参数,执行所述流式计算作业,包括:
所述扩缩容服务基于所述调整后的配置参数,执行所述流式计算作业。
可选的,所述流式计算作业为flink任务。
第二方面,本申请提供了一种流式计算作业处理装置,所述装置包括:
获取单元,用于获取流式计算作业;其中,所述流式计算作业包括若干配置参数;
确定单元,用于若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式;
调整单元,用于根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;
执行单元,用于基于所述调整后的配置参数,执行所述流式计算作业。
可选的,所述确定单元,用于:
若所述检测到执行所述流式计算作业过程中的配置参数存在异常情况,将所述配置参数作为目标配置参数;
获取所述目标配置参数对应的预设扩缩容条件;
判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件;
若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,根据所述目标配置参数,确定扩缩容调整方式。
可选的,所述获取单元,用于:
任务执行服务获取所述流式计算作业;以及,所述任务执行服务执行所述流式计算作业,以及检测执行所述流式计算作业过程中的配置参数。
可选的,所述确定单元,具体用于:
若所述任务执行服务检测到执行所述流式计算作业过程中的配置参数存在异常情况,所述任务执行服务将所述配置参数作为目标配置参数推送至时序数据库;
监控服务检测到所述时序数据库包括所述目标配置参数,所述监控服务向扩缩容策略服务发送调取指令;
所述扩缩容策略服务响应于所述调取指令,从所述时序数据库中调取所述目标配置参数以及获取所述目标配置参数对应的预设扩缩容条件;
所述扩缩容策略服务判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件;
若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,所述扩缩容策略服务根据所述目标配置参数,确定扩缩容调整方式,并向扩缩容服务发送所述扩缩容调整方式。
可选的,所述调整单元,用于:
所述扩缩容服务根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;
所述扩缩容服务向所述任务执行服务发送所述调整后的配置参数。
可选的,所述执行单元,用于:
所述扩缩容服务基于所述调整后的配置参数,执行所述流式计算作业。
可选的,所述流式计算作业为flink任务。
第三方面,本申请提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。
第四方面,本申请提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。
由上述技术方案可以看出,本申请提供了一种流式计算作业处理方法,在本实施例中,先获取流式计算作业;其中,所述流式计算作业包括若干配置参数;若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式;然后,可以根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;接着,可以基于所述调整后的配置参数,执行所述流式计算作业。可见,本申请可以通过检测流式计算作业的若干配置参数中存在异常情况且满足预设扩缩容条件的目标配置参数,并根据目标配置参数,确定扩缩容调整方式,并根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,以便基于所述调整后的配置参数,执行所述流式计算作业。这样,本申请不需要和现有技术一样,需要通过人工监控源的速率,并通过人工手动配置并行度的方式,部署并测试性能的方式来调整资源,从而可以避免出现人工操作过程中容易出现由于操作错误所导致的准确度低下、效率低下、耗时费力、作业不稳定、成本较高的问题,提高了流式计算作业处理的效率和精准度,进而提高了用户体验。
上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,大部分作业的调整,是通过人工监控源的速率,并通过人工手动配置并行度的方式,部署并测试性能的方式来调整资源。这一种人工手动调整资源的方式存在以下的问题:(1)需要额外的监控程序;(2)凭开发人员个人经验,调整资源不准确;(3)影响作业的稳定性;(4)手动配置难度较大;(5)手动调整成本较高。故此,亟需一种新的流式计算作业处理方法。
本申请提供了一种流式计算作业处理方法,在本实施例中,先获取流式计算作业;其中,所述流式计算作业包括若干配置参数;若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式;然后,可以根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;接着,可以基于所述调整后的配置参数,执行所述流式计算作业。可见,本申请可以通过检测流式计算作业的若干配置参数中存在异常情况且满足预设扩缩容条件的目标配置参数,并根据目标配置参数,确定扩缩容调整方式,并根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,以便基于所述调整后的配置参数,执行所述流式计算作业。这样,本申请不需要和现有技术一样,需要通过人工监控源的速率,并通过人工手动配置并行度的方式,部署并测试性能的方式来调整资源,从而可以避免出现人工操作过程中容易出现由于操作错误所导致的准确度低下、效率低下、耗时费力、作业不稳定、成本较高的问题,提高了流式计算作业处理的效率和精准度,进而提高了用户体验。需要说明的是,本申请实施例可以应用于电子设备(比如手机、平板、电脑等)或者服务器中。需要说明的是,除了上述提及的方式以外,还可以为其他的实现方式,在这里并不限定。
下面结合附图,详细说明本申请的各种非限制性实施方式。
参见图1,示出了本申请实施例中的一种流式计算作业处理方法,在本实施例中,所述方法例如可以包括以下步骤:
S101:获取流式计算作业。
其中,所述流式计算作业可以包括若干配置参数,配置参数可以理解为流式计算作业在执行过程中所产生或者所需要的资源情况。流式计算作业会预先内置各种性能指标(即配置参数),比如,配置参数可以包括数据源的产生速率,每个算子的计算速率、条数,背压,cpu利用率,反压信号等指标参数。需要说明的是,在一种实现方式中,所述流式计算作业可以为flink任务。
在本实施例的一种实现方式中,本实施的方法可以应用于如图2所示的系统中,该系统中的任务执行服务可以先获取所述流式计算作业,以及,所述任务执行服务可以执行所述流式计算作业,以及在运行所述流式计算作业的过程中,检测执行所述流式计算作业过程中的配置参数。接下来,将以图3举例说明,假设任务执行服务获取到的流式计算作业为flink任务,任务执行服务会不断的采集数据源(即执行flink任务的数据源)的产生速率以及算子1和算子2的消费速率等指标。
S102:若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式。
在本实施例中,目标配置参数可以理解为若干配置参数中存在异常情况且满足预设扩缩容条件的配置参数。在一种实现方式中,异常情况可以理解为配置参数超出预设的数据阈值范围,例如配置参数“cpu利用率”大于配置参数“cpu利用率”对应的预设的数据阈值范围90%,则可以认为该配置参数“cpu利用率”存在异常情况。
不同的配置参数出现异常情况的原因可能是不相同的,因此,需要根据异常情况的配置参数对应的预设扩缩容条件判断该配置参数是否需要进行扩缩容调整,若配置参数出现异常情况的原因与数据处理资源(比如数据处理的内存、进程、计算速率不足)相关,即预设扩缩容条件为预设的配置参数对应的与数据处理资源相关的异常原因,则可以认为该配置参数为目标配置参数。
需要说明的是,扩缩容调整方式,可以控制何时向每个伸缩组(比如算子)添加实例(即扩容)或从中删除实例(即缩容),例如可以使用扩展策略让弹性伸缩自动执行该过程;在缩容时,可以通过使用实例保护防止弹性伸缩终止特定的实例,对于已配置负载均衡的伸缩组,在缩容、移出或删除伸缩组内实例时,实例自动与伸缩组关联的负载均衡解除挂载。伸缩组缩容时,会根据移出策略决定移出哪台机器。可从以下两种移出策略中选择:移出最旧的实例:删除最早自动增加的机器;自动增加的机器删除完后,删除最早手动增加的机器,移出最新的实例:删除最新自动增加的机器;自动增加的机器删除完后,删除最新手动增加的机器。
需要说明的是,在本实施例中,可以预先设置了配置参数出现异常情况的不同原因对应的扩缩容调整方式,因此,在对目标配置参数进行分析后确定目标配置参数出现异常情况的原因后,可以根据目标配置参数出现异常情况的原因查询对应的扩缩容调整方式。
接下来,继续以图3对应的示例对S102进行解释说明。监控任务发现有背压指标(即配置参数)插入到influxDB的时候(即配置参数出现异常),会调用策略机制,判断背压是否超过配置阈值;若背压超过配置阈值,则进一步判断背压是否因为算子1或者算子2的消费速率不够所产生的(该原因为背压指标对应的预先设置的配置参数出现异常情况的原因),若是,可以根据算子1或者算子2的消费速率不够的原因查询对应的扩缩容调整方式,即对算子1的并行度进行调整。背压可以理解为在数据流从上游生产者向下游消费者传输的过程中,上游生产速度大于下游消费速度,导致下游的 Buffer 溢出,这种现象就叫做Backpressure 。
作为一种示例,S102具体可以包括以下步骤:
S102a:若所述检测到执行所述流式计算作业过程中的配置参数存在异常情况,将所述配置参数作为目标配置参数。
如图2所示的系统中,若该系统中的任务执行服务检测到执行所述流式计算作业过程中的配置参数存在异常情况,则所述任务执行服务可以将所述配置参数作为目标配置参数推送至该系统中的时序数据库。比如(2)当flink任务开始运行的时候,像产生背压等情况的时候,指标会推送到时序数据库influxDB。
S102b:获取所述目标配置参数对应的预设扩缩容条件;
如图2所示的系统中,该系统中的监控服务检测到所述时序数据库包括所述目标配置参数,也就是说,监控服务会判断influxDB中是否有可用的监控指标插入,所述监控服务向扩缩容策略服务发送调取指令,该调取指令可以出发该系统中的扩缩容策略服务调取时序数据库中的目标配置参数,也就是说,(4)当发现性能指标可用的时候,会去调取扩缩容的策略机制,并从influxDB中拉去任务所产生的性能指标(即配置参数)。所述扩缩容策略服务可以响应于所述调取指令,从所述时序数据库中调取所述目标配置参数以及获取所述目标配置参数对应的预设扩缩容条件。
S102c:判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件。
需要说明的是,如图2所示的系统中,扩缩容服务中可以预先存储有判断不同配置参数各自对应的预设扩缩容条件,因此,扩缩容服务在获取到目标配置参数后,所述扩缩容策略服务分析判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件。也就是说,扩缩容服务可以通过性能指标和扩缩容策略(即扩缩容条件)的对比,以决定是否需要扩缩容以及任务扩缩容的策略(即扩缩容调整方式)。
S102d:若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,根据所述目标配置参数,确定扩缩容调整方式。
如图2所示的系统中,若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,该系统中的所述扩缩容策略服务可以根据所述目标配置参数,确定扩缩容调整方式,并向扩缩容服务发送所述扩缩容调整方式。即(6)当扩缩容的策略(即扩缩容调整方式)调整好后,开始调用该系统中的扩缩容服务。另外,在确定扩缩容调整方式的过程中可以根据获取metirc(即配置参数)和配置阈值(配置参数对应的的预设的数据阈值范围)以及预设规则,来判断是否需要调整并行度,即扩缩容调整方式可以包括调整并行度。
S103:根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数。
如图2所示的系统中,所述扩缩容服务获取到扩缩容调整方式后,所述扩缩容服务可以根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数。以及,所述扩缩容服务向所述任务执行服务发送所述调整后的配置参数。也就是说,扩缩容服务对流式计算作业(例如flink任务)的配置参数进行相关调整。
需要说明的是,每次配置参数调整,只局部调整一个算子的配置参数,即每次调整都是小范围(即小于或等于预设调整阈值)调整,一次调整一个算子的配置参数。这样,由于每次只调整一个算子的配置参数,对流式计算作业的影响较小,即减少影响作业的稳定性的情况发生。
S104:基于所述调整后的配置参数,执行所述流式计算作业。
如图2所示的系统中,该系统中的所述扩缩容服务可以基于所述调整后的配置参数,执行所述流式计算作业,即扩缩容服务此时可以将流式计算作业的任务重启。
需要说明的是,当任务出现性能问题时(即再次触发执行S102)时,会重复S102-S104的操作,直至所述流式计算作业执行完成或结束。
由上述技术方案可以看出,本申请提供了一种流式计算作业处理方法,在本实施例中,先获取流式计算作业;其中,所述流式计算作业包括若干配置参数;若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式;然后,可以根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;接着,可以基于所述调整后的配置参数,执行所述流式计算作业。可见,本申请可以通过检测流式计算作业的若干配置参数中存在异常情况且满足预设扩缩容条件的目标配置参数,并根据目标配置参数,确定扩缩容调整方式,并根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,以便基于所述调整后的配置参数,执行所述流式计算作业。这样,本申请不需要和现有技术一样,需要通过人工监控源的速率,并通过人工手动配置并行度的方式,部署并测试性能的方式来调整资源,从而可以避免出现人工操作过程中容易出现由于操作错误所导致的准确度低下、效率低下、耗时费力、作业不稳定、成本较高的问题,提高了流式计算作业处理的效率和精准度,进而提高了用户体验。可见,本实施例中不需要部署额外的监控程序,以及,利用阈值和规则来调整,不需要依靠个人手动匹配,还可以实现自动调整,每次只调整一个算子,对作业影响较小。
如图4所示,为本申请所述一种流式计算作业处理装置的一个具体实施例。本实施例所述装置,即用于执行上述实施例所述方法的实体装置。其技术方案本质上与上述实施例一致,本实施例中所述装置包括:
获取单元401,用于获取流式计算作业;其中,所述流式计算作业包括若干配置参数;
确定单元402,用于若检测到所述若干配置参数中存在至少一个目标配置参数存在异常情况,且所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,则根据所述目标配置参数,确定扩缩容调整方式;
调整单元403,用于根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;
执行单元404,用于基于所述调整后的配置参数,执行所述流式计算作业。
可选的,所述确定单元402,用于:
若所述检测到执行所述流式计算作业过程中的配置参数存在异常情况,将所述配置参数作为目标配置参数;
获取所述目标配置参数对应的预设扩缩容条件;
判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件;
若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,根据所述目标配置参数,确定扩缩容调整方式。
可选的,所述获取单元401,用于:
任务执行服务获取所述流式计算作业;以及,所述任务执行服务执行所述流式计算作业,以及检测执行所述流式计算作业过程中的配置参数。
可选的,所述确定单元402,具体用于:
若所述任务执行服务检测到执行所述流式计算作业过程中的配置参数存在异常情况,所述任务执行服务将所述配置参数作为目标配置参数推送至时序数据库;
监控服务检测到所述时序数据库包括所述目标配置参数,所述监控服务向扩缩容策略服务发送调取指令;
所述扩缩容策略服务响应于所述调取指令,从所述时序数据库中调取所述目标配置参数以及获取所述目标配置参数对应的预设扩缩容条件;
所述扩缩容策略服务判断所述目标配置参数是否满足所述目标配置参数对应的预设扩缩容条件;
若所述目标配置参数满足所述目标配置参数对应的预设扩缩容条件,所述扩缩容策略服务根据所述目标配置参数,确定扩缩容调整方式,并向扩缩容服务发送所述扩缩容调整方式。
可选的,所述调整单元403,用于:
所述扩缩容服务根据所述扩缩容调整方式,对所述流式计算作业的配置参数进行调整,得到调整后的配置参数;
所述扩缩容服务向所述任务执行服务发送所述调整后的配置参数。
可选的,所述执行单元404,用于:
所述扩缩容服务基于所述调整后的配置参数,执行所述流式计算作业。
可选的,所述流式计算作业为flink任务。
图5是本申请实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成流式计算作业处理装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本申请任一实施例中提供的流式计算作业处理方法。
上述如本申请图1所示实施例提供的流式计算作业处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本申请任一实施例中提供的流式计算作业处理方法,并具体用于执行上述流式计算作业处理所述的方法。
前述各个实施例中所述的电子设备可以为计算机。
本领域内的技术人员应明白,本申请的实施例可提供为方法或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。