CN110519357B - 文件传输方法及系统、计算机装置及存储介质 - Google Patents
文件传输方法及系统、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN110519357B CN110519357B CN201910770247.4A CN201910770247A CN110519357B CN 110519357 B CN110519357 B CN 110519357B CN 201910770247 A CN201910770247 A CN 201910770247A CN 110519357 B CN110519357 B CN 110519357B
- Authority
- CN
- China
- Prior art keywords
- belongs
- network
- target
- operator
- network node
- 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]
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种文件传输方法及系统、计算机装置及存储介质,包括:接收请求方发送目标文件至目的方的文件传输请求;根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定用于中转的网络节点的数量;根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。本发明可以提升文件传输的可靠性和稳定性。
Description
技术领域
本发明涉及计算机网络技术领域,具体涉及一种文件传输方法及系统、计算机装置及存储介质。
背景技术
目前,通过中心服务器进行文件传输的方案中,中心服务器接收请求方发送目标文件至目的方的文件传输请求,中心服务器直接发送目标文件至目的方或调度中间服务器将目标文件发送至目的方。
然而,上述方案的传输路径单一,存在单点资源限制的瓶颈,可能因为中心服务器和中间服务器的计算、传输资源不足影响文件传输的可靠性和稳定性。
发明内容
鉴于以上内容,有必要提出一种文件传输方法及系统、计算机装置及存储介质,其可以根据文件传输请求确定用于文件传输中转的网络节点调度,通过分布式系统中的网络节点进行文件传输,克服单点资源限制的瓶颈,均衡网络节点负载,提升文件传输服务的可靠性和稳定性。
本申请的第一方面提供一种文件传输方法,所述方法包括:
接收请求方发送目标文件至目的方的文件传输请求;
根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;
若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定用于中转的网络节点的数量;
根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;
将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。
另一种可能的实现方式中,所述目标网络节点收到所述文件块后,根据所述目标网络节点的网络信息和所述目的方的网络信息判断所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商是否一致;
若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商一致,则将所述文件块发送给所述目的方;
否则,若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商不一致,则向所述计算机装置发送将所述文件块发送至所述目的方的文件传输请求。
另一种可能的实现方式中,所述根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的网络节点包括:
根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点;
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点。
另一种可能的实现方式中,所述根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点包括:
根据所述各个网络节点的网络信息获取所述各个网络节点所属的区域和运营商;
根据所述请求方的网络信息获取所述请求方所属的区域和运营商;
根据所述目的方的网络信息获取所述目的方所属的区域和运营商;
若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,或者所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点;
若所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点,或者从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
另一种可能的实现方式中,所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商在预设运营商范围内的网络节点作为所述候选网络节点;
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域在预设区域范围内且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
另一种可能的实现方式中,所述负载信息包括剩余存储空间、带宽和节点可连接数,所述根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点包括:
计算每个候选网络节点的剩余存储空间、带宽和节点可连接数的加权和;
根据每个候选网络节点的加权和确定所述数量的所述目标网络节点。
另一种可能的实现方式中,所述方法还包括:
对于所述各个网络节点中的任一给定网络节点,若在预设周期内接收到所述给定网络节点的网络信息和负载信息,根据接收的所述给定网络节点的网络信息和负载信息更新存储的所述给定网络节点的网络信息和负载信息;
若在预设周期内未接收到所述给定网络节点的网络信息和负载信息,则删除存储的所述给定网络节点的网络信息和负载信息。
本申请的第二方面提供一种计算机装置,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述文件传输方法。
本申请的第三方面提供一种文件传输系统,所述系统包括:
接收单元,用于接收请求方发送目标文件至目的方的文件传输请求;
判断单元,用于根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;
第一确定单元,用于若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定用于中转的网络节点的数量;
第二确定单元,用于根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;
返回单元,用于将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。
另一种可能的实现方式中,所述目标网络节点收到所述文件块后,根据所述目标网络节点的网络信息和所述目的方的网络信息判断所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商是否一致;
若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商一致,则将所述文件块发送给所述目的方;
否则,若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商不一致,则向所述计算机装置发送将所述文件块发送至所述目的方的文件传输请求。
另一种可能的实现方式中,所述根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的网络节点包括:
根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点;
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点。
另一种可能的实现方式中,所述根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点包括:
根据所述各个网络节点的网络信息获取所述各个网络节点所属的区域和运营商;
根据所述请求方的网络信息获取所述请求方所属的区域和运营商;
根据所述目的方的网络信息获取所述目的方所属的区域和运营商;
若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,或者所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点;
若所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点,或者从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
另一种可能的实现方式中,所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商在预设运营商范围内的网络节点作为所述候选网络节点;
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域在预设区域范围内且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
另一种可能的实现方式中,所述负载信息包括剩余存储空间、带宽和节点可连接数,所述根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点包括:
计算每个候选网络节点的剩余存储空间、带宽和节点可连接数的加权和;
根据每个候选网络节点的加权和确定所述数量的所述目标网络节点。
另一种可能的实现方式中,所述系统还包括:
更新单元,用于对于所述各个网络节点中的任一给定网络节点,若在预设周期内接收到所述给定网络节点的网络信息和负载信息,根据接收的所述给定网络节点的网络信息和负载信息更新存储的所述给定网络节点的网络信息和负载信息;若在预设周期内未接收到所述给定网络节点的网络信息和负载信息,则删除存储的所述给定网络节点的网络信息和负载信息。
本申请的第四方面提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述文件传输方法。
本申请的第五方面提供一种计算机程序产品,包括计算机指令,当其在计算机装置上运行时,使得计算机装置执行所述文件传输方法。
本发明接收请求方发送目标文件至目的方的文件传输请求;根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定所述数量;根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。本发明可以通过分布式系统中的网络节点进行文件传输,克服单点资源限制的瓶颈,均衡网络节点负载,提升了文件传输服务的可靠性和稳定性。
附图说明
图1是本发明实施例提供的文件传输方法较佳实施例的流程图。
图2是本发明实施例提供的文件传输系统较佳实施例的流程图。
图3是本发明实施例提供的计算机装置较佳实施例的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明的文件传输方法应用在计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本及掌上电脑等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述计算机装置可以是组成CDN(Content Delivery Network,内容分发网络)网络或者区块链网络的节点。
优选地,本发明的文件传输方法应用在中心服务器中。其中,所述中心服务器可以是指能对网络中的节点(如客户端、服务器)提供服务的计算机装置。如果一个个人电脑能够对外提供网络节点调度协议(File Transfer Protocol,简称FTP)服务,也可以叫中心服务器。从狭义范围上讲,中心服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通的个人电脑有所不同。所述中心服务器用于向节点(服务器和/或客户端)提供服务(例如数据传输服务)。
实施例一
图1是本发明实施例提供的文件传输方法的流程图。在本实施例中,所述文件传输方法应用于中心服务器,用于根据文件传输请求通过网络节点进行文件传输。
参阅图1所示,所述文件传输方法具体包括以下步骤:
S101,接收请求方发送目标文件至目的方的文件传输请求。
请求方向中心服务器发送所述文件传输请求,以将所述目标文件发送至目的方。例如,客户端A向中心服务器发送要将视频文件传输给客户端B的文件传输请求,客户端A为请求方,视频文件为目标文件,客户端B为目的方。
所述请求方和所述目的方可以包括但不限于服务器、台式计算机、膝上型便携计算机、手机、个人数字助理、平板电脑、智能手机和车载电脑等。
所述目标文件可以包括视频文件、音频文件、文本文件等。
在一实施例中,可以接收多个文件传输请求,若当前待处理的文件传输请求的数量大于预设阈值,将新接收的文件传输请求转发至中心服务器集群中的其他中心服务器。所述文件传输请求可以来自不同的请求方,同一请求方可以发送多个文件传输请求,用于传输不同的目标文件。
S102,根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方。
若所述目标文件不需要通过中转发送到所述目的方,则将所述目标文件发送给所述目的方。
在一具体实施例中,根据所述请求方的网络信息获取所述请求方所属的区域和运营商,根据所述目的方的网络信息获取所述目的方所属的区域和运营商。若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则所述目标文件不需要通过中转发送到所述目的方。否则,若所述请求方所属的区域与所述目的方所属的区域不一致或所述请求方所属的运营商与所述目的方所属的运营商不一致,则所述目标文件需要通过中转发送到所述目的方。
所述请求方的网络信息中可以包括所述请求方所属的区域和运营商,所述目的方的网络信息中可以包括所述目的方所属的区域和运营商。因此,可以从所述请求方的网络信息中获取所述请求方所属的区域和运营商,从所述目的方的网络信息中获取所述目的方所属的区域和运营商。
或者,所述请求方的网络信息中可以包括所述请求方的IP地址,所述目的方的网络信息中可以包括所述目的方的IP地址。可以根据所述请求方的网络信息中的所述请求方的IP地址获取所述请求方所属的区域和运营商,根据所述目的方的网络信息中的所述目的方的IP地址获取所述目的方所属的区域和运营商。
在另一具体实施例中,判断所述目的方的网络信息中的所述目的方的IP地址与所述请求方的网络信息中的所述请求方的IP地址是否在同一IP地址范围,若所述目的方的网络信息中的所述目的方的IP地址与所述请求方的网络信息中的所述请求方的IP地址在同一IP地址范围,则所述目标文件不需要通过中转发送到所述目的方。否则,若所述目的方的网络信息中的所述目的方的IP地址与所述请求方的网络信息中的所述请求方的IP地址是否不在同一IP地址范围,则所述目标文件需要通过中转发送到所述目的方。
S103,若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定用于中转的网络节点的数量。
在一具体实施例中,可以根据所述目标文件的大小与预设文件块大小确定用于中转的网络节点的数量。例如,所述目标文件的大小为10MB,所述预设文件块大小为1MB,则用于中转的网络节点的数量为10MB/1MB=10。
在另一具体实施例中,可以根据所述目标文件的大小、预设文件块大小、单个网络节点最大文件块数量确定用于中转的网络节点的数量。例如,所述目标文件的大小为10MB,所述预设文件块大小为1MB,单个网络节点最大文件块数量为2,则用于中转的网络节点的数量为10MB/1MB/2=5。
S104,根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点。
在本实施例中,所述分布式系统中包含海量不同能力的网络节点。所述网络节点可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理、游戏机、交互式网络电视、智能穿戴式设备等。所述网络节点还可以是个人云盘,例如玩客云。
在一具体实施例中,所述根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的网络节点包括:
根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点;
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点。
具体地,所述根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点包括:
(1)根据所述各个网络节点的网络信息获取所述各个网络节点所属的区域和运营商,根据所述请求方的网络信息获取所述请求方所属的区域和运营商,根据所述目的方的网络信息获取所述目的方所属的区域和运营商。
可以根据所述各个网络节点的网络信息中的所述各个网络节点的IP地址获取所述各个网络节点所属的区域和运营商;根据所述目的方的网络信息中的所述目的方的IP地址获取所述目的方所属的区域和运营商;根据所述请求方的网络信息中的所述请求方的IP地址获取所述请求方所属的区域和运营商。
可以通过查询IP地址-区域映射表和IP地址-运营商映射表获取IP地址对应的区域和运营商。所述区域可以包括按照省份划分的地理区域,所述运营商可以包括中国电信、中国联通、中国网通、中国铁通等。
(2)若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,或者所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
例如,请求方A所属的区域为华南,目的方B所属的区域为华南,请求方A所属的运营商为中国网通,目的方B所属的运营商为中国铁通,可以判断请求方A所属的区域与目的方B所属的区域一致且请求方A所属的运营商与目的方B所属的运营商不一致,则从各个网络节点中确定所属的区域为华南(目的方B所属的区域)且所属的运营商为中国铁通(目的方B所属的运营商)的网络节点作为候选网络节点。再如,请求方A所属的区域为华南,目的方B所属的区域为华东,请求方A所属的运营商为中国网通,目的方B所属的运营商为中国网通,可以判断请求方A所属的区域与目的方B所属的区域不一致且请求方A所属的运营商与目的方B所属的运营商一致,则从各个网络节点中确定所属的区域为华东(目的方B所属的区域)且所属的运营商为中国联通(目的方B所属的运营商)的网络节点作为候选网络节点。
(3)若所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点,或者从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商在预设运营商范围内的网络节点作为所述候选网络节点。
例如,目的方B所属的区域为华南,目的方B所属的运营商为中国网通,可以从各个网络节点中确定所属的区域为华南(目的方B所属的区域)且所属的运营商为中国铁通的网络节点作为候选网络节点。中国铁通与中国网通(目的方B所属的运营商)在预设运营商范围内。
可以预先定义多个预设运营商范围。例如,可以将有网络连接的运营商定义为一个预设运营商范围。
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域在预设区域范围内且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
可以预先定义多个预设区域范围。例如,预设区域范围包括华南,目的方B所属的区域为广东,目的方B所属的运营商为中国网通,可以从各个网络节点中确定所属的区域为江西或湖南且所属的运营商为中国网通(目的方B所属的运营商)的网络节点作为候选网络节点,其中,江西和湖南与广东同在华南。
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点的目的是为了实现网络节点负载均衡。
在一实施例中,所述负载信息包括剩余存储空间、带宽和节点可连接数,所述根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点包括:
计算每个候选网络节点的剩余存储空间、带宽和节点可连接数的加权和;
根据每个候选网络节点的加权和确定所述数量的所述目标网络节点。
候选网络节点的剩余存储空间为S,带宽为M,节点可连接数为N,候选网络节点的剩余存储空间、带宽、节点可连接数的权值分别为RS、RM、RN,候选网络节点的剩余存储空间、带宽和节点可连接数的加权和T可以计算为:T=SGS+MGM+NGN,其中RS+RM+RN=1(例如RS=0.1,RM=0.3,RN=0.6)。
在一具体实施例中,计算每个候选网络节点的剩余存储空间S、带宽M和节点可连接数N的归一化值GS、GM、GN,其中US、UM、UN分别为所有候选网络节点的剩余存储空间均值、带宽均值和节点可连接数均值。候选网络节点的剩余存储空间、带宽和节点可连接数的加权和T可以计算为:T=RSGS+RMGM+RNGN。
可以按照加权和从大到小的顺序从候选网络节点中选取网络节点作为目标网络节点。
在另一实施例中,所述负载信息包括流量,可以根据所述候选网络节点的流量从所述候选网络节点中确定所述数量的所述目标网络节点。例如,按照流量从小到大的顺序从候选网络节点中选取网络节点作为目标网络节点,以防止单个网络节点流量过高及防止单个网络节点流量过低。
S105,将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。
例如,将三个目标网络节点(目标网络节点1、目标网络节点2、目标网络节点3)返回请求方A。请求方A将目标文件D拆分为三个文件块(文件块D1、文件块D2、文件块D3),将文件块D1发送给目标网络节点1,将文件块D2发送给目标网络节点2,将文件块D3发送给目标网络节点3。
在另一实施例中,所述目标网络节点收到所述文件块后,根据所述目标网络节点的网络信息和所述目的方的网络信息判断所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商是否一致;若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商一致,则将所述文件块发送给所述目的方;否则,若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商不一致,则向所述中心服务器发送将所述文件块发送至所述目的方的文件传输请求。
例如,目标网络节点收到所述文件块后,确定目标网络节点所属的区域为广东,目标网络节点所属的运营商为中国铁通,目的方所属的区域为广东,目的方所属的运营商为中国铁通,目标网络节点所属的区域和运营商与目的方所属的区域和运营商一致,所述目标网络节点将文件块发送给目的方。再如,目标网络节点收到所述文件块后,确定目标网络节点所属的区域为广东,目标网络节点所属的运营商为中国铁通,目的方所属的区域为江西,目的方所属的运营商为中国铁通,目标网络节点所属的区域和运营商与目的方所属的区域和运营商不一致,则所述目标网络节点向中心服务器发送将文件块发送至目的方的文件传输请求。
实施例一所述的文件传输方法接收请求方发送目标文件至目的方的文件传输请求;根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定所述数量;根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。实施例一的文件传输方法通过分布式系统中的网络节点进行文件传输,克服单点资源限制的瓶颈,均衡网络节点负载,提升了文件传输服务的可靠性和稳定性。
在另一实施例中,所述文件传输方法还可以包括:对于所述各个网络节点中的任一给定网络节点,若在预设周期内接收到所述给定网络节点的网络信息和负载信息,根据接收的所述给定网络节点的网络信息和负载信息更新存储的所述给定网络节点的网络信息和负载信息;若在预设周期内未接收到所述给定网络节点的网络信息和负载信息,则删除存储的所述给定网络节点的网络信息和负载信息。
若网络节点工作正常,网络节点按照预设周期(例如5秒)上传网络信息和负载信息给中心服务器。若在预设周期内接收到网络节点的网络信息和负载信息,表明网络节点工作正常,则根据接收的网络节点的网络信息和负载信息更新存储的所述网络节点的网络信息和负载信息。若在预设周期内未接收到网络节点的网络信息和负载信息,表明网络节点不能正常工作,则删除存储的该网络节点的网络信息和负载信息。通过更新存储的各个网络节点的网络信息和负载信息可以降低将异常的网络节点调度给所述请求方的风险,进一步提升文件传输的可靠性和稳定性。
实施例二
图2为本发明实施例提供的文件传输系统较佳实施例的流程图。在本实施例中,所述文件传输系统10应用于中心服务器中,用于根据文件传输请求通过网络节点进行文件传输。
如图2所示,所述文件传输系统10可以包括:接收单元201、判断单元202、第一确定单元203、第二确定单元204、返回单元205。
接收单元201,用于接收请求方发送目标文件至目的方的文件传输请求。
请求方向中心服务器发送所述文件传输请求,以将所述目标文件发送至目的方。例如,客户端A向中心服务器发送要将视频文件传输给客户端B的文件传输请求,客户端A为请求方,视频文件为目标文件,客户端B为目的方。
所述请求方和所述目的方可以包括但不限于服务器、台式计算机、膝上型便携计算机、手机、个人数字助理、平板电脑、智能手机和车载电脑等。
所述目标文件可以包括视频文件、音频文件、文本文件等。
在一实施例中,可以接收多个文件传输请求,若当前待处理的文件传输请求的数量大于预设阈值,将新接收的文件传输请求转发至中心服务器集群中的其他中心服务器。所述文件传输请求可以来自不同的请求方,同一请求方可以发送多个文件传输请求,用于传输不同的目标文件。
判断单元202,用于根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方。
在一具体实施例中,根据所述请求方的网络信息获取所述请求方所属的区域和运营商,根据所述目的方的网络信息获取所述目的方所属的区域和运营商。若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则所述目标文件不需要通过中转发送到所述目的方。否则,若所述请求方所属的区域与所述目的方所属的区域不一致或所述请求方所属的运营商与所述目的方所属的运营商不一致,则所述目标文件需要通过中转发送到所述目的方。
所述请求方的网络信息中可以包括所述请求方所属的区域和运营商,所述目的方的网络信息中可以包括所述目的方所属的区域和运营商。因此,可以从所述请求方的网络信息中获取所述请求方所属的区域和运营商,从所述目的方的网络信息中获取所述目的方所属的区域和运营商。
或者,所述请求方的网络信息中可以包括所述请求方的IP地址,所述目的方的网络信息中可以包括所述目的方的IP地址。可以根据所述请求方的网络信息中的所述请求方的IP地址获取所述请求方所属的区域和运营商,根据所述目的方的网络信息中的所述目的方的IP地址获取所述目的方所属的区域和运营商。
在另一具体实施例中,判断所述目的方的网络信息中的所述目的方的IP地址与所述请求方的网络信息中的所述请求方的IP地址是否在同一IP地址范围,若所述目的方的网络信息中的所述目的方的IP地址与所述请求方的网络信息中的所述请求方的IP地址在同一IP地址范围,则所述目标文件不需要通过中转发送到所述目的方。否则,若所述目的方的网络信息中的所述目的方的IP地址与所述请求方的网络信息中的所述请求方的IP地址是否不在同一IP地址范围,则所述目标文件需要通过中转发送到所述目的方
第一确定单元203,用于若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定用于中转的网络节点的数量。
在一具体实施例中,可以根据所述目标文件的大小与预设文件块大小确定用于中转的网络节点的数量。例如,所述目标文件的大小为10MB,所述预设文件块大小为1MB,则用于中转的网络节点的数量为10MB/1MB=10。
在另一具体实施例中,可以根据所述目标文件的大小、预设文件块大小、单个网络节点最大文件块数量确定用于中转的网络节点的数量。例如,所述目标文件的大小为10MB,所述预设文件块大小为1MB,单个网络节点最大文件块数量为2,则用于中转的网络节点的数量为10MB/1MB/2=5。
第二确定单元204,用于根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点。
在本实施例中,所述分布式系统中包含海量不同能力的网络节点。所述网络节点可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理、游戏机、交互式网络电视、智能穿戴式设备等。所述网络节点还可以是个人云盘,例如玩客云。
在一具体实施例中,所述根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的网络节点包括:
根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点;
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点。
具体地,所述根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点包括:
(1)根据所述各个网络节点的网络信息获取所述各个网络节点所属的区域和运营商,根据所述请求方的网络信息获取所述请求方所属的区域和运营商,根据所述目的方的网络信息获取所述目的方所属的区域和运营商。
可以根据所述各个网络节点的网络信息中的所述各个网络节点的IP地址获取所述各个网络节点所属的区域和运营商;根据所述目的方的网络信息中的所述目的方的IP地址获取所述目的方所属的区域和运营商;根据所述请求方的网络信息中的所述请求方的IP地址获取所述请求方所属的区域和运营商。
可以通过查询IP地址-区域映射表和IP地址-运营商映射表获取IP地址对应的区域和运营商。所述区域可以包括按照省份划分的地理区域,所述运营商可以包括中国电信、中国联通、中国网通、中国铁通等。
(2)若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,或者所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
例如,请求方A所属的区域为华南,目的方B所属的区域为华南,请求方A所属的运营商为中国网通,目的方B所属的运营商为中国铁通,可以判断请求方A所属的区域与目的方B所属的区域一致且请求方A所属的运营商与目的方B所属的运营商不一致,则从各个网络节点中确定所属的区域为华南(目的方B所属的区域)且所属的运营商为中国铁通(目的方B所属的运营商)的网络节点作为候选网络节点。再如,请求方A所属的区域为华南,目的方B所属的区域为华东,请求方A所属的运营商为中国网通,目的方B所属的运营商为中国网通,可以判断请求方A所属的区域与目的方B所属的区域不一致且请求方A所属的运营商与目的方B所属的运营商一致,则从各个网络节点中确定所属的区域为华东(目的方B所属的区域)且所属的运营商为中国联通(目的方B所属的运营商)的网络节点作为候选网络节点。
(3)若所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点,或者从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商在预设运营商范围内的网络节点作为所述候选网络节点。
例如,目的方B所属的区域为华南,目的方B所属的运营商为中国网通,可以从各个网络节点中确定所属的区域为华南(目的方B所属的区域)且所属的运营商为中国铁通的网络节点作为候选网络节点。中国铁通与中国网通(目的方B所属的运营商)在预设运营商范围内。
可以预先定义多个预设运营商范围。例如,可以将有网络连接的运营商定义为一个预设运营商范围。
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域在预设区域范围内且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
可以预先定义多个预设区域范围。例如,预设区域范围包括华南,目的方B所属的区域为广东,目的方B所属的运营商为中国网通,可以从各个网络节点中确定所属的区域为江西或湖南且所属的运营商为中国网通(目的方B所属的运营商)的网络节点作为候选网络节点,其中,江西和湖南与广东同在华南。
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点的目的是为了实现网络节点负载均衡。
在一实施例中,所述负载信息包括剩余存储空间、带宽和节点可连接数,所述根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点包括:
计算每个候选网络节点的剩余存储空间、带宽和节点可连接数的加权和;
根据每个候选网络节点的加权和确定所述数量的所述目标网络节点。
候选网络节点的剩余存储空间为S,带宽为M,节点可连接数为N,候选网络节点的剩余存储空间、带宽、节点可连接数的权值分别为RS、RM、RN,候选网络节点的剩余存储空间、带宽和节点可连接数的加权和T可以计算为:T=SGS+MGM+NGN,其中RS+RM+RN=1(例如RS=0.1,RM=0.3,RN=0.6)。
在一具体实施例中,计算每个候选网络节点的剩余存储空间S、带宽M和节点可连接数N的归一化值GS、GM、GN,其中US、UM、UN分别为所有候选网络节点的剩余存储空间均值、带宽均值和节点可连接数均值。候选网络节点的剩余存储空间、带宽和节点可连接数的加权和T可以计算为:T=RSGS+RMGM+RNGN。
可以按照加权和从大到小的顺序从候选网络节点中选取网络节点作为目标网络节点。
在另一实施例中,所述负载信息包括流量,可以根据所述候选网络节点的流量从所述候选网络节点中确定所述数量的所述目标网络节点。例如,按照流量从小到大的顺序从候选网络节点中选取网络节点作为目标网络节点,以防止单个网络节点流量过高及防止单个网络节点流量过低。
返回单元205,用于将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。
例如,将三个目标网络节点(目标网络节点1、目标网络节点2、目标网络节点3)返回请求方A。请求方A将目标文件D拆分为三个文件块(文件块D1、文件块D2、文件块D3),将文件块D1发送给目标网络节点1,将文件块D2发送给目标网络节点2,将文件块D3发送给目标网络节点3。
在另一实施例中,所述目标网络节点收到所述文件块后,根据所述目标网络节点的网络信息和所述目的方的网络信息判断所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商是否一致;若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商一致,则将所述文件块发送给所述目的方;否则,若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商不一致,则向所述中心服务器发送将所述文件块发送至所述目的方的文件传输请求。
例如,目标网络节点收到所述文件块后,确定目标网络节点所属的区域为广东,目标网络节点所属的运营商为中国铁通,目的方所属的区域为广东,目的方所属的运营商为中国铁通,目标网络节点所属的区域和运营商与目的方所属的区域和运营商一致,所述目标网络节点将文件块发送给目的方。再如,目标网络节点收到所述文件块后,确定目标网络节点所属的区域为广东,目标网络节点所属的运营商为中国铁通,目的方所属的区域为江西,目的方所属的运营商为中国铁通,目标网络节点所属的区域和运营商与目的方所属的区域和运营商不一致,则所述目标网络节点向中心服务器发送将文件块发送至目的方的文件传输请求。
实施例二的文件传输系统10接收请求方发送目标文件至目的方的文件传输请求;根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定所述数量;根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点。实施例二的文件传输系统10通过分布式系统中的网络节点进行文件传输,克服单点资源限制的瓶颈,均衡网络节点负载,提升了文件传输服务的可靠性和稳定性。
在另一实施例中,所述文件传输系统还包括:更新单元,用于对于所述各个网络节点中的任一给定网络节点,若在预设周期内接收到所述给定网络节点的网络信息和负载信息,根据接收的所述给定网络节点的网络信息和负载信息更新存储的所述给定网络节点的网络信息和负载信息;若在预设周期内未接收到所述给定网络节点的网络信息和负载信息,则删除存储的所述给定网络节点的网络信息和负载信息。
若网络节点工作正常,网络节点按照预设周期(例如5秒)上传网络信息和负载信息给中心服务器。若在预设周期内接收到网络节点的网络信息和负载信息,表明网络节点工作正常,则根据接收的网络节点的网络信息和负载信息更新存储的所述网络节点的网络信息和负载信息。若在预设周期内未接收到网络节点的网络信息和负载信息,表明网络节点不能正常工作,则删除存储的该网络节点的网络信息和负载信息。通过更新存储的各个网络节点的网络信息和负载信息可以降低将异常的网络节点调度给所述请求方的风险,进一步提升文件传输的可靠性和稳定性。
实施例三
图3为本发明实施例提供的计算机装置(例如中心服务器)的示意图。所述计算机装置1包括存储器20、处理器30、总线50以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如文件传输程序。所述处理器30执行所述计算机程序40时实现上述文件传输方法实施例中的步骤,例如图1所示的S101-S105。或者,所述处理器30执行所述计算机程序40时实现上述系统实施例中各模块/单元的功能,例如图2中的单元201-205。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的接收单元201、判断单元202、第一确定单元203、第二确定单元204、返回单元205,各单元具体功能参见实施例二。
所述计算机装置1可以是指能对网络中的节点(如客户端、服务器)提供服务的计算机装置。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述总线50以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线50可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,计算机装置1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
本领域技术人员可以理解,所述示意图3仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机装置上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机装置可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,网络节点调度系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、系统、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、系统、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、系统、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种文件传输方法,应用于计算机装置,其特征在于,所述方法包括:
接收请求方发送目标文件至目的方的文件传输请求;
根据存储的所述请求方和所述目的方的网络信息判断所述目标文件是否需要通过中转发送到所述目的方;
若所述目标文件需要通过中转发送到所述目的方,则根据所述目标文件的大小确定用于中转的网络节点的数量;
根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的目标网络节点;
将所述目标网络节点返回所述请求方,使所述请求方将所述目标文件拆分为文件块,将所述文件块分发给所述目标网络节点;
所述目标网络节点收到所述文件块后,根据所述目标网络节点的网络信息和所述目的方的网络信息判断所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商是否一致;
若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商不一致,则控制所述目标网络节点向所述计算机装置发送将所述文件块发送至所述目的方的文件传输请求。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标网络节点所属的区域和运营商与所述目的方所属的区域和运营商一致,则将所述文件块发送给所述目的方。
3.如权利要求1所述的方法,其特征在于,所述根据分布式系统中各个网络节点的网络信息和负载信息、所述请求方和所述目的方的网络信息从所述各个网络节点中确定所述数量的网络节点包括:
根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点;
根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点。
4.如权利要求3所述的方法,其特征在于,所述根据所述各个网络节点的网络信息、所述请求方的网络信息和所述目的方的网络信息从所述各个网络节点中确定候选网络节点包括:
根据所述各个网络节点的网络信息获取所述各个网络节点所属的区域和运营商;
根据所述请求方的网络信息获取所述请求方所属的区域和运营商;
根据所述目的方的网络信息获取所述目的方所属的区域和运营商;
若所述请求方所属的区域与所述目的方所属的区域一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,或者所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点;
若所述请求方所属的区域与所述目的方所属的区域不一致且所述请求方所属的运营商与所述目的方所属的运营商不一致,则从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点,或者从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
5.如权利要求4所述的方法,其特征在于,所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商不一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域一致且所属的运营商与所述目的方所属的运营商在预设运营商范围内的网络节点作为所述候选网络节点;
所述从所述各个网络节点中确定所属的区域与所述目的方所属的区域不一致且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点包括:
从所述各个网络节点中确定所属的区域与所述目的方所属的区域在预设区域范围内且所属的运营商与所述目的方所属的运营商一致的网络节点作为所述候选网络节点。
6.如权利要求3所述的方法,其特征在于,所述负载信息包括剩余存储空间、带宽和节点可连接数,所述根据所述候选网络节点的负载信息从所述候选网络节点中确定所述数量的所述目标网络节点包括:
计算每个候选网络节点的剩余存储空间、带宽和节点可连接数的加权和;
根据每个候选网络节点的加权和确定所述数量的所述目标网络节点。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
对于所述各个网络节点中的任一给定网络节点,若在预设周期内接收到所述给定网络节点的网络信息和负载信息,根据接收的所述给定网络节点的网络信息和负载信息更新存储的所述给定网络节点的网络信息和负载信息;
若在预设周期内未接收到所述给定网络节点的网络信息和负载信息,则删除存储的所述给定网络节点的网络信息和负载信息。
8.一种计算机装置,其特征在于,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述文件传输方法。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述文件传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910770247.4A CN110519357B (zh) | 2019-08-20 | 2019-08-20 | 文件传输方法及系统、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910770247.4A CN110519357B (zh) | 2019-08-20 | 2019-08-20 | 文件传输方法及系统、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519357A CN110519357A (zh) | 2019-11-29 |
CN110519357B true CN110519357B (zh) | 2022-08-12 |
Family
ID=68626949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910770247.4A Active CN110519357B (zh) | 2019-08-20 | 2019-08-20 | 文件传输方法及系统、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519357B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394898A (zh) * | 2011-04-07 | 2012-03-28 | 传聚互动(北京)科技有限公司 | 基于p2p的文件下载方法及系统 |
CN106888261A (zh) * | 2017-02-27 | 2017-06-23 | 深圳市先河系统技术有限公司 | 一种分布式文件传输方法、服务器及私有云设备 |
CN107707594A (zh) * | 2017-02-21 | 2018-02-16 | 贵州白山云科技有限公司 | 一种实现按需加速的文件传输方法及装置 |
CN108462733A (zh) * | 2017-02-21 | 2018-08-28 | 贵州白山云科技有限公司 | 一种文件加速传输方法及装置 |
CN109981751A (zh) * | 2019-03-06 | 2019-07-05 | 珠海金山网络游戏科技有限公司 | 一种文件传输方法及系统、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2320665C (en) * | 2000-09-26 | 2010-08-17 | Spielo Manufacturing Incorporated | System and method for downloading electronic information to a video lottery terminal |
-
2019
- 2019-08-20 CN CN201910770247.4A patent/CN110519357B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394898A (zh) * | 2011-04-07 | 2012-03-28 | 传聚互动(北京)科技有限公司 | 基于p2p的文件下载方法及系统 |
CN107707594A (zh) * | 2017-02-21 | 2018-02-16 | 贵州白山云科技有限公司 | 一种实现按需加速的文件传输方法及装置 |
CN108462733A (zh) * | 2017-02-21 | 2018-08-28 | 贵州白山云科技有限公司 | 一种文件加速传输方法及装置 |
CN106888261A (zh) * | 2017-02-27 | 2017-06-23 | 深圳市先河系统技术有限公司 | 一种分布式文件传输方法、服务器及私有云设备 |
CN109981751A (zh) * | 2019-03-06 | 2019-07-05 | 珠海金山网络游戏科技有限公司 | 一种文件传输方法及系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110519357A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11582296B2 (en) | Multi-level load balancing | |
CN110677493B (zh) | 服务状态确定方法及装置、计算机装置及存储介质 | |
CN105592123B (zh) | 存储管理系统、管理装置及方法 | |
CN108920111B (zh) | 数据共享方法及分布式数据共享系统 | |
CN110830604A (zh) | Dns调度方法、装置 | |
CN110365783B (zh) | 文件部署方法及装置、网络节点及存储介质 | |
CN115801699A (zh) | 一种cdn调度方法、设备及系统 | |
CN110995866A (zh) | 节点调度方法、装置、调度服务器及存储介质 | |
CN113361913A (zh) | 一种通信业务编排方法、装置、计算机设备及存储介质 | |
CN111142799A (zh) | 分布式存储方法及装置、网络节点及存储介质 | |
CN110401731B (zh) | 用于分配内容分发节点的方法和装置 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN110808974A (zh) | 数据获取方法及装置、计算机装置及存储介质 | |
US9083803B2 (en) | Systems and methods for allocation of telephony resources on-demand | |
CN110519357B (zh) | 文件传输方法及系统、计算机装置及存储介质 | |
CN108366102A (zh) | 一种基于Consul的服务发现方法、装置及电子设备 | |
CN111147186B (zh) | 数据传输方法及装置、计算机设备及存储介质 | |
CN110535977B (zh) | 文件分发方法及装置、计算机装置及存储介质 | |
JP6972417B2 (ja) | 携帯端末、システム、アクセス方法、およびプログラム | |
CN113115400B (zh) | 一种通信方法及装置 | |
CN111580987B (zh) | 远程过程调用方法、装置、存储介质及终端设备 | |
JP2019041241A (ja) | 振り分けシステム | |
KR102005932B1 (ko) | 소셜 네트워크 친구 관리 서버 및 이를 이용한 소셜 네트워크 친구 관리 방법 | |
US10958580B2 (en) | System and method of performing load balancing over an overlay network | |
CN109088913B (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 |