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