数据管理方法、装置及计算机可读存储介质制造方法及图纸

技术编号:28131405 阅读:12 留言:0更新日期:2021-04-19 11:54
本发明专利技术公开了一种数据管理方法,包括:获取业务数组和索引数组,其中,所述索引数组保存所述业务数组中的所有空闲元素的索引值;当所述业务数组存在空闲元素的获取需求时,按照预设规则在所述索引数组中申请可分配元素的索引值,并根据所述可分配元素的索引值定位到所述可分配元素在业务数组中的内存;将所述内存作为空闲元素的内存分配给相应的业务使用。本发明专利技术还提供一种数据管理装置及计算机可读存储介质。本发明专利技术提供的数据管理方法,能够高效、快速地查找空闲元素。快速地查找空闲元素。快速地查找空闲元素。

【技术实现步骤摘要】
数据管理方法、装置及计算机可读存储介质


[0001]本专利技术实施例涉及软件开发
,特别涉及一种数据管理方法、装置及计算机可读存储介质。

技术介绍

[0002]现有技术中,查找空闲元素一般采用遍历数组的方式,如图1所示,数组中每个元素定义了一个Valid字段作为该元素的有效性,数组中所有元素的Valid字段初始化为有效,每获取一个空闲元素时,对数组进行遍历,找到Valid字段为有效的元素,取出来后将该元素的Valid字段置为无效。当数组元素较多时,现有技术的这种查找方式效率非常低下。

技术实现思路

[0003]本专利技术实施方式的目的在于提供一种数据管理方法,能够高效、快速地查找空闲元素。
[0004]为解决上述技术问题,本专利技术的实施方式提供了一种数据管理方法,所述方法包括:获取业务数组和索引数组,其中,所述索引数组保存所述业务数组中的所有空闲元素的索引值;当所述业务数组存在空闲元素的获取需求时,按照预设规则在所述索引数组中申请可分配元素的索引值,并根据所述可分配元素的索引值定位到所述可分配元素在业务数组中的内存;将所述内存作为空闲元素的内存分配给相应的业务使用。
[0005]本专利技术的实施方式还提供了一种数据管理装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的数据管理方法的步骤。
[0006]本专利技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述数据管理方法的步骤。
[0007]本专利技术实施方式相对于现有技术而言,采用索引数组与业务数组相结合的方式,通过管理业务数组的索引值来管理空闲元素的分配,通过内部元素的关联关系指向,能够快速的实现空闲节点的资源分配和回收,减少了大量的循环遍历操作,因此,即使在业务数组元素很多的情况下,查找效率也很高。
[0008]优选地,所述方法还包括:当所述内存分配给相应的业务使用完毕后,在所述索引数组中回收所述可分配元素的索引值。
[0009]优选地,在所述获取业务数据和索引数组后,还包括对所述索引数组进行初始化,其中,所述对所述索引数组进行初始化,包括:通过预设的CUR_ID表示所述索引数组中当前可分配元素的索引值,且根据所述CUR_ID可定位到当前可分配元素在所述业务数组的内存;在所述索引数组中,保存所述业务数组中的所有空闲元素的索引值;将所述索引数组中每个元素的数组值定义为64个字节,其中,前32个字节用来储存当前可分配元素的数组值中对应的上一个可分配元素的索引值,后32个字节用来储存当前可分配元素的数组值中对应的下一个可分配元素的索引值;将所述CUR_ID初始化为0。
[0010]优选地,所述按照预设规则在所述索引数组中申请可分配元素的索引值,包括:在所述索引数组中按所述索引数组中可分配元素索引值的排列顺序申请可分配元素的索引值。
[0011]优选地,所述按照预设规则在所述索引数组中申请可分配的元素的索引值,还包括:根据业务需求,在所述索引数组中申请目标索引值。
[0012]优选地,所述在所述索引数组中按所述索引数组中可分配元素索引值的排列顺序申请可分配的元素的索引,包括:步骤a,当所述业务数组中有空闲元素获取需求时,将CUR_ID代表的元素作为当前可分配元素,分配为空闲元素,将所述索引数组中当前可分配元素的数组值中储存的下一个可分配元素的索引值赋值给CUR_ID;步骤b,在所述索引数组中将已经分配出去的元素的数组值设置为无效值,同时将赋值后的CUR_ID所代表的元素的数组值中储存的上一个可分配元素的索引值设置为无效值;步骤c,根据分配得到的空闲元素的索引值定位到所述空闲元素在所述业务数组的内存进行业务操作;步骤d,当有新的空闲元素获取需求时,重复a至c的步骤。
[0013]优选地,所述根据业务需求,在所述索引数组中申请目标索引值,包括:根据业务需求,将目标索引值所代表的目标元素作为当前可分配元素,分配为空闲元素;将所述索引数组中目标元素的数组值中储存的上一个可分配元素的索引值及下一个可分配元素的索引值均设置为无效值;将所述索引数组中,数组值中储存的下一个可分配元素的索引值为目标索引值的,更新为目标元素的数组值所储存的下一个可分配元素的索引值,将所述索引数组中,数组值中储存的上一个可分配元素的索引值为目标索引值的,更新为目标元素的数组值所储存的上一个可分配元素的索引值。
[0014]优选地,所述在所述索引数组中回收所述可分配元素的索引值,包括:当获取到欲回收的指定元素后,获取所述索引数组中当前可分配元素及下一个可分配元素;将当前可分配元素的数组值中储存的下一个可分配元素的索引值与下一个可分配元素的数组值中储存的上一个可分配元素的索引值均更新为指定元素的索引值;将指定元素的数组中储存的上一个可分配元素的索引值更新为当前可分配的元素的索引值,将指定元素的数组中储存的下一个可分配元素的索引值更新为下一个可分配的元素的索引值;根据指定元素的索引值定位到该指定元素在所述业务数组中的内存,并在所述业务数组的内存中清空该指定元素。
附图说明
[0015]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
[0016]图1是现有技术中创建的业务数组的示意图;
[0017]图2是根据本专利技术第一实施方式的数据管理方法的流程示意图;
[0018]图3是根据本专利技术第一实施方式创建的业务数组的示意图;
[0019]图4是根据本专利技术第一实施方式创建的索引数组的示意图;
[0020]图5

图7是根据本专利技术第一实施方式中在所述索引数组中按顺序申请可分配元素的索引值的示例图;
[0021]图8

图9是根据本专利技术第一实施方式中根据业务需求在所述索引数组中申请目标
索引值的示例图;
[0022]图10

图12是根据本专利技术第一实施方式中在所述索引数组中回收可分配元素的索引值的示例图;
[0023]图13是根据本专利技术第二实施方式的数据管理装置的结构示意图。
具体实施方式
[0024]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0025]本专利技术的第一实施方式涉及一种数据管理方法,本实施方式的核心在于,采用索引数组与业务数组相结合的方式,通过索引数组管理业务数组的索引值从而管理空闲元素的分配,通过内部元素的关联关系指向,能够快速的实现空闲节点的资源分配和回收,减少了大量的循环遍历操作。下面对本实施方式的数据管理方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据管理方法,其特征在于,包括:获取业务数组和索引数组,其中,所述索引数组保存所述业务数组中的所有空闲元素的索引值;当所述业务数组存在空闲元素的获取需求时,按照预设规则在所述索引数组中申请可分配元素的索引值,并根据所述可分配元素的索引值定位到所述可分配元素在业务数组中的内存;将所述内存作为空闲元素的内存分配给相应的业务使用。2.根据权利要求1所述的数据管理方法,其特征在于,所述方法还包括:当所述内存分配给相应的业务使用完毕后,在所述索引数组中回收所述可分配元素的索引值。3.根据权利要求2所述的数据管理方法,其特征在于,在所述获取业务数组和索引数组后,还包括对所述索引数组进行初始化,其中,所述对所述索引数组进行初始化,包括:通过预设的CUR_ID表示所述索引数组中当前可分配元素的索引值,且根据所述CUR_ID可定位到当前可分配元素在所述业务数组的内存;在所述索引数组中,保存所述业务数组中的所有空闲元素的索引值;将所述索引数组中每个元素的数组值定义为64个字节,其中,前32个字节用来储存当前可分配元素的数组值中对应的上一个可分配元素的索引值,后32个字节用来储存当前可分配元素的数组值中对应的下一个可分配元素的索引值;将所述CUR_ID初始化为0。4.根据权利要求3所述的数据管理方法,其特征在于,所述按照预设规则在所述索引数组中申请可分配元素的索引值,包括:在所述索引数组中按所述索引数组中可分配元素索引值的排列顺序申请可分配元素的索引值。5.根据权利要求4所述的数据管理方法,其特征在于,所述按照预设规则在所述索引数组中申请可分配的元素的索引值,还包括:根据业务需求,在所述索引数组中申请目标索引值。6.根据权利要求4所述的数据管理方法,其特征在于,所述在所述索引数组中按所述索引数组中可分配元素索引值的排列顺序申请可分配的元素的索引,包括:步骤a,当所述业务数组中有空闲元素获取需求时,将CUR_ID代表的元素作为当前可分配元素,分配为空闲元素,将所述索引数组中当前可分配元素的数组值中储存的下一个可分配元素的索引值赋值给CUR_ID;步骤b,在所述索引数组中将已经分配出去的元素的数组值设置...

【专利技术属性】
技术研发人员:周武卿
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1