CN113625936A - 数据处理方法、装置、存储介质及设备 - Google Patents

数据处理方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN113625936A
CN113625936A CN202010385506.4A CN202010385506A CN113625936A CN 113625936 A CN113625936 A CN 113625936A CN 202010385506 A CN202010385506 A CN 202010385506A CN 113625936 A CN113625936 A CN 113625936A
Authority
CN
China
Prior art keywords
data
user
request data
request
main service
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.)
Granted
Application number
CN202010385506.4A
Other languages
English (en)
Other versions
CN113625936B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010385506.4A priority Critical patent/CN113625936B/zh
Publication of CN113625936A publication Critical patent/CN113625936A/zh
Application granted granted Critical
Publication of CN113625936B publication Critical patent/CN113625936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置、设备以及存储介质,主要涉及存储技术,该方法包括:获取数据流对应的存储请求,该存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;若至少两个用户请求数据的数据类型为时延数据类型,则根据存储请求获取至少两个用户请求数据分别对应的用户标识;根据用户标识对至少两个用户请求数据进行划分,得到至少两个请求数据片段;根据片段标识与主服务设备之间的映射关系,将至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;该主服务集合中的主服务设备所存储的至少两个请求数据片段用于更新用户在线维护列表。通过本申请能够有效避免后台服务设备出现存储空间不足的问题。

Description

数据处理方法、装置、存储介质及设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法、装置、存储介质及设备。
背景技术
随着互联网技术的发展,网络为用户获取信息提供了更加直观、快速的通道。例如,在网络直播场景中,发布终端在采集发布者的数据流的同时,传输并发布采集的数据流,使接收终端能够通过互联网播放正在采集的数据流;此处数据流可以是指语音、视频以及图像等等。在网络直播的过程中,需要发布终端对应的后台服务设备存储用户请求数据,用户请求数据包括观众与发布者之间的互动数据、观众的请求在线数据等等;现有用户请求数据存储方法,容易导致后台服务设备出现存储空间不足的问题,进而导致用户掉线,影响用户体现。
发明内容
本申请实施例所要解决的技术问题在于,提供一种数据处理方法、装置、存储介质及设备,能够有效避免后台服务设备出现存储空间不足的问题。
本申请实施例一方面提供一种数据处理方法,包括:
获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;
若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
可选的,所述方法还包括:
获取所述至少两个用户分别在至少两个时刻所发送的候选心跳数据;
对所述至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到所述至少两个用户的心跳数据;
将所述至少两个用户的心跳数据确定为所述至少两个用户请求数据,所述至少两个用户的心跳数据的数据类型为时延数据类型。
可选的,所述方法还包括:
将所述主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备;
按照第一时间间隔分别从各个所述备用服务设备中读取请求数据片段,得到至少两个请求数据片段;
根据所述至少两个请求数据片段,确定所述至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数;
采用所发送心跳数据的时刻以及在所述单位时间段内所发送的心跳数据的次数,确定所述至少两个用户中处于在线状态的用户;
采用所述至少两个用户中处于在线状态的用户更新所述用户在线维护列表。
可选的,所述用户标识为用户编号,所述根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段的具体实现方式包括:
获取所述主服务设备集合中的主服务设备对应的设备数量;
获取所述用户编号与所述设备数量之间的余数;
根据所述余数对所述至少两个用户请求数据进行划分,得到所述至少两个请求数据片段;一个请求数据片段与一个余数对应,同一个请求数据片段包括对应余数相同的用户请求数据。
可选的,所述方法还包括:
若所述至少两个用户请求数据的数据类型为实时数据类型,则获取用于录制所述数据流的录制设备对应的位置信息,获取所述主服务设备集合中的主服务设备对应的位置信息;
将所述主服务设备集合中位置信息与所述录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备;
将所述至少两个用户请求数据存储至所述目标主服务设备中;所述目标主服务设备所存储的所述至少两个用户请求数据,用于生成所述数据流对应的用户展示数据。
可选的,所述至少两个用户请求数据为所述用户在线维护列表,所述用户在线维护列表的数据类型为实时数据类型,所述用户在线维护列表包括至少两个处于在线状态的用户,以及处于在线状态的用户的在线积分;所述方法还包括:
将所述目标主服务设备所存储的所述用户在线维护列表同步至,所述目标主服务设备对应的备用服务设备;
按照第二时间间隔从所述目标主服务设备对应的备用服务设备中读取所述用户在线维护列表;
从所述用户在线维护列表中筛选所述在线积分大于积分阈值的用户,作为候选用户;
将所述候选用户以及所述候选用户的在线积分,确定为所述数据流对应的用户展示数据。
可选的,所述方法还包括:
将所述用户展示数据进行本地缓存;
接收所述用户在线维护列表中的目标用户针对所述用户展示数据的展示请求;
根据所述展示请求从所述本地缓存中读取所述用户展示数据,所述用户展示数据包括所述候选用户以及所述候选用户的在线积分;
按照所述候选用户的在线积分对所述候选用户进行排序;
将排序后的候选用户发送至所述目标用户对应的终端,以使所述终端对所述排序后的候选用户进行展示。
可选的,所述方法还包括:
获取所述数据流所属的业务类别;
获取与所述数据流所属的业务类别匹配的候选主服务设备集合;
将所述候选主服务设备集合确定为用于存储所述至少两个用户请求数据的主服务设备集合。
可选的,所述方法还包括:
获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求;
根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备;所述主服务设备集合属于所述第一直播平台,所述迁移主服务设备集合属于所述第二直播平台;
若所述至少两个请求数据片段被迁移成功,则将属于所述第一直播平台的待存储的用户请求数据存储至所述迁移主服务设备集合中的迁移主服务设备。
可选的,所述方法还包括:
获取所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段与,所述迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度;
若所述相似度大于相似度阈值,则确定所述至少两个请求数据片段被迁移成功,从所述主服务设备集合中的主服务设备删除所述至少两个请求数据片段。
可选的,所述第一直播平台对应的数据格式与所述第二直播平台对应的数据格式不相同;
所述根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段迁移至,迁移主服务设备集合中的迁移主服务设备,包括:
根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段发送至中间服务设备,以使所述中间服务设备根据所述第二直播平台对应的数据格式,对所接收到的所述至少两个请求数据片段进行格式转换;
接收所述中间服务设备所发送的格式转换后的至少两个请求数据片段;
将所述格式转换后的至少两个请求数据片段存储至所述迁移主服务设备集合中的迁移主服务设备。
本申请实施例一方面提供一种数据处理装置,包括:
获取模块,用于获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
划分模块,用于根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
存储模块,用于根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
可选的,获取模块,还用于获取所述至少两个用户分别在至少两个时刻所发送的候选心跳数据;
可选的,所述装置还包括:合并模块,用于对所述至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到所述至少两个用户的心跳数据;
确定模块,用于将所述至少两个用户的心跳数据确定为所述至少两个用户请求数据,所述至少两个用户的心跳数据的数据类型为时延数据类型。
可选的,存储模块,还用于将所述主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备;
可选的,所述装置还包括:读取模块,用于按照第一时间间隔分别从各个所述备用服务设备中读取请求数据片段,得到至少两个请求数据片段;
可选的,确定模块,用于根据所述至少两个请求数据片段,确定所述至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数;采用所发送心跳数据的时刻以及在所述单位时间段内所发送的心跳数据的次数,确定所述至少两个用户中处于在线状态的用户;
可选的,所述装置还包括:更新模块,用于采用所述至少两个用户中处于在线状态的用户更新所述用户在线维护列表。
可选的,所述用户标识为用户编号,划分模块,用于获取所述主服务设备集合中的主服务设备对应的设备数量;获取所述用户编号与所述设备数量之间的余数;根据所述余数对所述至少两个用户请求数据进行划分,得到所述至少两个请求数据片段;一个请求数据片段与一个余数对应,同一个请求数据片段包括对应余数相同的用户请求数据。
可选的,获取模块,还用于若所述至少两个用户请求数据的数据类型为实时数据类型,则获取用于录制所述数据流的录制设备对应的位置信息,获取所述主服务设备集合中的主服务设备对应的位置信息;
可选的,确定模块,用于将所述主服务设备集合中位置信息与所述录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备;
可选的,存储模块,还用于将所述至少两个用户请求数据存储至所述目标主服务设备中;所述目标主服务设备所存储的所述至少两个用户请求数据,用于生成所述数据流对应的用户展示数据。
可选的,所述至少两个用户请求数据为所述用户在线维护列表,所述用户在线维护列表的数据类型为实时数据类型,所述用户在线维护列表包括至少两个处于在线状态的用户,以及处于在线状态的用户的在线积分;
可选的,存储模块,还用于将所述目标主服务设备所存储的所述用户在线维护列表同步至,所述目标主服务设备对应的备用服务设备;
可选的,读取模块,用于按照第二时间间隔从所述目标主服务设备对应的备用服务设备中读取所述用户在线维护列表;
可选的,确定模块,用于从所述用户在线维护列表中筛选所述在线积分大于积分阈值的用户,作为候选用户;将所述候选用户以及所述候选用户的在线积分,确定为所述数据流对应的用户展示数据。
可选的,存储模块,还用于将所述用户展示数据进行本地缓存;
所述装置还包括:接收模块,用于接收所述用户在线维护列表中的目标用户针对所述用户展示数据的展示请求;
可选的,读取模块,用于根据所述展示请求从所述本地缓存中读取所述用户展示数据,所述用户展示数据包括所述候选用户以及所述候选用户的在线积分;
所述装置还包括:发送模块,用于按照所述候选用户的在线积分对所述候选用户进行排序;将排序后的候选用户发送至所述目标用户对应的终端,以使所述终端对所述排序后的候选用户进行展示。
可选的,获取模块,用于获取所述数据流所属的业务类别;获取与所述数据流所属的业务类别匹配的候选主服务设备集合;
可选的,确定模块,用于将所述候选主服务设备集合确定为用于存储所述至少两个用户请求数据的主服务设备集合。
可选的,获取模块,用于获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求;
所述装置还包括:迁移模块,用于根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备;所述主服务设备集合属于所述第一直播平台,所述迁移主服务设备集合属于所述第二直播平台;
可选的,存储模块,还用于若所述至少两个请求数据片段被迁移成功,则将属于所述第一直播平台的待存储的用户请求数据存储至所述迁移主服务设备集合中的迁移主服务设备。
可选的,获取模块,用于获取所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段与,所述迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度;
可选的,确定模块,用于若所述相似度大于相似度阈值,则确定所述至少两个请求数据片段被迁移成功,从所述主服务设备集合中的主服务设备删除所述至少两个请求数据片段。
可选的,所述第一直播平台对应的数据格式与所述第二直播平台对应的数据格式不相同;迁移模块,具体用于根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段发送至中间服务设备,以使所述中间服务设备根据所述第二直播平台对应的数据格式,对所接收到的所述至少两个请求数据片段进行格式转换;接收所述中间服务设备所发送的格式转换后的至少两个请求数据片段;将所述格式转换后的至少两个请求数据片段存储至所述迁移主服务设备集合中的迁移主服务设备。
本申请一方面提供了一种计算机设备,包括:处理器及存储器;
其中,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行如下步骤:
获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;
若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,以执行如下步骤:
获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;
若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
本申请中,分发服务设备可以获取数据流对应的存储请求,该存储请求包括与该数据流具有关联关系的至少两个用户请求数据,如果该至少两个用户请求数据的数据类型为时延数据类型,则可以根据该存储请求获取至少两个用户请求数据分别对应的用户标识。进一步,可根据该用户标识对至少两个用户请求数据进行划分,得到至少两个请求数据片段,即用户标识相同的用户请求数据属于同一个请求数据片段,这样有利于将同一个用户对应的用户请求数据存储至同一个主服务设备中,有利于提高读取用户请求数据的效率。分发服务设备获取到至少两个请求数据片段后,可以根据每个请求数据片段的片段标识与主服务设备之间的映射关系,即每个请求数据片段与一个主服务设备相对应,将该请求数据片段存储至对应主服务设备。即不需要将至少两个用户请求数据存储至同一个主服务设备中,可避免主服务设备出现存储空间不足的问题,有利于支持更多用户在线,提高用户体验。另外,在该至少两个用户请求数据的数据类型为时延数据类型时,才采用上述分布式存储方式存储至少两个用户请求数据,这样可降低对数据流的实时性影响。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种数据处理系统的架构示意图;
图2a为本申请实施例提供的一种数据处理系统的交互示意图;
图2b为本申请实施例提供的一种数据处理系统的交互示意图;
图3是本发明实施例提供的一种数据处理系统中的各个设备的具体结构示意图;
图4是本申请提供的一种数据处理方法的流程示意图;
图5是本申请提供的一种划分至少两个用户请求数据的场景示意图;
图6是本申请提供的一种更新用户在线维护列表的场景示意图;
图7是本申请提供的一种存储至少两个用户请求数据的场景示意图;
图8是本申请提供的一种获取用户展示数据的场景示意图;
图9是本申请提供的一种向终端返回排序后的候选用户的场景示意图;
图10是本申请提供的一种将第一直播平台的业务迁移至第二直播平台的场景示意图;
图11是本申请实施例提供的一种数据处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请主要涉及云技术中的云存储技术,所谓云技术(Cloud technology)是指基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑;技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。本申请通过采用分布式存储方式将至少两个用户请求数据存储至多个主服务设备(即存储设备)中,不需要将至少两个用户请求数据存储至同一个主服务设备中,可避免主服务设备出现存储空间不足的问题,有利于支持更多用户在线,提高用户体验。
本申请的数据处理方法可应用于数据处理系统,如图1所示,该数据处理系统中包括发布终端10、主服务设备集合20、接收终端30以及分发服务设备40。
其中,发布终端10可以是指面向数据流发布者的终端,即发布终端10具体可以是指发布者用于录制数据流,并用于发布数据流所使用的终端。此处数据流可以是直播数据或非直播数据,直播数据可以是指由发布者实时录制并发布的数据,即接收者可以实时查看到发布者所发布的数据;非直播数据可以是指由发布者非实时录制并发布的数据,即发布者录制完成后,才将数据发布;数据流具体可以文本数据、视频数据、语音数据以及图像数据等等,例如,当数据流为直播数据时,数据流具体可以是指赛事直播数据流、网络教学直播数据流、购物直播数据流以及会议直播数据流等等;当数据流为文本数据时,该数据流具体可以是指用户评论数据(如美食评论数据、旅游评论数据、商品评论数据)、用户状态数据以及发布的文档等。主服务设备集合20可包括至少两个主服务设备,分别为主服务设备201、主服务设备202,等等。主服务设备可以内容展示平台的服务设备,即可用于存储数据流、用户请求数据、存储发布者和接收者的用户信息等等。此处内容展示平台包括论坛、微博、贴吧、视频应用平台、社交应用平台等等。接收终端可以是指面向接收者的终端,即接收终端具体可以是指接收者用于获取数据流的终端,一个数据流可以被至少两个接收终端所获取。即接收终端可以根据用户的操作获取(即播放或查看)某一个数据流,该接收终端获取该数据流的过程中,表明该接收终端对应的接收者进入该数据流对应的内容展示平台,此时该接收者处于在线状态;同时,接收终端可以根据用户的操作关闭数据流,即表明该接收终端对应的接收者退出该数据流对应的内容展示平台,此时该接收者处于掉线状态。
其中,主服务设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。发布终端及接收终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及主服务设备可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
分发服务设备40可以用于管理主服务设备集合20中的各个主服务设备,例如,分发服务设备40可用于为各个主服务设备分配存储任务等等。分发服务设备40可以是一个独立的服务设备,也可以是由多个服务设备共同构成的集群设备或云计算中心。
具体的,请参见图2a,图2a为本申请实施例提供的一种数据处理系统的交互示意图。如图2a所示,发布终端10在向各个接收终端发送数据流时,各个接收终端可以分别向分发服务设备40发送用户请求数据,该用户请求数据的数据类型可以包括时延数据类型以及实时数据类型;时延数据类型的用户请求数据是指不需要在接收终端进行实时展示的数据,具体包括用户的心跳数据、用户请求在线的数据等等;实时数据类型的用户请求数据可以是指需要在接收终端进行实时展示的数据,具体可包括用户在线维护列表、接收者与发布者之间的互动信息等等。当分发服务设备40接收到与数据流具有关联关系的至少两个用户请求数据,可生成针对该至少两个用户请求数据的存储请求;此处与数据流具有关联关系的至少两个用户请求数据是指:获取数据流的接收终端所发送的用户请求数据。如果该用户请求数据的数据类型为时延数据类型,则可以根据该存储请求获取至少两个用户请求数据分别对应的用户标识,即该存储请求中可包括各个用户请求数据所对应的用户标识,该用户标识用于指示对应的用户请求数据由哪个接收者对应的接收终端所发送;该用户标识可以指示接收者的登录至内容展示平台的账号、或者接收者对应的接收终端的终端标识,终端标识可以包括接收终端的Internet Protocol Address,IP)是指互联网协议地址、媒体存取控制位址(Media Access Control Address,MAC)以及接收终端的名称等等。
表1:
请求数据片段的片段标识 主服务设备
1 主服务设备201
2 主服务设备202
3 主服务设备203
…… ……
如图2b所示,在分发服务设备40获取到用户标识后,可根据该用户标识对该至少两个用户请求数据进行划分,得到至少两个请求数据片段;即将相同用户标识对应的用户请求数据划分到同一个请求数据片段中,每个请求数据片段中至少包括一个用户请求数据,每个请求数据片段分别具有不同的片段标识,此处片段标识可以由数值、字母、符号以及文字中的至少一种构成。在获取到每个请求数据片段的片段标识后,分发服务设备40可以根据片段标识为每个请求数据片段分配用于存储该请求数据片段的主服务设备;具体的,分发服务设备40可以根据片段标识与主服务设备之间的映射关系,将该至少两个请求数据分别存储至主服务设备集合中对应的主服务设备中;该主服务集合中的主服务设备所存储的该至少两个请求数据片段用于更新用户在线维护列表。例如,分发服务设备40维护有如下表1,表1用于指示片段标识与主服务设备之间的映射关系,假设至少两个请求数据片段中包括3个请求数据片段,分别为请求数据片段1、请求数据片段2以及请求数据片段3,3个请求数据片段的片段标识分别为1、2、3。如表1中,片段标识1与主服务设备201具有映射关系,即可以将请求数据片段1存储至主服务设备201中;片段标识2与主服务设备202具有映射关系,即可以将请求数据片段2存储至主服务设备202中;片段标识3与主服务设备203具有映射关系,即可以将请求数据片段3存储至主服务设备203中。
综上,在与数据流具有关联关系的至少两个用户请求数据的数据类型为时延数据类型时,通过对至少两个用户请求数据进行划分,得到至少两个请求数据片段,根据请求数据片段对应的片段标识与主服务设备之间的映射关系,将至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备中。即可实现对至少两个用户请求数据进行分布式存储,可避免将至少两个用户请求数据均存储至一个主服务设备中,导致主服务设备出现存储空间不足的问题。也就是说,通过采用分布式存储方式存储至少两个用户请求数据,可有效避免用户掉线,可支持更多用户在线。
可选的,如图3所示,该分发服务设备40可以是内容展示平台的后台服务设备;内容展示平台可以是指用于发布以及获取多媒体数据流的应用平台,该内容展示平台可以具体包括购物应用程序、社交应用程序、短视频应用程序以及网页应用程序等等。该分发服务设备10可以包括接入模块以及多个成员管理模块,接入模块用于拉取用户在线维护列表,以及判断在线用户以及掉线用户,并将用户在线维护列表存储至数据库等等,用户在线维护列表包括至少两个在线用户;一个成员管理模块可以与一个数据流相对应,成员管理模块用于对应数据流的更新用户在线维护列表,将用户的心跳数据存储至数据库中。此处数据库可以是指主服务设备集合中的主服务设备的存储模块,可用于存储用户在线维护列表以及用户心跳数据等等。可选的,可以将与数据流相关联的数据写入至主服务设备集合中的主服务设备,然后,将主服务设备中的数据同步至备用服务设备中,后续可以从备用服务设备中读取与数据流相关联的数据;这样可以实现读写分离,降低从主服务设备中读取数据的压力,有利于支持更多用户在线。
基于上述的描述,请参见图4,是本申请实施例提供的一种数据处理方法的流程示意图。该方法可由计算机设备来执行,该计算机设备可以是指图1中的分发服务设备40,如图4所示,该数据处理方法可以包括:
S101、获取数据流对应的存储请求,该存储请求包括与该数据流具有关联关系的至少两个用户请求数据。
接收终端在获取内容展示平台所发布的数据流的过程中,可以向分发服务设备发送用户请求数据。此处用户请求数据的数据类型包括时延数据类型或实时数据类型等等,该用户请数据可携带接收者的用户标识。分发服务设备接收到用户请求数据后,可以生成数据流对应的存储请求,该存储请求包括与该数据流具有关联关系的至少两个用户请求数据。
S102、若该至少两个用户请求数据的数据类型为时延数据类型,则根据该存储请求获取该至少两个用户请求数据分别对应的用户标识。
分发服务设备可以判断该至少两个用户请求数据是否为需要实时在接收终端展示的数据,如果是,则确定该至少两个用户请求数据的数据类型为实时数据类型,可以将至少两个用户请求数据存储至主服务设备集合中的某一个主服务设备中,这样有利于提高读取至少两个用户请求数据的效率。如果不是,则确定该至少两个用户请求数据的数据类型为时延数据类型,根据该存储请求获取该至少两个用户请求数据分别对应的用户标识,以便采用分布式存储方法存储该至少两个用户请求数据。
S103、根据该用户标识对该至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识。
如果将与数据流关联的所有用户请求数据均存储至一个主服务设备中,容易出现单机性能瓶颈,即容易导致主服务设备出现存储空间不足的问题。因此,如果该至少两个用户请求数据的数据类型为时延数据类型时,可以采用分布式存储方式存储至少两个用户请求数据,即将至少两用户请求数据存储至至少两个主服务设备中。首先,分发服务设备可以根据该用户标识对该至少两个用户请求数据进行划分,得到至少两个请求数据片段。例如,该用户标识为用户编号,分发服务设备可以将对应用户编号位于第一数值范围内的用户请求数据划分为一个请求数据片段;将对应用户编号位于第二数值范围内用户请求数据划分为一个请求数据片段,以此类推,可得到至少两个请求数据片段,第一数值范围与第二数值范围不同,且相互不重叠。再例如,分发服务设备可以将对应用户编号为偶数的用户请求数据划分为一个请求数据片段;将对应用户编号为奇数的用户请求数据划分为一个请求数据片段。
S104、根据该片段标识与主服务设备之间的映射关系,将该至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;该主服务集合中的主服务设备所存储的该至少两个请求数据片段用于更新用户在线维护列表。
为了可以将至少两个请求数据片段分别存储至不同的主服务设备中,分发服务设备可根据该片段标识与主服务设备之间的映射关系,即每个请求数据片段对应一个主服务设备,将每个请求数据片段分别存储至对应的主服务设备中。通过将每个请求数据片段分别存储至对应的主服务设备中,可有效避免主服务设备的存储空间不足,导致用户掉线的问题,可支持更多用户在线。
本申请中,分发服务设备可以获取数据流对应的存储请求,该存储请求包括与该数据流具有关联关系的至少两个用户请求数据,如果该至少两个用户请求数据的数据类型为时延数据类型,则可以根据该存储请求获取至少两个用户请求数据分别对应的用户标识。进一步,可根据该用户标识对至少两个用户请求数据进行划分,得到至少两个请求数据片段,即用户标识相同的用户请求数据属于同一个请求数据片段,这样有利于将同一个用户对应的用户请求数据存储至同一个主服务设备中,有利于提高读取用户请求数据的效率。分发服务设备获取到至少两个请求数据片段后,可以根据每个请求数据片段的片段标识与主服务设备之间的映射关系,即每个请求数据片段与一个主服务设备相对应,将该请求数据片段存储至对应主服务设备。即不需要将至少两个用户请求数据存储至同一个主服务设备中,可避免主服务设备出现存储空间不足的问题,有利于支持更多用户在线,提高用户体验。另外,在该至少两个用户请求数据的数据类型为时延数据类型时,才采用上述分布式存储方式存储至少两个用户请求数据,这样可降低对数据流的实时性影响。
在一个实施例中,该用户标识为用户编号,步骤S103可包括如下步骤s11~s13。
S11、获取该主服务设备集合中的主服务设备对应的设备数量。
S12、获取该用户编号与该设备数量之间的余数。
S13、根据该余数对该至少两个用户请求数据进行划分,得到该至少两个请求数据片段;一个请求数据片段与一个余数对应,同一个请求数据片段包括对应余数相同的用户请求数据。
在步骤s11~s13中,分发服务设备可以获取该主服务设备集合中的主服务设备对应的设备数量,获取该用户编号与该设备数量之间的余数,将对应余数相同的用户请求数据划分到同一个请求数据片段中。这样有利于将至少两个用户请求数据存储至至少两个主服务设备中,同时有利于将相同用户的请求数据存储至同一个主服务设备中,可提高数据读取的效率;并且每个主服务设备中所存储的用户请求数据对应的数据量相同或相差不大,有利于降低主服务设备存储数据的压力。
例如,如图5所示,假设一百万个用户向分发服务设备发送用户请求数据,这些用户请求数据的用户编号分别为1~1000000,主服务设备集合中的主服务设备对应的设备数量为3。分发服务设备可以分别获取用户编号与设备数量之间的余数,如用户编号为1,对应余数为1%3=1,如用户编号为2,对应余数为2%3=2;以此类推,可以得到所有用户请求数据对应的余数。进一步,可以将对应余数相同的用户请求数据划分为一个请求数据片段,即可以将对应余数为1的用户请求数据划分为请求数据片段,标记为请求数据片段1,可以将对应余数为2的用户请求数据划分为请求数据片段,标记为请求数据片段2;可以将对应余数为0的用户请求数据划分为请求数据片段,标记为请求数据片段3。同时,可以将余数1作为请求数据片段1的片段标识,可以将余数2作为请求数据片段2的片段标识,可以将余数0作为请求数据片段3的片段标识。当然可以采用其他方式来获取请求数据片段的片段标识,如根据请求数据片段内的用户的在线积分或加入数据流对应的内容展示平台的时间等,确定请求数据片段对应的片段标识。
在一个实施例中,步骤S101之前还包括如下步骤s21~s23。
s21、获取该至少两个用户分别在至少两个时刻所发送的候选心跳数据。
s22、对该至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到该至少两个用户的心跳数据。
s23、将该至少两个用户的心跳数据确定为该至少两个用户请求数据,该至少两个用户的心跳数据的数据类型为时延数据类型。
在步骤s21~s23中,分发服务设备可以接收该至少两个用户(即接收终端)分别在至少两个时刻所发送的候选心跳数据;对该至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到该至少两个用户的心跳数据。即通过对用户在多个时刻的心跳数据进行合并,有利于减少向主服务设备中写入数据的次数,即可缓解向主服务设备写入数据的压力。在获取到至少两个用户的心跳数据后,可将该至少两个用户的心跳数据确定为该至少两个用户请求数据;由于根据用户在一段时间内的心跳数据可确定该用户是否在线,即该用户的心跳数据不是需要在接收终端进行实时展示的数据,因此,至少两个用户的心跳数据的数据类型为时延数据类型。
在此实施例中,步骤S104之后还包括如下步骤s31~s35。
s31、将该主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备。
s32、按照第一时间间隔分别从各个该备用服务设备中读取请求数据片段,得到至少两个请求数据片段。
s33、根据该至少两个请求数据片段,确定该至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数。
s34、采用所发送心跳数据的时刻以及在该单位时间段内所发送的心跳数据的次数,确定该至少两个用户中处于在线状态的用户。
s35、采用该至少两个用户中处于在线状态的用户更新该用户在线维护列表。
在步骤s31~s35中,为了分散从主服务设备读取数据的压力,分发服务设备可以采用读写分离的方式来读写至少两个请求数据片段,即分发服务设备可以将至少两个请求数据片段分别存储至对应的主服务设备中,将主服务设备中所存储的请求数据片段同步至对应的备用服务设备中;在需要读取至少两个请求数据片段时,可以从备用服务设备中读取至少两个请求数据片段。具体的,分发服务设备可将该主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备,一个主服务设备可以与一个或多个备用服务设备对应。进一步,可以按照第一时间间隔分别从各个该备用服务设备中读取请求数据片段,得到至少两个请求数据片段,该第一时间间隔可以是指5s、10s或15s等,该第一时间间隔可以是内容展示平台的研发人员设置的,或者以其他方式设置的。分发服务设备获取到至少两个请求片段后,可以根据该至少两个请求片段确定该至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数。如果用户在单位时间内所发送的心跳数据的次数小于次数阈值,或者,用户(最近)所发送心跳数据的时刻与当前时刻之间的时间间隔大于时间间隔阈值,表明该用户处于掉线状态;如果用户在单位时间内所发送的心跳数据的次数大于或等于次数阈值,或者,用户(最近)所发送心跳数据的时刻与当前时刻之间的时间间隔小于或等于时间间隔阈值,表明该用户处于在线状态。然后,分发服务设备可以采用处于在线状态的用户更新用户在线维护列表,即仅保留用户在线维护列表中处于在线状态的用户,移除用户在线维护列表中处于掉线状态的用户。用户在线维护列表包括多个处于在线状态的用户,各个处于在线状态的用户可以按照在线积分的大小或上线时长的大小等等依次被排列在用户在线维护列表中。
例如,如图6所示,主服务设备201与备用设备2011相对应,主服务设备202与备用设备2022相对应,主服务设备203与备用设备2033相对应。分发服务设备可以将主服务设备201所存储的请求数据片段1同步至备用设备2011,将主服务设备202所存储的请求数据片段2同步至备用设备2022,将主服务设备203所存储的请求数据片段3同步至备用设备2033。分发服务设备可以按照第一时间间隔从各个备用服务设备中读取所存储的请求数据片段,得到至少两个请求数据片段,根据至少两个请求数据片段确定用户发送心跳数据的时刻以及单位时间内(如1s或5s)所发送心跳数据的次数。进一步,根据所发送心跳数据的时刻以及所发送的心跳数据的次数确定处于在线状态的用户,采用处于在线状态的用户更新用户在线维护列表。
可选的,该用户在线维护列表可以由主服务设备集合中的目标主服务设备来更新,目标主服务设备可以是指主服务设备集合中用于存储用户在线维护列表的设备。具体的,分发服务设备将该主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备,按照第一时间间隔向目标主服务设备发送对用户在线列表的更新请求;以使该目标主服务设备分别从各个该备用服务设备中读取请求数据片段,得到至少两个请求数据片段。然后,由目标主服务设备根据该至少两个请求数据片段,确定该至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数;采用所发送心跳数据的时刻以及在该单位时间段内所发送的心跳数据的次数,确定该至少两个用户中处于在线状态的用户;采用该至少两个用户中处于在线状态的用户更新该用户在线维护列表。通过目标主服务设备来更新用户在线维护列表,可以将降低分发服务设备处理数据的压力,有利于确保数据处理的实时性。
在一个实施例中,在步骤S103之后还可包括如下步骤s41~s43。
s41、获取该数据流所属的业务类别。
s42、获取与该数据流所属的业务类别匹配的候选主服务设备集合。
s43、将该候选主服务设备集合确定为用于存储该至少两个用户请求数据的主服务设备集合。
在步骤s41~s43中,数据处理系统中可以包括多个候选主服务设备集合,候选主服务设备集合与该数据流所属的业务类别相对应,即不同候选主服务设备集合与不同的业务类别相对应,此处业务类别可以包括购物类、教育类、体育赛事类、会议类或电视节目类等等。因此,分发服务设备可以获取该数据流所属的内容展示平台,根据该内容展示平台确定该数据流所属的业务类别,如该内容展示平台为购物应用程序,则确定该数据流所属的业务类别为购物类别,或者,该内容展示平台为办公应用程序,则确定该数据流所属的业务类别为会议类别。分发服务设备获取该数据流所属的业务类别后,可获取与该数据流所属的业务类别匹配的候选主服务设备集合,将该候选主服务设备集合确定为用于存储该至少两个用户请求数据的主服务设备集合。通过为不同业务类别的数据流,获取不同的主服务设备集合,可实现对不同业务类别的数据流进行隔离,提高数据处理的效率。
表2:
业务类别 候选主服务设备集合
购物类 候选主服务设备集合20
教育类 候选主服务设备集合21
体育赛事类 候选主服务设备集合22
…… ……
例如,分发服务设备中存储有候选主服务设备集合与业务类别之间的映射表,该映射表如下表2所示;表2中包括三个候选主服务设备集合,分别为候选主服务设备集合20、候选主服务设备集合21以及候选主服务设备集合23。这三个候选主服务设备集合分别与购物类、教育类、体育赛事类相对应。分发服务设备获取到该数据流所属的业务类别后,可以根据表2查询与该数据流所属的业务类别匹配的候选主服务设备集合,将该候选主服务设备集合确定为用于存储该至少两个用户请求数据的主服务设备集合。
在一个实施例中,该方法还可包括如下步骤s51~s53。
s51、若该至少两个用户请求数据的数据类型为实时数据类型,则获取用于录制该数据流的录制设备对应的位置信息,获取该主服务设备集合中的主服务设备对应的位置信息。
s52、将该主服务设备集合中位置信息与该录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备。
s53、将该至少两个用户请求数据存储至该目标主服务设备中;该目标主服务设备所存储的该至少两个用户请求数据,用于生成该数据流对应的用户展示数据。
在步骤s51~s53中,若该至少两个用户请求数据的数据类型为实时数据类型,表明该至少两个用户请求数据为需要在接收终端进行实时展示的数据,因此,可以获取用于录制该数据流的录制设备对应的位置信息,获取该主服务设备集合中的主服务设备对应的位置信息。进一步,可以将该主服务设备集合中位置信息与该录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备,位置信息与该录制设备对应的位置信息匹配的主服务设备可以是指:主服务设备集合中位置信息与录制设备的位置信息相同的主服务设备,或者,主服务设备集合中位置与录制设备的位置之间的距离最小的主服务设备。在分发服务设备获取到目标主服务设备后,可将该至少两个用户请求数据存储至该目标主服务设备中,即可实现就近存储该至少两个用户请求数据,提高读取该至少两个用户请求数据的效率。该目标主服务设备所存储的该至少两个用户请求数据,用于生成该数据流对应的用户展示数据,此处用户展示数据可以是指在线积分靠前的在线用户,以及用户的在线时长、在线积分等等。
例如,如图7所示,如果该至少两个用户请求数据为实时数据类型,分发服务设备可以获取用于录制该数据流的录制设备对应的位置信息,即获取发布终端10的位置信息;并分别获取主服务设备201、主服务设备202以及主服务设备203的位置信息。如果根据主服务设备201的位置信息以及发布终端10的位置信息,确定主服务设备201与发布终端之间的距离最近,则确定主服务设备201的位置信息与发布终端10的位置信息相匹配,将主服务设备201作为目标主服务设备;将该至少两个用户请求数据存储至该目标主服务设备中。
在此实施例中,该至少两个用户请求数据为该用户在线维护列表,该用户在线维护列表的数据类型为实时数据类型,该用户在线维护列表包括至少两个处于在线状态的用户,以及处于在线状态的用户的在线积分;该方法还可包括如下步骤s61~s64。
s61、将该目标主服务设备所存储的该用户在线维护列表同步至,该目标主服务设备对应的备用服务设备。
s62、按照第二时间间隔从该目标主服务设备对应的备用服务设备中读取该用户在线维护列表。
s63、从该用户在线维护列表中筛选该在线积分大于积分阈值的用户,作为候选用户。
s64、将该候选用户以及该候选用户的在线积分,确定为该数据流对应的用户展示数据。
在步骤s61~s64中,为了分散从目标主服务设备读取数据的压力,分发服务设备可以采用读写分离的方式来读写该用户在线维护列表,即分发服务设备可以将该用户在线维护列表存储至目标主服务设备中,将目标主服务设备中所存储的该用户在线维护列表同步至对应的备用服务设备中;在需要读取该用户在线维护列表时,可以从备用服务设备中读取该用户在线维护列表。具体的,如图8所示,目标主服务设备与备用服务设备2011相对应,分发服务设备可将该目标主服务设备所存储的该用户在线维护列表同步至,该目标主服务设备对应的备用服务设备2011,当然,该目标主服务设备可以与多个备用服务设备相对应,本申请对此不做限定。进一步,按照第二时间间隔从该目标主服务设备对应的备用服务设备2011中读取该用户在线维护列表,即按照第二时间间隔周期性地从该目标主服务设备对应的备用服务设备2011中读取该用户在线维护列表,可降低从目标主服务设备对应的备用服务设备2011中读取该用户在线维护列表的次数,即降低从备用设备中读取数据的压力。分发服务设备读取到该用户在线维护列表后,可以从该用户在线维护列表中筛选该在线积分大于积分阈值的用户,作为候选用户;将该候选用户以及该候选用户的在线积分,确定为该数据流对应的用户展示数据。
可选的,目标主服务设备以及对应备用服务设备可采用有序集合(zset)的数据结构存储用户在线维护列表;用户在线维护列表可表示如下:
key:prefix_room_member_{room_id}
数据:<uid,score>
表3:
32bit 32bit
time stamp client-type
表4:
Figure BDA0002483747660000221
其中,上述数据结构中room_id表示用户在线维护列表对应的直播间的编号,用户在线维护列表中包括每个在用户的数据,即用户的用户编号(uid),在线积分(score),在线积分可以是根据上述表3中接收者加入直播间的时间戳(time stamp)以及接收者对应的接收终端的类型(client-type)确定的,其中,时间戳以及接收终端的类型均可以是采用32位(bit)来表示。
可选的,以该内容展示平台为网络直播平台为例,即该内容展示平台为直播间,接收终端可以进入或退出直播间,可以拉取用户在线维护列表,在用户在线维护列表中查询在线用户以及直播间的用户数量等等。具体如表4所示,如表4中,当该用户进入直播间时,接收终端可以通过执行redis zadd命令将用户加入至用户在线维护列表,并获取该用户的心跳数据;或者当用户退出直播间时,可通过执行redis zrem命令来将用户退出用户在线维护列表,并删除用户的心跳数据。当用户拉取用户在线维护列表时,可执行redisz range命令获取用户在线维护列表中在线积分排列靠前的N个在线用户,并缓存redisz range命令缓存前面的用户。可通过执行redis zadd命令,更新用户的心跳数据,并根据心跳数据更新用户在线维护列表。可通过执行redis zcore命令从用户在线维护列表中查询该直播间在线用户的数量。可选的,表4中还包括实现上述各个功能点的时间复杂度,该时间复杂度是根据实现上述功能点的时长确定的。
在一个实施例中,该方法还可包括如下步骤s71~s75。
s71、将该用户展示数据进行本地缓存。
s72、接收该用户在线维护列表中的目标用户针对该用户展示数据的展示请求。
s73、根据该展示请求从该本地缓存中读取该用户展示数据,该用户展示数据包括该候选用户以及该候选用户的在线积分。
s74、按照该候选用户的在线积分对该候选用户进行排序。
s75、将排序后的候选用户发送至该目标用户对应的终端,以使该终端对该排序后的候选用户进行展示。
在步骤s71~s75中,如图9所示,分发服务设备可以将该用户展示数据进行本地缓存,接收该用户在线维护列表中的目标用户针对该用户展示数据的展示请求,即如果接到接收者拉取用户在线列表时,可以根据该展示请求从该本地缓存中读取该用户展示数据,该用户展示数据包括该候选用户以及该候选用户的在线积分。在线积分可以是指根据在线用户的行为数据确定的,行为数据包括与发布者的互动次数、在线时长、关注发布者的时长等中的至少一种。分发服务设备获取到用户展示数据后,可以按照该候选用户的在线积分由高到低对该候选用户进行排序,或者,可以按照该候选用户的在线积分由低到高对该候选用户进行排序;将排序后的候选用户发送至目标用户对应的终端(即接收终端30),以使该终端对该排序后的候选用户进行展示。通过在分发服务设备的本地缓存用户展示数据,可提高读取用户展示数据的效率,有利于实时地对用户展示数据进行展示。如图9中接收终端30接收到排序后的候选用户后,可以将排序后的候选用户展示在直播界面50中,这样有利于接收者查看在数据流对应的直播间中的排名。该直播界面中还可以包括发布者的用户信息,如名称、性别以及头像等等;直播界面还可以包括发布者与接收终端之间的互动信息。
在一个实施例中,该方法还可包括如下步骤s81~s83。
s81、获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求。
s82、根据该迁移请求将该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备;该主服务设备集合属于该第一直播平台,该迁移主服务设备集合属于该第二直播平台。
s83、若该至少两个请求数据片段被迁移成功,则将属于该第一直播平台的待存储的用户请求数据存储至该迁移主服务设备集合中的迁移主服务设备。
在步骤s81~s83中,第二直播平台可以是指基于第一直播平台升级后的直播平台,第一直播平台与第二直播平台的业务处理方式或架构等存在差异;当需要将第一直播平台的直播业务迁移至第二直播平台的迁移时,如果直接对第一直播平台进行停机,会影响业务的正常运行;如果一次性将第一直播平台的业务迁移至第二直播平台,会存在较大风。因此,分发服务设备可以采用灰度方式将第一直播平台的业务迁移至第二直播平台,即可以先将第一直播平台的写数据业务迁移至第二直播平台,在确定第二直播平台具备写数据能力时,再将第一直播平台的读数据业务迁移至第二直播平台。例如,分发服务设备可以获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求,根据该迁移请求将该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备,即通过向迁移主服务设备迁移至少两个请求数据片段,来验证第二直播平台是否具备写数据能力。若该至少两个请求数据片段未被迁移成功,表明第二直播平台不具备写数据能力,则需要对第二直播平台进行修复处理。若该至少两个请求数据片段被迁移成功,表明第二直播平台具备写数据能力,则将属于该第一直播平台的待存储的用户请求数据存储至该迁移主服务设备集合中的迁移主服务设备,即可将第一直播平台的写数据业务迁移至第二直播平台,即将第一直播平台的写数据业务迁移至第二直播平台。进一步,在确定第二直播平台具有读数据能力时,分发服务设备接收主服务设备集合中的主服务设备所读取的至少两个请求数据片段,以及该迁移主服务设备集合中的迁移主服务设备所读取的至少两个请求数据片段。如果主服务设备所读取的至少两个请求数据片段与迁移主服务设备所读取的至少两个请求数据片段的相似度大于相似度阈值,则确定第二直播平台具有读取数据能力,当接收到读取用户请求数据的请求,则根据该请求从第二直播平台中读取用户请求数据,即将第一直播平台的读取数据业务迁移至第二直播平台。
在一个实施例中,该方法还可包括如下步骤s91~s92。
s91、获取该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段与,该迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度。
s92、若该相似度大于相似度阈值,则确定该至少两个请求数据片段被迁移成功,从该主服务设备集合中的主服务设备删除该至少两个请求数据片段。
在步骤s91~s92中,分发服务设备可以采用距离算法获取该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段与,该迁移主服务设备中迁移得到至少两个请求数据片段之间的距离;此处距离算法包括:欧式距离算法、闵可夫斯基距离算法、曼哈顿距离算法以及切比雪夫距离算法等等。进一步,根据该距离确定该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段与,该迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度。若该相似度大于相似度阈值,表明第二直播平台所写入的数据与第一直播平台所写入的数据相同或相似,即第二直播平台具备写数据能力,则确定该至少两个请求数据片段被迁移成功,从该主服务设备集合中的主服务设备删除该至少两个请求数据片段。该相似度小于或等于相似度阈值,表明第二直播平台所写入的数据与第一直播平台所写入的数据差异较大,即第二直播平台不具备写数据能力,则确定该至少两个请求数据片段未被迁移成功。
可选的,该第一直播平台对应的数据格式与该第二直播平台对应的数据格式不相同;s82可包括如下步骤s111~s113。
s111、根据该迁移请求将该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段发送至中间服务设备,以使该中间服务设备根据该第二直播平台对应的数据格式,对所接收到的该至少两个请求数据片段进行格式转换。
s112、接收该中间服务设备所发送的格式转换后的至少两个请求数据片段。
s113、将该格式转换后的至少两个请求数据片段存储至该迁移主服务设备集合中的迁移主服务设备。
在步骤s111~s113中,如图10所示,第一直播平台与第二直播平台对应的分发服务设备均具有直播接入模块,以及成员管理模块,均可实现相应的功能;但是不同直播平台中各个模块所支持的数据格式不相同。即该第一直播平台对应的数据格式与该第二直播平台对应的数据格式不相同时,可以通过中间服务设备对至少两个请求数据片段进行格式转换,以便可以成功向第二直播平台中写入数据。具体的,分发服务设备可根据该迁移请求将该主服务设备集合中的主服务设备所存储的该至少两个请求数据片段发送至中间服务设备,由该中间服务设备根据该第二直播平台对应的数据格式,对所接收到的该至少两个请求数据片段进行格式转换。进一步,可接收该中间服务设备所发送的格式转换后的至少两个请求数据片段,并将该格式转换后的至少两个请求数据片段存储至该迁移主服务设备集合中的迁移主服务设备。通过中间服务设备可以实现第一直播平台与第二直播平台之间的兼容,可有利于将第一直播平台中的数据成功写入至第二直播平台中。
请参见图11,是本申请实施例提供的一种数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该数据处理装置可以包括:获取模块111、划分模块112、存储模块113、合并模块114、确定模块115、读取模块116、更新模块117、接收模块118、发送模块119、迁移模块120。
获取模块111,用于获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
划分模块112,用于根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
存储模块113,用于根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
可选的,获取模块111,还用于获取所述至少两个用户分别在至少两个时刻所发送的候选心跳数据;
可选的,所述装置还包括:合并模块114,用于对所述至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到所述至少两个用户的心跳数据;
确定模块115,用于将所述至少两个用户的心跳数据确定为所述至少两个用户请求数据,所述至少两个用户的心跳数据的数据类型为时延数据类型。
可选的,存储模块113,还用于将所述主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备;
可选的,所述装置还包括:读取模块116,用于按照第一时间间隔分别从各个所述备用服务设备中读取请求数据片段,得到至少两个请求数据片段;
可选的,确定模块115,用于根据所述至少两个请求数据片段,确定所述至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数;采用所发送心跳数据的时刻以及在所述单位时间段内所发送的心跳数据的次数,确定所述至少两个用户中处于在线状态的用户;
可选的,所述装置还包括:更新模块117,用于采用所述至少两个用户中处于在线状态的用户更新所述用户在线维护列表。
可选的,所述用户标识为用户编号,划分模块112,用于获取所述主服务设备集合中的主服务设备对应的设备数量;获取所述用户编号与所述设备数量之间的余数;根据所述余数对所述至少两个用户请求数据进行划分,得到所述至少两个请求数据片段;一个请求数据片段与一个余数对应,同一个请求数据片段包括对应余数相同的用户请求数据。
可选的,获取模块111,还用于若所述至少两个用户请求数据的数据类型为实时数据类型,则获取用于录制所述数据流的录制设备对应的位置信息,获取所述主服务设备集合中的主服务设备对应的位置信息;
可选的,确定模块115,用于将所述主服务设备集合中位置信息与所述录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备;
可选的,存储模块113,还用于将所述至少两个用户请求数据存储至所述目标主服务设备中;所述目标主服务设备所存储的所述至少两个用户请求数据,用于生成所述数据流对应的用户展示数据。
可选的,所述至少两个用户请求数据为所述用户在线维护列表,所述用户在线维护列表的数据类型为实时数据类型,所述用户在线维护列表包括至少两个处于在线状态的用户,以及处于在线状态的用户的在线积分;
可选的,存储模块113,还用于将所述目标主服务设备所存储的所述用户在线维护列表同步至,所述目标主服务设备对应的备用服务设备;
可选的,读取模块116,用于按照第二时间间隔从所述目标主服务设备对应的备用服务设备中读取所述用户在线维护列表;
可选的,确定模块115,用于从所述用户在线维护列表中筛选所述在线积分大于积分阈值的用户,作为候选用户;将所述候选用户以及所述候选用户的在线积分,确定为所述数据流对应的用户展示数据。
可选的,存储模块113,还用于将所述用户展示数据进行本地缓存;
所述装置还包括:接收模块118,用于接收所述用户在线维护列表中的目标用户针对所述用户展示数据的展示请求;
可选的,读取模块116,用于根据所述展示请求从所述本地缓存中读取所述用户展示数据,所述用户展示数据包括所述候选用户以及所述候选用户的在线积分;
所述装置还包括:发送模块119,用于按照所述候选用户的在线积分对所述候选用户进行排序;将排序后的候选用户发送至所述目标用户对应的终端,以使所述终端对所述排序后的候选用户进行展示。
可选的,获取模块111,用于获取所述数据流所属的业务类别;获取与所述数据流所属的业务类别匹配的候选主服务设备集合;
可选的,确定模块115,用于将所述候选主服务设备集合确定为用于存储所述至少两个用户请求数据的主服务设备集合。
可选的,获取模块111,用于获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求;
所述装置还包括:迁移模块120,用于根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备;所述主服务设备集合属于所述第一直播平台,所述迁移主服务设备集合属于所述第二直播平台;
可选的,存储模块113,还用于若所述至少两个请求数据片段被迁移成功,则将属于所述第一直播平台的待存储的用户请求数据存储至所述迁移主服务设备集合中的迁移主服务设备。
可选的,获取模块111,用于获取所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段与,所述迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度;
可选的,确定模块115,用于若所述相似度大于相似度阈值,则确定所述至少两个请求数据片段被迁移成功,从所述主服务设备集合中的主服务设备删除所述至少两个请求数据片段。
可选的,所述第一直播平台对应的数据格式与所述第二直播平台对应的数据格式不相同;迁移模块120,具体用于根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段发送至中间服务设备,以使所述中间服务设备根据所述第二直播平台对应的数据格式,对所接收到的所述至少两个请求数据片段进行格式转换;接收所述中间服务设备所发送的格式转换后的至少两个请求数据片段;将所述格式转换后的至少两个请求数据片段存储至所述迁移主服务设备集合中的迁移主服务设备。
根据本申请的一个实施例,图4所示的数据处理方法所涉及的步骤可由图11所示的数据处理装置中的各个模块来执行。例如,图4中所示的步骤S101和S102可由图11中的获取模块11来执行,图4中所示的步骤S103可由图11中的划分模块112来执行;图4中所示的步骤S104可由图11中的存储模块113来执行。
根据本申请的一个实施例,图8所示的数据处理装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的数据处理装置,以及来实现本申请实施例的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请中,分发服务设备可以获取数据流对应的存储请求,该存储请求包括与该数据流具有关联关系的至少两个用户请求数据,如果该至少两个用户请求数据的数据类型为时延数据类型,则可以根据该存储请求获取至少两个用户请求数据分别对应的用户标识。进一步,可根据该用户标识对至少两个用户请求数据进行划分,得到至少两个请求数据片段,即用户标识相同的用户请求数据属于同一个请求数据片段,这样有利于将同一个用户对应的用户请求数据存储至同一个主服务设备中,有利于提高读取用户请求数据的效率。分发服务设备获取到至少两个请求数据片段后,可以根据每个请求数据片段的片段标识与主服务设备之间的映射关系,即每个请求数据片段与一个主服务设备相对应,将该请求数据片段存储至对应主服务设备。即不需要将至少两个用户请求数据存储至同一个主服务设备中,可避免主服务设备出现存储空间不足的问题,有利于支持更多用户在线,提高用户体验。另外,在该至少两个用户请求数据的数据类型为时延数据类型时,才采用上述分布式存储方式存储至少两个用户请求数据,这样可降低对数据流的实时性影响。
请参见图12,是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;
若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取所述至少两个用户分别在至少两个时刻所发送的候选心跳数据;
对所述至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到所述至少两个用户的心跳数据;
将所述至少两个用户的心跳数据确定为所述至少两个用户请求数据,所述至少两个用户的心跳数据的数据类型为时延数据类型。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
将所述主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备;
按照第一时间间隔分别从各个所述备用服务设备中读取请求数据片段,得到至少两个请求数据片段;
根据所述至少两个请求数据片段,确定所述至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数;
采用所发送心跳数据的时刻以及在所述单位时间段内所发送的心跳数据的次数,确定所述至少两个用户中处于在线状态的用户;
采用所述至少两个用户中处于在线状态的用户更新所述用户在线维护列表。
可选的,所述用户标识为用户编号,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取所述主服务设备集合中的主服务设备对应的设备数量;
获取所述用户编号与所述设备数量之间的余数;
根据所述余数对所述至少两个用户请求数据进行划分,得到所述至少两个请求数据片段;一个请求数据片段与一个余数对应,同一个请求数据片段包括对应余数相同的用户请求数据。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
若所述至少两个用户请求数据的数据类型为实时数据类型,则获取用于录制所述数据流的录制设备对应的位置信息,获取所述主服务设备集合中的主服务设备对应的位置信息;
将所述主服务设备集合中位置信息与所述录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备;
将所述至少两个用户请求数据存储至所述目标主服务设备中;所述目标主服务设备所存储的所述至少两个用户请求数据,用于生成所述数据流对应的用户展示数据。
可选的,所述至少两个用户请求数据为所述用户在线维护列表,所述用户在线维护列表的数据类型为实时数据类型,所述用户在线维护列表包括至少两个处于在线状态的用户,以及处于在线状态的用户的在线积分;处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
将所述目标主服务设备所存储的所述用户在线维护列表同步至,所述目标主服务设备对应的备用服务设备;
按照第二时间间隔从所述目标主服务设备对应的备用服务设备中读取所述用户在线维护列表;
从所述用户在线维护列表中筛选所述在线积分大于积分阈值的用户,作为候选用户;
将所述候选用户以及所述候选用户的在线积分,确定为所述数据流对应的用户展示数据。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
将所述用户展示数据进行本地缓存;
接收所述用户在线维护列表中的目标用户针对所述用户展示数据的展示请求;
根据所述展示请求从所述本地缓存中读取所述用户展示数据,所述用户展示数据包括所述候选用户以及所述候选用户的在线积分;
按照所述候选用户的在线积分对所述候选用户进行排序;
将排序后的候选用户发送至所述目标用户对应的终端,以使所述终端对所述排序后的候选用户进行展示。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取所述数据流所属的业务类别;
获取与所述数据流所属的业务类别匹配的候选主服务设备集合;
将所述候选主服务设备集合确定为用于存储所述至少两个用户请求数据的主服务设备集合。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求;
根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备;所述主服务设备集合属于所述第一直播平台,所述迁移主服务设备集合属于所述第二直播平台;
若所述至少两个请求数据片段被迁移成功,则将属于所述第一直播平台的待存储的用户请求数据存储至所述迁移主服务设备集合中的迁移主服务设备。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段与,所述迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度;
若所述相似度大于相似度阈值,则确定所述至少两个请求数据片段被迁移成功,从所述主服务设备集合中的主服务设备删除所述至少两个请求数据片段。
可选的,所述第一直播平台对应的数据格式与所述第二直播平台对应的数据格式不相同;
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段发送至中间服务设备,以使所述中间服务设备根据所述第二直播平台对应的数据格式,对所接收到的所述至少两个请求数据片段进行格式转换;
接收所述中间服务设备所发送的格式转换后的至少两个请求数据片段;
将所述格式转换后的至少两个请求数据片段存储至所述迁移主服务设备集合中的迁移主服务设备。
本申请中,分发服务设备可以获取数据流对应的存储请求,该存储请求包括与该数据流具有关联关系的至少两个用户请求数据,如果该至少两个用户请求数据的数据类型为时延数据类型,则可以根据该存储请求获取至少两个用户请求数据分别对应的用户标识。进一步,可根据该用户标识对至少两个用户请求数据进行划分,得到至少两个请求数据片段,即用户标识相同的用户请求数据属于同一个请求数据片段,这样有利于将同一个用户对应的用户请求数据存储至同一个主服务设备中,有利于提高读取用户请求数据的效率。分发服务设备获取到至少两个请求数据片段后,可以根据每个请求数据片段的片段标识与主服务设备之间的映射关系,即每个请求数据片段与一个主服务设备相对应,将该请求数据片段存储至对应主服务设备。即不需要将至少两个用户请求数据存储至同一个主服务设备中,可避免主服务设备出现存储空间不足的问题,有利于支持更多用户在线,提高用户体验。另外,在该至少两个用户请求数据的数据类型为时延数据类型时,才采用上述分布式存储方式存储至少两个用户请求数据,这样可降低对数据流的实时性影响。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图4所对应实施例中对上述数据处理方法的描述,也可执行前文图11所对应实施例中对上述数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理装置所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图4对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (14)

1.一种数据处理方法,其特征在于,包括:
获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;
若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述至少两个用户分别在至少两个时刻所发送的候选心跳数据;
对所述至少两个时刻中属于相同时间段内所发送的候选心跳数据进行合并,得到所述至少两个用户的心跳数据;
将所述至少两个用户的心跳数据确定为所述至少两个用户请求数据,所述至少两个用户的心跳数据的数据类型为时延数据类型。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
将所述主服务设备集合中的各个主服务设备所存储的请求数据片段分别同步至对应的备用服务设备;
按照第一时间间隔分别从各个所述备用服务设备中读取请求数据片段,得到至少两个请求数据片段;
根据所述至少两个请求数据片段,确定所述至少两个用户所发送心跳数据的时刻以及在单位时间段内所发送的心跳数据的次数;
采用所发送心跳数据的时刻以及在所述单位时间段内所发送的心跳数据的次数,确定所述至少两个用户中处于在线状态的用户;
采用所述至少两个用户中处于在线状态的用户更新所述用户在线维护列表。
4.如权利要求1所述的方法,其特征在于,所述用户标识为用户编号,所述根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段,包括:
获取所述主服务设备集合中的主服务设备对应的设备数量;
获取所述用户编号与所述设备数量之间的余数;
根据所述余数对所述至少两个用户请求数据进行划分,得到所述至少两个请求数据片段;一个请求数据片段与一个余数对应,同一个请求数据片段包括对应余数相同的用户请求数据。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述至少两个用户请求数据的数据类型为实时数据类型,则获取用于录制所述数据流的录制设备对应的位置信息,获取所述主服务设备集合中的主服务设备对应的位置信息;
将所述主服务设备集合中位置信息与所述录制设备对应的位置信息匹配的主服务设备,作为目标主服务设备;
将所述至少两个用户请求数据存储至所述目标主服务设备中;所述目标主服务设备所存储的所述至少两个用户请求数据,用于生成所述数据流对应的用户展示数据。
6.如权利要求5所述的方法,其特征在于,所述至少两个用户请求数据为所述用户在线维护列表,所述用户在线维护列表的数据类型为实时数据类型,所述用户在线维护列表包括至少两个处于在线状态的用户,以及处于在线状态的用户的在线积分;所述方法还包括:
将所述目标主服务设备所存储的所述用户在线维护列表同步至,所述目标主服务设备对应的备用服务设备;
按照第二时间间隔从所述目标主服务设备对应的备用服务设备中读取所述用户在线维护列表;
从所述用户在线维护列表中筛选所述在线积分大于积分阈值的用户,作为候选用户;
将所述候选用户以及所述候选用户的在线积分,确定为所述数据流对应的用户展示数据。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
将所述用户展示数据进行本地缓存;
接收所述用户在线维护列表中的目标用户针对所述用户展示数据的展示请求;
根据所述展示请求从所述本地缓存中读取所述用户展示数据,所述用户展示数据包括所述候选用户以及所述候选用户的在线积分;
按照所述候选用户的在线积分对所述候选用户进行排序;
将排序后的候选用户发送至所述目标用户对应的终端,以使所述终端对所述排序后的候选用户进行展示。
8.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
获取所述数据流所属的业务类别;
获取与所述数据流所属的业务类别匹配的候选主服务设备集合;
将所述候选主服务设备集合确定为用于存储所述至少两个用户请求数据的主服务设备集合。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取将第一直播平台的直播业务迁移至第二直播平台的迁移请求;
根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段,迁移至迁移主服务设备集合中的迁移主服务设备;所述主服务设备集合属于所述第一直播平台,所述迁移主服务设备集合属于所述第二直播平台;
若所述至少两个请求数据片段被迁移成功,则将属于所述第一直播平台的待存储的用户请求数据存储至所述迁移主服务设备集合中的迁移主服务设备。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
获取所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段与,所述迁移主服务设备中迁移得到至少两个请求数据片段之间的相似度;
若所述相似度大于相似度阈值,则确定所述至少两个请求数据片段被迁移成功,从所述主服务设备集合中的主服务设备删除所述至少两个请求数据片段。
11.如权利要求9所述的方法,其特征在于,所述第一直播平台对应的数据格式与所述第二直播平台对应的数据格式不相同;
所述根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段迁移至,迁移主服务设备集合中的迁移主服务设备,包括:
根据所述迁移请求将所述主服务设备集合中的主服务设备所存储的所述至少两个请求数据片段发送至中间服务设备,以使所述中间服务设备根据所述第二直播平台对应的数据格式,对所接收到的所述至少两个请求数据片段进行格式转换;
接收所述中间服务设备所发送的格式转换后的至少两个请求数据片段;
将所述格式转换后的至少两个请求数据片段存储至所述迁移主服务设备集合中的迁移主服务设备。
12.一种数据处理装置,其特征在于,包括:
获取模块,用于获取数据流对应的存储请求,所述存储请求包括与所述数据流具有关联关系的至少两个用户请求数据;若所述至少两个用户请求数据的数据类型为时延数据类型,则根据所述存储请求获取所述至少两个用户请求数据分别对应的用户标识;
划分模块,用于根据所述用户标识对所述至少两个用户请求数据进行划分,得到至少两个请求数据片段;相同的用户标识对应的用户请求数据属于同一个请求数据片段,每个请求数据片段分别具有不同的片段标识;
存储模块,用于根据所述片段标识与主服务设备之间的映射关系,将所述至少两个请求数据片段分别存储至主服务设备集合中对应的主服务设备;所述主服务集合中的主服务设备所存储的所述至少两个请求数据片段用于更新用户在线维护列表。
13.一种计算机设备,其特征在于,包括:处理器及存储器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至11中任一项所述方法的步骤。
CN202010385506.4A 2020-05-09 2020-05-09 数据处理方法、装置、存储介质及设备 Active CN113625936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010385506.4A CN113625936B (zh) 2020-05-09 2020-05-09 数据处理方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010385506.4A CN113625936B (zh) 2020-05-09 2020-05-09 数据处理方法、装置、存储介质及设备

Publications (2)

Publication Number Publication Date
CN113625936A true CN113625936A (zh) 2021-11-09
CN113625936B CN113625936B (zh) 2024-07-12

Family

ID=78376405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010385506.4A Active CN113625936B (zh) 2020-05-09 2020-05-09 数据处理方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN113625936B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003472A (zh) * 2022-01-04 2022-02-01 连连(杭州)信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114363640A (zh) * 2022-01-05 2022-04-15 上海哔哩哔哩科技有限公司 数据存储方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752322A (zh) * 2011-04-18 2012-10-24 中国科学院声学研究所 一种物联网中分布式数据存储和查询的方法
WO2017206649A1 (zh) * 2016-05-31 2017-12-07 重庆大学 一种去中心化的分布式异构存储系统数据分布方法
CN108287669A (zh) * 2018-01-26 2018-07-17 平安科技(深圳)有限公司 数据存储方法、装置及存储介质
CN110196680A (zh) * 2018-03-27 2019-09-03 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
CN111124299A (zh) * 2019-12-17 2020-05-08 网易传媒科技(北京)有限公司 数据存储管理方法、装置、设备、系统及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752322A (zh) * 2011-04-18 2012-10-24 中国科学院声学研究所 一种物联网中分布式数据存储和查询的方法
WO2017206649A1 (zh) * 2016-05-31 2017-12-07 重庆大学 一种去中心化的分布式异构存储系统数据分布方法
CN108287669A (zh) * 2018-01-26 2018-07-17 平安科技(深圳)有限公司 数据存储方法、装置及存储介质
CN110196680A (zh) * 2018-03-27 2019-09-03 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
CN111124299A (zh) * 2019-12-17 2020-05-08 网易传媒科技(北京)有限公司 数据存储管理方法、装置、设备、系统及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003472A (zh) * 2022-01-04 2022-02-01 连连(杭州)信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114003472B (zh) * 2022-01-04 2022-04-12 连连(杭州)信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114363640A (zh) * 2022-01-05 2022-04-15 上海哔哩哔哩科技有限公司 数据存储方法、装置及系统
CN114363640B (zh) * 2022-01-05 2023-11-21 上海哔哩哔哩科技有限公司 数据存储方法、装置及系统

Also Published As

Publication number Publication date
CN113625936B (zh) 2024-07-12

Similar Documents

Publication Publication Date Title
CN109408639B (zh) 一种弹幕分类方法、装置、设备和存储介质
US9559992B2 (en) System and method for updating information in an instant messaging application
WO2020258290A1 (zh) 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统
CN101611402B (zh) 用于优化数据集的变化的系统和方法
US11736749B2 (en) Interactive service processing method and system, device, and storage medium
CN107147718B (zh) 一种广告数据的定向发布方法、服务器和智能电视终端
CN112203104A (zh) 应用于在线电商交互的大数据业务处理方法及电商云平台
CN110784498B (zh) 一种个性化数据容灾方法及装置
CN113625936B (zh) 数据处理方法、装置、存储介质及设备
CN107770574A (zh) 视频传播的方法和装置
CN102902451A (zh) 信息处理设备、程序和协调处理方法
WO2014176896A1 (en) System and method for updating information in an instant messaging application
CN113505265A (zh) 数据的查询方法、装置及电子设备、存储介质、程序产品
CN112507218A (zh) 业务对象推荐方法、装置、电子设备及存储介质
CN114003496A (zh) 数据处理方法、装置、系统、存储介质及程序产品
CN112769919A (zh) 推流任务的分发方法、装置、存储介质及电子设备
JP2023031248A (ja) エッジコンピューティングネットワーク、データ伝送方法、装置、機器、及び記憶媒体
CN115373831A (zh) 数据处理方法、装置以及计算机可读存储介质
CN113901244A (zh) 多媒体资源的标签构建方法、装置、电子设备和存储介质
CN114491093A (zh) 多媒体资源推荐、对象表征网络的生成方法及装置
CN110807124A (zh) 歌曲搜索方法、装置、设备和计算机可读存储介质
CN111291017A (zh) 镜像仓库的镜像存储、提取方法及装置
CN111078736A (zh) 一种数据聚合处理方法、装置、终端及存储介质
WO2023078226A1 (zh) 推荐方法、装置、服务器和计算机可读存储介质
CN113766257B (zh) 直播数据的处理方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40055373

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant