预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113849309A(43)申请公布日2021.12.28(21)申请号202111129306.3(22)申请日2021.09.26(71)申请人北京元年科技股份有限公司地址100191北京市海淀区知春路68号领航科技大厦三层(72)发明人屈恩(74)专利代理机构北京汇知杰知识产权代理有限公司11587代理人李洁董江虹(51)Int.Cl.G06F9/50(2006.01)权利要求书2页说明书8页附图5页(54)发明名称一种业务对象的内存分配方法以及装置(57)摘要本发明提供了一种业务对象的内存分配方法、装置、计算机设备以及存储介质,该方法包括:通过线程本地内存池或者全局内存池创建业务对象内存池;在所述业务对象内存池中为业务对象分配第一内存块;在所述第一内存块中构造所述业务对象,其中,所述业务对象关联有辅助类对象;在所述业务对象接收到所述辅助类对象的内存分配请求的情况下,通过遍历所述第一内存块的前驱内存块确定目标内存块;在所述目标内存块中构造所述辅助类对象。解决了现有的内存池管理机制针对多维数据库的业务对象进行内存管理的时候往往系统调用次数过多,导致性能开销大的技术问题。CN113849309ACN113849309A权利要求书1/2页1.一种业务对象的内存分配方法,其特征在于,所述方法包括:通过线程本地内存池或者全局内存池创建业务对象内存池;在所述业务对象内存池中为业务对象分配第一内存块;在所述第一内存块中构造所述业务对象,其中,所述业务对象关联有辅助类对象;在所述业务对象接收到所述辅助类对象的内存分配请求的情况下,通过遍历所述第一内存块的前驱内存块确定目标内存块;在所述目标内存块中构造所述辅助类对象。2.根据权利要求1所述的方法,其特征在于,所述前驱内存块至少包括第二内存块,其中,通过遍历所述第一内存块的前驱内存块确定目标内存块的步骤包括:将所述第二内存块的剩余可用内存与所述内存分配请求进行匹配;在匹配成功的情况下,将所述第二内存块确定为所述目标内存块。3.根据权利要求2所述的方法,其特征在于,在匹配失败的情况下,所述方法还包括:统计所述第二内存块匹配的失败次数;在所述失败次数超过预设次数的情况下,获取到所述第二内存块的前驱内存块第三内存块;通过所述第三内存块确定所述目标内存块。4.根据权利要求3所述的方法,其特征在于,所述第一内存块包括最新内存块指针,其中,在获取不到所述第二内存块的前驱内存块的情况下,所述方法还包括:判断所述最新内存块指针指向的内存块的容量是否小于预设字节;在小于预设字节的情况下,从所述线程本地内存池或者所述全局内存池中为所述业务对象内存池确定分配新的内存块,并且将所述新的内存块的容量调整为所述最新内存块指针指向的内存块的容量的预设倍数,控制将所述第一内存块的最新内存块指针指向所述新的内存块,根据所述新的内存块确定所述目标内存块;在不小于预设字节的情况下,从所述线程本地内存池或者所述全局内存池中为所述业务对象内存池确定分配新的内存块,控制将所述最新内存块指针指向的内存块的容量确定为所述新的内存块的容量,并且将所述第一内存块的最新内存块指向所述新的内存块,根据所述最新的内存块确定所述目标内存块。5.根据权利要求1所述的方法,其特征在于,在所述目标内存块中构造所述辅助类对象之后,所述方法还包括:检测到所述业务对象的生命周期结束;遍历释放所述业务对象内存池中的所有内存块。6.根据权利要求5所述的方法,其特征在于,遍历释放所述业务对象内存池中的所有内存块的步骤包括:将所述业务对象内存池中的内存块释放至所述线程本地内存池;在所述线程本地内存池的容量超过预设容量的情况下,将所述对象内存池中的内存块释放至所述全局内存池。7.一种业务对象的内存分配装置,其特征在于,所述装置包括:创建单元,用于通过线程本地内存池或者全局内存池创建业务对象内存池;分配单元,用于在所述业务对象内存池中为业务对象分配第一内存块;2CN113849309A权利要求书2/2页第一构造单元,用于在所述第一内存块中构造所述业务对象,其中,所述业务对象关联有辅助类对象;确定单元,用于在所述业务对象接收到所述辅助类对象的内存分配请求的情况下,通过遍历所述第一内存块的前驱内存块确定目标内存块;第二构造单元,用于在所述目标内存块中构造所述辅助类对象。8.根据权利要求7所述的装置,其特征在于,所述前驱内存块至少包括第二内存块,其中,所述确定单元包括:匹配模块,用于将所述第二内存块的剩余可用内存与所述内存分配请求进行匹配;确定模块,用于在匹配成功的情况下,将所述第二内存块确定为所述目标内存块。9.一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机指令,所述计算机指令在由所述