一種Excel數(shù)據(jù)服務(wù)器及其應(yīng)用的制作方法
【專利摘要】本發(fā)明公開了一種Excel數(shù)據(jù)服務(wù)器及其應(yīng)用,包括表示層、功能層和數(shù)據(jù)層三層結(jié)構(gòu):所述表示層:提供簡潔的人機交互界面,負(fù)責(zé)數(shù)據(jù)顯示和客戶端的數(shù)據(jù)處理,由客戶機實現(xiàn);功能層:實現(xiàn)業(yè)務(wù)邏輯,即實現(xiàn)客戶與數(shù)據(jù)庫對話,同時,在這一層中,還應(yīng)實現(xiàn)分布式管理、負(fù)載均衡、安全隔離;它是一個遠(yuǎn)程模塊,由Excel數(shù)據(jù)服務(wù)器來實現(xiàn);數(shù)據(jù)層:負(fù)責(zé)數(shù)據(jù)管理,提供數(shù)據(jù)的存儲服務(wù),由數(shù)據(jù)庫服務(wù)器來實現(xiàn)。本發(fā)明具有部署方便,操作簡單、數(shù)據(jù)調(diào)用效率高、數(shù)據(jù)調(diào)用便捷、數(shù)據(jù)安全可靠等顯著特征。
【專利說明】-種Excel數(shù)據(jù)服務(wù)器及其應(yīng)用
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機【技術(shù)領(lǐng)域】,涉及一種Excel數(shù)據(jù)服務(wù)器及其應(yīng)用。
【背景技術(shù)】
[0002] Delphi,是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具(Rapid Application Development,簡稱RAD)。最早的版本由美國Borland (寶蘭)公司于1995年開發(fā)經(jīng)過數(shù)年 的發(fā)展,現(xiàn)轉(zhuǎn)移至Embarcadero公司旗下。Delphi是一個集成開發(fā)環(huán)境(IDE),使用的核心 是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、 VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個以面向?qū)ο蟪绦蛟O(shè)計為中心的應(yīng)用程 序開發(fā)工具。
[0003] Delphi采用面向?qū)ο蟮木幊陶Z言O(shè)bject Pascal和基于部件的開發(fā)結(jié)構(gòu)框架。 Delphi它提供了 500多個可供使用的構(gòu)件,利用這些部件,開發(fā)人員可以快速地構(gòu)造出應(yīng) 用系統(tǒng)。主要的技術(shù)特征包括:基于窗體和面向?qū)ο蟮姆椒ǎ咚俚木幾g器,強大的數(shù)據(jù)庫 支持,適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機/服務(wù)器模式到多層數(shù)據(jù)結(jié)構(gòu)模式,擁有新一代更 先進(jìn)的數(shù)據(jù)庫引擎,最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。
[0004] RemOb jects SDK (RO)就是一套組件技術(shù)。RO支持兩種訊息標(biāo)準(zhǔn),一個是SOAP (也 就是Web Services)、另一個則是Binary (二進(jìn)制訊息),支持SOAP可讓其它支持Web Services的開發(fā)工具經(jīng)由SOAP連上RO Server,支持Binary可以讓RO Client以更快的 速度與RO Server溝通,也支持混用這兩種訊息協(xié)議,也就是說只須撰寫一個Server并放 上這兩個訊息組件,這一個Server就可以同時服務(wù)使用SOAP與Binary訊息的Client端。 RO 支持 HTTP、TCP、Windows Message、DLL、UDP(2.0)、MSMQ (R0 Enterprise)多種通訊協(xié)議。
[0005] AD0(ActiveX Data Object)是OLE DB數(shù)據(jù)訪問方式的一種主要對象模型。ADO 是為MS的強大的數(shù)據(jù)訪問接口 OLE DB設(shè)計的,上一個便于使用的應(yīng)用程序?qū)?。OLE DB為 任何數(shù)據(jù)源都提供了高性能的訪問,包括:關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫、電子郵件、文件 系統(tǒng)、文本和圖形以及自定義業(yè)務(wù)對象等。ADO 2. 0實際上是基于MSAD015. DLL這個動態(tài)鏈 接庫的,它實現(xiàn)了更新的接口。如異步操作和事件模型、數(shù)據(jù)集的持續(xù)性、層次化的數(shù)據(jù)傳 輸?shù)取?br>
【發(fā)明內(nèi)容】
[0006] 為了克服現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明提供一種Excel數(shù)據(jù)服務(wù)器及其應(yīng)用, 利用Delphi編程語言結(jié)合ADO和RemObjects SDK(RO)等技術(shù),開發(fā)了 Excel數(shù)據(jù)服務(wù)器, 產(chǎn)品具有多線程負(fù)載能力強、支持存儲過程調(diào)用、服務(wù)器端采用數(shù)據(jù)庫連接池技術(shù)、服務(wù)器 端產(chǎn)品已封裝了常用的數(shù)據(jù)庫操作:增、刪、改、查等功能,使Excel數(shù)據(jù)進(jìn)入網(wǎng)絡(luò)化應(yīng)用模 式。作為數(shù)據(jù)服務(wù)器的應(yīng)用是一套程序,將它部署在服務(wù)器上,利用它能夠完成服務(wù)器端 Excel數(shù)據(jù)和客戶端ExcelClient. exe的數(shù)據(jù)調(diào)用、查詢、數(shù)據(jù)處理和分析等。其技術(shù)方案 如下:
[0007] -種Excel數(shù)據(jù)服務(wù)器,包括表示層、功能層和數(shù)據(jù)層三層結(jié)構(gòu):
[0008] 所述表示層:提供簡潔的人機交互界面,負(fù)責(zé)數(shù)據(jù)顯示和客戶端的數(shù)據(jù)處理,由客 戶機實現(xiàn);
[0009] 功能層:實現(xiàn)業(yè)務(wù)邏輯,即實現(xiàn)客戶與數(shù)據(jù)庫對話,同時,在這一層中,還應(yīng)實現(xiàn)分 布式管理、負(fù)載均衡、安全隔離等;它是一個遠(yuǎn)程模塊,由Excel數(shù)據(jù)服務(wù)器來實現(xiàn);
[0010] 數(shù)據(jù)層:負(fù)責(zé)數(shù)據(jù)管理,提供數(shù)據(jù)的存儲服務(wù),由數(shù)據(jù)庫服務(wù)器來實現(xiàn)。
[0011] 一種Excel數(shù)據(jù)服務(wù)器的應(yīng)用方法,Excel數(shù)據(jù)服務(wù)器ADO連接方法使用了 DCOM 協(xié)議,Excel服務(wù)器是一個遠(yuǎn)程數(shù)據(jù)模塊,通過ADO與SQL語句和數(shù)據(jù)庫服務(wù)器連接,負(fù) 責(zé)從數(shù)據(jù)庫服務(wù)器存取數(shù)據(jù)并通過Delphi的TDataSetProvider組件將數(shù)據(jù)分割成數(shù)據(jù) 包,然后通過DCOM協(xié)議傳遞到網(wǎng)絡(luò)上的客戶端,客戶端的組件負(fù)責(zé)還原數(shù)據(jù),這項工作由 TDCOMConnection 來完成。
[0012] 本發(fā)明的有益效果:本發(fā)明客戶端程序文件為ExcelClient. exe,可以在局域網(wǎng) 或因特網(wǎng)環(huán)境中實現(xiàn)與服務(wù)器端的無縫連接,完成Excel數(shù)據(jù)調(diào)用、處理和分析等,實現(xiàn)了 Excel數(shù)據(jù)文件的WEB化應(yīng)用,打破了單機模式下Excel數(shù)據(jù)的應(yīng)用瓶頸。該產(chǎn)品的特征為 客戶兩端均為編譯后程序文件,可在任何MicrosoftWindows操作系統(tǒng)的計算機上直接運 行。對服務(wù)器端和網(wǎng)絡(luò)環(huán)境的要求不高,產(chǎn)品具有部署方便,操作簡單、數(shù)據(jù)調(diào)用效率高、數(shù) 據(jù)調(diào)用便捷、數(shù)據(jù)安全可靠等顯著特征。
【專利附圖】
【附圖說明】
[0013] 圖1為三層C/S數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)體系;
[0014] 圖2為服務(wù)器的三層C/S數(shù)據(jù)庫應(yīng)用體系。
【具體實施方式】
[0015] 下面結(jié)合附圖和【具體實施方式】對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)地說明。
[0016] 本發(fā)明利用Delphi編程語言結(jié)合ADO和RemObjects SDK(RO)等技術(shù),開發(fā)了 Excel數(shù)據(jù)服務(wù)器,產(chǎn)品具有多線程負(fù)載能力強、支持存儲過程調(diào)用、服務(wù)器端采用數(shù)據(jù)庫 連接池技術(shù)、服務(wù)器端已封裝了常用的數(shù)據(jù)庫操作:增、刪、改、查等功能,使Excel數(shù)據(jù)進(jìn) 入網(wǎng)絡(luò)化應(yīng)用模式。作為數(shù)據(jù)服務(wù)器的應(yīng)用是一套程序,將它部署在服務(wù)器上,利用它能夠 完成服務(wù)器端Excel數(shù)據(jù)和客戶端ExcelClient. exe的數(shù)據(jù)調(diào)用、查詢、數(shù)據(jù)處理和分析 等。
[0017] 三層結(jié)構(gòu)體系的服務(wù)模式
[0018] 本產(chǎn)品中的三層結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個"中間層",也叫組件 層。在這種體系結(jié)構(gòu)中,客戶機只存放表示層軟件,后臺是數(shù)據(jù)庫,業(yè)務(wù)邏輯包括事務(wù)處理、 監(jiān)控、信息排隊、Web服務(wù)等采用專門的中間件服務(wù)器,大大減少了與數(shù)據(jù)庫服務(wù)器連接的 次數(shù)。通常情況下客戶端通過C0M/DC0M通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進(jìn) 行交互,客戶端與數(shù)據(jù)庫隔離,提高了整個系統(tǒng)的可靠性。體系結(jié)構(gòu)如圖1所示。三層結(jié)構(gòu) 功能:表示層:提供簡潔的人機交互界面,負(fù)責(zé)數(shù)據(jù)顯示和客戶端的數(shù)據(jù)處理,由客戶機實 現(xiàn);功能層:實現(xiàn)業(yè)務(wù)邏輯,即實現(xiàn)客戶與數(shù)據(jù)庫對話,同時,在這一層中,還應(yīng)實現(xiàn)分布式 管理、負(fù)載均衡、安全隔離等;它是一個遠(yuǎn)程模塊,由Excel數(shù)據(jù)服務(wù)器來實現(xiàn);數(shù)據(jù)層:負(fù) 責(zé)數(shù)據(jù)管理,提供數(shù)據(jù)的存儲服務(wù),由數(shù)據(jù)庫服務(wù)器來實現(xiàn)。
[0019] Excel數(shù)據(jù)服務(wù)器與數(shù)據(jù)庫的連接ADO
[0020] 本產(chǎn)品的ADO連接方法使用了 DCOM協(xié)議,系統(tǒng)模型如圖2所示。含義 TClientDataSet組件是客戶端數(shù)據(jù)集組件,它負(fù)責(zé)接收TDCOMConnection組件還原 過來的數(shù)據(jù),并把數(shù)據(jù)傳遞給客戶端數(shù)據(jù)處理組件,客戶端數(shù)據(jù)處理和顯示組件主 要有 TADOQuery、TADOTable、TDataSource、TDBGricU TDBEdit、TDBComboBox 等等, 反過來,TClientDataSet組件負(fù)責(zé)收集客戶端處理的數(shù)據(jù),并把處理后的數(shù)據(jù)提交 TDCOMConnection組件,該組件通過DCOM協(xié)議和應(yīng)用服務(wù)器正確地將數(shù)據(jù)寫入數(shù)據(jù)庫DB, DB即為一個或多個MS Excel文檔。Excel服務(wù)器是一個遠(yuǎn)程數(shù)據(jù)模塊,即一個COM程序,它 通過ADO與SQL語句和數(shù)據(jù)庫服務(wù)器連接。它負(fù)責(zé)從數(shù)據(jù)庫服務(wù)器存取數(shù)據(jù)并通過Delphi 的TDataSetProvider組件將數(shù)據(jù)分割成數(shù)據(jù)包,然后通過DCOM協(xié)議傳遞到網(wǎng)絡(luò)上的客戶 端??蛻舳说慕M件負(fù)責(zé)還原數(shù)據(jù),這項工作由TDCOMConnection來完成。
[0021] RO組件功能:RO能夠?qū)懸粋€Server同時允許Client端以HTTP、TCP、Windows Message、UDP、MSMQ方式連結(jié),允許設(shè)計者撰寫自己的訊息協(xié)議與通訊協(xié)議,撰寫Linux Server/Client, Windows Server/Client,且 RO Client SDK. NET 支援· NET Framework、 Mono、Ractor,及 Compact Framework。Excel 數(shù)據(jù)服務(wù)器正是使用 RO 的 HTTP 和 TCP 連接, 開發(fā)出了 Windows Server/Client模式的數(shù)據(jù)服務(wù)功能模塊。RO組件SDK頁面包括:
[0022] I. TROBinMessagw,TROSOAPMessage,功能為訊息組件,用來處理訊息。
[0023] 2.TROIndyHTTPServer, TROIndyTCPServer, TROBPDXHTTPServer,
[0024] TROBFOXTCPServer,TROWinMessageServer Server 端組件,功能用來接收訊息,支 持 HTTP、TCP、Window Message 與 DLL。
[0025] 3. TROIndyHTTPChannel, TROIndyTCPChanne I, TROBPDXHTTPChanne I, TROBPDXTCPChannel,TROWinlnetHTTPChannel,TRODLLChannel,功能為 Client 端組件,用 來送出訊息到 Server 端,支持 HTTP,TCP,Windows Message 與 DLL。
[0026] 4. TRODataSnapConnection,TRODataSnapProviderPublisher,功能為支持 DataSnap運作的組件,RemObjects SDK允許使用DataSnap運行于其上。
[0027] 5. TROWebBrokerServer,功能為 Web Broker 支持,允許任何架構(gòu)于 Web Broker 之 上的網(wǎng)頁程序直接掛載RemObjects SDK Server。
[0028] 服務(wù)器端程序:
[0029] L組件添加:在delphi7環(huán)境創(chuàng)建服務(wù)器工程文件:ExcelServer. dpr,并在窗體 上添加必須的服務(wù)器端所需組件。內(nèi)容如表1所示。
[0030] 表1服務(wù)器端組件添加及內(nèi)容
[0031]
【權(quán)利要求】
1. 一種Excel數(shù)據(jù)服務(wù)器,其特征在于:包括表示層、功能層和數(shù)據(jù)層三層結(jié)構(gòu): 所述表示層:提供簡潔的人機交互界面,負(fù)責(zé)數(shù)據(jù)顯示和客戶端的數(shù)據(jù)處理,由客戶機 實現(xiàn); 功能層:實現(xiàn)業(yè)務(wù)邏輯,實現(xiàn)客戶與數(shù)據(jù)庫對話,同時,在這一層中,還應(yīng)實現(xiàn)分布式管 理、負(fù)載均衡、安全隔離;功能層是一個遠(yuǎn)程模塊,由Excel數(shù)據(jù)服務(wù)器來實現(xiàn); 數(shù)據(jù)層:負(fù)責(zé)數(shù)據(jù)管理,提供數(shù)據(jù)的存儲服務(wù),由數(shù)據(jù)庫服務(wù)器來實現(xiàn)。
2. -種Excel數(shù)據(jù)服務(wù)器的應(yīng)用方法,其特征在于:EXcel數(shù)據(jù)服務(wù)器ADO連接方法使 用了 DCOM協(xié)議,Excel服務(wù)器是一個遠(yuǎn)程數(shù)據(jù)模塊,通過ADO與SQL語句和數(shù)據(jù)庫服務(wù)器 連接,負(fù)責(zé)從數(shù)據(jù)庫服務(wù)器存取數(shù)據(jù)并通過Delphi的TDataSetProvider組件將數(shù)據(jù)分割 成數(shù)據(jù)包,然后通過DCOM協(xié)議傳遞到網(wǎng)絡(luò)上的客戶端,客戶端的組件負(fù)責(zé)還原數(shù)據(jù),這項 工作由TDCOMConnection來完成。
【文檔編號】G06F17/30GK104516963SQ201410801992
【公開日】2015年4月15日 申請日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
【發(fā)明者】閆海忠, 閆遠(yuǎn), 李詳生 申請人:云南大學(xué), 閆海忠