電力營銷管理系統(tǒng)與抄表機之間的集成
文中介紹的一種基于J2EE的電力營銷管理信息系統(tǒng)中實現(xiàn)抄表機上下裝的集成解決方案,實現(xiàn)了基于J2EE的電力營銷管理信息系統(tǒng)和抄表機之間的緊密集成,該方案也實現(xiàn)了J2EE環(huán)境下進行DBF格式的數(shù)據(jù)集成,已經(jīng)應(yīng)用于工程實踐。以下是小編J.L為大家分享的關(guān)于電力營銷管理系統(tǒng)與抄表機之間之論文范文。
摘要:該文介紹了一種基于J2EE的電力營銷管理信息系統(tǒng)和抄表機的集成解決方案。提出了集成方案的總體設(shè)計,闡述了該方案所涉及的ActiveX控件、zlib解壓縮、Base64編解碼、DBF格式轉(zhuǎn)換組件等關(guān)鍵技術(shù)。
關(guān)鍵詞:電力營銷管理系統(tǒng) 抄表機 DBF ActiveX控件 zlib解壓縮 Base64編解碼
0 引言
抄表機實際上是一臺功能強大的掌上數(shù)據(jù)電腦,由于其具有存儲容量大、數(shù)據(jù)保存時間長、攜帶方便、機器運行速度快等特點,在供電企業(yè)已經(jīng)得到廣泛應(yīng)用,主要用于現(xiàn)場電能表表碼數(shù)據(jù)的采集。與傳統(tǒng)的卡本抄表方式相比,具有提高工作效率、減少出錯率、方便等多方面的優(yōu)勢。
抄表員每次抄表前將抄表戶的詳細數(shù)據(jù)從電力營銷管理信息系統(tǒng)下裝到抄表機中,然后攜帶抄表機到現(xiàn)場,利用抄表機簡便的查找方式查到該抄表戶資料,將現(xiàn)場表碼數(shù)據(jù)輸入到抄表機中,抄表結(jié)束后,將抄表機連接到微機上,抄表機內(nèi)存儲的抄表數(shù)據(jù)就全部自動的錄入到電力營銷管理信息系統(tǒng)中。
目前在供電企業(yè)中使用的抄表機大多數(shù)是通過標(biāo)準串口線RS232和微機互連,采用標(biāo)準的DBF作為交換數(shù)據(jù)格式與電力營銷管理信息系統(tǒng)進行數(shù)據(jù)交互,電力營銷管理信息系統(tǒng)通過調(diào)用抄表機提供的接口程序,實現(xiàn)抄表數(shù)據(jù)的上下載過程。
1 總體設(shè)計
基于J2EE的電力營銷管理信息系統(tǒng)和抄表機的集成主要由兩個重要的組件構(gòu)成:客戶端基于COM組件模型開發(fā)的ActiveX控件和服務(wù)端的DBF格式轉(zhuǎn)換組件。系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
(1) ActiveX控件提供了DBF格式二進制數(shù)據(jù)流的zlib解壓縮、Base64編解碼和調(diào)用抄表機的發(fā)送接收程序功能。
(2) DBF格式轉(zhuǎn)換組件實現(xiàn)了抄表數(shù)據(jù)的記錄形式和DBF格式之間的轉(zhuǎn)換,提供了DBF文件元數(shù)據(jù)解析、DBF格式二進制數(shù)據(jù)流的解壓縮和Base64編解碼功能。
使用抄表過程簡要描述如下:抄表機下載時,首先服務(wù)端數(shù)據(jù)提取程序從抄表中間庫中獲取抄表數(shù)據(jù),通過DBF格式轉(zhuǎn)換組件將數(shù)據(jù)轉(zhuǎn)換為DBF格式的Java類數(shù)組,再轉(zhuǎn)換為字節(jié)數(shù)組輸出流格式,并進行壓縮和Base64編碼,在客戶端利用網(wǎng)頁上嵌入的ActiveX控件進行解碼和解壓,并在指定目錄下形成DBF格式的數(shù)據(jù)文件,利用COM通信機制,調(diào)用抄表機發(fā)送程序發(fā)送數(shù)據(jù)到抄表機。抄表機上載時,過程正好相反。
2 系統(tǒng)實現(xiàn)關(guān)鍵技術(shù)
2.1 客戶端實現(xiàn)技術(shù)
(1) 抄表機的發(fā)送接收程序調(diào)用接口。Active Template Lipary(ATL)和Microsoft Foundation Classes (MFC)是目前編寫ActiveX控件的兩個流行的框架,但是從基本的設(shè)計結(jié)構(gòu)上講,MFC不適合于開發(fā)專業(yè)的COM組件,它適合于在Windows應(yīng)用的基礎(chǔ)上提供相應(yīng)的COM支持,ATL完全面向COM組件[1]。采用ATL構(gòu)建ActiveX控件,提供抄表機的發(fā)送接收程序調(diào)用接口。由于COM組件具有接口和實現(xiàn)分離的特性,屏蔽了對不同抄表機型號的不同的接口調(diào)用的實現(xiàn)差異,對外提供統(tǒng)一的抄表機的發(fā)送接收程序調(diào)用接口。接口的實現(xiàn)是對抄表機提供的動態(tài)鏈接庫的接口調(diào)用,實現(xiàn)了COM組件與組件之間的互操作。
(2) 解壓縮接口。為有效地傳輸數(shù)據(jù)和提高網(wǎng)頁文件的下載速度,需要對抄表數(shù)據(jù)進行壓縮處理。采用zlib作為解壓縮引擎,為ActiveX控件提供解壓縮接口。GNU zlib是通用的壓縮庫,流行的deflate壓縮算法,提供了一套in-memory壓縮和解壓函數(shù),并能檢測解壓出來的數(shù)據(jù)完整性。
(3) Base64編解碼接口。采用Base64編碼將二進制抄表數(shù)據(jù)進行編碼,并在網(wǎng)頁上作為對象緩存。Base64是網(wǎng)絡(luò)上最常見的用于傳輸8bit字節(jié)代碼的編碼方式之一,它將二進制數(shù)據(jù)編碼為字母和數(shù)字。ActiveX控件提供Base64編解碼接口,通過編碼將其轉(zhuǎn)換成為一種被稱為BASE64的ASCII子集的字符的組合,解碼實現(xiàn)逆過程。
(4) 采用腳本對頁面對象進行訪問。將ActiveX控件嵌入抄表機應(yīng)用程序網(wǎng)頁,通過VBScript和Jscript腳本直接調(diào)用頁面對象(如ActiveX控件)的訪問。
2.2 服務(wù)端實現(xiàn)技術(shù)
服務(wù)端的DBF格式轉(zhuǎn)換組件,由一組通用的DBF操作組件構(gòu)成,邏輯上分為DBF格式定義組件、DBF格式解析組件、DBF轉(zhuǎn)換組件和實用類。
(1) DBF格式轉(zhuǎn)換組件。DBF格式定義組件DBFField,定義了DBF字段的元數(shù)據(jù)以及get和set方法,字段元數(shù)據(jù)包括字段名、數(shù)據(jù)類型、長度、數(shù)據(jù)部分位數(shù)等。
采用XML[2]來描述DBF文件的元數(shù)據(jù)結(jié)構(gòu)和語義,并以XML文件存放在Web應(yīng)用程序WEB-INF目錄下。DBF格式解析組件,提供了通過XML文件或者直接解析DBF文件獲取DBF的元數(shù)據(jù)結(jié)構(gòu)兩種方式。DBFStruParser利用DOM解析器將XML解析成DBFField數(shù)組。另一種實現(xiàn)是直接在WEB-INF目錄存放DBF格式文件,DBFReader解析DBF格式流文件生成DBFField數(shù)組。
DBF轉(zhuǎn)換組件DBFConvertRecords,實現(xiàn)數(shù)據(jù)庫中抄表數(shù)據(jù)結(jié)構(gòu)和DBF格式之間的映射,以及抄表數(shù)據(jù)集合ArrayList、XML格式與DBF格式的相互轉(zhuǎn)換。
實用類Base64Util用于Base64編解碼。java.util.zip.Deflater用于解壓縮。
(2) 利用XSLT進行格式轉(zhuǎn)換。抄表數(shù)據(jù)元數(shù)據(jù)和DBF元數(shù)據(jù)之間的映射可簡單地通過兩者一致的字段名或別名約定來實現(xiàn),但是這種實現(xiàn)要求抄表中間庫表的定義和DBF的定義要嚴格的對應(yīng),由于不同電力企業(yè)使用的是不同廠商不同型號的抄表機,傳送的DBF格式和語義也不一定相同。
XSLT[3]樣式表描述了將源XML格式轉(zhuǎn)換為目標(biāo)格式的一系列的規(guī)則。利用XSLT轉(zhuǎn)換器作為轉(zhuǎn)換引擎,對XML格式數(shù)據(jù)進行過濾、排序和重構(gòu)[4]。過濾是選擇并提取數(shù)據(jù)的一個特定子集的處理過程,排序就是重新編排數(shù)據(jù)的過程,重構(gòu)包括數(shù)據(jù)元數(shù)據(jù)轉(zhuǎn)換和翻譯數(shù)據(jù)[4]。以抄表機下裝為例,說明轉(zhuǎn)換過程,如圖2所示。
首先針對不同類型的抄表機,分別定義不同XSLT樣式表。利用DOM解析器將從數(shù)據(jù)庫中檢索的抄表數(shù)據(jù)集合ArrayList轉(zhuǎn)換為XML,根據(jù)XSLT樣式表所描述的規(guī)則,轉(zhuǎn)換為抄表機特定格式的XML數(shù)據(jù),再將XML格式轉(zhuǎn)換為DBF格式,間接實現(xiàn)了抄表數(shù)據(jù)集合和DBF格式的映射。
(3) 組件調(diào)用。采用基于MVC模型2的Struts 的Web應(yīng)用框架,WriteDbfAction用于處理JSP頁面的抄表機發(fā)送和接收處理請求,調(diào)用DBF格式轉(zhuǎn)換組件進行DBF解析、轉(zhuǎn)換,并利用實用類進行編解碼和解壓縮。為了向業(yè)務(wù)層隱藏特定表示層的細節(jié),降低表示層和業(yè)務(wù)層耦合度,首先定義IWriteDbf接口,WriteDbfForm實現(xiàn)該接口,該接口不包括與請求處理和協(xié)議相關(guān)的表示層數(shù)據(jù)結(jié)構(gòu)的引用。采用接口的方式提供合適的值對象給業(yè)務(wù)代理WriteDbfBD,再調(diào)用相應(yīng)的業(yè)務(wù)邏輯類,如DBF格式轉(zhuǎn)換DBFConvertRecords。
3 結(jié)束語
文中介紹的一種基于J2EE的電力營銷管理信息系統(tǒng)中實現(xiàn)抄表機上下裝的集成解決方案,實現(xiàn)了基于J2EE的電力營銷管理信息系統(tǒng)和抄表機之間的緊密集成,該方案也實現(xiàn)了J2EE環(huán)境下進行DBF格式的數(shù)據(jù)集成,已經(jīng)應(yīng)用于工程實踐。例如供電企業(yè)的電能計量管理部門采購常壽命電能表時,需要電能表生產(chǎn)廠商提供電能表資料、電能表檢定和誤差記錄數(shù)據(jù),然后將這些數(shù)據(jù)轉(zhuǎn)入到電力營銷管理信息系統(tǒng)中。
【電力營銷管理系統(tǒng)與抄表機之間的集成】相關(guān)文章:
淺談遠抄系統(tǒng)技術(shù)在營銷管理中的應(yīng)用論文02-15
抄核收智能管理系統(tǒng)實施研究03-28
電力營銷客戶關(guān)系管理系統(tǒng)開發(fā)設(shè)計思考11-19
對電力營銷管理營銷策略的探討03-13
電力市場營銷改革競爭營銷管理03-24
論系統(tǒng)集成項目經(jīng)理的管理方式11-18
電力營銷數(shù)據(jù)分析系統(tǒng)研究論文03-09
電力營銷管理分析及設(shè)計論文02-26
- 相關(guān)推薦