CN110401843B - 直播平台中的榜单数据更新方法、装置、设备和介质 - Google Patents
直播平台中的榜单数据更新方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN110401843B CN110401843B CN201910721196.6A CN201910721196A CN110401843B CN 110401843 B CN110401843 B CN 110401843B CN 201910721196 A CN201910721196 A CN 201910721196A CN 110401843 B CN110401843 B CN 110401843B
- Authority
- CN
- China
- Prior art keywords
- list
- data
- updating
- event
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种直播平台中的榜单数据更新方法、装置、设备和介质。该方法包括:采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与榜单更新数据匹配的榜单服务器发送榜单更新通知;根据榜单服务器针对榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。即使在大数据量、高爆发、高并发、弱网络的情形下,上述技术方案也可保证榜单数据的实时性、准确性及可靠性。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种直播平台中的榜单数据更新方法、装置、设备和介质。
背景技术
随着在线直播业务的不断发展,与在线直播业务对应的各种各样的排行榜应运而生。其中,榜单数据更新的实时性、准确性及可靠性是榜单用户关注的焦点。
目前,排行榜数据一般通过广播方式或者串行通讯RPC(Remote Procedure Call,远程过程调用)方式来采集。
在排行榜数据采集方式为广播方式的情况下,事件服务器在接收到由直播平台用户触发生成的排行榜指标事件之后,将该排行榜指标事件向外广播,以使与该排行榜指标事件匹配的榜单服务器接收后对榜单数据进行更新,但是,事件服务器通过广播方式发送榜单更新数据时,容易出现数据丢失的风险,使各个榜单的准确性无法保证。
在排行榜数据采集方式为串行通讯RPC方式的情况下,榜单准确性虽然提高了,但是,由于事件服务器与各个榜单服务器是串行通讯的,随着榜单服务器的数量增加,串行通讯响应的时间也会相应延长,由此,会影响榜单服务器更新榜单的实时性,进而导致客户端刷新榜单数据时的响应时间过长。
发明内容
本发明实施例提供一种直播平台中的榜单数据更新方法、装置、设备和介质,以提升榜单数据的实时性、准确性及可靠性。
第一方面,本发明实施例提供了一种直播平台中的榜单数据更新方法,包括:
采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;
将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与所述榜单更新数据匹配的榜单服务器发送榜单更新通知;
根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。
第二方面,本发明实施例还提供了一种直播平台中的榜单数据更新装置,该装置包括:
排行榜指标事件接收模块,用于采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;
榜单更新通知发送模块,用于将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与所述榜单更新数据匹配的榜单服务器发送榜单更新通知;
榜单更新数据发送模块,用于根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任意实施例所述的直播平台中的榜单数据更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任意实施例所述的直播平台中的榜单数据更新方法。
本发明实施例中,在客户端触发生成排行榜指标事件之后,事件服务器是采用数据可靠传输方式对这些排行榜指标事件进行实时接收,即使在大数据量、高爆发、高并发、弱网络的情形下,也可以保证客户端触发生成排行榜指标事件不会丢失,进而避免出现榜单数据不准确的问题;事件服务器对大量的排行榜指标事件进行分类批量处理,以此提高了排行榜指标事件的处理效率以及榜单服务器的更新效率,减小了客户端刷新榜单数据时的响应时间;事件服务器将同类型的榜单更新数据批量发送至匹配的榜单服务器,并接收榜单服务器在完成与榜单更新数据对应的榜单更新后反馈的更新成功信息,进一步保证了榜单数据的可靠性。
附图说明
图1是本发明实施例一提供的一种直播平台中的榜单数据更新方法的流程图;
图2是本发明实施例二提供的一种直播平台中的榜单数据更新方法的流程图;
图3是本发明实施例三提供的一种直播平台中的榜单数据更新方法的流程图;
图4是本发明实施例三提供的一种直播平台中的榜单数据更新方法所适用的服务架构示意图;
图5是本发明实施例三提供的一种直播平台中的榜单数据更新方法所适用的服务流程示意图;
图6是本发明实施例四提供的一种直播平台中的榜单数据更新装置的结构示意图;
图7是本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了便于理解本发明各实施例,首先将本发明的发明构思流程简述如下:
直播平台的用户在客户端发起影响榜单数据的业务行为(例如送礼物、创建订单、完成订单、小费打赏等)之后,订单服务器核实确认用户行为,并生成对应的排行榜指标事件,发送给事件服务器;事件服务器接收到排行榜指标事件之后,将排行榜指标事件作为榜单更新数据进行存储,并向匹配的榜单服务器发送榜单更新通知;榜单服务器接收到榜单更新通知之后,向事件服务器发送与榜单更新通知对应的更新请求;事件服务器接收到榜单服务器发送的更新请求之后,将与更新请求匹配的榜单更新数据发送至榜单服务器;榜单服务器根据接收到的榜单更新数据进行榜单更新,并在更新完成后向事件服务器反馈更新成功信息。当直播平台的用户在客户端向匹配的榜单服务器发起榜单显示请求之后,匹配的榜单服务器将更新后的榜单数据反馈给客户端,通过客户端显示给用户。
实施例一
图1是本发明实施例一提供的一种直播平台中的榜单数据更新方法的流程图,本实施例可适用于在大数据量、高爆发、高并发、弱网络的情形下进行榜单更新的情况,该方法可以由本发明任意实施例提供的直播平台中的榜单数据更新装置来执行,该装置可由硬件和/或软件组成,并一般可集成在计算机设备中,例如是直播平台服务器中,具体为事件服务器中。
如图1所述,本实施例提供的方法由事件服务器执行,具体包括以下步骤:
S110、采用数据可靠传输方式,实时接收排行榜指标事件,排行榜指标事件由直播平台中的客户端触发生成。
订单服务器在核实确认用户在客户端发起的影响榜单数据的业务行为之后,例如是在核实确认用户在客户端发起的送礼物、创建订单、完成订单、小费打赏等之类的业务行为之后,生成排行榜指标事件,向事件服务器发送。
其中,订单服务器向事件服务器发送排行榜指标事件时,采用的是数据可靠传输方式,避免由排行榜指标事件丢失导致的榜单数据不准确的问题。
典型的,数据可靠传输方式具体可以是基于ACK(Acknowledge character)的数据可靠传输方式。ACK是确认字符,在数据通信中,是接收端发给发送端的一种传输类控制字符,用于表示发来的数据已确认接收无误。例如,在TCP/IP协议中,如果接收端成功地接收到数据,就会回复一个ACK数据,通常ACK信号有自己固定的格式以及长度大小。
订单服务器发送RPC请求到事件服务器,其中,RPC请求基于ACK数据可靠传输。RPC请求中包括排行榜指标事件消息体和事件ID(Identity document,身份标识号),排行榜指标事件消息体和事件ID均作为RPC请求的幂等标志。其中,幂等的意义在于多次执行所产生的影响与一次执行的影响相同。
以排行榜指标事件是陪玩订单事件为例,排行榜指标事件消息体具体可以指的是陪玩订单的订单详情,事件ID具体可以指的是陪玩订单ID。
S120、将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与榜单更新数据匹配的榜单服务器发送榜单更新通知。
在大数据量高爆发的场景下,事件服务器会实时接收到由各种订单服务器发送的大量排行榜指标事件,将这些排行榜指标事件按照事件类型进行分类分批处理,将同一事件类型的排行榜指标事件作为一组榜单更新数据进行存储,并分别向与榜单更新数据匹配的榜单服务器发送绑定更新通知。
例如,事件服务器实时接收到由各种订单服务器发送的10条排行榜指标事件,在这10条排行榜指标事件中,6条排行榜指标事件属于事件类型A,4条排行榜指标事件属于事件类型B,故将属于事件类型A的6条排行榜指标事件作为一组榜单更新数据进行存储,将属于事件类型B的4条排行榜指标事件作为一组榜单更新数据进行存储,并分别向与事件类型A对应的榜单服务器以及与事件类型B对应的榜单服务器发送榜单更新通知。
值得指出的是,一个榜单服务器可以只对应一个事件类型,也可以对应多个事件类型。因此,在一个榜单服务器对应多个事件类型时,事件服务器向榜单服务器发送的榜单更新通知中应该包括事件类型。
典型的,榜单更新通知也可以是基于ACK数据可靠传输的,以避免榜单服务器无法成功接收到对应的榜单更新通知。
S130、根据榜单服务器针对榜单更新通知反馈的更新请求,获取与更新请求匹配的榜单更新数据发送至榜单服务器,并接收榜单服务器在完成与榜单更新数据对应的榜单更新后反馈的更新成功信息。
榜单服务器在接收到榜单更新通知之后,向事件服务器发送与榜单更新通知匹配的更新请求。类似的,在一个榜单服务器对应多个事件类型时,榜单服务器向事件服务器发送的更新请求中应该包括事件类型。
事件服务器在接收到榜单服务器发送的更新请求之后,首先根据更新请求确定出需要获取的榜单更新数据的事件类型,然后根据事件类型在文件存储系统中查找与更新请求匹配的榜单更新数据,并发送至该榜单服务器。
榜单服务器接收到事件服务器发送的榜单更新数据之后,根据接收的榜单更新数据对匹配的排行榜榜单进行更新,并在更新成功后向事件服务器反馈更新成功信息。
事件服务器接收到榜单服务器反馈的更新成功信息后,即可确定此次榜单更新成功。
典型的,事件服务器接收榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息,可以具体为:事件服务器接收榜单服务器在完成与所述榜单更新数据对应的榜单更新后,采用数据可靠传输方式,反馈的更新成功信息。
其中,数据可靠传输方式也可以是基于ACK的数据可靠传输方式。
本发明实施例中,在客户端触发生成排行榜指标事件之后,事件服务器是采用数据可靠传输方式对这些排行榜指标事件进行实时接收,即使在大数据量、高爆发、高并发、弱网络的情形下,也可以保证客户端触发生成排行榜指标事件不会丢失,进而避免出现榜单数据不准确的问题;事件服务器对大量的排行榜指标事件进行分类批量处理,以此提高了排行榜指标事件的处理效率以及榜单服务器的更新效率,减小了客户端刷新榜单数据时的响应时间;事件服务器将同类型的榜单更新数据批量发送至匹配的榜单服务器,并接收榜单服务器在完成与榜单更新数据对应的榜单更新后反馈的更新成功信息,进一步保证了榜单数据的可靠性。
实施例二
图2是本发明实施例二提供的一种直播平台中的榜单数据更新方法的流程图。本实施例以上述实施例为基础对S120进行优化,将S120中接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,具体为:
将实时接收的所述排行榜指标事件存储于数据缓存队列中;
在确定满足批量处理条件时,按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中;
其中,一个文件分区中存储的内容为与同一事件类型对应的榜单更新数据。
如图2所示,本实施例提供的方法包括以下步骤:
S210、采用数据可靠传输方式,实时接收排行榜指标事件,排行榜指标事件由直播平台中的客户端触发生成。
S220、将实时接收的排行榜指标事件存储于数据缓存队列中。
将实时接收的各个排行榜指标事件顺序存储于数据缓存队列中,其中,接收的排行榜指标事件是由一个或多个订单服务器发送的。
S230、在确定满足批量处理条件时,按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中。
批量处理条件,具体可以指的是数据缓存队列已满或者达到预设时间间隔等。如果确定满足批量处理条件,则将数据缓存队列中的各个排行榜指标事件按照事件类型进行分类,将与各个事件类型分别对应的排行榜指标事件统一存储于与事件类型对应的各个文件分区中。
其中,一个文件分区中存储的内容为与同一事件类型对应的榜单更新数据。
作为一种可选的实施方式,可以将S230具体为:在确定满足批量处理条件时,按照事件类型,将数据缓存队列中各排行榜指标事件进行事件分组;生成与每个事件分组分别对应的数据包;将每个数据包切分为设定大小的数据文件后,顺序写入与数据包的事件类型对应的文件分区中。
例如,在确定满足批量处理条件时,数据缓存队列中存在10条排行榜指标事件,在这10条排行榜指标事件中,6条排行榜指标事件属于事件类型A,4条排行榜指标事件属于事件类型B。首先,按照事件类型,将数据缓存队列中这10条排行榜指标事件进行事件分组,即将属于事件类型A的6条排行榜指标事件作为事件分组A,将属于事件类型B的4条排行榜指标事件作为事件分组B;然后,分别生成与事件分组A和事件类型B对应的数据包A和数据包B;再分别将数据包A和数据包B切分成设定大小的小文件,并将与数据包A对应的各个小文件顺序存储于与事件类型A对应的文件分区中,与数据包B对应的各个小文件顺序存储于与事件类型B对应的文件分区中。
同时,还可以将与各个小文件对应的元数据分别写到与各个小文件对应的索引文件中。其中,与各个小文件对应的索引文件存储与设定的文件分区(例如是专门用于存储索引文件的文件分区)。
作为另一种可选的实施方式,一个文件分区对应于一个设备分组;对应的,将按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中,具体为:
按照事件类型,将数据缓存队列中各排行榜指标事件,分别通过事件类型匹配的设备分组进行存储,并在匹配的设备分组中的其他设备中进行备份。
在确定满足批量处理条件时,按照事件类型将数据缓存队列中各排行榜指标事件进行分类,并分别定位到事件服务器中与事件类型对应的设备分组中,一个设备分组中包括N台设备。
接续前述示例,将属于事件类型A的6条排行榜指标事件定位到与事件类型A对应的设备分组A中,通过设备分组A执行与这6条排行榜指标事件对应的存储操作;将属于事件类型B的4条排行榜指标事件定位到与事件类型B对应的设备分组B中,通过设备分组B执行与这4条排行榜指标事件对应的存储操作。
以设备分组A为例,设备分组A内部对这6条排行榜指标事件进行合并,生成数据包A,并将数据包A切分成设定大小的小文件,并将与数据包A对应的各个小文件顺序存储于设备分组A的文件存储分区中,将与各个小文件对应的元数据分别写到与各个小文件对应的索引文件中。然后,将与数据包A对应的各个小文件同步到设备分组A的其他台设备中,以此数据冗余备份的方式来保证数据灾难的可恢复性。
S240、向与榜单更新数据匹配的榜单服务器发送榜单更新通知。
榜单更新数据,具体指的是S230中批量处理的排行榜指标事件。
与榜单更新数据匹配的榜单服务器,具体指的是与批量处理的排行榜指标事件所属的事件类型分别匹配的榜单服务器。
接续前述示例,则向与事件类型A匹配的榜单服务器A,以及与事件类型B匹配的榜单服务器B分别发送榜单更新通知。
值得指出是,此处是以与事件类型A匹配的榜单服务器和与事件类型B匹配的榜单服务器不同为例,实际应用中可能相同。
S250、根据榜单服务器针对榜单更新通知反馈的更新请求,获取与更新请求匹配的榜单更新数据发送至榜单服务器。
接续前述示例,榜单服务器A接收到榜单更新通知后,向事件服务器发送更新请求,以获取与事件类型A对应的榜单更新数据;榜单服务器B接收到榜单更新通知后,向事件服务器发送更新请求,以获取与事件类型B对应的榜单更新数据。
事件服务器在接收到榜单服务器A发送的更新请求之后,在与事件类型A对应的文件分区中获取与事件类型A对应的榜单更新数据(也即上述10条排行榜指标事件中的那6条排行榜指标事件),发送给榜单服务器A。
事件服务器在接收到榜单服务器B发送的更新请求之后,在与事件类型B对应的文件分区中获取与事件类型B对应的榜单更新数据(也即上述10条排行榜指标事件中的那4条排行榜指标事件),发送给榜单服务器B。
作为实施例一种可选的实施方式,可以将S250具体为:
S251、根据榜单服务器针对榜单更新通知反馈的更新请求,确定与更新请求匹配的事件类型。
S252、根据与更新请求匹配的历史偏移量,在与事件类型匹配的文件分区中获取与所述更新请求匹配的榜单更新数据。
首先根据事件类型查询历史偏移量,然后根据事件类型定位到与事件类型对应的文件分区中,再根据历史偏移量在对应的文件分区中获取匹配的榜单更新数据,其中,在历史偏移量位置之后存储的数据即为匹配的榜单更新数据。
历史偏移量,指的是榜单服务器在事件服务器中已拉取榜单更新数据的偏移量位置信息。
可选的,事件服务器在查询到与事件类型对应的历史偏移量之后,根据事件类型确定出榜单更新数据所在的设备分组,再根据历史偏移量定位到具体的文件。具体可以查找索引文件中距离这个历史偏移量最近的文件的偏移量,在数据文件中遍历各个数据包,得到历史偏移量之后的数据,作为向榜单服务器返回的榜单更新数据。
S253、将榜单更新数据发送至榜单服务器,并对与更新请求匹配的历史偏移量进行更新。
在将榜单更新数据发送至榜单服务器之后,对与更新请求匹配的历史偏移量进行更新,以便于在下次接收到对应的更新请求时可以准确确定获取榜单更新数据的存储位置。
S260、接收榜单服务器在完成与榜单更新数据对应的榜单更新后反馈的更新成功信息。
榜单服务器接收到事件服务器发送的榜单更新数据之后,对这些榜单更新数据进行统计,并更新榜单数据,在更新完成之后,向事件服务器反馈更新成功信息。
具体的,上述S253中提到的对与更新请求匹配的历史偏移量进行更新,也可以在S260之后执行,可提高历史偏移量的准确性,避免出现排行榜指标事件遗漏处理的现象。
本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。
本发明实施例中,订单服务器、事件服务器以及榜单服务器之间的数据传输均采用数据可靠传输方式,即使在大数据量、高爆发、高并发、弱网络的情形下,也可以保证客户端触发生成排行榜指标事件不会丢失,进而避免出现榜单数据不准确的问题,保证了榜单数据的可靠性;事件服务器对大量的排行榜指标事件进行存储时,通过多个设备分组对排行榜指标事件进行批量处理,极大地提高了排行榜指标事件的处理效率以及榜单服务器的更新效率,也减小了客户端刷新榜单数据时的响应时间。
实施例三
图3为本发明实施例三提供的一种直播平台中的榜单数据更新方法的流程图,图4是本发明实施例三提供的一种直播平台中的榜单数据更新方法所适用的服务架构示意图,图5是本发明实施例三提供的一种直播平台中的榜单数据更新方法所适用的服务流程示意图。
其中,图4中以订单服务器包括用于生成不同排行榜指标事件的订单服务器A、订单服务器B和订单服务器C为例示出,榜单服务器包括与不同排行榜数据对应的榜单服务器A、榜单服务器B和榜单服务器C为例示出。图5中以一个订单服务器、一个榜单服务器为例示出具体服务流程。
在上述实施例的基础上,本实施例提供一种具体的实施方式。
如图3所示,结合图4和图5,本实施例提供的方法包括以下步骤:
S310、订单服务器在审核确认直播平台用户在客户端触发生成的业务行为之后,采用数据可靠传输方式,实时向事件服务器发送与业务行为对应的排行榜指标事件。
S320、事件服务器采用数据可靠传输方式,实时接收由各个订单服务器发送的多个排行榜指标事件。
其中,数据可靠传输方式具体为基于ACK的数据可靠传输方式,订单服务器向事件服务器发送的排行榜指标事件可以通过RPC请求形式发送,RPC请求中包括排行榜指标事件消息体和事件ID,排行榜指标事件消息体和事件ID为幂等标志。
S330、事件服务器将实时接收的排行榜指标事件存储于数据缓存队列中。
S340、事件服务器在确定满足批量处理条件时,按照事件类型将所述数据缓存队列中各排行榜指标事件进行分类,并分别定位到事件服务器中对应的设备分组。
其中,一个设备分组对应一个或多个事件类型。
S350、事件服务器中的设备分组内部对匹配的批量排行榜指标事件进行合并,生成数据包后进行存储。
S360、事件服务器中的设备分组将数据包切分成设定大小的小文件,并将对应的各个小文件顺序存储于设备分组的文件存储分区中,同时将与各个小文件对应的元数据分别写到与各个小文件对应的索引文件中。
S370、事件服务器中的设备分组将与数据包对应的各个小文件同步至设备分组中的其他设备中。
可选的,在事件服务器将排行榜指标事件存储成功之后,还可以向对应的订单服务器发送存储成功通知,还可以向对应的订单服务器发送此次存储的偏移量位置信息。
可选的,事件服务器还可以按照时间策略和/或数据策略,将磁盘中存储的数据进行清空,或者是周期性的对磁盘中的旧数据进行清理。
S380、事件服务器向与此次存储的排行榜指标事件对应的榜单服务器发送榜单更新通知。
S390、目标榜单服务器接收到事件服务器发送的榜单更新通知,向事件服务器发送对榜单更新通知对应的更新请求。
目标榜单服务器,指的是接收到事件服务器发送的榜单更新通知、需要进行榜单数据更新的榜单服务器。
S3100、事件服务器接收到目标榜单服务器榜单服务器针对榜单更新通知反馈的更新请求,确定与更新请求匹配的事件类型。
S3110、事件服务器根据事件类型确定出榜单更新数据所在的设备分组,再根据历史偏移量定位到具体的文件。
S3120、事件服务器将历史偏移量之后的数据,作为榜单更新数据向目标榜单服务器返回。
S3130、目标榜单服务器接收到事件服务器发送的榜单更新数据后,对这些榜单更新数据进行统计,并更新榜单数据,在更新完成之后,采用数据可靠传输方式向事件服务器反馈更新成功信息。
其中,数据可靠传输方式具体为基于ACK的数据可靠传输方式。
S3140、事件服务器接收到目标榜单服务器反馈的更新成功信息,并对与目标榜单服务器更新请求匹配的历史偏移量进行更新。
S3150、目标榜单服务器如果接收到直播平台用户在客户端发起的榜单显示请求,则将更新后的榜单数据反馈给客户端,并通过客户端显示给用户。
本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。
本发明实施例中,订单服务器、事件服务器以及榜单服务器之间的数据传输均采用数据可靠传输方式,即使在大数据量、高爆发、高并发、弱网络的情形下,也可以保证客户端触发生成排行榜指标事件不会丢失,进而避免出现榜单数据不准确的问题,保证了榜单数据的可靠性;事件服务器对大量的排行榜指标事件进行存储时,通过多个设备分组对排行榜指标事件进行批量处理,极大地提高了排行榜指标事件的处理效率以及榜单服务器的更新效率,也减小了客户端刷新榜单数据时的响应时间。
实施例四
图6是本发明实施例四提供的一种直播平台中的榜单数据更新装置的结构示意图,本实施例可适用于在大数据量、高爆发、高并发、弱网络的情形下进行榜单更新的情况,该装置可以采用软件和/或硬件的方式实现,并一般可集成在计算机设备中,例如是直播平台服务器中。如图6所示,该装置包括:排行榜指标事件接收模块610、榜单更新通知发送模块620和榜单更新数据发送模块630。其中,
排行榜指标事件接收模块610,用于采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;
榜单更新通知发送模块620,用于将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与所述榜单更新数据匹配的榜单服务器发送榜单更新通知;
榜单更新数据发送模块630,用于根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。
本发明实施例中,在客户端触发生成排行榜指标事件之后,事件服务器是采用数据可靠传输方式对这些排行榜指标事件进行实时接收,即使在大数据量、高爆发、高并发、弱网络的情形下,也可以保证客户端触发生成排行榜指标事件不会丢失,进而避免出现榜单数据不准确的问题;事件服务器对大量的排行榜指标事件进行分类批量处理,以此提高了排行榜指标事件的处理效率以及榜单服务器的更新效率,减小了客户端刷新榜单数据时的响应时间;事件服务器将同类型的榜单更新数据批量发送至匹配的榜单服务器,并接收榜单服务器在完成与榜单更新数据对应的榜单更新后反馈的更新成功信息,进一步保证了榜单数据的可靠性。
进一步的,榜单更新通知发送模块620,具体包括:
排行榜指标事件接收单元,用于将实时接收的所述排行榜指标事件存储于数据缓存队列中;
排行榜指标事件分类存储单元,用于在确定满足批量处理条件时,按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中;
其中,一个文件分区中存储的内容为与同一事件类型对应的榜单更新数据。
进一步的,排行榜指标事件分类存储单元,具体用于在确定满足批量处理条件时,按照事件类型,将所述数据缓存队列中各排行榜指标事件进行事件分组;生成与每个所述事件分组分别对应的数据包;将每个所述数据包切分为设定大小的数据文件后,顺序写入与所述数据包的事件类型对应的所述文件分区中。
进一步的,榜单更新数据发送模块630,具体用于根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,确定与所述更新请求匹配的事件类型;根据与所述更新请求匹配的历史偏移量,在与所述事件类型匹配的文件分区中获取与所述更新请求匹配的榜单更新数据;将所述榜单更新数据发送至所述榜单服务器,并对与所述更新请求匹配的历史偏移量进行更新。
进一步的,榜单更新数据发送模块630,还具体用于接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后,采用数据可靠传输方式,反馈的更新成功信息。
具体的,所述数据可靠传输方式包括:基于ACK的数据可靠传输方式。
作为一种具体的实施方式,一个文件分区对应于一个设备分组;对应的,所述排行榜指标事件分类存储单元,具体用于在确定满足批量处理条件时,按照事件类型,将所述数据缓存队列中各排行榜指标事件,分别通过事件类型匹配的设备分组进行存储,并在所述匹配的设备分组中的其他设备中进行备份。
本发明实施例所提供的直播平台中的榜单数据更新装置可执行本发明任意实施例所提供的直播平台中的榜单数据更新方法,具备执行直播平台中的榜单数据更新方法相应的功能模块和有益效果。
实施例五
图7是本发明实施例五提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括处理器70、存储器71、输入装置72和输出装置73;计算机设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;计算机设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的直播平台中的榜单数据更新方法对应的程序指令/模块(例如,直播平台中的榜单数据更新装置中的排行榜指标事件接收模块610、榜单更新通知发送模块620和榜单更新数据发送模块630)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的直播平台中的榜单数据更新方法。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种存储有计算机程序的计算机可读存储介质,计算机程序在由计算机处理器执行时用于执行一种直播平台中的榜单数据更新方法,该方法包括:
采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;
将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与所述榜单更新数据匹配的榜单服务器发送榜单更新通知;
根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。
当然,本发明实施例所提供的存储有计算机程序的计算机可读存储介质,其计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的直播平台中的榜单数据更新方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
值得注意的是,上述直播平台中的榜单数据更新装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种直播平台中的榜单数据更新方法,应用于事件服务器,其特征在于,包括:
采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;
将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与所述榜单更新数据匹配的榜单服务器发送榜单更新通知;
根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。
2.根据权利要求1所述的方法,其特征在于,将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,包括:
将实时接收的所述排行榜指标事件存储于数据缓存队列中;
在确定满足批量处理条件时,按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中;
其中,一个文件分区中存储的内容为与同一事件类型对应的榜单更新数据。
3.根据权利要求2所述的方法,其特征在于,按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中,包括:
按照事件类型,将所述数据缓存队列中各排行榜指标事件进行事件分组;
生成与每个所述事件分组分别对应的数据包;
将每个所述数据包切分为设定大小的数据文件后,顺序写入与所述数据包的事件类型对应的所述文件分区中。
4.根据权利要求3所述的方法,其特征在于,根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,包括:
根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,确定与所述更新请求匹配的事件类型;
根据与所述更新请求匹配的历史偏移量,在与所述事件类型匹配的文件分区中获取与所述更新请求匹配的榜单更新数据;
将所述榜单更新数据发送至所述榜单服务器,并对与所述更新请求匹配的历史偏移量进行更新。
5.根据权利要求1所述的方法,其特征在于,接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息,包括:
接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后,采用数据可靠传输方式,反馈的更新成功信息。
6.根据权利要求1或5所述的方法,其特征在于,所述数据可靠传输方式包括:基于ACK的数据可靠传输方式。
7.根据权利要求2-4任一项所述的方法,其特征在于,一个文件分区对应于一个设备分组;
按照事件类型,将所述数据缓存队列中各排行榜指标事件,分组存储于对应的文件分区中,包括:
按照事件类型,将所述数据缓存队列中各排行榜指标事件,分别通过事件类型匹配的设备分组进行存储,并在所述匹配的设备分组中的其他设备中进行备份。
8.一种直播平台中的榜单数据更新装置,其特征在于,应用于事件服务器,包括:
排行榜指标事件接收模块,用于采用数据可靠传输方式,实时接收排行榜指标事件,所述排行榜指标事件由直播平台中的客户端触发生成;
榜单更新通知发送模块,用于将接收到的至少一个排行榜指标事件,按照事件类型存储为至少一组榜单更新数据,并向与所述榜单更新数据匹配的榜单服务器发送榜单更新通知;
榜单更新数据发送模块,用于根据所述榜单服务器针对所述榜单更新通知反馈的更新请求,获取与所述更新请求匹配的所述榜单更新数据发送至所述榜单服务器,并接收所述榜单服务器在完成与所述榜单更新数据对应的榜单更新后反馈的更新成功信息。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721196.6A CN110401843B (zh) | 2019-08-06 | 2019-08-06 | 直播平台中的榜单数据更新方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721196.6A CN110401843B (zh) | 2019-08-06 | 2019-08-06 | 直播平台中的榜单数据更新方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110401843A CN110401843A (zh) | 2019-11-01 |
CN110401843B true CN110401843B (zh) | 2022-02-25 |
Family
ID=68327593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910721196.6A Active CN110401843B (zh) | 2019-08-06 | 2019-08-06 | 直播平台中的榜单数据更新方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110401843B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7284908B1 (ja) | 2022-06-29 | 2023-06-01 | 17Live株式会社 | データ処理方法、システム及びコンピュータプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111372089B (zh) * | 2020-02-14 | 2021-08-24 | 广州方硅信息技术有限公司 | 更新活动榜单的方法、装置及存储介质 |
CN111405297B (zh) * | 2020-02-14 | 2022-11-04 | 广州方硅信息技术有限公司 | 活动榜单结算方法、装置及存储介质 |
CN113656385A (zh) * | 2020-05-12 | 2021-11-16 | 北京沃东天骏信息技术有限公司 | 数据清理方法、数据清理装置、存储介质及电子设备 |
CN112434052A (zh) * | 2020-11-09 | 2021-03-02 | 浙江集享电子商务有限公司 | 直播平台中的榜单数据更新方法、装置和计算机设备 |
CN112487018B (zh) * | 2020-12-01 | 2024-04-19 | 广州虎牙科技有限公司 | 榜单生成方法、装置电子设备及计算机可读存储介质 |
CN114328558B (zh) * | 2021-12-30 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 一种榜单更新方法、装置、设备及存储介质 |
CN114444004A (zh) * | 2022-04-11 | 2022-05-06 | 飞狐信息技术(天津)有限公司 | 一种榜单处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294691A (zh) * | 2016-08-04 | 2017-01-04 | 广州交易猫信息技术有限公司 | 榜单刷新方法、装置及服务端 |
CN109032511A (zh) * | 2018-07-09 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种数据存储方法、服务器及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100372582B1 (ko) * | 2000-02-23 | 2003-02-17 | 가부시키가이샤 히타치세이사쿠쇼 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
US9779307B2 (en) * | 2014-07-07 | 2017-10-03 | Google Inc. | Method and system for non-causal zone search in video monitoring |
CN106302829A (zh) * | 2016-10-26 | 2017-01-04 | 腾讯音乐娱乐(深圳)有限公司 | 一种信息访问方法、装置及服务器 |
CN108791364B (zh) * | 2018-04-10 | 2020-12-22 | 北京全路通信信号研究设计院集团有限公司 | 一种调度集中控制系统、方法及其应用服务器 |
-
2019
- 2019-08-06 CN CN201910721196.6A patent/CN110401843B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294691A (zh) * | 2016-08-04 | 2017-01-04 | 广州交易猫信息技术有限公司 | 榜单刷新方法、装置及服务端 |
CN109032511A (zh) * | 2018-07-09 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种数据存储方法、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
ACK;purpleask;《百度百科》;20190724;1-2 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7284908B1 (ja) | 2022-06-29 | 2023-06-01 | 17Live株式会社 | データ処理方法、システム及びコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN110401843A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110401843B (zh) | 直播平台中的榜单数据更新方法、装置、设备和介质 | |
CN110377570B (zh) | 节点切换方法、装置、计算机设备及存储介质 | |
CN106815254B (zh) | 一种数据处理方法和装置 | |
CN111221469B (zh) | 同步缓存数据的方法、装置和系统 | |
CN110401711B (zh) | 数据处理方法、装置、系统及存储介质 | |
KR20140072044A (ko) | 다중-소스 푸시 통지를 다수의 타겟들로의 분배 기법 | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
EP3836484A2 (en) | Method for transmitting live message, apparatus, electronic device, medium and computer program product | |
CN110581887B (zh) | 数据处理方法、装置、区块链节点及存储介质 | |
JP2018510430A (ja) | データベースのための遠隔データ同期方法及び装置 | |
US9461879B2 (en) | Apparatus and method for system error monitoring | |
US11218542B2 (en) | Method and system for selecting a transport mechanism and a storage process | |
WO2023060046A1 (en) | Errors monitoring in public and private blockchain by a data intake system | |
CN109104326B (zh) | 超时处理方法及装置和电子设备 | |
CN104503983A (zh) | 为搜索引擎提供网站认证数据的方法及装置 | |
CN111431952A (zh) | 消息推送方法、装置及系统,计算机存储介质和电子设备 | |
CN108829735B (zh) | 并行执行计划的同步方法、装置、服务器及存储介质 | |
CN112749172A (zh) | 一种缓存与数据库之间的数据同步方法及系统 | |
WO2023273576A1 (zh) | 异常请求处理方法、装置、电子设备和存储介质 | |
CN115658745A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
US9596145B2 (en) | Communication system, GUI apparatus, and service apparatus | |
CN111901366B (zh) | 一种数据推送方法、装置、设备和存储介质 | |
CN111586438B (zh) | 一种业务数据的处理方法、装置及系统 | |
CN113850664A (zh) | 一种数据异常检测方法及数据上报服务 | |
CN111125139B (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 |