本技術(shù)涉及數(shù)據(jù)庫領(lǐng)域,并且更具體地,涉及管理時(shí)間序列數(shù)據(jù)的方法、可編程網(wǎng)絡(luò)硬件和計(jì)算機(jī)設(shè)備。
背景技術(shù):
1、時(shí)間序列數(shù)據(jù)廣泛存在于多個(gè)領(lǐng)域。例如大規(guī)模的web服務(wù)需要收集程序運(yùn)行時(shí)的數(shù)據(jù)以對(duì)獲知程序的健康狀態(tài)以及運(yùn)行性能;物聯(lián)網(wǎng)或數(shù)字化工廠會(huì)收集物理世界中傳感器的信息以實(shí)現(xiàn)監(jiān)控、報(bào)警、分析的需求。時(shí)間序列數(shù)據(jù)庫是一種專為高效處理時(shí)間序列數(shù)據(jù)而設(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)軟件。時(shí)間序列數(shù)據(jù)庫在索引結(jié)構(gòu)、并發(fā)控制、存儲(chǔ)格式、查詢優(yōu)化等多個(gè)方面專為高效處理時(shí)間序列數(shù)據(jù)而設(shè)計(jì)?,F(xiàn)有的時(shí)間序列數(shù)據(jù)庫存在諸如以下的問題:寫入數(shù)據(jù)的效率有限;執(zhí)行查詢時(shí)間的請(qǐng)求較長(zhǎng)?;诖?,如何有效的管理時(shí)間序列數(shù)據(jù)成為了亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供管理時(shí)間序列數(shù)據(jù)的方法、可編程網(wǎng)絡(luò)硬件和計(jì)算機(jī)設(shè)備,可編程網(wǎng)絡(luò)硬件在寫入時(shí)間序列數(shù)據(jù)時(shí),時(shí)間序列數(shù)據(jù)不會(huì)經(jīng)過計(jì)算機(jī)設(shè)備的內(nèi)部存儲(chǔ)器,減少了時(shí)間序列數(shù)據(jù)的拷貝次數(shù),可以降低寫入時(shí)間序列數(shù)據(jù)的延時(shí)。
2、第一方面,提供了一種管理時(shí)間序列數(shù)據(jù)的方法,該方法應(yīng)用于該可編程網(wǎng)絡(luò)硬件,該可編程網(wǎng)絡(luò)硬件包括硬件存儲(chǔ)器,該方法包括:接收第一請(qǐng)求,該第一請(qǐng)求為用于請(qǐng)求寫入第一時(shí)間序列數(shù)據(jù);若確定該可編程網(wǎng)絡(luò)硬件的緩存未滿,則將該第一時(shí)間序列數(shù)據(jù)寫入到該緩存中,該緩存為該硬件存儲(chǔ)器的一部分;或若確定該緩存已滿,則將該緩存中的數(shù)據(jù)寫入計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器后再將該第一時(shí)間序列數(shù)據(jù)寫入該緩存中。
3、本技術(shù)實(shí)施例中,可編程網(wǎng)絡(luò)硬件在寫入時(shí)間序列數(shù)據(jù)時(shí),可以將時(shí)間序列數(shù)據(jù)寫入到可編程網(wǎng)絡(luò)硬件的緩存中,然后在可編程網(wǎng)絡(luò)硬件的緩沖滿時(shí),可以將緩存中的時(shí)間序列數(shù)據(jù)直接寫入到計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器中,在該過程中,可編程網(wǎng)絡(luò)硬件中的時(shí)間序列數(shù)據(jù)不會(huì)經(jīng)過計(jì)算機(jī)設(shè)備的內(nèi)部存儲(chǔ)器,減少了時(shí)間序列數(shù)據(jù)的拷貝次數(shù),可以降低寫入時(shí)間序列數(shù)據(jù)的延時(shí)。
4、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該緩存由m個(gè)區(qū)域構(gòu)成,該m個(gè)區(qū)域的讀寫通道不同,該緩存包括第一頁面,該第一頁面的狀態(tài)為空閑狀態(tài)或?qū)懭霠顟B(tài),該第一頁面由來自于該m個(gè)區(qū)域的m個(gè)內(nèi)存片段構(gòu)成,該將該第一時(shí)間序列數(shù)據(jù)寫入到該緩存中,包括:將該第一時(shí)間序列數(shù)據(jù)寫入到該第一頁面中。
5、本技術(shù)實(shí)施例中,可編程網(wǎng)絡(luò)硬件的緩存可以由m個(gè)具有獨(dú)立讀寫通道的內(nèi)存區(qū)域構(gòu)成,且緩存中的每一個(gè)頁面是由該m個(gè)內(nèi)存區(qū)域中的m個(gè)內(nèi)存片段構(gòu)成的,因此在讀寫時(shí)間序列數(shù)據(jù)時(shí),可以充分利用多個(gè)讀寫通道同時(shí)進(jìn)行讀寫,提高了讀寫速度和吞吐量。
6、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該方法還包括:接收第二請(qǐng)求,該第二請(qǐng)求用于請(qǐng)求讀取該第一時(shí)間序列數(shù)據(jù);若該第一時(shí)間序列數(shù)據(jù)存儲(chǔ)在該緩存中,響應(yīng)于該第二請(qǐng)求,從該可編程網(wǎng)絡(luò)硬件的緩存中讀取該第一時(shí)間序列數(shù)據(jù)以發(fā)送給客戶端;若該第一時(shí)間序列數(shù)據(jù)存儲(chǔ)在該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器中,響應(yīng)于該第二請(qǐng)求,從該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器中讀取該第一時(shí)間序列數(shù)據(jù)以發(fā)送給該客戶端。
7、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該方法還包括:滿足第一預(yù)設(shè)條件,壓縮存儲(chǔ)在該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器的時(shí)間序列數(shù)據(jù)。
8、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該壓縮存儲(chǔ)在該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器的時(shí)間序列數(shù)據(jù),包括:對(duì)該時(shí)間序列數(shù)據(jù)按照時(shí)間順序進(jìn)行排序;將排序后的該時(shí)間序列數(shù)據(jù)按照類型進(jìn)行壓縮處理。
9、本技術(shù)實(shí)施例中,通過將壓縮時(shí)間序列數(shù)據(jù)的任務(wù)卸載到可編程網(wǎng)絡(luò)硬件,由可編程網(wǎng)絡(luò)硬件執(zhí)行計(jì)算機(jī)外部存儲(chǔ)器中的時(shí)間序列數(shù)據(jù)的壓縮,緩解了計(jì)算機(jī)設(shè)備的處理器的壓力,可以防止數(shù)據(jù)庫系統(tǒng)的讀寫性能的產(chǎn)生大幅度的波動(dòng)。
10、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該第一預(yù)設(shè)條件包括以下中的一項(xiàng)或多項(xiàng):該時(shí)間序列數(shù)據(jù)的數(shù)量大于第一閾值;該時(shí)間序列數(shù)據(jù)的大小大于第二閾值。
11、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該方法還包括:接收第三請(qǐng)求,該第三請(qǐng)求用于請(qǐng)求創(chuàng)建第一物化視圖,該第一物化視圖對(duì)應(yīng)第一數(shù)據(jù)處理方式;響應(yīng)于該第三請(qǐng)求,在該緩存中創(chuàng)建第一物化視圖;接收第四請(qǐng)求,該第四請(qǐng)求用于請(qǐng)求寫入第二時(shí)間序列數(shù)據(jù),該第二時(shí)間序列數(shù)據(jù)與該第一物化視圖關(guān)聯(lián);響應(yīng)于該第四請(qǐng)求,通過該可編程網(wǎng)絡(luò)硬件將該第二時(shí)間序列數(shù)據(jù)寫入該第一物化視圖中以對(duì)該第二時(shí)間序列數(shù)據(jù)按照該第一數(shù)據(jù)處理方式處理。
12、本技術(shù)實(shí)施例中,可以將管理物化視圖的業(yè)務(wù)卸載到可編程網(wǎng)絡(luò)硬件中,可編程網(wǎng)絡(luò)硬件可以將與物化視圖關(guān)聯(lián)的時(shí)間序列數(shù)據(jù)寫入到物化視圖中以實(shí)時(shí)更新物化視圖的輸出結(jié)果,能夠提升復(fù)雜的查詢需求。
13、第二方面,提供了一種可編程網(wǎng)絡(luò)硬件,該可編程網(wǎng)絡(luò)硬件包括硬件存儲(chǔ)器,其中,該可編程網(wǎng)絡(luò)硬件,用于接收第一請(qǐng)求,該第一請(qǐng)求為用于請(qǐng)求寫入第一時(shí)間序列數(shù)據(jù);該可編程網(wǎng)絡(luò)硬件,還用于若確定該可編程網(wǎng)絡(luò)硬件的緩存未滿,則將該第一時(shí)間序列數(shù)據(jù)寫入到該可編程網(wǎng)絡(luò)硬件的緩存中,該緩存為該硬件存儲(chǔ)器的一部分;該可編程網(wǎng)絡(luò)硬件,還用于若確定該緩存已滿,則將該緩存中的數(shù)據(jù)寫入該外部存儲(chǔ)器后再將該第一時(shí)間序列數(shù)據(jù)寫入該緩存中。
14、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該緩存由m個(gè)區(qū)域構(gòu)成,該m個(gè)區(qū)域的讀寫通道不同,該緩存包括第一頁面,該第一頁面的狀態(tài)為空閑狀態(tài)或?qū)懭霠顟B(tài),該第一頁面由來自于該m個(gè)區(qū)域的m個(gè)內(nèi)存片段構(gòu)成,該可編程網(wǎng)絡(luò)硬件,具體用于將該第一時(shí)間序列數(shù)據(jù)寫入該第一頁面。
15、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該可編程網(wǎng)絡(luò)硬件,還用于:接收第二請(qǐng)求,該第二請(qǐng)求用于請(qǐng)求讀取該第一時(shí)間序列數(shù)據(jù);若該第一時(shí)間序列數(shù)據(jù)存儲(chǔ)在該緩存中,響應(yīng)于該第二請(qǐng)求,讀取該第一時(shí)間序列數(shù)據(jù)以發(fā)送給客戶端;若該第一時(shí)間序列數(shù)據(jù)存儲(chǔ)在該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器中,響應(yīng)于該第二請(qǐng)求,從該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器中讀取該第一時(shí)間序列數(shù)據(jù)以發(fā)送給該客戶端。
16、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該可編程網(wǎng)絡(luò)硬件,還用于確定滿足第一預(yù)設(shè)條件,壓縮存儲(chǔ)在該計(jì)算機(jī)設(shè)備的外部存儲(chǔ)器的時(shí)間序列數(shù)據(jù)。
17、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該可編程網(wǎng)絡(luò)硬件,具體用于:對(duì)該時(shí)間序列數(shù)據(jù)按照時(shí)間順序進(jìn)行排序;將排序后的該時(shí)間序列數(shù)據(jù)按照類型進(jìn)行壓縮處理。
18、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該第一預(yù)設(shè)條件包括以下中的一項(xiàng)或多項(xiàng):該時(shí)間序列數(shù)據(jù)的數(shù)量大于第一閾值;該時(shí)間序列數(shù)據(jù)的大小大于第二閾值。
19、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該可編程網(wǎng)絡(luò)硬件,還用于:接收第三請(qǐng)求,該第三請(qǐng)求用于請(qǐng)求創(chuàng)建第一物化視圖,該第一物化視圖對(duì)應(yīng)第一數(shù)據(jù)處理方式;響應(yīng)于該第三請(qǐng)求,在該緩存中創(chuàng)建第一物化視圖;接收第四請(qǐng)求,該第四請(qǐng)求用于請(qǐng)求寫入第二時(shí)間序列數(shù)據(jù),該第二時(shí)間序列數(shù)據(jù)與該第一物化視圖關(guān)聯(lián);響應(yīng)于該第四請(qǐng)求,將該第二時(shí)間序列數(shù)據(jù)寫入該第一物化視圖中以對(duì)該第二時(shí)間序列數(shù)據(jù)按照該第一數(shù)據(jù)處理方式處理。
20、第三方面,為本技術(shù)實(shí)施例的一種芯片,該芯片與電子設(shè)備中的存儲(chǔ)器耦合,用于調(diào)用存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)程序并執(zhí)行本技術(shù)實(shí)施例上述方面及其上述方面任一可能設(shè)計(jì)的技術(shù)方案;本技術(shù)實(shí)施例中“耦合”是指兩個(gè)部件彼此直接或間接地結(jié)合。
21、第四方面,為本技術(shù)實(shí)施例的一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序在電子設(shè)備上運(yùn)行時(shí),使得該電子設(shè)備執(zhí)行如上述方面及其上述方面任一可能設(shè)計(jì)的技術(shù)方案。
22、第五方面,為本技術(shù)實(shí)施例的一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括指令,當(dāng)該指令在計(jì)算機(jī)上運(yùn)行時(shí),使得該計(jì)算機(jī)執(zhí)行如上述方面及其上述方面任一可能設(shè)計(jì)的技術(shù)方案。
23、第六方面,為本技術(shù)實(shí)施例提供的一種計(jì)算機(jī)設(shè)備,該計(jì)算機(jī)設(shè)備包括第二方面以其任一可能實(shí)現(xiàn)方式中的可編程網(wǎng)絡(luò)硬件、處理器內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器。
24、其中,第二方面至第六方面的有益效果,請(qǐng)參見第一方面的有益效果,不重復(fù)贅述。