存儲(chǔ)器管理控制系統(tǒng)以及存儲(chǔ)器管理控制方法
【專利摘要】本發(fā)明公開了一種存儲(chǔ)器管理控制系統(tǒng)以及存儲(chǔ)器管理控制方法。公開了一種存儲(chǔ)器管理控制系統(tǒng)等,其能夠減少處理性能的劣化。存儲(chǔ)器管理控制系統(tǒng)1包括指令單元2。在由作業(yè)所參考的參考數(shù)據(jù)和存在于由存儲(chǔ)設(shè)備所收集的區(qū)域中的第一數(shù)據(jù)是相同的情況下,指令單元2發(fā)出第一指令以將第一數(shù)據(jù)寫入存儲(chǔ)設(shè)備,而在不是相同的情況下,指令單元2不發(fā)出第一指令。
【專利說明】存儲(chǔ)器管理控制系統(tǒng)以及存儲(chǔ)器管理控制方法
[0001]本申請(qǐng)基于并要求于2012年9月25日提交的日本專利申請(qǐng)N0.2012-211439的優(yōu)先權(quán)的權(quán)益,其全部公開內(nèi)容通過引用并入本文中。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及存儲(chǔ)器管理控制系統(tǒng)等。
【背景技術(shù)】
[0003]批處理是期望處理在預(yù)定定時(shí)開始并且此后對(duì)預(yù)定數(shù)據(jù)重復(fù)期望處理的處理。
[0004]分布式并行處理是用于通過使多個(gè)服務(wù)器(在下文中稱為計(jì)算機(jī)、計(jì)算處理設(shè)備、信息處理設(shè)備、計(jì)算處理系統(tǒng)、信息處理系統(tǒng)等)彼此協(xié)作來高速處理大量數(shù)據(jù)的方法。例如,一致性哈希(consistent hashing)是有效實(shí)現(xiàn)分布式并行處理的一個(gè)示例。
[0005]一致性哈希或使用分布式哈希表的方法是一種用于將數(shù)據(jù)分發(fā)到計(jì)算機(jī)所包括的多個(gè)計(jì)算處理節(jié)點(diǎn)(將在下文中被稱為“節(jié)點(diǎn)”的信息處理節(jié)點(diǎn))中的每一個(gè)的方法。例如,根據(jù)一致性哈希,通過實(shí)際上對(duì)每個(gè)節(jié)點(diǎn)分配在每個(gè)節(jié)點(diǎn)中配置數(shù)據(jù)時(shí)使用的哈希關(guān)鍵字(hash key)來將特定數(shù)據(jù)配置在分布式并行計(jì)算機(jī)的任何節(jié)點(diǎn)中。
[0006]同時(shí),在分布式并行計(jì)算機(jī)上進(jìn)行操作的多任務(wù)操作系統(tǒng)(將在下文中被稱為“OS”的操作系統(tǒng))具有每處理地在主存儲(chǔ)器設(shè)備的虛擬存儲(chǔ)器空間與物理存儲(chǔ)器空間之間相互轉(zhuǎn)換地址的功能、控制尋呼的功能、管理存儲(chǔ)器的功能(在下文中,被稱為“存儲(chǔ)器管理功能”)等。多任務(wù)OS通過使用OS內(nèi)核和處理器提供的存儲(chǔ)器管理單元(將在下文中被稱為“MMU”的存儲(chǔ)器管理單元)來實(shí)現(xiàn)存儲(chǔ)器管理功能。
[0007]存儲(chǔ)器管理功能管理從處理對(duì)主存儲(chǔ)器設(shè)備(在下文中,縮寫為“存儲(chǔ)器”)的訪問。借助于存儲(chǔ)器管理功能,程序員能夠在不考慮從處理對(duì)存儲(chǔ)器的訪問的目的地是物理存儲(chǔ)器空間還是虛擬存儲(chǔ)器空間的情況下創(chuàng)建程序。
[0008]同時(shí),垃圾收集(在下文中,被稱為“垃圾收集器”或“GC”)是用來防止存儲(chǔ)泄漏(memory leak)的機(jī)制或一種編程技術(shù)。GC顯著地降低了程序員釋放存儲(chǔ)器區(qū)域的時(shí)間和努力,并且降低了程序員對(duì)保留和釋放存儲(chǔ)器區(qū)域執(zhí)行系統(tǒng)調(diào)用的負(fù)載。
[0009]GC檢測(cè)處理保留的存儲(chǔ)器區(qū)域中的不必要的存儲(chǔ)器區(qū)域。然后,GC收集不必要的存儲(chǔ)器區(qū)域。因此,另一處理能夠使用GC收集的存儲(chǔ)器區(qū)域。結(jié)果,處理執(zhí)行用于保留存儲(chǔ)器區(qū)域的系統(tǒng)調(diào)用和用于釋放存儲(chǔ)器區(qū)域的系統(tǒng)調(diào)用的次數(shù)被減少。
[0010]標(biāo)記和掃描模型是實(shí)現(xiàn)GC的模型的一個(gè)示例。標(biāo)記和掃描模型包括標(biāo)記階段和掃描階段。
[0011 ] 在標(biāo)記階段中,不論處理等是否參考對(duì)象,GC都檢查存儲(chǔ)器區(qū)域中的每個(gè)對(duì)象。在處理等參考對(duì)象的情況下,GC標(biāo)記每個(gè)對(duì)象。GC將標(biāo)記結(jié)果存儲(chǔ)在預(yù)定存儲(chǔ)器區(qū)域中。
[0012]在掃描階段中,GC釋放分配給在標(biāo)記階段沒有標(biāo)記的每個(gè)對(duì)象(即,處理等不參考的對(duì)象)的存儲(chǔ)器區(qū)域。
[0013]因?yàn)槊總€(gè)處理彼此獨(dú)立地執(zhí)行,所以根據(jù)上面所提到的GC,在存儲(chǔ)器空間中零碎地生成處理等不參考的存儲(chǔ)器區(qū)域。在一些情況下,存儲(chǔ)器管理功能可以包括對(duì)在掃描階段之后零碎生成的存儲(chǔ)器區(qū)域進(jìn)行碎片整理的功能。
[0014]在諸如Java (在下文中,被稱為“Java (注冊(cè)商標(biāo))”)點(diǎn)網(wǎng)(dot net)(在下文中稱為Net”)等的編程語言的情況下,用于執(zhí)行存儲(chǔ)器管理功能的環(huán)境,諸如Java虛擬機(jī)(在下文中稱為“JVM”)、.Net框架運(yùn)行時(shí)等具有執(zhí)行GC的功能。例如,JVM中的GC功能監(jiān)視堆存儲(chǔ)器(heap memory)0基于上面所提到的標(biāo)記和掃描模型,GC從分配給JVM的堆存儲(chǔ)器當(dāng)中收集處理等不參考的存儲(chǔ)器區(qū)域。此后,JVM中的存儲(chǔ)器管理功能對(duì)碎片數(shù)據(jù)進(jìn)行碎片整理。
[0015]在上面所提到的描述中,用來收集存儲(chǔ)器區(qū)域的處理并不總是用來將分配給JVM的存儲(chǔ)器區(qū)域的管理返回給OS的處理。例如,在使用malloc函數(shù)來分配存儲(chǔ)器區(qū)域并且使用free函數(shù)來釋放所分配的存儲(chǔ)器區(qū)域的存儲(chǔ)器管理模型中,處理釋放的存儲(chǔ)器區(qū)域的管理不被返回給OS。根據(jù)存儲(chǔ)器管理模型,處理通過使用通過free函數(shù)釋放的存儲(chǔ)器區(qū)域,根據(jù)malloc函數(shù)來分配存儲(chǔ)器區(qū)域。
[0016]接下來,將描述基于分布式并行處理來實(shí)現(xiàn)批處理的方法。
[0017]批處理執(zhí)行庫(batch executing base)具有關(guān)于在事先執(zhí)行批處理器等時(shí)的日期和時(shí)間的信息。批處理執(zhí)行庫根據(jù)控制信息來在預(yù)定日期和時(shí)間開始批處理。作為批處理執(zhí)行庫如何執(zhí)行批處理的方法,除上面所提到的方法之外,存在客戶端指令執(zhí)行批處理的方法。
[0018]將參考圖15來描述由分布式批處理執(zhí)行庫30所執(zhí)行的處理。圖15是示出與本發(fā)明有關(guān)的分布式批處理執(zhí)行庫30的系統(tǒng)配置的框圖。
[0019]分布式并行系統(tǒng)32包括分布式批處理執(zhí)行庫30和分布式數(shù)據(jù)存儲(chǔ)31。分布式批處理執(zhí)行庫30具有處理至少一個(gè)作業(yè)的功能。分布式批處理執(zhí)行庫30并行地或者偽并行地處理多個(gè)作業(yè)。分布式批處理執(zhí)行庫30還能夠由通過通信網(wǎng)絡(luò)(在下文中,縮寫為“網(wǎng)絡(luò)”)彼此連接的多個(gè)計(jì)算機(jī)來實(shí)現(xiàn)。
[0020]每個(gè)節(jié)點(diǎn)的批處理執(zhí)行管理機(jī)制單元34具有下述功能,其自己的節(jié)點(diǎn)通過該功能來處理作業(yè)(在下文中稱為“批處理執(zhí)行功能”)。在分布式并行系統(tǒng)32中,每個(gè)節(jié)點(diǎn)的批處理執(zhí)行管理機(jī)制單元34共享關(guān)于配置的信息和關(guān)于計(jì)算機(jī)資源的信息。批處理執(zhí)行管理機(jī)制單元34控制整個(gè)功能,以通過每個(gè)節(jié)點(diǎn)彼此通信配置信息等來處理分批。
[0021]通過與分布式批處理執(zhí)行庫30的批處理執(zhí)行管理機(jī)制單元34進(jìn)行通信,作業(yè)控制單元35在執(zhí)行該作業(yè)的開始時(shí)間與結(jié)束時(shí)間之間控制作業(yè)。作業(yè)控制單元35參考作業(yè)儲(chǔ)存庫38來控制作業(yè)。作業(yè)儲(chǔ)存庫38能夠使關(guān)于執(zhí)行作業(yè)的控制的信息、關(guān)于執(zhí)行作業(yè)的歷史的信息以及關(guān)于執(zhí)行作業(yè)的狀態(tài)的信息相關(guān)聯(lián),并且存儲(chǔ)所關(guān)聯(lián)的信息。
[0022]批處理應(yīng)用包括對(duì)至少一個(gè)作業(yè)的定義以及在作業(yè)中執(zhí)行的批處理程序。對(duì)作業(yè)的定義包括對(duì)批處理的內(nèi)容的定義和對(duì)作為處理對(duì)象的數(shù)據(jù)的定義。此外,批處理程序包括用于在分布式并行系統(tǒng)32中配置作為處理對(duì)象的數(shù)據(jù)的方法。用于配置數(shù)據(jù)的方法定義了減少在在分布式數(shù)據(jù)存儲(chǔ)31中交換數(shù)據(jù)時(shí)所引起的開銷的數(shù)據(jù)的配置。作業(yè)定義可以不總是包括關(guān)于用于配置數(shù)據(jù)的方法的信息和批處理程序。
[0023]例如,對(duì)作業(yè)的定義包括對(duì)指示作業(yè)的處理的一部分的步驟(Step )的定義、執(zhí)行步驟的順序、作為作業(yè)的處理對(duì)象的數(shù)據(jù)、指示數(shù)據(jù)的存儲(chǔ)區(qū)域的路徑名、關(guān)于數(shù)據(jù)的格式的信息、關(guān)于數(shù)據(jù)的屬性的信息等。
[0024]關(guān)于作業(yè)的定義可以包括每個(gè)步驟的預(yù)處理、后處理等。對(duì)上面所提到的步驟的定義可以包括關(guān)于對(duì)分布式批處理執(zhí)行功能的策略(處理方法)以及對(duì)在分布式并行處理之后執(zhí)行的同步處理的策略(處理方法)的信息。對(duì)作業(yè)的定義可以不總是包括上面所提到的所有項(xiàng)。
[0025]批處理執(zhí)行管理機(jī)制單元34通過管理接口 36來對(duì)多個(gè)分布式批處理執(zhí)行庫30配置批處理應(yīng)用。應(yīng)用管理單元33通過使用應(yīng)用儲(chǔ)存庫37來管理批處理執(zhí)行管理機(jī)制單元34配置的批處理應(yīng)用。應(yīng)用儲(chǔ)存庫37具有批處理應(yīng)用和關(guān)于該批處理應(yīng)用的管理信息(即,關(guān)于配置應(yīng)用的人員的記錄、配置應(yīng)用的時(shí)間、選擇的批處理應(yīng)用、用于配置與彼此相關(guān)聯(lián)并存儲(chǔ)的應(yīng)用的設(shè)定的分類)。在應(yīng)用儲(chǔ)存庫37中可以存在多個(gè)批處理應(yīng)用。
[0026]此外,應(yīng)用管理單元33可以包括用來分析批處理應(yīng)用的功能和用來檢查有效性的功能。
[0027]作業(yè)是能夠在分布式批處理執(zhí)行庫30中執(zhí)行批處理應(yīng)用的批處理程序。作業(yè)可以在一個(gè)步驟中包括多個(gè)處理。
[0028]接下來,將描述用于實(shí)現(xiàn)分布式數(shù)據(jù)存儲(chǔ)的方法。
[0029]作業(yè)中的步驟定義通過分布式數(shù)據(jù)存儲(chǔ)31的輸入/輸出接口對(duì)分布式數(shù)據(jù)存儲(chǔ)31的數(shù)據(jù)執(zhí)行的讀取處理、寫入處理、更新處理、刪除處理等。
[0030]分布式數(shù)據(jù)存儲(chǔ)31包括在通過網(wǎng)絡(luò)彼此連接的多個(gè)計(jì)算機(jī)中的至少一個(gè)數(shù)據(jù)存儲(chǔ)。分布式數(shù)據(jù)存儲(chǔ)31的數(shù)據(jù)與元數(shù)據(jù)相關(guān)聯(lián)。例如,元數(shù)據(jù)包括關(guān)于訪問數(shù)據(jù)所需要的關(guān)鍵字的信息、關(guān)于數(shù)據(jù)被存儲(chǔ)的存儲(chǔ)位置的信息、指示使用數(shù)據(jù)的情形的訪問信息等。分布式數(shù)據(jù)存儲(chǔ)31所包括的至少一個(gè)節(jié)點(diǎn)共享元數(shù)據(jù)。結(jié)果,客戶端能夠在不考慮存儲(chǔ)數(shù)據(jù)的節(jié)點(diǎn)的情況下,通過輸入/輸出接口來訪問本地節(jié)點(diǎn)或遠(yuǎn)程節(jié)點(diǎn)所具有的數(shù)據(jù)。
[0031]數(shù)據(jù)管理單元39管理與本地節(jié)點(diǎn)的分布式數(shù)據(jù)存儲(chǔ)31所存儲(chǔ)的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)。將參考圖16在下文中描述其中數(shù)據(jù)管理單元39管理元數(shù)據(jù)的處理。圖16是示出與本發(fā)明有關(guān)的數(shù)據(jù)管理單元39所管理的元數(shù)據(jù)的示例的概念圖。元數(shù)據(jù)使元數(shù)據(jù)指示的數(shù)據(jù)、關(guān)于該數(shù)據(jù)的配置的信息以及在該數(shù)據(jù)被訪問時(shí)所參考的訪問信息相關(guān)聯(lián)。
[0032]關(guān)于數(shù)據(jù)的配置的信息包括關(guān)于具有原始數(shù)據(jù)的主機(jī)節(jié)點(diǎn)和具有原始數(shù)據(jù)的副本的副本節(jié)點(diǎn)的信息。例如,訪問信息包括關(guān)于指示優(yōu)先程度的“優(yōu)先級(jí)”、指示參考該數(shù)據(jù)的次數(shù)的“計(jì)數(shù)”以及指示用于處理該數(shù)據(jù)的時(shí)間長度的“時(shí)間”的信息。例如,在圖16中,節(jié)點(diǎn)“2”具有“Y”指示的數(shù)據(jù),并且節(jié)點(diǎn)“I”具有該數(shù)據(jù)的副本。數(shù)據(jù)的優(yōu)先級(jí)是“中”(SP,中間),并且數(shù)據(jù)被參考一百次,并且用于處理該數(shù)據(jù)的時(shí)間是“長”(g卩,長的)。
[0033]數(shù)據(jù)管理單元39與分布式并行系統(tǒng)中的另一節(jié)點(diǎn)(或者,被稱為“遠(yuǎn)程節(jié)點(diǎn)”)的數(shù)據(jù)管理單元39進(jìn)行協(xié)作(互鎖)。為此,客戶端能夠在不考慮數(shù)據(jù)所存在于的節(jié)點(diǎn)的情況下,通過分布式數(shù)據(jù)存儲(chǔ)的輸入/輸出接口來訪問數(shù)據(jù)。例如,Java虛擬機(jī)(在下文中,被稱為“ JVM”)具有與上面所提到的數(shù)據(jù)管理單元39有關(guān)的功能。
[0034]將對(duì)分布式數(shù)據(jù)存儲(chǔ)31進(jìn)行描述。分布式數(shù)據(jù)存儲(chǔ)31存儲(chǔ)在批處理中所處理的數(shù)據(jù)。例如,分布式數(shù)據(jù)存儲(chǔ)31包括自身節(jié)點(diǎn)的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)等的計(jì)算機(jī)資源、文件系統(tǒng)、數(shù)據(jù)庫和數(shù)據(jù)管理軟件、以及諸如硬盤和存儲(chǔ)器(在下文中被稱為“主存儲(chǔ)設(shè)備”或“主存儲(chǔ)器”)的另一節(jié)點(diǎn)的計(jì)算機(jī)資源??蛻舳四軌蛟诓桓鶕?jù)數(shù)據(jù)被存儲(chǔ)在其的存儲(chǔ)位置的情況下來處理數(shù)據(jù)。在下文中,假定分布式數(shù)據(jù)存儲(chǔ)31還包括在一個(gè)計(jì)算處理系統(tǒng)中被實(shí)現(xiàn)的數(shù)據(jù)存儲(chǔ)。
[0035]存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)是其數(shù)據(jù)的存儲(chǔ)位置是存儲(chǔ)器等的數(shù)據(jù)存儲(chǔ)。此外,磁盤型數(shù)據(jù)存儲(chǔ)是其數(shù)據(jù)的存儲(chǔ)位置是硬盤等的數(shù)據(jù)存儲(chǔ)。存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)的處理速度高于磁盤型數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)的處理速度。
[0036]此外,在分布式數(shù)據(jù)存儲(chǔ)31中,多個(gè)計(jì)算機(jī)的數(shù)據(jù)存儲(chǔ)通過網(wǎng)絡(luò)彼此進(jìn)行協(xié)作。因此,客戶端能夠?qū)⒎植际綌?shù)據(jù)存儲(chǔ)31作為單個(gè)數(shù)據(jù)存儲(chǔ)來處理。
[0037]專利文獻(xiàn)I公開的系統(tǒng)基于作業(yè)特性和輸入數(shù)據(jù)的數(shù)目來估計(jì)對(duì)于執(zhí)行作業(yè)所消耗的時(shí)間,并且估計(jì)在所估計(jì)的時(shí)間范圍內(nèi)引起的每個(gè)服務(wù)器的負(fù)載。該系統(tǒng)基于所估計(jì)的負(fù)載的狀態(tài)來選擇執(zhí)行作業(yè)的服務(wù)器。通過使每個(gè)服務(wù)器的負(fù)載相等,系統(tǒng)減少了處理作業(yè)所需要的時(shí)間。
[0038]根據(jù)在專利文獻(xiàn)2中所公開的GC方法,根據(jù)指示器所指定的數(shù)據(jù)的狀態(tài)來收集循環(huán)中不必要的存儲(chǔ)器區(qū)域。
[0039]在GC中,專利文獻(xiàn)3公開的裝置創(chuàng)建指示使用存儲(chǔ)器區(qū)域的狀態(tài)的配置文件(profile),并且基于該配置文件來估計(jì)存儲(chǔ)器區(qū)域變短的可能性。
[0040][現(xiàn)有技術(shù)文獻(xiàn)]
[0041][專利文獻(xiàn)]
[0042][專利文獻(xiàn)I]日本專利申請(qǐng)?zhí)亻_N0.2007-249491
[0043][專利文獻(xiàn)2]日本專利申請(qǐng)?zhí)亻_N0.1992 (H04)-352254
[0044][專利文獻(xiàn)3]日本專利申請(qǐng)?zhí)亻_N0.2007-157131
[0045][本發(fā)明的簡要說明]
[0046][本發(fā)明要解決的技術(shù)問題]
[0047]在GC判定特定處理期望參考存儲(chǔ)器區(qū)域但實(shí)際上不參考該存儲(chǔ)器區(qū)域的情況下,GC通過將存在于存儲(chǔ)器區(qū)域中的數(shù)據(jù)存儲(chǔ)在磁盤中來收集存儲(chǔ)器區(qū)域。因此,在處理參考存在于存儲(chǔ)器區(qū)域中的數(shù)據(jù)的情況下,存儲(chǔ)器管理功能再次從磁盤讀取該數(shù)據(jù),并切將所述數(shù)據(jù)寫入存儲(chǔ)器區(qū)域中。即,處理與GC之間的爭用發(fā)生,并且隨后系統(tǒng)的處理性能劣化。
[0048]在下文中將參考圖17和圖18描述由于在處理與GC之間發(fā)生的爭用而導(dǎo)致的性能劣化的示例。圖17是示出與本發(fā)明有關(guān)的存儲(chǔ)在分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)的示例的概念圖。圖18是示出與本發(fā)明有關(guān)的對(duì)作業(yè)的定義的示例的概念圖。
[0049]分布式數(shù)據(jù)存儲(chǔ)具有處理的數(shù)據(jù)(在下文中,被稱為“處理數(shù)據(jù)”)。在圖17中,處理數(shù)據(jù)是A、B、C、V、W、X、Y以及Z。每個(gè)節(jié)點(diǎn)都通過輸入/輸出接口來存儲(chǔ)處理數(shù)據(jù)。
[0050]此外,分布式系統(tǒng)能夠使得數(shù)據(jù)被冗余地存儲(chǔ)在多個(gè)節(jié)點(diǎn)中。在這種情況下,即使在自身節(jié)點(diǎn)中發(fā)生故障的情況下,分布式系統(tǒng)也讀取存在于另一節(jié)點(diǎn)中的冗余數(shù)據(jù),并且因此恢復(fù)自身節(jié)點(diǎn)中的數(shù)據(jù)。在該示例中,分布式系統(tǒng)對(duì)每一個(gè)原始數(shù)據(jù)存儲(chǔ)一個(gè)副本數(shù)據(jù)。
[0051]圖17示出數(shù)據(jù)(A)是處理數(shù)據(jù)A的副本數(shù)據(jù)。S卩,節(jié)點(diǎn)-3中的磁盤型數(shù)據(jù)存儲(chǔ)對(duì)處理數(shù)據(jù)A的副本數(shù)據(jù)和處理數(shù)據(jù)B的副本數(shù)據(jù)進(jìn)行存儲(chǔ)。在以下描述中,在一些情況下,原始數(shù)據(jù)(例如,數(shù)據(jù)集合A)可以被表示為主機(jī)數(shù)據(jù)(master data),并且作為原始數(shù)據(jù)(例如,數(shù)據(jù)集合(A))的副本的數(shù)據(jù)可以被表示為副本數(shù)據(jù)(copy data)。
[0052]假定數(shù)據(jù)集合A、B和C是批處理的對(duì)象數(shù)據(jù),并且任何數(shù)據(jù)集合彼此獨(dú)立。
[0053]例如,數(shù)據(jù)集合A、B和C分別是存儲(chǔ)區(qū)域A、存儲(chǔ)區(qū)域B以及存儲(chǔ)區(qū)域C中的商品的交易數(shù)據(jù)。在以下描述中,假定數(shù)據(jù)集合A、B和C取決于數(shù)據(jù)集合X、Y和Z。例如,假定數(shù)據(jù)集合A取決于數(shù)據(jù)集合X,并且數(shù)據(jù)集合B取決于數(shù)據(jù)集合X和Y,并且數(shù)據(jù)集合C取決于數(shù)據(jù)集合X、Y和Z。
[0054]假定數(shù)據(jù)集合A、B和C的數(shù)據(jù)尺寸足夠大于能夠由圖17中的節(jié)點(diǎn)-1至節(jié)點(diǎn)-3的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)確保的總存儲(chǔ)器尺寸。另一方面,假定數(shù)據(jù)集合A、B和C的數(shù)據(jù)尺寸足夠小于磁盤型數(shù)據(jù)存儲(chǔ)能夠確保的總磁盤容量。
[0055]假定數(shù)據(jù)集合X、Y和Z中的任何一個(gè)都不取決于數(shù)據(jù)集合X、Y和Z中的其它數(shù)據(jù)集合。例如,數(shù)據(jù)集合X、Y和Z分別是關(guān)于商品的主機(jī)數(shù)據(jù)的數(shù)據(jù)集合。
[0056]此外,假定數(shù)據(jù)集合X、Y、Z、V和W的總數(shù)據(jù)尺寸大于能夠由節(jié)點(diǎn)-1至節(jié)點(diǎn)-3的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)所保留的總存儲(chǔ)器尺寸,并且所有數(shù)據(jù)的一部分不能夠被配置在存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中。此外,根據(jù)示例性實(shí)施例,假定數(shù)據(jù)集合X和Y的總數(shù)據(jù)尺寸對(duì)應(yīng)于每個(gè)節(jié)點(diǎn)的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)的上限尺寸。
[0057]參考圖17,存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)(存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)是在圖17中的“存儲(chǔ)器”的列中被描述的數(shù)據(jù))包括數(shù)據(jù)集合X和Y。此外,磁盤型數(shù)據(jù)存儲(chǔ)(磁盤型數(shù)據(jù)存儲(chǔ)是在圖17中的“磁盤”的列中被描述的數(shù)據(jù))包括數(shù)據(jù)集合Z、V和W。
[0058]作業(yè)控制劃分被包括在作業(yè)I中的步驟I (步驟I相當(dāng)于在圖18中示出的步驟1-1、步驟1-2以及步驟1-3的組合)的處理,并且基于圖18中所示出的作業(yè)I的作業(yè)定義分別將所劃分的處理分配給節(jié)點(diǎn)-1、節(jié)點(diǎn)-2以及節(jié)點(diǎn)_3。通過參考關(guān)于分布式數(shù)據(jù)存儲(chǔ)具有的數(shù)據(jù)的配置的信息,作業(yè)控制分配節(jié)點(diǎn),所述節(jié)點(diǎn)盡可能具有與處理對(duì)象相對(duì)應(yīng)的數(shù)據(jù)、與處理對(duì)象相對(duì)應(yīng)的數(shù)據(jù)的處理。
[0059]參考圖17,例如,處理數(shù)據(jù)集合(在下文中,被稱為“數(shù)據(jù)集合”)A的主機(jī)數(shù)據(jù)存在于節(jié)點(diǎn)-2中。結(jié)果,節(jié)點(diǎn)-2啟動(dòng)步驟1-2的處理。因?yàn)楣?jié)點(diǎn)-1具有數(shù)據(jù)集合B的主機(jī)數(shù)據(jù),所以節(jié)點(diǎn)-1處理步驟1-1。節(jié)點(diǎn)-2具有數(shù)據(jù)集合C的主機(jī)數(shù)據(jù),并且節(jié)點(diǎn)-1具有數(shù)據(jù)集合C的副本數(shù)據(jù)。然而,節(jié)點(diǎn)-1處理步驟1-1,而節(jié)點(diǎn)-2處理步驟1-2。為了實(shí)現(xiàn)負(fù)載分布,節(jié)點(diǎn)-3處理剩余步驟1-3。
[0060]然而,因?yàn)楣?jié)點(diǎn)-3在分布式數(shù)據(jù)存儲(chǔ)中不具有數(shù)據(jù)集合C,所以節(jié)點(diǎn)-3通過網(wǎng)絡(luò)從具有主機(jī)數(shù)據(jù)的節(jié)點(diǎn)-2副本數(shù)據(jù)集合C。
[0061]在步驟1-2中,節(jié)點(diǎn)-2從磁盤型數(shù)據(jù)存儲(chǔ)讀取數(shù)據(jù)集合A。接下來,因?yàn)閿?shù)據(jù)集合A取決于數(shù)據(jù)集合X,所以節(jié)點(diǎn)-2組合所讀取到的數(shù)據(jù)集合A以及被存儲(chǔ)在節(jié)點(diǎn)-2的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)集合X,并且處理經(jīng)組合的數(shù)據(jù)。
[0062]在步驟1-1中,節(jié)點(diǎn)-1從節(jié)點(diǎn)-1的磁盤型數(shù)據(jù)存儲(chǔ)讀取數(shù)據(jù)集合B。接下來,因?yàn)閿?shù)據(jù)集合B取決于數(shù)據(jù)集合X和Y,所以節(jié)點(diǎn)-1組合所讀取到的數(shù)據(jù)集合A以及被存儲(chǔ)在節(jié)點(diǎn)-1的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)集合X和Y,并且在步驟1-1中處理經(jīng)組合的數(shù)據(jù)。然而,因?yàn)楣?jié)點(diǎn)-1的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)不具有數(shù)據(jù)集合Y,所以節(jié)點(diǎn)-1通過網(wǎng)絡(luò)參考節(jié)點(diǎn)-3具有的數(shù)據(jù)集合Y。
[0063]在步驟1-3中,節(jié)點(diǎn)-3從節(jié)點(diǎn)-3的磁盤型數(shù)據(jù)存儲(chǔ)讀取數(shù)據(jù)集合C。接下來,因?yàn)閿?shù)據(jù)集合C取決于數(shù)據(jù)集合X、Y和Z,所以節(jié)點(diǎn)-3組合所讀取到的數(shù)據(jù)集合A以及被存儲(chǔ)在節(jié)點(diǎn)-3的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)集合X、Y和Z,并且在步驟1-3中處理經(jīng)組合的數(shù)據(jù)。然而,節(jié)點(diǎn)-3的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)不具有數(shù)據(jù)集合Z。
[0064]因此,每當(dāng)對(duì)在數(shù)據(jù)集合Z中包括的數(shù)據(jù)的訪問被生成時(shí),在步驟1-3中節(jié)點(diǎn)-3從節(jié)點(diǎn)-3的磁盤型數(shù)據(jù)存儲(chǔ)讀取數(shù)據(jù)。因此,在步驟1-3中節(jié)點(diǎn)-3的處理性能劣化。結(jié)果,處理作業(yè)I的性能也劣化。
[0065]而且,節(jié)點(diǎn)-3不能夠?qū)?shù)據(jù)集合Z的一部分存儲(chǔ)在存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中。此夕卜,節(jié)點(diǎn)-3具有在存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)集合X和Y。因此,節(jié)點(diǎn)-3的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)不具有存儲(chǔ)數(shù)據(jù)集合Z的存儲(chǔ)器區(qū)域。結(jié)果,節(jié)點(diǎn)-3將數(shù)據(jù)集合Z存儲(chǔ)在具有能夠存儲(chǔ)數(shù)據(jù)集合Z的存儲(chǔ)器區(qū)域的節(jié)點(diǎn)-1的存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中。
[0066]數(shù)據(jù)管理單元清除在數(shù)據(jù)集合Y或Z的數(shù)據(jù)之中具有最舊參考時(shí)間的數(shù)據(jù)并將所述數(shù)據(jù)存儲(chǔ)在磁盤型數(shù)據(jù)存儲(chǔ)中。然而,在某些情況下處理數(shù)據(jù)的節(jié)點(diǎn)可以讀取數(shù)據(jù)管理單元清除的數(shù)據(jù)。該處理分別需要去往/來自磁盤的附加的輸入/輸出。因此,步驟1-3和作業(yè)I中的處理性能劣化。
[0067]在上面所提到的描述中,每個(gè)節(jié)點(diǎn)都與作為用來實(shí)現(xiàn)分布式數(shù)據(jù)存儲(chǔ)的方法的一個(gè)哈希鍵相關(guān)聯(lián)。然而,多個(gè)節(jié)點(diǎn)可以基于一致性哈希通過分布式哈希表在某些情況下共享一個(gè)哈希鍵。
[0068]因此,本發(fā)明的主要目的是提供減少處理性能的劣化的存儲(chǔ)器管理系統(tǒng)等。
【發(fā)明內(nèi)容】
[0069]為了實(shí)現(xiàn)上面提到的目的,根據(jù)本發(fā)明的存儲(chǔ)器管理控制系統(tǒng)通過包括以下配置來表征。
[0070]也就是說,根據(jù)本發(fā)明的存儲(chǔ)器管理控制系統(tǒng)通過包括以下各項(xiàng)來表征:
[0071 ] 指令單元,所述指令單元進(jìn)行是否在作業(yè)參考的參考數(shù)據(jù)和第一數(shù)據(jù)是相同的情況下發(fā)出第一指令或者在不是相同的情況下不發(fā)出所述第一指令的執(zhí)行判定,所述第一指令是用于將存在于存儲(chǔ)設(shè)備中的收集的區(qū)域中的第一數(shù)據(jù)寫入到所述存儲(chǔ)設(shè)備中的指令。
[0072]作為本發(fā)明的另一方面,根據(jù)本發(fā)明的存儲(chǔ)器管理控制方法特征在于:
[0073]執(zhí)行是否在作業(yè)參考的參考數(shù)據(jù)和第一數(shù)據(jù)是相同的情況下發(fā)出第一指令或者在不是相同的情況下不發(fā)出所述第一指令的執(zhí)行判定,所述第一指令是用于將存在于存儲(chǔ)設(shè)備中的收集的區(qū)域中的第一數(shù)據(jù)寫入到所述存儲(chǔ)設(shè)備中的指令。
[0074]此外,所述目的還可以通過包括存儲(chǔ)器管理控制程序的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)來實(shí)現(xiàn)。
【專利附圖】
【附圖說明】
[0075]當(dāng)參考附圖時(shí)本發(fā)明的示例性特征和優(yōu)點(diǎn)從以下具體描述中將變得顯而易見,在附圖中:
[0076]圖1是示出根據(jù)本發(fā)明的第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)的配置的框圖;
[0077]圖2是示出根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)中的處理的流程的流程圖;
[0078]圖3是示出在第一示例性實(shí)施例中指定參考數(shù)據(jù)的源數(shù)據(jù)的示例的概念圖;
[0079]圖4A是示出指定第一示例性實(shí)施例中的參考數(shù)據(jù)的源數(shù)據(jù)的示例的概念圖;
[0080]圖4B是示出指定第一示例性實(shí)施例中的參考數(shù)據(jù)的源數(shù)據(jù)的示例的概念圖;
[0081]圖5是示出根據(jù)本發(fā)明的第二示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)的配置的框圖;
[0082]圖6是示出根據(jù)第二示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)中的處理的流程的流程圖;
[0083]圖7是示出根據(jù)第二示例性實(shí)施例的存儲(chǔ)單元中的數(shù)據(jù)的示例的概念圖;
[0084]圖8是示出根據(jù)第二示例性實(shí)施例的存儲(chǔ)單元中的作業(yè)執(zhí)行歷史的示例的概念圖;
[0085]圖9是示出根據(jù)本發(fā)明的第三示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)的配置的框圖;
[0086]圖10是示出根據(jù)第三示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)中的處理的流程的流程圖;
[0087]圖11是示出根據(jù)本發(fā)明的第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)的配置的框圖;
[0088]圖12是示出根據(jù)第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)中的處理的流程的流程圖;
[0089]圖13是示出根據(jù)第四示例性實(shí)施例的管理單元中的處理的概念圖;
[0090]圖14是示出根據(jù)本發(fā)明的每個(gè)示例性實(shí)施例的能夠?qū)崿F(xiàn)存儲(chǔ)器管理控制系統(tǒng)的計(jì)算處理設(shè)備的硬件配置的示意框圖;
[0091]圖15是示出與本發(fā)明有關(guān)的分布式批處理執(zhí)行庫的系統(tǒng)配置的框圖;
[0092]圖16是示出通過與本發(fā)明有關(guān)的數(shù)據(jù)管理單元所管理的元數(shù)據(jù)的示例的概念圖;
[0093]圖17是示出被存儲(chǔ)在與本發(fā)明有關(guān)的分布式數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)的示例的概念圖;以及
[0094]圖18是示出對(duì)與本發(fā)明有關(guān)的作業(yè)的定義的示例的概念圖。
【具體實(shí)施方式】
[0095]接下來,將參考附圖詳細(xì)地描述用于執(zhí)行本發(fā)明的示例性實(shí)施例。
[0096]<第一示例性實(shí)施例>
[0097]將參考圖1和圖2詳細(xì)地描述根據(jù)本發(fā)明的第一示例性實(shí)施例的控制系統(tǒng)(在下文中,還被稱為“存儲(chǔ)器管理控制系統(tǒng)”)的配置以及由存儲(chǔ)器管理控制系統(tǒng)I所執(zhí)行的處理。圖1是示出根據(jù)本發(fā)明的第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)I的配置的框圖。圖2是示出根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)I中的處理的流程的流程圖。
[0098]參考圖1,根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)I包括發(fā)出指令以將正對(duì)應(yīng)于處理對(duì)象的數(shù)據(jù)寫入存儲(chǔ)器中的指令單元2。計(jì)算處理系統(tǒng)(信息處理系統(tǒng))6包括存儲(chǔ)器管理控制系統(tǒng)1、垃圾收集器3以及存儲(chǔ)器4 (存儲(chǔ)設(shè)備、主存儲(chǔ)器或存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ))。
[0099]如在【背景技術(shù)】中所描述的,垃圾收集器3基于諸如標(biāo)記和掃描模型等的處理方法來確定被分配給處理在存儲(chǔ)器4中不參考的對(duì)象的存儲(chǔ)器區(qū)域。接下來,存儲(chǔ)器管理單元5收集(清除、收集垃圾、垃圾收集以及GC)垃圾收集器3已確定的存儲(chǔ)器區(qū)域。
[0100]指令單元2將由計(jì)算處理系統(tǒng)6正在處理的作業(yè)和/或計(jì)算處理系統(tǒng)6將要處理的作業(yè)所參考的數(shù)據(jù)(在下文中,這些數(shù)據(jù)被共同地稱為“參考數(shù)據(jù)”)與垃圾收集器3確定清除的存在于存儲(chǔ)器4中的第一數(shù)據(jù)相比較(步驟S3)。在當(dāng)指令單元2判定第一數(shù)據(jù)和參考數(shù)據(jù)是相同的情況下(步驟S3中的是),指令單元2指令取回第一數(shù)據(jù)并且指令將第一數(shù)據(jù)寫入存儲(chǔ)器4中(步驟S4)。當(dāng)指令單元3判定第一數(shù)據(jù)和參考數(shù)據(jù)是不相同的時(shí)(步驟S3中的否),指令單元2不指令取回第一數(shù)據(jù)并且不指令將第一數(shù)據(jù)寫入存儲(chǔ)器4中(步驟S4)。
[0101 ] 在上面所提到的描述中,能夠通過參考如圖3中所示出的作業(yè)調(diào)度和如圖4A和圖4B中所示出的作業(yè)運(yùn)行狀態(tài)等來實(shí)現(xiàn)用來指定正被處理的作業(yè)或?qū)⒁惶幚淼淖鳂I(yè)的功倉泛。
[0102]將參考圖3描述作為用來指定第一示例性實(shí)施例中的參考數(shù)據(jù)的數(shù)據(jù)的一個(gè)示例的作業(yè)調(diào)度。圖3是示出指定第一示例性實(shí)施例中的參考數(shù)據(jù)的源數(shù)據(jù)的示例的概念圖。作業(yè)調(diào)度是關(guān)于用于執(zhí)行作業(yè)的預(yù)定調(diào)度的信息(在下文中,被稱為“預(yù)定調(diào)度信息”)。該預(yù)定調(diào)度信息使當(dāng)作業(yè)被執(zhí)行時(shí)的日期和時(shí)間(圖3中的“執(zhí)行日期”和“時(shí)間”)、作業(yè)標(biāo)識(shí)符(在下文中,被稱為“ID”)、為處理作業(yè)所必需的參數(shù)、關(guān)于作業(yè)的限制條件、針對(duì)其作業(yè)被處理的對(duì)象以及待處理的作業(yè)的優(yōu)先級(jí)相關(guān)聯(lián)。
[0103]在【背景技術(shù)】中被描述的分布式批處理執(zhí)行功能,在與作業(yè)調(diào)度中的作業(yè)標(biāo)識(shí)符相關(guān)聯(lián)的、諸如日期和時(shí)間、執(zhí)行對(duì)象、限制條件、優(yōu)先級(jí)等的各種條件滿足的情況下,執(zhí)行具有特定作業(yè)標(biāo)識(shí)符的作業(yè)。例如,在圖3中,分布式批處理執(zhí)行功能在使用參數(shù)A、B以及C在JJ的執(zhí)行對(duì)象位置的結(jié)束時(shí)間條件下,在某年某月某日(YYYY/MM/DD) 22:00:00時(shí)執(zhí)行其作業(yè)ID是“作業(yè)I”并且其優(yōu)先級(jí)是正常的作業(yè)。
[0104]作業(yè)調(diào)度不總是需要包括上面所提到的所有值,并且此外可以包括其它值。例如,指令單元2通過讀取將要被執(zhí)行的作業(yè)和與該作業(yè)相關(guān)聯(lián)的參數(shù)來讀取參考數(shù)據(jù)的一部分。用于指令單元2獲得參考數(shù)據(jù)的方法不限于上面所提到的方法。
[0105]例如,指令單元2能夠通過讀取圖4A和圖4B中示出的作業(yè)運(yùn)行狀態(tài)表來判定作業(yè)的狀態(tài)。將參考圖4A和圖4B描述為用來指定第一示例性實(shí)施例中的參考數(shù)據(jù)的源數(shù)據(jù)的示例的作業(yè)運(yùn)行狀態(tài)表。圖4A和圖4B中的每一個(gè)都是示出指定第一示例性實(shí)施例中的參考數(shù)據(jù)的源數(shù)據(jù)的示例的概念圖;
[0106]作業(yè)運(yùn)行狀態(tài)表指示兩個(gè)狀態(tài)。即,一個(gè)是每個(gè)作業(yè)的狀態(tài)而另一個(gè)是每個(gè)作業(yè)中的每個(gè)步驟的狀態(tài)。參考圖4A,作業(yè)運(yùn)行狀態(tài)表使作業(yè)標(biāo)識(shí)符、執(zhí)行作業(yè)的對(duì)象以及作業(yè)的狀態(tài)相關(guān)聯(lián)。參考圖4B,每個(gè)作業(yè)中的每個(gè)步驟的狀態(tài)使作業(yè)標(biāo)識(shí)符、步驟ID、執(zhí)行作業(yè)的對(duì)象、作業(yè)的狀態(tài)、執(zhí)行作業(yè)的對(duì)象、結(jié)束處理的數(shù)目相關(guān)聯(lián)。例如,指令單元2通過讀取與作業(yè)標(biāo)識(shí)符相關(guān)聯(lián)的作業(yè)的狀態(tài)來判定作業(yè)的狀態(tài)。作業(yè)運(yùn)行狀態(tài)表不總是需要包括上面所提到的所有值,并且此外可以包括其它值。
[0107]雖然描述指令單元2通過根據(jù)在上面所提到的描述參考垃圾收集器3收集的存儲(chǔ)器區(qū)域來執(zhí)行處理,但是垃圾收集器3可以包括通知GC的執(zhí)行的通知單元(圖1中未示出)。例如,該通知單元可以在垃圾收集的標(biāo)記階段中通知GC的執(zhí)行。在這種情況下,可以通過執(zhí)行下列內(nèi)容實(shí)現(xiàn)在上面提到的功能。即,當(dāng)指令單元2在步驟S3中判定否時(shí),指令單元2發(fā)出指令以執(zhí)行GC,而當(dāng)指令單元2在步驟S3中判定是時(shí),GC不被執(zhí)行。借助于通知單元,可以省略從磁盤讀取數(shù)據(jù)和將數(shù)據(jù)寫入存儲(chǔ)器4中的處理。
[0108]雖然已經(jīng)提供舉例說明根據(jù)上面所提到的描述的具有垃圾收集器3的計(jì)算處理系統(tǒng)6描述了根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)I的操作,但是例如,存儲(chǔ)器管理控制系統(tǒng)I可以被應(yīng)用于存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)。在這種情況下,指令單元2將被由分布式批處理執(zhí)行庫正在處理的作業(yè)和/或分布式批處理執(zhí)行庫將要處理的作業(yè)所參考的數(shù)據(jù)與在存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中被清除和輸入到磁盤型數(shù)據(jù)存儲(chǔ)中的存儲(chǔ)器區(qū)域中的第一數(shù)據(jù)相比較(對(duì)應(yīng)于步驟S3)。
[0109]在指令單元2判定第一數(shù)據(jù)和參考數(shù)據(jù)是相同的情況下(與步驟S3中的判定是相對(duì)應(yīng)),指令單元2指令取回第一數(shù)據(jù)并且指令將第一數(shù)據(jù)寫入存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中(與步驟S4相對(duì)應(yīng))。在指令單元2判定第一數(shù)據(jù)和參考數(shù)據(jù)是不相同的情況下(與步驟S3中的判定否相對(duì)應(yīng)),指令單元2不指令取回第一數(shù)據(jù)并且不指令將第一數(shù)據(jù)寫入存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)中。
[0110]專利文獻(xiàn)2或?qū)@墨I(xiàn)3公開的系統(tǒng)收集正被執(zhí)行的作業(yè)不參考而無論作業(yè)的參考數(shù)據(jù)如何的存儲(chǔ)器區(qū)域。因此,在將由作業(yè)在后處理中參考的、目前未被參考的存儲(chǔ)器區(qū)域的情況下,系統(tǒng)收集存儲(chǔ)器區(qū)域。在這種情況下,為了處理作業(yè),系統(tǒng)從具有低處理速度的諸如磁盤的存儲(chǔ)介質(zhì)中讀取數(shù)據(jù)并再次將數(shù)據(jù)寫入到存儲(chǔ)器4中。結(jié)果,根據(jù)在專利文獻(xiàn)2或?qū)@墨I(xiàn)3中被公開的系統(tǒng),處理作業(yè)的性能劣化。
[0111]另一方面,根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)I取回處理作業(yè)所需要的數(shù)據(jù)并且通過參考作業(yè)的參考數(shù)據(jù)預(yù)先將數(shù)據(jù)寫入存儲(chǔ)器4中。結(jié)果,根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)1,可以減少由于將數(shù)據(jù)寫入存儲(chǔ)器4中而導(dǎo)致的作業(yè)處理性能的劣化。
[0112]也就是說,根據(jù)第一示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng),可以減少處理性能的劣化。
[0113]<第二示例性實(shí)施例>
[0114]接下來,將描述基于上面所提到的第一示例性實(shí)施例的本發(fā)明的第二示例性實(shí)施例。
[0115]以下描述專注于根據(jù)示例性實(shí)施例的特性部分,并且通過分配與根據(jù)第一示例性實(shí)施例的配置相同的根據(jù)示例性實(shí)施例的配置,以及與根據(jù)第一示例性實(shí)施例的相同配置的附圖標(biāo)記相同的附圖標(biāo)記,來省略重復(fù)的描述。
[0116]將參考圖5和圖6在下文中描述根據(jù)第二示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)7具有的配置以及存儲(chǔ)器管理控制系統(tǒng)7執(zhí)行的處理。圖5是示出根據(jù)本發(fā)明的第二示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)7的配置的框圖。圖6是示出根據(jù)第二示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)7中的處理的流程的流程圖。
[0117]參考圖5,存儲(chǔ)器管理控制系統(tǒng)7包括指令單元8和存儲(chǔ)單元9。計(jì)算處理系統(tǒng)10包括存儲(chǔ)器管理控制系統(tǒng)7。存儲(chǔ)單元9能夠使作業(yè)和該作業(yè)參考的參考數(shù)據(jù)相關(guān)聯(lián),并且存儲(chǔ)所關(guān)聯(lián)的作業(yè)和參考數(shù)據(jù)。將參考圖7在下文中描述存儲(chǔ)單元9能夠關(guān)聯(lián)并存儲(chǔ)的數(shù)據(jù)的示例。圖7是示出根據(jù)第二示例性實(shí)施例的存儲(chǔ)單元9中的數(shù)據(jù)的示例的概念圖。參考圖7,存儲(chǔ)單元9使唯一地標(biāo)識(shí)作業(yè)的作業(yè)標(biāo)識(shí)符(在下文中,被稱為“作業(yè)ID”)和與該作業(yè)ID相關(guān)聯(lián)的參考數(shù)據(jù)相關(guān)聯(lián),并且存儲(chǔ)所關(guān)聯(lián)的作業(yè)ID和參考數(shù)據(jù)。例如,在圖7中,因?yàn)槠渥鳂I(yè)ID是“I”的作業(yè)與參考數(shù)據(jù)A相關(guān)聯(lián),所以該作業(yè)參考參考數(shù)據(jù)A。
[0118]在以下描述中,作業(yè)是計(jì)算處理系統(tǒng)正在處理的作業(yè)和/或計(jì)算處理系統(tǒng)試圖處理的作業(yè)。指令單元8從存儲(chǔ)單元9讀取與作業(yè)相關(guān)聯(lián)的特定參考數(shù)據(jù)(步驟S2)。接下來,指令單元8執(zhí)行在第一示例性實(shí)施例中被描述的步驟S3和步驟S4的處理。
[0119]雖然在上面提到的描述中假定指令單元8從存儲(chǔ)單元9讀取如圖7中所示出的數(shù)據(jù),但是例如,指令單元8還能夠從指示如圖8中所示出的執(zhí)行作業(yè)的歷史的歷史數(shù)據(jù)(在下文中,被稱為“作業(yè)執(zhí)行歷史”)讀取數(shù)據(jù)。
[0120]將參考圖8在下文中描述作業(yè)執(zhí)行歷史。圖8是示出根據(jù)第二示例性實(shí)施例的存儲(chǔ)單元中的作業(yè)執(zhí)行歷史的示例的概念圖。作業(yè)執(zhí)行歷史使作業(yè)標(biāo)識(shí)符、步驟ID、為執(zhí)行作業(yè)所必需的參數(shù)、處理作業(yè)的對(duì)象、通過處理作業(yè)所獲得的結(jié)果等相關(guān)聯(lián)。作業(yè)執(zhí)行歷史可以使其它項(xiàng)目相關(guān)聯(lián),所述其它項(xiàng)目諸如當(dāng)作業(yè)開始時(shí)的日期和時(shí)間、當(dāng)作業(yè)結(jié)束的日期和時(shí)間等。
[0121]例如,圖8的第二行指示表示為節(jié)點(diǎn)-1的節(jié)點(diǎn)通過參考A處理其作業(yè)ID是“I”的作業(yè)的步驟1-1和處理的結(jié)果是好的(即,處理已正常地完成)。即,根據(jù)圖8中示出的示例,其作業(yè)ID是“ I ”的作業(yè)與被表示為A的數(shù)據(jù)相關(guān)聯(lián)。
[0122]因?yàn)楦鶕?jù)第二示例性實(shí)施例的配置與根據(jù)第一示例性實(shí)施例的配置相同,所以第二示例性實(shí)施例能夠具有與第一示例性實(shí)施例具有的相同的效果。此外,根據(jù)第二示例性實(shí)施例,可以通過從存儲(chǔ)單元9讀取與作業(yè)相關(guān)聯(lián)的特定參考數(shù)據(jù)來減少參考外部數(shù)據(jù)的數(shù)目。
[0123]也就是說,根據(jù)第二示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng),可以減少處理性能的劣化。
[0124]〈第三示例性實(shí)施例〉
[0125]接下來,將描述基于上面提到的第二示例性實(shí)施例的本發(fā)明的第三示例性實(shí)施例。
[0126]以下描述專注于根據(jù)示例性實(shí)施例的特性部分,并且通過分配與根據(jù)第二示例性實(shí)施例的配置相同的根據(jù)第二示例性實(shí)施例的配置,以及與根據(jù)第二示例性實(shí)施例的相同配置的附圖標(biāo)記相同的附圖標(biāo)記,來省略重復(fù)的描述。
[0127]將參考圖9和圖10在下文中描述根據(jù)第三示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)11具有的配置以及存儲(chǔ)器管理控制系統(tǒng)11執(zhí)行的處理。圖9是示出根據(jù)本發(fā)明的第三示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)11的配置的框圖。圖10是示出根據(jù)第三示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)11中的處理的流程的流程圖。
[0128]參考圖9,存儲(chǔ)器管理控制系統(tǒng)11包括指令單元12和存儲(chǔ)單元13以及分析單元
14。計(jì)算處理系統(tǒng)15包括存儲(chǔ)器管理控制系統(tǒng)11、垃圾收集器3、存儲(chǔ)器4以及存儲(chǔ)器管理單元5。分析單元14基于預(yù)定分析過程通過分析被存儲(chǔ)在收集的存儲(chǔ)器區(qū)域(存儲(chǔ)器4中的部分區(qū)域)中的數(shù)據(jù)來指定第一數(shù)據(jù)。[0129]分析單元14基于預(yù)定分析過程通過分析被存儲(chǔ)在所收集的存儲(chǔ)區(qū)域中的數(shù)據(jù)來指定第一數(shù)據(jù)(步驟SI)。接下來,指令單元12從存儲(chǔ)單元13讀取與作業(yè)相關(guān)聯(lián)的特定參考數(shù)據(jù)(步驟S2)?;蛘?,分析單元14可以在指令單元12完成步驟S2的處理之后執(zhí)行步驟
SI的處理。此外,可以并行或偽并行地執(zhí)行這些處理。接下來,指令單元12將由計(jì)算處理系統(tǒng)15正在處理的作業(yè)和/或計(jì)算處理系統(tǒng)15將要處理的作業(yè)所參考的數(shù)據(jù)(在下文中,這些數(shù)據(jù)被共同地稱為“參考數(shù)據(jù)”)與垃圾收集器3確定清除的存在于存儲(chǔ)器區(qū)域(上述的“收集的存儲(chǔ)器區(qū)域”)中的第一數(shù)據(jù)相比較(步驟S3)。
[0130]作為預(yù)定分析過程,如果存儲(chǔ)的數(shù)據(jù)是Java對(duì)象,則分析單元14通過分析字節(jié)配置來提取Java對(duì)象的方法被舉例說明。在這種情況下,通過分析所提取的Java對(duì)象,分析單元14判定數(shù)據(jù)是元數(shù)據(jù)。分析單元14將該元數(shù)據(jù)的對(duì)象看作第一數(shù)據(jù)。
[0131]因?yàn)楦鶕?jù)第三示例性實(shí)施例的配置與根據(jù)第二示例性實(shí)施例的配置相同,所以第三示例性實(shí)施例能夠具有與第二示例性實(shí)施例具有的相同效果。根據(jù)第三示例性實(shí)施例,因?yàn)榉治鰡卧?4基于預(yù)定分析過程來分析被存儲(chǔ)在所收集的存儲(chǔ)器區(qū)域中的數(shù)據(jù),所以可以更加有效地執(zhí)行處理。
[0132]也就是說,根據(jù)第三示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng),可以減少處理性能的劣化。
[0133]〈第四示例性實(shí)施例>
[0134]接下來,將描述基于上面所提到的第二示例性實(shí)施例的本發(fā)明的第四示例性實(shí)施例。
[0135]以下描述專注于根據(jù)示例性實(shí)施例的特性部分,并且通過分配與根據(jù)第二示例性實(shí)施例的配置相同的根據(jù)第四示例性實(shí)施例的配置,以及與根據(jù)第二示例性實(shí)施例的相同配置的附圖標(biāo)記相同的附圖標(biāo)記,來省略重復(fù)的描述。
[0136]將參考圖11和圖12在下文中描述根據(jù)第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)16具有的配置以及存儲(chǔ)器管理控制系統(tǒng)16執(zhí)行的處理。圖11是示出根據(jù)本發(fā)明的第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)16的配置的框圖。圖12是示出根據(jù)第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)16中的處理的流程的流程圖。
[0137]參考圖11,存儲(chǔ)器管理控制系統(tǒng)16進(jìn)一步包括通過邏輯上改變存儲(chǔ)區(qū)域(存儲(chǔ)器4中的部分存儲(chǔ)器區(qū)域)的分配來管理在GC中收集的存儲(chǔ)器區(qū)域的管理單元17。計(jì)算處理系統(tǒng)18包括存儲(chǔ)器管理控制系統(tǒng)16、垃圾收集器3、存儲(chǔ)器4以及存儲(chǔ)器管理單元5。
[0138]通過參考在GC中收集的存儲(chǔ)器區(qū)域,管理單元17分析存儲(chǔ)器區(qū)域(步驟S5)。接下來,管理單元17創(chuàng)建指示分析結(jié)果的數(shù)據(jù)(步驟S6)。作為指示分析結(jié)果的數(shù)據(jù)的示例,可以舉例說明字節(jié)配置。接下來,通過改變針對(duì)在GC中收集的存儲(chǔ)器區(qū)域執(zhí)行的邏輯分配,管理單元17管理存儲(chǔ)器區(qū)域(步驟S7)。
[0139]將參考圖13在下文中描述步驟S7的處理。圖13是示出根據(jù)第四示例性實(shí)施例的由管理單元17執(zhí)行的處理的概念圖。圖13中所示出的箭頭指示在存儲(chǔ)器空間中的參照關(guān)系。參考圖13,例如,GC收集特定處理參考的物理存儲(chǔ)器區(qū)域(圖13中的虛線箭頭)。該物理存儲(chǔ)器區(qū)域可以通過存在于分布式處理環(huán)境中的數(shù)據(jù)存儲(chǔ)(在下文中,被稱為包括數(shù)據(jù)存儲(chǔ)的“物理存儲(chǔ)器區(qū)域”)來實(shí)現(xiàn)。管理單元17通過改變針對(duì)物理存儲(chǔ)器區(qū)域(圖13中的實(shí)線箭頭)執(zhí)行的邏輯分配來管理物理存儲(chǔ)器區(qū)域。[0140]即使管理單元17通過如上面所提到的GC來管理物理存儲(chǔ)器區(qū)域,物理存儲(chǔ)器區(qū)域中的數(shù)據(jù)也不改變。因?yàn)楦鶕?jù)第四示例性實(shí)施例的管理單元17不利用數(shù)據(jù)通信,所以可以以非常低的代價(jià)來參考存在于GC對(duì)象的存儲(chǔ)器單元中的數(shù)據(jù)。
[0141]因?yàn)楦鶕?jù)第四示例性實(shí)施例的配置與根據(jù)第三示例性實(shí)施例的配置相同,所以第四示例性實(shí)施例能夠具有與第三示例性實(shí)施例具有的相同效果。
[0142]也就是說,根據(jù)第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng),可以減少處理性能的劣化。
[0143](硬件配置的示例)
[0144]將在下文中描述通過使用一個(gè)計(jì)算處理設(shè)備(信息處理設(shè)備或計(jì)算機(jī))來實(shí)現(xiàn)根據(jù)上面所提到的本發(fā)明的每個(gè)示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)的硬件資源的配置的示例。在這里,存儲(chǔ)器管理控制系統(tǒng)可以通過物理上或功能上使用至少兩個(gè)計(jì)算處理設(shè)備來實(shí)現(xiàn)。此外,存儲(chǔ)器管理控制系統(tǒng)可以被作為專用設(shè)備來實(shí)現(xiàn)。
[0145]圖14是示出能夠?qū)崿F(xiàn)根據(jù)第一示例性實(shí)施例至第四示例性實(shí)施例的存儲(chǔ)器管理控制系統(tǒng)的計(jì)算處理設(shè)備的硬件配置的示意圖。計(jì)算處理設(shè)備20包括中央處理單元(在下文中,被稱為“CPU”)21、存儲(chǔ)器22、磁盤23、非易失性記錄介質(zhì)24、輸入設(shè)備25以及輸出設(shè)備26。
[0146]即使當(dāng)電功率未被供應(yīng)時(shí),作為諸如致密盤、數(shù)字通用盤、藍(lán)光盤、USB (通用串行總線)存儲(chǔ)器以及固態(tài)驅(qū)動(dòng)器等的計(jì)算機(jī)可讀介質(zhì)的非易失性記錄介質(zhì)24也存儲(chǔ)程序,并且非易失性記錄介質(zhì)24是便攜式的。非易失性記錄介質(zhì)24不限于在上面所提到的介質(zhì)。此外,代替使用非易失性記錄介質(zhì)24,程序可以通過通信網(wǎng)絡(luò)來攜帶。
[0147]也就是說,當(dāng)CPU21執(zhí)行磁盤23存儲(chǔ)的軟件程序(計(jì)算機(jī)程序:在下文中,縮寫為“程序”)時(shí),CPU21將程序副本到存儲(chǔ)器22中并執(zhí)行計(jì)算處理。CPU21從存儲(chǔ)器22讀取執(zhí)行程序所必需的數(shù)據(jù)。在顯示是需要的情況下,CPU21使輸出設(shè)備26顯示輸出結(jié)果。在程序被從外部輸入的情況下,CPU21從輸入設(shè)備25讀取程序。CPU21解釋并執(zhí)行存在于存儲(chǔ)器22中并且對(duì)應(yīng)于上面所提到的在圖1、圖5、圖9或圖11中被示出的每個(gè)單元的功能(處理)的存儲(chǔ)器管理控制程序(圖2、圖6、圖10以及圖12)。CPU21依次執(zhí)行在上面所提到的本發(fā)明的每個(gè)示例性實(shí)施例中已被描述的處理。
[0148]也就是說,在這種情況下,可以設(shè)想本發(fā)明能夠通過存儲(chǔ)器管理控制程序來實(shí)現(xiàn)。此外,還可以設(shè)想本發(fā)明能夠通過記錄存儲(chǔ)器管理控制程序的計(jì)算機(jī)可讀非易失性記錄介質(zhì)來實(shí)現(xiàn)。
[0149]提供實(shí)施例的先前描述,使得本領(lǐng)域的技術(shù)人員能夠作出并使用本發(fā)明。此外,對(duì)這些示例性實(shí)施例的各種修改對(duì)于本領(lǐng)域的技術(shù)人員而言將是顯而易見的,并且在本文中定義的一般原理和特定示例可以在不使用創(chuàng)造性才能的情況下被應(yīng)用于其它實(shí)施例。因此,本發(fā)明不旨在限于本文中所描述的示例性實(shí)施例,而是將符合如由權(quán)利要求和等同物的限制所限定的最廣范圍。
[0150]另外,注意的是,本發(fā)明人的意圖是即使權(quán)利要求在審查期間被修改也保留所要求保護(hù)的發(fā)明的所有等同物。
【權(quán)利要求】
1.一種存儲(chǔ)器管理控制系統(tǒng),所述存儲(chǔ)器管理控制系統(tǒng)包括: 指令單元,所述指令單元進(jìn)行在作業(yè)所參考的參考數(shù)據(jù)和第一數(shù)據(jù)是相同的情況下發(fā)出第一指令還是在所述作業(yè)所參考的所述參考數(shù)據(jù)和所述第一數(shù)據(jù)不相同的情況下不發(fā)出所述第一指令的執(zhí)行判定,所述第一指令是用于將存在于存儲(chǔ)設(shè)備中的收集的區(qū)域中的所述第一數(shù)據(jù)寫入到所述存儲(chǔ)設(shè)備中的指令。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器管理控制系統(tǒng),進(jìn)一步包括: 存儲(chǔ)單元,所述存儲(chǔ)單元使所述作業(yè)和由所述作業(yè)所參考的參考數(shù)據(jù)相關(guān)聯(lián),并且存儲(chǔ)所關(guān)聯(lián)的作業(yè)和參考數(shù)據(jù),其中, 所述指令單元通過從所述存儲(chǔ)單元讀取與所述作業(yè)相關(guān)聯(lián)的特定參考數(shù)據(jù)來執(zhí)行所述執(zhí)行判定。
3.根據(jù)權(quán)利要求1所述的存儲(chǔ)器管理控制系統(tǒng),進(jìn)一步包括: 分析單元,所述分析單元基于預(yù)定分析過程,通過分析所述區(qū)域中的第二數(shù)據(jù)來指定所述第一數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)器管理控制系統(tǒng),進(jìn)一步包括: 管理單元,所述管理單元用于管理所述區(qū)域,其中, 所述分析單元通過參考所述管理單元所管理的所述區(qū)域來讀取所述第二數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的存儲(chǔ)器管理控制系統(tǒng),其中, 所述存儲(chǔ)設(shè)備是存儲(chǔ)器上型數(shù)據(jù)存儲(chǔ)。
6.根據(jù)權(quán)利要求1所述的存儲(chǔ)器管理控制系統(tǒng),其中, 在預(yù)定分析過程中,所述分析單元通過分析字節(jié)配置來提取Java對(duì)象,并且判定所述Java對(duì)象中的元數(shù)據(jù)。
7.—種存儲(chǔ)器管理控制方法,其中, 執(zhí)行在作業(yè)所參考的參考數(shù)據(jù)和第一數(shù)據(jù)相同的情況下發(fā)出第一指令還是在所述作業(yè)所參考的所述參考數(shù)據(jù)和所述第一數(shù)據(jù)不相同的情況下不發(fā)出所述第一指令的執(zhí)行判定,所述第一指令是用于將存在于存儲(chǔ)設(shè)備中的收集的區(qū)域中的所述第一數(shù)據(jù)寫入到所述存儲(chǔ)設(shè)備中的指令。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)器管理控制方法,其中, 通過從存儲(chǔ)單元讀取與所述作業(yè)相關(guān)聯(lián)的特定參考數(shù)據(jù)來執(zhí)行所述執(zhí)行判定,所述存儲(chǔ)單元使所述作業(yè)和由所述作業(yè)所參考的參考數(shù)據(jù)相關(guān)聯(lián),并且存儲(chǔ)所關(guān)聯(lián)的作業(yè)和參考數(shù)據(jù)。
9.根據(jù)權(quán)利要求7所述的存儲(chǔ)器管理控制,其中, 執(zhí)行基于預(yù)定分析過程通過分析所述區(qū)域中的第二數(shù)據(jù)來指定所述第一數(shù)據(jù)的分析功能。
【文檔編號(hào)】G06F15/16GK103678241SQ201310445693
【公開日】2014年3月26日 申請(qǐng)日期:2013年9月25日 優(yōu)先權(quán)日:2012年9月25日
【發(fā)明者】松原啟介 申請(qǐng)人:日本電氣株式會(huì)社