CN108200070B - 一种生成榜单的方法及装置 - Google Patents

一种生成榜单的方法及装置 Download PDF

Info

Publication number
CN108200070B
CN108200070B CN201810023925.6A CN201810023925A CN108200070B CN 108200070 B CN108200070 B CN 108200070B CN 201810023925 A CN201810023925 A CN 201810023925A CN 108200070 B CN108200070 B CN 108200070B
Authority
CN
China
Prior art keywords
data
list
fields
file
pieces
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
CN201810023925.6A
Other languages
English (en)
Other versions
CN108200070A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810023925.6A priority Critical patent/CN108200070B/zh
Publication of CN108200070A publication Critical patent/CN108200070A/zh
Application granted granted Critical
Publication of CN108200070B publication Critical patent/CN108200070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • 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/24Querying
    • G06F16/248Presentation of query results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

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

Abstract

本发明公开了一种生成榜单的方法,包括:接收网络直播平台上的数据协议;获取榜单配置文件;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。本发明解决了现有技术中在生成榜单时,存在过程复杂,鲁棒性差的技术问题,实现了方便快捷地生成榜单,且鲁棒性较好的技术效果。同时,本发明公开了一种生成榜单的装置。

Description

一种生成榜单的方法及装置
技术领域
本发明涉及网络直播技术领域,尤其涉及一种生成榜单的方法及装置。
背景技术
在网络直播领域,榜单(例如:“主播人气榜单”、“观众等级榜单”、等等)是一种非常重要增加用户粘性,刺激用户消费的方式。常用实现榜单的方式,要在业务逻辑层就将数据按排序维度处理,然后抽象出榜单排序字段和得分,进而生成榜单。
但是,这种实现方式,在业务形态千差万别的情况下,必定造成的每次创建榜单都要重写一部分代码,这明显增加了开发人员的工作量,同时也降低了程序的鲁棒性。
发明内容
本申请实施例通过提供一种生成榜单的方法及装置,解决了现有技术中在生成榜单时,存在过程复杂,鲁棒性差的技术问题,实现了方便快捷地生成榜单,且鲁棒性较好的技术效果。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种生成榜单的方法,包括:
接收网络直播平台上的数据协议;
获取榜单配置文件;
基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;
将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;
从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
优选地,所述基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,包括:
基于所述榜单配置文件,确定预设筛选规则;
基于所述预设筛选规则,从所述数据协议中筛选出所述M个字段的数据。
优选地,所述将所述M个字段的数据写入内存数据库程序的预设字段中,包括:
调用Lua脚本,将所述M个字段的数据写入所述内存数据库程序的预设字段中。
优选地,所述将所述M个字段的数据写入内存数据库程序的预设字段中,包括:
将所述M个字段的数据写入内存数据库程序Redis的Zset字段中。
优选地,所述将所述M个字段的数据写入内存数据库程序的预设字段中,获得排序文件,包括:
通过所述内存数据库程序对所述M个字段的数据按照预设排序规则进行排序,获得第一排序文件;以及
在获得第一排序文件后,若检测到所述M个字段的数据中有新增数据,则通过所述内存数据库程序对所述M个字段的数据按照所述预设排序规则重新排序,获得第二排序文件。
优选地,所述从所述排序文件中提取出排序靠前的N条数据,包括:
调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
优选地,所述从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,包括:
从所述第一排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单;或
从所述第二排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单。
第二方面,本申请通过本申请的一实施例,提供如下技术方案:
一种生成榜单的装置,包括:
接收单元,用于接收网络直播平台上的数据协议;
获取单元,用于获取榜单配置文件;
筛选单元,用于基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;
写入单元,将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;
生成单元,用于从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
优选地,所述筛选单元,具体用于:
基于所述榜单配置文件,确定预设筛选规则;基于所述预设筛选规则,从所述数据协议中筛选出所述M个字段的数据。
优选地,所述排序单元,具体用于:
调用Lua脚本,将所述M个字段的数据写入所述内存数据库程序的预设字段中。
优选地,所述排序单元,具体用于:
将所述M个字段的数据写入内存数据库程序Redis的Zset字段中。
优选地,所述排序单元,具体用于:
通过所述内存数据库程序对所述M个字段的数据按照预设排序规则进行排序,获得第一排序文件;以及,在获得第一排序文件后,若检测到所述M个字段的数据中有新增数据,则通过所述内存数据库程序对所述M个字段的数据按照所述预设排序规则重新排序,获得第二排序文件。
优选地,所述生成单元,具体用于:
调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
优选地,所述生成单元,具体用于:
从所述第一排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单;或从所述第二排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单。
第三方面,本申请通过本申请的一实施例,提供如下技术方案:
一种基于高级程序设计语言实现钩子函数的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
第四方面,本申请通过本申请的一实施例,提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本申请实施例中,公开了一种生成榜单的方法,包括:接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。如此,解决了现有技术中在生成榜单时,存在过程复杂,鲁棒性差的技术问题,实现了方便快捷地生成榜单,且鲁棒性较好的技术效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种生成榜单的方法的流程图;
图2为本申请实施例中一种生成榜单的装置200的结构图;
图3为本申请实施例中一种生成榜单的装置300的结构图;
图4为本申请实施例中一种计算机可读存储介质的结构图。
具体实施方式
本申请实施例通过提供一种生成榜单的方法及装置,解决了现有技术中在生成榜单时,存在过程复杂,鲁棒性差的技术问题,实现了方便快捷地生成榜单,且鲁棒性较好的技术效果。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种生成榜单的方法,包括:接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
本实施例提供了一种生成榜单的方法,应用于网络直播平台服务器中,网络直播平台服务器可以为一个服务器或多个服务器组成的服务器集群,网络直播平台服务器可以为直播客户端提供网络服务。其中,该直播客户端可以安装在用户(例如:主播用户和观众用户)的终端设备(例如:个人电脑、或智能手机、或平板电脑、等等)中。通常,网络直播平台服务器可以接收主播用户客户端上传的主播用户的直播视频,并将该直播视频发送给主播直播间中的观众用户的客户端,从而使观众用户收看到主播用户的直播视频。
如图1所述,所述生成榜单的方法,包括
步骤S101:接收网络直播平台上的数据协议。
在具体实施过程中,在直播平台服务器上有主播用户(客户端)和观众客户(客户端)之间往来的数据,该数据以一固定的数据协议传输,其中,该数据协议中通常含有用于生成榜单的信息。此处,可以获取这些数据协议,并基于这些数据协议,来生成我们需要的榜单。
在具体实施过程中,榜单是一种非常重要的刺激消费的方式,在网络直播领域中,通常会生成多个榜单。
举例来讲,主播用户收到礼物的多少能够反映出主播用户的人气,一般,收到的礼物越多,主播用户的人气越高,受观众用户的喜爱程度越高。因此,可以统计每个主播用户收到礼物的数量,并按照收到礼物的由多到少的顺序对每个主播用户进行排序,生成一个榜单(例如:“主播人气榜单”)。
举例来讲,观众用户赠送礼物的多少能够反映出观众注用户对主播用户的喜爱程度,一般,赠送的礼物越多,观众用户的等级越高,与主播用户的互动也就越多。因此,可以统计某一直播间中每个观众用户赠送礼物的数量,并按照赠送礼物由多到少的顺序对直播间中的每个观众用户进行排序,获得一榜单(例如:“观众等级榜单”)。
在具体实施过程中,在该数据协议中可以包含多个字段,例如,主播用户ID、观众用户ID、直播间ID、在一预设时间段(例如:一天、或一周、或一个月、等等)主播用户收到礼物的数量(或价值)、在预设时间段内某一直播间中每个观众用户对主播用户赠送礼物的数量(或价值)、等等。其中,该数据协议根据业务的不同,所包含的字段也有所不同。
步骤S102:获取榜单配置文件。
在具体实施过程中,可以提供多个榜单配置文件,该榜单配置文件可以由开发人员提前制作,并保存在网络直播平台服务器中。其中,每个榜单配置文件用于生成一种特定的榜单,通过修改榜单配置文件,即可生成不同的榜单。其中,榜单配置文件主要用途有两个,一个是数据协议对榜单字段的映射配置,一个是榜单排序字段、score字段、榜单生成时间、榜单过滤条件等配置。在这些配置完成后,直播平台服务器收到数据协议后,会自动根据需要的数据维度排序,生成榜单。在新的业务形态出现时,只是添加新的配置,即可完成榜单的配置。
此处,通过修改榜单配置文件,即可生成不同的榜单,可以在各种业务形体下,轻松完成榜单的搭建,大大增加了程序的鲁棒性。
步骤S103:基于榜单配置文件,从数据协议中筛选出M个字段的数据,M为正整数。
作为一种可选的实施例,步骤S103,包括:
基于榜单配置文件,确定预设筛选规则;基于预设筛选规则,从数据协议中筛选出M个字段的数据。
在具体实施过程中,在榜单配置文件中保存有一预设筛选规则,用于对数据协议的大量数据字段进行筛选,筛选出我们需要的字段的数据(即:所述M个字段的数据)。
在具体实施过程中,可以根据字段的不同(例如:字段名称的不同),筛选出我们需要的字段的数据。
举例来讲,在创建上述“主播人气榜单”时,则需要从数据协议中的大量字段数据中提取出主播用户的ID字段、主播收到礼物数量的字段。
举例来讲,在创建某一直播间中“观众等级榜单”时,则需要从数据协议中的大量字段数据中提取出观众用户的ID字段、观众用户赠送礼物的数量的字段。
作为一种可选的实施例,由于每个字段有包含多条数据,在榜单配置文件中还可以设置其他筛选规则,对所述M个字段的数据下的每条数据,进行进一步筛选。
在具体实施过程中,可以按照时段的不同,对字段内的每条数据进行筛选。
举例来讲,在创建上述“主播人气榜单”时,可以只考虑在晚8点至晚24点这一时段内主播用户收到的礼物数量,也就是说,在从数据协议中的大量字段数据中提取出主播用户的ID字段、主播收到礼物数量的字段后,可以进一步对这些字段下的数据进行筛选,筛选出晚8点至晚24点这一时段内的数据。
举例来讲,在创建某一直播间中“观众等级榜单”时,可以只考虑在晚8点至晚24点这一时段内观众用户送出的礼物数量,也就是说,在从数据协议中的大量字段数据中提取出主播用户的ID字段、主播收到礼物数量的字段后,可以进一步对这些字段下的数据进行筛选,筛选出晚8点至晚24点这一时段内的数据。
步骤S104:将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件。
在具体实施过程中,所述内存数据库程序具体为Redis,所述预设字段具体为Redis中的Zset字段。其中,Redis是一个key-value内存数据库程,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset-有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与Memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
作为一种可选的实施例,可以调用Lua脚本,将M个字段的数据写入内存数据库程序的预设字段中。
具体来讲,可以使用Lua脚本,将M个字段的数据写入Redis的Zset字段中,这样可以保证数据操作的原子性。其中,Lua是一个小巧的脚本语言。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。
在具体实施过程中,zset字段需要三个要素:key、field、score。其中,key作为榜单中的唯一标识,可以区分每一条数据,方便后续对榜单中的每条数据进行查询。
在具体实施过程中,需要将提取到的字段数据映射到Zset的field和score字段中,Redis会将数据按score排序,比较大小排序的过程可以在Redis中自动完成。
举例来讲,在创建上述“主播人气榜单”时,可以将主播用户的ID字段的数据映射Zset的field字段中,将主播用户收到礼物数量的字段的数据映射Zset的score字段中。
举例来讲,在创建上述“观众等级榜单”时,可以将观众用户的ID字段的数据映射Zset的field字段中,将观众用户赠送礼物数量的字段的数据映射Zset的score字段中。
作为一种可选的实施例,所述通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件,包括:
通过内存数据库程序对M个字段的数据按照预设排序规则进行排序,获得第一排序文件;以及
在获得第一排序文件后,若检测到M个字段的数据中有新增数据,则通过内存数据库程序对M个字段的数据按照预设排序规则重新排序,获得第二排序文件。
在具体实施过程中,Redis会将数据按score,对每条数据预设排序规则自动排序,例如,可以按照由高到低、或由大到小、或由多到少的顺序进行排序,获得排序文件。
举例来讲,在创建上述“主播人气榜单”时,Redis会按照主播用户收到礼物数量由多到少的顺序,对每个主播用户(即:主播用户的ID)进行排序。
举例来讲,在创建上述“主观众等级榜单”时,Redis会按照观众用户赠送礼物数量由多到少的顺序,对每个观众用户(即:观众用户的ID)进行排序。
在具体实施过程在,在进行排序后,若需要增加新的条数,可以调用zincryby函数实现,此时,Redis会重新进行排序。
步骤S105:从排序文件中提取出排序靠前的N条数据,并基于N条数据生成榜单,N为正整数。
在具体实施过程中,可以调用zrevrange函数,从排序文件中提取出排序靠前的N条数据。此处,N可以很据实际需要自由设置。例如:若想获得排名前10的榜单,则N=10;若想获得排名前100的榜单,则N=100。
作为一种可选的实施例,所述从排序文件中提取出排序靠前的N条数据,并基于N条数据生成榜单,包括:
从第一排序文件种提取取出排序靠前的N条数据,并基于N条数据生成榜单;或
从第二排序文件种提取取出排序靠前的N条数据,并基于N条数据生成榜单。
在具体实施过程中,若在步骤S104中没有新增数据,则调用zrevrange函数从第一排序文件种提取取出排序靠前的N条数据,并基于N条数据生成榜单;若在步骤S104中有新增数据,则调用zrevrange函数从第二排序文件种提取取出排序靠前的N条数据,并基于N条数据生成榜单。
通过上述的方法,即可实现在千变万化的业务场景下,灵活的提取原始的协议数据,自动组装成榜单。使用方只需要将原始协议字段发送给榜单服务即可。该方法在无需修改任何代码的情况下,自动完成榜单的生产,一方面减少了开发人员的工作量,另一方面提高了鲁棒性。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在本申请实施例中,公开了一种生成榜单的方法,包括:接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。如此,解决了现有技术中在生成榜单时,存在过程复杂,鲁棒性差的技术问题,实现了方便快捷地生成榜单,且鲁棒性较好的技术效果。
实施例二
基于同一发明构思,如图2所示,实施例提供了一种生成榜单的装置,包括:
接收单元201,用于接收网络直播平台上的数据协议;
获取单元202,用于获取榜单配置文;
筛选单元203,用于基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;
排序单元204,用于将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;
生成单元205,用于从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
作为一种可选的实施例,筛选单元203,具体用于:
基于所述榜单配置文件,确定预设筛选规则;基于所述预设筛选规则,从所述数据协议中筛选出所述M个字段的数据。
作为一种可选的实施例,排序单元204,具体用于:
调用Lua脚本,将所述M个字段的数据写入所述内存数据库程序的预设字段中。
作为一种可选的实施例,排序单元204,具体用于:
将所述M个字段的数据写入内存数据库程序Redis的Zset字段中。
作为一种可选的实施例,排序单元204,具体用于:
通过所述内存数据库程序对所述M个字段的数据按照预设排序规则进行排序,获得第一排序文件;以及,在获得第一排序文件后,若检测到所述M个字段的数据中有新增数据,则通过所述内存数据库程序对所述M个字段的数据按照所述预设排序规则重新排序,获得第二排序文件。
作为一种可选的实施例,生成单元205,具体用于:
调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
作为一种可选的实施例,生成单元205,具体用于:
从所述第一排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单;或从所述第二排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单。
由于本实施例所介绍的生成榜单的装置为实施本申请实施例中生成榜单的方法所采用的装置,故而基于本申请实施例中所介绍的生成榜单的方法,本领域所属技术人员能够了解本实施例的生成榜单的装置的具体实施方式以及其各种变化形式,所以在此对于该生成榜单的装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中生成榜单的方法所采用的装置,都属于本申请所欲保护的范围。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在本申请实施例中,公开了一种生成榜单的装置,包括:接收单元,用于接收网络直播平台上的数据协议;获取单元,用于获取榜单配置文;筛选单元,用于基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;排序单元,用于将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;生成单元,用于从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。如此,解决了现有技术中在生成榜单时,存在过程复杂,鲁棒性差的技术问题,实现了方便快捷地生成榜单,且鲁棒性较好的技术效果。
实施例三
基于同一发明构思,如图3所示,本实施例提供了一种生成榜单的装置300,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:
接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
在具体实施过程中,处理器320执行计算机程序311时,可以实现实施例一中的任一实施方式。
实施例四
基于同一发明构思,如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,计算机程序411被处理器执行时实现以下步骤:
接收网络直播平台上的数据协议;获取榜单配置文;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数。
在具体实施过程中,计算机程序411被处理器执行时,可以实现实施例一中的任一实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种生成榜单的方法,其特征在于,包括:
接收网络直播平台上的数据协议;
获取榜单配置文件;其中,所述榜单配置文件包括:所述数据协议对榜单字段的映射配置,以及榜单排序字段、score字段、榜单生成时间、榜单过滤条件配置;
基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;
将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;其中,所述将所述M个字段的数据写入内存数据库程序的预设字段中,包括:调用Lua脚本,将所述M个字段的数据写入内存数据库程序Redis的Zset字段中;
从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数;其中,所述从所述排序文件中提取出排序靠前的N条数据,包括:调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
2.如权利要求1所述的生成榜单的方法,其特征在于,所述基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,包括:
基于所述榜单配置文件,确定预设筛选规则;
基于所述预设筛选规则,从所述数据协议中筛选出所述M个字段的数据。
3.如权利要求1~2任一所述的生成榜单的方法,其特征在于,所述通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件,包括:
通过所述内存数据库程序对所述M个字段的数据按照预设排序规则进行排序,获得第一排序文件;以及
在获得第一排序文件后,若检测到所述M个字段的数据中有新增数据,则通过所述内存数据库程序对所述M个字段的数据按照所述预设排序规则重新排序,获得第二排序文件。
4.如权利要求3所述的生成榜单的方法,其特征在于,所述从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,包括:
从所述第一排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单;或
从所述第二排序文件种提取取出排序靠前的N条数据,并基于所述N条数据生成榜单。
5.一种生成榜单的装置,其特征在于,包括:
接收单元,用于接收网络直播平台上的数据协议;
获取单元,用于获取榜单配置文件;其中,所述榜单配置文件包括:所述数据协议对榜单字段的映射配置,以及榜单排序字段、score字段、榜单生成时间、榜单过滤条件配置;
筛选单元,用于基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;
排序单元,用于将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;还具体用于,调用Lua脚本,将所述M个字段的数据写入内存数据库程序Redis的Zset字段中;
生成单元,用于从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数;还具体用于,调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
6.一种基于高级程序设计语言实现钩子函数的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收网络直播平台上的数据协议;获取榜单配置文件;其中,所述榜单配置文件包括:所述数据协议对榜单字段的映射配置,以及榜单排序字段、score字段、榜单生成时间、榜单过滤条件配置;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;其中,所述将所述M个字段的数据写入内存数据库程序的预设字段中,包括:调用Lua脚本,将所述M个字段的数据写入内存数据库程序Redis的Zset字段中;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数;其中,所述从所述排序文件中提取出排序靠前的N条数据,包括:调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
接收网络直播平台上的数据协议;获取榜单配置文件;其中,所述榜单配置文件包括:所述数据协议对榜单字段的映射配置,以及榜单排序字段、score字段、榜单生成时间、榜单过滤条件配置;基于所述榜单配置文件,从所述数据协议中筛选出M个字段的数据,M为正整数;将所述M个字段的数据写入内存数据库程序的预设字段中,并通过所述内存数据库程序对所述M个字段的数据进行排序,获得排序文件;其中,所述将所述M个字段的数据写入内存数据库程序的预设字段中,包括:调用Lua脚本,将所述M个字段的数据写入内存数据库程序Redis的Zset字段中;从所述排序文件中提取出排序靠前的N条数据,并基于所述N条数据生成榜单,N为正整数;其中,所述从所述排序文件中提取出排序靠前的N条数据,包括:调用zrevrange函数,从所述排序文件中提取出排序靠前的N条数据。
CN201810023925.6A 2018-01-10 2018-01-10 一种生成榜单的方法及装置 Active CN108200070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810023925.6A CN108200070B (zh) 2018-01-10 2018-01-10 一种生成榜单的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810023925.6A CN108200070B (zh) 2018-01-10 2018-01-10 一种生成榜单的方法及装置

Publications (2)

Publication Number Publication Date
CN108200070A CN108200070A (zh) 2018-06-22
CN108200070B true CN108200070B (zh) 2020-10-27

Family

ID=62588628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810023925.6A Active CN108200070B (zh) 2018-01-10 2018-01-10 一种生成榜单的方法及装置

Country Status (1)

Country Link
CN (1) CN108200070B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299145A (zh) * 2018-08-22 2019-02-01 深圳点猫科技有限公司 一种基于教育云平台的排行榜表格的排列方法及电子设备
CN109766497B (zh) * 2019-01-22 2022-03-22 网易(杭州)网络有限公司 排行榜生成方法及装置、存储介质、电子设备
CN110209720A (zh) * 2019-05-23 2019-09-06 上海易点时空网络有限公司 榜单数据的管理方法及装置
CN110278464B (zh) * 2019-07-01 2021-07-30 广州酷狗计算机科技有限公司 显示榜单的方法和装置
CN111475141B (zh) * 2020-03-31 2023-06-13 微梦创科网络科技(中国)有限公司 榜单的生成方法、装置及电子设备
CN114125473B (zh) * 2020-08-28 2022-12-13 腾讯科技(深圳)有限公司 一种直播竞猜数据处理方法、装置、服务器及存储介质
CN112988848B (zh) * 2021-04-22 2021-08-03 北京沃东天骏信息技术有限公司 一种数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136227A (zh) * 2011-11-25 2013-06-05 阿里巴巴集团控股有限公司 一种生成榜单的方法及装置
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN106066863A (zh) * 2016-05-26 2016-11-02 武汉斗鱼网络科技有限公司 一种直播平台中直播房间的展示方法与装置
CN107220276A (zh) * 2017-04-14 2017-09-29 弘成科技发展有限公司 直播和回放过程中考试排名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160103914A1 (en) * 2014-10-10 2016-04-14 Salesforce.Com, Inc. Offloading search processing against analytic data stores

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136227A (zh) * 2011-11-25 2013-06-05 阿里巴巴集团控股有限公司 一种生成榜单的方法及装置
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN106066863A (zh) * 2016-05-26 2016-11-02 武汉斗鱼网络科技有限公司 一种直播平台中直播房间的展示方法与装置
CN107220276A (zh) * 2017-04-14 2017-09-29 弘成科技发展有限公司 直播和回放过程中考试排名方法

Also Published As

Publication number Publication date
CN108200070A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108200070B (zh) 一种生成榜单的方法及装置
CN106557470B (zh) 数据提取方法和装置
CN111901674A (zh) 一种视频播放控制及装置
WO2019201039A1 (zh) 一种更新应用程序的方法、系统及应用服务器
KR20140011304A (ko) 다중-단계화 및 파티셔닝된 콘텐츠 준비 및 전달
CN108781311A (zh) 用于媒体分发和管理平台的视频播放器框架
WO2017107572A1 (zh) 一种面向智能手表的Android应用重构方法
CN107748752A (zh) 一种数据处理方法及装置
CN111767499A (zh) 一种页面配置方法及装置
CN103927314A (zh) 一种数据批量处理的方法和装置
CN110781386A (zh) 信息推荐、布隆过滤器的创建方法及装置
CN112347355A (zh) 数据处理方法、装置、服务器及存储介质
CN110502591A (zh) 一种数据提取方法、装置及设备
CN115311399A (zh) 图像渲染方法、装置、电子设备以及存储介质
CN110837609A (zh) 社交信息处理方法和相关产品
CN110019260B (zh) 一种用户数据的更新方法及相关设备
CN112799644A (zh) 一种排行榜系统及生成排行榜的方法
CN111459686A (zh) 队列消息存储转发方法、系统及具操作系统的计算机装置
Daw et al. Exact simulation of the queue-hawkes process
CN114173154B (zh) 视频处理方法及系统
JP2018534657A (ja) ページ構築方法、装置、デバイス及び不揮発性コンピュータ記憶媒体
CN113741970A (zh) 数据仓库生产环境和开发环境分离实现方法和装置
CN114579128A (zh) 一种可视化页面搭建方法及装置、存储介质、计算机设备
CN112905168A (zh) 基于区块的可视化前端页面生成方法及装置
CN112668287A (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