CN110198349A - 文件传输方法和装置、存储介质及电子装置 - Google Patents

文件传输方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN110198349A
CN110198349A CN201910447724.3A CN201910447724A CN110198349A CN 110198349 A CN110198349 A CN 110198349A CN 201910447724 A CN201910447724 A CN 201910447724A CN 110198349 A CN110198349 A CN 110198349A
Authority
CN
China
Prior art keywords
data
file
file destination
target data
intended gateway
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
Application number
CN201910447724.3A
Other languages
English (en)
Other versions
CN110198349B (zh
Inventor
梁光磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910447724.3A priority Critical patent/CN110198349B/zh
Publication of CN110198349A publication Critical patent/CN110198349A/zh
Application granted granted Critical
Publication of CN110198349B publication Critical patent/CN110198349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件传输方法和装置、存储介质及电子装置。其中,该方法包括:获取待上传的目标文件;将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。本发明解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。

Description

文件传输方法和装置、存储介质及电子装置
技术领域
本发明涉及通信技术领域,具体而言,涉及一种文件传输方法和装置、存储介质及电子装置。
背景技术
在现有的网关机制下,终端与后端服务器进行文件上传或下载的传输方式主要有两种方案。
第一种是:通过反向代理服务器Nginx进行文件的传输。在文件上传时,终端通过反向代理服务器Nginx将文件上传至后端服务器;在文件下载时,后端服务器通过反向代理服务器Nginx将文件发送至终端,从而绕过网关。
第二种是:搭建文件服务,通过网关传递文件在文件服务器中的地址进行文件传输。在文件上传时,终端将文件存储至另外搭建的文件服务中,通过网关向后端服务器发送文件在文件服务器中地址,由后端服务器根据地址从文件服务中获取文件;类似的,在文件下载时,后端服务器将文件存储至文件服务中,并通过网关告知终端地址,使终端由文件服务中下载文件。
通过上述方式均需要额外使用其他服务,尤其是第二种传输方案需要额外搭建一套文件服务,这增加了文件传输的成本。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种文件传输方法和装置、存储介质及电子装置,以至少解决由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
根据本发明实施例的一个方面,提供了一种文件传输方法,应用于终端,包括:获取待上传的目标文件;将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。
根据本发明实施例的另一方面,还提供了一种文件传输方法,应用于后端服务器,包括:接收目标网关转发终端发送的数据上传请求,其中,数据上传请求中携带有待处理的目标数据以及将目标数据转换为目标文件的转换方式的第一指示信息,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;响应数据上传请求,根据第一指示信息所指示的转换方式,将目标数据转换为目标文件;将目标文件存储至目标数据库中。
可选的,接收目标网关转发终端发送的数据上传请求包括:在数据上传请求中携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,将目标数量的第一子目标数据合并后获得的数据作为目标数据。
可选的,接收目标网关转发终端发送的数据上传请求包括:在数据上传请求中未携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的一个第二数据上传请求,其中,第二数据上传请求中携带有第二子目标数据,将第二子目标数据作为目标数据。
根据本发明实施例的另一方面,还提供了一种文件传输方法,应用于后端服务器,包括:接收目标网关转发终端发送的文件下载请求,文件下载请求用于向后端服务器请求下载目标文件;响应文件下载请求,将目标文件转换为目标数据,其中,目标数据的数据量小于与目标网关相关联的第三阈值;将携带有目标数据的响应数据发送至目标网关,使目标网关将响应数据转发至终端,其中,响应数据中还携带有用于指示将目标数据转换为目标文件的转换方式的指示信息。
可选的,上述方法还包括:确定文件下载请求所指示的目标文件的下载方式;在文件下载请求指示通过目标网关将目标文件发送至终端的情况下,执行响应文件下载请求,将目标文件转换为目标数据的步骤。
根据本发明实施例的另一方面,还提供了一种文件传输方法,应用于终端,包括:向目标网关发送文件下载请求,使目标网关将文件下载请求转发至后端服务器,其中,文件下载请求用于向后端服务器请求下载目标文件;接收目标网关转发后端服务器发送的携带有目标数据的响应数据,其中,响应数据中还携带有指示将目标数据转换为目标文件的转换方式的指示信息,目标数据的数据量小于与目标网关相关联的第三阈值;根据指示信息所指示的转换方式,将目标数据转换为目标文件。
可选的,根据指示信息所指示的转换方式,将目标数据转换为目标文件包括:在目标数据的数据量大于第四阈值的情况下,循环读取目标数据,获取多个第三子目标数据,其中,每一个第三子目标数据的数据量小于第四阈值,第四阈值与终端将目标数据转换为目标文件所需的文件生成接口相关联;根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件。
可选的,根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件包括:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为文本类型的情况下,根据指示信息所指示的转换方式,将每一个第三子目标数据转换为子目标文件;按照循环读取的第三子目标数据的顺序,将多个子目标文件组合,获得目标文件。
可选的,根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件包括:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为非文本类型的情况下,将目标数据存储为多个数据块;将存储的多个数据块合并,并根据指示信息所指示的转换方式,将多个数据块合并后的数据转换为目标文件。
根据本发明实施例的另一方面,还提供了一种文件传输装置,应用于终端,包括:第一获取模块,用于获取待上传的目标文件;第一转换模块,用于将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;发送模块,用于将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。
可选的,第一转换模块包括:第一转换单元,用于在目标文件的文件大小大于第一阈值的情况下,将目标文件拆分为多个第一子目标数据,其中,每一个第一子目标数据的数据量小于第一阈值;第一处理单元,用于将多个第一子目标数据作为目标数据,其中,第一子目标数据作为请求参数携带在向目标网关发送的第一数据上传请求中,且每一个第一数据上传请求所携带的第一子目标数据互不相同。
可选的,拆分单元具体用于:在目标文件为文本类型的情况下,将目标文件拆分为多个子文件段,并将每一个子文件段转换为一个子数据段,将子数据段确定为第一子目标数据,其中,每一个第一子目标数据中包括一个子数据段和子数据段在目标数据中的段号;在目标文件为非文本类型的情况下,将目标文件转换为数据文件,并将数据文件拆分为多个数据块,将数据块确定为第一子目标数据,其中,每一个第一子目标数据中包括一个数据块和数据块的编号。
可选的,发送模块包括:第一发送单元,用于向目标网关发送多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,每一个第一数据上传请求中还携带有指示第一数据上传请求的数量的第二指示信息。
可选的,上述装置还包括:第一获取模块,用于获取上传指示信息,上传指示信息用于指示为目标文件配置的上传方式,上传指示信息指示通过目标网关将目标文件发送至后端服务器。
可选的,上述装置还包括:确定模块,用于确定目标文件的文件大小;其中,第一转换模块在目标文件的文件大小小于第二阈值的情况下,执行将目标文件转换为目标数据的步骤,其中,第二阈值大于或等于目标网关在单个请求中所允许接收的数据量上限。
根据本发明实施例的另一方面,还提供了一种文件传输装置,应用于后端服务器,包括:接收模块,用于接收目标网关转发终端发送的数据上传请求,其中,数据上传请求中携带有待处理的目标数据以及将目标数据转换为目标文件的转换方式的第一指示信息,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;转换模块,用于响应数据上传请求,根据第一指示信息所指示的转换方式,将目标数据转换为目标文件;存储模块,用于将目标文件存储至目标数据库中。
可选的,接收模块包括:第一接收单元,用于在数据上传请求中携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,将目标数量的第一子目标数据合并后获得的数据作为目标数据。
可选的,接收模块包括:第二接收单元,用于在数据上传请求中未携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的一个第二数据上传请求,其中,第二数据上传请求中携带有第二子目标数据,将第二子目标数据作为目标数据。
根据本发明实施例的另一方面,还提供了一种文件传输装置,应用于后端服务器,包括:接收模块,用于接收目标网关转发终端发送的文件下载请求,文件下载请求用于向后端服务器请求下载目标文件;转换模块,用于响应文件下载请求,将目标文件转换为目标数据,其中,目标数据的数据量小于与目标网关相关联的第三阈值;发送模块,用于将携带有目标数据的响应数据发送至目标网关,使目标网关将响应数据转发至终端,其中,响应数据中还携带有用于指示将目标数据转换为目标文件的转换方式的指示信息。
可选的,上述装置还包括:确定模块,用于确定文件下载请求所指示的目标文件的下载方式;其中,转换模块在文件下载请求指示通过目标网关将目标文件发送至终端的情况下,执行响应文件下载请求,将目标文件转换为目标数据的步骤。
根据本发明实施例的另一方面,还提供了一种文件传输装置,应用于终端,包括:发送模块,用于向目标网关发送文件下载请求,使目标网关将文件下载请求转发至后端服务器,其中,文件下载请求用于向后端服务器请求下载目标文件;接收模块,用于接收目标网关转发后端服务器发送的携带有目标数据的响应数据,其中,响应数据中还携带有指示将目标数据转换为目标文件的转换方式的指示信息,目标数据的数据量小于与目标网关相关联的第三阈值;转换模块,用于根据指示信息所指示的转换方式,将目标数据转换为目标文件。
可选的,转换模块包括:读取单元,用于在目标数据的数据量大于第四阈值的情况下,循环读取目标数据,获取多个第三子目标数据,其中,每一个第三子目标数据的数据量小于第四阈值,第四阈值与终端将目标数据转换为目标文件所需的文件生成接口相关联;转换单元,用于根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件。
可选的,转换单元具体用于:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为文本类型的情况下,根据指示信息所指示的转换方式,将每一个第三子目标数据转换为子目标文件;按照循环读取的第三子目标数据的顺序,将多个子目标文件组合,获得目标文件。
可选的,转换单元具体用于:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为非文本类型的情况下,将目标数据存储为多个数据块;将存储的多个数据块合并,并根据指示信息所指示的转换方式,将多个数据块合并后的数据转换为目标文件。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述文件传输方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的文件传输方法。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的请求中的目标数据,从而通过将携带有目标数据的请求发送至目标网关,从而使得目标网关对携带有目标数据的请求进行转发,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的文件传输方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的文件传输方法的流程示意图;
图3是根据本发明实施例的一种终端的浏览页面示意图;
图4是根据本发明实施例的另一种可选的文件传输方法的流程示意图;
图5是根据本发明实施例的又一种可选的文件传输方法的流程示意图;
图6是根据本发明实施例的又一种可选的文件传输方法的流程示意图;
图7是根据本发明实施例的又一种可选的文件传输方法的流程示意图;
图8是根据本发明实施例的又一种可选的文件传输方法的流程示意图;
图9是根据本发明实施例的一种可选的文件传输装置的结构示意图;
图10是根据本发明实施例的另一种可选的文件传输装置的结构示意图;
图11是根据本发明实施例的又一种可选的文件传输装置的结构示意图;
图12是根据本发明实施例的又一种可选的文件传输装置的结构示意图;
图13是根据本发明实施例的又一种可选的文件传输装置的结构示意图;
图14是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种文件传输方法,可选地,作为一种可选的实施方式,上述文件传输方法可以但不限于应用于如图1所示的环境中。
在用户设备102可以通过显示器108显示浏览界面,用户可以通过用户设备102访问浏览页面,并在浏览页面上对照片、文档、视频等目标文件进行上传或下载的传输操作。下面以文件的上传为例进行说明。用户设备102在接收到目标文件的上传请求的情况下,通过处理器106执行步骤S118,获取待上传的目标文件;S120,将目标文件转换为目标数据,其中,目标数据允许被写入终端通过目标网关向后端服务器发送的请求中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;用户设备102执行步骤S122,将携带有目标数据的数据上传请求发送至目标网关110。目标网关110在接收到用户设备102发送的数据上传请求的情况下,执行步骤S124,将携带有目标数据的数据上传请求转发至后端服务器112。后端服务器112可以通过处理引擎116根据数据上传请求中用于指示将目标数据转换为目标文件的转换方式的第一指示信息,按第一指示信息所指示的转换方式将数据上传请求中携带的目标数据转换为目标文件,并存储至数据库114中。可以理解的是,后端服务器112还可以向目标网关110发送数据上传完成的响应信息,使目标网关110将用于指示数据上传完成的响应信息转发至用户设备102。可以理解的是,图1所示的环境还可以应用于文件的下载流程,也就是后端服务器112将目标文件转换为目标数据,并将目标数据携带在响应数据中发送给目标网关110,使目标网关110将响应数据转发给用户设备102。用户设备102可以将响应数据中的目标数据转换为目标文件,从而实现目标文件的下载。这里,用户设备102可以通过存储器104存储目标文件、目标数据等。
可选地,在本实施例中,上述文件传输方法可以但不限于应用于用户设备102中,用于通过目标网关110将目标文件上传至后端服务器112。其中,上述浏览页面可以是安装在用户设备102中用于进行网页浏览的客户端。该用户设备102可以但不限于为手机、平板电脑、笔记本电脑、PC机等支持运行应用客户端的终端设备。上述用户设备102和目标网关110、目标网关110和后端服务器112之间可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
下面对终端、后端服务器和目标网关进行说明。在浏览器等客户端的前后端分离部署时,用于部署前端项目的称为前端,前端可以是安装在终端上的客户端,例如浏览器客户端。用于部署后端项目的称为后端服务器。后端服务器通过目标网关向终端上的客户端提供数据或数据操作接口,以此实现终与后端的衔接,为终端上的客户端的运行提供支持。例如,用户在终端上的客户端访问页面显示的网站时,由终端上的客户端展示供用户浏览的网页,由后端服务器通过与数据库的交互以处理相应的业务逻辑,这里客户端通过终端与后端服务器进行交互。目标网关提供终端与后端服务器交互的接口服务,并可以进行身份验证、监控、请求分片与管理等。在本发明实施例中,目标网关可以是API(ApplicationProgrammingInterface,简称:应用程序编程接口)网关,API网关是一种基于前后端分离和微服务思想设计的API转发层,是一种前后端的透明屏障,可实现参数透传,接口鉴权,协议转换,流量控制等功能。
可选地,作为一种可选的实施方式,如图2所示,上述文件传输方法,应用于终端,可以理解的是,本发明实施例的文件传输方法也可以是应用于终端上的客户端。该方法可以包括:
步骤S202,获取待上传的目标文件;
这里的目标文件可以但不限于是文档、图片文件、视频文件。对于目标文件可以是存储在终端内的,用户在终端的客户端或浏览页面上通过触控操作等方式发出对目标文件进行上传的命令。如图3所示的,用户在终端的浏览页面上,通过对多张图片中的一张或多张进行选取,确定出待上传的目标文件302,并通过点击上传按钮发出将目标文件进行上传的上传命令。此时,终端在接收到指示上传目标文件的命令的情况下,获取待上传的目标文件,这里的获取的方式可以是对存储在终端内的目标文件进行读取。
步骤S204,将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;可以理解的是,目标数据允许被写入终端通过目标网关向后端服务器发送的请求中。
可以理解的是,终端向目标网关发送的请求中可以携带部分数据。例如,可以通过POST请求的形式发送给目标网关。这里,目标文件转换后的目标数据可以作为请求参数携带在前端发送至目标网关的请求中。但是目标网关为了避免单个请求的数据量过大,占用过多的资源,往往会对单个请求所允许的最大数据量进行限制。例如,一些目标网关将单个请求的数据量限制在几兆或几十兆内,比如2M或20M等。这里可以理解的是,单个请求所允许的最大数据量是目标网关设定的,该所允许的最大数据量是可以修改的。例如为单个请求配置更大的数据量上限值,或者随着技术的发展,目标网关将具备更为强大的处理能力,此时单个请求的数据量则可以修改为一个较大的值。
在本发明实施例中,通过将目标数据携带在发送给目标网关的请求中。可以理解的是,由于目标网关限制了单个请求所允许的最大数据量。故而在目标数据的数据量小于或等于目标网关在单个请求中所允许接收的数据量上限的情况下,通过发送一个请求,并将目标数据携带在该请求中便可实现将目标数据发送至目标网关。在目标数据的数据量大于目标网关在单个请求中所允许接收的数据量上限的情况下,可以通过发送多个请求,在每一个请求中携带一个子目标数据的方式将目标数据发送至目标网关。这里,子目标数据的数据量小于第一阈值,该第一阈值与目标网关相关联。可以理解的是第一阈值可以是单个请求中目标网关所允许接收的数据量上限值,当然也可以小于该上限值,对此本发明并不作出具体的限定。
步骤S206,将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。
这里,终端将携带有目标数据的数据上传请求发送至目标网关的情况下,目标网关会将该数据上传请求转发至后端服务器,后端服务器在接收到目标网关转发的数据上传请求的情况下,可以根据数据上传请求中携带的第一指示信息,获得将目标数据转换为目标文件的转换方式,从而通过该方式将数据上传请求中携带的目标数据转换为目标文件,并将目标文件存储至数据库中,从而完成了目标文件的上传。这里,对于不同格式的文件,终端往往需要根据不同的转换方式将其转换为允许被写入请求中的数据,故而需要在请求中携带将数据转换为文件的转换方式的指示信息。可以理解的是,在终端与后端服务器根据约定的方式将目标文件转换为目标数据的情况下,可以不在数据上传请求中携带指示转换方式的指示信息,后端服务器可以根据约定的转换方式进行转换。当然可以理解的是,在数据上传请求中未携带有第一指示信息的情况下,可以根据约定的转换方式对目标数据进行转换,该未携带第一指示信息的方式也可以认为是一种指示通过约定的转换方式进行转换的指示。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的请求中的目标数据,从而通过将携带有目标数据的请求发送至目标网关,从而使得目标网关对携带有目标数据的请求进行转发,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
可以理解的是,通过本发明实施例的文件传输方法传输目标文件时,由于目标文件转换后的目标数据需要发送至目标网关,从而使得目标网关可以实现鉴权、限流等功能。
可选的,将目标文件转换为目标数据包括:在目标文件的文件大小大于第一阈值的情况下,将目标文件拆分为多个第一子目标数据,其中,每一个第一子目标数据的数据量小于第一阈值;将多个第一子目标数据作为目标数据,其中,第一子目标数据作为请求参数携带在向目标网关发送的第一数据上传请求中,且每一个第一数据上传请求所携带的第一子目标数据互不相同。
如图4所示的,在目标文件的文件大小大于第一阈值的情况下,可以对目标文件进行拆分,从而得到多个第一子目标数据。可以理解的是,拆分得到的第一子目标数据的数据量小于第一阈值,可以携带在发送给目标网关的请求中。此时,可以向目标网关发送多个第一数据上传请求,每一个第一数据上传请求中携带有一个第一子目标数据,从而可以通过发送多个第一数据上传请求,将较大的文件上传至后端服务器。
可以理解的是,对于不同类型的文件,例如文本文件不但需要将文件发送至后端服务器,还需要保证后端服务器转换后的文件的文字顺序与发送的文件一致。故而在本发明可选实施例中,将目标文件拆分为多个第一子目标数据包括:在目标文件为文本类型的情况下,将目标文件拆分为多个子文件段,并将每一个子文件段转换为一个子数据段,将子数据段确定为第一子目标数据,其中,每一个第一子目标数据中包括一个子数据段和子数据段在目标数据中的段号;在目标文件为非文本类型的情况下,将目标文件转换为数据文件,并将数据文件拆分为多个数据块,将数据块确定为第一子目标数据,其中,每一个第一子目标数据中包括一个数据块和数据块的编号。
在本发明实施例中,对于文本类型的目标文件,将其拆分为多个子文件段,并将每一个子文件段转换为一个子数据段。在发送的第一子目标数据中包括子数据段,还包括该子数据段在目标数据中的段号,从而使得后端服务器在接收到多个第一子目标数据时,可以根据段号对多个第一子目标数据进行组成,保证了转换后的目标文件与发送的目标文件是一致的。可以理解的是,携带在第一子目标数据中的段号为子文件段在整个文本类型的目标文件中的段号。对于非文本类型的文件,可以将其拆分为多个数据块,在发送的第一子目标数据中包括一个数据块和该数据块的编号,从而便于后端服务器接收到多个第一子目标数据时可以根据数据块的编号组合获得目标数据,从而转换获得目标文件。
可选的,将携带有目标数据的数据上传请求发送至目标网关包括:向目标网关发送多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,每一个第一数据上传请求中还携带有指示第一数据上传请求的数量的第二指示信息。这里,在目标文件的文件大小大于第一阈值的情况下,需要对目标文件进行拆分,获得多个第一子目标数据。相应的,在向目标网关发送请求时,需要向目标网关发送多个第一数据上传请求,将每一个第一子目标数据携带在一个第一数据上传请求中。从而通过发送多个第一数据上传请求将文件较大的第一目标文件发送给后端服务器。可以理解的是,第一数据上传请求的数量与第一子目标数据的数量可以是一致的。这里,由于传输目标文件发送了多个第一数据上传请求,故而可以在第一数据上传请求中携带指示第一数据上传请求的数据的第二指示信息,从而通过第二指示信息告知后端服务器所需要接收的第一数据上传请求的数量,从而保证了后端服务器能够接收到全部的第一子目标数据。可以理解的是,每一个第一数据上传请求中还可以携带有标识信息,从而通过同样的标识信息便于后端服务器确认同样的标识信息的第一数据上传请求中携带的第一子目标数据需要进行组合,从而获得目标文件。可以理解的是,在后端服务器在接收到的第一数据上传请求的数量小于第二指示信息所指示的数量的情况下,可以通过目标网关向终端发出提示信息,从而使得终端可以对数据进行再次发送。当然可以理解的是,后端服务器在接收到多个第一数据上传请求后,可以在根据多个第一数据上传请求中的第一子目标数据获得目标文件后,仅响应一个第一数据上传请求,告知终端目标文件上传完成,而忽略其他第一数据上传请求,从而节约通信资源。当然,对此本发明并不作出限定。
可选的,将目标文件转换为目标数据包括:在目标文件的文件大小小于或等于第一阈值的情况下,将目标文件转换为一个第二子目标数据,第二子目标数据的数据量小于第一阈值;将第二子目标数据作为目标数据,其中,第二子目标数据作为请求参数携带在向目标网关发送的第二数据上传请求中。
在本发明实施例中,在目标文件的文件大小小于或等于第一阈值的情况下,可以通过一个请求将目标数据发送至后端服务器。故而在本发明实施例中,可以将目标文件转换为一个第二子目标数据,并通过一个第二数据上传请求中携带该第二子目标数据,将第二子目标数据发送至后端服务器。
可以理解的是,有些文件的上传和下载过程中用户并不希望在反向代理服务器或另外搭建的文件服务留下存储记录,比如密钥文件。此时通过本发明实施例的文件传输方法可以避免在反向代理服务器或另外搭建的文件服务留下存储记录。故而可以在用户进行上传和下载过程中给出提示信息,从而提示用户选择所需要的上传下载方式。
在本发明可选实施例中,在将目标文件转换为目标数据之前,方法还包括:获取上传指示信息,上传指示信息用于指示为目标文件配置的上传方式,上传指示信息指示通过目标网关将目标文件发送至后端服。在本发明实施例中,在上传指示信息指示通过目标网关将目标文件发送至后端服务器的情况下,执行将目标文件转换为目标数据的步骤。这里,在文件上传时,可以选择不同的上传方式。终端在获取到上传指示信息的情况下,可以根据上传指示信息指示的上传方式进行文件的上传。在上传指示信息指示通过目标网关将目标文件发送至后端服务器的情况下,可以通过本发明实施例的文件传输方法对目标文件进行传输。从而避免在反向代理服务器或另外搭建的文件服务留下存储记录。
在本发明另一可选实施例中,在将目标文件转换为目标数据之前,方法还包括:确定目标文件的文件大小;在目标文件的文件大小小于第二阈值的情况下,执行将目标文件转换为目标数据的步骤,其中,第二阈值大于或等于目标网关在单个请求中所允许接收的数据量上限。
这里,也可以由终端对待上传文件的文件大小进行判断,在目标文件的文件大小小于第二阈值的情况下,可以执行将目标文件转换为目标数据的步骤,从而通过本发明实施例的文件传输方法将目标文件传输至后端服务器,无需使用目标网关以外的额外服务。可以理解的是,这里的第二阈值可以是大于或等于目标网关在单个请求中所允许接收的数据量上限。对于第二阈值的上限值可以根据实际情况进行设定,对此本发明并不作出具体限定。
在本发明可选实施例中,在将携带有目标数据的数据上传请求发送至目标网关之后,方法还包括:后端服务器接收目标网关转发终端发送的数据上传请求;后端服务器根据数据上传请求中的第一指示信息所指示的转换方式,将数据上传请求中携带的目标数据转换为目标文件,并存储目标文件。
这里,在后端服务器接收到目标数据时,可以根据数据上传请求中的第一指示信息所指示的转换方式,将目标数据转换为目标文件,并将目标文件存储至数据库中,从而实现目标文件的上传。可以理解的是,在本发明实施例中,目标文件可以是多个数据上传请求中携带的多个第一子目标数据组合后获得的。
可选的,将所述目标文件转换为目标数据可以包括:在目标文件为文本类型的情况下,通过第一编码方式将目标文件转换为目标数据;在目标文件为非文本类型的情况下,通过第二编码方式将目标文件转换为目标数据。这里的第一编码方式可以是用于将目标文件转换为json(JavaScript Object Notation,简称:对象简谱)格式的目标数据;这里的第二编码方式可以包括Base64编码方式。
下面结合图4,对本发明实施例的文件的传输方法进行举例说明。
步骤S401,终端通过读取目标文件的方式,获取到待上传的目标文件。
步骤S402,终端判断文件类型。由于文本类型的文件具有一定的文字顺序,在本发明实施例中可以将文件分为文本类型和非文本类型。
步骤S403,终端判断文件的大小。这里终端需要对文件的大小进行判断,从而根据判断目标文件的大小是否大于第一阈值,从而确定是否需要对目标文件进行拆分。
在目标文件的文件大小大于第一阈值的情况下,执行步骤S404,对目标文件进行拆分,获得多个子文件。
步骤S405,终端将子文件进行转换获得子目标数据。在本发明实施例中,如果是非文类型的目标文件,则将多个子文件编码成base64字符串;如果目标文件是文本类型的文件,则直接读取成json字符串。可以理解的是,这两种编码方式只是本发明提供的可选实施例,对于具备的编码方式本发明并不作出限定。这里,可以根据子目标数据的数量,创建对应的webwork,每个webwork将第一数据上传请求以POST请求数据参数的形式,向API网关接口发起POST请求。
步骤S406,终端将多个子目标数据作为请求参数写入第一数据上传请求中,并发送给目标网关。这里的目标网关可以是API网关。
在目标文件的文件大小大于第一阈值的情况下,执行步骤S407,终端将目标文件通过编码处理转换为目标数据,并将编码处理后的目标数据作为请求参数携带在第二数据上传请求中发送至目标网关。可以理解的是,这里如果是非文类型的目标文件,则将多个子文件编码成base64字符串;如果目标文件是文本类型的文件,则直接读取成json字符串。
可以理解的是,这里的步骤编号并不作为步骤前后顺序的限制,步骤的先后顺序是根据步骤之间的逻辑关系确定的。
后续的,API网关将第一数据上传请求或第二数据上传请求转发给后端服务器处理,后端服务器对接收到的数据进行暂存,待所有的数据都发送过来时,对数据进行按编号组合,然后根据业务具体需求进行处理。需要存储数据的则存储数据到业务库,并记录上传请求日志,后端处理完毕返回上传处理结果给前端。
可选地,如图5所示,根据本发明实施例的另一个方面,还提供了一种文件传输方法,应用于后端服务器,包括:
步骤S502,接收目标网关转发终端发送的数据上传请求,其中,数据上传请求中携带有待处理的目标数据以及将目标数据转换为目标文件的转换方式的第一指示信息,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;可以理解的是,目标数据允许被写入终端通过目标网关向后端服务器发送的请求中。
步骤S504,响应数据上传请求,根据第一指示信息所指示的转换方式,将目标数据转换为目标文件;
步骤S506,将目标文件存储至目标数据库中。
这里,目标网关在接收到终端发送的数据上传请求时,将数据上传请求转发至后端服务器。在数据上传请求中携带有待处理的目标数据以及用于指示将目标数据转换为目标文件的第一指示信息。后端服务器可以通过第一指示信息所指示的转换方式将目标数据转换为目标文件。可以理解的是,由于目标文件的文件大小可能大于第一阈值,故而这里的目标数据可以包括至少一个子目标数据,子目标数据的数据量小于第一阈值。从而在文件大小大于第一阈值的情况下,可以通过多个请求将多个子目标数据发送至后端服务器。后端服务器接收多个子目标数据,获得目标数据,并对目标数据进行转换,获得目标文件。可以理解的是,该第一阈值与目标网关相关联,第一阈值可以是单个请求中目标网关所允许接收的数据量上限值,当然也可以小于该上限值,对此本发明并不作出具体的限定。
本发明实施例的应用于后端服务器的文件传输方法与上述应用于终端的文件传输方法均是应用于文件的上传,两者之间可以相互参考。
可选的,接收目标网关转发终端发送的数据上传请求包括:在数据上传请求中携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,将目标数量的第一子目标数据合并后获得的数据作为目标数据。
这里,在目标文件的文件大小大于第一阈值的情况下,终端会将目标文件拆分为多个第一子目标数据,并发送多个第一数据上传请求,在每一个第一数据上传请求中携带一个第一子目标数据,从而通过多个第一数据上传请求将目标数据发送至后端服务器,并在第一数据上传请求中携带指示第一数据上传请求的数量的第二指示信息。相应的,后端服务器在接收到的数据上传请求中携带有指示数据上传请求的数量的第二指示信息的情况下,接收多个第一数据上传请求,并将目标数量的第一子目标数据合并后的数据作为目标数据,从而获得完整的目标数据,保证文件的完整性。
可选的,接收目标网关转发终端发送的数据上传请求包括:在数据上传请求中未携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的一个第二数据上传请求,其中,第二数据上传请求中携带有第二子目标数据,将第二子目标数据作为目标数据。
这里,终端在目标文件小于或等于第一阈值的情况下,通过一个携带有目标数据的第二数据上传请求发送至目标网关。相应的,在后端服务器接收的数据上传请求中未携带有指示数据上传请求的数量的第二指示信息的情况下,可以认为所接收到的数据上传请求中的数据便是需要进行转换的目标数据,从而将第二数据上传请求中的第二子目标数据确定为目标数据。
可选地,如图6所示,根据本发明实施例的另一个方面,还提供了一种文件传输方法,应用于后端服务器,包括:
步骤S602,接收目标网关转发终端发送的文件下载请求,文件下载请求用于向后端服务器请求下载目标文件;
步骤S604,响应文件下载请求,将目标文件转换为目标数据,其中,目标数据的数据量小于与目标网关相关联的第三阈值;可以理解的是,目标数据允许被写入后端服务器通过目标网关向终端发送的数据中。
这里,在本发明实施例中是对目标文件的下载,可以理解的是,目标网关对于终端所发送的单个请求的数据量的上限值和后端服务器响应终端的请求所反馈的数据量的上限值可以是不一样的。例如,目标网关可以将后端服务器所发送的数据的上限值设置为几十兆或几百兆,比如50M或500M。这里的第三阈值可以是后端服务器发送的单个数据中目标网关所允许接收的数据量上限值。可以理解的是,第三阈值可以是大于第一阈值的。
步骤S606,将携带有目标数据的响应数据发送至目标网关,使目标网关将响应数据转发至终端,其中,响应数据中还携带有用于指示将目标数据转换为目标文件的转换方式的指示信息。
这里,后端服务器将携带有目标数据的响应数据发送至目标网关的情况下,目标网关会将该响应数据发送至终端。终端在接收到响应数据时,可以根据响应数据中携带的指示信息所指示的转换方式,将目标数据转换为目标文件,从而实现文件的下载。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的响应数据中的目标数据,从而通过将携带有目标数据的响应数据发送至目标网关,从而使得目标网关对携带有目标数据的响应数据进行转发至终端,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
可选的,在响应文件下载请求,将目标文件转换为目标数据之前,方法还包括:确定文件下载请求所指示的目标文件的下载方式;在文件下载请求指示通过目标网关将目标文件发送至终端的情况下,执行响应文件下载请求,将目标文件转换为目标数据的步骤。
可以理解的是,与上述实施例中文件的上传类似的。在下载文件时,终端也可以在文件下载请求中携带用户指示下载方式的指示信息,从而便于后端服务器根据指示的下载方式执行相应的操作。例如,在终端发送的文件下载请求中指示通过目标网关将目标文件发送至终端的情况下,执行响应文件下载请求,将目标文件转换为目标数据的步骤,从而通过目标网关将可以转换为目标文件的目标数据发送至终端。通过该方式可以避免在反向代理服务器或另外搭建的文件服务留下存储记录,从而保证数据的安全。
可以理解的是,由于终端在向终端发送文件下载请求时只发送了一次请求,而后端服务器仅可以响应一次,发送一次响应数据,故而在目标文件大于第三阈值的情况下,后端服务器可以选择通过反向代理服务器或另外搭建的文件服务的方式对目标文件进行传输。当然可以理解的是,终端也可以根据目标文件的文件大小和第三阈值,确定所需发送的文件下载请求的目标请求数量,并向后端服务器发送目标请求数量的文件下载请求,从而便于后端服务器对大于第三阈值的目标文件拆分为多个子目标文件,并在向目标网关发送目标请求数量的响应数据,在每一个响应数据中携带一个子目标文件,从而实现对大于第三阈值的目标文件通过目标网关的方式进行传输。
可选地,如图7所示,根据本发明实施例的另一个方面,还提供了一种文件传输方法,应用于终端,包括:
步骤S702,向目标网关发送文件下载请求,使目标网关将文件下载请求转发至后端服务器,其中,文件下载请求用于向后端服务器请求下载目标文件;
步骤S704,接收目标网关转发后端服务器发送的携带有目标数据的响应数据,其中,响应数据中还携带有指示将目标数据转换为目标文件的转换方式的指示信息,目标数据的数据量小于与目标网关相关联的第三阈值;可以理解的是,目标数据允许被写入后端服务器通过目标网关向终端发送的数据中。
这里,在本发明实施例中是对目标文件的下载,可以理解的是,目标网关对于终端所发送的单个请求的数据量的上限值和后端服务器响应终端的请求所反馈的数据量的上限值可以是不一样的。这里的第三阈值可以是后端服务器发送的单个数据中目标网关所允许接收的数据量上限值。可以理解的是,第三阈值可以是大于第一阈值的。
步骤S706,根据指示信息所指示的转换方式,将目标数据转换为目标文件。
这里,终端向目标网关发送文件下载请求后,目标网关会将文件下载请求转发至后端服务器。后端服务器在接收到文件下载请求、且所请求的目标文件的文件大小小于第三阈值的情况下,会通过向目标网关发送响应数据,在响应数据中携带有目标数据和用于指示将目标数据转换为目标文件的转换方式的指示信息。终端在接收到响应数据时,可以根据响应数据中携带的指示信息所指示的转换方式,将目标数据转换为目标文件,从而实现文件的下载。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的响应数据中的目标数据,从而通过将携带有目标数据的响应数据发送至目标网关,从而使得目标网关对携带有目标数据的响应数据进行转发至终端,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
可以理解的是,由于部分终端对文件进行下载的过程中,需要使用终端的文件生成接口,例如终端上的浏览器的文件生成接口。而该文件生成接口所允许生成的最大数据量会具有一定的限制。故而在本发明可选实施例中,根据指示信息所指示的转换方式,将目标数据转换为目标文件包括:在目标数据的数据量大于第四阈值的情况下,循环读取目标数据,获取多个第三子目标数据,其中,每一个第三子目标数据的数据量小于第四阈值,第四阈值与终端将目标数据转换为目标文件所需的文件生成接口相关联;根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件。
这里,在目标数据的数据量大于第四阈值的情况下,终端可以循环读取目标数据,获得多个第三子目标数据,从而便于通过文件生成接口对每一个第三子目标数据进行转换。可以理解的是,这里的第四阈值与终端将目标数据转换为目标文件所需的文件生成接口相关联,例如第四阈值可以是所需的文件生成接口所允许的单次生成文件的数据量的上限。
可选的,根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件包括:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为文本类型的情况下,根据指示信息所指示的转换方式,将每一个第三子目标数据转换为子目标文件;按照循环读取的第三子目标数据的顺序,将多个子目标文件组合,获得目标文件。
这里,可以理解的是,终端在请求时可能仅请求了一个目标文件,但可能并不知道目标文件的具体的文件类型,故而终端可以根据指示信息所指示的转换方式确定目标文件的文件类型。当然可以理解的是,在终端知晓所请求的目标文件的文件类型的情况下,可以无需通过指示信息确定文件的文件类型。需要说明的是,在终端和后端服务器进行文件传输时,可以约定文本类型的转换方式和非文本类型的转换方式,从而便于根据转换方式确定文件类型。
可选的,后端服务器将所述目标文件转换为目标数据可以包括:在目标文件为文本类型的情况下,通过第一编码方式将目标文件转换为目标数据;在目标文件为非文本类型的情况下,通过第二编码方式将目标文件转换为目标数据。这里的第一编码方式可以是用于将目标文件转换为json格式的目标数据;这里的第二编码方式可以包括Base64编码方式。
可选的,根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件包括:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为非文本类型的情况下,将目标数据存储为多个数据块;将存储的多个数据块合并,并根据指示信息所指示的转换方式,将多个数据块合并后的数据转换为目标文件。
这里,在目标文件为非文件类型的情况下,可以将目标数据存储为多个数据块,再将多个数据块件合并,获得目标数据,通过指示信息所指示的转换方式将目标数据转换为目标文件。可以理解的是,在本发明可选实施例中,终端存储数据块时需要调用终端的文件系统,在获取对文件系统进行读取和存储的权限后,可以将多个数据块存储在终端的文件系统中,并对多个数据块进行合并以及转换为目标文件。
下面结合图8对本发明实施例的目标文件的下载进行举例说明。
步骤S801,终端向API网关发送文件下载请求,用于请求下载目标文件。
步骤S802,API网关转发文件下载请求至后端服务器。
步骤S803,后端服务器通过读取业务数据库中存储的目标文件,并将目标文件转换为目标数据,向API网关发送响应数据,该响应数据中携带有目标数据,以及用于指示将目标数据转换为目标文件的指示信息。
步骤S804,API网关转发响应数据至终端。
步骤S805,终端根据响应数据判断目标文件的文件类型。
步骤S806-1至S806-2,终端判断目标数据的数据量。
步骤S807,在目标数据的数据量大于第四阈值的情况下,循环读取目标数据,获得多个第三子目标数据,并根据第三子目标数据生成目标文件。可以理解的是,对于文本类型的目标文件和非文本类型的目标文件。根据第三子目标数据生成目标文件可以采用不同的方式。
步骤S808,在目标文件为文本类型,且目标数据的数据量小于或等于第四阈值的情况下,可以根据所指示的转换方式,将目标数据转换为目标文件。
步骤S809,在目标文件为非文本类型,且目标数据的数据量小于或等于第四阈值的情况下,可以根据所指示的转换方式,将目标数据转换为目标文件。这里,在后端服务器通过Bsae64编码方式将目标文件转换为目标数据的情况下,终端可以通过解析Bsae64编码的方式,解析目标数据获得目标文件。
可以理解的是,这里的步骤编号并不作为步骤先后顺序的限制,步骤的先后顺序是根据步骤之间的逻辑关系确定的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述文件传输方法的文件传输装置,应用于终端,如图9至图10所示,该装置可以包括:
第一获取模块902,用于获取待上传的目标文件;
这里的目标文件可以但不限于是文档、图片文件、视频文件。对于目标文件可以是存储在终端内的,用户在终端的客户端或浏览页面上通过触控操作等方式发出对目标文件进行上传的命令。终端在接收到指示上传目标文件的命令的情况下,获取待上传的目标文件,这里的获取的方式可以是对存储在终端内的目标文件进行读取。
第一转换模块904,用于将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;可以理解的是,目标数据允许被写入终端通过目标网关向后端服务器发送的请求中。
可以理解的是,终端向目标网关发送的请求中可以携带部分数据。例如,可以通过POST请求的形式发送给目标网关。这里,目标文件转换后的目标数据可以作为请求参数携带在前端发送至目标网关的请求中。但是目标网关为了避免单个请求的数据量过大,占用过多的资源,往往会对单个请求所允许的最大数据量进行限制。这里可以理解的是,单个请求所允许的最大数据量是目标网关设定的,该所允许的最大数据量是可以修改的。例如为单个请求配置更大的数据量上限值,或者随着技术的发展,目标网关将具备更为强大的处理能力,此时单个请求的数据量则可以修改为一个较大的值。
在本发明实施例中,通过将目标数据携带在发送给目标网关的请求中。可以理解的是,由于目标网关限制了单个请求所允许的最大数据量。故而在目标数据的数据量小于或等于目标网关在单个请求中所允许接收的数据量上限的情况下,通过发送一个请求,并将目标数据携带在该请求中便可实现将目标数据发送至目标网关。在目标数据的数据量大于目标网关在单个请求中所允许接收的数据量上限的情况下,可以通过发送多个请求,在每一个请求中携带一个子目标数据的方式将目标数据发送至目标网关。这里,子目标数据的数据量小于第一阈值,该第一阈值与目标网关相关联。可以理解的是第一阈值可以是单个请求中目标网关所允许接收的数据量上限值,当然也可以小于该上限值,对此本发明并不作出具体的限定。
发送模块906,用于将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。
这里,终端将携带有目标数据的数据上传请求发送至目标网关的情况下,目标网关会将该数据上传请求转发至后端服务器,后端服务器在接收到目标网关转发的数据上传请求的情况下,可以根据数据上传请求中携带的第一指示信息,获得将目标数据转换为目标文件的转换方式,从而通过该方式将数据上传请求中携带的目标数据转换为目标文件,并将目标文件存储至数据库中,从而完成了目标文件的上传。这里,对于不同格式的文件,终端往往需要根据不同的转换方式将其转换为允许被写入请求中的数据,故而需要在请求中携带将数据转换为文件的转换方式的指示信息。可以理解的是,在终端与后端服务器根据约定的方式将目标文件转换为目标数据的情况下,可以不在数据上传请求中携带指示转换方式的指示信息,后端服务器可以根据约定的转换方式进行转换。当然可以理解的是,在数据上传请求中未携带有第一指示信息的情况下,可以根据约定的转换方式对目标数据进行转换,该未携带第一指示信息的方式也可以认为是一种指示通过约定的转换方式进行转换的指示。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的请求中的目标数据,从而通过将携带有目标数据的请求发送至目标网关,从而使得目标网关对携带有目标数据的请求进行转发,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
可以理解的是,通过本发明实施例的传输目标文件时,由于目标文件转换后的目标数据需要发送至目标网关,从而使得目标网关可以实现鉴权、限流等功能。
可选的,第一转换模块包括:第一转换单元,用于在目标文件的文件大小大于第一阈值的情况下,将目标文件拆分为多个第一子目标数据,其中,每一个第一子目标数据的数据量小于第一阈值;第一处理单元,用于将多个第一子目标数据作为目标数据,其中,第一子目标数据作为请求参数携带在向目标网关发送的第一数据上传请求中,且每一个第一数据上传请求所携带的第一子目标数据互不相同。
在目标文件的文件大小大于第一阈值的情况下,可以对目标文件进行拆分,从而得到多个第一子目标数据。可以理解的是,拆分得到的第一子目标数据的数据量小于第一阈值,可以携带在发送给目标网关的请求中。此时,可以向目标网关发送多个第一数据上传请求,每一个第一数据上传请求中携带有一个第一子目标数据,从而可以通过发送多个第一数据上传请求,将较大的文件上传至后端服务器。
可以理解的是,对于不同类型的文件,例如文本文件不但需要将文件发送至后端服务器,还需要保证后端服务器转换后的文件的文字顺序与发送的文件一致。故而在本发明可选实施例中,拆分单元具体用于:在目标文件为文本类型的情况下,将目标文件拆分为多个子文件段,并将每一个子文件段转换为一个子数据段,将子数据段确定为第一子目标数据,其中,每一个第一子目标数据中包括一个子数据段和子数据段在目标数据中的段号;在目标文件为非文本类型的情况下,将目标文件转换为数据文件,并将数据文件拆分为多个数据块,将数据块确定为第一子目标数据,其中,每一个第一子目标数据中包括一个数据块和数据块的编号。
在本发明实施例中,对于文本类型的目标文件,将其拆分为多个子文件段,并将每一个子文件段转换为一个子数据段。在发送的第一子目标数据中包括子数据段,还包括该子数据段在目标数据中的段号,从而使得后端服务器在接收到多个第一子目标数据时,可以根据段号对多个第一子目标数据进行组成,保证了转换后的目标文件与发送的目标文件是一致的。可以理解的是,携带在第一子目标数据中的段号为子文件段在整个文本类型的目标文件中的段号。对于非文本类型的文件,可以将其拆分为多个数据块,在发送的第一子目标数据中包括一个数据块和该数据块的编号,从而便于后端服务器接收到多个第一子目标数据时可以根据数据块的编号组合获得目标数据,从而转换获得目标文件。
可选的,发送模块包括:第一发送单元,用于向目标网关发送多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,每一个第一数据上传请求中还携带有指示第一数据上传请求的数量的第二指示信息。
这里,在目标文件的文件大小大于第一阈值的情况下,需要对目标文件进行拆分,获得多个第一子目标数据。相应的,在向目标网关发送请求时,需要向目标网关发送多个第一数据上传请求,将每一个第一子目标数据携带在一个第一数据上传请求中。从而通过发送多个第一数据上传请求将文件较大的第一目标文件发送给后端服务器。可以理解的是,第一数据上传请求的数量与第一子目标数据的数量可以是一致的。这里,由于传输目标文件发送了多个第一数据上传请求,故而可以在第一数据上传请求中携带指示第一数据上传请求的数据的第二指示信息,从而通过第二指示信息告知后端服务器所需要接收的第一数据上传请求的数量,从而保证了后端服务器能够接收到全部的第一子目标数据。
可选的,第一转换模块包括:第二转换单元,用于在目标文件的文件大小小于或等于第一阈值的情况下,将目标文件转换为一个第二子目标数据,第二子目标数据的数据量小于第一阈值;第二处理单元,用于将第二子目标数据作为目标数据,其中,第二子目标数据作为请求参数携带在向目标网关发送的第二数据上传请求中。
在本发明实施例中,在目标文件的文件大小小于或等于第一阈值的情况下,可以通过一个请求将目标数据发送至后端服务器。故而在本发明实施例中,可以将目标文件转换为一个第二子目标数据,并通过一个第二数据上传请求中携带该第二子目标数据,将第二子目标数据发送至后端服务器。
可以理解的是,有些文件的上传和下载过程中用户并不希望在反向代理服务器或另外搭建的文件服务留下存储记录,比如密钥文件。此时通过本发明实施例可以避免在反向代理服务器或另外搭建的文件服务留下存储记录。故而可以在用户进行上传和下载过程中给出提示信息,从而提示用户选择所需要的上传下载方式。
可选的,上述装置还可以包括:第一获取模块,用于获取上传指示信息,上传指示信息用于指示为目标文件配置的上传方式,上传指示信息指示通过目标网关将目标文件发送至后端服务器。
这里,在文件上传时,可以选择不同的上传方式。终端在获取到上传指示信息的情况下,可以根据上传指示信息指示的上传方式进行文件的上传。在上传指示信息指示通过目标网关将目标文件发送至后端服务器的情况下,可以通过本发明实施例对目标文件进行传输。从而避免在反向代理服务器或另外搭建的文件服务留下存储记录。
可选的,上述装置还可以包括:确定模块,用于确定目标文件的文件大小;其中,第一转换模块在目标文件的文件大小小于第二阈值的情况下,执行将目标文件转换为目标数据的步骤,其中,第二阈值大于或等于目标网关在单个请求中所允许接收的数据量上限。
这里,也可以由终端对待上传文件的文件大小进行判断,在目标文件的文件大小小于第二阈值的情况下,可以执行将目标文件转换为目标数据的步骤,从而通过本发明实施例将目标文件传输至后端服务器,无需使用目标网关以外的额外服务。可以理解的是,这里的第二阈值可以是大于或等于目标网关在单个请求中所允许接收的数据量上限。对于第二阈值的上限值可以根据实际情况进行设定,对此本发明并不作出具体限定。
参见图10,本发明实施例还提供了一种文件传输装置,应用于后端服务器,该装置包括:接收模块1002,用于接收目标网关转发终端发送的数据上传请求;第二转换模块1004,用于根据数据上传请求中的第一指示信息所指示的转换方式,将数据上传请求中携带的目标数据转换为目标文件,并存储目标文件。可以理解的是,上述应用于后端服务器的文件传输装置可以与应用于终端的文件传输装置相互配置,实现将目标文件由终端发送至后端服务器。
这里,应用于后端服务器的文件传输装置在接收到目标数据时,可以根据数据上传请求中的第一指示信息所指示的转换方式,将目标数据转换为目标文件,并将目标文件存储至数据库中,从而实现目标文件的上传。可以理解的是,在本发明实施例中,目标文件可以是多个数据上传请求中携带的多个第一子目标数据组合后获得的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述文件传输方法的文件传输装置。如图11所示,该装置包括:
接收模块1102,用于接收目标网关转发终端发送的数据上传请求,其中,数据上传请求中携带有待处理的目标数据以及将目标数据转换为目标文件的转换方式的第一指示信息,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;可以理解的是,目标数据允许被写入终端通过目标网关向后端服务器发送的请求中。
转换模块1104,用于响应数据上传请求,根据第一指示信息所指示的转换方式,将目标数据转换为目标文件;
存储模块1106,用于将目标文件存储至目标数据库中。
这里,目标网关在接收到终端发送的数据上传请求时,将数据上传请求转发至后端服务器。在数据上传请求中携带有待处理的目标数据以及用于指示将目标数据转换为目标文件的第一指示信息。后端服务器可以通过第一指示信息所指示的转换方式将目标数据转换为目标文件。可以理解的是,由于目标文件的文件大小可能大于第一阈值,故而这里的目标数据可以包括至少一个子目标数据,子目标数据的数据量小于第一阈值。从而在文件大小大于第一阈值的情况下,可以通过多个请求将多个子目标数据发送至后端服务器。后端服务器接收多个子目标数据,获得目标数据,并对目标数据进行转换,获得目标文件。可以理解的是,该第一阈值与目标网关相关联,第一阈值可以是单个请求中目标网关所允许接收的数据量上限值,当然也可以小于该上限值,对此本发明并不作出具体的限定。
可选的,接收模块包括:第一接收单元,用于在数据上传请求中携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的多个第一数据上传请求,其中,每一个第一数据上传请求中携带有一个第一子目标数据,将目标数量的第一子目标数据合并后获得的数据作为目标数据。
这里,在目标文件的文件大小大于第一阈值的情况下,终端会将目标文件拆分为多个第一子目标数据,并发送多个第一数据上传请求,在每一个第一数据上传请求中携带一个第一子目标数据,从而通过多个第一数据上传请求将目标数据发送至后端服务器,并在第一数据上传请求中携带指示第一数据上传请求的数量的第二指示信息。相应的,后端服务器在接收到的数据上传请求中携带有指示数据上传请求的数量的第二指示信息的情况下,接收多个第一数据上传请求,并将目标数量的第一子目标数据合并后的数据作为目标数据,从而获得完整的目标数据,保证文件的完整性。
可选的,接收模块包括:第二接收单元,用于在数据上传请求中未携带有用于指示数据上传请求的数量的第二指示信息的情况下,接收目标网关转发终端发送的一个第二数据上传请求,其中,第二数据上传请求中携带有第二子目标数据,将第二子目标数据作为目标数据。
这里,终端在目标文件小于或等于第一阈值的情况下,通过一个携带有目标数据的第二数据上传请求发送至目标网关。相应的,在后端服务器接收的数据上传请求中未携带有指示数据上传请求的数量的第二指示信息的情况下,可以认为所接收到的数据上传请求中的数据便是需要进行转换的目标数据,从而将第二数据上传请求中的第二子目标数据确定为目标数据。
根据本发明实施例的另一个方面,还提供了一种用于实施上述文件传输方法的文件传输装置。如图12所示,该装置包括:
接收模块1202,用于接收目标网关转发终端发送的文件下载请求,文件下载请求用于向后端服务器请求下载目标文件;
转换模块1204,用于响应文件下载请求,将目标文件转换为目标数据,其中,目标数据的数据量小于与目标网关相关联的第三阈值;可以理解的是,目标数据允许被写入后端服务器通过目标网关向终端发送的数据中。
这里,在本发明实施例中是对目标文件的下载,可以理解的是,目标网关对于终端所发送的单个请求的数据量的上限值和后端服务器响应终端的请求所反馈的数据量的上限值可以是不一样的。这里的第三阈值可以是后端服务器发送的单个数据中目标网关所允许接收的数据量上限值。可以理解的是,第三阈值可以是大于第一阈值的。
发送模块1206,用于将携带有目标数据的响应数据发送至目标网关,使目标网关将响应数据转发至终端,其中,响应数据中还携带有用于指示将目标数据转换为目标文件的转换方式的指示信息。
这里,后端服务器将携带有目标数据的响应数据发送至目标网关的情况下,目标网关会将该响应数据发送至终端。终端在接收到响应数据时,可以根据响应数据中携带的指示信息所指示的转换方式,将目标数据转换为目标文件,从而实现文件的下载。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的响应数据中的目标数据,从而通过将携带有目标数据的响应数据发送至目标网关,从而使得目标网关对携带有目标数据的响应数据进行转发至终端,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
可选的,装置还包括:确定模块,用于确定文件下载请求所指示的目标文件的下载方式;其中,转换模块在文件下载请求指示通过目标网关将目标文件发送至终端的情况下,执行响应文件下载请求,将目标文件转换为目标数据的步骤。
可以理解的是,与上述实施例中文件的上传类似的。在下载文件时,终端也可以在文件下载请求中携带用户指示下载方式的指示信息,从而便于后端服务器根据指示的下载方式执行相应的操作。通过该方式可以避免在反向代理服务器或另外搭建的文件服务留下存储记录,从而保证数据的安全。
根据本发明实施例的另一个方面,还提供了一种用于实施上述文件传输方法的文件传输装置。如图13所示,该装置包括:
发送模块1302,用于向目标网关发送文件下载请求,使目标网关将文件下载请求转发至后端服务器,其中,文件下载请求用于向后端服务器请求下载目标文件;
接收模块1304,用于接收目标网关转发后端服务器发送的携带有目标数据的响应数据,其中,响应数据中还携带有指示将目标数据转换为目标文件的转换方式的指示信息,目标数据的数据量小于与目标网关相关联的第三阈值;可以理解的是,目标数据允许被写入后端服务器通过目标网关向终端发送的数据中。
这里,在本发明实施例中是对目标文件的下载,可以理解的是,目标网关对于终端所发送的单个请求的数据量的上限值和后端服务器响应终端的请求所反馈的数据量的上限值可以是不一样的。这里的第三阈值可以是后端服务器发送的单个数据中目标网关所允许接收的数据量上限值。可以理解的是,第三阈值可以是大于第一阈值的。
转换模块1306,用于根据指示信息所指示的转换方式,将目标数据转换为目标文件。
这里,终端向目标网关发送文件下载请求后,目标网关会将文件下载请求转发至后端服务器。后端服务器在接收到文件下载请求、且所请求的目标文件的文件大小小于第三阈值的情况下,会通过向目标网关发送响应数据,在响应数据中携带有目标数据和用于指示将目标数据转换为目标文件的转换方式的指示信息。终端在接收到响应数据时,可以根据响应数据中携带的指示信息所指示的转换方式,将目标数据转换为目标文件,从而实现文件的下载。
在本发明实施例中,采用将待传输的目标文件转换为允许被写入目标网关所能接收的响应数据中的目标数据,从而通过将携带有目标数据的响应数据发送至目标网关,从而使得目标网关对携带有目标数据的响应数据进行转发至终端,实现了通过将待传输的目标文件转换为目标数据通过目标网关实现文件的传输,无需使用目标网关以外的服务的技术效果,进而解决了由于文件传输过程中需要额外使用网关以外的服务造成的文件传输成本高的技术问题。
可选的,转换模块包括:读取单元,用于在目标数据的数据量大于第四阈值的情况下,循环读取目标数据,获取多个第三子目标数据,其中,每一个第三子目标数据的数据量小于第四阈值,第四阈值与终端将目标数据转换为目标文件所需的文件生成接口相关联;转换单元,用于根据多个第三子目标数据,以及指示信息所指示的转换方式,获得目标文件。
这里,在目标数据的数据量大于第四阈值的情况下,终端可以循环读取目标数据,获得多个第三子目标数据,从而便于通过文件生成接口对每一个第三子目标数据进行转换。可以理解的是,这里的第四阈值与终端将目标数据转换为目标文件所需的文件生成接口相关联,例如第四阈值可以是所需的文件生成接口所允许的单次生成文件的数据量的上限。
可选的,转换单元具体用于:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为文本类型的情况下,根据指示信息所指示的转换方式,将每一个第三子目标数据转换为子目标文件;按照循环读取的第三子目标数据的顺序,将多个子目标文件组合,获得目标文件。
这里,可以理解的是,终端在请求时可能仅请求了一个目标文件,但可能并不知道目标文件的具体的文件类型,故而终端可以根据指示信息所指示的转换方式确定目标文件的文件类型。当然可以理解的是,在终端知晓所请求的目标文件的文件类型的情况下,可以无需通过指示信息确定文件的文件类型。需要说明的是,在终端和后端服务器进行文件传输时,可以约定文本类型的转换方式和非文本类型的转换方式,从而便于根据转换方式确定文件类型。
可选的,转换单元具体用于:根据指示信息所指示的转换方式,确定目标文件的文件类型,其中,每一种转换方式对应一种文件类型;在目标文件为非文本类型的情况下,将目标数据存储为多个数据块;将存储的多个数据块合并,并根据指示信息所指示的转换方式,将多个数据块合并后的数据转换为目标文件。
这里,在目标文件为非文件类型的情况下,可以将目标数据存储为多个数据块,再将多个数据块件合并,获得目标数据,通过指示信息所指示的转换方式将目标数据转换为目标文件。可以理解的是,在本发明可选实施例中,终端存储数据块时需要调用终端的文件系统,在获取对文件系统进行读取和存储的权限后,可以将多个数据块存储在终端的文件系统中,并对多个数据块进行合并以及转换为目标文件。
根据本发明实施例的又一个方面,还提供了一种用于实施上述文件传输方法的电子装置,如图14所示,该电子装置包括存储器1402和处理器1404,该存储器1402中存储有计算机程序,该处理器1404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取待上传的目标文件;
S2,将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;
S3,将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收目标网关转发终端发送的数据上传请求,其中,数据上传请求中携带有待处理的目标数据以及将目标数据转换为目标文件的转换方式的第一指示信息,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;
S2,响应数据上传请求,根据第一指示信息所指示的转换方式,将目标数据转换为目标文件;
S3,将目标文件存储至目标数据库中。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收目标网关转发终端发送的文件下载请求,文件下载请求用于向后端服务器请求下载目标文件;
S2,响应文件下载请求,将目标文件转换为目标数据,其中,目标数据的数据量小于与目标网关相关联的第三阈值;
S3,将携带有目标数据的响应数据发送至目标网关,使目标网关将响应数据转发至终端,其中,响应数据中还携带有用于指示将目标数据转换为目标文件的转换方式的指示信息。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,向目标网关发送文件下载请求,使目标网关将文件下载请求转发至后端服务器,其中,文件下载请求用于向后端服务器请求下载目标文件;
S2,接收目标网关转发后端服务器发送的携带有目标数据的响应数据,其中,响应数据中还携带有指示将目标数据转换为目标文件的转换方式的指示信息,目标数据的数据量小于与目标网关相关联的第三阈值;
S3,根据指示信息所指示的转换方式,将目标数据转换为目标文件。
可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。
其中,存储器1402可用于存储软件程序以及模块,如本发明实施例中的文件传输方法和装置对应的程序指令/模块,处理器1404通过运行存储在存储器1402内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文件传输方法。存储器1402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1402可进一步包括相对于处理器1404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1402具体可以但不限于用于存储目标文件或目标数据等信息。作为一种示例,如图14所示,上述存储器1402中可以但不限于包括上述文件传输装置中的第一获取模块902、第一转换模块904及发送模块906。此外,还可以包括但不限于上述文件传输装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1408,用于显示目标文件;和连接总线1410,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取待上传的目标文件;
S2,将目标文件转换为目标数据,其中,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;
S3,将携带有目标数据的数据上传请求发送至目标网关,使目标网关将数据上传请求转发至后端服务器,其中,数据上传请求中还携带有用于指示将目标数据转换为目标文件的转换方式的第一指示信息。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收目标网关转发终端发送的数据上传请求,其中,数据上传请求中携带有待处理的目标数据以及将目标数据转换为目标文件的转换方式的第一指示信息,目标数据包括至少一个子目标数据,子目标数据的数据量小于与目标网关相关联的第一阈值;
S2,响应数据上传请求,根据第一指示信息所指示的转换方式,将目标数据转换为目标文件;
S3,将目标文件存储至目标数据库中。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收目标网关转发终端发送的文件下载请求,文件下载请求用于向后端服务器请求下载目标文件;
S2,响应文件下载请求,将目标文件转换为目标数据,其中,目标数据的数据量小于与目标网关相关联的第三阈值;
S3,将携带有目标数据的响应数据发送至目标网关,使目标网关将响应数据转发至终端,其中,响应数据中还携带有用于指示将目标数据转换为目标文件的转换方式的指示信息。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,向目标网关发送文件下载请求,使目标网关将文件下载请求转发至后端服务器,其中,文件下载请求用于向后端服务器请求下载目标文件;
S2,接收目标网关转发后端服务器发送的携带有目标数据的响应数据,其中,响应数据中还携带有指示将目标数据转换为目标文件的转换方式的指示信息,目标数据的数据量小于与目标网关相关联的第三阈值;
S3,根据指示信息所指示的转换方式,将目标数据转换为目标文件。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种文件传输方法,应用于终端,其特征在于,包括:
获取待上传的目标文件;
将所述目标文件转换为目标数据,其中,所述目标数据包括至少一个子目标数据,所述子目标数据的数据量小于与目标网关相关联的第一阈值;
将携带有所述目标数据的数据上传请求发送至所述目标网关,使所述目标网关将所述数据上传请求转发至后端服务器,其中,所述数据上传请求中还携带有用于指示将所述目标数据转换为所述目标文件的转换方式的第一指示信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标文件转换为目标数据包括:
在所述目标文件的文件大小大于所述第一阈值的情况下,将所述目标文件拆分为多个第一子目标数据,其中,每一个所述第一子目标数据的数据量小于所述第一阈值;
将多个所述第一子目标数据作为所述目标数据,其中,所述第一子目标数据作为请求参数携带在向所述目标网关发送的第一数据上传请求中,且每一个所述第一数据上传请求所携带的所述第一子目标数据互不相同。
3.根据权利要求2所述的方法,其特征在于,将所述目标文件拆分为多个第一子目标数据包括:
在所述目标文件为文本类型的情况下,将所述目标文件拆分为多个子文件段,并将每一个所述子文件段转换为一个子数据段,将所述子数据段确定为所述第一子目标数据,其中,每一个所述第一子目标数据中包括一个所述子数据段和所述子数据段在所述目标数据中的段号;
在所述目标文件为非文本类型的情况下,将所述目标文件转换为数据文件,并将所述数据文件拆分为多个数据块,将所述数据块确定为所述第一子目标数据,其中,每一个所述第一子目标数据中包括一个所述数据块和所述数据块的编号。
4.根据权利要求2所述的方法,其特征在于,将携带有所述目标数据的数据上传请求发送至所述目标网关包括:
向所述目标网关发送多个所述第一数据上传请求,其中,每一个所述第一数据上传请求中携带有一个所述第一子目标数据,每一个所述第一数据上传请求中还携带有指示所述第一数据上传请求的数量的第二指示信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,在将所述目标文件转换为目标数据之前,所述方法还包括:
获取上传指示信息,所述上传指示信息用于指示为所述目标文件配置的上传方式,所述上传指示信息指示通过所述目标网关将所述目标文件发送至所述后端服务器。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
确定所述目标文件的文件大小;
在所述目标文件的文件大小小于第二阈值的情况下,执行将所述目标文件转换为所述目标数据的步骤,其中,所述第二阈值大于或等于所述目标网关在单个请求中所允许接收的数据量上限。
7.一种文件传输方法,应用于后端服务器,其特征在于,包括:
接收目标网关转发终端发送的数据上传请求,其中,所述数据上传请求中携带有待处理的目标数据以及将所述目标数据转换为目标文件的转换方式的第一指示信息,所述目标数据包括至少一个子目标数据,所述子目标数据的数据量小于与所述目标网关相关联的第一阈值;
响应所述数据上传请求,根据所述第一指示信息所指示的所述转换方式,将所述目标数据转换为所述目标文件;
将所述目标文件存储至目标数据库中。
8.一种文件传输方法,应用于后端服务器,其特征在于,包括:
接收目标网关转发终端发送的文件下载请求,所述文件下载请求用于向所述后端服务器请求下载目标文件;
响应所述文件下载请求,将所述目标文件转换为目标数据,其中,所述目标数据的数据量小于与所述目标网关相关联的第三阈值;
将携带有所述目标数据的响应数据发送至所述目标网关,使所述目标网关将所述响应数据转发至所述终端,其中,所述响应数据中还携带有用于指示将所述目标数据转换为所述目标文件的转换方式的指示信息。
9.一种文件传输方法,应用于终端,其特征在于,包括:
向目标网关发送文件下载请求,使所述目标网关将所述文件下载请求转发至后端服务器,其中,所述文件下载请求用于向所述后端服务器请求下载目标文件;
接收所述目标网关转发所述后端服务器发送的携带有目标数据的响应数据,其中,所述响应数据中还携带有指示将所述目标数据转换为所述目标文件的转换方式的指示信息,所述目标数据的数据量小于与所述目标网关相关联的第三阈值;
根据所述指示信息所指示的所述转换方式,将所述目标数据转换为所述目标文件。
10.一种文件传输装置,应用于终端,其特征在于,包括:
第一获取模块,用于获取待上传的目标文件;
第一转换模块,用于将所述目标文件转换为目标数据,其中,所述目标数据包括至少一个子目标数据,所述子目标数据的数据量小于与目标网关相关联的第一阈值;
发送模块,用于将携带有所述目标数据的数据上传请求发送至所述目标网关,使所述目标网关将所述数据上传请求转发至后端服务器,其中,所述数据上传请求中还携带有用于指示将所述目标数据转换为所述目标文件的转换方式的第一指示信息。
11.一种文件传输装置,应用于后端服务器,其特征在于,包括:
接收模块,用于接收目标网关转发终端发送的数据上传请求,其中,所述数据上传请求中携带有待处理的目标数据以及将所述目标数据转换为目标文件的转换方式的第一指示信息,所述目标数据包括至少一个子目标数据,所述子目标数据的数据量小于与所述目标网关相关联的第一阈值;
转换模块,用于响应所述数据上传请求,根据所述第一指示信息所指示的所述转换方式,将所述目标数据转换为所述目标文件;
存储模块,用于将所述目标文件存储至目标数据库中。
12.一种文件传输装置,应用于后端服务器,其特征在于,包括:
接收模块,用于接收目标网关转发终端发送的文件下载请求,所述文件下载请求用于向所述后端服务器请求下载目标文件;
转换模块,用于响应所述文件下载请求,将所述目标文件转换为目标数据,其中,所述目标数据的数据量小于与所述目标网关相关联的第三阈值;
发送模块,用于将携带有所述目标数据的响应数据发送至所述目标网关,使所述目标网关将所述响应数据转发至所述终端,其中,所述响应数据中还携带有用于指示将所述目标数据转换为所述目标文件的转换方式的指示信息。
13.一种文件传输装置,应用于终端,其特征在于,包括:
发送模块,用于向目标网关发送文件下载请求,使所述目标网关将所述文件下载请求转发至后端服务器,其中,所述文件下载请求用于向所述后端服务器请求下载目标文件;
接收模块,用于接收所述目标网关转发所述后端服务器发送的携带有目标数据的响应数据,其中,所述响应数据中还携带有指示将所述目标数据转换为所述目标文件的转换方式的指示信息,所述目标数据的数据量小于与所述目标网关相关联的第三阈值;
转换模块,用于根据所述指示信息所指示的所述转换方式,将所述目标数据转换为所述目标文件。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。
CN201910447724.3A 2019-05-27 2019-05-27 文件传输方法和装置、存储介质及电子装置 Active CN110198349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910447724.3A CN110198349B (zh) 2019-05-27 2019-05-27 文件传输方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910447724.3A CN110198349B (zh) 2019-05-27 2019-05-27 文件传输方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN110198349A true CN110198349A (zh) 2019-09-03
CN110198349B CN110198349B (zh) 2022-11-22

Family

ID=67753262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910447724.3A Active CN110198349B (zh) 2019-05-27 2019-05-27 文件传输方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN110198349B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026706A (zh) * 2019-10-21 2020-04-17 武汉神库小匠科技有限公司 电力系统数据的入库方法、装置、设备及介质
CN113687878A (zh) * 2021-08-23 2021-11-23 北京京东振世信息技术有限公司 一种信息交互方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867617A (zh) * 2010-06-13 2010-10-20 优视科技有限公司 一种基于移动终端的文件上传方法、系统和上传服务器
US20120005477A1 (en) * 2010-06-30 2012-01-05 Juniper Networks, Inc. Multi-service vpn network client for mobile device having dynamic failover
CN105791245A (zh) * 2014-12-26 2016-07-20 北京航天测控技术有限公司 一种数据发送、接收方法和装置
CN106375483A (zh) * 2016-11-09 2017-02-01 腾讯科技(深圳)有限公司 文件传输方法和装置
CN106657197A (zh) * 2015-11-02 2017-05-10 腾讯科技(深圳)有限公司 文件上传的方法和装置
CN107147748A (zh) * 2017-07-07 2017-09-08 北京金山安全管理系统技术有限公司 文件上传方法和装置
CN107395716A (zh) * 2017-07-19 2017-11-24 河南神州数码索贝科技有限公司 一种移动端图片压缩上传方法及装置
CN107517261A (zh) * 2017-08-31 2017-12-26 深圳市中兴物联科技有限公司 网关、服务器、方法、装置、存储介质和物联网系统
CN107959700A (zh) * 2016-10-18 2018-04-24 中国电信股份有限公司 自适应文件下载的方法和云存储网关
CN108173920A (zh) * 2017-12-22 2018-06-15 成都博高信息技术股份有限公司 基于lorawan的文件传输方法
US20190068742A1 (en) * 2017-08-25 2019-02-28 Hughes Network Systems, Llc Reducing bandwidth consumption and latency in satellite communications

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867617A (zh) * 2010-06-13 2010-10-20 优视科技有限公司 一种基于移动终端的文件上传方法、系统和上传服务器
US20120005477A1 (en) * 2010-06-30 2012-01-05 Juniper Networks, Inc. Multi-service vpn network client for mobile device having dynamic failover
CN105791245A (zh) * 2014-12-26 2016-07-20 北京航天测控技术有限公司 一种数据发送、接收方法和装置
CN106657197A (zh) * 2015-11-02 2017-05-10 腾讯科技(深圳)有限公司 文件上传的方法和装置
CN107959700A (zh) * 2016-10-18 2018-04-24 中国电信股份有限公司 自适应文件下载的方法和云存储网关
CN106375483A (zh) * 2016-11-09 2017-02-01 腾讯科技(深圳)有限公司 文件传输方法和装置
CN107147748A (zh) * 2017-07-07 2017-09-08 北京金山安全管理系统技术有限公司 文件上传方法和装置
CN107395716A (zh) * 2017-07-19 2017-11-24 河南神州数码索贝科技有限公司 一种移动端图片压缩上传方法及装置
US20190068742A1 (en) * 2017-08-25 2019-02-28 Hughes Network Systems, Llc Reducing bandwidth consumption and latency in satellite communications
CN107517261A (zh) * 2017-08-31 2017-12-26 深圳市中兴物联科技有限公司 网关、服务器、方法、装置、存储介质和物联网系统
CN108173920A (zh) * 2017-12-22 2018-06-15 成都博高信息技术股份有限公司 基于lorawan的文件传输方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026706A (zh) * 2019-10-21 2020-04-17 武汉神库小匠科技有限公司 电力系统数据的入库方法、装置、设备及介质
CN111026706B (zh) * 2019-10-21 2023-10-13 武汉神库小匠科技有限公司 电力系统数据的入库方法、装置、设备及介质
CN113687878A (zh) * 2021-08-23 2021-11-23 北京京东振世信息技术有限公司 一种信息交互方法、装置、设备及存储介质
CN113687878B (zh) * 2021-08-23 2023-12-01 北京京东振世信息技术有限公司 一种信息交互方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110198349B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN104169899B (zh) 在电子设备之间传送状态的系统
CN103248684B (zh) 一种互联网中资源获取方法和装置
CN100596362C (zh) 通信装置和命令发送方法
CN103685440B (zh) 用于在多个移动电子设备之间共享文件的方法
CN110275682A (zh) 云打印方法、装置及系统
CN105205072B (zh) 网页信息的展示方法和系统
TW201227335A (en) Third party initiation of communications between remote parties
CN104702665A (zh) 信息分享方法和信息分享装置
CN111666129B (zh) 容器镜像处理方法、电子设备、存储介质及系统
CN104488254A (zh) 复合机、复合机控制系统以及复合机的管理方法
CN105453520A (zh) 管理web服务的状态信息的技术
US20120113471A1 (en) Communication system, communication apparatus, and control method of relay apparatus
CN102999379A (zh) 终端和数据共享方法
US20150205510A1 (en) Information processing system, terminal apparatus, and control method for terminal apparatus
CN104427169A (zh) 远程支持装置、电子装置及远程支持方法
CN110198349A (zh) 文件传输方法和装置、存储介质及电子装置
CN108347475A (zh) 信息处理装置及其控制方法和存储介质
CN108416021A (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
CN103685426A (zh) 信息处理设备和信息处理方法
CN109417507A (zh) 部分延迟的报文访问
CN109039687A (zh) 请求的负载均衡方法、装置、系统、设备以及存储介质
KR20130017264A (ko) 지능형 사물에 대한 웹 서비스 제공 시스템 및 방법
JP2020046756A (ja) 情報処理装置、その制御方法およびプログラム
EP3465410B1 (en) Encrypted document printing utilizing multiple networks
JP5987738B2 (ja) 情報処理装置、システム及びプログラム

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