本發(fā)明涉及計(jì)算機(jī)技術(shù)與通訊后臺(tái)調(diào)度技術(shù)領(lǐng)域,特別涉及基于網(wǎng)關(guān)資源池的短信平臺(tái)服務(wù)調(diào)度方法。
背景技術(shù):
隨著業(yè)務(wù)方對(duì)短信網(wǎng)關(guān)提出越來(lái)越多的差異化功能需求,除了最常見(jiàn)的文本短信發(fā)送功能,還出現(xiàn)了語(yǔ)音短信、通過(guò)文本或語(yǔ)音關(guān)鍵字辦理業(yè)務(wù)等功能,因此短信平臺(tái)需要集成更多類(lèi)型、更多數(shù)量的短信網(wǎng)關(guān)資源,同時(shí)針對(duì)一些非常規(guī)、定制化的短信服務(wù)需求,需要通過(guò)平臺(tái)端的調(diào)度與協(xié)調(diào)來(lái)完成。
作為提供基礎(chǔ)短信服務(wù)的平臺(tái),短信平臺(tái)需要應(yīng)對(duì)多個(gè)業(yè)務(wù)方發(fā)起的較大規(guī)模的、復(fù)雜業(yè)務(wù)邏輯的短信服務(wù)請(qǐng)求,并及時(shí)調(diào)用相應(yīng)的網(wǎng)關(guān)做出響應(yīng),完成短信服務(wù)流程。傳統(tǒng)短信平臺(tái)對(duì)這一流程的處理因業(yè)務(wù)場(chǎng)景相對(duì)簡(jiǎn)單而做了較為簡(jiǎn)化的處理,通常是直接調(diào)用對(duì)接的短信網(wǎng)關(guān),提供基礎(chǔ)短信服務(wù)。
而在新的信息技術(shù)趨勢(shì)下,業(yè)務(wù)場(chǎng)景的復(fù)雜多樣化驅(qū)使著短信平臺(tái)需要提供內(nèi)容形式多樣化、功能更為強(qiáng)大、響應(yīng)更為及時(shí)的短信服務(wù),其中最核心的流程,是如何根據(jù)業(yè)務(wù)方的短信發(fā)送請(qǐng)求,協(xié)調(diào)現(xiàn)有已接入的網(wǎng)關(guān)資源,向業(yè)務(wù)方快速準(zhǔn)確地返回響應(yīng)資源。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是:提出一種基于網(wǎng)關(guān)資源池的短信平臺(tái)服務(wù)調(diào)度方法,為業(yè)務(wù)方提供內(nèi)容形式多樣化、功能更為強(qiáng)大、響應(yīng)更為及時(shí)的短信服務(wù)。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:基于網(wǎng)關(guān)資源池的短信平臺(tái)服務(wù)調(diào)度方法,其特征在于,包括以下步驟:
A、對(duì)短信網(wǎng)關(guān)賬號(hào)資源池進(jìn)行配置,生成有序網(wǎng)關(guān)隊(duì)列,并映射到對(duì)應(yīng)的網(wǎng)關(guān)微服務(wù);
B、短信平臺(tái)接收各業(yè)務(wù)方的網(wǎng)關(guān)服務(wù)請(qǐng)求,按請(qǐng)求的服務(wù)類(lèi)型維護(hù)若干個(gè)網(wǎng)關(guān)服務(wù)請(qǐng)求隊(duì)列,并以請(qǐng)求時(shí)間的先后順序排列,隨著服務(wù)請(qǐng)求的增加實(shí)時(shí)地對(duì)請(qǐng)求隊(duì)列進(jìn)行更新;
C、對(duì)網(wǎng)關(guān)服務(wù)請(qǐng)求隊(duì)列中的網(wǎng)關(guān)請(qǐng)求按服務(wù)類(lèi)型,分發(fā)到網(wǎng)關(guān)資源池中對(duì)應(yīng)的網(wǎng)關(guān)隊(duì)列,并將網(wǎng)關(guān)隊(duì)列中實(shí)時(shí)請(qǐng)求處理量最小的網(wǎng)關(guān)賬號(hào)指派給本次請(qǐng)求;
D、網(wǎng)關(guān)資源池中的網(wǎng)關(guān)賬號(hào)根據(jù)服務(wù)請(qǐng)求信息,封裝必要的參數(shù)與數(shù)據(jù),向網(wǎng)關(guān)賬號(hào)微服務(wù)發(fā)起平臺(tái)內(nèi)部的服務(wù)調(diào)度請(qǐng)求;
E、網(wǎng)關(guān)賬號(hào)微服務(wù)攔截所述服務(wù)調(diào)度請(qǐng)求,解析請(qǐng)求信息,校驗(yàn)服務(wù)請(qǐng)求的必要參數(shù),并重點(diǎn)校驗(yàn)服務(wù)簽名信息,然后封裝包括手機(jī)號(hào)碼在內(nèi)的運(yùn)營(yíng)商服務(wù)端必需參數(shù)與數(shù)據(jù),同時(shí)調(diào)用相應(yīng)的網(wǎng)關(guān)內(nèi)容模板,向網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端發(fā)起網(wǎng)關(guān)服務(wù)請(qǐng)求;
F、網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端攔截到服務(wù)請(qǐng)求信息后,根據(jù)其自身的請(qǐng)求處理機(jī)制與規(guī)則,向合法請(qǐng)求信息中的手機(jī)號(hào)碼發(fā)送響應(yīng)信息,同時(shí)根據(jù)服務(wù)請(qǐng)求的功能特點(diǎn)與實(shí)際的業(yè)務(wù)需要,向短信平臺(tái)發(fā)送回調(diào)信息,通知短信平臺(tái)本次網(wǎng)關(guān)服務(wù)響應(yīng)的狀態(tài)與結(jié)果;
G、根據(jù)網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端返回的回調(diào)結(jié)果,判斷本次服務(wù)請(qǐng)求是否達(dá)到了預(yù)期的結(jié)果,若服務(wù)響應(yīng)成功則向業(yè)務(wù)方發(fā)送本次請(qǐng)求的成功消息,并記錄本次服務(wù)請(qǐng)求處理的成功記錄;若服務(wù)響應(yīng)失敗則進(jìn)入步驟H;
H、啟用平臺(tái)的檢查機(jī)制,若是服務(wù)請(qǐng)求的參數(shù)與方式錯(cuò)誤,則向業(yè)務(wù)方發(fā)送包括流水號(hào)與失敗原因在內(nèi)的請(qǐng)求失敗消息,并記錄本次服務(wù)調(diào)度失敗信息;若是平臺(tái)調(diào)度失敗或網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端處理失敗,則返回步驟C重新選擇網(wǎng)關(guān)賬號(hào),繼續(xù)執(zhí)行平臺(tái)服務(wù)調(diào)度流程,直到平臺(tái)收到了服務(wù)響應(yīng)成功的消息。
作為進(jìn)一步優(yōu)化,步驟A中,所述對(duì)短信網(wǎng)關(guān)帳號(hào)資源池進(jìn)行配置,具體包括:
A1.對(duì)于已接入短信平臺(tái)的短信網(wǎng)關(guān)賬號(hào),在被加入到網(wǎng)關(guān)資源池之前,均以短信平臺(tái)獨(dú)立的網(wǎng)關(guān)賬號(hào)微服務(wù)方式發(fā)布;
A2.對(duì)已加入網(wǎng)關(guān)資源池的短信網(wǎng)關(guān)賬號(hào),按其提供網(wǎng)關(guān)服務(wù)的功能類(lèi)型,分成若干個(gè)網(wǎng)關(guān)賬號(hào)組;
A3.對(duì)于每一個(gè)服務(wù)類(lèi)型相同的網(wǎng)關(guān)賬號(hào)組,將組內(nèi)的網(wǎng)關(guān)賬號(hào)按處理服務(wù)請(qǐng)求的能力或請(qǐng)求處理量大小進(jìn)行排序,生成有序網(wǎng)關(guān)隊(duì)列,網(wǎng)關(guān)隊(duì)列根據(jù)每個(gè)網(wǎng)關(guān)賬號(hào)請(qǐng)求處理量的大小進(jìn)行實(shí)時(shí)的自調(diào)整,并保證隊(duì)列順序的準(zhǔn)確性;
A4.建立網(wǎng)關(guān)資源池內(nèi)網(wǎng)關(guān)賬號(hào)與其對(duì)應(yīng)平臺(tái)網(wǎng)關(guān)微服務(wù)的通信連接,確定網(wǎng)關(guān)賬號(hào)與微服務(wù)的一一對(duì)應(yīng)關(guān)系。
作為進(jìn)一步優(yōu)化,步驟B中,所述服務(wù)類(lèi)型包括:短信驗(yàn)證碼、語(yǔ)音驗(yàn)證碼、關(guān)鍵字功能定制。
作為進(jìn)一步優(yōu)化,步驟C中具體包括:
C1.從網(wǎng)關(guān)請(qǐng)求隊(duì)列中批量提取出服務(wù)請(qǐng)求時(shí)間靠前的服務(wù)請(qǐng)求集合;
C2.根據(jù)服務(wù)請(qǐng)求類(lèi)型與網(wǎng)關(guān)賬號(hào)所提供的服務(wù)功能類(lèi)型的對(duì)應(yīng)關(guān)系,判斷C1中的服務(wù)請(qǐng)求對(duì)應(yīng)的服務(wù)功能類(lèi)型,并在網(wǎng)關(guān)資源池中匹配對(duì)應(yīng)的網(wǎng)關(guān)隊(duì)列;
C3.實(shí)時(shí)更新C2中相應(yīng)服務(wù)請(qǐng)求所匹配出的網(wǎng)關(guān)隊(duì)列,并選擇網(wǎng)關(guān)隊(duì)列中空閑率最高的網(wǎng)關(guān)賬號(hào)作為處理本次服務(wù)請(qǐng)求的網(wǎng)關(guān)資源賬號(hào);
C4.對(duì)于本次網(wǎng)關(guān)服務(wù)請(qǐng)求所選取的網(wǎng)關(guān)資源賬號(hào),建立請(qǐng)求與網(wǎng)關(guān)資源賬號(hào)之間的服務(wù)關(guān)聯(lián)關(guān)系,并將服務(wù)請(qǐng)求信息發(fā)送至網(wǎng)關(guān)資源池。
作為進(jìn)一步優(yōu)化,步驟C3中,所述空閑率最高是指實(shí)時(shí)業(yè)務(wù)處理量最小。
需要說(shuō)明的是,本發(fā)明中所述“若干個(gè)”是指一個(gè)或者多個(gè)。
本發(fā)明的有益效果是:本發(fā)明中的短信平臺(tái)服務(wù)調(diào)度方法對(duì)平臺(tái)業(yè)務(wù)方發(fā)起的網(wǎng)關(guān)服務(wù)請(qǐng)求進(jìn)行統(tǒng)一的分發(fā)處理,并按請(qǐng)求的服務(wù)功能特點(diǎn)選擇對(duì)應(yīng)的網(wǎng)關(guān)賬號(hào),以網(wǎng)關(guān)資源池作為平臺(tái)服務(wù)調(diào)度的中樞,以微服務(wù)作為處理服務(wù)請(qǐng)求的基本單元,對(duì)網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端返回的服務(wù)狀態(tài)信息進(jìn)行及時(shí)處理;能對(duì)多業(yè)務(wù)方、多種服務(wù)類(lèi)型的請(qǐng)求進(jìn)行快速、準(zhǔn)確的分發(fā)與響應(yīng),同時(shí)能對(duì)響應(yīng)失敗的請(qǐng)求進(jìn)行容錯(cuò)處理,提高了服務(wù)響應(yīng)的成功率。
附圖說(shuō)明
圖1為實(shí)施例中的短信平臺(tái)服務(wù)調(diào)度方法流程圖;
圖2為實(shí)施例中的網(wǎng)關(guān)服務(wù)調(diào)度示意圖。
具體實(shí)施方式
本發(fā)明旨在提出一種基于網(wǎng)關(guān)資源池的短信平臺(tái)服務(wù)調(diào)度方法,為業(yè)務(wù)方提供內(nèi)容形式多樣化、功能更為強(qiáng)大、響應(yīng)更為及時(shí)的短信服務(wù)。
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的方案作進(jìn)一步的描述:
實(shí)施例:
如圖1和圖2所示,本實(shí)施例中的基于網(wǎng)關(guān)資源池的短信平臺(tái)服務(wù)調(diào)度方法,包括:
步驟S101、對(duì)網(wǎng)關(guān)賬號(hào)資源池202進(jìn)行配置:對(duì)于已接入短信平臺(tái)的短信網(wǎng)關(guān)賬號(hào),在被加入到網(wǎng)關(guān)資源池202之前,均以短信平臺(tái)獨(dú)立的網(wǎng)關(guān)賬號(hào)微服務(wù)方式發(fā)布;短信網(wǎng)關(guān)賬號(hào)在加入網(wǎng)關(guān)資源池之后,按其提供網(wǎng)關(guān)服務(wù)的功能類(lèi)型,分成若干個(gè)網(wǎng)關(guān)賬號(hào)組;對(duì)于每一個(gè)服務(wù)類(lèi)型相同的網(wǎng)關(guān)賬號(hào)組,將組內(nèi)的網(wǎng)關(guān)賬號(hào)按處理服務(wù)請(qǐng)求的能力或請(qǐng)求處理量大小進(jìn)行排序,生成有序網(wǎng)關(guān)隊(duì)列,網(wǎng)關(guān)隊(duì)列根據(jù)每個(gè)網(wǎng)關(guān)賬號(hào)請(qǐng)求處理量的大小進(jìn)行實(shí)時(shí)的自調(diào)整,并保證隊(duì)列順序的準(zhǔn)確性,對(duì)于具有多種服務(wù)功能的賬號(hào),可被劃入不同的網(wǎng)關(guān)隊(duì)列;建立網(wǎng)關(guān)資源池內(nèi)網(wǎng)關(guān)賬號(hào)與其對(duì)應(yīng)平臺(tái)網(wǎng)關(guān)微服務(wù)的通信連接,確定網(wǎng)關(guān)賬號(hào)與微服務(wù)的一一對(duì)應(yīng)關(guān)系,便于對(duì)網(wǎng)關(guān)服務(wù)請(qǐng)求的處理。
步驟S102、構(gòu)建網(wǎng)關(guān)服務(wù)請(qǐng)求隊(duì)列201:短信平臺(tái)接收各業(yè)務(wù)方的網(wǎng)關(guān)服務(wù)請(qǐng)求,按請(qǐng)求的服務(wù)類(lèi)型維護(hù)若干個(gè)網(wǎng)關(guān)請(qǐng)求隊(duì)列,并以請(qǐng)求時(shí)間的先后順序排列,隨著服務(wù)請(qǐng)求的增加實(shí)時(shí)地對(duì)請(qǐng)求隊(duì)列進(jìn)行更新,并按短信驗(yàn)證碼、語(yǔ)音驗(yàn)證碼、關(guān)鍵字功能定制等服務(wù)類(lèi)型劃分請(qǐng)求隊(duì)列。
步驟S103、對(duì)請(qǐng)求隊(duì)列進(jìn)行平臺(tái)內(nèi)調(diào)度分發(fā):對(duì)網(wǎng)關(guān)服務(wù)請(qǐng)求隊(duì)列201中的網(wǎng)關(guān)請(qǐng)求按服務(wù)類(lèi)型,分發(fā)到網(wǎng)關(guān)資源池中對(duì)應(yīng)的網(wǎng)關(guān)隊(duì)列,并將網(wǎng)關(guān)隊(duì)列中實(shí)時(shí)請(qǐng)求處理量最小的網(wǎng)關(guān)賬號(hào)指派給本次請(qǐng)求。從步驟S102中的網(wǎng)關(guān)請(qǐng)求隊(duì)列中批量提取出服務(wù)請(qǐng)求時(shí)間靠前的服務(wù)請(qǐng)求集合;根據(jù)服務(wù)請(qǐng)求類(lèi)型與網(wǎng)關(guān)賬號(hào)所提供得服務(wù)功能類(lèi)型的對(duì)應(yīng)關(guān)系,判斷服務(wù)請(qǐng)求對(duì)應(yīng)的服務(wù)功能類(lèi)型,并在網(wǎng)關(guān)資源池中匹配對(duì)應(yīng)的網(wǎng)關(guān)隊(duì)列;實(shí)時(shí)更新相應(yīng)服務(wù)請(qǐng)求所匹配出的網(wǎng)關(guān)隊(duì)列,并選擇網(wǎng)關(guān)隊(duì)列中空閑率最高(實(shí)時(shí)業(yè)務(wù)處理量最小)的網(wǎng)關(guān)賬號(hào)作為處理本次服務(wù)請(qǐng)求的網(wǎng)關(guān)資源賬號(hào);對(duì)于本次網(wǎng)關(guān)服務(wù)請(qǐng)求所選取的網(wǎng)關(guān)資源賬號(hào),建立請(qǐng)求與網(wǎng)關(guān)資源賬號(hào)之間的服務(wù)關(guān)聯(lián)關(guān)系,并將服務(wù)請(qǐng)求信息發(fā)送至網(wǎng)關(guān)資源池。
步驟S104、資源網(wǎng)關(guān)賬號(hào)向微服務(wù)發(fā)起調(diào)度請(qǐng)求:網(wǎng)關(guān)資源池中的網(wǎng)關(guān)賬號(hào)根據(jù)服務(wù)請(qǐng)求信息,封裝必要的參數(shù)與數(shù)據(jù),向網(wǎng)關(guān)賬號(hào)微服務(wù)203發(fā)起平臺(tái)內(nèi)部的服務(wù)調(diào)度請(qǐng)求。
步驟S105、微服務(wù)攔截調(diào)度并向網(wǎng)關(guān)通道服務(wù)端204發(fā)起請(qǐng)求:網(wǎng)關(guān)賬號(hào)微服務(wù)攔截步驟S104中發(fā)出的服務(wù)調(diào)度請(qǐng)求,解析請(qǐng)求信息,校驗(yàn)服務(wù)請(qǐng)求的必要參數(shù),并重點(diǎn)校驗(yàn)服務(wù)簽名信息,然后封裝包括手機(jī)號(hào)碼在內(nèi)的運(yùn)營(yíng)商服務(wù)端必需參數(shù)與數(shù)據(jù),同時(shí)調(diào)用相應(yīng)的網(wǎng)關(guān)內(nèi)容模板(如短信模板),向網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端發(fā)起網(wǎng)關(guān)服務(wù)請(qǐng)求。
步驟S106、網(wǎng)關(guān)通道服務(wù)端204對(duì)請(qǐng)求作出響應(yīng):網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端攔截到服務(wù)請(qǐng)求信息后,根據(jù)其自身的請(qǐng)求處理機(jī)制與規(guī)則,向合法請(qǐng)求信息中的手機(jī)號(hào)碼發(fā)送響應(yīng)信息,同時(shí)根據(jù)服務(wù)請(qǐng)求的功能特點(diǎn)與實(shí)際的業(yè)務(wù)需要,向短信平臺(tái)發(fā)送回調(diào)信息,通知短信平臺(tái)本次網(wǎng)關(guān)服務(wù)響應(yīng)的狀態(tài)與結(jié)果。
步驟S107、平臺(tái)解析網(wǎng)關(guān)通道服務(wù)端的返回狀態(tài)并處理:根據(jù)步驟S106中網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端返回的回調(diào)結(jié)果,判斷本次服務(wù)請(qǐng)求是否達(dá)到了預(yù)期的結(jié)果,若服務(wù)響應(yīng)成功則向業(yè)務(wù)方發(fā)送本次請(qǐng)求的成功消息,并記錄本次服務(wù)請(qǐng)求處理的成功記錄;若服務(wù)響應(yīng)失敗則進(jìn)入步驟S108。
步驟S108、平臺(tái)處理網(wǎng)關(guān)通道服務(wù)端204響應(yīng)失敗狀態(tài):服務(wù)響應(yīng)失敗,則啟用平臺(tái)的檢查機(jī)制,若是服務(wù)請(qǐng)求的參數(shù)與方式錯(cuò)誤,則向業(yè)務(wù)方發(fā)送包括流水號(hào)與失敗原因在內(nèi)的請(qǐng)求失敗消息,并記錄本次服務(wù)調(diào)度失敗信息;若是平臺(tái)調(diào)度失敗或網(wǎng)關(guān)通道運(yùn)營(yíng)商服務(wù)端204處理失敗,則返回步驟S103重新選擇網(wǎng)關(guān)賬號(hào),繼續(xù)執(zhí)行平臺(tái)服務(wù)調(diào)度流程,直到平臺(tái)收到了服務(wù)響應(yīng)成功的消息。