向清松,馬 闖,楊文暉
(成都理工大學信息科學與技術學院,四川成都,610059)
基于數據的平臺構建相關研究
向清松,馬 闖,楊文暉
(成都理工大學信息科學與技術學院,四川成都,610059)
為應對大數據時代對傳統的軟件構建模式的挑戰,論文采用面向數據體系架構(DOA)的思想,結合傳統的軟件架構模式,設計了以數據為核心,以業務為驅動的軟件構建模式,并經過2015國家大學生創新創業訓練計劃“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”項目的實踐,初步證實了論文描述的構建模式的優越性和可實現性。
大數據;業務;數據;DOA;健壯性;軟件架構
隨著互聯網技術的發展,人類社會迎來了“大數據”時代。數據的“4V”特性給傳統的互聯網結構和軟件構建模型帶來了巨大的挑戰。
大數據時代為來臨之前,軟件平臺的構建很大一部分都是以業務驅動的。傳統的軟件開發流程基本都屬都是:首先梳理業務,然后定義數據。但在當下的“大數據”時代環境中,這種軟件平臺構建方式不能滿足現有平臺開發的需要。一方面因為業務本身可能存在功能缺陷,另外一方面若現有的業務依賴原有的業務的數據,先前的軟件平臺有很大的概率會受到很大的影響。
本文從2015國家大學生創新創業訓練計劃“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”項目的實踐出發,論述基于數據的平臺構建的優勢和相關問題的探討。
在傳統的軟件構建流程的流程中,業務是驅動軟件構建的絕對動力。業務的梳理對軟件
構建的范圍和架構設計的基本框架有明確的指導意義。這在一定程度上確實會簡化和明確軟件開發的流程。但是采用這種軟件構建方式構建高質量軟件需要很高的要求,例如在軟件層面上的要求就必須有:
第一:業務模型必須完整。整個軟件的構建都是基于業務的,若業務模型不完整或不完善,整個軟件的構建就將陷入迷茫的狀態。這使得軟件構建不能按照先前規定的時間表來執行計劃的風險加大,也對后期的軟件維護帶來巨大的挑戰。
第二:業務之間的耦合會影響現有的業務。在公司的軟件生態中,不難發現軟件具有耦合現象。一方面這是市場的要求,另一方面這也是業務背后的數據的要求。例如:大數據項目中的數據分析業務下的“數據打點”(簡稱“打點”)工作:“打點”一般是先確定數據點的位置,然后在數據點的位置增加代碼來收集數據。若前期在對業務需求的梳理中遺漏了部分數據點,那“打點”工作就將會重復執行,而這種重復的代價是很高的。
第三:系統后期維護難,重構風險大。前期的軟件構建被需求限制了。若在軟件構建后期,當需求發生變動時,軟件的維護成本將加大,甚至會使得軟件面臨重構的風險。
以上三點是業務驅動項目構建在軟件層面上的“高要求”,當然業務驅動項目構建也有自己的優勢:
(1)軟件構建方式的受眾廣。
(2)單體項目的構建簡單。
(3)項目的前期進度易把控。
針對以業務驅動軟件構建的模式所帶來軟件層面上的基本問題,最好的解決方案之一“面向數據的體系架構(DOA)”。面向數據的體系架構(DOA)是苗放教授于2012年提出的一種用于處理海量數據的軟件架構模式。面向數據的體系結構(DOA),采用“面向數據和以數據為核心”的思想,通過數據注冊中心(DRC)、數據權限中心(DAC)和數據異常中心(DEC)統 一定義數據、 管理數據和提供數據服務;通過數據應用單元(DAUs)對各種應用進行管理和服務,建立一種數據大平臺與碎片化應用的數據生態系統。
面向數據的體系架構的核心思想是面向數據,以數據驅動軟件構建。以數據驅動軟件構建的構建模式在軟件層面有以下的幾個顯著優勢:
(1)信息共享。面向數據的體系架構的核心思想是以數據為中心,業務是由數據催生的應用單元。數據層面上的數據共享一方面使得數據圈更加完善,另一方面也使得業務之間的關聯性增強。
(2)適應現有的軟件架構的需要。當下“微服務化”的體系架構已經被眾多大型的公司給采用。“微服務”的首要工作是將現有業務拆分。拆分的標準和方案有很多,但基于數據的拆分無疑是最恰當、合理的拆分方式。基于數據的拆分可以更好的體現業務之間邏輯關系。同時也對服務的部署也有明顯的指導意義。
(3)增強系統的擴展性。在以業務驅動軟件構建的構建方式中,數據只是業務的一個產物,這使得數據和業務具有很高的耦合性,故而軟件后期的擴展性降低。但面向數據的體系架構采用的“以數據為核心”的架構設計從底層增加了系統的擴展性。業務只是數據的一種應用,系統的擴展不是業務簇的擴展而是數據圈的擴展。
通過上面的論述,可以 看出可以發現以業務為驅動的軟件構建方式和以數據為驅動的軟件構建方式在軟件層面各有優勢。結合這兩種不同的軟件構建思維是很有必要的。
兩種不同的軟件構建思維的一種結合方式是:數據為核心,業務為驅動。業務的驅動有利于限定和明確數據的定義。而以數據為核心可以很好的體現面向數據的體系架構的相關優勢。

圖1 基本框架
現有的成熟的軟件構建的架構框架中都把數據單獨封裝成一個框架層。這樣做的目的不是使軟件以數據為核心,而是為了使軟件更好滿足“面向對象”的軟件思想。將數據操作封裝成一個對象,這樣可以將數據訪問產生的異常集中處理,使得軟件更加健壯和易于維護。
在結合以業務為驅動和以數據為驅動的兩種軟件構建模型的優點之后,傳統的軟件構建框架就有一些修改,但為了利用以業務為驅動的軟件構建模式的優勢,新的軟件結構(如圖一)只是將“以數據為中心”的核心思想融入到傳統的軟件結構中去,而不對傳統的軟件結構做大面積的修改。
圖1的框架圖是“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”采用的框架設計概念圖。
圖1 中各個部件的智能如下:
業務:業務是數據的一種使用方式,業務只能通過業務接口才能訪問到數據,
業務接口層:業務接口層是業務訪問數據的入口。業務接口層是一個中間件,定義了業務訪問數據的業務規則。其功能主要使限制業務的非規則訪問;轉發業務請求等。
業務->數據映射層:業務->數據映射層(簡稱映射層)。映射層的功能是將業務邏輯和數據處理邏輯統一起來,將業務邏輯處理轉換為數據邏輯處理。
數據實體層:業務的處理邏輯被映射層封裝成了數據處理邏輯,數據實體層的作用就是處理數據,進而完成業務的相關邏輯。
數據訪問層:數據訪問層和傳統的軟件結構中的數據訪問層的功能是相同的,其主要的目的是用來封裝訪問數據存儲層的相關功能,這樣有助于限制異常發生的區域。使軟件具有良好的穩定性和健壯性。
db:db層是數據存儲層,其實現的方案依照具體的需求來定。關系型數據庫和非關系型數據庫均可以采用。數據存儲層的訪問方式在數據訪問層中被封裝。
從上述的功能介紹,圖1展現的軟件基本框架是傳統的業務驅動軟件構建和面向數據的體系架構的構建方式的結合。既展示了業務驅動的軟件開發模式的優勢,又體現了“以數據為核心”的軟件構建思想,這使得軟件對于開發后期的業務需求變化具有更好的適應性。
2015國家大學生創新創業訓練計劃“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”項目對圖1的軟件框架進行了理論上的實踐。通過理論實踐圖1所展現的軟件框架是良好的,可行的。
“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”是2015年四川省創新項目,是在“大數據時代下,海量數據具有不可估量的價值,但因為沒有一個完整的數據管理平臺導致大量數據未能得到充分的利用,造成了數據的‘浪費’,目前學習資源這一塊尤為突出。“的時代背景下提出的以“實現一款專為學習時做筆記設計的APP應用來提高他們的學習效率,解決學習過程中筆記記錄、收集的困難且耗時的近況。”為解決方案的一個項目。
“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”項目符合國家“互聯網+”行動計劃的技術發展趨勢,結合智慧教育的個性化學習需求,基于面向數據的體系結構,搭建自主學習平臺,并從移動終端Android平臺的App入手,開展創新訓練。能將大數據與教育密切結合起來。
“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”的優勢有:
本項目采用DOA架構,能夠快捷開發基于數據的碎片化應用,二次開發成本低。
數據保密性能好。DOA架構是數據“天生加密,授權使用”的機制奠定了數據的安全基石。
數據可以很便捷地在多個應用中得到共享。
大數據時代的“4V”特性給傳統的軟件構建模式帶來了嚴峻的挑戰。苗放教授提出的“面向數據的軟件體系架構”在數據層面上具有很好的創新。“以數據為核心”對軟件生態,”微服務化“和軟件擴展等具有深層次的指導意義。
向清松,男(1993-),計算機科學與技術專業,本科在讀.
馬闖,男(1984-),講師,成都理工大學信息科學與技術學院教師,主要從事大學生創新創業教育指導工作.
Research on the construction of platform based on data
Xiang Qingsong,Ma Chuang,Yang Wenhui
(Chengdu University of Technology,College of information science and technology,Chengdu,Sichuan 610059)
The construction mode of challenges to traditional software era of big data,the data oriented architecture(DOA) theory,combined with the traditional software architecture model,designed with the data as the core,business driven software construction mode,and after the 2015 National College Students' innovation and entrepreneurship training program "data oriented system based on the architecture(DOA)learning platform(the first stage)" project practice,confirmed that the description of the construction mode of superiority and realization.
big data;business;data;DOA;robustness;software architecture
TP312
A
項目簡介:2015國家大學生創新創業訓練計劃“基于面向數據體系架構(DOA)的學習平臺建設(第一期)”項目。