CN106534073A - 流媒体信息的获取方法及装置 - Google Patents
流媒体信息的获取方法及装置 Download PDFInfo
- Publication number
- CN106534073A CN106534073A CN201610899299.8A CN201610899299A CN106534073A CN 106534073 A CN106534073 A CN 106534073A CN 201610899299 A CN201610899299 A CN 201610899299A CN 106534073 A CN106534073 A CN 106534073A
- Authority
- CN
- China
- Prior art keywords
- information
- server
- client
- streaming media
- network address
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流媒体信息的获取方法及装置,属于流媒体技术领域。所述方法包括:指定服务器与第一客户端建立第一网络连接;当指定服务器接收到第一客户端发送的流媒体信息获取请求时,获取第一流媒体服务器的网络地址信息,然后向第一流媒体服务器发送指定状态数据转移包;当指定服务器接收到第一流媒体服务器发送的状态数据转移成功信息后,向第一流媒体服务器发送用于获取流媒体信息的后序请求,使第一流媒体服务器向第一客户端发送该流媒体信息。通过该流媒体信息的获取方法,无需第一客户端先获取第一流媒体服务器的网络地址信息,然后才能从第一流媒体服务器处获取该流媒体信息,从而提高了获取该流媒体信息的速度。
Description
技术领域
本发明涉及流媒体技术领域,特别涉及一种流媒体信息的获取方法及装置。
背景技术
流媒体技术是指以数据流的形式通过网络获取流媒体信息,并在获取的过程中,可以播放已经获取的部分流媒体信息。因此,通过流媒体技术可以在获取流媒体信息的同时来播放流媒体信息,提高了播放流媒体信息的响应速度。
目前,流媒体信息的获取方法主要为:客户端向调度服务器发送流媒体信息获取请求,该流媒体信息获取请求中携带流媒体信息的标识,当该调度服务器在接收到流媒体信息获取请求时,根据该流媒体信息的标识,获取当前用于提供该流媒体信息的流媒体服务器的网络地址信息,并将该流媒体服务器的网络地址信息发送给客户端。当客户端接收到该流媒体服务器的网络地址信息时,根据该网络地址信息,向该流媒体服务器发送流媒体信息获取请求,当该流媒体服务器接收到该流媒体信息获取请求时,向客户端发送该流媒体信息。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:由于在客户端想要获取某个流媒体信息时,需要先通过上述调度服务器获取流媒体服务器的网络地址信息,然后才能从该流媒体服务器处获取该流媒体信息,操作比较复杂,且通过上述调度服务器获取流媒体服务器的网络地址信息的耗时较长,通常在100ms以上,因此,降低了获取该流媒体信息的速度。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种流媒体信息的获取方法。所述技术方案如下:
第一方面,提供了一种流媒体信息的获取方法,所述方法包括:
当接收到第一客户端发送的网络连接请求时,对所述网络连接请求进行处理,以建立与所述第一客户端之间的第一网络连接;
当通过所述第一网络连接接收到所述第一客户端发送的流媒体信息获取请求时,根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,所述第一流媒体服务器为当前用于提供所述流媒体信息的服务器;
根据所述第一流媒体服务器的网络地址信息,向所述第一流媒体服务器发送指定状态数据转移包,所述指定状态数据转移包包括所述第一客户端的网络地址信息和用于接收所述流媒体信息获取请求的第一网络连接的发送序列号;
当接收到所述第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取所述流媒体信息的后序请求给所述第一流媒体服务器,使所述第一流媒体服务器向所述第一客户端发送所述流媒体信息。
可选地,所述根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,包括:
根据所述流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,所述第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系;
如果查找到,则将查找到的网络地址信息确定为所述第一流媒体服务器的网络地址信息;
如果没有查找到,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的流媒体服务器的网络地址信息确定为所述第一流媒体服务器的网络地址信息,所述流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和所述多个流媒体服务器的负载信息。
可选地,所述根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息之后,还包括:
将所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,所述第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
可选地,所述方法还包括:
当接收到所述第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系;
记录所述第一流媒体服务器的网络地址信息,并将所述第二映射表中所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系删除;
判断所述第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系;
如果判断结果为否,则从存储的第一映射表中,获取所述流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系;
对获取的对应关系设置第一计时时间,如果所述第一计时时间到达且在所述第一计时时间内第二客户端未获取所述流媒体信息,则将获取的对应关系从所述第一映射表中删除,所述第二客户端为除所述第一客户端之外的其他客户端。
可选地,所述发送用于获取所述流媒体信息的后序请求给所述第一流媒体服务器之后,还包括:
当接收到所述第一客户端发送的流媒体数据包时,向所述第一流媒体服务器转发所述流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
第二方面,提供了一种流媒体信息的获取方法,所述方法包括:
接收指定服务器发送的指定状态数据转移包,所述指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,所述第一客户端为用于通过所述第一网络连接和所述指定服务器获取流媒体信息的客户端,所述第一网络连接为所述第一客户端与所述指定服务器之间建立的网络连接;
根据所述指定状态数据转移包,创建与所述指定服务器之间的第二网络连接,并将所述第二网络连接中的源网络地址信息修改为所述第一客户端的网络地址信息,将所述第二网络连接的发送序列号修改为所述第一网络连接的发送序列号;
根据源网络地址信息和发送序列号修改后的第二网络连接,向所述指定服务器发送状态数据转移成功信息;
当接收到所述指定服务器基于所述状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求时,向所述第一客户端发送所述流媒体信息。
可选地,所述指定服务器包括Linux虚拟服务器LVS。
可选地,所述向所述第一客户端发送所述流媒体信息,包括:
根据所述后序请求中携带的所述流媒体信息的标识,查找所述流媒体信息;
如果查找到所述流媒体信息,则向所述第一客户端发送所述流媒体信息;
如果没有查找到所述流媒体信息,则从数据中心中获取所述流媒体信息,并向所述第一客户端发送所述流媒体信息。
可选地,所述接收所述指定服务器基于所述状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求之后,还包括:
接收所述指定服务器转发的流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
可选地,所述接收所述指定服务器转发的流媒体数据包之后,还包括:
当所述流媒体数据包包括停止获取所述流媒体信息指令时,设置第二计时时间;
当所述第二计时时间到达且在所述第二计时时间内没有客户端获取所述流媒体信息时,停止从所述数据中心中获取所述流媒体信息。
第三方面,提供了一种流媒体信息的获取装置,所述装置包括:
建立模块,用于当接收到第一客户端发送的网络连接请求时,对所述网络连接请求进行处理,以建立与所述第一客户端之间的第一网络连接;
第一获取模块,用于当通过所述第一网络连接接收到所述第一客户端发送的流媒体信息获取请求时,根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,所述第一流媒体服务器为当前用于提供所述流媒体信息的服务器;
第一发送模块,用于根据所述第一流媒体服务器的网络地址信息,向所述第一流媒体服务器发送指定状态数据转移包,所述指定状态数据转移包包括所述第一客户端的网络地址信息和用于接收所述流媒体信息获取请求的第一网络连接的发送序列号;
第二发送模块,用于当接收到所述第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取所述流媒体信息的后序请求给所述第一流媒体服务器,使所述第一流媒体服务器向所述第一客户端发送所述流媒体信息。
可选地,所述第一获取模块包括:
查找单元,用于根据所述流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,所述第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系;
第一确定单元,用于如果查找到,则将查找到的网络地址信息确定为所述第一流媒体服务器的网络地址信息;
第二确定单元,用于如果没有查找到,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的流媒体服务器的网络地址信息确定为所述第一流媒体服务器的网络地址信息,所述流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和所述多个流媒体服务器的负载信息。
可选地,所述装置还包括:
存储模块,用于将所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,所述第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
可选地,所述装置还包括:
查找模块,用于当接收到所述第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系;
第一删除模块,用于记录所述第一流媒体服务器的网络地址信息,并将所述第二映射表中所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系删除;
判断模块,用于判断所述第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系;
第二获取模块,用于如果判断结果为否,则从存储的第一映射表中,获取所述流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系;
第二删除模块,用于对获取的对应关系设置第一计时时间,如果所述第一计时时间到达且在所述第一计时时间内第二客户端未获取所述流媒体信息,则将获取的对应关系从所述第一映射表中删除,所述第二客户端为除所述第一客户端之外的其他客户端。
可选地,所述装置还包括:
转发模块,用于当接收到所述第一客户端发送的流媒体数据包时,向所述第一流媒体服务器转发所述流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
第四方面,提供了一种流媒体信息的获取装置,所述装置包括:
第一接收模块,用于接收指定服务器发送的指定状态数据转移包,所述指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,所述第一客户端为用于通过所述第一网络连接和所述指定服务器获取流媒体信息的客户端,所述第一网络连接为所述第一客户端与所述指定服务器之间建立的网络连接;
创建模块,用于根据所述指定状态数据转移包,创建与所述指定服务器之间的第二网络连接,并将所述第二网络连接中的源网络地址信息修改为所述第一客户端的网络地址信息,将所述第二网络连接的发送序列号修改为所述第一网络连接的发送序列号;
第一发送模块,用于根据源网络地址信息和发送序列号修改后的第二网络连接,向所述指定服务器发送状态数据转移成功信息;
第二发送模块,用于当接收到所述指定服务器基于所述状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求时,向所述第一客户端发送所述流媒体信息。
可选地,所述指定服务器包括Linux虚拟服务器LVS。
可选地,所述第二发送模块,包括:
查找单元,用于根据所述后序请求中携带的所述流媒体信息的标识,查找所述流媒体信息;
第一发送单元,用于如果查找到所述流媒体信息,则向所述第一客户端发送所述流媒体信息;
第二发送单元,用于如果没有查找到所述流媒体信息,则从数据中心中获取所述流媒体信息,并向所述第一客户端发送所述流媒体信息。
可选地,所述装置还包括:
第二接收模块,用于接收所述指定服务器转发的流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
可选地,所述装置还包括:
设置模块,用于当所述流媒体数据包包括停止获取所述流媒体信息指令时,设置第二计时时间;
停止模块,用于当所述第二计时时间到达且在所述第二计时时间内没有客户端获取所述流媒体信息时,停止从所述数据中心中获取所述流媒体信息。
本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,第一客户端向指定服务器发送流媒体信息获取请求,当指定服务器接收到该流媒体信息获取请求时,获取第一流媒体服务器的网络地址信息,根据第一流媒体服务器的网络地址信息向第一流媒体服务器发送用于获取该流媒体信息的后序请求,然后第一流媒体服务器直接向第一客户端发送该流媒体信息,无需第一客户端先获取第一流媒体服务器的网络地址信息,然后才能从第一流媒体服务器处获取该流媒体信息,从而提高了获取该流媒体信息的速度。同时,由于指定服务器和第一客户端之间建立的第一网络连接是通过三次握手过程实现的,而指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,因此指定服务器和第一流媒体服务器可以不经过三次握手过程,直接建立第二网络连接,减少了建立第二网络连接的时间,从而提高了获取该流媒体信息的速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种流媒体信息的获取系统框图;
图2是本发明实施例提供的一种流媒体信息的获取方法流程图;
图3是本发明实施例提供的另一种流媒体信息的获取方法流程图;
图4是本发明实施例提供的另一种流媒体信息的获取方法流程图;
图5A是本发明实施例提供的一种流媒体信息的获取装置框图;
图5B是本发明实施例提供的一种第一获取模块的装置框图;
图5C是本发明实施例提供的另一种流媒体信息的获取装置框图;
图5D是本发明实施例提供的另一种流媒体信息的获取装置框图;
图5E是本发明实施例提供的另一种流媒体信息的获取装置框图;
图6A是本发明实施例提供的另一种流媒体信息的获取装置框图;
图6B是本发明实施例提供的一种第二发送模块的装置框图;
图6C是本发明实施例提供的另一种流媒体信息的获取装置框图;
图6D是本发明实施例提供的另一种流媒体信息的获取装置框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种流媒体信息的获取系统框图,如图1所示,该流媒体信息的获取系统包括第一客户端101、第二客户端102、指定服务器103、第一流媒体服务器104、第二流媒体服务器105和数据中心106。其中,第一客户端101为向指定服务器102发送流媒体信息获取请求的客户端,第二客户端102为除第一客户端之外的其他客户端。第一流媒体服务器104为当前用于提供该流媒体信息的服务器,第二流媒体服务器105为除第一流媒体服务器104之外的其他流媒体服务器。第一流媒体服务器104和第二流媒体服务器105共享一个数据中心106。
通过图1所示的流媒体信息的获取系统获取流媒体信息的过程可以为:第一客户端101向指定服务器103发送流媒体信息获取请求,指定服务器103基于该流媒体信息获取请求向第一流媒体服务器104发送用于获取该流媒体信息的后序请求,然后第一流媒体服务器104直接向第一客户端101发送该流媒体信息。
图2是本发明实施例提供的一种流媒体信息的获取方法流程图,该流媒体信息的获取方法用于指定服务器中,该指定服务器包括Linux虚拟服务器LVS,如图2所示,该方法包括:
步骤201:当接收到第一客户端发送的网络连接请求时,对该网络连接请求进行处理,以建立与第一客户端之间的第一网络连接。
步骤202:当通过第一网络连接接收到第一客户端发送的流媒体信息获取请求时,根据该流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,该第一流媒体服务器为当前用于提供该流媒体信息的服务器。
步骤203:根据第一流媒体服务器的网络地址信息,向第一流媒体服务器发送指定状态数据转移包,该指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号。
步骤204:当接收到第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取流媒体信息的后序请求给第一流媒体服务器,使第一流媒体服务器向第一客户端发送该流媒体信息。
在本发明实施例中,指定服务器接收第一客户端发送的流媒体信息获取请求,获取第一流媒体服务器的网络地址信息,然后根据第一流媒体服务器的网络地址信息向第一流媒体服务器发送用于获取该流媒体信息的后序请求,使第一流媒体服务器直接向第一客户端发送该流媒体信息,无需第一客户端先获取第一流媒体服务器的网络地址信息,然后才能从第一流媒体服务器处获取该流媒体信息,从而提高了获取该流媒体信息的速度。
可选地,根据流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,包括:
根据该流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,该第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系;
如果查找到,则将查找到的网络地址信息确定为第一流媒体服务器的网络地址信息;
如果没有查找到,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的该流媒体服务器的网络地址信息确定为第一流媒体服务器的网络地址信息,该流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和该多个流媒体服务器的负载信息。
可选地,根据该流媒体信息获取请求携带的该流媒体信息的标识,获取第一流媒体服务器的网络地址信息之后,还包括:
将第一客户端的网络地址信息和第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,该第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
可选地,该方法还包括:
当接收到第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找第一客户端的网络地址信息和第一流媒体服务器的网络地址信息的对应关系;
记录第一流媒体服务器的网络地址信息,并将第二映射表中第一客户端的网络地址信息和第一流媒体服务器的网络地址信息的对应关系删除;
判断第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系;
如果判断结果为否,则从存储的第一映射表中,获取该流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系;
对获取的对应关系设置第一计时时间,如果第一计时时间到达且在第一计时时间内第二客户端未获取该流媒体信息,则将获取的对应关系从第一映射表中删除,第二客户端为除第一客户端之外的其他客户端。
可选地,发送用于获取该流媒体信息的后序请求给第一流媒体服务器之后,还包括:
当接收到第一客户端发送的流媒体数据包时,向第一流媒体服务器转发该流媒体数据包,该流媒体数据包包括创建该流媒体信息的指令、播放该流媒体信息的指令、查看该流媒体信息的进度指令和停止获取该流媒体信息指令中的至少一个。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图3是本发明实施例提供的另一种流媒体信息的获取方法流程图,该流媒体信息的获取方法用于第一流媒体服务器中,第一流媒体服务器为当前用于提供流媒体信息的服务器。如图3所示,该方法包括:
步骤301:接收指定服务器发送的指定状态数据转移包,该指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,该第一客户端为用于通过第一网络连接和指定服务器获取流媒体信息的客户端,该第一网络连接为第一客户端与指定服务器之间建立的网络连接。
步骤302:根据指定状态数据转移包,创建与指定服务器之间的第二网络连接,并将该第二网络连接中的源网络地址信息修改为第一客户端的网络地址信息,将第二网络连接的发送序列号修改为第一网络连接的发送序列号。
步骤303:根据源网络地址信息和发送序列号修改后的第二网络连接,向指定服务器发送状态数据转移成功信息。
步骤304:当接收到指定服务器基于状态数据转移成功信息发送的用于获取该流媒体信息的后序请求时,向第一客户端发送该流媒体信息。
在本发明实施例中,当第一流媒体服务器接收指定状态数据转移包时,与指定服务器建立第二网络连接;然后向指定服务器发送状态数据转移成功信息;然后接收指定服务器基于该状态数据转移成功信息发送用于获取该流媒体信息的后序请求;第一流媒体服务器在接收到该后序请求时,向第一客户端发送该流媒体信息。由于指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,因此指定服务器和第一流媒体服务器可以不经过三次握手过程,直接建立第二网络连接,减少了建立该第二网络连接的时间,从而提高了获取该流媒体信息的速度。
可选地,指定服务器包括Linux虚拟服务器LVS。
可选地,向第一客户端发送该流媒体信息,包括:
根据后序请求中携带的该流媒体信息的标识,查找该流媒体信息;
如果查找到该流媒体信息,则向第一客户端发送该流媒体信息;
如果没有查找到该流媒体信息,则从数据中心中获取该流媒体信息,并向第一客户端发送该流媒体信息。
可选地,接收指定服务器基于状态数据转移成功信息发送的用于获取该流媒体信息的后序请求之后,还包括:
接收指定服务器转发的流媒体数据包,该流媒体数据包包括创建该流媒体信息的指令、播放该流媒体信息的指令、查看该流媒体信息的进度指令和停止获取该流媒体信息指令中的至少一个。
可选地,接收指定服务器转发的流媒体数据包之后,还包括:
当该流媒体数据包包括停止获取该流媒体信息指令时,设置第二计时时间;
当该第二计时时间到达且在第二计时时间内没有客户端获取该流媒体信息时,停止从数据中心中获取该流媒体信息。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图4是本发明实施例提供的另一种流媒体信息的获取方法流程图,该方法用于如图1所示的流媒体信息的获取系统中,如图4所示,该流媒体信息的获取方法包括:
步骤401:当指定服务器接收到第一客户端发送的网络连接请求时,对该网络连接请求进行处理,以建立指定服务器与第一客户端之间的第一网络连接。
在本发明实施例中,指定服务器可以包括LVS(Linux Virtual Server,Linux虚拟服务器),为了后续便于说明,以LVS为例对指定服务器的架构以及功能进行介绍。
LVS是指采用负载均衡技术将一组服务器构成一个高性能的虚拟服务器,其中,虚拟服务器也称为LVS调度器,一组服务器也即一组真实的服务器,一组真实的服务器共享一个存储空间和存储内容一致的存储区域,也即数据中心。LVS、一组真实的服务器和数据中心一起构成LVS集群系统。
当互联网用户向LVS发起请求时,LVS将该请求均衡的转移到一组真实的服务器上。由于LVS工作在网络4层之上,仅作分发之用,没有流量的产生,这个特点也决定了LVS在负载均衡软件里是性能最强的,且对内存和CPU(Central Processing Unit,中央处理器)资源消耗比较低。
另外,第一客户端为需要获取流媒体信息的客户端,当第一客户端需要获取某个流媒体信息时,需要先向LVS发送网络连接请求,该网络连接请求包括TCP(TransmissionControl Protocol,传输控制协议)连接和socket(套接字)连接等,本发明实施例对此不做具体限定,其中,第一网络连接以TCP连接为例说明。
需要说明的是,当LVS接收到第一客户端发送的TCP连接请求时,LVS也会接收到第一客户端发送的流媒体信息数据包,在本发明实施例中,LVS先不将该流媒体信息数据包转移到一组服务器上,而是由LVS先处理该TCP连接,建立第一客户端和LVS之间的TCP连接。
其中,LVS处理该TCP连接,建立第一客户端和LVS之间的TCP连接是通过三次握手过程实现的,该三次握手过程为:第一客户端向LVS发送TCP连接请求;LVS收到该TCP连接请求时,向第一客户端发送确认收到该TCP连接请求指令;第一客户端接收到LVS发送的确认收到该TCP连接请求指令时,向LVS发送确认指令,该确认指令用于提示LVS第一客户端已经接收到LVS发送的确认收到该TCP连接请求指令。至此,三次握手过程完成,LVS和第一客户端之间建立了TCP连接,也即指定服务器和第一客户端之间建立了第一网络连接。
步骤402:当指定服务器通过第一网络连接接收到第一客户端发送的流媒体信息获取请求时,根据该流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,该第一流媒体服务器为当前用于提供该流媒体信息的服务器。
在本发明实施例中,当指定服务器和第一客户端建立了第一网络连接之后,第一客户端会向指定服务器发送流媒体信息获取请求,该流媒体信息获取请求携带该流媒体信息的标识,该流媒体信息的标识可以为该流媒体信息的名称等,本发明实施例在此不做限定。
其中,指定服务器根据流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息可以通过以下两个步骤实现:
(1)根据流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,该第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系。
(2)根据查找的结果,确定第一流媒体服务器的网络地址信息,该第一流媒体服务器为当前用于提供该流媒体信息的服务器。
具体地,如果查找到与该流媒体信息的标识对应的服务器的网络地址信息,则将查找到的网络地址信息确定为第一流媒体服务器的网络地址信息。
如果没有查找到与该流媒体信息的标识对应的服务器的网络地址信息,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的流媒体服务器的网络地址信息确定为第一流媒体服务器的网络地址信息,该流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和多个流媒体服务器的负载信息。
例如,该流媒体信息获取请求中携带该流媒体信息的名称A1,在指定服务器LVS中存储有第一映射表。表1是本发明实施例提供的一种第一映射表,如表1所示,在该第一映射表中,存储有流媒体信息的名称和服务器的网络地址信息之间的对应关系,如名称为A1的流媒体信息对应的服务器的网络地址信息为B1、名称为A2的流媒体信息对应的服务器的网络地址信息为B2、名称为A3的流媒体信息对应的服务器的网络地址信息为B3。因此,根据该流媒体信息的名称A1,从第一映射表中查找与该流媒体信息的名称A1对应的服务器的网络地址信息为B1,将B1作为第一流媒体服务器的网络地址信息。
表1第一映射表
流媒体信息的名称 | 服务器的网络地址信息 |
A1 | B1 |
A2 | B2 |
A3 | B3 |
… | … |
如果从第一映射表中没有查找到该流媒体信息的名称A1对应的服务器的网络地址信息,在LVS中,存储有流媒体服务器列表,该流媒体服务器列表存储有当前LVS所连接的多个流媒体服务器的网络地址信息和该多个流媒体服务器的负载信息,然后从该多个流媒体服务器的负载信息中,获取负载最轻的流媒体服务器,并将该负载最轻的服务器的网络地址信息确定为第一流媒体服务器的网络地址信息。
可选地,指定服务器在获取第一流媒体服务器的网络地址信息之后,指定服务器可以将第一客户端的网络地址信息和第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,该第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
例如,表2是本发明实施例提供的一种第二映射表,该第二映射表中包括客户端的网络地址信息和流媒体服务器的网络地址信息之间的对应关系,如表2所示,网络地址信息为C1的客户端对应的流媒体服务器的网络地址信息为D1、网络地址信息为C2的客户端对应的流媒体服务器的网络地址信息为D2、网络地址信息为C3的客户端对应的流媒体服务器的网络地址信息为D3。
表2第二映射表
客户端的网络地址信息 | 流媒体服务器的网络地址信息 |
C1 | D1 |
C2 | D2 |
C3 | D3 |
… | … |
例如,第一客户端的网络地址信息为C4,通过上述步骤,指定服务器LVS获取到第一流媒体服务器的网络地址信息为D4,此时LVS将第一流媒体服务器的网络地址信息D4和第一客户端的网络地址信息C4之间的对应关系存储到第二映射表中。
步骤403:指定服务器根据第一流媒体服务器的网络地址信息,向第一流媒体服务器发送指定状态数据转移包,该指定状态数据转移包包括第一客户端的网络地址信息和用于接收该流媒体信息获取请求的第一网络连接的发送序列号。
在本发明实施例中,当指定服务器和第一流媒体服务器建立网络连接时,该第一流媒体服务器并不清楚哪个客户端需要获取该流媒体信息,因此,指定服务器需要向第一流媒体服务器发送指定状态数据转移包,该指定状态数据转移包包括第一客户端的网络地址信息和用于接收该流媒体信息获取请求的第一网络连接的发送序列号。
其中,指定状态数据转移包可以为TCP/IP(Internet Protocol,网际协议)状态数据转移包。
在本发明实施例中,指定服务器和第一流媒体服务器之间数据传输可以通过超时重传、快速重传、流量控制及拥塞控制等多种途径进行,本发明实施例对此不做具体限定。在本发明实施例中,以超时重传为例对指定服务器和第一流媒体服务器之间的数据传输进行说明。
例如,当指定服务器如LVS向第一流媒体服务器发送TCP/IP状态数据转移包之后,设置计时时间,然后等待结果。如果计时时间到达,没有接收到第一流媒体服务器发送的确认信息,则重新发送,并记录发送次数为2,该确认信息用于表明第一流媒体服务器接收到LVS发送的TCP/IP状态数据转移包;如果计时时间再次达到,LVS仍没有接收到确认信息,仍重新发送,并记录发送次数为3。以此类推,当发送次数超过指定次数阈值时,LVS仍然没有接收到确认信息,则发送TCP/IP状态数据转移包失败,否则,则发送TCP/IP状态数据转移包成功。
其中,指定次数阈值为指定服务器如LVS中设置的超时重传的次数阈值,该指定次数阈值可以为5、10、20等等,本发明实施例对此不做具体限定。
步骤404:第一流媒体服务器接收指定服务器发送的指定状态数据转移包。
第一流媒体服务器在接收到指定服务器如LVS发送的指定状态数据转移包之后,向指定服务器发送确认信息,该确认信息用于表明第一流媒体服务器接收到该指定状态数据转移包。
需要说明的是,在第一流媒体服务器向指定服务器发送确认信息之前,第一流媒体服务器需要先和指定服务器之间建立第二网络连接,其中第二网络连接的建立可以通过步骤405实现。
步骤405:第一流媒体服务器根据指定状态数据转移包,创建与指定服务器之间的第二网络连接,并将该第二网络连接中的源网络地址信息修改为第一客户端的网络地址信息,将第二网络连接的发送序列号修改为第一网络连接的发送序列号。
通常情况下,指定服务器和第一流媒体服务器之间的第二网络连接仍然需要通过三次握手过程来实现,在本发明实施例中,为了使指定服务器和第一流媒体服务器之间不需要通过三次握手就建立第二网络连接,可以使第一流媒体服务器事先安装经过修改的网络连接协议栈,该修改过的网络连接协议栈可以使指定服务器和第一流媒体服务器之间不需要通过三次握手就建立第二网络连接。
其中,第二网络连接可以为TCP连接和socket连接等,本发明实施例对此不做具体限定,特别地,以socket连接为例对第二网络连接的过程进行说明。
第一流媒体服务器和指定服务器之间创建socket连接的过程可以为:第一流媒体服务器创建socket,并初始化socket中使用的传输协议的逻辑值,然后对传输协议中的部分逻辑源网络地址信息和socket连接的发送序列号进行修改,其中,将源网络地址信息修改为第一客户端的网络地址信息,将socket连接的发送序列号修改为第一网络连接的发送序列号;然后等待指定服务器如LVS发送socket连接请求;当第一流媒体服务器接收到该socket连接请求时,也即第一流媒体服务器接收到socket接入事件,第一流媒体服务器通过accept函数调用socket接入事件中的socket描述符,也即确认建立源网络地址信息和发送序列号修改后的第二网络连接。
步骤406:第一流媒体服务器根据源网络地址信息和发送序列号修改后的第二网络连接,向指定服务器发送状态数据转移成功信息。
当第二网络连接建立成功后,第一流媒体服务器需要向指定服务器发送状态数据转移成功信息,以便指定服务器进行下一个操作。
步骤407:当指定服务器接收到第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取该流媒体信息的后序请求给第一流媒体服务器。
当指定服务器接收到第一流媒体服务器发送的状态数据转移成功信息后,指定服务器确认与第一流媒体服务器之间的第二网络连接建立成功。然后发送用于获取流媒体信息的后序请求给第一流媒体服务器,该后序请求用于指示第一流媒体服务器向第一客户端发送该流媒体信息。
其中,该后序请求中携带该流媒体信息的标识,该流媒体信息的标识可以为该流媒体信息的名称等,本发明实施例对此不做具体限定。
步骤408:第一流媒体服务器接收该后序请求,并向第一客户端发送该流媒体信息。
在本发明实施例中,步骤408可以为:由于该后序请求中携带该流媒体信息的标识,当第一流媒体服务器接收到该后序请求时,获取该流媒体信息的标识;然后,根据该流媒体信息的标识,查找该流媒体信息;如果查找到该流媒体信息,则向第一客户端发送该流媒体信息;如果没有查找到该流媒体信息,则从数据中心中获取该流媒体信息,并向第一客户端发送该流媒体信息。
进一步,可选地,在第一流媒体服务器接收该后序请求后,还可以接收指定服务器转发的流媒体数据包,该流媒体数据包是由第一客户端向指定服务器发送的,且该流媒体数据包包括创建该流媒体信息的指令、播放该流媒体信息的指令、查看该流媒体信息的进度指令和停止获取该流媒体信息指令中的至少一个,本发明实施例对此不做具体限定。
需要说明的是,在第一流媒体服务器接收到后序请求后,由于第一客户端和指定服务器之间已经建立了第一网络连接,指定服务器和第一流媒体服务器已经建立了第二网络连接,因此指定服务器可以将第一客户端发送的流媒体数据包直接转发给第一流媒体服务器,而无需建立其他的网络连接。
可选地,当该流媒体数据包包括停止获取该流媒体信息指令时,为了避免存在客户端在当前时间之后的较短时间内需要获取该流媒体信息,第一流媒体服务器在接收到该包括停止获取该流媒体信息指令的该流媒体数据包时,设置第二计时时间,当该第二计时时间到达且在第二计时时间内没有客户端获取该流媒体信息时,则停止从数据中心中获取该流媒体信息。
其中,第二计时时间是第一流媒体服务器中设置的计时时间,第一流媒体服务器中该计时时间通常在30ms到1min之间。具体地,该计时时间可以为1s、30s及60s等等,本发明实施例对此不做具体限定。
可选地,本发明实施例还包括步骤409,步骤409为指定服务器断开与第一客户端之间的第一网络连接的过程。
步骤409:当指定服务器接收到第一客户端发送的第一网络连接的断开信息时,断开与第一客户端之间的第一网络连接。
在本发明实施例中,当指定服务器接收到第一客户端发送的第一网络连接的断开信息时,为了避免存在其他客户端正在播放该流媒体信息或者第一客户端在断开第一网络连接之后的较短的时间内需要重新获取该流媒体信息,指定服务器在断开与第一客户端之间的第一网络连接之前还可以进行以下步骤。
(1)当接收到第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找第一客户端的网络地址信息和第一流媒体服务器的网络地址信息的对应关系。
(2)记录第一流媒体服务器的网络地址信息,并将第二映射表中第一客户端的网络地址信息和第一流媒体服务器的网络地址信息的对应关系删除。
(3)判断第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系。
在本发明实施例中,通过判断第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系,来判断是否存在其他客户端通过该指定服务器获取流媒体信息。当判断结果为是时,说明还可能存在其他客户端通过该指定服务器获取该流媒体信息,因此先不断开该第一网络连接。
(4)如果判断结果为否,则从存储的第一映射表中,获取该流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系。
如果判断结果为否,则说明不存在其他客户端通过该指定服务器获取流媒体信息,此时为了避免第一客户端在断开连接之后的较短时间内又需要重新获取该流媒体信息,指定服务器从第一映射表中,获取该流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系,并执行步骤(5)。
(5)对获取的对应关系设置第一计时时间,如果第一计时时间到达且在第一计时时间内第二客户端未获取该流媒体信息,则将获取的对应关系从第一映射表中删除,第二客户端为除第一客户端之外的其他客户端。
其中,第一计时时间是指定服务器中设置的计时时间,该计时时间可以为1s、30s及60s等等,本发明实施例对此不做具体限定。例如,在LVS中,该计时时间通常为30ms到1min之间。
在本发明实施例中,第一客户端向指定服务器发送流媒体信息获取请求,指定服务器根据该流媒体信息获取请求获取第一流媒体服务器的网络地址信息,然后指定服务器根据该第一流媒体服务器的网络地址信息向第一流媒体服务器发送用于获取该流媒体信息的后序请求,然后第一流媒体服务器直接向第一客户端发送该流媒体信息,无需第一客户端先获取第一流媒体服务器的网络地址信息,然后才能从第一流媒体服务器处获取该流媒体信息,从而提高了获取该流媒体信息的速度;同时,由于指定服务器和第一客户端之间建立的第一网络连接是通过三次握手过程实现的,而指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,因此指定服务器和第一流媒体服务器可以不经过三次握手过程,直接建立第二网络连接,减少了建立第二网络连接的时间,从而提高了获取该流媒体信息的速度。
图5A是本发明实施例提供的一种流媒体信息获取的装置500框图,如图5A所示,该装置500包括:建立模块501、第一获取模块502、第一发送模块503和第二发送模块504。
建立模块501,用于当接收到第一客户端发送的网络连接请求时,对该网络连接请求进行处理,以建立与第一客户端之间的第一网络连接;
第一获取模块502,用于当通过第一网络连接接收到第一客户端发送的流媒体信息获取请求时,根据该流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,该第一流媒体服务器为当前用于提供该流媒体信息的服务器;
第一发送模块503,用于根据第一流媒体服务器的网络地址信息,向第一流媒体服务器发送指定状态数据转移包,该指定状态数据转移包包括第一客户端的网络地址信息和用于接收该流媒体信息获取请求的第一网络连接的发送序列号;
第二发送模块504,用于当接收到第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取该流媒体信息的后序请求给第一流媒体服务器,使第一流媒体服务器向第一客户端发送该流媒体信息。
可选地,参见图5B,该第一获取模块502包括查找单元5021、第一确定单元5022和第二确定单元5023。
查找单元5021,用于根据该流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,该第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系;
第一确定单元5022,用于如果查找到,则将查找到的网络地址信息确定为第一流媒体服务器的网络地址信息;
第二确定单元5023,用于如果没有查找到,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的流媒体服务器的网络地址信息确定为第一流媒体服务器的网络地址信息,该流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和多个流媒体服务器的负载信息。
可选地,参见图5C,该装置500还包括存储模块505。
存储模块505,用于将第一客户端的网络地址信息和第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,该第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
可选地,参见图5D,该装置500还包括查找模块506、第一删除模块507、判断模块508、第二获取模块509和第二删除模块510。
查找模块506,用于当接收到第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找第一客户端的网络地址信息和第一流媒体服务器的网络地址信息的对应关系;
第一删除模块507,用于记录第一流媒体服务器的网络地址信息,并将第二映射表中第一客户端的网络地址信息和第一流媒体服务器的网络地址信息的对应关系删除;
判断模块508,用于判断第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系;
第二获取模块509,用于如果判断结果为否,则从存储的第一映射表中,获取该流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系;
第二删除模块510,用于对获取的对应关系设置第一计时时间,如果该第一计时时间到达且在所述第一计时时间内第二客户端未获取该流媒体信息,则将获取的对应关系从所述第一映射表中删除,该第二客户端为除第一客户端之外的其他客户端。
可选地,参见图5E,该装置还包括转发模块511。
转发模块511,用于当接收到第一客户端发送的流媒体数据包时,向第一流媒体服务器转发该流媒体数据包,该流媒体数据包包括创建该流媒体信息的指令、播放该流媒体信息的指令、查看该流媒体信息的进度指令和停止获取该流媒体信息指令中的至少一个。
在本发明实施例中,指定服务器接收第一客户端发送的流媒体信息获取请求,并获取第一流媒体服务器的网络地址信息,然后指定服务器根据第一流媒体服务器的网络地址信息向第一流媒体服务器发送用于获取该流媒体信息的后序请求,使第一流媒体服务器直接向第一客户端发送该流媒体信息,无需第一客户端先获取第一流媒体服务器的网络地址信息,然后才能从第一流媒体服务器处获取该流媒体信息,从而提高了获取该流媒体信息的速度。
图6A是本发明提供的一种流媒体信息获取的装置600框图,如图6A所示,该装置600包括第一接收模块601、创建模块602、第一发送模块603和第二发送模块604。
第一接收模块601,用于接收指定服务器发送的指定状态数据转移包,该指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,该第一客户端为用于通过第一网络连接和指定服务器获取流媒体信息的客户端,该第一网络连接为第一客户端与指定服务器之间建立的网络连接;
创建模块602,用于根据指定状态数据转移包,创建与指定服务器之间的第二网络连接,并将该第二网络连接中的源网络地址信息修改为第一客户端的网络地址信息,将第二网络连接的发送序列号修改为第一网络连接的发送序列号;
第一发送模块603,用于根据源网络地址信息和发送序列号修改后的第二网络连接,向指定服务器发送状态数据转移成功信息;
第二发送模块604,用于当接收到指定服务器基于状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求时,向第一客户端发送该流媒体信息。
可选地,指定服务器包括Linux虚拟服务器LVS。
可选地,参见图6B,第二发送模块604包括查找单元6041、第一发送单元6042和第二发送单元6043。
查找单元6041,用于根据后序请求中携带的该流媒体信息的标识,查找该流媒体信息;
第一发送单元6042,用于如果查找到该流媒体信息,则向第一客户端发送该流媒体信息;
第二发送单元6043,用于如果没有查找到该流媒体信息,则从数据中心中获取该流媒体信息,并向第一客户端发送该流媒体信息。
可选地,参见图6C,该装置600还包括第二接收模块605。
第二接收模块605,用于接收指定服务器转发的流媒体数据包,该流媒体数据包包括创建该流媒体信息的指令、播放该流媒体信息的指令、查看该流媒体信息的进度指令和停止获取该流媒体信息指令中的至少一个。
可选地,参见图6D,该装置600还包括设置模块606和停止模块607。
设置模块606,用于当流媒体数据包包括停止获取该流媒体信息指令时,设置第二计时时间;
停止模块607,用于当该第二计时时间到达且在第二计时时间内没有客户端获取该流媒体信息时,停止从数据中心中获取该流媒体信息。
在本发明实施例中,当第一流媒体服务器接收指定状态数据转移包时,与指定服务器建立第二网络连接;然后向指定服务器发送状态数据转移成功信息;然后接收指定服务器基于该状态数据转移成功信息发送用于获取流媒体信息的后序请求;第一流媒体服务器在接收到该后序请求时,向第一客户端发送该流媒体信息。由于指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,因此指定服务器和第一流媒体服务器可以不经过三次握手过程,直接建立第二网络连接,减少了建立第二网络连接的时间,从而提高了获取该流媒体信息的速度。
需要说明的是:上述实施例提供的流媒体信息的获取的装置在获取流媒体信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的流媒体信息的获取装置与流媒体信息的获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种流媒体信息的获取方法,其特征在于,所述方法包括:
当接收到第一客户端发送的网络连接请求时,对所述网络连接请求进行处理,以建立与所述第一客户端之间的第一网络连接;
当通过所述第一网络连接接收到所述第一客户端发送的流媒体信息获取请求时,根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,所述第一流媒体服务器为当前用于提供所述流媒体信息的服务器;
根据所述第一流媒体服务器的网络地址信息,向所述第一流媒体服务器发送指定状态数据转移包,所述指定状态数据转移包包括所述第一客户端的网络地址信息和用于接收所述流媒体信息获取请求的第一网络连接的发送序列号;
当接收到所述第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取所述流媒体信息的后序请求给所述第一流媒体服务器,使所述第一流媒体服务器向所述第一客户端发送所述流媒体信息。
2.如权利要求1所述的方法,其特征在于,所述根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,包括:
根据所述流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,所述第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系;
如果查找到,则将查找到的网络地址信息确定为所述第一流媒体服务器的网络地址信息;
如果没有查找到,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的流媒体服务器的网络地址信息确定为所述第一流媒体服务器的网络地址信息,所述流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和所述多个流媒体服务器的负载信息。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息之后,还包括:
将所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,所述第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系;
记录所述第一流媒体服务器的网络地址信息,并将所述第二映射表中所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系删除;
判断所述第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系;
如果判断结果为否,则从存储的第一映射表中,获取所述流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系;
对获取的对应关系设置第一计时时间,如果所述第一计时时间到达且在所述第一计时时间内第二客户端未获取所述流媒体信息,则将获取的对应关系从所述第一映射表中删除,所述第二客户端为除所述第一客户端之外的其他客户端。
5.如权利要求1所述的方法,其特征在于,所述发送用于获取所述流媒体信息的后序请求给所述第一流媒体服务器之后,还包括:
当接收到所述第一客户端发送的流媒体数据包时,向所述第一流媒体服务器转发所述流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
6.一种流媒体信息的获取方法,其特征在于,所述方法包括:
接收指定服务器发送的指定状态数据转移包,所述指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,所述第一客户端为用于通过所述第一网络连接和所述指定服务器获取流媒体信息的客户端,所述第一网络连接为所述第一客户端与所述指定服务器之间建立的网络连接;
根据所述指定状态数据转移包,创建与所述指定服务器之间的第二网络连接,并将所述第二网络连接中的源网络地址信息修改为所述第一客户端的网络地址信息,将所述第二网络连接的发送序列号修改为所述第一网络连接的发送序列号;
根据源网络地址信息和发送序列号修改后的第二网络连接,向所述指定服务器发送状态数据转移成功信息;
当接收到所述指定服务器基于所述状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求时,向所述第一客户端发送所述流媒体信息。
7.如权利要求6所述的方法,其特征在于,所述指定服务器包括Linux虚拟服务器LVS。
8.如权利要求6所述的方法,其特征在于,所述向所述第一客户端发送所述流媒体信息,包括:
根据所述后序请求中携带的所述流媒体信息的标识,查找所述流媒体信息;
如果查找到所述流媒体信息,则向所述第一客户端发送所述流媒体信息;
如果没有查找到所述流媒体信息,则从数据中心中获取所述流媒体信息,并向所述第一客户端发送所述流媒体信息。
9.如权利要求6所述的方法,其特征在于,所述接收所述指定服务器基于所述状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求之后,还包括:
接收所述指定服务器转发的流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
10.如权利要求9所述的方法,其特征在于,所述接收所述指定服务器转发的流媒体数据包之后,还包括:
当所述流媒体数据包包括停止获取所述流媒体信息指令时,设置第二计时时间;
当所述第二计时时间到达且在所述第二计时时间内没有客户端获取所述流媒体信息时,停止从所述数据中心中获取所述流媒体信息。
11.一种流媒体信息的获取装置,其特征在于,所述装置包括:
建立模块,用于当接收到第一客户端发送的网络连接请求时,对所述网络连接请求进行处理,以建立与所述第一客户端之间的第一网络连接;
第一获取模块,用于当通过所述第一网络连接接收到所述第一客户端发送的流媒体信息获取请求时,根据所述流媒体信息获取请求携带的流媒体信息的标识,获取第一流媒体服务器的网络地址信息,所述第一流媒体服务器为当前用于提供所述流媒体信息的服务器;
第一发送模块,用于根据所述第一流媒体服务器的网络地址信息,向所述第一流媒体服务器发送指定状态数据转移包,所述指定状态数据转移包包括所述第一客户端的网络地址信息和用于接收所述流媒体信息获取请求的第一网络连接的发送序列号;
第二发送模块,用于当接收到所述第一流媒体服务器发送的状态数据转移成功信息时,发送用于获取所述流媒体信息的后序请求给所述第一流媒体服务器,使所述第一流媒体服务器向所述第一客户端发送所述流媒体信息。
12.如权利要求11所述的装置,其特征在于,所述第一获取模块包括:
查找单元,用于根据所述流媒体信息获取请求携带的流媒体信息的标识,从存储的第一映射表中,查找对应的服务器的网络地址信息,所述第一映射表用于存储流媒体信息标识与服务器的网络地址信息之间的对应关系;
第一确定单元,用于如果查找到,则将查找到的网络地址信息确定为所述第一流媒体服务器的网络地址信息;
第二确定单元,用于如果没有查找到,则从存储的流媒体服务器列表中获取负载最轻的流媒体服务器的网络地址信息,并将获取的流媒体服务器的网络地址信息确定为所述第一流媒体服务器的网络地址信息,所述流媒体服务器列表用于存储当前所连接的多个流媒体服务器的网络地址信息和所述多个流媒体服务器的负载信息。
13.如权利要求11或12所述的装置,其特征在于,所述装置还包括:
存储模块,用于将所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息之间的对应关系存储到第二映射表中,所述第二映射表用于存储客户端的网络地址信息与流媒体服务器的网络地址信息之间的对应关系。
14.如权利要求11所述的装置,其特征在于,所述装置还包括:
查找模块,用于当接收到所述第一客户端发送的第一网络连接的断开信息时,从存储的第二映射表中查找所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系;
第一删除模块,用于记录所述第一流媒体服务器的网络地址信息,并将所述第二映射表中所述第一客户端的网络地址信息和所述第一流媒体服务器的网络地址信息的对应关系删除;
判断模块,用于判断所述第二映射表中是否还存储有客户端的网络地址信息和流媒体服务器的网络地址信息的对应关系;
第二获取模块,用于如果判断结果为否,则从存储的第一映射表中,获取所述流媒体信息的标识与记录的第一流媒体服务器的网络地址信息的对应关系;
第二删除模块,用于对获取的对应关系设置第一计时时间,如果所述第一计时时间到达且在所述第一计时时间内第二客户端未获取所述流媒体信息,则将获取的对应关系从所述第一映射表中删除,所述第二客户端为除所述第一客户端之外的其他客户端。
15.如权利要求11所述的装置,其特征在于,所述装置还包括:
转发模块,用于当接收到所述第一客户端发送的流媒体数据包时,向所述第一流媒体服务器转发所述流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
16.一种流媒体信息的获取装置,其特征在于,所述装置包括:
第一接收模块,用于接收指定服务器发送的指定状态数据转移包,所述指定状态数据转移包包括第一客户端的网络地址信息和用于接收流媒体信息获取请求的第一网络连接的发送序列号,所述第一客户端为用于通过所述第一网络连接和所述指定服务器获取流媒体信息的客户端,所述第一网络连接为所述第一客户端与所述指定服务器之间建立的网络连接;
创建模块,用于根据所述指定状态数据转移包,创建与所述指定服务器之间的第二网络连接,并将所述第二网络连接中的源网络地址信息修改为所述第一客户端的网络地址信息,将所述第二网络连接的发送序列号修改为所述第一网络连接的发送序列号;
第一发送模块,用于根据源网络地址信息和发送序列号修改后的第二网络连接,向所述指定服务器发送状态数据转移成功信息;
第二发送模块,用于当接收到所述指定服务器基于所述状态数据转移成功信息发送的用于获取所述流媒体信息的后序请求时,向所述第一客户端发送所述流媒体信息。
17.如权利要求16所述的装置,其特征在于,所述指定服务器包括Linux虚拟服务器LVS。
18.如权利要求16所述的装置,其特征在于,所述第二发送模块包括:
查找单元,用于根据所述后序请求中携带的所述流媒体信息的标识,查找所述流媒体信息;
第一发送单元,用于如果查找到所述流媒体信息,则向所述第一客户端发送所述流媒体信息;
第二发送单元,用于如果没有查找到所述流媒体信息,则从数据中心中获取所述流媒体信息,并向所述第一客户端发送所述流媒体信息。
19.如权利要求16所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述指定服务器转发的流媒体数据包,所述流媒体数据包包括创建所述流媒体信息的指令、播放所述流媒体信息的指令、查看所述流媒体信息的进度指令和停止获取所述流媒体信息指令中的至少一个。
20.如权利要求19所述的装置,其特征在于,所述装置还包括:
设置模块,用于当所述流媒体数据包包括停止获取所述流媒体信息指令时,设置第二计时时间;
停止模块,用于当所述第二计时时间到达且在所述第二计时时间内没有客户端获取所述流媒体信息时,停止从所述数据中心中获取所述流媒体信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610899299.8A CN106534073B (zh) | 2016-10-14 | 2016-10-14 | 流媒体信息的获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610899299.8A CN106534073B (zh) | 2016-10-14 | 2016-10-14 | 流媒体信息的获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106534073A true CN106534073A (zh) | 2017-03-22 |
CN106534073B CN106534073B (zh) | 2020-01-14 |
Family
ID=58331946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610899299.8A Active CN106534073B (zh) | 2016-10-14 | 2016-10-14 | 流媒体信息的获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106534073B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146110B (zh) * | 2007-09-25 | 2011-06-29 | 深圳市迅雷网络技术有限公司 | 一种播放流媒体的方法 |
CN102137140A (zh) * | 2010-10-08 | 2011-07-27 | 华为软件技术有限公司 | 一种流服务处理方法、装置及系统 |
US20140280763A1 (en) * | 2013-03-15 | 2014-09-18 | Sonic Ip, Inc. | Systems, Methods, and Media for Delivery of Content |
CN105847289A (zh) * | 2016-05-17 | 2016-08-10 | 乐视控股(北京)有限公司 | 数据传输方法及数据传输装置 |
CN105939350A (zh) * | 2016-05-30 | 2016-09-14 | 北京京东尚科信息技术有限公司 | 网络访问控制方法和系统 |
-
2016
- 2016-10-14 CN CN201610899299.8A patent/CN106534073B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146110B (zh) * | 2007-09-25 | 2011-06-29 | 深圳市迅雷网络技术有限公司 | 一种播放流媒体的方法 |
CN102137140A (zh) * | 2010-10-08 | 2011-07-27 | 华为软件技术有限公司 | 一种流服务处理方法、装置及系统 |
US20140280763A1 (en) * | 2013-03-15 | 2014-09-18 | Sonic Ip, Inc. | Systems, Methods, and Media for Delivery of Content |
CN105847289A (zh) * | 2016-05-17 | 2016-08-10 | 乐视控股(北京)有限公司 | 数据传输方法及数据传输装置 |
CN105939350A (zh) * | 2016-05-30 | 2016-09-14 | 北京京东尚科信息技术有限公司 | 网络访问控制方法和系统 |
Non-Patent Citations (2)
Title |
---|
徐跃飞: "基于C-S模式的全自动三容水箱实验系统的研发", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
沈龙梅: "基于WiFi的局域无线数字图像广播交互终端的研发", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106534073B (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9137313B2 (en) | Data transmission system and method using relay server | |
CN101521683B (zh) | 一种网络游戏系统及其接入方法、客户端通讯方法 | |
US10367893B1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
US8527661B1 (en) | Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path | |
CN101977236A (zh) | 大文件多点分发系统 | |
CN103547339B (zh) | 一种文件上传方法、客户端和服务端 | |
CN106878434A (zh) | 一种重定向的方法及装置 | |
WO2021008591A1 (zh) | 数据传输方法、装置及系统 | |
CN108429682A (zh) | 一种网络传输链路的优化方法及系统 | |
CN108600281A (zh) | 一种云存储系统、媒体数据存储方法及系统 | |
JP2019525578A (ja) | データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送 | |
CN102752188A (zh) | 一种传输控制协议连接迁移方法及系统 | |
CN106100986A (zh) | 通信链路控制方法及装置 | |
CN111200662A (zh) | 物联网中的消息转发方法、装置、存储介质及服务器 | |
WO2017220021A1 (zh) | 短信息处理方法及装置 | |
EP2119148A1 (en) | Network offloading with reduced packet loss | |
CN114615237A (zh) | 流媒体通信方法、系统、设备及存储介质 | |
CN107104892A (zh) | 网络加速的方法和装置 | |
JP2020537454A (ja) | データ配信方法及び配信サーバ | |
CN103731511B (zh) | 一种p2p系统中数据获取方法和装置 | |
CN106534073A (zh) | 流媒体信息的获取方法及装置 | |
CN113489775B (zh) | 一种基于vpp的七层负载均衡服务器及负载均衡方法 | |
CN111669364B (zh) | 一种数据传输的方法、装置、电子设备及介质 | |
CN106209666B (zh) | 一种基于负载均衡器的链路复用方法及系统 | |
CN107454178A (zh) | 数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510660 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17 Applicant after: Guangzhou KuGou Networks Co., Ltd. Address before: 510000 B1, building, No. 16, rhyme Road, Guangzhou, Guangdong, China 13F Applicant before: Guangzhou KuGou Networks Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |