一种定时任务数据处理方法、装置及系统
技术领域
本说明书属于互联网通信技术领域,尤其涉及一种定时任务数据处理方法、装置及系统。
背景技术
在一些网络架构中,通常数据的传输处理可能需要多个系统相互协作完成,数据在各个系统传输过程中有服务的发起方可以称为上游系统,服务方提供的系统可以称为下游系统。
在数据处理过程中,有一种服务可以称为定时任务,即定时器触发的接口调用请求。服务提供方在接收到上游系统请求时,对于失效性要求不高的请求,可以先落任务,返回受理成功,后通过定时器触发执行,将最终的处理结果返回。定时器触发任务执行时,为了提供吞吐量,一般会并发多线程的执行任务,如果任务需要依赖下游系统,那么并发数设置成多少,将直接影响着系统吞吐量。现有技术中,定时任务在执行时,并发量通常是固定的,无法保证系统的吞吐量,影响网络系统的数据传输处理效率。
发明内容
本说明书目的在于提供一种定时任务数据处理方法及装置,提高了定时任务处理时系统的吞吐量,确保了定时任务处理系统数据处理的稳定性,提高了定时任务数据处理到的效率。
一方面本说明书实施例提供了一种定时任务数据处理方法,包括:
接收定时任务处理请求,获取待处理任务信息;
根据所述定时任务处理请求对应的吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立;
根据所述待处理任务信息和所述调整并发量,向所述下游系统发送业务请求信息。
进一步地,所述方法的另一个实施例中,所述系统参考因子包括数据处理系统的中央处理器、总内存、剩余内存、系统负载中的至少一个。
进一步地,所述方法的另一个实施例中,所述下游系统的响应时间的获取方法包括:
根据持久化的下游系统的实际响应时间,计算出所述定时任务处理请求对应的下游系统的响应时间;
所述持久化的下游系统的实际响应时间获取方法包括:
在执行所述定时任务处理请求时,接收所述下游系统发送的任务处理结果,并记录任务返回时间;
根据所述任务返回时间和发送所述业务请求信息的时间之间的差值,计算所述下游系统的实际响应时间,并将所述下游系统的实际响应时间进行持久化。
进一步地,所述方法的另一个实施例中,所述下游系统的响应时间的获取方法包括:
判断当前的定时任务与上一次定时任务之间的时间差,若所述时间差小于预设时间阈值,则将持久化的上一次定时任务对应的下游系统的实际响应时间,作为所述定时任务处理请求对应的下游系统的响应时间;
或者,将持久化的下游系统的实际响应时间的平均值,作为所述定时任务处理请求对应的下游系统的响应时间;
或者,根据持久化的下游系统的实际响应时间的变化规律,预测出所述定时任务处理请求对应的下游系统的响应时间。
进一步地,所述方法的另一个实施例中,所述预设规则采用下述方法建立:
获取历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量;
根据所述历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量,采用梯度固定算法确定出并发量与吞吐量影响因子之间的对应的关系,所述梯度固定算法包括:输入值在预设区间内时,输出所述预设区间对应的输出值。
进一步地,所述方法的另一个实施例中,所述预设规则包括:吞吐量影响因子区间与所述调整并发量的对应关系,所述吞吐量影响因子区间与所述调整并发量一一对应。
另一方面,本说明书提供了定时任务数据处理装置,包括:
定时任务接收模块,用于接收定时任务处理请求,获取待处理任务信息;
并发量计算模块,用于根据所述定时任务处理请求对应的吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立;
任务处理模块,用于根据所述待处理任务信息和所述调整并发量,向所述下游系统发送业务请求信息。
进一步地,所述装置的另一个实施例中,所述并发量计算模块中系统参考因子包括数据处理系统的中央处理器、总内存、剩余内存、系统负载中的至少一个。
进一步地,所述装置的另一个实施例中,所述并发量计算模块具体用于:
根据持久化的下游系统的实际响应时间,计算出所述定时任务处理请求对应的下游系统的响应时间;
所述装置还包括响应时间记录模块,用于采用下述方法获取所述持久化的下游系统的实际响应时间:
在执行所述定时任务处理请求时,接收所述下游系统发送的任务处理结果,并记录任务返回时间;
根据所述任务返回时间和发送所述业务请求信息的时间之间的差值,计算所述下游系统的实际响应时间,并将所述下游系统的实际响应时间进行持久化。
进一步地,所述装置的另一个实施例中,所述并发量计算模块用于采用下述方法获取所述下游系统的响应时间:
判断当前的定时任务与上一次定时任务之间的时间差,若所述时间差小于预设时间阈值,则将持久化的上一次定时任务对应的下游系统的实际响应时间,作为所述定时任务处理请求对应的下游系统的响应时间;
或者,将持久化的下游系统的实际响应时间的平均值,作为所述定时任务处理请求对应的下游系统的响应时间;
或者,根据持久化的下游系统的实际响应时间的变化规律,预测出所述定时任务处理请求对应的下游系统的响应时间。
进一步地,所述装置的另一个实施例中,所述装置还包括预设规则建立模块,用于采用下述方法建立所述预设规则:
获取历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量;
根据所述历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量,采用梯度固定算法确定出并发量与吞吐量影响因子之间的对应的关系,所述梯度固定算法包括:输入值在预设区间内时,输出所述预设区间对应的输出值。
进一步地,所述装置的另一个实施例中,所述并发量计算模块中的所述预设规则包括:吞吐量影响因子区间与所述调整并发量的对应关系,所述吞吐量影响因子区间与所述调整并发量一一对应。
再一方面,本说明书提供了一种定时任务并发量调节的处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述定时任务数据处理方法。
还一方面,本说明书提供了一种定时任务处理上游系统,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
接收定时任务处理请求,获取待处理任务信息;
根据吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立;
根据所述待处理任务信息和所述并发量,向所述下游系统发送业务请求信息。
又一方面,本说明书提供了一种定时任务数据处理系统,包括:包括定时器、上游系统、下游系统,所述上游系统包括上述任一个所述的定时任务数据处理装置。
本说明书提供的定时任务数据处理方法、装置、处理设备、系统,接收到定时器发送的定时任务处理请求后,根据下游系统的响应时间以及影响系统吞吐量或并发量计算的系统参考因子,根据预设规则实时计算所需的并发量,计算出的并发量可以确保系统在进行定时任务处理时保持较高的吞吐量。本说明书实施例提高了系统的吞吐量,确保了定时任务处理系统数据处理的稳定性,提高了定时任务数据处理的效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例中定时任务数据处理方法的流程示意图;
图2是本说明书一个实施例中定时任务数据处理的交互流程示意图;
图3是本说明书提供的定时任务数据处理装置一个实施例的模块结构示意图;
图4是本说明书又一个实施例中定时任务数据处理装置的结构示意图;
图5是应用本发明实施例的一种定时任务处理上游系统的服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例中相关名词的解释可以参考如下:
在数据处理系统中,如:SOA(Service-Oriented Architecture,面向服务的架构)环境下,数据处理系统之间存在这相互依赖关系,一个数据处理系统或者网络架构可能会包含上游系统和下游系统。SOA可以理解为一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
数据处理系统中的上游系统和下游系统,可以分别表示服务发起发和服务提供方,例如:A系统是服务发起方,B系统是服务提供方,那么B系统就是相对于A系统的下游,A系统就是相对于B系统的上游,A系统可以称为上游系统,B系统可以称为下游系统。可以理解的是,上游系统和下游系统是相对的,在一个数据处理服务的上游系统也可以是另一个数据处理服务的下游系统,同样的,在一个数据处理服务的下游系统也可以是另一个数据处理服务的上游系统。
下游系统的响应时间:包含网络时间、下游系统的系统处理时间等,例如:若A系统为上游系统,B系统为下游系统,下游系统的响应时间可以包括从A系统向B系统发起请求到接收到B系统的返回结果的时间,包含网络时间、B系统处理时间等。
定时任务:定时器触发的接口调用请求。服务提供方在接收到上游系统请求时,对于失效性要求不高的请求,可以先落任务,返回受理成功,后通过定时器触发执行,将最终的处理结果返回。
并发量:同时执行定时任务的线程数量。线程可以理解为是程序执行流的最小单元。
本说明书一个实施例中提供了一种定时任务数据处理方法,根据下游系统的响应时间、系统参考因子等,按照预设规则计算出当前任务处理时,能够保证系统具有较高吞吐量所需要的并发量。可以确保定时任务处理时,系统能够保证在较高的吞吐量,提高了系统的吞吐量,确保了系统数据传输处理的稳定性。
本说明书中定时任务数据处理方法可以应用在客户端或服务器中,客户端可以是智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜、虚拟现实头盔等)、智能车载设备等电子设备。
具体的,图1是本说明书一个实施例中定时任务数据处理方法的流程示意图,如图1所示,本说明书一个实施例中提供的定时任务数据处理方法的整体过程可以包括:
步骤102、接收定时任务处理请求,获取待处理任务信息。
在定时任务处理系统中可以包括定时器,定时器定时触发任务处理执行。定时器中任务执行时间到达时,定时器会向对应的服务器或数据处理单元如:上游系统A,发送定时任务处理请求,触发上游系统A开始执行定时任务。定时任务处理请求中可以包括待处理数据标识、待处理数据数量、数据处理命令等信息,上游系统在接收到定时器发送的定时任务处理请求后,可以根据定时任务处理请求,获取对应的待处理任务信息。例如:上游系统接收到定时器发送的定时任务处理请求后,根据定时任务处理请求中的待处理数据标识,从数据库中捞取对应的待处理数据,如:一次捞取500条。
步骤104、根据所述定时任务处理请求对应的吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立。
吞吐量影响因子可以包括:下游系统的响应时间、系统参考因子,例如:下游系统的响应时间可以表示进行当前的定时任务时下游系统的可能的响应时间,可以根据系统的历史数据或专家经验等确定。系统参考因子可以表示对系统并发量计算有影响的因素,可以包括硬件方面的因素,也可以包括软件程序上的因素。本说明书一个实施例中,所述系统参考因子可以包括数据处理系统的中央处理器、系统的总内存、系统的剩余内存、系统负载中的至少一个,系统负载可以表示系统中在执行的任务或正在运行的模块等。
下游系统的响应时间以及系统参考因子可以从系统中获取,具体的获取方法可以根据实际需要设置,本说明书实施例不作具体限定。如:可以获取计算调整并发量时下游系统的响应时间作为下游系统的响应时间,获取计算调整并发量时系统的中央处理器、系统的总内存、系统的剩余内存、系统负载等作为系统参考因子。或者,也可以建立响应时间数据库,系统参考因子数据库,将下游系统的响应时间存储在响应时间数据库中,并进行实时或定时更新,当需要计算调整并发量时,则从响应时间数据库中获取最新的响应时间作为下游系统的响应时间。同样的,可以将数据处理系统的中央处理器、系统的总内存、系统的剩余内存、系统负载等,存储在系统参考因子数据库,并进行实时或定时更新,当需要计算调整并发量时,则从系统参考因子数据库获取最新的系统参考因子作为当前计算并发量的系统参考因子。
在具体的实施过程中,上游系统获取到待处理任务信息后,需要将待处理任务信息发送至下游系统处理,本说明书实施例在将待处理任务信发送至下游系统之前,可以根据预设规则先计算出合适的并发量即并发线程数量,确保系统在处理定时任务时能够保持较高的吞吐量。其中,预设规则中可以包括吞吐量影响因子、并发量、吞吐量之间的对应关系,预设规则可以利用吐量影响因子、并发量、吞吐量之间的对应关系,根据先验知识、专家经验、历史数据等建立。例如:根据先验知识、专家经验、历史数据等,获得吞吐量影响因子为a,并发量为b时,系统的吞吐量最大或大于吞吐量阈值,则将吞吐量影响因子a与并发量b作为计算并发量的对应关系。或者,根据先验知识、专家经验、历史数据等,获得吞吐量影响因子的取值、并发量的取值、吞吐量的取值的对应关系,如:吞吐量影响因子为a1,并发量为b1,对应的吞吐量为c1,吞吐量影响因子为a2,并发量为b2,对应的吞吐量为c2。
预设规则可以在定时任务执行前,由其他的系统或算法根据先验知识等建立,也可以在执行定时任务时,定时任务处理系统实时建立,本说明书实施例不作具体限定。
可以根据当前系统的吞吐量影响因子如:下游系统的响应时间、系统的中央处理器、系统的总内存、系统的剩余内存、系统负载等,按照预设规则,计算出对应的调整并发量,计算出的调整并发量可以确保系统在进行定时任务处理时保持较高的吞吐量,如:吞吐量大于吞吐量阈值。
例如:若获取到的当前系统的吞吐量影响因子如:下游系统的响应时间为t,系统的中央处理器为a,系统的总内存为b、系统剩余的内存为c、系统负载为d。预设规则中若下游系统发的响应时间为t,系统的中央处理器为a,系统的总内存为b、系统剩余的内存为c、系统负载为d,并发量为M时,对应的系统的吞吐量最大,则可以将M作为当前定时任务处理的调整并发量,即待处理任务信息需要的并发量,以保证系统具有较高的吞吐量。还可以根据获取到的当前系统的吞吐量影响因子,利用预设规则,获取当前系统的吞吐量影响因子对应的吞吐量大于吞吐量阈值时,并发量的取值,获得调整并发量。如:若获取到的当前系统的吞吐量影响因子如:下游系统的响应时间为t,系统的中央处理器为a,系统的总内存为b、系统剩余的内存为c、系统负载为d。预设规则中当下游系统发的响应时间为t,系统的中央处理器为a,系统的总内存为b、系统剩余的内存为c、系统负载为d,并发量分别为M1、M2、M3时,对应的吞吐量有w1、w2、w3,其中,吞吐量w1大于吞吐量阈值,则可以将M1作为调整并发量。
步骤106、根据所述待处理任务信息和所述并发量,向所述下游系统发送业务请求信息。
计算出当前的定时任务处理对应的并发量后,向下游系统发送业务请求信息,业务请求信息中可以包括计算出的并发量以及对应的待处理任务信息,还可以包括其他的信息如:数据处理命令等,本说明书实施例不作具体限定。下游系统根据接收到的业务请求信息,启动计算出的调整并发量的线程数执行相应的动作,完成定时任务处理。
本说明书提供的定时任务数据处理方法,接收到定时器发送的定时任务处理请求后,根据下游系统的响应时间以及影响系统吞吐量或并发量计算的系统参考因子,根据预设规则实时计算所需的并发量,计算出的并发量可以确保系统在进行定时任务处理时保持较高的吞吐量。提高了系统的吞吐量,确保了定时任务处理系统数据处理的稳定性,提高了定时任务数据处理的效率。
在上述实施例的基础上,本说明书一个实施例中,所述方法还包括:
在执行所述定时任务处理请求时,接收所述下游系统发送的任务处理结果,并记录任务返回时间;
根据所述任务返回时间和发送所述业务请求信息的时间之间的差值,计算所述下游系统的实际响应时间,并将所述下游系统的实际响应时间进行持久化。
具体的实施过程中,上游系统将业务请求信息发送至下游系统调用下游系统时,可以将调用下游系统的时间即发送所述业务请求信息的时间进行记录。下游系统根据接收到的业务请求信息进行任务处理,任务处理完成后,会向上游系统返回任务处理结果。上游系统记录任务处理结果返回时的任务返回时间,将任务返回时间和调用下游系统的时间即发送所述业务请求信息的时间之间的差值,作为当前定时任务处理的下游系统的实际响应时间,并将计算出的下游系统的实际响应时间进行持久化。持久化可以表示将数据保存到可永久保存的存储设备中(如磁盘),可以包括缓存、永久存储等存储方式,若数据不需要保存时,也可以将数据删除。将每一次定时任务处理时,下游系统的实际响应时间进行记录存储(即持久化),为后续定时任务处理时,下游系统的响应时间的确定提供了参考。
在上述实施例的基础上,本说明书一个实施例中,可以根据持久化的下游系统的实际响应时间,计算出所述定时任务处理请求对应的下游系统的响应时间。如:可以获取当前定时任务时刻前预设时间存储的(可以理解为持久化的,下述实施例存储具有相同的含义)下游系统的实际响应时间,根据当前定时任务时刻前预设时间存储的下游系统的实际响应时间随时间的变化规律,计算出当前定时任务的下游系统的响应时间。利用存储的历史的定时任务的下游系统的实际响应时间,确定当前定时任务的下游系统的响应时间,可以使得确定出的下游系统的响应时间以实际数据为依据,提高了下游系统的响应时间确定的准确性。
本说明书一个时候示例中,在获取下游系统的响应时间时,可以判断当前的定时任务与上一次定时任务之间的时间差,若所述时间差小于预设时间阈值,则将持久化的上一次定时任务对应的下游系统的实际响应时间作为所述定时任务处理请求对应的下游系统的响应时间。若当前的定时任务与上一次定时任务之间的时间差比较小,可以认为下游系统的响应时间变化不大,可以将上一次定时任务中记录的下游系统的实际响应时间,作为当前的定时任务的下游系统的响应时间。其中预设时间阈值的具体大小可以根据实际需要进行设置,本说明书叔叔里不作具体限定。
当前的定时任务可以理解为正在进行的定时任务,或正在进行调整并发量计算的定时任务。上一次的定时任务可以理解当前的定时任务前一次定时任务处理或最接近当前的定时任务的定时任务。
例如:当前的定时任务的处理时间是今天上述10点10分,获取到上一次定时任务的处理时间是今天上午10点,当前的定时任务和上一次定时任务之间的时间差为10分钟。若设置的预设时间阈值为30分钟,则可以将上一次定时任务记录的下游系统的实际响应时间,作为当前的定时任务的下游系统的响应时间。
本说明书一个实施例中,在获取下游系统的响应时间时,还可以将持久化的下游系统的实际响应时间的平均值作为所述下游系统的响应时间,如:可以获取当前的定时任务前预设次数或预设时间内的下游系统的实际响应时间,计算平均值,以提高下游系统的响应时间的实效性和准确性。当然,还可以将每一次定时任务对应的下游系统的实际响应时间赋予权重值,根据各个定时任务的下游系统的实际响应时间以及对应的权重值,进行加权平均,确定出当前定时任务的下游系统的响应时间。存储的下游系统的实际响应时间的平均值,可以表示多次定时任务处理对应的下游系统的响应时间的平均分布,利用平均值确定当前定时任务的下游系统的响应时间,方法简单,并且不会超出合理范围。
本说明书一个实施例中,在获取下游系统的响应时间时,还可以根据持久化的下游系统的实际响应时间的变化规律,预测出所述定时任务处理请求对应的下游系统的响应时间。可以利用数学统计方法、表格拟合、图像拟合等方法,确定出存储的下游系统的实际响应时间随时间或随定时任务执行次数变化的规律,预测出当前时间或当前的定时任务的下游系统的响应时间。根据存储的下游系统的实际响应时间,对当前的下游系统的响应时间,符合下游系统的响应时间的变化规律,确保了计算出的下游系统的响应时间的准确度。
在上述实施例的基础上,本说明书一个实施例中,所述预设规则采用下述方法建立:
获取历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量,所述历史吞吐量影响因子包括:历史的下游系统的响应时间、历史的系统参考因子;
根据所述历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量,采用梯度固定算法确定出并发量与吞吐量影响因子之间的对应的关系,所述梯度固定算法包括:输入值在预设区间内时,输出所述预设区间对应的输出值。
在具体的实施过程中,可以获取定时任务处理的历史数据,如:指定时间段(如:邻近的7天内)的定时任务执行时的下游系统的响应时间、对应的吞吐量、对应的并发量、对应的系统参考因子(如:数据处理系统的中央处理器、系统的总内存、系统的剩余内存、系统负载中的至少一个),根据获取上述历史数据,利用梯度固定算法确定出并发量与吞吐量影响因子(包括:下游系统的响应时间、系统参考因子)之间的对应的关系,所述梯度固定算法包括:输入值在预设区间内时,输出所述预设区间对应的输出值。
可以根据获取的定时任务处理的历史数据,统计获得吞吐量影响因子处于预设区间时,并发量为多少,对应的吞吐量最大。预设区间可以根据实际需要设置,可以为连续的多个区间,如:可以将下游系统的响应时间、系统参考因子在一定的范围内,按照区间两端的数值具有固定差值,划分成多个预设区间,如:可以将下游系统的响应时间划分为[0,500)、[500,1000)、[1000,1500)、[1500,2000)。
例如:统计获得当下游系统的响应时间在区间[a,b),系统参考因子为[c,d),并发量为M时,对应的系统的吞吐量最大。若当前定时任务对应的下游系统的响应时间和系统参考因子分别位于区间[a,b)、[c,d)内,则可以确定出当前的定时任务对应的并发量为M。
还可以将吞吐量影响因子中的下游系统的响应时间和系统参考因子进行合并为一个向量,如:可以通过数据融合等处理方法,将下游系统的响应时间和系统参考因子融合,再利用梯度固定算法,统计获得融合后的吞吐量影响因子与吞吐量、并发量之间的对应关系。
此外,还可以通过模型训练学习,确定出预设规则,如预先构建并发量预测模型,设置模型参数,利用历史数据中的吞吐量影响因子以及对应的吞吐量、并发量,学习吞吐量影响因子与并发量、吞吐量之间的关系,确定出当吞吐量影响因子位于某个区间范围内时,并发量设置为多少,可以获得较高的吞吐量。
本说明书一个实施例中,所述预设规则包括:吞吐量影响因子区间与所述调整并发量的对应关系,所述吞吐量影响因子区间与所述调整并发量一一对应。在具体的实施过程中,本说明书实施例可以利用历史数据,确定出当吞吐量影响因子位于某个区间范围内时,并发量设置为多少,可以获得较高的吞吐量。确定出保证吞吐量保持在较高水平时,吞吐量影响因子区间与并发量的对应关系。本说明书时候实施例中的预设规则可以包括多个吞吐量影响因子区间,吞吐量影响因子区间可以是连续的区间也可以是间断的区间,每一个区间对应一个调整并发量,调整并发量的取值可以相同也可以不同,相邻区间对应的调整并发量的取值不同,间隔区间对应的调整并发量的取值可以相同。
如:吞吐量影响因子区间[0,500)对应的调整并发量为3,区间[500,1000)对应的调整并发量为5,区间[1000,1500)对应的调整并发量为8,区间[1500,2000)对应的调整并发量为5。当然,也可以将调整并发量的取值相同的区间合并为一个区间,使得每一个区间对应一个调整并发量,如可以将上述区间[500,1000)、区间[1500,2000)合并为:区间[500,1000)或[1500,2000)。
本说明书实施例在实施过程中,通过分析定时任务的历史数据,发现在定时任务执行时,随着并发量逐渐调高,吞吐量将逐渐上升,到了一定峰值后,逐渐降低,形成一个峰值。当并发量到一定值后,下游系统的响应时间明显增高,本说明书实施例,利用梯度固定算法,将吞吐量影响因子(如:下游系统的响应时间、系统参考因子等),在某个范围内时,将并发量设置成一个固定值,如:峰值附近,确保系统的吞吐量一直保持在较高水平。提高了定时任务处理时系统的吞吐量,确保了定时任务处理时系统吞吐量的稳定性,提高了定时任务数据处理的效率。
图2是本说明书一个实施例中定时任务数据处理的交互流程示意图,如图2所示,本说明书实施例中定时任务数据处理的交互流程可以包括:
1、定时器调度。即定时任务启动,定时器向上游系统发送定时任务处理请求。
2、待处理任务捞取,上游系统接收到定时器的定时任务处理请求后,可以从数据库的中捞取待处理的数据,例如一次捞取500条,获得待处理任务信息。
3、计算调整并发量。可以采用上述实施例的方法,利用下游系统的响应时间、系统参考因子等,按照预设规则计算出当前定时任务处理的调整并发量。调整并发量的具体计算方法、下游系统的响应时间的获取方法、系统参考因子的具体内容,参考上述实施例的记载,此处不再赘述。
4、业务请求。上游系统计算出当前定时任务处理的调整并发量后,可以将计算出的调整并发量以及待处理任务信息等业务请求信息发送至下游系统。
5、返回结果。下游系统根据接收到的业务请求信息,启动调整并发量的线程数执行定时任务,任务执行结束后,向下游系统返回相应的结果。
6、记录响应时间。上游系统在向下游系统发送业务请求信息时记录调度前时间,在接收到下游系统的返回结果后,记录任务返回时间,根据记录的返回结果时间和调度前时间,计算出当前定时任务执行时下游系统的实际响应时间。如图2所示,loop可以表示循环的含义,每一次定时任务可能需要处理多个数据,可以利用计算出的调整并发量,循环执行上述步骤4-6,完成定时任务处理。
7、返回结果。上游系统将定时任务处理的结果返回值定时器,定时任务执行结束。
本说明书实施例,根据预设规则计算当前定时任务处理的调整并发量,动态调节并发量,达到提高吞吐量,并有效保护了下游系统,避免并发量不合理,增加下游系统的负载。在计算调整并发量时,增加本系统的CPU、内存和Load(即系统负载)作为决策指标,能够更加准确的计算调整并发量。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
基于上述所述的定时任务数据处理方法,本说明书一个或多个实施例还提供一种定时任务数据处理装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图3是本说明书提供的定时任务数据处理装置一个实施例的模块结构示意图,如图3所示,本说明书中提供的定时任务数据处理装置包括:定时任务接收模块31、并发量计算模块32、任务处理模块33,其中:
定时任务接收模块31,可以用于接收定时任务处理请求,获取待处理任务信息;
并发量计算模块32,可以用于根据所述定时任务处理请求对应的吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立;
任务处理模块33,可以用于根据所述待处理任务信息和所述调整并发量,向所述下游系统发送业务请求信息。
本说明书实施例提供的定时任务数据处理装置,接收到定时器发送的定时任务处理请求后,根据下游系统的响应时间以及影响系统吞吐量或并发量计算的系统参考因子,根据预设规则实时计算所需的并发量,计算出的并发量可以确保系统在进行定时任务处理时保持较高的吞吐量。提高了系统的吞吐量,确保了定时任务处理系统数据处理的稳定性,提高了定时任务数据处理的效率。
在上述实施例的基础上,所述并发量计算模块中的系统参考因子包括数据处理系统的中央处理器、总内存、剩余内存、系统负载中的至少一个。
本说明书实施例提供的定时任务数据处理装置,在计算调整并发量时,增加本系统的中央处理器、内存和负载等作为决策指标,能够更加准确的调整并发量。
在上述实施例的基础上,所述并发量计算模块具体用于:
根据持久化的下游系统的实际响应时间,计算出所述定时任务处理请求对应的下游系统的响应时间;
所述装置还包括响应时间记录模块,用于采用下述方法获取所述持久化存储的下游系统的实际响应时间:
在执行所述定时任务处理请求时,接收所述下游系统发送的任务处理结果,并记录任务返回时间;
根据所述任务返回时间和发送所述业务请求信息的时间之间的差值,计算所述下游系统的实际响应时间,并将所述下游系统的实际响应时间进行持久化。
本说明书实施例提供的定时任务数据处理装置,将每一次定时任务处理时,下游系统的实际响应时间进行存储,为后续定时任务处理时,下游系统的响应时间提供参考。利用历史的定时任务的下游系统的实际响应时间,确定当前定时任务的下游系统的响应时间,可以使得确定出的下游系统的响应时间以实际数据为依据,提高了下游系统的响应时间确定的准确性。
在上述实施例的基础上,所述并发量计算模块用于采用下述方法获取所述下游系统的响应时间:
判断当前的定时任务与上一次定时任务之间的时间差,若所述时间差小于预设时间阈值,则将持久化的上一次定时任务对应的下游系统的实际响应时间,作为所述定时任务处理请求对应的下游系统的响应时间;
或者,将持久化的下游系统的实际响应时间的平均值,作为所述定时任务处理请求对应的下游系统的响应时间;
或者,根据持久化的下游系统的实际响应时间的变化规律,预测出所述定时任务处理请求对应的下游系统的响应时间。
本说明书实施例,利用存储的上次定时任务的实际响应时间或存储的响应时间的平均值或响应时间的规律,确定出当前定时任务的下游系统的响应时间,方法简单,准确度高。
图4是本说明书又一个实施例中定时任务数据处理装置的结构示意图,如图4所示,在上述实施例的基础上,所述装置还包括预设规则建立模块41,用于采用下述方法建立所述预设规则:
获取历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量;
根据所述历史吞吐量影响因子、所述历史吞吐量影响因子对应的并发量、所述历史吞吐量影响因子对应的吞吐量,采用梯度固定算法确定出并发量与吞吐量影响因子之间的对应的关系,所述梯度固定算法包括:输入值在预设区间内时,输出所述预设区间对应的输出值。
本说明书实施例,利用梯度固定算法,将吞吐量影响因子(如:下游系统的响应时间、系统参考因子等),在某个范围内时,将并发量设置成一个固定值,确保系统的吞吐量一直保持在较高水平,提高了定时任务处理时系统的吞吐量,确保了定时任务处理时系统吞吐量的稳定性,提高了定时任务数据处理的效率。
在上述实施例的基础上,所述并发量计算模块中的所述预设规则包括:吞吐量影响因子区间与所述调整并发量的对应关系,所述吞吐量影响因子区间与所述调整并发量一一对应。
本说明书实施例提供的定时任务数据处理装置,将吞吐量影响因子(如:下游系统的响应时间、系统参考因子等),在某个范围内时,将并发量设置成一个固定值,确保系统的吞吐量一直保持在较高水平,提高了定时任务处理时系统的吞吐量,确保了定时任务处理时系统吞吐量的稳定性,提高了定时任务数据处理的效率。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种定时任务并发量调节的处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的定时任务数据处理方法,如:
接收定时任务处理请求,获取待处理任务信息;
根据所述定时任务处理请求对应的吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立;
根据所述待处理任务信息和所述调整并发量,向所述下游系统发送业务请求信息。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
需要说明的,上述所述的处理设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是应用本发明实施例的一种定时任务处理上游系统的服务器的硬件结构框图。如图5所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本邻域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图5所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的定时任务数据处理方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述定时任务处理上游系统的服务器包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
接收定时任务处理请求,获取待处理任务信息;
根据吞吐量影响因子,按照预设规则计算出所述待处理任务信息对应的调整并发量,其中,所述吞吐量影响因子包括:下游系统的响应时间、系统参考因子,所述预设规则根据吞吐量影响因子、并发量、吞吐量之间的对应关系建立;
根据所述待处理任务信息和所述并发量,向所述下游系统发送业务请求信息。
本说明书还提供一种定时任务数据处理系统,所述系统可以为单独的定时任务数据处理系统,也可以应用在多种数据分析处理系统中。如图2所示,定时任务数据处理系统可以包括定时器、上游系统、下游系统,所述上游系统可以包括上述实施例中任意一个定时任务数据处理装置。所述的系统可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述定时任务数据处理系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。
本说明书实施例提供的上述定时任务数据处理方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机数据处理和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。