【技术实现步骤摘要】
本专利技术涉及系统体系结构
,具体涉及一种在异构环境下便捷并支持通过自动编码转换的方式访问FTP的方法。
技术介绍
FTP ,FTP-File Transfer Protocol,即文件传输协议,是在现实生活中使用相当广泛的一种协议。公司利用FTP可以进行知识共享库的搭建,方便员工下载公司文档和应用软件。学校可以搭建FTP服务器用于学生课程设计的提交或者用于教学课件的分发。正是因为FTP的方便易用、功能强大等特点使得FTP协议非常流行。很多操作系统都捆绑FTP组件,用户可以方便的利用这些组件进行FTP服务器的搭建或者访问位于远端的FTP服务器。FTP有广泛的用途。但是一般需要用专门的FTP客户端去访问FTP服务器。这就给一些初级用户带来了一些困扰。如何向用户屏蔽这一技术细节呢?公司工作环境的不是一成不变的,并且大多数情况下是异构的。中文环境下Windows Server默认的系统编码是GBK编码,而Linux一般使用更通用的UTF8编码来作为系统的默认编码,这种异构环境编码的不一致就会导致很多问题。简单起见我们假设在Windows Server搭建了一个FTP服务器,由于工作原因需要在Linux下利用FTP客户端访问Window Server上的FTP服务器,由于GBK编码和UTF8编码的不兼容性就会导致在Linux的FTP客户端看到的含有中文的文件名乱码。
技术实现思路
本专利技术要解决的技术问题是:针对此问题,本专利技术提供一种在异构环境下便捷并支持通过自动编码转换的方式访问FTP的方法。r>本专利技术所采用的技术方案为:一种异构环境下通过自动编码转换的方式访问FTP的方法,所述方法利用FUSE(FileSystem in UserSpace)提供的接口实现一个自定义的用户态的文件系统Ftp_FS,利用Ftp_FS可以把FTP空间便捷的挂载到本地文件系统上,用户对挂载点目录的访问会自动重定向到FTP空间。对终端用户屏蔽了技术细节。用户只需要像访问本地文件一样去访问挂载点目录就可以完成对FTP服务器的读写流程,非常方便。fuse用户文件系统,作为可加载模块,允许非特权用户建立功能完备的文件系统,而不需要重新编译内核。fuse模块仅仅提供内核模块的入口,而本身的主要实现代码位于用户空间中。对于读写虚拟文件系统来讲,fuse是个很好的选择。fuse包含包含一个内核模块和一个用户空间守护进程,将大部分的VFS调用都委托一个专用的守护进程来处理。在异构环境下,利用Ftp_FS文件系统的编码子模块,通过指定特定的编码格式把FTP空间挂载到本地文件系统上,利用FTP客户端进行访问。指定编码格式的目的就是在用户访问该挂载点目录的时候会自动完成该编码到Linux默认编码之间的转换。在异构环境下,比如Windows Server上搭建的FTP服务器,利用Ftp_FS文件系统在Linux下利用FTP客户端进行访问。所述方法实现过程如下:1)用户访问FTP空间在本地文件系统上的挂载点目录;2)系统把访问请求重定向到Linux内核的VFS模块;3)VFS把访问请求转交给FUSE内核模块进行处理;4)FUSE模块调用Ftp_FS;5)Ftp_FS访问Windows Server上的FTP服务器;6)FTP服务器返回文件列表;7)如果FTP服务器所在系统的默认编码跟Linux的系统编码不一致,则调用转码子模块进行编码的自动转换;8)把转码好的文件列表转交FUSE模块;9)FUSE模块转交VFS模块;10)VFS返回正确转码的文件列表;11)用户读取到无乱码文件列表。本专利技术的有益效果为:本专利技术方法通过挂载FTP到本地文件系统可以让终端用户像操作本地文件一样去操作FTP服务器上的文件,提升了用户体验,通过智能转码,解决了异构环境由于编码不同而导致的乱码问题。说明书附图图1为本专利技术方法原理图。具体实施方式下面根据说明书附图,结合具体实施方式对本专利技术进一步说明:一种异构环境下通过自动编码转换的方式访问FTP的方法,所述方法利用FUSE(FileSystem in UserSpace)提供的接口实现一个自定义的用户态的文件系统Ftp_FS,利用Ftp_FS可以把FTP空间便捷的挂载到本地文件系统上,用户对挂载点目录的访问会自动重定向到FTP空间。对终端用户屏蔽了技术细节。用户只需要像访问本地文件一样去访问挂载点目录就可以完成对FTP服务器的读写流程,非常方便。fuse用户文件系统,作为可加载模块,允许非特权用户建立功能完备的文件系统,而不需要重新编译内核。fuse模块仅仅提供内核模块的入口,而本身的主要实现代码位于用户空间中。对于读写虚拟文件系统来讲,fuse是个很好的选择。fuse包含包含一个内核模块和一个用户空间守护进程,将大部分的VFS调用都委托一个专用的守护进程来处理。在异构环境下,利用Ftp_FS文件系统的编码子模块,通过指定特定的编码格式把FTP空间挂载到本地文件系统上,利用FTP客户端进行访问。指定编码格式的目的就是在用户访问该挂载点目录的时候会自动完成该编码到Linux默认编码之间的转换。在异构环境下,比如Windows Server上搭建的FTP服务器,利用Ftp_FS文件系统在Linux下利用FTP客户端进行访问。如图1所示,所述方法实现过程如下:1)用户访问FTP空间在本地文件系统上的挂载点目录;2)系统把访问请求重定向到Linux内核的VFS模块;3)VFS把访问请求转交给FUSE内核模块进行处理;4)FUSE模块调用Ftp_FS;5)Ftp_FS访问Windows Server上的FTP服务器;6)FTP服务器返回文件列表;7)如果FTP服务器所在系统的默认编码跟Linux的系统编码不一致,则调用转码子模块进行编码的自动转换;8)把转码好的文件列表转交FUSE模块;9)FUSE模块转交VFS模块;10)VFS返回正确转码的文件列表;11)用户读取到无乱码文件列表。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。本文档来自技高网...
【技术保护点】
一种异构环境下通过自动编码转换的方式访问FTP的方法,其特征在于:所述方法利用FUSE提供的接口实现一个自定义的用户态的文件系统Ftp_FS,利用Ftp_FS把FTP空间挂载到本地文件系统上,用户对挂载点目录的访问会自动重定向到FTP空间。
【技术特征摘要】
1.一种异构环境下通过自动编码转换的方式访问FTP的方法,其特征在于:所述方法利用FUSE提供的接口实现一个自定义的用户态的文件系统Ftp_FS,利用Ftp_FS把FTP空间挂载到本地文件系统上,用户对挂载点目录的访问会自动重定向到FTP空间。
2.根据权利要求1所述的一种异构环境下通过自动编码转换的方式访问FTP的方法,其特征在于:在异构环境下,利用Ftp_FS文件系统的编码子模块,通过指定特定的编码格式把FTP空间挂载到本地文件系统上,利用FTP客户端进行访问。
3.根据权利要求1或2所述的一种异构环境下通过自动编码转换的方式访问FTP的方法,其特征在于,所述方法实现过程如下:
1)用...
【专利技术属性】
技术研发人员:李占强,辛国茂,亓开元,房体盈,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。