一種流量控制方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種流量控制方法及系統(tǒng),流量控制方法包括:網(wǎng)關(guān)接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求;網(wǎng)關(guān)獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則;網(wǎng)關(guān)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。本發(fā)明避免同一客戶端應(yīng)用程序過度通過內(nèi)部應(yīng)用接口調(diào)用內(nèi)部應(yīng)用程序,也避免了同一內(nèi)部應(yīng)用程序被過度調(diào)用。因此減少了系統(tǒng)資源消耗,提高系統(tǒng)穩(wěn)定性。
【專利說明】一種流量控制方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信相關(guān)【技術(shù)領(lǐng)域】,特別是一種流量控制方法及系統(tǒng)。
【背景技術(shù)】
[0002]開放平臺(tái),用于為客戶端提供多種內(nèi)部應(yīng)用程序,客戶端應(yīng)用程序通過調(diào)用開發(fā)平臺(tái)的應(yīng)用接口,則能使用開放平臺(tái)的內(nèi)部應(yīng)用程序。
[0003]然而,當(dāng)大量的客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用程序進(jìn)行調(diào)用時(shí),有可能出現(xiàn)如下問題:
[0004]1.同一客戶端應(yīng)用程序?qū)﹂_發(fā)平臺(tái)的內(nèi)部應(yīng)用程序進(jìn)行大量調(diào)用,占用了其他客戶端應(yīng)用程序調(diào)用開發(fā)平臺(tái)的內(nèi)部應(yīng)用程序的資源,造成分配不公;
[0005]2.同一內(nèi)部應(yīng)用程序被大量調(diào)用,某些內(nèi)部應(yīng)用程序是極為消耗系統(tǒng)資源的,如果被過分大量的調(diào)用,則容易導(dǎo)致系統(tǒng)出現(xiàn)故障,甚至出現(xiàn)崩潰。
【發(fā)明內(nèi)容】
[0006]基于此,有必要針對(duì)現(xiàn)有技術(shù)的開發(fā)平臺(tái)未能對(duì)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用程序進(jìn)行有效的流量控制,提供一種流量控制方法及系統(tǒng)。
[0007]一種流量控制方法,包括:
[0008]網(wǎng)關(guān)接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求;
[0009]網(wǎng)關(guān)獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則;
[0010]網(wǎng)關(guān)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。
[0011]一種流量控制系統(tǒng),包括:網(wǎng)關(guān),以及設(shè)置在網(wǎng)關(guān)的:
[0012]調(diào)用請(qǐng)求接收模塊,用于接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求;
[0013]流量控制規(guī)則獲取模塊,用于獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則;
[0014]流量檢測(cè)模塊,用于檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。
[0015]本發(fā)明通過對(duì)客戶端應(yīng)用程序或者開放平臺(tái)的內(nèi)部應(yīng)用接口建立流量控制規(guī)則,僅在滿足流量控制規(guī)則的條件下允許客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口。通過設(shè)定適當(dāng)?shù)牧髁靠刂埔?guī)則,控制客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口,從而避免同一客戶端應(yīng)用程序過度通過內(nèi)部應(yīng)用接口調(diào)用內(nèi)部應(yīng)用程序,也避免了同一內(nèi)部應(yīng)用程序被過度調(diào)用。因此減少了系統(tǒng)資源消耗,提高系統(tǒng)穩(wěn)定性。【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明一種流量控制方法的工作流程圖;
[0017]圖2為本發(fā)明一種流量控制系統(tǒng)的結(jié)構(gòu)模塊圖;
[0018]圖3為本發(fā)明一種流量控制系統(tǒng)一個(gè)例子的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0019]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說明。
[0020]如圖1所示為本發(fā)明一種流量控制方法的工作流程圖,包括:
[0021]步驟S101,網(wǎng)關(guān)接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求;
[0022]步驟S102,網(wǎng)關(guān)獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則;
[0023]步驟S103,網(wǎng)關(guān)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)貝U,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。
[0024]網(wǎng)關(guān)是與客戶端通信的接口,所有客戶端的請(qǐng)求都經(jīng)網(wǎng)關(guān)轉(zhuǎn)發(fā)。當(dāng)客戶端應(yīng)用程序需要調(diào)用應(yīng)用接口時(shí),網(wǎng)關(guān)執(zhí)行步驟S102獲取對(duì)應(yīng)的流量控制規(guī)則,其中,選擇客戶端應(yīng)用程序的流量控制規(guī)則,或者內(nèi)部應(yīng)用接口的流量控制規(guī)則,或者客戶端應(yīng)用程序的流量控制規(guī)則和內(nèi)部應(yīng)用接口的流量控制規(guī)則,由網(wǎng)關(guān)根據(jù)配置文件決定。步驟S102中,網(wǎng)關(guān)獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則,包括如下三種情況之一:
[0025]情況一,獲取客戶端應(yīng)用程序的流量控制規(guī)則;
[0026]情況二,獲取內(nèi)部應(yīng)用接口的流量控制規(guī)則;
[0027]情況三,獲取客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口的流量控制規(guī)則。
[0028]在其中一個(gè)實(shí)施例中,所述流量控制規(guī)則為:
[0029]在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)未超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者;
[0030]在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù)超過與內(nèi)部應(yīng)用接口對(duì)應(yīng)的應(yīng)用接口閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者;
[0031]在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)未超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
[0032]本實(shí)施例包括三種流量控制規(guī)則,網(wǎng)關(guān)可以根據(jù)配置文件,針對(duì)不同的客戶端應(yīng)用程序以及不同的內(nèi)部應(yīng)用接口,選擇其中一個(gè)或者多個(gè)組合。
[0033]例如,對(duì)于客戶端應(yīng)用程序A調(diào)用應(yīng)用接口 B,可以選擇流量控制規(guī)則為:
[0034]在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)未超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
[0035]此時(shí),僅對(duì)客戶端應(yīng)用程序的調(diào)用進(jìn)行限制,而不限制應(yīng)用接口。
[0036]或者,也可以選擇流量控制規(guī)則為:[0037]在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù)超過與內(nèi)部應(yīng)用接口對(duì)應(yīng)的應(yīng)用接口閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
[0038]則此時(shí),僅對(duì)應(yīng)用接口的被調(diào)用進(jìn)行限制,而不對(duì)客戶端應(yīng)用程序進(jìn)行限制。
[0039]然而,還可以選擇流量控制規(guī)則為上述兩種流量控制規(guī)則的組合,即對(duì)客戶端應(yīng)用程序的調(diào)用進(jìn)行流量限制,也對(duì)應(yīng)用接口的被調(diào)用進(jìn)行限制。
[0040]同時(shí),還可以精細(xì)到對(duì)特定客戶端應(yīng)用程序調(diào)用特定應(yīng)用接口進(jìn)行限制,即流量控制規(guī)則為:
[0041]在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)未超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
[0042]其中,應(yīng)用程序調(diào)用計(jì)量時(shí)間段、應(yīng)用接口被調(diào)用計(jì)量時(shí)間段、客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段可以相同也可以不同,其時(shí)間段的大小根據(jù)實(shí)際需要選擇,例如可以選擇為一天,也可以選擇為一小時(shí)或者一分鐘。
[0043]在其中一個(gè)實(shí)施例中,還包括:
[0044]與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),如果在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),檢測(cè)到客戶端應(yīng)用程序的調(diào)用次數(shù)超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述應(yīng)用程序調(diào)用警告閾值小于或等于所述應(yīng)用程序調(diào)用上限閾值,或者;
[0045]與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),如果在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),檢測(cè)到客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述聯(lián)合調(diào)用警告閾值小于或等于所述聯(lián)合調(diào)用上限閾值。
[0046]本實(shí)施例,在客戶端應(yīng)用程序的調(diào)用次數(shù)或者客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)超過警告閾值時(shí),向該客戶端應(yīng)用程序的聯(lián)系人發(fā)送提醒郵件,如果該聯(lián)系人覺得有必要提升閾值,則可以向網(wǎng)關(guān)發(fā)送確認(rèn)請(qǐng)求,從而提升閾值。通過該實(shí)施例的方式,可以為有需要提升閾值的客戶端應(yīng)用程序提升閾值。
[0047]在其中有一個(gè)實(shí)施例中,還包括:
[0048]與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù),如果所述預(yù)估調(diào)用次數(shù)超過與客戶端應(yīng)用程序關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值,則保存所述應(yīng)用程序調(diào)用上限閾值為歷史應(yīng)用程序調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估調(diào)用次數(shù)作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送包括待更新應(yīng)用程序調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,且在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則將歷史應(yīng)用程序調(diào)用上限閾值作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送所述更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求;
[0049]網(wǎng)關(guān)接收到分析控制系統(tǒng)發(fā)送的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值更新為所述待更新應(yīng)用程序調(diào)用上限閾值;
[0050]網(wǎng)關(guān)接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
[0051]與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù),當(dāng)發(fā)現(xiàn)預(yù)估調(diào)用次數(shù)將會(huì)超過應(yīng)用程序調(diào)用上限閾值,則向網(wǎng)關(guān)發(fā)送更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,暫時(shí)提升應(yīng)用程序調(diào)用上限閾值,從而避免因?yàn)檫_(dá)到上限而客戶端應(yīng)用程序無法使用。然而,上限上調(diào)并不是無限制的,需要客戶端應(yīng)用程序在一段時(shí)間內(nèi)發(fā)送確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,否則將會(huì)重新調(diào)整應(yīng)用程序調(diào)用上限閾值為原來保留的閾值,從而對(duì)客戶端應(yīng)用程序的調(diào)用進(jìn)行限制。
[0052]在其中一個(gè)實(shí)施例中,還包括:
[0053]與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的預(yù)估次數(shù),如果所述預(yù)估次數(shù)超過預(yù)設(shè)的與客戶端應(yīng)用程序關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值,則保存所述聯(lián)合調(diào)用上限閾值為歷史聯(lián)合調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估次數(shù)作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送包括待更新聯(lián)合調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升聯(lián)合調(diào)用上限閾值請(qǐng)求,則將所述歷史聯(lián)合調(diào)用上限閾值作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送所述更新聯(lián)合調(diào)用上限閾值請(qǐng)求;
[0054]網(wǎng)關(guān)接收到分析控制系統(tǒng)發(fā)送的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值更新為所述待更新聯(lián)合調(diào)用上限閾值;
[0055]網(wǎng)關(guān)接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
[0056]在其中一個(gè)實(shí)施例中:
[0057]當(dāng)網(wǎng)關(guān)允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則增加客戶端應(yīng)用程序的調(diào)用次數(shù)、增加內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),增加客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)并發(fā)送到與網(wǎng)關(guān)通信的集群計(jì)數(shù)器;
[0058]當(dāng)網(wǎng)關(guān)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則時(shí),從集群計(jì)數(shù)器中獲取:
[0059]在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù),或者;
[0060]在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),或者;
[0061]在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)。
[0062]客戶端應(yīng)用程序的調(diào)用次數(shù)、內(nèi)部應(yīng)用接口的被調(diào)用次數(shù)和客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)均采用集群計(jì)數(shù)器保存,減少網(wǎng)關(guān)的工作量。
[0063]在其中一個(gè)實(shí)施例中,還包括:
[0064]網(wǎng)關(guān)預(yù)先為應(yīng)用接口分配至少一個(gè)線程,并設(shè)置為空閑線程;
[0065]如果網(wǎng)關(guān)允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則檢測(cè)內(nèi)部應(yīng)用接口是否有空閑線程:
[0066]如果內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程,則從內(nèi)部應(yīng)用接口的空閑線程中選擇一個(gè)作為當(dāng)前線程,所述客戶端應(yīng)用程序采用所述當(dāng)前線程調(diào)用所述內(nèi)部應(yīng)用接口,并將當(dāng)前線程設(shè)置為工作線程,當(dāng)所述客戶端應(yīng)用程序結(jié)束調(diào)用內(nèi)部應(yīng)用接口,則將當(dāng)前線程設(shè)置為空閑線程;
[0067]如果內(nèi)部應(yīng)用接口沒有空閑線程,則暫??蛻舳藨?yīng)用程序的所述調(diào)用請(qǐng)求直到內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程。
[0068]通過線程對(duì)內(nèi)部應(yīng)用接口的限制,從而避免對(duì)同一個(gè)內(nèi)部應(yīng)用接口大量的并發(fā)調(diào)用。
[0069]如圖2所示為本發(fā)明一種流量控制系統(tǒng)的結(jié)構(gòu)模塊圖,包括:網(wǎng)關(guān)21,以及設(shè)置在網(wǎng)關(guān)21的:
[0070]調(diào)用請(qǐng)求接收模塊2101,用于接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求;
[0071]流量控制規(guī)則獲取模塊2102,用于獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則;
[0072]流量檢測(cè)模塊2103,用于檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。
[0073]在其中一個(gè)實(shí)施例中,所述流量控制規(guī)則為:
[0074]在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)未超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者;
[0075]在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù)超過與內(nèi)部應(yīng)用接口對(duì)應(yīng)的應(yīng)用接口閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者;
[0076]在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)未超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
[0077]在其中一個(gè)實(shí)施例中,還包括與網(wǎng)關(guān)21通信的分析控制系統(tǒng)22,以及:
[0078]設(shè)置在分析控制系統(tǒng)22的流量警告模塊221,用于通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),如果在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述應(yīng)用程序調(diào)用警告閾值小于或等于所述應(yīng)用程序調(diào)用上限閾值,或者;
[0079]通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),如果在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述聯(lián)合調(diào)用警告閾值小于或等于所述聯(lián)合調(diào)用上限閾值。
[0080]在其中一個(gè)實(shí)施例中,還包括與網(wǎng)關(guān)21通信的分析控制系統(tǒng)22,以及:
[0081]設(shè)置在分析控制系統(tǒng)22的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求發(fā)送模塊222,用于通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù),如果所述預(yù)估調(diào)用次數(shù)超過與客戶端應(yīng)用程序關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值,則保存所述應(yīng)用程序調(diào)用上限閾值為歷史應(yīng)用程序調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估調(diào)用次數(shù)作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送包括待更新應(yīng)用程序調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則將歷史應(yīng)用程序調(diào)用上限閾值作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送所述更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求。
[0082]設(shè)置在網(wǎng)關(guān)21的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求接收模塊2104,用于接收分析控制系統(tǒng)發(fā)送的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值更新為所述待更新應(yīng)用程序調(diào)用上限閾值;
[0083]設(shè)置在網(wǎng)關(guān)21的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求接收模塊2105,用于將接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
[0084]在其中一個(gè)實(shí)施例中,還包括與網(wǎng)關(guān)21通信的分析控制系統(tǒng)22,以及:
[0085]設(shè)置在分析控制系統(tǒng)22的更新聯(lián)合調(diào)用上限閾值請(qǐng)求發(fā)送模塊223,用于通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的預(yù)估次數(shù),如果所述預(yù)估次數(shù)超過預(yù)設(shè)的與客戶端應(yīng)用程序關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值,則保存所述聯(lián)合調(diào)用上限閾值為歷史聯(lián)合調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估次數(shù)作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送包括待更新聯(lián)合調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升聯(lián)合調(diào)用上限閾值請(qǐng)求,則將所述歷史聯(lián)合調(diào)用上限閾值作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送所述更新聯(lián)合調(diào)用上限閾值請(qǐng)求;
[0086]設(shè)置在網(wǎng)關(guān)21的更新聯(lián)合調(diào)用上限閾值請(qǐng)求接收模塊2106,用于接收分析控制系統(tǒng)發(fā)送的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值更新為所述待更新聯(lián)合調(diào)用上限閾值;
[0087]設(shè)置在網(wǎng)關(guān)21的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求接收模塊2107,用于將接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
[0088]在其中一個(gè)實(shí)施例中,還包括:
[0089]設(shè)置在網(wǎng)關(guān)21的調(diào)用次數(shù)發(fā)送模塊2108,用于當(dāng)允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則增加客戶端應(yīng)用程序的調(diào)用次數(shù)、增加內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),增加客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)并發(fā)送到與網(wǎng)關(guān)通信的集群計(jì)數(shù)器23 ;
[0090]設(shè)置在網(wǎng)關(guān)21的流量檢測(cè)模塊2103,當(dāng)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則時(shí),從集群計(jì)數(shù)器23中獲取:
[0091]在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù),或者;
[0092]在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),或者;
[0093]在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)。[0094]在其中一個(gè)實(shí)施例中,還包括:
[0095]設(shè)置在網(wǎng)關(guān)21的線程分配模塊2109,用于預(yù)先為應(yīng)用接口分配至少一個(gè)線程,并設(shè)置為空閑線程;
[0096]設(shè)置在網(wǎng)關(guān)21的線程檢測(cè)模塊2110,用于如果允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則檢測(cè)內(nèi)部應(yīng)用接口是否有空閑線程:
[0097]如果內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程,則從內(nèi)部應(yīng)用接口的空閑線程中選擇一個(gè)作為當(dāng)前線程,所述客戶端應(yīng)用程序采用所述當(dāng)前線程調(diào)用所述內(nèi)部應(yīng)用接口,并將當(dāng)前線程設(shè)置為工作線程,當(dāng)所述客戶端應(yīng)用程序結(jié)束調(diào)用內(nèi)部應(yīng)用接口,則將當(dāng)前線程設(shè)置為空閑線程;
[0098]如果內(nèi)部應(yīng)用接口沒有空閑線程,則暫停客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求直到內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程。
[0099]如圖3所示為本發(fā)明一種流量控制系統(tǒng)一個(gè)例子的結(jié)構(gòu)示意圖。包括:網(wǎng)關(guān)31、分布式集中計(jì)數(shù)器32、日志分析系統(tǒng)33,業(yè)務(wù)控制系統(tǒng)34。
[0100]其中,網(wǎng)關(guān)31中設(shè)置有流控維度池311,專門對(duì)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口進(jìn)行流量限制,而分布式集中計(jì)數(shù)器32則用于保存客戶端應(yīng)用程序的調(diào)用次數(shù)、內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),以及客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)。
[0101]其中,日志分析系統(tǒng)33,業(yè)務(wù)控制系統(tǒng)34共同組成上述的分析控制系統(tǒng),日志分析系統(tǒng)33從網(wǎng)關(guān)31中獲取日志進(jìn)行分析,計(jì)算在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)是否超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用警告閾值,或者在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)是否超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用警告閾值,如果超過則通知業(yè)務(wù)控制系統(tǒng)34發(fā)送提醒郵件。其中,應(yīng)用程序調(diào)用計(jì)量時(shí)間段和客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段為I天。
[0102]同時(shí),日志分析系統(tǒng)33獲取客戶端應(yīng)用程序的調(diào)用次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù),以及獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的預(yù)估次數(shù),并由業(yè)務(wù)控制系統(tǒng)34根據(jù)日志分析系統(tǒng)33的計(jì)算結(jié)果,決定是否向網(wǎng)關(guān)31發(fā)送更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求和更新聯(lián)合調(diào)用上限閾值請(qǐng)求。增長(zhǎng)評(píng)估期時(shí)間段優(yōu)選為3天。
[0103]因此,當(dāng)客戶端應(yīng)用程序的調(diào)用次數(shù)超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用警告閾值,或者客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用警告閾值時(shí),則會(huì)發(fā)送提醒郵件,同時(shí),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù)和在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的預(yù)估次數(shù),適當(dāng)提高應(yīng)用程序調(diào)用上限閾值和聯(lián)合調(diào)用上限閾值,暫時(shí)允許客戶端應(yīng)用程序超上限使用,避免影響用戶體驗(yàn)。而經(jīng)過增長(zhǎng)評(píng)估期時(shí)間段,即3天后,如果客戶端應(yīng)用程序并未確認(rèn)提高上限,則將應(yīng)用程序調(diào)用上限閾值和聯(lián)合調(diào)用上限閾值下調(diào)至原來數(shù)值,對(duì)客戶端應(yīng)用程序調(diào)用應(yīng)用接口進(jìn)行限制。
[0104]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種流量控制方法,其特征在于,包括: 網(wǎng)關(guān)接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求; 網(wǎng)關(guān)獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則; 網(wǎng)關(guān)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的流量控制方法,其特征在于,所述流量控制規(guī)則為: 在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)未超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者; 在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù)超過與內(nèi)部應(yīng)用接口對(duì)應(yīng)的應(yīng)用接口閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者; 在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)未超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
3.根據(jù)權(quán)利要求2所述的流量控制方法,其特征在于,還包括: 與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),如果在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),檢測(cè)到客戶端應(yīng)用程序的調(diào)用次數(shù)超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述應(yīng)用程序調(diào)用警告閾值小于或等于所述應(yīng)用程序調(diào)用上限閾值,或者; 與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),如果在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),檢測(cè)到客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述聯(lián)合調(diào)用警告閾值小于或等于所述聯(lián)合調(diào)用上限閾值。
4.根據(jù)權(quán)利要求2所述的流量控制方法,其特征在于,還包括: 與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù),如果所述預(yù)估調(diào)用次數(shù)超過與客戶端應(yīng)用程序關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值,則保存所述應(yīng)用程序調(diào)用上限閾值為歷史應(yīng)用程 序調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估調(diào)用次數(shù)作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送包括待更新應(yīng)用程序調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,且在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則將歷史應(yīng)用程序調(diào)用上限閾值作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送所述更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求; 網(wǎng)關(guān)接收到分析控制系統(tǒng)發(fā)送的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值更新為所述待更新應(yīng)用程序調(diào)用上限閾值;網(wǎng)關(guān)接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
5.根據(jù)權(quán)利要求2所述的流量控制方法,其特征在于,還包括: 與網(wǎng)關(guān)通信的分析控制系統(tǒng)通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的預(yù)估次數(shù),如果所述預(yù)估次數(shù)超過預(yù)設(shè)的與客戶端應(yīng)用程序關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值,則保存所述聯(lián)合調(diào)用上限閾值為歷史聯(lián)合調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估次數(shù)作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送包括待更新聯(lián)合調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升聯(lián)合調(diào)用上限閾值請(qǐng)求,則將所述歷史聯(lián)合調(diào)用上限閾值作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送所述更新聯(lián)合調(diào)用上限閾值請(qǐng)求; 網(wǎng)關(guān)接收到分析控制系統(tǒng)發(fā)送的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值更新為所述待更新聯(lián)合調(diào)用上限閾值; 網(wǎng)關(guān)接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
6.根據(jù)權(quán)利要求1所述的流量控制方法,其特征在于,還包括: 當(dāng)網(wǎng)關(guān)允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則增加客戶端應(yīng)用程序的調(diào)用次數(shù)、增加內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),增加客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)并發(fā)送到與網(wǎng)關(guān)通信的集群計(jì)數(shù)器; 當(dāng)網(wǎng)關(guān)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則時(shí),從集群計(jì)數(shù)器中獲取: 在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù),或者; 在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),或者; 在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)。
7.根據(jù)權(quán)利要求1所述的流量控制方法,其特征在于,還包括: 網(wǎng)關(guān)預(yù)先為應(yīng)用接口分配至少一個(gè)線程,并設(shè)置為空閑線程; 如果網(wǎng)關(guān)允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則檢測(cè)內(nèi)部應(yīng)用接口是否有空閑線程: 如果內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程,則從內(nèi)部應(yīng)用接口的空閑線程中選擇一個(gè)作為當(dāng)前線程,所述客戶端應(yīng)用程序采用所述當(dāng)前線程調(diào)用所述內(nèi)部應(yīng)用接口,并將當(dāng)前線程設(shè)置為工作線程,當(dāng)所述客戶端應(yīng)用程序結(jié)束調(diào)用內(nèi)部應(yīng)用接口,則將當(dāng)前線程設(shè)置為空閑線程; 如果內(nèi)部應(yīng)用接口沒有空閑線程,則暫??蛻舳藨?yīng)用程序的所述調(diào)用請(qǐng)求直到內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程。
8.一種流量控制系統(tǒng),其特征在于,包括:網(wǎng)關(guān),以及設(shè)置在網(wǎng)關(guān)的: 調(diào)用請(qǐng)求接收模塊,用于接收到客戶端應(yīng)用程序?qū)﹂_放平臺(tái)的內(nèi)部應(yīng)用接口的調(diào)用請(qǐng)求; 流量控制規(guī)則獲取模塊,用于獲取客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口的流量控制規(guī)則;流量檢測(cè)模塊,用于檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)貝U,如果客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口滿足所述流量控制規(guī)則,則允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,否則拒絕客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求。
9.根據(jù)權(quán)利要求8所述的流量控制系統(tǒng),其特征在于,所述流量控制規(guī)則為: 在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)未超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者; 在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù)超過與內(nèi)部應(yīng)用接口對(duì)應(yīng)的應(yīng)用接口閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則,或者; 在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)未超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用上限閾值,則滿足所述流量控制規(guī)則,否則不滿足所述流量控制規(guī)則。
10.根據(jù)權(quán)利要求9所述的流量控制系統(tǒng),其特征在于,還包括與網(wǎng)關(guān)通信的分析控制系統(tǒng),以及: 設(shè)置在分析控制系統(tǒng)的流量警告模塊,用于通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),如果在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù)超過與客戶端應(yīng)用程序?qū)?yīng)的應(yīng)用程序調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述應(yīng)用程序調(diào)用警告閾值小于或等于所述應(yīng)用程序調(diào)用上限閾值,或者; 通過對(duì)網(wǎng)關(guān)的訪問`日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),如果在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)超過與客戶端應(yīng)用程序和內(nèi)部應(yīng)用接口共同對(duì)應(yīng)的聯(lián)合調(diào)用警告閾值,則獲取客戶端應(yīng)用程序的聯(lián)系人郵件地址,向所述聯(lián)系人郵件地址發(fā)送提醒郵件,所述聯(lián)合調(diào)用警告閾值小于或等于所述聯(lián)合調(diào)用上限閾值。
11.根據(jù)權(quán)利要求9所述的流量控制系統(tǒng),其特征在于,還包括與網(wǎng)關(guān)通信的分析控制系統(tǒng),以及: 設(shè)置在分析控制系統(tǒng)的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求發(fā)送模塊,用于通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序的調(diào)用次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序的預(yù)估調(diào)用次數(shù),如果所述預(yù)估調(diào)用次數(shù)超過與客戶端應(yīng)用程序關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值,則保存所述應(yīng)用程序調(diào)用上限閾值為歷史應(yīng)用程序調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估調(diào)用次數(shù)作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送包括待更新應(yīng)用程序調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,則將歷史應(yīng)用程序調(diào)用上限閾值作為待更新應(yīng)用程序調(diào)用上限閾值,發(fā)送所述更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求。 設(shè)置在網(wǎng)關(guān)的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求接收模塊,用于接收分析控制系統(tǒng)發(fā)送的更新應(yīng)用程序調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的應(yīng)用程序調(diào)用上限閾值更新為所述待更新應(yīng)用程序調(diào)用上限閾值;設(shè)置在網(wǎng)關(guān)的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求接收模塊,用于將接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
12.根據(jù)權(quán)利要求9所述的流量控制系統(tǒng),其特征在于,還包括與網(wǎng)關(guān)通信的分析控制系統(tǒng),以及: 設(shè)置在分析控制系統(tǒng)的更新聯(lián)合調(diào)用上限閾值請(qǐng)求發(fā)送模塊,用于通過對(duì)網(wǎng)關(guān)的訪問日志的調(diào)用,獲取客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù),計(jì)算在未來的增長(zhǎng)評(píng)估期時(shí)間段內(nèi)客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的預(yù)估次數(shù),如果所述預(yù)估次數(shù)超過預(yù)設(shè)的與客戶端應(yīng)用程序關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值,則保存所述聯(lián)合調(diào)用上限閾值為歷史聯(lián)合調(diào)用上限閾值,將客戶端應(yīng)用程序的程序標(biāo)識(shí)作為待更新應(yīng)用程序標(biāo)識(shí),將所述預(yù)估次數(shù)作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送包括待更新聯(lián)合調(diào)用上限閾值和對(duì)應(yīng)的待更新應(yīng)用程序標(biāo)識(shí)的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,在經(jīng)過所述增長(zhǎng)評(píng)估期時(shí)間段后,如果沒有接收到與客戶端應(yīng)用程序關(guān)聯(lián)的確定提升聯(lián)合調(diào)用上限閾值請(qǐng)求,則將所述歷史聯(lián)合調(diào)用上限閾值作為待更新聯(lián)合調(diào)用上限閾值,發(fā)送所述更新聯(lián)合調(diào)用上限閾值請(qǐng)求; 設(shè)置在網(wǎng)關(guān)的更新聯(lián)合調(diào)用上限閾值請(qǐng)求接收模塊,用于接收分析控制系統(tǒng)發(fā)送的更新聯(lián)合調(diào)用上限閾值請(qǐng)求,將與待更新應(yīng)用程序標(biāo)識(shí)關(guān)聯(lián)的聯(lián)合調(diào)用上限閾值更新為所述待更新聯(lián)合調(diào)用上限閾值; 設(shè)置在網(wǎng)關(guān)的確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求接收模塊,用于將接收到確定提升應(yīng)用程序調(diào)用上限閾值請(qǐng)求,轉(zhuǎn)發(fā)到分析控制系統(tǒng)。
13.根據(jù)權(quán)利要求8所述的流量控制系統(tǒng),其特征在于,還包括: 設(shè)置在網(wǎng)關(guān)的調(diào)用次數(shù)發(fā)送模塊,用于當(dāng)允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則增加客戶端應(yīng)用程序的調(diào)用次數(shù)、增加內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),增加客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)并發(fā)送到與網(wǎng)關(guān)通信的集群計(jì)數(shù)器; 設(shè)置在網(wǎng)關(guān)的流量檢測(cè)模塊,當(dāng)檢測(cè)客戶端應(yīng)用程序或者內(nèi)部應(yīng)用接口是否滿足所述流量控制規(guī)則時(shí),從集群計(jì)數(shù)器中獲`取: 在預(yù)設(shè)的應(yīng)用程序調(diào)用計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序的調(diào)用次數(shù),或者; 在預(yù)設(shè)的應(yīng)用接口被調(diào)用計(jì)量時(shí)間段內(nèi),內(nèi)部應(yīng)用接口的被調(diào)用次數(shù),或者; 在預(yù)設(shè)的客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口計(jì)量時(shí)間段內(nèi),客戶端應(yīng)用程序調(diào)用內(nèi)部應(yīng)用接口的次數(shù)。
14.根據(jù)權(quán)利要求8所述的流量控制系統(tǒng),其特征在于,還包括: 設(shè)置在網(wǎng)關(guān)的線程分配模塊,用于預(yù)先為應(yīng)用接口分配至少一個(gè)線程,并設(shè)置為空閑線程; 設(shè)置在網(wǎng)關(guān)的線程檢測(cè)模塊,用于如果允許客戶端應(yīng)用程序的所述調(diào)用請(qǐng)求,則檢測(cè)內(nèi)部應(yīng)用接口是否有空閑線程: 如果內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程,則從內(nèi)部應(yīng)用接口的空閑線程中選擇一個(gè)作為當(dāng)前線程,所述客戶端應(yīng)用程序采用所述當(dāng)前線程調(diào)用所述內(nèi)部應(yīng)用接口,并將當(dāng)前線程設(shè)置為工作線程,當(dāng)所述客戶端應(yīng)用程序結(jié)束調(diào)用內(nèi)部應(yīng)用接口,則將當(dāng)前線程設(shè)置為空閑線程; 如果內(nèi)部應(yīng)用接口沒有空閑線程,則暫??蛻舳藨?yīng)用程序的所述調(diào)用請(qǐng)求直到內(nèi)部應(yīng)用接口有至少一個(gè)空閑線程。
【文檔編號(hào)】G06F9/48GK103701709SQ201310683050
【公開日】2014年4月2日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】杜宇甫 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司