一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng)及方法,包括前置通信服務(wù)器集群、前置通信服務(wù)器集群接收終端上傳的原始數(shù)據(jù)幀,將數(shù)據(jù)解析后得到的原始數(shù)據(jù)文件存儲(chǔ)到本地磁盤,前置通信服務(wù)器集群將原始數(shù)據(jù)幀和原始數(shù)據(jù)文件轉(zhuǎn)存到所述MongoDB私有云存儲(chǔ)平臺(tái),采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)讀取所述MongoDB私有云存儲(chǔ)平臺(tái)的數(shù)據(jù)進(jìn)行處理后存儲(chǔ)到采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的生產(chǎn)庫和分析庫中,生產(chǎn)庫對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ),分析庫對(duì)生產(chǎn)庫的業(yè)務(wù)數(shù)據(jù)進(jìn)行分析處理,將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。它具有應(yīng)對(duì)海量采集數(shù)據(jù)給前置主站存儲(chǔ)能力帶來的挑戰(zhàn),現(xiàn)將采集數(shù)據(jù)存儲(chǔ)在本地緩存,滿足對(duì)海量數(shù)據(jù)的快速存儲(chǔ)和統(tǒng)一管理需求,降低對(duì)生產(chǎn)數(shù)據(jù)庫的入庫壓力的優(yōu)點(diǎn)。
【專利說明】一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng)及方法。
【背景技術(shù)】
[0002] 用電信息采集系統(tǒng)作為智能用電的重要組成部分,能夠?qū)崿F(xiàn)對(duì)用電數(shù)據(jù)的采集, 并基于采集的用電數(shù)據(jù)進(jìn)行管理、分析、決策,是提高用戶用電效率和優(yōu)化用電方式,落實(shí) 我國節(jié)能減排和階梯電價(jià)政策的重要抓手,是智能用電建設(shè)的重要內(nèi)容。國家電網(wǎng)公司深 入推進(jìn)"兩個(gè)轉(zhuǎn)變",積極構(gòu)建"三集五大"體系,在"十二五"期間提出用電信息采集"全覆 蓋、全采集、全控制"的建設(shè)目標(biāo),實(shí)現(xiàn)對(duì)所有電力用戶和關(guān)口的全面覆蓋,實(shí)現(xiàn)計(jì)量裝置在 線監(jiān)測(cè)和用戶負(fù)荷、電量、電壓等重要信息的實(shí)時(shí)采集,及時(shí)、完整、準(zhǔn)確地為相關(guān)系統(tǒng)提供 基礎(chǔ)數(shù)據(jù),為企業(yè)經(jīng)營管理各環(huán)節(jié)的分析、決策提供支撐。
[0003] 隨著"全覆蓋、全采集、全控制"建設(shè)目標(biāo)的實(shí)現(xiàn),用電信息采集系統(tǒng)覆蓋的電力現(xiàn) 場(chǎng)范圍進(jìn)一步擴(kuò)大,供電企業(yè)用電信息采集覆蓋的范圍從僅覆蓋重要的專線專變用戶,逐 漸擴(kuò)大到包括各類專線專變用戶、一般工商業(yè)戶、公變臺(tái)區(qū)等多種電力現(xiàn)場(chǎng),接入各類采集 終端及表計(jì)的規(guī)模也隨之增加,采集數(shù)據(jù)量線性增長,采集數(shù)據(jù)呈現(xiàn)海量趨勢(shì)。通過對(duì)采集 數(shù)據(jù)進(jìn)行分析,這些數(shù)據(jù)大多數(shù)是源碼數(shù)據(jù),以往用電信息采集系統(tǒng)對(duì)采集數(shù)據(jù)的存儲(chǔ)都 是將采集上來的源碼數(shù)據(jù)經(jīng)過解析后直接存儲(chǔ)到生產(chǎn)庫中。
[0004] 然而,一方面,用電信息采集系統(tǒng)具有采集任務(wù)執(zhí)行時(shí)段集中、高并發(fā)的特征,導(dǎo) 致部分時(shí)間段的數(shù)據(jù)入庫壓力較大,數(shù)據(jù)庫出現(xiàn)I/O瓶頸,使得系統(tǒng)的相關(guān)數(shù)據(jù)統(tǒng)計(jì)分析 業(yè)務(wù)得不到及時(shí)開展,嚴(yán)重影響了相關(guān)數(shù)據(jù)的查詢效率;
[0005] 另一方面,源碼數(shù)據(jù)是用電信息采集系統(tǒng)的基礎(chǔ)數(shù)據(jù),對(duì)通訊流量統(tǒng)計(jì)、通訊日志 記錄、電量計(jì)算、故障分析等有著至關(guān)重要的作用,而以往用電信息采集系統(tǒng)受策略限制無 法對(duì)源碼數(shù)據(jù)進(jìn)行長期保存,阻礙了對(duì)數(shù)據(jù)的深度應(yīng)用。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的就是為了解決上述問題,提供一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng) 及方法,它具有應(yīng)對(duì)海量采集數(shù)據(jù)給前置主站存儲(chǔ)能力帶來的挑戰(zhàn),現(xiàn)將采集數(shù)據(jù)存儲(chǔ)在 本地緩存,然后存儲(chǔ)到MongoDB私有云存儲(chǔ)平臺(tái)集中管理,滿足對(duì)海量數(shù)據(jù)的快速存儲(chǔ)和 統(tǒng)一管理需求,降低對(duì)生產(chǎn)數(shù)據(jù)庫的入庫壓力的優(yōu)點(diǎn)。
[0007] 為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0008] -種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng),包括前置通信服務(wù)器集群、MongoDB私有云 存儲(chǔ)平臺(tái)、采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái),所述前置通信服務(wù)器集群接收終端上傳的原始數(shù)據(jù)幀, 將數(shù)據(jù)解析后得到的原始數(shù)據(jù)文件存儲(chǔ)到本地磁盤,之后所述前置通信服務(wù)器集群將原始 數(shù)據(jù)幀和原始數(shù)據(jù)文件采用數(shù)據(jù)交叉復(fù)制備份的方式轉(zhuǎn)存到所述MongoDB私有云存儲(chǔ)平 臺(tái),之后所述采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)讀取所述MongoDB私有云存儲(chǔ)平臺(tái)的數(shù)據(jù)進(jìn)行處理后 存儲(chǔ)到所述采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的關(guān)系數(shù)據(jù)模塊的生產(chǎn)庫和分析庫中,生產(chǎn)庫對(duì)業(yè)務(wù)數(shù) 據(jù)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)終端調(diào)試、終端參數(shù)設(shè)置和采集數(shù)據(jù)實(shí)時(shí)性查詢操作,分析庫對(duì)生產(chǎn)庫 的業(yè)務(wù)數(shù)據(jù)進(jìn)行進(jìn)一步分析處理,實(shí)現(xiàn)采集成功率、終端在線率和線損合格率的統(tǒng)計(jì)分析, 并將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。
[0009] 所述前置通信服務(wù)器集群包括通信接口模塊、數(shù)據(jù)緩存模塊和配置庫;
[0010] 所述通信接口模塊包括通信管理接口、狀態(tài)監(jiān)控接口、任務(wù)管理接口、規(guī)約解析接 口和數(shù)據(jù)加載接口;
[0011] 所述通信管理接口實(shí)現(xiàn)前置通信服務(wù)器集群與終端間物理連接的建立;
[0012] 所述狀態(tài)監(jiān)控接口實(shí)現(xiàn)終端及服務(wù)器狀態(tài)的監(jiān)控;
[0013] 所述任務(wù)管理接口實(shí)現(xiàn)采集任務(wù)的統(tǒng)一管理:任務(wù)下發(fā)和終端事件上送;
[0014] 所述規(guī)約解析接口將采集到的原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì)象;
[0015] 所述元數(shù)據(jù)加載接口將解析后的數(shù)據(jù)原始對(duì)象加載到數(shù)據(jù)緩存模塊中。
[0016] 所述數(shù)據(jù)緩存模塊將原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)在本地磁盤中;
[0017] 所述配置庫負(fù)責(zé)終端及服務(wù)器的監(jiān)控信息、終端檔案信息、配置信息和采集任務(wù) 信息的組織和管理。
[0018] 所述MongoDB私有云存儲(chǔ)平臺(tái)包括數(shù)據(jù)存儲(chǔ)模塊、路由模塊和配置模塊;
[0019] 所述數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)前置服務(wù)器集群傳輸過來的原始數(shù)據(jù)幀及原始數(shù)據(jù)文 件;
[0020] 所述路由模塊用于管理配置模塊具體數(shù)據(jù)的存放信息;
[0021] 所述配置模塊用于保存數(shù)據(jù)到所在數(shù)據(jù)塊及所在數(shù)據(jù)塊到所在數(shù)據(jù)分片的映射, 并存儲(chǔ)所有需要采集數(shù)據(jù)測(cè)量點(diǎn)的采集狀態(tài)和采集成功率。
[0022] 所述采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)包括數(shù)據(jù)處理模塊和關(guān)系數(shù)據(jù)存儲(chǔ)模塊。
[0023] 所述關(guān)系數(shù)據(jù)存儲(chǔ)模塊包括生產(chǎn)庫和分析庫;
[0024] 所述生產(chǎn)庫存儲(chǔ)業(yè)務(wù)數(shù)據(jù);
[0025] 所述分析庫用于分擔(dān)生產(chǎn)庫的壓力,用于指標(biāo)數(shù)據(jù)查詢、統(tǒng)計(jì)分析和報(bào)表導(dǎo)出。
[0026] 所述數(shù)據(jù)處理模塊包括檔案緩存、數(shù)據(jù)持久化接口和大數(shù)據(jù)管理引擎,用于實(shí)現(xiàn) 檔案信息同步,用于原始采集數(shù)據(jù)的計(jì)算和轉(zhuǎn)存,還用于提供記錄終端采集狀態(tài)的全部檔 案信息。
[0027] 所述大數(shù)據(jù)管理引擎從MongoDB私有云存儲(chǔ)平臺(tái)中讀取原始數(shù)據(jù)文件,針對(duì)不同 數(shù)據(jù)類型的數(shù)據(jù)制定不同優(yōu)先級(jí)的調(diào)度和管理。
[0028] 所述檔案緩存從生產(chǎn)庫中同步檔案信息,通過大數(shù)據(jù)管理引擎的處理計(jì)算生成業(yè) 務(wù)數(shù)據(jù)。
[0029] 所述數(shù)據(jù)持久化接口按照檔案緩存中的檔案將大數(shù)據(jù)管理引擎生成的業(yè)務(wù)數(shù)據(jù) 存入關(guān)系數(shù)據(jù)存儲(chǔ)模塊。
[0030] 一種海量智能用電數(shù)據(jù)混合存儲(chǔ)方法,包括如下步驟:
[0031] 步驟(1):前置通信服務(wù)器集群通過通信管理接口接收終端上傳的原始數(shù)據(jù)幀, 根據(jù)終端編號(hào)將其解析成原始數(shù)據(jù)對(duì)象,以文件的形式存入到本地磁盤;
[0032] 步驟(2):將原始數(shù)據(jù)幀以及原始數(shù)據(jù)對(duì)象采用數(shù)據(jù)交叉復(fù)制備份的方式轉(zhuǎn)存到 MongoDB私有云存儲(chǔ)平臺(tái)的各個(gè)服務(wù)器上;
[0033] 步驟(3):采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理模塊讀取并處理MongoDB私有云存 儲(chǔ)平臺(tái)的數(shù)據(jù),形成業(yè)務(wù)數(shù)據(jù)后存儲(chǔ)到關(guān)系數(shù)據(jù)模塊的生產(chǎn)庫和分析庫中,生產(chǎn)庫對(duì)業(yè)務(wù) 數(shù)據(jù)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)終端調(diào)試、終端參數(shù)設(shè)置和采集數(shù)據(jù)實(shí)時(shí)性查詢操作,分析庫對(duì)生產(chǎn) 庫的業(yè)務(wù)數(shù)據(jù)進(jìn)行進(jìn)一步分析處理,實(shí)現(xiàn)采集成功率、終端在線率和線損合格率的統(tǒng)計(jì)分 析,并將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。
[0034] 所述步驟(1)的步驟為:
[0035] 步驟(1-1):前置通信服務(wù)器集群通過通信接口模塊的通信管理接口與采集終端 建立Session連接,獲取該采集終端的終端編號(hào)及原始數(shù)據(jù)幀,并將終端編號(hào)寫入Session 中以便對(duì)原始數(shù)據(jù)幀進(jìn)行數(shù)據(jù)所屬終端的標(biāo)識(shí),通過元數(shù)據(jù)加載接口獲取原始數(shù)據(jù)幀及對(duì) 應(yīng)的Session,將原始數(shù)據(jù)巾貞存入MongoDB私有云存儲(chǔ)平臺(tái),并從Session中讀取原始數(shù)據(jù) 幀對(duì)應(yīng)的終端編號(hào);
[0036] 步驟(1-2):查詢終端編號(hào)是否為空,如果為空就進(jìn)入步驟(1-3);如果不為空就 進(jìn)入步驟(1-4);
[0037] 步驟(1-3):終端編號(hào)為空,則解析原始數(shù)據(jù)幀對(duì)應(yīng)的終端地址碼并查看終端地 址碼是否在終端檔案表中;
[0038] 如果終端地址碼在終端檔案表中,則根據(jù)解析出的終端地址碼及原始數(shù)據(jù)幀的 Session號(hào)對(duì)終端檔案表進(jìn)行更新,設(shè)定終端狀態(tài),同時(shí)將原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì) 象,然后進(jìn)入步驟(1-5);
[0039] 如果終端地址碼不在檔案表中,證明終端為非授權(quán)終端,丟棄原始數(shù)據(jù)幀,結(jié)束;
[0040] 步驟(1-4):終端檔案編號(hào)不為空,通過規(guī)約解析接口識(shí)別出原始數(shù)據(jù)幀的控制 碼、地址碼和功能碼,并將原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì)象;進(jìn)入步驟(1-5);所述原始數(shù) 據(jù)對(duì)象包括數(shù)據(jù)唯一標(biāo)識(shí)、時(shí)標(biāo)、采集質(zhì)量碼、終端凍結(jié)時(shí)間和量值;
[0041] 步驟(1-5):將原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)到本地磁盤,更新MongoDB私有云 存儲(chǔ)平臺(tái)的日志表,同時(shí)將文件基本信息寫入配置庫中。
[0042] 所述步驟(1-5)的步驟為:將解析后的原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)在本地磁 盤中,原始數(shù)據(jù)對(duì)象以鍵值對(duì)的形式存儲(chǔ)在文件中,包括數(shù)據(jù)唯一標(biāo)識(shí)、時(shí)標(biāo)、采集質(zhì)量碼、 終端凍結(jié)時(shí)間和量值信息,當(dāng)文件達(dá)到預(yù)先設(shè)定的文件大小或者是文件在很長一段時(shí)間內(nèi) 未發(fā)生變化,則置文件為寫完?duì)顟B(tài),并將其存入MongoDB私有云存儲(chǔ)平臺(tái),將文件的上傳開 始時(shí)間寫入配置庫,循環(huán)檢測(cè)文件狀態(tài),直到把本地磁盤文件中的所有原始數(shù)據(jù)文件都上 傳完成,將文件上傳完成時(shí)間寫入配置庫,并將上傳成功的文件從本地磁盤中刪除以留出 磁盤空間存儲(chǔ)終端實(shí)時(shí)上送的采集數(shù)據(jù)。
[0043] 所述步驟(1-5)的文件基本信息包括文件編號(hào)、前置通信服務(wù)器編號(hào)、文件完整 路徑、文件名、文件是否已經(jīng)被刪除、高低壓標(biāo)識(shí)、曲線日凍結(jié)標(biāo)識(shí)、文件拆分標(biāo)識(shí)、文件類 型和VIP標(biāo)識(shí)。
[0044] 所述高低壓標(biāo)識(shí)包括高壓、低壓、變電站和以熱定電。
[0045] 所述曲線日凍結(jié)標(biāo)識(shí)包括日凍結(jié)、曲線、月凍結(jié)、抄表日凍結(jié)和熱電數(shù)據(jù)。
[0046] 所述文件拆分標(biāo)識(shí)包括未拆分的文件和拆分后的文件。
[0047] 所述文件類型和VIP標(biāo)識(shí)包括普通文件和VIP文件。
[0048] 所述步驟(2)的步驟為:
[0049] 步驟(2-1):前置通信服務(wù)器集群定時(shí)監(jiān)測(cè)配置庫中原始數(shù)據(jù)文件狀態(tài),將文件 狀態(tài)為完成且未上傳的文件上傳至MongoDB私有云存儲(chǔ)平臺(tái)的數(shù)據(jù)存儲(chǔ)模塊;將文件的上 傳完成時(shí)間寫入配置庫;
[0050] 步驟(2-2) :MongoDB私有云存儲(chǔ)平臺(tái)通過部署MongoDB集群,將前置通信服務(wù)器 集群上送的原始數(shù)據(jù)幀及原始數(shù)據(jù)對(duì)象文件存儲(chǔ)在MongoDB私有云存儲(chǔ)平臺(tái)的服務(wù)器的 數(shù)據(jù)存儲(chǔ)模塊中,如果終端數(shù)量不斷增加使得現(xiàn)有服務(wù)器不能滿足不斷增加的原始數(shù)據(jù)文 件的存儲(chǔ)需求,則動(dòng)態(tài)增加新服務(wù)器,提高系統(tǒng)的存儲(chǔ)能力,原始數(shù)據(jù)幀及原始數(shù)據(jù)對(duì)象以 json文件格式存放,在文件中以鍵值對(duì)形式存在;
[0051] 步驟(2-3):在MongoDB私有云存儲(chǔ)平臺(tái)的每臺(tái)服務(wù)器上對(duì)數(shù)據(jù)文件進(jìn)行分片存 儲(chǔ),每個(gè)分片包括若干數(shù)據(jù)塊,如果某數(shù)據(jù)塊超出限定大小,則生成新的多個(gè)數(shù)據(jù)塊;一個(gè) 分片為一個(gè)副本集,使用交叉復(fù)制備份的方式,將同一副本集的多個(gè)副本部署于不同的服 務(wù)器下,同時(shí)將不同分片的副本交叉部署于同一臺(tái)服務(wù)器下,最后將MongoDB私有云存儲(chǔ) 平臺(tái)的服務(wù)器集群消耗資源較小的配置模塊以及路由模塊部署到各個(gè)服務(wù)器上,部署多個(gè) 配置模塊以及路由模塊確保整個(gè)MongoDB私有云存儲(chǔ)平臺(tái)在一個(gè)服務(wù)器宕機(jī)的情況下,整 個(gè)服務(wù)器集群的運(yùn)行情況不會(huì)受到影響。
[0052] 所述步驟(2-2)的原始數(shù)據(jù)幀,文件中的每一行存儲(chǔ)一個(gè)原始數(shù)據(jù)幀,每個(gè)原始 數(shù)據(jù)幀包括所屬終端標(biāo)識(shí)、上下行數(shù)據(jù)標(biāo)識(shí)和具體數(shù)據(jù)幀,
[0053] 所述步驟(2-2)的原始數(shù)據(jù)對(duì)象,包括數(shù)據(jù)唯一標(biāo)識(shí)、時(shí)標(biāo)、采集質(zhì)量碼、終端凍 結(jié)時(shí)間和量值。
[0054] 所述路由模塊負(fù)責(zé)查詢配置模塊找到數(shù)據(jù)的存放位置,所述配置模塊保存了兩個(gè) 映射關(guān)系,一個(gè)是數(shù)據(jù)與存放該數(shù)據(jù)的數(shù)據(jù)塊的映射關(guān)系,另一個(gè)是數(shù)據(jù)塊與存放該數(shù)據(jù) 塊的分片的映射關(guān)系。
[0055] 所述步驟(3)的步驟為:
[0056] 步驟(3-1):采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理模塊通過讀取前置通信服務(wù)器集 群的配置庫,查詢未進(jìn)行數(shù)據(jù)轉(zhuǎn)存的文件位置信息;
[0057] 步驟(3-2):采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理模塊從MongoDB私有云存儲(chǔ)平臺(tái) 中讀取步驟(3-1)中的未進(jìn)行數(shù)據(jù)轉(zhuǎn)存的文件,并將文件讀取開始時(shí)間寫入配置庫;
[0058] 步驟(3-3):數(shù)據(jù)處理模塊從數(shù)據(jù)緩存模塊中獲取未進(jìn)行數(shù)據(jù)轉(zhuǎn)存的文件的檔案 信息,通過大數(shù)據(jù)管理引擎對(duì)不同類型的數(shù)據(jù)指定不同的優(yōu)先級(jí),并進(jìn)行調(diào)度和管理;如針 對(duì)變電站、高壓用戶、低壓用戶進(jìn)行電壓、負(fù)荷、電流、表碼數(shù)據(jù)等不同類型數(shù)據(jù)制定不同優(yōu) 先級(jí)的調(diào)度和管理;
[0059] 步驟(3-4):將文件讀取結(jié)束的時(shí)間寫入配置庫,將經(jīng)大數(shù)據(jù)管理引擎處理過的 業(yè)務(wù)數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫中;所述大數(shù)據(jù)管理引擎的處理包括:進(jìn)行相應(yīng)的費(fèi)率校驗(yàn)、 PT、CT、綜合倍率計(jì)算、電量計(jì)算和總加組功率計(jì)算,形成業(yè)務(wù)數(shù)據(jù),將形成的業(yè)務(wù)數(shù)據(jù)存入 關(guān)系數(shù)據(jù)庫的生產(chǎn)庫和分析庫中,
[0060] 生產(chǎn)庫對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)終端調(diào)試、終端參數(shù)設(shè)置和采集數(shù)據(jù)實(shí)時(shí)性查 詢操作,
[0061] 分析庫對(duì)生產(chǎn)庫的業(yè)務(wù)數(shù)據(jù)進(jìn)行進(jìn)一步分析處理,實(shí)現(xiàn)采集成功率、終端在線率 和線損合格率的統(tǒng)計(jì)分析,并將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。
[0062] 所述步驟(3-2)的讀取過程是指:
[0063] 采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理單元訪問MongoDB私有云存儲(chǔ)平臺(tái)中的路由 模塊,路由模塊通過配置模塊獲取原始數(shù)據(jù)文件的配置信息,找到存放原始數(shù)據(jù)文件的分 片及分片上對(duì)應(yīng)的具體數(shù)據(jù)塊位置,從數(shù)據(jù)塊中逐行讀取出原始數(shù)據(jù)文件。
[0064] 本發(fā)明的有益效果:
[0065] (1)本發(fā)明設(shè)計(jì)的海量智能用電數(shù)據(jù)混合存儲(chǔ)裝置,應(yīng)對(duì)海量采集數(shù)據(jù)給前置主 站存儲(chǔ)能力帶來的挑戰(zhàn),現(xiàn)將采集數(shù)據(jù)存儲(chǔ)在本地緩存,然后存儲(chǔ)到MongoDB私有云存儲(chǔ) 平臺(tái)集中管理,滿足對(duì)海量數(shù)據(jù)的快速存儲(chǔ)和統(tǒng)一管理需求,降低對(duì)生產(chǎn)數(shù)據(jù)庫的入庫壓 力。
[0066] (2)本發(fā)明構(gòu)建的MongoDB私有云存儲(chǔ)平臺(tái),通過分布式的服務(wù)器部署模式,分擔(dān) 單個(gè)服務(wù)器的負(fù)載壓力,使用數(shù)據(jù)交叉復(fù)制備份的方式保證數(shù)據(jù)的安全性,在終端不斷增 加的情況下,通過動(dòng)態(tài)增加新服務(wù)器的方式增加系統(tǒng)的存儲(chǔ)能力,保證采集數(shù)據(jù)的長久、可 靠存儲(chǔ)。
[0067] (3)本發(fā)明設(shè)計(jì)的采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)中的關(guān)系數(shù)據(jù)存儲(chǔ)模塊采用數(shù)據(jù)分庫技 術(shù),將關(guān)系數(shù)據(jù)庫劃分為生產(chǎn)庫和分析庫,使得原依賴生產(chǎn)庫的統(tǒng)計(jì)分析等復(fù)雜應(yīng)用遷移 至分析庫中,保證了生產(chǎn)庫單一的數(shù)據(jù)采集入庫及基本應(yīng)用功能,降低生產(chǎn)庫壓力,并為統(tǒng) 計(jì)分析、數(shù)據(jù)查詢等高級(jí)操作部署單獨(dú)的資源,提升復(fù)雜統(tǒng)計(jì)分析應(yīng)用以及數(shù)據(jù)處理的效 率,使得高級(jí)查詢分析功能響應(yīng)速度大幅提升,有效減輕生產(chǎn)庫壓力。
[0068] (4)在MongoDB私有云存儲(chǔ)平臺(tái)的每臺(tái)服務(wù)器上對(duì)數(shù)據(jù)文件進(jìn)行分片存儲(chǔ),每個(gè) 分片包括若干數(shù)據(jù)塊,當(dāng)數(shù)據(jù)塊超出限定大小,就將其分裂成兩個(gè)數(shù)據(jù)塊。一個(gè)分片為一個(gè) 副本集,使用交叉復(fù)制備份的方式,將同一副本集的多個(gè)副本部署于不同的服務(wù)器下,保證 數(shù)據(jù)的準(zhǔn)確安全,同時(shí)將不同分片的副本交叉部署于同一臺(tái)服務(wù)器下以充分利用服務(wù)器的 各項(xiàng)資源,最后將私有云存儲(chǔ)服務(wù)器集群消耗資源較小的配置模塊以及路由模塊部署到各 個(gè)節(jié)點(diǎn)服務(wù)器上,部署多個(gè)配置模塊以及路由模塊確保整個(gè)MongoDB私有云存儲(chǔ)平臺(tái)在一 個(gè)服務(wù)器宕機(jī)的情況下整個(gè)集群的運(yùn)行情況不會(huì)受到影響,路由模塊負(fù)責(zé)查詢配置模塊找 到數(shù)據(jù)的存放位置,配置模塊保存了兩個(gè)映射關(guān)系,一個(gè)是數(shù)據(jù)都存放在那些數(shù)據(jù)塊上的 映射關(guān)系,另一個(gè)是數(shù)據(jù)塊都存放在哪些分片上的映射關(guān)系。
【專利附圖】
【附圖說明】
[0069] 圖1為海量智能用電數(shù)據(jù)混合存儲(chǔ)裝置整體架構(gòu);
[0070] 圖2為海量智能用電數(shù)據(jù)存儲(chǔ)整體流程;
[0071] 圖3為海量智能用電數(shù)據(jù)本地磁盤緩存流程;
[0072] 圖4為海量智能用電數(shù)據(jù)MongoDB私有云存儲(chǔ)流程;
[0073]圖5為采集數(shù)據(jù)轉(zhuǎn)存計(jì)算流程。
【具體實(shí)施方式】
[0074] 下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0075] 本發(fā)明實(shí)施例提供一種海量智能用電數(shù)據(jù)混合存儲(chǔ)方法與裝置。海量智能用電數(shù) 據(jù)混合存儲(chǔ)是將從采集終端上送的采集數(shù)據(jù)先持久化到前置主站的本地磁盤,然后將其集 中存入MongoDB私有云存儲(chǔ)平臺(tái)中,并將海量智能用電數(shù)據(jù)的存儲(chǔ)情況寫入配置庫,數(shù)據(jù) 處理單元讀取MongoDB私有云存儲(chǔ)平臺(tái)中的原始數(shù)據(jù)文件,然后將其進(jìn)行一系列的計(jì)算, 形成業(yè)務(wù)數(shù)據(jù),存入關(guān)系數(shù)據(jù)庫中。
[0076] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
[0077] 參考圖1,是本發(fā)明一種海量智能用電數(shù)據(jù)混合存儲(chǔ)裝置,該裝置包括:
[0078] -種海量智能用電數(shù)據(jù)混合存儲(chǔ)裝置,涉及前置通信服務(wù)器集群100、MongoDB私 有云存儲(chǔ)平臺(tái)200、采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)300。
[0079] 前置通信服務(wù)器集群100包括通信接口模塊101、數(shù)據(jù)緩存模塊102、配置庫103。
[0080] 通信接口模塊101包括通信管理接口、狀態(tài)監(jiān)控接口、任務(wù)管理接口、規(guī)約解析接 口、數(shù)據(jù)加載接口等,通信管理接口實(shí)現(xiàn)前置通信服務(wù)器集群與終端間物理連接的建立,狀 態(tài)監(jiān)控接口實(shí)現(xiàn)終端及服務(wù)器狀態(tài)信息的監(jiān)控,任務(wù)管理接口實(shí)現(xiàn)采集任務(wù)下發(fā)、終端事 件上送等任務(wù)的統(tǒng)一管理,規(guī)約解析接口將采集到的原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì)象,數(shù) 據(jù)加載接口將解析后的數(shù)據(jù)原始對(duì)象加載到數(shù)據(jù)緩存模塊中。
[0081] 數(shù)據(jù)緩存模塊102將原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)在本地磁盤中。
[0082] 配置庫103主要負(fù)責(zé)終端及服務(wù)器狀態(tài)監(jiān)控信息、終端檔案信息、配置信息、采集 任務(wù)信息以及終端采集信息等相關(guān)信息的組織和管理。
[0083] MongoDB私有云存儲(chǔ)平臺(tái)200包括數(shù)據(jù)存儲(chǔ)模塊201、路由模塊202、配置模塊 203。
[0084] 數(shù)據(jù)存儲(chǔ)模塊201存儲(chǔ)前置服務(wù)器集群傳輸過來的原始數(shù)據(jù)幀及原始數(shù)據(jù)文件。
[0085] 路由模塊202管理配置模塊中原始數(shù)據(jù)幀及原始數(shù)據(jù)文件的存放信息。
[0086] 配置模塊203保存數(shù)據(jù)到所在數(shù)據(jù)塊及所在數(shù)據(jù)塊到所在數(shù)據(jù)分片的映射,并存 儲(chǔ)所有需要采集數(shù)據(jù)測(cè)量點(diǎn)的采集狀態(tài)、采集成功率等日志信息。
[0087] 采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)300包括數(shù)據(jù)處理模塊301、關(guān)系數(shù)據(jù)存儲(chǔ)模塊302。
[0088] 數(shù)據(jù)處理模塊301包括檔案緩存、大數(shù)據(jù)管理引擎、數(shù)據(jù)持久化接口。檔案緩存實(shí) 現(xiàn)終端檔案信息加載和同步,提供記錄終端采集狀態(tài)的全部檔案信息。大數(shù)據(jù)管理引擎從 MongoDB私有云存儲(chǔ)平臺(tái)中讀取原始數(shù)據(jù)文件,針對(duì)不同數(shù)據(jù)類型制定不同優(yōu)先級(jí)的調(diào)度 和管理,針對(duì)變電站、高壓用戶、低壓用戶的電壓、負(fù)荷、電流、表碼數(shù)據(jù)計(jì)算和存儲(chǔ)制定不 同級(jí)別的調(diào)度管理,生成業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)持久化接口按照檔案緩存中的檔案將業(yè)務(wù)數(shù)據(jù)存 儲(chǔ)到關(guān)系數(shù)據(jù)存儲(chǔ)模塊302中。
[0089] 關(guān)系數(shù)據(jù)存儲(chǔ)模塊302包括生產(chǎn)庫和分析庫,生產(chǎn)庫存儲(chǔ)與查詢相關(guān)的所有業(yè)務(wù) 數(shù)據(jù),分析庫用于分擔(dān)生產(chǎn)庫的壓力,側(cè)重于指標(biāo)數(shù)據(jù)查詢、統(tǒng)計(jì)分析、報(bào)表導(dǎo)出等復(fù)雜應(yīng) 用分析,分析庫分析完成后將分析結(jié)果寫回生產(chǎn)庫。
[0090] 如圖2所示,一種海量智能用電數(shù)據(jù)混合存儲(chǔ)方法主要包括海量智能用電數(shù)據(jù)的 本地磁盤緩存、海量智能用電數(shù)據(jù)的MongoDB私有云存儲(chǔ)、海量智能用電數(shù)據(jù)的轉(zhuǎn)存計(jì)算 三個(gè)部分。
[0091] 如圖3所示,其中,海量智能用電數(shù)據(jù)的本地磁盤緩存是這樣實(shí)現(xiàn)的:
[0092] (1)采集終端通過前置服務(wù)器集群模塊開放的Socket端口進(jìn)行三次握手建立TCP 連接,生成Session對(duì)象,將終端編號(hào)放入Session對(duì)象中供解析數(shù)據(jù)時(shí)使用,并上送由控 制碼、地址碼、功能碼、幀序列域、數(shù)據(jù)單元標(biāo)識(shí)、數(shù)據(jù)時(shí)標(biāo)、數(shù)據(jù)內(nèi)容組成的電能示值、電 壓、電流、功率等原始數(shù)據(jù)幀。主站獲取終端上送的原始數(shù)據(jù)幀及其對(duì)應(yīng)的Session號(hào),并 從Session中獲取終端編號(hào);
[0093] (2)將獲取到的原始數(shù)據(jù)幀存入MongoDB私有云存儲(chǔ)平臺(tái)中,判斷從Session中取 得的終端編號(hào)是否為空,如不為空轉(zhuǎn)至(7),如為空轉(zhuǎn)至(3);
[0094] (3)解析出原始數(shù)據(jù)幀對(duì)應(yīng)的終端地址碼;
[0095] (4)根據(jù)解析出的終端地址碼查詢終端檔案表,查詢終端是否在檔案表中,如果查 詢終端不在檔案表中轉(zhuǎn)至¢),如在檔案表中轉(zhuǎn)至(5);
[0096] (5)根據(jù)解析出的終端地址碼及報(bào)文的Session號(hào)對(duì)終端檔案進(jìn)行更新,設(shè)定終 端的狀態(tài)為終端上線或者狀態(tài)保持,轉(zhuǎn)至(7);
[0097] (6)證明終端為非授權(quán)終端,丟棄原始數(shù)據(jù)幀;
[0098] (7)對(duì)原始數(shù)據(jù)幀進(jìn)行解析,識(shí)別控制碼、地址碼、功能碼、幀序列域、數(shù)據(jù)單元標(biāo) 識(shí)、數(shù)據(jù)時(shí)標(biāo)、數(shù)據(jù)內(nèi)容等信息,形成由key-value鍵值對(duì)組成的原始數(shù)據(jù)對(duì)象。
[0099] (8)對(duì)原始數(shù)據(jù)對(duì)象做持久化處理,把原始數(shù)據(jù)寫入本地磁盤文件,原始數(shù)據(jù)對(duì)象 以key-value鍵值對(duì)的形式存在于本地磁盤文件中,當(dāng)文件達(dá)到以下三個(gè)條件中的任意一 個(gè),則將文件置為寫完標(biāo)志。
[0100] >文件大小超過了設(shè)定的閾值;
[0101] >文件在足夠長一段時(shí)間內(nèi)未發(fā)生變化,超過時(shí)間閾值;
[0102] >文件從開始建立一直處于寫入狀態(tài),但是經(jīng)過足夠長的時(shí)間仍然未達(dá)到文件的 大小閾值,超過了時(shí)間閾值。
[0103] (9)將文件的寫入時(shí)間、文件的狀態(tài)等基本信息寫入配置庫,同時(shí)將采集數(shù)據(jù)測(cè)量 點(diǎn)的采集狀態(tài)寫入MongoDB私有云存儲(chǔ)平臺(tái)中的配置模塊的日志表中;
[0104] (10)定時(shí)查詢配置庫,對(duì)采集數(shù)據(jù)文件的狀態(tài)進(jìn)行監(jiān)測(cè),將文件狀態(tài)為寫完且未 上傳至MongoDB私有云存儲(chǔ)平臺(tái)的文件上傳至MongoDB私有云存儲(chǔ)平臺(tái)中,并將文件上傳 時(shí)間及上傳完成時(shí)間寫入配置庫。
[0105] (11)上傳成功的文件可在本地磁盤存儲(chǔ)一定時(shí)間,時(shí)間可配置,文件超時(shí)后,本地 磁盤自動(dòng)刪除文件及目錄。
[0106] 如圖4所示,海量智能用電數(shù)據(jù)的MongoDB私有云存儲(chǔ)是這樣實(shí)現(xiàn)的:
[0107] (I)MongoDB私有云存儲(chǔ)接收原始數(shù)據(jù)巾貞及原始數(shù)據(jù)文件,將其以key-value鍵值 對(duì)的形式存儲(chǔ)到MongoDB服務(wù)器集群中,在存儲(chǔ)時(shí)對(duì)數(shù)據(jù)進(jìn)行分片,在每個(gè)分片中數(shù)據(jù)分 塊存儲(chǔ),路由節(jié)點(diǎn)在存儲(chǔ)數(shù)據(jù)時(shí)判斷當(dāng)前分片中的數(shù)據(jù)塊是否超出限定大小,如果超出限 定大小就將其分裂成兩個(gè)數(shù)據(jù)塊,配置節(jié)點(diǎn)記錄下數(shù)據(jù)存儲(chǔ)到分片的映射及分片到所在數(shù) 據(jù)塊的映射。
[0108] (2) -個(gè)分片為一個(gè)副本集,使用數(shù)據(jù)交叉復(fù)制備份的方式,將同一副本集的多個(gè) 節(jié)點(diǎn)部署于不同的服務(wù)器下,保證數(shù)據(jù)的準(zhǔn)確安全。
[0109] (3)將不同分片節(jié)點(diǎn)的副本交叉部署于同一臺(tái)服務(wù)器下,以充分利用服務(wù)器的各 項(xiàng)資源。
[0110] (4)將云存儲(chǔ)集群消耗資源較小的配置模塊以及路由模塊部署到各個(gè)節(jié)點(diǎn)服務(wù)器 上,部署多個(gè)配置模塊以及路由模塊確保整個(gè)MongoDB私有云存儲(chǔ)平臺(tái)在一個(gè)服務(wù)器宕機(jī) 的情況下整個(gè)集群的運(yùn)行情況不會(huì)受到影響。
[0111] 如圖5所示,海量智能用電數(shù)據(jù)的轉(zhuǎn)存計(jì)算是這樣實(shí)現(xiàn)的:
[0112] (1)數(shù)據(jù)處理單元定時(shí)監(jiān)測(cè)配置庫中未進(jìn)行數(shù)據(jù)轉(zhuǎn)存計(jì)算的文件信息,參照這部 分文件信息,采用Socket通訊方式,基于Tcp/ip的標(biāo)準(zhǔn)命令,將MongoDB中的這部分文件 進(jìn)行提取,提取過程如下:
[0113] 按照未進(jìn)行數(shù)據(jù)轉(zhuǎn)存文件中數(shù)據(jù)對(duì)象的唯一標(biāo)識(shí)讀取MongoDB私有云存儲(chǔ)平臺(tái) 中的路由模塊,通過路由模塊得到數(shù)據(jù)對(duì)象所在的分片及所在的數(shù)據(jù)塊,然后在其位置上 讀取相應(yīng)的數(shù)據(jù)。
[0114] (2)數(shù)據(jù)處理單元將提取到的文件提交給大數(shù)據(jù)管理引擎,大數(shù)據(jù)管理引擎針對(duì) 不同數(shù)據(jù)類型制定不同優(yōu)先級(jí)的調(diào)度和管理,進(jìn)行變電站、高壓用戶、低壓用戶等的電壓、 功率、電流、表碼數(shù)據(jù)的統(tǒng)計(jì)。
[0115] (3)對(duì)統(tǒng)計(jì)數(shù)據(jù)進(jìn)行處理、校驗(yàn)以及相應(yīng)的計(jì)算,形成用電量、總加組功率、電流、 電壓等業(yè)務(wù)數(shù)據(jù)。
[0116] (4)將最終的業(yè)務(wù)數(shù)據(jù)同時(shí)提交給生產(chǎn)庫和分析庫,生產(chǎn)庫實(shí)現(xiàn)終端調(diào)試、終端參 數(shù)設(shè)置、采集數(shù)據(jù)實(shí)時(shí)性查詢等對(duì)時(shí)效性要求比較高的業(yè)務(wù)操作,分析庫實(shí)現(xiàn)采集成功率、 終端在線率、線損合格率等的高級(jí)統(tǒng)計(jì)分析,并將分析結(jié)果回寫到生產(chǎn)庫中供查詢使用。
[0117] 本發(fā)明已經(jīng)在國家電網(wǎng)科技項(xiàng)目《提高用電營銷管理與服務(wù)水平的智能用電技術(shù) 研究》中得到了應(yīng)用,應(yīng)用效果良好,有效減輕了生產(chǎn)庫的入庫壓力(生產(chǎn)數(shù)據(jù)庫服務(wù)器 (PU負(fù)載可長時(shí)間穩(wěn)定在40%以下),通過設(shè)計(jì)MongoDB私有云存儲(chǔ)平臺(tái),海量源碼數(shù)據(jù)得 到了長期可靠存儲(chǔ),平臺(tái)日數(shù)據(jù)更新量超過30億次、日文件存儲(chǔ)量超過1000G。同時(shí),通訊 流量統(tǒng)計(jì)、通訊日志記錄、電量計(jì)算、故障分析等統(tǒng)計(jì)分析業(yè)務(wù)都需要通過對(duì)海量源碼數(shù)據(jù) 的查詢來完成,MongoDB私有云存儲(chǔ)平臺(tái)以文件形式存儲(chǔ)源碼數(shù)據(jù),可滿足源碼數(shù)據(jù)的快速 查詢,進(jìn)而提升了統(tǒng)計(jì)分析應(yīng)用效率,與使用關(guān)系數(shù)據(jù)庫存儲(chǔ)源碼數(shù)據(jù)相比,數(shù)據(jù)查詢效率 大幅提升,如使用關(guān)系數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)時(shí)對(duì)2000萬條數(shù)據(jù)查詢需要20ms,而使用MongoDB 私有云存儲(chǔ)平臺(tái)存儲(chǔ)數(shù)據(jù)時(shí),查詢2000萬條數(shù)據(jù)只需要4ms。
[0118] 上述雖然結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行了描述,但并非對(duì)本發(fā)明保護(hù)范 圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不 需要付出創(chuàng)造性勞動(dòng)即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。
【權(quán)利要求】
1. 一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng),其特征是,包括前置通信服務(wù)器集群、 MongoDB私有云存儲(chǔ)平臺(tái)、采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái),所述前置通信服務(wù)器集群接收終端上傳 的原始數(shù)據(jù)幀,將數(shù)據(jù)解析后得到的原始數(shù)據(jù)文件存儲(chǔ)到本地磁盤,之后所述前置通信服 務(wù)器集群將原始數(shù)據(jù)幀和原始數(shù)據(jù)文件采用數(shù)據(jù)交叉復(fù)制備份的方式轉(zhuǎn)存到所述MongoDB 私有云存儲(chǔ)平臺(tái),之后所述采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)讀取所述MongoDB私有云存儲(chǔ)平臺(tái)的數(shù) 據(jù)進(jìn)行處理后存儲(chǔ)到所述采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的關(guān)系數(shù)據(jù)模塊的生產(chǎn)庫和分析庫中,生 產(chǎn)庫對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)終端調(diào)試、終端參數(shù)設(shè)置和采集數(shù)據(jù)實(shí)時(shí)性查詢操作,分 析庫對(duì)生產(chǎn)庫的業(yè)務(wù)數(shù)據(jù)進(jìn)行進(jìn)一步分析處理,實(shí)現(xiàn)采集成功率、終端在線率和線損合格 率的統(tǒng)計(jì)分析,并將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。
2. 如權(quán)利要求1所述的一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng),其特征是, 所述前置通信服務(wù)器集群包括通信接口模塊、數(shù)據(jù)緩存模塊和配置庫; 所述通信接口模塊包括通信管理接口、狀態(tài)監(jiān)控接口、任務(wù)管理接口、規(guī)約解析接口和 數(shù)據(jù)加載接口; 所述通信管理接口實(shí)現(xiàn)前置通信服務(wù)器集群與終端間物理連接的建立; 所述狀態(tài)監(jiān)控接口實(shí)現(xiàn)終端及服務(wù)器狀態(tài)的監(jiān)控; 所述任務(wù)管理接口實(shí)現(xiàn)采集任務(wù)的統(tǒng)一管理:任務(wù)下發(fā)和終端事件上送; 所述規(guī)約解析接口將采集到的原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì)象; 所述元數(shù)據(jù)加載接口將解析后的數(shù)據(jù)原始對(duì)象加載到數(shù)據(jù)緩存模塊中; 所述數(shù)據(jù)緩存模塊將原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)在本地磁盤中; 所述配置庫負(fù)責(zé)終端及服務(wù)器的監(jiān)控信息、終端檔案信息、配置信息和采集任務(wù)信息 的組織和管理。
3. 如權(quán)利要求1所述的一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng),其特征是, 所述MongoDB私有云存儲(chǔ)平臺(tái)包括數(shù)據(jù)存儲(chǔ)模塊、路由模塊和配置模塊; 所述數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)前置服務(wù)器集群傳輸過來的原始數(shù)據(jù)幀及原始數(shù)據(jù)文件; 所述路由模塊用于管理配置模塊具體數(shù)據(jù)的存放信息; 所述配置模塊用于保存數(shù)據(jù)到所在數(shù)據(jù)塊及所在數(shù)據(jù)塊到所在數(shù)據(jù)分片的映射,并存 儲(chǔ)所有需要采集數(shù)據(jù)測(cè)量點(diǎn)的采集狀態(tài)和采集成功率。
4. 如權(quán)利要求1所述的一種海量智能用電數(shù)據(jù)混合存儲(chǔ)系統(tǒng),其特征是, 所述采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)包括數(shù)據(jù)處理模塊和關(guān)系數(shù)據(jù)存儲(chǔ)模塊; 所述關(guān)系數(shù)據(jù)存儲(chǔ)模塊包括生產(chǎn)庫和分析庫; 所述生產(chǎn)庫存儲(chǔ)業(yè)務(wù)數(shù)據(jù); 所述分析庫用于分擔(dān)生產(chǎn)庫的壓力,用于指標(biāo)數(shù)據(jù)查詢、統(tǒng)計(jì)分析和報(bào)表導(dǎo)出; 所述數(shù)據(jù)處理模塊包括檔案緩存、數(shù)據(jù)持久化接口和大數(shù)據(jù)管理引擎,用于實(shí)現(xiàn)檔案 信息同步,用于原始采集數(shù)據(jù)的計(jì)算和轉(zhuǎn)存,還用于提供記錄終端采集狀態(tài)的全部檔案信 息; 所述大數(shù)據(jù)管理引擎從MongoDB私有云存儲(chǔ)平臺(tái)中讀取原始數(shù)據(jù)文件,針對(duì)不同數(shù)據(jù) 類型的數(shù)據(jù)制定不同優(yōu)先級(jí)的調(diào)度和管理; 所述檔案緩存從生產(chǎn)庫中同步檔案信息,通過大數(shù)據(jù)管理引擎的處理計(jì)算生成業(yè)務(wù)數(shù) 據(jù); 所述數(shù)據(jù)持久化接口按照檔案緩存中的檔案將大數(shù)據(jù)管理引擎生成的業(yè)務(wù)數(shù)據(jù)存入 關(guān)系數(shù)據(jù)存儲(chǔ)模塊。
5. 如上述任一權(quán)利要求所述的系統(tǒng)所采用的存儲(chǔ)方法,其特征是,包括如下步驟: 步驟(1):前置通信服務(wù)器集群通過通信管理接口接收終端上傳的原始數(shù)據(jù)幀,根據(jù) 終端編號(hào)將其解析成原始數(shù)據(jù)對(duì)象,以文件的形式存入到本地磁盤; 步驟(2):將原始數(shù)據(jù)幀以及原始數(shù)據(jù)對(duì)象采用數(shù)據(jù)交叉復(fù)制備份的方式轉(zhuǎn)存到 MongoDB私有云存儲(chǔ)平臺(tái)的各個(gè)服務(wù)器上; 步驟(3):采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理模塊讀取并處理MongoDB私有云存儲(chǔ)平 臺(tái)的數(shù)據(jù),形成業(yè)務(wù)數(shù)據(jù)后存儲(chǔ)到關(guān)系數(shù)據(jù)模塊的生產(chǎn)庫和分析庫中,生產(chǎn)庫對(duì)業(yè)務(wù)數(shù)據(jù) 進(jìn)行存儲(chǔ)并實(shí)現(xiàn)終端調(diào)試、終端參數(shù)設(shè)置和采集數(shù)據(jù)實(shí)時(shí)性查詢操作,分析庫對(duì)生產(chǎn)庫的 業(yè)務(wù)數(shù)據(jù)進(jìn)行進(jìn)一步分析處理,實(shí)現(xiàn)采集成功率、終端在線率和線損合格率的統(tǒng)計(jì)分析,并 將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。
6. 如權(quán)利要求5所述的方法,其特征是,所述步驟(1)的步驟為: 步驟(1-1):前置通信服務(wù)器集群通過通信接口模塊的通信管理接口與采集終端建立 Session連接,獲取該采集終端的終端編號(hào)及原始數(shù)據(jù)幀,并將終端編號(hào)寫入Session中以 便對(duì)原始數(shù)據(jù)幀進(jìn)行數(shù)據(jù)所屬終端的標(biāo)識(shí),通過元數(shù)據(jù)加載接口獲取原始數(shù)據(jù)幀及對(duì)應(yīng)的 Session,將原始數(shù)據(jù)巾貞存入MongoDB私有云存儲(chǔ)平臺(tái),并從Session中讀取原始數(shù)據(jù)巾貞對(duì) 應(yīng)的終端編號(hào); 步驟(1-2):查詢終端編號(hào)是否為空,如果為空就進(jìn)入步驟(1-3);如果不為空就進(jìn)入 步驟(1-4); 步驟(1-3):終端編號(hào)為空,則解析原始數(shù)據(jù)幀對(duì)應(yīng)的終端地址碼并查看終端地址碼 是否在終端檔案表中; 如果終端地址碼在終端檔案表中,則根據(jù)解析出的終端地址碼及原始數(shù)據(jù)幀的 Session號(hào)對(duì)終端檔案表進(jìn)行更新,設(shè)定終端狀態(tài),同時(shí)將原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì) 象,然后進(jìn)入步驟(1-5); 如果終端地址碼不在檔案表中,證明終端為非授權(quán)終端,丟棄原始數(shù)據(jù)幀,結(jié)束; 步驟(1-4):終端檔案編號(hào)不為空,通過規(guī)約解析接口識(shí)別出原始數(shù)據(jù)幀的控制碼、地 址碼和功能碼,并將原始數(shù)據(jù)幀解析成原始數(shù)據(jù)對(duì)象;進(jìn)入步驟(1-5);所述原始數(shù)據(jù)對(duì)象 包括數(shù)據(jù)唯一標(biāo)識(shí)、時(shí)標(biāo)、采集質(zhì)量碼、終端凍結(jié)時(shí)間和量值; 步驟(1-5):將原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)到本地磁盤,更新MongoDB私有云存儲(chǔ) 平臺(tái)的日志表,同時(shí)將文件基本信息寫入配置庫中。
7. 如權(quán)利要求5所述的方法,其特征是,所述步驟(2)的步驟為: 步驟(2-1):前置通信服務(wù)器集群定時(shí)監(jiān)測(cè)配置庫中原始數(shù)據(jù)文件狀態(tài),將文件狀態(tài) 為完成且未上傳的文件上傳至MongoDB私有云存儲(chǔ)平臺(tái)的數(shù)據(jù)存儲(chǔ)模塊;將文件的上傳完 成時(shí)間寫入配置庫; 步驟(2-2) =MongoDB私有云存儲(chǔ)平臺(tái)通過部署MongoDB集群,將前置通信服務(wù)器集群 上送的原始數(shù)據(jù)幀及原始數(shù)據(jù)對(duì)象文件存儲(chǔ)在MongoDB私有云存儲(chǔ)平臺(tái)的服務(wù)器的數(shù)據(jù) 存儲(chǔ)模塊中,如果終端數(shù)量不斷增加使得現(xiàn)有服務(wù)器不能滿足不斷增加的原始數(shù)據(jù)文件的 存儲(chǔ)需求,則動(dòng)態(tài)增加新服務(wù)器,提高系統(tǒng)的存儲(chǔ)能力,原始數(shù)據(jù)幀及原始數(shù)據(jù)對(duì)象以json 文件格式存放,在文件中以鍵值對(duì)形式存在; 步驟(2-3):在MongoDB私有云存儲(chǔ)平臺(tái)的每臺(tái)服務(wù)器上對(duì)數(shù)據(jù)文件進(jìn)行分片存儲(chǔ),每 個(gè)分片包括若干數(shù)據(jù)塊,如果某數(shù)據(jù)塊超出限定大小,則生成新的多個(gè)數(shù)據(jù)塊;一個(gè)分片為 一個(gè)副本集,使用交叉復(fù)制備份的方式,將同一副本集的多個(gè)副本部署于不同的服務(wù)器下, 同時(shí)將不同分片的副本交叉部署于同一臺(tái)服務(wù)器下,最后將MongoDB私有云存儲(chǔ)平臺(tái)的服 務(wù)器集群消耗資源較小的配置模塊以及路由模塊部署到各個(gè)服務(wù)器上,部署多個(gè)配置模塊 以及路由模塊確保整個(gè)MongoDB私有云存儲(chǔ)平臺(tái)在一個(gè)服務(wù)器宕機(jī)的情況下,整個(gè)服務(wù)器 集群的運(yùn)行情況不會(huì)受到影響。
8. 如權(quán)利要求5所述的方法,其特征是,所述步驟(3)的步驟為: 步驟(3-1):采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理模塊通過讀取前置通信服務(wù)器集群的 配置庫,查詢未進(jìn)行數(shù)據(jù)轉(zhuǎn)存的文件位置信息; 步驟(3-2):采集數(shù)據(jù)轉(zhuǎn)存計(jì)算平臺(tái)的數(shù)據(jù)處理模塊從MongoDB私有云存儲(chǔ)平臺(tái)中讀 取步驟(3-1)中的未進(jìn)行數(shù)據(jù)轉(zhuǎn)存的文件,并將文件讀取開始時(shí)間寫入配置庫; 步驟(3-3):數(shù)據(jù)處理模塊從數(shù)據(jù)緩存模塊中獲取未進(jìn)行數(shù)據(jù)轉(zhuǎn)存的文件的檔案信 息,通過大數(shù)據(jù)管理引擎對(duì)不同類型的數(shù)據(jù)指定不同的優(yōu)先級(jí),并進(jìn)行調(diào)度和管理;如針對(duì) 變電站、高壓用戶、低壓用戶進(jìn)行電壓、負(fù)荷、電流、表碼數(shù)據(jù)等不同類型數(shù)據(jù)制定不同優(yōu)先 級(jí)的調(diào)度和管理; 步驟(3-4):將文件讀取結(jié)束的時(shí)間寫入配置庫,將經(jīng)大數(shù)據(jù)管理引擎處理過的業(yè)務(wù) 數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫中;所述大數(shù)據(jù)管理引擎的處理包括:進(jìn)行相應(yīng)的費(fèi)率校驗(yàn)、PT、 CT、綜合倍率計(jì)算、電量計(jì)算和總加組功率計(jì)算,形成業(yè)務(wù)數(shù)據(jù),將形成的業(yè)務(wù)數(shù)據(jù)存入關(guān) 系數(shù)據(jù)庫的生產(chǎn)庫和分析庫中, 生產(chǎn)庫對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ)并實(shí)現(xiàn)終端調(diào)試、終端參數(shù)設(shè)置和采集數(shù)據(jù)實(shí)時(shí)性查詢操 作, 分析庫對(duì)生產(chǎn)庫的業(yè)務(wù)數(shù)據(jù)進(jìn)行進(jìn)一步分析處理,實(shí)現(xiàn)采集成功率、終端在線率和線 損合格率的統(tǒng)計(jì)分析,并將分析結(jié)果寫回生產(chǎn)庫,供查詢使用。
9. 如權(quán)利要求6所述的方法,其特征是, 所述步驟(1-5)的步驟為:將解析后的原始數(shù)據(jù)對(duì)象以文件的形式存儲(chǔ)在本地磁盤 中,原始數(shù)據(jù)對(duì)象以鍵值對(duì)的形式存儲(chǔ)在文件中,包括數(shù)據(jù)唯一標(biāo)識(shí)、時(shí)標(biāo)、采集質(zhì)量碼、終 端凍結(jié)時(shí)間和量值信息,當(dāng)文件達(dá)到預(yù)先設(shè)定的文件大小或者是文件在很長一段時(shí)間內(nèi)未 發(fā)生變化,則置文件為寫完?duì)顟B(tài),并將其存入MongoDB私有云存儲(chǔ)平臺(tái),將文件的上傳開始 時(shí)間寫入配置庫,循環(huán)檢測(cè)文件狀態(tài),直到把本地磁盤文件中的所有原始數(shù)據(jù)文件都上傳 完成,將文件上傳完成時(shí)間寫入配置庫,并將上傳成功的文件從本地磁盤中刪除以留出磁 盤空間存儲(chǔ)終端實(shí)時(shí)上送的采集數(shù)據(jù); 所述步驟(1-5)的文件基本信息包括文件編號(hào)、前置通信服務(wù)器編號(hào)、文件完整路徑、 文件名、文件是否已經(jīng)被刪除、高低壓標(biāo)識(shí)、曲線日凍結(jié)標(biāo)識(shí)、文件拆分標(biāo)識(shí)、文件類型和 VIP標(biāo)識(shí)。
10. 如權(quán)利要求7所述的方法,其特征是, 所述步驟(2-2)的原始數(shù)據(jù)幀,文件中的每一行存儲(chǔ)一個(gè)原始數(shù)據(jù)幀,每個(gè)原始數(shù)據(jù) 幀包括所屬終端標(biāo)識(shí)、上下行數(shù)據(jù)標(biāo)識(shí)和具體數(shù)據(jù)幀, 所述步驟(2-2)的原始數(shù)據(jù)對(duì)象,包括數(shù)據(jù)唯一標(biāo)識(shí)、時(shí)標(biāo)、采集質(zhì)量碼、終端凍結(jié)時(shí) 間和量值。
【文檔編號(hào)】G06F17/30GK104317800SQ201410482773
【公開日】2015年1月28日 申請(qǐng)日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】史玉良, 李慶忠, 王新軍, 王相偉, 朱偉義, 閆中敏, 孔蘭菊 申請(qǐng)人:山東大學(xué), 山大地緯軟件股份有限公司, 國網(wǎng)山東省電力公司