[go: up one dir, main page]

CN104871130A - 负载均衡方案 - Google Patents

负载均衡方案 Download PDF

Info

Publication number
CN104871130A
CN104871130A CN201280077761.6A CN201280077761A CN104871130A CN 104871130 A CN104871130 A CN 104871130A CN 201280077761 A CN201280077761 A CN 201280077761A CN 104871130 A CN104871130 A CN 104871130A
Authority
CN
China
Prior art keywords
load
programmable processor
load balancing
cache request
balancing program
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
Application number
CN201280077761.6A
Other languages
English (en)
Other versions
CN104871130B (zh
Inventor
仓林修一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xero Ltd
Original Assignee
Empire Technology Development LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN104871130A publication Critical patent/CN104871130A/zh
Application granted granted Critical
Publication of CN104871130B publication Critical patent/CN104871130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

大体上描述了用于在托管移动装置的与计算环境中的负载均衡方案的技术。在一些实例中,负载均衡器可包括多个请求处理单元,多个请求处理单元中的每一个包括连接到至少一个应用服务器和至少一个缓存服务器的网络套接字和配置成处理来自至少一个应用服务器中的一个的缓存请求的可编程处理器、配置成测量可编程处理器的处理负载的性能检查单元,和配置成通过在可编程处理器中的至少一个中写入或删除负载均衡程序来调节处理负载的处理器管理单元。

Description

负载均衡方案
背景技术
负载均衡是在多个计算机或者计算机集群、网络链路、中央处理单元、磁盘驱动器或者其他资源之间分布工作负载,以实现优化的资源利用、最大化吞吐量、最小化响应时间和避免过载的计算机联网技术。随着在云数据中心上大数量的用户共享相对大体积的数据的应用的增加,可能需要负载均衡器以有效地处理计算节点和存储节点之间的数据业务。
概述
在一个实例中,负载均衡器可包括多个请求处理单元,每个请求处理单元包括连接到至少一个应用服务器和至少一个缓存服务器的网络套接字,以及配置成处理来自至少一个应用服务器中的一个的缓存请求的可编程处理器。负载均衡器还包括配置成测量可编程处理器的处理负载的性能检查单元和配置成通过在可编程处理器中的至少一个中写入或者删除负载均衡程序来调节处理负载的处理器管理单元。
在另一个实例中,在包括多个可编程处理器的负载均衡器的控制下执行的方法包括:从至少一个应用服务器中的一个接收缓存请求;将通过指定至少一个缓存服务器中的一个来处理缓存请求的负载均衡程序写入多个可编程处理器中的一个;以及将对应于缓存请求的至少一个缓存服务器中的一个的地址发送到至少一个应用服务器中的一个。
在再另一个实例中,计算机可读存储介质可在其上存储计算机可执行指令,响应于执行,该计算机可执行指令致使包括多个可编程处理器的负载均衡器执行包括下述的操作:从至少一个应用服务器中的一个接收缓存请求;将通过指定至少一个缓存服务器中的一个来处理缓存请求的负载均衡程序写入多个可编程处理器中的一个;以及将对应于缓存请求的至少一个缓存服务器中的一个的地址发送到至少一个应用服务器中的一个。
前述的概述仅仅是说明性的并且不打算以任何方式进行限制。除了上述的说明性的方面、实施方式以及特征,通过参考附图和下文的详细描述,另外的方面、实施方式和特征将显而易见。
附图说明
结合附图,根据下文的描述和随附的权利要求,本公开的前述和其他特征将更加显而易见。应当理解,这些附图仅描述了根据本公开的若干实施方式,因此不应当将其视为是本公开的范围的限制,通过对附图的使用,将借助附加的特性和细节来描述本公开。
图1概略地示出根据本文描述的至少一些实施方式布置的在多个应用服务器和多个缓存服务器之间提供负载均衡方案的负载均衡器位于其中的环境的说明性实例;
图2示出根据本文描述的至少一些实施方式布置的负载均衡器的说明性实例的原理框图;
图3示出根据本文描述的至少一些实施方式布置的用于提供负载均衡方案的过程的实例流程图;
图4示出根据本文描述的至少一些实施方式布置的用于将负载均衡程序写入可编程处理器的过程的实例流程图;
图5说明了根据本文描述的至少一些实施方式布置的可被利用来提供负载均衡方案的计算机程序产品;以及
图6是说明了根据本文描述的至少一些实施方式布置的可被利用来提供负载均衡方案的实例计算装置的框图。
具体实施方式
在下文的详细描述中,参考了形成该详细描述的一部分的附图。在附图中,除非下文另有指明,相似的符号一般识别相似的组件。在详细描述、附图和权利要求中描述的说明性实施方式不意味着是限制性的。在不脱离本文呈现的主体的精神和范围的情况下,可以利用其他实施方式并且可以做出其他改变。将容易理解,在本文中大体描述和在附图中示意的本公开的方面,可以以多种多样不同的配置布置、替代、组合、分离和设计,所有这些都明确地涵盖于本文。
本公开大体涉及,尤其涉及与负载均衡方案相关的方法、设备、系统、装置和计算机程序产品。另外,大体描述了用于配置成在多个应用服务器和多个缓存服务器之间提供负载均衡的负载均衡器的技术。
在一些实施方式中,基于云的网络系统可包含至少三个服务器层,包括:例如,配置成处理来自用户装置的请求的多个应用服务器、配置成处理对于多个应用服务器的数据缓存的多个缓存服务器,以及配置成存储并提供由多个应用服务器使用的数据的云数据库服务器。在这样的情形中,负载均衡器可配置成在多个应用服务器和多个缓存服务器之间均衡负载以解决多个应用服务器和多个缓存服务器之间的通信瓶颈。
在负载均衡器上可采用多个可编程处理器,该多个可编程处理器连接到各自的网络套接字。负载均衡器可动态地将用于执行负载均衡的负载均衡程序写入可编程处理器中的一个。在一些实施方式中,可以通过多个应用服务器中的一个应用服务器执行应用,并且多个应用服务器中的该个应用服务器可请求关于应用的运行的负载均衡器数据。在这样的情形中,负载均衡器可将负载均衡程序写入可编程处理器中的一个中,该负载均衡程序是根据该应用的一个或者多个特征的特定于应用的程序。应用的该一个或者多个特征可由应用的类型决定(例如,应用是电子邮件应用,还是游戏应用,还是SNS服务提供应用,还是电子书(e-book)应用,还是地图应用,还是视频播放应用等等)。举例来说但没有限制,视频播放应用或者游戏应用的特征可以是它们相比于电子邮件应用和SNS服务提供应用需要更多的数据传输。考虑这样的特征,可能需要负载均衡程序以处理处理该应用。
举例来说但没有限制,当用户装置运行用于播放存储在云数据库服务器中的视频的应用时,相应的应用服务器可给负载均衡器请求存储在云数据库服务器中的视频。然后,负载均衡器可将适于将视频缓存在多个缓存服务器中的一个中的类型的负载均衡程序写入多个可编程处理器的一个中,从而使得用户装置能顺畅地播放视频。在一些其他实例中,当用户装置经由相应的应用服务器运行用于社交网络服务(或“SNS”)的应用时,负载均衡器可主动地将以下类型的负载均衡程序写入多个缓存服务器的一个中,该类型适于把由更多数量的用户观看的信息数据优先存储到多个缓存服务器中的一个中。通过这种定制的负载均衡的方式,可以根据应用的一个或者多个特征有效地管理数据缓存。
在一些实施方式中,负载均衡器可测量多个可编程处理器中的每个的处理负载。当处理负载集中在特定的可编程处理器上时,负载均衡器可通过将相应的负载均衡程序写入多个可编程处理器中的一个或者多个中来增加用于处理负载的可编程处理器的数量。可选地,当用于处理负载的可编程处理器展示低负载均衡开销时,即当可编程处理器的过剩计算能力大时,负载均衡器可减少用于处理负载的可编程处理器的数量。以这种方式,可以自动调节分配给特定的处理负载的可编程处理器的数量。
图1概略地示出根据本文描述的至少一些实施方式布置的在多个应用服务器和多个缓存服务器之间提供负载均衡方案的负载均衡器位于其中的环境的说明性实例。如图1所描述的,用户装置110-1,110-2,110-3,…,110-p中的一个可向应用服务器120-1,120-2,…,120-m中的一个发送对于应用相关的数据的请求,应用相关的数据可经由连接处理器(handler)140存储在数据库服务器130中。另外,缓存服务器150-1,150-2,…,150-n中的一个可缓存来自数据库服务器130的应用相关的数据,并且负载均衡器160可处理对于应用相关的数据的请求。举例来说但没有限制,请求可包括HTTP(超文本传输协议)请求,例如,HTTP GET请求或者HTTP POST请求等。
在一些实施方式中,连接处理器140可将来自用户装置110-1,110-2,110-3,…,110-p中的一个的请求分配或者指派给应用服务器120-1,120-2,…,120-m中的合适的一个。在一些实施方式中,连接处理器140可至少部分地基于应用服务器120-1,120-2,…,120-m的处理负载来分配或者指派请求。
在一些实施方式中,数据库服务器130可存储用于各种应用的数据,并且缓存服务器150-1,150-2,…,150-n可缓存存储在数据库服务器130中的数据的至少一些。举例来说但没有限制,数据库服务器130可以是云数据中心,并且缓存服务器150-1,150-2,…,150-n可以是内存(in-memory)缓存服务器。
在一些实施方式中,负载均衡器160可在其上采用多个可编程处理器(在图1中未示出),多个可编程处理器可各自连接到网络套接字(在图1中未示出)。负载均衡器160可动态地将用于执行负载均衡的负载均衡程序写入多个可编程处理器中的一个中。在这样的情形中,负载均衡程序可以是对应于应用的一个或者多个特征的特定于应用的程序。负载均衡程序可以是确定如何在缓存服务器150-1,150-2,…,150-n中存储数据的程序。由于单个缓存服务器存储超出存储器存储容量的数据,因此采用了多个缓存服务器150-1,150-2,…,150-n。为了提高对于应用的响应能力,有可能用于缓存服务器150-1,150-2,…,150-n的数据可以选择性地保持在高速缓冲存储器中。然而,由于难以预测某些数据将不为应用使用多长时间,因此负载均衡器160可使用反映应用的一个或者多个特征的负载均衡程序执行负载均衡。举例来说但没有限制,所述一个或者多个特征可包括应用的数据访问倾向,应用的数据访问倾向可指应用请求存储在数据库服务器130中的数据的频率,或者应用从数据库服务器130中请求何种类的数据(例如,文档、音频、视频、图像等等)。
在一些实施方式中,负载均衡器160可自动地测量多个可编程处理器中的每一个的负载。当特定的可编程处理器(该处理器正在处理来自应用的请求)的负载超过阈值时(例如,当负载均衡开销超出I/O开销和/或应用开销时),可以增加指派给来自应用的请求的可编程处理器的数量。但是,当处理来自应用的请求的可编程处理器显示出低负载均衡开销时(即,可编程处理器的过剩的计算能力大),可以减少分配给应用的负载均衡过程的可编程处理器的数量。以这种方式,可以自动地调节分配给每个应用的可编程处理器的数量。
图2示出根据本文描述的至少一些实施方式布置的负载均衡器160的说明性实例的原理框图。如所描述的,负载均衡器160可包括多个请求处理单元210-1,210-2,…,210-r、存储器220、数据库230、处理器管理单元240、性能检查单元250和编译器260。尽管示意为分立组件,但是各种组件可以分为附加的组件、合并成较少的组件、或者被完全地排除,而同时涵盖于公开的主体的范围内。
请求处理单元210-1,210-2,…,210-r中的每一个可包括可编程处理器270-1,270-2,…,或270-r以及网络套接字280-1,280-2,…,或280-r。可编程处理器270-1,270-2,…,270-r中的每一个都可配置成处理来自应用服务器120-1,120-2,…,120-m中的一个的缓存请求。在某些实施方式中,可编程处理器270-1,270-2,…,270-r中的每一个都可就缓存请求的特征对缓存请求进行分析并(将在下面更加详细地描述地)将分析结果提供给处理器管理单元240,以便处理器管理单元240可选择适于根据所述特征来处理缓存请求的负载均衡程序。举例来说但没有限制,可编程处理器270-1,270-2,…,270-r可以是FPGA(现场可编程门阵列)。网络套接字280-1,280-2,…,280-r中的每一个都可连接到应用服务器120-1,120-2,…,120-m中的一个或者多个以及缓存服务器150-1,150-2,…,150-n中的一个或者多个。
存储器220可存储用于处理来自应用服务器120-1,120-2,…,120-m中的一个或者多个的缓存请求的多个负载均衡程序。举例来说但没有限制,多个负载均衡程序可以是根据应用的一个或者多个特征的特定于应用的程序。负载均衡程序中的每一个确定如何将数据存储在缓存服务器150-1,150-2,…,150-n中的一个或者多个中。
在一些实施方式中,网络套接字280-1,280-2,…,280-r中的每一个都可接收来自应用服务器120-1,120-2,…,120-m中的一个或者多个的缓存请求,并且可编程处理器270-1,270-2,…,270-r中的每一个都可分析缓存请求。举例来说但没有限制,可编程处理器270-1,270-2,…,270-r可分析缓存请求并检查(在缓存服务器150-1,150-2,…,150-n中)是否存在在其中存储有与该缓存请求相关的数据的缓存服务器。如果存在存储与缓存请求相关的数据的缓存服务器,则将(在缓存服务器150-1,150-2,…,150-n中)相应的缓存服务器的IP地址返回给应用服务器120-1,120-2,…,120-m中的一个或者多个。另一方面,如果不存在存储对应于缓存请求的数据的缓存服务器,则将NULL值返回给应用服务器120-1,120-2,…,120-m中的一个或者多个。
数据库230可配置成记录关于缓存请求和(在缓存服务器150-1,150-2,…,150-n中)存储对应于缓存请求的数据的缓存服务器之间的关系的信息。通过实例但非限制的方式,当缓存服务器150-1存储与来自应用服务器120-1的缓存请求相关的数据时,包括缓存请求的关系信息的数据包、应用服务器120-1的IP地址和缓存服务器150-1的IP地址可以记录在数据库230中。
处理器管理单元240可通过在可编程处理器270-1,270-2,…,270-r中的一个或多个中写入或者删除负载均衡程序来调节处理负载。在一些实施方式中,当返回值NULL时,由于不存在对应于缓存请求的缓存处理器,因此处理器管理单元240可将负载均衡程序写入可编程处理器270-1,270-2,…,270-r中的一个中,所述负载均衡程序通过指定缓存服务器150-1,150-2,…,150-n中的一个或者多个来处理缓存请求。此后,(在可编程处理器270-1,270-2,…,270-r中的)对应的可编程处理器可将缓存服务器150-1,150-2,…,150-n中的一个或者多个的一个或者多个IP地址发送到应用服务器120-1,120-2,…,120-m中发出缓存请求的一个应用服务器。
在一些实施方式中,由处理器管理单元写入可编程处理器270-1,270-2,…,270-r中的一个中的负载均衡程序可以是至少部分基于由可编程处理器270-1,270-2,…,270-r中的一个对缓存请求的分析而确定的特定于应用的程序。举一个非限制性的实例,可编程处理器270-1,270-2,…,270-r中的一个可以分析缓存请求并确定缓存请求与视频传输服务相关,并且处理器管理单元240可主动地将(在存储在存储器220中的多个负载均衡程序中的)适于将移动画面存储在缓存服务器中的类型的负载均衡程序写入可编程处理器270-1,270-2,…,270-r中的一个中。
性能检查单元250可配置成测量可编程处理器270-1,270-2,…,270-r的处理负载。在一些实施方式中,性能检查单元250可将可编程处理器270-1,270-2,…,270-r中的每一个的处理负载与预定值进行比较。举例来说但没有限制,预定值可以是I/O开销或者应用开销中较小的那个,或者可以是I/O开销和应用开销的和。然后,处理管理单元240可至少部分地基于所述比较调节可编程处理器270-1,270-2,…,270-r中的每一个的负载。即,性能检查单元250可测量可编程处理器270-1,270-2,…,270-r中的每一个的吞吐量,并且如果检测到一定时间量的延迟,则处理管理单元240可改变分派给对应的应用的可编程处理器270-1,270-2,…,270-r的数量。
编译器260可将负载均衡程序转换成代表可编程处理器270-1,270-2,…,270-r的配置信息的比特流。在一些实施方式中,响应于来自性能检查单元250的请求,处理器管理单元240可从存储器220获取对于应用的负载均衡程序并将该负载均衡程序写入可编程处理器270-1,270-2,…,270-r中的一个或者多个中。举例来说但没有限制,编译器260可将由HDL写入的负载均衡程序转换成代表可编程处理器270-1,270-2,…,270-r中的一个或者多个的配置信息的比特流。
图3示出根据本文描述的至少一些实施方式布置的用于提供负载均衡方案的过程的实例流程图。图3中的方法可以在负载均衡器160中实施或者由负载均衡器160实施,如上所讨论的,负载均衡器160可包括多个请求处理单元210-1,210-2,…,210-r、存储器220、数据库230、处理器管理单元240、性能检查单元250和编译器260。实例过程可包括由块S300,S310,S320,S330,S340,S350,S360,S370和/或S380中的一个或者多个示意的一个或者多个操作、动作或者功能。尽管示意为分立块,但是取决于期望的实现方式,各种块可以分为附加的块、合并成较少的块、或者被排除。在下面关于图3的描述中,为了方便说明,过程将主要利用请求处理单元210-1(包括可编程处理器270-1和网络套接字280-1)、应用服务器120-1和缓存服务器150-1来进行描述。然而,本领域技术人员将理解,也可以由其他组件来实施过程。处理可开始于块S300处。
在块S300处(接收缓存请求),请求处理单元210-1可通过网络套接字280-1接收来自应用服务器120-1的缓存请求。举例来说但没有限制,缓存请求可包括HTTP(超文本传输协议)请求,例如,HTTP GET请求或者HTTPPOST请求等。处理可从块S300继续到块S310。
在决定块S310处(确定是否存在关于缓存请求的数据),请求处理单元210-1可确定在缓存服务器150-1,150-2,…,150-n中是否存在对应于缓存请求的数据。在否定的确定后,处理可从S310继续到块S320,或者,在肯定的确定后,处理可从S310继续到块S330。
在块S320处(写入负载均衡程序),当经确定在缓存服务器150-1,150-2,…,150-n中不存在关于缓存请求的数据,处理器管理单元240可将通过指定缓存服务器150-1处理缓存请求的负载均衡程序写入可编程处理器270-1,缓存服务器150-1可用于处理缓存请求。处理可从块S320继续到块S310。
在块S330处(传输缓存服务器的地址),可编程处理器270-1可将由可编程处理器270-1指定的缓存服务器150-1的地址传输到应用服务器120-1。在一些实施方式中,如果在缓存服务器150-1,150-2,…,150-n的一个中存在关于缓存请求的数据,则可编程处理器270-1可将缓存服务器150-1,150-2,…,150-n中的存储关于缓存请求的数据的一个缓存服务器的地址传输到应用服务器120-1。处理可从S330继续到块S340。
在块S340处(测量处理负载),性能检查单元250可测量可编程处理器270-1的处理负载。处理可从S340继续到块S350。
在块S350处(比较处理负载),性能检查单元250可将所述处理负载与预定值相比。处理可从S350继续到块S360。
在块S360处(确定处理负载是否大于预定值),性能检查单元250可确定处理负载是否大于预定值。举例来说但没有限制,预定值可以是I/O开销或者应用开销中较小的那个,或者可以是I/O开销和应用开销的和。处理可从S360继续到块S370或块S380。
在块S370处(增加可编程处理器的数量),如果处理负载大于预定值,则处理器管理单元240可增加分派给来自应用服务器120-1的缓存请求的可编程处理器的数量。在一些实施方式中,处理器管理单元240可通过简单地从可编程处理器270-1复制负载均衡程序并将其写入另一可编程处理器中来增加对于缓存请求的可编程处理器的数量。举例来说但没有限制,编译器260可将由HDL写入的负载均衡程序转换成代表其他可编程处理器的配置信息的比特流。
在块S380处(减少可编程处理器的数量),如果处理负载不大于预定值,则处理器管理单元240可减少分派给来自应用服务器120-1的缓存请求的可编程处理器的数量。在一些实施方式中,处理器管理单元240可通过简单地删除可编程处理器270-1中的负载均衡程序来减少对于缓存请求的可编程处理器的数量。
图4示出根据本文描述的至少一些实施方式布置的用于将负载均衡程序写入可编程处理器的过程的实例流程图。图4中的方法可以在负载均衡器160中实施或者由负载均衡器160实施,如上所讨论的,负载均衡器160可包括多个请求处理单元210-1,210-2,…,210-r、存储器220、数据库230、处理器管理单元240、性能检查单元250和编译器260。实例过程可包括由块S400,S410,S420和/或S430中的一个或者多个示意的一个或者多个操作、动作或者功能。这些块是图3的块320的子块,并且因此下面的描述可以相关于或者可以基于关于图3的上面的描述。尽管示意为分立块,但是取决于期望的实现方式,各种块可以分为附加的块、合并成较少的块、或者被排除。处理可开始于块S400处.
在块S400处(分析缓存请求),可编程处理器270-1可分析来自应用服务器120-1的缓存请求。处理可从块S400继续到块S410。
在块S410处(确定负载均衡程序),处理器管理单元240可至少部分地基于可编程处理器270-1的分析从存储在存储器220中的多个负载均衡程序选择负载均衡程序。举例来说但没有限制,当缓存请求与SNS服务相关时(作为分析的结果),处理器管理单元240可选择适于优先地将由更多数量的用户使用和/或订阅的信息缓存在缓存处理器中的类型的负载均衡程序。处理可从块S410继续到块S420。
在块S420处(转换负载均衡程序),编译器260可将由处理器管理单元240选择的负载均衡程序转换成代表可编程处理器270-1的配置信息的比特流。处理可从块S420继续到块S430。
在块S430处(写入负载均衡程序),处理器管理单元240可将由处理器管理单元240确定并由编译器260转换的负载均衡程序写入可编程处理器270-1。
本领域的技术人员将了解,对于本文描述的该过程和其他过程和方法,可以以不同的顺序执行过程和方法中的功能。另外,概括的步骤和操作仅作为实例而提供,并且在不脱离公开的实施方式的实质的情况下,步骤和操作中的一些可以是可选的、组合成较少的步骤和操作或者扩展成额外的步骤和操作。
图5说明了根据本文描述的至少一些实施方式布置的可被利用来提供负载均衡方案的计算机程序产品。程序产品500可包括信号承载介质502。信号承载介质502可包括一个或者多个指令504,指令504在(例如)由处理器执行时可提供上面关于图1-4描述的功能。举例来说,指令504可包括用于以下的一个或者多个指令:用于从至少一个应用服务器中的一个接收缓存请求、将通过指定至少一个缓存服务器中的一个而处理缓存请求的负载均衡程序写入多个可编程处理器中的一个、以及将存储对应于缓存请求的数据的至少一个缓存服务器中的一个的地址发送到至少一个应用服务器中的一个。因此,例如,参考图2,负载均衡器160可响应于指令504承担图3所示的一个或者多个块。
在一些实现方式中,信号承载介质502可包含计算机可读介质506,计算机可读介质506包括但不限于:硬盘驱动器、CD、DVD、数字磁带、存储器等。在一些实现方式中,信号承载介质502可包含可记录介质508,可记录介质508包括但不限于:存储器、读/写(R/W)CD、R/W DVD等。在一些实现方式中,信号承载介质502可包含通信介质510,通信介质510包括但不限于:数字和/或模拟通信介质(例如,光线缆、波导、有线通信链路、无线通信链路等)。因此,举例来说,可通过RF信号承载介质502将程序产品500传送到负载均衡器160的一个或者多个模块,其中通过无线通信介质(例如,符合IEEE 702.11标准的无线通信介质)传送信号承载介质502。
图6是说明了根据本文描述的至少一些实施方式布置的可被利用来提供负载均衡方案的实例计算装置的框图。在非常基本的配置602中,计算装置600一般包括一个或者多个处理器604和系统存储器606,存储器总线608可用于在处理器604和系统存储器606之间通信。
取决于期望的配置,处理器604可以是任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或者其任意组合。处理器604可包括一级或者多级缓存(比如,一级缓存610和二级缓存612)、处理器核614和寄存器616。实例处理器核614可包括算数逻辑单元(ALU)、浮点单元(FPU)、数字信号处理器核(DSP Core)或者其任意组合。实例存储器控制器618还可与处理器604一块使用,或者在某些实现方式中,存储器控制器618可以是处理器604的内部部件。
取决于期望的配置,系统存储器606可以是任何类型,包括但不限于:易失性存储器(比如,RAM)、非易失性存储器(比如,ROM、快闪存储器等)或者是其任意组合。系统存储器606可以包括操作系统620、一个或者多个应用622和程序数据624。应用622可包括指令626,指令626布置成执行本文描述的功能,包括关于图3所示的负载均衡器架构描述的动作或者包括关于图3和4所示的流程图描述的动作。在一些实例中,应用622可布置成在操作系统620上利用程序数据624运行使得执行如上所述的用于电子装置的指令。
计算装置600可具有附加的特征或者功能和附加的接口以促进在基本配置602和任何需要的装置和接口之间的通行。例如,总线/接口控制器630可用于促进经由存储接口总线634的基本配置602和一个或者多个数据存储装置632之间的通信。数据存储装置632可以是可拆卸式存储装置636、不可拆卸式存储装置638或者其组合。可拆卸式存储装置和不可拆卸式存储装置的实例包括磁盘装置(比如,软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(比如,高密度磁盘(CD)驱动器或数字化通用磁盘(DVD)驱动器)、固态驱动器(SSD)和磁带驱动器(列出了若干个实例)。实例计算机存储介质可包括以用于信息(比如,计算机可读指令、数据结构、程序模块或其他数据)的存储的任何方法或技术实施的易失性和非易失性、可拆卸式和不可拆卸式的介质。
系统存储器606、可拆卸式存储装置636和不可拆卸式存储装置638是计算机存储介质的实例。计算机存储介质包括但不限于:RAM、ROM、EEPROM、快闪存储器或者其他存储器技术、CD-ROM、数字化通用磁盘(DVD)或者其他光学存储,磁带盒、磁带、磁盘存储或者其他磁存储装置或者可用于存储想要的信息并且可由计算装置600存储的任何其他介质。任何这样的计算机存储介质可以是计算装置600的一部分。
计算装置600还可包括用于促进经由总线/接口控制器630的从各种接口装置(例如,输出装置642、外围接口644以及通信装置646)到基本配置602的通信。实例输出装置642包括图形处理单元648和音频处理单元650,其可配置成经由一个或者多个A/V端口652与各种外围装置(比如,显示器或者扬声器)通信。实例外围接口644包括串行接口控制器654或者并行接口控制器656,其可配置成经由一个或者多个I/O端口658与比如输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)的外部装置通信或者其他外围装置(例如,打印机、扫描仪等)通信。实例通信装置646包括网络控制器660,其可布置成促进经由一个或者多个通信端口664通过网络通信链路与一个或者多个其他计算装置662的通信。
网络通信链路可以是通信介质的一个实例。通信介质一般可由计算机可读指令、数据接口、程序模块或者在调制的数据信号中的其他数据实施,调制的数据信号比如载波或者其他传送机制,并且可包括任何信息递送介质。“调制的数据信号”可以是具有信号的特征集合中的的一个或者多个特征或者以在信号中对信息编码的方式发生改变的信号。举例来说但没有限制,通信介质可包括有线介质(比如,有线网络或者直接有线连接)和无线介质(比如,声波、射频(RF)、微波、红外(IR)和其他无线介质)。本文中使用的术语“计算机可读介质”可包括存储介质和通信介质。
计算装置600可实施为小形状因子的便携式电子装置、个人数字助理、个人媒体播放器装置、无线网监视装置、个人耳机装置、专用装置或者包括上述功能中的任一者的混合装置。计算装置600也可实施为个人计算机,包括膝上型轻便计算机和非膝上型轻便计算机配置。
本公开在在本申请中描述的特定实施方式方面不受限制,在本申请中描述的特定实施方式旨在作为各种方面的说明。本领域技术人员将明了,在不背离本申请的精神和范围的条件下可以做出许多修改和变型。更具前面的描述,本领域技术人员将明了除了本文枚举的方法和设备之外的在本公开范围内的功能上等同的方法和设备。这些修改和变型应当落在随附的权利要求的范围内。本公开仅由随附的权利要求的词句、以及这些权利要求被赋予的等价物的完整范围的限制。应当理解,本公开不限定于特定的方法、试剂、混合物、复合物或者生物系统,方法、试剂、混合物、复合物或者生物系统当然可以变化。还应当理解,在本文使用的技术仅仅是出于描述特定实施方式的目的,其意不在于进行限制。
本文中在大致的任意多个和/或单个的术语的使用方面,本领域的技术人员可以在适合于上下文和/或应用时将多个转换为单个和/或从单个转换为多个。为了清除起见,可能在本文中明确地说明各种单数/复数变换。
本领域的技术人员将理解,大体上,本文、特别是在随附的权利要求(例如,随附的权利要求的正文)中使用的术语基本上意为“开放式”术语(例如,术语“包含/包括有”应当解读为“包含/包括有但不限于”,术语“有/具有”应当解读为“至少有/具有”,术语“包含/包括”应当解读为“包含/包括但是其不限于”等)。本领域的技术人员还将理解,如果意在表达导入的权利要求的记载内容的特定数量,则这样的意图将在该权利要求中明确地记载,并且在没有这种记载的情况下将没有这种意图。例如,作为对理解的帮助,下面随附的权利要求可包含导语“至少一个”和“一个或者多个”的用法以导入权利要求的记载内容。然而,这样的词语的使用不解释为暗示了通过不定冠词“a”或“an”导入权利要求的记载内容将包含这样的导入的权利要求的记载内容的特定权利要求限制到仅包含一个这样的记载内容的实施方式,甚至是在相同的权利要求包括导语“一个或者多个”和“至少一个”以及不定冠词(比如,“a”或“an”)的情况下(例如,“a”和/或“an”应当解读成意味着“至少一个”或“一个或者多个”);这同样适用于用于导入权利要求的记载内容的定冠词的使用。另外,即使明确记载了导入的权利要求的记载内容的特定数量,但是本领域技术人员将意识到,这种记载应当被解读为意味着至少是记载的数量(例如,只记载“两个记载内容”,而没有其他修饰语,以为着至少两个记载内容,或者两个或多个记载内容)。另外,在使用类同于“A、B和C等中的至少一个”的常规用法的实例中,大体上这种结构被意想为本领域的技术人员将对该常规用法理解的意义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于只具有A、只具有B、只具有C、具有A和B、具有A和B和C、具有B和C和/或具有A和B和C等)。在使用类同于“A、B或C等中的至少一个”的常规用法的实例中,大体上这种结构被意想为本领域的技术人员将对该常规用法理解的意义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于只具有A、只具有B、只具有C、具有A和B、具有A和C、具有B和C、和/或具有A和B和C等)。本领域技术人员还将理解,实质上任何呈现两个或者更多个可选术语的分离的词和/或词语,不管是在说明书中、在权利要求中或在附图中,都应当理解为涵盖了包括:术语中的一个、两个术语中的一个,或者包括两个术语中的任何一种的可能性。例如,词语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
另外,在公开的特征和方面以马库什群组的措辞进行描述的情况下,本领域技术人员将了解公开同开也从而以马库什群组的任何单个成员或者成员的自群组的措辞进行了描述。
如将由本领域的技术人员理解的,出于任何或者所有目的(比如,就提供书面描述来说),本文公开的所有范围还包含这些范围的任何或者所有子范围和子范围的组合。任何列出的范围可被容易理解为充分描述并使得相同的范围被分解成至少相等的两半、三分之一、四分之一、五分之一、十分之一等。作为非限制性的实例,本文讨论的每个范围可以被方便地分解为下部的三分之一、中间的三分之一和上部的三分之一等。如还将由本领域的技术人员理解的,比如“高达”、“至少”等的语句包括记载的数量并涉及随后可分解成如上所讨论的子范围的范围。最后,如将由本领域的技术人员理解的,范围包括每个单独的成员。因此,例如,具有1-3个胞元的群组涉及具有1个、2个或者3个胞元的群组。类似地,具有1-5个胞元的群组涉及具有1个、2个、3个、4个或者5个胞元的群组,诸如此类。
根据前述内容,将理解,出于说明之目的本文已经描述了本公开的各种实施方式,并且在不背离本公开的范围和精神的情况下可以做出各种修改。因此,本文描述的各种实施方式其意不在于进行限制,由下面的权利要求指明真正的范围和精神。

Claims (24)

1.一种负载均衡器,包括:
多个请求处理单元,所述多个请求处理单元中的每一个包括:
网络套接字,其连接到至少一个应用服务器和至少一个缓存服务器,和
可编程处理器,其配置成处理来自所述至少一个应用服务器中的一个的缓存请求;
性能检查单元,其配置成测量所述可编程处理器的处理负载;以及
处理器管理单元,其配置成通过在所述可编程处理器中的至少一个中写入或删除负载均衡程序来调节所述处理负载。
2.根据权利要求1所述的负载均衡器,其中所述可编程处理器是FPGA(现场可编程门阵列)。
3.根据权利要求1所述的负载均衡器,还包括:
存储器,其配置成存储多个负载均衡程序,
其中所述网络套接字每个都配置成接收所述缓存请求并且所述可编程处理器还配置成分析所述缓存请求,并且
其中所述处理器管理单元还配置成至少部分地基于所述缓存请求的分析从所述多个负载均衡程序选择负载均衡程序。
4.根据权利要求1所述的负载均衡器,其中所述可编程处理器还配置成检查在所述至少一个缓存服务器中是否存在对应于所述缓存请求的数据。
5.根据权利要求4所述的负载均衡器,其中所述可编程处理器还配置成:如果在所述至少一个缓存服务器中存在对应于所述缓存请求的数据,则将存储对应于所述缓存请求的所述数据的所述缓存服务器的地址发送到所述至少一个应用服务器中的所述一个。
6.根据权利要求5所述的负载均衡器,还包括:
数据库,其配置成记录所述缓存请求和存储对应于所述缓存请求的所述数据的所述缓存服务器的关系信息。
7.根据权利要求4所述的负载均衡器,其中所述处理器管理单元还配置成:如果在所述至少一个缓存服务器中不存在对应于所述缓存请求的数据,则将负载均衡程序写入所述可编程处理器中的一个中,所述负载均衡程序通过指定所述至少一个缓存服务器中的一个来处理所述缓存请求,并且
其中所述可编程处理器中的该一个配置成将由所述负载均衡程序指定的所述至少一个缓存服务器中的该一个的地址发送到所述至少一个应用服务器的该一个。
8.根据权利要求1所述的负载均衡器,其中所述性能检查单元还配置成:将所述可编程处理器中的每一个的处理负载与预定值比较,并且
其中所述处理管理单元还配置成至少部分地基于所述比较来调节所述可编程处理器中的每一个的负载。
9.根据权利要求1所述的负载均衡器,其中所述至少一个缓存服务器连接到云数据中心。
10.根据权利要求1所述的负载均衡器,还包括:
编译器,其配置成将所述负载均衡程序转换成代表所述可编程处理器中的所述至少一个的配置信息的比特流,并且
其中所述处理器管理单元还配置成将所述比特流写入所述可编程处理器中的所述至少一个中。
11.一种在包括多个可编程处理器的负载均衡器的控制下执行的方法,包括:
从至少一个应用服务器中的一个接收缓存请求;
将通过指定所述至少一个缓存服务器中的一个来处理所述缓存请求的负载均衡程序写入所述多个可编程处理器中的一个中;以及
将对应于所述缓存请求的所述至少一个缓存服务器中的该一个的地址发送到所述至少一个应用服务器的所述一个。
12.根据权利要求11所述的方法,还包括:
确定在所述至少一个缓存服务器中是否存在对应于所述缓存请求的数据。
13.根据权利要求11所述的方法,还包括:
测量所述多个可编程处理器中的每个的处理负载;
比较所述处理负载与预定值;以及
至少部分地基于所述比较调节所述处理负载。
14.根据权利要求13所述的方法,其中所述调节包括:将所述负载均衡程序写入所述多个可编程处理器中的至少一个中。
15.根据权利要求11所述的方法,其中所述可编程处理器是FPGA(现场可编程门阵列)。
16.根据权利要求11所述的方法,其中所述至少一个缓存服务器连接到云数据中心。
17.根据权利要求11所述的方法,还包括:
在所述负载均衡器的数据库中记录所述缓存请求和所述至少一个缓存服务器中的所述一个的关系信息。
18.根据权利要求11所述的方法,还包括:
分析所述缓存请求;以及
至少部分地基于所述分析,从多个负载均衡程序确定所述负载均衡程序。
19.根据权利要求11所述的方法,还包括:
将所述负载均衡程序转换成代表所述多个可编程处理器中的所述一个的配置信息的比特流,
其中所述写入包括将所述比特流写入所述多个可编程处理器中的所述一个中。
20.一种在其上存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令响应于执行致使包括多个可编程处理器的负载均衡器执行操作,所述操作包括:
从至少一个应用服务器中的一个接收缓存请求;
将通过指定至少一个缓存服务器中的一个来处理所述缓存请求的负载均衡程序写入所述多个可编程处理器中的一个中;以及
将对应于所述缓存请求的所述至少一个缓存服务器中的该一个的地址发送到所述至少一个应用服务器中的所述一个。
21.根据权利要求20所述的计算机可读存储介质,其中所述可编程处理器是FPGA(现场可编程门阵列)。
22.根据权利要求20所述的计算机可读存储介质,其中所述操作还包括:
测量所述多个可编程处理器中的每个的处理负载;
比较所述处理负载与预定值;以及
至少部分地基于所述比较调节所述处理负载。
23.根据权利要求22所述的计算机可读存储介质,其中所述调节包括:将所述负载均衡程序写入所述多个可编程处理器中的至少一个中。
24.根据权利要求20所述的计算机可读存储介质,其中所述操作还包括:
分析所述缓存请求;以及
至少部分地基于所述分析从多个负载均衡程序确定所述负载均衡程序。
CN201280077761.6A 2012-12-17 2012-12-17 负载均衡方案 Active CN104871130B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/070063 WO2014098790A1 (en) 2012-12-17 2012-12-17 Load balancing scheme

Publications (2)

Publication Number Publication Date
CN104871130A true CN104871130A (zh) 2015-08-26
CN104871130B CN104871130B (zh) 2019-03-22

Family

ID=50932579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077761.6A Active CN104871130B (zh) 2012-12-17 2012-12-17 负载均衡方案

Country Status (4)

Country Link
US (1) US9158593B2 (zh)
CN (1) CN104871130B (zh)
TW (1) TWI570628B (zh)
WO (1) WO2014098790A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489397A (zh) * 2019-08-09 2019-11-22 上海富欣智能交通控制有限公司 数据存储方法、装置及系统
CN112015695A (zh) * 2019-05-31 2020-12-01 深圳市茁壮网络股份有限公司 一种文件缓存方法、系统及缓存系统

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033693B2 (en) 2013-10-01 2018-07-24 Nicira, Inc. Distributed identity-based firewalls
KR20150039524A (ko) * 2013-10-02 2015-04-10 삼성전자주식회사 클라우드 시스템, 클라우드 시스템 제어 방법, 관리 서버 및 그 제어 방법
WO2015145112A1 (en) * 2014-03-28 2015-10-01 British Telecommunications Public Limited Company Data retrieval
CN104202254A (zh) * 2014-08-14 2014-12-10 江苏省邮电规划设计院有限责任公司 一种基于云计算平台服务器智能负载均衡方法
US9891940B2 (en) 2014-12-29 2018-02-13 Nicira, Inc. Introspection method and apparatus for network access filtering
US10324746B2 (en) 2015-11-03 2019-06-18 Nicira, Inc. Extended context delivery for context-based authorization
IL244937A (en) 2016-04-05 2017-07-31 Musman Lior Global optimization and network load balancing
CN106155757A (zh) * 2016-08-02 2016-11-23 合肥奇也信息科技有限公司 一种基于计算机编译并运行程序执行的方法
US10938837B2 (en) 2016-08-30 2021-03-02 Nicira, Inc. Isolated network stack to manage security for virtual machines
CN110168499B (zh) 2016-12-06 2023-06-20 Nicira股份有限公司 在主机上执行上下文丰富的基于属性的服务
CN106713432B (zh) * 2016-12-13 2019-11-05 深信服科技股份有限公司 数据缓存方法及网络代理设备
CN106776024B (zh) * 2016-12-13 2020-07-21 苏州浪潮智能科技有限公司 一种资源调度装置、系统和方法
US10581960B2 (en) * 2016-12-22 2020-03-03 Nicira, Inc. Performing context-rich attribute-based load balancing on a host
US10803173B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Performing context-rich attribute-based process control services on a host
US11032246B2 (en) 2016-12-22 2021-06-08 Nicira, Inc. Context based firewall services for data message flows for multiple concurrent users on one machine
US10812451B2 (en) 2016-12-22 2020-10-20 Nicira, Inc. Performing appID based firewall services on a host
US10802858B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
US10805332B2 (en) 2017-07-25 2020-10-13 Nicira, Inc. Context engine model
US10721719B2 (en) * 2017-06-20 2020-07-21 Citrix Systems, Inc. Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US10802893B2 (en) 2018-01-26 2020-10-13 Nicira, Inc. Performing process control services on endpoint machines
US10862773B2 (en) 2018-01-26 2020-12-08 Nicira, Inc. Performing services on data messages associated with endpoint machines
US10721295B2 (en) 2018-07-24 2020-07-21 Cisco Technology, Inc. Popularity-based load-balancing for fog-cloud placement
CN109376013B (zh) * 2018-10-11 2020-12-15 北京小米智能科技有限公司 负载均衡方法及装置
US11539718B2 (en) 2020-01-10 2022-12-27 Vmware, Inc. Efficiently performing intrusion detection
US11108728B1 (en) 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026570A (zh) * 2006-02-09 2007-08-29 国际商业机器公司 基于负载均衡度量实例来选择服务器的方法和系统
US20080091845A1 (en) * 2006-10-13 2008-04-17 Mills Brendon W System and method for processing content
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法
US20120271964A1 (en) * 2011-04-20 2012-10-25 Blue Coat Systems, Inc. Load Balancing for Network Devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284067B2 (en) 2002-02-20 2007-10-16 Hewlett-Packard Development Company, L.P. Method for integrated load balancing among peer servers
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
TW201224738A (en) * 2010-12-01 2012-06-16 Inventec Corp Load-balancing method for a clustering system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
CN101026570A (zh) * 2006-02-09 2007-08-29 国际商业机器公司 基于负载均衡度量实例来选择服务器的方法和系统
US20080091845A1 (en) * 2006-10-13 2008-04-17 Mills Brendon W System and method for processing content
US20120271964A1 (en) * 2011-04-20 2012-10-25 Blue Coat Systems, Inc. Load Balancing for Network Devices
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015695A (zh) * 2019-05-31 2020-12-01 深圳市茁壮网络股份有限公司 一种文件缓存方法、系统及缓存系统
CN110489397A (zh) * 2019-08-09 2019-11-22 上海富欣智能交通控制有限公司 数据存储方法、装置及系统

Also Published As

Publication number Publication date
TW201443784A (zh) 2014-11-16
US20140173624A1 (en) 2014-06-19
WO2014098790A1 (en) 2014-06-26
CN104871130B (zh) 2019-03-22
TWI570628B (zh) 2017-02-11
US9158593B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
CN104871130A (zh) 负载均衡方案
US10048976B2 (en) Allocation of virtual machines to physical machines through dominant resource assisted heuristics
US8887169B2 (en) Task assignment in cloud computing environment
CN104065568B (zh) 一种Web服务器集群的路由方法
CN103473365B (zh) 一种基于hdfs的文件存储方法、装置及分布式文件系统
US9588984B2 (en) Peer-to-peer data management for a distributed file system
JP5945006B2 (ja) クラウドベースのシステムにおけるデータ伝送
CN103843384B (zh) 基于地理定位的负载平衡
WO2013190405A1 (en) Storage collaboration and access
US20170295077A1 (en) Optimal service provider selection
CN106776455B (zh) 一种单机多gpu通信的方法及装置
US8913498B2 (en) Priority assigning scheme
CN106453611B (zh) 一种多存储节点负载均衡的方法及装置
US20150293937A1 (en) System and method for data storage
US9811526B2 (en) Computing resource provisioning based on deduplication
US9800657B2 (en) Allocating data to plurality storage devices
CN120371509A (zh) 资源调度方法、装置、设备、存储介质和程序产品
CN117081978A (zh) 应用于信息中心网络的数据传输方法和系统
US9742675B2 (en) Management of bandwidth efficiency and fairness in cloud computing
US11297010B2 (en) In-line data operations for storage systems
US9578131B2 (en) Virtual machine migration based on communication from nodes
Huang et al. Resource provisioning with QoS in cloud storage
CN114443253A (zh) 磁盘资源调度方法、装置、电子设备、介质及程序产品
US8521714B2 (en) Peer to peer search routing algorithm
Ormenişan et al. Dela—Sharing Large Datasets between Hadoop Clusters

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210804

Address after: Wellington

Patentee after: Xero Ltd.

Address before: Delaware, USA

Patentee before: EMPIRE TECHNOLOGY DEVELOPMENT LLC

TR01 Transfer of patent right