最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

多核存儲(chǔ)裝置及多核環(huán)境的跟蹤日志輸出處理方法

文檔序號(hào):6623823閱讀:307來(lái)源:國(guó)知局
多核存儲(chǔ)裝置及多核環(huán)境的跟蹤日志輸出處理方法
【專利摘要】本發(fā)明適用于存儲(chǔ)【技術(shù)領(lǐng)域】,提供了一種多核環(huán)境的跟蹤日志輸出處理方法,所述方法包括:每個(gè)核的跟蹤日志生成時(shí),對(duì)跟蹤日志數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序;為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),分別用于暫存所述跟蹤日志的指針,以及暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳;根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理;定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。本發(fā)明還相應(yīng)提供一種實(shí)現(xiàn)上述方法的多核存儲(chǔ)裝置。借此,本發(fā)明可以使緩存操作和輸出操作同時(shí)進(jìn)行,減少調(diào)度次數(shù),提高資源利用率。
【專利說(shuō)明】多核存儲(chǔ)裝置及多核環(huán)境的跟蹤日志輸出處理方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)【技術(shù)領(lǐng)域】,尤其涉及一種多核存儲(chǔ)裝置及多核環(huán)境的跟蹤日志輸出處理方法。

【背景技術(shù)】
[0002]Trace log (跟蹤日志)是存儲(chǔ)系統(tǒng)中的用戶常用進(jìn)程之一?,F(xiàn)有技術(shù)中一般是通過(guò)在存儲(chǔ)區(qū)域申請(qǐng)一塊trace log記錄緩沖區(qū),在程序執(zhí)行的過(guò)程中將trace log記錄寫入緩沖區(qū),最后由一個(gè)優(yōu)先級(jí)最低的任務(wù)負(fù)責(zé)trace log記錄的輸出。
[0003]上述方法有以下不利之處:1)當(dāng)多個(gè)core同時(shí)向trace log記錄緩沖區(qū)寫入trace log記錄時(shí)必須先獲取鎖,所以需要等待其他Core釋放鎖;2)在優(yōu)先級(jí)最低的任務(wù)所在的Core做trace log記錄輸出時(shí),需要對(duì)trace log記錄緩沖區(qū)加鎖,通過(guò)加鎖的方式避免trace log記錄管理出現(xiàn)不一致的問(wèn)題,但這種方式將直接導(dǎo)致其他Core此時(shí)如果有trace log記錄產(chǎn)生,那么必須等待優(yōu)先級(jí)最低的任務(wù)釋放鎖。
[0004]綜上可知,現(xiàn)有技術(shù)在在實(shí)際使用上顯然存在不便與缺陷,所以有必要加以改進(jìn)。


【發(fā)明內(nèi)容】

[0005]針對(duì)上述的缺陷,本發(fā)明的目的在于提供一種多核存儲(chǔ)裝置及多核環(huán)境的跟蹤日志輸出處理方法,可以減少調(diào)度次數(shù),提高資源利用率。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種多核環(huán)境的跟蹤日志輸出處理方法,所述方法包括:
[0007]每個(gè)核的跟蹤日志生成時(shí),對(duì)所述跟蹤日志的數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序;
[0008]為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),所述無(wú)鎖循環(huán)緩存結(jié)構(gòu)用于暫存所述跟蹤日志的指針,所述靜態(tài)緩存結(jié)構(gòu)用于暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳;
[0009]根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理;
[0010]定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。
[0011]根據(jù)本發(fā)明的多核環(huán)境的跟蹤日志輸出處理方法,根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理步驟包括:
[0012]預(yù)設(shè)一時(shí)間戳緩存結(jié)構(gòu);
[0013]將不同跟蹤日志的時(shí)間戳信息讀取到所述時(shí)間戳緩存結(jié)構(gòu),每個(gè)跟蹤日志的時(shí)間戳信息只讀取一次;
[0014]將所述時(shí)間戳信息按大小排序處理。
[0015]根據(jù)本發(fā)明的多核環(huán)境的跟蹤日志輸出處理方法,所述定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理步驟具體為:
[0016]定時(shí)器中斷時(shí),將時(shí)間戳最小的跟蹤日志輸出。
[0017]根據(jù)本發(fā)明的多核環(huán)境的跟蹤日志輸出處理方法,每個(gè)所述跟蹤日志對(duì)應(yīng)一個(gè)唯一的時(shí)間戳信息。
[0018]根據(jù)本發(fā)明的多核環(huán)境的跟蹤日志輸出處理方法,所述跟蹤日志的輸出處理由負(fù)載最小的核完成,其它核可以同步產(chǎn)生跟蹤日志。
[0019]本發(fā)明還提供一種多核存儲(chǔ)裝置,其特征在于,包括:
[0020]日志處理模塊,用于每個(gè)核的跟蹤日志生成時(shí),對(duì)所述跟蹤日志的數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序;
[0021]緩存配置模塊,用于為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),所述無(wú)鎖循環(huán)緩存結(jié)構(gòu)用于暫存所述跟蹤日志的指針,所述靜態(tài)緩存結(jié)構(gòu)用于暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳;
[0022]日志排序模塊,用于根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理;
[0023]日志輸出模塊,用于定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。
[0024]根據(jù)本發(fā)明的多核存儲(chǔ)裝置,所述日志排序模塊包括:
[0025]設(shè)置子模塊,用于預(yù)設(shè)一時(shí)間戳緩存結(jié)構(gòu);
[0026]讀取子模塊,用于將不同跟蹤日志的時(shí)間戳信息讀取到所述時(shí)間戳緩存結(jié)構(gòu),每個(gè)跟蹤日志的時(shí)間戳信息只讀取一次;
[0027]排序子模塊,用于將所述時(shí)間戳信息按大小排序處理。
[0028]根據(jù)本發(fā)明的多核存儲(chǔ)裝置,所述日志輸出模塊用于定時(shí)器中斷時(shí),將時(shí)間戳最小的跟蹤日志輸出。
[0029]根據(jù)本發(fā)明的多核存儲(chǔ)裝置,每個(gè)所述跟蹤日志對(duì)應(yīng)一個(gè)唯一的時(shí)間戳信息。
[0030]根據(jù)本發(fā)明的多核存儲(chǔ)裝置,所述跟蹤日志的輸出處理由負(fù)載最小的核完成,其它核可以同步產(chǎn)生跟蹤日志。
[0031]本發(fā)明通過(guò)在每個(gè)核生成的trace log中加入時(shí)間戳信息,使其可以方便的進(jìn)行識(shí)別與分類。并且每個(gè)核對(duì)應(yīng)配置有無(wú)鎖的循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),分別用于暫存所述跟蹤日志的指針,及暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳,通過(guò)時(shí)間戳信息可以方便的對(duì)各跟蹤日志進(jìn)行排序,并在定時(shí)器定時(shí)中斷時(shí),即可以將trace log記錄輸出到外設(shè)。本發(fā)明產(chǎn)生trace log記錄時(shí)不需加鎖,提高了 CPU資源的利用率,并且通過(guò)在裝置內(nèi)對(duì)trace log進(jìn)行排序可減少對(duì)trace log的調(diào)度次數(shù)。

【專利附圖】

【附圖說(shuō)明】
[0032]圖1是本發(fā)明的多核存儲(chǔ)裝置結(jié)構(gòu)示意圖;
[0033]圖2是本發(fā)明的日志排序模塊結(jié)構(gòu)示意圖;
[0034]圖3是本發(fā)明一實(shí)施例的跟蹤日志處理流程示意圖;
[0035]圖4是本發(fā)明一實(shí)施例的時(shí)間戳緩存結(jié)構(gòu)示意圖;
[0036]圖5是本發(fā)明一實(shí)施例的跟蹤日志排序處理示意圖;
[0037]圖6是本發(fā)明的多核環(huán)境的trace log輸出處理方法流程圖;
[0038]圖7是本發(fā)明一實(shí)施例的跟蹤日志排序流程圖;
[0039]圖8是本發(fā)明另一實(shí)施例的跟蹤日志排序輸出處理流程圖。

【具體實(shí)施方式】
[0040]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0041]參見(jiàn)圖1,本發(fā)明提供了一種多核存儲(chǔ)裝置,該多核存儲(chǔ)裝置100包括日志處理模塊10、緩存配置模塊20、日志處理模塊30以及日志輸出模塊40,其中:
[0042]日志處理模塊10,用于每個(gè)核的跟蹤日志生成時(shí),對(duì)跟蹤日志數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序,且每個(gè)跟蹤日志對(duì)應(yīng)一個(gè)唯一的時(shí)間戳信息。
[0043]對(duì)應(yīng)于圖3中的Stepl, trace log記錄產(chǎn)生階段,對(duì)trace log數(shù)據(jù)進(jìn)行打包,力口入時(shí)間戳信息,以標(biāo)識(shí)trace log記錄的先后順序。
[0044]緩存配置模塊20,用于為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)(fifo)和靜態(tài)緩存結(jié)構(gòu),所述無(wú)鎖循環(huán)緩存結(jié)構(gòu)用于暫存所述跟蹤日志的指針,所述靜態(tài)緩存結(jié)構(gòu)用于暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳。
[0045]對(duì)應(yīng)于圖3中的Step2,每個(gè)Core都分配了一個(gè)支持無(wú)鎖操作的循環(huán)buffer (fifoO?fifo 3)和一個(gè)trace log buffer (靜態(tài)緩存結(jié)構(gòu))。無(wú)鎖操作的循環(huán)buffer用來(lái)承載 trace log 記錄在 trace log buffer 中的指針。trace log buffer 用來(lái)承載 trace log記錄的頭信息和trace log數(shù)據(jù)。當(dāng)產(chǎn)生trace log記錄的時(shí)候,CPU就將trace log的頭信息(包括時(shí)間戳信息)和數(shù)據(jù)存到trace log buffer中,并把該trace log記錄指針壓入循環(huán)buffer。
[0046]日志排序模塊30,用于根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理。
[0047]對(duì)應(yīng)于圖3中的Step3。無(wú)鎖操作的循環(huán)buffer內(nèi)的trace log記錄指針是按時(shí)間有序的,但不同core的循環(huán)buffer之間的trace log記錄的順序是未知的。為了保證trace log的輸出的順序正確,trace log必須進(jìn)行排序。
[0048]優(yōu)選的是,結(jié)合圖2,日志排序模塊30包括:
[0049]設(shè)置子模塊31,用于預(yù)設(shè)一時(shí)間戳緩存結(jié)構(gòu)。如圖4所示,本發(fā)明通過(guò)定義tracelog timestamp (時(shí)間戳)buffer,每條trace log記錄的時(shí)間戳只會(huì)被讀取一次,在tracelog timestamp buffer中完成排序,借此減少fifo不必要的讀操作。
[0050]讀取子模塊32,用于將不同跟蹤日志的時(shí)間戳信息讀取到所述時(shí)間戳緩存結(jié)構(gòu),每個(gè)跟蹤日志的時(shí)間戳信息只讀取一次。
[0051]排序子模塊33,用于將所述時(shí)間戳信息按大小排序處理,如圖5所示,借此使不同無(wú)鎖操作的循環(huán)buffer內(nèi)的trace log記錄也有序排列。
[0052]日志輸出模塊40,用于定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。需要說(shuō)明的,定時(shí)器中斷時(shí),日志輸出模塊40將時(shí)間戳最小的trace log進(jìn)行輸出處理,且優(yōu)選的,輸出處理由負(fù)載最小的核完成,其它核可以同步產(chǎn)生跟蹤日志。外設(shè)處于空閑狀態(tài)時(shí)即接收時(shí)間戳最小的trace log。
[0053]本發(fā)明適用于固態(tài)硬盤控制器在多核環(huán)境下并且PC側(cè)外設(shè)終端無(wú)法通過(guò)tracelog記錄的相關(guān)信息進(jìn)行先后排序的情況,通過(guò)無(wú)鎖操作結(jié)構(gòu),以及在存儲(chǔ)裝置內(nèi)排序,實(shí)現(xiàn)了多核環(huán)境trace log記錄從產(chǎn)生到輸出無(wú)加解鎖操作,消除了因?yàn)榧咏怄i導(dǎo)致的core之間的等待,提高了 CPU資源的利用率。
[0054]參見(jiàn)圖6,本發(fā)明提供了一種多核環(huán)境的trace log輸出處理方法,其可以通過(guò)如圖1所示的存儲(chǔ)裝置100實(shí)現(xiàn),該方法包括:
[0055]步驟S601,每個(gè)核的跟蹤日志生成時(shí),對(duì)跟蹤日志數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序,且每個(gè)跟蹤日志對(duì)應(yīng)一個(gè)唯一的時(shí)間戳信息。對(duì)應(yīng)于圖3中的Stepl, trace log記錄產(chǎn)生階段,對(duì)trace log數(shù)據(jù)進(jìn)行打包,加入時(shí)間戳信息,以標(biāo)識(shí)trace log記錄的先后順序。
[0056]步驟S602,為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)(fifo)和靜態(tài)緩存結(jié)構(gòu),所述無(wú)鎖循環(huán)緩存結(jié)構(gòu)用于暫存所述跟蹤日志的指針,所述靜態(tài)緩存結(jié)構(gòu)用于暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳。對(duì)應(yīng)于圖3中的Step2,每個(gè)Core都分配了一個(gè)支持無(wú)鎖操作的循環(huán)buffer (fifo O?fifo 3)和一個(gè)trace log buffer (靜態(tài)緩存結(jié)構(gòu))。無(wú)鎖操作的循環(huán) buffer 用來(lái)承載 trace log 記錄在 trace log buffer 中的指針。trace log buffer用來(lái)承載trace log記錄的頭信息和trace log數(shù)據(jù)。當(dāng)產(chǎn)生trace log記錄的時(shí)候,CPU就將trace log的頭信息(包括時(shí)間戳信息)和數(shù)據(jù)存到trace log buffer中,并把該trace log記錄指針壓入循環(huán)buffer。
[0057]步驟S603,根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理。對(duì)應(yīng)于圖3中的Step3。無(wú)鎖操作的循環(huán)buffer內(nèi)的trace log記錄指針是按時(shí)間有序的,但不同core的循環(huán)buffer之間的trace log記錄的順序是未知的。為了保證trace log的輸出的順序正確,trace log必須進(jìn)行排序。
[0058]步驟S604,定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。需要說(shuō)明的,定時(shí)器中斷時(shí),將時(shí)間戳最小的trace log進(jìn)行輸出處理,且優(yōu)選的,輸出處理由負(fù)載最小的核完成,其它核可以同步產(chǎn)生跟蹤日志。外設(shè)處于空閑狀態(tài)時(shí)即接收時(shí)間戳最小的trace log。
[0059]優(yōu)選的,結(jié)合圖7,步驟S603具體包括:
[0060]步驟S6031,預(yù)設(shè)一時(shí)間戳緩存結(jié)構(gòu)。如圖4所示,本發(fā)明通過(guò)定義trace logtimestamp (時(shí)間戳)buffer,每條trace log記錄的時(shí)間戳只會(huì)被讀取一次,在trace logtimestamp buffer中完成排序,借此減少fifo不必要的讀操作。
[0061]步驟S6032,將不同跟蹤日志的時(shí)間戳信息讀取到所述時(shí)間戳緩存結(jié)構(gòu),每個(gè)跟蹤日志的時(shí)間戳信息只讀取一次。
[0062]步驟S6033,將所述時(shí)間戳信息按大小排序處理,如圖5所示,借此使不同無(wú)鎖操作的循環(huán)buffer內(nèi)的trace log記錄也有序排列。
[0063]對(duì)于具體的排序及輸出流程,如圖8所示,其通過(guò)檢測(cè)FIFO中的指針,將指針指向的log的時(shí)間戳存入到時(shí)間戳緩存結(jié)構(gòu),并在其中排序,讀出一次trace log時(shí),將隊(duì)列頭的指針(時(shí)間戳最小)指向的trace log讀出,外設(shè)空閑時(shí)即輸出到外設(shè)。圖8中Pop操作的功能為讀出一個(gè)記錄,Peek操作的功能為只讀一個(gè)記錄。在本發(fā)明中,trace log記錄輸出功能由負(fù)載最小的Core來(lái)完成,在trace log輸出的時(shí)候,其他的Core可以同步產(chǎn)生trace log 記錄。
[0064]綜上所述,本發(fā)明通過(guò)在每個(gè)核生成的trace log中加入時(shí)間戳信息,使其可以方便的進(jìn)行識(shí)別與分類。并且每個(gè)核對(duì)應(yīng)配置有無(wú)鎖的循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),分別用于暫存所述跟蹤日志的指針,及暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳,通過(guò)時(shí)間戳信息可以方便的對(duì)各跟蹤日志進(jìn)行排序,并在定時(shí)器定時(shí)中斷時(shí),即可以將trace log記錄輸出到外設(shè)。本發(fā)明產(chǎn)生trace log記錄時(shí)不需加鎖,提高了 CPU資源的利用率,并且通過(guò)在裝置內(nèi)對(duì)trace log進(jìn)行排序可減少對(duì)trace log的調(diào)度次數(shù)。
[0065]當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種多核環(huán)境的跟蹤日志輸出處理方法,其特征在于,所述方法包括: 每個(gè)核的跟蹤日志生成時(shí),對(duì)所述跟蹤日志的數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序; 為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),所述無(wú)鎖循環(huán)緩存結(jié)構(gòu)用于暫存所述跟蹤日志的指針,所述靜態(tài)緩存結(jié)構(gòu)用于暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳; 根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理; 定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。
2.根據(jù)權(quán)利要求1所述的多核環(huán)境的跟蹤日志輸出處理方法,其特征在于,根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理步驟包括: 預(yù)設(shè)一時(shí)間戳緩存結(jié)構(gòu); 將不同跟蹤日志的時(shí)間戳信息讀取到所述時(shí)間戳緩存結(jié)構(gòu),每個(gè)跟蹤日志的時(shí)間戳信息只讀取一次; 將所述時(shí)間戳信息按大小排序處理。
3.根據(jù)權(quán)利要求1所述的多核環(huán)境的跟蹤日志輸出處理方法,其特征在于,所述定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理步驟具體為: 定時(shí)器中斷時(shí),將時(shí)間戳最小的跟蹤日志輸出。
4.根據(jù)權(quán)利要求1所述的多核環(huán)境的跟蹤日志輸出處理方法,其特征在于,每個(gè)所述跟蹤日志對(duì)應(yīng)一個(gè)唯一的時(shí)間戳信息。
5.根據(jù)權(quán)利要求1?4任一項(xiàng)所述的多核環(huán)境的跟蹤日志輸出處理方法,其特征在于,所述跟蹤日志的輸出處理由負(fù)載最小的核完成,其它核可以同步產(chǎn)生跟蹤日志。
6.一種多核存儲(chǔ)裝置,其特征在于,包括: 日志處理模塊,用于每個(gè)核的跟蹤日志生成時(shí),對(duì)所述跟蹤日志的數(shù)據(jù)進(jìn)行打包,并加入時(shí)間戳信息,所述時(shí)間戳信息用于標(biāo)識(shí)跟蹤日志記錄的先后順序; 緩存配置模塊,用于為多個(gè)核各配置一無(wú)鎖循環(huán)緩存結(jié)構(gòu)和靜態(tài)緩存結(jié)構(gòu),所述無(wú)鎖循環(huán)緩存結(jié)構(gòu)用于暫存所述跟蹤日志的指針,所述靜態(tài)緩存結(jié)構(gòu)用于暫存每個(gè)核生成的跟蹤日志及對(duì)應(yīng)的時(shí)間戳; 日志排序模塊,用于根據(jù)所述跟蹤日志的指針獲取所述跟蹤日志的時(shí)間戳信息,并根據(jù)時(shí)間戳信息對(duì)不同靜態(tài)緩存結(jié)構(gòu)的跟蹤日志進(jìn)行排序處理; 日志輸出模塊,用于定時(shí)器中斷時(shí),對(duì)所述跟蹤日志輸出處理。
7.根據(jù)權(quán)利要求6所述的多核存儲(chǔ)裝置,其特征在于,所述日志排序模塊包括: 設(shè)置子模塊,用于預(yù)設(shè)一時(shí)間戳緩存結(jié)構(gòu); 讀取子模塊,用于將不同跟蹤日志的時(shí)間戳信息讀取到所述時(shí)間戳緩存結(jié)構(gòu),每個(gè)跟蹤日志的時(shí)間戳信息只讀取一次; 排序子模塊,用于將所述時(shí)間戳信息按大小排序處理。
8.根據(jù)權(quán)利要求6所述的多核存儲(chǔ)裝置,其特征在于,所述日志輸出模塊用于定時(shí)器中斷時(shí),將時(shí)間戳最小的跟蹤日志輸出。
9.根據(jù)權(quán)利要求8所述的多核存儲(chǔ)裝置,其特征在于,每個(gè)所述跟蹤日志對(duì)應(yīng)一個(gè)唯一的時(shí)間戳信息。
10.根據(jù)權(quán)利要求6?9任一項(xiàng)所述的多核存儲(chǔ)裝置,其特征在于,所述跟蹤日志的輸出處理由負(fù)載最小的核完成,其它核可以同步產(chǎn)生跟蹤日志。
【文檔編號(hào)】G06F12/08GK104461931SQ201410407250
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】周大鵬 申請(qǐng)人:記憶科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1