一種服務(wù)獲取調(diào)用方法、裝置以及客戶端和服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種服務(wù)獲取調(diào)用方法、裝置以及客戶端和服務(wù)器。
【背景技術(shù)】
[0002]現(xiàn)有的服務(wù)調(diào)用中,程序可直接調(diào)用WEB服務(wù),或者通過框架調(diào)用WEB服務(wù)。如.net中采用添加WEB引用的方式直接從程序中調(diào)用服務(wù),JAVA程序中使用axis2框架調(diào)用服務(wù)。
[0003]現(xiàn)有技術(shù)的不足之處在于:現(xiàn)有服務(wù)的直接調(diào)用方式和通過框架的調(diào)用方式都不會對調(diào)用者進行身份識別,使一些非法用戶也可以對服務(wù)進行調(diào)用,不能確保合法的服務(wù)調(diào)用者的利益。
【發(fā)明內(nèi)容】
[0004]為克服上述缺陷,本發(fā)明提供一種服務(wù)獲取調(diào)用方法、裝置以及客戶端和服務(wù)器。
[0005]第一方面,本發(fā)明實施例提供一種服務(wù)調(diào)用方法,用于服務(wù)器,所述方法包括如下步驟:
[0006]獲取客戶端發(fā)送的具有客戶端數(shù)據(jù)的服務(wù)調(diào)用信息;
[0007]根據(jù)獲取的所述客戶端數(shù)據(jù)生成服務(wù)訪問令牌;
[0008]將生成的所述服務(wù)訪問令牌返回給所述客戶端;
[0009]接收包括所述服務(wù)訪問令牌的服務(wù)請求信息;
[0010]根據(jù)所述服務(wù)請求信息中的所述服務(wù)訪問令牌,判斷所述客戶端能否調(diào)用服務(wù),得到一判斷結(jié)果;
[0011]當(dāng)判斷結(jié)果指示所述客戶端能調(diào)用服務(wù)時,向所述客戶端返回的調(diào)用服務(wù)指令。
[0012]優(yōu)選地,所述根據(jù)所述服務(wù)訪問令牌,判斷所述客戶端能否調(diào)用服務(wù),得到一判斷結(jié)果具體包括:
[0013]根據(jù)接收到的包括所述服務(wù)訪問令牌的服務(wù)請求信息,發(fā)送具有所述服務(wù)訪問令牌的請求驗證信息;
[0014]根據(jù)所述請求驗證信息對所述客戶端進行身份驗證;
[0015]當(dāng)驗證通過時,判斷所述客戶端所調(diào)用的服務(wù)是否為所述客戶端預(yù)先訂閱的服務(wù),得到一判斷結(jié)果。
[0016]優(yōu)選地,在所述接收包括所述服務(wù)訪問令牌的服務(wù)請求信息中:
[0017]所述服務(wù)請求信息的發(fā)送方包括:所述客戶端或者所述客戶端所調(diào)用的服務(wù)。
[0018]優(yōu)選地,當(dāng)所述服務(wù)請求信息的發(fā)送方為客戶端時,所述服務(wù)器通過企業(yè)服務(wù)總線接收所述服務(wù)請求信息,并向所述客戶端返回調(diào)用服務(wù)指令。
[0019]第二方面,本發(fā)明實施例提供一種服務(wù)獲取方法,用于客戶端,所述方法包括如下步驟:
[0020]向服務(wù)器發(fā)送具有客戶端數(shù)據(jù)的服務(wù)調(diào)用信息;
[0021]接收所述服務(wù)器返回的服務(wù)訪問令牌;
[0022]發(fā)送包括所述服務(wù)訪問令牌的服務(wù)請求信息,使所述服務(wù)器根據(jù)所述服務(wù)訪問令牌對所述客戶端能否調(diào)用服務(wù)進行判斷;
[0023]接收所述服務(wù)器返回的調(diào)用服務(wù)指令。
[0024]優(yōu)選地,在所述發(fā)送包括所述服務(wù)訪問令牌的服務(wù)請求信息中:
[0025]所述服務(wù)請求信息的接收方包括:所述服務(wù)器或者所述客戶端所調(diào)用的服務(wù)。
[0026]優(yōu)選地,當(dāng)所述服務(wù)請求信息的接收方為所述服務(wù)器時,所述客戶端通過企業(yè)服務(wù)總線發(fā)送所述服務(wù)請求信息,并接收所述客戶端返回的調(diào)用服務(wù)指令。
[0027]第三方面,本發(fā)明實施例提供一種服務(wù)調(diào)用裝置,用于服務(wù)器,所述裝置包括:
[0028]獲取模塊,用于獲取客戶端發(fā)送的具有客戶端數(shù)據(jù)的服務(wù)調(diào)用信息;
[0029]處理模塊,用于根據(jù)獲取的所述客戶端數(shù)據(jù)生成服務(wù)訪問令牌;
[0030]第一返回模塊,用于將生成的所述服務(wù)訪問令牌返回給所述客戶端;
[0031]第一接收模塊,用于接收包括所述服務(wù)訪問令牌的服務(wù)請求信息;
[0032]判斷模塊,用于根據(jù)所述服務(wù)請求信息中的所述服務(wù)訪問令牌,判斷所述客戶端能否調(diào)用服務(wù),得到一判斷結(jié)果;
[0033]第二返回模塊,用于當(dāng)判斷結(jié)果指示所述客戶端能調(diào)用服務(wù)時,向所述客戶端返回的調(diào)用服務(wù)指令。
[0034]優(yōu)選地,所述判斷模塊具體用于:
[0035]根據(jù)接收到的包括所述服務(wù)訪問令牌的服務(wù)請求信息,發(fā)送具有所述服務(wù)訪問令牌的請求驗證信息;
[0036]根據(jù)所述請求驗證信息對所述客戶端進行身份驗證;
[0037]當(dāng)驗證通過時,判斷所述客戶端所調(diào)用的服務(wù)是否為所述客戶端預(yù)先訂閱的服務(wù),得到一判斷結(jié)果。
[0038]優(yōu)選地,在所述第一接收模塊中:
[0039]所述服務(wù)請求信息的發(fā)送方包括:所述客戶端或者所述客戶端所調(diào)用的服務(wù)。
[0040]優(yōu)選地,當(dāng)所述服務(wù)請求信息的發(fā)送方為客戶端時,所述服務(wù)器通過企業(yè)服務(wù)總線接收所述服務(wù)請求信息,并向所述客戶端返回調(diào)用服務(wù)指令。
[0041]第四方面,本發(fā)明實施例提供一種服務(wù)獲取裝置,用于客戶端,所述裝置包括:
[0042]第一發(fā)送模塊,用于向服務(wù)器發(fā)送具有客戶端數(shù)據(jù)的服務(wù)調(diào)用信息;
[0043]第二接收模塊,用于接收所述服務(wù)器返回的服務(wù)訪問令牌;
[0044]第二發(fā)送模塊,用于發(fā)送包括所述服務(wù)訪問令牌的服務(wù)請求信息,使所述服務(wù)器根據(jù)所述服務(wù)訪問令牌對所述客戶端能否調(diào)用服務(wù)進行判斷;
[0045]第三接收模塊,用于接收所述服務(wù)器返回的調(diào)用服務(wù)指令。
[0046]優(yōu)選地,在所述發(fā)送模塊中:
[0047]所述服務(wù)請求信息的接收方包括:所述服務(wù)器或者所述客戶端所調(diào)用的服務(wù)。
[0048]優(yōu)選地,當(dāng)所述服務(wù)請求信息的接收方為所述服務(wù)器時,所述客戶端通過企業(yè)服務(wù)總線發(fā)送所述服務(wù)請求信息,并接收所述客戶端返回的調(diào)用服務(wù)指令。
[0049]第五方面,本發(fā)明實施例提供一種服務(wù)器,所述服務(wù)器包括上述的服務(wù)調(diào)用裝置。
[0050]第六方面,本發(fā)明實施例提供一種客戶端,所述客戶端包括上述的服務(wù)獲取裝置。
[0051]本發(fā)明實施例提供的服務(wù)獲取調(diào)用方法、裝置以及客戶端和服務(wù)器,通過為客戶端生成用于身份驗證的服務(wù)訪問令牌,使服務(wù)器通過服務(wù)訪問令牌對客戶端的合法性進行驗證,服務(wù)器只有在客戶端的服務(wù)訪問令牌驗證通過后,才會向客戶端返回其請求的服務(wù),避免了非法用戶對服務(wù)的調(diào)用,確保了合法的服務(wù)調(diào)用者的利益。
【附圖說明】
[0052]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0053]圖1表示服務(wù)調(diào)用方法的實施例流程圖。
[0054]圖2表示服務(wù)調(diào)用方法的半代理模式流程圖。
[0055]圖3表示服務(wù)獲取方法的實施例流程圖。
[0056]圖4表示全代理模式下應(yīng)用對本地服務(wù)調(diào)用的流程圖。
[0057]圖5表示全代理模式下應(yīng)用接入地與服務(wù)接入地同省的服務(wù)調(diào)用流程圖。
[0058]圖6表示全代理模式下應(yīng)用接入地與服務(wù)接入地不同省的服務(wù)調(diào)用流程圖。
[0059]圖7表示半代理模式下應(yīng)用對本地服務(wù)調(diào)用的流程圖。
[0060]圖8表示半代理模式下應(yīng)用接入地與服務(wù)接入地同省的服務(wù)調(diào)用流程圖。
[0061]圖9表示半代理模式下應(yīng)用接入地與服務(wù)接入地不同省的服務(wù)調(diào)用流程圖。
[0062]圖10表示服務(wù)調(diào)用裝置的示意圖。
[0063]圖11表不服務(wù)獲取裝置的不意圖。
【具體實施方式】
[0064]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0065]一種服務(wù)調(diào)用方法的流程如圖1所示,所述方法用于服務(wù)器,所述方法包括如下步驟:
[0066]步驟100.獲取客戶端發(fā)送的具有客戶端數(shù)據(jù)的服務(wù)調(diào)用信息;
[0067]步驟101.根據(jù)獲取的所述客戶端數(shù)據(jù)生成服務(wù)訪問令牌;
[0068]步驟102.將生成的所述服務(wù)訪問令牌返回給所述客戶端;
[0069]步驟103.接收包括所述服務(wù)訪問令牌的服務(wù)請求信息;
[0070]步驟104.根據(jù)所述服務(wù)請求信息中的所述服務(wù)訪問令牌,判斷所述客戶端能否調(diào)用服務(wù),得到一判斷結(jié)果;
[0071]步驟105.當(dāng)判斷結(jié)果指示所述客戶端能調(diào)用服務(wù)時,向所述客戶端返回的調(diào)用服務(wù)指令。
[0072]其中,所述客戶端數(shù)據(jù)可以是任何可以標(biāo)識客戶端的數(shù)據(jù)。
[0073]通過上述操作,通過為客戶端生成用于身份驗證的服務(wù)訪問令牌,使服務(wù)器通過服務(wù)訪問令牌對客戶端的合法性進行驗證,服務(wù)器只有在客戶端合法的情況下,才會向客戶端返回其請求的服務(wù),避免了非法用戶對服務(wù)的調(diào)用,確保了合法的服務(wù)調(diào)用者的利益。
[0074]本實施例提供的服務(wù)獲取調(diào)用方法,可以應(yīng)用于各種獲取網(wǎng)絡(luò)服務(wù)的場合。所述客戶端包括但不限于:臺式機和移動終端等。
[0075]具體地,所述根據(jù)所述服務(wù)訪問令牌,判斷所述客戶端能否調(diào)用服務(wù),得到一判斷結(jié)果具體包括:
[0076]根據(jù)接收到的所述服務(wù)請求信息中包括的所述服務(wù)訪問令牌,發(fā)送具有所述服務(wù)訪問令牌的請求驗證信息;
[0077]根據(jù)所述請求驗證信息對所述客戶端進行身份驗證;
[0078]當(dāng)驗證通過時,判斷所述客戶端所調(diào)用的服務(wù)是否為所述客戶端預(yù)先訂閱的服務(wù),得到一判斷結(jié)果。
[0079]通過上述操作,在對所述客戶端進行身份驗證后,又對所述客戶端與所調(diào)用的服務(wù)是否存在訂閱關(guān)系進行判斷,雙重方式保證客戶端服務(wù)調(diào)用的合法性,進一步避免了非法用戶對服務(wù)的調(diào)用。
[0080]現(xiàn)有的獲取網(wǎng)絡(luò)服務(wù)的場合中,客戶端一般是通過企業(yè)服務(wù)總線(ESB)的方式去調(diào)用服務(wù),若在某一時間段內(nèi)有多個客戶端都通過ESB進行服務(wù)調(diào)用,那么會存在高并發(fā)量下,會導(dǎo)致ESB負(fù)載過大而導(dǎo)致性能降低的問題。
[0081]在本實施例中,通過所述服務(wù)請求信息的發(fā)送方的不同對客戶端對服務(wù)的調(diào)用方式加以區(qū)別。
[0082]在所述接收包括所述服務(wù)訪