国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法及裝置制造方法

      文檔序號:6626822閱讀:665來源:國知局
      在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法及裝置制造方法
      【專利摘要】本發(fā)明公開了一種在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,包括以下步驟:將數(shù)據(jù)打包為多個數(shù)據(jù)塊,并且根據(jù)多個數(shù)據(jù)塊中每個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊ID;檢索每個數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的地;根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將每個數(shù)據(jù)塊中數(shù)據(jù)存儲至相應(yīng)的存儲位置,并更新存儲位置映射表。本發(fā)明實施例通過將數(shù)據(jù)打包并且調(diào)度最低代價的存儲目的地,實現(xiàn)根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將數(shù)據(jù)進行存儲的目的,充分利用現(xiàn)有低成本、大容量的存儲設(shè)備,精細度和安全性高,提高存儲效率,滿足用戶的使用要求。本發(fā)明還公開了一種在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置。
      【專利說明】在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法及裝置

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及計算機信息化【技術(shù)領(lǐng)域】,特別涉及一種在建大壩混凝土實時測溫海量 數(shù)據(jù)的存儲方法及裝置。

      【背景技術(shù)】
      [0002] 相比較海量密集采集的數(shù)據(jù)而言,一個大型施工現(xiàn)場往往存在上萬個以上的數(shù)據(jù) 采集點,采集的頻率從幾秒到幾分鐘不等,而施工期又往往在10年以上,往往導(dǎo)致海量數(shù) 據(jù)的累積,并且大型水利施工現(xiàn)場往往處于高山峽谷,導(dǎo)致上述單一存儲點的風(fēng)險大,而且 核心數(shù)據(jù)的安全性尤為重要,因為這些數(shù)據(jù)隨著施工期不能再次采集,并且后續(xù)施工也要 以這些數(shù)據(jù)為基礎(chǔ),需要進行數(shù)據(jù)的異地災(zāi)難備份。
      [0003] 相關(guān)技術(shù)中,在大型水利施工現(xiàn)場中使用傳感器網(wǎng)絡(luò)采集的數(shù)據(jù)例如溫度、濕度、 壓力和人員位置等存儲在現(xiàn)場的數(shù)據(jù)采集終端中,有的用文件存儲,有的用小型數(shù)據(jù)庫系 統(tǒng)存儲,一些開發(fā)的上層應(yīng)用直接調(diào)用文件10函數(shù)或者數(shù)據(jù)庫SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)語言對這些采集上來的數(shù)據(jù)進行存儲和檢索。然而,相關(guān)技術(shù) 中并沒有一個分布存儲的完整方案,無法充分利用現(xiàn)有低成本、大容量的存儲設(shè)備,且不能 很好地實現(xiàn)一定冗余,精細度不高,存在數(shù)據(jù)的安全存儲和檢索的隱患問題。


      【發(fā)明內(nèi)容】

      [0004] 本發(fā)明旨在至少在一定程度上解決上述相關(guān)技術(shù)中的技術(shù)問題之一。
      [0005] 為此,本發(fā)明的一個目的在于提出一種存儲高效、精細度高的在建大壩混凝土實 時測溫海量數(shù)據(jù)的存儲方法。
      [0006] 本發(fā)明的另一個目的在于提出一種在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝 置。
      [0007] 為達到上述目的,本發(fā)明一方面實施例提出了一種在建大壩混凝土實時測溫海量 數(shù)據(jù)的存儲方法,包括以下步驟:將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)所述多個 數(shù)據(jù)塊中每個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊身份識別號ID (Identity,身份識別號);檢索所述 每個數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的地;以及根據(jù) 所述最低代價的存儲目的地發(fā)送存儲請求以將所述每個數(shù)據(jù)塊中數(shù)據(jù)存儲至相應(yīng)的存儲 位置,并更新存儲位置映射表。
      [0008] 根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,通過將 數(shù)據(jù)打包為固定大小的數(shù)據(jù)塊,并且檢索數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,從而 調(diào)度最低代價的存儲目的地,實現(xiàn)根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將數(shù)據(jù)進行 存儲的目的,充分利用現(xiàn)有低成本、大容量的存儲設(shè)備,精細度和安全性高,提高存儲效率, 滿足用戶的使用要求。
      [0009] 另外,根據(jù)本發(fā)明上述實施例的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法還 可以具有如下附加的技術(shù)特征:
      [0010] 在本發(fā)明的一個實施例中,所述將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù) 所述多個數(shù)據(jù)塊中每個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊ID,進一步包括:將所述每個數(shù)據(jù)塊的屬 性、數(shù)據(jù)采集點ID、數(shù)據(jù)采集塊時間段、大小、內(nèi)容歸一化為唯一標(biāo)記,以生成所述對應(yīng)的數(shù) 據(jù)塊ID。 toon] 進一步地,在本發(fā)明的一個實施例中,上述方法還包括:將所述每個數(shù)據(jù)塊中數(shù)據(jù) 在預(yù)設(shè)周期備份至第一預(yù)設(shè)存儲位置。
      [0012] 進一步地,在本發(fā)明的一個實施例中,上述方法還包括:獲取數(shù)據(jù)塊ID ;根據(jù)所述 數(shù)據(jù)塊ID與所述檢索映射表獲取所述數(shù)據(jù)塊的存儲位置;檢索所述數(shù)據(jù)塊對應(yīng)的存儲調(diào) 度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的地;以及根據(jù)所述最低代價的存儲目的 地發(fā)送檢索請求以根據(jù)所述存儲位置調(diào)用所述數(shù)據(jù)塊中數(shù)據(jù)。
      [0013] 進一步地,在本發(fā)明的一個實施例中,上述方法還包括:將調(diào)用次數(shù)超過預(yù)設(shè)次數(shù) 的數(shù)據(jù)塊存儲至第二預(yù)設(shè)存儲位置。
      [0014] 本發(fā)明另一方面實施例提出了一種在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝 置,包括:生成模塊,用于將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)所述多個數(shù)據(jù)塊 中每個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊ID ;第一檢索模塊,用于檢索所述每個數(shù)據(jù)塊對應(yīng)的存儲 調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的地;以及存儲請求模塊,用于根據(jù)所述 最低代價的存儲目的地發(fā)送存儲請求以將所述每個數(shù)據(jù)塊中數(shù)據(jù)存儲至相應(yīng)的存儲位置, 并更新存儲位置映射表。
      [0015] 根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,通過將 數(shù)據(jù)打包為固定大小的數(shù)據(jù)塊,并且檢索數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,從而 調(diào)度最低代價的存儲目的地,實現(xiàn)根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將數(shù)據(jù)進行 存儲的目的,充分利用現(xiàn)有低成本、大容量的存儲設(shè)備,精細度和安全性高,提高存儲效率, 滿足用戶的使用要求。
      [0016] 另外,根據(jù)本發(fā)明上述實施例的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置還 可以具有如下附加的技術(shù)特征:
      [0017] 在本發(fā)明的一個實施例中,所述生成模塊還用于:將所述每個數(shù)據(jù)塊的屬性、數(shù) 據(jù)采集點ID、數(shù)據(jù)采集塊時間段、大小、內(nèi)容歸一化為唯一標(biāo)記,以生成所述對應(yīng)的數(shù)據(jù)塊 ID〇
      [0018] 進一步地,在本發(fā)明的一個實施例中,上述裝置還包括:備份模塊,用于將所述數(shù) 據(jù)塊中數(shù)據(jù)在預(yù)設(shè)周期備份至第一預(yù)設(shè)存儲位置。
      [0019] 進一步地,在本發(fā)明的一個實施例中,上述裝置還包括:獲取模塊,用于獲取數(shù)據(jù) 塊ID ;第二檢索模塊,用于根據(jù)所述數(shù)據(jù)塊ID與所述檢索映射表獲取所述數(shù)據(jù)塊的存儲位 置,并且檢索所述數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的 地;以及檢索請求模塊,用于根據(jù)所述最低代價的存儲目的地發(fā)送檢索請求以根據(jù)所述存 儲位置調(diào)用所述數(shù)據(jù)塊中數(shù)據(jù)。
      [0020] 進一步地,在本發(fā)明的一個實施例中,上述裝置還包括:存儲模塊,用于將調(diào)用次 數(shù)超過預(yù)設(shè)次數(shù)的數(shù)據(jù)塊存儲至第二預(yù)設(shè)存儲位置。
      [0021] 本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。

      【專利附圖】

      【附圖說明】
      [0022] 本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變 得明顯和容易理解,其中 :
      [0023] 圖1為根據(jù)本發(fā)明一個實施例的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法 的流程圖;
      [0024] 圖2為根據(jù)本發(fā)明一個實施例的多層架構(gòu)示意圖;
      [0025] 圖3為根據(jù)本發(fā)明一個實施例的數(shù)據(jù)的檢索方法的流程圖;
      [0026] 圖4為根據(jù)本發(fā)明一個實施例的網(wǎng)絡(luò)拓撲圖;
      [0027] 圖5為根據(jù)本發(fā)明一個實施例的數(shù)據(jù)塊的存儲流程圖;
      [0028] 圖6為根據(jù)本發(fā)明一個實施例的數(shù)據(jù)塊的檢索流程圖;
      [0029] 圖7為根據(jù)本發(fā)明一個實施例的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置 的結(jié)構(gòu)不意圖;
      [0030] 圖8為根據(jù)本發(fā)明一個具體實施例的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲 裝置的結(jié)構(gòu)示意圖;以及
      [0031] 圖9為根據(jù)本發(fā)明另一個實施例的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝 置的結(jié)構(gòu)示意圖。

      【具體實施方式】
      [0032] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
      [0033] 此外,術(shù)語"第一"、"第二"僅用于描述目的,而不能理解為指示或暗示相對重要性 或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有"第一"、"第二"的特征可以明示或 者隱含地包括一個或者更多個該特征。在本發(fā)明的描述中,"多個"的含義是兩個或兩個以 上,除非另有明確具體的限定。
      [0034] 在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語"安裝"、"相連"、"連接"、"固定"等 術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機 械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元 件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā) 明中的具體含義。
      [0035] 在本發(fā)明中,除非另有明確的規(guī)定和限定,第一特征在第二特征之"上"或之"下" 可以包括第一和第二特征直接接觸,也可以包括第一和第二特征不是直接接觸而是通過它 們之間的另外的特征接觸。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一 特征在第二特征正上方和斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征 在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或僅僅表 示第一特征水平高度小于第二特征。
      [0036] 下面參照附圖描述根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測溫海量數(shù)據(jù) 的存儲方法及裝置,首先將參照附圖描述根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測 溫海量數(shù)據(jù)的存儲方法。參照圖1所示,該方法包括以下步驟:
      [0037] S101,將數(shù)據(jù)塊打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)多個數(shù)據(jù)塊中每個數(shù)據(jù) 塊生成對應(yīng)的數(shù)據(jù)塊身份識別號ID。
      [0038] 其中,在本發(fā)明的一個實施例中,例如在水利施工現(xiàn)場中進行大壩混凝土實時測 溫時,即運用埋設(shè)在混凝土內(nèi)的溫度傳感器通過現(xiàn)場總線組成網(wǎng)絡(luò),向溫度采集服務(wù)器上 報溫度報文,這些內(nèi)容包括節(jié)點號,溫度值,變化率,采集時間等,由于采集的數(shù)據(jù)是零散 的,不定長的,且隨著采集儀廠家,型號不同而變化,因此本發(fā)明實施例在存儲請求之前統(tǒng) 一整理成固定大小的數(shù)據(jù)塊,以方便檢索,減少碎片化。
      [0039] 進一步地,在本發(fā)明的一個實施例中,將數(shù)據(jù)塊打包為固定大小的多個數(shù)據(jù)塊, 并且根據(jù)多個數(shù)據(jù)塊中每個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊ID,進一步包括:將每個數(shù)據(jù)塊的屬 性、數(shù)據(jù)采集點ID、數(shù)據(jù)采集塊時間段、大小、內(nèi)容歸一化為唯一標(biāo)記,以生成對應(yīng)的數(shù)據(jù)塊 ID〇
      [0040] 具體地,在本發(fā)明的一個實施例中,參照圖2所示,本發(fā)明實施例的多層架構(gòu)可以 分為四層:用戶交互層L1、業(yè)務(wù)應(yīng)用層L2、網(wǎng)絡(luò)層L3和存儲介質(zhì)智能管理單元層L4,也可 以稱為存貯介質(zhì)智能管理單元層L4。用戶交互層L1、業(yè)務(wù)應(yīng)用層L2、網(wǎng)絡(luò)層L3和存儲介質(zhì) 智能管理單元層L4通過合適的協(xié)議進行組網(wǎng),共同完成目標(biāo)計算,其采取"分而治之"的思 想,即每個層相互獨立,各層之間僅通過約定好的接口進行通訊和連接。具體地,在本發(fā)明 的一個實施例中,本發(fā)明實施例從硬件上包括了各種計算機服務(wù)器和連接這些服務(wù)器的計 算機網(wǎng)絡(luò),從軟件上包括了各種特定目的的軟件組件,硬件和軟件共同作用可以用于在建 大壩混凝土實時測溫海量數(shù)據(jù)的高效分布存儲和檢索,其充分利用水利施工現(xiàn)場的計算機 網(wǎng)絡(luò)和服務(wù)器,并通過合適的協(xié)議進行組網(wǎng),共同完成目標(biāo)計算。本發(fā)明實施例充分利用水 利施工現(xiàn)場的計算機網(wǎng)絡(luò)和服務(wù)器,為海量測溫數(shù)據(jù)提供分布存儲和檢索的高效和快速方 法,其中,檢索方法在下面進行詳細贅述。
      [0041] 其中,用戶交互層L1提供兩方面的內(nèi)容:一個是人機交互,提供⑶I (Graphical User Interface,簡稱GUI,又稱圖形用戶接口)或者命令行兩種方式供使用者使用;另外 一個是機-機交互,提供API (Application Programming Interface,應(yīng)用程序編程接口) 的方式供服務(wù)需求方調(diào)用。用戶交互層L1可以發(fā)起對兩類服務(wù):存儲和檢索的請求。業(yè)務(wù) 應(yīng)用層L2為上層提供服務(wù),包含兩個核心組件,一個是業(yè)務(wù)服務(wù)點,包含了存儲和檢索核 心服務(wù),另外還提供諸如運行日志,性能檢測,測試及其他服務(wù)內(nèi)容,另外一個是業(yè)務(wù)適配 器,業(yè)務(wù)適配器動態(tài)維護最重要的一個數(shù)據(jù)表,存儲位置映射表即數(shù)據(jù)塊-存儲地映射表。 網(wǎng)絡(luò)層L3為業(yè)務(wù)層提供通訊服務(wù),包括智能路由和網(wǎng)絡(luò)緩存。智能路由包含了一些規(guī)則定 義,比如優(yōu)選離客戶物理位置近的存儲地點,網(wǎng)絡(luò)緩存單元可以將最近經(jīng)常被調(diào)用的數(shù)據(jù) 庫存放在內(nèi)存或者固態(tài)硬盤SSD(Solid State Drive,固態(tài)硬盤)中,從而存取快速,不用實 際通過網(wǎng)絡(luò)進行傳送。存儲介質(zhì)智能管理單元層L4提供對實際物理存儲介質(zhì)的管理,由一 個主控模塊統(tǒng)一管理諸如光盤,HDD (Hard Disk Drive,硬盤驅(qū)動器),SDD等媒體介質(zhì)。
      [0042] 具體地,在用戶交互層L1發(fā)起存儲服務(wù)時,首先利用數(shù)據(jù)塊的屬性,數(shù)據(jù)采集點 ID,數(shù)據(jù)采集塊時間段(開始時間,結(jié)束時間),大小,內(nèi)容等歸一化為唯一標(biāo)記,即數(shù)據(jù)塊 ID〇
      [0043] S102,檢索每個數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存 儲目的地。
      [0044] 在本發(fā)明的一個實施例中,其次利用當(dāng)前數(shù)據(jù)塊存儲調(diào)度節(jié)點掌握的資源池,選 取代價最低的存儲目的地。需要說明的是,此處所指代價最低是指存儲更高效的存儲目的 地。
      [0045] S103,根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將每個數(shù)據(jù)塊中數(shù)據(jù)存儲至相 應(yīng)的存儲位置,并更新存儲位置映射表。
      [0046] 在本發(fā)明的一個實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作,同時處理其 中的發(fā)送失敗,成功,重傳情況。具體地,存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò)層L3傳來 的存儲請求,將具體數(shù)據(jù)塊中數(shù)據(jù)根據(jù)資源配備發(fā)送到物理介質(zhì)里,可能是HDD,也可能是 SDD等,并且在存儲任務(wù)成功之后,更新存儲塊-存儲位置對應(yīng)映射表即位置映射表,其中, 核心信息存儲塊-存儲位置對應(yīng)映射表即位置映射表是動態(tài)維護的,其代價(存儲,檢索) 信息是動態(tài)變化的。網(wǎng)絡(luò)調(diào)度模塊也定時發(fā)送?;钚奶鴪笪模糜诰S護各個網(wǎng)絡(luò)節(jié)點失效 狀態(tài),剔除一些已經(jīng)損壞的存儲節(jié)點。
      [0047] 進一步地,在本發(fā)明的一個實施例中,上述方法還包括:將數(shù)據(jù)塊中每個數(shù)據(jù)在預(yù) 設(shè)周期備份至第一預(yù)設(shè)存儲位置。具體地,為了容錯的目的,數(shù)據(jù)塊存儲是冗余的,不僅包 含在本地的冗余備份,還要定期利用網(wǎng)絡(luò)進行異地備份,異地備份優(yōu)選在總部的機房里,即 第一預(yù)設(shè)存儲位置優(yōu)選為總部的機房。本發(fā)明實施例充分利用現(xiàn)有低成本,大容量的存儲 設(shè)備,采用本地化分布式處理的方式實現(xiàn)一定冗余的存儲系統(tǒng),同時結(jié)合網(wǎng)絡(luò),實現(xiàn)了異地 數(shù)據(jù)存儲,以客戶端/服務(wù)器的模式為在建大壩混凝土實時測溫系統(tǒng)的海量數(shù)據(jù)提供高效 存儲和快速檢索服務(wù)。
      [0048] 進一步地,在本發(fā)明的一個實施例中,參照圖3所示,在此對檢索方法進行贅述。 其中,上述方法還包括以下步驟:
      [0049] S301,獲取數(shù)據(jù)塊ID。
      [0050] S302,根據(jù)數(shù)據(jù)塊ID與檢索映射表獲取數(shù)據(jù)塊的存儲位置。
      [0051] 在本發(fā)明的一個實施例中,首先利用數(shù)據(jù)塊ID在數(shù)據(jù)庫ID和存儲位置匹配表里 快速進行查找,以獲取數(shù)據(jù)塊的存儲位置。
      [0052] S303,檢索數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目 的地。
      [0053] 進一步地,在本發(fā)明的一個實施例中,在獲取數(shù)據(jù)塊的存儲位置之后,利用當(dāng)前數(shù) 據(jù)塊存儲調(diào)度節(jié)點掌握的資源池,選取代價最低的存儲目的地。
      [0054] S304,根據(jù)最低代價的存儲目的地發(fā)送檢索請求以根據(jù)存儲位置調(diào)用數(shù)據(jù)塊中數(shù) 據(jù)。
      [0055] 進一步地,在本發(fā)明的一個實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作, 同時處理其中的發(fā)送失敗,成功,重傳情況。具體地,存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò) 層L3傳來的檢索請求,將具體數(shù)據(jù)從物理介質(zhì)里發(fā)送到網(wǎng)絡(luò)層L3,根據(jù)資源配備,這些物 理介質(zhì)可能是硬盤HDD,也可能是固態(tài)硬盤SDD等。
      [0056] 在本發(fā)明的一個實施例中,上述方法還包括:將調(diào)用次數(shù)超過預(yù)設(shè)次數(shù)的數(shù)據(jù)塊 存儲至第二預(yù)設(shè)存儲位置。具體地,網(wǎng)絡(luò)層L3引入網(wǎng)絡(luò)緩存單元裝置可以將最近經(jīng)常被調(diào) 用的數(shù)據(jù)塊存放在內(nèi)存中,即第二預(yù)設(shè)存儲位置優(yōu)選為內(nèi)存中。本發(fā)明實施例通過將經(jīng)常 被調(diào)用的數(shù)據(jù)塊存放在內(nèi)存中,從而存取速度快,不用實際通過網(wǎng)絡(luò)進行傳送,提高用戶的 使用體驗。
      [0057] 在具體應(yīng)用中,例如在水利施工現(xiàn)場應(yīng)用中,本發(fā)明實施例可以實現(xiàn)對于在建大 壩混凝土實時測溫海量數(shù)據(jù)的高效存儲和快速檢索,結(jié)構(gòu)簡單,易于實現(xiàn),并且解決了目前 水利施工現(xiàn)場中關(guān)鍵業(yè)務(wù)數(shù)據(jù)的安全存儲和檢索的隱患問題,對于其他行業(yè)也有很好的借 鑒意義。下面參照附圖作進一步贅述。
      [0058] 在本發(fā)明的一個實施例中,參照圖4所示,圖4所示為一個典型的現(xiàn)場實施網(wǎng)絡(luò) 圖,其可以分為三個區(qū)域:中心設(shè)備機房,客戶端應(yīng)用場合和異地存儲系統(tǒng)。具體地,其包含 了如下網(wǎng)元:中心設(shè)備機房包括:路由器與防火墻,用于連接各個服務(wù)器單元;數(shù)據(jù)存儲調(diào) 度服務(wù)器:此服務(wù)器單元維護數(shù)據(jù)塊-目的地映射信息表即位置映射表,決定當(dāng)前請求的 數(shù)據(jù)庫存放在哪個實際服務(wù)器上,以及該服務(wù)器還周期性的將本地的數(shù)據(jù)塊通過網(wǎng)絡(luò)發(fā)往 異地進行存儲;數(shù)據(jù)存儲數(shù)據(jù)服務(wù)器:此服務(wù)器單元維護實際存儲各個數(shù)據(jù)塊,其中,為了 維護方便,統(tǒng)一采用商用數(shù)據(jù)庫系統(tǒng);數(shù)據(jù)存儲應(yīng)用服務(wù)器:此服務(wù)器單元為上層提供服 務(wù),包括基于API調(diào)用的服務(wù)實體和WEB方式為人機交互的服務(wù)實體。
      [0059] 就現(xiàn)有技術(shù)而言,在企業(yè)大型多單元分布系統(tǒng)中,一般通過網(wǎng)絡(luò)套接字(Socket) 協(xié)議作為應(yīng)用單元之間進行數(shù)據(jù)交換的通常方法,基本上采取的是自定義報文格式,無論 是定長或者分隔符的,但是,由于這些自定義的信息格式缺乏統(tǒng)一標(biāo)準(zhǔn),隨意性大,通用性, 靈活性不足,不能滿足企業(yè)IT建設(shè)周期長,新技術(shù)層出不窮的現(xiàn)實情況的需求,隨著近年 來可擴展標(biāo)記語言(Extensible Markup Language,XML)的普及,現(xiàn)有或者將來企業(yè)開發(fā)的 系統(tǒng)都推薦應(yīng)用標(biāo)準(zhǔn)的XML作為相應(yīng)的應(yīng)用的數(shù)據(jù)交換標(biāo)準(zhǔn)。
      [0060] 具體地,在本發(fā)明的一個實施例中,本發(fā)明實施例的存儲API定義如下:
      [0061] 請求 <?xmlvcrsion=M 1.0Mcncoding=Mull-8M ?> 〈message〉 <head> <mcssagc_id>DATA_PUT_REQ</mcssagc_id>; <vcrsion> 1.0</vcrsion> <limc_lamp>2013-12-13:00:03:45:234</timc_tamp> <scq_no> 11 </scq_no> </hcad> <body> <data>no</data> </body> <lail>
      [0062] 〈checksum〉123〈/checksum〉 </lail> </mcssagc> 應(yīng)答(成功) <?xnilvcrsion:=" 1 .Onencodmg=,'uli-8'i ?> <mcssagc> <hcad> <messagc_id>D/\TA_PUT_ACK</message_id>; <vcrsion> 1.0</vcrsion> <lirne_lamp>2013-12-13:00:03:45:234</limc_Uunp> <seq_no>l l</seq_no> </hcad> <body> <rcsull>ok</rcsxxlt> </body> <iail> </l.ail> </message> 應(yīng)答(失敗) <?xmIvcrsion_n 1.0ncncoding="utf-8,i ?> 〈message〉 <hcad> <messagc_id>DATA_PL:T_ACK</nicssagc_itl>; <version> 1 .()</version> <iimc_lamp>2013-12-! 3:00:03:45:234</lime_tamp> <scq_no>l l</seq_no> </hcad> <body> <rcsult>ko</rcsuli> <ko codc>234</ko_code> </body> <lail>
      [0063] </tail> 〈/message〉
      [0064] 進一步地,在本發(fā)明的一個實施例中,本發(fā)明實施例的檢索存儲API定義如下:
      [0065] 請求 <?xmlvcrsion="l .0Mcncoding=!,uif-8i! ?> <mcssagc> <hcad> <mcssagc_icl>DATA_GET_REQ</mcssagc_id>; <vcrsion> 1.0</vcrsion> <timc tamp>2()13-12-13:00:()3:45:234</timc lamp> <scq_no> 11 </scq_no> </hcad> <body> <data_id>0lE fad5b-d9cb-469i-al65-70867728950c</data_id> </body> <tail> <chccksum>123</checksum> </tail> 〈/message〉 應(yīng)答(成功) <?xmlvcrsion=Ml .0Mcncoding=,,utf-8n ?> 〈message〉 <hcad> <mcssage_id>DATA_ACK</message_id>; <vcrsion> 1.0</vcrsion> <timc_tamp>2013-12-13:00:03:45:234</iimc_lamp> <scq_no>l l</scq_no> </hcad> <body> <dala_id>0t^rad5b-d9cb-469t-al65-70867728950c</datajd> <dnla>MjAxMynxMiOxM/owMn〇wM/oONTovM/Qgbm9k7WlkOjFwMDIwMjAyMDM g Μ TI u N A==</dal a>
      [0066] <result>ok</result> </body> <tail> </iail> </mcssagc> 應(yīng)答(失?。?<?xmlvcrsion="lO"cncoding="uU、-8" ?> 〈message〉 <hcad> 〈message-id>DATA_ACl〈〈/'message-id>; 〈version〉1.0</version> <time_tamp>2013-12-13:00:03:45 ;234</time_tamp> <scq_no> 11 </scq_no> </hcad> <body> <data_id>0fBfad5b-d9cb-469f-al65-70867728950c</data_id> <rcsull>ko</rcsull> <ko_cocic> 133</ko_codc> </body> <iail> </tai!> 〈/message〉
      [0067] 下面詳細闡述兩個服務(wù)即存儲與檢索的流程。
      [0068] 在本發(fā)明的一個實施例中,參照圖5所示,數(shù)據(jù)塊存儲流程包括以下步驟:
      [0069] S501,服務(wù)請求開始。
      [0070] S502,接收數(shù)據(jù)塊,生成數(shù)據(jù)塊ID。
      [0071] 在本發(fā)明的實施例中,利用數(shù)據(jù)塊的屬性,數(shù)據(jù)采集點ID,數(shù)據(jù)采集塊時間段(開 始時間,結(jié)束時間),大小,內(nèi)容等歸一化為唯一標(biāo)記,以生成數(shù)據(jù)塊ID。
      [0072] S503,檢索資源池,選取代價最低的存儲目的地。
      [0073] 在本發(fā)明的實施例中,利用當(dāng)前數(shù)據(jù)塊存儲調(diào)度節(jié)點掌握的資源池,選取代價最 低的存儲目的地。
      [0074] S504,網(wǎng)絡(luò)層L3傳送到目的地。
      [0075] S505,判斷是否成功。如果是,則進入步驟S506 ;如果否,則返回步驟S503。
      [0076] 需要說明的是,執(zhí)行步驟S505的同時執(zhí)行步驟S507。
      [0077] 在本發(fā)明的實施例中,如果成功,則存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò)層L3 傳來的存儲請求,將具體數(shù)據(jù)發(fā)送到物理介質(zhì)里,根據(jù)資源配備,可能是HDD,也可能是SDD 等。
      [0078] S506,更新映射表。
      [0079] 在本發(fā)明的實施例中,存儲任務(wù)成功后,更新存儲塊-存儲位置對應(yīng)映射表即位 置映射表。
      [0080] S507,判斷傳送次數(shù)是否大于N。如果是,則進入步驟S508 ;如果否,則進入步驟 S505。
      [0081] 在本發(fā)明的實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作,同時處理其中的 發(fā)送失敗,成功,重傳情況。優(yōu)選的,可以嘗試N次,如果N次失敗,報告調(diào)度模塊,重新調(diào)度, 同時更新映射表,增加代價值,即不優(yōu)選。如果此次失敗,轉(zhuǎn)到重新調(diào)度。
      [0082] S508,此次任務(wù)失敗。
      [0083] S509,本次任務(wù)結(jié)束。
      [0084] 進一步地,在本發(fā)明的一個實施例中,參照圖6所示,數(shù)據(jù)塊檢索流程包括以下步 驟:
      [0085] S601,服務(wù)請求開始。
      [0086] 在本發(fā)明的實施例中,利用數(shù)據(jù)塊ID,在數(shù)據(jù)庫ID和存儲位置匹配表里快速進行 查找。
      [0087] S602,檢索資源池,選取代價最低的存儲目的地。
      [0088] 在本發(fā)明的實施例中,利用當(dāng)前數(shù)據(jù)塊存儲調(diào)度節(jié)點掌握的資源池數(shù)據(jù),選取代 價最低的存儲源地即存儲目的地。一般的,這些資源往往可以選用物理鏈路較短的節(jié)點。
      [0089] S603,網(wǎng)絡(luò)層L3傳送請求到目的地。
      [0090] S604,判斷是否成功。如果是,則進入步驟S605 ;如果否,則返回步驟S602。
      [0091] S605,獲取數(shù)據(jù)。
      [0092] 在本發(fā)明的實施例中,存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò)層L3傳來的檢索請 求,將具體數(shù)據(jù)從物理介質(zhì)里發(fā)送到網(wǎng)絡(luò)層L3,根據(jù)資源配備,可能是HDD,也可能是SDD 等。
      [0093] S606,判斷傳送次數(shù)是否大于N。如果是,則進入步驟S607 ;如果否,則進入步驟 S604。
      [0094] 在本發(fā)明的實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作,同時處理其中的 發(fā)送失敗,成功,重傳情況。優(yōu)選的,可以嘗試N次,如果N次失敗,報告調(diào)度模塊,重新調(diào)度, 同時更新映射表,增加代價值,即不優(yōu)選。如果此次失敗,則重新調(diào)度。
      [0095] S607,此次任務(wù)失敗,重新選取存儲單元,返回步驟S602。
      [0096] S608,本次任務(wù)結(jié)束。
      [0097] 本發(fā)明實施例所述可以應(yīng)用于在建大壩混凝土實時測溫海量數(shù)據(jù)的高效存儲和 快速檢索方法和系統(tǒng),可以有效的保證了水利施工現(xiàn)場信息化水平的進一步提升,實現(xiàn)了 對于在建大壩混凝土實時測溫海量數(shù)據(jù)的高效存儲和快速檢索,結(jié)構(gòu)簡單,易于實現(xiàn),且解 決了目前水利施工現(xiàn)場中關(guān)鍵業(yè)務(wù)數(shù)據(jù)的安全存儲和檢索的隱患問題。
      [0098] 根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,通過將 數(shù)據(jù)打包為固定大小的數(shù)據(jù)塊,并且檢索數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,從而 調(diào)度最低代價的存儲目的地,實現(xiàn)根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將數(shù)據(jù)進行 存儲的目的,以及將數(shù)據(jù)進行備份,充分利用現(xiàn)有低成本、大容量的存儲設(shè)備,很好地實現(xiàn) 一定冗余,精細度和安全性高,提高存儲效率,滿足用戶的使用要求。另外,本發(fā)明實施通過 根據(jù)數(shù)據(jù)塊生成的數(shù)據(jù)塊ID進行檢索,速度快、效率高,且消除了數(shù)據(jù)的安全存儲和檢索 的隱患問題,滿足用戶的使用要求,提高用戶的使用體驗。
      [0099] 其次參照附圖描述根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測溫海量數(shù)據(jù) 的存儲裝置。參照圖7所示,該裝置100包括:生成模塊10、第一檢索模塊20與存儲請求 模塊30。
      [0100] 其中,生成模塊10用于將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)多個數(shù)據(jù) 塊中每個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊ID。第一檢索模塊20用于檢索每個數(shù)據(jù)塊對應(yīng)的存儲 調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的地。存儲請求模塊30用于根據(jù)最低代 價的存儲目的地發(fā)送存儲請求以將每個數(shù)據(jù)塊中數(shù)據(jù)存儲至相應(yīng)的存儲位置,并更新存儲 位置映射表。
      [0101] 在本發(fā)明的一個實施例中,例如在水利施工現(xiàn)場中進行大壩混凝土實時測溫時, 即運用埋設(shè)在混凝土內(nèi)的溫度傳感器通過現(xiàn)場總線組成網(wǎng)絡(luò),向溫度采集服務(wù)器上報溫度 報文,這些內(nèi)容包括節(jié)點號,溫度值,變化率,采集時間等,由于采集的數(shù)據(jù)是零散的,不定 長的,且隨著采集儀廠家,型號不同而變化,因此本發(fā)明實施例在存儲請求之前統(tǒng)一整理成 固定大小的數(shù)據(jù)塊,以方便檢索,減少碎片化。
      [0102] 進一步地,在本發(fā)明的一個實施例中,生成模塊10還用于:將每個數(shù)據(jù)塊的屬性、 數(shù)據(jù)采集點ID、數(shù)據(jù)采集塊時間段、大小、內(nèi)容歸一化為唯一標(biāo)記,以生成對應(yīng)的數(shù)據(jù)塊 ID〇
      [0103] 具體地,在本發(fā)明的一個實施例中,參照圖2所示,本發(fā)明實施例的多層架構(gòu)可以 分為四層:用戶交互層L1、業(yè)務(wù)應(yīng)用層L2、網(wǎng)絡(luò)層L3和存儲介質(zhì)智能管理單元層L4。用戶 交互層L1、業(yè)務(wù)應(yīng)用層L2、網(wǎng)絡(luò)層L3和存儲介質(zhì)智能管理單元層L4通過合適的協(xié)議進行 組網(wǎng),共同完成目標(biāo)計算,其采取"分而治之"的思想,即每個層相互獨立,各層之間僅通過 約定好的接口進行通訊和連接。具體地,在本發(fā)明的一個實施例中,本發(fā)明實施例從硬件上 包括了各種計算機服務(wù)器和連接這些服務(wù)器的計算機網(wǎng)絡(luò),從軟件上包括了各種特定目的 的軟件組件,硬件和軟件共同作用可以用于在建大壩混凝土實時測溫海量數(shù)據(jù)的高效分布 存儲和檢索,其充分利用水利施工現(xiàn)場的計算機網(wǎng)絡(luò)和服務(wù)器,并通過合適的協(xié)議進行組 網(wǎng),共同完成目標(biāo)計算。本發(fā)明實施例充分利用水利施工現(xiàn)場的計算機網(wǎng)絡(luò)和服務(wù)器,為海 量測溫數(shù)據(jù)提供分布存儲和檢索的高效和快速方法,其中,檢索方法在下面進行詳細贅述。
      [0104] 其中,用戶交互層L1提供兩方面的內(nèi)容:一個是人機交互,提供⑶I (Graphical User Interface,簡稱GUI,又稱圖形用戶接口)或者命令行兩種方式供使用者使用;另外 一個是機-機交互,提供API (Application Programming Interface,應(yīng)用程序編程接口) 的方式供服務(wù)需求方調(diào)用。用戶交互層L1可以發(fā)起對兩類服務(wù):存儲和檢索的請求。業(yè)務(wù) 應(yīng)用層L2為上層提供服務(wù),包含兩個核心組件,一個是業(yè)務(wù)服務(wù)點,包含了存儲和檢索核 心服務(wù),另外還提供諸如運行日志,性能檢測,測試及其他服務(wù)內(nèi)容,另外一個是業(yè)務(wù)適配 器,業(yè)務(wù)適配器動態(tài)維護最重要的一個數(shù)據(jù)表,存儲位置映射表即數(shù)據(jù)塊-存儲地映射表。 網(wǎng)絡(luò)層L3為業(yè)務(wù)層提供通訊服務(wù),包括智能路由和網(wǎng)絡(luò)緩存。智能路由包含了一些規(guī)則定 義,比如優(yōu)選離客戶物理位置近的存儲地點,網(wǎng)絡(luò)緩存單元可以將最近經(jīng)常被調(diào)用的數(shù)據(jù) 庫存放在內(nèi)存或者固態(tài)硬盤SSD(Solid State Drive,固態(tài)硬盤)中,從而存取快速,不用實 際通過網(wǎng)絡(luò)進行傳送。存儲介質(zhì)智能管理單元層L4提供對實際物理存儲介質(zhì)的管理,由一 個主控模塊統(tǒng)一管理諸如光盤,HDD (Hard Disk Drive,硬盤驅(qū)動器),SDD等媒體介質(zhì)。
      [0105] 具體地,在用戶交互層L1發(fā)起存儲服務(wù)時,首先利用數(shù)據(jù)塊的屬性,數(shù)據(jù)采集點 ID,數(shù)據(jù)采集塊時間段(開始時間,結(jié)束時間),大小,內(nèi)容等歸一化為唯一標(biāo)記,即數(shù)據(jù)塊 ID〇
      [0106] 在本發(fā)明的一個實施例中,其次利用當(dāng)前數(shù)據(jù)塊存儲調(diào)度節(jié)點掌握的資源池,選 取代價最低的存儲目的地。需要說明的是,此處所指代價最低是指存儲更高效的存儲目的 地。
      [0107] 在本發(fā)明的一個實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作,同時處理其 中的發(fā)送失敗,成功,重傳情況。具體地,存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò)層L3傳來 的存儲請求,將具體數(shù)據(jù)塊中數(shù)據(jù)根據(jù)資源配備發(fā)送到物理介質(zhì)里,可能是HDD,也可能是 SDD等,并且在存儲任務(wù)成功之后,更新存儲塊-存儲位置對應(yīng)映射表即位置映射表,其中, 核心信息存儲塊-存儲位置對應(yīng)映射表即位置映射表是動態(tài)維護的,其代價(存儲,檢索) 信息是動態(tài)變化的。網(wǎng)絡(luò)調(diào)度模塊也定時發(fā)送?;钚奶鴪笪模糜诰S護各個網(wǎng)絡(luò)節(jié)點失效 狀態(tài),剔除一些已經(jīng)損壞的存儲節(jié)點。
      [0108] 進一步地,在本發(fā)明的一個實施例中,參照圖8所示,上述存儲裝置100還包括:備 份模塊40。其中,備份模塊40用于將數(shù)據(jù)塊中每個數(shù)據(jù)在預(yù)設(shè)周期備份至第一預(yù)設(shè)存儲位 置。具體地,為了容錯的目的,數(shù)據(jù)塊存儲是冗余的,不僅包含在本地的冗余備份,還要定期 利用網(wǎng)絡(luò)進行異地備份,異地備份優(yōu)選在總部的機房里,即第一預(yù)設(shè)存儲位置優(yōu)選為總部 的機房。本發(fā)明實施例充分利用現(xiàn)有低成本,大容量的存儲設(shè)備,采用本地化分布式處理的 方式實現(xiàn)一定冗余的存儲系統(tǒng),同時結(jié)合網(wǎng)絡(luò),實現(xiàn)了異地數(shù)據(jù)存儲,以客戶端/服務(wù)器的 模式為在建大壩混凝土實時測溫系統(tǒng)的海量數(shù)據(jù)提供高效存儲和快速檢索服務(wù)。
      [0109] 進一步地,在本發(fā)明的一個實施例中,參照圖9所示,在此對檢索方法進行贅述。 其中,上述存儲裝置100還包括:獲取模塊50、第二檢索模塊60與檢索請求模塊70。
      [0110] 其中,獲取模塊50用于獲取數(shù)據(jù)塊ID。第二檢索模塊60用于根據(jù)數(shù)據(jù)塊ID與檢 索映射表獲取數(shù)據(jù)塊的存儲位置,并且檢索數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以 調(diào)度最低代價的存儲目的地。檢索請求模塊70用于根據(jù)最低代價的存儲目的地發(fā)送檢索 請求以根據(jù)存儲位置調(diào)用數(shù)據(jù)塊中數(shù)據(jù)。
      [0111] 在本發(fā)明的一個實施例中,首先利用數(shù)據(jù)塊ID在數(shù)據(jù)庫ID和存儲位置匹配表里 快速進行查找,以獲取數(shù)據(jù)塊的存儲位置。
      [0112] 進一步地,在本發(fā)明的一個實施例中,在獲取數(shù)據(jù)塊的存儲位置之后,利用當(dāng)前數(shù) 據(jù)塊存儲調(diào)度節(jié)點掌握的資源池,選取代價最低的存儲目的地。
      [0113] 進一步地,在本發(fā)明的一個實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作, 同時處理其中的發(fā)送失敗,成功,重傳情況。具體地,存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò) 層L3傳來的檢索請求,將具體數(shù)據(jù)從物理介質(zhì)里發(fā)送到網(wǎng)絡(luò)層L3,根據(jù)資源配備,這些物 理介質(zhì)可能是硬盤HDD,也可能是固態(tài)硬盤SDD等。
      [0114] 在本發(fā)明的一個實施例中,參照圖9所示,上述存儲裝置100還包括:存儲模塊 80。其中,存儲模塊80用于將調(diào)用次數(shù)超過預(yù)設(shè)次數(shù)的數(shù)據(jù)塊存儲至第二預(yù)設(shè)存儲位置。 具體地,網(wǎng)絡(luò)層L3引入網(wǎng)絡(luò)緩存單元裝置可以將最近經(jīng)常被調(diào)用的數(shù)據(jù)塊存放在內(nèi)存中, 即第二預(yù)設(shè)存儲位置優(yōu)選為內(nèi)存中。本發(fā)明實施例通過將經(jīng)常被調(diào)用的數(shù)據(jù)塊存放在內(nèi)存 中,從而存取速度快,不用實際通過網(wǎng)絡(luò)進行傳送,提高用戶的使用體驗。
      [0115] 在具體應(yīng)用中,例如在水利施工現(xiàn)場應(yīng)用中,本發(fā)明實施例可以實現(xiàn)對于在建大 壩混凝土實時測溫海量數(shù)據(jù)的高效存儲和快速檢索,結(jié)構(gòu)簡單,易于實現(xiàn),并且解決了目前 水利施工現(xiàn)場中關(guān)鍵業(yè)務(wù)數(shù)據(jù)的安全存儲和檢索的隱患問題,對于其他行業(yè)也有很好的借 鑒意義。下面參照附圖作進一步贅述。
      [0116] 在本發(fā)明的一個實施例中,參照圖4所示,圖4所示為一個典型的現(xiàn)場實施網(wǎng)絡(luò) 圖,其可以分為三個區(qū)域:中心設(shè)備機房,客戶端應(yīng)用場合和異地存儲系統(tǒng)。具體地,其包含 了如下網(wǎng)元:中心設(shè)備機房包括:路由器與防火墻,用于連接各個服務(wù)器單元;數(shù)據(jù)存儲調(diào) 度服務(wù)器:此服務(wù)器單元維護數(shù)據(jù)塊-目的地映射信息表即位置映射表,決定當(dāng)前請求的 數(shù)據(jù)庫存放在哪個實際服務(wù)器上,以及該服務(wù)器還周期性的將本地的數(shù)據(jù)塊通過網(wǎng)絡(luò)發(fā)往 異地進行存儲;數(shù)據(jù)存儲數(shù)據(jù)服務(wù)器:此服務(wù)器單元維護實際存儲各個數(shù)據(jù)塊,其中,為了 維護方便,統(tǒng)一采用商用數(shù)據(jù)庫系統(tǒng);數(shù)據(jù)存儲應(yīng)用服務(wù)器:此服務(wù)器單元為上層提供服 務(wù),包括基于API調(diào)用的服務(wù)實體和WEB方式為人機交互的服務(wù)實體。
      [0117] 就現(xiàn)有技術(shù)而言,在企業(yè)大型多單元分布系統(tǒng)中,一般通過網(wǎng)絡(luò)套接字(Socket) 協(xié)議作為應(yīng)用單元之間進行數(shù)據(jù)交換的通常方法,基本上采取的是自定義報文格式,無論 是定長或者分隔符的,但是,由于這些自定義的信息格式缺乏統(tǒng)一標(biāo)準(zhǔn),隨意性大,通用性, 靈活性不足,不能滿足企業(yè)IT建設(shè)周期長,新技術(shù)層出不窮的現(xiàn)實情況的需求,隨著近年 來可擴展標(biāo)記語言(Extensible Markup Language,XML)的普及,現(xiàn)有或者將來企業(yè)開發(fā)的 系統(tǒng)都推薦應(yīng)用標(biāo)準(zhǔn)的XML作為相應(yīng)的應(yīng)用的數(shù)據(jù)交換標(biāo)準(zhǔn)。
      [0118] 具體地,在本發(fā)明的一個實施例中,本發(fā)明實施例的存儲API定義如下:
      [0119] 請求 <?xmlvcrsion=,' 1.0Mcncoding-'uti-8M ?> <mcssagc> <head> <mcssagc_id>DATA_PUT_REQ</mcssagc_id>; <vcrsion> 1.0</vcrsion> <timc_tamp>2013-12-13:00:03:45:234</timc_tamp> <scq_no>l l</scq_no> </hcad> <body> <data> n 〇</data> </body> <iail> <chccksum> 123</chccksum> </tai!> 〈/message〉 應(yīng)答(成功) <?xmlvcrsion=,!l .0Mcncoding="uir-8,! ?> <mcssagc> <hcad>
      [0120] <mcssagc_id>DATA_PUT_ACK</mcssagc_id>; <vcrsion> 1.0</vcrsion> <limc_iamp>2013-12-13:00:03:45:234</limc_tamp> <scq_no> 11 </scq_no> </hcad> <body> <rcsult>ok</rcsu!l> </body> <lail> </lail> </mcssagc> 應(yīng)答(失?。?<?xmlvcrsion=!, 1.0,,cncoding="ut(-8" ?> 〈message〉 <head> <mcssagc_id>DATA_PUT_ACK</mcssagc_id>; 〈version〉1 ,()</version> <timc_tamp>2013-12-13:00:03:45:234</time_tamp> <scq_no> 11 </scq_no> </hcad> <body> <rcs u 11> k 〇</ rcsu 11> <ko_codc>234</ko_codc> </body> <lail> </lail> 〈/message〉
      [0121] 進一步地,在本發(fā)明的一個實施例中,本發(fā)明實施例的檢索存儲API定義如下:
      [0122] 請求 <?xmlvcrsion=,! 1.0Mcncoding=Mulf-8i! ?> 〈message〉 <hcad>
      [0123] <mcssago_id>DATA_GET_REQ</mcssagc_id>; <vcrsion> 1.0</vcrsion> <iimc_lamp >2013-12-13:00:03:45:234</limc_tamp> <scq_no>l l</scq_no> </head> <body> <data_id>0l}irad5b-d9cb-469r-al65-70867728950c</dala_id> </body> <tail> 〈checksum〉123</checksum> </tail> </mcssagc> 應(yīng)答(成功) <?xm!version-" 1.0ncncoding-nuir-8" ?> <mcssagc> <head> <mcssagc_id>DATA_ACK</mcssagc_id>: <vcrsion> 1.0</vcrsion> <iimc lamp>2013-12-13:00:03:45:234</nmc lamp> <scq_no>l l</scq_no> </hcad> <body> <daia_id>0.0;irad5b-d9cb-469r-al65-70867728950c</daia_id> <data>MjAx\4yOxMiOxMzowMDowMzoONToyMzQgbm9kZ\VlkOjEwMDIwMjAyMDM gMTI uN A=</data> <result>ok</result> </body> <tail> </lail> </messagc> 應(yīng)答(失?。?<?xmlvcrsion="l .0"cncocling="utr-8" ?>
      [0124] 〈message〉 <hcad> <mcssagc_id>DATA_ACK</mcssagc_id>; <vcrsion> 1.0</vcrsion> <timc_tamp>2013-12-13:00:03;45:234</timc_lamp> <scq_no> 11 </scq_no> 〈/'head〉 <body> <data_id>01^rad5b~d9cb-469r-al65-70867728950c</data_id> <rcsult>ko</rcsult> <ko-code〉133</ko-code〉 </body> <tail> </tai!> 〈/message〉
      [0125] 下面詳細闡述兩個服務(wù)即存儲與檢索的流程。
      [0126] 在本發(fā)明的一個實施例中,參照圖5所示,數(shù)據(jù)塊存儲流程包括以下步驟:
      [0127] S501,服務(wù)請求開始。
      [0128] S502,接收數(shù)據(jù)塊,生成數(shù)據(jù)塊ID。
      [0129] 在本發(fā)明的實施例中,利用數(shù)據(jù)塊的屬性,數(shù)據(jù)采集點ID,數(shù)據(jù)采集塊時間段(開 始時間,結(jié)束時間),大小,內(nèi)容等歸一化為唯一標(biāo)記,以生成數(shù)據(jù)塊ID。
      [0130] S503,檢索資源池,選取代價最低的存儲目的地。
      [0131] 在本發(fā)明的實施例中,利用當(dāng)前數(shù)據(jù)塊存儲調(diào)度節(jié)點掌握的資源池,選取代價最 低的存儲目的地。
      [0132] S504,網(wǎng)絡(luò)層L3傳送到目的地。
      [0133] S505,判斷是否成功。如果是,則進入步驟S506 ;如果否,則返回步驟S503。
      [0134] 需要說明的是,執(zhí)行步驟S505的同時執(zhí)行步驟S507。
      [0135] 在本發(fā)明的實施例中,如果成功,則存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò)層L3 傳來的存儲請求,將具體數(shù)據(jù)發(fā)送到物理介質(zhì)里,根據(jù)資源配備,可能是HDD,也可能是SDD 等。
      [0136] S506,更新映射表。
      [0137] 在本發(fā)明的實施例中,存儲任務(wù)成功后,更新存儲塊-存儲位置對應(yīng)映射表即位 置映射表。
      [0138] S507,判斷傳送次數(shù)是否大于N。如果是,則進入步驟S508 ;如果否,則進入步驟 S505。
      [0139] 在本發(fā)明的實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作,同時處理其中的 發(fā)送失敗,成功,重傳情況。優(yōu)選的,可以嘗試N次,如果N次失敗,報告調(diào)度模塊,重新調(diào)度, 同時更新映射表,增加代價值,即不優(yōu)選。如果此次失敗,轉(zhuǎn)到重新調(diào)度。
      [0140] S508,此次任務(wù)失敗。
      [0141] S509,本次任務(wù)結(jié)束。
      [0142] 進一步地,在本發(fā)明的一個實施例中,參照圖6所示,數(shù)據(jù)塊檢索流程包括以下步 驟:
      [0143] S601,服務(wù)請求開始。
      [0144] 在本發(fā)明的實施例中,利用數(shù)據(jù)塊ID,在數(shù)據(jù)庫ID和存儲位置匹配表里快速進行 查找。
      [0145] S602,檢索資源池,選取代價最低的存儲目的地。
      [0146] 在本發(fā)明的實施例中,利用當(dāng)前數(shù)據(jù)塊存儲調(diào)度節(jié)點掌握的資源池數(shù)據(jù),選取代 價最低的存儲源地即存儲目的地。一般的,這些資源往往可以選用物理鏈路較短的節(jié)點。
      [0147] S603,網(wǎng)絡(luò)層L3傳送請求到目的地。
      [0148] S604,判斷是否成功。如果是,則進入步驟S605 ;如果否,則返回步驟S602。
      [0149] S605,獲取數(shù)據(jù)。
      [0150] 在本發(fā)明的實施例中,存儲介質(zhì)智能管理單元層L4接收網(wǎng)絡(luò)層L3傳來的檢索請 求,將具體數(shù)據(jù)從物理介質(zhì)里發(fā)送到網(wǎng)絡(luò)層L3,根據(jù)資源配備,可能是HDD,也可能是SDD 等。
      [0151] S606,判斷傳送次數(shù)是否大于N。如果是,則進入步驟S607 ;如果否,則進入步驟 S604。
      [0152] 在本發(fā)明的實施例中,網(wǎng)絡(luò)層L3承擔(dān)該數(shù)據(jù)塊的有效傳送工作,同時處理其中的 發(fā)送失敗,成功,重傳情況。優(yōu)選的,可以嘗試N次,如果N次失敗,報告調(diào)度模塊,重新調(diào)度, 同時更新映射表,增加代價值,即不優(yōu)選。如果此次失敗,則重新調(diào)度。
      [0153] S607,此次任務(wù)失敗,重新選取存儲單元,返回步驟S602。
      [0154] S608,本次任務(wù)結(jié)束。
      [0155] 本發(fā)明實施例所述可以應(yīng)用于在建大壩混凝土實時測溫海量數(shù)據(jù)的高效存儲和 快速檢索方法和系統(tǒng),可以有效的保證了水利施工現(xiàn)場信息化水平的進一步提升,實現(xiàn)了 對于在建大壩混凝土實時測溫海量數(shù)據(jù)的高效存儲和快速檢索,結(jié)構(gòu)簡單,易于實現(xiàn),且解 決了目前水利施工現(xiàn)場中關(guān)鍵業(yè)務(wù)數(shù)據(jù)的安全存儲和檢索的隱患問題。
      [0156] 根據(jù)本發(fā)明實施例提出的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,通過將 數(shù)據(jù)打包為固定大小的數(shù)據(jù)塊,并且檢索數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,從而 調(diào)度最低代價的存儲目的地,實現(xiàn)根據(jù)最低代價的存儲目的地發(fā)送存儲請求以將數(shù)據(jù)進行 存儲的目的,以及將數(shù)據(jù)進行備份,充分利用現(xiàn)有低成本、大容量的存儲設(shè)備,很好地實現(xiàn) 一定冗余,精細度和安全性高,提高存儲效率,滿足用戶的使用要求。另外,本發(fā)明實施通過 根據(jù)數(shù)據(jù)塊生成的數(shù)據(jù)塊ID進行檢索,速度快、效率高,且消除了數(shù)據(jù)的安全存儲和檢索 的隱患問題,滿足用戶的使用要求,提高用戶的使用體驗。
      [0157] 流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括 一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明 的實施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
      [0158] 在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是 用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以 供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指 令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置 或設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳 播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使 用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個 布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀 存儲器(R0M),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光 盤只讀存儲器(⑶ROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其 他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學(xué)掃描,接著進行編輯、解譯或必 要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器 中。
      [0159] 應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述 實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件 或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下 列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路 的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場 可編程門陣列(FPGA)等。
      [0160] 本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步 驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介 質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
      [0161] 此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模 塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機 可讀取存儲介質(zhì)中。
      [0162] 上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
      [0163] 在本說明書的描述中,參考術(shù)語"一個實施例"、"一些實施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何 的一個或多個實施例或示例中以合適的方式結(jié)合。
      [0164] 盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例 性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨 的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。
      【權(quán)利要求】
      1. 一種在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,其特征在于,包括以下步驟: 將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)所述多個數(shù)據(jù)塊中每個數(shù)據(jù)塊生成對 應(yīng)的數(shù)據(jù)塊身份識別號ID ; 檢索所述每個數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的 地;以及 根據(jù)所述最低代價的存儲目的地發(fā)送存儲請求以將所述每個數(shù)據(jù)塊中數(shù)據(jù)存儲至相 應(yīng)的存儲位置,并更新存儲位置映射表。
      2. 如權(quán)利要求1所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,其特征在于, 所述將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)所述多個數(shù)據(jù)塊中每個數(shù)據(jù)塊生成對 應(yīng)的數(shù)據(jù)塊ID,進一步包括: 將所述每個數(shù)據(jù)塊的屬性、數(shù)據(jù)采集點ID、數(shù)據(jù)采集塊時間段、大小、內(nèi)容歸一化為唯 一標(biāo)記,以生成所述對應(yīng)的數(shù)據(jù)塊ID。
      3. 如權(quán)利要求1所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,其特征在于, 還包括:將所述每個數(shù)據(jù)塊中數(shù)據(jù)在預(yù)設(shè)周期備份至第一預(yù)設(shè)存儲位置。
      4. 如權(quán)利要求1所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,其特征在于, 還包括: 獲取數(shù)據(jù)塊ID ; 根據(jù)所述數(shù)據(jù)塊ID與所述檢索映射表獲取所述數(shù)據(jù)塊的存儲位置; 檢索所述數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的地; 以及 根據(jù)所述最低代價的存儲目的地發(fā)送檢索請求以根據(jù)所述存儲位置調(diào)用所述數(shù)據(jù)塊 中數(shù)據(jù)。
      5. 如權(quán)利要求4所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲方法,其特征在于, 還包括:將調(diào)用次數(shù)超過預(yù)設(shè)次數(shù)的數(shù)據(jù)塊存儲至第二預(yù)設(shè)存儲位置。
      6. -種在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,特征在于,包括: 生成模塊,用于將數(shù)據(jù)打包為固定大小的多個數(shù)據(jù)塊,并且根據(jù)所述多個數(shù)據(jù)塊中每 個數(shù)據(jù)塊生成對應(yīng)的數(shù)據(jù)塊ID ; 第一檢索模塊,用于檢索所述每個數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度 最低代價的存儲目的地;以及 存儲請求模塊,用于根據(jù)所述最低代價的存儲目的地發(fā)送存儲請求以將所述每個數(shù)據(jù) 塊中數(shù)據(jù)存儲至相應(yīng)的存儲位置,并更新存儲位置映射表。
      7. 如權(quán)利要求6所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,其特征在于, 所述生成模塊還用于:將所述每個數(shù)據(jù)塊的屬性、數(shù)據(jù)采集點ID、數(shù)據(jù)采集塊時間段、大 小、內(nèi)容歸一化為唯一標(biāo)記,以生成所述對應(yīng)的數(shù)據(jù)塊ID。
      8. 如權(quán)利要求6所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,其特征在于, 還包括: 備份模塊,用于將所述數(shù)據(jù)塊中數(shù)據(jù)在預(yù)設(shè)周期備份至第一預(yù)設(shè)存儲位置。
      9. 如權(quán)利要求6所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,其特征在于, 還包括: 獲取模塊,用于獲取數(shù)據(jù)塊ID ; 第二檢索模塊,用于根據(jù)所述數(shù)據(jù)塊ID與所述檢索映射表獲取所述數(shù)據(jù)塊的存儲位 置,并且檢索所述數(shù)據(jù)塊對應(yīng)的存儲調(diào)度節(jié)點掌握的資源池,以調(diào)度最低代價的存儲目的 地;以及 檢索請求模塊,用于根據(jù)所述最低代價的存儲目的地發(fā)送檢索請求以根據(jù)所述存儲位 置調(diào)用所述數(shù)據(jù)塊中數(shù)據(jù)。
      10.如權(quán)利要求9所述的在建大壩混凝土實時測溫海量數(shù)據(jù)的存儲裝置,其特征在于, 還包括: 存儲模塊,用于將調(diào)用次數(shù)超過預(yù)設(shè)次數(shù)的數(shù)據(jù)塊存儲至第二預(yù)設(shè)存儲位置。
      【文檔編號】G06F12/02GK104268087SQ201410466217
      【公開日】2015年1月7日 申請日期:2014年9月12日 優(yōu)先權(quán)日:2014年9月12日
      【發(fā)明者】林鵬, 李慶斌, 高向友 申請人:清華大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1