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

一种边缘缓存的方法、装置及电子设备与流程

2022-03-30 10:16:30 来源:中国专利 TAG:


1.本发明涉及边缘缓存技术领域,具体而言,涉及一种边缘缓存的方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.目前,随着网络的发展,网络流量呈爆发式增长,随之产生的数据量大幅增长。为了降低主干网以及云中心的负担,往往将用户常常访问的内容(热点内容)存储在cdn(content delivery network,内容分发网络)中。随着5g网络和物联网的发展,各类应用大量涌入市场,相比cdn更加靠近用户的基站也随之增多。将访问量高的内容存储到离用户更近的基站中,进而能够减少用户到cdn之间的时延,提高用户体验质量。然而边缘的基站存储资源相比cdn服务器更加有限,在边缘基站存储的场景中,针对应用中内容的存储替换策略的研究更为重要。
3.现有的存储替换策略,无论是启发式算法,还是基于人工智能技术的非启发式算法,都是根据历史访问记录进行存储替换策略的设计,然而在访问量数据较小的时间段使用这些算法,部分高价值内容难以区分,所以致使仅仅根据历史访问量进行缓存替换的决策优势较小,导致高价值内容命中率较低,效果较差。


技术实现要素:

4.为解决现有存在的技术问题,本发明实施例提供一种边缘缓存的方法、装置、电子设备及计算机可读存储介质。
5.第一方面,本发明实施例提供了一种边缘缓存的方法,包括:
6.确定当前用户所请求的当前内容;
7.在未存储有所述当前内容的情况下,根据在预设时间段内对第一存储区中多个第一内容的历史访问数据确定核心用户访问量和整体访问量,所述核心用户访问量表示核心用户对所述第一内容的访问量,所述整体访问量表示所有用户对所述第一内容的访问量;
8.根据所述核心用户访问量和所述整体访问量确定多个所述第一内容中可剔除的第一内容;
9.剔除所述可剔除的第一内容,将所述当前内容存储至所述第一存储区,并将所述当前内容返回至所述当前用户。
10.第二方面,本发明实施例还提供了一种边缘缓存的装置,包括:
11.请求模块,用于确定当前用户所请求的当前内容;
12.数据获取模块,用于在未存储有所述当前内容的情况下,根据在预设时间段内对第一存储区中多个第一内容的历史访问数据确定核心用户访问量和整体访问量,所述核心用户访问量表示核心用户对所述第一内容的访问量,所述整体访问量表示所有用户对所述第一内容的访问量;
13.处理模块,用于根据所述核心用户访问量和所述整体访问量确定多个所述第一内
容中可剔除的第一内容;
14.存储模块,用于剔除所述可剔除的第一内容,将所述当前内容存储至所述第一存储区,并将所述当前内容返回至所述当前用户。
15.第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的边缘缓存的方法中的步骤。
16.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的边缘缓存的方法中的步骤。
17.本发明实施例提供的边缘缓存的方法、装置、电子设备及计算机可读存储介质,从访问用户的角度出发,提取出核心用户,利用核心用户访问量和整体访问量综合确定本地存储的哪些内容是可剔除的,从而能够剔除不重要的内容,将用户需要的当前内容存储到本地。该方法充分利用用户与内容的关系,根据核心用户的访问特点,设计缓存替换策略,能够动态实时地更新边缘服务器中内容,从而使得边缘服务器够存储高价值内容,进而提高用户请求内容的命中率;当用户访问高价值内容时,可以减少用户等待时间,实现降低延迟、快速响应的效果。
附图说明
18.为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
19.图1示出了本发明实施例所提供的一种边缘缓存的方法的流程图;
20.图2示出了本发明实施例所提供的另一种边缘缓存的方法的流程图;
21.图3示出了本发明实施例所提供的一种边缘缓存的装置的结构示意图;
22.图4示出了本发明实施例所提供的一种用于执行边缘缓存的方法的电子设备的结构示意图。
具体实施方式
23.下面结合本发明实施例中的附图对本发明实施例进行描述。
24.图1示出了本发明实施例所提供的一种边缘缓存的方法的流程图。该方法由边缘服务器执行,该边缘服务器具体可以是基站等;如图1所示,该方法包括:
25.步骤101:确定当前用户所请求的当前内容。
26.本发明实施例中,当前用户指的是当前向边缘服务器发起访问内容请求的用户。若某用户向边缘服务器发起访问某个内容的请求,则可以将该用户作为当前用户,该用户所要访问的内容作为当前内容。多个用户均可以向该边缘服务器发起访问请求,本实施例以其中一个用户为例。
27.步骤102:在未存储有当前内容的情况下,根据在预设时间段内对第一存储区中多个第一内容的历史访问数据确定核心用户访问量和整体访问量,核心用户访问量表示核心用户对第一内容的访问量,整体访问量表示所有用户对第一内容的访问量。
28.本发明实施例中,边缘服务器在接收到当前用户发送的用于访问当前内容的请求后,可以先判断本地是否存储有该当前内容;若本地存储有该当前内容,可以直接将该当前内容返回至当前用户。若本地没有存储该当前内容,该边缘服务器将其他服务器(例如cdn服务器)返回的当前内容进行存储。具体地,边缘服务器可以剔除本地存储的不重要的内容,并将该当前内容存储于本地。
29.在低访问量时间段(例如凌晨等),访问边缘服务器的用户数量较少,此时难以准确地确定在低访问量时间段哪些内容是高价值的内容,本发明实施例引入“核心用户”,以提高对低访问量时间段的内容识别效果。具体地,核心用户指的是访问该边缘服务器的所有用户中更为重要的用户,例如可以确定每个用户的重要程度,将重要程度高于阈值(或者重要程度最高)的一个或多个用户作为核心用户。例如,可以将用户在最近的一定时间段内(例如前一天,前6个小时等)访问该边缘服务器的访问量表示该用户的重要程度,访问量越大,该用户的重要程度越高;例如,可以将访问量前5%的用户作为核心用户。
30.本发明实施例中,边缘服务器中划分有用于存储内容的一个存储区,本实施例称为“第一存储区”,该第一存储区中所存储的内容称为“第一内容”。在需要确定本地存储的哪些第一内容是高价值的内容,哪些第一内容是可剔除的不重要的内容时,可以获取预设时间段内的历史访问数据;该预设时间段为预先设置一个时间段,该预设时间段可以是一个时间较短的时间段,例如3分钟、10分钟等,具体数值可基于实际情况而定。并且,该预设时间段所对应的时间点是实时变化的,例如,该预设时间段是在接收到当前用户发送请求的时间点之前的时间段,或者,该预设时间段的结束时间点与该当前用户发送请求的时间点相同。该历史访问数据为在该预设时间段内所有用户访问该边缘服务器中存储的内容(如第一内容)时所生成的数据,该历史访问数据包括每个用户的访问时间,以及所访问的内容。
31.通过统计该历史访问数据,可以确定每个核心用户对一个或多个第一内容的访问量,从而确定核心用户访问量;同样地,也可以确定所有用户对一个或多个第一内容的访问量,从而确定整体访问量。其中,每个第一内容可以对应有相应地核心用户访问量和整体访问量。例如,在该预设时间段内,有10个用户访问了该边缘服务器,且基于每个用户的重要程度(例如访问量)确定其中有3个用户是核心用户,则对于该边缘服务器中存储的每个第一内容,可以确定的这3个核心用户对该第一内容的访问量,从而确定核心用户访问量;并且,可以确定所有的10个用户对该第一内容的访问量,从而可以确定整体访问量。
32.步骤103:根据核心用户访问量和整体访问量确定多个第一内容中可剔除的第一内容。
33.步骤104:剔除可剔除的第一内容,将当前内容存储至第一存储区,并将当前内容返回至当前用户。
34.在实现本发明创造的过程中,发明人根据分析数据发现,在访问量较小的时间段,有一部分群体占有重要地位,他们访问的内容更容易成为未来热点内容,用户群体比较集中,且访问内容较集中,提升这部分用户群体的命中率,可以有效的提升当前时间段的整体命中率。本发明实施例中,将该部分的用户群体称为核心用户。一般情况下,在所有用户中,核心用户是高频次应用使用者,他们的请求量占整个请求量的90%以上,核心用户所访问的内容与整体高价值内容相似度较高。因此,从核心用户角度出发,能够改善由于部分高价
值内容与非高价值内容难以区分而导致的存储内容命中率低的问题。
35.本发明实施例结合第一内容的核心用户访问量和整体访问量,可以确定哪个或哪些第一内容是可剔除的。例如,结合该核心用户访问量和整体访问量可以确定每个第一内容的重要程度,将重要程度较低的第一内容作为可剔除的第一内容。例如,核心用户访问量越大、整体访问量越大,该第一内容越不容易被剔除;相反地,核心用户访问量越小、整体访问量越小,该第一内容越容易被剔除。
36.在确定可剔除的第一内容之后,即可从第一存储区中删除该可剔除的第一内容,并将当前内容代替该可剔除的第一内容存储至第一存储区,从而将当前内容作为一个第一内容存储到边缘服务器中,供用户访问。其中,可剔除的第一内容的数量可以为1个,也可以为多个;例如,只需要保证所有可剔除的第一内容的大小不小于该当前内容的大小即可。
37.此外可选地,在本地未存储有当前内容的情况下,边缘服务器可以直接剔除可剔除的第一内容,并保存该当前内容;或者,在本地未存储有当前内容的情况下,边缘服务器先判断本地用于存储内容的剩余空间是否能够存储该当前内容,在剩余空间能够存储该当前内容的情况下,不剔除已经存储的第一内容,可以直接存储该当前内容;在剩余空间不能够存储该当前内容的情况下,再执行上述步骤102-104,即将可剔除的第一内容替换为该当前内容。
38.本发明实施例提供的一种边缘缓存的方法,从用户的角度出发,提取出核心用户,利用核心用户访问量和整体访问量综合确定本地存储的哪些内容是可剔除的,从而能够剔除不重要的内容,将用户需要的当前内容存储到本地。该方法充分利用用户与内容的关系,根据核心用户的访问特点,设计缓存替换策略,能够动态实时地更新边缘服务器中内容,从而使得边缘服务器够存储高价值内容,进而提高用户请求内容的命中率;当用户访问高价值内容时,可以减少用户等待时间,实现降低延迟、快速响应的效果。
39.可选地,在利用核心用户访问量和整体访问量确定可剔除的第一内容的过程中,可以将核心用户访问量和整体访问量作为两个并列的数据,采用例如加权的方式确定每个第一内容的重要程度,但该方式评价内容价值的效果一般。为了能够在地访问量阶段可以有效区分本地存储的高价值内容和非高价值内容,本发明实施例用时序表示核心用户访问量和整体用户访问量,基于包含所有第一内容的整体综合确定每个第一内容的重要程度,进而确定可剔除的第一内容。
40.具体地,本发明实施例将预设时间段分为多个时段,核心用户访问量包括核心用户在预设时间段内的多个时段对第一内容的访问量,整体访问量包括所有用户在预设时间段内的多个时段对第一内容的访问量。例如,可以将预设时间段中的每个单位时间(如1分钟)作为一个时段,从而确定在每个时段核心用户对第一内容的访问量以及所有用户对第一内容的访问量,进而生成以时段为分割单位所确定的、时序形式的核心用户访问量和整体访问量。例如,预设时间段可以分为四个时段,则可以确定在每个时段对第一内容的访问量,从而可以确定四维数组形式的核心用户访问量和整体访问量。
41.其中,上述步骤103“根据核心用户访问量和整体访问量确定多个第一内容中可剔除的第一内容”包括步骤a1-a3:
42.步骤a1:将多个第一内容的核心用户访问量和整体访问量拼接成评价矩阵。
43.本发明实施例中,以第一内容为单位,将每个第一内容的核心用户访问量和整体
访问量进行拼接,生成更高维的数组,并将所有第一内容的数组组合在一起,生成包含所有第一内容的核心用户访问量和整体访问量的矩阵,本实施例将该矩阵称为评价矩阵。例如,第一存储区中存有m个第一内容,预设时间段可以被分为n个时段,故核心用户访问量和整体访问量均为n维的数值;对于每个第一内容,可以拼接得到2n维的数组,并且在列方向上排列所有的第一内容,从而可以生成m
×
2n的评价矩阵。
44.步骤a2:根据评价矩阵确定每个第一内容的重要程度。
45.本发明实施例中,该评价矩阵包含了所有第一内容的核心用户访问量和整体访问量,基于该评价矩阵整体,可以比较地确定每个第一内容的重要程度,从而能够更准确地确定每个第一内容的重要程度的大小关系,可以更准确地确定重要程度较低的第一内容。
46.可选地,可以利用协方差矩阵确定每个第一内容的重要程度,上述步骤a2“根据评价矩阵确定每个第一内容的重要程度”包括:
47.步骤a21:确定评价矩阵的协方差矩阵,评价矩阵的行和列分别表示第一内容和时段。
48.本发明实施例中,如上所述,该评价矩阵包括每个第一内容的核心用户访问量和整体访问量所拼接得到的数组,该评价矩阵的行和列可以分别表示第一内容和时段。其中,“评价矩阵的行和列可以分别表示第一内容和时段”指的是:评价矩阵的行表示第一内容、列表示时段;或者,评价矩阵的行表示时段、列表示第一内容。
49.在确定评价矩阵的协方差矩阵的过程中,以评价矩阵中时段所表示的所有元素为一组,依次确定每两个时段之间的协方差,进而生成该评价矩阵的协方差矩阵。例如,评价矩阵为m
×
2n的矩阵,即评价矩阵的每一列对应一个时段,由于之前存在拼接核心用户访问量和整体访问量的过程,故该评价矩阵中对应2倍的时段数(即2n),本实施例可以将评价矩阵中的每一列作为一组,两两确定两列之间的协方差,从而可以生成2n
×
2n的协方差矩阵。
50.步骤a22:提取协方差矩阵的最大特征值,并确定最大特征值对应的最大特征向量。
51.步骤a23:将评价矩阵与最大特征向量相乘,确定每个第一内容的评价值,并将评价值作为第一内容的重要程度。
52.本发明实施例中,协方差矩阵为对称矩阵,可以确定该协方差矩阵的最大特征值,并确定该最大特征值所对应的特征向量,即最大特征向量;其中,确定矩阵最大特征值、最大特征向量为现有的成熟技术,此处不做详述。由于在不同的时间,第一存储区中所存储的第一内容的数量m可能是不同的,而预设时间段所包含的时段的数量n是可以预先设置的,n可以为一个固定值,本实施例以评价矩阵中时段所表示的所有元素为一组,依次确定每两个时段之间的协方差,使得生成的协方差矩阵始终为统一规格的矩阵,即2n
×
2n的协方差矩阵,方便在不同时间对统一规格的协方差矩阵进行处理,确定最大特征向量,可以简化处理过程,降低开发难度。
53.其中,该最大特征向量为2倍时段数的向量,将评价矩阵与该最大特征向量相乘,可以确定包含第一内容数量的元素的数组(或向量),该数组(或向量)中的每个元素即为相应的第一内容的评价值,该评价值能够表示相应的第一内容的重要程度。
54.本发明实施例中,“将评价矩阵与最大特征向量相乘”,可以是评价矩阵
×
最大特征向量,也可以是最大特征向量
×
评价矩阵,具体可基于实际情况而定。例如,第一存储区
中存有m个第一内容,预设时间段可以被分为n个时段;若评价矩阵为m
×
2n的矩阵,该最大特征向量为2n
×
1的向量,此时可以将评价矩阵
×
最大特征向量。或者,若评价矩阵为2n
×
m的矩阵,该最大特征向量为2n
×
1的向量,此时可以将最大特征向量
×
评价矩阵。
55.步骤a3:将重要程度最低的第一内容作为可剔除的第一内容。
56.本发明实施例中,在确定所有第一内容的重要程度之后,即可将重要程度最低的第一内容作为可剔除的第一内容。并且,在需要的情况下,还可以将重要程度次低的第一内容(即除重要程度最低的第一内容之外,其他第一内容中重要程度最低的第一内容)也作为可剔除的第一内容,本实施例可剔除的第一内容的数量不做限定,具体可基于实际情况选择。
57.可选地,为了进一步避免高价值内容被剔除,提高高价值内容的命中率,本发明实施例提供的方法中,边缘服务器还设有第二存储区,用于存储高价值的内容。具体地,该方法还包括:
58.步骤b1:划分第二存储区,并将第二内容存储于第二存储区;第一内容和第二内容均为本地需要存储的内容,且第二内容的重要程度高于第一内容的重要程度。
59.本发明实施例中,边缘服务器中用于存储内容的存储区包括第一存储区和第二存储区,第一存储区中存储的内容称为第一内容,第二存储区中存储的内容称为第二内容,第一内容和第二内容均为本地需要存储的内容;例如,所有需要存储在边缘服务器中的内容被分至第一存储区或第一存储区进行存储。其中,第二存储区用于存储高价值的内容,即第二内容的重要程度高于第一内容的重要程度。
60.其中,在需要判断哪些内容存储到第一存储区、哪些内容存储到第二存储区时,可以基于每个内容的访问量简单确定每个内容的重要程度,访问量越高,重要程度越大,故可以将访问量较大的前几个内容作为第二内容存储到第二存储区,将其余能够存储的内容作为第一内容存储到第一存储区。或者,也可以基于类似上述步骤a1-a2的方式,确定每个需要存储的内容(不止第一内容)的重要程度,进而将重要程度较高的内容作为第二内容存储到第二存储区。
61.此外可选地,本发明实施例可以动态更新第二存储区的空间大小,以能够动态适应性存储高价值内容。其中,可以每间隔一段时间执行一次更新第二存储区的空间大小的操作(以下简称更新操作),例如,可以周期性地执行更新操作,如每间隔一分钟、三分钟等执行一次更新操作。具体地,上述步骤b1“划分第二存储区”的过程可以包括:
62.步骤b11:在需要更新第二存储区的空间大小的情况下,确定当前更新时段的系数a
t
,且:其中,t表示当前更新时段,t-1表示上一更新时段,a
t-1
表示上一更新时段的系数,表示在上一更新时段第一存储区的内容命中率,表示在上一更新时段第二存储区的内容命中率。
63.本发明实施例中,将两个更新时间点之间的时段称为更新时段。在到达某个更新时间点时,可以确定当前需要更新第二存储区的空间大小,将以该更新时间点作为起始点的更新时段作为当前更新时段,其可以用t表示;该当前更新时段的上一个更新时段称为“上一更新时段”,其用t-1表示。为每个更新时段设置一个动态变化的系数,如当前更新时
段t的系数为a
t
,利用两个存储区(第一存储区和第二存储区)的命中情况,对该系数进行调整。如果第二存储区的命中率高,则在下一次更新操作时,增大第二存储区的空间,反之减少。增大减少多少由该系数决定。
64.具体地,当前更新时段的系数a
t
由上一更新时段的系数a
t-1
、第一存储区的内容命中率第二存储区的内容命中率共同确定,具体可参见上述的公式。在上一更新时段,若第二存储区的内容命中率越大,该当前更新时段的系数a
t
也越大,说明上一更新时段的高价值内容越多,此时可以在当前更新时段进一步增加第二存储区的空间大小。其中,存储区(包括第一存储区、第二存储区)的内容命中率指的是在一段时间(例如某个更新时段)内,存储区中存储的内容被访问的频次与总的访问请求频次之间的比值。例如,在一个更新时段(如一分钟)内,内容a被请求访问10次,内容b被请求访问5次,内容c被请求访问4次。存储区中存储了两个内容a和b,则存储区的内容命中率=(10 5)/(10 5 4)=15/19。
65.步骤b12:根据在上一更新时段t-1和上上更新时段t-2被访问的本地存储的内容,确定当前更新时段的内容数k
t
,并将重要程度前k
t
个的内容所对应的大小作为在当前更新时段第二存储区的空间大小;且k
t
=num(h
t-1
∩h
t-2
)
×at
;其中,h
t-1
表示在上一更新时段t-1被访问的本地存储的内容,h
t-2
表示在上上更新时段t-2被访问的本地存储的内容,num(h
t-1
∩h
t-2
)表示在上一更新时段t-1和上上更新时段t-2均被访问的本地存储的内容的数量。
66.本发明实施例中,将上一更新时段的上一个更新时段称为“上上更新时段”,其可以用t-2表示。基于边缘服务器的历史访问数据,可以确定在上一更新时段t-1以及在上上更新时段t-2所有用户所访问的存储在边缘服务器中的内容,即h
t-1
和h
t-2
;进而可以确定边缘服务器中存储的哪些内容是在该两个更新时段(上一更新时段t-1、上上更新时段t-2)均被访问的,进而可以确定被访问内容的数量num(h
t-1
∩h
t-2
)。本实施例利用系数a
t
对该数量进行调整,以确定在当前更新时段,第二存储区应当存储的内容数k
t
,即第二存储区应当存储k
t
个内容,进而将第二存储区的空间大小设为重要程度前k
t
个的内容所对应的大小,并将重要程度前k
t
个的内容作为第二内容存储至该第二存储区。
67.本发明实施例提供的方法,通过在边缘服务器中划分出第一存储区和第二存储区,可以将比较重要、价值较高的内容作为第二内容存储到第二存储区中;在需要判断哪些内容可剔除时,不需要判断第二内容的重要程度,可以减少冗余计算,提高处理效率;并且,除了更新操作,高价值的第二内容不会被剔除,可以保证高价值的第二内容的命中率,进一步避免因在低访问量阶段将高价值的内容误剔除。
68.下面通过一个实施例整体介绍该边缘缓存的方法的一种流程。如图2所示,该方法包括步骤201-209。
69.步骤201:获取当前用户发送的用于访问当前内容的请求。
70.步骤202:判断本地存储区中是否包含该当前内容。若不包含,继续步骤203,否则继续步骤209。
71.其中,本地存储区包含第一存储区和第二存储区,只要两个存储区中的一个存储区中包含该当前内容,即可认为存有该当前内容。
72.步骤203:判断本地存储区的剩余空间是否能够存储该当前内容。若不能存储,则继续步骤204,否则继续步骤208。
73.其中,由于第二存储区的空间大小只在需要更新时调整,故此时可以只判断第一存储区的剩余空间是否能够存储该当前内容。
74.步骤204:判断是否需要更新第二存储区的空间大小,若是,则继续步骤205,否则继续步骤206。
75.步骤205:根据当前更新时段的系数确定第二存储区的空间大小,将重要的第二内容存储在第二存储区中,其余内容作为第一内容存储在第一存储区中,之后继续步骤206。
76.本领域技术人员可以理解,上述步骤204-205可以在步骤203之后执行,也可以在其他位置执行,例如在步骤201、或202之后,或者在步骤201之前执行。此时,在步骤203中确定不能存储的情况下,直接执行后续的步骤206。
77.步骤206:根据核心用户访问量和整体访问量确定多个第一内容的重要程度,将重要程度最低的第一内容作为可剔除的第一内容,并剔除。
78.步骤207:再次判断第一存储区的剩余空间是否能够存储该当前内容。若不能存储,则再次执行步骤206,否则继续步骤208。
79.步骤208:将该当前内容作为第一内容存储至第一存储区。
80.步骤209:将当前内容返回至当前用户。
81.下面通过一个具体的场景详细介绍该该边缘缓存的方法的应用过程。
82.例如,边缘服务器(例如基站)能够存储6个内容,目前,边缘服务器中存储了5个内容a、b、c、d、e,与之对应的访问用户及时间如表1所示。为方便描述,本实施例不考虑不同内容的大小差异,即所有内容的大小是相同的,表中的访问时间精确到分钟。并且,用户u1,u2,u3始终为核心用户,即核心用户集为{u1,u2,u3}。
83.表1
84.序号内容访问用户访问时间1au1、u2、u3、u41:22、1:22、1:22、1:232bu1、u2、u51:22、1:22、1:233cu2、u41:21、1:224du4、u11:24、1:245eu6、u7、u11:22、1:23、1:24
85.若边缘服务器先后收到在1:24时用户u2请求观看内容f、在1:24时用户u3请求观看内容b、在1:25时用户u1请求观看内容m的请求,对这些请求的具体处理过程如下:
86.对于用户u2请求观看内容f,虽然本地并未存储有内容f,但由于边缘服务器能够存储6个内容,而当前只存储有5个,故边缘服务器的剩余空间能够存储该内容f,此时可以将直接存储该内容f,并将内容f返回至用户u2。
87.对于用户u3请求观看内容b,由于本地存有该内容b,可以直接将内容b发送至用户u3。此时,访问用户以及时间可以更新为表2所示:
88.表2
89.序号内容访问用户访问时间1au1、u2、u3、u41:22、1:22、1:22、1:232bu1、u2、u5、u31:22、1:22、1:23、1:243cu2、u41:21、1:22
4du4、u11:24、1:245eu6、u7、u11:22、1:23、1:246fu21:24
90.对于用户u1在1:25时请求观看内容m,由于本地为存有该内容m,且本地存储区已满,故需要确定可剔除的内容。
91.其中,本实施例将预设时间段设为3分钟,每一分钟对应一个时段。为方便描述,以用户u1在1:25:01时请求观看内容m为例,此时只需要考虑1:22、1:23、1:24三个时段的访问数据即可,故可以删除表2中1:21的访问,并生成表3:
92.表3
93.序号内容访问用户访问时间1au1、u2、u3、u41:22、1:22、1:22、1:232bu1、u2、u5、u31:22、1:22、1:23、1:243cu41:224du4、u11:24、1:245eu6、u7、u11:22、1:23、1:246fu21:24
94.此外,本发明实施例将内容a和b作为比较重要的第二内容存储在第二存储区中,将内容c、d、e、f作为第一内容存储在第一存储区中。核心用户包括u1,u2,u3,基于该表3对应的访问数据可以确定在每个时段(1:22、1:23、1:24)核心用户以及所有用户对每个第一内容的访问量,从而确定每个第一内容的核心用户访问量和整体访问量;由于预设时间段被分为三个时段,故该核心用户访问量和整体访问量均可以表示为三维的数组,其具体参见表4所示:
95.表4
96.序号第一内容核心用户访问量整体访问量总访问量1c[0,0,0][1,0,0]12d[0,0,1][0,0,2]23e[0,0,1][1,1,1]34f[0,0,1][0,0,1]1
[0097]
将所有第一内容的核心用户访问量和整体访问量拼接并组合成4
×
6的评价矩阵x,该评价矩阵x为:
[0098][0099]
以评价矩阵x中时段所表示的所有元素为一组,可以得到6
×
6的协方差矩阵,进而确定6
×
1的最大特征向量。将该评价矩阵x乘以最大特征向量,即可得到包含四个元素的一维数组,这四个元素依次表示内容c、d、e、f的评价值。经计算,内容c的评价值最小,其重要程度最低,故可以将内容c作为可剔除的第一内容,删除该内容c,并将用户请求的内容m存储到第一存储区中,此时访问用户以及时间可参见下表5所示:
[0100]
表5
[0101][0102][0103]
上文详细描述了本发明实施例提供的边缘缓存的方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的边缘缓存的装置。
[0104]
图3示出了本发明实施例所提供的一种边缘缓存的装置的结构示意图。如图3所示,该边缘缓存的装置包括:
[0105]
请求模块31,用于确定当前用户所请求的当前内容;
[0106]
数据获取模块32,用于在未存储有所述当前内容的情况下,根据在预设时间段内对第一存储区中多个第一内容的历史访问数据确定核心用户访问量和整体访问量,所述核心用户访问量表示核心用户对所述第一内容的访问量,所述整体访问量表示所有用户对所述第一内容的访问量;
[0107]
处理模块33,用于根据所述核心用户访问量和所述整体访问量确定多个所述第一内容中可剔除的第一内容;
[0108]
存储模块34,用于剔除所述可剔除的第一内容,将所述当前内容存储至所述第一存储区,并将所述当前内容返回至所述当前用户。
[0109]
在上述实施例的基础上,所述核心用户访问量包括核心用户在所述预设时间段内的多个时段对所述第一内容的访问量,所述整体访问量包括所有用户在所述预设时间段内的多个时段对所述第一内容的访问量;
[0110]
所述处理模块33根据所述核心用户访问量和所述整体访问量确定多个所述第一内容中可剔除的第一内容,包括:
[0111]
将多个所述第一内容的所述核心用户访问量和所述整体访问量拼接成评价矩阵;
[0112]
根据所述评价矩阵确定每个所述第一内容的重要程度;
[0113]
将重要程度最低的第一内容作为可剔除的第一内容。
[0114]
在上述实施例的基础上,所述处理模块33根据所述评价矩阵确定每个所述第一内容的重要程度,包括:
[0115]
确定所述评价矩阵的协方差矩阵,所述评价矩阵的行和列分别表示所述第一内容和所述时段;
[0116]
提取所述协方差矩阵的最大特征值,并确定所述最大特征值对应的最大特征向量;
[0117]
将所述评价矩阵与所述最大特征向量相乘,确定每个所述第一内容的评价值,并将所述评价值作为所述第一内容的重要程度。
[0118]
在上述实施例的基础上,该装置还包括划分模块,用于:
[0119]
划分第二存储区,并将第二内容存储于所述第二存储区;所述第一内容和所述第二内容均为本地需要存储的内容,且所述第二内容的重要程度高于所述第一内容的重要程度。
[0120]
在上述实施例的基础上,所述划分模块划分第二存储区包括:
[0121]
在需要更新第二存储区的空间大小的情况下,确定当前更新时段的系数a
t
,且:其中,t表示当前更新时段,t-1表示上一更新时段,a
t-1
表示上一更新时段的系数,表示在上一更新时段第一存储区的内容命中率,表示在上一更新时段第二存储区的内容命中率;
[0122]
根据在上一更新时段t-1和上上更新时段t-2被访问的本地存储的内容,确定当前更新时段的内容数k
t
,并将重要程度前k
t
个的内容所对应的大小作为在所述当前更新时段所述第二存储区的空间大小;且k
t
=num(h
t-1
∩h
t-2
)
×at

[0123]
其中,h
t-1
表示在上一更新时段t-1被访问的本地存储的内容,h
t-2
表示在上上更新时段t-2被访问的本地存储的内容,num(h
t-1
∩h
t-2
)表示在上一更新时段t-1和上上更新时段t-2均被访问的本地存储的内容的数量。
[0124]
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述边缘缓存的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0125]
具体的,参见图4所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
[0126]
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述边缘缓存的方法实施例的各个过程。
[0127]
收发器1130,用于在处理器1120的控制下接收和发送数据。
[0128]
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
[0129]
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(accelerate graphical port,agp)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(industry standard architecture,isa)总线、微通道体系结构(micro channel architecture,mca)总线、扩展isa(enhanced isa,eisa)总线、视频电子标准协会(video electronics standards association,vesa)、外围部件互连(peripheral component interconnect,pci)总线。
[0130]
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、复杂可编程逻辑器件(complex programmable logic device,cpld)、可编程逻辑阵列(programmable logic array,pla)、微控制单元(microcontroller unit,mcu)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
[0131]
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,ram)、闪存(flash memory)、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0132]
总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
[0133]
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
[0134]
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网(internet)、公共交换电话网(pstn)、普通老式电话业务网(pots)、蜂窝电话网、无线网络、无线保真(wi-fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(gsm)系统、码分多址(cdma)系统、全球微波互联接入(wimax)系统、通用分组无线业务(gprs)系统、宽带码分多址(wcdma)系统、长期演进(lte)系统、lte频分双工(fdd)系统、lte时分双工(tdd)系统、先进长期演进(lte-a)系统、通用移动通信(umts)系统、增强移动宽带(enhance mobile broadband,embb)系统、海量机器类通信(massive machine type of communication,mmtc)系统、超可靠低时延通信(ultra reliable low latency communications,urllc)系统等。
[0135]
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器
(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存(flash memory)。
[0136]
易失性存储器包括:随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如:静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
[0137]
在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
[0138]
具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(media player)、浏览器(browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
[0139]
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述边缘缓存的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0140]
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
[0141]
在本技术所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
[0142]
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
[0143]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0144]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
[0145]
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
[0146]
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、闪存(flash memory)、光纤、光盘只读存储器(cd-rom)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
[0147]
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(radio frequency,rf)或者以上任意合适的组合。
[0148]
可以以汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:java、smalltalk、c ,还包括常规的过程式程序设计语言,例如:c语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(lan)或广域网(wan),可以连接到用户计算机,也可以连接到外部计算机。
[0149]
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
[0150]
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组
合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
[0151]
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
[0152]
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
[0153]
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献