基于WinCENet平臺(tái)電力巡檢儀數(shù)據(jù)同步研究與實(shí)現(xiàn)_第1頁
基于WinCENet平臺(tái)電力巡檢儀數(shù)據(jù)同步研究與實(shí)現(xiàn)_第2頁
基于WinCENet平臺(tái)電力巡檢儀數(shù)據(jù)同步研究與實(shí)現(xiàn)_第3頁
基于WinCENet平臺(tái)電力巡檢儀數(shù)據(jù)同步研究與實(shí)現(xiàn)_第4頁
基于WinCENet平臺(tái)電力巡檢儀數(shù)據(jù)同步研究與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于WinCE.Net平臺(tái)電力巡檢儀數(shù)據(jù)同步研究與實(shí)現(xiàn)*林和平1 康海鋒2 鄧志超3 張艷芬4收稿日期:2006-10-31基金項(xiàng)目:長(zhǎng)春市婦產(chǎn)科醫(yī)院HIS系統(tǒng)(已獲國(guó)家專利)(2005SR14299)作者簡(jiǎn)介:林和平(1956-),男,滿族,吉林省長(zhǎng)春市東北師范大學(xué)計(jì)算機(jī)學(xué)院,教授,現(xiàn)主要從事軟件工程,系統(tǒng)方法論,嵌入式應(yīng)用方面的研究 康海鋒(1981-),男,漢族,吉林白城市,東北師范大學(xué)04級(jí)研究生,現(xiàn)主要從事嵌入式應(yīng)用方面的研究 (1.東北師范大學(xué)計(jì)算機(jī)學(xué)院 長(zhǎng)春市 130117;2.東北師范大學(xué)計(jì)算機(jī)學(xué)院04級(jí)研 長(zhǎng)春市 130117;3.東北師范大學(xué)計(jì)算機(jī)學(xué)院04級(jí)研 長(zhǎng)春市 13

2、0117;4.東北師范大學(xué)計(jì)算機(jī)學(xué)院05級(jí)研 長(zhǎng)春市 130117;)摘要:介紹了基于Windows CE1嵌入式4系統(tǒng)平臺(tái)的電力巡檢儀與PC數(shù)據(jù)庫(kù)服務(wù)器間數(shù)據(jù)的傳輸與同步模型。整個(gè)應(yīng)用系統(tǒng)為C/S模式,采用工業(yè)標(biāo)準(zhǔn)TCP/IP體系結(jié)構(gòu),利用Microsoft Visual Studio .NET 2003實(shí)現(xiàn)工業(yè)作業(yè)中的網(wǎng)絡(luò)通信。重點(diǎn)研究并實(shí)現(xiàn)了使用遠(yuǎn)程數(shù)據(jù)訪問RDA對(duì)象,實(shí)現(xiàn)Pocket PC上的SQL Server CE數(shù)據(jù)庫(kù)與遠(yuǎn)程PC服務(wù)器上的SQL Server 2000數(shù)據(jù)庫(kù)數(shù)據(jù)同步與交換,最后以電力巡檢系統(tǒng)為例,從系統(tǒng)平臺(tái)的選擇、搭建、網(wǎng)絡(luò)協(xié)議,遠(yuǎn)程數(shù)據(jù)訪問及系統(tǒng)實(shí)現(xiàn)等幾個(gè)方面給

3、出了系統(tǒng)的整體架構(gòu)。關(guān)鍵詞:Pocket PC;數(shù)據(jù)同步;遠(yuǎn)程數(shù)據(jù)訪問;TCP/IP協(xié)議;中圖法分類號(hào): TP3 文獻(xiàn)標(biāo)識(shí)碼:A Development of Data Synchronization of Power Scouting Instrument Basing on the WinCE.NetLIN He-ping1 KANG Hai-feng2 DENG Zhi-chao3 ZHANG Yan-fen4(1.Department of Computer, Northeast Normal University, Changchun 130017, China2.Departmen

4、t of Computer, Northeast Normal University, Changchun 130017, China3.Department of Computer, Northeast Normal University, Changchun 130017, China4.Department of Computer, Northeast Normal University, Changchun 130017, China)Abstract: Introducing power scouting Instrument based on Windows CE the embe

5、dded system platform and the PC database server the data transmission and the synchronizing model. The entire application system is C/The S pattern, the client side is the service subset, uses industry standard TCP/The IP architecture, using Microsoft Visual Studio.NET 2003 programming realizes the

6、network correspondence in the industry. Key studying and realizing using the RDA object, realizing the data synchronization and the exchange of the SQL Server CE database of Pocket PC and the SQL Server 2000 database of long-distance PC server, finally taking the electric power scout system as the e

7、xample, from the system platform choice, the building, the network protocol, the Remote Data Access and the system realization and so on several aspects gives the system overall construction.Key words: Pocket pc; Data synchronization; Remote data access;Protocol Tcp/ip;0 引言數(shù)據(jù)同步已經(jīng)成為移動(dòng)計(jì)算的一種基礎(chǔ)應(yīng)用模式。但由于在

8、移動(dòng)環(huán)境中設(shè)備多樣,需要交互的數(shù)據(jù)也千差萬別,再加之連接特性很不穩(wěn)定,這就要求用標(biāo)準(zhǔn)的方法來實(shí)現(xiàn)數(shù)據(jù)同步,使之能成為移動(dòng)計(jì)算環(huán)境中的一個(gè)基礎(chǔ)設(shè)施。我們?cè)赑ocket PC 2002中加載了SQL Server CE作為Pocket PC的數(shù)據(jù)庫(kù),在Windows Server 2003中加載了SQL Server 2000作為普通臺(tái)式計(jì)算機(jī)的數(shù)據(jù)庫(kù),同時(shí)采用了Microsoft Visual Studio .NET 2003作為研究的開發(fā)平臺(tái),Pocket PC與普通PC計(jì)算機(jī)之間的數(shù)據(jù)同步采用XML方式進(jìn)行。1 搭建平臺(tái)硬環(huán)境及軟環(huán)境1.1下載和安裝SQL Server CE在微軟的相關(guān)網(wǎng)站

9、上下載SQL Server CE 2.0或以上的版本,將Pocket PC與桌面計(jì)算機(jī)正確建立合作關(guān)系,進(jìn)行數(shù)據(jù)通訊,按要求在桌面計(jì)算機(jī)上正確安裝SQL Server CE,安裝時(shí),通過建立的合作關(guān)系,安裝程序會(huì)將SQL Server CE同時(shí)安裝到Pocket PC 上。1.2 配置基于IIS的Web服務(wù)器要想通過Pocket PC直接訪問服務(wù)器中的SQL Server 2000數(shù)據(jù)庫(kù)中的數(shù)據(jù),在服務(wù)器上必須安裝IIS,建立web服務(wù)器。正確安裝IIS后還要進(jìn)行下面的配置:打開“控制面板->Internet信息服務(wù)”,設(shè)置步聚如下: (1)增加虛擬目(2)虛擬目錄名稱為:power(電

10、力)(3)填寫虛擬目錄路徑:將存放SQL Server CE的系統(tǒng)目錄下Server于目錄作為虛擬目錄路徑,如:D:Microsoft SQL Server CE 2.OServer。該目錄下包含sscesa20.dll等文件。(4)設(shè)置訪問權(quán)限:該目錄應(yīng)該設(shè)置為讀取和寫入,執(zhí)行許可應(yīng)設(shè)置為:腳本和可執(zhí)行程序。(5)測(cè)試SQL Server CE IE安裝是否正確:打開IE瀏覽器,在地址欄中輸入http:1/sqlce/sscesa20.dll,其中,1是Web服務(wù)器IP地址,系統(tǒng)返回:SQL Server CE Server Agent,則表明設(shè)置

11、正確。1.3服務(wù)器上配置SQL Server CESQL Server CE安裝后畢,打開“程序Microsoft SQL Server CE 2.0->Configure Connectivity Support in IIS”,執(zhí)行Conf-igure Connectivity Support in IIS菜單項(xiàng),對(duì)相關(guān)項(xiàng)目進(jìn)行配置,這樣的配置是必須的。2 遠(yuǎn)程數(shù)據(jù)訪問RDA(Remote Data Access)RDA對(duì)象,是SQL Server CE自帶的,它為Windows CE應(yīng)用程序訪問遠(yuǎn)程的SQL Server 2000 數(shù)據(jù)庫(kù)提供了一種簡(jiǎn)單的訪問方式。利用它可以將存在P

12、ocket PC上的數(shù)據(jù)直接寫入到遠(yuǎn)程的SQL Server 2000數(shù)據(jù)庫(kù)中或?qū)⑦h(yuǎn)程的SQL Server 2000數(shù)據(jù)庫(kù)的數(shù)據(jù)下載到Pocket PC中的SQL Server CE數(shù)據(jù)庫(kù)中的一個(gè)數(shù)據(jù)表中,這樣就實(shí)現(xiàn)了數(shù)據(jù)的交換與同步。安裝完SQL Server CE后,我們就可以在開發(fā)平臺(tái)如:Embedded Visual C+或Micro-soft Visual Studio.NET 2003中使用RDA對(duì)象來訪問SQL Server 2000數(shù)據(jù)庫(kù)中數(shù)據(jù)。我們使用的是Microsoft Visual Studio.NET 2003開發(fā)平臺(tái)。RDA對(duì)象有許多方法和屬性,主要的方法和屬性如

13、下表1 RDA 對(duì)象的主要方法(method):方 法功 能 說 明Pull方法從Microsoft SQL Server數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)存放在SQL Server CE數(shù)據(jù)庫(kù)中的一個(gè)表中。注意,該表應(yīng)是一個(gè)不存在的數(shù)據(jù)表執(zhí)行Pull方法后,會(huì)自動(dòng)建立數(shù)據(jù)表。Push方法將SQL Server CE數(shù)據(jù)庫(kù)表中已改變的數(shù)據(jù)上傳到Server CE數(shù)據(jù)庫(kù)的對(duì)應(yīng)表中。 方 法說 明InternetURI 屬性PC 服務(wù)器上sscesa20.dlI的訪問地址如:http:1/sqlce/sscesa20.dllLocalConnection String屬性String屬性Poc

14、ket PC的數(shù)據(jù)庫(kù)訪問連接串表2 RDA對(duì)象的主要屬性(Property)3 程序設(shè)計(jì)采用Microsoft Visual Studio.NET 2003作為開發(fā)工具,開發(fā)語言是C#,服務(wù)器采用Windows Server 2003數(shù)據(jù)庫(kù)采用SQL Server 2000,SQL Server CE 。3.1 在Pocket PC上創(chuàng)建SQL Server CE數(shù)據(jù)庫(kù)SQL Server CE 中的數(shù)據(jù)庫(kù)是存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的表集合。在可以存儲(chǔ)數(shù)據(jù)庫(kù)之前,必須創(chuàng)建數(shù)據(jù)庫(kù)。在創(chuàng)建數(shù)據(jù)庫(kù)之后,可以創(chuàng)建保存數(shù)據(jù)的表。首先在Pocket PC上創(chuàng)建一個(gè)名為PowerDB.sdf的SQL Server C

15、E數(shù)據(jù)庫(kù)3.2創(chuàng)建WalkThrough類public class WalkThrough static void Main() SqlCeConnection conn = null;if (File.Exists ("PowerDB.sdf")/判斷 File.Delete ("PowerDB.sdf");SqlCeEngine engine = new SqlCeEngine ("Data Source = PowerDB.sdf");/創(chuàng)建空數(shù)據(jù)庫(kù)engine.CreateDatabase ();conn = new SqlC

16、eConnection ("Data Source = PowerDB.sdf");/連接到新數(shù)據(jù)庫(kù) conn.Open();運(yùn)行上述代碼將會(huì)在Pocket PC上建立一個(gè)名為PowerDB.sdf的數(shù)據(jù)庫(kù),用于訪問該數(shù)據(jù)的數(shù)據(jù)源為PowerDB。3.3 數(shù)據(jù)庫(kù)同步代碼為了使Pocket PC上數(shù)據(jù)庫(kù)數(shù)據(jù)與PC服務(wù)器上的數(shù)據(jù)庫(kù)數(shù)據(jù)保持同步,我們采用遠(yuǎn)程數(shù)據(jù)訪問(RDA)對(duì)象來實(shí)現(xiàn)下面簡(jiǎn)單介紹設(shè)計(jì)及實(shí)現(xiàn)方法。3.3.1初始設(shè)置下面代碼對(duì)Pocket PC的數(shù)據(jù)庫(kù)連接和要保持同步的遠(yuǎn)程服務(wù)器SQL Server 2000數(shù)據(jù)庫(kù)連接進(jìn)行初始設(shè)置:private void RDAF

17、m_Load(object sender, System.EventArgs e) /加載同步窗體即初始化synDS=new DataSet();/聲明數(shù)據(jù)集synDS.Locale=CultureInfo.CurrentCulture;CurrentFolder=System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;/獲取程序集URL位置CurrentFolder=CurrentFolder.Substring(0,CurrentFolder.LastIndexOf("")+1);xmlF

18、ileName=CurrentFolder+"SynConfig.xml"/獲取文件名xsdFileName=CurrentFolder+"SynConfig.xsd"/獲取文件名FileStream FsXML = new FileStream(xmlFileName,FileMode.Open);FileStream FsXSD = new FileStream(xsdFileName,FileMode.Open);XmlTextReader xtrXSD = new XmlTextReader(FsXSD);synDS.ReadXmlSchema(

19、xtrXSD);xtrXSD.Close();FsXSD.Close();XmlTextReader xtrXML = new XmlTextReader(FsXML);synDS.ReadXml(xtrXML);xtrXML.Close();FsXML.Close();DataTable dt=synDS.Tables"SynCon"/定義數(shù)據(jù)集中的表/為控件獲取數(shù)據(jù)綁定Text.DataBindings.Add(newBinding("Text",dt,"name"); 3.3.2數(shù)據(jù)同步2方法:數(shù)據(jù)下載(同步到本機(jī))與上傳(同步

20、到服務(wù)器)筆者利用RDA的Push和Pull方法分別實(shí)現(xiàn)了將掌上電腦上的SQL Server CE數(shù)據(jù)庫(kù)的數(shù)據(jù)上傳到PC服務(wù)器上的SQL Server 2000數(shù)據(jù)庫(kù)中及將PC上SQL Server 2000數(shù)據(jù)庫(kù)中數(shù)據(jù)下載到掌上電腦的SQL Server CE數(shù)據(jù)庫(kù)中。將SQL Sever 2000數(shù)據(jù)庫(kù)中PowerDB的表中數(shù)據(jù)下載到SQL Server CE數(shù)據(jù)庫(kù)中同名的表中:下面我們介紹一下這兩種方法:rdaPush();/數(shù)據(jù)上傳方法private void rdaPush ()SqlCeRemoteDataAccess rda = null;rda = new SqlCeRemot

21、eDataAccess();rda.InternetLogin = login; rda.InternetPassword = pwd;rda.InternetUrl = URL;rda.LocalConnectionString = localConnectionString;rda.Push("ctlRoom",rdaOleDbConnectString,RdaBatchOption.BatchingOn); rda.Push("ctlRoomRecord",rdaOleDbConnectString,RdaBatchOption.BatchingO

22、n);rda.Push("scoutRecord",rdaOleDbConnectString,RdaBatchOption.BatchingOn);MessageBox.Show("數(shù)據(jù)上傳成功");rda.Dispose();rdaPull();/數(shù)據(jù)下載方法private void rdaPull()if (File.Exists (dbName+".sdf") File.Delete (dbName+".sdf");SqlCeEngine engine = new SqlCeEngine (localDbS

23、tring); engine.CreateDatabase (); SqlCeRemoteDataAccess rda = null;rda = new SqlCeRemoteDataAccess();rda.InternetLogin = login;rda.InternetPassword = pwd;rda.InternetUrl = URL;rda.LocalConnectionString = localConnectionString;rda.Pull("tableName", "Select * from tableName ", rdaO

24、leDbConnectString, RdaTrackOption.TrackingOffWithIndexes , "ErrorTable");string day=string.Empty; /條件同步GetDate(ref day);/獲取當(dāng)前日期格式/基本信息,需要上傳服務(wù)器rda.Pull(" tableName ", "Select * from tableName", rdaOleDbConnectString, RdaTrackOption.TrackingOnWithIndexes);MessageBox.Show(

25、"數(shù)據(jù)下載成功!");rda.Dispose();3.3.3用標(biāo)準(zhǔn)的SQL語句修改遠(yuǎn)程PC服務(wù)器數(shù)據(jù)庫(kù)中的數(shù)據(jù)除了用Pull,Push方法下載和上傳數(shù)據(jù)外,RDA 的Submit SQL方法還支持用標(biāo)準(zhǔn)的語句如:Insert into、Update、delete等語句對(duì)遠(yuǎn)程的PC服務(wù)器端SQL Sever 2000數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行增加、更新等操作甚至還可以使用存貯過程對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,在這里筆者不做以詳細(xì)介紹了。4 巡檢系統(tǒng)軟件實(shí)現(xiàn)嵌入式系統(tǒng)與一般PC在開發(fā)硬件環(huán)境上的最大差異在于它分為兩個(gè)平臺(tái):開發(fā)平臺(tái)和目標(biāo)平臺(tái),程序在主機(jī)端開發(fā)、編譯,在目標(biāo)平臺(tái)的另一個(gè)CUP平臺(tái)上執(zhí)行,

26、這就造成了嵌入式系統(tǒng)的交叉編譯、下載程序到目標(biāo)平臺(tái)內(nèi)存、遠(yuǎn)程調(diào)試的特殊現(xiàn)象。遠(yuǎn)程調(diào)試實(shí)際包含兩部分軟件,前端運(yùn)行在主機(jī)并提供人機(jī)界面;后端運(yùn)行在目標(biāo)機(jī)上,它負(fù)責(zé)通過某種鏈路來和前端通信。后端被稱作調(diào)試監(jiān)控器(debug monitor),它提供了對(duì)目標(biāo)處理器的底層控制。4.1 系統(tǒng)的選擇與組成應(yīng)用系統(tǒng)主要由兩部分組成見圖1??蛻舳?目標(biāo)機(jī)采用嵌入式Windows CE操作系統(tǒng)為平臺(tái),相應(yīng)的開發(fā)語言為C#;實(shí)現(xiàn)功能:在本文中執(zhí)行C/S中的服務(wù)器進(jìn)程。服務(wù)器端:主機(jī)采用Windows Server 2003,開發(fā)工具為面向?qū)ο蟮腗icrosoft Visual Studio -.NET 2003,

27、數(shù)據(jù)庫(kù)管理系統(tǒng)采用SQL Server 2000; 實(shí)現(xiàn)功能:在本文中執(zhí)行C/S中的客戶進(jìn)程。提出與目標(biāo)機(jī)的連接請(qǐng)求,在連接成功后與客戶端進(jìn)行數(shù)據(jù)上傳與下載。 圖1客戶/服務(wù)器模式的系統(tǒng)組成Fig.1 System Framework of Client/Server Mode4.2 TCP/IP協(xié)議隨著因特網(wǎng)的迅速發(fā)展,使TCP/IP體系結(jié)構(gòu)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。TCP/IP協(xié)議把網(wǎng)絡(luò)協(xié)議看成5層的層次模型,如圖2所示。 圖2 網(wǎng)絡(luò)協(xié)議層次模型Fig.2 Hiberarchy of Net Communication Protocol 上圖中每個(gè)層都實(shí)現(xiàn)自己的功能,且每層的功能都是其上一層提

28、供的服務(wù)基礎(chǔ)。網(wǎng)絡(luò)層協(xié)議IP協(xié)議,它提供在通信子網(wǎng)中進(jìn)行路由選擇的算法。IP協(xié)議使用IP地址來確定發(fā)送端(源主機(jī))和接收端(目的主機(jī)),提供端到端的數(shù)據(jù)同步。傳輸層中有TCP協(xié)議,該層協(xié)議提供主機(jī)之間的進(jìn)程與進(jìn)程的有效數(shù)據(jù)傳輸,數(shù)據(jù)的發(fā)送端和接收端都要建立起端點(diǎn),形成連接關(guān)系,這兩個(gè)端點(diǎn)即為“套接字”4.3 系統(tǒng)軟件實(shí)現(xiàn)本系統(tǒng)是面向客戶機(jī)/服務(wù)器模式設(shè)計(jì)的,其系統(tǒng)必須包括客戶和服務(wù)器的兩個(gè)進(jìn)程,而且服務(wù)器進(jìn)程要先于客戶進(jìn)程啟動(dòng),在提供服務(wù)時(shí)必定存在服務(wù)器進(jìn)程和客戶進(jìn)程兩個(gè)運(yùn)行著的進(jìn)程。圖3所示為目標(biāo)機(jī)上的服務(wù)器進(jìn)程和主機(jī)上的客戶進(jìn)程的執(zhí)行順序和流程圖。 圖3 C/S系統(tǒng)執(zhí)行的流程圖Fig.3 Running Flow Chart of C/S System5 總結(jié)借助網(wǎng)絡(luò)通信實(shí)現(xiàn)電力巡檢中巡檢信息的共享和同步,可極大提高巡檢管理的自動(dòng)化程度和生產(chǎn)效率。在遠(yuǎn)程服務(wù)器上建立中央巡檢數(shù)據(jù)庫(kù),在現(xiàn)場(chǎng)巡檢儀中僅設(shè)置小容量數(shù)據(jù)庫(kù);由中央數(shù)據(jù)庫(kù)對(duì)整個(gè)系統(tǒng)中的電力設(shè)備進(jìn)行統(tǒng)一的管理調(diào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論