李江 李歡歡 李曉陽 宋海榮 劉清泉
(國家知識產權局專利局專利審查協作河南中心,河南鄭州 450000)
一種插件自適應更新方法
李江 李歡歡 李曉陽 宋海榮 劉清泉
(國家知識產權局專利局專利審查協作河南中心,河南鄭州 450000)
在插件更新時,根據客戶端的應用環境,查找最佳適用版本進行更新,而不是將插件程序簡單更新到最新版本,從而使插件版本與客戶端的應用環境相匹配,解決了傳統插件更新方法中即使客戶端軟硬件較落后,更新時仍然將插件更新到最新版本從而造成程序運行緩慢、甚至崩潰的技術問題。該插件更新方法可應用于PC端、平板電腦、移動終端等電子設備,能夠為用戶提供更好地操作體驗。
插件;自適應;最佳版本;最新版本
隨著計算機技術的快速發展,為了適應日益復雜的應用環境以及軟件功能的不斷擴展[1],對同一應用程序,人們不斷開發出新的程序版本進行更新換代,例如微軟公司的IE瀏覽器就已從早期的IE5、IE6發展到目前最新的IE11,通常即使是同代的程序也具有多個版本。在客戶端,由于客戶端的硬件性能、個人愛好、個人需求不同,使用各種版本瀏覽器的客戶端皆有,這就造成了應用環境的復雜性,給寄生于瀏覽器的插件應用程序的更新造成了困難。而通常插件在更新時,皆是直接將插件更新到最新版本,由于插件寄生的瀏覽器程序環境比較復雜,這就可能造成插件與運行的瀏覽器軟、硬件環境不匹配,而一旦發生插件程序與軟硬件環境不匹配的情況,就很容易發生系統崩潰、程序卡死等問題,給用戶帶來了極大的不便,這就急需對現有的插件更新、安裝方法進行改進。
插件的實質是在不改變程序主體結構的基礎上,對軟件功能進行擴展加強,用戶可以根據自己的需要安裝相應的插件,通常插件的框架結構包括兩大部分[2-3]:主程序和插件。插件要安裝到主程序中,必須滿足相應的接口標準,以便于插件與主程序之間相互通信。其中,主程序是單獨能夠運行的程序,插件能夠通過主程序向用戶提供服務,是整個系統能夠運行的基礎。其作用有以下3點:①主程序是插件運行的基礎,能夠用來初始化插件,配置插件的接口,用于管理插件的運行[4];②主程序管理插件的安裝、卸載和更新,處理插件的故障,保證運行穩定;③能夠通過界面的方式將插件的功能展現給用戶,便于用戶操作。插件功能能夠通過動態鏈接庫[5]實現,主程序能夠根據接口標準安裝、更新插件,并將插件接口在內存中分配的地址發送給插件,插件接收該地址,并依據所述地址來調用插件函數,完成相應功能,獲取相應資源等。
在現有技術中,插件的更新通常是配置管理終端先將管理員發布的插件上傳到系統軟件版本發布服務器,更新時直接將插件更新到最新版本。易程軟件股份有限公司在中國專利CN102195804A提出了一種自動更新插件的方法[6],具體內容為:系統軟件版本發布服務器接收客戶端插件并進行存儲,同時為每個插件生成版本編號;客戶端每間隔一定時間向系統軟件版本發布服務器發送版本檢測請求,同時攜帶本地插件的版本號;系統軟件版本發布服務器將所攜帶的本地插件版本號與最新版本號進行比較,當本地插件版本號小于服務器中最新版本號時,客戶端從服務器下載最新版本插件,并在客戶端更新所述最新版本插件。這種插件更新方式雖然能夠自動檢查服務器端插件的最新版本并能實現下載更新,實現了對客戶端軟件的自動更新,減少了客戶端應用程序維護的復雜性,降低了成本。但是這種更新方式只是將軟件更新到最新版本,而沒有相應檢測客戶端的軟件運行環境,如果客戶端運行的環境與最新版本的插件不兼容時,那么將插件更新到最新版本將會造成軟件運行故障。

圖1
奇智軟件有限公司于2010年在中國專利CN 102222091 A提出了一種瀏覽器中插件擴展的方法[7],其通過檢測用戶的瀏覽器使用記錄;依據所述瀏覽器使用記錄,確定用戶所需的插件擴展類別;將插件擴展類別下的插件擴展提供給該用戶。該方法只是根據用戶的瀏覽器訪問、瀏覽器操作功能或者下載喜好等用戶習慣選擇適合用戶的插件,而沒有提到如何選擇適合瀏覽器的插件版本進行更新以防止軟件環境不匹配問題。
鑒于現有技術存在的不足,為解決軟件版本與安裝環境不匹配的問題,提出了以下改進方案:
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]。
通過根據客戶端的應用環境將插件更新到最佳適應版本,而不是最新版本,從而使插件版本與應用環境相匹配,解決了由于客戶端軟硬件較落后、更新時卻將插件更新到最新版本而造成程序運行緩慢、甚至崩潰的技術問題。且該方法通過本領域技術人員的適當改進還可應用于其他軟件的更新、安裝中,從而解決了應用程序與終端設備軟硬件環境匹配的技術問題,能夠為用戶提供更好地操作體驗。
[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-),男,碩士研究生,研究實習員,研究方向:計算機方面專利審查工作。