应用网络文件系统处理中文数据的方法及装置与流程

文档序号:11155441阅读:411来源:国知局
应用网络文件系统处理中文数据的方法及装置与制造工艺

本发明涉及计算机网络中处理数据的技术,特别涉及一种应用网络文件系统(NFS,Network File System)处理中文数据的方法及装置。



背景技术:

在计算机云存储技术中,特别是计算机云存储技术采用的分布式存储系统中,实现了采用NFS文件传输协议传输数据。NFS允许计算机网络中的计算机之间通过TCP/IP网络共享数据资源。在NFS系统中,包括具有视窗(windows)操作系统的客户端及具有Linux操作系统的客户端,在具有不同操作系统的客户端共享NFS系统提供的中文数据,在客户端应用中文数据,会出现中文字符乱码的问题。具体地说,就是由具有windows操作系统的客户端传输的中文数据,通过NFS服务端传输给具有Linux操作系统的客户端,具有Linux操作系统的客户端在查看该中文数据时,就会出现中文字符乱码的问题,反之亦然。



技术实现要素:

有鉴于此,本发明实施例提供一种NFS处理中文数据的方法,该方法能够解决客户端在查看由与自身具有不同操作系统的客户端传输的中文数据时,出现中文字符乱码的问题。

本发明实施例还提供一种NFS处理中文数据的装置,该装置能够解决客户端在查看由与自身具有不同操作系统的客户端传输的中文数据时,出现中文字符乱码的问题。

根据上述目的,本发明是这样实现的:

一种应用网络文件系统NFS处理中文数据的方法,包括:

NFS服务端判断请求中文数据的客户端具有的操作系统是否与NFS服务端设定的客户端具有的操作系统相同,

如果相同,将该中文数据发送给请求的客户端;

如果不相同,对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换后,将编码转换后的该中文数据发送给请求的客户端。

所述请求中文数据是其他客户端发送给NFS服务端的,在所述NFS服务端判断之前,该方法还包括:

NFS服务端判断接收的中文数据携带的操作系统标识对应的操作系统是否与NFS服务端设定的客户端具有的操作系统相同,如果是,则不进行处理,如果否,则将该中文数据进行设定客户端具有的操作系统所采用的编码转换。

所述中文数据携带的操作系统标识为设置在中文数据的头消息中的机器名。

所述NFS服务端设定的客户端具有的操作系统为Linux系统,所述NFS服务端设定的客户端具有的操作系统所采用的编码为UTF-8编码。

所述如果不相同时,所述请求该中文数据的客户端为具有windows操作系统的客户端;

所述对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换为:将UTF-8编码的该中文数据转换为GBK编码的中文数据。

所述如果不相同时,所述其他客户端为windows客户端;

所述将该中文数据进行设定客户端具有的操作系统所采用的编码转换为GBK编码的该中文数据转换为UTF-8编码的该中文数据。

一种应用NFS处理中文数据的装置,包括:判断单元、处理单元及发送单元,其中,

判断单元,用于判断请求中文数据的客户端具有的操作系统是否与自身设定的客户端具有的操作系统相同,得到判断结果;

处理单元,用于判断结果为相同,不做处理;判断结果为不相同,对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换;

发送单元,用于将该中文数据发送给请求的客户端,或将编码转换后的该中文数据发送给请求的客户端。

所述请求中文数据是其他客户端发送给NFS服务端的,

判断单元,还用于判断接收的中文数据携带的操作系统标识对应的操作系统是否与自身设定的客户端具有的操作系统相同,得到第二判断结果;

处理单元,用于第二判断结果为相同,则不进行处理;第二判断结果为不相同,将该中文数据进行设定客户端具有的操作系统所采用的编码转换。

由上述方案可以看出,本发明实施例NFS在传输中文数据时由中文数据携带发送该中文数据的操作系统标识,NFS在接收到中文数据时就可以根据携带的标识确定中文数据所采用的编码,NFS服务端将该中文数据进行设定客户端具有的操作系统所采用的编码转换。后续NFS服务端接收到该中文数据的请求后,判断请求该中文数据的客户端具有的操作系统是否与NFS服务端设定的客户端具有的操作系统相同,如果不相同,则对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换,发送;如果相同,则不进行处理,直接发送。这样,就可以解决客户端在查看由与自身具有不同操作系统的客户端传输的中文数据时,出现中文字符乱码的问题。

附图说明

图1为本发明实施例提供的NFS处理中文数据的方法流程图;

图2为本发明实施例提供的NFS处理中文数据的方法例子流程图;

图3为本发明实施例提供的NFS处理中文数据的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举例,对本发明作进一步详细说明。

NFS中,客户端在查看由与自身具有不同操作系统的客户端传输的中文数据时,出现中文字符乱码的问题的主要原因是因为:具有不同操作系统的客户端在处理中文数据时采用的编码不同,比如,具有window操作系统的客户端采用汉字内码扩展规范(GBK,Chinese Internal Code Specification)对中文数据进行编码,而具有Linux操作系统的客户端采用万国码(UTF-8,8bit Unicode Tranformationn Formate),这样,客户端在查看由与自身具有不同操作系统的客户端传输的中文数据时,由于中文数据的编码不同,造成了对中文数据解码时出现的中文字符乱码问题。

为了解决这个问题,本发明实施例采用了NFS在传输中文数据时由中文数据携带发送该中文数据的操作系统标识,NFS在接收到中文数据时就可以根据携带的标识确定中文数据所采用的编码,NFS服务端将该中文数据进行设定客户端具有的操作系统所采用的编码转换。后续NFS服务端接收到该中文数据的请求后,判断请求该中文数据的客户端具有的操作系统是否与NFS服务端设定的客户端具有的操作系统相同,如果不相同,则对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换后,发送,如果相同,则不进行处理,直接发送。

图1为本发明实施例提供的NFS处理中文数据的方法流程图,其具体步骤为:

步骤101、NFS服务端判断请求中文数据的客户端具有的操作系统是否与NFS服务端设定的客户端具有的操作系统相同,如果相同,则执行步骤102;如果不相同,则执行步骤103;

步骤102、NFS服务端将该中文数据发送给请求的客户端;

步骤103、NFS服务端对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换后,将编码转换后的该中文数据发送给请求的客户端。

在该步骤中,所述请求中文数据是其他客户端发送给NFS服务端的,在步骤101之前,该方法还包括:

NFS服务端判断接收的中文数据携带的操作系统标识对应的操作系统是否与NFS服务端设定的客户端具有的操作系统相同,如果是,则不进行处理,如果否,则将该中文数据进行设定客户端具有的操作系统所采用的编码转换。

在该方法中,所述中文数据携带的操作系统标识为设置在中文数据的头消息中的机器名,可以对机器名进行设置,统一以某个字符串开头。具体地说,对于具有windows操作系统的客户端则重新采用机器名标识,对于具有Linux操作系统的客户端则不更改机器名,便于NFS服务端甄别出该中文数据是来自具有windows操作系统的客户端还是具有Linux操作系统的客户端。

在该方法中,所述NFS服务端设定的客户端具有的操作系统为Linux系统,所述NFS服务端设定的客户端具有的操作系统所采用的编码为UTF-8编码。

在执行步骤103时,所述请求该中文数据的客户端为具有windows操作系统的客户端;

所述对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换为:将UTF-8编码的该中文数据转换为GBK编码的中文数据。

在该方法中,当NFS服务端判断接收的中文数据携带的操作系统标识对应的操作系统与NFS服务端设定的客户端具有的操作系统不相同时,所述其他客户端为windows客户端,所述将该中文数据进行设定客户端具有的操作系统所采用的编码转换为GBK编码的该中文数据转换为UTF-8编码的该中文数据。

举一个具体例子说明,如图2所示,图2为本发明实施例提供的NFS处理中文数据的方法例子流程图,其具体步骤为:

步骤201、具有windows操作系统的客户端发送中文数据给NFS服务端,其中在中文数据的头消息中携带了表示windows操作系统的机器名;

在本步骤中,可以设置统一的以win开头的机器名等;

步骤202、NFS服务端接收到该中文数据后,对头消息进行解析,通过识别机器名,确定该中文数据来自具有windows操作系统的客户端;

步骤203、NFS服务端对该中文数据进行GBK编码到UTF-8编码的编码转换;

步骤204、NFS接收到该中文数据的请求,判断发送该请求的客户端是具有windows操作系统的客户端还是具有Linux操作系统的客户端;

步骤205、如果该请求是具有Linux操作系统的客户端发送的,则不进行处理,直接将该中文数据发送;

步骤206、如果该请求是具有windows操作系统的客户端发送的,则将该中文数据进行UTF-8编码到GBK编码的转换后,在将编码转换后的该中文数据发送。

图3为本发明实施例提供的NFS处理中文数据的装置结构示意图。该装置为NFS服务端,包括:判断单元、处理单元及发送单元,其中,

判断单元,用于判断请求中文数据的客户端具有的操作系统是否与自身设定的客户端具有的操作系统相同,得到判断结果;

处理单元,用于判断结果为相同,不做处理;判断结果为不相同,对该中文数据进行设置的对应所请求客户端具有的操作系统的编码转换;

发送单元,用于将该中文数据发送给请求的客户端,或将编码转换后的该中文数据发送给请求的客户端。

在该结构中,所述请求中文数据是其他客户端发送给NFS服务端的,判断单元,还用于判断接收的中文数据携带的操作系统标识对应的操作系统是否与自身设定的客户端具有的操作系统相同,得到第二判断结果;

处理单元,用于第二判断结果为相同,则不进行处理;第二判断结果为不相同,将该中文数据进行设定客户端具有的操作系统所采用的编码转换。

以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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