掌桥专利:专业的专利平台
掌桥专利
首页

一种文件传输方法、装置、终端设备及存储介质

文献发布时间:2023-06-19 10:27:30


一种文件传输方法、装置、终端设备及存储介质

技术领域

本发明涉及数据传输技术领域,尤其涉及一种文件传输方法、装置、终端设备及存储介质。

背景技术

现代软件系统服务中,已不再只是简单通过文字进行信息的传递和表达,而是有着丰富的媒体文件类型,例如图片、音频、视频等等,因此,文件存储系统是软件系统服务中较为重要的一环。为了满足文件存储系统的高可用、高读写性能以及稳定性,现有技术方案中多以阿里云OSS存储引擎作为文件存储系统。

由于阿里云OSS存储引擎更多的服务于国内市场,因此,对海外覆盖范围不广。并且对于业务覆盖全球,具有多个数据中心的系统,海外节点的文件存储访问速度也会受到影响。另外,采用客户端-服务端-阿里云OSS的文件传输方式,同一文件要在网络中传输两次,上传时第一次从客户端发到服务端,第二次从服务端再发到阿里云OSS;下载时第一次从阿里云OSS到服务端,第二次再从服务端发到客户端,延长了传输路径,传输耗时更久,访问速度慢,且对于大量文件上传、下载的场景,服务端的网络带宽也会成为系统的瓶颈。

发明内容

本发明实施例所要解决的技术问题在于,提供一种文件传输方法、装置、终端设备及存储介质,能够兼容多个对象存储引擎,覆盖范围广,访问速度快,且支持更高的并发访问量。

为了实现上述目的,本发明实施例提供了一种文件传输方法,所述方法应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述方法包括:

所述文件存储服务接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;

所述文件存储服务根据所述文件上传请求生成唯一标识符;

所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。

进一步的,所述待上传文件的请求参数包括文件名、文件路径、文件大小和内容MD5值。

进一步的,所述对象存储引擎包括国内对象存储引擎和国外存储引擎中的一个或多个。

进一步的,所述包含签名信息的统一资源定位符定位了所述对外存储引擎中的一个唯一的文件位置。

本发明实施例提供了一种文件传输方法,所述方法应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述方法包括:

所述文件存储服务接收所述客户端发送的文件下载请求,其中,所述文件下载请求包括待下载文件的请求参数;

所述文件存储服务根据所述待下载文件的请求参数查找所述待下载文件是否存在,若存在,则根据所述文件下载请求生成唯一标识符;

所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符从所述对象存储引擎下载所述待下载文件。

进一步的,所述文件存储服务根据所述待下载文件的请求参数查找所述待下载文件是否存在,若不存在,则返回错误信息给所述客户端。

进一步的,所述待下载文件的请求参数包括文件名、文件路径、文件大小和内容MD5值。

本发明实施例还提供了一种文件传输装置,所述装置应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述装置包括:

接收模块,用于接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;

生成模块,用于根据所述文件上传请求生成唯一标识符;

上传模块,用于根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。

本发明实施例还提供了一种文件传输装置,所述装置应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述装置包括:

接收模块,用于接收所述客户端发送的文件下载请求,其中,所述文件下载请求包括待下载文件的请求参数;

生成模块,用于根据所述待下载文件的请求参数查找所述待下载文件是否存在,若存在,则根据所述文件下载请求生成唯一标识符;

下载模块,用于根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符从所述对象存储引擎下载所述待下载文件。

进一步的,所述生成模块还用于:

根据所述待下载文件的请求参数查找所述待下载文件是否存在,若不存在,则返回错误信息给所述客户端。

本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的文件传输方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任一项所述的文件传输方法。

相对于现有技术,本发明实施例提供的一种文件传输方法、装置、终端设备及存储介质的有益效果在于:通过文件存储服务接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;所述文件存储服务根据所述文件上传请求生成唯一标识符;所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。本发明实施例将多个对象存储引擎通过适配器连接到统一接口,能够兼容多个对象存储引擎,覆盖范围广,访问速度快,且流量不再经过自己的服务器,能够支持更高的并发访问量,可靠性更好。

附图说明

图1是本发明提供的一个优选实施例中的文件传输系统的结构示意图;

图2是本发明提供的一种文件传输方法的一个优选实施例的流程示意图;

图3是本发明提供的一种文件传输方法的另一个优选实施例的流程示意图;

图4本发明提供的一种文件传输装置的一个优选实施例的结构示意图;

图5本发明提供的一种文件传输装置的另一个优选实施例的结构示意图;

图6是本发明提供的一种终端设备的一个优选实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1和图2,图1是本发明提供的一个优选实施例中的文件传输系统的结构示意图,图2是本发明提供的一种文件传输方法的一个优选实施例的流程示意图。所述方法应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述方法包括:

S201,所述文件存储服务接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;

S202,所述文件存储服务根据所述文件上传请求生成唯一标识符;

S203,所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。

具体的,所述文件存储服务接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;所述文件存储服务根据所述文件上传请求生成唯一标识符;所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。

需要说明的是,本发明实施例通过统一接口对所述客户端提供统一的接口服务,对外屏蔽底层使用的对外存储引擎,在文件存储服务内为不同的对象存储引擎提供不同的适配器,达到将多个对象存储引擎不同的接口统一的目的。

本实施例将多个对象存储引擎通过适配器连接到统一接口,能够兼容多个对象存储引擎,覆盖范围广,访问速度快,且流量不再经过自己的服务器,能够支持更高的并发访问量,可靠性更好。

在另一个优选实施例中,所述待上传文件的请求参数包括文件名、文件路径、文件大小和内容MD5值。

在又一个优选实施例中,所述对象存储引擎包括国内对象存储引擎和国外存储引擎中的一个或多个。

作为优选方案,所述包含签名信息的统一资源定位符定位了所述对外存储引擎中的一个唯一的文件位置。

请参阅图3,是本发明提供的一种文件传输方法的另一个优选实施例的流程示意图。所述方法应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述方法包括:

S301,所述文件存储服务接收所述客户端发送的文件下载请求,其中,所述文件下载请求包括待下载文件的请求参数;

S302,所述文件存储服务根据所述待下载文件的请求参数查找所述待下载文件是否存在,若存在,则根据所述文件下载请求生成唯一标识符;

S303,所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符从所述对象存储引擎下载所述待下载文件。

具体的,所述文件存储服务接收所述客户端发送的文件下载请求,其中,所述文件下载请求包括待下载文件的请求参数;所述文件存储服务根据所述待下载文件的请求参数查找所述待下载文件是否存在,若存在,则根据所述文件下载请求生成唯一标识符;所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符从所述对象存储引擎下载所述待下载文件。

需要说明的是,本发明实施例通过统一接口对所述客户端提供统一的接口服务,对外屏蔽底层使用的对外存储引擎,在文件存储服务内为不同的对象存储引擎提供不同的适配器,达到将多个对象存储引擎不同的接口统一的目的。

本实施例将多个对象存储引擎通过适配器连接到统一接口,能够兼容多个对象存储引擎,覆盖范围广,访问速度快,且流量不再经过自己的服务器,能够支持更高的并发访问量,可靠性更好。

在又一个优选实施例中,所述文件存储服务根据所述待下载文件的请求参数查找所述待下载文件是否存在,若不存在,则返回错误信息给所述客户端。

作为优选方案,所述待下载文件的请求参数包括文件名、文件路径、文件大小和内容MD5值。

相应地,本发明还提供一种文件传输装置,能够实现上述实施例中的文件传输方法的所有流程。

请参阅图4,图4是本发明提供的一种文件传输装置的一个优选实施例的结构示意图。所述装置应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述装置包括:

接收模块401,用于接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;

生成模块402,用于根据所述文件上传请求生成唯一标识符;

上传模块403,用于根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。

优选地,所述待上传文件的请求参数包括文件名、文件路径、文件大小和内容MD5值。

优选地,所述对象存储引擎包括国内对象存储引擎和国外存储引擎中的一个或多个。

优选地,所述包含签名信息的统一资源定位符定位了所述对外存储引擎中的一个唯一的文件位置。

请参阅图5,图5是本发明提供的一种文件传输装置的另一个优选实施例的结构示意图。所述装置应用于文件传输系统,所述文件传输系统包括客户端、文件存储服务和对象存储引擎,所述文件存储服务包括统一接口和多个适配器,所述对象存储引擎包括多个对象存储引擎,且每一所述对象存储引擎与每一所述适配器对应连接,所述装置包括:

接收模块501,用于接收所述客户端发送的文件下载请求,其中,所述文件下载请求包括待下载文件的请求参数;

生成模块502,用于根据所述待下载文件的请求参数查找所述待下载文件是否存在,若存在,则根据所述文件下载请求生成唯一标识符;

下载模块503,用于根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符从所述对象存储引擎下载所述待下载文件。

优选地,所述生成模块502还用于:

根据所述待下载文件的请求参数查找所述待下载文件是否存在,若不存在,则返回错误信息给所述客户端。

在具体实施当中,本发明实施例提供的文件传输装置的工作原理、控制流程及实现的技术效果,与上述实施例中的文件传输方法对应相同,在此不再赘述。

请参阅图6,图6是本发明提供的一种终端设备的一个优选实施例的结构示意图。所述终端设备包括处理器601、存储器602以及存储在所述存储器602中且被配置为由所述处理器601执行的计算机程序,所述处理器601执行所述计算机程序时实现上述任一实施例所述的文件传输方法。

优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序1、计算机程序2、……),所述一个或者多个模块/单元被存储在所述存储器602中,并由所述处理器601执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。

所述处理器601可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器601也可以是任何常规的处理器,所述处理器601是所述终端设备的控制中心,利用各种接口和线路连接所述终端设备的各个部分。

所述存储器602主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器602可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡和闪存卡(Flash Card)等,或所述存储器602也可以是其他易失性固态存储器件。

需要说明的是,上述终端设备可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,图6的结构示意图仅仅是上述终端设备的示例,并不构成对上述终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任一实施例所述的文件传输方法。

本发明实施例提供了一种文件传输方法、装置、终端设备及存储介质,通过文件存储服务接收所述客户端发送的文件上传请求,其中,所述文件上传请求包括待上传文件和所述待上传文件的请求参数;所述文件存储服务根据所述文件上传请求生成唯一标识符;所述文件存储服务根据所述唯一标识符计算得到包含签名信息的统一资源定位符,并通过统一接口将所述统一资源定位符返回给客户端,使得所述客户端根据所述统一资源定位符向所述对象存储引擎上传所述待上传文件。本发明实施例将多个对象存储引擎通过适配器连接到统一接口,能够兼容多个对象存储引擎,覆盖范围广,访问速度快,且流量不再经过自己的服务器,能够支持更高的并发访问量,可靠性更好。

需说明的是,以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的系统实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

相关技术
  • 一种文件传输方法、装置、终端设备及存储介质
  • 应用程序的文件传输方法、装置和终端设备及存储介质
技术分类

06120112553677