• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    服務調用方法及裝置制造方法及圖紙

    技術編號:14776193 閱讀:85 留言:0更新日期:2017-03-09 13:00
    本發明專利技術涉及服務調用方法及裝置。該方法包括:在接收到調用服務的請求的情況下,獲取所述服務的可用性參數;在所述可用性參數為可用的情況下,調用所述服務,并獲取所述服務的響應結果;在所述可用性參數為不可用的情況下,執行備選操作。通過在接收到調用服務的請求的情況下,獲取該服務的可用性參數,在可用性參數為可用的情況下,則調用該服務,并獲取該服務的響應結果,在可用性參數為不可用的情況下,執行備選操作,根據本發明專利技術的服務調用方法及裝置能夠在服務出現異常時,降低分布式應用系統對該服務的依賴性,從而能夠提高分布式應用系統的穩定性和可靠性。

    【技術實現步驟摘要】

    本專利技術涉及計算機軟件
    ,尤其涉及一種服務調用方法及裝置。
    技術介紹
    分布式應用(DistributedApplication)指的是應用程序分布在不同計算機上,通過網絡來共同完成一項任務的工作方式。在分布式應用系統中,為了降低耦合性和維護成本,同時為了方便不同部門之間的協同工作,通常拆分為多個具有單一功能的服務。例如,對于大型的互聯網分布式應用,通常拆分為負載均衡、前端、后臺、緩存、數據庫和第三方服務等多個服務。不同的服務通常會部署在不同機房的多臺服務器上,服務之間通過共享數據庫和RPC(RemoteProcessCall,遠程過程調用)等方式進行通信。當分布式應用系統依賴的服務出現異常時,例如服務無法正常響應時,會影響分布式應用系統的性能和穩定性,甚至導致整個分布式應用系統出現異常,從而造成較大損失。綜上,現有的分布式應用系統的穩定性和可靠性依賴于內部及外部服務的穩定性和可靠性,當分布式應用系統依賴的服務出現異常時,對分布式應用系統的服務質量影響較大,甚至會導致分布式應用系統不可用。
    技術實現思路
    技術問題有鑒于此,本專利技術要解決的技術問題是,現有的分布式應用系統的穩定性和可靠性較低。解決方案為了解決上述技術問題,根據本專利技術的一實施例,提供了一種服務調用方法,包括:在接收到調用服務的請求的情況下,獲取所述服務的可用性參數;在所述可用性參數為可用的情況下,調用所述服務,并獲取所述服務的響應結果;在所述可用性參數為不可用的情況下,執行備選操作。對于上述方法,在一種可能的實現方式中,在所述可用性參數為不可用的情況下,執行備選操作,包括:在所述可用性參數為不可用的情況下,判斷所述請求是否需要對所述服務進行探測;若判定需要對所述服務進行探測,則調用所述服務,并獲取所述服務的響應結果;若判定不需要對所述服務進行探測,則調用所述服務的備選數據和/或備選邏輯。對于上述方法,在一種可能的實現方式中,判斷所述請求是否需要對所述服務進行探測,包括:根據預先設定的探測流量比例設置第一區間,并根據所述探測流量比例在所述第一區間中設定第四預設值;為所述請求在所述第一區間中生成隨機數,若所述隨機數與第四預設值相同,則判定需要對所述服務進行探測,否則判定不需要對所述服務進行探測。對于上述方法,在一種可能的實現方式中,在獲取所述服務的響應結果之后,所述方法還包括:將所述服務對應的調用總次數加1;若所述服務的響應結果為異常,則將所述服務對應的調用失敗次數加1;在當前系統時間與所述服務的檢測時間戳之間的時間間隔大于或等于第一預設值,且所述調用總次數大于或等于第二預設值的情況下,根據所述調用失敗次數更新所述可用性參數。對于上述方法,在一種可能的實現方式中,根據所述調用失敗次數更新所述可用性參數,包括:在所述調用失敗次數與所述調用總次數的比值大于或等于第三預設值的情況下,將所述可用性參數更新為不可用;在所述調用失敗次數與所述調用總次數的比值小于所述第三預設值的情況下,將所述可用性參數更新為可用。對于上述方法,在一種可能的實現方式中,在根據所述調用失敗次數更新所述可用性參數之后,所述方法還包括:將所述檢測時間戳更新為所述當前系統時間,并將所述調用總次數和所述調用失敗次數清零。對于上述方法,在一種可能的實現方式中,在獲取所述服務的響應結果之后,所述方法還包括:若所述服務的響應結果為正常,則將所述服務的最新調用狀態更新為正常狀態,否則將所述最新調用狀態更新為異常狀態。為了解決上述技術問題,根據本專利技術的另一實施例,提供了一種服務調用裝置,包括:可用性參數獲取模塊,用于在接收到調用服務的請求的情況下,獲取所述服務的可用性參數;服務調用模塊,用于在所述可用性參數為可用的情況下,調用所述服務,并獲取所述服務的響應結果;備選操作執行模塊,用于在所述可用性參數為不可用的情況下,執行備選操作。對于上述裝置,在一種可能的實現方式中,所述備選操作執行模塊包括:探測判斷子模塊,用于在所述可用性參數為不可用的情況下,判斷所述請求是否需要對所述服務進行探測;服務調用子模塊,用于若判定需要對所述服務進行探測,則調用所述服務,并獲取所述服務的響應結果;備選調用子模塊,用于若判定不需要對所述服務進行探測,則調用所述服務的備選數據和/或備選邏輯。對于上述裝置,在一種可能的實現方式中,所述探測判斷子模塊具體用于:在所述可用性參數為不可用的情況下,根據預先設定的探測流量比例設置第一區間,并根據所述探測流量比例在所述第一區間中設定第四預設值;為所述請求在所述第一區間中生成隨機數,若所述隨機數與第四預設值相同,則判定需要對所述服務進行探測,否則判定不需要對所述服務進行探測。對于上述裝置,在一種可能的實現方式中,所述裝置還包括:調用總次數累加模塊,用于將所述服務對應的調用總次數加1;調用失敗次數累加模塊,用于若所述服務的響應結果為異常,則將所述服務對應的調用失敗次數加1;可用性參數更新模塊,用于在當前系統時間與所述服務的檢測時間戳之間的時間間隔大于或等于第一預設值,且所述調用總次數大于或等于第二預設值的情況下,根據所述調用失敗次數更新所述可用性參數。對于上述裝置,在一種可能的實現方式中,所述可用性參數更新模塊包括:第一可用性參數更新子模塊,用于在所述調用失敗次數與所述調用總次數的比值大于或等于第三預設值的情況下,將所述可用性參數更新為不可用;第二可用性參數更新子模塊,用于在所述調用失敗次數與所述調用總次數的比值小于所述第三預設值的情況下,將所述可用性參數更新為可用。對于上述裝置,在一種可能的實現方式中,所述裝置還包括:清零模塊,用于將所述檢測時間戳更新為所述當前系統時間,并將所述調用總次數和所述調用失敗次數清零。對于上述裝置,在一種可能的實現方式中,所述裝置還包括:最新調用狀態更新模塊,用于若所述服務的響應結果為正常,則將所述服務的最新調用狀態更新為正常狀態,否則將所述最新調用狀態更新為異常狀態。有益效果通過在接收到調用服務的請求的情況下,獲取該服務的可用性參數,在可用性參數為可用的情況下,則調用該服務,并獲取該服務的響應結果,在可用性參數為不可用的情況下,執行備選操作,根據本專利技術實施例的服務調用方法及裝置能夠在服務出現異常時,降低分布式應用系統對該服務的依賴性,從而能夠提高分布式應用系統的穩定性和可靠性。根據下面參考附圖對示例性實施例的詳細說明,本專利技術的其它特征及方面將變得清楚。附圖說明包含在說明書中并且構成說明書的一部分的附圖與說明書一起示出了本專利技術的示例性實施例、特征和方面,并且用于解釋本專利技術的原理。圖1示出根據本專利技術一實施例的服務調用方法的實現流程圖;圖2示出根據本專利技術一實施例的服務調用方法步驟S103的一示例性的具體實現流程圖;圖3示出根據本專利技術一實施例的服務調用方法步驟S201中判斷該請求是否需要對該服務進行探測的一示例性的具體實現流程圖;圖4示出根據本專利技術一實施例的服務調用方法的一示例性的實現流程圖;圖5示出根據本專利技術一實施例的服務調用方法的另一示例性的實現流程圖;圖6示出根據本專利技術一實施例的服務調用方法的另一示例性的實現流程圖;圖7示出根據本專利技術一實施例的服務調用方法的另一示例性的實現流程圖;圖8示出根據本專利技術另一實施例的服務調用裝置的結構框圖;圖9示本文檔來自技高網...
    服務調用方法及裝置

    【技術保護點】
    一種服務調用方法,其特征在于,包括:在接收到調用服務的請求的情況下,獲取所述服務的可用性參數;在所述可用性參數為可用的情況下,調用所述服務,并獲取所述服務的響應結果;在所述可用性參數為不可用的情況下,執行備選操作。

    【技術特征摘要】
    1.一種服務調用方法,其特征在于,包括:在接收到調用服務的請求的情況下,獲取所述服務的可用性參數;在所述可用性參數為可用的情況下,調用所述服務,并獲取所述服務的響應結果;在所述可用性參數為不可用的情況下,執行備選操作。2.根據權利要求1所述的方法,其特征在于,在所述可用性參數為不可用的情況下,執行備選操作,包括:在所述可用性參數為不可用的情況下,判斷所述請求是否需要對所述服務進行探測;若判定需要對所述服務進行探測,則調用所述服務,并獲取所述服務的響應結果;若判定不需要對所述服務進行探測,則調用所述服務的備選數據和/或備選邏輯。3.根據權利要求2所述的方法,其特征在于,判斷所述請求是否需要對所述服務進行探測,包括:根據預先設定的探測流量比例設置第一區間,并根據所述探測流量比例在所述第一區間中設定第四預設值;為所述請求在所述第一區間中生成隨機數,若所述隨機數與第四預設值相同,則判定需要對所述服務進行探測,否則判定不需要對所述服務進行探測。4.根據權利要求1至3任意一項所述的方法,其特征在于,在獲取所述服務的響應結果之后,所述方法還包括:將所述服務對應的調用總次數加1;若所述服務的響應結果為異常,則將所述服務對應的調用失敗次數加1;在當前系統時間與所述服務的檢測時間戳之間的時間間隔大于或等于第一預設值,且所述調用總次數大于或等于第二預設值的情況下,根據所述調用失敗次數更新所述可用性參數。5.根據權利要求4所述的方法,其特征在于,根據所述調用失敗次數更新所述可用性參數,包括:在所述調用失敗次數與所述調用總次數的比值大于或等于第三預設值的情況下,將所述可用性參數更新為不可用;在所述調用失敗次數與所述調用總次數的比值小于所述第三預設值的情況下,將所述可用性參數更新為可用。6.根據權利要求4所述的方法,其特征在于,在根據所述調用失敗次數更新所述可用性參數之后,所述方法還包括:將所述檢測時間戳更新為所述當前系統時間,并將所述調用總次數和所述調用失敗次數清零。7.根據權利要求1至3任意一項所述的方法,其特征在于,在獲取所述服務的響應結果之后,所述方法還包括:若所述服務的響應結果為正常,則將所述服務的最新調用狀態更新為正常狀態,否則將所述最新調用狀態更新為異常狀態。8.一種服務調用裝置,其特征在于,包括:可用性參數獲取模塊,用于在接收到調用服務的請求的情...

    【專利技術屬性】
    技術研發人員:吳航,蓋炳帥,單明輝,尹玉宗姚鍵潘柏宇王冀,
    申請(專利權)人:合一智能科技深圳有限公司,
    類型:發明
    國別省市:廣東;44

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 人妻无码久久一区二区三区免费| 丰满爆乳无码一区二区三区| 自拍偷在线精品自拍偷无码专区 | 无码av中文一二三区| 波多野结AV衣东京热无码专区| 久久精品岛国av一区二区无码| 国产成人精品无码专区| 一本大道无码av天堂| 亚洲av无码专区在线播放| 无码少妇一区二区浪潮免费| 四虎成人精品无码| 亚洲精品无码成人AAA片| 韩国无码AV片在线观看网站| 久久午夜无码鲁丝片秋霞| 久久久久久人妻无码| 一本加勒比HEZYO无码人妻| 成人麻豆日韩在无码视频| 在线观看成人无码中文av天堂| 亚洲人成影院在线无码按摩店| 一本一道中文字幕无码东京热| 蜜芽亚洲av无码一区二区三区| 久久午夜无码鲁丝片秋霞 | 免费无码精品黄AV电影| 无码国产精成人午夜视频一区二区 | 在线A级毛片无码免费真人| 免费A级毛片无码无遮挡内射| 亚洲AV无码久久精品色欲| 国产成人无码免费看片软件| 无码国内精品久久人妻麻豆按摩 | 人妻少妇看A偷人无码电影| 亚洲Aⅴ无码专区在线观看q| 亚洲韩国精品无码一区二区三区 | 无码人妻黑人中文字幕| 13小箩利洗澡无码视频网站免费| 亚洲av无码天堂一区二区三区 | 亚洲另类无码专区丝袜| 永久免费av无码网站韩国毛片| 精品无码AV无码免费专区| AV无码精品一区二区三区| 99国产精品无码| 国产成年无码久久久久下载|