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

文档序号:6610132阅读:324来源:国知局
专利名称:一种资源受限设备及数据访问方法
技术领域
本发明涉及数据管理技术,尤其涉及一种资源受限设备和数据访问方法。
技术背景传统的资源受限设备,运算能力通常很弱, 一般只有8位CPU,存储空间 也非常小, 一般不超过几K字节,其上应用较为简单,通常只是用来存储和处 理一些简单必备的数据信息,数据量较小,应用的开发相对封闭,并且没有太 多的I/0操作。这种资源受限设备的一个典型代表就是智能卡。与智能卡类似 的资源受限设备还有USBKEY, SD卡,以及直接集成在PC主板上的安全集 成电路芯片等。下文为了描述方便,将以智能卡为典型代表来描述在资源受限 设备上的数据管理系统和方法。由于传统的智能卡上存储的信息量较小,应用的数据直接由卡上操作系统 中的文件管理模块来管理,图l是一个传统智能卡体系结构的描述,传统的智 能卡包括应用模块,操作系统和硬件平台三部分,所述应用模块可以包含一 个或者多个应用;所述操作系统提供文件管理、内存管理以及其它管理功能。 从图中可以看出,在传统的智能卡上,应用是直接建立在操作系统之上的,应 用对数据的存取直接调用操作系统提供的文件管理函数,与操作系统直接打交 道。这种以文件的方式存储和管理数据,存在着如下弊端1、数据访问困难,应用模块可重用性差。在传统智能卡中,应用模块直 接建立在操作系统之上,应用模块的数据直接通过操作系统的文件管理模块存 储在文件中,当应用模块需要使用数据时,也直接通过文件管理模块的接口函 数读写文件来存取数据;这种情况下, 一方面应用^^莫块必须知道目标数据所在
文件的路径信息,以及数据在文件中存储的确切位置;另一方面,由于应用模 块的数据可能是在不同时期由不同的人员存入的,而且数据可能分散存储在不 同的文件中,这些文件又可能具有不同的存储格式,因此,想要编写一个应用 模块能够跨越多个文件来检索恰当的数据是比较困难的;另一方面,应用模块 的需求是千差万别的,如,当学校管理人员要查询所有考试成绩不及格的学生 名单时,应用模块开发人员需根据这一需求编写相应应用模块;如果某天学校 管理人员要查询所有籍贯是湖北的学生名单时,应用模块需求发生了变化,应 用模块开发人员就需要重新编写应用模块;因此,传统的基于文件系统的数据 处理方式不能支持以一种方便而有效的方式去获得所需数据,应用模块必须清 楚的知道数据所在的文件、文件的存放路径、文件存储格式,导致数据访问比 较困难。同时,由于在传统的基于文件系统的数据处理环境下,应用模块与操 作系统是一体的, 一旦数据存储的物理结构发生改变,则应用模块也必须做出 相应的改变。应用模块的物理独立性差,难于维护和移植。2、数据访问效率低下。由于智能卡平台的资源相对受限,其内存一般不 超过64K字节,时钟频率一般不超过几十MHZ。按照传统的文件管理方式, 当查找卡上某一个特定关键字的记录时,必须首先找到存放该记录的文件,再 在该文件中逐一比对每一条记录;最坏的情况下,需要比对完文件中的所有记 录,才能找到结果;由于卡上可以存储的信息量越来越大,因此,文件中的记 录数越来越多,但卡的CPU频率以及内存大小受功耗和尺寸的制约而不能无 限增大,因此,当卡上存储的信息量增大,数据操作复杂时,数据访问效率必话号码信息时,如果记录数太多,查找速度就会非常慢,有可能会导致手机死 机等情况出现。发明内容本发明的目的在于提供一种资源受限设备和数据访问方法,能够对数据的 存储进行统一管理,同时为应用模块提供一套数据存取访问机制,从而解决现 有技术中数据访问困难、访问效率低下、应用模块可重用性差等问题,增强应用模块的可移植性。
本发明提供了 一种资源受限设备,所述资源受限设备包括数据管理平台, 所述数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块和操作系统接口,
所述应用接口,用于向应用模块提供数据访问接口;接收应用模块发出的 数据访问请求;
所述模式管理模块,用于管理配置数据,所述配置数据包括应用模块下所 有应用数据集合、索引的配置信息以及该应用模块自身的配置信息;所述模式 管理模块还用于统一定义配置数据的存储结构,并根据数据访问请求对配置数 据进行模式操作,所述模式操作包括生成配置信息、根据数据管理模块和/或索 引管理模块的操作结果添加、删除或更新配置信息,并根据数据访问请求获取 应用数据集合和/或索引的配置信息,供数据管理模块和/或索引管理模块使用;
所述索引管理模块,用于管理索引数据,所述索引数据用于加速定位应用 数据在应用数据集合中的位置,索引数据按照索引算法进行存储;所述索引管 理模块通过该索引算法管理索引数据,并根据数据访问请求对索引数据进行索 引操作,所述索引操作包括生成索引数据、根据数据管理模块的操作结果添加、 删除或更新索引数据,以及才艮据索引算法查找索引数据获得数据位置信息,供 数据管理模块使用;
所述数据管理模块,用于管理应用数据,数据管理模块统一定义应用数据 的存储结构,并根据数据访问请求对应用数据进行数据操作,所述数据操作包 括添加、删除、更新或检索应用数据;.
所述操作系统接口,用于为模块管理模块、数据管理模块、索引管理模块 提供操作系统提供的文件访问接口和/或内存访问接口 ,使模块管理模块访问配 置数据,使数据管理模块访问应用数据,使索引管理模块访问索引数据。
所述位置信息包括记录号和/或文件偏移量。所述数据访问接口包括下述函数其中之一,或其任意组合动态/静态应用创建函数、动态/静态应用打开/关闭函数、表创建函数、索引创建函数、数据 检索函数、数据添加函数、数据删除函数和数据更新函数。所述数据访问接口函数由模式管理模块、索引管理模块、数据管理模块提 供的操作组合而成。所述操作系统接口与资源受限设备的操作系统之间封装有符合ANSI C标 准的文件系统函数和内存操作函数。. 所述索引管理模块还包括索引计算单元,用于执行不同的索引算法以获得数据的位置信息,所述索 引算法包括B+树算法、位图算法、哈希算法等;緩沖区管理单元,用于在内存中设置緩存区以緩存索引文件中的数据,并 根据索引计算单元的计算需求对緩存区中的数据进行管理。所述数据管理平台还包括辅助模块,所述辅助模块用于负责静态应用的应 用数据、索引数据以及配置数据的生成。所述应用接口包括动态应用接口和/或静态应用接口 ,所述应用模块包括动 态应用模块和/或静态应用模块,所述数据管理平台的所述动态应用接口与动态 应用模块相连,所述数据管理平台的所述动态应用接口或静态应用接口与静态 应用4莫块相连。所述应用模块与所述资源受限设备合设在一起,或与资源受限设备分设。 所述应用模块与所述资源受限设备合设在一起,所述应用模块通过下述任一方式与所述资源受限设备相连符合空中下载规范格式的扩展应用程序接口函数;所述应用模块与资源受限设备分设,所述应用模块通过下述任一方式与所 述资源受限设备相连数据短信、符合IS07816规范的自定义命令、符合USB 总线协议的自定义命令、符合MMC协议的自定义命令。本发明还公开了一种数据访问方法,包括
数据管理平台接收应用模块发出的数据访问请求,所述数据管理平台设置在资源受限设备中;数据管理平台根据数据访问请求管理和/或访问配置数据、索引数据、应用数据,执行下述任一操作、或任意组合操作模式操作、索引操作、数据操作; 所述配置数据包括应用模块下所有应用数据集合、索引的配置信息以及该应用 模块自身的配置信息;所述索引数据用于加速定位应用数据在表中的位置,索 引数据按照索引算法进行存储。在所述索引操作的执行过程中,所述方法还包括将索引文件中的索引块 读取到内存緩沖池中,在所述緩沖池中对索引数据进行操作。按照最近最少使用算法对緩沖池中的緩存块进行替换。所述数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管 理模块和操作系统接口 ,所述应用接口 ,用于向应用模块提供数据访问接口 , 接收应用模块发出的数据访问请求;模式管理模块对配置数据进行模式操作; 数据管理模块对应用数据进行数据操作;索引管理模块对索引数据进行索引操 作;操作系统接口向模块管理模块、数据管理模块、索引管理模块提供操作系 统提供的文件访问接口和/或内存访问接口 。所述数据管理平台根据数据访问请求通过数据访问接口管理和/或访问配 置数据、索引数据、应用数据。所述数据访问接口包括下述函数其中之一,或其任意组合动态/静态应用 创建函数、动态/静态应用打开/关闭函数、表创建函数、索引创建函数、数据 检索函数、数据添加函数、数据删除函数和数据更新函数。所述数据访问接口函数由模式管理模块、索引管理模块、数据管理模块提 供的操作组合而成。本发明还公开了 一种数据访问系统,包括应用模块和资源受限设备,所述应用模块,其由资源受限设备的数据管理平台的数据访问接口生成, 并向资源受限设备的数据管理平台发送数据访问请求,接收所述数据管理平台的操作结果;所述资源受限设备包括数据管理平台,所述数据管理平台包括应用接口 、 模式管理模块、数据管理模块、索引管理模块和操作系统接口,所述应用接口,用于向应用模块提供数据访问接口;接收应用模块发出的 数据访问请求;所述模式管理模块,用于管理配置数据,所述配置数据包括应用模块下所 有应用数据集合、索引的配置信息以及该应用模块自身的配置信息;所述模式 管理模块还用于统一定义配置数据的存储结构,并根据数据访问请求对配置数 据进行模式操作,所述模式搡作包括生成配置信息、根据数据管理模块和/或索 引管理模块的操作结果添加、删除或更新配置信息,并根据数据访问请求获取 应用数据集合和/或索引的配置信息,供数据管理模块和/或索引管理模块使用;所述索引管理模块,用于管理索引数据,所述索引数据用于加速定位应用 数据在应用数据集合中的位置,索引数据按照索引算法进行存储;所述索引管 理模块通过该索引算法管理索引数据,并根据数据访问请求对索引数据进行索 引操作,所述索引操作包括生成索引数据、根据数据管理模块的操作结果添加、 删除或更新索引数据,以及根据索引算法查找索引数据获得数据位置信息,供 数据管理模块使用;所述数据管理模块,用于管理应用数据,数据管理模块统一定义应用数据 的存储结构,并根据数据访问请求对应用数据进行数据操作,所述数据操作包 括添加、删除、更新或^f全索应用数据;所述操作系统接口,用于为模块管理模块、数据管理模块、索引管理模块 提供操作系统提供的文件访问接口和/或内存访问接口 ,使模块管理模块访问配 置数据,使数据管理模块访问应用数据,使索引管理模块访问索引数据。本发明实施例通过在增加数据管理模块,可使物理存储独立化,增加了应 用模块的可移植性。


图1示出了传统资源受限设备的体系结构; 图2示出了本发明实施例的一种资源受限设备的硬件结构; 图3示出了本发明实施例的另一种资源受限设备的硬件结构; 图4示出了本发明实施例的资源受限设备的体系结构;图6示出了本发明实施例的数据的存储结构;图7a、 7b、 7c示出了本发明实施例的资源受限设备的应用场景;图8a、 8b示出了本发明实施例四的两种工作模式下的资源受限设备;图9示出了本发明实施例四的利用OTA (Over The Air,空中下载)规范相关函数以及符合OTA规范的自定义扩展API (应用程序接口 )函数编写的一个SIM卡上STK应用的示例;图10示出了用户激活"移动梦网,,并进入"名片夹"应用进行"添加,,时,手机和SIM卡之间的一系列交互过程;图11示出了本发明的数据访问的流程。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明 的实施例。随着芯片和存储技术的不断发展,资源受限设备的运算能力和存储能力都 得到了长足的发展。以智能卡为例,目前,智能卡已经从最初的8位CPU发 展到了32位,存储空间也从最初的几K字节发展到目前的几十K、上百K, 更有最新一些芯片厂家推出的大容量卡,使得存储容量一跃上升到几G字节。 这使得在以智能卡为代表的资源受限设备上,也具备了存储海量信息的可行 性。随着智能卡上存储空间的加大,特别是大容量智能卡的推出,传统的数据 管理方式的缺点已越来越突出,急需要一种统一的数据管理平台来管理卡上的
应用模块和数据。另一方面,由于外形尺寸、功耗等方面的限制,以智能卡为代表的资源受限设备的一个普遍特点是,内存资源有限,工作频率较低,1/0通讯速度较慢, 如智能卡芯片的系统时钟频率通常不超过几十MHZ,内存大小也通常不超过 64K字节;因此,市场上通用的数据管理平台一般都不适用于智能卡平台之上, 因此,专门针对智能卡等资源受限设备的数据管理平台有待推出。本发明实施例所描述的资源受限设备的典型代表是智能卡。所述智能卡基 本组成结构如图2所示,包括中央处理单元(CPU)、只读存储器(ROM)、 随机访问存储器(RAM)、非易失性存储器(NVM)、以及输入输出(I/O)通 道,这些功能部件通过总线(BUS)连接在一起。ROM中存放CPU要执行的 指令,这里的ROM也可以是闪存FLASH或者其他非易失性存储器;为便于 本专利的描述,这里以ROM为例来进行表述。另外,本发明实施例更加适用于新型的大容量智能卡,这种大容量智能卡 的組成结构如图3所示。该组成结构除包含与图2所描述的结构外,还包含一 个FLASH控制器,该FLASH控制器与一块大容量的FLASH存储器相连。该 k《"t FLASH ^"卡者H"^T負^;^ NAND FLASH, ^t!L"5r負fe;^ NOR FLASH或者其他 非易失性存储器,通常具有较大的存储容量,从几兆字节到几G字节不等。为 更迅速地访问这种大容量存储器,图3中的1/0通道会包含一种或几种快速数 据接口,如USB、 MMC接口。下面通过实施例来描述本发明。其中,实施例一描述了本发明的资源受限 设备。实施例二描述了本发明的数据的存储结构。实施例三描述了本发明的资 源受限设备的应用实例。实施例四描述了本发明的两种模式的资源受限设备。 实施例五描述了本发明的数据访问方法。实施例六描述了本发明实施例的数据 访问系统。实施例一如图4所示,本实施例公开了一种资源受限设备,所述资源受限设备包括:
数据管理平台,用于定义数据的存储结构(数据的存储结构参见实施例二的描 述),并向应用模块提供统一的数据访问接口,这是传统的以智能卡为代表的 资源受限设备所不具备的;操作系统模块,用于提供文件管理、内存管理以及其它系统功能模块,以便数据管理平台利用这些系统功能存取数据;硬件平台, 用于提供基本的硬件支持。所述资源受限设备还与应用模块相连,所述应用模块可设置在资源受限设 备中,也可设置在资源受限设备之外。应用模块包含一个或者多个数据应用, 数据应用不同于一般应用,数据应用需要管理和存取大量数据,所述数据由于 具有相似的结构而组成一个或多个数据集合;数据管理平台提供了统一的格式 来存储这些数据集合中的数据;由于建立在统一的数据管理平台之上,所述应用模块中的数据应用可以直接调用数据管理平台提供的接口函数来编写,与硬 件和操作系统平台无关,数据应用不必关注数据的存储位置,由数据管理平台统一安排,从而增强了应用的可移植性;下面详细描述资源受限设备的各个模 块及与资源受限设备相关的模块。所述应用模块可以包含一个或多个数据应用,其可驻留资源受限设备上或 设置在其它设备(如主设备)上。应用模块向数据管理平台发送数据访问请求 以对数据进行访问。当应用模块驻留在资源受限设备之外(如主设备)时,应 用模块可通过通信接口(通信接口参见实施例三的描述)向数据管理平台发送 数据访问请求以对数据进行访问。为了高效地操作数据,在本发明的实施例中,将应用模块中的数据应用划 分为两类静态应用和动态应用,数据管理平台针对两种不同类型的应用来分 别存储和管理数据。所述静态应用的数据在资源受限设备之外生成,在应用模 块初始化阶段数据被一次性写入资源受限设备内,应用模块运行过程中,只执 行数据的检索操作,其所对应数据定期更新,更新不频繁,数据更新也是将数 据在设备外准备好,然后一次性写入资源受限设备内;由于静态应用的数据是 在资源受限设备外生成的,因此,数据可按一定的顺序排序组织,以加速特定
需求的检索。所述动态应用的数据在应用模块执行过程中动态添加生成,应用 模块运行过程中,不仅会执行数据的检索操作,还会频繁的插入、删除或者更 新数据;由于动态应用的数据是在应用执行过程中动态变化的,因此,数据按 照写入的先后顺序组织。所述数据管理平台与应用模块和操作系统模块相连,接收应用模块传递来 的数据访问请求,解析并执行数据访问请求,执行过程中调用操作系统模块进行数据读写操作。如图5所示,数据管理平台包括应用接口、模式管理模块、 数据管理模块、索引管理模块和辅助模块,其中,应用接口、模式管理模块、 数据管理模块、索引管理模块设置在资源受限设备(如智能卡端)上,辅助模 块设置在卡外(如PC端)。下面对数据管理平台的各个部分进行描述。(1) 应用接口,是向应用模块提供的数据访问接口,应用模块通过调用 该应用接口,实现对应用数据的访问;根据数据应用类型的不同,所述应用接 口包括动态应用接口和/或静态应用接口;才艮据功能的不同,所述应用接口可以 划分为两类i、 模式操作函数,包括动态/静态应用创建、动态/静态应用打开/关闭、 表创建、各种类型索引创建等函数;ii、 数据操作函数,包括数据检索、数据添加、数据删除和数据更新等函数。上述函数由模式管理模块、索引管理模块、数据管理模块提供的操作组合 而成,以便由对应的管理模块来执行该函数中的操作。由于数据管理平台提供了上述与操作系统无关的数据访问接口 ,使得应用 模块可以不必关心数据的具体存储,从而方便了应用模块的数据访问。(2) 模式管理模块,模式管理模块用于管理配置数据;所述模式管理模 块还用于统一定义配置数据的存储结构,并根据数据访问请求对配置数据进行 操作,如,生成配置信息、根据数据管理模块和/或索引管理模块的操作结果添 加/删除/更新配置信息,并根据数据访问请求获取应用数据集合和/或索引的配
置信息,供数据管理模块和/或索引管理模块使用。所述配置数据包括当前数据 模块下所有应用数据集合、索引的配置信息以及该应用模块自身的配置信息, 如应用名称、应用类别等。所述应用数据集合为一个应用模块下所有应用数据, 可以根据逻辑结构划分为一个或者多个集合,每个集合可以单独存储在一个文 件中或者所有集合存储在一个文件中,其可以以表的形式存在,在下文中,为 方便描述,有时将应用数据集合也称表。模式管理单元对模式信息的操作主要有三类i、 创建/打开模式操作这一部分操作是在数据应用被创建或者数据应用 被打开时执行,主要功能是创建数据字典(也称配置数据)或者将数据字典中 的模式信息读入内存特定数据结构中;ii、 添加/更新模式操作这一部分操作是在数据应用执行过程中,应用的 模式信息发生变化时被调用,如新建表、新建索引等,主要功能是在数据字典 中添加新的模式信息或者更新已有的模式信息;iii、 读取模式操作模式管理模块还负责根据数据字典将数据访问请求生 成数据操作执行路径和/或索引操作执行路径。即解析数据访问请求,在数据字 典中获取数据访问请求中相关的表和索引的模式信息,并将这些信息形成数据 和索引的操作执行路径;数据操作执行路径是指该数据访问请求所访问的数据 文件、访问方法(读取或者写入)、访问条件(访问哪些数据域)以及访问顺 序,数据管理模块将根据该执行路径来访问相应的数据文件。索引操作执行路 径是指,该数据访问请求所包含的一个或多个索引操作,当该数据访问请求包 含多个索引操作时,所述索引操作执行路径还包括不同索引操作的优先级顺 序,优先级由数据管理模块内部定义,索引管理模块将根据该执行路径来依次 执行不同的索引操作。(3)数据管理模块是数据管理平台的核心,用于管理应用数据,统一定 义应用数据的存储结构,并根据数据访问请求对应用数据进行数据操作,所述 数据操作包括添加、删除、更新或检索应用数据;所述数据管理模块还用于根 据数据操作执行路径和/或所述数据的位置信息执行数据操作,如,执行具体的数据操作,包括插入、删除、更新和检索数据;数据管理模块统一定义应用数据的存储结构,在本发明的具体实施例中,支持在一个数据应用下创建多个表, 每个表中存储的是具有相同数据域组成结构的数据记录,数据访问请求最终会转化为对特定数据记录或者数据记录中特定数据域的操作;当应用模块发来一 个数据操作请求后,会先由模式管理模块生成该请求对应的数据操作执行路 径,然后传递给数据管理模块,数据管理模块依据该执行路径,依次执行指定 的数据操作,如果在特定的数据域上创建有索引,则数据管理模块还会调用索 引管理模块进行必要的索引操作;数据管理模块会根据具体的数据访问请求类 型决定不同模块之间的执行顺序。由于数据的存储由数据管理平台中的数据管理模块统一安排,使得应用模 块不必关注数据的存储位置,从而增强了应用模块的可移植性。(4)索引管理模块也是数据管理平台的重要组成部分,它的主要目的是 加速数据的检索,用于管理索引数据,索引数据用于加速定位应用数据在应用 数据集合中的位置,索引数据按照索引算法进行存储;所述索引管理模块通过 该索引算法管理索引数据,并根据数据访问请求的不同对索引数据进行操作, 包括生成索引数据、根据数据管理模块的操作结果添加、删除或更新索引数据, 以及根据索引算法查找索引数据获得数据位置信息,供数据管理模块使用,从 而加速数据管理模块的操作;每一个索引都与特定索引算法相关联,索引管理 模块通过执行相应的索引算法来管理索引数据;当表中特定数据域的数据发生 改变时,比如添加新的数据、删除或者更新已有数据,索引管理模块负责对相 应的索引数据进行维护,如添加、删除或者更新等;当应用模块发出数据访问 请求时,如果相应数据域上创建有索引,则模式管理模块会解析数据访问请求 并得到索引的执行路径,然后由索引管理模块依次执行相应的索引算法,从而 得到数据的位置信息,所述位置信息可以用记录号、文件偏移量等方式来表示; 数据管理模块通过索引管理模块返回的位置信息可以快速的定位并获取数据;
所述索引管理模块包含索引数据维护单元、索引计算单元和緩冲区管理单元, 下面分别描述这三个单元。所述索引数据维护单元,用于对索引数据进行维护,如添加、删除或者更新等。所述索引计算单元,用于执行索引操作函数,并根据索引操作函数执行索 引算法的计算,以获得数据的位置信息,并将所述数据的位置信息传给所述数 据管理模块和/或应用模块。在本发明的实施例中,对静态应用提供四种类型索引的支持,分别是物理索引、bitmap (位图)索引,B+树索引和hash (哈希) 索引;对动态应用,可支持建立B+树索引。bitmap、 B+树都是成熟的算法,在 此不再赘述;在本实施例中,hash索引是以CRC16算法做为hash索引的散列算 法;物理索引是专门针对静态应用所设立的,静态应用的数据在卡外生成时, 可以按照某一个或几个数据域排序存储,这种与数据的物理排序有关的索引称 为物理索引。所述緩冲区管理单元,是为索引的计算提供緩存单元,目的是减少索引运 算过程中对磁盘的访问次数,进一步提高执行速度;在索引的计算过程中,可 能需要反复多次访问存储器中的索引文件。为减少对存储器读写操作的次数, 在本发明中,提供了一个緩冲区,在内存中设置緩存区以緩存索引文件中的数 据,并根据索引计算单元的计算需求对緩存区中的数据进行管理。如,索引计 算过程中,当需要从存储器中读取索引数据时,会先判断索引数据是否已在緩 沖区中,如果索引数据已在緩冲区中,则直接对緩沖区中的数据进行操作;如 果索引数据不在緩沖区中,则緩存管理子模块会调用OS接口函数先将索引数据 从存储器中读入緩存,再进行操作;当需要更新存储器中的索引数据时,会更 新緩存中的相应数据,并设置标志位,指明其待更新,等到所有操作执行完毕 后再一次性更新到存储器,或者是緩存中没有空闲空间,需要将緩存中的一部 分数据置换出去时,将其更新到存储器中。由于緩沖区大小是固定的,因此, 只能够緩存固定数据量的索引,因此,对緩冲区中的緩存数据需要有一定的淘
汰策略,在本发明的实施例中,采用的是LRU (Least Recently Used,最近最少 使用)算法。(5) 操作系统接口,用于在模块管理模块、数据管理模块、索引管理模 块执行过程中,当需要访问存储器中存储的文件时被调用,这里的操作系统接 口主要指文件访问接口和内存访问接口,模块管理模块、数据管理模块、索引 管理模块通过文件访问接口和内存访问接口访问数据,即,使模块管理模块访 问配置数据,使数据管理模块访问应用数据,使索引管理模块访问索引数据; 并通过文件访问接口和内存访问接口返回访问结果;文件访问接口主要有以下 几类创建/删除文件、打开/关闭文件、读/写/定位文件等;内存访问接口主要 是动态内存的申请/释放、内存数据设置/拷贝/比较等;为了增强数据管理平台 在不同操作系统上的可移植性,在本发明的实施例中,在自定义的操作系统之上封装了 一层符合ANSI C标准的文件系统函数和内存操作函数;数据管理平台 调用所述文件系统函数和内存操作函数与资源受限设备的自定义操作系统交 互,增强了数据管理平台的可移植性。(6) 所述辅助模块,其包括静态应用辅助工具,用于专门负责静态应用 的应用数据、索引数据以及数据字典(配置数据)的生成以及静态应用数据的 导入,该工具运行在资源受限设备之外,如PC端,或者手持设备端。由于以智 能卡为代表的资源受限设备的处理能力相对比较弱,因此,为了加快数据操作, 减少智能卡的负担,将事务处理放在卡外来完成。本实施例中把应用模块划分 为静态应用和动态应用,由于静态应用的数据和索引可以在卡外准备好,然后 在适当时机(如,卡片初始化阶段) 一次性写入卡内。实施例二本实施例描述数据的存储结构,在数据访问过程中,要涉及到具体的数据 存储结构。本发明涉及三类数据,分别是应用数据、索引数据和配置数据。 (1)应用数据应用数据是指应用模块的基本数据信息;具有相同数据域组成结构的数据
记录被存放在一张表中,在本发明的具体实施例中,为便于应用数据在不同平 台之间的移植,为每张表创建一个数据文件,因此应用数据可以存放在一个或 者多个数据文件中,在智能卡上, 一个数据文件对应着卡上的一个基本文件 (EF),同一个表中的数据在同一个数据文件中存储,数据按定长记录格式组织。(2)索引数据为加速数据操作,数据管理平台支持在一个或多个数据域上创建索引;应 用模块可以在记录的不同数据域上创建不同类型的索引,每一条记录会根据索 引算法的不同生成不同的索引数据,索引数据可以存放在一个或者多个索引文 件中, 一个索引文件对应着智能卡上的一个基本文件(EF);在本发明的实施 例中,由于对索引文件的访问操作比较频繁,为尽量避免文件查找,为一个应 用模块只建立一个索引文件,同 一个应用模块下的所有索引数据存放在该索? 1 文件中;索引文件一般被存放在Flash等存储器中,由于这些存储器都是按块进 行读写的,因此,为加速存储器I/0操作,索引文件被逻辑上划分为与存储器 大小相等的块,索引数据按块来存取; (3 )配置数据在记录数据信息和索引信息的同时,应用还需要记录表、索引以及应用自 身的配置信息,如,表的名称,表的数据域组成,索引名称,索引类别,不同 算法索引的起始块号等信息;这些信息被记录在数据字典文件中;在本发明的 实施例中, 一个应用模块下有一个数据字典文件,在智能卡上数据字典文件也 是一个基本文件(EF),数据字典文件中的数据按照变长记录的格式存储,每个 表或者索引的配置信息组成一条变长记录;图6示出本发明实施例的一种数据的文件结构。该数据结构有如下特点(1) 对于一个数据应用,无论是静态应用还是动态应用,在卡上至少存 在一个与该应用相对应的目录文件(DF)。(2) 在每个应用的目录文件下,至少有一个数据字典文件(EF),存放
该应用模块下的所有表和索引的配置信息。
(3) 在每个应用的目录文件下,可以有一个或多个数据文件(EF),存 放该应用模块的数据,每个表的数据对应一个数据文件。(4) 在每个应用的目录文件下,至少有一个索引文件(EF),存放该应 用模块所有索引数据。
实施例三
在图7a、图7b和图7c中,资源受限i殳备以智能卡为例。在图7a中,智能卡 是一个SIM卡,与手机一起使用;用户数据存储在卡中,应用模块可以驻留在 卡中,也可以安装在手机端;用户可以通过手机上的特定数据应用界面,向卡 中添加/删除数据记录,或者从卡中检索数据记录,操作结果会在手机端显示。 在图7b中,智能卡与手持计算设备(PDA) —起使用,如PDA等,用户通过手 持计算设备的界面对卡中数据进行操作。在图7c中,智能卡通过读卡器被连接 到计算机中,用户数据存储在卡中,应用模块安装在计算机端,用户在计算机 端通过应用界面访问卡,进行数据操作。
对于应用模块设置资源受限设备之外的情况,由于本发明实施例的资源受 限设备为带有大数据量存储的智能卡,应用模块与智能卡之间存在大数据量的 1/0操作,因此对I/0传输速率具有一定要求;根据发明实施例,以智能卡为代 表的资源受限设备与应用模块之间可以有以下多种传输接口 。
(1) IS07816接口 智能卡使用IS07816接口通过读卡器与主设备交互或 者直接与主设备交互;IS07816接口采用半双工的通信方式,通讯速率一般不 超过512Kbps;此时,卡上的I/0 Driver提供的是遵循ISO/IEC 7816标准的 IS07816驱动。目前的智能卡都至少具有一个IS07816接口,新一代的智能卡还 会同时具有一个高速通道——MMC或者USB通道。(2) IS014443通道智能卡使用IS014443接口与读卡器或者主设备进行 短距离无线方式交互;IS014443接口是根据ISO/IEC 14443规范定义的一种非 接触式的通信方式。
(3) MMC通道资源受限设备使用MMC接口通过读卡器与主设备交互 或者直接与主设备交互;此时,卡上的I/0 Driver提供的是遵循MMC标准协议 的MMC驱动。具有MMC通道的资源受限设备的一种封装形式是MMC卡,被 广泛用于各类移动环境中,如手机、数码相机、MP3、 PDA等;另一种形式是 同时具有MMC通道的智能卡,这种类型的卡封装为ISO/IEC7816-l标准中规定 的形态,在保留原有IS07816触点功能的同时,启用其C4、 C8两个保留触点, 用于MMC的命令和数据传输。(4) USB通道资源受限设备通过USB通道与主设备交互;此时,卡上 的1/0 Driver提供的是遵循USB协议的USB驱动。具有USB通道的资源受限设备 的一种封装形式是USB TOKEN,可直接与PC机相连,被广泛用于各类安全控 制领域中;另一种形式是同时具有USB通道的智能卡,这种类型的卡封装为 ISO/IEC7816-l标准中规定的形态,在保留原有IS07816触点功能的同时,启用 其C4、 C8两个保留触点,用于USB的数据输入和输出。实施例四基于数据管理平台之上的应用模块,可有两种工作模式模式l,如图8a 所示,应用模块设置在资源受限设备上;模式2,如图8b所示,应用模块设置 资源受限设备之外。在模式l中,主设备可以是手机等。下面以主设备是手机 为例来说明,此时,智能卡是SIM卡,手机可以看作是卡的一个显示和1/0 (输 入/输出)设备。在SIM卡上,应用模块最常用的一种体现方式是STK (SIM Toolkit,用户识别应用发展工具)应用,STK应用与数据管理平台交互,需要 在原有的中国移动OTA相关规范函数集基础上,自定义一套符合OTA规范格式 的扩展API函数。图9中是利用OTA规范相关函数以及符合OTA规范的自定义扩展API函数 编写的一个SIM卡上STK应用的示例;其中,"移动梦网"是卡上STK应用的O 级菜单,"超级号码簿"、"名片夹"、"酒店黄页"分别是0级菜单下的三 个应用模块,以"名片夹"为例,在该应用下,包含三个过程,分别是"添加"、"查找"、"删除",每个过程是调用OTA规范相关函数以及符合OTA规范的 自定义扩展函数编写的,每一个OTA自定义扩展API函数与一个数据管理模块 的数据操作接口 API函数相对应;下面代码以"名片夹"应用的"添加"过程为例,简要描述了编写该过程 所要调用的函数集合;当用户选择运行"移动梦网"中"名片夹"应用下的"添 加"过程时,操作系统会逐一解析执行"添力口,,过程中的每一个函数,如Get—Input()函数获取用户输入的名片信息,Display—Text ()返回执行成功或者失败 的执行结果等;"添加"过程Get_Input () ; //获取用户输入的名片信息STK_Add () ; //调用自定义扩展OTA函数执行添加操作 Display_Text (); 〃返回添加结果当执行到自定义扩展API函数STK—Add ()时,如下面代码所示,会首先 从EditBuf的约定单元中获取用户输入的名片信息,然后将信息传递给数据处理 模块的数据操作接口相应API函数DB一Add(),由其来将名片信息添加到已有 的名片集合中,之后再将DB一Add ()的执行结果放入EditBuf的约定单元,返 回给上层STK应用;这里的EditBuf是OTA规范中定义的用于传递变量参数的内 存单元;STK—Add执行流程从EditBuf的约定单元中获取用户输入的名片信息;调用DB—Add ()函数将名片信息添加到卡上已有的名片集合中; 将执行结果放入EditBuf的约定单元中;下面代码是以DB—Add ()函数为例,来描述该函数在添加一条新的名片
信息时的执行流程;DB—Add纟丸行流程调用模式操作子模块,找到相关数据文件以及所有与待添加数据相关的索引; 调用数据操作子模块在数据文件中添加一条新的名片记录;调用索引操作模块为所有相关的索引生成一个新的索引项,并写入索引结构中相应位置;当用户通过手机屏幕激活卡上的STK应用时,手机和SIM之间的信息传递 是通过GSMll.ll和GSMll. 14规范中定义的主动式命令。图10中描述了用户激 活"移动梦网"并进入"名片夹"应用进行"添加"时,手机和SIM卡之间的 一系列交互过程。在模式2中,如图8b所示,应用模块驻留在主设备端。这种模式下,主设 备端不再仅仅是卡的显示和I/0设备,而是一个运行应用的主动设备,卡则被 动地等待主设备端发来的数据访问请求并执行请求。结合前面所描述的智能卡 与主设备端的不同物理连接方式,主设备端的应用模块向卡上的数据管理平台 发送数据访问请求,可以有以下几种方式。(l)通过数据短信当智能卡作为SIM卡用于GSM手机中时,手机可以 通过向卡发送数据短信来传递数据访问请求。(2 )通过符合IS07816规范的自定义命令当资源受限设备是一个智能卡 用于PDA中时,或者与读卡器相连用于PC、笔记本电脑时,此时,应用是通过 IS07816传输接口与卡进行交互;在这种模式下,卡上需要定义一套符合 IS07816命令格式的自定义命令;开发人员在编写主设备端的应用模块时,当 需要由卡来处理数据,则调用自定义的IS07816命令向卡提交数据处理请求, 卡接收到命令后,由卡上的APDU解析模块负责对命令进行解析;解析时,每数据请求的处理;处理结束后,再以符合IS07816格式的应答方式将处理结果 返回给主设备端。(3 )通过符合USB总线协议的自定义命令当资源受限设备是一个SIM 卡,通过卡上的USB通道与手机交互时,或者是一个USB TOKEN与PC、笔记 本电脑交互时,资源受限设备的操作系统需要定义一套符合USB总线协议格式 的自定义命令;开发人员在编写主设备端的应用模块时,当需要由卡来处理数 据,则调用自定义的USB命令向资源受限设备提交数据处理请求,设备接收到 请求命令后,由资源受限设备上的操作系统对自定义的USB命令进行解析;解数,从而完成对数据请求的处理;处理结束后,再以符合USB总线协议格式的 应答方式将处理结果返回给主设备端。(4)通过符合MMC总线协议的自定义命令当资源受限设备是一个SIM 卡,通过卡上的MMC通道与手机交互时,或者是一个MMC卡,通过MMC读 卡器与PC、笔记本电脑交互时,资源受限设备的操作系统需要定义一套符合 MMC总线协议格式的自定义命令;开发人员在编写主设备端的应用模块时, 当需要由卡来处理数据,则调用自定义的MMC命令向资源受限设备提交数据 处理请求,设备接收到请求命令后,由资源受限设备上的操作系统对自定义的 MMC命令进行解析;解析时,每一个自定义的MMC命令会对应地调用数据管 理平台的应用接口API函数,从而完成对数据请求的处理;处理结束后,再以 符合MMC总线协议格式的应答方式将处理结果返回给主设备端。 实施例五本实施例描述数据访问方法。所述方法包括数据管理平台接收应用模块 发出的数据访问请求,所述数据管理平台设置在资源受限设备中;数据管理平 台根据数据访问请求管理和/或访问配置数据、索引数据、应用数据,执行下述 任一操作、或任意组合操作模式操作、索引搡作、数据操作。具体而言,根 据具体数据访问请求的不同,分别通过模式管理模块处理表和索引的模式信 息,通过数据管理模块处理执行数据操作,以及通过索引管理模块执行索引操 作;所述配置数据包括应用模块下所有应用数据集合、索引的配置信息以及应
用模块自身的配置信息;所述索引数据用于加速定位应用数据在表中的位置, 索引数据按照索引算法进行存储。下面以^r索数据为例来描述具体的数据访问 方法,如图11所示步骤91、数据管理平台接收应用模块发出的数据访问请求。所述数据管理 平台包括应用接口、模式管理模块、数据管理模块、索引管理模块和操作系统 接口,所述应用接口,用于向应用模块提供数据访问接口,接收应用模块发出 的数据访问请求。步骤92、数据管理平台的应用接口通过数据访问接口将数据访问请求传递 给下述模块模式管理模块、数据管理模块、索引管理模块。所述数据访问接口包括下述函数其中之一,或其任意组合动态/静态应用 创建函数、动态/静态应用打开/关闭函数、表创建函数、索引创建函数、数据 检索函数、数据添加函数、数据删除函数和数据更新函数。所述数据访问接口 函数由模式管理模块、索引管理模块、数据管理模块提供的操作组合而成。步骤93、模式管理模块、数据管理模块、索引管理模块解析数据访问请求, 并根据数据访问请求执行操作,所述操作包括模式操作、索引操作、数据操 作,如,根据数据访问请求在数据字典查找相关表的配置信息,生成数据操作 执行路径,如,从数据字典找到要检索的表的配置信息,以确定数据操作的执 行路径,所述执行路径包括操作命令、表所在文件的文件ID号、数据记录 长度、各个数据域名称和数据域宽度等。在执行操作过程中,对索引文件的访问还会调用緩存管理子模块,由緩存 管理子模块调用操作系统接口函数读取索引文件,将索引计算过程中所要访问 的索引块统一緩存在一个内存緩沖池中,在内容緩沖池中对索引数据进行操 作,以免因为要得到同一块数据而反复访问存储器中的索引文件;如果緩冲池 中的块全部被占用,则会根据LRU算法对緩存块进行替换。步骤94、在模式操作、索引操作、数据操作的执行过程中,对数据字典文 件、索引文件、数据文件的读写调用操作系统接口;
实施例六本实施例提供了一种数据访问系统,包括应用模块和资源受限设备。所述 应用模块与所述资源受限设备合设在一起,或与资源受限设备分设。所述应用 模块与所述资源受限设备合设在一起,所述应用模块通过下述任一方式与所述资源受限设备相连符合中国移动OTA规范格式的扩展API函数。所述应用模块与资源受限设备分设,所述应用模块通过下述任一方式与所述资源受限设备相连数据短信、符合IS07816规范的自定义命令、符合USB总线协议的自定 义命令、符合MMC总线协议的自定义命令。下面分别描述应用模块和资源受 限设备。所述应用模块,其由资源受限设备的数据管理平台的数据访问接口生成, 并向资源受限设备的数据管理平台发送数据访问请求,接收所述数据管理平台 的操作结果;所述资源受限设备包括数据管理平台,所述数据管理平台包括应用接口 、 模式管理模块、数据管理模块、索引管理模块和操作系统接口,所述应用接口,用于向应用模块提供数据访问接口;接收应用模块发出的 数据访问请求;所述模式管理模块,用于管理配置数据,所述配置数据包括应用模块下所 有应用数据集合、索引的配置信息以及该应用模块自身的配置信息;所述模式 管理模块还用于统一定义配置数据的存储结构,并根据数据访问请求对配置数 据进行模式操作,所述模式操作包括生成配置信息、根据数据管理模块和/或索 引管理模块的操作结果添加、删除或更新配置信息,并根据数据访问请求获取 应用数据集合和/或索引的配置信息,供数据管理模块和/或索引管理模块使用;所述索引管理模块,用于管理索引数据,所述索引数据用于加速定位应用 数据在应用数据集合中的位置,索引数据按照索引算法进行存储;所述索引管 理模块通过该索引算法管理索引数据,并根据数据访问请求对索引数据进行索 引操作,所述索引操作包括生成索引数据、根据数据管理模块的操作结果添加、 删除或更新索引数据,以及根据索引算法查找索引数据获得数据位置信息,供 数据管理模块使用;所述数据管理模块,用于管理应用数据,数据管理模块统一定义应用数据 的存储结构,并根据数据访问请求对应用数据进行数据操作,所述数据操作包括添加、删除、更新或^r索应用数据;所述操作系统接口,用于为模块管理模块、数据管理模块、索引管理模块 提供操作系统提供的文件访问接口和/或内存访问接口 ,使模块管理模块访问配 置数据,使数据管理模块访问应用数据,使索引管理模块访问索引数据。在卡操作系统层和应用层之间引入数据管理平台后,带来如下好处物理存储独立化在卡操作系统之上引入数据管理平台后,应用模块向平 台发出应用创建的请求时,数据管理平台会为应用创建其数据目录和文件;应 用向平台发出数据操作请求时,数据管理平台根据请求自动为应用添加、删除 数据。因此,应用模块不需要知道数据存储的位置,当数据的物理存储发生改 变时,应用模块不必随之变动。
数据管理结构化应用的数据由记录组成;每个记录包含若干个不同类型 的数据项,代表不同的含义;数据项结构相同的记录被组织到一起,由数据管 理平台统一管理;数据管理平台会将数据项结构相同的记录统一管理,如,存 放在同一个文件中,同时记录下其记录的数据项组成结构,如每个数据项的类 型及其含义;当应用模块发出数据添加请求时,平台会根据数据项类型和含义 将数据添加到特定的记录集合中;当应用模块发出检索数据请求时,也会根据 数据项类型和含义到特定的记录集合中查找含有特定数据项的记录;这种采用 结构化的方式管理的数据,使得数据可以被细化到数据项,而不仅仅是记录。
数据访问高效化为了更高效地访问数据,数据管理平台在应用创建时就 为应用同时建立若干个指定数据项的索引,当应用发出数据添加请求时,数据 管理平台一方面将数据记录写入特定的记录集合中(记录集合可以是一个数据 文件),同时,将索引指定的数据项的值以及该记录在记录集合中的位置组成 一个索引项,写入索引结构中;索引结构可以有多种,即索引项的存储方式可以有多种,如二叉树、B树、B+树等,根据应用的特点可以采用不同的索引结 构;当应用发出数据检索请求时,数据管理平台首先在索引结构中查找到指定 的索引项,再根据索引项中存储的记录位置到记录集合中找到记录;由此一来, 大大减少了数据访问的时间,提高了数据访问效率。虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本 发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围 由所附的权利要求来限定。
权利要求
1、一种资源受限设备,其特征在于,所述资源受限设备包括数据管理平台,所述数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块和操作系统接口,所述应用接口,用于向应用模块提供数据访问接口;接收应用模块发出的数据访问请求;所述模式管理模块,用于管理配置数据,所述配置数据包括应用模块下所有应用数据集合、索引的配置信息以及该应用模块自身的配置信息;所述模式管理模块还用于统一定义配置数据的存储结构,并根据数据访问请求对配置数据进行模式操作,所述模式操作包括生成配置信息、根据数据管理模块和/或索引管理模块的操作结果添加、删除或更新配置信息,并根据数据访问请求获取应用数据集合和/或索引的配置信息,供数据管理模块和/或索引管理模块使用;所述索引管理模块,用于管理索引数据,所述索引数据用于加速定位应用数据在应用数据集合中的位置,索引数据按照索引算法进行存储;所述索引管理模块通过该索引算法管理索引数据,并根据数据访问请求对索引数据进行索引操作,所述索引操作包括生成索引数据、根据数据管理模块的操作结果添加、删除或更新索引数据,以及根据索引算法查找索引数据获得数据位置信息,供数据管理模块使用;所述数据管理模块,用于管理应用数据,数据管理模块统一定义应用数据的存储结构,并根据数据访问请求对应用数据进行数据操作,所述数据操作包括添加、删除、更新或检索应用数据;所述操作系统接口,用于为模块管理模块、数据管理模块、索引管理模块提供操作系统提供的文件访问接口和/或内存访问接口,使模块管理模块访问配置数据,使数据管理模块访问应用数据,使索引管理模块访问索引数据。
2、 根据权利要求l所述的资源受限设备,其特征在于,所述位置信息包括: 记录号和/或文件偏移量。
3、 根据权利要求l所述的资源受限设备,其特征在于,所述数据访问接口包括下述函数其中之一,或其任意组合动态/静态应用创建函数、动态/静态 应用打开/关闭函数、表创建函数、索引创建函数、数据检索函数、数据添加函 数、数据删除函数和数据更新函数。
4、 根据权利要求3所述的资源受限设备,其特征在于,所述数据访问接口 函数由模式管理模块、索引管理模块、数据管理模块提供的操作组合而成。
5、 根据权利要求l所述的资源受限设备,其特征在于,所述操作系统接口 与资源受限设备的操作系统之间封装有符合ANSI C标准的文件系统函数和内 存操作函数。
6、 根据权利要求l所述的资源受限设备,其特征在于,所述索引管理模块 还包括索引计算单元,用于执行不同的索引算法以获得数据的位置信息,所述索 引算法包括B+树算法、位图算法、哈希算法等;緩冲区管理单元,用于在内存中设置緩存区以緩存索引文件中的数据,并 根据索引计算单元的计算需求对緩存区中的数据进行管理。
7、 根据权利要求l所述的资源受限设备,其特征在于,所述数据管理平台 还包括辅助模块,所述辅助模块用于负责静态应用的应用数据、索引数据以及 配置数据的生成。
8、 根据权利要求l所述的资源受限设备,其特征在于,所述应用接口包括 动态应用接口和/或静态应用接口 ,所述应用模块包括动态应用模块和/或静态 应用模块,所述数据管理平台的所述动态应用接口与动态应用模块相连,所述 数据管理平台的所述动态应用接口或静态应用接口与静态应用模块相连。
9、 根据权利要求8所述的资源受限设备,其特征在于,所述应用模块与所 述资源受限设备合设在一起,或与资源受限设备分设。
10、 根据权利要求9所述的资源受限设备,其特征在于, 所述应用模块与所述资源受限设备合设在一起,所述应用模块通过下述任 一方式与所迷资源受限设备相连符合空中下载规范格式的扩展应用程序接口函数;所述应用模块与资源受限设备分设,所述应用^t块通过下述任一方式与所 述资源受限设备相连数据短信、符合IS07816规范的自定义命令、符合USB 总线协议的自定义命令、符合MMC协议的自定义命令。
11、 一种数据访问方法,其特征在于,包括数据管理平台接收应用模块发出的数据访问请求,所述数据管理平台设置 在资源受限设备中;数据管理平台根据数据访问请求管理和/或访问配置数据、索引数据、应用 数据,执行下述任一操作、或任意组合搡作模式操作、索引操作、数据操作; 所述配置数据包括应用模块下所有应用数据集合、索引的配置信息以及该应用 模块自身的配置信息;所述索引数据用于加速定位应用数据在表中的位置,索 引数据按照索引算法进行存储。
12、 根据权利要求11所述的方法,其特征在于,在所述索引操作的执行 过程中,所述方法还包括将索引文件中的索引块读取到内存緩沖池中,在所 述緩沖池中对索引数据进行操作。
13、 根据权利要求12所述的方法,其特征在于,按照最近最少使用算法 对緩沖池中的緩存块进行替换。
14、 根据权利要求ll所述的方法,其特征在于,所述数据管理平台包括应 用接口、模式管理模块、数据管理模块、索引管理模块和操作系统接口,所述 应用接口,用于向应用模块提供数据访问接口 ,接收应用模块发出的数据访问请求;模式管理模块对配置数据进行模式操作;数据管理才莫块对应用数据进行 数据操作;索引管理模块对索引数据进行索引操作;操作系统接口向模块管理模块、数据管理模块、索引管理模块提供操作系统提供的文件访问接口和/或内 存访问接口 。
15、 根据权利要求14所述的方法,其特征在于,所述数据管理平台根据数据访问请求通过数据访问接口管理和/或访问配置数据、索引数据、应用数据。
16、 根据权利要求15所述的方法,其特征在于,所述数据访问接口包括下 述函数其中之一,或其任意组合动态/静态应用创建函数、动态/静态应用打 开/关闭函数、表创建函数、索引创建函数、数据检索函数、数据添加函数、数 据删除函数和数据更新函数。
17、 根据权利要求16所述的方法,其特征在于,所述数据访问接口函数由 模式管理模块、索引管理模块、数据管理模块提供的操作组合而成。
18、 一种数据访问系统,其特征在于,包括应用模块和资源受限设备, 所述应用模块,其由资源受限设备的数据管理平台的数据访问接口生成,并向资源受限设备的数据管理平台发送数据访问请求,接收所述数据管理平台 的操作结果;所述资源受限设备包括数据管理平台,所述数据管理平台包括应用接口 、 模式管理模块、数据管理模块、索引管理模块和操作系统接口,所述应用接口,用于向应用模块提供数据访问接口;接收应用模块发出的 数据访问请求;所述模式管理模块,用于管理配置数据,所述配置数据包括应用模块下所 有应用数据集合、索引的配置信息以及该应用模块自身的配置信息;所述模式 管理模块还用于统一定义配置数据的存储结构,并根据数据访问请求对配置数 据进行模式操作,所述模式操作包括生成配置信息、根据数据管理模块和/或索 引管理模块的操作结果添加、删除或更新配置信息,并根据数据访问请求获取 应用数据集合和/或索引的配置信息,供数据管理模块和/或索引管理模块使用;所述索引管理模块,用于管理索引数据,所述索引数据用于加速定位应用 数据在应用数据集合中的位置,索引数据按照索引算法进行存储;所述索引管 理模块通过该索引算法管理索引数据,并根据数据访问请求对索引数据进行索 引操作,所述索引操作包括生成索引数据、根据数据管理模块的操作结果添加、 删除或更新索引数据,以及根据索引算法查找索引数据获得数据位置信息,供数据管理模块使用;所述数据管理模块,用于管理应用数据,数据管理模块统一定义应用数据 的存储结构,并根据数据访问请求对应用数据进行数据操作,所述数据操作包 括添加、删除、更新或检索应用数据;所述操作系统接口,用于为模块管理模块、数据管理模块、索引管理模块 提供操作系统提供的文件访问接口和/或内存访问接口 ,使模块管理模块访问配 置数据,使数据管理模块访问应用数据,使索引管理模块访问索引数据。
全文摘要
本发明提供了一种资源受限设备和数据访问方法,能够对数据的存储进行统一管理,同时为应用模块提供一套数据存取访问机制,从而解决现有技术中资源受限设备上数据访问困难、访问效率低下、应用模块可重用性差等问题,增强应用模块的可移植性。所述资源受限设备包括数据管理平台,所述数据管理平台包括应用接口、模式管理模块、数据管理模块、索引管理模块和操作系统接口。本发明实施例通过在资源受限设备上增加数据管理平台,使数据的物理存储独立化,增加了应用模块的可移植性。
文档编号G06F17/30GK101110026SQ200710119959
公开日2008年1月23日 申请日期2007年8月3日 优先权日2007年8月3日
发明者新 叶, 翔 高 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1