根据业务模式识别来共同定位和减载网站业务的装置和方法

文档序号:7587492阅读:154来源:国知局
专利名称:根据业务模式识别来共同定位和减载网站业务的装置和方法
技术领域
本发明涉及用于根据业务模式识别来共同定位和减载网站业务的装置和方法。更具体地说,本发明涉及用于分析(profiling)网站、确定哪些网站应被共同定位以及何时应执行将Web业务减载到其他服务器的装置和方法。
背景技术
随着因特网及其应用的逐渐普及,分配资源以便提供服务质量(QoS)已变得更加困难。异类的因特网基础设施和应用以及用户行为加剧了资源分配问题的复杂性。
解决资源分配问题的一种方法是在多个实体(例如,网站)之间共享资源(例如,Web服务器),以便对于任何给定的实体,可以通过从其他实体借用资源来处理峰值负载状态。这种机制通常被称作共同定位。此范例中的一个重要问题涉及群集网站以便资源共享。即,标识哪些网站应共享资源通常是困难的和不精确的人工过程。
另一种方法(其是对共同定位的补充)包括以动态的方式将实体的工作减载到外部资源。借助减载,去往当前处于过载状态的特定Web服务器的网站业务被重定向到另一个服务器以执行对该业务的处理。减载的一个关键问题是确定在何处以及何时减载工作。用于确定在何处以及何时减载工作的已知机制通常落入负载平衡的领域,其中当前状态信息被用于确定工作负载是否应被平衡(通过将某些工作发送给其他服务器)。此类工作负载平衡机制是反应性的,并且在服务器变得过载之前,不会利用已知的业务模式来开始减载。
因此,具有一种用于确定哪些网站应被共同定位以及何时应将网站业务减载到其他Web服务器的改进的装置和方法是有利的。

发明内容
本发明提供了用于根据模板来标识到网站的业务模式的装置和方法,所述模板描述了到达网站的业务的特性。基于这些模板,做出关于哪些网站应被共同定位以便最优化资源分配的判定。具体地说,其模板为互补的网站,即,在时间t1具有到达业务峰值的第一网站和在时间t1具有到达业务谷值的第二网站,被指定为共同定位的候选者。
此外,本发明使用为网站的业务模式标识的模板来确定将业务减载到其他服务器的阈值。这些阈值包括在该处应执行减载的第一阈值、考虑到开始减载所需的提前时间的第二阈值以及考虑到停止所有将业务减载到其他服务器所需的延迟时间的第三阈值。
本发明的这些和其他的特征和优点将在以下对各优选实施例的详细说明中进行描述,或者由于以下对各优选实施例的详细说明,这些特征和优点对本领域的技术人员将变得显而易见。


图1是其中可以实现本发明的分布式数据处理系统的示例性示意图;图2是根据本发明的服务器计算设备的示例性方块图;图3是根据本发明的客户机计算设备的示例性方块图;图4A-4C是示例性商业网站在一周时间内的每小时点击的示例性示意图;图5A-5C是图4A-4C中的示例性商业网站的每日时间序列图的示例性示意图;图6是作为在示例性商业网站遇到的不同测量的日平均的函数的日变化系数的示例性示意图;图7是作为在示例性商业网站遇到的不同测量的日平均的函数的日峰值对平均值比的示例性示意图;图8是示出了从示例性商业网站收集以便用于群集网站的一天内每小时请求的示例性示意图;图9是示出了图8的网站被群集到其中的四类请求模式的各模式的示例性示意图;
图10A是示出了用于图9的四类请求模式的四个模板的示例性示意图;图10B是示出了通过将本发明的群集和分析应用到图4A-4C的网站的经验数据而生成的周中每一天的模式的示例性示意图;图11是根据本发明的网站分类装置的示例性方块图;图12是描述了本发明的示例性操作的流程图。
图13是描述了用于群集网站的本发明的示例性操作的流程图;图14是描述了用于群集网站的本发明的示例性操作的流程图;图15是描述了用于分类网站的本发明的示例性操作的流程图;图16是描述了用于确定哪些网站是共同定位候选者的本发明的示例性操作的流程图;图17是示出了根据示出的本发明的用于具有减载阈值的网站的模板的示意图;图18是描述了用于根据本发明来减载业务的本发明的示例性操作的流程图;图19是描述了用于共同定位与减载的组合的本发明的示例性操作的流程图;以及图20是资源分配确定系统的方块图。
具体实施例方式
本发明的各优选实施例在分布式数据处理环境中实现,其中业务数据被编译并用于分析、群集和分类网站。由于本发明在分布式数据处理环境中实现,首先将提供此环境的简要描述以便提供本发明在其中运行的环境。
现在参考附图,图1示出了其中可以实现本发明的数据处理系统网络的图形表示。网络数据处理系统100是其中可以实现本发明的计算机的网络。网络数据处理系统100包含网络102,网络102是用于在网络数据处理系统100内连接到一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆之类的连接。
在所示实例中,服务器104与存储单元106一起与网络102相连。另外,客户机108、110和112与网络102相连。这些客户机108、110和112可以是例如个人计算机或网络计算机。在所示实例中,服务器104向客户机108-112提供诸如引导文件、操作系统映像以及应用程序之类的数据。客户机108、110和112是服务器104的客户机。网络数据处理系统100可以包括其他服务器、客户机以及未示出的其他设备。
在所示实例中,网络数据处理系统100是因特网,同时网络102代表全球范围内使用传输控制协议/网际协议(TCP/IP)协议集来相互通信的网络和网关的集合。因特网的核心是主节点或主机之间高速数据通信线路的主干,它由数以千计的商业、政府、教育以及其他路由数据和消息的计算机系统构成。当然,网络数据处理系统100也可以被实现为许多不同类型的网络,诸如例如企业内部互联网、局域网(LAN)或广域网(WAN)。图1旨在作为一个实例,并非旨在对本发明进行结构体系限制。
参考图2,图2示出了根据本发明的一个优选实施例,可以作为诸如图1的服务器104之类的服务器被实现的数据处理系统的方框图。数据处理系统200可以是对称多处理器(SMP)系统,其中包括多个与系统总线206相连的处理器202和204。可替代地,可以采用单处理器系统。同时与系统总线206相连的是存储器控制器/高速缓冲存储器208,其提供到本地存储器209的接口。I/O总线桥210与系统总线206相连并提供到I/O总线212的接口。存储器控制器/高速缓冲存储器208和I/O总线桥210可以如示出的那样被集成在一起。
与I/O总线212相连的外围组件互连(PCI)总线桥214提供了到PCI局部总线216的接口。许多调制解调器可以被连接到PCI局部总线216。典型的PCI总线实现将支持四个PCI扩展槽或附加连接器。通过经由附加连接器被连接到PCI局部总线216的调制解调器218和网络适配器220,可以提供到图1中的客户机108-112的通信链路。
附加的PCI总线桥222和224为附加的PCI局部总线226和228提供了接口,从附加的PCI局部总线226和228可以支持附加的调制解调器或网络适配器。以这种方式,数据处理系统200允许连接多台网络计算机。存储器映射的图形适配器230和硬盘232也可以如示出的那样直接或间接地与I/O总线212相连。
本领域的技术人员将理解,图2中所示的硬件可以有所变化。例如,除所示硬件之外或替代所示硬件,还可以使用诸如光盘驱动器之类的其他外围设备。所示实例并非旨在暗示本发明的体系结构限制。
图2所示的数据处理系统可以是例如IBM eServer pSeries系统,它是纽约阿蒙克的国际商业机器公司的产品,运行高级交互执行(AIX)操作系统或者LINUX操作系统。
现在参考图3,图3示出了其中可以实现本发明的数据处理系统的方块图。数据处理系统300是客户机计算机的一个实例。数据处理系统300采用外围组件互连(PCI)局部总线体系结构。尽管所示的实例采用了PCI总线,但也可以使用诸如加速图形端口(AGP)和工业标准体系结构(ISA)之类的其他总线体系结构。
处理器302和主存储器304通过PCI桥308与PCI局部总线306相连。PCI桥308还可以包括用于处理器302的集成存储器控制器和高速缓冲存储器。通过直接组件互连或附加板可以进行到PCI局部总线306的附加连接。在示出的实例中,局域网(LAN)适配器310、SCSI主机总线适配器312以及扩展总线接口314通过直接组件连接与PCI局部总线306相连。相反,音频适配器316、图形适配器318以及音频/视频适配器319通过插入扩展槽中的附加板与PCI局部总线306相连。扩展总线接口314为键盘和鼠标适配器320、调制解调器322以及附加存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328以及CD-ROM驱动器330提供连接。典型的PCI局部总线实现将支持三个或四个PCI扩展槽或附加连接器。
操作系统在处理器302上运行并用于协调和提供对图3中的数据处理系统300内的各种组件的控制。所述操作系统可以是可从市场上购买的操作系统,诸如Windows XP,其可以从Microsoft Corporation获得。诸如Java之类的面向对象的编程系统可以与所述操作系统一起运行,并从在数据处理系统300上执行的Java程序或应用来提供对操作系统的调用。“Java”是Sun微系统公司的商标。用于操作系统、面向对象的操作系统以及应用或程序的指令位于诸如硬盘驱动器326之类的存储设备中,并且可以被加载到主存储器304中以便由处理器302执行。
本领域的技术人员将理解,图3中的硬件可以根据实现而变化。除图3中所示的硬件之外或替代图3中所示的硬件,可以使用诸如快速只读存储器(ROM)、等效非易失性存储器或光盘驱动器之类的其他内部硬件或外围设备。同样,本发明的诸过程可以被应用到多处理器数据处理系统。
作为另一个实例,数据处理系统300可以是被配置成不依赖某些类型的网络通信接口也可引导的独立系统。作为进一步的实例,数据处理系统300可以是个人数字助理(PDA)设备,其配置有ROM和/或快速ROM以便提供用于存储操作系统文件和/或用户生成数据的非易失性存储器。
图3中示出的实例以及上述实例并非旨在暗示体系结构限制。例如,除采用PDA形式外,数据处理系统300还可以是笔记本计算机或手持计算机。数据处理系统300还可以是公用信息站或Web家电。
如上所述,本发明提供了一种用于分类网站的机制。这种分类是一种支持功能,用于在工作负载特性描述、性能建模、工作负载和性能预测、容量规划等中使用。基本上,这些各种功能中的每一种功能都涉及最优化资源利用并确保有足够的资源可用于处理网站所经历的业务,以便向客户端设备给出确定的服务水平。根据本发明的网站分类可以是用于确保网站的准确建模的基本支持功能,以便用于这些其他功能中。
本发明的一个基本部分是发现网站具有业务特性的重复模式,其可以用来帮助解决工作负载特性描述、性能建模、工作负载和性能预测以及容量规划的问题。这些模式可以存在于各种不同的测量,包括点击数、字节数、页面浏览数、访问数、每次访问的点击数、每次访问的页面浏览数、每次页面浏览的秒数、每次访问的秒数等。此外,这些模式可以存在于各种时间度量,包括每月、每周、每天、每小时等。为了说明业务特性的重复模式,将考虑多个示例性商业网站的一周时间间隔内的每小时点击数。
图4A-4C是示例性商业网站在一周时间内的每小时点击的示例性示意图。在图4A-4C中所示的图中,每小时点击数的测量被用来描述一周中每一天的来自客户端设备的进入请求模式的特性。
如可以从图4A-4C看到的,大量网站展示了这样的日访问模式相对于一周中的其他各天,在星期六和星期日的请求率(包括点击和页面两者)有显著的下降。某些跨不同行业的网站通常具有明显的周末模式,如图4A和4B中的第一个图410、第三个图420、第九个图430以及第十一个图440所示,其中请求率在周末有显著的下降。其他网站(如450)具有较弱但依然很显著的周末模式,其在周末的请求率具有不太显著的下降。还有一些其他网站(如460)没有展示出任何周末模式。
对于不同时间度量,例如每天、每周、每月以及对于请求模式的其他测量,例如字节数、页面浏览数、访问数、每次访问的点击数等,类似的模式在业务数据中是普遍的。图5A-5C是对于各种测量的图4A-4C中的某些示例性商业网站的每日时间序列图的示例性示意图。从图5A-5C可以看出,在这些其他测量中存在对网站的不同程度的周末效应。某些具有周末模式的网站还展示出非常一致的周至周行为,其中请求测量值从一周到下一周没有很大改变。
简言之,根据图4A-4C和5A-5C中所示的经验数据,显然许多网站在其业务中经历了模式。除了上面的经验特性外,在网站的业务中,可以在不同时间度量处使用各种统计测量来标识和检查用户请求模式的某些最复杂的特性。这些特性包括,例如,业务变化度和峰值对均值比率,这些特性不是很明显并且只能从时间序列数据来计算。
请求时间序列的变化度的某些有用方面可以通过总体请求量的变化系数(CV,即,标准差对平均值的比率)来检查。例如,图6是不同测量(作为在示例性商业网站处遇到的这些测量的日平均值的函数)的日变化系数的示例性示意图。从图6可以看到,在某些测量(例如,日访问图610)下,不同的站点展示出完全不同的变化度但是类似的日平均值,而在某些其他测量(例如,日每次访问的页面浏览620)下,不同的站点展示出类似的变化度但不同的日平均值。
一种对请求模式中的突发性的粗略测量是某个时间间隔内的峰值请求率对平均值请求率的比率。此测量量化了相对于平均请求量的峰值请求量。图7是不同测量(作为在示例性商业网站处遇到的这些测量的日平均值的函数)的日峰值对平均值比率的示例性示意图。从图7可以观察到与图6类似的行为,即,各种测量的不同统计属性会提供完全不同的结果。
因此,虽然上面的经验和统计数据分析的结果清楚地说明了网站在其业务中经历的模式,但是大多数这些结果本身并不能容易地用作群集、分析和分类目的的基础。本发明提供了一种机制,用于利用这些业务模式来生成网站的准确模型,以便在工作负载特性描述、性能建模、工作负载和性能预测以及容量规划中使用。
本发明可以分成三个基本部分群集网站、分析网站以及描述网站特性。描述网站特性的第一个步骤是根据获得的用于这些网站的业务数据来生成网站的群集。一旦群集被标识,每个群集或类被分析以获得该类的模板。此后,随着获得网站的新业务数据,该业务数据可以被与类的已建立模板相比较,以便将网站分类到已知类的一个类中。可替代地,如果网站中的比较结果显著地不同于所有已知的类,则可以使用该网站的业务数据来生成一个新的类。此分类然后可以被用来执行诸如工作负载特性描述、性能建模、工作负载和性能预测以及容量规划之类的功能,以便最佳地优化网站的可用资源。
如上所述,本发明的操作中的第一个步骤是从多个网站获得业务数据并根据其业务数据来群集网站。群集包括选择将用于群集网站的业务数据的测量,然后为每个网站标识关于此选择的测量的业务数据的模板。然后使用群集算法(其标识了给定容许量内彼此最相似的模板的组)来群集所述模板。这些组或类是将用于执行分析和分类的网站的群集。
如上所述,用来执行群集的业务数据的特定测量必须在执行群集之前被选择。根据所使用的测量数据的子集,可以获得不同的群集结果。例如,可以根据负载/请求模式、用户导航模式、站点超文本结构等来群集网站。这些群集中的每个群集都不相同并且可以被看作彼此互不相关。与本发明一起执行的特定群集可以根据本发明的特定实现以及对本发明的用户来说最重要的测量来选择。
在本发明的一个示例性实施例中,根据负载模式来执行群集。为此,每小时点击数被用作代表性的业务数据,以便描述进入请求业务模式的特性。图8是示出了从示例性商业网站收集的、在根据此示例性实施例来群集网站中使用的一天内每小时的请求的示例性示意图。
一旦将被用来执行群集的业务数据的测量被选择,则按照此选择的测量来分析该业务数据,以便在业务数据中标识模板或典型形状。此模板本质上是选择的测量的时间序列数据值,或者是选择的测量的这些时间序列数据值的函数。
在本发明的示例性实施例中,代表发生在Web服务器上的每小时请求模式分布的加权平均值的加权平均请求模式li(h)被用作网站的模板。加权平均请求模式li(h)可以使用以下方程得到li(h)=Sd=1D(ai(d)/D)(xi(h,d))---(1)]]>其中xi(h,d)表示来自经验数据的d天的第h个小时中第i个Web服务器接收的请求数,h=0,1,...,n,并且其中权ai(d)是站点i的d天的权,以便不同天的工作负载被规范化为同一平均值。此外,根据示例性实施例,峰值负载范围(regime)被确定为群集的中心,因为它们对Web服务器性能具有更显著的影响。因此,每个加权平均请求模式由其最大值来规范化并且其峰值时间业务模式被定义如下gi(h)={li(h)/mi,li(h)/mi>0.5,{0.5,li(h)/mi
]>其中,当比较来自不同Web服务器(具有例如时差)的两种业务模式时,hd被用作所需的小时移位。此不相似测量是网站i的规范化后的加权平均请求模式与网站j的规范化后的加权平均请求模式之间的最大值差的最小值,被移位以补偿时差(如果有)。此不相似测量被用来标识彼此最相似的规范化后的加权平均请求模式,以便将所述模式群集到网站的类中。
在示例性实施例中,根据不相似测量,使用完全链接或最远相邻算法来群集规范化后的加权平均请求模式。即,在第一个步骤中,每个模式代表其自己的群集,并且这些模式之间的距离由以上的方程3中给出的不相似测量来限定。然后,具有最小距离的两个模式被链接在一起。此新的群集与其他群集(或单个模式)之间的距离由各自群集中的任何两个模式之间的最大距离来限定,即,由最远相邻来限定。结果,在随后的步骤中,所述算法继续将越来越多的模式链接在一起,并且在预定的阈值内,继续聚集越来越大的群集。
在示例性实施例中,使用在完全链接算法中的阈值,图8中所示的请求模式被群集到四个不同的类中。图9是示出了图8的网站被群集到其中的这四种不同类请求模式的各模式的示例性示意图。根据图9,可以进行以下关于各种类的观察。对于类1模式,请求业务负载在中午增加到峰值水平,然后在下午显著下降。这暗示用户对此类网站的兴趣是瞬时的,就像每天查看天气预报一样。这些网站主要在其当地是大众化的。
对于类2模式,请求业务负载在中午增加到峰值水平,并且在下午仍继续保持在高水平,但在夜晚变得非常低。这暗示用户主要在工作时间对这些网站显示出兴趣。对于类3模式,请求业务负载在稍过中午之后增加到峰值水平并且在大部分下午都保持在高水平。在夜间,用户继续显示出对这些网站的某些兴趣。
对于类4模式,请求业务负载在很长一段时间(从午前到深夜)保持在高水平。这暗示大多数用户或者在工作时间或者在他们的业余时间访问这些网站,并且用户可能分布在整个国家甚至全世界。
通过做出此类关于网站(落入这些不同类中的每个类)的特性的观察,预测以后被分类到这些类中的某个类的网站的使用是可能的。因此,根据此类预测,可以采用各种测量来处理网站预期应经历的业务。
因此,根据本发明的一个优选实施例,网站的群集包括获得多个网站的业务数据,确定用作群集基础的业务数据的测量,按照所选择的测量来标识业务数据的模式,定义业务数据的不相似或相似关系,然后根据此不相似或相似关系来使用群集算法群集网站。一旦这些群集被标识,执行分析群集以标识可以用在网站的以后分类的群集的模板。
分析包括首先确定业务简档将基于其上的度量。在一个示例性实施例中,加权平均负载li(h)被用来生成用于网站的已标识类的简档。在生成类的简档时,将标识用于类的模板,该模板被定义为与类的所有成员最相似的请求模式。
一种发现用于类的模板的方法是简单地平均类的所有成员。虽然可以执行此方法以获得用于类的模板,但是对于类的模板来说,结果通常并不是一个很好的选择,因为类的外部成员可能远离此模板但接近其他类的模板。另一个基本考虑是,为不同类所确定的模板应该彼此远离。因此,确定用于类的模板,以使其最小化类中所有成员的最大值差。
假设Gk表示属于类k的请求模式组。尽管在特征上相似,但类k内的成员(即,网站)可能实际上位于不同的时区,或包括移位行为的任何其他来源。为了定义模板,需要首先确定正确的移位偏差 以便在移位时,所有成员都具有最接近的特征。此移位偏差可以通过以下数学表达式来求出Minhid,hid,i,jcGK{max{i,jcGk}maxh[|gi(h+hidmod24)-gi(h+hjdmod24)|]}]]>...(4)即,在移位 时,类的任何两个成员之间的最大值差应被最小化。在一个示例性实施例中,特定的移位可以使用诸如以下说明的移位算法来确定。其他用于确定特定移位的算法可以在不偏离本发明的精神和范围的情况下使用。
在一个示例性实施例中,所述移位算法包括第一步骤,其中集合 是0到23之间的任意整数(可能的以小时为单位的移位)。然后,对于每个icGk,更新移位值hid以使Hid=argminhid{max{i,jcGk}maxh[|gi(h+hidmod24)-gi(h+hjdmod24)|]}]]>...(5)然后重复此步骤,直到{hid,icGk}收敛成局部最优。
因此,对于每个icGk,选择 以便在移位时,成员i接近类的所有其他成员。然后,该过程被迭代地重复,直到不能获得进一步的改善为止。
一旦最优移位偏差 被确定,类k的模板被定义为Tk(h)=1/2{max{gj(h+hjdmod24)}+min{gj′(h+hj′dmod24)}}]]>...(6)
其中,h=0,1,...,23。即,所述模板是与类的所有成员的模式最相似的模式。图10A是示出了用于使用本发明的群集和分析来生成的图9的四类请求模式的四个模板的示例性示意图。将此相同的群集和分析应用到经验数据,可以为不同的业务效果生成不同的模板,诸如周中的天,月中的周,年中的月等。例如,如图10B所示,图10B示出了周中的天的模式,其通过将本发明的群集和分析应用到图4A-4C的网站的经验数据来生成。
用于使用上述群集和分析来生成的类的模板可以被用来识别进入请求模式。首先,模板被用来识别现有的样本并被用来检查此识别的结果是否与群集一致。此后,根据所述模板,请求模式被与请求的类相匹配。根据此匹配,可以根据作为类的一部分的其他网站的特性来辨别出网站业务的某些特性。
优选地,为了执行所述分类,以上等式1和2被用来计算新收集数据的规范化后的峰值时间请求模式。此后,等式3优选地被用来计算进入请求模式数据与用于四个模板的数据之间的距离量。根据这些距离量,可以标识最接近的匹配模板,并将进入请求模式分类到相应的类中。
由于预定的模板可能没有包括所有可能的请求模式,因此新的类型的请求模式或特别的请求模式可能远离所有预定的模板,即,最小距离大于阈值量。在这种情况下,可以将新的请求模式添加为用于新的请求模式类的新模板。
通过根据本发明来群集、分析和分类网站,可以基于落入相同类的网站来标识关于网站业务的特性。此分类可以与许多不同类型的应用一起使用,包括业务预测、容量规划、热点检测、动态减载、网站共同定位等。
就业务预测而言,容量规划中的一个关键问题是工作负载行为的预测。该预测机制需要捕获长期趋势、周期性、相关性和变化度的特性。很难使用单一技术来捕获所有的这些因素。因此,更准确的方法将是使用既适合宏观又适合微观水平统计的混合技术。虽然长期趋势可以使用线性回归方法来测量,在不同度量(例如,每月、每周、每日等)的周期性可以使用本发明的群集和分析技术来处理。
本发明的群集方法能够极大地简化容量规划任务。根据本发明,不同群集(或类)的模板(或简档)可以被用来分析每个单独简档的容量需求、比例因子的影响以及用于Web服务器场、群集等中的服务器的混合简档。当新用户出现时,本发明的分类技术可以用来确定该新用户的业务所属的群集,以便必要时调整容量需求。同样地,如果某些网站由于特殊事件、网站重新设计等而引起群集的变化,则短期容量规划决策也可以被很容易地调整。
由于特殊事件,例如,电子商务网站的假日减价,某些网站可能具有很重的负载,并且因此需要某些其他操作以便实现所需的服务质量。此类操作的实例包括减载和添加新的资源。此类特殊事件代表“热点”。借助热点检测,目标是检测热点以便触发处理这些热点的合适的机制。根据本发明的分析方法,一旦观察到当前工作负载显著偏离由模板描述的典型行为,这些热点可以被检测到。
如上所述,有些时候(例如遇到热点时)需要动态减载操作以便减轻服务器过载。实现此动态减载的一种方法是参考到服务器的可减载对象(例如,镜像)创建新的(或使用不同的)版本的网页,额外的负载可以被减载到该服务器上(例如,Akamai服务器)。借助正确使用本发明的模板,可以很容易地确定阈值(超过该阈值,业务应被减载)。此外,减载方案可以在服务器饱和之前开始,以便考虑到减载方案的延迟时间。此新的阈值,即,考虑到延迟时间的阈值,可以由模板与延迟时间共同确定。
对于网站共同定位,目的是在多个网站间共享资源,以便对于任何给定的网站,可以通过从其他实体借用资源来处理峰值负载状态。此范例中的一个重要问题涉及群集网站以便资源共享。根据观察到的业务模板,可以很容易地确定不同站点的峰值范围的特征,以及不同时间和不同地理时区的不同业务的峰值和谷值。然后,可以使用最优化工具来实现多个网站之间的负载平衡以获得最平坦的可能的总体峰值负载。最优化问题可以被看作普通的装箱问题,其中物品是模板。这也可以被表述为整数规划问题。
应当注意,虽然根据请求模式描述了本发明的以上实施例,但是本发明并不限于此。相反,任何用于网站的测量数据都可以用于执行本发明的群集、分析和分类。例如,本发明可以在服务器利用数据、带宽消耗数据等数据之上运行。
图11是根据本发明的网站分类装置的示例性方块图。图11中所示的单元可以在不偏离本发明的精神和范围的情况下,以硬件、软件或硬件和软件的任何组合的方式来实现。在一个优选实施例中,网站分类装置的单元被实现为由一个或多个处理器执行的软件指令。
如图11所示,网站分类装置包括控制器1110、输入/输出接口1120、网站数据存储装置1130、群集引擎1140、分析引擎1150以及分类引擎1160。各单元1110-1160通过控制/数据信号总线1170彼此通信。
控制器1110控制网站分类装置的整体运行,并协调其他单元1120-1160的运行。控制器1110通过输入/输出接口1120接收来自网站的网站业务数据,并将此网站业务数据存储在网站数据存储装置1130中。然后,控制器1110指示群集引擎1140群集网站,对于所述网站,数据被存储在网站数据存储装置1130中。
一旦群集被执行,并且网站被指派给网站的特定类,控制器1110指示分析引擎1150生成用于每个类的模板或简档。群集和分析可以在定期的基础上执行,以便当新的网站业务数据变得可用时,更新由网站分类装置维护的群集及其相对应的模板或简档。可替代地,群集和分析可以在每次接收到来自新网站的业务数据时被更新,以便将此新网站包括在由网站分类装置维护的群集和模板中。
当接收到来自新网站的业务数据时,该业务数据被与由网站分类装置维护的各种类的模板相比较。根据此比较,可以做出关于新网站的业务数据是否适合某一个类的模板或者是否完全与所述类的所有模板不相似的判定,以便保证根据该新网站的业务数据来创建新的类和模板。根据新网站的业务数据的此分类,新网站被指派给网站的特定类或被用于生成其自己的网站类。如上所述,此分类然后可以由不同的过程使用,以便执行诸如工作负载特性描述、性能建模、工作负载和性能预测、容量规划之类的资源管理功能。
图12是描述了本发明的示例性操作的流程图。如图12所示,本发明的操作开始于接收来自多个网站的网站业务数据(方块1210)。然后,使用以上讨论的群集技术来群集网站业务数据(方块1220)。对于每个群集或类,生成模板或简档(方块1230)。
然后,操作等待来自新网站的业务数据(方块1240)。然后判定是否接收到新网站的业务数据(方块1250)。如果否,则操作返回方块1240并继续等待来自新网站的业务数据。如果接收到新网站的业务数据,则根据现有的网站类对新网站的业务数据进行分类(方块1260)。然后操作结束。
图13是描述了用于群集网站的本发明的示例性操作的流程图。如图13所示,本发明的群集操作开始于选择业务数据测量,将借助其执行群集(方块1310)。然后,确定关于所选择的业务数据测量的新网站业务数据的模板(方块1320)。然后使用群集算法来群集所述模板(方块1330)。
图14是描述了用于分析网站的本发明的示例性操作的流程图。如图14所示,操作开始于确定业务简档将基于其上的度量(方块1410)。根据此选择的度量,在类中为每个网站的业务数据生成模板(方块1420)。然后,模板被移位一移位偏差量(如果必要)以补偿诸如不同时区之类的因素(方块1430)。然后,通过选择与类中的网站的所有模板最相似的简档来生成简档(方块1440)。可以为每类网站执行此操作。
图15是描述了用于分类网站的本发明的示例性操作的流程图。如图15所示,用于分类网站的操作开始于接收新网站的业务数据(方块1510)。生成用于新网站业务数据的模板(方块1520)并将其与用于现有网站类的模板进行比较(方块1530)。判定是否标识了匹配模板(方块1540)。如果是,网站被分类到与匹配模板相关联的类中(方块1550)。如果否,使用新网站的业务数据来生成新的类,作为生成用于新的类的模板的基础(方块1560)。然后操作结束。
因此,本发明提供了根据网站业务数据来群集、分析以及分类网站的机制。根据本发明,网站之间的相似性(关于它们所经历的业务)可以被确定以便用于预测和规划在将来极有可能经历的工作负载。因此,本发明提供了一种工具,通过该工具,可以根据Web服务器上所包含的网站执行对Web服务器的资源管理。
按照上述方式进行的网站的群集、分析和分类可以被应用到资源分配以获得用于一组网站的最优化资源分配。根据本发明,一旦通过上述机制获得了一组网站中的用于网站的模板,这些模板就可以被用来确定该组中的哪些网站是共同定位的候选者,以及何时应将业务减载到其他Web服务器。共同定位和减载的这些功能可以进一步组合以获得更为最优化的资源分配,以便为访问那些网站的客户端设备提供所需的服务质量(QoS)。
就共同定位而言,目的是根据与网站关联的模板来共同定位网站,这些网站在不同时间的业务具有峰值和谷值。即,目的是具有为两个或更多网站处理业务的单个服务器(或一组服务器),其中模板彼此互补以获得相当一致的资源利用或至少在全部时间段提供所需的服务质量。
可以求解共同定位问题的若干变型。一个实例是Web服务器必须具有给定的业务容量。这是典型的情况,其中Web服务器提供者想要在所有时间点保持一定容量以处理可能经历的任何非正常业务量。
本发明通过首先为考虑共同定位的每个网站确定业务的模板来求解此类共同定位问题。此模板通过网站的业务日志来确定。此模板可以通过上述的群集、分析和/或分类机制来获得。
一旦获得了用于在考虑中的每个网站的模板,则整数规划(IP)问题被用公式表示。此整数规划问题具有决策变量(其是网站到Web服务器的分配)。整数规划问题的约束是在任何时间点上对任何服务器的容量限制。目标函数是在不同服务器的服务器容量与峰值负载之间的最小距离的任何增函数。
在整数规划问题被用公式表示之后,使用最优或近似算法来求解该问题。求解整数规划问题的标准方法和算法包括分支定界法、割平面算法、线性规划张驰法等。
例如,假设有I个网站,其必须由总共J个服务器来提供服务,每个服务器具有容量Cj,其中j=1到J。假定网站i的业务可以由模板Ti(t)来描述特性,其中i=1到I。二元决策变量是xij,其中i=1到I并且j=1到J,这样,如果站点i被分配给服务器j,则xij=1,否则xij=0。
然后,共同定位问题可以被用公式表示为以下二元整数规划问题,其中b是目标利用
min bs.t.Si=1IxijTi(t)[bCj,j=1,...,J,tm0.Sj=1Jxij=1,i=1,...,I.b[1]]>其中,xij是二元整数。
在以上方法中,目标函数也可以是另一负载平衡准则,诸如例如负载的经验方差。也可以在约束中引入某些松弛(slackness)以使峰值负载低于服务器容量一定的数量。以这种方式,请求的平均响应时间将具有上限。
共同定位问题的另一个实例是最小化Web服务器的总成本,假定不同的Web服务器具有不同的成本,并且如果向其分配至少一个网站,则引起成本。在这种情况下,共同定位问题可以按照以下方式来求解。
根据共同定位问题的先前变型,过程的第一步骤是为考虑共同定位的每个网站确定业务的模板。一旦模板被确定,整数规划问题就被用公式表示出来,其中所述决策变量再次是网站到Web服务器的分配。约束是在任何时间点上对任何服务器的容量限制。但是,目标函数是所有Web服务器(其被分配至少一个网站)的成本的和。此整数规划问题使用最优或近似算法来求解。
作为共同定位问题的此变型的一个实例,考虑上述情况,但是其中目标是最小化Web服务器的总成本,假定使用Web服务器j成本将为Pj,其中j=1到J。在此情况下,先前实例的目标函数由以下公式所取代Sj=1JPj1(Si=1Ixij>0),]]>其中如果语句a为真,则函数1(a)等于1,否则为0。因此,二元整数规划问题可以由以下公式来表示
minSj=1JPj1(Si=1Ixij>0),s.t.Sj=1JxijTi(t)[bcj,j=1,...,J,tm0.Sj=1Jxij=1,i=1,...,I.]]>其中,xij是二元整数。
以上问题的一种更简单的形式是服务器容量相同并且服务器成本也相同。在这种情况下,所述问题简化为二维装箱问题,其中箱是服务器,物品是业务模板。因此,所述问题可以按照以下方式来求解。
首先,对于所有共同定位问题,确定用于考虑共同定位的网站的模板。然后,所述装箱问题被用公式表示出来,目标是最小化所使用的箱数。此后,所述二维装箱问题使用快速或近似算法来求解。此类快速和近似算法在本领域中是公知的,并且关于此类快速和近似算法的更多信息可以在例如E.G.Coffman,Jr.等人的“Approximation Algorithms for Bin-Packing--An Updated Survey”(装箱问题的近似算法-最新研究)(计算机系统设计的算法设计,由Ausiello、Lucertini和Serafini编辑,Springer-Verlag,1984)和“Fast algorithms for Bin Packing”(用于装箱的快速算法)(DavidS.Johnson,计算机和系统科学期刊8,272-314页,1974)中找到。
因此,如图16所示,对于共同定位问题的每个变型,用于确定网站到Web服务器的分配的操作,以及因此共同定位网站开始于确定被考虑的网站的模板(方块1610)。然后,共同定位问题作为整数规划问题被表述,所述整数规划问题具有目标函数,该目标函数体现了用于网站分配的期望最优化(方块1620)。整数规划问题被用公式表示出来,以使决策变量是网站到Web服务器的分配,并且约束是在任何时间点上对任何服务器的容量限制。一旦整数规划问题被用公式表示出来,就可以使用最优化和近似算法来对其进行求解(方块1630)。如上所述,当诸如容量和成本之类的某些特性被认为对所有服务器都相同时,整数规划问题可以被简化为装箱问题。
如上所述,本发明可以进一步应用于将业务减载到其他网站。减载机制包括,当网站变得具有很重的负载并且因此需要某些额外的服务容量以便实现所需的服务质量时,将进入请求的一部分重定向到备份或其他具有较轻负载的服务器。当减载机制启用时,通过例如使用HTTP重定向响应代码301或302来使客户机的浏览器在不同的Web服务器处重试请求,或者通过将负载平衡设备(如IBM网络分派器或Cisco全局定向器)置于Web服务器之前并使用这些设备的能力来在本发明的控制下将请求在不同时间发送给不同服务器,可以重定向请求。
关键问题涉及如何主动地检测或预测此类较重的负载情况,从而在适当的时间触发减载机制。根据本发明的减载将参考图17来描述,其示出了网站的模板,还示出了根据本发明的用于减载的阈值。
对于根据本发明的减载,用于考虑中的每个网站的业务的模板以上述方式从网站的业务日志来确定。图17示出了一个这样的用于网站的模板。在一个优选实施例中,按照每单位时间的请求数来确定模板。
根据业务强度来计算第一阈值1710,在该阈值以上,业务的一部分应从主Web服务器减载以保证服务质量(QoS)标准。根据总业务的边缘分布以及可减载的业务量来确定此阈值1710。更精确地,如果h1是阈值1710,a是可减载业务的比例,E[So]和E[Sno]是每个可减载请求和不可减载请求的预期服务要求,C是考虑到的瓶颈资源的容量,b是由系统要求保证的QoS所确定的目标资源利用,然后,第一阈值1710可以由以下公式确定h1=bC/(a E[So]+(1-a)E[Sno])一旦第一阈值1710按照以上描述的方式被计算,根据从低到高的转变范围中的业务强度来计算第二阈值1720。根据从高到中间的转变范围中的业务强度来计算第三阈值1730。根据动态减载机制的反应时间以及业务的统计模式,第二阈值1720的计算考虑了提前时间以匹配阈值1710。类似地,根据动态减载机制的反应时间以及业务的统计模式,第三阈值1730的计算考虑了延迟时间。因此,第二阈值1720可以通过从阈值1710减去提前时间来计算,而第三阈值1730可以通过给阈值1710加上延迟时间来计算。
一旦确定了模板并计算了阈值,将检测从低到高范围以及从高到中间范围的联机转变。可以使用多种统计技术来执行所述检测。一种此类技术是变更点检测,其包括计算进入业务的边缘分布。使用此技术,将检测该边缘分布的偏差。关于变更点检测的更多信息可在例如Carlstein等人的“Change-Point Problem”(变更点问题)(IMS讲稿-系列专著,23卷,1994)中找到。一种检测转变的更简单的方法是计算业务强度的滑动平均。此滑动平均可以以非常粗略的时间度量(分钟或数十分钟的量级)进行。例如,计算滑动平均的一种方法是计算先前估计值和多个最近观察值的加权和。例如Estimatenew=c1T(t)+...+ckT{t-k+1)+(1-c1-...-ck)Estimateadd其中c1...ck是非负权。要求c1+...+ck[1。
使用以上方法,当业务强度超过阈值1720时启用减载机制,而当业务强度降到阈值1730以下时关闭该机制。
图18是描述了用于根据本发明来减载业务的本发明的示例性操作的流程图。如图18所示,操作开始于确定用于考虑到的每个网站的模板(方块1810)。基于总业务的边缘分布以及可减载的业务量,根据业务强度来计算第一阈值(方块1820)。然后,根据第一阈值以及减载机制的提前和延迟时间来计算第二和第三阈值(方块1830)。
此后,监视联机业务以确定是否存在从低到高范围和从高到中间范围的转变(方块1840)。判定是否检测到转变(方块1850)。如果否,则操作判定是否出现结束条件,例如,减载被禁用(方块1860)。如果是,则操作结束。否则,操作返回方块1840并继续监视转变。
如果检测到转变,判定其是否为从低到高的转变(方块1870)。如果是,则启用业务减载机制,并且将业务减载到另一服务器(方块1880)。如果转变不是从低到高,则转变是从高到中间的转变,并且减载机制被禁用(方块1890)。
因此,如上所述,根据网站业务日志来群集、分析以及分类网站以便由此生成用于网站业务的模板的本发明可以被应用到诸如共同定位和减载之类的资源分配机制。如上所述,本发明可以被进一步应用到共同定位和减载的组合。共同定位和减载的组合问题通常将在这样的情况中出现Web服务器包含若干网站,并且当服务器的负载超过其容量时,服务器必须将可减载业务减载到其他Web服务器。对于此类情况,本发明可以以下面的方式实现,以便执行共同定位的网站的减载。
对于所有先前的机制,用于在考虑中的每个网站的模板必须被首先确定。然后用公式表达数学规划问题,其中决策变量是从网站到Web服务器的部分业务的分配。约束是在任何时间点对任何服务器的容量限制。目标函数是所有Web服务器(其被分配至少一个网站)的成本的和。
作为一个实例,假设与先前共同定位问题中描述的情况类似的情况。注意决策变量xij不再需要是二元整数。相反,xij表示来自可以被分配给服务器j的网站i的业务部分,其中i=1到I并且j=1到J。因此,0<=xij<=1,并且数学规划问题用如下公式表示minSj=1JPj1(Si=1Ixij>0).s.t.Si=1IxijTi(t)[bCj,j=1,...,J,tm0.Sj=1Jxij=1,i=1,...,I0<=xij<=1,i=1,...,i,and,j=1,...,J.]]>数学规划问题一旦以公式表示,就可以使用最优化或近似算法来求解。数学规划问题具有线性约束,并且如果服务器成本被假设为与其利用成比例,则其变为线性规划问题。
对于每个网站,一个Web服务器被指定为其主服务器,业务的某些部分被分配给所述主服务器。分配给主服务器的业务部分还将被称为网站在其主服务器处的阈值1。
对于每个网站,根据从低到高的转变范围中的业务强度来计算阈值2,并且根据从高到中间的转变范围中的业务强度来计算阈值3。这些阈值考虑到了减载机制所需的提前和延迟时间。这些提前和延迟时间是动态减载机制、业务的统计模式以及网站在主服务器处的容量份额(在使用该服务器作为主服务器的所有其他网站之间)的反应时间的组合。
对于每个网站,从低到高范围和从高到低范围的联机转变都被检测。如先前所讨论的,所述检测可以使用诸如基于边缘分布或滑动平均技术的变更点检测之类的多种统计技术来完成。
对于每个网站,当业务强度超过阈值2时启用减载机制,或当业务强度降到阈值3以下时关闭减载机制。业务被减载到其的目的地以及发送到这些目的地的业务部分由先前求解的线性规划问题的解来限定。
图19是描述了用于共同定位与减载的组合的本发明的示例性操作的流程图。如图19所示,操作开始于确定用于在考虑中的每个网站的模板(方块1910)。然后,数学规划问题被用公式表示出来,其中决策变量是从网站到Web服务器的业务部分的分配(方块1920)。此数学规划问题的约束是在任何时间点对任何服务器的容量限制。目标函数是所有Web服务器(其被分配至少一个网站)的成本的和。
数学规划问题一旦被用公式表示出来,就可以使用最优化或近似算法来求解(方块1930)。然后,对于每个网站,一个Web服务器被指定为其主服务器,业务的某些部分被分配给所述主服务器(方块1940),并且网站的阈值1被定义为分配给其主服务器的该网站的业务部分(方块1950)。
对于每个网站,根据从低到高的转变范围中的业务强度来计算阈值2,并且根据从高到中间的转变范围中的业务强度来计算阈值3(方块1960)。这些阈值考虑到了减载机制所需的提前和延迟时间。对于每个网站,检测从低到高范围和从高到低范围的联机转变(方块1970)。当业务强度超过阈值2时启用减载机制,或当业务强度降到阈值3以下时关闭减载机制(方块1980)。
图20是资源分配确定系统的方块图。如图20所示,资源分配确定系统包括控制器2010、到图11的网站分类装置的接口2020、用于将资源分配消息发送到Web服务器和减载机制或从Web服务器和减载机制接收资源分配消息的输入/输出接口2030、共同定位确定装置2040以及减载启用装置2050。部件2010-2050通过控制/数据信号总线2060相互通信。
图20中所示的部件可以以硬件、软件或硬件和软件的任何组合来实现。在一个优选实施例中,部件2010-2050作为由一个或多个处理器执行的软件指令来实现。
控制器2010控制资源分配确定系统的总体运行并协调其他部件2020-2050的运行。控制器2010通过接口2030接收确定共同定位、减载或共同定位和减载的组合的请求,并指示部件2040-2050使用通过接口2020从网站分类装置获得的网站模板来确定共同定位和/或减载。部件2040和2050以先前描述的方式执行确定网站共同定位和/或减载的操作,并将结果返回到控制器2010。然后,控制器2010可以发送消息到Web服务器和/或减载机制,以便执行共同定位网站和/或将业务减载到其他Web服务器的操作。
因此,本发明提供了用于根据业务模式的模板(通过群集、分析和/或分类从网站的业务日志获得的网站业务数据来确定)来确定网站的共同定位的装置和方法。此外,本发明提供了用于根据网站的此类业务模式模板来确定将业务从一个Web服务器减载到其他Web服务器的装置和方法。借助本发明,可以执行网站的最优化共同定位和减载的动态确定以获得所需的有保证的服务质量。
重要的是注意到,虽然在完整功能的数据处理系统的情况下说明了本发明,本领域的技术人员将理解,可以以指令的计算机可读介质的形式和各种形式来发布本发明的诸过程,并且本发明均可等同地适用而与实际用于执行发布的信号承载介质的特定类型无关。计算机可读介质的实例包括可记录型介质,诸如软盘、硬盘驱动器、RAM以及CD-ROM和传输型介质,诸如数字和模拟通信链路。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。
权利要求
1.一种在计算机可读介质中用于将资源分配给多个网站的计算机程序产品,所述计算机程序产品包括第一指令,所述第一指令用于为所述多个网站中的每个网站标识业务模式;第二指令,所述第二指令用于根据所述业务模式来为所述多个网站中的每个网站标识模板;以及第三指令,所述第三指令用于根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
2.根据权利要求1的计算机程序产品,其中所述用于将资源分配给网站的第三指令包括这样的指令,所述指令用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站;以及这样的指令,所述指令用于根据是共同定位的候选者的所述两个或更多网站的标识来将资源分配给所述两个或更多网站。
3.根据权利要求1的计算机程序产品,其中所述用于将资源分配给网站的第三指令包括这样的指令,所述指令用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;这样的指令,所述指令用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及这样的指令,所述指令用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
4.根据权利要求2的计算机程序产品,其中所述用于将资源分配给网站的第三指令包括这样的指令,所述指令用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;这样的指令,所述指令用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及这样的指令,所述指令用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
5.根据权利要求3的计算机程序产品,进一步包括第四指令,所述第四指令用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否超过了所述第二阈值;以及第五指令,所述第五指令用于当所述网站的所述业务超过了所述第二阈值时,将所述业务的至少一部分减载到另一个Web服务器。
6.根据权利要求5的计算机程序产品,进一步包括第六指令,所述第六指令用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否降到所述第三阈值以下;以及第七指令,所述第七指令用于当所述网站的所述业务降到所述第三阈值以下时,禁用将业务减载到另一个Web服务器。
7.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括这样的指令,所述指令用于标识在第一组时间段具有业务峰值的第一网站;以及这样的指令,所述指令用于标识在不同于所述第一组时间段的第二组时间段具有业务峰值的第二网站。
8.根据权利要求7的计算机程序产品,其中所述第二网站在与所述第一网站具有业务峰值的时间近似相同的时间具有业务谷值。
9.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括这样的指令,所述指令用于标识所述两个或更多网站以使所述两个或更多网站位于其上的Web服务器的业务的容量保持恒定。
10.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括这样的指令,所述指令用于标识所述两个或更多网站以使所有包含所述多个网站的Web服务器的总成本被最小化。
11.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括这样的指令,所述指令用于以公式表示整数规划问题,所述整数规划问题具有决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所述多个Web服务器中的不同Web服务器的服务器容量与峰值负载之间的最小距离的增函数。
12.根据权利要求2的计算机程序产品,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的指令包括这样的指令,所述指令用于以公式表示整数规划问题,所述整数规划问题具有决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所有被分配至少一个网站的Web服务器的成本的和。
13.一种将资源分配给多个网站的方法,所述方法包括为所述多个网站中的每个网站标识业务模式;根据所述业务模式来为所述多个网站中的每个网站标识模板;以及根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
14.根据权利要求13的方法,其中将资源分配给网站包括根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站;以及根据是共同定位的候选者的所述两个或更多网站的标识来将资源分配给所述两个或更多网站。
15.根据权利要求13的方法,其中将资源分配给网站包括根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
16.根据权利要求14的方法,其中将资源分配给网站包括根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
17.根据权利要求15的方法,进一步包括在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否超过了所述第二阈值;以及当所述网站的所述业务超过了所述第二阈值时,将所述业务的至少一部分减载到另一个Web服务器。
18.根据权利要求17的方法,进一步包括在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否降到所述第三阈值以下;以及当所述网站的所述业务降到所述第三阈值以下时,禁用将业务减载到另一个Web服务器。
19.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括标识在第一组时间段具有业务峰值的第一网站;以及标识在不同于所述第一组时间段的第二组时间段具有业务峰值的第二网站。
20.根据权利要求19的方法,其中所述第二网站在与所述第一网站具有业务峰值的时间近似相同的时间具有业务谷值。
21.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括标识所述两个或更多网站以使所述两个或更多网站位于其上的Web服务器的业务的容量保持恒定。
22.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括标识所述两个或更多网站以使所有包含所述多个网站的Web服务器的总成本被最小化。
23.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括以公式表示整数规划问题,所述整数规划问题具有决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所述多个Web服务器中的不同Web服务器的服务器容量与峰值负载之间的最小距离的增函数。
24.根据权利要求14的方法,其中根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站包括以公式表示整数规划问题,所述整数规划问题具有决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所有被分配至少一个网站的Web服务器的成本的和。
25.一种用于将资源分配给多个网站的装置,所述装置包括这样的装置,所述装置用于为所述多个网站中的每个网站标识业务模式;这样的装置,所述装置用于根据所述业务模式来为所述多个网站中的每个网站标识模板;以及这样的装置,所述装置用于根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
26.根据权利要求25的装置,其中所述用于将资源分配给网站的装置包括这样的装置,所述装置用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站;以及这样的装置,所述装置用于根据是共同定位的候选者的所述两个或更多网站的标识来将资源分配给所述两个或更多网站。
27.根据权利要求25的装置,其中所述用于将资源分配给网站的装置包括这样的装置,所述装置用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;这样的装置,所述装置用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及这样的装置,所述装置用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
28.根据权利要求26的装置,其中所述用于将资源分配给网站的装置包括这样的装置,所述装置用于根据网站的所述模板为所述多个网站中的每个网站计算第一阈值;这样的装置,所述装置用于根据所述第一阈值来计算第二阈值,其中当网站的业务强度达到或超过所述第二阈值时,减载业务被启用;以及这样的装置,所述装置用于根据所述第一阈值来计算第三阈值,其中当网站的业务强度达到或降到所述第三阈值以下时,减载业务被禁用。
29.根据权利要求27的装置,进一步包括这样的装置,所述装置用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否超过了所述第二阈值;以及这样的装置,所述装置用于当所述网站的所述业务超过了所述第二阈值时,将所述业务的至少一部分减载到另一个Web服务器。
30.根据权利要求29的装置,进一步包括这样的装置,所述装置用于在Web服务器上监视所述多个网站中的一个网站的业务以判定该业务是否降到所述第三阈值以下;以及这样的装置,所述装置用于当所述网站的所述业务降到所述第三阈值以下时,禁用将业务减载到另一个Web服务器。
31.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括这样的装置,所述装置用于标识在第一组时间段具有业务峰值的第一网站;以及这样的装置,所述装置用于标识在不同于所述第一组时间段的第二组时间段具有业务峰值的第二网站。
32.根据权利要求31的装置,其中所述第二网站在与所述第一网站具有业务峰值的时间近似相同的时间具有业务谷值。
33.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括这样的装置,所述装置用于标识所述两个或更多网站以使所述两个或更多网站位于其上的Web服务器的业务的容量保持恒定。
34.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括这样的装置,所述装置用于标识所述两个或更多网站以使所有包含所述多个网站的Web服务器的总成本被最小化。
35.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括这样的装置,所述装置用于以公式表示整数规划问题,所述整数规划问题具有决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所述多个Web服务器中的不同Web服务器的服务器容量与峰值负载之间的最小距离的增函数。
36.根据权利要求26的装置,其中所述用于根据两个或更多网站的所述模板来从所述多个网站标识是共同定位的候选者的所述两个或更多网站的装置包括这样的装置,所述装置用于以公式表示整数规划问题,所述整数规划问题具有决策变量,其是所述多个网站到多个Web服务器的分配;约束,其是在任何时间点对任何服务器的容量限制;以及目标函数,其是所有被分配至少一个网站的Web服务器的成本的和。
37.一种用于配置计算基础结构的方法,包括将计算机可读代码集成到计算系统中,其中所述代码结合所述计算系统能够执行以下步骤为所述多个网站中的每个网站标识业务模式;根据所述业务模式来为所述多个网站中的每个网站标识模板;以及根据为所述多个网站中的每个网站标识的所述模板来将资源分配给所述多个网站中的网站。
全文摘要
本发明提供了用于根据模板来标识到网站的业务模式的装置和方法,所述模板描述了到达网站的业务的特性。基于这些模板,做出关于哪些网站应被共同定位以便最优化资源分配的判定。具体地说,其模板为互补的网站,即,在时间t1具有到达业务峰值的第一网站和在时间t1具有到达业务谷值的第二网站,被指定为共同定位的候选者。此外,本发明使用为网站的业务模式标识的模板来确定将业务减载到其他服务器的阈值。这些阈值包括在该处应执行减载的第一阈值、考虑到开始减载所需的提前时间的第二阈值以及考虑到停止所有将业务减载到其他服务器所需的延迟时间的第三阈值。
文档编号H04L12/24GK1736079SQ200380108306
公开日2006年2月15日 申请日期2003年11月14日 优先权日2002年12月10日
发明者D·M·迪亚斯, 刘震, M·S·斯奎兰特, 夏红辉, 余顺争, 张立, R·P·金 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1