CN111935313B - 一种连接池管理方法及装置 - Google Patents
一种连接池管理方法及装置 Download PDFInfo
- Publication number
- CN111935313B CN111935313B CN202011012460.8A CN202011012460A CN111935313B CN 111935313 B CN111935313 B CN 111935313B CN 202011012460 A CN202011012460 A CN 202011012460A CN 111935313 B CN111935313 B CN 111935313B
- Authority
- CN
- China
- Prior art keywords
- connection
- task
- time interval
- terminal
- occupied
- 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
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种连接池管理方法及装置,该连接池管理方法通过在接收到任务执行请求后,从连接池中取出空闲连接使得数据服务器与终端连接得到占用连接,从而使得数据服务器与终端可以进行交互,同时,对终端的运行状态进行检测,在终端处于断开状态时,数据服务器不需要等待任务执行完成,可以使得数据服务器根据历史时间间隔确定历史时间特征数据,根据历史时间特征数据确定预设时间间隔,在预设时间间隔后回收占用连接,从而使得在出现终端断开连接时,无需占用数据服务器的资源等待任务执行完成,直接在预设时间间隔后回收占用连接即可,降低了服务器的资源的占用。
Description
技术领域
本申请涉及智慧交通技术领域,尤其是涉及一种连接池管理方法及装置。
背景技术
在终端与服务器进行交互的过程中,需要将终端和服务器连接,为了降低对服务器的资源的占用,会设置连接池,在终端和服务器连接时,直接从连接池中提取连接将服务器和终端连接,在终端的任务执行完毕后,收回连接,但在终端和服务器的交互过程中,会存在终端掉线的情况,此时需要继续执行任务,而继续执行任务需要占用服务器的资源等待任务执行完成后,收回连接,在智慧交通领域,一个城市或者一个行政区的摄像头数据达到十万或者百万级别,那么需要执行的任务的数量也为十万或者百万级别,在存在大量的终端掉线时,服务器需要大量的资源等待任务执行完成后回收连接,导致占用较大的服务器的资源。
所以,现有连接池的回收方式存在终端掉线时需要等待回收连接导致占用服务器的资源的技术问题。
发明内容
本申请实施例提供一种连接池管理方法及装置,用于缓解现有连接池的回收方式存在终端掉线时需要等待回收连接导致占用服务器的资源的技术问题。
本申请实施例提供一种连接池管理方法,该连接池管理方法应用于交警系统,所述交警系统包括数据服务器和终端,所述连接池管理方法包括:
所述数据服务器接收终端发送的任务执行请求;
根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;
在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定预设时间间隔;在预设时间间隔后将所述占用连接回收至连接池。
同时,本申请实施例提供一种连接池管理装置,该连接池管理装置应用于交警系统,所述交警系统包括数据服务器和终端,所述连接池管理装置包括:
接收模块,用于接收终端发送的任务执行请求;
连接模块,用于根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
检测模块,用于检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;
回收模块,用于在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定预设时间间隔;在预设时间间隔后将所述占用连接回收至连接池。
有益效果:本申请实施例提供一种连接池管理方法及装置,该连接池管理方法应用于交警系统,所述交警系统包括数据服务器和终端,所述连接池管理方法先采用数据服务器接收终端发送的任务执行请求;然后根据任务执行请求,从连接池中获取空闲连接,并使用空闲连接将数据服务器和终端连接得到占用,然后检测终端的运行状态,并判断终端的运行状态是否处于断开状态,在终端的运行状态处于断开状态时,获取数据服务器与终端连接的历史时间间隔,根据历史时间间隔,确定历史时间间隔中的历史时间特征数据,并根据历史时间间隔中的历史时间特征数据,确定预设时间间隔,然后在预设时间间隔后将占用连接回收至所述连接池;本申请实施例通过在接收到任务执行请求后,从连接池中取出空闲连接使得数据服务器与终端连接得到占用连接,从而使得数据服务器与终端可以进行交互,同时,对终端的运行状态进行检测,在终端处于断开状态时,数据服务器不需要等待任务执行完成,可以使得数据服务器根据历史时间间隔确定历史时间特征数据,根据历史时间特征数据确定预设时间间隔,在预设时间间隔后回收占用连接,从而使得在出现终端断开连接时,无需占用数据服务器的资源等待任务执行完成,直接在预设时间间隔后回收占用连接即可,降低了服务器的资源的占用。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的智慧交通系统的场景示意图。
图2为本申请实施例提供的连接池管理方法的流程示意图。
图3为本申请实施例提供的连接池管理方法中的等待队列的第一种示意图。
图4为本申请实施例提供的连接池管理方法中的等待队列的第二种示意图。
图5为本申请实施例提供的连接池管理方法中的等待队列随当前时间变化的变化过程示意图。
图6为本申请实施例提供的连接池管理方法中的等待队列的第三种示意图。
图7为本申请实施例提供的连接池管理方法中的连接池的第一结构示意图。
图8为本申请实施例提供的连接池管理方法中的连接池的第二结构示意图。
图9为本申请实施例提供的连接池管理装置的结构示意图。
图10为本申请实施例提供的数据服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的智慧交通系统的场景示意图,该系统可以包括终端和服务器通过SIP(Session Initiation Protocol,会话初始协议)网关连接通信,不再赘述,其中,终端包括前端设备11等,服务器包括数据服务器12以及通信服务器,图1中未示出通信服务器等,其中:
前端设备11包括但不局限于嵌入式高清摄像机、工控机、高清相机等,用于对通过前端设备的车辆、行人进行数据采集,数据采集包括但不局限于对车辆的车牌号码(号码可以是假牌或者套牌)、车牌类型(私家车的蓝底车牌、货车的黄底车牌等)、行人的违法行为。
服务器包括本地服务器和/或远程服务器等。数据服务器12以及通信服务器都可以部署在本地服务器,也可以部分或者全部部署在远程服务器上。
数据服务器12可以接收终端发送的任务执行请求;根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定所述预设时间间隔;在预设时间间隔后将所述占用连接回收至所述连接池。
需要说明的是,图1所示的系统场景示意图是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用,以下分别进行详细说明,需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
图2是本申请实施例提供的连接池管理方法的流程示意图,请参阅图2,该连接池管理方法包括以下步骤:
201:数据服务器接收终端发送的任务执行请求。
在一种实施例中,任务执行请求包括流媒体任务的任务执行请求,即任务执行请求包括视频流的任务执行请求,例如视频流的解码、编码,从视频流中查看对应的特征数据,特征数据指需要得到的特定的数据,例如视频流中的违法数据。
在一种实施例中,数据服务器接收终端发送的任务执行请求包括接收至少一个前端设备上传的实时监控视频流,即此时,任务包括接收实时监控视频流,但任务不限于此,任务包括前端设备与数据服务器建立连接,数据服务器接收前端设备发送的实时监控视频流,数据服务器对实时监控视频流进行处理、数据服务器定时发送心跳包、数据服务器定时检测收包数量等,其中心跳包指发送的数据包,根据该数据包可以对任务执行进行检测。
在一种实施例中,实时监控视频流包括前端设备、例如高清摄像机拍摄的视频,该实时监控视频流包括对通过前端设备的车辆的实时监控、对通过前端设备的行人的实时监控,同时,在实时监控视频流中,可以记录对应的事件、对应前端设备的地址的信息,便于在实时监控视频流中出现违法行为时,可以对违法行为发生的时间、地址进行对应的记录,以便于后续处理违法行为时可以依据对应的记录。
在一种实施例中,数据服务器接收终端发送的任务执行请求包括数据服务器接收用户终端发送的违法数据查看请求,例如用户终端上的网页或者应用程序需要查看某个前端设备对应的路口的违法数据,则该用户终端向数据服务器发送任务执行请求,在数据服务器接收到任务执行请求后,假设数据服务器已经存储前端设备的实时监控视频流,则将实时监控视频流进行处理得到用户终端可以查看的违法数据。
202:根据任务执行请求,从连接池中获取空闲连接,并使用空闲连接将数据服务器和终端连接得到占用连接。
在一种实施例中,连接池指创建和管理多个连接的技术,在连接池中创建有多个连接,该连接可以使得终端和数据服务器进行连接,从而使得数据服务器中的线程执行任务,采用连接池可以避免每次终端和数据服务器进行连接时,消耗大量的数据服务器的资源。
在一种实施例中,空闲连接指未被占用的连接,在空闲连接被占用时,变为占用连接,例如数据服务器与终端连接时,假设终端处于断开状态,但此时连接仍然被占用,数据服务器仍然对任务进行处理,则此时连接不是空闲连接而是占用连接,而在数据服务器中的线程执行任务完成后,会回收至连接池,此时连接变为空闲连接。
在一种实施例中,空闲连接将所述数据服务器和终端连接得到占用连接指在接收到终端的任务请求后,会使得空闲连接携带终端的标识变为占用连接,从而使得终端能够在连接后,向数据服务器发送任务对应的数据,数据服务器能够在处理数据后对终端进行反馈,例如返回处理后的数据,在终端处于断开状态时,可以使得此连接被占用,仍然携带有终端的标识,从而使得数据服务器在任务执行完成后才将连接回收至连接池。
在一种实施例中,在使用空闲连接将数据服务器和终端连接时,假设任务为流媒体任务时,会对流媒体任务进行排序,以使得流媒体任务进行执行,在流媒体任务进行排序的过程中,需要先将流媒体任务加入到等待队列中,在将流媒体任务加入到等待队列时,需要知道流媒体任务的执行时间,可以在接收流媒体任务的任务执行请求时,在任务执行请求中携带流媒体任务执行时间。
在一种实施例中,流媒体任务执行时间指流媒体任务执行的某一时间点,例如流媒体任务需要在北京时间13:00:00执行,则流媒体任务的执行时间为北京时间13:00:00。
需要说明的是,本申请实施例中所采用的时间均为了说明本申请的方案实现过程,其设置方式不用于限定本申请的具体实现方式,在实际流媒体任务的处理过程中,根据各个流媒体任务的实际执行时间以及实际时间间隔进行设定。
在一种实施例中,在得到流媒体任务的执行时间后,需要将流媒体任务加入到等待队列中,此步骤包括:根据流媒体任务的任务执行请求,按照流媒体任务执行时间的时间顺序将各流媒体任务加入等待队列。
在一种实施例中,如图3所示,在接收到流媒体任务的执行请求时,根据流媒体任务的执行时间的时间顺序将流媒体任务加入到等待队列30,流媒体任务包括执行时间为13:00:00的任务一301、执行时间为13:00:03的任务二302、执行时间为13:00:05的任务三303、…、执行时间为ab:cd:ef(该时间晚于13:00:05)的标号为304的任务N,按照时间的先后顺序将流媒体任务进行排列,其中,N为大于3的正整数。
在一种实施例中,在根据流媒体任务执行时间的时间顺序将流媒体任务加入等待队列时,考虑到存在需要将其他流媒体任务插入到等待队列中,可以通过根据待插入流媒体任务与等待队列中的流媒体任务的执行时间,将待插入流媒体任务插入到等待队列,此步骤包括:获取待插入流媒体任务的执行时间;根据所述待插入流媒体任务的执行时间、所述等待队列中的流媒体任务的执行时间,将待插入流媒体任务插入所述等待队列。
在一种实施例中,在根据待插入流媒体任务的执行时间、等待队列中的流媒体任务的执行时间,将待插入流媒体任务插入等待队列时,可以通过比对待插入流媒体任务的执行时间和等待队列中的流媒体任务的执行时间,具体的,对于等待队列中的流媒体任务的执行时间,可以根据执行时间设定区间,例如同一分钟设为同一区间、同一小时设为同一区间、同一天设为同一区间,那么在比对待插入流媒体任务的执行时间和等待队列中的流媒体任务的执行时间时,可以先确定待插入流媒体任务的执行时间所处的区间,从而可以方便比对,例如待插入流媒体任务的执行时间为13:00:10,则首先确定执行时间对应的同一小时的区间,然后在同一小时对应的区间下查找同一分钟的区间,从而可以预先确定待插入流媒体任务在等待队列中的大概插入位置,减少比对数量,在确定同一分钟对应的区间后,可以进一步根据执行时间的秒时刻进行比对,从而确定待插入流媒体任务的插入位置;同时,针对等待队列中不存在某一区间的情况,例如等待队列仅存在12点和14点对应的区间,不存在13点对应的区间,则直接将该待插入流媒体任务插入至12点与14点对应的区间之间即可,相应的不存在某分时刻对应的时间时,也可以相应的插入,同时,也可以进一步划分,将60秒划分为多个区间,从而将待插入流媒体任务插入到等待队列。
在一种实施例中,在将流媒体任务加入到等待队列后,需要确定流媒体任务的等待时间,可以将位于等待队列头部位置的流媒体任务的等待时间设置为绝对时间,此步骤包括:根据当前时间以及流媒体任务的执行时间,将位于等待队列头部位置的流媒体任务的等待时间设置为绝对时间;绝对时间为头部位置的流媒体任务的执行时间相对于当前时间的时间差值。
需要说明的是,当前时间为服务器的本地时间,例如服务器设置在采用北京时间的地点,则当前时间为北京时间,服务器可以通过北斗系统周期性的更新本地时间以保证时间准确性。
在一种实施例中,如图4所示,在获取到流媒体任务的执行时间时,获取当前时间41,例如图4中当前时间41为12:59:59,然后根据当前时间和位于等待队列头部位置的流媒体任务的执行时间,图4中以任务一421作为位于等待队列头部位置的流媒体任务,同时,获取到任务一421的执行时间422,即13:00:00,在得到当前时间41和任务一421的执行时间422,即可得到头部位置的流媒体任务的绝对时间423为1秒后,即在1秒后将任务一加入至执行队列。
需要说明的是,图4、图6中的等待时间列指该列对应各个流媒体任务的等待时间,头部位置的流媒体任务的等待时间为绝对时间,非头部位置的流媒体任务的等待时间为相对时间,同时,更新后的等待时间列指该列对应各个流媒体任务的更新后的等待时间,头部位置的流媒体任务为绝对时间,非头部位置的流媒体任务的等待时间为相对时间。
需要说明的是,图4、图6中的时间轴T包括从沿00:00:00至24:00:00的每一时刻,图4、图6中的时间轴T示出了“12:59:00”、“13:00:05”两个时刻,相应的任务按照该时间轴T对应的时间进行排序。
在一种实施例中,在设置等待队列的头部位置的流媒体任务的等待时间后,还需要设置等待队列的非头部位置的流媒体任务的等待时间,此步骤包括:根据各流媒体任务的执行时间,将位于等待队列的非头部位置的流媒体任务的等待时间设置为相对时间;相对时间为非头部位置的流媒体任务的执行时间相对于上一流媒体任务的执行时间的时间差值。
在一种实施例中,在将等待队列中的非头部位置的流媒体任务的等待时间设置为相对时间时,需要知道流媒体任务的执行时间、以及流媒体任务的上一流媒体任务的执行时间,从而可以确定流媒体任务的相对时间,此步骤包括:按照非头部位置的各流媒体任务处于等待队列中的位置,查找位于所述流媒体任务对应的上一流媒体任务;根据所述流媒体任务的执行时间、以及上一流媒体任务对应的执行时间,确定所述流媒体任务与上一流媒体任务的相对时间;具体的,如图4所示,在需要确定任务二431至任务N的相对时间,任务N的标号为451,先获取到各个流媒体任务的位置,然后获取流媒体任务的上一流媒体任务,以及上一流媒体任务的执行时间,例如任务二431的上一流媒体任务为任务一421、任务二431的执行时间432为13:00:03,任务一421的执行时间422为13:00:00,则任务二431的相对时间433为任务一执行3秒后,任务三441的上一流媒体任务为任务二431,任务三441的执行时间为13:00:05,任务二431的执行时间为13:00:03,则任务三441的相对时间为任务二执行2秒后,…,标号为451的任务N的执行时间452为ab:cd:ef(该时间晚于任务三的时间),假设任务N的执行时间与任务N-1的执行时间的差值为k秒,则标号为451的任务N的相对时间为任务N-1执行k秒后,相应的,根据每一流媒体任务与其上一流媒体任务的执行时间,得到各个非头部位置的流媒体任务的相对时间。
在一种实施例中,在存在待插入流媒体任务时,考虑到待插入流媒体任务的执行时间也需要设置为相对时间,需要先确定待插入流媒体任务的位置,从而根据流媒体任务的位置判断等待队列中的流媒体任务的相对时间是否需要更新,此步骤包括:根据所述待插入流媒体任务的执行时间、所述等待队列中的流媒体任务的执行时间,判断所述待插入流媒体任务是否位于所述等待队列的尾部;在所述待插入流媒体任务位于所述等待队列的尾部时,将所述待插入流媒体任务的等待时间设置为相对时间;在所述待插入流媒体任务不位于所述等待队列的尾部时,更新所述等待队列中的各流媒体任务的相对时间;在对待插入流媒体任务在等待队列中的位置进行判断时,可以先判断流媒体任务是否在等待队列中的尾部,在待插入流媒体任务处于尾部时,无需更新等待队列中的流媒体任务的相对时间,仅需将待插入流媒体任务的执行时间设置为相对时间;而在待插入流媒体任务不处于尾部时,除了需要将待插入流媒体任务的执行时间设置为相对时间,还需要将等待队列中的各流媒体任务的相对时间更新,从而使得等待队列中的各流媒体任务的相对时间更新。
在一种实施例中,在所述待插入流媒体任务不位于所述等待队列的尾部时,还需要判断待插入流媒体任务是否处于等待队列的头部位置,在待插入流媒体任务处于等待队列的头部位置时,根据当前时间、待插入流媒体任务的等待时间,将待插入流媒体任务的等待时间设置为绝对时间,然后根据待插入流媒体任务的执行时间、头部位置的流媒体任务的执行时间,将头部位置的流媒体任务的绝对时间更新为相对时间,从而使得等待队列中位于头部位置的待插入流媒体任务设置为绝对时间,而等待队列中原头部位置的流媒体任务设置为相对时间,等待队列中非头部位置的流媒体任务的相对时间不需要更新,此步骤包括:根据所述待插入流媒体任务的执行时间、所述等待队列中的流媒体任务的执行时间,判断所述待插入流媒体任务是否位于所述等待队列的头部;在所述待插入流媒体任务位于所述等待队列的头部时,将所述待插入流媒体任务的等待时间设置为绝对时间,将所述等待队列中的头部位置的流媒体任务的等待时间更新为相对时间。
在一种实施例中,在待插入流媒体任务位于等待队列的尾部时,需要知道待插入流媒体任务的执行时间、待插入流媒体任务的上一流媒体任务的执行时间,从而可以根据待插入流媒体任务的执行时间、待插入流媒体任务的上一流媒体任务的执行时间,得到待插入流媒体任务的等待时间,此步骤包括:获取所述待插入流媒体任务的上一流媒体任务的执行时间;根据所述待插入流媒体任务的执行时间、所述待插入流媒体任务的上一流媒体任务的执行时间,将所述待插入流媒体任务的等待时间设置为相对时间。
在一种实施例中,在待插入流媒体任务不位于等待队列的尾部时,需要知道待插入流媒体任务的上一流媒体任务、下一流媒体任务的执行时间,从而可以根据待插入流媒体任务、以及其上一流媒体任务、其下一流媒体任务的执行时间确定待插入流媒体任务及其下一流媒体任务的相对时间,从而可以更新等待队列的相对时间,此步骤包括:获取所述待插入流媒体任务的上一流媒体任务和下一流媒体任务的执行时间;根据所述待插入流媒体任务的执行时间、所述待插入流媒体任务的上一流媒体任务和下一流媒体任务的执行时间,确定所述待插入流媒体任务与上一流媒体任务的相对时间,所述待插入流媒体任务与下一流媒体任务的相对时间;根据所述待插入流媒体任务与上一流媒体任务的相对时间,所述待插入流媒体任务与下一流媒体任务的相对时间,将所述待插入流媒体任务的等待时间设置为相对时间,并更新所述待插入流媒体任务的下一流媒体任务的相对时间;在待插入流媒体任务不处于等待队列的尾部时,需要将待插入流媒体任务的等待时间设置为相对时间,将待插入流媒体任务的下一流媒体任务的相对时间更新,此时可以依次根据待插入流媒体任务以及其上一流媒体任务、其下一流媒体任务的执行时间将各个流媒体任务的相对时间更新;具体的,如图6所示,在将任务五611插入至任务二431和任务三441之间时,获取任务五611的执行时间612,即13:00:04,则可以通过任务五611的执行时间确定任务五611在等待队列中的位置,然后根据任务五611的执行时间612、任务二431的执行时间432、任务三441的执行时间442确定任务五611与任务二431的相对时间,任务五611与任务三441的相对时间,从而可以将任务五611的等待时间设置为相对时间613,即任务二执行1秒后,将任务三441的相对时间443更新为任务五执行1秒后,而其他流媒体任务的相对时间不用更新,且位于头部位置的流媒体任务的绝对时间不用更新,从而更新了各个流媒体任务的相对时间。
需要说明的是,在图4、图5、图6中,任务N表示第N个任务,但流媒体任务的排序不是按照N的大小来排序,而是按照时间的先后进行排序,因此,图6中任务五处于任务三之前,且N仅为了方便叙述,在实际中,流媒体任务为包括数据服务器发送心跳包、数据服务器定时检测收包数量、前端设备与数据服务器建立连接,数据服务器接收前端设备发送的实时监控视频流,数据服务器对实时监控视频流进行处理等,图4、图5、图6中的k值是设置的任务N的执行时间与任务N-1的执行时间之间的差值。
在一种实施例中,在确定各流媒体任务的等待时间后,需要根据当前时间的变化动态更新头部位置的流媒体任务的等待时间,此步骤包括:根据所述当前时间动态更新所述头部位置的流媒体任务的等待时间。
在一种实施例中,在当前时间变化时,将头部位置的流媒体任务的绝对时间更新,从而保证在头部位置的流媒体任务的执行时间到达时,可以将头部位置的流媒体任务加入到执行队列中,更新过程中在当前时间过去1秒时,则将绝对时间减少1秒,例如当前时间从第59秒到第60秒,则绝对时间由5秒后更新为4秒后,从而使得头部位置的流媒体任务的绝对时间持续更新,从而可以使得头部位置的流媒体任务按执行时间加入到执行队列中,进行执行。
在一种实施例中,在根据所述当前时间动态更新所述头部位置的流媒体任务的等待时间的步骤之后,还包括在头部位置的流媒体任务的绝对时间到达时,将头部位置的流媒体任务作为待执行任务加入至执行队列。
在一种实施例中,在头部位置的流媒体任务的执行时间到达时,即绝对时间为零时,将头部位置的流媒体任务作为待执行任务加入至执行队列中,从而使得流媒体任务被执行。
在一种实施例中,在头部位置的流媒体任务的绝对时间到达时,将头部位置的流媒体任务作为待执行任务加入至执行队列的步骤之后,还包括将待执行任务在所述等待队列中的下一流媒体任务确定为等待队列中的头部位置的流媒体任务,并将头部位置的流媒体任务的等待时间设置为绝对时间。
在一种实施例中,在将待执行任务加入至执行队列后,将待执行任务的下一流媒体任务更新为等待队列中的头部位置的流媒体任务,同时将头部位置的流媒体任务的等待时间设置为绝对时间,如图4所示,在等待队列中头部位置的任务一421作为待执行任务加入执行队列后,头部位置的任务一421的绝对时间不需要更新,此时,将等待队列中头部位置的下一流媒体任务,即任务二431确定为等待队列中头部位置的流媒体任务,然后任务二431的等待时间更新为绝对时间434,即3秒后,而执行时间在任务二后面的流媒体任务的相对时间保留,不需要更新,例如任务三441的相对时间443保留,即任务二执行2秒后,任务N451的相对时间453保留,即任务N-1执行k秒后。
在一种实施例中,在将等待队列中的流媒体任务加入到执行队列中后,位于执行队列中的待执行任务会按照进入时间进行排列,依次对待执行任务进行执行。
本申请实施例提供一种连接池管理方法,基于该方法可以对等待队列中的流媒体任务的等待时间进行相对时间排序,从而在等待队列中的流媒体任务加入到执行队列时,仅需要更新等待队列的头部位置的流媒体任务的等待时间,而不需要更新等待队列中的非头部位置的流媒体任务的相对时间,从而降低了变更数据量,且在等待队列中插入流媒体任务时,最多需要更新待插入流媒体任务和待插入流媒体任务的下一流媒体任务的相对时间,降低了变更数据量。
图5为本申请实施例提供的连接池管理方法中的等待队列随当前时间变化的变化过程示意图,请参阅图5:
在根据当前时间、以及各流媒体任务的执行时间,对等待队列中的各个流媒体任务设置等待时间后,得到等待队列一51,等待队列一51中包括各个流媒体任务、以及各流媒体任务的等待时间,等待队列一51包括位于头部位置的任务一511、任务一511的等待时间,即绝对时间为1秒后,位于非头部位置的任务二512、任务二512的等待时间,即相对时间为任务一执行3秒后,任务三513、任务三513的等待时间,即相对时间为任务二执行两秒后,…,标号为514的任务N、标号为514的任务N的等待时间为任务N-1执行k秒后;
以时间轴T为例,假设当前时间变化0.5秒后,等待队列一51变为等待队列二52,同时,等待队列二52中仅需要变化位于头部位置的任务一521的等待时间,即将任务一521的绝对时间由1秒后更新为0.5秒后,而位于非头部位置的任务二512至标号为514的任务N的等待时间不需要更新;
随着当前时间的变化,在等待队列二52的头部位置的任务一521的执行时间到达时,即等待时间为0,等待队列二52更新为等待队列三53,等待队列二52中的头部位置的任务一521添加到执行队列中,等待队列三53的头部位置的流媒体任务更新为任务二531、任务二531的等待时间设置为绝对时间,即3秒后,而任务二531后的任务三513至标号为514的任务N的等待时间不需要更新。
本申请实施例提供一种连接池管理方法中的等待队列随当前时间变化的变化过程,从等待队列的变化过程可以看出,在对流媒体任务的等待时间进行更新时,仅需要更新位于等待队列中的头部位置的流媒体任务的等待时间,不需要更新位于等待队列中的非头部位置的流媒体任务的等待时间,从而降低了变更数据量。
在一种实施例中,在从连接池中取出空闲连接时,需要确定连接池中是否存在空闲连接,在连接池中存在空闲连接时,选择空闲连接将数据服务器和中终端连接,在空闲列表中不存在空闲连接时,再次向连接池中添加空闲连接,并将采用添加的空闲连接将数据服务器和终端连接,此步骤包括:根据所述任务执行请求,从所述连接池中获取空闲连接列表;根据所述空闲连接列表,判断所述空闲连接列表中是否存在空闲连接;在所述空闲连接列表中存在空闲连接时,取出所述空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;在所述空闲连接列表中不存在空闲连接时,向所述连接池中加入空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;具体的,如图7所示,连接池70中的连接为X个,即包括从第一个连接至第X个连接702,连接池包括占用连接701和空闲连接702,在需要获取空闲连接时,可以从连接池70中获取空闲连接列表,图7中为连接池70中的连接列表,但也可以仅获取空闲连接列表,即仅获取空闲连接702的列表,然后在空闲连接列表中存在空闲连接702时,直接从空闲连接列表中取出空闲连接,并采用空闲连接将数据服务器和终端连接得到占用连接,假设空闲连接列表中不存在空闲连接,如图8所示,则需要向连接池70中加入空闲连接703,并使用空闲连接703将数据服务器和终端连接得到占用连接。
需要说明的是,X是指大于或者等于2的正整数,在创建连接池时,为了避免连接池占用较大的数据服务器的资源,会在连接池中创建一定数量的连接,该数量根据需求设定,例如数据服务器的资源较大,则可以使得连接池中的连接的数量较多,数据服务器的资源较小,则使得连接池中的连接的数量较少,在数据服务器处理的任务的数量较多时,在连接池中的连接的数量较多,在数据服务器处理的任务的数量较小时,在连接池中的连接的数量较少,即可以根据需求来设定连接池中的连接的数量,在连接池中的连接均为占用连接时,可以通过添加空闲连接的方式增加空闲连接,且增加的空闲连接可以在使用后被删除,也可以保留在连接池中,从而使得在需要空闲连接将数据服务器和终端连接时,使得连接池中存在空闲连接。
需要说明的是,在空闲列表中存在多个空闲连接时,可以随机选择空闲连接,也可以根据空闲连接处于空闲列表中的位置进行选择,从而得到相应的空闲连接,从多个空闲连接中选择连接的方式不限于此,根据需求选择空闲连接即可。
203:检测终端的运行状态,并判断所述终端的运行状态是否处于断开状态。
在一种实施例中,断开状态指终端出现掉线或者崩溃等状态,在断开状态,数据服务器和终端可以继续使用占用连接,此占用连接可以不被回收,从而使得数据服务器在将任务执行完成后,延时回收占用连接,从而避免数据服务器需要等待占用连接使用完毕后,回收占用连接,降低数据服务器的资源的占用。
在一种实施例中,在对终端的运行状态进行检测前,还包括检测任务的执行状态,例如任务在执行完成后,无论终端是否处于断开连接,均可以回收占用连接,而在任务未执行完成时,需要避免终端断开时,占用数据服务器的资源等待回收占用连接,从而对终端的运行状态进行检测,以进行相应的延时回收占用连接的操作,因此,需要在对终端的运行状态进行检测前,对任务执行状态进行检测,此步骤包括:根据所述任务执行请求携带的任务标识,检测所述任务执行状态;根据所述任务执行状态,判断所述任务是否执行完成;在所述任务未执行完成时,检测所述终端的与性能状态,在所述任务执行完成时,回收所述占用连接;具体的,在对任务执行状态进行检测时,可以根据任务执行请求的任务标识,对任务执行状态进行检测,从而使得能够等待任务标识对应的任务执行状态,在对任务执行状态进行检测时,可以通过实时检测任务执行状态,也可以通过采用设定时间间隔,在一定时间间隔间断的检测任务执行状态,然后在对任务执行状态进行检测时,可以判断任务是否执行完成,从而根据任务执行状态进行相应的处理。
在一种实施例中,在检测终端的运行状态时,可以通过实时检测终端的运行状态,也可以通过设定时间间隔,根据时间间隔间端的检测终端的运行状态,具体的,例如通过实时向终端发送数据包,终端在接收到数据包后会返回响应,如果没有接收到响应,表示终端处于断开状态。
204:在终端的运行状态处于断开状态时,获取数据服务器与终端连接的历史时间间隔;根据历史时间间隔,确定历史时间间隔中的历史时间特征数据;历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据历史时间间隔中的历史时间特征数据,确定预设时间间隔;在预设时间间隔后将占用连接回收至连接池。
在一种实施例中,在终端的运行状态处于断开状态时,如果此时任务未执行完成,一种方案中,数据服务器需要确定处于断开状态的终端,确定连接数据服务器和断开状态的终端的占用连接,然后等待任务执行完成后,回收占用连接,或者直接回收连接,这样需要占用较大数据服务器资源,且随着需要执行的任务数量增大,会进一步占用数据服务器资源,而本申请实施例可以在终端的运行状态处于断开状态时,在预设时间间隔后回收占用连接,使得在终端的运行状态处于断开状态时,继续执行任务,且不用等待回收连接,在预设时间间隔后回收占用连接即可,从而避免占用数据服务器的资源。
在一种实施例中,在预设时间间隔后回收占用连接时,考虑到需要将任务执行完成,则使得在预设时间间隔后,任务能够执行完成,可以根据数据服务器与终端连接的历史时间间隔来确定预设时间间隔,例如历史时间间隔为10秒,则可以根据10秒,设定预设时间间隔,例如设定预设时间间隔为10秒。
在一种实施例中,在获取数据服务器和终端连接的历史时间间隔时,可以通过执行测试任务得到数据服务器和终端连接的历史时间间隔,此步骤包括:接收终端发送的测试任务执行请求;根据所述测试任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;在所述测试任务执行完成时,将所述占用连接回收至所述连接池,并记录所述占用连接的占用时间;根据所述占用连接的占用时间,得到所述数据服务器与终端连接的历史时间间隔;具体的,为了获得数据服务器和终端连接的历史时间间隔,可以使得终端发送测试任务执行请求,然后数据服务器与终端通过占用连接进行连接,从而在测试任务执行完成时,可以得到各个占用连接的占用时间,然后根据各个占用连接的占用时间,可以得到数据服务器和终端连接的历史时间间隔。
需要说明的是,在测试任务执行的过程中,也会存在终端处于断开状态的问题,此时可以将该占用连接的占用时间作为历史时间间隔的一部分、也可以去除该占用连接的占用时间,仅使得终端处于正常状态时,占用连接的占用时间作为历史时间间隔的一部分。
需要说明的是,测试任务可以是历史任务,例如已经执行完成的任务,相应的在记录有对应的占用连接的占用时间时,将该历史任务的占用连接的占用时间作为历史时间间隔的一部分,由于历史任务具有随机性,可以保证历史时间间隔中的数据具有随机性,从而根据历史时间间隔得到的预设时间间隔较为准确;测试任务还可以是根据需求设定的任务,但该任务的数量较多,且任务的种类和数据量较为随机,从而可以保证根据历史时间间隔得到的预设时间间隔较为准确。
在一种实施例中,在得到数据服务器和终端连接的历史时间间隔后,可以通过历史时间间隔中的历史时间特征数据确定预设时间间隔,具体的,在确定历史时间间隔后,例如历史时间间隔包括从1秒到20秒之间的任意时间,此时可以根据历史时间间隔确定历史时间间隔的最大历史时间间隔为20秒,假设历史时间间隔为10秒,为了使得在预设时间间隔后,能够使得任务执行完成,可以直接使得预设时间间隔为20秒,从而保证在预设时间间隔后,任务能够执行完成,但为了使得连接池被占用的时间能够相对较短,也可以将预设时间间隔设置为其他时间,预设时间间隔可以根据历史时间特征数据和其他需求进行综合考虑设定。
需要说明的是,历史时间特征数据可以包括历史时间间隔的最大历史时间间隔、平均历史时间间隔,还可以包括历史时间间隔的最小历史时间间隔,数值为历史时间间隔的最大历史时间间隔的三分之二的历史时间间隔等,本申请实施例不限于此,历史时间特征数据可以根据需求设定。
在一种实施例中,考虑到存在预设时间间隔采用最大历史时间数据时,仍然出现任务未执行完成的情况,考虑到该情况会较少,可以直接删除该任务,回收占用连接;但也可以在回收占用连接前,再次增加一次对任务执行状态的检测,此步骤包括:在所述预设时间间隔到达时,检测所述任务执行状态;根据所述任务执行状态,判断所述任务是否执行完成;在所述任务执行未完成时,在延时时间后回收占用连接;在所述任务执行完成时,回收所述占用连接;具体的,即在将占用连接回收至连接池前,再次增加一次任务执行状态的检测,该检测过程可以与检测终端的运行状态前,对任务执行状态进行检测的方式相同,但两次检测过程不是同一过程,且检测前的开始条件、检测后的处理不同。
在一种实施例中,在根据历史时间间隔的历史时间特征数据确定预设时间间隔时,还可以考虑占用连接的连接时间,即考虑到占用连接已经连接了一段时间,则可以综合考虑历史时间间隔的历史时间特征数据和占用连接的连接时间,使得得到的预设时间间隔更加的适当,不会出现预设时间间隔过短,任务未执行完成的问题,也不会出现预设时间间隔过长,占用连接的占用时间过长,影响其他任务的执行,导致占用服务器的资源的问题,此步骤包括:在所述终端的运行状态处于断开状态时,获取所述占用连接的连接时间;根据所述历史时间间隔中的历史特征数据、所述占用连接的连接时间,确定所述预设时间间隔;具体的,例如根据历史时间间隔中的历史特征数据得到理论预设时间间隔为15秒,此时连接数据服务器和终端的占用连接的连接时间为5秒,此时终端处于断开状态,则可以采用理论预设时间间隔和占用连接的连接时间得到预设时间间隔,例如将理论预设时间间隔与占用连接的连接时间的差值作为预设时间间隔,即将10秒作为预设时间间隔。
在一种实施例中,在根据历史时间间隔中的历史时间特征数据,得到预设时间间隔时,考虑到任务执行请求携带的任务执行内容的数据量较大时,任务需要执行的时间较长,可以使得任务执行内容的数据量和历史时间特征数据确定预设时间间隔,此步骤包括:获取所述任务执行请求携带的任务执行内容,并根据所述任务执行内容确定所述任务执行内容的数据量;根据所述历史时间间隔中的历史时间特征数据、所述任务执行内容的数据量,确定所述预设时间间隔;具体的,例如任务执行内容的数据量较大时,任务需要执行的时间较长,任务执行内容的数据量较少时,任务需要执行的时间较短,则在确定预设时间间隔时,假设任务执行内容的数据量较大,则可以选择历史时间间隔的历史时间特征数据中的最大历史时间间隔,或者采用平均历史时间间隔加上一个值,例如平均历史时间间隔为10秒,考虑到该任务执行内容的数据量较大,则可以使得预设时间间隔为10秒加上3秒,将13秒作为预设时间间隔,在任务执行内容的数据量较小时,将预设时间间隔减去一个值作为预设时间间隔,例如将10秒减去2秒,将8秒作为预设时间间隔。
在一种实施例中,在根据历史时间间隔中的历史时间特征数据和任务执行内容的数据量得到预设时间间隔时,还可以直接建立历史时间间隔和任务执行内容的数据量的模型,例如设定一个初步模型,然后采用大量的历史时间特征数据和任务执行内容的数据量对初步模型进行训练,使得得到的模型的预测结构较为准确,然后在设定预设时间间隔时,通过得到的任务执行内容的数据量,可以得到对应的历史时间间隔,从而可以以该历史时间间隔作为预设时间间隔。
在一种实施例中,还可以通过综合考虑历史时间间隔中的历史时间特征数据、占用连接的连接时间、以及任务执行内容的数据量,确定预设时间间隔,使得预设时间间隔考虑了历史时间特征数据、占用连接的连接时间、任务执行内容的数据量,使得预设时间间隔较为适当,此步骤包括:在所述终端的运行状态处于断开状态时,获取所述占用连接的连接时间;获取所述任务执行请求携带的任务执行内容,并根据所述任务执行内容确定所述任务执行内容的数据量;根据所述历史时间间隔中的历史时间特征数据、所述占用连接的连接时间、以及所述任务执行内容的数据量,确定所述预设时间间隔;具体的,在获取到历史时间间隔中的历史时间特征数据后,可以根据任务执行内容的数据,选择历史时间间隔中的历史时间特征数据,并进行相应的处理得到理论预设时间间隔,然后考虑到任务执行了一定的时间,即占用连接的连接时间,则可以采用理论预设时间间隔和占用连接的连接时间得到预设时间间隔,例如任务执行内容的数据量较大,则使得在选取历史时间间隔中的历史时间特征数据时,可以选择较大的历史时间特征数据,例如选择历史时间特征数据中的最大历史时间间隔,或者选择历史时间特征数据中的平均历史时间间隔,然后采用平均历史时间间隔加上一个数值,得到理论预设时间间隔,例如最大历史时间间隔为30秒,则在任务执行内的数据量较大时,选择27秒作为理论预设时间间隔,然后确定占用连接的连接时间为3秒,则可以采用理论预设时间间隔和占用连接的连接时间的差值作为预设时间间隔,即采用24秒作为预设时间间隔。
在一种实施例中,在根据历史时间特征数据、占用连接的连接时间、以及执行内容的数据量,确定预设时间间隔时,可以设定预设数据量,在任务执行内容的数据量大于预设数据量时,直接采用历史时间特征数据中的最大历史时间间隔和占用连接的连接时间确定预设时间间隔,在任务执行内容的数据量小于或者等于预设数据量时,直接采用历史时间特征数据中的平均历史时间间隔和占用连接的连接时间确定预设时间间隔,此步骤包括:判断所述任务执行内容的数据量是否大于预设数据量;在所述任务执行内容的数据量大于预设数据量时,根据所述历史时间间隔的最大历史时间间隔、所述占用连接的连接时间,确定所述预设时间间隔;在所述任务执行内容的数据量小于或者等于预设数据量时,根据所述历史时间间隔的平均历史时间间隔、所述占用连接的连接时间,确定所述预设时间间隔;具体的,假设设定预设数据量为10兆,在任务执行内的数据量大于10兆时,则直接获取历史时间间隔的最大历史时间间隔,例如最大历史时间间隔为30秒,此时占用连接的连接时间为5秒,则可以将最大历史时间间隔和占用连接的连接时间的差值作为预设时间间隔,即将25秒作为预设时间间隔,在任务执行内的数据量小于10兆时,则直接获取历史时间间隔的平均历史时间间隔,例如平均历史时间间隔为15秒,此时占用连接的连接时间为5秒,则可以将平均历史时间间隔与占用连接的连接时间作为预设时间间隔,即将10秒作为预设时间间隔,从而使得可以在预设时间间隔后将占用连接回收至连接池。
在一种实施例中,在预设时间间隔后将占用连接回收至连接池后,考虑到任务处理完成后会存在处理后的数据,例如用户终端发送请求后需要查看违法数据,则此时可以将处理后的数据存储,在用户终端重新连接上时,可以向用户终端发送处理后的数据,例如在用户终端需要查看某个前端摄像头的视频流数据时,数据服务器处理该请求,然后得到视频流数据对应的违法数据,此时用户终端处于断开状态,但数据服务器仍然处理视频流数据得到对应的违法数据,同时存储该违法数据,在用户终端处于正常连接状态时,将违法数据发送至用户终端。
本申请实施例提供一种连接池管理方法,通过在终端处于断开状态时,延迟预设时间间隔回收占用连接,且在设置预设时间间隔时通过历史时间间隔中的历史时间特征数据、任务执行内容的数据量、占用连接的连接时间确定预设时间间隔,使得在设置预设时间间隔时,预设时间间隔较为适当,且在终端断开连接时,无需占用数据服务器的资源等待任务执行完成,直接在预设时间间隔后回收占用连接即可,降低了服务器的资源的占用。
相应的,图9为本申请实施例提供的连接池管理装置的结构示意图;请参阅图9,该连接池管理装置包括以下模块:
接收模块901,用于接收终端发送的任务执行请求;
连接模块902,用于根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
检测模块903,用于检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;
回收模块904,用于在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定所述预设时间间隔;在预设时间间隔后将所述占用连接回收至所述连接池。
在一种实施例中,所述连接模块902包括第一模块、第二模块、第三模块、第四模块,所述第一模块用于根据所述任务执行请求,从所述连接池中获取空闲连接列表;所述第二模块用于根据所述空闲连接列表,判断所述空闲连接列表中是否存在空闲连接;所述第三模块用于在所述空闲连接列表中存在空闲连接时,取出所述空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;所述第四模块用于在所述空闲连接列表中不存在空闲连接时,向所述连接池中加入空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接。
在一种实施例中,所述连接池管理装置还包括任务检测模块,所述任务检测模块用于根据所述任务执行请求携带的任务标识,检测所述任务执行状态;根据所述任务执行状态,判断所述任务是否执行完成;在所述任务未执行完成时,检测所述终端的运行状态;在所述任务执行完成时,回收所述占用连接。
在一种实施例中,所述回收模块904用于接收终端发送的测试任务执行请求;根据所述测试任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;在所述测试任务执行完成时,将所述占用连接回收至所述连接池,并记录所述占用连接的占用时间;根据所述占用连接的占用时间,得到所述数据服务器与终端连接的历史时间间隔。
在一种实施例中,所述回收模块904用于在所述终端的运行状态处于断开状态时,获取所述占用连接的连接时间;获取所述任务执行请求携带的任务执行内容,并根据所述任务执行内容确定所述任务执行内容的数据量;根据所述历史时间间隔中的历史时间特征数据、所述占用连接的连接时间、以及所述任务执行内容的数据量,确定所述预设时间间隔。
在一种实施例中,所述回收模块904用于判断所述任务执行内容的数据量是否大于预设数据量;在所述任务执行内容的数据量大于预设数据量时,根据所述历史时间间隔的最大历史时间间隔、所述占用连接的连接时间,确定所述预设时间间隔;在所述任务执行内容的数据量小于或者等于预设数据量时,根据所述历史时间间隔的平均历史时间间隔、所述占用连接的连接时间,确定所述预设时间间隔。
相应的,本申请实施例还提供一种数据服务器,如图10所示,该数据服务器可以包括射频(RF,Radio Frequency)电路1001、包括有一个或一个以上计算机可读存储介质的存储器1002、输入单元1003、显示单元1004、传感器1005、音频电路1006、无线保真(WiFi,Wireless Fidelity)模块1007、包括有一个或者一个以上处理核心的处理器1008、以及电源1009等部件。本领域技术人员可以理解,图10中示出的数据服务器结构并不构成对数据服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部分,或者不同的部件布置。其中:
RF电路1001可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1008处理;另外,将涉及上行的数据发送给基站。存储器1002可用于存储软件程序以及模块,处理器1008通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元1003可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
显示单元1004可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
数据服务器还可包括至少一种传感器1005,比如光传感器、运动传感器以及其他传感器。音频电路1006包括扬声器,扬声器可提供用户与数据服务器之间的音频接口。
WiFi属于短距离无线传输技术,数据服务器通过WiFi模块1007可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1007,但是可以理解的是,其并不属于数据服务器的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器1008是数据服务器的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行数据服务器的各种功能和处理数据,从而对手机进行整体监控。
数据服务器还包括给各个部件供电的电源1009(比如电池),优选的,电源可以通过电源管理系统与处理器1008逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,数据服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,数据服务器中的处理器1008会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1008来运行存储在存储器1002中的应用程序,从而实现以下功能:
接收终端发送的任务执行请求;根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定所述预设时间间隔;在预设时间间隔后将所述占用连接回收至所述连接池。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
接收终端发送的任务执行请求;根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定所述预设时间间隔;在预设时间间隔后将所述占用连接回收至所述连接池。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种连接池管理方法及装置、数据服务器及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (10)
1.一种连接池管理方法,其特征在于,应用于交警系统,所述交警系统包括数据服务器和终端,所述连接池管理方法包括:
所述数据服务器接收终端发送的任务执行请求;
根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;
在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定预设时间间隔;在预设时间间隔后将所述占用连接回收至所述连接池。
2.如权利要求1所述的连接池管理方法,其特征在于,所述根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接的步骤,包括:
根据所述任务执行请求,从所述连接池中获取空闲连接列表;
根据所述空闲连接列表,判断所述空闲连接列表中是否存在空闲连接;
在所述空闲连接列表中存在空闲连接时,取出所述空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
在所述空闲连接列表中不存在空闲连接时,向所述连接池中加入空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接。
3.如权利要求1所述的连接池管理方法,其特征在于,在所述检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态的步骤之前,还包括:
根据所述任务执行请求携带的任务标识,检测所述任务执行状态;
根据所述任务执行状态,判断所述任务是否执行完成;
在所述任务未执行完成时,检测所述终端的运行状态;
在所述任务执行完成时,回收所述占用连接。
4.如权利要求1所述的连接池管理方法,其特征在于,所述获取数据服务器与终端连接的历史时间间隔的步骤,包括:
接收终端发送的测试任务执行请求;
根据所述测试任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
在所述测试任务执行完成时,将所述占用连接回收至所述连接池,并记录所述占用连接的占用时间;
根据所述占用连接的占用时间,得到所述数据服务器与终端连接的历史时间间隔。
5.如权利要求1所述的连接池管理方法,其特征在于,所述根据所述历史时间间隔中的历史时间特征数据,确定所述预设时间间隔的步骤,包括:
在所述终端的运行状态处于断开状态时,获取所述占用连接的连接时间;
获取所述任务执行请求携带的任务执行内容,并根据所述任务执行内容确定所述任务执行内容的数据量;
根据所述历史时间间隔中的历史时间特征数据、所述占用连接的连接时间、以及所述任务执行内容的数据量,确定所述预设时间间隔。
6.如权利要求5所述的连接池管理方法,其特征在于,所述根据所述历史时间间隔中的历史时间特征数据、所述占用连接的连接时间、以及所述任务执行内容的数据量,确定所述预设时间间隔的步骤,包括:
判断所述任务执行内容的数据量是否大于预设数据量;
在所述任务执行内容的数据量大于预设数据量时,根据所述历史时间间隔的最大历史时间间隔、所述占用连接的连接时间,确定所述预设时间间隔;
在所述任务执行内容的数据量小于或者等于预设数据量时,根据所述历史时间间隔的平均历史时间间隔、所述占用连接的连接时间,确定所述预设时间间隔。
7.一种连接池管理装置,其特征在于,应用于交警系统,所述交警系统包括数据服务器和终端,所述连接池管理装置包括:
接收模块,用于接收终端发送的任务执行请求;
连接模块,用于根据所述任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
检测模块,用于检测所述终端的运行状态,并判断所述终端的运行状态是否处于断开状态;
回收模块,用于在所述终端的运行状态处于断开状态时,获取所述数据服务器与终端连接的历史时间间隔;根据所述历史时间间隔,确定所述历史时间间隔中的历史时间特征数据;所述历史时间特征数据包括历史时间间隔的最大历史时间间隔、平均历史时间间隔;根据所述历史时间间隔中的历史时间特征数据,确定预设时间间隔;在预设时间间隔后将所述占用连接回收至所述连接池。
8.如权利要求7所述的连接池管理装置,其特征在于,所述连接模块包括:
第一模块,用于根据所述任务执行请求,从所述连接池中获取空闲连接列表;
第二模块,用于根据所述空闲连接列表,判断所述空闲连接列表中是否存在空闲连接;
第三模块,用于在所述空闲连接列表中存在空闲连接时,取出所述空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;
第四模块,用于在所述空闲连接列表中不存在空闲连接时,向所述连接池中加入空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接。
9.如权利要求7所述的连接池管理装置,其特征在于,还包括任务检测模块,所述任务检测模块用于根据所述任务执行请求携带的任务标识,检测所述任务执行状态;根据所述任务执行状态,判断所述任务是否执行完成;在所述任务未执行完成时,检测所述终端的运行状态;在所述任务执行完成时,回收所述占用连接。
10.如权利要求7所述的连接池管理装置,其特征在于,所述回收模块用于接收终端发送的测试任务执行请求;根据所述测试任务执行请求,从连接池中获取空闲连接,并使用所述空闲连接将所述数据服务器和终端连接得到占用连接;在所述测试任务执行完成时,将所述占用连接回收至所述连接池,并记录所述占用连接的占用时间;根据所述占用连接的占用时间,得到所述数据服务器与终端连接的历史时间间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011012460.8A CN111935313B (zh) | 2020-09-24 | 2020-09-24 | 一种连接池管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011012460.8A CN111935313B (zh) | 2020-09-24 | 2020-09-24 | 一种连接池管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111935313A CN111935313A (zh) | 2020-11-13 |
CN111935313B true CN111935313B (zh) | 2020-12-25 |
Family
ID=73335114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011012460.8A Active CN111935313B (zh) | 2020-09-24 | 2020-09-24 | 一种连接池管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111935313B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7953860B2 (en) * | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
US8327003B2 (en) * | 2005-02-03 | 2012-12-04 | International Business Machines Corporation | Handling backend failover in an application server |
US9251178B2 (en) * | 2013-04-26 | 2016-02-02 | Oracle International Corporation | System and method for connection labeling for use with connection pools |
CN104270339A (zh) * | 2014-09-01 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 一种tcp连接断线重连方法、设备及系统 |
CN108255825A (zh) * | 2016-12-28 | 2018-07-06 | 中国移动通信集团江西有限公司 | 用于动态分配数据库连接的方法和装置 |
-
2020
- 2020-09-24 CN CN202011012460.8A patent/CN111935313B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111935313A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970215B (zh) | 一种数据包管理方法及装置 | |
CN113568884B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN112148493A (zh) | 一种流媒体任务管理方法及装置、数据服务器 | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
CN111935497B (zh) | 一种用于交警系统的视频流管理方法和数据服务器 | |
CN107181825B (zh) | 终端设备数据的在线处理方法 | |
CN111935313B (zh) | 一种连接池管理方法及装置 | |
US10861306B2 (en) | Method and apparatus for video surveillance | |
WO2023231723A1 (zh) | 流媒体数据处理方法及系统 | |
CN112182289A (zh) | 一种基于Flink框架的数据去重方法及装置 | |
CN112188245B (zh) | 一种前端摄像头实时视频点播方法及装置、电子设备 | |
CN111930490B (zh) | 一种流媒体任务管理方法及装置 | |
CN111901561B (zh) | 监控系统中的视频数据处理方法、装置、系统及存储介质 | |
CN111767131A (zh) | 一种流媒体任务管理方法及装置 | |
CN112201047B (zh) | 一种基于Flink框架的嫌疑车辆落脚点分析方法及装置 | |
CN111935316B (zh) | 一种前端设备目录获取方法及装置 | |
CN111881151B (zh) | 一种交通违法数据管理方法、装置及服务器 | |
CN111935309B (zh) | 一种循环任务管理方法及装置 | |
CN114585035A (zh) | 一种语音通话方法、装置和计算机可读存储介质 | |
CN112559469A (zh) | 一种数据同步方法及装置 | |
CN113824777B (zh) | 数据管理方法和数据管理装置 | |
CN112188242B (zh) | 一种前端摄像头实时视频点播方法及装置、电子设备 | |
CN112188243B (zh) | 一种前端摄像头实时视频点播方法及装置、电子设备 | |
CN112188244B (zh) | 一种前端摄像头实时视频点播方法及装置、电子设备 | |
CN112995613B (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 |