

[摘要]當前各網絡學習系統和資源庫之間存在著信息孤島現象。文章以大數據時代為背景,首先認為造成這種現象的原因主要包括數據的多源異構性和新興網絡技術的應用,如系統的異構,模式的異構和物聯網技術等。為了解決這個問題,必須構建異構數據共享系統,該系統包括應用層、數據服務層和數據層。與此相關的關鍵技術應該具備完成海量數據的存儲和海量數據運算的功能。其主要解決策略是從非結構化數據庫入手解決異構數據融合問題,其中具有代表性的就是noSQL技術,它具有易擴展、高性能、數據模型靈活等特點。在此基礎上,通過數據的表示及格式轉換、數據互操作和直接數據訪問模式等方式,完成異構數據的集成,最終實現網絡學習環境之間“直通車”目的。總之,該論文對網絡學習環境中的異構數據和集成進行初步的探討,希望對今后的相關研究起到拋磚引玉的作用。
[關鍵詞]大數據;網絡學習;異構數據;數據融合
[中圖分類號]G40-057 [文獻標識碼]A [論文編號]1009-8097(2013)12-0011-05 [DOI]10.3969/j.issn.1009-8097.2013.12.002
一、前言
傳媒學家麥克盧漢認為,“任何技術都傾向于創造一個新的人類環境”。而IT技術在經歷了大型主機、小型計算機、PC/微處理器、聯網/分布式計算幾個時代之后,現在處于第五次浪潮。其總體特征是以云計算為基礎架構,支撐大數據處理和應用,從“以計算為中心”向“以數據為中心”轉變。
對于當前大數據處理,中國社會科學院信息化研究中心秘書長、《互聯網周刊》主編姜奇平認為“大數據就是云計算本身”,“兩者都是數據的大規模集聚與定制化分布的結合”。
數據的大規模集聚與定制化分布為信息共享、信息協作和學習創造了一個全新的環境。一方面,學習者可以通過云計算提供的服務,自由地選擇學習內容和學習方式,更好地利用信息資源和服務。另一方面,教育管理機構和教育科研工作者能更好地管理教學資源、開展教學設計、優化教學過程。但是傳統的網絡學習環境研究大都集中于功能或特性的移植,即從一個平臺學習新的技術,到另一平臺重新實現和集成,未涉及執行核心,沒有從根本上解決大數據分析問題。
云計算,尤其是大數據的運用,給網絡學習帶來最大福利是成本降低,使計算機資源使用模式得以改變。根據谷歌的云計算模式,網絡學習的用戶所需的應用程序并不運行在用戶的個人計算機、手機等終端設備上,而是運行在互聯網上大規模的服務器集群中。用戶所處理的數據也并不存儲在本地,而是保存在互聯網上的資料中心里,由云計算將分散的資源集中利用。然而大數據時代真正要讓現有分散的網絡學習平臺和資源“無縫鏈接”,真正使用戶使用有“直通車”效果,卻面臨著數據異構帶來的挑戰。
二、大數據時代異構數據的挑戰
所謂大數據是數據本身連同采集工具、平臺和分析系統的總稱。通常認為大數據有四大特征,稱為“四V”特征:
(1)量大(Volume Big)。數據量級已從TB發展至PB乃至ZB,可稱海量、巨量乃至超量。
(2)多樣化(VariableType)。數據類型繁多,涉及文本、圖片、視頻、圖像與位置信息等半結構化和非結構化數據信息。
(3)快速化(Velocity Fast)。數據流往往為高速實時數據流,而且往往需要快速、持續的實時處理;處理工具涵蓋軟件工程及人工智能等。
(4)價值高和密度低(Value High and Low Density)。以視頻安全監控為例,連續不斷的監控流中,有重大價值者可能僅為一兩秒的數據流;360°全方位視頻監控的“死角”處,可能會挖掘出最有價值的圖像信息。
在大數據時代,數據庫趨向集中化、大型化,但應用向著分散化、小型化的方向延伸。對于當前網絡學習平臺而言,所需數據源來自許多分布的數據庫,但實際操作數據只是涉及其中緊密相關的少量數據。這些數據又必須與中心數據庫保持數據一致,這就帶來數據一體化更新維護的困難。因此讓互聯網這片“云”成為每一個學習者的資料中心和計算中心,必須提供安全、快速、便捷的數據存儲和網絡計算服務,可見數據存儲與網絡計算一樣在整個云體系中扮演著種要的角色。因此在大數據運用中,快捷方便的云存儲是實現有效云計算的關鍵。一般來講,云存儲一般包含兩個含義:
(1)云存儲是云計算的存儲部分,即虛擬化的、易于擴展的存儲資源池。用戶通過云計算使用存儲資源池:
(2)云存儲指作為一種服務,通過開放互聯網接口,使得第三方網站可以通過云存儲提供的服務為用戶提供完整的Web服務,包括用戶直接使用存儲相關的在線服務。
盡管大數據時代的云存儲和云計算為網絡學習創造了機會,目前的情況是,各網絡學習系統和資源庫多平臺運行、數據庫模式各不相同、用戶的數據分散的,數據被割裂在不同的設備上、多方式種運行等弊端,不僅造成資源浪費重疊,同時也造成網絡資源和數據無法共享,平臺之間信息交流和共享十分困難,以致形成信息孤島,這些阻礙了云計算環境下網絡學習的進一步開展。
1.數據的多源異構性
專家發現,互聯網中以關系數據庫的方式存在的數據只占全部數據的10%,許多數據分布的形式如文件系統、數據庫系統、分布在Web中的數據等等,網絡中存在著各種分布式具有異構性的數據源。
所謂的異構數據是指在數據管理和訪問中存在的異構性問題,如系統異構、數據源異構、語義異構等。多源異構數據產生原因及表現形式主要有以下幾點:
(1)系統異構性,即數據源所依賴的業務應用系統、數據庫管理系統乃至操作系統之間的不同構成了系統異構。
(2)模式異構性,即數據源在存儲模式上的不同。目前數據存儲模式以關系模式為主,此外還有對象模式、對象關系模式和文檔嵌套模式等幾種,不同的模式在結構上存在著差異,即便是同一類存儲模式,模式結構可能也存在著差異。例如不同的關系數據管理系統的數據類型等方面并不是完全一致的,如DB2、Oracle、Sybase、Informix、SQL Server、Foxpro等。
(3)數據來源和存儲結構多樣性。數據源異構是指數據來源不僅是結構化的數據,還包括半結構化和非結構化的數據,如XML文檔和圖片等數據。此外數據獲取方式多樣性也會造成內部數據源和外部數據源之間的異構,此外,存儲媒介的不同也會造成數據在存儲結構表現形式上呈現多樣性特征。
(4)多語義性,研究對象的多種類型決定了數據的多語義性。在現實世界中,即是相同的業務對象在側重不同問題的重點時,往往會導致語義多樣性。如相同概念用不同的詞匯來表示,如同一個屬性,有的系統中定義為姓名、有的定義為名字:相同數據資源結構不同,如有的系統中姓名保存為一個字段,有的系統中姓、名分為兩個字段;語義的異構可能會引起表沖突、值沖突、屬性沖突等問題。
(5)多時空性和多尺度性,有些數據具有較強的時空特性,一些數據源可能是不同時間和不同空間的數據集成。
2.物聯網技術崛起對異構數據采集的挑戰
傳統的基于互聯網資料查找和分析的學習中,往往存在著因學生過度依賴網絡資源而造成的獨立思考不完全、科學探究不充分和證據獲取不可靠等問題,因此無法達到通過探究性學習培養良好科學素養和創新精神的最終目標。而物聯網技術通過采用技術手段唯一標識探究對象、以無線傳感器感知探究對象、通過社交網絡分享和討論探究對象變化細節等環節,可以更好地感知世界,從而完成探究性學習的目標。
物聯網是在任何時間,任何地點,任何互聯網絡上,通過Web應用程序轉移和對更廣泛的數據的集成,為用戶提供無障礙服務的概念。伴隨著物聯網應用及其關鍵技術的不斷涌現,物聯網數據采集的感知設備種類、用戶終端的種類日益繁多,用戶與平臺的交互模式也日益豐富。
由于云存儲系統是基于互聯網技術而生,都是以小圖片流、小視頻流等小文件數據為主要存儲對象。但在物聯網中,需要對海量的圖片流及視頻流等數據進行反復的存取,因此物聯網中數據異構型體現在以下幾個方面:
(1)各個獨立的數據源具有不同的獲取方式,且分布在不同地理位置的,具有自治性。
(2)這些數據源在存儲模式、結構和意義上存在巨大差異。由于物聯網業務平臺中各種傳感器網絡日益增多,如掌上電腦、智能手機等等,且各種傳感網提供不同格式的數據。但是目前沒有統一定義的格式標準,不同廠家傳感器收集的數據格式不盡相同。同時每個數據源即使用于相同的應用領域,也既存在結構化數據,也有半結構化數據,不同的存儲模式,其結構的差異也很大。因此必須隨時根據各個數據包的不同格式,解決語義和語法上的差異性,然后再集成并融合數據源。
(3)數據源不僅是海量的,而且常常是實時的和動態的。因此,收集所有數據到一個集中的位置來分析變得非常困難。
由此可以看出,物聯網數據異構性問題更加突出,問題更為復雜,對其產生的海量異構數據造成的信息冗余進行及時的處理變得尤為關鍵。
三、關鍵技術和策略
可見,云計算時代,由于各種原因造成的網絡學習平臺中存在的數據異構對用戶的數據存儲和計算造成極大不便。
一方面,由于包括物聯網在內大量新技術的采用,導致數據來源不同,數據表達方式多樣:其次,各個信息管理系統相對獨立運行,致使不同網絡教學平臺數據更新不一致。這樣,針對同一信息的查詢就出現了差異,難以確保信息的準確性,從而導致信息的有效性受到影響。
另一方面,信息共享困難。由于各網絡學習平臺的物理相對獨立性、數據庫系統的不一致、沒有統一的數字接口等諸多因素,使得各網絡學習系統之間不能實現信息的共享。
數據實時采集、處理及融合的目的就是針對各種分布異構的信息系統中的數據信息進行抽取、轉換與融合,建立一個穩定的集成環境,為用戶提供統一信息存取接口。如果不能將異構數據源中的冗余數據進行完整、正確、實時處理,不僅僅浪費了大量學習資源,還導致用戶多樣性、個性化學習需求無法得到滿足。
1.系統構成
集成后的異構數據對學習者來說是統一的和無差異的,它為用戶提供統一的訪問數據源訪問接口,執行用戶的訪問請求,透明有效地對數據進行操作,進而實現全面的數據共享需求實現數據集成的系統稱為數據集成系統,
因此異構數據共享系統的建設,關鍵在于共享平臺的建設。數據共享平臺架構由數據層、數據服務層和應用層組成。如圖1所示:
數據層包括異構的各種數據源,數據服務層提供各種數據服務,應用層則包括瀏覽器、業務系統和第三方系統等。
擁有數據資源的部門或個人可以往平臺上提交自己的數據資源,需要數據資源的一方可以到該平臺上挑選自己需要的數據,包括如下部分:
(1)數據層:這個庫用來收集并存放用戶的共享數據,包括小型的文件數據和結構化數據,大型文件數據存放在數據擁有者的機器里。
(2)數據服務層,即數據統一服務系統,是該平臺的核心,包括三個主要部分:
元數據庫:其任務是通過數據采集服務,將底層數據資源的描述信息注冊到平臺中形成元數據庫,用來存放用戶的共享數據的元數據。內容對所有部門和個人開放,需要數據的人在這個庫里進行信息檢索。
數據統一規范系統:為了保證提交數據是有效的,還承擔著對提交共享數據的用戶,檢查數據的完整性和合法性的任務。該系統包括服務器、數據檢查軟件。
安全控制系統:為了保障共享數據和元數據的安全,需要建設相應的保障體系。保障體系包括硬件設備和制度措施。
(3)應用層則包括瀏覽器、業務系統和第三方系統等。
2.相關理論和關鍵技術
隨著學習者的需要,特別是多媒體技術的廣泛采用,在學習過程中需要把電子郵件、多媒體文件、附件等等都包含在一個系統中,以減少系統的重復投資。在以前的數據庫中,一直強調數據的標準化。在以前,數據庫主要管理的是結構化的數據,數據是以行與列的二維形式進行存儲。若需要實現三維數據,如數據倉庫等等,都要根據一定的規則對數據庫進行疊加才能夠完成。
因此解決異構數據,最突出的表現就是完成從二維表存儲方式到多維數組的存儲方式的轉變。采用多維數組技術,不但可以把語音文件等異構數據存入到數據庫中,而且數據庫管理員可以利用SQL語句,像管理同構數據那樣,對多媒體文件、附件等異構數據進行操作,使得異構數據能夠像結構化數據那樣進行管理、查詢等包括新建、刪除、更新等等。
當前大數據處理系統不管結構如何復雜,采用的技術如何千差萬別,但是總體上總可以分為以下的幾個重要部分。如圖2所示。
從圖中的流程可以看到,在大數據環境下需要的關鍵技術主要針對海量數據的存儲和海量數據的運算。由于當前絕大部分網絡學習平臺是基于關系數據庫開發的,其關系數據庫模型難以表達復雜的嵌套需要以及支持數據類型有限,因此研究者從數據模型入手而提出非結構化數據庫。
(1)noSQL技術的崛起
與傳統的關系數據庫模型相比,非結構化數據庫是全面基于因特網應用的新型數據庫理論,它突破了關系數據庫結構定義不易改變和數據定長的限制,支持重復字段子字段以及變長字段并實現了對變長數據和重復字段進行處理和數據項的變長存儲管理,在處理連續信息(包括全文信息)和非結構信息(重復數據和變長數據)中有著傳統關系型數據庫所無法比擬的優勢。從應用角度主要分為操作型noSQL技術和分析型noSQL技術。
操作型(operational)noSQL技術:依據存儲模型,操作型noSQL技術可劃分成基于Key Value存儲模型、基于Column Family(列分組)存儲模型、基于文檔模型和基于圖模型的noSQL數據庫技術4類。其中值得一提的是,基于Graph存儲的noSQL技術。眾所周知,隨著社交網絡、科學研究(藥物、蛋白質研究)以及其他應用領域不斷發展的需要,更多的數據以圖作為基礎模型進行表達更為自然,而且這些數據的數據量是極其龐大的,比如,Facebook擁有超過8億的用戶,對這些用戶的交互關系進行管理、分析是極大的挑戰。這些分析不僅僅是根據一定的條件查找圖的節點或者圖的邊,更為復雜的處理是在圖的結構上進行分析,比如社區的發現等。
面向分析型應用的noSQL技術(MapReduce):面向分析型應用的noSQL技術主要包括MapReduce和Dryad。MapReduce技術是由Google公司提出來的,旨在解決大規模非結構化數據快速批量處理的并行技術框架。近幾年來,MapReduce技術成為大數據分析的事實標準。MapReduce是一種用來處理數據的編程模型,用于并行處理大規模數據集,它將任務分成更多更細的子任務并且通過這些子任務在空閑的處理節點之間進行調度,快速處理數據,最后按照特定的規則,合并生成最終的結果,優勢在于處理大量數據集。在Google,MapReduce用在非常廣泛的應用程序中,包括“分布grep、分布排序、Web連接圖反轉、每臺機器的詞矢量、web訪問日志分析、反向索引構建、文檔聚類、機器學習、基于統計的機器翻譯……”值得注意的是,MapReduce實現以后,它被用來重新生成Google的整個索引,并取代老的adhoc程序去更新索引。
(2)NoSQL的優勢
易擴展:NoSQL數據庫種類繁多,但是一個共同的特點都是去掉關系數據庫的關系型特性。數據之間無關系,這樣就非常容易擴展,同時在架構的層面上帶來了可擴展的能力。
大數據量,高性能:NoSQL數據庫得益于它的無關系性,數據庫的結構簡單,具有非常高的讀寫性能,尤其在大數據量下,同樣表現優秀。一般MySQL使用Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對Web2,0的交互頻繁的應用,Cache性能不高。而NoSQL的Cache是記錄級的,是一種細粒度的Cache,所以較之關系數據庫具有極高的性能。
靈活的數據模型:NoSQL無需事先為要存儲的數據建立字段,隨時可以存儲自定義的數據格式。而在關系數據庫里,增刪字段是一件非常麻煩的事情,特別是非常大數據量的。這點在大數據量的Web2.0時代尤其明顯。
高可用:NoSQL在不太影響性能的情況,就可以方便的實現高可用的架構。比如Cassandra、HBase模型,通過復制模型也能實現高可用。
3.異構數據的集成
集成是一種應用于異構數據源的集成方法,從整個異構數據交換平臺來看,主要實現的是從一個數據庫數據發布到另一個數據庫數據訂閱接收的一個流程,具體的可能是一對一、一對多或者多對一的情況,例如Sql 2005采用復制功能將數據或數據庫對象從一個數據庫復制和分發到另外一個數據庫,并進行數據同步,從而使源數據庫和目標數據庫保持一致。目前異構數據集成主要有三種方法,即數據的表示及格式轉換、數據互操作和直接數據訪問模式。
(1)數據的表示及格式轉換
數據格式轉換就是將其他格式的數據文件轉換成當前應用的數據格式,并保存到當前軟件數據庫。許多軟件為了實現數據與其他軟件共享,特別提供了明碼交換格式,但是由于缺乏對象的統一描述方法,轉換后的數據不能完全準確地表達原數據的信息,易造成屬性信息丟失,也就無法直觀地展現出大數據本身的意義。而在一種不合適的數據表示中尋找大數據的固定模式、因果關系和關聯關系時,可能會落入固有的偏見之中。因此要想有效利用數據并挖掘其中的信息或知識,必須找到最合適的數據表示方法。
(2)數據互操作方法
互操作本義是指系統間的兼容性,如今其外延已擴展為數據的集成,即異構數據在傳輸中可達到共同的語義理解,可整合為一個整體對外提供服務;與服務的集成,指異構的程序及軟件模塊間可進行透明的交互。當前信息技術領域從不同層面不同角度對互操作技術展開了深入研究,有基于格式轉換的跨庫檢索技術、數據倉庫與數據挖掘,基于協議的Z39.50、OAI、Webservices等。而最近興起的OpenGISConsortium(OGC)是一種新的數據共享規范,可在異構數據庫和分布計算的情況下,幫助用戶相互理解并能透明地獲取所需的信息。其工作流程是通過數據服務器相應數據客戶的請求,向數據客戶提供服務,最終數據客戶能夠讀懂任意數據服務器提供的空間數據,當然這些數據服務器提供的數據是基于OGC規范的。但是目前非OGC規范的空間數據占據已有空間數據的主題,數據互操作方法在數據集成上還存在一定的局限性。
(3)直接數據訪問
直接數據訪問指的是在軟件中實現對其他格式的數據的直接讀取和操作,該方法對用戶要求較高,需要使用者熟悉宿主軟件格式并編寫相對應數據的數據引擎。微軟在2005年推出Microsoft數據訪問組件(MDAC),通過Microsoft數據訪問組件(MDAC),開發人員可以連接到種類繁多的關系和非關系數據源,并且使用這些數據源中的數據。用戶還使用AcfiveX Data Obiects(ADO)、開放式數據庫連接(ODBC)或OLE DB連接到很多個不同的數據源通過由Microsoft生成和交付或者由各種第三方開發的提供程序和驅動程序完成該操作。通過當前的MDAC體系結構,客戶端一服務器應用程序、n層應用程序或Web瀏覽器應用程序可以訪問SQL、半結構化存儲和舊式數據存儲區。另外,通過MDAC(并根據不同的需求),這些應用程序可以使用ADO、OLE DB或ODBC靈活地訪問數據。
此外,大數據的獲取、通信、存儲、管理與分析處理都需要消耗大量的能源。在能源問題日益突出的今天,研究創新的數據處理和傳送的節能方法與技術是重要的研究方向。
四、結語
正如黎加厚教授所言:不遠的將來,隨著“云計算”的發展,為實現全球數據信息提供機會。但是當前開發平臺、工具的異構性和緊耦合性導致了大量的教育資源系統之間不能互聯互通、資源共享與軟件復用,
“信息孤島”現象依然普遍存在。
值得一提的是,當前關于大數據研究很大程度上集中在以“云計算”為核心的相關計算機技術與軟件的開發上,在如何把“大數據研究”應用于實際的學科領域,或者說如何指導網絡學習和教學實踐工作應對“大數據環境”的研究,還有待于進一步探討。