CN102132577B - 基于模型的资源分配 - Google Patents
基于模型的资源分配 Download PDFInfo
- Publication number
- CN102132577B CN102132577B CN200980132893.2A CN200980132893A CN102132577B CN 102132577 B CN102132577 B CN 102132577B CN 200980132893 A CN200980132893 A CN 200980132893A CN 102132577 B CN102132577 B CN 102132577B
- Authority
- CN
- China
- Prior art keywords
- content
- storage system
- resource
- attribute
- supply
- 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.)
- Expired - Fee Related
Links
- 238000013468 resource allocation Methods 0.000 title abstract description 4
- 238000003860 storage Methods 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000009471 action Effects 0.000 claims description 30
- 238000013461 design Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000005352 clarification Methods 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 abstract 2
- 230000002159 abnormal effect Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 206010019133 Hangover Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2408—Monitoring of the upstream path of the transmission network, e.g. client requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23103—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种计算机实现的方法,包括接收对第一内容项目组的访问模式的描述;以及至少部分地基于该访问模式的描述来划分存储空间。访问模式的描述是至少第一属性的函数,该第一属性描绘要存储在存储系统中的第二内容项目组的一个或多个操作目标的特征。划分存储空间包括限定与第一属性的值的范围相关的多个种类中的每一个;并使多个种类中的每一个与多个资源分配设置中的各自的一个相关联。
Description
技术领域
本说明书涉及用于数据存储和访问的分布式系统中的资源分配。
背景技术
例如可通过互联网访问的基于分布式网络的数据存储具有各种应用。一个应用是视频存储和访问。
在过去的十年中,随着住户可立刻容易地获得高速互联网服务,在线视频流在互联网用户中越来越受到欢迎。例如,传统的视频传送系统(例如,有线电视系统)可能不再能满足客户日益增长的对方便访问和即时传送的需求,电影客户可能很快转向能够提供这种服务的在线视频存储。
但是,以负担得起的费用向大规模的客户提供可靠的下载服务现在存在许多挑战。例如,构建基于网络的视频存储和传送系统可能遇到动态分布的实时资源分配问题,该问题以NP完全问题(NP complete problem)为特征。用于解决NP完全问题的传统方法试图以某种方式将问题限制为针对确定解决方案进行穷举式搜索。这些途径(procedure)通常在计算上代价高昂,然而仍会产生不合需要的结果。
发明内容
一方面,总的来说,本发明以一种计算机实现的方法为特征,该方法包括接收对第一内容项目(item)组的访问模式的描述;以及至少部分地基于所述访问模式的描述来划分存储空间。访问模式的描述是至少第一属性的函数,该第一属性描绘要存储在存储系统中的第二内容项目组的一个或多个操作目标的特征。划分存储空间包括限定与第一属性的值的范围相关的多个种类(category)中的每一个;并使多个种类中的每一个与多个资源分配设置的中各自的一个相关联。
实施方式可包括以下特征中的一个或更多个。
存储系统可具有预定配置。计算机实现的方法可进一步包括确定多个资源分配设置中的每一个,使得与多个资源分配设置相关联的资源需求的集合与存储系统的预定配置相一致。资源需求的集合包括对访问和存储容量的需求。
计算机实现的方法可进一步包括基于划分存储空间的结果确定存储第二内容项目组的存储系统的配置。确定存储系统的配置的步骤可包括确定存储系统的一组存储元件中的每一个的特性。确定存储系统的配置的步骤还可包括基于划分存储空间的结果迭代地产生存储系统的候选配置;并根据预定的设计目标选择存储系统的优选配置。
预定的设计目标可以以设计目标函数为特征。迭代地产生候选配置的步骤包括向与第一属性的值的范围有关的多个种类中的每一个提供一组初始限定;且对该组初始限定进行调整以优化设计目标函数。
设计目标可包括最小化存储系统的资源需求的水平,和/或最小化第二项目组中不同项目的潜在资源消耗之间的竞争程度。
访问模式的描述可以是描绘第二内容项目组的一个或多个操作目标的特征的多个属性的函数。关于多个属性的每一个的各个值范围来限定多个种类的每一个。多个种类共同地表示第一属性的值的完整范围。
第二内容组的操作目标可包括以下中的一个或多个:可访问性,完整性,弹性和功率消耗。对第一内容组的访问模式的描述可涉及以下类型的一个或多个的描述:访问速率、带宽消耗程度、统计使用分布、地理使用分布和基于经验数据的计划使用分布。
对于多个种类的每一个,各个资源分配设置可包括与将被存储在所述存储系统中的种类相关联的项目的实例(instance)数量的说明。
第一项目组可与第二内容项目组共享共同的特性,使得对第一项目组的访问模式形成计划第二项目组的访问模式的合理基础。第一和第二项目组中的每一个可以是电影标题的集合。可替代地,第一和第二项目组中的每个可以是以下类型的一个或多个的内容的集合:在线视频广告、用户生成的内容、音乐视频、体育活动的视频、新闻片段和TV剧集。
第二项目组可至少包括第一项目组中包括的项目的子组。可替代地,第二项目组在内容上可与第一项目组基本上不同。此外,第二组可不包括第一项目组中的任何项目。
另一方面,总的来说,本发明以一种系统为特征,该系统包括:接口,用于接收对第一内容项目组的访问模式的描述;机器可读介质,存储可由处理器执行的指令,以至少部分地基于访问模式的描述划分存储空间。访问模式的描述是至少第一属性的函数,该第一属性描绘要存储在存储系统中的第二内容项目组的一个或多个操作目标的特征。划分存储空间的指令包括限定与第一属性的值的范围相关的多个种类中的每一个;以及使多个种类中的每一个与多个资源分配设置中的各自的一个相关联的指令。该系统进一步包括用于存储该多个资源分配设置的数据库。
本发明的方面可包括以下特征中的一个或更多个。
划分存储空间的指令可进一步包括基于划分存储空间的结果确定用于存储第二内容项目组的存储系统的配置的指令。
划分存储空间的指令可进一步包括限定描绘存储系统的预定设计目标的特征的设计目标函数;并计算优化设计目标函数的存储系统的优选配置的指令。
设计目标可包括减少存储系统的资源需求的水平,且可进一步包括最小化存储系统的资源需求的水平。可替代地或另外,设计目标可包括减小第二项目组中的不同项目的潜在资源消耗之间的竞争程度,且可进一步包括最小化第二项目组中不同项目的潜在资源消耗之间的竞争程度。
其他一般的方面包括上述方面和特征的其他组合,表示为方法、设备、系统、计算机程序产品以及其他方式的其他方面和特征。
根据以下说明和权利要求,本发明的其他特征和优点变得明显。
在一个方面,总的来说,本发明以一种计算机实现的方法为特征,该方法包括:获得描绘第一内容项目的实际使用水平的特征的信息;基于获得的信息来确定是否满足再供应条件,且如果满足,生成要与存储环境的资源相关联地执行的再供应操作的说明;以及执行再供应操作。第一内容项目根据第一资源分配设置被存储在存储环境的资源的第一组元件上。再供应操作包括识别用于存储第一内容项目的第二资源分配设置;并根据第二资源分配设置来分配存储环境的资源的第二组元件。
本发明的其他方面可包括一个或更多个以下特征。
执行再供应操作可包括根据第二资源分配设置将第一内容项目的一个或更多个新实例存储在资源的第二组元件上;以及从存储环境的资源的第一组元件移除第一内容项目的一个或多个在先存储的实例。
再供应操作可包括第一类型的基于异常的再供应操作。计算机实现的方法可进一步包括检测第一内容项目的实际使用水平和使用的供应水平之间的不一致,使用的供应水平特征在于与第一资源分配设置相关联的第一组方案属性;以及比较该不一致与异常标准,从而确定异常供应的出现。异常标准可包括异常阈值。
该计算机实现的方法可进一步包括,在确定异常供应的出现时,创建与第一内容项目相关联的供应异常对象;将供应异常对象保持在未完成的再供应列表中;并确定要响应于供应异常对象要执行的基于异常的再供应操作。未完成的再供应列表包括多个供应异常对象,多个供应异常对象的每一个与多个基于异常的再供应操作中的各自的一个相关联。该计算机实现的方法可进一步包括基于多个再供应操作的每一个的相对紧急程度和存储环境的资源的可用性来以优先顺序排列多个基于异常的再供应操作。
基于异常的再供应操作可包括识别代表第一内容项目的实际使用的水平的第二组方案属性。第二组方案属性与第二资源分配设置相关联。基于异常的再供应操作可进一步包括:当第一内容项目的实际使用水平超过使用的供应水平第一预定阈值量时执行的提高供应操作;以及当第一内容项目的使用的供应水平超过实际使用的水平第二预定阈值量时执行的降低供应操作。
获得的信息可包括以下中的一个或多个:在给定时间对第一内容项目的同时访问请求的数量,在检测时间段期间对第一项目的访问请求的集合,以及由于资源不可用导致被拒绝的访问请求的数目和频率。
另一方面,总的来说,本发明以一种计算机实现的技术为特征,该技术包括:接受一个计划,该计划用于管理与在存储环境的资源上存储的第一项目相关联的资源分配,该计划至少包括与规则触发器(trigger)相关联的第一规则;以及在激活该规则触发器时应用第一规则。第一规则将资源分配中的调整与第一项目相关联。第一项目特征在于一组初始属性集,且根据与该一组初始属性一致的多个资源分配设置中的一个而被存储在存储环境的资源上。
本发明的进一步方面可包括一个或更多个以下特征。
多个资源分配设置可被保持在第一数据库中。
第一规则包括可适用于描绘了第一项目的特征的一组初始属性的调整的说明,且应用第一规则的方法包括根据调整的说明计算第一项目的一组经调整的属性;从与第一项目的一组经调整的属性一致的多个资源分配设置中选择一个;以及基于多个资源分配设置中选择的一个来分配资源以存储第一项目的一个或多个实例。可适用于一组初始属性的调整包括对一组初始属性中的至少一个的当前值应用折扣因数。第一规则可包括针对对第一项目从候选资源分配设置的列表顺序选择一个的描述。
规则触发器部分地由跟随有激活窗口的开始点限定。开始点和激活窗口可部分地基于对第一项目的访问模式关于时间的趋势的估计来确定。规则触发器可由开始点的序列限定。开始点序列的每一个跟随有各个激活窗口。应用第一规则的方法可包括在出现开始点序列的每一个时对第一项目迭代地应用第一规则。
第一项目特征在于各自的一组初始属性,且根据多个资源分配设置中的各自的一个资源分配设置而被存储在存储环境的资源上。
应用第一规则的方法可包括根据预定顺序对项目组的每一个应用第一规则。第一规则可包括多个分量,各分量专用于项目组中的不同项目。在计划中阐明了预定顺序。该计划可进一步包括多个规则,每个规则与各自的规则触发器相关联。
计算机实现的方法可进一步包括响应于存储环境的操作状态中的变化来修改用于管理资源分配的计划。存储环境的操作状态可包括存储环境的资源的硬件配置。存储环境的操作状态还可包括对存储在存储环境的资源上的项目组中的一个或多个项目的访问的模式。
其他一般的方面包括上述方面和特征的其他组合,以及表示为方法、设备、系统、计算机程序产品以及以其他方式的其他方面和特征。
一方面,总的来说,本发明以一种计算机实现的方法为特征,该方法包括:检测代表多个内容项目的访问模式的实际工作负荷;比较该实际工作负荷与规定工作负荷,从而确定相对于规定工作负荷的实质偏离的发生;且在确定发生实质偏离时,至少部分地基于实际工作负荷修改规定工作负荷。根据多个资源分配设置中的一个将多个项目存储在存储环境的资源上。规定工作负荷包括多个种类,种类中的每一个与多个资源分配设置中的各自的一个相关联。
本发明的其他方面可包括以下一个或更多个特征。
可与第一属性的值的各个范围相关地限定多个种类的每一个。第一属性描绘多个内容项目的一个或多个操作目标的特征。修改规定工作负荷的方法包括通过将第一种类的定义改变成第一属性的值的新范围而至少修改第一种类。修改规定工作负荷的方法可进一步包括将已修改的第一种类与多个资源分配设置中的适当一个设置相关联,使得该关联的结果与存储环境中资源的可用性一致。存储环境中的资源包括存储资源和访问资源。
对于多个种类中的每一个,相关联的各自的资源分配设置可包括与存储在存储系统中的种类相关联的项目的实例数目的第一说明,以及针对项目的元素而部分限定的目的地的第二说明。存储环境的资源可至少包括具有多个不同区域的第一存储分量,且针对项目的元素而部分限定的目的地的第二说明将项目的元素与多个不同区域中的一个相关联。对于多个种类中的每一个,通过应用资源分配设置中的各自的一个资源分配设置,各个级别的资源容量被分配到种类中的项目。各个级别的资源容量至少包括与存储环境的资源上存储的种类中的项目的实例数目有关的存储容量;以及与对种类中的项目提供的可允许访问带宽有关的访问容量。
修改规定工作负荷的方法可包括,对于多个种类中的至少一些种类,通过改变与种类相关联的资源分配设置中的各自的一个资源分配设置,改变各个级别的资源容量。改变资源分配设置的各个设置的方法可包括改变与存储在存储系统中的种类相关联的项目的实例数目的第一说明,或可替代地,包括改变针对项目元素而部分限定的目的地的第二说明。
规定工作负荷可被保持在第一数据库中。计算机实现的方法可进一步包括基于修改规定工作负荷的结果产生新规定工作负荷。新规定工作负荷使得能够将存储环境的资源重新分配给多个项目,该重新分配反映了实际工作负荷。当实际工作负荷相对于规定工作负荷的偏离超过偏离阈值时出现实质偏离。
检测实际工作负荷的方法可包括获得关于以下中的一个或多个的信息:在给定时间对多个项目中的每一个的同时访问请求的数量,在检测期间对多个项目的每一个的访问请求的集合;以及关于多个项目中的每一个由于资源不可用而被拒绝的访问请求的数目和频率。
另一方面,总的来说,本发明以一种计算机实现的方法为特征,该方法包括:检测代表多个内容项目的访问模式的实际工作负荷,该多个项目根据多个资源分配设置中的一个而被存储在存储环境的资源上;比较该实际工作负荷与第一工作负荷模型,从而确定相对于第一工作负荷模型的实质偏离的发生;且在确定实质偏离的发生时,至少部分地基于实际工作负荷确定第二工作负荷模型。第一工作负荷模型包括第一方案集,其方案中的每一个与第一组资源分配设置组中的各自的一个相关联。第二工作负荷模型包括第二组方案,其方案中的每一个与第二组资源分配设置组中的各自的一个相关联。
其他一般的方面包括上述方面和特征的其他组合,以及表示为方法、设备、系统、计算机程序产品以及以其他方式的其他方面和特征。
通过以下说明和权利要求,本发明的其他特征和优点将变得明显。
附图说明
图1是用于数据存储和访问的示例分布式系统的框图。
图2是示出了基于模型的内容供应的操作的流程图。
图3是示出了基于属性的建模的示例方法的流程图。
图4A和图4B示出了使用单个属性建模的一个实例。
图5示出了另一个使用多个属性建模的实例。
图6是示出了基于异常(anomaly-based)的内容再供应(re-provisioning)的示例方法的示图。
图7是示出了基于进度表的内容再供应的示例实现的流程图。
图8A和图8B示出了重建模型的一个实例。
具体实施方式
1系统概要
在分布式系统中,存在以宽范围的属性(例如,数据类型、长度、受欢迎度和访问模式)和操作目标(例如,性能、完整性和弹性(resilience))为特征的内容库,使得每个内容可涉及不同级别上系统资源的使用。例如,更高受欢迎度的内容通常会需要更多访问资源(例如,读出带宽)以提高其流动性能(streaming performance);而另一方面,更重要性的内容可能需要更多存储空间(例如,用于存储冗余数据)以确保数据完整性。
以一种能够良好服务于内容使用的操作目标的方式来管理有限量的系统资源会是一个复杂的问题。而且,随着系统在规模上增大,困难程度会逐渐增加。在一些系统中,在管理涉及多个方面(multiple dimension)的系统资源(诸如,存储和访问资源)中应用领域专用知识是有利的。
参考图1,简略地说,分布式系统100由用于内容存储和传送的三个基本类型计算平台构成:存储服务器平台130、访问服务器平台120和客户端平台110。术语“平台”用来指代(例如)可管理(host)在单个计算机上或分布于多个计算机的组件集合。
存储服务器平台130可管理多个存储服务器132,该存储服务器包含读取和写入数据的存储和提供的能力。例如,每个服务器可管理在一个计算机上,或其功能自身可分布在多个硬件元件上。
访问服务器平台120提供访问服务,这些访问服务向多个应用共同地提供访问关于系统的存储服务器的数据/内容的一个或多个方法。一些访问服务根据规定的访问协议/制度(regime)/接口(例如,HTTP、RTSP、NFS等)来处理数据。其他访问服务管理系统资源并相应地调节对内容的访问。管理系统资源的服务包括(例如)为了存储和传送内容而分配系统资源的内容供应服务124,以及当被系统中的各种会话请求调用时允许会话的准入服务126。
总的来说,访问服务器平台120一方面通过分布式网络160与存储服务器平台130互连,另一方面通过访问(或接入)网络170与客户端平台110互连。访问网络170允许各种类型的客户端经由一个或多个信道与访问服务器平台120通信。例如,操作客户端112(例如,在线视频存储的管理员)可经由操作网络140与管理服务器121通信,而访问客户端114(例如,在线视频存储的客户)可经由传送网络150与下载服务器122通信。管理服务器121和下载服务器122二者可与系统的其余部分交互,以处理诸如上载和下载内容的各种客户端请求。
在将内容上载到存储器中时,内容供应服务124确定能够在满足内容的操作目标的全部可用存储资源中设置数据的良好方式。操作目标的实例包括性能目标(诸如,可访问性)、完整性、弹性和功率消耗,其中的每一个都可以一个或多个属性为特征。例如,与特定标题的观看频率相关联的受欢迎度属性可表示内容可访问性的期望度——系统可能期望服务的一种操作目标。
考虑到系统中每个个体的目标而做出良好的供应决定的过程可表示NP完全问题,此问题对于大型系统尤其复杂。解决此问题的一个方法涉及应用领域知识(domain knowledge)以组织问题空间(problem space)并形成能够以更有效的方式引导最佳解决方案的搜索的部分解决方案(例如,模型)。例如,对库的标题的访问模式可用来建立模型工作负荷,该模型工作负荷包含均被映射到部分确定的分配方案的有限的一组种类,该部分确定的分配方案表示资源设置的方式。使用该模型,然后可将内容供应作为两步骤处理来探讨——首先,将每部分内容归属到适当的种类,其次,在那个种类的本地方案内进行资源分配。将在以下部分更详细地描述基于模型的内容供应。
2基于模型的内容供应
参考图2,在用于内容供应的基于模型的方法的一个实现中,内容供应服务利用配置阶段210期间获得的基于模型的部分解决方案,以预先计算稍后在供应阶段220期间使用的信息,从而确定系统的存储资源上内容的良好设置。
在配置阶段210,例如,经验数据212用来生成表示系统旨在支持的工作负荷类型的模型工作负荷214。经验数据可涵盖从视频的全部使用的词语描述到来自运行中的系统的所有事件(包括视频观看事件)的详细网络日志的范围。经验数据212的一个实例是视频存储操作员提供的统计使用分布,以每24小时服务窗口上每个库标题观看次数为特征。另一个实例是在大范围区域的客户中观看习惯的地理概况。在经验数据难以获得或不充分的情况下,也可将诸如客户内容使用预测和服务目标的其他信息用于创建模型工作负荷214。
模型工作负荷214可在被引入到系统中之前被手动生成,或由系统自身自动生成(例如,以探试的方式)。基于模型工作负荷214创建规定的工作负荷218。一般说来,规定工作负荷218通过以离散方式划分问题空间来向资源分配问题提供部分解决方案。例如,可通过将模型工作负荷214映射到如下特定系统配置来生成规定的工作负荷218:1)系统规模是固定的,缩放工作负荷以适合于系统;2)工作负荷是固定的,缩放系统规模以匹配工作负荷;二者之一或3)二者的组合。在内容属性作为操作目标的特征来提供的一些应用中,规定的工作负荷218可被视为属性空间的划分,定义一组基于属性的类(在本文中称为方案(schema)),其中每个个体可被映射到与那个类相关联的资源设置类型。稍后将更详细地说明创建规定的工作负荷218的几种方法。
规定的工作负荷218在系统中可被表示为描述如何提供和访问系统中的对象的配置数据的集合(即方案数据库219)。方案数据库219包括方案和供应表,方案和供应表一起提供了每个方案和与该方案相关联的资源设置的定义描述。以基于受欢迎度的内容供应为例。可将一个方案定义成包括库中被最频繁观看的前5%的标题。对于打算对这个类中的每个标题通过800Mbps的总限额来提供最大800Mbps带宽或对该类中的所有标题提供更多带宽的系统,方案数据库219描述了可支持这种带宽目标的一组设置组合,包括例如在八个盘(disk)的跨度(span)上分布内容数据。稍后在内容供应期间使用这些类型的信息以帮助内容供应服务124确定对内容的(多个)操作目标(这里为可访问性)进行处理的分配资源的好方式。
除了提供期望的内容可访问性之外,规定工作负荷218和相关联的方案还被设计成减小系统中标题间竞争的程度。造成高度的标题间竞争的规定工作负荷的实例包括在最大读出速率为100Mbps的单个服务器上存储“Shrek I”和“Shrek II”中每个的四个副本。当“Shrek I”处于占据服务器的大部分或所有访问能力(access capacity)的峰值使用(例如,以90Mbps流动)时,致使此服务器上的其余数据(包括“Shrek II”)不可访问,而系统中其他服务器的资源可能闲置。相比之下,竞争性更少的规定工作负荷,例如在四个不同服务器的每个服务器存储“Shrek I”和“Shrek II”的一个副本,使得一个对象的峰值使用不超过服务器输出能力的25%,而不阻止对这些服务器上的其他数据的访问。
在供应阶段220期间,内容供应服务124利用方案数据库219中的信息以用下列方式供应内容。在接收到上载一部分内容的请求222时,内容供应服务首先通过对照方案数据库中的划分结果匹配内容属性(多个内容属性)来确定此内容的合适方案(步骤224)。如果(例如)此内容位于前5%受欢迎标题中,选择上述示例方案。因此,将在八个盘分解内容数据。假设这八个盘是必备的,仍存在将内容映射到存储器的多种方式。对于包括16个存储盘的系统,一个选择是将内容映射到1号至8号盘,而第二个选择是使用9号至16号盘(或者其他八个盘组合)。
在各种映射中,内容供应服务124选择最佳映射,例如,占用服务器最低的一个映射(步骤226)。如果在此最佳映射中有足够的可用资源(步骤228),内容供应服务124着手根据最佳映射分配在八个盘驱动的每一个上的一组物理块(步骤230),随后管理服务器121将内容数据传送到这些位置(步骤232)。如果内容供应服务124未能在最佳映射中找到足够的资源,则其选择下一映射以重复评价过程228,直到发现和交付了可用的映射。在期望系统上有一部分内容的多个副本的情况下,内容供应服务可针对每个单独副本确定最佳可用映射并相应地存储数据。在完成数据传送之后,映射结果(包括数据的盘位置)记载在对象目录129中,使得将来内容可方便地被其他服务(例如,准入服务126)所访问。
通常,当系统正常操作时,只要标题的集合体(aggregate)使用的资源在设计的限制之内,就有新内容的可用空间。在非常少的情况下,如果在穷举搜索之后认为没有可用映射(例如,由于系统预约超额),则报告错误236。可通过操作员介入,或可选地通过系统自身经由其他服务(例如,管理服务)来处理错误。
3创建模型
通过划分问题空间并形成部分解,模型和规定的工作负荷可帮助内容供应服务124以更有效的方式管理跨多个方面的资源。存在创建好模型的各种方法。例如,一种方法是在n-空间中进行k-ary细分,其中,k是细分因数(例如,k=2是二进制细分),n是独立属性的数目。这里,属性可以是操作目标(如受欢迎度、弹性和完整性)、独立资源池及其特性(这种盘的阵列和盘的模型)和/或资源管理中的其他方面中的一个的特征。
参考图3,一般地,基于属性建模的一些应用进行如下。
步骤1:获得表示库中标题的访问模式的经验使用分布。使用分布可以是作为一个或多个属性(例如,标题等级)的函数的访问速率的描述(例如,每秒的观看数,同时观看的平均数目,每秒的兆位数)。该信息可从实际使用数据(例如,来自Netflix、Blockbuster、Hollywood电影等的存储记录)获得,或基于预测(例如,使用视频租赁数据来推测其使用特性)来获得。在一些应用中,形成连续数学模型来描述使用数据。
步骤2:基于使用分布划分属性空间。这里,定义一组方案,每个方案与一个或多个属性的范围(例如,标题等级的前百分之五)相关联。方案通常描述了如何为具有一组给定属性的标题指派系统中的资源。每个方案被映射到存储分配模式,该存储分配模式包括(例如)其上设置有此方案中的标题的盘和针对每个标题存储的副本的数目的组合。
步骤3:通过基于划分结果累计库的每个标题的资源需求来计算资源利用(例如,总的存储量)。在一些应用中,总资源需求用作确定将在系统中使用的存储服务器的数目和类型的基础。
可以以迭代方式手动或自动地执行这三个步骤,并进一步地,通过考虑一组限制,来优化一个或更多个目标函数(例如,成本、资源利用、标题间竞争、功率消耗)。例如,在需要使效用成本(utility cost)最小化的情况下,在指派初始划分参数之后,可迭代执行步骤2和步骤3以确定划分的好(或最佳)方式,该方式产生最小量的效用成本,同时满足限制供应的某些方面(例如,总体存储量和每个盘的最大读出速率)的特定限制。如果在特定步骤的处理没有有效地收敛,可再进入之前的步骤并进行修改。
为了进一步阐释基于属性的建模,以下更详细地描述两个实例。
3.1例I——用单个属性建模
参考图4A和图4B,在第一实例中,基于单个属性——受欢迎度来创建内容供应的模型。这里,受欢迎度是一部分内容的预期需求的表达。例如,如果内容受欢迎,对其的需求很可能就高,因而供应系统将试图以满足预期需求所需的资源来供应内容。
图410是用户生成的视频库中一百万个标题的访问率(例如,每天观看数)相对于受欢迎度等级以对数-对数刻度绘制的分布。如图所示,访问率(从而对访问带宽的需求)在标题间变化较大。一些最受欢迎的标题每天被观看一百万次以上,最低等级中的标题每天被访问一次以下。生成基于受欢迎度的模型工作负荷能够由此允许以与服务目标(诸如标题可访问性)相协调的方式分配系统资源。
图420中示出了考虑了受欢迎度而创建模型工作负荷的一种方式。创建了一组量,作为细分该连续使用分布曲线410的结果。每个量与一个标题等级的范围相关联,在该范围内所有标题将共享部分确定的分配方案。此模型工作负荷(例如)通过将更多系统资源集中在具有更大需求的个体上而提供了稍后指导内容供应处理的框架。注意,在生成模型工作负荷时,可使用各种量化方案(例如,二进制细分或三进制细分,或甚至非一致或非公式细分)。不同的量化方案关于不同的经验数据组、具体应用(例如,提供诸如电影或在线广告的不同数据种类的内容)或将用来支持工作负荷的系统配置具有优点或缺点。
图4B示出了可在此实例中应用的一组方案。如图430所示,沿标题等级轴跨越给定范围的每个量对应于一个具体方案。如供应表440所示,同一方案中的标题共享一组预定的设置和服务特性,包括(例如)盘的数目和存储每个标题的盘区域,每个标题的原始副本的数目以及诸如系统能够提供的最大访问带宽的性能特性。例如,落入前百分之五内的标题将根据方案1(S1)供应-即,在存储器上具有12个副本,在96个盘的跨度的盘区域1(R1)上分解每个副本。这种设置提供最大800Mbps的访问带宽。
基于这些方案,可计算整个库所需的存储容量的量,且该量可用来确定系统的硬件要求。例如,如果根据规定工作负荷1M标题所需的存储量约为90TB,则可将系统配置成包括96个1TB盘,这96个1TB盘由各自具有24个盘驱动的4个服务器来组织。此外,如果期望在系统上提供36Gbps的访问带宽用于服务40K同时会话(每个会话在900Kbs处编码),每个盘驱动被选择为具有至少400Mbps的持续读出速率。
3.2例II——以多个属性建立模型
参考图5,在第二实例中,在创建模型工作负荷中使用两组属性(例如,受欢迎度和弹性)。在此描述中,弹性与存在组件故障时对信息对象保持的服务的预测水平有关。例如,在访问弹性对象时,对于在盘A上遇到失败读取的客户,仍可通过读取盘B上的数据的可替代副本而继续享受服务。一般地,对象需要变得越有弹性,则内容供应系统需要对该对象分配越多的资源(和可能更多类型的资源)。
图510示出了二维属性空间的示例细分。与单属性模型建立相对照,现在每个方案由两个属性的各自的范围的组合来定义。再者,对每个方案中的标题指派一组预定的设置和服务特性。例如,方案1中的标题对应于高弹性和高受欢迎度,因此每个标题以4个原始副本存储在12个盘的快速区域(R1)中以提供良好的弹性和可访问性。相比之下,方案5中的标题对应于低受欢迎度和低弹性,因此每个标题仅以一个原始副本存储在4个盘的慢速区域(R5)中。每个方案可由属性值的指定范围来定义。例如,方案2由[A1 S2_min,A1 S2_max]范围中的受欢迎度属性值和[A2 S2_min,A2 S2_max]范围中的弹性属性值来定义。该方案规定标题的三个原始副本的每一个被写在8个盘的跨度的R2中。该设置引起系统对S2中的每个标题可支持600Mbps的访问能力。
在多于两个的属性被用于生成模型工作负荷的一些应用中,可使用相似的方式进行多维属性空间的细分。例如,每个方案将由这些属性的每一个的值范围的组合来定义。一旦基于标题的属性值将该标题分配给适当的方案,则根据指派给此具体方案的预定设置执行内容供应。
可用来生成模型工作负荷的另一属性实例是完整性。在此描述中,内容完整性与组件故障后甚至在系统的灾难性故障后恢复内容的能力有关。例如,如果盘彻底毁坏且不能恢复,该盘上包含的那部分内容可从系统内或跨系统的该内容预备副本和/或根据编码的重建方法来恢复。
其他属性实例包括地理亲近性和排斥性、拓扑亲近性和排斥性以及功率消耗。
3.3其他实例
在一些实例中,在建立模型中可包含进手动的或自动的优化以实现一个或更多个设计目标。假定在建立模型之前已确定了存储服务器的数目和类型,则一个设计目标可以是(例如)最佳地使用可用资源。如果还没有确定系统的硬件组件,则另一设计目标可以是最小化整个系统资源需求,同时满足单个标题或所有标题的服务目标。
为了进行优化,一般首先定义目标函数并确定可最小化或最大化其值的输入。(有时,对输入可采用的值施加一组限制)。在图5所述的实例中,方案的限定可被视为对需要被最小化的效用成本的目标函数的输入。以最初的一组输入开始(例如,图中方案的当前边界条件),通过在输入中进行小步幅的调整(诸如,沿每个属性轴移动方案2的边界)以到达获得最低系统成本的条件,可找到优化的一组方案限定。(参见以下的用于调整模型和方案从而优化运行的系统的重建模型)。
在一些系统中,使用基于模型的方式管理资源分配的一个优点是在建立整个系统之前可测试组件和子系统的性能和行为。模型可被细化到子系统或组件级,且在将子系统或组件结合进整个系统之前,对该子系统或组件作出测试。例如,多层测试脚本可用于测试并合格化不同级别上的子系统(例如单独的盘驱动,一组盘驱动和完整的存储服务器),且最终被扩展到整个系统(包括访问服务器、存储服务器、盘调度程序等)。对测试结果进行分析并将测试结果用于确定期望的系统配置或修改。这些结果还可为下一级的系统开发提供可验证的性能目标。
4.内容再供应
一旦内容被成功地供应至系统且可用于访问,则可通过从存储器和访问服务器收集内容统计数据(如会话计数和带宽消耗)来跟踪内容的实际使用。对象的实际使用可能偏离其供应水平,而大偏离会影响资源利用的整体效率。例如,过量供应的对象可能正在消耗未处于使用中、但仍然被阻止分配给其它对象的资源,而同时供应不足的对象被指派了不充分的资源,这导致进入的访问请求被拒绝。因此,为了使系统能够持续操作在整体上最佳的状态中,提供了内容再供应服务。
存在着会期望内容再供应的许多情况。当初始供应的标题无属性时出现第一情况(例如置于默认方案中并据此进行供应),该标题的实际使用稍后被用于确定适于使用哪个方案以及是否需要再供应该标题。当初始供应标题使用不代表实际使用的属性时(例如,当市场促销宣传电影的近期受欢迎度时)出现第二情况,系统检测实际水平和供应水平之间的差异(“异常”),并通过选择最反映标题的实际使用的方案来命令再供应该标题。当存在属性的计划生命周期管理(例如“老化”)时出现内容重新配置的第三种情况,且标题被计划成根据预定的原则(例如,在标题的释放周期的有效期范围内,向标题提供不断减少的带宽)在方案之间移动。
在这些情况中的每一个中,内容再供应服务提供至少两种操作:1)提高供应(up-provisioning),其将供应升级至通常将更多的资源指派给内容的更高级别的方案;以及2)降低供应(down-provisioning),其将供应降级至将一定量的资源释放回系统的更低级别的方案。在基于异常和基于阈值的内容再供应的背景中,更详细地描述这些操作。
4.1基于异常和基于阈值的再供应
一般来说,基于异常和基于阈值的内容再供应处理(1)使用已不代表其实际使用的属性供应的内容或(2)其使用已被不可预测地改变、使得供应不再代表并适合于实际使用的内容。除了是不正确的方案指派(例如,由于错误的数据和/或默认方案指派)的结果之外,“异常”还可由许多其他因素造成,包括(例如)导致内容的近期受欢迎度变化的市场导向和不可预测事件(如演员的死亡)。当检测到异常或一部分内容的使用超过了指示内容被过量供应或未充足供应的阈值时,则将自动再供应该部分内容。
以下详细描述基于异常的再供应的一个实例。
参考图6,内容再供应服务125与系统中的其他服务(包括准入服务126和内容监控器123)交互以提供以下功能。
准入服务126针对当前被访问的每一部分内容来收集和保持一组运行统计数据(步骤612)。运行统计数据的实例包括在任何给定时间和随着时间的逝去针对每个对象所允许的同时会话的数量和涉及所有对象的总的使用。准入服务126还以每个方案为基础将供应异常阈值作为服务配置文件的一部分来保持(步骤614)。当标题的实际使用(例如即时访问速率)越过了其对应方案的异常阈值时(例如,包括超过提高供应的预定阈值,或降到降低供应的预定阈值以下),其指示非预期的暂时使用,则创建供应异常对象(步骤616)并将其提供给内容监控器123。
内容监控器123保持供应准入服务126提交的异常对象的工作队列(步骤622),并确定且优选以优先顺序排列未完成的再供应列表(步骤624)。例如,基于每个供应异常的类型,内容监控器123确定是否可通过再供应纠正异常。对于需要提高供应且已处于供应的最高级别的内容,则将发送“供应异常未修复”事件且对该内容不需要进一步的处理。在一些实例中,内容监控器123将要提高供应的内容置于更高的优先级,以使系统能够准入尽可能多的涉及该内容的未来的服务请求。在当不能立刻获得用于提高供应的资源时的一些其他实例中,准予降低供应内容的请求优先于提高供应的请求,从而为提高供应而释放系统资源。对于未完成再供应的列表上的每个项目,内容监控器123确定代表其实际使用的一组新属性并随后生成再供应命令(步骤626)以指示再供应服务125相应地再供应该项目。
在内容再供应服务125接收到再供应命令之后(步骤632),基于新属性再供应内容(步骤634)。类似于之前描述的通常内容供应步骤,再供应服务125选择对应于新属性的方案,根据方案指派资源以将内容的新副本写到存储器上。当已向内容给予其新供应时,再供应服务125更新对象目录中的内容信息(步骤636)并从存储器移除内容数据的旧实例。
除了基于异常的再供应之外,另一类型的再供应通过考虑进标题使用的短期和/或长期变化性(例如,观看趋势),使用阈值机制做出再供应决定。以下描述基于阈值的再供应的一个实例。
一旦标题被存储在系统上且使得可被客户访问,该标题的使用(或受欢迎度)将自然地变化。新标题(例如,电影、TV剧集、新闻片段)被首次引入时通常经历较高使用;随着时间的逝去,使用通常降低,尽管不同标题的使用可能以不同的速率降低。在某些情况下,新标题(例如用户生成的视频)在被首次引入时将经历非常少的使用,且在其整个寿命中保持很少使用或不使用;但是,社会舆论(social buzz)可能带来对一些标题中的一些的关注,导致使用增加。随着关注减退,使用降低。
在这个基于阈值的再供应实例中,标题的使用趋势(例如)通过计算标题的观看速率关于时间的第一导数来进行监控。然后对照阈值测量该趋势,以确定标题的使用是否遵循此标题的设计趋势。此设计趋势可以以每个方案为基础进行构建(即同一方案中的每个标题与相同/相似的设计趋势相关联),或可选地,针对每个标题基于标题自身特性(例如,基于诸如标题的类型和内容的属性)进行具体地构建。如果标题使用的实际趋势偏离于设计趋势(例如,与设计的缓慢减退相反,在过去的一周内标题经历了使用增加),标题将被置于要被再供应的再供应列表中。在许多情况下,系统在方便的时间(例如,在轻服务负荷持续时间)实施基于阈值的再供应决定发起的再供应动作,以减小对系统的其他操作的干扰。
存在可用在此基于阈值再供应的实例中的一些算法。第一实现基于非加权后向观看时间窗和使用阈值。通过离散地采样连续的时间事件,估计标题的使用分布并使该分布与阈值相比较以确定是否需要发生再供应动作。第二实现基于标题使用的时间敏感加权移动平均/和。更具体地,在认识到经验使用事件固有地表示适于分布函数的统计概率时,使用分布函数来对拖尾的移动平均/和加权。此第二实现可减少非加权实现中可能发生的采样误差和混淆,并改善整体系统效率。
4.2基于进度表的再供应
在一些实例中,执行基于进度表的内容再供应来作为生命周期管理的结果,例如,可以以计划的方式向预期会随着时间逝去经历渐减的使用的标题提供随时间日益减小的带宽。一般来说,基于进度表的再供应处理在后台以较低优先级运行以使其对其它操作的影响最小。基于进度表的内容再供应的一个实例进行如下。
参考图7,起初,再供应进度表与系统中的标题相关联(步骤702)。可手动地(例如,操作员基于领域知识而设计的)确定或自动地(例如,使用通过收集内容统计数据和分析访问模式的趋势而建模的内容老化函数)确定再供应进度表。进度表可包含生命周期的起始参考点和要采取的一系列设计的再供应动作(例如,将标题从其当前方案再供应到另一指定方案,或在标题的属性中进行指定的改变),以及何时采取这些动作(包括例如触发动作的时钟时间集)。再供应进度表一旦被建立,以后就可基于对象随时间的实际使用和整体系统目标来修正。
当再供应动作(例如)通过时钟时间或其他触发事件被触发时(步骤704),基于进度表来计算标题的新属性(步骤706)。然后使用这些新属性再供应该标题(步骤708)。在完成该再供应动作之后,再供应服务等待下一起动点以开始另一轮再供应动作(步骤710)。
在一些实施例中,以契约(contractual)为基础构建再供应进度表。例如,进度表包括一组再供应动作的启动日期/时间,以及在该时间要采取的动作的详情(例如,每个动作中标题的具体供应级别)。
在一些其他实例中,再供应进度表进一步包括针对再供应目的构建的一组使用模型,其中每个使用模型对应于再供应动作的特定组。在系统操作期间,对照这一组使用模型来测量标题的实际使用,以确定最佳匹配的使用模型。然后,再供应服务根据对应于该最佳匹配模型的动作对该标题进行再供应。在计划重新再供应标题时的下一触发,如果标题的实际使用符合之前确定的最佳匹配模型中描述的使用,将根据对应于此模型的动作重新再供应标题。但是,如果实际使用明显偏离在之前确定的最佳匹配模型中的描述使用,则为该标题选择新的最佳匹配模型。随后,根据对应于此新模型的一组动作来再供应该标题。
通常,涉及内容再供应的服务(诸如,内容再供应服务125和内容监控器123)可由一个或多个物理服务器来提供。这些服务器可以是一个或多个访问服务器平台120(如图1所示),或一个或多个外部再供应平台,或二者的组合。
5重建模型
如上所述,当单独一部分内容的实际使用显现出与已被供应内容的方案不一致时,内容再供应服务用于将该内容再指派至更能准确代表实际使用的适当方案。但是,在一些情况下,如果这样的不一致在更大范围上出现,则大量的再供应请求可能出现在系统中或大量的再供应请求可被满足,这会导致可能使系统不平衡并威胁其性能和稳定性的再供应风暴。另外,当在偏离规定级别的级别上执行实际工作负荷的大部分时,规定的工作负荷自身不再适于系统实现期望的性能和行为。而且,存在会影响可被分配的可用资源量并且从而影响内容应被供应的方式的特定系统更新(例如出故障的服务器的减损或添加新服务器到系统)。在这些情况下,推荐在全局范围上的系统重新配置和/或重建模型。在一些实施例中,系统的实际使用现在用作新经验数据(新212)以创建新模型工作负荷,新规定的工作负荷,新方案等;根据之前和新的经验数据以及系统目标之间的差别的程度,这些可代表对系统的微小或较大的改变。
参考图8A和图8B,在一个实例中,当在系统的实际工作负荷830和当前用于内容供应的规定工作负荷810之间检测到大的不一致时,执行重建模型以配置更好地匹配实际工作负荷830的新的规定工作负荷820(包括方案和供应表)。如实际工作负荷830所示,被指派在前两个总量中的标题是供应不足的,这是因为他们的平均访问速率实质上高于规定水平(即,分别是800Mbps和600Mbps)。与之对照,其余总量中的标题被过量供应在系统操作期间未被完全消耗的带宽容量。结果,最大总体系统性能可远低于之前设计的最大总体系统性能。
恢复该损失的一个方式是使方案之间相对资源分配重新平衡,如新的规定工作负荷820所示。在此,用于前两个总量中的标题的访问带宽分别被提升到950Mbps和800Mbps,而库的其余部分已相应地降低到更低的水平。新的一组方案(S1’、S2’、S3’、S4’等)现在取代了之前的组(S1、S2、S3、S4等)以反映资源分配中的变化。
注意,在上述实例中,与每个方案相关联的资源分配的模式(例如,盘跨度和盘区域)受到影响,但是方案的边界(即,基于属性空间的划分的方案的限定)保持不变。但是,可不必是这种情况。存在用于在重建模型中创建新的规定工作负荷的许多其他方式。一个替代方式(例如)涉及划分属性空间中的变化(例如通过修改方案边界和/或方案的总体数量)和/或映射到每个方案的资源分配的模式。
一旦配置了新的规定工作负荷,内容供应服务将根据新的方案处理未来的上载请求。另一方面,之前供应的内容可被逐渐再供应并迁移到新地点以使系统回到最优化。在该时间段期间新旧规定的工作负荷可并存在系统中以便利该迁移。
重建模型的另一实例随着将(例如)服务器的新资源添加到系统而出现。如果以上实例表示4个存储服务器和4个访问服务器的系统,将系统扩展到例如6个存储服务器和6个访问服务器会导致要分配的系统资源增加50%。(这里,存储和访问服务器的数目不必是相同的)。根据期望的新系统使用,对规定的工作负荷至少可进行三个改变。(1)如果由于系统充满更多较低受欢迎度的标题而增大该系统,则可添加一个或多个较低受欢迎度的方案。(2)如果整体系统使用在增大,而标题间的使用比例与之前相同,则对所有方案按比例提供更多的系统资源。(3)如果系统由于添加了更多更高受欢迎度的标题而增大,则可添加一个或多个更高受欢迎度方案。注意这三种情形不是穷举性的。
应理解,前述说明旨在于阐述而不是限制本发明的范围,本发明的范围由所附权利要求的范围来限定。其他实施方式在之后的权利要求的范围内。
Claims (15)
1.一种计算机实现的用于资源分配的方法,所述方法包括:
接收对第一内容项目组的访问模式的描述,所述访问模式的描述是至少第一属性的函数,所述第一属性描绘要存储在存储系统中的第二内容项目组的一个或多个操作目标的特征,
所述一个或多个操作目标包括以下各项中的一个或多个:
可访问性,完整性,弹性或功率消耗,
所述第一内容项目组和第二内容项目组包括以下各项中的一个或多个:
与在线视频广告相关的一类内容,
与用户生成的内容相关的一类内容,
与音乐视频相关的一类内容,
与体育活动的视频相关的一类内容,
与新闻片段相关的一类内容,或
与TV剧集相关的一类内容;以及
基于所述访问模式的描述来划分存储空间,包括:
限定与所述第一属性的值的范围相关的多个种类中的每一个;以及
使所述多个种类中的每一个与多个资源分配设置中的各自的一个相关联,
其中对于所述多个种类中的每一个,相关联的各自的一个资源分配设置包括存储在所述存储系统中的与种类相关联的项目的实例数量的第一说明,以及针对项目的元素而部分限定的目的地的第二说明,
根据所述多个资源分配设置中的对应一个,将所述第二内容项目组的一个或多个项目存储在所述存储系统中。
2.根据权利要求1所述的方法,其中所述存储系统具有预定配置。
3.根据权利要求2所述的方法,进一步包括:
确定所述多个资源分配设置中的每一个,使得与所述多个资源分配设置相关联的资源需求的集合与所述存储系统的预定配置相一致。
4.根据权利要求3所述的方法,其中所述资源需求的集合包括对访问和存储容量的需求。
5.根据权利要求1所述的方法,进一步包括:
基于划分所述存储空间的结果来确定用于存储所述第二内容项目组的所述存储系统的配置。
6.根据权利要求5所述的方法,其中确定所述存储系统的配置包括:
确定所述存储系统的一组存储组件中的每一个的特性。
7.根据权利要求5所述的方法,其中确定所述存储系统的配置包括:
基于划分所述存储空间的结果,迭代地产生所述存储系统的候选配置;以及
根据预定的设计目标选择所述存储系统的优选配置。
8.根据权利要求7所述的方法,其中所述预定的设计目标以设计目标函数为特征,且
其中迭代地产生所述候选配置包括:
向与所述第一属性的值的范围有关的多个种类中的每一个提供一组初始限定;以及
对所述一组初始限定进行调整以优化所述设计目标函数。
9.根据权利要求7所述的方法,其中所述设计目标包括:
最小化所述存储系统的资源需求的水平。
10.根据权利要求7所述的方法,其中所述设计目标包括:
最小化所述第二内容项目组中的不同项目的潜在资源消耗之间的竞争程度。
11.一种用于资源分配的系统,所述系统包括:
用于接收对第一内容项目组的访问模式的描述的装置,所述访问模式的描述是至少第一属性的函数,所述第一属性描绘要存储在存储系统中的第二内容项目组的一个或多个操作目标的特征,
所述一个或多个操作目标包括以下各项中的一个或多个:
可访问性,完整性,弹性或功率消耗,
所述第一内容项目组和第二内容项目组包括以下各项中的一个或多个:
与在线视频广告相关的一类内容,
与用户生成的内容相关的一类内容,
与音乐视频相关的一类内容,
与体育活动的视频相关的一类内容,
与新闻片段相关的一类内容,或
与TV剧集相关的一类内容;
基于所述访问模式的描述划分存储空间的装置,
其中用于划分所述存储空间的装置包括:
用于限定与所述第一属性的值的范围相关的多个种类中的每一个的装置;以及
用于将所述多个种类中的每一个与多个资源分配设置中的各自的一个相关联;以及
用于存储所述多个资源分配设置的数据库,
其中对于所述多个种类中的每一个,相关联的各自的一个资源分配设置包括存储在所述存储系统中的与种类相关联的项目的实例数量的第一说明,以及针对项目的元素而部分限定的目的地的第二说明,
根据所述多个资源分配设置中的对应一个,将所述第二内容项目组的一个或多个项目存储在所述存储系统中。
12.根据权利要求11所述的系统,其中划分所述存储空间的装置包括:
用于基于划分所述存储空间的结果来确定用于存储所述第二内容项目组的所述存储系统的配置的装置。
13.根据权利要求11所述的系统,其中用于划分所述存储空间的装置包括:
用于限定描绘所述存储系统的预定设计目标的特征的设计目标函数的装置;以及
用于计算优化所述设计目标函数的所述存储系统的优选配置的装置。
14.根据权利要求13所述的系统,其中所述设计目标包括减少所述存储系统的资源需求的水平。
15.根据权利要求14所述的系统,其中所述设计目标进一步包括最小化所述存储系统的资源需求的水平。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/170,646 US8364710B2 (en) | 2008-07-10 | 2008-07-10 | Model-based resource allocation |
US12/170,749 US8191070B2 (en) | 2008-07-10 | 2008-07-10 | Dynamic resource allocation |
US12/170,732 US8887166B2 (en) | 2008-07-10 | 2008-07-10 | Resource allocation and modification using access patterns |
US12/170,646 | 2008-07-10 | ||
US12/170,732 | 2008-07-10 | ||
US12/170,749 | 2008-07-10 | ||
PCT/US2009/050051 WO2010006127A1 (en) | 2008-07-10 | 2009-07-09 | Model-based resource allocation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102132577A CN102132577A (zh) | 2011-07-20 |
CN102132577B true CN102132577B (zh) | 2014-11-05 |
Family
ID=40996612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980132893.2A Expired - Fee Related CN102132577B (zh) | 2008-07-10 | 2009-07-09 | 基于模型的资源分配 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2311250A1 (zh) |
CN (1) | CN102132577B (zh) |
WO (1) | WO2010006127A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779175B2 (en) | 2007-05-04 | 2010-08-17 | Blackwave, Inc. | System and method for rendezvous in a communications network |
US8099402B2 (en) | 2008-07-10 | 2012-01-17 | Juniper Networks, Inc. | Distributed data storage and access systems |
US8954976B2 (en) | 2008-07-10 | 2015-02-10 | Juniper Networks, Inc. | Data storage in distributed resources of a network based on provisioning attributes |
US8650270B2 (en) | 2008-07-10 | 2014-02-11 | Juniper Networks, Inc. | Distributed computing with multiple coordinated component collections |
US9176779B2 (en) | 2008-07-10 | 2015-11-03 | Juniper Networks, Inc. | Data access in distributed systems |
US8706900B2 (en) | 2008-07-10 | 2014-04-22 | Juniper Networks, Inc. | Dynamic storage resources |
US8887166B2 (en) | 2008-07-10 | 2014-11-11 | Juniper Networks, Inc. | Resource allocation and modification using access patterns |
US8364710B2 (en) | 2008-07-10 | 2013-01-29 | Juniper Networks, Inc. | Model-based resource allocation |
US8191070B2 (en) | 2008-07-10 | 2012-05-29 | Juniper Networks, Inc. | Dynamic resource allocation |
US9066141B2 (en) | 2009-01-21 | 2015-06-23 | Juniper Networks, Inc. | Resource allocation and modification using statistical analysis |
WO2015057094A1 (en) * | 2013-10-14 | 2015-04-23 | Emc Corporation | Resource provisioning based on logical profiles and piecewise objective functions |
CN107770236A (zh) * | 2017-07-04 | 2018-03-06 | 中国电子科技集团公司电子科学研究院 | 一种存储资源分配方法、装置及计算机可读介质 |
CN108574850B (zh) * | 2017-09-01 | 2020-08-28 | 北京金山云网络技术有限公司 | 一种直播资源分配方法、装置、电子设备及存储介质 |
CN117035321A (zh) * | 2019-04-10 | 2023-11-10 | 创新先进技术有限公司 | 一种资源分配方法、装置、设备及介质 |
CN115033187B (zh) * | 2022-08-10 | 2022-11-08 | 蓝深远望科技股份有限公司 | 一种基于大数据的分析管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655129A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | Windows平台下动态管理存储资源的通用方法 |
CN1852502A (zh) * | 2006-05-29 | 2006-10-25 | 杭州华为三康技术有限公司 | 一种集群系统中实现负载均衡的方法、系统和存储控制器 |
CN101222490A (zh) * | 2007-12-07 | 2008-07-16 | 中国科学院计算技术研究所 | 一种网络服务器系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444662B2 (en) | 2001-06-28 | 2008-10-28 | Emc Corporation | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
US20050262246A1 (en) * | 2004-04-19 | 2005-11-24 | Satish Menon | Systems and methods for load balancing storage and streaming media requests in a scalable, cluster-based architecture for real-time streaming |
-
2009
- 2009-07-09 WO PCT/US2009/050051 patent/WO2010006127A1/en active Application Filing
- 2009-07-09 EP EP09790199A patent/EP2311250A1/en not_active Withdrawn
- 2009-07-09 CN CN200980132893.2A patent/CN102132577B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655129A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | Windows平台下动态管理存储资源的通用方法 |
CN1852502A (zh) * | 2006-05-29 | 2006-10-25 | 杭州华为三康技术有限公司 | 一种集群系统中实现负载均衡的方法、系统和存储控制器 |
CN101222490A (zh) * | 2007-12-07 | 2008-07-16 | 中国科学院计算技术研究所 | 一种网络服务器系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2311250A1 (en) | 2011-04-20 |
CN102132577A (zh) | 2011-07-20 |
WO2010006127A1 (en) | 2010-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102132577B (zh) | 基于模型的资源分配 | |
US8191070B2 (en) | Dynamic resource allocation | |
US8887166B2 (en) | Resource allocation and modification using access patterns | |
US8364710B2 (en) | Model-based resource allocation | |
US9066141B2 (en) | Resource allocation and modification using statistical analysis | |
US20200249047A1 (en) | Proactive vehicle positioning determinations | |
US8271338B2 (en) | Approach for estimating user ratings of items | |
US9070139B2 (en) | Estimating unique impressions in an online video distribution system | |
CN109976909A (zh) | 边缘计算网络中基于学习的低延时任务调度方法 | |
CN107291545A (zh) | 计算集群中多用户的任务调度方法及设备 | |
Kunjir et al. | ROBUS: fair cache allocation for data-parallel workloads | |
US10425470B1 (en) | Shadowed throughput provisioning | |
CN111782957A (zh) | 一种推荐内容的方法、装置、计算设备及存储介质 | |
CN103345514A (zh) | 大数据环境下的流式数据处理方法 | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
US11816613B2 (en) | System and method for adaptive and dynamic pricing of self-storage storage units | |
US9538249B2 (en) | Close fulfillment of content requests | |
CN113015985A (zh) | 基于人工智能的房间分配优化系统 | |
US11379375B1 (en) | System and method for cache management | |
Cao et al. | Adaptive provisioning for mobile cloud gaming at edges | |
WO2019203806A1 (en) | Ridesharing utilizing excess capacity | |
Wu et al. | A deployment optimization scheme over multimedia big data for large-scale media streaming application | |
Chang et al. | Video management and resource allocation for a large-scale vod cloud | |
WO2019203805A1 (en) | Filtering for efficient routing data | |
Zhang et al. | A practical learning-based approach for viewer scheduling in the crowdsourced live streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: NETSCREEN TECHNOLOGIES INC. TO: JUNIPER NETWORKS INC. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141105 Termination date: 20180709 |