当前位置: 首页 > 专利查询>王瑞明专利>正文

应用于大数据的内存管理方法技术

技术编号:20866217 阅读:86 留言:0更新日期:2019-04-17 09:17
应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该参数可以在服务器中根据需要来设置。

【技术实现步骤摘要】
应用于大数据的内存管理方法
本专利技术涉及应用于大数据的内存管理方法。
技术介绍
随着互联网、社交网络、物联网的快速发展,世界上每天都会产生大量的数据。例如,对于物联网来说,所使用的基本部件传感器,每时每刻都在采集着周围环境中的数据。无论是从数据的规模量还是从数据的增速度来看,传统的解决方案无法在可以容忍的时间内搜集、存储和处理这类数据,大数据技术就是为应对这样的需求产生的。关系型数据库作为传统的数据存储方式,可以高效地存储和处理结构化数据,但是不适合存储非结构化、半结构化数据。虽然可以将非结构化、半结构化数据存储到关系型数据库中,但是在分析数据的时候性能极其低下,会浪费较多的时间。随着网络带宽的总体提升,声音、图片、视频等非结构化数据在网络数据中占据的比例越来越大,另外数据的种类也越来越多。传统的数据存储技术面临挑战,而大数据技术可以高效地处理非结构化数据。数据的处理方式相对于传统的数据处理方式,大数据是对所有数据做分析处理。而大数据的设计目标就是针对PB级的数据量,具有算法上的天生优越性,理论上大数据的存储能力和计算能力可以做到无限扩展。数据的分析,是对分布式数据库中的数据,提取计算出比较明显的数据特征,对计算节点的内存会形成较大的压力。目前对内存的处理方法是,在内存中设置多个内存队列,每个内存队列中的数据项大小相同,但不同队列之间的数据项大小不同,从而能够为不同大小的数据内容,提供合适大小的存储空间。现有技术中,在很多情况下需要查询各个内存队列的使用情况(例如是否还有空闲空间能容纳新的数据项),目前采用的做法是设置了一个内存队列使用情况的表格,通过查询这个表格来获取各个内存队列的使用情况。由于这类查询请求非常频繁,例如每当有新数据项需要存储空间时,就需要查询。现有的查询方法需要消耗的计算资源比较大。
技术实现思路
本专利技术的目的是提供一种能够减低计算资源消耗的查询内存使用情况的方法。应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该参数可以在服务器中根据需要来设置;步骤2:在一个内存队列内部将内存对列划分为大小一样的块,这个块被称为内存块,不同内存队列所划分的内存块的大小是不同的,但是每个内存块的大小都是,其中n是大于等于0的整数,n的取值有多种方式,可以根据不同的需要来选择;步骤4:设置内存块大小指示字段和内存块空闲指示字段,上述两个字段具有相同的比特数M,M=步骤3中的最大值-最小值+1;步骤5:如果步骤2中,具有n=k的取值,则在内存块大小指示字段的第k-最小值位设置为1;如果没有n=k的取值,则第k位-最小值位的取值为0;步骤6:如果n=k的情况下,没有设置对应大小的内存块,则内存块空闲指示字段的第k-最小值位设置为0,如果n=k的情况下,设置有对应大小的内存块,则还需要判断对应内存队列是否空闲,如果空闲则将内存块空闲指示字段的第k-最小值位设置为1,否则设置为0;步骤7:当需要查询内存块是否空闲时,根据内存块大小指示字段和内存块空闲指示字段就能快速获得结果。应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该参数可以在服务器中根据需要来设置,其中,N要满足以下条件:。步骤2:在一个内存队列内部将内存对列划分为大小一样的块,这个块被称为内存块,不同内存队列所划分的内存块的大小是不同的,但是每个内存块的大小都是,其中n是大于等于0的整数,n的取值有多种方式,可以根据不同的需要来选择;步骤3:根据步骤2中n的取值,计算出n的最小值和最大值;步骤4:设置内存块大小指示字段和内存块空闲指示字段,上述两个字段具有相同的比特数M,M=步骤3中的最大值-最小值+1;步骤5:如果步骤2中,具有n=k的取值,则在内存块大小指示字段的第k-最小值位设置为1;如果没有n=k的取值,则第k位-最小值位的取值为0;步骤6:如果n=k的情况下,没有设置对应大小的内存块,则内存块空闲指示字段的第k-最小值位设置为0,如果n=k的情况下,设置有对应大小的内存块,则还需要判断对应内存队列是否空闲,如果空闲则将内存块空闲指示字段的第k-最小值位设置为1,否则设置为0;步骤7:当需要查询内存块是否空闲时,根据内存块大小指示字段和内存块空闲指示字段就能快速获得结果。本专利技术的专利技术点在于:1)设置了内存块大小指示字段和内存块空闲指示字段;2)将内存块大小都设置为,从而可以利用2进制字段来表征相关信息;3)供了2种算法,能够使得只通过两个字段而不需要查询复杂的表格就能获知内存队列中内存块大小的情况,以及内存块是否空闲的情况。本专利技术的技术效果在于:本专利技术首先设置内存块大小为,然后就可以用二进制数组来表征内存块,以及内存块的是否有空闲,然后当需要查询内存块使用情况时,只需要查询内存块大小指示字段和内存块空闲指示字段就能获得所需结果。具体实施方式实施例1应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该参数可以在服务器中根据需要来设置;步骤2:在一个内存队列内部将内存对列划分为大小一样的块,这个块被称为内存块,不同内存队列所划分的内存块的大小是不同的,但是每个内存块的大小都是,其中n是大于等于0的整数,n的取值有多种方式,可以根据不同的需要来选择,方式1),可以是连续取值,例如5-10,对应的内存块的大小是32B,64B,128B,256B,512B,1024B。或者方式2)还可以根据实际发生的业务中最大可能数据块的大小来设定,例如设置的内存块的大小是16B,64B,256B,512B,1024B。不同大小的内存块用于容纳与之匹配的数据项。例如,数据项大小为100B,则应该放到大小为128B的内控块中,这样能够节省存储空间。步骤3:根据步骤2中n的取值,计算出n的最小值和最大值。在上面的方式1)中最小值是5,最大值是10;方式2)中最小值是4,最大值是10。步骤4:设置内存块大小指示字段和内存块空闲指示字段,上述两个字段具有相同的比特数M,M=步骤3中的最大值-最小值+1;步骤5:如果步骤2中,具有n=k的取值,则在内存块大小指示字段的第k-最小值位设置为1;如果没有n=k的取值,则第k位-最小值位的取值为0。还是以步骤2中的方式1)例子来说明,n的取值为5-10,最小值为5,最大值为10,则内存块大小指示字段有6位,具体为111111。步骤6:如果n=k的情况下,没有设置对应大小的内存块,则内存块空闲指示字段的第k-最小值位设置为0,如果n=k的情况下,设置有对应大小的内存块,则还需要判断对应内存队列是否空闲,如果空闲则将内存块空闲指示字段的第k-最小值位设置为1,否则设置为0。例如,还是以上面的方式1)例子来说明。n=5-7的内存块队列是不满的,n=8-10是满的,则内存块空闲指示字段=111000。步骤7:当需要查询内存块是否空闲时,根据内存块大小指示字段和内存块空闲指示字段就能快速获得结果。例如有一个新的数据项需要存储,该数据项的的大小为30B,则通过内存块大小指示字段了解到最合适的内存本文档来自技高网
...

【技术保护点】
1.应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该参数可以在服务器中根据需要来设置;步骤2:在一个内存队列内部将内存对列划分为大小一样的块,这个块被称为内存块,不同内存队列所划分的内存块的大小是不同的,但是每个内存块的大小都是

【技术特征摘要】
1.应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该参数可以在服务器中根据需要来设置;步骤2:在一个内存队列内部将内存对列划分为大小一样的块,这个块被称为内存块,不同内存队列所划分的内存块的大小是不同的,但是每个内存块的大小都是,其中n是大于等于0的整数,n的取值有多种方式,可以根据不同的需要来选择;步骤4:设置内存块大小指示字段和内存块空闲指示字段,上述两个字段具有相同的比特数M,M=步骤3中的最大值-最小值+1;步骤5:如果步骤2中,具有n=k的取值,则在内存块大小指示字段的第k-最小值位设置为1;如果没有n=k的取值,则第k位-最小值位的取值为0;步骤6:如果n=k的情况下,没有设置对应大小的内存块,则内存块空闲指示字段的第k-最小值位设置为0,如果n=k的情况下,设置有对应大小的内存块,则还需要判断对应内存队列是否空闲,如果空闲则将内存块空闲指示字段的第k-最小值位设置为1,否则设置为0;步骤7:当需要查询内存块是否空闲时,根据内存块大小指示字段和内存块空闲指示字段就能快速获得结果。2.应用于大数据的内存管理方法,包括:步骤1:在分布式数据库程序启动时,分配N个初始内存队列,每个内存队列的大小是相同的,例如是1M,该...

【专利技术属性】
技术研发人员:王瑞明
申请(专利权)人:王瑞明
类型:发明
国别省市:北京,11

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

1