劉 堅 馬文娟 李盛樂 謝有順
(1.中國地震局地震研究所(地震大地測量重點實驗室),湖北武漢 430071;2.寧夏回族自治區(qū)地震局,寧夏銀川 750001)
基于大數據技術的地震科學數據集成共享研究
劉 堅1馬文娟2李盛樂1謝有順1
(1.中國地震局地震研究所(地震大地測量重點實驗室),湖北武漢 430071;2.寧夏回族自治區(qū)地震局,寧夏銀川 750001)
針對目前地震科學數據共享過程中存在數據種類繁雜、數據量大而存儲線性擴展困難、檢索性能瓶頸等問題,從核心地震業(yè)務數據資源入手,梳理了地震觀測、探測、實驗與試驗、專題等7大類科學數據;采用大數據技術,集成重構了一套全新地震科學數據共享平臺。該平臺以數據集為基本單位,為地震科研人員、監(jiān)測預報人員、地震科學愛好者等全行業(yè)用戶提供開放、統(tǒng)一、便捷、一站式數據共享服務。
地震科學數據;數據共享;分布式存儲;大數據;云計算
地震科學數據共享是2002年科技部科學數據共享首批試點項目之一,經過10多年的建設與發(fā)展,地震科學數據共享工作取得了一系列的成果:中國地震臺網中心率先在地震系統(tǒng)開展地震科學數據共享工程,匯交整理了地震行業(yè)眾多學科的數據資源,建設了學科主體數據庫,規(guī)劃設計了數據管理和服務標準[1]。隨后,江蘇省地震局依托本省的測震數據庫、前兆數據庫建設了江蘇省地震科學數據共享網站[2],上海市地震局建設了省局資源共享平臺,對強震、測震、空間信息、地震地質背景等數據進行規(guī)范化管理[3];中國地震局工程力學研究所建設了專門針對強震數據共享系統(tǒng);中國地震局地球物理研究所上線了測震波形數據共享系統(tǒng)等。然而,上述共享網站或系統(tǒng)主要采用傳統(tǒng)集中式IOE(IBM服務器+ Oracle數據庫+EMC存儲)模式,而隨著地震數據爆炸式增長,該模式下服務器存儲量的不斷擴展不僅給財政支出和日常運維帶來壓力,技術上也存在以下4個方面的問題與不足[4]。一是存儲橫向線性擴展有限,傳統(tǒng)系統(tǒng)都屬于TB級,而支持PB級能力有限;二是硬件平臺兼容性差,致使異構平臺整合困難;三是非結構化數據存儲處理能力不足,關系型數據庫僅對結構化數據處理高效;四是數據處理與檢索性能瓶頸,數據量大、讀寫頻繁導致傳統(tǒng)數據庫I/O性能下降。
針對上述問題,本文從地震業(yè)務核心數據資源入手,采用大數據技術架構,將數據采集、清洗、標準化、數據集整理、集成的整個流程,進行重構設計并實現了一套全新的地震科學數據共享集成平臺,為全行業(yè)用戶提供開放、統(tǒng)一、一站式數據共享服務。
按照地震科學數據分類標準[5],地震科學數據分為地震觀測數據、地震探測數據、地震調查(考察)數據、地震實驗與試驗數據、地震專題數據、防震減災綜合數據、其他地震數據等7個大類、44個中類、286個小類。
按時間周期,地震數據可以分為:前兆數據、測震數據以及專題整編數據。前兆數據主要是地形變、電磁、地下流體的前兆觀測資料,包括:原始數據和預處理數據的秒值、分鐘值、小時值、日均值,觀測日志和儀器運行日志以及輔助觀測數據(如中國氣象局CLDAS大氣數據)等。測震數據包括:2013—2015年SEED、SAC、Miniseed、ASCII等格式的事件波形數據,1900年至今全球7級以上,1973年至今全球6級以上,公元前780年至今全國5級以上,1965年至今全國2級以上地震目錄、全球地震目錄、全球災害信息目錄以及中國臺網快報、正式觀測報告、區(qū)域子網觀測報告、震源機制解等。專題整編數據:《中國震例》中的285個歷史地震資料(1996—2006),以及傾角 1°~ 90°、滑動角-180°~180°的三維動態(tài)斷層錯動gif圖;大震應急產品數據集(震中位置、地震構造圖、地震波傳播圖、波形圖、斷層錯動模型、震源機制解、地震動預測、余震分布)等。
按時間維度可以將地震數據分為實時、準實時、歷史數據三類。
為實現上述地震科學數據的集成與共享,克服傳統(tǒng)數據共享系統(tǒng)存在的問題,本文利用大數據技術架構進行地震科學大數據平臺的設計,其總體架構如圖1所示。
共享平臺主要完成3個層面的工作:一是采集匯交地震大數據,二是實現地震大數據的存儲處理,三是地震大數據的展現與查詢下載。首先采集匯交三類數據源。其次將匯集的數據置于地震大數據平臺進行處理。針對數據的價值高低采取不同融合方式進行存儲處理:事務型業(yè)務數據采用關系型數據庫存儲,低價值密度數據采用Hadoop下的HDFS(Hadoop Distributed File System)、MapReduce等方式存儲處理[6-9],高價值密度數據采用列存儲、壓縮技術、粗粒度索引等技術進行存儲管理。最后通過基于臺站、測點、測項、類別等方式,將原始數據、波形、產品、專題等數據以數據集的形式為用戶提供查詢、預覽和下載服務。
地震大數據共享平臺,涉及以下主要關鍵技術。
(1)數據標準化。數據標準化包括數據的清洗處理、數據資源編目和數據格式規(guī)范等。其中數據清洗是人工校驗與研發(fā)數據清洗模型和算法相結合,通過數據間的相互印證和邏輯關系校準異常值,補齊缺失值,形成規(guī)范統(tǒng)一的元數據。
圖1 地震大數據共享平臺總體架構
(2)系統(tǒng)互操作。針對跨平臺、跨部門、跨系統(tǒng)的不同需求,應通過高通用、可伸縮、易擴展的互操作技術,實現結構化、半結構化和非結構化數據的對接與互連互通。
(3)數據存儲。針對海量數據的實時性、快捷性調用需求,應采用Hadoop和MapReduce等云存儲和分布式計算技術,實現存儲與計算的并發(fā)運行。
(4)海量數據檢索。針對數據產品多源性、海量性和繁雜性特點,規(guī)范和統(tǒng)一數據文件管理方式,開發(fā)能夠支持海量影像數據的快速調用、動態(tài)顯示的模糊檢索和精準檢索運算技術,包括布爾檢索、邏輯檢索、鄰近檢索和字段限制檢索等。
(5)數據安全。綜合利用防火墻技術、安全評估技術、入侵檢測技術、防病毒技術等,建立完整的、立體的、多層次的系統(tǒng)安全防御體系。
歷史靜態(tài)數據主要利用Sqoop(在Hadoop和關系數據庫中傳遞數據工具)和Extract-Transform-Load(縮寫ETL)工具將數據清洗、標準化后以數據集的形式進行文件存儲,處理過程較簡單。在此不再贅述[10]。重點闡述兩類增量業(yè)務觀測數據:一是測震實時波形流數據,二是前兆等準實時數據的集成。從圖2可以看到:(1)實時波形流數據處理過程。通過適配器程序將實時波形數據從測震流服務器接入并推送到Kafka(一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng))集群中,相當于一個數據緩沖區(qū),Storm(一種流式處理框架)[11]上的應用實時獲取Kafka消息緩沖區(qū)中的數據進行解析、分析,并將結果持久化至HBase和Mysql數據庫供共享平臺使用和展示。(2)前兆和其他準實時數據。利用Sqoop或ETL在監(jiān)控程序的控制下,將數據源的增量數據抽取至Greenplum(一種在數據倉庫中能快速查詢結果分布式數據庫)供共享平臺使用和展示。
針對地震系統(tǒng)內部科學數據量日益暴增使得傳統(tǒng)集中垂直方式存在存儲擴展瓶頸的問題,可以采用分布式服務器集群水平擴展方法加以解決,而用于集群的服務器可以是普通的服務器,這樣既可降低運營成本,也可使存儲服務器輕易地擴展至數千臺。為此,該平臺采用分布式Nosql(Not Only Sql)數據庫存儲架構設計,地震觀測數據如前兆各學科、測震、強震等連續(xù)波形、事件波形數據選用Hbase分布式數據庫進行存儲,而由于HBase具有將所有需要一起進行查詢并把數據存儲在一起這一特性,HBase集群就自然能夠根據key來組織數據。在水平分割時,key值的范圍就可以被用來分割數據。每一個服務器可以存儲全部數據的一個子集。同時分布式的數據還可以被同時訪問。這樣大大增強了HBase的可擴展性。
Hbase表是一個分布式多維表,關鍵在設計好Row Key,以方便數據查詢并進行數據分析。根據地震業(yè)務邏輯,觀測數據表的Row Key可以有以下幾個部分構成:<臺網Netid ><臺站Stationid><測 點pointid><儀 器Intrid><測 項Itemid><采 樣率Samplerate><時間戳Timestamp><產品類別Protype>。當要查詢某個臺網某個時間段數據就可以指定起始Row Key為
通過模擬相同存儲環(huán)境,將Mysql與Hbase兩者針對結構化觀測數據的存儲進行效能測試,在關鍵代碼行處添加秒表,記錄執(zhí)行命令時間。數據量(條)分別為50條、100條、1000條、1萬條、10萬條。每次插入保存完畢把所耗時長(單位:ms)寫入日志文件。連續(xù)多次測試,取平均值。如圖3所示,當寫入記錄條數小于1000時,可以看出兩者所耗時間差別并不明顯;但隨插入記錄條數持續(xù)增加,Mysql的插入耗時開始劇增,而Hbase耗時變化幅度相對較小,其存儲性能優(yōu)勢明顯得到提升。
圖2 增量數據集成示意圖
針對共享平臺來自不同部門或機構的異構數據,特別是其他部委(如氣象局)數據,傳統(tǒng)數據整合思路是將數據從各系統(tǒng)抽取過來集中至一個數據中心,進行數據集的物理整合。這種方式不僅涉及重復投資,而且存在數據搬遷困難、整合成本高、非結構化數據整合困難等問題。為此提出一種新的整合方式:基于分布式云計算服務的邏輯數據整合。該方式的整合思路為:不強求物理上的集中,而是保持原部門或機構數據的分布現狀,將各個系統(tǒng)的數據通過接口包裝成服務,如圖4所示,注冊到企業(yè)服務總線,通過企業(yè)服務總線提供統(tǒng)一的數據服務,從而實現數據在邏輯上的整合。
作為數據源的結構化數據庫需要開放數據庫接口,供元數據管理系統(tǒng)從源數據庫中抽取數據結構信息,并保存在元系統(tǒng)中。服務生成模塊可以查詢存放于元數據系統(tǒng)中的各業(yè)務系統(tǒng)元數據,通過簡單的操作自動生成提取數據的代碼塊,并將該部分代碼塊包裝成云服務,存放于服務運行模塊中,并服務注冊到企業(yè)服務總線,對外部進行數據服務。
圖3 與關系數據庫存儲性能對比
圖4 異構數據整合示意圖
對于NoSQL數據庫,由于沒有統(tǒng)一的數據結構,是無法通過上面的方式自動生成代碼塊并發(fā)布提供服務的。但可以通過定制服務接口的方式生成提供服務,通過云服務進行集成并發(fā)布到數據整合平臺,統(tǒng)一對外提供服務。在這種情況下,只能針對每個接口進行云服務的定制開發(fā)。
平臺數據種類多,涉及眾多學科,規(guī)范不統(tǒng)一,具有典型多維、異構特點,且用戶需求也各異多樣,為此平臺采用“化整為零,各個擊破,分而治之”策略,對于震源機制解、地震目錄等已規(guī)范化的測震數據,保留原國際通用的標準格式,亦便于用戶直接下載使用;對于測震連續(xù)、事件波形數據,因數據量大,結構復雜,則采用MiniSEED[12]格式,既滿足專業(yè)用戶需求,又減少數據格式轉換代價;對于涉及多學科的前兆數據,雖然數據種類各異,但因其業(yè)務參數基本相同,平臺利用XML封裝設計了一種通用的、易于理解、易于解析的中間數據格式模型。
數據集XML數據封裝模型,結構如下:
XML數據封裝模型的定義基于地震前兆業(yè)務邏輯為基本結構框架,以標簽Dzdataset為根元素標識數據類型,主體部分由元信息部分和數據集部分組成,分別以標簽metadata和datasets標記。
平臺設計的XML文檔依據前兆數據庫管理規(guī)則,以統(tǒng)一的數據模型來描述保存在異構環(huán)境中的各種數據,靈活表達數據內涵,屏蔽了數據源中應用環(huán)境和數據結構的異構性。同時,標簽元素的規(guī)整性也確保了文檔在網絡中傳輸的便利性以及平臺處理數據的統(tǒng)一性[14]。這些特征有利于XML文檔在不同系統(tǒng)之間的交換,推動數據的全面共享。
平臺實現主要是服務器端網站的研發(fā),為滿足平臺“低藕合、高內聚”的目標,實現代碼的健壯性和可擴展性,平臺采用典型的三層結構,即用戶界面層/表示層(負責與用戶進行交互)、業(yè)務邏輯層、數據訪問層(主要是對非原始數據的操作層,也就是僅對數據庫,而不是對數據的操作,具體為業(yè)務邏輯層或用戶界面層提供數據服務)。本平臺采用MVC模式的SSM(SpringMVC、Spring和Mybatis)框架實現,如圖5,各層采用不同的技術構建了易于維護擴展的Web應用程序。
圖6 平臺主頁
地震數據共享服務平臺以友好的門戶網站向地震全行業(yè)用戶開放,主頁鏈接為:http://10.5.109.26:8080/csds/index.html。 如 圖 6 所示,客戶端用戶僅需在瀏覽器地址欄鍵入主頁鏈接即可進入系統(tǒng)主頁。主頁包括5個部分:導航欄、重要資料推薦區(qū)、圖形展示區(qū)、快捷搜索區(qū)和產品滾動區(qū)。
系統(tǒng)上線以來,運行穩(wěn)定,具有可靠的容錯機制;支持多用戶并發(fā)操作;系統(tǒng)單次響應最大時間≤20秒;海量數據平均單次查詢≤30秒;離線數據準備最大時間≤24時;在服務端可動態(tài)添加業(yè)務service模塊,提供接口使用,在功能和性能上均達到預期要求。
(1)采用分布式數據庫(Nosql)技術,解決了傳統(tǒng)集中式存儲水平擴展困難的問題,與傳統(tǒng)關系型數據庫相比,數據量越大,Nosql數據庫存儲與檢索的效能優(yōu)勢越明顯。
(2)采用云計算技術,解決了數據搬遷困難、整合成本高、非結構化數據整合困難等問題,使不同部門或機構的異構數據源整合變得快捷高效。
(3)采用了數據標準化技術,利用XML數據封裝模型實現了異構環(huán)境下數據的自由、便捷共享,提供了涵蓋所有數據結構的多維度檢索及相應的下載服務,從不同角度滿足了用戶的檢索、下載需求。
利用上述大數據技術,地震科學數據集成共享平臺重構建成后,為地震全行業(yè)用戶提供了零障礙、一站式數據共享渠道,全v面提升了行業(yè)數據源的共享服務能力,但隨著共享平臺的推廣使用,主體共享數據和用戶量都將不斷擴充,數據的分布式管理和在線可視化功能需進一步完善,以保障系統(tǒng)的高效、穩(wěn)定和體驗度。
[1]劉瑞豐, 蔡晉安, 彭克銀, 等. 地震科學數據共享工程[J]. 地震, 2007, 27(2): 9-16.
[2]詹小艷, 許紅梅, 朱升初, 等.江蘇省地震科學數據共享平臺技術研究[J].防災科技學院學報, 2012, 14(1):57-63.
[3]袁媛, 尹京苑.上海地震科學數據共享服務平臺建設[J].華北地震科學, 2014, 32(1): 16-21.
[4]諸云強, 宋佳, 潘鵬, 等.地學數據共享發(fā)展現狀、問題與對策研究[J].中國科技資源導刊, 2014(4): 55-63. DOI: 10.3772/j.issn.1674-1544.2014.04.010
[5]黃永文, 張建勇, 黃金霞, 等.國外開放科學數據研究綜述[J].現代圖書情報技術, 2013(5): 21-27.
[6]LIVNY M, THAIN D, TANNENBAUM T. Distributed computing in practice: the condor experience[J]. Concurrency & Computation Practice & Experience, 2005,17(2/4): 323-356.
[7]AGRAWAL D, DAS S, EL A A. Big data and cloud computing: current state and future opportunities[C]//14th Int’l Conf. on Extending Database Technology(EDBT 2011). Uppsala: ACM Press, 2011: 530-533.DOI: 10.1145/1951365.1951432.
[8]TALLON PP. Corporate governance of big data: perspectives on value, risk, and cost[J]. Computer, 2013,46(6): 32-38. DOI: 10.1109/MC.2013.155.
[9]TALIA D. Clouds for scalable big data analytics[J].Computer, 2013, 46(5): 98-101.DOI: 10.1109/MC. 2013.162.
[10]孫大為, 張廣艷, 鄭緯民.大數據流式計算: 關鍵技術及系統(tǒng)實例[J].軟件學報, 2014, 25(4): 839-862.
[11]Storm wiki[EB/OL].[2014-09-15]. http: //en.wikipedia.org/wiki/Storm.
[12]IRIS.Data Formats[EB/OL]. [2016-05-18]. http://ds.iris.edu/ds/nodes/dmc/data/formats/#miniseed.
[13]劉堅, 李盛樂, 戴苗, 等. 基于Hbase的地震大數據存儲研究[J].大地測量與地球動力學, 2015, 35(5): 890-893.
[14]唐曉光. 基于訂閱機制的數據共享平臺的研究與設計[D]. 大慶: 東北石油大學, 2013.
Integration and Sharing Research on the Earthquake Science Data Based on the Technology of Big Data
LIU Jian1, MA Wenjuan2, LI Shengle1, XIE Youshun1
(1.Key Laboratory of Earthquake Geodesy, Institute of Seismology, CEA, Wuhan 430071; 2.Earthquake Administration of Ningxia Hui Autonomous Region,Yinchuan 750001)
In the process of sharing seismic scientific data, there are many problems such as complicated data types, large amount of data, difficult linear storage expansion and bottleneck of retrieval performance. This paper starts with the core seismic data resources, and sorts out 7 kinds of scientific data, such as earthquake observation, exploration, experiment and experiment, and special topic. Using big data technology, it integrated a new set of earthquake scientific data sharing platform. The platform takes data sets as basic units and provides open, uni fi ed, convenient and one-stop data sharing services for industry users, such as seismological researchers, monitoring and forecasting personnel, and earthquake science enthusiasts.
seismological science data, data sharing, distributed storage, big data, cloud computing
P315
A
10.3772/j.issn.1674-1544.2017.05.010
劉堅(1978—),男,中國地震局地震研究所減災與遙感應用研究室副主任,碩士,研究方向:地震大數據處理應用研究;馬文娟(1975—),女,寧夏回族自治區(qū)地震局高級工程師,碩士,研究方向:地震數據庫管理及大數據新技術應用(通訊作者);李盛樂(1965—),男,中國地震局地震研究所減災與遙感應用研究室主任,碩士生導師,主要研究方向:地震分析預報軟件研制;謝有順(1992—),男,中國地震局地震研究所碩士研究生,研究方向:地震信息化研究。
國家科技支撐課題“地震分析預測若干實用技術研究”(2012BAK19B00);寧夏自然科學基金項目“基于物聯網的大數據整合在寧夏地震應急信息交換中的應用研究”(NZ15214)。
2017年7月14日。