一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

节点调度方法、装置、电子设备及存储介质与流程

2022-10-13 05:26:21 来源:中国专利 TAG:


1.本公开涉及互联网技术领域,尤其涉及一种节点调度方法、装置、电子设备及存储介质。


背景技术:

2.随着5g(5th generation mobile communication technology,第五代移动通信技术)与边缘计算的快速发展,越来越多的带有存储与计算能力的设备接入网络,这些设备的存储、计算与带宽能力往往处于长期闲置状态,为了充分利用起这些资源减少资源浪费,也为了降低存储计算与带宽成本,将大量(百万级)的节点加入了cdn(content delivery network,内容分发网络)之中,但是这些节点的稳定性、服务能力和传统 cdn使用的 idc(internet data center,互联网数据中心)设备有巨大的差距,如何调度这些节点使其提供不弱于传统idc节点的cdn服务是需要解决的一个问题。
3.相关技术中,对于这些节点的调度,是对所有节点进行统一调度,在确定需要分发的文件数量和已有节点的数量后,根据需要分发的文件数量和已有节点的数量,将需要分发的文件统一分发至已有节点中。这种统一进行文件分发调度的方式,在文件数量过多、节点不满足需求时无法进行节点调度的水平扩展,会导致性能问题。


技术实现要素:

4.本公开提供一种节点调度方法、装置、电子设备及存储介质,以至少解决相关技术中节点调度无法扩展的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种节点调度方法,包括:获取待分发至内容分发网络中各节点的至少一个文件标识;针对每个所述文件标识,确定所述文件标识所对应的服务提供方标识,并将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中;响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,并将所述文件信息发送至所述目标节点,所述目标节点为所述各节点中的一个节点,用于获取并存储所述文件信息所对应的文件,所述目标服务提供方标识为所述服务提供方标识中的一个服务提供方标识。
5.可选的,所述获取待分发至内容分发网络中各节点的至少一个文件标识,包括:获取目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,作为待分发至各所述节点的至少一个文件标识,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数。
6.可选的,所述获取目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,包括:通过多重布隆过滤器对所述目标时间段内的文件标识进行过滤,得到请求次数大于或等于次数阈值的至少一个文件标识,所述多重布隆过滤器是由层数为所述次数阈值的
布隆过滤器堆叠而成。
7.可选的,通过多重布隆过滤器对所述目标时间段内的文件标识进行过滤,得到请求次数大于或等于次数阈值的至少一个文件标识,包括:使用多个哈希函数分别对所述目标时间段内的文件标识进行哈希计算,得到所述文件标识在每一层布隆过滤器中的多个映射位置;将每一层布隆过滤器中所述多个映射位置的元素值均为目标值的文件标识,确定为所述请求次数大于或等于次数阈值的至少一个文件标识,所述目标值用于表征所述文件标识在所述请求次数至少为所述次数阈值的集合中。
8.可选的,还包括:针对每个所述文件标识,获取所述文件标识在目标时间段内所对应的请求次数,并根据所述请求次数,确定所述文件标识所对应的分发份数;所述将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中,包括:将所述文件标识所对应的文件信息和分发份数存储于所述服务提供方标识所对应的分发环中。
9.可选的,将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中,包括:确定存储指针在所述分发环中所指向的环结点;将所述文件标识所对应的文件信息存储于所述环结点,并将所述存储指针后移。
10.可选的,响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,包括:响应于目标服务提供方标识所对应目标节点的存储请求,确定所述目标服务提供方标识所对应的目标分发环,并确定分发指针在所述目标分发环中所指向的环结点;从所述环结点获取所述文件信息,并将所述分发指针后移。
11.可选的,所述目标节点删除超过预设时间未被访问的文件,并发出所述存储请求。
12.可选的,还包括:获取各所述节点在当前调度周期的指标负载值,根据所述指标负载值确定各所述节点在所述当前调度周期的调度次数,所述指标负载值是所述节点的单个资源指标所对应的负载信息,所述调度次数是控制所述节点在当前调度周期进行访问调度的最大次数;在所述当前调度周期内,根据各所述节点的调度次数和所存储文件的文件标识,对所述内容分发网络中的各所述节点进行访问调度。
13.可选的,所述根据所述指标负载值确定各所述节点在所述当前调度周期的调度次数,包括:根据所述指标负载值,确定同一指标类型的汇聚指标负载值,所述汇聚指标负载值是同一所述指标类型的资源指标所对应的负载信息;根据所述指标类型所对应的汇聚指标负载值,对各所述节点在前一调度周期的调度次数进行增减处理,得到各所述节点在所述当前调度周期的调度次数。
14.可选的,所述指标类型包括资源类、异常类和质量类;所述根据指标类型所对应的汇聚指标负载值,对各所述节点在前一调度周期的调
度次数进行增减处理,得到各所述节点在所述当前调度周期的调度次数,包括:若所述资源类所对应的汇聚指标负载值未达到资源类最大值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行增加处理;若所述异常类所对应的汇聚指标负载值为异常值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;若所述质量类所对应的汇聚指标负载值超过质量类阈值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;将对各所述节点在前一调度周期的调度次数进行增加处理和/或删减处理后的调度次数,作为各所述节点在当前调度周期的调度次数。
15.可选的,在所述将所述文件信息发送至所述目标节点之后,还包括:将所述文件的文件标识所对应的目标节点的节点标识保存在存储索引中;所述在所述当前调度周期内,根据各所述节点的调度次数和所存储文件的文件标识,对所述内容分发网络中的各所述节点进行调度,包括:在所述当前调度周期内,根据各所述节点的调度次数和所述存储索引,对所述内容分发网络中的各所述节点进行访问调度。
16.根据本公开实施例的第二方面,提供一种节点调度装置,包括:文件标识获取模块,被配置区执行获取待分发至内容分发网络中各节点的至少一个文件标识;文件信息存储模块,被配置为执行针对每个所述文件标识,确定所述文件标识所对应的服务提供方标识,并将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中;文件信息分发模块,被配置为执行响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,并将所述文件信息发送至所述目标节点,所述目标节点为所述各节点中的一个节点,用于获取并存储所述文件信息所对应的文件,所述目标服务提供方标识为所述服务提供方标识中的一个服务提供方标识。
17.可选的,所述文件标识获取模块被配置为执行:获取目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,作为待分发至各所述节点的至少一个文件标识,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数。
18.可选的,所述文件标识获取模块包括:文件标识过滤单元,被配置为执行通过多重布隆过滤器对所述目标时间段内的文件标识进行过滤,得到请求次数大于或等于次数阈值的至少一个文件标识,所述多重布隆过滤器是由层数为所述次数阈值的布隆过滤器堆叠而成。
19.可选的,所述文件标识过滤单元包括:哈希计算子单元,被配置为执行使用多个哈希函数分别对所述目标时间段内的文件标识进行哈希计算,得到所述文件标识在每一层布隆过滤器中的多个映射位置;文件标识过滤子单元,被配置为执行将每一层布隆过滤器中所述多个映射位置的元素值均为目标值的文件标识,确定为所述请求次数大于或等于次数阈值的至少一个文件
标识,所述目标值用于表征所述文件标识在所述请求次数至少为所述次数阈值的集合中。
20.可选的,所述装置还包括:分发份数确定模块,被配置为执行针对每个所述文件标识,获取所述文件标识在目标时间段内所对应的请求次数,并根据所述请求次数,确定所述文件标识所对应的分发份数,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数;所述文件信息存储模块包括:第一文件信息存储单元,被配置为执行将所述文件标识所对应的文件信息和分发份数存储于所述服务提供方标识所对应的分发环中。
21.可选的,所述文件信息存储模块包括:第一环结点确定单元,被配置为执行确定存储指针在所述分发环中所指向的环结点;第二文件信息存储单元,被配置为执行将所述文件标识所对应的文件信息存储于所述环结点,并将所述存储指针后移。
22.可选的,所述文件信息分发模块包括:第二环结点确定单元,被配置为执行响应于目标服务提供方标识所对应目标节点的存储请求,确定所述目标服务提供方标识所对应的目标分发环,并确定分发指针在所述目标分发环中所指向的环结点;文件信息获取单元,被配置为执行从所述环结点获取所述文件信息,并将所述分发指针后移。
23.可选的,所述目标节点删除超过预设时间未被访问的文件,并发出所述存储请求。
24.可选的,所述装置还包括:调度次数获取模块,被配置为执行获取各所述节点在当前调度周期的指标负载值,根据所述指标负载值确定各所述节点在所述当前调度周期的调度次数,所述指标负载值是所述节点的单个资源指标所对应的负载信息,所述调度次数是控制所述节点在当前调度周期进行访问调度的最大次数;节点调度模块,被配置为执行在所述当前调度周期内,根据各所述节点的调度次数和所存储文件的文件标识,对所述内容分发网络中的各所述节点进行访问调度。
25.可选的,所述调度次数获取模块包括:汇聚负载值确定单元,被配置为执行根据所述指标负载值,确定同一指标类型的汇聚指标负载值,所述汇聚指标负载值是同一所述指标类型的资源指标所对应的负载信息;调度次数确定单元,被配置为执行根据指标类型所对应的汇聚指标负载值,对各所述节点在前一调度周期的调度次数进行增减处理,得到各所述节点在所述当前调度周期的调度次数。
26.可选的,所述指标类型包括资源类、异常类和质量类;所述调度次数确定单元被配置为执行:若所述资源类所对应的汇聚指标负载值未达到资源类最大值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行增加处理;若所述异常类所对应的汇聚指标负载值为异常值,则对所述汇聚指标负载值所对
应节点在前一调度周期的调度次数进行删减处理;若所述质量类所对应的汇聚指标负载值超过质量类阈值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;将对各所述节点在前一调度周期的调度次数进行增加处理和/或删减处理后的调度次数,作为各所述节点在当前调度周期的调度次数。
27.可选的,所述装置还包括:索引存储模块,被配置为执行将所述文件的文件标识所对应的目标节点的节点标识保存在存储索引中;所述节点调度模块被配置为执行:在所述当前调度周期内,根据各所述节点的调度次数和所述存储索引,对所述内容分发网络中的各所述节点进行访问调度。
28.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的节点调度方法。
29.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的节点调度方法。
30.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现第一方面所述的节点调度方法。
31.本公开的实施例提供的技术方案至少带来以下有益效果:本公开实施例通过获取待分发至内容分发网络中各节点的至少一个文件标识,确定文件标识所对应的服务提供方标识,并将文件标识所对应的文件信息存储于服务提供方标识对应的分发环中,从而基于目标服务提供方标识所对应的目标分发环来控制对该目标服务提供方标识下目标节点的文件分发,可以充分使用内容分发网络中的节点来提供服务,从而提高服务的稳定性,而且在待调度的节点数量较多时,可以基于不同的服务提供方标识来进行水平扩展,从而支持百万甚至更多量级的节点分发需求,提高服务性能。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
33.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
34.图1是根据一示例性实施例示出的一种节点调度方法的流程图;图2是本公开实施例中一层布隆过滤器的示意图;图3是本公开实施例中分发环的结构示意图;图4是根据一示例性实施例示出的一种节点调度方法的流程图;
图5是本公开实施例中执行节点调度方法的节点调度系统的架构图;图6是根据一示例性实施例示出的一种节点调度装置的框图;图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
35.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
36.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
37.图1是根据一示例性实施例示出的一种节点调度方法的流程图,该节点调度方法可以适用于对cdn网络中的节点进行调度,该节点调度方法可以由服务器等电子设备执行,该电子设备可以是cdn网络中的调度设备,如图1所示,包括以下步骤。
38.在步骤s11中,获取待分发至内容分发网络中各节点的至少一个文件标识。
39.获取需要进行分发的文件所对应的文件标识,得到多个待分发至各节点的至少一个文件标识。待分发至各节点的至少一个文件标识可以是目标时间段内访问次数较多的文件所对应的文件标识,也可以是其他需要分发至各节点的文件所对应的文件标识,比如新生成的文件等。
40.在步骤s12中,针对每个所述文件标识,确定所述文件标识所对应的服务提供方标识,并将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中。
41.其中,服务提供方用于提供运营服务。
42.针对待分发至各节点的每个文件标识,确定该文件标识所对应的服务提供方标识,将该文件标识所对应的文件信息存储于该服务提供方标识所对应的分发环中。其中,所述文件信息包括文件的下载地址以及其他文件信息。分发环用于存储待分发的文件信息,并基于存储的文件信息进行文件信息的分发,以将文件信息分发至各节点,便于各节点对文件信息所对应的文件进行存储。
43.在步骤s13中,响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,并将所述文件信息发送至所述目标节点,所述目标节点为所述各节点中的一个节点,用于获取并存储所述文件信息所对应的文件,所述目标服务提供方标识为所述服务提供方标识中的一个服务提供方标识。
44.节点在自身具有空闲的存储空间时,会向内容分发网络中的调度设备发送存储请求,用于请求文件信息,并存储所述文件信息所对应的文件。内容分发网络中的调度设备在接收到目标节点发送的存储请求时,确定目标节点所对应的目标服务提供方标识,并从目标服务提供方标识所对应的目标分发环中获取待分发的文件信息,并将该文件信息发送至目标节点,在文件信息发送成功后,从目标分发环中删除该文件信息,便于存储其他待分发的文件信息。目标节点接收到文件信息后,可以基于文件信息中文件的下载地址,获取所述
文件信息所对应的文件,并将文件存储在自身的存储空间中,便可以提供该文件的下载服务。
45.其中,所述目标节点可以删除超过预设时间未被访问的文件,并发出所述存储请求。对于内容分发网络中的每个节点,都可以通过节点本身的淘汰策略(文件过久未被访问、强制删除等)触发缓存更新操作,删除超过预设时间未被访问的文件以及强制删除文件等,根据所删除文件数量确定新增分发文件的数量,并从分发环上获取相应数量的新增分发文件。
46.需要说明的是,上述各步骤可以是由同一个调度设备执行,也可以由分布式的多个调度设备分别执行,例如由一个调度设备执行步骤s11,由一个调度设备执行步骤s12,由一个调度设备执行步骤s13,这样在一个调度设备不能满足调度需求时,可以进行扩展以支撑更多的调度需求。
47.本示例性实施例提供的节点调度方法,通过获取待分发至内容分发网络中各节点的至少一个文件标识,确定文件标识所对应的服务提供方标识,并将文件标识所对应的文件信息存储于服务提供方标识对应的分发环中,从而基于目标服务提供方标识所对应的目标分发环来控制对该目标服务提供方标识下目标节点的文件分发,通过基于目标节点的存储请求由目标服务提供方标识所对应的目标分发环来控制文件的分发,可以充分使用内容分发网络中的节点来提供服务,从而提高服务的稳定性,而且在待调度的节点数量较多时,可以基于不同的服务提供方标识来进行水平扩展,从而支持百万甚至更多量级的节点分发需求,提高服务性能。
48.在上述技术方案的基础上,所述获取待分发至内容分发网络中各节点的至少一个文件标识,包括:获取目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,作为待分发至各所述节点的至少一个文件标识,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数。
49.在进行文件分发时,主要是确定当前全网文件热点与全网需求信息,对文件热点和需求较高的文件进行分发,以分发至内容分发网络的节点中,供用户下载。获取目标时间段内具有访问请求的文件标识,并确定各文件标识所对应的文件在目标时间段内所对应的请求次数,分别比较各文件标识所对应的请求次数和次数阈值,确定目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,并将确定的至少一个文件标识作为待分发至各节点的至少一个文件标识。通过将目标时间段内请求次数大于或等于次数阈值的至少一个文件标识作为待分发至各节点的至少一个文件标识,这样分发的文件是访问请求较多的文件,从而使得多个节点来存储访问较多的文件,以支撑较多的访问请求,从而可以提高服务的稳定性。
50.在上述技术方案的基础上,所述获取目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,包括:通过多重布隆过滤器对所述目标时间段内的文件标识进行过滤,得到请求次数大于或等于次数阈值的至少一个文件标识,所述多重布隆过滤器是由层数为所述次数阈值的布隆过滤器堆叠而成。
51.其中,布隆过滤器是一种位图(bitmap),也就是位数组,一般用于检索一个元素是否在一个集合中。布隆过滤器的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率。所述多重布隆过滤器中的每一层布隆过滤器可以表示具有相应请求
次数的文件所具有的状态。所述文件标识可以是url(uniform resource locator,统一资源定位符),也可以是其他的文件标识。
52.通过多重布隆过滤器对全网内目标时间段内具有访问请求的文件标识进行过滤,过滤出请求次数大于或等于次数阈值的至少一个文件标识,这样不需要去统计每个文件标识的请求次数即可直接得到请求次数满足要求的文件标识,降低了计算量,可以提高处理效率。
53.在上述技术方案的基础上,通过多重布隆过滤器对所述目标时间段内的文件标识进行过滤,得到请求次数大于或等于次数阈值的至少一个文件标识,包括:使用多个哈希函数分别对所述目标时间段内的文件标识进行哈希计算,得到所述文件标识在每一层布隆过滤器中的多个映射位置;将每一层布隆过滤器中所述多个映射位置的元素值均为目标值的文件标识,确定为所述请求次数大于或等于次数阈值的至少一个文件标识,所述目标值用于表征所述文件标识在所述请求次数至少为所述次数阈值的集合中。
54.图2是本公开实施例中一层布隆过滤器的示意图,如图2所示,多重布隆过滤器中每一层布隆过滤器是一种位数组,位数组中的每个元素的值为非目标值(例如可以为0)或者目标值(例如可以为1),整个位数组用于表征具有相应请求次数的文件所具有的状态。使用多个哈希函数(图2中以k个哈希函数为例)对需要过滤的文件标识进行映射,得到文件标识在每一层布隆过滤器中的多个映射位置,如果一个文件标识在多重布隆过滤器中每一层布隆过滤器中多个映射位置的元素值均为目标值,这说明该文件标识在请求次数至少为次数阈值的集合中,确定该文件标识的请求次数大于或等于次数阈值。
55.基于需要过滤的文件标识的数量、所容忍的误判率和哈希函数的个数,可以确定布隆过滤器的大小,也就是需要的内存大小,布隆过滤器的大小的计算公式如下:其中,n表示输入对象数量,也就是文件标识的数量,m表示布隆过滤器大小,p表示所容忍的误判率,k表示哈希函数的个数。在计算的过程中,如果结果为小数,则向上取整,通过计算,可知对10亿级别64b大小的文件标识的输入,误判率在0.01%的情况下仅需要2.5g内存。
56.可见,使用多重布隆过滤器通过极少空间与cpu消耗即可得到高效查询、插入元素到集合中的数据结构。通过对布隆过滤器进行x(即次数阈值)层堆叠,则可获得高效的检索一个文件标识在一个集合中出现次数(最大为x)的数据结构,即为多重布隆过滤器。
57.通过对x层的布隆过滤器进行堆叠,得到多重布隆过滤器,来进行文件的过滤,可以降低误判率,从而可以以极小代价极低错误率来统计极大量级的文件热度情况,并以此作为通过最小分发热度的依据,且根据文件标识进行哈希计算可轻松进行水平扩展,即扩展布隆过滤器大小以及哈希函数个数,从而使得低成本的千亿万亿级文件热度统计成为可
能。
58.在上述技术方案的基础上,所述方法还包括:针对每个所述文件标识,获取所述文件标识在目标时间段内所对应的请求次数,并根据所述请求次数,确定所述文件标识所对应的分发份数,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数;所述将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中,包括:将所述文件标识所对应的文件信息和分发份数存储于所述服务提供方标识所对应的分发环中。
59.在通过多重布隆过滤器对文件标识进行过滤,在过滤的过程中不需要获取具体的请求次数,即可得到请求次数大于或等于次数阈值的至少一个文件标识,在得到至少一个文件标识后,对于每个文件标识,可以获取该文件标识在目标时间段内所对应的具体的请求次数,进而基于请求次数的多少,来确定该文件标识所对应的分发份数。一个文件标识所对应的分发份数与请求次数是正相关的关系,请求次数越高,确定的分发份数越多,请求次数越低,确定的分发份数越少。
60.在基于请求次数确定文件标识所对应的分发份数时,还可以结合服务提供方标识所对应节点的资源(包括带宽资源和存储资源)以及该文件标识当前的已分发信息,来确定该文件标识所需的分发份数,从而得到服务提供方标识对应所述文件标识的分发份数{file1: amount1, file2: amount2},file1表示文件1,amount1表示文件1所需的分发份数,file2表示文件2,amount2表示文件2所需的分发份数,将文件标识所对应的分发份数插入该服务提供方标识所对应的分发环中。
61.图3是本公开实施例中分发环的结构示意图,如图3所示,分发环是一个环状的数据结构,包括多个环结点,图3中示出了头结点、环结点a1、环结点an,还有环结点a1和环结点an之间的环结点,每个结点用于存储一个文件标识所对应的文件信息。在将文件标识所对应的文件信息存储于服务提供方标识所对应的分发环中时,同时将该文件标识所对应的分发份数存储于服务提供方标识所对应的分发环中,在存储时,可以将文件信息和所有的分发份数同时存储于分发环中的一个环结点中,也可以将分发份数分为多个份数,多个份数之和为所述分发份数,将文件信息和其中一个份数分别存储于分发环中的一个环结点中。
62.通过基于文件标识在目标时间段内所对应的请求次数来确定该文件标识所对应的分发份数,对于请求次数较多的情况,可以确定较高的分发份数,这样保存该文件标识所对应的文件的节点多,可以足够支撑用户的访问,提高服务的稳定性,并可以充分使用服务提供方标识所对应各节点的资源。
63.在上述技术方案的基础上,将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中,包括:确定存储指针在所述分发环中所指向的环结点;将所述文件标识所对应的文件信息存储于所述环结点,并将所述存储指针后移。
64.对应每个服务提供方标识,维护一个分发环,并可以维护两个指针,分发环用于存储待分发的文件信息,并控制文件信息的分发,两个指针可以分别是存储指针和分发指针,存储指针用于控制当前待分发的文件信息的存储位置,发指针用于控制当前待分发至节点的文件信息的存储位置。
65.对于一个服务提供方标识需要分发的文件信息,将需要分发的文件标识所对应的文件信息存储于存储指针在分发环中所指向的环结点,存储完毕后,将存储指针移向分发环的下一个环结点,即存储指针指向下一个待存储文件信息所在的环结点。
66.如果存储指针后移后,与分发指针指向同一环结点,即存储指针追上了分发指针,则表明分发环已满,即分发环中每个环结点中都已存储了待分发的文件信息,说明该服务提供方标识所对应的分发环不够大或该服务提供方标识所对应的分发速度出现问题,这时可以扩大分发环的容量或人工介入处理。在扩大分发环的容量时,例如,可以在存储指针所指向的环结点之后添加一定数量的环结点,并在后移存储指针时将存储指针指向添加的第一个环结点。在需要人工介入处理时,可以通知管理人员,以便于管理人员进行处理。
67.通过存储指针来控制当前待分发的文件信息在分发环中的存储位置,可以提高处理速度,快速对文件信息进行存储。
68.在上述技术方案的基础上,响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,包括:响应于目标服务提供方标识所对应目标节点的存储请求,确定所述目标服务提供方标识所对应的目标分发环,并确定分发指针在所述目标分发环中所指向的环结点;从所述环结点获取所述文件信息,并将所述分发指针后移。
69.在接收到一个目标服务提供方下的目标节点发送的存储请求时,查询该目标服务提供方标识所对应的目标分发环,并确定分发指针在该目标分发环中所指向的环结点,进而在该环结点中获取文件信息,并将文件信息发送至目标节点,在文件信息发送成功后,可以删除该环结点上的文件信息,以便于存储后续需要分发的文件信息,同时还需要将分发指针后移,即将分发指针指向目标分发环的下一个环结点。
70.如果分发指针后移后,分发指针与存储指针指向目标分发环的同一环结点,即分发指针追上了存储指针,说明该目标服务提供方标识所对应的分发速度超过了新增分发文件的生成速度,这时可以增加更多的文件分发需求,即进一步获取待分发至各节点的多个文件标识,并将文件标识存储于目标服务提供方标识所对应的目标分发环中。
71.通过分发指针来控制当前待分发至节点的文件信息的存储位置,可以准确获取到当前待分发的文件信息并进行分发,提高处理速度,快速进行文件信息的分发。
72.图4是根据一示例性实施例示出的一种节点调度方法的流程图,该节点调度方法可以适用于对cdn网络中的节点进行调度,该节点调度方法可以由服务器等电子设备执行,该电子设备可以是cdn网络中的调度设备,如图4所示,包括以下步骤。
73.在步骤s41中,获取待分发至内容分发网络中各节点的至少一个文件标识。
74.在步骤s42中,针对每个所述文件标识,确定所述文件标识所对应的服务提供方标识,并将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中。
75.在步骤s43中,响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,并将所述文件信息发送至所述目标节点,所述目标节点为所述各节点中的一个节点,用于获取并存储所述文件信息所对应的文件,所述目标服务提供方标识为所述服务提供方标识中的一个服务提供方标识。
76.在步骤s44中,获取各所述节点在当前调度周期的指标负载值,根据所述指标负载值确定各所述节点在所述当前调度周期的调度次数,所述指标负载值是所述节点的单个资
源指标所对应的负载信息,所述调度次数是控制所述节点在当前调度周期进行访问调度的最大次数。
77.内容分发网络中的各节点在每个调度周期都会向内容分发网络中的调度设备上报当前状态信息,各节点上报的当前状态信息可以包括相应节点的各个资源指标的当前采集值,所述资源指标可以包括cpu、io、重传率、异常状态码、当前网卡上行带宽、当前应用层上行带宽、节点拒绝数、混跑、软中断数等。所述节点可以是cdn网络中具有简单存储与计算能力的微小节点,例如可以是路由器等设备。
78.根据节点上报的当前状态信息,计算节点的总体调度规划情况,即确定各节点在当前调度周期的调度次数,同时针对质量、成本、运营需求等情况进行调度策略选择,以便于对各节点进行调度执行。
79.各节点上报的当前状态信息中包括相应节点的各个资源指标的当前采集值,基于指标采集值按照如下公式计算各个指标的单项负载值:其中,表示资源指标的单项负载值,f1表示全局敏感度参数,用于调整指标敏感度,表示资源指标的当前采集值,表示该资源指标的指标阈值,f2表示指数敏感度参数。
80.确定各资源指标的单项负载值的目的是判断该资源指标与指标阈值的偏离程度,且对于偏离程度指数性增长,并通过可选参数配置项灵活调整不同资源指标的灵敏程度,从而做到不同资源指标度量衡、敏感度快速兼容。
81.对于一个资源指标的单项负载值在该资源指标的最小单项负载值和最大单项负载值之间,则确定该资源指标在正常范围内。在确定各资源指标的单项负载值后,对于每个资源指标,可以根据单项负载值确定该资源指标的归一化单一指标负载值,也就是指标负载值,可以按照如下公式确定资源指标的指标负载值:其中,表示资源指标的指标负载值,表示资源指标的单项负载值,表示资源指标的负载基准值。
82.在确定各节点在当前调度周期的指标负载值后,将指标负载值与对应资源指标的阈值进行比较,并基于比较结果对前一调度周期的调度次数进行增减处理,作为当前调度周期的调度次数。
83.在一个示例性实施例中,所述根据所述指标负载值确定各所述节点在所述当前调度周期的调度次数,包括:根据所述指标负载值,确定同一指标类型的汇聚指标负载值,所述汇聚指标负载值是同一所述指标类型的资源指标所对应的负载信息;根据指标类型所对应的汇聚指标负载值,对各所述节点在前一调度周期的调度次数进行增减处理,得到各所述节点在所述当前调度周期的调度次数。
84.对于不同资源指标的指标负载值,可以确定属于同一指标类型的资源指标的汇聚指标负载值,将属于同一指标类型的多个资源指标的指标负载值中的最大值,作为该指标
类型的汇聚指标负载值,根据指标类型所对应的汇聚指标负载值,对于不同指标类型,基于汇聚指标负载值与对应阈值的比较结果,对相应节点在前一调度周期的调度次数进行增减处理,得到该节点在当前调度周期的调度次数。通过基于指标类型所对应的汇聚指标负载值,来对前一调度周期的调度次数进行增减处理,作为当前调度周期的调度次数,这样可以提高服务的稳定性。
85.在一个示例性实施例中,所述指标类型包括资源类、异常类和质量类;所述根据指标类型所对应的汇聚指标负载值,对各所述节点在前一调度周期的调度次数进行增减处理,得到各所述节点在所述当前调度周期的调度次数,包括:若所述资源类所对应的汇聚指标负载值未达到资源类最大值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行增加处理;若所述异常类所对应的汇聚指标负载值为异常值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;若所述质量类所对应的汇聚指标负载值超过质量类阈值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;将对各所述节点在前一调度周期的调度次数进行增加处理和/或删减处理后的调度次数,作为各所述节点在当前调度周期的调度次数。
86.其中,资源类的资源指标可以包括cpu、io、当前网卡上行带宽和当前应用层上行带宽等中的两种或以上,异常类的资源指标可以包括异常状态码和节点拒绝数等,质量类的资源指标可以包括重传率、混跑、软中断数等。
87.对于资源类,如果汇聚指标负载值未达到资源类最大值,则对汇聚指标负载值所对应节点在前一调度周期的调度次数进行增加处理,即在前一调度周期的调度次数的基础上增加一定的调度次数,使得节点的资源得到最大化利用;对于异常类,如果汇聚指标负载值为异常值(例如可以是非0值),则说明相应的节点存在异常,这时对该汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理,即在前一调度周期的调度次数的基础上删减一定的调度次数,汇聚指标负载值越大,删减的调度次数越大,以保证节点服务的稳定性;对于质量类,如果汇聚指标负载值未超过质量类阈值,则不需要对前一调度周期的调度次数进行调整,如果汇聚指标负载值超过质量类阈值,则说明节点存在质量问题,这时对该汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理,即在前一调度周期的调度次数的基础上删减一定的调度次数;对于一个节点,综合资源类、异常类、质量类对前一调度周期的调度次数进行增加处理和/或删减处理后的调度次数,得到该节点在当前调度周期的调度次数。
88.通过在资源类所对应的汇聚指标负载值未达到资源类最大值,增加调度次数,可以保证资源的最大化利用,在异常类所对应的汇聚指标负载值为异常值和质量类所对应的汇聚指标负载值超过质量类阈值时,删减调度次数,这样可以保证节点服务的稳定性。
89.在步骤s45中,在所述当前调度周期内,根据各所述节点的调度次数和所存储文件的文件标识,对所述内容分发网络中的各所述节点进行调度。
90.在当前调度周期内,在接收到访问请求时,可以从访问请求中获取待访问的文件标识,进而基于待访问的文件标识确定存储该文件标识所对应文件的一个或多个节点,并根据一个或多个节点的调度次数确定待调度的节点,并调度该节点为所述访问请求提供文
件的下载服务。
91.需要说明的是,上述各步骤可以是由同一个调度设备执行,也可以由分布式的多个调度设备分别执行,例如由一个调度设备执行步骤s41,由一个调度设备执行步骤s42和步骤s43,由一个调度设备执行步骤s44,由一个调度设备执行步骤s45,这样在一个调度设备不能满足调度需求时,可以进行扩展以支撑更多的调度需求。
92.本示例性实施例提供的节点调度方法,通过获取待分发至各节点的至少一个文件标识,并基于服务提供方标识所对应的分发环来控制对该服务提供方标识下节点的文件分发,获取内容分发网络中各节点在当前调度周期的指标负载值,根据指标负载值确定各节点在当前调度周期的调度次数,在当前调度周期内,根据各节点的调度次数和所存储文件的文件标识,对内容分发网络中的各节点进行调度,由于通过节点的指标负载值来确定节点的调度次数,这样可以避免对节点的调度超过调度次数,从而可以提高节点服务的稳定性,通过基于节点的存储请求由服务提供方标识所对应的分发环来控制文件的分发,可以充分使用内容分发网络中的节点来提供服务,从而提高服务的稳定性,而且在待调度的节点数量较多时,可以基于不同的服务提供方标识来进行水平扩展,从而支持百万甚至更多量级的节点分发需求。
93.在上述技术方案的基础上,在所述将所述文件信息发送至所述目标节点之后,还包括:将所述文件的文件标识所对应的目标节点的节点标识保存在存储索引中;在所述当前调度周期内,根据各所述节点的调度次数和所存储文件的文件标识,对所述内容分发网络中的各所述节点进行调度,包括:在所述当前调度周期内,根据各所述节点的调度次数和所述存储索引,对所述内容分发网络中的各所述节点进行访问调度。
94.在将文件信息发送至目标节点后,在存储索引中存储文件标识和节点标识的对应关系,即将该文件的文件标识与目标节点的节点标识对应保存在存储索引中,以便于对各节点进行调度。
95.在当前调度周期内接收到访问请求时,根据访问请求所请求的文件标识,从存储索引中确定该文件标识所对应的节点标识,并基于节点标识所对应的调度次数对节点标识所对应的节点进行调度,以为访问请求提供文件的下载服务。
96.通过将文件标识和节点标识的对应关系保存在存储索引中,便于快速查询文件标识所对应的节点,进而快速对节点进行调度。
97.图5是本公开实施例中执行节点调度方法的节点调度系统的架构图,如图5所示,该节点调度系统可以包括调度规划模块51、文件分发模块52、调度执行模块53、存储索引模块54以及需要调度的海量微小节点55。调度规划模块51根据节点上报的负载情况与心跳信息,计算节点的总体调度规划情况,包括各地区调度到此节点的次数限制,即提供节点控制的目标,同时针对质量、成本、运营需求等情况进行调度策略选择,提供给调度执行作为执行依据,即执行上述实施例中的步骤s44。文件分发模块52用于根据访问文件流水计算当前全网文件热点与全网需求信息,结合当前节点缓存分配情况计算所需分发的文件与分发份数,并控制节点下载文件带宽不超限,及时完成足量分发指令,即执行上述实施例中的步骤s41至步骤s43。调度执行模块53用于基于用户的访问请求、调度规划模块确定的调度次数以及存储索引模块中的存储索引来调度各个节点,即执行上述实施例中的步骤s45。存储索引模块54用于将文件标识与节点标识的对应关系保存在存储索引中。
98.需要说明的是,上述调度规划模块51、文件分发模块52、调度执行模块53、存储索引模块54可以配置于同一设备上,也可以配置于多个设备上,在节点数量较多时可以分别配置于多个设备上,同时一个模块也可以配置于多个设备上以支撑更多节点的调度需求。
99.本公开实施例充分使用了各个节点的资源,并给出了合理的调度方式,通过实践,对于50mb/s上限带宽的节点,带宽波动率从30%-40%降低到了10%-15%,安全利用率从70%增长到87%,而且本公开实施例可以近乎无限水平扩展,承接百万级微小节点的精准调度。
100.图6是根据一示例性实施例示出的一种节点调度装置的框图。参照图6,该装置包括文件标识获取模块61、文件信息存储模块62和文件信息分发模块63。
101.该文件标识获取模块61被配置区执行获取待分发至内容分发网络中各节点的至少一个文件标识;该文件信息存储模块62被配置为执行针对每个所述文件标识,确定所述文件标识所对应的服务提供方标识,并将所述文件标识所对应的文件信息存储于所述服务提供方标识所对应的分发环中;该文件信息分发模块63被配置为执行响应于目标服务提供方标识所对应目标节点的存储请求,从所述目标服务提供方标识所对应的目标分发环中获取所述文件信息,并将所述文件信息发送至所述目标节点,所述目标节点为所述各节点中的一个节点,用于获取并存储所述文件信息所对应的文件,所述目标服务提供方标识为所述服务提供方标识中的一个服务提供方标识。
102.可选的,所述文件标识获取模块被配置为执行:获取目标时间段内请求次数大于或等于次数阈值的至少一个文件标识,作为待分发至各所述节点的至少一个文件标识,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数。
103.可选的,所述文件标识获取模块包括:文件标识过滤单元,被配置为执行通过多重布隆过滤器对所述目标时间段内的文件标识进行过滤,得到请求次数大于或等于次数阈值的至少一个文件标识,所述多重布隆过滤器是由层数为所述次数阈值的布隆过滤器堆叠而成。
104.可选的,所述文件标识过滤单元包括:哈希计算子单元,被配置为执行使用多个哈希函数分别对所述目标时间段内的文件标识进行哈希计算,得到所述文件标识在每一层布隆过滤器中的多个映射位置;文件标识过滤子单元,被配置为执行将每一层布隆过滤器中所述多个映射位置的元素值均为目标值的文件标识,确定为所述请求次数大于或等于次数阈值的至少一个文件标识,所述目标值用于表征所述文件标识在所述请求次数至少为所述次数阈值的集合中。
105.可选的,所述装置还包括:分发份数确定模块,被配置为执行针对每个所述文件标识,获取所述文件标识在目标时间段内所对应的请求次数,并根据所述请求次数,确定所述文件标识所对应的分发份数,其中,所述请求次数是在所述目标时间段内对所述文件标识所对应文件请求的次数;所述文件信息存储模块包括:第一文件信息存储单元,被配置为执行将所述文件标识所对应的文件信息和分发份数存储于所述服务提供方标识所对应的分发环中。
106.可选的,所述文件信息存储模块包括:第一环结点确定单元,被配置为执行确定存储指针在所述分发环中所指向的环结点;第二文件信息存储单元,被配置为执行将所述文件标识所对应的文件信息存储于所述环结点,并将所述存储指针后移。
107.可选的,所述文件信息分发模块包括:第二环结点确定单元,被配置为执行响应于目标服务提供方标识所对应目标节点的存储请求,确定所述目标服务提供方标识所对应的目标分发环,并确定分发指针在所述目标分发环中所指向的环结点;文件信息获取单元,被配置为执行从所述环结点获取所述文件信息,并将所述分发指针后移。
108.可选的,所述目标节点删除超过预设时间未被访问的文件,并发出所述存储请求。
109.可选的,所述装置还包括:调度次数获取模块,被配置为执行获取各所述节点在当前调度周期的指标负载值,根据所述指标负载值确定各所述节点在所述当前调度周期的调度次数,所述指标负载值是所述节点的单个资源指标所对应的负载信息,所述调度次数是控制所述节点在当前调度周期进行访问调度的最大次数;节点调度模块,被配置为执行在所述当前调度周期内,根据各所述节点的调度次数和所存储文件的文件标识,对所述内容分发网络中的各所述节点进行访问调度。
110.可选的,所述调度次数获取模块包括:汇聚负载值确定单元,被配置为执行根据所述指标负载值,确定同一指标类型的汇聚指标负载值,所述汇聚指标负载值是同一所述指标类型的资源指标所对应的负载信息;调度次数确定单元,被配置为执行根据指标类型所对应的汇聚指标负载值,对各所述节点在前一调度周期的调度次数进行增减处理,得到各所述节点在所述当前调度周期的调度次数。
111.可选的,所述指标类型包括资源类、异常类和质量类;所述调度次数确定单元被配置为执行:若所述资源类所对应的汇聚指标负载值未达到资源类最大值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行增加处理;若所述异常类所对应的汇聚指标负载值为异常值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;若所述质量类所对应的汇聚指标负载值超过质量类阈值,则对所述汇聚指标负载值所对应节点在前一调度周期的调度次数进行删减处理;将对各所述节点在前一调度周期的调度次数进行增加处理和/或删减处理后的调度次数,作为各所述节点在当前调度周期的调度次数。
112.可选的,所述装置还包括:索引存储模块,被配置为执行将所述文件的文件标识所对应的目标节点的节点标识保存在存储索引中;
所述节点调度模块被配置为执行:在所述当前调度周期内,根据各所述节点的调度次数和所述存储索引,对所述内容分发网络中的各所述节点进行访问调度。
113.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
114.图7是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备700可以被提供为一服务器。参照图7,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述的节点调度方法。
115.电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如windows servertm,mac os xtm,unixtm, linuxtm,freebsdtm或类似。
116.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器732,上述指令可由电子设备700的处理组件722执行以完成上述节点调度方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
117.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现上述的节点调度方法。
118.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
119.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献