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