一种内存管理方法

文档序号:10697578阅读:369来源:国知局
一种内存管理方法
【专利摘要】本发明公开了一种内存管理方法,包含以下步骤:S1,根据接入反射内存实时网络的各个节点系统间所传输数据的接口定义定制生成一个全局变量表;S2,将反射内存实时网络上所传输的数据按照固定的格式生成一条条消息,存放在所述全局变量表中;S3,按照消息在所述全局变量表中的顺序及消息长度,生成每条消息在实时网络内存中的具体存放地址,使其在内存中依次排列;S4,在使用时,通过消息的存放地址、源、目的及偏移值选择需要输出的数据消息;S5,当实时网络中需要增加传输的消息时,在所述全局变量表中现有消息的后面添加新增消息即可。本发明的有益效果在于:节省了发射内存实时网络的内存空间,解决了反射内存实时网络内存空间重叠覆盖的问题。
【专利说明】
一种内存管理方法
技术领域
[0001]本发明涉及网络通信技术领域,具体涉及一种内存管理方法。
【背景技术】
[0002]反射内存实时网络是一种基于高速网络的共享存储器技术的实时网络。在每个需要实时通信的节点上插入VMIC反射内存卡,每块反射内存卡上有自己独立的局部内存,它通过局部内存映射将网卡上的局部内存映射到主机内存,用户读写网卡上的数据就如同读写主机内存上的数据一样快速、方便。同时,每块VMIC反射内存卡又通过网络内存映射,将分布在节点卡上的局部内存映射到一个虚拟的全局内存,即每个节点在写入本地节点卡的数据同时也写入所有其它节点卡的内存,这样,用户对本地节点内存的读写相当于对全局内存进行读写,而这个全局内存是所有分布节点都可共享的,从而实现了分布节点间的实时数据通信。
[0003]通常会人为对内存空间进行分配,各节点在各自分配的内存空间内完成消息的读写。这种方法不但会造成内存空间浪费,而且也不利于扩展,同时还会有内存空间重叠引起数据错乱的风险。

【发明内容】

[0004]本发明的目的是提供一种内存管理方法,以解决或至少减轻【背景技术】中所存在的至少一处的问题。
[0005]本发明采用的技术方案是:提供一种内存管理方法,包含以下步骤:SI,在反射内存实时网络中内置一个全局变量表,所述全局变量表是根据接入反射内存实时网络的各个节点系统间所传输数据的接口定义定制生成;S2,将反射内存实时网络上所传输的数据按照固定的格式生成一条条消息,存放在所述全局变量表中,所述消息包含源、目的、偏移值;S3,按照消息在所述全局变量表中的顺序及消息长度,生成每条消息在实时网络内存中的具体存放地址,使其在内存中依次排列;S4,在使用时,通过消息的存放地址、源、目的及偏移值选择需要输出的数据消息;S5,当实时网络中需要增加传输的消息时,在所述全局变量表中现有消息的后面添加新增消息即可。
[0006]优选地,所述步骤S2中的消息还包含序号、名称、变量名、长度、数据类型及数据说明。
[0007]本发明的有益效果在于:节省了发射内存实时网络的内存空间,增加了网络数据传输量;该方法便于扩展,同时扩展时不影响现有网络数据的传输;规范了反射内存实时网络的内存中消息存储的格式,便于使用者对网络数据的检查,定位,解决了反射内存实时网络内存空间重叠覆盖的问题。
【附图说明】
[0008]图1是本发明一实施例的内存管理方法的流程图。
[0009]图2是本发明一实施例的内存管理方法的全局变量表示意图。
【具体实施方式】
[0010]为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。
[0011]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底” “内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
[0012]本发明的原理是在反射内存实时网络中内置一个全局变量表,该全局变量表根据接入反射内存实时网络的各个节点系统间所传输数据的接口定义定制生成。将反射内存实时网络上所传输的数据按照固定的格式生成一条条消息,存放在全局变量表中。按照消息在全局变量表中的顺序及消息长度,生成每条消息在实时网络内存中的具体存放地址,使其在内存中依次排列,首尾相接,最大程度的节省内存空间。
[0013]在使用时,用户通过源、目的、偏移值来选择需要传输的数据消息。同时可以根据全局变量表中的内容方便的查看各个网络节点间的数据交互情况。当实时网络中需要增加传输的消息时,只要在全局变量表中现有消息的后面添加新增消息即可,不会影响现有消息的使用。
[0014]如图1、图2所示,一种内存管理方法,包含以下步骤:
[0015]SI,在反射内存实时网络中内置一个全局变量表,全局变量表是根据接入反射内存实时网络的各个节点系统间所传输数据的接口定义定制生成。
[0016]例如,在本实施例中,假设网络中有三个节点,节点1、节点2和节点3。其中,节点I向节点2和节点3发送高度信息,节点2向节点I和节点3发送速度信息。生成的全局变量表中就含有2条消息,消息I为高度,消息2为速度。
[0017]S2,将反射内存实时网络上所传输的数据按照固定的格式生成一条条消息,存放在全局变量表中,本实施例中的消息包含序号、名称、变量名、偏移值、长度、源、目的、数据类型及数据说明。其中,序号为本条消息在全局变量表中的序列号;名称为本条消息的中文名称;变量名为本条消息数据在程序中所使用的名称;偏移值为本条消息数据在实时网络内存中的实际存储地址;长度为本条消息数据的有效长度;源,即本条消息数据的写入节点为源节点;目的,即本条消息数据的读取节点为目的节点;数据类型为本条消息数据的数据类型;数据说明为本来消息数据的详细数据说明。
[0018]在本实施例中,将步骤SI中的两条消息按照序号、名称、变量名、偏移值、长度、源、目的、数据类型及数据说明的格式放入全局变量表中。全局变量表中的首条消息的偏移值从地址O X OOOO开始,第二条的消息偏移值为第一条消息的偏移值加上第一条消息的长度,后面的消息偏移值依次类推。
[0019]S3,按照消息在全局变量表中的顺序及消息长度,生成每条消息在实时网络内存中的具体存放地址,使其在内存中依次排列。
[0020]消息在反射内存实时网络实际内存中的存储地址与全局变量表中一致,其优点在于,消息在内存中依次排列,首尾相接,可以最大程度的节省内存空间。
[0021]S4,在使用时,通过消息的存放地址、源、目的及偏移值选择需要输出的数据消息。具体为,通过板卡自带的接口函数,调用全局变量表中规划的消息偏移值及源,目的等信息,可完成消息的收发。
[0022]S5,当实时网络中需要增加传输的消息时,在所述全局变量表中现有消息的后面添加新增消息即可。
[0023]最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种内存管理方法,其特征在于,包含以下步骤: SI,在反射内存实时网络中内置一个全局变量表,所述全局变量表是根据接入反射内存实时网络的各个节点系统间所传输数据的接口定义定制生成; S2,将反射内存实时网络上所传输的数据按照固定的格式生成一条条消息,存放在所述全局变量表中,所述消息包含源、目的、偏移值; S3,按照消息在所述全局变量表中的顺序及消息长度,生成每条消息在实时网络内存中的具体存放地址,使其在内存中依次排列; S4,在使用时,通过消息的存放地址、源、目的及偏移值选择需要输出的数据消息; S5,当实时网络中需要增加传输的消息时,在所述全局变量表中现有消息的后面添加新增消息即可。2.如权利要求1所述的内存管理方法,其特征在于:所述步骤S2中的消息还包含序号、名称、变量名、长度、数据类型及数据说明。
【文档编号】G06F12/0813GK106066830SQ201610374469
【公开日】2016年11月2日
【申请日】2016年5月31日 公开号201610374469.0, CN 106066830 A, CN 106066830A, CN 201610374469, CN-A-106066830, CN106066830 A, CN106066830A, CN201610374469, CN201610374469.0
【发明人】李亮, 郭文杰, 辛国华, 徐娜, 李贞 , 王昆睿
【申请人】中国航空工业集团公司西安飞机设计研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1