一种媒体资料上传与存储系统及方法技术方案

技术编号:22266658 阅读:28 留言:0更新日期:2019-10-10 17:09
本发明专利技术涉及一种媒体资料上传与存储系统,包括:用户终端,用于接收待上传文件,并将待上传文件上传至远程服务器;远程服务器,包括数据库,用于接收来自上传组件的上传文件,将接收的上传文件地址存储在所述数据库中,并将上传文件地址及对应文件通过redis服务器发送到阿里云oss服务器中进行备份和/或将上传文件地址发送到阿里云转码服务器中进行转码;阿里云oss服务器,用于接收来自远程服务器的上传文件并进行备份;阿里云转码服务器,用于对阿里云oss服务器中的文件进行转码。采用本申请远程服务器无需单线程等待一个命令执行完成再执行下一个命令,而是主动查询命令执行情况,在加快传输效率的同时改善了由于网络延迟带来的用户体验差的问题。

A Media Data Upload and Storage System and Method

【技术实现步骤摘要】
一种媒体资料上传与存储系统及方法
本专利技术涉及文件传输领域,特别是涉及一种媒体资料上传与存储系统及方法。
技术介绍
随着网络技术的发展,交互式网站越来越收到用户的欢迎,许多社交网站纷纷向用户提供媒体资源的上传功能,极大的丰富了网站的资源并促进了用户资源的共享。用户终端向远程服务器上传媒体资料,远程服务器会对接收的到媒体资料进行存储和备份。现有的文件备份或是文件转码所采用的应答方式通常是远程服务器端主动发送问询指令,被动接收应答指令,远程服务器无法及时获取备份的进度,当出现网络延迟现象时,远程服务器端相应的会延时收到应答指令,使得用户在文件传输过程中的体验感受到影响。
技术实现思路
本专利技术的一个目的在于解决现有技术文件备份过程出现网络延迟现象时,远程服务器端由于被动接收应答指令造成用户体验感差问题,本专利技术提供了一种媒体资料上传与存储系统及方法。本专利技术通过以下技术方案来实现上述目的:一种媒体资料上传与存储系统,包括:用户终端,用于接收待上传文件,并将待上传文件上传至远程服务器;远程服务器,包括数据库和redis服务器,用于接收来自上传组件的上传文件,将接收的上传文件地址存储在所述数据库中,并将上传文件地址及对应文件通过redis服务器发送到阿里云oss服务器中进行备份和/或将上传文件地址发送到阿里云转码服务器中进行转码;阿里云oss服务器,用于接收来自远程服务器的上传文件并进行备份;阿里云转码服务器,用于对阿里云oss服务器中的文件进行转码。进一步地,所述数据库包括查询表和转码表,所述查询表用于存储文件哈希值、存储状态以及文件地址;所述转码表用于存储文件哈希值、转码Id、视频地址以及转码状态。本申请还提供了一种媒体资料上传与存储方法,适用于媒体资料上传与存储系统,所述系统包括用户终端、远程服务器、阿里云oss服务器以及阿里云转码服务器,所述用户终端与远程服务器通信连接,远程服务器与阿里云oss服务器、阿里云转码服务器之间通讯连接,其特征在于,所述方法包括:S100:用户终端将待上传文件传输至远程服务器,对于文件大小超过设定阈值的视频文件采用分段上传;和S200:远程服务器将接收到的上传文件保存在数据库中,并将接收到的上传文件备份在阿里云oss服务器上。进一步地,如果上传文件为视频文件,则所述上传与存储方法还包括S300:阿里云转码服务器对需要转码的视频文件进行转码操作。进一步地,所述数据库包括查询表和转码表,所述查询表用于存储文件的哈希值、存储状态以及文件地址;所述转码表用于存储文件的哈希值、转码Id、视频地址以及转码状态;进一步地,所述S100包括:S11:用户终端接收待上传文件,获取待上传文件的哈希值,将获取的待上传文件的哈希值发送至远程服务器;S12:远程服务器判断所接收的待上传文件的哈希值,是否已存在于数据库查询表中;若存在,则向用户终端返回该文件已存在信号,上传结束;若不存在,则转至S13;S13:判断所述媒体资料为图片文件还是视频文件;S14:当用户终端接收到的待上传文件为图片文件时,将图片文件上传至远程服务器,上传结束;S15:当用户终端接收到的待上传文件为视频文件时,判断视频文件的大小,当视频文件小于所设置的第一阈值时,将视频文件上传至所述远程服务器,上传结束;否则,转至S16;S16:将所述视频文件切分为多个视频片段,依次上传至所述远程服务器;S17:用户终端上传完所有视频片段后,发送上传完毕信号至远程服务器;S18:远程服务器在接收到所述上传完毕信号后,对接收到的视频片段进行合成处理,合成完整的视频文件,存储在远程服务器中,上传结束。进一步地,所述步骤S16包括:S161:将所述视频文件切分为n个连续的视频片段,n>1,并记录每个视频片段的编码字段;S162:将编码后的视频片段及对应的编码字段传输至所述远程服务器新建的临时文件夹,所述临时文件夹以所接收的视频文件的哈希值命名;S163:所述临时文件夹对比所接收视频片段的编码字段与所述编码字段是否一一对应,如果是,则表明上传完所有视频片段,转至S17;否则,转至S164;S164:将所述视频文件以同样的方式切分后再次上传,上传每个视频片段前先判断待上传视频片段对应的编码字段是否已经存在于所述临时文件夹中,如果是,则跳过该视频片段,判断下一个待上传视频片段对应的编码字段是否已经存在于所述临时文件夹中;当待上传视频片段所对应的编码字段未存在于所述临时文件夹中时,从该视频片段开始继续上传,上传至所述临时文件夹;转至S163。进一步地,步骤S161所述将所述视频文件切分为n个连续的视频片段,其中前n-1个视频片段大小为设定的第二阈值,且第二阈值小于所述第一阈值。进一步地,所述步骤S14当用户终端接收到的待上传文件为图片文件时,所述远程服务器对图片进行目标提取,并存储到对应目标文件夹中。进一步地,所述S200包括:S21:远程服务器将所接收到的上传文件的文件地址保存至数据库查询表中;S22:远程服务器向redis服务器发送携带有文件地址的推送指令;S23:远程服务器阶段性查询redis服务器是否有推送指令,如果有,则远程服务器将所述推送指令携带的文件地址及对应文件推送至阿里云oss服务器,推送完成后向redis服务器发送删除该推送指令的命令;S24:阿里云oss服务器在接收到所述文件地址及对应文件后,保存文件,并向远程服务器发送已备份信号;S25:远程服务器接收到所述已备份信号时,在数据库查询表中标记对应文件的存储状态为备份成功,否则,标记对应文件的存储状态为备份失败。进一步地,所述S300包括:S31:远程服务器向redis服务器发送携带有文件地址的转码指令;S32:远程服务器阶段性查询redis服务器是否有转码指令,如果有,则将所述转码指令推送至阿里云转码服务器,推送完成后向redis服务器发送删除该转码指令的命令;S33:阿里云转码服务器在接收到所述转码指令后,在阿里云oss服务器上查找对应文件,对查找到的对应文件进行转码并向远程服务器返回对应的转码Id;S34:远程服务器接收到所述转码Id后,在数据库转码表上新建一个记录,记录所述转码Id、文件地址以及转码状态;S35:远程服务器定时查询阿里云转码服务器内每个文件的转码状态,再将所述转码状态更新到数据库转码表对应记录中。与现有技术相比,本专利技术的实质性效果如下:(1)本申请采用redis服务器存储来自远程服务器的推送指令和/或转码指令,再将推送指令推送至阿里云oss服务器或者将转码指令发送到阿里云转码服务器,远程服务器在发出推送指令和/或转码指令后无需被动等待,而是定时查询redis服务器是否有需要执行的指令,如果有就去执行,定时查询阿里云转码服务器内每个文件的转码状态,再将转码状态传输至数据库转码表对应记录中,这样远程服务器就无需单线程的等待一个命令执行完成再执行下一个命令,而是异步传输,主动查询命令执行情况,这样在加快传输效率的同时改善了由于网络延迟带来的用户体验差的问题。(2)本申请对于较大的视频文件采用分段上传方法,克服了网络中断重新连接后需要将所有视频文件全部重新上传的缺陷,从上次上传中断的地方继续上传,实现视频文件的断点续传,节省了视频上传的时间,提高了上传效率。附图本文档来自技高网...

【技术保护点】
1.一种媒体资料上传与存储系统,其特征在于,包括:用户终端,用于接收待上传文件,并将待上传文件上传至远程服务器;远程服务器,包括数据库和redis服务器,用于接收来自上传组件的上传文件,将接收的上传文件地址存储在所述数据库中,并将上传文件地址及对应文件通过所述redis服务器发送到阿里云oss服务器中进行备份和/或将上传文件地址发送到阿里云转码服务器中进行转码;阿里云oss服务器,用于接收来自远程服务器的上传文件并进行备份;阿里云转码服务器,用于对阿里云oss服务器中的文件进行转码。

【技术特征摘要】
1.一种媒体资料上传与存储系统,其特征在于,包括:用户终端,用于接收待上传文件,并将待上传文件上传至远程服务器;远程服务器,包括数据库和redis服务器,用于接收来自上传组件的上传文件,将接收的上传文件地址存储在所述数据库中,并将上传文件地址及对应文件通过所述redis服务器发送到阿里云oss服务器中进行备份和/或将上传文件地址发送到阿里云转码服务器中进行转码;阿里云oss服务器,用于接收来自远程服务器的上传文件并进行备份;阿里云转码服务器,用于对阿里云oss服务器中的文件进行转码。2.根据权利要求1所述的一种媒体资料上传与存储系统,其特征在于,所述数据库包括查询表和转码表,所述查询表用于存储文件哈希值、存储状态以及文件地址;所述转码表用于存储文件哈希值、转码Id、视频地址以及转码状态。3.一种媒体资料上传与存储方法,适用于媒体资料上传与存储系统,所述系统包括用户终端、远程服务器、阿里云oss服务器以及阿里云转码服务器,所述用户终端与远程服务器通信连接,远程服务器与阿里云oss服务器、阿里云转码服务器之间通讯连接,其特征在于,所述方法包括:S100:用户终端将待上传文件传输至远程服务器,对于文件大小超过设定阈值的视频文件采用分段上传;和S200:远程服务器将接收到的上传文件保存在数据库中,并将接收到的上传文件备份在阿里云oss服务器上。4.根据权利要求3所述的一种媒体资料上传与存储方法,其特征在于,如果上传文件为视频文件,则所述上传与存储方法还包括S300:阿里云转码服务器对需要转码的视频文件进行转码操作。5.根据权利要求3所述的一种媒体资料上传与存储方法,其特征在于,所述数据库包括查询表和转码表,所述查询表用于存储文件的哈希值、存储状态以及文件地址;所述转码表用于存储文件的哈希值、转码Id、视频地址以及转码状态;所述S100包括:S11:用户终端接收待上传文件,获取待上传文件的哈希值,将获取的待上传文件的哈希值发送至远程服务器;S12:远程服务器判断所接收的待上传文件的哈希值,是否已存在于数据库查询表中;若存在,则向用户终端返回该文件已存在信号,上传取消;若不存在,则转至S13;S13:判断所述媒体资料为图片文件还是视频文件;S14:当用户终端接收到的待上传文件为图片文件时,将图片文件上传至远程服务器,上传结束;S15:当用户终端接收到的待上传文件为视频文件时,判断视频文件的大小,当视频文件小于所设置的第一阈值时,将视频文件上传至所述远程服务器,上传结束;否则,转至S16;S16:将所述视频文件切分为多个视频片段,依次上传至所述远程服务器;S17:用户终端上传完所有视频片段后,发送上传完毕信号至远程服务器;S18:远程服务器在接收到所述上传完毕信号后,对接收到的视频片段进行合成处理,合成完整的视频文件,存储在远程服务器中,上传结束。6.根据权利要求5所述的一种媒体资料上传与存储方法,其特征在于...

【专利技术属性】
技术研发人员:李小云叶勇李志亮
申请(专利权)人:杭州网络传媒有限公司
类型:发明
国别省市:浙江,33

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1