[發(fā)明專利]一種基于反向代理的接口調(diào)用系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202110392902.4 | 申請(qǐng)日: | 2021-04-13 |
| 公開(kāi)(公告)號(hào): | CN113114765A | 公開(kāi)(公告)日: | 2021-07-13 |
| 發(fā)明(設(shè)計(jì))人: | 段軍;李麗娟;霍曦;鄒昆;原小衛(wèi);郭春江;林飛虎 | 申請(qǐng)(專利權(quán))人: | 成都九洲電子信息系統(tǒng)股份有限公司 |
| 主分類號(hào): | H04L29/08 | 分類號(hào): | H04L29/08;H04L12/66 |
| 代理公司: | 成都虹盛匯泉專利代理有限公司 51268 | 代理人: | 周永宏 |
| 地址: | 610041 四川省成都市高*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 反向 代理 接口 調(diào)用 系統(tǒng) | ||
本發(fā)明公開(kāi)一種基于反向代理的接口調(diào)用系統(tǒng),應(yīng)用于計(jì)算機(jī)領(lǐng)域,針對(duì)現(xiàn)有的接口調(diào)用技術(shù)無(wú)法適應(yīng)大型軟件系統(tǒng)的問(wèn)題,本發(fā)明的系統(tǒng)設(shè)計(jì)為網(wǎng)關(guān)、執(zhí)行節(jié)點(diǎn)組成,網(wǎng)關(guān)基于反向代理模式,通過(guò)請(qǐng)求網(wǎng)關(guān)向節(jié)點(diǎn)反向調(diào)用方式,實(shí)現(xiàn)分布式架構(gòu),形成負(fù)載均衡,從而分散執(zhí)行壓力;然后接口調(diào)用時(shí)通過(guò)JSON進(jìn)行透明傳輸,其中接口將附帶版本信息,同一接口允許多個(gè)版本,實(shí)現(xiàn)迭代開(kāi)發(fā)中的版本互換功能;接口設(shè)計(jì)中包含開(kāi)發(fā)組概念,允許多個(gè)調(diào)用方劃歸為一個(gè)組,組之間數(shù)據(jù)與調(diào)度互不干擾,避免了多人協(xié)同開(kāi)發(fā)中斷點(diǎn)干擾問(wèn)題;由于采用restful作為傳輸協(xié)議,因此接口與語(yǔ)言無(wú)關(guān),可以實(shí)現(xiàn)跨語(yǔ)言協(xié)作開(kāi)發(fā)。
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,特別涉及一種接口調(diào)用技術(shù)。
背景技術(shù)
由于大型軟件系統(tǒng)建設(shè)因業(yè)務(wù)復(fù)雜性往往需要依賴多次迭代,容易導(dǎo)致接口的性能瓶頸、接口版本混亂、重復(fù)開(kāi)發(fā)等多種問(wèn)題,從而致使進(jìn)度滯后、無(wú)法保質(zhì)保量完成研發(fā)工作。因此擬設(shè)計(jì)一種基于反向代理的接口調(diào)用模型,實(shí)現(xiàn)了以分布式部署方式完成負(fù)載均衡;通過(guò)接口注冊(cè)方式實(shí)現(xiàn)版本管理。
發(fā)明內(nèi)容
為解決上述技術(shù)問(wèn)題,本發(fā)明提出一種基于反向代理的接口調(diào)用系統(tǒng)。
本發(fā)明采用的技術(shù)方案為:一種基于反向代理的接口調(diào)用系統(tǒng),包括:請(qǐng)求客戶端、網(wǎng)關(guān)服務(wù)、執(zhí)行節(jié)點(diǎn);所述請(qǐng)求客戶端用于發(fā)送請(qǐng)求調(diào)用函數(shù),所述網(wǎng)關(guān)服務(wù)根據(jù)調(diào)用函數(shù)確定選擇執(zhí)行節(jié)點(diǎn),選擇的執(zhí)行節(jié)點(diǎn)將執(zhí)行結(jié)果返回網(wǎng)關(guān)服務(wù),網(wǎng)關(guān)服務(wù)將收到的執(zhí)行結(jié)果輸出給請(qǐng)求客戶端;
所述網(wǎng)關(guān)服務(wù)包括:API注冊(cè)服務(wù)單元、API緩存池、API調(diào)用器;所述API注冊(cè)服務(wù)單元以TCPServer方式監(jiān)聽(tīng)函數(shù)注冊(cè)端口,接收來(lái)自執(zhí)行節(jié)點(diǎn)的函數(shù)注冊(cè);
所述API緩存池用于保存執(zhí)行節(jié)點(diǎn)信息和被調(diào)函數(shù);
API調(diào)用器用于在執(zhí)行函數(shù)查找時(shí),獲取相應(yīng)的執(zhí)行節(jié)點(diǎn);
所述執(zhí)行節(jié)點(diǎn)包括:API采集器、節(jié)點(diǎn)服務(wù)單元、執(zhí)行器;
所述API采集器用于提取函數(shù)注解信息,形成函數(shù)清單向網(wǎng)關(guān)服務(wù)進(jìn)行注冊(cè);
所述節(jié)點(diǎn)服務(wù)單元作為TCPServer形式監(jiān)聽(tīng)被調(diào)用端口,以TcpClient方式連接網(wǎng)關(guān)服務(wù)進(jìn)行API函數(shù)注冊(cè);
所述執(zhí)行器用于執(zhí)行指定的函數(shù)邏輯。
所述網(wǎng)關(guān)服務(wù)采用SpringBoot作為底層容器,提供一個(gè)統(tǒng)一的RESTFUL調(diào)用接口。
調(diào)用函數(shù)的請(qǐng)求入?yún)⒌臄?shù)據(jù)類型為JSON。
所述請(qǐng)求入?yún)ǎ赫?qǐng)求的IP地址、函數(shù)名稱、函數(shù)版本號(hào)以及函數(shù)接收的參數(shù)信息。
API緩存池是在網(wǎng)關(guān)服務(wù)中以內(nèi)存方式緩存API列表,是由網(wǎng)關(guān)服務(wù)啟動(dòng)時(shí)所初始化創(chuàng)建,以列表方式保存執(zhí)行函數(shù)名和所指向的執(zhí)行節(jié)點(diǎn)IP端口等信息。執(zhí)行節(jié)點(diǎn)在注冊(cè)API時(shí)同時(shí)提交自身所屬的開(kāi)發(fā)組信息,在API注冊(cè)服務(wù)單元上形成函數(shù)列表,添加至API緩存池。
接口函數(shù)注冊(cè)在API緩存池的開(kāi)發(fā)組中。
開(kāi)發(fā)組是為了隔離多開(kāi)發(fā)者的同時(shí)調(diào)試,以防止斷點(diǎn)的相互干擾而設(shè)計(jì)。通過(guò)Group值將API列表進(jìn)行分組,在調(diào)用時(shí)以Group字段對(duì)API函數(shù)進(jìn)行篩選。執(zhí)行節(jié)點(diǎn)在注冊(cè)API時(shí)則提交其開(kāi)發(fā)組Group信息,API函數(shù)信息則以HashMap方式定義其函數(shù)映射關(guān)系、節(jié)點(diǎn)映射關(guān)系,以列表形式保存在相應(yīng)的開(kāi)發(fā)組中。
函數(shù)映射關(guān)系具體為:由IP端口作為鍵,函數(shù)列表為值形成對(duì)應(yīng)。
節(jié)點(diǎn)映射關(guān)系具體為:以函數(shù)名為鍵、調(diào)用節(jié)點(diǎn)為值形成對(duì)應(yīng)。
所述API調(diào)用器獲取相應(yīng)的執(zhí)行節(jié)點(diǎn)的過(guò)程為:首先由所請(qǐng)求數(shù)據(jù)的開(kāi)發(fā)組獲取API列表,然后通過(guò)函數(shù)名獲取執(zhí)行節(jié)點(diǎn)列表,最后通過(guò)所配置的負(fù)載均衡算法獲取相應(yīng)的執(zhí)行節(jié)點(diǎn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都九洲電子信息系統(tǒng)股份有限公司,未經(jīng)成都九洲電子信息系統(tǒng)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110392902.4/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。





