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