CN102144220A - 分布式数据处理系统 - Google Patents
分布式数据处理系统 Download PDFInfo
- Publication number
- CN102144220A CN102144220A CN2009801347990A CN200980134799A CN102144220A CN 102144220 A CN102144220 A CN 102144220A CN 2009801347990 A CN2009801347990 A CN 2009801347990A CN 200980134799 A CN200980134799 A CN 200980134799A CN 102144220 A CN102144220 A CN 102144220A
- Authority
- CN
- China
- Prior art keywords
- bag
- operation bag
- computer
- request
- carry out
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种分布式数据处理系统。分布式数据处理系统,尤其是数据中心存在的问题是对于那些数据中心的低水平利用。这部分地由于数据中心提供商关心不能因为数据中心提供给客户的业务的质量下降到业务水平协议中协定的业务水平以下而被那些客户索取罚金。公开了多个实施方式,通过对执行所请求的作业包对已经在数据中心中运行的作业的可能影响进行评估来使数据中心控制该数据中心所承担的工作量,这些实施方式解决了上述问题。接着,通过在可支付给客户的罚金的预期增加与作为运行所请求的作业包的回报的预期收入之间进行权衡来做出是否提供所请求的作业包的决定。
Description
技术领域
本发明涉及分布式数据处理系统,并涉及操作分布式数据处理系统的方法。
背景技术
数据处理业务的提供商通常运营数据中心,这些数据中心经由万维网来从客户端计算机接收作业请求,并响应于那些作业请求来执行一些数据处理,这些数据中心通常将处理结果返回到进行请求的客户端计算机。
这种数据中心代表很多企业(例如,使用数据中心以依次向他们的客户提供在线购物业务的零售商)来提供数据处理服务。数据中心运营商与这种企业之间的协议通常包括预期的业务水平,并规定数据中心运营商在数据中心未能提供经协定的业务水平的情况下向企业支付罚金。
由于请求从企业的客户到达的速度以不可预测的方式显著变化,所以这是一个特殊的问题。该问题的常规解决方案是使数据中心过工程化(over-engineer),这导致数据中心在大部分时间未被充分利用。
欧洲专利申请1612674公开了根据使用信息处理系统正被请求提供的多个可用的应用程序中的哪个应用程序,可以拒绝或接受对信息处理系统的访问请求——具体地说,是否准许访问请求的决定可以取决于所关注的被请求的应用程序是否过载(overloaded)。拒绝还是接受请求的决定可以进一步取决于是哪个客户端在做出请求。
发明内容
根据本发明,提供了一种计算机网络,该计算机网络包括:客户端计算机;业务提供系统,该业务提供系统包括作业准许控制器和一个或更多个服务器计算机;以及通信链路,这些通信链路连接所述客户端计算机与业务提供系统;
所述客户端计算机被设置为进行以下操作:
i)产生代表请求所述一个或更多个服务器计算机执行一数据处理作业的多个例程的作业包(job bundle)请求消息;
ii)向所述一个或更多个服务器计算机发送所述作业包请求消息;
所述作业准许控制器被设置为进行以下操作:
i)接收所述作业包请求消息;
ii)确定所述业务提供系统是否提供所述作业包;
iii)向所述客户端计算机指示所述确定;
所述客户端计算机还被设置为进行以下操作:
iv)当得到指示所述作业包被接受的所述指示时,向所述业务提供系统发送属于所述作业包的作业请求;
所述一个或更多个服务器计算机被设置为进行以下操作:接收所述作业包中的作业请求,并且执行所述作业请求中所请求的作业。
通过将执行数据处理作业的多个请求聚合成执行一批数据处理作业的单个请求,以及通过执行包准许测试来对所述单个请求进行响应,减少了与准许控制相关联的计算量。保持了准许控制的显著益处——即,对于一个或更多个服务器计算机所承担的工作量的经增加的可预测性,进而,以更高的利用水平来运行一个或更多个服务器计算机而不导致对已经在运行的作业产生不利影响的不可接受的风险的能力。
与应用于单独的作业的准许控制相比的优点在于用户知道一旦接受了作业包,就执行该作业包中的各个作业。在准许控制被应用于单独的作业的情况下,用户无法知道哪些作业将被执行以及哪些作业将不被执行。
应当注意,多个作业彼此独立(它们是独立的任务),换言之,一个数据处理作业的输出不用作向另一个数据处理作业的输入。
附图说明
现在将参照附图仅以示例的方式来描述本发明的具体实施方式,附图中:
图1示出第一实施方式中使用的计算机网络;
图2示出由控制器计算机针对各种作业类型而存储的作业类型表;
图3示出从企业网络向数据中心发送的作业包请求消息中包含的信息;
图4示出从企业网络向数据中心发送的后续作业提交消息;
图5示出由控制器计算机针对各个经准许的作业包而维护的作业包汇总表;
图6示出由控制器计算机针对各个经准许的作业包而维护的作业包性能表;
图7是示出数据中心的操作的功能框图的图示;
图8是例示在第一实施方式中,响应于来自企业网络的作业包请求消息的到达,由数据中心的控制器计算机执行的处理的流程图;
图9是例示响应于来自企业网络的作业提交消息的接收,由控制器计算机执行的处理的流程图;
图10是例示响应于来自作业处理器的作业完成消息的接收,由控制器计算机执行的处理的流程图;以及
图11是例示在第二实施方式中,响应于来自企业网络的作业包请求消息的到达,由数据中心的控制器计算机执行的处理的流程图。
具体实施方式
图1示出包括经由互联网20连接到数据中心30的企业网络10的计算机网络。
企业网络10包括经由局域网14连接到代理计算机16的大量个人计算机12(仅示出四个)。各个人计算机包括常规硬件,具体地说,各个人计算机包括:硬盘,其用于存储程序;处理器,该处理器的动作被这些程序控制;随机存取存储器,处理器从该随机存取存储器获取控制该处理器的动作的程序;显示器和用于控制该显示器的显卡;网络接口卡,其使得计算机能够向网络发送消息(并且从网络接收消息);以及一个或更多个通信总线,其提供所提到的各个硬件之间的电子数字通信。硬盘上还存在操作系统程序和其它实用程序。
为了该例示性的示例实施方式的目的,假设拥有企业网络10的企业是以信贷(credit)的方式为其零售客户提供电信业务的零售电信业务公司。因此,该公司在为那些客户提供电信业务之前对预期的客户执行信用检查。
因而,各个人计算机都配置有从CD-ROM或DVD-ROM 50安装到计算机硬盘上的信用检查客户端程序。可以执行该信用检查客户端程序,以经由利用计算机的显示器提供的图形用户界面来从客户业务代理商提取潜在客户的详细资料,以及以消息的形式将那些详细资料转发到代理计算机16。
代理计算机也具有常规硬件和软件。此外,信用检查代理程序从CD-ROM或DVD-ROM 54安装到计算机的硬盘上。该信用检查代理程序控制代理计算机16从个人计算机12接收信用检查请求,并且通过互联网20将这些信用检查请求转发到数据中心30。当接收到对于信用检查的响应时,代理计算机16将该响应传送到发出相应的信用检查请求的任何一个个人计算机12。在该程序的控制下,代理计算机还保存企业在一天中的每个小时内做出的信用检查请求的数量的记录。由此,代理计算机计算并且存储一天中的每个小时内可能的信用检查的数量的估计值。在信用检查代理程序的控制下,代理计算机16每小时都做出向数据中心30提交的信用检查的估计数量的请求。如果该请求被接受,则代理计算机16向数据中心30转发代理计算机16在随后的小时中接收到的信用检查。
数据中心30包括经由局域网34连接到控制器计算机32的大量服务器计算机36。诸如RAID阵列38的大型持久性存储器也连接到该局域网。本领域技术人员将知道服务器计算机36通常采用被插入到为服务器计算机提供共享存储器和电力设备的机架中的刀片(blade)或板的形式。各个服务器计算机包括:一个或更多个处理器,其动作由程序(经常从资源库38加载)控制;随机存取存储器,处理器从该随机存取存储器获取控制该处理器的动作的程序;网络接口卡,其使得计算机能够向网络发送消息以及从网络接收消息;以及一个或更多个通信总线,其提供所提到的各个硬件之间的电子数字通信。
服务器计算机能够执行多种不同的作业类型。合适的应用程序从CD-ROM或DVD-ROM 56加载到控制器计算机32上,接着,控制器计算机32在资源库38中存储那些程序。数据中心管理软件也(从CD-ROM或DVD-ROM 58)加载到控制器计算机32上,该数据中心管理软件使得数据中心管理员能够管理哪些应用程序可以在哪些服务器上使用。在本示例中,服务器计算机36的数据中心管理软件自动将服务器计算机36设置成池(pool)——任意给定池中的各个服务器运行应用程序以提供给定的作业类型。数据中心管理软件提供使其它程序能够将服务器计算机36重新分配到不同池的接口。
作业包管理程序也(从CD-ROM或DVD-ROM 60)加载到控制器计算机32,该作业包管理程序响应于运行作业包的请求,并且随后监测并记录数据中心在运行任何所接受的作业包时的性能。
数据中心向企业网络提供多个不同的应用程序。各应用程序提供一种作业类型。图2示出具有与数据中心提供的N个作业类型相对应的N行的作业类型表。该作业类型表的最左列是作业类型标识符。该示例专注的作业类型(信用检查)是作业类型1。当然存在大量可能的作业类型,其它可能性包括例如目录查询业务、邮编/地址业务或货币兑换业务。
对于作业类型表中列出的各个所提供的作业类型,数据中心提供业务水平协议。在当前实际使用的业务水平协议主要涉及业务(即,作业类型)的可用性时,在本示例中,数据中心执行各种类型的作业时的性能被监测并且该性能形成业务水平协议的一部分。由控制器计算机32针对各个所提交的作业所监测的性能参数是控制器计算机32接收作业提交消息和多个服务器计算机36中的一个开始执行该作业之间的等待时间。如将在下面更详细地描述的,在本示例中,企业网络10将多个作业请求打包成一个作业包请求。本示例中使用的性能参数相应地是作业包中所包括的所有作业的等待时间的平均值。通过数据中心30提供性能参数的不会被违反的阈值水平,并且该阈值水平形成数据中心30与其客户之间的业务水平协议的一部分。因而,在本示例中,在作业类型表的第四列中记录不应当被超过的平均等待时间。作为业务水平协议的一部分,数据中心30同意将一笔钱(罚金)提供给提交了针对给定作业类型的请求包、使该请求包被数据中心接受、并随后发现平均等待时间超过了作业类型表的第四列中记录的水平的客户。该罚金的量存储在作业类型表的第三列中。客户针对所执行的各种作业类型的各作业可支付的费用被记录在作业类型表的第二列中。
在任意给定时间有效的各种作业类型(即,被准许但却尚未完成的)包的数量的计数也被记录在作业类型表中(第五列)。将在下面更详细地说明该计数的目的。
图3示出由企业网络10中的代理计算机16向数据中心30中的控制器计算机32发送的作业包请求消息。该作业包请求指定了将构成该作业包的作业的类型(第一行)、要包括在该作业包中的那种类型的作业的例程的数量(第三行)、以及企业网络估计作业包内的作业提交将到达数据中心30的平均速度。
图4示出由代理计算机16针对经准许的作业包中的各个作业所发送的作业提交消息的格式。该作业提交消息包括:由控制器计算机32分配给作业包的作业包标识符(第一行);由代理计算机16分配给作业的作业标识符(第二行);作业类型的标识(第三行);以及为了执行作业,在数据中心30上运行的相关应用程序所需要的参数(第四行)。作为示例,在信用检查应用程序中,作业参数可以是个人全名和地址。
图5示出由控制器计算机32针对被控制器计算机32准许的各作业包所维护的作业包表。各作业包表包括唯一的作业包标识符(第一行)、作业包中的作业的类型(第二行)、针对该作业包的作业提交速度(第三行-其将与作业包请求(图3)的第二行中的数字相匹配)、作业包中作业的数量(第四行-其将与作业包请求的第三行中的数字相匹配)、针对该作业包测得的平均等待时间(第五行)、针对该作业包测得的平均业务时间(第六行)、针对该作业包测得的等待时间的变化(第七行)、针对该作业包测得的业务时间的变化(第八行)、作业包状态(即,当前是否正在处理作业包或者作业包内的所有作业现在是否已经得到处理)(第九行)以及实际收入(第十行),实际收入是企业为执行该作业包对数据中心30的欠款。
图6示出控制器计算机针对各个经准许的作业包所维护的作业包性能日志。该作业包性能日志表中的各记录的条目包括作业ID(从作业提交消息的第二行复制的)、作业到达时间(到达控制器计算机32)、作业开始时间和作业完成时间(由服务器36向控制器计算机32报告各作业开始时间和作业完成时间)、作业等待时间(从作业到达时间到作业开始时间的延迟)以及作业业务时间(作业完成时间与作业开始时间之间的差异)。
图7示出图1的计算机网络,但是示出了在该计算机网络上运行的软件的功能组件。由控制器计算机32接收作业包请求(图3)和作业提交(图4),该控制器计算机32将请求设置在输入队列70中,通过消息处理组件71使请求从该输入队列70出列,并且对该请求进行处理。将进入的消息传送到分配器72,该分配器72将作业包请求(图2)转发到对准许控制模块76进行馈送的第二队列74。服务器36被组织为多个池100,各个池专用于运行特定类型的作业(在图7所示的示例中,池100专用于运行类型1的作业,而池102专用于运行类型m的作业)。分配器72将进入的作业提交(图4)转发到专用于处理在作业包请求(图3)中发现的类型的作业提交的作业处理器80、90。各作业处理器包括按照预定顺序向第三队列86、96呈现进入的作业提交的调度器84、94。在本示例中,调度器简单地按照与作业提交从分配器72到达的相同的顺序转发这些作业提交(图4)。分配器72还负责向代理计算机16转发回运行作业的结果。
现在将参照图8描述由准许控制模块76和资源分配模块78在使作业包请求(图3)从队列74出列时所执行的处理。
在从队列74取得(步骤110)作业包请求消息(图3)时,资源分配器78计算(步骤112)在作业包请求被数据中心30接受的情况下怎样将服务器36分配至专用于不同的作业类型的池100、102。
与各作业类型的所提供的工作量(利用代表作业类型的经济重要性的因子进行了加权)成比例地计算假定的服务器分配。可以通过将作业包中的作业的到达速度(图5,第三行)乘以针对该作业包测得的平均业务时间(图5,第六行)来计算各个正在进行中的作业包的所提供的工作量。接着,通过将一作业类型的各个正在进行中的作业包的所提供的作业量相加可以得到针对该作业类型的所提供的工作量。例如,可以通过将违反该作业类型的业务水平的罚金(图2,第三列)除以该作业类型的每作业的费用(图2,第二列)来计算权重因子。
接着,假定的服务器分配用于计算各种类型的作业的可能的平均等待时间(βi)。本领域技术人员将能够提供用于根据从作业包汇总表(图5)和作业包性能日志表(图6)中得到的信息来计算可能的平均等待时间的估计值的方法。计算完各种作业类型的可能的平均等待时间的估计值之后,可以利用下式来计算平均等待时间超过针对各种作业类型所提供的业务水平的概率。
P(Wi>x)=1-Φ(x-βi/sqrt(βi/ki))
其中,ki是各作业包中的作业的数量,并且Φ(.)是标准正态分布的累积分布函数(均值为0,方差为1)。
利用给定作业类型的等待时间超过针对该作业类型所提供的等待时间的所计算概率,通过从针对作业包中的作业进行收费所得的收入中抵消数据中心30必须支付针对违反与系统中的各种作业类型相关的业务水平的罚金的概率的增大来计算(步骤114)数据中心的收入的预期变化。
接着执行测试(步骤116),以判断收入的变化是否为正。如果收入的变化不为正,则拒绝该作业包请求,接着准许控制经由分配器72和队列73向代理计算机16发送作业包未准许消息。接着,代理计算机16可以向代理计算机16的稍后可能重试该相同请求或者将该请求传送到其它数据中心的管理员报告该情况。
如果测试(步骤116)发现收入变化为正,则从CD-ROM或DVD-ROM 58(图1)安装的数据中心管理软件被用于如之前利用上述经济加权的所提供的工作量分配所计算(步骤112)的那样来在各种作业类型之间重新分配(步骤120)服务器。在本示例中,使服务器36上已经在运行的作业在进行重新分配之前完成。
接着由控制器计算机32产生(步骤122)唯一的作业包ID。接着,将作业包ID添加(步骤124)到所接受的作业包ID列表。最后,在代理计算机16上设置(步骤S126)HTTP cookie,该cookie包括作业包ID。
图9中示出计算机网络在产生和处理作业提交消息(图4)时的操作。代理计算机产生(步骤130)作业提交消息,并且在SOAP消息的报头中包含代理计算机在作业所属的作业包被接受时从控制器计算机32接收到的HTTP cookie。与该实施方式中的计算机之间的其它通信类似,根据SOAP协议对该消息进行格式化,并将该消息包含在HTTP消息中。在本示例中,作业参数可以设置在SOAP消息的主体中,因而可以被加密,使得仅服务器36能够读取SOAP主体的内容。本领域技术人员将认识到cookie提供了HTTP会话的状态,并且还作为作业包标识符。接着,代理计算机16向控制器计算机32发送(步骤131)作业提交消息。当接收到该作业提交消息时,分配器检查(步骤132)包含在该作业提交消息中的作业包ID是否被包含在所接受的作业包列表中。如果该作业包ID不被包含在该作业包列表中,则处理结束(步骤134)。
另一方面,如果在所接受的作业包列表中发现该作业包ID,则在作业包性能日志表(图6)中记录(步骤136)作业提交时间。接着,将作业提交消息传送到相关的作业处理器80、90,在该作业处理器80、90处,将该作业提交消息设置在作业队列86、96中,并且当该作业提交消息到达作业队列86、96的前面时,将该作业提交消息转发(步骤138)给相关的服务器池100、102。本领域技术人员将认识到由控制器计算机32根据作业包汇总表(图5)和作业包性能日志表(图6)中记录的测量值来针对各种作业类型估计该队列延迟。在向合适的池100、102中的服务器提交作业之后,处理结束(步骤140)。
图10示出在控制器计算机32从服务器36接收(步骤150)作业完成消息时所进行的处理。
首先,控制器计算机32在作业包性能日志表(图6)中记录作业完成时间。此后,将作业结果传送到分配器72,该分配器72经由队列73将该作业结果转发(步骤154)到代理计算机16。
接着,通过判断该作业包的作业计数现在是否等于原始的作业包请求消息(图3)中指定的作业的数量来执行作业包完成测试(步骤156)。如果来自作业包的更多作业剩余(remain),则处理结束(步骤158)。
另一方面,如果现在完成了作业包,则计算作业包中的作业的平均等待时间,并且在作业包汇总表(图5)中记录(步骤160)该作业包中的作业的平均等待时间。此后,通过将该作业包中的作业的数量乘以每作业的费用(图2,第二列)并且减去当该作业包的平均等待时间(步骤160中得到的)超过所提供的业务水平(图2,第四列)时的罚金来计算(步骤162)数据中心所得的收入。
接着,将该作业包标记为已完成,并且服务器分配模块被呼叫以在各种作业类型之间重新分配(步骤164)服务器。
上述实施方式需要对控制器计算机32所维护的等待时间、业务时间以及这些值的变化进行详细测量。在第二实施方式中,不需要这样的测量。尽管这样对系统性能具有负面影响,但是影响并不大,所以,通过第二实施方式提供的相对较低的计算需求在一些情况下是令人满意的。
在第二实施方式中,准许控制是不太动态的,因为并非每次作业包请求到达时就重新计算准许控制判定中使用的阈值。相反,仅当给定作业类型的作业包到达的速度(δi)或者给定作业类型的业务时间(bi)有明显变化时,才需要重新计算准许控制判定中使用的阈值。
第二实施方式涉及服务器分配,该服务器分配按照与各种作业类型的预期提供工作量(Φi)成比例的方式在各种作业种类之间分配服务器。控制器计算机32通过将作业类型i的作业包到达速度(δi)乘以作业类型i的平均作业到达速度(γi)和作业类型i的作业包中的作业数量(ki)来计算(步骤170)各种作业类型的预期提供工作量(在第二实施方式中,假设给定类型的所有作业包具有相同的平均作业到达速度,并且给定类型的所有作业包中的作业数量相同)。接着,控制器计算机32呼叫数据中心管理软件中的模块,以根据前一步骤(170)中计算的服务器分配来为各种作业类型重新分配(步骤171)服务器。
本领域技术人员熟悉爱尔兰B(Erlang-B)公式,该爱尔兰B公式提供了呼叫被配置有给定数量的干线并处理给定业务量强度的电话网络拒绝的概率。本发明人已经认识到该爱尔兰B公式可以用于得到当多个服务器被分配给给定作业种类的作业时该给定作业类型的作业包请求被拒绝的概率。对于各种作业类型,使步骤170中计算得到的服务器分配Mi等同于干线数量,并且使值σi=δiki/γi等同于业务量强度。接着,计算在给出服务器分配Mi的情况下,各种可能的作业包数量有效的可能性。接着,计算在向作业类型i分配Mi个服务器时对于作业类型i所能获得的预期收入。接着,得到(步骤172)使数据中心的收入最大化的阈值Mi的设置。
当接收到(步骤174)作业包请求时,控制器计算机32则利用各种作业类型的有效作业包计数(图2,第五列)来判断(步骤176)准许新请求的作业包是否将导致超过该作业类型的作业包的阈值数量(Mi)(步骤170中计算的)。如果该阈值将被超过,则控制器计算机32向代理计算机16发送(步骤178)作业包拒绝消息。然而,如果准许该作业包不会导致阈值被超过,则如与第一实施方式相关地描述的那样(图8),控制器计算机产生(步骤182)作业包ID,在所接受的作业包列表中存储(步骤184)作业包ID,并且发送(步骤186)作业包接受消息。
将看到与先前通过接受被判断为不可能导致违反与当前所执行的工作请求相关的业务水平协议的新工作请求所实现的情况相比,上述实施方式如何使数据中心能够具有更高的利用率。更广泛地说,如果作业包准许控制器(在本示例中为控制器计算机32)估计执行所请求的作业包将不会导致服务器在执行所述作业时的性能下降至可接受的水平以下,则该作业包准许控制器准许该新的作业包请求。更广泛地说,如果作业包准许控制器估计执行所请求的作业包将不会使服务器过载,则该作业包准许控制器准许新的作业包请求。而且,与关于所接收到的每个工作请求执行准许控制相比,通过将工作请求捆绑在一起,降低了与在数据处理系统中使用准许控制相关联的计算量。
在另选的实施方式中,可以对上述实施方式做出以下变型:
i)不是使服务器计算机产生唯一的作业包标识符,而是客户端计算机能够产生唯一的作业包标识符并且将该作业包标识符包含在业务包请求中。例如,作业包标识符可以是与客户端从一个作业包请求至下一个作业包请求递增的作业包请求号码(该号码可以在预定数量的作业包请求之后循环回到1)相连结的客户端计算机的MAC地址。另选地,可以迫使客户端计算机(通过代码和/或通过商业协议)遵循作业包中包含所有独立业务请求的连续流的作业包请求。接着,网络地址(例如,作业包请求消息中包含的IP地址)将用于识别属于该特定作业包的随后的业务请求。
ii)尽管上述实施方式中各个业务请求被检查,以查明其是否属于经准许的作业包,但是在其它实施方式中,可以迫使(通过代码和/或通过商业协议)客户端计算机不发送业务请求,除非它们之前已经接收到该业务请求所属的业务包之前已被准许的指示。
iii)在上述实施方式中,该业务涉及服务器计算机从多个源检索数据,对该数据执行一些处理,以及向客户端发送该处理的结果。但是,该业务可能例如涉及执行一些处理并且发送响应(例如,地址到邮编转换业务),或者该业务可以简单地涉及数据的存储(例如,数字文件存储设备)。
iv)在上述实施方式中,由控制器计算机32针对各种类型的作业来存储一个业务水平协议。在其它实施方式中,业务水平协议可以根据相同类型作业的不同作业包而变化。
v)尽管上述实施方式中各作业包作为作业包请求的一部分宣告了各作业包的作业到达速度和作业数量,但是也可以针对给定类型的作业固定那些数字。
vi)尽管上述实施方式中,数据中心的企业客户具有大量个人计算机,所有的个人计算机经由代理计算机16与数据中心进行通信,但是应当理解,这些个人计算机可能仅仅是属于企业的客户、经由互联网与数据中心30进行通信以获得企业的服务的计算机。这将例如是由数据中心提供的业务是在线零售网站的情况。
vii)尽管上述示例描述了数据中心提供数据处理服务,但是也可以使用其它形式的业务提供系统。例如,一组不同用户的个人计算机可以向其它个人计算机提供它们的数据处理能力。
viii)上述实施方式不支持提供给定作业类型的不同等级的业务。可以通过修改作业包请求消息(图3)以包括业务等级指示(例如,“金”、“银”或“铜”)来在其它实施方式中实现提供给定作业类型的不同等级的业务。于是,作业类型表可以包括针对不同业务等级的不同的平均等待时间值以及可能的不同的费用和罚金。但是,这并不必须针对不同等级的业务使用不同的作业处理器。相反,各作业处理器中的调度器84、94可以将进入的作业请求分成基于等级的队列,并且用加权轮询法(weighted round robin method)来处理队列(例如,重复地从金队列取得三个作业请求,接着从银队列取得两个作业请求,然后从铜队列取得一个作业请求)。
ix)在上述实施方式中,服务器计算机通过发送作业包请求消息来向客户端计算机指示作业包被接受。但是,也可以通过不发送指示执行作业包的请求未被接受的消息来指示作业包被接受。
x)尽管上述实施方式考虑作业包中的作业的平均到达速度,但是也可以使用指示作业的平均到达速度的其它度量。例如,可以使用作业包中的作业之间的平均到达间隔(inter-arrival)时间。
xi)尽管上述实施方式中,在不同的计算机上对执行所请求的作业的(多个)计算机执行作业包准许控制的功能,但是,在其它实施方式中,也可以通过在被设置为执行所请求的作业的(多个)计算机中的一个计算机上运行的处理来执行所述作业包准许控制。
综上所述,公开了一种分布式数据处理系统。该分布式数据处理系统(尤其是数据中心)存在的问题是对于那些数据中心的低利用水平。这部分地由于数据中心提供商关心不能因为数据中心提供给客户的业务的质量下降到业务水平协议中协定的业务水平以下而被那些客户索取罚金。公开了多个实施方式,通过对执行所请求的作业包对已经在数据中心中运行的作业的可能影响进行评估来使数据中心控制该数据中心所承担的工作量,这些实施方式解决了上述问题。接着,通过在可支付给客户的罚金的预期增加与作为运行所请求的作业包的回报的预期收入之间进行权衡来做出是否提供所请求的作业包的决定。
Claims (15)
1.一种计算机网络,该计算机网络包括:客户端计算机;业务提供系统,该业务提供系统包括作业准许控制器和一个或更多个服务器计算机;以及通信链路,这些通信链路连接所述客户端计算机和业务提供系统;
所述客户端计算机被设置为进行以下操作:
i)产生代表请求所述一个或更多个服务器计算机执行一数据处理作业的多个例程的作业包请求消息;
ii)向所述一个或更多个服务器计算机发送所述作业包请求消息;
所述作业准许控制器被设置为进行以下操作:
i)接收所述作业包请求消息;
ii)估计准许所述作业包是否将使所述业务提供系统过载;
iii)根据所述估计,确定所述业务提供系统是否提供所述作业包;
iv)向所述客户端计算机指示所述确定;
所述客户端计算机还被设置为进行以下操作:
v)当得到指示所述作业包被准许的所述指示时,向所述业务提供系统发送属于所述作业包的作业请求;
所述一个或更多个服务器计算机被设置为进行以下操作:接收所述作业包中的作业请求,并执行该作业请求中所请求的作业。
2.根据权利要求1所述的计算机网络,其中,所述作业包请求消息包括指示所述作业包中的作业的预测平均到达速度的度量。
3.根据权利要求1所述的计算机网络,其中,所述作业准许控制器还被设置为进行以下操作:监测指示给定类型的作业的当前平均到达速度以及给定类型的作业的当前平均业务时间的度量;以及根据所述度量来得到所述给定类型的作业施加在所述业务提供系统上的当前工作量的估计。
4.根据权利要求3所述的计算机网络,其中,所述估计涉及以下步骤:所述作业准许控制器在确定是否执行所请求的作业包时计算将以比阈值性能水平差的质量执行所述类型的作业的概率。
5.根据权利要求4所述的计算机网络,其中,所述一个或更多个服务器计算机还被设置为进行以下操作:监测给定类型的作业的到达间隔时间的变化和给定类型的作业的业务时间的变化,这些变化在计算将以比阈值性能水平差的质量执行所请求的作业包的概率时也被考虑。
6.根据权利要求1所述的计算机网络,其中,所述一个或更多个服务器计算机执行多种不同的作业类型,并且所述确定涉及以下步骤:假设所请求的作业包被准许,针对作业类型计算服务器计算机的分配,并且其后,计算以比阈值性能水平差的质量执行所请求的作业包的概率。
7.根据权利要求4或权利要求5所述的计算机网络,其中,所述作业准许控制器与存储器进行通信,该存储器存储与以比阈值性能水平差的质量执行所请求的作业包相关联的罚金,以及与以比所述阈值性能水平好的质量执行所请求的作业包相关联的奖金,所述作业准许控制器根据在给定所述存储的惩罚和奖励以及所述质量超过所述阈值的概率和/或所述质量下降到所述阈值以下的概率时由所述作业包得到的预期收入来确定是否执行所述作业包。
8.根据权利要求6所述的计算机网络,其中,所述作业准许控制器与存储器进行通信,该存储器针对各种作业类型存储阈值性能水平、与以比所述阈值性能水平差的质量执行所请求的作业包相关联的罚金、以及与以比所述阈值性能水平好的质量执行所请求的作业包相关联的奖金,所述作业准许控制器根据在给定所述存储的惩罚和奖励以及所述质量超过所述阈值的概率和/或所述质量下降到所述阈值以下的概率时由所述作业包得到的预期收入并根据所述一个或更多个服务器计算机已经开始执行的作业包的预期收入来确定是否执行所述作业包。
9.根据权利要求1所述的计算机网络,其中,所述业务提供系统被设置为进行以下操作:通过查明所述作业请求是否属于经准许的作业包来对所述作业请求进行响应;以及在发现所述业务请求属于经准许的作业包时,满足所述作业请求。
10.根据权利要求1所述的计算机网络,其中,所述作业准许控制器通过以下步骤来指示所述确定的结果:
a)产生指示所述业务提供系统是否提供所述作业包的作业包准许指示消息;以及
iv)向所述作业包请求消息的发送者发送所述作业包准许消息;
所述客户端计算机通过读取所述作业包准许消息来得知所述确定。
11.根据权利要求10所述的计算机网络,其中,所述作业包准许指示消息包括作业包标识符。
12.一种数据处理系统,该数据处理系统被设置为进行以下操作:
i)接收表示请求所述数据处理系统执行一数据处理业务的多个例程的作业包请求消息;
ii)确定所述数据处理系统是否提供所述作业包;以及
iii)向所述作业包请求消息的发送者指示所述确定的结果。
13.一种操作数据处理系统的方法,该方法包括以下步骤:
i)接收表示请求所述数据处理系统执行一数据处理业务的多个例程的作业包请求消息;
ii)确定所述数据处理系统是否提供所述作业包;以及
iii)向所述作业包请求消息的发送者指示所述确定的结果。
14.一种可执行的计算机程序,该计算机程序执行权利要求13所述的方法。
15.一种计算机可读介质,该计算机可读介质上存储有权利要求14所述的计算机程序。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08252968A EP2166451A1 (en) | 2008-09-08 | 2008-09-08 | Distributed data processing system |
EP08252968.6 | 2008-09-08 | ||
GB0816476.6 | 2008-09-09 | ||
GB0816476A GB0816476D0 (en) | 2008-09-09 | 2008-09-09 | Distributed data processing system |
PCT/GB2009/002067 WO2010026362A1 (en) | 2008-09-08 | 2009-08-24 | Distributed data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102144220A true CN102144220A (zh) | 2011-08-03 |
CN102144220B CN102144220B (zh) | 2015-01-07 |
Family
ID=41478578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980134799.0A Active CN102144220B (zh) | 2008-09-08 | 2009-08-24 | 分布式数据处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9015227B2 (zh) |
EP (1) | EP2335154B1 (zh) |
CN (1) | CN102144220B (zh) |
WO (1) | WO2010026362A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103378997A (zh) * | 2012-04-26 | 2013-10-30 | 中兴通讯股份有限公司 | 一种nfs性能监控方法、前端节点及系统 |
US11238459B2 (en) | 2020-01-07 | 2022-02-01 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event |
US11443320B2 (en) | 2020-01-07 | 2022-09-13 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event using a dashboard |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560708B2 (en) * | 2010-06-29 | 2013-10-15 | Alcatel Lucent | Method and apparatus for allocating bundles of sessions in a network element |
US8364813B2 (en) | 2010-11-02 | 2013-01-29 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8386602B2 (en) | 2010-11-02 | 2013-02-26 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system |
US8495661B2 (en) | 2010-11-02 | 2013-07-23 | International Business Machines Corporation | Relevant alert delivery with event and alert suppression in a distributed processing system |
US8621277B2 (en) | 2010-12-06 | 2013-12-31 | International Business Machines Corporation | Dynamic administration of component event reporting in a distributed processing system |
US8737231B2 (en) | 2010-12-07 | 2014-05-27 | International Business Machines Corporation | Dynamic administration of event pools for relevant event and alert analysis during event storms |
US8805999B2 (en) | 2010-12-07 | 2014-08-12 | International Business Machines Corporation | Administering event reporting rules in a distributed processing system |
US8868984B2 (en) | 2010-12-07 | 2014-10-21 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system with event listeners and alert listeners |
US8756462B2 (en) | 2011-05-24 | 2014-06-17 | International Business Machines Corporation | Configurable alert delivery for reducing the amount of alerts transmitted in a distributed processing system |
US8645757B2 (en) | 2011-05-26 | 2014-02-04 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8676883B2 (en) | 2011-05-27 | 2014-03-18 | International Business Machines Corporation | Event management in a distributed processing system |
US9213621B2 (en) | 2011-05-27 | 2015-12-15 | International Business Machines Corporation | Administering event pools for relevant event analysis in a distributed processing system |
US9244745B2 (en) * | 2011-06-16 | 2016-01-26 | Kodak Alaris Inc. | Allocating tasks by sending task-available messages requesting assistance with an image processing task from a server with a heavy task load to all other servers connected to the computer network |
US8880943B2 (en) | 2011-06-22 | 2014-11-04 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US8713366B2 (en) | 2011-06-22 | 2014-04-29 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US8392385B2 (en) | 2011-06-22 | 2013-03-05 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
US9419650B2 (en) | 2011-06-22 | 2016-08-16 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
US20130097215A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Selected Alert Delivery In A Distributed Processing System |
US20130097272A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Prioritized Alert Delivery In A Distributed Processing System |
US9178936B2 (en) | 2011-10-18 | 2015-11-03 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US8887175B2 (en) | 2011-10-18 | 2014-11-11 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US9459930B1 (en) * | 2011-10-27 | 2016-10-04 | Amazon Technologies, Inc. | Distributed complementary workload scheduling |
US8713581B2 (en) | 2011-10-27 | 2014-04-29 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US9143274B2 (en) | 2011-10-31 | 2015-09-22 | Massachusetts Institute Of Technology | Traffic backfilling via network coding in a multi-packet reception network |
US8924547B1 (en) * | 2012-06-22 | 2014-12-30 | Adtran, Inc. | Systems and methods for managing network devices based on server capacity |
US8954811B2 (en) | 2012-08-06 | 2015-02-10 | International Business Machines Corporation | Administering incident pools for incident analysis |
US8943366B2 (en) | 2012-08-09 | 2015-01-27 | International Business Machines Corporation | Administering checkpoints for incident analysis |
US9253053B2 (en) * | 2012-10-11 | 2016-02-02 | International Business Machines Corporation | Transparently enforcing policies in hadoop-style processing infrastructures |
US9361184B2 (en) | 2013-05-09 | 2016-06-07 | International Business Machines Corporation | Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system |
US9170860B2 (en) | 2013-07-26 | 2015-10-27 | International Business Machines Corporation | Parallel incident processing |
US9537787B2 (en) * | 2013-08-05 | 2017-01-03 | International Business Machines Corporation | Dynamically balancing resource requirements for clients with unpredictable loads |
US9658902B2 (en) | 2013-08-22 | 2017-05-23 | Globalfoundries Inc. | Adaptive clock throttling for event processing |
US9256482B2 (en) | 2013-08-23 | 2016-02-09 | International Business Machines Corporation | Determining whether to send an alert in a distributed processing system |
US9086968B2 (en) | 2013-09-11 | 2015-07-21 | International Business Machines Corporation | Checkpointing for delayed alert creation |
US9602337B2 (en) | 2013-09-11 | 2017-03-21 | International Business Machines Corporation | Event and alert analysis in a distributed processing system |
US9389943B2 (en) | 2014-01-07 | 2016-07-12 | International Business Machines Corporation | Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system |
US10680975B2 (en) * | 2016-12-19 | 2020-06-09 | Futurewei Technologies, Inc. | Method of dynamic resource allocation for public clouds |
US10831466B2 (en) | 2017-03-29 | 2020-11-10 | International Business Machines Corporation | Automatic patch management |
US11340941B2 (en) * | 2020-01-13 | 2022-05-24 | Target Brands, Inc. | Tool for viewing jobs managed by heterogeneous job schedulers |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3769999B2 (ja) * | 1999-09-30 | 2006-04-26 | 富士通株式会社 | サービス振り分け装置 |
US6748414B1 (en) | 1999-11-15 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for the load balancing of non-identical servers in a network environment |
WO2001071572A2 (en) * | 2000-03-22 | 2001-09-27 | Sidestep, Inc. | Method and apparatus for dynamic information connection engine |
US7646706B2 (en) | 2003-03-31 | 2010-01-12 | Alcatel-Lucent Usa Inc. | Restoration time in mesh networks |
CN1214666C (zh) | 2003-04-07 | 2005-08-10 | 华为技术有限公司 | 位置业务中限制位置信息请求流量的方法 |
JP2005062927A (ja) * | 2003-08-11 | 2005-03-10 | Hitachi Ltd | 負荷制御方法および装置並びにその処理プログラム |
US7752629B2 (en) * | 2004-05-21 | 2010-07-06 | Bea Systems Inc. | System and method for application server with overload protection |
EP1612674A3 (en) * | 2004-06-29 | 2006-01-25 | Nederlandse Organisatie voor Toegepast-Natuuurwetenschappelijk Onderzoek TNO | Method and system for admission control |
US8458467B2 (en) * | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US8266327B2 (en) * | 2005-06-21 | 2012-09-11 | Cisco Technology, Inc. | Identity brokering in a network element |
US7937703B2 (en) | 2005-09-27 | 2011-05-03 | International Business Machines Corporation | Stateless server-side automation of web service requests using dynamically generated web service interfaces |
US8135836B2 (en) * | 2005-11-30 | 2012-03-13 | Alcatel Lucent | Tie resolution in application load level balancing |
US20070180113A1 (en) * | 2006-01-31 | 2007-08-02 | Van Bemmel Jeroen | Distributing load of requests from clients over multiple servers |
JP2007249491A (ja) * | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | マルチサーバ環境においてバッチジョブを分散させるプログラム、装置、および方法 |
ATE523860T1 (de) | 2006-07-13 | 2011-09-15 | Sap Ag | Optimierung der zugriffskontrolle von arbeitsabläufen |
US7797406B2 (en) * | 2006-07-27 | 2010-09-14 | Cisco Technology, Inc. | Applying quality of service to application messages in network elements based on roles and status |
US9218213B2 (en) | 2006-10-31 | 2015-12-22 | International Business Machines Corporation | Dynamic placement of heterogeneous workloads |
US20080177872A1 (en) | 2006-11-10 | 2008-07-24 | Vengroff Darren E | Managing aggregation and sending of communications |
EP2264594B1 (en) * | 2009-06-18 | 2011-10-12 | Software AG | A broker system for a plurality of brokers, clients and servers in a heterogeneous network |
-
2009
- 2009-08-24 WO PCT/GB2009/002067 patent/WO2010026362A1/en active Application Filing
- 2009-08-24 CN CN200980134799.0A patent/CN102144220B/zh active Active
- 2009-08-24 EP EP09785002.8A patent/EP2335154B1/en active Active
- 2009-08-24 US US13/061,623 patent/US9015227B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103378997A (zh) * | 2012-04-26 | 2013-10-30 | 中兴通讯股份有限公司 | 一种nfs性能监控方法、前端节点及系统 |
CN103378997B (zh) * | 2012-04-26 | 2018-07-24 | 中兴通讯股份有限公司 | 一种nfs性能监控方法、前端节点及系统 |
US11238459B2 (en) | 2020-01-07 | 2022-02-01 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event |
US11443320B2 (en) | 2020-01-07 | 2022-09-13 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event using a dashboard |
Also Published As
Publication number | Publication date |
---|---|
CN102144220B (zh) | 2015-01-07 |
WO2010026362A1 (en) | 2010-03-11 |
US9015227B2 (en) | 2015-04-21 |
EP2335154B1 (en) | 2018-02-14 |
US20110167112A1 (en) | 2011-07-07 |
EP2335154A1 (en) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102144220B (zh) | 分布式数据处理系统 | |
CN101266557B (zh) | 在客户机-服务器或主机环境中计算作业的多目标分配 | |
US8762235B2 (en) | Apparatus, methods and computer programs for metering and accounting for services accessed over a network | |
US7664711B2 (en) | Apparatus, methods and computer programs for metering and accounting for services accessed over a network | |
US7739155B2 (en) | Automatically distributing a bid request for a grid job to multiple grid providers and analyzing responses to select a winning grid provider | |
US7562035B2 (en) | Automating responses by grid providers to bid requests indicating criteria for a grid job | |
US8396757B2 (en) | Estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms | |
US7587510B1 (en) | System and method for transferring data between a user space and a kernel space in a server associated with a distributed network environment | |
KR101865318B1 (ko) | 버스트 모드 제어 | |
US20110264790A1 (en) | Method And Apparatus For Measuring Business Transaction Performance | |
US20060112075A1 (en) | Systems and methods for business-level resource optimizations in computing utilities | |
Chen et al. | Overload control in QoS-aware web servers | |
EP2166451A1 (en) | Distributed data processing system | |
CN112925639B (zh) | 一种自适应交易限流方法、装置及系统 | |
CN117876059A (zh) | 一种在线订单管理的方法、装置、设备以及介质 | |
CN112925639A (zh) | 一种自适应交易限流方法、装置及系统 | |
Andersson | Introduction to web server modeling and control research | |
Sousa et al. | Capacity planning of EFT service hosted on elastic IaaS | |
Rabuske et al. | GetLB++: Improving Transaction Load Balancing on the Electronic Funds Transfer Landscape | |
THIßEN | Management of Efficient Service Provision in Distributed Systems | |
King | Web hosting service level agreements | |
Andersson | Introduction to web server traffic modeling and control research |
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 |