專利名稱:一種大量實時數(shù)據(jù)存儲裝置的制作方法
技術領域:
本實用新型涉及一種數(shù)據(jù)存儲裝置,尤其是涉及一種大量實時數(shù)據(jù)存儲裝置。
背景技術:
我們的系統(tǒng)需要采集大量實時數(shù)據(jù)。以山東臨沂汽車站的GPS監(jiān)控項目為例,每 臺GPS終端會沒隔1分鐘向數(shù)據(jù)中心上報一次實時數(shù)據(jù)。數(shù)據(jù)中心需要及時記錄每臺終端 的最后一次上報情況,以及記錄所有歷史記錄以備查詢。目前現(xiàn)存方案為數(shù)據(jù)網(wǎng)關接收到一條上報數(shù)據(jù)后,即向數(shù)據(jù)庫執(zhí)行INSERTINT0 操作,并且沒隔一分鐘,將向數(shù)據(jù)庫執(zhí)行一次大規(guī)模循環(huán)的UPDATE操作,以刷新最新在線 狀態(tài)記錄表。目前方案的性能表現(xiàn)有些問題,至多上線700左右終端,數(shù)據(jù)庫服務器即表現(xiàn)為 CPU占用居高不下的情況,應無法應對更大量的實時數(shù)據(jù)。原方案問題分析原方案存在如下問題原方案的分表策略為按照終端號和當前月份分表。也就是一個終端,每一個月份 均建立一張表。此策略在查詢時可有效增加查詢速度,但是,在插入時存在問題原方案的 實現(xiàn)為插入數(shù)據(jù)時通過存儲過程實現(xiàn),沒此插入前,需判斷是否有目標數(shù)據(jù)表的存在,若 不存在,則生成目標數(shù)據(jù)表。此方法不宜應對頻繁插入的情況,因為每次都需要進行判斷。 實際測試中,發(fā)現(xiàn)并發(fā)數(shù)超過800將出現(xiàn)并發(fā)錯誤,修改其中的部分代碼可解決并發(fā)錯誤, 但是每次都要多做查詢目標表是否存在的判斷,對效率有所影響。原方案在數(shù)據(jù)插入時,采用來一條插一條的方式,此法在頻繁插入時效率不高。一 般來說,SQLSERVER在采用循環(huán)方式往數(shù)據(jù)庫插入數(shù)據(jù)時,每秒100條記錄即已幾乎達到極 限,即使考慮到服務器的因素,關系型數(shù)據(jù)庫采用常規(guī)方法也無法應付如此密集的數(shù)據(jù)插 入操作。在線狀況表的刷新,每次都需要將所有車輛的最新狀態(tài)執(zhí)行一次UPDATE,而且該 操作頻率極高,也極大增加數(shù)據(jù)庫的壓力。
發(fā)明內(nèi)容本實用新型的目的就是為了克服上述現(xiàn)有技術存在的缺陷而提供一種大量實時 數(shù)據(jù)存儲裝置。本實用新型的目的可以通過以下技術方案來實現(xiàn)一種大量實時數(shù)據(jù)存儲裝置,其特征在于,包括數(shù)據(jù)查詢服務器、數(shù)據(jù)存儲服務 器、數(shù)據(jù)分發(fā)服務器、數(shù)據(jù)網(wǎng)關、終端,所述的數(shù)據(jù)查詢服務器分別與數(shù)據(jù)存儲服務器、數(shù)據(jù) 分發(fā)服務器連接,所述的數(shù)據(jù)存儲服務器與數(shù)據(jù)分發(fā)服務器連接,所述的數(shù)據(jù)分發(fā)服務器 與數(shù)據(jù)網(wǎng)關連接,所述的數(shù)據(jù)網(wǎng)關與終端連接。所述的數(shù)據(jù)存儲服務器與數(shù)據(jù)分發(fā)服務器的數(shù)量相同,所述的數(shù)據(jù)存儲服務器與[0014]所述的數(shù)據(jù)分發(fā)服務器與數(shù)據(jù)網(wǎng)關的數(shù)量相同,所述的數(shù)據(jù)分發(fā)服務器與數(shù)據(jù)網(wǎng)
關一一對應。所述的數(shù)據(jù)網(wǎng)關設有多個,每個數(shù)據(jù)網(wǎng)關連接有多個終端。與現(xiàn)有技術相比,本實用新型具有可以配置多臺數(shù)據(jù)存儲服務器,也就是可以支 持更多的終端數(shù)。另外數(shù)據(jù)發(fā)布服務器處還實現(xiàn)了故障轉(zhuǎn)移功能。如果某臺存儲服務器 癱瘓,那么數(shù)據(jù)發(fā)布服務器將暫時存放傳輸?shù)臄?shù)據(jù),待存儲服務器恢復后將數(shù)據(jù)傳輸過 去.如果數(shù)據(jù)網(wǎng)關也癱瘓了的話,那么終端可以選擇發(fā)送給另一個數(shù)據(jù)網(wǎng)關,以保證服務 不間斷。
圖1為本實用新型的結構示意圖。
具體實施方式
以下結合附圖和具體實施例對本實用新型進行詳細說明。實施例如圖1所示,一種大量實時數(shù)據(jù)存儲裝置,包括數(shù)據(jù)查詢服務器1、數(shù)據(jù)存儲服務 器2、數(shù)據(jù)分發(fā)服務器3、數(shù)據(jù)網(wǎng)關4、終端,所述的數(shù)據(jù)查詢服務器1分別與數(shù)據(jù)存儲服務器 2、數(shù)據(jù)分發(fā)服務器3連接,所述的數(shù)據(jù)存儲服務器1與數(shù)據(jù)分發(fā)服務器3連接,所述的數(shù)據(jù) 分發(fā)服務器3與數(shù)據(jù)網(wǎng)關4連接,所述的數(shù)據(jù)網(wǎng)關4與終端連接。所述的數(shù)據(jù)存儲服務器2 與數(shù)據(jù)分發(fā)服務器3的數(shù)量相同,所述的數(shù)據(jù)存儲服務器2與數(shù)據(jù)分發(fā)服務器3 —一對應。 所述的數(shù)據(jù)分發(fā)服務器3與數(shù)據(jù)網(wǎng)關4的數(shù)量相同,所述的數(shù)據(jù)分發(fā)服務器3與數(shù)據(jù)網(wǎng)關 4 一一對應。所述的數(shù)據(jù)網(wǎng)關4設有多個,每個數(shù)據(jù)網(wǎng)關4連接有多個終端。本實用新型的工作流程如下1)數(shù)據(jù)查詢服務器1啟動,啟動后,將各終端對應數(shù)據(jù)網(wǎng)關4的對應表加載入內(nèi)存 中,并且對外提供查詢服務;2)數(shù)據(jù)存儲服務器2啟動,用于存儲數(shù)據(jù)分發(fā)服務器3分發(fā)來的數(shù)據(jù),同時響應數(shù) 據(jù)查詢服務器1的分布式查詢;3)數(shù)據(jù)分發(fā)服務器3進行數(shù)據(jù)分發(fā);4)數(shù)據(jù)查詢服務器1進行查詢。所述的步驟幻數(shù)據(jù)分發(fā)服務器3進行數(shù)據(jù)分發(fā)具體步驟如下1)先進行一次傳輸故障數(shù)據(jù)嘗試;2)加載終端與網(wǎng)關對應表;3)每隔10秒鐘向數(shù)據(jù)查詢服務器1注冊自己的運行狀況。4)當接收到上報數(shù)據(jù)時,更新最新在線狀態(tài)。所述的步驟4)當接收到上報數(shù)據(jù)時,更新最新在線狀態(tài)具體步驟如下1)如果發(fā)現(xiàn)并非自己負責的終端上報,則立即向數(shù)據(jù)查詢服務器提交信息;2)查找終端對應的數(shù)據(jù)存儲服務器2,向其傳輸數(shù)據(jù);3)如果傳輸失敗,失敗計數(shù)+1 ;[0035]4)如果傳輸成功,失敗計數(shù)歸0 ; 5)如果傳輸失敗次數(shù)達到5,則停止嘗試傳輸,激活故障轉(zhuǎn)移程序,將上報信息暫 存入本地SQLLITE數(shù)據(jù)庫,故障轉(zhuǎn)移程序每若干時間間隔,檢測終端對應的存儲服務器是 否以恢復上線。所述的步驟4)數(shù)據(jù)查詢服務器1進行查詢包括查詢實時在線信息和查詢歷史信 肩、ο所述的查詢實時在線信息步驟如下1)從對應表中找到此終端相應的數(shù)據(jù)分發(fā)服務器;2)查看其最近一分鐘內(nèi)有無注冊信息,若有,則向其進行查詢,若無,查找是否有 上報的轉(zhuǎn)移記錄。所述的查詢歷史信息步驟如下1)從對應表中找到終端相應的數(shù)據(jù)分發(fā)服務器;2)同時對設計到得終端進行異步查詢。
權利要求1.一種大量實時數(shù)據(jù)存儲裝置,其特征在于,包括數(shù)據(jù)查詢服務器、數(shù)據(jù)存儲服務器、 數(shù)據(jù)分發(fā)服務器、數(shù)據(jù)網(wǎng)關、終端,所述的數(shù)據(jù)查詢服務器分別與數(shù)據(jù)存儲服務器、數(shù)據(jù)分 發(fā)服務器連接,所述的數(shù)據(jù)存儲服務器與數(shù)據(jù)分發(fā)服務器連接,所述的數(shù)據(jù)分發(fā)服務器與 數(shù)據(jù)網(wǎng)關連接,所述的數(shù)據(jù)網(wǎng)關與終端連接。
2.根據(jù)權利要求1所述的一種大量實時數(shù)據(jù)存儲裝置,其特征在于,所述的數(shù)據(jù)存儲 服務器與數(shù)據(jù)分發(fā)服務器的數(shù)量相同,所述的數(shù)據(jù)存儲服務器與數(shù)據(jù)分發(fā)服務器一一對 應。
3.根據(jù)權利要求1所述的一種大量實時數(shù)據(jù)存儲裝置,其特征在于,所述的數(shù)據(jù)分發(fā) 服務器與數(shù)據(jù)網(wǎng)關的數(shù)量相同,所述的數(shù)據(jù)分發(fā)服務器與數(shù)據(jù)網(wǎng)關一一對應。
4.根據(jù)權利要求1所述的一種大量實時數(shù)據(jù)存儲裝置,其特征在于,所述的數(shù)據(jù)網(wǎng)關 設有多個,每個數(shù)據(jù)網(wǎng)關連接有多個終端。
專利摘要本實用新型涉及一種大量實時數(shù)據(jù)存儲裝置,包括數(shù)據(jù)查詢服務器、數(shù)據(jù)存儲服務器、數(shù)據(jù)分發(fā)服務器、數(shù)據(jù)網(wǎng)關、終端,所述的數(shù)據(jù)查詢服務器分別與數(shù)據(jù)存儲服務器、數(shù)據(jù)分發(fā)服務器連接,所述的數(shù)據(jù)存儲服務器與數(shù)據(jù)分發(fā)服務器連接,所述的數(shù)據(jù)分發(fā)服務器與數(shù)據(jù)網(wǎng)關連接,所述的數(shù)據(jù)網(wǎng)關與終端連接。與現(xiàn)有技術相比,本實用新型具有可以配置多臺數(shù)據(jù)存儲服務器,也就是可以支持更多的終端數(shù)等優(yōu)點。
文檔編號H04L29/08GK201893812SQ201020648348
公開日2011年7月6日 申請日期2010年12月8日 優(yōu)先權日2010年12月8日
發(fā)明者吳曉宇, 姚薇 申請人:上海遙薇(集團)有限公司