時間:2011-11-14 17:30:54來源:wangww
摘要:車牌識別系統(tǒng)作為4S店ERP管理系統(tǒng)的子系統(tǒng)在各4S得到普遍的應(yīng)用,目前車牌識別數(shù)據(jù)遠傳和數(shù)據(jù)融合的技術(shù)較多,本文提出采用SQL觸發(fā)器方式實現(xiàn)車牌識別本地數(shù)據(jù)庫車牌信息的遠傳,并融入到4S店服務(wù)器數(shù)據(jù)庫中,為上層數(shù)據(jù)管理和監(jiān)測提供原始數(shù)據(jù)源。這種方式的使用能大大降低本地端程序開發(fā)成本,同時能保證數(shù)據(jù)遠程的成功率和安全性,并成功應(yīng)用在山東某4S店ERP系統(tǒng)中。
關(guān)鍵詞:SQL觸發(fā)器數(shù)據(jù)庫數(shù)據(jù)遠傳服務(wù)器ERP
Abstracts:As subsystem of ERP management system, car plate recognition system has gained a wide application in 4S shop. Nowadays, there are many data remote access and data integration technologies for car plate recognition system, the thesis points out a SQL trigger method in the process of local data transferring to remote database and the way of integrates the local data into database of remote server, which finally provides the original data source for up-level data management. This kind of method can not only reduce the cost of local program developing, but also ensures the efficiency and security of data remote transferring, and it has achieved its great success in the ERP system in one 4S shop in Shandong.
Key Words:SQL Trigger Database Data Remote Access Server ERP
1引言
目前,很多汽車4S店都采用了車牌識別系統(tǒng),方便維修車輛的信息管理。一般情況下,車牌識別系統(tǒng)都安裝在現(xiàn)場車間,為了布線方便,監(jiān)控電腦也置于現(xiàn)場,也就是說采集的車牌信息是先保存在本地數(shù)據(jù)庫中。而車牌識別系統(tǒng)作為4S店ERP管理系統(tǒng)的一個子系統(tǒng),必須融入到管理層中,如何實現(xiàn)本地數(shù)據(jù)庫中車牌信息的傳送到服務(wù)器上的數(shù)據(jù)庫中,供上層管理系統(tǒng)統(tǒng)一規(guī)劃,通常的實現(xiàn)方法是本地開發(fā)數(shù)據(jù)遠傳客戶端,服務(wù)器端也相應(yīng)開發(fā)接收程序,這種方式的明顯缺點就是實現(xiàn)較復(fù)雜,成本較高,不適合推廣使用。本文提出采用SQL觸發(fā)器方式,只需在本地SQL數(shù)據(jù)庫中編寫觸發(fā)器SQL語句,在服務(wù)器端建立一張用于存儲車牌信息的表或者嵌入到已有表中,避免了傳輸軟件的開發(fā),同時借助SQLSERVER2000的數(shù)據(jù)傳輸安全性機制,大大提高數(shù)據(jù)的安全性,性價比較高。
2SQL觸發(fā)器簡介
在SQLSEVER2000中,觸發(fā)器是對某個表的一定操作,觸發(fā)某種條件,從而執(zhí)行一段程序。從本質(zhì)上說,觸發(fā)器是一種特殊的存儲過程。常見的觸發(fā)器有3種,分別用于Insert,Update,Delete事件。執(zhí)行觸發(fā)器時先將記錄改動的信息存放在兩個臨時虛擬表中,即Inserted表和Deleted表,分別表示觸發(fā)事件的表“新的一條記錄”和“舊的一條記錄”,一個Update的過程可以看作是生成新的記錄到Inserted表,復(fù)制舊的記錄到Deleted表,然后刪除表中記錄并寫入新的記錄。
按照被觸發(fā)表和觸發(fā)存儲表的位置關(guān)系,可以將觸發(fā)器分為同機同庫觸發(fā)器、同機跨庫觸發(fā)器和異機觸發(fā)器。同機同庫觸發(fā)器指的是被觸發(fā)表和觸發(fā)存儲表位于同一臺主機的同一個數(shù)據(jù)庫中,這種觸發(fā)器實現(xiàn)相對較容易,也方便做測試;同機跨庫觸發(fā)器指的是被觸發(fā)表和觸發(fā)存儲表位于同一臺主機不同數(shù)據(jù)庫中;異機觸發(fā)器指的是被觸發(fā)表和觸發(fā)存儲表位于不同的主機上。
3系統(tǒng)組成和原理
車牌識別軟件由兩個進程組成,即圖像采集進程和圖像處理進程,雙進程都在同一臺工控機中運行。系統(tǒng)本地端的硬件組成如圖1所示,主要由攝像頭、圖像采集卡、工控機和交換機組成,工控機通過交換機加入到4S店局域網(wǎng)中,為數(shù)據(jù)傳輸做好了硬件準(zhǔn)備。在圖像處理進程中,通過車牌定位、字符分割以及字符識別得到車牌信息,在VisualC++環(huán)境下,通過ODBC方式將數(shù)據(jù)(包括原圖、牌圖、識別時間、識別日期、牌號以及可信度)寫進本地SQLSERVER2000數(shù)據(jù)庫中。
在本地數(shù)據(jù)庫的“車牌信息”數(shù)據(jù)表中配置觸發(fā)器,將車牌號、可信度以及日期觸發(fā)到服務(wù)器數(shù)據(jù)中的“plate_info”數(shù)據(jù)表中(“plate_info”表事先按觸發(fā)的字段已經(jīng)建立好)。在ASP.NET環(huán)境下,開發(fā)ERP管理系統(tǒng),將采集到的數(shù)據(jù)顯示在網(wǎng)頁上,如圖2所示,從而實現(xiàn)了車牌識別系統(tǒng)的融入和數(shù)據(jù)的遠傳。
圖1系統(tǒng)硬件結(jié)構(gòu)圖
圖2系統(tǒng)原理圖
4數(shù)據(jù)遠傳的實現(xiàn)
4.1本地車牌信息獲取
利用基于虛擬線圈觸發(fā)圖片采集的思想對視頻流實時處理,若發(fā)現(xiàn)有車輛進入虛擬線圈區(qū)域并達到觸發(fā)條件,則圖像采集進程采集一幀圖像,并通過管道傳遞給車牌識別進程。車牌識別圖象處理進程中,當(dāng)通過軟件方法排除誤觸發(fā)等干擾因素之后,自動過濾鉚釘,白邊,然后進行字符分割和識別,處理完得到的車牌字符和識別可信度將同時存入數(shù)據(jù)庫的“車牌信息”數(shù)據(jù)表中。
4.2本地數(shù)據(jù)庫配置
車牌識別軟件通過ODBC驅(qū)動與SQLSERVER2000建立交互,過程如圖3所示。首先建立ODBC環(huán)境,然后分配句柄,主要是兩個智能指針,包括記錄集智能指針和連接智能指針,并設(shè)置所需的屬性,最后調(diào)用連接智能指針的Open函數(shù)建立與數(shù)據(jù)庫的連接。
圖3ODBC體系結(jié)構(gòu)
4.3SQL觸發(fā)器的應(yīng)用
在觸發(fā)器使用之前,必須先設(shè)計被觸發(fā)表(如圖4所示)和觸發(fā)存儲表的結(jié)構(gòu),觸發(fā)器的存在依附于具體的表,對于InsertED觸發(fā)器而言,數(shù)據(jù)表的結(jié)構(gòu)必須先設(shè)計完成,否則觸發(fā)器的SQL語句無法通過編譯。
圖4車牌信息數(shù)據(jù)表設(shè)計
(1)同機同庫觸發(fā)器配置
被觸發(fā)表為“車牌信息”,觸發(fā)存儲表為@PHOTO,SQL代碼如圖5所示。
圖5同機同庫觸發(fā)器SQL語句
(2)同機跨庫
被觸發(fā)表為chepai_check數(shù)據(jù)庫中的“車牌信息”,觸發(fā)存儲表為plate數(shù)據(jù)庫中的“車牌”,實現(xiàn)的SQL代碼如圖6所示。
圖6同機跨庫觸發(fā)器SQL語句
(3)異機觸發(fā)
被觸發(fā)表為chepai_check數(shù)據(jù)庫中的“車牌信息”,觸發(fā)存儲表為plate_server數(shù)據(jù)庫中的“plate_info”,其中存儲plate_server數(shù)據(jù)庫的主機的IP地址為202.194.201.99,數(shù)據(jù)庫用戶名為shunchi,密碼為pwdshunchi,實現(xiàn)的SQL代碼如圖7所示。
圖7異機觸發(fā)器SQL語句
說明:
ØOPENROWSET的語法:
OPENROWSET('SQLOLEDB','sql服務(wù)器名';'用戶名';'密碼',數(shù)據(jù)庫名.dbo.表名)
值得一提的是數(shù)據(jù)庫名不能類似于trigger等SQL關(guān)鍵字,否則運行時會報錯。
ØSETXACT_ABORTON
設(shè)置成ON的目的是啟動嵌套事務(wù)必須將XACT_ABORT設(shè)置為ON。
5融入4S店ERP管理系統(tǒng)
如何利用WebService更好地實現(xiàn)企業(yè)的信息集成是當(dāng)前的一個熱點,ERP系統(tǒng)是建立在信息技術(shù)基礎(chǔ)上,以系統(tǒng)化的管理思想為企業(yè)決策層提供戰(zhàn)略決策,為員工提供操作執(zhí)行等手段的信息化管理平臺。在ERP軟件系統(tǒng)的開發(fā)過程中,采用Microsoft平臺所具有的WebService、ASP.NET等功能,解決傳統(tǒng)C/S架構(gòu)軟件安裝復(fù)雜性的特點。由于4S店在全省各地有多個分廠,采用B/S架構(gòu)能方便企業(yè)管理,保證數(shù)據(jù)的統(tǒng)一管理。
5.1關(guān)鍵技術(shù)
(1)ASP.NET技術(shù)
作為ASP和.NET的結(jié)合物,ASP.NET是利用.NET提供的新功能來創(chuàng)建動態(tài)Web頁的方法。ASP.NET建立在.NETFramework類的基礎(chǔ)上,并提供由控件和基礎(chǔ)部分組成的“Web程序模板”,大大簡化了Web程序和XMLWeb服務(wù)的開發(fā)。
(2)ADO.NET技術(shù)
ADO(ActiveDataObject)對象是微軟所定制的架構(gòu),也是其主推存儲數(shù)據(jù)的最新技術(shù),ADO目前的最新版本為ADO.NET,它能將XML整合進來,可以快速簡單的存取各種數(shù)據(jù),ASP.NET被設(shè)計成對于數(shù)據(jù)處理不一直保持聯(lián)機的架構(gòu),應(yīng)用程序只有在要取得數(shù)據(jù)或是更新數(shù)據(jù)的時候才對數(shù)據(jù)進行聯(lián)機工作。
5.2具體實現(xiàn)
(1)系統(tǒng)開發(fā)環(huán)境
在ERP軟件開發(fā)和安裝中,需要使用各種開發(fā)工具,如表1所示。
表1ERP系統(tǒng)開發(fā)環(huán)境
(2)Web Config文件配置
(3)服務(wù)器端部署
服務(wù)器的部署比較簡單,把源代碼目錄下的所有文件都復(fù)制到系統(tǒng)的Inetpub\wwwroot目錄中,然后在IIS中配置虛擬目錄即可。具體步驟如下:
打開IIS服務(wù)器--在站名上右擊----選屬性---目錄---創(chuàng)建。
在IE中打開ERP管理系統(tǒng)網(wǎng)站,顯示如圖8所示。
圖8ERP管理系統(tǒng)登陸界面
6結(jié)束語
通過SQL觸發(fā)器將本地端車牌識別軟件后處理得到的車牌信息觸發(fā)到4S店服務(wù)器數(shù)據(jù)庫中,配置簡單,可靠性高,而且成本低。服務(wù)器端得到數(shù)據(jù)之后,采用ASP.NET技術(shù)開發(fā)ERP管理系統(tǒng),將車牌數(shù)據(jù)融入到企業(yè)上層系統(tǒng)中,成功實現(xiàn)本地車牌數(shù)據(jù)的遠傳和車牌識別子系統(tǒng)與ERP系統(tǒng)的融合。
作者簡介:
張嘯(1987-)男在讀碩士研究生主要研究方向:電力電子及電力傳動
通信地址:山東省濟南市山東大學(xué)千佛山校區(qū)控制科學(xué)與工程學(xué)院何小虎收
郵編:250061
聯(lián)系電話:13465313104
E-Mail:xiaohu178027@yahoo.com.cn
標(biāo)簽:
上一篇:一種新穎的大型電動機降壓補...
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。