CN107294928A - 一种终端访问cdn的方法及系统、驱动和cdn - Google Patents
一种终端访问cdn的方法及系统、驱动和cdn Download PDFInfo
- Publication number
- CN107294928A CN107294928A CN201610206432.7A CN201610206432A CN107294928A CN 107294928 A CN107294928 A CN 107294928A CN 201610206432 A CN201610206432 A CN 201610206432A CN 107294928 A CN107294928 A CN 107294928A
- Authority
- CN
- China
- Prior art keywords
- cdn
- driving
- terminal
- account
- catalogue
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种终端访问CDN的方法及系统、用于使终端访问CDN的驱动和CDN,所述终端包括驱动、VFS、应用程序和目录,所述目录来自于所述CDN,在所述终端侧,所述方法包括:所述驱动接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;所述驱动根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;所述驱动将所述CDN指令发送给所述CDN,使得所述CDN响应所述应用程序的请求。通过上述方法,CDN只需与驱动作交互,无需对每一个应用程序都做一次对接,减小了应用程序接入CDN的难度,也减少了CDN的建设费用。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种终端访问内容分发网络(英文:Content Delivery Network,简称:CDN)的方法及系统、用于使终端访问CDN的驱动和CDN。
背景技术
为了缓解互联网的数据传输压力、更高效地为用户提供数据服务,各种类型的CDN服务商,如自建CDN、电信运营商、免费自助CDN等应运而生。第三方的应用程序通过CDN可以更快地获得所需内容。
第三方的应用程序在访问CDN时,一般需要根据该CDN提供的协议进行协议对接。但由于不同CDN提供的协议也是各式各样的,这为第三方的应用程序接入CDN带来了难度。
发明内容
本申请提供一种终端访问CDN的方法及系统、用于使终端访问CDN的驱动和CDN,用以解决第三方的应用程序接入CDN需要进行协议对接,导致应用程序接入CDN困难的问题。
本申请第一方面,提供了一种终端访问CDN的方法,所述终端包括驱动、VFS、应用程序和目录,所述目录来自于所述CDN,在所述终端侧,所述方法包括:
所述驱动接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;
所述驱动根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;
所述驱动将所述CDN指令发送给所述CDN,使得所述CDN响应所述应用程序的请求。
通过上述实现方式,通过这种方式,CDN只需与驱动作交互,无需对每一个应用程序都做一次对接,减小了应用程序接入CDN的难度,也减少了CDN的建设费用。
在一个可能的设计中,在所述驱动接收所述VFS转发的系统调用之前,所述方法还包括:
在所述驱动被安装到所述终端的过程中,所述驱动获取所述终端的认证信息;
所述驱动将所述认证信息携带在认证请求中发送给所述CDN进行认证;
所述驱动接收所述CDN在认证通过所述认证请求后返回的授权结果;所述授权结果包括所述认证信息对应的账户列表;
所述驱动从所述CDN获取所述账户列表中的每个账户分别对应的目录,完成所述驱动的安装过程;
在所述终端的开机过程中,所述驱动确定所述终端登录的账户;
若所述终端登录的账户在所述账户列表中,则所述驱动根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端上生成与所述终端登录的账户对应的目录。
通过上述实现方式,在驱动被安装到终端的过程中进行第一次鉴权,在终端开机时进行第二次鉴权,通过双重鉴权可以保证终端访问CDN的安全性。
在一个可能的设计中,所述终端还包括权限认证模块;
所述驱动从所述CDN上获取所述账户列表中的每个账户分别对应的目录,包括:
所述驱动从所述CDN上获取所述账户列表中的每个账户分别对应的目录和每个账户对目录中的文件的访问权限;
所述系统调用由所述应用程序发送给所述权限认证模块;在所述权限认证模块根据所述终端登录的账户的访问权限确定所述应用程序能够进行所述操作时、所述系统调用再由所述权限认证模块发送给所述VFS、最终由所述VFS发送给所述驱动。
通过上述实现方式,在应用程序访问目录中的文件时再次进行鉴权,进一步保证CDN文件的安全性。
本申请第二方面,提供了一种终端访问CDN的方法,所述终端包括驱动、VFS、应用程序和目录,所述目录来自于所述CDN,在所述CDN侧,所述方法包括:
所述CDN接收所述驱动发送的CDN指令;所述CDN指令由所述驱动在接收到所述VFS转发的系统调用时发送;所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;
所述CDN根据所述CDN指令,响应所述应用程序的请求。
在一个可能的设计中,在所述CDN接收所述驱动发送的CDN指令之前,所述方法还包括:
所述CDN接收所述驱动发送的认证请求;所述认证请求携带有所述终端的认证信息;
所述CDN在认证通过所述认证请求后,返回授权结果给所述驱动,所述授权结果包括所述认证信息对应的账户列表;
所述CDN在所述驱动请求获取所述账户列表中的每个账户分别对应的目录时,返回所述账户列表中的每个账户分别对应的目录给所述驱动。
本申请第三方面,提供了一种用于使终端访问CDN的驱动,所述终端包括所述驱动、统VFS、应用程序和目录,所述目录来自于所述CDN:所述驱动具有实现上述第一方面的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。
一种可能的实现方式中,所述驱动包括接收单元、转换单元和发送单元:
所述接收单元,用于接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;
所述转换单元,用于根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;
所述发送单元,用于将所述CDN指令发送给所述CDN,使得所述CDN响应所述应用程序的请求。
本申请第四方面,提供了一种CDN,包括:
接收单元,用于接收终端上的驱动发送的CDN指令;所述CDN指令由所述驱动在接收到所述终端上的VFS转发的系统调用时发送;所述系统调用由所述终端上的应用程序在请求对所述终端上的目录中的文件进行操作时发送;所述目录来自于所述CDN;
处理单元,用于根据所述CDN指令,响应所述应用程序的请求。
本申请第五方面,提供了一种终端访问CDN的系统,所述系统包括终端和CDN,所述终端包括驱动、VFS、应用程序和目录,所述目录来自于所述CDN;其中
所述驱动,用于接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;将所述CDN指令发送给所述CDN;
所述CDN,用于接收所述驱动发送的CDN指令;根据所述CDN指令,响应所述应用程序的请求。
在一个可能的设计中,在所述驱动接收所述VFS转发的系统调用之前,所述驱动还用于:
在所述驱动被安装到所述终端的过程中,获取所述终端的认证信息;
将所述认证信息携带在认证请求中发送给所述CDN进行认证;
接收所述CDN在认证通过所述认证请求后返回的授权结果;所述授权结果包括所述认证信息对应的账户列表;
从所述CDN获取所述账户列表中的每个账户分别对应的目录,完成所述驱动的安装过程;
在所述终端的开机过程中,确定所述终端登录的账户;
若所述终端登录的账户在所述账户列表中,则根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端上生成与所述终端登录的账户对应的目录。
在一个可能的设计中,所述终端还包括权限认证模块;
所述驱动在从所述CDN上获取所述账户列表中的每个账户分别对应的目录时,具体用于:
从所述CDN上获取所述账户列表中的每个账户分别对应的目录和每个账户对目录中的文件的访问权限;
所述系统调用由所述应用程序发送给所述权限认证模块;在所述权限认证模块根据所述终端登录的账户的访问权限确定所述应用程序能够进行所述操作时、所述系统调用再由所述权限认证模块发送给所述VFS、最终由所述VFS发送给所述驱动。
利用本申请提供的方案,通过在终端上安装本申请提供的驱动,该驱动可以将来自于CDN的目录保存在终端上,终端上的应用程序只需把该目录当作普通的目录,对其进行读写文件的操作请求即可,终端自带的虚拟文件系统(英文:Virtual File System,简称:VFS)可以捕获到该操作请求并传送给驱动,由驱动根据该操作请求对CDN执行相应的操作,从而实现第三方应用程序对CDN的访问。通过这种方式,CDN只需与驱动作交互,无需对每一个应用程序都做一次对接,减小了应用程序接入CDN的难度,也减少了CDN的建设费用。
附图说明
图1为本申请提供的一种终端访问CDN的方法应用的系统示意图;
图2为本申请提供的一种驱动生成的目录的示意图;
图3为本申请提供的一种终端访问CDN的方法的流程图;
图4为本申请提供的一种用于使终端访问CDN的驱动的结构示意图;
图5为本申请提供的一种CDN的结构示意图。
具体实施方式
当第三方的应用程序访问CDN时,总是需要进行相关协议的转换。这对于CDN的提供商而言,需要向应用程序提供CDN的访问协议及使用方式。而对于第三方的应用程序而言,需要根据CDN提供的协议学习如何对接到CDN。期间,CDN与第三方的应用程序之间的联合调试部署等环节也是费时费力。当CDN提供商在商务上处于弱势时,还会需要修改CDN的系统架构,导致增加了不必要的管理费用。
为此,本申请提出了一种终端访问CDN的方法及系统、用于使终端访问CDN的驱动和CDN,通过在终端上安装本申请提供的驱动,该驱动可以将来自于CDN的目录保存在终端上,终端上的应用程序只需把该目录当作普通的目录,对其进行读写文件的操作请求即可,终端自带的VFS可以捕获到该操作请求并传送给驱动,由驱动根据该操作请求对CDN执行相应的操作,从而实现第三方应用程序对CDN的访问。通过这种方式,CDN只需与驱动作交互,无需对每一个应用程序都做一次对接,减小了应用程序接入CDN的难度,也减少了CDN的建设费用。
本申请提供的技术方案可以应用于移动终端设备上,如手机、平板电脑等,也可以应用于固定终端设备上,如台式机等。此外,本申请提供的技术方案的实施不受限于设备使用的操作系统,如可以应用于Linux操作系统,Windows操作系统等。
下面结合附图对本发明优选的实施方式进行详细说明。
本申请提供的终端访问CDN的方法,可以应用于图1所示的系统,该系统包括终端10和CDN 11。
其中,终端10包括应用程序101、目录102、VFS 103和驱动104。
应用程序101,可以是具备文件系统访问功能的任何类型的软件,如文本查看软件、图片查看软件、视频播放软件和音乐播放软件等。
目录102,来自于CDN 11,可视为CDN 11面向应用程序101的对外接口。应用程序101只需把目录102当作普通目录,对其进行读写文件的操作请求,即可对CDN 11上的文件进行查看、修改、下载、删除等操作。如图2所示,为目录102的一种可能的显示形式。
VFS 103,为终端10自带的文件系统对外接口,为各类文件系统提供了一个统一的操作界面和应用程序编程接口。在本申请中,VFS 103用于捕获应用程序101在对目录102进行读写文件操作时发送的系统调用,并将捕获到的系统调用发送给驱动104做后续处理。
驱动104,用于接收VFS103转发的系统调用,所述系统调用由应用程序101在请求对目录102中的文件进行操作时发送;然后根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;将所述CDN指令发送给CDN 11。
由于系统调用的类型是有限的,常用的有读文件、修改文件、保存文件、删除文件等几种类型的系统调用。因此,驱动104内部可以预先配置好各种类型的系统调用与CDN指令之间的映射关系。所谓CDN指令,即CDN 11能够识别的指令。
CDN 11,用于接收所述驱动104发送的CDN指令;然后根据所述CDN指令,响应所述应用程序101的请求。
可选的,在所述驱动104接收所述VFS 103转发的系统调用之前,所述驱动104还可以用于:在所述驱动104被安装到所述终端10的过程中,获取所述终端10的认证信息;将所述认证信息携带在认证请求中发送给所述CDN 11进行认证;接收所述CDN 11在认证通过所述认证请求后返回的授权结果;所述授权结果包括所述认证信息对应的账户列表;从所述CDN 11获取所述账户列表中的每个账户分别对应的目录,完成所述驱动104的安装过程;然后,在所述终端10的开机过程中,确定所述终端10登录的账户;若所述终端10登录的账户在所述账户列表中,则根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端10上生成与所述终端登录的账户对应的目录102。
可选的,所述终端10还包括权限认证模块;从而,在所述驱动104从所述CDN 11上获取所述账户列表中的每个账户分别对应的目录时,所述驱动104还可以从所述CDN 11上获取每个账户对目录中的文件的访问权限。从而,所述系统调用由所述应用程序101发送给所述权限认证模块;在所述权限认证模块根据所述终端10登录的账户的访问权限确定所述应用程序101能够进行所述操作时、所述系统调用再由所述权限认证模块发送给所述VFS 103、最终由所述VFS 103发送给所述驱动104。
可选的,CDN 11可以包括CDN全局负载均衡服务器111、CDN数据源服务器112和多个CDN边缘服务器,如图1中的CDN边缘服务器113和CDN边缘服务器114。
在终端10安装驱动104时,CDN全局负载均衡服务器111若接收到驱动104发送的认证信息,则用于对该认证信息进行认证,并在认证通过该认证信息后,在多个CDN边缘服务器中选择一个CDN边缘服务器分配给驱动104,如将CDN边缘服务器113分配给驱动104,后续驱动104直接与CDN边缘服务器113交互。
CDN数据源服务器112上存储有CDN 11内的所有文件。如果CDN边缘服务器113上不存在驱动104所请求的文件时,CDN边缘服务器113可以向CDN数据源服务器112请求该驱动104所请求的文件。
CDN边缘服务器可以采用集群式的部署方式,也可以采用非集群式的部署方式。下面以驱动104和其中一个CDN边缘服务器的交互举例说明,如CDN边缘服务器113。
CDN边缘服务器113在接收到驱动104发送的CDN指令时,根据该CDN指令执行相应的操作,如将该CDN边缘服务器113上存储的某一个文件发送给驱动104、删除该CDN边缘服务器113上存储的某一个文件等。
本申请中,驱动可以将来自于CDN的目录保存在终端上,由驱动统一根据各个应用程序对该目录的系统调用向CDN发起请求,终端中的各个应用程序通过访问该目录即可实现访问CDN的效果,应用程序无需与CDN实现对接。
如图3所示为本申请提供的一种终端访问CDN的方法的流程示意图,所述方法包括:
步骤301:终端上的驱动基于CDN数据源服务器上存储的文件在所述终端上生成目录。
可选的,所述驱动在所述终端上生成目录之前,需要先向CDN进行身份认证,具体实现过程如下:
第一步,所述驱动在被安装到所述终端的过程中,获取所述终端的认证信息。
所述认证信息可以是用户输入所述终端的密钥,也可以是所述驱动的安装程序中携带的密钥。
第二步,所述驱动将所述认证信息携带在认证请求发送给CDN全局负载均衡服务器进行认证。
所述驱动的安装程序中可以携带一域名,所述驱动将所述认证请求发送至该域名指向的服务器,由该域名指向的服务器将所述认证请求重定向到CDN全局负载均衡服务器进行认证。全局负载均衡服务器上可以维护一个合法密钥列表,全局负载均衡服务器通过比对所述认证请求中携带的密钥是否在该列表上,确定是否通过所述认证请求。
第三步,如果所述CDN全局负载均衡服务器未认证通过所述认证请求,则所述CDN全局负载均衡服务器通知所述驱动认证失败,所述驱动退出安装程序。如果所述CDN全局负载均衡器认证通过所述认证请求,则所述CDN全局负载均衡服务器可以返回授权结果给所述驱动,从而完成所述驱动的身份认证,其中,所述授权结果包括所述认证信息对应的账户列表。
可选的,所述授权结果还可以包括CDN边缘服务器的地址。
可选的,所述CDN全局负载均衡服务器分配给所述驱动的CDN边缘服务器可以是性能最佳的一个CDN边缘服务器,例如,可以是CDN包括的多个CDN边缘服务器集群中与所述终端的物理距离最近的一个CDN边缘服务器集群中的任一个服务器。或者,所述CDN边缘服务器可以是CDN包括的多个CDN边缘服务器集群中网络速度最快的一个CDN边缘服务器集群中的任一个服务器。
在所述驱动的认证请求被认证通过的情况下,如果所述授权结果包括CDN边缘服务器的地址,则所述驱动可以通过该地址连接上对应的CDN边缘服务器;如果所述授权结果不包括CDN边缘服务器的地址,则所述驱动可以向CDN全局负载均衡服务器,由CDN全局负载均衡服务器将所述驱动的请求重定向到一个CDN边缘服务器上。所述驱动可以从CDN边缘服务器上获取所述账户列表中的每个账户分别对应的目录。CDN边缘服务器上存储的目录以及目录下的文件可以来源于CDN中的CDN数据源服务器,也可以来源于其它CDN边缘服务器。
所述驱动获得的所述账户列表中可能包括了多个账户,其中不同的账户可能对应着不同形式的目录。例如,账户1对应的目录所包含的子目录的数量,可能多于账户2对应的目录所包含的子目录的数量。
由于不同的账户可能对应着不同形式的目录,因此步骤301中所述驱动可以在所述终端的开机过程中,先确定所述终端登录的账户,若所述终端登录的账户在所述账户列表中,则所述驱动可以根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端上生成与所述终端登录的账户对应的目录。若所述终端登录的账户不在所述账户列表中,则所述驱动不生成目录,或是生成一个空目录。如此,可以增强应用程序访问CDN的安全性。
步骤302:所述终端上的应用程序在请求对所述目录中的文件进行操作时,发送系统调用。
所述操作请求包括读文件请求、修改文件请求、保存文件请求、删除文件请求等。
步骤303:所述终端上的VFS捕获到所述应用程序发送的系统调用,将所述系统调用转发给所述驱动。
可选的,为了增强应用程序访问CDN的安全性,所述终端还可以包括权限认证模块,所述驱动可以从所述CDN边缘服务器上获取到所述账户列表中的每个账户对目录中的文件的访问权限,并将所述访问权限发送给所述权限认证模块。不同的用户可能对应着不同的文件访问权限。例如,某个目录下的一个文件对于账户1而言其文件属性是可读的,对于账户2而言其文件属性可能是不可读的。
从而,所述应用程序在请求对所述目录的文件进行操作时,发送系统调用给所述所述权限认证模块;如果所述权限认证模块根据所述终端登录的账户的访问权限确定所述应用程序能够进行所述操作时,则将所述系统调用发送给VFS,最终由VFS将所述系统调用发送给驱动;如果所述权限认证模块确定所述应用程序无权进行所述操作,则屏蔽所述系统调用。
步骤304:所述驱动接收所述VFS转发的来自所述应用程序的系统调用后,根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令。
步骤305:所述驱动将所述CDN指令发送给CDN边缘服务器。
步骤306:所述CDN边缘服务器根据所述CDN指令,响应所述应用程序的请求。
例如,某应用程序请求删除一文件时,CDN边缘服务器可以删除本服务器上存储的该文件,或是将该文件设置成对该应用程序不可见。
例如,某应用程序请求修改一文件时,CDN边缘服务器可以获取该应用程序修改后的文件,并将获取的文件替换本服务器上存储的原文件。
例如,某应用程序请求读一文件或下载一文件时,CDN边缘服务器可以将该文件用预先约定的协议(如超文本传输协议(英文:HyperText TransferProtocol,简称:HTTP))封装后发送给驱动,驱动对收到的文件解封装后传递给VFS,由VFS将该文件呈现给该应用程序。
如果CDN边缘服务器上不存在驱动所请求的文件时,CDN边缘服务器可以向CDN数据源服务器或其它CDN边缘服务器请求该驱动所请求的文件。
可选的,为了提高CDN边缘服务器的响应速度,在CDN边缘服务器接收终端上的驱动发送的CDN指令之前,CDN边缘服务器可以预先向CDN数据源服务器或其它CDN边缘服务器获取发送给驱动的目录中的文件。
基于本申请上述提供的终端访问CDN方法,本申请提供一种用于使终端访问CDN的驱动400,用于实现上述终端访问CDN方法中驱动的功能,其中,所述终端包括所述驱动、VFS、应用程序和目录,所述目录来自于所述CDN。如图4所示,所述驱动400包括接收单元401、转换单元402和发送单元403:
所述接收单元401,用于接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送。
所述转换单元402,用于根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令。
所述发送单元403,用于将所述CDN指令发送给所述CDN,使得所述CDN响应所述应用程序的请求。
可选的,所述驱动400还可以包括获取单元和处理单元:
所述获取单元,用于在所述接收单元401接收所述VFS转发的系统调用之前,在所述驱动被安装到所述终端的过程中,获取所述终端的认证信息。
相应的,所述发送单元403还用于,将所述认证信息携带在认证请求中发送给所述CDN进行认证。
所述接收单元401还用于,接收所述CDN在认证通过所述认证请求后返回的授权结果;所述授权结果包括所述认证信息对应的账户列表。
所述发送单元403还用于,从所述CDN获取所述账户列表中的每个账户分别对应的目录,完成所述驱动的安装过程。
所述处理单元用于,在所述终端的开机过程中,确定所述终端登录的账户;若所述终端登录的账户在所述账户列表中,则根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端上生成与所述终端登录的账户对应的目录。
可选的,所述终端还可以包括权限认证模块;
相应的,所述发送单元403在从所述CDN上获取所述账户列表中的每个账户分别对应的目录的同时,还可以从所述CDN上获取每个账户对目录中的文件的访问权限。
从而,所述系统调用可以由所述应用程序发送给所述权限认证模块;在所述权限认证模块根据所述终端登录的账户的访问权限确定所述应用程序能够进行所述操作时、所述系统调用再由所述权限认证模块发送给所述VFS、最终由所述VFS发送给所述驱动。
本实施例中未尽之细节可参考上述图3所示方法中驱动的描述,在此不再赘述。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
基于本申请上述提供的终端访问CDN方法,本申请提供一种CDN 500,用于实现上述终端访问CDN方法中CDN的功能。如图5所示,所述CDN 500包括接收单元501和处理单元502:
所述接收单元501,用于接收终端上的驱动发送的CDN指令;所述CDN指令由所述驱动在接收到所述终端上的VFS转发的系统调用时发送;所述系统调用由所述终端上的应用程序在请求对所述终端上的目录中的文件进行操作时发送;所述目录来自于所述CDN。
所述处理单元502,用于根据所述CDN指令,响应所述应用程序的请求。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
综上所述,采用本申请提供的技术方案,通过在终端上安装本申请提供的驱动,该驱动可以将来自于CDN的目录保存在终端上,终端上的应用程序只需把该目录当作普通的目录,对其进行读写文件的操作请求即可,终端自带的VFS可以捕获到该操作请求并传送给驱动,由驱动根据该操作请求对CDN执行相应的操作,从而实现第三方应用程序对CDN的访问。通过这种方式,CDN无需对每一个应用程序都做一次对接,减小了应用程序接入CDN的难度,也减少了CDN的建设费用。并且,本申请提供的技术方案可以适用于所有版本的文件系统,兼容性强。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
Claims (10)
1.一种终端访问内容分发网络CDN的方法,其特征在于,所述终端包括驱动、虚拟文件系统VFS、应用程序和目录,所述目录来自于所述CDN,在所述终端侧,所述方法包括:
所述驱动接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;
所述驱动根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;
所述驱动将所述CDN指令发送给所述CDN,使得所述CDN响应所述应用程序的请求。
2.如权利要求1所述的方法,其特征在于,在所述驱动接收所述VFS转发的系统调用之前,所述方法还包括:
在所述驱动被安装到所述终端的过程中,所述驱动获取所述终端的认证信息;
所述驱动将所述认证信息携带在认证请求中发送给所述CDN进行认证;
所述驱动接收所述CDN在认证通过所述认证请求后返回的授权结果;所述授权结果包括所述认证信息对应的账户列表;
所述驱动从所述CDN获取所述账户列表中的每个账户分别对应的目录,完成所述驱动的安装过程;
在所述终端的开机过程中,所述驱动确定所述终端登录的账户;
若所述终端登录的账户在所述账户列表中,则所述驱动根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端上生成与所述终端登录的账户对应的目录。
3.如权利要求2所述的方法,其特征在于,所述终端还包括权限认证模块;
所述驱动从所述CDN上获取所述账户列表中的每个账户分别对应的目录,包括:
所述驱动从所述CDN上获取所述账户列表中的每个账户分别对应的目录和每个账户对目录中的文件的访问权限;
所述系统调用由所述应用程序发送给所述权限认证模块;在所述权限认证模块根据所述终端登录的账户的访问权限确定所述应用程序能够进行所述操作时、所述系统调用再由所述权限认证模块发送给所述VFS、最终由所述VFS发送给所述驱动。
4.一种终端访问内容分发网络CDN的方法,其特征在于,所述终端包括驱动、虚拟文件系统VFS、应用程序和目录,所述目录来自于所述CDN,在所述CDN侧,所述方法包括:
所述CDN接收所述驱动发送的CDN指令;所述CDN指令由所述驱动在接收到所述VFS转发的系统调用时发送;所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;
所述CDN根据所述CDN指令,响应所述应用程序的请求。
5.如权利要求4所述的方法,其特征在于,在所述CDN接收所述驱动发送的CDN指令之前,所述方法还包括:
所述CDN接收所述驱动发送的认证请求;所述认证请求携带有所述终端的认证信息;
所述CDN在认证通过所述认证请求后,返回授权结果给所述驱动,所述授权结果包括所述认证信息对应的账户列表;
所述CDN在所述驱动请求获取所述账户列表中的每个账户分别对应的目录时,返回所述账户列表中的每个账户分别对应的目录给所述驱动。
6.一种用于使终端访问内容分发网络CDN的驱动,其特征在于,所述终端包括所述驱动、虚拟文件系统VFS、应用程序和目录,所述目录来自于所述CDN:所述驱动包括:
接收单元,用于接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;
转换单元,用于根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;
发送单元,用于将所述CDN指令发送给所述CDN,使得所述CDN响应所述应用程序的请求。
7.一种内容分发网络CDN,其特征在于,包括:
接收单元,用于接收终端上的驱动发送的CDN指令;所述CDN指令由所述驱动在接收到所述终端上的虚拟文件系统VFS转发的系统调用时发送;所述系统调用由所述终端上的应用程序在请求对所述终端上的目录中的文件进行操作时发送;所述目录来自于所述CDN;
处理单元,用于根据所述CDN指令,响应所述应用程序的请求。
8.一种终端访问内容分发网络CDN的系统,其特征在于,所述系统包括终端和CDN,所述终端包括驱动、虚拟文件系统VFS、应用程序和目录,所述目录来自于所述CDN;其中
所述驱动,用于接收所述VFS转发的系统调用,所述系统调用由所述应用程序在请求对所述目录中的文件进行操作时发送;根据预设的所述系统调用与CDN指令之间的映射关系,将所述系统调用转换成对应的CDN指令;将所述CDN指令发送给所述CDN;
所述CDN,用于接收所述驱动发送的CDN指令;根据所述CDN指令,响应所述应用程序的请求。
9.如权利要求8所述的系统,其特征在于,在所述驱动接收所述VFS转发的系统调用之前,所述驱动还用于:
在所述驱动被安装到所述终端的过程中,获取所述终端的认证信息;
将所述认证信息携带在认证请求中发送给所述CDN进行认证;
接收所述CDN在认证通过所述认证请求后返回的授权结果;所述授权结果包括所述认证信息对应的账户列表;
从所述CDN获取所述账户列表中的每个账户分别对应的目录,完成所述驱动的安装过程;
在所述终端的开机过程中,确定所述终端登录的账户;
若所述终端登录的账户在所述账户列表中,则根据获取的所述账户列表中的每个账户分别对应的目录,在所述终端上生成与所述终端登录的账户对应的目录。
10.如权利要求9所述的系统,其特征在于,所述终端还包括权限认证模块;
所述驱动在从所述CDN上获取所述账户列表中的每个账户分别对应的目录时,具体用于:
从所述CDN上获取所述账户列表中的每个账户分别对应的目录和每个账户对目录中的文件的访问权限;
所述系统调用由所述应用程序发送给所述权限认证模块;在所述权限认证模块根据所述终端登录的账户的访问权限确定所述应用程序能够进行所述操作时、所述系统调用再由所述权限认证模块发送给所述VFS、最终由所述VFS发送给所述驱动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610206432.7A CN107294928A (zh) | 2016-04-05 | 2016-04-05 | 一种终端访问cdn的方法及系统、驱动和cdn |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610206432.7A CN107294928A (zh) | 2016-04-05 | 2016-04-05 | 一种终端访问cdn的方法及系统、驱动和cdn |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107294928A true CN107294928A (zh) | 2017-10-24 |
Family
ID=60093030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610206432.7A Pending CN107294928A (zh) | 2016-04-05 | 2016-04-05 | 一种终端访问cdn的方法及系统、驱动和cdn |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107294928A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500067A (zh) * | 2022-02-09 | 2022-05-13 | 厦门元屿安科技有限公司 | 基于cdn边缘计算网络的异步打击防盗链方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398744A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现网络数据处理的方法及系统 |
CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储系统的数据缓存方法 |
CN103020199A (zh) * | 2012-12-05 | 2013-04-03 | 上海创图网络科技发展有限公司 | 适用于不同操作系统平台的虚拟文件系统及其应用 |
CN103106260A (zh) * | 2013-01-25 | 2013-05-15 | 南开大学 | 一种面向角色的虚拟文件系统的建立方法 |
CN103116618A (zh) * | 2013-01-28 | 2013-05-22 | 南开大学 | 基于客户端持久缓存的远程文件系统镜像方法及系统 |
-
2016
- 2016-04-05 CN CN201610206432.7A patent/CN107294928A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398744A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现网络数据处理的方法及系统 |
CN102035881A (zh) * | 2010-11-19 | 2011-04-27 | 清华大学 | 一种云端存储系统的数据缓存方法 |
CN103020199A (zh) * | 2012-12-05 | 2013-04-03 | 上海创图网络科技发展有限公司 | 适用于不同操作系统平台的虚拟文件系统及其应用 |
CN103106260A (zh) * | 2013-01-25 | 2013-05-15 | 南开大学 | 一种面向角色的虚拟文件系统的建立方法 |
CN103116618A (zh) * | 2013-01-28 | 2013-05-22 | 南开大学 | 基于客户端持久缓存的远程文件系统镜像方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500067A (zh) * | 2022-02-09 | 2022-05-13 | 厦门元屿安科技有限公司 | 基于cdn边缘计算网络的异步打击防盗链方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108901022B (zh) | 一种微服务统一鉴权方法及网关 | |
US10880287B2 (en) | Out of box experience application API integration | |
CN109314704B (zh) | 用于多租户身份和数据安全管理云服务的单点登录和单点注销功能 | |
US7412447B2 (en) | Remote file management using shared credentials for remote clients outside firewall | |
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和系统 | |
CN101331731B (zh) | 由身份提供商对联盟内的客户进行定制认证的方法、装置和程序产品 | |
CN110300133B (zh) | 跨域数据传输方法、装置、设备及存储介质 | |
US20080301460A1 (en) | Remote provision of consistent one-time password functionality for disparate on-line resources | |
US10339199B2 (en) | Methods, systems, and computer readable media for capturing and storing a web page screenshot | |
US9497260B2 (en) | Communication between two web applications | |
WO2016101635A1 (zh) | 一种同步登录状态的方法、装置、设备和计算机存储介质 | |
US20170371625A1 (en) | Content delivery method | |
JP2017107342A (ja) | 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム | |
US10601831B2 (en) | Accessing local information based on a browser session | |
US20060026692A1 (en) | Network resource access authentication apparatus and method | |
CN109861973A (zh) | 信息传输方法、装置、电子设备及计算机可读介质 | |
CN103209168A (zh) | 一种实现单点登录的方法和系统 | |
CN101771676A (zh) | 一种跨域授权的设置、鉴权方法、相关装置及系统 | |
CN110036387A (zh) | 集成同意系统 | |
CN112437078A (zh) | 文件存储方法、装置、设备及计算机可读存储介质 | |
CN109274705A (zh) | 基于用户身份的服务提供方法、装置及系统 | |
CN103856454B (zh) | Ip 多媒体子系统与互联网业务互通的方法及业务互通网关 | |
KR20010047541A (ko) | 맞춤 페이지 생성 시스템 및 방법 | |
CN101527646B (zh) | 一种web网络管理系统和方法 | |
CN107294928A (zh) | 一种终端访问cdn的方法及系统、驱动和cdn |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171024 |
|
WD01 | Invention patent application deemed withdrawn after publication |