掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法及装置

文献发布时间:2023-06-19 09:57:26


数据处理方法及装置

技术领域

本发明实施例涉及计算机技术领域,尤其涉及一种数据处理方法及装置。

背景技术

现有的数据处理系统(如翻译引擎系统)的前端服务器管理着系统的任务调度,其通过消息队列(MQ,message queue)的方式实现了任务的异步调度和处理。

为了避免短时间内向后端服务器发送过多任务,使后端服务器负载过大而引发崩溃,前端服务器通过工作线程池中的线程数量来控制向后端服务器发送任务的速率。而现有技术中,工作线程池中的线程数量是通过人工设置的,这就存在着人工设置效率非常低,且不可靠的问题,使得在任务流量波动较大或者后端服务器的处理能力变化时无法及时对前端服务器的任务处理速率进行调整,导致资源浪费或者造成后端服务器超载。

发明内容

有鉴于此,本发明实施例提供一种数据处理方案,以解决上述的部分或全部问题。

根据本发明实施例的第一方面,提供了一种数据处理方法包括:根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率,其中,所述调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定;根据所述目标处理速率,调整控制信息的生成速率;根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

根据本发明实施例的第二方面,提供了一种数据处理装置包括:确定模块,用于根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率,其中,所述调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定;调整模块,用于根据所述目标处理速率,调整控制信息的生成速率;控制模块,用于根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的数据处理方法对应的操作。

根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据处理方法。

根据本发明实施例提供的数据处理方案,根据后端服务器的处理能力确定调整信息,并根据调整信息和当前处理速率确定目标处理速率,进而根据目标处理速率调整控制信息的生成速率,以通过控制信息控制数据处理任务。这样可以建立后端服务器的反馈机制,实现根据后端服务器的处理能力自适应地调整数据处理任务的处理,提升自适应性、可靠性和及时性,可以有效避免后端服务器负载过大。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例一的一种数据处理方法的步骤流程图;

图2为根据本发明实施例二的一种数据处理方法的步骤流程图;

图3为根据本发明实施例三的一种数据处理装置的结构框图;

图4为根据本发明实施例四的一种数据处理装置的结构框图;

图5为根据本发明使用场景的一种数据处理系统的结构框图;

图6为根据本发明实施例五的一种电子设备的结构示意图。

具体实施方式

为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

下面结合本发明实施例附图进一步说明本发明实施例具体实现。

实施例一

参照图1,示出了根据本发明实施例一的一种数据处理方法的步骤流程图。

本实施例的数据处理方法包括以下步骤:

步骤S102:根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率。

待发送的数据处理任务可以理解为等待前端服务器生成并发送至后端服务器的任务,由后端服务器根据该数据处理任务进行对应的处理。例如,待发送的数据处理任务可以是前端服务器根据从客户端接收的数据处理请求生成的批处理任务或者非批处理任务等。

需要说明的是,前端服务器和后端服务器可以部署在云端或者部署在其他适当的设备上。

当前处理速率可以指示生成和发送该数据处理任务的速率。由于在生成数据处理任务后会将生成的数据处理任务发送给后端服务器,因此,通过该当前处理速率可以了解后端服务器的负载情况。通过调整当前处理速率可以控制生成及向后端服务器发送的数据处理任务的数量,以适应后端服务器的负载能力或适应接收到的数据处理请求的数量。

当前处理速率的调整信息用于指示增加当前处理速率或减小当前处理速率。进一步地,调整信息中可以包括调整值。所述调整信息可以从数据处理系统中用于负责生成并发送调整信息的设备如控制单元等获取,也可以设置在前端服务器中,由前端服务器自行生成并处理。

在本实施例中,所述调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定。

后端服务器的处理能力可以反映后端服务器对数据处理任务的负载能力,本领域技术人员可以根据需要采用任何适当的指标衡量后端服务器的处理能力。例如,以后端服务器对数据处理任务的处理数衡量其处理能力,或者,以后端服务器处理一个数据处理任务的时间衡量其处理能力。

在获得了调整信息和当前处理速率后,即可根据调整信息和当前处理速率确定目标处理速率。例如,通过将调整信息和当前处理速率求和获得目标处理速率。目标处理速率可以理解为需要处理速率达到的速率水平。

步骤S104:根据所述目标处理速率,调整控制信息的生成速率。

控制信息用于对数据处理任务的处理进行控制,如控制数据处理任务的生成、发送等等。本领域技术人员可以根据需要采用任何适当的信息作为控制信息,例如,控制信息可以是令牌(token)、标识等。

通过调整控制信息的生成速率,可以调整生成的控制信息的数量,进而控制对数据处理任务的处理,如控制生成数据处理任务的数量等,从而使数据处理任务的处理速率接近或到达目标处理速率。

调整控制信息的生成速率时,生成速率可以与目标处理速率相同,也可以与目标处理速率具有线性对应关系或非线性对应关系。

步骤S106:根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

例如,生成数据处理任务和/或发送数据处理任务。

由于数据处理任务的生成与已生成的控制信息的数量相关,而控制信息的数量与控制信息的生成速率相关,因此,可以使得数据处理任务的任务处理速率与控制信息的生成速率相关,从而实现了自动调整数据处理任务的任务处理速率的目的。此外,又由于控制信息的生成速率的确定因目标处理速率的原因而与后端服务器对数据处理任务的处理能力间接相关,因此使得可以根据后端服务器的处理能力及时自适应地调整数据处理任务的处理速率,从而有效控制后端服务器的负载,确保能够自适应调整数据处理任务的生成和发送量,无需通过人工调整线程数量,解决现有技术中人工调整方式存在的设置效率低、不可靠、在数据处理请求流量波动较大或者后端服务器处理能力变化时不能及时调整数据处理任务的处理速率的问题。

通过本实施例,根据后端服务器的处理能力确定调整信息,并根据调整信息和当前处理速率确定目标处理速率,进而根据目标处理速率调整控制信息的生成速率,以通过控制信息控制数据处理任务。这样可以建立后端服务器的反馈机制,实现根据后端服务器的处理能力自适应地调整数据处理任务,提升自适应性、可靠性和及时性,可以有效避免后端服务器负载过大。

本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。

实施例二

参照图2,示出了根据本发明实施例二的一种数据处理方法的步骤流程图。

本实施例中,数据处理方法用于对机器翻译中的待发送的数据处理任务进行控制。当然,在其他实施例中,数据处理方法可以用于对其他适当的应用领域中的数据处理任务进行控制。

本实施例的数据处理方法包括以下步骤:

步骤S202:生成调整信息。

如前所述,调整信息可以由数据处理系统中用于负责生成并发送调整信息的设备如控制单元等生成,也可以由前端服务器自行生成并处理。

调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定和生成。其中,后端服务器的处理能力通过其对数据处理任务的平均响应时间衡量,换而言之,所述调整信息可以根据所述后端服务器对接收到的第一设定时间段内的数据处理任务的平均响应时间生成。

本领域技术人员可以根据需要确定任何适当的时间长度作为该第一设定时间段,例如,第一设定时间段为X秒,X大于或等于1。当然,在其他实施例中,后端服务器的处理能力可以采用其他指标衡量,调整信息也可以根据衡量用的指标确定,本实施例对此不作限定。

可选地,一种由控制单元或前端服务器根据所述后端服务器对接收到的第一设定时间段内的数据处理任务的平均响应时间生成调整信息的过程如下。

该过程包括:

Step A:控制单元或前端服务器从日志中心(日志中心用于统一收集后端服务器日志文件)订阅后端服务器的日志文件,并从日志文件中解析出后端服务器每秒钟接收到的数据处理任务的数量,并计算这些数据处理任务的总响应时间和总解码时间,采用循环队列或其他方式存储过去N(N大于或等于1)秒的总响应时间和总解码时间。

解码时间是指数据处理任务在后端服务器中实际被进行解码处理的时间,总解码时间是指第一设定时间段内所有数据处理任务的解码时间的和。

响应时间是指数据处理任务在后端服务器中等待被执行解码处理的时间和解码时间的和,总响应时间是指第一设定时间段内所有数据处理任务的响应时间的和。

Step B:根据存储的数据,控制单元或前端服务器每秒计算一次最近X(X大于或等于1,且小于或等于N)秒的平均响应时间(记作T

根据后端服务器对X秒(即第一设定时间段)内的数据处理任务的平均响应时间和平均解码时间可以衡量后端服务器的负载能力和处理能力,进而实现对后端服务器的处理能力的量化。

其中,平均响应时间等于X秒内总响应时间除以总数据处理任务的数量。例如,X秒内后端服务器接收到20个数据处理任务,则将每个数据处理任务的响应时间加和获得这20个数据处理任务的总响应时间,再将总响应时间除以20获得平均响应时间。

平均解码时间等于X秒内总解码时间除以总数据处理任务的数量。例如,X秒内后端服务器接收到20个数据处理任务,则将每个数据处理任务的解码时间加和获得这20个数据处理任务的总解码时间,再将总解码时间除以20获得平均解码时间。这样可以根据平均响应时间与平均解码时间之间的关系衡量后端服务器的处理能力。

其原理以深度学习场景下,后端服务器采用TensorFlow在GPU(图形处理单元)上进行解码的场景为例进行阐明。

这种场景中的后端服务器具有一个特点是GPU一次可以处理一批任务(设一个数据处理任务的最大尺寸batch size为M),但一旦GPU被占用那么其他数据处理任务需要在后端服务器的队列中等待。那么针对一个数据处理任务,其被响应所需的时间(即响应时间,记作T

以公式表示为:T

该数据处理任务被响应所占用的响应时间越小表示后端服务器的服务越好。此外,如果某个数据处理任务的解码时间增长,那么其他数据处理任务的等待时间也会变长,这两者是正相关的。

在假定解码时间恒定的情况下,如果后端服务器接收的数据处理任务超过其GPU一次可以处理的任务量,那么这些数据处理任务被处理完成至少需要B个批次,B=1+(queue size/max batch size),其中,queue size指示后端服务器用于缓存数据处理任务的队列的尺寸,max batch size指示GPU一次可以处理的最大的数据处理任务数量。B值越大,总响应时间就越长。

基于此,比较理想的状态是,后端服务器的GPU完成解码后,队列中刚好有maxbatch size个数据处理任务在等待,那么这些数据处理任务就可以合并为一个批处理任务进入GPU中进行解码处理,保证GPU资源的充分利用,又能保证数据处理任务不会等待过长时间。

这种情况下,数据处理任务的响应时间最长的情况是:数据处理任务刚刚到达后端服务器的队列,此时刚好有一个批处理任务进入GPU开始进行解码处理,那么这个数据处理任务的响应时间是2倍解码时间。

数据处理任务响应时间最短的情况是:数据处理任务刚刚到达后端服务器的队列,此时刚好有一个批处理任务完成解码处理,这个数据处理任务刚好组成批处理任务进入GPU,那么这个数据处理任务的响应时间是解码时间。

因此,平均来看,后端服务器的处理能力量化可以以1.5倍平均解码时间作为响应时间上限,因为若响应时间超过1.5倍平均解码时间,则表示数据处理任务需要在后端服务器中等待较长时间,后端服务器负载较大。以响应时间小于1.2倍平均解码时间作为处理能力优秀的界限,因为若响应时间小于1.2倍平均解码时间,则表示数据处理任务几乎不需在后端服务器中等待就可以被处理,后端服务器负载较小。

据此可以设置两个阈值(即第一阈值和第二阈值)来量化后端服务器的处理能力,将其分为三个区间。换而言之,所述第一阈值和所述第二阈值均根据所述后端服务器对接收到的所述第一设定时间段内的数据处理任务的平均解码时间确定。

例如,第一阈值为1.2倍平均解码时间,即为1.2*T

Step C:根据平均响应时间生成调整信息。

调整信息包括指示将当前处理速率加上第一设定调整值的调整信息;或者,包括指示将当前处理速率减去第二设定调整值的调整信息;或者,包括指示维持当前处理速率的调整信息。

具体地,情况一:在所述平均响应时间小于或等于第一阈值(即T

或者,

情况二:在所述平均响应时间大于所述第二阈值(即T

或者,

情况三:在所述平均响应时间大于所述第一阈值,且小于或等于所述第二阈值(即T

其中,第一设定调整值和第二设定调整值可以相同或不同。优选二者相同。

前述三种情况可以下述公式表示:

其中,δ(QPS)指示调整信息中的调整值。当平均响应时间(即T

步骤S204:根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率。

本实施例中,设定由数据处理系统的前端服务器执行本步骤。

数据处理系统可以包括前端服务器和后端服务器。前端服务器和后端服务器均可以是独立的设备,或者是由多个设备组成的服务器集群,或者可以是部署在云端的服务器。前端服务器可以从客户端接收数据处理请求,并根据数据处理请求生成对应的数据处理任务,并将数据处理任务发送到数据处理系统中适当的后端服务器上。后端服务器可以对数据处理任务进行处理。例如,若数据处理任务是翻译任务,则后端服务器可以对数据处理任务进行解码处理,以将数据处理任务指示的内容翻译为对应的语言。

基于此,本步骤中的当前处理速率可以指示前端服务器生成和发送数据处理任务的速率。调整信息用于指示对当前处理速率的调整,可以包括增大当前处理速率或减小当前处理速率。进而,根据当前处理速率和调整信息确定目标处理速率。

对于调整信息的获取方式,当调整信息由控制单元生成时,则一种可选方式中,可以由前端服务器直接从数据处理系统的控制单元获取调整信息。如前所述,该调整信息由控制单元根据所述后端服务器对接收到的第一设定时间段内的数据处理任务的平均响应时间生成。

另一种可选的前端服务器获取调整信息的方式为:前端服务器直接根据所述后端服务器对接收到的第一设定时间段内的数据处理任务的平均响应时间生成调整信息。也即,该种方式中,由前端服务器自行生成调整信息。

前端服务器在获取调整信息后,可以对调整信息中携带的调整值以及当前处理速率进行求和,以确定目标处理速率。当前处理速率、目标处理速率等的含义与前述实施例一相同,故不再赘述。

步骤S206:根据所述目标处理速率,调整控制信息的生成速率。

本实施例中,设定由数据处理系统的前端服务器执行本步骤。

控制信息对数据处理任务的处理进行控制,如控制数据处理任务的生成、发送等等。本领域技术人员可以根据需要采用任何适当的信息作为控制信息,例如,控制信息可以是令牌(token)、标识等。

调整控制信息的生成速率,可以调整生成的控制信息的数量,进而控制对数据处理任务的处理,如控制生成数据处理任务的数量等,从而使数据处理任务的处理速率接近或到达目标处理速率。

调整控制信息的生成速率时,生成速率可以与目标处理速率相同,也可以与目标处理速率具有线性对应关系或非线性对应关系。

步骤S208:根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

本实施例中,设定由数据处理系统的前端服务器执行本步骤。

以控制信息包括令牌为例。本实施例中,前端服务器中包括用于生成控制信息的第一线程和用于生成数据处理任务并发送的第二线程。其中,第一线程根据令牌桶算法生成令牌。当然,在其他实施例中,控制信息可以是其他信息,第一线程可以根据对应的算法生成控制信息,本实施例对此不作限定。

在一种可行方式中,前端服务器根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务,可以包括以下子步骤:

S2081:按照调整的所述生成速率和令牌桶算法,生成所述令牌,并将生成的所述令牌存放到令牌桶中。

第一线程按照调整的生成速率,使用令牌桶算法周期性地生成令牌,并将生成的令牌存放到令牌桶中以供第二线程取用。

需要说明的是,由于在生成数据处理任务时,除了依据生成的控制信息相关外,还根据前端服务器接收到的客户端的数据处理请求数量,因此,令牌桶算法中对令牌桶可以存放的令牌数设置上限,该上限值为确保后端服务器能够负载的数据处理任务的最大值。若令牌桶已经存满,则再生成的令牌则直接丢弃。

S2082:每间隔设定时间间隔,从所述令牌桶中获取一个令牌,根据获取的所述令牌,为存储队列中存储的数据处理请求生成数据处理任务并发送所述数据处理任务。

第二线程每间隔设定时间间隔就从令牌桶中获取一个令牌,若获取到令牌,则根据获取的令牌为存储队列中存储的数据处理请求生成数据处理任务并发送所述数据处理任务;若获取不到令牌,则不生成数据处理任务。这样可以使数据处理任务的生成与控制信息的生成速率相关,进而实现前端服务器生成和发送数据处理任务的数量与后端服务器的处理能力相关,实现前端服务器的数据处理任务的生成和发送量的自适应和准确控制。

此外,若存储队列已满,则前端服务器从客户端接收的数据处理请求直接丢弃,不再存入存储队列中;若存储队列未满,则将数据处理请求存入存储队列中,以备前端服务器根据其生成数据处理任务。

可选地,为了减少资源占用和消耗,避免在数据处理请求量较少时频繁计算获取调整造成的资源浪费,本方法还可以包括步骤S210~步骤S214,以在数据处理请求较少时停止调整。

步骤S210:获取通过所述控制信息进行任务处理控制后的实际处理速率和控制前的处理速率。

本实施例中,设定由数据处理系统的前端服务器执行本步骤。

在本实施例中,控制信息的生成速率可以周期性调整,即每隔一段时间就根据后端服务器的负载能力调整一次生成速率,从而使前端服务器生成和发送数据处理任务的数量与后端服务器接收和/或处理的数据处理请求量相适应。

例如,每间隔一段时间就获取通过所述控制信息进行任务处理控制后的实际处理速率和控制前的处理速率。其中,实际处理速率为前端服务器当前时刻的处理速率,控制前的处理速率可以理解为最近一次的调整信息生成时对应的处理速率。例如,生成调整信息时对应的处理速率也即控制前的处理速率为A,假设调整信息指示在A的基础上增加Y,则调整后的处理速率为A+Y,该A+Y即可被认为是控制后的实际处理速率。当然,可能因为某些因素的影响,会导致控制后的实际处理速率小于A+Y,如为A+Y’,则该A+Y’即为控制后的实际处理速率。

步骤S212:比较所述实际处理速率和控制前的处理速率。

本实施例中,设定由数据处理系统的前端服务器执行本步骤。

通过比较所述实际处理速率和控制前的处理速率可以确定实际处理速率是否相较于控制前的处理速率有所改变如有所增加。

若有增加,表示数据处理请求较多,可以生成较多的数据处理任务,则在下一个控制信息的生成速率调整时机达到时继续进行生成速率调整,执行前述步骤S202到S208。

或者,

若没有增加,即小于或等于控制前的处理速率,表示数据处理请求较少,无法生成较多的数据处理任务,则执行步骤S214。

步骤S214:若所述实际处理速率小于或等于控制前的处理速率,则在第二设定时间段内维持所述实际处理速率。

本实施例中,设定由数据处理系统的前端服务器执行本步骤。

当前端服务器接收数据处理请求较少时,在第二设定时间段内维持所述实际处理速率,不再进行生成速率调整,从而减少计算量和资源占用。该第二设定时间段可以根据需要由本领域技术人员适当确定。

通过上述过程,实现了对控制信息的生成速率的一次处理,进而实现了对数据处理任务的任务处理。当下一生成速率调整时机达到时,即开始新的调整周期时,则返回步骤S202开始下次对控制信息的生成速率的调整,以使前端服务器的数据处理任务的任务处理速率适应后端服务器的处理能力,提升前端服务器发送数据处理任务速率的自适应性,解决现有技术中通过人工调整线程数量进行发送量控制存在的设置效率低、适应不及时的问题,减少运行维护成本,最大化后端服务器的硬件资源利用率。

通过本实施例,根据后端服务器的处理能力确定调整信息,并根据调整信息和当前处理速率确定目标处理速率,进而根据目标处理速率调整控制信息的生成速率,以通过控制信息控制数据处理任务的任务处理。这样可以建立后端服务器的反馈机制,实现根据后端服务器的处理能力自适应地调整数据处理任务的任务处理,提升自适应性、可靠性和及时性,可以有效避免后端服务器负载过大。

本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。

使用场景:

如图5所示,在本使用场景中,以采用前述实施例一或实施例二的数据处理方法,提供在线翻译服务的数据处理系统为例进行说明。

如图5所示,数据处理系统包括前端服务器、后端服务器、日志中心和控制单元。其中,前端服务器和后端服务器均可以是独立的设备或者由多个设备组成的服务器集群。若前端服务器或者后端服务器为服务器集群,该服务器集群可以是云端的一部分。

本使用场景中数据处理系统的工作过程如下:

步骤A:前端服务器生成并发送数据处理任务。

前端服务器用于从客户端接收数据处理请求,数据处理请求例如为翻译某段文字的请求。若前端服务器的存储队列未满,则将数据处理请求存储到存储队列中,若存储队列已满,则将数据处理请求丢弃。

前端服务器根据接收到的数据处理请求,生成对应的数据处理任务,并将该数据处理任务发送给后端服务器。

一种生成数据处理任务的过程为:

当达到生成数据处理任务的时机时,从令牌桶中获取一个令牌。若获取到令牌,就将获取到的令牌从令牌桶中移除,并消费存储队列中的数据处理请求,生成对应的数据处理任务发送给后端服务器。若未获取到令牌,就不动作,即不消费存储队列中的数据处理请求,直至达到下一生成数据处理任务的时机时,重复从令牌桶中获取一个令牌的动作。

步骤B:后端服务器接收并处理数据处理任务。

后端服务器接收到数据处理任务后,对其进行相应的处理。例如,本使用场景中,后端服务器根据数据处理任务进行解码处理,获得翻译后的结果数据。后端服务器在工作时会相应地生成日志文件,日志文件中记录了接收到数据处理任务的时间、对数据处理任务进行解码处理的开始时间和解码完成的结束时间等信息。

步骤C:日志中心从后端服务器收集日志文件。

日志中心可以周期性地从后端服务器收集日志文件,并将这些日志文件进行存储。

步骤D:控制单元从日志中心订阅日志文件,并根据日志文件中的信息生成调整信息,发送给前端服务器。

控制单元可以对日志文件进行解析,并从日志文件中获取后端服务器每秒接收到的数据处理任务的总数量、每个数据处理任务的解码时间和响应时间,根据这些信息可以确定第一设定时间段内后端服务器的平均响应时间和平均解码时间,进而根据平均解码时间确定第一阈值和第二阈值,再比较平均响应时间与第一阈值和第二阈值,确定平均响应时间所处区间,据此生成包括指示维持当前处理速率的调整信息,或者,生成包括指示增加第一设定调整值的调整信息,或者生成包括指示减少第二设定调整值的调整信息。

生成调整信息后,控制单元将调整信息发送给前端服务器,使前端服务器根据调整信息和当前处理速率确定目标处理速率,再根据目标调整速率确定令牌桶中令牌的生成速率,以便根据该生成速率生成令牌,并存放到令牌桶中,以供前端服务器在生成数据处理任务时从令牌桶中获取令牌。

通过本使用场景,数据处理系统可以准确地量化后端服务器的处理能力,并建立后端服务器处理能力和数据处理任务生成速率间的反馈回路,及时调整令牌的生成速率,进而调整数据处理任务的生成速率,实现发送到后端服务器的流量(即数据处理任务数量)的精准控制,自动化控制前端服务器按照后端服务器的负载能力发送数据处理任务,解决人工设置线程数存在的效率低、不可靠、非工作时间难以及时响应、流量波动较大或者后端服务器负载能力变化时不能及时适应的问题,降低运行维护成本并最大化硬件资源的利用率。

实施例三

参照图3,示出了根据本发明实施例三的一种数据处理装置的结构框图。

本实施例的数据处理装置包括:确定模块302,用于根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率,其中,所述调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定;调整模块304,用于根据所述目标处理速率,调整控制信息的生成速率;控制模块306,用于根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

通过本实施例,根据后端服务器的处理能力确定调整信息,并根据调整信息和当前处理速率确定目标处理速率,进而根据目标处理速率调整控制信息的生成速率,以通过控制信息控制数据处理任务的任务处理。这样可以建立后端服务器的反馈机制,实现根据后端服务器的处理能力自适应地调整数据处理任务的任务处理,提升自适应性、可靠性和及时性,可以有效避免后端服务器负载过大。

实施例四

参照图4,示出了根据本发明实施例四的一种数据处理装置的结构框图。

本实施例的数据处理装置包括:确定模块402,用于根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率,其中,所述调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定;调整模块404,用于根据所述目标处理速率,调整控制信息的生成速率;控制模块406,用于根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

可选地,所述控制信息包括令牌,所述控制模块406包括:生成模块4061,用于按照调整的所述生成速率和令牌桶算法,生成所述令牌,并将生成的所述令牌存放到令牌桶中;任务处理模块4062,用于每间隔设定时间间隔,从所述令牌桶中获取一个令牌,根据获取的所述令牌,为存储队列中存储的数据处理请求生成数据处理任务并发送所述数据处理任务。

可选地,所述调整信息根据所述后端服务器对接收到的第一设定时间段内的数据处理任务的平均响应时间生成。

可选地,所述调整信息包括:在所述平均响应时间小于或等于第一阈值时,生成的指示将当前处理速率加上第一设定调整值的调整信息;或者,在所述平均响应时间大于所述第二阈值时,生成的指示将当前处理速率减去第二设定调整值的调整信息;或者,在所述平均响应时间大于所述第一阈值,且小于或等于所述第二阈值时,生成的指示维持当前处理速率的调整信息;其中,所述第一阈值小于所述第二阈值。

可选地,所述第一阈值和所述第二阈值均根据所述后端服务器对接收到的所述第一设定时间段内的数据处理任务的平均解码时间确定。

可选地,所述装置还包括:获取模块408,用于获取通过所述控制信息进行任务处理控制后的实际处理速率和控制前的处理速率;比较模块410,用于比较所述实际处理速率和控制前的处理速率;维持模块412,用于当所述实际处理速率小于或等于控制前的处理速率时,在第二设定时间段内维持所述实际处理速率。

可选地,所述装置用于对机器翻译中的待发送的数据处理任务进行控制。

本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应方法实施例的有益效果,在此不再赘述。

实施例五

参照图6,示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图6所示,该电子设备可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。

其中:

处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。

通信接口604,用于与其它电子设备如终端设备或服务器进行通信。

处理器602,用于执行程序610,具体可以执行上述下载应用的方法实施例中的相关步骤。

具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。

处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序610具体可以用于使得处理器602执行以下操作:根据待发送的数据处理任务的当前处理速率和当前处理速率的调整信息,确定目标处理速率,其中,所述调整信息至少根据后端服务器对接收到的数据处理任务的处理能力确定;根据所述目标处理速率,调整控制信息的生成速率;根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务。

在一种可选的实施方式中,所述控制信息包括令牌,程序610还用于使得处理器602在根据调整的所述生成速率生成控制信息,以通过所述控制信息控制所述待发送的数据处理任务时,按照调整的所述生成速率和令牌桶算法,生成所述令牌,并将生成的所述令牌存放到令牌桶中;每间隔设定时间间隔,从所述令牌桶中获取一个令牌,根据获取的所述令牌,为存储队列中存储的数据处理请求生成数据处理任务并发送所述数据处理任务。

在一种可选的实施方式中,所述调整信息根据所述后端服务器对接收到的第一设定时间段内的数据处理任务的平均响应时间生成。

在一种可选的实施方式中,所述调整信息包括:在所述平均响应时间小于或等于第一阈值时,生成的指示将当前处理速率加上第一设定调整值的调整信息;或者,在所述平均响应时间大于所述第二阈值时,生成的指示将当前处理速率减去第二设定调整值的调整信息;或者,在所述平均响应时间大于所述第一阈值,且小于或等于所述第二阈值时,生成的指示维持当前处理速率的调整信息;其中,所述第一阈值小于所述第二阈值。

在一种可选的实施方式中,所述第一阈值和所述第二阈值均根据所述后端服务器对接收到的所述第一设定时间段内的数据处理任务的平均解码时间确定。

在一种可选的实施方式中,程序610还用于使得处理器602获取通过所述控制信息进行任务处理控制后的实际处理速率和控制前的处理速率;比较所述实际处理速率和控制前的处理速率;若所述实际处理速率小于或等于控制前的处理速率,则在第二设定时间段内维持所述实际处理速率。

在一种可选的实施方式中,所述装置用于对机器翻译中的待发送的数据处理任务进行控制。

程序610中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

通过本实施例的电子设备,根据后端服务器的处理能力确定调整信息,并根据调整信息和当前处理速率确定目标处理速率,进而根据目标处理速率调整控制信息的生成速率,以通过控制信息控制数据处理任务的任务处理。这样可以建立后端服务器的反馈机制,实现根据后端服务器的处理能力自适应地调整数据处理任务的任务处理,提升自适应性、可靠性和及时性,可以有效避免后端服务器负载过大。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

相关技术
  • 图像数据处理方法、用于图像数据处理方法的程序、记录有用于图像数据处理方法的程序的记录介质和图像数据处理装置
  • 药箱的数据处理方法、装置、数据处理方法和装置
技术分类

06120112365459