[發明專利]一種基于GraphQL的類元數據框架有效
| 申請號: | 202010184455.9 | 申請日: | 2020-03-17 |
| 公開(公告)號: | CN111414378B | 公開(公告)日: | 2023-08-29 |
| 發明(設計)人: | 劉強;王偉;高天星 | 申請(專利權)人: | 用友網絡科技股份有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2455;G06F16/28 |
| 代理公司: | 北京中恒高博知識產權代理有限公司 11249 | 代理人: | 夏晏平 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 graphql 數據 框架 | ||
1.一種基于GraphQL的類元數據框架的請求響應方法,其特征在于:所述方法使用GraphQL基本語法,結合元數據查詢組件,實現從元數據查詢語句到實際執行的SQL或第三方接口調用的安全、快速轉換,所述基于GraphQL的類元數據框架的架構方法包括以下步驟:
S1、開始:客戶端發起GraphQL請求;
S2、類元數據查詢語句:根據客戶端發起的GraphQL請求,基于類元數據組件生成相應的類型集合Schema;
S3、GraphQL類型查詢:根據生成的相應類型集合Schema在客戶端進行業務請求,系統對該業務請求權限進行判斷,當該業務請求符合請求權限時,進入下一流程,當該業務請求超出請求權限時,則該業務請求失效,請求結束;
S4、數據安全性加固校檢:對業務請求中每個元素進行訪問、檢查,實現安全加固;
S5、ORM層使用mybatis:提供兩種不同的sql翻譯:基于mybatis的sql翻譯和原生sql翻譯,在顯示框架內選擇是否對加固校檢后的數據選用基于mybatis的sql翻譯,當選擇基于mybatis的sql翻譯時,基于mysql的sql翻譯,可以將類元數據查詢組件的數據,翻譯為兩部分:PreparedStatement的sql語句,sql替換參數映射paramMap,反之則選用原生sql翻譯,即直接將查詢組件實例翻譯為可直接執行的sql語句;
S6、結束:執行最終sql語句并返回結果。
2.根據權利要求1所述的一種基于GraphQL的類元數據框架的請求響應方法,其特征在于:所述類元數據組件具體包括Fields、Entity、Conditions、Groupby、Having、Ordreby和Limit組成元素,用于滿足絕大多數基于關系數據庫的業務系統的使用場景。
3.根據權利要求1所述的一種基于GraphQL的類元數據框架的請求響應方法,其特征在于:所述S4中,安全檢查使用的是訪問者模式(SecureVisitor),通過對每個元素進行訪問、檢查,實現安全加固。
4.根據權利要求1所述的一種基于GraphQL的類元數據框架的請求響應方法,其特征在于:所述S5中,需要對查詢組件進行遍歷,本框架采用訪問者模式,對類元數據查詢組件進行遍歷,并構造sql語句。
5.根據權利要求1所述的一種基于GraphQL的類元數據框架的請求響應方法,其特征在于:所述S5中,Mybatis的使用中,提供了PreparedStatement的訪問方式,使用PreparedStatement,可以避免sql注入。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于用友網絡科技股份有限公司,未經用友網絡科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010184455.9/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





