数据存储控制方法

文档序号:6471981阅读:260来源:国知局
专利名称:数据存储控制方法
技术领域
本发明涉及数据存储管理技术,尤其是涉及一种优化存储空间分配的数据存储控
制方法。
背景技术
随着数据处理技术和网络技术的飞速发展,在对大容量和逻辑关系复杂的数据进 行处理时候,为加快数据处理速度,对数据的存储也提出了一定的要求。 以一个运营网络游戏的服务器为例,在游戏里的大厅,有进入各种频道选择(大 分类),各个频道下有各种空间(对应于具体的游戏室)的选择(小分类),而这些大分类 和小分类又可以在任何时刻会被创建或释放,故频道信息、游戏室信息等数据存在较为复 杂的逻辑关系和层次关系,且数据量巨大;同时,服务器处理各种数据的速度影响了该服务 器的访问速度,因此,对于服务器而言,值得我们考虑如何在内存中有效的组织这些数据, 以优化服务器的内部资源,更好的发挥数据处理性能。

发明内容
本发明的目的是提出一种数据存储控制方法,通过优化存储空间分配来达到优化 数据存储速度,提高系统数据处理能力的目的。 为解决本发明的技术问题,本发明公开一种数据存储控制方法,包括 将存储器初始化,确定组的分类并建立组链表,以及按给定的空间块数量上限将
空间数组下标压入数据栈之中; 当创建一个空间块时,从数据栈中弹出一个空间块号,把数据信息写入该空间块 号对应的空间块,并将空间块号插入对应组的空间链表; 当注销一个空间块时,从该空间块所属组的空间链表中拆下该空间块对应的空间 块号,并将该空间块号压入至于数据栈中。 优选的,每个空间块有一个指向下一个空间块的指针,属于同一个组的空间块依 靠该指针组成单向链表挂靠在隶属的组中。 优选的,空间链表是由隶属同一个组的所有空间块对应的空间块号按号码大小顺 序所组成。 优选的,组的分类信息在配置文件中体现。
与现有技术相比,本发明具有如下有益效果 本发明提供了一种在处理多种类多层次数据的一种管理方案,通过在将闲置未使 用的空间块对应的空间块号全部压入数据栈中,当系统需要创建或注销一个空间块时,采 取压入或弹出数据栈的方式来获取指向一个空间块的空间块号,从而简化对存储空间分配 的处理程序,对于多种类多层次的数据管理提供了较好的解决方案,有利于系统资源,提高 数据处理速度和数据处理能力。


图1是本发明的实现流程示意图;
图2是本发明中存储空间的逻辑结构图;
图3是本发明创建空间块的逻辑示意图;
图4是本发明注销空间块的逻辑示意图。
具体实施例方式
在大型、高性能的数据处理系统中,存在不同种类的存储空间,而不同种类的存储 空间下又存在不同层次的存储空间,并且在数据处理应用过程中,还需要对这些不同种类 的存储空间或者不同层次的存储空间进行实时创建或释放,因此,存储空间是否能够有效、 快速的进行分配,将直接影响了数据处理速度和数据处理能力。 有鉴于此,本发明一种基于优化存储空间分配的数据存储控制方法,其是在初始
化时把空间块号(空间数组下标)全部压入一个数据栈中;当用户需要创建一个空间块时,
从数据栈中弹出一个空间块号;当用户注销或删除一个空间块时,就把该空间块号压入数
据栈中,简化对存储空间分配的处理。 如图1所示,本发明的包括如下实现步骤 步骤S1:系统初始化。 结合图2所示,所有空间块的分配在同一个存储器中,每个空间块都属于一个固 定的组,各个组的信息构成一个组链表;因此,组是固定的,组可以在配置文件中体现;空 间块归属与组,由于空间块是动态创建的,每个组中的空间块数量也没有限制,所以不能直 接为每个组分配空间块。故系统初始化,先分配足够空间块,然后把所有空间块的空间块号 压入数据栈中。并且,每个组的空间链表仅为保存空间块号的链表;每个空间块都有一个指 向下一个空间块的指针,属于同一个组的空间块就依靠这个指针组成单向链表挂靠在隶属 的组中。 步骤S2 :检测系统命令,当接收到创建一个空间块的命令时,转入步骤S3,当接收 到注销一个空间块的命令时,转入步骤S6。 结合图3所示,步骤S3至步骤S5是如何创建一个空间块的处理过程。 步骤S3 :从数据栈中弹出一个空间块号,该空间块号也可对应一个指向特定存储
地址(由步骤Sl在系统初始化时所分配)的指针。 步骤S4 :根据这个空间块号或其对应的指针找到对应的空间块,把数据信息写入 该空间块。 步骤S5 :把空间块号按照号码由小到大顺序插入对应组的空间链表中,同时维护 分类索引信息。 至于一个空间块隶属于哪个组,由步骤Sl初始化时根据数据类型、数据应用方式 或其他策略进行分组;在步骤S5中,将创建的空间块所欲存储数据按步骤Sl分组时采取的 相同策略,即可知道创建的空间块对应于哪个组,并在写入数据时将该空间块的分类索引 信息维护成与其隶属组的分类索引信息相匹配。 比如,在一个游戏服务器中,在初始化时根据配置文件信息,将存储器分成n个空 间块,且所有块号均压入了一个数据栈,同时,根据游戏服务器所运营游戏种类,存储理不同游戏种类的数据的存储空间划分成一个组,故每个组分别一个游戏种类对应。当系统需 要为游戏A创建一个游戏室时,就需要为该游戏室分配一个用于存储数据的空间块;此时,
从数据栈中弹出一个指向特定位置的空间块的空间块号,将该空间块号插入至该游戏A对 应的组中,使该空间块隶属于该游戏A对应的组。 结合图4所示,步骤S6至步骤S8是如何注销一个空间块的处理过程,其是与创建 一个空间块的过程的逆操作。 步骤S6 :当需要注销隶属于某个组的一个空间块时,系统从该组的空间链表中拆 下该空间块号。 步骤S7 :移出该空间块中的数据。 步骤S8 :把该空间块号压入至于数据栈中。 总之,本发明提供了一种在处理多种类多层次数据的一种管理方案,通过在将闲 置未使用的空间块(其还为明确隶属于哪个组)对应的空间块号全部压入数据栈中,当系 统需要创建或注销一个空间块时,采取压入或弹出数据栈的方式来获取指向一个空间块的 空间块号,从而简化对存储空间分配的处理程序,对于多种类多层次的数据管理提供了较 好的解决方案,有利于系统资源,提高数据处理速度和数据处理能力。
权利要求
一种数据存储控制方法,其特征在于,包括将存储器初始化,确定组的分类并建立组链表,以及按给定的空间块数量上限将空间数组下标压入数据栈之中;当创建一个空间块时,从数据栈中弹出一个空间块号,把数据信息写入该空间块号对应的空间块,并将空间块号插入对应组的空间链表;当注销一个空间块时,从该空间块所属组的空间链表中拆下该空间块对应的空间块号,并将该空间块号压入至于数据栈中。
2. 根据权利要求1所述数据存储控制方法,其特征在于,每个空间块有一个指向下一 个空间块的指针,属于同一个组的空间块依靠该指针组成单向链表挂靠在隶属的组中。
3. 根据权利要求1所述数据存储控制方法,其特征在于,空间链表是由隶属同一个组 的所有空间块对应的空间块号按号码大小顺序所组成。
4. 根据权利要求1所述数据存储控制方法,其特征在于,组的分类信息体现在配置文件。
全文摘要
本发明公开一种数据存储控制方法,包括将存储器初始化,确定组的分类并建立组链表,以及将按给定的空间块数量上限将空间数组下标压入数据栈之中;当创建一个空间块时,从数据栈中弹出一个空间块号,把数据信息写入该空间块号对应的空间块,并将空间块号插入对应组的空间链表;当注销一个空间块时,从该空间块所属组的空间链表中拆下该空间块对应的空间块号,并将该空间块号压入至于数据栈中。本发明简化了对存储空间分配的处理程序,对于多种类多层次的数据管理提供了较好的解决方案,有利于系统资源,提高数据处理速度和数据处理能力。
文档编号G06F12/06GK101763310SQ200810241809
公开日2010年6月30日 申请日期2008年12月23日 优先权日2008年12月23日
发明者殷小兰 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1