一種內(nèi)存管理方法
【專利摘要】本發(fā)明公開了一種內(nèi)存管理方法,包含以下步驟:S1,根據(jù)接入反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)系統(tǒng)間所傳輸數(shù)據(jù)的接口定義定制生成一個(gè)全局變量表;S2,將反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)上所傳輸?shù)臄?shù)據(jù)按照固定的格式生成一條條消息,存放在所述全局變量表中;S3,按照消息在所述全局變量表中的順序及消息長度,生成每條消息在實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存中的具體存放地址,使其在內(nèi)存中依次排列;S4,在使用時(shí),通過消息的存放地址、源、目的及偏移值選擇需要輸出的數(shù)據(jù)消息;S5,當(dāng)實(shí)時(shí)網(wǎng)絡(luò)中需要增加傳輸?shù)南r(shí),在所述全局變量表中現(xiàn)有消息的后面添加新增消息即可。本發(fā)明的有益效果在于:節(jié)省了發(fā)射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的內(nèi)存空間,解決了反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存空間重疊覆蓋的問題。
【專利說明】
一種內(nèi)存管理方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種內(nèi)存管理方法。
【背景技術(shù)】
[0002]反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)是一種基于高速網(wǎng)絡(luò)的共享存儲器技術(shù)的實(shí)時(shí)網(wǎng)絡(luò)。在每個(gè)需要實(shí)時(shí)通信的節(jié)點(diǎn)上插入VMIC反射內(nèi)存卡,每塊反射內(nèi)存卡上有自己獨(dú)立的局部內(nèi)存,它通過局部內(nèi)存映射將網(wǎng)卡上的局部內(nèi)存映射到主機(jī)內(nèi)存,用戶讀寫網(wǎng)卡上的數(shù)據(jù)就如同讀寫主機(jī)內(nèi)存上的數(shù)據(jù)一樣快速、方便。同時(shí),每塊VMIC反射內(nèi)存卡又通過網(wǎng)絡(luò)內(nèi)存映射,將分布在節(jié)點(diǎn)卡上的局部內(nèi)存映射到一個(gè)虛擬的全局內(nèi)存,即每個(gè)節(jié)點(diǎn)在寫入本地節(jié)點(diǎn)卡的數(shù)據(jù)同時(shí)也寫入所有其它節(jié)點(diǎn)卡的內(nèi)存,這樣,用戶對本地節(jié)點(diǎn)內(nèi)存的讀寫相當(dāng)于對全局內(nèi)存進(jìn)行讀寫,而這個(gè)全局內(nèi)存是所有分布節(jié)點(diǎn)都可共享的,從而實(shí)現(xiàn)了分布節(jié)點(diǎn)間的實(shí)時(shí)數(shù)據(jù)通信。
[0003]通常會人為對內(nèi)存空間進(jìn)行分配,各節(jié)點(diǎn)在各自分配的內(nèi)存空間內(nèi)完成消息的讀寫。這種方法不但會造成內(nèi)存空間浪費(fèi),而且也不利于擴(kuò)展,同時(shí)還會有內(nèi)存空間重疊引起數(shù)據(jù)錯(cuò)亂的風(fēng)險(xiǎn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種內(nèi)存管理方法,以解決或至少減輕【背景技術(shù)】中所存在的至少一處的問題。
[0005]本發(fā)明采用的技術(shù)方案是:提供一種內(nèi)存管理方法,包含以下步驟:SI,在反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)中內(nèi)置一個(gè)全局變量表,所述全局變量表是根據(jù)接入反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)系統(tǒng)間所傳輸數(shù)據(jù)的接口定義定制生成;S2,將反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)上所傳輸?shù)臄?shù)據(jù)按照固定的格式生成一條條消息,存放在所述全局變量表中,所述消息包含源、目的、偏移值;S3,按照消息在所述全局變量表中的順序及消息長度,生成每條消息在實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存中的具體存放地址,使其在內(nèi)存中依次排列;S4,在使用時(shí),通過消息的存放地址、源、目的及偏移值選擇需要輸出的數(shù)據(jù)消息;S5,當(dāng)實(shí)時(shí)網(wǎng)絡(luò)中需要增加傳輸?shù)南r(shí),在所述全局變量表中現(xiàn)有消息的后面添加新增消息即可。
[0006]優(yōu)選地,所述步驟S2中的消息還包含序號、名稱、變量名、長度、數(shù)據(jù)類型及數(shù)據(jù)說明。
[0007]本發(fā)明的有益效果在于:節(jié)省了發(fā)射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的內(nèi)存空間,增加了網(wǎng)絡(luò)數(shù)據(jù)傳輸量;該方法便于擴(kuò)展,同時(shí)擴(kuò)展時(shí)不影響現(xiàn)有網(wǎng)絡(luò)數(shù)據(jù)的傳輸;規(guī)范了反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的內(nèi)存中消息存儲的格式,便于使用者對網(wǎng)絡(luò)數(shù)據(jù)的檢查,定位,解決了反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存空間重疊覆蓋的問題。
【附圖說明】
[0008]圖1是本發(fā)明一實(shí)施例的內(nèi)存管理方法的流程圖。
[0009]圖2是本發(fā)明一實(shí)施例的內(nèi)存管理方法的全局變量表示意圖。
【具體實(shí)施方式】
[0010]為使本發(fā)明實(shí)施的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行更加詳細(xì)的描述。在附圖中,自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。下面結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。
[0011]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明保護(hù)范圍的限制。
[0012]本發(fā)明的原理是在反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)中內(nèi)置一個(gè)全局變量表,該全局變量表根據(jù)接入反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)系統(tǒng)間所傳輸數(shù)據(jù)的接口定義定制生成。將反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)上所傳輸?shù)臄?shù)據(jù)按照固定的格式生成一條條消息,存放在全局變量表中。按照消息在全局變量表中的順序及消息長度,生成每條消息在實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存中的具體存放地址,使其在內(nèi)存中依次排列,首尾相接,最大程度的節(jié)省內(nèi)存空間。
[0013]在使用時(shí),用戶通過源、目的、偏移值來選擇需要傳輸?shù)臄?shù)據(jù)消息。同時(shí)可以根據(jù)全局變量表中的內(nèi)容方便的查看各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)交互情況。當(dāng)實(shí)時(shí)網(wǎng)絡(luò)中需要增加傳輸?shù)南r(shí),只要在全局變量表中現(xiàn)有消息的后面添加新增消息即可,不會影響現(xiàn)有消息的使用。
[0014]如圖1、圖2所示,一種內(nèi)存管理方法,包含以下步驟:
[0015]SI,在反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)中內(nèi)置一個(gè)全局變量表,全局變量表是根據(jù)接入反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)系統(tǒng)間所傳輸數(shù)據(jù)的接口定義定制生成。
[0016]例如,在本實(shí)施例中,假設(shè)網(wǎng)絡(luò)中有三個(gè)節(jié)點(diǎn),節(jié)點(diǎn)1、節(jié)點(diǎn)2和節(jié)點(diǎn)3。其中,節(jié)點(diǎn)I向節(jié)點(diǎn)2和節(jié)點(diǎn)3發(fā)送高度信息,節(jié)點(diǎn)2向節(jié)點(diǎn)I和節(jié)點(diǎn)3發(fā)送速度信息。生成的全局變量表中就含有2條消息,消息I為高度,消息2為速度。
[0017]S2,將反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)上所傳輸?shù)臄?shù)據(jù)按照固定的格式生成一條條消息,存放在全局變量表中,本實(shí)施例中的消息包含序號、名稱、變量名、偏移值、長度、源、目的、數(shù)據(jù)類型及數(shù)據(jù)說明。其中,序號為本條消息在全局變量表中的序列號;名稱為本條消息的中文名稱;變量名為本條消息數(shù)據(jù)在程序中所使用的名稱;偏移值為本條消息數(shù)據(jù)在實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存中的實(shí)際存儲地址;長度為本條消息數(shù)據(jù)的有效長度;源,即本條消息數(shù)據(jù)的寫入節(jié)點(diǎn)為源節(jié)點(diǎn);目的,即本條消息數(shù)據(jù)的讀取節(jié)點(diǎn)為目的節(jié)點(diǎn);數(shù)據(jù)類型為本條消息數(shù)據(jù)的數(shù)據(jù)類型;數(shù)據(jù)說明為本來消息數(shù)據(jù)的詳細(xì)數(shù)據(jù)說明。
[0018]在本實(shí)施例中,將步驟SI中的兩條消息按照序號、名稱、變量名、偏移值、長度、源、目的、數(shù)據(jù)類型及數(shù)據(jù)說明的格式放入全局變量表中。全局變量表中的首條消息的偏移值從地址O X OOOO開始,第二條的消息偏移值為第一條消息的偏移值加上第一條消息的長度,后面的消息偏移值依次類推。
[0019]S3,按照消息在全局變量表中的順序及消息長度,生成每條消息在實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存中的具體存放地址,使其在內(nèi)存中依次排列。
[0020]消息在反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)實(shí)際內(nèi)存中的存儲地址與全局變量表中一致,其優(yōu)點(diǎn)在于,消息在內(nèi)存中依次排列,首尾相接,可以最大程度的節(jié)省內(nèi)存空間。
[0021]S4,在使用時(shí),通過消息的存放地址、源、目的及偏移值選擇需要輸出的數(shù)據(jù)消息。具體為,通過板卡自帶的接口函數(shù),調(diào)用全局變量表中規(guī)劃的消息偏移值及源,目的等信息,可完成消息的收發(fā)。
[0022]S5,當(dāng)實(shí)時(shí)網(wǎng)絡(luò)中需要增加傳輸?shù)南r(shí),在所述全局變量表中現(xiàn)有消息的后面添加新增消息即可。
[0023]最后需要指出的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制。盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種內(nèi)存管理方法,其特征在于,包含以下步驟: SI,在反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)中內(nèi)置一個(gè)全局變量表,所述全局變量表是根據(jù)接入反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)系統(tǒng)間所傳輸數(shù)據(jù)的接口定義定制生成; S2,將反射內(nèi)存實(shí)時(shí)網(wǎng)絡(luò)上所傳輸?shù)臄?shù)據(jù)按照固定的格式生成一條條消息,存放在所述全局變量表中,所述消息包含源、目的、偏移值; S3,按照消息在所述全局變量表中的順序及消息長度,生成每條消息在實(shí)時(shí)網(wǎng)絡(luò)內(nèi)存中的具體存放地址,使其在內(nèi)存中依次排列; S4,在使用時(shí),通過消息的存放地址、源、目的及偏移值選擇需要輸出的數(shù)據(jù)消息; S5,當(dāng)實(shí)時(shí)網(wǎng)絡(luò)中需要增加傳輸?shù)南r(shí),在所述全局變量表中現(xiàn)有消息的后面添加新增消息即可。2.如權(quán)利要求1所述的內(nèi)存管理方法,其特征在于:所述步驟S2中的消息還包含序號、名稱、變量名、長度、數(shù)據(jù)類型及數(shù)據(jù)說明。
【文檔編號】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
【發(fā)明人】李亮, 郭文杰, 辛國華, 徐娜, 李貞 , 王昆睿
【申請人】中國航空工業(yè)集團(tuán)公司西安飛機(jī)設(shè)計(jì)研究所