CN107370807A - 基于透明服务平台数据访问的服务端及其缓存优化方法 - Google Patents
基于透明服务平台数据访问的服务端及其缓存优化方法 Download PDFInfo
- Publication number
- CN107370807A CN107370807A CN201710567988.3A CN201710567988A CN107370807A CN 107370807 A CN107370807 A CN 107370807A CN 201710567988 A CN201710567988 A CN 201710567988A CN 107370807 A CN107370807 A CN 107370807A
- Authority
- CN
- China
- Prior art keywords
- mrow
- data block
- msub
- access
- user
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及计算机网络技术,公开一种基于透明服务平台数据访问的服务端及其缓存优化方法,以提高缓存的命中率,提升透明计算服务质量。本发明方法包括:分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计,并利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性;当判断用户访问行为具有集中性时,筛选出当前被访问的频数高的各数据块,并利用指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布;根据预测的频数分布结果对服务端的缓存进行优化。
Description
技术领域
本发明涉及计算机网络技术,尤其涉及一种基于透明服务平台数据访问的服务端及其缓存优化方法。
背景技术
近年来,云计算作为网络计算模式的典型代表,使计算由软硬件为中心转变为了面向服务的模式,能够根据终端用户的需求把服务端的存储和计算资源传输到客户端。透明计算是云计算的一个特例,是一种以用户为中心的新型服务模式,旨在为用户提供无处不在的透明服务。透明服务平台由搭载轻量级微内核操作***的透明客户端、透明网络以及提供数据服务的服务端管理平台组成。服务端的主要功能为提供透明计算数据访问服务和透明资源管理服务。因此,透明计算用户自主可控地按需使用服务的过程,其本质是对透明服务平台数据访问的行为。
在透明服务平台中,未配备硬盘的透明终端借助虚拟磁盘技术访问存储于服务端的数据,实现终端操作***的远程加载与运行。其采用的虚拟磁盘模型具有以下特点:
(1)、三层链式数据存储机制。虚拟磁盘中数据资源按资源共享程度及性质划分成3类:共享程度最高的***资源、具有相同的应用属性的应用群组资源、用户自身才能访问私有数据资源。
(2)、采用写时重定向机制。将共享程度高的***虚拟磁盘镜像S_VDI和群组虚拟磁盘镜像G_VDI以只读的方式存储于服务端,共享给多个终端用户;采用ROW写时重定向机制将终端用户对S_VDI和G_VDI的改写块保存于与用户对应的用户虚拟磁盘镜像U_VDI中,并采用Bitmap来标记各个改写块的位置。
基于透明计算存储与计算分类的思想,在当前网络带宽相对有限,面对大规模各类型的透明终端时,服务端的性能就成为了透明计算***的性能瓶颈。缓存的命中率是透明计算服务端性能表现最关键的因素,因此,在服务端设计高效的缓存机制,提高缓存的命中率是改善透明计算服务质量的一个极为重要途径。目前针对透明计算的缓存优化思想主要有:
(1)、结合FIFO、LRU、LFU等缓存替换策略,从单个数据块的访问时间、频数上进行策略调整;
(2)、对终端缓存数据进行分区,结合索引等技术提高数据查询速率;
(3)、通过将本地缓存与虚拟磁盘数据同步,为终端构建实时更新的本地磁盘缓存。
透明服务平台中的虚拟磁盘采用的三层存储模型解决了大量数据冗余的问题,而结合现有透明计算及其缓存优化的研究现状,在服务性能方面仍存在以下问题:
(1)、透明计算是强调以用户为中心的网络计算服务模式,并且用户的所有资源均存储在服务端。在服务多客户端的情况下,当大量用户对透明服务端进行访问时,会对网络等服务资源产生严重负载;
(2)、透明服务平台的三层链式存储的特点,决定了其数据访问的特殊性,因此,其用户数据访问行为模型也会不同于其它虚拟磁盘存储模型。使用传统的缓存策略效果并不显著;
(3)、用户的当前行为一定程度上决定了其下一步的访问行为,用户作为数据访问的源头,对缓存预取策略有着重要的影响,而目前缺乏对透明计算用户访问行为的研究工作。
发明内容
本发明目的在于公开一种基于透明服务平台数据访问的服务端及其缓存优化方法,以提高缓存的命中率,提升透明计算服务质量。
为达上述目的,本发明公开一种基于透明服务平台数据访问的服务端的缓存优化方法,包括:
分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计,并利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性;
当判断用户访问行为具有集中性时,筛选出当前被访问的频数高的各数据块,并利用指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布;
根据预测的频数分布结果对服务端的缓存进行优化。
可选的,上述分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计包括:
用BS表示服务端供用户访问的所有数据块的集合,用户行为UB表示为二元组<B,T>,其中B表示一个数据块,且B∈BS,T表示用户发起请求的时间,<Bi,Tm>表示用户在Tm时刻访问了Bi数据块;
在一段时间内,服务端接收到众多的用户请求,在Tα内,所有用户的行为集合为UBS,可以用下式表示用户在时间段Tα内访问了数据块Bi的次数:
FBi=∑(Bi,Tm),(Bi,Tm)∈UBS,Tm∈Tα
所有在Tα内被访问到的数据块的频数集合,表示为
针对上述二元组模型,本发明可利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性,具体包括:
以Bi被访问的频数除以该时间段内所有被访问的数据块的频数,来计算在Tα时间区间内数据块Bi被访问的概率P:
数据块的访问概率集合,表示为P={P(B1),P(B2),…,P(Bn)};
每个数据块被访问的信息量表示为-log2P(Bi),为了对用户行为的整体信息进行度量,定义了自信息量的数学期望为用户行为的平均信息量,也称为信息熵,计算公式为:
用HTα表示Tα时间段内的熵值,如果HTα及Tα以后的连续两个周期的熵值都小于预定的阈值,判断当前用户访问行为具有集中性。
本发明中,透明计算服务端缓存设计为三个分区,分别存储操作***、应用程序和用户私有数据的缓存数据块;而且每一个缓存分区均由三个LRU队列构成,所述三个LRU队列分别为QL、QH和Q-history队列,且Q-history队列存储并按LRU规则淘汰从QL、QH中替换出去的缓存块;其中,访问优先级的排序为:QH>QL>Q-history;所述访问优先级与访问频数关联;
当服务端收到终端用户发来的数据块请求时,首先去相应缓存区的QH查询,若存在,则做读或写操作;若不存在,则依次往QL和Q-history中做相同的查询和处理,如果在Q-history队列中命中,将对应数据块的访问次数置为1并移入QL队首。
基于上述分区,可选地,本发明根据预测的频数分布结果对服务端的缓存进行优化包括:将预测出的访问频数满足一定条件的数据块预取放入相应的缓存分区,具体可包括:
确定被预测的数据块的所属分区,并放置到相应缓存分区中;
根据被预测数据块的访问频数预测值,评估其应被放入相应缓存分区中的QL或是QH;
若数据块已存在相应的队列,则将其访问计数置为评估值;若数据块不存在相应队列,且该队列未满,则将其放置到相应队列的队首,同时将其访问计数置为评估值;
若QH满时,则将队尾数据块移入到QL头部;若QL满时,则将队尾数据块移入Q-history队列头部;以及
数据块进入相应队列后,若被访问一次,则其访问计数加一;当QL中数据块访问计数达到给定值时,则应被移入到QH的队首。
进一步地,上述评估被预测数据块是否存入QL或是QH的具体方法为:
为数据块每个预测周期设定不同的权重,权重值由Adaboost算法中的权重计算方法得到;然后将数据块的各个预测周期的访问频数加权得到其最终的访问频数评估值。
优选地,本发明利用三次指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布。具体可包括:
(1)、用{y1,y2,...,yn}表示单个数据块在前n个历史周期中被访问的频数,首先用公式依次计算FBS中所有数据块这n个周期的一次指数平滑值;然后用公式依次计算FBS中所有数据块这n个周期的二次指数平滑值;最后用公式依次计算FBS中所有数据块这n个周期的三次指数平滑值;
其中,FBS表示被筛选出的数据块集合,yt是t时间段内的真实值,α是平滑系数, 是t时间段内的一次、二次、三次平滑值;
(2)、三次平滑指数预测模型为其中参数at、bt、ct使用一次、二次、三次指数平滑值进行计算:
其中,表示t时刻之后T个周期的预测值;
(3)、使用公式预测未来1、2、3个周期内,FBS中各数据块将被访问的频数f1,f2,f3,即f1=at+bt+ct,f2=at+bt*2+ct*4,f3=at+bt*3+ct*9;
(4)、根据每个周期的误差率,使用公式得到预测值f1,f2,f3的权重。其中代表t周期的权重,et代表t周期预测结果的平均误差率;计算出数据块将会被访问到的次数并以W作为数据块将会被访问到的次数作为对缓存策略中进行预取和置换的重要依据。
与上述方法相对应的,本发明还公开一种用于执行上述方法的服务端。
综上,本发明具有以下有益效果:
由于透明计算本身是一种以用户为中心的网络计算服务模式,其核心任务就是处理来自大量用户发送的数据访问请求。本发明从用户对服务端数据块访问行为的特征分析作为切入点,抓住透明计算需求的源头,采用信息熵策略以及指数平滑预测模型对其进行分析和预测,同时,根据透明计算大量用户的数据块请求特征,设计合理的服务端缓存结构和模型,最终尽量使即将被大量用户访问的数据块得以保存在缓存区,且不容易被替换出去。以此有效提高了缓存命中率,优化服务端缓存机制,最终提升了透明计算服务性能。
下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例公开的服务管理平台与透明客户端交互过程示意图;
图2是本发明实施例公开的用户行为预测模型架构示意图;
图3是本发明实施例公开的缓存结构示意图;
图4是本发明实施例公开的为中短周期预测精确度效果示意图;
图5是本发明实施例公开的为用户访问命中率的对比图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1
本实施例公开一种基于透明服务平台数据访问的服务端的缓存优化方法。
在透明服务平台中,未配备硬盘的透明终端借助虚拟磁盘技术访问存储于服务端的数据,实现终端操作***的远程加载与运行,图1是服务管理平台与透明客户端交互过程。客户端向服务端发送的请求数据包中包含了用户行为的原始数据集,从中提取出表示用户行为的特征值:TYPE、IP、OFFSET、DATA LENGTH、TIME。TYPE为数据包的操作码,描述建立会话、断开会话、读、写等请求,其中包含了6种操作码。IP为发送数据包的客户端IP,用来标示客户端。OFFSET为描述了用户访问的数据块起始位置的偏移量,是一个相对的数值,在对用户访问行为进行分析的时候,使用OFFSET来代表用户访问的数据块。DATA LENGTH是从起始位置起请求的数据长度。TIME表示发起请求的时间。
本实施例是从宏观的角度对用户的请求行为进行预测,通过对所有用户行为的集合进行分析,可以得到用户行为整体的特征,图2为用户行为预测的模型架构。因为透明服务平台采用的是三层链式存储结构,资源的共享程度是比较高的,这些共享主要体现在操作***镜像的共享以及用户使用的应用程序的共享。在这种资源共享的存储模式下,不同用户对数据块的访问具有非常高的相似性。也就是说,透明服务平台下的用户行为也具有集中和相似的特征。我们使用信息熵来判别用户访问行为的集中性与分散性。基于此,本实施例提出了以用户访问行为预测为基础的缓存策略TCSC(Transparent Computing ServerCache)。
根据实际应用场景,确定信息统计周期为Tα,在Tα时间段内,对用户访问行为分析和预测的步骤为:
(1)用BS(Block Set)表示服务端供用户访问的所有数据块的集合,用户行为UB(User Behavior)表示为二元组<B,T>。其中B表示一个数据块,且B∈BS,T表示用户发起请求的时间。因此,<Bi,Tm>表示用户在Tm时刻访问了Bi数据块。在一段时间内,服务端接收到众多的用户请求,在Tα内,所有用户的行为集合为UBS(User Behavior Set)。为了分析用户行为的特点,可以用下式表示用户在时间段Tα内访问了数据块Bi的次数:
FBi=∑(Bi,Tm),(Bi,Tm)∈UBS,Tm∈Tα
所有在Tα内被访问到的数据块的频数集合,表示为
(2)以Bi被访问的频数除以该时间段内所有被访问的数据块的频数,来计算在Tα时间区间内数据块Bi被访问的概率P:
数据块的访问概率集合,表示为P={P(B1),P(B2),…,P(Bn)}
(3)每个数据块被访问的信息量表示为-log2P(Bi),为了对用户行为的整体信息进行度量,定义了自信息量的数学期望为用户行为的平均信息量,也称为信息熵,计算公式为:
用HTα表示Tα时间段内的熵值,如果HTα及Tα以后的连续两个周期的熵值都小于预定的阈值,说明当前用户访问行为具有集中性。用FBS(frequent block set)表示当前被访问的频数比较高的数据块集合,那么需要对FBS中的数据块将被访问的次数进行预测。
在透明服务端的操作***、应用程序和用户私有数据三层链式存储模型中,***资源以及应用程序资源得到了极大程度的共享。因此,客户端对这两层块访问的重复性大,集中性强,且对相同的块进行访问时只有很小的概率进行修改。基本上为只读的请求。这三个层次的共享程度、访问的集中性等特点各不相同,在设计缓存时将三层的数据进行区分,把***的缓存设计为三个部分Co,Ca,Cu,分别表示***资源缓存、应用程序缓存以及用户数据缓存。
Co,Ca,Cu每一个缓存区均由三个LRU队列构成。其中,QL存放的是访问优先级较低的数据块、QH存放了访问优先级较高的数据块,而访问优先级是和访问频数相关的。Q-history队列存放的是从QL中替换出去的记录,这些块并没有彻底被移除,而是暂时保存在此队列中。缓存中每个数据块都具有count、lastTime、bData几个属性,count代表被访问的次数,lastTime上一次被访问的时间,bData表示该块真正存储的内容。详细实现如图3所示。
(1)从缓存区中查找块时从访问优先级较高队列的队首开始查找。如果缓存队列中存在相应的数据块,将其count计数加1,并记录访问时间赋给lastTime;如果在缓存队列中没有找到该数据块,从磁盘中取出相应的数据块放入QL队首。
(2)如果在QH队列中命中,判断其访问时间与上一次被访问时间间隔是否达到时间阈值,如果达到了,将其count置为1并放入QL队首;否则按照LRU规则把数据块移到队首。QH队列满时,将队尾的数据降级到QL队首。
(3)如果在QL队列中命中,判断其count计数是否达到频数阈值,如果达到了,把数据块放到QH队首,否则移到QL队首。QL队列满时,将队尾的数据淘汰到Q-history队首。
(4)如果在Q-history队列中命中,将其count置为1并放入QL队首。Q-history队列的长度是固定的,当队列超出长度时,根据LRU自身的策略从队尾将数据块移出,此时该块彻底移出缓存。
当通过HTα监测到用户访问行为处于连续集中状态时,以FBS中的数据块作为分析对象,采用指数平滑的方法对其将来时间段被访问的情况进行预测,作为缓存预取策略的依据。
采用指数平滑方法进行预测,需要以若干个周期的历史数据作为观测值,对相应数据块进行预取。假设是采用前n个周期的历史数据来预测未来的访问行为,那么对用户访问行为预测和数据块预取的具体步骤是:
(1)、用{y1,y2,...,yn}表示单个数据块在前n个历史周期中被访问的频数。首先用公式依次计算FBS中所有数据块这n个周期的一次指数平滑值;然后用公式依次计算FBS中所有数据块这n个周期的二次指数平滑值;最后用公式依次计算FBS中所有数据块这n个周期的三次指数平滑值。
其中,yt是t时间段内的真实值,α是平滑系数,是t时间段内的一次、二次、三次平滑值。
(2)、三次平滑指数预测模型为其中参数at、bt、ct使用一次、二次、三次指数平滑值进行计算:
其中,表示t时刻之后T个周期的预测值。
(3)、使用公式预测未来1、2、3个周期内,FBS中各数据块将被访问的频数f1,f2,f3,即f1=at+bt+ct,f2=at+bt*2+ct*4,f3=at+bt*3+ct*9。
(4)、根据每个周期的误差率,使用公式得到预测值f1,f2,f3的权重。其中代表t周期的权重,et代表t周期预测结果的平均误差率。计算出数据块将会被访问到的次数以W作为数据块将会被访问到的次数,是对缓存策略中进行预取和置换的重要依据。
(5)根据预测到的访问频数和缓存的频数阈值,对FBS中的数据块进行划分,预测值达到阈值的放入QH,否则放入QL。
为测试本实施例中预测方法的有效性,通过比较预测值和观测值的误差衡量预测算法在中短周期的准确度。随机抽取透明服务平台一段时间内访问比较集中的数据块,以前10个周期作为观测值,对所有数据块进行第11-18周期的预测,图4是未来周期分别为1-8,以平均误差作为衡量指标的测试结果。测试结果表明,在预测1-3个周期时,平均误差分别为:0.07、0.12、0.19,从第四个周期开始,误差急剧增加。因此,使用三次指数平滑预测法可以对数据块在三个周期内给与较为准确的预测。
为进一步测试本发明中缓存策略的效果,使用JAVA实现了TCSC、LRU、LFU和LFRU四个缓存策略的算法,并对比不同策略下的缓存命中率差异。在测试过程中,首先采集了35个用户在90分钟内自由操作透明计算终端的访问日志,然后通过模拟用户的访问来记录相应的缓存命中率。
本次测试共涉及到2134258次的访问记录,图5是缓存大小分别为4M、8M、16M、32M、64M时不同缓存替换策略的命中率对比图。由图可知,使用TCSC方法后,命中率有明显提高,并且当缓存容量较小时,其优势更明显。
实施例2
与上述方法实施例相对应的,本实施例公开一种于执行上述方法的服务端。
参照实施例1,本实施例服务端所执行的基于透明服务平台数据访问的服务端的缓存优化方法包括:
分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计,并利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性;
当判断用户访问行为具有集中性时,筛选出当前被访问的频数高的各数据块,并利用指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布;
根据预测的频数分布结果对服务端的缓存进行优化。
可选的,上述分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计包括:
用BS表示服务端供用户访问的所有数据块的集合,用户行为UB表示为二元组<B,T>,其中B表示一个数据块,且B∈BS,T表示用户发起请求的时间,<Bi,Tm>表示用户在Tm时刻访问了Bi数据块;
在一段时间内,服务端接收到众多的用户请求,在Tα内,所有用户的行为集合为UBS,可以用下式表示用户在时间段Tα内访问了数据块Bi的次数:
FBi=∑(Bi,Tm),(Bi,Tm)∈UBS,Tm∈Tα
所有在Tα内被访问到的数据块的频数集合,表示为
针对上述二元组模型,本发明可利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性,具体包括:
以Bi被访问的频数除以该时间段内所有被访问的数据块的频数,来计算在Tα时间区间内数据块Bi被访问的概率P:
数据块的访问概率集合,表示为P={P(B1),P(B2),…,P(Bn)};
每个数据块被访问的信息量表示为-log2P(Bi),为了对用户行为的整体信息进行度量,定义了自信息量的数学期望为用户行为的平均信息量,也称为信息熵,计算公式为:
用HTα表示Tα时间段内的熵值,如果HTα及Tα以后的连续两个周期的熵值都小于预定的阈值,判断当前用户访问行为具有集中性。
本发明中,透明计算服务端缓存设计为三个分区,分别存储操作***、应用程序和用户私有数据的缓存数据块;而且每一个缓存分区均由三个LRU队列构成,所述三个LRU队列分别为QL、QH和Q-history队列,且Q-history队列存储并按LRU规则淘汰从QL、QH中替换出去的缓存块;其中,访问优先级的排序为:QH>QL>Q-history;所述访问优先级与访问频数关联;
当服务端收到终端用户发来的数据块请求时,首先去相应缓存区的QH查询,若存在,则做读或写操作;若不存在,则依次往QL和Q-history中做相同的查询和处理,如果在Q-history队列中命中,将对应数据块的访问次数置为1并移入QL队首。
基于上述分区,可选地,本发明根据预测的频数分布结果对服务端的缓存进行优化包括:将预测出的访问频数满足一定条件的数据块预取放入相应的缓存分区,具体可包括:
确定被预测的数据块的所属分区,并放置到相应缓存分区中;
根据被预测数据块的访问频数预测值,评估其应被放入相应缓存分区中的QL或是QH;
若数据块已存在相应的队列,则将其访问计数置为评估值;若数据块不存在相应队列,且该队列未满,则将其放置到相应队列的队首,同时将其访问计数置为评估值;
若QH满时,则将队尾数据块移入到QL头部;若QL满时,则将队尾数据块移入Q-history队列头部;以及
数据块进入相应队列后,若被访问一次,则其访问计数加一;当QL中数据块访问计数达到给定值时,则应被移入到QH的队首。
进一步地,上述评估被预测数据块是否存入QL或是QH的具体方法为:
为数据块每个预测周期设定不同的权重,权重值由Adaboost算法中的权重计算方法得到;然后将数据块的各个预测周期的访问频数加权得到其最终的访问频数评估值。
优选地,本发明利用三次指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布。具体可包括:
(1)、用{y1,y2,...,yn}表示单个数据块在前n个历史周期中被访问的频数,首先用公式依次计算FBS中所有数据块这n个周期的一次指数平滑值;然后用公式依次计算FBS中所有数据块这n个周期的二次指数平滑值;最后用公式依次计算FBS中所有数据块这n个周期的三次指数平滑值;
其中,FBS表示被筛选出的数据块集合,yt是t时间段内的真实值,α是平滑系数, 是t时间段内的一次、二次、三次平滑值;
(2)、三次平滑指数预测模型为其中参数at、bt、ct使用一次、二次、三次指数平滑值进行计算:
其中,表示t时刻之后T个周期的预测值;
(3)、使用公式预测未来1、2、3个周期内,FBS中各数据块将被访问的频数f1,f2,f3,即f1=at+bt+ct,f2=at+bt*2+ct*4,f3=at+bt*3+ct*9;
(4)、根据每个周期的误差率,使用公式得到预测值f1,f2,f3的权重。其中代表t周期的权重,et代表t周期预测结果的平均误差率;计算出数据块将会被访问到的次数并以W作为数据块将会被访问到的次数作为对缓存策略中进行预取和置换的重要依据。
综上,本发明实施例公开的基于透明服务平台数据访问的服务端及其缓存优化方法,由于透明计算本身是一种以用户为中心的网络计算服务模式,其核心任务就是处理来自大量用户发送的数据访问请求。本发明从用户对服务端数据块访问行为的特征分析作为切入点,抓住透明计算需求的源头,采用信息熵策略以及指数平滑预测模型对其进行分析和预测,同时,根据透明计算大量用户的数据块请求特征,设计合理的服务端缓存结构和模型,最终尽量使即将被大量用户访问的数据块得以保存在缓存区,且不容易被替换出去。以此有效提高了缓存命中率,优化服务端缓存机制,最终提升了透明计算服务性能。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,包括:
分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计,并利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性;
当判断用户访问行为具有集中性时,筛选出当前被访问的频数高的各数据块,并利用指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布;
根据预测的频数分布结果对服务端的缓存进行优化。
2.根据权利要求1所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,所述分时间区间对大量终端用户对透明计算服务端数据块访问行为进行频数统计包括:
用BS表示服务端供用户访问的所有数据块的集合,用户行为UB表示为二元组<B,T>,其中B表示一个数据块,且B∈BS,T表示用户发起请求的时间,<Bi,Tm>表示用户在Tm时刻访问了Bi数据块;
在一段时间内,服务端接收到众多的用户请求,在Tα内,所有用户的行为集合为UBS,用下式表示用户在时间段Tα内访问了数据块Bi的次数:
FBi=∑(Bi,Tm),(Bi,Tm)∈UBS,Tm∈Tα
所有在Tα内被访问到的数据块的频数集合,表示为
3.根据权利要求2所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,利用信息熵对用户的数据块访问行为进行量化,判断当前用户访问行为是否具有集中性包括:
以Bi被访问的频数除以该时间段内所有被访问的数据块的频数,来计算在Tα时间区间内数据块Bi被访问的概率P:
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<msub>
<mi>F</mi>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
</msub>
<mrow>
<mo>&Sigma;</mo>
<mi>U</mi>
<mi>B</mi>
<mi>S</mi>
</mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow>
<mi>&Sigma;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>T</mi>
<mi>m</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>&Sigma;F</mi>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
</msub>
</mrow>
</mfrac>
<mo>,</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>T</mi>
<mi>m</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&Element;</mo>
<mi>L</mi>
<mi>B</mi>
<mi>S</mi>
<mo>,</mo>
<msub>
<mi>T</mi>
<mi>m</mi>
</msub>
<mo>&Element;</mo>
<msub>
<mi>T</mi>
<mi>&alpha;</mi>
</msub>
</mrow>
数据块的访问概率集合,表示为P={P(B1),P(B2),…,P(Bn)};
每个数据块被访问的信息量表示为-log2P(Bi),为了对用户行为的整体信息进行度量,定义了自信息量的数学期望为用户行为的平均信息量,也称为信息熵,计算公式为:
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>B</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>E</mi>
<mo>&lsqb;</mo>
<mo>-</mo>
<mi>log</mi>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
<mo>=</mo>
<mo>-</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>log</mi>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>B</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&Element;</mo>
<mi>P</mi>
<mo>;</mo>
</mrow>
用HTα表示Tα时间段内的熵值,如果HTα及Tα以后的连续两个周期的熵值都小于预定的阈值,判断当前用户访问行为具有集中性。
4.根据权利要求1至3任一所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,根据预测的频数分布结果对服务端的缓存进行优化包括:将预测出的访问频数满足一定条件的数据块预取放入相应的缓存分区。
5.根据权利要求4所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,透明计算服务端缓存设计为三个分区,分别存储操作***、应用程序和用户私有数据的缓存数据块;而且每一个缓存分区均由三个LRU队列构成,所述三个LRU队列分别为QL、QH和Q-history队列,且Q-history队列存储并按LRU规则淘汰从QL、QH中替换出去的缓存块;其中,访问优先级的排序为:QH>QL>Q-history;所述访问优先级与访问频数关联;
当服务端收到终端用户发来的数据块请求时,首先去相应缓存区的QH查询,若存在,则做读或写操作;若不存在,则依次往QL和Q-history中做相同的查询和处理,如果在Q-history队列中命中,将对应数据块的访问次数置为1并移入QL队首。
6.根据权利要求5所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,将预测出的访问频数满足一定条件的数据块预取放入相应的缓存分区具体包括:
确定被预测的数据块的所属分区,并放置到相应缓存分区中;
根据被预测数据块的访问频数预测值,评估其应被放入相应缓存分区中的QL或是QH;
若数据块已存在相应的队列,则将其访问计数置为评估值;若数据块不存在相应队列,且该队列未满,则将其放置到相应队列的队首,同时将其访问计数置为评估值;
若QH满时,则将队尾数据块移入到QL头部;若QL满时,则将队尾数据块移入Q-history队列头部;以及
数据块进入相应队列后,若被访问一次,则其访问计数加一;当QL中数据块访问计数达到给定值时,则应被移入到QH的队首。
7.根据权利要求6所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,评估被预测数据块是否存入QL或是QH的具体方法为:
为数据块每个预测周期设定不同的权重,权重值由Adaboost算法中的权重计算方法得到;然后将数据块的各个预测周期的访问频数加权得到其最终的访问频数评估值。
8.根据权利要求1至3任一所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,利用三次指数平滑预测算法预测将来一段时间内,所筛选出的各数据块的访问频数分布。
9.根据权利要求8所述的基于透明服务平台数据访问的服务端的缓存优化方法,其特征在于,三次指数平滑预测算法具体包括:
(1)、用{y1,y2,...,yn}表示单个数据块在前n个历史周期中被访问的频数,首先用公式依次计算FBS中所有数据块这n个周期的一次指数平滑值;然后用公式依次计算FBS中所有数据块这n个周期的二次指数平滑值;最后用公式依次计算FBS中所有数据块这n个周期的三次指数平滑值;
其中,FBS表示被筛选出的数据块集合,yt是t时间段内的真实值,α是平滑系数, 是t时间段内的一次、二次、三次平滑值;
(2)、三次平滑指数预测模型为其中参数at、bt、ct使用一次、二次、三次指数平滑值进行计算:
<mrow>
<msub>
<mi>a</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mn>3</mn>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<mn>3</mn>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</msubsup>
</mrow>
<mrow>
<msub>
<mi>b</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>&alpha;</mi>
<mrow>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>&lsqb;</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>-</mo>
<mn>5</mn>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>-</mo>
<mn>4</mn>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>-</mo>
<mn>3</mn>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<msub>
<mi>c</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mfrac>
<msup>
<mi>&alpha;</mi>
<mn>2</mn>
</msup>
<mrow>
<mn>2</mn>
<msup>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>&alpha;</mi>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mfrac>
<mo>&lsqb;</mo>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<mn>2</mn>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>S</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>&rsqb;</mo>
</mrow>
其中,表示t时刻之后T个周期的预测值;
(3)、使用公式预测未来1、2、3个周期内,FBS中各数据块将被访问的频数f1,f2,f3,即f1=at+bt+ct,f2=at+bt*2+ct*4,f3=at+bt*3+ct*9;
(4)、根据每个周期的误差率,使用公式得到预测值f1,f2,f3的权重;其中代表t周期的权重,et代表t周期预测结果的平均误差率;计算出数据块将会被访问到的次数并以W作为数据块将会被访问到的次数作为对缓存策略中进行预取和置换的重要依据。
10.一种用于执行如权利要求1至9任一所述方法的服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710567988.3A CN107370807B (zh) | 2017-07-12 | 2017-07-12 | 基于透明服务平台数据访问的服务端及其缓存优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710567988.3A CN107370807B (zh) | 2017-07-12 | 2017-07-12 | 基于透明服务平台数据访问的服务端及其缓存优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107370807A true CN107370807A (zh) | 2017-11-21 |
CN107370807B CN107370807B (zh) | 2020-05-08 |
Family
ID=60306819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710567988.3A Active CN107370807B (zh) | 2017-07-12 | 2017-07-12 | 基于透明服务平台数据访问的服务端及其缓存优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107370807B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418877A (zh) * | 2018-02-22 | 2018-08-17 | 上海思华科技股份有限公司 | 多类型存储调度推流方法、***、数据更新方法 |
CN111966887A (zh) * | 2019-05-20 | 2020-11-20 | 北京沃东天骏信息技术有限公司 | 动态缓存方法及装置、电子设备、存储介质 |
CN112187670A (zh) * | 2020-08-21 | 2021-01-05 | 西安电子科技大学 | 一种基于群体智能的网络化软件共享资源分配方法及装置 |
CN112733060A (zh) * | 2021-01-13 | 2021-04-30 | 中南大学 | 基于会话聚类预测的缓存替换方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130008481A (ko) * | 2011-07-12 | 2013-01-22 | 경희대학교 산학협력단 | 인터 예측 방법 및 그 장치 |
CN104601604A (zh) * | 2014-06-12 | 2015-05-06 | 国家电网公司 | 网络安全态势分析方法 |
CN106453495A (zh) * | 2016-08-31 | 2017-02-22 | 北京邮电大学 | 一种基于内容流行度预测的信息中心网络缓存方法 |
-
2017
- 2017-07-12 CN CN201710567988.3A patent/CN107370807B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130008481A (ko) * | 2011-07-12 | 2013-01-22 | 경희대학교 산학협력단 | 인터 예측 방법 및 그 장치 |
CN104601604A (zh) * | 2014-06-12 | 2015-05-06 | 国家电网公司 | 网络安全态势分析方法 |
CN106453495A (zh) * | 2016-08-31 | 2017-02-22 | 北京邮电大学 | 一种基于内容流行度预测的信息中心网络缓存方法 |
Non-Patent Citations (1)
Title |
---|
许倩: ""基于特征熵的异常流识别技术"", 《计算机科学》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418877A (zh) * | 2018-02-22 | 2018-08-17 | 上海思华科技股份有限公司 | 多类型存储调度推流方法、***、数据更新方法 |
CN111966887A (zh) * | 2019-05-20 | 2020-11-20 | 北京沃东天骏信息技术有限公司 | 动态缓存方法及装置、电子设备、存储介质 |
CN111966887B (zh) * | 2019-05-20 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 动态缓存方法及装置、电子设备、存储介质 |
CN112187670A (zh) * | 2020-08-21 | 2021-01-05 | 西安电子科技大学 | 一种基于群体智能的网络化软件共享资源分配方法及装置 |
CN112733060A (zh) * | 2021-01-13 | 2021-04-30 | 中南大学 | 基于会话聚类预测的缓存替换方法、装置及计算机设备 |
CN112733060B (zh) * | 2021-01-13 | 2023-12-01 | 中南大学 | 基于会话聚类预测的缓存替换方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107370807B (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020941B (zh) | 选择资源分配策略和解决资源冲突的方法 | |
Kumar et al. | Quiver: An informed storage cache for deep learning | |
Imteaj et al. | Federated learning for resource-constrained iot devices: Panoramas and state of the art | |
CN106020715B (zh) | 存储池容量管理 | |
CN107370807A (zh) | 基于透明服务平台数据访问的服务端及其缓存优化方法 | |
JP4327481B2 (ja) | データベースシステム、サーバ、問い合わせ投入方法及びデータ更新方法 | |
CN103748555B (zh) | 在云中基于多维用户请求模式快速供应虚拟机 | |
CN107430528A (zh) | 机会性资源迁移以优化资源放置 | |
CN106021445A (zh) | 一种加载缓存数据的方法及装置 | |
CN111737168A (zh) | 一种缓存***、缓存处理方法、装置、设备及介质 | |
US11882095B2 (en) | Firewall insights processing and machine learning | |
CN110020061A (zh) | 一种智慧城市时空信息云平台服务引擎 | |
Wang et al. | GeoCol: A geo-distributed cloud storage system with low cost and latency using reinforcement learning | |
CN114266281A (zh) | 一种图神经网络训练的方法、装置及*** | |
Khelifa et al. | Combining task scheduling and data replication for SLA compliance and enhancement of provider profit in clouds | |
CN107220115A (zh) | 一种基于云平台的任务瓶颈确定方法及装置 | |
Yang et al. | Design of kubernetes scheduling strategy based on LSTM and grey model | |
CN113656361A (zh) | 面向超融合电力数据中心的高可靠数据存储方法及装置 | |
Lorido-Botran et al. | Adaptive container scheduling in cloud data centers: a deep reinforcement learning approach | |
CN117194019A (zh) | 一种***资源控制的方法、装置、设备及介质 | |
Dhib et al. | Cost, energy, and response delay awareness-solution for cloud resources management: proposition of a predictive dynamic algorithm for VMs allocation over a distributed cloud infrastructure | |
Akila et al. | QoS-aware rule-based traffic-efficient multiobjective service selection in big data space | |
CN114785858B (zh) | 应用于互感器在线监测***的资源主动缓存方法及装置 | |
Alabed | RLCache: automated cache management using reinforcement learning | |
KR20160044623A (ko) | 리눅스 가상 서버의 로드 밸런싱 방법 |
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 |