CN115904729A - 一种连接分配的方法、装置、系统、设备及介质 - Google Patents
一种连接分配的方法、装置、系统、设备及介质 Download PDFInfo
- Publication number
- CN115904729A CN115904729A CN202211691213.4A CN202211691213A CN115904729A CN 115904729 A CN115904729 A CN 115904729A CN 202211691213 A CN202211691213 A CN 202211691213A CN 115904729 A CN115904729 A CN 115904729A
- Authority
- CN
- China
- Prior art keywords
- connection
- target process
- preset
- proportion
- cpu core
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种连接分配的方法、装置、系统、设备及介质,该方法包括:获取待分配的新建连接相应的源端口号,其中,所述待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,所述待分配的新建连接所对应的任务由所述目标进程执行;根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程;将所述待分配的新建连接分配到所述目标进程中,以使所述目标进程执行所述待分配的新建连接所对应的任务。通过本申请的一些实施例能够充分利用各CPU核的资源,显著提升设备的业务处理能力。
Description
技术领域
本申请实施例涉及CPU负载均衡领域,具体涉及一种连接分配的方法、装置、系统、设备及介质。
背景技术
当前服务器的CPU均为多核CPU,多核CPU可以同一时间执行多个进程。相关技术中,在多核CPU架构的服务器上,通常会为了减少进程间的抢占,将每一个重要的进程绑定到不同的CPU核上,一般是一个进程绑定到一个CPU核上,使该进程在相对应的CPU核上执行。
但是,当多个进程处理任务不同时,所需服务器的处理量就可能不同,那么就造成一些CPU核上进程负载过大,处理速度很慢,成为整个系统流程中的性能瓶颈,而另外的一些CPU核空闲,造成资源的浪费。
因此,如何充分利用各CPU核的资源成为需要解决的问题。
发明内容
本申请实施例提供一种连接分配的方法、装置、系统、设备及介质,通过本申请的一些实施例至少能够充分利用各CPU核的资源,显著提升设备的业务处理能力。
第一方面,本申请提供了一种连接分配的方法,应用于服务器,所述方法包括:获取待分配的新建连接相应的源端口号,其中,所述待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,所述待分配的新建连接所对应的任务由所述目标进程执行;根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程;将所述待分配的新建连接分配到所述目标进程中,以使所述目标进程执行所述待分配的新建连接所对应的任务。
因此,与相关技术中将一个进程绑定在一个CPU核上的方法不同的是,本申请根据新建连接的源端口号和各业务进程的预设连接比例,将新建连接进行分配,能够将新建连接平均的分配到相对应的CPU核上,从而能够充分利用各CPU核的资源,显著提升设备的业务处理能力。
结合第一方面,在本申请的一种实施方式中,所述根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程,包括:获取所述多个业务进程的总比例数值,其中,所述总比例数值是通过对所述各业务进程所对应的预设连接比例进行加和计算获得的;将所述源端口号除以所述总比例数值得到余数;根据所述余数从所述多个业务进程中查找到所述目标进程。
结合第一方面,在本申请的一种实施方式中,所述根据所述余数从所述多个业务进程中查找到所述目标进程,包括:查找所述余数所属的连接数范围,其中,所述连接数范围与所述各业务进程所对应的预设连接比例相关;将所述连接数范围所对应的进程作为所述目标进程。
因此,本申请实施例通过计算源端口号与总比例数值之间的余数,能够按照该余数对新建连接进行合理分配,从而实现不浪费CPU资源。
结合第一方面,在本申请的一种实施方式中,在所述获取待分配的新建连接相应的源端口号之前,所述方法还包括:确定所述各业务进程所对应的预设连接比例,其中,所述预设连接比例为一个进程可处理的连接数占所有连接数的比例;按照所述预设连接比例所对应的连接数范围建立数组,并且将所述各业务进程的进程信息存储在所述数组中;所述将所述连接数范围所对应的进程作为所述目标进程包括:在所述数组中查找与所述连接数范围相对应的目标进程和目标进程信息。
因此,本申请实施例通过在为新建连接分配进程的之前,建立存储进程信息的数组,能够在分配新建连接的过程中,快速的查找到进程信息,从而提高连接分配的效率。
结合第一方面,在本申请的一种实施方式中,所述确定所述各业务进程所对应的预设连接比例,包括:根据当前预设连接比例进行连接分配,得到各CPU核的使用率;在所述各CPU核的使用率不满足预设使用率的情况下,调整所述当前预设连接比例;重复上述步骤,直至所述各CPU核的使用率满足所述预设使用率,获得所述各业务进程所对应的预设连接比例。
因此,本申请实施例通过调整各业务进程所对应的预设连接比例,能够保证所有的CPU核均能得到充分的使用,从而能够充分利用各CPU核的资源,显著提升设备的业务处理能力。
结合第一方面,在本申请的一种实施方式中,所述服务器包括第一类CPU核和第二类CPU核;所述第一类CPU核与业务进程和基础服务进程进行绑定,其中,所述基础服务进程用于为所述业务进程提供基础服务;所述第二类CPU核与业务进程进行绑定。
因此,本申请实施例通过在基础服务进程的第一类CPU核中,同时绑定业务进程,能够有效的利用第一类CPU核中的空闲资源,从而提升服务器的运行效率。
第二方面,本申请提供了一种连接分配的装置,应用于服务器,所述装置包括:端口号获取模块,被配置为获取待分配的新建连接相应的源端口号,其中,所述待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,所述待分配的新建连接所对应的任务由所述目标进程执行;目标进程确定模块,被配置为根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程;
连接分配模块,被配置为将所述待分配的新建连接分配到所述目标进程中,以使所述目标进程执行所述待分配的新建连接所对应的任务。
结合第二方面,在本申请的一种实施方式中,所述目标进程确定模块还被配置为:获取所述多个业务进程的总比例数值,其中,所述总比例数值是通过对所述各业务进程所对应的预设连接比例进行加和计算获得的;将所
述源端口号除以所述总比例数值得到余数;根据所述余数从所述多个业务5进程中查找到所述目标进程。
结合第二方面,在本申请的一种实施方式中,所述目标进程确定模块还被配置为:查找所述余数所属的连接数范围,其中,所述连接数范围与所述各业务进程所对应的预设连接比例相关;将所述连接数范围所对应的进程作为所述目标进程。
0结合第二方面,在本申请的一种实施方式中,所述端口号获取模块还被配置为:确定所述各业务进程所对应的预设连接比例,其中,所述预设连接比例为一个进程可处理的连接数占所有连接数的比例;按照所述预设连接比例所对应的连接数范围建立数组,并且将所述各业务进程的进程信息存
储在所述数组中;所述目标进程确定模块还被配置为:在所述数组中查找与5所述连接数范围相对应的目标进程和目标进程信息。
结合第二方面,在本申请的一种实施方式中,所述端口号获取模块还被配置为:根据当前预设连接比例进行连接分配,得到各CPU核的使用率;在所述各CPU核的使用率不满足预设使用率的情况下,调整所述当前预设
连接比例;重复上述步骤,直至所述各CPU核的使用率满足所述预设使用0率,获得所述各业务进程所对应的预设连接比例。
结合第二方面,在本申请的一种实施方式中,所述服务器包括第一类CPU核和第二类CPU核;所述第一类CPU核与业务进程和基础服务进程进行绑定,其中,所述基础服务进程用于为所述业务进程提供基础服务;所述第二类CPU核与业务进程进行绑定。
第三方面,本申请提供了一种连接分配的系统,所述系统包括:客户端,
被配置为发送待分配的新建连接;服务器,被配置为获取所述待分配的新建连接,并且根据所述待分配的新建连接执行如第一方面任意实施例所述的方法,将所述待分配的新建连接分配到目标进程中。
第四方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;
所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如第一方面任意实施例所述的方法。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如第一方面任意实施例所述的方法。
附图说明
图1为本申请实施例示出的一种连接分配的系统组成示意图;
图2为本申请实施例示出的一种连接分配的方法流程图之一;
图3为现有技术中服务器的CPU核架构图;
图4为本申请实施例示出的服务器的CPU核架构图;
图5为本申请实施例示出的一种连接分配的方法流程图之二;
图6为本申请实施例示出的一种连接分配的方法流程图之三;
图7为本申请实施例示出的一种连接分配的方法流程图之四;
图8为本申请实施例示出的一种连接分配的装置组成示意图;
图9为本申请实施例示出的一种电子设备组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本
申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实施例的详情描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护范围。
本申请实施例可以应用于为新建连接分配目标进程的场景,为了改善背景技术中的问题,在本申请的一些实施例中,通过新建连接的源端口号与各业务进程所对应的预设连接比例,为新建连接分配目标进程。例如:在本申请的一些实施例中,首先,获取待分配的新建连接相应的源端口号,然后,将源端口号除以总比例数值得到余数,最后,根据余数从多个业务进程中查找到目标进程。
下面结合附图详细描述本申请实施例中的方法步骤。
图1提供了本申请一些实施例中的连接分配的系统的结构图,该系统包括客户端110和服务器120。具体的,客户端110在产生新建连接之后,将待分配的新建连接发送至服务器120,服务器120在接收到待分配的新建连接之后,首先,获取待分配的新建连接相应的源端口号,然后,将源端口号除以总比例数值得到余数,最后,根据余数从多个业务进程中查找到目标进程。
与本申请实施例不同的是相关技术中,在多核CPU架构的服务器上,通常会为了减少进程间的抢占,将每一个重要的进程绑定到不同的CPU核上,但是,当多个进程处理任务不同时,所需服务器的处理量就可能不同,那么就造成一些CPU核上进程负载过大,处理速度很慢,成为整个系统流程中的性能瓶颈,而另外的一些CPU核空闲,造成资源的浪费。而本申请首先对CPU核与进程的绑定策略进行了变更,在与基础服务进程绑定的第一类CPU核中,同时绑定业务进程,然后,根据新建连接的源端口号和各业务进程的预设连接比例,将新建连接进行分配。
下面将描述由服务器执行的本申请提供的一种连接分配的方法。
至少为了解决背景技术中的问题,如图2所示,本申请一些实施例提供了一种连接分配的方法,该方法包括:
S210,获取待分配的新建连接相应的源端口号。
需要说明的是,待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,待分配的新建连接所对应的任务由目标进程执行。若服务器接收到的是已经分配完成的任务所对应连接,则直接发送到前期分配完成的目标进程中。源端口号为客户端发送待分配的新建连接,所使用的源端口所对应的端口号,例如,待分配的新建连接的源端口号为268。
在本申请的一种实施方式中,在S210之前先将相关技术中的CPU核与进程之间的绑定关系进行修正。可以理解的是,本申请将服务器的CPU核分为两类,分别为第一类CPU核和第二类CPU核,具体的,如图3所示,图3展示的是现有技术中CPU核与进程之间的绑定关系,其中,第一类CPU核是绑定基础服务进程的,第二类CPU核是绑定业务进程的。例如,图3中,两个第一类CPU核绑定了基础服务进程1和基础服务进程2,两个第二类CPU核绑定了业务进程1和业务进程2。
由于基础服务进程包括日志进程、命令行进程、数据库、报文转发等为业务进程提供的基础服务的进程,而业务进程会进行加密、解密、模型计算等操作,所以基础服务进程占用的资源相对于业务进程较小,导致CPU资源浪费。
为此,本申请将一些业务进程绑定在第一类CPU核上,使第一类CPU核的资源得到有效的利用,也就是说,将第一类CPU核与业务进程和基础服务进程进行绑定,第二类CPU核仅与业务进程进行绑定。
例如,如图4所示,第一个第一类CPU核上绑定的是基础服务进程1和业务进程3,第二个第一类CPU核上绑定的是基础服务进程2和业务进程4,两个第二类CPU核上分别绑定的是业务进程1和业务进程2。
因此,本申请依赖于多进程架构的业务进程,如果是单进程单线程的业务进程则不适合使用本申请中的方法。多进程架构的业务进程,例如nginx,会启动多个相同的进程处理业务。本申请额外启动一些业务进程,将其绑定到基础服务进程所绑定的CPU核上。当然,本申请不会让第一类CPU核和第二类CPU核上的业务进程处理相同数量的连接,因为第一类CPU核上还有基础服务进程需要处理,而是按照一定的比例,将连接分配到第一类CPU核上的业务进程和第二类CPU核上的业务进程。
按照一定的比例,将连接分配到第一类CPU核上的业务进程和第二类CPU核上的业务进程的具体实施过程,如下所示:
在本申请的一种实施方式中,在S210之前还包括:
首先,确定各业务进程所对应的预设连接比例。
也就是说,服务器能够承载的连接总数是有限的,分配到每一个业务进程中,每一个业务进程也分别对应一个连接数的上限值,那么,相对应的各业务进程的连接数的上限值也占据服务器能够承载的连接总数的不同比例,这个比例即为预设连接比例,简单来说,预设连接比例为一个进程可处理的连接数占所有连接数的比例。
确定各业务进程所对应的预设连接比例的具体实施步骤包括:根据当前预设连接比例进行连接分配,得到各CPU核的使用率;在各CPU核的使用率不满足预设使用率的情况下,调整当前预设连接比例;重复上述步骤,直至各CPU核的使用率满足预设使用率,获得各业务进程所对应的预设连接比例。
也就是说,先为每一个业务进程分配一个初始的预设连接比例,使用初始的预设连接比例进行正常工作,可以使用大流量对服务器进行访问,查看各CPU核的使用率,在各CPU核的使用率接近100%的情况下,说明各CPU核得到了有效的利用,初始的预设连接比例满足要求,在各CPU核的使用率不接近100%的情况下,说明各CPU核没有得到有效的利用,需要继续调整预设连接比例进行测试,直至各CPU核的使用率接近100%,获得各业务进程所对应的预设连接比例。
需要说明的是,预设使用率可以根据实际情况进行设置,例如,预设使用率可以是大于或等于98%,或者大于或等于95%,本申请实施例不限于此。
例如,如图5所示,首先,执行S510为第一类CPU核和第二类CPU核设置新建连接的处理比例(即初始的预设连接比例),S520使用预设流量访问服务器,然后,执行S530第一类CPU核和第二类CPU核的使用率是否均达到预设使用率,若是,则执行S540获得各业务进程所对应的预设连接比例,若否,则执行S550调整比例之后,继续执行S520。
也就是说,因不同服务器基础服务进程和业务进程负载的不同,所以具体的比例需要根据不同服务器测试得来。测试时,使用大流量进行访问,不断调整比例值,使得第一类CPU核和第二类CPU核的使用率相近。因此,本申请使用大流量访问设备,不断调整业务进程间的连接比例,使所有的CPU核的使用率接近100%,为了防止一些CPU核利用率达到100%,成为性能瓶颈,而另一些CPU核却负载很低,浪费了CPU资源。当所有的CPU利用率都接近100%,就代表着已经充分利用的所有的CPU资源。
然后,按照预设连接比例所对应的连接数范围建立数组,并且将各业务进程的进程信息存储在数组中。
具体的,如图6所示,首先,执行S610为多个进程分别设置预设连接比例,然后执行S620为当前监控端口创建数组,最后执行S630按照比例,将多个进程的进程信息分别存储到数组的不同位置。
也就是说,服务器内核中的reuseport选项被设置,先为多个任务进程分别设置对应的预设连接比例,然后,建立数组,数组中的元素的总个数为总的连接数,按照分配的不同预设连接比例,存储上进程信息。
例如,服务器能够处理的总的连接数为100个,那么数组中的元素就有100个,现有3个任务进程,第一个任务进程的预设连接比例为39%,第二个任务进程的预设连接比例为39%,第三个任务进程的预设连接比例为22%,则前39个元素存储第一个任务进程的进程信息,中间39个元素存储第二个任务进程的进程信息,最后22个元素存储第三个任务进程的进程信息。同时,可以将每一个元素的位置以下标的形式进行标记。
在本申请的一种实施方式中,在接受待分配的新建连接之前,需要先对业务进程进行启动,包括:首先,启动监听端口,并在其上设置reuseport选项,可以理解的是,reuseport功能是linux系统的功能,当多个任务进程监听的同一个端口设置了reuseport选项,内核会自动根据一定的算法其中一个进程处理该连接。然后,启动多个业务进程,分别绑定到第一类CPU核和第二类CPU核。最后,每个业务进程向端口的reuseport功能设置各自所占的比例。
在本申请的一种实施方式中,在执行完成上述所有的准备工作之后,在接收到客户端发送的待分配的新建连接时,获取待分配的新建连接相应的源端口号。
S220,根据多个业务进程中各业务进程所对应的预设连接比例和源端口号,从多个业务进程中查找到目标进程。
S2201,获取多个业务进程的总比例数值。
需要说明的是,总比例数值是通过对各业务进程所对应的预设连接比例进行加和计算获得的。
也就是说,在获得待分配的新建连接之后,需要先将各业务进程所对应的预设连接比例加和,获得总比例数值。例如,各业务进程所对应的预设连接比例为39%、39%和22%,那么,总比例数值就是100。各业务进程所对应的预设连接比例为3:2:2,那么,总比例数值就是7。
S2202,将源端口号除以总比例数值得到余数。
例如,源端口号为288,总比例数值为100,那么将源端口号除以总比例数值得到余数88。
S2203,根据余数从多个业务进程中查找到目标进程。
具体的,查找所述余数所属的连接数范围,其中,所述连接数范围与所述各业务进程所对应的预设连接比例相关,在所述数组中查找与所述连接数范围相对应的目标进程和目标进程信息。
也就是说,连接数范围是各业务进程占据的总的连接数的区间,例如,第一个任务进程的预设连接比例为39%,第二个任务进程的预设连接比例为39%,第三个任务进程的预设连接比例为22%,第一个任务进程的连接数范围为0-38,第二个任务进程的连接数范围为39-77,第三个任务进程的连接数范围为78-99,如果源端口号除以总比例数值得到余数88,那么目标进程即为第三个任务进程。
换句话说,待匹配的新连接到达时系统已经将该连接匹配到了对应的目的端口,之后对连接的源端口号进行求余,在当前的数组中查找对应下标的进程信息,将连接交给该进程处理。
具体的,如图7所示,执行S710获取待分配的新建连接,S720对源端口号进行求余,S730将余数值作为下标,从数组中得到对应的进程信息,最后执行S740将待分配的新建连接发送至对应的进程进行处理。
也就是说,启动多个业务进程后,需要进行业务工作的分配。分配是以连接为单位,也就是分配工作是在新建连接时完成的,当新建连接到达后,我们按照比例将这个连接分配到不同的进程,这样就实现了工作的按比例分配。按比例分配可以通过使用对连接的源端口号求余的方式来实现,例如,存在三个业务进程,分别占据39%,39%、22%,当新建连接到来时,对源端口号针对100求余,0-38分配给进程1,39-77分配给进程2,78-99分配给进程3。
作为本申请一具体实施例,安全套接层(Secure Socket Layer,SSL)连接会进行大量的加解密计算,任务量很大,会造成所在的CPU核任务量过大,成为整个系统的吞吐瓶颈。我们额外在其他CPU核上启动处理SSL的业务进程,充分利用CPU资源,大大提高设备吞吐。
S230,将待分配的新建连接分配到目标进程中。
因此,处理流量的业务进程所需处理的工作较多,负载过重。每一个CPU核的性能是有上限的。本申请将不同的进程绑定到不同的CPU核上5后,业务进程所在的CPU核会首先达到上限,成为整个服务器的性能瓶颈,
可能造成一些CPU核满载,限制整个设备的处理能力,另外一些CPU核负载却较少,白白浪费了CPU资源。本申请将工作量较大的任务分出一部分,由负载较少的CPU核完成,充分利用所有的CPU核,显著提升系统的业务处理能力。
0上文描述了本申请提供的一种连接分配的方法的具体实施例,下文将描述本申请提供的一种连接分配的装置。
如图8所示,本申请的一些实施例提供一种连接分配的装置800,该装置包括:端口号获取模块810、目标进程确定模块820和连接分配模块830。
端口号获取模块810,被配置为获取待分配的新建连接相应的源端口号,5其中,所述待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,所述待分配的新建连接所对应的任务由所述目标进程执行;目标进程确定模块820,被配置为根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程;
连接分配模块830,被配置为将所述待分配的新建连接分配到所述目标进程0中,以使所述目标进程执行所述待分配的新建连接所对应的任务。
在本申请的一种实施方式中,所述目标进程确定模块820还被配置为:
获取所述多个业务进程的总比例数值,其中,所述总比例数值是通过对所述各业务进程所对应的预设连接比例进行加和计算获得的;将所述源端口号
除以所述总比例数值得到余数;根据所述余数从所述多个业务进程中查找5到所述目标进程。
在本申请的一种实施方式中,所述目标进程确定模块820还被配置为:
查找所述余数所属的连接数范围,其中,所述连接数范围与所述各业务进程所对应的预设连接比例相关;将所述连接数范围所对应的进程作为所述目标进程。
在本申请的一种实施方式中,所述端口号获取模块810还被配置为:5确定所述各业务进程所对应的预设连接比例,其中,所述预设连接比例为一个进程可处理的连接数占所有连接数的比例;按照所述预设连接比例所对应的连接数范围建立数组,并且将所述各业务进程的进程信息存储在所述数组中;所述目标进程确定模块820还被配置为:在所述数组中查找与所述连接数范围相对应的目标进程和目标进程信息。
0在本申请的一种实施方式中,所述端口号获取模块810还被配置为:
根据当前预设连接比例进行连接分配,得到各CPU核的使用率;在所述各CPU核的使用率不满足预设使用率的情况下,调整所述当前预设连接比例;重复上述步骤,直至所述各CPU核的使用率满足所述预设使用率,获得所述各业务进程所对应的预设连接比例。
5在本申请的一种实施方式中,所述服务器包括第一类CPU核和第二类CPU核;所述第一类CPU核与业务进程和基础服务进程进行绑定,其中,
所述基础服务进程用于为所述业务进程提供基础服务;所述第二类CPU核与业务进程进行绑定。
在本申请实施例中,图8所示模块能够实现图1至图7方法实施例中0的各个过程。图8中的各个模块的操作和/或功能,分别为了实现图1至图7中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
如图9所示,本申请实施例提供一种电子设备900,包括:处理器910、存储器920和总线930,所述处理器通过所述总线与所述存储器相连,所述5存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述所有实施例中任一项所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
其中,总线用于实现这些组件直接的连接通信。其中,本申请实施例中处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,可以执行上述实施例中所述的方法。
可以理解,图9所示的结构仅为示意,还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。图9中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被服务器执行时实现上述所有实施方式中任一所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种连接分配的方法,其特征在于,应用于服务器,所述方法包括:
获取待分配的新建连接相应的源端口号,其中,所述待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,所述待分配的新建连接所对应的任务由所述目标进程执行;
根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程;
将所述待分配的新建连接分配到所述目标进程中,以使所述目标进程执行所述待分配的新建连接所对应的任务。
2.根据权利要求1所述的方法,其特征在于,所述根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程,包括:
获取所述多个业务进程的总比例数值,其中,所述总比例数值是通过对所述各业务进程所对应的预设连接比例进行加和计算获得的;
将所述源端口号除以所述总比例数值得到余数;
根据所述余数从所述多个业务进程中查找到所述目标进程。
3.根据权利要求2所述的方法,其特征在于,所述根据所述余数从所述多个业务进程中查找到所述目标进程,包括:
查找所述余数所属的连接数范围,其中,所述连接数范围与所述各业务进程所对应的预设连接比例相关;
将所述连接数范围所对应的进程作为所述目标进程。
4.根据权利要求3所述的方法,其特征在于,在所述获取待分配的新建连接相应的源端口号之前,所述方法还包括:
确定所述各业务进程所对应的预设连接比例,其中,所述预设连接比例为一个进程可处理的连接数占所有连接数的比例;
按照所述预设连接比例所对应的连接数范围建立数组,并且将所述各业务进程的进程信息存储在所述数组中;
所述将所述连接数范围所对应的进程作为所述目标进程包括:
在所述数组中查找与所述连接数范围相对应的目标进程和目标进程信息。
5.根据权利要求4所述的方法,其特征在于,所述确定所述各业务进程所对应的预设连接比例,包括:
根据当前预设连接比例进行连接分配,得到各CPU核的使用率;
在所述各CPU核的使用率不满足预设使用率的情况下,调整所述当前预设连接比例;
重复上述步骤,直至所述各CPU核的使用率满足所述预设使用率,获得所述各业务进程所对应的预设连接比例。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述服务器包括第一类CPU核和第二类CPU核;
所述第一类CPU核与业务进程和基础服务进程进行绑定,其中,所述基础服务进程用于为所述业务进程提供基础服务;
所述第二类CPU核与业务进程进行绑定。
7.一种连接分配的系统,其特征在于,所述系统包括:
客户端,被配置为发送待分配的新建连接;
服务器,被配置为获取所述待分配的新建连接,并且根据所述待分配的新建连接执行如权利要求1-6任一项所述的方法,将所述待分配的新建连接分配到目标进程中。
8.一种连接分配的装置,其特征在于,应用于服务器,所述装置包括:
端口号获取模块,被配置为获取待分配的新建连接相应的源端口号,其中,所述待分配的新建连接是客户端向服务器请求的未分配目标进程的连接,所述待分配的新建连接所对应的任务由所述目标进程执行;
目标进程确定模块,被配置为根据多个业务进程中各业务进程所对应的预设连接比例和所述源端口号,从所述多个业务进程中查找到所述目标进程;
连接分配模块,被配置为将所述待分配的新建连接分配到所述目标进程中,以使所述目标进程执行所述待分配的新建连接所对应的任务。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如权利要求1-6任一项所述方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如权利要求1-6任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211691213.4A CN115904729A (zh) | 2022-12-27 | 2022-12-27 | 一种连接分配的方法、装置、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211691213.4A CN115904729A (zh) | 2022-12-27 | 2022-12-27 | 一种连接分配的方法、装置、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904729A true CN115904729A (zh) | 2023-04-04 |
Family
ID=86471068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211691213.4A Pending CN115904729A (zh) | 2022-12-27 | 2022-12-27 | 一种连接分配的方法、装置、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904729A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791857A (zh) * | 2021-01-25 | 2022-07-26 | 青岛海信宽带多媒体技术有限公司 | 一种家庭网关多核cpu处理器的控制方法及装置 |
-
2022
- 2022-12-27 CN CN202211691213.4A patent/CN115904729A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791857A (zh) * | 2021-01-25 | 2022-07-26 | 青岛海信宽带多媒体技术有限公司 | 一种家庭网关多核cpu处理器的控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688492B (zh) | 资源的控制方法、装置和集群资源管理系统 | |
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
US9910708B2 (en) | Promotion of calculations to cloud-based computation resources | |
CN112256417B (zh) | 一种数据请求处理方法、装置及计算机可读存储介质 | |
CN111651285A (zh) | 批量业务数据处理方法、装置、计算机设备和存储介质 | |
US8782659B2 (en) | Allocation of processing tasks between processing resources | |
CN111782383A (zh) | 任务分配方法、服务器、电子终端及计算机可读存储介质 | |
CN111490963A (zh) | 基于quic协议栈的数据处理方法、系统、设备及存储介质 | |
CN104158841A (zh) | 计算资源分配方法 | |
CN115904729A (zh) | 一种连接分配的方法、装置、系统、设备及介质 | |
CN107391256A (zh) | 一种基于云计算技术的继电保护定值整定计算架构及方法 | |
CN112948113A (zh) | 一种集群资源管理调度方法、装置、设备及可读存储介质 | |
CN114185675A (zh) | 资源管理方法、装置、电子设备及存储介质 | |
CN113315825A (zh) | 分布式请求的处理方法、装置、设备及存储介质 | |
CN116708450A (zh) | 负载均衡方法、装置、电子设备及计算机可读存储介质 | |
CN111858014A (zh) | 资源分配方法及装置 | |
CN110780992B (zh) | 一种云计算平台优化部署方法、系统、终端及存储介质 | |
CN115586957B (zh) | 一种任务调度系统、方法、装置及电子设备 | |
CN107689979B (zh) | 一种下载请求处理方法和处理设备 | |
CN115022336A (zh) | 服务器资源负载均衡方法、系统、终端及存储介质 | |
CN115484129A (zh) | 多进程数据的处理方法、装置、网关及可读存储介质 | |
CN114612037A (zh) | 一种仓库信息的管理方法和系统 | |
CN114756451A (zh) | 电网系统的安全测试方法、装置、计算机设备、存储介质 | |
CN112667392A (zh) | 云计算资源分配方法、装置、计算机设备和存储介质 | |
CN114489463A (zh) | 动态调整存储卷qos的方法、装置及计算设备 |
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 |