CN105635175B - 一种rtmp流服务器的负载均衡方法和*** - Google Patents
一种rtmp流服务器的负载均衡方法和*** Download PDFInfo
- Publication number
- CN105635175B CN105635175B CN201610079911.7A CN201610079911A CN105635175B CN 105635175 B CN105635175 B CN 105635175B CN 201610079911 A CN201610079911 A CN 201610079911A CN 105635175 B CN105635175 B CN 105635175B
- Authority
- CN
- China
- Prior art keywords
- domain name
- streaming servers
- rtmp streaming
- client
- rtmp
- 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
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种RTMP流服务器的负载均衡方法与***,其中,所述***包括:推/拉流模块和DNS模块,所述推/拉流模块用于向所述DNS模块发送来自客户端的域名解析请求,所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名;所述DNS模块用于将所述目标RTMP流服务器的域名解析为对应的IP;所述推/拉流模块还用于建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。本发明中的客户端通过域名与RTMP流服务器建立连接,取代传统的利用IP建立与RTMP流服务器的连接的方式。实现对RTMP流服务器的自动分配,提高了RTMP流服务器的可靠性。
Description
技术领域
本发明涉及实时消息传输协议(Real Time Messaging Protocol,RTMP)流服务器技术领域,特别是涉及一种RTMP流服务器的负载均衡方法和***。
背景技术
当前RTMP流服务器的***架构如图1所示,主要包括推流端、至少一个RTMP流服务器和客户端。客户端通过RTMP流服务器的IP与RTMP流服务器建立连接。具体为推流端将RTMP流服务器的IP推送至客户端,客户端通过接收到的IP建立与RTMP流服务器的连接。
当前RTMP流服务器的***存在如下缺陷:
一、若推流端出现故障,并不会影响客户端与RTMP流服务器之间的连接,客户端仍然可以正常播放RTMP流服务器上的内容,但是不能及时发现推流端的故障。
二、若RTMP流服务器出现故障,需要推流端手动切换备用RTMP流服务器的IP至客户端,此操作费时费力。
发明内容
本发明提供一种RTMP流服务器的负载均衡方法和***,以解决现有的RTMP流服务器的***在推流端出现故障的情况下,不能及时发现推流端故障,或者在RTMP流服务器出现故障的情况下,需要手动切换备用RTMP流服务器的IP至客户端而造成的费时费力的问题。
为了解决上述问题,本发明公开了一种RTMP流服务器的负载均衡***,包括:推/拉流模块和DNS模块,其中,
所述推/拉流模块,用于向所述DNS模块发送来自客户端的域名解析请求,所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名;
所述DNS模块,用于将所述目标RTMP流服务器的域名解析为对应的IP;
所述推/拉流模块,还用于建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。
优选地,还包括:RTMP流服务器模块,用于在所述推/拉流模块向所述DNS模块发送来自客户端的域名解析请求之前,为至少一个RTMP流服务器创建IP与RTMP流服务器域名的对应关系。
优选地,所述DNS模块根据所述对应关系将所述目标RTMP流服务器的域名解析为对应的IP。
优选地,所述DNS模块,还用于在所述推/拉流模块判断与所述IP的连接失败之后,重新将所述目标RTMP流服务器的域名解析为对应的IP,直至所述推/拉流模块建立与重新解析得到的IP的连接成功为止。
本发明还公开了一种RTMP流服务器的负载均衡方法,包括:
接收来自客户端的域名解析请求,所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名;
将所述目标RTMP流服务器的域名解析为对应的IP;
建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。
优选地,在所述接收来自客户端的域名解析请求之前,还包括:
为至少一个RTMP流服务器创建IP与RTMP流服务器域名的对应关系。
优选地,所述将所述目标RTMP流服务器的域名解析为对应的IP,包括:
根据所述对应关系将所述目标RTMP流服务器的域名解析为对应的IP。
优选地,在判断与所述IP的连接是否成功之后,还包括:
若失败,则重新将所述目标RTMP流服务器的域名解析为对应的IP,直至判断与重新解析得到的IP的连接成功为止。
与背景技术相比,本发明包括以下优点:
客户端通过域名与RTMP流服务器建立连接,取代传统的利用IP建立与RTMP流服务器的连接的方式。接收来自客户端的域名解析请求,将域名解析请求中的客户端待访问的目标RTMP流服务器的域名解析为对应的IP,建立与解析得到的IP的连接,若连接成功,则将解析得到的IP发送至客户端;若连接失败,则重新进行域名解析得到新的IP,若新的IP连接失败,则继续进行域名解析,直至解析得到的IP能够连接成功,从而实现对RTMP流服务器的自动分配,提高了RTMP流服务器的可靠性。
附图说明
图1是背景技术中RTMP流服务器的***架构示意图;
图2是本发明实施例一中一种RTMP流服务器的负载均衡方法的步骤流程图;
图3是本发明实施例二中一种RTMP流服务器的负载均衡***的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
下面通过列举几个具体的实施例详细介绍本发明提供的一种RTMP流服务器的负载均衡方法和***。
实施例一
详细介绍本发明实施例提供的一种RTMP流服务器的负载均衡方法,可以应用于RTMP流服务器***。
参照图2,示出了本发明实施例中一种RTMP流服务器的负载均衡方法的步骤流程图。
步骤100,接收来自客户端的域名解析请求。
客户端欲访问RTMP流服务器,通过待访问的目标RTMP流服务器的域名建立与RTMP流服务器之间的连接。所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名。
在所述步骤100之前,为至少一个RTMP流服务器创建IP与RTMP流服务器域名的对应关系。一个RTMP流服务器域名可以对应多个RTMP流服务器,例如,域名“host name”对应IP1、IP2和IP3。
步骤102,将所述目标RTMP流服务器的域名解析为对应的IP。
具体地,根据所述对应关系,将所述目标RTMP流服务器的域名解析为对应的IP。若目标RTMP流服务器的域名对应多个IP,则可以从中随机选择任意一个IP作为解析得到的对应的IP。
步骤104,建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。
在判断与所述IP的连接失败之后,重新将所述目标RTMP流服务器的域名解析为对应的IP。由于重新解析得到的对应的IP与之前解析得到的对应的IP为不同的IP,所以需要继续判断重新解析得到的对应的IP是否可以连接成功。若连接失败,则继续对域名进行解析,直至判断与重新解析得到的IP的连接成功为止,将连接成功的IP发送至客户端。
综上所述,本发明实施例中的技术方案,客户端通过域名与RTMP流服务器建立连接,取代传统的利用IP直接建立与RTMP流服务器的连接的方式。接收来自客户端的域名解析请求,将域名解析请求中的客户端待访问的目标RTMP流服务器的域名解析为对应的IP,建立与解析得到的IP的连接,若连接成功,则将解析得到的IP发送至客户端;若连接失败,则重新进行域名解析得到新的IP,若与新解析得到的IP连接仍失败,则继续进行域名解析,直至解析得到的IP能够连接成功,从而实现对RTMP流服务器的自动分配,提高了RTMP流服务器的可靠性。解决现有的RTMP流服务器的***在推流端出现故障的情况下,不能及时发现推流端故障,或者在RTMP流服务器出现故障的情况下,需要手动切换备用RTMP流服务器的IP至客户端而造成的费时费力的问题。
实施例二
详细介绍本发明实施例提供的一种RTMP流服务器的负载均衡***。
参照图3,示出了本发明实施例中一种RTMP流服务器的负载均衡***的结构示意图。
所述***可以包括:推/拉流模块200和域名***(Domain Name System,DNS)模块202。本发明实施例中,推/拉流模块200可以采用VIM工具(一种文本编辑器)、bash语言。DNS模块202可以采用轻量级DNS工具dnsmasq。
下面分别详细介绍各模块的功能以及各模块之间的关系。
所述推/拉流模块200,用于向所述DNS模块202发送来自客户端的域名解析请求,所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名。
所述DNS模块202,用于将所述目标RTMP流服务器的域名解析为对应的IP。
所述推/拉流模块200,还用于建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。
所述***还可以包括:RTMP流服务器模块204,用于在所述推/拉流模块200向所述DNS模块202发送来自客户端的域名解析请求之前,为至少一个RTMP流服务器创建IP与RTMP流服务器域名的对应关系。RTMP流服务器模块204可以采用VIM工具、C++语言环境。
所述DNS模块202,还用于在所述推/拉流模块200判断与所述IP的连接失败之后,重新将所述目标RTMP流服务器的域名解析为对应的IP,直至所述推/拉流模块200建立与重新解析得到的IP的连接成功为止。
所述DNS模块202根据所述对应关系将所述目标RTMP流服务器的域名解析为对应的IP。
本发明实施例中,推/拉流模块200可以分为推流模块和拉流模块,其中,拉流模块可以为代理服务器(Proxy Server);Proxy Server执行与推流模块相同的流程,只是ProxyServer和推流模块的输入源模式不同,Proxy Server支持拉流模式,推流模块支持推流模式。各模块可以有自己的IP,例如,推流模块:10.1.3.102,拉流模块:10.23.70.32,DNS模块202:10.23.70.33,RTMP流服务器1:10.121.86.127,RTMP流服务器2:10.11.69.95,客户端:10.1.3.104。各模块可以作为独立的单元部署在RTMP流服务器的负载均和***中,通过各自的IP,实现对各模块的连接与集中管理。在推/拉流模块200出现故障时,DNS模块202无法接收到客户端的域名解析请求,客户端不能与RTMP流服务器进行正常连接。在DNS模块202和RTMP流服务器正常的情况下,可以判断出推/拉流模块200出现故障,及时解决推/拉流模块200的故障。在部分RTMP流服务器出现故障时,客户端可以迅速重新从其他正常的RTMP流服务器获取到RTMP流媒体资源,享受RTMP流媒体服务。
综上所述,本发明实施例中的技术方案,客户端通过域名与RTMP流服务器建立连接,取代传统的利用IP直接建立与RTMP流服务器的连接的方式。接收来自客户端的域名解析请求,将域名解析请求中的客户端待访问的目标RTMP流服务器的域名解析为对应的IP,建立与解析得到的IP的连接,若连接成功,则将解析得到的IP发送至客户端;若连接失败,则重新进行域名解析得到新的IP,若新解析得到的IP仍连接失败,则继续进行域名解析,直至解析得到的IP能够连接成功,从而实现对RTMP流服务器的自动分配,提高了RTMP流服务器的可靠性。解决现有的RTMP流服务器的***在推流端出现故障的情况下,不能及时发现推流端故障,或者在RTMP流服务器出现故障的情况下,需要手动切换备用RTMP流服务器的IP至客户端而造成的费时费力的问题。
对于***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明实施例所提供的一种RTMP流服务器的负载均衡方法和***,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种RTMP流服务器的负载均衡***,其特征在于,包括:推/拉流模块和DNS模块,其中,
所述推/拉流模块,用于向所述DNS模块发送来自客户端的域名解析请求,所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名;
所述DNS模块,用于将所述目标RTMP流服务器的域名解析为对应的IP;
所述推/拉流模块,还用于建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。
2.根据权利要求1所述的***,其特征在于,还包括:
RTMP流服务器模块,用于在所述推/拉流模块向所述DNS模块发送来自客户端的域名解析请求之前,为至少一个RTMP流服务器创建IP与RTMP流服务器域名的对应关系。
3.根据权利要求2所述的***,其特征在于,所述DNS模块根据所述对应关系将所述目标RTMP流服务器的域名解析为对应的IP。
4.根据权利要求1-3任意一项所述的***,其特征在于,所述DNS模块,还用于在所述推/拉流模块判断与所述IP的连接失败之后,重新将所述目标RTMP流服务器的域名解析为对应的IP,直至所述推/拉流模块建立与重新解析得到的IP的连接成功为止。
5.一种RTMP流服务器的负载均衡方法,其特征在于,包括:
接收来自客户端的域名解析请求,所述域名解析请求包括所述客户端待访问的目标RTMP流服务器的域名;
将所述目标RTMP流服务器的域名解析为对应的IP;
建立与所述IP的连接,并判断与所述IP的连接是否成功,若成功,则将建立连接成功的IP发送至所述客户端。
6.根据权利要求5所述的方法,其特征在于,在所述接收来自客户端的域名解析请求之前,还包括:
为至少一个RTMP流服务器创建IP与RTMP流服务器域名的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标RTMP流服务器的域名解析为对应的IP,包括:
根据所述对应关系将所述目标RTMP流服务器的域名解析为对应的IP。
8.根据权利要求5-7任意一项所述的方法,其特征在于,在判断与所述IP的连接是否成功之后,还包括:
若失败,则重新将所述目标RTMP流服务器的域名解析为对应的IP,直至判断与重新解析得到的IP的连接成功为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610079911.7A CN105635175B (zh) | 2016-02-04 | 2016-02-04 | 一种rtmp流服务器的负载均衡方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610079911.7A CN105635175B (zh) | 2016-02-04 | 2016-02-04 | 一种rtmp流服务器的负载均衡方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635175A CN105635175A (zh) | 2016-06-01 |
CN105635175B true CN105635175B (zh) | 2018-11-06 |
Family
ID=56049663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610079911.7A Active CN105635175B (zh) | 2016-02-04 | 2016-02-04 | 一种rtmp流服务器的负载均衡方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635175B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257496A (zh) * | 2017-06-14 | 2017-10-17 | 广州市千钧网络科技有限公司 | 一种直播的控制方法、装置及移动终端 |
CN111355971B (zh) * | 2020-02-20 | 2021-12-24 | 北京金山云网络技术有限公司 | 直播流传输方法、装置、cdn服务器及计算机可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242422A (zh) * | 2007-02-06 | 2008-08-13 | 中国电信股份有限公司 | 适应多业务融合的内容分发网络***和方法 |
CN101252590A (zh) * | 2008-03-31 | 2008-08-27 | 蓝汛网络科技(北京)有限公司 | 一种流媒体内容分发方法、***及装置 |
CN101534204A (zh) * | 2008-03-10 | 2009-09-16 | ***集团宽带业务应用国家工程实验室有限公司 | 流媒体信息分发***和方法及客户端 |
CN102938835A (zh) * | 2012-11-15 | 2013-02-20 | 中国科学技术大学 | 一种火场视频及火情数据传输的方法及*** |
CN103181143A (zh) * | 2012-10-22 | 2013-06-26 | 华为终端有限公司 | 一种播放流媒体文件的方法和装置 |
CN104811740A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种视频文件的分发方法、***及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2599072T3 (es) * | 2013-12-26 | 2017-01-31 | Telefónica Digital España, S.L.U. | Método y dispositivo de balanceo de carga de un agrupamiento de servidores (granja) para el establecimiento de una comunicación bidireccional de servidor a servidor y programa de ordenador para los mismos |
-
2016
- 2016-02-04 CN CN201610079911.7A patent/CN105635175B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242422A (zh) * | 2007-02-06 | 2008-08-13 | 中国电信股份有限公司 | 适应多业务融合的内容分发网络***和方法 |
CN101534204A (zh) * | 2008-03-10 | 2009-09-16 | ***集团宽带业务应用国家工程实验室有限公司 | 流媒体信息分发***和方法及客户端 |
CN101252590A (zh) * | 2008-03-31 | 2008-08-27 | 蓝汛网络科技(北京)有限公司 | 一种流媒体内容分发方法、***及装置 |
CN103181143A (zh) * | 2012-10-22 | 2013-06-26 | 华为终端有限公司 | 一种播放流媒体文件的方法和装置 |
CN102938835A (zh) * | 2012-11-15 | 2013-02-20 | 中国科学技术大学 | 一种火场视频及火情数据传输的方法及*** |
CN104811740A (zh) * | 2015-04-29 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种视频文件的分发方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105635175A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10392823B2 (en) | Synthetic client | |
EP3060018B1 (en) | Registration method and system for common service entity | |
US9693092B2 (en) | Method and system for transmitting network video | |
US20160179295A1 (en) | Remote wireless screen sharing method, device and system | |
US8310939B2 (en) | Method, system, and device for configuring operation, administration and maintenance properties | |
US8364827B2 (en) | Communication system | |
KR20000057718A (ko) | 자각-개시 푸시를 제공하기 위한 방법 및 장치 | |
US20150195309A1 (en) | Method for adding client capability data to a sip message | |
RU2608469C2 (ru) | Способ и устройство высокоэффективной доставки уведомлений в реальном времени с малым временем задержки | |
US20120198054A1 (en) | Method and apparatus for determining gateway and method and system for sending message | |
US10574740B2 (en) | Method and apparatus for scaling in a virtualized network | |
US8656001B2 (en) | Communication system, application server and communication method for server cooperation | |
KR20110017372A (ko) | 회선 교환 방식 통신 네트워크로의 천이시에 단일 무선 음성 통화 통신의 연속성에 대한 지원 | |
CN105635175B (zh) | 一种rtmp流服务器的负载均衡方法和*** | |
JP5208954B2 (ja) | Sip構文解析性能を改善する方法、装置、及びコンピュータ・プログラム | |
US8966089B2 (en) | Supporting proxy discovery | |
CN110601989A (zh) | 一种网络流量均衡方法及装置 | |
CN111491007B (zh) | Sip中心信令控制服务负载均衡方法及其负载均衡器 | |
US8903990B2 (en) | IMS performance monitoring | |
JP2008219723A (ja) | Sipサービスシステム、およびそれに用いる装置、方法並びにプログラム | |
US7966406B2 (en) | Supporting a response to a mid-dialog failure | |
CN112702441A (zh) | 基于容器的访问数据处理方法、装置、***及存储介质 | |
JP2023537468A (ja) | 間接通信のためのネットワークノード及びネットワークノードにおける方法 | |
CN102571967B (zh) | 一种实现多对象数据交互应答和呼叫功能的***及方法 | |
CN112543191B (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 |