999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RDS遠(yuǎn)程數(shù)據(jù)訪問技術(shù)研究

2008-04-12 00:00:00王瑩娜宋劍波向小梅
現(xiàn)代電子技術(shù) 2008年20期

摘 要:基于網(wǎng)絡(luò)的計(jì)量測(cè)試系統(tǒng)需要解決的問題之一就是遠(yuǎn)程數(shù)據(jù)訪問。對(duì)ADO的RDS的對(duì)象模型和編程模型進(jìn)行研究,闡述RDS的功能和特點(diǎn),研究RDS數(shù)據(jù)訪問技術(shù)的具體實(shí)現(xiàn)方法,分析RDS的安全性并提出相應(yīng)的解決方案。作為一種先進(jìn)的數(shù)據(jù)訪問技術(shù),RDS能為計(jì)量測(cè)試系統(tǒng)遠(yuǎn)程數(shù)據(jù)訪問提供有力的技術(shù)基礎(chǔ)。

關(guān)鍵詞:ADO;RDS;三層應(yīng)用程序模型;計(jì)量測(cè)試系統(tǒng)

中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1004373X(2008)2008903

Research on the Technique of Remote Data Access Based on RDS

WANG Yingna1,SONG Jianbo2,XIANG Xiaomei2

(1.Navy 704 Factory,Qingdao,266109,China;2.PLA 91635 Unit,Beijing,102249,China;

3.93 Element,PLA 91388 Unit,Zhanjiang,524022,China)

Abstract:Building a measurement and test system to run on a network,one of the problems needing to solve is remote data access.The object model and programming model of RDS,the function and characteristics of RDS ,and the technology of remote data access based on RDS is described in this paper.After analyzing the security of RDS,a solution for insuring the security is put forward as a basic technique for the remote data access.As an advanced technology of remote data access,RDS can provide powerful technologic support for the remote data access in the measurement and test system.

Keywords:ADO;RDS;three-tier-application model;measurement and test system

1 引 言

隨著網(wǎng)絡(luò)的普及應(yīng)用,計(jì)量測(cè)試業(yè)務(wù)中已逐漸將遠(yuǎn)程數(shù)據(jù)訪問技術(shù)應(yīng)用到測(cè)量系統(tǒng)中。使用Microsoft ActiveX Data Objects (ADO)通過 OLE DB 提供者對(duì)在數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進(jìn)行訪問和操作。其主要優(yōu)點(diǎn)是易于使用、高速、內(nèi)存消耗低和占用磁盤空間較少。ADO 支持基于客戶端/服務(wù)器和瀏覽器/服務(wù)器模型的應(yīng)用。

RDS是ADO的組件,它提供快速且高效的數(shù)據(jù)連接,并為基于IE瀏覽器的應(yīng)用程序提供數(shù)據(jù)發(fā)布框架。它采用C/S架構(gòu)和分布式技術(shù),使用HTTP,HTTPS和DOCM應(yīng)用協(xié)議。通過 RDS 可以實(shí)現(xiàn)將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶端應(yīng)用程序或Web 頁、在客戶端對(duì)數(shù)據(jù)進(jìn)行處理然后將更新結(jié)果返回服務(wù)器的操作。RDS改善了客戶端性能和靈活性。

2 三層應(yīng)用程序模型

遠(yuǎn)程數(shù)據(jù)服務(wù)技術(shù)建立在3層應(yīng)用程序模型基礎(chǔ)上。該模型包括客戶端層、中間層和數(shù)據(jù)源層。

客戶端層 運(yùn)行Web 瀏覽器或單獨(dú)編譯的前端應(yīng)用程序。Web 瀏覽器顯示的Web 頁面可以顯示并處理來自遠(yuǎn)程數(shù)據(jù)源的數(shù)據(jù)。或者由前端應(yīng)用程序顯示并處理來自遠(yuǎn)程數(shù)據(jù)源的數(shù)據(jù)。

中間層 運(yùn)行封裝了組織業(yè)務(wù)規(guī)則的組件。中間層組件可以是在 Internet Information Server 上執(zhí)行的 Active Server Pages 腳本,或者是單獨(dú)編譯的可執(zhí)行文件。

數(shù)據(jù)源層 運(yùn)行數(shù)據(jù)庫管理系統(tǒng) (DBMS),該管理系統(tǒng)可以是 Microsoft SQL Server 數(shù)據(jù)庫或者其他的SQL數(shù)據(jù)庫。

這些層不必對(duì)應(yīng)網(wǎng)絡(luò)上的物理位置。所有三層可只存在于2臺(tái)計(jì)算機(jī)上。一臺(tái)計(jì)算機(jī)運(yùn)行Web瀏覽器,另一臺(tái)計(jì)算機(jī)運(yùn)行 Internet Information Server 和 Microsoft SQL Server;或者,一臺(tái)計(jì)算機(jī)運(yùn)行前端應(yīng)用程序,另一臺(tái)計(jì)算機(jī)運(yùn)行中間層組件和 Microsoft SQL Server。

3 RDS對(duì)象模型

RDS對(duì)象模型包括3個(gè)主要的對(duì)象: RDS Server.Data Factory,RDS.DataSpace,RDS.Data Control。如圖1所示。

3.1 服務(wù)器端對(duì)象RDSServer.Data Factory

RDSServer.DataFactory對(duì)數(shù)據(jù)源執(zhí)行 SQL 查詢并返回 Recordset 對(duì)象,或從客戶端獲得 Recordset 對(duì)象并更新數(shù)據(jù)源。RDS.DataFactory 不進(jìn)行任何驗(yàn)證,也沒有建立業(yè)務(wù)規(guī)則。如果需要具備驗(yàn)證和業(yè)務(wù)規(guī)則功能,則必須創(chuàng)建自定義業(yè)務(wù)對(duì)象來取代RDS.DataFactory對(duì)象。Visual Basic 6.0 企業(yè)版是創(chuàng)建自定義業(yè)務(wù)對(duì)象(ActiveX DLL)的一個(gè)很好用的工具。創(chuàng)建ActiveX DLL后,必須在服務(wù)器上注冊(cè),還必須在中間服務(wù)器上添加 DLL 的 PROGID 到系統(tǒng)注冊(cè)表入口中給予 DLL 啟動(dòng)的權(quán)限:

[HKEY_LOCAL_MACHIN\\SYSTEM\\Current ControlSet\\Services\\W3SVC\\Parameters\\ADC Launch]

3.2 客戶端對(duì)象RDS.DataSpace和RDS.DataControl

RDS.DataSpace 是一個(gè)非可視的客戶端對(duì)象。它允許用 RDS 通過 HTTP,HTTPS 或 DCOM 創(chuàng)建一個(gè)位于遠(yuǎn)程服務(wù)器上的業(yè)務(wù)對(duì)象實(shí)例。RDS.DataSpace 為業(yè)務(wù)對(duì)象創(chuàng)建一個(gè)客戶端代理。客戶端代理幫助在不同的機(jī)器之間壓縮、傳送 (組織)和解壓縮ADO記錄集。

DataSpace對(duì)象負(fù)責(zé)與服務(wù)器進(jìn)行通信,同時(shí)也是數(shù)據(jù)傳輸?shù)耐ǖ馈ataSpace對(duì)象由客戶端腳本語言或用HTML語言中的<OBJECT>標(biāo)記創(chuàng)建。使用RDS.DataSpace的Create Object方法,可以在遠(yuǎn)程服務(wù)器上創(chuàng)建一個(gè) RDS.DataFactory 實(shí)例。RDS.Data Space對(duì)象與RDS Server.Data Factory協(xié)同工作。RDS.Data Factory執(zhí)行查詢并返回ADO記錄集。RDS.Data Space 將ADO記錄集下載到客戶端,重建記錄集,并設(shè)置RDS.Data Control的Source Recordset到重建的記錄集。

RDS.DataControl數(shù)據(jù)控件負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)及管理。它與HTML元素綁定在一起才能顯示數(shù)據(jù)。數(shù)據(jù)控件為HTML元素提供數(shù)據(jù),由HTML元素將數(shù)據(jù)顯示在Internet Explorer 的 Web 頁上。

綁定數(shù)據(jù)控件與HTML元素,需要設(shè)置HTML元素2個(gè)屬性DATASRC和DATAFLD。DATASRC,確定包含數(shù)據(jù)的數(shù)據(jù)控件。在數(shù)據(jù)源名稱前總是要加一個(gè)“#”。DATAFLD,確定綁定數(shù)據(jù)控件中的哪個(gè)字段。這些字段是數(shù)據(jù)控件管理的數(shù)據(jù)中的列名。對(duì)于一個(gè)數(shù)據(jù)庫,就是表中的列名。

RDS.DataControl 對(duì)象也有其自己的方法用于定位、排序和篩選記錄。這些方法與ADO Recordset 對(duì)象的方法相似。

3.3 RDS事件

RDS支持2個(gè)獨(dú)立于ADO事件模型的自身事件:onReadyStateChange,onError。

在RDS.DataControl 的ReadyState 屬性更改時(shí)調(diào)用onReadyStateChange事件,以此對(duì)異步操作的完成、結(jié)束或出現(xiàn)錯(cuò)誤等發(fā)出通知。

當(dāng)發(fā)生錯(cuò)誤時(shí),包括在異步操作執(zhí)行的過程中發(fā)生錯(cuò)誤時(shí),調(diào)用onError事件。

4 RDS編程模型

RDS通過 Internet Information Server訪問和更新數(shù)據(jù)源。編程模型則指定為完成這個(gè)目的所必需的活動(dòng)序列。

RDS實(shí)現(xiàn)三層應(yīng)用程序環(huán)境中的數(shù)據(jù)遠(yuǎn)程訪問:客戶端應(yīng)用程序指定將在服務(wù)器上執(zhí)行的程序,并指定用來返回相應(yīng)信息的參數(shù)。服務(wù)器上被調(diào)用的程序訪問指定的數(shù)據(jù)源、檢索信息、對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理,然后將結(jié)果信息返回給客戶端應(yīng)用程序。

RDS 按照以下編程模型工作:

(1) 創(chuàng)建DataSpace對(duì)象,并指定服務(wù)器上運(yùn)行的程序(DataFactory或自定義業(yè)務(wù)對(duì)象)。

(2) 將參數(shù)傳送到服務(wù)器程序并調(diào)用服務(wù)器程序(DataFactory或自定義業(yè)務(wù)對(duì)象)。服務(wù)器程序通過ADO 訪問數(shù)據(jù)源。

(3) 服務(wù)器程序從數(shù)據(jù)源獲得Recordset 對(duì)象。DataFactory可以對(duì)Recordset 對(duì)象進(jìn)行處理。

(4) 服務(wù)器程序與DataSpace對(duì)象協(xié)作將Recordset 對(duì)象返回客戶端DataControl對(duì)象。

(5) DataControl對(duì)象與HTML可視化控件綁定,Recordset 對(duì)象被轉(zhuǎn)換成為便于可視化控件使用的格式。

(6) 對(duì)客戶端Recordset對(duì)象所做的修改都將通過DataSpace對(duì)象返回給服務(wù)器程序DataFactory或自定義業(yè)務(wù)對(duì)象,服務(wù)器程序用這些修改后的記錄集更新數(shù)據(jù)源。

RDS運(yùn)行流程如圖2所示:

4.1 RDS對(duì)象的創(chuàng)建順序

先創(chuàng)建DataSpace對(duì)象:

<OBJECT ID=\"RDS1\" WIDTH=1 HEIGHT=1

CLASSID=\"CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36\"> </OBJECT>

再由DataSpace對(duì)象創(chuàng)建DataFactory對(duì)象:

Set DF1 = DS1.CreateObject(\"RDSServer.DataFactory\",\"http://<%=Request.ServerVariables(\"SERVER_NAME\")%>\")

或者:

先創(chuàng)建DataControl對(duì)象(順序上與DataSpace和DataFactory沒有依賴關(guān)系):

<OBJECT CLASSID=\"clsid:BD96C556-65A3-11D0-983A-00C04FC29E33\" ID=\"DC1\">

<PARAM NAME=\"SQL\" VALUE=\"SELECT * FROM authors\">

<PARAM NAME=\"Connect\" VALUE=\"DSN=YourDSN\">

<PARAM NAME=\"Server\" VALUE=\"http://YourServer/\">

</OBJECT>

再由DataControl對(duì)象創(chuàng)建DataFactory對(duì)象:

Set DF1 = DC1.CreateObject(\"RDSServer.DataFactory\",\"http:// <%=Request.ServerVariables(\"SERVER_NAME\")%>\")

使用RDSServer.DataFactory對(duì)象的Query方法獲得Recordset對(duì)象:

Dim RS as ADODB.Recordset

Set DF1 = DS1.CreateObject(\"RDSServer.DataFactory\",\"http://yourServer\")

Set RS = DF1.Query (\"DSN=pubs\",\"SELECT * FROM authors\")

4.2 Recordset對(duì)象的使用

Web 頁上的可視控件無法直接訪問Recordset對(duì)象。但可以通過 DataControl訪問Recordset對(duì)象。當(dāng) DataControl的SourceRecordset屬性設(shè)置為Recordset對(duì)象時(shí),DataControl 便可被可視控件使用。將可視控件對(duì)象的DATASRC參數(shù)設(shè)置為 RDS.DataControl,并將 DATAFLD 屬性設(shè)置為 Recordset 對(duì)象字段。

DC1.SourceRecordset = RS

<DIV DATASRC=\"#DC1\" DATAFLD=\"au_fname\"></DIV>

<DIV DATASCR=\"#DC1\" DATAFLD=\"au_lname\"></DIV>

5 RDS的安全問題

在創(chuàng)建DataControl對(duì)象時(shí),如果使用Connect和SQL屬性,連接服務(wù)器的名稱以及數(shù)據(jù)庫的相關(guān)細(xì)節(jié)就暴露出來,獲得DSN、用戶標(biāo)識(shí)符和密碼信息的外部用戶可以編寫將任何查詢發(fā)送到該數(shù)據(jù)源的頁面。安全的做法是使用URL屬性。這樣,用戶所見到的是一個(gè)ASP網(wǎng)頁的URL地址,沒有任何有關(guān)服務(wù)器和數(shù)據(jù)庫的詳細(xì)信息。

<OBJECT CLASSID=\"clsid:BD96C556-65A3-11D0-983A-00C04FC29E33\" ID=\"DC1\" > <PARAM NAME=\"URL\" VALUE=\"DataPage.asp\"> </OBJECT>

如果希望對(duì)數(shù)據(jù)源有更多的限制訪問,可以取消注冊(cè)并刪除 DataFactory對(duì)象 (msadcf.dll),用自定義業(yè)務(wù)對(duì)象取代DataFactory對(duì)象。

6 結(jié) 語

RDS采用基于SSL(Secure Sockets Layer)的HTTPS協(xié)議,將記錄集透明地緩存到客戶端,在客戶端處理數(shù)據(jù)后將修改的記錄集提交給服務(wù)器更新數(shù)據(jù)源。避免反復(fù)訪問服務(wù)器數(shù)據(jù),節(jié)約了服務(wù)器資源,使得開發(fā)以數(shù)據(jù)為中心的基于網(wǎng)絡(luò)的數(shù)據(jù)庫應(yīng)用程序更簡(jiǎn)單,提高了遠(yuǎn)程數(shù)據(jù)訪問的安全水平,從而為計(jì)量測(cè)試業(yè)務(wù)中利用該技術(shù)進(jìn)行遠(yuǎn)程數(shù)據(jù)訪問提供了技術(shù)支持。

參考文獻(xiàn)

[1]John V Petersen.ADO Jumpstart for Microsoft Visual FoxPro Developers,1999.

[2]Kamaljit Bath.Using the Customization Handler Feature in RDS 2.1,1999.

[3]Kamaljit Bath.Remote Data Service in MDAC,1998.

[4]Rob Thayer.Visual Basic 6 揭秘\\.北京:電子工業(yè)出版社,1999.

[5]習(xí)勝豐.基于RDS與MTS的N層事務(wù)性Web數(shù)據(jù)庫應(yīng)用程序的構(gòu)造與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2003(11):19-21.

[6]李寧,許林英.MTS資源管理深入分析及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2002,19(5):30-40,48.

[7]丁鵬,劉莉.C/S,B/S模式中的分布式計(jì)算與MTS解決方案[J].計(jì)算機(jī)應(yīng)用研究.2000,17(12):60-62.

[8]彭江平,謝勇.利用RDS實(shí)現(xiàn)瀏覽器環(huán)境下的批量數(shù)據(jù)修改[J].微型機(jī)與應(yīng)用,2000,19(6):55-58.

[9]劉福明,顧文涓,李莉,等.基于MTS的三層結(jié)構(gòu)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2002,19(5):92-94.

[10]鄧亞玲,王新房,潘永湘,等.RDS在Web基信息管理系統(tǒng)開發(fā)中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(3):135-137.

[11]賴學(xué)成,張薇薇.基于B/S結(jié)構(gòu)的數(shù)據(jù)綁定技術(shù)及遠(yuǎn)程數(shù)據(jù)服務(wù)應(yīng)用的構(gòu)筑[J].計(jì)算機(jī)工程,2001,27(1):130-132.

[12]李革新,陳建新.基于Web數(shù)據(jù)庫的開發(fā)方案及其編程模型研究[J].計(jì)算機(jī)工程,2001,27(12):191-193.

作者簡(jiǎn)介 王瑩娜 女,1972年出生,碩士研究生,海軍704廠工程師。

主站蜘蛛池模板: 无码国产伊人| 无码日韩视频| 国禁国产you女视频网站| 国产成人超碰无码| 91人妻日韩人妻无码专区精品| 尤物视频一区| 午夜不卡视频| 97se综合| 精品国产免费观看一区| 国产精品亚欧美一区二区三区| 天天躁夜夜躁狠狠躁图片| 日本一本正道综合久久dvd | 国产精品亚洲va在线观看| 大香网伊人久久综合网2020| 在线欧美日韩国产| 免费在线a视频| 国产一区二区精品福利| 毛片网站在线播放| 免费在线不卡视频| 日本免费福利视频| 精品少妇人妻一区二区| 99热国产这里只有精品无卡顿"| 亚洲人成人伊人成综合网无码| 亚洲综合一区国产精品| 亚洲AⅤ波多系列中文字幕| 毛片在线区| 国产激情在线视频| 国产91久久久久久| 亚洲成人网在线观看| 好吊日免费视频| 欧美激情视频在线观看一区| 亚洲成a∧人片在线观看无码| 无码不卡的中文字幕视频| 亚洲成a人片7777| 国产a v无码专区亚洲av| 精品丝袜美腿国产一区| 无码国产伊人| 欧美在线综合视频| 亚洲va视频| 午夜视频日本| 国产爽妇精品| 日韩无码一二三区| 日韩精品高清自在线| 国产精品理论片| 日韩毛片免费观看| 3344在线观看无码| 97se亚洲综合| 久久综合伊人 六十路| 国产成人久视频免费| 九色在线观看视频| 999福利激情视频| 久久成人免费| 无码AV高清毛片中国一级毛片| 99国产精品免费观看视频| 在线国产你懂的| 色婷婷亚洲十月十月色天| 亚洲热线99精品视频| 久久精品女人天堂aaa| 日本高清视频在线www色| 园内精品自拍视频在线播放| 国产成人亚洲精品蜜芽影院| 国产亚洲欧美在线专区| 欧美日韩国产高清一区二区三区| 国产亚洲精久久久久久久91| 99re免费视频| 热re99久久精品国99热| 国产免费怡红院视频| 久久福利片| 色悠久久综合| 91蝌蚪视频在线观看| 噜噜噜综合亚洲| 国产精品思思热在线| 女人18一级毛片免费观看| 91丝袜乱伦| 免费看一级毛片波多结衣| 亚洲欧美色中文字幕| 国产精品99r8在线观看| 国产精品久线在线观看| 白浆视频在线观看| 91小视频版在线观看www| 男女性午夜福利网站| 日韩精品久久无码中文字幕色欲|