• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      智能訪客管理系統(tǒng)中訪客過程的呈現(xiàn)及數(shù)據(jù)的持久化處理

      2016-12-15 21:06:10管毓
      電腦知識與技術(shù) 2016年27期
      關(guān)鍵詞:讀卡器來賓IC卡

      管毓

      摘要:在軟件設(shè)計中,客戶與軟件的人機(jī)交互界面,越來越受到人們的關(guān)注。如何緊密接合客戶的需求,是我們設(shè)計的重點。該文討論了在智能訪客管理系統(tǒng)的開發(fā)中,從訪客信息、接待人信息的采集到接待后離開的完整過程的呈現(xiàn),實現(xiàn)來訪過程的創(chuàng)建、修改、離開,這是設(shè)計智能訪客管理系統(tǒng)的重要環(huán)節(jié)。針對訪客過程中可能存在的數(shù)據(jù)物理鏈路斷開,導(dǎo)致來訪數(shù)據(jù)無法上傳到中心的問題,該文給出了數(shù)據(jù)的持久化處理方法。

      關(guān)鍵詞:智能訪客系統(tǒng);過程的呈現(xiàn)持久化處理

      中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)27-0270-04

      Abstract: In the design of software, the interface between the customer and the software is more and more attention.How to engage the customers needs, is the focus of our design. This paper discusses the complete process of presentation in development of intelligent visitor management system,from the visitor informationacquisition、 reception information acquisition to the left after the reception. It creates a visiting process、modify process and leave process.This is an important point in the design of intelligent visitor management system. Because of the data physical link disconnection which may exist in the process of visitors, the data can not be uploaded to the center. In view of the problem,persistent process should be used.

      Key words: intelligent visitor system;presentation of process;persistent process

      1 前言

      智能訪客管理系統(tǒng)是基于Client/Server架構(gòu)的訪客管理系統(tǒng),它具備了全面而完整地進(jìn)行訪客全過程接待的管理能力,從而對訪客身份以及其接待信息提供了詳細(xì)的甄別和記載,不僅可以保障各個單位的安全,更可以提高企事業(yè)單位的電子化訪客登記水平和形象。為各級政府機(jī)關(guān)和企事業(yè)單位提供一個多能、高效、安全、穩(wěn)定的訪客管理業(yè)務(wù)平臺,幫助他們實現(xiàn)高效安全的來訪人員管理。

      針對政府機(jī)關(guān)的特殊管理要求,我們深入了解相關(guān)需求,開發(fā)了政府機(jī)關(guān)的智能訪客系統(tǒng)。本系統(tǒng)的開發(fā)基于Visual C++ 語言、TCP/IP協(xié)議、SQL Server數(shù)據(jù)庫進(jìn)行。由數(shù)據(jù)采集、數(shù)據(jù)傳輸、業(yè)務(wù)操作、業(yè)務(wù)管理等子系統(tǒng)組成。本文論述了訪客過程的呈現(xiàn)設(shè)計,在物理鏈路斷開時,本文討論了可以通過數(shù)據(jù)持久化處理來保證數(shù)據(jù)的完整性。

      2 問題的提出

      隨著公安部頒布的《公安機(jī)關(guān)監(jiān)督檢查企業(yè)事業(yè)單位內(nèi)部治安保衛(wèi)工作規(guī)定》在2007年10月1日正式實施,來訪賓客進(jìn)出安全管理問題成為各級政府機(jī)關(guān)及企事業(yè)單位的頭等大事。特別是社會經(jīng)濟(jì)的快速發(fā)展及融合,各種外來人員流動性的日益頻繁,更增加了安全隱患:

      來訪人員真實身份難以識別;

      人工紙質(zhì)手寫登記人員信息,書寫繁雜,而且多位身份證號碼容易錯位漏位;

      不利于企事業(yè)單位建立高科技管理形象;

      紙質(zhì)登記單容易丟失、損壞,同時不易保存,不便查找,流于形式,難以進(jìn)行有效管理。

      為此, 我們專門研發(fā)了智能訪客管理系統(tǒng),加強(qiáng)登記有序管理,防止安全事故發(fā)生。

      3 系統(tǒng)組成和系統(tǒng)拓?fù)鋱D

      1)系統(tǒng)組成

      2)系統(tǒng)拓?fù)鋱D

      4 過程的呈現(xiàn)

      4.1 來訪記錄的創(chuàng)建

      我們設(shè)計借助一些采集設(shè)備自動登記來訪者和接待者的信息,來訪者的身份信息由二代身份證讀卡器華視CVR100獲取,系統(tǒng)自動將來訪者證件內(nèi)的姓名、性別、出生年月、家庭住址和照片存入系統(tǒng)內(nèi)。如果來訪者使用警官證,則來訪者的身份信息由警官證讀卡器讀取,系統(tǒng)自動將姓名、警號、服務(wù)的廳局和照片存到系統(tǒng)內(nèi)。同時,我們設(shè)計采用高清晰網(wǎng)絡(luò)攝像頭羅技 Logitech C270進(jìn)行現(xiàn)場頭像抓拍,以防止來訪者和證件人不符。

      對于政府要害部門,為了防止外來人員(非政府機(jī)關(guān)內(nèi)部系統(tǒng)人員)誤闖入敏感區(qū)域,規(guī)定外來訪客人員需由接待人員帶進(jìn)辦公區(qū),再由接待人員帶出辦公區(qū)。那么,如何實現(xiàn)這個功能,是我們設(shè)計的重點。由于各政府單位基本都實現(xiàn)了門禁一卡通系統(tǒng),所以,我們設(shè)計充分利用標(biāo)識員工身份的一卡通IC卡來完成此功能。在智能訪客系統(tǒng)的前端,安裝一個門禁讀卡器,接待人只需在門禁讀卡器上刷一下他的門禁控制IC卡,即可。如果門禁卡非法,軟件會自動提示非法不允許。

      在特殊情況下(如:來訪者的證件無法識別),系統(tǒng)可自動切換到手動創(chuàng)建模式。

      4.2 數(shù)據(jù)采集

      包括來訪者信息、接待者信息,為了實現(xiàn)程序代碼的復(fù)用性,我們把部分模塊設(shè)計采用OCX的ActiveX組件形式進(jìn)行開發(fā)。代碼片段如下(C++語法):

      4.2.1 來訪者二代身份證

      基于二代證讀卡器華視CVR100的SDK,我們設(shè)計開發(fā)了二代證識別組件IDRCoreOcx.ocx

      二代證信息的結(jié)構(gòu)定義:

      structdefMsg{

      unsigned short name[15]; //姓名

      unsigned short sex[1]; //性別

      unsigned short nation[2]; //民族

      unsigned short bY[4],bM[2],bD[2]; //出生年月日

      unsigned short address[35]; //地址

      unsigned short id[18]; //身份證號碼

      unsigned short depart[15]; //發(fā)證機(jī)關(guān)

      unsigned short tsY[4],tsM[2],tsD[2]; //有效起始日期

      unsigned short tpY[4],tpM[2],tpD[2]; };//有效結(jié)束日期

      defMsg IDRMsg;

      接口函數(shù)的定義:

      BOOL InitDevice() //用于初始化加載二代證讀卡器動態(tài)鏈接庫termb.dll到內(nèi)存

      Void FreeDevice() //釋放二代證讀卡器動態(tài)鏈接庫termb.dll所占內(nèi)存

      BOOL OpenDevice() //用于打開二代證讀卡器設(shè)備所接的計算機(jī)端口(串口或USB口)

      Void CloseDevice() //用于關(guān)閉二代證讀卡器設(shè)備

      BSTR GetIDRData() //用于讀卡,成功后在termb.dll文件所在路徑下zp.bmp(照片信息),同時文字信息生成到IDGMsg,最后拼成字符串返回。

      4.2.2 來訪者警官證

      基于警官證讀卡器SDK,我們設(shè)計開發(fā)了警官證識別組件PoliceCoreOcx.ocx

      警官證信息的結(jié)構(gòu)定義:

      typedefstructPoliceCardPubInfo

      {BYTE _type; //證件類型未知 = 0, 警官證 = 1, 工作證 = 2, 退休證 = 3

      BYTE _name[27]; //姓名(27個字節(jié))

      BYTE _sex; //性別女 = 0, 男 = 1, 未知 = 2

      BYTE _ID[8]; //證件編號8位數(shù)字編號

      BYTE _grade[16]; //警銜(16字節(jié))

      BYTE _duty[40]; //職務(wù)(40字節(jié))

      BYTE _unit[54]; //工作單位(54字節(jié))

      BYTE _validateStart[4]; //有效期起始:20年月日, 2007年12月1日表示如下:

      //_validateStart[0] = 20; (20)

      //_validateStart[1] = 7; (年-2000)

      //_validateStart[2] = 12; (月)

      //_validateStart[3] = 1; (日)

      BYTE _validateEnd[4]; //有效期結(jié)束:20年月日, 2012年12月31日表示如下:

      //_validateStart[0] = 20; (20)

      //_validateStart[1] = 12; (年-2000)

      //_validateStart[2] = 12; (月)

      //_validateStart[3] = 31; (日)

      }PoliceCardPubInfo;

      PoliceCardPubInfo myInfo;

      接口函數(shù)的定義:

      BOOL OpenDevice(); //用于初始化警官證讀卡器設(shè)備,并打開設(shè)備;

      BOOL CloseDevice(); //關(guān)閉警官證讀卡器設(shè)備,并釋放設(shè)備資源;

      BSTR GetPoliceData(); //用于讀卡,成功后,將識別出的照片buffer保存到指定目錄,將識別出的文字信息生成到myInfo,最后拼成字符串返回。

      4.2.3 接待者門禁控制IC卡

      門禁控制IC卡讀卡器通過232的串口,把讀到的卡號送給訪客系統(tǒng),基于串口通迅原理,我們設(shè)計開發(fā)了門禁IC卡識別組件EmployCardOcx.ocx

      接口函數(shù)的定義:

      BOOL InitReaderOcx(LPCTSTR strPort); //設(shè)置讀卡器所在串口號,并打開串口

      void FreeReaderOcx(); //關(guān)閉讀卡器所在串口,

      void CardEvent(CstringstrRet); //事件函數(shù),組件可時刻監(jiān)聽是否有人刷門禁卡,一旦有人刷卡,組件則會主動識別出卡號,由字符串strRet返回。主程序通過注冊事件回調(diào),被動獲得IC卡號。

      4.2.4 來訪者現(xiàn)場頭像照片

      USB接口高清晰攝像頭,我們設(shè)計采用VFW(Windows 專門提供的Video For Windows)視頻捕捉技術(shù),實時抓拍來訪者頭像。代碼片段如下(C++語法):

      {charszDeviceName[80];

      charszDeviceVersion[80];

      char item[161];

      int i;

      for (i=0; i<10; i++)

      {if ( capGetDriverDescription(i, szDeviceName, sizeof(szDeviceName),szDeviceVersion, sizeof(szDeviceVersion)) ) //獲取系統(tǒng)已安裝的所有捕獲驅(qū)動程序的名稱和版本。獲取不到,則不去捕獲視頻。

      {strcpy(item, szDeviceName);

      strcat(item, “ “);

      strcat(item, szDeviceVersion);

      BOOL b = FALSE;

      capDriverDisconnect(m_hVideo); //與捕獲視頻源斷開連接

      b = capDriverConnect(m_hVideo,i); //捕獲視頻源

      if(!b)

      continue;

      BITMAPINFO bminfo;

      intnSize = sizeof(BITMAPINFO);

      capGetVideoFormat(m_hVideo,(void*)&bminfo,nSize); //獲得視頻格式 capPreviewRate( m_hVideo, 40 ); //設(shè)置預(yù)覽的速度

      capPreviewScale(m_hVideo, TRUE); //設(shè)置預(yù)覽的比例

      capPreview( m_hVideo, TRUE ); //開始預(yù)覽

      break; }}

      if(i == 10)

      {//沒有找到視頻采集設(shè)備}

      return 0; }

      4.3 數(shù)據(jù)呈現(xiàn)

      數(shù)據(jù)呈現(xiàn)如下圖所示,需要采集的信息有訪客信息(含文字和身份證、警官證照片)、接待信息、來訪者現(xiàn)場頭像照片。

      4.4 來訪記錄的修改

      來訪信息有時有其他情況需要陳述(如:需延時退卡、延時原因,來訪者的車輛、事由、實際離開時間),因此,我們設(shè)計可以修改在系統(tǒng)界面實時呈現(xiàn)的未退卡訪客記錄。

      4.5 來訪的離開

      當(dāng)來訪人員離開時,點擊“退卡離開”按鈕或者送客人在讀卡器上進(jìn)行刷卡操作都會彈出離開確認(rèn)對話框,確認(rèn)后,系統(tǒng)將自動獲取訪客離開時間并保存,然后將該條訪問信息從該訪客記錄列表中刪除。此后該訪客信息只能在“信息檢索”中查看、打印、生成報表,不能再進(jìn)行任何的修改。

      “退卡離開”和”刷卡離開”的區(qū)別:點擊“退卡離開”按鍵,此時,系統(tǒng)默認(rèn)無送客人;刷員工卡離開,此時,系統(tǒng)將員工卡所有人視為送客人。當(dāng)送客人與接待人不是同一人時,會提示如下圖所示:

      5 數(shù)據(jù)的持久化處理

      本系統(tǒng)設(shè)計配備了中心存儲服務(wù)器和中心數(shù)據(jù)庫服務(wù)器,所有照片信息和數(shù)據(jù)信息均通過網(wǎng)絡(luò)協(xié)議實時地傳輸?shù)街行?,但是,?dāng)系統(tǒng)物理鏈路斷開時,所有前端的信息均無法實時傳輸,解決這個問題的最好的方法就是將未傳成功的照片和數(shù)據(jù)進(jìn)行本地XML文件的持久化處理保存,當(dāng)物理鏈路恢復(fù)正常時,讀取XML文件后對照片和數(shù)據(jù)進(jìn)行重新傳輸,從而保證了數(shù)據(jù)的完整性。

      來訪記錄的結(jié)構(gòu)定義

      structRecordStruct

      {CstringstrGuestName; //來賓姓名

      CstringstrGuestAddress; //來賓地址

      CstringstrGuestBirthday; //來賓出生日期

      CstringstrGuestCertificateID; //來賓證件編號

      CstringstrGuestDepartment; //來賓部門

      CstringstrGuestPhone; //來賓電話

      CstringstrEmployeeName; //接待人姓名

      CstringstrEmployeeDepartment; //接待人部門

      CstringstrEmployeePhone; //接待人電話

      CstringstrEmployeeAdress; //接待人地址

      CstringstrEmployeeCode; //接待人卡編號

      CstringstrReason; //來訪事由

      CstringstrInTempID; //來賓卡編號

      CstringstrStartTime; //來賓訪問時間

      CstringstrEndTime; //來賓離開時間

      CstringstrCarID; //來賓車牌號碼

      CstringstrCarType; //來賓車型

      CstringstrCarColor; //來賓車輛顏色

      CstringstrGuestCertificateType; //證件類型

      CstringstrManageName; //管理員姓名

      intnGuestSex; //0表示男,1表示女

      intnSendGuestEmployID; //送客的員工ID號

      intnReceiveGuestEmployID; //迎客的員工ID號

      CstringstrBeiZhu; //備注

      CstringstrPhotoSavePath; //保存路徑身份證照片

      CstringstrPhotoLocaleSavePath;}; //保存路徑現(xiàn)場抓圖圖片

      RecordStructuploadimageinfo;

      首先將不能上傳的數(shù)據(jù)緩存化處理,代碼片段如下(C++):

      …//此處代碼省略

      if (pDlg->m_pBaseClass->UploadImage(pDlg->m_szCrossName, &uploadimageinfo) == TRUE)

      {//上傳成功}

      else

      {//上傳失敗,寫到日志緩存鏈表m_WriteMsgLogList

      CwriteMsgLog *pWriteMsgLog = new CwriteMsgLog;

      pWriteMsgLog->strLocalPath = szLocalPath;

      pWriteMsgLog->uploadimageinfo = uploadimageinfo;

      pDlg->m_WriteMsgLogListLock.Lock();

      try{

      pDlg->m_WriteMsgLogList.AddTail(pWriteMsgLog); }

      catch(…)

      {}

      pDlg->m_WriteMsgLogListLock.UnLock();}

      然后將緩存數(shù)據(jù)以XML文件形式落地保存到本地硬盤,代碼片段如下(C++):

      POSITION pos = WriteMsgLogList.GetHeadPosition();

      while(NULL != pos)

      {CwriteMsgLog *pLII = WriteMsgLogList.GetAt(pos);

      pDlg->m_SaveMsgLock.Lock();

      pDlg->SaveXmlLog_MSG(pLII->strLocalPath,pLII->uploadimageinfo);//保存XML文件

      pDlg->m_SaveMsgLock.UnLock();

      deletepLII;

      pLII = NULL;

      WriteMsgLogList.RemoveAt(pos);

      pos = WriteMsgLogList.GetHeadPosition();}

      最后,當(dāng)條件具備時,讀取XML文件的記錄后,一條一條將文件和數(shù)據(jù)上傳到中心。

      6 運行效果總結(jié)

      本智能訪客管理系統(tǒng)作為某省政府部門訪客管理工具自2013年開始試運行以來運行良好,每年平均有12萬 至15萬 人次,訪客過程中系統(tǒng)響應(yīng)及時,沒有出現(xiàn)網(wǎng)絡(luò)阻塞現(xiàn)象,在每次物理鏈路故障時,均未影響系統(tǒng)的訪客接待過程,且每次鏈路正常后,系統(tǒng)均及時恢復(fù)信息的上傳,從未影響各級領(lǐng)導(dǎo)的查看工作。本系統(tǒng)作為智能訪客管理工具為政府機(jī)關(guān)單位提供了良好的服務(wù)。

      參考文獻(xiàn):

      [1] 姜桂洪,張龍波.SQL Server 2005數(shù)據(jù)庫應(yīng)用與開發(fā)[M].清華大學(xué)出版社,2010.

      [2] (美)Walter Savitch.C++面向?qū)ο蟪绦蛟O(shè)計[M]. 周靖,譯.7版.清華大學(xué)出版社,2010.

      [3] 吳晨.ASP.NET 數(shù)據(jù)庫項目案例導(dǎo)航[M].清華大學(xué)出版社,2004.

      [4] 張海藩.軟件工程導(dǎo)論[M].5版.清華大學(xué)出版社,2008.

      [5] 曹付元,梁吉業(yè).基于SQL語言的粗糙數(shù)據(jù)查詢[J].計算機(jī)科學(xué),2004(7).

      猜你喜歡
      讀卡器來賓IC卡
      工商業(yè)IC卡控制器改造為物聯(lián)網(wǎng)控制器實踐
      女王
      寶藏(2021年8期)2021-09-15 02:20:04
      布達(dá)拉宮
      寶藏(2021年8期)2021-09-15 02:20:04
      寶藏(2021年4期)2021-05-27 08:11:02
      與淘汰命運抗?fàn)帯】炊P記本的讀卡器
      在用電梯加裝外接式IC卡運行控制系統(tǒng)設(shè)計改進(jìn)
      來賓,有三個“全國第一”的甜蜜園區(qū)
      一種新的無觸點IC卡的檢測方法
      電子測試(2017年15期)2017-12-18 07:19:05
      基于EMV非接通信規(guī)范的非接觸讀卡器設(shè)計
      為二維碼識別的獻(xiàn)禮之作——評測平治二維碼門禁讀卡器
      乐亭县| 密山市| 新蔡县| 太湖县| 共和县| 故城县| 佛学| 万安县| 天长市| 宾阳县| 枝江市| 博爱县| 门源| 广昌县| 阜新| 吴堡县| 中卫市| 子长县| 安塞县| 榕江县| 宁海县| 衡阳县| 平安县| 大冶市| 莲花县| 沙河市| 丹东市| 岳阳县| 泽库县| 保亭| 东方市| 德化县| 县级市| 木里| 五指山市| 承德县| 阿拉善左旗| 镇平县| 尚义县| 琼结县| 重庆市|