一種接口數(shù)據(jù)的處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子信息技術(shù)領(lǐng)域,尤其涉及一種接口數(shù)據(jù)的處理方法。
【背景技術(shù)】
[0002]目前市面上的電子終端種類繁多,比如最常用的Pad、智能手機(jī)、筆記本電腦等。但是不同種類的終端在通訊方式上存在差別,就算是同一類的終端也會(huì)由于系統(tǒng)不同而采用不同的數(shù)據(jù)傳輸或數(shù)據(jù)處理方式,比如安卓、1S0
[0003]傳統(tǒng)的瀏覽器端的響應(yīng)能力已經(jīng)不能滿足不同終端的通信要求,因此需要開發(fā)人員開發(fā)定制不同版本數(shù)據(jù)傳輸接口。為了提升開發(fā)效率,通常會(huì)將前后端分離,其中,后端負(fù)責(zé)業(yè)務(wù)/數(shù)據(jù)接口,前端負(fù)責(zé)展現(xiàn)/交互邏輯,同一份數(shù)據(jù)接口定制開發(fā)多個(gè)版本,從而滿足各個(gè)終端的通信要求。
[0004]但是,由于需要處理海量的通信請(qǐng)求,后端的數(shù)據(jù)接口需要處理大量訪問(wèn),會(huì)對(duì)后端造成很大的負(fù)荷,使得最終的訪問(wèn)結(jié)果難以迅速反饋至前端,這就降低了前端的響應(yīng)速度,并且由于訪問(wèn)次數(shù)較多,也會(huì)造成前端的網(wǎng)絡(luò)消耗較高的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的實(shí)施例提供一種接口數(shù)據(jù)的處理方法,能夠減少對(duì)數(shù)據(jù)接口的訪問(wèn)次數(shù);還實(shí)現(xiàn)了在后端采用接口數(shù)據(jù)重組,減少對(duì)業(yè)務(wù)數(shù)據(jù)接口的訪問(wèn)次數(shù),提升了前端的響應(yīng)速度;并且通過(guò)在后端的數(shù)據(jù)重新組裝降低了前端的網(wǎng)絡(luò)消耗。
[0006]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
本發(fā)明的實(shí)施例提供一種接口數(shù)據(jù)的處理方法,包括:
解析轉(zhuǎn)發(fā)參數(shù)并調(diào)用原始接口;
根據(jù)所述轉(zhuǎn)發(fā)參數(shù)組裝響應(yīng)數(shù)據(jù),所述轉(zhuǎn)發(fā)參數(shù)在反向代理服務(wù)器中設(shè)置;
將所述響應(yīng)數(shù)據(jù)返回前臺(tái),并根據(jù)http緩存協(xié)議設(shè)置前端數(shù)據(jù)有效期。
[0007]本發(fā)明實(shí)施例提供的接口數(shù)據(jù)的處理方法,通過(guò)反向代理服務(wù)器設(shè)置轉(zhuǎn)發(fā)參數(shù),并將請(qǐng)求轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)服務(wù)中;轉(zhuǎn)發(fā)服務(wù)器對(duì)轉(zhuǎn)發(fā)參數(shù)進(jìn)行解析并調(diào)用原始接口,然后根據(jù)轉(zhuǎn)發(fā)參數(shù)重新組裝數(shù)據(jù);同時(shí),根據(jù)緩存標(biāo)識(shí)對(duì)上述調(diào)用的原始接口返回?cái)?shù)據(jù)進(jìn)行緩存,方便下次調(diào)用取用;之后對(duì)重新組裝的數(shù)據(jù)返回前臺(tái),并根據(jù)http緩存協(xié)議設(shè)置前端數(shù)據(jù)有效期。從而實(shí)現(xiàn)了在調(diào)用接口使用采用緩存,減少對(duì)數(shù)據(jù)接口的訪問(wèn)次數(shù);還實(shí)現(xiàn)了在后端采用接口數(shù)據(jù)重組,減少對(duì)業(yè)務(wù)數(shù)據(jù)接口的訪問(wèn)次數(shù),提升了前端的響應(yīng)速度;并且通過(guò)在后端的數(shù)據(jù)重新組裝降低了前端的網(wǎng)絡(luò)消耗。
【附圖說(shuō)明】
[0008]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0009]圖1為本發(fā)明實(shí)施例提供的接口數(shù)據(jù)的處理方法的大致流程圖;
圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)扭轉(zhuǎn)過(guò)程實(shí)例的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)組裝過(guò)程實(shí)例的流程示意圖。
【具體實(shí)施方式】
[0010]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0011]本發(fā)明實(shí)施例提供一種接口數(shù)據(jù)的處理方法,如圖1所示,包括:
101,解析轉(zhuǎn)發(fā)參數(shù)并調(diào)用原始接口。
[0012]其中,本實(shí)施例中所述的轉(zhuǎn)發(fā)參數(shù)主要包括:method表示轉(zhuǎn)發(fā)的接口請(qǐng)求方式,默認(rèn)值為GET。shortUrl表示轉(zhuǎn)發(fā)的接口相對(duì)地址。requestParam表示轉(zhuǎn)發(fā)的接口請(qǐng)求參數(shù)。retKey表示處理過(guò)后的接口數(shù)據(jù)存放的鍵值,默認(rèn)值表示retKey。splitPath表示需要截取返回報(bào)文中的節(jié)點(diǎn)的數(shù)據(jù)的PATH路徑。cacheTime表示緩存時(shí)間控制標(biāo)識(shí)。對(duì)于處理轉(zhuǎn)發(fā)標(biāo)識(shí)根據(jù)轉(zhuǎn)發(fā)標(biāo)識(shí)重新組裝數(shù)據(jù)的過(guò)程中,在splitPath中設(shè)置的數(shù)據(jù)的節(jié)點(diǎn)路徑,節(jié)點(diǎn)路徑語(yǔ)法參照el表達(dá)式。
[0013]102,根據(jù)所述轉(zhuǎn)發(fā)參數(shù)組裝響應(yīng)數(shù)據(jù),所述轉(zhuǎn)發(fā)參數(shù)在反向代理服務(wù)器中設(shè)置。
[0014]103,將所述響應(yīng)數(shù)據(jù)返回前臺(tái),并根據(jù)http緩存協(xié)議設(shè)置前端數(shù)據(jù)有效期。
[0015]在本實(shí)施例中,可以根據(jù)JSON的PATH路徑提取所需要的數(shù)據(jù),重新組裝數(shù)據(jù),以方便前端控制接口的數(shù)據(jù)輸出,同時(shí)可以使用瀏覽器緩存,降低后端接口壓力的方案。運(yùn)行本實(shí)施例方法流程的設(shè)備上可以運(yùn)行數(shù)據(jù)緩存模塊和數(shù)據(jù)組裝模塊。其中,所述數(shù)據(jù)緩存模塊,用于緩存原始接口數(shù)據(jù)和租轉(zhuǎn)接口數(shù)據(jù)信息;所述數(shù)據(jù)組裝模塊,用于根據(jù)參數(shù)重新組裝接口數(shù)據(jù)。
[0016]在本實(shí)施例中,在解析轉(zhuǎn)發(fā)參數(shù)并調(diào)用原始接口之前,還包括:
在請(qǐng)求頭添加Host參數(shù),并設(shè)置需要代理的網(wǎng)站HOST,所述Host參數(shù)的設(shè)置用于避免所述原始接口的校驗(yàn)請(qǐng)求來(lái)源引發(fā)的錯(cuò)誤。
[0017]在所述請(qǐng)求頭添加pr0Xy_h0st參數(shù),并設(shè)置需要代理的網(wǎng)站轉(zhuǎn)發(fā)后的HOST,所述proxy_host參數(shù)的設(shè)置用于在調(diào)用所述原始接口時(shí),組裝所述原始接口 URL的domain。
[0018]在所述請(qǐng)求頭添加forward_tag參數(shù),所述forward_tag參數(shù)的設(shè)置用于區(qū)分是否轉(zhuǎn)發(fā),其中,設(shè)置為true則解析封裝接口數(shù)據(jù),設(shè)置為false則透?jìng)鲾?shù)據(jù)接口。
[0019]在本實(shí)施例中,緩存由所述原始接口向所述前臺(tái)返回的數(shù)據(jù)。
[0020]其中,轉(zhuǎn)發(fā)服務(wù)器本地緩存采用LRU刪除最后訪問(wèn)時(shí)間最遠(yuǎn)的數(shù)據(jù)。網(wǎng)絡(luò)緩存服務(wù)器用于存儲(chǔ)所有由所述原始接口向所述前臺(tái)返回的數(shù)據(jù)。例如:轉(zhuǎn)發(fā)服務(wù)器本地緩存采用LRU淘汰最后訪問(wèn)時(shí)間最遠(yuǎn)的數(shù)據(jù),不存在則請(qǐng)求網(wǎng)絡(luò)緩存服務(wù)器。網(wǎng)絡(luò)緩存服務(wù)器存儲(chǔ)所有的緩存數(shù)據(jù),定期清理不活躍或失效的緩存數(shù)據(jù)。在本實(shí)施例中,緩存數(shù)據(jù)使用優(yōu)先級(jí)為瀏覽器緩存 > 服務(wù)器本地緩存 > 文件服務(wù)器緩存 > 請(qǐng)求原始接口。
[0021]其中,對(duì)重新組裝的數(shù)據(jù)返回前臺(tái),并根據(jù)http緩存協(xié)議設(shè)置前端數(shù)據(jù)有效期的具體實(shí)現(xiàn)手段可以是:根據(jù)cacheTime參數(shù)設(shè)置的時(shí)間設(shè)置緩存的時(shí)間,同時(shí)在響應(yīng)頭中設(shè)置HTTP協(xié)議。
[002