隊列創(chuàng)建新進程; 在創(chuàng)建的新進程中創(chuàng)建一個監(jiān)聽線程和多個工作線程; 將在新進程中創(chuàng)建的監(jiān)聽線程與新增加的該網(wǎng)卡隊列綁定。
7.如權(quán)利要求1-4任一所述的方法,其特征在于,還包括: 當(dāng)一個進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量小于第一預(yù)設(shè)數(shù)量閾值時,在該進程中創(chuàng)建新的工作線程;和/或 當(dāng)一個進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量大于第二預(yù)設(shè)數(shù)量閾值時,在該進程中撤銷處于空閑狀態(tài)的工作線程,且撤銷后該進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量不大于第二預(yù)設(shè)數(shù)量閾值。
8.—種業(yè)務(wù)請求處理方法,應(yīng)用于服務(wù)器的多隊列網(wǎng)卡,所述多隊列網(wǎng)卡的網(wǎng)卡隊列中存儲來自客戶端的業(yè)務(wù)請求,其特征在于,所述服務(wù)器上創(chuàng)建有與所述多隊列網(wǎng)卡的網(wǎng)卡隊列數(shù)相等數(shù)量的進程,且每個進程中創(chuàng)建有一個監(jiān)聽線程和多個工作線程,且創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定,所述方法包括: 所述多隊列網(wǎng)卡從自身的網(wǎng)卡隊列中獲取來自客戶端的業(yè)務(wù)請求; 向與該網(wǎng)卡隊列綁定的監(jiān)聽線程發(fā)送所述業(yè)務(wù)請求; 接收與該監(jiān)聽線程屬于同一進程的工作線程對所述業(yè)務(wù)請求進行業(yè)務(wù)處理后發(fā)送的業(yè)務(wù)處理結(jié)果; 向所述客戶端返回所述業(yè)務(wù)處理結(jié)果。
9.如權(quán)利要求8所述的方法,其特征在于,在從自身的網(wǎng)卡隊列中獲取來自客戶端的業(yè)務(wù)請求之前,還包括: 接收已創(chuàng)建的各監(jiān)聽線程分別發(fā)送的業(yè)務(wù)請求獲取消息,所述業(yè)務(wù)請求獲取消息中攜帶監(jiān)聽線程綁定的網(wǎng)卡隊列的隊列標識; 確定發(fā)送所述業(yè)務(wù)請求獲取消息的監(jiān)聽線程,與所述業(yè)務(wù)請求獲取消息中攜帶的所述隊列標識對應(yīng)的網(wǎng)卡隊列相綁定。
10.如權(quán)利要求8所述的方法,其特征在于,所述服務(wù)器具有多硬件核處理器,創(chuàng)建的每個監(jiān)聽線程分別與所述多硬件核處理器中的不同的目標硬件核綁定,且所述多隊列網(wǎng)卡中的每個網(wǎng)卡隊列分別與所述目標硬件核中不同的硬件核綁定,從而實現(xiàn)創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定;其中,所述目標硬件核為所述多硬件核處理器中用于綁定所述監(jiān)聽線程和所述網(wǎng)卡隊列的所有硬件核,所述網(wǎng)卡隊列的數(shù)量等于所述目標硬件核的數(shù)量; 向與該網(wǎng)卡隊列綁定的監(jiān)聽線程發(fā)送所述業(yè)務(wù)請求,包括: 向與該網(wǎng)卡隊列綁定的目標硬件核上運行的監(jiān)聽線程發(fā)送所述業(yè)務(wù)請求。
11.如權(quán)利要求10所述的方法,其特征在于,每個進程中創(chuàng)建的工作線程綁定一個硬件核。
12.如權(quán)利要求11所述的方法,其特征在于,不同進程中創(chuàng)建的工作線程綁定的硬件核不同。
13.—種業(yè)務(wù)請求處理方法,應(yīng)用于服務(wù)器上創(chuàng)建的監(jiān)聽線程,所述服務(wù)器具有多隊列網(wǎng)卡,所述多隊列網(wǎng)卡的網(wǎng)卡隊列中存儲來自客戶端的業(yè)務(wù)請求,其特征在于,所述服務(wù)器上創(chuàng)建有與所述多隊列網(wǎng)卡的網(wǎng)卡隊列數(shù)相等數(shù)量的進程,且每個進程中創(chuàng)建有一個監(jiān)聽線程和多個工作線程,且創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定,所述方法包括: 監(jiān)聽線程接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與該監(jiān)聽線程綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求; 向與該監(jiān)聽線程屬于同一進程的處于空閑狀態(tài)的工作線程發(fā)送所述業(yè)務(wù)請求,用于指示該工作線程對所述業(yè)務(wù)請求進行業(yè)務(wù)處理,并將得到的業(yè)務(wù)處理結(jié)果發(fā)送給所述多隊列網(wǎng)卡。
14.如權(quán)利要求13所述的方法,其特征在于,在接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與該監(jiān)聽線程綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求之前,還包括: 向所述多隊列網(wǎng)卡發(fā)送業(yè)務(wù)請求獲取消息,所述業(yè)務(wù)請求獲取消息中攜帶該監(jiān)聽線程綁定的網(wǎng)卡隊列的隊列標識,用于所述多隊列網(wǎng)卡確定該監(jiān)聽線程與所述隊列標識對應(yīng)的網(wǎng)卡隊列相綁定。
15.如權(quán)利要求13所述的方法,其特征在于,所述服務(wù)器具有多硬件核處理器,創(chuàng)建的每個監(jiān)聽線程分別與所述多硬件核處理器中的不同的目標硬件核綁定,且所述多隊列網(wǎng)卡中的每個網(wǎng)卡隊列分別與所述目標硬件核中不同的硬件核綁定,從而實現(xiàn)創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定;其中,所述目標硬件核為所述多硬件核處理器中用于綁定所述監(jiān)聽線程和所述網(wǎng)卡隊列的所有硬件核,所述網(wǎng)卡隊列的數(shù)量等于所述目標硬件核的數(shù)量; 監(jiān)聽線程接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與該監(jiān)聽線程綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求,包括: 監(jiān)聽線程接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與運行該監(jiān)聽線程的目標硬件核綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求。
16.如權(quán)利要求15所述的方法,其特征在于,每個進程中創(chuàng)建的工作線程綁定一個硬件核。
17.如權(quán)利要求16所述的方法,其特征在于,不同進程中創(chuàng)建的工作線程綁定的硬件核不同。
18.如權(quán)利要求13-17任一所述的方法,其特征在于,還包括: 當(dāng)該監(jiān)聽線程所屬進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量小于第一預(yù)設(shè)數(shù)量閾值時,在該進程中創(chuàng)建新的工作線程;和/或 當(dāng)該監(jiān)聽線程所屬進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量大于第二預(yù)設(shè)數(shù)量閾值時,在該進程中撤銷處于空閑狀態(tài)的工作線程,且撤銷后該進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量不大于第二預(yù)設(shè)數(shù)量閾值。
19.一種線程創(chuàng)建裝置,應(yīng)用于具有多隊列網(wǎng)卡的服務(wù)器,所述多隊列網(wǎng)卡的網(wǎng)卡隊列中存儲來自客戶端的業(yè)務(wù)請求,其特征在于,包括: 數(shù)量獲取單元,用于獲取所述服務(wù)器的所述多隊列網(wǎng)卡的網(wǎng)卡隊列數(shù); 進程創(chuàng)建單元,用于創(chuàng)建與所述網(wǎng)卡隊列數(shù)相等數(shù)量的進程; 線程創(chuàng)建單元,用于在每個進程中創(chuàng)建一個監(jiān)聽線程和多個工作線程; 綁定單元,用于將創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定。
20.如權(quán)利要求19所述的裝置,其特征在于,所述服務(wù)器具有多硬件核處理器; 所述綁定單元,具體用于將創(chuàng)建的每個監(jiān)聽線程分別與所述多硬件核處理器中的不同的目標硬件核綁定,將所述多隊列網(wǎng)卡中的每個網(wǎng)卡隊列分別與所述目標硬件核中不同的硬件核綁定,從而實現(xiàn)創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定;其中,所述目標硬件核為所述多硬件核處理器中用于綁定所述監(jiān)聽線程和所述網(wǎng)卡隊列的所有硬件核,所述網(wǎng)卡隊列的數(shù)量等于所述目標硬件核的數(shù)量。
21.如權(quán)利要求20所述的裝置,其特征在于,所述綁定單元,還用于將每個進程中創(chuàng)建的工作線程綁定一個硬件核。
22.如權(quán)利要求21所述的裝置,其特征在于,不同進程中創(chuàng)建的工作線程綁定的硬件核不同。
23.如權(quán)利要求20-22任一所述的裝置,其特征在于,所述線程創(chuàng)建單元,還用于當(dāng)所述服務(wù)器的多硬件核處理器的硬件核增加時,針對每個增加的硬件核,在一個進程中創(chuàng)建新的工作線程; 所述綁定單元,還用于將創(chuàng)建的新的工作線程與新增加的該硬件核綁定。
24.如權(quán)利要求19-22任一所述的裝置,其特征在于,所述進程創(chuàng)建單元,還用于當(dāng)所述服務(wù)器的多隊列網(wǎng)卡的網(wǎng)卡隊列增加時,針對每個增加的網(wǎng)卡隊列創(chuàng)建新進程; 所述線程創(chuàng)建單元,還用于在創(chuàng)建的新進程中創(chuàng)建監(jiān)聽線程和工作線程; 所述綁定單元,還用于將在新進程中創(chuàng)建的監(jiān)聽線程與新增加的該網(wǎng)卡隊列綁定。
25.如權(quán)利要求19-22任一所述的裝置,其特征在于,所述線程創(chuàng)建單元,還用于當(dāng)一個進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量小于第一預(yù)設(shè)數(shù)量閾值時,在該進程中創(chuàng)建新的工作線程;和/或 還用于當(dāng)一個進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量大于第二預(yù)設(shè)數(shù)量閾值時,在該進程中撤銷處于空閑狀態(tài)的工作線程,且撤銷后該進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量不大于第二預(yù)設(shè)數(shù)量閾值。
26.—種業(yè)務(wù)請求處理裝置,應(yīng)用于服務(wù)器的多隊列網(wǎng)卡,所述多隊列網(wǎng)卡的網(wǎng)卡隊列中存儲來自客戶端的業(yè)務(wù)請求,其特征在于,所述服務(wù)器上創(chuàng)建有與所述多隊列網(wǎng)卡的網(wǎng)卡隊列數(shù)相等數(shù)量的進程,且每個進程中創(chuàng)建有一個監(jiān)聽線程和多個工作線程,且創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定,所述裝置包括: 業(yè)務(wù)請求獲取單元,用于從所述多隊列網(wǎng)卡的網(wǎng)卡隊列中獲取來自客戶端的業(yè)務(wù)請求; 第一發(fā)送單元,用于向與該網(wǎng)卡隊列綁定的監(jiān)聽線程發(fā)送所述業(yè)務(wù)請求; 接收單元,用于接收與該監(jiān)聽線程屬于同一進程的工作線程對所述業(yè)務(wù)請求進行業(yè)務(wù)處理后發(fā)送的業(yè)務(wù)處理結(jié)果; 第二發(fā)送單元,用于向所述客戶端返回所述業(yè)務(wù)處理結(jié)果。
27.如權(quán)利要求26所述的裝置,其特征在于,所述接收單元,還用于所述業(yè)務(wù)請求獲取單元在從所述多隊列網(wǎng)卡的網(wǎng)卡隊列中獲取來自客戶端的業(yè)務(wù)請求之前,接收已創(chuàng)建的各監(jiān)聽線程分別發(fā)送的業(yè)務(wù)請求獲取消息,所述業(yè)務(wù)請求獲取消息中攜帶監(jiān)聽線程綁定的網(wǎng)卡隊列的隊列標識; 所述裝置,還包括: 綁定關(guān)系確定單元,用于確定發(fā)送所述業(yè)務(wù)請求獲取消息的監(jiān)聽線程,與所述業(yè)務(wù)請求獲取消息中攜帶的所述隊列標識對應(yīng)的網(wǎng)卡隊列相綁定。
28.如權(quán)利要求26所述的裝置,其特征在于,所述服務(wù)器具有多硬件核處理器,創(chuàng)建的每個監(jiān)聽線程分別與所述多硬件核處理器中的不同的目標硬件核綁定,且所述多隊列網(wǎng)卡中的每個網(wǎng)卡隊列分別與所述目標硬件核中不同的硬件核綁定,從而實現(xiàn)創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定;其中,所述目標硬件核為所述多硬件核處理器中用于綁定所述監(jiān)聽線程和所述網(wǎng)卡隊列的所有硬件核,所述網(wǎng)卡隊列的數(shù)量等于所述目標硬件核的數(shù)量; 所述第一發(fā)送單元,具體用于向與該網(wǎng)卡隊列綁定的目標硬件核上運行的監(jiān)聽線程發(fā)送所述業(yè)務(wù)請求。
29.如權(quán)利要求28所述的裝置,其特征在于,每個進程中創(chuàng)建的工作線程綁定一個硬件核。
30.如權(quán)利要求29所述的裝置,其特征在于,不同進程中創(chuàng)建的工作線程綁定的硬件核不同。
31.一種業(yè)務(wù)請求處理裝置,應(yīng)用于服務(wù)器上創(chuàng)建的監(jiān)聽線程,所述服務(wù)器具有多隊列網(wǎng)卡,所述多隊列網(wǎng)卡的網(wǎng)卡隊列中存儲來自客戶端的業(yè)務(wù)請求,其特征在于,所述服務(wù)器上創(chuàng)建有與所述多隊列網(wǎng)卡的網(wǎng)卡隊列數(shù)相等數(shù)量的進程,且每個進程中創(chuàng)建有一個監(jiān)聽線程和多個工作線程,且創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定,所述裝置包括: 接收單元,用于接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與該監(jiān)聽線程綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求; 第一發(fā)送單元,用于向與該監(jiān)聽線程屬于同一進程的處于空閑狀態(tài)的工作線程發(fā)送所述業(yè)務(wù)請求,用于指示所述工作線程對所述業(yè)務(wù)請求進行業(yè)務(wù)處理,并將得到的業(yè)務(wù)處理結(jié)果發(fā)送給所述多隊列網(wǎng)卡。
32.如權(quán)利要求31所述的裝置,其特征在于,還包括: 第二發(fā)送單元,用于在所述接收單元接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與該監(jiān)聽線程綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求之前,向所述多隊列網(wǎng)卡發(fā)送業(yè)務(wù)請求獲取消息,所述業(yè)務(wù)請求獲取消息中攜帶所述監(jiān)聽線程綁定的網(wǎng)卡隊列的隊列標識,用于所述多隊列網(wǎng)卡確定所述監(jiān)聽線程與所述隊列標識對應(yīng)的網(wǎng)卡隊列相綁定。
33.如權(quán)利要求31所述的裝置,其特征在于,所述服務(wù)器具有多硬件核處理器,創(chuàng)建的每個監(jiān)聽線程分別與所述多硬件核處理器中的不同的目標硬件核綁定,且所述多隊列網(wǎng)卡中的每個網(wǎng)卡隊列分別與所述目標硬件核中不同的硬件核綁定,從而實現(xiàn)創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定;其中,所述目標硬件核為所述多硬件核處理器中用于綁定所述監(jiān)聽線程和所述網(wǎng)卡隊列的所有硬件核,所述網(wǎng)卡隊列的數(shù)量等于所述目標硬件核的數(shù)量; 所述接收單元,具體用于接收所述服務(wù)器的多隊列網(wǎng)卡發(fā)送的從與運行該監(jiān)聽線程的目標硬件核綁定的網(wǎng)卡隊列中獲取的來自客戶端的業(yè)務(wù)請求。
34.如權(quán)利要求33所述的裝置,其特征在于,每個進程中創(chuàng)建的工作線程綁定一個硬件核。
35.如權(quán)利要求34所述的裝置,其特征在于,不同進程中創(chuàng)建的工作線程綁定的硬件核不同。
36.如權(quán)利要求31-35任一所述的裝置,其特征在于,還包括: 線程創(chuàng)建單元,用于當(dāng)該監(jiān)聽線程所屬進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量小于第一預(yù)設(shè)數(shù)量閾值時,在該進程中創(chuàng)建新的工作線程;和/或 用于當(dāng)該監(jiān)聽線程所屬進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量大于第二預(yù)設(shè)數(shù)量閾值時,在該進程中撤銷處于空閑狀態(tài)的工作線程,且撤銷后該進程中創(chuàng)建的工作線程中處于空閑狀態(tài)的工作線程的數(shù)量不大于第二預(yù)設(shè)數(shù)量閾值。
【專利摘要】本發(fā)明公開了一種線程創(chuàng)建方法、業(yè)務(wù)請求處理方法及相關(guān)設(shè)備,包括:獲取服務(wù)器的多隊列網(wǎng)卡的網(wǎng)卡隊列數(shù);并創(chuàng)建與網(wǎng)卡隊列數(shù)相等數(shù)量的進程;并在每個進程中創(chuàng)建一個監(jiān)聽線程和多個工作線程;以及將創(chuàng)建的每個監(jiān)聽線程分別與不同的網(wǎng)卡隊列綁定。采用本發(fā)明實施例提供的方案,使得進程和線程創(chuàng)建更合理,且提高了服務(wù)器對并發(fā)的業(yè)務(wù)請求的處理效率。
【IPC分類】G06F9-46
【公開號】CN104750543
【申請?zhí)枴緾N201310733930
【發(fā)明人】沈晴霓, 李才, 郭明宇, 張?zhí)? 陳克平, 蔡毅
【申請人】杭州華為數(shù)字技術(shù)有限公司
【公開日】2015年7月1日
【申請日】2013年12月26日
【公告號】WO2015096656A1