亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        異構(gòu)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)轉(zhuǎn)換方法設(shè)計與實(shí)現(xiàn)*

        2016-01-01 10:56:00陳旭飛于鳳芹欽道理江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院江蘇無錫銳泰節(jié)能系統(tǒng)科學(xué)有限公司江蘇無錫435
        關(guān)鍵詞:關(guān)系數(shù)據(jù)庫鍵值字段

        陳旭飛,于鳳芹,欽道理(.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 4;.銳泰節(jié)能系統(tǒng)科學(xué)有限公司,江蘇 無錫 435)

        異構(gòu)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)轉(zhuǎn)換方法設(shè)計與實(shí)現(xiàn)*

        陳旭飛1,于鳳芹1,欽道理2
        (1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122;2.銳泰節(jié)能系統(tǒng)科學(xué)有限公司,江蘇 無錫 214135)

        針對傳統(tǒng)關(guān)系數(shù)據(jù)庫處理海量數(shù)據(jù)效率低下的問題,提出了一種基于鍵值數(shù)據(jù)庫Level DB與傳統(tǒng)關(guān)系數(shù)據(jù)庫MySQL協(xié)同存儲管理海量數(shù)據(jù)的方案,以及兩種數(shù)據(jù)庫之間數(shù)據(jù)轉(zhuǎn)換方法。首先對兩種數(shù)據(jù)庫特點(diǎn)進(jìn)行了分析,提出了一種異構(gòu)數(shù)據(jù)庫系統(tǒng)存儲策略,并在此基礎(chǔ)上介紹了Level DB到MySQL的數(shù)據(jù)轉(zhuǎn)移流程以及基于實(shí)用性的異構(gòu)數(shù)據(jù)轉(zhuǎn)換方法,最后給出了數(shù)據(jù)轉(zhuǎn)換應(yīng)用示例展示,結(jié)果表明,該方法具備良好的可行性和實(shí)用價值。

        異構(gòu);能耗數(shù)據(jù);存儲;數(shù)據(jù)轉(zhuǎn)換

        0 引言

        隨著社會節(jié)能環(huán)保意識的不斷加強(qiáng),能耗監(jiān)管網(wǎng)關(guān)被廣泛地使用在學(xué)校、企業(yè)等各種大型公共建筑中,其運(yùn)行的核心內(nèi)容就是能耗數(shù)據(jù)[1]。由于能源消耗的激增,采用單一的傳統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)處理能耗數(shù)據(jù)存在很大的局限性,因此可以采用多個數(shù)據(jù)庫協(xié)同管理的異構(gòu)數(shù)據(jù)庫系統(tǒng)的處理方案。支持?jǐn)?shù)據(jù)管理的數(shù)據(jù)庫產(chǎn)品呈現(xiàn)多樣化,比較常見的大體分為兩類,分別是鍵值數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫,兩者都有各自的優(yōu)缺點(diǎn)。

        鍵值存儲模型簡單,具有高吞吐、海量存儲、較強(qiáng)的擴(kuò)展性等特點(diǎn)[2],可以作為實(shí)時數(shù)據(jù)庫,快速地存儲由感知層上報的能耗數(shù)據(jù)。關(guān)系數(shù)據(jù)庫因?yàn)榇嫒÷窂綄τ脩敉该?、?shù)據(jù)獨(dú)立性好等特點(diǎn),為數(shù)據(jù)庫用戶提供了對結(jié)構(gòu)化數(shù)據(jù)的簡單、健壯、靈活、高效的組織和管理方法[3],適合設(shè)計網(wǎng)關(guān)平臺數(shù)據(jù)庫,向用戶提供能耗數(shù)據(jù)的頁面展示,并能查詢歷史數(shù)據(jù)記錄。

        將鍵值數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫相結(jié)合,構(gòu)建能耗監(jiān)管網(wǎng)關(guān)數(shù)據(jù)管理系統(tǒng),可以發(fā)揮各自的優(yōu)勢,實(shí)現(xiàn)對能耗數(shù)據(jù)的高效存儲和訪問。本文所述建筑能耗監(jiān)管網(wǎng)關(guān)采用鍵值數(shù)據(jù)庫Level DB加關(guān)系數(shù)據(jù)庫MySQL的數(shù)據(jù)存儲方案,由于兩種數(shù)據(jù)庫的數(shù)據(jù)存儲模型不同,在實(shí)際運(yùn)行環(huán)境中,數(shù)據(jù)在兩者之間進(jìn)行交流和轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)的共享,是網(wǎng)關(guān)系統(tǒng)運(yùn)行不可避免的問題[4]。在敘述完數(shù)據(jù)庫系統(tǒng)架構(gòu)設(shè)計后,具體介紹異構(gòu)數(shù)據(jù)轉(zhuǎn)換方法。

        1 數(shù)據(jù)庫系統(tǒng)架構(gòu)

        圖1所示為數(shù)據(jù)系統(tǒng)整體架構(gòu)。

        圖1 數(shù)據(jù)庫系統(tǒng)整體架構(gòu)

        采集的能耗數(shù)據(jù)通過數(shù)據(jù)上報模板自動并實(shí)時上傳給實(shí)時數(shù)據(jù)庫,以保證數(shù)據(jù)得到有效的處理和支持高效率的查詢服務(wù)。數(shù)據(jù)上報采取統(tǒng)一的JSON格式,實(shí)現(xiàn)數(shù)據(jù)組織、存儲及交換的一致性。

        網(wǎng)關(guān)數(shù)據(jù)庫系統(tǒng)接收并存儲感知層上傳的能耗數(shù)據(jù),并對其進(jìn)行處理,具體設(shè)計分成鍵值數(shù)據(jù)庫和傳統(tǒng)關(guān)系數(shù)據(jù)庫兩部分。數(shù)據(jù)庫接收到數(shù)據(jù)后,先存儲數(shù)據(jù)至實(shí)時數(shù)據(jù)庫Level DB,按照業(yè)務(wù)需求將數(shù)據(jù)分別存儲在對應(yīng)的數(shù)據(jù)庫中,客戶端程序可以通過REST接口將數(shù)據(jù)上傳到頁面,實(shí)現(xiàn)對能耗數(shù)據(jù)的實(shí)時監(jiān)測;同時,后臺程序讀取JSON格式的實(shí)時數(shù)據(jù),進(jìn)行數(shù)據(jù)轉(zhuǎn)換,形成對應(yīng)的 CSV格式文件,批量存儲到 MySQL。所以,客戶端也可以通過SQL語言接口訪問傳統(tǒng)關(guān)系數(shù)據(jù)庫MySQL,查詢歷史數(shù)據(jù)記錄。

        數(shù)據(jù)庫訪問接口集成了對能耗數(shù)據(jù)封裝的兩類接口:一類是標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言SQL接口,用于訪問關(guān)系型數(shù)據(jù)庫 MySQL;另一類是用于訪問實(shí)時數(shù)據(jù)庫Level DB的 REST接口。REST實(shí)時數(shù)據(jù)接口通過對Level DB數(shù)據(jù)庫自帶的API進(jìn)行封裝,形成一個類似于關(guān)系數(shù)據(jù)庫對象關(guān)系映射模型的數(shù)據(jù)對象接口,隱藏了客戶端與不同類型數(shù)據(jù)庫之間連接細(xì)節(jié),簡化了用戶對數(shù)據(jù)的讀寫和管理流程。

        2 異構(gòu)數(shù)據(jù)轉(zhuǎn)移流程

        數(shù)據(jù)的傳輸與存儲效率是能耗監(jiān)管網(wǎng)關(guān)非常重要的指標(biāo),選擇一種合適的數(shù)據(jù)格式顯得至關(guān)重要。JSON作為一種輕量級的數(shù)據(jù)格式,獨(dú)立于編程語言和開發(fā)平臺,并且易于閱讀和編碼[5]。相比于傳統(tǒng)的 XML文件格式,JSON格式屏蔽了前者解析文件時的復(fù)雜性,縮短數(shù)據(jù)傳輸和存儲時間[6]。這些特征使 JSON成為理想的數(shù)據(jù)交換語言,一般鍵值數(shù)據(jù)庫支持JSON作為應(yīng)用程序開發(fā)的數(shù)據(jù)載體[7]。因此本網(wǎng)關(guān)系統(tǒng)選擇 JSON格式作為傳輸媒介,將能耗數(shù)據(jù)實(shí)時存儲到鍵值數(shù)據(jù)庫Level DB,并向應(yīng)用層客戶端上報數(shù)據(jù)。

        網(wǎng)關(guān)平臺數(shù)據(jù)庫基于關(guān)系數(shù)據(jù)庫 MySQL設(shè)計,數(shù)據(jù)的批量存儲采用CSV格式。這是一種用來存儲數(shù)據(jù)的純文本格式,一般用于傳統(tǒng)關(guān)系數(shù)據(jù)庫的讀寫。CSV格式良好,主流數(shù)據(jù)庫都支持該格式,非常有利于異構(gòu)數(shù)據(jù)遷移[8]。

        能耗數(shù)據(jù)上傳并存儲至實(shí)時數(shù)據(jù)庫以后,需要轉(zhuǎn)移到平臺數(shù)據(jù)庫MySQL,以便用戶通過服務(wù)器訪問查詢數(shù)據(jù)記錄。圖2所示為能耗數(shù)據(jù)從實(shí)時數(shù)據(jù)庫Level DB導(dǎo)入MySQL的總體流程。

        圖2 Level DB數(shù)據(jù)導(dǎo)入MySQL流程

        整個過程包括以下4個步驟:

        (1)導(dǎo)出實(shí)時數(shù)據(jù)表。能耗數(shù)據(jù)采集好后,從數(shù)據(jù)資源層上報并存儲到實(shí)時數(shù)據(jù)庫 Level DB,第一步先從 Level DB中取出實(shí)時數(shù)據(jù),因?yàn)槭且訨SON格式存儲的,當(dāng)取出保存時,就形成了JSON格式的數(shù)據(jù)文件。

        (2)JOSN文件放到緩沖區(qū)。由于兩種數(shù)據(jù)庫的讀寫速度不同,為了使兩者工作銜接,在處理器中開辟一個緩沖區(qū)來臨時存放交換的數(shù)據(jù)文件,因此保存實(shí)時數(shù)據(jù)表的JSON文件被取出后,被存儲至緩沖區(qū)。

        (3)數(shù)據(jù)轉(zhuǎn)換。這是數(shù)據(jù)轉(zhuǎn)移流程的核心。由于是在緩沖區(qū)完成數(shù)據(jù)轉(zhuǎn)換,在導(dǎo)入 MySQL前會判斷是否轉(zhuǎn)換成功,不會因?yàn)槌绦驁?zhí)行的滯后性導(dǎo)致系統(tǒng)運(yùn)行阻塞。轉(zhuǎn)換程序執(zhí)行以后,需要根據(jù)文件生成的時間判斷轉(zhuǎn)換是否成功。此部分具體的轉(zhuǎn)換程序在本文第3部分會詳細(xì)敘述。

        (4)MySQL是關(guān)系數(shù)據(jù)庫,采用SQL語句將CSV文件批量導(dǎo)入MySQL。由于JSON格式保存了字段的值,沒有值對應(yīng)的屬性信息,而數(shù)據(jù)在存入 MySQL前,需要根據(jù)這些值的屬性信息建立對應(yīng)的數(shù)據(jù)表。數(shù)據(jù)表結(jié)構(gòu)用于設(shè)置這些屬性信息,在CSV數(shù)據(jù)導(dǎo)入前通過它可以在MySQL中建立對應(yīng)的數(shù)據(jù)表,從而完成整個導(dǎo)入流程。文件結(jié)構(gòu)表如表1所示,其中Field欄是字段列名,Type欄中是數(shù)據(jù)類型,括號中數(shù)字表示給字段分配的字節(jié)數(shù),PRI表示主鍵,Default表示默認(rèn),NULL表示任何值都能保存。

        表1 數(shù)據(jù)表結(jié)構(gòu)

        3 數(shù)據(jù)轉(zhuǎn)換程序設(shè)計

        3.1字段映射關(guān)系建立

        建立異構(gòu)數(shù)據(jù)格式之間的字段映射關(guān)系是數(shù)據(jù)轉(zhuǎn)換的首要步驟,圖3所示為字段映射關(guān)系示意圖。圖中上半部分的表格為數(shù)據(jù)記錄的CSV格式,第一行為字段,第二、三、四行是字段內(nèi)容;圖的下半部分為 JSON

        表1數(shù)據(jù)表結(jié)構(gòu)格式,字段和數(shù)值在雙引號中,中間用冒號隔開,以值對的形式表示,例如“NodeID”:“1001”,多個值對組成一組記錄,用大括號“{}”括起來的,每組記錄對應(yīng) CSV文件中每一行記錄。在進(jìn)行數(shù)據(jù)轉(zhuǎn)換前,根據(jù)已知格式文件中的字段建立另一種文件格式的模板。通過讀取CSV文件,執(zhí)行轉(zhuǎn)換程序,并將執(zhí)行結(jié)果插入到數(shù)據(jù)模板中的相應(yīng)位置,就可以得到相應(yīng)JSON文檔。

        圖3 字段映射關(guān)系示意圖

        3.2JSON文件轉(zhuǎn)換成CSV文件

        轉(zhuǎn)換過程中,首先讀取JSON文件,再利用 push()函數(shù)將每組記錄存入臨時數(shù)組 arr[0],arr [2],...,arr[n],最后將各個臨時數(shù)組作為數(shù)據(jù)流導(dǎo)入CSV文件,每個數(shù)組arr[i]作為一行記錄,利用監(jiān)聽函數(shù)的記錄的導(dǎo)入記錄數(shù),判斷數(shù)據(jù)是否準(zhǔn)確導(dǎo)入 CSV文件,這樣就將JSON格式的數(shù)據(jù)轉(zhuǎn)換保存為CSV格式的文件。此轉(zhuǎn)換過程如圖4所示。

        圖4 JSON文件到CSV文件轉(zhuǎn)換流程

        4 數(shù)據(jù)轉(zhuǎn)換應(yīng)用示例

        數(shù)據(jù)轉(zhuǎn)換程序設(shè)計是異構(gòu)數(shù)據(jù)導(dǎo)入流程的核心部分,采用JavaScript語言作為數(shù)據(jù)轉(zhuǎn)換部分的編程語言,軟件環(huán)境采用在Linux系統(tǒng)中嵌入的 Node.js平臺。

        將網(wǎng)關(guān)現(xiàn)場設(shè)備采集的數(shù)據(jù)存入實(shí)時數(shù)據(jù)庫 Level DB并上報至平臺后,后臺程序通過該數(shù)據(jù)轉(zhuǎn)換方法將從實(shí)時數(shù)據(jù)庫取出的JSON格式數(shù)據(jù) (圖5所示為設(shè)備信息表的一部分)轉(zhuǎn)換成CSV格式后,批量存入關(guān)系數(shù)據(jù)庫MySQL。打開MySQL監(jiān)視器,鍵入查看命令 select*from DevInfo可以查看存入 MySQL的設(shè)備信息表 DevInfo。圖 6為 MySQL監(jiān)視器中設(shè)備信息表DevInfo截圖。

        圖5 Level DB中JSON格式數(shù)據(jù)

        圖6 MySQL監(jiān)視器截圖

        5 結(jié)論

        本文提出了基于鍵值數(shù)據(jù)庫 Level DB和關(guān)系數(shù)據(jù)庫MySQL協(xié)同存儲能耗數(shù)據(jù)的方案及其異構(gòu)數(shù)據(jù)存儲格式之間的轉(zhuǎn)換方法。兩種異構(gòu)數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)不同,后臺程序?qū)?shù)據(jù)從Level DB轉(zhuǎn)移到MySQL時調(diào)用數(shù)據(jù)轉(zhuǎn)換程序,可以實(shí)現(xiàn)兩者的無縫對接。本文提出的存儲方案和數(shù)據(jù)轉(zhuǎn)換方法已應(yīng)用于實(shí)際的能源監(jiān)測系統(tǒng)中且系統(tǒng)運(yùn)行良好,該方法具有一定的實(shí)用價值。

        [1]曹洪波,陳揚(yáng).MySQL與 SQL Server數(shù)據(jù)轉(zhuǎn)換研究與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2010,23(4):31-32,36.

        [2]周沫.Key value數(shù)據(jù)庫的發(fā)展與展望 [J].信息與電腦(理論版),2012(7):152-153.

        [3]劉小春.分布式海量空間數(shù)據(jù)存儲結(jié)構(gòu)研究[J].地礦測繪,2014,30(1):16-18,22.

        [4]Li Ning,Xu Bin,Zhao Xin,et al.Database conversion based on relationship schema mapping[C].2011 International Conference on Internet Technology and Applications (iTAP),2011:1-5.[5]高靜,段會川.JSON數(shù)據(jù)傳輸效率研究[J].計算機(jī)工程與設(shè)計,2011,32(7):2267-2270.

        [6]WEHNER P,PIBERGER C,GOHRINGER D.Using JSON to manage communication between services in the Internet of Things[C].2014 9th International Symposium on ReconfigurableandCommunication-CentricSystems-on-Chip (ReCoSoC),2014:1-4.

        [7]Liu Zhenhua,HAMMERSCHMIDT B,MCMAHOND.JSONdata management-supporting schema-less development in RDBMS[C].Proceedings of the ACM SIGMOD International ConferenceonManagement of Data,2014:1247-1258.

        [8]毛應(yīng)爽.EXCEL到mongoDB數(shù)據(jù)遷移解決方案[J].信息通信,2013(7):87-88.

        The design and realization of the data conversion method in heterogeneous database system

        Chen Xufei1,Yu Fengqin1,Qin Daoli2
        (1.School of Internet of Things Engeneering,Jiangnan University,Wuxi 214122,China;2.Reatgreen Energy-saving SystemScience Co.,Ltd.,Wuxi 214135,China)

        In consideration of the low efficiency of the traditional relational database when processing massive data,a plan based on key-value database Level DBand traditional relational database MySQL to store and manage the massive data was proposed.The data conversion method between the two databases was also proposed.After analyzing the characteristics of the two databases,a storage strategy based on heterogeneous database was proposed.Based on this strategy,the data transfer process from Level DB to MySQL was introduced,and heterogeneous data conversion method based on practice was presented.Finally,the applied example of data conversion was showed.The result shows that the data conversion method has great feasibility and practical value.

        heterogeneous;the data of energy consumption;store;data conversion

        TP311.1

        A

        1674-7720(2015)08-0094-03

        2014-11-23)

        陳旭飛(1988-),通信作者,男,碩士研究生,主要研究方向:嵌入式系統(tǒng)及機(jī)器人。E-mail:chenyxy@163.com。

        于鳳芹(1962-),女,博士,教授,主要研究方向:基于物聯(lián)網(wǎng)的能耗感知系統(tǒng)研究與設(shè)計、語音和圖像等多模態(tài)信號分析與處理。

        欽道理(1980-),男,碩士,軟件工程師,主要研究方向:嵌入式系統(tǒng)科學(xué)與節(jié)能。

        2012 年度教育部-中國移動科研基金項(xiàng)目(MCM20122013)

        猜你喜歡
        關(guān)系數(shù)據(jù)庫鍵值字段
        關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
        山東冶金(2022年2期)2022-08-08 01:51:30
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        非請勿進(jìn) 為注冊表的重要鍵值上把“鎖”
        一鍵直達(dá) Windows 10注冊表編輯高招
        電腦愛好者(2017年9期)2017-06-01 21:38:08
        基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
        CNMARC304字段和314字段責(zé)任附注方式解析
        無正題名文獻(xiàn)著錄方法評述
        關(guān)于CNMARC的3--字段改革的必要性與可行性研究
        一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索方法
        基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
        人与动牲交av免费| 亚洲av高清在线一区二区三区 | 7777奇米四色成人眼影| 国产aⅴ夜夜欢一区二区三区| 欧洲无码一级毛片无遮挡| 人妻少妇中文字幕专区| 亚洲av熟女少妇久久| 中文字幕av一区二区三区人妻少妇 | 免费a级毛片18禁网站免费| 国产三级久久久精品麻豆三级| 色翁荡息又大又硬又粗又视频图片| 国产亚洲精品综合一区| 日本在线免费一区二区三区| 美艳善良的丝袜高跟美腿| 亚洲精品国精品久久99热| 四虎影视在线影院在线观看| 亚洲无码夜夜操| 国产少妇一区二区三区| 有坂深雪中文字幕亚洲中文| 男女猛烈xx00免费视频试看| 国产精品永久免费视频| 第九色区Aⅴ天堂| 国产av一级二级三级| 丝袜人妻一区二区三区| 麻豆果冻传媒在线观看| 久久久国产精品免费无卡顿| 国产一级自拍av播放| 国产精品成人亚洲一区| 国产av无码专区亚洲av中文| 日日摸夜夜添夜夜添一区二区| 日韩久久免费精品视频| 最新中文字幕日韩精品| 久久久久亚洲av无码专区喷水| 大伊香蕉在线精品视频75| 亚洲一区二区免费日韩| 中文字幕一区二区三区乱码人妻| 无码无套少妇毛多18pxxxx| 亚洲乱码国产一区三区| 国产亚洲一区二区三区夜夜骚| 日本刺激视频一区二区| 久久久久成人精品无码中文字幕|