最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

Http應(yīng)用程序接口調(diào)用方法與裝置制造方法

文檔序號(hào):6489309閱讀:320來(lái)源:國(guó)知局
Http應(yīng)用程序接口調(diào)用方法與裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種HTTP應(yīng)用程序接口調(diào)用方法與裝置。其中,該方法包括根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口API的調(diào)用分發(fā)機(jī)制;接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求;判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制;在所請(qǐng)求的API采用代理方式調(diào)用的情況下,由API調(diào)度分發(fā)系統(tǒng)作為代理服務(wù)器向客戶(hù)端提供所請(qǐng)求的結(jié)果;在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,向客戶(hù)端反饋重定向信息,以使客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果。本發(fā)明實(shí)施例不僅兼顧了開(kāi)發(fā)者對(duì)于開(kāi)放平臺(tái)的開(kāi)發(fā)需求,而且也滿(mǎn)足了運(yùn)營(yíng)商對(duì)于開(kāi)放平臺(tái)的運(yùn)營(yíng)和性能需求。
【專(zhuān)利說(shuō)明】HTTP應(yīng)用程序接口調(diào)用方法與裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)綜合平臺(tái)領(lǐng)域,特別地,涉及一種HTTP應(yīng)用程序接口調(diào)用方法
與裝置。
【背景技術(shù)】
[0002]目前,互聯(lián)網(wǎng)公司普遍將自身的核心服務(wù)以HTTP(HypertextTransfer Protocol,超文本傳輸協(xié)議)API (Application ProgramInterface,應(yīng)用程序接口)的方式開(kāi)放出來(lái),供外界的合作伙伴和開(kāi)發(fā)者調(diào)用,進(jìn)而通過(guò)這種方式拓展自身業(yè)務(wù)能力的應(yīng)用范圍。這種API開(kāi)放的管理平臺(tái)稱(chēng)之為開(kāi)放平臺(tái)。隨著越來(lái)越多的開(kāi)放平臺(tái)被架設(shè),開(kāi)發(fā)者如需集成多家開(kāi)放平臺(tái)的能力,則需按照不同的流程和步驟接入多家開(kāi)放平臺(tái),同時(shí)還要適應(yīng)各個(gè)開(kāi)放平臺(tái)中不同風(fēng)格的API接口,給開(kāi)發(fā)者帶來(lái)了巨大的不便。

【發(fā)明內(nèi)容】

[0003]本發(fā)明實(shí)施例要解決的一個(gè)技術(shù)問(wèn)題是提供一種HTTP應(yīng)用程序接口調(diào)用方法與裝置,不僅能夠?yàn)殚_(kāi)發(fā)者提供統(tǒng)一風(fēng)格的API接口,而且還可以滿(mǎn)足業(yè)務(wù)和系統(tǒng)性能的需求。
[0004]本發(fā)明實(shí)施例提供了一種HTTP應(yīng)用程序接口調(diào)用方法,包括根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制,調(diào)用分發(fā)機(jī)制包括代理方式和HTTP重定向方式;接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求;判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制;在所請(qǐng)求的API采用代理方式調(diào)用的情況下,由API調(diào)度分發(fā)系統(tǒng)作為代理服務(wù)器向客戶(hù)端提供所請(qǐng)求的結(jié)果;在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,向客戶(hù)端反饋重定向信息,以使客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果O
[0005]可選地,該方法還包括預(yù)先按照設(shè)定方式封裝各開(kāi)放平臺(tái)中的API ;將封裝后的各開(kāi)放平臺(tái)中的API注冊(cè)到API調(diào)度分發(fā)系統(tǒng)。
[0006]可選地,根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制的步驟包括根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的管控力度確定是否采用代理方式;根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的調(diào)用效率的要求確定是否采用HTTP重定向方式。
[0007]可選地,由API調(diào)度分發(fā)系統(tǒng)作為代理服務(wù)器向客戶(hù)端提供所請(qǐng)求的結(jié)果的步驟包括根據(jù)API調(diào)用請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)送代理請(qǐng)求;目標(biāo)開(kāi)放平臺(tái)向API調(diào)度分發(fā)系統(tǒng)返回請(qǐng)求結(jié)果;API調(diào)度分發(fā)系統(tǒng)將請(qǐng)求結(jié)果轉(zhuǎn)發(fā)給客戶(hù)端。
[0008]可選地,客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果的步驟包括根據(jù)API調(diào)用請(qǐng)求屬性進(jìn)行系統(tǒng)重定向,并將重定向信息發(fā)送至客戶(hù)端;客戶(hù)端根據(jù)重定向信息直接向目標(biāo)開(kāi)放平臺(tái)發(fā)起API調(diào)用請(qǐng)求;目標(biāo)開(kāi)放平臺(tái)將請(qǐng)求結(jié)果返回給客戶(hù)端。
[0009]本發(fā)明實(shí)施例還提供了一種HTTP應(yīng)用程序接口調(diào)用裝置,包括調(diào)用分發(fā)機(jī)制確定單元,用于根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制,調(diào)用分發(fā)機(jī)制包括代理方式和HTTP重定向方式;調(diào)用請(qǐng)求接收單元,用于接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求;調(diào)用分發(fā)機(jī)制判斷單元,用于判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制;代理方式處理單元,用于在所請(qǐng)求的API采用代理方式調(diào)用的情況下,將HTTP應(yīng)用程序接口調(diào)用裝置作為代理服務(wù)器向客戶(hù)端提供所請(qǐng)求的結(jié)果;重定向方式處理單元,用于在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,向客戶(hù)端反饋重定向信息,以使客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果。
[0010]可選地,該裝置還包括API封裝單元,用于預(yù)先按照設(shè)定方式封裝各開(kāi)放平臺(tái)中的API ;API注冊(cè)單元,用于將封裝后的各開(kāi)放平臺(tái)中的API注冊(cè)到API調(diào)度分發(fā)系統(tǒng)。
[0011]可選地,調(diào)用分發(fā)機(jī)制確定單元根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的管控力度確定是否采用代理方式,并根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的調(diào)用效率的要求確定是否采用HTTP重定向方式。
[0012]可選地,代理方式處理單元包括代理請(qǐng)求發(fā)送子單元,用于根據(jù)API調(diào)用請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)送代理請(qǐng)求;請(qǐng)求結(jié)果接收子單元,用于接收目標(biāo)開(kāi)放平臺(tái)發(fā)送的請(qǐng)求結(jié)果;請(qǐng)求結(jié)果發(fā)送子單元,用于將請(qǐng)求結(jié)果轉(zhuǎn)發(fā)給客戶(hù)端。
[0013]本發(fā)明實(shí)施例提供的HTTP應(yīng)用程序接口調(diào)用方法與裝置,可以通過(guò)HTTP重定向和代理(proxy)兩種方式對(duì)各開(kāi)放平臺(tái)中的API進(jìn)行調(diào)用,進(jìn)而使得運(yùn)營(yíng)商可以根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求靈活地對(duì)各API進(jìn)行系統(tǒng)配置,此外,API的調(diào)用者無(wú)需關(guān)心系統(tǒng)內(nèi)部對(duì)API的調(diào)用方式。由此可見(jiàn),本發(fā)明實(shí)施例不僅兼顧了開(kāi)發(fā)者對(duì)于開(kāi)放平臺(tái)的開(kāi)發(fā)需求,而且也滿(mǎn)足了運(yùn)營(yíng)商對(duì)于開(kāi)放平臺(tái)的運(yùn)營(yíng)和性能需求。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0014]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分。在附圖中:
[0015]圖1是本發(fā)明HTTP應(yīng)用程序接口調(diào)用方法的一個(gè)實(shí)施例的流程示意圖。
[0016]圖2是本發(fā)明HTTP應(yīng)用程序接口調(diào)用方法的另一實(shí)施例的流程示意圖。
[0017]圖3是本發(fā)明重定向方式的API調(diào)用示意圖。
[0018]圖4是本發(fā)明代理方式的API調(diào)用示意圖。
[0019]圖5是本發(fā)明HTTP應(yīng)用程序接口調(diào)用裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0020]圖6是本發(fā)明HTTP應(yīng)用程序接口調(diào)用裝置的另一實(shí)施例的結(jié)構(gòu)示意圖。
[0021]圖7是本發(fā)明HTTP應(yīng)用程序接口調(diào)用裝置的又一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說(shuō)明本發(fā)明的示例性實(shí)施例。本發(fā)明的示例性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。
[0023]以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說(shuō)明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
[0024]本發(fā)明下述實(shí)施例通過(guò)API調(diào)度分發(fā)系統(tǒng)(又稱(chēng)為HTTP應(yīng)用程序接口調(diào)用裝置)對(duì)各開(kāi)放平臺(tái)中的API進(jìn)行集中管理與調(diào)度,開(kāi)發(fā)者在調(diào)用API的時(shí)候只需要訪問(wèn)本系統(tǒng),本系統(tǒng)將根據(jù)調(diào)用的API注冊(cè)信息自動(dòng)分發(fā)至各開(kāi)放平臺(tái),其中,API注冊(cè)信息指該API在本系統(tǒng)注冊(cè)時(shí)提供的API自身相關(guān)信息,如API名稱(chēng)、API URL (UniversalResourceLocator,統(tǒng)一資源定位器)、API功能描述、API性能描述等。通過(guò)API注冊(cè)信息,運(yùn)營(yíng)商可以確定該API的調(diào)用方式。同時(shí)對(duì)于不同類(lèi)別的API還可以提供不同類(lèi)型的調(diào)用分發(fā)機(jī)制,以保證系統(tǒng)管理方對(duì)于API的調(diào)用效率和API的管控力度。對(duì)于管控力度要求高的API采取proxy方式,對(duì)于調(diào)用效率要求高的API采取HTTP重定向方式。
[0025]圖1是本發(fā)明HTTP應(yīng)用程序接口調(diào)用方法的一個(gè)實(shí)施例的流程示意圖。
[0026]如圖1所示,該實(shí)施例可以包括以下步驟:
[0027]S102,根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制,調(diào)用分發(fā)機(jī)制可以包括但不限于代理方式和HTTP重定向方式,由于代理方式下的所有請(qǐng)求都要經(jīng)過(guò)平臺(tái),而重定向方式是由系統(tǒng)重定向后由調(diào)用方和提供方直接對(duì)接,因此,代理方式對(duì)于API的管理較為嚴(yán)格,重定向方式對(duì)位API的管理較為寬松,進(jìn)而可以根據(jù)業(yè)務(wù)需求和系統(tǒng)性能確定采用哪種方式;
[0028]S104,接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求;
[0029]S106,判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制;
[0030]S108,在所請(qǐng)求的API采用代理方式調(diào)用的情況下,由API調(diào)度分發(fā)系統(tǒng)作為代理服務(wù)器向客戶(hù)端提供所請(qǐng)求的結(jié)果;
[0031]S110,在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,向客戶(hù)端反饋重定向信息,以使客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果。
[0032]該實(shí)施例可以通過(guò)HTTP重定向和proxy兩種方式對(duì)各開(kāi)放平臺(tái)中的API進(jìn)行調(diào)用,進(jìn)而使得運(yùn)營(yíng)商可以根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求靈活地對(duì)各API進(jìn)行系統(tǒng)配置,此夕卜,API的調(diào)用者無(wú)需關(guān)心系統(tǒng)內(nèi)部對(duì)API的調(diào)用方式,即API的調(diào)用方式對(duì)開(kāi)發(fā)者不可見(jiàn)。由此可見(jiàn),本發(fā)明實(shí)施例不僅兼顧了開(kāi)發(fā)者對(duì)于開(kāi)放平臺(tái)的開(kāi)發(fā)需求,而且也滿(mǎn)足了運(yùn)營(yíng)商對(duì)于開(kāi)放平臺(tái)的運(yùn)營(yíng)和性能需求。
[0033]圖2是本發(fā)明HTTP應(yīng)用程序接口調(diào)用方法的另一實(shí)施例的流程示意圖。
[0034]如圖2所示,該實(shí)施例可以包括以下步驟:
[0035]S202,預(yù)先按照設(shè)定方式封裝各開(kāi)放平臺(tái)中的API ;
[0036]S204,將封裝后的各開(kāi)放平臺(tái)中的API注冊(cè)到API調(diào)度分發(fā)系統(tǒng);
[0037]步驟S206-S214 與步驟 S102-S110 相同。
[0038]例如,可以首先制定一套標(biāo)準(zhǔn)的完全基于HTTP協(xié)議的接口方式,例如,REST(Representational State Transfer,表述性狀態(tài)轉(zhuǎn)移)風(fēng)格的HTTP API,其他開(kāi)放平臺(tái)的API均按照此方式封裝并在本系統(tǒng)中進(jìn)行注冊(cè),通過(guò)此方式,開(kāi)發(fā)者僅需要熟悉一套通用標(biāo)準(zhǔn)的API調(diào)用方式即可使用本系統(tǒng)提供的多家開(kāi)放平臺(tái)的API。
[0039]在該實(shí)施例中,各開(kāi)放平臺(tái)均按照設(shè)定的統(tǒng)一格式對(duì)各開(kāi)放平臺(tái)中的API進(jìn)行封裝,使得API調(diào)用者可以方便地按照相同的流程和步驟調(diào)用多家開(kāi)放平臺(tái),為調(diào)用者提供了很大的便利性。
[0040]進(jìn)一步地,步驟S102可以通過(guò)以下具體方式來(lái)實(shí)現(xiàn):根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的管控力度確定是否采用代理方式;根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的調(diào)用效率的要求確定是否采用HTTP重定向方式。[0041]例如,對(duì)于管控力度要求高的API可以采用代理方式,對(duì)于調(diào)用效率要求高的API可以采用HTTP重定向方式,如果對(duì)這兩者均沒(méi)有限制,則可以采用任一種調(diào)用方式。
[0042]其中,涉及到用戶(hù)敏感信息、支付類(lèi)接口等安全性要求較高的接口都屬于管控力度要求較高的API,此類(lèi)接口通過(guò)代理方式可以提升數(shù)據(jù)在傳輸過(guò)稱(chēng)中的安全性。在代理方式下,由于所有請(qǐng)求都由系統(tǒng)作為代理服務(wù)器進(jìn)行轉(zhuǎn)發(fā),即所有請(qǐng)求都會(huì)經(jīng)過(guò)系統(tǒng)處理,因此資源消耗較大。在保證安全性和管控力度之外,可能會(huì)受到系統(tǒng)處理能力的限制,因此調(diào)用效率將會(huì)降低。
[0043]進(jìn)一步地,步驟S108中的代理方式可以通過(guò)如下方式實(shí)現(xiàn):根據(jù)API調(diào)用請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)送代理請(qǐng)求;目標(biāo)開(kāi)放平臺(tái)向API調(diào)度分發(fā)系統(tǒng)返回請(qǐng)求結(jié)果;API調(diào)度分發(fā)系統(tǒng)將請(qǐng)求結(jié)果轉(zhuǎn)發(fā)給客戶(hù)端。
[0044]步驟SllO中的重定向方式可以通過(guò)如下方式實(shí)現(xiàn):根據(jù)API調(diào)用請(qǐng)求屬性進(jìn)行系統(tǒng)重定向,并將重定向信息發(fā)送至客戶(hù)端;客戶(hù)端根據(jù)重定向信息直接向目標(biāo)開(kāi)放平臺(tái)發(fā)起API調(diào)用請(qǐng)求;目標(biāo)開(kāi)放平臺(tái)將請(qǐng)求結(jié)果返回給客戶(hù)端。
[0045]其中,API調(diào)用請(qǐng)求屬性包括在進(jìn)行API注冊(cè)時(shí)提供的API提供方、API名稱(chēng)、API用途以及API作用。
[0046]在進(jìn)行API注冊(cè)時(shí),可以根據(jù)上述調(diào)用請(qǐng)求屬性確定是采用代理請(qǐng)求方式還是采用重定向方式。例如,某些API的調(diào)用涉及敏感信息、或者為支付類(lèi)接口等安全性要求較高的接口,可以將對(duì)該類(lèi)接口的調(diào)用設(shè)置為代理方式。
[0047]需要指出的是,在API調(diào)用過(guò)程中,還可以實(shí)時(shí)調(diào)整調(diào)用方式。例如,當(dāng)某些API被調(diào)用的頻率較高,可以將其從代理模式調(diào)整為重定向模式,以降低對(duì)API調(diào)度分發(fā)系統(tǒng)的影響。
[0048]當(dāng)采用重定向方式時(shí),可以采用HTTP 307 (Temporary Redirect)方式,對(duì)于每一次調(diào)用請(qǐng)求,本系統(tǒng)都將視為一次完整的請(qǐng)求轉(zhuǎn)發(fā)。重定向后開(kāi)發(fā)者都是與目標(biāo)開(kāi)放平臺(tái)直接進(jìn)行交互,不經(jīng)由API調(diào)度分發(fā)系統(tǒng),因此重定向方式對(duì)系統(tǒng)性能消耗相對(duì)較小。因此,如對(duì)系統(tǒng)性能方面要求較高時(shí),則可以采用重定向方式。如需將性能消耗降至最低,則可以將API調(diào)用請(qǐng)求屬性中的緩沖是否使能的開(kāi)關(guān)設(shè)置為使能,在設(shè)定的系統(tǒng)緩沖期內(nèi),如果客戶(hù)端多次訪問(wèn)目標(biāo)開(kāi)放平臺(tái),則在第一次獲得目標(biāo)開(kāi)放平臺(tái)的重定向信息后無(wú)需再次經(jīng)過(guò)API調(diào)度分發(fā)系統(tǒng)而可以直接訪問(wèn)目標(biāo)開(kāi)放平臺(tái)。
[0049]接下來(lái),再通過(guò)一個(gè)具體實(shí)例對(duì)HTTP應(yīng)用程序接口調(diào)用方法進(jìn)行說(shuō)明。
[0050]對(duì)于API的接口規(guī)范,與本發(fā)明實(shí)施例相關(guān)的參數(shù)為cacheable,其類(lèi)型為字符串,默認(rèn)取值為true,該參數(shù)僅用于重定向方式。當(dāng)cacheable為true時(shí),API調(diào)度分發(fā)系統(tǒng)重定向響應(yīng)將包括HTTP緩沖首部,在緩沖有效期內(nèi),應(yīng)用可使用本地緩存的重定向響應(yīng)直接訪問(wèn)各開(kāi)放平臺(tái)側(cè)接口,而無(wú)需API調(diào)度分發(fā)系統(tǒng)介入調(diào)用請(qǐng)求過(guò)程;當(dāng)cacheable為false時(shí),將強(qiáng)制API調(diào)度分發(fā)系統(tǒng)重定向響應(yīng)不包括HTTP緩沖首部,應(yīng)用的每次請(qǐng)求均將由經(jīng)API調(diào)度分發(fā)系統(tǒng)重定向至實(shí)際的各開(kāi)放平臺(tái)側(cè)調(diào)用接口。
[0051]換句話說(shuō),當(dāng)cacheable參數(shù)設(shè)定為true時(shí),系統(tǒng)將按照設(shè)定的緩存時(shí)間對(duì)調(diào)用請(qǐng)求進(jìn)行緩存。緩存期內(nèi)的接口調(diào)用將不經(jīng)過(guò)系統(tǒng)重定向,由客戶(hù)端直接向目標(biāo)開(kāi)放平臺(tái)發(fā)起請(qǐng)求。當(dāng)cacheable參數(shù)設(shè)定為false時(shí),則每次客戶(hù)端的請(qǐng)求都將經(jīng)過(guò)系統(tǒng)重定向。
[0052]舉例說(shuō)明,如果某開(kāi)發(fā)者短時(shí)間內(nèi)調(diào)用同一 API 1000次,則將該參數(shù)設(shè)置為true,這樣在緩沖期內(nèi)每次對(duì)該接口的調(diào)用將直接訪問(wèn)目標(biāo)開(kāi)放平臺(tái),不再經(jīng)過(guò)API調(diào)度分發(fā)系統(tǒng)。當(dāng)開(kāi)發(fā)者需要確保每次請(qǐng)求都無(wú)誤的重定向至目標(biāo)開(kāi)放平臺(tái)時(shí),則將該參數(shù)設(shè)置為false,這樣每次請(qǐng)求都由API調(diào)度分發(fā)系統(tǒng)根據(jù)API注冊(cè)信息重定向至正確的地址。
[0053]圖3是本發(fā)明重定向方式的API調(diào)用示意圖。
[0054]如圖3所示,該重定向方式的流程如下:
[0055]S302,客戶(hù)端向API調(diào)度分發(fā)系統(tǒng)發(fā)起API調(diào)用請(qǐng)求;
[0056]S304,API調(diào)度分發(fā)系統(tǒng)根據(jù)該API的請(qǐng)求屬性進(jìn)行系統(tǒng)重定向,并將重定向信息發(fā)送至客戶(hù)端,其中,該重定向信息主要指該接口的真實(shí)URL ;
[0057]S306,客戶(hù)端根據(jù)重定向信息向目標(biāo)開(kāi)放平臺(tái)發(fā)起API調(diào)用請(qǐng)求;
[0058]S308,目標(biāo)開(kāi)放平臺(tái)向客戶(hù)端返回請(qǐng)求結(jié)果。
[0059]圖4是本發(fā)明代理方式的API調(diào)用示意圖。
[0060]如圖4所示,該代理方式的流程如下:
[0061]S402,客戶(hù)端向API調(diào)度分發(fā)系統(tǒng)發(fā)起API調(diào)用請(qǐng)求;
[0062]S404, API調(diào)度分發(fā)系統(tǒng)根據(jù)該API的請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)起代理請(qǐng)求;
[0063]S406,目標(biāo)開(kāi)放平臺(tái)向API調(diào)度分發(fā)系統(tǒng)返回請(qǐng)求結(jié)果;
[0064]S408, API調(diào)度分發(fā)系統(tǒng)向客戶(hù)端返回請(qǐng)求結(jié)果。
[0065]本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述方法實(shí)施例的全部和部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟,而前述的存儲(chǔ)介質(zhì)可以包括ROM、RAM、磁碟和光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0066]圖5是本發(fā)明HTTP應(yīng)用程序接口調(diào)用裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0067]如圖5所示,該實(shí)施例中的裝置50可以包括調(diào)用分發(fā)機(jī)制確定單元502、調(diào)用請(qǐng)求接收單元504、調(diào)用分發(fā)機(jī)制判斷單元506、代理方式處理單元508和重定向方式處理單元510。
[0068]其中,調(diào)用分發(fā)機(jī)制確定單元502根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制,調(diào)用分發(fā)機(jī)制包括代理方式和HTTP重定向方式;調(diào)用請(qǐng)求接收單元504接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求;調(diào)用分發(fā)機(jī)制判斷單元506判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制;在所請(qǐng)求的API采用代理方式調(diào)用的情況下,代理方式處理單元508將HTTP應(yīng)用程序接口調(diào)用裝置作為代理服務(wù)器向客戶(hù)端提供所請(qǐng)求的結(jié)果;在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,重定向方式處理單元510向客戶(hù)端反饋重定向信息,以使客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果。
[0069]該實(shí)施例能夠?qū)τ谡{(diào)用頻次較高且管控力度較低、或可能對(duì)系統(tǒng)造成負(fù)載過(guò)重的API采取HTTP 307重定向的調(diào)用方式,而對(duì)于需對(duì)API調(diào)用進(jìn)行諸如參數(shù)解析、計(jì)費(fèi)和調(diào)用統(tǒng)計(jì)等高級(jí)控制的API采用代理方式進(jìn)行調(diào)用,以確保對(duì)API調(diào)用的控制??梢?jiàn),該實(shí)施例可以靈活地配置API的調(diào)用方式,一方面保證開(kāi)發(fā)者可以正確地使用不同類(lèi)型的HTTPAPI,另一方面,還可以充分利用硬件資源,實(shí)現(xiàn)以較小的資源消耗完成海量API調(diào)用的分發(fā)。
[0070]圖6是本發(fā)明HTTP應(yīng)用程序接口調(diào)用裝置的另一實(shí)施例的結(jié)構(gòu)示意圖。
[0071]如圖6所示,與圖5中的實(shí)施例相比,該實(shí)施例中的裝置60還包括API封裝單元602和API注冊(cè)單元604。[0072]其中,API封裝單元602預(yù)先按照設(shè)定方式封裝各開(kāi)放平臺(tái)中的API ;API注冊(cè)單元604將封裝后的各開(kāi)放平臺(tái)中的API注冊(cè)到API調(diào)度分發(fā)系統(tǒng)。
[0073]該實(shí)施例能夠通過(guò)API注冊(cè)的方式對(duì)多個(gè)開(kāi)放平臺(tái)的API進(jìn)行集中管理。
[0074]進(jìn)一步地,調(diào)用分發(fā)機(jī)制確定單元根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的管控力度確定是否采用代理方式,并根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的調(diào)用效率的要求確定是否采用HTTP重定向方式。
[0075]圖7是本發(fā)明HTTP應(yīng)用程序接口調(diào)用裝置的又一實(shí)施例的結(jié)構(gòu)示意圖。
[0076]如圖7所示,與圖5中的實(shí)施例相比,該實(shí)施例中的裝置70中的代理方式處理單元702可以包括代理請(qǐng)求發(fā)送子單元702a、請(qǐng)求結(jié)果接收子單元702b和請(qǐng)求結(jié)果發(fā)送子單元 702c。
[0077]其中,代理請(qǐng)求發(fā)送子單元702a根據(jù)API調(diào)用請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)送代理請(qǐng)求;請(qǐng)求結(jié)果接收子單元702b接收目標(biāo)開(kāi)放平臺(tái)發(fā)送的請(qǐng)求結(jié)果;請(qǐng)求結(jié)果發(fā)送子單元702c將請(qǐng)求結(jié)果轉(zhuǎn)發(fā)給客戶(hù)端。
[0078]本說(shuō)明書(shū)中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同和相似的部分可以相互參見(jiàn)。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處可以參見(jiàn)方法實(shí)施例部分的說(shuō)明。
[0079]本發(fā)明的上述實(shí)施例可以靈活地對(duì)API的調(diào)用方式進(jìn)行配置,根據(jù)API的業(yè)務(wù)特點(diǎn)和性能特點(diǎn)加以區(qū)分,以保證系統(tǒng)的負(fù)載均衡,并滿(mǎn)足開(kāi)發(fā)者和其他開(kāi)放平臺(tái)的業(yè)務(wù)需求。
[0080]雖然已經(jīng)通過(guò)示例對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說(shuō)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上示例僅是為了進(jìn)行說(shuō)明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來(lái)限定。
【權(quán)利要求】
1.一種HTTP應(yīng)用程序接口調(diào)用方法,其特征在于,包括: 根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制,所述調(diào)用分發(fā)機(jī)制包括代理方式和HTTP重定向方式; 接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求; 判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制; 在所請(qǐng)求的API采用代理方式調(diào)用的情況下,由API調(diào)度分發(fā)系統(tǒng)作為代理服務(wù)器向所述客戶(hù)端提供所請(qǐng)求的結(jié)果; 在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,向所述客戶(hù)端反饋重定向信息,以使所述客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果。
2.根據(jù)權(quán)利要求1所述的HTTP應(yīng)用程序接口調(diào)用方法,其特征在于,所述方法還包括: 預(yù)先按照設(shè)定方式封裝各開(kāi)放平臺(tái)中的API ; 將封裝后的各開(kāi)放平臺(tái)中的API注冊(cè)到所述API調(diào)度分發(fā)系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的HTTP應(yīng)用程序接口調(diào)用方法,其特征在于,所述根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制的步驟包括: 根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的管控力度確定是否采用代理方式; 根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的調(diào)用效率的要求確定是否采用HTTP重定向方式。
4.根據(jù)權(quán)利要求1所述的HTTP應(yīng)用程序接口調(diào)用方法,其特征在于,由所述API調(diào)度分發(fā)系統(tǒng)作為代理服務(wù)器向所述客戶(hù)端提供所請(qǐng)求的結(jié)果的步驟包括: 根據(jù)所述API調(diào)用請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)送代理請(qǐng)求; 所述目標(biāo)開(kāi)放平臺(tái)向所述API調(diào)度分發(fā)系統(tǒng)返回請(qǐng)求結(jié)果; 所述API調(diào)度分發(fā)系統(tǒng)將請(qǐng)求結(jié)果轉(zhuǎn)發(fā)給所述客戶(hù)端。
5.根據(jù)權(quán)利要求1所述的HTTP應(yīng)用程序接口調(diào)用方法,其特征在于,所述客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果的步驟包括: 根據(jù)所述API調(diào)用請(qǐng)求屬性進(jìn)行系統(tǒng)重定向,并將重定向信息發(fā)送至所述客戶(hù)端; 所述客戶(hù)端根據(jù)所述重定向信息直接向目標(biāo)開(kāi)放平臺(tái)發(fā)起所述API調(diào)用請(qǐng)求; 所述目標(biāo)開(kāi)放平臺(tái)將請(qǐng)求結(jié)果返回給所述客戶(hù)端。
6.一種HTTP應(yīng)用程序接口調(diào)用裝置,其特征在于,包括: 調(diào)用分發(fā)機(jī)制確定單元,用于根據(jù)業(yè)務(wù)需求和系統(tǒng)性能需求確定各開(kāi)放平臺(tái)中的應(yīng)用程序接口 API的調(diào)用分發(fā)機(jī)制,所述調(diào)用分發(fā)機(jī)制包括代理方式和HTTP重定向方式; 調(diào)用請(qǐng)求接收單元,用于接收客戶(hù)端發(fā)起的API調(diào)用請(qǐng)求; 調(diào)用分發(fā)機(jī)制判斷單元,用于判斷所請(qǐng)求的API調(diào)用所采用的機(jī)制; 代理方式處理單元,用于在所請(qǐng)求的API采用代理方式調(diào)用的情況下,將所述HTTP應(yīng)用程序接口調(diào)用裝置作為代理服務(wù)器向所述客戶(hù)端提供所請(qǐng)求的結(jié)果; 重定向方式處理單元,用于在所請(qǐng)求的API采用HTTP重定向方式調(diào)用的情況下,向所述客戶(hù)端反饋重定向信息,以使所述客戶(hù)端根據(jù)獲取的重定向信息直接從目標(biāo)開(kāi)放平臺(tái)獲取請(qǐng)求結(jié)果。
7.根據(jù)權(quán)利要求6所述的HTTP應(yīng)用程序接口調(diào)用裝置,其特征在于,所述裝置還包括:API封裝單元,用于預(yù)先按照設(shè)定方式封裝各開(kāi)放平臺(tái)中的API ; API注冊(cè)單元,用于將封裝后的各開(kāi)放平臺(tái)中的API注冊(cè)到所述API調(diào)度分發(fā)系統(tǒng)。
8.根據(jù)權(quán)利要求6所述的HTTP應(yīng)用程序接口調(diào)用裝置,其特征在于,所述調(diào)用分發(fā)機(jī)制確定單元根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的管控力度確定是否采用代理方式,并根據(jù)對(duì)各開(kāi)放平臺(tái)中的API的調(diào)用效率的要求確定是否采用HTTP重定向方式。
9.根據(jù)權(quán)利要求6所述的HTTP應(yīng)用程序接口調(diào)用裝置,其特征在于,所述代理方式處理單元包括: 代理請(qǐng)求發(fā)送子單元,用于根據(jù)所述API調(diào)用請(qǐng)求屬性向目標(biāo)開(kāi)放平臺(tái)發(fā)送代理請(qǐng)求; 請(qǐng)求結(jié)果接收子單元,用于接收所述目標(biāo)開(kāi)放平臺(tái)發(fā)送的請(qǐng)求結(jié)果; 請(qǐng)求結(jié)果發(fā) 送子單元,用于將請(qǐng)求結(jié)果轉(zhuǎn)發(fā)給所述客戶(hù)端。
【文檔編號(hào)】G06F9/44GK103699367SQ201210365760
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2012年9月27日 優(yōu)先權(quán)日:2012年9月27日
【發(fā)明者】王大中, 曹敏, 陸音, 張正風(fēng), 錢(qián)逸群 申請(qǐng)人:中國(guó)電信股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1