掌桥专利:专业的专利平台
掌桥专利
首页

基于边缘计算的协同缓存方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及数据缓存技术领域,具体是涉及基于边缘计算的协同缓存方法、装置、设备及存储介质。

背景技术

当前互联网中数据传输的流量日益增大,导致用户对数据低延迟的传输要求越来越高。数据源节点将数据缓存至边缘节点上,之后由边缘节点根据用户的请求将缓存在边缘节点上的数据分发给用户。由于数据源节点是随机将数据缓存至各个边缘节点上的,用户在请求时并不知道自己所请求的数据在哪个边缘节点上,需要多次盲目地尝试才能知道自己所请求的数据在哪个节点上,从而导致了低命中率。比如,全球互联网的流量中有82%的流量是视频流量。巨大的视频流量和用户越来越高的低延迟要求都对互联网的造成了巨大的挑战。而边缘节点(例如:广泛分布的5G基站)密度大,数量多,分布散乱的特点,导致每个边缘节点所覆盖和服务的用户少,因而汇聚的请求数量少,进而导致了较低的命中率。

综上所述,现有的缓存方法降低了用户获取所请求数据的命中率。

因此,现有技术还有待改进和提高。

发明内容

为解决上述技术问题,本发明提供了基于边缘计算的协同缓存方法、装置、设备及存储介质,解决了现有的缓存方法降低了用户获取所请求数据命中率的问题。

为实现上述目的,本发明采用了以下技术方案:

第一方面,本发明提供一种基于边缘计算的协同缓存方法,其中,包括:

将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上;

计算各个所述数据类型所涵盖的数据量;

依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。

在一种实现方式中,所述将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上,包括:

获取各个所述数据类型中的已存储数据;

计算所述待缓存数据与已存储数据之间的相似程度;

依据所述相似程度,得到各个所述数据类型中的数据目标类型;

将待缓存数据缓存至所述数据目标类型中。

在一种实现方式中,所述依据所述相似程度,得到各个所述数据类型中的数据目标类型,包括:

计算所述待缓存数据与各个所述数据类型中所述已存储数据之间的欧式距离;

依据所述欧式距离,得到所述待缓存数据与每一个所述数据类型之间的相似程度;

依据各个所述相似程度,得到各个所述相似程度中的最小相似程度;

依据所述最小相似程度,得到数据目标类型。

在一种实现方式中,还包括:

获取用户请求访问的数据信息;

依据用户请求访问的所述数据信息,得到与所述数据信息所对应的所述数据类型;

依据所述节点缓存内容统计表和与所述数据信息所对应的所述数据类型,得到各个所述边缘节点中的边缘目标节点。

在一种实现方式中,所述依据用户请求访问的所述数据信息,得到与所述数据信息所对应的所述数据类型,之前还包括:

获取用户的历史访问数据;

依据所述历史访问数据,得到与用户相匹配的边缘默认节点;

当所述边缘默认节点中含有与用户请求访问的所述数据信息相匹配的目标数据时,通过所述边缘默认节点将所述目标数据发送至用户所在的终端。

在一种实现方式中,所述依据用户请求访问的所述数据信息,得到与所述数据信息所对应的所述数据类型,包括:

获取用户的历史访问数据;

依据所述历史访问数据,得到与用户相匹配的边缘默认节点;

当所述边缘默认节点中的数据与用户请求访问的所述数据信息相异时;

通过所述边缘默认节点,得到与所述数据信息所对应的所述数据类型。

在一种实现方式中,所述依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点,包括:

依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成由各个所述数据类型、各个所述数据类型所涵盖的数据量、各个所述边缘节点构成的一一对应关系信息;

依据所述一一对应关系信息,生成节点缓存内容统计表。

在一种实现方式中,还包括:

统计各个所述边缘节点的被访问历史次数;

依据所述被访问历史次数,将各个所述边缘节点组成协同互助组;

获取被访问的所述边缘节点;

依据被访问的所述边缘节点,得到被访问的所述边缘节点所在的所述协同互助组;

通过被访问的所述边缘节点所在的所述协同互助组,执行用户所在终端的访问。

在一种实现方式中,所述通过被访问的所述边缘节点所在的所述协同互助组,执行用户所在终端的访问,包括:

依据所述协同互助组,得到所述协同互助组所包含的边缘主节点和各个边缘副节点,所述边缘主节点中保存有缓存量统计表,所述缓存量统计表用于统计所述边缘主节点的已缓存量和各个所述边缘副节点的已缓存量;

当被访问的所述边缘节点为所述边缘主节点时,通过所述缓存量统计表,得到各个所述边缘副节点中的边缘目标节点;

通过所述边缘目标节点,执行用户所在终端的访问;

或者,当被访问的所述边缘节点为各个所述边缘副节点时,通过所述边缘副节点将访问发送至所述边缘主节点;

通过所述边缘主节点和所述缓存量统计表,得到各个所述边缘副节点中的边缘目标节点;

通过所述边缘目标节点,执行用户所在终端的访问。

在一种实现方式中,所述依据所述被访问历史次数,将各个所述边缘节点组成协同互助组,包括:

将所述被访问历史次数大于第一设定值的所述边缘节点和所述被访问历史次数小于第二设定值的所述边缘节点组成协同互助。

在一种实现方式中,所述待缓存数据为视频数据。

第二方面,本发明实施例还提供一种基于边缘计算的协同缓存装置,其中,所述装置包括如下组成部分:

缓存模块,用于将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上;

计算模块,用于计算各个所述数据类型所涵盖的数据量;

统计表生成模块,用于依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。

第三方面,本发明实施例还提供一种终端设备,其中,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于边缘计算的协同缓存程序,所述处理器执行所述基于边缘计算的协同缓存程序时,实现上述所述的基于边缘计算的协同缓存方法的步骤。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于边缘计算的协同缓存程序,所述基于边缘计算的协同缓存程序被处理器执行时,实现上述所述的基于边缘计算的协同缓存方法的步骤。

有益效果:本发明在将所有用户可能需要访问的数据(待缓存数据缓存)缓存至各个边缘节点上的数据类型(相当于一个数据容器,用于盛放数据)中时,就会统计每个边缘节点上的各个数据类型中容纳了多少数据量,用于生成节点缓存内容统计表。当用户发出请求时,就会根据节点缓存内容统计表告知用户哪个边缘节点上的数据类型中缓存了大量与用户请求数据相匹配的数据。然后用户就可以直接到对应的边缘节点上去获取数据,从而提高了用户获取到所请求数据的命中率,进而提高了用户获取到所请求数据的速度。

附图说明

图1为本发明的整体流程图;

图2为实施例中的算法示意图;

图3为本发明实施例提供的终端设备的内部结构原理框图。

具体实施方式

以下结合实施例和说明书附图,对本发明中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

经研究发现,当前互联网中数据传输的流量日益增大,导致用户对数据低延迟的传输要求越来越高。数据源节点将数据缓存至边缘节点上,之后由边缘节点根据用户的请求将缓存在边缘节点上的数据分发给用户。由于数据源节点是随机将数据缓存至各个边缘节点上的,用户在请求时并不知道自己所请求的数据在哪个边缘节点上,需要多次盲目地尝试才能知道自己所请求的数据在哪个节点上,从而导致了低命中率。比如,全球互联网的流量中有82%的流量是视频流量。巨大的视频流量和用户越来越高的低延迟要求都对互联网的造成了巨大的挑战。而边缘节点(例如:广泛分布的5G基站)密度大,数量多,分布散乱的特点,导致每个边缘节点所覆盖和服务的用户少,因而汇聚的请求数量少,进而导致了较低的命中率。

为解决上述技术问题,本发明提供了基于边缘计算的协同缓存方法、装置、设备及存储介质,解决了现有的缓存方法降低了用户获取所请求数据命中率的问题。具体实施时,将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上;计算各个所述数据类型所涵盖的数据量;依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。

举例说明,数据源节点(相当于总基站)在将视频数据分发给各个边缘节点(相当于各个分支基站)时,由于各个边缘节点上设置有数据类型(相当于数据容器),因此数据源节点是将视频(待缓存数据)缓存在数据类型中。比如有边缘节点A和边缘节点B,边缘节点A和边缘节点B上都有数据类型I和数据类型II。当数据源节点将数据缓存至边缘节点A和边缘节点B上的数据类型I和数据类型II之后,边缘节点A和边缘节点B都会统计各自的数据类型I和数据类型II中有多少数据量,然后同步到边缘节点A和边缘节点B上生成一张节点缓存内容统计表,该节点缓存内容统计表上记录了边缘节点A上的数据类型I中各种类别的视频有多少,边缘节点A上的数据类型II中各种类别的视频有多少,边缘节点B上的数据类型I中各种类别的视频有多少,边缘节点B上的数据类型II中各种类别的视频有多少。当用户请求一段娱乐短视频时,查询节点缓存内容统计表上是边缘节点A还是边缘节点B上的数据类型I和数据类型II中缓存了较多了娱乐短视频。当查询到是边缘节点B的数据类型中缓存了较多的娱乐短视频时,用户就可以直接到边缘节点B上去获取娱乐短视频,而不需要用户先在边缘节点A上尝试,如果没找到,再去边缘节点B查找。这样能够提高用户获取到自己想看的娱乐短视频的命中率。

本实施例的基于边缘计算的协同缓存方法可应用于终端设备中,所述终端设备可为具有计算功能的终端产品,比如电脑等。在本实施例中,如图1中所示,所述基于边缘计算的协同缓存方法具体包括如下步骤:

S100,将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上。

本实施例是将数据源节点上的视频数据缓存到各个边缘节点上的各个数据类型中,缓存之后数据源节点依然还保留有视频数据并不会删除。

步骤S100包括如下的步骤S101、S102、S103、S104、S105、S106:

S101,获取各个所述数据类型中的已存储数据。

本实施例中的已存储数据为一天到十天左右用户每一条历史请求视频(用户已经观看过的视频),之所以将用户观看过的视频还放入到边缘节点上的数据类型中,是为了便于用户再次从边缘节点上提取出视频重复观看。

S102,计算所述待缓存数据与各个所述数据类型中所述已存储数据之间的欧式距离。

本实施例是采用如图2中的算法计算出待缓存数据与各个已存储数据之间的欧式距离。算法流程:

先初始化一个二维的数组,然后逐个遍历每个向量,对于每个向量,计算其与目前各个类型中已分配的向量之间的距离加和,并选取距离加和最大的类型,将这个向量加入此类型。比如:当前有三个类型A,B,C,A中目前有[a,b],B中目前有[c,d],C中目前有[e,f]。当遍历到向量g时,计算g与A中a的距离,计算g与A中b的距离,这两个距离之和视作g到类型A的距离加和。如此计算g到类型B和类型C的距离加和。如果最后比较发现,g到类型A的距离加和大于到B和到C的,则将g加入类型A中。如此遍历,直至所有向量都加入了一个类型。最后输出类型中包含各个向量的情况。

从上述算法过程可知,本实施例计算出来的是各个数据类型中的平均欧式距离。

S103,依据所述欧式距离,得到所述待缓存数据与每一个所述数据类型之间的相似程度。

步骤S102计算出来的欧式距离越大,说明待缓存数据与数据类型中已存储数据之间的相似程度越小,相反,当欧式距离越小,说明待缓存数据与数据类型中已存储数据之间的相似程度越大。

S104,依据各个所述相似程度,得到各个所述相似程度中的最小相似程度。

S105,依据所述最小相似程度,得到数据目标类型。

S106,将待缓存数据缓存至所述数据目标类型中。

举例说明,边缘节点I上有数据类型A和数据类型B,边缘节点II上也有数据类型A和数据类型B,边缘节点I上的数据类型A中有数据a1,边缘节点I上的数据类型B中有数据b1、b11;边缘节点II上的数据类型A中有数据a2,边缘节点II上的数据类型B中有数据b2。

有一个待缓存数据过来了,首先计算待缓存数据与a1之间的欧氏距离L1、与b1之间的欧式距离L2、与b11之间的欧式距离L3、与a2之间的欧式距离L4、与b2之间的欧式距离L5,然后计算L2与L3的平均值S,当L1、L2、S、L5中的最小值为S时,就将待缓存数据放在边缘节点I上的数据类型B中(数据目标类型)。

本实施例之所以选择相似程度小的数据类型去盛放待缓存数据是因为:当一个边缘节点上存储了太多相似度比较大的数据,就会导致该边缘节点被同一个用户频繁访问而该边缘节点之外的边缘节点则处于闲置状态,从而导致各个边缘节点之间负载不均。本实施例将相似程度较小的数据放在一起,能够缓解负载不均这个问题。

S200,计算各个所述数据类型所涵盖的数据量。

本实施例中计算各个数据类型中的数据量,就是计算各个数据类型中总的数据量,一个数据类型中的各个类别的数据所对应的数据量。

举例说明,边缘节点I上的数据类型A中有娱乐短视频、教学短视频,边缘节点II上的数据类型B中有教学短视频、新闻短视频。计算数据类型A所包含的娱乐短视频和教学短视频加在一起的总数据量S1、数据类型A中的娱乐短视频的数据量a1、数据类型A中的教学短视频的数据量a2。计算数据类型B中教学短视频和新闻短视频加在一起的总数据量S2,计算数据类型B中教学短视频的数据量b1、数据类型B中新闻短视频的数据量b2。

S300,依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。

本实施例中的,节点缓存内容统计表(即周边邻居缓存内容统计表,简称ECT表)记录了各个所述数据类型、各个所述数据类型所涵盖的数据量、各个所述边缘节点构成一一对应关系信息。

比如,节点缓存内容统计表记录了边缘节点I上的数据类型A的总数据量S1,数据类型A中的娱乐短视频的数据量a1、数据类型A中的教学短视频的数据量a2。记录了边缘节点II上的数据类型B的总数据量S2,数据类型B中教学短视频的数据量b1,数据类型B中新闻短视频的数据量b2。

通过步骤S100-S300完成了将数据源节点缓存到各个边缘节点上的操作,用户就可以访问缓存在各个边缘节点上的数据了,用户开始访问以获得数据包括如下步骤S401、S402、S403、S404、S405、S406、S407:

S401,获取用户请求访问的数据信息。

请求访问的数据信息可以是视频的类别、视频的时长、视频的内容,比如请求访问的数据信息是娱乐短视频,就在所有的含有娱乐短视频的数据类型中去寻找用户想要的娱乐短视频。

S402,获取用户的历史访问数据。

本系统收集用户在过去一段时间离,请求视频的历史记录。这段时间没有硬性的长度规定,一般可以选取一天到十天左右。用户的历史访问数据包括用户ID、内容ID、位置信息(用户终端所在的位置信息)和时间戳。

S403,依据所述历史访问数据,得到与用户相匹配的边缘默认节点。

本实施例是根据历史访问数据中的用户终端所在的位置信息得到边缘默认节点。比如将距离用户终端最近的边缘节点作为边缘默认节点。

S404,当所述边缘默认节点中含有与用户请求访问的所述数据信息相匹配的目标数据时,通过所述边缘默认节点将所述目标数据发送至用户所在的终端。

边缘默认节点根据用户请求访问的数据信息在其内部进行查询,如果查询到与用户请求访问的数据信息完全一直的视频时,就将该视频发送给用户终端。

S405,当所述边缘默认节点中的数据与用户请求访问的所述数据信息相异时。

S406,通过所述边缘默认节点,得到与所述数据信息所对应的所述数据类型;

S407,依据所述节点缓存内容统计表和与所述数据信息所对应的所述数据类型,得到各个所述边缘节点中的边缘目标节点。

步骤S405-步骤S407是当边缘默认节点没有查询到用户所请求的数据时,就去其它边缘节点上去获取数据。这个用户默认边缘节点会根据用户所请求视频的数据信息在节点缓存内容统计表查询哪个边缘节点上存储了比较多的与用户的访问请求数据信息相匹配的数据,然后告诉用户接下来应该去哪一个边缘节点进行下次尝试。用户按照默认边缘节点的推荐,对下一个边缘节点发出请求,如果下一个边缘节点有用户访问请求所需要的数据,就直接将该数据发给用户终端,此时下一个边缘节点就是边缘目标节点。当下一个边缘节点还是没有用户访问请求的数据时,当前的边缘节点会去数据源节点(被认为存储了所有的视频内容)拉取,然后在当前边缘节点缓存一份,再发送给用户一份。

当用户请求某一个视频内容的时候,用户先去离他最近的边缘节点(称为用户默认边缘节点)进行请求。如果命中,用户可以直接从默认边缘节点获取到请求的视频内容。如果没有命中,这个用户默认边缘节点会根据用户所请求视频的类型,告诉用户接下来应该去哪一个边缘节点进行下次尝试。用户按照默认边缘节点的推荐,对下一个边缘节点发出请求。此次请求一定会成功拿到视频内容,具体原因在下面1.2节中详细解释。

举例说明步骤S405-步骤S407的整体过程:当边缘节点与用户进行交互时,分两种情况。第一种情况,边缘节点是这个用户的默认边缘节点,那么,如果命中,直接返回视频内容。如果请求没有命中,边缘节点还需要返回给用户一个其下次尝试的边缘节点。第二种情况,边缘节点不是这个用户的默认边缘节点,而是用户第二次尝试的节点。那么,如果命中,直接返回视频内容;如果没有命中,当前的边缘节点会去数据源节点(被认为存储了所有的视频内容)拉取,然后在当前边缘节点缓存一份,再发送给用户一份。因此,当用户第二次尝试时,一定能够从边缘节点获取到所请求的视频内容。

通过用户和边缘节点动作框架的表述,用户请求的步骤确定,且会根据所请求内容的类型在第二次尝试的时候进行重定向到合适的边缘节点。例如,如果边缘节点3存储了更多的关于类型1的视频,边缘节点3就会吸引更多的归属于类型1的用户请求。这些类型1的请求的视频如果没有在边缘节点3中命中,边缘节点3将会去数据源节点拉取,进而增大边缘节点3中存储的类型1的视频。越来越多的关于类型1的请求和越来越多的类型1的视频缓存,相互促进,正向循环,进而提高缓存命中率。

上述过程中的边缘节点与自己的邻居节点进行交互的目的是为了维护一张周边邻居缓存内容统计表(ECT表)。这张ECT表,根据视频类型(类型的划分方法在第2节中进行介绍)来确定,对于每个类型来说,其哪个邻居节点存储的这个类型的视频最多,将存储这个类型视频最多的边缘节点,作为这个类型视频的推荐节点。有了这张ECT表,当此边缘节点作为用户的默认边缘节点没有命中时,可以将类型所对应的推荐节点返回给用户,以供其下次请求时使用。边缘节点每隔一段时间和周围邻居进行信息交互,来更新这张表。更新的周期一般在半小时左右,可以根据系统的需求进行调整。

本实施例在用户访问各个边缘节点的同时,还会统计各个边缘节点被访问的次数(根据被访问的次数判断边缘节点是繁忙、正常还是闲置)。三种类型的划分标准是根据节点繁忙度,节点繁忙度的计算方式是边缘节点在上一周内服务的请求数量除以期望的一周期内的服务请求数量。在此,需要设置两个临界点:临界点1,一般设置为1.5,如果节点繁忙度大于1.5,则边缘节点处于繁忙状态;临界点2,一般设置为0.6,如果节点繁忙度小于0.6,则边缘节点处于闲置状态;否则,边缘节点处于正常状态。将繁忙程度不同的边缘节点组成协同互助组,以相互分担协同互助组中的各个边缘节点的访问负载。形成协同互助组以及根据协同互助组执行用户的访问,包括如下步骤S501、S502、S503、S504、S505、S506、S507、S508、S509:

S501,统计各个所述边缘节点的被访问历史次数。

S502,依据所述被访问历史次数,将各个所述边缘节点组成协同互助组。

本实施例是将所述被访问历史次数大于第一设定值的所述边缘节点和所述被访问历史次数小于第二设定值的所述边缘节点组成协同互助组,即将繁忙的边缘节点和不繁忙的边缘节点组合在一起。

S503,获取被访问的所述边缘节点。

S504,依据被访问的所述边缘节点,得到被访问的所述边缘节点所在的所述协同互助组。

查询被访问的边缘节点属于步骤S502建立的哪一个协同互助组。

S505,依据所述协同互助组,得到所述协同互助组所包含的边缘主节点和各个边缘副节点,所述边缘主节点中保存有缓存量统计表,所述缓存量统计表用于统计所述边缘主节点的已缓存量和各个所述边缘副节点的已缓存量。

已缓存量的大小能够代表边缘节点的繁忙程度。

S506,当被访问的所述边缘节点为所述边缘主节点时,通过所述缓存量统计表,得到各个所述边缘副节点中的边缘目标节点。

边缘主节点上保存有缓存量统计表,当用户访问的就是边缘主节点时,可以直接获取到缓存量统计表,以根据缓存量统计表判断该在哪个边缘节点上执行用户的访问。

如果用户访问的不是边缘主节点就执行步骤S507和S508:

S507,当被访问的所述边缘节点为各个所述边缘副节点时,通过所述边缘副节点将访问发送至所述边缘主节点。

S508,通过所述边缘主节点和所述缓存量统计表,得到各个所述边缘副节点中的边缘目标节点。

如果用户访问的不是边缘主节点,而是各个边缘副节点,边缘副节点就会告知边缘主节点有用户发出访问了,边缘主节点也开始查询缓存量统计表,以根据缓存量统计表判断该在哪个边缘节点上执行用户的访问。

S509,通过所述边缘目标节点,执行用户所在终端的访问。

举例说明,如果一个节点处于繁忙状态,那么这个节点就会去寻找其邻居节点中的闲置节点,组成一个协同互助组。通过逐步加入闲置节点的方式来分散访问请求,平衡工作负载,每加入一个闲置节点,就计算一次这个协同互助组的繁忙度,计算方式与节点繁忙度一致,差别仅是考虑多个节点的共同加和。当协同互助组的繁忙度仍然大于临界点1,就不断逐个加入闲置节点,知道繁忙度处于正常状态。每个状态检测周期,在检测完状态后,如果繁忙都会执行这个操作。当这个协同互助组所承担的用户请求少了之后,重新计算繁忙度时发现,繁忙度小于临界点2了,这个协同互助组将会逐步解散。解散的原则是,一次清退一个节点,直至这个协同互助组的繁忙度再次回归到正常状态,或者,这个组内仅有一个节点时。本实施例一次清退一个节点是为了最大程度保证这个协同互助组不会突然从闲的状态变成繁忙状态,而跳过了正常状态

当形成一个协同互助组时,组内采用“主人-工作者”(master-worker)的方式运行,组内的所有节点在接收到请求后都先发送给主人节点,然后由主人节点进行分发给工作者节点。主人节点维护一张表,统计工作者节点的存储状况。对于外部其他节点,并不知道它们已经形成了一个协同互助组,仍然按照之前的机制运行。

综上,本发明在将所有用户可能需要访问的数据(待缓存数据缓存)缓存至各个边缘节点上的数据类型(相当于一个数据容器,用于盛放数据)中时,就会统计每个边缘节点上的各个数据类型中容纳了多少数据量,用于生成节点缓存内容统计表。当用户发出请求时,就会根据节点缓存内容统计表告知用户哪个边缘节点上的数据类型中缓存了大量与用户请求数据相匹配的数据。然后用户就可以直接到对应的边缘节点上去获取数据,从而提高了用户获取到所请求数据的命中率,进而提高了用户获取到所请求数据的速度。

另外,本发明提出了一种创新的仅需利用历史视频请求信息来进行视频分类的算法,该算法对视频的属性数据没有任何要求。由于本发明的聚类算法使得一个类型中的视频被连续请求的概率极低,因而用户的连续请求会被分散到不同的边缘节点,这样有利于实现边缘节点的负载均衡,有较大的帮助来实现边缘节点的负载均衡。

本发明设计了一种内容自动聚集的缓存机制,这种机制无需人工干预,即可实现缓存内容自动在不同的边缘节点上进行聚集,根据类型,内容缓存量与请求数量相互促进,正向循环。同时,根据类型对用户的请求进行重定向到合适的边缘节点,提高了缓存命中率。

本发明设计了一种边缘节点之间的协同互助组机制,能够实时的将繁忙节点和闲置节点自动组合使用,来分摊压力,使节点之间负载均衡。在负载减轻后能够,自适应解散协同互助组。同时,在整个过程中,协同互助组对外透明,保证系统的鲁棒性。

本实施例还提供一种基于边缘计算的协同缓存装置,所述装置包括如下组成部分:

缓存模块,用于将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上;

计算模块,用于计算各个所述数据类型所涵盖的数据量;

统计表生成模块,用于依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。

基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图3所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于边缘计算的协同缓存方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端设备的温度传感器是预先在终端设备内部设置,用于检测内部设备的运行温度。

本领域技术人员可以理解,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的基于边缘计算的协同缓存程序,处理器执行基于边缘计算的协同缓存程序时,实现如下操作指令:

将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上;

计算各个所述数据类型所涵盖的数据量;

依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

综上,本发明公开了基于边缘计算的协同缓存方法、装置、设备及存储介质,所述方法包括:将待缓存数据缓存至各个数据类型中,各个所述数据类型位于边缘节点上;计算各个所述数据类型所涵盖的数据量;依据各个所述数据类型、各个所述数据类型所涵盖的数据量、所述边缘节点,生成节点缓存内容统计表,所述节点缓存内容统计表用于查找所述边缘节点。当用户发出请求时,就会根据节点缓存内容统计表告知用户哪个边缘节点上的数据类型中缓存了大量与用户请求数据相匹配的数据。然后用户就可以直接到对应的边缘节点上去获取数据,从而提高了用户获取到所请求数据的命中率,进而提高了用户获取到所请求数据的速度。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 基于边缘计算的协同缓存方法、装置、设备及存储介质
  • 一种基于有向无环图的卸载决策的协同边缘计算方法、装置、电子设备及存储介质
技术分类

06120114692661