一种基于Linux操作系统的蒙古文安装方法与流程

文档序号:11996245阅读:572来源:国知局
一种基于Linux操作系统的蒙古文安装方法与流程
本发明涉及一种软件安装技术领域,尤其涉及一种基于Linux操作系统的蒙古文安装方法。

背景技术:
随着信息时代的技术发展,蒙古文系统和软件产业也在逐步地丰富。然而,由于蒙古文的特殊性,即同一个蒙古文字符的书写(显现形式),会根据其在词语中的位置不同、单词的词性等属性不同而发生变化,使得呈现在人们面前的是该字符变化后的形式(称为显现字形),以及ISO/IEC10646标准中没有收入蒙古文显现字符,因此,在显示蒙古文时需要将蒙古文的名义字符根据上下文映射到其相应的显现字符,这需要有特殊的蒙古文文字引擎做另外处理,使蒙古文字能够正常的显示变形后的蒙古文字形。目前,没有任何一种适用于Linux操作系统的蒙古文安装方法,这样势必会影响到蒙古文信息化的发展。因此,亟需一种解决方案以解决上述问题。

技术实现要素:
本发明所要解决的技术问题之一是需要提供一种基于Linux操作系统的蒙古文安装方法,该方法能够适用于Linux操作系统。为了解决上述技术问题,本发明提供了一种基于Linux操作系统的蒙古文安装方法,该方法包括:搭建步骤,搭建存储有蒙古文包的服务器,所述蒙古文包包括利用pango模块处理蒙古文字符的替换规则和蒙古文字符变形的蒙古文文字引擎;检测步骤,在客户端请求安装蒙古文时,检测当前Linux操作系统是否已经安装蒙古文,若检测结果为否,则所述服务器向所述客户端推送所述蒙古文包;比较步骤,获取并比较所述服务器中蒙古文包的哈希值和所述客户端中的蒙古文包的哈希值,若二者哈希值一致,则安装蒙古文包,否则,返回失败状态码以通知用户,其中,所述哈希值是利用哈希算法对蒙古文包进行计算得到的值。在一个实施例中,若检测结果为当前Linux操作系统已经安装蒙古文,则比较当前Linux操作系统中蒙古文包的版本与所述服务器中蒙古文包的版本,若当前Linux操作系统中蒙古文包的版本比所述服务器中蒙古文包的版本低,则所述服务器向所述客户端推送所述蒙古文包。在一个实施例中,在所述检测步骤中,所述客户端通过socket连接通道向所述服务器发送socket连接请求以请求安装蒙古文,所述服务器通过socket连接通道向所述客户端发送消息以请求检测当前Linux操作系统是否已经安装蒙古文。在一个实施例中,根据socket返回值来判断所述服务器向客户端推送蒙古文包是否成功。在一个实施例中,在安装蒙古文包时,将所述蒙古文包解压,并将解压后的文件安装到Linux操作系统中对应的目录,其中,将蒙古文包中的蒙古文文字引擎安装到/etc/pango目录中。与现有技术相比,本发明的一个或多个实施例可以具有如下优点:本发明的蒙古文安装方法,通过搭建存储有蒙古文包的服务器,并通过客户端向该服务器发送请求来安装蒙古文,实现了一种通过网络在Linux操作系统的蒙古文安装方法,该方法操作简单,减少用户自己配置蒙古文的时间。并且由于在安装前还检测蒙古文包的哈希值,这样可以较准确较安全地安装获取得到的蒙古文包。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:图1是根据本发明一实施例的基于Linux操作系统的蒙古文安装方法的流程示意图;图2是建立Socket连接通道的流程示意图;图3是利用蒙古文文字引擎处理蒙古文字的操作流程示意图。具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本发明一实施例的基于Linux操作系统的蒙古文安装方法的流程示意图,下面参考附图对本实施例的各步骤进行详细说明。步骤S110,搭建服务器。步骤S120,拷贝蒙古文包到服务器中,其中,蒙古文包包括利用pango模块处理蒙古文字符的替换规则和蒙古文字符变形的蒙古文文字引擎。步骤S130,请求安装蒙古文。具体地,用户系统的客户端通过socket连接通道向服务器端发送socket连接请求以请求安装蒙古文。需要说明的是,在发送请求之前,需要建立socket连接通道。具体如图2所示,在服务器端,首先利用Socket()函数建立流式套接字,利用Bind()函数配置本地端口和IP(绑定Socket到端口),利用Listen()开始监听和接收客户端请求。在客户端首先利用Socket()函数建立流式套接字,利用Bind()函数配置本地端口和IP(绑定Socket到端口),然后,利用Connect()函数与远程服务器连接。服务器端利用Accept()函数接受客户端请求并连接,此时,客户端和服务器端分别利用Recv()和Send()函数来接收消息和发送消息,在接收和发送完消息后,双方利用Close()函数关闭连接。步骤S140,检测当前Linux操作系统是否已经安装蒙古文。在服务器接收到来自客户端的socket消息请求时,服务器通过socket连接通道发送消息给客户端以检测当前Linux操作系统是否已经安装蒙古文。需要说明的是,在本实施例中通过检测当前系统中是否存在/usr/share/i18n/locales/zh_MW文件来检测是否已经安装蒙古文。这是因为,如果当前系统中已经安装好之前推送过来的蒙古文包,则会在系统中生成该文件,因此通过检测该文件的有无,即可以检测该系统中是否已经安装蒙古文。进一步,客户端向服务器发送socket消息请求时,服务器会发消息给客户端请求查看是否有该文件存在,客户端再将结果返回给服务器,来判断文件是否存在,从而判断蒙古文是否已经安装,若已经安装则执行步骤S150,否则执行步骤S160。步骤S150,比较当前Linux操作系统中蒙古文包的版本与服务器中蒙古文包的版本。具体地,若当前Linux操作系统中蒙古文包的版本比服务器中蒙古文包的版本低,则执行步骤S160,否则返回失败状态码通知用户。需要说明的是,服务器上的蒙古文包为最新的版本,当前Linux操作系统中蒙古文包的版本只可能低于服务器上的蒙古文包或者与服务器上的蒙古文包版本相同。步骤S160,服务器向客户端推送蒙古文包。具体地,通过步骤S130建立的socket连接通道,服务器向客户端推送蒙古文包到客户端的临时目录中。需要说明的是,蒙古文包中所包含的蒙古文文字引擎是通过pango模块处理蒙古文字符的替换规则和蒙古文字符变形。具体处理过程如图3所示,首先蒙古文文字引擎通过对freetype库进行初始化,建立蒙古文字符字形标签索引,获取需要显示的字符串中的每一个字符,并判断是否为蒙古文有效字符,如果是,则取得第一个有效字符,对以有效字符开始的字符串进行断词处理和切片处理。通过上述步骤,获得每一个有效的蒙古文字符,并根据蒙古文字符在实际情况中对应的替换规则如(单字形替换、连体字替换、上下文替换)查找每个字符在字形库里的映射,然后获取当前的字符的映射的glyph值,将字符对应输出到glyph值,最后通过Linux操作系统的Xwinwow图形渲染输出显示通过上述处理,可以在Linux操作系统中显示出蒙古文字,使得Linux系统能够支持蒙古文。步骤S170,判断服务器向客户端推送蒙古文包是否成功。具体地,通过根据socket返回值判断推送是否成功,如果不成功则返回失败状态码通知用户,成功则执行步骤S180。步骤S180,获取并比较服务器中蒙古文包的哈希值和客户端中的蒙古文包的哈希值(可简称hash值)。具体地,获取服务器上蒙古文包的hash值和用户临时目录下的蒙古文包的hash值。hash值为利用安全性较高的hash算法对蒙古文包文件(包括蒙古文字体、蒙古文引擎等文件)进行计算,生成的与文件对应的hash值,然后通过相应的函数接口获取这些hash值。若二者的hash值一致,则执行步骤S190,否则返回失败状态码通知用户。通过对服务器端和客户端的hash值进行比较,可以精确的判断文件是否一致,这是因为hash值是每个文件的唯一身份标识符,文件内容不同则hash值不相等。因此,这样可以较准确的判断用户所安装的蒙古文与服务器是否一致。步骤S190,安装蒙古文包。具体地,将蒙古文包解压,并将解压后的文件安装到系统对应的目录,其中,将蒙古文包中所包含的蒙古文文字引擎,安装到系统/etc/pango/对应的目录下。需要说明的是,本领域技术人员可以理解,在本实施例的启示下,可以通过修改上述各步骤的顺序来形成不同的实施例。综上所述,本发明的蒙古文安装方法,通过搭建存储有蒙古文包的服务器,并通过客户端向该服务器发送请求来安装蒙古文,实现了一种通过网络在Linux操作系统的蒙古文安装方法,该方法操作简单,减少用户自己配置蒙古文的时间。并且由于在安装前还检测蒙古文包的哈希值,这样可以较准确较安全地安装获取得到的蒙古文包。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1