劉強 宋傳志
【摘要】 Web服務(wù)屬于普通常用的面向?qū)ο蠓?wù)架構(gòu)方式,但Web服務(wù)在面向?qū)ο蠹軜?gòu)實現(xiàn)的網(wǎng)絡(luò)中,仍然存在大數(shù)據(jù)網(wǎng)絡(luò)傳輸效率低下的問題。如可能夠有效提高大數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸速率,使其可以迅速響應(yīng)客戶端發(fā)來的大數(shù)據(jù)信息請求,增強網(wǎng)絡(luò)用戶的體驗感,是研究Web服務(wù)傳輸方案的根本問題。本文在分析了Web服務(wù)在網(wǎng)絡(luò)中的傳輸原理基礎(chǔ)上,提出了基于取模分類和多線程的大數(shù)據(jù)Web服務(wù)傳輸方案,在提高大數(shù)據(jù)傳輸速率的同時,增強了網(wǎng)絡(luò)用戶的體驗感。
【關(guān)鍵詞】 大數(shù)據(jù) Web服務(wù) Web傳輸
隨著現(xiàn)代社會信息化建設(shè)的進步,各種網(wǎng)絡(luò)應(yīng)用程序已經(jīng)普遍應(yīng)用于各領(lǐng)域中,網(wǎng)絡(luò)軟件越來越多,包括互聯(lián)網(wǎng)子郵件系統(tǒng)、數(shù)據(jù)搜索引擎系統(tǒng)、文件信息上下載系統(tǒng)等,使網(wǎng)絡(luò)需要在同一時間內(nèi)處理的數(shù)據(jù)量越來越多,面臨著海量數(shù)據(jù)傳輸效率低下的問題。
一、Web服務(wù)概念
Web服務(wù)是一種新型的網(wǎng)絡(luò)應(yīng)用程序,也是一種模塊化的網(wǎng)絡(luò)應(yīng)用,Web服務(wù)能夠處理簡單的網(wǎng)絡(luò)請求,也可以處理邏輯結(jié)構(gòu)復(fù)雜的網(wǎng)絡(luò)應(yīng)用,其有強大的數(shù)據(jù)處理功能。當(dāng)Web服務(wù)部署完成之后,其他網(wǎng)絡(luò)應(yīng)用程序則可以隨時調(diào)用其部署的功能性服務(wù)。
SOA指的是一種應(yīng)用于跨網(wǎng)絡(luò)平臺和網(wǎng)絡(luò)驅(qū)動業(yè)務(wù)的架構(gòu)模型,SOA架構(gòu)模型可以按照實際需求利用分布式部署、組合部署等模式對松散耦合的粗粒度組件進行部署,其服務(wù)層是整體架構(gòu)模型的基礎(chǔ)部分,可以被網(wǎng)絡(luò)應(yīng)用程序直接調(diào)用,對網(wǎng)絡(luò)系統(tǒng)中存在的交互依賴性進行控制。SOA架構(gòu)模型具有以下幾點優(yōu)勢:(1)編碼靈活度較高,可以利用不同的組合方式創(chuàng)建基于模塊化服務(wù),充分體現(xiàn)了SOA架構(gòu)模型編碼的靈活性。而且,由于網(wǎng)絡(luò)服務(wù)用戶不會直接對服務(wù)提供者進行訪問,因此,這種網(wǎng)絡(luò)服務(wù)的本身也具有較高的靈活性。(2)明確每個開發(fā)工作人員的任務(wù)角色,例如,負責(zé)客戶端編程的應(yīng)用程序開發(fā)工作人員只需要考慮界面設(shè)計層,不需要掌握數(shù)據(jù)層的邏輯轉(zhuǎn)換模式,重點解決具有重大價值的數(shù)據(jù)業(yè)務(wù)。(3)能夠支持多種客戶類型,SOA架構(gòu)模型利用服務(wù)接口,以及對Web服務(wù)標(biāo)準的支持,能實現(xiàn)對多種客戶類型的數(shù)據(jù)處理業(yè)務(wù),包括智能手機、平板電腦等網(wǎng)絡(luò)訪問。(4)SOA架構(gòu)模型便于后期維護,其采用的開放性標(biāo)準協(xié)議,以及提供的松散耦合關(guān)系,可以有效保證后期維護簡單便捷。(5)具有良好的伸縮性和可用性,網(wǎng)絡(luò)服務(wù)的提供者相互獨立,可以在集群環(huán)境中進行靈活部署。
二、基于大數(shù)據(jù)的Web服務(wù)傳輸方案的構(gòu)建
在現(xiàn)有的大數(shù)據(jù)Web服務(wù)傳輸方案中,應(yīng)該盡量選擇一次性的調(diào)用解決方式,如果期望得到快速的大數(shù)據(jù)處理請求,可以采用一次調(diào)用、多次返回的解決方式,將一個返回數(shù)據(jù)分解成為多個輕量返回數(shù)據(jù),從而使返回數(shù)據(jù)處理更加方便靈活,以此實現(xiàn)快速返回第一次調(diào)用數(shù)據(jù)的實際需求。但是,想要在大數(shù)據(jù)Web服務(wù)傳輸方案中采用多次返回數(shù)據(jù)的解決方式,必須采用多線程技術(shù)。
如何將多線程技術(shù)應(yīng)用于Web服務(wù)傳輸中,必須綜合考慮多線程技術(shù)的特性,將一個任務(wù)分割成為多個任務(wù)。通常情況下,一個任務(wù)的最終目標(biāo)是十分明確的,就是使用戶獲得請求的全部數(shù)據(jù)。當(dāng)應(yīng)用多線程技術(shù)后,需要給每個線程分配各自的任務(wù),使每個線程都可以獲得指定數(shù)據(jù),由此,提出取模分類的方法,將任務(wù)分配給多個線程。
取模分類方法指的是根據(jù)用戶發(fā)出的請求建立索引值,經(jīng)過取模運算后可以將全部數(shù)據(jù)按照取模運算后得到的余數(shù)進行分類,此時,每個線程都可以查詢到與其對應(yīng)的分類數(shù)據(jù),由此,一個數(shù)據(jù)查詢?nèi)蝿?wù)被分割成為多個輕量數(shù)據(jù)查詢?nèi)蝿?wù),獲得的第一個返回數(shù)據(jù)的時間是最快的響應(yīng)時間。
隨著網(wǎng)絡(luò)技術(shù)的普及應(yīng)用,網(wǎng)絡(luò)承載的數(shù)據(jù)量越來越多,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)已經(jīng)不能滿足目前網(wǎng)絡(luò)海量數(shù)據(jù)處理的實際需求,造成了網(wǎng)絡(luò)數(shù)據(jù)傳輸效率低下。取模分類和多線程技術(shù)應(yīng)用于Web服務(wù)傳輸方案中,可以有效提高海量數(shù)據(jù)傳輸效率,增強網(wǎng)絡(luò)系統(tǒng)的可擴展性。
三、基于取模分類和多線程的Web服務(wù)傳輸方案的實現(xiàn)
3.1 取模分類方法
取模運算經(jīng)常應(yīng)用于程序設(shè)計中,設(shè)定一個整數(shù)P和任意一個整數(shù)N,存在N=KP+R,其中,K和R均為整數(shù),0≤R
對于整數(shù)P,a,b來說,將其取模運算定義為a mod P,以a除以P的余數(shù)。在取模運算的基礎(chǔ)上,將一個整數(shù)集合A={1,2,3,4,5,6}的模值設(shè)定為3,對集合中的每個整數(shù)進行取模運算,分別得到0,1,2三個余數(shù),再按照余數(shù)將集合A分成三個類型,{A1,A4}mod 3=1;{A2,A5}mod 3=2和{A3,A6}mod 3=0。
同理可得,對于任意整數(shù)集合Z來說,都可以為其設(shè)置一個模值n(n∈N),由此,將集合Z進行取模運算之后,可以按照余數(shù)分成n個子集合Zi(i∈N)。
3.2 多線程技術(shù)
當(dāng)客戶端發(fā)出請求處理大量數(shù)據(jù)時,會造成數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)處理時間增多,使得大量數(shù)據(jù)在網(wǎng)絡(luò)傳輸中耗費過多時間,降低了網(wǎng)絡(luò)用戶的體驗感,想要獲得請求數(shù)據(jù)必須等候較長時間。如果客戶端請求的數(shù)據(jù)處理量較小,必然會縮短網(wǎng)絡(luò)數(shù)據(jù)傳輸和處理時間。如果將客戶端發(fā)送的數(shù)據(jù)請求按照取模分類進行計算,將模值設(shè)置為N,每個線程傳輸1/N,可以有效縮短網(wǎng)絡(luò)用戶請求數(shù)據(jù)的等待時間。
目前,網(wǎng)絡(luò)下載普遍采用的是多線程技術(shù),以此提高網(wǎng)絡(luò)傳輸速度,客戶端將預(yù)先設(shè)置的模值分為N個線程,每個線程獲得與其對應(yīng)的數(shù)據(jù),由此,當(dāng)?shù)谝粋€線程完成數(shù)據(jù)傳輸?shù)臅r間就是客戶端響應(yīng)時間,該時間比一次性獲取全部數(shù)據(jù)縮短很多,此時,剩余的線程通過持續(xù)加載,多個線程的數(shù)據(jù)傳輸時間也明顯少于單個線程的數(shù)據(jù)傳輸時間,取模分類和多線程技術(shù)數(shù)據(jù)傳輸原理如圖1所示:
多線程技術(shù)的應(yīng)用需要設(shè)置合理的模值,在大數(shù)據(jù)傳輸過程中,保證每個線程任務(wù)分配合理,不會占用過多的系統(tǒng)開銷時間,以此實現(xiàn)大數(shù)據(jù)在網(wǎng)絡(luò)中的快速傳輸。
四、結(jié)論
綜上所述,本文將取模分類方法和多線程技術(shù)應(yīng)用于Web服務(wù)傳輸中,可以迅速響應(yīng)客戶端發(fā)出的數(shù)據(jù)請求,提高網(wǎng)絡(luò)用戶的體驗感。本方案按照客戶端發(fā)出的數(shù)據(jù)請求特征,采用取模運算方法,分成多個任務(wù)在不同線程內(nèi)進行傳輸,該方案的有效應(yīng)用可以明顯縮短客戶端的數(shù)據(jù)需求響應(yīng)時間,切實提高網(wǎng)絡(luò)用戶的滿意度,具有良好的實踐應(yīng)用意義。
參 考 文 獻
[1] 許春玲,范志剛,宋應(yīng)文. 機器學(xué)習(xí)算法的網(wǎng)絡(luò)大數(shù)據(jù)級應(yīng)用實踐[J]. 網(wǎng)絡(luò)新媒體技術(shù),2012,06:63-69
[2] 季文天. 語義Web下大數(shù)據(jù)量模糊聚類分析[J]. 電腦知識與技術(shù),2011,27:6571-6572
[3] 趙越,陳志偉,蔡淑惠,顏志平. 大數(shù)據(jù)量科學(xué)計算數(shù)據(jù)的動態(tài)Web可視化[J]. 現(xiàn)代計算機(專業(yè)版),2012,14:3-6
[4] 江永源. Web大數(shù)據(jù)量頁面優(yōu)化實踐[J]. 程序員,2010,05:107-108
[5] 涂平,朱曉鈴,滿旺. 大數(shù)據(jù)量數(shù)據(jù)網(wǎng)絡(luò)傳輸研究與實現(xiàn)[J]. 微型機與應(yīng)用,2010,07:6-9
[6] 熊小華,王帥,寧愛兵. 基于Web服務(wù)的大數(shù)據(jù)訪問性能優(yōu)化研究[J]. 上海第二工業(yè)大學(xué)學(xué)報,2007,04:271-275