[發(fā)明專利]一種熱補(bǔ)丁加載方法以及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201611206602.8 | 申請(qǐng)日: | 2016-12-23 |
| 公開(公告)號(hào): | CN106775732B | 公開(公告)日: | 2019-02-12 |
| 發(fā)明(設(shè)計(jì))人: | 王超;邱模炯 | 申請(qǐng)(專利權(quán))人: | 優(yōu)刻得科技股份有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445 |
| 代理公司: | 上海華誠(chéng)知識(shí)產(chǎn)權(quán)代理有限公司 31300 | 代理人: | 肖華 |
| 地址: | 200433 上海市楊浦*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 補(bǔ)丁 加載 方法 以及 裝置 | ||
本發(fā)明提供了一種熱補(bǔ)丁加載方法以及裝置,熱補(bǔ)丁加載方法包括步驟:獲取并記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程;跟蹤內(nèi)核態(tài)沖突進(jìn)程,當(dāng)內(nèi)核態(tài)沖突進(jìn)程退出內(nèi)核態(tài)時(shí),停止內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行;重新加載熱補(bǔ)丁;判斷重新加載熱補(bǔ)丁的結(jié)果,當(dāng)結(jié)果為不成功時(shí),循環(huán)執(zhí)行自獲取并記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程的步驟起至重新加載熱補(bǔ)丁的步驟;當(dāng)重新加載熱補(bǔ)丁的結(jié)果為成功時(shí),恢復(fù)所有內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行。通過(guò)記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程,并在內(nèi)核態(tài)沖突進(jìn)程退出內(nèi)核態(tài)時(shí),停止內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行,有效降低了熱補(bǔ)丁和進(jìn)程內(nèi)核函數(shù)調(diào)用棧的沖突,從而提高熱補(bǔ)丁的加載成功率。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件更新領(lǐng)域,尤其涉及一種熱補(bǔ)丁加載方法及裝置。
背景技術(shù)
隨著近年來(lái)計(jì)算技術(shù)的迅猛發(fā)展,計(jì)算機(jī)產(chǎn)品的更新?lián)Q代速度也隨之增快。目前,在軟件開發(fā)過(guò)程中,難免存在一些軟件設(shè)計(jì)方面的漏洞或用戶對(duì)該軟件的新的需求,為了不影響軟件的使用,一般以熱補(bǔ)丁的方式對(duì)該軟件進(jìn)行漏洞修復(fù)或更新,即在不中止軟件的情況下對(duì)該軟件進(jìn)行修復(fù)或更新。內(nèi)核熱補(bǔ)丁技術(shù)是一種對(duì)運(yùn)行中的內(nèi)核加載熱補(bǔ)丁的技術(shù),以避免對(duì)操作系統(tǒng)的重啟,從而減少重啟帶來(lái)的宕機(jī)時(shí)間,提高可用性。內(nèi)核熱補(bǔ)丁技術(shù)的處理方式基本是以函數(shù)為單位的,即可通過(guò)對(duì)出現(xiàn)漏洞或需要更新的函數(shù)進(jìn)行修復(fù),以實(shí)現(xiàn)對(duì)內(nèi)核的修復(fù)或更新。
當(dāng)對(duì)內(nèi)核熱補(bǔ)丁進(jìn)行加載時(shí),由于處于內(nèi)核態(tài)的進(jìn)程需要調(diào)用熱補(bǔ)丁所涉及的函數(shù),從而與熱補(bǔ)丁加載產(chǎn)生沖突,進(jìn)而導(dǎo)致內(nèi)核熱補(bǔ)丁加載失敗。
發(fā)明內(nèi)容
針對(duì)以上問(wèn)題,本發(fā)明的目的在于提供一種熱補(bǔ)丁加載方法以及裝置,能夠有效減少加載內(nèi)核熱補(bǔ)丁的沖突,提高加載成功率。
根據(jù)本發(fā)明的第一個(gè)方面,提供一種熱補(bǔ)丁加載方法,包括步驟:獲取并記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程;跟蹤內(nèi)核態(tài)沖突進(jìn)程,當(dāng)內(nèi)核態(tài)沖突進(jìn)程退出內(nèi)核態(tài)時(shí),停止內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行;重新加載熱補(bǔ)丁;判斷重新加載熱補(bǔ)丁的結(jié)果,當(dāng)結(jié)果為不成功時(shí),循環(huán)執(zhí)行自獲取并記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程的步驟起至重新加載熱補(bǔ)丁的步驟;當(dāng)重新加載熱補(bǔ)丁的結(jié)果為成功時(shí),恢復(fù)所有內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行。
優(yōu)選地,所述獲取并記錄與所述熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程的步驟包括:在每次循環(huán)中獲取本次循環(huán)中與所述熱補(bǔ)丁沖突的所述內(nèi)核態(tài)沖突進(jìn)程,并持續(xù)記錄所有循環(huán)中的所述內(nèi)核態(tài)沖突進(jìn)程。
優(yōu)選地,在多個(gè)進(jìn)程的內(nèi)核態(tài)函數(shù)調(diào)用棧中查找所述熱補(bǔ)丁函數(shù),獲取包括所述熱補(bǔ)丁函數(shù)的內(nèi)核態(tài)函數(shù)調(diào)用棧對(duì)應(yīng)的進(jìn)程的進(jìn)程標(biāo)識(shí)符,以獲取與所述熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程,記錄所述進(jìn)程標(biāo)識(shí)符,以記錄所述內(nèi)核態(tài)沖突進(jìn)程。
優(yōu)選地,跟蹤內(nèi)核態(tài)沖突進(jìn)程,當(dāng)內(nèi)核態(tài)沖突進(jìn)程退出內(nèi)核態(tài)時(shí),停止內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行的步驟包括:跟蹤多個(gè)內(nèi)核態(tài)沖突進(jìn)程,停止退出內(nèi)核態(tài)的內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行,直至停止所有內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行。
優(yōu)選地,通過(guò)ptrace函數(shù)跟蹤內(nèi)核態(tài)沖突進(jìn)程。
優(yōu)選地,對(duì)所有停止的內(nèi)核態(tài)沖突進(jìn)程使用ptrace函數(shù),以使所有內(nèi)核態(tài)沖突進(jìn)程恢復(fù)運(yùn)行。
優(yōu)選地,第一個(gè)方面的熱補(bǔ)丁加載方法還包括步驟:計(jì)算重新加載熱補(bǔ)丁的次數(shù),當(dāng)重新加載熱補(bǔ)丁的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),停止循環(huán)執(zhí)行自獲取并記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程的步驟起至重新加載熱補(bǔ)丁的步驟,并恢復(fù)運(yùn)行所有內(nèi)核態(tài)沖突進(jìn)程。
根據(jù)本發(fā)明的第二個(gè)方面,提供一種熱補(bǔ)丁加載裝置,包括:沖突記錄單元,用于獲取并記錄與熱補(bǔ)丁沖突的內(nèi)核態(tài)沖突進(jìn)程;跟蹤單元,用于跟蹤內(nèi)核態(tài)沖突進(jìn)程,當(dāng)內(nèi)核態(tài)沖突進(jìn)程退出內(nèi)核態(tài)時(shí),停止內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行,以及恢復(fù)所有內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行;加載單元,用于重新加載熱補(bǔ)丁;循環(huán)單元,用于判斷重新加載熱補(bǔ)丁的結(jié)果是否成功,當(dāng)結(jié)果為不成功時(shí)循環(huán)調(diào)用沖突記錄單元、跟蹤單元以及加載單元;恢復(fù)單元,用于當(dāng)重新加載熱補(bǔ)丁的結(jié)果為成功時(shí),恢復(fù)所有內(nèi)核態(tài)沖突進(jìn)程的運(yùn)行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于優(yōu)刻得科技股份有限公司,未經(jīng)優(yōu)刻得科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611206602.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 接收裝置以及接收方法、以及程序
- 凈水濾芯以及凈水裝置、以及洗漱臺(tái)
- 隱匿檢索系統(tǒng)以及公開參數(shù)生成裝置以及加密裝置以及用戶秘密密鑰生成裝置以及查詢發(fā)布裝置以及檢索裝置以及計(jì)算機(jī)程序以及隱匿檢索方法以及公開參數(shù)生成方法以及加密方法以及用戶秘密密鑰生成方法以及查詢發(fā)布方法以及檢索方法
- 編碼方法以及裝置、解碼方法以及裝置
- 編碼方法以及裝置、解碼方法以及裝置
- 圖片顯示方法以及裝置以及移動(dòng)終端
- ENB以及UEUL發(fā)送以及接收的方法
- X射線探測(cè)方法以及裝置以及系統(tǒng)
- 圖書信息錄入方法以及系統(tǒng)以及書架
- 護(hù)耳器以及口罩以及眼鏡





