[发明专利]用于嵌入式系统的数据信息存储及快速查询方法在审

专利信息
申请号: 201410695272.8 申请日: 2014-11-27
公开(公告)号: CN104462280A 公开(公告)日: 2015-03-25
发明(设计)人: 陈兴;陈瑜;曾松峰;申存海 申请(专利权)人: 国网上海市电力公司;上海思敦信息科技有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 上海信好专利代理事务所(普通合伙) 31249 代理人: 张妍;包姝晴
地址: 200002 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 嵌入式 系统 数据 信息 存储 快速 查询 方法
【说明书】:

技术领域

发明涉及一种用于嵌入式系统的数据信息存储及快速查询方法。

背景技术

查找的目的在于从一些数据中寻找一个特定的值,对于查询方法的要求是具有更高的效率与更方便的操作。在范围较小的时候,无论采取什么方法查找,所花费的时间都相差无几,在这种情况下,算法上简单易行,且对存储格式要求较低的线性查找无疑就可以满足要求。但当所要查找的范围达到了一定程度时,查询方法在耗时,系统处理能力,系统资源消耗问题就逐渐突显,当数据量更大时在嵌入式系统上很难处理。

常用的查询方法,包括:

线性查找:线性查找又叫顺序查找,是从数组中第一笔数据开始进行查找比较,如果找到所需的数值则返回该值或该位置,如果没有找到则往下一笔数据进行查找比较,直到查找到最后一笔数据为止。线性查找在思维上简单易行,代码容易实现,是处理少量数据时,很好的一种选择,但是由于其平均状况的时间复杂度为O(n),随着数据量的增大其效率就明显降低,这时就应该选用其他的方法。

折半查找: 折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果x<a[n/2],则只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则只要在数组a的右半部继续搜索x。二分搜索法的应用极其广泛,而且它的思想易于理解,但是数据量大到一定程度时,嵌入式系统需要大量系统资源,或者需要大量的时间来进行排序。

折半查找的变形——Fibonacci查找和插补查找:

与折半查找法类似,Fibonacci查找和插补查找都是将数据查找范围切成两半,直至能够确定具体的位置或所查找不在范围之内。但是它们在效率和应用范围上也有一定的区别。

折半查找运用除法运算来减少查找范围,而Fibonacci查找法则利用了Fibonacci数列建立相应的树状结构,在缩小范围的过程中仅用到加减法。在计算机处理运算指令中,加减运算的效率高于乘除运算,所以Fibonacci查找法的效率也会优于折半查找。然而对于不平均分布的数据,其效率并不好,甚至在最坏的状况下,时间复杂度达到了线性查找相同。

对于嵌入式系统来言,复杂而又占用系统资源的查找算法,根本无法实现;但是在数据范围很大的时候,用简单方法来查找又需要用较长时间,交互性差。

发明内容

本发明目的在于提供一种用于嵌入式系统的数据信息存储及快速查询方法,用Flash存储空间地址作为索引,提供一个较大的索引区域使索引包含所有的信息ID的个数,索引的空间用来存放数据信息的地址,能快速得到信息存放的地址从而得到信息的内容。数据信息以连续方式存放减小空间的占用,既考虑了快速查询又兼顾了空间的利用。

为了达到上述目的,本发明的技术方案是提供一种用于嵌入式系统的数据信息存储及快速查询方法,在嵌入式系统的Flash中,包含:

数据信息区,其中连续存放有多个数据信息,每个数据信息保存在对应的信息地址下;

索引区,其中设有多个索引信息,每个索引信息对应的索引地址下,存放有与该索引信息对应的数据信息的信息地址;

其中,每个数据信息的序号n,从1到数据信息的总数中取值;每个索引信息的序号N,从1到索引信息的总数中取值;设每个数据信息对应的信息ID的数值为N-1;

查询时,从索引区中由信息ID计算获得的索引地址下,得到存放的数据信息的信息地址后,在数据信息区中获得该信息地址下存放的数据信息。 

优选地,所述索引区在Flash中所需空间的大小,通过计算索引信息的总数与地址长度的乘积来获得;所述地址长度与任意一个信息地址在索引区中所需的存储空间相对应;

所述数据信息区在Flash中所需空间的大小,通过计算数据信息的总数与每条信息的数据长度的乘积来获得。

优选地,所述地址长度为4字节。

优选地,进行添加信息的操作时,包含以下步骤:

在数据信息区的首地址上,增加数据信息区当前位置与数据长度乘积的数值,得到新增加数据信息的信息地址;设所述数据信息区当前位置的数值为n-1;

在索引区的首地址上,增加信息ID与地址长度乘积的数值,得到相应的索引地址,并在该索引地址下写入新增加数据信息的信息地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网上海市电力公司;上海思敦信息科技有限公司,未经国网上海市电力公司;上海思敦信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410695272.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top