基于RFID的轨道自动驾驶控制系统的设计
2013-02-26仲莹涵等
仲莹涵 等
摘要: 根据轨道交通的特点,提出了在轨道交通的轨道选择中使用RFID技术的解决方案。这种导航方式在轨道交通中具有更好的实用性,也具有较高的实时性。相对于GPS/电子地图导航,该道路数据库模型是相对简单而粗略的,只需确定一段路径的起点和终点站以及其间的路径长度,不需要详细的信息,所以可以节约大量的用于绘制精确电子地图的资源。
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.
关键词: RFID;轨道;自动驾驶;控制系统
Key words: RFID;track;automatic driving;control system
中图分类号:TP2 文献标识码:A 文章编号:1006-4311(2013)03-0169-02
0 引言
作为计算机软件的一个重要分支,RFID技术一直是备受业界关注的焦点。从20世纪60年代末开始,RFID技术经历了层次数据库、网状数据库和进而进入关系数据库阶段至今,RFID技术的研究也不断取得进展。80年代,关系数据库是发展的主流,几乎所有新推出的DBMS产品都是关系型的[1]。随着RFID技术应用领域的不断拓展,为满足应用对数据处理不断“苛刻”的要求,人们开始发现关系数据库的许多限制和不足,这又推动了RFID技术的新一轮研究,研究的方向主要有两条:一是改造和扩充关系数据库,以适应新的应用需求;二是改用新的数据模型,例如面向RFID技术的轨道自动驾驶控制系统模型等。目前,这两方面都取得了很大的进展,人们期待着一个“后关系数据库”(Post—Relational Database)时代的到来。
1 RFID技术概述
属性值都是直接量的对象是简单对象,用其他对象作属性值的对象是复合对象,复合对象是一个层次结构,这是对象概念不同于关系模型中元组的重要特征。对象间通过发送消息实现相互通信,属性值查询和修改只有通过向对象发消息调用才能实现;具有相同特征的对象被组织成了类,类间存在继承、聚集的关联。与传统的数据模型相比,面向对象数据模型具有许多优势,它具有表示复杂对象的能力,通过封装和信息隐藏概念提供了模块化机制,通过封装和继承概念提供了软件重用机制,而通过滞后联编等概念得到了系统扩充能力。面向RFID是指对象的集合、行为、状态和联系是以面向对象数据模型来定义的。面向对象数据库系统(OODBS)是指支持定义和操作OODB的数据库系统[2]。
2 面向RFID技术的基本要素及其结构
2.1 抽象 随着网络技术和分布式RFID技术的发展,产生了客户机/服务器(Client/Server)结构和微内核结构的操作系统。客户机/服务器结构的思想如下:将操作系统分成运行在用户态并以C/S方式活动的进程以及运行在核心态的内核两大部分。内核部分除外,操作系统的其余部分将会被分成若干相对独立的进程,并且每一个进程实现一类服务,称作服务器进程,例如,提供文件管理服务、进程管理服务、存储管理服务、网络通信服务,等等。用户进程也在该层并以C/S方式活动,是一种客户进程。服务器进程的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,轨道自动驾驶控制系统进程与服务器进程形成了客户机/服务器关系。运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用另一种消息把结果返回给用户[3]。由于由用户态进程来实现操作轨道自动驾驶控制系统的绝大多数功能,内核只实现极少任务,主要起信息验证、交换的作用。
2.2 封装性(信息隐蔽) 以往的轨道自动驾驶应用系统常常采用C/S结构进行数据的管理。所谓C/S结构即Client/Server(客户机/服务器),是一种两层结构,采用Intranet技术,建立管理信息系统是一个非常复杂的工程,是管理的一次重要变革,它不仅涉及体制和机构及人员还涉及到规章制度的变化与调整,需要开展大量的表格形式和统一数据编、人员码等协调工作,而且在信息系统开发、应用的各个时期,仍旧需要源源不断的投入新资源。这些具有全局性而且又很重要的问题只有得到高层管理者的高度重视和大力支持,才能得到及时解决。其次,在计算机应用于管理的重要变革中,业务人员的支持、理解和积极参与也至关重要。在信息开发阶段,需要业务人员提供系统数据,介绍系统业务,积极配合系统开发;在新系统建成之后,业务人员将主要扮演系统的主要使用者和操作者。广大业务人员的业务水平、工作习惯及其对新系统的认知程度,将对系统的生命力和使用效果产生直接的影响。
2.3 共享性 SQL Server Management Studio替代了原有SQL Server 2000下的企业管理器的功能,可以充分管理SQL Server。它是一套管理工具,采用简易用户接口提供辅助开发方程式工具和管理服务器的许多功能,用于管理从属于SQL Server的组件。此集成环境使用户可以在一个界面内执行各种任务,例如,实现备份数据、编辑查询和自动执行常见函数等任务,也大大改善了创建表、视图、触发器、用户自定义函数和存储过程的工具。客户端表示层分HTML、Java Applet和Java Application等类型,服务器端表示层用JSP、Servlet、Tag Libraries和JavaBeans实现,业务层用EJB实现。接入网络设备控制功能是系统同接入层网络设备进行交互的窗口,对攻击主机进行隔离等操作需要通过它来完成,所以它需要具备对接入层设备进行控制操作的能力。这种能力是通过TELNET和SNMP协议完成的。总而言之,系统对日志分析功能得出的结果,最后进行隔离操作是通过本功能直接完成的[4]。
3 面向RFID技术的轨道自动驾驶控制系统的设计
假如我们进一步把图1的RFID通信技术框架从软件开发角度进行分离的话,除去安全部分内容,则轨道自动驾驶控制系统中数据库的框架结构可以简化为如图1所示。
通过将数据加密、表、数据库、Web Form代码及表示层(Web Form)的分离,分别以类、Web服务、ASPX等的形式存在,因此不仅实现了各业务逻辑之间的无缝连接,同时也增加了代码的系统的可维护性和可重用性。打开关闭连接数据库、执行数据的增、删、改、查等功能。CourseAction.java实现了课程管理的请求转发,为了实现对ADD、REMOVE、LIST、VIEW、TRASH、EDIT、SAVE等不同的要求,CourseAction类设计实现了performAdd()、performRemove()、performList()、performView()、performTrash()、performEdit()和performSave()方法。由于这七个方法在编写风格上基本一致,所以我们针对performList()方法来说明CourseAction类的构建过程。下面是CourseAction类的部分实现代码。RFID技术在系统中是十分重要的,状态应该随时能查询到[5]。
①AddStrings(pString)返回一个字符串的基于0的编号,该值用来连接字符串到按钮上,其中的字符串参数pString需要两个结束符来表示结尾,必须将字符串写成如下形式:pString= “Only one string to add\0”; CString类不能提供这样的功能,因为不可能在CString中保存超过一个结束符的字符串。所以,将CString中的字符串取出,以char定义的字符串保存,再对该字符串添加一个结束符,做法如下:
CString string;
string.LoadString(nIndex + IDSTR_TFDJ); //装载字符串资源
……
//取得字符串的长度为了添加一个结束符,给长度加1
int nStringLength = string.GetLength() + 1;
……
TCHAR * pString = string.GetBufferSetLength(nStringLength); //按增加后的长度返回字符串pString[nStringLength] = 0;
函数GetBufferSetLength的过程分配了nStringLength+1长度的内存空间,并在加上结束符'\0'之后,复制原字符串到这个新的内存空间中,同时将原字符串的结束符也复制到新的位置,于是,该函数结束后,字符串pString已经有两个结束符了,最后一个语句略显多余或不足。但为了保证该字符串确实有两个结束符,不能省略这两个结束符。
② fsState确定按钮的状态,fsStyle确定按钮的风格。若给fsStyle赋值TBSTYLE_SEP,则该按钮表现为一个间隔。dwData可以是用户自定义的数据,可以将一个指针或句柄传递给它,可以在某些消息响应函数中使用。iBitmap是表示基于0的图像列表的编号。
③idCommand为与按钮连接的命令标识,当这个按钮被按下时,这个值将被放到WM_COMMAND中发送到父窗体。如果fsStyle被设置为TBSTYLE_SEP,该值必须为0。
调用工具栏类。先在类CA1Dlg中实例化CStandardBar的对象。
CStandardBar m_StandardBar;
别忘了在这个文件里包含CStandardBar类声明所在的头文件。
#include “StandardBar.h”
m_StandardBar.AutoSize(); //重新计算控件的大小
return 0;
4 结语
传统的关系数据库,数据类型少且固定不变,仅靠具体的字段值和把它们集合在一起的记录来表现信息,缺乏在DB上直接表现数间种种意义上的联系能力。对象和类概念的灵活性,通过编译技术,使之能建立高度结构化的数据模型,这比传统的轨道自动驾驶控制系统更能体现现实世界的语义。在较低层次的实体有较大的特殊性,而较高层次的实体有较大的概括性。
参考文献:
[1]初秀民,万剑,严新平,等.基于车载机器视觉的汽车安全技术[J].中国安全科学学报,2008,18(5):154-161.
[2]孙浩,程磊,黄卫华,等.基于HCS12的小车智能控制系统设计[J].单片机与嵌入式应用,2007,(3):51-53.
[3]艾学忠,赵丁选,唐新星,等.特种车辆驾驶模拟系统转向力觉临场感的实现[J].武汉理工大学学报:交通科学与工程版,2008,32(2):222-224.
[4]徐友春,王荣本,李兵,等.世界智能车辆近况综述[J].汽车工程,2001(23):280-291.
[5]郎为民.射频识别(RFID)技术原理与应用[M].北京:机械工业出版社,2006.8:176-178.
[6]耿国华.数据结构-C语言描述[M].北京:高等教育出版社,2005.9:115-116.