本發(fā)明涉及移動(dòng)通訊領(lǐng)域,特別是涉及一種數(shù)據(jù)傳輸方法、虛擬機(jī)和宿主機(jī)。
背景技術(shù):
虛擬化是指在物理計(jì)算機(jī)上虛擬出多個(gè)虛擬計(jì)算機(jī),每個(gè)虛擬的計(jì)算機(jī)可以作為獨(dú)立的終端加入云端的分布式系統(tǒng)。比起直接使用的物理平臺(tái),虛擬化在資源的有效利用、動(dòng)態(tài)調(diào)配和高可靠性方面有著巨大的優(yōu)勢。
虛擬化技術(shù)引入了新的虛擬化層,對(duì)下管理真實(shí)的物理資源,對(duì)上提供虛擬的系統(tǒng)資源,每個(gè)虛擬平臺(tái)都可以運(yùn)行獨(dú)立完整的操作系統(tǒng)。提供虛擬計(jì)算資源的軟件被稱為虛擬機(jī)監(jiān)控器(virtualmachinemonitor,簡稱為vmm)。
虛擬機(jī)監(jiān)控器運(yùn)行的環(huán)境,也就是真實(shí)的物理平臺(tái),稱之為宿主機(jī),而虛擬出來的平臺(tái)稱為客戶機(jī)或虛擬機(jī)。一般宿主機(jī)與虛擬機(jī)的交互方式是使用虛擬網(wǎng)絡(luò)計(jì)算機(jī)(virtualnetworkcomputer,簡稱為vnc)軟件的方式,宿主機(jī)與虛擬機(jī)均設(shè)置有網(wǎng)絡(luò)端口,從宿主機(jī)登陸到虛擬機(jī)上執(zhí)行命令,通過網(wǎng)絡(luò)連接的方式,登陸到虛擬機(jī)的終端上執(zhí)行命令,這種實(shí)現(xiàn)方法依賴于網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)故障時(shí),宿主機(jī)無法訪問虛擬機(jī)。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中宿主機(jī)與虛擬機(jī)之間的交互依賴于網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)故障時(shí),宿主機(jī)無法訪問虛擬機(jī)的問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的數(shù)據(jù)傳輸方法、虛擬機(jī)和宿主機(jī)。
本發(fā)明提供一種虛擬機(jī),包括:
串口設(shè)備,用于與宿主機(jī)進(jìn)行連接的接口;
虛擬化層模塊,與串口設(shè)備相連接,用于傳輸虛擬機(jī)與宿主機(jī)之間的數(shù)據(jù)。
其中,串口設(shè)備配置有標(biāo)識(shí),用于標(biāo)示虛擬機(jī)通過串口設(shè)備與宿主機(jī)進(jìn)行數(shù)據(jù)傳輸。
這樣,虛擬化層模塊用于根據(jù)標(biāo)識(shí),確定將來自串口設(shè)備的數(shù)據(jù)發(fā)送給宿主機(jī)。
優(yōu)選地,虛擬機(jī)還包括:
判斷模塊,用于判斷來自宿主機(jī)的數(shù)據(jù)是否合法,如果合法,則執(zhí)行相應(yīng)操作,如果不合法,則放棄相應(yīng)操作。
其中,數(shù)據(jù)的格式包括json格式。
本發(fā)明還提供了一種宿主機(jī),包括:
套接字設(shè)備,用于與虛擬機(jī)進(jìn)行連接的接口;其中,
套接字設(shè)備與虛擬機(jī)上的虛擬化層模塊相連接。
其中,套接字設(shè)備配置有標(biāo)識(shí),用于標(biāo)示宿主機(jī)通過套接字設(shè)備與虛擬機(jī)進(jìn)行數(shù)據(jù)傳輸。
優(yōu)選地,其特征在于,數(shù)據(jù)的格式包括json格式。
本發(fā)明還提供了一種數(shù)據(jù)傳輸方法,包括:
宿主機(jī)通過套接字設(shè)備向虛擬化層模塊發(fā)送數(shù)據(jù);
虛擬化層模塊根據(jù)套接字設(shè)備的標(biāo)識(shí),將數(shù)據(jù)通過串口設(shè)備發(fā)送給虛擬機(jī)。
該方法還包括:
虛擬機(jī)接收數(shù)據(jù);
虛擬機(jī)判斷數(shù)據(jù)是否合法,如果合法,則執(zhí)行相應(yīng)操作,通過串口設(shè)備向虛擬化層模塊發(fā)送反饋數(shù)據(jù);
如果不合法,則放棄相應(yīng)操作。
其中,虛擬機(jī)判斷數(shù)據(jù)是否合法,如果合法,則執(zhí)行相應(yīng)操作,向虛擬化層模塊發(fā)送反饋數(shù)據(jù)之后,還包括:
虛擬化層模塊根據(jù)串口設(shè)備的標(biāo)識(shí),將反饋數(shù)據(jù)通過套接字設(shè)備發(fā)送給宿主機(jī)。
本發(fā)明有益效果如下:
借助于本發(fā)明實(shí)施例的數(shù)據(jù)傳輸方法、虛擬機(jī)和宿主機(jī),解決了宿主機(jī)與虛擬機(jī)之間的交互依賴于網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)故障時(shí),宿主機(jī)無法訪問虛擬機(jī)的問題,根據(jù)本發(fā)明,宿主機(jī)與虛擬機(jī)之間的交互不依賴于網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)故障時(shí),宿主機(jī)仍能訪問虛擬機(jī),進(jìn)行進(jìn)一步的問題定位。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1是本發(fā)明實(shí)施例的虛擬機(jī)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例的虛擬機(jī)和宿主機(jī)的詳細(xì)結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例的數(shù)據(jù)傳輸方法的流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本 公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)現(xiàn)了一種宿主機(jī)和虛擬機(jī)進(jìn)行命令交互的方法,這種方法不依賴于網(wǎng)絡(luò),而是依賴于虛擬串口設(shè)備,虛擬化層軟件qemu提供了串口設(shè)備的模擬及數(shù)據(jù)交換的通道,在虛擬機(jī)內(nèi)部呈現(xiàn)出來的是一個(gè)串口設(shè)備,在宿主機(jī)上呈現(xiàn)為一個(gè)套接字文件。宿主機(jī)上使用套接字讀寫方式對(duì)文件進(jìn)行讀寫,與虛擬機(jī)進(jìn)行交互,實(shí)現(xiàn)了在其他通道異常的情況下對(duì)虛擬機(jī)進(jìn)行信息采集和命令執(zhí)行的功能。以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
裝置實(shí)施例一
根據(jù)本發(fā)明的實(shí)施例,提供了一種虛擬機(jī),圖1是本發(fā)明實(shí)施例的虛擬機(jī)的結(jié)構(gòu)示意圖,如圖1所示,根據(jù)本發(fā)明實(shí)施例的虛擬機(jī)包括串口設(shè)備10和虛擬化層模塊12,以下對(duì)本發(fā)明實(shí)施例的各個(gè)模塊進(jìn)行詳細(xì)的說明。
串口設(shè)備10,用于與宿主機(jī)進(jìn)行連接的接口;
虛擬化層模塊12,與串口設(shè)備10相連接,用于傳輸虛擬機(jī)與宿主機(jī)之間的數(shù)據(jù)。
其中,串口設(shè)備10配置有標(biāo)識(shí),用于標(biāo)示虛擬機(jī)通過串口設(shè)備與宿主機(jī)進(jìn)行數(shù)據(jù)傳輸,這樣,虛擬化層模塊12可以根據(jù)該標(biāo)識(shí),確定將來自串口設(shè)備的數(shù)據(jù)發(fā)送給宿主機(jī)。
另外,該虛擬機(jī)還包括判斷模塊,與虛擬化層模塊相連接,用于判斷來自宿主機(jī)的數(shù)據(jù)是否合法,如果合法,則執(zhí)行相應(yīng)操作,如果不合法,則放棄相應(yīng)操作。
其中,數(shù)據(jù)的格式包括json格式。
本發(fā)明實(shí)施例中,虛擬機(jī)部分軟件通過讀寫串口設(shè)備與宿主機(jī)上的套接字通道進(jìn)行交互,宿主機(jī)上可以使用普通的套接字讀寫方式對(duì)套接字文件進(jìn)行讀寫,最終實(shí)現(xiàn)與虛擬機(jī)的交互,交互協(xié)議使用json格式進(jìn)行數(shù)據(jù)交換,由于串口設(shè)備的速率通常都較低,適合小數(shù)據(jù)量的交換,json(javascriptobject notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,采用獨(dú)立于語言的文本格式,易于機(jī)器解析和生成。
裝置實(shí)施例二
根據(jù)本發(fā)明的實(shí)施例,提供了一種宿主機(jī),該宿主機(jī)包括套接字設(shè)備,用于與虛擬機(jī)進(jìn)行連接的接口;其中,套接字設(shè)備與虛擬機(jī)上的虛擬化層模塊相連接。
該套接字設(shè)備配置有標(biāo)識(shí),用于標(biāo)示宿主機(jī)通過套接字設(shè)備與虛擬機(jī)進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)的格式包括json格式。
本發(fā)明實(shí)施例中,宿主機(jī)上的軟件實(shí)現(xiàn)了套接字進(jìn)程間通信的客戶端功能,啟動(dòng)虛擬機(jī)時(shí),首先通過調(diào)用socket函數(shù)創(chuàng)建進(jìn)程通信所需的套接字,然后,根據(jù)虛擬機(jī)描述文件中的套接字地址信息調(diào)用connect函數(shù)來連接虛擬機(jī)監(jiān)控器進(jìn)程中的服務(wù)端,在成功建立連接后,保存下文件句柄,之后就可以通過調(diào)用write函數(shù)向服務(wù)器發(fā)送指定的消息。宿主機(jī)上的軟件啟動(dòng)一個(gè)線程守護(hù)套接字文件的收發(fā)。撤銷虛擬機(jī)時(shí),宿主機(jī)上的軟件斷開套接字連接,釋放相應(yīng)的資源。
圖2是本發(fā)明實(shí)施例的虛擬機(jī)和宿主機(jī)的詳細(xì)結(jié)構(gòu)示意圖,如圖2所示,包括虛擬機(jī)20和宿主機(jī)22,其中,虛擬機(jī)20包括串口設(shè)備200、虛擬化層模塊202和判斷模塊204,宿主機(jī)22包括套接字設(shè)備220,其中,
串口設(shè)備200,用于與宿主機(jī)進(jìn)行連接的接口;
虛擬化層模塊202,與串口設(shè)備200相連接,用于傳輸虛擬機(jī)與宿主機(jī)之間的數(shù)據(jù)。
其中,串口設(shè)備200配置有標(biāo)識(shí),用于標(biāo)示虛擬機(jī)通過串口設(shè)備200與宿主機(jī)進(jìn)行數(shù)據(jù)傳輸。這樣,虛擬化層模塊202用于根據(jù)標(biāo)識(shí),確定將來自串口設(shè)備200的數(shù)據(jù)發(fā)送給宿主機(jī)。
優(yōu)選地,虛擬機(jī)還包括:
判斷模塊204,用于判斷來自宿主機(jī)的數(shù)據(jù)是否合法,如果合法,則執(zhí)行 相應(yīng)操作,如果不合法,則放棄相應(yīng)操作。
套接字設(shè)備220,用于與虛擬機(jī)進(jìn)行連接的接口;其中,
套接字設(shè)備220與虛擬機(jī)上的虛擬化層模塊202相連接。
其中,套接字設(shè)備220配置有標(biāo)識(shí),用于標(biāo)示宿主機(jī)通過套接字設(shè)備220與虛擬機(jī)進(jìn)行數(shù)據(jù)傳輸。
為實(shí)現(xiàn)宿主機(jī)與虛擬機(jī)之間的交互,本發(fā)明通過運(yùn)行在虛擬機(jī)內(nèi)部的應(yīng)用程序,通過虛擬的串口設(shè)備終端實(shí)現(xiàn)命令的執(zhí)行;虛擬化層軟件qemu則提供了串口設(shè)備的模擬及數(shù)據(jù)交換的通道;宿主機(jī)上運(yùn)行的軟件,使用讀寫套接字文件的進(jìn)程間通信方法實(shí)現(xiàn)命令交互。
方法實(shí)施例
根據(jù)本發(fā)明的實(shí)施例,提供了一種數(shù)據(jù)傳輸方法,圖3是本發(fā)明實(shí)施例的數(shù)據(jù)傳輸方法的流程圖,如圖3所示,根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)傳輸方法包括如下處理:
步驟301,宿主機(jī)通過套接字設(shè)備向虛擬化層模塊發(fā)送數(shù)據(jù);
步驟302,虛擬化層模塊根據(jù)套接字設(shè)備的標(biāo)識(shí),將數(shù)據(jù)通過串口設(shè)備發(fā)送給虛擬機(jī)。
虛擬機(jī)接收數(shù)據(jù)后,判斷數(shù)據(jù)是否合法,如果合法,則執(zhí)行相應(yīng)操作,通過串口設(shè)備向虛擬化層模塊發(fā)送反饋數(shù)據(jù);如果不合法,則放棄相應(yīng)操作。
其中,虛擬機(jī)判斷數(shù)據(jù)是否合法,如果合法,則執(zhí)行相應(yīng)操作,向虛擬化層模塊發(fā)送反饋數(shù)據(jù)之后,還包括:虛擬化層模塊根據(jù)串口設(shè)備的標(biāo)識(shí),將反饋數(shù)據(jù)通過套接字設(shè)備發(fā)送給宿主機(jī)。
通過本發(fā)明實(shí)施例,宿主機(jī)與虛擬機(jī)之間的交互不依賴于網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)故障時(shí),宿主機(jī)仍能訪問虛擬機(jī),進(jìn)行進(jìn)一步的問題定位。
下面結(jié)合具體事例對(duì)本發(fā)明實(shí)施例的數(shù)據(jù)傳輸方法進(jìn)行詳細(xì)說明,具體包括如下處理:
虛擬機(jī)監(jiān)控器在創(chuàng)建虛擬機(jī)時(shí),根據(jù)傳入的參數(shù),實(shí)現(xiàn)了套接字進(jìn)程間通 信的服務(wù)端功能。首先,程序通過調(diào)用socket函數(shù),建立了監(jiān)聽連接的套接字,然后調(diào)用bind函數(shù),將套接字與傳入的地址信息關(guān)聯(lián)起來。再調(diào)用listen函數(shù)實(shí)現(xiàn)對(duì)該端口的監(jiān)聽,當(dāng)有連接請(qǐng)求時(shí),通過調(diào)用accept函數(shù)建立與客戶機(jī)的連接,最后,調(diào)用read函數(shù)來讀取客戶機(jī)發(fā)送過來的消息,轉(zhuǎn)送到虛擬機(jī)串口設(shè)備中。從虛擬機(jī)串口設(shè)備中收到數(shù)據(jù)則通過send函數(shù)發(fā)送到套接字通信連接中。撤銷虛擬機(jī)時(shí),虛擬機(jī)監(jiān)控器關(guān)閉相應(yīng)的套接字連接。
虛擬機(jī)內(nèi)部的軟件在初始化時(shí)根據(jù)創(chuàng)建虛擬機(jī)設(shè)置的串口設(shè)備路徑信息打開虛擬串口設(shè)備,記錄下設(shè)備文件句柄,啟動(dòng)守護(hù)線程檢查字符設(shè)備上的收發(fā)數(shù)據(jù)。
物理機(jī)執(zhí)行交互命令時(shí),物理機(jī)軟件進(jìn)程首先接收傳入的命令,解析傳入的命令是否符合要求,不符合要求的直接返回錯(cuò)誤;然后將符合要求的命令格式轉(zhuǎn)成json格式,再通過文件句柄將命令內(nèi)容寫入套接字文件;對(duì)于命令執(zhí)行的時(shí)間可以設(shè)置為一直等待、超時(shí)時(shí)間和不等待三種;對(duì)于一直等待和有超時(shí)時(shí)間的情況,則軟件進(jìn)入等待流程;對(duì)于不等待的命令則寫入后立即返回。虛擬機(jī)監(jiān)控器進(jìn)程收到命令消息后,將命令內(nèi)容放入模擬的串口設(shè)備中,并通知虛擬機(jī);虛擬機(jī)中的處理軟件收到串口上的命令后,執(zhí)行相應(yīng)的命令,并將結(jié)果輸出至串口設(shè)備中。虛擬機(jī)監(jiān)控器根據(jù)通道的模擬信息,將串口設(shè)備的輸出數(shù)據(jù),通過套接字發(fā)給物理機(jī)軟件。物理機(jī)上的守護(hù)線程在套接字收到數(shù)據(jù)后處理命令執(zhí)行結(jié)果檢查格式是否正確,并向在等待的執(zhí)行命令線程發(fā)送信號(hào);執(zhí)行命令的線程收到信號(hào)后,檢查執(zhí)行結(jié)果;如果帶有錯(cuò)誤信息,則返回錯(cuò)誤;如果沒有錯(cuò)誤信息,則解析命令執(zhí)行返回的內(nèi)容,并將數(shù)據(jù)內(nèi)容返回。如果命令執(zhí)行時(shí)設(shè)置了超時(shí)時(shí)間,超過超時(shí)時(shí)間后仍然沒有收到虛擬機(jī)的響應(yīng),則命令執(zhí)行程序會(huì)返回超時(shí)錯(cuò)誤;如果虛擬機(jī)執(zhí)行命令時(shí)間較長,超過了超時(shí)等待時(shí)間,則會(huì)在執(zhí)行命令的線程已返回后又收到虛擬機(jī)返回的結(jié)果,這時(shí)物理機(jī)軟件需要判斷這種情況,丟棄收到的命令執(zhí)行結(jié)果。
虛擬機(jī)內(nèi)部的軟件在命令執(zhí)行時(shí),首先守護(hù)線程檢測到字符設(shè)備收到數(shù) 據(jù),然后從串口設(shè)備上讀取數(shù)據(jù),進(jìn)行數(shù)據(jù)的格式轉(zhuǎn)換,將json數(shù)據(jù)格式轉(zhuǎn)換成普通的字符格式,并進(jìn)行格式檢查和校驗(yàn)。在收到的字符信息中搜索關(guān)鍵字段,如果含有命令執(zhí)行關(guān)鍵字,則檢查命令執(zhí)行權(quán)限。虛擬機(jī)內(nèi)部的軟件為保證虛擬機(jī)的運(yùn)行安全,對(duì)可以執(zhí)行的命令進(jìn)行了管理,分為白名單和黑名單;對(duì)于存放在白名單中的命令,允許執(zhí)行相應(yīng)的命令;對(duì)于存放在黑名單中的命令則返回錯(cuò)誤,不執(zhí)行相應(yīng)的命令。用戶可以根據(jù)運(yùn)行環(huán)境的需要設(shè)置系統(tǒng)的白名單和黑名單內(nèi)容;如果命令是可執(zhí)行的,則虛擬機(jī)內(nèi)部的軟件調(diào)用系統(tǒng)命令執(zhí)行相應(yīng)的命令,檢查命令執(zhí)行結(jié)果,如果命令執(zhí)行失敗則返回錯(cuò)誤;如果命令執(zhí)行成功,則將執(zhí)行結(jié)果進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換成json格式后寫入到字符設(shè)備句柄中,完成命令執(zhí)行;守護(hù)線程返回到主流程中等待下一次命令執(zhí)行。
本發(fā)明實(shí)施例實(shí)現(xiàn)了一種在網(wǎng)絡(luò)連接之外的物理機(jī)與虛擬機(jī)的命令交互方法,可以用于虛擬機(jī)的問題分析和定位,例如適合于在虛擬機(jī)上執(zhí)行設(shè)置參數(shù)、查詢狀態(tài)等命令。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一 起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的客戶端中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)客戶端中??梢园褜?shí)施例中的模塊組合成一個(gè)模塊,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者客戶端的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(dsp)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的加載有排序網(wǎng)址的客戶端中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何 其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。