基于工作线程压力优化的连接建立方法及装置制造方法及图纸

技术编号:15437048 阅读:61 留言:0更新日期:2017-05-25 19:15
本发明专利技术公开了一种基于工作线程压力优化的连接建立方法及装置,涉及计算机技术领域。其中方法包括:接收客户端的连接建立请求;统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态;根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。采用本方案,可以实现工作线程的压力优化,取得了均衡多个工作线程压力,提高工作线程处理任务效率的有益成果。

Method and device for establishing connection based on working thread pressure optimization

The invention discloses a method and a device for establishing connection based on Optimization of working thread pressure, relating to the field of computer technology. The method includes: receiving the client connection requests; statistical multiple thread connection has been established according to the nature of the connection, pressure connection properties and obtaining a plurality of threads; according to the pressure of the state, to establish a connection with the client thread from multiple threads. By using this scheme, the thread pressure of the working thread can be optimized, and the results of balancing the pressure of multiple threads and improving the efficiency of the thread processing task can be achieved.

【技术实现步骤摘要】
基于工作线程压力优化的连接建立方法及装置
本专利技术涉及计算机
,具体涉及一种基于工作线程压力优化的连接建立方法及装置。
技术介绍
线程是被系统独立调度和分派的基本单位,在常用的编程框架支持的dispatch-worker模型中,由dispatch线程(派发线程)负责接收客户端的连接,然后由worker线程(工作线程)负责处理后续与客户端的连接。目前,dispatch-worker模型中常采用轮询的方式将dispatch线程接收到的连接发送至worker线程。在这种情况下,若某些命令执行的时间较长,则会造成某些worker工作线程压力不均的情况,影响整个模型的性能,增加了整体工作线程的压力,降低了其处理任务的效率。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于工作线程压力优化的连接建立方法及装置。根据本专利技术的一个方面,提供了基于工作线程压力优化的连接建立方法,包括:接收客户端的连接建立请求;统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态;根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。根据本专利技术的另一方面,提供了基于工作线程压力优化的连接建立装置,包括:接收模块,适于接收客户端的连接建立请求;统计模块,适于统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态;连接模块,适于根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。根据本专利技术的基于工作线程压力优化的连接建立方法及装置,通过接收客户端的连接建立请求,并统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态,最终根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。采用本方案,可以实现工作线程的压力优化,取得了均衡多个工作线程压力,提高工作线程处理任务效率的有益成果。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例提供的基于工作线程压力优化的连接建立方法的流程示意图;图2示出了根据本专利技术另一个实施例提供的基于工作线程压力优化的连接建立方法的流程示意图;图3示出了根据本专利技术一个实施例提供的基于工作线程压力优化的连接建立装置的功能结构示意图;图4示出了根据本专利技术另一个实施例提供的基于工作线程压力优化的连接建立装置的功能结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例提供的基于工作线程压力优化的连接建立方法的流程示意图。如图1所示,该方法包括:步骤101,接收客户端的连接建立请求。当有客户端请求建立连接时,接收客户端的连接建立请求。例如,可建立一个套接字socket,通过将该套接字绑定到端口,并监听这个socekt,即可通过socekt获知是否有客户端的连接建立请求,当获知有客户端的连接建立请求,接收客户端的连接建立请求。步骤102,统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态。统计多个工作线程已建立连接的连接性质。其中,多个工作线程已建立连接的连接包括短连接和长连接。短连接是指通讯双方在有数据交互时,建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送;而长连接为在一个连接上可以连续发送多个数据包,在第一个数据包发送完成后并不断开连接,而是保持连接等待下一个数据包的发送。根据连接性质获取多个工作线程的压力状态。根据多个工作线程已建立连接中短连接与长连接的相对数量,获取多个工作线程中各个线程的繁忙程度,即获取多个工作线程的压力状态。例如,当多个工作线程已建立连接中短连接数大于长连接数,则获取每个工作线程的等待队列中的连接数即可获知各个工作线程的压力状态。步骤103,根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。根据步骤102中多个工作线程的压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。具体地,根据步骤102中多个工作线程的压力状态,从多个工作线程中选择一个线程压力较小的线程建立与客户端的连接。根据本专利技术的基于工作线程压力优化的连接建立方法,通过接收客户端的连接建立请求,并统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态,最终根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。采用本方案,可以实现工作线程压力优化,降低工作线程处理任务的压力,提高工作线程处理任务的效率。图2示出了根据本专利技术另一个实施例提供的基于工作线程压力优化的连接建立方法的流程示意图。如图2所示,该方法包括:步骤201,接收客户端的连接建立请求。当有客户端请求建立连接时,接收客户端的连接建立请求。例如,可建立一个套接字socket,通过将该套接字绑定到端口,并监听这个socekt,即可通过socekt获知是否有客户端的连接建立请求,当获知有客户端的连接建立请求,接收客户端的连接建立请求。步骤202,根据连接建立请求,生成待建立连接的连接句柄。在步骤201接收客户端的连接建立请求后,生成待建立连接的连接句柄。其中,连接句柄用于标识连接,其标识了一个含有连接信息的结构,如包括:连接状态标识符、连接属性设置信息、或该连接建立请求中包含的语句句柄信息等。可选的,在生成连接句柄过程中可为连接句柄设置连接超时阈值,在超过预设的超时阈值时,判定句柄超时,并将超时提示呈现给客户端。步骤203,统计多个工作线程已建立连接包含长连接和/或短连接的数量。统计多个工作线程已建立连接包含长连接和/或短连接的数量。其中,多个工作线程已建立连接的连接包括短连接和/或长连接。短连接是指通讯双方在有数据交互时,建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送;而长连接为在一个连接上可以连续发送多个数据包,在第一个数据包发送完成后并不断开连接,而是保持连接等待下一个数据包的发送。具体地,可以获取各个工作线程中连接状态为“连接上”连接句柄的连接属性,连接属性主要指连接为短连接或长连接。统计多个工作线程中已建立连接中包含长连接和/或短连接的数量。步骤204,判断多个工作线程已建立连接包含短连接的数量与长连接的数量的大小关系,若短连接的数量大于长连接的数量,则执行步骤205;若短连接的数量小于长连接的数量,则执行步骤207。判断步骤203中统计的多个工作线程已建立连接包含短连接的数量与长连接的数量的大小关系。若短连接的数量大于长连接的数量,则执本文档来自技高网...
基于工作线程压力优化的连接建立方法及装置

【技术保护点】
一种基于工作线程压力优化的连接建立方法,包括:接收客户端的连接建立请求;统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态;根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。

【技术特征摘要】
1.一种基于工作线程压力优化的连接建立方法,包括:接收客户端的连接建立请求;统计多个工作线程已建立连接的连接性质,根据连接性质获取多个工作线程的压力状态;根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接。2.根据权利要求1所述的方法,其中,在所述接收客户端的连接建立请求之后,所述方法还包括:根据所述连接建立请求,生成待建立连接的连接句柄。3.根据权利要求1或2所述的方法,其中,所述统计多个工作线程已建立连接的连接性质进一步包括:统计多个工作线程已建立连接包含长连接和/或短连接的数量。4.根据权利要求3所述的方法,其中,若多个工作线程已建立连接包含短连接的数量大于长连接的数量,则根据连接性质获取多个工作线程的压力状态进一步包括:获取每个工作线程的等待队列中的连接句柄个数;所述根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接进一步包括:从多个工作线程中选择等待队列中的连接句柄个数最少的工作线程建立与客户端的连接。5.根据权利要求3所述的方法,其中,若多个工作线程已建立连接包含长连接的数量大于短连接的数量,则根据连接性质获取多个工作线程的压力状态进一步包括:获取每个工作线程在预定时间范围内的请求次数;所述根据压力状态,从多个工作线程中选择一个工作线程建立与客户端的连接进一步包...

【专利技术属性】
技术研发人员:陈宗志
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1