一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,業(yè)務(wù)需求的千變?nèi)f化,特別是在集群環(huán)境下,各種類型業(yè)務(wù)服務(wù)相互交織,無形中就給開發(fā)人員增加了開發(fā)難度,給系統(tǒng)的維護和運營增加了成本。
[0003]中國發(fā)明專利申請CN 1870562A公開了一種動態(tài)Web服務(wù)調(diào)用方法,包括:Web服務(wù)請求者構(gòu)建Web服務(wù)請求,改請求中包括了請求者定制的調(diào)用標準;Web服務(wù)請求者將所述Web服務(wù)請求發(fā)送給服務(wù)代理;以及服務(wù)代理根據(jù)所述Web服務(wù)請求,找到和調(diào)用滿足該調(diào)用標準的候選Web服務(wù)實現(xiàn),并將最佳的調(diào)用結(jié)果以及用于標識該次服務(wù)請求的回話標識返回給請求者。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需要解決的技術(shù)問題提供一種集群環(huán)境下基于代理來動態(tài)調(diào)用服務(wù)的方法。
[0005]為解決上述的技術(shù)問題,本發(fā)明一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,包括以下步驟,
[0006]代理服務(wù)啟動,代理服務(wù)通過對外服務(wù)注冊接口提供對外服務(wù)注冊,同時通過服務(wù)調(diào)用接口提供服務(wù)調(diào)用;
[0007]當代理服務(wù)監(jiān)聽到有新服務(wù)向通過對外服務(wù)注冊接口注冊時,首先創(chuàng)建服務(wù)映射表,然后將新注冊的服務(wù)信息存儲到服務(wù)映射表中;
[0008]當有業(yè)務(wù)請求向代理服務(wù)請求業(yè)務(wù)服務(wù)時,代理服務(wù)接收服務(wù)請求后,解析業(yè)務(wù)請求得到請求參數(shù),然后根據(jù)請求參數(shù)在服務(wù)映射表中查找符合相應(yīng)請求參數(shù)的業(yè)務(wù)服務(wù);
[0009]判斷是否找到匹配業(yè)務(wù)服務(wù),如果否,則進入錯誤處理;如果是,代理服務(wù)根據(jù)服務(wù)映射表選取的業(yè)務(wù)服務(wù)傳遞給相應(yīng)的業(yè)務(wù)請求。
[0010]進一步的,當代理服務(wù)監(jiān)聽到有新服務(wù)向通過對外服務(wù)注冊接口注冊時,先判斷注冊是否成功,如果注冊成功,則創(chuàng)建服務(wù)映射表;如果注冊不成功,則進行服務(wù)注冊失敗處理。
[0011]進一步的,當代理服務(wù)接收服務(wù)請求后,代理服務(wù)先驗證該服務(wù)請求是否合法,合法則進入代理服務(wù),不合法則進入錯誤處理。
[0012]進一步的,代理服務(wù)有服務(wù)失效處理,每當有業(yè)務(wù)請求代理服務(wù)時,代理服務(wù)會過濾掉失效的服務(wù),以輪詢的方式來選取其他正常的業(yè)務(wù)服務(wù)來完成業(yè)務(wù)請求。
[0013]進一步的,代理服務(wù)負責均衡合理分配,代理服務(wù)將所有的業(yè)務(wù)請求按負載均衡的策略分配到每個活躍的服務(wù)。
[0014]采用上述方法后,它完全通過統(tǒng)一的代理入口來選取集群環(huán)境中服務(wù),開發(fā)人員不再關(guān)心該調(diào)用哪個服務(wù)、如何調(diào)用,也不必知道服務(wù)內(nèi)部的處理流程,對于他們也來說整個服務(wù)調(diào)用模塊都是透明的,他們只要在各自的程序中設(shè)置好代理入口和所需調(diào)用服務(wù)的類型,代理就可以給他們選取有效的、穩(wěn)定的、準確的服務(wù)來給他們調(diào)用,降低業(yè)務(wù)開發(fā)難度和維護成本。
【附圖說明】
[0015]下面將結(jié)合附圖和【具體實施方式】對本作進一步詳細的說明。
[0016]圖1為本發(fā)明一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法的結(jié)構(gòu)框圖。
[0017]圖2為本發(fā)明一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法的流程圖。
【具體實施方式】
[0018]如圖1和圖2所示,本發(fā)明一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,包括以下步驟,
[0019]代理服務(wù)啟動,代理服務(wù)通過對外服務(wù)注冊接口提供對外服務(wù)注冊,同時通過服務(wù)調(diào)用接口提供服務(wù)調(diào)用。此步驟中代理服務(wù)提供的隊伍服務(wù)注冊和服務(wù)調(diào)用時同時進行的,一方面通過對外服務(wù)注冊接口監(jiān)聽是否有新服務(wù)向他發(fā)送注冊請求,一方面通過服務(wù)調(diào)用接口提供監(jiān)聽是否有業(yè)務(wù)請求。
[0020]當代理服務(wù)監(jiān)聽到有新服務(wù)向通過對外服務(wù)注冊接口注冊時,先判斷注冊是否成功,如果注冊成功,則首先創(chuàng)建服務(wù)映射表,然后將新注冊的服務(wù)信息存儲到服務(wù)映射表中;如果注冊不成功,則進行服務(wù)注冊失敗處理。
[0021]當有業(yè)務(wù)請求向代理服務(wù)請求業(yè)務(wù)服務(wù)時,代理服務(wù)接收服務(wù)請求后,代理服務(wù)先驗證該服務(wù)請求是否合法,合法則進入代理服務(wù),不合法則進入錯誤處理。服務(wù)模塊有服務(wù)失效處理,每當有業(yè)務(wù)請求代理服務(wù)時,代理服務(wù)會過濾掉失效的服務(wù),以輪詢的方式來選取其他正常的業(yè)務(wù)服務(wù)來完成業(yè)務(wù)請求,這樣可以保證代理服務(wù)可靠穩(wěn)定。
[0022]當驗證業(yè)務(wù)請求合法后,相關(guān)的代理服務(wù)包括解析業(yè)務(wù)請求得到請求參數(shù),然后根據(jù)請求參數(shù)在服務(wù)映射表中查找符合相應(yīng)請求參數(shù)的業(yè)務(wù)服務(wù)。負責均衡合理分配,代理服務(wù)將所有的業(yè)務(wù)請求按負載均衡的策略分配到每個活躍的服務(wù),這樣能使每個業(yè)務(wù)服務(wù)能最大化的被利用,不會造成資源浪費。最后判斷是否找到匹配業(yè)務(wù)服務(wù),如果否,則進入錯誤處理;如果是,代理服務(wù)根據(jù)服務(wù)映射表選取的業(yè)務(wù)服務(wù)傳遞給相應(yīng)的業(yè)務(wù)請求。
[0023]本發(fā)明服務(wù)和業(yè)務(wù)模塊分離,降低開發(fā)難度和維護成本,對于開發(fā)業(yè)務(wù)的人員來說,所有的業(yè)務(wù)服務(wù)都是透明的,他們只需知道代理服務(wù)的IP和所需調(diào)用業(yè)務(wù)服務(wù)的類型名稱,而業(yè)務(wù)服務(wù)開發(fā)人員只關(guān)注自己的服務(wù),所有的服務(wù)都統(tǒng)一向代理服務(wù)注冊,所有的操作都由代理服務(wù)分配執(zhí)行
[0024]雖然以上描述了本發(fā)明的【具體實施方式】,但是本領(lǐng)域熟練技術(shù)人員應(yīng)當理解,這些僅是舉例說明,可以對本實施方式作出多種變更或修改,而不背離發(fā)明的原理和實質(zhì),本發(fā)明的保護范圍僅由所附權(quán)利要求書限定。
【主權(quán)項】
1.一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,其特征在于,包括以下步驟: 代理服務(wù)啟動,代理服務(wù)通過對外服務(wù)注冊接口提供對外服務(wù)注冊,同時通過服務(wù)調(diào)用接口提供服務(wù)調(diào)用; 當代理服務(wù)監(jiān)聽到有新服務(wù)向通過對外服務(wù)注冊接口注冊時,首先創(chuàng)建服務(wù)映射表,然后將新注冊的服務(wù)信息存儲到服務(wù)映射表中; 當有業(yè)務(wù)請求向代理服務(wù)請求業(yè)務(wù)服務(wù)時,代理服務(wù)接收服務(wù)請求后,解析業(yè)務(wù)請求得到請求參數(shù),然后根據(jù)請求參數(shù)在服務(wù)映射表中查找符合相應(yīng)請求參數(shù)的業(yè)務(wù)服務(wù); 判斷是否找到匹配業(yè)務(wù)服務(wù),如果否,則進入錯誤處理;如果是,代理服務(wù)根據(jù)服務(wù)映射表選取的業(yè)務(wù)服務(wù)傳遞給相應(yīng)的業(yè)務(wù)請求。
2.按照權(quán)利要求1所述的一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,其特征在于,當代理服務(wù)監(jiān)聽到有新服務(wù)向通過對外服務(wù)注冊接口注冊時,先判斷注冊是否成功,如果注冊成功,則創(chuàng)建服務(wù)映射表;如果注冊不成功,則進行服務(wù)注冊失敗處理。
3.按照權(quán)利要求1所述的一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,其特征在于,當代理服務(wù)接收服務(wù)請求后,代理服務(wù)先驗證該服務(wù)請求是否合法,合法則進入代理服務(wù),不合法則進入錯誤處理。
4.按照權(quán)利要求1所述的一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,其特征在于,代理服務(wù)有服務(wù)失效處理,每當有業(yè)務(wù)請求代理服務(wù)時,代理服務(wù)會過濾掉失效的服務(wù),以輪詢的方式來選取其他正常的業(yè)務(wù)服務(wù)來完成業(yè)務(wù)請求。
5.按照權(quán)利要求1所述的一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,其特征在于,代理服務(wù)負責均衡合理分配,代理服務(wù)將所有的業(yè)務(wù)請求按負載均衡的策略分配到每個活躍的服務(wù)。
【專利摘要】本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是一種集群環(huán)境下基于代理的動態(tài)服務(wù)調(diào)用方法,代理服務(wù)啟動,代理服務(wù)通過對外服務(wù)注冊接口提供對外服務(wù)注冊,同時通過服務(wù)調(diào)用接口提供服務(wù)調(diào)用;當代理服務(wù)監(jiān)聽到有新服務(wù)向通過對外服務(wù)注冊接口注冊時,首先創(chuàng)建服務(wù)映射表,然后將新注冊的服務(wù)信息存儲到服務(wù)映射表中;當有業(yè)務(wù)請求向代理服務(wù)請求業(yè)務(wù)服務(wù)時,代理服務(wù)接收服務(wù)請求后,解析業(yè)務(wù)請求得到請求參數(shù),然后根據(jù)請求參數(shù)在服務(wù)映射表中查找符合相應(yīng)請求參數(shù)的業(yè)務(wù)服務(wù);判斷是否找到匹配業(yè)務(wù)服務(wù),如果否,則進入錯誤處理;如果是,代理服務(wù)根據(jù)服務(wù)映射表選取的業(yè)務(wù)服務(wù)傳遞給相應(yīng)的業(yè)務(wù)請求。采用上述方法,降低業(yè)務(wù)開發(fā)難度和維護成本。
【IPC分類】H04L29-08
【公開號】CN104869163
【申請?zhí)枴緾N201510273777
【發(fā)明人】羅儉
【申請人】湖南傻蛋科技有限公司
【公開日】2015年8月26日
【申請日】2015年5月26日