本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法及裝置。
背景技術(shù):
無(wú)論是人們?nèi)粘5墓ぷ?、學(xué)習(xí)和娛樂(lè),基于網(wǎng)絡(luò)的應(yīng)用都被廣泛的使用。上述的基于網(wǎng)絡(luò)的應(yīng)用都是運(yùn)行在服務(wù)器端的,而服務(wù)器的性能雖然遠(yuǎn)強(qiáng)于一般的民用計(jì)算機(jī),但是當(dāng)服務(wù)器面對(duì)海量并發(fā)訪問(wèn)時(shí),服務(wù)器也會(huì)面臨很大的壓力,甚至服務(wù)器會(huì)有發(fā)生宕機(jī)的危險(xiǎn)。分布式拒絕服務(wù)(DDoS:Distributed Denial of Service)是一種網(wǎng)絡(luò)攻擊方式,就是基于海量并發(fā)訪問(wèn)而給服務(wù)器帶來(lái)巨大的運(yùn)行壓力,最終引發(fā)服務(wù)器的宕機(jī)。如何妥善的解決上述問(wèn)題,就成為了業(yè)界亟待解決的課題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法及裝置,用以提高服務(wù)器面對(duì)海量并發(fā)訪問(wèn)的抗壓能力,達(dá)到更加合理高效的利用服務(wù)器的系統(tǒng)資源的效果。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法,應(yīng)用于服務(wù)器端,包括:
設(shè)置響應(yīng)訪問(wèn)的等待處理機(jī)制;
設(shè)置網(wǎng)絡(luò)數(shù)據(jù)包的等待隊(duì)列的溢出處理機(jī)制;
設(shè)置關(guān)聯(lián)到同一個(gè)用戶文件句柄上的TCP套接字的處理機(jī)制。
在一個(gè)實(shí)施例中,所述設(shè)置響應(yīng)訪問(wèn)的等待處理機(jī)制,包括:
設(shè)置應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)為預(yù)設(shè)百分比的原響應(yīng)等待時(shí)長(zhǎng);
當(dāng)響應(yīng)等待時(shí)長(zhǎng)超過(guò)所述應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)時(shí),啟用響應(yīng)等待的快速回收機(jī)制和重新使用機(jī)制。
在一個(gè)實(shí)施例中,所述設(shè)置網(wǎng)絡(luò)數(shù)據(jù)包的等待隊(duì)列的溢出處理機(jī)制,包括:
實(shí)時(shí)判斷接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率是否大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率;
當(dāng)接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率時(shí),存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)包;
當(dāng)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)的存儲(chǔ)上限,拒絕接收新的網(wǎng)絡(luò)數(shù)據(jù)包。
在一個(gè)實(shí)施例中,所述設(shè)置關(guān)聯(lián)到同一個(gè)用戶文件句柄上的TCP套接字的處理機(jī)制,包括:
實(shí)時(shí)監(jiān)控未被關(guān)聯(lián)到任意一個(gè)用戶文件句柄上的TCP套接字的數(shù)量;
當(dāng)所述TCP套接字的數(shù)量大于預(yù)設(shè)的TCP套接字閾值時(shí),立即將孤兒連接復(fù)位并發(fā)送警告信息。
在一個(gè)實(shí)施例中,還包括:
設(shè)置TCP/IP會(huì)話的滑動(dòng)窗口設(shè)置為可變窗口。
設(shè)置系統(tǒng)緩存中的有效信息的檢查機(jī)制。
根據(jù)本發(fā)明實(shí)施例的第二方面,應(yīng)用于服務(wù)器端,提供一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置,包括:
第一設(shè)置模塊,用于設(shè)置響應(yīng)訪問(wèn)的等待處理機(jī)制;
第二設(shè)置模塊,用于設(shè)置網(wǎng)絡(luò)數(shù)據(jù)包的等待隊(duì)列的溢出處理機(jī)制;
第三設(shè)置模塊,用于設(shè)置關(guān)聯(lián)到同一個(gè)用戶文件句柄上的TCP套接字的處理機(jī)制。
在一個(gè)實(shí)施例中,所述第一設(shè)置模塊,包括:
設(shè)置子模塊,用于設(shè)置應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)為預(yù)設(shè)百分比的原響應(yīng)等待時(shí)長(zhǎng);
啟用子模塊,用于當(dāng)響應(yīng)等待時(shí)長(zhǎng)超過(guò)所述應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)時(shí),啟用響應(yīng)等待的快速回收機(jī)制和重新使用機(jī)制。
在一個(gè)實(shí)施例中,所述第二設(shè)置模塊,包括:
判斷子模塊,用于實(shí)時(shí)判斷接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率是否大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率;
存儲(chǔ)子模塊,用于當(dāng)接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率時(shí),存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)包;
拒絕子模塊,用于當(dāng)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)的存儲(chǔ)上限,拒絕接收新的網(wǎng)絡(luò)數(shù)據(jù)包。
在一個(gè)實(shí)施例中,所述第三設(shè)置模塊,包括:
監(jiān)控子模塊,用于實(shí)時(shí)監(jiān)控未被關(guān)聯(lián)到任意一個(gè)用戶文件句柄上的TCP套接字的數(shù)量;
復(fù)位子模塊,用于當(dāng)所述TCP套接字的數(shù)量大于預(yù)設(shè)的TCP套接字閾值時(shí),立即將孤兒連接復(fù)位并發(fā)送警告信息。
在一個(gè)實(shí)施例中,還包括:
第四設(shè)置模塊,用于設(shè)置TCP/IP會(huì)話的滑動(dòng)窗口設(shè)置為可變窗口。
第五設(shè)置模塊,用于設(shè)置系統(tǒng)緩存中的有效信息的檢查機(jī)制。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見,或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法的流程圖;
圖2為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法的步驟S11的流程圖;
圖3為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法的步驟S12的流程圖;
圖4為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法的步驟S13的流程圖;
圖5為本發(fā)明另一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法的流程圖;
圖6為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置的框圖;
圖7為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置的第一設(shè)置模塊61的框圖;
圖8為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置的第二設(shè)置模塊62的框圖;
圖9為本發(fā)明一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置的第三設(shè)置模塊63的框圖;
圖10為本發(fā)明另一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是根據(jù)一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法流程圖,如圖1所示,該應(yīng)對(duì)海量并發(fā)訪問(wèn)的方法,包括以下步驟S11-S13:
在步驟S11中,設(shè)置響應(yīng)訪問(wèn)的等待處理機(jī)制;
在步驟S12中,設(shè)置網(wǎng)絡(luò)數(shù)據(jù)包的等待隊(duì)列的溢出處理機(jī)制;
在步驟S13中,設(shè)置關(guān)聯(lián)到同一個(gè)用戶文件句柄上的TCP套接字的處理機(jī)制。
在一個(gè)實(shí)施例中,服務(wù)器面對(duì)海量并發(fā)訪問(wèn)時(shí),需要進(jìn)行相應(yīng)的設(shè)置才可承受海量并發(fā)數(shù)據(jù)所帶來(lái)的訪問(wèn)壓力,若服務(wù)器使用常規(guī)的設(shè)置去面對(duì)海量并發(fā)數(shù)據(jù)時(shí),服務(wù)器可能會(huì)出現(xiàn)卡頓,甚至是宕機(jī)的風(fēng)險(xiǎn)。為了解決上述問(wèn)題,需要將應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)設(shè)置為原響應(yīng)等待時(shí)長(zhǎng)的預(yù)設(shè)比例,且該比例大于0.1小于0.8。當(dāng)響應(yīng)等待時(shí)長(zhǎng)超過(guò)該應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)時(shí),啟用響應(yīng)等待的快速回收機(jī)制和重新使用機(jī)制。還需要實(shí)時(shí)判斷接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率是否大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率,當(dāng)接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率時(shí),存儲(chǔ)接收到當(dāng)還未開始處理的網(wǎng)絡(luò)數(shù)據(jù)包,當(dāng)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)的存儲(chǔ)上限,拒絕接收新的網(wǎng)絡(luò)數(shù)據(jù)包。再有,實(shí)時(shí)監(jiān)控未被關(guān)聯(lián)到任意一個(gè)用戶文件句柄上的TCP套接字的數(shù)量,當(dāng)所述TCP套接字的數(shù)量大于預(yù)設(shè)的TCP套接字閾值時(shí),立即將孤兒連接復(fù)位并發(fā)送警告信息。
除上述內(nèi)容之外,還包括設(shè)置套接字的狀態(tài)和該套接字的狀態(tài)的持續(xù)時(shí)間。具體而言,選擇套接字的狀態(tài)為FIN-WAIT-2,可以降低服務(wù)器系統(tǒng)內(nèi)存的占用率,進(jìn)而降低內(nèi)存溢出的風(fēng)險(xiǎn)。還有,設(shè)置客戶端發(fā)出的網(wǎng)絡(luò)數(shù)據(jù)包的頭部的緩沖區(qū)的處理機(jī)制,該網(wǎng)絡(luò)數(shù)據(jù)包的頭部的緩沖區(qū)的大小根據(jù)系統(tǒng)分頁(yè)大小來(lái)確定。再有在每隔預(yù)設(shè)的緩存檢查周期,檢查一次緩存的有效信息。設(shè)定服務(wù)器運(yùn)行程序的進(jìn)程數(shù)量為該服務(wù)器的cpu數(shù)量的整數(shù)倍,其中該cpu的數(shù)量包括cpu的線程數(shù)的數(shù)量。降低超時(shí)等待時(shí)間,例如將超時(shí)等待時(shí)間變?yōu)槟J(rèn)值的三分之一。
本發(fā)明可提高服務(wù)器面對(duì)海量并發(fā)訪問(wèn)的抗壓能力,達(dá)到更加合理高效的利用服務(wù)器的系統(tǒng)資源的效果。
在一個(gè)實(shí)施例中,如圖2所示,步驟S11包括如下步驟S21-S22:
在步驟S21中,設(shè)置應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)為預(yù)設(shè)百分比的原響應(yīng)等待時(shí)長(zhǎng);
在步驟S22中,當(dāng)響應(yīng)等待時(shí)長(zhǎng)超過(guò)所述應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)時(shí),啟用響應(yīng)等待的快速回收機(jī)制和重新使用機(jī)制。
在一個(gè)實(shí)施例中,服務(wù)器在等待對(duì)方響應(yīng)時(shí),服務(wù)器系統(tǒng)的部分網(wǎng)絡(luò)資源和部分硬件資源是處于被占用的狀態(tài),服務(wù)器同時(shí)等待的響應(yīng)越多,所占用網(wǎng)絡(luò)資源和硬件資源就越多。在應(yīng)對(duì)海量并發(fā)響應(yīng)時(shí),保持原響應(yīng)等待時(shí)長(zhǎng)會(huì)導(dǎo)致服務(wù)器出現(xiàn)無(wú)法及時(shí)處理新的響應(yīng)的情況,從而降低了用戶的使用體驗(yàn)。較佳的實(shí)施例,設(shè)置應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)為原響應(yīng)等待時(shí)長(zhǎng)的四分之一,當(dāng)服務(wù)器的系統(tǒng)對(duì)某一個(gè)客戶端的響應(yīng)等待時(shí)長(zhǎng)超過(guò)所述應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)時(shí),就啟動(dòng)響應(yīng)等待的快速回收機(jī)制和重新使用機(jī)制,達(dá)到釋放服務(wù)器的被占用的系統(tǒng)資源,以便響應(yīng)新的客戶端的請(qǐng)求。
在一個(gè)實(shí)施例中,如圖3所示,步驟S12包括如下步驟S31-S33:
在步驟S31中,實(shí)時(shí)判斷接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率是否大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率;
在步驟S32中,當(dāng)接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率時(shí),存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)包;
在步驟S33中,當(dāng)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)的存儲(chǔ)上限,拒絕接收新的網(wǎng)絡(luò)數(shù)據(jù)包。
在一個(gè)實(shí)施例中,為了防止服務(wù)器的系統(tǒng)資源占用率長(zhǎng)時(shí)間維持在過(guò)高情況而導(dǎo)致宕機(jī)的發(fā)生,所以需要避免服務(wù)器的系統(tǒng)同時(shí)處理過(guò)多的網(wǎng)絡(luò)數(shù)據(jù)包。服務(wù)器的系統(tǒng)實(shí)時(shí)判斷接收到的網(wǎng)絡(luò)數(shù)據(jù)包的速率,并與服務(wù)器處理網(wǎng)絡(luò)數(shù)據(jù)包的速率進(jìn)行比較。若服務(wù)器接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率,存儲(chǔ)接收到但還未開始處理的網(wǎng)絡(luò)數(shù)據(jù)包,以備當(dāng)前正在處理的數(shù)據(jù)包處理完成后,立即處理已存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包。另一方面,存儲(chǔ)過(guò)多的網(wǎng)絡(luò)數(shù)據(jù)包會(huì)給服務(wù)器的系統(tǒng)資源帶來(lái)巨大的壓力,所以需要設(shè)置網(wǎng)絡(luò)數(shù)據(jù)包的存儲(chǔ)上限,當(dāng)服務(wù)器存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到該預(yù)設(shè)的存儲(chǔ)上限時(shí),拒絕存儲(chǔ)新接收到的網(wǎng)絡(luò)數(shù)據(jù)包。
在一個(gè)實(shí)施例中,如圖4所示,步驟S13包括如下步驟S41-S42:
在步驟S41中,實(shí)時(shí)監(jiān)控未被關(guān)聯(lián)到任意一個(gè)用戶文件句柄上的TCP套接字的數(shù)量;
在步驟S42中,當(dāng)所述TCP套接字的數(shù)量大于預(yù)設(shè)的TCP套接字閾值時(shí),立即將孤兒連接復(fù)位并發(fā)送警告信息。
在一個(gè)實(shí)施例中,服務(wù)器實(shí)時(shí)監(jiān)控該未被關(guān)聯(lián)到任意一個(gè)用戶文件句柄上的TCP套接字的數(shù)量,當(dāng)該TCP套接字的數(shù)量大于預(yù)設(shè)的TCP套接字閾值時(shí),立即將孤兒連接復(fù)位并發(fā)送警告信息,可以防御DDoS攻擊。還有,當(dāng)服務(wù)器的內(nèi)存增加之后,應(yīng)該相應(yīng)的增加該預(yù)設(shè)的TCP套接字閾值的數(shù)值。
在一個(gè)實(shí)施例中,如圖5所示,還包括如下步驟S51-S52:
在步驟S51中,設(shè)置TCP/IP會(huì)話的滑動(dòng)窗口設(shè)置為可變窗口。
在步驟S52中,設(shè)置系統(tǒng)緩存中的有效信息的檢查機(jī)制。
在一個(gè)實(shí)施例中,設(shè)置TCP/IP會(huì)話的滑動(dòng)窗口設(shè)置為可變窗口,具體的編程指令為net.ipv4.tcp_window_scaling=1,其中,當(dāng)該net.ipv4.tcp_window_scaling取值為1的時(shí)候,該滑動(dòng)窗口設(shè)置為可變窗口。將滑動(dòng)窗口設(shè)置為可變窗口后,可提高數(shù)據(jù)傳輸能力。
設(shè)置系統(tǒng)緩存中的有效信息的檢查機(jī)制。在預(yù)設(shè)保留時(shí)間之內(nèi),該文件沒被請(qǐng)求,則刪除該文件的緩存。進(jìn)一步的,每間隔預(yù)設(shè)的檢查周期,檢查一次系統(tǒng)中各個(gè)緩存的有效性。
在一個(gè)實(shí)施例中,圖6是根據(jù)一示例性實(shí)施例示出的一種應(yīng)對(duì)海量并發(fā)訪問(wèn)的裝置框圖。如圖6示,該裝置包括第一設(shè)置模塊61、第二設(shè)置模塊62和第三設(shè)置模塊63。
該第一設(shè)置模塊61,用于設(shè)置響應(yīng)訪問(wèn)的等待處理機(jī)制;
該第二設(shè)置模塊62,用于設(shè)置網(wǎng)絡(luò)數(shù)據(jù)包的等待隊(duì)列的溢出處理機(jī)制;
該第三設(shè)置模塊63,用于設(shè)置關(guān)聯(lián)到同一個(gè)用戶文件句柄上的TCP套接字的處理機(jī)制。
如圖7所示,該第一設(shè)置模塊包括設(shè)置子模塊71和啟用子模塊72。
該設(shè)置子模塊71,用于設(shè)置應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)為預(yù)設(shè)百分比的原響應(yīng)等待時(shí)長(zhǎng);
該啟用子模塊72,用于當(dāng)響應(yīng)等待時(shí)長(zhǎng)超過(guò)所述應(yīng)對(duì)響應(yīng)等待時(shí)長(zhǎng)時(shí),啟用響應(yīng)等待的快速回收機(jī)制和重新使用機(jī)制。
如圖8所示,該第二設(shè)置模塊包括判斷子模塊81、存儲(chǔ)子模塊82和拒絕子模塊83。
該判斷子模塊81,用于實(shí)時(shí)判斷接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率是否大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率;
該存儲(chǔ)子模塊82,用于當(dāng)接收到網(wǎng)絡(luò)數(shù)據(jù)包的速率大于處理網(wǎng)絡(luò)數(shù)據(jù)包的速率時(shí),存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)包;
該拒絕子模塊83,用于當(dāng)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到預(yù)設(shè)的存儲(chǔ)上限,拒絕接收新的網(wǎng)絡(luò)數(shù)據(jù)包。
如圖9所示,該第三設(shè)置模塊63包括監(jiān)控子模塊91和復(fù)位子模塊92。
該監(jiān)控子模塊91,用于實(shí)時(shí)監(jiān)控未被關(guān)聯(lián)到任意一個(gè)用戶文件句柄上的TCP套接字的數(shù)量;
該復(fù)位子模塊92,用于當(dāng)所述TCP套接字的數(shù)量大于預(yù)設(shè)的TCP套接字閾值時(shí),立即將孤兒連接復(fù)位并發(fā)送警告信息。
如圖10所示,還包括第四設(shè)置模塊101和第五設(shè)置模塊102。
該第四設(shè)置模塊101,用于設(shè)置TCP/IP會(huì)話的滑動(dòng)窗口設(shè)置為可變窗口。
該第五設(shè)置模塊102,用于設(shè)置系統(tǒng)緩存中的有效信息的檢查機(jī)制。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。