国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種熱更新方法和相關(guān)裝置與流程

      文檔序號:40231781發(fā)布日期:2024-12-06 16:52閱讀:12來源:國知局
      一種熱更新方法和相關(guān)裝置與流程

      本技術(shù)涉及計算機,特別是涉及一種熱更新方法和相關(guān)裝置。


      背景技術(shù):

      1、熱更新(hot?update)是指在不停止應(yīng)用程序或服務(wù)的情況下,通過更新程序的某些部分來修復(fù)或添加新功能的過程。熱更新可以在不需要重新啟動應(yīng)用程序的情況下,實時更新應(yīng)用程序的代碼、配置文件、資源文件等文件。

      2、相關(guān)技術(shù)中,為了提高加載速度,會預(yù)先將與應(yīng)用程序有關(guān)的文件從硬盤讀取到緩存中,在獲取請求后,基于該請求從緩存中加載對應(yīng)的文件。當(dāng)需要針對該應(yīng)用程序進行熱更新時,需要先清除緩存中第i個版本的文件,再將第i+1個版本的文件從硬盤中讀取到緩存中,以便從緩存中加載第i+1個版本的文件。

      3、但是,在清除第i個版本的文件的過程中,可能無法被完全清除從而出現(xiàn)內(nèi)存泄漏的問題。隨著該應(yīng)用程序的不斷運行,每一次請求后就會有一定的內(nèi)存泄漏,造成系統(tǒng)內(nèi)存的浪費,導(dǎo)致應(yīng)用程序運行速度減慢甚至系統(tǒng)崩潰等嚴(yán)重后果。


      技術(shù)實現(xiàn)思路

      1、為了解決上述技術(shù)問題,本技術(shù)提供了一種熱更新方法和相關(guān)裝置,用于避免內(nèi)存泄漏問題,提高系統(tǒng)的性能。

      2、本技術(shù)實施例公開了如下技術(shù)方案:

      3、一方面,本技術(shù)實施例提供一種熱更新方法,所述方法包括:

      4、獲取所述目標(biāo)應(yīng)用程序的最新版本信息、所述目標(biāo)應(yīng)用程序的當(dāng)前版本信息,以及應(yīng)用程序和子進程的對應(yīng)關(guān)系,在所述對應(yīng)關(guān)系中,不同子進程用于處理來自不同應(yīng)用程序的請求;

      5、根據(jù)所述對應(yīng)關(guān)系,確定與所述目標(biāo)應(yīng)用程序?qū)?yīng)的第一子進程,所述第一子進程是基于所述當(dāng)前版本信息創(chuàng)建的子進程;

      6、在目標(biāo)應(yīng)用程序運行的過程中,若所述當(dāng)前版本信息和所述最新版本信息不一致,刪除所述第一子進程,基于所述最新版本信息創(chuàng)建第二子進程;

      7、在所述對應(yīng)關(guān)系中,將與所述目標(biāo)應(yīng)用程序?qū)?yīng)的子進程更新為所述第二子進程。

      8、另一方面,本技術(shù)實施例提供一種熱更新裝置,所述裝置包括:獲取單元、確定單元、刪除創(chuàng)建單元和更新單元;

      9、所述獲取單元,用于獲取所述目標(biāo)應(yīng)用程序的最新版本信息、所述目標(biāo)應(yīng)用程序的當(dāng)前版本信息,以及應(yīng)用程序和子進程的對應(yīng)關(guān)系,在所述對應(yīng)關(guān)系中,不同子進程用于處理來自不同應(yīng)用程序的請求;

      10、所述確定單元,用于根據(jù)所述對應(yīng)關(guān)系,確定與所述目標(biāo)應(yīng)用程序?qū)?yīng)的第一子進程,所述第一子進程是基于所述當(dāng)前版本信息創(chuàng)建的子進程;

      11、所述刪除創(chuàng)建單元,用于在目標(biāo)應(yīng)用程序運行的過程中,若所述當(dāng)前版本信息和所述最新版本信息不一致,刪除所述第一子進程,基于所述最新版本信息創(chuàng)建第二子進程;

      12、所述更新單元,用于在所述對應(yīng)關(guān)系中,將與所述目標(biāo)應(yīng)用程序?qū)?yīng)的子進程更新為所述第二子進程。

      13、可選的,所述裝置還包括分發(fā)單元,用于:

      14、若將多個所述第一請求分發(fā)給所述第三子進程進行處理,在所述第二子進程創(chuàng)建完成之后,將所述第三子進程未開始處理的第一請求分發(fā)給所述第二子進程進行處理。

      15、可選的,所述確定單元,還用于:

      16、若在所述第二子進程創(chuàng)建完成之后,若獲取來自所述目標(biāo)應(yīng)用程序的第二請求,根據(jù)所述對應(yīng)關(guān)系,確定與所述目標(biāo)應(yīng)用程序?qū)?yīng)的第二子進程;

      17、所述裝置還包括分發(fā)單元,用于:

      18、將所述第二請求分發(fā)給所述第二子進程進行處理。

      19、可選的,所述裝置還包括分發(fā)單元,用于:

      20、若確定所述第二子進程處理所述第二請求失敗,則將所述第二請求分發(fā)給第三子進程進行處理,所述第三子進程為基于所述當(dāng)前版本信息創(chuàng)建的子進程。

      21、可選的,所述刪除創(chuàng)建單元,還用于:

      22、在獲取來自所述目標(biāo)應(yīng)用程序的第三請求之后,若基于所述對應(yīng)關(guān)系未確定與所述目標(biāo)應(yīng)用程序?qū)?yīng)的子進程,則基于所述最新版本信息創(chuàng)建所述第一子進程,并將所述第三請求分發(fā)給所述第一子進程進行處理;

      23、所述裝置還包括更新單元,用于:

      24、在所述對應(yīng)關(guān)系中,建立所述目標(biāo)應(yīng)用程序與所述第一子進程的對應(yīng)關(guān)系。

      25、可選的,所述刪除創(chuàng)建單元,具體用于:

      26、若獲取來自所述目標(biāo)應(yīng)用程序的多個所述第三請求之后,獲取所在計算機設(shè)備的中央處理器的核心數(shù)量;

      27、基于所述最新版本信息和所述核心數(shù)量創(chuàng)建多個所述第一子進程,所述第一子進程的數(shù)量與所述核心數(shù)量相同;

      28、所述裝置還包括分發(fā)單元,用于:

      29、將多個所述第三請求均勻分發(fā)給多個所述第一子進程進行處理。

      30、可選的,若所述第一子進程的數(shù)量為n,n為大于1的整數(shù),所述刪除創(chuàng)建單元,具體用于:

      31、刪除n-1個所述第一子進程;

      32、所述裝置還包括分發(fā)單元,用于:

      33、若在所述第二子進程創(chuàng)建完成之前,獲取來自所述目標(biāo)應(yīng)用程序的第一請求,將所述第一請求分發(fā)給未刪除的第一子進程進行處理。

      34、可選的,所述獲取單元,還用于:

      35、獲取來自所述目標(biāo)應(yīng)用程序的第一請求;

      36、基于所第一述請求,獲取所述目標(biāo)應(yīng)用程序的最新版本信息。

      37、可選的,所述獲取單元,具體用于:

      38、每隔預(yù)設(shè)時間獲取所述目標(biāo)應(yīng)用程序的最新版本信息。

      39、另一方面,本技術(shù)實施例提供一種計算機設(shè)備,所述計算機設(shè)備包括處理器以及存儲器:

      40、所述存儲器用于存儲計算機程序,并將所述計算機程序傳輸給所述處理器;

      41、所述處理器用于根據(jù)所述計算機程序中的指令執(zhí)行上述方面所述的方法。

      42、另一方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)用于存儲計算機程序,所述計算機程序用于執(zhí)行上述方面所述的方法。

      43、另一方面,本技術(shù)實施例提供了一種計算機程序產(chǎn)品或計算機程序,該計算機程序產(chǎn)品或計算機程序包括計算機指令,該計算機指令存儲在計算機可讀存儲介質(zhì)中。計算機設(shè)備的處理器從計算機可讀存儲介質(zhì)讀取該計算機指令,處理器執(zhí)行該計算機指令,使得該計算機設(shè)備執(zhí)行上述方面所述的方法。

      44、由上述技術(shù)方案可以看出,獲取目標(biāo)應(yīng)用程序的最新版本信息和目標(biāo)應(yīng)用程序的當(dāng)前版本信息,以及應(yīng)用程序和子進程的對應(yīng)關(guān)系。在該對應(yīng)關(guān)系中,不同的應(yīng)用程序?qū)?yīng)不同的子進程,以通過不同子進程滿足不同應(yīng)用程序具有不同的業(yè)務(wù)邏輯,從而基于該對應(yīng)關(guān)系將來自各個應(yīng)用程序的請求分發(fā)給不同的子進程進行處理?;谠搶?yīng)關(guān)系,確定與目標(biāo)應(yīng)用程序?qū)?yīng)的第一子進程,該第一子進程是基于當(dāng)前版本信息創(chuàng)建的子進程。在目標(biāo)應(yīng)用程序運行的過程中進行熱更新,即若當(dāng)前版本信息與最新版本信息不一致,說明目標(biāo)應(yīng)用程序應(yīng)該進行更新,則不再將來自目標(biāo)應(yīng)用程序的請求分發(fā)給第一子進程,而是刪除第一子進程,基于最新版本信息創(chuàng)建第二子進程,并在對應(yīng)關(guān)系中,將與目標(biāo)應(yīng)用程序?qū)?yīng)的子進程更新為第二子進程,以便將來自目標(biāo)應(yīng)用程序的請求基于更新后的對應(yīng)關(guān)系分發(fā)給第二子進程。由此,在目標(biāo)應(yīng)用程序運行的過程中,若發(fā)現(xiàn)目標(biāo)應(yīng)用程序出現(xiàn)更新,則可以基于最新版本信息創(chuàng)建新的第二子進程,從而實現(xiàn)熱更新。而且由于進程之間均是相互獨立的,故刪除舊的第一子進程后,第一子進程中所有已分配的內(nèi)存均會被刪除,所有第一子進程內(nèi)的引用關(guān)系均會被刪除,從而避免出現(xiàn)內(nèi)存泄漏,提高了系統(tǒng)性能。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1