1.一種內(nèi)存管理的方法,其特征在于,所述方法應(yīng)用于包括內(nèi)存管理模塊和多個(gè)第一線程模塊的內(nèi)存管理系統(tǒng)中,所述內(nèi)存管理模塊用于管理多個(gè)內(nèi)存空間,且所述多個(gè)內(nèi)存空間中的第一內(nèi)存空間包括多個(gè)第一內(nèi)存,所述第一內(nèi)存的容量為定值,所述第一線程模塊用于管理第二內(nèi)存空間,所述第二內(nèi)存空間包括至少一個(gè)所述第一內(nèi)存,所述方法包括:
所述第一線程模塊接收業(yè)務(wù)數(shù)據(jù);
所述第一線程模塊確定所述第二內(nèi)存空間是否滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求;
在所述第二內(nèi)存空間滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求時(shí),所述第一線程模塊使用所述第二內(nèi)存空間中的內(nèi)存,處理所述業(yè)務(wù)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
在所述第二內(nèi)存空間不滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求時(shí),所述第一線程模塊向所述內(nèi)存管理模塊發(fā)送內(nèi)存請求,所述內(nèi)存請求用于請求從所述第一內(nèi)存空間申請內(nèi)存;
所述內(nèi)存管理模塊根據(jù)所述內(nèi)存請求,分配內(nèi)存,并對所述第一內(nèi)存空間設(shè)置第一管理鎖,所述第一管理鎖用于控制所述第一內(nèi)存空間中內(nèi)存的訪問;
所述內(nèi)存管理模塊為所述第一線程模塊配置內(nèi)存,并釋放所述第一管理鎖;
所述第一線程模塊將所述配置的內(nèi)存存儲(chǔ)到所述第二內(nèi)存空間,以使所述第二內(nèi)存空間能夠滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述內(nèi)存管理模塊根據(jù)所述內(nèi)存請求,分配內(nèi)存包括:
所述內(nèi)存管理模塊根據(jù)所述內(nèi)存請求,分配所述第一內(nèi)存空間中的至少一個(gè)第一內(nèi)存集合,所述第一內(nèi)存空間包括多個(gè)第一內(nèi)存集合,所述第一內(nèi)存集合包括至少兩個(gè)所述第一內(nèi)存;
其中,所述內(nèi)存管理模塊向所述第一線程模塊發(fā)送內(nèi)存包括:
所述內(nèi)存管理模塊向所述第一線程模塊發(fā)送所述至少一個(gè)內(nèi)存集合。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
所述內(nèi)存管理模塊為所述多個(gè)第一內(nèi)存集合中的每個(gè)第一內(nèi)存集合配置內(nèi)存索引值;
其中,所述內(nèi)存管理模塊根據(jù)所述內(nèi)存請求,分配至少一個(gè)第一內(nèi)存集合包括:
所述內(nèi)存管理模塊根據(jù)所述內(nèi)存請求和所述內(nèi)存索引值,分配所述至少一個(gè)第一內(nèi)存集合。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,在所述第一線程模塊確定所述第二內(nèi)存空間是否滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求之前,所述方法還包括:
所述第一線程模塊向所述內(nèi)存管理模塊發(fā)送第一注冊請求,所述第一注冊請求用于向所述內(nèi)存管理模塊請求內(nèi)存;
所述內(nèi)存管理模塊根據(jù)所述第一注冊請求,向所述第一線程模塊發(fā)送至少一個(gè)所述第一內(nèi)存;
所述第一線程模塊根據(jù)所述至少一個(gè)所述第一內(nèi)存,生成所述第二內(nèi)存空間。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述內(nèi)存管理系統(tǒng)還包括第二線程模塊;
其中,所述第一線程模塊根據(jù)所述第二內(nèi)存空間中的內(nèi)存,處理所述業(yè)務(wù)數(shù)據(jù)包括:
所述第一線程模塊將所述業(yè)務(wù)數(shù)據(jù)封裝在所述第二內(nèi)存空間中的內(nèi)存中生成業(yè)務(wù)消息;
所述第一線程模塊向所述第二線程模塊發(fā)送所述業(yè)務(wù)消息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括:
所述第二線程模塊向所述內(nèi)存管理模塊發(fā)送第二注冊請求,所述第二注冊請求用于向所述內(nèi)存管理模塊請求內(nèi)存;
所述內(nèi)存管理模塊根據(jù)所述第二注冊請求,向所述第二線程模塊發(fā)送至少一個(gè)所述第一內(nèi)存;
所述第二線程模塊根據(jù)所述至少一個(gè)所述第一內(nèi)存,生成第三內(nèi)存空間。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一線程模塊為業(yè)務(wù)線程模塊,所述第二線程模塊為網(wǎng)絡(luò)線程模塊,所述方法還包括:
所述第二線程模塊向存儲(chǔ)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)消息;
所述第二線程模塊向所述存儲(chǔ)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)消息之后,為所述第三內(nèi)存空間設(shè)置第二管理鎖,并修改所述第三內(nèi)存空間的內(nèi)存使用計(jì)數(shù)和業(yè)務(wù)路徑,所述第二管理鎖用于控制對所述內(nèi)存使用計(jì)數(shù)和所述業(yè)務(wù)路徑的修改,且所述第二管理鎖不同于所述第一管理鎖。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一線程模塊為網(wǎng)絡(luò)線程模塊,所述第二線程模塊為業(yè)務(wù)線程模塊,所述方法還包括:
所述第二線程模塊向用戶發(fā)送所述業(yè)務(wù)消息;
在所述第二線模塊向所述用戶發(fā)送所述業(yè)務(wù)消息之后,所述第二線程模塊為所述第三內(nèi)存空間設(shè)置第二管理鎖,并修改所述第三內(nèi)存空間的內(nèi)存使用計(jì)數(shù)和業(yè)務(wù)路徑,所述第二管理鎖用于控制對所述內(nèi)存使用計(jì)數(shù)和所述業(yè)務(wù)路徑的修改,且所述第二管理鎖不同于所述第一管理鎖。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述方法還包括:
所述第二線程模塊根據(jù)所述內(nèi)存使用計(jì)數(shù),確定是否釋放所述業(yè)務(wù)消息所占用的內(nèi)存。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述第三內(nèi)存空間包括第一鏈表和第二鏈表,所述內(nèi)存使用計(jì)數(shù)的初始預(yù)設(shè)值為1,且所述內(nèi)存使用計(jì)數(shù)在對應(yīng)的內(nèi)存處于占用狀態(tài)時(shí)加1,處于空閑狀態(tài)時(shí)減1;
其中,所述第二線程模塊根據(jù)所述內(nèi)存使用計(jì)數(shù),確定是否釋放所述業(yè)務(wù)消息所占用的內(nèi)存包括:
在所述內(nèi)存使用計(jì)數(shù)為1時(shí),所述第二線程模塊將所述業(yè)務(wù)消息所占用的內(nèi)存釋放到所述第二鏈表中;
在所述第二鏈表中內(nèi)存?zhèn)€數(shù)超過第一數(shù)目閾值時(shí),所述第二線程模塊將所述業(yè)務(wù)消息所占用的剩余內(nèi)存釋放到所述第一鏈表中。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述方法還包括:
在所述第三內(nèi)存空間中的內(nèi)存?zhèn)€數(shù)超過第二數(shù)目閾值時(shí),所述第二線程模塊將所述第二鏈表中的內(nèi)存釋放到所述第一內(nèi)存空間。
13.一種內(nèi)存管理系統(tǒng),其特征在于,所述內(nèi)存管理系統(tǒng)包括內(nèi)存管理模塊和多個(gè)第一線程模塊,所述內(nèi)存管理模塊用于管理多個(gè)內(nèi)存空間,且所述多個(gè)內(nèi)存空間中的第一內(nèi)存空間包括多個(gè)第一內(nèi)存,所述第一內(nèi)存的容量為定值,所述第一線程模塊用于管理第二內(nèi)存空間,所述第二內(nèi)存空間包括至少一個(gè)所述第一內(nèi)存;
所述第一線程模塊,用于接收業(yè)務(wù)數(shù)據(jù);
所述第一線程模塊,還用于確定所述第二內(nèi)存空間是否滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求;
所述第一線程模塊,還用于使用所述第二內(nèi)存空間中的內(nèi)存,處理所述業(yè)務(wù)數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的內(nèi)存管理系統(tǒng),其特征在于,所述第一線程模塊還用于向所述內(nèi)存管理模塊發(fā)送內(nèi)存請求,所述內(nèi)存請求用于請求從所述第一內(nèi)存空間申請內(nèi)存;
所述內(nèi)存管理模塊,用于根據(jù)所述內(nèi)存請求,分配內(nèi)存,并對所述第一內(nèi)存空間設(shè)置第一管理鎖,所述第一管理鎖用于控制所述第一內(nèi)存空間中內(nèi)存的訪問;
所述內(nèi)存管理模塊,還用于為所述第一線程模塊配置內(nèi)存,并釋放所述第一管理鎖;
所述第一線程模塊,還用于將所述配置的內(nèi)存存儲(chǔ)到所述第二內(nèi)存空間,以使所述第二內(nèi)存空間能夠滿足所述業(yè)務(wù)數(shù)據(jù)的內(nèi)存需求。
15.根據(jù)權(quán)利要求14所述的內(nèi)存管理系統(tǒng),其特征在于,所述內(nèi)存管理模塊具體用于:
根據(jù)所述內(nèi)存請求,分配所述第一內(nèi)存空間中的至少一個(gè)第一內(nèi)存集合,所述第一內(nèi)存空間包括多個(gè)第一內(nèi)存集合,所述第一內(nèi)存集合包括至少兩個(gè)所述第一內(nèi)存;
所述內(nèi)存管理模塊,還用于向所述第一線程模塊發(fā)送所述至少一個(gè)內(nèi)存集合。
16.根據(jù)權(quán)利要求15所述的內(nèi)存管理系統(tǒng),其特征在于,所述內(nèi)存管理模塊,用于為所述多個(gè)第一內(nèi)存集合中的每個(gè)第一內(nèi)存集合配置內(nèi)存索引值;
所述內(nèi)存管理模塊具體用于:
根據(jù)所述內(nèi)存請求和所述內(nèi)存索引值,分配所述至少一個(gè)第一內(nèi)存集合。
17.根據(jù)權(quán)利要求13至16中任一項(xiàng)所述的內(nèi)存管理系統(tǒng),其特征在于,所述第一線程模塊,還用于向所述內(nèi)存管理模塊發(fā)送第一注冊請求,所述第一注冊請求用于向所述內(nèi)存管理模塊請求內(nèi)存;
所述內(nèi)存管理模塊,還用于根據(jù)所述第一注冊請求,向所述第一線程模塊發(fā)送至少一個(gè)所述第一內(nèi)存;
所述第一線程模塊,還用于根據(jù)所述至少一個(gè)所述第一內(nèi)存,生成所述第二內(nèi)存空間。
18.根據(jù)權(quán)利要求13至17中任一項(xiàng)所述的內(nèi)存管理系統(tǒng),其特征在于,所述內(nèi)存管理系統(tǒng)還包括第二線程模塊;
所述第一線程模塊具體用于:
將所述業(yè)務(wù)數(shù)據(jù)封裝在所述第二內(nèi)存空間中的內(nèi)存中生成業(yè)務(wù)消息;
所述第一線程模塊,還用于向所述第二線程模塊發(fā)送所述業(yè)務(wù)消息。
19.根據(jù)權(quán)利要求18所述的內(nèi)存管理系統(tǒng),其特征在于,所述第二線程模塊,還用于向所述內(nèi)存管理模塊發(fā)送第二注冊請求,所述第二注冊請求用于向所述內(nèi)存管理模塊請求內(nèi)存;
所述內(nèi)存管理模塊,還用于根據(jù)所述第二注冊請求,向所述第二線程模塊發(fā)送至少一個(gè)所述第一內(nèi)存;
所述第二線程模塊,用于根據(jù)所述至少一個(gè)所述第一內(nèi)存,生成第三內(nèi)存空間。
20.根據(jù)權(quán)利要求19所述的內(nèi)存管理系統(tǒng),其特征在于,所述第一線程模塊為業(yè)務(wù)線程模塊,所述第二線程模塊為網(wǎng)絡(luò)線程模塊,所述第二線程模塊,還用于向存儲(chǔ)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)消息;
所述第二線程模塊,還用于向所述存儲(chǔ)節(jié)點(diǎn)發(fā)送所述業(yè)務(wù)消息之后,為所述第三內(nèi)存空間設(shè)置第二管理鎖,并修改所述第三內(nèi)存空間的內(nèi)存使用計(jì)數(shù)和業(yè)務(wù)路徑,所述第二管理鎖用于控制對所述內(nèi)存使用計(jì)數(shù)和所述業(yè)務(wù)路徑的修改,且所述第二管理鎖不同于所述第一管理鎖。
21.根據(jù)權(quán)利要求19所述的內(nèi)存管理系統(tǒng),其特征在于,所述第一線程模塊為網(wǎng)絡(luò)線程模塊,所述第二線程模塊為業(yè)務(wù)線程模塊,所述第二線程模塊,還用于向用戶發(fā)送所述業(yè)務(wù)消息;
所述第二線程模塊,還用于為所述第三內(nèi)存空間設(shè)置第二管理鎖,并修改所述第三內(nèi)存空間的內(nèi)存使用計(jì)數(shù)和業(yè)務(wù)路徑,所述第二管理鎖用于控制對所述內(nèi)存使用計(jì)數(shù)和所述業(yè)務(wù)路徑的修改,且所述第二管理鎖不同于所述第一管理鎖。
22.根據(jù)權(quán)利要求20或21所述的內(nèi)存管理系統(tǒng),其特征在于,所述第二線程模塊,還用于根據(jù)所述內(nèi)存使用計(jì)數(shù),確定是否釋放所述業(yè)務(wù)消息所占用的內(nèi)存。
23.根據(jù)權(quán)利要求22所述的內(nèi)存管理系統(tǒng),其特征在于,所述第三內(nèi)存空間包括第一鏈表和第二鏈表,所述內(nèi)存使用計(jì)數(shù)的初始預(yù)設(shè)值為1,且所述內(nèi)存使用計(jì)數(shù)在對應(yīng)的內(nèi)存處于占用狀態(tài)時(shí)加1,處于空閑狀態(tài)時(shí)減1;
所述第二線程模塊,還用于在所述內(nèi)存使用計(jì)數(shù)為1時(shí),將所述業(yè)務(wù)消息所占用的內(nèi)存釋放到所述第二鏈表中;
所述第二線程模塊,還用于在所述第二鏈表中內(nèi)存?zhèn)€數(shù)超過第一數(shù)目閾值時(shí),將所述業(yè)務(wù)消息所占用的剩余內(nèi)存釋放到所述第一鏈表中。
24.根據(jù)權(quán)利要求23所述的內(nèi)存管理系統(tǒng),其特征在于,所述第二線程模塊,還用于在所述第三內(nèi)存空間中的內(nèi)存?zhèn)€數(shù)超過第二數(shù)目閾值時(shí),將所述第二鏈表中的內(nèi)存釋放到所述第一內(nèi)存空間。