[发明专利]一种基于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.vipzhuanli.com/pat/books/202010184455.9/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置