专利名称:一种车辆行驶记录仪的数据管理方法
技术领域:
本发明涉及一种数据管理方法,尤其是一种车辆行驶记录仪的数据管理方法。
背景技术:
车辆行驶记录仪(Vehicle Traveling Data Recorder;VDR)是一种能够对车辆行驶速度、时间、里程以及其他状态信息进行记录的电子设备。VDR系统的组成如图1所示。图中包含一个通常被安装在车辆上的上述VDR设备、一个读卡器、一系列与读卡器配套使用的卡(例如车间卡、驾驶员卡、公司卡)以及一台计算机(Computer)。
车辆行驶记录仪数据管理软件(Vehicle Traveling Data Recorder Data Management System,VDRDMS)是根据车辆行驶记录仪国家标准GB/T 19056-2003所开发的一个Windows环境下的应用软件,它运行在上述计算机内。VDRDMS通过串口(COM)或USB口与VDR设备进行通信交换数据,还可以通过USB口与驾驶员卡或公司卡进行通信交换数据,并且以友好的图形化界面向用户提供数据通信、数据显示(列表及图线)、数据检索、数据统计、数据打印及历史数据分析管理等各项功能。
运行在计算机(通常为PC机)上的VDRDMS软件一般包括智能卡构件(Smart CardComponent)、VDR通信构件(VDR Communication Component)、数据库构件(DatabaseComponent)、用户界面构件(User Interface Component)。上述设备和构件的作用分别为■读卡器(Card Reader)用于读取VDR系统各种卡的设备(Device),通常与各种卡配套使用。
■驾驶员卡(Driver Card)用于识别使用VDR系统的驾驶员身份的设备。
■车间卡(Workshop Card)用于识别车间内负责VDR系统参数标定的工程师身份的设备。
■公司卡(Company Card)用于收集VDR系统内的数据的设备。
■智能卡构件(Smart Card Component)负责与读卡器和智能卡通信的功能实体。
■VDR通信构件(VDR Communication Component)负责与VDR设备通信的功能实体。
■数据库构件(Database Component)存储VDR系统所有的历史纪录、车间活动以及驾驶员信息。
■用户界面构件(User Interface Component)终端用户与VDR系统进行交互的构件。目前上述VDR系统存在的主要问题有第一,各构件相互之间接口的复杂性问题。上述每一个构件上都分别存在着若干个数据接口、控制接口、安全接口,因而上述每一个构件与其它任何一个构件之间都分别存在着若干数据线、控制线、安全线。例如,VDR通信构件上就存在着至少10个数据接口,也就是说VDR通信构件与其它构件之间要交互至少10种数据;驾驶员卡上存在至少7种数据,意味着驾驶员卡与其它构件之间要交互至少7种数据。除了数据接口以外,每个构件上还存在控制接口,例如打开、关闭或者判定构件状态为打开、关闭的接口。另外,在驾驶员卡和车间卡等卡上还存在与安全性有关的接口,例如改变密码,验证密码等。
由于存在众多的接口和连线,VDR系统中的构件构成了一个复杂的网状连接,而如此复杂的接口和线路不利于后期的维护以及发现问题时的定位。而且,由于未来的分布式环境,如何管理这些接口并且使其适用于未来的分布式环境是一个迫切需要解决的问题。
第二,各构件之间的依赖性问题。上述构件之间的依赖性体现在很多方面,例如,VDR通信构件中的数据通过用户界面构件显示,并且该数据存储在数据库构件中。再有,驾驶员卡中的数据与VDR中的数据需要同步。这种构件之间的依赖性会进一步增大系统的复杂度。
第三,VDR系统的可扩展性(Scalability)问题。衡量VDR系统的可扩展性需要从以下三个角度(Dimensions)来考虑首先,如果在上述系统中引入了新的构件,例如优盘(USB Stick)、公司卡(Company Card)、警察卡(Police Card)等,该设计是否有效,是否能够方便的调整适应变化。其次,在分布式环境中,例如数据库构件位于远程服务器上,或者用户界面是一个网页的情况下,该设计是否有效,是否能够方便的调整适应变化。第三,为了便于不同终端用户的使用,VDR系统需要开发不同的版本。例如,对于车队(Fleet-company)需要开发一个收集VDR数据、管理驾驶员卡的系统版本,对于车间(Workshop)需要开发一个标定VDR数据、管理车间卡的系统版本,对于权威机构(Authority)需要一个创建车间卡分发车间卡的系统版本。对于不同的终端用户的不同版本,该设计是否有效,是否能够方便的调整适应变化。
现有的VDR系统存在上述构件之间接口复杂、各构件依赖性高以及可扩展性差等问题,在一定程度上限制了VDR系统的广泛应用。
发明内容本发明的主要目的在于提供一种车辆行驶记录仪数据管理软件系统中的设计方法,能够解决该软件系统中各构件相互之间接口的复杂性问题,同时能够去除该软件系统中各构件之间的相互依赖性,并且使该软件系统具有良好的可扩展性。
为达到上述目的,本发明的技术方案具体是这样实现的一种车辆行驶记录仪的数据管理方法,在车辆行驶记录仪数据管理软件中设置至少一个智能卡构件、至少一个车辆行驶记录仪通信构件、至少一个数据库构件、至少一个用户界面构件,在上述车辆行驶记录仪数据管理软件中利用一个中介构件将上述智能卡构件、上述车辆行驶记录仪通信构件、上述数据库构件、上述用户界面构件进行连接,上述任何一个构件通过上述中介构件与上述其它构件进行通信。
根据本发明的一个方面,在中介构件与其它构件之间定义一个通信协议。
根据本发明的另一个方面,中介构件与其它构件之间的通信协议包括一个目标构件参数,用于标识与中介构件进行通信的其它构件;一个通信端口参数,用于标识其它构件与外部设备进行通信所使用的端口;一个通信类别参数,用于标识在中介构件与其它构件之间进行通信的类型;一个通信命令参数,用于标识在中介构件与其它构件之间进行通信的命令。
根据本发明的再一个方面,对于数据接口,中介构件与其它构件之间的通信协议还包括至少一个上述输入参数,用于标识从外部设备输入到上述构件的参数;至少一个上述输出参数,用于标识从上述构件输出到外部设备的参数。对于控制接口和安全接口,输入参数和输出参数可能存在,也可能不存在。
与中介构件进行通信的目标构件可以是VDR通信构件、智能卡构件、数据库构件或者用户界面构件。中介构件、智能卡构件、数据库构件以及用户界面构件都是抽象构件。VDR通信构件既可以是抽象构件,也可以是具体的构件。如果VDR通信构件是具体的构件,则存在至少一个VDR通信构件。对于不同的VDR系统版本,上述构件会创建出具体的实例并组成不同的配置(Configuration)或不同的星形拓扑结构。
根据本发明的又一个方面,通信端口参数取值范围为串口1到串口255,以及USB端口。中介构件与目标构件之间进行通信的通信类别参数可以是数据参数、控制参数或者安全参数。对应于构件之间每一种通信类别参数,具有不同的通信命令参数。
根据本发明的另一个方面,智能卡构件为一个分层结构。分层结构包括接口层、抽象卡层、卡操作系统指令层、卡通信层。接口层为中介构件提供管理智能卡的所有功能;抽象卡层包括卡数据和卡安全性两部分,卡数据定义了一个抽象卡,在不同的版本中,抽象卡会创建出具体的实例,而卡安全性提供了与安全相关的功能,包括修改密码、解开密码、卡的鉴权、锁定卡;卡操作系统指令层为抽象卡层提供卡操作系统可用的指令;卡通信层提供标准的PC/SC指令集。
根据本发明的再一个方面,智能卡构件包括车间卡、驾驶员卡、公司卡、警察卡。
由上述方案可以看出,本发明的关键在于本发明在车辆行驶记录仪数据管理软件系统中应用了中介模式,并将这种中介模式转化为一个独立的中介构件。
可见,本发明所提供的在车辆行驶记录仪数据管理软件系统中应用中介模式的方法,具有以下的优点和特点(1)本发明在车辆行驶记录仪数据管理软件系统中引入了中介模式,各构件之间的连接由现有技术中的网状结构变为本发明中的星型结构,大大减少了各构件之间连接的复杂程度。
(2)由于本发明引入了中介模式,减少了各构件相互之间的依赖性,各构件更新时不会受到其它构件的影响,同时也便于对各构件进行管理,尤其对于系统后期的维护以及发现问题时的定位更为有利。
(3)本发明定义了中介构件和其它构件之间的通信协议,对于每个构件都定义了数据类型、控制类型、安全类型这三种类型接口,简化了每个构件上的接口数和构件之间连接的线路数目,同一种类型的命令可以在同一种接口上以类似的方式进行传递,便于接口的重用。
(4)本发明中智能卡构件采用分层结构,该结构中的抽象卡层包括卡数据部分,使得智能卡构件在应用时可被创建为不同种类的卡,大大增强了VDR软件系统的可扩展性。
(5)本发明中引入了中介模式减少了各构件相互之间的依赖性,当软件系统中的各构件位于分布式环境中,本发明所定义的各构件之间的通信协议没有发生变化,该软件设计仍然可以使用,便于在未来的分布式系统中应用。
(6)对于不同的用户组的不同要求,本发明采用不同的中介构件和用户界面构件,同时,由中介构件把不同的智能卡,或数据库,或VDR设备,组装配置为一个有机的整体,这样就可以根据不同的用户组产生不同的软件系统,充分满足不同用户组的需求。
图1是车辆行驶记录仪系统结构示意图。
图2是本发明中车辆行驶记录仪数据管理软件的设计方法示意图。
具体实施方式
车辆行驶记录仪数据管理软件VDRDMS是一个Windows环境下的应用软件,根据汽车行驶记录仪国家标准GB/T 19056-2003所开发。本发明的实施例是建立在图2所示的车辆行驶记录仪数据管理软件的设计方法示意图基础上。
图2中的外部系统为车辆行驶记录仪VDR、读卡器以及各种卡,如车间卡、驾驶员卡、公司卡等。VDRDMS通过串口(COM RS232端口)或USB口与VDR通信构件进行通信、交换数据,还可以通过USB口与智能卡构件如驾驶员卡或公司卡进行通信、交换数据,并且以友好的图形化界面向用户提供数据通信、数据显示(列表及图线)、数据检索、数据统计、数据打印及历史数据分析管理等各项功能。VDR通信构件和智能卡构件为与设备相关的软件构件。由于本发明在VDRDMS中引入了中介构件,其他构件如VDR通信构件、智能卡构件、数据库构件、用户界面构件都通过中介构件进行通信,因此中介构件起到控制逻辑构件的作用。用户通过用户接口界面在PC机上进行操作。
下面通过实施例对本发明进行说明,但这些实施例决不是限制本发明的范围。
实施例1用户界面请求锁定车间卡。
车辆行驶记录仪数据管理软件系统包括一个智能卡构件、一个车辆行驶记录仪通信构件、一个数据库构件、一个用户界面构件,按照本发明,在上述车辆行驶记录仪数据管理软件中还包含一个中介构件。由于中介构件的存在,任意一个其它构件与中介构件之间通过三个接口相连接,因此所有构件形成了以中介构件为中心的星型结构。三个接口则分别为数据接口、控制接口、安全接口。在系统实际运行中,除了VDR通信构件之外,其它抽象的构件都会创建出实例。
锁定的含义是将用户界面的数据写入到车间卡中,并且写入一次以后就不能再次写入。如果用户界面请求锁定车间卡,该用户界面首先发出命令检查车间卡是否存在并且是否为合法的车间卡,如果车间卡不存在或者不合格,则不进行下一步操作。如果车间卡存在并且为合格的车间卡,则将用户界面的数据写入到该车间卡中。
中介构件协调下面所有操作,所有操作必须通过中介构件。写入过程分为三次,由于数据接口每次只能写入一条数据,因此写入过程要通过数据接口写三次才能完成。这三次写入过程分别为应用识别(Application Identification),用于告知系统卡片的类别等信息;识别(Identification),用于告知系统卡号、发卡人、卡的有效日期等信息;车间信息(WorkshopInformation),用于告知系统车间信息。从用户界面将上述数据写入到车间卡之后,再从用户界面将上述数据写入到数据库中,作为上述数据的备份。写入操作的返回值,例如写成功、写失败、发生异常等通过中介构件返回到用户界面,通知用户界面写操作的结果。
实施例2中介构件与其它构件之间进行通信。
车辆行驶记录仪数据管理软件系统包括一个智能卡构件、一个车辆行驶记录仪通信构件、一个数据库构件、一个用户界面构件,按照本发明,在上述车辆行驶记录仪数据管理软件中还包含一个中介构件。本发明在车辆行驶记录仪数据管理软件中定义了一个在中介构件和其它构件之间的通信协议如下。
public SErrRec function_name(EDeviceID eDID,EPortID ePID,ECmdType eCType,ECmdIDeCID,object inObj,ref object outObj)其中,SErrRec为返回值,标识中介构件与其它构件进行通信是否成功或者失败。
EDeviceID eDID是一个目标构件参数,与中介构件进行通信的目标构件。与中介构件进行通信的目标构件可以是VDR通信构件、智能卡构件、数据库构件或者用户界面构件。除了VDR通信构件以外,中介构件、智能卡构件、数据库构件以及用户界面构件都是抽象构件。在通信过程中,抽象构件会创建出具体的实例。
EPortID ePID是一个通信端口参数,标识VDR软件系统与外部设备进行通信所使用的端口。通信端口参数取值范围为1到255之间的整数,包括1和255或者是USB端口。
ECmdType eCType是一个通信类别参数,标识在中介构件与目标构件之间进行通信的类型。该通信类别参数可以是数据参数、控制参数或者安全参数。
ECmdID eCID是一个通信命令参数,用于标识在构件之间进行通信的命令。对应于构件之间每一种通信类别参数,具有不同的通信命令参数。
object inObj是输入参数,用于标识从外部设备输入到各个构件的参数;object outObj是输出参数,用于标识从各个构件输出到外部设备的参数。
实施例3系统增加新的构件或者卡。
车辆行驶记录仪数据管理软件系统包括一个智能卡构件、一个车辆行驶记录仪通信构件、一个数据库构件、一个用户界面构件,按照本发明,在上述车辆行驶记录仪数据管理软件中还包含一个中介构件。智能卡构件包括公司卡、车间卡、驾驶员卡。在车辆行驶记录仪数据管理软件系统中增加设备包括增加构件和增加卡两种情况。
如果在VDR系统中增加一个新的构件(非智能卡构件),则只需对受到影响的构件进行更改,对于其它的构件则无需进行改动。例如,如果在系统中增加一个新的优盘,则只需对中介构件、用户界面构件、数据库构件进行更改,对VDR通信构件和智能卡构件则无需进行改动。
智能卡构件为一个分层结构。分层结构包括接口层、抽象卡层、卡操作系统指令层、卡通信层。接口层为中介构件提供管理卡的所有功能;抽象卡层包括卡数据和卡安全性两部分,卡数据定义了一个如下的抽象的卡CCard。public abstract class CCard{public abstract SErrRec GetData(ECmdID eCID,ref object outObj);public abstract SErrRec SetData(ECmdID eCID,object inObj);public abstract SErrRec GetID(ref string strID);
}如果在系统中增加一个新的卡,例如公司卡(Company Card)或者警察卡(Police Card),则只需对中介构件、智能卡构件、用户界面构件、数据库构件进行更改,对VDR通信构件则无需进行改动,并且由于在智能卡构件中定义了抽象卡层,因此只需再定义一个警察卡或者公司卡子类即可。现有的车间卡CWSCard或驾驶员卡CDrvCard,就是这样定义扩展的。
public class CWSCardCCardpublic class CDrvCardCCard智能卡的其他部分,都可以重用。卡安全性提供了与安全相关的功能,包括修改密码、解开密码、卡的鉴权、锁定卡;卡操作系统指令层提供了的卡操作系统可用的指令,并提供这些指令为抽象卡层服务;卡通信层提供标准的PC/SC指令集,帮助不同厂商实现相互通信。
以上通过实施例对本发明进行了描述,本领域的普通技术人员可以在不脱离本发明精神下作出一些变动,但这些变动均在所附的权利要求的范围内。
权利要求
1.一种车辆行驶记录仪的数据管理方法,在车辆行驶记录仪数据管理软件中设置至少一个智能卡构件、至少一个车辆行驶记录仪通信构件、至少一个数据库构件、至少一个用户界面构件,其特征在于在上述车辆行驶记录仪数据管理软件中利用一个中介构件将上述智能卡构件、上述车辆行驶记录仪通信构件、上述数据库构件、上述用户界面构件进行连接,上述任何一个构件通过上述中介构件与上述其它构件进行通信。
2.根据权利要求1所述的车辆行驶记录仪的数据管理方法,其特征在于在上述中介构件与上述其它构件之间定义一个通信协议。
3.根据权利要求2所述的车辆行驶记录仪的数据管理方法,其特征在于上述中介构件与上述其它构件之间的通信协议包括一个目标构件参数,用于标识与中介构件进行通信的其它构件;一个通信端口参数,用于标识上述其它构件与外部设备进行通信所使用的端口;一个通信类别参数,用于标识在上述中介构件与上述其它构件之间进行通信的类型;一个通信命令参数,用于标识在上述中介构件与上述其它构件之间进行通信的命令。
4.根据权利要求3所述的车辆行驶记录仪的数据管理方法,其特征在于上述中介构件与上述其它构件之间的通信协议还包括至少一个输入参数,用于标识从外部设备输入到上述其它构件的参数;至少一个输出参数,用于标识从上述其它构件输出到外部设备的参数。
5.根据权利要求3所述的车辆行驶记录仪的数据管理方法,其特征在于上述通信端口参数为串口1到串口255,或者为USB端口。
6.根据权利要求3所述的车辆行驶记录仪的数据管理方法,其特征在于上述通信类别参数是数据参数、控制参数或者安全参数。
7.根据权利要求1所述的车辆行驶记录仪的数据管理方法,其特征在于上述智能卡构件为一个分层结构。
8.根据权利要求7所述的车辆行驶记录仪的数据管理方法,其特征在于上述分层结构包括接口层,用于为上述中介构件提供管理智能卡的所有功能;抽象卡层,用于定义一个抽象卡,并为该抽象卡定义安全功能;卡操作系统指令层,用于为上述抽象卡层提供卡操作系统可用的指令;卡通信层,用于为上述卡操作系统指令层提供标准的PC/SC指令集。
9.根据权利要求8所述的车辆行驶记录仪的数据管理方法,其特征在于上述抽象卡层包括卡数据部分和卡安全性部分,上述卡数据部分用于定义一个抽象卡,对于不同的车辆行驶记录仪数据管理软件版本,上述抽象卡会创建出具体的实例,上述卡安全性部分定义了上述抽象卡的安全功能。
10.根据权利要求9所述的车辆行驶记录仪的数据管理方法,其特征在于上述卡数据部分的定义包括驾驶员卡、车间卡、公司卡。
全文摘要
本发明涉及一种车辆行驶记录仪的数据管理方法,在车辆行驶记录仪数据管理软件中设置至少一个智能卡构件、至少一个车辆行驶记录仪通信构件、至少一个数据库构件、至少一个用户界面构件,在上述车辆行驶记录仪数据管理软件中利用一个中介构件将上述智能卡构件、上述车辆行驶记录仪通信构件、上述数据库构件、上述用户界面构件进行连接,上述任何一个构件通过上述中介构件与上述其它构件进行通信。并且定义一个在上述中介构件和上述其它构件之间的通信协议。采用本发明,各构件之间的连接由现有技术中的网状结构变为星型结构,大大减少了各构件之间连接的复杂程度,而且减少了各构件相互之间的依赖性,增强了VDR软件系统的可扩展性。
文档编号G07C5/00GK1889037SQ20051008022
公开日2007年1月3日 申请日期2005年6月30日 优先权日2005年6月30日
发明者唐宝, 王栋平, 王益玲 申请人:西门子(中国)有限公司