[發明專利]插件下載方法及裝置有效
| 申請號: | 201611093571.X | 申請日: | 2016-12-01 |
| 公開(公告)號: | CN108132844B | 公開(公告)日: | 2020-11-10 |
| 發明(設計)人: | 李龍彬 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F8/61 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 朱雅男 |
| 地址: | 518057 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 插件 下載 方法 裝置 | ||
本發明公開了一種插件下載方法及裝置,屬于計算機技術領域。所述方法包括:當第二進程請求下載安裝插件時,檢測與插件對應的進程ID文件鎖中是否存儲有進程ID;進程ID文件鎖用于對存儲的進程ID所對應的進程上鎖,進程ID用于標識進程;當進程ID文件鎖存儲有第一進程的進程ID時,根據第一進程的進程ID向操作系統查詢第一進程是否存在;當第一進程不存在時,確定第一進程異常退出,將進程ID文件鎖中存儲的進程ID修改為第二進程的進程ID;繼續執行插件的下載安裝流程。本發明通過利用將進程ID寫入進程ID文件鎖的方式對進程上鎖,使得在第一進程異常退出時,第二進程能夠繼續執行插件的下載安裝流程,解決了死鎖的問題。
技術領域
本發明實施例涉及計算機技術領域,特別涉及一種插件下載方法及裝置。
背景技術
為了避免安裝包過大,應用程序的一些擴展功能是通過動態下載插件的方式實現的。以安卓系統為例,插件是遵循一定規范的應用程序接口編寫出來的程序,用來在應用程序的原始功能基礎上實現擴展功能,插件必須依賴于應用程序才能運行,僅靠插件是無法正常運行的。
當一個應用程序中有多個進程需要使用到同一個插件提供的功能,而該插件尚未下載安裝時,會出現多個進程同時下載安裝該插件的情況。由于在同一應用程序中同一個插件的下載安裝路徑相同,若是兩個進程同時下載同一個插件,會出現下載錯誤的問題。現有技術中,通過文件鎖機制來避免多進程并行下載引起下載錯誤的問題。具體來講,對各個進程提供文件鎖,該文件鎖具有對進程上鎖的能力,獲得文件鎖的第一進程在上鎖后執行插件下載安裝流程,沒有獲得文件鎖的第二進程被掛起,即處于等待狀態。
由于從第一進程開始上鎖,到第一進程的插件下載安裝流程執行完畢的過程中,其余等待的第二進程都自動被掛起,若是第一進程在執行過程中出錯異常退出,則第一進程不會解鎖文件鎖,等待的第二進程持續被掛起,第二進程無法繼續執行或重新執行插件下載安裝流程,從而發生死鎖的問題。
發明內容
為了解決現有技術中上鎖的進程在執行過程中異常退出后,等待的進程持續被掛起,無法繼續執行或重新執行插件的下載安裝流程,從而發生死鎖的問題,本發明實施例提供了一種插件下載方法及裝置。所述技術方案如下:
第一方面,提供了一種插件下載方法,所述方法包括:
當第二進程請求下載安裝插件時,檢測與所述插件對應的進程ID文件鎖中是否存儲有進程ID;所述進程ID文件鎖用于對存儲的所述進程ID所對應的進程上鎖,所述進程ID用于標識所述進程;
當所述進程ID文件鎖存儲有第一進程的進程ID時,根據所述第一進程的進程ID向操作系統查詢所述第一進程是否存在;
當所述第一進程不存在時,確定所述第一進程異常退出,將所述進程ID文件鎖中存儲的所述進程ID修改為所述第二進程的進程ID;
繼續執行所述插件的下載安裝流程。
第二方面,提供了一種插件下載裝置,所述裝置包括:
第一檢測模塊,用于當第二進程請求下載安裝插件時,檢測與所述插件對應的進程ID文件鎖中是否存儲有進程ID;所述進程ID文件鎖用于對存儲的所述進程ID所對應的進程上鎖,所述進程ID用于標識所述進程;
查詢模塊,用于當所述第一檢測模塊檢測到所述進程ID文件鎖存儲有第一進程的進程ID時,根據所述第一進程的進程ID向操作系統查詢所述第一進程是否存在;
第一修改模塊,用于當所述查詢模塊查詢到所述第一進程不存在時,確定所述第一進程異常退出,將所述進程ID文件鎖中存儲的所述進程ID修改為所述第二進程的進程ID;
下載模塊,用于繼續執行所述插件的下載安裝流程。
本發明實施例提供的技術方案帶來的有益效果是:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611093571.X/2.html,轉載請聲明來源鉆瓜專利網。





