CN111669438A - 直播消息传输方法、装置、电子设备及介质 - Google Patents
直播消息传输方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111669438A CN111669438A CN202010463453.3A CN202010463453A CN111669438A CN 111669438 A CN111669438 A CN 111669438A CN 202010463453 A CN202010463453 A CN 202010463453A CN 111669438 A CN111669438 A CN 111669438A
- Authority
- CN
- China
- Prior art keywords
- message
- client
- server
- long connection
- type
- 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
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000005540 biological transmission Effects 0.000 title claims abstract description 60
- 238000001514 detection method Methods 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/488—Data services, e.g. news ticker
- H04N21/4882—Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- 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
- H04L65/402—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
- H04L65/4025—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services where none of the additional parallel sessions is real time or time sensitive, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
-
- 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
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- 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/55—Push-based network services
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- 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/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种直播消息传输方法、装置、电子设备及介质,涉及消息传输技术领域。该方法由客户端执行时,方案为:定时检测与所述服务端之间的长连接状态;若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。本申请实施例通过上述方案,避免了直播时长连接断开期间消息无法正常传输,导致消息缺失或消息传输不准确的问题,从而使客户端能够准确地获取直播间的消息。
Description
技术领域
本申请实施例涉及互联网技术领域,尤其涉及消息传输技术。具体地,本申请实施例提供一种直播消息传输方法、装置、电子设备及介质。
背景技术
直播为在现场随着事件的发生、发展进程同步制作和发布信息,具有双向流通过程的信息网络发布方式。其形式可分为现场直播、演播室访谈式直播、文字图片直播、视音频直播或由电视(第三方)提供信源的直播,而且具备海量存储、查询便捷的功能。
在客户端的直播场景中,直播间内的数据下发强依赖长连接的消息推送,这些消息包括:直播间在线人数更新、普通的弹幕消息、给主播送的礼物、红包等消息、答题直播时的题目下发以及直播间关闭、全局禁言、直播流切换等控制类命令。如果直播间内消息无法到达客户端,或者到达客户端的消息不准确,将严重影响直播产品的用户体验。
发明内容
本申请实施例提供了一种直播消息传输方法、装置、电子设备及介质。
第一方面,本申请实施例提供了一种直播消息传输方法,由客户端执行,所述客户端与服务端之间建立有长连接,该方法包括:
定时检测与所述服务端之间的长连接状态;
若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
第二方面,本申请实施例提供了一种直播消息传输方法,由服务端执行,所述服务端与客户端之间建立有长连接,该方法包括:
响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接;其中,所述长连接建立请求在所述客户端检测到与所述服务端之间的长连接处于断开状态时生成;
向所述客户端发送长连接断开期间的第一类消息。
第三方面,本申请实施例还提供了一种直播消息传输装置,配置于客户端所属电子设备,所述客户端与服务端之间建立有长连接,该装置包括:
检测模块,用于定时检测与所述服务端之间的长连接状态;
长连接建立模块,用于若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
第四方面,本申请实施例还提供了一种直播消息传输装置,配置于服务端所属电子设备,所述服务端与客户端之间建立有长连接,该装置包括:
请求响应模块,用于响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接;其中,所述长连接建立请求在所述客户端检测到与所述服务端之间的长连接处于断开状态时生成;
消息发送模块,用于向所述客户端发送长连接断开期间的第一类消息。
第五方面,本申请实施例还提供了一种直播消息传输电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例中任一项所述的由客户端执行的方法,或者执行本申请实施例中任一项所述的由服务端执行的方法。
第六方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例中任一项所述的由客户端执行的方法,或者执行本申请实施例中任一项所述的由服务端执行的方法。
本申请实施例的技术方案,通过客户端定时检测与服务端之间的长连接状态,若检测到长连接处于断开状态时重新建立与服务端之间的长连接,并从服务端拉取长连接断开期间的第一类消息,避免了直播时长连接断开期间消息无法正常传输,导致消息缺失或消息传输不准确的问题,从而使客户端能够准确地获取直播期间的消息。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例提供的由客户端执行的直播消息传输方法的流程图;
图2是本申请实施例提供的第一类消息获取示意图;
图3是本申请实施例提供的另一种由客户端执行的直播消息传输方法的流程图;
图4是本申请实施例提供的第二类消息推送示意图;
图5是本申请实施例提供的长连接检测重建以及消息拉取示意图;
图6是本申请实施例提供的又一种由客户端执行的直播消息传输方法的流程图;
图7是本申请实施例提供的由服务端执行的直播消息传输方法的流程图;
图8是本申请实施例提供的配置于客户端所属电子设备的直播消息传输装置的结构示意图;
图9是本申请实施例提供的配置于服务端所属电子设备的直播消息传输装置的结构示意图;
图10是用来实现本申请实施例的直播消息传输方法的电子设备框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是本申请实施例提供的由客户端执行的直播消息传输方法的流程图。本实施例可适用于直播期间传输消息的情况。典型地,本实施例可以适用于直播期间客户端定时检测长连接状态,在检测到长连接断开时及时从服务端拉取消息的情况。参见图1,本申请实施例提供的由客户端执行的直播消息传输方法,所述客户端与服务端之间建立有长连接,所述方法可以包括:
S110、定时检测与所述服务端之间的长连接状态。
其中,长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包的通信连接方式。长连接通道一般是客户端通过TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议)与服务端建立的,服务端使用推模式,向客户端推送消息。长连接通信方式业务接入简单,消息可扩展,可以支持直播间内消息高并发的场景,因此可以适用于直播场景。
由于直播间中长连接本身受移动网络的影响较大,很难保持长时间稳定,如果在直播过程中长连接断开,将严重影响直播间下发消息的准确送达。因此在本申请实施例中,客户端定时检测与服务端之间的长连接状态,从而在长连接断开时及时获知,以避免长连接长时间断开影响直播效果。由于本申请实施例中由客户端定时检测与服务端之间的长连接状态,而不需要服务端定时检测,因此可以有效地降低服务器的压力,提高直播的效果。
S120、若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
其中,第一类消息可以为直播间中的必达消息,例如礼物、红包、答题直播中的题目下发、直播间关闭、直播流切换等消息。上述必达消息若无法准确送达,则会影响支付结果、结算结果、答题竞赛结果或直播间状态等关键数据,将上述必达消息作为第一类消息。相应地,直播间中除必达消息之外的其他消息为普通消息,例如直播弹幕、进场消息、直播间内人数更新等其他消息,对直播进程和事件结果的影响较小,将上述普通消息作为第二类消息。
示例性的,为了避免长连接长时间断开导致直播期间的消息无法及时准确地下发至客户端,因此,客户端在检测到长连接处于断开状态时,重新建立与服务端之间的长连接,以保证直播期间消息的及时准确下发。由于在长连接断开期间,直播间可能仍有消息通过服务端下发,为了避免消息的缺失,需要从服务端拉取长连接断开期间的第一类消息。客户端也可以从服务端拉取长连接断开期间的第二类消息,以保持消息的完整性。客户端可以通过长连接通道拉取第一类消息和/或第二类消息,也可以通过短连接通道拉取第一类消息和/或第二类消息,在此并不限定。
在本申请实施例中,所述方法还包括:通过长连接接收所述服务端发送的第一类消息提醒指令;响应于所述第一类消息提醒指令,从所述服务端拉取第一类消息。所述第一类消息提醒指令为响应于直播间的固定事务生成的,所述固定事务包括如下至少一项:投票、红包和礼物。
具体的,如图2所示,当直播间发起投票、下发红包或者赠送礼物等固定事件时,服务端响应于固定事件,并生成第一类消息提醒指令,用于及时提醒客户端存在第一类消息。服务端可以向客户端发送直播间下发的第一类消息,以使客户端接收并展现第一类消息,也可以并不直接向客户端先发送第一类消息,而是向客户端发送第一类消息提醒指令,以使客户端能够响应于第一消息提醒指令,从服务端拉取第一类消息。与服务端直接向客户端发送第一类消息的方案相比,服务端向客户端发送第一类消息提醒指令能够有效减少服务端向客户端推送的数据量,降低服务器的压力,并且由于传输的数据量减少,能够使客户端快速接收到第一消息提醒指令,缩短了消息到达客户端的时间。
在本申请实施例中,从所述服务端拉取第一类消息之后,所述方法还包括:根据本地已展现的第一类消息标识,对拉取的第一类消息进行筛选和/或排序处理,并根据处理结果展现拉取的第一类消息。
示例性的,客户端从服务端拉取的第一类消息中,可能存在部分第一类消息已经在客户端本地进行展现,为了避免已经展现过的第一类消息重复展现,因此进行去重处理,并使第一类消息能够有序展现。可以根据本地已展现的第一类消息标识,对拉取的第一类消息进行筛选和/或排序处理,并根据处理结果确定后续展现的第一类消息。例如,使第一类消息标识单调递增,已经展现的第一类消息标识为1、2、3、4,对于客户端从服务端拉取的第一类消息标识为3的第一类消息不进行展现,对于客户端从服务端拉取的第一类消息标识为5的第一类消息进行展现。也可以为,客户端对本地已展现的第一类消息进行持久化存储,统计得到本地已展现的第一类消息的数量,如果已展现第一类消息的数量为20条,客户端从服务端拉取的第一类消息标识为19,则不展现该第一类消息,客户端从服务端拉取的第一类消息标识为21,则展现该一类消息。通过上述方案能够避免第一类消息的遗漏,并且避免第一类消息的重复展现,影响直播效果和事件处理结果。也可以为,对客户端从服务端拉取的第一类消息的第一类消息标识进行排序,从而实现第一类消息的有序展现。
本申请实施例的上述技术方案,通过客户端定时检测与服务端之间的长连接状态,若检测到长连接处于断开状态时重新建立与服务端之间的长连接,并从服务端拉取长连接断开期间的第一类消息,避免了直播时长连接断开期间消息无法正常传输,导致消息缺失或消息传输不准确的问题,从而能够使客户端准确地获取直播期间的消息。
图3是本申请实施例提供的另一种由客户端执行的直播消息传输方法的流程图。未在本实施例详尽描述的细节见上述实施例。参见图3,本实施例提供的另一种由客户端执行的直播消息传输方法,可以包括:
S210、定时检测是否接收到所述服务端通过所述长连接发送的包括第二类消息的心跳检测请求,若否,则执行S220-S230;若是,则执行S240。
具体的,第二类消息的解释见上述实施例。为了检测直播期间的长连接状态,一般方案为服务端定时检测长连接的状态,而此方案会增加服务器的压力,可能会导致服务器无法正常处理直播期间的其他任务,影响直播进程,因此,在本申请实施例中,如图4所示,将服务端定时向客户端下发的第二类消息作为下行心跳检测请求,周期可以为2s,具体不做限定。如果接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则执行S240;如果未接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则执行S220-S230。通过将服务端定时下发的第二类消息作为下行心跳检测请求,服务端只需正常发送直播间下发的第二类消息,不需要定时发送额外的检测请求以检测长连接的状态,从而有效地降低了服务器的压力,保证服务端对直播期间事件的正常处理,维护正常的直播进程。上述方案能够节约服务器的资源,例如,如果要支持500万人同时在线观看直播,采用上述方案大约需要62台服务器,而采用其他直播通信方案大约需要250台服务器。
本申请实施例还可以为,服务端将直播间下发的消息分为第一类消息和第二类消息,客户端接收服务端通过长连接发送的消息,如果接收到服务端通过长连接发送的第一类消息,则执行对第一类消息的处理操作,例如从服务端拉取第一类消息,进行筛选和/或排序处理,并根据处理结果展现拉取的第一类消息等。如果接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则执行S240;如果未接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则执行S220-S230。
S220、通过状态检测请求检测长连接是否处于断开状态。
如果客户端未能接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,可能是由于长连接断开导致包括第二类消息的心跳检测请求无法传输至客户端,因此,为了进一步确认长连接是否断开,客户端通过向服务端发送状态检测请求以检测长连接是否断开。示例性的,如果客户端向服务端发送状态检测请求后,客户端收到服务端返回的响应消息,则表明长连接未断开,如果客户端向服务端发送状态检测请求后没有收到服务端返回的响应消息,则表明长连接处于断开状态。通过客户端检测长连接是否处于断开状态,从而使客户端在长连接处于断开时及时获知,以便在确定长连接断开时及时重新建立长连接,保证直播的正常进行。
S230、若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
S240、确定长连接处于连接状态,且展现接收的第二类消息。
具体的,如果客户端接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则此时长连接处于连接状态,能够实现消息的传输。客户端在本地展现接收的第二类消息,以实现第二类消息的正常展现。
在本申请实施例中,如图5所示,如果该消息为第二类消息,则重置计时器,继续接收服务端定时发送的第二类消息。如果定时器超时,并未接收到服务端发送的第二类消息,则有可能是由于长连接断开导致第二类消息未能成功传输至客户端,因此,再次执行S220,通过状态检测请求检测长连接是否处于断开状态。
本申请实施例的上述技术方案,通过确定是否接收到所述服务端通过所述长连接发送的包括第二类消息的心跳检测请求,在没有接收到的情况下,通过状态检测请求检测长连接是否处于断开状态,从而使客户端在长连接处于断开时及时获知,以便在确定长连接断开时及时重新建立长连接,保证直播的正常进行。另外,通过将服务端定时下发的第二类消息作为下行心跳检测请求,服务端只需正常下发直播间下发的第二类消息,不需要定时发送额外的检测请求以检测长连接的状态,从而有效地降低了服务端的压力,保证服务端对直播期间事件的正常处理,维护正常的直播进程。
图6是本申请实施例提供的又一种由客户端执行的直播消息传输方法的流程图。未在本实施例详尽描述的细节见上述实施例。参见图6,本实施例提供的另一种由客户端执行的直播消息传输方法,可以包括:
S310、定时检测与所述服务端之间的长连接状态。
S320、若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接。
S330、获取本地已展现的第一类消息标识。
其中,第一类消息标识单调且递增,示例性的,第一条第一类消息的第一类消息标识可以为1,第二条第一类消息的第一类消息标识可以为2,以此类推。其中,第一类消息标识的具体形式不作具体限定,也可以为01、02、03……。由于客户端本地已经展现的第一类消息无需再次展现,因此,为了避免第一类消息的重复展现,客户端获取本地已展现的第一类消息标识,以不再从服务端拉取已经展现的第一类消息。
S340、根据本地已展现的第一类消息标识生成第一类消息拉取请求。
S350、向所述服务端发送所述第一类消息拉取请求,以使所述服务端返回长连接断开期间的第一类消息。
示例性的,客户端可以根据本地全部已经展现的第一类消息标识生成第一类消息拉取请求,并发送至服务端,服务端将直播间下发的第一类消息标识与客户端发送的本地全部已经展现的第一类消息标识比对,比对不一致的第一类消息标识对应的第一类消息,即为客户端未展现的第一类消息,服务端将该第一类消息返回至客户端。例如,客户端本地全部已经展现的第一类消息标识为1、2、3、4,服务端中直播间下发的第一类消息标识为1、2、3、4、5,其中,第一类消息标识5与客户端本地全部已经展现的第一类消息标识不一致,则服务端将第一类消息标识5对应的第一类消息返回至客户端。
本申请实施例中,也可以为,客户端根据本地已展现的第一类消息标识中的最大第一类消息标识生成第一类消息拉取请求,并发送至服务端,若服务端中直播间下发的第一类消息标识大于最大第一类消息标识则将该第一类消息标识对应的第一类消息,确定为客户端未展现的第一类消息,服务端将该第一类消息返回至客户端。例如,客户端本地全部已经展现的第一类消息标识为1、2、3、4,其中,最大第一类消息标识为4,服务端中直播间下发的第一类消息标识为1、2、3、4、5,第一类消息标识5大于最大第一类消息标识4,则服务端将第一类消息标识5对应的第一类消息返回至客户端。
本申请实施例中,也可以为,客户端根据本地已展现的第一类消息标识,统计本地已展现的第一类消息数量,根据已展现的第一类消息数量生成第一类消息拉取请求,并发送至服务端,服务端将直播间下发的第一类消息标识与已展现的第一类消息数量进行比较,若第一类消息标识所对应的第一类消息的数量大于已展现的第一类消息数量,则将该第一类消息标识对应的第一类消息确定为客户端未展现的第一类消息,服务端将该第一类消息返回至客户端。例如,客户端本地全部已经展现的第一类消息标识为1、2、3、4,因此可知客户端本地全部已经展现的第一类消息数量为4,服务端中直播间下发的第一类消息标识为1、2、3、4、5,服务端的第一类消息标识5对应的第一类消息数量5大于客户端本地全部已经展现的第一类消息数量4,则服务端将第一类消息标识5对应的第一类消息返回至客户端。
在本申请实施例中,也可以根据定时器的时间,确定需要从服务端拉取的第一类消息。例如,客户端请求服务端返回定时器的计时周期内直播间下发的第一类消息,或者客户端请求服务端返回从定时器重置的时刻到当前时刻的时间段内,直播间下发的第一类消息。
在本申请实施例中,向所述服务端发送所述第一类消息拉取请求,以使所述服务端返回长连接断开期间的第一类消息之后,所述方法还包括:根据本地已展现的第一类消息标识,对拉取的第一类消息进行筛选和/或排序处理,并根据处理结果展现拉取的第一类消息,从而对第一类消息进行去重之后展现,避免同一个第一类消息重复展现,影响用户体验,并且通过排序处理,可以实现第一类消息按照顺序播放,提高用户体验。
本申请实施例的上述技术方案,通过向所述服务端发送所述第一类消息拉取请求,以使所述服务端返回长连接断开期间的第一类消息,从而准确地获取长连接断开期间直播间下发的第一类消息,避免了第一类消息的遗漏。通过获取本地已展现的第一类消息标识;根据本地已展现的第一类消息标识生成第一类消息拉取请求,从而实现了对第一类消息的选择性拉取,避免了客户端本地重复展现同一个第一类消息,提高了直播的用户体验。
图7是本申请实施例提供的由服务端执行的直播消息传输方法的流程图。本实施例可适用于直播期间传输消息的情况。典型地,本实施例可以适用于直播期间客户端定时检测长连接状态,以检测到长连接断开时及时从服务端拉取消息的情况。未在本申请实施例中详尽描述的细节见上述实施例。参见图7,本申请实施例提供的由服务端执行的直播消息传输方法,所述服务端与客户端之间建立有长连接,所述方法可以包括:
S410、响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接;其中,所述长连接建立请求在所述客户端检测到与所述服务端之间的长连接处于断开状态时生成。
其中,长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包的通信连接方式。长连接通道一般是客户端通过TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议)与服务端建立的,服务端使用推模式,向客户端推送消息。长连接通信方式业务接入简单,消息可扩展,可以支持直播间内消息高并发的场景,因此可以适用于直播场景。
由于直播间中长连接本身受移动网络的影响较大,很难保持长时间稳定,如果在直播过程中长连接断开,将严重影响直播间下发消息的准确送达。因此在本申请实施例中,客户端定时检测与服务端之间的长连接状态,从而在长连接断开时及时获知,以避免长连接长时间断开影响直播效果。由于本申请实施例中由客户端定时检测与服务端之间的长连接状态,而不需要服务端定时检测,因此可以有效地降低服务器的压力,提高直播的效果。
为了避免长连接长时间断开导致直播期间的消息无法及时准确地下发至客户端,因此,客户端在检测到长连接处于断开状态时,重新建立与服务端之间的长连接,以保证直播期间消息的及时准确下发。服务端响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接。
S420、向所述客户端发送长连接断开期间的第一类消息。
其中,第一类消息可以为直播间中的必达消息,例如礼物、红包、答题直播中的题目下发、直播间关闭、直播流切换等消息。上述必达消息无法准确送达,则会影响支付结果、结算结果、答题竞赛结果或直播间状态等关键数据,将上述必达消息作为第一类消息。相应地,直播间的普通消息,例如直播弹幕、进场消息、直播间内人数更新等消息,对直播进程和事件结果的影响较小,将上述普通消息作为第二类消息。
由于在长连接断开期间,直播间可能仍有消息通过服务端下发,为了避免消息的缺失,服务端向客户端发送长连接断开期间的第一类消息。同样也可以向客户端发送第二类消息,以保持消息的完整性。
在本申请实施例中,向所述客户端发送长连接断开期间的第一类消息,包括:响应于客户端根据已展现的第一类消息标识生成的第一类消息拉取请求,向所述客户端发送长连接断开期间的第一类消息。所述第一类消息标识单调且递增。
示例性的,客户端检测到长连接处于断开状态时,获取本地已展现的第一类消息标识,根据本地已展现的第一类消息标识生成第一类消息拉取请求,向所述服务端发送所述第一类消息拉取请求,客户端响应客户端发送的第一类消息拉取请求,并向客户端返回第一类消息,具体详见上述实施例中的S330-S350。
在本申请实施例中,所述方法还包括:通过长连接定时向客户端发送包括第二类消息的心跳检测请求,以使客户端在未接收到所述心跳检测请求时,通过状态检测请求检测长连接是否处于断开状态。
具体的,第二类消息的解释见上述实施例。为了检测直播期间的长连接状态,一般方案为服务端定时检测长连接的状态,而此方案会增加服务器的压力,可能会导致服务器无法正常处理直播期间的其他任务,影响直播进程,因此,在本申请实施例中,将服务端定时向客户端下发的第二类消息作为下行心跳检测请求,客户端接收服务端通过长连接发送的消息,如果接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则确定长连接处于连接状态,且展现接收的第二类消息;如果未接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则通过状态检测请求检测长连接是否处于断开状态。通过将服务端定时下发的第二类消息作为下行心跳检测请求,服务端只需正常发送直播间下发的第二类消息,不需要定时发送额外的检测请求以检测长连接的状态,从而有效地降低了服务器的压力,保证服务端对直播期间事件的正常处理,维护正常的直播进程。
本申请实施例还可以为,服务端将直播间下发的消息分为第一类消息和第二类消息,客户端接收服务端通过长连接发送的消息,如果接收到服务端通过长连接发送的第一类消息,则执行对第一类消息的处理操作,例如从服务端拉取第一类消息,进行筛选和/或排序处理,并根据处理结果展现拉取的第一类消息等。如果接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则确定长连接处于连接状态,且展现接收的第二类消息;如果未接收到服务端通过长连接发送的包括第二类消息的心跳检测请求,则通过状态检测请求检测长连接是否处于断开状态。
在本申请实施例中,所述方法还包括:通过长连接向客户端发送第一类消息提醒指令,以使客户端响应于所述第一类消息提醒指令,从所述服务端拉取第一类消息。所述第一类消息提醒指令响应于直播间的固定事务生成,所述固定事务包括如下至少一项:投票、红包和礼物。
具体的,当直播间发起投票、下发红包或者赠送礼物等固定事件时,服务端响应于固定事件,并生成第一类消息提醒指令,用于及时提醒客户端存在第一类消息。服务端可以向客户端发送直播间下发的第一类消息,以使客户端接收并展现第一类消息,也可以并不直接向客户端先发送第一类消息,而是向客户端发送第一类消息提醒指令,以使客户端能够响应于第一消息提醒指令,从服务端拉取第一类消息。与服务端直接向客户端发送第一类消息的方案相比,服务端向客户端发送第一类消息提醒指令能够有效减少服务端向客户端推送的数据量,降低服务器的压力,并且由于传输的数据量减少,能够使客户端快速接收到第一消息提醒指令,缩短了消息到达客户端的时间。
本申请实施例的上述技术方案,通过响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接,并向所述客户端发送长连接断开期间的第一类消息,避免了直播时长连接断开期间消息无法正常传输,导致消息缺失或消息传输不准确的问题,从而使客户端能够准确地获取直播期间的消息。
图8是本申请实施例提供的配置于客户端所属电子设备的直播消息传输装置的结构示意图。参见图8,本申请实施例提供的配置于客户端所属电子设备的直播消息传输装置500,所述客户端与服务端之间建立有长连接,所述装置包括:检测模块501和长连接建立模块502。
其中,检测模块501,用于定时检测与所述服务端之间的长连接状态;
长连接建立模块502,用于若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
在本申请实施例中,所述长连接建立模块502,包括:
标识获取单元,用于获取本地已展现的第一类消息标识;
请求生成单元,用于根据本地已展现的第一类消息标识生成第一类消息拉取请求;
请求发送单元,用于向所述服务端发送所述第一类消息拉取请求,以使所述服务端返回长连接断开期间的第一类消息。
在本申请实施例中,所述第一类消息标识单调且递增。
在本申请实施例中,所述检测模块501,包括:
请求检测单元,用于定时检测是否接收到所述服务端通过所述长连接发送的包括第二类消息的心跳检测请求;
状态检测单元,用于若否,则通过状态检测请求检测长连接是否处于断开状态。
在本申请实施例中,所述装置还包括:
消息展现模块,用于定时检测是否接收到所述服务端通过所述长连接发送的包括第二类消息的心跳检测请求之后,若是,则确定长连接处于连接状态,且展现接收的第二类消息。
在本申请实施例中,所述装置还包括:
提醒指令接收模块,用于通过长连接接收所述服务端发送的第一类消息提醒指令;
提醒指令响应模块,用于响应于所述第一类消息提醒指令,从所述服务端拉取第一类消息。
在本申请实施例中,所述装置还包括:
处理模块,用于根据本地已展现的第一类消息标识,对拉取的第一类消息进行筛选和/或排序处理,并根据处理结果展现拉取的第一类消息。
在本申请实施例中,所述第一类消息提醒指令为响应于直播间的固定事务生成的,所述固定事务包括如下至少一项:投票、红包和礼物。
本申请实施例所提供的配置于客户端所属电子设备的直播消息传输装置可执行本申请任意实施例所提供的由客户端执行的直播消息传输方法,具备执行方法相应的功能模块和有益效果。
图9是本申请实施例提供的配置于服务端所属电子设备的直播消息传输装置的结构示意图。参见图9,本申请实施例提供的配置于服务端所属电子设备的直播消息传输装置600,所述服务端与客户端之间建立有长连接,所述装置包括:请求响应模块601和消息发送模块602。
其中,请求响应模块601,用于响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接;其中,所述长连接建立请求在所述客户端检测到与所述服务端之间的长连接处于断开状态时生成;
消息发送模块602,用于向所述客户端发送长连接断开期间的第一类消息。
在本申请实施例中,所述消息发送模块602,具体用于:
响应于客户端根据已展现的第一类消息标识生成的第一类消息拉取请求,向所述客户端发送长连接断开期间的第一类消息。
在本申请实施例中,所述第一类消息标识单调且递增。
在本申请实施例中,所述装置还包括:
心跳检测请求发送模块,用于通过长连接定时向客户端发送包括第二类消息的心跳检测请求,以使客户端在未接收到所述心跳检测请求时,通过状态检测请求检测长连接是否处于断开状态。
在本申请实施例中,所述装置还包括:
提醒指令发送模块,用于通过长连接向客户端发送第一类消息提醒指令,以使客户端响应于所述第一类消息提醒指令,从所述服务端拉取第一类消息。
在本申请实施例中,所述第一类消息提醒指令响应于直播间的固定事务生成,所述固定事务包括如下至少一项:投票、红包和礼物。
本申请实施例所提供的配置于服务端所属电子设备的直播消息传输装置可执行本申请任意实施例所提供的由服务端执行的直播消息传输方法,具备执行方法相应的功能模块和有益效果。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的直播消息传输方法的电子设备的框图。当所述电子设备实现由客户端执行的直播消息传输方法时,所述电子设备可以为终端设备,例如手机、平板电脑、穿戴设备等。当所述电子设备实现由服务端执行的直播消息传输方法时,所述电子设备可以为服务器等。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的由客户端执行的直播消息传输方法,或者执行本申请所提供的由服务端执行的直播消息传输方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的由客户端执行的直播消息传输方法,或者执行本申请所提供的由服务端执行的直播消息传输方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的直播消息传输方法对应的程序指令/模块(例如,图8所示的检测模块501和长连接建立模块502,或者图9所示的请求响应模块601和消息发送模块602)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的由客户端执行的直播消息传输方法,或者由服务端执行的直播消息传输方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据直播消息传输电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至直播消息传输电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
直播消息传输方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与直播消息传输电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务端。客户端和服务端一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务端关系的计算机程序来产生客户端和服务端的关系。
根据本申请实施例的技术方案,避免了直播时长连接断开期间消息无法正常传输,导致消息缺失或消息传输不准确的问题,从而能够准确地获取直播期间的消息。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (18)
1.一种直播消息传输方法,其特征在于,由客户端执行,所述客户端与服务端之间建立有长连接,所述方法包括:
定时检测与所述服务端之间的长连接状态;
若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
2.根据权利要求1所述的方法,其特征在于,从所述服务端拉取长连接断开期间的第一类消息,包括:
获取本地已展现的第一类消息标识;
根据本地已展现的第一类消息标识生成第一类消息拉取请求;
向所述服务端发送所述第一类消息拉取请求,以使所述服务端返回长连接断开期间的第一类消息。
3.根据权利要求2所述的方法,其特征在于,所述第一类消息标识单调且递增。
4.根据权利要求1所述的方法,其特征在于,定时检测与所述服务端之间的长连接状态,包括:
定时检测是否接收到所述服务端通过所述长连接发送的包括第二类消息的心跳检测请求;
若否,则通过状态检测请求检测长连接是否处于断开状态。
5.根据权利要求4所述的方法,其特征在于,定时检测是否接收到所述服务端通过所述长连接发送的包括第二类消息的心跳检测请求之后,还包括:
若是,则确定长连接处于连接状态,且展现接收的第二类消息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过长连接接收所述服务端发送的第一类消息提醒指令;
响应于所述第一类消息提醒指令,从所述服务端拉取第一类消息。
7.根据权利要求1或6所述的方法,其特征在于,从所述服务端拉取第一类消息之后,所述方法还包括:
根据本地已展现的第一类消息标识,对拉取的第一类消息进行筛选和/或排序处理,并根据处理结果展现拉取的第一类消息。
8.根据权利要求6所述的方法,其特征在于,所述第一类消息提醒指令为响应于直播间的固定事务生成的,所述固定事务包括如下至少一项:投票、红包和礼物。
9.一种直播消息传输方法,其特征在于,由服务端执行,所述服务端与客户端之间建立有长连接,所述方法包括:
响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接;其中,所述长连接建立请求在所述客户端检测到与所述服务端之间的长连接处于断开状态时生成;
向所述客户端发送长连接断开期间的第一类消息。
10.根据权利要求9所述的方法,其特征在于,向所述客户端发送长连接断开期间的第一类消息,包括:
响应于客户端根据已展现的第一类消息标识生成的第一类消息拉取请求,向所述客户端发送长连接断开期间的第一类消息。
11.根据权利要求10所述的方法,其特征在于,所述第一类消息标识单调且递增。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
通过长连接定时向客户端发送包括第二类消息的心跳检测请求,以使客户端在未接收到所述心跳检测请求时,通过状态检测请求检测长连接是否处于断开状态。
13.根据权利要求9所述的方法,其特征在于,所述方法还包括:
通过长连接向客户端发送第一类消息提醒指令,以使客户端响应于所述第一类消息提醒指令,从所述服务端拉取第一类消息。
14.根据权利要求13所述的方法,其特征在于,所述第一类消息提醒指令响应于直播间的固定事务生成,所述固定事务包括如下至少一项:投票、红包和礼物。
15.一种直播消息传输装置,其特征在于,配置于客户端所属电子设备,所述客户端与服务端之间建立有长连接,所述装置包括:
检测模块,用于定时检测与所述服务端之间的长连接状态;
长连接建立模块,用于若检测到长连接处于断开状态,则重新建立与所述服务端之间的长连接,且从所述服务端拉取长连接断开期间的第一类消息。
16.一种直播消息传输装置,其特征在于,配置于服务端所属电子设备,所述服务端与客户端之间建立有长连接,所述装置包括:
请求响应模块,用于响应于客户端的长连接建立请求,重新建立与所述客户端之间的长连接;其中,所述长连接建立请求在所述客户端检测到与所述服务端之间的长连接处于断开状态时生成;
消息发送模块,用于向所述客户端发送长连接断开期间的第一类消息。
17.一种直播消息传输电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的由客户端执行的方法,或者执行权利要求9-14中任一项所述的由服务端执行的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的由客户端执行的方法,或者执行权利要求9-14中任一项所述的由服务端执行的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010463453.3A CN111669438B (zh) | 2020-05-27 | 2020-05-27 | 直播消息传输方法、装置、电子设备及介质 |
EP21164728.4A EP3836484B1 (en) | 2020-05-27 | 2021-03-24 | Method for transmitting live message, apparatus, electronic device, medium and computer program product |
JP2021054122A JP7228616B2 (ja) | 2020-05-27 | 2021-03-26 | ライブ配信メッセージ伝送方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム |
US17/215,590 US11750541B2 (en) | 2020-05-27 | 2021-03-29 | Method for transmitting live message, apparatus, electronic device and medium |
KR1020210041351A KR102611151B1 (ko) | 2020-05-27 | 2021-03-30 | 라이브 방송 메시지 전송 방법, 장치, 전자 기기 및 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010463453.3A CN111669438B (zh) | 2020-05-27 | 2020-05-27 | 直播消息传输方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669438A true CN111669438A (zh) | 2020-09-15 |
CN111669438B CN111669438B (zh) | 2022-10-04 |
Family
ID=72384954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010463453.3A Active CN111669438B (zh) | 2020-05-27 | 2020-05-27 | 直播消息传输方法、装置、电子设备及介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11750541B2 (zh) |
EP (1) | EP3836484B1 (zh) |
JP (1) | JP7228616B2 (zh) |
KR (1) | KR102611151B1 (zh) |
CN (1) | CN111669438B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055499A (zh) * | 2021-05-31 | 2021-06-29 | 云和恩墨(北京)信息技术有限公司 | 数据的传输方法及系统 |
US20210352351A1 (en) * | 2020-05-06 | 2021-11-11 | Shanghai Hode Information Technology Co., Ltd. | Method and device of displaying multi-screen interactive |
CN113973215A (zh) * | 2021-10-25 | 2022-01-25 | 北京字节跳动网络技术有限公司 | 数据去重方法、装置及存储介质 |
CN114553936A (zh) * | 2022-02-18 | 2022-05-27 | 北京达佳互联信息技术有限公司 | 连接方法、装置、电子设备和计算机可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112689202B (zh) * | 2021-03-22 | 2021-06-15 | 北京达佳互联信息技术有限公司 | 直播间消息处理方法、装置、服务器及存储介质 |
CN115103005B (zh) * | 2022-06-14 | 2024-08-16 | 北京京东乾石科技有限公司 | 请求响应方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090046707A1 (en) * | 2007-06-15 | 2009-02-19 | Smires Daniel T | Apparatus for enhanced information display in end user devices of a packet-based communication network |
US20110047219A1 (en) * | 2009-08-18 | 2011-02-24 | Microsoft Corporation | Maintaining communication connections during temporary network disruptions |
CN103338118A (zh) * | 2013-06-04 | 2013-10-02 | 北京搜狐新媒体信息技术有限公司 | 一种通信网络连接方法及装置 |
US20150142982A1 (en) * | 2013-11-15 | 2015-05-21 | Microsoft Corporation | Preservation of connection session |
US20160148178A1 (en) * | 2013-08-05 | 2016-05-26 | Nomura Research Institute, Ltd. | Screen display program |
US20160285923A1 (en) * | 2015-03-27 | 2016-09-29 | At&T Intellectual Property I, Lp | Method and system for providing media services in a communication system |
WO2016161716A1 (zh) * | 2015-04-09 | 2016-10-13 | 中兴通讯股份有限公司 | 一种组播数据流监测方法、装置及组播转发设备 |
CN106686393A (zh) * | 2016-12-19 | 2017-05-17 | 广州华多网络科技有限公司 | 一种虚拟礼物的赠送方法及装置 |
CN107645529A (zh) * | 2016-07-21 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 心跳包发送方法及装置 |
CN109067910A (zh) * | 2018-09-13 | 2018-12-21 | 乐蜜有限公司 | 一种消息拉取的方法及装置 |
CN109660584A (zh) * | 2017-10-12 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种客户端与服务器建立长连接的方法及通信方法与通信系统 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN111193769A (zh) * | 2019-11-25 | 2020-05-22 | 泰康保险集团股份有限公司 | 恢复长连接的方法、系统、装置、电子设备及存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6571274B1 (en) * | 1998-11-05 | 2003-05-27 | Beas Systems, Inc. | Clustered enterprise Java™ in a secure distributed processing system |
KR101259118B1 (ko) * | 2007-02-23 | 2013-04-26 | 엘지전자 주식회사 | 방송 신호 송신 장치 및 방법 |
EP2206269A2 (en) * | 2007-10-30 | 2010-07-14 | Nokia Corporation | Providing improved connection failure detection |
US8516063B2 (en) * | 2010-02-12 | 2013-08-20 | Mary Anne Fletcher | Mobile device streaming media application |
CN103119958A (zh) * | 2010-07-20 | 2013-05-22 | 夏普株式会社 | 内容分发装置、内容重放装置、内容分发系统、内容分发装置的控制方法、控制程序以及记录介质 |
US8712391B2 (en) * | 2010-12-08 | 2014-04-29 | Qualcomm Incorporated | Client-managed group communication sessions within a wireless communications system |
US8732810B2 (en) * | 2011-10-27 | 2014-05-20 | Cellco Partnership | IP push platform and connection protocol in a push notification framework |
US9300492B2 (en) * | 2013-01-14 | 2016-03-29 | Dropbox, Inc. | Notification feed across multiple client devices |
CN104349288B (zh) * | 2013-07-25 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种消息传输方法及装置 |
JP2015231116A (ja) | 2014-06-04 | 2015-12-21 | 富士通株式会社 | データ配信システム及びデータ配信方法 |
WO2016049324A1 (en) * | 2014-09-24 | 2016-03-31 | V5 Systems, Inc. | Dynamic data management |
CN106303702A (zh) * | 2015-06-11 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 连接状态检测方法、装置和智能电视系统 |
US9554091B1 (en) * | 2015-12-15 | 2017-01-24 | Cisco Technology, Inc. | Identifying conference participants and active talkers at a video conference endpoint using user devices |
JP6740055B2 (ja) | 2016-08-12 | 2020-08-12 | 矢崎エナジーシステム株式会社 | 無線通信システム |
JP6634995B2 (ja) * | 2016-09-30 | 2020-01-22 | 富士通クライアントコンピューティング株式会社 | 監視装置、再接続方法および再接続プログラム |
CN107547947B (zh) * | 2017-08-24 | 2020-06-02 | 北京小米移动软件有限公司 | 直播间中虚拟礼物的赠送方法及装置 |
US20190238536A1 (en) * | 2018-01-26 | 2019-08-01 | Qualcomm Incorporated | Techniques for resuming a secure communication session |
CN111226186B (zh) * | 2018-03-16 | 2021-08-03 | 华为技术有限公司 | 唤醒管理方法、定时器管理方法及终端设备 |
US11057476B2 (en) * | 2018-03-28 | 2021-07-06 | Genesys Telecommunications Laboratories, Inc. | System and method for managing communication system |
JP7066509B2 (ja) | 2018-05-07 | 2022-05-13 | 株式会社ドワンゴ | サーバおよびプログラム |
-
2020
- 2020-05-27 CN CN202010463453.3A patent/CN111669438B/zh active Active
-
2021
- 2021-03-24 EP EP21164728.4A patent/EP3836484B1/en active Active
- 2021-03-26 JP JP2021054122A patent/JP7228616B2/ja active Active
- 2021-03-29 US US17/215,590 patent/US11750541B2/en active Active
- 2021-03-30 KR KR1020210041351A patent/KR102611151B1/ko active IP Right Grant
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090046707A1 (en) * | 2007-06-15 | 2009-02-19 | Smires Daniel T | Apparatus for enhanced information display in end user devices of a packet-based communication network |
US20110047219A1 (en) * | 2009-08-18 | 2011-02-24 | Microsoft Corporation | Maintaining communication connections during temporary network disruptions |
CN103338118A (zh) * | 2013-06-04 | 2013-10-02 | 北京搜狐新媒体信息技术有限公司 | 一种通信网络连接方法及装置 |
US20160148178A1 (en) * | 2013-08-05 | 2016-05-26 | Nomura Research Institute, Ltd. | Screen display program |
US20150142982A1 (en) * | 2013-11-15 | 2015-05-21 | Microsoft Corporation | Preservation of connection session |
US20160285923A1 (en) * | 2015-03-27 | 2016-09-29 | At&T Intellectual Property I, Lp | Method and system for providing media services in a communication system |
WO2016161716A1 (zh) * | 2015-04-09 | 2016-10-13 | 中兴通讯股份有限公司 | 一种组播数据流监测方法、装置及组播转发设备 |
CN107645529A (zh) * | 2016-07-21 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 心跳包发送方法及装置 |
CN106686393A (zh) * | 2016-12-19 | 2017-05-17 | 广州华多网络科技有限公司 | 一种虚拟礼物的赠送方法及装置 |
CN109660584A (zh) * | 2017-10-12 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种客户端与服务器建立长连接的方法及通信方法与通信系统 |
CN109067910A (zh) * | 2018-09-13 | 2018-12-21 | 乐蜜有限公司 | 一种消息拉取的方法及装置 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN111193769A (zh) * | 2019-11-25 | 2020-05-22 | 泰康保险集团股份有限公司 | 恢复长连接的方法、系统、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
周凤石: "基于Windows Socket的网络通信中的心跳机制原理及其实现", 《沙洲职业工学院学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210352351A1 (en) * | 2020-05-06 | 2021-11-11 | Shanghai Hode Information Technology Co., Ltd. | Method and device of displaying multi-screen interactive |
US11695979B2 (en) * | 2020-05-06 | 2023-07-04 | Shanghai Hode Information Technology Co., Ltd. | Method and device of displaying multi-screen interactive |
CN113055499A (zh) * | 2021-05-31 | 2021-06-29 | 云和恩墨(北京)信息技术有限公司 | 数据的传输方法及系统 |
CN113055499B (zh) * | 2021-05-31 | 2021-08-31 | 云和恩墨(北京)信息技术有限公司 | 数据的传输方法及系统 |
CN113973215A (zh) * | 2021-10-25 | 2022-01-25 | 北京字节跳动网络技术有限公司 | 数据去重方法、装置及存储介质 |
CN114553936A (zh) * | 2022-02-18 | 2022-05-27 | 北京达佳互联信息技术有限公司 | 连接方法、装置、电子设备和计算机可读存储介质 |
CN114553936B (zh) * | 2022-02-18 | 2024-01-30 | 北京达佳互联信息技术有限公司 | 连接方法、装置、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022003510A (ja) | 2022-01-11 |
US20210218693A1 (en) | 2021-07-15 |
EP3836484A3 (en) | 2021-09-08 |
US11750541B2 (en) | 2023-09-05 |
KR102611151B1 (ko) | 2023-12-07 |
EP3836484B1 (en) | 2023-02-15 |
CN111669438B (zh) | 2022-10-04 |
JP7228616B2 (ja) | 2023-02-24 |
EP3836484A2 (en) | 2021-06-16 |
KR20210042281A (ko) | 2021-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111669438B (zh) | 直播消息传输方法、装置、电子设备及介质 | |
CN110633419B (zh) | 信息推送方法和装置 | |
CN112416284B (zh) | 用于共享屏幕的方法、装置、设备以及存储介质 | |
CN111913884A (zh) | 分布式测试方法、装置、设备、系统和可读存储介质 | |
CN112311597B (zh) | 消息推送方法和装置 | |
CN110489076A (zh) | 环境声音监控方法、装置以及电子设备 | |
CN112382294A (zh) | 语音识别方法、装置、电子设备和存储介质 | |
CN111600790A (zh) | 基于区块链的消息处理方法、装置、设备和存储介质 | |
CN111787088A (zh) | 小程序数据处理的方法和装置 | |
CN113346973B (zh) | 事件提示方法及装置、电子设备、计算机可读存储介质 | |
CN110727736A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
CN114554110A (zh) | 视频生成方法、装置、电子设备和存储介质 | |
CN111368184B (zh) | 智能语音设备的屏保投放方法、设备及存储介质 | |
CN113825170A (zh) | 用于确定网络通道的方法和装置 | |
CN112069137A (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
CN114222167B (zh) | 云投屏控制方法、装置、服务器、系统和可读存储介质 | |
CN112418940A (zh) | 实现交互式广告的方法、装置、设备、存储介质和系统 | |
CN113132758A (zh) | 内容分发网络的控制方法、装置及计算机程序产品 | |
CN113765985B (zh) | 用于同步消息的方法和装置 | |
US20230121242A1 (en) | Systems and methods for stateless maintenance of a remote state machine | |
CN113347456B (zh) | 直播信息的更新方法、装置及电子设备 | |
CN113778578A (zh) | 用于呈现信息的方法和装置 | |
CN118041887A (zh) | 一种消息处理方法、装置、存储介质及电子设备 | |
CN116320092A (zh) | 协议传输方法、装置、电子设备及存储介质 | |
CN117499691A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |