本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,尤其是訪問(wèn)超級(jí)計(jì)算中心上服務(wù)程序的方法及系統(tǒng)。
背景技術(shù):
超算計(jì)算中心的計(jì)算機(jī)環(huán)境通常是一個(gè)網(wǎng)絡(luò)受限環(huán)境。用戶訪問(wèn)超級(jí)計(jì)算中心時(shí),通常需要先建立vpn鏈路,然后使用putty/xshell/securecrt等超級(jí)終端登錄到超級(jí)計(jì)算中心系統(tǒng)中進(jìn)行相應(yīng)的操作。這是由于超級(jí)計(jì)算中心的系統(tǒng)本身是一個(gè)公共互聯(lián)網(wǎng)隔離的系統(tǒng),用戶無(wú)法通過(guò)互聯(lián)網(wǎng)直接訪問(wèn)超級(jí)計(jì)算中心的服務(wù)器;超級(jí)計(jì)算中心上的服務(wù)器也無(wú)法直接訪問(wèn)互聯(lián)網(wǎng)。
但在很多情況下,用戶需要在超級(jí)計(jì)算中心上運(yùn)行一些私有服務(wù),用來(lái)采集作業(yè)的數(shù)據(jù)、作業(yè)運(yùn)行的實(shí)時(shí)狀態(tài)等,并希望通過(guò)互聯(lián)網(wǎng)安全地訪問(wèn)到這些數(shù)據(jù)?,F(xiàn)在常用的方法就是使用安全外殼協(xié)議(即,ssh協(xié)議)的端口轉(zhuǎn)發(fā)功能,如圖1所示,將超級(jí)計(jì)算中心110上的服務(wù)端口通過(guò)ssh隧道轉(zhuǎn)發(fā)到對(duì)應(yīng)的客戶端120的一個(gè)本地端口上,用戶可以通過(guò)訪問(wèn)本地端口來(lái)與超級(jí)計(jì)算中心上服務(wù)進(jìn)行通訊。但是,超級(jí)計(jì)算中心所提供的服務(wù)程序都是基于tcpsocket,因此啟動(dòng)服務(wù)時(shí)需要使用一個(gè)或多個(gè)服務(wù)器上的端口,如ssh服務(wù)默認(rèn)是22端口,http服務(wù)默認(rèn)是80端口。由于端口1~1023是系統(tǒng)特權(quán)端口,普通用戶只能使用大于1023的端口,但端口是有限資源,對(duì)于超級(jí)計(jì)算中心這樣擁有眾多用戶的系統(tǒng),端口資源更顯緊張。因此,大量啟動(dòng)基于tcpsocket的服務(wù)的一個(gè)缺點(diǎn)就是端口數(shù)量有限,一個(gè)用戶占用的端口,其他用戶便無(wú)法使用,在靈活性上也會(huì)受到限制。另外,使用基于端口的服務(wù),會(huì)將端口暴露給超級(jí)計(jì)算中心服務(wù)器上的所有用戶,在同一服務(wù)器上的其他用戶可以掃描端口進(jìn)行訪問(wèn)嘗試,因此在服務(wù)的安全性方面也存在問(wèn)題。
綜上,需要一種既能夠解決端口資源緊張的問(wèn)題、又能保證服務(wù)安全性的訪問(wèn)超級(jí)計(jì)算中心上服務(wù)程序的方案。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供了訪問(wèn)超級(jí)計(jì)算中心上服務(wù)程序的方案,以力圖解決或者至少緩解上面存在的至少一個(gè)問(wèn)題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種服務(wù)程序的訪問(wèn)方法,該方法在調(diào)度服務(wù)器上執(zhí)行,調(diào)度服務(wù)器分別與超級(jí)計(jì)算中心、客戶端相連,在超級(jí)計(jì)算中心上以客戶端用戶的身份運(yùn)行各自的服務(wù)程序,且服務(wù)程序通過(guò)進(jìn)程間通訊與用作通訊接口的接口文件相關(guān)聯(lián),該方法包括步驟:接收由客戶端發(fā)送的訪問(wèn)服務(wù)程序的請(qǐng)求,該請(qǐng)求包含該客戶端上的用戶標(biāo)識(shí);根據(jù)用戶標(biāo)識(shí)確定服務(wù)程序所對(duì)應(yīng)的超級(jí)計(jì)算中心上的接口文件;以及利用安全外殼協(xié)議將所確定的接口文件映射為調(diào)度服務(wù)器本地的某個(gè)服務(wù),以便客戶端通過(guò)訪問(wèn)調(diào)度服務(wù)器本地的該服務(wù)來(lái)訪問(wèn)服務(wù)程序。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,根據(jù)用戶標(biāo)識(shí)確定服務(wù)程序所對(duì)應(yīng)的超級(jí)計(jì)算中心上的接口文件的步驟還包括:預(yù)先存儲(chǔ)客戶端用戶的訪問(wèn)權(quán)限列表,用于記錄每個(gè)用戶標(biāo)識(shí)對(duì)應(yīng)的服務(wù)程序、以及該服務(wù)程序所關(guān)聯(lián)的超級(jí)計(jì)算中心上的接口文件的文件標(biāo)識(shí)。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,調(diào)度服務(wù)器與所述客戶端之間通過(guò)進(jìn)程間通訊或tcp協(xié)議進(jìn)行通訊。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,利用安全外殼協(xié)議將所確定的接口文件映射為調(diào)度服務(wù)器本地的某個(gè)服務(wù)的步驟包括:利用安全外殼協(xié)議將所確定的接口文件映射到調(diào)度服務(wù)器本地的服務(wù)文件,以便客戶端通過(guò)進(jìn)程間通訊訪問(wèn)本地的服務(wù)文件來(lái)訪問(wèn)所述服務(wù)程序。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,利用安全外殼協(xié)議將所確定的接口文件映射為調(diào)度服務(wù)器本地的某個(gè)服務(wù)的步驟包括:利用安全外殼協(xié)議將所確定的接口文件映射為調(diào)度服務(wù)器本地的tcp端口上的某個(gè)服務(wù),以便客戶端通過(guò)tcp的方式來(lái)訪問(wèn)所述服務(wù)程序。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,當(dāng)tcp端口為本地回環(huán)地址時(shí),該方法還包括步驟:通過(guò)調(diào)度服務(wù)器上的公有服務(wù)層接收來(lái)自客戶端的訪問(wèn)服務(wù)程序的請(qǐng)求;以及通過(guò)公有服務(wù)層以tcp方式訪問(wèn)映射到本地回環(huán)地址上的服務(wù)。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,預(yù)先存儲(chǔ)客戶端用戶的訪問(wèn)權(quán)限列表的步驟還包括:通過(guò)公有服務(wù)層設(shè)置客戶端對(duì)服務(wù)程序的訪問(wèn)權(quán)限。
可選地,在根據(jù)本發(fā)明的服務(wù)程序的訪問(wèn)方法中,進(jìn)程間通訊為unixdomainsocket,接口文件為unixdomainsocket文件。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種訪問(wèn)超級(jí)計(jì)算中心的系統(tǒng),該系統(tǒng)包括:超級(jí)計(jì)算中心,適于以客戶端用戶的身份運(yùn)行各自的服務(wù)程序,其中,服務(wù)程序通過(guò)進(jìn)程間通訊與用作通訊接口的接口文件相關(guān)聯(lián);客戶端,適于發(fā)送訪問(wèn)運(yùn)行在超級(jí)計(jì)算中心上的服務(wù)程序的請(qǐng)求給調(diào)度服務(wù)器,該請(qǐng)求中包含客戶端上的用戶標(biāo)識(shí);調(diào)度服務(wù)器,分別與超級(jí)計(jì)算中心和客戶端相連,適于在接收到客戶端的訪問(wèn)請(qǐng)求后,根據(jù)用戶標(biāo)識(shí)確定請(qǐng)求訪問(wèn)的服務(wù)程序所對(duì)應(yīng)的超級(jí)計(jì)算中心上的接口文件、并利用安全外殼協(xié)議將該接口文件映射為調(diào)度服務(wù)器本地的某個(gè)服務(wù);以及客戶端還適于通過(guò)訪問(wèn)調(diào)度服務(wù)器本地的該服務(wù)來(lái)訪問(wèn)所述服務(wù)程序。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,調(diào)度服務(wù)器還適于存儲(chǔ)客戶端用戶的訪問(wèn)權(quán)限列表,用于記錄每個(gè)用戶標(biāo)識(shí)對(duì)應(yīng)的服務(wù)程序、以及該服務(wù)程序所關(guān)聯(lián)的超級(jí)計(jì)算中心上的接口文件的文件標(biāo)識(shí)。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,調(diào)度服務(wù)器適于以進(jìn)程間通訊的方式或tcp協(xié)議與客戶端進(jìn)行通訊。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,調(diào)度服務(wù)器適于利用安全外殼協(xié)議將所確定的接口文件映射到本地的服務(wù)文件;客戶端適于通過(guò)進(jìn)程間通訊訪問(wèn)本地的服務(wù)文件來(lái)訪問(wèn)服務(wù)程序。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,調(diào)度服務(wù)器還適于利用安全外殼協(xié)議將所確定的接口文件映射為本地tcp端口上的某個(gè)服務(wù);以及客戶端還適于通過(guò)該tcp端口訪問(wèn)該服務(wù)。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,當(dāng)tcp端口為本地回環(huán)地址時(shí),調(diào)度服務(wù)器還包括公有服務(wù)器,公有服務(wù)器適于接收來(lái)自客戶端的訪問(wèn)服務(wù)程序的請(qǐng)求、并以tcp方式訪問(wèn)映射在本地回環(huán)地址上的服務(wù)。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,公有服務(wù)器還適于設(shè)置客戶端用戶對(duì)服務(wù)程序的訪問(wèn)權(quán)限。
可選地,在根據(jù)本發(fā)明的系統(tǒng)中,進(jìn)程間通訊為unixdomainsocket,接口文件為unixdomainsocket文件。
根據(jù)本發(fā)明的訪問(wèn)超級(jí)計(jì)算中心上服務(wù)程序的方案,將超級(jí)計(jì)算中心上的服務(wù)程序通過(guò)進(jìn)程間通訊與用作通訊接口的接口文件相關(guān)聯(lián),當(dāng)客戶端用戶要訪問(wèn)超級(jí)計(jì)算中心上的服務(wù)程序時(shí),通過(guò)調(diào)度服務(wù)器將該服務(wù)程序的接口文件映射到調(diào)度服務(wù)器本地的一個(gè)服務(wù)上,以供客戶端直接訪問(wèn),一方面可以不受端口資源的限制,另一方面也避免了同一系統(tǒng)上其他用戶非法訪問(wèn),提高了安全性。
附圖說(shuō)明
為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方面,這些方面指示了可以實(shí)踐本文所公開(kāi)的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過(guò)結(jié)合附圖閱讀下面的詳細(xì)描述,本公開(kāi)的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開(kāi),相同的附圖標(biāo)記通常指代相同的部件或元素。
圖1示出了現(xiàn)有技術(shù)中訪問(wèn)超級(jí)計(jì)算中心上服務(wù)程序的一個(gè)方案的示意圖;
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的訪問(wèn)超級(jí)計(jì)算中心的系統(tǒng)200的示意圖;
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)程序的訪問(wèn)方法300的示意圖;以及
圖4示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的訪問(wèn)超級(jí)計(jì)算中心的系統(tǒng)200的示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的訪問(wèn)超級(jí)計(jì)算中心的系統(tǒng)200的示意圖。如圖2所示,該系統(tǒng)200包括多個(gè)超級(jí)計(jì)算中心210、調(diào)度服務(wù)器220和多個(gè)客戶端230,且調(diào)度服務(wù)器220分別與超級(jí)計(jì)算中心210和客戶端230相連接。
根據(jù)一種實(shí)現(xiàn)方式,每個(gè)超級(jí)計(jì)算中心210中都包含至少一個(gè)集群,每個(gè)集群又包括多個(gè)服務(wù)器(或,稱作計(jì)算節(jié)點(diǎn)),超級(jí)計(jì)算中心210通過(guò)這些計(jì)算節(jié)點(diǎn)運(yùn)行各種服務(wù)程序(或作業(yè)),完成計(jì)算任務(wù)。
在超級(jí)計(jì)算中心210的服務(wù)器上,每個(gè)客戶端230的服務(wù)程序都以客戶端用戶自己的身份運(yùn)行,例如,在超級(jí)計(jì)算中心210上,usera/b/c分別以自己的身份運(yùn)行各自的服務(wù)程序,不需要使用中間代理用戶,這樣就不會(huì)存在用戶身份切換的問(wèn)題。同時(shí),服務(wù)程序通過(guò)進(jìn)程間通訊與用作通訊接口的接口文件相關(guān)聯(lián),根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)程間通訊為unixdomainsocket,接口文件就是unixdomainsocket文件,也就是說(shuō),將服務(wù)程序綁定到unixdomainsocket文件上。相比于使用tcpsocket,由于unixdomainsocket不需要經(jīng)過(guò)網(wǎng)絡(luò)協(xié)議棧,不需要打包拆包、計(jì)算校驗(yàn)和等,只是將應(yīng)用層數(shù)據(jù)從一個(gè)進(jìn)程拷貝到另一個(gè)進(jìn)程,因此不需要開(kāi)放或監(jiān)聽(tīng)系統(tǒng)的端口;另外,unixdomainsocket使用完全基于文件系統(tǒng)安全性的socket文件作為通訊渠道,能夠更好地通訊保密,位于超級(jí)計(jì)算中心210上的其他用戶不能通過(guò)端口掃描的方式進(jìn)行非法訪問(wèn)。
調(diào)度服務(wù)器220通過(guò)安全外殼協(xié)議(即,ssh協(xié)議)與超級(jí)計(jì)算中心210進(jìn)行通訊,并通過(guò)進(jìn)程間通訊方式或tcp協(xié)議與客戶端230進(jìn)行通訊,具體的通訊方式取決于服務(wù)程序在調(diào)度服務(wù)器220上的映射方式,在下文會(huì)有詳細(xì)說(shuō)明,此處不作展開(kāi)。
如前文所述,超級(jí)計(jì)算中心210是一個(gè)網(wǎng)絡(luò)受限的環(huán)境,為了讓客戶端230上的用戶可以訪問(wèn)到其在超級(jí)計(jì)算中心210上啟動(dòng)的服務(wù)程序,需要將運(yùn)行在超級(jí)計(jì)算中心210上用戶的服務(wù)程序映射到調(diào)度服務(wù)器220上,客戶端230的用戶通過(guò)調(diào)度服務(wù)器220的公開(kāi)服務(wù)來(lái)訪問(wèn)超級(jí)計(jì)算中心210上的服務(wù)程序。
結(jié)合圖3,下面將重點(diǎn)介紹調(diào)度服務(wù)器220執(zhí)行服務(wù)程序的訪問(wèn)方法的過(guò)程。
圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)程序的訪問(wèn)方法300的示意圖。方法300在調(diào)度服務(wù)器220上執(zhí)行,該方法300始于步驟s310,接收由客戶端230發(fā)送的訪問(wèn)服務(wù)程序的請(qǐng)求,該請(qǐng)求包含該客戶端230上的用戶標(biāo)識(shí)userid。
隨后在步驟s320中,根據(jù)用戶標(biāo)識(shí)userid確定要訪問(wèn)的服務(wù)程序所對(duì)應(yīng)的超級(jí)計(jì)算中心上的接口文件。
在調(diào)度服務(wù)器220上,預(yù)先存儲(chǔ)客戶端用戶的訪問(wèn)權(quán)限列表,用于記錄每個(gè)用戶標(biāo)識(shí)對(duì)應(yīng)的服務(wù)程序(即,每個(gè)用戶在超級(jí)計(jì)算中心上啟動(dòng)的私有服務(wù))、以及該服務(wù)程序所關(guān)聯(lián)的超級(jí)計(jì)算中心上的接口文件的文件標(biāo)識(shí)。如下表1所示:
表1客戶端用戶訪問(wèn)權(quán)限列表
可選地,該列表中還可以關(guān)聯(lián)記錄超級(jí)計(jì)算中心標(biāo)識(shí)、集群標(biāo)識(shí)。一個(gè)用戶標(biāo)識(shí)也可能對(duì)應(yīng)多個(gè)服務(wù)程序,每個(gè)用戶使用一個(gè)單獨(dú)的接口文件啟動(dòng)自己的服務(wù)程序。還可以設(shè)置多個(gè)用戶共享同一服務(wù),如,用戶a使用接口文件“service1.socket”啟動(dòng)一個(gè)服務(wù)程序,他希望用戶b、c都可以使用這個(gè)服務(wù),那么用戶a只需要將“service1.socket”這個(gè)接口文件的文件權(quán)限分享給用戶b、c,這樣,用戶a、b、c就可以共享同一服務(wù)了,而其他沒(méi)有獲得權(quán)限的用戶,不能使用該服務(wù)。上述示例性地列舉了一些可能的涉及用戶訪問(wèn)權(quán)限的情況,本發(fā)明對(duì)此均不作限制。
調(diào)度服務(wù)器220根據(jù)上述的用戶訪問(wèn)權(quán)限列表就可以確定客戶端230的用戶對(duì)應(yīng)的服務(wù)程序所關(guān)聯(lián)的接口文件。
隨后在步驟s330中,利用安全外殼協(xié)議將所確定的接口文件映射為調(diào)度服務(wù)器220本地的某個(gè)服務(wù),以便客戶端230通過(guò)訪問(wèn)調(diào)度服務(wù)器220本地的該服務(wù)來(lái)訪問(wèn)服務(wù)程序。
根據(jù)本發(fā)明的一種實(shí)施方式,利用安全外殼協(xié)議ssh將所確定的接口文件映射到調(diào)度服務(wù)器220本地的服務(wù)文件,該服務(wù)文件也是unixdomainsocket文件。這樣,客戶端230可以通過(guò)進(jìn)程間通訊訪問(wèn)本地的服務(wù)文件來(lái)訪問(wèn)該服務(wù)程序。如下示出了將超級(jí)計(jì)算中心上的接口文件轉(zhuǎn)發(fā)到本地的unixdomainsocket文件的代碼示例:
socatunix-listen:/local/unix_domain_socket_file.sock\
exec:'sshuser@remoteserver\
"socatstdiounix-connect:/tmp/remote_socket_file.sock"'
上述代碼表示,remotesever上的服務(wù)程序,其關(guān)聯(lián)到了接口文件remote_socket_file上,通過(guò)該路徑/tmp/remote_socket_file.sock、利用ssh協(xié)議將該接口文件映射為本地的unixdomainsocket文件,即,/local/unix_domain_socket_file.sock上。這種情況下,調(diào)度服務(wù)器220與客戶端230之間通過(guò)進(jìn)程間通訊的方式進(jìn)行通訊。
根據(jù)本發(fā)明的另一種實(shí)施方式,利用安全外殼協(xié)議ssh將所確定的接口文件映射為調(diào)度服務(wù)器220本地的tcp端口上的某個(gè)服務(wù),這樣,客戶端230通過(guò)tcp的方式來(lái)訪問(wèn)該服務(wù)程序。如下示出了將超級(jí)計(jì)算中心上的接口文件轉(zhuǎn)發(fā)到本地tcp端口的代碼示例:
socattcp-listen:8000,bind=127.0.0.1\
exec:'sshuser@remoteserver\
"socatstdiounix-connect:/tmp/remote_socket_file.sock"'
上面的示例代碼是將remotesever上、關(guān)聯(lián)到接口文件remote_socket_file上的服務(wù)程序,通過(guò)ssh協(xié)議轉(zhuǎn)發(fā)到本地的127.0.0.0.1的8000端口上,客戶端230在本地訪問(wèn)127.0.0.1:8000就可以訪問(wèn)超級(jí)計(jì)算中心上對(duì)應(yīng)的服務(wù)程序了。
上述兩種實(shí)現(xiàn)方式,即,將服務(wù)程序的接口文件映射到本地的unixdomainsocket文件與映射到本地的tcp端口服務(wù)上,在服務(wù)功能上并沒(méi)有任何差別。只不過(guò)unixdomainsocket文件使用socket提供服務(wù),而tcp端口服務(wù)則使用ip和端口提供服務(wù)。也就是前文所述的,調(diào)度服務(wù)器220通過(guò)進(jìn)程間通訊方式還是tcp協(xié)議的方式與客戶端230進(jìn)行通訊。
更進(jìn)一步地,當(dāng)將所確定的接口文件映射為調(diào)度服務(wù)器220本地的tcp端口上的某個(gè)服務(wù)時(shí),可以映射到任意本地可用的ip。如,直接映射到調(diào)度服務(wù)器220的公網(wǎng)ip地址上的某個(gè)服務(wù),客戶端230可以通過(guò)公網(wǎng)ip和相應(yīng)的端口來(lái)訪問(wèn)該服務(wù)。
但在實(shí)際應(yīng)用中,考慮到超級(jí)計(jì)算中心服務(wù)的安全性,并不會(huì)將超級(jí)計(jì)算中心210上的接口文件直接映射到調(diào)度服務(wù)器220的公網(wǎng)ip上,而是選擇將其映射到回環(huán)地址127.0.0.1上。在這種情況下,相當(dāng)于在調(diào)度服務(wù)器220上布置了一個(gè)代理層——公有服務(wù)層publicservice,該公有服務(wù)層可以被實(shí)現(xiàn)為一個(gè)或多個(gè)公有服務(wù)器,如圖4所示。圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的該系統(tǒng)200的另一種示例性示意圖。
如圖4,在超級(jí)計(jì)算中心210上,用戶212、用戶214、用戶216以自己的身份運(yùn)行其對(duì)應(yīng)的服務(wù)程序,且各服務(wù)程序通過(guò)進(jìn)程間通訊與用作通訊接口的接口文件相關(guān)聯(lián),如服務(wù)程序2122與接口文件2124相關(guān)聯(lián),服務(wù)程序2142與接口文件2144相關(guān)聯(lián),服務(wù)程序2162與接口文件2164相關(guān)聯(lián),依次類推。
調(diào)度服務(wù)器220利用ssh通道將各接口文件映射到其回環(huán)地址127.0.0.1上的對(duì)應(yīng)服務(wù)。
客戶端230通過(guò)internet訪問(wèn)調(diào)度服務(wù)器220上的公有服務(wù)層或公有服務(wù)器224,公有服務(wù)器224接收到其訪問(wèn)服務(wù)程序的請(qǐng)求時(shí),再通過(guò)內(nèi)部tcp通訊訪問(wèn)映射到本地回環(huán)地址上的對(duì)應(yīng)服務(wù)。通過(guò)公有服務(wù)器224,客戶端230與超級(jí)計(jì)算中心210上的服務(wù)程序可以進(jìn)行雙向通訊,跨越了超級(jí)計(jì)算中心網(wǎng)絡(luò)受限的制約。
可選地,在該公有服務(wù)器224上,設(shè)置客戶端對(duì)服務(wù)程序的訪問(wèn)權(quán)限,如表1,設(shè)置用戶id001訪問(wèn)服務(wù)程序t1,用戶id002訪問(wèn)服務(wù)程序t2,當(dāng)然,也可以根據(jù)需要,設(shè)置用戶id001和用戶id002均可以訪問(wèn)服務(wù)程序t1。通過(guò)公有服務(wù)器224,既保證了客戶端上的用戶能夠準(zhǔn)確、方便地訪問(wèn)其在超級(jí)計(jì)算中心上啟動(dòng)的服務(wù)程序,又避免了直接將超級(jí)計(jì)算中心210上的服務(wù)程序暴露給客戶端用戶的風(fēng)險(xiǎn)。
參照上文所述,根據(jù)本發(fā)明的訪問(wèn)超級(jí)計(jì)算中心上服務(wù)程序的方案,將超級(jí)計(jì)算中心上的服務(wù)程序通過(guò)進(jìn)程間通訊與用作通訊接口的接口文件相關(guān)聯(lián),當(dāng)客戶端用戶要訪問(wèn)超級(jí)計(jì)算中心上的服務(wù)程序時(shí),通過(guò)調(diào)度服務(wù)器將該服務(wù)程序的接口文件映射到調(diào)度服務(wù)器本地的一個(gè)服務(wù)上,以供客戶端直接訪問(wèn),一方面可以不受端口資源的限制,另一方面也避免了同一系統(tǒng)上其他用戶非法訪問(wèn)。
進(jìn)一步地,通過(guò)在調(diào)度服務(wù)器上運(yùn)行統(tǒng)一的公共服務(wù),將超級(jí)計(jì)算中心服務(wù)器上每個(gè)用戶獨(dú)立運(yùn)行的服務(wù)程序發(fā)布給相應(yīng)的客戶端用戶。在保證安全性的同時(shí),也提供了靈活性。
應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說(shuō),如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開(kāi)的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
本發(fā)明一并公開(kāi)了:
a6、如a5所述的方法,其中,當(dāng)所述tcp端口為本地回環(huán)地址時(shí),所述服務(wù)程序的訪問(wèn)方法還包括步驟:通過(guò)所述調(diào)度服務(wù)器上的公有服務(wù)層接收來(lái)自客戶端的訪問(wèn)服務(wù)程序的請(qǐng)求;以及通過(guò)所述公有服務(wù)層以tcp方式訪問(wèn)映射到所述本地回環(huán)地址上的服務(wù)。
a7、如a6所述的方法,其中,所述預(yù)先存儲(chǔ)客戶端用戶的訪問(wèn)權(quán)限列表的步驟還包括:通過(guò)所述公有服務(wù)層設(shè)置客戶端對(duì)服務(wù)程序的訪問(wèn)權(quán)限。
a8、如a1-7中任一項(xiàng)所述的方法,其中,所述進(jìn)程間通訊為unixdomainsocket,所述接口文件為unixdomainsocket文件。
b14、如b13所述的系統(tǒng),其中,當(dāng)所述tcp端口為本地回環(huán)地址時(shí),所述調(diào)度服務(wù)器還包括公有服務(wù)器,所述公有服務(wù)器適于接收來(lái)自客戶端的訪問(wèn)服務(wù)程序的請(qǐng)求、并以tcp方式訪問(wèn)映射在所述本地回環(huán)地址上的服務(wù)。
b15、如b14所述的系統(tǒng),其中,所述公有服務(wù)器還適于設(shè)置客戶端用戶對(duì)服務(wù)程序的訪問(wèn)權(quán)限。
b16、如b9-15中任一項(xiàng)所述的系統(tǒng),其中,所述進(jìn)程間通訊為unixdomainsocket,所述接口文件為unixdomainsocket文件。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來(lái)描述普通對(duì)象僅僅表示涉及類似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說(shuō)明書中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。對(duì)于本發(fā)明的范圍,對(duì)本發(fā)明所做的公開(kāi)是說(shuō)明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。