CN117651043A - 基于oss服务的多媒体文件上传方法、装置和系统 - Google Patents
基于oss服务的多媒体文件上传方法、装置和系统 Download PDFInfo
- Publication number
- CN117651043A CN117651043A CN202410121495.7A CN202410121495A CN117651043A CN 117651043 A CN117651043 A CN 117651043A CN 202410121495 A CN202410121495 A CN 202410121495A CN 117651043 A CN117651043 A CN 117651043A
- Authority
- CN
- China
- Prior art keywords
- uploading
- service
- client
- multimedia file
- file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013475 authorization Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000001960 triggered effect Effects 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种基于OSS服务的多媒体文件上传方法、装置和系统。其中,该方法包括:获取用户通过客户端触发的上传请求,基于上传请求,通过文件服务向OSS服务获取上传授权,客户端成功获取上传授权后,将多媒体文件上传到OSS服务,进而OSS服务通知文件服务对获取到的多媒体文件进行处理,并在处理完成后进行分布式存储。如此,由于OSS服务可以采用多地域、多可用区域架构,因此单个文件上传异常也不会影响其他文件文件,因此可以确保文件数据在任何时候都能够保持高可用性。此外,还可以提高系统的并发上传数量,降低带宽占用和服务器负载,避免并发访问冲突的问题。
Description
技术领域
本申请涉及一种基于OSS服务的多媒体文件上传方法、装置和系统,属于计算机技术领域。
背景技术
在传统的多媒体文件上传系统中,由于多媒体文件通常较大,上传需要经过多个环节,包括文件读取、网络传输、存储等,因此面临着一些问题。首先,由于每个环节都是单一的,当某个环节出现故障时,整个上传过程就会中断,导致可用性降低。其次,由于传统的多媒体文件上传系统通常采用集中式的存储方式,当面临大规模用户同时上传多媒体文件时,会产生并发访问冲突,导致性能下降。
发明内容
本申请提供一种基于OSS服务的多媒体文件上传方法、装置和系统,以解决传统多媒体文件上传技术中,可用性受限以及会产生并发访问冲突的问题。
第一方面,本申请实施例提供一种基于OSS服务的多媒体文件上传方法,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和OSS服务,该方法包括:
获取用户通过所述客户端触发的上传请求;
基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权;
所述客户端成功获取上传授权后,将多媒体文件上传到所述OSS服务;
所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
其中,所述基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权,包括:
对上传参数按照预设顺序进行排列得到第一数据,并使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第一数据进行加密,生成待校验参数;其中,所述上传参数包括所述客户端的唯一标识码、待上传文件的分类和请求时间戳;
将所述上传参数、所述待校验参数和所述上传请求发送至所述OSS服务;
所述OSS服务利用所述客户端的唯一标识码确定所述客户端的密钥,并将获取到的所述上传参数按照预设顺序进行排列得到第二数据,以及使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第二数据进行加密,生成校验参数;
所述OSS服务若确定所述校验参数与所述待校验参数一致,则确定校验通过,向客户端发送上传授权。
基于以上的方法,可选地,所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,包括:
所述OSS服务获取到多媒体文件后向所述文件服务发送通知;
所述文件服务利用Redis创建消息队列,并将获取到的每个所述多媒体文件作为一个消息发送到所述消息队列中;
创建异步任务处理器,利用所述异步任务处理器从所述消息队列中获取消息,并对消息包含的多媒体文件进行异步处理。
基于以上的方法,可选地,对所述多媒体文件进行的处理包括:校验、转码、压缩和截图中的至少一项。
基于以上的方法,可选地,还包括:
在将多媒体文件上传到所述OSS服务过程中,通过所述客户端向用户展示上传进度和上传结果。
基于以上的方法,可选地,还包括:
记录每个多媒体文件的上传时间,并基于预设的存储时长,定期删除过期文件。
基于以上的方法,可选地,所述客户端运行有配置于PC端或移动端的网页或配置于移动端的APP,所述网页或所述APP用于提供交互界面。
第二方面,本申请实施例还提供一种基于OSS服务的多媒体文件上传装置,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和OSS服务,所述装置包括:
获取模块,用于获取用户通过所述客户端触发的上传请求;
授权模块,用于基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权;
上传模块,用于所述客户端成功获取上传授权后,将多媒体文件上传到所述OSS服务;
处理模块,用于所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
其中,所述授权模块具体用于:
对上传参数按照预设顺序进行排列得到第一数据,并使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第一数据进行加密,生成待校验参数;其中,所述上传参数包括所述客户端的唯一标识码、待上传文件的分类和请求时间戳;
将所述上传参数、所述待校验参数和所述上传请求发送至所述OSS服务;
所述OSS服务利用所述客户端的唯一标识码确定所述客户端的密钥,并将获取到的所述上传参数按照预设顺序进行排列得到第二数据,以及使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第二数据进行加密,生成校验参数;
所述OSS服务若确定所述校验参数与所述待校验参数一致,则确定校验通过,向客户端发送上传授权。
第三方面,本申请实施例还提供一种分布式多媒体文件管理系统,其包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用并执行所述计算机程序时,实现如第一方面任意一项所述的基于OSS服务的多媒体文件上传方法。
本申请提供的基于OSS服务的多媒体文件上传方案中,预先构建分布式多媒体文件管理系统,然后获取用户通过客户端触发的上传请求,基于上传请求,通过文件服务向OSS服务获取上传授权,客户端成功获取上传授权后,将多媒体文件上传到OSS服务,进而OSS服务通知文件服务对获取到的多媒体文件进行处理,并在处理完成后进行分布式存储。如此,由于OSS服务可以采用多地域、多可用区域架构,因此单个文件上传异常也不会影响其他文件文件,因此可以确保文件数据在任何时候都能够保持高可用性。此外,还可以提高系统的并发上传数量,降低带宽占用和服务器负载,避免并发访问冲突的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。此外,这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
图1为本申请一个实施例提供的分布式多媒体文件管理系统的架构图;
图2为本申请一个实施例提供的基于OSS服务的多媒体文件上传方法的流程示意图;
图3为本申请一个实施例提供的基于OSS服务的多媒体文件上传装置的结构示意图;
图4为本申请一个实施例提供的分布式多媒体文件管理系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在传统的多媒体文件上传系统中,由于多媒体文件通常较大,上传需要经过多个环节,包括文件读取、网络传输、存储等,因此面临着一些问题。首先,由于每个环节都是单一的,当某个环节出现故障时,整个上传过程就会中断,导致可用性降低。其次,由于传统的多媒体文件上传系统通常采用集中式的存储方式,当面临大规模用户同时上传多媒体文件时,会产生并发访问冲突,导致性能下降。
具体地,传统的多媒体文件上传系统一般具有如下缺点:
单一上传通道:在该系统中只能通过一个上传通道上传文件,由于只有一个上传通道,多个用户同时上传时会出现上传阻塞的情况,用户只能排队等待上传完成,这会严重降低用户体验。
中心化存储架构:该系统采用中心化存储架构,即所有文件都必须存储在同一个中心化服务器上,如果用户上传大量文件,会给服务器带来很大的负担,导致上传速度变慢,从而影响用户体验。
无负载均衡:该系统无负载均衡机制,所有的上传请求都发送到同一个服务器上,当上传请求达到一定数量时,服务器将不堪重负,影响系统的稳定性。
针对上述问题,本申请提供一种基于OSS服务的多媒体文件上传方案,其中,首先构建分布式多媒体文件系统,将OSS服务与分布式系统结合使用,实现多媒体文件的分布式存储;其次,利用OSS将多媒体文件存放在云服务器上,利用云服务器提供的网络带宽,提高上传和下载的并发性能。以下通过几个示例或实施例对具体实现方案进行非限制性说明。
首先对OSS服务进行简要说明。OSS服务即对象存储服务(Object StorageService,简称OSS)。OSS是一种可靠、高效、低成本的云存储服务,适用于各种大规模存储场景,包括文件、图片、视频等数据的存储和管理。OSS将用户上传的文件存储为对象,每个对象包括文件数据、元数据和唯一的标识符。OSS具有以下特点:
1.海量存储:支持存储任意大小的文件,并提供了高达百PB级别的存储容量。
2.高可用性 :OSS采用多地域、多可用架构,确保数据在任何时候都能够保持高可用性。
3.安全可靠:OSS支持数据加密和访问控制,保证数据的安全性和可靠性。
4.简单易用:支持HTTP/HTTPS协议,可以通过各种语言和平台进行访问和使用。
5.低成本:提供按需计费,无需购买硬件设备或进行维护,可以降低存储成本。
本申请实施例为了实现多媒体文件的高并发上传处理,首先构建分布式多媒体文件管理系统,分布式多媒体文件管理系统包括客户端和云服务器,且云服务器配置有文件服务和OSS服务。如此,将OSS服务与分布式系统结合使用,以便实现多媒体文件的分布式存储和管理。另外,利用OSS服务将多媒体文件存放在云服务器上,利用云服务器提供的网络带宽,提高上传和下载的并发性能。
其中,文件服务指的是通过特定编程语言实现的文件处理功能,包括但不限于文件上传、文件下载、文件存储管理、文件共享与权限控制等。更具体地,例如可以通过Java编程语言实现文件服务。Java提供了许多与文件相关的API(Application ProgrammingInterface,应用程序编程接口),如java.io包、java.nio包和java.nio.file包等,开发人员可以通过这些API轻松地实现所需的文件服务。
参照图1,图1为本申请一个实施例提供的分布式多媒体文件管理系统的架构图。如图1所示,该系统包括表现层、应用层、支持层、云服务和基础支持。
其中,表现层主要用于与用户进行交互,包括用户界面、移动应用等。表现层的作用是提供用户友好的交互界面和体验,以及传递用户的上传/下载请求和多媒体文件等数据。更具体地,表现层即对应于分布式多媒体文件管理系统的客户端,其上可以运行有配置于PC端或移动端的网页或配置于移动端的APP,网页或APP则用于提供交互界面。其中,PC端或移动端的网页可以基于HTML(Hyper Text Markup Language,超文本标记语言)技术和VUE(Vue.js,一款开源的JavaScript前端框架)技术实现。移动端的APP可以为Android APP或者iOS APP。
应用层主要用于处理业务逻辑,包括业务处理和数据处理等。应用层的作用是根据业务需求进行数据处理、逻辑处理等操作,为用户提供相应的服务。比如,一个实施例中,应用层包括赛事作品服务和网站页面。其中,赛事作品服务用于获取赛事过程中生成的多媒体文件。网站页面则用于前期对这些多媒体文件的管理和处理。
支持层主要用于支持应用层的功能,包括数据库、缓存、消息队列等技术服务。支持层的作用是为应用层提供各种基础设施和工具,提高应用系统的稳定性和可靠性。前文所述的文件服务即配置于支持层。
云服务则是一些云平台提供的可使用的云服务,例如OSS、RDS等。云服务的作用是提供各种云计算服务,将应用程序和数据存储在云上,帮助用户降低IT成本和提高业务效率。
基础支持主要是指一些基础的技术支持,例如数据库、编程框架和软件服务等,是实现系统各种功能即保障系统正常运行的基础。一些实施例中,基础支持包括Mysql(一款开源的关系型数据库管理系统)、Spring Boot(一款开源的Java Web开发框架)和RabbitMq(一款开源的消息队列软件)。
基于上述的系统架构,本申请一些实施例提供一种基于OSS服务的多媒体文件上传方法,参照图2,图2为本申请一个实施例提供的基于OSS服务的多媒体文件上传方法的流程示意图。
如图2所示,本实施例的基于OSS服务的多媒体文件上传方法包括以下步骤:
步骤S101:获取用户通过客户端触发的上传请求。
具体地,客户端中可以运行有网页或者APP,其中具有用户交互界面,用户可以通过客户端将待上传的多媒体文件发送到客户端中,然后点击上传按钮触发上传请求。
步骤S102:基于上传请求,通过文件服务向OSS服务获取上传授权。
具体地,客户端获取到上传请求后,首先需要向OSS服务获取上传的授权,即上传权限,若不能成功获取授权,则不能向OSS服务上传数据。其中,文件服务中提供有授权接口,通过该授权接口,可以向OSS服务发送授权请求,以获取上传授权。
步骤S103:客户端成功获取上传授权后,将多媒体文件上传到OSS服务。
具体地,获取到上传授权后,客户端即可将多媒体文件上传到OSS服务。
进一步地,一些实施例中,在将多媒体文件上传到OSS服务过程中,还可以通过客户端向用户展示上传进度和上传结果。通过反馈上传进度,可以方便用户了解上传是否正常进行,以及了解预计等待时间等。上传成功后可以向用户进行提示,方便用户及时进行后续操作。
步骤S104:OSS服务通知文件服务对获取到的多媒体文件进行处理,并在处理完成后进行分布式存储。
具体地,多媒体文件上传到OSS服务后,为了便于后续管理和使用,还需要进一步进行处理,称为上传后处理,该过程通过文件服务实现。
进一步地,步骤S104中OSS服务通知文件服务对获取到的多媒体文件进行处理,具体可以包括:OSS服务获取到多媒体文件后向文件服务发送通知;文件服务利用Redis创建消息队列,并将获取到的每个多媒体文件作为一个消息发送到消息队列中;创建异步任务处理器,利用异步任务处理器从消息队列中获取消息,并对消息包含的多媒体文件进行异步处理。
其中,Redis是一款高性能的开源内存级别的key-value数据库。Redis支持多种数据类型,包括字符串、哈希、列表、集合和有序集合等。Redis的内存存储和高速读写操作使其广泛应用于缓存、队列、发布/订阅、计数器、排行榜、社交网络等领域。
具体地,本实施例中利用Redis的消息队列功能创建一个消息队列,基于此OSS服务获取到的每个多媒体文件可以作为一个消息,发送到该消息队列中。之后创建异步任务处理器,异步任务处理器可以利用异步方式对消息队列中的消息进行异步处理。如此,OSS服务可以并发接收不同客户端上传的大量多媒体文件,并由创建的异步任务处理器实现异步后处理,而无需等待一个多媒体文件完成上传、处理和存储的整个流程后再执行下一个多媒体文件的上传。因此可以提高处理效率,提高系统的并发性能。
可以理解,除了利用Redis创建消息队列,也可以采用其他方式实现,比如前文所述的RabbitMQ实现,其原理和特点略有不同,但功能类似。具体使用时需要根据实际业务需求、数据规模、性能要求等因素选择合适的方案。
另外,一些实施例中,对上传的多媒体文件的后处理包括校验、转码、压缩和截图中的至少一项。
其中,通过文件校验可以保证多媒体文件的安全性,而通过转码、压缩和截图等处理,可以便于多媒体文件的存储和后续使用,提高可用性。
例如,对于图片文件,可以直接进行安全审核,实现文件校验,确保图片文件的安全性和合法性;对于视频文件,则可以进行转码、截图和安全审核,确保文件的安全性和合法性,且便于后续使用。
处理完成后,可以对文件进行分布式存储,分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
另外,一些实施例中,还可以记录每个多媒体文件的上传时间,并基于预设的存储时长,定期删除过期文件。如此,通过定期删除过期文件,可以进一步降低存储负荷。其中,存储时长可以采用OSS服务的默认值或者由用户进行自定义设置。
基于上述方案,通过预先构建分布式多媒体文件管理系统,然后获取用户通过客户端触发的上传请求,基于上传请求,通过文件服务向OSS服务获取上传授权,客户端成功获取上传授权后,将多媒体文件上传到OSS服务,进而OSS服务通知文件服务对获取到的多媒体文件进行处理,并在处理完成后进行分布式存储。如此,由于OSS服务可以采用多地域、多可用区域架构,因此单个文件上传异常也不会影响其他文件文件,因此可以确保文件数据在任何时候都能够保持高可用性。此外,还可以提高系统的并发上传数量,降低带宽占用和服务器负载,避免并发访问冲突的问题。
此外,一些实施例中,步骤S102中,基于上传请求,通过文件服务向OSS服务获取上传授权的具体过程可以包括:
步骤S1021:对上传参数按照预设顺序进行排列得到第一数据,并使用客户端的密钥作为加密字符串,采用非对称加密算法对第一数据进行加密,生成待校验参数;其中,上传参数包括客户端的唯一标识码、待上传文件的分类和请求时间戳。
具体地,客户端的唯一标识码用于唯一标识一个客户端设备。客户端的唯一标识码可以是AppID。通过该唯一标识码可以准确定位到对应的客户端。并且,客户端的密钥也是客户端唯一的,与客户端的唯一标识码存在一一对应关系。客户端的密钥可以为AppSecret。
非对称加密方式中,使用公钥对数据进行加密,只有对应的私钥才能解密。这种方式中,即使加密的数据被截获,也不能解密获取原始数据,从而可以保证加密后的数据安全性更高。进一步地,使用的非对称加密算法例如可以是RSA256算法。
步骤S1022:将上传参数、待校验参数和上传请求发送至OSS服务。
步骤S1023:OSS服务利用客户端的唯一标识码确定客户端的密钥,并将获取到的上传参数按照预设顺序进行排列得到第二数据,以及使用客户端的密钥作为加密字符串,采用非对称加密算法对第二数据进行加密,生成校验参数。
具体地,OSS服务的服务器获取到上传请求和上传参数后,可以从中读取AppID,然后基于AppID查询得到对应的AppSecret,之后采用生成待校验参数时相同的加密方式和加密算法对排列后的上传参数(第二数据)进行加密,即得到校验参数。
步骤S1024:OSS服务若确定校验参数与待校验参数一致,则确定校验通过,向客户端发送上传授权。
具体地,如果校验参数与待校验参数一致,则表明客户端的上传请求无异常,且当前的上传环境正常,可以允许该客户端上传文件,因此可以向客户端发送上传授权。
通过上述方案,可以实现文件上传之间的安全校验,保证上传过程的安全。
此外,本申请实施例提供一种基于OSS服务的多媒体文件上传装置,该装置应用于前述的分布式多媒体文件管理系统,即该分布式多媒体文件管理系统包括客户端和云服务器,且云服务器配置有文件服务和OSS服务。参照图3,本实施例的基于OSS服务的多媒体文件上传装置包括:
获取模块31,用于获取用户通过所述客户端触发的上传请求;
授权模块32,用于基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权;
上传模块33,用于所述客户端成功获取上传授权后,将多媒体文件上传到所述OSS服务;
处理模块34,用于所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
其中,授权模块具体用于:
对上传参数按照预设顺序进行排列得到第一数据,并使用客户端的密钥作为加密字符串,采用非对称加密算法对第一数据进行加密,生成待校验参数;其中,上传参数包括客户端的唯一标识码、待上传文件的分类和请求时间戳;
将上传参数、待校验参数和上传请求发送至OSS服务;
OSS服务利用客户端的唯一标识码确定客户端的密钥,并将获取到的上传参数按照预设顺序进行排列得到第二数据,以及使用客户端的密钥作为加密字符串,采用非对称加密算法对第二数据进行加密,生成校验参数;
OSS服务若确定校验参数与待校验参数一致,则确定校验通过,向客户端发送上传授权。
其中,关于上述基于OSS服务的多媒体文件上传装置的各个模块的具体实现方法,可以参照前述方法实施例中的相应内容,此处不再赘述。
此外,本申请实施例还提供一种分布式多媒体文件管理系统,如图4所示,该分布式多媒体文件管理系统包括存储器41和处理器42;其中,存储器41存储有计算机程序,处理器42调用并执行计算机程序时,实现上述任一实施例中基于OSS服务的多媒体文件上传方法。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种基于OSS服务的多媒体文件上传方法,其特征在于,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和OSS服务,所述方法包括:
获取用户通过所述客户端触发的上传请求;
基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权;
所述客户端成功获取上传授权后,将多媒体文件上传到所述OSS服务;
所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
其中,所述基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权,包括:
对上传参数按照预设顺序进行排列得到第一数据,并使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第一数据进行加密,生成待校验参数;其中,所述上传参数包括所述客户端的唯一标识码、待上传文件的分类和请求时间戳;
将所述上传参数、所述待校验参数和所述上传请求发送至所述OSS服务;
所述OSS服务利用所述客户端的唯一标识码确定所述客户端的密钥,并将获取到的所述上传参数按照预设顺序进行排列得到第二数据,以及使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第二数据进行加密,生成校验参数;
所述OSS服务若确定所述校验参数与所述待校验参数一致,则确定校验通过,向客户端发送上传授权。
2.根据权利要求1所述的方法,其特征在于,所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,包括:
所述OSS服务获取到多媒体文件后向所述文件服务发送通知;
所述文件服务利用Redis创建消息队列,并将获取到的每个所述多媒体文件作为一个消息发送到所述消息队列中;
创建异步任务处理器,利用所述异步任务处理器从所述消息队列中获取消息,并对消息包含的多媒体文件进行异步处理。
3.根据权利要求1或2所述的方法,其特征在于,对所述多媒体文件进行的处理包括:校验、转码、压缩和截图中的至少一项。
4.根据权利要求1所述的方法,其特征在于,还包括:
在将多媒体文件上传到所述OSS服务过程中,通过所述客户端向用户展示上传进度和上传结果。
5.根据权利要求1所述的方法,其特征在于,还包括:
记录每个多媒体文件的上传时间,并基于预设的存储时长,定期删除过期文件。
6.根据权利要求1所述的方法,其特征在于,所述客户端运行有配置于PC端或移动端的网页或配置于移动端的APP,所述网页或所述APP用于提供交互界面。
7.一种基于OSS服务的多媒体文件上传装置,其特征在于,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和OSS服务,所述装置包括:
获取模块,用于获取用户通过所述客户端触发的上传请求;
授权模块,用于基于所述上传请求,通过所述文件服务向所述OSS服务获取上传授权;
上传模块,用于所述客户端成功获取上传授权后,将多媒体文件上传到所述OSS服务;
处理模块,用于所述OSS服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
其中,所述授权模块具体用于:
对上传参数按照预设顺序进行排列得到第一数据,并使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第一数据进行加密,生成待校验参数;其中,所述上传参数包括所述客户端的唯一标识码、待上传文件的分类和请求时间戳;
将所述上传参数、所述待校验参数和所述上传请求发送至所述OSS服务;
所述OSS服务利用所述客户端的唯一标识码确定所述客户端的密钥,并将获取到的所述上传参数按照预设顺序进行排列得到第二数据,以及使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第二数据进行加密,生成校验参数;
所述OSS服务若确定所述校验参数与所述待校验参数一致,则确定校验通过,向客户端发送上传授权。
8.一种分布式多媒体文件管理系统,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用并执行所述计算机程序时,实现如权利要求1至6任意一项所述的基于OSS服务的多媒体文件上传方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410121495.7A CN117651043B (zh) | 2024-01-30 | 2024-01-30 | 基于oss服务的多媒体文件上传方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410121495.7A CN117651043B (zh) | 2024-01-30 | 2024-01-30 | 基于oss服务的多媒体文件上传方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117651043A true CN117651043A (zh) | 2024-03-05 |
CN117651043B CN117651043B (zh) | 2024-06-18 |
Family
ID=90049948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410121495.7A Active CN117651043B (zh) | 2024-01-30 | 2024-01-30 | 基于oss服务的多媒体文件上传方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117651043B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156281A1 (en) * | 2013-12-04 | 2015-06-04 | Facebook, Inc. | Uploading and Transcoding Media Files |
US9779108B1 (en) * | 2013-02-13 | 2017-10-03 | EMC IP Holding Company LLC | Lustre file system |
CN110602163A (zh) * | 2019-08-07 | 2019-12-20 | 阿里巴巴集团控股有限公司 | 文件上传方法及装置 |
CN112769932A (zh) * | 2021-01-04 | 2021-05-07 | 北京环境特性研究所 | 基于区块链与数据分离的分布式云存储系统 |
CN116074128A (zh) * | 2023-04-04 | 2023-05-05 | 北京久安世纪科技有限公司 | 一种基于便携式运维网关的sftp授权方法及系统 |
CN116980569A (zh) * | 2023-08-29 | 2023-10-31 | 高花妹 | 一种基于云计算的安全监控系统及方法 |
CN117544507A (zh) * | 2023-11-10 | 2024-02-09 | 北京云上曲率科技有限公司 | 基于云对象存储服务的多区域分布式配置方法及系统 |
-
2024
- 2024-01-30 CN CN202410121495.7A patent/CN117651043B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779108B1 (en) * | 2013-02-13 | 2017-10-03 | EMC IP Holding Company LLC | Lustre file system |
US20150156281A1 (en) * | 2013-12-04 | 2015-06-04 | Facebook, Inc. | Uploading and Transcoding Media Files |
CN110602163A (zh) * | 2019-08-07 | 2019-12-20 | 阿里巴巴集团控股有限公司 | 文件上传方法及装置 |
CN112769932A (zh) * | 2021-01-04 | 2021-05-07 | 北京环境特性研究所 | 基于区块链与数据分离的分布式云存储系统 |
CN116074128A (zh) * | 2023-04-04 | 2023-05-05 | 北京久安世纪科技有限公司 | 一种基于便携式运维网关的sftp授权方法及系统 |
CN116980569A (zh) * | 2023-08-29 | 2023-10-31 | 高花妹 | 一种基于云计算的安全监控系统及方法 |
CN117544507A (zh) * | 2023-11-10 | 2024-02-09 | 北京云上曲率科技有限公司 | 基于云对象存储服务的多区域分布式配置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117651043B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ionescu | The analysis of the performance of RabbitMQ and ActiveMQ | |
JP6621543B2 (ja) | ハイブリッドアプリケーションの自動更新 | |
US9992200B2 (en) | System and method for secure content sharing and synchronization | |
WO2021088278A1 (zh) | 一种文件存储方法、终端及存储介质 | |
JP6482602B2 (ja) | 予測ストレージサービス | |
US10331695B1 (en) | Replication coordination service for data transfers between distributed databases | |
JP2019012529A (ja) | ドキュメント管理及びコラボレーション・システム | |
JP2017504856A (ja) | データ転送最適化 | |
CN108694331B (zh) | 一种数据存储方法、装置、系统及计算机可读存储介质 | |
US10942818B1 (en) | Common backup and recovery solution for diverse cloud-based services in a productivity suite | |
US11422871B1 (en) | Event archiving and replay | |
US10078433B2 (en) | Sharing a template file | |
US11558459B2 (en) | User-defined custom storage classes for hybrid-cloud and multicloud data management | |
CN117651043B (zh) | 基于oss服务的多媒体文件上传方法、装置和系统 | |
US11966408B2 (en) | Active data executable | |
CN111818179A (zh) | 用户请求的处理方法、装置、计算设备和介质 | |
US10554770B2 (en) | Dynamic cognitive optimization of web applications | |
US20190109808A1 (en) | Electronic-messaging system interceptor forwarding client notifications | |
US20140068006A1 (en) | Method, apparatus and system for providing content | |
CN111949472A (zh) | 一种记录应用日志的方法及装置 | |
Chourasia et al. | SeedMe: A scientific data sharing and collaboration platform | |
US11948016B2 (en) | Application programming interface management | |
US12072782B2 (en) | Resource monitoring for web applications with video and animation content | |
Bhardwaj | Frame, rods and beads of the edge computing abacus | |
CN117435237A (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 |