一种插件自适应更新方法

2015-03-30 07:28李江李欢欢李晓阳宋海荣刘清泉
河南科技 2015年6期
关键词:版本号主程序插件

李江 李欢欢 李晓阳 宋海荣 刘清泉

(国家知识产权局专利局专利审查协作河南中心,河南郑州 450000)

一种插件自适应更新方法

李江 李欢欢 李晓阳 宋海荣 刘清泉

(国家知识产权局专利局专利审查协作河南中心,河南郑州 450000)

在插件更新时,根据客户端的应用环境,查找最佳适用版本进行更新,而不是将插件程序简单更新到最新版本,从而使插件版本与客户端的应用环境相匹配,解决了传统插件更新方法中即使客户端软硬件较落后,更新时仍然将插件更新到最新版本从而造成程序运行缓慢、甚至崩溃的技术问题。该插件更新方法可应用于PC端、平板电脑、移动终端等电子设备,能够为用户提供更好地操作体验。

插件;自适应;最佳版本;最新版本

随着计算机技术的快速发展,为了适应日益复杂的应用环境以及软件功能的不断扩展[1],对同一应用程序,人们不断开发出新的程序版本进行更新换代,例如微软公司的IE浏览器就已从早期的IE5、IE6发展到目前最新的IE11,通常即使是同代的程序也具有多个版本。在客户端,由于客户端的硬件性能、个人爱好、个人需求不同,使用各种版本浏览器的客户端皆有,这就造成了应用环境的复杂性,给寄生于浏览器的插件应用程序的更新造成了困难。而通常插件在更新时,皆是直接将插件更新到最新版本,由于插件寄生的浏览器程序环境比较复杂,这就可能造成插件与运行的浏览器软、硬件环境不匹配,而一旦发生插件程序与软硬件环境不匹配的情况,就很容易发生系统崩溃、程序卡死等问题,给用户带来了极大的不便,这就急需对现有的插件更新、安装方法进行改进。

1 插件的工作原理

插件的实质是在不改变程序主体结构的基础上,对软件功能进行扩展加强,用户可以根据自己的需要安装相应的插件,通常插件的框架结构包括两大部分[2-3]:主程序和插件。插件要安装到主程序中,必须满足相应的接口标准,以便于插件与主程序之间相互通信。其中,主程序是单独能够运行的程序,插件能够通过主程序向用户提供服务,是整个系统能够运行的基础。其作用有以下3点:①主程序是插件运行的基础,能够用来初始化插件,配置插件的接口,用于管理插件的运行[4];②主程序管理插件的安装、卸载和更新,处理插件的故障,保证运行稳定;③能够通过界面的方式将插件的功能展现给用户,便于用户操作。插件功能能够通过动态链接库[5]实现,主程序能够根据接口标准安装、更新插件,并将插件接口在内存中分配的地址发送给插件,插件接收该地址,并依据所述地址来调用插件函数,完成相应功能,获取相应资源等。

2 传统插件更新方法

在现有技术中,插件的更新通常是配置管理终端先将管理员发布的插件上传到系统软件版本发布服务器,更新时直接将插件更新到最新版本。易程软件股份有限公司在中国专利CN102195804A提出了一种自动更新插件的方法[6],具体内容为:系统软件版本发布服务器接收客户端插件并进行存储,同时为每个插件生成版本编号;客户端每间隔一定时间向系统软件版本发布服务器发送版本检测请求,同时携带本地插件的版本号;系统软件版本发布服务器将所携带的本地插件版本号与最新版本号进行比较,当本地插件版本号小于服务器中最新版本号时,客户端从服务器下载最新版本插件,并在客户端更新所述最新版本插件。这种插件更新方式虽然能够自动检查服务器端插件的最新版本并能实现下载更新,实现了对客户端软件的自动更新,减少了客户端应用程序维护的复杂性,降低了成本。但是这种更新方式只是将软件更新到最新版本,而没有相应检测客户端的软件运行环境,如果客户端运行的环境与最新版本的插件不兼容时,那么将插件更新到最新版本将会造成软件运行故障。

图1

奇智软件有限公司于2010年在中国专利CN 102222091 A提出了一种浏览器中插件扩展的方法[7],其通过检测用户的浏览器使用记录;依据所述浏览器使用记录,确定用户所需的插件扩展类别;将插件扩展类别下的插件扩展提供给该用户。该方法只是根据用户的浏览器访问、浏览器操作功能或者下载喜好等用户习惯选择适合用户的插件,而没有提到如何选择适合浏览器的插件版本进行更新以防止软件环境不匹配问题。

3 插件更新的改进

鉴于现有技术存在的不足,为解决软件版本与安装环境不匹配的问题,提出了以下改进方案:

3.1 插件上传前的准备

软件管理员在将插件上传系统软件版本发布服务器前,先建立插件的配置信息,将插件与兼容的主程序版本的对应关系添加到配置信息文件中,假如上传的是浏览器搜索插件,那么可以将插件对应的浏览器如IE5、IE6的映射关系加入到配置信息文件中,同样道理,假如插件对应的兼容浏览器是IE6、IE7,则将与对IE6、IE7的映射关系加入到配置信息文件中[8]。系统软件版本发布服务器接收需要发布的最新插件后,赋予所述插件相应的版本编号,并提取插件的配置信息,建立插件版本与浏览器的映射关系表。

表1 系统软件版本发布服务器插件信息表

3.2 客户端的查询请求

客户端在工作时,记录下插件的运行状态,建立插件的异常事件量与使用时间的对应关系(即异常频率)并保存在存储器中。客户端周期性地向系统软件版本发布服务器发送软件检测请求,同时携带客户端插件版本号、插件工作异常信息及客户端主程序版本号。

3.3 服务器端的信息更新

服务器接收客户端发送信息后,首先根据插件异常信息判断客户端插件是否适用客户端主程序,并记录统计相关信息。例如(参见表1系统软件版本发布服务器插件信息表):客户端搜索插件版本号为2,客户端浏览器版本号为IE7,系统软件版本发布服务器接收到异常信息后首先判断异常频率是否小于特定阈值,如果是,则直接将搜索插件版本2,客户端浏览器版本IE7对应的客户使用量加1,如果否,则将搜索插件版本2,客户端浏览器版本IE7对应异常统计信息及客户使用量分别加1。此时,服务器根据异常信息统计及客户使用量判断搜索插件版本的最佳适用主程序,将异常统计信息与用户使用量的比值最小的浏览器更新到最佳适用版本一栏。

3.4 系统软件版本发布服务器确定插件版本

系统软件版本发布服务器根据客户端主程序版本号查找最佳适用插件版本,将该插件版本发送到客户端。例如:服务器首先根据客户端浏览器版本号IE7,在最佳适用版本项中进行查找,找到相应的适用搜索插件版本2、3,发现搜索插件版本2、3的最佳适用浏览器皆为IE7,此时,计算搜索插件版本2、浏览器版本号IE7对应的异常统计信息值与客户使用量的比值,搜索插件版本3、浏览器版本号IE7对应的异常统计信息与客户使用量的比值,通过判断异常统计信息与客户使用量的比值的大小,将比值较小者对应的搜索插件版本2发送给客户端[9]。

3.5 客户端的更新操作

客户端接收到系统软件版本发布服务器发送的插件后,首先解析文件,配置客户端插件安装环境,对客户端插件进行更新安装[10]。

4 结论

通过根据客户端的应用环境将插件更新到最佳适应版本,而不是最新版本,从而使插件版本与应用环境相匹配,解决了由于客户端软硬件较落后、更新时却将插件更新到最新版本而造成程序运行缓慢、甚至崩溃的技术问题。且该方法通过本领域技术人员的适当改进还可应用于其他软件的更新、安装中,从而解决了应用程序与终端设备软硬件环境匹配的技术问题,能够为用户提供更好地操作体验。

[1]邓力.插件技术在虚拟仪器中的应用[J].国外电子测量技术,2010,29(5):76-78.

[2]韩永印.计算机软件中的插件技术分析[J].计算机光盘软件与应用,2014,(3):262-246.

[3]李延春.软件插件技术的原理与实现[J].计算机系统应用,2003(7):24-26.

[4]姜川.计算机软件中的插件技术及应用研究[J].数字技术与应用,2013(1):94:7-11.

[5]朱岩.插件技术在软件中的应用[J].产业与科技论坛,2011,10(21):9.

[6]李吉生,邵晓风,李良文,等.软件自动更新方法及其系统[P],201110058328.5,2011.

[7]田亮,侯志刚.一种浏览器中插件扩展的提供方法和系统[P],201110148818.4,2011.

[8]王娜.计算机软件中的插件技术浅析[J].黑龙江科技信息,2010(33):72-75.

[9]张湘.基于组件的服务状态在线检测方法及系统[P].201010160369.0,2010.

[10]David J.Kemper,DISTILLATION AND RECONSTRUC⁃TION OF PROVISIONING COMPONENTS[P],US 13/116528,2011.

A Plug-in Adap tive Updating M ethod

Li Jiang LiHuanhuan LiXiaoyang Song Hairong Liu Qingquan
(PatentExamination Coperation Centre of the PatentOffice,SIPO,Henan,Zhengzhou Henan450000)

During plug-in updating,according to the application environment for the client,find the best applicable version for updating,rather than simply update the plug-in program to the latest version,so that the plug-in version match with the client application environment,solve the technical problems of traditional plug-in updatingmethod thateven the client software and hardware are backward,the plug-in is still updated to the latestversion,resulting in slow running of the program,and even the collapse.The plug-in updatemethod can be applied to the PC,tablet,mobile terminaland otherelectronic devices,providing userswith betteroperating experience.

plug-in;adaptive;bestversion;latestversion

TP277

:A

:1003-5168(2015)03-0033-3

2015-2-27

李江(1985.9-),男,硕士研究生,研究实习员,研究方向:计算机方面专利审查工作。

猜你喜欢
版本号主程序插件
自动升级程序在船舶监测系统中的应用
ETCS基线3的系统版本管理方法
自编插件完善App Inventor与乐高机器人通信
浅谈数控铣削技术代码程序的嵌套方式研究
插件技术在计算机软件技术中的运用
电控冰箱软件模块化设计
认识vSphere安装程序
时光倒流 换回PotPlayer老图标
基于jQUerY的自定义插件开发
深入浅出 全面获知系统版本号