[發(fā)明專利]可配置數(shù)據(jù)源的DataFetcher實現(xiàn)系統(tǒng)和方法有效
| 申請?zhí)枺?/td> | 202011230854.0 | 申請日: | 2020-11-06 |
| 公開(公告)號: | CN112306578B | 公開(公告)日: | 2022-04-19 |
| 發(fā)明(設計)人: | 鄧智成;彭一 | 申請(專利權(quán))人: | 湖南快樂陽光互動娛樂傳媒有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 王洋 |
| 地址: | 410003 湖南省*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 配置 數(shù)據(jù)源 datafetcher 實現(xiàn) 系統(tǒng) 方法 | ||
本發(fā)明提供一種可配置數(shù)據(jù)源的DataFetcher實現(xiàn)系統(tǒng)和方法,該系統(tǒng)包括設計端、配置端、客戶端和本地服務端,由設計端創(chuàng)建目標業(yè)務的本地數(shù)據(jù)源,由配置端針對客戶端配置目標業(yè)務對應的客戶端參數(shù)、數(shù)據(jù)源參數(shù)和協(xié)議參數(shù),本地服務端從配置端拉取其相關(guān)數(shù)據(jù)生成DataFetcher代碼注冊到graphql引擎、并將相關(guān)客戶端參數(shù)轉(zhuǎn)化為接口文檔,客戶端基于接口文檔向本地服務端發(fā)起業(yè)務請求,本地服務端調(diào)用graphql引擎運行DataFetcher代碼,以實現(xiàn)從本地數(shù)據(jù)源中獲得數(shù)據(jù)。本發(fā)明在靈活配置多數(shù)據(jù)源的基礎上,支持硬編碼來實現(xiàn)復雜的業(yè)務邏輯,給出本地配置化的實現(xiàn)方式,從而提升開發(fā)效率。
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,更具體地說,涉及一種可配置數(shù)據(jù)源的DataFetcher實現(xiàn)系統(tǒng)和方法。
背景技術(shù)
graphql是一個用于API的查詢語言,是一個使用基于類型系統(tǒng)來執(zhí)行查詢的服務端運行時(類型系統(tǒng)可以自定義)。graphql并沒有和任何特定數(shù)據(jù)庫或者存儲引擎綁定,而是依靠現(xiàn)有的代碼和數(shù)據(jù)支撐。
一個graphQL服務是通過定義類型和類型上的字段來創(chuàng)建的。針對graphql-java語言,每個類型上的每個字段的數(shù)據(jù)獲取,會解析對應到一個DataFetcher數(shù)據(jù)源。現(xiàn)階段,有部分方案能夠基于配置無代碼方式實現(xiàn)DataFetcher數(shù)據(jù)源的獲取,這帶來了靈活性與效率,但是無法配置復雜業(yè)務邏輯的實現(xiàn)。
發(fā)明內(nèi)容
有鑒于此,為解決上述問題,本發(fā)明提供一種可配置數(shù)據(jù)源的DataFetcher實現(xiàn)系統(tǒng)和方法,技術(shù)方案如下:
一種可配置數(shù)據(jù)源的DataFetcher實現(xiàn)系統(tǒng),所述系統(tǒng)包括設計端、配置端本地服務端和客戶端;
所述設計端,用于創(chuàng)建目標業(yè)務的本地數(shù)據(jù)源,所述本地數(shù)據(jù)源包括本地服務類和所述本地服務類中多個方法的邏輯塊類;
所述配置端,用于針對所述客戶端配置所述目標業(yè)務對應的客戶端參數(shù)、數(shù)據(jù)源參數(shù)和協(xié)議參數(shù),所述客戶端參數(shù)包括所述本地數(shù)據(jù)源的類型和所述本地服務類的標識,所述數(shù)據(jù)源參數(shù)包括所述本地服務類中每個方法的標識,所述協(xié)議參數(shù)包括所述本地服務類中每個方法對應的字段;
所述本地服務端,用于拉取所述客戶端參數(shù)、所述數(shù)據(jù)源參數(shù)和所述協(xié)議參數(shù),并基于拉取結(jié)果生成DataFetcher代碼;將所述DataFetcher代碼注冊到graphql引擎;將所述本地數(shù)據(jù)源的類型和所述本地服務類的標識轉(zhuǎn)化為接口文檔,并發(fā)送給所述客戶端;
所述客戶端,用于基于所述接口文檔向所述本地服務端發(fā)起業(yè)務請求,所述業(yè)務請求中包含待請求的目標字段;
所述本地服務端,還用于接收所述業(yè)務請求;調(diào)用所述graphql引擎,并通過所述graphql引擎運行所述DataFetcher代碼,以實現(xiàn)確定所述目標字段所對應的目標方法、以及基于所述目標方法的標識執(zhí)行其對應的目標邏輯塊類、以及從所述目標邏輯塊類獲取所述目標字段的數(shù)據(jù);向所述客戶端返回所述目標字段的數(shù)據(jù)。
優(yōu)選的,所述客戶端參數(shù)還包括:容錯參數(shù);
所述本地服務端,還用于:
在執(zhí)行所述調(diào)用所述graphql引擎之前,基于所述容錯參數(shù)對所述業(yè)務請求進行容錯降級。
優(yōu)選的,所述客戶端參數(shù)還包括:緩存參數(shù);
用于向所述客戶端返回所述目標字段的數(shù)據(jù)的所述本地服務端,具體用于:
基于所述緩存參數(shù)向所述客戶端返回所述目標字段的數(shù)據(jù),以使所述客戶端對所述目標字段的數(shù)據(jù)進行緩存。
優(yōu)選的,所述數(shù)據(jù)源參數(shù)還包括:輸入格式和輸出格式;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于湖南快樂陽光互動娛樂傳媒有限公司,未經(jīng)湖南快樂陽光互動娛樂傳媒有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011230854.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)同步處理方法、裝置和單點登錄系統(tǒng)
- 數(shù)據(jù)同步方法和裝置
- 切換數(shù)據(jù)源的方法及系統(tǒng)
- 多數(shù)據(jù)源的數(shù)據(jù)遷移方法
- 數(shù)據(jù)源補充方法、裝置、計算機設備和存儲介質(zhì)
- 一種數(shù)據(jù)源切換方法及系統(tǒng)
- 一種基于多個數(shù)據(jù)源調(diào)節(jié)工業(yè)自動化的操作系統(tǒng)
- 從不同數(shù)據(jù)源中獲取數(shù)據(jù)的方法、裝置及計算機設備
- 一種動態(tài)數(shù)據(jù)源查詢方法及裝置
- 一種訪問多數(shù)據(jù)源的方法及系統(tǒng)
- 互動業(yè)務終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設備實現(xiàn)方法及其實現(xiàn)裝置





