1.一種基于業(yè)務(wù)優(yōu)先級的高并發(fā)服務(wù)資源分配方法,其特征在于:設(shè)置調(diào)度器;該調(diào)度器與服務(wù)器集群中的所有服務(wù)器相連;該調(diào)度器存儲有所有服務(wù)器的標(biāo)識,組成該服務(wù)器集群的服務(wù)器標(biāo)識隊列;
所述高并發(fā)服務(wù)資源分配方法包括如下步驟:
步驟S1,調(diào)度器接收用戶發(fā)出的業(yè)務(wù)請求;
步驟S2,所述調(diào)度器為接收到的每個業(yè)務(wù)請求生成一個進(jìn)程;
步驟S3,所述調(diào)度器采用輪詢方式轉(zhuǎn)發(fā)所接收到的業(yè)務(wù)請求給服務(wù)器,當(dāng)有服務(wù)器服務(wù)資源充足,接受該業(yè)務(wù)請求時,相應(yīng)的進(jìn)程結(jié)束;當(dāng)所有服務(wù)器都服務(wù)資源不足,暫停接入請求時,轉(zhuǎn)入步驟S4;
步驟S4,所述調(diào)度器將未被服務(wù)器接受的業(yè)務(wù)請求存儲下來;
步驟S5,所述調(diào)度器從配置文件中調(diào)取所存儲的業(yè)務(wù)請求的業(yè)務(wù)優(yōu)先級;
步驟S6、按照業(yè)務(wù)優(yōu)先級及業(yè)務(wù)請求發(fā)出時間,調(diào)度器將存儲的業(yè)務(wù)請求插入到相應(yīng)的業(yè)務(wù)請求隊列中的相應(yīng)位置;
具體地,業(yè)務(wù)請求隊列由優(yōu)先級相同的業(yè)務(wù)請求組成,每一個業(yè)務(wù)請求隊列中,按用戶發(fā)出業(yè)務(wù)請求的時間先后順序排隊;
步驟S7,所述調(diào)度器根據(jù)業(yè)務(wù)請求隊列中的業(yè)務(wù)優(yōu)先級及該業(yè)務(wù)請求隊列中的業(yè)務(wù)請求數(shù)量設(shè)定重發(fā)該業(yè)務(wù)請求隊列的時間間隔t,具體地,滿足niti<njtj,其中i、j表示業(yè)務(wù)請求隊列標(biāo)號,i業(yè)務(wù)請求隊列業(yè)務(wù)優(yōu)先級高于j業(yè)務(wù)請求隊列的業(yè)務(wù)優(yōu)先級,ni、ti分別為i業(yè)務(wù)請求隊列中的業(yè)務(wù)請求數(shù)量及重發(fā)該業(yè)務(wù)請求隊列的時間間隔,nj、tj分別為j業(yè)務(wù)請求隊列中的業(yè)務(wù)請求數(shù)量及重發(fā)該業(yè)務(wù)請求隊列的時間間隔;
步驟S8,所述調(diào)度器為每條業(yè)務(wù)請求隊列生成一個進(jìn)程;
步驟S9,所述調(diào)度器每隔時間t,采用輪詢方式重發(fā)相應(yīng)的業(yè)務(wù)請求隊列,直到該業(yè)務(wù)請求隊列的所有業(yè)務(wù)請求被服務(wù)器接受,結(jié)束該進(jìn)程。
2.根據(jù)權(quán)利要求1所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述步驟S3包括如下子步驟:
步驟S301,調(diào)度器從配置文件中獲取該業(yè)務(wù)請求所需服務(wù)資源單位數(shù);具體地,用戶將每一業(yè)務(wù)類型所需服務(wù)資源單位數(shù)存儲在配置文件中,供調(diào)度器獲??;
步驟S302,所述調(diào)度器將服務(wù)器標(biāo)識隊列中的隊頭元素出隊并插入隊尾;
步驟S303,所述調(diào)度器將接收的業(yè)務(wù)請求及獲取到的所需服務(wù)資源單位數(shù)轉(zhuǎn)發(fā)給隊尾標(biāo)識的服務(wù)器;
步驟S304,所述隊尾標(biāo)識的服務(wù)器判斷自身剩余服務(wù)資源單位數(shù)是否大于等于調(diào)度器轉(zhuǎn)發(fā)的所需服務(wù)資源單位數(shù);是,該服務(wù)器接受并處理該業(yè)務(wù)請求,結(jié)束該進(jìn)程,否,該服務(wù)器向調(diào)度器返回“業(yè)務(wù)暫停接入”響應(yīng);
重復(fù)上述步驟S301~S304,直到有一服務(wù)器接受該業(yè)務(wù)請求,相應(yīng)的進(jìn)程結(jié)束;或所有服務(wù)器均返回“業(yè)務(wù)暫停接入”響應(yīng),轉(zhuǎn)入步驟S4。
3.根據(jù)權(quán)利要求1所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述業(yè)務(wù)優(yōu)先級由用戶需求決定,根據(jù)任務(wù)的緊急、重要程度,設(shè)置業(yè)務(wù)優(yōu)先級,將業(yè)務(wù)優(yōu)先級寫入配置文件中,供調(diào)度器調(diào)取。
4.根據(jù)權(quán)利要求1所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述步驟S9包括如下子步驟:
步驟S901,調(diào)度器從配置文件中獲取該業(yè)務(wù)請求隊列第一個業(yè)務(wù)請求所需服務(wù)資源單位數(shù);
步驟S902,調(diào)度器將服務(wù)器標(biāo)識隊列中的隊頭元素出隊并插入隊尾;
步驟S903,t時間間隔后,所述調(diào)度器將該業(yè)務(wù)請求隊列中第一個業(yè)務(wù)請求及該業(yè)務(wù)請求所需服務(wù)資源單位數(shù)轉(zhuǎn)發(fā)給隊尾標(biāo)識的服務(wù)器;
步驟S904,所述隊尾標(biāo)識的服務(wù)器判斷自身剩余服務(wù)資源單位數(shù)是否大于等于調(diào)度器轉(zhuǎn)發(fā)的所需資源單位數(shù);是,該服務(wù)器接受并處理所述的第一個業(yè)務(wù)請求,調(diào)度器將該業(yè)務(wù)請求從業(yè)務(wù)請求隊列中刪除;否,該服務(wù)器向調(diào)度器返回“業(yè)務(wù)暫停接入”響應(yīng);
重復(fù)上述步驟S901~S904,直到該業(yè)務(wù)請求隊列中的所有業(yè)務(wù)請求均被服務(wù)器接受,結(jié)束該進(jìn)程。
5.根據(jù)權(quán)利要求1所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述調(diào)度器采用兩臺服務(wù)器以主備方式實現(xiàn)。
6.一種基于業(yè)務(wù)優(yōu)先級的高并發(fā)服務(wù)資源分配方法,其特征在于:設(shè)置調(diào)度器;該調(diào)度器與服務(wù)器集群中的所有服務(wù)器相連;該調(diào)度器存儲有所有服務(wù)器的標(biāo)識,組成該服務(wù)器集群的服務(wù)器標(biāo)識隊列;調(diào)度器每隔一定時間向所有服務(wù)器詢問服務(wù)資源消耗情況,獲得服務(wù)器集群的總資源消耗比;
所述高并發(fā)服務(wù)資源分配方法包括如下步驟:
步驟S1,調(diào)度器接收用戶發(fā)出的業(yè)務(wù)請求;
步驟S2,調(diào)度器判斷當(dāng)前服務(wù)器集群的總資源消耗比是否達(dá)到調(diào)度器所設(shè)置的閾值;判斷結(jié)果為是時,轉(zhuǎn)步驟S5;判斷結(jié)果為否時,轉(zhuǎn)步驟S3;
步驟S3,所述調(diào)度器為接收到的每個業(yè)務(wù)請求生成一個進(jìn)程;
步驟S4,所述調(diào)度器采用輪詢方式轉(zhuǎn)發(fā)所接收到的業(yè)務(wù)請求給服務(wù)器,當(dāng)有服務(wù)器服務(wù)資源充足,接受該業(yè)務(wù)請求時,相應(yīng)的進(jìn)程結(jié)束;
步驟S5,所述調(diào)度器將所述業(yè)務(wù)請求存儲下來;
步驟S6,所述調(diào)度器從配置文件中調(diào)取所存儲的業(yè)務(wù)請求的業(yè)務(wù)優(yōu)先級;業(yè)務(wù)優(yōu)先級由用戶需求決定,用戶根據(jù)任務(wù)的緊急、重要程度,設(shè)置業(yè)務(wù)優(yōu)先級,將業(yè)務(wù)優(yōu)先級寫入配置文件中,供調(diào)度器調(diào)??;
步驟S7、按照業(yè)務(wù)優(yōu)先級及業(yè)務(wù)請求發(fā)出的時間,將該業(yè)務(wù)請求插入到相應(yīng)業(yè)務(wù)請求隊列中的相應(yīng)位置;
具體地,業(yè)務(wù)請求隊列由優(yōu)先級相同的業(yè)務(wù)請求組成,每一個業(yè)務(wù)請求隊列中,按用戶發(fā)出業(yè)務(wù)請求的時間先后順序排隊;
步驟S8,所述調(diào)度器根據(jù)業(yè)務(wù)請求隊列中的業(yè)務(wù)優(yōu)先級及該業(yè)務(wù)請求隊列中的業(yè)務(wù)請求數(shù)量設(shè)定重發(fā)該業(yè)務(wù)請求隊列的時間間隔t,具體地,滿足niti<njtj,其中i、j表示業(yè)務(wù)請求隊列標(biāo)號,i業(yè)務(wù)請求隊列業(yè)務(wù)優(yōu)先級高于j業(yè)務(wù)請求隊列的業(yè)務(wù)優(yōu)先級,ni、ti分別為i業(yè)務(wù)請求隊列中的業(yè)務(wù)請求數(shù)量及重發(fā)該業(yè)務(wù)請求隊列的時間間隔,nj、tj分別為j業(yè)務(wù)請求隊列中的業(yè)務(wù)請求數(shù)量及重發(fā)該業(yè)務(wù)請求隊列的時間間隔;
步驟S9,所述調(diào)度器為每條業(yè)務(wù)請求隊列生成一個進(jìn)程;
步驟S10,所述調(diào)度器每隔時間t,采用輪詢方式重發(fā)相應(yīng)的業(yè)務(wù)請求隊列,直到該業(yè)務(wù)請求隊列的所有業(yè)務(wù)請求被服務(wù)器接受,停止重發(fā)該業(yè)務(wù)請求隊列,結(jié)束該進(jìn)程。
7.根據(jù)權(quán)利要求6所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述閾值由用戶需求決定,根據(jù)實際情況設(shè)置,設(shè)置原則是隨著對業(yè)務(wù)優(yōu)先級側(cè)重程度的增大,減小該閾值。
8.根據(jù)權(quán)利要求7所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述閾值取為75%。
9.根據(jù)權(quán)利要求6所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述步驟S4包括如下子步驟:
步驟S401,調(diào)度器從配置文件中獲取該業(yè)務(wù)請求所需服務(wù)資源單位數(shù);具體地,用戶將每一業(yè)務(wù)類型所需服務(wù)資源單位數(shù)存儲在配置文件中,供調(diào)度器獲取;
步驟S402,所述調(diào)度器將服務(wù)器標(biāo)識隊列中的隊頭元素出隊并插入隊尾;
步驟S403,所述調(diào)度器將獲取到的所需服務(wù)資源單位數(shù)轉(zhuǎn)發(fā)給隊尾標(biāo)識的服務(wù)器;
步驟S404,所述隊尾標(biāo)識的服務(wù)器判斷自身剩余服務(wù)資源單位數(shù)是否大于等于調(diào)度器轉(zhuǎn)發(fā)的所需服務(wù)資源單位數(shù);是,該服務(wù)器接受并處理該業(yè)務(wù)請求,結(jié)束該進(jìn)程;否,該服務(wù)器向調(diào)度器返回“業(yè)務(wù)暫停接入”響應(yīng);
重復(fù)上述步驟S401~S404,直到有一服務(wù)器接受該業(yè)務(wù)請求,結(jié)束相應(yīng)進(jìn)程。
10.根據(jù)權(quán)利要求6所述的高并發(fā)服務(wù)資源分配方法,其特征在于:所述步驟S10包括如下子步驟:
步驟S1001,調(diào)度器從配置文件中獲取該業(yè)務(wù)請求隊列第一個業(yè)務(wù)請求所需服務(wù)資源單位數(shù);
步驟S1002,t時間間隔后,調(diào)度器將服務(wù)器標(biāo)識隊列中的隊頭元素出隊并插入隊尾;
步驟S1003,所述調(diào)度器將該業(yè)務(wù)請求隊列中第一個業(yè)務(wù)請求所需服務(wù)資源單位數(shù)轉(zhuǎn)發(fā)給隊尾標(biāo)識的服務(wù)器;
步驟S1004,所述隊尾標(biāo)識的服務(wù)器判斷自身剩余服務(wù)資源單位數(shù)是否大于等于調(diào)度器轉(zhuǎn)發(fā)的所需資源單位數(shù);是,該服務(wù)器接受并處理業(yè)務(wù)請求隊列中的第一個業(yè)務(wù)請求,相應(yīng)的業(yè)務(wù)請求從業(yè)務(wù)請求隊列中刪除;否,則該服務(wù)器向調(diào)度器返回“業(yè)務(wù)暫停接入”響應(yīng);
重復(fù)上述步驟S1001~S1004,直到該業(yè)務(wù)請求隊列中的所有業(yè)務(wù)請求均被服務(wù)器接受,停止重發(fā)該業(yè)務(wù)請求隊列,結(jié)束該進(jìn)程。