连接池并发控制方法、装置及计算机可读存储介质与流程

文档序号:18885132发布日期:2019-10-15 20:47阅读:102来源:国知局
连接池并发控制方法、装置及计算机可读存储介质与流程

本发明涉及数据处理技术领域,具体来说,涉及一种连接池并发控制方法、装置及计算机可读存储介质。



背景技术:

随着科技的发展,现如今api(应用程序编程接口)网关越来越火,随之而来的各个系统通过api网关转发到真实系统的相互的影响也越来越明显,比如其中某一系统有问题,导致在api网关上的其他系统也受影响,或者说某一系统的某个业务有问题,导致其他业务在api网关上的调用也会受到影响。目前市面上所有的开源http连接池都是基于ip端口进行隔离的,不能根据业务进行隔离。存在以下痛点导致现有的框架无法解决:1、某个接口的并发量比较大或某个接口的并发量比较小;2、有些接口的处理时间比较长,有些接口处理时间比较短;3、同一个系统下不能根据业务进行隔离。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出一种连接池并发控制方法、装置及计算机可读存储介质,以克服现有相关技术所存在的上述技术问题。

为此,本发明采用的具体技术方案如下:

根据本发明的一个方面,提供了一种连接池并发控制方法,应用于电子装置,该方法包括:

统计系统中的各个业务集的数量;

确定各个业务集的并发量的大小;

配置各个业务集的优先级;

根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量。

进一步的,计算各个业务集的并发量的大小的步骤包括:

根据并发量公式和并发量峰值公式计算出平均并发量及并发量峰值;

其中,并发量公式为:并发量峰值公式:c为平均并发量,n为loginsession的数量,l为loginsession的平均时长,tm为考察的时间长度,c’为并发用户数峰值。

进一步的,所述方法还包括确定各个业务集的数量中基于api接口集的最小粒度的接口的数量,配置各个所述业务集的优先级的步骤包括:

根据所述业务集中所述最小粒度的接口的特性构建价值函数;

根据所述价值函数的数值大小确定所述业务集的优先级;

所述价值函数为:

其中,t为当前时间,st为业务集t的开始计算时间,dt为业务集t的终止计算时间,ct为业务集t的紧迫度,zt为延迟比率,chard为中介值,当ct>chard时,t为优先级业务集;

所述延迟比率zt为所述业务集价值终止计算时间下降后的比率,其计算公式为:

进一步的,所述根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量的步骤包括:

根据各个业务集的优先级获取各个业务集的配置计划;

根据各个业务集的配置计划划分配置等级;

根据各个业务集的配置等级由高到低依次配置数据连接的数量,同一配置等级优先配置并发量较大的业务集。

根据本发明的另一方面,提供了一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的连接池并发控制程序,所述连接池并发控制程序被所述处理器执行时实现如下步骤:

统计系统中的各个业务集的数量;

确定各个业务集的并发量的大小;

配置各个业务集的优先级;

根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量。

进一步的,计算各个业务集的并发量数值大小的步骤包括:

根据并发量公式和并发量峰值公式计算出平均并发量及并发量峰值;

其中,并发量公式为:并发量峰值公式:c为平均并发量,n为loginsession的数量,l为loginsession的平均时长,tm为考察的时间长度,c’为并发用户数峰值。

进一步的,配置各个所述业务集的优先级的步骤包括:

根据所述业务集中所述最小粒度的接口的特性构建价值函数;

根据所述价值函数的数值大小确定所述业务集的优先级;

所述价值函数为:

其中,t为当前时间,st为业务集t的开始计算时间,dt为业务集t的终止计算时间,ct为业务集t的紧迫度,zt为延迟比率,chard为中介值,当ct>chard时,t为优先级业务集;

所述延迟比率zt为所述业务集价值终止计算时间下降后的比率,其计算公式为:

进一步的,所述根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量的步骤包括:

根据各个业务集的优先级获取各个业务集的配置计划;

根据各个业务集的配置计划划分配置等级;

根据各个业务集的配置等级由高到低依次配置数据连接的数量,同一配置等级优先配置并发量较大的业务集。

根据本发明的又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有连接池并发控制程序,所述连接池并发控制程序可被一个或者多个处理器执行,以实现上述连接池并发控制方法的步骤。

本发明的有益效果为:可以根据不同的业务集进行资源的配置,可以更精确的分配资源,系统不会因为一个接口的问题,导致整个系统不可用,进而在同一个系统下可以根据业务进行隔离,进而提高数据传输过程中的稳定性与高效性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的连接池并发控制方法的流程图。

图2是根据本发明实施例的电子装置示意图。

图3为本发明电子装置一实施例中的程序模块示意图。

具体实施方式

为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

根据本发明的实施例,提供了一种连接池并发控制方法、装置及计算机可读存储介质。

现结合附图和具体实施方式对本发明进一步说明,如图1所示,根据本发明实施例的连接池并发控制方法,应用于电子装置,所述方法包括:

步骤s101,统计系统中的各个业务集的数量;

其中,统计系统中的各个业务集的数量包括以下步骤:

接收连接池中各系统的业务请求;确定所述业务请求携带的标识信息;所述标识信息,针对不同业务集以及用以触发所述业务集的不同业务事件所生成;确定所述标识信息所对应的业务集和业务事件;统计系统中的各个业务集的数量;

步骤s102,计算各个业务集的并发量的大小;

步骤s103,配置各个业务集的优先级;例如系统包括车险业务集及一般意外险业务集,车险业务集的优先级别高于一般意外险业务集,而在实际的应用中,车险业务集的并发量大于一般意外险业务集的并发量;

步骤s104,根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量。

进一步地,计算各个业务集的并发量数值大小的步骤包括:

根据并发量公式和并发量峰值公式计算出平均并发量及并发量峰值;

其中,并发量公式为:并发量峰值公式:c为平均并发量,n为loginsession的数量,l为loginsession的平均时长,tm为考察的时间长度,c’为并发用户数峰值。

进一步地,所述方法还包括确定各个业务集中基于api接口集的最小粒度的接口的数量,所述配置各个所述业务集的优先级的步骤包括:

根据所述业务集中所述最小粒度的接口的特性构建价值函数;

根据所述价值函数的数值大小确定所述业务集的优先级;

其中,所述价值函数的数值大,其优先级高;

所述价值函数的数值小,其优先级低;

所述价值函数为:

其中,t为当前时间,st为业务集t的开始计算时间,dt为业务集t的终止计算时间,ct为业务集t的紧迫度,zt为延迟比率,chard为中介值,当ct>chard时,t为优先级业务集;

所述延迟比率zt为所述业务集价值终止计算时间下降后的比率,其计算公式为:

其中,所述价值函数的值越大则表明所述业务集t的紧迫度越高、终止时间越短,其优先级也就越高。根据所述业务集t的优先级,采用锁协议的方式制定并发控制,以满足处理需求。

进一步地,所述根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量的步骤包括:

根据各个业务集的优先级获取各个业务集的配置计划;

根据各个业务集的配置计划划分配置等级;

根据各个业务集的配置等级由高到低依次配置数据连接的数量,同一配置等级优先配置并发量较大的业务集。

进一步地,在步骤s101中,通过统计各个业务集的网址数量确定各个业务集中基于api接口集的最小粒度的接口的数量。

通过给业务集分配不同的资源,例如并发量,提升了每个业务集相应的服务质量。

借助于上述技术方案,可以根据不同的业务集进行资源的配置,可以更精确的分配资源,系统不会因为一个接口的问题,导致整个系统不可用。

例如:系统a有k={a,b,c},l={d,e,f}两个业务集(括号内的小写字母代表系统的最小粒度的接口)。其中,若业务集k的并发量大可以为他分配更多的资源,业务集l的并发量小,可以分配更少的资源。比如业务集k出问题了,只能影响业务集k下面的a,b,c接口,则不会影响业务集l下的d,e,f接口。

本发明还提供一种电子装置1,参照图2所示,为本发明一实施例提供的电子装置1的内部结构示意图。

在本实施例中,电子装置1可以是电脑或服务器。所述电子装置1至少包括存储器11、处理器13,通信总线15,以及网络接口17。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置的内部存储单元,例如所述电子装置的硬盘。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如连接池并发控制程序111的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器13在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。

通信总线15用于实现这些组件之间的连接通信。

网络接口17可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在电子装置1与其他电子设备之间建立通信连接。

可选地,电子装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11~17的电子装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的电子装置1的实施例中,存储器11中存储有连接池并发控制程序111;处理器13执行存储器11中存储的连接池并发控制程序111时实现如下步骤:

统计系统中的各个业务集的数量,并确定各个业务集中基于api接口集的最小粒度的接口的数量;

其中,统计系统中的各个业务集的数量包括以下步骤:

接收连接池中各系统的业务请求;确定所述业务请求携带的标识信息;所述标识信息,针对不同业务集以及用以触发所述业务集的不同业务事件所生成;确定所述标识信息所对应的业务集和业务事件;

计算各个业务集的并发量的大小;

配置各个业务集的优先级;例如系统包括车险业务集及一般意外险业务集,车险业务集的优先级别高于一般意外险业务集,而在实际的应用中,车险业务集的并发量大于一般意外险业务集的并发量;

根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量。

进一步地,计算各个业务集的并发量的大小的步骤包括:

根据并发量公式和并发量峰值公式计算出平均并发量及并发量峰值;

其中,并发量公式为:并发量峰值公式:c为平均并发量,n为loginsession的数量,l为loginsession的平均时长,tm为考察的时间长度,c’为并发用户数峰值。

进一步地,并确定各个业务集中基于api接口集的最小粒度的接口的数量,所述配置各个所述业务集的优先级的步骤包括:

根据所述业务集中所述最小粒度的接口的特性构建价值函数;

根据所述价值函数的数值大小确定所述业务集的优先级;

其中,所述价值函数的数值大,其优先级高;

所述价值函数的数值小,其优先级低;

所述价值函数为:

其中,t为当前时间,st为业务集t的开始计算时间,dt为业务集t的终止计算时间,ct为业务集t的紧迫度,zt为延迟比率,chard为中介值,当ct>chard时,t为优先级业务集;

所述延迟比率zt为所述业务集价值终止计算时间下降后的比率,其计算公式为:

其中,所述价值函数的值越大则表明所述业务集t的紧迫度越高、终止时间越短,其优先级也就越高。根据所述业务集t的优先级,采用锁协议的方式制定并发控制,以满足处理需求。

进一步地,所述根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量的步骤包括:

根据各个业务集的优先级获取各个业务集的配置计划;

根据各个业务集的配置计划划分配置等级;

根据各个业务集的配置等级由高到低依次配置数据连接的数量,同一配置等级优先配置并发量较大的业务集。

通过给业务集分配不同的资源,例如并发量,提升了每个业务集相应的服务质量。借助于上述技术方案,可以根据不同的业务集进行资源的配置,可以更精确的分配资源,系统不会因为一个接口的问题,导致整个系统不可用。

本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有的连接池并发控制程序,所述连接池并发控制程序可被一个或多个处理器执行,以实现如下操作:

统计系统中的各个业务集的数量;

其中,统计系统中的各个业务集的数量包括以下步骤:

接收连接池中各系统的业务请求;确定所述业务请求携带的标识信息;所述标识信息,针对不同业务集以及用以触发所述业务集的不同业务事件所生成;确定所述标识信息所对应的业务集和业务事件;

计算各个业务集的并发量的大小;

配置各个业务集的优先级;例如系统包括车险业务集及一般意外险业务集,车险业务集的优先级别高于一般意外险业务集,而在实际的应用中,车险业务集的并发量大于一般意外险业务集的并发量;

根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量。

本发明计算机可读存储介质具体实施方式与上述电子装置和方法各实施例基本相同,在此不作累述。

可选地,在其他实施例中,连接池并发控制程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个微处理器(本实施例为处理器13)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述连接池并发控制程序在电子装置中的执行过程。

例如,参照图3所示,为本发明装置一实施例中的连接池并发控制程序111的程序模块示意图,该实施例中,连接池并发控制程序111可以被分割为业务集确定模块10、并发量计算模块20、优先级配置模块30及数据配置模块40,示例性地:

业务集确定模块10,用于统计系统中的各个业务集的数量;

并发量计算模块20,用于计算各个业务集的并发量的大小;

优先级配置模块30,用于配置各个业务集的优先级;

数据配置模块40,用于根据所述业务集的数量、各个业务集的并发量的大小及各个业务集的优先级在连接池中配置各个业务集的数据连接的数量。

上述业务集确定模块10、并发量计算模块20、优先级配置模块30及数据配置模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述

综上所述,借助于本发明的上述技术方案,可以根据不同的业务集进行资源的配置,可以更精确的分配资源,系统不会因为一个接口的问题,导致整个系统不可用,进而在同一个系统下可以根据业务进行隔离,进而提高api网关在数据传输过程中的稳定性与高效性。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1