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

?

智能客戶端離線處理的分析與實(shí)現(xiàn)

2014-12-31 01:25:21邢永峰
電腦知識(shí)與技術(shù) 2014年35期

邢永峰

摘要:隨著互聯(lián)網(wǎng)的飛速發(fā)展和軟件信息化進(jìn)程的不斷加深,企業(yè)與客戶對(duì)于軟件的性能上的快速和內(nèi)容上的豐富以及離線處理功能要求也不斷提高,因此為了滿足市場(chǎng)需求,智能客戶端誕生。首先本文就概念與特性兩個(gè)方面對(duì)智能客戶端進(jìn)行介紹,其次解釋其脫機(jī)功能的實(shí)現(xiàn)流程,最后介紹應(yīng)用offline application block技術(shù)對(duì)智能客戶端的實(shí)現(xiàn)。該文著重介紹基于.net平臺(tái)開發(fā)智能客戶端的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。

關(guān)鍵詞:智能客戶端;離線處理 ;offline application block

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)35-8531-02

Analysis and Implementation of the Smart Client Offline Processing

XING Yong-feng

(Nanyang Institute of Technology, Nanyang 473000,China)

Abstract: With the rapid development of Internet software and deepening the process of information, business and customers for fast and rich content as well as offline processing on the performance of the software requirements are also rising, so in order to meet market demand, Smart Client born. In this paper, the concept and characteristics of the first two aspects of the smart client presentation, followed by explanation of the process to achieve its offline capabilities, and finally describes the application offline application block technology for smart client. This article focuses on the detailed design and implementation of .net platform based on smart client.

Key words: Smart client;offline processing; offline application block

隨著互聯(lián)網(wǎng)的飛速發(fā)展和軟件信息化進(jìn)程的不斷加深,軟件設(shè)計(jì)的架構(gòu)也從客戶端/服務(wù)器(C/S)模型發(fā)展到瀏覽器/服務(wù)器(B/S)模型。世間沒(méi)有十全十美的事物,同樣此兩個(gè)架構(gòu)模型在各自的領(lǐng)域都有各自的優(yōu)勢(shì),但是在某些需求方面存在很大的不足。社會(huì)生活不斷發(fā)展,此兩種架構(gòu)模型對(duì)于新出現(xiàn)的市場(chǎng)需求無(wú)論在功能還是在性能方面都無(wú)法全面滿足,對(duì)于企業(yè)用戶對(duì)軟件性能上的快速需求以及內(nèi)容上的豐富要求以及無(wú)法聯(lián)網(wǎng)情況下的離線處理能力的要求不斷提高,智能客戶端秉承這一使命誕生。在市場(chǎng)需求方面,信息化對(duì)社會(huì)生活的影響越來(lái)越深入,在各行各業(yè)軟件普及的程度逐漸廣泛,同時(shí)對(duì)于offline的要求也日益增強(qiáng),比如超市收銀、保險(xiǎn)推銷等行業(yè)的工作人員都要求在離線的狀態(tài)下使用客戶端。這樣對(duì)客戶端的要求比較高,既要擁有客戶端/服務(wù)器(C/S)模型PC應(yīng)用程序的功能,又需要瀏覽器/服務(wù)器(B/S)模型的快捷便利,但是單獨(dú)應(yīng)用此兩種模型無(wú)法實(shí)現(xiàn),于是微軟針對(duì)此類情況提出了面向客戶端的智能客戶端的理念,應(yīng)用offline/online無(wú)縫快速切換的方案,解決了此市場(chǎng)需求問(wèn)題。同時(shí)基于Web Services的特性更使得智能客戶端的整合能力異常強(qiáng)大,被認(rèn)為是未來(lái)企業(yè)應(yīng)用集成最有潛力的架構(gòu)模式。

智能客戶端具有智能選擇處理功能,能夠在無(wú)法聯(lián)網(wǎng)的狀態(tài)下進(jìn)行離線處理數(shù)據(jù),因此要滿足離線工作的需求必須能夠?qū)μ幚淼臄?shù)據(jù)進(jìn)行暫時(shí)緩存或長(zhǎng)期存儲(chǔ),該文對(duì)此的解決方式是:當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行暫存時(shí),利用DataSet(ADO.NET)緩存數(shù)據(jù);當(dāng)長(zhǎng)時(shí)間無(wú)法聯(lián)網(wǎng)則將數(shù)據(jù)以XML文件的形式存儲(chǔ)在磁盤中,XML存儲(chǔ)形式的優(yōu)勢(shì)在于.NET在DataSet中提供了很多處理XML文件的方法,方便使用。這兩種方式對(duì)于數(shù)據(jù)的緩存需求都需要DataSet來(lái)實(shí)現(xiàn)。在具體的項(xiàng)目開發(fā)過(guò)程中,客戶端可以在啟動(dòng)開始請(qǐng)求下載數(shù)據(jù),或者其它使用時(shí)自定義事件觸發(fā)下載。

1 離線脫機(jī)處理

客戶端的參考數(shù)據(jù)使用DataSet對(duì)象進(jìn)行緩存,它是一個(gè)“鍵—值”對(duì)的結(jié)構(gòu),其中包括Key、Value、Priority等屬性,它的結(jié)構(gòu)特點(diǎn)使得應(yīng)用程序可以很方便地對(duì)其進(jìn)行存取與管理。本客戶端擁有online和offline兩種模式??蛻舳说膐ffline和online的狀態(tài)確定是由兩方面來(lái)確定的:一是用戶手動(dòng)切換完成,二是由網(wǎng)絡(luò)狀況以及服務(wù)管理器決定,此二種方式是互相補(bǔ)充的,其控制方式利用服務(wù)偵測(cè)模塊和網(wǎng)絡(luò)模塊實(shí)現(xiàn)。如圖1為智能客戶端offline狀態(tài)的運(yùn)行方式。

1.1 online模式向offline模式轉(zhuǎn)換

當(dāng)智能客戶端處于online工作狀態(tài)時(shí),加入用戶手動(dòng)由online狀態(tài)切換到offline狀態(tài)或者由于網(wǎng)絡(luò)狀況或服務(wù)器狀態(tài)的因素必須進(jìn)行脫機(jī)處理,此時(shí)智能客戶端需要從online模式轉(zhuǎn)換到offline模式。轉(zhuǎn)換流程如圖2所示。

現(xiàn)在把操作朋友信息作為例子解釋下智能客戶端有online模式向offline模式切換,首先,客戶端在online狀態(tài)下運(yùn)行,由于網(wǎng)絡(luò)的緣故,現(xiàn)需要轉(zhuǎn)換到offline狀態(tài),程序把操作的數(shù)據(jù)緩存到本地(DsFriend中),然后進(jìn)行離線操作,在離線模式下工作時(shí),如果有對(duì)緩存數(shù)據(jù)(DsFriend)的更改,就把受影響的DataRow被標(biāo)記為“Changed”,與此同時(shí),將一個(gè)全局m_IsOnLine對(duì)象設(shè)置為false,以防止以后應(yīng)用程序?qū)⒏陌l(fā)送給Web 服務(wù)。當(dāng)推出客戶端時(shí),數(shù)據(jù)已經(jīng)更改,則通過(guò)XML文件進(jìn)行緩存DataRow數(shù)據(jù),接著推出程序,若數(shù)據(jù)沒(méi)有進(jìn)行更改,則直接退出。

1.2 offline模式向online模式轉(zhuǎn)換

在網(wǎng)絡(luò)狀態(tài)連接的情況下,用戶需要進(jìn)行online模式工作時(shí),客戶端能夠處于offline狀態(tài)下更改的數(shù)據(jù)重新寫入數(shù)據(jù)庫(kù),流程如圖3所示。

在此處同樣用上述的例子說(shuō)明客戶端由offline模式向online模式轉(zhuǎn)換。當(dāng)網(wǎng)絡(luò)和服務(wù)偵測(cè)可以online操作時(shí)(m_IsOnLine=true),系統(tǒng)把在offline期間修改的數(shù)據(jù)數(shù)數(shù)據(jù)庫(kù)同步,如果不存在數(shù)據(jù)沖突則直接同步成功;如果數(shù)據(jù)存在問(wèn)題,則客戶端把有問(wèn)題的數(shù)據(jù)信息顯示給客戶,由客戶來(lái)決定是否對(duì)問(wèn)題數(shù)據(jù)進(jìn)行處理,在處理完所有問(wèn)題數(shù)據(jù)后,再進(jìn)行同步數(shù)據(jù)庫(kù),與此同時(shí)刪除磁盤中緩存的數(shù)據(jù),接著客戶端轉(zhuǎn)為online模式。

2 小結(jié)

智能客戶端的offline狀態(tài)轉(zhuǎn)換,是有網(wǎng)絡(luò)偵測(cè)模塊檢查完網(wǎng)絡(luò)狀況后決定的。當(dāng)網(wǎng)絡(luò)狀況無(wú)擁擠現(xiàn)象,此時(shí)能夠很好的與服務(wù)器進(jìn)行數(shù)據(jù)交換,當(dāng)網(wǎng)絡(luò)狀況發(fā)生擁擠或斷開時(shí),此時(shí)需要對(duì)數(shù)據(jù)進(jìn)行本地磁盤緩存, 當(dāng)進(jìn)行緩存時(shí)利用DataSet對(duì)暫時(shí)性數(shù)據(jù)進(jìn)行緩存,長(zhǎng)期緩存時(shí)磁盤保存數(shù)據(jù)的形式是XML形式,但此兩種形式的數(shù)據(jù)都需要通過(guò)DataSet進(jìn)行實(shí)現(xiàn)。在對(duì)程序調(diào)試的過(guò)程中,客戶端在offline狀態(tài)下可以運(yùn)行正常,并且在offline狀態(tài)下客戶端自身的數(shù)據(jù)修改、同步服務(wù)器的數(shù)據(jù)以及在處理問(wèn)題數(shù)據(jù)都能夠運(yùn)行良好,滿足預(yù)定的要求。

參考文獻(xiàn):

[1] (美)Walther S.ASP.NET技術(shù)內(nèi)幕[M].北京:機(jī)械工業(yè)出版社,2002.

[2] Smart Client Definition http://msdn.microsoft.com/smartclient/.

[3] 周宏艷.淺談智能客戶端及其應(yīng)用[J].沈陽(yáng)航空工業(yè)學(xué)院學(xué)報(bào),2005(6).

[4] Smart Client Offline Application Block,http://msdn.microsoft.com/library/default.asp.

保康县| 曲周县| 全州县| 会同县| 乐清市| 孟连| 聂拉木县| 清远市| 神木县| 宣城市| 苍溪县| 龙井市| 彝良县| 湖口县| 合江县| 鄯善县| 澜沧| 峨山| 灵寿县| 安西县| 沙河市| 北辰区| 福海县| 江达县| 佛冈县| 固镇县| 霍林郭勒市| 通河县| 同心县| 乐都县| 河北省| 宜城市| 彰化市| 呼玛县| 江北区| 侯马市| 义马市| 琼海市| 襄垣县| 塔河县| 苏尼特左旗|