CN110381128B - 一种适用于流媒体文件的上传方法和云存储模型 - Google Patents
一种适用于流媒体文件的上传方法和云存储模型 Download PDFInfo
- Publication number
- CN110381128B CN110381128B CN201910610629.0A CN201910610629A CN110381128B CN 110381128 B CN110381128 B CN 110381128B CN 201910610629 A CN201910610629 A CN 201910610629A CN 110381128 B CN110381128 B CN 110381128B
- Authority
- CN
- China
- Prior art keywords
- streaming media
- media file
- data
- streaming
- uploading
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种适用于流媒体文件的上传方法和云存储模型,包括:S0:流媒体设备连接流通道准备获取流数据,同时与云存储建立连接;S1:流媒体设备尝试从流通道获取实时流数据;S2:如果流通道的状态为关闭状态,跳转到步骤S7;S3:如果流通道的状态为打开状态,判断是否建立新的流媒体文件;S4:新建流媒体文件;如果不新建流媒体文件,则将数据追加上传到云存储中已有的流媒体文件;S5:上传流数据成功后,服务端会返回下一次需要追加写的位置;S6:流媒体设备可以清除当前已有数据。本发明中流媒体设备不需要存储大量的流媒体文件,用户可以实时地获取已经上传的流媒体数据,可以灵活地选择流媒体文件上传方式。
Description
技术领域
本发明属于流媒体技术领域,尤其是涉及一种适用于流媒体文件的上传方法和云存储模型。
背景技术
随着信息数据的日益增加,我国已经进入了信息化的大数据时代,视频、音频等流媒体文件也逐步的应用到了不同的行业以及不同的市场中,并且数据量呈现了爆炸式的增长,如何高速地并且有效率地上传海量的流媒体文件,以及如何保证海量流媒体文件存储的高可靠性是当今开发面临的巨大难题。
当今社会中对于流媒体文件的应用十分广泛,以视频为例,比如监控视频、直播视频、商品介绍视频等等。当前流媒体上传的技术方案一般都是让生成流媒体的设备先将数据积攒到一定时间或者一定大小,分成多个文件之后逐一上传至云存储;或者是把完整的流媒体文件进行分割,进行分片上传至云存储。如果将流媒体数据积攒到一定时间或者一定大小分成多个文件上传,当需要获取一段范围内的数据的时候,因为涉及到多个文件的不同部分,所以无法达成需求,因为该方法并没有记录每个文件所记录的内容的范围。如果是把完整的流媒体文件进行分割,再进行分片上传,首先存储原流媒体的设备需要足够大的存储容量才行,另外如果上传间出现了失败,原流媒体文件还需要保留,重新切割分片,已经上传的数据部分不能进行删除操作。
发明内容
有鉴于此,本发明旨在提出一种适用于流媒体文件的上传方法和云存储模型,解决了现有技术中存在的问题,流媒体设备不需要存储大量的流媒体文件,上传成功后即可删除现有的数据,上传失败时可以从云存储得到该文件当前需要追加的位置,重新进行追加写;用户可以实时地获取已经上传的流媒体数据,而且不会和新的流媒体文件追加写有冲突,并可以灵活地选择流媒体文件上传方式。
为达到上述目的,本发明的技术方案是这样实现的:
一种适用于流媒体文件的上传方法,包括以下步骤:
S0:流媒体设备连接流通道准备获取流数据,同时与云存储建立连接;
S1:流媒体设备尝试从流通道获取实时流数据;
S2:如果流通道的状态为关闭状态,跳转到步骤S7;
S3:如果流通道的状态为打开状态,判断是否建立新的流媒体文件;
S4:新建流媒体文件,上传元数据;如果不新建流媒体文件,则将数据追加上传到云存储中已有的流媒体文件;
S5:上传流数据成功后,服务端会返回下一次需要追加写的位置;
S6:当前流数据上传成功后,流媒体设备可以清除当前已有数据,再返回步骤S1;
S7:当流通道关闭后,本次流媒体文件上传结束。
进一步的,步骤S3中,流媒体设备如果获取的流媒体数据是新的则选择新建流媒体文件;如果获取的数据流是对已有的流媒体数据进行追加写,则不建立流媒体文件。
进一步的,步骤S4中,选择新建流媒体文件时,流媒体设备调用云存储新建流媒体文件上传接口,上传该流媒体文件的元数据。
进一步的,步骤S4中,选择不新建流媒体文件时,流媒体设备调用云存储流媒体文件追加写接口,在已经上传的文件数据之后写进新的流数据。
一种适用于流媒体文件的上传方法的云存储模型,包括上传处理模块、流数据模块、对象模块和文件元数据信息存储模块;
上传处理模块负责处理流媒体文件上传请求,并根据传输协议得到流数据模块,上传处理模块还负责与文件元数据信息存储模块进行交互;流数据模块根据流媒体文件解析规则得到流数据,并写入至对象模块;
文件元数据信息存储模块记录流媒体文件的元数据信息和流媒体文件已经追加写成功的位置信息;
多个对象模块内存储流媒体文件不同部分的数据,使对象分片可以进行异步同时拷贝,同时当追加写失败时方便重传。
进一步的,当一个对象模块写满后,需要建立新的对象模块去写入数据,并更新对象元数据映射模块,更新最新的对象分片信息。
相对于现有技术,本发明所述的一种适用于流媒体文件的上传方法和云存储模型具有以下优势:
本发明所述的一种适用于流媒体文件的上传方法,流媒体设备不需要存储大量的流媒体文件,上传成功后即可删除现有的数据,上传失败时可以从云存储得到该文件当前需要追加的位置,重新进行追加写;
用户可以实时地获取已经上传的流媒体数据,而且不会和新的流媒体文件追加写有冲突,并可以灵活地选择流媒体文件上传方式;
本发明还对云存储底层进行改造,提升了流媒体文件的上传效率以及存储可靠性,提升流媒体文件的多副本拷贝效率。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
在附图中:
图1为本发明实施例所述的一种适用于流媒体文件的上传方法和云存储模型中上传流程示意图;
图2为本发明实施例所述的一种适用于流媒体文件的上传方法和云存储模型中存储模型框图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,一种适用于流媒体文件的上传方法,包括以下步骤:
S0:流媒体设备连接流通道准备获取流数据,同时与云存储建立连接;
S1:流媒体设备尝试从流通道获取实时流数据;
S2:如果流通道的状态为关闭状态,跳转到步骤S7;
S3:如果流通道的状态为打开状态,判断是否建立新的流媒体文件;
S4:新建流媒体文件,上传元数据;如果不新建流媒体文件,则将数据追加上传到云存储中已有的流媒体文件;
S5:上传流数据成功后,服务端会返回下一次需要追加写的位置;
S6:当前流数据上传成功后,流媒体设备可以清除当前已有数据,再返回步骤S1;
S7:当流通道关闭后,本次流媒体文件上传结束。
如图1所示,步骤S3中,流媒体设备如果获取的流媒体数据是新的则选择新建流媒体文件;如果获取的数据流是对已有的流媒体数据进行追加写,则不建立流媒体文件。
如图1所示,步骤S4中,选择新建流媒体文件时,流媒体设备调用云存储新建流媒体文件上传接口,上传该流媒体文件的元数据,元数据包括码率、帧率、文件类型等等。
如图1所示,步骤S4中,选择不新建流媒体文件时,流媒体设备调用云存储流媒体文件追加写接口,在已经上传的文件数据之后写进新的流数据。
如图2所示,一种适用于流媒体文件的上传方法的云存储模型,包括上传处理模块、流数据模块、对象模块和文件元数据信息存储模块;
上传处理模块负责处理流媒体文件上传请求,并根据传输协议得到流数据模块,上传处理模块还负责与文件元数据信息存储模块进行交互;流数据模块根据流媒体文件解析规则得到流数据,并写入至对象模块;
文件元数据信息存储模块记录流媒体文件的元数据信息和流媒体文件已经追加写成功的位置信息;
多个对象模块内存储流媒体文件不同部分的数据,使对象分片可以进行异步同时拷贝,同时当追加写失败时方便重传。
如图2所示,当一个对象模块写满后,需要建立新的对象模块去写入数据,并更新对象元数据映射模块,更新最新的对象分片信息。
通过本发明使得流媒体设备不用一直保存原有的流媒体文件,上传成功后即可删除现有的数据,如果遇到上传失败的情况,可以从云存储拿到该文件当前需要追加的位置,重新进行追加写,只要追加写成功,就可以删除掉原有的流媒体文件或者数据。
由于采用追加写方式,所以对于用户来说始终只有一个流媒体文件,文件获取的地址和方式不会有任何改变,用户可以实时地获取之前已经上传的数据,或者根据需要获取某一段的数据,而且获取数据的时候并不会影响正在追加上传的新数据。用户还可以灵活的根据自己的规则决定是新建流媒体文件上传还是在已有的流媒体文件上进行追加写,而不是固化的文件上传模式。
在存储过程中为了保证数据可靠性,通常都会有多副本拷贝,由于单个流媒体文件的数据量通常都很大,如果以单个流媒体文件为单元进行数据拷贝,将会非常耗时,如果失败了还需要重新进行拷贝。本发明中如图2所示的存储模型将流媒体文件在存储底层切割成多个对象模块,那么在进行数据存储多副本拷贝时,所有的对象分片可以进行异步同时拷贝,大大的提高了多副本拷贝的效率;其次,由于流媒体文件是不断的追加写入,如果某一次追加写入失败,并不需要从头重新进行追加,只需要抛弃写失败的对象,返回上一个写成功的对象的偏移量即可,极大的减少了重传数据量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种适用于流媒体文件的上传方法,其特征在于:包括以下步骤:
S0:流媒体设备连接流通道准备获取流数据,同时与云存储建立连接;
S1:流媒体设备尝试从流通道获取实时流数据;
S2:如果流通道的状态为关闭状态,跳转到步骤S7;
S3:如果流通道的状态为打开状态,判断是否建立新的流媒体文件;
S4:新建流媒体文件,上传元数据;如果不新建流媒体文件,则将数据追加上传到云存储中已有的流媒体文件;
S5:上传流数据成功后,服务端会返回下一次需要追加写的位置;
S6:当前流数据上传成功后,流媒体设备可以清除当前已有数据,再返回步骤S1;
S7:当流通道关闭后,本次流媒体文件上传结束;
步骤S3中,流媒体设备如果获取的流媒体数据是新的则选择新建流媒体文件;如果获取的数据流是对已有的流媒体数据进行追加写,则不建立流媒体文件;
一种适用于流媒体文件的上传方法的云存储模型,基于上述的一种适用于流媒体文件的上传方法,包括上传处理模块、流数据模块、对象模块和文件元数据信息存储模块;
上传处理模块负责处理流媒体文件上传请求,并根据传输协议得到流数据模块,上传处理模块还负责与文件元数据信息存储模块进行交互;流数据模块根据流媒体文件解析规则得到流数据,并写入至对象模块;
文件元数据信息存储模块记录流媒体文件的元数据信息和流媒体文件已经追加写成功的位置信息;
多个对象模块内存储流媒体文件不同部分的数据,使对象分片可以进行异步同时拷贝,同时当追加写失败时方便重传。
2.根据权利要求1所述的一种适用于流媒体文件的上传方法,其特征在于:步骤S4中,选择新建流媒体文件时,流媒体设备调用云存储新建流媒体文件上传接口,上传该流媒体文件的元数据。
3.根据权利要求1所述的一种适用于流媒体文件的上传方法,其特征在于:步骤S4中,选择不新建流媒体文件时,流媒体设备调用云存储流媒体文件追加写接口,在已经上传的文件数据之后写进新的流数据。
4.根据权利要求1所述的一种适用于流媒体文件的上传方法,其特征在于:当一个对象模块写满后,需要建立新的对象模块去写入数据,并更新对象元数据映射模块,更新最新的对象分片信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910610629.0A CN110381128B (zh) | 2019-07-08 | 2019-07-08 | 一种适用于流媒体文件的上传方法和云存储模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910610629.0A CN110381128B (zh) | 2019-07-08 | 2019-07-08 | 一种适用于流媒体文件的上传方法和云存储模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110381128A CN110381128A (zh) | 2019-10-25 |
CN110381128B true CN110381128B (zh) | 2022-06-07 |
Family
ID=68252396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910610629.0A Active CN110381128B (zh) | 2019-07-08 | 2019-07-08 | 一种适用于流媒体文件的上传方法和云存储模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110381128B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049857A (zh) * | 2019-12-26 | 2020-04-21 | 山东方寸微电子科技有限公司 | 一种基于udp协议的网络存储系统及方法 |
CN111970381B (zh) * | 2020-09-06 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种文件重删追加上传方法、系统、设备及存储介质 |
CN114124671B (zh) * | 2022-01-27 | 2022-07-08 | 广东睿江云计算股份有限公司 | 一种基于媒体流转换下载录屏方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767662A (zh) * | 2005-11-21 | 2006-05-03 | 上海八六三信息安全产业基地有限公司 | 基于宽带网络的流媒体信息检测与内容监控系统 |
CN102298641A (zh) * | 2011-09-14 | 2011-12-28 | 清华大学 | 一种基于键值库的文件与结构化数据统一存储方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986706B (zh) * | 2010-11-16 | 2012-07-18 | 重庆抛物线信息技术有限责任公司 | 移动终端视频发布系统、方法及其应用 |
CN202143176U (zh) * | 2011-07-20 | 2012-02-08 | 苏州工业职业技术学院 | 一种可实现实时播放的网络电视系统 |
US9135462B2 (en) * | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US10742720B2 (en) * | 2016-02-29 | 2020-08-11 | Seagate Technology Llc | Cloud storage accelerator |
CN109257405A (zh) * | 2017-07-14 | 2019-01-22 | 中兴通讯股份有限公司 | 文件上传的处理方法、装置和服务器 |
CN107404525A (zh) * | 2017-07-24 | 2017-11-28 | 郑州云海信息技术有限公司 | 视频数据存取方法、平台及系统 |
CN108156428A (zh) * | 2018-01-08 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种视频监控系统 |
-
2019
- 2019-07-08 CN CN201910610629.0A patent/CN110381128B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767662A (zh) * | 2005-11-21 | 2006-05-03 | 上海八六三信息安全产业基地有限公司 | 基于宽带网络的流媒体信息检测与内容监控系统 |
CN102298641A (zh) * | 2011-09-14 | 2011-12-28 | 清华大学 | 一种基于键值库的文件与结构化数据统一存储方法 |
Non-Patent Citations (2)
Title |
---|
Stream as You Go: The Case for Incremental Data Access and Processing in the Cloud;Romeo Kienzler;《2012 IEEE 28th International Conference on Data Engineering Workshops》;20120927;全文 * |
三网融合下广电视频内容的存储技术研究;陈洪涛;《信息科技辑》;20161215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110381128A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110381128B (zh) | 一种适用于流媒体文件的上传方法和云存储模型 | |
JP4392601B2 (ja) | データアクセス装置および記録媒体 | |
CN107851122B (zh) | 大规模存储和检索具有良有界生命的数据 | |
CN103226965B (zh) | 基于时间位图的音视频数据存取方法 | |
CN104750859A (zh) | 一种网络存储方法 | |
CN110430480B (zh) | 一种流媒体云存储同步的系统和方法 | |
US11250888B1 (en) | Flash memory and method for storing and retrieving embedded audio video data | |
CN111966632B (zh) | 一种流式数据存储方法、读取方法、设备及可读存储介质 | |
US11659140B2 (en) | Parity-based redundant video storage among networked video cameras | |
CN106201778B (zh) | 信息处理方法及存储设备 | |
CN108415962A (zh) | 一种云存储系统 | |
CN101651795A (zh) | 一种接收、存储数字卫星传输媒体文件并播放的方法及装置 | |
CN101895736B (zh) | 媒体流数据处理方法及其装置 | |
CN103761194B (zh) | 一种内存管理方法及装置 | |
AU2021202286A1 (en) | Managing data | |
CN103648021A (zh) | 从usb存储设备播放网络视频文件的方法 | |
JP4327221B2 (ja) | データ記録装置 | |
JP4116604B2 (ja) | データ記録装置 | |
CN109977121B (zh) | 一种大数据快速存储系统 | |
US9467734B2 (en) | Storing method and processing device thereof | |
CN108845895B (zh) | 基于虚拟磁盘文件的流式增量备份方法及装置 | |
CN112596682A (zh) | 一种区块链用存储装置及存储方法 | |
JP2008310889A (ja) | 記録再生装置 | |
KR20190130959A (ko) | 크로마 서브 샘플링된 이미지들에 대한 빠른 참조 객체 저장 형식에 대한 방법 | |
CN115250266B (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 |