張鴻洋,陳 健,翟 梅
(陜西師范大學 計算機科學學院,陜西 西安 710062)
基于Mashup的個性化移動學習平臺
張鴻洋,陳 健,翟 梅
(陜西師范大學 計算機科學學院,陜西 西安 710062)
在學習者進行移動學習的過程中,學習資源是核心,而Mashup能夠對網絡上現有學習資源進行整合,可以很好地解決學習資源、服務的分散問題。將Mashup的方式應用到移動學習的領域可以更好地幫助學習者實現隨時隨地的學習。因此,文中在移動學習中引入Mashup技術,構建了一個學習平臺。利用該平臺聚合廣義分布的網絡學習資源,實現資源的自動抓取、解析,同時提供可視化編輯器,可以方便地對平臺的數據源進行擴充,使該平臺具有高度的靈活性和擴展性。此外,平臺可以有效地與移動終端結合,學習者可以隨時隨地對平臺中的資源進行訂閱和訪問。重點描述了平臺的整體架構、組成模塊、對移動設備的支持以及數據模型的設計;基于原型系統的案例分析驗證了平臺的可用性。結果表明,該平臺可以極大地提高學習者對于資源獲取的效率,滿足學習者個性化學習的需求,有效提升了學習者的積極性和自主學習能力。
移動學習;聚合;個性化;移動應用
伴隨著計算機網絡技術、移動通訊技術的發展,“隨時隨地、無處不在”的學習方式正在為人們所重視。移動學習模式[1]為學習者提供了開放的、不受時空限制的虛擬學習環境,使得自主學習成為可能。在知識經濟時代的今天,全民學習、終身學習的學習型社會已經形成,人們的學習活動已經不再局限于學校學習,人們開始關注如何更好地利用自己工作、生活中的零碎時間進行知識和技能的補充和提高。
但是由于網絡資源、服務的分散分布以及增長速度的迅猛,學習者很難輕松地根據自己的需求去個性化定制自己所需的學習資源[2]。Mashup技術的出現能夠很好地解決資源、服務的分散問題。
Mashup,計算機中的意思為聚合,其應用是指聚合多種多樣的外部數據源格式(如公開的API、XML/RSS/Atom、Web服務和HTML等),形成具有統一體驗的互聯網應用或者網站[3]。它使得人們獲取數據和服務的途徑變得簡單易行。近年來,各大廠商紛紛開放各自的數據API,根據世界上最大的API庫ProgrammableWeb.com的統計,API的數量已經達到了13 194個,而且這個數字每日都在增長。
基于Mashup的開發方式,相對于傳統的互聯網開發應用而言,對于開發者的編程技能和經驗要求較低。而且,許多公司都推出了Mashup應用開發平臺[4],例如Yahoo Pipes、IBM Mashup Center等。Yahoo Pipes提供拖拽的方式,將不同網站的XML格式的輸出內容作為數據源,利用Pipes提供的模塊對數據進行一系列的加工,最終構建出用戶想要的Mashup應用。IBM Mashup Center是針對企業的Mashup平臺,包含信息加工組件InfoSphere MashupHub,和信息組裝、使用組件Lotus Mashups。前者實現根據企業信息創建Feeds,后者基于瀏覽器的使用方式,并提供大量的Widgets用于組建Mashup應用。
然而,現有的Mashup應用開發平臺并不能滿足普通學習者的使用,它需要學習者有一定的計算機背景,需要用戶自己去挖掘可用的API、Feeds等,甚至需要了解Feeds文檔的格式。面對互聯網數以萬計的API、資源等,使用者無法輕松地找到合適的資源。此外,現有的大多數Mashup應用開發平臺創建出的Mashup應用,都是以網頁的形式作為應用,沒有對移動設備做適當的優化處理,并不能很好地適用于手機等移動設備[5],而隨著移動終端的普及,越來越多的學習者開始通過移動終端進行學習。
根據以上的分析,文中搭建了一個學習平臺,利用Mashup技術聚合網絡優質的學習資源、服務等作為數據源,考慮到移動設備訂閱與良好的展現資源,需要合理設計數據展示模型。同時考慮到網絡資源增長的迅速,需要提供非常良好的擴展性對新增加的API提供支持。
根據以上的需求,文中將Mashup技術應用到移動學習的領域,提出一個基于Mashup的個性化移動學習的基本架構。基于此架構,可大大簡化學習者對于海量網絡學習資源和服務的獲取。同時結合移動設備使用,學習者可以對學習資源進行定制,更好地滿足學習者的個性化需求。
1.1 Mashup體系結構
Mashup的應用模型是一個三元模型,包括:資源/服務提供者、Mashup服務器和Mashup客戶端,如圖1所示。

圖1 Mashup體系結構
其中資源/服務提供者可以是開放API的網站或者任何提供用戶所需數據的網站,它的作用是向Mashup服務器提供Mashup集成所需要的信息內容;Mashup服務器將獲得的資源/服務封裝成標準的組件,同時對Mashup客戶端開放對于資源/服務的調用;Mashup客戶端則選擇相關資源/服務將其聚合到自己的網站或者應用系統中,并最終通過圖形化的方式呈現出Mashup應用結果。
在Mashup的三元模型之上去建立一個平臺需要:首先,Mashup服務器對資源/服務提供者提供的各種資源/服務進行獲取、解析成平臺可用數據;其次,平臺將可用數據封裝成標準化的組件,并對Mashup客戶端提供開放的調用接口;最后,Mashup客戶端通過訂閱/自定義的方式對Mashup服務器上的組件進行獲取,最終以圖形化的方式展示供用戶使用。
1.2 Mashup資源獲取的方式
Mashup資源獲取方式是指對Mashup內容提供者公開的資源/服務通過相應的技術進行獲取。當前主要的Mashup資源獲取的方式有Web Feed、Open API、REST協議、屏幕抓取等方式。
1.2.1 Web Feed方式
Web Feed基于XML,可以用于用戶在不添加任何表現層內容的情況下在Web上發布內容。Web Feed是一種非常高效的信息分發的方式,典型代表包括RSS和Atom,凡是通過Feed方式對數據進行獲取的程序都可以叫做聚合器或者Feed閱讀器。
在Mashup中,Feed的使用非常廣泛,例如Yahoo公司的Yahoo Pipes就是利用一個可視化的編輯器對Feed數據進行混合來創建Mashup頁面。這個可視化編輯器,可以讓非程序員用戶輕松使用該服務,完成數據的聚合。
1.2.2 Open API方式
這種Mashup資源獲取技術是指內容/服務提供者發布自己的公共接口API。Mashup服務器需要某個內容提供者的數據/服務時,一般通過SOAP協議來請求數據/服務。Mashup內容/服務提供者在收到Mashup服務器的數據請求以后,就會把對應的數據返回。每個API都會包含一定的調用格式以及參數規范說明,調用者只需要根據對應的規范,就可以獲得相應的資源或者服務。不過,因為調用API需要通過SOAP協議,而這一協議需要調用者熟悉WSDL等服務描述與發現機制,因此使用具有一定的復雜性。
1.2.3 REST協議方式
由于Open API方式使用的復雜性,以REST協議獲取資源的方式逐漸興起。REST協議提供了一種更加簡單的方式來獲取資源,它不需要內容/服務提供者提供公共接口的API,而是以資源的角度來看待互聯網,在基于REST的Web Service中,每個資源都是由一個唯一的URI進行標示,當接收到Mashup服務器發送的請求時,根據該URI決定如何響應。
由于REST協議的簡單、可伸縮性等特點,越來越多的服務提供商開始提供對REST的支持,例如Google、Yahoo、Amazon等。
1.2.4 屏幕抓取方式
由于還有很多的公共數據并沒有提供開放的方式對其數據進行獲取,此時Mashup服務器可能需要通過屏幕抓取技術解析網頁中相關HTML頁面的結構,以編程的方式從中提取需要的數據,完成數據的聚合。
屏幕抓取技術適用的范圍非常廣,但是也存在一些內在的缺點。首先,與使用開放API不同,抓取并不是建立在與內容發布者的合作機制上,且還會對目標的網頁結構形成依賴。當內容提供者周期性地修改目標網頁的結構時,抓取的代碼很可能失效,給抓取者帶來一定的維護任務。此外,并沒有成熟的屏幕抓取工具,因為網頁信息及其結構的差異性,機器并不能做到完全的自動處理,因此對于不同的頁面需要去設計不同的抓取規范。
在該平臺構建的過程中,根據Mashup構建技術的特點,可以劃分為不同的層次[6],分為資源層的Mashup、集成層的Mashup以及展示層的Mashup[7]。
2.1 資源層Mashup
資源層的Mashup,即通過RSS、Atom、WebService[8]、爬蟲、屏幕抓取[9]等技術將異構的數據源進行獲取。該平臺中的數據源包含Wiki、Blog、精品課程、詞典庫、Open API等,由于網絡資源增長的迅速,平臺也會提供方便的擴展接口,用于擴展數據源。資源層Mashup如圖2所示。

圖2 數據層Mashup
2.2 集成層Mashup
集成層的Mashup,即將獲取到的異構數據,進行解析、提取、篩選、組合入庫,然后根據此流程形成的數據進行平臺實現。
2.3 展示層Mashup
對于移動設備的顯示,比如Android設備,展示層Mashup由多個控件拼合而成。每個控件代表一個欄目,比如Blog、Wiki等,控件的形狀一般為矩形區域,類似手機桌面的launcher。該平臺中,展示層Mashup頁面,可以根據學習者的興趣自行訂閱,應用程序會根據學習者的訂閱情況自動生成Mashup頁面,從而滿足每個學習者不同的需求。展示層Mashup如圖3所示。

圖3 展示層Mashup
3.1 總體設計
首先,通過Mashup編輯器錄入數據模型,數據模型包含數據抓取、數據解析、數據展示所需要的schema。該數據模型包含了數據源的位置、抓取需要的參數以及抓取的深度等,包括了解析的方式、規則,以及數據最終在移動設備上展示的規則。模型建立完成以后,系統將自動根據該模型去抓取、解析數據,最終將異構數據源轉化為可用數據存到平臺中。接下來,用戶下載平臺提供的移動設備的應用程序,該程序支持欄目訂閱,自行定制Mashup應用。在日常的使用過程中,平臺接收并解析移動設備發出的請求,根據請求進行發送響應數據,一般返回數據包含用戶請求的數據以及數據模型中的展示schema。移動端,會根據展示schema控制數據的顯示以適用于移動設備。在用戶使用過程中,會記錄用戶的使用習慣、興趣等,在平臺為用戶建立興趣模型,最終通過興趣模型,實現為用戶進行智能推送[10]。平臺架構圖如圖4所示。

圖4 平臺架構圖
平臺能夠根據數據模型,自動通過不同的方式,獲取異構的數據源,最后解析成本系統可用的結構化數據。并且能夠供移動設備使用,而移動設備友好的展示數據,也需要數據模型的支持。
3.2 數據模型
Mashup將不同的數據進行整合使用,這些數據通常有著不同的結構,不同的獲取方式。如何將這些異構數據整合入系統,如何解決將數據在移動設備的app上友好展示。對于異構數據的獲取[11],需要通過不同的獲取技術以及使用不同的方式進行解析。而對于將數據在用戶的移動設備的app中友好的展示,需要通過一定的描述文件對其組件的顯示進行控制。對于以上兩個問題,定義了數據schema來控制整個平臺數據的獲取、解析、展示。
3.2.1 數據獲取
對于Mashup獲取數據的來源,主要有Open API、RSS、Atom、屏幕抓取、爬蟲、WebService等。針對不同的數據源,需要不同的schema控制其抓取的過程。抓取的schema定義如下:
{url,parameters,deep}
抓取的schema為一個三元組,url定位獲取數據的位置,parameters提供數據獲取時所需的參數,deep則控制數據獲取的深度。
3.2.2 數據解析
Mashup所使用的數據交換格式,一般情況下為兩種:相似的基于XML的文檔格式和JSON。比如RSS、Atom返回的數據基于XML的文檔格式;屏幕抓取,爬蟲返回的數據一般為HTML,而HTML的基本數據格式與XML類似,也能夠輕松轉化為XML的格式;Open API、WebService返回的數據則一般為XML、JSON。
針對不同的數據交換格式,需要通過不同的解析器將其解析成平臺中的可用數據。數據解析的schema定義如下:
{method,nodes,node-relation}
解析的schema為一個三元組,method決定解析所選擇的方式,nodes為所需要解析得到的節點,node-relation為節點間的關系。
3.2.3 數據展示
為了將平臺中的數據可以友好地在移動設備中進行展示,并且可以提供動態擴充欄目的支持,對于每種類型的欄目,移動設備上展示方式都需要進行設計。首先在移動設備的app布局中預設盡可能多的組件供數據顯示,默認為隱藏狀態。根據服務器返回的數據對其進行控制顯示。數據展示的schema定義如下:
{keys,properties,elements}
數據展示的schema為一個三元組,keys包含了app端布局文件中組件的唯一的標識符集合,elements為返回的結構化數據的集合,properties為返回的結構化數據的屬性集合,與keys集合一一對應,控制app端布局中的組件的顯示。
3.3 模塊設計
(1)數據處理模塊:負責根據上述的數據模型,將異構的數據源通過不同方式進行獲取以及解析成系統可用的結構化數據。
(2)用戶模型:對于基于Mashup組成的數據源,其數據種類繁多,最基本的要求必須滿足用戶訂閱。所以用戶模型除了基本信息以外,包含訂閱的相關數據。系統中引入興趣Tag[12],可以很好地用于智能推送,以及計算用戶間的興趣相似度,進而根據相互相似度匹配推送。
(3)分發處理模塊:分發處理模塊中包含解析請求、數據分發和智能推送。一方面解析用戶發來的請求,并實時給予反饋,與移動設備端協作[13];另一方面根據用戶的興趣、瀏覽信息等,對用戶的興趣進行挖掘,從而實現智能推送。
(4)可視化編輯模塊:主要用于系統的擴展,系統需要增加新的數據源,并且希望可以自動地實現從數據的抓取直至友好的供用戶訂閱。整個過程的核心是數據模型,而數據模型可以在此模塊進行可視化的編輯。
與傳統的網絡學習平臺相比,基于Mashup的個性化移動學習平臺讓用戶可以隨時隨地地學習網絡上現有的學習資源,充分體現移動學習的優勢。而對于用戶難以在龐大的網絡數據中進行篩選學習,該系統也通過欄目訂閱、興趣Tag等進行解決。具體的優勢如下:
(1)充分利用網絡中的學習資源。
使用Mashup聚合網絡學習資源,可以對網絡中種類繁多的異構資源進行采集、解析和利用,有效提高了學生對于資源的獲取能力。
(2)充分發揮移動學習的優勢。
用戶可以通過手機隨時隨地,自主地進行學習,有效地方便了學生對于知識獲取的途徑。
(3)充分發揮移動設備的優勢。
對于移動設備可以很好地對學習資源進行緩存,即使在無網絡的情況下,也可以進行離線資源的學習[14]。
(4)個性化學習環境。
由于學生個體間差異,移動終端的私有性可以更好地方便其定制,以及平臺提供智能推送功能,極大提高了用戶的學習體驗。
(5)完整學習行為的記錄。
學生在對應用的使用過程中,該系統可以完整地記錄學生的學習歷程,甚至獲取學習時間、位置等場景信息。這些數據既可以用于調整用戶學習的軌跡,也為學習者提供了一個完整的學習檔案。
4.1 數據交換格式的選擇
對于移動設備與服務器交互,一般選擇的數據交換格式為XML或者JSON。
XML(eXtensible Markup Language)用于標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,具有良好的可讀和便于快速編寫的特性,可在不同平臺之間進行數據交換。
對于二者,都易于解析,都可用于客戶端與服務器的交互。相比較而言,XML雖然從編碼可讀性上來看,具有明顯的優勢,該格式更貼近于人類的語言。但是對于應用與服務器之間的數據傳遞類型的選擇,考慮到移動設備的網絡帶寬比較低以及流量計費的問題,對于展示相同的數據,JSON占據的體積更小,傳遞的速度更快[15]。畢竟數據的解析過程與用戶無關的,所以這里采用JSON作為返回數據的格式。
4.2 設備與平臺交互流程
當數據在系統平臺中時,用戶可以通過手機或者其他移動設備安裝應用程序隨時隨地訂閱與查看這些數據。在移動端程序中提供了多種類型的布局,以滿足多種類型的數據在設備上友好的顯示。而對于數據的展示,會根據上述數據模型的數據展示schema對組件的顯示進行調節。
對于手機和平臺的通信流程:
(1)應用在首次使用時,向服務器發送請求,服務器返回數據所有的欄目數據。
(2)用戶選擇感興趣的欄目,然后將欄目節點信息發送到服務器對用戶模型進行完善,同時應用程序根據用戶的選擇生成Mashup主界面,緩存欄目數據。
(3)當用戶點擊主界面不同的欄目時,服務器分頁返回該欄目下的數據以及對應數據展示schema,客戶端依據返回的數據和schema調節組件進行顯示。
(4)平臺會根據用戶的基本信息、欄目訂閱以及瀏覽情況,對使用數據進行分析,從而為用戶推送興趣相近的欄目或者數據。
最終,移動設備Mashup頁面生成如圖5所示。

圖5 移動端Mashup頁面
文中介紹了一種基于Mashup的個性化移動學習平臺。利用Mashup將網絡上分散的學習資源聚合起來,供移動設備使用,實現學習者隨時隨地的學習。該平臺設計了完整的數據抓取、數據解析、數據展示的數據模型,實現數據的自動抓取、解析以及友好地在移動設備上進行展示。同時提供可視化編輯器,可以方便擴展平臺的數據源。對于學習者,可以自由訂閱欄目,系統會自動為其構建Mashup頁面,以滿足學習者個性化的需求。在學習者的學習過程中,系統會基于其訂閱情況以及學習過程的記錄,為其構建興趣模型,將該興趣模型作為智能推送的基礎。然而由于聚合的資源來源于網絡各處,該平臺尚未考慮資源間的關聯關系,以及學習者在移動學習的過程中如何引入情境化,可作為今后的研究方向。
[1] 李曉麗,王曉軍.移動學習模式探討及系統架構設計[J].北京郵電大學學報:社會科學版,2007,9(5):10-13.
[2] 李 春,朱珍民,葉 劍,等.個性化服務研究綜述[J].計算機應用研究,2009,26(11):4001-4005.
[3] 祁曉暉,鄭 滔.Mashup研究綜述[J].計算機應用,2010,30(S1):203-208.
[4] 紀姍姍,李 宇,周 強.Mashup工具的分析與研究[J].現代圖書情報技術,2010(1):41-45.
[5] 路 躍,劉旭東,孫海龍,等.MM:面向最終用戶的Mashup移動應用開發環境[J].計算機科學與探索,2012,6(3):237-247.
[6] 汪名森,王 強.Mashup系統構建研究[J].現代圖書情報技術,2009(5):34-38.
[7] Yu Jin,Benatallah B,Casati F,et al.Understanding Mashup development[J].IEEE Internet Computing,2008,12(5):44-52.
[8] 蘇會杰.基于REST和SOAP的Mashup平臺Web服務研究與實現[D].北京:北京郵電大學,2012.
[9] 李 峰,李春旺.Mashup關鍵技術研究[J].現代圖書情報技術,2009(1):44-49.
[10] 廖軼宸.基于移動網絡的混合型信息推送系統的研究[J].計算機工程與設計,2012,33(8):3268-3272.
[11] 魏 偉,陳正鳴,呂 嘉.基于Atom的個性化數據重用[J].計算機應用與軟件,2013,30(12):236-239.
[12] 易 明,曹高輝,毛 進,等.基于Tag的知識主題網絡構建與Web知識推送研究[J].中國圖書館學報,2011,37(4):4-12.
[13] 王 輝,高成英,劉 寧.服務器端Mashup開發平臺的設計與實現[J].計算機工程,2010,36(10):262-264.
[14] 侯志鑫.移動學習環境下學習資源建設模式的研究[D].北京:北京交通大學,2014.
[15] 高 靜,段會川.JSON數據傳輸效率研究[J].計算機工程與設計,2011,32(7):2267-2270.
Personalized Mobile Learning Platform Based on Mashup
ZHANG Hong-yang,CHEN Jian,ZHAI Mei
(Schoolof Computer Science,Shaanxi Normal University,Xi’an 710062,China)
Learning resources are regarded as the critical point for learners in their process of mobile learning.And the Mashup,which is able to integrate the existing learning resources on the network,can solve the problems of dispersion in the aspect of learning resources and services in an efficient way.Also,it can better assist the learners to study whenever it is and wherever they may be when applying the way of Mashup to the field of mobile learning.Hence,the technique of Mashup in mobile learning was introduced in this paper to construct a learning platform,and the automatic crawls as well as analysis for resources can be realized by using the platform to aggregate the web-based learning resources of generalized distribution.Also,it provides a visual editor to extend data sources more convenient,which makes the platform has a high degree of flexibility and scalability.In addition,platform can be effectively combined with the mobile terminal,so that learners can subscribe and access the resources through mobile devices anytime and anywhere.In this paper,the overall architecture,the composition modules,the support for mobile devices,as well as the design of the data model were described in details.Then,it customizes a trial application to verify the availability of the platform.The results show that the platform can greatly improve the efficiency of resource acquisition for learners,and meet the needs of learner individualized learning,effectively improving the learner’s motivation and self-learning ability.
mobile learning;Mashup;personalization;mobile application
2015-04-07
2015-07-09
時間:2016-01-04
國家自然科學基金資助項目(41271387);中央高校基本科研業務費專項資金(GK201503066);陜西高等學校教學改革研究項目(13BY23)
張鴻洋(1991-),男,碩士研究生,研究方向為電子服務、電子學習;陳 健,博士,副教授,CCF會員,研究方向為電子服務、服務工程、軟件工程。
http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1453.010.html
TP39
A
1673-629X(2016)01-0027-06
10.3969/j.issn.1673-629X.2016.01.006