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

        ?

        基于ElasticSearch 的元數據搜索與共享平臺

        2015-11-26 01:08:32唐志賢
        計算機與現代化 2015年2期
        關鍵詞:租戶分布式水利

        姜 康,馮 鈞,唐志賢,王 超

        (河海大學計算機與信息學院,江蘇 南京 211100)

        0 引言

        隨著物聯網、云計算、移動互聯網和RS 技術在水利行業(yè)中的廣泛應用,中央、流域以及各地水利單位積累了大量分布異構獨立的水利業(yè)務數據[1],如何實現這些數據的互聯互通、信息共享、業(yè)務協同,成為水利信息化深入發(fā)展的迫切要求。建立水利領域的數據資源搜索與共享平臺是整合信息資源,深度利用分散存儲數據的有效途徑。目前一些水利單位采用構建水利資源目錄服務系統(tǒng)的方式來支持數據共享與發(fā)現[2-4],然而各單位的目錄服務系統(tǒng)仍然存在相互獨立、重復建設等問題,無法形成有效的數據共享。與此同時,隨著水利數據的迅速增加,集中式的目錄服務系統(tǒng)已經無法滿足海量、高并發(fā)的訪問請求。因此,建立水利數據的搜索與共享的云平臺,對海量、分散、異構的水利數據進行整合,提供高效的查詢與共享方式,成為水利領域內迫切需要解決的問題。

        ElasticSearch[5]是一個支持分布式、多租戶[6]、Restful 設計的開源搜索工具。業(yè)界針對ElasticSearch處理海量業(yè)務數據搜索與數據集成進行了廣泛的研究與實踐。王占宏等人[7]利用ElasticSearch 對公安系統(tǒng)內部的多套系統(tǒng)資源進行整合,通過提供統(tǒng)一的查詢入口,提高了系統(tǒng)數據檢索的處理能力與查詢效率。Jara A.J.等人[8]使用ElasticSearch 構建了一個彈性擴展、易于部署、接口簡單的移動發(fā)現平臺,用戶可以利用該平臺注冊與存儲物聯網設備生產的數據,并支持用戶發(fā)現可以訪問的資源。Singh A.等人[9]針對企業(yè)業(yè)務平臺在集成多個云服務后,無法無縫查詢與監(jiān)控各個云服務系統(tǒng)的日志問題展開了研究,利用ElaticSearch 的多租戶機制,建立了海量數據存儲與搜索云平臺,幫助用戶記錄、查詢與監(jiān)控云服務的日志。Konoenko O.等人[10]利用ElasticSearch 對傳統(tǒng)問題追蹤器進行改造,把每個問題建立為一個文檔,把問題的相關內容抽象為索引的字段,當問題發(fā)生變化時同步創(chuàng)建索引文檔,幫助開發(fā)人員定制問題追蹤視圖,掌握所涉及到的關鍵問題,如bug 修改、代碼評審等。上述文獻提供了相關領域中ElasticSearch 對海量數據處理、檢索與共享的方法,但是在構建水利元數據搜索與共享平臺時,還面臨著水利領域異構數據的處理[11]、租戶的索引歸屬問題[12-13]、數據共享的方式[14-15]等問題。

        本文在采用ElacticSearch 技術的基礎之上,針對構建水利數據搜索與共享平臺的需求展開研究。由于對水利異構數據建立索引困難,本文采用統(tǒng)一的元數據標準對其進行規(guī)范化描述,以建立映射規(guī)則的方式,構建元數據與索引文件之間的轉換橋梁;Elatic-Search 支持的索引隔離機制,沒有對租戶操作進行限制,會導致租戶誤操作等問題,因此本系統(tǒng)采用多租戶的訪問控制策略,讓搜索與共享平臺以租戶為單位進行索引數據的劃分,保證了租戶數據的安全性與一致性;ElasticSearch 把對索引資源的操作抽象為對URI 形式的接口的訪問,但是缺少對接口的訪問控制與共享范圍的控制,因此本系統(tǒng)建立了用戶共享視圖表用于限制共享對象與數據共享的粒度。

        1 技術概念

        1.1 ElasticSearch

        ElasticSearch 提供了一個支持高并發(fā)、高可用、易擴展的分布式搜索解決方案,RESTful 風格的設計,能夠提供易用的查詢與共享接口。它在解決大數據相關問題中的良好表現,使得它成為企業(yè)級大數據解決方案中的首選工具之一,下面是它的主要特性:

        1)多租戶支持。在共用的數據中心內,以單一架構與服務提供多個用戶使用,并提供定制化的服務。ElasticSearch 支持多個索引間的數據隔離,從底層支持了多租戶技術。

        2)分布式。當多個節(jié)點存在同一網段下,設置相同的集群名稱,即可組成一個分布式集群。良好的橫向擴展設計,在數據規(guī)模的增長的情況下,可以彈性地增加服務器資源。

        3)高可用性。ElasticSearch 采用無中心化的集群設計方式,集群中的中央節(jié)點出現故障后,Elastic-Search 會自動遴選出一個新的節(jié)點作為中央節(jié)點,并自動進行數據分片的遷移,保證用戶數據的安全與訪問。

        4)全文搜索。ElasticSearch 底層采用了Lucene實現,支持Lucene 所有的功能。

        5)索引機制。ElaticSearch 創(chuàng)建的索引包含以下幾個概念:索引、索引類型、Mapping、數據類型。與關系型數據庫相比較,索引相當于數據庫,索引類型相當于數據表,Mapping 相當于表結構,數據類型相當于列。單個索引中可以存在多個索引類型,索引類型由基本數據類型構成,同一索引類型可以由多個索引共享。ElasitcSearch 采用的索引機制為異構數據的存儲提供了新的思路。

        6)RESTful 風格的API。REST 是以資源為中心,把Web 看作一系列具有不同具體表現形式的抽象資源的組成,利用URI 來標識資源,并提供HTTP 協議形式的統(tǒng)一訪問接口。利用RESTful 架構,Elastic-Search 可以實現資源的封裝,并利用Rest 接口提供共享與檢索服務。

        1.2 RBAC 模型

        基于角色的訪問控制(Role Based Access Control,RBAC)[16-17]模型支持最小特權與責任分離原則,提出角色的概念,將主體和客體分離,主體通過角色獲得權限來對客體進行訪問,RBAC 模型讓訪問控制變得更加靈活,簡化了權限管理,明確了責任的分配。

        2 系統(tǒng)模型設計

        如圖1 所示,基于ElasticSearch 的元數據搜索與共享平臺主要包括元數據存儲模型、元數據信息抽取模型、創(chuàng)建索引模型、多租戶訪問控制模型、服務共享模型等。

        圖1 系統(tǒng)模型

        元數據存儲模型為搜索與共享平臺的數據源,提供元數據注冊與收割2 種獲取水利元數據的途徑,元數據注冊為水利業(yè)務系統(tǒng)提供元數據注冊服務接口,水利業(yè)務系統(tǒng)通過調用注冊接口可以把生產的元數據存儲到平臺中,元數據收割是在獲得用戶數據庫訪問權限后,抽取數據庫中的元數據并存儲到平臺中;元數據信息抽取模型用于從平臺存儲的元數據中抽取可以標識元數據的核心信息;索引構建模型對抽取的元數據信息構建分布式索引;多租戶訪問控制模型用于控制用戶對索引資源訪問,保證平臺中索引資源的一致性與安全性;檢索與共享模型提供了檢索與多粒度數據共享的方法。下文將針對元數據信息抽取、索引的構建、多租戶的訪問控制策略、檢索與共享服務4 個方面進行描述。

        2.1 元數據信息抽取

        各個水利業(yè)務系統(tǒng)中,存在大量的異構元數據,主要表現為元數據數據項命名規(guī)則的不統(tǒng)一。針對異構元數據創(chuàng)建的索引,會導致搜索結果出現語義不一致的問題。因此需要對異構的元數據建立映射規(guī)則,定義異構元數據與索引之間的轉換方式。水利元數據擁有很多數據項,從搜索的角度無需對所有元數據數據項建立索引,只需挑選出能夠區(qū)分出元數據的核心項,對其建立索引。水利數據包含遙感影像數據、矢量數據、關系數據等多種形式,這些元數據共性的屬性如摘要、創(chuàng)建時間、文件名稱、聯系方式等,可以作為共用的字段寫入映射表。而元數據中一些可以標識元數據的非共性的屬性,如遙感影像中的衛(wèi)星信息,則作為可選字段寫入映射表。通過對各種類型的元數據設置映射表,則屏蔽了異構元數據之間的差異性,并可利用共性與特有屬性之間的差異性更好地定位元數據。

        圖2 元數據與索引映射關系

        圖2 反映了元數據與索引之間的映射關系。水利元數據通常采用XML 形式的文檔進行存儲,元數據模板即XML Schema 文件,用于規(guī)范水利元數據的類型與格式,映射關系給出了元數據中指定信息的xpath 路徑,通過xpath 可以獲得對應的元數據屬性數據。索引模板定義了索引結構,用于設定對應元數據信息在索引中的表現形式,包含數據類型、是否存儲、是否分詞等信息。通過上述映射關系,可以把異構的元數據映射為ElasticSearch 可識別的數據格式。

        2.2 構建索引

        由于ElasticSearch 支持分布式索引服務,對于使用者來說,只需要調整索引存儲節(jié)點的分配策略即可實現系統(tǒng)的分布式運行要求,因而構建索引的問題集中到了異構元數據的處理上,由于基于XML 的水利元數據通常由XML Schema 進行約束,因此索引類型中的數據類型可以從相應的Schema 文件中獲得,Schema 在平臺中是唯一的,保證了索引類型與元數據類型的一一對應。ElasticSearch 創(chuàng)建的索引在邏輯上是隔離的,不同用戶創(chuàng)建的索引文件互不干擾,為用戶之間的數據共享提供了支撐。ElasticSearch 是面向JSON 文檔進行操作的,平臺通過把抽取的元數據信息轉換為JSON 格式的文檔,利用創(chuàng)建好的Mapping 對JSON 文檔進行匹配來創(chuàng)建索引,創(chuàng)建索引的具體流程如圖3 所示。

        圖3 構建索引流程

        2.3 多租戶的訪問控制策略

        雖然創(chuàng)建的單個索引是邏輯隔離的,由于無法控制索引的訪問范圍,無法保證搜索與共享平臺用戶數據的安全性與完整性,針對上述問題,本文提出基于多租戶的訪問控制策略,該方法在RBAC 模型基礎上結合水利多租戶的特征,以水利單位作為整體進行角色的劃分,形成租戶與租戶組多層角色賦予機制,有效地控制了不同單位之間數據的訪問控制。本節(jié)將圍繞基于多租戶的訪問控制策略中租戶組與租戶的劃分、角色賦予、權限賦予、操作4 個方面進行闡述,各部分的授權關系如圖4 所示。

        圖4 基于多租戶的訪問控制

        租戶是使用搜索與共享平臺的用戶,租戶組是一個單位租戶的集合,租戶與租戶組分別對應水利單位用戶與單位內所有用戶,租戶按對索引操作的分工可以劃分為平臺管理員(SA)、資源擁有者(OA)、資源訪問(VA)3 種角色。其中平臺管理員角色對應的租戶不屬于任何租戶組,平臺管理員負責租戶創(chuàng)建索引文件的維護、存儲節(jié)點狀態(tài)的管控、集群的維護等;資源擁有者可以創(chuàng)建索引資源、管理租戶組中的索引資源、管理索引可見性范圍、管理租戶組成員等;資源訪問者擁有基本的索引資源訪問權限。多租戶模式下,租戶內創(chuàng)建的組內共有資源為租戶組所有,租戶創(chuàng)建的私有資源則只有租戶可見。因此針對索引資源設計了3 個層級的訪問可見性范圍,即全局可見、租戶可見、組內可見,通過設置索引的可見性范圍,可以靈活控制用戶對索引資源的操作。

        系統(tǒng)依據用戶訪問的要求對權限分類為索引可見性權限、索引操作權限、以及租戶組成員授權等。系統(tǒng)將權限分配給角色后,通過指派用戶的角色可以執(zhí)行對資源的操作。用戶作為訪問索引資源的主體,索引資源是被訪問的客體,只有擁有權限的主體才有訪問客體的權限,主體對客體的訪問請求給予相應資源的操作權限。水利單位作為租戶只可以對權限范圍內的索引進行訪問操作,通過索引可見性范圍以及租戶、索引、索引類型3 層索引管理機制的設定,可以實現數據共享與訪問的細粒度控制。

        2.4 檢索與共享服務

        ElasticSearch 采用了RESTful 設計風格,其創(chuàng)建的所有索引資源使用了統(tǒng)一資源標識符(URI)進行統(tǒng)一描述。ElasitcSearch 提供了GET、POST、PUT、DELETE 四種動作來操作索引資源,其中GET 方法用于查詢索引資源,POST 方法用于更新索引資源,PUT 方法用于向索引文件中增加記錄,DELETE 方法用于刪除索引資源。在多租戶訪問控制策略下,不同角色對應的租戶對索引資源的操作范圍各不相同。

        在對索引進行搜索時首先需要確定搜索范圍,即當前租戶可見的索引。租戶依據賦予的角色可以獲得當前的可見性范圍:group 為租戶組可見范圍內的索引,group_admin 為租戶可見范圍內的索引,global為平臺全局可見索引。針對平臺中的3 種角色,平臺管理員SA、資源擁有者OA 與資源訪問者VA,對索引的訪問可見性范圍分別定義為:SA_index={all/* },OA_index={group,group_admin,global},VA_index={group_index,global_index}。表1 展示了租戶所屬的角色對應的搜索范圍,表中的URI 地址為搜索的Rest 服務,通過搜索范圍的限制,可以保證多租戶環(huán)境下的數據隔離與安全。

        表1 搜索范圍控制

        針對水利單位的多種共享需求:共享某測站某天的水位數據,共享A 衛(wèi)星傳回的遙感影像數據,共享某地區(qū)水利政務數據。從技術角度分析以上共享需求,可以抽象為:數據類型與記錄級的共享、索引類型級的共享、索引級的共享。采用建立用戶共享視圖表的方式設置共享的對象、共享的范圍、共享的索引與索引類型,服務調用方通過訪問用戶共享視圖表生成的URI 地址的方式獲得共享數據。因此,租戶可以通過設置用戶共享視圖表中的信息的方式控制URI地址的形式,從而滿足水利數據的多種粒度共享需求,并提高了共享的靈活性。

        3 搜索與共享平臺實現

        3.1 系統(tǒng)實現

        依據上述系統(tǒng)模型實現了基于ElasticSearch 的元數據搜索與共享平臺,平臺主要由元數據管理模塊、元數據抽取模塊、索引映射模塊、索引構建模塊、索引存儲模塊、分布式集群、多租戶訪問控制模塊、用戶共享表、共享與檢索服務模塊構成,各模塊之間的關系如圖5 所示。

        圖5 系統(tǒng)模塊與關系圖

        1)元數據管理模塊負責接收各個水利單位在平臺的中存儲元數據,按照單位、元數據所有者、元數據類型來管理數據庫中的元數據。

        2)元數據抽取模塊,按照索引配置項從元數據庫中抽取出元數據指定xpath 對應的信息。

        3)索引映射模塊,使用映射表屏蔽不同元數據類型的差異性,利用統(tǒng)一的數據規(guī)范定義數據。

        4)索引構建模塊,針對指定元數據創(chuàng)建相應的索引Mapping,把映射后的數據轉換為JSON 文檔,與Mapping 匹配后建立索引。

        5)索引存儲模塊,把創(chuàng)建好的索引存儲到分布式集群中。

        6)分布式集群模塊由3 個節(jié)點構成,節(jié)點中分別部署ElasticSearch server,設置server cluster 為相同網段,利用ElasticSearch 的廣播監(jiān)聽機制連接各個節(jié)點,組成分布式索引集群。

        7)多租戶訪問控制模塊,控制用戶對索引資源的訪問請求,保證用戶數據的安全性與一致性。

        8)用戶共享視圖表存儲了數據共享的信息,用戶可以填寫索引、索引類型以及數據的訪問者,當訪問者需要訪問指定數據時,可以查8)詢共享表信息,從而獲得當前可見的索引數據。

        9)共享與檢索服務,利用RESTful 服務接口封裝了索引資源的操作,用戶利用URI 地址可以對索引資源進行訪問。

        3.2 運行實例

        水利元數據搜索與共享平臺實現了多個水利單位共用系統(tǒng),為各個水利提供數據搜索服務,并支持各個水利單位之間多種粒度的數據共享。圖6 為平臺運行實例,平臺中租戶可以擁有多個索引資源的操作權限,每個索引中可以存在多個索引類型?!癿wr”為平臺租戶,其屬于水利部租戶組,該用戶登陸平臺后,其搜索可見性范圍為水利部內部可見索引。

        圖6 針對租戶提供的個性化搜索界面

        當租戶需要共享指定類型的數據時,把共享需求填入用戶共享視圖表中,系統(tǒng)通過構造URI 地址來實現指定粒度的數據共享。例如水利部租戶向用戶A 共享水利部的“ZY”衛(wèi)星傳回的遙感影像數據,該租戶需要在用戶共享視圖表中填入需要共享的索引、索引類型、共享對象,系統(tǒng)則構造一個URI 地址:ip:9200/mwr_index/ZY_img,用戶A 則可以通過Rest 服務提供的GET 操作訪問該URI 地址,從而獲得指定索引類型的數據,滿足了水利數據共享時粒度控制的要求。

        4 結束語

        本文實現了基于ElasticSearch 的水利元數據搜索與共享平臺,通過租用搜索與共享平臺的軟件服務,中央、流域與地方各級水利單位無需重新開發(fā)一套搜索與共享服務系統(tǒng),分布式的解決方案適應了水利領域高并發(fā)、高伸縮性的查詢請求,多粒度的數據共享方式有力地支持了單位之間數據共享與發(fā)現。下一步將針對搜索與共享平臺的索引資源提供更多服務,例如對水利行業(yè)的數據進行挖掘與分析等,讓水利行業(yè)的數據發(fā)揮出更多的價值。

        [1]水利部水利信息化工作領導小組辦公室.2012 年度中國水利信息化發(fā)展報告[M].北京:中國水利水電出版社,2013.

        [2]馮鈞,唐志賢,黃如春,等.水利信息資源元數據管理方法研究[J].水利信息化,2011(5):1-4.

        [3]王國復,孫超,何小明,等.氣象目錄服務系統(tǒng)的設計與實現[J].地球信息科學學報,2009,11(1):24-29.

        [4]胡明明,唐宇,李軍,等.一種基于目錄服務的分布式空間元數據檢索方法[J].計算機工程與科學,2011,33(8):162-166.

        [5]Rafal Kuc.Elasticsearch Server[M].Packt Publishing Limited,2013:2-80.

        [6]Bezemer C P,Zaidman A.Multi-tenant SaaS applications:Maintenance dream or nightmare[C]// Proceedings of the Joint ERCIM Workshop on Software Evolution(EVOL)and International Workshop on Principles of Software Evolution(IWPSE).ACM,2010:88-92.

        [7]王占宏,王戰(zhàn)英,顧國強,等.分布式彈性搜索研究與實踐[J].微型電腦應用,2014,30(7):9-12.

        [8]Jara A J,Lopez P,Fernandez D,et al.Mobile digcovery:Discovering and interacting with the world through the Internet of things[J].Personal and Ubiquitous Computing,2014,18(2):323-338.

        [9]Singh A,González-Vélez H.Hierarchical multi-log cloudbased search engine[C]// Eighth International Conference on Complex,Intelligent and Software Intensive Systems.2014:211-219.

        [10]Kononenko O,Baysal O,Holmes R,et al.DASHboards:Enhancing developer situational awareness[C]// Proceedings of the 36th International Conference on Software Engineering.2014:552-555.

        [11]張宇,蔣東興,劉啟新.基于元數據的異構數據集整合方案[J].清華大學學報(自然科學版),2009,49(7):1037-1040.

        [12]李保棟,孔蘭菊,陸春生,等.SaaS 交付平臺多租戶數據管理模型研究[J].小型微型計算機系統(tǒng),2012,33(12):2658-2663.

        [13]徐棟,顧春華.SaaS 數據層的多租戶設計模式研究[J].計算機應用與軟件,2013,30(5):216-219.

        [14]孫楊.基于REST 風格構建Web 服務的研究與應用[D].成都:電子科技大學,2009.

        [15]毛峰,劉婷,劉仁義,等.基于REST 面向資源的地理信息服務設計[J].計算機工程,2011,37(8):238-240.

        [16]Jinshuo L,Nanhai Y,Yuan L.A simple implementation of distributed vertical search and information integration technology[J].Wuhan University Journal of Natural Sciences,2013(6):511-516.

        [17]王小威,趙一鳴.一種基于任務角色的云計算訪問控制模型[J].計算機工程,2012,38(24):9-13.

        猜你喜歡
        租戶分布式水利
        為奪取雙勝利提供堅實水利保障(Ⅱ)
        為奪取雙勝利提供堅實水利保障(Ⅰ)
        水利工會
        分布式光伏熱錢洶涌
        能源(2017年10期)2017-12-20 05:54:07
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        基于MVC模式的多租戶portlet應用研究*
        基于DDS的分布式三維協同仿真研究
        雷達與對抗(2015年3期)2015-12-09 02:38:50
        租戶是大爺
        特別文摘(2014年17期)2014-09-18 01:31:21
        水利
        江蘇年鑒(2014年0期)2014-03-11 17:09:39
        西門子 分布式I/O Simatic ET 200AL
        国产一区二区一级黄色片| 天天躁日日躁狠狠躁av中文| 未满十八勿入av网免费| 日本骚色老妇视频网站| 日本五十路人妻在线一区二区| 老岳肥屁熟女四五十路| 亚洲av成人精品一区二区三区| 爆爽久久久一区二区又大又黄又嫩 | 日本大片一区二区三区| 伊人久久精品无码av一区| 欧美猛男军警gay自慰| 国产亚洲女在线线精品| 一区二区三区黄色一级片| 精品嫩模福利一区二区蜜臀| 成人女同av在线观看网站| 99久久精品国产一区二区三区| 国产精品一久久香蕉国产线看观看| 91在线视频视频在线| 一区二区三区日本视频| av天堂午夜精品一区| 午夜男女爽爽爽在线视频| 免费网站国产| 日韩在线中文字幕一区二区三区| 国产高清成人午夜视频| 超碰97资源站| 欧美日韩亚洲成色二本道三区| 亚洲黄色大片在线观看| 国产精品成人自拍在线观看| 摸进她的内裤里疯狂揉她动图视频| 亚洲中文字幕无码久久| 日韩免费一区二区三区在线| 日韩精品中文字幕免费人妻| 免费看黄视频亚洲网站 | 亚洲成人激情深爱影院在线| 成午夜精品一区二区三区| 日韩激情小视频| 午夜无码片在线观看影院y| 成人做爰黄片视频蘑菇视频| 国产成+人+综合+亚洲欧美丁香花| 欧美一级色图| 日本一区不卡在线观看|