CN105471869A - 一种互联网电视内容请求的连接复用方法及系统 - Google Patents

一种互联网电视内容请求的连接复用方法及系统 Download PDF

Info

Publication number
CN105471869A
CN105471869A CN201510822438.2A CN201510822438A CN105471869A CN 105471869 A CN105471869 A CN 105471869A CN 201510822438 A CN201510822438 A CN 201510822438A CN 105471869 A CN105471869 A CN 105471869A
Authority
CN
China
Prior art keywords
tcp
client
connection
connect
server end
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
Application number
CN201510822438.2A
Other languages
English (en)
Other versions
CN105471869B (zh
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.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology Co Ltd
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 Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN201510822438.2A priority Critical patent/CN105471869B/zh
Publication of CN105471869A publication Critical patent/CN105471869A/zh
Application granted granted Critical
Publication of CN105471869B publication Critical patent/CN105471869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种互联网电视内容请求的连接复用方法及系统,该方法包括:客户端解析要连接的HTTP?url,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;服务器端监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。本发明极大减少了重复建立、关闭TCP连接的操作,避免了无谓的资源浪费,使得TCP连接次数、时间减少,提高互联网电视切台速度和播放的流畅性,可广泛应用于互联网电视的通信技术领域中。

Description

一种互联网电视内容请求的连接复用方法及系统
技术领域
本发明涉及网络通信技术领域,特别是涉及一种互联网电视内容请求的连接复用方法及系统。
背景技术
名词解释:
HTTP:全称HyperTextTransferProtocol,超文本传输协议,是互联网上应用最为广泛的一种网络协议;
TCP:全称TransmissionControlProtocol,传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议;
url:全称UniformResourceLocator,统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址;
ip:全称InternetProtocol,网络之间互连的协议,简称网络协议,本申请中指ip地址;
port:端口。
互联网电视是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭互联网电视用户提供包括数字电视在内的多种交互式服务的崭新技术。网络机顶盒可以将互联网与电视联系起来,为互联网视频业务提供丰富的电影、电视剧、音乐等资源,而且具有可更新及时的优点,如今人们可以通过网络机顶盒方便地观看电视节目、在线点播、直播内容。相对于传统有线电视,网络质量的好坏、稳定与否直接影响网络机顶盒用户的观看体验。如果网络不佳,将直接影响到机顶盒的缓冲时间,给用户造成的直接影响就是切台时间长、播放卡顿。因此如何在现有网络条件下尽可能加快连接速度,成为优化用户体验的切入点之一。
以HTTP协议为例,HTTP协议普遍用于流媒体中,客户端通过发起连接请求,请求成功后便可以连续不断下载媒体数据。目前,大多数应用使用一次性HTTP连接,即每次TCP连接只处理一次HTTP请求,传输完数据后关闭该连接,处理下一个请求时重新建立连接。这种连接方法的优点是实现简单,缺点是由于处理每次请求都需要一次建立连接和关闭连接操作,造成效率很低。因为很多时候同一个节目源是由若干媒体分片组成(例如HTTPLiveStreaming,HTTPDynamicStreaming等),而这些分片往往是指向同一个服务器的,或者不同节目源集中分布在同一个服务器。使用长连接可以有效改善一次性HTTP连接所存在的问题,长连接是指在一次TCP连接中连续处理多次请求,而不断开连接,减少TCP连接的建立和关闭次数,从而减少播放过程和切台时的连接时间,加快切台速度,使得播放更加流畅。
长连接的数量和维护长连接的时间势必会对服务器造成影响。维护的长连接时间过短,服务器会频繁建立连接;维护长连接的时间过长,数量过多,会大量消耗服务器内存。因此,需要一种有效的管理方法对链路资源进行管理,尽可能地降低因为长连接数量、长连接时间不合理对整体性能造成的不良影响。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种互联网电视内容请求的连接复用方法。本发明的另一目的是提供一种互联网电视内容请求的连接复用系统。
本发明解决其技术问题所采用的技术方案是:
一种互联网电视内容请求的连接复用方法,包括:
客户端请求处理步骤:客户端解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;
服务器端响应处理步骤:服务器端监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
进一步,所述客户端请求处理步骤,具体包括:
S11、解析所要连接的HTTPurl,提取获得对应的目的地址,并构建HTTP请求;
S12、检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,则直接执行步骤S14,反之,执行步骤S13;
S13、根据提取获得的目的地址,创建到该目的地址的TCP连接,并将该TCP连接存储到本地连接池中;
S14、通过该TCP连接发送HTTP请求,并将该TCP连接的使用次数加1,同时对该TCP连接的使用状态进行赋值;
S15、通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放;
S16、实时判断媒体数据是否接收完毕,并在媒体数据接收完毕后,将该TCP连接的使用状态进行初始化。
进一步,所述步骤S13,包括:
S131、根据提取获得的目的地址,创建到该目的地址的TCP连接;
S132、判断客户端与当前服务器端的TCP连接数量是否大于第一预设阈值,若是,则直接执行步骤S134,反之,执行步骤S133;
S133、判断客户端当前的TCP连接总数是否大于第二预设阈值,若是,则执行步骤S134,反之,直接执行步骤S135;
S134、关闭使用次数最少的TCP连接,并销毁相应资源;
S135、保存新创建的TCP连接,并将该TCP连接存储到本地连接池中。
进一步,所述服务器端响应处理步骤,具体包括:
S21、检测服务器端的本地连接池中是否存在空闲的TCP连接,若存在,则获取一空闲的TCP连接后,直接执行步骤S23,反之,执行步骤S22;
S22、实时监听是否接收到客户端的连接请求,若是,则根据客户端的连接请求,建立一TCP连接,并将建立的TCP连接存储到服务器端的本地连接池中;
S23、检测并判断服务器端的本地连接池中的TCP连接总数是否大于预设最大值,若是,则执行步骤S24,反之,直接执行步骤S25;
S24、判断是否存在空闲的TCP连接,若是,则关闭一个空闲TCP连接并执行步骤S25,反之结束;
S25、通过该TCP连接监听是否存在HTTP请求,并在接收到HTTP请求时,通过该TCP连接收发数据。
进一步,所述步骤S25,其具体为:通过该TCP连接监听是否存在HTTP请求,若是,则通过该TCP连接收发数据,反之,等待HTTP请求并在接收到HTTP请求后,通过该TCP连接收发数据。
本发明解决其技术问题所采用的另一技术方案是:
一种互联网电视内容请求的连接复用系统,包括客户端和服务器端,所述客户端通过可复用TCP连接方式与多个服务器端连接,所述服务器端通过可复用TCP连接方式与多个客户端连接;所述客户端用于解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;所述服务器端用于监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
进一步,所述客户端包括:
解析模块,用于解析所要连接的HTTPurl,提取获得对应的目的地址;
参数配置模块,用于响应于用户输入的数据,对客户端进行连接参数配置;
请求构造模块,用于根据解析模块提取获得的目的地址,构建HTTP请求;
TCP连接管理模块,用于检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,获取该TCP连接,反之,创建到该目的地址的TCP连接并存储到本地连接池中,并在检测到通过该TCP连接发送HTTP请求时,将该TCP连接的使用次数加1,同时根据TCP连接的使用状态对其进行赋值;
请求发送模块,用于通过TCP连接管理模块获取或创建的TCP连接发送HTTP请求;
响应读取模块,用于通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放。
本发明的有益效果是:本发明的一种互联网电视内容请求的连接复用方法,包括:客户端请求处理步骤:客户端解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;服务器端响应处理步骤:服务器端监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。本方法极大减少了重复建立、关闭TCP连接的操作,避免了无谓的资源浪费,使得TCP连接次数、时间减少,提高互联网电视切台速度和播放的流畅性。
本发明的另一有益效果是:本发明的一种互联网电视内容请求的连接复用系统,包括客户端和服务器端,所述客户端通过可复用TCP连接方式与多个服务器端连接,所述服务器端通过可复用TCP连接方式与多个客户端连接;所述客户端用于解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;所述服务器端用于监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。本系统极大减少了重复建立、关闭TCP连接的操作,避免了无谓的资源浪费,使得TCP连接次数、时间减少,提高互联网电视切台速度和播放的流畅性。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的一种互联网电视内容请求的连接复用方法的具体实施例的示意图;
图2是图1所示的实施例中客户端的连接复用方法的流程图;
图3是图1所示的实施例中服务器端的连接复用方法的流程图;
图4是本发明的一种互联网电视内容请求的连接复用系统的具体实施例的客户端的结构框图。
具体实施方式
本发明提供了一种互联网电视内容请求的连接复用方法,包括:
客户端请求处理步骤:客户端解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;
服务器端响应处理步骤:服务器端监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
进一步作为优选的实施方式,所述客户端请求处理步骤,具体包括:
S11、解析所要连接的HTTPurl,提取获得对应的目的地址,并构建HTTP请求;
S12、检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,则直接执行步骤S14,反之,执行步骤S13;
S13、根据提取获得的目的地址,创建到该目的地址的TCP连接,并将该TCP连接存储到本地连接池中;
S14、通过该TCP连接发送HTTP请求,并将该TCP连接的使用次数加1,同时对该TCP连接的使用状态进行赋值;本发明中,将TCP连接的使用状态赋值为1,表示正在使用,初始化时,将使用状态初始化为0,表示空闲状态;
S15、通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放;
S16、实时判断媒体数据是否接收完毕,并在媒体数据接收完毕后,将该TCP连接的使用状态进行初始化。
进一步作为优选的实施方式,所述步骤S13,包括:
S131、根据提取获得的目的地址,创建到该目的地址的TCP连接;
S132、判断客户端与当前服务器端的TCP连接数量是否大于第一预设阈值,若是,则直接执行步骤S134,反之,执行步骤S133;
S133、判断客户端当前的TCP连接总数是否大于第二预设阈值,若是,则执行步骤S134,反之,直接执行步骤S135;
S134、关闭使用次数最少的TCP连接,并销毁相应资源;
S135、保存新创建的TCP连接,并将该TCP连接存储到本地连接池中。
进一步作为优选的实施方式,所述服务器端响应处理步骤,具体包括:
S21、检测服务器端的本地连接池中是否存在空闲的TCP连接,若存在,则获取一空闲的TCP连接后,直接执行步骤S23,反之,执行步骤S22;
S22、实时监听是否接收到客户端的连接请求,若是,则根据客户端的连接请求,建立一TCP连接,并将建立的TCP连接存储到服务器端的本地连接池中;
S23、检测并判断服务器端的本地连接池中的TCP连接总数是否大于预设最大值,若是,则执行步骤S24,反之,直接执行步骤S25;
S24、判断是否存在空闲的TCP连接,若是,则关闭一个空闲TCP连接并执行步骤S25,反之结束;
S25、通过该TCP连接监听是否存在HTTP请求,并在接收到HTTP请求时,通过该TCP连接收发数据。
进一步作为优选的实施方式,所述步骤S25,其具体为:通过该TCP连接监听是否存在HTTP请求,若是,则通过该TCP连接收发数据,反之,等待HTTP请求并在接收到HTTP请求后,通过该TCP连接收发数据。
本发明还提供了一种互联网电视内容请求的连接复用系统,包括客户端和服务器端,所述客户端通过可复用TCP连接方式与多个服务器端连接,所述服务器端通过可复用TCP连接方式与多个客户端连接;所述客户端用于解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;所述服务器端用于监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
进一步作为优选的实施方式,所述客户端包括:
解析模块,用于解析所要连接的HTTPurl,提取获得对应的目的地址;
参数配置模块,用于响应于用户输入的数据,对客户端进行连接参数配置;
请求构造模块,用于根据解析模块提取获得的目的地址,构建HTTP请求;
TCP连接管理模块,用于检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,获取该TCP连接,反之,创建到该目的地址的TCP连接并存储到本地连接池中,并在检测到通过该TCP连接发送HTTP请求时,将该TCP连接的使用次数加1,同时根据TCP连接的使用状态对其进行赋值;
请求发送模块,用于通过TCP连接管理模块获取或创建的TCP连接发送HTTP请求;
响应读取模块,用于通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放。
以下结合具体实施例对本发明做详细说明。
实施例一
图1为本实施例的一种互联网电视内容请求的连接复用方法的示意图,包括以下步骤:
第一步:假设客户端要访问的url为http://ip:port/file_1,第一次建立TCP连接,将该连接与ip:port映射,标记该使用次数为1;
第二步:通过第一步建立的TCP连接,向服务器端发送HTTP请求;
第三步:通过第一步建立的TCP连接,从服务器端接收HTTP响应消息,获取文件大小信息,不断从服务器端读取媒体数据,直至下载完成;
第四步:客户端要访问下一个url为http://ip:port/file_2,遍历查找连接池,看是否有和ip:port匹配的连接,找到第一步建立的连接,构造HTTP请求,通过该TCP连接发送至服务器,将该TCP连接的使用次数加1;
第五步:从服务器接收HTTP响应消息,不断读取数据直至读完;
第六步:客户端要访问的url为http://ip_n:port_n/file_n,如果ip_n:port_n为新的要访问的服务器,则重复第一步至第三步;否则重复第四步至第五步。
图2为本实施例中客户端执行的连接复用方法的详细流程图,包括以下步骤:
第一步:程序初始化,响应于用户输入信息配置客户端的各参数,包括第一预设阈值N、第二预设阈值M等;
第二步:解析要访问的url,提取出ip和port;
第三步:构造HTTP请求;
第四步:检测本地连接池中是否有到目的地址的TCP连接,如果有则进入第五步;如果没有,则进入第六步;
第五步:将当前TCP连接的使用次数加1,进入第十一步;
第六步:创建到解析出来的目的地址的TCP连接;
第七步:判断客户端与当前服务器端的TCP连接数量是否大于N,如果是则进入第九步;否则进入第八步;
第八步:判断TCP连接总数是否大于M,如果是则进入第九步;否则进入第十步;
第九步:关闭使用次数最少的TCP连接,销毁相应资源;
第十步:保存新建立的TCP连接,放入客户端本地维护的本地连接池中,并将该TCP连接的使用次数置1,标记该TCP连接的使用状态(用“busy”表示)为1,表明该TCP连接正在使用,为使用状态;
第十一步:通过该TCP连接发送HTTP请求消息;
第十二步:发送请求成功,接收服务器端返回的HTTP响应消息,当接收完毕,标记该TCP连接的使用状态为busy=0,表明该TCP连接为空闲状态。
图3是本实施例中服务器端执行的连接复用方法的详细流程图,包括以下步骤:
第一步:程序初始化;
第二步:检测本地连接池是否有空闲的TCP连接,如果没有则进入第三步;否则进入第四步;
第三步:按照正常流程创建套接字,绑定端口,监听套接字,接收客户端的HTTP请求,以建立一个TCP连接;
第四步:检查本地连接池中的TCP连接总数是否大于预设最大值L,如果是则进入第五步;否则进入第六步;
第五步:关闭一个空闲的TCP连接,如果没有空闲的TCP连接,说明此时服务器连接数过多,负荷过大,则结束程序;如果有空闲的TCP连接,则关闭该TCP连接,进入第六步;
第六步:将建立的TCP连接放入本地连接池,设置该TCP连接的序号为前一个TCP连接的序号数加1即seq+1,初始值为0,将使用状态busy标记为:busy=1,表明该TCP连接正在使用;seq表示前一个TCP连接的序号数;
第七步:监听该TCP连接是否有可读写事件,如果没有则进入第八步,否则进入第九步;这里的可读写事件指HTTP请求;
第八步:等待可读写事件;
第九步:通过该TCP连接收发数据;
第十步:当数据发送完毕,标记该连接的使用状态为busy=0,表明该TCP连接为空闲状态,进入第二步;
第十一步:程序结束。
本实例实施中,通过TCP连接的复用,在一次TCP连接中连续处理多次请求,而不断开连接,减少TCP连接的建立和关闭次数,从而减少播放过程和切台时的连接时间,进而加快切台速度,使得播放更加流畅。无论是客户端还是服务器端,都极大减少了重复建立、关闭TCP连接的操作,避免了无谓的资源浪费,使得TCP连接次数、时间减少,提高互联网电视切台速度和播放的流畅性。
实施例二
本实施例是实施例一的一具体实施例,具体如下:
设置TCP连接总数的最大数量即第二预设阈值为M=20,和同一台服务器端的TCP连接数量的最大值为:第一预设阈值N=3,链路无任何数据往来时间S=60秒,每隔时间间隔I=5(秒)向该TCP连接对端发送探测包C=3次,服务器端的TCP连接总数的最大数量为:预设最大值L=1000。网络机顶盒开始请求播放节目p_1,根据图1建立TCP连接,记录使用次数num_1=1,然后发送HTTP请求,请求成功后接收服务器端返回的HTTP响应消息,读取媒体数据进行播放,对应服务端端的TCP连接是seq=0。执行切台操作时,假设切到的节目p_2和p_1在同一台服务器端,在建立连接之前检查到已建立到该服务器端的TCP连接,于是不再重新建立TCP连接,直接使用匹配出的已有TCP连接发送HTTP请求消息,记录该TCP连接的使用次数num_1=2,此时TCP连接总数仍为1,服务端仍然使用seq=0的连接。重复进行切台操作,若某时刻客户端的TCP连接总数为20,此时再切台到一个新的服务器端,则连接之前,先找出使用次数最少的TCP连接,进行关闭操作,再创建TCP连接发送请求。同时,有某个TCP连接未传输数据超过60秒,触发TCP保活探查机制,向服务器端发送探查包,这样便可以得知服务器端是否异常,如果异常则释放对应的TCP连接,以避免不必要的资源消耗。
本实例实施中,通过TCP连接的复用,在一次TCP连接中连续处理多次请求,而不断开连接,减少TCP连接的建立和关闭次数,从而减少播放过程和切台时的连接时间,进而加快切台速度,使得播放更加流畅。无论是客户端还是服务器端,都极大减少了重复建立、关闭TCP连接的操作,避免了无谓的资源浪费,使得TCP连接次数、时间减少,提高互联网电视切台速度和播放的流畅性。
实施例三
一种用于执行实施例一的连接复用方法的连接复用系统具体如下:
一种互联网电视内容请求的连接复用系统,包括客户端和服务器端,客户端通过可复用TCP连接方式与多个服务器端连接,服务器端通过可复用TCP连接方式与多个客户端连接;客户端用于解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;服务器端用于监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
客户端用于:解析所要连接的HTTPurl,构造HTTP请求消息,检测本地连接池是否有到目的地址的TCP连接,若无本地到目的地址的TCP连接则创建到解析出来的目的地址的TCP连接,同时将该TCP连接放入本地维护的本地连接池中,标记该TCP连接为正在使用,通过该TCP连接发送构造好的HTTP请求消息,然后接收HTTP响应消息,读取相应媒体数据并进行播放操作;若有本地到目的地址的TCP连接,则直接通过该TCP连接发送HTTP请求消息,而无需再创建。检查是否下载完媒体数据,如果下载完毕则主动关闭TCP连接,标记该TCP连接为空闲。每当需要向某地址发送请求时,先检查是否有到该地址的TCP连接,若有,则使用该TCP连接;若无,则创建TCP连接,同时将该TCP连接放入连接池。维护本地连接池,保证连接池总连接数量一定,当超过既定数量即第二预设阈值M时,按照LRU算法关闭使用次数最少的连接;为避免长连接长时间未用被服务器关闭,每隔一定时间向连接的对端发送一个探查包。
服务器端用于:保留原有的TCP连接监听和新建TCP连接机制,空闲TCP连接不主动关闭,监听读写事件,等待客户端复用。当客户端发起连接请求,触发服务器端新建TCP连接时,将该TCP连接放入本地维护的连接池中,标记该TCP连接正在使用,后续通过该TCP连接接收客户端的请求并向客户端发送数据;若有本地到客户端的TCP连接,而且该连接空闲则直接通过该TCP连接和客户端通信;若有本地到客户端的TCP连接,但是连接正在被使用,则按照没有到客户端的TCP连接的情形处理。服务器端发送完数据后,不关闭连接,标记该连接为空闲。
具体的,参照图4,客户端包括:
解析模块,用于解析所要连接的HTTPurl,提取获得对应的目的地址,根据相应标准解析出scheme,hostname,port(默认是80),file等信息;
参数配置模块,用于响应于用户输入的数据,对客户端进行连接参数配置,例如配置客户端的TCP连接总数的最大值为第二预设阈值M,配置客户端与同一服务器端的TCP连接数量的最大值为第一预设阈值N,以及将TCP连接配置为在一定时间S(秒)内该TCP连接无任何数据往来时,每隔时间间隔I(秒)向该TCP连接对端发送探测包,尝试探测次数C;
请求构造模块,用于根据解析模块提取获得的目的地址,构建HTTP请求,该请求通常使用GET方法,表明要向服务器端请求的文件;
TCP连接管理模块,用于检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,获取该TCP连接,反之,创建到该目的地址的TCP连接并存储到本地连接池中,并在检测到通过该TCP连接发送HTTP请求时,将该TCP连接的使用次数加1,同时根据TCP连接的使用状态对其进行赋值;
TCP连接管理模块具体用于:管理TCP连接,当需要向服务器端发起请求时,首先通过该模块检测是否已经有到目的服务器端的TCP连接。每个TCP连接和"ip:port"形式一一对应,在每次初次连接时实现对应映射,并记录使用该连接的使用次数num为1。检测方法是根据解析地址模块解析出的ip和port和本地连接池中的ip:port进行匹配。如果匹配成功,则说明已建立对应连接,直接使用该TCP连接,并对使用次数num加1操作;否则,建立新的TCP连接,并将该TCP连接存入本地连接池中以便后续使用。为避免过多的长连接对本地客户端消耗资源过多,限制客户端的TCP连接总数的连接最大数量为第二预设阈值M。为避免对某个具体服务器端建立过多长连接,限制与同一台服务器端的TCP连接数量的最大连接数量为第一预设阈值N。当TCP连接总数超过M时,根据每个TCP连接的使用次数num,关闭使用次数最少的连接;当与某台服务器端的TCP连接数量超过N时,根据使用次数num,关闭使用最少的连接。为了避免因长连接长时间未收发任何数据被服务端关闭,设置TCP保活机制的相应参数,按照设定参数,空闲的客户TCP会定时向服务端发送保活探查包。
请求发送模块,用于通过TCP连接管理模块获取或创建的TCP连接发送HTTP请求;
响应读取模块,用于通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放,根据响应头域获取文件长度信息,以便判断是否读取完数据,不断读取请求到的媒体数据,以供播放器播放。
本发明通过本实施例的连接复用系统实现了互联网电视内容请求的连接复用方法,通过有效管理TCP连接的方法实现对TCP连接的复用,无论是客户端还是服务器端,都极大减少了重复建立、关闭TCP连接的操作,避免了无谓的资源浪费,使得TCP连接次数、时间减少,提高互联网电视切台速度和播放的流畅性。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种互联网电视内容请求的连接复用方法,其特征在于,包括:
客户端请求处理步骤:客户端解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;
服务器端响应处理步骤:服务器端监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
2.根据权利要求1所述的一种互联网电视内容请求的连接复用方法,其特征在于,所述客户端请求处理步骤,具体包括:
S11、解析所要连接的HTTPurl,提取获得对应的目的地址,并构建HTTP请求;
S12、检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,则直接执行步骤S14,反之,执行步骤S13;
S13、根据提取获得的目的地址,创建到该目的地址的TCP连接,并将该TCP连接存储到本地连接池中;
S14、通过该TCP连接发送HTTP请求,并将该TCP连接的使用次数加1,同时对该TCP连接的使用状态进行赋值;
S15、通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放;
S16、实时判断媒体数据是否接收完毕,并在媒体数据接收完毕后,将该TCP连接的使用状态进行初始化。
3.根据权利要求2所述的一种互联网电视内容请求的连接复用方法,其特征在于,所述步骤S13,包括:
S131、根据提取获得的目的地址,创建到该目的地址的TCP连接;
S132、判断客户端与当前服务器端的TCP连接数量是否大于第一预设阈值,若是,则直接执行步骤S134,反之,执行步骤S133;
S133、判断客户端当前的TCP连接总数是否大于第二预设阈值,若是,则执行步骤S134,反之,直接执行步骤S135;
S134、关闭使用次数最少的TCP连接,并销毁相应资源;
S135、保存新创建的TCP连接,并将该TCP连接存储到本地连接池中。
4.根据权利要求1所述的一种互联网电视内容请求的连接复用方法,其特征在于,所述服务器端响应处理步骤,具体包括:
S21、检测服务器端的本地连接池中是否存在空闲的TCP连接,若存在,则获取一空闲的TCP连接后,直接执行步骤S23,反之,执行步骤S22;
S22、实时监听是否接收到客户端的连接请求,若是,则根据客户端的连接请求,建立一TCP连接,并将建立的TCP连接存储到服务器端的本地连接池中;
S23、检测并判断服务器端的本地连接池中的TCP连接总数是否大于预设最大值,若是,则执行步骤S24,反之,直接执行步骤S25;
S24、判断是否存在空闲的TCP连接,若是,则关闭一个空闲TCP连接并执行步骤S25,反之结束;
S25、通过该TCP连接监听是否存在HTTP请求,并在接收到HTTP请求时,通过该TCP连接收发数据。
5.根据权利要求4所述的一种互联网电视内容请求的连接复用方法,其特征在于,所述步骤S25,其具体为:通过该TCP连接监听是否存在HTTP请求,若是,则通过该TCP连接收发数据,反之,等待HTTP请求并在接收到HTTP请求后,通过该TCP连接收发数据。
6.一种互联网电视内容请求的连接复用系统,其特征在于,包括客户端和服务器端,所述客户端通过可复用TCP连接方式与多个服务器端连接,所述服务器端通过可复用TCP连接方式与多个客户端连接;所述客户端用于解析要连接的HTTPurl,进而建立或者选择与目标服务器端对应的TCP连接,并构建HTTP请求后,通过该TCP连接发送HTTP请求并接收服务器端返回的响应消息;所述服务器端用于监听客户端的请求信息,并选择或建立与该客户端对应的TCP连接后,通过该TCP连接响应客户端的HTTP请求并返回HTTP响应消息。
7.根据权利要求6所述的一种互联网电视内容请求的连接复用系统,其特征在于,所述客户端包括:
解析模块,用于解析所要连接的HTTPurl,提取获得对应的目的地址;
参数配置模块,用于响应于用户输入的数据,对客户端进行连接参数配置;
请求构造模块,用于根据解析模块提取获得的目的地址,构建HTTP请求;
TCP连接管理模块,用于检测客户端的本地连接池中是否存在到该目的地址的TCP连接,若是,获取该TCP连接,反之,创建到该目的地址的TCP连接并存储到本地连接池中,并在检测到通过该TCP连接发送HTTP请求时,将该TCP连接的使用次数加1,同时根据TCP连接的使用状态对其进行赋值;
请求发送模块,用于通过TCP连接管理模块获取或创建的TCP连接发送HTTP请求;
响应读取模块,用于通过该TCP连接接收服务器端返回的HTTP响应消息,并实时解析获得媒体数据后发送到播放器进行播放。
CN201510822438.2A 2015-11-23 2015-11-23 一种互联网电视内容请求的连接复用方法及系统 Active CN105471869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510822438.2A CN105471869B (zh) 2015-11-23 2015-11-23 一种互联网电视内容请求的连接复用方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510822438.2A CN105471869B (zh) 2015-11-23 2015-11-23 一种互联网电视内容请求的连接复用方法及系统

Publications (2)

Publication Number Publication Date
CN105471869A true CN105471869A (zh) 2016-04-06
CN105471869B CN105471869B (zh) 2019-05-21

Family

ID=55609139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510822438.2A Active CN105471869B (zh) 2015-11-23 2015-11-23 一种互联网电视内容请求的连接复用方法及系统

Country Status (1)

Country Link
CN (1) CN105471869B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183854A (zh) * 2018-03-16 2018-06-19 北京邦邦共赢网络科技有限公司 一种实现消息回执方法及装置
CN108600281A (zh) * 2017-03-16 2018-09-28 杭州海康威视数字技术股份有限公司 一种云存储系统、媒体数据存储方法及系统
CN109413453A (zh) * 2018-10-19 2019-03-01 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN109729176A (zh) * 2019-01-22 2019-05-07 厦门美图之家科技有限公司 网络请求方法及装置
CN110267053A (zh) * 2019-06-27 2019-09-20 广州酷狗计算机科技有限公司 直播方法、装置及系统
CN110839020A (zh) * 2019-10-25 2020-02-25 网联清算有限公司 安全服务调用方法和安全服务调用系统
WO2020077832A1 (zh) * 2018-10-16 2020-04-23 平安科技(深圳)有限公司 云桌面的访问方法、装置、设备及存储介质
CN111181754A (zh) * 2018-11-13 2020-05-19 浙江宇视科技有限公司 海量设备管理方法、装置及计算机可读存储介质
CN111356017A (zh) * 2018-12-24 2020-06-30 浙江宇视科技有限公司 一种视频监控网络设备保活方法及装置
CN112311835A (zh) * 2019-08-02 2021-02-02 杭州海康威视数字技术股份有限公司 安检分析数据传输方法、系统、安检分析仪及客户端设备
CN112689008A (zh) * 2020-12-23 2021-04-20 百果园技术(新加坡)有限公司 网络连接池管理方法、装置、设备和存储介质
CN112818336A (zh) * 2020-12-28 2021-05-18 深圳市金微蓝技术有限公司 一种数据访问方法、数据访问装置及计算机可读存储介质
CN113395355A (zh) * 2021-07-06 2021-09-14 上海通联金融服务有限公司 复数长连接双通道后台的报文转接系统
CN113992731A (zh) * 2021-11-02 2022-01-28 四川安迪科技实业有限公司 基于stomp协议的异常控制方法及装置
CN117729260A (zh) * 2023-03-27 2024-03-19 行吟信息科技(上海)有限公司 请求发送方法、客户端、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148328A1 (en) * 2002-09-19 2004-07-29 Hiroyuki Matsushima Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses
CN101309233A (zh) * 2008-06-04 2008-11-19 腾讯科技(深圳)有限公司 实现即时通讯tcp连接复用的方法
CN102055771A (zh) * 2011-01-24 2011-05-11 上海红神信息技术有限公司 面向云服务的多并发业务流控制装置及控制方法
CN102333081A (zh) * 2011-08-03 2012-01-25 北京星网锐捷网络技术有限公司 认证方法、设备及系统
CN102694864A (zh) * 2012-05-30 2012-09-26 安科智慧城市技术(中国)有限公司 利用http协议实现流媒体功能的方法、流媒体服务器及系统
CN103023987A (zh) * 2012-11-27 2013-04-03 蓝盾信息安全技术股份有限公司 一种基于tcp连接的多路复用的方法
CN103457956A (zh) * 2013-09-17 2013-12-18 网宿科技股份有限公司 基于多条tcp连接的http流媒体直播方法和系统
CN103905924A (zh) * 2012-12-28 2014-07-02 联芯科技有限公司 终端侧的视频自适应接收方法和装置
CN104113564A (zh) * 2013-04-17 2014-10-22 中国移动通信集团公司 超文本传输协议连接复用方法、设备、系统及终端
CN104283957A (zh) * 2014-10-13 2015-01-14 无锡云捷科技有限公司 基于持续连接机制的cdn缓存方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148328A1 (en) * 2002-09-19 2004-07-29 Hiroyuki Matsushima Communication system implementing a plurality of communication apparatuses as communication client and communication server for exchanging operation requests and operation responses
CN101309233A (zh) * 2008-06-04 2008-11-19 腾讯科技(深圳)有限公司 实现即时通讯tcp连接复用的方法
CN102055771A (zh) * 2011-01-24 2011-05-11 上海红神信息技术有限公司 面向云服务的多并发业务流控制装置及控制方法
CN102333081A (zh) * 2011-08-03 2012-01-25 北京星网锐捷网络技术有限公司 认证方法、设备及系统
CN102694864A (zh) * 2012-05-30 2012-09-26 安科智慧城市技术(中国)有限公司 利用http协议实现流媒体功能的方法、流媒体服务器及系统
CN103023987A (zh) * 2012-11-27 2013-04-03 蓝盾信息安全技术股份有限公司 一种基于tcp连接的多路复用的方法
CN103905924A (zh) * 2012-12-28 2014-07-02 联芯科技有限公司 终端侧的视频自适应接收方法和装置
CN104113564A (zh) * 2013-04-17 2014-10-22 中国移动通信集团公司 超文本传输协议连接复用方法、设备、系统及终端
CN103457956A (zh) * 2013-09-17 2013-12-18 网宿科技股份有限公司 基于多条tcp连接的http流媒体直播方法和系统
CN104283957A (zh) * 2014-10-13 2015-01-14 无锡云捷科技有限公司 基于持续连接机制的cdn缓存方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王新良: "《计算机网络》", 30 September 2014, 北京:机械工业出版社 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600281A (zh) * 2017-03-16 2018-09-28 杭州海康威视数字技术股份有限公司 一种云存储系统、媒体数据存储方法及系统
CN108600281B (zh) * 2017-03-16 2021-12-31 杭州海康威视数字技术股份有限公司 一种云存储系统、媒体数据存储方法及系统
CN108183854A (zh) * 2018-03-16 2018-06-19 北京邦邦共赢网络科技有限公司 一种实现消息回执方法及装置
WO2020077832A1 (zh) * 2018-10-16 2020-04-23 平安科技(深圳)有限公司 云桌面的访问方法、装置、设备及存储介质
CN109413453B (zh) * 2018-10-19 2021-08-27 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN109413453A (zh) * 2018-10-19 2019-03-01 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN111181754A (zh) * 2018-11-13 2020-05-19 浙江宇视科技有限公司 海量设备管理方法、装置及计算机可读存储介质
CN111356017A (zh) * 2018-12-24 2020-06-30 浙江宇视科技有限公司 一种视频监控网络设备保活方法及装置
CN109729176A (zh) * 2019-01-22 2019-05-07 厦门美图之家科技有限公司 网络请求方法及装置
CN110267053A (zh) * 2019-06-27 2019-09-20 广州酷狗计算机科技有限公司 直播方法、装置及系统
CN112311835A (zh) * 2019-08-02 2021-02-02 杭州海康威视数字技术股份有限公司 安检分析数据传输方法、系统、安检分析仪及客户端设备
WO2021078072A1 (zh) * 2019-10-25 2021-04-29 网联清算有限公司 安全服务调用方法和安全服务调用系统
CN110839020A (zh) * 2019-10-25 2020-02-25 网联清算有限公司 安全服务调用方法和安全服务调用系统
CN112689008A (zh) * 2020-12-23 2021-04-20 百果园技术(新加坡)有限公司 网络连接池管理方法、装置、设备和存储介质
CN112818336A (zh) * 2020-12-28 2021-05-18 深圳市金微蓝技术有限公司 一种数据访问方法、数据访问装置及计算机可读存储介质
CN113395355A (zh) * 2021-07-06 2021-09-14 上海通联金融服务有限公司 复数长连接双通道后台的报文转接系统
CN113992731A (zh) * 2021-11-02 2022-01-28 四川安迪科技实业有限公司 基于stomp协议的异常控制方法及装置
CN113992731B (zh) * 2021-11-02 2024-04-30 四川安迪科技实业有限公司 基于stomp协议的异常控制方法及装置
CN117729260A (zh) * 2023-03-27 2024-03-19 行吟信息科技(上海)有限公司 请求发送方法、客户端、电子设备及存储介质

Also Published As

Publication number Publication date
CN105471869B (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN105471869A (zh) 一种互联网电视内容请求的连接复用方法及系统
CN103581699B (zh) 视频播放方法、流媒体服务器及流媒体播放系统
US9674252B2 (en) System and method for efficient delivery of repetitive multimedia content
CN101755261B (zh) 辅助对等媒体流传送
US8064479B2 (en) Methods and system for efficient data transfer over hybrid fiber coax infrastructure
CN103986942A (zh) 基于cdn网络的数据分发系统及方法
CN106911502B (zh) 一种智能家庭网关设备的升级方法及系统
US20130219441A1 (en) Method, server and terminal for audio and video on demand
US20150046568A1 (en) Method and system for playing multicast over-the-top (ott) content streams
CN103457956B (zh) 基于多条tcp连接的http流媒体直播方法和系统
EP1806870B1 (en) Method for providing data and data transmission system
CN105530553A (zh) Rtmp与rudp结合的实时流媒体直播系统
CN101179480B (zh) 一种转发流媒体的方法
CN110113662A (zh) 一种适应多种网络状况的视频监控客户端系统
CN112367527A (zh) 一种传送流文件生成方法、装置、设备及存储介质
CN106658065B (zh) 音视频同步方法、装置及系统
CN103731684A (zh) 一种点播到直播的视频切换方法、设备及系统
CN107920072A (zh) 一种基于数据特征的多媒体共享方法及系统
CN108271083A (zh) 一种媒体处理架构及方法
CN102439946B (zh) 数据传输方法和设备
CN106790030B (zh) 多屏协同音频传输服务端、客户端、系统及其处理方法
US20230224548A1 (en) Streaming Assistance System and Computer-Implemented Method
CN101094159B (zh) 一种媒体流私网穿透的方法
CN105872779A (zh) 清鹤数字电视头端获取电信清流的应用软件
CN115334068A (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
GR01 Patent grant
GR01 Patent grant