CN109068183A - 一种直播弹幕分发方法及装置 - Google Patents
一种直播弹幕分发方法及装置 Download PDFInfo
- Publication number
- CN109068183A CN109068183A CN201810896436.1A CN201810896436A CN109068183A CN 109068183 A CN109068183 A CN 109068183A CN 201810896436 A CN201810896436 A CN 201810896436A CN 109068183 A CN109068183 A CN 109068183A
- Authority
- CN
- China
- Prior art keywords
- barrage
- distributed
- message
- compressed message
- period
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000006835 compression Effects 0.000 claims abstract description 10
- 238000007906 compression Methods 0.000 claims abstract description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 235000004936 Bromus mango Nutrition 0.000 description 3
- 241001093152 Mangifera Species 0.000 description 3
- 235000014826 Mangifera indica Nutrition 0.000 description 3
- 235000009184 Spondias indica Nutrition 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- 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/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种直播弹幕分发方法及装置,T1时间段内,收到需要分发的弹幕,在切换到T2时间段的时候,应用服务器集群把需要分发的弹幕合成为zip_msg1发往消息中间件MQ,MQ再把zip_msg1转发给所有的IM,IM再将zip_msg1分发给连接的客户端。本发明应用服务器集群把弹幕压缩好,IM再把压缩后的二进制包当作普通消息广播出去,对服务器而言弹幕的总条数就是压缩包的数量,总条数变小,带来io减少,服务器性能提升,分发的压力变小;多条弹幕通过zlib最优压缩算法压缩后,其容量可以达到原来的1/5,从而也就减少了4/5的流量。
Description
技术领域
本发明涉及流量压缩领域,特别是一种直播弹幕分发方法及装置。
背景技术
在房间人数过多的时候,走正常的分发流程,带宽极其庞大。以芒果tv跨年为例,100万在线按正常的不压缩算法来计算,带宽远远超过100Gb,流量费用非常惊人。在直播间人数过多的时候,需要非常多的服务器来支撑。以芒果tv跨年为例,如果单台服务器不经过压缩,4核8G服务器只能支撑1万人在线,1000Mb带宽的服务器能够跑到500Mb,100万在线至少需要100台机器。目前的分发方案主要如下:Emqttd是国内用Erlang/OTP实现mqtt协议进行消息分发的分布式框架,但是未涉及流量压缩的方案;云巴是基于MQTT协议实现的实时通信***,采用Erlang/OTP的架构设计,其也未未提及流量压缩方案;用go实现连接服务器,采用kafka开源库进行集群中的消息分发,该方案也未涉及流量压缩。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种直播弹幕分发方法及装置,提高服务器性能和降低弹幕容量。
为解决上述技术问题,本发明所采用的技术方案是:一种直播弹幕分发方法,该方法主要实现过程为:T1时间段内,收到需要分发的弹幕,在切换到T2时间段的时候,应用服务器集群把需要分发的弹幕合成为压缩消息zip_msg1发往消息中间件MQ,MQ再把zip_msg1转发给所有的IM,IM再将zip_msg1分发给连接的客户端。
应用服务器集群把需要分发的弹幕合成为zip_msg1的具体过程包括:将多条需要分发的弹幕放到一个json结构的字符串内,通过zlib压缩方法,将所述字符串压缩为二进制数据,即得到zip_msg1。
相应的,本发明还提供了一种直播弹幕分发装置,其包括:
应用服务器集群,用于在从收到需要分发的弹幕的T1时间段切换到T2时间段的时候,把需要分发的弹幕合成为zip_msg1发往消息中间件MQ;
中间件MQ,用于把zip_msg1转发给所有的IM;
IM,用于将zip_msg1分发给连接的客户端。
所述应用服务器集群包括:
合成模块,用于在从收到需要分发的弹幕的T1时间段切换到T2时间段的时候,把需要分发的弹幕合成为zip_msg1;
发送模块,用于将zip_msg1发往消息中间件MQ。
所述合成模块的具体工作过程包括:将多条需要分发的弹幕放到一个json结构的字符串内,通过zlib压缩方法,将所述字符串压缩为二进制数据,即得到zip_msg1。
与现有技术相比,本发明所具有的有益效果为:本发明应用服务器集群把弹幕压缩好,IM再把压缩后的二进制包当作普通消息广播出去,对服务器而言弹幕的总条数就是压缩包的数量,总条数变小,带来io减少,服务器性能提升,分发的压力变小;多条弹幕通过zlib最优压缩算法压缩后,其容量可以达到原来的1/5,从而也就减少了4/5的流量。
附图说明
图1为本发明分发装置结构示意图;
图2为本发明应用服务器压缩原理图。
具体实施方式
应用服务器接收到分发的弹幕时,按一定的时间段(例如333毫秒,可以配置)将弹幕zip打包。前端接收到压缩后的弹幕,解压后走正常逻辑处理。
如图1和图2,T1时间段(本发明设置为333毫秒)内,收到需要分发的弹幕[msg1,msg2,msg3]。在切换到T2时间段(本发明设置为333毫秒)的时候,应用服务器集群把弹幕合成(将多条弹幕放到一个json结构的字符串。(Json结构是现有技术)。再通过zlib压缩算法,压缩成二进制数据。)zip_msg1发往消息中间件MQ(参照图1)。MQ再把消息转发给所有的IM。IM(即时通讯/实时通讯服务器)再分发给连接的客户端。T2时间段收到需要分发的弹幕[msg4,msg5]。在T2时间段结束的时候,应用服务器同T1方式合成zip_msg2发往消息中间件MQ,MQ再把消息转发给所有的IM。
应用服务器集群把弹幕压缩好,IM再把压缩后的二进制包当作普通消息广播出去。对服务器来说弹幕的总条数就是压缩包的数量,总条数变小,带来io减少,服务器性能提升。比如1s钟要广播100个弹幕,普通的分发方案要发送100个弹幕。采用压缩后的分发方案,一秒钟只需要分发3次,分发的压力变小。
对于消息中间件MQ来说,如果是1000台IM的集群。1s钟广播100条弹幕需要分发给100000次,但是经过压缩之后,1s钟只需要广播3000次。MQ轻松支撑1000台IM集群。
以芒果tv为例,30条弹幕通过压缩后容量能够达到原来的1/7,在实际的跨年场景中,能够达到1/5。从而也就减少了4/5的流量。对于房间内用户量达到100万级的直播,其减少流量带来的收益非常可观。
Claims (6)
1.一种直播弹幕分发方法,其特征在于,该方法主要实现过程为:任一时间段T1内,收到需要分发的弹幕,在切换到T1的下一时间段T2,即T1时间段结束的时候,应用服务器集群把需要分发的弹幕合成为压缩消息发往消息中间件MQ,MQ再把压缩消息转发给所有的IM,IM再将压缩消息分发给连接的客户端。
2.根据权利要求1所述的直播弹幕分发方法,其特征在于,T1=T2=333ms。
3.根据权利要求1所述的直播弹幕分发方法,其特征在于,应用服务器集群把需要分发的弹幕合成为压缩消息的具体过程包括:将多条需要分发的弹幕放到一个json结构的字符串内,通过zlib压缩方法,将所述字符串压缩为二进制数据,即得到压缩消息。
4.一种直播弹幕分发装置,其特征在于,包括:
应用服务器集群,用于在从收到需要分发的弹幕的T1时间段切换到T2时间段的时候,把需要分发的弹幕合成为压缩消息发往消息中间件MQ;
中间件MQ,用于把压缩消息转发给所有的IM;
IM,用于将压缩消息分发给连接的客户端。
5.根据权利要求4所述的直播弹幕分发装置,其特征在于,所述应用服务器集群包括:
合成模块,用于在从收到需要分发的弹幕的T1时间段切换到T2时间段的时候,把需要分发的弹幕合成为压缩消息;
发送模块,用于将zip_msg1发往消息中间件MQ。
6.根据权利要求5所述的直播弹幕分发装置,其特征在于,所述合成模块的具体工作过程包括:将多条需要分发的弹幕放到一个json结构的字符串内,通过zlib压缩方法,将所述字符串压缩为二进制数据,即得到压缩消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810896436.1A CN109068183A (zh) | 2018-08-08 | 2018-08-08 | 一种直播弹幕分发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810896436.1A CN109068183A (zh) | 2018-08-08 | 2018-08-08 | 一种直播弹幕分发方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109068183A true CN109068183A (zh) | 2018-12-21 |
Family
ID=64678561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810896436.1A Pending CN109068183A (zh) | 2018-08-08 | 2018-08-08 | 一种直播弹幕分发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109068183A (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355364A (zh) * | 2008-09-08 | 2009-01-28 | 北大方正集团有限公司 | 文件压缩方法及装置、文件解压缩方法及装置 |
US20090240718A1 (en) * | 2008-03-21 | 2009-09-24 | Ocarina Networks | Deflate file data optimization |
CN103247123A (zh) * | 2013-05-24 | 2013-08-14 | 苏州鼎铭电子科技有限公司 | 一种基于无线网络及电子邮件转储的图像监控***及方法 |
CN103780615A (zh) * | 2014-01-20 | 2014-05-07 | 五八同城信息技术有限公司 | 一种在多个服务器间客户端会话数据共享方法 |
CN104038916A (zh) * | 2014-06-24 | 2014-09-10 | 北京奇虎科技有限公司 | 在移动终端设备上实现流量优化的方法及***、客户端 |
CN104052723A (zh) * | 2013-03-15 | 2014-09-17 | 联想(北京)有限公司 | 信息处理方法和服务器 |
CN105338061A (zh) * | 2015-09-29 | 2016-02-17 | 华中科技大学 | 一种轻量级消息中间件的实现方法与*** |
CN105471958A (zh) * | 2015-08-03 | 2016-04-06 | 汉柏科技有限公司 | 一种物联网数据处理的***及方法 |
CN105677494A (zh) * | 2016-02-01 | 2016-06-15 | 北京京东尚科信息技术有限公司 | 一种消息分发的方法和装置 |
CN106131030A (zh) * | 2016-07-19 | 2016-11-16 | 中国人民解放军63920部队 | 一种高速数据的分发方法和装置 |
CN106161541A (zh) * | 2015-04-10 | 2016-11-23 | 中兴通讯股份有限公司 | 数据传输方法、装置和*** |
CN106919617A (zh) * | 2015-12-25 | 2017-07-04 | 北京奇虎科技有限公司 | 一种压缩存储方法和装置 |
CN106973332A (zh) * | 2017-03-10 | 2017-07-21 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息处理方法、解析方法及*** |
CN107426307A (zh) * | 2017-07-11 | 2017-12-01 | 北京潘达互娱科技有限公司 | 数据处理方法及装置 |
CN107529070A (zh) * | 2016-06-21 | 2017-12-29 | 天脉聚源(北京)科技有限公司 | 一种实现弹幕的方法和*** |
CN108282396A (zh) * | 2018-02-13 | 2018-07-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种im集群中的多级消息广播方法及*** |
-
2018
- 2018-08-08 CN CN201810896436.1A patent/CN109068183A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240718A1 (en) * | 2008-03-21 | 2009-09-24 | Ocarina Networks | Deflate file data optimization |
CN101355364A (zh) * | 2008-09-08 | 2009-01-28 | 北大方正集团有限公司 | 文件压缩方法及装置、文件解压缩方法及装置 |
CN104052723A (zh) * | 2013-03-15 | 2014-09-17 | 联想(北京)有限公司 | 信息处理方法和服务器 |
CN103247123A (zh) * | 2013-05-24 | 2013-08-14 | 苏州鼎铭电子科技有限公司 | 一种基于无线网络及电子邮件转储的图像监控***及方法 |
CN103780615A (zh) * | 2014-01-20 | 2014-05-07 | 五八同城信息技术有限公司 | 一种在多个服务器间客户端会话数据共享方法 |
CN104038916A (zh) * | 2014-06-24 | 2014-09-10 | 北京奇虎科技有限公司 | 在移动终端设备上实现流量优化的方法及***、客户端 |
CN106161541A (zh) * | 2015-04-10 | 2016-11-23 | 中兴通讯股份有限公司 | 数据传输方法、装置和*** |
CN105471958A (zh) * | 2015-08-03 | 2016-04-06 | 汉柏科技有限公司 | 一种物联网数据处理的***及方法 |
CN105338061A (zh) * | 2015-09-29 | 2016-02-17 | 华中科技大学 | 一种轻量级消息中间件的实现方法与*** |
CN106919617A (zh) * | 2015-12-25 | 2017-07-04 | 北京奇虎科技有限公司 | 一种压缩存储方法和装置 |
CN105677494A (zh) * | 2016-02-01 | 2016-06-15 | 北京京东尚科信息技术有限公司 | 一种消息分发的方法和装置 |
CN107529070A (zh) * | 2016-06-21 | 2017-12-29 | 天脉聚源(北京)科技有限公司 | 一种实现弹幕的方法和*** |
CN106131030A (zh) * | 2016-07-19 | 2016-11-16 | 中国人民解放军63920部队 | 一种高速数据的分发方法和装置 |
CN106973332A (zh) * | 2017-03-10 | 2017-07-21 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息处理方法、解析方法及*** |
CN107426307A (zh) * | 2017-07-11 | 2017-12-01 | 北京潘达互娱科技有限公司 | 数据处理方法及装置 |
CN108282396A (zh) * | 2018-02-13 | 2018-07-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种im集群中的多级消息广播方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8627390B2 (en) | Method and device for providing programs to multiple end user devices | |
EP2640099B1 (en) | Method, system and apparatus for providing stream media service | |
CN104009853B (zh) | Cdn***中数据请求、发送的方法、装置及***结构 | |
CN104244108A (zh) | 一种直播方法及*** | |
CN102710778B (zh) | 一种协作无线传屏***及其工作方法 | |
CN108683653A (zh) | 一种基于WebSocket的主动式消息推送*** | |
CN104918132A (zh) | 一种智能电视音视频通讯的方法及*** | |
CN108513159A (zh) | 多终端同步播放控制方法、主设备、装置及*** | |
CN101888412B (zh) | 一种服务于移动终端直播的视频推送处理方法及*** | |
CN107124628B (zh) | 一种广告数据的发布方法和*** | |
CN107920072A (zh) | 一种基于数据特征的多媒体共享方法及*** | |
CN113347454A (zh) | 一种支持多媒体同步直播的直播*** | |
CN103826084A (zh) | 一种音频编码方法 | |
CN105933759A (zh) | 一种数字电视的抢红包方法、服务器及*** | |
CN109068183A (zh) | 一种直播弹幕分发方法及装置 | |
CN104219470B (zh) | 数字电视接收装置及数字电视播放方法 | |
KR20120051466A (ko) | 방송 프로그램 전송 요청 방법 및 이에 대한 방송 프로그램 전송 방법 | |
CN101908353A (zh) | 基于Flash播放控件的直播方法 | |
EP2197208A1 (en) | A distributing method for a file content of an interactive network television system | |
CN114071058A (zh) | 一种视频会议的视频传输控制方法、装置、介质和设备 | |
CN115499417A (zh) | 一种数据分发方法、服务端和电子设备 | |
CN101459827A (zh) | 数字电视网络双向交互的实现方法 | |
CN109862331B (zh) | Pon网络***及其服务器 | |
CN205408066U (zh) | 一种用于ip直播信号播出的延时器 | |
CN106576192B (zh) | 用于分发内容的装置、方法、***以及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |