一种动态内存分配方法及系统技术方案

技术编号:26170315 阅读:46 留言:0更新日期:2020-10-31 13:37
本公开提出了一种动态内存分配方法及系统,包括:串口服务器上电开机进行内存分配:读取每路串口‑socket的波特率并计算历史数据中发送该波特率相关的数据量的加权平均值,计算每路发送数据量的加权平均值的占比,获得每一路串口‑socket的内存分配值;之后串口服务器运行时进行内存分配:按照时间间隔进行动态的调整每一路串口‑scoket的内存值。通过算法动态调整每一路在有限内存范围内的占比,达到减少内存碎片化和提高内存利用率的目的。

A dynamic memory allocation method and system

【技术实现步骤摘要】
一种动态内存分配方法及系统
本公开属于内存分配
,尤其涉及一种动态内存分配方法及系统。
技术介绍
本部分的陈述仅仅是提供了与本公开相关的
技术介绍
信息,不必然构成在先技术。随着计算机和互联网的广泛应用,人类产生和创造了爆炸式增长的数据,我们当前处于一个大数据时代,通过大量的数据可以驱动工业向前发展,实现转型升级,从设计到生产,从运维到管理,大数据定义着工业未来。消费领域,购物的淘宝、购票软件等很多充斥着大数据身影的软件服务无处不在,可想而知数据成为工业、消费等领域重要的一环。市场中有很多老旧的嵌入式设备,为了将大量该类设备的数据上传到服务器或云,联网设备显得至为重要。物联网领域的串口服务器设备充当着连接串口和网络的中转角色,为嵌入式设备与网络之间的数据交互提供了便利。运行RTOS的串口服务器设备,面对长时间大量不定长数据的内存需求,对于稳定运行来说,解决内存碎片化问题尤为重要。传统针对内存碎片化问题,主要是使用内存管理算法,如小内存管理算法、slab管理算法、memheap管理算法等等。使用这些内存管理算法可以在一定的程度上本文档来自技高网...

【技术保护点】
1.一种动态内存分配方法,其特征是,包括:/n串口服务器上电开机进行内存分配:读取每路串口-socket的波特率并计算历史数据中发送该波特率相关的数据量的加权平均值,计算每路发送数据量的加权平均值的占比,获得每一路串口-socket的内存分配值;/n之后串口服务器运行时进行内存分配:按照时间间隔进行动态的调整每一路串口-scoket的内存值。/n

【技术特征摘要】
1.一种动态内存分配方法,其特征是,包括:
串口服务器上电开机进行内存分配:读取每路串口-socket的波特率并计算历史数据中发送该波特率相关的数据量的加权平均值,计算每路发送数据量的加权平均值的占比,获得每一路串口-socket的内存分配值;
之后串口服务器运行时进行内存分配:按照时间间隔进行动态的调整每一路串口-scoket的内存值。


2.如权利要求1所述的一种动态内存分配方法,其特征是,所述串口服务器每一次上电工作后基于累积数据传输量和工作时间计算数据传输的实际速率,并记录当前工作的波特率,并将波特率及数据传输速率保存到flash的记录表中。


3.如权利要求1所述的一种动态内存分配方法,其特征是,所述串口服务器运行时按照采样频率记录历史数据,直接在RAM中暂存,该数据量的大小需要满足时间窗口的需求。


4.如权利要求1所述的一种动态内存分配方法,其特征是,内存分配时,对每一路串口-socket的优先级进行定义,内存不足时优先满足高优先级的串口-socket内存需求。


5.如权利要求1所述的一种动态内存分配方法,其特征是,每一路串口-socket分配内存后,对应一个节点,该节点内存有该块内存的相关信息及访问接口,并将该节点挂载链表list上,挂载的顺序从头结点开始优先级依次降低。


6.如...

【专利技术属性】
技术研发人员:古欣王磊井洪业刁志峰邵慧王斌
申请(专利权)人:山东有人信息技术有限公司
类型:发明
国别省市:山东;37

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

1