一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法
【專利摘要】本發(fā)明涉及一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,與現(xiàn)有技術相比解決了異構數(shù)據(jù)無法存儲、傳輸帶寬無法滿足需要的缺陷。本發(fā)明包括以下步驟:定義數(shù)據(jù)字典;調(diào)取數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)化;數(shù)據(jù)文件存儲。本發(fā)明減少污水處理廠上報數(shù)據(jù)帶寬消耗,有效融合多家污水處理廠異構數(shù)據(jù),并解決了海量數(shù)據(jù)的存儲問題。
【專利說明】一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法
[0001]
【技術領域】
[0002]本發(fā)明涉及數(shù)據(jù)采集存儲【技術領域】,具體來說是一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法。
[0003]
【背景技術】
[0004]污水處理行業(yè)由于初期“重建設、輕運營”導致污水處理運營負荷率普遍偏低,在十二五“節(jié)能減排”政策的指導下,污水處理行業(yè)由原先的批量建設污水處理廠,轉(zhuǎn)向提升污水處理廠的處理效率和管理水平。于是污水處理廠開始建設中控系統(tǒng),通過大量數(shù)據(jù)采集及自動化控制,執(zhí)行精細化運營管理。但對污水處理廠的偷排漏排、水質(zhì)處理不達標等違規(guī)行為仍不能有效監(jiān)督,水務公司對旗下污水處理廠也不能高效管理,因此需要把多家污水處理廠的采集數(shù)據(jù)匯總在一起,可供查詢與分析。
[0005]通過污水處理廠的中控系統(tǒng),可以定期采集到污水處理各個工藝節(jié)點上的運行和監(jiān)測數(shù)據(jù),再通過數(shù)據(jù)采集網(wǎng)關就可以把多個污水處理廠的采集數(shù)據(jù)匯總到一起。但是需要從多個污水處理廠采集數(shù)據(jù)進行匯總存儲則遇到了以下問題:
1、采集數(shù)據(jù)中一般包含采集點的信息,而各家處理廠的采集點信息不同,數(shù)據(jù)具有異構性,采集到后無法將數(shù)據(jù)存儲匯總;
2、采集數(shù)據(jù)的頻率一般都為秒級,上報數(shù)據(jù)帶有很大的冗余,傳輸帶寬需求難以得到滿足;
3、污水處理廠需要保留多年的歷史數(shù)據(jù),匯總后的數(shù)據(jù)是海量的,匯總后的數(shù)據(jù)庫想要查找數(shù)據(jù)則非常困難。
[0006]如何開發(fā)出一種可以滿足異構數(shù)據(jù)之間存儲的數(shù)據(jù)處理方法已經(jīng)成為急需解決的技術問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是為了解決現(xiàn)有技術中異構數(shù)據(jù)無法存儲、傳輸帶寬無法滿足需要的缺陷,提供一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法來解決上述問題。
[0008]為了實現(xiàn)上述目的,本發(fā)明的技術方案如下:
一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,包括以下步驟:
定義數(shù)據(jù)字典,各家污水處理廠定義自己的數(shù)據(jù)字典;
調(diào)取數(shù)據(jù),數(shù)據(jù)接入模塊從多個污水處理廠獲取污水處理廠現(xiàn)場數(shù)據(jù),存入數(shù)據(jù)緩沖池中; 數(shù)據(jù)轉(zhuǎn)化,數(shù)據(jù)緩沖池定期把數(shù)據(jù)接入模塊的數(shù)據(jù)寫成包含數(shù)據(jù)字典的自解釋數(shù)據(jù)文
件; 數(shù)據(jù)文件存儲,數(shù)據(jù)緩沖池定期解析自解釋數(shù)據(jù)文件,將數(shù)據(jù)字典和采集數(shù)據(jù)存儲到NoSQL數(shù)據(jù)庫中。
[0009]所述的定義數(shù)據(jù)字典包括以下步驟:
每個污水處理廠分別注冊數(shù)據(jù)字典中處理廠字典信息,包括處理廠名稱和位置信息,生成唯一的處理廠標識;
采用CSV文件定義數(shù)據(jù)字典,包括工藝流程字典、設備字典、采集點字典,工藝流程字典、設備字典、采集點字典均由表頭和實例組成;表頭包括必要字段和擴展字段,必要字段為每個處理廠都必須提供的字典信息,擴展字段為根據(jù)實際情況增加的信息;其中:
工藝流程字典為對處理廠污水處理工藝的定義,表頭包含的必要字段包括標識ID和流程的名稱,實例為組成該污水處理廠處理工藝的各個節(jié)點信息;
設備字典為對處理廠中各種設備的定義,表頭包含的必要字段包括標識ID、設備名字和設備所屬的工藝節(jié)點,實例為處理廠中的各種設備;
采集點字典為對數(shù)據(jù)采集點的定義,表頭包含的必要字段包括標識ID、采集點描述、采集點在報表展示的字段、生成報表時的計算公式、采集數(shù)據(jù)的類型、數(shù)據(jù)的單位、數(shù)據(jù)正常范圍的最大最小值、設備所屬設備信息和虛擬點數(shù)據(jù),虛擬點數(shù)據(jù)以virtual前綴定義;將數(shù)據(jù)字典CSV文件與處理廠字典信息相關聯(lián),建立處理廠名稱與相應處理廠數(shù)據(jù)字典的對應。
[0010]所述的調(diào)取數(shù)據(jù)包括以下步驟:
數(shù)據(jù)接入模塊以web server的方式將數(shù)據(jù)上報接口提供給各家污水處理廠;
污水處理廠組建上報數(shù)據(jù),上報數(shù)據(jù)包括處理廠的標識ID和采集數(shù)據(jù),采集數(shù)據(jù)中包括采集時間、采集點標識ID、采集數(shù)值,處理廠標識ID和采集點標識ID,從處理廠的數(shù)據(jù)字典中調(diào)取對應的處理廠標識ID和采集點標識ID ;
上報數(shù)據(jù)使用Json格式進行編碼并發(fā)送至數(shù)據(jù)緩沖池,其數(shù)據(jù)格式如下:factory_id:從數(shù)據(jù)字典模塊注冊得到的處理廠標識ID ;data:數(shù)組集合;data包括以下數(shù)據(jù)格式:datatime:信號點采集的時間;signal_id:在數(shù)據(jù)字典模塊定義的信號點標識ID ;value:信號點值。
[0011]所述的數(shù)據(jù)轉(zhuǎn)化包括以下步驟:
數(shù)據(jù)緩沖池采用FIFO機制接收Json格式的上報數(shù)據(jù),讀取出的數(shù)據(jù)從緩沖池中刪除并傳給存儲模塊,被處理成自解釋數(shù)據(jù)文件,自解釋數(shù)據(jù)文件的文件名以讀取時的時間戳命名;
通過數(shù)據(jù)緩沖池定期生成自解釋數(shù)據(jù)文件,自解釋數(shù)據(jù)文件包括字典部分和數(shù)據(jù)部分,將處理廠字典信息添加至字典部分前面,在工藝流程ID、設備ID、采集點ID中將處理廠ID加在前面做為前綴;數(shù)據(jù)部分的表頭為采集點ID、采集時間、采集數(shù)值,在采集點ID前面添加處理廠ID做為前綴,采集數(shù)值為緩沖池中處理周期內(nèi)保存的所有采集數(shù)據(jù)。
[0012]所述的數(shù)據(jù)文件存儲包括以下步驟:
設置存儲模塊的處理周期與數(shù)據(jù)緩沖池的處理周期一致;
NoSQL數(shù)據(jù)庫設計與自解釋數(shù)據(jù)文件一致,在NoSQL數(shù)據(jù)庫中定義數(shù)據(jù)字典表和數(shù)據(jù)表,將NoSQL數(shù)據(jù)庫的存儲結構定義為面向列的key-value對,每行數(shù)據(jù)組成結構為:rowkey λ column—name、column_value, 其中:
數(shù)據(jù)字典表的存儲結構中,rowkey為文件時間戳+字典中的標識ID、column_name為字典中的其他屬性名、column_value是對應ID的屬性的值;
數(shù)據(jù)表的存儲結構中,rowkey為信號點ID+采集時間戳、column_name為svalue或dictionary_version,當 column_name 為 svalue 時,column_value 為對應信號點 ID 的米集數(shù)值,當 column_name 為 dictionary_version 時,column_value 為數(shù)據(jù)字典表里 rowkey所對應的時間戳;
按照數(shù)據(jù)字典表和數(shù)據(jù)表的定義分別存儲字典部分和數(shù)據(jù)部分,將存儲模塊中的數(shù)據(jù)存儲到NoSQL數(shù)據(jù)庫中。
[0013]還包括數(shù)據(jù)文件未被處理成自解釋數(shù)據(jù)文件的判斷,其包括以下步驟:
在NoSQL數(shù)據(jù)庫的數(shù)據(jù)字典表中,獲取rowkey中最大的時間戳,遍歷所有數(shù)據(jù)文件的文件名,若文件名中的時間戳大于數(shù)據(jù)庫中最大的時間戳,則表示該文件未被處理過;逐個處理未被處理過的文件,解析數(shù)據(jù)文件,將字典部分和數(shù)據(jù)部分分別存儲。
[0014]有益效果
本發(fā)明的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,與現(xiàn)有技術相比減少污水處理廠上報數(shù)據(jù)帶寬消耗,有效融合多家污水處理廠異構數(shù)據(jù),并解決了海量數(shù)據(jù)的存儲問題。通過數(shù)據(jù)字典的配置,規(guī)范定義了污水處理廠的采集點信息。通過把采集點屬性信息和數(shù)據(jù)分離,減少了數(shù)據(jù)上報的復雜度。通過在數(shù)據(jù)文件中加入了數(shù)據(jù)字典,使文件具有自解釋性,保證了數(shù)據(jù)在時間屬性上的完備,讓歷史數(shù)據(jù)與對應歷史屬性保持關聯(lián),真實地還原數(shù)據(jù)現(xiàn)場,增加歷史數(shù)據(jù)分析的可靠性。
[0015]
【專利附圖】
【附圖說明】
圖1為本發(fā)明的方法流程圖
【具體實施方式】
[0016]為使對本發(fā)明的結構特征及所達成的功效有更進一步的了解與認識,用以較佳的實施例及附圖配合詳細的說明,說明如下:
如圖1所示,本發(fā)明所述的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,包括以下步驟:
第一步,定義數(shù)據(jù)字典,各家污水處理廠定義自己的數(shù)據(jù)字典。每個污水處理廠注冊成功自己的信息后,生成唯一的處理廠標識ID,之后配置的數(shù)據(jù)字典與本廠ID相關聯(lián)。數(shù)據(jù)字典是對采集數(shù)據(jù)的解釋和說明,定義了每個采集點數(shù)據(jù)的屬性,包括其所屬設備信息、工藝流程信息及污水處理廠信息。其具體步驟如下:
(I)每個污水處理廠分別注冊數(shù)據(jù)字典中處理廠字典信息,包括處理廠名稱(name)和位置信息(location),生成唯一的處理廠標識(factory_id)。處理廠字典信息為相應的各個污水處理廠信息,通過唯一的處理廠標識進行唯一的處理廠確定。
[0017](2)采用CSV文件定義數(shù)據(jù)字典,根據(jù)數(shù)據(jù)字典,上報數(shù)據(jù)中只需攜帶采集點ID信息,就能查詢到一次上報數(shù)據(jù)是屬于哪個處理廠哪個工藝流程中的哪臺設備上的、該采集點代表什么意義、數(shù)據(jù)格式和單位是什么、數(shù)據(jù)正常范圍是多少、如何計算在報表中顯示的值等一系列信息,這樣每個上報數(shù)據(jù)都默認帶上了很多解釋性的信息,方便在生成報表和數(shù)據(jù)分析時解讀數(shù)據(jù)。數(shù)據(jù)字典還包括工藝流程字典、設備字典、采集點字典。工藝流程字典、設備字典和采集點字典均由表頭和實例組成;表頭包括必要字段和擴展字段,分別用英文字段表示,第一個字段固定為標識ID。必要字段為每個處理廠都必須提供的字典信息,擴展字段為根據(jù)實際情況增加的信息;當污水處理廠需要對某些采集數(shù)據(jù)進行歸類以進行數(shù)據(jù)分析或者工藝升級時,可以定義自己的擴展字段。實例為處理廠中組成該字典的具體的一個點,通過標識ID區(qū)分。各部分字典通過行分隔符進行分隔。
[0018]其中:
工藝流程字典為對處理廠污水處理工藝的定義,表頭包含的必要字段包括標識IDprocess_id (在每個處理廠內(nèi)標識唯一)和流程的名稱process_name (工藝流程節(jié)點名稱),實例為組成該污水處理廠處理工藝的各個節(jié)點信息,比如粗格柵、細格柵、曝氣池等。
[0019]設備字典為對處理廠中各種設備的定義,表頭包含的必要字段包括標識IDdevice_id (在每個處理廠內(nèi)標識唯一)、設備名字device_name和設備所屬的工藝節(jié)點process_id (可以為空,即不屬于任何工藝流程節(jié)點),實例為處理廠中的各種設備,比如鼓風機、提升泵等。
[0020]采集點字典為對數(shù)據(jù)采集點的定義,表頭包含的必要字段包括標識ID、采集點描述、采集點在報表展示的字段、生成報表時的計算公式、采集數(shù)據(jù)的類型、數(shù)據(jù)的單位、數(shù)據(jù)正常范圍的最大最小值、設備所屬設備信息和虛擬點數(shù)據(jù),虛擬點數(shù)據(jù)以virtual前綴定義。采集點字典必要字段 較多,如下:
signal_id:標識ID,在每個處理廠內(nèi)標識唯一。對于虛擬信號標識采用“virtual_”字段加數(shù)值標識,如:“virtual_001”。手工信號采用“manual_”標識,如:“manual_001 ”。
[0021]signal_desc:采集點描述。
[0022]signal_mark:采集點在報表展示的字段。
[0023]datatype:采集數(shù)據(jù)的類型,可以是整型、浮點型、0/1信號量等。
[0024]unit:數(shù)據(jù)的單位。
[0025]calc_expr:生成報表時的計算公式。
[0026]min:采集點預警值的最小臨界點,即數(shù)據(jù)正常范圍的最小值。
[0027]max:采集點預警值的最大臨界點,即數(shù)據(jù)正常范圍的最大值。
[0028]device_id:設備所屬設備信息,可以為空。
[0029]采集點字典除了實際存在的以自動化方式上報的點,還包含虛擬的由人工上報的一些化驗、用藥數(shù)據(jù)點,定義時可以在標識ID中進行區(qū)分,比如虛擬點使用virtual前綴定義。
[0030]以下為一個數(shù)據(jù)字典CSV文件的示例:
##工藝流程字典部分
process_id, process—name
proc_001,粗格柵
------------(字典分隔符)##設備字典部分
device_id, device_name, process_id
dev_001,左粗格柵,proc_001
------------(字典分隔符)
##采集點字典部分
signal_id, signal_desc, signal_mark, data_type, unit, c a Ic _expr, min, max, device_id
virtual_001,進水 PH, PH_IN, float,無,avg, 5.0, 11.0, proc_001, dev_001 其中字典分隔符的樣式只作為示例,可任意定義。
[0031](3)將數(shù)據(jù)字典CSV文件與處理廠字典信息相關聯(lián),建立處理廠名稱與相應處理廠數(shù)據(jù)字典的對應。CSV文件與處理廠ID相關聯(lián),使得根據(jù)factory_id可以查詢到對應處理廠的數(shù)據(jù)字典。
[0032]第二步,調(diào)取數(shù)據(jù),數(shù)據(jù)接入模塊從多個污水處理廠獲取污水處理廠現(xiàn)場數(shù)據(jù),存入數(shù)據(jù)緩沖池中。其具體步驟如下:
(I)數(shù)據(jù)接入模塊以web server的方式將數(shù)據(jù)上報接口提供給各家污水處理廠。由于存在多個污水處理廠,則存在接口的選擇問題,采用現(xiàn)有技術中的web server方式進行。當需要選擇A廠時,數(shù)據(jù)接入模塊則將數(shù)據(jù)上報接口提供給A廠,此時建立A廠與數(shù)據(jù)接入模塊之間的數(shù)據(jù)通訊;若需要選擇B廠時,數(shù)據(jù)接入模塊則將數(shù)據(jù)上報接口提供給B廠,此時建立B廠與數(shù)據(jù)接入模塊之間的數(shù)據(jù)通訊。
[0033](2)污水處理廠組建上報數(shù)據(jù),上報數(shù)據(jù)包括處理廠的標識ID和采集數(shù)據(jù),采集數(shù)據(jù)中包括采集時間、采集點標識ID、采集數(shù)值,處理廠標識ID和采集點標識ID,從處理廠的數(shù)據(jù)字典中調(diào)取對應的處理廠標識ID和采集點標識ID。
[0034](3)上報數(shù)據(jù)使用Json格式進行編碼并發(fā)送至數(shù)據(jù)緩沖池,其數(shù)據(jù)格式如下: factory_id:從數(shù)據(jù)字典模塊注冊得到的處理廠標識ID ;data:數(shù)組集合;
現(xiàn)場采集數(shù)值為字典集合,格式為{“datetime”: “yyyy-mm-dd hh:mm:ss”,“signal_id”: “001”,“value”: “123.3,,},其中
datatime:信號點采集的時間;signal_id:在數(shù)據(jù)字典模塊定義的信號點標識ID ;value:信號點值。
[0035]示例如下:
[{//factory_id//: ^ j n s h w _ O I ^, "data": [「datetime": "yyyy-mm-ddhh:mm:ss〃,〃signal_id〃:〃auto_001〃,〃value〃:〃123.3〃}, {〃datetime〃:〃yyyy-mm_ddhh:mm:ss.zzz〃,〃signal_id〃:〃auto_002〃,〃value〃:〃123.3〃},{〃datetime〃:〃yyyy-mm_ddhh:mm:ss.zzz〃,〃signal_id〃:〃manual_001〃,〃value〃:〃123.3〃}]}]。
[0036]第三步,數(shù)據(jù)轉(zhuǎn)化,數(shù)據(jù)緩沖池定期把數(shù)據(jù)接入模塊的數(shù)據(jù)寫成包含數(shù)據(jù)字典的自解釋數(shù)據(jù)文件。其具體步驟如下:
(I)數(shù)據(jù)緩沖池采用FIFO (先入先出)機制接收Json格式的上報數(shù)據(jù),讀取出的數(shù)據(jù)從緩沖池中刪除并傳給存儲模塊,被處理成自解釋數(shù)據(jù)文件,自解釋數(shù)據(jù)文件的文件名以讀取時的時間戳命名。解釋數(shù)據(jù)文件作用是將字典部分和數(shù)據(jù)部分進行配對,數(shù)據(jù)部分與其所對應的字典部分進行一一配對。因為各個處理廠自行定義數(shù)據(jù)字典,若數(shù)據(jù)字典的定義與數(shù)據(jù)部分不配比,則無法正確解釋數(shù)據(jù)部分的內(nèi)容。自解釋數(shù)據(jù)文件的文件名以讀取時的時間戳命名的作用是為了下一步中判斷數(shù)據(jù)文件是否未被處理成自解釋數(shù)據(jù)文件,生成的自解釋數(shù)據(jù)文件以開始處理的時間戳命名,格式類似20140401102000.csv,以下為示例:
【權利要求】
1.一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,其特征在于,包括以下步驟: 11)定義數(shù)據(jù)字典,各家污水處理廠定義自己的數(shù)據(jù)字典; 12)調(diào)取數(shù)據(jù),數(shù)據(jù)接入模塊從多個污水處理廠獲取污水處理廠現(xiàn)場數(shù)據(jù),存入數(shù)據(jù)緩沖池中; 13)數(shù)據(jù)轉(zhuǎn)化,數(shù)據(jù)緩沖池定期把數(shù)據(jù)接入模塊的數(shù)據(jù)寫成包含數(shù)據(jù)字典的自解釋數(shù)據(jù)文件; 14)數(shù)據(jù)文件存儲,存儲模塊定期解析自解釋數(shù)據(jù)文件,將數(shù)據(jù)字典和采集數(shù)據(jù)存儲到NoSQL數(shù)據(jù)庫中。
2.根據(jù)權利要求1所述的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,其特征在于所述的定義數(shù)據(jù)字典包括以下步驟: 21)每個污水處理廠分別注冊數(shù)據(jù)字典中處理廠字典信息,包括處理廠名稱和位置信息,生成唯一的處理廠標識; 22)采用CSV文件定義數(shù)據(jù)字典,包括工藝流程字典、設備字典、采集點字典,工藝流程字典、設備字典、采集點字典均由表頭和實例組成;表頭包括必要字段和擴展字段,必要字段為每個處理廠都必須提供的字典信息,擴展字段為根據(jù)實際情況增加的信息;其中: 工藝流程字典為對處理廠污水處理工藝的定義,表頭包含的必要字段包括標識ID和流程的名稱,實例為組成該污水處理廠處理工藝的各個節(jié)點信息; 設備字典為對處理廠中各種設備的定義,表頭包含的必要字段包括標識ID、設備名字和設備所屬的工藝節(jié)點,實例為處理廠中的各種設備; 采集點字典為對數(shù)據(jù)采集點的定義,表頭包含的必要字段包括標識ID、采集點描述、采集點在報表展示的字段、生成報表時的計算公式、采集數(shù)據(jù)的類型、數(shù)據(jù)的單位、數(shù)據(jù)正常范圍的最大最小值、設備所屬設備信息和虛擬點數(shù)據(jù),虛擬點數(shù)據(jù)以virtual前綴定義; 23)將數(shù)據(jù)字典CSV文件與處理廠字典信息相關聯(lián),建立處理廠名稱與相應處理廠數(shù)據(jù)字典的對應。
3.根據(jù)權利要求1所述的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,其特征在于所述的調(diào)取數(shù)據(jù)包括以下步驟: 31)數(shù)據(jù)接入模塊以webserver的方式將數(shù)據(jù)上報接口提供給各家污水處理廠; 32)污水處理廠組建上報數(shù)據(jù),上報數(shù)據(jù)包括處理廠的標識ID和采集數(shù)據(jù),采集數(shù)據(jù)中包括采集時間、采集點標識ID、采集數(shù)值,處理廠標識ID和采集點標識ID,從處理廠的數(shù)據(jù)字典中調(diào)取對應的處理廠標識ID和采集點標識ID ; 33)上報數(shù)據(jù)使用Json格式進行編碼并發(fā)送至數(shù)據(jù)緩沖池,其數(shù)據(jù)格式如下: factory_id:從數(shù)據(jù)字典模塊注冊得到的處理廠標識ID ;data:數(shù)組集合;data包括以下數(shù)據(jù)格式:datatime:信號點采集的時間;signal_id:在數(shù)據(jù)字典模塊定義的信號點標識ID ;value:信號點值。
4.根據(jù)權利要求1所述的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,其特征在于所述的數(shù)據(jù)轉(zhuǎn)化包括以下步驟: 41)數(shù)據(jù)緩沖池采用FIFO機制接收Json格式的上報數(shù)據(jù),讀取出的數(shù)據(jù)從緩沖池中刪除并傳給存儲模塊,被處理成自解釋數(shù)據(jù)文件,自解釋數(shù)據(jù)文件的文件名以讀取時的時間戮命名;42)通過數(shù)據(jù)緩沖池定期生成自解釋數(shù)據(jù)文件,自解釋數(shù)據(jù)文件包括字典部分和數(shù)據(jù)部分,將處理廠字典信息添加至字典部分前面,在工藝流程ID、設備ID、采集點ID中將處理廠ID加在前面做為前綴;數(shù)據(jù)部分的表頭為采集點ID、采集時間、采集數(shù)值,在采集點ID前面添加處理廠ID做為前綴,采集數(shù)值為緩沖池中處理周期內(nèi)保存的所有采集數(shù)據(jù)。
5.根據(jù)權利要求1所述的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,其特征在于所述的數(shù)據(jù)文件存儲包括以下步驟: 51)設置存儲模塊中的處理周期與數(shù)據(jù)緩沖池的處理周期一致; 52)NoSQL數(shù)據(jù)庫設計與自解釋數(shù)據(jù)文件一致,在NoSQL數(shù)據(jù)庫中定義數(shù)據(jù)字典表和數(shù)據(jù)表,將NoSQL數(shù)據(jù)庫的存儲結構定義為面向列的key-value對,每行數(shù)據(jù)組成結構為:rowkey、column—name、column_value, 其中: 數(shù)據(jù)字典表的存儲結構中,rowkey為文件時間戳+字典中的標識ID、column_name為字典中的其他屬性名、column_value是對應ID的屬性的值; 數(shù)據(jù)表的存儲結構中,rowkey為信號點ID+采集時間戳、column_name為svalue或dictionary_version,當 column_name 為 svalue 時,column_value 為對應信號點 ID 的米集數(shù)值,當 column_name 為 dictionary_version 時,column_value 為數(shù)據(jù)字典表里 rowkey所對應的時間戳; 53)按照數(shù)據(jù)字典表和數(shù)據(jù)表的定義分別存儲字典部分和數(shù)據(jù)部分,將存儲模塊中的數(shù)據(jù)存儲到NoSQL數(shù)據(jù)庫 中。
6.根據(jù)權利要求5所述的一種用于污水處理廠之間異構數(shù)據(jù)的采集存儲方法,其特征在于還包括數(shù)據(jù)文件未被處理成自解釋數(shù)據(jù)文件的判斷,其包括以下步驟: 61)在NoSQL數(shù)據(jù)庫的數(shù)據(jù)字典表中,獲取rowkey中最大的時間戳,遍歷所有數(shù)據(jù)文件的文件名,若文件名中的時間戳大于數(shù)據(jù)庫中最大的時間戳,則表示該文件未被處理過; 62)逐個處理未被處理過的文件,解析數(shù)據(jù)文件,將字典部分和數(shù)據(jù)部分分別存儲。
【文檔編號】G06F17/40GK103970914SQ201410175754
【公開日】2014年8月6日 申請日期:2014年4月29日 優(yōu)先權日:2014年4月29日
【發(fā)明者】孟虎, 李曉潔, 陳志華, 夏效勝, 劉勝軍 申請人:合肥城市云數(shù)據(jù)中心有限公司