CN113098957B - 数据传输方法及相关产品 - Google Patents
数据传输方法及相关产品 Download PDFInfo
- Publication number
- CN113098957B CN113098957B CN202110347414.1A CN202110347414A CN113098957B CN 113098957 B CN113098957 B CN 113098957B CN 202110347414 A CN202110347414 A CN 202110347414A CN 113098957 B CN113098957 B CN 113098957B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- transmitted
- storage path
- target
- 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
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (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
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法及相关产品。
背景技术
随着互联网技术的发展,越来越多的人和企业采用向网络服务供应商租用网络服务的方式代替自主开发网络服务的方式获得网络服务。
为提高网络服务的处理效率,网络服务供应商通常采用微服务架构构建服务器群。具体的,微服务架构包含至少两个服务器,不同服务器所能提供的网络服务不同。在微服务架构运行的过程中,不同服务器之间会涉及数据传输,而数据传输的效率会影响到微服务架构的运行效率。因此,如何提高服务器之间的数据传输效率具有非常重要的意义。
发明内容
本申请提供一种数据传输方法及相关产品。
第一方面,提供了一种数据传输方法,所述方法包括:
第一服务器依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址,所述待传输数据存储于所述第一服务器的磁盘中;
所述第一服务器向第二服务器发送所述下载地址。
结合本申请任一实施方式,所述第一服务器依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址之前,所述方法还包括:
所述第一服务器接收所述待传输数据和调用所述第二服务器处理所述待传输数据的处理请求;
所述第一服务器依据所述处理请求,得到所述临时存储路径;
所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,在所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘之前,所述方法还包括:
所述第一服务器获取所述待传输数据的数据量;
所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘,包括:
在所述数据量大于数据量阈值的情况下,所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述处理请求还包括目标数据名称;
所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘,包括:
确定所述待传输数据的数据名称为所述目标数据名称,并将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述第一服务器依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址,包括:
所述第一服务器对所述临时存储路径进行编码处理,得到编码后的临时存储路径;
所述第一服务器对所述编码后的临时存储路径和所述网络地址进行拼接,得到所述下载地址。
第二方面,提供了另一种数据传输方法,所述方法包括:
第二服务器接收第一服务器发送的下载地址,所述下载地址包括待传输数据在所述第一服务器中的临时存储路径和所述第一服务器的网络地址;
所述第二服务器依据所述临时存储路径和所述第一服务器的网络地址,从所述第一服务器的磁盘中下载所述待传输数据。
结合本申请任一实施方式,所述方法还包括:
接收所述第一服务器发送的目标数据名称和目标存储路径;
在确定所述目标数据名称符合数据名称规则的情况下,所述第二服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据。
结合本申请任一实施方式,所述方法还包括:
在确定所述目标数据名称不符合数据名称规则的情况下,所述第二服务器将所述待传输数据存储至所述目标存储路径下。
结合本申请任一实施方式,所述第二服务器依据所述临时存储路径和所述第一服务器的网络地址,从所述第一服务器的磁盘中下载所述待传输数据,包括:
所述第二服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据。
结合本申请任一实施方式,所述第二服务器包括第一子服务器和第二子服务器;
所述第二服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据,包括:
所述第一子服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据;
所述第一子服务器将所述待传输数据存储至所述第二子服务器。
结合本申请任一实施方式,所述第二服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据之前,包括:
所述第一子服务器接收所述第一服务器发送的目标数据名称和目标存储路径;
所述第二服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据,包括:
所述第一子服务器向所述第二子服务器发送所述目标数据名称和所述目标存储路径;
所述第二子服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的数据,作为所述待更新数据;
所述第二子服务器用所述待传输数据替换所述待更新数据。
第三方面,提供了一种第一服务器,所述第一服务器包括:
生成单元,用于依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址,所述待传输数据存储于所述第一服务器的磁盘中;
发送单元,用于向第二服务器发送所述下载地址。
结合本申请任一实施方式,所述第一服务器还包括:接收单元,用于在依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址之前,接收所述待传输数据和调用所述第二服务器处理所述待传输数据的处理请求;
处理单元,用于依据所述处理请求,得到所述临时存储路径;
存储单元,用于依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述第一服务器还包括:获取单元,用于在所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘之前,获取所述待传输数据的数据量;
所述处理单元,用于:
在所述数据量大于数据量阈值的情况下,依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述处理请求还包括目标数据名称;
所述处理单元,用于:在所述数据量大于数据量阈值的情况下,确定所述待传输数据的数据名称为所述目标数据名称,并将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述生成单元,用于:
对所述临时存储路径进行编码处理,得到编码后的临时存储路径;
所述编码后的临时存储路径和所述网络地址进行拼接,得到所述下载地址。
第四方面,提供了一种第二服务器,所述第二服务器包括:
接收单元,用于接收第一服务器发送的下载地址,所述下载地址包括待传输数据在所述第一服务器中的临时存储路径和所述第一服务器的网络地址;
下载单元,用于依据所述临时存储路径和所述第一服务器的网络地址,从所述第一服务器的磁盘中下载所述待传输数据。
结合本申请任一实施方式,所述接收单元,还用于:接收所述第一服务器发送的目标数据名称和目标存储路径;
所述第二服务器还包括:处理单元,用于在确定所述目标数据名称符合数据名称规则的情况下,从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据。
结合本申请任一实施方式,所述处理单元,还用于:
在确定所述目标数据名称不符合数据名称规则的情况下,将所述待传输数据存储至所述目标存储路径下。
结合本申请任一实施方式,所述下载单元,用于:
所述第二服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据。
结合本申请任一实施方式,所述第二服务器包括第一子服务器和第二子服务器;
所述第一子服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据;
所述第一子服务器将所述待传输数据存储至所述第二子服务器。
结合本申请任一实施方式,所述第一子服务器接收所述第一服务器发送的目标数据名称和目标存储路径;
所述第一子服务器向所述第二子服务器发送所述目标数据名称和所述目标存储路径;
所述第二子服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的数据,作为所述待更新数据;
所述第二子服务器用所述待传输数据替换所述待更新数据。
第五方面,提供了一种第一服务器,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述第一服务器执行如上述第一方面及其任意一种可能实现的方式中第一服务器所执行的方法。
第六方面,提供了一种第二服务器,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述第二服务器执行如上述第二方面及其任意一种可能实现的方式中第二服务器所执行的方法。
第七方面,提供了另一种第一服务器,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述第一服务器执行如上述第一方面及其任意一种可能实现的方式中第一服务器所执行的方法。
第八方面,提供了另一种第二服务器,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述第二服务器执行如上述第二方面及其任意一种可能实现的方式中第二服务器所执行的方法。
第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如上述第一方面及其任意一种可能实现的方式中第一服务器所执行的方法。
第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如上述第二方面及其任意一种可能实现的方式中第二服务器所执行的方法。
第十一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行上述第一方面及其任一种可能的实现方式中第一服务器所执行的方法。
第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行上述第二方面及其任一种可能的实现方式中第二服务器所执行的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为本申请实施例提供的一种数据传输方法的流程示意图;
图2为本申请实施例提供的另一种数据处理方法的结构示意图;
图3为本申请实施例提供的又一种数据处理方法的流程示意图;
图4本申请实施例提供的又一种数据处理方法的流程示意图;
图5为本申请实施例提供的一种第一服务器的结构示意图;
图6为本申请实施例提供的一种第二服务器的构示意图;
图7为本申请实施例提供的一种第一服务器的硬件结构示意图;
图8为本申请实施例提供的一种第二服务器的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”可表示前后关联对象是一种“或”的关系,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。字符“/”还可表示数学运算中的除号,例如,a/b=a除以b;6/3=2。“以下至少一项(个)”或其类似表达。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
随着互联网技术的发展,越来越多的人和企业采用向网络服务供应商租用网络服务的方式代替自主开发网络服务的方式获得网络服务。例如,张三需要使用人脸识别功能。张三自己开发一个具有人脸识别功能的软件,不仅需要耗费很高的成本,而且自己开发的软件的人脸识别准确率可能不够高。若张三向A公司租用人脸识别功能,不仅可以省去开发的成本,而且可使用高准确率的人脸识别功能。
为提高网络服务的处理效率,网络服务供应商通常采用微服务架构构建服务器群。具体的,微服务架构包含至少两个服务器,不同服务器所能提供的网络服务不同。在微服务架构运行的过程中,不同服务器之间会涉及数据传输,而数据传输的效率会影响到微服务架构的运行效率。
传统方法中,第一服务器将待传输数据存储至磁盘中。在第一服务器将待传输数据传输至第二服务器时,第一服务器从磁盘中读取待传输数据并将待传输数据存储至内存中,再将存储于内存中的待传输数据传输至第二服务器。将待传输数据存储至内存显然给第一服务器带来了额外的内存开销。
基于此,本申请实施例提供了一种技术方案,以降低第一服务器在数据传输过程中的内存开销。
下面结合本申请实施例中的附图对本申请实施例进行描述。请参阅图1,图1是本申请实施例提供的一种数据传输方法的流程示意图。该实施例的执行主体为第一服务器,其中,第一服务器可以是任意一种可执行该实施例所公开的技术方案的电子设备。可选的,第一服务器可以是以下中的一种:计算机、服务器。
101、第一服务器依据待传输数据的临时存储路径和上述第一服务器的网络地址,生成上述待传输数据的下载地址,上述待传输数据存储于上述第一服务器的磁盘中。
本申请实施例中,待传输数据存储于第一服务器的磁盘中。例如,客户端(如手机、计算机、平板电脑)与第一服务器之间存在通信连接。用户通过客户端向第一服务器上传待传输数据。第一服务器在接收到待传输数据后,将待传输数据存储于磁盘中。
本申请实施例中,第一服务器的网络地址包括第一服务器的互联网(internetprotocol address,IP)地址。
在一种可能实现的方式中,第一服务器通过对待传输数据的临时存储路径和第一服务器的网络地址进行拼接,生成待传输数据的下载地址。可选的,第一服务器首先对待传输数据的临时存储路径进行编码处理,得到编码后的临时存储路径,这样可避免因临时存储路径中存在特殊符号(如:%、&、*)导致无法通过临时存储路径访问第一服务器的磁盘的问题。第一服务器通过对编码后的临时存储路径和第一服务器的网络地址进行拼接,生成待传输数据的下载地址。
102、上述第一服务器向第二服务器发送上述下载地址。
本申请实施例中,第一服务器和第二服务器为分布式系统下的两个不同的服务器,即第一服务器所能实现的功能与第二服务器所能实现的功能不同。
本申请实施例中,上述待传输数据需要通过第二服务器实现的功能进行处理。因此,第一服务器需要将待传输数据传输至第二服务器。
如上所述,在传统方法中,第一服务器在将待传输数据传输至第二服务器时,需要先从磁盘中读取待传输数据,并将待传输数据存储至第一服务器的内存,再从将存储于内存中的待传输数据发送至第二服务器。这显然会给第一服务器产生额外的内存开销。第一服务器或在将待传输数据传输至第二服务器时,还可能会将磁盘中的待传输数据传输至中间件,再将中间件中的待传输数据传输至第二服务器。
基于此,在本实施例中,第一服务器向第二服务器发送待传输数据的下载地址,以使第二服务器通过该下载地址从第一服务器中下载待传输数据,这样,第一服务器可避免从磁盘中读取待传输数据并将待传输数据存储至内存,从而降低了第一服务器的内存开销和磁盘的输入/输出(Input/Output,IO)开销。同时,这样,也可以减少因将待传输数据传输至中间件带来的网络IO开销。
作为一种可选的实施方式,第一服务器在执行步骤101之前,还执行步骤1~步骤3:
1、上述第一服务器接收上述待传输数据和调用上述第二服务器处理上述待传输数据的处理请求。
本申请实施例中,调用第二服务器处理待传输数据指,处理请求需要通过第二服务器完成。例如,处理请求可以是将待传输数据存储至目标文件夹,其中,目标文件夹位于第二服务器。又例如,处理请求可以是对待传输数据进行图像处理,其中,图像处理需要通过第二服务器实现。
在一种可能实现的方式中,客户端与第一服务器之间存在通信连接。用户通过该客户端向第一服务器发送待传输数据和处理请求。第一服务从而接收到待传输数据和处理请求。
2、上述第一服务器依据上述处理请求,得到上述临时存储路径。
在一种可能实现的方式中,在处理请求包括存储路径的情况下,第一服务器将处理请求中的存储路径作为待传输数据的临时存储路径。
在另一种可能实现的方式中,在处理请求不包括存储路径的情况下,第一服务器将待传输数据存储于临时文件目录下,此时待传输数据的临时存储路径为该临时文件目录的路径。
在又一种可能实现的方式中,在处理请求不包括存储路径的情况下,第一服务器依据处理请求的类型,得到待传输数据的临时存储路径。例如,第一服务器将需要进行图像处理的数据存储于第一目录下、将需要存储的数据存储于第二目录下。若处理请求为对待传输数据进行图像处理,第一服务器确定待传输数据的临时存储路径为第一目录的路径;若处理请求为对待传输数据进行存储,第一服务器确定待传输数据的临时存储路径为第二目录的路径。
3、上述第一服务器依据上述临时存储路径,将上述待传输数据存储至上述磁盘。
作为一种可选的实施方式,第一服务器在执行步骤3之前还执行步骤4:
4、上述第一服务器获取上述待传输数据的数据量。
在执行完步骤4之后,数据处理装置在执行步骤3的过程中执行步骤5:
5、在上述数据量大于数据量阈值的情况下,上述第一服务器依据上述临时存储路径,将上述待传输数据存储至上述磁盘。
数据量大于数据量阈值,说明待传输数据为大容量数据。此时,第一服务器不将待传输数据存储于内存,需要将待传输数据存储于磁盘。因此,在待传输数据为大容量数据的情况下,第一服务器依据临时存储路径,将待传输数据存储至磁盘。
将步骤4和步骤5与前文所述的技术方案结合,可在第一服务器向第二服务器传输大容量数据时,减少第一服务器的内存开销。
可选的,第一服务器在确定待传输数据的数据量小于数据量阈值,或,确定待传输数据的数据量等于数据量阈值的情况下,将待传输数据存储至内存中。这样,第一服务器在需要传输待传输数据时,可直接将存储于内存中的待传输数据以块传输的方式传输待传输数据,从而提高传输效率。
作为一种可选的实施方式,处理请求还包括目标数据名称。第一服务器通过执行以下步骤将待传输数据存储至磁盘:
6、确定上述待传输数据的数据名称为上述目标数据名称,并将上述待传输数据存储至上述磁盘。
本步骤中,目标数据名称为第一服务器对待传输数据进行存储时的名称。处理请求包括目标数据名称,说明用户希望将待传输数据的名称命为目标数据名称。此时,第一服务器可将待传输数据的数据名称取为目标数据名称,并将待传输数据存储至磁盘。基于本步骤,可实现用户自定义待传输数据的名称。
作为一种可选的实施方式,第一服务器在执行步骤102的过程中执行步骤7和步骤8:
7、上述第一服务器对上述临时存储路径进行编码处理,得到编码后的临时存储路径。
可选的,上述编码处理可以是基于64个可打印字符来表示二进制数据(base64)。
8、上述第一服务器对上述编码后的临时存储路径和上述网络地址进行拼接,得到上述下载地址。
请参阅图2,图2是本申请实施例提供的另一种数据传输方法的流程示意图。该实施例的执行主体为第二服务器,其中,第二服务器可以是任意一种可执行该实施例所公开的技术方案的电子设备。可选的,第二服务器可以是以下中的一种:计算机、服务器。
201、第二服务器接收第一服务器发送的下载地址,上述下载地址包括待传输数据在上述第一服务器中的临时存储路径和上述第一服务器的网络地址。
202、上述第二服务器依据上述临时存储路径和上述第一服务器的网络地址,从上述第一服务器的磁盘中下载上述待传输数据。
第二服务器在接收到第一服务器发送的下载地址后,可依据该下载地址从第一服务器的磁盘中下载待传输数据。这样,第一服务器无需将待传输数据存储至内存,再将存储于内存中的待传输数据发送至第二服务器,可以减少第一服务器的内存开销。
在一种可能实现的方式中,第二服务器获取下载地址后,通过下载地址中的临时存储路径和第一服务器的网络地址,调用第一服务器的数据下载接口下载存储于第一服务器的磁盘中的待传输数据,并将已下载的待传输数据传输至第二服务器,例如将待传输数据作为文件流通过HTTP(Hyper Text Transport Protocol,超文本传输协议)响应发送至第二服务器。
本申请实施例中,接口均指网络接口,每个接口与一个网络服务对应。例如,人脸识别接口与人脸识别服务对应,美颜接口与美颜服务对应,下载接口与数据下载服务对应。
如上所述,在传统方法中,第一服务器在将待传输数据传输至第二服务器时,需要先从磁盘中读取待传输数据,并将待传输数据存储至第一服务器的内存,再从将存储于内存中的待传输数据发送至第二服务器。这显然会给第一服务器产生额外的内存开销。第一服务器或在将待传输数据传输至第二服务器时,将磁盘中的待传输数据传输至中间件,再将中间件中的待传输数据传输至第二服务器。
本申请实施例中,第二服务器依据第一服务器发送的下载地址从第一服务器下载待传输数据,这样,第一服务器可避免从磁盘中读取待传输数据并将待传输数据存储至内存,从而降低了第一服务器的内存开销和磁盘的输入/输出(Input/Output,IO)开销。同时,这样,也可以减少因将待传输数据传输至中间件带来的网络IO开销。
作为一种可选的实施方式,第二服务器还执行步骤9和步骤10:
9、接收上述第一服务器发送的目标数据名称和目标存储路径。
本步骤中,目标数据名称为对待传输数据进行存储时的名称,目标存储路径为待传输数据的存储路径。其中,该目标数据名称和目标存储路径可以是用户上传待传输数据到第一服务器时自定义的。
在一种可能实现的方式中,第二服务器接收第一服务器发送的处理请求,该处理请求用于请求第二服务器处理待传输数据,且该处理请求包括目标数据名称。
10、在确定上述目标数据名称符合数据名称规则的情况下,上述第二服务器从上述目标存储路径下的存储数据中确定与上述目标数据名称匹配的待更新数据,并使用上述待传输数据替换上述待更新数据。
本步骤中,数据名称规则包括以下中的一种或多种:数据名称包含目标字符、数据名称的格式为目标格式、数据名称与已存储在第二服务器中的数据的数据名称匹配。例如,假设目标字符为:123,若目标数据名称包含123,则目标数据名称符合数据名称规则;假设目标格式为开头为“&”,若目标数据名称的开头为“&”,则目标数据名称符合数据名称规则;假设目标数据名称为“std”,若已存储在第二服务器中的数据中存在数据名称为“std”的数据文件,则目标数据名称符合数据名称规则。
在本步骤中,目标数据名称符合名称规则,说明待传输数据用于更新第一服务器的磁盘中某个已存储数据(下文将称为待更新数据)。例如,用户将数据a存储于第一服务器的磁盘中,用户对数据a进行了更新得到数据b,并通过客户端将数据b作为待传输数据上传至第一服务器。此时,数据b用于更新第一服务器的磁盘中的数据a。
在传统方法中,用户在向分布式系统上传数据时,无法自定义数据的数据名称,本申请实施例通过执行步骤6,实现自定义数据的数据名称。无法自定义数据的数据名称进而导致分布式系统中的第一服务器无法依据待传输数据的数据名称确定待传输数据是否用于更新待更新数据。这样,第一服务器在不删除待更新数据的情况下存储对待传输数据。此时,对用户而言,待更新数据为无效数据,而对待更新数据的存储导致分布式系统的存储资源的浪费。
在本申请实施例中,第一服务器依据待传输数据的数据名称和数据名称规则,确定待传输数据是否用于更新待更新数据。这样,在确定待传输数据用于更新待更新数据的情况下,第一服务器使用待传输数据更新存储于磁盘中的待更新数据,从而减少存储资源的浪费,提高存储资源的利用率。
在一种可能的实现方式中,待更新数据存储在第二服务器中,第一服务器在确定目标数据名称符合数据名称规则的情况下,向第二服务器发送更新指令。第二服务器在接收到更新指令的情况下,从目标存储路径下的存储数据中确定与目标数据名称匹配的数据,作为待更新数据。第二服务器进而使用待传输数据替换待更新数据。
例如,数据名称规则为开头为“&”。第二服务器在接收到更新指令的情况下,从目标存储路径下的存储数据中确定开头为“&”的数据,作为待更新数据。第二服务器进而使用待传输数据替换待更新数据。
作为一种可选的实施方式,第二服务器在执行步骤9和步骤10的基础上还执行步骤11:
11、在确定上述目标数据名称不符合数据名称规则的情况下,上述第二服务器将上述待传输数据存储至上述目标存储路径下。
在一种可能实现的方式中,第一服务器在确定目标数据名称不符合数据名称规则的情况下,向第二服务器发送不更新指令。第二服务器在接收到不更新指令的情况下,将待传输数据存储至目标存储路径下。
在步骤10和步骤11中,用户在通过电子设备向第一服务器上传待传输数据时,可自定义待传输数据的名称和存储路径,从而实现定制待传输数据的存储路径和名称。
作为一种可选的实施方式,第二服务器在执行完步骤202的过程中执行步骤12:
12、上述第二服务器通过上述临时存储路径和上述第一服务器的网络地址,调用上述第一服务器的下载接口从上述磁盘中下载上述待传输数据。
本申请实施例中,下载接口用于从磁盘中下载数据。第二服务器通过临时存储路径和第一服务器的网络地址,实现调用第一服务器的下载接口从磁盘中下载待传输数据。第一服务器进而可将已下载的待传输数据传输至第二服务器,从而第一服务器无需将待传输数据存储至内存,减少第一服务器的内存开销。
作为一种可选的实施方式,第二服务器包括第一子服务器和第二子服务器,其中,第一子服务器和第二子服务器为两个不同的服务器。在该种实施方式中,第二服务器在执行步骤12的过程中执行步骤13和步骤14:
13、上述第一子服务器通过上述临时存储路径和上述第一服务器的网络地址,调用上述第一服务器的下载接口从上述磁盘中下载上述待传输数据。
本步骤中,前文所述从第一服务器将待传输数据和下载地址发送至第二服务器具体为,第一服务器将待传输数据和下载地址发送至第一子服务器。相应的,第一子服务器通过临时存储路径和第一服务器的网络地址,调用第一服务器的下载接口从磁盘中下载待传输数据。例如,第一子服务器将接收到的下载地址作为下载接口的参数,调用第一服务器的下载接口,通过第一服务器的网络地址向第一服务器发送下载请求,第一服务器接收到该下载请求后,获取下载地址,进行解析得到待传输数据的临时存储路径,获取临时存储路径中的待传输数据后通过流数据形式写入HTTP响应,并向第一子服务器发送该HTTP响应。
14、上述第一子服务器将上述待传输数据存储至上述第二子服务器。
本步骤中,第二子服务器为执行处理请求的服务器。例如,处理请求包括将待传输数据存储于目标目录下,此时,目标目录为第二子服务器下的目录。又例如,处理请求包括对待传输数据进行图像处理,此时,第二子服务器为用于执行图像处理的服务器。因此,第一子服务器在获取到待传输数据后,将待传输数据传输至第二子服务器。
作为一种可选的实施方式,在第二服务器包括第一子服务器和第二子服务器的情况下,第二服务器通过执行步骤15,接收第一服务器发送的目标数据名称和目标存储路径:
15、上述第一子服务器接收上述第一服务器发送的目标数据名称和目标存储路径。
在该种实施方式中,第二服务器通过执行步骤16~步骤18,从上述目标存储路径下的存储数据中确定与上述目标数据名称匹配的待更新数据,并用上述待传输数据替换上述待更新数据:
16、上述第一子服务器向上述第二子服务器发送上述目标数据名称和上述目标存储路径。
17、上述第二子服务器从上述目标存储路径下的存储数据中确定与上述目标数据名称匹配的数据,作为上述待更新数据。
18、上述第二子服务器用上述待传输数据替换上述待更新数据。
在步骤15~步骤18中,第一子服务器在待传输数据的传输过程中起到传输的作用,而第二子服务器在待传输数据的传输过程中起到存储待传输数据或处理待传输数据的作用。这样可提高待传输数据的传输效率和处理效率。
请参阅图3,图3是本申请实施例提供的又一种数据传输方法的流程示意图。该实施例的执行主体包括上述第一服务器和上述第二服务器。
301、上述第一服务器接收上述待传输数据和调用上述第二服务器处理上述待传输数据的处理请求,上述处理请求包括目标数据名称。
本步骤的实现方式可参见步骤1,此处将不再赘述。
302、上述第一服务器依据上述处理请求,得到上述临时存储路径。
本步骤的实现方式可参见步骤2,此处将不再赘述。
303、上述第一服务器获取上述待传输数据的数据量。
本步骤的实现方式可参见步骤4,此处将不再赘述。应理解,本实施例中,步骤303可在执行步骤301之前执行;步骤303也可在执行步骤301之后,在执行步骤302之前执行;步骤303还可在执行步骤302之后,在执行步骤304之前执行。
304、在上述数据量大于数据量阈值的情况下,上述第一服务器确定上述待传输数据的数据名称为上述目标数据名称,并将上述待传输数据存储至上述磁盘。
本步骤的实现方式可参见步骤5和步骤6,此处将不再赘述。
305、上述第一服务器对上述临时存储路径进行编码处理,得到编码后的临时存储路径。
本步骤的实现方式可参见步骤7,此处将不再赘述。
306、上述第一服务器对上述编码后的临时存储路径和上述网络地址进行拼接,得到下载地址。
本步骤的实现方式可参见步骤8,此处将不再赘述。
307、上述第一服务器向第二服务器发送上述下载地址。
本步骤的实现方式可参见步骤102,此处将不再赘述。
308、上述第二服务器接收上述第一服务器发送的上述下载地址。
本步骤的实现方式可参见步骤201,此处将不再赘述。
309、上述第二服务器通过上述临时存储路径和上述第一服务器的网络地址,调用上述第一服务器的下载接口从上述磁盘中下载上述待传输数据。
本步骤的实现方式可参见步骤12,此处将不再赘述。
本申请实施例中,在该处理请求为文件存储请求的情况下,该数据传输方法还包括:
310、在确定上述目标数据名称符合数据名称规则的情况下,上述第二服务器从上述目标存储路径下的存储数据中确定与上述目标数据名称匹配的待更新数据,并使用上述待传输数据替换上述待更新数据。
本步骤的实现方式可参见步骤10,此处将不再赘述。
311、在确定上述目标数据名称不符合数据名称规则的情况下,上述第二服务器将上述待传输数据存储至上述目标存储路径下。
本步骤的实现方式可参见步骤11,此处将不再赘述。
本申请实施例中,在该处理请求为文件处理请求的情况下,例如处理请求为目标检测请求的情况下,该数据传输方法还包括:
根据所述处理请求,对所述待传输数据进行处理,得到处理结果,并将所述处理结果反馈给第一服务器。
第一服务器接收所述处理结果,反馈给客户端。
请参阅图4,图4是本申请实施例提供的又一种数据传输方法的流程示意图。该实施例的执行主体包括上述第一服务器和上述第二服务器,其中,第二服务器包括第一子服务器和第二子服务器,第一子服务器和第二子服务器为两个不同的服务器。
401、上述第一服务器接收上述待传输数据和调用上述第二子服务器处理上述待传输数据的处理请求,上述处理请求包括目标数据名称。
本步骤的实现方式可参见步骤1,此处将不再赘述。
402、上述第一服务器依据上述处理请求,得到上述临时存储路径。
本步骤的实现方式可参见步骤2,此处将不再赘述。
403、上述第一服务器获取上述待传输数据的数据量。
本步骤的实现方式可参见步骤4,此处将不再赘述。应理解,本实施例中,步骤303可在执行步骤301之前执行;步骤303也可在执行步骤301之后,在执行步骤302之前执行;步骤303还可在执行步骤302之后,在执行步骤304之前执行。
404、在上述数据量大于数据量阈值的情况下,上述第一服务器确定上述待传输数据的数据名称为上述目标数据名称,并将上述待传输数据存储至上述磁盘。
本步骤的实现方式可参见步骤5和步骤6,此处将不再赘述。
405、上述第一服务器对上述临时存储路径进行编码处理,得到编码后的临时存储路径。
本步骤的实现方式可参见步骤7,此处将不再赘述。
406、上述第一服务器对上述编码后的临时存储路径和上述网络地址进行拼接,得到上述下载地址。
本步骤的实现方式可参见步骤8,此处将不再赘述。
407、上述第一服务器向第一子服务器发送上述下载地址。
本步骤的实现方式可参见步骤102,此处将不再赘述。
408、第一子服务器接收第一服务器发送的下载地址。
本步骤的实现方式可参见步骤201,此处将不再赘述。
409、上述第一子服务器通过上述临时存储路径和上述第一服务器的网络地址,调用上述第一服务器的下载接口从上述磁盘中下载上述待传输数据。
本步骤的实现方式可参见步骤13,此处将不再赘述。
410、上述第一子服务器接收上述第一服务器发送的目标存储路径。
本步骤的实现方式可参见步骤15,此处将不再赘述。
411、上述第一子服务器向上述第二子服务器发送上述目标数据名称和上述目标存储路径。
本步骤的实现方式可参见步骤16,此处将不再赘述。
412、上述第二子服务器从上述目标存储路径下的存储数据中确定与上述目标数据名称匹配的数据,作为上述待更新数据。
本步骤的实现方式可参见步骤17,此处将不再赘述。
413、上述第二子服务器用上述待传输数据替换上述待更新数据。
本步骤的实现方式可参见步骤18,此处将不再赘述。
基于本申请实施例提供的技术方案,本申请实施例还提供了一种可能的应用场景。
随着人工智能技术的快速发展,人工智能的应用越来越广泛。考虑到开发人工智能应用的难度、成本,以及开发的人工智能应用的效果可能不佳的问题,越来越多的人和企业选择项人工智能服务供应商租用人工智能服务。
场景1:为更好的管理服务以及更好的向租户提供服务,人工智能供应商采用微服务架构为租户提供服务。在微服务架构运行的过程中,经常涉及数据的传输,尤其是大容量数据的传输。因此,如何提高大容量数据的传输效率对提高微服务架构的运行效率具有非常重要的意义。
在租户通过客户端向微服务架构中的第一服务器(如业务服务器)上传待传输数据以及处理请求。第一服务器将待传输数据存储于磁盘中。第一服务器依据处理请求中的临时存储路径和第一服务器的网络地址,生成待传输数据的下载地址。第一服务器将下载地址和处理请求中的目标数据名称发送至第二服务器。第二服务器通过临时存储路径和第一服务器的网络地址,调用第一服务器的下载接口从磁盘中下载待传输数据,从而完成第一服务器向第二服务器的数据传输。
第二服务器在从第一服务器下载待传输数据后,可依据处理请求对待传输数据进行处理,并在完成对待传输数据的处理后,向第一服务器发送处理结果。第一服务器进而可将处理结果发送至客户端。
例如,租户通过客户端向第一服务器上传图像a,并向第一服务器发送对图像a进行美颜处理的处理请求。第二服务器在从第一服务器下载图像a后,对图像a进行美颜处理得到图像b,将图像b发送至第一服务器。第一服务器进而可将图像b发送至客户端。
场景2:为更好的管理服务以及更好的向租户提供服务,人工智能供应商采用分布式系统为租户提供服务。在分布式系统运行的过程中,经常涉及数据的传输,尤其是大容量数据的传输。因此,如何提高大容量数据的传输效率对提高分布式系统的运行效率具有非常重要的意义。
在租户通过客户端向分布式系统中的第一服务器上传待传输数据以及处理请求(在场景2中,处理请求可以是存储待传输数据)。第一服务器将待传输数据存储于磁盘中。第一服务器依据处理请求中的临时存储路径进行编码处理,得到编码后的临时存储路径。第一服务器对编码后的临时存储路径和第一服务器的网络地址进行拼接,生成待传输数据的下载地址。
第一服务器获取待传输数据的数据量,并将待传输数据的数据量与数据量阈值进行比较。在确定待传输数据的数据量大于数据量阈值的情况下,第一服务器确定待传输数据的数据名称为目标数据名称,并将待传输数据依据临时路径存储至磁盘。在确定待传输数据的数据量小于或等于数据量阈值的情况下,第一服务器确定待传输数据的数据名称为目标数据名称,并将待传输数据存储至内存。
第一服务器在为待传输数据生成目标存储路径后,将目标存储路径、下载地址和处理请求中的目标数据名称发送至第一子服务器。例如,将目标存储路径、目标数据名称和下载地址作为接口参数,通过调用第一子服务器的文件传输接口的方式,向第一子服务器发送文件传输请求。
第一子服务器通过临时存储路径和第一服务器的网络地址,向第一服务器发送下载待传输数据的请求。例如,第一子服务器将下载地址作为接口参数,调用第一服务器的下载接口,向第一服务器发送下载请求。第一服务器依据下载待传输数据的请求,解析下载地址,得到待传输数据的临时存储路径,从磁盘中下载待传输数据,并将待传输数据作为文件流通过HTTP响应发送至第一子服务器。
第一子服务器将待传输数据、目标存储路径和目标数据名称发送至第二子服务器。第二子服务器判断目标数据名称是否符合数据名称规则。如果符合,第二子服务器确定目标存储路径下的待更新数据,并使用待传输数据替换待更新数据;如果不符合,第二子服务器将待传输数据存储至目标存储路径下。
第二子服务器在完成待传输数据的存储后,向第一子服务器发送存储完成的信息,第一子服务器再将该存储完成的信息发送至第一服务器,由第一服务器发送至租户客户端。
在场景1和2中,由于从第一服务器接收到租户客户端上传的待传输数据至第二服务器完成对待传输数据的处理或存储的实现过程,均由分布式系统完成,该过程无需客户端参与,可在用户无感知的情况下,提高待传输数据的存储过程中的传输效率,以及降低内存开销、磁盘IO开销和网络IO开销。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参阅图5,图5本申请实施例提供的一种第一服务器的结构示意图,该第一服务器1包括:生成单元11、发送单元12、接收单元13、处理单元14、存储单元15、获取单元16,其中:
生成单元11,用于依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址,所述待传输数据存储于所述第一服务器的磁盘中;
发送单元12,用于向第二服务器发送所述下载地址。
结合本申请任一实施方式,所述第一服务器还包括:接收单元13,用于在依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址之前,接收所述待传输数据和调用所述第二服务器处理所述待传输数据的处理请求;
处理单元14,用于依据所述处理请求,得到所述临时存储路径;
存储单元15,用于依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述第一服务器还包括:获取单元16,用于在所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘之前,获取所述待传输数据的数据量;
所述处理单元14,用于:
在所述数据量大于数据量阈值的情况下,依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述处理请求还包括目标数据名称;
所述处理单元14,用于:在所述数据量大于数据量阈值的情况下,确定所述待传输数据的数据名称为所述目标数据名称,并将所述待传输数据存储至所述磁盘。
结合本申请任一实施方式,所述生成单元11,用于:
对所述临时存储路径进行编码处理,得到编码后的临时存储路径;
所述编码后的临时存储路径和所述网络地址进行拼接,得到所述下载地址。
请参阅图6,图6本申请实施例提供的一种第二服务器的结构示意图,该第二服务器2包括:接收单元21、下载单元22、处理单元23,可选的,第二服务器2包括:第一子服务器24和第二子服务器25,其中:
接收单元21,用于接收第一服务器发送的下载地址,所述下载地址包括待传输数据在所述第一服务器中的临时存储路径和所述第一服务器的网络地址;
下载单元22,用于依据所述临时存储路径和所述第一服务器的网络地址,从所述第一服务器的磁盘中下载所述待传输数据。
结合本申请任一实施方式,所述接收单元21,还用于:接收所述第一服务器发送的目标数据名称和目标存储路径;
所述第二服务器还包括:处理单元23,用于在确定所述目标数据名称符合数据名称规则的情况下,从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据。
结合本申请任一实施方式,所述处理单元23,还用于:
在确定所述目标数据名称不符合数据名称规则的情况下,将所述待传输数据存储至所述目标存储路径下。
结合本申请任一实施方式,所述下载单元22,用于:
所述第二服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据。
结合本申请任一实施方式,所述第二服务器包括第一子服务器24和第二子服务器25;
所述第一子服务器24通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据;
所述第一子服务器24将所述待传输数据存储至所述第二子服务器25。
结合本申请任一实施方式,所述第一子服务器24接收所述第一服务器发送的目标数据名称和目标存储路径;
所述第一子服务器24向所述第二子服务器25发送所述目标数据名称和所述目标存储路径;
所述第二子服务器25从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的数据,作为所述待更新数据;
所述第二子服务器25用所述待传输数据替换所述待更新数据。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
图7为本申请实施例提供的一种第一服务器的硬件结构示意图。该第一服务器3包括处理器31,存储器32,输入装置33,输出装置34。该处理器31、存储器32、输入装置33和输出装置34通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。
处理器31可以是一个或多个图形处理器(graphics processing unit,GPU),在处理器31是一个GPU的情况下,该GPU可以是单核GPU,也可以是多核GPU。可选的,处理器31可以是多个GPU构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。
存储器32可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasableprogrammable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置33用于输入数据和/或信号,以及输出装置34用于输出数据和/或信号。输入装置33和输出装置34可以是独立的器件,也可以是一个整体的器件。
可理解,本申请实施例中,存储器32不仅可用于存储相关指令,还可用于存储相关数据,如该存储器32可用于存储通过输入装置33获取的待传输数据,本申请实施例对于该存储器中具体所存储的数据不作限定。
可以理解的是,图7仅仅示出了一种第一服务器的简化设计。在实际应用中,第一服务器还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。
图8为本申请实施例提供的一种第二服务器的硬件结构示意图。该第二服务器4包括处理器41,存储器42,输入装置43,输出装置44。该处理器41、存储器42、输入装置43和输出装置44通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。
处理器41可以是一个或多个图形处理器(graphics processing unit,GPU),在处理器41是一个GPU的情况下,该GPU可以是单核GPU,也可以是多核GPU。可选的,处理器41可以是多个GPU构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。
存储器42可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasableprogrammable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置43用于输入数据和/或信号,以及输出装置44用于输出数据和/或信号。输入装置43和输出装置44可以是独立的器件,也可以是一个整体的器件。
可理解,本申请实施例中,存储器42不仅可用于存储相关指令,还可用于存储相关数据,如该存储器42可用于存储通过输入装置43接收到的下载地址,本申请实施例对于该存储器中具体所存储的数据不作限定。
可以理解的是,图8仅仅示出了一种第二服务器的简化设计。在实际应用中,第二服务器还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。
本申请实施例还提供了一种第一服务器,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述第一服务器执行如上述第一方面及其任意一种可能实现的方式中第一服务器所执行的方法。
本申请实施例还提供了一种第二服务器,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述第二服务器执行如上述第二方面及其任意一种可能实现的方式中第二服务器所执行的方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如上述第一方面及其任意一种可能实现的方式中第一服务器所执行的方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如上述第二方面及其任意一种可能实现的方式中第二服务器所执行的方法。
计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行上述第一方面及其任一种可能的实现方式中第一服务器所执行的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行上述第二方面及其任一种可能的实现方式中第二服务器所执行的方法。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所属领域的技术人员还可以清楚地了解到,本申请各个实施例描述各有侧重,为描述的方便和简洁,相同或类似的部分在不同实施例中可能没有赘述,因此,在某一实施例未描述或未详细描述的部分可以参见其他实施例的记载。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可下载存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法包括:
第一服务器接收待传输数据和调用第二服务器处理所述待传输数据的处理请求;所述处理请求包括目标数据名称,所述目标数据名称为用户定义的所述待传输数据的名称;
所述第一服务器依据所述处理请求的类型,得到所述待传输数据的临时存储路径;
所述第一服务器确定所述待传输数据的数据名称为所述目标数据名称,并将所述待传输数据存储至磁盘;
第一服务器依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址,所述待传输数据存储于所述第一服务器的磁盘中;
所述第一服务器向第二服务器发送所述下载地址。
2.根据权利要求1所述的方法,其特征在于,在所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘之前,所述方法还包括:
所述第一服务器获取所述待传输数据的数据量;
所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘,包括:
在所述数据量大于数据量阈值的情况下,所述第一服务器依据所述临时存储路径,将所述待传输数据存储至所述磁盘。
3.根据权利要求1或2所述的方法,其特征在于,所述第一服务器依据待传输数据的临时存储路径和所述第一服务器的网络地址,生成所述待传输数据的下载地址,包括:
所述第一服务器对所述临时存储路径进行编码处理,得到编码后的临时存储路径;
所述第一服务器对所述编码后的临时存储路径和所述网络地址进行拼接,得到所述下载地址。
4.一种数据传输方法,其特征在于,所述方法包括:
第二服务器接收第一服务器发送的下载地址,所述下载地址包括待传输数据在所述第一服务器中的临时存储路径和所述第一服务器的网络地址;
所述第二服务器依据所述临时存储路径和所述第一服务器的网络地址,从所述第一服务器的磁盘中下载所述待传输数据;
接收所述第一服务器发送的目标数据名称和目标存储路径;
在确定所述目标数据名称符合数据名称规则的情况下,确定所述待传输数据用于更新所述第一服务器的磁盘中的数据;
所述第二服务器在确定所述待传输数据用于更新所述第一服务器的磁盘中的数据的情况下,从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在确定所述目标数据名称不符合数据名称规则的情况下,所述第二服务器将所述待传输数据存储至所述目标存储路径下。
6.根据权利要求4或5所述的方法,其特征在于,所述第二服务器依据所述临时存储路径和所述第一服务器的网络地址,从所述第一服务器的磁盘中下载所述待传输数据,包括:
所述第二服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据。
7.根据权利要求6所述的方法,其特征在于,所述第二服务器包括第一子服务器和第二子服务器;
所述第二服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据,包括:
所述第一子服务器通过所述临时存储路径和所述第一服务器的网络地址,调用所述第一服务器的下载接口从所述磁盘中下载所述待传输数据;
所述第一子服务器将所述待传输数据存储至所述第二子服务器。
8.根据权利要求7所述的方法,其特征在于,所述第二服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据之前,包括:
所述第一子服务器接收所述第一服务器发送的目标数据名称和目标存储路径;
所述第二服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的待更新数据,并使用所述待传输数据替换所述待更新数据,包括:
所述第一子服务器向所述第二子服务器发送所述目标数据名称和所述目标存储路径;
所述第二子服务器从所述目标存储路径下的存储数据中确定与所述目标数据名称匹配的数据,作为所述待更新数据;
所述第二子服务器用所述待传输数据替换所述待更新数据。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述电子设备执行如权利要求1至3中任意一项所述的方法,或者,所述电子设备执行如权利要求4至8中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行权利要求1至3中任意一项所述的方法,或者,所述处理器 执行如权利要求4至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110347414.1A CN113098957B (zh) | 2021-03-31 | 2021-03-31 | 数据传输方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110347414.1A CN113098957B (zh) | 2021-03-31 | 2021-03-31 | 数据传输方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098957A CN113098957A (zh) | 2021-07-09 |
CN113098957B true CN113098957B (zh) | 2022-12-27 |
Family
ID=76671597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110347414.1A Active CN113098957B (zh) | 2021-03-31 | 2021-03-31 | 数据传输方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098957B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422604A (zh) * | 2020-06-10 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 文件上传方法、装置、系统及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991683A (zh) * | 2015-02-02 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 数据传输方法及装置 |
CN106470222A (zh) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | 一种文件传输方法、装置及应用服务器 |
CN108306934A (zh) * | 2017-12-28 | 2018-07-20 | 北京天元创新科技有限公司 | 一种跨服务器文件传输方法及系统 |
CN111090818B (zh) * | 2018-10-23 | 2024-04-19 | 广州虎牙信息科技有限公司 | 资源管理方法、资源管理系统、服务器及计算机存储介质 |
-
2021
- 2021-03-31 CN CN202110347414.1A patent/CN113098957B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422604A (zh) * | 2020-06-10 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 文件上传方法、装置、系统及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113098957A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110912803B (zh) | 一种im消息传输方法及终端 | |
CN109754072B (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
CN106027608B (zh) | 一种图片上传方法、客户端及服务器 | |
CN106572146A (zh) | 消息发送方法及消息发送装置 | |
CN105376225A (zh) | 一种软件服务化的方法及装置 | |
CN111163130A (zh) | 一种网络服务系统及其数据传输方法 | |
CN114785685A (zh) | 软件差分升级方法、装置、电子设备及可读存储介质 | |
CN102073705B (zh) | 一种彩卡客户端的短信智能解析系统 | |
CN105721469A (zh) | 音频数据处理方法、服务器、客户端以及系统 | |
CN114218175A (zh) | 一种资源跨平台共享方法、装置、终端设备及存储介质 | |
CN112835632A (zh) | 一种端能力的调用方法、设备和计算机存储介质 | |
CN111034184B (zh) | 提高视频质量的视频通话方法及计算机可读记录介质 | |
KR20180093449A (ko) | 문서변환장치 및 문서변환방법 | |
CN113098957B (zh) | 数据传输方法及相关产品 | |
CN113282590A (zh) | 基于5g消息的接口联调方法及装置 | |
US20210250962A1 (en) | Connecting computer processing systems and transmitting data | |
US20210250425A1 (en) | Connecting computer processing systems and transmitting data | |
CN112714068A (zh) | 编码图像的处理方法、装置及系统、存储介质、电子装置 | |
CN111651536A (zh) | 数据处理方法及装置 | |
CN110198349B (zh) | 文件传输方法和装置、存储介质及电子装置 | |
CN114244912B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN111324645A (zh) | 区块链的数据处理方法及装置 | |
WO2022067509A1 (zh) | 设备升级控制方法、装置、计算机设备及存储介质 | |
CN111459819B (zh) | 软件测试方法及装置、电子设备、计算机可读介质 | |
CN114566173A (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 |