本申请涉及一种基于oss服务的多媒体文件上传方法、装置和系统,属于计算机。
背景技术:
1、在传统的多媒体文件上传系统中,由于多媒体文件通常较大,上传需要经过多个环节,包括文件读取、网络传输、存储等,因此面临着一些问题。首先,由于每个环节都是单一的,当某个环节出现故障时,整个上传过程就会中断,导致可用性降低。其次,由于传统的多媒体文件上传系统通常采用集中式的存储方式,当面临大规模用户同时上传多媒体文件时,会产生并发访问冲突,导致性能下降。
技术实现思路
1、本申请提供一种基于oss服务的多媒体文件上传方法、装置和系统,以解决传统多媒体文件上传技术中,可用性受限以及会产生并发访问冲突的问题。
2、第一方面,本申请实施例提供一种基于oss服务的多媒体文件上传方法,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和oss服务,该方法包括:
3、获取用户通过所述客户端触发的上传请求;
4、基于所述上传请求,通过所述文件服务向所述oss服务获取上传授权;
5、所述客户端成功获取上传授权后,将多媒体文件上传到所述oss服务;
6、所述oss服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
7、其中,所述基于所述上传请求,通过所述文件服务向所述oss服务获取上传授权,包括:
8、对上传参数按照预设顺序进行排列得到第一数据,并使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第一数据进行加密,生成待校验参数;其中,所述上传参数包括所述客户端的唯一标识码、待上传文件的分类和请求时间戳;
9、将所述上传参数、所述待校验参数和所述上传请求发送至所述oss服务;
10、所述oss服务利用所述客户端的唯一标识码确定所述客户端的密钥,并将获取到的所述上传参数按照预设顺序进行排列得到第二数据,以及使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第二数据进行加密,生成校验参数;
11、所述oss服务若确定所述校验参数与所述待校验参数一致,则确定校验通过,向客户端发送上传授权。
12、基于以上的方法,可选地,所述oss服务通知所述文件服务对获取到的所述多媒体文件进行处理,包括:
13、所述oss服务获取到多媒体文件后向所述文件服务发送通知;
14、所述文件服务利用redis创建消息队列,并将获取到的每个所述多媒体文件作为一个消息发送到所述消息队列中;
15、创建异步任务处理器,利用所述异步任务处理器从所述消息队列中获取消息,并对消息包含的多媒体文件进行异步处理。
16、基于以上的方法,可选地,对所述多媒体文件进行的处理包括:校验、转码、压缩和截图中的至少一项。
17、基于以上的方法,可选地,还包括:
18、在将多媒体文件上传到所述oss服务过程中,通过所述客户端向用户展示上传进度和上传结果。
19、基于以上的方法,可选地,还包括:
20、记录每个多媒体文件的上传时间,并基于预设的存储时长,定期删除过期文件。
21、基于以上的方法,可选地,所述客户端运行有配置于pc端或移动端的网页或配置于移动端的app,所述网页或所述app用于提供交互界面。
22、第二方面,本申请实施例还提供一种基于oss服务的多媒体文件上传装置,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和oss服务,所述装置包括:
23、获取模块,用于获取用户通过所述客户端触发的上传请求;
24、授权模块,用于基于所述上传请求,通过所述文件服务向所述oss服务获取上传授权;
25、上传模块,用于所述客户端成功获取上传授权后,将多媒体文件上传到所述oss服务;
26、处理模块,用于所述oss服务通知所述文件服务对获取到的所述多媒体文件进行处理,并在处理完成后进行分布式存储;
27、其中,所述授权模块具体用于:
28、对上传参数按照预设顺序进行排列得到第一数据,并使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第一数据进行加密,生成待校验参数;其中,所述上传参数包括所述客户端的唯一标识码、待上传文件的分类和请求时间戳;
29、将所述上传参数、所述待校验参数和所述上传请求发送至所述oss服务;
30、所述oss服务利用所述客户端的唯一标识码确定所述客户端的密钥,并将获取到的所述上传参数按照预设顺序进行排列得到第二数据,以及使用所述客户端的密钥作为加密字符串,采用非对称加密算法对所述第二数据进行加密,生成校验参数;
31、所述oss服务若确定所述校验参数与所述待校验参数一致,则确定校验通过,向客户端发送上传授权。
32、第三方面,本申请实施例还提供一种分布式多媒体文件管理系统,其包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用并执行所述计算机程序时,实现如第一方面任意一项所述的基于oss服务的多媒体文件上传方法。
33、本申请提供的基于oss服务的多媒体文件上传方案中,预先构建分布式多媒体文件管理系统,然后获取用户通过客户端触发的上传请求,基于上传请求,通过文件服务向oss服务获取上传授权,客户端成功获取上传授权后,将多媒体文件上传到oss服务,进而oss服务通知文件服务对获取到的多媒体文件进行处理,并在处理完成后进行分布式存储。如此,由于oss服务可以采用多地域、多可用区域架构,因此单个文件上传异常也不会影响其他文件文件,因此可以确保文件数据在任何时候都能够保持高可用性。此外,还可以提高系统的并发上传数量,降低带宽占用和服务器负载,避免并发访问冲突的问题。
1.一种基于oss服务的多媒体文件上传方法,其特征在于,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和oss服务,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述oss服务通知所述文件服务对获取到的所述多媒体文件进行处理,包括:
3.根据权利要求1或2所述的方法,其特征在于,对所述多媒体文件进行的处理包括:校验、转码、压缩和截图中的至少一项。
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,所述客户端运行有配置于pc端或移动端的网页或配置于移动端的app,所述网页或所述app用于提供交互界面。
7.一种基于oss服务的多媒体文件上传装置,其特征在于,应用于分布式多媒体文件管理系统,所述分布式多媒体文件管理系统包括客户端和云服务器,且所述云服务器配置有文件服务和oss服务,所述装置包括:
8.一种分布式多媒体文件管理系统,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用并执行所述计算机程序时,实现如权利要求1至6任意一项所述的基于oss服务的多媒体文件上传方法。