一种资源受限设备和数据访问方法

文档序号:6337603阅读:397来源:国知局
专利名称:一种资源受限设备和数据访问方法
技术领域
本发明涉及数据管理技术,尤其是涉及一种资源受限设备和数据访问方法。
背景技术
传统的资源受限设备,其运算能力通常很弱,一般只有8位CPU,存储空间也非常小,一般不超过几K字节,其上的应用较为简单,通常只是用来存储和处理一些简单必备的数据信息,处理的数据量较小,应用的开发相对封闭,并且没有太多的I/O操作。这种资源受限设备的一个典型代表就是智能卡。与其类似的设备还有USB KEY、SD卡以及直接集成在PC主板上的安全集成电路芯片等。下文为描述方便,将以智能卡为典型代表来描述在资源受限设备上的数据管理系统和方法。图1是一个现有的智能卡体系结构的描述。现有的智能卡包括应用模块、数据管理平台、操作系统和硬件平台四部分,应用模块可以包含一个或多个应用,数据管理平台, 接收应用模块发出的数据访问请求,通过平台内部一系列的操作,把获得的数据返回给应用模块。现有的数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块和操作系统接口。其中,模式管理模块管理配置数据,索引管理模块用于管理索引数据,数据管理模块,用于管理应用数据,其中,模式管理模块定义配置数据的存储结构,并根据数据访问请求对配置数据进行模式操作;索引管理模块定义索引数据的存储结构,并根据数据访问请求对索引数据进行索引操作;数据管理模块定义应用数据的存储结构,并根据数据访问请求对应用数据进行数据操作。操作系统接口,用于为模式管理模块、索引管理模块和数据管理模块提供操作系统的文件访问接口,使模式管理模块访问配置数据、数据管理模块访问应用数据、索引管理模块访问索引数据。现有的模式管理模块、索引管理模块和数据管理模块对各自管理的配置数据、索引数据、以及应用数据都分别采用各自模块定义的存储结构,不便于智能卡上存储数据的
统一管理。

发明内容
本发明提供一种资源受限设备以及数据访问方法,能够加快数据访问速度,提高内存资源的利用率。一种资源受限设备,包括数据管理平台,数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块、操作系统接口,以及数据统一接口,其中数据统一接口,用于对模式管理模块、索引管理模块、数据管理模块定义统一的数据存储结构,并向应用接口提供统一的数据访问接口 ;以及所述模式管理模块,用于根据数据统一接口定义的数据存储结构管理配置数据;所述数据管理模块,用于根据数据统一接口定义的数据存储结构管理应用数据;所述索引管理模块,用于根据数据统一接口定义的数据存储结构管理索引数据;所述操作系统接口,用于为模式管理模块、数据管理模块、索引管理模块提供访问存储介质的接口函数,使模式管理模块能够通过接口函数访问存储介质中的配置数据,索引管理模块能够通过接口函数访问存储介质中的索引数据,数据管理模块能够通过接口函数访问存储介质中的应用数据。一种数据访问方法,包括数据管理平台接收应用模块发出的数据访问请求,所述数据管理平台设置在资源受限设备中;数据管理平台根据数据访问请求管理配置数据、索引数据或者应用数据,其中,配置数据、索引数据、应用数据采用统一的数据存储结构。本发明实施例提供的资源受限设备,能够通过数据统一接口对模式管理模块、索引管理模块、数据管理模块定义统一的数据存储结构,并且各模块根据数据统一接口定义的数据存储结构管理各自的数据。使得智能卡上存储的数据是采用统一的数据结构,能够对智能卡上存储的数据进行统一管理,加快数据的访问速度,并提高内存资源的利用率。


图1为现有的智能卡体系结构图;图2为本发明实施例的一种资源受限设备的基本组成结构;图3为本发明实施例的另一种资源受限设备的硬件结构;图如为本发明实施例数据管理平台的结构图;图4b为本发明实施例提供的另一种数据管理平台的结构图;图5为本发明实施例提供的缓存区的数据结构示意图;图6为本发明实施例提供的数据访问方法流程图。
具体实施例方式本发明实施例提供一种资源受限设备,对现有的智能卡中的数据管理平台中的模式管理模块、数据管理模块以及索引管理模块统一定义数据存储结构,以便智能卡上存储数据的统一管理。进一步,本发明实施例中还采用CACHE接口,统一对配置数据、索引数据、 应用数据在内存中设置缓存,并在需要对配置数据、索引数据或者应用数据进行操作时,在缓存中进行相应的操作,加快数据访问速度,提高内存资源的利用率。本发明实施例所描述的资源受限设备的典型代表是智能卡。智能卡的基本组成结构如图2所示,包括中央处理单元(CPU)、只读存储器(ROM)、随机访问存储器(RAM)、非易失性存储器(NVM)、以及输入输出(I/O)通道,这些功能部件通过总线(BUQ连接在一起。 ROM中存放CPU要执行的指令,这里的ROM也可以是闪存FLASH或者其他非易失性存储器; 为便于本专利的描述,这里以ROM为例来进行表述。另外,本发明实施例也适用于大容量智能卡,这种大容量智能卡的组成结构如图3 所示,该组成结构包含与图2所描述的结构外,还包含一个FLASH控制器,该FLASH控制器与一块大容量的FLASH存储器相连。该大容量FLASH存储器可能是NAND FLASH,也可能是 NOR FLASH或者其他非易失性存储器,通常具有较大的存储容量,从几兆字节到几G字节不等。为更迅速地访问这种大容量存储器,图3中的I/O通道会包含一种或几种快速数据接口,如 USB、MMC 接口。
5
下面通过具体的实施例来描述本发明。实施例一描述本发明的资源受限设备。实施例二描述本发明的数据访问方法。实施例一本实施例公开了一种资源受限设备,资源受限设备包括数据管理平台,用于定义数据的存储结构,并向应用模块提供统一的数据访问接口 ;操作系统模块,用于提供文件管理、内存管理以及其他系统功能模块,以便数据管理平台利用这些系统功能存取数据;硬件平台,用于提供基本的硬件支持。应用模块可设置在资源受限设备中,也可以设置在资源受限设备之外,与资源受限设备相连。数据管理平台与应用模块和操作系统相连,接收应用模块传递来的数据访问请求,解析并执行数据访问请求,执行过程中调用操作系统模块进行数据读写操作。如图如所示,数据管理平台包括应用接口、数据统一接口,模式管理模块、数据管理模块、索引管理模块、操作系统接口。 应用接口,向应用模块提供数据访问接口,应用模块通过调用应用接口,实现对应用数据的访问;数据统一接口,用于对模式管理模块、索引管理模块、数据管理模块定义统一的数据存储结构,并向应用接口提供统一的数据访问接口 ;其中,数据统一接口定义的数据存储结构可以是B-树,B+树或者是其他的数据存储结构,该接口定义统一的数据存储结构的目的是方便对各模块管理的配置数据、索引数据以及应用数据进行统一的管理,并通过数据统一接口对应用接口提供统一的数据访问接口。对于上层而言,数据统一接口屏蔽了内部结构,通过该接口使其对外提供数据操作功能。模式管理模块,根据数据统一接口定义的数据存储结构管理配置数据;索引管理模块,根据数据统一接口定义的数据存储结构管理索引数据;数据管理模块,根据数据统一接口定义的数据存储结构管理应用数据;操作系统接口,用于为模式管理模块、数据管理模块、索引管理模块提供访问存储介质的接口函数,使模式管理模块能够通过接口函数访问存储介质中的配置数据,索引管理模块能够通过接口函数访问存储介质中的索引数据,数据管理模块能够通过接口函数访问存储介质中的应用数据。采用上述资源受限设备,数据统一接口能够为模式管理模块、索引管理模块、操作系统模块定义统一的数据存储结构,并且各模块能够根据该数据存储结构管理各自的数据,便于资源受限设备上存储数据的统一管理,提高资源受限设备的数据访问速度,以及提高资源受限设备的处理效率。较佳地,如图4b所示,上述数据管理平台还包括缓存CACHE接口,封装在模式管理模块、索引管理模块、数据管理模块和操作系统接口之间,用于统一对存储介质中的配置数据、索引数据、应用数据在内存中设置缓存,并在模式管理模块需要对存储介质中的配置数据操作、索引管理模块需要对存储介质中的索引数据操作或者数据管理模块需要对存储介质中的应用数据操作时,统一在缓存中进行相应的操作;以及操作系统接口,用于为CACHE接口提供访问存储介质的接口函数,使得CACHE接口
6能够访问存储介质上的配置数据、应用数据以及索引数据。其中,当模式管理模块、索引管理模块、数据管理模块需要对各自管理的数据进行操作时,则直接调用CACHE接口在缓存区中进行相应的操作,并临时保存在内存的缓存中, 直到需要回写时,再将缓存中的内容写回存储介质中。当内存中的缓存使用完毕(即内存中的缓存已写满)时,对缓存中的缓存块进行替换,替换是指将该缓存块释放,用来缓存新的数据。其中,当需要被替换的缓存块的数据被修改过,则调用操作系统接口将该缓存块的数据写回存储介质中。较佳地,可以使用最近最少使用算法对缓存中的缓存块进行替换。较佳地,数据统一接口为B+TREE接口,定义的统一的数据存储结构为B+TREE结构,则B+TREE接口能够通过B+TREE算法对配置数据、索引数据、应用数据进行统一管理。下面详细说明B+TREE接口对模式管理模块、数据管理模块、索引管理模块的统一调度。资源受限设备中的数据管理平台根据外部的应用模块(比如PC端的应用程序) 发出的数据访问请求(包括删除记录、插入记录、更新记录、索引操作、配置数据操作等), 通过应用接口、B+TREE接口调用不同的模块。删除记录、插入记录、更新记录、查询记录属于数据管理模块,索引操作属于索引管理模块,配置数据操作属于模式管理模块。这三个模块B+TREE接口统一调度。在本发明中对所有模块数据的操作都对应对B+TREE的操作。例如下述几个最基本的操作都将对应如下的B+TREE操作CREATE TABLE (创建表)_ 创建一个 Table B+TREE (表 B+TREE);CREATE INDEX (创建索引)-创建一个 Index B+TREE (索引 B+TREE);DROP TABLE (删除表)-删除一个 TABLE B+TREE (以及相关的 hdexB+TREE);INSERT RECORD (插入记录)-将记录插入到Table B+TREE节点中,如果关联索引, 还需要将相关字段插入hdex B+TREE节点;SELECT RECORD (查询记录)-查询 hdex B+TREE 获得记录 R0WID,再查询 Table B+TREE获得记录内容。如果没有关联索引,则需要遍历TableB+TREE的每一个ROWID ;UPDATE RECORD (更新记录)-查询到记录后修改节点记录内容;DELETE RECORD (删除记录)-查询到记录后删除节点记录内容。由于B+TREE本身具有一些特性,以上操作中还将涉及若干B+TREE专有操作插入数据导致增加节点、删除数据导致删除节点、平衡树结构导致的增加和删除节点、因增加或者删除节点导致根节点的变化、插入或者删除数据导致导航节点KEY值更新、因节点数据更新导致关联节点(父节点、兄弟节点)的数据更新等。以上各种属性的获取或者操作都通过B+TREE接口对模式管理模块、数据管理模块、索引管理模块进行调度完成。对上层而言,屏蔽了内部结构,通过B+TREE接口即可提供统一的数据访问接口。并且采用B+TREE数据存储结构,加快了数据的访问速度,提高了智能卡系统的处理效率。下面详细介绍一下本发明实施例中的CACHE接口的功能。CACHE接口,统一为配置数据、索引数据、应用数据对应在内存中分配缓存,加快数据访问速度,提高内存资源的利用率。CACHE接口,负责维护内存数据和外存数据的映射关系,并管理内存数据缓存区的层次,负责直接读写外存。当模式管理模块、数据管理模块或者索引管理模块需要读取数据或者需要修改数据时,会调用CACHE接口在内存中的缓存区中进行“逻辑上”修改,修改结果暂时保存在内存中,外存数据并没有立即被修改。而外存数据被“物理上”修改也是由CACHE接口完成修改时机是由CACHE接口采用的缓存块置换算法决定的。缓存块的数据结构是由“缓存块结构”组成的单向链表。链表头指针page_CaChe_ link位于缓存管理结构体中,每一个“缓存块结构”包括缓存块数据和属性控制两部分。其中,缓存块数据大小和系统定义的页面数据大小一致,用于整体缓存一个外存数据块的全部数据。如图5所示,为本发明实施例提供的缓存区的数据结构示意图。属性控制用于表示该缓存块数据状态。包括NEXT CACHE,PAGENUMBER以及相应白勺Mt生 Dirty、Lock、Valid、Reserved。其中NEXT CACHE(下一缓存块),下一个缓存块结构的起始内存地址,占4个字节;PAGE NUMBER(页面号)对应的外存页面号(即对应的外存数据块);Dirty 数据是否为脏,占1字节。若为TRUE(0x01)表示缓存块中的数据被写过, 需要回写,否则FALSE(0x00)表示其内容没有被改过,不需要回写。需要回写的缓存块数据不一定立即被会回写到外存中,Dirty标记为TRUE只是表示早晚需要被回写。具体的回写时机由回写算法控制(一般回写发生在被替换前)。不需要回写的缓存块是随时被替换的。Lock 缓存块数据是否被锁住,占1字节。若为TRUE(0x01)表示缓存块中的数据被锁住,不可替换该数据块。否则FALSE(OxOO)表示其内容没有被锁住,可以随时替换。由于某些操作会导致对同一个数据块的多次在缓存层“逻辑上”的写,并且这些写可能间隔一定时间,如果这一系列对同一缓存块的写没有全部完成前,该缓存块被从内存中置换出去, 则外存将会被“物理的”写过多次,因此,会严重降低智能卡系统的处理效率。因此,Lock的作用是暂时抑制置换的发生,以降低物理写操作的次数,从而提高系统处理效率。Valid 缓存块数据是否可用,占1字节。若为TRUE(OxOl)表示缓存块的内容可用,否则为FALSE(0x00)表示内容不可用。当缓存块中的内容是可用时,缓存块可读(即数据可被高层函数访问)。而当缓存块中的内容是不可用时,缓存块不可读(即数据不能被高层函数访问了,因为这些数据可能不是数据库的真实数据了)。例如当外存发生事务回滚操作后,某些缓存块中的内容与外存不一致时,可将该缓存块的Valid项置为FALSE,即缓存块数据无用,无需写回外存,随时可以被读取的任何页面数据覆盖。又例如,某个缓存块刚被创建,其中的数据显然也是无用的,可以立刻被读取的块数据覆盖。不可用的缓存块是可以优先被替换的缓存块。RESERVED 保留字节。本发明实施例中采用LRU (Least Recently Used,最近最少使用)算法决策缓存块的置换。越靠近链表前端的缓存块,最近使用的频率越少,越应该被置换出去。正常情况下,置换总是发生在链表的第一个缓存块(即第一个节点)。但是,如果第一个缓存块被锁住,则置换位置将顺延。此外,被标记为不可用的缓存块需要优先被置换,需要移到链表头部。采用最近最少使用算法,能够根据缓存块的使用频率进行缓存块的替换,提高了资源的利用率,并避免对存储介质的频繁操作,同时提高数据访问速度。
实施例二本发明实施例还提供一种数据访问方法,如图6所示,包括S601、数据管理平台接收应用程序发出的数据访问请求,所述数据管理平台设置在资源受限设备中;S602、数据管理平台根据数据访问请求管理数据;其中,数据包括如下之一或其组合配置数据、索引数据或者应用数据,并且,配置数据、索引数据、应用数据采用统一的数据存储结构;较佳地,统一的数据存储结构为B+TREE结构。数据管理平台的应用接口将数据访问请求传递给B+TREE接口,B+TREE接口将数据访问请求传递给模式管理模块、数据管理模块、索引管理模块。模式管理模块、数据管理模块、索引管理模块根据数据访问请求管理操作数据,其中,操作包括模式操作、索引操作、数据操作。其中,在执行管理操作的过程中,当需要对配置数据、索引数据或者应用数据进行操作时,将需要读写的数据通过CACHE接口调用操作系统接口读取到内存的缓存中,并在缓存中进行相应的操作,并暂时保存在内存中。当需要写回存储介质时,CACHE接口则调用操作系统接口,将缓存中的数据写回存储介质。较佳地,当数据管理平台确定内存中的缓存使用完毕时,使用最近最少使用算法对缓存中的缓存块进行替换。并且,数据管理平台在确定需要替换的缓存块数据被修改过, 则调用操作系统接口将该缓存块中的数据写回存储介质中。具体方法的详细内容可以同时参考装置的实施例,这里不再详细描述。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种资源受限设备,包括数据管理平台,其特征在于,所述数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块、操作系统接口,以及数据统一接口,其中所述数据统一接口,用于对模式管理模块、索引管理模块、数据管理模块定义统一的数据存储结构,并向应用接口提供统一的数据访问接口 ;所述模式管理模块,用于根据数据统一接口定义的数据存储结构管理配置数据;所述数据管理模块,用于根据数据统一接口定义的数据存储结构管理应用数据;所述索引管理模块,用于根据数据统一接口定义的数据存储结构管理索引数据;所述操作系统接口,用于为模式管理模块、数据管理模块、索引管理模块提供访问存储介质的接口函数,使模式管理模块能够通过接口函数访问存储介质中的配置数据,索引管理模块能够通过接口函数访问存储介质中的索引数据,数据管理模块能够通过接口函数访问存储介质中的应用数据。
2.如权利要求1所述的设备,其特征在于,所述数据统一接口为B+TREE接口,所述统一的数据存储结构为B+TREE结构。
3.如权利要求1或2所述的设备,其特征在于,所述数据管理平台还包括缓存CACHE 接口,用于统一对存储介质中的配置数据、索引数据、应用数据在内存中设置缓存,并在需要对配置数据、索引数据或者应用数据进行操作时,在缓存中进行相应的操作,以及所述操作系统接口,用于为CACHE接口提供访问存储介质的接口函数。
4.如权利要求3所述的设备,其特征在于,所述CACHE接口,还用于在内存中的缓存使用完毕时,使用最近最少使用算法对缓存中的缓存块进行替换。
5.如权利要求3所述的设备,其特征在于,所述CACHE接口,还用于在确定需要替换的缓存块中的数据被修改过,将所述缓存块中的数据调用所述操作系统接口写回存储介质中。
6.一种数据访问方法,其特征在于,包括数据管理平台接收应用程序发出的数据访问请求,所述数据管理平台设置在资源受限设备中;数据管理平台根据所述数据访问请求管理数据,其中,所述数据包括如下之一或其组合配置数据、索引数据或者应用数据,并且配置数据、索引数据、应用数据采用统一的数据存储结构。
7.如权利要求6所述的方法,其特征在于,所述数据存储结构为B+TREE结构。
8.如权利要求6或7所述的方法,其特征在于,所述数据管理平台根据所述数据访问请求管理数据,具体为所述数据管理平台在需要对所述数据进行操作时,将需要操作的数据块读取到内存中的缓存中,在所述缓存中进行相应的操作。
9.如权利要求8所述的方法,其特征在于,还包括所述数据管理平台在确定内存中的缓存使用完毕时,使用最近最少使用算法对缓存中的缓存块进行替换。
10.如权利要求9所述的方法,其特征在于,还包括所述数据管理平台在确定需要替换的缓存块中的数据被修改过,则调用操作系统接口将该缓存块中的数据写回存储介质中。
全文摘要
本发明涉及数据管理技术,公开了一种资源受限设备和数据访问方法,能够加快数据访问速度,提高内存资源的利用率。本发明的资源受限设备包括数据管理平台,数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块、操作系统接口,以及数据统一接口,其中数据统一接口,用于对模式管理模块、索引管理模块、数据管理模块定义统一的数据存储结构,并向应用接口提供统一的数据访问接口;模式管理模块,根据数据统一接口定义的数据存储结构管理配置数据;索引管理模块,用于根据数据统一接口定义的数据存储结构管理索引数据;数据管理模块,用于根据数据统一接口定义的数据存储结构管理应用数据。
文档编号G06F12/12GK102169418SQ20101057216
公开日2011年8月31日 申请日期2010年12月3日 优先权日2010年12月3日
发明者徐中华, 王国猛 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1