一种线程分配方法、装置及终端设备与流程

文档序号:17858362发布日期:2019-06-11 22:42阅读:107来源:国知局
一种线程分配方法、装置及终端设备与流程

本发明属于数据处理技术领域,尤其涉及线程分配方法及终端设备。



背景技术:

现有的爬虫框架在进行网页爬取和解析的处理线程分配的时候,都是每个线程直接负责处理一个完整的爬取任务+解析任务的操作,当其中的爬取任务或解析任务操作出现问题时,都会导致整个线程无法正常处理,使得整个网页分析等候时间过长,因此需要一种新的对爬取任务和解析任务操作进行处理的方法,以保证对爬虫框架对网页分析的效率。



技术实现要素:

有鉴于此,本发明实施例提供了一种线程分配方法及终端设备,以解决现有技术中爬虫框架对网页分析效率低下的问题。

本发明实施例的第一方面提供了一种线程分配方法,包括:

查找爬取任务池和解析任务池实时对应的线程,其中,线程用于处理爬取任务池或解析任务池中的任务;

对所述爬取任务池和所述解析任务池分别进行线程任务的饱和度检测,并根据饱和度检测结果识别两者的任务池状态;

若所述爬取任务池和所述解析任务池的中包含第一状态任务池以及第二状态任务池,从所述第一状态任务池对应的线程中划分出预设数量的线程分配至所述第二状态任务池,所述第一状态任务池为线程任务不饱和的任务池,所述第二状态任务池为线程任务饱和的任务池。

本发明实施例的第三方面提供了一种线程分配装置,包括:

线程查找模块,用于查找爬取任务池和解析任务池实时对应的线程,其中,线程用于处理爬取任务池或解析任务池中的任务;

饱和度检测模块,用于对所述爬取任务池和所述解析任务池分别进行线程任务的饱和度检测,并根据饱和度检测结果识别两者的任务池状态;

线程分配模块,用于若所述爬取任务池和所述解析任务池的中包含第一状态任务池以及第二状态任务池,从所述第一状态任务池对应的线程中划分出预设数量的线程分配至所述第二状态任务池,所述第一状态任务池为线程任务不饱和的任务池,所述第二状态任务池为线程任务饱和的任务池。

本发明实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的线程分配方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,包括:存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的线程分配方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:一方面,本发明实施例首先将爬取任务和解析任务分别独立划分为两个对应的任务池进行处理,从而使得两种任务处理时,不会出现由于一种任务出现问题而导致整个网页分析等候时间过程的情况发生,提高了对网页分析的效率,另一方面,在分任务池处理的基础上,根据两个任务池实时线程任务饱和度的情况,来将线程任务不饱和的任务池的线程划分一部分给线程任务饱和的任务池进行任务处理,从而实现了对两个任务池线程任务处理的均衡负载调控,最大化地提升了线程的利用率,使得对网页分析的效率得到最大化的提升。

附图说明

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

图1是本发明实施例一提供的线程分配方法的实现流程示意图;

图2是本发明实施例二提供的线程分配方法的实现流程示意图;

图3是本发明实施例三提供的线程分配方法的实现流程示意图;

图4是本发明实施例四提供的线程分配方法的实现流程示意图;

图5是本发明实施例五提供的线程分配方法的实现流程示意图;

图6是本发明实施例六提供的线程分配方法的实现流程示意图;

图7是本发明实施例七提供的线程分配装置的结构示意图;

图8是本发明实施例八提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

为了便于理解本发明,此处先对本发明实施例进行简要说明:现有技术中每个线程都是直接负责一个完整的爬取任务+解析任务,即线程串行处理爬取任务+解析任务,且线程之间也是串行顺序处理任务,但实际情况中,无论爬取任务还是解析任务,其中具体任务的不同对应的处理难度也会有所差异,导致对每个具体任务的处理速度也可能会存在差异,因此经常会出现有些处理速度快的任务较早完成,速度慢的滞后完成,这直接导致了可能出现一个线程的爬取任务+解析任务中,由于存在一个处理难度较大的任务,从而使得整个线程处理出现卡顿,网页等候时间过长,因此,为了提升对网页分析的效率,本发明实施例中,会将爬取任务和解析任务独立划分为两个对应的任务池进行处理,从而使得两类任务处理之间,不会出现由于单个任务出现问题而导致整个网页分析出现等候时间过长的情况发生,同时为了防止两个任务池之间出现一边线程空闲一边却线程繁忙,导致爬虫框架整体的任务效率难以得到保证的情况发生,本发明实施例在划分两状态任务池的基础上,还会对两状态任务池的线程处理状态进行监测,并会根据实际状态来进行线程之间的整体均衡调控,使得两个任务池任务处理速度相近,以实现对网页分析效率的最大化,详述如下:

图1示出了本发明实施例一提供的线程分配方法的实现流程图,详述如下:

s101,查找爬取任务池和解析任务池实时对应的线程,其中,线程用于处理爬取任务池或解析任务池中的任务。

为了实现对爬取任务和解析任务的高效处理,本发明实施例首先会设置两个不同的任务池分别用于存放对应种类的任务,同时会为每个任务池分配一定数量的线程,以处理任务池内的爬取任务或者解析任务。由于在本发明实施例中,每个任务池对应的线程数并非是固定不变,而是会根据任务池实际情况来进行调整的,因此在步骤s101中查找的线程是任务池实时对应的线程。

作为本发明的一个实施例,在查找任务池对应的线程之前,本发明实施例会对每个任务池分配好初始的线程数,以保证任务池的正常任务处理,包括:

对爬取任务池和解析任务池分别分配预设数量的线程。

其中,预设数量的具体值,可以由技术人员自行设定,也可以根据两个任务池历史的任务处理数量来进行设置,如,既可以两个任务池初始线程数量都设置为相同的大小,也可以针对历史任务处理数量较大的任务池分配较多的数量。

s102,对爬取任务池和解析任务池分别进行线程任务的饱和度检测,并根据饱和度检测结果识别两者的任务池状态。

本发明实施例中会将爬取任务和解析任务分开任务池处理,对每个任务池而言,由于包含的任务的难度以及数量等不同,最终导致的负责进行任务处理的线程的饱和度情况也会存在差异,例如,假设两个任务池对应的线程数均为100,其中爬取任务池中包含的爬取任务数量是解析任务池包含的解析任务的数量的10倍,因此,此时爬取任务池每条线程对应所需处理的任务数量必然远大于解析任务池,即爬取任务池线程任务的饱和度必然大于解析任务池。当出现两个任务池线程任务饱和度差异较大的情况时,必然会导致两个任务池对任务的处理效率差异较大,这对整体爬虫框架的网页分析而言,会极大地影响整体的网页分析效率。因此,为了保证整体网页分析效率,本发明实施例会对两个任务池的线程任务饱和度进行检测,并会根据饱和度检测结果来对两个任务池进行线程任务的均衡调控,以使得对网页分析的整体处理效率最大化。

在本发明实施例中,饱和度检测结果至少包含线程任务不饱和以及线程任务饱和两种结果,每种饱和度检测结果对应一种任务池状态,如线程任务不饱和对应的第一状态任务池,线程任务饱和对应第二状态任务池,具体而言,在对任务池进行线程任务饱和度检测时,首先要确定所检测的代表任务池线程饱和度的参数指标,在本发明实施例中,参数指标包括但不限于如任务池实时包含的任务数量,或者任务池实时包含的任务数量+任务池接收到的任务数量的变化趋势等,具体可由技术人员根据实际需求设定。在确定出所需检测的参数指标的基础上,本发明实施例会对这些参数指标进行量化分析,判断每个任务池对应的参数指标的实际情况,以确定出每个任务池的实际线程饱和度情况,即任务池状态如何,例如假设参数指标为任务池实时包含的任务数量,此时本发明实施例会预先设置几个数量阈值范围,并设置好每个数量阈值范围对应的线程任务饱和度(例如是饱和、不饱和还是未知),以及每种饱和度对应的任务池状态,再根据每个任务池实际实时的任务数量,来确定出任务池的线程任务是否饱和以确定任务池状态,或者也可以参考本发明实施例二至六中相关内容。

s103,若爬取任务池和解析任务池的中包含第一状态任务池以及第二状态任务池,从第一状态任务池对应的线程中划分出预设数量的线程分配至第二状态任务池,第一状态任务池为线程任务不饱和的任务池,第二状态任务池为线程任务饱和的任务池。

若饱和度检测结果为两个任务池中,一个为线程任务不饱和的任务池,另一个线程任务饱和的任务池,说明两个任务池之间当前的线程分配不均匀,极有可能会出现线程任务不饱和的任务池中线程空闲,但线程饱和的任务池中线程处理不过来任务的情况,从而使得线程出现闲置浪费,爬虫框架整体对网页分析的效率低下。因此,本发明实施例会在此时对第一状态任务池和第二状态任务池所具有的线程进行数量均衡,即会从第一状态任务池所具有的线程中划分出一部分线程给第二状态任务池,以使得两个任务池实际任务情况与实际具有的线程情况相匹配,使得两者处理速度相近,提升整体效率。其中,具体的线程分配方法,此处不予限定,可由技术人员根据实际情况进行设定,包括但不限于如根据两个任务池实时包含的任务数量按比例计算每个任务池应当具有的线程数,再根据该计算出的线程数来进行线程分配,或者由技术人员预先设置一个固定数量或固定比例,再从第一状态任务池所具有的线程划分出该固定数量或固定比例的线程数给第二状态任务池。

本发明实施例中,一方面,本发明实施例首先将爬取任务和解析任务分别独立划分为两个对应的任务池进行处理,从而使得两种任务处理时,不会出现由于一种任务出现问题而导致整个网页分析等候时间过程的情况发生,提高了对网页分析的效率,另一方面,在分任务池处理的基础上,根据两个任务池实时线程任务饱和度的情况,来将线程任务不饱和的任务池的线程划分一部分给线程任务饱和的任务池进行任务处理,从而实现了对两个任务池线程任务处理的均衡负载调控,最大化地提升了线程的利用率,使得对网页分析的效率得到最大化的提升。

作为本发明实施例一中进行线程任务饱和度检测的一种具体实现方式,由于实际情况中每个任务处所需处理的任务数量是在实时变化的,其既有可能基本稳定不变,也有可能呈现总体增长或下降的趋势,同时还有可能会出现某些时刻或者时间段中任务数量突变的情况,因此,若仅根据任务池中实时包含的任务数量来进行饱和度的识别检测,虽然能识别出任务池的实时饱和情况,但无法很好地应对相对当前时间而言后续时刻的任务数量的变化,即仅能实现极为被动的根据实时任务数量的线程分配,从而使得线程分配的效率降低,进而影响两个任务池线程任务处理的实际效率,因此,为了提升线程分配的效率,本发明实施例会分析预测任务池任务数量变化趋势以及下一时刻所需处理的任务数量,以为后续提前分配合适数量的线程提供保障,如图2所示,包括:

s201,统计爬取任务池在预设时间段内多次接收到的爬取任务的数量,得到包含多个任务数量的任务数组。

其中,预设时间段具体可由技术人员根据实际需求设定,但需保证预设时间段的时间终止点为进行饱和度检测的当前时刻,由于根据时间终止点和总时长即可确定出具体预设时间段起止时间,因此,本发明实施例中技术人员只需设置预设时间段的总时长即可,优选地,总时间长可设置为1分钟。

由于实际应用中任务池在任意时刻都可能接收到新的任务,为了实现对任务池任务数量变化趋势的预测,本发明实施例会对于在预设时间段内任务池接收到多次任务的数量进行记录,以得到一个包含多个任务数量的任务数组,如假设当前时刻前1分钟内共共接收到10次任务分配,任务数量为100、200、500和1000,此时会得到数组[100,200,500,1000]。

s202,基于任务数组,计算爬取任务池在预设时间段之后接收到的任务数量的预测值。

s203,分析任务数组中的任务数量变化趋势。

在得到所需的任务数组之后,本发明实施例会对任务数组中的任务数量进行分析,以预测下一次任务池接收到的任务数量,以及在预设时间段内任务池接收到的任务数量的变化趋势。其中,具体的数据预测方法以及变化趋势分析方法,此处不予限定,可由技术人员根据实际情况设置,包括但不限于如,对任务数组中的任务数量进行线性函数拟合,并根据拟合得到的线性函数,来预估下一次接收到的任务数量的大小(下一次接收任务的时间,可以根据任务数组中各个任务数量对应的接收时间来预测,例如可以是这些任务数量接受时间的平均值),并同时根据线性函数的斜率值判断任务数量的变化趋势,当斜率值大于1时,则说明变化趋势为增长,小于1时则说明为下降,或者根据本发明实施例四来进行变化趋势的预测。

s204,若任务数量变化趋势为增长,且爬取任务池实时对应的线程的可处理任务数与预测值的差值大于预设数量阈值,判定爬取任务池为第二状态任务池。

由于任务池对应的线程的可处理任务数是有限的,当超出该数量时势必会使得任务池线程处于饱和状态,无法及时对任务池中的任务进行处理,同时当变化趋势为增长时,说明任务池的饱和状态还是会持续加剧的,因此,为了保证后续线程分配时能够主动应对任务池可能面对的任务负荷情况,以保障线程分配的有效性,保证最终对网页分析的整体效率,当变化趋势为增长且预测得到的任务数大于任务池实时对应的线程可处理数时,本发明实施例会将任务池状态认定为线程任务饱和。其中,实际情况中每条线程理论可处理的任务数量时可以预知的,因此,在本发明实施例一获取到任务池实时对应的线程数量之后,根据预设的每条线程理论可处理任务数量乘以实时线程数量,即可得到任务池实时对应的线程的可处理任务数。预设数量阈值的具体值大小,可由技术人员根据实际需求设定。

作为本发明实施例三,在上述本发明实施例一和二的基础上,包括:

s301,若任务数量变化趋势为下降,且爬取任务池实时对应的线程的可处理任务数,与预测值的差值小于预设数量阈值,判定爬取任务池为第一状态任务池。

当变化趋势为下降且预测得到的任务数小于于任务池实时对应的线程可处理数时,说明任务池当前线程任务并不饱和,且不饱和的状态还会持续,因此,为了保证后续线程分配时能够主动应对任务池可能面对的任务负荷情况,以保障线程分配的有效性,保证最终对网页分析的整体效率,此时本发明实施例会将任务池状态认定为线程任务不饱和

作为本发明实施例二和本发明实施例三中预测任务数组中任务数量变化趋势的一中具体实现方式,如图4所示,本发明实施例四,包括:

s401,将任务数组中的任务数量按照时间先后顺序进行排序,并基于公式(1)对排序后的任务数组进行处理,计算多个任务数量分别对应的多个趋势参数ft。

ft=(1-m)st+mbt

st=αxt+(1-α)(st-1+bt-1)

bt=β(st-st-1)+(1-β)bt-1

s1=x1

b1=x1-x0(1)

其中,ft为趋势参数,x0为任务数组中第1个任务数量,x1为任务数组中第2个任务数量,xt为任务数组中第t+1个任务数量,α、β、m均为预设常数项系数。

s402,对多个趋势参数进行线性函数拟合,并计算得到的线性函数的斜率值。

s403,若斜率值大于零,判定数量变化趋势为增长。若斜率值小于零,判定数量变化趋势为下降。

本发明实施例中会对任务数量进行趋势参数分析,以实现对任务数组中数据变化的整体趋势提取,再对趋势参数进行线性函数的拟合,以实现对任务数组中任务数量整体变化趋势的量化,当拟合出的线性函数的斜率值大于0时,说明整体变化是增长的,因此此时会判定任务数组中任务数量变化趋势为增长,而当斜率值小于0时,说明整体变化是下降的,因此此时会判定任务数组中任务数量变化趋势为下降。

应当说明地,上述本发明实施例二至四中,虽然是对爬取任务池进行饱和度检测的相关说明,但同样适用于本发明实施例中对解析任务池的饱和度检测处理,其处理过程与本发明实施例二至四相同,具体可参考本发明实施例二至四,此处不予赘述。

作为本发明实施例五,考虑到实际情况中任务池状态处理线程任务饱和及线程任务不饱和两种以外,还可能会存在如线程状态未知等第三种状态,如本发明实施例二和三中提出了对处理线程任务饱和及线程任务不饱和的识别方法,但当实际任务池不满足本发明实施例二和三的条件时,根据本发明实施例二和三就无法识别出任务池实际状态,在本发明实施例中,将除处理线程任务饱和及线程任务不饱和两种状态以外的任务池状态,统一归类为第三状态,对于第三状态任务池而言,其线程任务饱和度情况虽然难以确定,但一般是处于第一状态任务池和第二状态任务池之间的,因此,为了在两个任务池中存在第三状态任务池时,对两个任务池线程任务处理的均衡负载调控,如图5所示,包括:

s501,若爬取任务池和解析任务池中包含第一状态任务池以及第三状态任务池,从第一状态任务池对应的线程中划分出预设数量的线程分配至第三状态任务池,第三状态任务池是指除第一状态任务池以及第二状态任务池以外的所有任务池。

当同时存在第一状态任务池和第三状态任务池时,为了保证两个任务池的负载均衡,以保证两个任务池任务处理速度能够大致相近,保证对网页分析的整体效率,本发明实施例会从线程任务不饱和的第一状态任务池中划分出一定的线程并分配给第三状态任务池,其中具体的线程分配方法可以参考本发明实施例一中对第一状态任务池和第二状态任务池的线程分配方法相关内容,此处不予限定。

作为本发明实施例六,考虑到实际情况中任务池状态处理线程任务饱和及线程任务不饱和两种以外,还可能会存在如线程状态未知等第三种状态,如本发明实施例二和三中提出了对处理线程任务饱和及线程任务不饱和的识别方法,但当实际任务池不满足本发明实施例二和三的条件时,根据本发明实施例二和三就无法识别出任务池实际状态,在本发明实施例中,将除处理线程任务饱和及线程任务不饱和两种状态以外的任务池状态,统一归类为第三状态,对于第三状态任务池而言,其线程任务饱和度情况虽然难以确定,但一般是处于第一状态任务池和第二状态任务池之间的,因此,为了在两个任务池中存在第三状态任务池时,对两个任务池线程任务处理的均衡负载调控,如图6所示,包括:

s601,若爬取任务池和解析任务池中包含第二状态任务池以及第三状态任务池,从第三状态任务池对应的线程中划分出预设数量的线程分配至第二状态任务池,第三状态任务池是指除第一状态任务池以及第二状态任务池以外的所有任务池。

当同时存在第二状态任务池和第三状态任务池时,为了保证两个任务池的负载均衡,以保证两个任务池任务处理速度能够大致相近,保证对网页分析的整体效率,本发明实施例会从第三状态任务池中划分出一定的线程并分配给线程任务饱和的第二状态任务池,其中具体的线程分配方法可以参考本发明实施例一中对第一状态任务池和第二状态任务池的线程分配方法相关内容,此处不予限定。

本发明实施例中,一方面,首先将爬取任务和解析任务分别独立划分为两个对应的任务池进行处理,从而使得两种任务处理时,不会出现由于一种任务出现问题而导致整个网页分析等候时间过程的情况发生,提高了对网页分析的效率,另一方面,在分任务池处理的基础上,根据两个任务池实时线程任务饱和度的情况,来将线程任务不饱和的任务池的线程划分一部分给线程任务饱和的任务池进行任务处理,而在存在饱和度未知的第三状态任务池时,将饱和度未知的第三状态任务池线程分配一部分给线程饱和的第二状态任务池,或者将线程不饱和的第一状态任务池线程分配一部分给饱和度未知的第三状态任务池,从而实现了对两个任务池线程任务处理的均衡负载调控,最大化地提升了线程的利用率,使得对网页分析的效率得到最大化的提升。同时,在进行饱和度检测时,为了提升线程分配的效率,本发明实施例会分析预测任务池任务数量变化趋势以及下一时刻所需处理的任务数量,以为后续提前分配合适数量的线程提供保障,且提取了任务数组中任务数量的趋势参数,并根据趋势参数来确定任务数量的变化趋势,从而实现了对变化趋势的准确分析。

对应于上文实施例的方法,图7示出了本发明实施例提供的线程分配装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。图7示例的线程分配装置可以是前述实施例一提供的线程分配方法的执行主体。

参照图7,该线程分配装置包括:

线程查找模块71,用于查找爬取任务池和解析任务池实时对应的线程,其中,线程用于处理爬取任务池或解析任务池中的任务。

饱和度检测模块72,用于对所述爬取任务池和所述解析任务池分别进行线程任务的饱和度检测,并根据饱和度检测结果识别两者的任务池状态。

线程分配模块73,用于若所述爬取任务池和所述解析任务池的中包含第一状态任务池以及第二状态任务池,从所述第一状态任务池对应的线程中划分出预设数量的线程分配至所述第二状态任务池,所述第一状态任务池为线程任务不饱和的任务池,所述第二状态任务池为线程任务饱和的任务池。

进一步地,饱和度检测模块72,包括:

任务数量统计模块,用于统计所述爬取任务池在预设时间段内多次接收到的爬取任务的数量,得到包含多个任务数量的任务数组。

预测用于,用于基于所述任务数组,计算所述爬取任务池在所述预设时间段之后接收到的任务数量的预测值。

趋势分析模块,用于分析所述任务数组中的任务数量变化趋势。

状态识别模块,用于若所述任务数量变化趋势为增长,且所述爬取任务池实时对应的线程的可处理任务数与所述预测值的差值大于预设数量阈值,判定所述爬取任务池为所述第二状态任务池。

进一步地,该线程分配装置,还包括:

若所述任务数量变化趋势为下降,且所述爬取任务池实时对应的线程的可处理任务数,与所述预测值的差值小于所述预设数量阈值,判定所述爬取任务池为所述第一状态任务池。

进一步地,趋势分析模块,包括:

将所述任务数组中的任务数量按照时间先后顺序进行排序,并基于下式对排序后的所述任务数组进行处理,计算所述多个任务数量分别对应的多个趋势参数ft:

ft=(1-m)st+mbt

st=αxt+(1-α)(st-1+bt-1)

bt=β(st-st-1)+(1-β)bt-1

s1=x1

b1=x1-x0

其中,ft为所述趋势参数,x0为所述任务数组中第1个任务数量,x1为所述任务数组中第2个任务数量,xt为所述任务数组中第t+1个任务数量,α、β、m均为预设常数项系数。

对所述多个趋势参数进行线性函数拟合,并计算得到的线性函数的斜率值。

若所述斜率值大于零,判定所述数量变化趋势为增长。若所述斜率值小于零,判定所述数量变化趋势为下降。

进一步地,该线程分配装置,还包括:

若所述爬取任务池和所述解析任务池中包含所述第一状态任务池以及第三状态任务池,从所述第一状态任务池对应的线程中划分出预设数量的线程分配至所述第三状态任务池,所述第三状态任务池是指除所述第一状态任务池以及所述第二状态任务池以外的所有任务池。

进一步地,该线程分配装置,还包括:

若所述爬取任务池和所述解析任务池中包含所述第二状态任务池以及第三状态任务池,从所述第三状态任务池对应的线程中划分出预设数量的线程分配至所述第二状态任务池,所述第三状态任务池是指除所述第一状态任务池以及所述第二状态任务池以外的所有任务池。

进一步地,该线程分配装置,还包括:

对所述爬取任务池和所述解析任务池分别分配预设数量的线程。

本发明实施例提供的线程分配装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例一的描述,此处不再赘述。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本发明实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。

图8是本发明一实施例提供的终端设备的示意图。如图8所示,该实施例的终端设备8包括:处理器80、存储器81,所述存储器81中存储有可在所述处理器80上运行的计算机程序82。所述处理器80执行所述计算机程序82时实现上述各个线程分配方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块71至73的功能。

所述终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的示例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入发送设备、网络接入设备、总线等。

所称处理器80可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器81可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经发送或者将要发送的数据。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。

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

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