仲瑩涵 等
摘要: 根據(jù)軌道交通的特點(diǎn),提出了在軌道交通的軌道選擇中使用RFID技術(shù)的解決方案。這種導(dǎo)航方式在軌道交通中具有更好的實(shí)用性,也具有較高的實(shí)時(shí)性。相對于GPS/電子地圖導(dǎo)航,該道路數(shù)據(jù)庫模型是相對簡單而粗略的,只需確定一段路徑的起點(diǎn)和終點(diǎn)站以及其間的路徑長度,不需要詳細(xì)的信息,所以可以節(jié)約大量的用于繪制精確電子地圖的資源。
Abstract: According to the characteristics of rail transit, this paper puts forward the solutions based on RFID technology in rail selection of rail transit. This way of navigation in the rail transit has better practicability and high real-time performance. Compared with GPS/electronic map navigation, the road database model is relatively simple and rough. It only need to determine a starting point and destination, and length of the path, do not need detailed information, so it can save a large amount of resources used to draw accurate electronic map.
關(guān)鍵詞: RFID;軌道;自動(dòng)駕駛;控制系統(tǒng)
Key words: RFID;track;automatic driving;control system
中圖分類號(hào):TP2 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2013)03-0169-02
0 引言
作為計(jì)算機(jī)軟件的一個(gè)重要分支,RFID技術(shù)一直是備受業(yè)界關(guān)注的焦點(diǎn)。從20世紀(jì)60年代末開始,RFID技術(shù)經(jīng)歷了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和進(jìn)而進(jìn)入關(guān)系數(shù)據(jù)庫階段至今,RFID技術(shù)的研究也不斷取得進(jìn)展。80年代,關(guān)系數(shù)據(jù)庫是發(fā)展的主流,幾乎所有新推出的DBMS產(chǎn)品都是關(guān)系型的[1]。隨著RFID技術(shù)應(yīng)用領(lǐng)域的不斷拓展,為滿足應(yīng)用對數(shù)據(jù)處理不斷“苛刻”的要求,人們開始發(fā)現(xiàn)關(guān)系數(shù)據(jù)庫的許多限制和不足,這又推動(dòng)了RFID技術(shù)的新一輪研究,研究的方向主要有兩條:一是改造和擴(kuò)充關(guān)系數(shù)據(jù)庫,以適應(yīng)新的應(yīng)用需求;二是改用新的數(shù)據(jù)模型,例如面向RFID技術(shù)的軌道自動(dòng)駕駛控制系統(tǒng)模型等。目前,這兩方面都取得了很大的進(jìn)展,人們期待著一個(gè)“后關(guān)系數(shù)據(jù)庫”(Post—Relational Database)時(shí)代的到來。
1 RFID技術(shù)概述
屬性值都是直接量的對象是簡單對象,用其他對象作屬性值的對象是復(fù)合對象,復(fù)合對象是一個(gè)層次結(jié)構(gòu),這是對象概念不同于關(guān)系模型中元組的重要特征。對象間通過發(fā)送消息實(shí)現(xiàn)相互通信,屬性值查詢和修改只有通過向?qū)ο蟀l(fā)消息調(diào)用才能實(shí)現(xiàn);具有相同特征的對象被組織成了類,類間存在繼承、聚集的關(guān)聯(lián)。與傳統(tǒng)的數(shù)據(jù)模型相比,面向?qū)ο髷?shù)據(jù)模型具有許多優(yōu)勢,它具有表示復(fù)雜對象的能力,通過封裝和信息隱藏概念提供了模塊化機(jī)制,通過封裝和繼承概念提供了軟件重用機(jī)制,而通過滯后聯(lián)編等概念得到了系統(tǒng)擴(kuò)充能力。面向RFID是指對象的集合、行為、狀態(tài)和聯(lián)系是以面向?qū)ο髷?shù)據(jù)模型來定義的。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(OODBS)是指支持定義和操作OODB的數(shù)據(jù)庫系統(tǒng)[2]。
2 面向RFID技術(shù)的基本要素及其結(jié)構(gòu)
2.1 抽象 隨著網(wǎng)絡(luò)技術(shù)和分布式RFID技術(shù)的發(fā)展,產(chǎn)生了客戶機(jī)/服務(wù)器(Client/Server)結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)??蛻魴C(jī)/服務(wù)器結(jié)構(gòu)的思想如下:將操作系統(tǒng)分成運(yùn)行在用戶態(tài)并以C/S方式活動(dòng)的進(jìn)程以及運(yùn)行在核心態(tài)的內(nèi)核兩大部分。內(nèi)核部分除外,操作系統(tǒng)的其余部分將會(huì)被分成若干相對獨(dú)立的進(jìn)程,并且每一個(gè)進(jìn)程實(shí)現(xiàn)一類服務(wù),稱作服務(wù)器進(jìn)程,例如,提供文件管理服務(wù)、進(jìn)程管理服務(wù)、存儲(chǔ)管理服務(wù)、網(wǎng)絡(luò)通信服務(wù),等等。用戶進(jìn)程也在該層并以C/S方式活動(dòng),是一種客戶進(jìn)程。服務(wù)器進(jìn)程的任務(wù)是檢查是否有客戶提出服務(wù)請求,如果有請求則在滿足客戶的要求后返回結(jié)果,于是,軌道自動(dòng)駕駛控制系統(tǒng)進(jìn)程與服務(wù)器進(jìn)程形成了客戶機(jī)/服務(wù)器關(guān)系。運(yùn)行在核心態(tài)的內(nèi)核把該消息傳給服務(wù)器;服務(wù)器執(zhí)行相應(yīng)操作,再通過內(nèi)核用另一種消息把結(jié)果返回給用戶[3]。由于由用戶態(tài)進(jìn)程來實(shí)現(xiàn)操作軌道自動(dòng)駕駛控制系統(tǒng)的絕大多數(shù)功能,內(nèi)核只實(shí)現(xiàn)極少任務(wù),主要起信息驗(yàn)證、交換的作用。
2.2 封裝性(信息隱蔽) 以往的軌道自動(dòng)駕駛應(yīng)用系統(tǒng)常常采用C/S結(jié)構(gòu)進(jìn)行數(shù)據(jù)的管理。所謂C/S結(jié)構(gòu)即Client/Server(客戶機(jī)/服務(wù)器),是一種兩層結(jié)構(gòu),采用Intranet技術(shù),建立管理信息系統(tǒng)是一個(gè)非常復(fù)雜的工程,是管理的一次重要變革,它不僅涉及體制和機(jī)構(gòu)及人員還涉及到規(guī)章制度的變化與調(diào)整,需要開展大量的表格形式和統(tǒng)一數(shù)據(jù)編、人員碼等協(xié)調(diào)工作,而且在信息系統(tǒng)開發(fā)、應(yīng)用的各個(gè)時(shí)期,仍舊需要源源不斷的投入新資源。這些具有全局性而且又很重要的問題只有得到高層管理者的高度重視和大力支持,才能得到及時(shí)解決。其次,在計(jì)算機(jī)應(yīng)用于管理的重要變革中,業(yè)務(wù)人員的支持、理解和積極參與也至關(guān)重要。在信息開發(fā)階段,需要業(yè)務(wù)人員提供系統(tǒng)數(shù)據(jù),介紹系統(tǒng)業(yè)務(wù),積極配合系統(tǒng)開發(fā);在新系統(tǒng)建成之后,業(yè)務(wù)人員將主要扮演系統(tǒng)的主要使用者和操作者。廣大業(yè)務(wù)人員的業(yè)務(wù)水平、工作習(xí)慣及其對新系統(tǒng)的認(rèn)知程度,將對系統(tǒng)的生命力和使用效果產(chǎn)生直接的影響。
2.3 共享性 SQL Server Management Studio替代了原有SQL Server 2000下的企業(yè)管理器的功能,可以充分管理SQL Server。它是一套管理工具,采用簡易用戶接口提供輔助開發(fā)方程式工具和管理服務(wù)器的許多功能,用于管理從屬于SQL Server的組件。此集成環(huán)境使用戶可以在一個(gè)界面內(nèi)執(zhí)行各種任務(wù),例如,實(shí)現(xiàn)備份數(shù)據(jù)、編輯查詢和自動(dòng)執(zhí)行常見函數(shù)等任務(wù),也大大改善了創(chuàng)建表、視圖、觸發(fā)器、用戶自定義函數(shù)和存儲(chǔ)過程的工具??蛻舳吮硎緦臃諬TML、Java Applet和Java Application等類型,服務(wù)器端表示層用JSP、Servlet、Tag Libraries和JavaBeans實(shí)現(xiàn),業(yè)務(wù)層用EJB實(shí)現(xiàn)。接入網(wǎng)絡(luò)設(shè)備控制功能是系統(tǒng)同接入層網(wǎng)絡(luò)設(shè)備進(jìn)行交互的窗口,對攻擊主機(jī)進(jìn)行隔離等操作需要通過它來完成,所以它需要具備對接入層設(shè)備進(jìn)行控制操作的能力。這種能力是通過TELNET和SNMP協(xié)議完成的??偠灾到y(tǒng)對日志分析功能得出的結(jié)果,最后進(jìn)行隔離操作是通過本功能直接完成的[4]。
3 面向RFID技術(shù)的軌道自動(dòng)駕駛控制系統(tǒng)的設(shè)計(jì)
假如我們進(jìn)一步把圖1的RFID通信技術(shù)框架從軟件開發(fā)角度進(jìn)行分離的話,除去安全部分內(nèi)容,則軌道自動(dòng)駕駛控制系統(tǒng)中數(shù)據(jù)庫的框架結(jié)構(gòu)可以簡化為如圖1所示。
通過將數(shù)據(jù)加密、表、數(shù)據(jù)庫、Web Form代碼及表示層(Web Form)的分離,分別以類、Web服務(wù)、ASPX等的形式存在,因此不僅實(shí)現(xiàn)了各業(yè)務(wù)邏輯之間的無縫連接,同時(shí)也增加了代碼的系統(tǒng)的可維護(hù)性和可重用性。打開關(guān)閉連接數(shù)據(jù)庫、執(zhí)行數(shù)據(jù)的增、刪、改、查等功能。CourseAction.java實(shí)現(xiàn)了課程管理的請求轉(zhuǎn)發(fā),為了實(shí)現(xiàn)對ADD、REMOVE、LIST、VIEW、TRASH、EDIT、SAVE等不同的要求,CourseAction類設(shè)計(jì)實(shí)現(xiàn)了performAdd()、performRemove()、performList()、performView()、performTrash()、performEdit()和performSave()方法。由于這七個(gè)方法在編寫風(fēng)格上基本一致,所以我們針對performList()方法來說明CourseAction類的構(gòu)建過程。下面是CourseAction類的部分實(shí)現(xiàn)代碼。RFID技術(shù)在系統(tǒng)中是十分重要的,狀態(tài)應(yīng)該隨時(shí)能查詢到[5]。
①AddStrings(pString)返回一個(gè)字符串的基于0的編號(hào),該值用來連接字符串到按鈕上,其中的字符串參數(shù)pString需要兩個(gè)結(jié)束符來表示結(jié)尾,必須將字符串寫成如下形式:pString= “Only one string to add\0”; CString類不能提供這樣的功能,因?yàn)椴豢赡茉贑String中保存超過一個(gè)結(jié)束符的字符串。所以,將CString中的字符串取出,以char定義的字符串保存,再對該字符串添加一個(gè)結(jié)束符,做法如下:
CString string;
string.LoadString(nIndex + IDSTR_TFDJ); //裝載字符串資源
……
//取得字符串的長度為了添加一個(gè)結(jié)束符,給長度加1
int nStringLength = string.GetLength() + 1;
……
TCHAR * pString = string.GetBufferSetLength(nStringLength); //按增加后的長度返回字符串pString[nStringLength] = 0;
函數(shù)GetBufferSetLength的過程分配了nStringLength+1長度的內(nèi)存空間,并在加上結(jié)束符'\0'之后,復(fù)制原字符串到這個(gè)新的內(nèi)存空間中,同時(shí)將原字符串的結(jié)束符也復(fù)制到新的位置,于是,該函數(shù)結(jié)束后,字符串pString已經(jīng)有兩個(gè)結(jié)束符了,最后一個(gè)語句略顯多余或不足。但為了保證該字符串確實(shí)有兩個(gè)結(jié)束符,不能省略這兩個(gè)結(jié)束符。
② fsState確定按鈕的狀態(tài),fsStyle確定按鈕的風(fēng)格。若給fsStyle賦值TBSTYLE_SEP,則該按鈕表現(xiàn)為一個(gè)間隔。dwData可以是用戶自定義的數(shù)據(jù),可以將一個(gè)指針或句柄傳遞給它,可以在某些消息響應(yīng)函數(shù)中使用。iBitmap是表示基于0的圖像列表的編號(hào)。
③idCommand為與按鈕連接的命令標(biāo)識(shí),當(dāng)這個(gè)按鈕被按下時(shí),這個(gè)值將被放到WM_COMMAND中發(fā)送到父窗體。如果fsStyle被設(shè)置為TBSTYLE_SEP,該值必須為0。
調(diào)用工具欄類。先在類CA1Dlg中實(shí)例化CStandardBar的對象。
CStandardBar m_StandardBar;
別忘了在這個(gè)文件里包含CStandardBar類聲明所在的頭文件。
#include “StandardBar.h”
m_StandardBar.AutoSize(); //重新計(jì)算控件的大小
return 0;
4 結(jié)語
傳統(tǒng)的關(guān)系數(shù)據(jù)庫,數(shù)據(jù)類型少且固定不變,僅靠具體的字段值和把它們集合在一起的記錄來表現(xiàn)信息,缺乏在DB上直接表現(xiàn)數(shù)間種種意義上的聯(lián)系能力。對象和類概念的靈活性,通過編譯技術(shù),使之能建立高度結(jié)構(gòu)化的數(shù)據(jù)模型,這比傳統(tǒng)的軌道自動(dòng)駕駛控制系統(tǒng)更能體現(xiàn)現(xiàn)實(shí)世界的語義。在較低層次的實(shí)體有較大的特殊性,而較高層次的實(shí)體有較大的概括性。
參考文獻(xiàn):
[1]初秀民,萬劍,嚴(yán)新平,等.基于車載機(jī)器視覺的汽車安全技術(shù)[J].中國安全科學(xué)學(xué)報(bào),2008,18(5):154-161.
[2]孫浩,程磊,黃衛(wèi)華,等.基于HCS12的小車智能控制系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式應(yīng)用,2007,(3):51-53.
[3]艾學(xué)忠,趙丁選,唐新星,等.特種車輛駕駛模擬系統(tǒng)轉(zhuǎn)向力覺臨場感的實(shí)現(xiàn)[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2008,32(2):222-224.
[4]徐友春,王榮本,李兵,等.世界智能車輛近況綜述[J].汽車工程,2001(23):280-291.
[5]郎為民.射頻識(shí)別(RFID)技術(shù)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.8:176-178.
[6]耿國華.數(shù)據(jù)結(jié)構(gòu)-C語言描述[M].北京:高等教育出版社,2005.9:115-116.