[发明专利]一种数据结构切换方法、装置、设备和存储介质有效
申请号: | 201811460054.0 | 申请日: | 2018-11-30 |
公开(公告)号: | CN109344303B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 黄元兵 | 申请(专利权)人: | 广州虎牙信息科技有限公司 |
主分类号: | G06F16/9038 | 分类号: | G06F16/9038;G06F16/904 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 511400 广东省广州市番禺区南村镇万博二*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据结构 切换 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种数据结构切换方法、装置、设备和存储介质。该方法应用于排行列表的构建,包括:若满足预设的周期切换条件,则获取在先一个或多个周期中对排行列表监测的针对列表操作的操作数据;根据所述操作数据分别预估使用至少两种数据结构更新所述排行列表的至少两个性能消耗值;根据所述至少两个性能消耗值从所述至少两种数据结构中选择目标数据结构;在本周期中,使用所述目标数据结构更新所述排行列表,解决因使用单一数据结构更新排序列表所带来的无法适应不同阶段的不同需求的问题,实现根据排序列表不同阶段的特点,进行数据结构的动态切换,从而具备良好的性能和扩展性,满足复杂的业务需求场景。
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种数据结构切换方法、装置、设备和存储介质。
背景技术
在互联网直播,游戏和其他实时性要求较高的领域中,会通过各种类型的排行列表进行数据的排序呈现,以激励用户参与其中。如游戏中的排行列表可以用于展示得分和名次。
排行列表通常都是具有实时性,需要具备良好的性能和扩展性,以满足复杂的业务需求场景。排行列表的复杂性在于从构建到最终消亡会经历几个不同的阶段,不同阶段性能有不同需求。现有技术中,采取单一的数据结构更新排行列表满足不同的阶段的不同需求。
发明内容
本发明提供一种数据结构切换方法、装置、设备和存储介质,以实现动态选择排行列表数据结构,具备良好的性能和扩展性,满足复杂的业务需求场景。
第一方面,本发明实施例提供了一种数据结构切换方法,该方法应用于排行列表的构建,包括:
若满足预设的周期切换条件,则获取在先一个或多个周期中对排行列表监测的针对列表操作的操作数据;
根据所述操作数据分别预估使用至少两种数据结构更新所述排行列表的至少两个性能消耗值;
根据所述至少两个性能消耗值从所述至少两种数据结构中选择目标数据结构;
在本周期中,使用所述目标数据结构更新所述排行列表。
进一步的,根据所述操作数据分别预估使用至少两种数据结构更新所述排行列表的至少两个性能消耗值,包括:
获取使用至少两种数据结构更新所述排行列表的性能消耗权重;
结合所述操作数据与所述性能消耗权重分别计算使用所述至少两种数据结构更新所述排行列表的至少两个性能消耗值。
进一步的,所述操作数据为列表操作的操作频次,所述性能消耗权重为所述列表操作的操作耗时;
结合所述操作数据与所述性能消耗权重分别计算使用所述至少两种数据结构更新所述排行列表的至少两个性能消耗值,包括:
针对每种数据结构,计算归属于同一个所述列表操作的操作频次与操作耗时之间的乘积,作为预估时长;
计算所述预估时长之和,作为所述数据结构的性能消耗值。
进一步的,所述获取使用至少两种数据结构更新所述排行列表的性能消耗权重,包括:
获取对排行列表进行列表操作的样本操作数据;
针对每种数据结构,根据所述样本操作数据模拟使用所述数据结构对所述排行列表进行更新,以获得操作耗时。
进一步的,所述预设的周期切换条件为所述排行列表中的列表数据的更新率超过预设的阈值。
进一步的,在满足预设周期切换条件,则获取上一个或多个周期的统计数据之前,还包括:
确定使用至少两种数据结构创建所述排行列表的至少两个性能初始值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙信息科技有限公司,未经广州虎牙信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811460054.0/2.html,转载请声明来源钻瓜专利网。