CN110191364A - 视频数据迁移方法、存储介质、设备及系统 - Google Patents

视频数据迁移方法、存储介质、设备及系统 Download PDF

Info

Publication number
CN110191364A
CN110191364A CN201910472289.XA CN201910472289A CN110191364A CN 110191364 A CN110191364 A CN 110191364A CN 201910472289 A CN201910472289 A CN 201910472289A CN 110191364 A CN110191364 A CN 110191364A
Authority
CN
China
Prior art keywords
video data
video
main broadcaster
timestamp
redis database
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
CN201910472289.XA
Other languages
English (en)
Other versions
CN110191364B (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 Ouyue Netvision Co Ltd
Original Assignee
Wuhan Ouyue Netvision 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 Ouyue Netvision Co Ltd filed Critical Wuhan Ouyue Netvision Co Ltd
Priority to CN201910472289.XA priority Critical patent/CN110191364B/zh
Publication of CN110191364A publication Critical patent/CN110191364A/zh
Application granted granted Critical
Publication of CN110191364B publication Critical patent/CN110191364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/25Management 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • 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/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种视频数据迁移方法、存储介质、设备及系统,涉及服务器数据处理领域,该方法包括创建hash表,用于存放主播最后一次更新的视频数据的时间戳;基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容、视频类型和上传时间;按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。本发明采用Redis数据库存储视频数据,有效提升视频数据的导入导出效率。

Description

视频数据迁移方法、存储介质、设备及系统
技术领域
本发明涉及服务器数据处理领域,具体涉及一种视频数据迁移方法、存储介质、设备及系统。
背景技术
当前互联网越来越发达,人们获取信息的方式页越来越方便,娱乐的方式也是多样化的。移动互联网时代,直播已成为人们打发时间的一种重要方式。
主播的直播时间一般呈固定状态,而观众由于各种因素导致,很难在固定的时间段完成对自己喜爱主播的观看,但是又不想错过精彩的直播内容,直播平台基于这部分观众的需求,在服务器端专门建立了相应的数据库,用于存储主播直播过程中的精彩时刻,满足观众的随时观看需求,但是受服务器容量的限制,服务器中存储的数据需要经常迁移,现有的数据迁移方式采用的是简单复制过程,效率较低。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供种视频数据迁移方法、存储介质、设备及系统,有效提升视频数据的导入导出效率。
本发明第一方面提供一种视频数据迁移方法,包括以下步骤:
实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
结合第一方面,在第一种可能的实现方式中,
所述视频数据的视频类型还包括主动上传视频和拍摄视频;
所述主动上传视频为主播从存储设备中上传至Redis数据库中的视频数据;
所述拍摄视频为主播采用摄像设备实时拍摄并上传至Redis数据库中的视频数据;
每种视频类型均对应一个最后一次更新的时间戳。
结合第一方面的第一个可能的实现方式,在第二种可能的实现方式中,所述采用python脚本,从Redis数据库中导出所有视频数据中,python脚本内进行视频数据导出的函数的原型为:
def migrate_data(start_uid,end_uid,video_types)
其中,参数def migrate_data为python语言的定义函数,参数start_uid表示需要从Redis数据库中进行视频数据导出的第一个主播的ID,参数end_uid表示需要从Redis数据库中进行视频数据导出的最后一个主播的ID,参数video_types表示视频类型,包括主动上传视频、拍摄视频以及截取的直播画面。
结合第一方面的第一个可能的实现方式,在第三种可能的实现方式中,主播进行排序,当主播视频数据的视频类型包括多种时,在每种视频类型的时间戳中,取最近时间的时间戳作为当前主播的时间戳。
结合第一方面的第三个可能的实现方式,在第四种可能的实现方式中,所述依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中,具体过程包括:根据主播的ID,查找出当前主播的所有视频内容,并匹配出视频内容对应的视频类型和上传时间,视频内容、视频类型和上传时间三者建立对应关系,然后存入新Redis数据库中。
结合第一方面的第四个可能的实现方式,在第五种可能的实现方式中,当主播对应视频数据的视频类型包括多种时,若视频内容匹配出的上传时间位于该视频内容所属视频类型对应的时间戳之后,则使用该视频内容的上传时间对该视频内容所属视频类型对应的时间戳进行更新。
结合第一方面,在第六种可能的实现方式中,当视频数据存储至新Redis数据库中,用户对视频数据的查询过程包括:
获取用户所关注的主播,查询并得到所关注的主播最后一次更新视频的时间戳;
按照得到时间戳的先后顺序,时间戳对应的主播依次排列;
按照排列顺序,依次返回每个主播设定数量的视频数据。
本发明第二方面提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
本发明第三方面提供一种电子设备,所述电子设备包括:
截取单元,其用于实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建单元,其用于创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
排序单元,其用于基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
导出单元,其用于当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
存储单元,其用于按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
本发明第四方面提供一种视频数据迁移系统,包括:
截取模块,其用于实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建模块,其用于创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
排序模块,其用于基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
导出模块,其用于当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
存储模块,其用于按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
结合第四方面,在第一种可能的实现方式中,
所述视频数据的视频类型还包括主动上传视频和拍摄视频;
所述主动上传视频为主播从存储设备中上传至Redis数据库中的视频数据;
所述拍摄视频为主播采用摄像设备实时拍摄并上传至Redis数据库中的视频数据;
每种视频类型均对应一个最后一次更新的时间戳。
与现有技术相比,本发明的优点在于:根据主播最后一次更新的视频数据的时间戳,对主播进行排序,然后根据排序实现主播视频数据至新Redis数据库的导入,保证导出的有序性,且使用hash表对时间戳进行存储,无需改变服务器中的Mysql数据库,采用Redis数据库存储视频数据,有效提升视频数据的导入导出效率。
附图说明
图1为本发明实施例中一种视频数据迁移方法的流程图;
图2为本发明实施例中一种电子设备的结构示意图。
具体实施方式
本发明实施例提供一种视频数据迁移方法,无需改动Mysql数据库,采用hash表和python脚本实现视频数据的迁移,不影响服务的运行。本发明实施例还相应地提供了存储介质、电子设备和一种视频数据迁移系统。
参见图1所示,本发明实施例提供的一种视频数据迁移方法的一实施例包括:
S1:实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳。
本发明实施例中,对于直播画面的截取,举例说明如下:
例如设定阈值为1千条,设定时间段为1分钟,设定时间区间2分钟,对于某直播间,若在1分钟内的弹幕数量超过1千条,则说明当前直播间的弹幕内容较为精彩,因为弹幕是直播观看用户表达自己对直播内容喜爱程度的重要手段,直播内容精彩,则能够极大的调用直播观看用户发送弹幕的积极性,相反的,若某一时间段弹幕数量多,则说明当前直播间的直播内容较为精彩,故可将该段直播内容进行截取,以后便直播观看用户后续进行回看。故当1分钟内的弹幕数量超过1千条,截取当前时间前后共2分钟的直播画面作为视频数据,假如当前时间为12:01,在12:00-12:01这1分钟内的弹幕数量超过1千条,则截取12:00-12:03这3分钟内的直播画面作为视频数据,因为当视频数据完毕后才能上传至Redis数据库,故该段视频数据的时间戳即为该段视频数据的上传时间12:03。
本发明实施例步骤S1的实现方式中,基于弹幕是直播观看用户表达自己对直播内容喜爱程度的重要手段考量,某一时间段弹幕数量多,说明该段直播内容较为精彩,故将该段直播内容上传至Redis数据库,方便直播观看用户后续能够对该段时间的直播内容进行回看,且采用截取的方式,仅截取直播内容的精彩时刻,对于当时没有实时观看直播的用户而言,在回看自己喜爱主播的视频数据时,能够直接观看该主播之前直播时产生的精彩时刻视频数据,采用Redis数据库存储视频数据的方式,有效提升直播观看用户的直播观看体验。
S2:创建hash表,用于存放主播最后一次更新视频数据的时间戳。
本发明实施例中,hash表又名散列表,是根据关键码值(Key-value)而直接进行访问的数据结构,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。服务器中存储有主播上传的视频,或通过其它方式存储于服务器中的数据,服务器中的视频数据与主播相对应。
主播每次对服务器中的视频数据进行更新均会对应一个时间,即时间戳,如某主播16时13分对服务器中的视频数据进行了更新,之后没有再操作,则该主播最后一次更新视频数据的时间戳为16时13分,每个主播均会存在最后一次更新视频数据的时间戳,通过hash表对直播平台所有主播的最后一次更新视频数据的时间戳进行存储。
本发明实施例步骤S2的实现方式中,利用hash表根据关键码值而直接进行访问的数据结构,每个主播的最后一次更新视频数据的时间戳进行存储,因直播平台中的主播较多,每个主播均会存在一个最后一次更新视频数据的时间戳,故时间戳的数量也较多,基于数量较多的考虑,采用hash表来进行时间戳的存储,极大的提升后续查找时间戳的速度。
S3:基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序。hash表中存储有多个时间戳,每个时间戳对应一个主播,根据时间戳的先后顺序,对应的主播依次进行排序。
本发明实施例步骤S3的实现方式中,hash表中的多个时间戳按照时间戳对应时间先后顺序进行排序,而每个时间戳对应的视频数据均对应有主播,故主播的排名顺序按照时间戳的排序进行排序,即基于时间对所有主播进行排序,方便后续从Redis数据库进行视频数据导出时,按照排名顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,保证导出操作的有序进行。
S4:当Redis数据库中视频数据存储量超过预设值,采用python脚本,从Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间。
本发明实施例中,python脚本是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定,它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。采用python脚本,实现视频数据的导入和导出。
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,本发明实施例中,服务器中使用Redis数据库进行视频数据的存储,当对服务器进行扩容时,需将视频数据从原Redis数据库导至新Redis数据库中。
本发明实施例步骤S4的实现方式中,由于Redis数据库的存储容量是有限的,当Redis数据库中的数据存储量达到其最大存储量或接近存储量时,此时再继续往Redis数据库中存入视频数据时,可能会因为存入失败而导致视频数据丢失,故设置一预设值,该预设值小于Redis数据库的总容量,优选为总容量的95%,当Redis数据库中视频数据存储量超过预设值时,则需要进行视频数据的迁移,将视频数据从原Redis数据库中迁移至新Redis数据库中,保证视频数据存储的完整性,避免数据丢失。
S5:按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。即按照步骤S3中对于主播的排序,依次将主播的视频数据存储至新Redis数据库中。
本发明实施例的视频数据迁移方法,根据主播最后一次更新的视频数据的时间戳,对主播进行排序,然后根据排序实现主播视频数据至新Redis数据库的导入,保证导出的有序性,且使用hash表对时间戳进行存储,无需改变服务器中的Mysql数据库,采用Redis数据库存储视频数据,有效提升视频数据的导入导出效率。
可选地,在上述图1对应实施例的基础上,本发明实施例一种视频数据迁移方法的第一个可选实施例中,视频数据的视频类型还包括主动上传视频和拍摄视频,主动上传视频为主播从存储设备中上传至Redis数据库中的视频数据,拍摄视频为主播采用摄像设备实时拍摄并上传至Redis数据库中的视频数据。每种视频类型均对应一个最后一次更新的时间戳。
采用python脚本,从Redis数据库中导出所有视频数据中,python脚本内进行视频数据导出的函数的原型为:
def migrate_data(start_uid,end_uid,video_types)
其中,参数def migrate_data为python语言的定义函数,参数start_uid表示需要从Redis数据库中进行视频数据导出的第一个主播的ID,参数end_uid表示需要从Redis数据库中进行视频数据导出的最后一个主播的ID,参数video_types表示视频类型,包括主动上传视频、拍摄视频以及截取的直播画面。Redis数据库中存储的视频数据是按照与主播的对应关系进行存储的,主播与视频数据间进行对应,每个主播的ID是唯一的,故在从Redis数据库中进行视频数据导出时,依次列出需要进行视频数据导出的主播ID,按照ID排列顺序即可依次从Redis数据库中导出主播的视频数据,有序且高效,按序进行导出也方便后续将视频数据存入新Redis数据库中。
主播进行排序,当主播视频数据的视频类型包括多种时,在每种视频类型的时间戳中,取最近时间的时间戳作为当前主播的时间戳。如视频数据包括上传视频、拍摄视频和直播精彩时刻,上传视频最后一次更新的视频戳为13时21分,拍摄视频最后一次更新的视频戳为13时25分,直播精彩时刻最后一次更新的视频戳为13时50分,则取13时50分作为当前主播的时间戳。
可选地,在上述一种视频数据迁移方法第一个可选实施例的基础上,本发明实施例提供的一种视频数据迁移方法的第二个可选实施例中,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中,具体过程包括:根据主播的ID,查找出当前主播的所有视频内容,并匹配出视频内容对应的视频类型和上传时间,视频内容、视频类型和上传时间三者建立对应关系,然后存入新Redis数据库中。
当主播对应视频数据的视频类型包括多种时,若视频内容匹配出的上传时间位于该视频内容所属视频类型对应的时间戳之后,则使用该视频内容的上传时间对该视频内容所属视频类型对应的时间戳进行更新。
可选地,在上述一种视频数据迁移方法第一个可选实施例的基础上,本发明实施例提供的一种视频数据迁移方法的第三个可选实施例中,当视频数据存储至新Redis数据库中,用户对视频数据的查询过程包括:
A:获取用户所关注的主播,查询并得到所关注的主播最后一次更新视频的时间戳;
B:按照得到时间戳的先后顺序,时间戳对应的主播依次排列;
C:按照排列顺序,依次返回每个主播设定数量的视频数据。
本发明实施例提供的一种存储介质的一实施例包括,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现以下步骤:
实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
可选地,在上述存储介质实施例的基础上,本发明实施例提供的一种存储介质的第一个可选实施例中,存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可选地,在上述存储介质的实施例及第一个可选实施例的基础上,本发明实施例提供的一种存储介质的第二个可选实施例中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可选地,在上述存储介质的实施例及第一、第二个可选实施例的基础上,本发明实施例提供的一种存储介质的第三个可选实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参见图2所示,本发明实施例提供的一种电子设备的一实施例包括:
截取单元,其用于实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建单元,其用于创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
排序单元,其用于基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
导出单元,其用于当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
存储单元,其用于按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
根据主播最后一次更新的视频数据的时间戳,对主播进行排序,然后根据排序实现主播视频数据至新Redis数据库的导入,保证导出的有序性,且使用hash表对时间戳进行存储,无需改变服务器中的Mysql数据库,采用Redis数据库存储视频数据,有效提升视频数据的导入导出效率。
可选地,在上述一种电子设备对应实施例的基础上,本发明实施例提供的一种电子设备的第一个可选实施例中,视频数据的视频类型还包括主动上传视频和拍摄视频;主动上传视频为主播从存储设备中上传至Redis数据库中的视频数据;拍摄视频为主播采用摄像设备实时拍摄并上传至Redis数据库中的视频数据。每种视频类型均对应一个最后一次更新的时间戳。上传视频为主播直接上传至原Redis数据库中的视频,拍摄视频为主播通过摄像设备拍摄的视频,直播精彩时刻为主播手动截取的主播过程中的视频。
可选地,在上述一种电子设备的第一个可选实施例的基础上,本发明实施例提供的一种电子设备的第二个可选实施例中,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中,具体过程包括:根据主播的ID,查找出当前主播的所有视频内容,并匹配出视频内容对应的视频类型和上传时间,视频内容、视频类型和上传时间三者建立对应关系,然后存入新Redis数据库中。
当主播对应视频数据的视频类型包括多种时,若视频内容匹配出的上传时间位于该视频内容所属视频类型对应的时间戳之后,则使用该视频内容的上传时间对该视频内容所属视频类型对应的时间戳进行更新。
本发明实施例提供的一种视频数据迁移系统的一实施例包括:
截取模块,其用于实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建模块,其用于创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
排序模块,其用于基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
导出模块,其用于当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
存储模块,其用于按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
本发明实施例的视频数据迁移系统,根据主播最后一次更新的视频数据的时间戳,对主播进行排序,然后根据排序实现主播视频数据至新Redis数据库的导入,保证导出的有序性,且使用hash表对时间戳进行存储,无需改变服务器中的Mysql数据库,采用Redis数据库存储视频数据,有效提升视频数据的导入导出效率。
可选地,在上述一种视频数据迁移系统对应实施例的基础上,本发明实施例提供的一种视频数据迁移系统的第一个可选实施例中,视频数据的视频类型还包括主动上传视频和拍摄视频;主动上传视频为主播从存储设备中上传至Redis数据库中的视频数据;拍摄视频为主播采用摄像设备实时拍摄并上传至Redis数据库中的视频数据;每种视频类型均对应一个最后一次更新的时间戳。
可选地,在上述一种视频数据迁移系统第一个可选实施例的基础上,本发明实施例提供的一种视频数据迁移系统的第二个可选实施例中,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中,具体过程包括:根据主播的ID,查找出当前主播的所有视频内容,并匹配出视频内容对应的视频类型和上传时间,视频内容、视频类型和上传时间三者建立对应关系,然后存入新Redis数据库中。
当主播对应视频数据的视频类型包括多种时,若视频内容匹配出的上传时间位于该视频内容所属视频类型对应的时间戳之后,则使用该视频内容的上传时间对该视频内容所属视频类型对应的时间戳进行更新。
可选地,在上述一种视频数据迁移系统第一个可选实施例的基础上,本发明实施例提供的一种视频数据迁移系统的第三个可选实施例中,当视频数据存储至新Redis数据库中,用户对视频数据的查询过程包括:
A:获取用户所关注的主播,查询并得到所关注的主播最后一次更新视频的时间戳;
B:按照得到时间戳的先后顺序,时间戳对应的主播依次排列;
C:按照排列顺序,依次返回每个主播设定数量的视频数据。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种视频数据迁移方法,其特征在于,包括以下步骤:
实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
当Redis数据库中视频数据存储量超过预设值,采用python脚本,从Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
2.如权利要求1所述的一种视频数据迁移方法,其特征在于:
所述视频数据的视频类型还包括主动上传视频和拍摄视频;
所述主动上传视频为主播从存储设备中上传至Redis数据库中的视频数据;
所述拍摄视频为主播采用摄像设备实时拍摄并上传至Redis数据库中的视频数据;
每种视频类型均对应一个最后一次更新的时间戳。
3.如权利要求2所述的一种视频数据迁移方法,其特征在于:所述采用python脚本,从Redis数据库中导出所有视频数据中,python脚本内进行视频数据导出的函数的原型为:
def migrate_data(start_uid,end_uid,video_types)
其中,参数def migrate_data为python语言的定义函数,参数start_uid表示需要从Redis数据库中进行视频数据导出的第一个主播的ID,参数end_uid表示需要从Redis数据库中进行视频数据导出的最后一个主播的ID,参数video_types表示视频类型,包括主动上传视频、拍摄视频以及截取的直播画面。
4.如权利要求2所述的一种视频数据迁移方法,其特征在于:主播进行排序,当主播视频数据的视频类型包括多种时,在每种视频类型的时间戳中,取最近时间的时间戳作为当前主播的时间戳。
5.如权利要求4所述的一种视频数据迁移方法,其特征在于,所述依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中,具体过程包括:根据主播的ID,查找出当前主播的所有视频内容,并匹配出视频内容对应的视频类型和上传时间,视频内容、视频类型和上传时间三者建立对应关系,然后存入新Redis数据库中。
6.如权利要求5所述的一种视频数据迁移方法,其特征在于:当主播对应视频数据的视频类型包括多种时,若视频内容匹配出的上传时间位于该视频内容所属视频类型对应的时间戳之后,则使用该视频内容的上传时间对该视频内容所属视频类型对应的时间戳进行更新。
7.如权利要求1所述的一种视频数据迁移方法,其特征在于:当视频数据存储至新Redis数据库中,用户对视频数据的查询过程包括:
获取用户所关注的主播,查询并得到所关注的主播最后一次更新视频的时间戳;
按照得到时间戳的先后顺序,时间戳对应的主播依次排列;
按照排列顺序,依次返回每个主播设定数量的视频数据。
8.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现以下步骤:
实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
9.一种电子设备,其特征在于,所述电子设备包括:
截取单元,其用于实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建单元,其用于创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
排序单元,其用于基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
导出单元,其用于当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
存储单元,其用于按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
10.一种视频数据迁移系统,其特征在于,包括:
截取模块,其用于实时监测各个直播间的弹幕数量,当直播间的弹幕数量在设定时间段内超过设定阈值,则截取当前时间前后设定时间区间的直播画面作为当前直播间主播的视频数据,并将截取的视频数据上传至Redis数据库,同时更新当前主播的视频数据的时间戳;
创建模块,其用于创建hash表,用于存放主播最后一次更新的视频数据的时间戳;
排序模块,其用于基于hash表中时间戳的先后顺序,时间戳对应的主播进行排序;
导出模块,其用于当Redis数据库中视频数据存储量超过预设值,采用python脚本,从原Redis数据库中导出所有视频数据,所述视频数据包括视频内容和上传时间;
存储模块,其用于按照主播排序顺序,依次使用主播的ID从导出的视频数据查找出当前主播上传的视频数据,并将查找出的视频数据存储至新Redis数据库中。
CN201910472289.XA 2019-05-31 2019-05-31 视频数据迁移方法、存储介质、设备及系统 Active CN110191364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910472289.XA CN110191364B (zh) 2019-05-31 2019-05-31 视频数据迁移方法、存储介质、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910472289.XA CN110191364B (zh) 2019-05-31 2019-05-31 视频数据迁移方法、存储介质、设备及系统

Publications (2)

Publication Number Publication Date
CN110191364A true CN110191364A (zh) 2019-08-30
CN110191364B CN110191364B (zh) 2022-03-08

Family

ID=67719738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910472289.XA Active CN110191364B (zh) 2019-05-31 2019-05-31 视频数据迁移方法、存储介质、设备及系统

Country Status (1)

Country Link
CN (1) CN110191364B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581432A (zh) * 2020-04-30 2020-08-25 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN112764951A (zh) * 2021-01-27 2021-05-07 广州方硅信息技术有限公司 消息广播方法、装置、电子设备及存储介质
CN113836350A (zh) * 2021-09-23 2021-12-24 深圳绿米联创科技有限公司 录像视频检索方法、系统、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124653A1 (en) * 2011-11-16 2013-05-16 Loopa Llc Searching, retrieving, and scoring social media
US20180322164A1 (en) * 2017-05-08 2018-11-08 American Express Travel Related Services Company, Inc. In-Memory Transaction Processing
CN109688422A (zh) * 2019-01-16 2019-04-26 武汉瓯越网视有限公司 一种视频处理的方法及装置
CN109756780A (zh) * 2019-01-16 2019-05-14 武汉瓯越网视有限公司 一种视频处理的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124653A1 (en) * 2011-11-16 2013-05-16 Loopa Llc Searching, retrieving, and scoring social media
US20180322164A1 (en) * 2017-05-08 2018-11-08 American Express Travel Related Services Company, Inc. In-Memory Transaction Processing
CN109688422A (zh) * 2019-01-16 2019-04-26 武汉瓯越网视有限公司 一种视频处理的方法及装置
CN109756780A (zh) * 2019-01-16 2019-05-14 武汉瓯越网视有限公司 一种视频处理的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581432A (zh) * 2020-04-30 2020-08-25 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN112764951A (zh) * 2021-01-27 2021-05-07 广州方硅信息技术有限公司 消息广播方法、装置、电子设备及存储介质
CN113836350A (zh) * 2021-09-23 2021-12-24 深圳绿米联创科技有限公司 录像视频检索方法、系统、装置、存储介质及电子设备
CN113836350B (zh) * 2021-09-23 2024-02-27 深圳绿米联创科技有限公司 录像视频检索方法、系统、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN110191364B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和系统
CN110191364A (zh) 视频数据迁移方法、存储介质、设备及系统
CN103347220B (zh) 一种回看直播文件的方法及装置
CN103853727B (zh) 提高大数据量查询性能的方法及系统
US9020991B2 (en) System and method for analyzing available space in data blocks
US11310066B2 (en) Method and apparatus for pushing information
CN109640173B (zh) 一种视频播放方法、装置、设备及介质
CN105812175B (zh) 一种资源管理方法及资源管理设备
CN106095923A (zh) 一种在有序榜单中添加上榜数据的方法及系统
CN109857803A (zh) 数据同步方法、装置、设备、系统及计算机可读存储介质
CN108573029A (zh) 一种获取网络访问关系数据的方法、装置及存储介质
CN109587232A (zh) 基于iOS网络的文件断点续传方法
CN110008174A (zh) 一种目录导出方法、系统及相关装置
CN109348263A (zh) 智能电视视频追剧处理方法、系统及存储介质
CN113886485A (zh) 数据处理方法、装置、电子设备、系统和存储介质
CN104853251A (zh) 一种多媒体数据的在线收藏方法和装置
CN105872731A (zh) 数据处理的方法和装置
US9020902B1 (en) Reducing head and tail duplication in stored data
CN103294683B (zh) 一种视频文件字幕自动匹配系统及方法
CN112118487B (zh) 一种视频播放控制方法、装置、设备、及介质
CN111104450A (zh) 目标数据导入方法、介质、装置和计算设备
CN106488271A (zh) 一种视频直播方法及装置
CN107480269B (zh) 对象展示方法及系统、介质和计算设备
CN109756780A (zh) 一种视频处理的方法及装置
CN109769027A (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