本發(fā)明涉及容器技術(shù)領(lǐng)域,具體為一種基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng)。
背景技術(shù):
Linux容器作為一類操作系統(tǒng)層面的虛擬化技術(shù)成果,旨在立足于單一Linux主機(jī)交付多套隔離性Linux環(huán)境。與虛擬機(jī)不同,容器系統(tǒng)并不需要運(yùn)行特定的訪客操作系統(tǒng)。相反,容器共享同一套主機(jī)操作系統(tǒng)內(nèi)核,同時(shí)利用訪客操作系統(tǒng)的系統(tǒng)庫(kù)以交付必要的系統(tǒng)功能。由于無(wú)需借助于專門的操作系統(tǒng),因此容器在啟動(dòng)速度上要遠(yuǎn)遠(yuǎn)優(yōu)于虛擬機(jī),容器能夠利用Namespaces、Apparmor、SELinux配置、chroot以及CGroups等Linux內(nèi)核功能,從而交付一套類似于虛擬機(jī)的隔離性環(huán)境。Linux安全模塊能夠確保來(lái)自容器的主機(jī)設(shè)備與內(nèi)核訪問(wèn)行為受到妥善管理,從而避免入侵活動(dòng)的發(fā)生。除此之外,容器還能夠通過(guò)其主機(jī)操作系統(tǒng)運(yùn)行多種不同Linux發(fā)行版——只要各類操作系統(tǒng)擁有同樣的底層CPU架構(gòu)要求??傮w而言,容器技術(shù)提供了一種立足于各類Linux發(fā)行版的容器鏡像創(chuàng)建方式,同時(shí)利用API進(jìn)行容器生命周期管理,通過(guò)客戶端工具實(shí)現(xiàn)與該API的交互,進(jìn)而提供快照以及不同容器主機(jī)之間容器實(shí)例遷移等能力,在Linux容器技術(shù)持續(xù)發(fā)展的情況下,容器技術(shù)由于系統(tǒng)消耗開(kāi)銷小,應(yīng)用隔離性好,調(diào)度方便,部署簡(jiǎn)易,更新簡(jiǎn)單等特點(diǎn),正在得到越來(lái)越大規(guī)模的使用。
在傳統(tǒng)的數(shù)據(jù)采集和分析系統(tǒng)中,由于數(shù)據(jù)分析方法的不確定性,存在隨時(shí)可能變更和對(duì)計(jì)算依賴大的問(wèn)題,因此通常做法是進(jìn)行數(shù)據(jù)采集后,先進(jìn)行存儲(chǔ),然后再進(jìn)行計(jì)算分析。
在進(jìn)行計(jì)算分析時(shí),對(duì)相同數(shù)據(jù)也可能存在多種不同的分析計(jì)算方法,得出不同的結(jié)果或進(jìn)行不同的后續(xù)操作,同時(shí)由于方法的多變,隨時(shí)可能更新計(jì)算方法或添加更多新的計(jì)算方法,現(xiàn)有的基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng)并不能很好的應(yīng)對(duì)這些變化,造成數(shù)據(jù)處理緩慢。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是克服現(xiàn)有的缺陷,提供一種基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng),數(shù)據(jù)處理模塊可以進(jìn)行接收數(shù)據(jù)的實(shí)時(shí)處理,可以將數(shù)據(jù)處理模塊與數(shù)據(jù)采集模塊部署在一起,實(shí)現(xiàn)了多種數(shù)據(jù)處理方式的同時(shí)部署,同時(shí)在數(shù)據(jù)處理方式變更的情況下,可以很容易的進(jìn)行更新,各個(gè)數(shù)據(jù)處理模塊隔離,互相不會(huì)干擾和影響,每個(gè)模塊可以專注與自身的處理過(guò)程,數(shù)據(jù)處理效率高,可以有效解決背景技術(shù)中的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng),包括數(shù)據(jù)采集模塊、數(shù)據(jù)傳遞模塊、包裝有數(shù)據(jù)處理模塊的Linux容器、容器管理調(diào)度平臺(tái), 其中,數(shù)據(jù)采集模塊為傳統(tǒng)數(shù)據(jù)采集系統(tǒng)中的采集模塊,數(shù)據(jù)采集模塊將采集到的數(shù)據(jù)發(fā)送給數(shù)據(jù)傳遞模塊,數(shù)據(jù)傳遞模塊負(fù)責(zé)數(shù)據(jù)的分發(fā),通過(guò)發(fā)現(xiàn)模塊從容器管理調(diào)度平臺(tái)上獲取到Linux容器信息,然后將數(shù)據(jù)分別分發(fā)給每個(gè)可用的Linux容器,Linux容器負(fù)責(zé)接收數(shù)據(jù),并處理數(shù)據(jù)和后續(xù)操作,容器管理調(diào)度平臺(tái)負(fù)責(zé)啟動(dòng)、停止、更新等調(diào)度Linux容器。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,用戶需要新增數(shù)據(jù)處理應(yīng)用時(shí),容器管理調(diào)度平臺(tái)啟動(dòng)新應(yīng)用,并更新應(yīng)用記錄,用戶需要?jiǎng)h除數(shù)據(jù)處理應(yīng)用時(shí),容器管理調(diào)度平臺(tái)刪除應(yīng)用,并更新應(yīng)用記錄,用戶需要更新數(shù)據(jù)處理應(yīng)用時(shí),容器管理調(diào)度平臺(tái)啟動(dòng)新應(yīng)用,刪除舊應(yīng)用,并更新應(yīng)用記錄。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,數(shù)據(jù)傳遞模塊不斷讀取容器管理調(diào)度平臺(tái)的應(yīng)用記錄,在數(shù)據(jù)無(wú)更新的情況下,等待一段時(shí)間后再次進(jìn)行讀取,在有數(shù)據(jù)更新的情況下,根據(jù)更新,開(kāi)啟新的數(shù)據(jù)傳輸通道到新的應(yīng)用上。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述Linux容器不少于三個(gè),數(shù)據(jù)處理模塊包裝在Linux容器內(nèi),稱其為數(shù)據(jù)處理應(yīng)用。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,數(shù)據(jù)傳遞模塊包括數(shù)據(jù)壓縮處理器,所述數(shù)據(jù)壓縮處理器由信號(hào)變換模塊、A/D轉(zhuǎn)換模塊、高速緩存模塊、數(shù)據(jù)壓縮模塊、數(shù)據(jù)分包模塊和數(shù)據(jù)存儲(chǔ)模塊組成,其中,信號(hào)變換模塊,對(duì)數(shù)據(jù)采集模塊采集的數(shù)據(jù)信號(hào)進(jìn)行抬升和限幅;A/D轉(zhuǎn)換模塊,與所述信號(hào)變換模塊連接,把采集到的數(shù)據(jù)信號(hào)轉(zhuǎn)換成數(shù)字量信號(hào);高速緩存模塊,與所述A/D轉(zhuǎn)換模塊連接,對(duì)完成A/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行高速緩存;數(shù)據(jù)壓縮模塊,與所述高速緩存模塊連接,對(duì)高速緩存模塊中的數(shù)據(jù)進(jìn)行壓縮處理;數(shù)據(jù)分包模塊,與所述數(shù)據(jù)壓縮模塊連接,將壓縮后的數(shù)據(jù)進(jìn)行分包處理;數(shù)據(jù)存儲(chǔ)模塊,與所述數(shù)據(jù)分包模塊連接,并且對(duì)數(shù)據(jù)信號(hào)存儲(chǔ)。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng),第一,數(shù)據(jù)處理模塊可以進(jìn)行接收數(shù)據(jù)的實(shí)時(shí)處理,可以將數(shù)據(jù)處理模塊與數(shù)據(jù)采集模塊部署在一起;第二,可以通過(guò)添加,刪除,更新容器,來(lái)隨意的增加,移除和更新數(shù)據(jù)處理模塊,實(shí)現(xiàn)了多種數(shù)據(jù)處理方式的同時(shí)部署,同時(shí)在數(shù)據(jù)處理方式變更的情況下,可以很容易的進(jìn)行更新;第三,各個(gè)數(shù)據(jù)處理模塊隔離,互相不會(huì)干擾和影響,每個(gè)模塊可以專注與自身的處理過(guò)程。整個(gè)系統(tǒng)數(shù)據(jù)處理有條理,處理效率高。
附圖說(shuō)明
圖1為本發(fā)明框架結(jié)構(gòu)示意圖;
圖2為本發(fā)明用戶控制和數(shù)據(jù)傳遞流程圖;
圖3為本發(fā)明數(shù)據(jù)傳遞模塊示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參閱圖1-3,本發(fā)明提供一種技術(shù)方案:一種基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng),包括數(shù)據(jù)采集模塊、數(shù)據(jù)傳遞模塊、包裝有數(shù)據(jù)處理模塊的Linux容器、容器管理調(diào)度平臺(tái), 其中,數(shù)據(jù)采集模塊為傳統(tǒng)數(shù)據(jù)采集系統(tǒng)中的采集模塊,數(shù)據(jù)采集模塊將采集到的數(shù)據(jù)發(fā)送給數(shù)據(jù)傳遞模塊,數(shù)據(jù)傳遞模塊包括數(shù)據(jù)壓縮處理器,所述數(shù)據(jù)壓縮處理器由信號(hào)變換模塊、A/D轉(zhuǎn)換模塊、高速緩存模塊、數(shù)據(jù)壓縮模塊、數(shù)據(jù)分包模塊和數(shù)據(jù)存儲(chǔ)模塊組成,其中,信號(hào)變換模塊,對(duì)數(shù)據(jù)采集模塊采集的數(shù)據(jù)信號(hào)進(jìn)行抬升和限幅;A/D轉(zhuǎn)換模塊,與所述信號(hào)變換模塊連接,把采集到的數(shù)據(jù)信號(hào)轉(zhuǎn)換成數(shù)字量信號(hào);高速緩存模塊,與所述A/D轉(zhuǎn)換模塊連接,對(duì)完成A/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行高速緩存;數(shù)據(jù)壓縮模塊,與所述高速緩存模塊連接,對(duì)高速緩存模塊中的數(shù)據(jù)進(jìn)行壓縮處理;數(shù)據(jù)分包模塊,與所述數(shù)據(jù)壓縮模塊連接,將壓縮后的數(shù)據(jù)進(jìn)行分包處理;數(shù)據(jù)存儲(chǔ)模塊,與所述數(shù)據(jù)分包模塊連接,并且對(duì)數(shù)據(jù)信號(hào)存儲(chǔ),數(shù)據(jù)傳遞模塊負(fù)責(zé)數(shù)據(jù)的分發(fā),通過(guò)發(fā)現(xiàn)模塊從容器管理調(diào)度平臺(tái)上獲取到Linux容器信息,然后將數(shù)據(jù)分別分發(fā)給每個(gè)可用的Linux容器,Linux容器不少于三個(gè),Linux容器負(fù)責(zé)接收數(shù)據(jù),并處理數(shù)據(jù)和后續(xù)操作,容器管理調(diào)度平臺(tái)負(fù)責(zé)啟動(dòng)、停止、更新等調(diào)度Linux容器,系統(tǒng)由數(shù)據(jù)采集模塊,數(shù)據(jù)傳遞模塊,運(yùn)行與Linux容器中的數(shù)據(jù)處理模塊和容器管理調(diào)度平臺(tái)組成,數(shù)據(jù)采集模塊負(fù)責(zé)采集數(shù)據(jù),并將采集到的數(shù)據(jù)發(fā)送給數(shù)據(jù)傳遞模塊,通過(guò)將傳統(tǒng)的數(shù)據(jù)處理模塊包裝在Linux容器內(nèi),稱其為數(shù)據(jù)處理應(yīng)用,數(shù)據(jù)傳遞模塊拿到數(shù)據(jù)后,通過(guò)讀取容器管理調(diào)度平臺(tái)內(nèi)的記錄,發(fā)現(xiàn)有若干數(shù)據(jù)處理應(yīng)用,則將數(shù)據(jù)分別發(fā)送給數(shù)據(jù)處理應(yīng)用,進(jìn)行數(shù)據(jù)處理,不同的數(shù)據(jù)處理應(yīng)用,可以進(jìn)行不同的數(shù)據(jù)處理操作,例如存儲(chǔ),分析,告警,數(shù)據(jù)存儲(chǔ)應(yīng)用受到容器管理調(diào)度平臺(tái)的調(diào)度和控制,通過(guò)容器管理調(diào)度平臺(tái),用戶可以隨意的增加,運(yùn)行,停止,刪除,更新數(shù)據(jù)處理應(yīng)用,用戶通過(guò)容器管理調(diào)度平臺(tái)進(jìn)行操作后,容器管理調(diào)度平臺(tái)更新本身記錄的容器相關(guān)信息,數(shù)據(jù)處理模塊通過(guò)讀取更新后的容器信息,將數(shù)據(jù)傳遞到相應(yīng)的數(shù)據(jù)處理應(yīng)用中,數(shù)據(jù)處理模塊可以進(jìn)行接收數(shù)據(jù)的實(shí)時(shí)處理,可以將數(shù)據(jù)處理模塊與數(shù)據(jù)采集模塊部署在一起。
用戶需要新增數(shù)據(jù)處理應(yīng)用時(shí),容器管理調(diào)度平臺(tái)啟動(dòng)新應(yīng)用,并更新應(yīng)用記錄,用戶需要?jiǎng)h除數(shù)據(jù)處理應(yīng)用時(shí),容器管理調(diào)度平臺(tái)刪除應(yīng)用,并更新應(yīng)用記錄,用戶需要更新數(shù)據(jù)處理應(yīng)用時(shí),容器管理調(diào)度平臺(tái)啟動(dòng)新應(yīng)用,刪除舊應(yīng)用,并更新應(yīng)用記錄,數(shù)據(jù)傳遞模塊不斷讀取容器管理調(diào)度平臺(tái)的應(yīng)用記錄,在數(shù)據(jù)無(wú)更新的情況下,等待一段時(shí)間后再次進(jìn)行讀取,在有數(shù)據(jù)更新的情況下,根據(jù)更新,開(kāi)啟新的數(shù)據(jù)傳輸通道到新的應(yīng)用上,可以通過(guò)添加,刪除,更新容器,來(lái)隨意的增加,移除和更新數(shù)據(jù)處理模塊,實(shí)現(xiàn)了多種數(shù)據(jù)處理方式的同時(shí)部署,同時(shí)在數(shù)據(jù)處理方式變更的情況下,可以很容易的進(jìn)行更新,各個(gè)數(shù)據(jù)處理模塊隔離,互相不會(huì)干擾和影響,每個(gè)模塊可以專注與自身的處理過(guò)程。整個(gè)系統(tǒng)數(shù)據(jù)處理有條理,處理效率高。
本基于容器技術(shù)的數(shù)據(jù)采集和處理系統(tǒng),第一,數(shù)據(jù)處理模塊可以進(jìn)行接收數(shù)據(jù)的實(shí)時(shí)處理,可以將數(shù)據(jù)處理模塊與數(shù)據(jù)采集模塊部署在一起;第二,可以通過(guò)添加,刪除,更新容器,來(lái)隨意的增加,移除和更新數(shù)據(jù)處理模塊,實(shí)現(xiàn)了多種數(shù)據(jù)處理方式的同時(shí)部署,同時(shí)在數(shù)據(jù)處理方式變更的情況下,可以很容易的進(jìn)行更新;第三,各個(gè)數(shù)據(jù)處理模塊隔離,互相不會(huì)干擾和影響,每個(gè)模塊可以專注與自身的處理過(guò)程。整個(gè)系統(tǒng)數(shù)據(jù)處理有條理,處理效率高。
盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同物限定。