本技術(shù)實(shí)施例涉及計(jì)算機(jī),尤其涉及一種訪問方法和訪問裝置。
背景技術(shù):
1、分布式系統(tǒng)或計(jì)算機(jī)集群,一般由多個(gè)服務(wù)器節(jié)點(diǎn)組成,其中,多個(gè)服務(wù)器節(jié)點(diǎn)之間通過高速鏈路互聯(lián)。為充分利用分布式系統(tǒng)或計(jì)算機(jī)集群中多個(gè)服務(wù)器節(jié)點(diǎn)的計(jì)算能力,可以執(zhí)行將一個(gè)計(jì)算任務(wù)通常分成多個(gè)子計(jì)算任務(wù)下發(fā)到不同的服務(wù)器節(jié)點(diǎn)進(jìn)行計(jì)算,然后匯總每個(gè)子計(jì)算任務(wù)的計(jì)算結(jié)果的流程。
2、計(jì)算任務(wù)通常以進(jìn)程的形式運(yùn)行,不同服務(wù)器節(jié)點(diǎn)上部署的進(jìn)程的地址空間是隔離的,不同服務(wù)器節(jié)點(diǎn)上的操作系統(tǒng)(operating?system,os)也是互相隔離的。由此,如何高效、簡(jiǎn)單和安全可靠的進(jìn)行進(jìn)程間計(jì)算結(jié)果的匯總是一個(gè)巨大的挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種訪問方法和訪問裝置,通過為第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)劃分共享虛擬地址空間,能安全可靠的使用共享虛擬地址互相訪問,解決了已有實(shí)現(xiàn)方式擴(kuò)展性差和性能低的問題。
2、為達(dá)到上述目的,本技術(shù)實(shí)施例采用如下技術(shù)方案。
3、第一方面,本技術(shù)實(shí)施例提供一種訪問方法,該方法包括:根據(jù)第一虛擬地址,確定第一虛擬地址對(duì)應(yīng)的第二服務(wù)器節(jié)點(diǎn)的地址,第一虛擬地址為第一服務(wù)器節(jié)點(diǎn)獲取的訪問請(qǐng)求攜帶的地址;若第二服務(wù)器節(jié)點(diǎn)的地址為第二虛擬地址,則向第二虛擬地址發(fā)送訪問請(qǐng)求,第二虛擬地址為第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)的共享虛擬地址。
4、由此,若第二服務(wù)器節(jié)點(diǎn)的地址為共享虛擬地址,如第二虛擬地址,則表示第二服務(wù)器節(jié)點(diǎn)的地址可以被其他服務(wù)器節(jié)點(diǎn),如第一服務(wù)器節(jié)點(diǎn)共享訪問。相較于現(xiàn)有技術(shù)中需要復(fù)雜的收發(fā)包處理或通過協(xié)議棧發(fā)送等更為高效,性能更好。并且本技術(shù)實(shí)施例采用共享虛擬地址,不依賴于服務(wù)器節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu),相較于現(xiàn)有技術(shù),其擴(kuò)展更為靈活。
5、另外,第一虛擬地址和第二服務(wù)器節(jié)點(diǎn)的地址的對(duì)應(yīng)關(guān)系可以存儲(chǔ)于第一服務(wù)器節(jié)點(diǎn)的物理內(nèi)存內(nèi),訪問第一服務(wù)器節(jié)點(diǎn)的物理內(nèi)存相較于訪問遠(yuǎn)端物理內(nèi)存更為高效。
6、在一種可能的設(shè)計(jì)中,根據(jù)第一虛擬地址,確定第一虛擬地址對(duì)應(yīng)的第二服務(wù)器節(jié)點(diǎn)的地址,包括:根據(jù)第一虛擬地址,確定第一虛擬地址對(duì)應(yīng)的虛擬物理地址,虛擬物理地址為第一服務(wù)器節(jié)點(diǎn)的虛擬空間的地址;根據(jù)虛擬物理地址,確定虛擬物理地址對(duì)應(yīng)的第二服務(wù)器節(jié)點(diǎn)的地址。基于此,第一服務(wù)器節(jié)點(diǎn)中可以劃分虛擬物理地址對(duì)應(yīng)的虛擬空間,其中,虛擬空間可以遠(yuǎn)大于本地物理地址的空間,由此可以擴(kuò)大第一服務(wù)器節(jié)點(diǎn)可以訪問的物理內(nèi)存空間。
7、在一種可能的設(shè)計(jì)中,第一虛擬地址與虛擬物理地址的對(duì)應(yīng)關(guān)系存儲(chǔ)于服務(wù)器節(jié)點(diǎn)頁表,虛擬物理地址與第二服務(wù)器節(jié)點(diǎn)的地址的對(duì)應(yīng)關(guān)系存儲(chǔ)于總線頁表。
8、這種設(shè)計(jì)中,服務(wù)器節(jié)點(diǎn)頁表和總線頁表可以存儲(chǔ)于第一服務(wù)器節(jié)點(diǎn)的本地物理內(nèi)存中,第一服務(wù)器節(jié)點(diǎn)在進(jìn)行地址轉(zhuǎn)換時(shí),通過讀取本地物理內(nèi)存中的頁表,可以提高效率和性能。
9、在一種可能的設(shè)計(jì)中,服務(wù)器節(jié)點(diǎn)頁表的頁表項(xiàng)長(zhǎng)度和總線頁表的頁表項(xiàng)長(zhǎng)度不同。如此,通過設(shè)置不同的頁表項(xiàng)長(zhǎng)度,可以減少頁表項(xiàng)個(gè)數(shù),降低了第一服務(wù)器節(jié)點(diǎn)的物理內(nèi)存的開銷,同時(shí),也提升了查表效率。
10、在一種可能的設(shè)計(jì)中,訪問請(qǐng)求還包括訪問憑證和第二服務(wù)器節(jié)點(diǎn)的標(biāo)識(shí),訪問憑證用于配置訪問請(qǐng)求的訪問權(quán)限。也即,用以限制第一服務(wù)器節(jié)點(diǎn)的訪問范圍,使得對(duì)于第二服務(wù)器節(jié)點(diǎn)而言,訪問可以更安全,避免隱私數(shù)據(jù)泄露。
11、在一種可能的設(shè)計(jì)中,該方法還包括:若第二服務(wù)器節(jié)點(diǎn)的地址為物理地址,則基于物理地址訪問第一服務(wù)器節(jié)點(diǎn)的物理內(nèi)存,第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)為相同的服務(wù)器節(jié)點(diǎn)。
12、這種設(shè)計(jì)中,若第一服務(wù)器節(jié)點(diǎn)訪問本地的物理內(nèi)存,可通過第一虛擬地址和第一虛擬地址與物理地址的對(duì)應(yīng)關(guān)系,確定物理地址。
13、第二方面,本技術(shù)實(shí)施例還提供一種訪問方法,該方法包括:接收訪問請(qǐng)求,訪問請(qǐng)求包括第二虛擬地址,第二虛擬地址為第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)的共享虛擬地址;根據(jù)第二虛擬地址,確定第二虛擬地址對(duì)應(yīng)的物理地址;基于訪問請(qǐng)求和物理地址,訪問第二服務(wù)器節(jié)點(diǎn)的物理內(nèi)存。
14、由此,不同服務(wù)器節(jié)點(diǎn)之間通過共享虛擬地址進(jìn)行訪問,第二服務(wù)器節(jié)點(diǎn)在接收到訪問請(qǐng)求后,根據(jù)共享虛擬地址確定物理地址,以訪問物理地址對(duì)應(yīng)的物理內(nèi)存。由此,本技術(shù)實(shí)施例提供的訪問方法采用共享虛擬地址進(jìn)行互訪,相較于現(xiàn)有技術(shù)中需要復(fù)雜的收發(fā)包處理或通過協(xié)議棧發(fā)送等更為高效。并且本技術(shù)實(shí)施例采用共享虛擬地址,不依賴于服務(wù)器節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu),相較于現(xiàn)有技術(shù)更為靈活。
15、另外,第二虛擬地址與物理地址的對(duì)應(yīng)關(guān)系可以存儲(chǔ)于第二服務(wù)器節(jié)點(diǎn)的物理內(nèi)存內(nèi),訪問第二服務(wù)器節(jié)點(diǎn)的物理內(nèi)存相較于訪問遠(yuǎn)端物理內(nèi)存更為高效。
16、在一種可能的設(shè)計(jì)中,訪問請(qǐng)求還包括訪問憑證,訪問憑證用于配置訪問請(qǐng)求的訪問權(quán)限,根據(jù)第二虛擬地址,確定第二虛擬地址對(duì)應(yīng)的物理地址之前,方法還包括:基于訪問憑證確定訪問請(qǐng)求的訪問權(quán)限是否有效。也即,訪問憑證可以限制第一服務(wù)器節(jié)點(diǎn)的訪問范圍,使得對(duì)于第二服務(wù)器節(jié)點(diǎn)而言,訪問可以更安全,避免隱私數(shù)據(jù)泄露。
17、第三方面,本技術(shù)實(shí)施例還提供一種訪問裝置,訪問裝置包括系統(tǒng)地址管理單元和發(fā)送單元,系統(tǒng)地址管理單元用于根據(jù)第一虛擬地址,確定第一虛擬地址對(duì)應(yīng)的第二服務(wù)器節(jié)點(diǎn)的地址,第一虛擬地址為第一服務(wù)器節(jié)點(diǎn)獲取的訪問請(qǐng)求攜帶的地址;發(fā)送單元用于若第二服務(wù)器節(jié)點(diǎn)的地址為第二虛擬地址,則向第二虛擬地址發(fā)送訪問請(qǐng)求,第二虛擬地址為第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)的共享虛擬地址。
18、第三方面的有益效果可參見第一方面的說明。
19、在一種可能的設(shè)計(jì)中,系統(tǒng)地址管理單元包括:地址管理單元和總線地址管理單元;地址管理單元用于根據(jù)第一虛擬地址,確定第一虛擬地址對(duì)應(yīng)的虛擬物理地址,虛擬物理地址為第一服務(wù)器節(jié)點(diǎn)的虛擬空間的地址;總線地址管理單元用于根據(jù)虛擬物理地址,確定虛擬物理地址對(duì)應(yīng)的第二服務(wù)器節(jié)點(diǎn)的地址。
20、在一種可能的設(shè)計(jì)中,第一虛擬地址與虛擬物理地址的對(duì)應(yīng)關(guān)系存儲(chǔ)于服務(wù)器節(jié)點(diǎn)頁表,虛擬物理地址與第二服務(wù)器節(jié)點(diǎn)的地址的對(duì)應(yīng)關(guān)系存儲(chǔ)于總線頁表。
21、在一種可能的設(shè)計(jì)中,服務(wù)器節(jié)點(diǎn)頁表的頁表項(xiàng)長(zhǎng)度和總線頁表的頁表項(xiàng)長(zhǎng)度不同。
22、在一種可能的設(shè)計(jì)中,訪問請(qǐng)求還包括訪問憑證和第二服務(wù)器節(jié)點(diǎn)的標(biāo)識(shí),訪問憑證用于配置訪問請(qǐng)求的訪問權(quán)限。
23、在一種可能的設(shè)計(jì)中,訪問裝置還包括訪問單元;訪問單元用于若第二服務(wù)器節(jié)點(diǎn)的地址為物理地址,則基于物理地址訪問第一服務(wù)器節(jié)點(diǎn)的物理內(nèi)存,第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)為相同的服務(wù)器節(jié)點(diǎn)。
24、第四方面,本技術(shù)實(shí)施例提供了一種訪問裝置,訪問裝置包括接收單元和總線地址管理單元;接收單元用于接收訪問請(qǐng)求,訪問請(qǐng)求包括第二虛擬地址,第二虛擬地址為第一服務(wù)器節(jié)點(diǎn)和第二服務(wù)器節(jié)點(diǎn)的共享虛擬地址;總線地址管理單元用于根據(jù)第二虛擬地址,確定第二虛擬地址對(duì)應(yīng)的物理地址;總線地址管理單元還用于基于訪問請(qǐng)求和物理地址,訪問第二服務(wù)器節(jié)點(diǎn)的物理內(nèi)存。
25、第四方面的有益效果可以參見第二方面的說明。
26、在一種可能的設(shè)計(jì)中,訪問請(qǐng)求還包括訪問憑證,訪問憑證用于配置訪問請(qǐng)求的訪問權(quán)限,總線地址管理單元還用于:基于訪問憑證確定訪問請(qǐng)求的訪問權(quán)限是否有效。
27、第五方面,本技術(shù)實(shí)施例提供了一種芯片系統(tǒng),芯片系統(tǒng)包括處理器核、系統(tǒng)地址管理單元和物理內(nèi)存,處理器核和系統(tǒng)地址管理單元耦合,系統(tǒng)地址管理單元和物理內(nèi)存耦合。
28、第六方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括計(jì)算機(jī)指令,當(dāng)計(jì)算機(jī)指令在電子設(shè)備上運(yùn)行時(shí),使得電子設(shè)備執(zhí)行上述任一方面及任一項(xiàng)可能的實(shí)現(xiàn)方式中的訪問方法。
29、第七方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品在計(jì)算機(jī)或處理器上運(yùn)行時(shí),使得計(jì)算機(jī)或處理器執(zhí)行上述任一方面及任一項(xiàng)可能的實(shí)現(xiàn)方式中的訪問方法。
30、可以理解的是,上述提供的任一種訪問裝置、芯片系統(tǒng)、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或計(jì)算機(jī)程序產(chǎn)品等均可以應(yīng)用于上文所提供的對(duì)應(yīng)的方法,因此,其所能達(dá)到的有益效果可參考對(duì)應(yīng)的方法中的有益效果,此處不再贅述。
31、本技術(shù)的這些方面或其他方面在以下的描述中會(huì)更加簡(jiǎn)明易懂。