调度方法、装置、服务器及计算机存储介质
文献发布时间:2023-06-19 16:09:34
技术领域
本发明实施例涉及数据处理技术领域,具体涉及一种调度方法、装置、服务器及计算机存储介质。
背景技术
随着科技及社会的不断发展,各类互联网服务的出现极大丰富了人们的工作与生活。其中,为了缩短服务延迟以及提高服务质量,一些互联网服务采用了边缘服务器的服务部署方式。该服务部署方式具体是由每个边缘服务器提供或管理部分业务服务,以直播服务为例,每个边缘服务器负责其对应区域的直播服务。
在实际的服务过程中,通常会存在许多依赖全量数据的定期任务。目前每个依赖全量数据的定期任务在执行时,均是由各个任务按照其各自的执行周期自行从各个边缘服务器来汇总数据。然而,采用该种方式,会造成较多传输资源的浪费;并且边缘服务器需配置与每个任务的数据接口,从而增加边缘服务器的接口开销,并且在业务任务较多时,会增加边缘服务器的短时负载,影响边缘服务器的正常运行。
发明内容
鉴于现有技术中存在传输资源浪费、边缘服务器接口开销大及容易引起边缘服务器短时负载高的技术问题,提出了本发明实施例,以便提供一种克服上述问题或者至少部分地解决上述问题的调度方法、装置、服务器及计算机存储介质。
根据本发明实施例的第一方面,提供了一种调度方法,包括:
获取至少一个预设任务的全量数据获取周期;其中,所述预设任务为具有定期获取全量数据需求的任务;
根据各个全量数据获取周期,确定全量数据调度周期;
按照所述全量数据调度周期获取各个边缘服务器中的数据;
在每次获取各个边缘服务器中数据的过程中,从所述预设任务中识别出目标任务,并将获取到的边缘服务器中的数据发送给所述目标任务;其中,目标任务对应的上次数据接收时间与当前时间的时间间隔与目标任务的全量数据获取周期相匹配。
在一种可选的实施方式中,所述根据各个全量数据获取周期,确定全量数据调度周期进一步包括:计算全量数据获取周期的最大公约数;将所述最大公约数确定为所述全量数据调度周期。
在一种可选的实施方式中,所述方法还包括:在每次获取各个边缘服务器中的数据后,更新全量数据调度次数;
针对于任一预设任务,记录该预设任务的全量数据获取周期与所述全量数据调度周期的第一比值,以及记录该预设任务在注册时的全量数据调度次数;
则所述从所述预设任务中识别出目标任务进一步包括:针对于任一预设任务,计算该预设任务的第二比值;若预设任务的第二比值为整数,则将该预设任务确定为目标任务;
其中,该预设任务的第二比值=(当前的全量数据调度次数与该预设任务在注册时的全量数据调度次数的差值)/该预设任务的第一比值。
在一种可选的实施方式中,所述方法还包括:在每次获取各个边缘服务器中数据的过程中,接收目标任务反馈的状态信息;
根据所述状态信息控制向所述目标任务发送数据的速度。
在一种可选的实施方式中,所述根据所述状态信息控制向所述目标任务发送数据的速度进一步包括:
若所述状态信息为第一状态,则控制向所述目标任务发送数据的速度为零;
若所述状态信息为第二状态,则保持向所述目标任务发送数据的速度不变;
若所述状态信息为第三状态,则提高向所述目标任务发送数据的速度;
若所述状态信息为第四状态,则降低向所述目标任务发送数据的速度。
在一种可选的实施方式中,所述方法还包括:接收至少一个预设任务的注册请求,对所述至少一个预设任务进行注册;基于所述注册请求,记录所述至少一个预设任务的全量数据获取周期;
则所述获取至少一个预设任务的全量数据获取周期进一步包括:获取记录的至少一个预设任务的全量数据获取周期。
在一种可选的实施方式中,所述方法还包括:基于所述注册请求,记录所述至少一个预设任务的回调地址;则所述将获取到的边缘服务器中的数据发送给所述目标任务进一步包括:基于目标任务的回调地址,将获取到的边缘服务器中的数据发送给所述目标任务;
和/或,所述方法还包括:基于所述注册请求,记录所述至少一个预设任务的回调参数;则所述将获取到的边缘服务器中的数据发送给所述目标任务进一步包括:从获取到的各个边缘服务器的数据中提取与目标任务的回调参数匹配的目标数据,将所述目标数据发送给所述目标任务。
根据本发明的第二方面,提供了一种调度装置,包括:
第一周期获取模块,用于获取至少一个预设任务的全量数据获取周期;其中,所述预设任务为具有定期获取全量数据需求的任务;
第二周期获取模块,用于根据各个全量数据获取周期,确定全量数据调度周期;
数据获取模块,用于按照所述全量数据调度周期获取各个边缘服务器中的数据;
数据发送模块,用于在每次获取各个边缘服务器中数据的过程中,从所述预设任务中识别出目标任务,并将获取到的边缘服务器中的数据发送给所述目标任务;其中,目标任务对应的上次数据接收时间与当前时间的时间间隔与目标任务的全量数据获取周期相匹配。
在一种可选的实施方式中,所述第二周期获取模块进一步用于:计算全量数据获取周期的最大公约数;将所述最大公约数确定为所述全量数据调度周期。
在一种可选的实施方式中,所述装置还包括:记录模块,在每次获取各个边缘服务器中的数据后,更新全量数据调度次数;以及针对于任一预设任务,记录该预设任务的全量数据获取周期与所述全量数据调度周期的第一比值,以及记录该预设任务在注册时的全量数据调度次数;
则所述数据发送模块进一步用于:针对于任一预设任务,计算该预设任务的第二比值;若预设任务的第二比值为整数,则将该预设任务确定为目标任务;其中,该预设任务的第二比值=(当前的全量数据调度次数与该预设任务在注册时的全量数据调度次数的差值)/该预设任务的第一比值。
在一种可选的实施方式中,所述装置还包括:状态接收模块,用于在每次获取各个边缘服务器中数据的过程中,接收目标任务反馈的状态信息;
速度控制模块,用于根据所述状态信息控制向所述目标任务发送数据的速度。
在一种可选的实施方式中,所述速度控制模块进一步用于:若所述状态信息为第一状态,则控制向所述目标任务发送数据的速度为零;
若所述状态信息为第二状态,则保持向所述目标任务发送数据的速度不变;
若所述状态信息为第三状态,则提高向所述目标任务发送数据的速度;
若所述状态信息为第四状态,则降低向所述目标任务发送数据的速度。
在一种可选的实施方式中,所述装置还包括:注册模块,用于接收至少一个预设任务的注册请求,对所述至少一个预设任务进行注册;基于所述注册请求,记录所述至少一个预设任务的全量数据获取周期;
则所述第一周期获取模块进一步用于:获取记录的至少一个预设任务的全量数据获取周期。
在一种可选的实施方式中,所述装置还包括:记录模块,用于基于所述注册请求,记录所述至少一个预设任务的回调地址;则所述数据发送模块进一步用于:基于目标任务的回调地址,将获取到的边缘服务器中的数据发送给所述目标任务;
和/或,所述装置还包括:记录模块用于基于所述注册请求,记录所述至少一个预设任务的回调参数;则所述数据发送模块进一步用于:从获取到的各个边缘服务器的数据中提取与目标任务的回调参数匹配的目标数据,将所述目标数据发送给所述目标任务。
根据本发明实施例第三方面,提供了一种调度服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述调度方法对应的操作。
根据本发明实施例第四方面,提供了一种调度系统,包括:调度服务器、多个边缘服务器、以及至少一个用于执行预设任务的任务执行设备。
根据本发明实施例的第五方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述调度方法对应的操作。
本发明实施例能够按照全量数据调度周期来从边缘服务器中调度全量数据,并将全量数据转发给当前达到全量数据获取周期的目标任务,从而本发明实施例能够节约传输资源及降低传输开销,减少边缘服务器的接口开销,并降低边缘服务器的短时负载;而且,本发明实施例中全量数据调度周期是根据预设任务的全量数据获取周期确定的,由此能够满足预设任务的全量数据获取需求,保障预设任务的正常执行。
本发明实施例计算全量数据获取周期的最大公约数,将最大公约数确定为全量数据调度周期,从而能够在满足预设任务的定期获取全量数据需求的基础上,减少全量数据的获取次数,节约传输及系统资源。
本发明实施例在每次获取各个边缘服务器中的数据后,更新全量数据调度次数,并记录该预设任务的全量数据获取周期与全量数据调度周期的第一比值,以及记录该预设任务在注册时的全量数据调度次数;针对于任一预设任务,计算该预设任务的第二比值;若预设任务的第二比值为整数,则将该预设任务确定为目标任务,由此能够提升目标任务的识别效率。
本发明实施例在每次获取各个边缘服务器中数据的过程中,接收目标任务反馈的状态信息;根据状态信息控制向目标任务发送数据的速度,能够使得向目标任务发送数据的速度与目标任务的实际情况相适配,节约计算资源以及保障目标任务的高效执行。
本发明实施例在状态信息为第一状态时,控制向目标任务发送数据的速度为零,以使得目标任务不再需要全量数据时终止全量数据的发送,从而节约传输资源;在状态信息为第二状态,保持向目标任务发送数据的速度不变,以维持当前的发送速度,提升数据发送速度与目标任务实际处理情况的匹配度;若状态信息为第三状态,则提高向目标任务发送数据的速度,从而在目标任务的任务执行设备处理效率高的情况下,提高目标任务的发送速度,保障目标任务的高效执行;若状态信息为第四状态,则降低向目标任务发送数据的速度,以避免目标任务的任务执行设备出现过多数据堆积,避免影响目标任务的正常执行。
本发明实施例预先接收至少一个预设任务的注册请求,对所述至少一个预设任务进行注册;基于所述注册请求,记录所述至少一个预设任务的全量数据获取周期;并获取记录的至少一个预设任务的全量数据获取周期,从而便于对预设任务进行集中管理。
本发明实施例基于注册请求,记录所述至少一个预设任务的回调地址;基于目标任务的回调地址,将获取到的边缘服务器中的数据发送给所述目标任务,由此能够保障数据发送的准确性;和/或,本发明实施例基于注册请求,记录所述至少一个预设任务的回调参数,从获取到的各个边缘服务器的数据中提取与目标任务的回调参数匹配的目标数据,将所述目标数据发送给所述目标任务,由此能够保障发送的数据类型与目标任务需求相适配。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种调度方法的流程示意图;
图2示出了本发明实施例提供的一种数据调度示意图;
图3示出了本发明实施例提供的另一种数据调度示意图;
图4示出了本发明实施例提供的另一种调度方法的流程示意图;
图5示出了本发明实施例提供的又一种调度方法的流程示意图;
图6示出了本发明实施例提供的再一种调度方法的流程示意图;
图7示出了本发明实施例提供的一种调度装置的结构示意图;
图8示出了本发明实施例提供的一种调度服务器的结构示意图;
图9示出了本发明实施例提供的一种调度系统的结构示意图;
具体实施方式
下面将参照附图更详细地描述本发明实施例的示例性实施例。虽然附图中显示了本发明实施例的示例性实施例,然而应当理解,可以以各种形式实现本发明实施例而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明实施例,并且能够将本发明实施例的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的一种调度方法的流程示意图。其中,本实施例所提供的调度方法可以由预设的调度服务器等执行。
具体地,如图1所示,该方法包括如下步骤:
步骤S110,获取至少一个预设任务的全量数据获取周期;其中,预设任务为具有定期获取全量数据需求的任务。
在采用边缘服务器的目标服务部署方式中,目标服务由多个边缘服务器共同提供,每个边缘服务器可以负责目标服务的部分功能,或者每个边缘服务器可以负责部分区域内用户的目标服务。每个边缘服务器在提供目标服务的过程中,通常会获取、产生和/或管理相应的服务数据,然而由于边缘服务器仅负责目标服务的部分功能,或者边缘服务器仅负责部分区域内用户的目标服务,由此针对于目标服务的某个数据维度,每个边缘服务器仅仅负责目标服务该维度下的部分数据,则所有边缘服务器中该维度下的数据的总和便是目标服务该维度下的全量数据。以目标服务为直播服务为例,每个边缘服务器负责相应区域内用户的直播流服务,由此每个边缘服务器仅能够获得部分直播流的数据。则针对于直播服务的当前流码率维度,该直播服务对应的所有当前运行的直播流的码率数据即为直播服务的当前流码率维度下的全量数据,换言之,该直播服务对应的所有边缘服务器中当前运行的直播流的码率数据的总和即为直播服务的当前流码率维度下全量数据。
在实际应用过程中,通常会存在许多具有定期获取全量数据需求的任务。以直播服务为例,通常会存在定期修改全量直播流中属性的任务、或者定期对全量直播流进行数据统计的任务、又或者定期识别异常直播流的任务等等。则该类具有定期获取全量数据需求的任务即为预设任务。此外,本发明实施例对任务的具体类型等不作限定,例如该任务可以为脚本任务,还可以为服务任务或其他任务等等。
每个预设任务根据其自身的任务配置,通常需要定期地获取目标服务中指定维度下的全量数据,预设任务获取目标服务中指定维度下的全量数据的周期便是该预设任务的全量数据获取周期,即每个预设任务需要按照其各自的全量数据获取周期来定期地获得全量数据。例如,预设任务T
步骤S120,根据各个全量数据获取周期,确定全量数据调度周期。
与现有技术不同的是,本发明实施例是由调度服务器来统一按照全量数据调度周期来获取全量数据,并将全量数据分发给各个预设任务。其中,该全量数据调度周期是根据预设任务的全量数据获取周期确定的,并且全量数据调度周期小于或等于全量数据获取周期,即调度服务器可以按照全量数据调度周期细粒度地调度全量数据,以满足不同预设任务的全量数据获取周期。
其中,本发明实施例对确定全量数据调度周期的具体方式不作限定:例如,可以将小于或等于各个全量数据获取周期的细粒度单元时间(如10秒等)确定为全量数据调度周期;又或者,还可以将全量数据获取周期的最大公约数作为全量数据调度周期等等。
步骤S130,按照全量数据调度周期获取各个边缘服务器中的数据。
调度服务器按照步骤S120确定出的全量数据调度周期来获取各个边缘服务器中的数据,从而按照全量数据调度周期来获取全量数据。例如,调度服务器可以依次遍历各个边缘服务器来获得全量数据;又或者,在直播服务中,通常设置有流状态子服务,各个边缘服务器会及时上报直播流的相关信息,由此调度服务器在获取全量数据时,可以先遍历边缘服务器来获得当前的直播流标识,继而利用获取到的直播流标识从流状态子服务中获取对应的流状态数据等等。
步骤S140,在每次获取各个边缘服务器中数据的过程中,从预设任务中识别出目标任务,并将获取到的边缘服务器中的数据发送给目标任务;其中,目标任务对应的上次数据接收时间与当前时间的时间间隔与目标任务的全量数据获取周期相匹配。
在每次达到全量数据调度周期时,执行一次全量数据获取过程,即执行一次获取各个边缘服务器中数据的过程。在每次获取各个边缘服务器中数据的过程中,调度服务器从预设任务中识别出当前达到全量数据获取周期的任务,该任务即为目标任务。换言之,在每次获取各个边缘服务器中数据的过程中,若某任务对应的上次数据接收时间与当前时间的时间间隔和该任务的全量数据获取周期匹配时,表明当前已达到该任务的全量数据获取周期,由此将该任务作为目标任务,调度服务器并将本次获取到的数据发送给该目标任务。
以下结合图2及图3来详细阐明本发明实施例所提供的方案:在图2所示的数据调度示意图中,是由预设任务1以及预设任务2分别按照各自的全量数据获取周期依次从各个边缘服务器中获取数据,采用该种方式边缘服务器需要维护与多个预设任务之间的接口及传输链路,增加传输开销及传输成本,并且接口开销较大,而且在多个预设任务的数据请求时间相同时,边缘服务器需分别处理多个预设任务的数据请求,由此容易引起短时负荷较高的情况;而在图3所示的数据调度示意图中,由调度服务器来统一处理预设任务1及预设任务2的全量数据获取请求,并由调度服务器按照确定的全量数据调度周期来从各个边缘服务器中调度数据,并发送给相应的预设任务,由此相较于图2所示数据调度方案,图3所示调度方案能够节约传输资源及降低传输开销,并降低边缘服务器的接口开销,以及降低边缘服务器出现短时负荷高的现象。
由此可见,本发明实施例能够按照全量数据调度周期从边缘服务器中调度全量数据,并将全量数据转发给当前达到全量数据获取周期的目标任务,从而本发明实施例能够节约传输资源及降低传输开销,减少边缘服务器的接口开销,并降低边缘服务器的短时负载;而且本发明实施例中全量数据调度周期是根据预设任务的全量数据获取周期确定的,由此能够满足预设任务的全量数据获取需求,保障预设任务的正常执行。
图4示出了本发明实施例提供的另一种调度方法的流程示意图。其中,本实施例所提供的调度方法可以由预设的调度服务器等执行。
具体地,如图4所示,该方法包括如下步骤:
步骤S410,接收至少一个预设任务的注册请求,对至少一个预设任务进行注册;基于注册请求,记录至少一个预设任务的全量数据获取周期、回调地址、和/或回调参数。
为便于对预设任务进行集中管理,预先对请求接入的至少一个预设任务进行注册。其中,具体是在接收到任一预设任务的注册请求之后,根据该预设任务的注册请求记录该预设任务的全量数据获取周期、回调地址、和/或回调参数。可选的,为进一步对预设任务的相关数据进行管理,可以生成预设任务记录表,在该预设任务记录表中记录注册的各个预设任务的任务标识、全量数据获取周期、回调地址、和/或回调参数等等。
在一种可选的实施方式中,还可以接收已注册预设任务的注销请求或休眠请求,并基于该注销请求对相应的已注册预设任务进行注销,或者基于该休眠请求对相应的已注册预设任务进行休眠。在对已注册预设任务进行注销后,从预设任务记录表中删除该已注册预设任务的记录信息;或者,在对已注册预设任务进行休眠后,在预设任务记录表中添加该已注册预设任务的休眠标记及休眠时段,以便于后续在该休眠时段内不再向该已注册预设任务发送全量数据。
步骤S420,获取至少一个预设任务的全量数据获取周期。
在一种可选的实施方式中,若当前不存在分配有休眠标识的预设任务,和/或,当前每个预设任务对应于一个全量数据获取周期,则可以获取记录的至少一个预设任务的全量数据获取周期。
在一种可选的实施方式中,若当前存在分配有休眠标识的预设任务,和/或,当前至少一个预设任务对应于多个全量数据获取周期,则本步骤具体是获取当前有效的全量数据获取周期,从而后续可以基于当前有效的全量数据获取周期确定全量数据调度周期,由此来提升全量数据调度周期的确定精度。具体地,若某预设任务分配有休眠标记,并且该预设任务当前处于休眠时段,则确定该预设任务的全量数据获取周期为无效的全量数据获取周期,则本步骤不再获取该预设任务的全量数据获取周期,即该预设任务的全量数据获取周期不参与后续全量数据调度周期的计算;和/或,若某预设任务对应于多个全量数据获取周期,每个全量数据获取周期对应于一个执行时段,则本步骤在获取时具体是确定出包含当前时间的执行时段,继而获取该执行时段对应的全量数据获取周期,即当前时间所在执行时段对应的全量数据获取周期为有效的全量数据获取周期。例如,预设任务T
步骤S430,根据各个全量数据获取周期,确定全量数据调度周期。
步骤S440,按照全量数据调度周期获取各个边缘服务器中的数据。
为了避免获取无效数据,本发明实施例获取当前已注册的各个预设任务的回调参数,并将各个预设任务的回调参数加入回调参数集合中,并剔除回调参数集合中的重复回调参数,继而获取各个边缘服务器中与回调参数集合中各个回调参数匹配的数据。
步骤S450,在每次获取各个边缘服务器中数据的过程中,从预设任务中识别出目标任务,从获取到的各个边缘服务器的数据中提取与目标任务的回调参数匹配的目标数据,并基于目标任务的回调地址将目标数据发送给目标任务。
在每次进行全量数据获取过程中,即每次获取各个边缘服务器中数据的过程中,识别出当前已达到相应全量数据获取周期的目标任务,并从获取到的数据中提取出与目标任务的回调参数匹配的目标数据,并基于目标任务的回调地址将目标数据发送给目标任务。
由此可见,本发明实施例在能够节约传输资源、降低传输开销,减少边缘服务器中接口开销及降低边缘服务器的短时负载,满足预设任务的全量数据获取需求以保障预设任务的正常执行的基础上,预先对请求接入的预设任务进行注册,从而便于对预设任务的集中管理;而且本发明实施例记录预设任务的回调地址,并基于该回调地址向目标任务反馈数据,从而保障数据传输的准确性;再者,本发明实施例记录预设任务的回调参数,并将与目标任务的回调参数匹配的目标数据反馈给目标任务,从而保障数据传输的准确性,并避免向目标任务传输无效数据,节约传输资源。
图5示出了本发明实施例提供的又一种调度方法的流程示意图。其中,本实施例所提供的调度方法可以由预设的调度服务器等执行。
具体地,如图5所示,该方法包括如下步骤:
步骤S510,获取至少一个预设任务的全量数据获取周期。
步骤S520,计算全量数据获取周期的最大公约数,将该最大公约数确定为全量数据调度周期。
对当前获取的全量数据获取周期进行最大公约数计算,并将该最大公约数确定为全量数据调度周期,由此各个全量数据获取周期均是全量数据调度周期的整数倍数,调度服务器可以每隔n次将获取到的数据发送给相应的预设任务,以满足预设任务的全量数据定期获取需求。而且全量数据调度周期是全量数据获取周期的最大公约数,从而能够在满足预设任务的全量数据定期获取需求上,减少调度服务器获取数据的频次。
步骤S530,按照全量数据调度周期获取各个边缘服务器中的数据。
步骤S540,在每次获取各个边缘服务器中数据的过程中,针对于任一预设任务,计算该预设任务的第二比值,基于预设任务的第二比值识别目标任务。
为了能够快速地识别出目标任务,本发明实施例在每次获取各个边缘服务器中的数据后,更新全量数据调度次数,该全量数据调度次数具体是当前已执行的从边缘服务器中获取数据的次数。例如,第一次全量数据调度时间为1:00,全量数据调度周期为1小时,若当前时间为2:30,则表明当前已执行了两次全量数据调度,则当前的全量数据调度次数为2。
进一步地,每个预设任务在注册时,还需记录预设任务的全量数据获取周期与全量数据调度周期的第一比值,以及记录该预设任务在注册时的全量数据调度次数。沿用上段示例,若预设任务T
在每次获取各个边缘服务器中数据的过程中,针对于任一预设任务,计算该预设任务的第二比值,若预设任务的第二比值为整数,表明当前已达到该预设任务的全量数据获取周期,则将该预设任务确定为目标任务。其中,该预设任务的第二比值=(当前的全量数据调度次数与该预设任务在注册时的全量数据调度次数的差值)/该预设任务的第一比值。沿用上段示例,若当前的全量数据调度次数为7,则当前的全量数据调度次数与预设任务T
步骤S550,将获取到的边缘服务器中的数据发送给目标任务。
由此可见,本发明实施例在能够节约传输资源、降低传输开销,减少边缘服务器中接口开销及降低边缘服务器的短时负载,满足预设任务的全量数据获取需求以保障预设任务的正常执行的基础上,将全量数据获取周期的最大公约数确定为全量数据调度周期,由此在满足预设任务的全量数据获取需求的情况下,进一步减少全量数据获取频次,节约传输资源,并避免对边缘服务器造成过多干扰;而且本发明实施例根据预设任务的第二比值是否为整数能够快速地识别出目标任务,提升目标任务的识别效率。
图6示出了本发明实施例提供的再一种调度方法的流程示意图。其中,本发明实施例所提供的调度方法可以由预设的调度服务器等执行。
具体地,如图6所示,该方法包括如下步骤:
步骤S610,获取至少一个预设任务的全量数据获取周期。
步骤S620,根据各个全量数据获取周期,确定全量数据调度周期。
步骤S630,按照全量数据调度周期获取各个边缘服务器中的数据。
步骤S640,在每次获取各个边缘服务器中数据的过程中,从预设任务中识别出目标任务,并将获取到的边缘服务器中的数据发送给目标任务;以及接收目标任务反馈的状态信息,根据状态信息控制向目标任务发送数据的速度。
具体地,若状态信息为第一状态,表明目标任务当前已无需后续的全量数据,则控制向目标任务发送数据的速度为零,从而节约传输资源;若状态信息为第二状态,则表明当前目标任务的处理状态与上一时刻相同,则保持向目标任务发送数据的速度不变;若状态信息为第三状态,则表明目标任务所在任务执行设备的处理能力提高,则提高向目标任务发送数据的速度;若状态信息为第四状态,则表明目标任务所在任务执行设备的处理能力降低,降低向目标任务发送数据的速度。
由此可见,本发明实施例在能够节约传输资源、降低传输开销,减少边缘服务器中接口开销及降低边缘服务器的短时负载,满足预设任务的全量数据获取需求以保障预设任务的正常执行的基础上,接收目标任务反馈的状态信息,根据状态信息控制向目标任务发送数据的速度,以向目标任务发送数据的速度与目标任务的实际执行情况相适配。
图7示出了本发明实施例提供的一种调度装置的结构示意图。如图7所示,调度装置700包括:第一周期获取模块710、第二周期获取模块720、数据获取模块730以及数据发送模块740。
第一周期获取模块710,用于获取至少一个预设任务的全量数据获取周期;其中,所述预设任务为具有定期获取全量数据需求的任务;
第二周期获取模块720,用于根据各个全量数据获取周期,确定全量数据调度周期;
数据获取模块730,用于按照所述全量数据调度周期获取各个边缘服务器中的数据;
数据发送模块740,用于在每次获取各个边缘服务器中数据的过程中,从所述预设任务中识别出目标任务,并将获取到的边缘服务器中的数据发送给所述目标任务;其中,目标任务对应的上次数据接收时间与当前时间的时间间隔与目标任务的全量数据获取周期相匹配。
在一种可选的实施方式中,所述第二周期获取模块进一步用于:计算全量数据获取周期的最大公约数;将所述最大公约数确定为所述全量数据调度周期。
在一种可选的实施方式中,所述装置还包括:记录模块,在每次获取各个边缘服务器中的数据后,更新全量数据调度次数;以及针对于任一预设任务,记录该预设任务的全量数据获取周期与所述全量数据调度周期的第一比值,以及记录该预设任务在注册时的全量数据调度次数;
则所述数据发送模块进一步用于:针对于任一预设任务,计算该预设任务的第二比值;若预设任务的第二比值为整数,则将该预设任务确定为目标任务;其中,该预设任务的第二比值=(当前的全量数据调度次数与该预设任务在注册时的全量数据调度次数的差值)/该预设任务的第一比值。
在一种可选的实施方式中,所述装置还包括:状态接收模块,用于在每次获取各个边缘服务器中数据的过程中,接收目标任务反馈的状态信息;
速度控制模块,用于根据所述状态信息控制向所述目标任务发送数据的速度。
在一种可选的实施方式中,所述速度控制模块进一步用于:若所述状态信息为第一状态,则控制向所述目标任务发送数据的速度为零;
若所述状态信息为第二状态,则保持向所述目标任务发送数据的速度不变;
若所述状态信息为第三状态,则提高向所述目标任务发送数据的速度;
若所述状态信息为第四状态,则降低向所述目标任务发送数据的速度。
在一种可选的实施方式中,所述装置还包括:注册模块,用于接收至少一个预设任务的注册请求,对所述至少一个预设任务进行注册;基于所述注册请求,记录所述至少一个预设任务的全量数据获取周期;
则所述第一周期获取模块进一步用于:获取记录的至少一个预设任务的全量数据获取周期。
在一种可选的实施方式中,所述装置还包括:记录模块,用于基于所述注册请求,记录所述至少一个预设任务的回调地址;则所述数据发送模块进一步用于:基于目标任务的回调地址,将获取到的边缘服务器中的数据发送给所述目标任务。
和/或,所述装置还包括:记录模块用于基于所述注册请求,记录所述至少一个预设任务的回调参数;则所述数据发送模块进一步用于:从获取到的各个边缘服务器的数据中提取与目标任务的回调参数匹配的目标数据,将所述目标数据发送给所述目标任务。
本实施例所提供的各个模块的具体实施过程可参照相应方法实施例中的描述,在此不作赘述。
由此可见,本发明实施例能够按照全量数据调度周期来从边缘服务器中调度全量数据,并将全量数据转发给当前达到全量数据获取周期的目标任务,从而本发明实施例能够节约传输资源及降低传输开销,减少边缘服务器的接口开销,并减少边缘服务器出现短时负载过高的现象;而且本发明实施例中全量数据调度周期是根据预设任务的全量数据获取周期确定的,由此能够满足预设任务的全量数据获取需求,保障预设任务的正常执行。
图8示出了本发明实施例提供的一种调度服务器的结构示意图。本发明实施例具体实施例并不对调度服务器的具体实现做限定。
如图8所示,该调度服务器可以包括:处理器(processor)802、通信接口(Communications Interface)804、存储器(memory)806、以及通信总线808。
其中:处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。处理器802,用于执行程序810,具体可以执行上述用于调度方法实施例中的相关步骤。
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。调度服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器806,用于存放程序810。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序810具体可以用于使得处理器802执行上述任一方法实施例中的方法。
图9示出了本发明实施例提供的一种调度系统的结构示意图。如图9所示,调度系统900包括:调度服务器800、多个边缘服务器910、以及至少一个用于执行预设任务的任务执行设备920。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的调度方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明实施例并帮助理解各个发明方面中的一个或多个,在上面对本发明实施例的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明实施例的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明实施例进行说明而不是对本发明实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
- 一种调度方法、调度服务器及计算机可读存储介质
- 调度方法、装置、服务器及计算机存储介质