CN117750047A - 直播数据处理方法及平台 - Google Patents
直播数据处理方法及平台 Download PDFInfo
- Publication number
- CN117750047A CN117750047A CN202311756727.8A CN202311756727A CN117750047A CN 117750047 A CN117750047 A CN 117750047A CN 202311756727 A CN202311756727 A CN 202311756727A CN 117750047 A CN117750047 A CN 117750047A
- Authority
- CN
- China
- Prior art keywords
- data
- live
- live broadcast
- stream
- push
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000013500 data storage Methods 0.000 claims abstract description 116
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000013480 data collection Methods 0.000 claims description 19
- 238000004220 aggregation Methods 0.000 claims description 11
- 230000002776 aggregation Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004883 computer application Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种直播数据处理方法及平台,涉及视频处理技术领域。包括:流媒体数据采集系统从流媒体服务器中采集其中存储的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳;流媒体数据采集系统将添加有采集时间戳的直播推流数据同时投递至消息队列与第一数据存储系统中;第一数据处理系统从消息队列中消费数据,并将消费到的数据存储至第二数据存储系统中;第二数据处理系统消费投递过来的数据,并将消费到的数据存储至第一数据存储系统中;第一、第二数据处理系统根据消费到的数据中的直播流名及采集时间戳对其中存储的与直播流名匹配的直播流的在推时间进行更新。本申请可保证直播推流数据的可用性。
Description
技术领域
本申请涉及视频处理技术领域,尤其涉及一种直播数据处理方法及平台。
背景技术
在直播过程中,为了方便在业务层面上对最新的直播推流数据进行处理,一般会通过采集系统从流媒体服务器中采集直播推流数据,然后通过消息队列组件存储从流媒体服务器中采集到的直播推流数据,之后,可以对消息队列组件中存储的直播推流数据进行业务层面上的处理。通过上述方式,可以实现对最新的直播推流数据的数据采集和数据存储的组件解耦。
然而,发明人发现,一旦消息队列组件出现故障,在业务层上将无法再对最新的直播推流数据进行处理。
发明内容
有鉴于此,现提供一种直播数据处理方法及平台,以解决上述问题。
本申请提供了一种直播数据处理平台,所述直播数据处理平台包括流媒体服务器、流媒体数据采集系统、消息队列、第一数据处理系统、第二数据处理系统、第一数据存储系统及第二数据存储系统,其中:
所述流媒体服务器,用于存储主播的直播推流数据;
所述流媒体数据采集系统,用于从所述流媒体服务器中采集所述直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳;
所述流媒体数据采集系统,还用于将添加有采集时间戳的直播推流数据投递至所述消息队列中,以及通过预设投递方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中;
所述第一数据处理系统,用于从所述消息队列中消费数据,并将消费到的数据存储至所述第二数据存储系统中,以及根据消费到的数据中包含的第一直播流名以及采集时间戳对所述第二数据存储系统中存储的与所述第一直播流名匹配的直播流的在推时间进行更新;
所述第二数据处理系统,用于消费通过所述预设投递方式投递的数据,并将消费到的数据存储至所述第一数据存储系统中,以及根据消费到的数据中包含的第二直播流名以及采集时间戳对所述第一数据存储系统中存储的与所述第二直播流名匹配的直播流的在推时间进行更新。
可选地,所述直播数据处理平台还包括数据汇聚系统,所述数据汇聚系统用于:
从所述第一数据存储系统与所述第二数据存储系统中获取各个直播流的在推时间;
根据从所述第一数据存储系统与所述第二数据存储系统获取到的各个直播流的在推时间确定各个所述直播流的最新在推时间。
可选地,所述流媒体数据采集系统包括数据采集指令发送模块,数据采集模块及采集时间戳添加模块,其中:
数据采集指令发送模块,用于向所述流媒体服务器发送数据采集指令,所述数据采集指令中携带有待采集直播流的第三直播流名,其中,所述流媒体服务器在接收到所述数据采集指令后,将与所述第三直播流名匹配的直播推流数据传输至所述流媒体数据采集系统;
所述数据采集模块,用于采集所述流媒体服务器传输的直播推流数据;
所述采集时间戳添加模块,用于在所述数据采集模块每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
可选地,所述采集时间戳添加模块,还用于在所述数据采集模块每采集到一条直播推流数据后,获取NTP时间,并将所述NTP时间作为所述采集时间戳添加至采集到的直播推流数据中。
可选地,所述预设投递方式为远程过程调用的方式,所述流媒体数据采集系统,还用于通过远程过程调用的方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中。
可选地,所述第一数据存储系统与所述第二数据存储系统皆为Redis数据库。
可选地,所述流媒体服务器具有多个,所述流媒体数据采集系统,还用于从多个所述流媒体服务器中采集所有处于直播状态中的主播的直播推流数据。
本申请还提供了一种直播数据处理方法,应用于直播数据处理平台中,所述直播数据处理平台包括流媒体服务器、流媒体数据采集系统、消息队列、第一数据处理系统、第二数据处理系统、第一数据存储系统及第二数据存储系统,所述方法包括:
所述流媒体数据采集系统从所述流媒体服务器中采集其中存储的主播的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳;
所述流媒体数据采集系统将添加有采集时间戳的直播推流数据投递至所述消息队列中,以及所述流媒体数据采集系统通过预设投递方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中;
所述第一数据处理系统从所述消息队列中消费数据,并将消费到的数据存储至所述第二数据存储系统中,以及所述第一数据处理系统根据消费到的数据中包含的第一直播流名以及采集时间戳对所述第二数据存储系统中存储的与所述第一直播流名匹配的直播流的在推时间进行更新;
所述第二数据处理系统消费通过所述预设投递方式投递的数据,并将消费到的数据存储至所述第一数据存储系统中,以及所述第二数据处理系统根据消费到的数据中包含的第二直播流名以及采集时间戳对所述第一数据存储系统中存储的与所述第二直播流名匹配的直播流的在推时间进行更新。
可选地,所述直播数据处理平台还包括数据汇聚系统,所述方法还包括:
所述数据汇聚系统从所述第一数据存储系统与所述第二数据存储系统中获取各个直播流的在推时间;
所述数据汇聚系统根据从所述第一数据存储系统与所述第二数据存储系统获取到的各个直播流的在推时间确定各个所述直播流的最新在推时间。
可选地,所述流媒体数据采集系统从所述流媒体服务器中采集其中存储的主播的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳包括:
所述流媒体数据采集系统向所述流媒体服务器发送数据采集指令,所述数据采集指令中携带有待采集直播流的第三直播流名,其中,所述流媒体服务器在接收到所述数据采集指令后,将与所述第三直播流名匹配的直播推流数据传输至所述流媒体数据采集系统;
所述流媒体数据采集系统采集所述流媒体服务器传输的直播推流数据;
所述流媒体数据采集系统每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
本申请中的直播数据处理平台,通过将流媒体数据采集系统采集到的流媒体数据通过双数据链路传递,实现了最新的直播推流数据的双链路生产,这样即使消息队列组件出现故障,也可以对最新的直播推流数据进行处理,保障了最新的直播推流数据的高可用性和稳定性。此外,本申请中的直播数据处理平台通过在将直播推流数据存储至第一数据存储系统与第二数据存储系统时,都会对直播流最新的在推时间进行更新,这样,当需要获取最新的直播推流数据时,可以根据第一数据存储系统与第二数据存储系统中存储的直播流的在推时间来确定最新的直播推流数据存储至哪个数据存储系统中,后续需要对最新的直播推流数据进行处理时,可以及时获取到该最新的直播推流数据。
附图说明
图1为本申请实施例的直播数据处理方法的一实施例的应用环境示意图;
图2为本申请所述的直播数据处理平台的一种实施例的框架图;
图3为本申请所述的直播数据处理方法的一种实施例的流程图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
直播流:直播音视频数据的传输,它能够被作为一个稳定的和连续的流通过网络传输给观众观看。
直播房间:直播服务中,每个主播会有一个唯一标识符,根据标识符可以进入该主播的直播观看页面,即为所述主播房间。
TCP:是一种面向连接的、可靠的、基于字节流的传输层通信协议。
消息队列:是在消息的传输过程中保存消息的容器。
RPC:远程过程调用(Remote Procedure Call)。
图1示出了本申请实施例提供的应用场景的一种示意图,该应用场景包括:服务器100、主播终端200和观众终端300。其中,服务器100、主播终端200和观众终端300位于无线网络或有线网络中,服务器100与主播终端200和观众终端300可以进行数据交互。在一些实施方式中,主播终端200的数量(图1中仅示出一个)以及观众终端300的数量(图1中仅示出一个)可以不做限定,观众终端300与主播终端200也可以将服务器100以及CDN(ContentDelivery Network,内容分发网络)作为传输中介,并通过互联网来实现相互间的数据交互。
在本申请实施例中,服务器100可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器,具体的服务器类型在本申请实施例中可以不作为限定。主播终端200以及观众终端300可以是移动手机、智能手机、笔记本电脑、台式电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、可穿戴电子设备等,具体的终端设备类型在本申请实施例中可以不作为限定。
在本实施例中,主播终端200内可以安装有直播客户端,该直播客户端用于实现主播进行视频直播。该直播客户端可以是安装在主播终端200上的计算机应用程序(Application,APP),也可以是Web客户端,该Web客户端可指基于Web架构而开发的应用程序。
在本实施例中,观众终端300内可以安装有观众客户端,该观众客户端用于实现观众接收直播内容,并对直播内容进行展示。该观众客户端可以是安装在观众终端300上的计算机应用程序(Application,APP),也可以是Web客户端,该Web客户端可指基于Web架构而开发的应用程序。
下面,将在上述示例性应用环境下提供若干个实施例,来说明本申请中的直播数据处理平台。参阅图2,本实施例中所提供的直播数据处理平台包括:流媒体服务器21、流媒体数据采集系统22、消息队列23、第一数据处理系统24、第二数据处理系统25、第一数据存储系统26及第二数据存储系统27。
流媒体服务器21,用于存储主播的直播推流数据。
具体地,当主播直播时,会通过主播客户端将主播当前在直播过程中产生的直播推流数据推送至流媒体服务器21,以便流媒体服务器21可以存储该直播推流数据。
其中,所述直播推流数据为主播客户端推送至流媒体服务器21的直播音视频数据。直播推流数据中包含直播流名(流ID)。
需要说明的是,由于主播在直播过程中,会源源不断地产生直播推流数据,在本实施例中,可以将这些源源不断地直播推流数据作为一条直播流。
在一示例性的实施方式中,为了使得位于全国各地的主播可以直播,可以在全国各地都部署流媒体服务器21。主播在进行直播时,可以根据预设的策略选择合适的流媒体服务器进行推流。
需要说明的是,流媒体服务器21为了区分不同主播的直播推流数据,在主播在将主播推流数据推送至流媒体服务器21之前,流媒体服务器21会为每一条直播流分配一个直播流名(也可以称为流ID)。当主播终端将当前主播直播过程中产生的直播推流数据推送至流媒体服务器21时,会在每一条直播推流数据中添加该直播流名,这样,流媒体服务器21在接收到直播推流数据后,即可以根据该直播推流数据中的直播流名确定当前接收到的直播推流数据具体属于哪一个直播流的直播推流数据。
流媒体数据采集系统22,用于从流媒体服务器21中采集所述直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
具体地,为了使得主播的观众可以及时观看到主播的直播视频,在本实施例中,流媒体数据采集系统22会从流媒体服务器采集主播的直播推流数据。此外,流媒体数据采集系统22每当从流媒体服务器中采集到一条直播推流数据后,会在采集到的直播推流数据中添加采集时间戳。
其中,该采集时间戳为采集到的直播推流数据的系统时间,比如,直播推流数据a是在2023年11月7日11时20分00秒采集到的,则会将时间2023年11月7日11时20分00秒添加至直播推流数据a中。
在一示例性的实施方式中,当流媒体服务器21具有多个时,流媒体数据采集系统21会从多个流媒体服务器21中采集所有处于直播状态中的主播的直播推流数据。
具体地,若流媒体服务器21包括流媒体服务器a、流媒体服务器b及流媒体服务器c,则流媒体数据采集系统21会分别从流媒体服务器a、流媒体服务器b及流媒体服务器c中采集其中存储的各个处于直播状态中的主播的直播推流数据。
在一示例性的实施方式中,所述流媒体数据采集系统22包括数据采集指令发送模块,数据采集模块及采集时间戳添加模块。
所述数据采集指令发送模块,用于向流媒体服务器21发送数据采集指令,所述数据采集指令中携带有待采集直播流的第三直播流名,其中,流媒体服务器21在接收到所述数据采集指令后,将与所述第三直播流名匹配的直播推流数据传输至所述流媒体数据采集系统。
具体地,当流媒体数据采集系统22需要从流媒体服务21采集主播的直播推流数据时,流媒体数据采集系统22会调用数据采集指令发送模块向流媒体服务器21发送数据采集指令。
需要说明的是,由于流媒体服务器21中存储有不同直播流对应的直播推流数据,因此,在本实施例中,数据采集指令发送模块在向流媒体服务器21发送数据采集指令时,会在该数据采集指令中携带待采集直播流的第三直播流名。这样,当流媒体服务器21在接收到数据采集指令时,会根据该数据采集指令中携带的第三直播流名找到与该第三直播流名相匹配的直播流的直播推流数据,在找到该直播推流数据后,流媒体服务器21会通过网络将该直播推流数据传输至流媒体数据采集系统22。
所述数据采集模块,用于采集流媒体服务器21传输的直播推流数据。
具体地,当流媒体服务器21通过网络将该直播推流数据传输至流媒体数据采集系统22时,流媒体数据采集系统22会调用所述数据采集模块采集流媒体服务器21传输的直播推流数据。
所述采集时间戳添加模块,用于在所述数据采集模块每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
具体地,在所述数据采集模块每采集到一条直播推流数据后,流媒体数据采集系统22会调用采集时间戳添加模块在该采集到的直播推流数据中添加采集时间戳。
在一示例性的实施方式中,所述采集时间戳添加模块,还用于在所述数据采集模块每采集到一条直播推流数据后,获取NTP时间,并将所述NTP时间作为所述采集时间戳添加至采集到的直播推流数据中。
具体地,NTP(Network Time Protocol,网络时间协议)时间为从NTP服务器中获取到的系统时间。
流媒体数据采集系统22,还用于将添加有采集时间戳的直播推流数据投递至所述消息队列中,以及通过预设投递方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中。
本实施例中,在所述数据采集模块每采集到一条直播推流数据后,采集时间戳添加模块会从NTP服务器中获取当前的NTP时间,并在获取到NTP时间后,将该NTP时间作为所述采集时间戳添加至采集到的直播推流数据中。
流媒体数据采集系统22,还用于将添加有采集时间戳的直播推流数据投递至消息队列23中,以及通过预设投递方式将添加有采集时间戳的直播推流数据投递至第一数据存储系统26中。
具体地,流媒体数据采集系统22在采集到的直播推流数据中添加好采集时间戳后,会将添加有采集时间戳的直播推流数据投递至消息队列23中,同时,流媒体数据采集系统22还会通过另一条链路以预设投递方式将添加有采集时间戳的直播推流数据投递至第一数据存储系统26中。
其中,所述消息队列可以为Kafka、ActiveMQ、RabbitMQ、RocketMQ等。
所述预设投递方式为预先设定的投递方式,所述预设投递方式可以为远程过程调用(Remote Procedure Call)方式,HTTP请求的方式等。
在一示例性的实施方式中,当所述预设投递方式可以为远程过程调用的方式时,流媒体数据采集系统22在采集到的直播推流数据中添加好采集时间戳后,会通过远程过程调用的方式将添加好采集时间戳的直播推流数据投递至第一数据存储系统26中。
本实施例中,通过将添加好采集时间戳直播推流数据同时投递至消息队列23和第一数据存储系统26中,实现对直播推流数据的双写,保证直播推流数据的高可用性和稳定性。
第一数据处理系统24,用于从消息队列23中消费数据,并将消费到的数据存储至第二数据存储系统27中,以及根据消费到的数据中包含的第一直播流名以及采集时间戳对第二数据存储系统27中存储的与所述第一直播流名匹配的直播流的在推时间进行更新。
具体地,第一数据处理系统24可以为Flink系统、spark系统等。第一数据处理系统24会从消息队列23中消费数据,并在每消费到一条数据后,会对该数据进行解析,从而从该数据中提取出其中包含的第一直播流名以及采集时间戳。
所述第一直播流名用于确定该数据属于那条直播流的直播推流数据。该采集时间戳用于当前该条数据用于确定该条数据被采集的时间。
在本实施例中,第一数据处理系统24在从消息队列中消费到数据后,会将消费到的数据存储至第二数据存储系统27中,实现对直播流数据的持久化存储,以及便于后续可以将该直播流数据分发给观众观看。
第一数据处理系统24在得到消费到的数据中包含的第一直播流名以及采集时间戳后,会根据该第一直播流名从第二数据存储系统27中查找到与所述第一直播流名匹配的直播流的在推时间,然后,会将该采集时间戳来更新在推时间。
其中,所述在推时间为用于确定直播流是否仍在推流的时间。
本实施例中,通过在将直播推流数据存入第二数据存储系统27时,会根据采集时间戳对在推时间进行更新,从而使得在第二数据存储系统27记录的在推时间为直播流最新的在推时间。
第二数据处理系统25,用于消费通过所述预设投递方式投递的数据,并将消费到的数据存储至第一数据存储系统26中,以及根据消费到的数据中包含的第二直播流名以及采集时间戳对第一数据存储系统26中存储的与所述第二直播流名匹配的直播流的在推时间进行更新。
具体地,第二数据处理系统25也可以为Flink系统、spark系统等。第二数据处理系统25会消费通过所述预设投递方式投递过来的数据,并在每消费到一条数据后,会对该数据进行解析,从而从该数据中提取出其中包含的第二直播流名以及采集时间戳。
所述第二直播流名用于确定该数据属于那条直播流的直播推流数据。该采集时间戳用于当前该条数据用于确定该条数据被采集的时间。
在本实施例中,第二数据处理系统25在消费到数据后,会将消费到的数据存储至第一数据存储系统26中,实现对直播流数据的持久化存储。
第二数据处理系统25在得到消费到的数据中包含的第二直播流名以及采集时间戳后,会根据该第二直播流名从第一数据存储系统26中查找到与所述第二直播流名匹配的直播流的在推时间,然后,会将该采集时间戳来更新在推时间。
其中,所述在推时间为用于确定直播流是否仍在推流的时间。
本实施例中,通过在将直播推流数据存入第一数据存储系统26时,会根据采集时间戳对在推时间进行更新,从而使得在第一数据存储系统26记录的在推时间为直播流最新的在推时间。
在一示例性的实施方式,为了后续可以快速获取到第一数据存储系统26与第二数据存储系统27中存储的直播推流数据,第一数据存储系统26与第二数据存储系统27优选为Redis数据库。
本申请中的直播数据处理平台,通过将流媒体数据采集系统采集到的流媒体数据通过双数据链路传递,实现了最新的直播推流数据的双链路生产,这样即使消息队列组件出现故障,也可以对最新的直播推流数据进行处理,保障了最新的直播推流数据的高可用性和稳定性。此外,本申请中的直播数据处理平台通过在将直播推流数据存储至第一数据存储系统与第二数据存储系统时,都会对直播流最新的在推时间进行更新,这样,当需要获取最新的直播推流数据时,可以根据第一数据存储系统与第二数据存储系统中存储的直播流的在推时间来确定最新的直播推流数据存储至哪个数据存储系统中,后续需要对最新的直播推流数据进行处理时,可以及时获取到该最新的直播推流数据。
在一示例性的实施方式中,为了便于后续对外提供查询服务,所述直播数据处理平台还包括数据汇聚系统。
所述数据汇聚系统,用于从第一数据存储系统26与第二数据存储系统27中获取各个直播流的在推时间;根据从所述第一数据存储系统与所述第二数据存储系统获取到的各个直播流的在推时间确定各个所述直播流的最新在推时间。
具体地,数据汇聚系统会实时从第一数据存储系统26与第二数据存储系统27中获取其中存储的所有直播流的在推时间,然后在获取到所有直播流的在推时间后,会对同一直播流在第一数据存储系统26与第二数据存储系统27中记录的在推时间进行对比,并将这两个在推时间中的更晚的在推时间作为当前直播流的最新的在推时间。比如,对于直播流1,在第一数据存储系统26中存储的在推时间为2023年11月4号14时16分20秒,在二数据存储系统27中存储的在推时间为2023年11月4号14时16分15秒,则数据汇聚系统会将时间:2023年11月4号14时16分15秒作为直播流1的最新在推时间。
本实施例中,通过数据汇聚系统对数据进行汇聚处理,这样,当后续需要对外提提查询服务时,可以直接确定不同的流名的直播流需要提供哪个存储系统中存储的直播推流数据。
参照图3,其为本申请一实施例的直播数据处理方法。该方法应用于直播数据处理平台中。所述直播数据处理平台包括流媒体服务器、流媒体数据采集系统、消息队列、第一数据处理系统、第二数据处理系统、第一数据存储系统及第二数据存储系统。其中,直播数据处理平台为上述实施例中的直播数据处理平台。
在本实施例中,所述方法包括:
步骤S30,所述流媒体数据采集系统从所述流媒体服务器中采集其中存储的主播的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳;
步骤S31,所述流媒体数据采集系统将添加有采集时间戳的直播推流数据投递至所述消息队列中,以及所述流媒体数据采集系统通过预设投递方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中;
步骤S32,所述第一数据处理系统从所述消息队列中消费数据,并将消费到的数据存储至所述第二数据存储系统中,以及所述第一数据处理系统根据消费到的数据中包含的第一直播流名以及采集时间戳对所述第二数据存储系统中存储的与所述第一直播流名匹配的直播流的在推时间进行更新;
步骤S33,所述第二数据处理系统消费通过所述预设投递方式投递的数据,并将消费到的数据存储至所述第一数据存储系统中,以及所述第二数据处理系统根据消费到的数据中包含的第二直播流名以及采集时间戳对所述第一数据存储系统中存储的与所述第二直播流名匹配的直播流的在推时间进行更新。
在一示例性的实施方式中,所述直播数据处理平台还包括数据汇聚系统,所述方法还包括:所述数据汇聚系统从所述第一数据存储系统与所述第二数据存储系统中获取各个直播流的在推时间;及所述数据汇聚系统根据从所述第一数据存储系统与所述第二数据存储系统获取到的各个直播流的在推时间确定各个所述直播流的最新在推时间。
在一示例性的实施方式中,所述流媒体数据采集系统从所述流媒体服务器中采集其中存储的主播的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳包括:所述流媒体数据采集系统向所述流媒体服务器发送数据采集指令,所述数据采集指令中携带有待采集直播流的第三直播流名,其中,所述流媒体服务器在接收到所述数据采集指令后,将与所述第三直播流名匹配的直播推流数据传输至所述流媒体数据采集系统;所述流媒体数据采集系统采集所述流媒体服务器传输的直播推流数据;所述流媒体数据采集系统每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
在一示例性的实施方中,所述流媒体数据采集系统在每采集到一条直播推流数据后,获取NTP时间,并将所述NTP时间作为所述采集时间戳添加至采集到的直播推流数据中。
在一示例性的实施方中,所述预设投递方式为远程过程调用的方式,所述流媒体数据采集系统会通过远程过程调用的方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中。
在一示例性的实施方中,第一数据存储系统与所述第二数据存储系统皆为Redis数据库。
在一示例性的实施方中,所述流媒体服务器具有多个,流媒体数据采集系统会从多个所述流媒体服务器中采集所有处于直播状态中的主播的直播推流数据。
本申请中的直播数据处理方法,通过将流媒体数据采集系统采集到的流媒体数据通过双数据链路传递,实现了最新的直播推流数据的双链路生产,这样即使消息队列组件出现故障,也可以对最新的直播推流数据进行处理,保障了最新的直播推流数据的高可用性和稳定性。此外,本申请中的直播数据处理平台通过在将直播推流数据存储至第一数据存储系统与第二数据存储系统时,都会对直播流最新的在推时间进行更新,这样,当需要获取最新的直播推流数据时,可以根据第一数据存储系统与第二数据存储系统中存储的直播流的在推时间来确定最新的直播推流数据存储至哪个数据存储系统中,后续需要对最新的直播推流数据进行处理时,可以及时获取到该最新的直播推流数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种直播数据处理平台,其特征在于,所述直播数据处理平台包括流媒体服务器、流媒体数据采集系统、消息队列、第一数据处理系统、第二数据处理系统、第一数据存储系统及第二数据存储系统,其中:
所述流媒体服务器,用于存储主播的直播推流数据;
所述流媒体数据采集系统,用于从所述流媒体服务器中采集所述直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳;
所述流媒体数据采集系统,还用于将添加有采集时间戳的直播推流数据投递至所述消息队列中,以及通过预设投递方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中;
所述第一数据处理系统,用于从所述消息队列中消费数据,并将消费到的数据存储至所述第二数据存储系统中,以及根据消费到的数据中包含的第一直播流名以及采集时间戳对所述第二数据存储系统中存储的与所述第一直播流名匹配的直播流的在推时间进行更新;
所述第二数据处理系统,用于消费通过所述预设投递方式投递的数据,并将消费到的数据存储至所述第一数据存储系统中,以及根据消费到的数据中包含的第二直播流名以及采集时间戳对所述第一数据存储系统中存储的与所述第二直播流名匹配的直播流的在推时间进行更新。
2.根据权利要求1所述的直播数据处理平台,其特征在于,所述直播数据处理平台还包括数据汇聚系统,所述数据汇聚系统用于:
从所述第一数据存储系统与所述第二数据存储系统中获取各个直播流的在推时间;
根据从所述第一数据存储系统与所述第二数据存储系统获取到的各个直播流的在推时间确定各个所述直播流的最新在推时间。
3.根据权利要求2所述的直播数据处理方法,其特征在于,所述流媒体数据采集系统包括数据采集指令发送模块,数据采集模块及采集时间戳添加模块,其中:
数据采集指令发送模块,用于向所述流媒体服务器发送数据采集指令,所述数据采集指令中携带有待采集直播流的第三直播流名,其中,所述流媒体服务器在接收到所述数据采集指令后,将与所述第三直播流名匹配的直播推流数据传输至所述流媒体数据采集系统;
所述数据采集模块,用于采集所述流媒体服务器传输的直播推流数据;
所述采集时间戳添加模块,用于在所述数据采集模块每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
4.根据权利要求3所述的直播数据处理平台,其特征在于,所述采集时间戳添加模块,还用于在所述数据采集模块每采集到一条直播推流数据后,获取NTP时间,并将所述NTP时间作为所述采集时间戳添加至采集到的直播推流数据中。
5.根据权利要求1所述的直播数据处理平台,其特征在于,所述预设投递方式为远程过程调用的方式,所述流媒体数据采集系统,还用于通过远程过程调用的方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中。
6.根据权利要求1至5任一项所述的直播数据处理平台,其特征在于,所述第一数据存储系统与所述第二数据存储系统皆为Redis数据库。
7.根据权利要求1至5任一项所述的直播数据处理平台,其特征在于,所述流媒体服务器具有多个,所述流媒体数据采集系统,还用于从多个所述流媒体服务器中采集所有处于直播状态中的主播的直播推流数据。
8.一种直播数据处理方法,应用于直播数据处理平台中,其特征在于,所述直播数据处理平台包括流媒体服务器、流媒体数据采集系统、消息队列、第一数据处理系统、第二数据处理系统、第一数据存储系统及第二数据存储系统,所述方法包括:
所述流媒体数据采集系统从所述流媒体服务器中采集其中存储的主播的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳;
所述流媒体数据采集系统将添加有采集时间戳的直播推流数据投递至所述消息队列中,以及所述流媒体数据采集系统通过预设投递方式将添加有采集时间戳的直播推流数据投递至所述第一数据存储系统中;
所述第一数据处理系统从所述消息队列中消费数据,并将消费到的数据存储至所述第二数据存储系统中,以及所述第一数据处理系统根据消费到的数据中包含的第一直播流名以及采集时间戳对所述第二数据存储系统中存储的与所述第一直播流名匹配的直播流的在推时间进行更新;
所述第二数据处理系统消费通过所述预设投递方式投递的数据,并将消费到的数据存储至所述第一数据存储系统中,以及所述第二数据处理系统根据消费到的数据中包含的第二直播流名以及采集时间戳对所述第一数据存储系统中存储的与所述第二直播流名匹配的直播流的在推时间进行更新。
9.根据权利要求8所述的直播数据处理方法,其特征在于,所述直播数据处理平台还包括数据汇聚系统,所述方法还包括:
所述数据汇聚系统从所述第一数据存储系统与所述第二数据存储系统中获取各个直播流的在推时间;
所述数据汇聚系统根据从所述第一数据存储系统与所述第二数据存储系统获取到的各个直播流的在推时间确定各个所述直播流的最新在推时间。
10.根据权利要求8所述的直播数据处理方法,其特征在于,所述流媒体数据采集系统从所述流媒体服务器中采集其中存储的主播的直播推流数据,并在每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳包括:
所述流媒体数据采集系统向所述流媒体服务器发送数据采集指令,所述数据采集指令中携带有待采集直播流的第三直播流名,其中,所述流媒体服务器在接收到所述数据采集指令后,将与所述第三直播流名匹配的直播推流数据传输至所述流媒体数据采集系统;
所述流媒体数据采集系统采集所述流媒体服务器传输的直播推流数据;
所述流媒体数据采集系统每采集到一条直播推流数据后,在采集到的直播推流数据中添加采集时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311756727.8A CN117750047A (zh) | 2023-12-19 | 2023-12-19 | 直播数据处理方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311756727.8A CN117750047A (zh) | 2023-12-19 | 2023-12-19 | 直播数据处理方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117750047A true CN117750047A (zh) | 2024-03-22 |
Family
ID=90280675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311756727.8A Pending CN117750047A (zh) | 2023-12-19 | 2023-12-19 | 直播数据处理方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117750047A (zh) |
-
2023
- 2023-12-19 CN CN202311756727.8A patent/CN117750047A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3706424B1 (en) | Video live broadcast method and apparatus | |
CA2643342C (en) | System and method for cross-carrier mobile device capability discovery | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
JP3498887B2 (ja) | 送信装置および送信方法、並びに受信装置および受信方法 | |
CN106028075B (zh) | 弹幕显示方法及装置 | |
US8463858B2 (en) | System and method for binding notification types to applications for a notification framework | |
CN104081759A (zh) | 接收设备,接收方法和程序 | |
CN102474524B (zh) | 用于对等网络中的针对性广告的方法 | |
US20090119388A1 (en) | Content relaying device and content relaying method | |
CN105635180A (zh) | 消息推送方法及装置 | |
CN101202882B (zh) | 一种媒体资源传输方法、系统及机顶盒 | |
CN103813185A (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
EP1346571B1 (en) | Synchronization of bulk data transfers to end node devices in a multimedia network | |
CN105592318A (zh) | 一种实现hls频道回看业务的系统、设备和方法 | |
CN101983382B (zh) | 通过无线通信网络来有针对性地分发搜索索引片段 | |
EP3868071B1 (en) | Distributed state recovery in a system having dynamic reconfiguration of participating nodes | |
MX2014012332A (es) | Metodo para ingerir multiples señales de la misma relevancia. | |
CN114222086A (zh) | 音视频码流的调度方法、系统、介质及电子装置 | |
CN114553890B (zh) | 系统消息处理方法、装置、计算机设备及存储介质 | |
EP3579526A1 (en) | Resource file feedback method and apparatus | |
CN117750047A (zh) | 直播数据处理方法及平台 | |
CN102611716B (zh) | 一种传输媒体文件的方法、装置及系统 | |
WO2023219832A1 (en) | Video streaming systems and methods | |
CN102246459B (zh) | 互动信息更新方法、装置、服务器及终端 | |
RU2400016C2 (ru) | Способ и система для передачи данных, относящихся к теле- и звуковому вещанию, на мобильный модуль обработки данных |
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 |