基于云计算的维吾尔文输入法的研究与实现
2014-07-18麦合木提江·阿不力米提吾守尔·斯拉木尼宛尔·托乎提
麦合木提江·阿不力米提 吾守尔·斯拉木 尼宛尔·托乎提
基于云计算的维吾尔文输入法的研究与实现
麦合木提江·阿不力米提1,吾守尔·斯拉木1,2, 艾尼宛尔·托乎提2
(1.新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830046;2.新疆大学 新疆多语种信息技术重点实验室,新疆 乌鲁木齐 830046)
摘要:云计算技术在应用开发界引发了巨大的变化。从目前最领先的云计算技术入手,以云输入为例,研究输入法的联想实现,首次实现基于云计算的维吾尔文云输入法,弥补了该领域的空缺。在输入法的设计和实现过程中引入Ajax技术,JavaScript技术和XML数据库技术来解决相关数据的访问、存储和处理问题。
关键词:云计算;云输入;维吾尔文云输入法;Ajax;XML数据库
中图分类号:TP311.52 文献标识码:A 文章编号:1009-3044(2014)13-3001-05
Research and Implementation of Resource Allocation Based on Cloud Computing Technology
Mahmutjan Ablimit1, Wushour Islam1,2, Anwar Tohti2
(1.Colleges of Information Science and Engineering,Xinjiang University, Urumqi 830046, China; 2.Key Laboratory of Xinjiang Multilingual IT, Urumqi 830046,China)
Abstract: Cloud computing technology brings about dramatic changes in the field of application development. Start from the most leading cloud computing technology, this paper does research on associated input and takes the cloud input as an example, realized the first Uyghur cloud input based on cloud computing technology and make up for the blank of this field. In the process of design and implementation of the system, it introduced Ajax technology, JavaScript technology and XML database technology to solve problems of data access, storage and processing.
Key words: cloud computing; cloud input; Uyghur cloud input; Ajax; XML database
随着云计算的不断发展,中国的很多IT企业已经开始云计算研究工作并取得了显著的进步。搜狗云输入法、腾讯公司开发的QQ云输入法和百度云输入法是典型的云计算开发实例。汉文云输入开发以后得到了大部分用户的喜欢,信任和支持。我国是一个多民族的国家,新疆地区是维吾尔文的主要使用地区。目前正在被使用维吾尔文输入法也很多,比如 UighurSoft 公司开发的 Alkatp 输入法、新疆大学多语种重点实验室研发的维吾尔文智能输入法、Hiyal 输入法、Oyghan Unicode 维吾尔输入法等等。它们的共同特点是使用标准的Unicode 编码、满足输入维吾尔文字的需求。然而,它们的共同缺点是需安装,输入速度慢,正确率较低等等。
但是,到目前为止没有WEB模式工作的维吾尔文输入法,这个缺陷对于许多用户带来了巨大的不便。因此,开发一个基于云计算的维吾尔文输入法是对少数民族用户来说是必要的。该文在技术模型、层次结构和关键技术方面剖析了云计算,并对云计算应用的市场结构从多个维度上进行了划分,为研究维吾尔文云输入法奠定基础。进一步地,创造云计算软件服务模式的维吾尔文云输入法,研究云输入法的工作模式,实现原理。
1 云输入法软件的开发工具与技术
云计算是一种新型的计算模式:把IT资源、数据、应用作为服务通过互联网提供给用户[1]。云计算采用分布式存储的方式来存储数据而保证数据的高可靠和高可用,同时并行地为大量用户提供服务[2]。因此,完全满足该输入法的开发目标。
Visual Studio 2010确实是开发Web模式输入法的最佳集成开发环境工具,集成了开发云输入法的所有语言及其工具:C#是.NET框架支持的一种开发语言, 具有面向对象,面向web版,合适开发ASP.NET网站;JavaScript是一种脚本语言, 它是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中连接多个对象,与Web用户交互作用,是开发客户端应用程序的最佳语言[3];Ajax是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过它,JavaScript 可在不重下载页面的情况与 Web 服务器交换数据[4]。因此,本系统选用Visual Studio 2010集成开发环境工具作为该云输入法软件的开发工具。
云输入法软件的设计与开发技术如图1所示。
2 维吾尔文云输入法的研究与实现
2.1系统基本框架设计
本系统的设计通过分别对系统功能需求,客户端需求,服务器端需求和系统安全性需求进行一系列地分析,在技术可行性和操作可行性方面进行客观地研究,最终实现了功能强大齐全的维吾尔文云输入法软件。该软件的主要设计目的是改变新疆广大维吾尔族工作人员以往面临的,尤其是维吾尔语言文字信息处理人员,输入速度较慢,没有模糊匹配功能和正确率相当低的局面。endprint
图2 系统基本框架结构
本系统采用B/S模式来实现维吾尔文云输入法的所有功能。系统的基本框架如图 2 所示。
因B/S模式具有分布性特点,可以随时随地进行查询、浏览等业务处理;业务扩展简单方便,即通过增加网页即可增加服务器功能;维护简单方便,只需要改变网页,即可实现所有用户的同步更新(客户端免维护);开发简单,共享性强等优点[5]
2.2 系统数据库选型
本该软件采用XML数据库。XML是网络上数据交换非常方便的一个数据文件,也是在服务器之间传输结构化数据的理想格式。它具有跨硬软件平台,跨语言,标准Unicode 编码等特点且完全支持维吾尔文字[6]。因此,本设计选用XML数据文件作为应用软件数据库。
维吾尔文字是Unicode编码的,如果使用Microsoft SQL为系统数据库也行,但是JavaScript脚本来连接Microsoft SQL数据库比较麻烦,受到浏览器的限制,而且连接时间太长,因此Microsoft SQL数据库不符合我们的速度要求。
3 总体设计与功能实现
3.1 输入法图标动态加载
用户打开维吾尔文云输入法的首页,先进行身份验证。新用户使用输入法时,需要输入用户名和密码进行注册,然后登陆云输入法首页。老用户直接输入密码就进入系统首页。用户先将维吾尔文云输入法的脚本代码添加到自己浏览器的添加收藏夹。此功能由JavaScript 技术来实现。用户使用维吾尔文云输入法时,打开浏览器的“工具”菜单,单击“启动维吾尔文云输入法”超级链接。输入法链接到远程WEB服务器,进入工作状态,并显示浏览器的右下角维吾尔文云输入法的图标,如图 3 所示。然后打开浏览器的工具菜单启动维吾尔文云输入法,选择目标文本框进行维吾尔文字输入操作。
图3 云输入法图标
实现代码如下:
//=========================输入法标签固定右下角========================
var userAgent = navigator.userAgent.toLowerCase();
if (/msie/.test( userAgent ) && !/opera/.test( userAgent ))
{ var v = (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1];
if(v <7)
window.attachEvent('onscroll',scrollBox);}
function scrollBox()
{ var top = document.documentElement.clientHeight -2;
var sTop = document.documentElement.scrollTop;
var left = document.documentElement.clientWidth -2;
var sLeft = document.documentElement.scrollLeft;
document.getElementById('newDiv').style.top = sTop + top - 50+ 'px';
document.getElementById('newDiv').style.left = sLeft + left - 140+ 'px';
document.getElementById('div_dt').style.top = sTop+location_top+ 'px';
document.getElementById('div_dt').style.left=sLeft+location_left+ 'px'; }
function setCaret(textObj)
{ if (textObj.createTextRange)
{ textObj.caretPos = document.selection.createRange().duplicate();
alert("Hello");
} }
3.2 关键技术
3.2.1 编码转换
维吾尔文字的编码形式Unicode编码,我们根据键盘事件触发来进行编码转换,Unicode转换过程由 Windows 对象的 onkeypress事件来完成。转换后的维吾尔文文字组织、显示任务是由onkeyup事件来完成。事件的触发循序是:先onkeypress事件触发,然后onkeyup事件触发。
3.2.2 同步通信
用户输入开头字母时,系统确定该词语保存在哪个XML文件。然后向服务器发送XMLHttpRequest请求信号。如果没有网络故障,得到服务器发送的XML文件,该文件不是下载,而是从内存中读出。次功能是由Ajax的核心技术XMLHttpRequest对象来完成。
3.2.3 模糊查询
向服务器发送XMLHttpRequest请求信号后,返回的结果保存在Array 数组中,进行模糊查询。开头字母符合查找要求,选择使用频率比较高的词语,将匹配的结果显示选择列表上。
3.2.4 数据维护
数据维护是非常重要的工作之一,保证xml在传输和交换过程中的安全性并为客户端提供正常服务是相当重要的。本系统考虑到网络安全性及加密效率的需求,使用对称密码加密算法DES来实现系统数据库保护。
3.2.5 维吾尔文云输入法的特点
1)无需要安装。该输入法是基于JavaScript技术,利用Ajax通信原理,采用B/S架构。输入法的全部词汇被服务器端提供,客户端没有任何压力。
2)跨平台。完全靠服务器运算实现,兼容Windows,Linux,Mac等各个操作系统,兼容各个主流浏览器(IE,Firefox,Chrome)。
3)随时随地使用。只要客户的计算机连接Internet,它能得到服务。
4)升级极其方便。服务器端升级以后、客户端自动升级。
4 系统测试与代码分析
4.1 维吾尔文云输入法的首页
打开首页以后,用户启动维吾尔文云输入法的脚本添加到自己浏览器的收藏夹。用户得到维吾尔文云输入法的使用方法、操作循序、基本功能、常见问题等等相关信息。
云输入法主界面如图 4 所示。
4.2 维吾尔文云输入法测试使用
维吾尔文云输入法启动成功以后,选择输入框,进行输入操作。根据开头字母进行模糊查询。比如,如果要输入“我是新疆大学的学生” 即
输入效果如图 5 所示。
4.3 维吾尔文云输入法在百度网站测试
该输入法具有跨平台打开百度浏览器,点击在浏览器收藏夹的“维吾尔文云输入法”即
图6 维吾尔文云输入法在百度网站的测试实例
4.4 维吾尔文云输入法在维文网站测试
打开一个维文网站,测试输入“寻找工作”即
5 结论
本文针对目前领先的云计算技术,结合维吾尔文的文字特点及维吾尔族广大群众的实际需求,设计并首次实现了Web模式工作的维吾尔文云输入法。维吾尔文云输入法集成了客户端维吾尔文输入法的巨大优势,具有精准输入、创新输入等功能。测试结果说明了本文研发的云输入法是快速高效的,正确率和匹配率都是令人满意的。该软件彻底摆脱了客户端输入法的安装程序,实现了基于云计算技术的先进的,网络化的维吾尔文云输入法。
参考文献:
[1] 张爱玉,周卫东,夏吉广,等.云平台搭建的关键技术研究[J].中国安防,2012(9).
[2] 刘昶言.云计算中混合云互通及其资源管理机制研究[D].北京:北京邮电大学,2010.
[3] 王波.基于BS模式的网络在线考试系统的设计与实现[D].电子科技大学2008.
[4] 刘刚.基于Ajax的输入框自动完成在web中的实现[J].青年与社会,2012,60(2).
[5] 张润杰,刘维民,刘鹏,等.基于B/S模式的网络版实验室管理系统[J].首都师范大学学报:自然科学版, 2005,26(2).
[6] 万常选,刘喜平. XML数据库技术[M].2版.北京:清华大学出版社,2008.
3.2.4 数据维护
数据维护是非常重要的工作之一,保证xml在传输和交换过程中的安全性并为客户端提供正常服务是相当重要的。本系统考虑到网络安全性及加密效率的需求,使用对称密码加密算法DES来实现系统数据库保护。
3.2.5 维吾尔文云输入法的特点
1)无需要安装。该输入法是基于JavaScript技术,利用Ajax通信原理,采用B/S架构。输入法的全部词汇被服务器端提供,客户端没有任何压力。
2)跨平台。完全靠服务器运算实现,兼容Windows,Linux,Mac等各个操作系统,兼容各个主流浏览器(IE,Firefox,Chrome)。
3)随时随地使用。只要客户的计算机连接Internet,它能得到服务。
4)升级极其方便。服务器端升级以后、客户端自动升级。
4 系统测试与代码分析
4.1 维吾尔文云输入法的首页
打开首页以后,用户启动维吾尔文云输入法的脚本添加到自己浏览器的收藏夹。用户得到维吾尔文云输入法的使用方法、操作循序、基本功能、常见问题等等相关信息。
云输入法主界面如图 4 所示。
4.2 维吾尔文云输入法测试使用
维吾尔文云输入法启动成功以后,选择输入框,进行输入操作。根据开头字母进行模糊查询。比如,如果要输入“我是新疆大学的学生” 即
输入效果如图 5 所示。
4.3 维吾尔文云输入法在百度网站测试
该输入法具有跨平台打开百度浏览器,点击在浏览器收藏夹的“维吾尔文云输入法”即
图6 维吾尔文云输入法在百度网站的测试实例
4.4 维吾尔文云输入法在维文网站测试
打开一个维文网站,测试输入“寻找工作”即
5 结论
本文针对目前领先的云计算技术,结合维吾尔文的文字特点及维吾尔族广大群众的实际需求,设计并首次实现了Web模式工作的维吾尔文云输入法。维吾尔文云输入法集成了客户端维吾尔文输入法的巨大优势,具有精准输入、创新输入等功能。测试结果说明了本文研发的云输入法是快速高效的,正确率和匹配率都是令人满意的。该软件彻底摆脱了客户端输入法的安装程序,实现了基于云计算技术的先进的,网络化的维吾尔文云输入法。
参考文献:
[1] 张爱玉,周卫东,夏吉广,等.云平台搭建的关键技术研究[J].中国安防,2012(9).
[2] 刘昶言.云计算中混合云互通及其资源管理机制研究[D].北京:北京邮电大学,2010.
[3] 王波.基于BS模式的网络在线考试系统的设计与实现[D].电子科技大学2008.
[4] 刘刚.基于Ajax的输入框自动完成在web中的实现[J].青年与社会,2012,60(2).
[5] 张润杰,刘维民,刘鹏,等.基于B/S模式的网络版实验室管理系统[J].首都师范大学学报:自然科学版, 2005,26(2).
[6] 万常选,刘喜平. XML数据库技术[M].2版.北京:清华大学出版社,2008.
3.2.4 数据维护
数据维护是非常重要的工作之一,保证xml在传输和交换过程中的安全性并为客户端提供正常服务是相当重要的。本系统考虑到网络安全性及加密效率的需求,使用对称密码加密算法DES来实现系统数据库保护。
3.2.5 维吾尔文云输入法的特点
1)无需要安装。该输入法是基于JavaScript技术,利用Ajax通信原理,采用B/S架构。输入法的全部词汇被服务器端提供,客户端没有任何压力。
2)跨平台。完全靠服务器运算实现,兼容Windows,Linux,Mac等各个操作系统,兼容各个主流浏览器(IE,Firefox,Chrome)。
3)随时随地使用。只要客户的计算机连接Internet,它能得到服务。
4)升级极其方便。服务器端升级以后、客户端自动升级。
4 系统测试与代码分析
4.1 维吾尔文云输入法的首页
打开首页以后,用户启动维吾尔文云输入法的脚本添加到自己浏览器的收藏夹。用户得到维吾尔文云输入法的使用方法、操作循序、基本功能、常见问题等等相关信息。
云输入法主界面如图 4 所示。
4.2 维吾尔文云输入法测试使用
维吾尔文云输入法启动成功以后,选择输入框,进行输入操作。根据开头字母进行模糊查询。比如,如果要输入“我是新疆大学的学生” 即
输入效果如图 5 所示。
4.3 维吾尔文云输入法在百度网站测试
该输入法具有跨平台打开百度浏览器,点击在浏览器收藏夹的“维吾尔文云输入法”即
图6 维吾尔文云输入法在百度网站的测试实例
4.4 维吾尔文云输入法在维文网站测试
打开一个维文网站,测试输入“寻找工作”即
5 结论
本文针对目前领先的云计算技术,结合维吾尔文的文字特点及维吾尔族广大群众的实际需求,设计并首次实现了Web模式工作的维吾尔文云输入法。维吾尔文云输入法集成了客户端维吾尔文输入法的巨大优势,具有精准输入、创新输入等功能。测试结果说明了本文研发的云输入法是快速高效的,正确率和匹配率都是令人满意的。该软件彻底摆脱了客户端输入法的安装程序,实现了基于云计算技术的先进的,网络化的维吾尔文云输入法。
参考文献:
[1] 张爱玉,周卫东,夏吉广,等.云平台搭建的关键技术研究[J].中国安防,2012(9).
[2] 刘昶言.云计算中混合云互通及其资源管理机制研究[D].北京:北京邮电大学,2010.
[3] 王波.基于BS模式的网络在线考试系统的设计与实现[D].电子科技大学2008.
[4] 刘刚.基于Ajax的输入框自动完成在web中的实现[J].青年与社会,2012,60(2).
[5] 张润杰,刘维民,刘鹏,等.基于B/S模式的网络版实验室管理系统[J].首都师范大学学报:自然科学版, 2005,26(2).
[6] 万常选,刘喜平. XML数据库技术[M].2版.北京:清华大学出版社,2008.