[发明专利]一种基于分区设计的内存分配方法和装置在审
| 申请号: | 201910969636.X | 申请日: | 2019-10-12 | 
| 公开(公告)号: | CN110727517A | 公开(公告)日: | 2020-01-24 | 
| 发明(设计)人: | 雷世潘;刘泉辉 | 申请(专利权)人: | 福建顶点软件股份有限公司 | 
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 | 
| 代理公司: | 35219 福州市景弘专利代理事务所(普通合伙) | 代理人: | 林祥翔;徐剑兵 | 
| 地址: | 350003 福建省福州市鼓*** | 国省代码: | 福建;35 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 内存分区 业务请求 预估 性能消耗 多线程 内存块 总容量 系统运行过程 方法和装置 并发访问 分区设计 内存分配 内存使用 内存需求 系统申请 预先设计 资源访问 小内存 一次性 适配 调用 内存 申请 配置 | ||
本发明提供了一种基于分区设计的内存分配方法和装置,所述方法包括以下步骤:预估数据总容量;根据预估的数据总容量请求相适配大小的内存块,并将所述内存块划分为若干内存分区;接收若干业务请求,并配置各业务请求与所述内存分区的对应关系,以使得各业务请求在进行处理时调用自身对应的内存分区进行处理。本申请通过预先设计合适的内存需求大小,一次性直接向系统申请一片连续的大内存,减少了系统运行过程中频繁申请小内存造成的性能消耗,提高了内存使用性能。同时,将业务请求的处理与内存分区相对应,避免了多线程的资源访问竞争,大大降低了多线程并发访问的执行性能消耗。
技术领域
本发明涉及内存设计领域,特别涉及一种基于分区设计的内存分配方法和装置。
背景技术
常见基于内存的数据库设计有多种内存组织方式,一种是碎片化内存,按需实时申请,每个数据对象都是独立的内存单元。另一种是分片化内存,事先设计一组分片,比如1KB、2KB、N(KB)的字节大小,各分片均预先申请一定数量,自己组织管理对象的存储,根据数据对象的大小选择合适的内存分片。
然而,不论何种内存组织方式,通常在进行多线程读写操作时,不可避免的出现访问资源竞争。如图1所示,多个并行处理线程在对相同内存数据库进行读写操作时,为了保证各处理线程之间不会冲突,就需要对内存数据库进行加锁控制,以保证同一块内存在同一时间只有一个线程访问,也就是实现各处理线程对内存的串行化访问,从而避免出现数据脏读、脏写。
现有技术对内存访问的方式存在以下缺点:
(1)对内存数据库的利用效率低。采用碎片化组织方式,系统在运行过程中实时申请或释放内存数据,很容易造成系统内存碎片,从而增加系统内存管理的消耗,造成后续内存分配越来越慢,甚至出现无法分配连续大内存的情况。采用分片化组织方式,由于带有预分配一定量的设计,这在一定程度上减轻了运行过程中频繁申请释放的问题,但仍然有分片不足时重新向系统申请消耗的情况,同时,自己管理分片内存,各分片的数量均衡管理不善可能会造成内存浪费。
(2)内存数据库的并发访问操作性能低。现有技术通过对内存数据库加锁来支持多线程的并发读写访问,会导致读写性能大幅度地降低,当线程数越多,参与锁请求的线程越多,出现抢占和唤醒线程等操作,大大降低了内存数据库的执行性能。
因此,有必要提出一种新的技术方案,以解决上述多线程并发访问时执行性能大幅降低的问题。
发明内容
为此,需要提供一种基于分区设计的内存分配技术方案,用以解决在多线程并发访问内存时执行性能大幅降低的问题。
为实现上述目的,发明人提供了一种基于分区设计的内存分配方法,所述方法包括以下步骤:
预估数据总容量;
根据预估的数据总容量请求相适配大小的内存块,并将所述内存块划分为若干内存分区;
接收若干业务请求,并配置各业务请求与所述内存分区的对应关系,以使得各业务请求在进行处理时调用自身对应的内存分区进行处理。
进一步地,所述“预估数据总容量”包括:
根据业务请求所需的数据总容量的历史数据,来预估当前数据总容量。
进一步地,所述“将所述内存块划分为若干内存分区”包括:
将所述内存块的部分或全部划分为N个内存分区。
进一步地,所述“配置各业务请求与所述内存分区的对应关系,以使得各业务请求在进行处理时调用自身对应的内存分区进行处理”包括:
将各业务请求分配给若干处理线程,通过各处理线程对内存分区进行访问;每一业务请求对应一个处理线程,每一处理线程与一个内存分区相对应。
进一步地,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建顶点软件股份有限公司,未经福建顶点软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910969636.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据分析任务的分配方法
 - 下一篇:一种数据处理方法及相关设备
 





