CN107580021A - 一种文件传输的方法和装置 - Google Patents
一种文件传输的方法和装置 Download PDFInfo
- Publication number
- CN107580021A CN107580021A CN201710647555.9A CN201710647555A CN107580021A CN 107580021 A CN107580021 A CN 107580021A CN 201710647555 A CN201710647555 A CN 201710647555A CN 107580021 A CN107580021 A CN 107580021A
- Authority
- CN
- China
- Prior art keywords
- data
- local cache
- centroid
- address
- download
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种文件传输的方法和装置,涉及网络传输技术领域。所述方法包括:接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址。解决了CDN各节点上部署数据传输服务复杂度高而导致的维护成本增加的问题。
Description
技术领域
本申请涉及网络数据传输技术领域,特别是涉及一种文件传输的方法和一种文件传输的装置。
背景技术
随着网络技术的普及以及移动互联网设备的普及,网络上存在着巨量的由移动互联网设备终端用户产生的数据,其中对于社交类应用和即时聊天类应用产生的各种图片和小视屏文件的传输尤其盛行,并且用户对于社交类应用和即时聊天类应用产生的图片和小视屏文件的上传和下载速度有很高的要求。
目前,对于用户量较小的社交类应用和即时聊天类应用,文件的上传和下载一般是少量节点(以下称为核心节点)部署,并且流程相对简单。随着公司规模的不断增加,文件上传和下载的流程会越来越复杂,所以为提升数据传输速度,通常通过CDN(ContentDelivery Network,内容分发网络)来实现,而CDN网络中使用的负载均衡技术在针对不同业务和公司的不同文件上传和下载服务逻辑以及要求,很难广泛应用,如果针对每个公司或业务在CDN节点上进行上传和下载服务的布置,复杂度很高且维护成本巨大。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种文件传输的方法和相应的一种文件传输的装置。
为了解决上述问题,本申请公开了一种文件传输的方法,包括:接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;
可选地,还包括:接收本区域内客户端的数据下载请求;若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
可选地,在所述若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径的步骤之后,还包括:将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址。
可选地,在所述若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径的步骤之后,还包括:检测本地缓存数据的最近更新时间;若所述最近更新时间超过预设阈值,则检测所述本地缓存数据是否已成功上传至所述中心节点;若已上传至所述中心节点,则删除所述本地缓存数据;若未上传至所述中心节点,则上传至所述中心节点后,删除所述本地缓存数据。
本申请公开了一种文件传输的装置,包括:上传请求接收模块,用于接收本区域内客户端的上传数据并进行本地缓存;本地缓存下载地址生成模块,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;上传中心节点模块,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;
可选地,还包括:数据下载请求接收模块,用于接收本区域内客户端的数据下载请求;返回数据模块,用于若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;缓存并返回数据模块,用于若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
可选地,还包括:同步或异步上传中心节点模块,用于将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址。
可选地,还包括:更新时间检测模块,用于检测本地缓存数据的最近更新时间;判断子模块,用于若所述最近更新时间超过预设阈值,则检测所述本地缓存数据是否已成功上传至所述中心节点;缓存数据删除模块,用于若已上传至所述中心节点,则删除所述本地缓存数据;上传模块,用于若未上传至所述中心节点,则上传至所述中心节点后,删除所述本地缓存数据。
本申请还包括一种文件传输的系统,包括:至少一个客户端,和多个边缘节点,至少一个中心节点,域名服务器;客户端、边缘节点、中心节点以及域名服务器存在逻辑连接;
所述域名服务器用于解析发送上传请求或下载请求的客户端的域名,将最近的边缘节点的地址返回给客户端,以供客户端连接最近的边缘节点发送上传数据或者下载请求;所述边缘节点,包括:上传请求接收模块,用于接收本区域内客户端的上传数据并进行本地缓存;本地缓存下载地址生成模块,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;上传中心节点模块,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;所述边缘节点,还包括:数据下载请求接收模块,用于接收本区域内客户端的数据下载请求;返回数据模块,用于若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;缓存并返回数据模块,用于若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
本申请实施例包括以下优点:
本申请实施例,接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址,解决了CDN每个节点上部署数据传输服务复杂度高而导致的维护成本增加的问题,达到了降低维护成本的同时可便捷传输数据的有益效果。
附图说明
图1是本申请实施例提供的一种文件传输的方法实施例的步骤流程图;
图2是本申请实施例提供的一种文件传输的方法实施例的步骤流程图;
图3是本申请实施例提供的一种文件传输的方法实施例的步骤流程图;
图4是是本申请实施例提供的一种文件传输的装置实施例的结构框图;
图5是是本申请实施例提供的一种文件传输的装置实施例的结构框图;
图6是是本申请实施例提供的一种文件传输的装置实施例的结构框图;
图7是是本申请实施例提供的一种文件传输的系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了本申请的一种文件传输的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101、接收本区域内客户端的上传数据并进行本地缓存。
本发明实施例中,当用户使用即时聊天类应用时,经常会传输一些图片文件或者视频文件,在传输过程中,客户端首先发送一个上传请求,网络连接中的域名解析服务器首先接收到该数据上传请求,并且根据数据上传请求中的信息解析出发送该请求的客户端的IP地址,根据其IP地址找到距离该客户端最近的节点。
可选地,验证所述上传请求中的身份信息。
本发明实施例中,根据步骤101的描述,当域名解析服务器接收到客户端的上传请求后,找到距离该客户端最近的节点后,会将距离最近节点的IP地址返回给客户端,客户端接收到最近节点的IP地址后,将上传请求发送给该最近节点,最近节点接收到上传请求后,验证上传请求中的身份信息,判断该客户端是否具备数据上传权限。
可选地,若所述身份信息通过验证,则接收上传数据并进行本地缓存。
本发明实施例中,最近节点根据自身设置的鉴权属性,验证客户端的身份信息,并且确定该客户端具有数据上传权限后,返回客户端一回执信息,允许客户端上传数据,客户端将数据上传到该最近节点后,该节点将数据缓存在本地。
在实际应用中,如果一节点接收到上传请求后,通过鉴权机制验证客户端的身份信息未通过,则返回一回执信息,拒绝该客户端连接并上传数据。当然,鉴权机制根据不同的用户需求而不同,具体由使用该网络传输数据的用户决定,本发明实施例对此不加以限制。
步骤102、若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径。
本发明实施例中,当最近节点在本地缓存好客户端上传的数据后,会生成一个本地缓存下载地址,该地址中包含该节点的IP地址以及数据缓存的本地路径,还有上传该数据的客户端的身份验证信息,并将生成的本地缓存下载地址返回给数据上传的客户端,以便该客户端下载该数据时使用。
在实际应用中,本地缓存下载地址还会发送给应用服务器,应用服务器负责数据传输的调度,身份信息验证等,例如,当用户使用社交类应用在一个群组中发送数据,群组其他成员的客户端想要下载该数据,首先会想应用服务器请求该数据的回源目标地址,也就是该数据的下载地址,然后连接地址中的缓存节点进行数据下载,对于应用服务器的功能与接收回源目标地址的指定的规则根据不同的应用而不同,本发明实施例对此不加以限制。
步骤103、若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址。
本发明实施例中,当边缘节点在接收客户端上传数据的过程中出现故障,或者上传数据时延迟超过预设时间,那么就返回中心节点的地址给客户端。或者客户端在上传数据时,在超过预设时间后没有接收到边缘节点返回的回执消息,那么就认为上传失败,此时将再次发送数据上传请求,域名解析服务器接收到该请求后返回给客户端中心节点的地址。
在实际应用中,上传失败的判定标准根据应用本身的上传机制进行设置,并且客户端接收的中心节点地址可以由边缘节点在初始化时发送,也可以由域名解析服务器在边缘节点崩溃时发送给客户端,或者由应用服务器在进行数据传输调度时发送给客户端,当然,客户端获取中心节点的方式不限于上述描述,本发明实施例对此不加以限制。
在本发明实施例中,接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址。实现了快速根据需求布置边缘节点,使边缘节点只用来缓存数据,并且根据客户端的位置连接最近的边缘地址,实现数据的快速上传的目的。
实施例二
参照图2,示出了本申请的一种文件传输的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201、接收本区域内客户端的上传数据并进行本地缓存;
此步骤与步骤101相同,在此不再详述。
步骤202、若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径。
此步骤与步骤102相同,在此不再详述。
步骤203、若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址。
此步骤与步骤103相同,在此不再详述。
步骤204、接收本区域内客户端的数据下载请求。
本发明实施例中,当用户使用即时聊天类应用时,经常会传输一些图片文件或者视频文件,当看到聊天对象发送的数据时,若客户端想要打开该数据,首先发送一个下载请求,网络连接中的域名解析服务器首先接收到该数据下载请求,并且根据数据下载请求中的信息解析出发送该请求的客户端的IP地址,根据其IP地址找到距离该客户端最近的节点。
可选地,验证所述下载请求中的身份信息。
本发明实施例中,当域名解析服务器接收到客户端的下载请求后,找到距离该客户端最近的节点后,会将距离最近节点的IP地址返回给客户端,客户端接收到最近节点的IP地址后,将下载请求发送给该最近节点,最近节点接收到下载请求后,验证下载请求中的身份信息,判断该客户端是否具备数据下载权限。例如,即时通讯应用中的用户A接收到了用户B发送的图片的信息,当用户A点击图片信息时就发送了一个数据下载请求,当域名解析服务器根据A发出的数据下载请求中解析出A的IP地址,返回A一个就近边缘节点C的IP地址,客户端A发送该数据下载请求至C,C接收到该数据下载请求后,解析请求中的身份验证信息,并且所下载的数据为其好友用户B发送,所以具备该数据下载的权限。
可选地、若所述身份信息通过验证,则检测本地缓存中是否存在所述下载请求中的数据。
本发明实施例中,验证身份通过后,根据下载请求中请求数据的名称,与本地缓存数据进行匹配,若匹配成功则说明本地缓存有下载请求中请求的数据,若匹配不成功,则说明本地并没有缓存该数据。
步骤205、若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据。
本发明实施例中,若从下载请求中获得的数据回源地址为本地缓存下载地址,则向本地请求下载数据,若本地缓存有所请求下载的数据,则与发送请求的客户端建立连接,将请求数据返回给客户端进行下载。例如,用户A与边缘节点C建立连接后,C中缓存有用户B上传的图片数据,则客户端A直接从C点下载图片数据。
在实际应用中,将数据的名称在本地缓存数据进行匹配,若匹配不成,则说明在该边缘节点上不存在下载请求中要下载的数据,那么就根据下载请求中回源地址中存储的其他边缘节点的下载地址,连接该节点,请求下载数据进行下载。
在实际应用中,若边缘节点中存储的下载数据已经被删除,也就是超过预设存储时间阈值后,通常这些数据已经备份存储至中心节点,所以如果在边缘节点中或者存储数据的原始节点中都没有找到需要下载的数据,则可以向中心节点请求下载该数据,本发明实施例对此不加以限制。
在实际应用中,建立网络连接的方法、身份验证方法以及数据传输方法本发明实施例不加以限制。
步骤206、若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
本发明实施例中,当验证身份通过后,若下载请求中获取的回源地址为中心节点下载地址,则根据数据名称,向中心节点请求下载数据。
可选地,在所述回源节点上下载所述数据,并进行本地缓存。
本发明实施例中,当连接到回源节点后,将下载请求中请求的数据进行下载后,就将该数据在当前边缘节点缓存,以保证就近的客户端便捷下载该数据。将从回源节点中下载的数据缓存在本地后,将该数据返回给发送下载请求的客户端。
在实际应用中,为了保证传输速度,可以边从回源节点中下载数据,并同时回传给发送下载请求的客户端,其中的传输协议本发明实施例并不加以限制。
可选地、若接收到的数据下载请求中包括图片数据下载请求,则根据预设图片数据处理服务返回处理图片数据;所述图片数据处理服务包括:图片数据的缩放、添加水印、添加边框、添加特效其中的一种或多种。
本发明实施例中,在客户端下载数据之前,根据用户的需求在边缘节点上添加图像处服务,其中可以包括图片数据的缩放、添加水印、添加边框、添加特效其中的一种或多种,实现这些功能需要在各边缘节点添加图像处理功能的软件,若用户需要在下载图片时对图片进行一些特效处理,就可以在在图片下载界面上显示的特效按钮,对当前的图片进行特效处理。
在本发明实施例中,接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;接收本区域内客户端的数据下载请求;若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。快速根据需求布置边缘节点,使边缘节点缓存数据并提供上传下载服务,客户端根据位置连接最近的边缘节点,实现数据的快速上传和下载,降低了节点部署成本的目的。
实施例三
参照图3,示出了本申请的一种文件传输的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301、接收本区域内客户端的上传数据并进行本地缓存。
此步骤与实施例一中步骤101相同,在此不再详述。
步骤302、若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
此步骤与实施例一中步骤102相同,在此不再详述。
步骤303、将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址。
本发明实施例中,在最近节点接收到客户端上传的数据后,会将数据缓存在节点,随后异步上传到中心节点,其中中心节点具备完整的上传下载服务,包括身份鉴权机制,并且存储所有客户端上传的数据,在其他节点损坏或者崩溃时,还可以为客户端提供上传和下载服务,所以中心节点一般为针对一个应用的主要节点,一般设置在公司内部,其他节点部署在各个地方成为边缘节点,只负责身份验证和缓存数据。所以当边缘节点接收到客户端上传的数据后,会同步或者异步将数据上传到中心节点进行存储,而中心接单接收到上传数据后,也会生成一个会员目标地址,并返回给该边缘节点。
当边缘节点接收到中心节点返回的回源目标地址后,将本地缓存的关于该数据的原回源目标地址替换为由中心节点返回的回源目标地址,并返回给上传该数据的客户端,以保证回源目标地址始终有效,一旦边缘节点损坏,客户端还可以通过该回源目标地址在中心节点下载数据。当然,新的回源目标地址还会发送给应用服务器,以保证应用服务器上数据的下载地址是最新的。
步骤304、检测本地缓存数据的最近更新时间;
本发明实施例中,在边缘节点中缓存的数据,要检测其缓存的时间,通常情况下,如果缓存数据在很长一段时间内没有被访问,那么会将这些数据删除,所以在各边缘节点会间隔性的检查缓存数据的更新时间戳,当然缓存时间长短是根据各用户对数据传输的需求,以及当前边缘节点的存储空间以及数据处理性能决定的,例如,缓存时间阈值设置为一个月,当检查边缘节点上缓存数据的时间戳时,可以计算各缓存文件的最近更新时间与上一次的更新时间间隔是否超过一个月。
步骤305、若所述最近更新时间超过预设阈值,则检测所述本地缓存数据是否已成功上传至所述中心节点;
本发明实施例中,当监测到边缘节点上一缓存数据的最近更新时间与上一次的更新时间间隔超过预设的时间阈值,例如,预设时间阈值为一个月,那么就将超过一个月还没有更新过的文件,则检测该文件是否已上传中心节点,其中,当边缘节点返回中心节点的地址给客户端时,会通知客户端将上传数据继续上传至中心节点,其中,如果时边缘节点发生故障,那么就通知客户端将数据重新上传至中心节点,或者网络延迟超过预设时间,那就通知客户端将未上传的数据继续上传至中心节点,边缘节点会将之前接收到的数据异步上传至中心节点。在实际应用中,数据上传规则由具体应用需求决定,不限于上述描述,本发明实施例对此不加以限制。所以,本地存储数据一般都会通过同步或异步方式上传至中心节点,可以向中心节点发送询问信息,查看该文件是否已存储在中心节点。
步骤306、若已上传至所述中心节点,则删除所述本地缓存数据。
本发明实施例中,当监测到边缘节点上一缓存数据的最近更新时间与上一次的更新时间间隔超过预设的时间阈值,例如,预设时间阈值为一个月,那么就将超过一个月还没有更新过的文件删除。
步骤307、若未上传至所述中心节点,则上传至所述中心节点后,删除所述本地缓存数据。
本发明实施例中,若检测到该文件并未存储在中心节点,则上传至中心节点后,将该文件进行删除。
可选地、若本地缓存失败,则检测所述上传数据是否已成功上传至所述中心节点。
本发明实施例中,若接收到上传数据请求后,当边缘节点在接收客户端上传数据的过程中出现故障,或者上传数据时延迟超过预设时间,则近一步检测中心节点是否已同时接收到该数据的上传强求后,成功进行缓存,可以通过向中心节点发送询问消息的形式,若得到答复,则说明该数据已成功的同步上传至中心节点。
可选地、若已上传至所述中心节点,则获取并返回中心节点下载地址。
本发明实施例中,进一步的,获取该数据在中心节点的存储地址,通常情况下如果客户端在同步传输中已经经过身份验证,并且身份验证还有效时间内,那么中心节点就在同步上传数据的同时返回了中心节点下载地址。
可选地、若未上传至所述中心节点,则通知用户将数据上传至所述中心节点,生成并返回中心节点下载地址。
本发明实施例中,客户端在上传数据时,在超过预设时间后没有接收到边缘节点返回的回执消息,那么就认为上传失败,此时将再次发送数据上传请求,域名解析服务器接收到该请求后返回给客户端中心节点的地址。上传失败的判定标准根据应用本身的上传机制进行设置,并且客户端接收的中心节点地址可以由边缘节点在初始化时发送,也可以由域名解析服务器在边缘节点崩溃时发送给客户端,或者由应用服务器在进行数据传输调度时发送给客户端,当然,客户端获取中心节点的方式不限于上述描述,本发明实施例对此不加以限制。
在本发明实施例中,接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径。并且在将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址,同时检测本地缓存数据的最近更新时间,将不再新鲜的数据上传至中心节点进行保存,删除在本地缓存,并且在上传数据失败后,也检测中心节点是否已通过同步上传的方式接收到了上传数据。实现了在边缘节点损坏或上传数据失败的情况下,保证数据仍然能上传中心节点,并将边缘节点与中心节点的上传下载服务互相协调配合,降低了系统的维护成本的同时保证数据存储的稳定性。
实施例四
参照图4,示出了本申请的一种文件传输的装置实施例的结构框图,具体可以包括如下模块:
所述文件传输的装置400,包括:上传请求接收模块401,用于接收本区域内客户端的上传数据并进行本地缓存;
本地缓存下载地址生成模块402,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
上传中心节点模块403,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;
实施例五
参照图5,示出了本申请的一种文件传输的装置实施例的结构框图,具体可以包括如下模块:
所述文件传输的装置500,包括:上传请求接收模块501,用于接收本区域内客户端的上传数据并进行本地缓存;
本地缓存下载地址生成模块502,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
上传中心节点模块503,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;
数据下载请求接收模块504,用于接收本区域内客户端的数据下载请求;
返回数据模块505,用于若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;
缓存并返回数据模块506,用于若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
在本发明实施例中,接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;接收本区域内客户端的数据下载请求;若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。快速根据需求布置边缘节点,使边缘节点缓存数据并提供上传下载服务,客户端根据位置连接最近的边缘节点,实现数据的快速上传和下载,降低了节点部署成本的目的。
实施例六
参照图6,示出了本申请的一种文件传输的装置实施例的结构框图,具体可以包括如下模块:
所述文件传输的装置600包括:上传请求接收模块601,用于接收本区域内客户端的上传数据并进行本地缓存;
本地缓存下载地址生成模块602,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
可选地,还包括:
同步或异步上传中心节点模块603,用于将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址。
可选地,还包括:
更新时间检测模块604,用于检测本地缓存数据的最近更新时间;
判断模块605,用于若所述最近更新时间超过预设阈值,则检测所述本地缓存数据是否已成功上传至所述中心节点;
缓存数据删除模块606,用于若已上传至所述中心节点,则删除所述本地缓存数据;
上传模块607,用于若未上传至所述中心节点,则上传至所述中心节点后,删除所述本地缓存数据。
在本发明实施例中,接收本区域内客户端的上传数据并进行本地缓存;若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径。并且在将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址,同时检测本地缓存数据的最近更新时间,将不再新鲜的数据上传至中心节点进行保存,删除在本地缓存,并且在上传数据失败后,也检测中心节点是否已通过同步上传的方式接收到了上传数据。实现了在边缘节点损坏或上传数据失败的情况下,保证数据仍然能上传中心节点,并将边缘节点与中心节点的上传下载服务互相协调配合,降低了系统的维护成本的同时保证数据存储的稳定性。
实施例七
参照图7,示出了本申请的一种文件传输的系统实施例的结构框图,具体可以包括如下模块:
所述文件传输的系统700,包括:至少一个客户端701,和多个边缘节点702,至少一个中心节点703,域名服务器704;客户端、边缘节点、中心节点以及域名服务器存在逻辑连接;
所述域名服务器用于解析发送上传请求或下载请求的客户端的域名,将最近的边缘节点的地址返回给客户端,以供客户端连接最近的边缘节点发送上传数据或者下载请求;
所述边缘节点,包括:
上传请求接收模块,用于接收本区域内客户端的上传数据并进行本地缓存;
本地缓存下载地址生成模块,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
上传中心节点模块,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;
所述边缘节点,还包括:
数据下载请求接收模块,用于接收本区域内客户端的数据下载请求;
返回数据模块,用于若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;
缓存并返回数据模块,用于若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种文件传输的方法和一种文件传输的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种文件传输的方法,其特征在于,包括:
接收本区域内客户端的上传数据并进行本地缓存;
若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收本区域内客户端的数据下载请求;
通过所述数据下载请求,获得数据回源地址;
若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;
若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
3.根据权利要求1所述的方法,其特征在于,在所述若本地缓存成功,则生成并返回本地缓存下载地址的步骤之后,还包括:
将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址。
4.根据权利要求1所述的方法,其特征在于,在所述若本地缓存成功,则生成并返回本地缓存下载地址的步骤之后,还包括:
检测本地缓存数据的最近更新时间;
若所述最近更新时间超过预设阈值,则检测所述本地缓存数据是否已成功上传至所述中心节点;
若已上传至所述中心节点,则删除所述本地缓存数据;
若未上传至所述中心节点,则上传至所述中心节点后,删除所述本地缓存数据。
5.一种文件传输的装置,其特征在于,所述装置包括:
上传请求接收模块,用于接收本区域内客户端的上传数据并进行本地缓存;
本地缓存下载地址生成模块,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
上传中心节点模块,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址。
6.根据权利要求5所述的装置,其特征在于,还包括:
数据下载请求接收模块,用于接收本区域内客户端的数据下载请求;
返回数据模块,用于若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;
缓存并返回数据模块,用于若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
7.根据权利要求5所述的装置,其特征在于,还包括:
同步或异步上传中心节点模块,用于将所述上传数据通过同步或异步方式上传到中心节点,获取并返回所述上传数据的中心节点下载地址,以将所述中心节点下载地址替换所述本地缓存下载地址。
8.根据权利要求5所述的装置,其特征在于,还包括:
更新时间检测模块,用于检测本地缓存数据的最近更新时间;
判断模块,用于若所述最近更新时间超过预设阈值,则检测所述本地缓存数据是否已成功上传至所述中心节点;
缓存数据删除模块,用于若已上传至所述中心节点,则删除所述本地缓存数据;
上传模块,用于若未上传至所述中心节点,则上传至所述中心节点后,删除所述本地缓存数据。
9.一种文件传输的系统,其特征在于,包括:
至少一个客户端,和多个边缘节点,至少一个中心节点,域名服务器;客户端、边缘节点、中心节点以及域名服务器存在逻辑连接;
所述域名服务器用于解析发送上传请求或下载请求的客户端的域名,将最近的边缘节点的地址返回给客户端,以供客户端连接最近的边缘节点发送上传数据或者下载请求;
所述边缘节点,包括:
上传请求接收模块,用于接收本区域内客户端的上传数据并进行本地缓存;
本地缓存下载地址生成模块,用于若本地缓存成功,则生成并返回本地缓存下载地址;所述本地缓存下载地址包括:本地缓存节点的IP地址,所述上传数据缓存在本地的存储路径;
上传中心节点模块,用于若本地缓存失败,则通知用户将所述上传数据上传至中心节点,生成并返回中心节点下载地址;
所述边缘节点,还包括:
数据下载请求接收模块,用于接收本区域内客户端的数据下载请求;
返回数据模块,用于若数据回源地址为本地缓存下载地址,则从本地缓存中获得下载数据,并返回下载数据;
缓存并返回数据模块,用于若数据回源地址为中心节点下载地址,则根据所述中心节点下载地址,下载并缓存至本地后,返回所述下载数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710647555.9A CN107580021A (zh) | 2017-08-01 | 2017-08-01 | 一种文件传输的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710647555.9A CN107580021A (zh) | 2017-08-01 | 2017-08-01 | 一种文件传输的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107580021A true CN107580021A (zh) | 2018-01-12 |
Family
ID=61035360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710647555.9A Pending CN107580021A (zh) | 2017-08-01 | 2017-08-01 | 一种文件传输的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107580021A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
CN109218447A (zh) * | 2018-10-29 | 2019-01-15 | 中国建设银行股份有限公司 | 媒体文件分发方法及文件分发平台 |
CN110493350A (zh) * | 2019-08-27 | 2019-11-22 | 北京百度网讯科技有限公司 | 文件上传方法和装置、电子设备和计算机可读介质 |
CN110912926A (zh) * | 2019-12-04 | 2020-03-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 数据资源回源方法及装置 |
CN111935246A (zh) * | 2020-07-21 | 2020-11-13 | 山东省计算中心(国家超级计算济南中心) | 一种基于云边协作的用户生成内容上传方法和系统 |
CN112866310A (zh) * | 2019-11-12 | 2021-05-28 | 北京金山云网络技术有限公司 | Cdn回源的校验方法和校验服务器、cdn集群 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036967A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载系统 |
CN103401946A (zh) * | 2013-08-19 | 2013-11-20 | 网宿科技股份有限公司 | Http上传加速方法和系统 |
-
2017
- 2017-08-01 CN CN201710647555.9A patent/CN107580021A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036967A (zh) * | 2012-12-10 | 2013-04-10 | 北京奇虎科技有限公司 | 一种下载管理设备、方法及数据下载系统 |
CN103401946A (zh) * | 2013-08-19 | 2013-11-20 | 网宿科技股份有限公司 | Http上传加速方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
CN109218447A (zh) * | 2018-10-29 | 2019-01-15 | 中国建设银行股份有限公司 | 媒体文件分发方法及文件分发平台 |
CN109218447B (zh) * | 2018-10-29 | 2021-09-17 | 中国建设银行股份有限公司 | 媒体文件分发方法及文件分发平台 |
CN110493350A (zh) * | 2019-08-27 | 2019-11-22 | 北京百度网讯科技有限公司 | 文件上传方法和装置、电子设备和计算机可读介质 |
CN112866310A (zh) * | 2019-11-12 | 2021-05-28 | 北京金山云网络技术有限公司 | Cdn回源的校验方法和校验服务器、cdn集群 |
CN112866310B (zh) * | 2019-11-12 | 2022-03-04 | 北京金山云网络技术有限公司 | Cdn回源的校验方法和校验服务器、cdn集群 |
CN110912926A (zh) * | 2019-12-04 | 2020-03-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 数据资源回源方法及装置 |
CN111935246A (zh) * | 2020-07-21 | 2020-11-13 | 山东省计算中心(国家超级计算济南中心) | 一种基于云边协作的用户生成内容上传方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107580021A (zh) | 一种文件传输的方法和装置 | |
CN101409706B (zh) | 一种边缘网络中的数据分发方法、数据分发系统及相关设备 | |
CN111970315A (zh) | 推送消息的方法、装置及系统 | |
US10313452B2 (en) | Migrating a chat message service provided by a chat server to a new chat server | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN110703980B (zh) | 一种文件传输方法及装置 | |
CN105991412B (zh) | 消息推送方法及装置 | |
US20120198268A1 (en) | Re-establishing push notification channels via user identifiers | |
CN109873855B (zh) | 一种基于区块链网络的资源获取方法和系统 | |
US10848586B2 (en) | Content delivery network (CDN) for uploading, caching and delivering user content | |
KR20130088774A (ko) | 분할 콘텐트 전달 시스템 및 방법 | |
CN109992406B (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
CN106453460B (zh) | 一种文件分发方法、装置和系统 | |
CN108683668A (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
CN108377247B (zh) | 一种消息推送方法和装置 | |
CN104025521A (zh) | 内容传输系统、优化该系统中网络流量的方法、中央控制装置和本地缓存装置 | |
CN106357539A (zh) | 一种数据获取方法和设备 | |
CN108124002A (zh) | 一种数据发送方法及装置 | |
CN113517985B (zh) | 文件数据处理方法、装置、电子设备及计算机可读介质 | |
CN112491963B (zh) | 数据传输方法、装置、设备及可读存储介质 | |
CN112751897A (zh) | 负载均衡方法、装置、介质及设备 | |
US11042357B2 (en) | Server and method for ranking data sources | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN107566270A (zh) | 一种资源访问的处理方法及装置 | |
CN105357260B (zh) | 实现虚拟桌面的系统、vdi数据缓存方法和vdi缓存设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180112 |
|
RJ01 | Rejection of invention patent application after publication |