CN100474808C - 集群式缓存服务系统及其实现方法 - Google Patents

集群式缓存服务系统及其实现方法 Download PDF

Info

Publication number
CN100474808C
CN100474808C CNB2006100234692A CN200610023469A CN100474808C CN 100474808 C CN100474808 C CN 100474808C CN B2006100234692 A CNB2006100234692 A CN B2006100234692A CN 200610023469 A CN200610023469 A CN 200610023469A CN 100474808 C CN100474808 C CN 100474808C
Authority
CN
China
Prior art keywords
cache
content
download
load balancing
balancing device
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
CNB2006100234692A
Other languages
English (en)
Other versions
CN101005372A (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.)
Xi'an Sihua Information Technology Co., Ltd
Original Assignee
Sihua Technology (shanghai) Coltd
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 Sihua Technology (shanghai) Coltd filed Critical Sihua Technology (shanghai) Coltd
Priority to CNB2006100234692A priority Critical patent/CN100474808C/zh
Publication of CN101005372A publication Critical patent/CN101005372A/zh
Application granted granted Critical
Publication of CN100474808C publication Critical patent/CN100474808C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明揭示了一种流媒体的网络结构和数据存储方法,在SLB上增加了CCM,由CCM负责网络结构内部多个CACHE上的内容统一控制,从而实现网络结构内部内容不重复保存和下载的功能。本发明还提供另一种流媒体的网络结构和数据存储方法,使多个服务组件可以使用共享存储的模式进行工作,这种模式下,多个服务组件共同使用同一个物理存储,提高了磁盘利用率。综合而言,本发明提供了一种新的用于流媒体的网络结构和数据的存储方法,以减轻网络的负担。通过这些方法的使用,使得多个CACHE组成了一个集群CACHE服务系统,并且该集群的服务能力,存储能力都可以非常平滑的升级改造。

Description

集群式缓存服务系统及其实现方法
技术领域
本发明涉及用于内容分发内容的数据通信网络,更具体地说,涉及一种用于流媒体得网络结构和存储方法,从而可实现集群式缓存服务系统。
发明背景
随着宽带互联网的建设和发展,宽带网络逐渐普及,在宽带网络上的各种应用层出不穷,随着电信宽带业务的业务种类以及业务量的快速增长,尤其是多媒体业务应用的不断丰富,作为业务承载网络的“CDN网络(内容分发网络)”的发展形势也逐渐明朗起来。目前各地运营商已经建设了多张CDN网络,明显的改善了多媒体用户体验,提高了服务质量,但是随着应用的一步一步加深,对于CDN的要求也越来越高,如何提高CDN网络本身的性能和优化,是摆在目前CDN网络建设者面前的任务。
在CDN网络中,主要采取将用户请求的内容CACHE(缓存服务器)到距离用户最近的站点为用户提供服务的原理进行工作,因此在实现CACHE流程中,需要将内容先从原始内容服务器上下载到边缘节点,然后再为用户提供服务。
目前在这一流程中,各个CACHE单独进行运作,相互之间互不通信,这就造成了一种情况,当一个用户请求一个内容时,他将被根据负载情况分配到某一个CACHE上,如果该CACHE上没有该用户请求的内容,就需要下载该内容。此时,如果另一个用户请求了同样的内容,却由于负载的缘故而被分配到了其他的CACHE上,如果另一个CACHE上也不存在该内容,则两个CACHE都需要对该内容进行下载,这无论对于网络资源、服务器的负载还是存储空间都是一种浪费。
同时在现有的技术条件下,为用户提供服务的和从原始内容服务器下载内容是作为两个单独的任务进行的,如果一个用户需要访问某个内容,而这个内容有在CACHE上不存在,那么CACHE就需要开启两个任务,一个从原始内容服务器开始下载内容,并保存到本地,另一个是采用代理模式,从原始内容服务上获取数据流,在发送给客户端,这样一个访问可能造成CACHE到原始内容服务器上的两个数据获取流,对于原始服务器的压力和网络带宽都带来了较大的损失。
于是,就需要一种新的用于流媒体的网络结构和数据的存储方法,来减轻网络的负担。
发明内容
本发明的目的是提供一种新的用于流媒体的网络结构和数据的存储方法,以减轻网络的负担。
根据本发明的一方面,提供一种用于流媒体的网络结构,包括:
SLB(本地负载均衡器)层,包括至少一个SLB,SLB保存有所述网络结构中所保存的内容的内容状态信息和负载信息,SLB接收用户访问,依据内容状态信息和负载信息调度用户访问,还控制对内容的下载;
CACHE层,包括数个CACHE,其中一个CACHE被定义为主CACHE,所述数个CACHE都与所述至少一个SLB中的每一个相连;所述主CACHE和其他CAHCE建立通信链路,并接收其他CACHE目前正在处理的内容信息,生成所有内容的状态信息;主CACHE还和SLB建立通信链路并向SLB上报内容状态信息和各个CACHE的负载信息,SLB使用主CACHE上报的内容状态信息和负载信息更新原来的内容状态信息的负载信息,并依此作为依据来调度用户访问;所述主CACHE控制其它CACHE对内容的下载;
存储器层,包括至少一个存储器,所述存储器与所述数个CACHE都相连,所述网络结构中的所有内容都统一保存在所述存储器中;
其中,所述主CACHE通过广播机制向其他CACHE发布公告,标识自己为主CACHE,所述主CACHE扫描当前存储器上已经保存的所有内容并记录;如果主CACHE退出所述网络结构,则其他CACHE中的一个会通过广播机制发布公告,成为新的主CACHE。
在上述的网络结构中,所述数个CACHE和SLB之间都建立通信链路,保持通信。
在上述的网络结构中,当所述SLB接收到用户访问时,SLB会依据内容状态信息和负载信息调度用户访问到合适CACHE;如果需要下载内容时,SLB会先通知主CACHE进行内容下载,然后由主CACHE再通过和其他CACHE之间的通信,来选择合适的CAHCE进行下载;当某个CACHE接收到主CACHE的下载命令后,马上开始下载内容,并将该任务执行的状态报告到主CACHE,使得主CACHE能够掌握目前其他CACHE的内容下载情况。
根据本发明的第二方面,提供一种流媒体数据的存储方法,用于所有CACHE使用共同的存储器的网络结构中,所述网络结构还包括SLB,所述方法包括如下步骤:
a1)当一CACHE开始启动时,首先使用广播通信机制探测当前网络结构中是否已经存在主CACHE,如果存在,则进行步骤a2),如果不存在,则进行步骤a5);
a2)所述CACHE立即和网络结构中已经存在的其他CACHE建立通信,并继续使用广播机制探测主CACHE的工作是否正常,并准备接收主CACHE的内容下载管理指令;
a3)所述CACHE和SLB建立通信;
a4)所述CACHE和SLB的通信建立完成后,立即上报健康状况和负载,并准备提供服务;
a5)如果步骤a1中的探测的主CACHE不存在,则所述CACHE立即切换到主CACHE的工作,同时使用广播机制向网络结构中的其他CACHE发布公告,标识自己为主CACHE;
a6)所述CACHE扫描当前存储器上已经保存的所有内容,并记录在内存中;
a7)所述CACHE和网络结构中的其他CAHCE建立通信链路,并接收其他CACHE目前正在处理的内容信息;通过这些CACHE的汇报,生成当前网络结构中所有内容的内容状态信息;
a8)所述CACHE作为主CACHE和SLB建立连接,并通过和SLB的连接上报所述内容状态信息和各个CACHE的负载信息,SLB使用上报的内容状态信息和负载信息更新原来的内容状态信息和负载信息,并依此作为依据来调度用户访问;
a9)当用户访问到达SLB时,SLB会依据内容状态信息和负载信息调度用户访问到合适的CACHE,如果需要下载内容时,SLB控制对于内容的下载;
a10)网络结构中的CACHE执行对于内容的下载;
其中,如果主CACHE退出服务,其他CACHE中的一个会会通过广播机制发布公告接替主CACHE继续进行工作,重复步骤a5-a10。
其中,所述CACHE和SLB之间建立通信链路,保持通信;其中的步骤a9中SLB控制对于内容的下载进一步包括:SLB会依据内容状态信息和负载信息调度用户访问到合适的CACHE,如果需要下载内容时,SLB会先通知主CACHE进行内容下载,然后由主CACHE再通过和其他CACHE之间的通信来选择合适的CAHCE去下载;所述步骤a10中的CACHE执行对于内容的下载进一步包括:当网络中的一个非主CACHE接收到主CACHE的下载命令后,马上开始下载内容,并将该任务执行的状态报告到主CACHE,使得主CACHE能够掌握目前其他CACHE的内容下载情况。
根据本发明的第三方面,提供一种用于流媒体的网络结构,包括:
SLB层,包括至少一个SLB,所述SLB保存有所述网络结构中所保存的内容的内容状态信息和负载信息,SLB接收用户访问,依据内容状态信息和负载信息调度用户访问,所述SLB还包括一CCM,控制对内容的下载;
CACHE层,包括数个CACHE,与所述至少一个SLB中的每一个相连;所述数个CACHE之间建立通信链路,接收其他CACHE目前正在处理的内容信息,所述SLB中的CCM保存有所述网络结构中所保存的所有内容的内容状态信息并控制CACHE对内容的下载;
所述网络结构中还包括存储器,数量与所述CACHE的数量相当,且一一对应地与所述CACHE相连,每一个存储器专门保存一个CACHE的内容。
在上述的网络结构中,所述存储器结合在CACHE中,每一个CACHE包括一个专用的存储器。
在上述的网络结构中,所述数个CACHE和SLB之间建立通信链路,保持通信。
根据本发明的第四方面,提供一种流媒体数据的存储方法,用于包括SLB、数个CACHE以及存储器的网络结构中,所述SLB包括一CCM控制CACHE对于内容的下载,所述存储器的数量与所述CACHE的数量相当,且一一对应地与所述CACHE相连,每一个存储器专门保存一个CACHE的内容,所述方法包括如下步骤:
b1)当一CACHE设备开始启动加入该网络结构进行服务时,首先和网络结构中的所述SLB进行建立通信;
b2)如果SLB此刻处于不活动状态或者工作未就绪状态,CACHE会继续启动,并记录下当前和SLB的状态未成功通信,然后在后台每间隔一定的时间去尝试和SLB建立通信;
b3)CACHE启动后,会扫描当前对应本CACHE的存储器中的所有内容,并录每个内容的大小和实际占用存储空间以及存储目录,并会根据内容存储的目录和原来的配置信息,计算出该内容所属的业务域;
b4)CACHE扫描完所述存储器中的所有内容信息后,会检查SLB的当前状态,如果发现SLB处于通信正常状态,就立即向SLB报告所述对应本CACHE的存储器上的所有内容信息;
b5)SLB得到和每个CACHE上的内容存储情况以后,就将整个网络结构中所有CACHE上的内容进行整理,并依次为依据对用户进行调度,当用户访问请求达到SLB时,SLB通过向CCM模块查询,得到保存该内容的CAHCE,并判断当前CACHE的工作状态以及负载能力是否足够,如果这些条件都满足,就将用户调度到保存了这个内容的CACHE上接收服务;
b6)当CACHE需要下载一内容时,首先CACHE会向SLB发送一条内容下载申请请求,并等待SLB回应后才开始下载;
b7)SLB收到CACHE设备的下载请求以后,首先查看当前活动的其他CACHE的存储器上是否已经存在了该内容,如果该内容已经存在,则拒绝该CACHE的内容下载请求。如果所有CACHE都没有保存该内容文件,而申请下载的CACHE的存储器空间还有剩余,满足业务条件,那么SLB就会同意CACHE的内容下载请求;
b8)当SLB返回内容下载请求的应答以后,CACHE就会进行相应的处理,如果SLB返回了拒绝应答,CACHE就不再进行下载,如果回答了允许,那么CACHE将启动对该内容下载的任务,当任务成功启动后,CACHE将会报告SLB目前该内容正处于下载过程中,此时该内容数据还不完全,还不能为用户提供服务,而SLB知道该消息以后,就不会再分配用户到该CACHE上来;
b9)CACHE在进行内容下载时,如果下载失败,CACHE作出相应的处理并及时报告到SLB,SLB收到下载失败的消息后,就将该内容从CCM的内容信息列表中删除掉;
b10)如果CACHE在下载某个内容的过程中退出网络结构,那么SLB将不会继续接收到CACHE的通信状态,如果SLB发现所述CACHE状态不在工作状态,就会马上将该CACHE上的内容信息标记为无效状态;
b11)当用户访问请求到达该网络结构时,首先访问到SLB上,而SLB会根据当前内容的分布情况首先进行调度,同时如果该用户请求访问的内容在网络结构中不存在,SLB的CCM模块决定是否需要对该内容进行下载,如果需要下载,CCM模块会根据当前内容在多个CACHE上的分布情况和各个CACHE上的资源和负载来选取一个适合下载该内容的CACHE,并发送内容下载请求。
其中,所述CACHE都和SLB建立通信链路保持通信;所述步骤b4中的CACHE向SLB报告所述对应本CACHE的存储器上的所有内容信息包括报告每个内容文件的名称,所属业务域,文件实际大小,占用存储空间大小,并把其转化为和本地磁盘无关的描述信息,发送给SLB,和SLB保持同步。
采用了本发明的技术方案,提供一种新的用于流媒体的网络结构和数据的存储方法,以减轻网络的负担,从而可实现集群式缓存服务系统。
附图说明
本发明的上述的以及其他的特征、性质和优势将通过下面结合附图和实施例的描述而变得更加明显,在附图中,相同的附图标记始终表示相同的特征,其中,
图1是根据本发明的第一实施例的用于流媒体的网络结构图;
图2是本发明的第一实施例的流媒体网络结构的一个变化例;
图3是根据本发明的第二实施例,应用在如图1或图2所示的网络结构中的一种数据存储方法的流程图;
图4是根据本发明的第二实施例的用于流媒体的网络结构图;
图5是根据本发明的第三实施例,应用在如图4所示的网络结构中的一种数据存储方法的流程图。
具体实施方式
下面结合具体实施例进一步说明本发明的技术方案。
首先,本发明的提供一种防止不同的CACHE之间重复下载、保存相同的内容的技术,从而节省网络的资源。
参考图1,本发明提供一种用于流媒体的网络结构100,包括:
SLB层,包括至少一个SLB102,SLB102保存有网络结构100中所保存的内容的内容状态信息和负载信息,SLB102接收用户访问,依据内容状态信息和负载信息调度用户访问,SLB102还包括一CCM103,控制对内容的下载;
CACHE层,包括数个CACHE 104a、104b、104c,与至少一个SLB102中的每一个相连;数个CACHE之间建立通信链路,接收其他CACHE目前正在处理的内容信息,SLB 102中的CCM 103保存有所述网络结构中所保存的所有内容的内容状态信息并控制CACHE对内容的下载;
网络结构中100还包括存储器106,数量与CACHE 104的数量相当,且一一对应地与CACHE 104相连,每一个存储器专门保存一个CACHE的内容。
图2示出了上述网络结构的一个变化例,其中的存储器106结合在CACHE 104中,每一个CACHE 104包括一个专用的存储器106。就工作原理来说,图1和图2所示的实施例是一样的。
在图1或者图2所示的网络结构中,数个CACHE 104和SLB 102之间建立通信链路,保持通信。
在上述的网络结构中,可以实现下述的数据存储方法:
一种流媒体数据的存储方法,用于包括SLB、数个CACHE以及存储器的网络结构中,SLB包括一CCM控制CACHE对于内容的下载,存储器的数量与CACHE的数量相当,且一一对应地与CACHE相连,每一个存储器专门保存一个CACHE的内容,该方法包括如下步骤:
b1)当一CACHE设备开始启动加入该网络结构进行服务时,首先和网络结构中的所述SLB进行建立通信;
b2)如果SLB此刻处于不活动状态或者工作未就绪状态,CACHE会继续启动,并记录下当前和SLB的状态未成功通信,然后在后台每间隔一定的时间去尝试和SLB建立通信;
b3)CACHE启动后,会扫描当前对应本CACHE的存储器中的所有内容,并录每个内容的大小和实际占用存储空间以及存储目录,并会根据内容存储的目录和原来的配置信息,计算出该内容所属的业务域;
b4)CACHE扫描完所述存储器中的所有内容信息后,会检查SLB的当前状态,如果发现SLB处于通信正常状态,就立即向SLB报告所述对应本CACHE的存储器上的所有内容信息;
b5)SLB得到和每个CACHE上的内容存储情况以后,就将整个网络结构中所有CACHE上的内容进行整理,并依次为依据对用户进行调度,当用户访问请求达到SLB时,SLB通过向CCM模块查询,得到保存该内容的CAHCE,并判断当前CACHE的工作状态以及负载能力是否足够,如果这些条件都满足,就将用户调度到保存了这个内容的CACHE上接收服务;
b6)当CACHE需要下载一内容时,首先CACHE会向SLB发送一条内容下载申请请求,并等待SLB回应后才开始下载;
b7)SLB收到CACHE设备的下载请求以后,首先查看当前活动的其他CACHE的存储器上是否已经存在了该内容,如果该内容已经存在,则拒绝该CACHE的内容下载请求。如果所有CACHE都没有保存该内容文件,而申请下载的CACHE的存储器空间还有剩余,满足业务条件,那么SLB就会同意CACHE的内容下载请求;
b8)当SLB返回内容下载请求的应答以后,CACHE就会进行相应的处理,如果SLB返回了拒绝应答,CACHE就不再进行下载,如果回答了允许,那么CACHE将启动对该内容下载的任务,当任务成功启动后,CACHE将会报告SLB目前该内容正处于下载过程中,此时该内容数据还不完全,还不能为用户提供服务,而SLB知道该消息以后,就不会再分配用户到该CACHE上来;
b9)CACHE在进行内容下载时,如果下载失败,CACHE作出相应的处理并及时报告到SLB,SLB收到下载失败的消息后,就将该内容从CCM的内容信息列表中删除掉;
b10)如果CACHE在下载某个内容的过程中退出网络结构,那么SLB将不会继续接收到CACHE的通信状态,如果SLB发现所述CACHE状态不在工作状态,就会马上将该CACHE上的内容信息标记为无效状态;
b11)当用户访问请求到达该网络结构时,首先访问到SLB上,而SLB会根据当前内容的分布情况首先进行调度,同时如果该用户请求访问的内容在网络结构中不存在,SLB的CCM模块决定是否需要对该内容进行下载,如果需要下载,CCM模块会根据当前内容在多个CACHE上的分布情况和各个CACHE上的资源和负载来选取一个适合下载该内容的CACHE,并发送内容下载请求。
在上述的方法中,CACHE和SLB建立通信链路;其中,
步骤b4中的CACHE向SLB报告所述对应本CACHE的存储器上的所有内容信息包括报告每个内容文件的名称,所属业务域,文件实际大小,占用存储空间大小,并把其转化为和本地磁盘无关的描述信息,发送给SLB,和SLB保持同步。
图3示出了根据上述方法的一个具体实施例的流程图,该实施例用于下述的网络结构中,该网络结构包括一台SLB和多个CACHE,每个CACHE都拥有各自的存储空间来进行缓存服务。为了实现节点内部的内容不重复下载和保存,在SLB上增加了内容控制模块(CCM,Content Control Model),由CCM负责网络结构内部多个CACHE上的内容统一控制,从而实现节点内部内容不重复下载和保存的功能。
为了实现内容不重复下载和保存的功能,实现CCM对于多个CACHE的内容统一管理和分配,首先需要实现CACHE和SLB之间的内容控制通信。CCM和CACHE之间的内容控制通信采用IMP(intelligent managementprotocol)协议。图3所示的实施例包括了如下的步骤:
301.当CACHE开始启动加入该网络结构进行服务时,首先和该网络结构中的SLB进行通信,和SLB建立连接。该过程的特点是,CACHE启动时立即和SLB进行通信,保证SLB对CAHCE的状态变化及时获知。
302.如果SLB此刻处于不活动状态或者工作未就绪状态,CACHE会继续启动,并记录下当前和SLB的状态未成功通信,然后在后台每间隔一定的时间去尝试和SLB建立通信。该过程的特点在于CACHE能够处理各种SLB的异常情况,防止SLB在不正常工作状态下影响CACHE的工作。
303.CACHE设备启动后,会扫描当前存储器空间内的所有所保存的内容,并将详细记录每个内容的大小,实际占用存储空间,存储目录,并会根据内容存储的目录和原来的配置信息,计算出该内容所属的业务域。该过程的特点是,CACHE启动时就会立即扫描,立即保证存储的实际内容和控制信息相一致,并通过这一机制,很好的避免了实际存储的内容和控制信息的差异带来服务失败。另一个特点就是,对于内容控制信息的实时性得到了很大的提高,内容信息不使用数据库和文件进行保存,而是在启动时进行实际扫描,避免了实际内容和控制信息的不同步。
304.CACHE扫描完所有的内容信息后,会检查SLB的当前状态,如果发现SLB处于通信正常状态,就立即向SLB报告本CACHE上的所有内容信息,包括每个内容文件的名称,所属业务域,文件实际大小,占用存储空间大小,并把他转化为和本地磁盘无关的描述信息,发送给SLB,和SLB保持同步。这一过程的特点在于CACHE和SLB在通信恢复正常后,马上就会同步更新CACHE和SLB上的内容信息,保证SLB上的内容信息和CACHE实际存储的内容相同,并保证在SLB和CAHCE无法通信的时间里,内容的变化不会影响内容的统一管理。同时可以看到这一过程中,多个CACHE都会将自己的时间内容分布情况和占用磁盘资源情况都报告给SLB,如果SLB重新启动或者通信恢复以后,够能够及时获得当前CACHE上的实际内容信息,进而完成对整个节点内的内容统一控制。
305.SLB得到每个CACHE上的内容存储情况以后,就将整个节点内部的所有CACHE上的内容进行整理,并依次为依据对用户进行调度,当用户访问请求达到SLB时,SLB通过向CCM模块查询,得到该内容存在的CAHCE,并判断当前CACHE的工作状态以及负载能力是否足够,如果这些条件都满足,就将用户调度到保存了这个内容的CACHE上接收服务。
306.当CACHE设备因为某种情况(产生情况的原因不在本文的讨论范围之内)发生了一些事件,需要下载某个内容时,首先CACHE会向SLB发送一条内容下载申请请求,并等待SLB回应后才开始下载。该过程的特点是CACHE设备对于内容的下载严格处于SLB的控制之下,即使CACHE上产生了需要下载的原因,但是没有经过SLB的允许,CACHE仍然不能够下载,这样一来就可以保证SLB对于节点内部所有内容的集中控制。
307.SLB收到CACHE设备的下载请求以后,首先查看当前活动的其他CACHE上是否已经存在了该内容,如果该内容已经存在,则拒绝该CACHE的内容下载请求。如果所有CACHE都没有缓存该内容文件,而申请下载的CACHE存空间还有剩余,满足业务条件,那么SLB就会同意CACHE的内容下载请求。这一过程的特点是SLB的CCM模块会在收到CACHE进行内容下载请求的同时检查其他所有CACHE上的内容是否和该下载请求中的内容重复,以此来保证在同一个网络结构的内部,一个内容文件只有一个拷贝。
308.当SLB返回内容下载请求的应答以后,CACHE就会进行相应的处理,如果SLB返回了拒绝应答,CACHE就不再进行下载,如果回答了允许,那么CACHE将启动对该内容下载的任务。当任务成功启动后,CACHE设备将会报告SLB,目前该内容正处于下载过程中,此时该内容数据还不完全,还不能为用户提供服务,而SLB知道该消息以后,就不会再分配用户到该CACHE上来。这一过程的特点是,当CACHE进行内容下载处理时,也会将内容正在下载的状态报告给SLB,而SLB会根据这些正在下载的状态来进行相应的处理,保证正在进行内容下载的中间状态能够正确处理。
309.CACHE在进行内容下载时,因为网络或者其他原因可能出现下载失败的情况,出现了这种情况后,CACHE也会作出相应的处理,并及时报告到SLB,SLB收到下载失败的消息后,就将该内容从CCM的内容信息列表中删除掉。这一过程的特点是当CACHE进行内容下载的过程中出现异常时,也能同时报告到SLB,并保证SLB和CACHE上的内容信息同步。
310.如果CACHE在下载某个内容的过程中,因为某种原因退出服务,那么SLB将不会在继续接受到CACHE的通信状态,如果SLB发现该CACHE状态不在工作状态,就会马上将该CACHE上的内容信息标记为无效装状态。这一过程的特点是SLB可以处理CACHE设备的异常工作状态,保证各种情况下服务的可靠性。
311.当某个用户访问请求到达该节点时,应该首先访问到SLB上,而SLB会根据当前内容的分布情况首先进行调度,同时如果该用户请求访问的内容在本节点都不存在,SLB的CCM模块会根据一些策略来决定是否需要对该内容进行下载,如果需要下载,CCM模块会根据当前内容在多个CACHE上的分布情况和各个CACHE上的资源和负载来选取一个适合下载该内容的CACHE,并发送内容下载请求。该过程的特点是每个CACHE是否需要下载,都有SLB的CCM来决定,这样一来就避免了多个CACHE下载一个内容的情况,而且还能根据多个CACHE的资源使用情况,负载情况统一起来进行判断。
需要说明,图3所示的流程图的中的每一个方框并不是与上述的步骤一一对应的,有可能数个方框表示的是同一个步骤,也有可能数个步骤集中在同一个方框内表示,但是,对于本领域的技术人员来说,上述的表达方式并不会影响对于本发明的过程的理解。
随着网络技术的不断发展,包括多个服务组件,比如包括CACHE、OCC以及上述的网络结构的综合集群系统得到了更加广泛的应用,在综合集群系统中,可以使用共享存储的模式进行工作,这种模式下,多个服务组件共同使用同一个物理存储,一个CACHE组件下载的内容,其他CACHE也可以访问,这极大的提高了磁盘利用率。
同时在共享存储的模式下工作时,为网络的改造和能力平滑升级创造了条件,在使用共享存储的模式下,如果流服务能力不够时,可以直接通过增加服务器,而不增加存储的方式来提高服务能力,而不需要对原来的存储划分重新部署,也不影响现有的服务内容。
传统的CACHE都是每台CACHE都配有专门的存储来保存需要CAHCE的内容,各个CACHE之间的内容互相独立,没有其他关系,而且每个CACHE拥有的存储是事先规划好的,以后的调整可以针对每台CACHE进行,随着流媒体业务的迅猛发展,逐渐产生了多个服务器使用同一个物理存储,多个服务器组成类似一个集群服务系统的形式,当前在电信,互联网行业内,基于短连接的集群服务系统比较常见,比如web机群,radius机群,而流媒体领域内的多个流服务机群系统还未有先例,同时当这些服务器又能作为CACHE时,整个集群系统的功能不仅是只提供服务,而且对于内容的缓存和管理都是封装成整体的集群系统来进行的。
由此,本发明提供一种用于流媒体的网络结构400,包括:
SLB层,包括至少一个SLB 402,SLB 402保存有网络结构400中所保存的内容的内容状态信息和负载信息,SLB 402接收用户访问,依据内容状态信息和负载信息调度用户访问,还控制对内容的下载;
CACHE层,包括数个CACHE 404a、404b、404c,其中一个CACHE被定义为主CACHE,数个CACHE 404都与至少一个SLB 402中的每一个相连;主CACHE和其他CAHCE建立通信链路,并接收其他CACHE目前正在处理的内容信息,生成所有内容的状态信息;主CACHE还和SLB 402建立通信链路并向SLB 402上报内容状态信息和各个CACHE 404的负载信息,SLB 402使用主CACHE上报的内容状态信息和负载信息更新原来的内容状态信息的负载信息,并依此作为依据来调度用户访问;主CACHE控制其它CACHE对内容的下载;
存储器层,包括至少一个存储器406,存储器406与数个CACHE 404都相连,网络结构400中的所有内容都统一保存在存储器406中;
其中,主CACHE通过广播机制向其他CACHE发布公告,标识自己为主CACHE,主CACHE扫描当前存储器406上已经保存的所有内容并记录;如果主CACHE退出网络结构400,则其他CACHE中的一个会通过广播机制发布公告,成为新的主CACHE。
在上述的结构400中,数个CACHE 404和SLB 402之间建立通信链路,保持通信。
在上述的结构400中,当SLB 402接收到用户访问时,SLB 402会依据内容状态信息和负载信息调度用户访问到合适CACHE;如果需要下载内容时,SLB 402会先通知主CACHE进行内容下载,然后由主CACHE再通过和其他CACHE之间的通信,来选择合适的CAHCE进行下载;当某个CACHE接收到主CACHE的下载命令后,马上开始下载内容,并将该任务执行的状态报告到主CACHE,使得主CACHE能够掌握目前其他CACHE的内容下载情况。
根据上述的网络结构,整个集群系统可以分为三层,第一层为SLB层,第二层为CACHE服务层,第三层为存储器层,其中服务层中的每个CACHE直接和SLB相连接,并和存储直接连接,存储上的逻辑区和存储内容对于每个CACHE都是可见的,都可以采用可读可写的方式向存储读写数据,同时多个CACHE之间也互相连接,建立了通信链路。
这样设计的好处是当服务器能力资源不够时,可以动态的扩充服务器,而且新扩充的服务器可以立即使用原来存储上的所有内容,而不是说需要重新下载内容才可以提供服务,并且也不需要在原来的存储上重新划分一部分逻辑区专门给该服务器使用,并且不破坏原来的存储划分。如果说要扩充存储,也可以让所有服务器都能使用到该扩充的部分,在扩容和调整时非常方便。在加上SLB的作用,使得外界的访问可以平均分担到所有的CACHE服务器上,实现负载均衡,整个组织形成了一个完整的集群服务系统,更可贵的是这个集群系统是建立在应用层的基础之上,可以处理多种应用层的服务信息。
本发明还提供一种流媒体数据的存储方法,其特征在于,用于所有CACHE使用共同的存储器的网络结构中,网络结构还包括SLB,该方法包括如下步骤:
a1)当一CACHE开始启动时,首先使用广播通信机制探测当前网络结构中是否已经存在主CACHE,如果存在,则进行步骤a2),如果不存在,则进行步骤a5);
a2)所述CACHE立即和网络结构中已经存在的其他CACHE建立通信,并继续使用广播机制探测主CACHE的工作是否正常,并准备接收主CACHE的内容下载管理指令;
a3)所述CACHE和SLB建立通信;
a4)所述CACHE和SLB的通信建立完成后,立即上报健康状况和负载,并准备提供服务;
a5)如果步骤a1中的探测的主CACHE不存在,则所述CACHE立即切换到主CACHE的工作,同时使用广播机制向网络结构中的其他CACHE发布公告,标识自己为主CACHE;
a6)所述CACHE扫描当前存储器上已经保存的所有内容,并记录在内存中;
a7)所述CACHE和网络结构中的其他CAHCE建立通信链路,并接收其他CACHE目前正在处理的内容信息;通过这些CACHE的汇报,生成当前网络结构中所有内容的内容状态信息;
a8)所述CACHE作为主CACHE和SLB建立连接,并通过和SLB的连接上报所述内容状态信息和各个CACHE的负载信息,SLB使用上报的内容状态信息和负载信息更新原来的内容状态信息和负载信息,并依此作为依据来调度用户访问;
a9)当用户访问到达SLB时,SLB会依据内容状态信息和负载信息调度用户访问到合适的CACHE,如果需要下载内容时,SLB控制对于内容的下载;
a10)网络结构中的CACHE执行对于内容的下载;
其中,如果主CACHE退出服务,其他CACHE中的一个会会通过广播机制发布公告接替主CACHE继续进行工作,重复步骤a5-a10。
在上述的方法中,CACHE和SLB之间建立通信链路,保持通信;
其中的步骤a9中SLB控制对于内容的下载进一步包括:SLB会依据内容状态信息和负载信息调度用户访问到合适的CACHE,如果需要下载内容时,SLB会先通知主CACHE进行内容下载,然后由主CACHE再通过和其他CACHE之间的通信来选择合适的CAHCE去下载;
步骤a10中的CACHE执行对于内容的下载进一步包括:当网络中的一个非主CACHE接收到主CACHE的下载命令后,马上开始下载内容,并将该任务执行的状态报告到主CACHE,使得主CACHE能够掌握目前其他CACHE的内容下载情况。
下面结合图5介绍根据本发明的一具体实施例的一数据保存方法的流程,参考图5,该方法包括:
501.当CACHE开始启动时,首先使用广播通信机制去探测当前集群服务系统中是否存在主CACHE,如果存在,则进行步骤2。
502.该CACHE立即和其他CACHE设备建立通信,并继续使用广播机制探测主CACHE的工作是否正常,并准备接收主CACHE的内容下载管理指令。
503.CACHE和SLB建立通信,和SLB模块建立连接。
504.当CACHE和SLB的通信建立完成后,立即上报健康状况和负载,并准备提供服务。
505.如果步骤501中的探测的主CACHE服务器不存在,则立即开始切换到主CACHE的工作,同时使用广播机制向外发布公告,标识自己为主CACHE状态。
506.立即扫描当前存储上已经保存的所有内容,并记录在内存中,这时可能会扫描到一些正处在下载状态中,或者没有下载完成的内容文件。
507.和其他CAHCE建立通信链路,并接收其他CACHE目前正在处理的内容信息,比如某个内容正在下载,下载完成等信息。通过这些CACHE的汇报,再次整理合并成目前集群系统中所有的内容状态信息。
508.主CACHE然后和SLB建立连接,并通过和SLB的连接上报内容信息,SLB遇到主的SLB上报内容信息以后,立即更新原来的内容数据信息,并依此作为依据来调度用户访问,同时也向SLB报告当前该CACHE上的服务负载信息。
509.当用户访问到达SLB时,SLB会依据内容的分布情况和各个CACHE的负载调度用户访问到合适的服务器。如果需要下载内容时,SLB会先通知主CACHE进行内容下载,然后由主CACHE再通过和其他CACHE之间的通信,来选择合适的CAHCE去实际下载。
510.当某个CACHE接收到主CACHE的下载命令后,马上开始下载内容,并将该任务执行的状态报告到主CACHE,使得主CACHE能够掌握目前其他CACHE的内容下载情况。
511.在整个系统的运行期间,如果主CACHE退出服务,其他CACHE会接替主CACHE继续进行工作,重复步骤505-511。如果其他非CACHE退出了服务,系统不会受到影响。
同样需要说明,图5所示的流程图的中的每一个方框并不是与上述的步骤一一对应的,有可能数个方框表示的是同一个步骤,也有可能数个步骤集中在同一个方框内表示,但是,对于本领域的技术人员来说,上述的表达方式并不会影响对于本发明的过程的理解。
采用了本发明的上述技术方案,为网络的改造和能力平滑升级创造了条件,在使用共享存储的模式下,如果流服务能力不够时,可以直接通过增加服务器,而不增加存储的方式来提高服务能力,而不需要对原来的存储划分重新部署,也不影响现有的服务内容。
综合而言,本发明提供了一种新的用于流媒体的网络结构和数据的存储方法,组建完整的集群式缓存服务系统,可用于实现那些需要平滑提升服务性能,存储能力的系统。
虽然上面的实施例仅以流媒体服务系统作为实例进行描述,但是该发明可以应用的范围不仅仅限于以流媒体服务为内容的系统。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。

Claims (2)

1.一种流媒体数据的存储方法,其特征在于,用于包括本地负载均衡器、数个CACHE以及存储器的网络中,所述本地负载均衡器包括一内容控制模块,该内容控制模块控制CACHE对于内容的下载,所述存储器的数量与所述CACHE的数量相当,且一一对应地与所述CACHE相连,每一个存储器专门保存一个CACHE的内容,所述方法包括如下步骤:
b1)当一CACHE设备开始启动加入该网络进行服务时,首先和网络中的所述本地负载均衡器进行建立通信;
b2)如果本地负载均衡器此刻处于不活动状态或者工作未就绪状态,CACHE会继续启动,并记录下当前和本地负载均衡器的状态为未成功通信,然后在后台每间隔一定的时间去尝试和本地负载均衡器建立通信;
b3)CACHE启动后,会扫描当前对应本CACHE的存储器中的所有内容,并记录每个内容的大小和实际占用存储空间以及存储目录,并会根据内容存储的目录和原来的配置信息,计算出每个内容所属的业务域;
b4)CACHE扫描完所述存储器中的所有内容信息后,会检查本地负载均衡器的当前状态,如果发现本地负载均衡器处于通信正常状态,就立即向本地负载均衡器报告所述对应本CACHE的存储器上的所有内容信息;
b5)本地负载均衡器得到每个CACHE上的内容存储情况以后,就将整个网络中所有CACHE上的内容进行整理,并以此为依据对用户进行调度,当用户访问请求达到本地负载均衡器时,本地负载均衡器通过向内容控制模块查询,得到保存访问请求针对的内容的
Figure C200610023469C00021
并判断当前CACHE的工作状态以及负载能力是否足够,如果这些条件都满足,就将用户调度到保存了这个内容的CACHE上接收服务;
b6)当CACHE需要下载一内容时,首先CACHE会向本地负载均衡器发送一条内容下载请求,并等待本地负载均衡器回应后才开始下载;
b7)本地负载均衡器收到CACHE设备的所述下载请求以后,首先查看当前活动的其他CACHE的存储器上是否已经存在了下载请求针对的内容,如果下载请求针对的内容已经存在,则拒绝该CACHE的内容下载请求,如果所有CACHE都没有保存该下载请求针对的内容,而请求下载内容的CACHE的存储器空间还有剩余,满足业务条件,那么本地负载均衡器就会同意CACHE的内容下载请求;
b8)当本地负载均衡器返回内容下载请求的应答以后,请求下载内容的CACHE就会进行相应的处理,如果本地负载均衡器返回了拒绝应答,请求下载内容的CACHE就不再进行下载,如果回答了允许,那么请求下载内容的CACHE将启动对该内容下载的任务,当任务成功启动后,请求下载内容的CACHE将会报告本地负载均衡器目前下载请求针对的内容正处于下载过程中,此时下载请求针对的内容的数据还不完全,还不能为用户提供服务,而本地负载均衡器知道下载请求针对的内容的数据还不完全以后,就不会再分配用户到该请求下载内容的CACHE上来;
b9)请求下载内容的CACHE在进行内容下载时,如果下载失败,请求下载内容的CACHE作出相应的处理并及时报告到本地负载均衡器,本地负载均衡器收到下载失败的消息后,就将该内容从内容控制模块的内容信息列表中删除掉;
b10)如果请求下载内容的CACHE在下载某个内容的过程中退出网络,那么本地负载均衡器将不会继续接收到请求下载内容的CACHE的通信状态,如果本地负载均衡器发现所述请求下载内容的CACHE不在工作状态,就会马上将该请求下载内容的CACHE上的内容信息标记为无效状态;
b11)当用户访问请求到达该网络时,首先访问到本地负载均衡器上,而本地负载均衡器会根据当前内容的分布情况首先进行调度,同时如果该用户请求访问的内容在网络中不存在,本地负载均衡器的内容控制模块决定是否需要对该用户请求访问的内容进行下载,如果需要下载,内容控制模块会根据当前内容在多个CACHE上的分布情况和各个CACHE上的资源和负载来选取一个适合下载该内容的CACHE,并发送内容下载请求。
2.如权利要求1所述的方法,其特征在于,所述多个CACHE都和本地负载均衡器建立通信链路;
所述步骤b4中的CACHE向本地负载均衡器报告所述对应本CACHE的存储器上的所有内容信息包括报告每个内容文件的名称、所属业务域、文件实际大小和占用存储空间大小,并把其转化为和本地磁盘无关的描述信息,发送给本地负载均衡器,和本地负载均衡器保持同步。
CNB2006100234692A 2006-01-19 2006-01-19 集群式缓存服务系统及其实现方法 Active CN100474808C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100234692A CN100474808C (zh) 2006-01-19 2006-01-19 集群式缓存服务系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100234692A CN100474808C (zh) 2006-01-19 2006-01-19 集群式缓存服务系统及其实现方法

Publications (2)

Publication Number Publication Date
CN101005372A CN101005372A (zh) 2007-07-25
CN100474808C true CN100474808C (zh) 2009-04-01

Family

ID=38704267

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100234692A Active CN100474808C (zh) 2006-01-19 2006-01-19 集群式缓存服务系统及其实现方法

Country Status (1)

Country Link
CN (1) CN100474808C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533155B2 (en) * 2009-10-30 2013-09-10 Hitachi Data Systems Corporation Fixed content storage within a partitioned content platform, with replication
CN101127968B (zh) * 2007-09-24 2011-06-22 中兴通讯股份有限公司 数字集群通讯系统终端应用缓存时开始缓存点的优化方法
CN101510880A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种流媒体系统和装置及其方法
US20100306860A1 (en) * 2009-05-29 2010-12-02 Hank Risan Using a custom media library to secure digital media content
US8812799B2 (en) 2009-12-11 2014-08-19 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
CN102164160B (zh) * 2010-12-31 2015-06-17 青岛海信传媒网络技术有限公司 支持大并发量文件下载的方法、装置及系统
CN102143212B (zh) * 2010-12-31 2014-02-26 华为技术有限公司 一种内容分发网络中缓存共享的方法及装置
CN102281332B (zh) * 2011-08-31 2013-09-04 上海西本网络科技有限公司 分布式缓存阵列及其数据更新方法
CN103916437A (zh) * 2013-01-05 2014-07-09 中国移动通信集团公司 文件发布系统、装置及方法
CN106354724B (zh) * 2015-07-15 2019-07-16 阿里巴巴集团控股有限公司 文件存档方法、文件读取方法及装置
CN107277561A (zh) * 2016-04-08 2017-10-20 北京优朋普乐科技有限公司 内容分发网络
CN108200178A (zh) * 2018-01-04 2018-06-22 海信集团有限公司 一种下载资源的方法和设备
CN113038246A (zh) * 2021-02-23 2021-06-25 北京金山云网络技术有限公司 多媒体帧的传输方法、装置和计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
内容分发网络关键技术分析. 杨明川.电信科学,第21卷第8期. 2005
内容分发网络关键技术分析. 杨明川.电信科学,第21卷第8期. 2005 *

Also Published As

Publication number Publication date
CN101005372A (zh) 2007-07-25

Similar Documents

Publication Publication Date Title
CN100474808C (zh) 集群式缓存服务系统及其实现方法
CN106156359B (zh) 一种云计算平台下的数据同步更新方法
CN108199897B (zh) 一种支持缓存管理的opc ua多服务器聚合方法
CN105897946B (zh) 一种访问地址的获取方法及系统
CN100484069C (zh) 一种文件数据分发方法及相关设备
CN105247529B (zh) 在目录服务之间同步凭证散列
CN108566498B (zh) 一种基于移动互联网的手机号码安全隐私保护方法及平台
CN101080056B (zh) 一种移动终端的网络浏览器收藏夹的管理方法及系统
EP2369494A1 (en) Web application based database system and data management method therof
CN113641511B (zh) 一种消息通信方法和装置
CN101039212B (zh) 一种数据快速入库方法
US20080133830A1 (en) Efficient utilization of cache servers in mobile communication system
CN104391930A (zh) 分布式文件存储装置和方法
CN103207841A (zh) 基于键值对缓存的数据读写方法及装置
CN101594387A (zh) 虚拟集群部署方法和系统
CN101771723A (zh) 数据同步方法
CN105868333A (zh) 文件处理方法及装置
CN111416875A (zh) 一种面向云边协同的服务目录同步方法及系统
CN110727738B (zh) 基于数据分片的全局路由系统、电子设备及存储介质
CN106527968A (zh) 一种基于文件直通技术的文件传输方法
CN105760398A (zh) 一种日志记录系统及日志记录操作方法
CN101778131A (zh) 数据同步系统
CN112351106B (zh) 一种含事件网格的服务网格平台及其通信方法
CN101789963A (zh) 数据同步系统
CN1997005A (zh) 网络通信数据管控系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHANGHAI SIHUA TECH. CO., LTD.

Free format text: FORMER NAME: SIHUA TECH (SHANGHAI) CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 200333, building 7, Tiandi Software Park, No. 879, Zhongjiang Road, Shanghai

Patentee after: Shanghai Sihua Tech Co., Ltd.

Address before: 200333, building 7, Tiandi Software Park, No. 879, Zhongjiang Road, Shanghai

Patentee before: Sihua Technology (Shanghai) Co.Ltd

TR01 Transfer of patent right

Effective date of registration: 20201028

Address after: Room 11704, 17 / F, unit 1, building 1, Jingu Rongcheng, No. 10, Jinye 1st Road, hi tech Zone, Xi'an City, Shaanxi Province

Patentee after: Xi'an Sihua Information Technology Co., Ltd

Address before: 200333, building 7, Tiandi Software Park, No. 879, Zhongjiang Road, Shanghai

Patentee before: SHANGHAI SIHUA TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right