CN100524227C - 负载分配设备 - Google Patents
负载分配设备 Download PDFInfo
- Publication number
- CN100524227C CN100524227C CNB2007100981036A CN200710098103A CN100524227C CN 100524227 C CN100524227 C CN 100524227C CN B2007100981036 A CNB2007100981036 A CN B2007100981036A CN 200710098103 A CN200710098103 A CN 200710098103A CN 100524227 C CN100524227 C CN 100524227C
- Authority
- CN
- China
- Prior art keywords
- messaging device
- load
- processing
- distributing apparatus
- result
- 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
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000012544 monitoring process Methods 0.000 abstract description 24
- 230000010365 information processing Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 230000007257 malfunction Effects 0.000 description 9
- 230000001174 ascending effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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
-
- 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
-
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
根据本发明的负载分配设备针对用于把客户端所请求的处理提供给多个信息处理设备的负载分配设备。所述负载分配设备包括:负载监视装置,用于监视所述多个信息处理设备的工作状态;信息处理设备选择装置,用于根据所述多个信息处理设备的工作状态来从所述多个信息处理设备中选择将要执行所述处理的信息处理设备;接收装置,用于接收每个被选择的信息处理设备所执行的处理的处理结果;以及处理结果确定装置,用于确定所述接收装置是否已经接收到与所述接收到的处理结果具有相同内容的处理结果,并且用于在所述接收装置尚未接收到具有相同内容的处理结果时获得所述接收到的处理结果。
Description
技术领域
本发明涉及用于把信息处理分配给多个信息处理设备的负载分配设备。
背景技术
负载分配设备是用于把客户端所请求的处理分配给多个信息处理设备从而提高所述处理的效率的装置。
然而,当执行处理的信息处理设备中的至少一个发生故障时,发生故障的信息处理设备无法正确地执行分割处理(divided processing)。因此,负载分配设备必须把该分割处理重新发送给另一个信息处理设备,从而造成了分割处理被显著延迟的问题。
日本未审查的专利申请公开No.8-235133公开了一种用于分配处理负载的技术。
发明内容
根据本发明的负载分配设备的一个目的是提供一种即使当执行处理的信息处理设备发生故障时也不执行信息处理的重新发送处理的负载分配系统。
更具体的说,本发明提供了一种用于把客户端所请求的处理提供给多个信息处理设备的负载分配设备。所述负载分配设备包括:负载监视装置,用于监视所述多个信息处理设备的工作状态;信息处理设备选择装置,用于根据所述多个信息处理设备的工作状态来从所述多个信息处理设备中选择将要执行所述处理的信息处理设备;接收装置,用于接收每个被选择的信息处理设备所执行的处理的处理结果;以及处理结果确定装置,用于确定所述接收装置是否已经接收到与所述接收到的处理结果具有相同内容的处理结果,并且用于在所述接收装置尚未接收到具有相同内容的处理结果时获得所述接收到的处理结果。
根据本发明的负载分配设备把处理分配给多个信息处理设备并且使所述信息处理设备并行处理该处理,从而使得即使当信息处理设备发生故障时也可以在无需重新传输的情况下执行处理。
附图说明
图1是根据一个实施例的负载分配系统的示意图。
图2是根据本实施例的负载分配系统的示意图。
图3是根据本实施例的负载分配处理的流程图。
图4是根据本实施例的负载信息监视的流程图。
图5是根据本实施例的负载分配设备的硬件框图。
图6是根据本实施例的处理单元503的功能框图。
图7示出了根据本实施例的管理表700。
图8示出了根据本实施例的管理表800。
图9是根据本实施例的负载分配处理的流程图。
具体实施方式
本发明的具体实施方式将被描述如下。
第一实施例
<负载分配系统>
图1是根据一个实施例的负载分配系统的示意图。负载分配系统包括负载分配设备100,客户端101、102和103,以及信息处理设备104、105、106、107、108和109。负载分配设备100被连接到客户端101、102和103。负载分配设备100还被连接到信息处理设备104、105、106、107、108和109。
负载分配设备100对信息处理设备104、105、106、107、108和109的故障进行监视。负载分配设备100以预定时间间隔向信息处理设备104、105、106、107、108和109发送监视分组。信息处理设备104、105、106、107、108和109向负载分配设备100发送相对于监视分组的响应分组。因此,负载分配设备100监视响应分组是否被发送,从而监视信息处理设备104、105、106、107、108和109是否正确地工作。当负载分配设备100在预定时间内接收到响应分组时,负载分配设备100确定已经发送所述响应分组的信息处理设备正在正确地工作。在即使当预定时间已经过去负载分配设备100也未接收到响应分组时,负载分配设备100确定未发送响应分组的信息处理设备已经发生故障。
负载分配设备100还监视信息处理设备104、105、106、107、108和109的工作状态。更具体的说,负载分配设备100监视信息处理设备104、105、106、107、108和109中的每一个的负载信息。负载信息包括每个信息处理设备中包括的CPU的负载比率和指示正被信息处理设备执行的处理的数目的信息(该信息在下文中将被称为“处理计数”)。信息处理设备104、105、106、107、108和109中的每一个以预定时间间隔向负载分配设备100发出指示当时的对应负载信息的通知。在负载分配设备100中,管理表被存储在存储单元507中。在接收到负载信息之后,负载分配设备100用负载信息来覆写信息处理设备104、105、106、107、108和109的CPU负载比率和处理计数,从而更新管理表700,CPU负载比率和处理计数在管理表700中被示出。因此,负载分配设备每当接收到负载信息就更新管理表700。通过参照管理表700,负载分配设备100可以识别信息处理设备104、105、106、107、108和109的工作状态。
当从客户端101、102或103接收到处理请求的请求分组时,负载分配设备100获得对应于请求分组的处理数据。负载分配设备100把处理数据分配给用于执行处理的信息处理设备104、105、106、107、108和109以进行处理。
本实施例中的来自客户端101的单个处理被分为两个处理的情况的示例的描述被给出。虽然客户端102和103以与客户端101相同的方式发出执行处理的请求,但是其描述在下文中将被省略。客户端101把请求分组发送到负载分配设备100。负载分配设备100把对应于请求分组的处理数据分为两个分割处理1和2。负载分配设备100参照处理的大小(在下文中被称为“处理大小信息”)和被连接到负载分配设备100的信息处理设备的数目来确定与处理请求相对应的处理将被分为的处理数目。处理大小信息被包含在处理数据中。具体而言,负载分配设备100把分割表(division table)存储在存储单元507中,在分割表中分割数目根据处理大小信息被预置。负载分配设备100参照分割表来选择处理将被分为的处理数目。当多于所选择的分割数目的信息处理设备被连接到负载分配设备100时,负载分配设备100生成与所选择的分割数目相对应的分割处理。当被连接到负载分配设备100的信息处理设备的数目小于所选择的分割数目时,负载分配设备100生成与被连接到负载分配设备100的信息处理设备的数目相对应的分割处理。在本实施例中,“2”被选择作为来自分割表的处理分割的数目。被连接到负载分配设备100的信息处理设备的数目是6(即信息处理设备104到109)并且大于所选择的分割数目(即2)。因此,处理被分成两个分割处理1和2。分割处理1和2中的每一个都具有指示其是分割处理的分割头部(division header)。分割头部还指示整个分割处理中的哪个部分将被分割处理1和2执行。
图1示意性地示出了负载分配设备100向信息处理设备104、107和108发出执行分割处理1的请求。负载分配设备100向框1中示出的信息处理设备104、107和108发出执行分割处理1的请求。图2示意性地示出了负载分配设备100向信息处理设备105、107和109发出执行分割处理2的请求。负载分配设备100向框2中示出的信息处理设备105、107和109发出执行分割处理2的请求。
负载分配设备100参照管理表700作为请求确定标准。具体而言,负载分配设备100参照信息处理设备104到109的CPU负载比率(该比率在管理表700中被示出),然后向具有低CPU负载比率的信息处理设备发出执行分割处理的请求。在首先向信息处理设备104、107和108发出执行分割处理1的请求之后,负载分配设备100向信息处理设备105、107和109发出执行分割处理2的请求。指示处理重要性的重要性信息被加入到处理请求中。重要性信息指示了多少信息处理设备将被用于每个分割处理。在本实施例中,重要性信息指示了三个信息处理设备将被用于分割处理1和2中的每一个。
信息处理设备104、107和108执行分割处理1并且信息处理设备105、107和109执行分割处理2。当完成分割处理1时,信息处理设备104、107和108把作为分割处理1的处理结果的分割处理结果1发送到负载分配设备100。类似地,当完成分割处理2时,信息处理设备105、107和109把作为分割处理2的处理结果的分割处理结果2发送到负载分配设备100。
信息处理设备104、107和108对分割处理1进行处理的速度通常各不相同。因此,通常负载分配设备100从信息处理设备104、107和108接收到分割处理结果1的时刻各不相同。负载分配设备100确定从信息处理设备104、107或108接收到的分割处理结果1是否是第一次被接收到。当确定了接收到的分割处理结果1是第一次被接收到时,负载分配设备100把分割处理结果1存储在存储器506中。当确定了接收到的分割处理结果1不是第一次被接收到时,负载分配设备100丢弃该分割处理结果1。在这种情况下,在负载分配设备100中,第一次被接收到的分割处理结果1被存储在存储器506中。
类似地,负载分配设备100与信息处理设备104、107和108对分割处理1进行处理的速度通常各不相同。因此,通常负载分配设备100从信息处理设备104、107和108接收到分割处理结果1的时刻各不相同。负载分配设备100确定从信息处理设备105、107或109接收到的分割处理结果2是否是第一次被接收到。当确定了接收到的分割处理结果2是第一次被接收到时,负载分配设备100把分割处理结果2存储在存储器506中。当确定了接收到的分割处理结果2不是第一次被接收到时,负载分配设备100丢弃该分割处理结果2。在这种情况下,在负载分配设备100中,第一次被接收到的分割处理结果2被存储在存储器506中。在把分割处理结果1和分割处理结果2存储在存储器506中之后,负载分配设备100组合分割处理结果1和分割处理结果2,以生成处理结果。分割处理结果1是分割处理1的处理结果并且分割处理结果2是分割处理2的处理结果。分割处理结果1和2分别具有分割处理1和2的分割头部。通过使用这些分割头部,负载分配设备100组合分割处理结果1和分割处理结果2,以生成处理结果。
负载分配设备100把处理结果发送到客户端101。在把处理结果发送到客户端101之后,负载分配设备100删除存储在存储器中的处理结果。
客户端101、102和103中的每一个发送到负载分配设备100的请求分组都具有指示发送目的地的发送目的地IP地址。发送目的地IP地址是负载分配设备100的IP地址。客户端101、102和103中的每一个参照被加入处理请求中的发送目的地IP地址来把处理请求发送到负载分配设备100。客户端101、102和103把对应于请求分组的处理数据分成多个分割处理。负载分配设备100把将要执行分割处理的信息处理设备的IP地址指定为每个分割处理的发送目的地IP地址。在这种情况下,例如,分割处理1的发送目的地IP地址是信息处理设备104、107和108的IP地址并且分割处理2的发送目的地IP地址是信息处理设备105、107和109的IP地址。负载分配设备100参照附于每个分割处理上的IP地址然后把分割处理发送到与所述IP地址相对应的信息处理设备。在获得分割处理结果之后,信息处理设备104到109把负载分配设备100的IP地址附于分割处理结果上然后把分割处理结果发送到负载分配设备100。负载分配设备100组合分割处理结果以生成处理结果,然后把发出处理请求的客户端的IP地址加入该处理结果中。负载分配设备100随后把处理结果发送到客户端。
<负载分配设备的配置>
图5是根据本实施例的负载分配设备100的硬件框图。图6是根据本实施例的处理单元503的功能框图。负载分配设备100包括接收单元501、发送单元502、处理单元503、发送单元504、接收单元505、存储器506、以及存储单元507。
接收单元501和发送单元502被连接到客户端101、102和103。接收单元501从客户端101、102或103接收指示处理请求的请求分组。发送单元502把与从客户端101、102或103接收到的请求分组相对应的处理结果发送到发送请求分组的客户端101、102或103。接收单元501把从客户端101、102或103接收到的请求分组发送到处理单元503。接收单元501还接收与从客户端101、102或103接收到的请求分组相对应的处理数据并把这些处理数据发送到处理单元503。
处理单元503把与从客户端101、102或103接收到的处理请求相对应的处理结果发送到发送单元502。发送单元504和接收单元505被连接到信息处理设备104、105、106、107、108和109。处理单元503把处理数据分成分割处理并且使用发送单元504把每个分割处理发送到从信息处理设备104、105、106、107、108和109中选择的信息处理设备。已经接收到分割处理的每个信息处理设备把作为分割处理的处理结果的分割处理结果发送到负载分配设备100。负载分配设备100使用接收单元505来接收分割处理结果。处理单元503包括CPU(中央处理器)、RAM(随机访问存储器)等,并且执行图6所示的处理分割装置601、负载监视装置602、信息处理设备选择装置603、IP地址转换装置604、处理结果确定装置605和故障监视装置606。
用于处理分割装置601、负载监视装置602、信息处理设备选择装置603、IP地址转换装置604、处理结果确定装置605和故障监视装置606的程序被存储在存储单元507中。处理单元503读取用于处理分割装置601、负载监视装置602、信息处理设备选择装置603、IP地址转换装置604、处理结果确定装置605和故障监视装置606的程序,然后执行每个处理,所述程序被存储在存储单元507中。
负载分配设备100执行故障监视装置606来以预定时间间隔经由发送单元504把监视分组发送到信息处理设备104、105、106、107、108和109。信息处理设备104、105、106、107、108和109把相对于监视分组的响应分组发送到负载分配设备100。负载分配设备经由接收单元505接收响应分组。故障监视装置606确定已经发送响应分组的信息处理设备正在正确地工作。在即使当预定时间已经过去之后负载分配设备100也未接收到响应分组时,故障监视装置606确定应该发送响应分组的信息处理设备已经发生故障,然后中断与信息处理设备的连接。信息处理设备104、105、106、107、108和109以预定时间间隔把负载信息发送到负载分配设备100。负载分配设备100执行负载监视装置602以从信息处理设备104、105、106、107、108和109接收相应信息处理设备的负载信息。在接收到负载信息之后,负载监视装置602更新信息处理设备104、105、106、107、108和109的CPU负载比率和处理计数,CPU负载比率和处理计数对应于管理表700中的负载信息。
例如,当客户端101把请求分组发送到负载分配设备100时,负载分配设备100执行处理分割装置601以把处理请求分成多个分割处理。处理分割装置601参照包含在处理数据中的处理大小信息和存储在存储单元507中的分割表。处理分割装置601选择对应于处理大小信息并在分割表中被示出的分割数目。处理分割装置601随后把所选择的分割数目与被连接到负载分配设备100的信息处理设备的数目相比较。当多于所选择的分割数目的信息处理设备被连接到负载分配设备100时,处理分割装置601生成对应于所选择的分割数目的分割处理。当被连接到负载分配设备100的信息处理设备的数目小于所选择的分割数目时,处理分割装置601生成与被连接到负载分配设备100的信息处理设备的数目相对应的分割处理。
接着,负载分配设备100执行信息处理设备选择装置603并参照管理表700和附于请求分组上的重要性信息。基于重要性信息,信息处理设备选择装置603确定将被发出执行相同分割处理的请求的信息处理设备的数目。信息处理设备选择装置603参照管理表700中的CPU负载比率,以按照CPU负载比率的升序来选择与将被发出执行相同分割处理的请求的信息处理设备的数目相对应的信息处理设备。
IP地址转换装置604把所有被选择的信息处理设备的IP地址附于分割处理上然后把分割处理发送到具有这些IP地址的信息处理设备。类似地,对于另一个分割处理,确定将被发送分割处理的信息处理设备的数目,按照CPU负载比率的升序来选择对应于所确定的数目的信息处理设备,然后把分割处理发送到这些信息处理设备。
已经完成分割处理的执行的每个信息处理设备把分割处理结果发送到负载分配设备。负载分配设备100经由接收单元505来接收分割处理结果。负载分配设备100执行处理结果确定装置605来确定存储器506中是否存在与所接收到的分割处理结果具有相同内容的处理结果。当存储器506中不存在具有相同内容的分割处理结果时,处理结果确定装置605把接收到的分割处理结果存储在存储器506中。当存储器506中已经存在具有相同内容的分割处理结果时,处理结果确定装置605丢弃接收到的分割处理结果。以同样的方式,对于另一个分割处理,处理结果确定装置605确定分割处理结果是否已经被存储在存储器506中。当存储器506中不存在与接收到的分割处理结果具有相同内容的分割处理结果时,处理结果确定装置605把分割处理结果存储在存储器506中。当存储器506中存在与接收到的分割处理结果具有相同内容的分割处理结果时,处理结果确定装置605丢弃接收到的分割处理结果。当与所有类型的分割处理相对应的分割处理结果被接收到时,处理结果生成装置607被执行来组合所有的分割处理结果,以生成处理结果。处理结果生成装置607把处理结果存储在存储器506中。
负载分配设备100把处理结果发送到所发送的处理请求对应于处理结果的客户端,即发送到将被发送处理结果的客户端101。此后,负载分配设备100删除处理结果和存储在存储器506中的分割处理结果。
<负载分配设备的流程>
图3是根据本实施例的负载分配处理的流程图。负载分配设备100从客户端101、102或103接收请求分组(步骤S301)。处理分割装置601参照处理大小信息和存储在存储单元507中的分割表,然后选择分割表中示出的对应于处理大小信息的分割数目(步骤S302)。处理分割装置601把所选择的分割的数目与被连接到负载分配设备100的信息处理设备的数目相比较(步骤S303)。当比所选择的分割的数目更多的信息处理设备被连接到负载分配设备100时,处理分割装置601生成与所选择的分割的数目相对应的分割处理(步骤S304)。当被连接到负载分配设备100的信息处理设备的数目小于所选择的分割的数目时,处理分割装置601生成与被连接到负载分配设备100的信息处理设备的数目相对应的分割处理(步骤S305)。
接着,信息处理设备选择装置603参照管理表700和附于处理请求上的重要性信息。基于重要性信息,信息处理设备选择装置603确定将被发出执行相同分割处理的请求的信息处理设备的数目(步骤S306)。信息处理设备选择装置603参照管理表700中的CPU负载比率,以按照CPU负载比率的升序来选择与将被发出执行相同分割处理的请求的信息处理设备的数目相对应的信息处理设备(步骤S307)。
IP地址转换装置604随后把所有被选择的信息处理设备的IP地址附于分割处理上,然后把分割处理发送到具有这些IP地址的信息处理设备(步骤S308)。类似地,对于另一个分割处理,确定将被发送分割处理的信息处理设备的数目,按照CPU负载比率的升序来选择对应于所确定的数目的信息处理设备,然后把分割处理发送到这些信息处理设备。
处理结果确定装置605确定存储器506中是否存在与所接收到的分割处理结果具有相同内容的分割处理结果(步骤S309)。当存储器506中不存在具有相同内容的分割处理结果时,处理结果确定装置605把接收到的分割处理结果存储在存储器506中(步骤S310)。当存储器506中已经存在具有相同内容的分割处理结果时,处理结果确定装置605丢弃接收到的分割处理结果(步骤S311)。
<负载信息监视的流程>
图4是根据本实施例的负载分配设备100的负载信息监视的流程图。故障监视装置606以预定时间间隔经由发送单元504把监视分组发送到信息处理设备104、105、106、107、108和109(步骤S401)。负载监视装置606监视从信息处理设备104、105、106、107、108和109发送的响应分组,并且确定响应分组是否以预定时间间隔被接收到(步骤S402)。故障监视装置606确定已经发送响应分组的信息处理设备正在正确地工作(步骤S403)。在即使当预定时间已经过去之后负载分配设备100也未接收到响应分组时,故障监视装置606确定应该发送响应分组的信息处理设备已经发生故障,然后中断与信息处理设备的连接(步骤S404)。
<管理表>
图7示出了根据本实施例的管理表700。管理表700中示出了信息处理设备104、105、106、107、108和109的IP地址701、最大处理性能702、CPU负载比率703和处理计数704。信息处理设备104的IP地址701是“193.168.254.2、最大处理性能702是“5000tps”、CPU负载比率703是“20%”,并且处理计数704是“1”。信息处理设备105的IP地址701是“193.168.254.3”、最大处理性能702是“5000tps”、CPU负载比率703是“40%”,并且处理计数704是“1”。信息处理设备106的IP地址701是“193.168.254.4”、最大处理性能702是“5000tps”、CPU负载比率703是“90%”,并且处理计数704是“3”。信息处理设备107的IP地址701是“193.168.254.5”、最大处理性能702是“5000tps”、CPU负载比率703是“10%”,并且处理计数704是“0”。信息处理设备108的IP地址701是“193.168.254.6”、最大处理性能702是“5000tps”、CPU负载比率703是“25%”,并且处理计数704是“1”。信息处理设备109的IP地址701是“193.168.254.7”、最大处理性能702是“5000tps”、CPU负载比率703是“45%”,并且处理计数704是“1”。在本实施例中,为了简单起见,信息处理设备104、105、106、107、108和109的最大处理性能702是相同的,即“5000tps”。“tps”意思是“每秒处理事务数”并且是表示每个单位时间可执行的处理数目的单位。
在本实施例中,在选择了将被发出执行分割处理1的请求的信息处理设备之后,负载分配设备100选择将被发出执行分割处理2的请求的信息处理设备。信息处理设备选择装置603参照管理表700中的CPU负载比率703,然后向CPU负载比率703低的信息处理设备发出执行分割处理1的请求。CPU负载比率703低的信息处理设备是CPU负载比率703为“20%”的信息处理设备104、CPU负载比率703为“10%”的信息处理设备107和CPU负载比率703为“25%”的信息处理设备108。因此,信息处理设备选择装置603向信息处理设备104、107和108发出执行分割处理1的请求。信息处理设备104、105、106、107、108和109随后把负载信息发送到负载分配设备100。负载监视装置602从信息处理设备104、105、106、107、108和109接收信息处理设备的负载信息。在接收到负载信息之后,负载监视装置602更新信息处理设备104、105、106、107、108和109的CPU负载比率703和处理计数704,CPU负载比率703和处理计数704对应于管理表700中的负载信息。
图8示出了根据本实施例的管理表800。管理表800是通过更新管理表700获得的,该更新是在信息处理设备选择装置603向信息处理设备104、107和108发出执行分割处理1的请求之后通过负载监视装置602来执行的。
信息处理设备104的IP地址801是“193.168.254.2”、最大处理性能802是“5000tps”、CPU负载比率803是“60%”,并且处理计数804是“2”。信息处理设备105的IP地址801是“193.168.254.3”、最大处理性能802是“5000tps”、CPU负载比率803是“40%”,并且处理计数804是“1”。信息处理设备106的IP地址801是“193.168.254.4”、最大处理性能802是“5000tps”、CPU负载比率803是“90%”,并且处理计数804是“3”。信息处理设备107的IP地址801是“193.168.254.5”、最大处理性能802是“5000tps”、CPU负载比率803是“55%”,并且处理计数804是“1”。信息处理设备108的IP地址801是“193.168.254.6”、最大处理性能802是“5000tps”、CPU负载比率803是“75%”,并且处理计数804是“2”。信息处理设备109的IP地址801是“193.168.254.7”、最大处理性能802是“5000tps”、CPU负载比率803是“45%”,并且处理计数804是“1”。
信息处理设备选择装置603参照管理表800中的CPU负载比率803,然后向CPU负载比率803低的信息处理设备发出执行分割处理2的请求。CPU负载比率803低的信息处理设备是CPU负载比率803为“40%”的信息处理设备105、CPU负载比率803为“55%”的信息处理设备107和CPU负载比率703为“45%”的信息处理设备109。因此,信息处理设备选择装置603向信息处理设备105、107和109发出执行分割处理2的请求。信息处理设备104、105、106、107、108和109随后把负载信息发送到负载分配设备100。负载监视装置602从信息处理设备104、105、106、107、108和109接收信息处理设备的负载信息。在接收到负载信息之后,负载监视装置602更新信息处理设备104、105、106、107、108和109的CPU负载比率803和处理计数804,CPU负载比率803和处理计数804对应于管理表800中的负载信息。
第二实施例
在第二实施例中,当存储器506中存在与接收到的分割处理结果具有相同内容的分割处理结果时,处理结果确定装置605向正在执行对应于接收到的分割处理结果的分割处理的信息处理设备发出中止分割处理的请求。
图9是根据本实施例的负载分配过程的流程图。客户端101、102或103把请求分组发送到负载分配设备100(步骤S901。处理分割装置601参照处理大小信息和存储在存储单元507中的分割表,然后选择分割表中示出的对应于处理大小信息的分割数目(步骤S902)。处理分割装置601把所选择的分割的数目与被连接到负载分配设备100的信息处理设备的数目相比较(步骤S903)。当比所选择的分割的数目更多的信息处理设备被连接到负载分配设备100时,处理分割装置601生成与所选择的分割的数目相对应的分割处理(步骤S904)。当被连接到负载分配设备100的信息处理设备的数目小于所选择的分割的数目时,处理分割装置601生成与被连接到负载分配设备100的信息处理设备的数目相对应的分割处理(步骤S905)。
信息处理设备选择装置603然后参照管理表700和附于处理请求上的重要性信息。基于重要性信息,信息处理设备选择装置603确定将被发出执行相同分割处理的请求的信息处理设备的数目(步骤S906)。信息处理设备选择装置603参照管理表700中的CPU负载比率,以按照CPU负载比率的升序来选择与将被发出执行相同分割处理的请求的信息处理设备的数目相对应的信息处理设备(步骤S907)。
IP地址转换装置604随后把所有被选择的信息处理设备的IP地址附于分割处理上,然后把分割处理发送到具有这些IP地址的信息处理设备(步骤S908)。类似地,对于另一个分割处理,确定将被发送分割处理的信息处理设备的数目,按照CPU负载比率的升序来选择对应于所确定的数目的信息处理设备,然后把分割处理发送到这些信息处理设备。
处理结果确定装置605确定存储器506中是否存在与所接收到的分割处理结果具有相同内容的分割处理结果(步骤S909)。当存储器506中不存在具有相同内容的分割处理结果时,处理结果确定装置605把接收到的分割处理结果存储在存储器506中(步骤S910)。当存储器506中已经存在具有相同内容的分割处理结果时,处理结果确定装置605向正在执行对应于分割处理结果的分割处理的信息处理设备发出中止分割处理的请求(步骤S911)。已接收到中止分割处理的请求的信息处理设备终止分割处理。
应当明白根据本发明的技术概念可以按照从更高到更低概念的范围内的各种层次和变化来解释并且本发明不限于上面的实施例。
Claims (8)
1.一种负载分配设备,用于把客户端所请求的多个处理提供给多个信息处理设备,所述负载分配设备包括:
控制器,用于根据一个过程来控制负载分配设备,所述过程包括:
根据所述多个信息处理设备的工作状态,从所述多个信息处理设备中选择一组信息处理设备;
请求所述的一组信息处理设备分别并行执行所述处理;
接收每个被选择的信息处理设备所执行的所述处理的处理结果;
确定所述接收到的处理结果是否是第一次从所述的一组信息处理设备中获得;
获得所述接收到的处理结果;以及
向执行所述处理并且未发送所述处理结果的信息处理设备发出终止所述处理的请求。
2.根据权利要求1所述的负载分配设备,其中,所述控制器的过程还包括:
丢弃从所述的一组信息处理设备中第一次获得之后的所述接收到的处理结果。
3.根据权利要求1所述的负载分配设备,其中,所述控制器的过程还包括:
把所获得的处理结果发送给所述客户端。
4.根据权利要求1所述的负载分配设备,其中,所述工作状态指示所述信息处理设备的CPU负载。
5.根据权利要求1所述的负载分配设备,其中,所述控制器从所述信息处理设备分别获得指示信息处理设备的所述工作状态的负载信息。
6.根据权利要求5所述的负载分配设备,其中,所述控制器以预定时间间隔获得所述负载信息。
7.根据权利要求6所述的负载分配设备,其中,所述控制器的过程还包括:
在即使当所述预定时间过去之后所述负载分配设备也未接收到所述负载信息时,中断与不发送所述负载信息的信息处理设备的连接。
8.一种负载分配方法,用于把客户端所请求的多个处理提供给多个信息处理设备,所述负载分配方法包括以下步骤:
根据所述多个信息处理设备的工作状态,从所述多个信息处理设备中选择一组信息处理设备;
请求所述的一组信息处理设备分别并行执行所述处理;
接收每个被选择的信息处理设备所执行的所述处理的处理结果;
确定所述接收到的处理结果是否是第一次从所述的一组信息处理设备中获得;
获得所述接收到的处理结果;以及
向执行所述处理并且未发送所述处理结果的信息处理设备发出终止所述处理的请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006256350A JP2008077428A (ja) | 2006-09-21 | 2006-09-21 | 負荷分散装置、負荷分散方法及び負荷分散プログラム |
JP2006256350 | 2006-09-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101149689A CN101149689A (zh) | 2008-03-26 |
CN100524227C true CN100524227C (zh) | 2009-08-05 |
Family
ID=39027631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100981036A Expired - Fee Related CN100524227C (zh) | 2006-09-21 | 2007-04-13 | 负载分配设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080077931A1 (zh) |
EP (1) | EP1903750A1 (zh) |
JP (1) | JP2008077428A (zh) |
KR (1) | KR100870166B1 (zh) |
CN (1) | CN100524227C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685480A (zh) * | 2008-09-27 | 2010-03-31 | 国家电力调度通信中心 | 一种用于大电网安全稳定分析的并行计算方法和计算平台 |
JP5215900B2 (ja) * | 2009-02-13 | 2013-06-19 | 株式会社日立製作所 | 移動無線通信システムおよびアクセスゲートウェイ |
US9043401B2 (en) | 2009-10-08 | 2015-05-26 | Ebay Inc. | Systems and methods to process a request received at an application program interface |
US10176045B2 (en) | 2011-12-12 | 2019-01-08 | International Business Machines Corporation | Internet based shared memory in a distributed computing system |
US9141468B2 (en) | 2011-12-12 | 2015-09-22 | Cleversafe, Inc. | Managing memory utilization in a distributed storage and task network |
US9015556B2 (en) * | 2011-12-12 | 2015-04-21 | Cleversafe, Inc. | Transforming data in a distributed storage and task network |
US20130238900A1 (en) | 2011-12-12 | 2013-09-12 | Cleversafe, Inc. | Dispersed storage network secure hierarchical file directory |
US9674155B2 (en) | 2011-12-12 | 2017-06-06 | International Business Machines Corporation | Encrypting segmented data in a distributed computing system |
US10146621B2 (en) | 2011-12-12 | 2018-12-04 | International Business Machines Corporation | Chaining computes in a distributed computing system |
US10104168B2 (en) | 2011-12-12 | 2018-10-16 | International Business Machines Corporation | Method for managing throughput in a distributed storage network |
US10360106B2 (en) | 2011-12-12 | 2019-07-23 | International Business Machines Corporation | Throttled real-time writes |
US10348640B2 (en) | 2011-12-12 | 2019-07-09 | International Business Machines Corporation | Partial task execution in a dispersed storage network |
US20180083930A1 (en) | 2011-12-12 | 2018-03-22 | International Business Machines Corporation | Reads for dispersed computation jobs |
US10346218B2 (en) | 2011-12-12 | 2019-07-09 | International Business Machines Corporation | Partial task allocation in a dispersed storage network |
US9584359B2 (en) | 2011-12-12 | 2017-02-28 | International Business Machines Corporation | Distributed storage and computing of interim data |
US10666596B2 (en) | 2011-12-12 | 2020-05-26 | Pure Storage, Inc. | Messaging via a shared memory of a distributed computing system |
EP3373555A1 (en) * | 2017-03-07 | 2018-09-12 | Thomson Licensing | Method to be implemented at a network element for managing instances of network functions, and corresponding network element |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3480973B2 (ja) * | 1993-11-30 | 2003-12-22 | 富士通株式会社 | 並列処理システムの動作解析装置 |
US6185619B1 (en) * | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
JPH08235133A (ja) | 1995-02-28 | 1996-09-13 | Toshiba Corp | 多重処理システム |
JPH113323A (ja) | 1997-06-10 | 1999-01-06 | Nec Software Ltd | ジョブ実行の負荷分散装置 |
US6363496B1 (en) | 1999-01-29 | 2002-03-26 | The United States Of America As Represented By The Secretary Of The Air Force | Apparatus and method for reducing duration of timeout periods in fault-tolerant distributed computer systems |
US6389448B1 (en) * | 1999-12-06 | 2002-05-14 | Warp Solutions, Inc. | System and method for load balancing |
AU2001276932B2 (en) * | 2000-07-27 | 2007-06-21 | Oracle International Corporation | System and method for concentration and load-balancing of requests |
AU2003241771A1 (en) * | 2002-05-28 | 2003-12-12 | Dai Nippon Printing Co., Ltd. | Parallel processing system |
US7761876B2 (en) * | 2003-03-20 | 2010-07-20 | Siemens Enterprise Communications, Inc. | Method and system for balancing the load on media processors based upon CPU utilization information |
JP2005182702A (ja) | 2003-12-24 | 2005-07-07 | Fujitsu Ltd | Ipネットワークにおけるアクセス制御方式 |
-
2006
- 2006-09-21 JP JP2006256350A patent/JP2008077428A/ja not_active Withdrawn
-
2007
- 2007-03-23 EP EP20070104793 patent/EP1903750A1/en not_active Withdrawn
- 2007-03-29 US US11/730,128 patent/US20080077931A1/en not_active Abandoned
- 2007-04-13 CN CNB2007100981036A patent/CN100524227C/zh not_active Expired - Fee Related
- 2007-04-16 KR KR20070036924A patent/KR100870166B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN101149689A (zh) | 2008-03-26 |
EP1903750A1 (en) | 2008-03-26 |
KR100870166B1 (ko) | 2008-11-25 |
US20080077931A1 (en) | 2008-03-27 |
JP2008077428A (ja) | 2008-04-03 |
KR20080027117A (ko) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524227C (zh) | 负载分配设备 | |
EP0591345B1 (en) | Method and system for monitoring a computer system | |
CN107688496A (zh) | 任务分布式处理方法、装置、存储介质和服务器 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
CN109040178B (zh) | 配置信息发送方法及装置 | |
CN110457176A (zh) | 用于分布式系统的监控方法、装置、存储介质及电子设备 | |
CN112015549B (zh) | 一种基于服务器集群的调度节点的选择抢占方法及系统 | |
CN112988679B (zh) | 日志采集控制方法、装置、存储介质及服务器 | |
CN111427683A (zh) | 一种计算机中流程自动化用机器人的任务分配方法方法及装置 | |
CN111182061A (zh) | 任务分发处理方法、系统、计算机设备和存储介质 | |
JP5050357B2 (ja) | ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段 | |
DE68924535T2 (de) | Anordnung zur zusammenarbeitende wiederverteilung der aufgaben in einem mehrprozessoren-system. | |
CN111262783B (zh) | 一种动态路由的方法及装置 | |
CN108123987A (zh) | 从云计算系统中确定主调度器的方法及装置 | |
CN117608825A (zh) | 基于多云管理平台的资源管理方法和相关设备 | |
CN109495546A (zh) | 数据处理方法、系统及服务器 | |
CN109728957B (zh) | 一种交互式运维的方法及装置 | |
CN106776031B (zh) | 一种数据发送方法及装置 | |
CN115941604A (zh) | 一种流量分配方法、装置、设备、存储介质和程序产品 | |
CN115589387A (zh) | 负载均衡方法和装置、数据交互方法和装置及系统、车辆 | |
CN114817671A (zh) | 一种空调物联网的日志分析方法及系统 | |
EP3745650A1 (en) | Method and device for notifying event | |
CN112055059B (zh) | 一种设备推选代表的方法 | |
JP2006350474A (ja) | リアルタイム処理システム、処理装置、リアルタイム処理方式、及びプログラム |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090805 Termination date: 20100413 |