CN101990256A - 长连接管理装置及长连接通讯的链路资源管理方法 - Google Patents

长连接管理装置及长连接通讯的链路资源管理方法 Download PDF

Info

Publication number
CN101990256A
CN101990256A CN2010102693088A CN201010269308A CN101990256A CN 101990256 A CN101990256 A CN 101990256A CN 2010102693088 A CN2010102693088 A CN 2010102693088A CN 201010269308 A CN201010269308 A CN 201010269308A CN 101990256 A CN101990256 A CN 101990256A
Authority
CN
China
Prior art keywords
connection
long
connection pool
chained list
pool
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
Application number
CN2010102693088A
Other languages
English (en)
Inventor
孙轶超
卢勤元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2010102693088A priority Critical patent/CN101990256A/zh
Priority to BR112012025008-6A priority patent/BR112012025008A2/pt
Priority to PCT/CN2011/070601 priority patent/WO2012024909A1/zh
Priority to EP11819284.8A priority patent/EP2563062B1/en
Publication of CN101990256A publication Critical patent/CN101990256A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种长连接管理装置及长连接通讯的链路资源管理方法,属于无线链路资源管理技术领域。长连接管理装置根据HTTP通讯的历史记录,以(域名/IP地址:端口)为关键字建立对应的连接池,根据访问以(域名/IP地址:端口)标识的WAP网站的频度配置连接池内的空闲长连接和忙碌长连接的数量;当需要建立WAP网关与WAP网站间的链路时,根据访问请求的(域名/IP地址:端口)查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接,通知HTTP模块利用所分配的空闲长连接建链与以(域名/IP地址:端口)标识的WAP网站进行HTTP通讯。

Description

长连接管理装置及长连接通讯的链路资源管理方法
技术领域
本发明涉及无线通信系统中的链路资源管理技术领域,尤其涉及一种长连接管理装置及长连接通讯的链路资源管理方法。
背景技术
随着WAP(无线应用协议,Wireless Application Protocol)业务的不断发展以及用户数量的飞速增长,在WAP业务高峰时段,WAP网关服务器常常在单位时间内需要建立或者关闭上千条连接。由于每分钟往往要对数万条链路进行鉴权和验证,防火墙CPU消耗巨大,建链请求的验证效率也会明显减低,这就导致该段时间内每次HTTP(超文本传输协议,Hypertext Transfer Protocol)通讯在建链过程中会有1秒到数秒的延迟,降低了通讯效率。
通过对防火墙日志的统计分析可以发现,用户群对一些知名度较高、较大规模门户和娱乐WAP网站的单位时间内访问量较大,一些中度受欢迎的WAP站点访问量其次,而一些WAP站点偶尔才会被访问,也就是说,各个WAP站点的在同一时间段内的访问量参差不齐。采用TCP(传输控制协议,Transmission Control Protocol)短连接在与WAP站点建立连接后,进行一次HTTP请求和应答后链路就被关闭,链路使用效率不高,在WAP业务繁忙时段,建立/断开链路频繁所造成的效率问题就凸显出来。
为解决这种TCP短连接的因频繁建立/断开链路产生的效率问题,可采用WAP网关与WAP站点之间建立TCP长连接的HTTP通讯方式来代替短连接通讯。所谓长连接,就是在一条已建立的和某个WAP站点的连接上不停的发送访问这个站点的HTTP请求并接收WAP站点返回的HTTP应答,这就可以实现该长连接的复用,这种复用链路的方法是避免频繁建链/断开链路的最合理的解决办法之一。
实现HTTP长连接通讯必须有完善的链路资源管理机制。简言之,当WAP网关接收到访问某WAP站点的HTTP请求时,必须要知道哪些链路是和该WAP站点连接的,这些连接之中哪些是空闲的可以承载HTTP请求,哪些是繁忙的正在被别的用户使用。同时,实现HTTP长连接通讯还必须保持链路数量的收敛。
发明内容
本发明所要解决的技术问题在于,提供一种长连接管理装置及长连接通讯的链路资源管理方法,用于解决现有WAP站点与WAP网站建立HTTP通讯时对长连接资源的管理问题。
为了解决上述问题,本发明提出了一种长连接通讯的链路资源管理方法,包括:
根据HTTP通讯的历史记录,以【域名/IP地址:端口】为关键字建立对应的连接池,根据访问以【域名/IP地址:端口】标识的WAP网站的频度配置连接池内的空闲长连接和忙碌长连接的数量;
当需要建立WAP网关与WAP网站间的链路时,根据访问请求的【域名/IP地址:端口】查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接,通知HTTP模块利用所分配的空闲长连接建链与以【域名/IP地址:端口】标识的WAP网站进行HTTP通讯。
所述方法进一步包括:如果根据访问请求的【域名/IP地址:端口】没有查到对应的连接池,则以【域名/IP地址:端口】为关键字新建对应的连接池,并在该连接池内新建空闲长连接分配给该访问请求用于建链。
在单个线程中,所有连接池采用一个HASH表表征连接池容量,在该HASH表中利用最近最少使用算法LRU将该单个线程下的连接池排成一链表,每次有HTTP访问请求时,将根据【域名/IP地址:端口】所查到的被访问的连接池置于该连接池链表的排头。
在所述连接池链表中定期释放在一定时间内没有承载任何HTTP消息的连接池,根据释放时限从所述连接池链表的排尾向排头遍历,将超过释放时限而未承载任何HTTP消息的连接池释放。
在一个连接池中采用HASH表表征该连接池中的长连接数量,通过定时记录连接池中忙碌链路数量并计算统计平均值得到所述长连接数量。
所述连接池包括:空闲长连接链表和忙碌长连接链表,其中:
在每次需要为该连接池对应的以【域名/IP地址:端口】标识的WAP网站建链时,为其分配空闲长连接链表的排头的空闲长连接提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;
在一个忙碌的长连接完成了到对应该连接池的WAP网站的访问时,将该长连接从忙碌长连接链表抽出加入到空闲长连接链表的尾部;
在空闲长连接链表为空时,为该连接池新建空闲长连接。
本发明还提供一种长连接管理装置,所述长连接管理装置连接于WAP网关和HTTP模块之间,包括:资源管理模块,一个或多个连接池,
所述每一连接池与一个以【域名/IP地址:端口】标识的WAP网站对应;每一连接池中包括一个或多个长连接,其中空闲的长连接组成空闲长连接链表,忙碌的长连接组成忙碌长连接链表;
所述资源管理模块,用于收到HTTP访问请求时,根据访问请求的【域名/IP地址:端口】查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接,并将所分配的长连接通知所述HTTP模块。
所述资源管理模块,是在单个线程中采用一个HASH表表征所述连接池容量,在该HASH表中利用最近最少使用算法LRU将该单个线程下的连接池排成一链表,每次有HTTP访问请求时,将根据【域名/IP地址:端口】所查到的被访问的连接池置于连接池链表的排头。
所述资源管理模块,用于定期释放在一定时间内没有承载任何HTTP消息的连接池,根据释放时限从所述连接池链表的排尾向排头遍历,将超过释放时限而未承载任何HTTP消息的连接池释放。
所述连接池中采用HASH表表征该连接池中的长连接数量,通过定时记录连接池中忙碌链路数量并计算统计平均值得到所述长连接数量。
所述连接池包括:空闲长连接链表和忙碌长连接链表,其中:
所述资源管理模块,用于在每次需要为该连接池对应的以【域名/IP地址:端口】标识的WAP网站建链时,为其分配空闲长连接链表的排头的空闲长连接来提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;
所述资源管理模块,用于在一个忙碌的长连接完成了到对应该连接池的WAP网站的访问后,将该长连接从忙碌长连接链表抽出加入到空闲长连接链表的尾部;
所述资源管理模块,用于在空闲长连接链表为空时为该连接池新建空闲长连接。
本发明的技术方案,解决了HTTP短连接通信频繁建链所造成的建链延迟和资源浪费问题,实现TCP长连接通讯,并可实时调整长连接数量:在保证HTTP消息通讯正常的同时,可减小单位时间建立和关闭连接的次数,从而减小防火墙的压力,从而使得WAP网关向WAP网站建链方向的HTTP通讯效率有显著提高。经过测试发现,访问某域名的网址越频繁,复用效果越好,由WAP话单构建的拟WAP现场测试,表明复用效率可以达到90%左右。
附图说明
图1是HTTP支持长连接通讯原理图;
图2是HTTP长连接通讯中对应单个线程的连接池结构图;
图3是HTTP长连接通讯的总体流程图;
图4是HTTP长连接通讯中收到请求消息时的处理流程图;
图5是HTTP长连接通讯中收到响应消息时的处理流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
本发明针对WAP网关访问WAP站点时采用长连接进行HTTP通讯需要考虑的链路资源管理问题,提出了一种长连接管理装置及长连接通讯的链路资源管理方法。以【域名/IP地址:端口号】为关键字将多个访问同一域名的长连接划分为一个连接池,并分别标识连接池中的空闲长连接链表和忙碌长连接链表;并可根据业务繁忙的情况而动态调整连接池的数量和次序,在每一连接池中动态调整忙碌和空闲长连接所归属的链表顺序,以及链表中长连接数量。
本发明在保证WAP通讯正常的情况,通过合理的长连接资源管理来提高链路其复用率,实时调整访问各WAP网站域名的长连接数量,可以保证长连接访问的准确性,以及链路资源利用的效率。如果WAP网关业务空闲时,则每个连接池中保持少量的长连接即可,相反,在繁忙时段,连接池需要保持较多长连接,而当WAP业务由繁忙逐渐转为空闲时,实时监测每个被访问域名的繁忙程度来调整连接池的数量,以及连接池中长链接数量,可避免多余的长连接造成资源浪费。
本发明为TCP/IP网络模型中应用层和传输层的中介应用,主要目的为HTTP通讯优化,适用于基于HTTP通讯频繁的业务节点,线程数量可以由业务的繁忙程度决定。
如图1所示,给出了长连接管理装置的结构示意图,所述长连接管理装置增加在WAP网关与WAP站点之间,用于从WAP网关接收HTTP访问请求,根据访问请求分配连接池及连接池中可用的空闲长连接,指示HTTP模块采用所分配的长连接访问WAP站点。所述长连接管理装置包括:资源管理模块,以及一个或多个连接池,所述每一连接池与一个以【域名/IP地址:端口】标识的WAP网站对应;每一连接池中包括一个或多个长连接,其中空闲的长连接组成空闲长连接链表,忙碌的长连接组成忙碌长连接链表;
所述长连接管理装置的资源管理模块用于在WAP网关收到HTTP访问请求时,根据访问请求的【域名/IP地址:端口】查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接;
所述HTTP模块,用于利用所述长连接管理装置分配的空闲长连接为该访问请求在WAP网关与以【域名/IP地址:端口】标识的WAP网站建链进行HTTP通讯。
如图2所示,所述长连接管理模块的资源管理模块,用于在单个线程中采用一个HASH表表征连接池容量,在该HASH表中利用最近最少使用算法LRU将该单个线程下的连接池排成一个LRU链表,每次有HTTP访问请求时,将根据【域名/IP地址:端口】所查到的被访问的连接池置于连接池链表的排头。
所述长连接管理装置的资源管理模块,还用于定期释放在一定时间内没有承载任何HTTP消息的连接池,根据释放时限从所述连接池链表的排尾向排头遍历,将超过释放时限而未承载任何HTTP消息的连接池释放。
所述长连接管理装置的资源管理模块,在一个连接池中采用HASH表表征该连接池中的长连接数量,通过定时记录连接池中忙碌链路数量并计算统计平均值得到所述长连接数量。
所述连接池包括:空闲长连接链表和忙碌长连接链表,其中:
所述长连接管理装置的资源管理模块,在每次需要为该连接池对应的以【域名/IP地址:端口】标识的WAP网站建链时,为其分配空闲长连接链表的排头的空闲长连接提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;所述长连接管理装置的资源管理模块,在一个忙碌的长连接完成了到对应该连接池的WAP网站的访问,带着该WAP网站的返回的信息完成了一次任务后,将该长连接从忙碌长连接链表抽出加入到空闲长连接链表的尾部;所述长连接管理装置的资源管理模块,在空闲长连接链表为空时为该连接池新建空闲长连接。
其中,初始建立连接池链表时,可通过统计分析WAP网关向外部WAP网站建链的历史记录,根据访问记录中获知哪些网站访问次数多,为最常访问的网站建立连接池,并根据访问频度动态调整连接池中的长连接数量。
在支持长连接的HTTP通讯的技术方案的总体架构上,一方面考虑到WAP网关单线程完成任意时刻数百个域名的连接池管理,效率不高,应采用多线程对连接池操作。另一方面考虑到对连接池中全局结构体变量做修改操作时出现互斥,使用互斥锁又会造成效率低下的问题,采用HASH算法将连接池分为线程数量大小的若干份,并由各线程分开管理。
针对连接池的管理,如何进行连接池划分是一个关键问题,若仅采用域名或者IP地址来划分不同的长连接,仅能区分不同的网站,而并不能完全区分一个网站的不同服务,往往同一个网站会采用不同的端口来提供不同的服务。例如某网站通过网站的80端口提供国内外新闻,而8080端口则用于提供商品信息,如果只按照域名或IP地址提供访问,并不能区分两种服务,则有可能一个本来要去看新闻的用户却得到了商品信息。因此,若仅采用域名或者IP地址来区分不同的长连接是会造成访问服务的混淆。因而以域名和端口的组合确定唯一WAP服务,因此连接池以【域名/IP地址:端口】为关键字存储于HASH表中。由于无法判断一个WAP网关到底会有多少域名被访问,所以连接池只能动态申请内存,不能限定数量。
对于一些不常访问的网站,若访问它们就必须申请内存建立连接池,长时间以后系统必然添满了这些不要内存,那么必然要清理这些非必要的内存,衡量一个连接池是否必要的最好尺度就是时间,比如网站a.com在240秒内没有被访问那么释放掉其连接池以及相应的池内的长连接。也就是说,对于某些偶而被访问的IP地址或者域名对应的长连接,如果一定时间内没有承载任何HTTP消息,自动将其对应的连接池释放。
若为找出那些不使用的连接池,可每次连接池需要记录访问的时间,要拜访所有连接池,以确定连接池是否在一段时间内活跃,这就造成效率浪费。因而,可采用LRU算法(最近最少使用算法,Least Recently Used),如果让这些连接池排成一队列,每次将访问的连接池放在排头,那么排尾一定是最久没有被访问的连接池。如果单线程下所有连接池组成一条链表,每次连接池承载HTTP消息都将该连接池移动到链表的最前,这样链表尾部一定是最久未被访问的连接池,如此根据时间条件(例如释放时限),从尾部遍历链表即可找出应释放的连接池而不必遍历全部。
在建立连接池后,连接池下的长连接用于提供WAP网关到网站站点的访问,针对标识某一网站的连接池,该连接池内应该存在若干长连接,一些长连接忙碌,而一些长连接空闲。如果需要向该网站进行建链,提供WAP访问服务,就必须找出那些空闲的长连接,若遍历连接池中所有长连接,从中找出空闲状态的长连接,则效率必然降低。因而,可采用排队的方式,将空闲和忙碌的长连接分别排成一链表:空闲长连接链表,忙碌长连接链表:
每次需要为该连接池对应的网站建链时,可为其分配空闲长连接链表的排头的长连接来提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;
对于忙碌的长连接链表,当一个忙碌的长连接完成了到对应该连接池的网站的访问,带着网站的返回的信息完成了一次任务,就将该长连接从忙碌长连接链表抽出加入到空闲长连接链表尾部;
若空闲长连接链表为空,所有长连接都分配到忙碌链表中,则为该连接池新建一个长连接,用于为新的访问提供建链服务。
因而,在本发明中,与同一WAP站点建立的所有长连接集合于长连接管理装置的连接池中,采用两条链表管理空闲和忙碌两种状态长连接,这样就规避了遍历所有长连接寻找空闲状态链路必然引发的效率问题。
由于对WAP网站的访问会有业务高峰与低谷,因而需要对连接池中的长连接数目进行动态调整,需保证连接池中长连接数量随着访问该域名WAP站点的繁忙程度调整,这样就需要对连接池中忙碌链路数量定时记录,计算其统计平均值,并且保持链路数等于或小于平均值,这就可保证下次需要访问时,具有较大几率的长连接可供使用,可以减少每次选择(select)之后对可读可写套接字处理时间。测试证明在某一时间点,出现大于统计均值的链路数,下一次链路调整时将有大于统计均值的一部分链路全部释放。而这种抖动的情况还不在少数,因此需要计算方差来确定抖动的程度再进行调整。根据Chebishev定理,使统计均值加上1倍的方差可以将每次访问WAP站点而无需建链的几率提高到87.5%以上,值得采用。当然,提高复用率是以增加系统链路数作为条件的。
基于上述分析,可以归纳得到长连接通讯的链路资源管理方法,包括如下步骤:
根据HTTP通讯的历史记录,以【域名/IP地址:端口】为关键字建立对应的连接池,根据访问以【域名/IP地址:端口】标识的WAP网站的频度动态调整连接池内的空闲长连接和忙碌长连接的数量;
当需要建立WAP网关与WAP网站间的链路时,根据访问请求的【域名/IP地址:端口】查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接,利用所分配的空闲长连接建链与以【域名/IP地址:端口】标识的WAP网站进行HTTP通讯。
所述方法进一步包括:如果根据访问请求的【域名/IP地址:端口】没有查到对应的连接池,则以【域名/IP地址:端口】为关键字新建对应的连接池,并在该改连接池内新建空闲长连接分配给该访问请求用于建链。
在对连接池进行操作时,可以采用多线程方式对连接池操作,采用HASH算法将连接池分为线程数量大小的若干份,并由各线程分开管理。
在单个线程中采用一个HASH表表征连接池容量,在该HASH表中利用最近最少使用算法LRU将该单个线程下的连接池排成一链表,每次有HTTP访问请求时,将根据【域名/IP地址:端口】所查到的被访问的连接池置于连接池链表的排头。
定期释放在一定时间内没有承载任何HTTP消息的连接池,根据释放时限从所述连接池链表的排尾向排头遍历连接池队列,将超过释放时限而未承载任何HTTP消息的连接池释放。
在一个连接池中采用HASH表表征该连接池中的长连接数量,通过定时记录连接池中忙碌链路数量并计算统计平均值得到所述长连接数量。
所述连接池包括:空闲长连接链表和忙碌长连接链表,其中:
在每次需要为该连接池对应的以【域名/IP地址:端口】标识的WAP网站建链时,为其分配空闲长连接队列的排头的空闲长连接提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;
在一个忙碌的长连接完成了到对应该连接池的WAP网站的访问,带着该WAP网站的返回的信息完成了一次任务后,将该长连接从忙碌长连接链表抽出加入到空闲长连接链表的尾部;
在空闲长连接链表为空时,为该连接池新建空闲长连接。
在实际应用时,对于WAP网关业务,释放不活跃连接池的时间(即释放时限)可设置为120s或者更大,长连接数量均值和方差可以每1s采样,采样60个周期即1分钟。每个连接池内长连接数量保持在Average(统计均值)+Squater(方差)*ChvbshevPara(切比雪夫系数)以内。如果节点链路资源紧缺,可以设置切比雪夫系数至零,如需要增大复用率,该系数可设置较大,测试结果表明当该系数设置到大于等于3之后,长连接已经不再被释放。该系数取值可根据节点链路资源使用情况而定。
如图3所示,显示了应用本发明进行HTTP消息通讯的总流程,长连接管理装置从消息队列中获取消息,判断消息标识的类别:
若为请求标识,则进入请求消息处理流程,处理完毕后更新表征长连接池的LRU链表;
若为响应标识,则进入响应消息处理流程,处理完毕后更新表征长连接池的LRU链表;
若为断链标识,则进入断链消息处理流程,处理完毕后更新表征长连接池的LRU链表;
所述LRU链表表征了连接池,在更新LRU链表之后,定时调整长连接池中的长连接数量,定时释放不活跃连接池,继续从消息队列中获取消息。
如图4所示,长连接管理装置在从消息队列中收到HTTP访问请求时,若对应消息标识为请求标识,则首先调用处理请求函数入口,从消息队列中获取HTTP请求,解析消息域名/IP和端口,以[域名/IP地址:端口]作为关键字查询HASH表,得到连接池,从连接池中获取空闲长连接将该链路从空闲长连接链表转至忙碌长连接链表尾部,发给HTTP模块进行通讯,返回线程。
如图5所示,在从消息队列中收到HTTP访问请求时,若对应消息标识为响应标识,则调用处理响应函数入口,从消息队列中获取HTTP响应,从接口中获取域名/IP和端口,以[域名/IP地址:端口]作为关键字查询HASH表,得到连接池,判断是否为最后一包响应?若是,则将该链路从忙碌长连接链表转至空闲长连接链表尾部,之后发给HTTP模块进行通讯,若不是最后一包响应,则直接发给HTTP模块进行通讯,返回线程。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (11)

1.一种长连接通讯的链路资源管理方法,包括:
根据HTTP通讯的历史记录,以【域名/IP地址:端口】为关键字建立对应的连接池,根据访问以【域名/IP地址:端口】标识的WAP网站的频度配置连接池内的空闲长连接和忙碌长连接的数量;
当需要建立WAP网关与WAP网站间的链路时,根据访问请求的【域名/IP地址:端口】查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接,通知HTTP模块利用所分配的空闲长连接建链与以【域名/IP地址:端口】标识的WAP网站进行HTTP通讯。
2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
如果根据访问请求的【域名/IP地址:端口】没有查到对应的连接池,则以【域名/IP地址:端口】为关键字新建对应的连接池,并在该连接池内新建空闲长连接分配给该访问请求用于建链。
3.如权利要求1所述的方法,其特征在于,
在单个线程中,所有连接池采用一个HASH表表征连接池容量,在该HASH表中利用最近最少使用算法LRU将该单个线程下的连接池排成一链表,每次有HTTP访问请求时,将根据【域名/IP地址:端口】所查到的被访问的连接池置于该连接池链表的排头。
4.如权利要求3所述的方法,其特征在于,
在所述连接池链表中定期释放在一定时间内没有承载任何HTTP消息的连接池,根据释放时限从所述连接池链表的排尾向排头遍历,将超过释放时限而未承载任何HTTP消息的连接池释放。
5.如权利要求1所述的方法,其特征在于,
在一个连接池中采用HASH表表征该连接池中的长连接数量,通过定时记录连接池中忙碌链路数量并计算统计平均值得到所述长连接数量。
6.如权利要求1所述的方法,其特征在于,所述连接池包括:空闲长连接链表和忙碌长连接链表,其中:
在每次需要为该连接池对应的以【域名/IP地址:端口】标识的WAP网站建链时,为其分配空闲长连接链表的排头的空闲长连接提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;
在一个忙碌的长连接完成了到对应该连接池的WAP网站的访问时,将该长连接从忙碌长连接链表抽出加入到空闲长连接链表的尾部;
在空闲长连接链表为空时,为该连接池新建空闲长连接。
7.一种长连接管理装置,其特征在于,所述长连接管理装置连接于WAP网关和HTTP模块之间,包括:资源管理模块,一个或多个连接池,
所述每一连接池与一个以【域名/IP地址:端口】标识的WAP网站对应;每一连接池中包括一个或多个长连接,其中空闲的长连接组成空闲长连接链表,忙碌的长连接组成忙碌长连接链表;
所述资源管理模块,用于收到HTTP访问请求时,根据访问请求的【域名/IP地址:端口】查找对应的连接池,若查到对应的连接池,则在该连接池内为该访问请求分配空闲长连接,并将所分配的长连接通知所述HTTP模块。
8.如权利要求7所述的长连接管理装置,其特征在于,
所述资源管理模块,是在单个线程中采用一个HASH表表征所述连接池容量,在该HASH表中利用最近最少使用算法LRU将该单个线程下的连接池排成一链表,每次有HTTP访问请求时,将根据【域名/IP地址:端口】所查到的被访问的连接池置于连接池链表的排头。
9.如权利要求8所述的长连接管理装置,其特征在于,
所述资源管理模块,用于定期释放在一定时间内没有承载任何HTTP消息的连接池,根据释放时限从所述连接池链表的排尾向排头遍历,将超过释放时限而未承载任何HTTP消息的连接池释放。
10.如权利要求7所述的长连接管理装置,其特征在于,
所述连接池中采用HASH表表征该连接池中的长连接数量,通过定时记录连接池中忙碌链路数量并计算统计平均值得到所述长连接数量。
11.如权利要求7所述的长连接管理装置,其特征在于,所述连接池包括:空闲长连接链表和忙碌长连接链表,其中:
所述资源管理模块,用于在每次需要为该连接池对应的以【域名/IP地址:端口】标识的WAP网站建链时,为其分配空闲长连接链表的排头的空闲长连接来提供建链服务,并将该被分配用于建链的长连接加入到忙碌长连接链表的尾部;
所述资源管理模块,用于在一个忙碌的长连接完成了到对应该连接池的WAP网站的访问后,将该长连接从忙碌长连接链表抽出加入到空闲长连接链表的尾部;
所述资源管理模块,用于在空闲长连接链表为空时为该连接池新建空闲长连接。
CN2010102693088A 2010-08-27 2010-08-27 长连接管理装置及长连接通讯的链路资源管理方法 Pending CN101990256A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2010102693088A CN101990256A (zh) 2010-08-27 2010-08-27 长连接管理装置及长连接通讯的链路资源管理方法
BR112012025008-6A BR112012025008A2 (pt) 2010-08-27 2011-01-25 método de gerenciamento de recursos de ligações para comunicação em conexão longa e aparelho para o gerenciamento de conexões longas
PCT/CN2011/070601 WO2012024909A1 (zh) 2010-08-27 2011-01-25 长连接管理装置及长连接通讯的链路资源管理方法
EP11819284.8A EP2563062B1 (en) 2010-08-27 2011-01-25 Long connection management apparatus and link resource management method for long connection communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102693088A CN101990256A (zh) 2010-08-27 2010-08-27 长连接管理装置及长连接通讯的链路资源管理方法

Publications (1)

Publication Number Publication Date
CN101990256A true CN101990256A (zh) 2011-03-23

Family

ID=43746509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102693088A Pending CN101990256A (zh) 2010-08-27 2010-08-27 长连接管理装置及长连接通讯的链路资源管理方法

Country Status (4)

Country Link
EP (1) EP2563062B1 (zh)
CN (1) CN101990256A (zh)
BR (1) BR112012025008A2 (zh)
WO (1) WO2012024909A1 (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843406A (zh) * 2011-06-24 2012-12-26 深圳深讯和科技有限公司 数据交互方法及系统
CN102984598A (zh) * 2011-09-07 2013-03-20 华为软件技术有限公司 一种下载资源的方法及设备
CN103441999A (zh) * 2013-08-21 2013-12-11 好耶网络科技(上海)有限公司 一种套接字连接池控制方法
CN103561060A (zh) * 2013-10-17 2014-02-05 北京京东尚科信息技术有限公司 一种多线程环境下的通信链接方法及中转服务器
CN103916442A (zh) * 2013-01-07 2014-07-09 阿里巴巴集团控股有限公司 消息推送实现方法、移动终端及消息推送系统
CN103973469A (zh) * 2013-01-30 2014-08-06 阿里巴巴集团控股有限公司 Comet连接的维护方法及装置
CN104184729A (zh) * 2014-08-20 2014-12-03 杭州华三通信技术有限公司 一种报文处理方法和装置
CN105512127A (zh) * 2014-09-24 2016-04-20 阿里巴巴集团控股有限公司 数据库连接的分配方法和装置
CN105933435A (zh) * 2015-06-20 2016-09-07 浙江网新合同能源管理有限公司 一种基于物联网的实时查询方法
CN106775822A (zh) * 2016-11-22 2017-05-31 国云科技股份有限公司 一种OpenOffice连接池的实现方法
CN107508809A (zh) * 2017-08-17 2017-12-22 腾讯科技(深圳)有限公司 识别网址类型的方法及装置
CN104809247B (zh) * 2015-05-18 2019-03-26 北京京东尚科信息技术有限公司 数据库连接的分配和回收方法
CN109587012A (zh) * 2019-01-11 2019-04-05 厦门美图之家科技有限公司 网络类型识别方法及装置
CN110011910A (zh) * 2019-04-08 2019-07-12 陈鹏 一种支持多协议设备接入的网关通信系统及网关通信方法
CN110098987A (zh) * 2019-04-19 2019-08-06 一起住好房(北京)网络科技有限公司 一种解决物联网多层长连接负载均衡的方法
CN110225092A (zh) * 2019-05-14 2019-09-10 无线生活(杭州)信息科技有限公司 一种通信方法及WebSocket服务器
CN110430238A (zh) * 2019-07-05 2019-11-08 中国平安财产保险股份有限公司 长连接管理方法、装置、设备及计算机可读存储介质
WO2020077832A1 (zh) * 2018-10-16 2020-04-23 平安科技(深圳)有限公司 云桌面的访问方法、装置、设备及存储介质
CN111431735A (zh) * 2020-02-28 2020-07-17 平安科技(深圳)有限公司 连接池的管理方法、设备、装置及存储介质
CN111477229A (zh) * 2020-04-15 2020-07-31 苏州思必驰信息科技有限公司 语音识别请求处理方法和装置
CN112887344A (zh) * 2019-11-29 2021-06-01 中盈优创资讯科技有限公司 基于onos控制器集群的链路确定方法及装置
CN112910793A (zh) * 2019-12-04 2021-06-04 中国电信股份有限公司 用于七层负载均衡中连接复用的方法和负载均衡器
CN113343045A (zh) * 2021-07-29 2021-09-03 阿里云计算有限公司 一种数据缓存方法及网络设备
CN113422723A (zh) * 2021-05-13 2021-09-21 新华三信息安全技术有限公司 一种转发报文的方法及设备
CN113873036A (zh) * 2021-09-28 2021-12-31 北京达佳互联信息技术有限公司 一种通信方法、装置、服务器及存储介质
CN115086425A (zh) * 2022-08-23 2022-09-20 中航金网(北京)电子商务有限公司 消息传输方法、装置、程序产品、介质及电子设备
CN115396313A (zh) * 2022-08-22 2022-11-25 度小满科技(北京)有限公司 通信方法、装置、存储介质及电子装置
CN115396313B (zh) * 2022-08-22 2024-07-09 度小满科技(北京)有限公司 通信方法、装置、存储介质及电子装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110049068A (zh) * 2018-01-15 2019-07-23 北京京东尚科信息技术有限公司 一种基于超文本传输协议的网络长连接优化的方法和装置
CN108833149B (zh) * 2018-06-04 2021-06-25 深圳市丰巢科技有限公司 一种快递柜网络可用性监控与自愈的方法及系统
CN110855726B (zh) * 2018-08-20 2024-02-06 北京京东尚科信息技术有限公司 通信方法、装置以及网关、计算设备和介质
CN110995857B (zh) * 2019-12-17 2022-07-01 福建省汽车工业集团云度新能源汽车股份有限公司 一种实时高并发长连接超时快速处理方法
CN111010453B (zh) * 2019-12-29 2022-05-24 中建材信息技术股份有限公司 服务请求处理方法、系统、电子设备及计算机可读介质
CN113992737A (zh) * 2020-07-09 2022-01-28 青岛海信宽带多媒体技术有限公司 一种物联网连接方法、网关服务器以及网关
CN114629899B (zh) * 2020-12-10 2023-06-13 上海交通大学 长连接管理系统
CN113472893B (zh) * 2021-07-22 2023-08-01 咪咕数字传媒有限公司 数据处理方法、装置、计算设备及计算机存储介质
CN115996237B (zh) * 2021-10-15 2023-12-05 中煤科工集团智能矿山有限公司 用于物联网终端的远程管理方法、处理器及存储介质
CN115396486A (zh) * 2022-08-30 2022-11-25 重庆蚂蚁消费金融有限公司 连接池处理方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019680A1 (en) * 2002-07-25 2004-01-29 International Business Machines Corporation Method and system to provide highly available services
CN1940922A (zh) * 2005-09-30 2007-04-04 腾讯科技(深圳)有限公司 一种提高搜索信息速度的方法及系统
CN1972276A (zh) * 2006-11-26 2007-05-30 华为技术有限公司 一种协议访问管理方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
FI114265B (fi) * 2001-03-26 2004-09-15 First Hop Oy Menetelmiä ja järjestelyjä tehokkaan tiedonsiirron toteuttamiseksi nopeudeltaan rajoitetun tiedonsiirtolinkin yli
US7490162B1 (en) * 2002-05-15 2009-02-10 F5 Networks, Inc. Method and system for forwarding messages received at a traffic manager
CN100440872C (zh) * 2004-10-01 2008-12-03 中兴通讯股份有限公司 一种分布式环境中消息交换的实现方法及其装置
CN100499597C (zh) * 2005-05-20 2009-06-10 华为技术有限公司 多媒体消息系统中mm4接口消息的发送方法
CN101232410A (zh) * 2005-10-14 2008-07-30 中国移动通信集团公司 Wap网关性能的测试方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019680A1 (en) * 2002-07-25 2004-01-29 International Business Machines Corporation Method and system to provide highly available services
CN1940922A (zh) * 2005-09-30 2007-04-04 腾讯科技(深圳)有限公司 一种提高搜索信息速度的方法及系统
CN1972276A (zh) * 2006-11-26 2007-05-30 华为技术有限公司 一种协议访问管理方法和系统

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843406A (zh) * 2011-06-24 2012-12-26 深圳深讯和科技有限公司 数据交互方法及系统
CN102843406B (zh) * 2011-06-24 2015-04-22 深圳深讯和科技有限公司 数据交互方法及系统
CN102984598A (zh) * 2011-09-07 2013-03-20 华为软件技术有限公司 一种下载资源的方法及设备
CN103916442A (zh) * 2013-01-07 2014-07-09 阿里巴巴集团控股有限公司 消息推送实现方法、移动终端及消息推送系统
CN103973469A (zh) * 2013-01-30 2014-08-06 阿里巴巴集团控股有限公司 Comet连接的维护方法及装置
CN103973469B (zh) * 2013-01-30 2017-09-15 阿里巴巴集团控股有限公司 Comet连接的维护方法及装置
CN103441999A (zh) * 2013-08-21 2013-12-11 好耶网络科技(上海)有限公司 一种套接字连接池控制方法
CN103561060B (zh) * 2013-10-17 2017-08-11 北京京东尚科信息技术有限公司 一种多线程环境下的通信链接方法及中转服务器
CN103561060A (zh) * 2013-10-17 2014-02-05 北京京东尚科信息技术有限公司 一种多线程环境下的通信链接方法及中转服务器
CN104184729A (zh) * 2014-08-20 2014-12-03 杭州华三通信技术有限公司 一种报文处理方法和装置
CN104184729B (zh) * 2014-08-20 2018-05-08 新华三技术有限公司 一种报文处理方法和装置
CN105512127A (zh) * 2014-09-24 2016-04-20 阿里巴巴集团控股有限公司 数据库连接的分配方法和装置
CN104809247B (zh) * 2015-05-18 2019-03-26 北京京东尚科信息技术有限公司 数据库连接的分配和回收方法
CN105933435A (zh) * 2015-06-20 2016-09-07 浙江网新合同能源管理有限公司 一种基于物联网的实时查询方法
CN106775822A (zh) * 2016-11-22 2017-05-31 国云科技股份有限公司 一种OpenOffice连接池的实现方法
CN107508809A (zh) * 2017-08-17 2017-12-22 腾讯科技(深圳)有限公司 识别网址类型的方法及装置
WO2020077832A1 (zh) * 2018-10-16 2020-04-23 平安科技(深圳)有限公司 云桌面的访问方法、装置、设备及存储介质
CN109587012A (zh) * 2019-01-11 2019-04-05 厦门美图之家科技有限公司 网络类型识别方法及装置
CN109587012B (zh) * 2019-01-11 2020-07-03 厦门美图之家科技有限公司 网络类型识别方法及装置
CN110011910A (zh) * 2019-04-08 2019-07-12 陈鹏 一种支持多协议设备接入的网关通信系统及网关通信方法
CN110011910B (zh) * 2019-04-08 2022-01-18 陈鹏 一种支持多协议设备接入的网关通信系统及网关通信方法
CN110098987A (zh) * 2019-04-19 2019-08-06 一起住好房(北京)网络科技有限公司 一种解决物联网多层长连接负载均衡的方法
CN110098987B (zh) * 2019-04-19 2021-05-28 一起住好房(北京)网络科技有限公司 一种解决物联网多层长连接负载均衡的方法
CN110225092A (zh) * 2019-05-14 2019-09-10 无线生活(杭州)信息科技有限公司 一种通信方法及WebSocket服务器
CN110225092B (zh) * 2019-05-14 2022-06-14 无线生活(杭州)信息科技有限公司 一种通信方法及WebSocket服务器
CN110430238A (zh) * 2019-07-05 2019-11-08 中国平安财产保险股份有限公司 长连接管理方法、装置、设备及计算机可读存储介质
CN110430238B (zh) * 2019-07-05 2023-10-31 中国平安财产保险股份有限公司 长连接管理方法、装置、设备及计算机可读存储介质
CN112887344B (zh) * 2019-11-29 2023-04-07 中盈优创资讯科技有限公司 基于onos控制器集群的链路确定方法及装置
CN112887344A (zh) * 2019-11-29 2021-06-01 中盈优创资讯科技有限公司 基于onos控制器集群的链路确定方法及装置
CN112910793A (zh) * 2019-12-04 2021-06-04 中国电信股份有限公司 用于七层负载均衡中连接复用的方法和负载均衡器
CN111431735A (zh) * 2020-02-28 2020-07-17 平安科技(深圳)有限公司 连接池的管理方法、设备、装置及存储介质
CN111477229B (zh) * 2020-04-15 2023-02-17 思必驰科技股份有限公司 语音识别请求处理方法和装置
CN111477229A (zh) * 2020-04-15 2020-07-31 苏州思必驰信息科技有限公司 语音识别请求处理方法和装置
CN113422723A (zh) * 2021-05-13 2021-09-21 新华三信息安全技术有限公司 一种转发报文的方法及设备
CN113343045A (zh) * 2021-07-29 2021-09-03 阿里云计算有限公司 一种数据缓存方法及网络设备
CN113873036A (zh) * 2021-09-28 2021-12-31 北京达佳互联信息技术有限公司 一种通信方法、装置、服务器及存储介质
CN113873036B (zh) * 2021-09-28 2024-03-05 北京达佳互联信息技术有限公司 一种通信方法、装置、服务器及存储介质
CN115396313A (zh) * 2022-08-22 2022-11-25 度小满科技(北京)有限公司 通信方法、装置、存储介质及电子装置
CN115396313B (zh) * 2022-08-22 2024-07-09 度小满科技(北京)有限公司 通信方法、装置、存储介质及电子装置
CN115086425A (zh) * 2022-08-23 2022-09-20 中航金网(北京)电子商务有限公司 消息传输方法、装置、程序产品、介质及电子设备

Also Published As

Publication number Publication date
EP2563062B1 (en) 2017-12-13
EP2563062A1 (en) 2013-02-27
EP2563062A4 (en) 2016-12-21
WO2012024909A1 (zh) 2012-03-01
BR112012025008A2 (pt) 2020-07-07

Similar Documents

Publication Publication Date Title
CN101990256A (zh) 长连接管理装置及长连接通讯的链路资源管理方法
CN109783438B (zh) 基于librados的分布式NFS系统及其构建方法
CN101267361B (zh) 一种基于零拷贝技术的高速网络数据包捕获方法
CN107547654A (zh) 一种分布式对象存储集群、部署、服务方法及系统
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
CN101841526A (zh) 一种适用大规模用户点播的集群式流媒体服务器系统
CN105468619B (zh) 用于数据库连接池的资源分配方法和装置
CN108900626A (zh) 一种云环境下数据存储方法、装置及系统
CN107368583A (zh) 一种多集群信息查询的方法及系统
CN103957282A (zh) 一种域内终端用户域名解析加速系统及其方法
CN103530335A (zh) 电力计量采集系统的入库操作方法及装置
CN108509297A (zh) 一种数据备份方法和系统
CN106202082A (zh) 组装基础数据缓存的方法及装置
CN101170433A (zh) 数据库入库方法
CN113947498A (zh) 一种融合终端数据中心的数据存储与检索方法
CN101860454A (zh) 一种网络性能数据处理方法及其装置
CN1972276A (zh) 一种协议访问管理方法和系统
CN103581119B (zh) 一种生产过程数据高速显示系统及方法
CN109831473A (zh) 物流服务提供方法及设备
CN111935310A (zh) 应用于物联网终端的数据上报系统及数据上报方法
CN109309711A (zh) 一种虚拟缓存共享方法和系统
CN103049478B (zh) 一种Web服务的双路缓存机制设计方法
CN112445590A (zh) 一种计算资源接入及调度系统和方法
TW202215262A (zh) 一種具延遲感知負載平衡的反向代理方法和存儲裝置
CN101286992B (zh) 一种内容传输系统及其处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110323