数据库管理方法技术

技术编号:5504618 阅读:266 留言:0更新日期:2012-04-11 18:40
提供了能够增强存储器管理的方法和系统。以对应于数据库中多个最老记录的数据元素的排序列表来填充高速缓存存储器。在接收到向已满的数据库添加记录的请求后,可检查高速缓存以确定数据库中最老的记录。可删除该记录,并从排序列表中移除高速缓存中对应的数据元素,并将该数据元素与浮动数据元素指针相关联。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及数据库配置及管理,更特别地,涉及一种在数据库修改 期间用于管理存储资源的改进的方法。
技术介绍
存储结构的维护可能需要相当多的处理和存储资源。例如,应用程序可以 从可用资源池中分配存储资源用于执行应用程序。虽然这很便利,但不是所有 的应用程序都能正确地以及时的方式释方J^f使用的资源,从而导致存储空间减 少且性能降低。传统的存储管理系统通过使用所谓的"无用单元收集"技术来回收存储资 源。已知的无用单元收集技术定期地识别那些在未来不大可能被调用的存储资 源,并释放这些资源以供其他进程或应用程序后续使用。遗憾的是,这种自治 的无用单元收集技术由于需要定期地处理资源以便操作,并且在可能需要资源 的时间内暂时冻结所分配的所有资源,故而可能要在性能上承受负面影响。另外,在数据库管理领域,固定大小的数据库可能需要无用单元收錢型 处理以确保在正确有效地删除不必要的记录的同时,可以添加新的记录到数据 库中。遗憾的是,在没有不适当的性能影响的情况下,自动无用单元收集技术 无法提供有效的管理。
技术实现思路
根据一个方面, 一种方法可包括,以指向存储结构中多个记录的多个数据元素填充高速缓存;识别指向存储结构中最老记录的数据项;从存储结构中移 除最忠己录;从高速缓存中移除指向存储结构中最老记录的M元素。另外,该多个f^元素可以包括N个数据元素,存储结构中的多个记录可 以包括存储结构中N个最忠己录,其中N为整数。另外,该方法可以包括,基于存储结构中相关联记录的年龄对高速缓存中 的多个数据元素进行排序;将头指针与指向存储结构中最老记录的数据元素相 关联,其中识别指向存储结构中最老记录的数据元素包括,识别与尾指针相关6联的数据元素;并将尾指针与指向高速缓存中最靳己录的 元素相关联。另外,存储结构中的记录和高速缓存中相关联的数据元素都包括指示记录最近访问时间的时间戳,并且可基于该时间Wf腿多个数据元素进行排序。另外,对所述多个数据元素的排序可以进一步包括在針数据元素中提供指向高速缓存中下一个数据元素的下一指针;并且在每个数据元素中提供指向高速缓存中上一个数据元素的上一指针。另外,从高速缓存中移斷旨向存储结构中最彩己录的数据元素可以进一步 包括,将浮动数据元素指针关联到先前与头指针关联的数据元素,其中浮动数据元素列表维护先前涉及指向存储结构中最老记录的数据元素的存储分配;并 且将头指针与当前与头指针相关联的数据元素中下一指针所引用的数据元素相 关联。另外,填充高速缓存可以进一步包括,确定高速缓存是否已满;确定当前 记录是否比尾指针所弓l用的数据元素更老;以及当确定当前记录比尾指针所弓I 用的数据元素更老的时候,执行下歹臊作将浮动节点指针分配给尾指针所引 用的数据元素;重写尾指针所弓间的数据元素以使其指向当前记录;将尾指针 分配给高速缓存中下一个最新的数据元素;识别由浮动节点指针所引用的数据 元素的排序位置;以及将浮动节点指针所弓阅的 元素插入到高速缓存。另外,识别由浮动节点指针所引用的数据元素的排序位置包括,将由浮动 节点指针所引用的数据元素的时间戳与高速缓存中数据元素的时间謝目比较。另外,该方法可以包括,确定存储结构是否已满;并且当确定存储结构巳 满时,填充高速缓存。另外,该方法可以包括,确定高速缓存是否要被填充;并且当确定高速缓 存要被填充时,填充高速缓存。另外,高速缓存可以包括具有多个数据元素的双向链表,且其中高速缓存 进一步包括浮动数据元素指针,其被配置为弓l用从双向链表中分离的数据元素。另外,确定高速缓存是否要被填充可以包括,确定双向链表是否为空。另外,确定双向链表是否为空,可以包括,对高速缓存存取的次数计数; 并确定计数器存取数目何时是高速缓存中数据元素总数的倍数。另外,该方法可以包括,确定存储结构是否己满;并且当确定存储结构已 满时,确定高速缓存是否要被填充。另外,该方法可以包括,向存储结构添加新记录。 另外,存储结构可以包括数据库。另外,数据库可配置为维护数字权利管理信息,且可以在移动计算设备的 存储器中维护该M库。根据另一方面, 一种方法可以包括,用指向存储结构中多个记录的多个节点填充高速缓存;接收更新来自存储结构的记录的请求;确定要更新的记录的 年龄是否比多个节点中最新节点的年龄新;当确定要更新的记录的年龄不比多 个节点中最新节点的年龄新的时候,确定该多个节点中的节点是否与要删除的 记录相关联。另外,高速缓存可以包括双向链表,其中该多个节点中的^节点都包括 指向下一个最老节点的下一指针和指向下一个最新节点的上一指针。 另外,更新记录的请求可包括,删除记录的请求。另外,该方法可以包括,重写与在与要册鹏记录相关联的节点的上一指针 中标识的节点相关联的下一指针,以使该下一指针指向与要册l滁记录相关联的 节点的下一指针中所标识的节点;重写与在与要删除记录相关联的节点的下--指针中标识的节点相关联的上一指针,以使该上一指针指向与要删除记录相关 联的节点的上一指针中所标识的节点;将与要删除记录相关联的节点添加到浮 动节点列表;并从存储结构中移除要删除的记录。另外,更新记录的请求可以包括修改记录的请求。另外,该方法可以包括重写与在与要册l滁记录相关联的节点的上一指针中 标识的节点相关联的下一指针,以使该下一指针指向与要修改记录相关联的节 点的下一指针中所标识的节点;重写与在与要删除记录相关联的节点的下一指 针中标识的节点相关联的上一指针,以使该上一指针指向与要修改记录相关联 的节点的上一指针中所标识的节点;并将与要修改记录相关联的节点添加到浮 动节点列表。根据本专利技术的又一方面, 一种计算机可读介质,其上存储有可由至少一个 处理器执行的指令序列,可以包括用于接收向数据库添加记录的请求的一条或 多条指令;用于确定数据库是否已满的一条或多条指令;用于识别当确定数据 库已满时、高速缓存中指向数据库中最老记录的数据元素的一条或多条指令; 用于从数据库中移除该最老记录的一条或多条指令;用于移除高速缓存中该己被识别的数据元素的一条或多条指令;以及用于向数据库添加记录的一条或多 条指令。另外,该计算机可读介质可以包括用于确定高速缓存是否要被填充的一条或多条指令;以及用于以指向数据库中对应的多个记录的多个节点来填充高速 缓存的一条或多条指令,其中数据库中对应的多个记录包括数据库中的最老记 录。另外,用于确定高速缓存是否要被填充的一条或多条指令可以进一步包括, 用于确定数据库是否已满的一条或多条指令;以及用于确定高速缓存存取计数 器值是否是高速缓存中节点最大数的倍数的一条或多条指令。根据又另一方面, 一种方法可以包括,接收向节点的排序列表添加节点的 请求,其中节点的排序列表基于与节点相关联的时间戳进行排序,头节点表示 排序列表中最老的节点,尾节点表示排序列表中最新的节点;确定要添加的节 点是否比尾节点老;当确定要添加的节点比排序列表中的尾节点更老时,给尾 节点分配浮动指针;重写尾节点以表示要添加的节点;重写尾指针使其指向排 序列表中的下一个最新节点;识别要在排序列表中添力啲节点的排序位置;以 及在所识别的排序位置将要添加的节点插入到排序列表中。附图说明参考附图,其中具有相同弓间数字标己的元素自始至终表示同样的本文档来自技高网...

【技术保护点】
一种方法,包括: 以指向存储结构中多个记录的多个数据元素来填充高速缓存; 识别指向该存储结构中最老记录的数据元素; 从该存储结构中移除该最老记录;及 从该高速缓存中移除指向该存储结构中最老记录的数据元素。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:M拉基克
申请(专利权)人:索尼爱立信移动通讯股份有限公司
类型:发明
国别省市:SE[瑞典]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1