終端和任務執行方法
2023-07-06 14:18:06 1
專利名稱:終端和任務執行方法
技術領域:
本發明涉及終端技術領域,具體而言,涉及一種終端和一種任務執行方法。
背景技術:
分布式計算是一門計算機科學,它研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。現有終端在計算時一般採用如下幾種計算方法:方法一、計算任務作為一個整體執行,當計算任務由於各種原因需要中途退出時,則放棄已有計算結果。當恢復執行任務時,則完全重新開始計算。方法二、計算任務分為若干個節點步驟,然後進行計算,當計算任務由於各種原因需要中途退出時,系統保存上一個計算步驟的結果。當任務恢復執行時,則在保存的已有計算結果的基礎上,繼續執行。針對方法一,已經執行的計算結果在中途退出任務的情況下,沒有保存,計算資源白白浪費,計算周期拖長,影響了整個計算任務的執行效率。針對方法二,已經執行的計算任務在中途退出情況下,在一定程度上進行了計算數據保存,減少了計算資源的浪費和保持計算周期控制在一定範圍內。在節點步驟的計算量小時,方法二的計算是可行的。但在某些節點步驟的計算量大且執行周期較長時,中途退出任務僅保存上一計算步驟結果,則會浪費較多計算資源,使整體執行成本提高。因此,需要一種新的任務執行技術,可以在中途退出計算任務的情況下,保存已經執行的所有計算數據,從而避免計算資源的浪費,保證整個計算任務的執行效率。
發明內容
本發明正是基於上述問題,提出了一種新的任務執行技術,可以在中途退出計算任務的情況下,保存已經執行的所有計算數據,從而避免計算資源的浪費,保證整個計算任務的執行效率。有鑑於此,本發明提出了一種終端,包括:分配單元,用於在接收到計算任務指令時,為計算任務分配一個託管內存;數據處理單元,用於將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存分別是所述終端的物理內存中的指定存儲區域;存儲單元,用於在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據。在該技術方案中,當中途退出執行的計算任務時,可以將所有已經計算的數據進行鏡像保存,從而避免了因不能保存計算數據造成的資源浪費,保證整個計算任務的執行效率。在上述技術方案中,優選地,還包括:檢測單元,用於檢測所述存儲單元中是否保存有與所述計算任務相關聯的數據鏡像;以及數據導入單元,用於在檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述相關聯的數據鏡像導入到所述託管內存,根據導入的數據鏡像繼續執行所述計算任務。在該技術方案中,在存儲單元保存了計算任務的情況下,可以將保存的鏡像數據導入託管內存,接著保存的數據繼續執行計算。這樣,就算中途退出,也不會影響整體計算任務的執行效率。在上述技術方案中,優選地,還包括:任務分割單元,用於在未檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述計算任務分割為多個按順序執行的任務節點。在該技術方案中,如果檢測到計算任務為全新的計算任務,則將計算任務分割為多個順序執行的節點步驟,這樣,可以方便預測計算任務的資源佔用情況,根據預測情況為其分配託管內存,並在託管內存中為其標記出初始索引及末尾索引,從而防止其內存區域被其他應用佔用,並根據索引將臨時計算數據存放到空閒內存中的指定區域。在上述技術方案中,優選地,還包括:設置單元,預設將所述空閒內存中的所述臨時計算數據自動保存至所述存儲單元的時間周期;以及數據清除單元,在所述計算任務執行完畢時,自動清除所述存儲單元中已經保存的數據鏡像。在該技術方案中,可以預設自動保存的時間,比如用戶設置自動保存的時間為一分鐘,則每隔一分鐘,空閒內存中的數據就會被保存到存儲單元。同時用戶還可以預設保存的數據鏡像個數,即存儲單元中可以保存最近幾次的數據鏡像文件,比如用戶設置為2,則保存上一次和此次的數據鏡像文件,也就是之前的數據鏡像文件會被最新保存的數據不斷的覆蓋掉,這樣既節省了存儲空間,又避免了因只保存最近一次數據可能造成的數據丟失,使得即使在最近一次保存數據因某種原因出現問題時,仍舊可以通過上一次保存的數據繼續進行計算。在計算結束時,清除保存的數據鏡像,節省了存儲空間,避免佔用過多的存儲資源。在上述技術方案中,優選地,所述託管內存中保存有所述空閒內存的索引地址,所述數據處理單元根據所述索引地址將所述臨時計算數據存放至所述空閒內存。在該技術方案中,根據計算任務的初始索引和末尾索引來判斷計算任務佔用的空間,並為其在物理內存中保留空間,防止其他應用佔用空間。根據本發明的又一方面,還提供了一種任務執行方法,包括:步驟202,用於在接收到計算任務指令時,為計算任務分配一個託管內存;步驟204,用於將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存是物理內存中的指定存儲區域;步驟206,在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據單元。在該技術方案中,當中途退出執行的計算任務時,可以將所有已經計算的數據進行鏡像保存,從而避免了因不能保存計算數據造成的資源浪費,保證整個計算任務的執行效率。在上述技術方案中,優選地,所述步驟202還包括:檢測所述存儲單元中是否保存有與所述計算任務相關聯的數據鏡像;以及在檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述相關聯的數據鏡像導入到所述託管內存,根據導入的數據鏡像繼續執行所述計算任務。
在該技術方案中,在存儲單元保存了計算任務的情況下,可以將保存的鏡像數據導入託管內存,接著保存的數據繼續執行計算。這樣,就算中途退出,也不會影響整體計算任務的執行效率。在上述技術方案中,優選地,所述步驟202還包括:在未檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述計算任務分割為多個按順序執行的任務節點。在該技術方案中,如果檢測到計算任務為全新的計算任務,則將計算任務分割為多個順序執行的節點步驟,這樣,可以方便預測計算任務的資源佔用情況,根據預測情況為其分配託管內存,並在託管內存中為其標記出初始索引及末尾索引,並根據索引將臨時計算數據存放到空閒內存中的指定區域。在上述技術方案中,優選地,所述步驟206具體包括:預設將所述空閒內存中的所述臨時計算數據自動保存至所述存儲單元的時間周期;以及在所述計算任務執行完畢時,自動清除所述存儲單元中已經保存的數據鏡像。在該技術方案中,可以預設自動保存的時間,比如用戶設置自動保存的時間為一分鐘,則每隔一分鐘,空閒內存中的數據就會被保存到存儲單元。同時用戶還可以預設保存的數據鏡像個數,即存儲單元中可以保存最近幾次的數據鏡像文件,比如用戶設置為2,則保存上一次和此次的數據鏡像文件,也就是之前的數據鏡像文件會被最新保存的數據不斷的覆蓋掉,這樣既節省了存儲空間,又避免了因只保存最近一次數據可能造成的數據丟失,使得即使在最近一次保存數據因某種原因出現問題時,仍舊可以通過上一次保存的數據繼續進行計算。在計算結束時,清除保存的數據鏡像,節省了存儲空間,避免佔用過多的存儲資源。在上述技術方案中,優選地,所述託管內存中保存有所述空閒內存的索引地址,根據所述索引地址將所述臨時計算數據存放至所述空閒內存。在該技術方案中,根據計算任務的初始索引和末尾索引來判斷計算任務佔用的空間,並為其在物理內存中保留空間,防止其他應用佔用空間。通過以上技術方案,在存在中途退出計算任務的情況下,可以保存已經執行的所有計算數據,從而避免計算資源的浪費,保證整個計算任務的執行效率。
圖1示出了根據本發明的實施例的終端的框圖;圖2示出了根據本發明的實施例的任務執行方法的流程圖;圖3示出了根據本發明的實施例的任務執行方法的具體流程圖;圖4示出了根據本發明的實施例的終端的數據存儲結構示意圖。
具體實施例方式為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施方式
對本發明進行進一步的詳細描述。需要說明的是,在不衝突的情況下,本申請的實施例及實施例中的特徵可以相互組合。在下面的描述中闡述了很多具體細節以便於充分理解本發明,但是,本發明還可以採用其他不同於在此描述的其他方式來實施,因此,本發明的保護範圍並不受下面公開的具體實施例的限制。圖1示出了根據本發明的實施例的終端的框圖。如圖1所示,根據本發明的實施例的終端100包括:分配單元102,用於在接收到計算任務指令時,為計算任務分配一個託管內存;數據處理單元104,用於將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存分別是終端100的物理內存中的指定存儲區域;存儲單元106,用於在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據。該存儲單元106可以是目前的任何存儲介質。在該技術方案中,當中途退出執行的計算任務時,可以將所有已經計算的數據進行鏡像保存,從而避免了因不能保存計算數據造成的資源浪費,保證整個計算任務的執行效率。在上述技術方案中,優選地,還包括:檢測單元108,用於檢測所述存儲單元中是否保存有與所述計算任務相關聯的數據鏡像;以及數據導入單元110,用於在檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述相關聯的數據鏡像導入到所述託管內存,根據導入的數據鏡像繼續執行所述計算任務。在該技術方案中,在存儲單元保存了計算任務的情況下,可以將保存的鏡像數據導入託管內存,接著保存的數據繼續執行計算。這樣,就算中途退出,也不會影響整體計算任務的執行效率。在上述技術方案中,優選地,還包括:任務分割單元112,用於在未檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述計算任務分割為多個按順序執行的任務節點。在該技術方案中,如果檢測到計算任務為全新的計算任務,則將計算任務分割為多個順序執行的節點步驟,這樣,可以方便預測計算任務的資源佔用情況,根據預測情況為其分配託管內存,並在託管內存中為其標記出初始索引及末尾索引,從而防止標記的內存區域被其他應用佔用,並根據索引將臨時計算數據存放到空閒內存中的指定區域。在上述技術方案中,優選地,還可以包括:設置單元114,預設將所述託管內存中的所述臨時計算數據自動保存至所述存儲單元的時間周期;以及數據清除單元116,在所述計算任務執行完畢時,自動清除所述存儲單元中已經保存的數據鏡像。在該技術方案中,可以預設自動保存的時間,比如用戶設置自動保存的時間為一分鐘,則每隔一分鐘,空閒內存中的數據就會被保存到存儲單元。同時用戶還可以預設保存的數據鏡像個數,即存儲單元中可以保存最近幾次的數據鏡像文件,比如用戶設置為2,則保存上一次和此次的數據鏡像文件,也就是之前的數據鏡像文件會被最新保存的數據不斷的覆蓋掉,這樣既節省了存儲空間,又避免了因只保存最近一次數據可能造成的數據丟失,使得即使在最近一次保存數據因某種原因出現問題時,仍舊可以通過上一次保存的數據繼續進行計算。在計算結束時,清除保存的數據鏡像,節省了存儲空間,避免佔用過多的存儲資源。在上述技術方案中,優選地,所述託管內存中保存有所述空閒內存的索引地址,所述數據處理單元104根據所述索引地址將所述臨時計算數據存放至所述空閒內存。
在該技術方案中,根據計算任務的初始索引和末尾索引來判斷計算任務佔用的空間,並為其在物理內存中保留空間,防止其他應用佔用空間。圖2示出了根據本發明的實施例的任務執行方法的流程圖。如圖2所示,根據本發明的實施例的任務執行方法包括:步驟202,用於在接收到計算任務指令時,為計算任務分配一個託管內存;步驟204,用於將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存是物理內存中的指定存儲區域;步驟206,在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據單元。在該技術方案中,當中途退出執行的計算任務時,可以將所有已經計算的數據進行鏡像保存,從而避免了因不能保存計算數據造成的資源浪費,保證整個計算任務的執行效率。在上述技術方案中,優選地,所述步驟202還可以包括:檢測所述存儲單元中是否保存有與所述計算任務相關聯的數據鏡像;以及在檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述相關聯的數據鏡像導入到所述託管空間,根據導入的數據鏡像繼續執行所述計算任務。在該技術方案中,在存儲單元保存了計算任務的情況下,可以將保存的鏡像數據導入託管空間,接著保存的數據繼續執行計算。這樣,就算中途退出,也不會影響整體計算任務的執行效率。在上述技術方案中,優選地,所述步驟202還可以包括:在未檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述計算任務分割為多個按順序執行的任務節點。在該技術方案中,如果檢測到計算任務為全新的計算任務,則將計算任務分割為多個順序執行的節點步驟,這樣,可以方便預測計算任務的資源佔用情況,根據預測情況為其分配託管內存,並在託管內存中為其標記出初始索引及末尾索引,從而防止標記的內存區域被其他應用佔用,並根據索引將臨時計算數據存放到空閒內存中的指定區域。在上述技術方案中,優選地,所述步驟206具體包括:預設將所述託管內存中的所述臨時計算數據自動保存至所述存儲單元的時間周期;以及在所述計算任務執行完畢時,自動清除所述存儲單元中已經保存的數據鏡像。在該技術方案中,可以預設自動保存的時間,比如用戶設置自動保存的時間為一分鐘,則每隔一分鐘,空閒內存中的數據就會被保存到存儲單元。同時用戶還可以預設保存的數據鏡像個數,即存儲單元中可以保存最近幾次的數據鏡像文件,比如用戶設置為2,則保存上一次和此次的數據鏡像文件,也就是之前的數據鏡像文件會被最新保存的數據不斷的覆蓋掉,這樣既節省了存儲空間,又避免了因只保存最近一次數據可能造成的數據丟失,使得即使在最近一次保存數據因某種原因出現問題時,仍舊可以通過上一次保存的數據繼續進行計算。在計算結束時,清除保存的數據鏡像,節省了存儲空間,避免佔用過多的存儲資源。在上述技術方案中,優選地,所述託管內存中保存有所述空閒內存的索引地址,根據所述索引地址將所述臨時計算數據存放至所述空閒內存。在該技術方案中,根據計算任務的初始索引和末尾索引來判斷計算任務佔用的空間,並為其在物理內存中保留空間,防止其他應用佔用空間。圖3示出了根據本發明的實施例的任務執行方法的具體流程圖。如圖3所示,本發明的實施例的任務執行方法的具體流程如下:步驟302,終端系統發出執行計算任務指令。步驟304,為計算任務初始化內存託管環境。步驟306,判斷存儲介質中是否有已保存的託管環境數據鏡像。如果判斷結果為是,進入步驟308 ;如果判斷結果為否,進入步驟310。其中,存儲介質可以是硬碟、快閃記憶體等存儲介質。步驟308,將存儲介質保存的託管環境數據鏡像導入到計算任務的託管環境中。步驟310,將計算任務分割為多個順序執行的節點步驟。這樣,可以方便預測計算任務的資源佔用情況,根據預測情況為其分配託管內存,並在託管內存中為其標記出初始索引及末尾索引,從而防止標記的內存區域被其他應用佔用,並根據索引將臨時計算數據存放到空閒內存中的指定區域。步驟312,開始執行計算。步驟314,每隔一定時間周期保存一次最新的託管環境的數據鏡像到存儲介質上。用戶可以預設自動保存的時間,比如用戶設置自動保存的時間為一分鐘,則每隔一分鐘,空閒內存中的數據就會被保存到存儲單元。同時用戶還可以預設保存的數據鏡像個數,即存儲單元中可以保存最近幾次的數據鏡像文件,比如用戶設置為2,則保存上一次和此次的數據鏡像文件,也就是之前的數據鏡像文件會被最新保存的數據不斷的覆蓋掉,這樣既節省了存儲空間,又避免了因只保存最近一次數據可能造成的數據丟失,使得即使在最近一次保存數據因某種原因出現問題時,仍舊可以通過上一次保存的數據繼續進行計算。在計算結束時,清除保存的數據鏡像,節省了存儲空間,避免佔用過多的存儲資源。步驟316,判斷是否收到中途退出命令。步驟318,當收到中途退出命令時,保存最新鏡像數據到存儲介質,並退出計算任務。步驟320,在任務無中途退出情況下,繼續執行,直到執行完畢。步驟322,任務執行完畢後清除保存的鏡像數據。從而節省存儲空間,避免佔用過多的存儲資源。圖4示出了根據本發明的實施例的終端的數據存儲結構示意圖。如圖4所示,在終端的物理內存400中為計算任務分配了一個託管環境402(對應於圖1所示實施例中的託管內存),在接收到計算任務指令時,為計算任務初始化內存託管環境402,同時判斷存儲介質406 (對應於圖1中的存儲單元106)中是否存在保存的託管環境數據鏡像。如果存在,則將存儲介質406保存的託管環境數據鏡像導入到計算任務的託管環境402中,開始執行計算。如果不存在,則將計算任務分割為多個順序執行的節點步驟,這樣,可以方便預測計算任務的資源佔用情況,根據預測情況為其分配託管環境402,並在託管環境402中為其標記出初始索引及末尾索引,從而防止標記的內存區域被其他應用佔用,並根據索引將臨時計算數據存放到物理內存400中的空閒內存404中。當收到中途退出命令時,將空閒內存404中的最新數據鏡像保存到存儲介質406,並退出計算任務。以上結合附圖詳細說明了本發明的技術方案,由於在相關技術中,在中途退出計算任務的情況下,不能保存所有的計算數據,從而造成了資源的浪費和整體計算成本的增力口。因此,本發明提供了一種終端和一種任務執行方法。通過本發明的技術方案,在中途退出計算任務的情況下,可以將所有的已計算數據進行保存,在恢復執行任務時,可以接著已保存的數據繼續執行計算,從而避免了計算資源的浪費,縮短了計算的整體周期,提高了執行效率。以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種終端,其特徵在於,包括: 分配單元,用於在接收到計算任務指令時,為計算任務分配一個託管內存; 數據處理單元,用於將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存分別是所述終端的物理內存中的指定存儲區域; 存儲單元,用於在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據。
2.根據權利要求1所述的終端,其特徵在於,還包括: 檢測單元,用於檢測所述存儲單元中是否保存有與所述計算任務相關聯的數據鏡像;數據導入單元,用於在檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述相關聯的數據鏡像導入到所述託管內存,根據導入的數據鏡像繼續執行所述計算任務。
3.根據權利要求2所述的終端,其特徵在於,還包括: 任務分割單元,用於在未檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述計算任務分割為多個按順序執行的任務節點。
4.根據權利要求1所述的終端,其特徵在於,還包括: 設置單元,用於預設將所述空閒內存中的所述臨時計算數據自動保存至所述存儲單元的時間周期;以及 數據清除單元,用於在所述計算任務執行完畢時,自動清除所述存儲單元中已經保存的數據鏡像。
5.根據權利要求1至4中`任一項所述的終端,其特徵在於,所述託管內存中保存有所述空閒內存的索引地址,所述數據處理單元根據所述索引地址將所述臨時計算數據存放至所述空閒內存。
6.—種任務執行方法,其特徵在於,包括: 步驟202,在接收到計算任務指令時,為計算任務分配一個託管內存; 步驟204,將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存分別是所述終端的物理內存中的指定存儲區域; 步驟206,在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據單元。
7.根據權利要求6所述的任務執行方法,其特徵在於,所述步驟202還包括: 檢測所述存儲單元中是否保存有與所述計算任務相關聯的數據鏡像;以及 在檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述相關聯的數據鏡像導入到所述託管內存,根據導入的數據鏡像繼續執行所述計算任務。
8.根據權利要求7所述的任務執行方法,其特徵在於,所述步驟202還包括: 在未檢測到所述存儲單元中保存有與所述計算任務相關聯的數據鏡像時,將所述計算任務分割為多個按順序執行的任務節點。
9.根據權利要求6所述的任務執行方法,其特徵在於,所述步驟206具體包括: 預設將所述空閒內存中的所述臨時計算數據自動保存至所述存儲單元的時間周期;以及 在所述計算任務執行完畢時,自動清除所述存儲單元中已經保存的數據鏡像。
10.根據權利要求6至9中任一項所述的任務執行方法,其特徵在於,所述託管內存中保存有所述空閒內存的 索引地址,根據所述索引地址將所述臨時計算數據存放至所述空閒內存。
全文摘要
本發明提出了一種終端,包括分配單元,用於在接收到計算任務指令時,為計算任務分配一個託管內存;數據處理單元,用於將在執行所述計算任務時產生的臨時計算數據存放於所述空閒內存,所述空閒內存和所述託管內存分別是所述終端的物理內存中的指定存儲區域;存儲單元,用於在檢測到有中斷指令到達時,鏡像保存所述空閒內存中的所述臨時計算數據。相應地,本發明還提出了一種任務執行方法。通過本發明的技術方案,在中途退出計算任務的情況下,可以將所有的已計算數據進行保存,在恢復執行任務時,可以接著已保存的數據繼續執行計算,從而避免了計算資源的浪費,縮短了計算的整體周期,提高了執行效率。
文檔編號G06F9/48GK103106110SQ20121045736
公開日2013年5月15日 申請日期2012年11月14日 優先權日2012年11月14日
發明者田睿, 張弛, 吳振宇 申請人:深圳中興網信科技有限公司