本申请涉及数据采集技术领域,更具体的说是涉及一种任务调度方法和装置。
背景技术:
随着网络技术的发展,用户可以采用微博或者网络发帖的形式在网络上发表信息。在用户发表信息之后,该用户或者其他用户还可以对该消息进行转发、评论等操作,使得信息的网络状态一直处于持续的变化中。
在大数据时代,需要监控这些信息的状态变化,以采集这些信息的状态变化所产生的数据。然而硬件以及网络资源有限的前提下,有些信息的状态可能无法被及时采集,这样就可能使得一些有价值的信息的状态无法被及时采集,从而导致数据采集的有效性差,进而可能影响到大数据分析。
技术实现要素:
有鉴于此,本申请提供了一种任务调度方法和装置,以提高数据采集的有效性。
为实现上述目的,本申请提供如下技术方案:
一种任务调度方法,包括:
接收任务执行节点的任务获取请求,所述任务获取请求用于请求采集任务,所述采集任务用于采集网络中信息节点的状态变化数据;
确定当前待调度的多个采集任务的优先级顺序;
依据所述优先级顺序,从所述多个采集任务中确定当前待分配的至少一个目标采集任务;
将所述至少一个目标采集任务分配给所述任务执行节点。
优选地,在所述确定当前时刻待调度的多个采集任务的优先级顺序之前,还包括:
获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括所述信息节点的生成时间;
针对每个所述采集任务,基于所述采集任务对应的信息节点的生成时刻距离当前时刻的时长,确定所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
优选地,所述基于所述采集任务对应的信息节点的生成时刻距离当前时刻的时长,确定所述采集任务的优先级,包括:
按照如下公式,确定所述采集任务的优先级u:
u=-u0/m*(t-t0-m)(t0<t<t0+m);
其中,t0为所述采集任务对应的信息节点的生成时刻;u0为预先设置的第一起始优先值;t为当前时刻;m为预先设定的信息节点的最大监控时长。
优选地,在所述确定当前时刻待调度的多个采集任务的优先级顺序之前,还包括:
获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括信息节点所属的话题类型;
依据所述信息节点所属的话题类型,确定所述话题类型的优先级变化规则;
基于当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
优选地,所述基于当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,包括:
按照如下公式,确定所述采集任务的优先级s:
s=s0/m1*(t+m1-t1),t1-m1<t<t1;
或者,s=-s0/m2*(t-t1-m2),t1<t<t1+m2;
其中,s0为预先设置的第二起始优先值;t为当前时刻;t1为信息节点中所包含的关键事件的发生时刻;m1和m0分别为所述关键事件的发生时刻之前的第一设定时长以及所述发生时刻之后的第二设定时长。
优选地,在所述确定当前时刻待调度的多个采集任务的优先级顺序之前,还包括:
获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括所述信息节点的生成时间以及信息节点所属的话题类型;
依据所述信息节点所属的话题类型,确定所述话题类型的优先级变化规则;
基于所述采集任务对应的信息的生成时刻、当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
优选地,所述基于所述采集任务对应的信息的生成时刻、当前时刻以及所述优先级变化规则,确定所述采集任务当前的优先级,包括:
按照如下公式,确定所述采集任务的优先级y:
y=u*s
其中,u=-u0/m0*(t-t0-m),t0<t<t0+m;
s=s0/m1*(t+m1-t1),t1-m1<t<t1;
或者,s=-s0/m2*(t-t1-m2),t1<t<t1+m2;
其中,t0为所述采集任务对应的信息节点的生成时刻;u0为预先设置的第一起始优先值;s0为预先设置的第二起始优先值;t为当前时刻;t1为信息节点中所包含的关键事件的发生时刻;m为预先设定的信息节点的最大监控时长,m1和m0分别为所述关键事件的发生时刻之前的第一设定时长以及所述发生时刻之后的第二设定时长。
优选地,在所述得到所述多个采集任务的优先级顺序之后,还包括:
存储所述多个采集任务的优先级顺序。
优选地,在所述存储所述多个采集任务的优先级顺序之后,还包括:
当检测到所述采集任务的优先级更新后,利用更新后的所述采集任务的优先级替换当前时刻之前存储的所述采集任务的优先级。
另一方面,本申请还提供了一种任务调度装置,包括:
请求接收单元,用于接收任务执行节点的任务获取请求,所述任务获取请求用于请求采集任务,所述采集任务用于采集网络中信息节点的状态变化数据;
优先级确定单元,用于确定当前待调度的多个采集任务的优先级顺序;
任务确定单元,用于依据所述优先级顺序,从所述多个采集任务中确定当前待分配的至少一个目标采集任务;
任务分配单元,用于将所述至少一个目标采集任务分配给所述任务执行节点。
优选地,还包括:
特征获取单元,用于在所述优先级确定单元确定当前时刻待调度的多个采集任务的优先级顺序之前,获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括所述信息节点的生成时间;
优先级计算单元,用于针对每个所述采集任务,基于所述采集任务对应的信息节点的生成时刻距离当前时刻的时长,确定所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
优选地,还包括:
特征获取单元,用于在所述优先级确定单元确定当前时刻待调度的多个采集任务的优先级顺序之前,获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括信息节点所属的话题类型;
规则确定单元,用于依据所述信息节点所属的话题类型,确定所述话题类型的优先级变化规则;
优先级计算单元,用于基于当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
优选地,还包括:
特征获取单元,用于在所述优先级确定单元确定当前时刻待调度的多个采集任务的优先级顺序之前,获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括所述信息节点的生成时间以及信息节点所属的话题类型;
规则确定单元,用于依据所述信息节点所属的话题类型,确定所述话题类型的优先级变化规则;
优先级计算单元,用于基于所述采集任务对应的信息的生成时刻、当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
经由上述的技术方案可知,在本申请实施例中,调度节点接收到任务执行节点的任务调度请求之后,会确定待调取的多个采集任务的优先级顺序,这样,重要的信息节点的状态变化数据对应的采集任务可以设置为优先级顺序靠前的采集任务,这样,在按照优先级顺序,为任务执行节点分配至少一个目标采集任务,从而使得重要的信息节点对应的采集任务被优先分配,进而可以优先采集重要的信息节点的状态变化数据,有利于提高采集到的数据的有效性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请一种可能的应用场景的示意图;
图2示出了本申请一种任务调度方法一个实施例的流程示意图;
图3示出了本申请一种任务调度装置一个实施例的结构示意图。
具体实施方式
本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解,对本申请实施例一种可能的应用场景进行介绍。参见图1,在该种应用场景中,任务调度系统可以包括:调度节点101以及多个任务执行节点102。
其中,该任务执行节点102与该调度节点101通过网络相连,如通过有线或者无线网络相连。
任务执行节点102可以向调度节点101发送任务调度请求,以请求调度节点101为该任务执行节点分配任务。
在本申请实施例中,调度节点可以用于分配采集任务,该采集任务用于采集网络中信息节点的状态变化数据,调度节点为任务执行节点分配了采集任务之后,该任务执行节点会对网络中生成的信息节点的状态变化数据进行采集,如,获取信息节点被评论、转发等状态变化数据。
为了能够及时有效的采集信息节点的状态变化数据,本申请实施例中调度节点会对不同的信息节点分配不同的优先级,这样,重要的信息节点可以设置较高的优先级,从而使得对重要的信息节点的采集任务被优先分配给任务执行节点,使得任务执行节点可以采集到更为重要且有效的状态变化数据。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
参见图2,其示出了本申请一种任务调度方法一个实施例的流程示意图,本实施的方法应用于调度节点。
本实施例的方法可以包括:
201,接收任务执行节点的任务获取请求。
其中,该任务获取请求用于请求采集任务。该采集任务用于采集网络中信息节点的状态变化数据。
其中,当用户在网络中发表一条消息时,服务器为该消息生成一个信息节点,该信息节点可以存储该消息的相关信息。如,用户在微博中发表或者转发一条消息,就会生成一个信息节点。
可以理解的是,调度节点在同一时刻可以接收到一个或多个任务执行节点发送的任务获取请求,但是对于每一个任务执行节点的任务获取请求的处理过程均相同。
202,确定当前时刻待调度的多个采集任务的优先级顺序。
在调度节点中存储了多个采集任务,不同的采集任务所需监控的信息节点不同。
与现有不同的是,在本申请中调取节点为任务执行节点分配调度任务之前,可以确定当前时刻该多个采集任务的优先级顺序。
其中,该优先级顺序可以是实时确定出的,也可以是在接收到任务调度请求之前确定出的。
203,依据该优先级顺序,从该多个采集任务中确定当前待分配的至少一个目标采集任务。
按照优先级顺序,可以先将优先级排序靠前的至少一个采集任务作为待分配的目标采集任务进行分配,而优先级排序靠后可以后分配。其中,其中优先级排序靠前的采集任务可以认为是优先级较高的采集任务。
204,将该至少一个目标采集任务分配给该任务执行节点。
将确定出的目标采集任务分配给任务执行节点,以及任务执行节点执行采集任务的过程可以与现有的方式相同。
由以上可知,在本申请实施例中,调度节点接收到任务执行节点的任务调度请求之后,会确定待调取的多个采集任务的优先级顺序,这样,重要的信息节点的状态变化数据对应的采集任务可以设置为优先级顺序靠前的采集任务,这样,在按照优先级顺序,为任务执行节点分配至少一个目标采集任务,从而使得重要的信息节点对应的采集任务被优先分配,进而可以优先采集重要的信息节点的状态变化数据,有利于提高采集到的数据的有效性。
可以理解的是,在本申请实施例中采集任务的优先级顺序的确定方式可以有多种。
在一种可能的实现方式中,采集任务的优先级顺序确定过程可以如下:
获取采集任务所对应的信息节点的特征信息,该特征信息至少包括该信息节点的生成时间;
针对每个采集任务,基于该采集任务对应的信息节点的生成时刻距离当前时刻的时长,确定该采集任务的优先级,得到多个采集任务的优先级顺序。
在该种可能的实现方式中,按照信息节点生成时刻距离当前时刻的时长确定信息节点的优先级。可以理解的是,信息节点的状态变化包括被转发、评论和点赞等状态数据的变化,而信息节点的状态变化在时间上具有一定的规律,一般信息被分布(即信息节点生成)时,短时间内该条信息会得到大量的关注,对该条信息的转发、评论等操作的次数也较多,这样,该条信息的状态变化较为频繁,产生的状态数据也较多;而随着时间的推移,该条信息的专注度会下降,而该条信息的状态变化也逐渐减少,该条信息对应的信息节点的状态数据的数据量也变少,可见,信息节点生成的时长可以反映出信息节点产生的状态数据的数据量多少,也就是得到该信息节点的重要程度,因此,可以根据信息节点的生成的时间长短,确定该信息节点对应的优先级。
其中,根据信息节点的生成时刻与当前时刻的时长,确定信息节点对应的采集任务的优先级,可以是按照信息节点的生成时刻与当前时刻的时长,将信息节点对应的采集任务进行排序,使得生成的时长较长的信息节点对应的采集任务的优先级的排序靠后,而生成的时长较短的信息节点对应的采集任务的优先级的排序靠前。
可选的,为了依据信息节点的生成时刻与当前时刻的时长,确定信息节点对应的采集任务的优先级,还可以是预先设定一个监控时长,例如监控时长可以为100小时,如果信息节点生成的时长超过该监控时长,而就可以不生成该信息节点对应的采集任务,或者将该信息节点对应的采集任务的优先级设为最低。在该监控时长内,可以按照预设的计算公式计算各个采集任务的优先级。如,计算采集任务的优先级的计算公式可以如下:
u=-u0/m*(t-t0-m)(t0<t<t0+m) (公式一);
其中,t0为采集任务对应的信息节点的生成时刻;u0为预先设置的第一起始优先级数值;t为当前时刻;m为预先设定的信息节点的最大监控时长。
在另一种可能的实现方式中,信息节点对应的采集任务的优先级与该信息节点所讨论的话题类型有关,其中话题类型可以理解为该信息节点中包含的关键事件所属的类别,如信息节点所讨论为可以为电影、比赛、特殊任务、地点、纪念日以及时事等等多种话题类型。
可以理解的是,不同话题类型的关键事件具有不同的讨论热度分布特征,如,时事这一类话题一般会在时事发生之后的短时间内出现被经常性的讨论,因此包含该类时事的信息节点在该时事发生之后的短时间内可能会发生大量的状态变化数据。又如,电影以及比赛这一类关键事件所属的话题类型,一般在电影上映或比赛开始之前一段时间内以及电影上映或比赛开始之后一段时间内的热度较高,如果信息节点包含属于该类话题的关键事件,那么信息节点的状态变化数据出现较大变化会与该信息节点的生成时刻以及该关键事件发生时刻的指定时间段有关系,相应的,信息节点被监控的价值趋势与该信息节点状态变化的趋势是相同。
由以上可知,信息节点对应的采集任务的优先级与该信息节点所属的话题类型的热度变化趋势有关,因此,该信息节点对应的采集任务的优先级可以通过如下方式确定:
首先,获取采集任务所对应的信息节点的特征信息,该特征信息包括该信息节点属于的话题类型,其中,信息节点包括的关键事件所属的话题类型。
然后,依据该信息所属的话题类型,确定该话题类型的优先级变化规则,
最后,基于当前时刻以及该优先级变化规则,确定该采集任务当前的优先级。
其中,每个采集任务当前的优先级确定之后,基于各个采集任务的优先级,可以得到采集任务的优先级顺序。
可以理解的是,当话题类型不同时,优先级变化规则会有所不同,具体可以根据需要设定。
为了便于理解,以一种常见的话题类型为例进行介绍。如,以电影,比赛,纪念日,卫星发射等关键事件为例,当信息节点中包含这类关键事件时,信息节点对应的采集任务的优先级与关键事件的发生时刻、以及当前时刻与该关键事件的发生时刻之间的关系有关。
其中,在距离该关键事件的发生时刻前后指定时间段内热度最高。具体的,可以设定关键事件发生时刻之前需要监控的第一设定时长,以及该关键事件发生时刻之后需要监控的第二设定时长。则受到该关键事件的影响下,信息节点对应的采集任务的优先级s可以通过如下公式计算得到:
s=s0/m1*(t+m1-t1),t1-m1<t<t1; (公式二)
或者,s=-s0/m2*(t-t1-m2),t1<t<t1+m2; (公式三)
其中,t为当前时刻;
s0为预先设置的第二起始优先值,其中,第二起始优先值是为了与前面的第一起始优先级进行区分,但可以理解的是,该第一起始优先值和第二起始优先值的具体数值可以相同,也可以不同,具体可以根据需要设定。
t1为信息节点中所包含的关键事件的发生时刻,该发生时刻可以预先通过网络数据分析确定。
该m0为关键事件的发生时刻之前的第一设定时长,m1该关键事件的发生时刻之后的第二设定时长。
在计算采集任务的优先级s时,如果该信息节点的生成时刻处于该第一设定时长内,则采用公式二计算该优先级s;如果该信息节点的生成时刻处于该第二设定时长内,则采用公式二计算该优先级s。
以上计算采集任务的优先级是综合考虑到关键事件的生成时刻以及当前时刻等因素,使得采集任务的优先级的高低顺序符合采集任务对应的信息节点中所包含的关键事件的热度分布规律。
在另一种可能的实现方式中,信息节点对应的采集任务的优先级可以综合以上两种可能的实现方式确定,即,信息节点对应的采集任务当前的优先级除了与该信息的生成时刻距离当前时刻的时长有关外,还与该信息节点所讨论的话题类型有关。
相应的,确定该采集任务的优先级的过程可以包括:
首先,获取采集任务对应的信息节点的特征信息,该特征信息中除了包括信息节点的生成时刻之外,还包括该信息节点所属的话题类型。
然后,依据该信息所属的话题类型,确定该话题类型的优先级变化规则,
最后,基于信息节点的生成时刻、当前时刻以及该优先级变化规则,确定该采集任务当前的优先级。
其中,每个采集任务当前的优先级确定之后,基于各个采集任务的优先级,可以得到采集任务的优先级顺序。
在该种计算采集任务的优先级的方式中,考虑到信息节点的热度随着信息节点生成时间的变长而逐渐变淡,同时,综合了信息节点中包含的关键事件的热度变化。
仍以采集任务对应的信息节点为一种常见的话题类型为例进行介绍。如,以电影,比赛,纪念日,卫星发射等关键事件为例。则该采集任务的优先级y的计算公式可以为:
y=u*s;(公式四)
其中,y为综合了前面采集任务的优先级s和采集任务的优先级s之后的综合优先级。其中,u的计算公式可以参见公式一,s的计算公式可以参见公式二或者公式三。
在实际应用中,还可以预先设定某些信息节点对应的采集任务的优先级,比如,内容涉及国家事务的信息节点对应的采集任务的优先级可以设置比较高,而涉及其他重要性较低的信息节点所对应的采集任务的优先级可以设置的偏低。如果采集任务的优先级预先设定好,则后续无需再计算该采集任务的优先级。当然,可以设定该采集任务的优先级维持的时长,当超过该时长时,则可以按照以上的任意一种方式计算该采集任务的优先级。
当然,还可以其他确定采集任务优先级的方式,无论采用哪种方式确定采集任务的优先级均适用于本申请。
需要说明的是,在本申请实施例中,计算采集任务的优先级可以是在接收到任务获取请求之后,实时计算出的,相应的,以上实施例中的步骤102中确定多个采集任务的优先级顺序可以是依据当前计算出的各个采集任务的优先级确定出该多个采集任务的优先级顺序。
可选的,为了提高任务分配的效率,可以在接收到任务执行节点的任务获取请求之后,计算出各个待分配的采集任务的优先级以及优先级顺序。在需要确定优先级顺序时,可以直接获取当前的各个采集任务的优先级顺序。
可以理解的是,在计算出各个待分配的采集任务的优先级顺序之后,还可以:存储该多个采集任务的优先级顺序,以便后续直接获取优先级顺序。
进一步的,可以每隔预设时长重新确定一次采集任务的优先级顺序,当检测到采集任务的优先级更新后,利用更新后的采集任务的优先级替换当前时刻之前存储的采集任务的优先级。
对应本申请的一种任务调度装置,本申请实施例还提供了一种任务调度装置。
参见图3,其示出了本申请一种任务调度装置一个实施例的结构示意图,本实施例的装置可以应用于调度节点,本实施例的装置可以包括:
请求接收单元301,用于接收任务执行节点的任务获取请求,所述任务获取请求用于请求采集任务,所述采集任务用于采集网络中信息节点的状态变化数据;
优先级确定单元302,用于确定当前待调度的多个采集任务的优先级顺序;
任务确定单元303,用于依据所述优先级顺序,从所述多个采集任务中确定当前待分配的至少一个目标采集任务;
任务分配单元304,用于将所述至少一个目标采集任务分配给所述任务执行节点。
可选的,在一种可能的实现方式中,该任务调度装置还可以包括:
特征获取单元,用于在所述优先级确定单元确定当前时刻待调度的多个采集任务的优先级顺序之前,获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括所述信息节点的生成时间;
优先级计算单元,用于针对每个所述采集任务,基于所述采集任务对应的信息节点的生成时刻距离当前时刻的时长,确定所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
可选的,在另一种可能的实现方式中,该装置还可以包括:
特征获取单元,用于在所述优先级确定单元确定当前时刻待调度的多个采集任务的优先级顺序之前,获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括信息节点所属的话题类型;
规则确定单元,用于依据所述信息节点所属的话题类型,确定所述话题类型的优先级变化规则;
优先级计算单元,用于基于当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
可选的,在另一种可能的实现方式中,该装置还可以包括:
特征获取单元,用于在所述优先级确定单元确定当前时刻待调度的多个采集任务的优先级顺序之前,获取所述多个采集任务所对应的信息节点的特征信息,所述特征信息包括所述信息节点的生成时间以及信息节点所属的话题类型;
规则确定单元,用于依据所述信息节点所属的话题类型,确定所述话题类型的优先级变化规则;
优先级计算单元,用于基于所述采集任务对应的信息的生成时刻、当前时刻以及所述优先级变化规则,确定当前时刻所述采集任务的优先级,得到所述多个采集任务的优先级顺序。
可选的,在以上几种可能的实施例中,该装置还可以包括:
存储单元,用于存储确定出的所述多个采集任务的优先级顺序。
进一步的,所述装置还可以包括:更新单元,用于当检测到所述采集任务的优先级更新后,利用更新后的所述采集任务的优先级替换所述存储单元当前时刻之前存储的所述采集任务的优先级。
对于装置实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。