国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web應(yīng)用系統(tǒng)中數(shù)據(jù)傳輸策略的研究與實(shí)現(xiàn)*

2012-10-08 01:58周志敏岳國(guó)英陳忠文
電信科學(xué) 2012年3期
關(guān)鍵詞:業(yè)務(wù)流程應(yīng)用程序交易

周志敏,岳國(guó)英,陳忠文,毛 輝

(浙江水利水電專(zhuān)科學(xué)校計(jì)算機(jī)與信息工程系 杭州310018)

1 引言

Internet的發(fā)展為各種跨區(qū)域應(yīng)用需求提供了基礎(chǔ),基于Web的應(yīng)用系統(tǒng)越來(lái)越多,使得網(wǎng)絡(luò)上的數(shù)據(jù)傳輸效率成為瓶頸。隨著Web應(yīng)用的普及和發(fā)展,人們對(duì)數(shù)據(jù)傳輸效率越來(lái)越關(guān)注,期望越來(lái)越高,Web應(yīng)用與數(shù)據(jù)傳輸效率之間的矛盾也越來(lái)越突出。因此,使應(yīng)用程序按需、高效、準(zhǔn)確地進(jìn)行數(shù)據(jù)傳輸是Web應(yīng)用系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)人員需重點(diǎn)考慮的問(wèn)題之一[1,2]。

在現(xiàn)實(shí)應(yīng)用中,數(shù)據(jù)傳輸效率問(wèn)題并沒(méi)有統(tǒng)一的答案,因此,數(shù)據(jù)傳輸策略也沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)。從應(yīng)用目的角度出發(fā),不同的應(yīng)用對(duì)數(shù)據(jù)傳輸效率的要求也不一樣。例如,對(duì)于銀行、證券等應(yīng)用系統(tǒng),會(huì)將數(shù)據(jù)傳輸?shù)陌踩?、可靠性放在首位,其次才是?shù)據(jù)的傳輸速度;而在一些以信息服務(wù)為主的應(yīng)用系統(tǒng)中,會(huì)將數(shù)據(jù)傳輸速度(響應(yīng)速度)放在首位。但是,無(wú)論怎樣的應(yīng)用系統(tǒng),肯定是既要考慮數(shù)據(jù)的安全性、可靠性,又要考慮數(shù)據(jù)的傳輸速度,本文重點(diǎn)討論后者。

2 數(shù)據(jù)庫(kù)角度的數(shù)據(jù)傳輸策略

Web應(yīng)用系統(tǒng)的數(shù)據(jù)主要以數(shù)據(jù)庫(kù)方式存儲(chǔ)。合理的數(shù)據(jù)建模、恰當(dāng)?shù)牟樵冋Z(yǔ)句都可以提高應(yīng)用系統(tǒng)的數(shù)據(jù)傳輸效率。從數(shù)據(jù)庫(kù)角度考慮,影響數(shù)據(jù)傳輸效率的因素與對(duì)策主要有以下幾點(diǎn)。

(1)優(yōu)化數(shù)據(jù)結(jié)構(gòu)

在對(duì)應(yīng)用系統(tǒng)的數(shù)據(jù)進(jìn)行建模時(shí),既要遵循數(shù)據(jù)庫(kù)設(shè)計(jì)的規(guī)范化要求,又要考慮具體的應(yīng)用對(duì)數(shù)據(jù)的要求,從而合理地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),以快捷高效地組織與管理數(shù)據(jù)。

(2)合理設(shè)計(jì)索引

利用索引可以提高數(shù)據(jù)查詢的效率,特別是在數(shù)據(jù)量大的表中效果尤為明顯。對(duì)于經(jīng)常作為查找關(guān)鍵字的屬性,DBA(data base administrator)應(yīng)將其作為索引關(guān)鍵字建立索引。但是不管是聚簇索引還是非聚簇索引,都需要對(duì)數(shù)據(jù)進(jìn)行動(dòng)態(tài)排序(不同的是,前者是對(duì)數(shù)據(jù)進(jìn)行物理重排,故一個(gè)表中只能有一個(gè)聚簇索引;后者是對(duì)數(shù)據(jù)進(jìn)行邏輯重排,故一個(gè)表中允許有多個(gè)非聚簇索引)。所以,當(dāng)對(duì)表進(jìn)行增、刪、改時(shí),表中的數(shù)據(jù)都會(huì)根據(jù)索引關(guān)鍵字重新排序,這會(huì)產(chǎn)生系統(tǒng)開(kāi)銷(xiāo)。因此,對(duì)于頻繁修改或重復(fù)值較多的屬性,不宜作為索引關(guān)鍵字。

(3)合理地使用視圖

視圖是由若干個(gè)表或視圖組成的一個(gè)邏輯表。為不同的應(yīng)用合理地設(shè)計(jì)視圖,不僅可以過(guò)濾掉不必要的數(shù)據(jù)項(xiàng)(在某種程度上加強(qiáng)了數(shù)據(jù)的安全性),避免程序員對(duì)數(shù)據(jù)組織不必要的理解難度,加強(qiáng)DBA和程序員的數(shù)據(jù)使用職責(zé),而且可以簡(jiǎn)化應(yīng)用程序中的SQL語(yǔ)句,減少服務(wù)器端執(zhí)行SQL的響應(yīng)時(shí)間,從而提高數(shù)據(jù)傳輸效率。

(4)合理地使用主動(dòng)數(shù)據(jù)庫(kù)技術(shù)

隨著數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用和深入發(fā)展,應(yīng)用領(lǐng)域?qū)?shù)據(jù)庫(kù)系統(tǒng)主動(dòng)服務(wù)的要求越來(lái)越多[3,4]。各種DBMS產(chǎn)品也都具有不同程度的主動(dòng)數(shù)據(jù)服務(wù)功能。這些功能按一定條件觸發(fā)并自動(dòng)在DB Server上執(zhí)行,減少了應(yīng)用程序與DB Server的通信次數(shù),從而提高數(shù)據(jù)處理的響應(yīng)速度。

3 應(yīng)用系統(tǒng)角度的數(shù)據(jù)傳輸策略

通常Web應(yīng)用系統(tǒng)是一個(gè)由客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器組成的3層結(jié)構(gòu)[5],如圖1所示。Web應(yīng)用系統(tǒng)的業(yè)務(wù)流程一般是根據(jù)從客戶端采集的用戶需求,訪問(wèn)數(shù)據(jù)庫(kù)得到數(shù)據(jù)集,在應(yīng)用服務(wù)器上組織數(shù)據(jù),然后在客戶端進(jìn)行頁(yè)面顯示。

3.1 合理設(shè)計(jì)應(yīng)用系統(tǒng)的業(yè)務(wù)流程執(zhí)行方案

根據(jù)圖1,針對(duì)應(yīng)用系統(tǒng)業(yè)務(wù)流程的執(zhí)行方案有3種:方案1是將其放在“應(yīng)用程序”層中;方案2是將其放在“ORDBMS(object relational data base management system)”層中;方案3是將其部分放在“應(yīng)用程序”層,部分放在“ORDBMS”層。

對(duì)于方案1,由于對(duì)業(yè)務(wù)流程的執(zhí)行動(dòng)作全部放在“應(yīng)用程序”層中,不僅使得系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的操作只能在被動(dòng)服務(wù)狀態(tài)下完成,而且所有數(shù)據(jù)都需要在網(wǎng)絡(luò)上傳輸,數(shù)據(jù)傳輸占用網(wǎng)絡(luò)開(kāi)銷(xiāo)較大。

對(duì)于方案2,當(dāng)業(yè)務(wù)流程需要主動(dòng)數(shù)據(jù)庫(kù)服務(wù)時(shí),采用觸發(fā)器完成,不需要應(yīng)用程序調(diào)用(即與應(yīng)用程序無(wú)關(guān))[6,7];當(dāng)業(yè)務(wù)流程不需要主動(dòng)數(shù)據(jù)庫(kù)服務(wù)時(shí),采用數(shù)據(jù)庫(kù)對(duì)象存儲(chǔ)過(guò)程完成,使其成為應(yīng)用程序調(diào)用的一個(gè)外部過(guò)程,這樣就可以將系統(tǒng)的業(yè)務(wù)流程全部封裝在“ORDBMS”層中。如此,不僅可以充分利用“ORDBMS”的主動(dòng)服務(wù)性能,使得業(yè)務(wù)流程具有邏輯獨(dú)立性,便于系統(tǒng)的維護(hù)[8];同時(shí),由于系統(tǒng)的業(yè)務(wù)流程在數(shù)據(jù)庫(kù)服務(wù)器端完成,減小了網(wǎng)絡(luò)資源開(kāi)銷(xiāo),加強(qiáng)了系統(tǒng)安全,提高了應(yīng)用系統(tǒng)的數(shù)據(jù)傳輸效率。

對(duì)于方案3,可以將數(shù)據(jù)量特大的業(yè)務(wù)流程放在“應(yīng)用程序”層,處理時(shí)將其分解為若干個(gè)數(shù)據(jù)分組分別傳輸,以均衡網(wǎng)絡(luò)負(fù)載(如果這些數(shù)據(jù)整體傳輸,可能會(huì)引起網(wǎng)絡(luò)長(zhǎng)時(shí)間堵塞)。對(duì)于數(shù)據(jù)傳輸量不大、傳輸次數(shù)單一的業(yè)務(wù)流程,也可以放在“應(yīng)用程序”層。而對(duì)于一般的業(yè)務(wù)流程,應(yīng)該放在“ORDBMS”層,以減少網(wǎng)絡(luò)開(kāi)銷(xiāo),提高數(shù)據(jù)傳輸效率。

3.2 合理設(shè)計(jì)業(yè)務(wù)流程執(zhí)行中的數(shù)據(jù)傳輸方案

定義1(交易)用戶為某一需求對(duì)應(yīng)用程序進(jìn)行操作,應(yīng)用程序成功地執(zhí)行了此操作,并將操作結(jié)果反饋給用戶,將該過(guò)程稱為一次交易(或一筆交易)。交易是最小的用戶需求確定的一次業(yè)務(wù)流程。

定義2(數(shù)據(jù))在交易中,當(dāng)數(shù)據(jù)是通過(guò)SQL命令獲取時(shí),將一條SQL命令獲取的數(shù)據(jù)稱為一種數(shù)據(jù)。

一筆交易往往從頁(yè)面采集用戶提供的數(shù)據(jù),應(yīng)用程序做出判斷,如果用戶提供的數(shù)據(jù)正確,則訪問(wèn)數(shù)據(jù)庫(kù),獲取用戶需要的數(shù)據(jù),然后傳給客戶端組織頁(yè)面進(jìn)行顯示。這個(gè)過(guò)程按數(shù)據(jù)傳輸批次可分為多批次傳輸和單批次傳輸兩種。

定義3(ADMP方法)對(duì)于一筆交易所需要的n(n>0)種數(shù)據(jù),若應(yīng)用程序分為n次向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出數(shù)據(jù)處理請(qǐng)求,數(shù)據(jù)庫(kù)將每次數(shù)據(jù)處理的結(jié)果依次傳給應(yīng)用程序。這種數(shù)據(jù)請(qǐng)求、處理與傳輸?shù)倪^(guò)程稱為多批次處理方法,簡(jiǎn)記為ADMP方法。

一筆交易數(shù)據(jù)采用ADMP方法的流程如圖2所示。

在ADMP處理方法中,n種數(shù)據(jù)請(qǐng)求形成一個(gè)等待隊(duì)列。數(shù)據(jù)庫(kù)接受一個(gè)數(shù)據(jù)處理請(qǐng)求時(shí),應(yīng)用程序處于等待狀態(tài),數(shù)據(jù)庫(kù)服務(wù)器處理完一個(gè)請(qǐng)求,需要將結(jié)果傳輸給應(yīng)用程序,應(yīng)用程序繼續(xù)執(zhí)行,再向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出下一個(gè)數(shù)據(jù)處理請(qǐng)求,服務(wù)器再處理,依次處理n個(gè)請(qǐng)求,直至數(shù)據(jù)處理請(qǐng)求隊(duì)列為空,并且將結(jié)果傳輸給應(yīng)用程序,應(yīng)用程序再將結(jié)果傳遞給客戶端組織頁(yè)面進(jìn)行顯示,本次交易結(jié)束。

定義4(ADSP方法)對(duì)于一筆交易所需要的n(n>0)種數(shù)據(jù),若應(yīng)用程序只向服務(wù)器發(fā)出一次請(qǐng)求,將該交易需要的所有數(shù)據(jù)通過(guò)調(diào)用事先在數(shù)據(jù)庫(kù)中設(shè)計(jì)好的存儲(chǔ)過(guò)程進(jìn)行處理,然后將結(jié)果整體回傳給應(yīng)用程序。這種數(shù)據(jù)請(qǐng)求、處理與傳輸?shù)倪^(guò)程稱為單次處理方法,簡(jiǎn)記為ADSP方法。

ADSP方法需要DBA將這筆交易所需要的全部數(shù)據(jù)的處理過(guò)程,在數(shù)據(jù)庫(kù)中形成一個(gè)存儲(chǔ)過(guò)程PRO(x1,x2,…)(一種數(shù)據(jù)庫(kù)對(duì)象)。交易時(shí),應(yīng)用程序只需要調(diào)用該存儲(chǔ)過(guò)程,數(shù)據(jù)庫(kù)服務(wù)器會(huì)將交易所需要的全部數(shù)據(jù)一次性傳輸給應(yīng)用程序。其流程如圖3所示。

4 數(shù)據(jù)傳輸策略分析與實(shí)踐

在上述討論的諸策略中,合理地設(shè)計(jì)數(shù)據(jù)庫(kù)、規(guī)劃應(yīng)用系統(tǒng)的業(yè)務(wù)處理方案,對(duì)提高數(shù)據(jù)傳輸效率非常重要。這些與DBA、系統(tǒng)分析師、軟件設(shè)計(jì)師的經(jīng)驗(yàn)密切相關(guān),而且沒(méi)有嚴(yán)格的標(biāo)準(zhǔn)和有效的度量方法,只有靠技術(shù)人員的項(xiàng)目經(jīng)驗(yàn)優(yōu)化數(shù)據(jù)傳輸策略,提高數(shù)據(jù)傳輸效率。但業(yè)務(wù)流程中的數(shù)據(jù)傳輸單位是可以定義的,而且軟件開(kāi)發(fā)人員可以界定,這里將針對(duì)ADMP方法和ADSP方法進(jìn)行時(shí)間復(fù)雜度分析,并通過(guò)實(shí)踐進(jìn)行比較。

設(shè)一筆交易涉及n種數(shù)據(jù),應(yīng)用系統(tǒng)與數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行一次通信需要準(zhǔn)備、確認(rèn)、等待、傳輸?shù)?,合?jì)時(shí)間為t0。對(duì)于第k種數(shù)據(jù)的處理請(qǐng)求,數(shù)據(jù)處理所需要的時(shí)間記為tk,將處理結(jié)果傳輸給應(yīng)用程序所需要的時(shí)間記為Δtk。采用ADMP方法所需的總時(shí)間記為T(mén)1;采用ADSP方法時(shí),傳輸結(jié)果數(shù)據(jù)所需要的時(shí)間為Δt,所需的總時(shí)間記為T(mén)2。記,則有:

可見(jiàn),采用ADSP方法時(shí),網(wǎng)絡(luò)傳輸準(zhǔn)備的時(shí)間復(fù)雜度為O(1);采用ADMP方法時(shí),其網(wǎng)絡(luò)傳輸準(zhǔn)備的時(shí)間復(fù)雜度為O(n)。另外,T0是數(shù)據(jù)庫(kù)服務(wù)器準(zhǔn)備交易數(shù)據(jù)所用的時(shí)間,是一個(gè)定值,兩種方法所需時(shí)間相同。根據(jù)交易的定義,一般情況下Δt遠(yuǎn)遠(yuǎn)小于(除非一筆交易所需要的數(shù)據(jù)量大到網(wǎng)絡(luò)傳輸困難,此種交易可考慮分多次處理)。因此,以交易為單位進(jìn)行數(shù)據(jù)傳輸,可以明顯提高系統(tǒng)效率。實(shí)驗(yàn)也證實(shí)了此結(jié)論。

筆者在開(kāi)發(fā) “基于Web的技術(shù)職稱申報(bào)與評(píng)審系統(tǒng)”時(shí),對(duì)一些交易,首先采用ADMP方法進(jìn)行數(shù)據(jù)傳輸,發(fā)現(xiàn)時(shí)間響應(yīng)不滿足要求后,對(duì)其進(jìn)行改進(jìn),采用ADSP方法進(jìn)行數(shù)據(jù)傳輸,傳輸效果比較明顯。對(duì)同一組實(shí)驗(yàn)數(shù)據(jù),采用不同數(shù)據(jù)傳輸方法對(duì)響應(yīng)時(shí)間進(jìn)行了比較,結(jié)果見(jiàn)表1。

5 結(jié)束語(yǔ)

本文討論了Web應(yīng)用系統(tǒng)的數(shù)據(jù)傳輸策略與效率問(wèn)題,列舉了影響數(shù)據(jù)傳輸?shù)囊蛩睾蛯?duì)應(yīng)策略。DBA、系統(tǒng)分析師、軟件設(shè)計(jì)師的項(xiàng)目經(jīng)驗(yàn)對(duì)數(shù)據(jù)傳輸策略有很大影響,需要軟件設(shè)計(jì)與研發(fā)人員認(rèn)真研究,確定合理的方案。本文給出了ADMP和ADSP兩種數(shù)據(jù)傳輸方法的定義,從理論角度分析了兩種方法的時(shí)間復(fù)雜度,并通過(guò)實(shí)例對(duì)兩種傳輸方案進(jìn)行了比較。證明了在一筆交易有多種數(shù)據(jù)請(qǐng)求時(shí)ADSP方法的高效性,該方法對(duì)提高Web應(yīng)用系統(tǒng)中的數(shù)據(jù)傳輸效率有明顯的效果。

表1 采用ADMP和ADSP方法的傳輸效率比較

1 許富龍,劉明,龔海剛等.延遲容忍傳感器網(wǎng)絡(luò)基于相對(duì)距離的數(shù)據(jù)傳輸.軟件學(xué)報(bào),2010,21(3):499~501

2 Pasztor B,Musolesi M,Mascolo C.Opportunistic mobile sensor data collection with SCAR.Proceedings of the 4th IEEE Int’l Conference on Mobile Ad-hoc and Sensor Systems,Piscataway,IEEE Press,2007:1~12

3 李慶忠,王海洋,姜躍平等.一種改進(jìn)的主動(dòng)規(guī)則的系統(tǒng)執(zhí)行模型分析.軟件學(xué)報(bào),2002,13(1):111~116

4 孫明,姜躍平,董繼潤(rùn).支持復(fù)合事件的主動(dòng)規(guī)則的可終止性分析.計(jì)算機(jī)研究與發(fā)展,1998,5(5):460~463

5 Guoying Yue,Sukui Lu,Ke Lu,et al.Application research of active database in MIS.International Conference of Management Engineering and Information Technology,2009

6 張峰,張莉莉.觸發(fā)器在數(shù)據(jù)處理過(guò)程中的應(yīng)用研究.計(jì)算機(jī)工程與科學(xué),2008,30(5):156~158

7 熊中敏,郝忠孝.含有非獨(dú)立型觸發(fā)環(huán)的主動(dòng)規(guī)則集歸約算法研究.計(jì)算機(jī)科學(xué),2006,33(6):163~167

8 李紅燕,李戰(zhàn)懷,唐世渭.ORDBMS中主動(dòng)性規(guī)則的研究與實(shí)現(xiàn).軟件學(xué)報(bào),2001,12(9):1 329~1 335

猜你喜歡
業(yè)務(wù)流程應(yīng)用程序交易
RPA機(jī)器人助業(yè)務(wù)流程智能化
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
企業(yè)財(cái)務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
互聯(lián)網(wǎng)+背景下物流公司的業(yè)務(wù)流程再造
基于財(cái)務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
大宗交易榜中榜
大宗交易榜中榜
大宗交易
驚人的交易