本发明涉及缓存调度,尤其涉及的是一种预测缓存服务的在线调度方法及装置。
背景技术:
1、当前社会移动数据服务越来越广泛,且数据量越来越庞大,从而移动网络的体量也越来越大,因此数据服务也越来越重要。当前最广泛使用的数据传递网络是contentdelivery network(cdn),它维护一个缓存服务器集群,对于客户端请求,经过一定的算法计算得到最优的缓存服务器来进行服务,以求尽可能低的总成本。但是当前cdn服务中的服务器集群的拓扑结构过于集中化以至于不能满足一些关键服务,并且随着越来越多的应用部署,cdn需要扩张更多的缓存资源来增强服务。为满足这些要求,对传统cdn的扩展不仅需要增强可达性,而且要兼顾服务效率,即服务时延。
2、当前,边缘计算越来越流行,由于边缘网络更靠近用户,如果用边缘网络来做cdn的扩展,便可以提供更快且适应性高的数据服务给用户,即基于边缘计算的cdn。在这样的cdn架构下,数据缓存架构是基于ttl的,因此设计一个低服务成本和传输成本的缓存结构是非常有必要的,即不仅要降低总的数据传输的成本,也要降低总的服务成本。而这个问题就是cdn的缓存调度问题,它对基于边缘计算的cdn网络是非常重要的。
3、然而,目前针对cdn的缓存调度问题,调度决策依然达不到最低的调度成本。
4、因此,现有技术存在缺陷,有待改进与发展。
技术实现思路
1、本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种预测缓存服务的在线调度方法及装置,旨在解决现有技术中针对cdn的缓存调度问题,调度决策依然达不到较低的调度成本的问题。
2、本发明解决技术问题所采用的技术方案如下:
3、一种预测缓存服务的在线调度方法,所述方法包括:
4、当接收到对目标数据的第一请求时,获得所述第一请求的请求时刻;
5、更新所在服务器集群在所述请求时刻下的调度成本信息,并获取服务器集群中对目标数据的第二请求对应的预测到来时间和预测目标服务器;
6、根据所述调度成本信息和所述预测到来时间估算运行预设预测调度算法的最坏竞争比;
7、若所述最坏竞争比小于或等于预设阈值,则根据所述预测到来时间和所述预测目标服务器运行所述预设预测调度算法,得到最优调度决策。
8、可选地,所述第一请求包括请求的目标服务器和请求时刻,所述预测到来时间和所述预测目标服务器由预测器对服务器集群上第二请求的到来时刻和目标服务器进行预测得到。
9、可选地,根据所述调度成本信息和所述预测到来时间估算运行预设预测调度算法的最坏竞争比,包括:
10、根据所述预测到来时间得到所述第二请求的实际到来时间所处的时刻阈值范围,所述时刻阈值范围包括:第一时刻阈值范围、第二时刻阈值范围和第三时刻阈值范围;
11、估算所述实际到来时间处于所述第一时刻阈值范围时运行预设预测调度算法的第一竞争比;
12、估算所述实际到来时间处于所述第二时刻阈值范围时运行预设预测调度算法的第二竞争比;
13、估算所述实际到来时间处于所述第三时刻阈值范围时运行预设预测调度算法的第三竞争比;
14、将所述第一竞争比、所述第二竞争比和所述第三竞争比中的最大值作为最坏竞争比;
15、其中,所述第一时刻阈值范围为所述请求时刻至所述预测到来时间之间的时刻;所述第二时刻阈值范围为所述预测到来时间至常量时刻之间的时刻,所述常量时刻由所述预测到来时间与常量时长之和得到,所述常量时长为预先计算得到,存储所述常量时长的目标数据所需的存储成本等于服务器间的传输成本;所述第三时刻阈值范围为大于所述常量时刻。
16、可选地,根据所述调度成本信息和所述预测到来时间估算运行预设预测调度算法的最坏竞争比之后,还包括:
17、若所述最坏竞争比大于预设阈值,则运行预设反应式缓存算法;
18、所述调度成本信息包括:运行所述预设反应式缓存算法所产生的第一总调度成本、运行所述预设预测调度算法所产生的第二总调度成本,以及opt算法所产生的调度成本下界。
19、可选地,所述预设预测调度算法包括:第一场景预测算法和第二场景预测算法;
20、若所述最坏竞争比小于或等于预设阈值,则根据所述预测到来时间和所述预测目标服务器运行所述预设预测调度算法,得到最优调度决策,包括:
21、若所述最坏竞争比小于或等于预设阈值,则确定当前场景;
22、若当前场景为所述预测目标服务器是当前所在服务器,则运行所述第一场景预测算法,根据所述预测到来时间得到最优调度决策;
23、若当前场景为所述预测目标服务器不是当前所在服务器,则运行所述第二场景预测算法,根据所述预测到来时间得到最优调度决策;
24、其中,所述第一场景预测算法包括:第一条件下的第一子条件调度策略和第二子条件调度策略,及第二条件下的第三子条件调度策略和第四子条件调度策略;
25、所述第二场景预测算法包括:第一条件下的第五子条件调度策略,及第二条件下的第六子条件调度策略、第七子条件调度策略、第八子条件调度策略和第九子条件调度策略;
26、所述第一条件为:在所述请求时刻下,数据存活服务器数量大于1,所述数据存活服务器数量为所在服务器集群中当前缓存有所述目标数据的服务器数量;
27、所述第二条件为:在所述请求时刻下,数据存活服务器数量等于1。
28、可选地,所述第一子条件调度策略的运行步骤包括:
29、若所述预测到来时间处于预设第一时长范围,则缓存所述目标数据直至达到所述预测到来时间,所述预设第一时间范围为所述请求时刻至所述常量时刻之间的时间;
30、确定所述预测到来时间下的数据存活服务器数量;
31、若当前数据存活服务器数量大于1,则删除所述目标数据,并更新所述数据存活服务器数量;
32、若当前数据存活服务器数量等于1,则确定当前服务器对应的缓存成本编号,所述缓存成本编号是所在服务器集群中的服务器按照缓存成本由小到大的顺序进行排序后得到,将缓存成本编号最小的服务器作为第一服务器;
33、若当前服务器不为第一服务器,则将所述目标数据传输至所述第一服务器,若当前服务器为第一服务器,则执行第二条件下的第三子条件调度策略和第四子条件调度策略;
34、所述第二子条件调度策略的运行步骤包括:
35、若所述预测到来时间处于预设第二时长范围,则删除所述目标数据,并更新所述数据存活服务器数量;所述预设第二时长范围为大于所述常量时刻的时间;
36、所述第三子条件调度策略的运行步骤包括:
37、若所述预测到来时间处于预设第三时长范围,则保存所述目标数据直至达到所述预测到来时间,所述预测到来时间到来后将所述目标数据传输至第一服务器上,并删除,以使所述第一服务器将所述目标数据缓存至第二请求的实际到来时刻;
38、其中,所述预设第三时长范围为所述请求时刻至第一阈值时刻,在所述第一阈值时刻,所述目标数据在当前服务器缓存所用的缓存成本与传输至第一服务器缓存产生的调度成本相同;
39、所述第四子条件调度策略的运行步骤包括:
40、若所述预测到来时间处于预设第四时长范围,则将所述目标数据传输至第一服务器上,并删除,以使所述第一服务器将所述目标数据缓存至第二请求的实际到来时刻;所述预设第四时长范围为大于所述第一阈值时刻。
41、可选地,所述第五子条件调度策略的运行步骤包括:
42、删除所述目标数据并更新所述数据存活服务器数量;
43、所述第六子条件调度策略的运行步骤包括:
44、若所述预测目标服务器的缓存成本小于或等于当前所在服务器的缓存成本,且所述预测到来时间处于预设第五时长范围,则将所述目标数据传输至所述预测目标服务器,以使所述预测目标服务器将所述目标数据缓存至预测到来时间后将所述目标数据发送至第一服务器并删除,以使第一服务器将所述目标数据缓存至第二请求的实际到来时刻;
45、其中,所述预设第五时长范围为所述请求时刻至第二阈值时刻,在所述第二阈值时刻,所述目标数据在预测目标服务器缓存所用的缓存成本与传输至第一服务器缓存产生的调度成本相同;
46、所述第七子条件调度策略的运行步骤包括:
47、若所述预测目标服务器的缓存成本小于或等于当前所在服务器的缓存成本,且所述预测到来时间处于预设第六时长范围,则将所述目标数据传输至第一服务器并删除,以使第一服务器将所述目标数据缓存至第二请求的实际到来时刻;
48、其中,所述预设第六时长范围为大于所述第二阈值时刻;
49、所述第八子条件调度策略的运行步骤包括:
50、若所述预测目标服务器的缓存成本大于当前所在服务器的缓存成本,且所述预测到来时间处于预设第七时长范围,则缓存目标数据直至预测到来时间;
51、若第二请求没有到达,则将目标数据传输至第一服务器并删除,以使第一服务器缓存目标数据至第二请求的实际到来时刻;
52、若第二请求到达,则将目标数据传输至预测目标服务器上;
53、其中,所述预设第七时长范围为请求时刻至第三阈值时刻,在所述第三阈值时刻,所述目标数据在当前所在服务器上缓存至第二请求的实际到来时刻并经一次传输至预测目标服务器的总成本与传输至第一服务器缓存产生的调度成本相同;
54、所述第九子条件调度策略的运行步骤包括:
55、若所述预测目标服务器的缓存成本大于当前所在服务器的缓存成本,且所述预测到来时间处于预设第八时长范围,则将目标数据传输至第一服务器并删除,以使第一服务器将所述目标数据缓存至第二请求的实际到来时刻;
56、其中,所述预设第八时长范围为大于第三阈值时刻。
57、本发明还提供一种预测缓存服务的在线调度装置,包括:
58、接收模块,用于当接收到对目标数据的第一请求时,获得所述第一请求的请求时刻;
59、获取模块,用于更新所在服务器集群在所述请求时刻下的调度成本信息,并获取服务器集群中对目标数据的第二请求对应的预测到来时间和预测目标服务器;
60、估算模块,用于根据所述调度成本信息和所述预测到来时间估算运行预设预测调度算法的最坏竞争比;
61、决策模块,用于若所述最坏竞争比小于或等于预设阈值,则根据所述预测到来时间和所述预测目标服务器运行所述预设预测调度算法,得到最优调度决策。
62、本发明还提供一种终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的预测缓存服务的在线调度程序,所述预测缓存服务的在线调度程序被所述处理器执行时实现如上所述的预测缓存服务的在线调度方法的步骤。
63、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的预测缓存服务的在线调度方法的步骤。
64、本发明的有益效果:本发明实施例通过当接收到对目标数据的第一请求时,获得所述第一请求的请求时刻;更新所在服务器集群在所述请求时刻下的调度成本信息,并获取服务器集群中对目标数据的第二请求对应的预测到来时间和预测目标服务器;根据所述调度成本信息和所述预测到来时间估算运行预设预测调度算法的最坏竞争比;若所述最坏竞争比小于或等于预设阈值,则根据所述预测到来时间和所述预测目标服务器运行所述预设预测调度算法,得到最优调度决策。本发明利用预测的每个请求的下一次到来时间得到最坏竞争比,在最坏竞争比小于或等于预设阈值时,根据预测目标服务器运行预设预测调度算法计算出最优的调度决策,实现了较低的调度成本。