亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種信息處理方法、裝置和系統(tǒng)與流程

文檔序號(hào):12161850閱讀:164來源:國知局
一種信息處理方法、裝置和系統(tǒng)與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù),特別涉及一種信息處理方法、裝置和系統(tǒng)。



背景技術(shù):

現(xiàn)在業(yè)務(wù)系統(tǒng)中,為了防止負(fù)載過高造成雪崩,需要給業(yè)務(wù)進(jìn)行每秒查詢率(Query Per Second,QPS)流量限制。而現(xiàn)在的后臺(tái)系統(tǒng)大多是異地容災(zāi),由于各地流量大小不一樣,會(huì)面臨QPS多機(jī)器分配問題。

現(xiàn)有的技術(shù)方案包括:首先,各個(gè)業(yè)務(wù)服務(wù)器將業(yè)務(wù)日志匯總到一臺(tái)QPS計(jì)算服務(wù)器;然后,QPS計(jì)算服務(wù)器通過對(duì)日志文件的處理,計(jì)算出一天的總業(yè)務(wù)量和各個(gè)業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;接著,通過單機(jī)業(yè)務(wù)量來計(jì)算一小時(shí)單機(jī)業(yè)務(wù)量的平均值;再按平均值再算出每臺(tái)業(yè)務(wù)服務(wù)器的流量比例,結(jié)果寫文件;最后,由文件推送系統(tǒng)將文件推送到各個(gè)業(yè)務(wù)服務(wù)器上,由業(yè)務(wù)進(jìn)程加載到內(nèi)存中。業(yè)務(wù)將以此流量比例分配下一小時(shí)的流量QPS。

但是,現(xiàn)有技術(shù)存在以下缺陷:

1、無法實(shí)時(shí)動(dòng)態(tài)適應(yīng)流量變化

現(xiàn)有技術(shù)是以一天或一小時(shí)的平均值來分配QPS,無法考慮到各個(gè)地域的流量波動(dòng)。線上業(yè)務(wù)通常會(huì)因?yàn)橐粋€(gè)tips彈窗,引來一個(gè)瞬間的流量峰值,而這個(gè)峰值往往只會(huì)持續(xù)十幾分鐘至半個(gè)小時(shí),因?yàn)閠ips內(nèi)容上存在地域差異,地域性tips彈出時(shí)間都不一致?;ヂ?lián)網(wǎng)流量每天也會(huì)有固定的早高峰和晚高峰的規(guī)律,這些高峰也會(huì)因?yàn)榈赜虿町悾霈F(xiàn)一些時(shí)間上的差異。如果僅僅參考平均值,有峰值的服務(wù)器會(huì)因?yàn)镼PS小而拒絕很多有價(jià)值的流量,而其他沒有峰值的服務(wù)器上很可能會(huì)出現(xiàn)QPS過剩的情況。流量峰值過后,很可能下一小時(shí)該服務(wù)器又被分配了超額了QPS,占用了其他服務(wù)器的QPS額度,造成QPS 利用不充分,影響別的服務(wù)器的QPS份額。

2、文件處理依賴磁盤,增大了故障概率

現(xiàn)在服務(wù)器故障大部分為磁盤只讀或其他磁盤故障,例如,磁盤已滿等。現(xiàn)有技術(shù)方案依賴磁盤存儲(chǔ)日志文件和計(jì)算結(jié)果,當(dāng)磁盤出現(xiàn)故障時(shí)則無法進(jìn)行計(jì)算,也就無法推送計(jì)算結(jié)果。

3、業(yè)務(wù)需要定時(shí)讀取文件,增加了業(yè)務(wù)邏輯的復(fù)雜性

業(yè)務(wù)進(jìn)程除了處理業(yè)務(wù)之外,還需要定時(shí)讀取QPS文件,同時(shí)還需要考慮讀取數(shù)據(jù)后的生效邏輯,還需要考慮如果文件沒更新的情況,增加了業(yè)務(wù)邏輯的復(fù)雜性。



技術(shù)實(shí)現(xiàn)要素:

為解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實(shí)施例提供一種信息處理方法、裝置和系統(tǒng)。

本發(fā)明實(shí)施例提供一種信息處理方法,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)包括QPS計(jì)算服務(wù)器和業(yè)務(wù)服務(wù)器,所述方法包括:

所述業(yè)務(wù)服務(wù)器獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器;

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存;

所述QPS計(jì)算服務(wù)器將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;

所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

其中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量;

所述業(yè)務(wù)服務(wù)器獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過API上報(bào)所述業(yè)務(wù)信息給QPS計(jì)算服務(wù)器,包括:

所述業(yè)務(wù)服務(wù)器統(tǒng)計(jì)自身預(yù)設(shè)的第一時(shí)間段內(nèi)有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量;

所述業(yè)務(wù)服務(wù)器將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

其中,所述QPS分配信息包括業(yè)務(wù)量比例;

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括:

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

所述QPS計(jì)算服務(wù)器根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

其中,所述QPS分配信息包括QPS分量;

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括:

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

所述QPS計(jì)算服務(wù)器根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

其中,所述根據(jù)所述QPS分配信息進(jìn)行流量控制包括:

所述業(yè)務(wù)服務(wù)器根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;

所述業(yè)務(wù)服務(wù)器根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供一種信息處理方法,應(yīng)用于業(yè)務(wù)服務(wù)器,所述方法包括:

獲取預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器;以使所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)信息得到QPS分配信息,通過API將所述QPS分配信息寫入第一內(nèi)存,并將所述第一內(nèi)存中的QPS分配信息分發(fā)給對(duì)應(yīng)的所述業(yè)務(wù)服務(wù)器的第二內(nèi)存;

通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

其中,所述QPS分配信息包括業(yè)務(wù)量比例;

所述根據(jù)所述QPS分配信息進(jìn)行流量控制包括:

根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;

根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供一種信息處理方法,應(yīng)用于QPS計(jì)算服務(wù)器,所述方法包括:

根據(jù)業(yè)務(wù)服務(wù)器應(yīng)用程序編程接口API上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存;所述業(yè)務(wù)信息是業(yè)務(wù)服務(wù)器在預(yù)設(shè)的第一時(shí)間段內(nèi)獲取的;

將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;以使所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

其中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括業(yè)務(wù)量比例;

所述根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括,

根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

其中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括QPS分量;

所述根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括,

根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

本發(fā)明實(shí)施例提供一種信息處理系統(tǒng),所述系統(tǒng)包括QPS計(jì)算服務(wù)器和業(yè)務(wù)服務(wù)器;

所述業(yè)務(wù)服務(wù)器,用于獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給QPS計(jì)算服務(wù)器;還用于通過API從第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制;

所述QPS計(jì)算服務(wù)器,用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存;還用于將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;

其中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量;

所述業(yè)務(wù)服務(wù)器,具體用于統(tǒng)計(jì)自身預(yù)設(shè)的第一時(shí)間段內(nèi)有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量,將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

其中,所述QPS分配信息包括業(yè)務(wù)量比例;

所述QPS計(jì)算服務(wù)器,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量 比例。

其中,所述QPS分配信息包括QPS分量;

所述QPS計(jì)算服務(wù)器,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

其中,所述業(yè)務(wù)服務(wù)器,具體用于根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;

所述業(yè)務(wù)服務(wù)器根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供一種業(yè)務(wù)服務(wù)器,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)還包括QPS計(jì)算服務(wù)器;所述業(yè)務(wù)服務(wù)器包括:

處理單元,用于獲取預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)信息;

上報(bào)單元,用于通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器;

讀內(nèi)存單元,用于通過API從第二內(nèi)存中獲取QPS分配信息;所述QPS分配信息是所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)信息得到的,并分發(fā)給對(duì)應(yīng)的所述業(yè)務(wù)服務(wù)器的第二內(nèi)存的;

所述處理單元,還用于根據(jù)所述QPS分配信息進(jìn)行流量控制。

其中,所述QPS分配信息包括業(yè)務(wù)量比例;

所述處理單元,具體用于根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;

根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供一種QPS計(jì)算服務(wù)器,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)還包括業(yè)務(wù)服務(wù)器;所述QPS計(jì)算服務(wù)器包括:

計(jì)算單元,用于根據(jù)業(yè)務(wù)服務(wù)器通過應(yīng)用程序編程接口API上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息;所述業(yè)務(wù)信息是業(yè)務(wù)服務(wù)器在預(yù)設(shè)的第一時(shí)間段內(nèi)獲取的;

寫內(nèi)存單元,用于通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存;

內(nèi)存分發(fā)單元,用于將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;以使所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

其中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括業(yè)務(wù)量比例;

所述計(jì)算單元,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

其中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括QPS分量;

所述計(jì)算單元,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

由上可知,本發(fā)明實(shí)施例的技術(shù)方案應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)包括QPS計(jì)算服務(wù)器和業(yè)務(wù)服務(wù)器,所述業(yè)務(wù)服務(wù)器分別獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器;所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè)務(wù) 服務(wù)器的QPS分配信息寫入第一內(nèi)存;所述QPS計(jì)算服務(wù)器將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

由此,本本發(fā)明實(shí)施例以分鐘為粒度實(shí)時(shí)更新個(gè)業(yè)務(wù)服務(wù)器上的QPS分配。當(dāng)某地流量出現(xiàn)峰值時(shí),QPS計(jì)算服務(wù)器會(huì)立即感知到流量上的傾斜。因此,QPS計(jì)算服務(wù)器會(huì)以當(dāng)前一分鐘的單機(jī)流量比例為依據(jù),減少流量少的業(yè)務(wù)服務(wù)器的QPS,重新分配更多QPS給有峰值的業(yè)務(wù)服務(wù)器,讓這些業(yè)務(wù)服務(wù)器接受更多的有效流量,避免因QPS分配問題而攔截流量。

本發(fā)明實(shí)施例根據(jù)網(wǎng)絡(luò)收包進(jìn)行計(jì)算,計(jì)算過程是在內(nèi)存完成,計(jì)算結(jié)果通過網(wǎng)絡(luò)發(fā)包發(fā)送給業(yè)務(wù)服務(wù)器,全程不會(huì)寫磁盤。因此,不會(huì)因?yàn)榇疟P讀寫速度而影響計(jì)算的速度,也不會(huì)因?yàn)榇疟P故障導(dǎo)致無法正常計(jì)算QPS。

本發(fā)明實(shí)施例業(yè)務(wù)服務(wù)器只需要使用內(nèi)存分發(fā)引擎的應(yīng)用程序編程接口(Application Programming Interface,API)即可,無需考慮數(shù)據(jù)的更新和生效問題。

附圖說明

圖1為業(yè)務(wù)系統(tǒng)的結(jié)構(gòu)示意圖;

圖2為本發(fā)明提供的一種信息處理方法的第一實(shí)施例的流程示意圖;

圖3為本發(fā)明提供的一種信息處理方法的第二實(shí)施例的流程示意圖;

圖4為本發(fā)明提供的一種信息處理方法的第三實(shí)施例的流程示意圖;

圖5為本發(fā)明提供的另一種信息處理方法的實(shí)施例的流程示意圖;

圖6為本發(fā)明提供的又一種信息處理方法的實(shí)施例的流程示意圖;

圖7為本發(fā)明提供的一種信息處理系統(tǒng)的實(shí)施例的結(jié)構(gòu)示意圖;

圖8為本發(fā)明提供的業(yè)務(wù)服務(wù)器的實(shí)施例的結(jié)構(gòu)示意圖;

圖9為本發(fā)明提供的QPS計(jì)算服務(wù)器的實(shí)施例的結(jié)構(gòu)示意圖;

圖10為本發(fā)明提供的一種信息處理方法的應(yīng)用實(shí)例的示意圖。

具體實(shí)施方式

本發(fā)明提供的一種信息處理方法的第一實(shí)施例,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)包括QPS計(jì)算服務(wù)器和業(yè)務(wù)服務(wù)器,如圖2所示,所述方法包括:

步驟201、所述業(yè)務(wù)服務(wù)器分別獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器。

這里,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量;所述業(yè)務(wù)服務(wù)器分別獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過API上報(bào)所述業(yè)務(wù)信息給QPS計(jì)算服務(wù)器,包括:

所述業(yè)務(wù)服務(wù)器分別統(tǒng)計(jì)自身預(yù)設(shè)的第一時(shí)間段內(nèi)有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量;

所述業(yè)務(wù)服務(wù)器分別將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

可以理解的是,所述第一時(shí)間段可以設(shè)置為1秒鐘,即每秒上報(bào)一次第一業(yè)務(wù)量。在實(shí)際應(yīng)用中,可以對(duì)1秒內(nèi)處理的有效業(yè)務(wù)數(shù)量進(jìn)行累加計(jì)數(shù),即每完成一個(gè)有效業(yè)務(wù)則計(jì)數(shù)加1,上報(bào)完成后將計(jì)數(shù)清空為0,下一個(gè)1秒重新計(jì)數(shù)。具體的,可以根據(jù)業(yè)務(wù)ID針對(duì)每種都進(jìn)行業(yè)務(wù)統(tǒng)計(jì)。1秒鐘時(shí)間到達(dá)后將當(dāng)前累加的數(shù)值與業(yè)務(wù)ID一起組udp包發(fā)送給所述QPS計(jì)算服務(wù)器。組包格式可以為:

pkg=dw_key_value_count+key_value

key_value=(topic_id+sub_id)+ip+count

dw_key_value_count表示本包總的keyValue個(gè)數(shù)

topic_id表示主業(yè)務(wù)id

sub_id表示子業(yè)務(wù)id

ip表示業(yè)務(wù)服務(wù)器ip

count表示該業(yè)務(wù)服務(wù)器上當(dāng)前一秒的有效業(yè)務(wù)請(qǐng)求次數(shù)

步驟202、所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè) 務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存。

在一實(shí)施例中,所述QPS分配信息包括業(yè)務(wù)量比例;所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括,

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

所述QPS計(jì)算服務(wù)器根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

在一實(shí)施例中,所述QPS分配信息包括QPS分量;所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括,

所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

所述QPS計(jì)算服務(wù)器根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

可以理解的是,所述第二時(shí)間段可以設(shè)置為1分鐘,即所述QPS計(jì)算服務(wù)器每分鐘獲取所述業(yè)務(wù)服務(wù)器的60次上報(bào)。

當(dāng)然,在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際情況對(duì)所述第一時(shí)間段和所述第二時(shí)間段進(jìn)行設(shè)置,可以采用定時(shí)器進(jìn)行計(jì)時(shí)。

具體的,當(dāng)1分鐘定時(shí)器到達(dá)時(shí),所述QPS計(jì)算服務(wù)器按照業(yè)務(wù)ID進(jìn)行一輪業(yè)務(wù)量的累加,包括:將同一業(yè)務(wù)ID的同一業(yè)務(wù)服務(wù)器IP下的業(yè)務(wù)量進(jìn)行累加得到該業(yè)務(wù)的單機(jī)業(yè)務(wù)量,將同一業(yè)務(wù)ID的各個(gè)業(yè)務(wù)服務(wù)器IP下的業(yè)務(wù)量進(jìn)行累加得到該業(yè)務(wù)的總業(yè)務(wù)量,將所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量除以總 業(yè)務(wù)量,得到所述業(yè)務(wù)服務(wù)器該業(yè)務(wù)的業(yè)務(wù)量比例。

步驟203、所述QPS計(jì)算服務(wù)器將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存。

步驟204、所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

這里,當(dāng)所述QPS分配信息包括業(yè)務(wù)量比例時(shí),所述根據(jù)所述QPS分配信息進(jìn)行流量控制包括:

所述業(yè)務(wù)服務(wù)器根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;

所述業(yè)務(wù)服務(wù)器根據(jù)所述QPS分量進(jìn)行流量控制。

不難理解,如果所述業(yè)務(wù)服務(wù)器獲取不到本機(jī)的QPS分配信息則說明是第一次上報(bào),則第一分鐘不進(jìn)行QPS限制,從第二分鐘開始根據(jù)下發(fā)的QPS分配信息進(jìn)行QPS限制。

這里需要說明的是,所述第一內(nèi)存和所述第二內(nèi)存可以都設(shè)置在所述QPS計(jì)算服務(wù)器,也可以所述第一內(nèi)存設(shè)置在所述QPS計(jì)算服務(wù)器,所述第二內(nèi)存設(shè)置在所述業(yè)務(wù)服務(wù)器,當(dāng)然所述第一內(nèi)存和所述第二內(nèi)存也可以都設(shè)置在所述業(yè)務(wù)服務(wù)器,也就是說本發(fā)明對(duì)所述第一內(nèi)存和所述第二內(nèi)存設(shè)置在哪不做任何限定。

本發(fā)明提供的一種信息處理方法的第二實(shí)施例,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)包括QPS計(jì)算服務(wù)器和至少兩個(gè)業(yè)務(wù)服務(wù)器,如圖3所示,所述方法包括:

步驟301、各所述業(yè)務(wù)服務(wù)器分別統(tǒng)計(jì)自身預(yù)設(shè)的第一時(shí)間段內(nèi)有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量。

步驟302、各所述業(yè)務(wù)服務(wù)器分別將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

步驟303、所述QPS計(jì)算服務(wù)器根據(jù)各所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和各所述業(yè)務(wù)服 務(wù)器的單機(jī)業(yè)務(wù)量。

步驟304、所述QPS計(jì)算服務(wù)器根據(jù)所述總業(yè)務(wù)量和各所述單機(jī)業(yè)務(wù)量,計(jì)算得到各所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

步驟305、所述QPS計(jì)算服務(wù)器通過API將各所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例寫入第一內(nèi)存。

步驟306、所述QPS計(jì)算服務(wù)器將所述第一內(nèi)存中的業(yè)務(wù)量比例分發(fā)給各所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存。

步驟307、所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取業(yè)務(wù)量比例。

步驟308、所述業(yè)務(wù)服務(wù)器根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量。

步驟309、所述業(yè)務(wù)服務(wù)器根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明提供的一種信息處理方法的第三實(shí)施例,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)包括QPS計(jì)算服務(wù)器和至少兩個(gè)業(yè)務(wù)服務(wù)器,如圖4所示,所述方法包括:

步驟401、各所述業(yè)務(wù)服務(wù)器分別統(tǒng)計(jì)自身預(yù)設(shè)的第一時(shí)間段內(nèi)有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量。

步驟402、各所述業(yè)務(wù)服務(wù)器分別將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

步驟403、所述QPS計(jì)算服務(wù)器根據(jù)各所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和各所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量。

步驟404、所述QPS計(jì)算服務(wù)器根據(jù)所述總業(yè)務(wù)量和各所述單機(jī)業(yè)務(wù)量,計(jì)算得到各所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

步驟405、所述QPS計(jì)算服務(wù)器根據(jù)各所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到各所述業(yè)務(wù)服務(wù)器的QPS分量。

步驟406、所述QPS計(jì)算服務(wù)器通過API將各所述業(yè)務(wù)服務(wù)器的QPS分量寫入第一內(nèi)存。

步驟407、所述QPS計(jì)算服務(wù)器將所述第一內(nèi)存中的QPS分量分發(fā)給各所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存。

步驟408、所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分量。

步驟409、所述業(yè)務(wù)服務(wù)器根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供的另一種信息處理方法,應(yīng)用于業(yè)務(wù)服務(wù)器,如圖5所示,所述方法包括:

步驟501、獲取預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器。

這樣,可以使所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)信息得到QPS分配信息,通過API將所述QPS分配信息寫入第一內(nèi)存,并將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存。

這里,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量;所述獲取預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)信息,并通過API上報(bào)所述業(yè)務(wù)信息給QPS計(jì)算服務(wù)器,包括:統(tǒng)計(jì)預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量;將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

步驟502、通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

這里,所述QPS分配信息可以包括業(yè)務(wù)量比例;所述根據(jù)所述QPS分配信息進(jìn)行流量控制包括:根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供的又一種信息處理方法,應(yīng)用于QPS計(jì)算服務(wù)器,如圖6所示,所述方法包括:

步驟601,根據(jù)業(yè)務(wù)服務(wù)器應(yīng)用程序編程接口API上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存。

這里,所述業(yè)務(wù)信息是業(yè)務(wù)服務(wù)器在預(yù)設(shè)的第一時(shí)間段內(nèi)獲取的。

在一實(shí)施例中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括業(yè)務(wù)量比例;所述根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括:

根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

在一實(shí)施例中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括QPS分量;所述根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,包括:

根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

步驟602、將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存。

這樣,可以使所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

本發(fā)明實(shí)施例提供一種信息處理系統(tǒng),如圖7所示,所述系統(tǒng)包括QPS計(jì)算服務(wù)器701和業(yè)務(wù)服務(wù)器702;

所述業(yè)務(wù)服務(wù)器702,用于獲取預(yù)設(shè)的第一時(shí)間段內(nèi)自身的業(yè)務(wù)信息,并通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給QPS計(jì)算服務(wù)器;還用于通過API從第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制;

具體的,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量;所述業(yè)務(wù)服務(wù)器702,具體用于統(tǒng)計(jì)自身預(yù)設(shè)的第一時(shí)間段內(nèi)有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè)務(wù)量, 將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

所述QPS計(jì)算服務(wù)器701,用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息,并通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存;還用于將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;

在一實(shí)施例中,所述QPS分配信息包括業(yè)務(wù)量比例;所述QPS計(jì)算服務(wù)器701,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

相應(yīng)的,所述業(yè)務(wù)服務(wù)器702,具體用于根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;所述業(yè)務(wù)服務(wù)器根據(jù)所述QPS分量進(jìn)行流量控制。

在一實(shí)施例中,所述QPS分配信息包括QPS分量;所述QPS計(jì)算服務(wù)器701,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

本發(fā)明實(shí)施例提供一種業(yè)務(wù)服務(wù)器,如圖8所示,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)還包括QPS計(jì)算服務(wù)器;所述業(yè)務(wù)服務(wù)器包括:

處理單元801,用于獲取預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)信息;

這里,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量;處理單元801,具體用于統(tǒng)計(jì)預(yù)設(shè)的第一時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的有效業(yè)務(wù)處理完成的次數(shù),得到所述第一業(yè) 務(wù)量;將統(tǒng)計(jì)得到的所述第一業(yè)務(wù)量通過API上報(bào)給所述QPS計(jì)算服務(wù)器。

上報(bào)單元802,用于通過應(yīng)用程序編程接口API上報(bào)所述業(yè)務(wù)信息給所述QPS計(jì)算服務(wù)器;

讀內(nèi)存單元803,用于通過API從第二內(nèi)存中獲取QPS分配信息;所述QPS分配信息是所述QPS計(jì)算服務(wù)器根據(jù)所述業(yè)務(wù)信息得到的,并分發(fā)給對(duì)應(yīng)的所述業(yè)務(wù)服務(wù)器的第二內(nèi)存的;

所述處理單元801,還用于根據(jù)所述QPS分配信息進(jìn)行流量控制。

具體的,所述QPS分配信息包括業(yè)務(wù)量比例;所述處理單元801,具體用于根據(jù)獲取的所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到QPS分量;

根據(jù)所述QPS分量進(jìn)行流量控制。

本發(fā)明實(shí)施例提供一種QPS計(jì)算服務(wù)器,如圖9所示,應(yīng)用于信息處理系統(tǒng),所述系統(tǒng)還包括業(yè)務(wù)服務(wù)器;所述QPS計(jì)算服務(wù)器包括:

計(jì)算單元901,用于根據(jù)業(yè)務(wù)服務(wù)器通過應(yīng)用程序編程接口API上報(bào)的業(yè)務(wù)信息,得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述業(yè)務(wù)服務(wù)器的QPS分配信息;所述業(yè)務(wù)信息是業(yè)務(wù)服務(wù)器在預(yù)設(shè)的第一時(shí)間段內(nèi)獲取的;

在一實(shí)施例中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括業(yè)務(wù)量比例;所述計(jì)算單元901,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。

在一實(shí)施例中,所述業(yè)務(wù)信息包括第一業(yè)務(wù)量,所述QPS分配信息包括QPS分量;所述計(jì)算單元901,具體用于根據(jù)所述業(yè)務(wù)服務(wù)器上報(bào)的第一業(yè)務(wù)量,累加得到預(yù)設(shè)的第二時(shí)間段內(nèi)所述系統(tǒng)中所有所述業(yè)務(wù)服務(wù)器的總業(yè)務(wù)量和所述業(yè)務(wù)服務(wù)器的單機(jī)業(yè)務(wù)量;

根據(jù)所述總業(yè)務(wù)量和所述單機(jī)業(yè)務(wù)量,計(jì)算得到所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例;

根據(jù)所述業(yè)務(wù)量比例和預(yù)設(shè)的QPS總量計(jì)算得到所述業(yè)務(wù)服務(wù)器的QPS分量。

寫內(nèi)存單元902,用于通過API將所述業(yè)務(wù)服務(wù)器的QPS分配信息寫入第一內(nèi)存;

內(nèi)存分發(fā)單元903,用于將所述第一內(nèi)存中的QPS分配信息分發(fā)給所述業(yè)務(wù)服務(wù)器對(duì)應(yīng)的第二內(nèi)存;以使所述業(yè)務(wù)服務(wù)器通過API從所述第二內(nèi)存中獲取QPS分配信息,并根據(jù)所述QPS分配信息進(jìn)行流量控制。

本發(fā)明實(shí)施例以分鐘為粒度實(shí)時(shí)更新業(yè)務(wù)服務(wù)器上的QPS分配。當(dāng)某地流量出現(xiàn)峰值時(shí),QPS計(jì)算服務(wù)器會(huì)立即感知到流量上的傾斜。因此,QPS計(jì)算服務(wù)器會(huì)以當(dāng)前一分鐘的單機(jī)流量比例為依據(jù),減少流量少的業(yè)務(wù)服務(wù)器的QPS,重新分配更多QPS給有峰值的業(yè)務(wù)服務(wù)器,讓這些業(yè)務(wù)服務(wù)器接受更多的有效流量,避免因QPS分配問題而攔截流量。

本發(fā)明實(shí)施例根據(jù)網(wǎng)絡(luò)收包進(jìn)行計(jì)算,計(jì)算過程是在內(nèi)存完成,計(jì)算結(jié)果通過網(wǎng)絡(luò)發(fā)包發(fā)送給業(yè)務(wù)服務(wù)器,全程不會(huì)寫磁盤。因此,不會(huì)因?yàn)榇疟P讀寫速度而影響計(jì)算的速度,也不會(huì)因?yàn)榇疟P故障導(dǎo)致無法正常計(jì)算QPS。

本發(fā)明實(shí)施例業(yè)務(wù)服務(wù)器只需要使用內(nèi)存分發(fā)引擎的應(yīng)用程序編程接口(Application Programming Interface,API)即可,無需考慮數(shù)據(jù)的更新和生效問題。

下面結(jié)合圖10對(duì)本發(fā)明的一個(gè)應(yīng)用實(shí)例進(jìn)行介紹。

1、業(yè)務(wù)邏輯每完成一次有效業(yè)務(wù)處理,則計(jì)數(shù)加1。

2、每秒鐘調(diào)用上報(bào)API,進(jìn)行當(dāng)前秒數(shù)的業(yè)務(wù)量上報(bào)。計(jì)數(shù)累加結(jié)果為要上報(bào)的內(nèi)容,上報(bào)完成則清空計(jì)數(shù)。

3、計(jì)算單元每分鐘收集所有業(yè)務(wù)服務(wù)器的60次上報(bào),累加出總業(yè)務(wù)量和單機(jī)業(yè)務(wù)量,進(jìn)而得到各所述業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例。當(dāng)然,還可以根據(jù)QPS總量和業(yè)務(wù)量比例得到QPS分量。所述QPS總量可以預(yù)先寫入計(jì)算單元的配置中。

4、計(jì)算進(jìn)程調(diào)用寫內(nèi)存API,將QPS分量或業(yè)務(wù)量比例寫入內(nèi)存,交給 內(nèi)存分發(fā)單元。

5、內(nèi)存分發(fā)單元實(shí)時(shí)分發(fā)業(yè)務(wù)量比例和/或QPS分量到業(yè)務(wù)服務(wù)器的內(nèi)存中。

6、業(yè)務(wù)邏輯調(diào)用讀內(nèi)存API獲得當(dāng)前的業(yè)務(wù)量比例和/或QPS分量,并根據(jù)業(yè)務(wù)量比例和/或QPS分量進(jìn)行流量控制。

可以理解的是,當(dāng)計(jì)算進(jìn)程直接下發(fā)各個(gè)業(yè)務(wù)服務(wù)器的業(yè)務(wù)量比例時(shí),業(yè)務(wù)邏輯可以將QPS總量乘以業(yè)務(wù)量比例得到單機(jī)的QPS分量。

本領(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)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(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è)方框中指定的功能的步驟。

以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1