CN105635175B - 一种rtmp流服务器的负载均衡方法和*** - Google Patents

一种rtmp流服务器的负载均衡方法和*** Download PDF

Info

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
Application number
CN201610079911.7A
Other languages
English (en)
Other versions
CN105635175A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201610079911.7A priority Critical patent/CN105635175B/zh
Publication of CN105635175A publication Critical patent/CN105635175A/zh
Application granted granted Critical
Publication of CN105635175B publication Critical patent/CN105635175B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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)
  • 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

一种RTMP流服务器的负载均衡方法和***
技术领域
本发明涉及实时消息传输协议(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的连接成功为止。
CN201610079911.7A 2016-02-04 2016-02-04 一种rtmp流服务器的负载均衡方法和*** Active CN105635175B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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