本發(fā)明涉及數(shù)據(jù)存儲(chǔ),尤其涉及一種物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法、系統(tǒng)、終端及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)(iot,internet?of?things)技術(shù)的迅猛發(fā)展,設(shè)備數(shù)量和數(shù)據(jù)生成量呈指數(shù)增長(zhǎng),高效的日志數(shù)據(jù)存儲(chǔ)方案對(duì)于實(shí)時(shí)監(jiān)控、故障診斷和數(shù)據(jù)分析至關(guān)重要。
2、現(xiàn)有技術(shù)中一般是直接將采集的日志數(shù)據(jù)存儲(chǔ)到時(shí)序數(shù)據(jù)庫(kù)中,但是隨著設(shè)備的使用和日期的增長(zhǎng),時(shí)序數(shù)據(jù)庫(kù)中會(huì)存儲(chǔ)大量的日志數(shù)據(jù),而時(shí)序數(shù)據(jù)庫(kù)的表名是按照設(shè)備id進(jìn)行創(chuàng)建的,當(dāng)某些設(shè)備使用頻繁時(shí),會(huì)導(dǎo)致該表的數(shù)據(jù)存儲(chǔ)量指數(shù)上升,從而影響到日志的查詢效率。
3、因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法、系統(tǒng)、終端及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),旨在解決現(xiàn)有技術(shù)中隨著設(shè)備的使用和日期的增長(zhǎng),時(shí)序數(shù)據(jù)庫(kù)中單表的日志數(shù)據(jù)存儲(chǔ)量不斷上升,從而導(dǎo)致單表存儲(chǔ)壓力大,日志查詢效率降低的問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供一種物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,所述物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法包括如下步驟:
3、獲取目標(biāo)配置文件以及目標(biāo)單表,并根據(jù)所述目標(biāo)配置文件對(duì)所述目標(biāo)單表進(jìn)行分表處理,得到多個(gè)配置分表,其中,所述配置分表包括月表、所述月表對(duì)應(yīng)的分片表以及所述分片表對(duì)應(yīng)的滾動(dòng)表;
4、獲取當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù),并將所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述月表;
5、當(dāng)多個(gè)所述月表中目標(biāo)月表的存儲(chǔ)數(shù)據(jù)超過(guò)第一預(yù)設(shè)閾值時(shí),則將所述目標(biāo)月表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述分片表;
6、當(dāng)多個(gè)所述分片表中目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)超過(guò)第二預(yù)設(shè)閾值時(shí),則將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述滾動(dòng)表。
7、可選地,所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,其中,所述獲取目標(biāo)配置文件以及目標(biāo)單表,并根據(jù)所述目標(biāo)配置文件對(duì)所述目標(biāo)單表進(jìn)行分表處理,得到多個(gè)配置分表,具體包括:
8、獲取目標(biāo)配置文件,其中,所述目標(biāo)配置文件包括月表配置、分片表配置以及滾動(dòng)表配置;
9、獲取目標(biāo)單表,并根據(jù)所述月表配置對(duì)所述目標(biāo)單表進(jìn)行第一分表處理,得到多個(gè)月表;
10、根據(jù)所述分片表配置對(duì)每個(gè)所述月表進(jìn)行第二分表處理,得到每個(gè)所述月表對(duì)應(yīng)的多個(gè)分片表;
11、根據(jù)所述滾動(dòng)表配置對(duì)每個(gè)所述分片表進(jìn)行第三分表處理,得到每個(gè)所述分片表對(duì)應(yīng)的多個(gè)滾動(dòng)表。
12、可選地,所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,其中,所述獲取當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù),并將所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述月表,具體包括:
13、實(shí)時(shí)采集當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù),并獲取所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)的數(shù)據(jù)產(chǎn)生時(shí)間;
14、根據(jù)所述數(shù)據(jù)產(chǎn)生時(shí)間確定所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)對(duì)應(yīng)的多個(gè)所述月表,并將所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述月表。
15、可選地,所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,其中,所述當(dāng)多個(gè)所述月表中目標(biāo)月表的存儲(chǔ)數(shù)據(jù)超過(guò)第一預(yù)設(shè)閾值時(shí),則將所述目標(biāo)月表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述分片表,具體包括:
16、對(duì)多個(gè)所述月表中的存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)閾值檢測(cè),當(dāng)多個(gè)所述月表中目標(biāo)月表的存儲(chǔ)數(shù)據(jù)超過(guò)第一預(yù)設(shè)閾值時(shí),則獲取所述目標(biāo)月表中存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的多個(gè)設(shè)備id;
17、采用哈希值計(jì)算法確定多個(gè)所述設(shè)備id對(duì)應(yīng)的多個(gè)分片表,得到所述目標(biāo)月表中存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的多個(gè)分片表,并將所述目標(biāo)月表中的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述分片表。
18、可選地,所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,其中,所述采用哈希值計(jì)算法確定多個(gè)所述設(shè)備id對(duì)應(yīng)的多個(gè)分片表,具體包括:
19、確定多個(gè)所述分片表對(duì)應(yīng)的分片表數(shù)量,并采用所述哈希值計(jì)算法計(jì)算多個(gè)所述設(shè)備id各自對(duì)應(yīng)的多個(gè)哈希值;
20、對(duì)每個(gè)所述哈希值進(jìn)行取絕對(duì)值處理,并除以所述分片表數(shù)量,確定多個(gè)所述設(shè)備id各自對(duì)應(yīng)的多個(gè)分片表。
21、可選地,所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,其中,所述當(dāng)多個(gè)所述分片表中目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)超過(guò)第二預(yù)設(shè)閾值時(shí),則將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述滾動(dòng)表,具體包括:
22、設(shè)置預(yù)設(shè)檢測(cè)周期,并根據(jù)所述預(yù)設(shè)檢測(cè)周期對(duì)多個(gè)所述分片表中的存儲(chǔ)數(shù)據(jù)進(jìn)行存儲(chǔ)閾值檢測(cè);
23、當(dāng)多個(gè)所述分片表中目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)超過(guò)第二預(yù)設(shè)閾值時(shí),則確定所述目標(biāo)分片表對(duì)應(yīng)的多個(gè)滾動(dòng)表,并將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述滾動(dòng)表。
24、可選地,所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法,其中,所述將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述滾動(dòng)表,具體包括:
25、將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至多個(gè)所述滾動(dòng)表中的第一滾動(dòng)表;
26、當(dāng)所述第一滾動(dòng)表中的存儲(chǔ)數(shù)據(jù)超過(guò)第三預(yù)設(shè)閾值時(shí),則將超過(guò)所述第三預(yù)設(shè)閾值的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至多個(gè)所述滾動(dòng)表中的第二滾動(dòng)表,直至所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)全部存儲(chǔ)完成。
27、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)系統(tǒng),其中,所述物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)系統(tǒng)包括:
28、分表處理模塊,用于獲取目標(biāo)配置文件以及目標(biāo)單表,并根據(jù)所述目標(biāo)配置文件對(duì)所述目標(biāo)單表進(jìn)行分表處理,得到多個(gè)配置分表,其中,所述配置分表包括月表、所述月表對(duì)應(yīng)的分片表以及所述分片表對(duì)應(yīng)的滾動(dòng)表;
29、月表存儲(chǔ)模塊,用于獲取當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù),并將所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述月表;
30、分片表存儲(chǔ)模塊,用于當(dāng)多個(gè)所述月表中目標(biāo)月表的存儲(chǔ)數(shù)據(jù)超過(guò)第一預(yù)設(shè)閾值時(shí),則將所述目標(biāo)月表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述分片表;
31、滾動(dòng)表存儲(chǔ)模塊,用于當(dāng)多個(gè)所述分片表中目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)超過(guò)第二預(yù)設(shè)閾值時(shí),則將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述滾動(dòng)表。
32、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種終端,其中,所述終端包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)程序,所述物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法的步驟。
33、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)程序,所述物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的物聯(lián)網(wǎng)日志數(shù)據(jù)的存儲(chǔ)方法的步驟。
34、本發(fā)明中,獲取目標(biāo)配置文件以及目標(biāo)單表,并根據(jù)所述目標(biāo)配置文件對(duì)所述目標(biāo)單表進(jìn)行分表處理,得到多個(gè)配置分表,其中,所述配置分表包括月表、所述月表對(duì)應(yīng)的分片表以及所述分片表對(duì)應(yīng)的滾動(dòng)表;獲取當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù),并將所述當(dāng)前物聯(lián)網(wǎng)日志數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述月表;當(dāng)多個(gè)所述月表中目標(biāo)月表的存儲(chǔ)數(shù)據(jù)超過(guò)第一預(yù)設(shè)閾值時(shí),則將所述目標(biāo)月表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述分片表;當(dāng)多個(gè)所述分片表中目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)超過(guò)第二預(yù)設(shè)閾值時(shí),則將所述目標(biāo)分片表的存儲(chǔ)數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)的多個(gè)所述滾動(dòng)表。本發(fā)明根據(jù)目標(biāo)配置文件對(duì)目標(biāo)單表進(jìn)行分表處理,進(jìn)而得到多個(gè)月表,日志數(shù)據(jù)可按月進(jìn)行存儲(chǔ),有效緩解了單表的存儲(chǔ)壓力;進(jìn)一步的,本發(fā)明還設(shè)置了月表對(duì)應(yīng)的分片表以及分片表對(duì)應(yīng)的滾動(dòng)表,均能根據(jù)日志數(shù)據(jù)的不斷存儲(chǔ)而進(jìn)行動(dòng)態(tài)擴(kuò)展,能進(jìn)一步緩解月表的存儲(chǔ)壓力,從而解決數(shù)據(jù)存儲(chǔ)到單表導(dǎo)致單表存儲(chǔ)量大,查詢和存儲(chǔ)響應(yīng)慢以及服務(wù)崩潰的問(wèn)題,同時(shí),還有效提高了日志數(shù)據(jù)的查詢效率。