[发明专利]嵌入式系统中档案操作与快速检索方法有效
申请号: | 201510124194.0 | 申请日: | 2015-03-20 |
公开(公告)号: | CN104657513A | 公开(公告)日: | 2015-05-27 |
发明(设计)人: | 李绍辉;娄晓艳 | 申请(专利权)人: | 烟台威尔数据系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 烟台双联专利事务所(普通合伙) 37225 | 代理人: | 梁翠荣 |
地址: | 264003 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 系统 档案 操作 快速 检索 方法 | ||
技术领域
本发明涉及一种嵌入式系统中的档案操作与检索方法。
背景技术
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,功能、可靠性、成本、体积、功耗要求相对严格的专用计算机系统。嵌入式系统特点是:系统内核小,专用性强,系统精简,系统与应用软件同步升级,系统中的软件一般都固化在存储器芯片中。
目前,随着物联网的迅猛发展,嵌入式系统在物联网身份识别领域的应用愈来愈广泛。在嵌入式身份识别应用中,内存空间小,CPU主频低,没有数据库引擎等条件限制,造成大数据量的档案检索,成了程序员头疼的问题。档案检索通常方法是:将档案整体加载到内存,在内存中顺序查找关键字,找到后返回该行的档案。在CPU主频400MHz,内存128M的嵌入式系统和同等级的系统中,做10万条档案通常检索方法测试,最长检索时间是2秒。检索速度超过1秒用户是不能接受的,因此,多数厂家给出档案最大容量是5万条。
发明内容
本发明所要解决的技术问题是,提供一种嵌入式系统中档案操作与快速检索方法,在快速遍历算法基础上,完成档案加载,快速检索、增加、删除、过滤等操作;同时,尽量降低
内存消耗,提高系统运行效率。
本发明的技术方案如下:
一种嵌入式系统中档案操作与快速检索方法,其特征在于按照以下步骤进行加载与检索:
(1) 、将档案文件的行信息按序加载到内存中,形成“行索引”,用于建立列索引和文件的对应关系,便于档案内容的快速定位;
(2) 、将档案中的查询列按关键字排序后加载到内存中,形成“列索引”,为了减少内存占用,只加载查询列;
(3) 、包括关键字检索、档案加载、增加档案、删除档案、设置过滤条件以及取某行档案数据在内的档案操作:首先在列索引中查找关键字,找到所在行号后,在文件中定位相应的行,然后操作档案数据。其中关键字检索采用二分查找算法检索关键字,增加档案和删除档案在检索的基础上做文件操作,条件过滤在检索的基础上读取数据。
关键字检索方法是:在列索引中采用二分法查找关键字,找到后取档案行号,在行索引中二分查找行号,找到后取行位置和长度,在文件中找到位置后,按照有效数据长度取出数据。
所述档案加载方法是:从档案文件中逐行读出档案数据,将行号、起始位置和长度依次存储在行索引内存块中;将行数据分割得出关键列值,将其与行号一起形成列索引信息,顺序存储在列索引内存块中;文件读取完毕后,将列索引信息按照关键字先后顺序排序,生成档案的列索引。
所述增加档案方法是:将要增加的档案信息写入档案文件,获得档案的行号、起始位置、长度和关键字,生成行索引,检索关键字找到列索引插入位置,将关键字和行号插入列索引内存块中。
删除档案的方法是:在列索引块中找到删除档案的关键字的行号,删除列索引块中的关键字索引信息,检索行索引位置,删除档案内容和行索引块中的行索引信息。
所述设置过滤条件的方法是:在档案的列索引块中查找满足条件的索引集合的首尾索引号,将这两个值保存到档案信息结构中,标识下次执行按行取档案数据的起始和终止索引号。
所述取某行档案数据的方法是:如果没有设置过滤条件,自第0行开始,从行索引块中查找相应的行索引信息,然后从文件中取出该行档案数据;如果设置了过滤条件,从起始索引号位置起,顺序查找某行的索引值,在行索引块中找到该行的行索引信息,然后从文件中取出该行档案数据。
二分查找,又称为折半查找,当数据量很大时适宜采用该方法。二分查找只适用于有序表,且限于顺序存储结构 。假设有序表是递增排列的,首先确定区间的中间位置,待查值与中间位置的数值比较,如果相等,则查找成功并返回该位置。否则需重新确定查找区间,继续二分查找。重新确定查找区间的办法如下:如果中间位置的值大于待查值,则新区间为当前中间值的前半部分;如果中间位置的值小于待查值,则新区建为当前中间值的后半部分。这样,每次经过中间值与待查值的比较,就可以确定是否查找成功,不成功则查找区间减半,直至找到关键字或者当前区间为空为止。标准二分法适用于查找单个元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烟台威尔数据系统有限公司;,未经烟台威尔数据系统有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510124194.0/2.html,转载请声明来源钻瓜专利网。