国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于證件掃描的導(dǎo)覽設(shè)備租賃系統(tǒng)的設(shè)計實現(xiàn)

2012-07-13 06:29:00張少能曾連蓀
電子設(shè)計工程 2012年13期
關(guān)鍵詞:線程應(yīng)用程序數(shù)據(jù)庫

張少能,曾連蓀

(上海海事大學(xué) 信息工程學(xué)院,上海 201306)

隨著物聯(lián)網(wǎng)概念的不斷普及和其技術(shù)的不斷發(fā)展,物聯(lián)網(wǎng)越來越多地滲透到人們?nèi)粘I畹母鱾€方面。智慧旅游,也被稱為智能旅游。就是利用云計算、物聯(lián)網(wǎng)等新技術(shù),通過互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng),借助便攜的智能導(dǎo)覽設(shè)備,主動感知旅游資源、旅游經(jīng)濟、旅游活動、旅游者等方面的信息,及時發(fā)布,讓人們能夠及時了解這些信息,及時安排和調(diào)整工作與旅游計劃,從而達(dá)到對各類旅游信息的智能感知、方便利用的效果[1]。

在已經(jīng)部署智慧旅游的旅游景點中,會有大量的智能導(dǎo)覽設(shè)備可供游客使用。而作為智能導(dǎo)覽設(shè)備的的提供方,越來越多的租賃和歸還信息,以及游客,員工績效等信息有必要生成系統(tǒng)進(jìn)行管理,為此,筆者設(shè)計了一套基于身份證件掃描的智能導(dǎo)覽設(shè)備的租賃管理系統(tǒng)。

1 系統(tǒng)功能需求分析

該系統(tǒng)采用SQL Server數(shù)據(jù)庫對景點的所有租賃設(shè)備實行標(biāo)準(zhǔn)化管理,借助OCR(Optical Character Recognition,光學(xué)字符識別)設(shè)備,建立起游客與租賃設(shè)備之間的一一對應(yīng)關(guān)系,方便景點工作人員及時掌握租賃設(shè)備的使用情況。該系統(tǒng)的主要功能功能包括:系統(tǒng)登錄,導(dǎo)覽機租借,導(dǎo)覽機更換,導(dǎo)覽機歸還,導(dǎo)覽機查看,匯總統(tǒng)計,客戶資料,系統(tǒng)設(shè)置,用戶管理等。

1)系統(tǒng)登錄模塊:需用戶提供正確的賬戶和密碼方可進(jìn)入系統(tǒng)。

2)導(dǎo)覽機租借模塊:借助身份證件掃描儀建立游客與導(dǎo)覽機之間的對應(yīng)關(guān)系,做出出租記錄。

3)導(dǎo)覽機更換模塊:提供故障導(dǎo)覽機的更換服務(wù),做出更換記錄。

4)導(dǎo)覽機歸還模塊:將已出租的設(shè)備回收等級,并做出歸還記錄。

5)導(dǎo)覽機查看模塊:提供導(dǎo)覽機租賃情況的實時查詢服務(wù)。

6)匯總統(tǒng)計模塊:統(tǒng)計匯總景點工作人員選定時間段內(nèi)的工作量,工作時間等信息。

7)客戶資料模塊:提供OCR設(shè)備所掃描出的游客資料的查詢服務(wù)。

8)系統(tǒng)設(shè)置模塊:設(shè)置OCR設(shè)備按鍵的功能調(diào)整,掃描圖片的保存路徑等。

9)用戶管理模塊:用戶密碼修改,用戶添加和用戶刪除。

2 系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù)

2.1 解析掃描信息

通過調(diào)用IDcard.ocx控件中的特定方法來實現(xiàn)掃描信息的初步獲取。以二代身份證為例,接口方法為BOOLRecog NewIDCardALL(),其實現(xiàn)了對二代證的掃描和識別,識別內(nèi)容包括身份證號碼、姓名、性別、民族、出生日期、住址等。該方法的調(diào)用需要提供4個參數(shù),透過這些參數(shù)來完成掃描結(jié)果的輸出。其中Content參數(shù)為識別內(nèi)容選項,僅使用最低的五個比特。例如要識別姓名和證件號號,那么通過位運算0x00000001&0x00000010得值為0x00000011,即17。在本系統(tǒng)中,需要將掃描出來的信息全部識別出來,則Content參數(shù)的值為 0x0000001E,即 31。

2.2ADO.NET數(shù)據(jù)庫技術(shù)

ADO.NET 的名稱起源于 ADO(ActiveX Data Objects),這是一個廣泛的類組,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù).之所以使用ADO.NET名稱,是因為Microsoft希望表明,這是在.NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口[2]。

它提供了平臺互用性和可伸縮的數(shù)據(jù)訪問。ADO.NET增強了對非連接編程模式的支持,并支持RICH XML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實上,接受數(shù)據(jù)的組件不一定要是ADO.NET組件,它可以是基于一個Microsoft Visual Studio的解決方案,也可以是任何運行在其他平臺上的任何應(yīng)用程序。

2) 采用綜合評分法得出的土豆播種機的播種架試驗裝置的最優(yōu)組合進(jìn)行二次試驗,選取的主要參數(shù)為播種機架傾角α=10°、皮帶轉(zhuǎn)速ω=0.27m/s、種勺空間尺寸大小55 mm×17.5mm。試驗結(jié)果表明,優(yōu)選后的排種器播種粒距合格率可達(dá)91.0%,重播率9%,漏播率2.0%,可以為土豆播種機播種架的改進(jìn)提供理論支持。

ADO.NET的最重要概念之一是DataSet。DataSet是不依賴于數(shù)據(jù)庫的獨立數(shù)據(jù)集合。所謂獨立,就是:即使斷開數(shù)據(jù)鏈路,或者關(guān)閉數(shù)據(jù)庫,DataSet依然是可用的[3]。

有了DataSet,那么,ADO.NET訪問數(shù)據(jù)庫的步驟就相應(yīng)地改變了:

1)創(chuàng)建一個數(shù)據(jù)庫鏈路;

2)請求一個記錄集合;

3)把記錄集合暫存到DataSet;

4)如果需要,返回第 2步;(DataSet可以容納多個數(shù)據(jù)集合);

5)關(guān)閉數(shù)據(jù)庫鏈路;

6)在DataSet上作所需要的操作。

本文采用了sql server express版本的數(shù)據(jù)庫,使用ADO.NET技術(shù)測試數(shù)據(jù)庫連接的部分代碼如下[4]:

2.3 多線程技術(shù)

一個采用了多線程技術(shù)的應(yīng)用程序可以更好地利用系統(tǒng)資源。其主要優(yōu)勢在于充分利用了CPU的空閑時間片,可以用盡可能少的時間來對用戶的要求做出響應(yīng),使得進(jìn)程的整體運行效率得到較大提高,同時增強了應(yīng)用程序的靈活性。更為重要的是,由于同一進(jìn)程的所有線程是共享同一內(nèi)存,所以不需要特殊的數(shù)據(jù)傳送機制,不需要建立共享存儲區(qū)或共享文件,從而使得不同任務(wù)之間的協(xié)調(diào)操作與運行、數(shù)據(jù)的交互、資源的分配等問題更加易于解決。

在智能導(dǎo)覽設(shè)備的租賃環(huán)節(jié),需要同時進(jìn)行兩項工作:1)即時響應(yīng)現(xiàn)場工作人員關(guān)于掃描導(dǎo)覽設(shè)備的條碼;2)即時響應(yīng)身份掃描設(shè)備的按鍵開始掃描游客證件。為此,需要借助vb.net的多線程技術(shù)。由于vb.net是基于.net框架的,而.net框架的重要組成部分CLR(Common Language Runtime,通用語言運行時)內(nèi)置支持多線程應(yīng)用,可以通過系統(tǒng)的System.Threading類直接建立多線程應(yīng)用程序[5]。

多線程應(yīng)用程序把程序分解為獨立的事務(wù),它們能通過下面的途徑充分提高性能:

1)多線程技術(shù)可以使程序更容易響應(yīng),因為在其他工作繼續(xù)時用戶界面可以保持激活。

2)當(dāng)前不忙的事務(wù)可以把處理器時間讓給其他事務(wù)。

3)花費大量處理時間的事務(wù)可以周期性的把時間讓給其他的事務(wù)。

4)事務(wù)可以在任何時候停止。

5)可通過把單獨事務(wù)的優(yōu)先級調(diào)高或調(diào)低來優(yōu)化性能。

創(chuàng)建和維護(hù)線程的基類是System.Threading.Thread類,它能夠創(chuàng)建并控制線程,設(shè)置其優(yōu)先級并獲取其狀態(tài)。在創(chuàng)建線程前必須引用threading基類:Imports System.Threading。然后可創(chuàng)建一個新的線程類實例,并使用AddressOf語句為要運行的線程指定任務(wù)。接著可以利用 Start、Resume、Suspend、Sleep、Stop、Abort和 Join 等方法操縱線程,還可以通過如 IsAlive、IsBackground、Priority、ApartmentState和 ThreadState等屬性查詢和設(shè)置線程狀態(tài)。如使用Thread類的Sleep方法可以阻滯當(dāng)前線程,使用Suspend方法可以掛起線程,使用Resume可以重新啟動掛起的線程,使用Abort方法可以停止一個線程,使用Join方法可以使當(dāng)前線程等待其他線程運行結(jié)束[6]。

建立并啟動線程的部分代碼如下:

2.4 智能導(dǎo)覽設(shè)備的激活認(rèn)證

為了防止現(xiàn)場工作人員私自將導(dǎo)覽設(shè)備借出而不在系統(tǒng)記錄以謀取私利的情況發(fā)生,有必要加入導(dǎo)覽設(shè)備的激活認(rèn)證過程。具體實現(xiàn)過程如下:導(dǎo)覽機開機后并不直接進(jìn)入導(dǎo)覽程序,而是進(jìn)入特殊的激活認(rèn)證環(huán)節(jié),監(jiān)聽等待著來自管理機的激活信號;管理機也只有在完成機器條碼掃描及游客身份證件掃描后才會發(fā)出激活信號,待導(dǎo)覽機與管理機完成一次握手協(xié)議后導(dǎo)覽機便進(jìn)入正常的導(dǎo)覽程序。而此時,管理機已經(jīng)將機器的激活信息記錄下來,這樣就可以有效避免前文提到的問題發(fā)生。

3 系統(tǒng)的實現(xiàn)

完成各個功能模塊的設(shè)計后,就可以將整體融合建立可執(zhí)行文件,形成一個獨立的可執(zhí)行文件,再利用安裝向?qū)Щ蛘咂渌虬ぞ甙严到y(tǒng)打包成一個安裝文件。最終實現(xiàn)如圖1所示的應(yīng)用界面[7]。

圖1 用戶界面Fig.1 User interface

4 結(jié)束語

本文使用數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)了對智能導(dǎo)覽設(shè)備的管理,目前已經(jīng)應(yīng)用到安徽省國家AAAA級某風(fēng)景區(qū)。在使用過程中也發(fā)現(xiàn)了一些不足,例如單機版不能實現(xiàn)局域網(wǎng)內(nèi)的多臺機器共享同一數(shù)據(jù)庫,數(shù)據(jù)的處理量有限等問題,還需要再進(jìn)一步地升級和完善。

[1]徐迪威,蔡建新.物聯(lián)網(wǎng)及其應(yīng)用剖析[J].計算機工程與應(yīng)用,2011,47(15):229-231.

XU Di-wei,CAI Jian-xin.Analysis on internet of things and its application[J].Computer Engineering and Applications,2011,47(15):229-231.

[2]王寶祥.基于ADO.NET的數(shù)據(jù)庫訪問技術(shù)研究[J].計算機應(yīng)用與軟件,2004(2):130-132.

WANG Bao-xiang.Study of datebase access technology using ADO.NET method[J].Computer Appiications and software,2004(2):130-132.

[3]Willis T,Newsome B.Visual Basic 2005入門經(jīng)典[M].4版.北京:清華大學(xué)出版社,2006.

[4]李維杰,孫乾君.SQL Server2005數(shù)據(jù)庫原理與應(yīng)用簡明教程[M].北京:清華大學(xué)出版社,2007.

[5]張躍廷.C#數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選[M].北京:人民郵電出版社,2007.

[6]張焰林.基于VB.NET的多線程技術(shù)應(yīng)用[J].計算機系統(tǒng)應(yīng)用,2009,18(2):87-89.

ZHANG Yan-lin.Implementation of multithread technique based on VB.NET [J].Computer system&application,2009,18(2):87-89.

[7]徐振明.Visual Basic.NET程序設(shè)計與應(yīng)用[M].北京:中國水利水電出版社,2007.

猜你喜歡
線程應(yīng)用程序數(shù)據(jù)庫
刪除Win10中自帶的應(yīng)用程序
電腦報(2019年12期)2019-09-10 05:08:20
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
淺談linux多線程協(xié)作
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
Linux線程實現(xiàn)技術(shù)研究
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
么移動中間件線程池并發(fā)機制優(yōu)化改進(jìn)
三星電子將開設(shè)應(yīng)用程序下載商店
昌黎县| 湟源县| 盘锦市| 沙坪坝区| 察雅县| 崇信县| 兴宁市| 句容市| 乌苏市| 长岛县| 碌曲县| 福州市| 义马市| 江津市| 加查县| 黔西| 余干县| 绵竹市| 宁强县| 石泉县| 大关县| 东兰县| 茌平县| 丽水市| 禄劝| 巴中市| 亳州市| 南宫市| 疏勒县| 丰顺县| 林州市| 嘉义县| 卢湾区| 望城县| 阜康市| 福鼎市| 甘洛县| 富源县| 新津县| 那坡县| 桃江县|