CN112286488B - 一种基于数据包效用值的缓存替换方法 - Google Patents

一种基于数据包效用值的缓存替换方法 Download PDF

Info

Publication number
CN112286488B
CN112286488B CN202010980194.1A CN202010980194A CN112286488B CN 112286488 B CN112286488 B CN 112286488B CN 202010980194 A CN202010980194 A CN 202010980194A CN 112286488 B CN112286488 B CN 112286488B
Authority
CN
China
Prior art keywords
packet
data
utility value
current
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010980194.1A
Other languages
English (en)
Other versions
CN112286488A (zh
Inventor
汪淑娟
马芳菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202010980194.1A priority Critical patent/CN112286488B/zh
Publication of CN112286488A publication Critical patent/CN112286488A/zh
Application granted granted Critical
Publication of CN112286488B publication Critical patent/CN112286488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于数据包效用值的缓存替换方法,属于无线通信技术领域。本发明包括计算数据包的解码贡献值和被请求的密度,再根据设计的效用值计算公式计算缓存空间中每个数据包的效用值并替换效用值最小的数据包。本发明不仅能够将高流行度的数据包缓存下来,而且对高解码贡献值的数据包也有很好的响应,有利于降低按需广播网络中系统的响应时间和提高客户端的缓存命中率。

Description

一种基于数据包效用值的缓存替换方法
技术领域
本发明涉及一种基于数据包效用值的缓存替换方法,属于无线通信技术领域。
背景技术
近年来,数据广播吸引了学术界和业界的广泛关注,因为它是向大量移动客户端传播信息的有效且可扩展的方式。按需广播是数据广播技术之一,已被广泛用于动态和大规模数据传播。客户端向服务器发送对数据项的显式请求,并且可以在一个广播中提供请求相同数据项的所有客户端。在大多数现有的按需广播策略中,每个广播中的移动客户端只能从广播信道中检索一个数据项。这限制了有限广播带宽的利用并导致服务的长响应时间。
近几十年来,已经提出网络编码技术来提高无线网络中的系统性能。以前的研究表明,网络编码可以有效地利用无线带宽来提高数据吞吐量并降低多播通信中的能耗。
为了将网络编码应用于数据广播系统,服务器需要利用关于每个客户端的高速缓存和被询问数据项的信息来构建用于广播的编码分组。因此,客户端中的缓存内容将不可避免地直接影响网络编码的效率。
然而,每个客户端的缓存容量是有限的,当缓存空间被占满后,必须根据一定的替换策略将缓存中价值较小的内容清理出来,存放新的有意义的数据,以提高缓存空间的请求命中率,由此可见,合理地对缓存内容进行管理和置换是影响系统整体性能的关键。
传统的缓存替换算法有先进先出算法(first in first out,FIFO)、最近最少使用替换算法(least frequently used,LFU)、最近最久未使用替换算法(least recentlyused,LRU)以及内容大小替换算法(SIZE)等。其中,FIFO根据队列先进先出的规则,将最先进入缓存空间的数据置换出去,这种算法复杂度低,容易实现,但请求命中率较低。LRU算法总是将最久未被访问的资源替换出缓存,认为最近被访问的数据在不久的将来被访问的概率也比较高,该算法仅从最近的请求时间上来考虑置换数据,当内容流行分布发生变化时,适应性能下降。通过统计缓存内容在过去一段时间内的访问频率,LFU替换策略认为频率高的资源其使用价值就越高,因此当缓存空间不足时,总是替换访问频率最低的内容,该算法也存在缓存污染问题,即过去访问频率高的内容即使现在不再被访问依然占据缓存空间,致使缓存空间的利用率降低。SIZE算法根据内容的大小置换数据,优先将字节数大的数据替换出去,但这种算法可能会使价值不高的小字节对象长时间保留在缓存空间中,从而降低命中率。
以上算法的设计略显片面,均采用单一目标函数来确定缓存替换对象已经不能满足多样化的网络数据需求,综上所述,如何在缓存空间的有限的情况下,合理地对缓存内容进行置换就本领域技术人员亟待解决的问题。
发明内容
本发明要解决的技术问题是为了解决现有技术的上述缺陷,提供一种基于数据包效用值的缓存替换方法,综合考虑了数据包的解码贡献和被请求的密度来确定缓存对象的效用值,当缓存空间不足时,将效用值最小的数据置换出去。能够有效地提高缓存命中率,减少系统的响应时间。
本发明的技术方案是:一种基于内容价值的缓存替换方法,包括如下步骤:
客户端接收待缓存的数据包;
判断当前待缓存的数据包是否为编码包;
若待缓存的数据包是未编码包,首先判断客户端的缓存空间是否已满;
若缓存未满,则直接缓存;
若缓存已满,判断该数据包是否是客户端请求的;
如果是,删除当前缓存中效用值最小的包,缓存当前包,且当前包的效用值记为其被请求密度(access density),计算公式是:
Figure BDA0002687243900000021
其中,Ni为packet在时间段Ti内被请求的次数,N为总时间段数。
若该数据包不是客户端所请求的,继续判断该数据包是否能帮助解码;
如果是,删除当前缓存中除用于解码外的包中效用值最小的包,缓存当前包,且利用当前包和其他已缓存的编码包进行解码,将解码出的数据存入缓存用于解码的编码包则删除,该包的效用值记为access density,解码出的其他包的效用值也记为accessdensity;
若不能帮助解码,分别计算数据包的解码贡献值和被请求的密度,然后计算该数据包的效用值;
数据包的解码贡献的计算公式是:
Figure BDA0002687243900000022
其中,rank(A')表示矩阵A'的行数。
数据包的效用值的计算公式是:
Utility(packet)=DC(packet)*AD(packet)
判断计算出的效用值是否大于当前缓存空间中效用值最小的数据包,若大于则删除当前缓存中效用值最小的数据包,缓存当前包,且当前包的效用值记为其被请求密度(access density),若小于则不缓存,丢弃数据包。
若待缓存的数据包是编码包的情况,所述方法还包括:
判断该编码包是否可解;
如果是,删除当前缓存中除用于解码外的包中效用值最小的包,缓存当前包,且利用当前包和其他已缓存的编码包进行解码,将解码出的数据存入缓存,用于解码的编码包则删除,该包的效用值记为access density,解码出的其他包的效用值也记为accessdensity;
若不可解则继续判断该编码包是否含用户请求的数据;
如果编码包没有包含用户请求的数据,则不缓存直接丢弃;
若含有分别计算数据包的解码贡献值和被请求的密度,然后计算该数据包的效用值,若含有多个用户请求的数据,则效用值取多个请求数据中对应的最大值;
判断编码包的效用值是否大于当前缓存包中的最小效用值;
如果是,删除当前缓存中效用值最小的包,将待判断的编码包缓存;
若小于则不缓存直接丢弃。
本发明的有益效果是:不仅能够将高流行度的数据包缓存下来,而且对高解码贡献值的数据包也有很好的响应,有利于提高缓存的命中率和降低系统的响应时间。
附图说明
图1是本发明未编码包的缓存替换处理流程图;
图2是本发明编码包的缓存替换处理流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步说明。
图1为本发明的流程示意图,可应用于按需广播网络中客户端在其缓存空间对数据包的缓存替换,所述方法包括步骤:
客户端接收待缓存的数据包;
为了清楚的对本发明的技术方案进行说明,首先对本发明的应用场景基于网络编码的按需广播网络进行介绍。该系统由一台服务器和N个客户端组成。每个客户端都有一个本地缓存,用于存储服务器广播的数据包。当客户端在其缓存中找不到请求的数据包时,客户端会通过上行链路通道将请求发送到服务器,发送请求后,客户端侦听广播信道,直到请求满足为止。在传统的广播通信模式下,只有不同的客户端请求的内容相同时,不同的客户端才能被同时满足。而支持网络编码的通信模式则允许对源数据包按照某些规则进行编码后转发,客户端接收到编码包后按照对应的规则进行解码恢复出原始数据,因此引入网络编码后服务器生成的编码包能同时满足请求内容不同的多个客户端。
若待缓存的数据包是未编码包,客户端继续判断其缓存空间是否已满;
若缓存未满,则直接缓存数据包;
若缓存已满,判断该数据包是否是客户端请求的;
如果是,删除当前缓存中效用值最小的包,缓存当前包,且当前包的效用值记为其被请求密度(access density),计算公式是:
Figure BDA0002687243900000041
其中,Ni为pachet在时间段Ti内被请求的次数,N为总时间段数。
若该数据包不是客户端所请求的,继续判断该数据包是否能帮助客户端进行解码;
如果是,删除当前缓存中除用于解码外的包中效用值最小的包,缓存当前包,且利用当前包和其他已缓存的编码包进行解码,将解码出的数据存入缓存用于解码的编码包则删除,该包的效用值记为access density,解码出的其他包的效用值也记为accessdensity;
若不能帮助客户端解码,则根据公式分别计算数据包的解码贡献值和被请求的密度,然后计算该数据包的效用值;
数据包的解码贡献的计算公式是:
Figure BDA0002687243900000042
其中,rank(A')表示矩阵A'的行数。
数据包的效用值的计算公式是:
Utility(packet)=DC(packet)*AD(packet)
判断待缓存数据包的效用值是否大于当前缓存空间中效用值最小的数据包,若大于则删除当前缓存中效用值最小的数据包,缓存当前包,且当前包的效用值记为其被请求密度(access density),若效用值小于当前缓存中效用值最小的数据包则不缓存,丢弃数据包。
在按需广播网络中,服务器发送给客户端的数据包可能是服务器数据库中的源数据包,也有可能是经过编码处理后的编码包,在本发明中客户端既能缓存源数据包,又能缓存编码包。
如图2所示,若待缓存的数据包是编码包的情况,所述方法还包括:
判断该编码包是否可解;
如果是,删除当前缓存中除用于解码外的包中效用值最小的包,缓存当前包,且利用当前包和其他已缓存的编码包进行解码,将解码出的数据存入缓存,用于解码的编码包则删除,该包的效用值记为access density,解码出的其他包的效用值也记为accessdensity;
若不可解则继续判断该编码包是否含用户请求的数据;
如果编码包没有包含用户请求的数据,则不缓存直接丢弃;
若含有分别计算数据包的解码贡献值和被请求的密度,然后计算该数据包的效用值,若含有多个用户请求的数据,则效用值取多个请求数据中对应的最大值;
判断编码包的效用值是否大于当前缓存包中的最小效用值;
如果是,删除当前缓存中效用值最小的包,将待判断的编码包缓存;
若小于则不缓存直接丢弃数据包。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (5)

1.一种基于数据包效用值的缓存替换方法,其特征在于:
Step1:客户端接收待缓存的数据包;
Step2:判断当前待缓存的数据包是否为编码包;
Step3:若待缓存的数据包是未编码包,判断客户端的缓存空间是否已满;
Step4:若缓存已满,判断该数据包是否是客户端请求的,若该数据包不是客户端所请求的,继续判断该数据包是否能帮助解码;
Step5:若不能帮助解码,分别计算数据包的解码贡献值和被请求的密度,然后计算该数据包的效用值;
Step6:判断数据包的效用值是否大于当前缓存空间中效用值最小的数据包,若大于则删除当前缓存中效用值最小的数据包,缓存当前包;
将所述Step2中当前待缓存的数据包定义为待判断包,令待判断包为packet,其对当前缓存中已缓存的编码包的贡献称为decoding contribution,将缓存中含有packet的编码包对应的编码向量单独组成一个矩阵A,若packet是编码包,则将含有packet中任一数据的编码包对应的编码向量单独组成一个矩阵A,A矩阵和packet对应的编码向量合并,组成矩阵A',则packet的解码贡献的计算公式是:
Figure FDA0004211655830000011
式中,rank(A')表示矩阵的行数;
针对packet,将每次packet被请求且packet不在缓存中的时间点记为t1,t2,...tn,则Ti=ti+1-ti;若请求packet时,packet恰好在缓存中,即发生了cache hit事件,此时不记录时间点,则packet的被请求密度access density的计算公式是:
Figure FDA0004211655830000012
式中,Ni为packet在时间段Ti内被请求的次数,N为总时间段数;
所述效用值的计算公式是:
Utility(packet)=DC(packet)*AD(packet)。
2.根据权利要求1所述的基于数据包效用值的缓存替换方法,其特征在于所述Step2中若判断当前待缓存的数据包是编码包,则:
Step7:判断该编码包是否可解;
Step8:若不可解则继续判断该编码包是否含用户请求的数据;
Step9:如果是,分别计算数据包的解码贡献值和被请求的密度,然后计算该数据包的效用值,若含有多个用户请求的数据,则效用值取多个请求数据中对应的最大值;
Step10:判断编码包的效用值是否大于当前缓存包中的最小效用值,如果是,删除当前缓存中效用值最小的包,将待判断的编码包缓存。
3.根据权利要求1所述的基于数据包效用值的缓存替换方法,其特征在于所述Step4中若判断该数据包是客户端请求的,则:删除当前缓存中效用值最小的包,缓存当前包,且当前包的效用值记为其access density。
4.根据权利要求1所述的基于数据包效用值的缓存替换方法,其特征在于所述Step4中若判断该数据包能帮助解码,则:删除当前缓存中除用于解码外的包中效用值最小的包,缓存当前包,且利用当前包和其他已缓存的编码包进行解码,将解码出的数据存入缓存用于解码的编码包则删除,该包的效用值记为access density,解码出的其他包的效用值也记为access density。
5.根据权利要求2所述的基于数据包效用值的缓存替换方法,其特征在于:所述Step7中若判断该编码包可解,则:删除当前缓存中除用于解码外的包中效用值最小的包,缓存当前包,且利用当前包和其他已缓存的编码包进行解码,将解码出的数据存入缓存,用于解码的编码包则删除,该包的效用值记为access density,解码出的其他包的效用值也记为access density。
CN202010980194.1A 2020-09-17 2020-09-17 一种基于数据包效用值的缓存替换方法 Active CN112286488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010980194.1A CN112286488B (zh) 2020-09-17 2020-09-17 一种基于数据包效用值的缓存替换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010980194.1A CN112286488B (zh) 2020-09-17 2020-09-17 一种基于数据包效用值的缓存替换方法

Publications (2)

Publication Number Publication Date
CN112286488A CN112286488A (zh) 2021-01-29
CN112286488B true CN112286488B (zh) 2023-06-16

Family

ID=74420508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010980194.1A Active CN112286488B (zh) 2020-09-17 2020-09-17 一种基于数据包效用值的缓存替换方法

Country Status (1)

Country Link
CN (1) CN112286488B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5450562A (en) * 1992-10-19 1995-09-12 Hewlett-Packard Company Cache-based data compression/decompression
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统
CN105635319A (zh) * 2016-03-03 2016-06-01 北京邮电大学 一种数据缓存的方法及装置
CN106028400A (zh) * 2016-06-30 2016-10-12 华为技术有限公司 一种缓存内容的方法和基站
CN109951317A (zh) * 2019-02-18 2019-06-28 大连大学 一种基于用户驱动的流行度感知模型的缓存替换方法
US10558583B1 (en) * 2019-01-31 2020-02-11 The Florida International University Board Of Trustees Systems and methods for managing cache replacement with machine learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075746B2 (en) * 2011-12-23 2015-07-07 Intel Corporation Utility and lifetime based cache replacement policy

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5450562A (en) * 1992-10-19 1995-09-12 Hewlett-Packard Company Cache-based data compression/decompression
CN101184021A (zh) * 2007-12-14 2008-05-21 华为技术有限公司 一种实现流媒体缓存置换的方法、设备及系统
CN105635319A (zh) * 2016-03-03 2016-06-01 北京邮电大学 一种数据缓存的方法及装置
CN106028400A (zh) * 2016-06-30 2016-10-12 华为技术有限公司 一种缓存内容的方法和基站
US10558583B1 (en) * 2019-01-31 2020-02-11 The Florida International University Board Of Trustees Systems and methods for managing cache replacement with machine learning
CN109951317A (zh) * 2019-02-18 2019-06-28 大连大学 一种基于用户驱动的流行度感知模型的缓存替换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种高效的流媒体代理缓存替换算法;王小燕;;计算机工程(第14期);全文 *

Also Published As

Publication number Publication date
CN112286488A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN111741495B (zh) 异构网络中高能效编码缓存内容放置方案设计方法
CN105007613B (zh) 一种基于流量过滤和Web缓存预取的WiFi接入设备节能方法
CN111107000B (zh) 一种基于网络编码的命名数据网络中内容缓存方法
CN107276788B (zh) 一种基于休眠控制的带缓存基站通信模型构建方法
Zhang et al. Layered hierarchical caching for SVC-based HTTP adaptive streaming over C-RAN
US9521064B2 (en) Cooperative caching method and apparatus for mobile communication system
CN109672626B (zh) 一种基于排队延迟利用的服务聚合方法
CN112286488B (zh) 一种基于数据包效用值的缓存替换方法
CN107517266A (zh) 一种基于分布式缓存的即时通讯方法
CN108390936B (zh) 一种基于缓存分布感知的概率缓存算法
Liu et al. Mobility-aware video prefetch caching and replacement strategies in mobile-edge computing networks
Yu et al. Dynamic popularity-based caching permission strategy for named data networking
CN111314349B (zh) 雾无线接入网中基于联合最大距离可分码与簇协作的编码缓存方法
Miao et al. Multi-level plru cache algorithm for content delivery networks
Tan Organization of invalidation reports for energy-efficient cache invalidation in mobile environments
Huang et al. Playback experience driven cross layer optimisation of APP, transport and MAC layer for video clients over long‐term evolution system
CN115714814B (zh) 一种基于多智能体强化学习的边缘缓存替换方法
Madhukar et al. An adaptive energy efficient cache invalidation scheme for mobile databases
CN112822275B (zh) 基于topsis熵权法的轻量级缓存策略
CN108429919B (zh) 多速率视频在无线网络中的缓存和传输优化方法
Cheng et al. Improving web server performance with adaptive proxy caching in soft real-time mobile applications
CN114070840B (zh) 一种存储方法、装置及存储介质
Chen et al. Efficient processing of real-time multi-item requests with network coding in on-demand broadcast environments
CN106254032B (zh) 一种基于内容感知的资源调度方法
Zeitunlian et al. An efficient cache replacement strategy for the hybrid cache consistency approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant