首页> 中国专利> 面向短视频数据的分布式内存系统及视频数据管理方法

面向短视频数据的分布式内存系统及视频数据管理方法

摘要

本发明公开了一种面向短视频数据的分布式内存系统及视频数据管理方法,属于计算机网络与数据存储领域,系统内各代理服务器中热数据缓存区由DRAM和NVM组成,且多台代理服务器被划分为多个服务器组,每一个服务器组作为一个整体协同服务用户;各组内,热度等级越低的视频数据,存储该视频数据的代理服务器越少;方法包括:在每个服务器组内,为各代理服务器创建布隆过滤器存储在本地,并在各代理服务器内存储其余代理服务器的布隆过滤器的副本镜像;定期将组内高负载代理服务器上的热数据复制到低负载代理服务器上,使用基于优先级的批处理更新策略保证布隆过滤器的副本镜像的一致性。本发明在提高热数据缓存区的命中率的同时,减少了NVM的写入量。

著录项

  • 公开/公告号CN112631789A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN202110031964.2

  • 发明设计人 华宇;李晓孟;刘璐荣;

    申请日2021-01-11

  • 分类号G06F9/50(20060101);G06F16/75(20190101);G06F16/957(20190101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人李智

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明属于计算机网络与数据存储领域,更具体地,涉及一种面向短视频数据的分布式内存系统及视频数据管理方法。

背景技术

短视频即短片视频,一般是在互联网新媒体上传播的时长在5分钟以内的视频。传统的短视频文件平均大小为7.6MB。为了提高用户体验质量,短视频这种延迟敏感型应用采用内容分发网络(Content Delivery Network,CDN)技术将视频数据从源服务器迁移到靠近用户端的代理服务器上。然而,现在比较受欢迎的短视频平台还有抖音、快手等,这些新兴的短视频平台的数据大小平均小于5MB。并且新兴的短视频数据具有写密集、数据量大、流量分布不均,用户访问量大的特征。所以为了保证快速的响应用户请求,靠近用户的代理服务器需要大的内存容量来存储这些短视频数据。

CDN缓存系统是基于代理服务器和数据中心在地理位置上分布的网络系统。目的是通过相对于最终用户在空间上分配服务来提供高可用性和高性能。传统的CDN缓存系统中代理服务器具有两层缓存,由驻留在内存的有限的热数据缓存区(Hot Object Cache,HOC)和大的辅存磁盘缓存区(Disk Cache,DC)组成。为了实现快速地响应用户请求,传统的处理方法主要是最大化HOC上的命中率、控制请求路由等,但是根据理论分析和试验评估,现有的处理方法并不能为具有数据量大、用户访问量大的特征的短视频数据提供较低的用户访问延时。扩大CDN缓存系统中代理服务器的热数据缓存区可以提高数据在内存上的命中率。

内存技术DRAM作为主存已经被广泛使用在计算机系统的内存层次中。但是这些传统的内存技术面临成本高(购买成本和维护成本)和容量小等问题。新型的非易失内存技术(NVM),如相变存储器(PCM),阻变存储器(ReRAM)和自旋扭矩存储器(STT-RAM),由于具有高密度、接近于零的待机能耗、与DRAM的读延迟相差无几等优点,被提出和DRAM一起作为内存。2019年因特尔发布了第一款非易失性内存产品

发明内容

针对现有技术的缺陷和改进需求,本发明提供了一种面向短视频数据的分布式内存系统及视频数据管理方法,其目的在于,利用DRAM和NVM共同构成代理服务器中的热数据缓存区,以增大热数据缓存区的容量,从而提高热数据缓存区的命中率,与此同时,有效减少NVM的写入次数。

为实现上述目的,按照本发明的一个方面,提供了一种面向短视频数据的分布式内存系统,包括源服务器和多台代理服务器,且采用CDN技术将视频数据从源服务器迁移到代理服务器上;

各代理服务器中热数据缓存区由DRAM和NVM组成,且多台代理服务器被划分为多个服务器组,每一个服务器组作为一个整体协同服务用户;每一个服务器组内,热度等级越低的视频数据,存储该视频数据的代理服务器越少;

其中,视频数据依据其访问量被划分为不同的热度等级,且热度等级越低的视频数据,其访问量越小。

本发明所提供的面向短视频数据的分布式内存系统,利用DRAM和NVM共同构成代理服务器中的热数据缓存区,增大了热数据缓存区的容量,从而有效提高了热数据缓存区的命中率;相比于传统的CDN缓存系统中,每台代理服务器都分别存储一份热视频数据和一份较冷的视频数据,本发明通过将代理服务器划分为服务器组,每个服务器组内的多台代理服务器系统服务用户,在每个服务器组内,热度等级越低的视频数据,存储该视频数据的代理服务器越少,大大减少了热数据缓存区的写入量,也有效减少了NVM的写入量,能够延长NVM的使用寿命,提高整体系统性能。

进一步地,服务器组的分组策略包括:

以最小化用户的平均访问延迟和最大化组内服务器个数为目标,利用贪心算法确定每个服务器组内的代理服务器数量N;

将地理位置最相近的N台代理服务器划分到一个服务器组;划分结束后,至多一个服务器组内的代理服务器数量小于N,其余服务器组内的代理服务器数量均为N。

本发明以最小化用户的平均访问延迟和最大化组内服务器个数为目标,利用贪心算法确定每个服务器组内的代理服务器数量,能够进一步使得分组后,分布式内存系统能够最大程度上减少用户的平均访问延迟,并最大程度上减少NVM的写入。

按照本发明的另一个方面,提供了一种基于本发明提供的上述面向短视频数据的分布式内存系统的视频数据管理方法,包括:

在每个服务器组内,为各代理服务器创建布隆过滤器存储在本地,并在各代理服务器内存储其余代理服务器的布隆过滤器的副本镜像;

代理服务器的布隆过滤器用于映射代理服务器内存储的视频数据。

本发明所提供的视频数据管理方法,在每个服务器组内,为各代理服务器创建布隆过滤器存储在本地,并在各代理服务器内存储其余代理服务器的布隆过滤器的副本镜像,能够利用布隆过滤器及其副本镜像加快查找存储在组内代理服务器上的短视频数据,进一步减少访问延迟,提高服务质量。

进一步地,本发明提供的视频数据管理方法,还包括:

在每一个服务器组内,由各代理服务器按照预设的均衡周期,轮流统计组内各代理服务器的访问量,以识别出在每一个均衡周期内组内的高负载代理服务器和低负载代理服务器;对于所识别出的高负载代理服务器,统计其中存储的各视频数据的访问量,以识别出其中的热视频数据;将所识别出的热视频数据复制到所识别出的低负载代理服务器中。

本发明所提供的视频数据管理方法,定期在每个服务器组内识别高负载代理服务器和低负载代理服务器,并将高负载代理服务器中的热数据复制到低负载代理服务器中,由此能够有效保证组内各服务器上的访问流量的均衡,从而提高分布式内存系统的整体性能。

进一步地,对于任意一个代理服务器组,在当前均衡周期内,识别出组内的高负载代理服务器和低负载代理服务器的方式,包括:

在当前均衡周期内,由当前执行统计工作的代理服务器统计组内各代理服务器的访问量,并将访问量最高的一台或多台代理服务器预识别为高负载代理服务器,将访问量最低的一台或多台服务器预识别为低负载代理服务器;

对当前均衡周期内对于高负载代理服务器和低负载代理服务器的预识别结果,以及当前均衡周期之前的N-1个均衡周期内对于高负载代理服务器和低负载代理服务器的识别结果进行投票,确定当前均衡周期内的高负载代理服务器和低负载代理服务器,得到当前均衡周期对于高负载代理服务器和低负载代理服务器的识别结果。

本发明在每个均衡周期内,仅由一台代理服务器统计组内各代理服务器的访问量,并基于访问量预识别高负载代理服务器和低负载代理服务器,能够避免统计访问量对代理服务器的性能影响;通过对当前均衡周期的预识别结果,以及当前均衡周期之前的N-1个均衡周期的识别结果进行投票,能够准确识别出组内的高负载代理服务器和低负载地理服务器。

进一步地,代理服务器轮流统计组内各代理服务器的访问量,并基于统计结果识别出高负载代理服务器和低负载代理服务器,包括:

代理服务器监测其中存储的布隆过滤器及布隆过滤器的副本镜像,当用户请求命中布隆过滤器或布隆过滤器的副本镜像时,相应的代理服务器的访问量加1,从而在指定时间段内统计得到各代理服务器的访问量;将访问量大的一台或多台代理服务器识别为高负载代理服务器,并将访问量最小的一台或多台代理服务器识别为低负载代理服务器。

本发明根据布隆过滤器或副本镜像的命中次数统计指定时间段内的组内各服务器的访问量,能够快速、准确地完成统计。

进一步地,对于所识别出的高负载代理服务器,统计其中存储的各视频数据的访问量,以识别出其中的热视频数据,包括:

利用哈希表统计高负载代理服务器上的每个视频数据的访问量,由此筛选出其中访问量最大的部分视频数据;

对于筛选出的视频数据,利用Count-Min sketch统计各视频数据的访问量,将其中访问量最大的部分视频数据确定为热视频数据。

本发明利用哈希表统计高负载代理服务器上的每个视频数据的访问量,能够快速完成统计;由于哈希表存在哈希冲突,本发明在基于哈希表的统计结果完成初步筛选的基础上,进一步利用Count-Min sketch对筛选出的视频数据的访问量进行更为细致的统计,能够准确地识别出高负载代理服务器上的热数据。

进一步地,本发明提供的视频数据管理方法,还包括:

当一台代理服务器因视频数据插入,使得其布隆过滤器更新时,经过预设的时间间隔后,对该代理服务器在组内其他代理服务器中的布隆过滤器的副本镜像进行更新,且更新过程中,优先更新因高负载代理服务器中的热视频数据复制而插入的视频数据对应的位置。

本发明通过定期对更新后的布隆过滤器在其他代理服务器上的副本镜像进行更新,能够保证布隆服务器与其副本镜像之间的一致性;插入服务器的数据可能来自源服务器,也可能来自负载均衡过程中因热数据复制,其中,因热数据复制插入的数据后续被访问的概率较大,本发明在更新副本镜像的过程中,优先更新负载均衡过程中因热数据复制而插入的视频数据的位置,能够保证布隆过滤器的副本镜像的有效性。

进一步地,本发明提供的视频数据管理方法,还包括:按照如下步骤处理用户请求:

本地服务器查找步骤:距离用户最近的第一代理服务器接收到用户请求后,在本地查找其自身的布隆过滤器,若命中且查找结果未发生假阳性,则将所请求的视频数据返回给用户;若自身布隆过滤器未命中或查找结果发生假阳性,则在本地查找其他服务器的布隆过滤器的副本镜像,若命中,则将用户请求转发至命中的布隆过滤器副本镜像所对应的第二代理服务器,并触发组内服务器查找步骤;若布隆过滤器的副本镜像未命中,则触发源服务器查找步骤:

组内服务器查找步骤:第二代理服务器在本地查找其自身的布隆过滤器,若命中且查找结果未发生假阳性,则将所请求的视频数据返回给第一代理服务器,以由第一代理服务器将所请求的视频数据返回给用户;否则,触发源服务器查找步骤;

源服务器查找步骤:源服务器查找到所请求的视频数据后,返回给向其转发用户请求的第三代理服务器;若第三代理服务器为第一代理服务器,则直接由第三代理服务器将所请求的视频数据返回给用户;否则,由第三代理服务器将所请求的视频数据返回给第一代理服务器后,由第一代理服务器将所请求的视频数据返回给用户。

本发明在处理用户请求时,利用布隆过滤器或者布隆过滤器的副本镜像能够直接定位到存储有所请求的视频数据的代理服务器,有效降低了路由转发请求的时间,最大程度上降低了用户访问延迟。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明所提供的面向短视频数据的分布式内存系统,利用DRAM和NVM共同构成代理服务器中的热数据缓存区,增大了热数据缓存区的容量,从而有效提高了热数据缓存区的命中率;通过将代理服务器划分为服务器组,每个服务器组内的多台代理服务器系统服务用户,在每个服务器组内,热度等级越低的视频数据,存储该视频数据的代理服务器越少,大大减少了热数据缓存区的写入量,也有效减少了NVM的写入量,能够延长NVM的使用寿命,提高整体系统性能。

(2)本发明所提供的视频数据管理方法,在每个服务器组内,为各代理服务器创建布隆过滤器存储在本地,并在各代理服务器内存储其余代理服务器的布隆过滤器的副本镜像,能够利用布隆过滤器及其副本镜像加快查找存储在组内代理服务器上的短视频数据,进一步减少访问延迟,提高服务质量。

(3)本发明所提供的视频数据管理方法,定期在每个服务器组内识别高负载代理服务器和低负载代理服务器,并将高负载代理服务器中的热数据复制到低负载代理服务器中,由此能够有效保证组内各服务器上的访问流量的均衡,从而提高分布式内存系统的整体性能。

(4)本发明通过定期对更新后的布隆过滤器在其他代理服务器上的副本镜像进行更新,在更新副本镜像的过程中,优先更新负载均衡过程中因热数据复制而插入的视频数据的位置,能够保证布隆过滤器的副本镜像的有效性。

(5)本发明在处理用户请求时,利用布隆过滤器或者布隆过滤器的副本镜像能够直接定位到存储有所请求的视频数据的代理服务器,有效降低了路由转发请求的时间,最大程度上降低了用户访问延迟。

附图说明

图1为本发明实施例提供的分布式内存系统的逻辑结构图;

图2为本发明实施例提供的分组代理服务器示意图;

图3为本发明实施例提供的负载均衡方法示意图;

图4为本发明实施例提供的保证布隆服务器与其副本镜像保持一致性的方法示意图;

图5为本发明实施例提供的用户请求处理方法示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

为了解决现有的CDN缓存系统不能为具有数据量大、用户访问量大的特征的短视频数据提供较低的用户访问延时的技术问题,本发明提供了一种面向短视频数据的分布式内存系统及视频数据管理方法,其整体思路在于:利用DRAM和NVM共同构成代理服务器中的热数据缓存区,以增大热数据缓存区的容量,从而提高热数据缓存区的命中率,同时,对代理服务器进行分组,由组内代理服务器协同服务用户,并减少较冷数据在热数据缓存区中的写入量,从而有效减少NVM的写入次数。

以下为实施例。

实施例1:

一种面向短视频数据的分布式内存系统,包括源服务器和多台代理服务器,且采用CDN技术将视频数据从源服务器迁移到代理服务器上;

如图1所示,各代理服务器中热数据缓存区由DRAM和NVM组成,且多台代理服务器被划分为多个服务器组,每一个服务器组作为一个整体协同服务用户;

每一个服务器组内,热度等级越低的视频数据,存储该视频数据的代理服务器越少;

其中,视频数据依据其访问量被划分为不同的热度等级,且热度等级越低的视频数据,其访问量越小;

不失一般性地,本实施例中,代理服务器的数量为M=8,依次编号为1~8;由于一个代理服务器组内仅存储一份冷数据,同一服务器组内的代理服务器数量越多,冷数据写入的减少量越显著,与此同时,可能使得地理位置相距较远的代理服务器被划分到同一服务器组内,由此会增加用户的平均访问延迟;为了最大程度上减少用户的平均访问延迟,并最大程度上减少NVM的写入,作为一种优选的实施方式,本实施例中,服务器组的分组策略包括:

以最小化用户的平均访问延迟和最大化组内服务器个数为目标,利用贪心算法确定每个服务器组内的代理服务器数量N;

将地理位置最相近的N台代理服务器划分到一个服务器组;划分结束后,至多一个服务器组内的代理服务器数量小于N,其余服务器组内的代理服务器数量均为N;

利用上述分组策略,最终确定的每个服务器组内的代理服务器数量为N=3,相应地,代理服务器被划分为三个服务器组;如图2所示,三组服务器分别服务于距离组内服务器较近的用户,三组服务器存储的数据是相互独立的;本实施例中,每一个服务器组内,对于较冷的视频数据,仅由一台代理服务器存储一份;对于热视频数据,至多由每台代理服务器分别存储一份;如图2所示,对于冷的视频数据B、D、E,第1组中的服务器只有一个服务器存储(即1号代理服务器或2号代理服务器或3号代理服务器),对于最热的视频数据A,最多1号代理服务器、2号代理服务器和3号代理服务器均存储,对于较热的视频数据C、F,1号代理服务器、2号代理服务器和3号代理服务器中有两台服务器存储,其他服务器组同理。

本实施例所提供的面向短视频数据的分布式内存系统,利用DRAM和NVM共同构成代理服务器中的热数据缓存区,增大了热数据缓存区的容量,从而有效提高了热数据缓存区的命中率;相比于传统的CDN缓存系统中,每台代理服务器都分别存储一份热视频数据和一份较冷的视频数据,本实施例通过将代理服务器划分为服务器组,每个服务器组内的多台代理服务器系统服务用户,在每个服务器组内,对于较冷的视频数据,仅由一台代理服务器存储一份,对于热视频数据,则至多由每台代理服务器分别存储一份,大大减少了热数据缓存区的写入量,也有效减少了NVM的写入量,能够延长NVM的使用寿命,提高整体系统性能。

实施例2:

一种基于本发明实施例1提供的上述面向短视频数据的分布式内存系统的视频数据管理方法,包括:

在每个服务器组内,为各代理服务器创建布隆过滤器存储在本地,并在各代理服务器内存储其余代理服务器的布隆过滤器的副本镜像;例如,在图2中所示的第二个服务器组中,4号代理服务器存储了其自身的布隆过滤器,同时存储了组内的5号和6号代理服务器的布隆过滤器的副本镜像;

代理服务器的布隆过滤器用于映射代理服务器内存储的视频数据;

布隆过滤器(Bloom Filter,BF)可以用于检索一个元素是否在一个集合中,具有空间效率高和查询时间短的特点;本实施例所提供的视频数据管理方法,在每个服务器组内,为各代理服务器创建布隆过滤器存储在本地,并在各代理服务器内存储其余代理服务器的布隆过滤器的副本镜像,能够利用布隆过滤器及其副本镜像加快查找存储在组内代理服务器上的短视频数据,进一步减少访问延迟,提高服务质量。

为了保证服务器组内的负载均衡,提高分布式内存系统的整体性能,本实施例还包括:

在每一个服务器组内,由各代理服务器按照预设的均衡周期,轮流统计组内各代理服务器的访问量,以识别出在每一个均衡周期内组内的高负载代理服务器和低负载代理服务器;对于所识别出的高负载代理服务器,统计其中存储的各视频数据的访问量,以识别出其中的热视频数据;将所识别出的热视频数据复制到所识别出的低负载代理服务器中;

作为一种可选的实施方式,对于任意一个代理服务器组,在当前均衡周期内,识别出组内的高负载代理服务器和低负载代理服务器的方式,包括:

在当前均衡周期内,由当前执行统计工作的代理服务器统计组内各代理服务器的访问量,并将访问量最高的一台或多台代理服务器预识别为高负载代理服务器,将访问量最低的一台或多台代理服务器预识别为低负载代理服务器;

对当前均衡周期内对于高负载代理服务器和低负载代理服务器的预识别结果,以及当前均衡周期之前的N-1个均衡周期内对于高负载代理服务器和低负载代理服务器的识别结果进行投票,确定当前均衡周期内的高负载代理服务器和低负载代理服务器,得到当前均衡周期对于高负载代理服务器和低负载代理服务器的识别结果;

通过轮流统计,使得在每个均衡周期仅由一台代理服务器统计组内各代理服务器的访问量,并基于访问量预识别高负载代理服务器和低负载代理服务器,能够避免统计访问量对代理服务器的性能影响;通过对当前均衡周期的预识别结果,以及当前均衡周期之前的N-1个均衡周期的识别结果进行投票,参与投票的数据包含了组内每一个代理服务器最近一次的统计结果,由此能够准确识别出组内的高负载代理服务器和低负载地理服务器;

作为一种可选的实施方式,代理服务器轮流统计组内各代理服务器的访问量,并基于统计结果识别出高负载代理服务器和低负载代理服务器,包括:

代理服务器监测其中存储的布隆过滤器及布隆过滤器的副本镜像,当用户请求命中布隆过滤器或布隆过滤器的副本镜像时,相应的代理服务器的访问量加1,从而在指定时间段内统计得到各代理服务器的访问量;将访问量大的一台或多台代理服务器识别为高负载代理服务器,并将访问量最小的一台或多台代理服务器识别为低负载代理服务器;

作为一种可选的实施方式,对于所识别出的高负载代理服务器,统计其中存储的各视频数据的访问量,以识别出其中的热视频数据,包括:

利用哈希表统计高负载代理服务器上的每个视频数据的访问量,由此筛选出其中访问量最大的部分视频数据;

对于筛选出的视频数据,利用Count-Min sketch统计各视频数据的访问量,将其中访问量最大的部分视频数据确定为热视频数据;

以图2中的第一个服务器组为例,上述负载均衡过程的实施过程如图3所示,具体为:

①第1组服务器中1号代理服务器根据BF的副本镜像对1号、2号、3号服务器的访问量进行近似地统计,并基于统计结果识别出高负载代理服务器和低负载代理服务器;

②1号代理服务器将其识别结果与2号和3号代理服务器根据自己历史统计得出的服务器的负载情况进行投票所得出的结果对比,将投票结果和1号服务器自己统计得到的服务器的负载情况相同的服务器看作组内公认的高或低负载服务器,即1号服务器是公认的高负载服务器,3号服务器是公认的低负载服务器,因此,只对1号代理服务器上的每个视频数据访问量进行详细的统计;

③使用哈希表对1号代理服务器中视频数据的访问量进行大致统计,识别出访问量最高的部分视频数据;

④因为哈希函数存在哈希冲突,所以对于哈希表中统计出的热数据位置对应的数据使用Count-Min sketch进行更细致的访问频率统计,并基于此细致的统计结果;

⑤基于视频数据的细致的统计结果,最终确定1号代理服务器中的热视频数据;

⑥将1号代理服务器中的热视频数据复制到低负载代理服务器,即3号代理服务器上;

在实际应用中,当识别出的高负载代理服务器不止一台时,分别识别各高负载代理服务器中的热视频数据并复制到低负载代理服务器中即可;当识别出的低负载代理服务器不止一台时,为了最大程度上实现负载均衡,可以使复制的热数据在低负载服务器间均匀分布。

当一台代理服务器中插入新的数据时,需要在本地立即更新其自身的布隆过滤器;为了保证布隆过滤器与其副本镜像之间的数据一致性,在布隆过滤更新后,还需要在指定时间段内对其副本镜像进行更新;插入代理服务器的数据可能来自源服务器,也可能来自负载均衡过程中因热数据复制,其中,因热数据复制插入的数据后续被访问的概率较大,为了尽可能保证布隆过滤器的副本镜像的有效性,本实施例还包括:

当一台代理服务器因视频数据插入,使得其布隆过滤器更新时,经过预设的时间间隔后,对该代理服务器在组内其他代理服务器中的布隆过滤器的副本镜像进行更新,且更新过程中,优先更新因高负载代理服务器中的热视频数据复制而插入的视频数据对应的位置;

同样以图2中所示的第一个服务器组为例,在3号代理服务器分别插入来自源服务器的视频数据D和来自1号代理服务器的热视频数据A;当要更新3号服务器在1号服务器和2号服务器上的BF的副本镜像时,会优先更新数据A对应的位置,稍后更新数据D对应的位置,如图4所示;

由于布隆过滤器副本镜像的更新需要借助于代理服务器间的网络通信,本实施例为复制的热视频数据赋予较高的优先级,使得其在布隆过滤器的副本镜像中的位置被优先更新,能够最大程度上保证后续访问在布隆过滤器副本镜像中的命中率;应当说明的是,在网络可用带宽允许的情况下,两类数据也可同时更新。

本实施例还包括:

如图5所示,按照如下步骤处理用户请求:

本地服务器查找步骤(即图5中的L1):距离用户最近的第一代理服务器(例如1号代理服务器)接收到用户请求后,在本地查找其自身的布隆过滤器,若命中且查找结果未发生假阳性,则将所请求的视频数据返回给用户;若自身布隆过滤器未命中或查找结果发生假阳性,则在本地查找其他服务器的布隆过滤器的副本镜像,若命中,则将用户请求转发至命中的布隆过滤器副本镜像所对应的第二代理服务器(例如2号代理服务器),并触发组内服务器查找步骤;若布隆过滤器的副本镜像未命中,则触发源服务器查找步骤:

组内服务器查找步骤(即图5中的L2):第二代理服务器在本地查找其自身的布隆过滤器,若命中且查找结果未发生假阳性,则将所请求的视频数据返回给第一代理服务器,以由第一代理服务器将所请求的视频数据返回给用户;否则,触发源服务器查找步骤;

源服务器查找步骤(即图5中的L3):源服务器查找到所请求的视频数据后,返回给向其转发用户请求的第三代理服务器;若第三代理服务器为第一代理服务器,则直接由第三代理服务器将所请求的视频数据返回给用户;否则,由第三代理服务器将所请求的视频数据返回给第一代理服务器后,由第一代理服务器将所请求的视频数据返回给用户。

所谓的查找结果发生假阳性,是指通过查找布隆过滤器确定一条视频数据在一个服务器上,而实际上服务器上并没有存储该条视频;本实施例在处理用户请求时,利用布隆过滤器或者布隆过滤器的副本镜像能够直接定位到存储有所请求的视频数据的代理服务器,有效降低了路由转发请求的时间,最大程度上降低了用户访问延迟。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号