系统资源的调度方法、装置和存储介质与流程

文档序号:18471550发布日期:2019-08-20 20:21阅读:184来源:国知局
系统资源的调度方法、装置和存储介质与流程

本发明涉及数据缓存技术领域,具体而言,涉及一种系统资源的调度方法、装置和存储介质。



背景技术:

内容分发网络(cdn)是互联网的核心基础设施。通过将用户的访问数据内容预先分发到边缘服务器,用户的实时请求经过负载均衡和路径选择等逻辑处理,智能路由到能够最佳服务的边缘服务器来保证用户访问性能。cdn系统的关键技术包括:路由选择技术、内容缓存技术等;其中,内容缓存技术将用户访问数据预先存储在本地,为后续的访问请求降低访问时延,提供高速稳定的访问,优化利用全网带宽,所以内容缓存技术的改进也是互联网基础设施改进中重要的一环。

目前,现有技术为了提供更佳的服务性能,最常采用的方案包括:1.使用一致性哈希算法进行负载均衡,将资源对应的用户请求均衡地分配到系统内的各个存储节点,资源在整个系统中仅保存一份,以降低节点增加和删除对系统的影响。但由于没有考虑资源的访问属性,当某些资源成为访问热点时负责资源存储和服务的节点依然会出现服务过载情况,服务性能下降,严重时会造成“雪崩效应”,致使整个系统服务无法提供正常服务甚至崩溃。2.采用静态规划调度的方法,事先预估数据的访问热度,按照不同的热度制定的内容存储方案,热度高的内容提供多个存储备份。静态规划的方案由于需要预先统计访问频率,对突发热点内容访问的应对能力差,同时,需要制定静态的存储方案,系统的弹性和灵活性较差,资源的冗余存储也常会降低处理效率。

针对现有内容缓存技术无法平衡系统的服务性能和资源的利用率的问题,目前尚未提出有效地解决方案。



技术实现要素:

本发明提供了一种系统资源的调度方法、装置和存储介质,以解决无法平衡系统的服务性能和资源利用率的问题。

根据本发明实施例的一个方面,提供了一种方法,包括:获取用户请求数据;确定所述用户请求数据所对应资源的访问计数;根据预设时间段内的所述资源的访问计数设置热度级别;通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务,其中,所述副本的数量对应所述热度级别。

进一步地,通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务之后包括:判断当前热度级别比历史热度级别是否降低;如果所述当前热度级别降低,则计算所述历史热度级别对应副本的数量与当前热度级别对应副本的数量的差得到多余副本数量;回收所述多余副本数量对应的资源。

进一步地,所述资源使用统一资源定位符作为标识。

进一步地,通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务包括:将所述资源的当前访问时间戳和所述副本的数量进行取余操作得到结果;根据所述结果计算所述资源的哈希值;根据所述资源的哈希值对所述资源采用一致性哈希算法选择所述存储节点进行存储和服务。

进一步地,通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务包括:判断所述资源在本地的存储状况,其中,所述存储状况包括是否存储所述资源或所述资源的保存时间是否处于过期状态;如果在本地没有存储所述资源或者所述资源的保存时间处于过期状态,则回源所述用户请求数据并保存在本地作为本地数据;使用所述本地数据完成用户请求的服务。

进一步地,所述存储节点保存了每个资源的存储时间点和访问频次,其中,所述访问频次是指最近单位时间段内对当前资源的访问计数,所述最近单位时间段是根据存储时间点确定的。

进一步地,根据所述存储时间点判断所述资源在预设时间段内的访问频次是否满足阈值;如果不满足,则回收所述资源占用的存储空间。

根据本发明实施例的另一个方面,还提供给了一种系统资源的调度装置,包括:获取单元,用于获取用户请求数据;统计单元,用于确定所述用户请求数据所对应资源的访问计数;第一处理单元,用于根据预设时间段内的所述资源的访问计数设置热度级别;第二处理单元,用于通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务,其中,所述副本的数量对应所述热度级别。

进一步地,所述装置还包括:第一判断单元,用于判断当前热度级别比历史热度级别是否降低;计算单元,用于如果所述当前热度级别降低,则计算所述历史热度级别对应副本的数量与当前热度级别对应副本的数量的差得到多余副本数量;第一回收单元,用于回收所述多余副本数量对应的资源。

进一步地,第二处理单元包括:第一计算模块,用于将所述资源的当前访问时间戳和所述副本的数量进行取余操作得到结果;第二计算模块,用于根据所述结果计算所述资源的哈希值;第一调度模块,用于根据所述资源的哈希值对所述资源采用一致性哈希算法选择所述存储节点进行存储和服务。

进一步地,所述第二处理单元还包括:判断模块,用于判断所述资源在本地的存储状况,其中,所述存储状况包括是否存储所述资源或所述资源的保存时间是否处于过期状态;本地数据模块,用于如果在本地没有存储所述资源或者所述资源的保存时间处于过期状态,则回源所述用户请求数据并保存在本地作为本地数据;第二调度模块,用于使用所述本地数据完成用户请求的服务。

进一步地,所述装置包括:第二判断单元,用于根据所述存储时间点判断所述资源在预设时间段内的访问频次是否满足阈值;所述存储节点保存了每个资源的存储时间点和访问频次,其中,所述访问频次是指最近单位时间段内对当前资源的访问计数,所述最近单位时间段是根据存储时间点确定的。第二回收单元,用于如果不满足阈值,则回收所述资源占用的存储空间。

根据本发明实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。

根据本发明实施例的另一个方面,还提供给了一种处理器,所述程序被运行时执行上述的方法。

根据本发明实施例,采用了获取用户请求数据;确定所述用户请求数据所对应资源的访问计数;根据预设时间段内的所述资源的访问计数设置热度级别;通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务,其中,所述副本的数量对应所述热度级别。通过本发明解决了现有技术无法平衡系统的服务性能和资源的利用率的问题,能够实现动态的调度存储节点,在针对不同类型的资源时采用不同的调度方案,使得不同级别的热点资源获得动态的副本数量的服务支持,既避免了服务过载,保证了服务质量,还提高了服务的响应速度和稳定性。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种系统资源的调度方法的流程图;

图2是根据本发明实施例的一种系统资源的调度装置的结构图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种系统资源的调度方法。图1是根据本发明实施例的一种系统资源的调度方法的流程图。如图1所示,该方法包括如下步骤:

步骤s102,获取用户请求数据;

步骤s104,确定用户请求数据所对应资源的访问计数;

步骤s106,根据预设时间段内的资源的访问计数设置热度级别;

步骤s108,通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务,其中,副本的数量对应热度级别。

cdn系统中的内容缓存系统由中心节点和多台存储节点的组成。中心节点负责用户资源请求的调度,具体地,中心节点负责接收用户的访问请求,根据系统内各存储节点的数据存储分布情况,进行请求的路由调度。存储节点接收到中心路由来的访问请求后,提供用户请求的响应数据的回源、存储和服务。

上述热度级别是根据资源的访问属性(如用户关注的程度高低)提前进行预设的,热度级别高代表访问资源的频率高。

上述步骤通过将上述副本数量与热度级别进行一一对应的关联,从而使得存储节点的调度与访问频率相匹配,实时进行统计资源的访问频率就可以帮助动态的调度存储节点,本实施例与现有技术的均匀调度方案及多副本的方式均不同,现有技术的多副本数量不是动态的,也没有将访问频率与多副本的数量进行关联,本实施例在针对不同类型的资源时采用不同的调度方案,使得不同级别的热点资源获得动态的副本数量的服务支持,动态的调度存储节点既避免了服务过载,保证了服务质量,还提高了服务的响应速度和稳定性,解决了现有内容缓存技术无法平衡系统的服务性能和资源的利用率的问题。

非热点资源与热点资源的判断可以通过设置阈值来实现,从而节约资源提高效率,具体地,选择存储节点时考虑最近单位时间段类内资源的访问频次。当单位时间段内的资源访问频次超出预先设定的阈值,则认为该资源为热点资源,否则非热点资源。资源的热点判别随着时间动态评估。

上述步骤中的热度级别可以选择零级代表非热点资源,比如,当热度级别为0时,实际上非热点资源采用单副本存储方式进行服务;当资源的热度级别增至2级时,资源访问可以得到2个副本的支持,依次类推。

当热度级别不同的资源请求访问时采用不同的调度算法,当判断为热点资源时采用多副本的调度分配算法,使得资源在多个存储节点存储和服务,满足高并发的访问需求。当判断为非热点资源时,采用单副本存储方式。中心节点根据目前系统中存储节点的数量,采用一致性哈希算法进行节点选取。集群内各节点运行正常时,特定资源始终由指定节点存储并提供服务,当节点异常时,由相邻节点接管对应异常节点的数据服务,保证整个集群的存储资源利用率和服务质量的稳定性。

通过实时统计资源的访问频率,进行资源热度评价,不同热度的资源采取采用不同的请求访问调度算法,保证了服务性能和集群资源利用率的平衡。

上述步骤通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务之后,随着资源热度的降低,系统会回收多余的副本,以此降低整个系统的存储,防止资源的冗余存储。在一种可选的实施方式中,首先判断当前热度级别比历史热度级别是否降低;如果当前热度级别降低,则计算历史热度级别对应副本的数量与当前热度级别对应副本的数量的差得到多余副本数量;最后回收多余副本数量对应的资源。

通过统计资源的动态访问频率,实时地评估资源的热度等级。使用特定的哈希计算方法调度用户的请求,使得不同级别的热点资源可以获得动态的副本数量的服务支持,保证了服务质量。上述过程是随着cdn的访问过程,动态计算和决策的,在热度降低的情况下采用自适应的机制回收副本占用的存储,从而保证了系统的服务高质量和资源高利用率的平衡。

统计并更新用户请求资源的访问计数时的资源使用url来唯一标识,在一种可选的实施方式中,资源使用统一资源定位符作为标识。

在上述步骤通过哈希算法调度用户请求数据的情况下需要对哈希值进行计算,在一种可选的实施方式中,首先将资源的当前访问时间戳和副本的数量进行取余操作得到结果;再根据结果计算资源的哈希值;最后根据资源的哈希值对资源采用一致性哈希算法选择存储节点进行存储和服务。通过使用取余操作,使同一个热点资源的访问按照时间等概率的均匀分散到在多个节点提供存储和访问服务,增大了服务能力。

为了提高系统服务性能,在一种可选的实施方式中,通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务包括:判断资源在本地的存储状况,其中,存储状况包括是否存储资源或资源的保存时间是否处于过期状态;如果在本地没有存储资源或者资源的保存时间处于过期状态,则回源用户请求数据并保存在本地作为本地数据;使用本地数据完成用户请求的服务。

为了提高系统服务性能,在一种可选的实施方式中,存储节点保存了每个资源的存储时间点和访问频次,其中,访问频次是指最近单位时间段内对当前资源的访问计数,最近单位时间段是根据存储时间点确定的。

为了兼顾系统的服务性能和资源的利用率,在一种可选的实施方式中,根据存储时间点判断资源在预设时间段内的访问频次是否满足阈值;如果不满足,则回收资源占用的存储空间。

下面结合一个可选的实施方式举例对上述热点资源采用多副本存储方式的存储节点选取方法进行说明:

1)根据资源的访问频率,设置不同的热度级别。

2)不同的热度级别对应设定不同的存储的副本数量。例如,可以共预设5级热度级别,当判断热度级别为第5级时,采用5个存储备份,当判断热度级别为2级时,采用2个存储备份,以此类推。

3)中心节点采用一致性哈希算法对2)中的存储节点进行调度,用户请求对应的资源的哈希值hashkey计算函数为:hash_key(资源的url);具体地,当计算热点资源的hashkey时,输入串可以改变为如下形式:资源url+‘-’+(当前访问时间%存储备份数),下面举例进行说明:

a.假设当前资源的url为:http://wwww.sina.com.cn/index.html,当前资源的访问热度级别为3,那么对应的存储副本数为3。当前资源访问时间戳可以用整数方式进行表示,通常可以使用从1970年1月1日开始到当前时间点的秒数,如,1552903900。

b.将访问时间对存储副本数进行取余操作,值为0,资源的hash_key计算如下:hash_key(“http://wwww.sina.com.cn/index.html_0”)。

4)中心节点根据资源的hash_key,采用一致性哈希算法进行节点的选择。

5)由于3)中使用取余操作,同一个热点资源的访问,按照时间等概率均匀的分散在多个节点提供存储和访问服务,增大服务能力的同时一致性哈希算法也保证了系统在部分节点系统崩溃时,能够由相邻节点提供服务,保证服务的整体稳定性。

通过上述步骤对热点资源采用多副本的存储方式,由多个存储节点负责存储并服务,提高了并发的服务能力。

上述实施例实时统计资源的访问频率进行资源热度评价。热度不同的资源请求访问采用不同的调度算法,热点数据进行多副本的调度分配算法,使得资源在多个存储节点存储和服务,满足高并发的访问需求,非热度数据采用单副本的调度分配算法,热点数据的实际访问频率下降时,能够及时回收存储资源,从而保证这个集群的存储利用率和服务性能。

本发明实施例还提供了一种系统资源的调度装置,该装置可以通过获取单元22、统计单元24、第一处理单元26、第二处理单元28实现其功能。需要说明的是,本发明实施例的一种系统资源的调度装置可以用于执行本发明实施例所提供的一种系统资源的调度方法,本发明实施例的一种系统资源的调度方法也可以通过本发明实施例所提供的一种系统资源的调度装置来执行。图2是根据本发明实施例的一种系统资源调度的装置示意图。如图2所示,一种系统资源调度的装置包括:

获取单元22,用于获取用户请求数据;

统计单元24,用于确定用户请求数据所对应资源的访问计数;

第一处理单元26,用于根据预设时间段内的资源的访问计数设置热度级别;

第二处理单元28,用于通过哈希算法调度用户请求数据所对应的资源并以副本的方式在存储节点进行存储和服务,其中,副本的数量对应热度级别。

在一个可选地实施例中,装置还包括:第一判断单元,用于判断当前热度级别比历史热度级别是否降低;计算单元,用于如果当前热度级别降低,则计算历史热度级别对应副本的数量与当前热度级别对应副本的数量的差得到多余副本数量;第一回收单元,用于回收多余副本数量对应的资源。

在一个可选地实施例中,第二处理单元包括:第一计算模块,用于将资源的当前访问时间戳和副本的数量进行取余操作得到结果;第二计算模块,用于根据结果计算资源的哈希值;第一调度模块,用于根据资源的哈希值对资源采用一致性哈希算法选择存储节点进行存储和服务。

在一个可选地实施例中,第二处理单元还包括:判断模块,用于判断资源在本地的存储状况,其中,存储状况包括是否存储资源或资源的保存时间是否处于过期状态;本地数据模块,用于如果在本地没有存储资源或者资源的保存时间处于过期状态,则回源用户请求数据并保存在本地作为本地数据;第二调度模块,用于使用本地数据完成用户请求的服务。

在一个可选地实施例中,装置包括:第二判断单元,用于根据存储时间点判断资源在预设时间段内的访问频次是否满足阈值;存储节点保存了每个资源的存储时间点和访问频次,其中,访问频次是指最近单位时间段内对当前资源的访问计数,最近单位时间段是根据存储时间点确定的。第二回收单元,用于如果不满足阈值,则回收资源占用的存储空间。

上述一种系统资源的调度装置的实施例是与一种系统资源的调度方法相对应的,所以对于有益效果不再赘述。

本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法。

本发明实施例提供了一种处理器,处理器包括处理的程序,其中,在程序运行时控制处理器所在设备执行上述方法。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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