[發明專利]一種應用軟件跨版本兼容的方法和系統在審
| 申請號: | 202010973053.7 | 申請日: | 2020-09-16 |
| 公開(公告)號: | CN112148351A | 公開(公告)日: | 2020-12-29 |
| 發明(設計)人: | 周天;范淵 | 申請(專利權)人: | 杭州安恒信息技術股份有限公司 |
| 主分類號: | G06F8/71 | 分類號: | G06F8/71;G06F8/76 |
| 代理公司: | 杭州華進聯浙知識產權代理有限公司 33250 | 代理人: | 陳涵 |
| 地址: | 310051 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用軟件 版本 兼容 方法 系統 | ||
本申請涉及一種應用軟件跨版本兼容的方法、系統、計算機設備和計算機可讀存儲介質,其中,所述方法包括:獲取目標應用軟件的原始軟件包;根據所述原始軟件包,在宿主系統中構建所述目標應用軟件的軟件運行環境;在所述宿主系統中運行所述目標應用軟件時,通過調用所述軟件運行環境中的組件實現所述目標應用軟件的運行。通過本申請,可以在不修改原始軟件包或宿主系統中文件的前提下,實現用于軟件的跨版本兼容,解決了應用軟件不能兼容Linux操作系統不同發行版本的問題。
技術領域
本申請涉及計算機領域,特別是涉及一種應用軟件跨版本兼容的方法、系統、計算機設備和計算機可存儲介質。
背景技術
隨著計算機技術的發展,為了滿足用戶多樣化的需要,Linux操作系統發行了多個版本,存在商業公司維護的發行版本,例如Red Hat,也有社區組織維護的發行版本,例如Debian。在發行的版本多了以后,不同發行版本間存在差異,會導致都是基于Linux開發的軟件,但是在不同的發行版本上運行的時候,存在軟件與操作系統不兼容,軟件無法運行的問題。
在相關技術中,解決兼容性問題主要通過以下方式:
1.通過容器技術,提供一套完整的依賴環境,將軟件放置在該依賴環境中運行,但這種方式并不能完全解決版本兼容性的問題,因為存在一些較老的發行版本,例如Centos5,就不支持容器技術。
2.通過修改環境中庫依賴路徑,使得軟件在運行時調用指定路徑的依賴庫文件來解決兼容性的問題。假設操作系統中存在一個文件/sys/bin/example依賴于系統自帶的/sys/lib/libexample.so,而交付件中存在同樣名稱的庫文件/pdt/lib/libexample.so,如果這種情況下,修改了環境的庫依賴路徑,則會導致/sys/bin/example依賴于/pdt/lib/libexample.so,進而產生不可預期的影響,如/sys/bin/example執行異常。
3.通過在編譯時寫入庫的依賴路徑,使得軟件在運行時調用指定路徑的依賴庫文件來解決兼容性的問題。但是在不同的發行版本之間,可能存在可執行文件不兼容的問題,導致軟件無法運行。
目前,針對相關技術中應用軟件不能兼容Linux操作系統的不同發行版本的問題,尚未提出有效的解決方案。
發明內容
本申請實施例提供了一種應用軟件跨版本兼容的方法、系統、電子設備和存儲介質,以至少解決相關技術中應用軟件不能兼容Linux操作系統的不同發行版本的問題。
第一方面,本申請實施例提供了一種應用軟件跨版本兼容的方法,所述方法包括:
獲取目標應用軟件的原始軟件包;
根據所述原始軟件包,在宿主系統中構建所述目標應用軟件的軟件運行環境;
在所述宿主系統中運行所述目標應用軟件時,通過調用所述軟件運行環境中的組件實現所述目標應用軟件的運行。
在其中一些實施例中,根據所述原始軟件包,在宿主系統中構建所述目標應用軟件的軟件運行環境,包括以下步驟:
根據所述原始軟件包中的可執行文件、共享庫文件和腳本文件,獲取所述目標應用軟件運行時所依賴的工具鏈和所述工具鏈的依賴;
根據所述目標應用軟件運行時所依賴的工具鏈和所述工具鏈的依賴,生成所述軟件運行環境。
在其中一些實施例中,所述在所述宿主系統中運行所述目標應用軟件時,通過調用所述軟件運行環境中的組件實現所述目標應用軟件的運行,包括以下步驟:
在所述宿主系統中運行所述目標應用軟件時,啟動所述軟件運行環境;
在啟動所述軟件運行環境后,調用并啟動所述目標應用軟件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州安恒信息技術股份有限公司,未經杭州安恒信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010973053.7/2.html,轉載請聲明來源鉆瓜專利網。





