CN109309735B - 连接处理方法、服务器、系统及存储介质 - Google Patents
连接处理方法、服务器、系统及存储介质 Download PDFInfo
- Publication number
- CN109309735B CN109309735B CN201811438212.2A CN201811438212A CN109309735B CN 109309735 B CN109309735 B CN 109309735B CN 201811438212 A CN201811438212 A CN 201811438212A CN 109309735 B CN109309735 B CN 109309735B
- Authority
- CN
- China
- Prior art keywords
- connection
- server
- client
- quality
- threshold
- 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/14—Session management
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种连接处理方法,包括:接收第一客户端发送的连接请求;判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;若所述服务器当前已经建立的连接总数小于所述连接数阈值,响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。本发明还公开了一种服务器、系统及存储介质。本发明能够让服务器根据其能力为客户端提供最大服务,同时提高服务器与客户端之间的连接效果。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种连接处理方法、服务器、系统及存储介质。
背景技术
当前,网络节点(如服务器)的内存和CPU是有限的,每个家庭的网络条件也各有不同,如何服务最大数量的客户端而保证服务质量平稳是一个极大的挑战。传统的方法是直接限制客户端连接的个数,超过该个数后则不再提供服务。
然而,传统方法存在明显的局限性,对所有网络节点使用相同的配置后,有的网络节点质量很好,但由于连接个数的限制,使得该网络节点不能充分发挥其性能,有的网络节点质量差,配置的连接个数又会超过该网络节点的服务能力。
可见,目前的这种方式,网络节点无法根据其能力为客户端提供最大服务,使得客户端的连接效果较差。
发明内容
本发明的主要目的在于提供一种连接处理方法、服务器、系统及存储介质,旨在解决如何让服务器根据其能力为客户端提供最大服务,同时提高服务器与客户端之间的连接效果的技术问题。
为实现上述目的,本发明提供一种连接处理方法,包括:
接收第一客户端发送的连接请求;
判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;
若所述服务器当前已经建立的连接总数小于所述连接数阈值,响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。
可选地,所述连接数阈值属于预设的连接数浮动范围,所述连接数阈值在所述连接数浮动范围内增减。
可选地,所述方法还包括:
判断所述当前整体连接质量是否小于预设的第一连接质量阈值;
若所述当前整体连接质量小于预设的第一连接质量阈值,则在所述连接数浮动范围内,减少所述连接数阈值。
可选地,所述方法还包括:
判断所述当前整体连接质量是否大于预设的第二连接质量阈值;
若所述当前整体连接质量大于预设的第二连接质量阈值,则在所述连接数浮动范围内,增加所述连接数阈值。
可选地,所述方法还包括:
统计在当前时间之前的预设时间内与所述服务器断开的第二客户端的第一数量;
从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;
计算所述第二数量与所述第一数量的比值;
将所述比值确定为所述当前整体连接质量。
可选地,所述方法还包括:
在所述当前时间之前的预设时间内,接收多个所述第二客户端发送的反馈信息;
若所述反馈信息提示所述第二客户端为正常断开,则确定所述第二客户端与所述服务器之间的断开属于正常断开;或
若所述反馈信息提示所述第二客户端为异常断开,则确定所述第二客户端与所述服务器之间的断开属于异常断开。
为实现上述目的,本发明进一步提供一种服务器,所述服务器包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的连接处理程序,所述连接处理程序被所述处理器执行时实现所述的连接处理方法。
可选地,所述服务器为组成内容分发网络或者区块链网络的节点。
为实现上述目的,本发明进一步提供一种连接处理系统,所述连接处理系统包括:
接收单元,用于接收第一客户端发送的连接请求;
判断单元,用于判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;
建立单元,用于若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有连接处理程序,所述连接处理程序可被一个或者多个处理器执行,以实现所述的连接处理方法。
为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行所述的连接处理方法。
本发明所实现的有益效果:
本发明中,在接收到第一客户端发送的连接请求之后,服务器可以先判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。反之,若所述服务器当前已经建立的连接总数大于或等于所述连接数阈值,则拒绝所述连接请求。可见,本发明中,所述连接数阈值由当前整体连接质量来决定,如果当前整体连接质量发生变化,则所述连接数阈值也随之改变,即如果当前整体连接质量较差,则所述连接数阈值会变小,当前允许与服务器建立连接的客户端就越少,如果当前整体连接质量较好,则所述连接数阈值会变大,当前允许与服务器建立连接的客户端就越多,这有利于让服务器根据其能力为客户端提供最大服务,同时,提高服务器与客户端之间的连接效果。
附图说明
图1为本发明一实施例公开的一种连接处理方法的应用环境示意图;
图2为本发明一实施例公开的一种连接处理方法的流程示意图;
图3为本发明一实施例公开的一种服务器的内部结构示意图;
图4为本发明一实施例公开的一种连接处理系统的功能模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种连接处理方法,可以让服务器根据其能力为客户端提供最大服务,同时,提高服务器与客户端之间的连接效果。
参照图1,图1为本发明一实施例公开的一种连接处理方法的应用环境示意图。如图1所示,所述连接处理方法的应用环境包括服务器以及多个客户端(如客户端1、客户端2……客户端n,其中,n为正整数),服务器可以与多个客户端进行通信连接。
其中,所述服务器可以是指能对网络中其它设备(如客户端)提供服务的计算机系统。如果一个个人电脑能够对外提供文件传输协议(File Transfer Protocol,简称FTP)服务,也可以叫服务器。从狭义范围上讲,服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通的个人电脑有所不同。所述服务器用于向客户端提供服务(例如数据传输服务)。所述服务器可以包括但不限于PC(PersonalComputer,个人电脑)、智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备等。本发明中,所述服务器可以是个人云盘,例如玩客云。
其中,客户端是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述客户端包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(PersonalDigital Assistant,PDA)、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
在图1所述的应用环境中,服务器在接收到第一客户端发送的连接请求之后,服务器可以先判断所述服务器当前已经建立的连接总数是否小于连接数阈值;若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。反之,若所述服务器当前已经建立的连接总数大于或等于所述连接数阈值,则拒绝所述连接请求。其中,所述连接数阈值依据当前整体连接质量的变化而动态变化,即如果当前整体连接质量较差,则所述连接数阈值会变小,当前允许与服务器建立连接的客户端就越少,如果当前整体连接质量较好,则所述连接数阈值会变大,当前允许与服务器建立连接的客户端就越多,这有利于让服务器根据其能力为客户端提供最大服务,同时提高服务器与客户端之间的连接效果。
参照图2,图2为本发明一实施例公开的一种连接处理方法的流程示意图。如图2所示,该连接处理方法可以包括如下步骤:
S201、服务器接收第一客户端发送的连接请求。
本发明实施例中,当第一客户端需要与服务器进行通信时,第一客户端可以向服务器发送连接请求。其中,该连接请求可以携带所述第一客户端的IP地址。
S202、服务器判断所述服务器当前已经建立的连接总数是否小于连接数阈值,若是,执行步骤S203,若否,结束本流程。
本发明实施例中,当客户端与服务器建立的连接个数过多时,会增加服务器运行的负担,特别是当服务器需要同时对多个客户端提供服务器时,可能会导致服务器的运行速度慢、严重时可能会导致数据丢失等问题,为了后续可以控制与服务器建立的连接个数,本发明实施例中,可以在服务器中预先设置连接数阈值。
其中,所述连接数阈值可以用于表示所述服务器所能允许的连接数的最大值。所述连接数阈值随着服务器的当前整体连接质量的变化而动态变化;所述连接数阈值属于预设的连接数浮动范围,所述连接数阈值在所述连接数浮动范围内增减。其中,连接到服务器的客户端会上报自己的连接质量给服务器,服务器可以根据各个客户端上报的连接质量来评估当前整体连接质量。
其中,所述连接数浮动范围是预先根据多次试验获得的。在试验中,通常对服务器的平均服务能力有一定预期,可以根据统计得到的试验数据进行修正而获得最终的数值。举例来说,假设所述连接数浮动范围为[Min,Max],其中,设定Min为10,Max为60,即所述连接数阈值的最小值为10,所述连接数阈值的最大值为60,所述连接数阈值只能在10至60之间增减。
本发明实施例中,在服务器接收到第一客户端发送的连接请求之后,为了不影响当前已经与服务器建立连接的客户端的服务质量,服务器需要先判断所述服务器当前已经建立的连接总数是否小于连接数阈值,以决定是否允许所述第一客户端的接入。
S203、服务器响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。
作为一种可选的实施方式,所述方法还包括:
若所述服务器当前已经建立的连接总数等于所述连接数阈值,拒绝所述连接请求。
本发明实施例中,当服务器判断当前与服务器建立连接的连接总数小于连接数阈值时,表明当前服务器还有剩余的连接可以建立,允许所述第一客户端接入后,并不影响当前已经与服务器建立连接的客户端的服务质量,故服务器可以响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。反之,当服务器判断当前与服务器建立连接的连接总数等于连接数阈值时,表明当前服务器没有剩余的连接可以建立,如果允许所述第一客户端接入后,则会影响当前已经与服务器建立连接的客户端的服务质量,故服务器可以拒绝所述连接请求。
作为一种可选的实施方式,所述方法还包括:
判断所述当前整体连接质量是否小于预设的第一连接质量阈值;
若所述当前整体连接质量小于预设的第一连接质量阈值,则在所述连接数浮动范围内,减少所述连接数阈值。
在该可选的实施方式中,服务器可以实时地对所述连接数阈值进行动态调整,具体的,服务器可以实时判断所述当前整体连接质量是否小于预设的第一连接质量阈值;若所述当前整体连接质量小于预设的第一连接质量阈值,表明服务器所接入的客户端的数量太多,使得当前服务不稳定,整体服务质量较差,服务器可以在所述连接数浮动范围内,减少所述连接数阈值。其中,可以预先设置第一连接质量阈值,所述第一连接质量阈值为预先根据多次试验获得的固定值,比如0.3,所述第一连接质量阈值用于衡量当前整体服务稳定的最低限值。
此外,若调整后的所述连接数阈值小于所述连接数浮动范围的最小值,则需要重置所述连接数阈值为最小值。
举例来说,假设所述连接数浮动范围为[10,60],当前的连接数阈值为30,当服务器判断所述当前整体连接质量小于预设的第一连接质量阈值时,服务器可以在[10,60]内,减少所述连接数阈值。具体的,可以按照预设间隔来减少所述连接数阈值,若预设间隔为10,则可以设置所述连接数阈值为30-10=20,若预设间隔为25,则调整后的所述连接数阈值为30-25=5,由于5小于[10,60]中的最小值10,则需要重置所述连接数阈值为10。
作为一种可选的实施方式,所述方法还包括:
判断所述当前整体连接质量是否大于预设的第二连接质量阈值;
若所述当前整体连接质量大于预设的第二连接质量阈值,则在所述连接数浮动范围内,增加所述连接数阈值。
在该可选的实施方式中,服务器可以实时地对所述连接数阈值进行动态调整,具体的,服务器可以实时判断所述当前整体连接质量是否大于预设的第二连接质量阈值;若所述当前整体连接质量大于预设的第二连接质量阈值,表明服务器所接入的客户端的数量太少,当前服务能力良好,整体服务质量较好,服务器可以在所述连接数浮动范围内,增加所述连接数阈值。其中,可以预先设置第二连接质量阈值,所述第二连接质量阈值为预先根据多次试验获得的固定值,比如0.5,所述第二连接质量阈值用于衡量当前整体服务良好的最低限值。
此外,若调整后的所述连接数阈值大于所述连接数浮动范围的最大值,则需要重置所述连接数阈值为最大值。
举例来说,假设所述连接数浮动范围为[10,60],当前的连接数阈值为40,当服务器判断所述当前整体连接质量大于预设的第二连接质量阈值时,服务器可以在[10,60]内,增加所述连接数阈值。具体的,可以按照预设间隔来增加所述连接数阈值,若预设间隔为10,则可以设置所述连接数阈值为40+10=50,若预设间隔为25,则调整后的所述连接数阈值为40+25=65,由于65大于[10,60]中的最大值60,则需要重置所述连接数阈值为60。
作为一种可选的实施方式,所述方法还包括:
统计在当前时间之前的预设时间内与所述服务器断开的第二客户端的第一数量;
从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;
计算所述第二数量与所述第一数量的比值;
将所述比值确定为所述当前整体连接质量。
在该可选的实施方式中,客户端与服务器之间的断开可以分为两种:正常断开和异常断开。其中,正常断开可以为客户端主动发起的断开,不受任何外界因素的影响。异常断开可以为由于外界因素的影响,比如网络不正常,使得客户端与服务器之间的连接断开,比如,网络不正常时,服务器运行速度慢,导致传输的数据丢失,进而使得客户端与服务器之间的连接慢慢断开。
其中,服务器的当前整体连接质量与客户端的连接断开有关。可以设定预设时间,比如5min,服务器可以先统计在当前时间之前的5min内与所述服务器断开的第二客户端的第一数量,进一步地,在从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;最后,计算所述第二数量与所述第一数量的比值,即可将所述比值确定为所述当前整体连接质量。其中,正常断开的第二客户端的数量越多,当前整体连接质量越好,也即服务器的服务质量越好,反之,正常断开的第二客户端的数量越少,当前整体连接质量越差,也即服务器的服务质量越差。
作为一种可选的实施方式,所述方法还包括:
在所述当前时间之前的预设时间内,接收多个所述第二客户端发送的反馈信息;
若所述反馈信息提示所述第二客户端为正常断开,则确定所述第二客户端与所述服务器之间的断开属于正常断开;或
若所述反馈信息提示所述第二客户端为异常断开,则确定所述第二客户端与所述服务器之间的断开属于异常断开。
其中,服务器的服务质量的好坏主要由客户端的反馈信息来评估。客户端和服务器之间有专属通信协议,当客户端断开连接时,客户端可以向服务器发送反馈信息,该反馈信息可以指定断开的原因:正常断开或异常断开。
在该可选的实施方式中,在所述当前时间之前的预设时间内,服务器可以接收多个所述第二客户端发送的反馈信息,并根据反馈信息来确定所述第二客户端的断开属于何种类型。具体的,如果所述反馈信息提示所述第二客户端为正常断开,服务器可以确定所述第二客户端与所述服务器之间的断开属于正常断开;如果所述反馈信息提示所述第二客户端为异常断开,服务器可以确定所述第二客户端与所述服务器之间的断开属于异常断开。
在图2所描述的方法流程中,在接收到第一客户端发送的连接请求之后,服务器可以先判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。反之,若所述服务器当前已经建立的连接总数大于或等于所述连接数阈值,则拒绝所述连接请求。可见,本发明中,所述连接数阈值由当前整体连接质量来决定,如果当前整体连接质量发生变化,则所述连接数阈值也随之改变,即如果当前整体连接质量较差,则所述连接数阈值会变小,当前允许与服务器建立连接的客户端就越少,如果当前整体连接质量较好,则所述连接数阈值会变大,当前允许与服务器建立连接的客户端就越多,这有利于让服务器根据其能力为客户端提供最大服务,同时,提高服务器与客户端之间的连接效果。
参照图3,图3为本发明一实施例公开的一种服务器的内部结构示意图,如图3所示,所述服务器1可以包括存储器11、处理器12和总线13。
在本实施例中,所述服务器1可以是PC(PersonalComputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备等。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述服务器1的内部存储单元,例如所述服务器1的硬盘。存储器11在另一些实施例中也可以是所述服务器1的外部存储设备,例如所述服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括所述服务器1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于所述服务器1的应用软件及各类数据,例如连接处理程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行连接处理程序等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,所述服务器1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该服务器1与其他电子设备之间建立通信连接。
可选地,所述服务器1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在所述服务器1中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有组件11至13以及连接处理程序的服务器1,本领域技术人员可以理解的是,图3示出的结构并不构成对服务器1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图2,所述服务器1中的所述存储器11存储多个指令以实现一种连接处理方法,所述处理器12可执行所述多个指令从而实现:
接收第一客户端发送的连接请求;
判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;
若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。
在一种可选的实施方式中,所述连接数阈值属于预设的连接数浮动范围,所述连接数阈值在所述连接数浮动范围内增减。
在一种可选的实施方式中,所述处理器12可执行所述多个指令从而实现:
判断所述当前整体连接质量是否小于预设的第一连接质量阈值;
若所述当前整体连接质量小于预设的第一连接质量阈值,则在所述连接数浮动范围内,减少所述连接数阈值。
在一种可选的实施方式中,所述处理器12可执行所述多个指令从而实现:
判断所述当前整体连接质量是否大于预设的第二连接质量阈值;
若所述当前整体连接质量大于预设的第二连接质量阈值,则在所述连接数浮动范围内,增加所述连接数阈值。
在一种可选的实施方式中,所述处理器12可执行所述多个指令从而实现:
统计在当前时间之前的预设时间内与所述服务器断开的第二客户端的第一数量;
从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;
计算所述第二数量与所述第一数量的比值;
将所述比值确定为所述当前整体连接质量。
在一种可选的实施方式中,所述处理器12可执行所述多个指令从而实现:
在所述当前时间之前的预设时间内,接收多个所述第二客户端发送的反馈信息;
若所述反馈信息提示所述第二客户端为正常断开,则确定所述第二客户端与所述服务器之间的断开属于正常断开;或
若所述反馈信息提示所述第二客户端为异常断开,则确定所述第二客户端与所述服务器之间的断开属于异常断开。
具体地,所述处理器12对上述指令的具体实现方法可参考图2对应实施例中相关步骤的描述,在此不赘述。
在图3所描述的服务器中,在接收到第一客户端发送的连接请求之后,服务器可以先判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。反之,若所述服务器当前已经建立的连接总数大于或等于所述连接数阈值,则拒绝所述连接请求。可见,本发明中,所述连接数阈值由当前整体连接质量来决定,如果当前整体连接质量发生变化,则所述连接数阈值也随之改变,即如果当前整体连接质量较差,则所述连接数阈值会变小,当前允许与服务器建立连接的客户端就越少,如果当前整体连接质量较好,则所述连接数阈值会变大,当前允许与服务器建立连接的客户端就越多,这有利于让服务器根据其能力为客户端提供最大服务,同时,提高服务器与客户端之间的连接效果。
参照图4,图4为本发明一实施例公开的一种连接处理系统的功能模块示意图。其中,图4描述的连接处理系统用于执行图2所描述的连接处理方法中的部分或全部步骤。本发明所称的单元是指一种能够被处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各单元的功能将在后续的实施例中详述。
图4所述的连接处理系统包括:
接收单元401,用于接收第一客户端发送的连接请求;
本发明实施例中,当第一客户端需要与服务器进行通信时,第一客户端可以向服务器发送连接请求。其中,该连接请求可以携带所述第一客户端的IP地址。
判断单元402,用于判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;
本发明实施例中,当客户端与服务器建立的连接个数过多时,会增加服务器运行的负担,特别是当服务器需要同时对多个客户端提供服务器时,可能会导致服务器的运行速度慢、严重时可能会导致数据丢失等问题,为了后续可以控制与服务器建立的连接个数,本发明实施例中,可以在服务器中预先设置连接数阈值。
其中,所述连接数阈值可以用于表示所述服务器所能允许的连接数的最大值。所述连接数阈值随着服务器的当前整体连接质量的变化而动态变化;所述连接数阈值属于预设的连接数浮动范围,所述连接数阈值在所述连接数浮动范围内增减。其中,连接到服务器的客户端会上报自己的连接质量给服务器,服务器可以根据各个客户端上报的连接质量来评估当前整体连接质量。
其中,所述连接数浮动范围是预先根据多次试验获得的。在试验中,通常对服务器的平均服务能力有一定预期,可以根据统计得到的试验数据进行修正而获得最终的数值。举例来说,假设所述连接数浮动范围为[Min,Max],其中,设定Min为10,Max为60,即所述连接数阈值的最小值为10,所述连接数阈值的最大值为60,所述连接数阈值只能在10至60之间增减。
本发明实施例中,在服务器接收到第一客户端发送的连接请求之后,为了不影响当前已经与服务器建立连接的客户端的服务质量,服务器需要先判断所述服务器当前已经建立的连接总数是否小于连接数阈值,以决定是否允许所述第一客户端的接入。
建立单元403,用于若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。
本发明实施例中,当服务器判断当前与服务器建立连接的连接总数小于连接数阈值时,表明当前服务器还有剩余的连接可以建立,允许所述第一客户端接入后,并不影响当前已经与服务器建立连接的客户端的服务质量,故服务器可以响应所述连接请求,建立所述第一客户端与所述服务器之间的连接。反之,当服务器判断当前与服务器建立连接的连接总数等于连接数阈值时,表明当前服务器没有剩余的连接可以建立,如果允许所述第一客户端接入后,则会影响当前已经与服务器建立连接的客户端的服务质量,故服务器可以拒绝所述连接请求。
其中,所述连接数阈值属于预设的连接数浮动范围,所述连接数阈值在所述连接数浮动范围内增减。
可选的,所述判断单元402,还用于判断所述当前整体连接质量是否小于预设的第一连接质量阈值;
图4所述的连接处理系统还可以包括:
减少单元,用于若所述当前整体连接质量小于预设的第一连接质量阈值,则在所述连接数浮动范围内,减少所述连接数阈值。
在该可选的实施方式中,服务器可以实时地对所述连接数阈值进行动态调整,具体的,服务器可以实时判断所述当前整体连接质量是否小于预设的第一连接质量阈值;若所述当前整体连接质量小于预设的第一连接质量阈值,表明服务器所接入的客户端的数量太多,使得当前服务不稳定,整体服务质量较差,服务器可以在所述连接数浮动范围内,减少所述连接数阈值。其中,可以预先设置第一连接质量阈值,所述第一连接质量阈值为预先根据多次试验获得的固定值,比如0.3,所述第一连接质量阈值用于衡量当前整体服务稳定的最低限值。
此外,若调整后的所述连接数阈值小于所述连接数浮动范围的最小值,则需要重置所述连接数阈值为最小值。
举例来说,假设所述连接数浮动范围为[10,60],当前的连接数阈值为30,当服务器判断所述当前整体连接质量小于预设的第一连接质量阈值时,服务器可以在[10,60]内,减少所述连接数阈值。具体的,可以按照预设间隔来减少所述连接数阈值,若预设间隔为10,则可以设置所述连接数阈值为30-10=20,若预设间隔为25,则调整后的所述连接数阈值为30-25=5,由于5小于[10,60]中的最小值10,则需要重置所述连接数阈值为10。
可选的,所述判断单元402,还用于判断所述当前整体连接质量是否大于预设的第二连接质量阈值;
图4所述的连接处理系统还可以包括:
增加单元,用于若所述当前整体连接质量大于预设的第二连接质量阈值,则在所述连接数浮动范围内,增加所述连接数阈值。
在该可选的实施方式中,服务器可以实时地对所述连接数阈值进行动态调整,具体的,服务器可以实时判断所述当前整体连接质量是否大于预设的第二连接质量阈值;若所述当前整体连接质量大于预设的第二连接质量阈值,表明服务器所接入的客户端的数量太少,当前服务能力良好,整体服务质量较好,服务器可以在所述连接数浮动范围内,增加所述连接数阈值。其中,可以预先设置第二连接质量阈值,所述第二连接质量阈值为预先根据多次试验获得的固定值,比如0.5,所述第二连接质量阈值用于衡量当前整体服务良好的最低限值。
此外,若调整后的所述连接数阈值大于所述连接数浮动范围的最大值,则需要重置所述连接数阈值为最大值。
举例来说,假设所述连接数浮动范围为[10,60],当前的连接数阈值为40,当服务器判断所述当前整体连接质量大于预设的第二连接质量阈值时,服务器可以在[10,60]内,增加所述连接数阈值。具体的,可以按照预设间隔来增加所述连接数阈值,若预设间隔为10,则可以设置所述连接数阈值为40+10=50,若预设间隔为25,则调整后的所述连接数阈值为40+25=65,由于65大于[10,60]中的最大值60,则需要重置所述连接数阈值为60。
可选的,图4所述的连接处理系统还可以包括:
统计单元,用于统计在当前时间之前的预设时间内与所述服务器断开的第二客户端的第一数量;
确定单元,用于从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;
计算单元,用于计算所述第二数量与所述第一数量的比值;
所述确定单元,还用于将所述比值确定为所述当前整体连接质量。
在该可选的实施方式中,客户端与服务器之间的断开可以分为两种:正常断开和异常断开。其中,正常断开可以为客户端主动发起的断开,不受任何外界因素的影响。异常断开可以为由于外界因素的影响,比如网络不正常,使得客户端与服务器之间的连接断开,比如,网络不正常时,服务器运行速度慢,导致传输的数据丢失,进而使得客户端与服务器之间的连接慢慢断开。
其中,服务器的当前整体连接质量与客户端的连接断开有关。可以设定预设时间,比如5min,服务器可以先统计在当前时间之前的5min内与所述服务器断开的第二客户端的第一数量,进一步地,在从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;最后,计算所述第二数量与所述第一数量的比值,即可将所述比值确定为所述当前整体连接质量。其中,正常断开的第二客户端的数量越多,当前整体连接质量越好,也即服务器的服务质量越好,反之,正常断开的第二客户端的数量越少,当前整体连接质量越差,也即服务器的服务质量越差。
可选的,图4所述的连接处理系统还可以包括:
接收单元,用于在所述当前时间之前的预设时间内,接收多个所述第二客户端发送的反馈信息;
所述确定单元,还用于若所述反馈信息提示所述第二客户端为正常断开,则确定所述第二客户端与所述服务器之间的断开属于正常断开;
所述确定单元,还用于若所述反馈信息提示所述第二客户端为异常断开,则确定所述第二客户端与所述服务器之间的断开属于异常断开。
其中,服务器的服务质量的好坏主要由客户端的反馈信息来评估。客户端和服务器之间有专属通信协议,当客户端断开连接时,客户端可以向服务器发送反馈信息,该反馈信息可以指定断开的原因:正常断开或异常断开。
在该可选的实施方式中,在所述当前时间之前的预设时间内,服务器可以接收多个所述第二客户端发送的反馈信息,并根据反馈信息来确定所述第二客户端的断开属于何种类型。具体的,如果所述反馈信息提示所述第二客户端为正常断开,服务器可以确定所述第二客户端与所述服务器之间的断开属于正常断开;如果所述反馈信息提示所述第二客户端为异常断开,服务器可以确定所述第二客户端与所述服务器之间的断开属于异常断开。
在图4所描述的连接处理系统中,所述连接数阈值由当前整体连接质量来决定,如果当前整体连接质量发生变化,则所述连接数阈值也随之改变,即如果当前整体连接质量较差,则所述连接数阈值会变小,当前允许与服务器建立连接的客户端就越少,如果当前整体连接质量较好,则所述连接数阈值会变大,当前允许与服务器建立连接的客户端就越多,这有利于让服务器根据其能力为客户端提供最大服务,同时,提高服务器与客户端之间的连接效果。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读存储介质中。其中,该计算机可读存储介质可以存储计算机程序,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种连接处理方法,应用于服务器中,其特征在于,所述方法包括:
接收第一客户端发送的连接请求;
判断所述服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;
若所述服务器当前已经建立的连接总数小于所述连接数阈值,响应所述连接请求,建立所述第一客户端与所述服务器之间的连接;
统计在当前时间之前的预设时间内与所述服务器断开的第二客户端的第一数量;
从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;
计算所述第二数量与所述第一数量的比值;
将所述比值确定为所述当前整体连接质量。
2.如权利要求1所述的方法,其特征在于,所述连接数阈值属于预设的连接数浮动范围,所述连接数阈值在所述连接数浮动范围内增减。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
判断所述当前整体连接质量是否小于预设的第一连接质量阈值;
若所述当前整体连接质量小于预设的第一连接质量阈值,在所述连接数浮动范围内减少所述连接数阈值。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
判断所述当前整体连接质量是否大于预设的第二连接质量阈值;
若所述当前整体连接质量大于预设的第二连接质量阈值,在所述连接数浮动范围内增加所述连接数阈值。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前时间之前的预设时间内,接收多个所述第二客户端发送的反馈信息;
若所述反馈信息提示所述第二客户端为正常断开,确定所述第二客户端与所述服务器之间的断开属于正常断开;或
若所述反馈信息提示所述第二客户端为异常断开,确定所述第二客户端与所述服务器之间的断开属于异常断开。
6.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的连接处理程序,所述连接处理程序被所述处理器执行时实现如权利要求1至5任一项所述的连接处理方法。
7.根据权利要求6所述的服务器,其特征在于,所述服务器为组成内容分发网络或者区块链网络的节点。
8.一种连接处理系统,其特征在于,所述连接处理系统包括:
接收单元,用于接收第一客户端发送的连接请求;
判断单元,用于判断服务器当前已经建立的连接总数是否小于连接数阈值,其中,所述连接数阈值依据当前整体连接质量的变化而动态变化;
建立单元,用于若所述服务器当前已经建立的连接总数小于所述连接数阈值,则响应所述连接请求,建立所述第一客户端与所述服务器之间的连接;
统计单元,用于统计在当前时间之前的预设时间内与所述服务器断开的第二客户端的第一数量;
确定单元,用于从所述第一数量的第二客户端中,确定与所述服务器正常断开的第二客户端的第二数量;
计算单元,用于计算所述第二数量与所述第一数量的比值;
所述确定单元,还用于将所述比值确定为所述当前整体连接质量。
9.一种存储介质,其特征在于,所述存储介质上存储有连接处理程序,所述连接处理程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的连接处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811438212.2A CN109309735B (zh) | 2018-11-27 | 2018-11-27 | 连接处理方法、服务器、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811438212.2A CN109309735B (zh) | 2018-11-27 | 2018-11-27 | 连接处理方法、服务器、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109309735A CN109309735A (zh) | 2019-02-05 |
CN109309735B true CN109309735B (zh) | 2022-02-22 |
Family
ID=65223290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811438212.2A Active CN109309735B (zh) | 2018-11-27 | 2018-11-27 | 连接处理方法、服务器、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109309735B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602229A (zh) * | 2019-09-20 | 2019-12-20 | 中国银行股份有限公司 | 基于动态切片的终端系统版本下载方法、装置及系统 |
CN111177203B (zh) * | 2019-12-18 | 2023-08-15 | 中国平安财产保险股份有限公司 | 动态调节数据库连接池大小的方法、服务器及存储介质 |
CN112738205B (zh) * | 2020-12-25 | 2023-04-07 | 微梦创科网络科技(中国)有限公司 | 基于服务池的资源管控方法、装置和系统 |
CN114760191B (zh) * | 2022-05-24 | 2023-09-19 | 咪咕文化科技有限公司 | 数据服务质量预警方法、系统、设备与可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763634B (zh) * | 2016-04-14 | 2019-01-04 | 北京思特奇信息技术股份有限公司 | 一种基于tcp长连接的服务实现方法和装置 |
CN106909459A (zh) * | 2016-06-02 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种调整连接池的方法及装置 |
CN106250500A (zh) * | 2016-07-29 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据库连接池的动态管理方法和系统 |
CN106776080A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇虎科技有限公司 | 工作线程的连接建立方法及装置 |
CN107302787A (zh) * | 2017-07-04 | 2017-10-27 | 上海斐讯数据通信技术有限公司 | 最大连接数动态调节方法及装置、无线接入设备 |
CN107770087A (zh) * | 2017-08-29 | 2018-03-06 | 深圳市盛路物联通讯技术有限公司 | 物联网基于连接数量的路由器切换方法及装置 |
-
2018
- 2018-11-27 CN CN201811438212.2A patent/CN109309735B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109309735A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309735B (zh) | 连接处理方法、服务器、系统及存储介质 | |
CN104808983B (zh) | 一种应用程序的推送方法及服务器 | |
CN107390983B (zh) | 业务指令执行方法、客户端和存储介质 | |
US20220263768A1 (en) | Method and Apparatus for Node Speed Limiting, Electronic Device and Storage Medium | |
CN111800462B (zh) | 微服务实例处理方法、装置、计算机设备及存储介质 | |
CN111586714B (zh) | 网络端口分配方法、装置、电子设备和计算机可用介质 | |
CN107484190B (zh) | 网络连接方法、移动终端及计算机可读存储介质 | |
CN109618174B (zh) | 一种直播数据传输方法、装置、系统以及存储介质 | |
CN110677493B (zh) | 服务状态确定方法及装置、计算机装置及存储介质 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN110620681B (zh) | 网络连接超时时间设置方法、装置、设备及介质 | |
CN111405052A (zh) | 基于端口预测的p2p穿透方法、电子设备及介质 | |
CN113626200A (zh) | 任务负载计算方法、装置、存储介质以及终端 | |
CN115145587A (zh) | 一种产品参数校验方法、装置、电子设备及存储介质 | |
CN112527615B (zh) | 一种设备确定方法、装置、电子设备及存储介质 | |
CN109697166B (zh) | 一种测试数据准备方法及相关装置 | |
CN111194059A (zh) | 一种数据连接方法、装置、电子设备及可读存储介质 | |
CN107797924B (zh) | 一种sql脚本的异常检测方法及其终端 | |
CN110245016B (zh) | 数据处理方法、系统、装置及终端设备 | |
CN113778780B (zh) | 应用稳定性的确定方法、装置、电子设备和存储介质 | |
CN114138358A (zh) | 应用程序的启动优化方法、装置、设备和存储介质 | |
CN110971697B (zh) | Redis单实例保护处理方法、装置、计算机设备及存储介质 | |
CN113641688A (zh) | 节点更新方法、相关装置及计算机程序产品 | |
CN111431764A (zh) | 节点确定方法、设备、系统及介质 | |
CN111988403A (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 |