一种基于时间分片的主播排名方法及系统、服务器及存储介质与流程

文档序号:15402563发布日期:2018-09-11 17:53阅读:341来源:国知局

本发明涉及软件工程领域,尤其涉及一种基于时间分片的主播排名方法及系统、服务器及存储介质。



背景技术:

在互联网直播领域,每个平台的不同的直播分类下都拥有大量的主播,大部分主播会在自己擅长的领域进行直播,也有些主播兴趣广泛,他们会选择在多个直播分类下进行表演,而平台如何发掘各分区有潜力的头部主播,对其进行进一步的培养和训练,是平台密切关心的问题,也关系到整个直播平台的发展,现有的直播评价体系大多只允许主播在开播时选择分区,或者只记录了主播在一场表演的开播时的分区a和关播时的分区b,对主播评价体系也都建立在其直播过程中不进行分区切换的范围内,无法对全能的、多方面均衡发展的主播进行有效的评价。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于时间分片的主播排名方法及系统、服务器及存储介质,以解决现有技术中无法对全能的、多方面均衡发展的主播进行有效的评价的问题。

本发明实施例的第一方面,提供了一种基于时间分片的主播排名方法,其包括:

提取所有主播的直播记录和切换记录;

将直播记录和分区切换记录进行左连接,按照分区切换记录将直播记录分割为多条直播切换记录;

按照直播场次对直播切换记录进行分组排列,得到每条直播切换记录的升序排号;

获取每一场直播中直播切换记录的最大升序排号,根据最大升序排号提取得到每一场直播中各个分区的直播时间;

根据分区的直播时间计算人气、观看时长、直播时长、收益,并根据得到的人气、观看时长、直播时长、收益计算直播排名。

本发明实施例的第二方面,提供了一种基于时间分片的主播排名系统,其包括:

数据提取模块,用于提取所有主播的直播记录和切换记录;

关联分割模块,用于将直播记录和分区切换记录进行左连接,按照分区切换记录将直播记录分割为多条直播切换记录;

分组排序模块,用于按照直播场次对直播切换记录进行分组排列,得到每条直播切换记录的升序排号;

分区时间获取模块,用于获取每一场直播中直播切换记录的最大升序排号,根据最大升序排号提取得到每一场直播中各个分区的直播时间;

人气排名计算模块,用于根据分区的直播时间计算人气、观看时长、直播时长、收益,并根据得到的人气、观看时长、直播时长、收益计算直播排名。

本发明实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述基于时间分片的主播排名方法的步骤。

本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述基于时间分片的主播排名方法的步骤。

本发明所述基于时间分片的主播排名方法及系统、服务器及存储介质,其通过精确提取每一场直播中各个分区的直播时间,从而能够有效的对直播期间切换分区与未切换分区的主播进行细粒度的人气、直播时长、收益、群主观看时长等多维度的统计,从而进行主播价值排名,对全能的、多方面均衡发展的主播进行有效的评价,达到确定头部主播的目的;同时也能够基于多种纬度对主播进行评价,有效控制刷直播时长的主播行为,经过了线上数据验证和时间的考验,其具有科学性和有效性,对于直播公司发掘有潜力的新人主播、培养新生力量、运营策略、薪酬结算、合作决策等方面都有不可估量的价值。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于时间分片的主播排名方法的流程框图;

图2为本发明实施例提供的基于时间分片的主播排名方法的步骤流程图;

图3为本发明实施例提供的基于时间分片的主播排名系统的功能模块框图;

图4为本发明实施例提供的分区时间获取模块的功能单元框图;

图5为本发明实施例提供的服务器的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路、以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

如图1和图2所示,本发明实施例提供的基于时间分片的主播排名方法,其包括:

s1、提取所有主播的直播记录和切换记录。

直播平台要满足在直播期间切换分区,且要消除以往只能按照开播分区进行粗粒度统计的误差,则可以通过对每场直播中分区的切换添加操作,来提取直播记录和切换记录。所述直播记录包括场次编号、开播所在分区、直播开始时间、直播结束时间;所述分区切换记录包括分区切换时间,切换前所在分区,切换后所在分区。具体的可以通过日志记录的方式,将场次编号、切换时间、切换前所在分区、切换后所在分区等数据记录在数据库中。

所述场次编号、切换时间、切换前所在分区、切换后所在分区可以分别记为show_id,dateline,tag_before,tag_after;所述数据库优选hive数据库。

s2、将直播记录和分区切换记录进行左连接,按照分区切换记录将直播记录分割为多条直播切换记录。

具体的,在数据库中将直播记录(show_id,tag,start_time,end_time)和分区切换记录(show_id,dateline,tag_before,tag_after)进行左连接,按照分区切换记录将直播记录分割为多条直播切换记录,并按照切换时间dateline升序排列可以得到如下的记录:

show_id,tag,start_time,end_time,dateline,tag_before,tag_after

其具体数据样例如下:

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0109:00:00,tag_1,tag2

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0110:00:00,tag_2,tag3

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0113:00:00,tag_3,tag4

2,tag_8,2018/01/0109:00:00,2018/01/0112:35:00,null,null,null

3,tag_9,2018/01/0109:20:00,2018/01/0119:35:00,null,null,null。

s3、按照直播场次对直播切换记录进行分组排列,得到每条直播切换记录的升序排号。

通过以上样例,前3行记录表明场次为1的表演在直播期间进行了分区的切换,后两场直播未进行分区切换,然后将以上得到的结果按照场次进行的分组,得到每行记录的升序排号row_number记作n,如下:

show_id,tag,start_time,end_time,dateline,tag_before,tag_after,n

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0109:00:00,tag_1,tag2,1

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0110:00:00,tag_2,tag3,2

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0113:00:00,tag_3,tag4,3

2,tag_8,2018/01/0109:00:00,2018/01/0112:35:00,null,null,null,1

3,tag_9,2018/01/0109:20:00,2018/01/0119:35:00,null,null,null,1。

s4、获取每一场直播中直播切换记录的最大升序排号,根据最大升序排号提取得到每一场直播中各个分区的直播时间。

分组后,通过对每个分组中的最大n进行获取,记为max_n,将得到如下记录:

show_id,tag,start_time,end_time,dateline,tag_before,tag_after,n,max_n

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0109:00:00,tag_1,tag2,1,3

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0110:00:00,tag_2,tag3,2,3

1,tag_1,2018/01/0108:00:00,2018/01/0118:00:00,2018/01/0113:00:00,tag_3,tag4,3,3

2,tag_8,2018/01/0109:00:00,2018/01/0112:35:00,null,null,null,1,1

3,tag_9,2018/01/0109:20:00,2018/01/0119:35:00,null,null,null,1,1。

当最大升序排号等于1时,表示该场直播的整体时间段内没有发生分区切换,则将该条直播切换记录中的开始时间和结束时间作为该直播在对应分区中最终的开始时间和结束时间,计算得到该场直播在对应区分的直播时间;

即对max_n=1的直播记录直接提取show_id,tag,start_time,end_time中的start_time、end_time作为该场直播在tag分区的开始时间start_time和结束时间end_time。

当最大升序排号大于1时,表示该场直播的整体时间段内发生了分区切换,则对该条直播切换记录进行组内的级联操作,得到每场直播中的各个分区的直播时间。所述组内的级联操作具体为在升序排号相差为1的直播切换记录间进行分区直播开始和结束时间的选取。

即对上面记录中,max_n>1的前三条记录进行如下操作:

n=1,其show_id=1,分区为tag_before的值tag_1,开始时间本条记录的start_time:2018/01/0108:00:00,结束时间为本条记录的dateline:2018/01/0109:00:00。

n=2,其show_id=1,分区为tag_before的值tag_2,开始时间为n=1的记录的dateline:2018/01/0109:00:00,结束时间本条记录的dateline:2018/01/0110:00:00。

n=3,按照上一条规则,其show_id=1,分区为tag_before的值tag_3,开始时间为n=2的记录的dateline:2018/01/0110:00:00,结束时间本条记录的dateline:2018/01/0113:00:00。

由于max_n也为3,还需计算1条表演末尾直播记录:其show_id=1,分区为tag_after的值tag_4,开始时间为n=3的记录的dateline:2018/01/0113:00:00,结束时间本条记录的end_time:2018/01/0118:00:00。

通过上述规则可以将每场直播的各个分区时间记录下来,然后根据分区的直播时间计算人气、观看时长、直播时长、收益,并根据得到的人气、观看时长、直播时长、收益计算直播排名,所述直播排名的计算公式如下:

其中,p表示排名,acu为人气指数,s为观看时长,f为直播时长,y为收益;能够有效控制循环播放视频的直播行为。

采用本发明所述基于时间分片的主播排名方法,通过精确提取每一场直播中各个分区的直播时间,从而能够有效的对直播期间切换分区与未切换分区的主播进行细粒度的人气、直播时长、收益、群主观看时长等多维度的统计,从而进行主播价值排名,对全能的、多方面均衡发展的主播进行有效的评价,达到确定头部主播的目的;同时也能够基于多种纬度对主播进行评价,有效控制刷直播时长的主播行为,经过了线上数据验证和时间的考验,其具有科学性和有效性,对于直播公司发掘有潜力的新人主播、培养新生力量、运营策略、薪酬结算、合作决策等方面都有不可估量的价值。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

上面主要描述了一种基于时间分片的主播排名方法,下面将对一种基于时间分片的主播排名装置进行详细描述。

图3示出了本发明实施例提供的基于时间分片的主播排名系统的一个实施例结构图。如图3所示,所述基于时间分片的主播排名系统包括以下功能模块:

数据提取模块10,用于提取所有主播的直播记录和切换记录;

关联分割模块20,用于将直播记录和分区切换记录进行左连接,按照分区切换记录将直播记录分割为多条直播切换记录;

分组排序模块30,用于按照直播场次对直播切换记录进行分组排列,得到每条直播切换记录的升序排号;

分区时间获取模块40,用于获取每一场直播中直播切换记录的最大升序排号,根据最大升序排号提取得到每一场直播中各个分区的直播时间;

人气排名计算模块50,用于根据分区的直播时间计算人气、观看时长、直播时长、收益,并根据得到的人气、观看时长、直播时长、收益计算直播排名。

其中,如图4所示,所述分区时间获取模块40包括以下两个功能单元:

无切换时间获取单元41,用于当最大升序排号等于1时,则将该条直播切换记录中的开始时间和结束时间作为该直播在对应分区中最终的开始时间和结束时间,计算得到该场直播在对应区分的直播时间;

有切换时间获取单元42,用于当最大升序排号大于1时,则对该条直播切换记录进行组内的级联操作,得到每场直播中的各个分区的直播时间;所述有切换时间获取单元中的组内的级联操作具体为在升序排号相差为1的直播切换记录间进行分区直播开始和结束时间的选取。

图5是本发明一实施例提供的基于时间分片的主播排名的服务器结构的示意图。所述服务器,为提供计算服务的设备,通常指具有较高计算能力,通过网络提供给多个用户使用的计算机。如图5所示,该实施例的服务器6包括:存储器61、处理器62以及系统总线63,所述存储器61包括存储其上的可运行的程序611,本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图5对终端设备的各个构成部件进行具体的介绍:

存储器61可用于存储软件程序以及模块,处理器62通过运行存储在存储器61的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在存储器61上包含基于时间分片的主播排名方法的可运行程序611,所述可运行程序611可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器61中,并由处理器62执行,以完成通知的传递并获取通知实现过程,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序611在所述服务器6中的执行过程。例如,所述计算机程序611可以被分割为获取模块、比对模块、拼接模块和发送模块。

处理器62是服务器的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器61内的软件程序和/或模块,以及调用存储在存储器61内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器62可包括一个或多个处理单元;优选的,处理器62可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器62中。

系统总线63是用来连接计算机内部各功能部件,可以传送数据信息、地址信息、控制信息,其种类可以是例如pci总线、isa总线、vesa总线等。处理器62的指令通过总线传递至存储器61,存储器61反馈数据给处理器62,系统总线63负责处理器62与存储器61之间的数据、指令交互。当然系统总线63还可以接入其他设备,例如网络接口、显示设备等。

所述服务器应至少包括cpu、芯片组、内存、磁盘系统等,其他构成部件在此不再赘述。

在本发明实施例中,该终端所包括的处理器62执行的可运行程序具体为:一种基于时间分片的主播排名方法,其包括:

提取所有主播的直播记录和切换记录;

将直播记录和分区切换记录进行左连接,按照分区切换记录将直播记录分割为多条直播切换记录;

按照直播场次对直播切换记录进行分组排列,得到每条直播切换记录的升序排号;

获取每一场直播中直播切换记录的最大升序排号,根据最大升序排号提取得到每一场直播中各个分区的直播时间,所述根据最大升序排号提取得到每一场直播中各个分区的直播时间包括以下两种情况:

当最大升序排号等于1时,则将该条直播切换记录中的开始时间和结束时间作为该直播在对应分区中最终的开始时间和结束时间,计算得到该场直播在对应区分的直播时间;

当最大升序排号大于1时,则对该条直播切换记录进行组内的级联操作,得到每场直播中的各个分区的直播时间,所述组内的级联操作具体为在升序排号相差为1的直播切换记录间进行分区直播开始和结束时间的选取。

最后根据分区的直播时间计算人气、观看时长、直播时长、收益,并根据得到的人气、观看时长、直播时长、收益计算直播排名。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1