CN108021371A - 国产平台下搜狗输入法与ibus框架的集成方法 - Google Patents

国产平台下搜狗输入法与ibus框架的集成方法 Download PDF

Info

Publication number
CN108021371A
CN108021371A CN201610933848.9A CN201610933848A CN108021371A CN 108021371 A CN108021371 A CN 108021371A CN 201610933848 A CN201610933848 A CN 201610933848A CN 108021371 A CN108021371 A CN 108021371A
Authority
CN
China
Prior art keywords
input method
ibus
search dog
domestic platform
dog input
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
Application number
CN201610933848.9A
Other languages
English (en)
Inventor
詹秋芳
何瞾君
曹健
万淑珍
申利飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Standard Software Co Ltd
Original Assignee
China Standard Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201610933848.9A priority Critical patent/CN108021371A/zh
Publication of CN108021371A publication Critical patent/CN108021371A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明涉及一种国产平台下搜狗输入法与IBUS框架的集成方法,包括:S1:使IBUS进程探测到需要启动的搜狗输入法进程,从而启动搜狗输入法进程;S2:对国产平台的操作系统进行性能优化;S3:对国产平台的操作系统进行安装部署。本发明提供的国产平台下搜狗输入法与IBUS框架的集成方法,使搜狗输入法能在国产平台下正常运行,并保持稳定的性能,提升了国产平台的中文使用环境。

Description

国产平台下搜狗输入法与IBUS框架的集成方法
技术领域
本发明涉及计算机软件应用领域,特别是涉及一种国产平台下搜狗输入法与IBUS框架的集成方法。
背景技术
在政府的大力支持下,信息平台国产化的声势逐渐发展壮大,越来越多的组织与个人参与到国产平台的开发和发布,使得该平台下软硬件生态环境逐趋于完善。国产平台首先要满足中文办公的需要,因此中文输入与输出就变得尤为重要。
中文输入法又称为汉字输入法,是指为了将汉字输入计算机或手机等电子设备而采用的编码方法,是中文信息处理的重要技术。广泛使用的中文输入法有拼音输入法、五笔字型输入法、二笔输入法、郑码输入法等。
搜狗输入法是搜狗(Sogou)公司于2006年6月推出的一款支持Windows/Linux以及国产龙芯、神威平台的汉字输入法,采用了搜索引擎技术,其搜索引擎包括data格式的词库文件,以及ini格式的配置文件等,并且引擎为第三方集成商提供了二次开发接口,譬如:
初始化:bool Init(const char*,const char*)
词库加载:LoadDict(const char*,const char*)
输入转换:ISogouCoreResult*DoConvert(const char*,int,bool*,bool)
学词功能:LearnWord(ISogouCoreWordBuffer*)
以及云输入功能InitCloud(ISogouCoreCloudHelper*)等等。
二次开发接口采用c语言实现,提供静态库以及头文件,便于第三方用户集成。
当前环境下,中文输入法百花齐放,但是基本上所有输入厂家都仅仅对Windows平台提供了比较完善的解决方案。而在国产平台下相应的工具还比较少,部署起来也不方便,易用性差。
发明内容
为了解决现有技术存在的不足,使搜狗输入法能够在国产平台下正常运行并保持稳定的性能,本发明提供了一种国产平台下搜狗输入法与IBUS框架的集成方法,包括:
S1:使IBUS进程探测到需要启动的搜狗输入法进程,从而启动搜狗输入法进程;
S2:对国产平台的操作系统进行性能优化;
S3:对国产平台的操作系统进行安装部署。
其中,所述步骤S1中,通过注册机制使IBUS进程探测到需要启动的搜狗输入法进程。
其中,所述注册机制的实现方法为:将搜狗输入法必须实现的一个xml格式的配置文件安装到IBUS指定目录下,在国产平台下其安装路径为/usr/share/ibus/component。
其中,所述步骤S2中的性能优化包括加载模式的优化以及展现结果的优化。
其中,所述加载模式的优化是指:使搜狗引擎采用静态库形式代替动态库加载。
其中,所述的展现结果的优化是指对输入法输出候选词的优化。
其中,在展现结果的优化中,将搜狗引擎能够展现的候选词总数降低到20-30%,同时对输入频率进行优化调整。
其中,所述步骤S3中,通过在国产平台下提供rpm安装格式使搜狗输入法在国产平台下实现简单易操作的安装。
本发明提供的国产平台下搜狗输入法与IBUS框架的集成方法,使搜狗输入法能在国产平台下正常运行,并保持稳定的性能,提升了国产平台的中文使用环境。
附图说明
图1:IBUS框架结构图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面配合附图详细说明本发明的技术方案及其产生的有益效果。
IBUS全称为Intelligent Input Bus,是GNU/Linux和类UNIX操作操作系统下的以GPL协议分发源代码的开源免费多语言输入法框架,支持各种各样的引擎。
Dbus为一种高级的进程间通信机制,使用GPL许可证发行。Dbus最主要的用途是在Linux桌面环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程。
IBUS使用Dbus作为C/S架构的核心部分,众所周知,Dbus是一个高效、低延时的IPC通讯总线,基于注册服务,提供的接口和语言绑定比较丰富和灵活,这样对前端的支持也可以比较多样化。
图1为IBUS框架结构图,如图1所示,从源码上分析IBUS,主要由以下几个模块构成:Setup、Ui、Src、Bus和Client。
Setup模块基本都是python语言实现的,主要实现输入法的常规配置,譬如:输入法引擎的添加与删除、输入法的字体风格、快捷键的设置等。
Ui模块实现输入法通用界面,譬如候选词显示界面,输入法下拉列框显示界面等。在1.5版本之前都是采用python语言实现的,1.5版本之后采用vala语言实现。在项目编译过程中,通过vala提供的系列工具将vala语言转换成c语言版本,采用该方式是因为“为gnome开发者提供现代化的变成语言功能,同时没有额外的运行时要求,并且相对于c语言编写的应用程序和库,无需使用不同的的ABI”。
Src模块是IBUS核心功能的实现部分,包括各个输入法引擎与框架的连接和断开,输入法引擎的切换以及切换时运行空间的转换,输入法引擎的运行状态监控等。
Bus模块是IBUS与Dbus进行通讯的实现部分。
Client模块是对各种具有输入窗口的应用程序的总称,根据应用程序实现的基础库不同,大致可以分为采用gtk2、gtk3以及x11三种底层库的支持。
本发明提供的国产平台下搜狗输入法与IBUS框架的集成方法,包括:
S1:使IBUS进程探测到需要启动的搜狗输入法进程,从而启动搜狗输入法进程;
S2:对国产平台的操作系统进行性能优化;
S3:对国产平台的操作系统进行安装部署。
较优的,所述步骤S1中,通过注册机制使IBUS进程探测到需要启动的搜狗输入法进程。
较优的,所述注册机制的实现方法为:将搜狗输入法必须实现的一个xml格式的配置文件安装到IBUS指定目录下,在国产平台下其安装路径为/usr/share/ibus/component。
较优的,所述步骤S2中的性能优化包括加载模式的优化以及展现结果的优化。
较优的,所述加载模式的优化是指:使搜狗引擎采用静态库形式代替动态库加载。
较优的,所述的展现结果的优化是指对输入法输出候选词的优化。
较优的,在展现结果的优化中,将搜狗引擎能够展现的候选词总数降低到20-30%,同时对输入频率进行优化调整。
较优的,所述步骤S3中,通过在国产平台下提供rpm安装格式使搜狗输入法在国产平台下实现简单易操作的安装。
本发明提供的国产平台下搜狗输入法与IBUS框架的集成方法,考虑到国产平台操作系统的实际运行环境,重点以龙芯平台为例,具体实施时,可按照如下实施例所述方法进行:
1、通过注册机制启动搜狗输入法进程
操作系统启动时,IBUS框架作为后台服务进程(IBUS-daemon)自动启动,如果输入法在框架中自动注册,那么IBUS后台进程启动后,随后也会启动各个输入法进程。搜狗输入法(IBUS-engine-sogoupy)和智能拼音输入法(IBUS-engine-libpinyin)的后台进程就是IBUS进程(IBUS-daemon)。
IBUS进程通过注册机制探测到需要启动的输入法进程:每个输入法都必须实现一个xml格式的配置文件。该配置文件的主要内容如下所示:
其中:
<name>元素为输入法与IBUS进行通信的唯一标识;
<exec>元素为输入法实现进程,也即IBUS在后台需要启动的输入法进程;
<icon>元素为输入法显示图标;
<longname>元素,输入法在IBUS框架列表中显示中文名;
<engine>元素,输入法引擎的详细描述,包括多个子元素。
安装输入法时,需要将该配置文件安装到IBUS指定目录下,在国产操作系统下的路径为/usr/share/ibus/component。IBUS目录下包含dconf.xml、gtkpanel.xml、libpinyin.xml、simple.xml和sogoupy.xml配置文件,这也就不难解释IBUS后台启动的子进程了。
输入法在IBUS上注册成功后,就可以从IBUS接受到用户的消息,也可以将处理结果反馈给IBUS集中显示。
2、对国产平台的操作系统进行性能优化
国产龙芯硬件平台还处于不断优化阶段,目前处理器主频不到2GHZ,其性能仅仅相当于X86的486水平。在硬件平台性能相对低下的情况下,需要尽量优化基础软件以及其上运行的应用软件的性能。
根据实际调试运行的结果,可对国产龙芯硬件平台的操作系统进行加载模式的优化以及展现结果的优化。
加载模式的优化是指:搜狗引擎采用静态库形式代替动态库加载;搜狗公司提供静态库以及头文件,在工程编译阶段就将引擎库链接到用户进程中,虽然用户进程体积增大,但是加载性能也得到了优化,这也符合空间换时间的概念。
展现结果的优化则是指对输入法输出候选词的优化,搜狗引擎接收到用户输入,通过系列运算匹配,输出候选词并展示。在X86平台下,搜狗引擎能够展示2000条左右候选词,如果没有优化,在国产龙芯平台下,运行时就会发现对于某些输入法会有比较明显的卡顿现象,输入不流畅,严重影响用户体验,因此搜狗引擎将展示词条降低到500,并且做了输入频率优化调整,基本不影响用户使用。
3、对国产平台的操作系统进行安装部署
国产平台的操作系统基于开源的Linux平台。Linux对用户的使用体验关注较少,应用程序的安装需要键入一堆命令,进行系列配置,比较适合开发者使用,但是对于普通用户来说要求又太高。国产平台的操作系统将易用性作为开发重点,因此运行在该操作系统上的应用程序首先都需要提供简单易操作的安装方法。
搜狗输入法在国产平台的操作系统下提供rpm的安装格式,可以采用命令行运行,也可以直接双击该rpm包进行安装,但是如果是普通用户,安装时需要输入管理员密码。
本发明的有益效果是:
1、针对国产平台处理器主频低、效率不高的客观问题,优化了搜狗输入法的运行效率,提升了国产平台的中文使用环境。
2、在考虑IBUS框架和搜狗引擎的基础上实现搜狗输入法与国产平台的操作系统的集成,针对国产平台的操作系统上应用部署复杂等特点,对搜狗输入法的运行性能和安装部署进行了优化,使搜狗输入法在国产平台下正常运行,并保持稳定的性能,提高了国产平台下中文输入的用户体验。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

Claims (8)

1.一种国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,包括:
S1:使IBUS进程探测到需要启动的搜狗输入法进程,从而启动搜狗输入法进程;
S2:对国产平台的操作系统进行性能优化;
S3:对国产平台的操作系统进行安装部署。
2.如权利要求1所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,所述步骤S1中,通过注册机制使IBUS进程探测到需要启动的搜狗输入法进程。
3.如权利要求2所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,所述注册机制的实现方法为:将搜狗输入法必须实现的一个xml格式的配置文件安装到IBUS指定目录下,在国产平台下其安装路径为
/usr/share/ibus/component。
4.如权利要求1所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,所述步骤S2中的性能优化包括加载模式的优化以及展现结果的优化。
5.如权利要求4所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,所述加载模式的优化是指:使搜狗引擎采用静态库形式代替动态库加载。
6.如权利要求4所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,所述的展现结果的优化是指对输入法输出候选词的优化。
7.如权利要求6所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,在展现结果的优化中,将搜狗引擎能够展现的候选词总数降低到20-30%,同时对输入频率进行优化调整。
8.如权利要求1所述的国产平台下搜狗输入法与IBUS框架的集成方法,其特征在于,所述步骤S3中,通过在国产平台下提供rpm安装格式使搜狗输入法在国产平台下实现简单易操作的安装。
CN201610933848.9A 2016-10-31 2016-10-31 国产平台下搜狗输入法与ibus框架的集成方法 Pending CN108021371A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610933848.9A CN108021371A (zh) 2016-10-31 2016-10-31 国产平台下搜狗输入法与ibus框架的集成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610933848.9A CN108021371A (zh) 2016-10-31 2016-10-31 国产平台下搜狗输入法与ibus框架的集成方法

Publications (1)

Publication Number Publication Date
CN108021371A true CN108021371A (zh) 2018-05-11

Family

ID=62069655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610933848.9A Pending CN108021371A (zh) 2016-10-31 2016-10-31 国产平台下搜狗输入法与ibus框架的集成方法

Country Status (1)

Country Link
CN (1) CN108021371A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414085A (zh) * 2020-03-27 2020-07-14 中国人民解放军国防科技大学 一种麒麟移动操作系统的输入法运行方法、系统及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6622210B2 (en) * 2000-10-31 2003-09-16 Fujitsu Limited Microcontroller with improved access efficiency of instructions
CN101510157A (zh) * 2008-09-03 2009-08-19 北京搜狗科技发展有限公司 一种输入法安装方法及装置
CN102456108A (zh) * 2011-06-22 2012-05-16 中标软件有限公司 一种ibus拼音码表的加密方法
US20140141851A1 (en) * 2011-06-23 2014-05-22 Marcia Rubin Multi-cam based formatted online information sharing system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6622210B2 (en) * 2000-10-31 2003-09-16 Fujitsu Limited Microcontroller with improved access efficiency of instructions
CN101510157A (zh) * 2008-09-03 2009-08-19 北京搜狗科技发展有限公司 一种输入法安装方法及装置
CN102456108A (zh) * 2011-06-22 2012-05-16 中标软件有限公司 一种ibus拼音码表的加密方法
US20140141851A1 (en) * 2011-06-23 2014-05-22 Marcia Rubin Multi-cam based formatted online information sharing system and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MENGXIANGBAIDU: "Ubuntu iBus添加Google拼音输入法", 《HTTPS://WWW.LINUXIDC.COM/LINUX/2011-11/47169.HTM》 *
千里之行_1: "百度手机输入法各设置项的设置说明", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_1472476C50102VT5X.HTML》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414085A (zh) * 2020-03-27 2020-07-14 中国人民解放军国防科技大学 一种麒麟移动操作系统的输入法运行方法、系统及介质
CN111414085B (zh) * 2020-03-27 2023-07-18 中国人民解放军国防科技大学 一种麒麟移动操作系统的输入法运行方法、系统及介质

Similar Documents

Publication Publication Date Title
US10120788B2 (en) Cloud connected automated testing in multiple operating environments using multiple parallel test threads
CN112099790B (zh) 确定页面主题的方法、装置、设备以及存储介质
US7546602B2 (en) Application program interface for network software platform
CN113010181B (zh) 一种深度学习框架之中算子的部署方法、装置及电子设备
KR101716802B1 (ko) 클라이언트-서버 입력 방법 편집기 구조
CN106569900A (zh) 应用程序处理方法和装置
CN109313547B (zh) 用于cpu利用率和代码重构的查询优化器
US20020083216A1 (en) Multi-platform command line interpretation
US20150082208A1 (en) Multi-level user interface theming
US8032825B2 (en) Dynamically creating multimodal markup documents
US8141042B2 (en) Extending portability of java code through the use of AOP
CN113378091B (zh) 一种可视化项目生成方法、装置、电子设备及存储介质
CN112506854B (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
CN114996619A (zh) 一种页面显示的方法、装置、计算机设备及存储介质
CN110688096A (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN111078228A (zh) 网页到小程序的转换方法、装置、服务器及存储介质
CN104516963A (zh) 一种Excel数据服务器及其应用
KR101798705B1 (ko) 유연성을 갖춘 메타데이터 구성 기법
CN108021371A (zh) 国产平台下搜狗输入法与ibus框架的集成方法
CN102455938B (zh) 一种在mips版本的linux操作系统上运行windows应用软件的方法
US20110246967A1 (en) Methods and systems for automation framework extensibility
CN116204550A (zh) 数据库查询语句的优化方法、存储介质与设备
EP1751656A1 (en) Techniques for developing portal snippets using an integrated development environment (ide)
US20070124686A1 (en) Locating graphical elements for an object
CN112099791B (zh) 设置浏览器中页面的样式的方法、装置、设备和存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180511

RJ01 Rejection of invention patent application after publication