CN112182288A - 数据存储方法和装置、电子设备和存储介质 - Google Patents

数据存储方法和装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112182288A
CN112182288A CN202011059705.2A CN202011059705A CN112182288A CN 112182288 A CN112182288 A CN 112182288A CN 202011059705 A CN202011059705 A CN 202011059705A CN 112182288 A CN112182288 A CN 112182288A
Authority
CN
China
Prior art keywords
key
live video
target
user feedback
feedback data
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
CN202011059705.2A
Other languages
English (en)
Other versions
CN112182288B (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011059705.2A priority Critical patent/CN112182288B/zh
Publication of CN112182288A publication Critical patent/CN112182288A/zh
Application granted granted Critical
Publication of CN112182288B publication Critical patent/CN112182288B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • 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/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开关于数据存储方法和装置、电子设备和存储介质,所述数据存储方法包括:记录直播视频和与所述直播视频相关的用户反馈数据;根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储。根据本公开的实施例,由于服务器不仅了存储了直播视频,还存储了与直播视频相关的用户反馈数据,使得用户在直播结束后,获取直播视频时也可以获取用户反馈数据,以便将用户反馈数据显示在直播视频中,从而在播放直播视频时还能在直播视频中展示出直播过程中观众输入的信息,以准确体现直播视频的直播内容和观众反应信息。

Description

数据存储方法和装置、电子设备和存储介质
技术领域
本公开涉及数据处理领域,尤其涉及数据存储方法和装置、电子设备和存储介质。
背景技术
用户出于某些目的,例如为了制作短视频,需要从服务器获取直播视频。但是由于直播视频是实时播放的,直播视频中用户反馈(Feed)数据也是实时输入的,在相关技术中只会将直播视频存储在服务器中,并没有将这些用户反馈数据存储在服务器中。
这导致只有在直播视频直播过程中,观众能看到用户反馈数据,例如弹幕、点赞、送礼物等信息,而在直播结束后,获取直播视频只能获取到视频本身,而不能获取到直播视频直播过程中的用户反馈数据,难以体现直播视频在直播过程中的用户反馈行为。
发明内容
本公开提供了数据存储方法和装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种数据存储方法,适用于服务器,所述方法包括:
记录直播视频和与所述直播视频相关的用户反馈数据;
根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;
存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储;
接收终端获取目标时段的直播视频的指令,其中,所述直播视频的标识为第一标识;
根据所述第一标识和所述目标时段的起始时刻生成第一键,根据所述第一标识和所述目标时段的结束时刻生成第二键;
根据所述第一键和所述第二键在所述服务器存储的键中查询位于所述目标时段的目标键;
获取所述目标键对应的直播视频和所述直播视频相关的用户反馈数据,以发送至所述终端。
可选地,所述存储所述键和所述直播视频以及所述用户反馈数据包括:
将所述键和所述直播视频以及所述用户反馈数据存储在分布式存储系统HBase中;
以及所述根据所述第一键和所述第二键在服务器中查询位于所述目标时段的目标键包括:
在所述HBase中确定位于所述第一键和所述第二键之间的键为所述目标键。
可选地,所述根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键包括:
确定所述第一标识的哈希值;
根据所述第一标识、所述哈希值和所述时间生成所述键,其中,所述哈希值位于所述键的最前端。
可选地,所述存储所述键和所述直播视频以及所述用户反馈数据还包括:
将第一预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的分布式缓存中;和/或
将第二预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的内存缓存中;
其中,所述第一预设时间段包含所述第二预设时间段。
可选地,所述根据所述第一键和所述第二键在服务器中查询位于所述目标时段的目标键还包括:
在所述内存缓存中查询所述目标键;
在所述内存缓存中没有全部所述目标键的情况下,在所述分布式缓存中确定所述目标键;
在所述分布式缓存中没有全部所述目标键的情况下,在所述HBase中确定所述目标键。
可选地,所述方法还包括:
若在所述分布式缓存中确定到所述目标键,将所述目标键存储到所述内存缓存中;
若在所述HBase中确定到所述目标键,将所述目标键存储到所述布式缓存中。
可选地,所述键中对应所述时间的字段包括多个时间索引,每个所述时间索引的时间单位不同;所述根据所述第一键和所述第二键在所述服务器存储的键中查询位于所述目标时段的目标键包括:
根据所述键中时间索引的时间单位由大到小,在服务器存储的键中查询位于目标时段的目标键。
根据本公开实施例的第一方面,提出一种数据存储装置,适用于服务器,所述装置包括:
记录模块,被配置为执行记录直播视频和与所述直播视频相关的用户反馈数据;
生成模块,被配置为执行根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;
存储模块,被配置为执行存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储;
接收模块,被配置为执行接收终端获取目标时段的直播视频的指令,其中,所述直播视频的标识为第一标识;
生成模块,被配置为执行根据所述第一标识和所述目标时段的起始时刻生成第一键,根据所述第一标识和所述目标时段的结束时刻生成第二键;
查询模块,被配置为执行根据所述第一键和所述第二键在服务器存储的键中查询位于所述目标时段的目标键;
获取模块,被配置为执行获取所述目标键对应的直播视频和所述直播视频相关的用户反馈数据,以发送至所述终端。
可选地,所述存储模块,被配置为执行将所述键和所述直播视频以及所述用户反馈数据存储在分布式存储系统HBase中;
所述查询模块,被配置为执行在所述HBase中确定位于所述第一键和所述第二键之间的键为所述目标键。
可选地,所述生成模块,被配置为执行确定所述第一标识的哈希值;根据所述第一标识、所述哈希值和所述时间生成所述键,其中,所述哈希值位于所述键的最前端。
可选地,所述存储模块,被配置为执行将第一预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的分布式缓存中;和/或将第二预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的内存缓存中;
其中,所述第一预设时间段包含所述第二预设时间段。
可选地,所述查询模块,被配置为在所述内存缓存中查询所述目标键;在所述内存缓存中没有全部所述目标键的情况下,在所述分布式缓存中确定所述目标键;在所述分布式缓存中没有全部所述目标键的情况下,在所述HBase中确定所述目标键。
可选地,所述存储模块,还被配置为若在所述分布式缓存中确定到所述目标键,将所述目标键存储到所述内存缓存中;若在所述HBase中确定到所述目标键,将所述目标键存储到所述布式缓存中。
可选地,所述键中对应所述时间的字段包括多个时间索引,每个所述时间索引的时间单位不同;所述查询模块,被配置为根据所述键中时间索引的时间单位由大到小,在服务器存储的键中查询位于目标时段的目标键。
根据本公开实施例的第三方面,提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的数据存储方法。
根据本公开实施例的第四方面,提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的数据存储方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品被配置为执行上述任一实施例所述的数据存储方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,由于服务器不仅了存储了直播视频,还存储了与直播视频相关的用户反馈数据,使得用户在直播结束后,获取直播视频时也可以获取用户反馈数据,以便将用户反馈数据显示在直播视频中,从而在播放直播视频时还能在直播视频中展示出直播过程中观众输入的信息,以准确体现直播视频的直播内容和观众反应信息。
服务器在接收到该指令后,可以根据第一标识和目标时段的起始时刻生成第一键,根据第一标识和目标时段的结束时刻生成第二键,由于服务器中存储的键至少按照数字排序存储,例如按照数字从小到大排序存储(也可以按照数字从大到小排序存储),数字较小的键的存储位置在数字较大的键的存储位置之前,那么对于位于目标时段内的目标键而言,其在服务器中的存储位置必然位于目标时段的起始时刻对应的第一键的存储位置,与目标时段的起始时刻对应的第二键的存储位置之间,因此无需在第一键和第二键之间外的存储位置查询目标键,可以根据第一键和第二键快速地在服务器存储的键中查询位于目标时段的目标键,然后获取所述键对应的直播视频和所述视频相关的用户反馈数据,以发送至终端。
进而在获取到直播视频和用户反馈数据后,可以根据时间将两者同步,以便将用户反馈数据显示在直播视频中,从而在播放直播视频时还能再直播视频中展示出直播过程中观众输入的信息,以准确体现直播视频的直播内容和观众反应信息。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开的实施例示出的一种数据存储方法的示意流程图。
图2是根据本公开的实施例示出的另一种数据存储方法的示意流程图。
图3是根据本公开的实施例示出的又一种数据存储方法的示意流程图。
图4是根据本公开的实施例示出的又一种数据存储方法的示意流程图。
图5是根据本公开的实施例示出的一种查询目标键的示意图。
图6是根据本公开的实施例示出的一种键的示意图。
图7是根据本公开的实施例示出的又一种数据存储方法的示意流程图。
图8是根据本公开的实施例示出的又一种数据存储方法的示意流程图。
图9是根据本公开的实施例示出的又一种数据存储方法的示意流程图。
图10是根据本公开的实施例示出的一种数据存储装置的示意框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据本公开的实施例示出的一种数据存储方法的示意流程图。本实施例所示的方法可以适用于服务器,所述服务器可以是本地服务器,也可以是云端服务器,所述服务器例如可以是直播应用对应的服务器,可以存储直播视频和与直播视频相关的用户反馈数据,所述用户反馈数据包括但不限于直播视频在直播过程中用户输入的弹幕、用户的点赞信息、用户送礼物的信息等。
如图1所示,所述数据存储方法可以包括以下步骤:
在步骤S101中,记录直播视频和与所述直播视频相关的用户反馈数据;
在步骤S102中,根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;
在步骤S103中,存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储;
在步骤S104中,接收终端获取目标时段的直播视频的指令,其中,所述直播视频的标识为第一标识;
在步骤S105中,根据所述第一标识和所述目标时段的起始时刻生成第一键,根据所述第一标识和所述目标时段的结束时刻生成第二键;
在步骤S106中,根据所述第一键和所述第二键在所述服务器存储的键中查询位于所述目标时段的目标键;
在步骤S107中,获取所述目标键对应的直播视频和所述直播视频相关的用户反馈数据,以发送至所述终端。
需要说明的是,键也即key,键的值也即value。用户反馈数据对应的时间,是指直播视频在直播过程中,用户输入用户反馈数据的时间。
在一个实施例中,服务器不仅可以记录直播视频,还可以记录与直播视频相关的用户反馈数据。为了存储用户反馈数据,可以根据直播视频的第一标识和用户反馈数据对应的时间生成键,其中,直播视频的第一标识例如可以是直播视频对应的直播间的标识,也可以是直播视频对应的播主的标识,具体可以根据需要进行设置。进而可以将用户反馈数据作为键的值,与键一起存储在服务器中。
由于服务器不仅了存储了直播视频,还存储了与直播视频相关的用户反馈数据,使得用户在获取直播视频时,也可以获取用户反馈数据。例如在获取到直播视频和用户反馈数据后,可以根据时间将两者同步,以便将用户反馈数据显示在直播视频中,从而在播放直播视频时还能在直播视频中展示出直播过程中观众输入的信息,以准确体现直播视频的直播内容和观众反应信息。
在一个实施例中,用户在需要获取直播视频时,可以在终端中输入所需获取的直播视频的第一标识和所需获取的直播视频的目标时段,进而据此生成指令并发送至服务器。
服务器在接收到该指令后,可以根据第一标识和目标时段的起始时刻生成第一键,根据第一标识和目标时段的结束时刻生成第二键,由于服务器中存储的键至少按照数字排序存储,例如按照数字从小到大排序存储(也可以按照数字从大到小排序存储),数字较小的键的存储位置在数字较大的键的存储位置之前,那么对于位于目标时段内的目标键而言,其在服务器中的存储位置必然位于目标时段的起始时刻对应的第一键的存储位置,与目标时段的起始时刻对应的第二键的存储位置之间,因此无需在第一键和第二键之间外的存储位置查询目标键,可以根据第一键和第二键快速地在服务器存储的键中查询位于目标时段的目标键,然后获取所述键对应的直播视频和所述视频相关的用户反馈数据,以发送至终端。
进而在获取到直播视频和用户反馈数据后,可以根据时间将两者同步,以便将用户反馈数据显示在直播视频中,从而在播放直播视频时还能再直播视频中展示出直播过程中观众输入的信息,以准确体现直播视频的直播内容和观众反应信息。
图2是根据本公开的实施例示出的另一种数据存储方法的示意流程图。如图2所示,所述存储所述键和所述直播视频以及所述用户反馈数据包括:
在步骤S201中,将所述键和所述直播视频以及所述用户反馈数据存储在分布式存储系统HBase中;
以及所述根据所述第一键和所述第二键在服务器中查询位于所述目标时段的目标键包括:
在步骤S202中,在所述HBase中确定位于所述第一键和所述第二键之间的键为所述目标键。
在一个实施例中,用户反馈数据可以是二进制格式,并且其数据量一般较大,相对于MySQL,更适合通过HBase存储。
而且HBase对于键是按照键的字符排序进行存储,例如直播视频的第一标识均为直播间标识234123422,用户反馈时间从2020年4月30日18点45分27秒持续到2020年4月30日18点45分30秒,以秒为时间单位的用反馈时间依次为20200430184527、20200430184528、20200430184529、20200430184530,那么可以生成4个键,分别为:
234123422_20200430184527;
234123422_20200430184528;
234123422_20200430184529;
234123422_20200430184530;
HBase对于这4个键,由于其中第一标识相同,时间分钟的时间单位也是相同的,那么就会根据其中秒从小到大进行排序存储,而不会将这4个键分散存储在不同的位置,从而便于查询。
例如第一键为234123422_20200430184527,第二键位234123422_20200430184529,那么根据本公开的实施例,可以确定位于第一键和第二键之间的键的目标键位3个,也即234123422_20200430184527、234123422_20200430184529、234123422_20200430184529。由于HBase中的键是按照字符排序存储的,所以可以从第一键开始,顺序查询3个键就能找到第二键,进而确定位于第一键和第二键之间的键的目标键,而无需在其他位置进行查询,有利于提高查询目标键的速度。
图3是根据本公开的实施例示出的又一种数据存储方法的示意流程图。如图3所示,所述根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键包括:
在步骤S301中,确定所述第一标识的哈希值;
在步骤S302中,根据所述第一标识、所述哈希值和所述时间生成所述键,其中,所述哈希值位于所述键的最前端。
在一个实施例中,由于HBase对于键是按照键的字符排序进行存储,而直播视频的第一标识一般是自增的,会连续存储在HBase中,那么当存在大量直播视频的标识较为接近时,若直接按照直播视频的第一标识和用户反馈数据对应的时间生成键并存储在HBase中,将会出现在某个位置集中存储大量数据的情况,在查询过程中,将会频繁在该位置读取数据,产生数据热点的问题。
对此,本实施例可以确定第一标识的哈希值,然后获取哈希值中预设位(例如前5位)的值作为第二标识;进而根据第一标识、第二标识和时间生成所述键,其中,第二标识在所述键的最前端。
虽然第一标识是自增,会连续存储在HBase中,但是不同第一标识的哈希值并不是自增的,而是相对随机的,所以获取哈希值中预设位的值作为第二标识,也是相对随机的,例如第一标识234123422的哈希值的前5位为aef3d,而234123423的哈希值的前5位为x4z2c,那么在生成的键中,aef3d位于234123422之前,x4z2c位于234123423之前,HBase在存储时,会讲以aef3d为首的键与以x4z2c为首的键,存储在相隔较远的区域,从而避免在谋而位置集中存储大量数据的情况,进而避免在查询过程中出现数据热点问题。
图4是根据本公开的实施例示出的又一种数据存储方法的示意流程图。如图4所示,所述存储所述键和所述直播视频以及所述用户反馈数据还包括:
在步骤S401中,将第一预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的分布式缓存中;和/或将第二预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的内存缓存中;
其中,所述第一预设时间段包含所述第二预设时间段。
在一个实施例中,不仅可以将键和直播视频以及用户反馈数据存储在HBase中,还可以将第一预设时间段对应的键和直播视频以及用户反馈数据存储在所述服务器的分布式缓存中,并将第二预设时间段对应的键和直播视频以及用户反馈数据存储在服务器的内存缓存中,且所述第一预设时间段包含所述第二预设时间段。
也即在服务器的内存缓存中存储较短时间段内的键和直播视频以及用户反馈数据,在服务器的分布式缓存中存储较长时间段内的键和直播视频以及用户反馈数据,从而在确定目标键的过程中,可以先在内存缓存中查询目标键,在内存缓存中没有全部目标键的情况下,再在分布式缓存中确定目标键,在分布式缓存中没有全部目标键的情况下,最后在HBase中确定目标键。
图5是根据本公开的实施例示出的一种查询目标键的示意图。
据此,可以如图5所示,在接受到终端的指令后,可以确保先在存储的数据量较少的内存缓存(内存缓存可以位是API服务中)中进行查询,以便快速查询到目标键,而在内存缓存中没有全部目标键的情况下,再在存储的数据量较大的分布式缓存(例如redis缓存)中查询,也便于快速查询到目标键,进而在分布式缓存中没有全部目标键的情况下,最后在HBase中确定目标键,以便查询到全部目标键,也即位于第一键和第二键中的所有键。
可选地,所述键中对应所述时间的字段包括多个时间索引,每个所述时间索引的时间单位不同。
在一个实施例中,所生成的键中可以包括对应时间的字段,该字段可以包括多个时间索引,每个时间索引的时间单位不同,例如键对应时间的字段可以包括两个时间索引,一个时间索引的时间单位是分钟,另一个时间索引的时间单位为秒,那么以上述实施例中的键234123422_20200430184527为例,可以变更为234123422_202004301845_1588157127,其中202004301845表示2020年4月30日18点45分,而1588157127为时间戳,表示2020年4月30日18点45分27秒。
据此,便于后续确定目标键时,根据第一键和第二键中时间索引的时间单位由大到小,在服务器存储的键中查询位于目标时段的目标键。例如可以先在服务器存储的键中按照分钟时间单位查询,在查询到第一键对饮的分钟之前,不会按照秒的时间单位进行查询,在查询到第一键对应的分钟之后,才会按照秒的时间单位进行查询,据此,有利于减少查询次数,以便节约服务器的资源。
图6是根据本公开的实施例示出的一种键的示意图。
需要说明的是,上述实施例可以根据需要进行结合,例如图2和图3所示的实施例可以相结合,例如图6所示,生成的键包含第二标识(第一标识的哈希Hash值前5位)、第一标识、分钟时间单位时间索引和秒时间单位时间索引。
图7是根据本公开的实施例示出的又一种数据存储方法的示意流程图。如图7所示,所述根据所述第一键和所述第二键在服务器中查询位于所述目标时段的目标键还包括:
在步骤S701中,在所述内存缓存中查询所述目标键;
在步骤S702中,在所述内存缓存中没有全部所述目标键的情况下,在所述分布式缓存中确定所述目标键;
在步骤S703中,在所述分布式缓存中没有全部所述目标键的情况下,在所述HBase中确定所述目标键。
在一个实施例中,在服务器的内存缓存中存储较短时间段内的键和直播视频以及用户反馈数据,在服务器的分布式缓存中存储较长时间段内的键和直播视频以及用户反馈数据,从而在确定目标键的过程中,可以先在内存缓存中查询目标键,在内存缓存中没有全部目标键的情况下,再在分布式缓存中确定目标键,在分布式缓存中没有全部目标键的情况下,最后在HBase中确定目标键。
图8是根据本公开的实施例示出的又一种数据存储方法的示意流程图。如图8所示,所述方法还包括:
在步骤S801中,若在所述分布式缓存中确定到所述目标键,将所述目标键存储到所述内存缓存中;
在步骤S802中,若在所述HBase中确定到所述目标键,将所述目标键存储到所述布式缓存中。
在一个实施例中,若在分布式缓存中确定到目标键,那么说明内存缓存中没有目标键,则可以将目标键存储到内存缓存中,以便后续可以在内存缓存中快速查询到目标键。而若在HBase中确定到目标键,那么说明分布式缓存中没有目标键,则可以将目标键存储到分布式缓存中,以便后续可以在分布式缓存中快速查询到目标键。
图9是根据本公开的实施例示出的又一种数据存储方法的示意流程图。如图9所示,所述键中对应所述时间的字段包括多个时间索引,每个所述时间索引的时间单位不同;所述根据所述第一键和所述第二键在所述服务器存储的键中查询位于所述目标时段的目标键包括:
在步骤S901中,根据所述第一键和所述第二键中时间索引的时间单位由大到小,在服务器存储的键中查询位于所述目标时段的目标键。
在一个实施例中,服务器生成的键中可以包括对应时间的字段,该字段可以包括多个时间索引,每个时间索引的时间单位不同,例如键对应时间的字段可以包括两个时间索引,一个时间索引的时间单位是分钟,另一个时间索引的时间单位为秒,那么以上述实施例中的键234123422_20200430184527为例,可以变更为234123422_202004301845_1588157127,其中202004301845表示2020年4月30日18点45分,而1588157127为时间戳,表示2020年4月30日18点45分27秒。
据此,便于后续确定目标键时,根据第一键和第二键中时间索引的时间单位由大到小,在服务器存储的键中查询位于目标时段的目标键。例如可以先在服务器存储的键中按照分钟时间单位查询,在查询到第一键对饮的分钟之前,不会按照秒的时间单位进行查询,在查询到第一键对应的分钟之后,才会按照秒的时间单位进行查询,据此,有利于减少查询次数,以便节约服务器的资源。
与前述数据存储方法的实施例相对应地,本公开还提出了数据存储装置的实施例。
图10是根据本公开的实施例示出的一种数据存储装置的示意框图。本实施例所示的装置可以适用于服务器,所述服务器可以是本地服务器,也可以是云端服务器,所述服务器例如可以是直播应用对应的服务器,可以存储直播视频和与直播视频相关的用户反馈数据,所述用户反馈数据包括但不限于直播视频在直播过程中用户输入的弹幕、用户的点赞信息、用户送礼物的信息等。
如图10所示,所述数据存储装置可以包括:
记录模块1001,被配置为执行记录直播视频和与所述直播视频相关的用户反馈数据;
第一生成模块1002,被配置为执行根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;
存储模块1003,被配置为执行存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储;
接收模块1004,被配置为执行接收终端获取目标时段的直播视频的指令,其中,所述直播视频的标识为第一标识;
第二生成模块1005,被配置为执行根据所述第一标识和所述目标时段的起始时刻生成第一键,根据所述第一标识和所述目标时段的结束时刻生成第二键;
查询模块1006,被配置为执行根据所述第一键和所述第二键在服务器存储的键中查询位于所述目标时段的目标键;
获取模块1007,被配置为执行获取所述目标键对应的直播视频和所述直播视频相关的用户反馈数据,以发送至所述终端。
可选地,所述存储模块,被配置为执行将所述键和所述直播视频以及所述用户反馈数据存储在分布式存储系统HBase中;
所述查询模块,被配置为执行在所述HBase中确定位于所述第一键和所述第二键之间的键为所述目标键。
可选地,所述生成模块,被配置为执行确定所述第一标识的哈希值;根据所述第一标识、所述哈希值和所述时间生成所述键,其中,所述哈希值位于所述键的最前端。
可选地,存储模块,被配置为执行将第一预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的分布式缓存中;和/或将第二预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的内存缓存中;
其中,所述第一预设时间段包含所述第二预设时间段。
可选地,所述查询模块,被配置为在所述内存缓存中查询所述目标键;在所述内存缓存中没有全部所述目标键的情况下,在所述分布式缓存中确定所述目标键;在所述分布式缓存中没有全部所述目标键的情况下,在所述HBase中确定所述目标键。
可选地,所述存储模块,还被配置为若在所述分布式缓存中确定到所述目标键,将所述目标键存储到所述内存缓存中;若在所述HBase中确定到所述目标键,将所述目标键存储到所述布式缓存中。
可选地,所述键中对应所述时间的字段包括多个时间索引,每个所述时间索引的时间单位不同;所述查询模块,被配置为根据所述键中时间索引的时间单位由大到小,在服务器存储的键中查询位于目标时段的目标键。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的数据存储方法。
本公开的实施例还提出一种一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的数据存储方法。
本公开的实施例还提出一种计算机程序产品,所述计算机程序产品被配置为执行上述任一实施例所述的数据存储方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

Claims (10)

1.一种数据存储方法,其特征在于,适用于服务器,所述方法包括:
记录直播视频和与所述直播视频相关的用户反馈数据;
根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;
存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储;
接收终端获取目标时段的直播视频的指令,其中,所述直播视频的标识为第一标识;
根据所述第一标识和所述目标时段的起始时刻生成第一键,根据所述第一标识和所述目标时段的结束时刻生成第二键;
根据所述第一键和所述第二键在所述服务器存储的键中查询位于所述目标时段的目标键;
获取所述目标键对应的直播视频和所述直播视频相关的用户反馈数据,以发送至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述存储所述键和所述直播视频以及所述用户反馈数据包括:
将所述键和所述直播视频以及所述用户反馈数据存储在分布式存储系统HBase中;
以及所述根据所述第一键和所述第二键在服务器中查询位于所述目标时段的目标键包括:
在所述HBase中确定位于所述第一键和所述第二键之间的键为所述目标键。
3.根据权利要求2所述的方法,其特征在于,所述根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键包括:
确定所述第一标识的哈希值;
根据所述第一标识、所述哈希值和所述时间生成所述键,其中,所述哈希值位于所述键的最前端。
4.根据权利要求2所述的方法,其特征在于,所述存储所述键和所述直播视频以及所述用户反馈数据还包括:
将第一预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的分布式缓存中;和/或
将第二预设时间段对应的所述键和所述直播视频以及所述用户反馈数据存储在所述服务器的内存缓存中;
其中,所述第一预设时间段包含所述第二预设时间段。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一键和所述第二键在服务器中查询位于所述目标时段的目标键还包括:
在所述内存缓存中查询所述目标键;
在所述内存缓存中没有全部所述目标键的情况下,在所述分布式缓存中确定所述目标键;
在所述分布式缓存中没有全部所述目标键的情况下,在所述HBase中确定所述目标键。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若在所述分布式缓存中确定到所述目标键,将所述目标键存储到所述内存缓存中;
若在所述HBase中确定到所述目标键,将所述目标键存储到所述布式缓存中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述键中对应所述时间的字段包括多个时间索引,每个所述时间索引的时间单位不同;所述根据所述第一键和所述第二键在所述服务器存储的键中查询位于所述目标时段的目标键包括:
根据所述键中时间索引的时间单位由大到小,在服务器存储的键中查询位于目标时段的目标键。
8.一种数据存储装置,其特征在于,适用于服务器,所述装置包括:
记录模块,被配置为执行记录直播视频和与所述直播视频相关的用户反馈数据;
生成模块,被配置为执行根据所述直播视频的第一标识和所述用户反馈数据对应的时间生成键;
存储模块,被配置为执行存储所述键和所述直播视频以及所述用户反馈数据,其中,所述用户反馈数据作为所述键的值,所述键至少按照数字排序存储;
接收模块,被配置为执行接收终端获取目标时段的直播视频的指令,其中,所述直播视频的标识为第一标识;
生成模块,被配置为执行根据所述第一标识和所述目标时段的起始时刻生成第一键,根据所述第一标识和所述目标时段的结束时刻生成第二键;
查询模块,被配置为执行根据所述第一键和所述第二键在服务器存储的键中查询位于所述目标时段的目标键;
获取模块,被配置为执行获取所述目标键对应的直播视频和所述直播视频相关的用户反馈数据,以发送至所述终端。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据存储方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的数据存储方法。
CN202011059705.2A 2020-09-30 2020-09-30 数据存储方法和装置、电子设备和存储介质 Active CN112182288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011059705.2A CN112182288B (zh) 2020-09-30 2020-09-30 数据存储方法和装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011059705.2A CN112182288B (zh) 2020-09-30 2020-09-30 数据存储方法和装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112182288A true CN112182288A (zh) 2021-01-05
CN112182288B CN112182288B (zh) 2023-10-03

Family

ID=73946256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011059705.2A Active CN112182288B (zh) 2020-09-30 2020-09-30 数据存储方法和装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112182288B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015035942A1 (en) * 2013-09-13 2015-03-19 Tencent Technology (Shenzhen) Company Limited Method for playing back live video and device
CN106911967A (zh) * 2017-02-27 2017-06-30 北京小米移动软件有限公司 直播回放方法及装置
CN109151594A (zh) * 2018-09-27 2019-01-04 广州虎牙信息科技有限公司 直播回放视频播放方法、装置以及电子设备
CN109219825A (zh) * 2016-06-02 2019-01-15 诺基亚技术有限公司 装置和相关联方法
CN109275042A (zh) * 2018-10-17 2019-01-25 武汉斗鱼网络科技有限公司 一种弹幕消息的分发方法、装置、终端和存储介质
CN109547516A (zh) * 2017-09-22 2019-03-29 杭州海康威视系统技术有限公司 播放视频的方法和装置
CN110858909A (zh) * 2018-08-23 2020-03-03 武汉斗鱼网络科技有限公司 一种播放视频时弹幕的显示方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015035942A1 (en) * 2013-09-13 2015-03-19 Tencent Technology (Shenzhen) Company Limited Method for playing back live video and device
CN109219825A (zh) * 2016-06-02 2019-01-15 诺基亚技术有限公司 装置和相关联方法
CN106911967A (zh) * 2017-02-27 2017-06-30 北京小米移动软件有限公司 直播回放方法及装置
CN109547516A (zh) * 2017-09-22 2019-03-29 杭州海康威视系统技术有限公司 播放视频的方法和装置
CN110858909A (zh) * 2018-08-23 2020-03-03 武汉斗鱼网络科技有限公司 一种播放视频时弹幕的显示方法、装置及电子设备
CN109151594A (zh) * 2018-09-27 2019-01-04 广州虎牙信息科技有限公司 直播回放视频播放方法、装置以及电子设备
CN109275042A (zh) * 2018-10-17 2019-01-25 武汉斗鱼网络科技有限公司 一种弹幕消息的分发方法、装置、终端和存储介质

Also Published As

Publication number Publication date
CN112182288B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
CN110381382B (zh) 视频笔记生成方法、装置、存储介质和计算机设备
US11508353B2 (en) Real time popularity based audible content acquisition
CN109614030A (zh) 课件制作、回顾方法、装置、系统、设备和存储介质
CN105120321A (zh) 一种视频搜索方法、视频存储方法和相关装置
CN105376612A (zh) 一种视频播放方法、媒体设备、播放设备以及多媒体系统
CN102088626A (zh) 一种在线视频推荐方法及视频门户服务系统
CN104881237A (zh) 一种网络互动方法及客户端
JP5634736B2 (ja) 番組評価情報提供装置、番組評価情報提供方法、及びプログラム
CN108184170B (zh) 一种数据处理方法及装置
CN104572952A (zh) 直播多媒体文件的识别方法及装置
CN108174133B (zh) 一种庭审录像展示方法、装置、电子设备及存储介质
DE102012218436A1 (de) Verteilen von lizenziertem Inhalt auf mehrere Einheiten
CN105100818A (zh) 进行网站视频播放的方法、系统及网站服务器
CN110691633A (zh) 用于确定响应的反应时间以及使用户界面与正在渲染的内容同步的方法和系统
CN110728370B (zh) 训练样本的生成方法、装置、服务器及存储介质
CN105335414A (zh) 音乐推荐方法、装置及终端
CN103945259A (zh) 一种在线视频播放方法及装置
WO2017201980A1 (zh) 一种视频录制的方法、装置和系统
CN105100964A (zh) 多媒体内容的处理方法、客户端及服务器
EP3370166B1 (en) Method and apparatus for model parameter fusion
CN110536147B (zh) 直播处理的方法、装置及系统
CN108415908B (zh) 一种多媒体数据的处理方法及服务器
CN101179686A (zh) 一种基于有线电视网的信息投递与播放系统
CN112182288A (zh) 数据存储方法和装置、电子设备和存储介质
CN112822513A (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