本申請涉及通信,具體而言,涉及一種高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法及系統(tǒng)。
背景技術(shù):
1、現(xiàn)有的一些時(shí)序數(shù)據(jù)庫(例如influxdb),采用同步數(shù)據(jù)采集和傳輸?shù)姆绞竭M(jìn)行數(shù)據(jù)采集和傳輸,從而每次采集到數(shù)據(jù)都會(huì)單獨(dú)進(jìn)行傳輸,導(dǎo)致頻繁的網(wǎng)絡(luò)請求,增加了網(wǎng)絡(luò)帶寬的負(fù)擔(dān)和傳輸延遲,而且在i/o操作過程中會(huì)阻塞線程,特別是在高并發(fā)環(huán)境下,容易導(dǎo)致整體系統(tǒng)性能下降,影響其它并發(fā)數(shù)據(jù)的處理操作;此外,傳輸過程一般遵循h(huán)ttp/1.1協(xié)議且不對數(shù)據(jù)進(jìn)行壓縮處理,如果在數(shù)據(jù)傳輸過程中遇到故障,在經(jīng)過多次重試后數(shù)據(jù)仍然無法成功傳輸,則丟棄數(shù)據(jù),從而導(dǎo)致數(shù)據(jù)丟失和傳輸效率低的問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請的目的在于提供一種高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法及系統(tǒng),解決上述技術(shù)問題中的至少一個(gè)。
2、第一方面,本申請?zhí)峁┝艘环N高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,應(yīng)用于邊緣計(jì)算節(jié)點(diǎn),包括步驟:
3、a1.實(shí)時(shí)獲取系統(tǒng)狀態(tài)信息,用以進(jìn)行數(shù)據(jù)采集方式的選?。凰鰯?shù)據(jù)采集方式包括同步數(shù)據(jù)采集方式和異步數(shù)據(jù)采集方式;
4、a2.若選取同步數(shù)據(jù)采集方式,則把由傳感器實(shí)時(shí)采集的傳感器數(shù)據(jù)實(shí)時(shí)傳輸至?xí)r序數(shù)據(jù)庫服務(wù)器;
5、a3.若選取異步數(shù)據(jù)采集方式,則對由傳感器實(shí)時(shí)采集的傳感器數(shù)據(jù)進(jìn)行暫存,并在基于動(dòng)態(tài)調(diào)整的條件閾值判斷當(dāng)前滿足批處理傳輸條件的時(shí)候,把暫存的所述傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器。
6、該方法在進(jìn)行同步數(shù)據(jù)采集時(shí),把實(shí)時(shí)采集的傳感器數(shù)據(jù)實(shí)時(shí)傳輸至?xí)r序數(shù)據(jù)庫服務(wù)器,以保證數(shù)據(jù)的一致性和實(shí)時(shí)性;在進(jìn)行異步數(shù)據(jù)采集時(shí),基于動(dòng)態(tài)調(diào)整的條件閾值進(jìn)行傳感器數(shù)據(jù)的批量暫存和批量傳輸,能夠減少網(wǎng)絡(luò)傳輸?shù)念l率,避免同步采集和傳輸引起的阻塞問題,提高系統(tǒng)的并發(fā)處理能力。
7、優(yōu)選地,所述系統(tǒng)狀態(tài)信息包括數(shù)據(jù)并發(fā)量、網(wǎng)絡(luò)穩(wěn)定性和數(shù)據(jù)一致性要求;
8、步驟a1包括:
9、根據(jù)所述數(shù)據(jù)并發(fā)量、所述網(wǎng)絡(luò)穩(wěn)定性和所述數(shù)據(jù)一致性要求進(jìn)行數(shù)據(jù)采集方式的選取。
10、優(yōu)選地,步驟a3包括:
11、a301.把由傳感器實(shí)時(shí)采集的傳感器數(shù)據(jù)暫存在本地的數(shù)據(jù)緩沖區(qū)中;
12、a302.根據(jù)所述系統(tǒng)狀態(tài)信息動(dòng)態(tài)調(diào)整條件閾值;所述條件閾值包括數(shù)據(jù)量閾值和時(shí)間間隔閾值;
13、a303.根據(jù)所述數(shù)據(jù)量閾值、所述時(shí)間間隔閾值、暫存數(shù)據(jù)量和傳輸時(shí)間間隔,判斷當(dāng)前是否滿足批處理傳輸條件;所述暫存數(shù)據(jù)量為暫存在所述數(shù)據(jù)緩沖區(qū)的所述傳感器數(shù)據(jù)的數(shù)據(jù)量;所述傳輸時(shí)間間隔為當(dāng)前時(shí)刻與上一次向所述時(shí)序數(shù)據(jù)庫服務(wù)器傳輸數(shù)據(jù)的時(shí)間之間的時(shí)間間隔;
14、a304.在當(dāng)前滿足批處理傳輸條件時(shí),把暫存在所述數(shù)據(jù)緩沖區(qū)的傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器。
15、與采用固定的條件閾值相比,通過動(dòng)態(tài)調(diào)整條件閾值,有利于優(yōu)化傳輸效率。
16、優(yōu)選地,所述系統(tǒng)狀態(tài)信息包括網(wǎng)絡(luò)傳輸效率和系統(tǒng)負(fù)載;
17、步驟a302中,根據(jù)以下公式調(diào)整所述數(shù)據(jù)量閾值:
18、;
19、其中,為調(diào)整后的所述數(shù)據(jù)量閾值,為調(diào)整前的所述數(shù)據(jù)量閾值,為所述網(wǎng)絡(luò)傳輸效率,為目標(biāo)網(wǎng)絡(luò)傳輸效率,為所述系統(tǒng)負(fù)載,為目標(biāo)系統(tǒng)負(fù)載。
20、優(yōu)選地,所述系統(tǒng)狀態(tài)信息包括系統(tǒng)響應(yīng)時(shí)間;
21、步驟a302中,根據(jù)以下公式調(diào)整所述時(shí)間間隔閾值:
22、;
23、其中,為調(diào)整后的所述時(shí)間間隔閾值,為調(diào)整前的所述時(shí)間間隔閾值,為所述系統(tǒng)響應(yīng)時(shí)間,為目標(biāo)系統(tǒng)響應(yīng)時(shí)間。
24、優(yōu)選地,步驟a303包括:
25、若所述暫存數(shù)據(jù)量達(dá)到所述數(shù)據(jù)量閾值,或者所述傳輸時(shí)間間隔達(dá)到所述時(shí)間間隔閾值,則判定當(dāng)前滿足批處理傳輸條件;否則,判定當(dāng)前未滿足批處理傳輸條件。
26、優(yōu)選地,步驟a304中,在把暫存在所述數(shù)據(jù)緩沖區(qū)的傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器時(shí),采用多級數(shù)據(jù)壓縮策略對待傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮后,利用支持多路復(fù)用的傳輸協(xié)議傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器。
27、采用多級數(shù)據(jù)壓縮策略對待傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮可以有效減少傳輸數(shù)據(jù)量,提高傳輸速度,減少帶寬占用;采用支持多路復(fù)用的傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸能夠充分利用網(wǎng)絡(luò)帶寬,減小傳輸延遲。
28、優(yōu)選地,采用多級數(shù)據(jù)壓縮策略對待傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮后,利用支持多路復(fù)用的傳輸協(xié)議傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器,具體包括:
29、使用第一預(yù)設(shè)壓縮算法對待傳輸?shù)臄?shù)據(jù)進(jìn)行初步壓縮,得到第一壓縮數(shù)據(jù);
30、獲取當(dāng)前的網(wǎng)絡(luò)狀況參考信息,并根據(jù)所述網(wǎng)絡(luò)狀況參考信息和所述第一壓縮數(shù)據(jù)的大小判斷所述第一壓縮數(shù)據(jù)是否適配當(dāng)前網(wǎng)絡(luò)狀況;
31、若所述第一壓縮數(shù)據(jù)適配當(dāng)前網(wǎng)絡(luò)狀況,則利用支持多路復(fù)用的傳輸協(xié)議把所述第一壓縮數(shù)據(jù)傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器;
32、若所述第一壓縮數(shù)據(jù)不適配當(dāng)前網(wǎng)絡(luò)狀況,則使用第二預(yù)設(shè)壓縮算法對所述第一壓縮數(shù)據(jù)進(jìn)行深度壓縮得到第二壓縮數(shù)據(jù),并利用支持多路復(fù)用的傳輸協(xié)議把所述第二壓縮數(shù)據(jù)傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器。
33、優(yōu)選地,步驟a304中,在把暫存在所述數(shù)據(jù)緩沖區(qū)的傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器時(shí),實(shí)時(shí)監(jiān)測數(shù)據(jù)傳輸狀態(tài),若檢測到傳輸故障,則將未成功傳輸?shù)臄?shù)據(jù)記錄到本地持久化緩存中,并定時(shí)重試傳輸未成功傳輸?shù)臄?shù)據(jù)至所述時(shí)序數(shù)據(jù)庫服務(wù)器,如果重試傳輸失敗,則在傳輸故障恢復(fù)后,從所述本地持久化緩存中提取未成功傳輸?shù)臄?shù)據(jù)并向所述時(shí)序數(shù)據(jù)庫服務(wù)器傳輸。
34、第二方面,本申請?zhí)峁┝艘环N高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集系統(tǒng),包括若干傳感器、邊緣計(jì)算節(jié)點(diǎn)和時(shí)序數(shù)據(jù)庫服務(wù)器;所述傳感器和所述時(shí)序數(shù)據(jù)庫服務(wù)器均與所述邊緣計(jì)算節(jié)點(diǎn)通信連接;
35、所述傳感器用于采集傳感器數(shù)據(jù);
36、所述邊緣計(jì)算節(jié)點(diǎn)用于實(shí)時(shí)獲取系統(tǒng)狀態(tài)信息,用以進(jìn)行數(shù)據(jù)采集方式的選取,所述數(shù)據(jù)采集方式包括同步數(shù)據(jù)采集方式和異步數(shù)據(jù)采集方式,若選取同步數(shù)據(jù)采集方式,則把由所述傳感器實(shí)時(shí)采集的所述傳感器數(shù)據(jù)實(shí)時(shí)傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器,若選取異步數(shù)據(jù)采集方式,則對由所述傳感器實(shí)時(shí)采集的所述傳感器數(shù)據(jù)進(jìn)行暫存,并在基于動(dòng)態(tài)調(diào)整的條件閾值判斷當(dāng)前滿足批處理傳輸條件的時(shí)候,把暫存的所述傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器;
37、所述時(shí)序數(shù)據(jù)庫服務(wù)器用于存儲(chǔ)接收到的所述傳感器數(shù)據(jù)。
38、有益效果:本申請?zhí)峁┑母咝У臅r(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法及系統(tǒng),根據(jù)實(shí)時(shí)的系統(tǒng)狀態(tài)信息進(jìn)行數(shù)據(jù)采集方式的選?。辉谶M(jìn)行同步數(shù)據(jù)采集時(shí),把實(shí)時(shí)采集的傳感器數(shù)據(jù)實(shí)時(shí)傳輸至?xí)r序數(shù)據(jù)庫服務(wù)器,以保證數(shù)據(jù)的一致性和實(shí)時(shí)性;在進(jìn)行異步數(shù)據(jù)采集時(shí),基于動(dòng)態(tài)調(diào)整的條件閾值進(jìn)行傳感器數(shù)據(jù)的批量暫存和批量傳輸,能夠減少網(wǎng)絡(luò)傳輸?shù)念l率,避免同步采集和傳輸引起的阻塞問題,提高系統(tǒng)的并發(fā)處理能力。
1.一種高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,應(yīng)用于邊緣計(jì)算節(jié)點(diǎn),其特征在于,包括步驟:
2.根據(jù)權(quán)利要求1所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,所述系統(tǒng)狀態(tài)信息包括數(shù)據(jù)并發(fā)量、網(wǎng)絡(luò)穩(wěn)定性和數(shù)據(jù)一致性要求;
3.根據(jù)權(quán)利要求1所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,步驟a3包括:
4.根據(jù)權(quán)利要求3所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,所述系統(tǒng)狀態(tài)信息包括網(wǎng)絡(luò)傳輸效率和系統(tǒng)負(fù)載;
5.根據(jù)權(quán)利要求3所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,所述系統(tǒng)狀態(tài)信息包括系統(tǒng)響應(yīng)時(shí)間;
6.根據(jù)權(quán)利要求3所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,步驟a303包括:
7.根據(jù)權(quán)利要求3所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,步驟a304中,在把暫存在所述數(shù)據(jù)緩沖區(qū)的傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器時(shí),采用多級數(shù)據(jù)壓縮策略對待傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮后,利用支持多路復(fù)用的傳輸協(xié)議傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器。
8.根據(jù)權(quán)利要求7所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,采用多級數(shù)據(jù)壓縮策略對待傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮后,利用支持多路復(fù)用的傳輸協(xié)議傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器,具體包括:
9.根據(jù)權(quán)利要求3所述的高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集方法,其特征在于,步驟a304中,在把暫存在所述數(shù)據(jù)緩沖區(qū)的傳感器數(shù)據(jù)批量傳輸至所述時(shí)序數(shù)據(jù)庫服務(wù)器時(shí),實(shí)時(shí)監(jiān)測數(shù)據(jù)傳輸狀態(tài),若檢測到傳輸故障,則將未成功傳輸?shù)臄?shù)據(jù)記錄到本地持久化緩存中,并定時(shí)重試傳輸未成功傳輸?shù)臄?shù)據(jù)至所述時(shí)序數(shù)據(jù)庫服務(wù)器,如果重試傳輸失敗,則在傳輸故障恢復(fù)后,從所述本地持久化緩存中提取未成功傳輸?shù)臄?shù)據(jù)并向所述時(shí)序數(shù)據(jù)庫服務(wù)器傳輸。
10.一種高效的時(shí)序數(shù)據(jù)庫數(shù)據(jù)采集系統(tǒng),其特征在于,包括若干傳感器、邊緣計(jì)算節(jié)點(diǎn)和時(shí)序數(shù)據(jù)庫服務(wù)器;所述傳感器和所述時(shí)序數(shù)據(jù)庫服務(wù)器均與所述邊緣計(jì)算節(jié)點(diǎn)通信連接;