CN113891102B - 直播间处理方法、装置、服务器及存储介质 - Google Patents

直播间处理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN113891102B
CN113891102B CN202110946546.6A CN202110946546A CN113891102B CN 113891102 B CN113891102 B CN 113891102B CN 202110946546 A CN202110946546 A CN 202110946546A CN 113891102 B CN113891102 B CN 113891102B
Authority
CN
China
Prior art keywords
live
real
room
live broadcasting
time layer
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
CN202110946546.6A
Other languages
English (en)
Other versions
CN113891102A (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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110946546.6A priority Critical patent/CN113891102B/zh
Publication of CN113891102A publication Critical patent/CN113891102A/zh
Application granted granted Critical
Publication of CN113891102B publication Critical patent/CN113891102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开关于一种直播间处理方法、装置、服务器及存储介质。本公开包括:在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在离线层上确定各类的开播直播间;在准实时层上计算各类的开播直播间的排序结果,并将各类的开播直播间的排序结果存入准实时层的数据库;在实时层上响应于用户针对目标类的直播间获取请求,在准实时层的数据库存储的各类的开播直播间的排序结果中,确定目标类的开播直播间的排序结果,并向用户反馈与目标类的开播直播间的排序结果对应的开播直播间,通过离线层、准实时层和实时层对各类直播间进行排序处理,及时地响应用户观看直播间的请求。

Description

直播间处理方法、装置、服务器及存储介质
技术领域
本公开涉及计算机处理技术领域,尤其涉及一种直播间处理方法、装置、服务器及存储介质。
背景技术
随着直播间技术的发展,为更实时地响应用户观看直播间的请求,一般会先对海量的直播间进行排序,接收到用户请求时可以及时按照直播间排序结果向用户反馈对应的直播间。在对直播间进行排序时,一般会考虑直播间所属类的特性,构建对应的排序处理方式,例如,为属于吃播类的直播间和属于旅游类的直播间构建不一样的排序处理方式。但是,在直播间所属的类越来越丰富多样的情况下,为不同类的直播间构建不一样的排序处理方式,效率低下,难以及时地响应用户观看直播间的请求。
发明内容
本公开提供一种直播间处理方法、装置、服务器及存储介质,以至少解决相关技术中直播间所属类快速增加的情况下难以及时地响应用户观看直播间请求的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种直播间处理方法,包括:
在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间;
在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库;
在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
在其中一个实施例中,所述在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,包括:
在实时层上接收用户针对目标类的直播间获取请求;
基于所述直播间获取请求中的所述目标类的标识、用户标识和设备标识,在所述准实时层的数据库中确定与所述目标类的标识、所述用户标识和所述设备标识对应的目标数据库;所述设备标识用于唯一表征所述用户标识所在的用户终端;
将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
在其中一个实施例中,在所述将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果之前,所述方法还包括:
当所述目标数据库的用户访问量大于用户访问量阈值时,获取所述用户标识的尾号;
在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库;所述其他数据库是所述准实时层的数据库中除所述目标数据库外的数据库;
将所述其他数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
在其中一个实施例中,所述在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库,包括:
确定所述目标数据库的类键;
将所述准实时层中类键与所述目标数据库的类键相同的数据库,作为存有所述目标类的开播直播间的排序结果的其他数据库。
在其中一个实施例中,所述将所述各类的开播直播间的排序结果存入所述准实时层的数据库,包括:
将同类的开播直播间的排序结果分别存至所述准实时层的不同数据库中。
在其中一个实施例中,所述向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间,包括:
获取所述用户针对所述目标类的直播间历史观看记录;
基于所述直播间历史观看记录,对所述目标类的开播直播间的排序结果进行调整,形成调整后的排序结果;
按照所述调整后的排序结果向所述用户依次推荐所述目标类的开播直播间。
在其中一个实施例中,在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库之后,所述方法还包括:
在所述准实时层上计算新增类的开播直播间的排序结果,并将所述新增类的开播直播间的排序结果存入所述准实时层的数据库。
在其中一个实施例中,在所述准实时层上计算新增类的开播直播间的排序结果之前,所述方法还包括:
在所述离线层上获取新增类的主播配置表;
基于所述新增类的主播配置表和所述开播主播,在所述离线层上确定所述新增类的开播直播间。
根据本公开实施例的第二方面,提供一种直播间处理装置,包括:
离线层处理模块,被配置为执行在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间;
准实时层处理模块,被配置为执行在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库;
实时层处理模块,被配置为执行在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
在其中一个实施例中,所述实时层处理模块,还被配置为执行在实时层上接收用户针对目标类的直播间获取请求;基于所述直播间获取请求中的所述目标类的标识、用户标识和设备标识,在所述准实时层的数据库中确定与所述目标类的标识、所述用户标识和所述设备标识对应的目标数据库;所述设备标识用于唯一表征所述用户标识所在的用户终端;将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
在其中一个实施例中,所述装置还包括排序结果处理模块,被配置为执行当所述目标数据库的用户访问量大于用户访问量阈值时,获取所述用户标识的尾号;在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库;所述其他数据库是所述准实时层的数据库中除所述目标数据库外的数据库;将所述其他数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
在其中一个实施例中,所述排序结果处理模块,还被配置为执行确定所述目标数据库的类键;将所述准实时层中类键与所述目标数据库的类键相同的数据库,作为存有所述目标类的开播直播间的排序结果的其他数据库。
在其中一个实施例中,所述准实时层处理模块,还被配置为执行将同类的开播直播间的排序结果分别存至所述准实时层的不同数据库中。
在其中一个实施例中,所述实时层处理模块,还被配置为执行获取所述用户针对所述目标类的直播间历史观看记录;基于所述直播间历史观看记录,对所述目标类的开播直播间的排序结果进行调整,形成调整后的排序结果;按照所述调整后的排序结果向所述用户依次推荐所述目标类的开播直播间。
在其中一个实施例中,所述装置还包括新增类排序结果处理模块,被配置为执行在所述准实时层上计算新增类的开播直播间的排序结果,并将所述新增类的开播直播间的排序结果存入所述准实时层的数据库。
在其中一个实施例中,所述装置还包括新增类直播间处理模块,被配置为执行在所述离线层上获取新增类的主播配置表;基于所述新增类的主播配置表和所述开播主播,在所述离线层上确定所述新增类的开播直播间。
根据本公开实施例的第三方面,提供一种服务器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任一种可能实现方式所述的直播间处理方法。
根据本公开实施例的第四方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任一种可能实现方式所述的直播间处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面或第一方面的任一种可能实现方式所述的直播间处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:抽象出一套直播间排序处理方式,通过离线层、准实时层和实时层对各类直播间进行排序处理,无需为不同类的直播间构建不同的排序处理方式,可以及时地响应用户观看直播间的请求。具体来说,在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间;在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库;在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种直播间处理框架图。
图2是根据一示例性实施例示出的一种直播间处理方法的流程图。
图3是根据一示例性实施例示出的一种直播间处理框架图。
图4是根据一示例性实施例示出的一种直播间处理方法的流程图。
图5是根据一示例性实施例示出的一种直播间处理装置的框图。
图6是根据一示例性实施例示出的一种服务器的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。
本公开所提供的直播间处理方法中,可以应用于如图1所示的直播间处理框架中,该直播间处理框架包括离线层、准实时层和实时层;在各层上进行不同环节的直播间排序处理,以下结合图2介绍各层上进行的直播间排序处理。
在步骤S201中,在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间。
其中,直播间可以按照直播内容的特性划分至不同类中,得到各类的直播间,如吃播类的直播间、旅游类的直播间。每个直播间在开播时都有对应的主播,主播可以划分至不同类中,如吃播类的主播、旅游类的主播。
本步骤中,可以在离线层上获取各类的主播配置表[主播配置表可以是hive(数据仓库工具)形式的配置表],如吃播类的主播包括Anchor-1、Anchor-3和Anchor-4,旅游类的主播包括Anchor-2和Anchor-5。并且,可以获取当前正在开播的直播间(即开播直播间,如kaibo1、kaibo2、kaibo3、kaibo4和kaibo5)各自对应的主播(即开播主播)为Anchor-3、Anchor-4、Anchor-2、Anchor-1和Anchor-5。按照Anchor-3、Anchor-4和Anchor-2所属的类,可以将kaibo1、kaibo2、kaibo3、kaibo4和kaibo5划分至主播所属的类中,如kaibo1、kaibo2和kaibo4划分至吃播类、kaibo3和kaibo5划分至旅游类,因此,可以得到各类的开播直播间。
在步骤S202中,在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库。
在离线层上得到吃播类的开播直播间(kaibo1、kaibo2和kaibo4)以及旅游类的开播直播间(kaibo3和kaibo5)后,可以在准实时层上计算各类的开播直播间的排序结果,并将各类的开播直播间的排序结果存入准实时层的数据库。
在步骤S203中,在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
其中,目标类是用户想要观看的类,例如吃播类。当在实时层上接收到用户针对吃播类的直播间获取请求后,在准实时层存储的各类开播直播间的排序结果中,确定吃播类的开播直播间的排序结果,并将排序在前的开播直播间先于排序在后的开播直播间展示给用户,以便用户先看到排序在前的开播直播间。
上述直播间处理方法中,抽象出一套直播间排序处理方式,通过离线层、准实时层和实时层对各类直播间进行排序处理,无需为不同类的直播间构建不同的排序处理方式,可以及时地响应用户观看直播间的请求。
在一些实施例中,所述在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,具体可以包括如下步骤:在实时层上接收用户针对目标类的直播间获取请求;基于所述直播间获取请求中的所述目标类的标识、用户标识和设备标识,在所述准实时层的数据库中确定与所述目标类的标识、所述用户标识和所述设备标识对应的目标数据库;所述设备标识用于唯一表征所述用户标识所在的用户终端;将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
其中,用户标识可以是用户账号;设备标识用于唯一表征该用户标识所在的用户终端,例如随机数、设备出厂编号、MAC地址等;设备标识可以由用户终端自动随机生成的,也可以是用户终端出厂时由出厂设备生成的。
示例性地,准实时层的数据库为a、b、c、d、e和f,其中,a、b和e存有吃播类的开播直播间的排序结果。通过目标类标识、用户标识和设备标识可以路由至数据库b,因此,确定数据库b存储的吃播类的开播直播间排序结果并按照该排序结果向用户反馈对应的开播直播间。
上述实施例中,结合目标类标识、用户标识和设备标识至指定的数据库,提高响应用户直播间观看请求的准确性,避免过高用户访问量导致数据库的集群过大引起的水平扩容性能下降的问题。
进一步地,在所述将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果之前,还可以包括如下步骤:当所述目标数据库的用户访问量大于用户访问量阈值时,获取所述用户标识的尾号;在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库;所述其他数据库是所述准实时层的数据库中除所述目标数据库外的数据库;将所述其他数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
示例性地,在根据目标类标识、用户标识和设备标识路由至数据库b时,确定数据库b的用户访问量是否大于用户访问量阈值;若是,则根据用户标识的尾号,在数据库a、c、d、e和f中确定存有吃播类的开播直播间的排序结果的数据库是a和e;接着,基于该尾号,在数据库a和e中确定其中一个数据库,并将该数据库存储的开播直播间的排序结果反馈给用户。
也即,通过用户标识的尾号,确定其他数据库存储的开播直播间排序结果,避免目标数据库的负荷过大,保证正常响应用户针对所选目标类的直播间访问请求。
更进一步地,所述在所述准实时层的数据库中确定存有所述目标类的直播间排序结果的其他数据库,具体可以包括如下步骤:确定所述目标数据库的类键;将所述准实时层中类键与所述目标数据库的类键相同的数据库,作为存有所述目标类的开播直播间的排序结果的其他数据库。
其中,各类都有对应的键,如吃播类对应的键为key1,旅游类对应的键为key2;将开播直播间的排序结果作为value,因此,可以得到各类的开播直播间排序结果的键值对。在根据目标类标识、用户标识和设备标识路由至数据库b后,确定数据库b存储的类键为key1;并将数据库a、c、d、e和f中存储的类键也为key1的数据库作为存有吃播类的开播直播间的排序结果的数据库。
上述实施例中,通过类键确定存有目标类的开播直播间的排序结果的其他数据库,准确地开播直播间排序结果,提高对用户针对目标类的直播间获取请求的响应准确性。
在一些实施例中,所述将所述各类的开播直播间的排序结果存入所述准实时层的数据库,具体可以包括如下步骤:将同类的开播直播间的排序结果分别存至所述准实时层的不同数据库中。
示例性地,可以将吃播类的开播直播间的排序结果分别存至准实时层的数据库a、b和e中,实现对同一类的开播直播间的排序结果的冗余存储,降低对同一数据库的访问负荷。
在一些实施例中,所述向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间,具体可以包括如下步骤:获取所述用户针对所述目标类的直播间历史观看记录;基于所述直播间历史观看记录,对所述目标类的开播直播间的排序结果进行调整,形成调整后的排序结果;按照所述调整后的排序结果向所述用户依次推荐所述目标类的开播直播间。
其中,用户针对目标类的直播间历史观看记录可以包括用户对目标类直播间的观看记录、用户观看垂类内容时的操作记录(如直播间转发记录、直播间收藏记录、直播间评论记录,更具体地例如是观看直播间时打赏主播的记录等)。
示例性地,在确定数据库b存储的吃播类的开播直播间排序结果后,根据用户Alice针对吃播类的直播间历史观看记录,对数据库b存储的吃播类的开播直播间排序结果进行调整,使得调整后的开播直播间排序结果更符合用户Alice的偏好,如用户Alice曾经对主播Anchor-1的直播间进行多次打赏,那么,在调整吃播类的开播直播间排序结果时,可以将主播Anchor-1的直播间kaibo4的顺序调至前面;接着,按照调整后的开播直播间排序结果向用户Alice推荐吃播类的直播间,便于用户Alice优先看到主播Anchor-1的直播间kaibo4。
上述实施例中,结合用户针对目标类的直播间历史观看记录,对目标类的开播直播间排序结果进行调整,使得调整后的开播直播间排序结果更符合用户的偏好,实现个性化目标类直播间推荐。
在一些实施例中,在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库之后,还可以包括如下步骤:在所述准实时层上计算新增类的开播直播间的排序结果,并将所述新增类的开播直播间的排序结果存入所述准实时层的数据库。
示例性地,新增教育类时,可以在准实时层上计算教育类的开播直播间的排序结果,并将教育类的开播直播间排序结果存入准实时层的数据库。
上述实施例中,当新增类时,可以仍在准实时层上进行排序和存储处理,无需构建新的处理层,提高直播间排序的处理效率。
进一步地,在所述准实时层上计算新增类的开播直播间的排序结果之前,还可以包括如下步骤:在所述离线层上获取新增类的主播配置表;基于所述新增类的主播配置表和所述开播主播,在所述离线层上确定所述新增类的开播直播间。
示例性地,当新增教育类时,可以在离线层上获取教育类的主播配置表,并获取当前开播主播,确定教育类的开播直播间,快速上线新增类的开播直播间排序结果,节省人力成本,实现配置化低代码快速上线效果。
本公开提供一应用实例,结合图3和图4并以直播间为例介绍本应用实例:直播广场是拥有单双列直播流供用户观看;如果直播广场短时间内需要新增许多独立的垂类,原有的垂类之间有可能出现已经观看过的主播,破坏用户体验,并且构建一个垂类所需要的开发周期较长,难以满足快速上线新增垂类的需求;除此之外,垂类数据上线后或已有的垂类出现问题时,还要为用户提供一个兜底的数据源。
本应用实例主要基于配置化低代码的方式,介绍一种符合垂类直播场景的内容排序架构;并且,本应用实例还使用分片集群加冗余key(键)的方案,极大增加了性能又解决了热点问题。
本应用实例的直播间排序架构如图3所示,处理流程如图4所示:该直播间排序架构包括三个层次:离线层(主要利用同步任务将各垂类的开播直播间同步至准实时层)、准实时层(主要利用计算任务,计算各垂类的直播间排序结果)和实时层(主要是过滤逻辑的实现)。
其中,离线层使用Hive同步框架,开发人员可以通过配置系统配置各垂类的主播账户配置表并发送至hive同步框架,hive同步框架还可以接收hive数据库中的主播开播的直播间;hive同步框架利用各同步任务,确定各垂类的开播直播间,并将各垂类的开播直播间同步至Redis(一种数据库)。
准实时层使用分片计算框架,利用不同的分片计算任务(如任务1、任务2)对各垂类的开播直播间进行排序计算,得到各垂类的直播间排序结果,并将同一垂类的直播间排序结果冗余多份存入Redis的zset(Sorted-Sets,有序集合)结构中,也即,将同一垂类的直播间排序结果存储Redis集群的不同被访节点中。
实时层承接用户所选目标类的直播间获取请求,以垂类标识、用户标识、设备标识作为路由到指定的数据库,指定的数据库可以利用存在Redis集群其他节点的用户针对各垂类直播间的观看记录,对指定的被访节点自身存储的直播间排序结果进行调整,得到调整后的直播间排序结果;接着,指定的数据库通过API(Application ProgrammingInterface,应用程序接口)并按照该调整后的直播间排序结果向用户反馈对应的直播间。
上述方式中,通过垂类标识、用户标识、设备标识将用户针对垂类的直播间访问请求分散至不同的数据库,避免了被访节点的过高用户访问量导致Redis集群过大引起的水平扩容性能下降的问题,实现高性能的垂类级别去重。
进一步地,如果指定的数据库的访问量过大,那么Redis的zset具有冗余key的特性,使得同一类的开播直播间排序结果可以被存至不同的数据库;因此,还可以根据用户标识的尾号,确定其他数据库向用户反馈对应的开播直播间排序结果。这种处理方式使得原来单独一个key承担的流量,分散在了各个冗余相同的key上,避免了热点问题。
进一步地,若开播直播间排序结果对应的开播直播间数量过多,那么指定的被访节点还可以只读取开播直播间排序结果前100名的开播直播间,并反馈给用户。
本应用实例具有如下效果:
①节省人力成本,具备了配置化低代码快速上线的能力;
②没有数据一致性问题,也没有重复直播流问题,给予观众良好的体验;
③使用分片集群,且不再全量拉取排名直播间,保证了性能;
④因为只读取部分直播间,避免大key阻塞问题;
⑤将用户的直播间访问请求打散到冗余key对应的被访节点上,解决了热key问题。
需要说明的是,上述步骤的具体限定可以参见上文对一种直播间处理方法的具体限定,在此不再赘述。
应该理解的是,虽然图1至图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1至图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图5是根据一示例性实施例示出的一种直播间处理装置框图,该装置包括:
离线层处理模块501,被配置为执行在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间;
准实时层处理模块502,被配置为执行在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库;
实时层处理模块503,被配置为执行在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
在其中一个实施例中,所述实时层处理模块503,还被配置为执行在实时层上接收用户针对目标类的直播间获取请求;基于所述直播间获取请求中的所述目标类的标识、用户标识和设备标识,在所述准实时层的数据库中确定与所述目标类的标识、所述用户标识和所述设备标识对应的目标数据库;所述设备标识用于唯一表征所述用户标识所在的用户终端;将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
在其中一个实施例中,所述装置还包括排序结果处理模块,被配置为执行当所述目标数据库的用户访问量大于用户访问量阈值时,获取所述用户标识的尾号;在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库;所述其他数据库是所述准实时层的数据库中除所述目标数据库外的数据库;将所述其他数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
在其中一个实施例中,所述排序结果处理模块,还被配置为执行确定所述目标数据库的类键;将所述准实时层中类键与所述目标数据库的类键相同的数据库,作为存有所述目标类的开播直播间的排序结果的其他数据库。
在其中一个实施例中,所述准实时层处理模块502,还被配置为执行将同类的开播直播间的排序结果分别存至所述准实时层的不同数据库中。
在其中一个实施例中,所述实时层处理模块503,还被配置为执行获取所述用户针对所述目标类的直播间历史观看记录;基于所述直播间历史观看记录,对所述目标类的开播直播间的排序结果进行调整,形成调整后的排序结果;按照所述调整后的排序结果向所述用户依次推荐所述目标类的开播直播间。
在其中一个实施例中,所述装置还包括新增类排序结果处理模块,被配置为执行在所述准实时层上计算新增类的开播直播间的排序结果,并将所述新增类的开播直播间的排序结果存入所述准实时层的数据库。
在其中一个实施例中,所述装置还包括新增类直播间处理模块,被配置为执行在所述离线层上获取新增类的主播配置表;基于所述新增类的主播配置表和所述开播主播,在所述离线层上确定所述新增类的开播直播间。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种用于直播间处理方法的服务器600的框图。参照图6,服务器600包括处理组件620,其进一步包括一个或多个处理器,以及由存储器622所代表的存储器资源,用于存储可由处理组件620的执行的指令,例如应用程序。存储器622中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件620被配置为执行指令,以执行上述直播间处理方法。
服务器600还可以包括一个电源组件624被配置为执行服务器600的电源管理,一个有线或无线网络接口626被配置为将服务器600连接到网络,和一个输入输出(I/O)接口628。服务器600可以操作基于存储在存储器622的操作系统,例如Window8 8erverTM,MacO8 XTM,UnixTM,LinuxTM,FreeB8DTM或类似。
在一示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器622,上述指令可由服务器600的处理器执行以完成上述方法。存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供一种计算机程序产品,包括计算机程序,该计算机程序存储在计算机可读存储介质中,该计算机程序可由服务器600的处理器执行以完成上述方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (18)

1.一种直播间处理方法,其特征在于,所述方法应用于直播间处理框架中,所述直播间处理框架包括离线层、准实时层和实时层,在离线层、准实时层和实时层上进行不同环节的直播间排序处理,所述方法包括:
在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间;
在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库;
在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
2.根据权利要求1所述的直播间处理方法,其特征在于,所述在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,包括:
在实时层上接收用户针对目标类的直播间获取请求;
基于所述直播间获取请求中的所述目标类的标识、用户标识和设备标识,在所述准实时层的数据库中确定与所述目标类的标识、所述用户标识和所述设备标识对应的目标数据库;所述设备标识用于唯一表征所述用户标识所在的用户终端;
将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
3.根据权利要求2所述的直播间处理方法,其特征在于,在所述将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果之前,所述方法还包括:
当所述目标数据库的用户访问量大于用户访问量阈值时,获取所述用户标识的尾号;
在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库;所述其他数据库是所述准实时层的数据库中除所述目标数据库外的数据库;
将所述其他数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
4.根据权利要求3所述的直播间处理方法,其特征在于,所述在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库,包括:
确定所述目标数据库的类键;
将所述准实时层中类键与所述目标数据库的类键相同的数据库,作为存有所述目标类的开播直播间的排序结果的其他数据库。
5.根据权利要求1所述的直播间处理方法,其特征在于,所述向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间,包括:
获取所述用户针对所述目标类的直播间历史观看记录;
基于所述直播间历史观看记录,对所述目标类的开播直播间的排序结果进行调整,形成调整后的排序结果;
按照所述调整后的排序结果向所述用户依次推荐所述目标类的开播直播间。
6.根据权利要求1所述的直播间处理方法,其特征在于,在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库之后,所述方法还包括:
在所述准实时层上计算新增类的开播直播间的排序结果,并将所述新增类的开播直播间的排序结果存入所述准实时层的数据库。
7.根据权利要求6所述的直播间处理方法,其特征在于,在所述准实时层上计算新增类的开播直播间的排序结果之前,所述方法还包括:
在所述离线层上获取新增类的主播配置表;
基于所述新增类的主播配置表和所述开播主播,在所述离线层上确定所述新增类的开播直播间。
8.根据权利要求1所述的直播间处理方法,其特征在于,所述将所述各类的开播直播间的排序结果存入所述准实时层的数据库,包括:
将同类的开播直播间的排序结果分别存至所述准实时层的不同数据库中。
9.一种直播间处理装置,其特征在于,所述装置应用于直播间处理框架中,所述直播间处理框架包括离线层、准实时层和实时层,在离线层、准实时层和实时层上进行不同环节的直播间排序处理,所述装置包括:
离线层处理模块,被配置为执行在离线层上获取各类的主播配置表,并基于各类的主播配置表和开播直播间对应的开播主播,在所述离线层上确定各类的开播直播间;
准实时层处理模块,被配置为执行在准实时层上计算所述各类的开播直播间的排序结果,并将所述各类的开播直播间的排序结果存入所述准实时层的数据库;
实时层处理模块,被配置为执行在实时层上响应于用户针对目标类的直播间获取请求,在所述准实时层的数据库存储的所述各类的开播直播间的排序结果中,确定所述目标类的开播直播间的排序结果,并向所述用户反馈与所述目标类的开播直播间的排序结果对应的开播直播间。
10.根据权利要求9所述的直播间处理装置,其特征在于,所述实时层处理模块,还被配置为执行在实时层上接收用户针对目标类的直播间获取请求;基于所述直播间获取请求中的所述目标类的标识、用户标识和设备标识,在所述准实时层的数据库中确定与所述目标类的标识、所述用户标识和所述设备标识对应的目标数据库;所述设备标识用于唯一表征所述用户标识所在的用户终端;将所述目标数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
11.根据权利要求10所述的直播间处理装置,其特征在于,所述装置还包括排序结果处理模块,被配置为执行当所述目标数据库的用户访问量大于用户访问量阈值时,获取所述用户标识的尾号;在所述准实时层的数据库中确定存有所述目标类的开播直播间的排序结果的其他数据库;所述其他数据库是所述准实时层的数据库中除所述目标数据库外的数据库;将所述其他数据库存储的开播直播间的排序结果作为所述目标类的开播直播间的排序结果。
12.根据权利要求11所述的直播间处理装置,其特征在于,所述排序结果处理模块,还被配置为执行确定所述目标数据库的类键;将所述准实时层中类键与所述目标数据库的类键相同的数据库,作为存有所述目标类的开播直播间的排序结果的其他数据库。
13.根据权利要求9所述的直播间处理装置,其特征在于,所述实时层处理模块,还被配置为执行获取所述用户针对所述目标类的直播间历史观看记录;基于所述直播间历史观看记录,对所述目标类的开播直播间的排序结果进行调整,形成调整后的排序结果;按照所述调整后的排序结果向所述用户依次推荐所述目标类的开播直播间。
14.根据权利要求9所述的直播间处理装置,其特征在于,所述装置还包括新增类排序结果处理模块,被配置为执行在所述准实时层上计算新增类的开播直播间的排序结果,并将所述新增类的开播直播间的排序结果存入所述准实时层的数据库。
15.根据权利要求14所述的直播间处理装置,其特征在于,所述装置还包括新增类直播间处理模块,被配置为执行在所述离线层上获取新增类的主播配置表;基于所述新增类的主播配置表和所述开播主播,在所述离线层上确定所述新增类的开播直播间。
16.根据权利要求9所述的直播间处理装置,其特征在于,所述准实时层处理模块,还被配置为执行将同类的开播直播间的排序结果分别存至所述准实时层的不同数据库中。
17.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的直播间处理方法。
18.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求1至8中任一项所述的直播间处理方法。
CN202110946546.6A 2021-08-18 2021-08-18 直播间处理方法、装置、服务器及存储介质 Active CN113891102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110946546.6A CN113891102B (zh) 2021-08-18 2021-08-18 直播间处理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110946546.6A CN113891102B (zh) 2021-08-18 2021-08-18 直播间处理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN113891102A CN113891102A (zh) 2022-01-04
CN113891102B true CN113891102B (zh) 2023-09-19

Family

ID=79010702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110946546.6A Active CN113891102B (zh) 2021-08-18 2021-08-18 直播间处理方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN113891102B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172498A (zh) * 2017-04-25 2017-09-15 北京潘达互娱科技有限公司 直播房间展示方法及装置
CN109151488A (zh) * 2018-07-06 2019-01-04 武汉斗鱼网络科技有限公司 根据用户行为实时推荐直播间的方法及系统
CN109547808A (zh) * 2018-11-22 2019-03-29 北京达佳互联信息技术有限公司 数据处理方法、装置、服务器及存储介质
CN110971918A (zh) * 2018-09-28 2020-04-07 广州虎牙信息科技有限公司 直播数据排序方法、服务器及装置
CN111163329A (zh) * 2020-01-02 2020-05-15 北京字节跳动网络技术有限公司 直播间礼物列表配置方法、装置、介质及电子设备
CN112235593A (zh) * 2020-10-16 2021-01-15 广州博冠信息科技有限公司 直播处理方法及装置、电子设备和计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202004992QA (en) * 2017-12-13 2020-06-29 Guangzhou Huya Information Technology Co Ltd Display Method for Live Broadcast Screen of Live Broadcast Room, Storage Device and Computer Device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172498A (zh) * 2017-04-25 2017-09-15 北京潘达互娱科技有限公司 直播房间展示方法及装置
CN109151488A (zh) * 2018-07-06 2019-01-04 武汉斗鱼网络科技有限公司 根据用户行为实时推荐直播间的方法及系统
CN110971918A (zh) * 2018-09-28 2020-04-07 广州虎牙信息科技有限公司 直播数据排序方法、服务器及装置
CN109547808A (zh) * 2018-11-22 2019-03-29 北京达佳互联信息技术有限公司 数据处理方法、装置、服务器及存储介质
CN111163329A (zh) * 2020-01-02 2020-05-15 北京字节跳动网络技术有限公司 直播间礼物列表配置方法、装置、介质及电子设备
CN112235593A (zh) * 2020-10-16 2021-01-15 广州博冠信息科技有限公司 直播处理方法及装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN113891102A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
US20220283883A1 (en) Distributed processing in a messaging platform
US11363353B2 (en) Video highlight determination method and apparatus, storage medium, and electronic device
Alfarrarjeh et al. Scalable spatial crowdsourcing: A study of distributed algorithms
US20120130940A1 (en) Real-time analytics of streaming data
CN104243598B (zh) 一种信息推荐方法及装置
CN113949707A (zh) 基于OpenResty和K8S的容器云服务发现和负载均衡方法
CN106055630A (zh) 日志存储的方法及装置
CN103310087A (zh) 业务数据统计分析方法和装置
CN114553709B (zh) 拓扑关系展示方法及相关设备
CN112121413A (zh) 功能服务的响应方法、系统、装置、终端及介质
CN111464826B (zh) 虚拟资源的榜单更新方法、装置、电子设备及存储介质
CN110601891B (zh) 一种报警处理的方法以及相关装置
CN103607418A (zh) 基于云服务数据特征的大规模数据分割系统及分割方法
CN113891102B (zh) 直播间处理方法、装置、服务器及存储介质
CN110839061B (zh) 数据分发方法、装置及存储介质
CN110909072B (zh) 一种数据表建立方法、装置及设备
US11632588B2 (en) Measuring the performance of a peer-managed content distribution network
CN113965538B (zh) 设备状态消息处理方法、装置及存储介质
CN112764988B (zh) 一种数据分段采集方法及装置
CN115373831A (zh) 数据处理方法、装置以及计算机可读存储介质
CN113473240A (zh) 直播间的数据处理方法、装置、电子设备及存储介质
CN115168366B (zh) 数据处理方法、装置、电子设备以及存储介质
CN113365090A (zh) 对象推荐方法、对象推荐装置、电子设备及可读存储介质
CN112307289A (zh) 搜索方法、节点及存储介质
Manriquez et al. A digital TV-based distributed image processing platform for natural disasters

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