CN112311876B - 通过负载均衡设备确定当前会话的后端设备的方法与设备 - Google Patents
通过负载均衡设备确定当前会话的后端设备的方法与设备 Download PDFInfo
- Publication number
- CN112311876B CN112311876B CN202011187354.3A CN202011187354A CN112311876B CN 112311876 B CN112311876 B CN 112311876B CN 202011187354 A CN202011187354 A CN 202011187354A CN 112311876 B CN112311876 B CN 112311876B
- Authority
- CN
- China
- Prior art keywords
- session
- current session
- end equipment
- backend
- determining
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种通过负载均衡设备确定当前会话的后端设备的方法与设备,包括:根据当前会话对应的会话字段及对应哈希表确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;根据所述当前会话的哈希值从所述多个后端设备匹配中确定目标后端设备,并将所述当前会话分发至所述目标后端设备。本申请大大降低哈希值取模后的冲突,在保证同源同宿的同时,能够保证不同后端设备的流量分配均匀,降低服务器的负载压力,防止由于流量分配不均造成数据丢包,提升了数据分析处理的准确性和可靠性。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种通过负载均衡设备确定当前会话的后端设备的方法、装置、计算机设备及存储介质。
背景技术
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
发明内容
本申请提供一种通过负载均衡设备确定当前会话的后端设备的方法、装置、计算机设备及存储介质,本申请大大降低哈希值取模后的冲突,在保证同源同宿的同时,能够保证不同后端设备的流量分配均匀,降低服务器的负载压力,防止由于流量分配不均造成数据丢包,提升了数据分析处理的准确性和可靠性。
根据本申请的一个方面,提供了一种通过负载均衡设备确定当前会话的后端设备的方法,所述方法包括:
根据当前会话对应的会话字段确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;
根据所述当前会话的哈希值从所述多个后端设备匹配中确定目标后端设备,并将所述当前会话分发至所述目标后端设备。
根据本申请的一个方面,提供了一种通过负载均衡设备确定当前会话的后端设备的装置,所述装置包括:
确定模块,用于根据当前会话对应的会话字段确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;
匹配模块,用于根据所述当前会话的哈希值从所述多个后端设备匹配中确定目标后端设备,并将所述当前会话分发至所述目标后端设备。
根据本申请的一个方面,提供一种通过负载均衡设备确定当前会话的后端设备的设备,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行如上所述的任一方法的操作。
根据本申请的一个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如上所述的任一方法的操作。
本申请中通过添加一张哈希表,所述哈希表的长度远大于后端设备的数量,将大大降低哈希值取模后的冲突,在保证同源同宿的同时,能够保证不同后端设备的流量分配均匀,降低服务器的负载压力,防止由于流量分配不均造成数据丢包,提升了数据分析处理的准确性和可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例提供的一种通过负载均衡设备确定当前会话的后端设备的场景示意图;
图2示出本申请实施例中提供的一种通过负载均衡设备确定当前会话的后端设备的方法的一个实施例流程示意图;
图3示出本申请实施例中提供的一种通过负载均衡设备确定当前会话的后端设备的示例图;
图4示出本申请实施例中提供的确定对应分配方案的示例图;
图5示出本申请实施例中提供的当前会话的后端设备确定装置的功能模块;
图6示出可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在计算设备中执行,各计算设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
本申请提供了一种通过负载均衡设备确定当前会话的后端设备的方法,主要由负载均衡设备和对应的后端设备完成,所述负载均衡设备与所述多个后端设备建立了通信连接,所述负载均衡设备基于本方案能够将输入流量的网络会会话分配至对应后端设备。非示例性地,如图1所示,在当前网关中负载均衡设备接收到输入流量,并将输入流量分配至对应的多个后端设备,其中,所述负载均衡设备包括但不限于服务器内安装的对应功能模块,或者负载均衡器、分流器或者对应控制器等。所述后端设备包括但不限于与负载均衡设备连接的多个服务器、服务器内设置的网元等。为了方便后端设备对输入流量中网络会话进行处理,一般会要求同一会话的上下行(同源同宿)完整流量,都要到同一个后端设备。
图1示出的网关可以设置于计算机设备,计算机设备中集成有对应当前会话的后端设备确定装置。本申请实施例中计算机设备主要用于通过负载均衡设备确定当前会话的后端设备。
本申请实施例中,该计算机设备可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的计算机设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,本领域普通技术人员可知,随着网关场景的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
结合图1所示的场景,图2示出根据本申请一个方面的一种通过负载均衡设备确定当前会话的后端设备的方法,具体包括步骤S101、步骤S102。在步骤S101中,根据当前会话对应的会话字段及对应哈希表确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;在步骤S102中,根据所述当前会话的哈希值从所述多个后端设备匹配中确定目标后端设备,并将所述当前会话分发至所述目标后端设备。
具体而言,在步骤S101中,根据当前会话对应的会话字段及对应哈希表确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应。所述会话包括一个客户与服务器之间的不中断的请求响应序列。对客户的每个请求,服务器能够识别出请求来自于同一个客户。当一个未知的客户向Web应用程序发送第一个请求时就开始了一个会话。当客户明确结束会话或服务器在一个预定义的时限内不从客户接受任何请求时,会话就结束了。当会话结束后,服务器就忘记了客户以及客户的请求所述当前会话的会话字段包括当前会话的源IP、目的IP、源端口及目的端口等。如图3所示,多个网络会话取其会话字段,并根据会话字段计算哈希地址,根据哈希表的长度取模确定对应所得余数,将该所得余数作为对应哈希值,并根据各网络会话的哈希值组成的哈希表将网络会话分配至各后端设备。在此,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,如哈希表的长度远大于多个后端设备的设备数量,降低哈希值取模后的冲突等。在一些实施方式中,所述预定倍数大于或等于100。例如,当后端设备的数量为10时,对应哈希表的长度大于或等于1000,用于降低各网络会话的哈希值取模后的冲突。
在步骤S102中,根据所述当前会话的哈希值从所述多个后端设备匹配中确定目标后端设备,并将所述当前会话分发至所述目标后端设备。例如,若当前会话的哈希值取模后未产生冲突,则从所述多个后端设备中确定目标后端设备,如随机选择一个后端设备,或者轮询各个后端设备等,还如,根据各后端设备的当前会话数量或者对应荷载流量等确定数量最少的后端设备作为目标后端设备等。随后,将所述当前会话分发至对应目标后端设备,如图3中所示,确定会话1、会话2等分别对应后端设备D1和后端设备D2后,将会话1分配至对应后端设备D1,将会话2分配至对应后端设备D2。在一些实施方式中,在步骤S102中,根据所述当前会话的哈希值轮询所述多个后端设备确定所述目标后端设备,并将所述当前会话分发至所述目标后端设备。例如,所述哈希表的初始状态为空,当第一个会话到来时,会命中到哈希表的一个节点,此节点为空时,则标记本节点指向第一个后端设备,此会话将负载到该第一个后端设备;当第二个会话到来时,会命中到哈希表的一个节点,此节点为空时,则标记本节点指向下一个后端设备,此会话将负载到该下一个后端设备;……当新的会话到来时,会命中到哈希表的一个节点,当此节点为空时,则标记本节点轮询指向下一个后端设备,此会话将负载到该轮询的下一个后端设备;当新的会话到来时,命中的话哈希表的节点不为空,则此会话将负载到本节点已标记指向的后端设备等。如图3所示的负载均衡哈希表,当会话1至会话6对应的哈希值不存在冲突时,分别轮询确定对应的后端设备,如会话1先匹配确定对应后端设备D1,会话2匹配确定对应后端设备D2,会话3匹配确定对应后端设备D3,当第一轮匹配完成后,会话4重新从后端设备D1开始匹配,后续会话5、会话6分别匹配确定对应后端设备D2、D3等,对应负载均衡设备基于负载均衡哈希表格将各会话分发至对应后端设备。如图4所示的,对应会话2和会话4命中同一个节点,则确定会话4对应目标后端设备为后端设备D2。
在一些实施方式中,所述多个后端设备中每个后端设备当前对应着至少一个会话。例如,当前会话确定目标后端设备时,当前网关的多个后端设备中每个后端设备已经负载至少一个会话,换言之,所述多个后端设备中各后端设备当前荷载不为空等。此时,再根据对应哈希表计算哈希值从而确定对应的目标后端设备,由于哈希表的长度远大于后端设备的数量,当前会话命中哈希表的节点为空的概率非常大,可以基于其他因素进行匹配确定目标后端设备,如对应荷载流量等。在一些实施方式中,所述根据所述当前会话的哈希值从所述多个后端设备匹配确定目标后端设备,包括:根据所述当前会话的哈希值及所述多个后端设备的荷载流量从所述多个后端设备中匹配确定目标后端设备。例如,所述荷载流量包括对应后端设备当前所负载的至少一个会话的总流量,该荷载流量可以表示为一个具体数值,如多少字节等;该荷载流量还可以表示为当前后端设备的当前荷载流量占用该后端设备的总负载流量的比值,如占比为0.2、0.7等处于0~1之间的数值等。根据所述多个后端设备的荷载流量选择合适的后端设备作为目标后端设备,如选择当前荷载流量最小的后端设备,或者从当前荷载流量低于一定流量阈值的后端设备中轮询或者随机选择一个作为对应目标后端设备。如在一些实施方式中,所述根据所述当前会话的哈希值及所述多个后端设备的荷载流量从所述多个后端设备中匹配确定目标后端设备,包括:若所述当前会话的哈希值不存在哈希冲突,从所述多个后端设备中选择荷载流量最低的后端设备作为对应的目标后端设备。例如,为了尽量均衡当前后端设备的流量分配,每次将多个后端设备中当前荷载流量最低的后端设备作为对应的目标后端设备。如若当前会话的哈希值不存在哈希冲突,则所述当前会话命中到哈希表中的节点为空,可以根据匹配规则确定目标后端设备,在此,对应规则包括统计所述多个后端设备的当前荷载流量并选择荷载流量最低的后端设备作为对应的目标后端设备。本申请通过将荷载流量最低的后端设备作为目标后端设备,能够实现智能分配各会话,能够实现各后端设备的荷载流量的平均分配。
在一些实施方式中,所述根据所述当前会话的哈希值及所述多个后端设备的荷载流量从所述多个后端设备中匹配确定目标后端设备,包括:若所述当前会话的哈希值不存在哈希冲突,根据所述多个后端设备的荷载流量及所述当前会话的流量确定对应的分配方案,其中,所述分配方案用于调整所述多个后端设备当前分配的会话并确定所述当前会话对应的目标后端设备。例如,除了前述确定目标后端设别外,还可以根据所述多个后端设备的荷载流量确定对应的分配方案,该分配方案是基于多个后端设备的当前荷载流量和所述当前会话的流量确定的均衡分配方案,该均衡分配方案除了根据考虑各后端设备的当前荷载流量之外,还根据各后端设备负载的各会话的流量确定。例如,假设后端设备D1当前负载会话为会话1、会话4,分别占用后端设备D1的流量为0.15、0.25,后端设备D2当前负载会话为会话2,占用后端设备D2的流量为0.3,后端设备D3当前负载会话为会话3、会话5,分别后端设备D3的流量为0.1、0.25等,假设当前会话的流量为0.2,根据统计分析后端设备的荷载流量与当前会话的流量确定各后端设备的平均流量,并基于该平均流量计算各后端设备负载会话,基于该计算的后端设备负载会话确定最简单的调配方案,如计算对应平均流量为0.417,将各后端设备负载会话流量控制在该平均流量附近,如后端设备D1对应会话保持不变,将后端设备D3中的会话3调配至后端设备D2,并将会话6负载至后端设备D3等,使得对应各设备的流量更加均衡。如在一些实施方式中,所述将所述会话分发至所述目标后端设备,包括:根据所述分配方案重新调整所述多个后端设备的当前分配的会话并将所述当前会话分发至所述目标后端设备。例如,确定对应分配方案后,根据所述分配方案重新调整当前已分配的会话,如上述举例中后端设备D3中的会话3调配至后端设备D2等,随后,当前会话分发至对应目标后端设备,如将会话6负载至后端设备D3。通过本方式能够通过较为简单的匹配实现最大程度的流量均衡,为数据处理营造了稳定可靠的网络环境。
在一些实施方式中,所述方法还包括步骤S103(未示出)。在步骤S103中,将所述分配方案存储至分配模板数据库。例如,根据各会话的流量分配方式,将当前分配方案存储至对应分配模板数据库,该分配模板数据库用于存储各会话的流量及对应分配方案的映射模板,若当前网关的各会话的流量与该分配模板数据库中的某模板相同,则可以调用该模板对当前各会话进行调配,并确定当前会话对应的目标后端设备。本方式可以节约部分计算资源,通过对模板的复用,快速实现流量均衡,提升了流量均衡效率。
上文主要对本申请的一种通过负载均衡设备确定当前会话的后端设备的方法对应各实施例进行了介绍,除此之外,本申请还提供了能够实现上述各实施例的装置,下面结合图5进行介绍。
图5示出根据本申请一个方面的一种通过负载均衡设备确定当前会话的后端设备装置100,具体包括确定模块101、匹配模块102。确定模块101,用于当前会话对应的会话字段及对应哈希表确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;匹配模块102,用于根据所述当前会话的哈希值从所述多个后端设备匹配中确定目标后端设备,并将所述当前会话分发至所述目标后端设备。在一些实施方式中,所述预定倍数大于或等于100。在一些实施方式中,匹配模块102,用于根据所述当前会话的哈希值轮询所述多个后端设备确定所述目标后端设备,并将所述当前会话分发至所述目标后端设备。在一些实施方式中,所述多个后端设备中每个后端设备当前对应着至少一个会话。在一些实施方式中,所述根据所述当前会话的哈希值从所述多个后端设备匹配确定目标后端设备,包括:根据所述当前会话的哈希值及所述多个后端设备的荷载流量从所述多个后端设备中匹配确定目标后端设备。如在一些实施方式中,所述根据所述当前会话的哈希值及所述多个后端设备的荷载流量从所述多个后端设备中匹配确定目标后端设备,包括:若所述当前会话的哈希值不存在哈希冲突,从所述多个后端设备中选择荷载流量最低的后端设备作为对应的目标后端设备。在一些实施方式中,所述根据所述当前会话的哈希值及所述多个后端设备的荷载流量从所述多个后端设备中匹配确定目标后端设备,包括:若所述当前会话的哈希值不存在哈希冲突,根据所述多个后端设备的荷载流量及所述当前会话的流量确定对应的分配方案,其中,所述分配方案用于调整所述多个后端设备当前分配的会话并确定所述当前会话对应的目标后端设备。如在一些实施方式中,所述将所述会话分发至所述目标后端设备,包括:根据所述分配方案重新调整所述多个后端设备的当前分配的会话并将所述当前会话分发至所述目标后端设备。在此,所述图5示出的确定模块101、匹配模块102对应的具体实施方式与前述图2示出的步骤S101、步骤S102的实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在一些实施方式中,所述装置还包括存储模块103(未示出),用于将所述分配方案存储至分配模板数据库。在此,所述存储模块103对应的具体实施方式与前述步骤S103的实施例相同或相似,因而不再赘述,以引用的方式包含于此。
除上述各实施例介绍的方法和装置外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图6示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图6所示在一些实施例中,系统600能够作为各所述实施例中的任意一个上述设备。在一些实施例中,系统600可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或非易失性存储(NonVolatile Memory)VNM/存储设备620)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器605)。
对于一个实施例,系统控制模块610可包括任意适当的接口控制器,以向(一个或多个)处理器605中的至少一个和/或与系统控制模块610通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块610可包括存储器控制器模块630,以向系统存储器615提供接口。存储器控制器模块630可以是硬件模块、软件模块和/或固件模块。
系统存储器615可被用于例如为系统600加载和存储数据和/或指令。对于一个实施例,系统存储器615可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器615可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块610可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备620及(一个或多个)通信接口625提供接口。
例如,NVM/存储设备620可被用于存储数据和/或指令。NVM/存储设备620可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(Hard Disk Drive,HDD)、一个或多个光盘(compactdisc,CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备620可包括在物理上作为系统600被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备620可通过网络经由(一个或多个)通信接口625进行访问。
(一个或多个)通信接口625可为系统600提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统600可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器605中的至少一个可与系统控制模块610的一个或多个控制器(例如,存储器控制器模块630)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器605中的至少一个可与系统控制模块610的一个或多个控制器的逻辑封装在一起以形成系统级封装(System in a Package,SiP)。对于一个实施例,(一个或多个)处理器605中的至少一个可与系统控制模块610的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器605中的至少一个可与系统控制模块610的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(System on Chip,SoC)。
在各个实施例中,系统600可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统600可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统600包括一个或多个摄像机、键盘、液晶显示器(Liquid Crystal Display,LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(Application SpecificIntegrated Circuit,ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁(Magnetoresistive Random Access Memory,MRAM)/铁电存储器Ferroelectric RAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
以上对本申请实施例所提供的一种通过负载均衡设备确定当前会话的后端设备的方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种通过负载均衡设备确定当前会话的后端设备的方法,其特征在于,所述方法包括:
根据当前会话对应的会话字段及对应哈希表确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;
若所述当前会话的哈希值不存在哈希冲突,从所述多个后端设备中选择荷载流量最低的后端设备作为对应的目标后端设备,并将所述当前会话分发至所述目标后端设备。
2.根据权利要求1所述的方法,其特征在于,所述预定倍数大于或等于100。
3.根据权利要求1所述的方法,其特征在于,所述多个后端设备中每个后端设备当前对应着至少一个会话。
4.一种通过负载均衡设备确定当前会话的后端设备的装置,其特征在于,所述装置包括:
确定模块,用于根据当前会话对应的会话字段及对应哈希表确定所述当前会话的哈希值,其中,所述哈希表的长度大于或等于预定倍数的多个后端设备的设备数量,所述多个后端设备与所述负载均衡设备相对应;
匹配模块,用于若所述当前会话的哈希值不存在哈希冲突,从所述多个后端设备中选择荷载流量最低的后端设备作为对应的目标后端设备,并将所述当前会话分发至所述目标后端设备。
5.一种通过负载均衡设备确定当前会话的后端设备的设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行如权利要求1至3中任一项所述方法的操作。
6.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如权利要求1至3中任一项所述方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011187354.3A CN112311876B (zh) | 2020-10-30 | 2020-10-30 | 通过负载均衡设备确定当前会话的后端设备的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011187354.3A CN112311876B (zh) | 2020-10-30 | 2020-10-30 | 通过负载均衡设备确定当前会话的后端设备的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311876A CN112311876A (zh) | 2021-02-02 |
CN112311876B true CN112311876B (zh) | 2022-08-16 |
Family
ID=74332587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011187354.3A Active CN112311876B (zh) | 2020-10-30 | 2020-10-30 | 通过负载均衡设备确定当前会话的后端设备的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311876B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086886B (zh) * | 2019-05-14 | 2021-12-31 | 北京天融信网络安全技术有限公司 | 动态会话保持方法及装置 |
CN113542051B (zh) * | 2021-05-27 | 2022-08-30 | 贵州电网有限责任公司 | 一种基于软件定义网络的监控流量负载均衡方法 |
CN117914783A (zh) * | 2024-03-20 | 2024-04-19 | 鹏城实验室 | 流量数据的实时处理方法、装置、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101383905B1 (ko) * | 2011-12-19 | 2014-04-17 | 주식회사 솔박스 | 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치 |
CN102970242B (zh) * | 2012-11-09 | 2015-06-17 | 深圳市共进电子股份有限公司 | 一种实现负载均衡的方法 |
CN106357726B (zh) * | 2016-08-24 | 2019-08-20 | 东软集团股份有限公司 | 负载均衡方法及装置 |
CN106850852B (zh) * | 2017-03-20 | 2019-09-20 | 南京大学 | 一种私有云基于动态反馈的局部一致性哈希负载均衡方法 |
US10616321B2 (en) * | 2017-12-22 | 2020-04-07 | At&T Intellectual Property I, L.P. | Distributed stateful load balancer |
CN109981476B (zh) * | 2017-12-27 | 2021-12-21 | 华为技术有限公司 | 一种负载均衡方法和装置 |
CN109347623B (zh) * | 2018-10-18 | 2022-09-09 | 苏州盛科通信股份有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
CN109040323B (zh) * | 2018-10-19 | 2021-03-16 | 盛科网络(苏州)有限公司 | 负载均衡装置 |
CN110061929B (zh) * | 2019-03-10 | 2021-12-28 | 天津大学 | 针对非对称网络的数据中心负载均衡方法 |
CN110839084B (zh) * | 2019-11-19 | 2022-04-05 | 中国建设银行股份有限公司 | 会话管理方法、装置、设备和介质 |
CN111083232B (zh) * | 2019-12-27 | 2022-06-28 | 南京邮电大学 | 一种基于改进一致性哈希的服务器端负载均衡方法 |
-
2020
- 2020-10-30 CN CN202011187354.3A patent/CN112311876B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112311876A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112311876B (zh) | 通过负载均衡设备确定当前会话的后端设备的方法与设备 | |
US11693669B2 (en) | Deploying service containers in an adapter device | |
US11444846B2 (en) | Technologies for accelerated orchestration and attestation with edge device trust chains | |
US11409819B2 (en) | Method and device for recommending social user | |
US20170180470A1 (en) | Method and electronic device for sending CDN address | |
CN107105013B (zh) | 文件的处理方法、服务器、终端和系统 | |
CN112468371B (zh) | 一种确定dpi设备的传输时延信息的方法与设备 | |
CN112350918B (zh) | 一种业务流量调度方法、装置、设备及存储介质 | |
CN107332700B (zh) | 一种用于配置无线路由设备的方法与设备 | |
US20230161541A1 (en) | Screen projection method and system | |
CN113329081A (zh) | 一种区块链服务接入方法、装置及计算机可读存储介质 | |
US20180139308A1 (en) | System and Method for Centralized Management of Software Services | |
US11411887B2 (en) | Method and device for performing traffic control on user equipment | |
US10645177B2 (en) | Cookie based session timeout detection and management | |
CN114296651B (zh) | 一种用于存储自定义数据信息的方法与设备 | |
CN108628551B (zh) | 一种数据处理方法及装置 | |
CN114143377B (zh) | 资源请求的配置方法、服务端、客户端、设备和存储介质 | |
CN109246034B (zh) | 一种用于为移动设备分配流量资源的方法与设备 | |
CN111181864B (zh) | 确定从应用至服务器的链路拥塞状态的方法与设备 | |
CN105519055A (zh) | 一种I/O通道QoS动态均衡方法及装置 | |
CN112650514A (zh) | 联盟链的补丁更新方法、装置、设备及存储介质 | |
CN111934981A (zh) | 一种撤回红包的方法与设备 | |
CN111629421B (zh) | 一种用于管理无线接入点的方法与设备 | |
CN108540991B (zh) | 一种基站管理方法及装置 | |
CN114742545A (zh) | 一种群资源信息的分配方法、设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |