[發(fā)明專利]一種在應(yīng)用中加載插件的方法、計(jì)算設(shè)備及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202210083574.4 | 申請日: | 2022-01-25 |
| 公開(公告)號: | CN114138376B | 公開(公告)日: | 2022-06-24 |
| 發(fā)明(設(shè)計(jì))人: | 張繼德;陳可;陳斌 | 申請(專利權(quán))人: | 統(tǒng)信軟件技術(shù)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F8/71 |
| 代理公司: | 北京瀚方律師事務(wù)所 11774 | 代理人: | 姜瑩 |
| 地址: | 100176 北京市北京經(jīng)濟(jì)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 應(yīng)用 加載 插件 方法 計(jì)算 設(shè)備 存儲 介質(zhì) | ||
本發(fā)明公開了一種在應(yīng)用中加載插件的方法、計(jì)算設(shè)備及存儲介質(zhì),在應(yīng)用中加載插件的方法在計(jì)算設(shè)備中執(zhí)行,該方法包括:當(dāng)監(jiān)聽到第一插件加載指令時(shí),在應(yīng)用中加載代理第一插件的第二插件,其中,計(jì)算設(shè)備中駐留有至少一個(gè)版本的第一插件,第二插件與各第一插件關(guān)聯(lián);獲取應(yīng)用運(yùn)行時(shí)所依賴的開發(fā)庫的第一版本信息;基于第二插件和第一版本信息,從各第一插件中確定出與第一版本信息相匹配的目標(biāo)第一插件;在應(yīng)用中加載目標(biāo)第一插件。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種在應(yīng)用中加載插件的方法、計(jì)算設(shè)備及存儲介質(zhì)。
背景技術(shù)
一般情況下,插件及其依賴的應(yīng)用均由相同的開發(fā)庫構(gòu)建。應(yīng)用和插件在運(yùn)行時(shí),都會(huì)將其依賴的開發(fā)庫加載至內(nèi)存中,當(dāng)開發(fā)庫進(jìn)行版本升級后,例如,開發(fā)庫需要進(jìn)行較大幅度的功能更新,這種更新往往會(huì)破壞它原本的兼容性,為了避免對使用久版本的應(yīng)用及插件產(chǎn)生影響,需要在系統(tǒng)中集成多個(gè)版本的開發(fā)庫。這時(shí),在運(yùn)行應(yīng)用時(shí),如果應(yīng)用與插件所依賴的開發(fā)庫屬于一個(gè)版本,那么內(nèi)存中只會(huì)加載該版本開發(fā)庫。如果應(yīng)用和插件所依賴的開發(fā)庫不屬于一個(gè)版本,那么內(nèi)存中會(huì)加載不同版本的開發(fā)庫,導(dǎo)致插件和不同版本開發(fā)庫之間的交叉依賴,換句話說,就是依賴低版本開發(fā)庫的插件會(huì)運(yùn)行在高版本的開發(fā)庫環(huán)境中或者依賴高版本開發(fā)庫的插件運(yùn)行在低版本的開發(fā)庫環(huán)境中,出現(xiàn)同一開發(fā)庫的不同版本被同時(shí)加載使用的情況,由于多個(gè)版本的開發(fā)庫無法同時(shí)共存,就會(huì)導(dǎo)致應(yīng)用運(yùn)行時(shí)產(chǎn)生異常。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種在應(yīng)用中加載插件的方法、計(jì)算設(shè)備以及存儲介質(zhì)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種在應(yīng)用中加載插件的方法,在計(jì)算設(shè)備中執(zhí)行,該方法包括:當(dāng)監(jiān)聽到第一插件加載指令時(shí),在應(yīng)用中加載代理第一插件的第二插件,其中,計(jì)算設(shè)備中駐留有至少一個(gè)版本的第一插件,第二插件與各第一插件關(guān)聯(lián);獲取應(yīng)用運(yùn)行時(shí)所依賴的開發(fā)庫的第一版本信息;基于第二插件和第一版本信息,從至少一個(gè)版本的第一插件中確定出與第一版本信息相匹配的目標(biāo)第一插件;在應(yīng)用中加載目標(biāo)第一插件。
可選地,在根據(jù)本發(fā)明的在應(yīng)用中加載插件的方法中,其中,在應(yīng)用中加載代理第一插件的第二插件的步驟包括:基于各第一插件的配置信息,構(gòu)建第二插件,配置信息至少包括各第一插件的標(biāo)識、存儲路徑和第二版本信息;利用應(yīng)用加載第二插件。
可選地,在根據(jù)本發(fā)明的在應(yīng)用中加載插件的方法中,其中,獲取應(yīng)用運(yùn)行時(shí)所依賴的開發(fā)庫的第一版本信息的步驟包括:確定計(jì)算設(shè)備當(dāng)前已加載的開發(fā)庫;采用符號地址獲取函數(shù),從已加載的開發(fā)庫中獲取的第一版本信息。
可選地,在根據(jù)本發(fā)明的在應(yīng)用中加載插件的方法中,其中,獲取應(yīng)用運(yùn)行時(shí)所依賴的開發(fā)庫的第一版本信息的步驟包括:讀取計(jì)算設(shè)備的當(dāng)前進(jìn)程內(nèi)容映射空間,遍歷其中所有的內(nèi)存符號內(nèi)容;從內(nèi)存符號內(nèi)容中確定出第一版本信息。
可選地,在根據(jù)本發(fā)明的在應(yīng)用中加載插件的方法中,其中,獲取應(yīng)用運(yùn)行時(shí)所依賴的開發(fā)庫的第一版本信息的步驟包括:確定計(jì)算設(shè)備當(dāng)前已加載的開發(fā)庫;采用符號地址獲取函數(shù),從已加載的開發(fā)庫中獲取的第一版本信息;檢測是否獲取到第一版本信息;若未獲取到,則讀取計(jì)算設(shè)備的當(dāng)前進(jìn)程內(nèi)容映射空間;遍歷進(jìn)程內(nèi)容映射空間中所有的內(nèi)存符號內(nèi)容;從內(nèi)存符號內(nèi)容中確定出第一版本信息。
可選地,在根據(jù)本發(fā)明的在應(yīng)用中加載插件的方法中,其中,基于各第一插件的配置信息,構(gòu)建第二插件的步驟包括:判斷各第一插件的存儲路徑是否具有相同的上級目錄;若具有,則將第二插件的絕對存儲路徑設(shè)置為各第一插件的絕對存儲路徑的上級目錄,并在該目錄下創(chuàng)建第二插件。
可選地,在根據(jù)本發(fā)明的在應(yīng)用中加載插件的方法中,其中,基于第二插件和第一版本信息,從至少一個(gè)版本的第一插件中確定出與第一版本信息相匹配的目標(biāo)第一插件的步驟包括:獲取第二插件的絕對存儲路徑;將絕對存儲路徑與第一版本信息進(jìn)行拼接,以得到目標(biāo)第一插件的絕對存儲路徑;基于目標(biāo)第一插件的絕對存儲路徑,確定出目標(biāo)第一插件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于統(tǒng)信軟件技術(shù)有限公司,未經(jīng)統(tǒng)信軟件技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210083574.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在線應(yīng)用平臺上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





