欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng)的制作方法

文檔序號(hào):8006191閱讀:241來(lái)源:國(guó)知局
一種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng),涉及通信領(lǐng)域,可以提高系統(tǒng)運(yùn)行速度,節(jié)約功耗。所述方法包括:本地節(jié)點(diǎn)獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,然后根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,并將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn),進(jìn)而使得遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
【專利說(shuō)明】—種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng)。

【背景技術(shù)】
[0002]在云服務(wù)器平臺(tái)中,當(dāng)節(jié)點(diǎn)的內(nèi)存不足時(shí),可以向云端控制器發(fā)送借用請(qǐng)求,使云端控制器將其他節(jié)點(diǎn)的內(nèi)存分配給本節(jié)點(diǎn),這樣該節(jié)點(diǎn)就借用了其他節(jié)點(diǎn)的內(nèi)存來(lái)做為自己的內(nèi)存使用,通常會(huì)將借用內(nèi)存的節(jié)點(diǎn)稱為本地節(jié)點(diǎn),將被借用內(nèi)存的節(jié)點(diǎn)稱為所述本地節(jié)點(diǎn)的遠(yuǎn)程節(jié)點(diǎn)。所述本地節(jié)點(diǎn)借用了遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存后,所述本地節(jié)點(diǎn)的內(nèi)存就包括為本地內(nèi)存(本地節(jié)點(diǎn)本身的內(nèi)存)和遠(yuǎn)程內(nèi)存(本地節(jié)點(diǎn)借用的遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存)。
[0003]若本地節(jié)點(diǎn)借用了遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存后,本地節(jié)點(diǎn)的內(nèi)存仍然不夠用,本地節(jié)點(diǎn)會(huì)選擇將本節(jié)點(diǎn)的內(nèi)存中的部分?jǐn)?shù)據(jù)swap out (換出)至本地節(jié)點(diǎn)的硬盤中,釋放出部分的內(nèi)存空間。在本地節(jié)點(diǎn)的內(nèi)存不足的情況下,只對(duì)本地內(nèi)存進(jìn)行swap out操作,釋放本地內(nèi)存空間是不行的,因?yàn)檫h(yuǎn)程節(jié)點(diǎn)中內(nèi)存不可能從借用到銷毀不進(jìn)行swap out操作,一旦對(duì)遠(yuǎn)程內(nèi)存進(jìn)行swap out操作,則需要進(jìn)行以下過(guò)程:
[0004]本地節(jié)點(diǎn)需要掃描遠(yuǎn)程內(nèi)存,以一定算法選中遠(yuǎn)程內(nèi)存中需要swap out的內(nèi)存頁(yè)數(shù)據(jù),然后進(jìn)行本地內(nèi)存swap out操作,將本地節(jié)點(diǎn)的本地內(nèi)存中的一部分內(nèi)存數(shù)據(jù)轉(zhuǎn)存到本地節(jié)點(diǎn)中的硬盤中,為所述需要swap out的內(nèi)存頁(yè)數(shù)據(jù)預(yù)留出存儲(chǔ)空間,然后通過(guò)云端控制器向所述遠(yuǎn)程內(nèi)存所在的遠(yuǎn)程節(jié)點(diǎn)發(fā)送遠(yuǎn)程內(nèi)存swap out命令,使得所述遠(yuǎn)程節(jié)點(diǎn)通過(guò)傳輸通道將所述需要swap out的內(nèi)存頁(yè)數(shù)據(jù)傳送到本地節(jié)點(diǎn),保存在所述本地節(jié)點(diǎn)預(yù)留出的存儲(chǔ)空間中,最后本地節(jié)點(diǎn)將本地內(nèi)存中存儲(chǔ)的所述需要swap out的內(nèi)存頁(yè)數(shù)據(jù)存放至本地節(jié)點(diǎn)的硬盤中。
[0005]云端控制器在進(jìn)行上述的遠(yuǎn)程內(nèi)存swap out操作的過(guò)程中,需要將遠(yuǎn)程內(nèi)存中的部分內(nèi)存頁(yè)數(shù)據(jù)傳到本地節(jié)點(diǎn),這就會(huì)占用傳輸通道,導(dǎo)致系統(tǒng)運(yùn)行變慢,且增加系統(tǒng)功耗,并且若將遠(yuǎn)程節(jié)點(diǎn)中的需要swap out的內(nèi)存頁(yè)數(shù)據(jù)傳回本地節(jié)點(diǎn),本地節(jié)點(diǎn)的本地內(nèi)存必須為所述需要swap out的內(nèi)存頁(yè)數(shù)據(jù)預(yù)留出存儲(chǔ)空間,這會(huì)進(jìn)一步加大本地內(nèi)存的壓力,使內(nèi)存管理更加復(fù)雜,進(jìn)一步地導(dǎo)致系統(tǒng)運(yùn)行變慢,系統(tǒng)功耗增加。


【發(fā)明內(nèi)容】

[0006]本發(fā)明的實(shí)施例提供一種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng),可以提高系統(tǒng)運(yùn)行速度,節(jié)約功耗。
[0007]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008]第一方面,公開了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,包括:
[0009]本地節(jié)點(diǎn)獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn);
[0010]若判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;
[0011]所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
[0012]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),包括:
[0013]所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間;
[0014]或者,所述本地節(jié)點(diǎn)查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
[0015]第二方面,公開了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,包括:
[0016]遠(yuǎn)程節(jié)點(diǎn)調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;
[0017]所述遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0018]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置有遠(yuǎn)程內(nèi)存交換分區(qū);則所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,具體包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū);
[0019]所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)內(nèi)存中,具體包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0020]第三方面,公開了一種本地節(jié)點(diǎn),包括:
[0021]判斷單元,用于獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn);
[0022]查詢單元,用于在所述判斷單元判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;
[0023]發(fā)送單元,用于將所述查詢單元查詢到的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
[0024]結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述判斷單元具體用于根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間;
[0025]或者,所述判斷單元具體用于查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
[0026]第四方面,公開了一種遠(yuǎn)程節(jié)點(diǎn),包括:
[0027]接收單元,用于調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;
[0028]轉(zhuǎn)存單元,用于根據(jù)所述接收單元接收到的所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0029]結(jié)合第四方面,在第一種可能的實(shí)現(xiàn)方式中,所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置有遠(yuǎn)程內(nèi)存交換分區(qū);則,
[0030]所述轉(zhuǎn)存單元,具體用于將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū);或者,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0031]第五方面,公開了一種系統(tǒng),包括:本地節(jié)點(diǎn),云端控制器和遠(yuǎn)程節(jié)點(diǎn);
[0032]其中,所述本地節(jié)點(diǎn)為上述的本地節(jié)點(diǎn);
[0033]云端控制器,用于接收所述本地節(jié)點(diǎn)發(fā)送的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,并將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息轉(zhuǎn)發(fā)給所述遠(yuǎn)程節(jié)點(diǎn);
[0034]所述遠(yuǎn)程節(jié)點(diǎn)為上述的遠(yuǎn)程節(jié)點(diǎn)。
[0035]本發(fā)明實(shí)施例提供的一種遠(yuǎn)程內(nèi)存交換分區(qū)方法、裝置及系統(tǒng),在遠(yuǎn)程內(nèi)存要進(jìn)行swap操作時(shí),所述本地節(jié)點(diǎn)會(huì)向所述遠(yuǎn)程節(jié)點(diǎn)發(fā)送轉(zhuǎn)存信令,請(qǐng)求所述遠(yuǎn)程節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。既不需要將遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存頁(yè)中的數(shù)據(jù)傳到本地節(jié)點(diǎn)占用傳輸通道,也不需要本地內(nèi)存為傳回的遠(yuǎn)程內(nèi)存頁(yè)中的數(shù)據(jù)預(yù)留空間,這樣就可以提高系統(tǒng)運(yùn)行速度,節(jié)約功耗。另外,本發(fā)明實(shí)施例提供的方法過(guò)程簡(jiǎn)單,不需要對(duì)節(jié)點(diǎn)的內(nèi)存管理部分進(jìn)行修改。

【專利附圖】

【附圖說(shuō)明】
[0036]圖1為本發(fā)明實(shí)施例提供的一種遠(yuǎn)程內(nèi)存交換分區(qū)方法的流程示意圖;
[0037]圖2為本發(fā)明實(shí)施例提供的另一種遠(yuǎn)程內(nèi)存交換分區(qū)方法的流程示意圖;
[0038]圖3為本發(fā)明實(shí)施例提供的另一種遠(yuǎn)程內(nèi)存交換分區(qū)方法的流程示意圖;
[0039]圖4為本發(fā)明實(shí)施例提供的另一種遠(yuǎn)程內(nèi)存交換分區(qū)方法的流程示意圖;
[0040]圖5為本發(fā)明實(shí)施例提供的一種本地節(jié)點(diǎn)的結(jié)構(gòu)框圖;
[0041]圖6為本發(fā)明實(shí)施例提供的另一種本地節(jié)點(diǎn)的結(jié)構(gòu)框圖;
[0042]圖7為本發(fā)明實(shí)施例提供的一種遠(yuǎn)程節(jié)點(diǎn)的結(jié)構(gòu)框圖;
[0043]圖8為本發(fā)明實(shí)施例提供的另一種本地節(jié)點(diǎn)的結(jié)構(gòu)框圖;
[0044]圖9為本發(fā)明實(shí)施例提供的另一種遠(yuǎn)程節(jié)點(diǎn)的結(jié)構(gòu)框圖;
[0045]圖10為本發(fā)明實(shí)施例提供的一種系統(tǒng)的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0046]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]實(shí)施例1:
[0048]本發(fā)明實(shí)施例提供了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,如圖1所示,執(zhí)行主體為本地節(jié)點(diǎn)或設(shè)置在本地節(jié)點(diǎn)上時(shí),所述方法包括以下步驟:
[0049]101、本地節(jié)點(diǎn)獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)。
[0050]在云服務(wù)器平臺(tái)中,節(jié)點(diǎn)的內(nèi)存不足時(shí),可以借用其他節(jié)點(diǎn)的內(nèi)存來(lái)做為自己的內(nèi)存使用,通常會(huì)將借用內(nèi)存的節(jié)點(diǎn)稱為本地節(jié)點(diǎn),將被借用內(nèi)存的節(jié)點(diǎn)稱為遠(yuǎn)程節(jié)點(diǎn)。所述本地節(jié)點(diǎn)借用了遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存后,所述本地節(jié)點(diǎn)的內(nèi)存就包括為本地內(nèi)存(本地節(jié)點(diǎn)本身的內(nèi)存)和遠(yuǎn)程內(nèi)存(本地節(jié)點(diǎn)借用的遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存)。
[0051]這里所述的轉(zhuǎn)存既可以指將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的內(nèi)存中換出,也可以指將所述內(nèi)存頁(yè)中的數(shù)據(jù)換入到所述本地節(jié)點(diǎn)的內(nèi)存中。
[0052]本地節(jié)點(diǎn)的操作系統(tǒng)會(huì)定期(例如每10秒)按照一定算法掃描所述本地節(jié)點(diǎn)的內(nèi)存,把它認(rèn)為暫時(shí)不需要的數(shù)據(jù)所在的內(nèi)存頁(yè)做為需要換出的內(nèi)存頁(yè),指示所述本地節(jié)點(diǎn)將所述需要換出的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的內(nèi)存中換出,所述一定算法一般都是LRU (Least Recently Used,最近最少使用算法)的變種;或者,要在本地節(jié)點(diǎn)上運(yùn)行某個(gè)程序,而所述本地節(jié)點(diǎn)的內(nèi)存中沒有該程序?qū)?yīng)的數(shù)據(jù)即發(fā)生缺頁(yè)異常時(shí),所述本地節(jié)點(diǎn)的操作系統(tǒng)掃描本地節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)的硬盤獲得該程序?qū)?yīng)的數(shù)據(jù)所在的內(nèi)存頁(yè),將其作為需要換入的內(nèi)存頁(yè),指示所述本地節(jié)點(diǎn)將所述需要換入的內(nèi)存頁(yè)中的數(shù)據(jù)換入所述本地節(jié)點(diǎn)的內(nèi)存中。
[0053]所述本地節(jié)點(diǎn)的操作系統(tǒng)的內(nèi)存管理結(jié)構(gòu)體中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)基地址,這樣所述本地節(jié)點(diǎn)的操作系統(tǒng)獲得需要轉(zhuǎn)存(換入或換出)的內(nèi)存頁(yè)后,就可以獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址。
[0054]102、若判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。
[0055]其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0056]若所述本地節(jié)點(diǎn)判斷出需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述遠(yuǎn)程節(jié)點(diǎn),則表明此時(shí)需要進(jìn)行遠(yuǎn)程內(nèi)存swap操作,此時(shí),所述本地節(jié)點(diǎn)可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。
[0057]103、所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器。
[0058]所述本地節(jié)點(diǎn)獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息后,就會(huì)將該路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,所述云端控制器可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的遠(yuǎn)程節(jié)點(diǎn)地址,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的所在的遠(yuǎn)程節(jié)點(diǎn)。這樣,所述遠(yuǎn)程節(jié)點(diǎn)在接收到所述轉(zhuǎn)存信令和需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息后,就可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的物理地址將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)進(jìn)行轉(zhuǎn)存,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。
[0059]若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址在所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,則表明需要進(jìn)行換出操作,所述遠(yuǎn)程節(jié)點(diǎn)就會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中換出,轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,則表明需要進(jìn)行換入操作,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤換入所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0060]本發(fā)明實(shí)施例還提供了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,如圖2所示,執(zhí)行主體為遠(yuǎn)程節(jié)點(diǎn)或設(shè)置在所述遠(yuǎn)程節(jié)點(diǎn)上時(shí),所述方法包括以下步驟:
[0061]201、遠(yuǎn)程節(jié)點(diǎn)調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0062]本地節(jié)點(diǎn)在運(yùn)行的過(guò)程中,獲得了需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址時(shí),所述本地節(jié)點(diǎn)就可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)。若所述本地節(jié)點(diǎn)判斷出需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述遠(yuǎn)程節(jié)點(diǎn),則表明此時(shí)需要進(jìn)行遠(yuǎn)程內(nèi)存swap操作,此時(shí),所述本地節(jié)點(diǎn)可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。所述本地節(jié)點(diǎn)獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息后,就會(huì)給云端控制器發(fā)送所述路由信息以及轉(zhuǎn)存信令,所述云端控制器獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令后,可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的遠(yuǎn)程節(jié)點(diǎn)地址,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的所在的遠(yuǎn)程節(jié)點(diǎn)。
[0063]所述遠(yuǎn)程節(jié)點(diǎn)可以調(diào)用驅(qū)動(dòng)偵聽所述云端控制器發(fā)送的信息,當(dāng)所述遠(yuǎn)程節(jié)點(diǎn)偵聽到所述遠(yuǎn)程節(jié)點(diǎn)發(fā)送來(lái)所述路由信息和轉(zhuǎn)存信令時(shí),就可以立即接收所述路由信息。
[0064]202、所述遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0065]所述遠(yuǎn)程節(jié)點(diǎn)接收到所述轉(zhuǎn)存信令后,就會(huì)開始進(jìn)行轉(zhuǎn)存操作,若所述路由信息中需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址在所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,則表明需要進(jìn)行換出操作,所述遠(yuǎn)程節(jié)點(diǎn)就會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中換出,轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除;若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,則表明需要進(jìn)行換入操作,所述遠(yuǎn)程節(jié)點(diǎn)就會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中換入到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0066]本發(fā)明實(shí)施例提供的遠(yuǎn)程內(nèi)存交換分區(qū)方法,在遠(yuǎn)程內(nèi)存要進(jìn)行swap操作時(shí),所述本地節(jié)點(diǎn)會(huì)向所述遠(yuǎn)程節(jié)點(diǎn)發(fā)送轉(zhuǎn)存信令,請(qǐng)求所述遠(yuǎn)程節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。既不需要將遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存頁(yè)中的數(shù)據(jù)傳到本地節(jié)點(diǎn)占用傳輸通道,也不需要本地內(nèi)存為傳回的遠(yuǎn)程內(nèi)存頁(yè)中的數(shù)據(jù)預(yù)留空間,這樣就可以提高系統(tǒng)運(yùn)行速度,節(jié)約功耗。另外,本發(fā)明實(shí)施例提供的方法過(guò)程簡(jiǎn)單,不需要對(duì)節(jié)點(diǎn)的內(nèi)存管理部分進(jìn)行修改。
[0067]實(shí)施例2:
[0068]本發(fā)明實(shí)施例還提供了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,所述方法為換出(swap out)的方法,如圖3所示,所述方法包括以下步驟:
[0069]301、本地節(jié)點(diǎn)周期性掃描所述本地節(jié)點(diǎn)的內(nèi)存,獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址。
[0070]在云服務(wù)器平臺(tái)中,節(jié)點(diǎn)的內(nèi)存不足時(shí),可以借用其他節(jié)點(diǎn)的內(nèi)存來(lái)做為自己的內(nèi)存使用,通常會(huì)將借用內(nèi)存的節(jié)點(diǎn)稱為本地節(jié)點(diǎn),將被借用內(nèi)存的節(jié)點(diǎn)稱為遠(yuǎn)程節(jié)點(diǎn)。所述本地節(jié)點(diǎn)借用了遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存后,所述本地節(jié)點(diǎn)的內(nèi)存就包括為本地內(nèi)存(本地節(jié)點(diǎn)本身的內(nèi)存)和遠(yuǎn)程內(nèi)存(本地節(jié)點(diǎn)借用的遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存)。
[0071 ] 本地節(jié)點(diǎn)的操作系統(tǒng)會(huì)定期(例如每10秒)按照一定算法掃描所述本地節(jié)點(diǎn)的內(nèi)存,把它認(rèn)為暫時(shí)不需要的數(shù)據(jù)從所述本地節(jié)點(diǎn)的內(nèi)存中換出轉(zhuǎn)存,所述一定算法一般都是LRU的變種。
[0072]所述本地節(jié)點(diǎn)的操作系統(tǒng)的內(nèi)存管理結(jié)構(gòu)體中存儲(chǔ)有各數(shù)據(jù)對(duì)應(yīng)的內(nèi)存頁(yè)以及各內(nèi)存頁(yè)對(duì)應(yīng)基地址,這樣所述本地節(jié)點(diǎn)的操作系統(tǒng)獲得需要換出轉(zhuǎn)存的數(shù)據(jù)后,就可以獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址。
[0073]302、所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)。
[0074]在這里,所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),有兩種方法:
[0075]方法一:
[0076]所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間。
[0077]所述本地節(jié)點(diǎn)可以對(duì)自己的內(nèi)存(本地內(nèi)存和遠(yuǎn)程內(nèi)存)進(jìn)行全局編制,例如,本地節(jié)點(diǎn)A借用了遠(yuǎn)程節(jié)點(diǎn)B和遠(yuǎn)程節(jié)點(diǎn)C的內(nèi)存,假設(shè)本地節(jié)點(diǎn)A有4G的本地內(nèi)存,本地節(jié)點(diǎn)A分別借用了遠(yuǎn)程節(jié)點(diǎn)B的IG遠(yuǎn)程內(nèi)存和遠(yuǎn)程節(jié)點(diǎn)C的2G遠(yuǎn)程內(nèi)存,則本地節(jié)點(diǎn)A對(duì)全部的7G內(nèi)存進(jìn)行全局編制,本地節(jié)點(diǎn)A的4G本地內(nèi)存,其對(duì)應(yīng)的地址空間為O — 3G ;遠(yuǎn)程節(jié)點(diǎn)B的IG遠(yuǎn)程內(nèi)存,其對(duì)應(yīng)的地址空間為3-4G;遠(yuǎn)程節(jié)點(diǎn)C的IG遠(yuǎn)程內(nèi)存,其對(duì)應(yīng)的地址空間為4-6G。這樣,若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址為OxOfff時(shí),表明所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間為所述本地節(jié)點(diǎn)A對(duì)應(yīng)地址空間,則所述本地節(jié)點(diǎn)A可以判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為本地節(jié)點(diǎn);若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址為OxlOOOOOOOf時(shí),表明所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間為所述遠(yuǎn)程節(jié)點(diǎn)B對(duì)應(yīng)地址空間,則所述本地節(jié)點(diǎn)A可以判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)。
[0078]方法二:
[0079]所述本地節(jié)點(diǎn)查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
[0080]現(xiàn)有技術(shù)中,本地節(jié)點(diǎn)內(nèi)存儲(chǔ)有頁(yè)表,頁(yè)表中存儲(chǔ)有本地節(jié)點(diǎn)的內(nèi)存(本地內(nèi)存和遠(yuǎn)程內(nèi)存)中的各個(gè)內(nèi)存頁(yè)的基地址。在本發(fā)明實(shí)施例中,在所述頁(yè)表中添加一項(xiàng)標(biāo)識(shí)信息,用來(lái)區(qū)分各個(gè)內(nèi)存頁(yè)的基地址對(duì)應(yīng)的是本地節(jié)點(diǎn)還是遠(yuǎn)程節(jié)點(diǎn)。例如,所述標(biāo)識(shí)信息可以用0,I來(lái)標(biāo)識(shí),O標(biāo)識(shí)所述內(nèi)存頁(yè)的基地址對(duì)應(yīng)的是本地節(jié)點(diǎn),I標(biāo)識(shí)所述內(nèi)存頁(yè)的基地址對(duì)應(yīng)的是遠(yuǎn)程節(jié)點(diǎn)。
[0081]若通過(guò)步驟302中的方法一或方法二,判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn),則進(jìn)行步驟303;判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述遠(yuǎn)程節(jié)點(diǎn),則進(jìn)行步驟304。
[0082]303、所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中。
[0083]若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn),則所述本地節(jié)點(diǎn)就可以直接進(jìn)行本地內(nèi)存swap out操作,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中換出,轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。
[0084]可選的,可以在所述本地節(jié)點(diǎn)的硬盤中設(shè)置內(nèi)存交換分區(qū),這樣就可以將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)中。在硬盤中設(shè)置一個(gè)內(nèi)存交換分區(qū),專門用于存儲(chǔ)內(nèi)存中換出的內(nèi)存頁(yè)中的數(shù)據(jù),可以與本地節(jié)點(diǎn)硬盤中的數(shù)據(jù)區(qū)分開,以保證硬盤中數(shù)據(jù)的安全。
[0085]304、所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。
[0086]若所述本地節(jié)點(diǎn)判斷出需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述遠(yuǎn)程節(jié)點(diǎn),則表明此時(shí)需要進(jìn)行遠(yuǎn)程內(nèi)存swap out操作,此時(shí),所述本地節(jié)點(diǎn)可以根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0087]305、所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器。
[0088]在這里,可以將所述路由信息攜帶在所述轉(zhuǎn)存信令中發(fā)送給所述云端控制器,也可以向所述云端控制器先發(fā)送所述轉(zhuǎn)存信令,再發(fā)送所述路由信息。
[0089]在這里所述轉(zhuǎn)存信令可以是換出轉(zhuǎn)存信令。
[0090]306、所述云端控制器根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的遠(yuǎn)程節(jié)點(diǎn)地址,將所述轉(zhuǎn)存信令和所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
[0091]307、所述遠(yuǎn)程節(jié)點(diǎn)調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的所述轉(zhuǎn)存信令和所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。
[0092]所述遠(yuǎn)程節(jié)點(diǎn)可以調(diào)用驅(qū)動(dòng)偵聽所述云端控制器發(fā)送的信息,當(dāng)所述遠(yuǎn)程節(jié)點(diǎn)偵聽到所述遠(yuǎn)程節(jié)點(diǎn)發(fā)送來(lái)所述轉(zhuǎn)存信令和所述路由信息時(shí),就可以立即接收所述轉(zhuǎn)存信令和所述路由信息。所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0093]308、所述遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)存信令和需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的物理地址,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中。
[0094]所述遠(yuǎn)程節(jié)點(diǎn)接收到所述轉(zhuǎn)存信令后,就會(huì)開始進(jìn)行轉(zhuǎn)存操作,若所述路由信息中需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址在所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,則表明需要進(jìn)行換出操作,所述遠(yuǎn)程節(jié)點(diǎn)就會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程內(nèi)存中換出,轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0095]可選的,可以在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置遠(yuǎn)程內(nèi)存交換分區(qū);則所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,具體包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū)。這樣,在硬盤中設(shè)置一個(gè)遠(yuǎn)程內(nèi)存交換分區(qū),專門用于存儲(chǔ)內(nèi)存中需要換出的內(nèi)存頁(yè)中的數(shù)據(jù),可以與遠(yuǎn)程節(jié)點(diǎn)硬盤中的數(shù)據(jù)區(qū)分開,可以保證數(shù)據(jù)的安全。
[0096]可選的,所述轉(zhuǎn)存信令可以是換出轉(zhuǎn)存信令,這樣所述遠(yuǎn)程節(jié)點(diǎn)接收到所述轉(zhuǎn)存信令后,就知道要從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中換出數(shù)據(jù),所述遠(yuǎn)程節(jié)點(diǎn)就會(huì)根據(jù)所述路由信息中需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中換出,轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。
[0097]在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0098]所述遠(yuǎn)程節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中后,可以將轉(zhuǎn)存成功與否的消息通過(guò)云控制器發(fā)送給本地節(jié)點(diǎn),通知本地節(jié)點(diǎn)轉(zhuǎn)存成功。
[0099]本發(fā)明實(shí)施例還提供了一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,所述方法為換入(swap in)的方法,如圖4所示,所述方法包括以下步驟:
[0100]401、本地節(jié)點(diǎn)發(fā)生缺頁(yè)異常時(shí),掃描所述本地節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)的硬盤獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址。
[0101]在云服務(wù)器平臺(tái)中,節(jié)點(diǎn)的內(nèi)存不足時(shí),可以借用其他節(jié)點(diǎn)的內(nèi)存來(lái)做為自己的內(nèi)存使用,通常會(huì)將借用內(nèi)存的節(jié)點(diǎn)稱為本地節(jié)點(diǎn),將被借用內(nèi)存的節(jié)點(diǎn)稱為遠(yuǎn)程節(jié)點(diǎn)。所述本地節(jié)點(diǎn)借用了遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存后,所述本地節(jié)點(diǎn)的內(nèi)存就包括為本地內(nèi)存(本地節(jié)點(diǎn)本身的內(nèi)存)和遠(yuǎn)程內(nèi)存(本地節(jié)點(diǎn)借用的遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存)。
[0102]要在本地節(jié)點(diǎn)上運(yùn)行某個(gè)程序,而所述本地節(jié)點(diǎn)的內(nèi)存中沒有該程序?qū)?yīng)的數(shù)據(jù)即發(fā)生缺頁(yè)異常時(shí),所述本地節(jié)點(diǎn)的操作系統(tǒng)會(huì)掃描本地節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)的硬盤中的數(shù)據(jù),獲得該程序?qū)?yīng)的數(shù)據(jù)。
[0103]所述本地節(jié)點(diǎn)的操作系統(tǒng)的內(nèi)存管理結(jié)構(gòu)體中存儲(chǔ)有各數(shù)據(jù)對(duì)應(yīng)的內(nèi)存頁(yè)以及各內(nèi)存頁(yè)對(duì)應(yīng)基地址,這樣所述本地節(jié)點(diǎn)的操作系統(tǒng)獲得需要換出轉(zhuǎn)存的數(shù)據(jù)后,就可以獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址。
[0104]402、根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)。
[0105]在這里,所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),有兩種方法:
[0106]方法一:
[0107]所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間。
[0108]方法二:
[0109]所述本地節(jié)點(diǎn)查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
[0110]若通過(guò)步驟402中的方法一或方法二,判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn),則進(jìn)行步驟403 ;判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述遠(yuǎn)程節(jié)點(diǎn),則進(jìn)行步驟404。
[0111]403、所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的內(nèi)存中。
[0112]若所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn),則所述本地節(jié)點(diǎn)就可以直接進(jìn)行本地內(nèi)存swap in操作,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的內(nèi)存中。
[0113]可選的,可以在所述本地節(jié)點(diǎn)的硬盤中設(shè)置內(nèi)存交換分區(qū),這樣就可以將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)轉(zhuǎn)存到所述本地節(jié)點(diǎn)的內(nèi)存中。在硬盤中設(shè)置一個(gè)內(nèi)存交換分區(qū),專門用于存儲(chǔ)內(nèi)存中需要換出的內(nèi)存頁(yè)中的數(shù)據(jù),可以與本地節(jié)點(diǎn)硬盤中的數(shù)據(jù)區(qū)分開,以保證硬盤中數(shù)據(jù)的安全。
[0114]404、所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。
[0115]其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0116]405、所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器。
[0117]在這里,可以將所述路由信息攜帶在所述轉(zhuǎn)存信令中發(fā)送給所述云端控制器,也可以向所述云端控制器先發(fā)送所述轉(zhuǎn)存信令,再發(fā)送所述路由信息。
[0118]在這里所述轉(zhuǎn)存信令可以是換入轉(zhuǎn)存信令。
[0119]406、所述云端控制器根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的遠(yuǎn)程節(jié)點(diǎn)地址,將所述轉(zhuǎn)存信令和所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
[0120]407、所述遠(yuǎn)程節(jié)點(diǎn)調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送所述轉(zhuǎn)存信令和所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息。
[0121]所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0122]408、所述遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息中的物理地址,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0123]所述遠(yuǎn)程節(jié)點(diǎn)接收到所述轉(zhuǎn)存信令后,就會(huì)開始進(jìn)行轉(zhuǎn)存操作,若所述路由信息中需要轉(zhuǎn)存的內(nèi)存頁(yè)的物理地址在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,則表明需要進(jìn)行換入操作,所述遠(yuǎn)程節(jié)點(diǎn)就會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中換出,轉(zhuǎn)存在所述本地節(jié)點(diǎn)在所述遠(yuǎn)程節(jié)點(diǎn)中借用的遠(yuǎn)程內(nèi)存中,同時(shí)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)清除。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0124]可選的,可以在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置遠(yuǎn)程內(nèi)存交換分區(qū);則所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,具體包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。這樣,在硬盤中設(shè)置一個(gè)遠(yuǎn)程內(nèi)存交換分區(qū),專門用于存儲(chǔ)內(nèi)存中需要換出的內(nèi)存頁(yè)中的數(shù)據(jù),可以與遠(yuǎn)程節(jié)點(diǎn)硬盤中的數(shù)據(jù)區(qū)分開,可以保證數(shù)據(jù)的安全。
[0125]所述遠(yuǎn)程節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中后,可以將轉(zhuǎn)存成功與否的消息通過(guò)云控制器發(fā)送給本地節(jié)點(diǎn),通知本地節(jié)點(diǎn)轉(zhuǎn)存成功。
[0126]本發(fā)明實(shí)施例提供的遠(yuǎn)程內(nèi)存交換分區(qū)方法,在遠(yuǎn)程內(nèi)存要進(jìn)行swap操作時(shí),所述本地節(jié)點(diǎn)會(huì)向所述遠(yuǎn)程節(jié)點(diǎn)發(fā)送轉(zhuǎn)存信令,請(qǐng)求所述遠(yuǎn)程節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)轉(zhuǎn)存在所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。既不需要將遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存頁(yè)中的數(shù)據(jù)傳到本地節(jié)點(diǎn)占用傳輸通道,也不需要本地內(nèi)存為傳回的遠(yuǎn)程內(nèi)存頁(yè)中的數(shù)據(jù)預(yù)留空間,這樣就可以提高系統(tǒng)運(yùn)行速度,節(jié)約功耗。另外,本發(fā)明實(shí)施例提供的方法過(guò)程簡(jiǎn)單,不需要對(duì)節(jié)點(diǎn)的內(nèi)存管理部分進(jìn)行修改。
[0127]實(shí)施例3:
[0128]本發(fā)明實(shí)施例還提供了一種本地節(jié)點(diǎn),如圖5所示,所述本地節(jié)點(diǎn)包括:判斷單元501,查詢單元502和發(fā)送單元503。
[0129]判斷單元501,用于獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)。
[0130]查詢單元502,用于在所述判斷單元501判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0131]發(fā)送單元503,用于將所述查詢單元502查詢到的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
[0132]可選的,所述判斷單元501具體用于根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間。
[0133]或者,所述判斷單元501具體用于查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
[0134]進(jìn)一步的,如圖6所示,所述本地節(jié)點(diǎn)還包括:轉(zhuǎn)存單元504。
[0135]所述轉(zhuǎn)存單元504,用于在所述判斷單元503判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn)時(shí),將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中;或者,所述轉(zhuǎn)存單元504,用于在所述判斷單元503判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn)時(shí),將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
[0136]可選的,所述本地節(jié)點(diǎn)的硬盤中設(shè)置有內(nèi)存交換分區(qū);則,所述轉(zhuǎn)存單元504,具體用于所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中的內(nèi)存交換分區(qū);或者,所述轉(zhuǎn)存單元504,具體用于將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
[0137]本發(fā)明實(shí)施例還提供了一種遠(yuǎn)程節(jié)點(diǎn),如圖7所示,包括:接收單元701和轉(zhuǎn)存單元 702。
[0138]接收單元701,用于調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0139]轉(zhuǎn)存單元702,用于根據(jù)所述接收單元701接收到的所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0140]可選的,所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置有遠(yuǎn)程內(nèi)存交換分區(qū);則,所述轉(zhuǎn)存單元702,具體用于將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū);或者,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
[0141]在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0142]在硬件實(shí)現(xiàn)上,以上發(fā)送單元可以收發(fā)機(jī),以上判斷單元,查詢單元和轉(zhuǎn)存單元可以以硬件形式或軟件形式內(nèi)嵌于節(jié)點(diǎn)的處理器中。該處理器可以為中央處理單元(CPU),也可以是單片機(jī)。
[0143]如圖8所示,為本發(fā)明實(shí)施例所提供的一種本地節(jié)點(diǎn)的結(jié)構(gòu)示意圖。如圖8所示,該本地節(jié)點(diǎn)包括收發(fā)機(jī)81、存儲(chǔ)器82以及分別與收發(fā)機(jī)81和存儲(chǔ)器82連接的處理器83。當(dāng)然,本地節(jié)點(diǎn)還可以包括天線、輸入輸出裝置等通用部件,本發(fā)明實(shí)施例在此不再任何限制。
[0144]其中,存儲(chǔ)器82中存儲(chǔ)一組程序代碼,且處理器83用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,用于執(zhí)行以下操作:
[0145]所述處理器83用于獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn);并判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;然后所述處理器83通過(guò)收發(fā)機(jī)81將查詢到的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn),進(jìn)而使得所述遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)內(nèi)存中。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0146]可選的,所述處理器83具體用于根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間;或者,所述處理器83具體用于查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
[0147]當(dāng)然,所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)還可以是所述本地節(jié)點(diǎn),當(dāng)所述處理器判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)是所述本地節(jié)點(diǎn)時(shí),所述處理器83會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中;或者,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
[0148]可選的,所述本地節(jié)點(diǎn)的硬盤中還可以設(shè)置有內(nèi)存交換分區(qū);此時(shí),所述處理器會(huì)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中的內(nèi)存交換分區(qū);或者,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
[0149]如圖9所示,為本發(fā)明實(shí)施例所提供的一種遠(yuǎn)程節(jié)點(diǎn)的結(jié)構(gòu)示意圖。如圖9所示,該遠(yuǎn)程節(jié)點(diǎn)包括收發(fā)機(jī)91、存儲(chǔ)器92以及分別與收發(fā)機(jī)91和存儲(chǔ)器92連接的處理器93。當(dāng)然,本地節(jié)點(diǎn)還可以包括天線、輸入輸出裝置等通用部件,本發(fā)明實(shí)施例在此不再任何限制。
[0150]其中,存儲(chǔ)器92中存儲(chǔ)一組程序代碼,且處理器93用于調(diào)用存儲(chǔ)器92中存儲(chǔ)的程序代碼,用于執(zhí)行以下操作:
[0151]所述處理器93用于調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,并根據(jù)接收到的所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。其中,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址。
[0152]可選的,所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置有遠(yuǎn)程內(nèi)存交換分區(qū);此時(shí),所述處理器93就可以將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū);或者,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的遠(yuǎn)程內(nèi)存。
[0153]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例既不需要將遠(yuǎn)程內(nèi)存中的數(shù)據(jù)傳到本地節(jié)點(diǎn)占用傳輸通道,也不需要本地節(jié)點(diǎn)的內(nèi)存為傳回的遠(yuǎn)程內(nèi)存頁(yè)的數(shù)據(jù)預(yù)留空間,這樣就可以提高系統(tǒng)運(yùn)行速度,節(jié)約功耗。另外,本發(fā)明實(shí)施例提供的方法過(guò)程簡(jiǎn)單。不需要對(duì)節(jié)點(diǎn)的內(nèi)存管理部分進(jìn)行修改。
[0154]本發(fā)明實(shí)施例還提供了一種系統(tǒng),如圖10所示,所述系統(tǒng)包括本地節(jié)點(diǎn)1001,云端控制器1002和遠(yuǎn)程節(jié)點(diǎn)1003。
[0155]其中,所述本地節(jié)點(diǎn)1001獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn);并在判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述遠(yuǎn)程節(jié)點(diǎn)1003時(shí),根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器1002。
[0156]云端控制器1002,用于接收所述本地節(jié)點(diǎn)1001發(fā)送的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令,并將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述遠(yuǎn)程節(jié)點(diǎn)1003。
[0157]所述遠(yuǎn)程節(jié)點(diǎn)1003調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器1002發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址;并根據(jù)所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。在這里,所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存是指所述本地節(jié)點(diǎn)從遠(yuǎn)程節(jié)點(diǎn)中借用的內(nèi)存。
[0158]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0159]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種遠(yuǎn)程內(nèi)存交換分區(qū)方法,其特征在于,包括: 本地節(jié)點(diǎn)獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn); 若判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址; 所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),包括: 所述本地節(jié)點(diǎn)根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間; 或者,所述本地節(jié)點(diǎn)查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,若判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn)時(shí);所述方法還包括: 所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中; 或者,所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述本地節(jié)點(diǎn)的硬盤中設(shè)置有內(nèi)存交換分區(qū); 所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中,包括:所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中的內(nèi)存交換分區(qū); 所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中,包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
5.—種遠(yuǎn)程內(nèi)存交換分區(qū)方法,其特征在于,包括: 遠(yuǎn)程節(jié)點(diǎn)調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址; 所述遠(yuǎn)程節(jié)點(diǎn)根據(jù)所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置有遠(yuǎn)程內(nèi)存交換分區(qū);則所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,具體包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū); 所述將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,具體包括:將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
7.—種本地節(jié)點(diǎn),其特征在于,包括: 判斷單元,用于獲得需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址,并根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn); 查詢單元,用于在所述判斷單元判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為遠(yuǎn)程節(jié)點(diǎn)時(shí),根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址查詢路由表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,其中,所述路由表中存儲(chǔ)有各內(nèi)存頁(yè)對(duì)應(yīng)的路由信息,所述路由信息包括內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址; 發(fā)送單元,用于將所述查詢單元查詢到的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息和轉(zhuǎn)存信令發(fā)送給云端控制器,以使得所述云端控制器將所述路由信息和所述轉(zhuǎn)存信令轉(zhuǎn)發(fā)給所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求7所述的本地節(jié)點(diǎn),其特征在于,所述判斷單元具體用于根據(jù)所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址所在的地址空間,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述本地節(jié)點(diǎn)中預(yù)先存儲(chǔ)有所述本地節(jié)點(diǎn)對(duì)應(yīng)的地址空間和所述遠(yuǎn)程節(jié)點(diǎn)對(duì)應(yīng)的地址空間; 或者,所述判斷單元具體用于查詢頁(yè)表獲得所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址對(duì)應(yīng)的標(biāo)識(shí)信息,判斷所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn),其中,所述頁(yè)表中存儲(chǔ)有各內(nèi)存頁(yè)的基地址以及所述基地址對(duì)應(yīng)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于標(biāo)識(shí)所述基地址對(duì)應(yīng)的節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求7或8所述的本地節(jié)點(diǎn),其特征在于,所述本地節(jié)點(diǎn)還包括:轉(zhuǎn)存單元, 所述轉(zhuǎn)存單元,用于在所述判斷單元判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn)時(shí),將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中; 或者,所述轉(zhuǎn)存單元,用于在所述判斷單元判斷出所述需要轉(zhuǎn)存的內(nèi)存頁(yè)所在的節(jié)點(diǎn)為所述本地節(jié)點(diǎn)時(shí),將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)從所述本地節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
10.根據(jù)權(quán)利要求9所述的本地節(jié)點(diǎn),其特征在于,所述本地節(jié)點(diǎn)的硬盤中設(shè)置有內(nèi)存交換分區(qū);則, 所述轉(zhuǎn)存單元,具體用于所述本地節(jié)點(diǎn)將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述本地節(jié)點(diǎn)的本地內(nèi)存中轉(zhuǎn)存在所述本地節(jié)點(diǎn)的硬盤中的內(nèi)存交換分區(qū); 或者,所述轉(zhuǎn)存單元,具體用于將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的內(nèi)存交換分區(qū)轉(zhuǎn)存到所述本地節(jié)點(diǎn)的本地內(nèi)存中。
11.一種遠(yuǎn)程節(jié)點(diǎn),其特征在于,包括: 接收單元,用于調(diào)用驅(qū)動(dòng)偵聽并接收云端控制器發(fā)送的轉(zhuǎn)存信令和路由信息,所述路由信息包括需要轉(zhuǎn)存的內(nèi)存頁(yè)的基地址、內(nèi)存頁(yè)所在的遠(yuǎn)程節(jié)點(diǎn)地址以及內(nèi)存頁(yè)在遠(yuǎn)程節(jié)點(diǎn)中的物理地址; 轉(zhuǎn)存單元,用于根據(jù)所述接收單元接收到的所述轉(zhuǎn)存信令和所述路由信息,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中,或?qū)⑺鲂枰D(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
12.根據(jù)權(quán)利要求11所述的遠(yuǎn)程節(jié)點(diǎn),其特征在于,所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中設(shè)置有遠(yuǎn)程內(nèi)存交換分區(qū);則, 所述轉(zhuǎn)存單元,具體用于將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)中的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的硬盤中的遠(yuǎn)程內(nèi)存交換分區(qū);或者,將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的數(shù)據(jù)從所述遠(yuǎn)程節(jié)點(diǎn)的硬盤的遠(yuǎn)程內(nèi)存交換分區(qū)轉(zhuǎn)存到所述遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中。
13.—種系統(tǒng),其特征在于,所述系統(tǒng)包括本地節(jié)點(diǎn),云端控制器和遠(yuǎn)程節(jié)點(diǎn); 其中,所述本地節(jié)點(diǎn)為權(quán)利要求7所述的本地節(jié)點(diǎn); 云端控制器,用于接收所述本地節(jié)點(diǎn)發(fā)送的所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息,并將所述需要轉(zhuǎn)存的內(nèi)存頁(yè)的路由信息轉(zhuǎn)發(fā)給所述遠(yuǎn)程節(jié)點(diǎn); 所述遠(yuǎn)程節(jié)點(diǎn)為權(quán)利要求11所述的遠(yuǎn)程節(jié)點(diǎn)。
【文檔編號(hào)】H04L29/08GK104426971SQ201310391114
【公開日】2015年3月18日 申請(qǐng)日期:2013年8月30日 優(yōu)先權(quán)日:2013年8月30日
【發(fā)明者】張乾龍, 江濤, 董建波, 張義 申請(qǐng)人:華為技術(shù)有限公司, 中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泰来县| 揭东县| 岑巩县| 阳信县| 乌兰察布市| 鹤庆县| 新平| 鸡西市| 寿宁县| 翁牛特旗| 砀山县| 呼和浩特市| 武清区| 高安市| 长乐市| 山东| 商水县| 左权县| 五家渠市| 城口县| 石屏县| 乌鲁木齐县| 晋江市| 大荔县| 鸡西市| 襄樊市| 闸北区| 涪陵区| 监利县| 甘南县| 金昌市| 许昌县| 连山| 同江市| 噶尔县| 阿尔山市| 黄浦区| 旌德县| 东乡族自治县| 建水县| 衢州市|