【2016年第6期】数据产品在线定制平台的探索实践
張峰1,孫宗哲2,OCHORA Dennis Reagan2,劉建楠3,宋杰2
1.????? 國家海洋信息中心,天津 300171;
2.????? 東北大學軟件學院,遼寧 沈陽 110819;
3.????? 中國石油慶陽石化公司,甘肅 慶陽 745115
?摘要:大數據時代,研究機構與企事業單位擁有海量的科學或產業數據(包括海洋、氣象、地質、石油化工等行業的數據),可為客戶提供分析后的數據產品。目前,這些機構尚未形成服務化的數據產品提供方式。分析了現有數據產品平臺的缺陷與挑戰,提出了數據產品在線定制平臺的需求,設計了平臺的體系結構,并對研究平臺的服務化數據分析算法接口、數據安全性和隔離性保障、數據產品定價模型進行了詳細探索實踐,最后給出了在線定制平臺的應用示例描述。
關鍵詞:云計算;大數據;數據分析算法接口;數據即服務;數據產品定價
中圖分類號:TP301.41 ? ??文獻標識碼:A
doi: 10.11959/j.issn.2096-0271.2016072
Research and practice on online data production platform
ZHANG Feng1, SUN Zongzhe2, OCHORA Dennis Reagan2, LIU Jiannan3, SONG Jie2
1.????? National Marine Data and Information Service, Tianjin 300171, China
2.????? Software College, Northeastern University, Shenyang 110819, China
3.????? Petro China Qingyang Petrochemical Company, Qingyang 745115, China
Abstract: In the big data era, the research institutes and enterprises manage massive scientific data of various disciplines, such as oceanography, meteorology, geology and petroleum, and service the clients with the analysis results that are treated as data products. Traditionally, these institutes do not provide the service-oriented production platform for data products. The shortages and challenges of the production process were analyzed, the new requirements of online production platform for scientific data product was proposed, the architecture of platform was designed, and key techniques including the service-oriented interface for data analysis algorithms, mechanisms of data security and isolation, and the pricing model for data product were studied. Finally, the application of online production platform as a case study was explained.
Key words: cloud computing, big data, interface for data analysis algorithm, data as a service, data products pricing
論文引用格式:張峰,孫宗哲,OCHORA Dennis Reagan,劉建楠,宋杰. 數據產品在線定制平臺的探索實踐[J]. 大數據, 2016, 2(6): 118-128.
ZHANG Feng, SUN Zongzhe, OCHORA Dennis Reagan,?LIU Jiannan,?SONG Jie. Research and practice on online data production platform[J]. Big Data Research,?2016, 2(6): 118-128.
1? 引言
海洋、地質、氣象、石油化工等研究部門和企事業單位在采集、管理、處理和分析海量數據的同時,也向外界提供了數據產品的定制服務,將此類數據加工成完整產品并發布、共享給客戶的服務稱之為數據服務。然而筆者認為,目前數據產品的制作、發布和入庫機制尚存在以下問題:產品制作過程以及產品本身均無法復用;產品制作尚未服務化;無法實現高度可定制的產品制作方法;產品制作效率不高;缺乏完備的、基于計算平臺的產品制作和發布流程。本文從數據產品的在線制作與發布技術展開,基于目前主流的云計算技術,設計了一種集中式、服務化、高效、產品可定制且安全的數據產品在線定制平臺。
本文首先提出了數據產品在線定制平臺的體系結構,然后從平臺的關鍵技術入手,設計了用于支撐平臺定制服務的數據分析算法接口和表述性狀態傳遞(representational state transfer, REST)風格的算法描述方式、安全隔離與數據交換系統以及定價模型。最終以海洋環境基礎數據中的水文數據為例,研發并測試能夠實現關鍵研究成果的數據產品在線定制平臺原型,達到一定的示范性。
2? 研究動機
數據體系結構大體可分為4層,從下到上依次為原始數據層、基礎數據層、數據集成層、產品庫。產品庫存放著由各個數據層產生、只讀、用戶定制的數據產品,如基礎數據庫的查詢結果以及數據分析后產生的相關結果數據集或圖形圖標等[1]。然而,就目前的認知,筆者認為數據產品的制作、發布和入庫機制尚存在以下問題。
一是產品制作過程以及產品本身均無法復用的問題。前期探索發現,目前尚缺乏一種集中式產品定制平臺。產品制作是分散、手工化的,有很多產品名稱不同,但其數據相同或相似,這些產品會視為不同的產品被不同的制作人重復地制作和保存。有些產品已經制作過或可以通過現有產品的再次加工得到,但因為缺少一個在線、共享的定制平臺,無法得知該產品的制作信息,因此只能重新制作。此外,由于產品以一種手工或半自動化的方式制作,因此一些復雜產品的制作流程以及產品制作時產生的知識和數據,都無法統一管理和復用。
二是產品定制的服務化問題。前期探索發現,目前尚無面向用戶提供在線產品制作的服務。對于服務產品,用戶需要通過郵件、表單提交、電話或實地到訪的方式提出自己的產品制作需求,獲得自己需要的數據產品,并支付費用。用戶尚無法在線使用產品制作服務。
三是無法實現高度可定制的產品制作[2]。前期探索發現,目前尚無可定制的產品制作過程。用戶更多的是選擇現有的常規產品,而無法定義新的產品需求。一些簡單的需求則只能通過文字或口頭描述,由產品制作人員理解后加以實現。“產品在線制作技術”和“商品在線銷售技術”不同,前者需要用戶能夠靈活地在線定義產品制作過程,后者則僅僅需要商品信息的發布和用戶數據采集。
四是產品制作效率不高。前期探索發現,目前部分數據產品制作效率低,很多產品的計算機制作時間超過20 min甚至更長,算法執行效率低,導致在線產品制作流程產生瓶頸。只有提高產品制作效率,將復雜產品的制作過程簡化或分割為較小的產品,充分利用現有的計算結果避免重復計算,采用更高效的算法或計算平臺,才能成功實現在線產品制作。
五是缺乏完備的、基于計算平臺的產品制作和發布流程。類比工作流的定義,即使 存 在一個在 線 產品制作平臺,仍然需要定義完備的產品制作和發布流程,使 “多個參與者之間按照某種預定義的規則傳遞文檔、信息或任務”的流程可以自動進行,從而實現預期制作目標,或者促使此目標的實現。需定義整個流程的關鍵節點、節點前置條件和后置條件,并研究用戶授權、付費方式等關鍵問題。
因此,本文提出的數據產品在線定制平臺,將重點關注和解決以下問題:滿足用戶高度可定制的在線制作產品要求,通過多種算法組合完成需求;提供直觀的產品價格展示;提高產品制作效率和產品利用率。
3? 相關工作
國內的海洋、氣象、地質、石油化工等科研和企事業部門經過幾十年的發展,已積累了大量可用的數據,在提供數據共享、產品定制服務方面已有不少研究。回顧前人工作,數據共享方面已有大量先例,如南海海洋科學數據庫、國家林業科學數據平臺、國家地震科學數據共享中心等,以上網站均在一定科學領域內提供相關數據及其數據產品的在線共享,但并未提供產品的在線定制功能。在數據的定價方面,大部分數據共享網站的數據均為無償共享,無償共享一方面能降低數據的共享門檻,另一方面卻會增加平臺的負載。簡單的數據共享可以采用無償共享的方式,但本文平臺共享的是數據產品的定制服務而非數據,產品的定制需要耗費大量的計算資源,更適合有償共享,也更符合數據即服務的概念,所以設計一個計算服務價格的定價模型是很有必要的。 Youseff L等人[3]提出了定價模型的三大形式:每單位定價(per-unit pricing)、分級定價(tiered pricing)和預訂定價(subscription-based pricing),并指出任何定價模型都至少使用了其中一種形式。本文采用的以數據價值為主導的定價模型屬于每單位定價,但與之不同的是本文的定價單位并非只是常規意義上的計算資源,更多的是平臺采集的海量數據。
在算法接口的設計上,REST架構是描述算法、傳遞消息的主流選擇。REST風格的架構具有更高的可伸縮性和更低的開發復雜度[4],REST架構是基于超文本傳輸協議(hypertext transfer protocol, HTTP)的,任何對資源的操作行為都是通過HTTP來實現,通過通用的鏈接器接口對資源進行操作,對統一資源標識符(uniform resource identifier,URI)的操作限制在4個方法內:get、post、put、 delete,對應資源的增加、讀取、更新、刪除(create, read, update, delete, CRUD)操作[5]。本文采用的正是REST架構的接口設計,用戶所需數據被轉換成了數據服務,減少了開發難度。
4? 體系結構
本平臺的體系結構如圖1所示,水平方向體現用戶請求在平臺內層次遞進的過程,主要包含4個組件,分別是Web模塊、外部處理模塊、內部處理模塊、存儲模塊。各組件內部以功能分層,在垂直方向上加以區分。
圖1 軟件體系結構
Web模塊位于用戶訪問的前端,它負責與用戶進行交互以完成數據收集與交換工作。Web模塊采用B/S結構,支持數據轉發,即將用戶提交的信息轉發到外部處理平臺處理。在功能結構上分為用戶訪問層和管理訪問層,用戶訪問層滿足用戶申請服務的需求,管理訪問層滿足管理員和外部服務平臺管理層交互的需求。
外部處理模塊面向外網,用于處理非隱私數據,數據處理量較小,主要完成數據交換和信息處理。其分類處理的數據和信息主要從Web平臺和內部處理平臺獲取。
內部處理模塊面向內網,是包含著大量主機的服務器集群,工作環境較為安全,用于部署應用程序,處理涉及隱私數據的應用請求,其主要完成數據產品和安全性的相關工作。
外部處理模塊和內部處理模塊在功能結構上一致,故功能分層統一分為應用層、平臺層和管理層。應用層負責應用執行、數據計算等,平臺層負責應用部署、數據交換、安全隔離控制等,管理層負責用戶管理、數據管理、資源控制等。
存儲模塊用于存儲所有數據和算法,一般分為兩個部分:一部分用于存儲外部可訪問到的元數據,采用關系型數據庫,使用HTTP訪問,作為外部存儲平臺;另一部分存儲隱私的數據、數據產品和算法,多為非結構化或半結構化數據[6],同時使用關系型和非關系型數據庫,與外部網絡隔絕開,作為內部存儲平臺。
存儲模塊分為數據層和算法層,數據層存儲原始數據和元數據,算法層存儲制作產品所需算法API。元數據用于描述數據,如內容、結構、來源、質量和訪問方法,面向外網的元數據庫存儲了基礎數據、數據產品、算法的核心元數據,也是用戶唯一能直接訪問的數據庫。用戶依靠核心元數據庫獲得算法類型、算法的可用數據范圍、算法接口的引用形式、數據范圍、數據的可用算法范圍,面向內網的元數據庫存儲了上述數據的完整元數據。
系統體系結構如圖2所示,自底向上分別為物理層、數據層、平臺服務層、應用層。物理層中,內網服務器的運算服務器通過交換機相連,形成一個含多個主機的計算集群,用于處理Web服務器傳入的運算請求,同時完成對集群的管理和控制,如資源調度和任務調度等。內網數據服務器保存完整元數據、基本數據、算法、可復用的數據產品等。
圖2 系統體系結構
Web服務器使用Apache搭建完整的網站,搭建用戶與內網服務器之間的橋梁,用戶可以通過Web進行交互,用戶完成產品制作算法的設計并將其上傳到Web服務器上,Web服務器轉發算法到內網服務器中進行部署和執行,并將執行結果返回給用戶。外網數據服務器負責存儲算法和基礎數據的核心元數據,核心元數據是使用頻率最高、用戶可以直接訪問的元數據,是完整元數據的子集。隔離模塊是實現系統安全隔離和信息交換[7]的硬件基礎,是由兩臺主機和一臺隔離交換機組成的,硬件結構如圖3所示。
圖3 安全隔離和數據交換系統硬件結構
數據層中分布了數個數據庫,包括元數據庫、基礎數據庫、產品數據庫以及算法庫,除核心元數據庫可直接與外網相連外,其他數據庫均處于內網。
平臺服務層中,除了集成了操作系統、數據庫、中間件等平臺軟件以外,還集成了物理隔離網間技術(gap technology, GAP)系統所需的軟件,實現安全隔離前提下數據的雙向交換。
應用層提供了多種算法API,通過API構建完整的產品制作算法,向普通用戶以及管理員提供搜索、查詢等服務。
4.1?? 核心模塊
在軟件體系結構中,大部分功能 模塊的實現比較常規,除了一些約定俗成的功能模塊,需要對剩下的核心模塊進行解釋。
數據目錄檢索是用戶選擇數據的窗口,此目錄的檢索內容來自于基礎數據和算法API的元數據(算法API可視為另一種形式的數據)。
元數據檢索是平臺極為重要的功能模塊,元數據是描述數據模型的數據,它是關于數據模型的基本概念、基本關系、基本約束的語義,其內容包括:數據描述,數據來源、數據所有者及數據序列(數據生產歷史)等的說明,數據質量描述,數據分析信息說明,數據轉換方法描述等[8]。
通過元數據查詢檢索系統,用戶可以知道數據的產生背景、數據質量、數據格式、數據量大小、數據單價等信息,從而決定是否需要使用該數據制作數據產品。
數據產品存儲及復用功能將根據用戶制作的數據產品及其相關信息自動生成相應數據產品元數據,例如數據范圍、數據量、產品制作算法等,產品可復用的算法范圍可以根據產品的制作算法得出,產品標簽則由上傳者或管理員手動添加。
4.2? 控制流和數據流
平臺的數據流展示了平臺數據流動的方向,控制流說明了平臺及用戶前后臺交互的步驟。數據流動較為復雜,具體的數據流動如圖4所示。
圖4 數據流程
平臺的數據流動主要步驟如下。
步驟1? 最基礎的數據存儲在基礎數據庫、算法庫、產品數據庫中,抽取這些數據庫的所有元數據形成一個完整的元數據。
步驟2? 完整元數據庫中抽取核心元數據形成一個核心元數據庫,供用戶查詢數據目錄、元數據和算法接口。
步驟3? 用戶提交算法后,首先從元數據庫中提取產品元數據,驗證當前算法是否有現成的產品可復用,并從基礎數據庫和算法庫中提取所需數據,并 打包成應用,進行產品制作,制作完成后提供下載。
步驟4? 根據步驟3提取的算法和數據量,結合核心元數據中的算法及數據單價,通過定價模型計算出產品定價,并在產品完成后支付下載。
平臺的控制流程主要分為三大部分:用戶在前臺提交算法、后臺定價并制作產品、用戶在前臺付費并下載產品。具體的控制流程如圖5所示。
圖5 控制流程
5? 關鍵技術
海量數據挖掘的關鍵問題是數據挖掘算法的并行化。而云計算采用 MapReduce 等新型計算模型,這意味著現有的數據挖掘算法和并行化策略不能直接應用于云計算平臺進行海量數據挖掘,需要進行一定的改造。
數據產品的在線制作對產品制作過程提出可定制性要求,用戶可以根據數據分析算法庫提供的輕量級接口,運用一種簡單的過程描述語言,通過算法接口組裝成用戶自定義的制作過程。本文定義了一種數據分析算法接口模型和REST風格的算法描述方式。
數據安全性是產品制作平臺的基石,保障數據的安全性意味著保證用戶只能通過平臺指定的方式進行數據訪問,同時用戶只能在平臺指定的數據存儲區內保存請求之間的數據,以保障用戶定制的產品制作過程對數據安全性的要求。本文提出了一種在保證安全隔離的前提下,實現可控的數據交換的方法。
數據定制平臺的商業價值不僅在于普通平臺一段時間內獨占的平臺軟硬件資源,還包括數據的價值以及產品制作過程賦予基礎數據的附加價值。本文設計了一個具有針對性的定價模型。
5.1? 數據分析算法接口和REST風格的算法描述
為了準確支持數據分析算法,本文設計了一種數據分析算法接口模型,使其能夠統一地對產品定制平臺提供的各類數據分析算法進行描述。主要作用有:為用戶提供便利性和數據訪問限制,用戶能且僅能通過算法接口使用產品制作服務,進而訪問數據;為服務方提供擴展性,服務方可以按接口擴展現有算法庫,提供更多的產品生成算法。
數據分析算法接口是一系列自定義的面向過程的Hadoop算法接口,主要包含復雜查詢、聚集、統計、回歸、挖掘、可視化等算法種類,每種算法種類作為一個接口模塊,用戶只需設 置簡單 參 數即可使用提供的算法。同時,考慮到算法接口的動態擴展,在設計算法過程中,各個模塊間耦合度小,方便后期的算法添加。以 “查找(query)特定范圍的數 據,計算它們的方差(variance),如果方差小于給定值,則返回數據均值(mean),否則返回數據直方圖(histogram)”為例, query、variance、mean和histogram均為算法庫提供的輕量接口,參數為數據的范圍。
為了解決數據的授權訪問問題,筆者在設計算法時,給每個算法都設定了數據訪問范圍,在算法組合后,任一算法只可訪問算法本身規定范圍內的數據和在制作過程中產生的數據。
為了實現算法描述的簡單、直觀、高效,采用RE ST作為算法描述方式的規范,REST的設計理念為:不區分事物,統一抽象為資源;資源使用統一資源標識符(uniform resource identifier,URI)為計算機指引資源所代表的文檔或對象的具體位置,將URI作為唯一標識;采用通用接口操作資源;URI不隨資源的操作而改變;采用無狀態通信。基于REST,本文提供的接口見表1。接口分為數據服務和算法服務,如何使用接口也將在表1中描述。
本平臺提出的接口以URI形式提供給用戶使用,用戶可以直接通過HTTP請求與資源進行交互,也可以將其嵌入系統后進行二次開發,用戶在系統窗口內輸入URI進行交互。
以海洋環境基礎數據中的水文數據為例,制作“2010—2014年渤海深度在100 m內的平均水溫”的URI可描述為: /data/temperature/use/year/2010/2014/use/sea /bohai/use/depth/0/10 0/algorithm/average/use_data/1,其中不同data的多個type順序可替換。
5.2? 定價模型
考慮到數據產品制作成本的特殊性,即主要成本由采集數據產生,產品制作過程中消耗的計算資源可忽略不計,因此在本平臺的定價模型中,將定價粒度(即定價的基本單位)定義為制作算法,這種設計避免了為了收集和計算占用資源,使得一個訂單服務在一段時間內獨享平臺軟硬件資源造成的資源浪費,還為用戶提前得知定價以便修改定制算法提供了可能性。
以制作算法作為支付單位的定價算法描述如下。
假設產品定價為P,產品權值為R,第i個產品制作算法單價為pi,采用制作算法個數為n,可得計算式:
其中,產品權值R表示不一樣的產品結果需要不一樣的定價方法,例如,同樣的算法和數據,獲得一系列連續數值、連續數值的分布圖像、連續數值的三段分布圖像的定價必然是不同的。假設產品有n種形式的結果,第i種形式分別有ni個結果,每個結果的權值為ri(0≤ri≤1),可得計算式:
此外,假設第i個算法基礎價格為ai,該算法采用數據條數為ni,其中第j條數據的數據單價為dij、第j條元數據價格為dij',第i個產品制作算法單價pi的計算式如下:
其中,第j條數據的數據單價dij需要在數據導入的同時給定值,第j條元數據價格dij'是考慮到有部分元數據可能單獨或和數據聯合起來進行運算而設計的,需要在元數據導入同時給定,將一個已有的可復用的數據產品也視作一條數據。
6? 應用實例
筆者開發了國家海洋局的海洋信息產品在線制作與發布系統,系統實現了元數據的檢索、數據產品的定制、數據產品的瀏覽與獲取等功能。
用戶編寫符合數據分析算法接口標準的算法語句,通過網站窗口提交到網站后臺,網站后臺在審核數據調用權限后,傳遞到數據分析平臺進行相關計算,生成產品。圖6為示例算法“2010—2014年渤海深度在100 m內的平均水溫”的URI的解析,解析時首先識別標識符,然后識別標識符后跟隨的ID,用來限定數據范圍、選擇分析算法。
圖6 URI示例解析
用戶在訂單管理頁面可以有效管理訂單。訂單號由訂單生成時間及訂單內容組成,訂單價格在用戶提交算法后由服務器根據定價算法得出,訂單狀態實時更新。用戶支付后,點擊下載即可下載產品,產品根據用戶提交的算法不同,可分為單個數值、數據集、圖像集。數據產品在線定制平臺目前在國家海洋信息中心相關部門初步應用,表2總結了應用前后的效果對比。可見,平臺能夠完成設計目標,但產品定制效果有待提高。最終,筆者預期可以實現部分產品生成算法的定制。
7? 結束語
本文建立了數據產品在線定制平臺的體系結構和流程,實現了對數據的產品定制,完成了算法接口和定價模型的設計和原型系統示例,對于完善“數字海洋”系統的數據管理與共享、建立完備的數據服務體系起到一定作用。
進一步的工作有:首先,定價模型需要根據進一步實驗給出數據之間、算法之間的基礎比值,以便為實現具體模型時提供定價參考;其次,用戶申請數據的過程需引入合適的權限控制系統以控制資源的授權,避免因此帶來的安全問題;最后,需要提升數據分析算法接口定制復雜分析算法的能力,以適應用戶對于“高度可定制”的產品制作需求。
參考文獻:
[1]??? ?張峰, 石綏祥, 殷汝廣, 等. 數字海洋中數據體系結構研究[J]. 海洋通報, 2009, 28(4): 1-8.? ZHANG F, SHI S X, YIN R G, et al. A study of data architecture in digital ocean[J]. Marine Science Bulletin, 2009, 28(4): 1-8.
[2] ?ALBERTO P. Technologies for large data management in scientific computing[J]. International Journal of Modern Physics C, Physics and Computers, 2014, 25(2):
343- 352.
[3]??? ?YOUSEFF L, BUTRICO M, SILVA D D. Toward a unified ontolog y of cloud computi ng[C]//The Gr id C omputi ng Environments Workshop, Nov. 12-16, 2008, Texas, USA. New Jersey: IEEE Press, 2008: 1-10.
[4] ? ?AZEEZ A, PERERA S, GAMAGE D, et al. Multi-tenant SOA middleware forcloud computing[C]//The? 2010 IEEE 3rd International Conference on Cloud Computing, July 5-10, Miami, Florida, USA. New Jersey: IEEE Press, 2010: 458-465. FENG X, SHEN J, FAN Y. REST: an alternative to RPC for web services architecture[C]//The Future Information Networks, October 14-17, 2009, Beijing, China. New Jersey: IEEE Press, 2009: 7-10.
[6] ? LOMOTEY R K, DETERS R. Analytics-as-a-service (AaaS) tool for unstructured data mining[C]// 2014 IEEE International Conference on the Cloud Engineering (IC2E), March 11-14, 2014, Boston, MA, USA. New Jersey: IEEE Press, 2014:319-? 324.
[7]??? ?KULKARNI G, GAMBHIR J, PATIL T, et al. A security aspects in cloud computing[C]// 2012 IEEE 3rd International Conference on the Software Engineering and Service Science (ICSESS), June 22-24, 2012, Beijing, China. New Jersey: IEEE Press, 2012: 547-550.
[8]??? ?CAZEMIER H, RASMUSSEN G D. Query engine and method for querying data using metadata model: U.S. Patent 6,609,123[P]. 2003-8-19.
張峰(1978-),男,博士,國家海洋信息中心副研究員,主要研究方向為云計算與數據服務。
孫宗哲(1991-),男,東北大學軟件學院碩士生,主要研究方向為高能效計算。
Ochora Dennis Reagan(1990-),男,東北大學軟件學院碩士生,主要研究方向為大數據處理。
劉建楠(1963-),男,就職于中國石油慶陽石化公司,主要從事企業經營和信息化管理工作。
宋杰(1980-),男,博士,東北大學軟件學院副教授,中國計算機學會高級會員,主要研究方向為大數據存儲與管理、高能效計算、云計算。
總結
以上是生活随笔為你收集整理的【2016年第6期】数据产品在线定制平台的探索实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv-从设备获取视频并且一帧一帧
- 下一篇: python-opencv时间计算,视频