CN112291310B - 一种统计连接数的方法及装置 - Google Patents

一种统计连接数的方法及装置 Download PDF

Info

Publication number
CN112291310B
CN112291310B CN202011096642.8A CN202011096642A CN112291310B CN 112291310 B CN112291310 B CN 112291310B CN 202011096642 A CN202011096642 A CN 202011096642A CN 112291310 B CN112291310 B CN 112291310B
Authority
CN
China
Prior art keywords
session
configuration information
server
value
target server
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
Application number
CN202011096642.8A
Other languages
English (en)
Other versions
CN112291310A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202011096642.8A priority Critical patent/CN112291310B/zh
Publication of CN112291310A publication Critical patent/CN112291310A/zh
Application granted granted Critical
Publication of CN112291310B publication Critical patent/CN112291310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种统计连接数的方法及装置,应用于管理的服务器配置信息包括分配给服务器的会话连接总数和用于管理会话连接总数的预设字段的负载均衡设备,所述方法包括:在为目标服务器创建与客户端对应的会话时,将该目标服务器的配置信息中的预设字段当前的取值写入所述会话对应的会话信息中;以及,当目标服务器的配置信息发生更新时,基于预设的步长对所述配置信息中的预设字段的取值进行递增;当分配给目标服务器的任一目标会话老化时,判断所述目标会话对应的会话信息中的预设字段的取值,和所述目标服务器的配置信息中的预设字段的取值是否相等;如果相等,则将配置信息中分配给目标服务器的会话连接总数减1。

Description

一种统计连接数的方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种连接数统计的方法及装置。
背景技术
随着网络通信技术的快速发展,服务器所承担的业务种类快速增加,所处理的业务流量也快速增长,因此通常需要在网络中部署服务器集群来处理业务流量。为了对服务器集群进行管理和调度,可以在网络中部署一台用于对服务器集群进行管理和调度的负载均衡设备,由负载均衡设备基于一定的负载均衡策略,将接收到的业务流量,分配到其管理的各服务器进行处理。
例如,在实现时,负载均衡设备可以基于负载均衡算法,将接收到的客户端发出的业务报文分配给管理的服务器中的一个或多个目标服务器,并为目标服务器和客户端之间创建对应的会话,再通过创建的会话对应的会话连接将业务报文发送到上述目标服务器,以实现各服务器之间的负载均衡。
负载均衡设备在基于负载均衡策略,对其管理的各服务器进行管理和调度时,通常需要参考其管理的各服务器真实的负载情况。
例如,在实际应用中,通常可以将各服务器与客户端之间的会话连接总数,作为各服务器真实的负载情况;负载均衡设备在基于负载均衡策略,将接收到的业务流量,分配到其管理的各服务器时,可以将上述业务流量优先分配给上述会话连接总数最小的服务器进行处理。
发明内容
有鉴于此,本申请提供一种统计连接数的方法,应用于存储有其管理的服务器的配置信息和所述服务器的会话信息的负载均衡设备,所述服务器的配置信息包括分配给所述服务器的会话连接总数和用于管理所述会话连接总数的预设字段;所述方法包括:
在基于预设的负载均衡算法,将接收到的客户端发出的报文分配给管理的各服务器中的任一目标服务器,并为所述目标服务器创建与所述客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入所述会话对应的会话信息中;以及,当所述目标服务器的配置信息发生更新时,基于预设的步长对所述配置信息中的所述预设字段的取值进行递增;
当分配给所述目标服务器的任一目标会话老化时,判断所述目标会话对应的会话信息中的所述预设字段的取值,和所述目标服务器的配置信息中的所述预设字段的取值是否相等;
如果相等,则将所述目标服务器的配置信息中分配给所述目标服务器的会话连接总数减1。
本申请还提出一种统计连接数的装置,应用于存储有其管理的服务器的配置信息和所述服务器的会话信息的负载均衡设备,所述服务器的配置信息包括分配给所述服务器的会话连接总数和用于管理所述会话连接总数的预设字段;所述装置包括:
会话创建单元,用于在基于预设的负载均衡算法,将接收到的客户端发出的报文分配给管理的各服务器中的任一目标服务器,并为所述目标服务器创建与所述客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入所述会话对应的会话信息中;
字段递增单元,用于当所述配置信息发生更新时,基于预设的步长对所述目标服务器的配置信息中的所述预设字段的取值进行递增;
字段判断单元,用于当分配给所述目标服务器的任一目标会话老化时,判断所述目标会话对应的会话信息中的所述预设字段的取值,和所述目标服务器的配置信息中的所述预设字段的取值是否相等;
连接数处理单元,用于根据所述字段判断单元的判断结果,如果相等,则将所述目标服务器的配置信息中分配给所述目标服务器的会话连接总数减1。
本申请通过在负载均衡设备存储的服务器的配置信息中,增加用于管理服务器的会话连接总数的预设字段,当目标服务器的配置信息发生更新时,基于预设的步长对上述配置信息中的预设字段的取值进行递增;在为目标服务器创建与客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入所述会话对应的会话信息中;当分配给目标服务器的任一目标会话老化时,判断目标会话对应的会话信息中预设字段的取值,和所述目标服务器的配置信息中预设字段的取值是否相等。
根据判断结果,可以获得在目标会话创建后,对应的目标服务器的配置信息是否发生过更新,如果判断结果为相等,则目标服务器的配置信息未发生更新,基于会话创建与老化的过程,对该服务器的会话连接总数进行加减,就可以实现正确统计会话连接总数;同时,本申请在目标服务器的配置信息发生更新时,不需要断开已有的会话连接,因此可以避免对应的会话承载的已有业务发生中断。
附图说明
图1是本申请一实施例示出的一种统计连接数方法流程图;
图2是本申请一实施例示出的一种统计连接数装置框图;
图3是本申请一实施例示出的一种统计连接数装置所在电子设备的硬件结构图。
具体实施方式
负载均衡(LB,Load Balance)就是通过负载均衡设备,将业务流量均衡地引导至多个操作模块上进行处理,从而在原有网络结构的基础上,实现有效利用现有带宽、增强数据处理能力、提高服务的可用性和稳定性的目的。其中,负载均衡涉及很多应用场景,比如服务器负载均衡、网关负载均衡、链路负载均衡,等等。
服务器负载均衡,通常是指在网络中部署用于对网络中的服务器集群进行管理和调度的负载均衡设备,由负载均衡设备基于一定的负载均衡策略,将接收到的业务流量,分配到其管理的各服务器进行处理;其中,这些服务器通常可以同时对外提供一组或多组相同或相似的服务。
例如,在实现时,负载均衡设备可以基于负载均衡算法,将接收到的客户端发出的业务报文分配给管理的服务器中的一个或多个目标服务器,并为目标服务器和客户端之间创建对应的会话,在通过创建的会话对应的会话连接将业务报文发送到上述目标服务器,以实现各服务器之间的负载均衡。
在实际应用中,上述“负载均衡设备”,具体可以是一个硬件设备,也可以是基于软件实现的逻辑设备;
例如,在实际应用中,上述“负载均衡设备”,具体可以是交换机、网关设备、路由器等能实现负载均衡功能的硬件设备;也可以是诸如DNS Load Balance、CheckPointFirewall-1、Connect Control等能实现负载均衡功能的软件。本申请的各实施例对于负载均衡设备的具体类型不做限定,在此不作赘述。
上述“业务流量”,具体可以是客户端向服务器端发送的、包含业务数据的一条或多条网络报文。负载均衡设备可以基于负载均衡算法,通过不同的会话连接将业务流量发送给其管理的服务器,以使各服务器能够均衡地处理业务流量,为客户端提供真实服务。
负载均衡设备管理的各个服务器,可以面向用户提供不同的真实服务,也可以提供相同或相似的真实服务。而提供相同或相似真实服务的服务器,可以集中起来可以形成服务器组或服务器集群。也即,负载均衡设备可以管理多个能够提供相同或相似的真实服务的服务器组或者服务器集群。
其中,负载均衡设备管理的多个服务器组或者服务器集群,可以为分别对应不同的负载均衡算法;在接收到来自客户端的业务报文时,负载均衡设备可以先根据业务报文对应的业务类型,来确定能够处理该业务报文的服务器组或服务器集群,然后再根据与该服务器组或服务器集群对应的负载均衡算法,将该业务报文分配给该服务器组或服务器集群中的一个或多个目标服务器进行处理。
负载均衡设备在基于负载均衡策略,对其管理的各服务器进行管理和调度时,通常需要参考其管理的各服务器真实的负载情况。
例如,在实际应用中,通常可以将各服务器与客户端之间的会话连接总数,作为各服务器真实的负载情况;负载均衡设备在基于负载均衡策略,将接收到的业务流量,分配到其管理的各服务器时,可以将上述业务流量优先分配给上述会话连接总数最小的服务器进行处理。
而在相关技术中,由于将各服务器的会话连接总数作为各服务器真实的负载情况;因此,负载均衡设备需要统计出各服务器上真实的会话连接数,当任一服务器上新增了会话或者已有会话发生老化,需要实时的对该服务器的会话连接总数进行加减。
例如,当负载均衡设备为来自客户端的报文分配了目标服务器,并为该目标服务器和客户端创建一条对应的会话时,该目标服务器的会话连接总数加1;当目标服务器上的已有的任一会话老化时,该目标服务器的会话连接总数减1。
然而,在实际应用中,各服务器的配置信息可能发生更新,配置信息发生更新不仅可能造成会话连接中断,进而导致该会话承载的已有业务发生中断,还可能会导致负载均衡设备统计出的各服务器的会话连接数发生异常,进而对各服务器的负载均衡造成影响。
在一种相关技术的实施方式中,当负载均衡设备存储的目标服务器的配置信息被删除时,此时存储该配置信息的内存会被释放;而如果该目标服务器的配置信息被删除时,该配置信息中维护的已有的会话连接并没有同时被断开的话,当这些已有会话中的任一会话连接发生老化时,由于此时存储该会话信息的配置信息的内存已被释放,使得负载均衡设备在更新该配置信息中的会话连接数时,无法查找到相关的配置信息,导致连接数统计出现异常。
在一种相关技术的实施方式中,当负载均衡设备存储的目标服务器的配置信息被删除时,此时该配置信息中维护的已有的会话连接被断开;而如果该目标服务器的配置信息被删除时,该配置信息中维护的已有的会话连接同时被断开的话,当这些会话中的任一会话承载的已有业务还没有结束时,由于此时该配置信息中维护的已有的会话连接被断开,使得业务报文无法继续传输、处理,导致该会话承载的已有业务发生中断。
因此,相关技术中,当服务器的配置信息发生更新时,无法保证连接数统计正常并且已有业务不受影响;另外,当业务流量较大、并发会话数量较多时,如果删除服务器的配置信息的同时,删除大量会话,会导致负载均衡设备使用率瞬间提高,影响其计算能力和均衡能力的稳定性。
有鉴于此,本说明书旨在提出一种,基于判断目标会话对应的会话信息中预设字段的取值与对应的服务器配置信息中预设字段的取值是否相等,以确定在目标会话创建后,对应的配置信息是否发生过更新,进而准确地统计连接数的方法。
本申请通过在负载均衡设备存储的服务器的配置信息中,增加用于管理服务器的会话连接总数的预设字段,当目标服务器的配置信息发生更新时,基于预设的步长对配置信息中预设字段的取值进行递增;在为目标服务器创建与客户端对应的会话时,将该配置信息中预设字段当前的取值写入所述会话对应的会话信息中;当分配给目标服务器的任一目标会话老化时,判断目标会话对应的会话信息中预设字段的取值,和所述目标服务器的配置信息中预设字段的取值是否相等。
根据判断结果,可以获得在目标会话创建后,对应的目标服务器的配置信息是否发生过更新,如果判断结果为相等,则目标服务器的配置信息未发生更新,可以基于会话创建与老化的过程,对该服务器的会话连接总数进行加减。
由此可见,在本申请的技术方案中,由于在服务器的配置信息中引入用于管理该服务器的会话连接总数的预设字段,基于判断目标会话的会话信息中预设字段的取值与服务器配置信息中预设字段的取值是否相等,就可以确定在目标会话创建后,对应的服务器配置信息是否发生过更新,从而基于会话创建与老化的过程,对该服务器的会话连接总数进行加减,就可以实现正确统计会话连接总数;同时,本申请在目标服务器的配置信息发生更新时,不需要断开已有的会话连接,因此可以避免对应的会话承载的已有业务发生中断。
下面通过具体实施例,并结合具体的应用场景对本申请进行描述。
请参见图1,图1是本申请一实施例示出的一种统计连接数方法流程图,应用于负载均衡设备,所述方法执行以下步骤:
步骤101:在基于预设的负载均衡算法,将接收到的客户端发出的报文分配给管理的各服务器中的任一目标服务器,并为所述目标服务器创建与所述客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入所述会话对应的会话信息中;
步骤102:判断目标服务器的配置信息是否发生更新;如果是,则基于预设的步长对该配置信息中预设字段的取值进行递增;如果否,则执行其他步骤;
步骤103:判断分配给所述目标服务器的任一目标会话是否老化;如果是则执行步骤104;如果否,则重新执行步骤103;
步骤104:判断目标会话对应的会话信息中预设字段的取值,和目标服务器的配置信息中预设字段的取值是否相等;如果是,则执行步骤105a;如果否,则执行步骤105b;
步骤105a:将目标服务器的配置信息中分配给目标服务器的会话连接总数减1;
步骤105b:重新统计所述目标服务器的会话连接总数。
上述负载均衡设备用于将接收到的业务流量分配到其管理的服务器进行处理,负载均衡设备存储有其管理的服务器的配置信息和分配到上述服务器的会话对应的会话信息。
上述服务器的配置信息可以包括服务器的会话连接总数、IP地址、MAC地址、端口号和用于管理会话连接总数的预设字段等。
上述预设字段可以是具备计数功能的、任意字节长度的字段,初始值可以设置为不大于字节长度所支持的最大值的任意值,通常初始值可以设置为0。预设字段所支持的最大值是指在选定的预设字段的字节长度下,字段的取值不会溢出的值。
例如,上述预设字段可以是魔术字magic,在服务器的配置信息中增加魔术字magic,大小为2字节,初始值为0,那么魔术字magic的最大值为65535(即216-1),当魔术字magic的取值增加为65536时,其数据会发生翻转,变为0。
在本申请实施例中,当目标服务器的配置信息发生更新时,负载均衡设备基于预设的步长,对目标服务器的配置信息中预设字段的取值进行递增。在实际应用中,预设的步长可以设置为1,也可以设置为其他的步长,在本说明书中不做限定。本领域的技术人员应当根据实际应用中的会话数量、配置信息更新频率等需求,为上述预设字段设置合理的字节长度、初始值和递增的步长,以使预设字段不会频繁发生翻转,同时合理利用系统资源。
上述目标服务器的配置信息发生更新的情形,可以包括服务器的IP地址/端口号发生更新、服务器的配置信息被删除等,还包括目标服务器的配置信息更新后,使得为目标服务器创建的会话的五元组与更新前所创建的会话的五元组不相同的情形,在本说明书中不做限制。
在一种实现方式中,当目标服务器的配置信息发生更新时,负载均衡设备可以重新统计目标服务器的会话连接总数,并将重新统计出的会话连接总数写入存储的目标服务器的配置信息,以对目标服务器的会话连接总数进行更新。通过重新统计连接数,可以避免在服务器的配置信息发生更新的过程中,由于配置信息中的会话连接总数被删除等情况,导致连接数统计出现异常,从而保证当前会话连接总数的准确性。
因此,当服务器的配置信息发生更新时,通过重新统计连接数,可以达到更优的技术效果,但是也需要消耗更多的计算资源;在本申请的技术方案中,即使在每次目标服务器的配置信息发生更新时,不重新统计会话连接总数,也可以实现本申请独立权利要求中的技术效果。
在本申请的实施例中,在负载均衡设备基于预设的负载均衡算法,将接收到的客户端发出的报文分配给其管理的服务器中的任一目标服务器,并为目标服务器创建与客户端对应的会话时,将目标服务器的配置信息中预设字段当前的取值写入会话对应的会话信息中。
在实际应用中,基于预设的负载均衡算法,负载均衡设备可以直接选择目标服务器,也可以先选择服务器组或服务器集群,再根据服务器组的调度算法选择目标服务器,在本说明书中不做限制。
例如,当客户端发出报文,服务器端的VIP(虚拟服务)接收到来自客户端的请求后,负载均衡设备基于预设的负载均衡算法,在其管理的服务器中选择目标服务器,并将接收到的报文转发给目标服务器进行处理。
在本申请实施例中,负载均衡设备确定目标服务器后,可以根据接收到的报文的源IP、源端口、目的IP、目的端口、传输协议、服务类型等信息,为目标服务器创建与客户端对应的会话,并将上述会话的信息记录在会话表中。在此会话老化之前,具有相同五元组的报文都可以通过此会话转发至目标服务器。创建新的会话时,会话对应的目标服务器的会话连接总数加1。
在本申请实施例中,服务器的配置信息中增加了用于管理会话连接总数的预设字段,在创建新的会话时,负载均衡设备将目标服务器的配置信息中预设字段的当前取值写入会话对应的会话信息中。
由于当目标服务器的配置信息发生更新时,负载均衡设备对目标服务器的配置信息中预设字段的取值进行递增,所以对于任一目标会话,通过比较会话对应的会话信息中预设字段的取值与目标服务器的配置信息中预设字段的取值是否相同,可以判断出此目标会话创建之后,目标服务器的配置信息是否发生过更新。如果相同,则此目标会话创建后,目标服务器的配置信息未发生更新;如果不相同,则此目标会话创建后,目标服务器的配置信息发生过更新。
例如,在目标服务器的IP地址发生更新之前,目标服务器中的magic值为5,所创建的与客户端对应的会话中写入的magic值也为5;当目标服务器的IP地址发生更新时,目标服务器中的magic值基于预设的步长1增加为6;在目标服务器的IP地址发生更新之后,所创建的与客户端对应的会话中写入的magic值也为6。若目标服务器的配置信息中当前magic值为6,则对于分配到该目标服务器的会话,对应的会话信息中magic值等于6的会话创建后服务器配置信息未发生更新,对应的会话信息中magic值不等于6的会话创建后服务器配置信息发生过更新。
在本申请实施例中,当分配给目标服务器的任一目标会话老化时,判断目标会话对应的会话信息中预设字段的取值和目标服务器的配置信息中当前预设字段的取值是否相等;如果相等,则目标会话创建后对应的目标服务器的配置信息未发生过更新,因此在目标会话老化时,将对应的目标服务器的会话连接总数减1;如果不相等,则目标会话创建后对应的目标服务器的配置信息发生过更新,因此在目标会话老化时,需要重新统计目标服务器的会话连接总数,从而避免连接数统计异常。
上述服务器的会话连接总数是服务器当前所有维持的会话连接数量,可以包括在最近一次的配置信息更新之前创建的会话、和在最近一次的配置信息更新之后创建的会话。因此,当任一目标会话老化时,需要判断目标会话创建后,对应的目标服务器的配置信息是否发生过更新,从而选择正确的连接数处理方式。
例如,当一个目标会话老化时,如果对应的会话信息中magic值为6,目标服务器的配置信息中magic值为6,则目标会话创建后目标服务器的配置信息没有发生过更新,可以基于会话的创建与老化对会话连接总数进行加减,因此将目标服务器的会话连接总数减1;如果目标服务器的配置信息中magic值为6,对应的会话信息中magic值为非6的其他数值,例如0、5、11等,则目标会话创建后目标服务器的配置信息发生过更新,需要重新统计连接数。
应当清楚的是,在本申请实施例中,当分配给目标服务器的任一目标会话老化时,判断目标会话对应的会话信息中预设字段的取值和目标服务器的配置信息中当前预设字段的取值是否相等,步骤105b中所示的“重新统计目标服务器的会话连接总数”,只是在判断结果为不相等时的一种处理方式;在实际应用中,本领域的技术人员,可以根据实际需求,在判断结果为不相等时选择其他处理方式。
例如,通过判断得出目标会话创建后,对应的目标服务器的配置信息已发生过更新,可以不对该目标服务器的配置信息中的会话连接总数作任何处理;也可以通过其他处理方式,在本说明书中不做限制。
在一种实现方式中,会话信息中还包括对应的目标服务器的配置信息在负载均衡设备中的存储地址。相对应的,在一种实现方式中,在判断预设字段的取值是否相等之前,一种获取目标服务器的配置信息中的预设字段的取值的方式是:获取目标会话对应的会话信息,根据所述会话信息中目标服务器的配置信息的存储地址,获取目标服务器的配置信息,再从所述配置信息中获取目标服务器中预设字段的取值。除了通过上述方式获取目标服务器的配置信息中的预设字段的取值,根据本领域常用的技术手段,还可以通过其他方式获取,本说明书不做限定。
在另一种实施方式中,当目标服务器的配置信息中预设字段的取值已经被递增至预设字段所支持的最大值时,可以将目标服务器的配置信息中预设字段的取值恢复为预设值。
上述预设值为大于预设字段的初始值、且小于预设字段所支持的最大值的任一取值,在本说明书中不做限制。例如,预设字段为魔术字magic,魔术字段的大小为2字节,初始值为0,则魔术字段所支持的最大值为65535(即216-1),当魔术字magic的取值增加为65536时,其数据会发生翻转。预设值可以是1-65554之间的任一数值,例如设置预设值为1,当魔术字magic的取值增加为65536时,其数据会发生翻转,恢复为预设值1。
通过为预设字段增加翻转机制,一方面,能够避免当预设字段的取值达到最大值时,由字节溢出导致的连接数统计错误;另一方面,能够有效利用为预设字段分配的内存,不需要为了给预设字段预留较大的取值范围,而给预设字段设置较长的字节大小,浪费内存。
在另一种实施方式中,当目标服务器的配置信息中预设字段的取值恢复为预设值时,负载均衡设备可以遍历所有会话信息,以获得分配给上述目标服务器的所有会话;将分配给上述目标服务器的所有会话对应的会话信息中预设字段的取值恢复为初始值。
例如,预设字段为魔术字magic,魔术字段的大小为2字节,初始值为0,预设值为1;当目标服务器的配置信息中magic值恢复为预设值1时,负载均衡设备遍历所有会话信息,找出所有分配到此magic值恢复为1的目标服务器的会话,并将上述会话对应的会话信息中magic值统一更新为初始值0。
通过为会话信息增加刷新机制,能够避免预设值与已有会话的会话信息中预设字段的取值相等,或者由预设值递增而得到的预设字段的取值与已有会话的会话信息中预设字段的取值相等,从而导致对预设字段的数值是否相等的判断异常。
在本实施例的技术方案中,一当面,在服务器的配置信息发生更新时,尤其是服务器的配置信息被删除时,不需要将分配到此服务器的已有会话连接断开,就能实现准确统计连接数,同时正在进行的已有业务不会被影响;另一方面,通过在服务器的配置信息中增加用于管理会话连接总数的预设字段,基于判断目标会话的会话信息中预设字段的取值与服务器配置信息中预设字段的取值是否相等,就可以确定在目标会话创建后,对应的目标服务器的配置信息是否发生过更新,从而选择不同的方式统计连接数,保证连接数统计的准确性。
与上述方法实施例相对应,本说明书还提供了一种统计连接数装置的实施例。
请参见图2,图2是本申请一实施例示出的一种统计连接数装置框图,所述装置应用于负载均衡设备,该装置可以包括如下所示单元。
会话创建单元201,用于在基于预设的负载均衡算法,将接收到的客户端发出的报文分配给管理的各服务器中的任一目标服务器,并为目标服务器创建与客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入会话对应的会话信息中;
字段递增单元202,用于当目标服务器的配置信息发生更新时,基于预设的步长对该配置信息中预设字段的取值进行递增;
字段判断单元203,用于当分配给目标服务器的任一目标会话老化时,判断目标会话对应的会话信息中预设字段的取值,和目标服务器的配置信息中预设字段的取值是否相等;
连接数处理单元204,用于根据字段判断单元203获得的判断结果,如果是,则将目标服务器的配置信息中分配给目标服务器的会话连接总数减1;如果否,则重新统计目标服务器的会话连接总数。
可选地,当目标服务器的配置信息发生更新时,连接数处理单元204还用于重新统计目标服务器的会话连接总数,并将重新统计出的会话连接总数写入所述目标服务器的配置信息,以对所述配置信息中的会话连接总数进行更新。
可选地,所述装置的字段判断单元203,具体还用于获取目标会话对应的会话信息;根据所述目标会话对应的会话信息中目标服务器的配置信息的存储地址,获取所述目标服务器的配置信息;获取所述目标服务器的配置信息中预设字段的取值。
可选地,所述装置的字段递增单元202,具体还用于当所述目标服务器的配置信息中预设字段的取值已经被递增至所述字段所支持的最大值时,将所述目标服务器的配置信息中预设字段的取值恢复为预设值,其中,所述预设值为大于所述预设字段的初始值的任一取值;当所述目标服务器的配置信息中预设字段的取值恢复为预设值时,遍历所有会话信息,以根据所述会话信息中所述目标服务器的配置信息的存储地址,获得分配给所述目标服务器的所有会话的会话信息;将所述分配给所述目标服务器的所有会话的会话信息中预设字段的取值恢复为初始值。
此外,本说明书还提供了一种统计连接数装置所在的电子设备的实施例。
与上述方法实施例相对应,本说明书还提供了一种统计连接数装置的实施例。本说明书的统计连接数装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书一种统计连接数装置所在电子设备的硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (11)

1.一种统计连接数的方法,其特征在于,应用于存储有其管理的服务器的配置信息和所述服务器的会话信息的负载均衡设备,所述服务器的配置信息包括分配给所述服务器的会话连接总数和用于管理所述会话连接总数的预设字段;所述方法包括:
在基于预设的负载均衡算法,将接收到的客户端发出的报文分配给管理的各服务器中的任一目标服务器,并为所述目标服务器创建与所述客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入所述会话对应的会话信息中;以及,当所述目标服务器的配置信息发生更新时,基于预设的步长对所述配置信息中的所述预设字段的取值进行递增;
当分配给所述目标服务器的任一目标会话老化时,判断所述目标会话对应的会话信息中的所述预设字段的取值,和所述目标服务器的配置信息中的所述预设字段的取值是否相等;
如果相等,则将所述目标服务器的配置信息中分配给所述目标服务器的会话连接总数减1。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果不相等,则重新统计所述目标服务器的会话连接总数。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标服务器的配置信息发生更新时,重新统计所述配置信息中分配给所述目标服务器的会话连接总数,并将重新统计得到的会话连接总数写入所述配置信息,以对所述配置信息中的会话连接总数进行更新。
4.根据权利要求1所述的方法,其特征在于,所述目标服务器的配置信息发生更新,包括:
所述服务器的IP地址发生更新;
所述服务器的端口号发生更新;
所述服务器的配置信息被删除。
5.根据权利要求1所述的方法,其特征在于,所述目标会话对应的会话信息,还包括所述目标服务器的配置信息的存储地址;
判断所述目标会话对应的会话信息中预设字段的取值,和所述目标服务器的配置信息中预设字段的取值是否相等之前,还包括:
获取所述目标会话对应的会话信息;
根据所述目标会话对应的会话信息中所述目标服务器的配置信息的存储地址,获取所述目标服务器的配置信息;
获取所述目标服务器的配置信息中预设字段的取值。
6.根据权利要求5所述的方法,其特征在于,基于预设的步长对所述配置信息中的所述预设字段的取值进行递增,还包括:
当所述配置信息中的所述预设字段的取值已经被递增至所述字段所支持的最大值时,将所述配置信息中的所述预设字段的取值恢复为预设值,其中,所述预设值为大于所述预设字段的初始值的任一取值;
当所述配置信息中的所述预设字段的取值恢复为预设值时,遍历所有会话信息,以根据所述会话信息中所述目标服务器的配置信息的存储地址,获得分配给所述目标服务器的所有会话的会话信息;
将所述分配给所述目标服务器的所有会话的会话信息中预设字段的取值恢复为初始值。
7.一种统计连接数的装置,其特征在于,应用于存储有其管理的服务器的配置信息和所述服务器的会话信息的负载均衡设备,所述服务器的配置信息包括分配给所述服务器的会话连接总数和用于管理所述会话连接总数的预设字段;所述装置包括:
会话创建单元,用于在基于预设的负载均衡算法,将接收到的客户端发出的报文分配给管理的各服务器中的任一目标服务器,并为所述目标服务器创建与所述客户端对应的会话时,将该目标服务器的配置信息中预设字段当前的取值写入所述会话对应的会话信息中;
字段递增单元,用于当所述配置信息发生更新时,基于预设的步长对所述目标服务器的配置信息中的所述预设字段的取值进行递增;
字段判断单元,用于当分配给所述目标服务器的任一目标会话老化时,判断所述目标会话对应的会话信息中的所述预设字段的取值,和所述目标服务器的配置信息中的所述预设字段的取值是否相等;
连接数处理单元,用于根据所述字段判断单元的判断结果,如果相等,则将所述目标服务器的配置信息中分配给所述目标服务器的会话连接总数减1。
8.根据权利要求7所述的装置,其特征在于,所述连接数处理单元,还用于根据所述字段判断单元的判断结果,如果不相等,则重新统计所述目标服务器的会话连接总数。
9.根据权利要求7所述的装置,其特征在于,当所述目标服务器的配置信息发生更新时,所述连接数处理单元还用于:
重新统计所述配置信息中分配给所述目标服务器的会话连接总数,并将重新统计得到的会话连接总数写入所述配置信息,以对所述配置信息中的会话连接总数进行更新。
10.根据权利要求7所述的装置,其特征在于,所述目标会话对应的会话信息,还包括所述目标服务器的配置信息的存储地址;
所述字段判断单元,具体还用于在判断所述目标会话对应的会话信息中预设字段的取值,和所述目标服务器的配置信息中预设字段的取值是否相等之前:
获取所述目标会话对应的会话信息;
根据所述目标会话对应的会话信息中所述目标服务器的配置信息的存储地址,获取所述目标服务器的配置信息;
获取所述目标服务器的配置信息中预设字段的取值。
11.根据权利要求10所述的装置,其特征在于,所述字段递增单元还用于:
当所述配置信息中的所述预设字段的取值已经被递增至所述字段所支持的最大值时,将所述配置信息中的所述预设字段的取值恢复为预设值,其中,所述预设值为大于所述预设字段的初始值的任一取值;
当所述配置信息中的所述预设字段的取值恢复为预设值时,遍历所有会话信息,以根据所述会话信息中所述目标服务器的配置信息的存储地址,获得分配给所述目标服务器的所有会话的会话信息;
将所述分配给所述目标服务器的所有会话的会话信息中预设字段的取值恢复为初始值。
CN202011096642.8A 2020-10-14 2020-10-14 一种统计连接数的方法及装置 Active CN112291310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011096642.8A CN112291310B (zh) 2020-10-14 2020-10-14 一种统计连接数的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011096642.8A CN112291310B (zh) 2020-10-14 2020-10-14 一种统计连接数的方法及装置

Publications (2)

Publication Number Publication Date
CN112291310A CN112291310A (zh) 2021-01-29
CN112291310B true CN112291310B (zh) 2022-04-26

Family

ID=74497029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011096642.8A Active CN112291310B (zh) 2020-10-14 2020-10-14 一种统计连接数的方法及装置

Country Status (1)

Country Link
CN (1) CN112291310B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103561055A (zh) * 2013-10-11 2014-02-05 山东省计算中心 基于会话的云计算环境下Web应用自动弹性扩展方法
EP3032800A1 (en) * 2014-12-08 2016-06-15 Alcatel Lucent Control and supervision of connected objects
CN106453116A (zh) * 2016-11-03 2017-02-22 上海斐讯数据通信技术有限公司 一种基于sdn的最小连接负载均衡方法和系统
CN108055273A (zh) * 2017-12-22 2018-05-18 北京启明星辰信息安全技术有限公司 一种内网服务器发现方法、系统及网络安全审计系统
CN109918547A (zh) * 2019-03-08 2019-06-21 山东浪潮通软信息科技有限公司 一种数据库会话管理方法及装置
CN110868323A (zh) * 2019-11-15 2020-03-06 浪潮电子信息产业股份有限公司 一种带宽控制方法、装置、设备及介质
CN111367672A (zh) * 2020-03-05 2020-07-03 北京奇艺世纪科技有限公司 数据缓存方法、装置、电子设备及计算机存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103561055A (zh) * 2013-10-11 2014-02-05 山东省计算中心 基于会话的云计算环境下Web应用自动弹性扩展方法
EP3032800A1 (en) * 2014-12-08 2016-06-15 Alcatel Lucent Control and supervision of connected objects
CN106453116A (zh) * 2016-11-03 2017-02-22 上海斐讯数据通信技术有限公司 一种基于sdn的最小连接负载均衡方法和系统
CN108055273A (zh) * 2017-12-22 2018-05-18 北京启明星辰信息安全技术有限公司 一种内网服务器发现方法、系统及网络安全审计系统
CN109918547A (zh) * 2019-03-08 2019-06-21 山东浪潮通软信息科技有限公司 一种数据库会话管理方法及装置
CN110868323A (zh) * 2019-11-15 2020-03-06 浪潮电子信息产业股份有限公司 一种带宽控制方法、装置、设备及介质
CN111367672A (zh) * 2020-03-05 2020-07-03 北京奇艺世纪科技有限公司 数据缓存方法、装置、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN112291310A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
US10637916B2 (en) Method and device for storage resource allocation for video cloud storage
US10129332B2 (en) Load balancing of distributed services
US7711900B2 (en) Method, system and program product for equitable sharing of a CAM table in a network switch in an on-demand environment
CN110858808A (zh) 一种实现限速的方法、系统及装置
CN108632165B (zh) 一种报文处理方法、装置及设备
CN107105013B (zh) 文件的处理方法、服务器、终端和系统
US10178033B2 (en) System and method for efficient traffic shaping and quota enforcement in a cluster environment
EP3779692B1 (en) Blockchain data processing
CN111245732A (zh) 一种流量控制方法、装置及设备
CN109982034A (zh) 视频监控系统中的访问请求处理方法及装置
CN115174674A (zh) 流量的转发方法
CN113179295B (zh) 报文处理方法及装置
CN112291310B (zh) 一种统计连接数的方法及装置
CN110932998B (zh) 报文处理方法和装置
US20230231815A1 (en) Multi-tenant resource management in a gateway
CN114401235B (zh) 一种队列管理中重载处理方法、系统、介质、设备及应用
CN114070798B (zh) 一种报文传输方法、装置及设备
CN111831403A (zh) 一种业务处理方法和装置
US10334055B2 (en) Communication layer with dynamic multi-session management
CN114296869A (zh) 一种基于tcp长连接的服务器节点服役方法及装置
CN113890855A (zh) 一种报文转发方法、系统、设备以及介质
CN110874267A (zh) 一种轮询调度方法、装置、存储介质及设备
CN109905320B (zh) 一种聚合端口的报文分配方法和装置
US20190068405A1 (en) Allocating internal vlan ids to user-configured vlans
CN116800684B (zh) Rdma网卡发送队列的性能隔离方法和rdma网卡

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