CN112738205A - 基于服务池的资源管控方法、装置和系统 - Google Patents
基于服务池的资源管控方法、装置和系统 Download PDFInfo
- Publication number
- CN112738205A CN112738205A CN202011568113.3A CN202011568113A CN112738205A CN 112738205 A CN112738205 A CN 112738205A CN 202011568113 A CN202011568113 A CN 202011568113A CN 112738205 A CN112738205 A CN 112738205A
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- client
- connections
- target resource
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种基于服务池的资源管控方法、装置和系统,涉及互联网领域,用以解决现有技术中存在的资源瓶颈问题。所述服务池包括至少一组目标应用客户端,所述资源管控方法包括:接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。本申请用于资源管控。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种基于服务池的资源管控方法、装置和系统。
背景技术
随着互联网高速发展,互联网用户规模也呈现爆发式增长,大型门户网站或应用程序(app),每天都会有数以万计或数以亿计的访问。而支撑用户访问,不仅需要软件服务,还需要耗费大量的硬件资源。
在现有技术中,服务器集群可以任意扩缩容,但是服务器所连接的数据资源却无法自动扩缩容。由于承载数据资源的数据库所能承载的连接数有限,存在最大连接数限制,当用户访问量超出预期地暴增时,配置的硬件资源会无法满足访问量需求,由此会导致数据资源瓶颈。
由此可见,目前亟需一种基于服务池的资源管控方法,以解决现有技术中的数据资源瓶颈问题。
发明内容
本申请实施例提供了一种基于服务池的资源管控方法、装置和系统,用以解决现有技术中的资源瓶颈问题。
本申请实施例采用下述技术方案:
第一方面,提供一种基于服务池的资源管控方法,所述服务池包括至少一组目标应用客户端,所述资源管控方法包括:接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
第二方面,提供一种基于服务池的资源管控方法,所述资源管控方法包括:确定客户端与目标资源之间的连接数,其中,所述客户端为使用目标资源的客户端;向服务器发送目标消息,所述目标消息包括所述客户端与所述目标资源之间的连接数,使得所述服务器基于服务池中至少一组所述使用目标资源的客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数,并在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
第三方面,提供一种基于服务池的资源管控装置,所述服务池包括至少一组目标应用客户端,所述资源管控装置包括:
接收模块,用于接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;
确定模块,用于基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;
管控模块,用于在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
第四方面,提供一种基于服务池的资源管控装置,所述资源管控装置包括:
确定模块,用于确定客户端与目标资源之间的连接数,其中,所述客户端为使用目标资源的客户端;
发送模块,用于向服务器发送目标消息,所述目标消息包括所述客户端与所述目标资源之间的连接数,使得所述服务器基于服务池中至少一组所述使用目标资源的客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数,并在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
第五方面,提供一种基于服务池的资源管控系统,所述资源管控系统包括第三方面所提及的资源管控装置和第四方面所提及的资源管控装置。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,接收至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;基于所述目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。如此,通过基于服务池的资源管控方法,可以根据目标资源的占用连接数以及目标资源的连接数阈值的关系,及时对目标资源进行动态管控,如此,可以在较大程度上解决现有技术中的资源瓶颈问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于服务池的资源管控方法的流程图;
图2是本申请实施例提供的服务池的示意图;
图3是本申请实施例提供的一种基于服务池的资源管控方法的流程图;
图4是本申请实施例提供的一种基于服务池的资源管控方法的流程图;
图5是本申请实施例提供的一种基于服务池的资源管控方法的流程图;
图6是本申请实施例提供的一种基于服务池的资源管控方法的流程图;
图7是本申请实施例提供的一种基于服务池的资源管控方法的示意图;
图8是本申请实施例提供的一种基于服务池的资源管控方法的示意图;
图9是本申请实施例提供的一种基于服务池的资源管控方法的示意图;
图10是本申请实施例提供的一种基于服务池的资源管控方法的示意图;
图11是本申请实施例提供的一种管控数据资源的装置的结构框图;
图12是本申请实施例提供的一种管控数据资源的装置的结构框图。
具体实施方式
本申请实施例提供一种基于服务池的资源管控方法、装置和系统。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请实施例提供的一种基于服务池的资源管控方法的流程图。
本申请实施例提供的一种基于服务池的资源管控方法,所述服务池包括至少一组目标应用客户端。
图2是本申请实施例提供的服务池的示意图。
在本申请实施例中,参见图2,所述服务池1可以是由多台机器2组成的机器集群,可以理解的是,所述机器集群可以将多台机器集中起来一起提供服务。机器2可以为应用客户端的承载方。可以理解的是,服务池1可以包括包括至少一组目标应用客户端。
其中,所述服务池1可以包括至少一组目标应用客户端,可以理解的是,服务池1内的多台机器2,均可以为应用客户端提供服务。服务池内的一台机器可以同时为多个应用客户端提供服务。服务池中的多个目标应用客户端3就组成了至少一组目标应用客户端。
如图1所示,所述资源管控方法可以包括:步骤11、步骤12、步骤13。下面针对步骤11、步骤12、步骤13依次进行阐释。
步骤11:接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数。
其中,所述至少一组目标应用客户端发送的目标消息中,目标消息的接收方可以是管理所述服务池的管理系统或服务器等等,目标消息的实际接收方并不构成对本申请的限定。
其中,所述目标资源可以是存储于mySQL(关系型数据库管理系统)中的数据,也可以是存储于Redis(Remote Dictionary Server,key-value存储系统)中的数据。可以理解的是,mySQL是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中。Redis数据库是缓存数据库,用于存储使用频繁的数据。mySQL和Redis因为需求的不同,通常需要配合使用。因此,本申请中所述目标资源既可以是存储于mySQL中的数据,也可以是存储于Redis中的数据。
可以理解的是,服务池中的机器为应用客户端提供服务时,需要调用资源。类似地,目标应用客户端需要先连接所述目标资源,才能进行调用。即所述目标应用客户端与所述目标资源之间由于建立了连接关系,目标应用客户端与目标资源之间连接的具体数量即为所述目标应用客户端与所述目标资源之间的连接数。
步骤12:基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数。
可以理解的是,从目标资源的角度考虑,目标消息的接收方可以确定有多少目标应用客户端与目标资源本身连接,即可确定该目标资源的占用连接数。
步骤13:在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
可以理解的是,所述目标资源是存在所能承载的最大连接数目限制的,所述目标资源的连接数阈值可以是所述目标资源的最大连接数,也可以是目标资源的最大连接数的预设比例,例如,目标资源的最大连接数的80%、目标资源的最大连接数的75%、目标资源的最大连接数的70%、目标资源的最大连接数的65%、目标资源的最大连接数的60%等。例如,如果某目标资源的最大连接数是3000,则目标资源的连接数阈值可以为3000。当然,优选地,连接数阈值也可以是目标资源的最大连接数的预设百分比,例如最大连接数的80%,此时,连接数阈值为2400。当目标资源的占用连接数达到2400时,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值,则需要对所述目标资源进行管控。
其中,所述对所述目标资源进行管控可以包括,拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。
可以理解的是,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值时,所述目标资源的连接数已经告急,再增加新的连接会导致所述目标资源连接数超限,因此可以通过禁止新的目标应用客户端连接所述目标资源,即停止除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。其中所述输出警报可以是发送警报邮件等等。
可以理解的是,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值时,所述目标资源的连接数已经告急,也可以通过输出警报,增大所述目标资源的数量,以防止所述目标资源连接数超限。
如此,通过本申请提供的一种基于服务池的资源管控方法,可以实时根据用户的访问量,得到目标资源的实时使用情况,从而可以对目标资源进行动态管控,进一步有效解决了现有技术中,由于无法实现对资源的动态管控,所造成的目标资源的使用瓶颈问题。
在本申请实施例中,可参见图3,上述步骤11还可以包括步骤31,相应的上述步骤12还可以包括步骤32,下面依次对步骤31、步骤32、步骤33进行阐述。
步骤31:接收所述服务池中的一组目标应用客户端发送的目标消息,该组目标应用客户端包括属于相同类别的多个目标应用客户端。
其中,目标消息的接收方可以是管理所述服务池的管理系统或服务器等等,目标消息的实际接收方并不构成对本申请的限定。
其中,所述目标资源可以是存储于mySQL(关系型数据库管理系统)中的数据,也可以是存储于Redis(Remote Dictionary Server,key-value存储系统)中的数据。可以理解的是,mySQL是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中。Redis数据库是缓存数据库,用于存储使用频繁的数据。mySQL和Redis因为需求的不同,通常需要配合使用。因此,本申请中所述目标资源既可以是存储于mySQL中的数据,也可以是存储于Redis中的数据。
可以理解的是,参见图7-8,图7-8只是示例性的画出第一目标应用客户端31、第二目标应用客户端32、第三目标应用客户端33、第四目标应用客户端34、第五目标应用客户端35、第六目标应用客户端36。在图7中,上述目标应用客户端31-36均可以与目标资源41-44连接,图7-8只是示意性的画出了部分连接关系,目标应用客户端31-36与目标资源41-44的实际连接关系并不构成对本申请的限定。图7示意性的描述了第一服务池11和第二服务池12。第一服务池11和第二服务池12中的多台机器2可以同时为目标应用客户端提供服务。
参见图7,在第一服务池11和第二服务池12中部署了多台机器2,示例性的标出了第一机器21、第二机器22、第三机器23、第四机器24、第五机器25、第六机器26,上述机器可以同时为目标应用客户端31-36提供服务,所述机器可以为服务器。
可以理解的是,接收所述服务池中的一组目标应用客户端发送的目标消息,该组目标应用客户端包括属于相同类别的多个目标应用客户端。例如,一组第一目标应用客户端31可以包括第一机器21中的第一目标应用客户端31、第二机器22中的第一目标应用客户端31、第三机器23中的第一目标应用客户端31......。每台机器中的第一目标应用客户端31共同组成一组第一目标应用客户端31。
步骤32:将该组目标应用客户端中的每一个目标应用客户端与所述目标资源之间的连接数之和,确定为所述目标资源的占用连接数。
可以理解的是,参见图7,所述目标资源可以是第一目标资源41、第二目标资源42、第三目标资源43、第四目标资源44。
可以理解的是,该组目标应用客户端中的每一个目标应用客户端与所述目标资源之间的连接数之和,确定为所述目标资源的占用连接数。举例而言,若只有一组第一目标应用客户端31与目标资源连接,则可以将该组目标应用客户端中的每一个目标应用客户端与所述目标资源之间的连接数之和,确定为所述目标资源的占用连接数。
步骤33:在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
可以理解的是,所述目标资源是存在所能承载的最大连接数目限制的,所述目标资源的连接数阈值可以是所述目标资源的最大连接数。所述目标资源的连接数阈值可以是所述目标资源的最大连接数目的预设百分比。例如,某目标资源的最大连接数可以是3000,连接数阈值可以是3000的80%(或者70%、60%等)。当占用连接数为2400时,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值,则需要对所述目标资源进行管控。
其中,所述对所述目标资源进行管控可以包括,拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。
可以理解的是,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值时,所述目标资源的连接数已经告急,再增加新的连接会导致所述目标资源连接数超限,因此可以通过拒绝新的目标应用客户端连接所述目标资源,即拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。其中所述输出警报可以是发送警报邮件等等。
可以理解的是,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值时,所述目标资源的连接数已经告急,也可以通过输出警报,增大所述目标资源的数量,以防止所述目标资源连接数超限。
如此,通过本申请提供的一种基于服务池的资源管控方法,可以实时根据用户的访问量,得到目标资源的实时使用情况,从而可以对目标资源进行动态管控,进一步有效解决了现有技术中,由于无法实现对资源的动态管控,所造成的目标资源的使用瓶颈问题。
在本申请实施例中,可参见图4,一组目标应用客户端可以指示一类应用客户端,且每一类应用客户端可以包括至少一个目标应用客户端,有多组目标应用客户端时,那么上述步骤11还可以包括步骤41,相应的上述步骤12还可以包括步骤42,下面依次对步骤41、步骤42、步骤43进行阐述。
可以理解的是,参见图8,在第一服务池11和第二服务池12中部署了多台机器2,示例性的标出了第一机器21、第二机器22、第三机器23、第四机器24、第五机器25、第六机器26,上述机器可以同时为目标应用客户端31-36提供服务。
可以理解的是,每一组目标应用客户端指示一类目标应用客户端,且每一类目标应用客户端包括至少一个目标应用客户端,参见图8,一组第一目标应用客户端31可以指示一类目标应用客户端。例如,一组第三目标应用客户端33可以指示第一机器21中的第三目标应用客户端33、第二机器22中的第三目标应用客户端33、第三机器23中的第三目标应用客户端33......。每台机器中的第三目标应用客户端33共同组成一组目标应用客户端33。
步骤41:接收所述服务池中的多组目标应用客户端发送的目标消息;
其中,每一组目标应用客户端指示一类目标应用客户端,且每一类目标应用客户端包括至少一个目标应用客户端。
可以理解的是,参见图8,图8示意性的描述了第一服务池11和第二服务池12。第一服务池11和第二服务池12中的多台机器2可以同时为目标应用客户端提供服务。
可以理解的是,每一组目标应用客户端指示一类目标应用客户端,且每一类目标应用客户端包括至少一个目标应用客户端。参见图8,在目标资源41的角度来看,与目标资源41相连的多组目标应用客户端可以为:一组目标应用客户端33:第一机器21中的目标应用客户端33、第二机器22中的目标应用客户端33、第三机器23中的目标应用客户端33。一组目标应用客户端36:第二机器22中的目标应用客户端36、第三机器23中的目标应用客户端36。一组目标应用客户端31:第四机器24中的目标应用客户端31。一组目标应用客户端34:第五机器25中的目标应用客户端34。因此,可以接收上述多组目标应用客户端发送的目标消息。
步骤42:针对每一组目标应用客户端,将该组内的每一个目标应用客户端与所述目标资源之间的连接数之和,作为该组目标应用客户端与所述目标资源之间的组连接数;将所述多组目标应用客户端中的每一组目标应用客户端与所述目标资源之间的组连接数之和,作为所述目标资源的占用连接数。
其中,在本申请实施例中,可以根据所述多组目标应用客户端中同一组内的每一个目标应用客户端与所述目标资源之间的连接数,分别确定每一组目标应用客户端与所述目标资源之间的组连接数。所述分别确定每一组目标应用客户端与所述目标资源之间的连接数可以包括子步骤:针对任一组目标应用客户端,将同一组内的每一个所述目标应用客户端与所述目标资源之间的连接数之和,作为该组目标应用客户端与所述目标资源之间的组连接数。
可以理解的是,所述根据所述多组目标应用客户端中同一组内的每一个目标应用客户端与所述目标资源之间的连接数,分别确定每一组目标应用客户端与所述目标资源之间的组连接数。参见图8,第一服务器21中的目标应用客户端33、第二服务器22中的目标应用客户端33、第三服务器23中的目标应用客户端33,与目标资源41之间的连接数之和可以作为,一组目标应用客户端33与所述目标资源41之间的连接数。
可以理解的是,将所述多组目标应用客户端中的每一组目标应用客户端与所述目标资源之间的组连接数之和,作为所述目标资源的占用连接数。参见图8,在目标资源41的角度来看,目标资源41的占用连接数可以为,与目标资源41相连的多组目标应用客户端中的每一组目标应用客户端与所述目标资源之间的连接数之和。
可以理解的是,目标资源41的占用连接数可以为,一组第一目标应用客户端31、一组第二目标应用客户端32、一组第三目标应用客户端33、一组第四目标应用客户端34、一组第五目标应用客户端35、一组第一目标应用客户端36,与所述目标资源之间的连接数之和,作为所述目标资源的占用连接数。
步骤43:在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
其中,所述对所述目标资源进行管控可以包括,拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。
可以理解的是,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值时,所述目标资源的连接数已经告急,再增加新的连接会导致所述目标资源连接数超限,因此可以通过拒绝新的目标应用客户端连接所述目标资源,即拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。其中所述输出警报可以是发送警报邮件等等。
可以理解的是,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值时,所述目标资源的连接数已经告急,也可以通过输出警报,增大所述目标资源的数量,以防止所述目标资源连接数超限。
可以理解的是,所述目标资源是存在所能承载的最大连接数目限制的,所述目标资源的连接数阈值可以是所述目标资源的最大连接数。所述目标资源的连接数阈值可以是所述目标资源的最大连接数目的预设百分比。例如,某目标资源的最大连接数可以是3000,连接数阈值可以是3000的80%(或者70%、60%等)。当占用连接数为2400时,所述目标资源的所述占用连接数已经达到所述目标资源的连接数阈值,则需要对所述目标资源进行管控。如此,通过本申请提供的一种基于服务池的资源管控方法,可以实时根据用户的访问量,得到目标资源的实时使用情况,从而可以对目标资源进行动态管控,进一步有效解决了现有技术中,由于无法实现对资源的动态管控,所造成的目标资源的使用瓶颈问题。
在本申请实施例中,上述步骤11还可以包括:接收目标应用客户端集合中的目标应用客户端每隔单位周期发送的目标消息。
可以理解的是,参见图10,目标应用客户端33中可以设置一个定时任务,并且可以设置定时周期,例如可以设置定时周期为1分钟,目标应用客户端33每隔单位周期将采集到的目标消息发送一次,将目标消息发送到接收方101。接收方101可以将接收到的目标消息存储在数据库102中。
在本申请实施例中,在上述步骤12之后,所述方法还包括:显示可视界面,所述可视界面中包括所述目标资源的占用连接数。
其中,所述可视界面可以包括:应用维度界面、资源维度界面、服务池维度界面。
可以理解的是,应用维度界面可以展示目标应用客户端与所述目标资源之间的连接数。
可以理解的是,参见图7,资源维度界面可以展示第一目标资源41、第二目标资源42、第三目标资源43、第四目标资源44中,每一个目标资源的当前实际占用连接数,可以采用表格的形式进行汇总展示。资源维度界面展示的方式可以方便用户实时对目标资源的占用连接数进行监控。
可以理解的是,服务池维度界面可以展示服务池内所有目标应用客户端与所述目标资源之间的连接数。
图5是本申请实施例提供的一种基于服务池的资源管控方法的流程图。
本申请实施例提供的一种基于服务池的资源管控方法,所述服务池可以包括客户端,参见图5,所述资源管控方法可以包括:步骤51、步骤52,下面分别对步骤51和步骤52进行阐述。
步骤51:确定客户端与目标资源之间的连接数,其中,所述客户端为使用目标资源的客户端。
在本申请实施例中,在步骤51之前,本申请实施例提供的一种基于服务池的资源管控方法还可以包括如下步骤:在所述客户端中植入目标指令,所述目标指令用于采集所述客户端与目标资源的连接数。
那么,上述步骤51还可以包括:
子步骤一:所述客户端通过所述目标指令确定所述客户端与目标资源之间的连接数。
本申请实施例提供的一种基于服务池的资源管控方法,所述客户端可以为基于java语言的客户端,所述目标指令可以为jar包,参见图6,上述子步骤一还可以包括:步骤61、步骤62。
其中,所述jar包(Java Archive)是一种软件包文件格式,通常用于聚合大量的java类文件、相关的元数据和资源文件到一个jar包,以便开发java平台应用软件和库。所述jar包可以自动采集所述客户端与目标资源之间的连接数。
步骤61:所述客户端在启动后,执行所述目标指令,从java基础框架的容器中读取各个数据库池的基本单元,所述基本单元包括连接数。
其中,所述java基础框架可以采用Spring框架(Spring Framework)、Spring Boot框架(Spring Boot Framework)等等。其中Spring框架是一个轻量级的控制反转和面向切面的容器框架,可以理解的是,所有的Spring模块都是在核心容器的基础上构建的,核心容器是Spring框架中最基础的部分,核心容器提供了依赖注入(Dependency Injection)特征来实现容器对Java软件组件(Enterprise Java Bean,Bean)的管理。
可以理解的是,参见图9,所述基本单元可以是Bean组件,bean组件中属性有:最小连接数、最大连接数、当前连接数。所述客户端33在启动后,jar包95采集数据库池91-94中的Bean组件中的属性。
可以理解的是,参见图9,数据库池可以包括:第一数据库池91、第二数据库池92、第三数据库池93、第四数据库池94。其中与第一目标资源41相连接的数据库池为第一数据库池91、第二数据库池92、第三数据库池93。与第二目标资源42相连的数据库池为第四数据库池。可以理解的是,第一目标资源41可以是mySQL数据库,第二目标资源42可以是Redis数据库。而连接数据库所使用的数据库池有所不同,连接mySQL数据库的数据库池可以包括C3P0、Druid、Hikari,连接Redis数据库的数据库池可以使用jredis。那么,第一数据库池91可以为C3P0、第二数据库池92可以为Druid、第三数据库池93可以为Hikari、第四数据库池94可以为jredis。
步骤62:将从各个数据库池的基本单元中读取出的连接数之和,作为所述客户端与目标资源之间的连接数。
可以理解的是,通过上述步骤61和步骤62,可以嵌入客户端内部进行连接数采集,从而得到了最小颗粒度数据,即一个客户端的连接数数据。
步骤52:向服务器发送目标消息,所述目标消息包括所述客户端与所述目标资源之间的连接数,使得所述服务器基于服务池中至少一组所述使用目标资源的客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数,并在所述目标资源的所述占用连接数达到,所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
如此,通过本申请提供的一种基于服务池的资源管控方法,可以实时根据用户的访问量,得到目标资源的实时使用情况,从而可以对目标资源进行动态管控,进一步有效解决了现有技术中,由于无法实现对资源的动态管控,所造成的目标资源的使用瓶颈问题。
图11是本申请实施例提供的一种基于服务池的资源管控装置的结构框图。参见图11,所述服务池包括目标应用客户端集合,所述资源管控装置800可包括:
接收模块801,用于接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;
确定模块802,用于基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;
管控模块803,用于在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
可选的,所述管控模块803还可以用于:拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。
可选的,所述接收模块801还可以用于:接收所述服务池中的一组目标应用客户端发送的目标消息,该组目标应用客户端包括属于相同类别的多个目标应用客户端。所述确定模块802还可以用于:将该组目标应用客户端中的每一个目标应用客户端与所述目标资源之间的连接数之和,确定为所述目标资源的占用连接数。
可选地,每一组目标应用客户端指示一类目标应用客户端,且每一类目标应用客户端包括至少一个目标应用客户端。所述接收模块801还可以用于:接收所述服务池中的多组目标应用客户端发送的目标消息;其中,每一组目标应用客户端指示一类目标应用客户端,且每一类目标应用客户端包括至少一个目标应用客户端。所述确定模块802还可以用于:针对每一组目标应用客户端,将该组内的每一个目标应用客户端与所述目标资源之间的连接数之和,作为该组目标应用客户端与所述目标资源之间的组连接数;将所述多组目标应用客户端中的每一组目标应用客户端与所述目标资源之间的组连接数之和,作为所述目标资源的占用连接数。所述确定模块802还可以用于:针对任一组目标应用客户端,将同一组内的每一个目标应用客户端与所述目标资源之间的连接数之和,作为该组目标应用客户端与所述目标资源之间的连接数。
可选地,所述接收模块801还可以用于:接收所述目标应用客户端集合中的所述目标应用客户端每隔单位周期发送的目标消息。
可选地,在所述确定所述目标资源的占用连接数之后,所述管控模块803还包括:显示单元,用于显示可视界面,所述可视界面中包括所述目标资源的占用连接数。
其中,所述基于服务池的资源管控装置与基于服务池的资源管控方法相对应,以上各个步骤的具体实施过程可参照上文描述,在此不再赘述。
在本申请实施例中,所述服务池包括目标应用客户端集合,所述资源管控方法包括:接收目标应用客户端集合中的目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;基于所述目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;在所述目标资源的所述占用连接数达到,所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。如此,通过本申请提供的一种基于服务池的资源管控方法,可以实时根据用户的访问量,得到目标资源的实时使用情况,从而可以对目标资源进行动态管控,进一步有效解决了现有技术中,由于无法实现对资源的动态管控,所造成的目标资源的使用瓶颈问题。
图12是本申请实施例提供的一种基于服务池的资源管控装置的结构框图。参见图12,所述服务池包括客户端,所述资源管控装置900可包括:
确定模块901,用于确定客户端与目标资源之间的连接数,其中,所述客户端为使用目标资源的客户端。
发送模块902:用于向服务器发送目标消息,所述目标消息包括所述客户端与所述目标资源之间的连接数,使得所述服务器基于服务池中至少一组所述使用目标资源的客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数,并在所述目标资源的所述占用连接数达到,所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
可选地,在所述客户端确定所述客户端与目标资源之间的连接数之前,所述确定模块901还可以用于,在所述客户端中植入目标指令,所述目标指令用于采集所述客户端与目标资源的连接数。
可选地,上述所述确定模块901还用于,所述客户端通过所述目标指令确定所述客户端与目标资源之间的连接数。
可选地,上述所述客户端可以为基于java语言的客户端,所述目标指令可以为jar包。所述确定模块901还可以用于,在所述客户端启动后,执行所述目标指令,从java基础框架的容器中读取各个数据库池的基本单元,所述基本单元包括连接数;将从各个数据库池的基本单元中读取出的连接数之和,作为所述客户端与目标资源之间的连接数。
其中,所述基于服务池的资源管控装置与基于服务池的资源管控方法相对应,以上各个步骤的具体实施过程可参照上文描述,在此不再赘述。
在本申请实施例中,所述服务池包括目标应用客户端集合,所述资源管控方法包括:接收目标应用客户端集合中的目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;基于所述目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。如此,通过本申请提供的一种基于服务池的资源管控方法,可以实时根据用户的访问量,得到目标资源的实时使用情况,从而可以对目标资源进行动态管控,进一步有效解决了现有技术中,由于无法实现对资源的动态管控,所造成的目标资源的使用瓶颈问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种基于服务池的资源管控方法,其特征在于,所述服务池包括至少一组目标应用客户端,所述资源管控方法包括:
接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;
基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;
在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
2.根据权利要求1所述的资源管控方法,其特征在于,
所述接收所述服务池中的至少一组目标应用客户端发送的目标消息包括:接收所述服务池中的一组目标应用客户端发送的目标消息,该组目标应用客户端包括属于相同类别的多个目标应用客户端;
所述基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数包括:将该组目标应用客户端中的每一个目标应用客户端与所述目标资源之间的连接数之和,确定为所述目标资源的占用连接数。
3.根据权利要求1所述的资源管控方法,其特征在于,
所述接收所述服务池中的至少一组目标应用客户端发送的目标消息包括:接收所述服务池中的多组目标应用客户端发送的目标消息;其中,每一组目标应用客户端指示一类目标应用客户端,且每一类目标应用客户端包括至少一个目标应用客户端;
所述基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数包括:
针对每一组目标应用客户端,将该组内的每一个目标应用客户端与所述目标资源之间的连接数之和,作为该组目标应用客户端与所述目标资源之间的组连接数;
将所述多组目标应用客户端中的每一组目标应用客户端与所述目标资源之间的组连接数之和,作为所述目标资源的占用连接数。
4.根据权利要求1所述的资源管控方法,其特征在于,所述对所述目标资源进行管控包括:
拒绝除了已连接所述目标资源的目标应用客户端之外的其他目标应用客户端连接所述目标资源,并输出警报。
5.一种基于服务池的资源管控方法,其特征在于,所述资源管控方法包括:
确定客户端与目标资源之间的连接数,其中,所述客户端为使用目标资源的客户端;
向服务器发送目标消息,所述目标消息包括所述客户端与所述目标资源之间的连接数,使得所述服务器基于服务池中至少一组所述使用目标资源的客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数,并在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
6.根据权利要求5所述的资源管控方法,其特征在于,在所述确定客户端与目标资源之间的连接数之前,所述资源管控方法还包括:
在所述客户端中植入目标指令,所述目标指令用于采集所述客户端与目标资源的连接数;
所述确定客户端与目标资源之间的连接数包括:通过所述目标指令确定所述客户端与目标资源之间的连接数。
7.根据权利要求6所述的资源管控方法,其特征在于,所述客户端为基于java语言的客户端,所述目标指令为jar包;
所述通过所述目标指令确定所述客户端与目标资源之间的连接数包括:
在所述客户端启动后,执行所述目标指令,从java基础框架的容器中读取各个数据库池的基本单元,所述基本单元包括连接数;
将从各个数据库池的基本单元中读取出的连接数之和,作为所述客户端与目标资源之间的连接数。
8.一种基于服务池的资源管控装置,其特征在于,所述服务池包括至少一组目标应用客户端,所述资源管控装置包括:
接收模块,用于接收所述服务池中的至少一组目标应用客户端发送的目标消息,其中,所述目标应用客户端为使用目标资源的客户端,所述目标消息包括所述目标应用客户端与所述目标资源之间的连接数;
确定模块,用于基于所述至少一组目标应用客户端中每一个目标应用客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数;
管控模块,用于在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
9.一种基于服务池的资源管控装置,其特征在于,所述资源管控装置包括:
确定模块,用于确定客户端与目标资源之间的连接数,其中,所述客户端为使用目标资源的客户端;
发送模块,用于向服务器发送目标消息,所述目标消息包括所述客户端与所述目标资源之间的连接数,使得所述服务器基于服务池中至少一组所述使用目标资源的客户端与所述目标资源之间的连接数,确定所述目标资源的占用连接数,并在所述目标资源的所述占用连接数达到所述目标资源的连接数阈值的情况下,对所述目标资源进行管控。
10.一种基于服务池的资源管控系统,其特征在于,所述资源管控系统包括根据权利要求8所述的资源管控装置以及根据权利要求9所述的资源管控装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011568113.3A CN112738205B (zh) | 2020-12-25 | 2020-12-25 | 基于服务池的资源管控方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011568113.3A CN112738205B (zh) | 2020-12-25 | 2020-12-25 | 基于服务池的资源管控方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738205A true CN112738205A (zh) | 2021-04-30 |
CN112738205B CN112738205B (zh) | 2023-04-07 |
Family
ID=75616605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011568113.3A Active CN112738205B (zh) | 2020-12-25 | 2020-12-25 | 基于服务池的资源管控方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738205B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220121672A1 (en) * | 2019-12-13 | 2022-04-21 | Paypal, Inc. | Self-Adjusting Connection Pool in a Distributed System |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130254761A1 (en) * | 2012-03-20 | 2013-09-26 | Cellco Partnership D/B/A Verizon Wireless | Granular application sessions tagging |
CN104486255A (zh) * | 2014-12-30 | 2015-04-01 | 杭州华三通信技术有限公司 | 业务资源调度方法和装置 |
US20170171305A1 (en) * | 2015-12-09 | 2017-06-15 | International Business Machines Corporation | Persistent connection rebalancing |
CN106909463A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种连接数配额的控制方法与装置 |
CN109309735A (zh) * | 2018-11-27 | 2019-02-05 | 深圳市网心科技有限公司 | 连接处理方法、服务器、系统及存储介质 |
CN110297862A (zh) * | 2019-07-04 | 2019-10-01 | 中国联合网络通信集团有限公司 | 数据库访问方法及数据库访问中间件 |
-
2020
- 2020-12-25 CN CN202011568113.3A patent/CN112738205B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130254761A1 (en) * | 2012-03-20 | 2013-09-26 | Cellco Partnership D/B/A Verizon Wireless | Granular application sessions tagging |
CN104486255A (zh) * | 2014-12-30 | 2015-04-01 | 杭州华三通信技术有限公司 | 业务资源调度方法和装置 |
US20170171305A1 (en) * | 2015-12-09 | 2017-06-15 | International Business Machines Corporation | Persistent connection rebalancing |
CN106909463A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种连接数配额的控制方法与装置 |
CN109309735A (zh) * | 2018-11-27 | 2019-02-05 | 深圳市网心科技有限公司 | 连接处理方法、服务器、系统及存储介质 |
CN110297862A (zh) * | 2019-07-04 | 2019-10-01 | 中国联合网络通信集团有限公司 | 数据库访问方法及数据库访问中间件 |
Non-Patent Citations (1)
Title |
---|
张昕等: "分布式事务处理中的资源管理", 《计算机科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220121672A1 (en) * | 2019-12-13 | 2022-04-21 | Paypal, Inc. | Self-Adjusting Connection Pool in a Distributed System |
US11580130B2 (en) * | 2019-12-13 | 2023-02-14 | Paypal, Inc. | Self-adjusting connection pool in a distributed system |
Also Published As
Publication number | Publication date |
---|---|
CN112738205B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874640B (zh) | 一种集群性能的评估方法和装置 | |
CN109002484B (zh) | 一种用于顺序消费数据的方法及系统 | |
JP2019517040A (ja) | クラウドプラットフォームベースのクライアントアプリケーション情報統計方法および装置 | |
CN110502318A (zh) | 事件处理方法、事件处理服务器、存储介质及装置 | |
CN110263001B (zh) | 文件管理方法、装置、系统、设备及计算机可读存储介质 | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
CN109379399B (zh) | 一种基于元数据的数据共享自订阅处理方法及系统 | |
CN112256954A (zh) | 一种消息推送的处理方法及相关系统 | |
CN108880943A (zh) | 一种异构云平台的监控系统 | |
CN106155763A (zh) | 虚拟机调度方法和装置 | |
CN109656963A (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
CN105824932A (zh) | 一种基于阿里云对象存储oss的档案系统 | |
CN110297746A (zh) | 一种数据处理方法及系统 | |
CN112738205B (zh) | 基于服务池的资源管控方法、装置和系统 | |
CN113656194A (zh) | 对账结果数据的通知方法、装置、电子装置及存储介质 | |
US10277522B1 (en) | Automated association of computing resources with resource creators for usage allocation | |
CN114417200B (zh) | 网络数据的采集方法、装置及电子设备 | |
WO2017074458A1 (en) | Likelihood of access based object storage in a cloud environment | |
CN108628954A (zh) | 一种海量数据自助查询方法和装置 | |
CN110442782B (zh) | 一种云资源检索方法与装置 | |
CN110188258B (zh) | 使用爬虫获取外部数据的方法及装置 | |
CN109902113B (zh) | 征信反馈报告处理方法及装置、存储介质、计算机设备 | |
CN113360307A (zh) | 一种数据处理方法和装置 | |
CN111163117B (zh) | 一种基于Zookeeper的对等式调度方法和装置 | |
CN111953580A (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 |