嵌入式数据库SQLite在边境管控系统中的应用

来源 :中国信息化 | 被引量 : 0次 | 上传用户:kinglovechina
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  我国是个边疆辽阔的国家,与多个国家相邻,过境线较长,而且地域跨度大,地形起伏多变,况且随着改革开放的不断深入,边境线的形势日趋复杂,走私偷渡形势比较严峻,这些都给官兵的执勤增加了难度。笔者在边防工作多年,深知掌握复杂多变的边境形势对官兵的难度。因此开发一个基于数据库的手持设备很有必要,这样可以使官兵随时获取所需的准确边境信息,增强执勤效果,有力打击走私偷渡者,保证边境的安全。
  嵌入式数据库技术具有把数据库表嵌入到应用程序进程中,并使应用程序能够进行本地直接访问以获取数据库信息,从而得到所需结果的显著特点。在边境管控系统构建中,可以充分利用嵌入式数据库SQLite的这特点,实现在任何环境下对边境信息资源的使用需求,提高军事应用中的服务效率。本文主要着眼在任何环境下边境信息访问问题的解决,重点讨论研究基于SQLite构建一个边境管控信息数据库的初步方法。
  嵌入式数据库SQLite简介
  1 关于SQLite特点
  2000年,D.Richard Hipp立足小型、快速和最小化管理的设计思想,开发出一个基于C语言实现的小型数据库:SQLite,主要通过实现了一个独立的、嵌入式的、零配置的SQL数据库引擎,达成能够专为嵌入式系统服务的设计目的。
  SQLite主要特点:
  完全免费:SQLite的源代码无任何版权限制,具有完全免费的特点,既可以减少产品的开发和生产成本,也可以为后期产品的稳定运行和维护修改提供较为彻底的解决方法。
  易于共享:SQLite数据库很容易实现文件被共享。一方面,一个单独、普通的磁盘文件就可以是整个SQLite的存放形式;另一方面,SQLite由于以C库的形式提供给应用程序调用,从而没有服务进程,确保使用SQLite的应用进程能够通过直接读写磁盘数据库文件来访问数据库。
  理想平衡:SQLite数据库以其最小能够小于170KB的代码空间,既具备非常紧凑的代码体积,又提供数据库系统最常用的功能,在代码体积大小与系统功能之间实现了一个理想的平衡。
  2 关于SQLite体系结构
  BackendCoreinterfaceSQL Command processerVirtual MachineTokenizerB-TreePagerOS InterfaceParserCode GeneratorUtilitiesTest CodeAccessoriesSQLcompiler SQLite的各个模块之间及总的体系结构的相互关系。
  接口层(Interface):SQLite通过位于顶层的接口层(Interface)向应用程序提供服务,主要包括接收来自于应用程序的SQL语句字符串,并将所接收的SQL语句字符串传送给标记分析器(Tokenizer)和语法解析器(Parser)进行分析,在此分析基础上,代码生成器(Code Generator)生成虚拟机指令码使用能在虚拟机(Virtual Machine)上执行。
  虚拟机:虚拟机是SQLite的核心,是一个抽象计算环境,专为管理数据库文件而设计,能够通过其中指令的执行,确保SQLite完成SQL语句所请求的相关功能。
  B-树(B-Tree):SQLite数据库的维护实现通过使用B-树(B-Tree)在磁盘上进行。相同的磁盘文件存放所有的B-树,一个单独的B-树可供数据库中的每个表和索引使用。B-树模块从磁盘请求调用固定大小的数据块,高速页缓存(PageCache)负责读写和缓存数据块,同时提供回退、原子操作及对数据库文件加锁等。通过高速页缓存提供的缓冲机制,避免了频繁进行I/O操作而降低应用程序的性能。
  操作系统抽象接口层:移植工作最关心的层次是最底层的操作系统抽象接口层。为了屏蔽底层不同操作系统的具体实现,操作系统抽象层接口在os.h中定义统一的抽象接口供高速页缓存调用。
  总之,遵从软件工程的分层设计思想,SQLite的设计将整个数据库系统分成几个不同层次的模块分别进行实现,其设计思路清楚,模块功能划分明确,既方便维护升级,也便于不同计算平台间的移植。
  边境管控系统的需求分析
  边境管控系统功能主要体现在对数据的查询与更新上。边防官兵是系统的使用者,他们在执勤过程中运用它要能随时随地的对边境信息进行查询操作。这里存放的信息主要分为我方和对方两种,因为不是一个国家,拥有的信息是不同的。这个系统并不是任何人都有权力使用,所有能够使用的官兵都拥有被授权的登陆用户名和密码,这样才能有效地防止失泄密。系统还有一个超级管理员用户,他能够根据近期边境信息的变化情况对系统进行不定期的更新操作,使这个系统能够把上级及友邻单位传递过来的信息能够及时地更新到这个系统中,同时他还有权限添加普通使用者的用户名及密码。在这个系统中,使用者可以根据想了解的分类标题进行选择,最后生成一个信息的报表。
  为了达到上述的要求,必须在便携式设备中装入嵌入式数据库,所有边境信息都首先存入该数据库中,由数据库统一管理和存储,以保证执勤官兵能够随时随地的对边境信息的查询。当边境形势有新的情况变化时超级管理员可以及时对其进行更新操作,以保证该设备中的数据最新。由此可见,在边境管控系统中装载嵌入式数据库可以大大提高设备的易用性和易维护性,发挥小型设备的最大效能,增强官兵的执勤效果。
   SQLite 在边境管控系统中的应用研究
  1. 系统功能的框架设计
  边境管控信息系统功能设计:系统的功能主要包括信息浏览、信息更新、选择国别、系统退出四个模块。
  信息浏览功能:
  信息浏览是边境管理信息系统的基本功能之一,主要是根据个人需要查看相应的边境信息,一般包含连队情况、界标情况、越境情况、当地民情等四个方面的内容,其中系统默认浏览中国信息。   信息浏览功能还应包括信息查找子功能,通过建立“系统功能”菜单实现相应操作的选择。信息查找功能是在当前数据表中输入查找与文本框内容相关的信息,并将搜索到的相关信息显示在列表框中,其中查找信息的文本框设置为非空。
  信息更新功能:
  信息更新功能主要是基于数据库可视化的后台管理,分为数据库内容和结构维护。首先,设置登录权限,区分普通管理员和超级管理员,其中普通管理员仅能够对数据库内容进行浏览,而超级管理员既能够对数据库的内容进行浏览和修改,还能够对数据库的结构进行修改。
  2. 数据库SQLite的框架设计
  边境管理信息系统的后台数据库应当立足存储边境信息的数据库、记录系统所有数据库信息的数据库和用户信息数据库等进行框架设计。
  边境信息数据库包括了所有的信息索引数据表和信息内容数据表。用户信息数据库是用来保存用户信息,包括数据表登陆窗口。登陆窗口包括用户名、密码和权限。记录系统所有数据信息数据库是用来记录系统所有的数据库名和相应的数据表名。
  3. 数据库SQLite的功能实现
  下面我们通过SQLite在边境管控信息查询系统中的用户登陆信息数据库来讲解一下SQLite的具体应用。首先我们需要建立数据库,具体数据库的形式如下:
  CREATE TABLE login (
  id integer primary key ,
  usrtname varchar(40),
  password integer,
  authority varchar(40),
  );
  这里有两种选择,可以在sqlite提示符下建立数据库,也可以用c语言调用sqlite_exec()实现;接下来调用sqlite_open()打开数据库;然后调用sqlite_prepare()和sqlite_step(),sqlite _finalize()从数据库中取回数据送界面窗口与输入比较;最后调用sqlite _close()关闭数据库。
  主函数如下:
  main()
  {
  int rc;
  rc=sqlite3_open(str,&db);//打开名为 str 的数据库,如果不存在,就新建数据库
  if(rc){
  fprintf(stderr,“打开数据库错误 !”,sqlite3_ errmsg(db));
  sqlite3_close(db); //关闭数据库
  return 1;
  }
  else
  return 0;
  sql=”select username,password,authority from login”;
  rc=sqlite3_prepare(db,sql,strlen(sql),&stmt,&tail);
  if (rc !=SQLITE_OK){
  fprintf(stderr,”SQL error: %s \ n%s \ n”,sqlite3_errmsg(db));
  }
  rc=sqlite3_step(stmt);
  ncols=sqlite3_column_count(stmt);
  while(rc== SQLITE_ROW){
  for(i=0,i  fprintf(stderr,”%s \”,sqlite3_column_ text(stmt,i));
  }
  fprintf(stderr,”\n”);
  rc=sqlite3_step(stmt);
  }
  sqlite3_finalize(stmt);
  sqlite3_close(db);
  return 0;
  }
  结束语
  总之,本文着眼SQLite数据库占用资源少、性能良好和零管理成本等显著特点,着力发挥嵌入式数据库在军事方面应用,通过利用嵌入式数据库SQLite实现了对过境管控信息资源的有效管理,在一定程度上较好地满足了任何环境下对边境信息资源及时方便查询与更新的需求。
其他文献
登录bono(宝鸟)服饰天猫旗舰店,选择自己喜欢的服装款式和面料,下单并支付后,宝鸟服饰的量体师最快当天便能够上门进行相关数据测量,并通过移动客户端实时将数据上传到宝鸟服饰总部;审核通过后系统随即下单到生产中心,同时针对客户服装版型进行电脑在线尺寸调整,将排版结果传输给自动裁床,实施自动裁剪。此外,系统打印出属于这件衣服“身份证”的条形码,从裁剪到缝制再到整烫和质检的“一条龙”过程中,系统可以实时
近些年来,伴随经济的发展和城市化建设进程的加快,建筑行业有了高速的发展,特别是房屋建筑,有着占地面积比较小、使用效率高等特点,在城市的建设中起到十分重要的作用。而防
《可再生能源发展“十二五”规划》明确提出了我国可再生能源电力的发展目标.也即在“十二五”期间使可再生能源发电在电力体系中上升为重要电源.可再生能源新增发电装机1亿kW.
2015 KCOn黑客大会近日召开.此次大会的议题涉及到服务器、门禁、视频监控和无线通信和工业控制安全等多个领域。知道创宇CEO赵伟表示,安全的路还很长.只有不断的提升和超越自己
工业和信息化部副部长杨学山在12月11日出席"首届中国开源云计算大会"时指出,推动开源云计算发展,关键是要把握本质和规律,提升服务能力。
水库、塘坝作为灌溉、防洪、发电、人畜饮水的重要水利工程,在各地的国民经济发展建设中起着重要的作用。特别是对于保山市昌宁县这样一个山区农业县来说,全县80%的区域属于
基于市政道路施工现场管理而言,不但可以提升市政工程建设的质量,而且还有助于树立企业良好的品牌。因此,加强对市政道路施工现场管理,对于提升工程的总体质量具有重要的意义
村镇规划是村镇发展的战略、建设村镇的纲领,建设一个合理、和谐和生动的村镇是一个十分热门的话题。本文对村镇规划的意义和作用进行了相关阐述,指出村镇规划中存在的主要问
近日,国务院发布了《关于促进信息消费扩大内需的若干意见》。该《意见》的适时出台,对于推动我国信息化建设,促进我国信息化与工业化深度融合指明了发展的方向。应该说,在“稳增
在分析了现有的图书馆机器人的基础上,提出了一种可重构变形的图书上下架机器人。将机器人分为机器手、升降机构和行走机构三部分,并对各部分的功能、结构和尺寸进行了分析。