CN105721342A - 多进程设备的网络连接方法和系统 - Google Patents
多进程设备的网络连接方法和系统 Download PDFInfo
- Publication number
- CN105721342A CN105721342A CN201610101342.1A CN201610101342A CN105721342A CN 105721342 A CN105721342 A CN 105721342A CN 201610101342 A CN201610101342 A CN 201610101342A CN 105721342 A CN105721342 A CN 105721342A
- Authority
- CN
- China
- Prior art keywords
- connection
- new connection
- group
- minimum
- module
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/828—Allocation of resources per group of connections, e.g. per group of users
Abstract
本发明涉及一种多进程设备的网络连接方法和系统。所述方法包括以下步骤:按照配置的组数及总进程数对进程进行分组得到每组的进程数;根据每组的进程数获取每组进程中连接数最少的进程;将所述每组进程中连接数最少的进程标记为可接收新连接的进程;获取新连接;将所述标记为可接收新连接的进程与所述新连接建立连接,且增加本进程的连接数,并将所述本进程标记为不可接收新连接。上述多进程设备的网络连接方法和系统,每次选择每组进程中连接数最少的进程作为可接收新连接的进程,与新连接建立连接,能均匀配置各进程的连接数,降低性能损耗。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种多进程设备的网络连接方法和系统。
背景技术
当设备中有多个进程/线程在等待同一资源时,每当资源可用,所有的进程/线程都来竞争资源,但只有一个进程才能获得资源,对其余进程而言,造成了性能的损耗,即为惊群问题。进程越多,惊群的影响也就越大。在多进程并发接收连接的服务器时,需要尽可能消除惊群问题带来的性能损耗,传统的方式是例如Nginx等服务器通过锁实现当前只有一个进程来接收连接的方法,如图1所示,各个进程共享了一个全局的互斥锁,在服务器初始化完毕,进程开始竞争该互斥锁,而持有互斥锁的进程才可以监听新连接,内核通过Epoll通知新连接的到来,在连接建立后该进程释放掉锁,其它进程在竞争互斥锁时才能有机会持有互斥锁。当前进程是否能继续参与竞争锁,必须判断其连接数是否超过限额,若超过,则标记无权继续竞争锁而不能接收新连接,其只能处理已连接的数据收发等业务逻辑,等连接检查逻辑发现释放连接到低于限额时,重新参与竞争而获得新连接,若未超过,则进程在处理完本次业务逻辑后,继续参与竞争接收新连接。
然而,采用传统的方式,因多个进程总是竞争锁以获得新连接,特别是在多核服务器下,进程数配置较多,则竞争失败的概率增大,导致存在较大的性能损耗,且进程通过竞争锁随机获得新连接,但在处理完各连接数据后,进程可能释放该连接也可能一直保持该连接,导致连接数会随着持续运行而不均,进程连接不均则负载不均,CPU(CentralProcessingUnit,中央处理器)需要更频繁的调度,会额外增加中断和切换,导致性能的损耗。
发明内容
基于此,有必要针对传统的方式因采用锁和连接数不均导致性能损耗的问题,提供一种多进程设备的网络连接方法,能均匀配置连接数,降低性能损耗。
此外,还有必要提供一种多进程设备的网络连接系统,能均匀配置连接数,降低性能损耗。
一种多进程设备的网络连接方法,包括以下步骤:
按照配置的组数及总进程数对进程进行分组得到每组的进程数;
根据每组的进程数获取每组进程中连接数最少的进程;
将所述每组进程中连接数最少的进程标记为可接收新连接的进程;
获取新连接;
将所述标记为可接收新连接的进程与所述新连接建立连接;
增加本进程的连接数,并将所述本进程标记为不可接收新连接。
一种多进程设备的网络连接系统,包括:
分组模块,用于按照配置的组数及总进程数对进程进行分组得到每组的进程数;
第一获取模块,用于根据每组的进程数获取每组进程中连接数最少的进程;
标记模块,用于将所述每组进程中连接数最少的进程标记为可接收新连接的进程;
第二获取模块,用于获取新连接;
建立模块,用于将所述标记为可接收新连接的进程与所述新连接建立连接;
计数模块,用于增加本进程的连接数;
所述标记模块还用于将所述本进程标记为不可接收新连接。
上述多进程设备的网络连接方法和系统,将设备的进程分成多个组,每次获取每组进程中连接数最少的进程,并将该连接数最少的进程标记为可接收新连接的进程,获取到新连接后,将可接收新连接的进程与新连接建立连接,并将该可接收新连接的进程标记为不可接收新连接的进程,实现了各组内进程不存在惊群影响,且每次选择连接数最少的进程作为可接收新连接的进程,能均匀配置各进程的连接数,降低性能损耗,不会因进程连接不均引起负载不均而导致处理器频繁的调度额外增加中断和上下文的切换。
附图说明
图1为传统的Nginx进程的连接均衡示意图;
图2为一个实施例中多进程设备的网络连接方法的应用环境示意图;
图3为一个实施例中多进程设备的网络连接方法的流程图;
图4为传统的Nginx对新连接的处理示意图;
图5为本发明的多进程设备的网络连接方法对新连接的处理示意图;
图6为另一个实施例中多进程设备的网络连接方法的流程图;
图7为一个实施例中多进程设备的网络连接系统的结构框图;
图8为另一个实施例中多进程设备的网络连接系统的结构框图;
图9为另一个实施例中多进程设备的网络连接系统的结构框图;
图10为另一个实施例中多进程设备的网络连接系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图2为一个实施例中多进程设备的网络连接方法的应用环境示意图。如图2所示,以设备为服务器为例,该应用环境包括服务器210和至少一个客户端220。服务器210与客户端220通过网络进行连接。
客户端220可为多个,采用客户端220a、客户端220b、客户端220c表示等。客户端220可为手机、平板电脑、台式计算机、个人数字助理、穿戴式设备等。
服务器210可包括硬件和运行于硬件上的操作系统和应用程序。硬件可包括网卡、处理器(一个或多个)和存储器等。处理器为多个,采用处理器1、处理器2等表示。
操作系统可为Linux、IOS、Windows等。本实施例中,操作系统采用的是Linux操作系统。
服务器210上运行多个进程如P1、P2、……、Pn,采用主进程配置绑定某一个系统端口,其余各进程通过该端口,在新连接到来通知后,同多个客户端220建立连接以处理多个业务请求。服务器210通过TCP(TransmissionControlProtocol,传输控制协议)协议等与客户端220进行通信。
服务器210按照配置的组数及总进程数对进程进行分组得到每组的进程数,并对每组进程中每个进程分别进行标号,获取每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程,将该进程标记为可接收新连接的进程,如此每次都筛选出连接数最少的进程,能够均衡各进程的连接数,从而降低由于进程负载不均导致的处理器频繁调度下的中断和上下文切换的性能损耗。且每个分组同时最多只有一个进程可以接收连接,组内不存在惊群问题。多个分组的每个分组都有一个进程可以接收连接,即多个进程并发接收连接,相比于单个进程,提高了对新连接的响应速度。
此外,在其他实施例中,设备可为有多个进程,需要连接多个其他设备的设备。
图3为一个实施例中多进程设备的网络连接方法的流程图。如图3所示,一种多进程设备的网络连接方法,包括以下步骤:
步骤302,按照配置的组数及总进程数对进程进行分组得到每组的进程数。
具体地,组数和总进程数可根据设备的处理能力及业务逻辑繁忙、阻塞情况进行确定。通常,组数应该尽可能少,以最大程序降低惊群的影响。但在业务逻辑繁忙、阻塞处理多时,根据情况提高分组的组数,提高对连接的响应速度。
总进程数为N,组数为M,则每组的进程数为K=N/M。
步骤304,根据每组的进程数获取每组进程中连接数最少的进程。
具体地,获取每组进程中各个进程的连接数,再比较各个进程的连接数,得到连接数最少的进程。
步骤306,将该每组进程中连接数最少的进程标记为可接收新连接的进程。
具体地,将各组进程中连接数最少的进程标记为可接收新连接的进程,方便新连接到来时,进行接收新连接,避免组内进程竞争。标记可采用任意方式,如采用“1”标记为可接收新连接等,不限于此。
步骤308,获取新连接。
步骤310,将该标记为可接收新连接的进程与该新连接建立连接,且增加本进程的连接数,并将该本进程标记为不可接收新连接,再执行步骤304。
具体地,标记为可接收新连接的进程与该新连接建立连接后,本进程的连接数增加1。将该本进程标记为不可接收新连接,开始在本进程所在组内再获取连接数最少的进程。
上述多进程设备的网络连接方法,将设备的进程分成多个组,每次获取每组进程中连接数最少的进程,并将该连接数最少的进程标记为可接收新连接的进程,获取到新连接后,将可接收新连接的进程与新连接建立连接,并将该可接收新连接的进程标记为不可接收新连接的进程,实现了各组内进程不存在惊群影响,且每次选择连接数最少的进程作为可接收新连接的进程,能均匀配置各进程的连接数,降低性能损耗,不会因进程连接不均引起负载不均而导致处理器频繁的调度额外增加中断和上下文的切换。
进一步的,在一个实施例中,在该获取每组进程中连接数最少的进程的步骤之后,该多进程设备的网络连接方法还包括:判断每组进程中连接数最少的进程的连接数是否小于连接数阈值;若是,则将每组进程中连接数最少的进程标记为可接收新连接的进程,若否,则当前组内进程均标记为不可接收新连接。
具体地,连接数阈值是指每个进程能接收的最大连接,例如5、6等。若某组进程中连接数最少的进程的连接数不小于连接数阈值,其他进程的连接数也不小于连接数阈值,则将当前组内进程均标记为不可接收新连接,等待某个进程释放了连接,可再对该组内进程进行筛选出连接数最少的进程。
进一步的,在一个实施例中,上述多进程设备的网络连接方法还包括:获取每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程,将该进程标记为可接收新连接的进程。
具体地,获取每组进程中连接数小于连接数阈值的进程,再从连接数小于连接数阈值的进程中选择连接数最少的进程,若有多个连接数最少的进程,则按照建立连接的时间顺序选择最早建立连接的进程。进一步的均衡了进程的连接数,降低了性能损耗。
图4为传统的Nginx对新连接的处理示意图。如图4所示,进程有P1、P2至Pn,新连接到来时,持有锁可处理新连接的进程P3进程一般正在处理已连接数据的收发逻辑,采用阶段①标识;本次逻辑处理完后,开始接收新连接请求1,采用阶段②标识,对于新连接请求2,必须等下一次获得锁的进程来接收,采用阶段③标识,如果每个进程比较繁忙,特别是有阻塞操作时,新连接事件需要等长时间的本次业务逻辑处理完毕才能处理,所以等待建立的时间可能更长甚至超时,影响了用户体验及吞吐量。
图5为本发明的多进程设备的网络连接方法对新连接的处理示意图。如图5所示,多进程设备的网络连接方法配置进程有P1、P2至Pn,多个分组,例如分组1包括P1、P2和P3,分组2包括P4、P5和P6等。每个分组内有一个进程接收连接,多个分组就有多个进程并发接收连接。如在组1和组2中,只有当前P2和P5进程可接收新连接。在时间分布上,各进程大部分情况在处理已连接的数据收发等业务逻辑,在图中标识为阶段①,本次处理完毕后P2接收新连接1,同样P5接收新连接2,如此新连接2不用等下一个分配了可接收的进程来建立连接。尤其在高并发压力下,尽快的建立连接,能提高系统的吞吐量。
图6为另一个实施例中多进程设备的网络连接方法的流程图。如图6所示,一种多进程设备的网络连接方法,包括以下步骤:
步骤602,进程初始化。
具体地,进程初始化是指将进程分组,得到每组进程数,并为每组进程中每个进程进行标号,以表示进程的唯一性。例如标号为1、2、3等。
步骤604,判断当前进程是否可接收新连接,若是,执行步骤606,若否,执行步骤618。
步骤606,监听新连接。
步骤608,判断是否有新连接,若是,执行步骤610,若否,执行步骤618。
步骤610,获取新连接,将该标记为可接收新连接的进程与该新连接建立连接,且增加本进程的连接数,并将该本进程标记为不可接收新连接。
步骤612,组内是否存在连接数小于连接数阈值且连接数最少的进程,若是,执行步骤614,若否,执行步骤616。
步骤614,将连接数小于连接数阈值且连接数最少的进程标记为可接收新连接的进程,再执行步骤618。
步骤616,当前组内进程均标记为不可接收新连接,再执行步骤618。
具体地,将连接数小于连接数阈值且连接数最少的进程标记为可接收新连接的进程后或当前组内进程均标记为不可接收新连接后,等待Epoll通知,进行下一次处理。
Epoll是Linux内核为处理大批量文件描述符事件(建立连接、收发数据等)提供的多路复用IO(Input/Output,输入/输出)接口,能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,被大量高性能异步服务器所采用。
步骤618,处理已连接数据的收发,然后执行步骤604。
步骤620,检测每组进程中是否有进程释放连接,若是,则执行步骤622,若否,不作处理。
步骤622,减少释放连接的进程的连接数,再执行步骤612。
上述多进程设备的网络连接方法,将设备的进程分成多个组,每次获取每组进程中连接数最少的进程,并将该连接数最少的进程标记为可接收新连接的进程,获取到新连接后,将可接收新连接的进程与新连接建立连接,并将该可接收新连接的进程标记为不可接收新连接的进程,实现了各组内进程不存在惊群影响,且每次选择连接数最少的进程作为可接收新连接的进程,能均匀配置各进程的连接数,降低性能损耗,不会因进程连接不均引起负载不均而导致处理器频繁的调度额外增加中断和上下文的切换。
进一步的,将该每组进程中连接数最少的进程标记为可接收新连接的进程的步骤之后,该多进程设备的网络连接方法还包括:该标记为可接收新连接的进程处理已连接数据的收发;在本次数据的收发处理完毕后,判断该标记为可接收新连接的进程是否可接收新连接,若是,则监听新连接,若否,则继续处理已连接数据的收发。
在一个实施例中,上述多进程设备的网络连接方法还包括:将每组进程中的各个进程的连接数在各进程间通过内存共享。
通过将各个进程的连接数在各进程间通过内存共享,可方便各进程间进行通信。
图7为一个实施例中多进程设备的网络连接系统的结构框图。如图7所示,一种多进程设备的网络连接系统,包括分组模块702、第一获取模块704、标记模块706、第二获取模块708、建立模块710和计数模块712。其中:
分组模块702用于按照配置的组数及总进程数对进程进行分组得到每组的进程数。
具体地,组数和总进程数可根据设备的处理能力及业务逻辑繁忙、阻塞情况进行确定。通常,组数应该尽可能少,以最大程序降低惊群的影响。但在业务逻辑繁忙、阻塞处理多时,根据情况提高分组的组数,提高对连接的响应速度。总进程数为N,组数为M,则每组的进程数为K=N/M。
第一获取模块704用于根据每组的进程数获取每组进程中连接数最少的进程。
具体地,获取每组进程中各个进程的连接数,再比较各个进程的连接数,得到连接数最少的进程。
标记模块706用于将该每组进程中连接数最少的进程标记为可接收新连接的进程。
具体地,将各组进程中连接数最少的进程标记为可接收新连接的进程,方便新连接到来时,进行接收新连接,避免组内进程竞争。标记可采用任意方式,如采用“1”标记为可接收新连接等,不限于此。
第二获取模块708用于获取新连接。
建立模块710用于将该标记为可接收新连接的进程与该新连接建立连接。
计数模块712用于增加本进程的连接数。
具体地,标记为可接收新连接的进程与该新连接建立连接后,本进程的连接数增加1。将该本进程标记为不可接收新连接,开始在本进程所在组内再获取连接数最少的进程。
标记模块706还用于将该本进程标记为不可接收新连接。
第一获取模块704还用于在再该标记模块706将该本进程标记为不可接收新连接之后,再获取每组进程中连接数最少的进程,以及该标记模块706再将该每组中连接数最少的进程标记为可接收新连接的进程。
上述多进程设备的网络连接系统,将设备的进程分成多个组,每次获取每组进程中连接数最少的进程,并将该连接数最少的进程标记为可接收新连接的进程,获取到新连接后,将可接收新连接的进程与新连接建立连接,并将该可接收新连接的进程标记为不可接收新连接的进程,实现了各组内进程不存在惊群影响,且每次选择连接数最少的进程作为可接收新连接的进程,能均匀配置各进程的连接数,降低性能损耗,不会因进程连接不均引起负载不均而导致处理器频繁的调度额外增加中断和上下文的切换。
图8为另一个实施例中多进程设备的网络连接系统的结构框图。如图8所示,一种多进程设备的网络连接系统,除了包括分组模块702、第一获取模块704、标记模块706、第二获取模块708、建立模块710和计数模块712,还包括判断模块714。其中:
判断模块714用于在该第一获取模块704获取每组进程中连接数最少的进程之后,判断每组进程中连接数最少的进程的连接数是否小于连接数阈值。
标记模块706还用于当每组进程中连接数最少的进程的连接数小于连接数阈值,则将每组进程中连接数最少的进程标记为可接收新连接的进程,以及当某组进程中连接数最少的进程的连接数不小于连接数阈值,则当前组内进程均标记为不可接收新连接。
具体地,连接数阈值是指每个进程能接收的最大连接,例如5、6等。若某组进程中连接数最少的进程的连接数不小于连接数阈值,其他进程的连接数也不小于连接数阈值,则将当前组内进程均标记为不可接收新连接,等待某个进程释放了连接,可再对该组内进程进行筛选出连接数最少的进程。
进一步的,第一获取模块704还用于获取每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程;该标记模块706还用于将每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程标记为可接收新连接的进程。
具体地,获取每组进程中连接数小于连接数阈值的进程,再从连接数小于连接数阈值的进程中选择连接数最少的进程,若有多个连接数最少的进程,则按照建立连接的时间顺序选择最早建立连接的进程。进一步的均衡了进程的连接数,降低了性能损耗。
图9为另一个实施例中多进程设备的网络连接系统的结构框图。如图9所示,一种多进程设备的网络连接系统,除了包括分组模块702、第一获取模块704、标记模块706、第二获取模块708、建立模块710、计数模块712和判断模块714,还包括处理模块716、检测模块718和监听模块720。其中:
处理模块716用于在标记模块706将所述每组进程中连接数最少的进程标记为可接收新连接的进程之后,通过标记为可接收新连接的进程处理已连接数据的收发。
检测模块718用于在本次数据的收发处理完毕后,判断该标记为可接收新连接的进程是否可接收新连接,若是,则监听模块720用于监听新连接,若否,则该处理模块716继续处理已连接数据的收发。
进一步的,该检测模块718还用于在该监听模块720监听新连接之后,判断是否有新连接,若是,则该第二获取模块708获取新连接,若否,则该处理模块716继续处理已连接数据的收发。
图10为另一个实施例中多进程设备的网络连接系统的结构框图。如图10所示,一种多进程设备的网络连接系统,除了包括分组模块702、第一获取模块704、标记模块706、第二获取模块708、建立模块710和计数模块712,还包括共享模块722和释放检测模块724。其中:
共享模块722用于将每组进程中的各个进程的连接数在各进程间通过内存共享。
释放检测模块724用于检测每组进程中是否有进程释放连接,若是,则该计数模块712还用于减少释放连接的进程的连接数,若否,则不作处理。
在其他实施例中,一种多进程设备的网络连接系统,可包括分组模块702、第一获取模块704、标记模块706、第二获取模块708、建立模块710、计数模块712、判断模块714、处理模块716、检测模块718、监听模块720、共享模块722和释放检测模块724中任意可能组合。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种多进程设备的网络连接方法,包括以下步骤:
按照配置的组数及总进程数对进程进行分组得到每组的进程数;
根据每组的进程数获取每组进程中连接数最少的进程;
将所述每组进程中连接数最少的进程标记为可接收新连接的进程;
获取新连接;
将所述标记为可接收新连接的进程与所述新连接建立连接;
增加本进程的连接数,并将所述本进程标记为不可接收新连接。
2.根据权利要求1所述的方法,其特征在于,在所述获取每组进程中连接数最少的进程的步骤之后,所述方法还包括:
判断每组进程中连接数最少的进程的连接数是否小于连接数阈值;
若是,则将每组进程中连接数最少的进程标记为可接收新连接的进程,若否,则当前组内进程均标记为不可接收新连接。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程,将所述进程标记为可接收新连接的进程。
4.根据权利要求1所述的方法,其特征在于,将所述每组进程中连接数最少的进程标记为可接收新连接的进程的步骤之后,所述方法还包括:
所述标记为可接收新连接的进程处理已连接数据的收发;
在本次数据的收发处理完毕后,判断所述标记为可接收新连接的进程是否可接收新连接,若是,则监听新连接,若否,则继续处理已连接数据的收发。
5.根据权利要求3所述的方法,其特征在于,在监听新连接的步骤之后,所述方法还包括:
判断是否有新连接,若是,则获取新连接,若否,则继续处理已连接数据的收发。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将每组进程中的各个进程的连接数在各进程间通过内存共享。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测每组进程中是否有进程释放连接,若是,则减少释放连接的进程的连接数,若否,则不作处理。
8.一种多进程设备的网络连接系统,其特征在于,包括:
分组模块,用于按照配置的组数及总进程数对进程进行分组得到每组的进程数;
第一获取模块,用于根据每组的进程数获取每组进程中连接数最少的进程;
标记模块,用于将所述每组进程中连接数最少的进程标记为可接收新连接的进程;
第二获取模块,用于获取新连接;
建立模块,用于将所述标记为可接收新连接的进程与所述新连接建立连接;
计数模块,用于增加本进程的连接数;
所述标记模块还用于将所述本进程标记为不可接收新连接。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
判断模块,用于在所述第一获取模块获取每组进程中连接数最少的进程之后,判断每组进程中连接数最少的进程的连接数是否小于连接数阈值;
标记模块还用于当每组进程中连接数最少的进程的连接数小于连接数阈值,则将每组进程中连接数最少的进程标记为可接收新连接的进程,以及当某组进程中连接数最少的进程的连接数不小于连接数阈值,则当前组内进程均标记为不可接收新连接。
10.根据权利要求8所述的系统,其特征在于,所述第一获取模块还用于获取每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程;所述标记模块还用于将每组进程中连接数小于连接数阈值、连接数最少且最早建立连接的进程标记为可接收新连接的进程。
11.根据权利要求8所述的系统,其特征在于,所述系统还包括:
处理模块,用于在所述标记模块将所述每组进程中连接数最少的进程标记为可接收新连接的进程之后,通过所述标记为可接收新连接的进程处理已连接数据的收发;
检测模块,用于在本次数据的收发处理完毕后,判断所述标记为可接收新连接的进程是否可接收新连接,若是,则监听模块用于监听新连接,若否,则所述处理模块继续处理已连接数据的收发。
12.根据权利要求11所述的系统,其特征在于,
所述检测模块还用于在所述监听模块监听新连接之后,判断是否有新连接,若是,则所述第二获取模块获取新连接,若否,则所述处理模块继续处理已连接数据的收发。
13.根据权利要求8所述的系统,其特征在于,所述系统还包括:
共享模块,用于将每组进程中的各个进程的连接数在各进程间通过内存共享。
14.根据权利要求8所述的系统,其特征在于,所述系统还包括:
释放检测模块,用于检测每组进程中是否有进程释放连接,若是,则所述计数模块还用于减少释放连接的进程的连接数,若否,则不作处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610101342.1A CN105721342B (zh) | 2016-02-24 | 2016-02-24 | 多进程设备的网络连接方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610101342.1A CN105721342B (zh) | 2016-02-24 | 2016-02-24 | 多进程设备的网络连接方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721342A true CN105721342A (zh) | 2016-06-29 |
CN105721342B CN105721342B (zh) | 2017-08-25 |
Family
ID=56157012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610101342.1A Active CN105721342B (zh) | 2016-02-24 | 2016-02-24 | 多进程设备的网络连接方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721342B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135279A (zh) * | 2017-07-07 | 2017-09-05 | 网宿科技股份有限公司 | 一种处理长连接建立请求的方法和装置 |
CN114039881A (zh) * | 2021-10-19 | 2022-02-11 | 创盛视联数码科技(北京)有限公司 | 一种通信连接监控方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702735A (zh) * | 2009-11-24 | 2010-05-05 | 恒生电子股份有限公司 | 一种tcp服务装置及方法 |
CN101923491A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 多核环境下线程组地址空间调度和切换线程的方法 |
CN102567123A (zh) * | 2010-12-29 | 2012-07-11 | 无锡江南计算技术研究所 | 计算机通信连接方法及系统 |
CN102916953A (zh) * | 2012-10-12 | 2013-02-06 | 青岛海信传媒网络技术有限公司 | 基于tcp连接实现并发服务的方法及装置 |
CN104156267A (zh) * | 2013-05-14 | 2014-11-19 | 华为技术有限公司 | 任务分配方法、任务分配装置及片上网络 |
-
2016
- 2016-02-24 CN CN201610101342.1A patent/CN105721342B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702735A (zh) * | 2009-11-24 | 2010-05-05 | 恒生电子股份有限公司 | 一种tcp服务装置及方法 |
CN101923491A (zh) * | 2010-08-11 | 2010-12-22 | 上海交通大学 | 多核环境下线程组地址空间调度和切换线程的方法 |
CN102567123A (zh) * | 2010-12-29 | 2012-07-11 | 无锡江南计算技术研究所 | 计算机通信连接方法及系统 |
CN102916953A (zh) * | 2012-10-12 | 2013-02-06 | 青岛海信传媒网络技术有限公司 | 基于tcp连接实现并发服务的方法及装置 |
CN104156267A (zh) * | 2013-05-14 | 2014-11-19 | 华为技术有限公司 | 任务分配方法、任务分配装置及片上网络 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135279A (zh) * | 2017-07-07 | 2017-09-05 | 网宿科技股份有限公司 | 一种处理长连接建立请求的方法和装置 |
WO2019006808A1 (zh) * | 2017-07-07 | 2019-01-10 | 网宿科技股份有限公司 | 一种处理长连接建立请求的方法和装置 |
US10791166B2 (en) | 2017-07-07 | 2020-09-29 | Wangsu Science & Technology Co., Ltd. | Method and device for processing persistent connection establishment request |
CN114039881A (zh) * | 2021-10-19 | 2022-02-11 | 创盛视联数码科技(北京)有限公司 | 一种通信连接监控方法 |
CN114039881B (zh) * | 2021-10-19 | 2023-08-08 | 创盛视联数码科技(北京)有限公司 | 一种通信连接监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105721342B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9218203B2 (en) | Packet scheduling in a multiprocessor system using inter-core switchover policy | |
CN107291547B (zh) | 一种任务调度处理方法、装置及系统 | |
US8743680B2 (en) | Hierarchical network failure handling in a clustered node environment | |
CN101694631B (zh) | 实时作业调度系统及方法 | |
WO2021109767A1 (zh) | 网络设备及其降低传输时延的方法 | |
CN109960575B (zh) | 一种计算能力共享方法、系统及相关设备 | |
CN102801737B (zh) | 一种异步网络通信方法及装置 | |
TW200912651A (en) | Method for dynamically reassigning virtual lane buffer allocation to maximize IO performance | |
US10338822B2 (en) | Systems and methods for non-uniform memory access aligned I/O for virtual machines | |
US8627142B2 (en) | Fast resource recovery after thread crash | |
KR102387922B1 (ko) | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 | |
CN105373453A (zh) | 数据备份方法及系统 | |
CN112866136A (zh) | 业务数据处理方法和装置 | |
CN105721342A (zh) | 多进程设备的网络连接方法和系统 | |
CN116414534A (zh) | 任务调度方法、装置、集成电路、网络设备及存储介质 | |
CN108429703B (zh) | Dhcp客户端上线方法及装置 | |
CN108984321A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 | |
CN107066413A (zh) | 一种用于处理多个总线设备数据的方法、及其总线系统 | |
CN108924128A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 | |
CN109032812A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 | |
CN107634978B (zh) | 一种资源调度方法及装置 | |
CN104683460A (zh) | 一种物联网的通信方法、装置及服务器 | |
CN111367675A (zh) | 一种线程调度方法、装置、设备及存储介质 | |
EP3420452B1 (en) | Interconnected hardware infrastructure resource control | |
CN109117278A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20180913 Address after: 100089 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: Tencent cloud computing (Beijing) limited liability company Address before: 518000 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |