一種基于異步檢查點(diǎn)的多線程軟件動(dòng)態(tài)升級方法
本發(fā)明公開了一種基于異步檢查點(diǎn)的多線程軟件動(dòng)態(tài)升級方法, 包括:基于動(dòng)態(tài)插樁的方式能夠在二進(jìn)制級而非源碼層次上向正在運(yùn) 行的源程序插入關(guān)鍵代碼,使得升級不需要依賴特定編譯器;基于異 步檢查點(diǎn)算法能夠確保所有線程在動(dòng)態(tài)升級前處于阻塞狀態(tài),從而能 夠一次性更新所有線程并避免新舊版本維護(hù)帶來的開銷;采用二進(jìn)制 重寫的方式實(shí)現(xiàn)函數(shù)間接跳轉(zhuǎn),能夠升級未在執(zhí)行的待更新函數(shù);利 用堆棧重構(gòu)的方式能夠升級正在執(zhí)行的待更新函數(shù),使得動(dòng)
華中科技大學(xué)
2021-04-14