文件传输方法及系统与流程

文档序号:17482114发布日期:2019-04-20 06:31阅读:435来源:国知局
文件传输方法及系统与流程

本发明涉及文件传输技术领域,特别涉及一种文件传输方法及系统。



背景技术:

在内容分发网络(contentdistributionnetwork,cdn)中,中心服务器需要获取边缘服务器上的信息,比如各个内容访问的统计信息、边缘服务器的可用服务提供能力等,以便进行分析和汇总,实现对全网资源的可视化管理,继而提高内容分发服务的效率,提高边缘服务器的存储利用率。而上述边缘服务器上的信息,比如自身的计算信息或者日志文件等,通常通过文件传输的方式传输至中心服务器。

现有技术中的文件传输过程,通常是边缘服务器(即发送端)直接向中心服务器(即接收端)发送文件,接收端被动接收文件。而对文件传输任务进行管理时,可以在发送端直接对文件传输任务进行管理,也可以通过中心端对文件传输任务进行统一管理。

由于发送端直接发送文件,接收端被动接收文件,若接收端出现异常,比如设备出现故障,或者网络不通且短时间无法恢复正常,发送端仍然会不断尝试向接收端发送文件,直到故障的接收端恢复正常,如此便会造成文件的堆积,如果堆积的文件过多,发送端还需要额外的资源去清理堆积文件,增加了资源的损耗。另外,在发送端直接对文件传输任务进行管理时,若某个任务需要变更传输文件或者接收范围,则需要在发送端手工对任务进行修改,过程比较繁琐,容易误操作,造成了一定的资源浪费。如果通过中心端对文件传输任务进行统一管理,发送端无法识别任务配置是否是最新的,需要定时从中心端重复同步任务信息,会增加中心端的负载,同样增加了资源的损耗,而且由于是定时更新任务信息,时效性差,会存在任务更新不及时的问题,继而导致文件传输错误。



技术实现要素:

本发明实施例提供了一种文件传输方法、装置及系统。所述技术方案如下:

第一方面,提供了一种文件传输方法,所述方法包括:

任务管理中心向协调服务中心发送任务信息;

文件传输的接收端向所述协调服务中心上报接收端状态信息;

所述协调服务中心将所述接收端状态信息和所述任务信息下发给文件传输的发送端;

若所述接收端状态信息为正常,则所述发送端根据所述任务信息向所述接收端发送文件;若所述接收端状态信息为异常,则所述发送端取消发送文件。

进一步地,所述协调服务中心将所述任务信息和所述接收端状态信息下发给文件传输的发送端的步骤,具体包括:

所述协调服务中心接收所述发送端上报的发送端状态信息;

当所述发送端状态信息为正常时,所述协调服务中心将所述任务信息和所述接收端状态信息下发给所述发送端。

进一步地,所述任务管理中心向协调服务中心发送任务信息的步骤之前,还包括:所述任务管理中心将所述任务信息存储于任务数据库中。

进一步地,所述任务管理中心向协调服务中心发送任务信息的步骤,具体包括:

所述协调服务中心向所述任务管理中心发送获取任务请求;

所述任务管理中心接收所述获取任务请求后,从所述任务数据库中调取与所述任务请求对应地所述任务信息,并发送给所述协调服务中心。

进一步地,所述文件传输的接收端向所述协调服务中心上报接收端状态信息的步骤,具体包括:

所述接收端与所述协调服务中心进行长连接;

所述接收端基于所述长连接,以定时向所述协调服务中心发送心跳包的方式上报所述状态信息。

进一步地,所述协调服务中心将所述任务信息和所述状态信息下发给所述文件传输方的步骤之前,还包括:所述协调服务中心将所述任务信息和所述状态信息,存储于协调服务数据库中。

进一步地,所述任务信息包括黑名单和接收端范围。

进一步地,若所述状态信息为正常,则所述发送端根据所述任务信息传输文件,具体包括:

若发送端读取的所述接收端状态信息为正常,则所述发送端判断自身的ip与所述接收端的ip是否在所述黑名单中;

若所述发送端自身的ip与所述接收端的ip均不在所述黑名单中,则根据所述接收端范围向接收端发送文件。

第二方面,提供了一种文件传输系统,包括任务管理中心、协调服务中心、发送端及接收端;

所述任务管理中心,用于向所述协调服务中心发送任务信息;

所述发送端,用于在接收端状态信息正常时,根据所述任务信息向所述接收端发送文件;在接收端状态信息异常时,取消发送文件;

所述接收端,用于接收所述发送端发送的文件,并向所述协调服务中心上报接收端状态信息;

所述协调服务中心,用于接收所述接收端状态信息和所述任务信息,并将所述接收端状态信息和所述任务信息下发给所述发送端。

进一步地,还包括任务数据存储装置和协调服务数据存储装置;

所述任务管理中心,还用于将所述任务信息存储于所述任务数据存储装置;

所述协调服务中心,还用于将所述接收端状态信息和所述任务信息存储于所述协调服务数据存储装置。

本发明提供的文件传输方法,在传统文件传输方法的基础上,通过任务管理中心对文件传输任务进行管理,通过增设协调服务中心对发送端和接收端进行协调管理;并加入了状态上报机制,便于协调服务中心根据任务管理中心发送的任务信息和接收端上报的接收端状态信息为发送端和接收端进行协调服务;如此,文件传输的发送端可以在接收端状态为正常时,才向接收端发送文件;在接收端状态为异常时,取消发送文件;这样有效解决了文件传输过程中接收端异常时,发送端仍进行文件发送而造成文件堆积,继而由于需要清理文件造成资源损耗的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种文件传输系统示意图;

图2为本发明实施例提供的文件传输方法流程示意图。

具体实施方式

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

本实施例提供一种文件传输方法,可以应用于图1所示的文件传输系统中,该文件传输系统包括任务管理中心、协调服务中心以及文件传输的发送端和接收端。其中,任务管理中心负责管理文件传输任务,比如cdn系统中用于管理文件传输任务的中心端。文件传输的发送端和接收端负责文件的传输,顾名思义,发送端负责文件的发送;接收端负责文件的接收。比如cdn系统中的边缘服务器和中心服务器,其中,边缘服务器通过文件传输的方式,向中心服务器上报自身的计算信息或者日志文件,则边缘服务器即发送端,中心服务器即接收端。协调服务中心负责根据文件传输任务及接收端状态进行协调服务。所以,本实施例提供的文件传输方法通过任务管理中心对文件传输任务进行管理,并通过增设协调服务中心对发送端和接收端进行协调管理,协调服务中心可以根据任务管理中心发送的任务信息和接收端上报的状态信息为发送端和接收端进行协调服务,以便发送端可以在接收端状态为正常时,才向接收端发送文件;在接收端状态为异常时,取消发送文件;如此,有效解决了文件传输过程中接收端异常时,发送端仍进行文件发送而造成文件堆积,继而由于需要清理文件造成资源损耗的问题。

需要说明的是,上述边缘服务器可以是一台服务器,也可以是服务器集群;同样地,中心服务器也可以是单台服务器或服务器集群。即本实施例提供的文件传输方法可以应用于单点到单点的文件传输,也可以应用于单点到多点、多点到多点及多点到单点的文件传输过程中。

需要说明的是,本实施例提供的文件传输方法也可以应用于不同的边缘服务器之间或不同的中心服务器之间的文件传输,甚至不限于cdn系统中的应用,其它网络系统,如企业内部网络系统,只要是单点到单点、单点到多点、多点到多点及多点到单点的文件传输方式,皆可应用本实施例提供的文件传输方法。

下面结合附图对该文件传输方法进行具体说明。

参见图2,为本发明实施例提供的一种文件传输方法的流程图,该方法具体可以包括以下步骤。

步骤201,任务管理中心向协调服务中心发送任务信息。

本实施例中,任务管理中心可以是单台服务器也可以是服务器集群,可根据具体应用环境和文件传输任务进行配置,本发明对此不作限定。在一具体实施例中,对于节点较多的cdn系统中,进行文件传输的发送端和接收端较多,文件传输较为频繁,所以任务管理中心可以采用服务器集群,比如cdn系统的中心节点上的管理服务器集群,以便对多点到多点的文件传输任务进行管理。同样地,协调服务中心也可以是单台服务器或者服务器集群,设置可以与任务管理中心集成在一台服务器,或共享一个服务器集群。具体可根据具体应用环境和文件传输任务进行配置,本发明对此不作限定。但是为了便于对任务管理中心、发送端和接收端进行协调,提高任务管理、协调服务及文件传输的效率,协调服务中心和任务管理中心通常不是同一台服务器或共享同一服务器集群。

其中,任务信息可以在任务管理中心的web页面上手动写入或更新,所以这里任务信息可以是新建的任务信息,也可以是更新的任务信息。具体地,在任务管理中心的web页面上手动写入或更新任务信息之后,任务管理中心将新建的任务信息或更新的任务信息存入任务数据库中,以便任务信息的调取。其中,任务数据库可以与任务管理中心配置在同一服务器上,也可以与任务管理中心配置在不同服务器上。

需要说明的是,任务管理中心向协调服务中心发送任务信息中的发送,既可以是任务管理中心主动向协调服务中心发送任务信息;也可以是协调服务中心先向任务管理中心请求,任务管理中心接到请求后向协调服务中心发送任务信息。

在本实施例中,具体是协调服务中心先向任务管理中心发送获取任务请求,任务管理中心接收获取任务请求后,将与任务请求对应地任务信息发送给协调服务中心,然后协调服务中心将获取的任务信息发送给发送端。具体地,任务管理中心接收获取任务请求后,从任务数据库中调取对应地任务信息并发送给协调服务中心。在一具体实施例中,为了实时检测任务信息是否有更新,协调服务中心可以间隔预定时间向任务管理中心发送获取任务请求,该预定时间可以1秒、5秒、10秒等,以便获取任务数据库中的最新任务信息,并将该最新任务信息下发给发送端。如此,协调服务中心便可实时监控任务数据库的更新情况,并实时将最新任务信息下发给发送端。避免了现有技术中通过中心端对文件传输任务进行统一管理时,发送端定时去中心端重复同步任务信息对中心端的数据库造成的性能压力和资源损耗,也解决了现有技术中不能定时更新,发送端获取的任务信息时效性差的问题。当然该最新任务信息包括新建的任务信息和更新的任务信息。

另外,协调服务中心从任务数据库中获取最新任务信息之后,可以将该最新任务信息同步到协调服务数据库中进行缓存,再根据任务信息中的发送文件路径,将最新任务信息下发给对应地发送端。

步骤202,文件传输的接收端向所述协调服务中心上报接收端状态信息。

为了解决现有技术中,发送端往往在不知道接收端状态的情况下直接发送文件,而接收端若出现异常,比如设备出现故障,或者网络不通且短时间无法恢复正常,发送端仍然不断尝试向接收端发送文件,如此造成文件堆积,继而需要消耗发送端的资源去清理堆积文件的问题。本实施例在文件传输过程中加入了状态上报机制,即接收端向协调服务中心上报接收端状态信息,如此,协调服务可以将接收端状态信息下发给文件传输的发送端,以便发送端在接收端状态信息为正常时才进行文件传输。从而避免了由于接收端异常造成的发送端文件堆积现象,继而解决了发送端清理堆积文件造成资源损耗的问题。需要说明的是,上述正常是与异常相对的,对于接收端而言,正常即网络状态良好,可以接收文件,异常即网络状态不佳、接收端软件故障、服务器故障等,不能接收文件;对于发送端而言,正常即网络状态良好,可以发送文件,异常即网络状态不佳、发送端软件故障、服务器故障等,不能发送文件。

为了进一步减少文件传输过程中造成的资源损耗,在接收端向协调服务中心上报接收端状态信息的同时,发送端也向协调服务中心上报发送端状态信息,即上述状态上报机制还包括发送端也向协调服务中心上报发送端状态信息,如此便于协调服务中心了解发送端的状态,可以在发送端正常的情况下才将任务信息向下发给发送端。避免发送端异常时,协调服务中心仍然给发送端下发任务信息,在协调服务中心造成文件堆积,继而避免了协调服务中心清理堆积的文件造成的资源损耗。

在一具体实施例中,接收端向协调服务中心上报接收端状态信息的步骤,具体包括:首先,接收端与协调服务中心进行长连接;然后,基于长连接,接收端以定时向协调服务中心发送心跳包的方式上报接收端状态信息。同理,发送端向协调服务中心上报发送端状态信息的步骤,也具体包括:首先,发送端与协调服务中心进行长连接;然后,基于长连接,发送端以定时向协调服务中心发送心跳包的方式上报发送端状态信息。

其中,长连接是指网络通信时采用tcp协议经过三次握手建立的连接,即未进行象征释放连接的第四次握手,即建立的连接长期保持,不管此时有无数据包的发送。心跳包,因是按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。通常是接收端或发送端每间隔一定时间,如每5秒、10秒及20秒等,向协调服务中心发送的一个数据包,是为了通知协调服务中心自己仍然在线。而该数据包是为了保持长连接,至于数据包的内容,本实施例不做任何限定。可以传输一些可能有必要的数据,比如网段或网络地址,也可以只是包含包头的一个空包。所以,发送端和接收端定时向协调服务中心发送心跳包,是为了告知协调服务中心其网络链路是畅通的。若协调服务中心能定时收到发送端和接收端发送的心跳包,则证明发送端和接收端的网络链路是畅通的,则协调服务中心会判定发送端和接收端的状态为可用,即发送端上报的发送端状态信息或接收端上报的接收端状态信息为正常;当发送端或接收端出现异常,其心跳包无法多次上报的时候,协调服务中心会判定该发送端或接收端的状态为不可用,即发送端上报的发送端状态信息或接收端上报的接收端状态信息为异常。

在一具体实施例中,协调服务中心在接收到发送端上报的发送端状态信息或接收端上报的接收端状态信息后,可以将发送端状态信息和接收端状态信息缓存至协调服务数据库里,以便协调服务中心随时调取上述状态信息。而且当发送端上报的发送端状态信息或接收端上报的接收端状态信息为异常时,协调服务中心可以及时更新服务协调数据库里的状态信息。若更新的是接收端状态信息,则将该更新后的接收端状态信息还同步下发给发送端。具体地,若接收端状态信息为正常,可存储为字符0;若接收端状态信息为异常,可存储为字符1,便于接收状态信息的发送端进行读取和辨识。同样地,若发送端状态信息为正常,可存储为字符0;若发送端状态信息为异常,可存储为字符1。

步骤203,协调服务中心将任务信息和接收端状态信息下发给文件传输的发送端。

本实施例中,任务信息记载的内容包括文件传输任务的发送路径,发送端范围、接收端范围等,协调服务中心将任务信息下发给发送端,则发送端可以根据任务信息里记载的内容发送文件。协调服务中心将接收端状态信息下发给发送端,以便发送端在接收端状态信息为正常时,才向接收端发送文件,以避免接收端异常时,发送端仍进行文件发送而造成文件堆积,继而由于需要清理文件造成的资源损耗。具体地,协调服务中心将任务信息和状态信息下发给发送端时,若是首次发送,可以将任务信息和接收端状态信息打包后,一同下发给发送端,也可以分开发送任务信息和接收端状态信息。若分开发送,则优先发送接收端状态信息,再发送任务信息,以免发送端在未接收到接收端状态信息时先一步发送文件,尤其是在接收端状态信息更新时。

进一步地,在发送端也上报发送端状态信息的情况下,协调服务中心接收发送端状态信息后,可以在发送端状态信息为正常时,才将任务信息和接收端状态信息下发给发送端,以避免由于发送端异常,而任务信息和接收端状态信息的载体文件在协调服务中心堆积,造成的协调服务中心的资源损耗。

步骤204,若接收端状态信息为正常,则发送端根据任务信息向接收端发送文件;若接收端状态信息为异常,则发送端取消发送文件。

本实施例中,具体地,如上文所述若发送端接收到的接收端状态信息为字符0,即接收端状态正常,则发送端根据任务信息向接收端发送文件;若发送端接收到的接收端状态信息为字符1,即接收端状态为异常,则发送端取消发送文件。其中,任务信息,即如上文所述的发送文件路径、发送端范围及接收端范围等,可以字段的形式存储。其中,发送文件路径记载了文件发送的具体路径,便于协调服务中心根据该发送文件路径找到对应的发送端;发送端范围记载了该文件传输任务的发送端的范围,接收端范围记载了该传输任务的接收端的范围。设置上述发送端范围及接收端范围,主要是为了安全性考虑,对某些数据,比如带有密钥或身份信息的敏感性数据,限制其传输范围,以减少数据泄露或受到攻击的可能性。这个范围可以是某个或某些网段。

在一具体实施方式中,任务信息还包括黑名单。黑名单可以是一个字段,表示一个规则,例如:

[blocklist]

taskruleid:10

blacklistruleid:2

sendip:1.1.1.1

receiveip:2.2.2.2

其中,taskruleid代表文件传输任务的任务id;blacklistruleid表示黑名单规则id;sendip代表发送端ip地址为1.1.1.1;receiveip代表接收端ip地址2.2.2.2;这个规则就代表在10号文件传输任务的第2个规则下面,禁止ip地址为1.1.1.1的设备向ip地址为2.2.2.2的设备传输10号文件传输任务中的文件。通过这种向发送端发送黑名单的方式,尤其是在多点发送端传文件给多点接收端的场景下,可以灵活控制文件的发送,避免发送端或者接收端异常对其他业务的影响。引入黑名单可以第一时间将异常的发送端和接收端进行隔离,这样正常的发送端不会向异常的接收端发送文件,异常的发送端也可以自动取消发送文件。在状态上报机制的基础上,引入黑名单可以避免由于发送端异常造成的不良影响,如文件堆积造成的资源损耗、对其他业务的影响等。另外,对于某个或某些在建立文件传输任务之前就异常的接收端,发送端接收不到有关于该异常接收端的任何状态信息,包括正常或异常的都接收不到,这时发送端根据接收端范围,可能仍会将文件发送给该异常接收端,如此便又在发送端造成了文件堆积,导致发送端清理文件造成的资源损耗。而引入黑名单,则可以根据黑名单,从源头上将异常的接收端隔离,进一步解决了上述发送端清理文件造成的资源损耗问题。

进一步地,若接收端状态信息为正常,则发送端根据任务信息向接收端发送文件的步骤,具体包括:若发送端读取的接收端状态信息为正常,则发送端判断自身ip与接收端ip是否在黑名单中;若发送端的自身ip与接收端ip均不在黑名单中,则根据接收端范围向接收端发送文件。如此,发送端在发送文件给接收端之前,先辨识接收端状态,若接收端状态正常,再判断自身ip与接收端ip是否在黑名单规则内,若不在黑名单规则内,发送端才根据接收端范围发送文件给相应地接收端;若在黑名单规则内,则发送端取消发送文件。通过这种方式,可以更灵活地控制文件发送,尤其适用于管理大量发送端以及接收端的文件传输任务,方便灵活过滤异常设备。其中,发送端也可以先判断自身ip与接收端ip是否在黑名单规则内,若不在黑名单规则内,再读取接收端状态及发送文件等,本实施例对此不做限定。

本实施例提供的文件传输方法,在传统文件传输方法的基础上,通过任务管理中心对文件传输任务进行管理,通过增设协调服务中心对发送端和接收端进行协调管理。并加入了状态上报机制,便于协调服务中心根据任务管理中心发送的任务信息和接收端上报的接收端状态信息为发送端和接收端进行协调服务。如此,文件传输的发送端可以在接收端状态为正常时,才向接收端发送文件;在接收端状态为异常时,发送端取消发送文件;这样有效解决了文件传输过程中接收端异常时,发送端仍进行文件发送而造成文件堆积,继而由于需要清理文件造成资源损耗的问题。

为了实现上述文件传输方法,本实施例还提供了一种文件传输系统,如图1所示,该文件传输系统包括任务管理中心、协调服务中心、发送端及接收端。其中,任务管理中心,用于向协调服务中心发送任务信息;发送端,用于在接收端状态信息正常时,根据任务信息向接收端发送文件;在接收端状态信息异常时,取消发送文件;接收端,用于接收发送端发送的文件,并向协调服务中心上报接收端状态信息;协调服务中心,用于接收任务信息和接收端状态信息,并将接收端状态信息和任务信息下发给发送端。

在一实施例中,文件传输系统还包括任务数据存储装置和协调服务数据存储装置。任务管理中心,还用于将任务信息存储于任务数据存储装置;协调服务中心,还用于将接收到的接收端状态信息和任务信息存储于协调服务数据存储装置。

由此可见,本实施例提供的文件传输系统,通过任务管理中心对文件传输任务进行管理,并通过增设协调服务中心对发送端和接收端进行协调管理,协调服务中心根据任务管理中心发送的任务信息和接收端上报的状态信息,为发送端和接收端进行协调服务,以便发送端在接收端状态信息正常时,根据任务信息向接收端发送文件;在接收端状态信息异常时,取消发送文件。如此,可以更好地完成文件传输任务,有效解决了文件传输过程中造成的资源损耗问题。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1