複製鏈接
請複製以下鏈接發送給好友

DOA

(面向數據的體系結構)

鎖定
大數據時代,軟件體系結構的研究已顯得尤為迫切。受軟件體系結構的侷限,信息技術領域長期存在的問題在大數據時代愈發突出:系統間的信息難以共享;已建系統的功能擴展困難;海量、異構、多源、動態、實時變化和爆發式增長的大數據難管理,難分析,難挖掘;面向業務的軟件工程開發過程複雜,維護困難,生命週期短;信息安全關係到國家安全、社會穩定、企業利益和個人隱私,在互聯網開放環境下,問題更為突出;數據提供者的利益得不到保障等。面向數據的體系結構(DOA),採用“面向數據和以數據為核心”的思想,通過數據註冊中心(DRC)、數據權限中心(DAC)和數據異常中心(DEC)統一定義數據、 管理數據和提供數據服務;通過數據應用單元(DAUs)對各種應用進行管理和服務,建立一種數據大平台與碎片化應用的數據生態系統,為構建大數據時代從數據保護到授權應用 整套機制的軟件體系結構進行有益的探索。
中文名
面向數據的體系結構
外文名
DOA,Data Oriented Architecture
提    出
苗放教授
提出時間
2012年

DOA基本信息

面向數據的體系結構(DOA,Data Oriented Architecture),建立在雲計算的硬件架構之上,採用“面向數據和以數據為核心”的思想,通過數據註冊中心(DRC,Data Register Center),數據權限中心(DAC, Data Authority Center),數據異常控 制中心(DEC, DataException Control Center)來統一定義數據、管理數據和提供 數據服務,通過數據應用單元(DAUs, Data Application Units)對各種應用進行管理和服務,建立一種數據大平台與碎片化應用的數據生態系統,構建起從數據保護到授權應用的整套機制,為有效解決大數據時代所面臨軟件體系結構的問題提供基礎理論和方法技術支撐。
以上表述的數據是大數據時代下的廣義數據,是真實世界映射成虛擬世界的各種類型的數據,應用則是由政府、企業和個人在互聯網和移動互聯網中隨時隨地、隨心隨意的各種需求產生出的碎片化和個性化的應用。數據生態系統可以簡單形象地比喻為“肥沃的數據土壤上生長着茂盛的應用森林”。理解為:將不斷積累和豐富的各種數據定義為數據土壤,那麼建立在數據之上的各種碎片化、個性化和不斷增長的應用則是應用森林。應用森林中的某一棵應用之樹是具有生命週期的,可能會被淘汰或死亡,但整個森林是生態的、枝繁葉茂的和可持續發展的。
一個生態系統的好壞取決於這個生態系統的構成和運行機制,而面向數據的軟件體系結構(DOA)就是探索一種解決數據與應用之間自生長、自適應、自管理和可持續發展的機制,也包括數據的安全機制和應用中數據的授權使用機制。
數據註冊中心(DRC),是 DOA 的核心部件,通過它來構建邏輯的數據資源池,並管理數據和提供數據服務。DRC 按照統一標準進行設計,可以將各個 行業或不同規模的 DRC 進行互聯和關聯,從而可以構成更大規模的 DOA 系統。
數據權限中心(DAC),是 DOA 的關鍵部件,對數據的安全存儲、傳輸及應用授權進行管理。對數據實行“天生加密、授權使用”的機制,將數據分成存儲和傳輸時保持加密的“數據態”和在應用中授權使用時解密的“應用態”,充分保證數據的安全及使用的授權。
數據異常控制中心(DEC),是 DOA 的重要部件,對數據資源池進行自適應管理,也是數據生態系統的主要構成。
數據應用單元(DAUs),是 DOA 的關鍵部件,關聯應用對數據的訪問,對各種應用提供支持。類似於構件系統,在數據資源池之上,以模塊和積木方式提供應用程序接口(API,Application Programming Interface),供應用系統直接調用,可以由易到難,由簡到繁地構建生態的應用系統。

DOA意義

李國傑院士在關於大數據應用與研究所面臨的問題與挑戰中指出,大數據時代,“需要考慮對整個 IT 架構進行革命性的重構”。廣義上講,革命指推動事物發生根本性變革,引起事物從舊制到新制的飛躍。我們認為 IT 架構的革命性重構應該從硬件和軟件兩個方面來考慮。雲計算已經較好地解決了硬件方面的問題,並且為軟件方面的革命性重構奠定了重要基礎。但軟件方面,在軟件的體系結構上,目前還沒有很好的解決方案。受軟件體系結構的侷限,信息技術領域長期存在的問題在大數據時代愈發突出:
(1)信息共享。經過數十年來信息技術發展和信息化應用的積累,政府部門和企業中建立的各種業務信息系統越來越多。但這些系統間很難實現信息共享,甚至新建的信息系統也難以和其他系統共享信息。信息“孤島”和信息“煙囱” 現象普遍存在,而且問題越來越嚴重。採用“接口”和“信息交換平台”或“數據交換平台”等方案,不能從根本上解決問題。
(2)系統擴展。信息系統建設完成後,應用需求發生變化就要重新修改代碼才能實現功能更改,造成應用信息系統對軟件開發者的依賴。一旦需求變化成為常態,系統的功能擴展問題就變得非常突出。
(3)數據管理。過去的信息系統涉及的多是結構化數據,通過關係型數據庫管理系統(RDBMS, Relational Data Base Management System)就能很好地對數據進行管理。現在面臨的大數據具有海量、異構、多源、動態、實時變化和爆發式增長的特點,數據來源多樣,種類繁多,動態變化,包括來自物聯網的物理空間數據,社交網絡的網絡空間數據等,至今沒有統一的數據定義和管理辦法。
(4)大數據分析和挖掘支持。大數據需要通過處理、分析和挖掘才能產生價值,才能為決策提供支持。但目前對具有上述特點的大數據缺乏符合數據密集 型模式的數據管理機制和平台,因而對大數據的處理、分析和挖掘難以獲得具有持續、全面、科學和客觀的大數據分析和挖掘結果。
(5)軟件工程傳統的面向業務的軟件開發過程複雜,開發和維護成本高,無法應對處於常態的業務應用需求變更,軟件生命週期短,更新、淘汰和重新開發帶來的投入大。在互聯網和移動互聯網時代,強調一切業務數據化,就意味着要採集、記錄、存儲和管理一切業務過程中產生的數據,這對於需求分析、數據模型和業務應用等,都充滿了不確定性,也和傳統的軟件開發中要儘量有一個穩定、明確的需求正好相反,這給傳統的面向業務的軟件工程帶來了嚴峻的挑戰。
(6)信息安全。信息安全涉及國家安全、社會穩定、企業利益和個人隱私。傳統的信息安全多是封閉環境下的信息安全,強調的是網絡安全、系統安全和應用安全。在信息安全上,我國採用的是分級保護和等級保護的信息安全制度。傳統的數據安全,多強調的是數據中心的安全,雖然有備份、災備等技術保障數據的安全,但還存在着越權訪問等數據泄露隱患。在雲計算、互聯網和移動互聯網應用以及大數據時代下,環境更為開放,對數據安全的要求更高,給信息安全帶來了更為嚴峻的挑戰。所以,信息安全除了網絡安全和系統安全保障之外,在安全的軟件體系結構和安全的數據保護機制等方面還要有更深入的研究。
(7)數據提供者利益保障。在大數據時代,以數據建設和提供信息(數據)服務的企業和部門越來越多,對這類數據提供者的利益保護愈發重要。但由於信息具有易複製、易傳輸、難保護的特點,現有的技術體系缺乏對數據保護和授權使用的機制,不足以保障數據提供者的利益,不利於這類企業或部門的發展。

DOA目標

針對軟件體系結構的侷限導致信息技術領域長期存在且在大數據時代愈發突出的一系列問題, 採用“面向數據和以數據為核心”的思想,提出並設計一種面向數據的軟件體系結構( DOA, Data-Oriented Architecture),為建立一種數據大平台與碎片化應用的數據生態系統的構建機制,為從數據保護到數據授權應用的全過程管理,為有效解決大數據時代所面臨的軟件體系結構問題,提供基礎理論和方法技術支撐。

DOA主要內容

DOA 主要包括以下內容:面向數據的體系結構的機制、面向數據的體系結構的組成、數據註冊中心的機制、 數據權限中心的機制、數據異常控制中心的機制、數據應用單元的機制等。
(1)面向數據的體系結構的機制
包括: 面向數據和以數據為核心的指導思想;大數據時代對體系結構的需求;數據的定義和分類;數據的載體及與雲計算的關係;數據生態系統的含義及 DOA作用; DOA 與數據和應用的關係; DOA 對數據的管理和服務模式; DOA 與應用的業務邏輯和數據邏輯關係; DOA 下數據安全的基本原理;等。面向數據和以數據為核心的指導思想。 數據是有生命的,具有生命週期,生命過程需要全記錄。數據是有屬性的,具有安全屬性、身份屬性、時間和空間屬性。數據要天生加密,穿戴盔甲,加密呈現,具有不同的加密級別和深度。數據是獨立於系統的,數據是應用的基礎,不依賴於特定的硬件環境和軟件環境。同一數據可以支撐不同的應用。數據的訪問和應用是基於授權的,特定的訪問者,特定的場合(環境),特定的時間(時段),數據的使用和用户適合於網絡安全的授權、認證和計帳( AAA, Authorization, Authentication, Accounting)機制。數據是加密存儲與傳輸的(數據態),授權後解密使用(應用態)。數據系統是生態的,變化和發展的,是可持續發展的,自生長、自管理、自適應的。虛擬世界由數據組成,是真實世界的映射。建立數據生態系統,就要面向數據和一切以數據為核心。數據生態系統包括生態的各種應用,是“肥沃的數據土壤上生長着茂盛的應用森林”。數據生態系統需要構建邏輯的數據資源池,支持數據大平台與碎片化和不斷增長的應用,支持數據共享和系統可擴展。基於數據:一切可測,一切可聯,一切可操作,一切可實現。
大數據時代對體系結構的需求。 大數據時代,我們從信息技術(IT,Information Technology) 時代來到了數據技術( DT, Data Technology) 時代。從關注技術(T)到關注信息(I),再到關注數據(D)。信息是因人而異的,是功利性的、利己的,強調的是我,信息技術是為自己的;數據具有普適性,可以產生信息,是公益性的、利他的,強調的是我們,數據技術是為大家的。 馬雲提出,人類已經從 IT 時代走向 DT 時代, IT 時代是以自我控制、自我管理為主,而DT時代,它是以服務大眾、激發生產力為主的技術。 數據技術包括信息技術,數據技術範圍更廣,內涵更豐富;信息技術更具體,針對性更強。數據系統包括信息系統,信息系統是數據系統的子集。雲計算為數據技術時代的到來提供了可能:雲存儲具有幾乎無限的海量數據存儲能力。數據技術時代,需要新的世界觀,即數據世界觀,數據安全觀。數據技術時代,也就是大數據時代,需要相適應的軟件體系結構,支持數據安全,支持一切業務數據化,管理海量、異構、複雜、變化和爆發式增長的大數據,並提供挖掘有價值信息的支持。現有系統架構大都是小數據時代遺留和發展的技術架構,現有安全體系也是建立在小數據時代技術架構之上的。以信息技術(小數據時代)發展而來的技術和信息安全技術,不能適應大數據時代的要求。 Hadoop、MapReduce 等技術,只解決了大數據的靜態和量大的一部分問題。需要重新審視數據,站在數據的角度審視技術、架構、安全體系。
數據的定義和分類。 百度百科和維基百科分別給出的“數據”定義是: “數據就是數值,也就是我們通過觀察、實驗或計算得出的結果。數據有很多種,最簡單的就是數字。數據也可以是文字、圖像、聲音等。數據可以用於科學研究、設計、查證等”, “數據,或稱資料,指描述事物的符號記錄,是可定義為意義的實體,它涉及到事物的存在形式。它是關於事件之一組離散且客觀的事實描述,是構成信息和知識的原始材料。數據可分為模擬數據和數字數據兩大類。數據指計算機加工的‘原料’,如圖形、聲音、文字、數、字符和符號等”。我們研究的大數據時代的數據是廣義數據: 就是真實世界映射成虛擬世界的內容。 除了我們理解的計算機可以直接處理的數據外,還可以是能被註冊的各類事物:如設備,服務,APP,人,物等。這就需要研究大數據時代下的數據定義或廣義數據定義。可以從不同角度來分類數據:結構化/非結構化數據,關係型數據庫/NoSQL,動態數據/靜態數據,變化的數據/歷史數據,簡單數據/複雜數據,自有數據/共享數據/公開數據,不斷變化和不斷積累增長的大數據,等。
圖1 數據-DOA平台-應用架構圖 圖1 數據-DOA平台-應用架構圖
數據的載體及與雲計算的關係。 雲計算可以從彈性計算和存儲服務兩個方面來劃分類型,典型如亞馬遜的彈性計算雲( EC2, Elastic Compute Cloud)和簡單存儲服務(S3, Simple Storage Service)。在架構上習慣上分為基礎設施作為服務(IaaS, Infrastructure as a Service)、平台作為服務(PaaS, Platform as a Service)和軟件作為服務(SaaS,Software as a Service)三層,本質上雲計算就是雲服務,但還應有數據作為服務(DaaS, Data as a Service)這重要的一層。從數據角度,雲計算更多是數據的存儲服務,是 IaaS 和DaaS,通過分佈式和虛擬化技術,將基礎設施與數據融為一體( I+D, Infrastructure plus Data),為終端用户提供彈性的、可計量的、個性化的數據和計算服務,可以簡稱“雲”。一切皆在雲中,包括所有的基礎設施,如網絡、服務器、存儲設備等,更重要的是包括所有的數據,網絡世界和物理世界的數據等。以數據為內容定義雲,可以分為存儲雲、網絡雲和物理雲。存儲雲數據舉例:基礎數據,影像數據,歷史數據,行業數據等;網絡雲數據舉例: QQ,微信,百度,博客,短信,淘寶,電子郵件, APP 軟件等;物理雲數據舉例:雨量,温度,視頻,PM2.5,交通流量,設備,人員等。數據生態系統的含義及 DOA 作用。 數據生態系統,是“肥沃的數據土壤上生長着茂盛的應用森林”, DOA 是數據與應用之間可持續發展的關係描述。一個數據生態系統能夠成立,關鍵是要建立一種有效的作用機制,這就是面向數據的體系結構(DOA)。 DOA, “是一個信息系統的體系結構,針對任何數據類型,基於雲服務的概念,與具體的硬件平台和軟件系統無關,通過以數據為核心和麪向數據的理念來建立構建複雜信息系統的機制,以數據標識作為數據的識別和定位標記,建立數據的分類體系和訪問權限,通過數據註冊和登記中心實現數據的管理和交換,通過建立各種數據功能單元,可以由簡到繁、由易到難地構建複雜應用系統,實現多系統間的數據共享、訪問和協同”。DOA 與數據和應用的關係。 人類通過包含計算機網絡在內的計算機硬件和軟件系統建立了虛擬世界,通過虛擬世界去認識、建設、改造和適應真實世界,於是產生了大量的數據和各種應用。 DOA 就是建立在雲計算支撐的數據和各種應用之間的、分別可以對數據和應用進行管理和服務的一種機制、一個平台,形成一個以這種機制和平台的相對不變來應對數據和應用萬變的數據和應用的生態系統。這種關係和機制,也可以實現從實時數據到實時應用的支持。數據、DOA 平台和應用所構成的三層架構如圖1所示。
DOA 對數據的管理和服務模式。 DOA 面對的數據是廣義數據。要對廣義數據進行管理和服務,首先要解決對各種類型數據的統一標識和管理問題。其次,要考慮數據的價值保護,要對數據進行屬性管理,對數據進行權限和授權管理。再次,在分佈式應用和有數據冗餘的情況下,要考慮數據的一致性問題。據此提出數據註冊中心( DRC)、數據權限中心( DAC)和數據異常控制中心( DEC),互相配合實現對各種類型數據的統一管理,併為應用提供數據服務。
DOA 與應用的業務邏輯和數據邏輯關係。 傳統的應用信息系統構建邏輯大都是面向業務的邏輯,即根據需求,按照業務流程進行需求分析,就事論事地對系統進行設計和開發。按照業務邏輯,要求信息處理流程、數據結構等都按照業務過程的要求進行設計,好處是信息流程與業務流程比較一致,但缺點是,在今後一旦業務流程發生變化,信息處理流程、數據結構等都要做相應的變化,給系統開發和維護帶來不可預測的困難。 DOA 要求面向數據,即要將應用的業務邏輯轉換為數據邏輯,這樣,就要求將業務流程按照對數據資源池訪問的週期梳理成一個個小的面向數據的流程,最後再將這些面向數據的流程整合成面向業務的流程,完成應用信息系統的開發。這樣做的好處是一旦構建了數據資源池,構建面向數據的業務流程會比較便捷,而且業務流程發生變化,不會影響整個數據邏輯和數據流程,只需增加變化的部分或調整一些數據流程去適應新的變化即可。缺點是,要將業務邏輯轉換為數據邏輯,需要做一個思想轉變。
DOA 下數據安全的基本原理。 傳統的信息安全,首先是建立一個封閉和相對安全的環境,通過各種方式來保證這個封閉環境是安全的或可信的,但在這裏面的數據卻大多是“裸露”的。一旦有不速之客通過漏洞進入到這個環境, “裸露”的數據就面臨着極大的危險。在互聯網和雲計算的開放環境下,按照這種封閉環境下的信息安全策略進行數據保護,將面臨着極大的挑戰。
DOA 是面向數據和以數據為核心的。數據是有屬性的,具有安全屬性、身份屬性、時間屬性和空間屬性。要明確數據的主人、朋友和敵人。從數據角度考慮安全問題,要保證數據的完整性、機密性和可用性。數據要“天生加密,授權使用”。數據具有自保護功能,要穿戴盔甲,以加密方式呈現,具有不同的加密級別和深度。數據的使用要經過授權。數據具有兩種狀態:存儲和傳輸時的“數據態”以及授權使用中的“應用態”。 “數據態”是加密狀態, “應用態”是解密狀態。一旦完成“應用”或離開了應用環境,數據應立即“變”為加密的“數據態”。 DOA 提供一種加解密機制和授權使用機制,使得數據在存儲和傳輸時是不可訪問和使用的,而經過授權的用户在訪問數據或通過應用使用數據時,是透明的,即感覺不到數據的加密和解密過程。因此, DOA 下的數據安全策略是, “數據態”的數據,既適合於封閉環境,也適合於開放環境,而“應用態”的數據,僅適合於“封閉”環境。這樣,數據安全問題就化解為數據加密和授權使用機制、數據自我保護和自動加解密機制、應用環境安全等幾個關鍵問題了。
(2)面向數據的體系結構的組成
包括: DOA 的組成及完備性;數據註冊中心( DRC)基本功能;數據權限中心( DAC)基本功能;數據異常控制中心( DEC)基本功能;數據應用單元( DAUs)的基本功能;面向數據的軟件工程原理初步探索;等。
DOA 的組成及完備性。 DOA 是一種構建在雲計算環境之上的軟件體系結構,不涉及直接對具體硬件的控制和訪問。作為協調數據和應用之間的關係以及構建數據生態系統的一種機制, DOA 應具有對廣義數據進行全面管理和服務的功能,以及對各類應用進行全面管理和服務的功能。初步考慮的 DOA 組成包括:對廣義和各類數據進行登記註冊管理的數據註冊中心( DRC),對數據進行授權、認證和計帳(授權及訪問過程記錄)管理的數據權限中心( DAC),對數據的一致性進行管理的數據異常控制中心( DEC),以及對各類應用進行管理、服務提供支持的數據應用單元( DAUs)。這些中心和應用單元,構成了 DOA 的基本框架,它們之間既相互獨立,又相互關聯,形成一個有機的整體。相互獨立,體現在它們的任務和功能互不相同;相互關聯,體現在它們之間的互為依賴。例如,DAC、 DEC 和 DAUs,都要依賴於 DRC。
數據註冊中心(DRC)基本功能。 數據註冊中心對各種類型的數據和廣義數據進行登記註冊,形成邏輯的數據資源池,方便應用對數據的訪問。其功能涉及但不限於:數據註冊信息定義,數據屬性信息,數據分類,元數據標準,元數據分類,不同類型數據的註冊方法,數據索引,元數據索引,數據檢索,廣義數據模式識別,分佈式部署,數據註冊內容隨需自適應機制,數據生成自動註冊機制,歷史數據註冊與管理,等。
數據權限中心( DAC)基本功能。 數據權限中心對數據進行權限管理,功能涉及但不限於:數據安全屬性定義,數據合法性鑑別,數據訪問權限定義,用户權限認證,應用授權,用户授權,數據授權與 PKI,計帳算法及機制,數據透明加解密機制,高效數據加解密算法等。
數據異常控制中心(DEC)基本功能。 數據異常控制中心對分佈式環境下有數據冗餘時的數據一致性進行處理,功能涉及但不限於:數據維護,自適應管理,異常探測與處理,巡檢,異常與衝突發現,同步處理,冗餘處理,負載均衡等。數據應用單元( DAUs)的基本功能。 數據應用單元是在數據資源池之上的一系列應用單元模塊,針對應用管理和服務,通過類似於基於構件的軟件開發模式( COA)的搭積木方式和應用程序接口( API, Application Programming Interface)調用,以“數據驅動應用”,快速滿足用户的各種應用功能需求。其功能應根據各種具體應用的需求,涉及但不限於:根據不同數據類型提供不同功能的數據功能單元( DFU, Data Function Unit),以推送方式提供服務的數據服務單元( DSU,Data Service Unit),數據加解密單元( DEU, Data Encryption Unit),數據授權調用單元( DIU, Data Invocation Unit),數據應用組合單元( DCU, Data CombinationUnit),數據可視化單元( DVU, Data Visualization Unit),數據處理單元( DPU,Data Processing Unit),等。
面向數據的軟件工程原理初步探索。 面向數據的體系結構 DOA 為軟件開發提供了新的方法。區別於傳統的面向業務的軟件工程,新的面向數據的軟件工程具有新的活力。擬開展以下研究:具有生命週期的應用軟件與數據生態系統的關係研究;業務邏輯轉化為數據邏輯的開發過程研究;邏輯的數據資源池建設和運行維護機制研究;基於成長型數據生態系統的應用軟件開發模式研究;基於DAUs 的面向數據的應用軟件快速構建機制研究;已有系統的數據整合方法研究;等。
(3)數據註冊中心(DRC)的機制
包括:數據註冊內容定義及元數據標準;數據屬性信息定義;數據分類及分類標準;數據註冊方法;元數據索引和檢索方法;廣義數據模式識別;數據註冊中心分佈式部署模式;數據註冊內容隨需自適應機制;數據生成自動註冊機制;歷史數據註冊與管理;等。
數據註冊內容定義及元數據標準。 廣義數據包括雲中存儲的各種類型的數據,也包括互聯網中傳遞的實時變化的數據,還包括物理世界存在的實體對象和狀態所表徵的數據,如果用雲的概念來表達數據,就是存儲雲(數據)、網絡雲(數據)與物理雲(數據)。對這些數據進行註冊,就要針對這些數據的特徵定義註冊內容,最重要的是要指出這些數據的名稱和存在的位置,作為統一管理數據的唯一標識。此外,還需要有數據的描述、數據的屬性、數據的權限等內容。這些內容體現為元數據,需要制定統一的數據註冊元數據標準。數據屬性信息定義。 數據具有屬性,不同的數據具有不同的屬性。數據都具有價值, DRC 需要管理數據的共性屬性。例如,數據權人(數據主人),數據的生命週期,數據的權限,數據的狀態,數據的性質,數據的合法性,數據的質量等。
數據分類及分類標準。 數據可以分為不同的大類和子類,對於分類的標準、分類的方法、分類的類別和分類的應用等,需要開展研究。為了提高數據檢索效率,還需對元數據進行進一步的分類研究。數據註冊方法。 根據不同的數據類型,不同的數據性質,要採用相適應的數據註冊方法,可以分為手動註冊、半自動註冊和全自動註冊方法。在數據註冊的同時,建立數據索引。應用產生數據,應用產生的數據應該自動進行註冊。
元數據索引和檢索方法。 數據註冊中心是為應用提供數據訪問服務的,訪問效率取決於索引和檢索方法。由於數據註冊中心的體量可以很大,根據不同系統,其規模可以達到TB級甚至PB級。因此,建立高效的元數據索引和檢索機制和研究高效的索引和檢索方法,是非常必要的。廣義數據模式識別。 數據註冊中心註冊的內容可以是廣義數據,例如物理世界的實體。要快速檢索這些廣義數據,需要採取新的識別技術。例如可以採用基於模糊理論的模式識別技術來建立索引等方法。數據註冊中心分佈式部署模式。 數據註冊中心的數據雖然是數據的註冊信息,其體量和實體數據相比約佔千分之一,當實體數據達到 PB 量級,註冊中心的數據將達到 TB 級,因此,數據註冊中心也要部署到雲的分佈式環境中。為高效地運行數據註冊中心,需要對其進行分佈式部署模式研究。
(4)數據權限中心(DAC)的機制
DOA 意在從架構角度對未來數據系統進行全方位設計,包括數據安全在內。DAC 通過數據權限的管理對數據進行保護,並提供數據授權使用的機制,也可以保護數據擁有者的利益。因此,DAC 的機制涉及但不限於:開放環境下數據安全基本理論;數據的狀態機制;數據固有安全屬性;數據訪問控制權限及管理機制;數據合法性鑑定;數據權限中心的作用和運作機制;用户認證機制及證書授權( CA, Certificate Authority)技術;數據授權機制及與公共密鑰基礎設施( PKI,Public Key Infrastructure)關係;數據使用記錄及其溯源機制;計帳機制;多級授權及認證機制;單個數據與批量數據或大數據量授權使用機制;密鑰體系;數據透明加解密策略和算法;加解密效率與安全性及授權過程的妥協關係;傳統數據傳輸加密技術適應性;應用環境安全保障;數據非法使用識別及數字水印技術;數據權人權利和知識產權相關問題;等。
開放環境下數據安全基本理論。 開放環境下,要做到數據本身的安全,並能夠安全使用,首先就是數據要進行加密,數據應該具有“天生加密,授權使用”的特性。不妨假設數據在使用中是不加密狀態,那麼數據不在使用中就應該保持加密狀態。因此,設定數據具有兩種狀態:存儲和傳輸時處於加密狀態的“數據態”以及授權使用中處於解密狀態的“應用態”。 DOA 作為一種機制,就要保證數據能夠在這兩種狀態中與授權和加解密技術關聯起來。目前有關數據安全的理論和方法體系、網絡的授權、認證和計帳的 AAA 技術、CA技術、PKI技術、密鑰體系、加解密技術等,以及網絡安全技術、系統安全技術、應用環境安全技術等,都是適用的,但要從面向數據和以數據為核心的角度進行重新梳理,從數據安全的理念、理論、方法和受保護數據的應用機制等方面,進行適應性研究和更進一步的探討。
數據的狀態機制。 可以以面向對象的觀點來看待數據,數據除了其自身應具有的價值外,還具有內部屬性和外部狀態。從外部看,數據應具有“數據態”和“應用態”兩種狀態。要研究數據狀態的定義,數據狀態的設置和獲取,數據狀態的轉化,數據狀態的作用,數據狀態對環境的要求,數據狀態與數據加解密關係及作用機制,等。
數據固有安全屬性。 數據的內部屬性包括關鍵的數據安全屬性。要研究數據安全屬性的定義,數據安全屬性的內容,數據具有的訪問權限,數據安全性説明,數據狀態,數據的主人(數據權人)、朋友(被授權人)、陌生人(未授權人)和敵人(不受權人),數據讀寫權利,數據追加歷史記錄,數據的數字水印與防偽鑑別,數據授權記錄,等。
數據訪問控制權限及管理機制。 數據訪問控制依賴於數據安全屬性,又與數據的加解密關係密切。過去的數據訪問控制權限是由軟件所控制,由訪問軟件控制數據的訪問,而數據本身則有可能加密也有可能不加密。當另外的軟件訪問數據時,有可能繞過權限控制,例如越權訪問數據,造成數據的非法訪問和重要信息泄露。本項研究立足於數據“天生加密,授權使用”的觀念,數據的訪問依據數據的安全屬性和訪問者的身份,通過應用授權、用户授權,再確定數據授權,依據授權的方式和應用的環境,提供解密密鑰或解密算法,實現數據的安全使用。涉及數據的使用,還有數據的讀寫權限、修改權限、追加權限、數據的獲取及數據權人的確定,以及按照數據權人的身份信息進行數據自動加密和自動註冊等。依照不同的應用類型、不同的應用場景、不同的用户表現方式,這種數據訪問控制方法及權限管理機制,需要深入開展研究。
數據權限中心的作用和運作機制。 數據權限中心負責對數據進行安全保護,並對數據的使用進行授權管理和應用安全管理。因此,數據權限中心要管理數據安全屬性,鑑別數據的合法性,設定數據的訪問權限,認證用户和應用,對數據進行用户和應用授權,對授權過程進行記錄和計帳,對數據進行加解密,等。數據權限中心要與數據註冊中心配合,有關數據的屬性和權限等數據,需要在數據註冊中心進行註冊和登記,數據權限中心根據註冊的信息,對數據進行監控、授權、回收權利、認證、計帳、加解密和新數據安全屬性註冊等操作。從內部看,數據的使用過程就是數據的授權和不斷擴大授權範圍的過程,計帳就是對這些授權的記錄,可以為後續的商業應用奠定基礎。未來任何一個 DOA 平台,在提供數據管理和服務的同時,也具備了數據商業運作的基本能力。
用户認證機制及證書授權(CA)技術。 數據應用授權是建立在用户認證的基礎上的。用户認證與用户的屬性相關,認證過程是用户註冊和管理維護過程。登記用户信息是數據註冊中心(DRC)重要的數據註冊內容,也是數據權限中心(DAC)需要用到的重要數據。用户認證技術,可以採用傳統的 CA 技術,需要有第三方權威中心或局部中心向用户頒發用户證書(私鑰)。同時,數據和用户之間通過數據安全屬性建立關聯關係。
數據授權機制及與公鑰基礎設施(PKI)關係。 向用户授權使用數據,就需要將經數據權人(數據的主人)公鑰加密的數據轉變成用被授權用户(數據的朋友)公鑰加密的數據,再提供給被授權用户下載使用。當遇到體量較大的數據,為提高加解密效率,用公鑰加密的應該是對數據進行對稱加密的密鑰,而不是數據本身。數據權限中心(DAC)要提供這種基於 PKI 的加解密授權機制和方法。
(5)數據異常控制中心(DEC)的機制
DEC對數據資源池(數據註冊中心註冊的數據)進行一致性管理,對數據資源進行維護,保證數據的唯一性和一致性。因此,DEC的機制涉及但不限於:數據一致性維護機制,數據動態變化自適應管理機制,數據一致性異常探測與處理機制,數據巡檢算法,數據異常與衝突發現算法,數據同步處理算法,數據冗餘處理算法,熱數據自動複製技術,冷數據自動刪除技術,系統負載均衡,等。
(6)數據應用單元(DAUs)的機制
DAUs在數據註冊中心DRC以及數據權限中心DAC的基礎上,建立一系列應用單元模塊,通過類似於基於構件的軟件開發模式(COA)的搭積木方式和應用程序接口(API)調用,以“數據驅動應用”,快速滿足用户的各種應用功能需求,對各類應用進行管理和服務。因此,DAUs的機制涉及但不限於:數據應用單元的結構規範,程序調用參數規範,數據訪問規範,應用註冊管理規範,應用擴展機制,授權數據訪問機制,非授權數據訪問識別,數據功能單元,數據服務單元,數據加解密單元,數據授權調用單元,數據應用組合單元,數據可視化單元,數據處理單元,等。

DOA關鍵科學問題

(1)大數據時代下計算機軟件體系結構的問題
大數據時代,計算機軟件體系結構急需進行革命性的變革,以應對信息技術領域長期存在且在大數據時代愈發突出的問題,涉及到:信息共享,系統功能擴展,大數據管理,大數據分析和挖掘支持,軟件工程,信息安全,數據企業利益保障等方面。雖然針對這些問題有着各種各樣的解決方法和技術,但都不能徹底地或從根本上解決。現有的軟件方法和軟件體系結構,例如面向對象的編程( OOP,Object-Oriented Programming)解決的是複雜系統的編程方法問題,面向服務的體系結構( SOA, Service-Oriented Architecture)解決的是異構系統的服務調用和整合問題,基於構件的軟件開發方法或面向構件的體系結構( COA, ComponentOriented Architecture)解決的是軟件按組件方式的快速構建機制問題,它們都無法解決前述問題。
(2)面向數據的軟件體系結構對建立可持續發展的軟件系統的支持問題
作為一個大數據時代下的軟件體系結構,基於它所構建的大數據系統——我們定義為數據生態系統,應具有伴隨數據的可持續發展的能力。推而廣之,以面向數據,以數據為核心的軟件體系結構(理論)來構建的軟件系統及其計算機系統、信息系統的實現形式,也應該具有面向數據的可持續發展的能力。這也是我們需要探索和解決的科學問題。
(3)面向數據的軟件體系結構對數據保護與授權應用的支持問題
面向數據,就要以數據為核心,對數據進行保護,也要對應用進行支持。這種新的軟件體系結構,為數據的安全、信息的安全、數據的應用、信息的應用等,帶來了新的挑戰和解決問題的新方法、新機制,這些都需要探索和解決。
(4)面向數據的軟件體系結構對應用增長和需求變化的支持問題
應用的不斷增長和需求的不斷變化,在面向數據的體系結構下應能夠自動適應。這是新的機制、新的方法,需要深入研究和實現。

DOA特色與創新

(1)提出了一種大數據時代下的面向數據的軟件體系結構( DOA),是大數據時代面向數據和以數據為核心的數據系統和信息系統的構建機制。
(2)提出了一種建立在雲計算環境之上的 DOA 平台構建方法,既可對各種數據進行統一管理和服務,也可對各種個性化應用進行管理和服務,為構建成長型的數據生態系統,為從數據保護到授權應用全過程可控管理,提供理論和方法技術支持。

DOA預期成果

通過對面向數據的體系結構( DOA)進行理論和機制探討, 為建立新一代的數據生態系統並從數據保護到數據的授權使用提供理論和方法技術支持。針對前述的信息技術領域長期存且在大數據時代愈發突出的七個方面的問題, 可以得到有效地解決:
(1)信息共享。 DOA 建立了以 DRC 為核心和以 DAC 為重點的數據資源池或數據大平台,所有的應用都“生長”在其上, 各應用系統都在一個“池子”裏依照權限去獲取所需的數據,各應用系統不需要去和其他應用系統去共享數據和信息, 因此沒有信息“孤島”和信息“煙囱”,從根本上解決了信息共享的問題。如果兩個以上的不同數據生態系統需要進行數據“共享”,只需將這些系統的 DRC進行相互認證和相互關聯,不同的應用就可以在不同的數據資源池中找到所需要的數據了。
(2)系統擴展。 DOA 支持碎片化應用,因此,系統功能的擴展過程就是數據(應用)生態系統不斷建設和發展的過程,數據可以不斷積累,應用也可以不斷增加和擴展。對於已有系統, 可以通過數據來進行整合。 將這些系統產生的數據不斷“導入”到新的數據資源池中,再通過在數據資源池上不斷開發和積累一些小的碎片化應用, 緩慢和逐漸替代原有系統, 完成從原來的應用系統到數據生態系統的過渡和遷移。
(3) 數據管理。 DOA 是通過 DRC 以元數據方式,管理各種類型甚至包括網絡空間和物理空間實時動態變化的數據,通過建立不同的分類方式和不同的數據索引檢索方式,實現對數據的統一管理和提供應用服務支持。 通過 DRC、DEC 建立邏輯的數據資源池來管理數據併為應用提供服務,解決了數據唯一性保證和數據的一致性問題, 可以實現一個數據支持多種應用,豐富應用方式,避免數據衝突帶來的嚴重後果。 這一點,在眾多行業應用中都具有重要的意義,特別是在互聯網和移動互聯網的碎片化互動應用中, 更具有重要意義。 DRC本身也是利用雲存儲在分佈式網絡中,以應對大規模數據和大用户量及高併發訪問,以保證數據訪問的可靠性和高效性。
(4)大數據分析和挖掘支持。大數據分析和挖掘需要有方便數據管理的架構,需要有方便和高效積累的數據。 DOA 提供不斷積累的、包含有中間計算結果的數據源泉,並提供成長型的數據生態系統和可行的數據安全管理機制, DRC提供快速和便捷的數據檢索機制,並支持對複雜數據實現關聯分析的算法, 可以基於 DOA 建立用於數據密集型大數據分析和挖掘的決策支持平台, 使基於大數據的預測、判斷和決策更科學、客觀和可持續。
(5)軟件工程。 DOA 以數據為核心, 建立的數據資源池可以適應任何數據變化,也可以應對任何業務需求的變化。在 DOA 支持下,傳統的面向業務的軟件工程將轉變為面向數據的軟件工程。它迎合、滿足、解決未來對於大數據及其應用分析挖掘不確定性的平台需求。在種種不確定下,仍然能夠讓用户自己就能快速簡單地管理與分析不斷變化與增長的數據,完成傳統應用軟件、傳統中間件做不了的事情。它顛覆傳統,不強調軟件生命週期,而是強調數據生態系統,即數據大平台與碎片化應用系統,建立的是“肥沃的數據土壤上生長着茂盛的應用森林”;不考慮數據共享問題;是將業務邏輯轉化為數據邏輯的開發過程;是基於成長型數據生態系統的應用軟件開發模式;數據資源池的框架建立好後, 邊調研邊開發,開發過程就是系統擴展過程;是分階段分期開發模式,可以保護已有投資,容易實現定製化開發。
(6)信息安全。因為 DOA 建立的是數據“天生加密,授權使用”機制,這樣可以使數據在開放環境下進行存儲和傳輸,既可以適應傳統封閉的安全環境下的應用,增強了信息的安全保障,又可以在開放環境下保證數據的安全和不被越權訪問。 DOA 安全理念和技術,與現在發展的網絡空間安全、系統安全、應用環境安全等技術相結合,可以有效提高信息安全保障。
(7)數據提供者利益保障。數據必須經過授權才能夠使用。 DOA 數據的使用過程就是數據的授權過程。通過計帳機制和計費手段,以及數據授權使用溯源機制,可以充分保障數據提供者的利益,也使得互聯網和大數據時代的信息交易、數據應用等變得有序和有法可依。

DOA前期成果

自2007年到2014年,從提出G/S模式到提出DOA及開展應用,得到了包括863、國家自然科學基金等多個項目的支撐和驗證,得到多位行業專家的肯定。目前,課題組申報國家發明專利2項,可為基於DOA架構下信息系統的相關研究和構建方法提供基礎。課題研究組成員先後在國際會議、國內期刊上發表了數篇與本課題研究內容相關的文章,其中EI檢索、核心期刊數十篇(相關研究論文見代表性研究成果列表)。項目負責人及其團隊成員都是多年從事信息技術的研究人員,熟悉DOA構架的相關理論,具有豐富的研究經驗和可持續的研究能力。
時間
事件
備註
2007年
在北京香山科學會議第303次會議——“數字中國”發展戰略論壇上做“數字地球平台與數字中國技術體系架構”主題報告。
提出了G/S模式,亦即今天的端/雲模式。
2008年
作為技術負責人,國家發改委“基於遙感與衞星導航的數字旅遊服務系統”項目。
通過了四川省科技廳主持的成果鑑定,被認為“達到了國內領先水平”。
2010年
1、負責國家自然科學基金項目“客户端聚合服務的空間信息網絡服務模式研究”。
2、申請中國發明專利:一種空間信息網絡服務模式。專利申請號:201010113244.2,公開號:CN102164155A
關於G/S模式的深入科學研究。
2011年
參與國家863項目“繞月探測工程科學數據應用與研究”。
與會專家稱“基於G/S模式的探月數據分析與成果共享基礎平台”為探月科學研究中的新課題。
2007年-2012年
連續6年受邀參加“數字中國高層論壇”(DCDF)大會,並做大會和分論壇報告。
闡述和交流數字地球平台、G/S模式及空間信息的網絡服務模式應用進展。
2012年
參加“第六屆軟件、知識、信息、管理和應用國際研討會”(SKIMA2012),並作大會主題報告。
提出面向數據的體系結構(DOA)概念。
2014年
1、2014年9月28日在峨眉山召開的“首屆四川國際旅遊交易博覽會(SCITE)”的“中國智慧旅遊的探索與發展趨勢論壇”上作了題為“以數據為核心打造智慧旅遊平台探討”的報告。
2、2014年11月15日在成都召開的主題為“IT技術發展的最新進展與未來”四川省計算機學會學術年會上作了題為:“大數據時代面向數據的系統構建技術探討”的學術報告。
3、2014年12月2日在北京召開的2014全國智慧教育高教論壇上作了題為“智慧教育大數據平台與碎片化應用系統構建技術探討”的報告。
4、2014年12月12日在成都召開的由四川省計算機學會主辦的“2014'雲時代大數據與信息安全研討會”上作了題為“面向數據的體系結構及在信息安全中的應用探討”的報告。
5、申請中國發明專利:一種面向數據的信息技術系統。專利申請號:201410341092.X,公開號:CN104076906A
交流DOA理念、原理和理論方法體系。
2012年-2014年
以DOA為核心實施或獲批的項目:
1、2012年,四川省人民政府應急辦項目:“四川省人民政府應急指揮系統”(已結題驗收)。
2、2013年,成都大學信息科學與技術學院項目:“基於雲面向數據的學院教育信息化綜合管理與服務平台”。
3、2014年,四川省教育廳項目:“四川省教育資源公共服務平台”。
4、2014年,國家發改委綿陽市北斗衞星導航產業區域綜合示範項目:“基於北斗導航的智慧旅遊、智能公共交通系統”。
2015年
2015年3月18日,在國家自然科學基金網站上正式提交了2015年國家自然科學基金面上項目的申請。項目名稱:大數據時代下面向數據的軟件體系結構初步研究,申請代碼:F020201,受理編號:6157051674。
2015年3月31日,代表四川省教育廳專家組向來自四川省各地市州教育局的領導介紹了四川省教育資源公共服務平台一期建設情況及服務能力情況。整個項目的架構以DOA為核心構建。

DOA總結

DOA是一個信息系統的體系結構,針對任何數據類型,基於雲服務的概念,與具體的硬件平台和軟件系統無關,通過以數據為核心和麪向數據的理念來構建複雜信息系統,以數據標識作為數據的識別和定位標記,建立數據的分類體系和訪問權限,通過建立各種數據功能單元,可以由簡到繁、由易到難地構建複雜應用系統,實現多系統間的數據共享、訪問和協同,通過數據註冊中心( DRC)、數據權限中心( DAC)和數據異常中心( DEC)統一定義數據、管理數據和提供數據服務;通過數據應用單元( DAUs)對各種應用進行管理和服務,建立一種數據大平台與碎片化應用的數據生態系統,為構建大數據時代從數據保護到授權應用整套機制的軟件體系結構進行有益的探索。
任何數據類型,是指:結構化/非結構化數據;實時/存檔/歷史數據;空間/非空間數據;本地/互聯網/第三方數據;公共/私有數據;授權/未授權數據;服務型/應用型數據等。
關於雲計算概念,本質是雲服務,核心是基礎設施作為服務(IaaS)和數據作為服務(DaaS),通過分佈式和虛擬化技術,將數據與基礎設施融為一體,為終端用户提供彈性的、可計量的、個性化的信息服務。可以簡稱“雲”,一切皆在雲中,包括所有的基礎設施,如網絡、服務器、存儲設備等,更重要的是包括所有的數據、物理世界和網絡世界的數據等。
圖2 DOA與數據雲及應用終端關係示意圖 圖2 DOA與數據雲及應用終端關係示意圖
以數據為內容定義雲,可以分為存儲雲、物理雲和網絡雲。
以應用類別劃分,則是公有云、私有云或行業雲等。
數據註冊中心(DRC,Data Register Center),是統一的數據定義和命名環境,通過元數據來定義和註冊各種類型的數據。
DOA研究以數據為中心的系統構建機制,包括數據的獲取,傳輸,存儲,管理,調度,權限控制,數據的價值挖掘,數據檢索與服務等機制的研究。
DOA採用通用瀏覽器/服務雲(G/S,General browser/Service cloud)工作模式,如圖2所示。
G:代表具有時空增強的通用瀏覽器,可以是各類面向人類的信息終端;
S:代表以數據為核心構成的服務雲,它由三類數據雲所組成:物理世界數據感知雲,網絡世界數據感知雲以及各類數據的存儲雲。相對來説,前兩者為動態雲,後者為靜態雲,其中物理世界數據感知雲,就是狹義的物聯網概念
G端主要實現以下功能:
(1) 時-空增強的通用瀏覽器客户端(不是簡單的頁面式的終端)
(2) 採用請求-聚合的工作機制(客户端匯聚信息、聚合服務)
(3) 個性化的按需服務(不同終端用户的界面和功能不同)
(4) 多客户端協同(不同客户在G端藉助於S端協同做一件事情)
(5) 時-空可視化(3D、4D:基於時間序列的空間信息展示和表達)
(6) 不同終端:桌面PC、平板、智能手機(Windows,Mac OS X,Linux,iOS,Android,Windows Phone等)
(7) 簡單的操作和控制(從鼠標到手指)
S端的組成和功能如下:
(1) 物理世界數據感知雲
(2) 網絡世界數據感知雲
(3) 管理多源、海量、異構等數據的存儲雲
(5) 數據註冊、分類與訪問權限管理
(6) 對大數據的存儲和管理採用分佈式和分散存儲的技術
(7) 動態冗餘、負載均衡、自適應
(8) 對客户端提供有效的數據處理、訪問和服務支持
從數據的角度看任何系統在技術上都存在的八個複雜度問題:
  1. 空間複雜度(對數據的存儲能力)
  2. 時間複雜度(對數據的計算能力,提供服務的響應能力)
  3. 空間時間複雜度(數據在網絡上的傳輸能力)
  4. 表達複雜度(人機界面——數據可視化能力)
  5. 操控複雜度(人機界面——對數據的操控能力)
  6. 關係複雜度(數據與數據之間的關係描述能力)
  7. 分析複雜度(從數據提取信息的能力)
  8. 技術複雜度(數據和信息系統的成本,性價比)
通過DOA和G/S模式,開發基於雲的具有可視化表達能力和容易操作的客户端,就可以有效降低和化解前5個複雜度問題。