石文兵,葛 斌
安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽淮南,232001
數(shù)字化校園網(wǎng)站群管理平臺(tái)下數(shù)據(jù)傳輸序列化模型的研究
石文兵,葛 斌
安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽淮南,232001
針對(duì)傳統(tǒng)校園網(wǎng)站通常無法實(shí)現(xiàn)站點(diǎn)間的數(shù)據(jù)交互,普遍存在設(shè)計(jì)重復(fù)和信息孤島等問題,對(duì)網(wǎng)站群管理平臺(tái)下的數(shù)據(jù)傳輸結(jié)構(gòu)進(jìn)行了分析,對(duì)集中式結(jié)構(gòu)和分布式結(jié)構(gòu)下的數(shù)據(jù)傳輸模式進(jìn)行了研究,采用數(shù)據(jù)序列化算法構(gòu)建了一種數(shù)據(jù)傳輸序列化模型,并且在模擬終端進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)表明,該數(shù)據(jù)傳輸序列化模型對(duì)站群間的信息共享和數(shù)據(jù)融合具有很好的效果,為站群間的數(shù)據(jù)傳輸層構(gòu)建了一種標(biāo)準(zhǔn)化的數(shù)據(jù)傳輸模型。
數(shù)據(jù)傳輸;序列化模型;網(wǎng)站群管理;數(shù)字化校園
目前,Web應(yīng)用系統(tǒng)發(fā)展迅速,它在為用戶提供高效快捷的網(wǎng)絡(luò)應(yīng)用服務(wù)的同時(shí),也面臨異構(gòu)信息系統(tǒng)之間數(shù)據(jù)交互頻繁所帶來的數(shù)據(jù)傳輸效率低下、數(shù)據(jù)傳輸格式不兼容的情況。數(shù)字化校園網(wǎng)站群管理平臺(tái)是通過資源整合與信息共享實(shí)現(xiàn)統(tǒng)一平臺(tái)網(wǎng)站集群化管理系統(tǒng)。當(dāng)前,高等學(xué)校的Web應(yīng)用系統(tǒng)普遍存在技術(shù)平臺(tái)不統(tǒng)一、規(guī)劃設(shè)計(jì)重復(fù)、信息孤島、工作流程和工作機(jī)制不合理以及維護(hù)升級(jí)困難等問題,網(wǎng)站群管理模式將是未來數(shù)字化校園的發(fā)展趨勢(shì)[1-2]。網(wǎng)站群管理平臺(tái)下,Web應(yīng)用系統(tǒng)之間通常存在數(shù)據(jù)互訪問、互傳輸?shù)挠脩粜枨?,如開放式實(shí)驗(yàn)預(yù)約系統(tǒng)要獲取教務(wù)管理系統(tǒng)中學(xué)生的基本信息和選課信息等。本文將對(duì)網(wǎng)站群管理平臺(tái)下的數(shù)據(jù)傳輸進(jìn)行分析,提出一種應(yīng)用系統(tǒng)之間數(shù)據(jù)傳輸?shù)男蛄谢P停訌?qiáng)系統(tǒng)間的信息融合,提高數(shù)據(jù)傳輸效率。
構(gòu)建網(wǎng)站群管理平臺(tái)的目標(biāo)是加強(qiáng)信息資源的共享和融合,消除數(shù)據(jù)冗余,提高數(shù)據(jù)傳輸效率。網(wǎng)站群管理平臺(tái)的建設(shè)是一個(gè)龐大復(fù)雜的系統(tǒng)工程,其核心任務(wù)主要包括兩個(gè)方面。
2.1 集中式統(tǒng)一站群平臺(tái)的構(gòu)建
在數(shù)字化校園中,很多部門網(wǎng)站結(jié)構(gòu)和功能相同,存在的差異主要是網(wǎng)站欄目、布局和主題風(fēng)格不同,這類網(wǎng)站的單獨(dú)開發(fā)設(shè)計(jì)導(dǎo)致校園網(wǎng)站建設(shè)質(zhì)量參差不齊、規(guī)劃設(shè)計(jì)重復(fù)、升級(jí)維護(hù)困難等問題,與數(shù)字化校園的發(fā)展趨勢(shì)相背離,對(duì)這類網(wǎng)站可以采用集中式統(tǒng)一站群架構(gòu)模式,數(shù)據(jù)集中存儲(chǔ),提供標(biāo)準(zhǔn)化的建站接口和分級(jí)管理權(quán)限。在該模式下,通過設(shè)計(jì)集中式數(shù)據(jù)傳輸層負(fù)責(zé)應(yīng)用系統(tǒng)間的數(shù)據(jù)傳輸,可以提高站群間數(shù)據(jù)的共享與融合[3]。
2.2 分布式站群的信息融合
在數(shù)字化校園網(wǎng)站群中,存在一些比較特殊或重要的Web應(yīng)用系統(tǒng),其運(yùn)行時(shí)間長(zhǎng)、系統(tǒng)結(jié)構(gòu)復(fù)雜,將整個(gè)系統(tǒng)遷移到集中式統(tǒng)一的站群平臺(tái)難度較大,并且系統(tǒng)遷移導(dǎo)致的不可預(yù)期的不穩(wěn)定因素可能影響正常的業(yè)務(wù)處理,對(duì)這類系統(tǒng)或網(wǎng)站最佳的管理方式是實(shí)施分布式站群的信息融合,保持各應(yīng)用系統(tǒng)物理上的獨(dú)立性,在邏輯上構(gòu)建共享集中的數(shù)據(jù)傳輸層,通過標(biāo)準(zhǔn)化的數(shù)據(jù)傳輸序列化模型,實(shí)現(xiàn)異構(gòu)系統(tǒng)間的數(shù)據(jù)互訪問、互傳輸[4]。
通過以上兩個(gè)方面的分析,網(wǎng)站群管理平臺(tái)下的數(shù)據(jù)傳輸體系結(jié)構(gòu)包括兩大模塊:集中式數(shù)據(jù)傳輸層和分布式數(shù)據(jù)傳輸層,如圖1所示。
3.1 JSON數(shù)據(jù)模式
在Web系統(tǒng)中,瀏覽器是數(shù)據(jù)傳輸與交互的客戶端,JSON是一種能夠使瀏覽器支持的JavaScript透明地處理服務(wù)器端傳輸數(shù)據(jù)的交互格式,它是JavaScript的子集,其數(shù)據(jù)存儲(chǔ)格式完全獨(dú)立于開發(fā)語言,在不同的計(jì)算機(jī)語言中可以被理解為記錄類型、結(jié)構(gòu)體或?qū)ο蟮龋瑢?duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)為“Name:Value”的有序列表,能很好地被JavaScript瀏覽器和高級(jí)語言支持,JSON數(shù)據(jù)成為網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)睦硐霐?shù)據(jù)交換格式,其主要的文法描述如表1所示。
圖1 數(shù)據(jù)傳輸體系結(jié)構(gòu)
類型語法格式描述說明object{},{members}object對(duì)象,對(duì)象可以包含成員membersstring:valuemembers,string:value成員可以是“name:value”或其他成員array[],[elements]數(shù)組中包含元素elementsvaluevalue,elements元素可以是基本類型或其他元素valuestring,number,array,object,true,false,null值可以是雙引號(hào)括起來的字符串、數(shù)值、true、false、null、對(duì)象或數(shù)組
3.2 數(shù)據(jù)對(duì)象的序列化
在數(shù)字化校園網(wǎng)站群管理平臺(tái)中,系統(tǒng)的設(shè)計(jì)采用J2EE架構(gòu),數(shù)據(jù)持久層采用Hibernate數(shù)據(jù)持久化技術(shù),系統(tǒng)內(nèi)部邏輯層次之間數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn)均為POJO對(duì)象,數(shù)據(jù)對(duì)象符合簡(jiǎn)單Java對(duì)象的規(guī)范。在集中式站群結(jié)構(gòu)中,數(shù)據(jù)存儲(chǔ)在中心數(shù)據(jù)庫中,站群之間的數(shù)據(jù)傳輸如果以Java數(shù)據(jù)對(duì)象為節(jié)點(diǎn),客戶端瀏覽器的JavaScript引擎將無法直接解析,并且不能實(shí)現(xiàn)站群間數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)化,因此在客戶端瀏覽器和服務(wù)器端構(gòu)建數(shù)據(jù)傳輸層就顯得十分必要[5-6]。集中式數(shù)據(jù)傳輸層的主要任務(wù)是對(duì)數(shù)據(jù)對(duì)象構(gòu)建序列化模型,實(shí)現(xiàn)標(biāo)準(zhǔn)化數(shù)據(jù)傳輸,從而提高站群間的通信效率和數(shù)據(jù)的融合,數(shù)據(jù)傳輸模型如圖2所示。
圖2 數(shù)據(jù)序列化傳輸模型
在以上數(shù)據(jù)傳輸模型中,服務(wù)器端生成的數(shù)據(jù)主要包括兩大類:基本數(shù)據(jù)類型和POJO對(duì)象數(shù)據(jù)類型,其中基本數(shù)據(jù)類型主要包括int、long、float、double、boolean、String等類型的簡(jiǎn)單數(shù)據(jù);POJO類型的數(shù)據(jù)是實(shí)體對(duì)象的封裝,包括私有的屬性和公有的get/set方法。該數(shù)據(jù)傳輸模型可進(jìn)一步描述為以下狀態(tài)轉(zhuǎn)移方程。
輸入集合I={Scalar,Object}對(duì)應(yīng)服務(wù)器端的兩種數(shù)據(jù)類型,Scalar代表基本數(shù)據(jù)類型,Object為POJO數(shù)據(jù)對(duì)象;狀態(tài)轉(zhuǎn)換函數(shù)f(x)對(duì)應(yīng)數(shù)據(jù)對(duì)象的序列化模塊,數(shù)據(jù)狀態(tài)集合D={JSS,JSO}表示JSON數(shù)據(jù)流,其中JSS為基本數(shù)據(jù)類型的JSON序列化格式,JSO為POJO對(duì)象的數(shù)據(jù)序列化格式。輸入數(shù)據(jù)和JSON數(shù)據(jù)流的轉(zhuǎn)換關(guān)系為:f(Scalar)=JSS,f(Object)=JSO。下面給出數(shù)據(jù)傳輸序列化的實(shí)例,圖3所示為服務(wù)器端生成的數(shù)據(jù)對(duì)象,得到的JSON序列化數(shù)據(jù)如圖4所示。
3.3 XML數(shù)據(jù)序列化
在數(shù)字化校園網(wǎng)站群管理系統(tǒng)中,數(shù)據(jù)的傳輸包括集中式結(jié)構(gòu)和分布式結(jié)構(gòu),集中式結(jié)構(gòu)數(shù)據(jù)統(tǒng)一存儲(chǔ)在中心數(shù)據(jù)庫中,數(shù)據(jù)傳輸層的對(duì)象序列化模塊很好地解決了站群間數(shù)據(jù)的共享與融合,實(shí)現(xiàn)了標(biāo)準(zhǔn)化數(shù)據(jù)傳輸。在分布式結(jié)構(gòu)中,各應(yīng)用系統(tǒng)在物理上是異構(gòu)的,系統(tǒng)間的數(shù)據(jù)傳輸存在一定的障礙,但這類應(yīng)用系統(tǒng)通常具有XML格式的數(shù)據(jù)訪問接口。XML數(shù)據(jù)具有良好的可讀性,側(cè)重于對(duì)信息內(nèi)容的描述,通常成為應(yīng)用系統(tǒng)間數(shù)據(jù)共享的有效手段,但XML數(shù)據(jù)存在大量冗余的標(biāo)簽,對(duì)系統(tǒng)間高效率的數(shù)據(jù)傳輸產(chǎn)生很大的影響,特別是移動(dòng)互聯(lián)網(wǎng)用戶的劇增,對(duì)數(shù)據(jù)的傳輸效率提出了更高的要求。因此,分布式數(shù)據(jù)傳輸層的核心任務(wù)是對(duì)XML數(shù)據(jù)進(jìn)行序列化,構(gòu)建分布式應(yīng)用系統(tǒng)間高效率的數(shù)據(jù)傳輸模式。
XML數(shù)據(jù)序列化主要對(duì)XML數(shù)據(jù)進(jìn)行壓縮,通過解析算法,將XML數(shù)據(jù)轉(zhuǎn)換為JSON數(shù)據(jù),消除冗余的XML標(biāo)記。JSON數(shù)據(jù)格式是一種輕量級(jí)的數(shù)據(jù)傳輸格式,JSON數(shù)據(jù)流與瀏覽器的JavaScript引擎具有很好的融合性[7]。XML數(shù)據(jù)可以采用樹形結(jié)構(gòu)定義,對(duì)XML的解析過程轉(zhuǎn)換為樹形結(jié)構(gòu)的遍歷,根節(jié)點(diǎn)的子節(jié)點(diǎn)直接解析為L(zhǎng)ist對(duì)象集合,子節(jié)點(diǎn)解析為L(zhǎng)ist集合中對(duì)象元素的屬性(屬性可以是基本數(shù)據(jù)類型,也可以是復(fù)合對(duì)象類型),XML數(shù)據(jù)序列化算法描述如圖5所示,輸出數(shù)據(jù)為JSON對(duì)象。
圖5 XML數(shù)據(jù)序列化為JSON對(duì)象
圖6 集中式結(jié)構(gòu)下數(shù)據(jù)對(duì)象序列化輸出顯示耗時(shí)對(duì)比
根據(jù)以上數(shù)據(jù)序列化模型的論述,在構(gòu)建的仿真模擬實(shí)驗(yàn)環(huán)境下,模擬終端挑選安徽理工大學(xué)校園網(wǎng)中具有代表性的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行測(cè)試,由于網(wǎng)絡(luò)環(huán)境因素的影響,實(shí)驗(yàn)數(shù)據(jù)存在一些波動(dòng),最終數(shù)據(jù)取多次試驗(yàn)的平均值。
圖7 分布式結(jié)構(gòu)下XML數(shù)據(jù)序列化數(shù)據(jù)量對(duì)比
圖6所示為集中式結(jié)構(gòu)下數(shù)據(jù)傳輸層序列化的JSON數(shù)據(jù)對(duì)象和原始數(shù)據(jù)對(duì)象輸出顯示到模擬終端的耗時(shí)對(duì)比,實(shí)驗(yàn)隨機(jī)選擇網(wǎng)站頁面,通過100次模擬取平均值可以看出,通過數(shù)據(jù)傳輸層序列化后,數(shù)據(jù)輸出顯示的響應(yīng)時(shí)間更短,校新聞網(wǎng)數(shù)據(jù)量較大,對(duì)比更加明顯。圖7所示為分布式結(jié)構(gòu)下XML數(shù)據(jù)序列化為JSON數(shù)據(jù)對(duì)象的字符數(shù)對(duì)比,根據(jù)實(shí)驗(yàn)數(shù)據(jù)可以看出,圖書查詢服務(wù)、校園云視頻、電子政務(wù)平臺(tái)和開放式實(shí)驗(yàn)預(yù)約系統(tǒng)的XML數(shù)據(jù)都有不同程度的壓縮,序列化為JSON數(shù)據(jù)對(duì)象提高了數(shù)據(jù)傳輸效率,因此數(shù)據(jù)傳輸序列化模型在站群信息共享與融合方面有很好的應(yīng)用價(jià)值。
數(shù)字化校園中信息量增長(zhǎng)迅速,網(wǎng)站群管理平臺(tái)提高了數(shù)字化校園的信息化水平,站群管理模式擺脫了各自為政的管理狀況,消除了信息孤島。本文詳細(xì)分析了站群管理模式下數(shù)據(jù)傳輸?shù)捏w系結(jié)構(gòu),根據(jù)校園網(wǎng)站的運(yùn)行現(xiàn)狀,設(shè)計(jì)了集中式結(jié)構(gòu)和分布式結(jié)構(gòu)下的數(shù)據(jù)傳輸序列化模型,通過仿真實(shí)驗(yàn)在模擬終端進(jìn)行了數(shù)據(jù)測(cè)試,實(shí)驗(yàn)數(shù)據(jù)表明,站群管理平臺(tái)下的數(shù)據(jù)傳輸序列化模型對(duì)數(shù)據(jù)的共享與融合具有很好的效果,為高等學(xué)校的教學(xué)、科研、管理和生活服務(wù)提供了標(biāo)準(zhǔn)化的數(shù)據(jù)傳輸服務(wù),同時(shí)也為站群管理平臺(tái)下的數(shù)據(jù)共享和融合提供了理論支持。
[1]李春子.網(wǎng)站集群式管理在高校中的應(yīng)用分析[J].數(shù)字技術(shù)與應(yīng)用,2010(5):81-82
[2]高新成,李蘇龍,王燕.校園網(wǎng)站群內(nèi)容更新監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].陜西理工學(xué)院學(xué)報(bào):自然科學(xué)版,2013,29(6):16-17
[3]王臻,聞星火,謝素萍,等.基于網(wǎng)站群的實(shí)驗(yàn)室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,2009,48(3):156-157
[4]杜義華,張亞.中國(guó)科學(xué)院網(wǎng)站群建設(shè)的系統(tǒng)工程方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(1):18-19
[5]高靜,段會(huì)川.基于移動(dòng)設(shè)備的JSON數(shù)據(jù)傳輸效率研究[J].信息技術(shù)與信息化,2011(1):13-15
[6]王鵬,吳曉東,楊華民.基于不同數(shù)據(jù)傳輸格式對(duì)Ajax實(shí)時(shí)性響應(yīng)影響的研究[J].長(zhǎng)春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2011,34(2):148-149
[7]谷方舟,沈波.JSON數(shù)據(jù)交換格式在異構(gòu)系統(tǒng)集成中的應(yīng)用研究[J].鐵路計(jì)算機(jī)應(yīng)用,2012,21(2):2-3
(責(zé)任編輯:汪材印)
2014-05-18
安徽理工大學(xué)青年教師科學(xué)研究基金項(xiàng)目“基于J2EE的數(shù)字化校園網(wǎng)站群管理平臺(tái)的研究”(2012QNY30)。
石文兵(1982-),安徽安慶人,碩士,講師,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)與智能信息系統(tǒng)。
10.3969/j.issn.1673-2006.2014.09.025
TP391
A
1673-2006(2014)09-0082-04