CN109068183A - 一种直播弹幕分发方法及装置 - Google Patents

一种直播弹幕分发方法及装置 Download PDF

Info

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
Application number
CN201810896436.1A
Other languages
English (en)
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.)
Hunan MgtvCom Interactive Entertainment Media Co Ltd
Original Assignee
Hunan MgtvCom Interactive Entertainment Media 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 Hunan MgtvCom Interactive Entertainment Media Co Ltd filed Critical Hunan MgtvCom Interactive Entertainment Media Co Ltd
Priority to CN201810896436.1A priority Critical patent/CN109068183A/zh
Publication of CN109068183A publication Critical patent/CN109068183A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/254Management 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压缩方法,将所述字符串压缩为二进制数据,即得到压缩消息。
CN201810896436.1A 2018-08-08 2018-08-08 一种直播弹幕分发方法及装置 Pending CN109068183A (zh)

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)

* Cited by examiner, † Cited by third party
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集群中的多级消息广播方法及***

Patent Citations (16)

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