CN112597186A - 一种数据查询方法、计算机设备以及存储介质 - Google Patents

一种数据查询方法、计算机设备以及存储介质 Download PDF

Info

Publication number
CN112597186A
CN112597186A CN202011593238.1A CN202011593238A CN112597186A CN 112597186 A CN112597186 A CN 112597186A CN 202011593238 A CN202011593238 A CN 202011593238A CN 112597186 A CN112597186 A CN 112597186A
Authority
CN
China
Prior art keywords
attribute
query
data
data query
grammar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011593238.1A
Other languages
English (en)
Inventor
沈启辉
郑颖鑫
林楚钟
严新泓
徐志杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong wisdom Youth Palace Education Development Co.,Ltd.
Original Assignee
Guangzhou Huizhi Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huizhi Information Technology Co ltd filed Critical Guangzhou Huizhi Information Technology Co ltd
Priority to CN202011593238.1A priority Critical patent/CN112597186A/zh
Publication of CN112597186A publication Critical patent/CN112597186A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Abstract

本发明公开了一种数据查询方法、存储介质以及分布式存储系统,其中数据查询方法包括:接收数据查询请求;获得数据请求类型;获取与所述数据请求类型相对应的若干字段属性,遍历每一所述字段属性,对所述字段属性的属性类型进行判断,将所述原子属性以及所述非原子属性对应的原子属性储存到一变量中;将所述变量按照预设的语法格式构建查询语法;执行所述查询语法,获得数据查询结果;本发明能够提供更为有效的查询方法。

Description

一种数据查询方法、计算机设备以及存储介质
技术领域
本发明属于数据处理技术领域,具体涉及一种数据查询方法、计算机设备以及存储介质。
背景技术
一般情况下,为了让用户方便获取数据库中的数据,开发者会提供用户界面来让用户进行操作。现有技术下,开发者一般采用手写查询语法或者使用Relay、apollo这些框架来实现查询语法,这些查询语法需要配置所有字段才能查询用户想要请求的数据,这极大地增加了开发的复杂度,影响开发效率;后期若有数据改动,维护查询语法的成本也高。
发明内容
为了克服上述技术缺陷,本发明提供一种数据查询方法、计算机设备以及存储介质,旨在提供一种更为有效的数据查询方法。
为了解决上述问题,本发明按以下技术方案予以实现的:
第一方面,本发明提供的一种数据查询方法,所述方法包括:
接收数据查询请求;
通过解析所述数据查询请求,获得数据请求类型;
获取与所述数据请求类型相对应的若干字段属性,其中,所述字段属性与所述数据请求类型为预设的映射关系;
遍历每一所述字段属性,对所述字段属性的属性类型进行判断,其中,所述属性类型包括原子属性和非原子属性;
若所述字段属性为非原子属性,通过递归算法获取与该非原子属性对应的原子属性,并储存到一变量中;
若所述字段属性为原子属性,该原子属性储存到所述变量中;
将所述变量按照预设的语法格式构建查询语法;
执行所述查询语法,获得数据查询结果。
进一步的,所述将所述变量按照预设的语法格式构建查询语法的步骤,包括:
将所述变量按照GraphQL的语法格式构建查询语法。
进一步的,将所述变量按照GraphQL的语法格式构建查询语法的步骤,包括:
将所述变量按照GraphQL的语法格式,进行数据的序列化,构建查询语法。
进一步的,所述执行所述查询语法,获得数据查询结果的步骤,包括:
通过所述查询语法发出API请求,获得数据查询结果。
进一步的,所述接收数据查询请求的步骤,之前还包括:
对服务器进行初始化。
进一步的,所述通过解析所述数据查询请求,获得数据请求类型的步骤,之前还包括:
预先存储若干数据请求类型。
第二方面,本发明提供的一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器上存储有在所述处理器上运行的数据查询程序,所述数据查询程序被所述处理器执行时实现如第一方面所述的数据查询方法的步骤。
第三方面,本发明提供的一种存储介质,所述存储介质是计算机可读存储介质,所述存储介质上存储有数据查询程序,所述数据查询程序被处理器运行时执行如第一方面所述的数据查询方法的步骤。
相对于现有技术,本发明的有益效果为:
本发明公开了一种数据查询方法、计算机设备以及存储介质;其中,数据查询方法中,通过解析客户端发出的数据查询请求,获得对应的数据请求类型,由于服务器预设了与数据请求类型相对应的字段属性,通过递归算法深度遍历每一字段属性,获得字段属性下的所有原子属性,并生成一项查询语法,这将减轻开发人员的工作量,省去一些类型及字段配置的工作量,开发人员只需要配置查询类型即可完成查询;后期若有数据结构的改动,维护查询语法的成本也很低。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本实施例1中数据查询方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
现有技术中,一般采用手写查询语法或者使用Relay、apollo这些框架来实现查询语法。以手写查询语法为例,
Figure BDA0002867445050000041
该示例中,学生列表为服务器预设的数据请求类型,“姓名”、“职位”这两个直接属于数据请求类型“学生列表”下的字段属性,属于原子属性。
“所属部门”、“同事”这2个字段属性,其下属属性还有“名称”、“ID”等原子属性,“所属部门”、“同事”属于非原子属性;“名称”为非原子属性“所属部门”下的下属属性。
现有技术下,通过手写查询语法来获取相关数据,需要使用人员熟悉后端的API接口信息,同时将需要的字段属性配置到数据请求类型中,工作量相当复杂繁琐,后期若有数据结构改动,维护查询语法的成本也高。
实施例1
本实施例提供了一种数据查询方法,参考图1,包括以下步骤:
S10、接收数据查询请求;
本实施例以服务器提供用户界面来让用户进行页面操作为例进行说明。
具体的,在客户端发出数据查询请求前,先对请求服务进行初始化,浏览器通过定义好的请求服务工厂方法Factory来创建每个数据查询请求的实例。
客户端在网页浏览器打开网页程序的网址(服务器提供的用户界面),网页浏览器会获取网页信息,执行里面的html、css、script指令,渲染网页给用户查看访问。在执行script的时候,会通过请求的工厂方法创建学生、教师、部门等一系列的列表、详情、新增、删除等普通常规操作的请求实例,方便开发人员后面调用,减轻开发人员重复的工作量。
系统进行数据的初始化,获取必备的信息,例如系统配置,系统时间,系统字典等系统数据信息,同时通过后端程序员提供的API接口获取预设的语法文档。
S20、通过解析所述数据查询请求,获得数据请求类型;
预先存储若干数据请求类型。
示例性的,服务器的网址中预设了“学生管理”的按钮,客户端点击“学生管理”,即为客户端发起数据查询请求“学生管理”,触发程序发起请求学生列表的数据,此时服务器接收到数据请求类型“学生列表”。
S30、获取与所述数据请求类型相对应的若干字段属性,其中,所述字段属性与所述数据请求类型为预设的映射关系;
示例性的,服务器中预设了数据请求类型“学生列表”的字段属性有“姓名”、“职位”、“所属部门”等字段属性。
S40、遍历每一所述字段属性,对所述字段属性的属性类型进行判断,其中,所述属性类型包括原子属性和非原子属性;
S50、若所述字段属性为非原子属性,通过递归算法获取与该非原子属性对应的原子属性,并储存到一变量中;
S60、若所述字段属性为原子属性,该原子属性储存到所述变量中。
具体的,字段属性的属性类型包括原子属性和非原子属性。服务器遍历到某一字段属性时,会判断字段属性的类型,如果该字段属性没有子属性,即该字段属性为最终的查询属性(原子属性),服务器将最终的查询属性储存到一变量中,然后继续遍历下一个字段属性。
示例性的,服务器遍历到“所属部门”时,会判断“所属部门”拥有子属性“名称”,服务器会用递归算法,对“所属部门”继续遍历其子属性,直至判断所有子属性为最终的查询属性,停止对该字段属性“所属部门”的遍历,将所属部门{名称}返回存储到所述变量中。
S70、将所述变量按照预设的语法格式构建查询语法;
S80、执行所述查询语法,获得数据查询结果。
在一些实施例中,将所述变量按照GraphQL的语法格式,进行数据的序列化,构建查询语法。
具体的,遍历完成后,生成的变量信息,依照GraphQL的语法格式,进行数据的序列化,完成了查询语法的构建。执行所述查询语法,所述查询语法发出API请求来请求数据,获得数据查询结果,即将数据查询结果供客户端查看,完成整个查询的流程。
示例性的,生成的变量信息序列化成:学生列表{姓名,职位,所属部门{名称},同事{ID,姓名,职位}},即构建了查询语法“学生列表”,查询语法发出API请求来请求“学生列表”的数据,获取到信息,展示到网页页面上,供用户查看。
更具体的,当需求发生改变时,例如在数据查询请求“学生列表”中,当实际需求发生变化,已经不需要“学生列表{职位}”这一原子属性,此时只需修改数据请求类型“学生列表”中的字段属性与数据请求类型的映射关系,无需修改查询语法,即可得到改变需求后的查询结果;当有其他多个数据查询请求都含有需修改的字段属性时,也无需修改查询语法。若使用手写查询语法或者使用Relay、apollo这些框架来实现查询语法,若有数据结构的改动,每一查询语法都需要修改,工作量极大,而且容易出错。
实施例2
本发明实施例提供一种计算机设备,包括处理器与存储器,所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现本发明实施例1提供的数据查询方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
实施例3
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,使所述处理器实现本发明实施例1提供的数据查询方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机可读存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
示例性的,所述计算机可读存储介质可以是前述实施例所述的网管设备的内部存储单元,例如所述网管设备的硬盘或内存。所述计算机可读存储介质也可以是所述网管设备的外部存储设备,例如所述网管设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种数据查询方法,其特征在于,所述方法包括:
接收数据查询请求;
通过解析所述数据查询请求,获得数据请求类型;
获取与所述数据请求类型相对应的若干字段属性,其中,所述字段属性与所述数据请求类型为预设的映射关系;
遍历每一所述字段属性,对所述字段属性的属性类型进行判断,其中,所述属性类型包括原子属性和非原子属性;
若所述字段属性为非原子属性,通过递归算法获取与该非原子属性对应的原子属性,并储存到一变量中;
若所述字段属性为原子属性,该原子属性储存到所述变量中;
将所述变量按照预设的语法格式构建查询语法;
执行所述查询语法,获得数据查询结果。
2.根据权利要求1所述的数据查询方法,其特征在于,所述将所述变量按照预设的语法格式构建查询语法的步骤,包括:
将所述变量按照GraphQL的语法格式构建查询语法。
3.根据权利要求2所述的数据查询方法,其特征在于,将所述变量按照GraphQL的语法格式构建查询语法的步骤,包括:
将所述变量按照GraphQL的语法格式,进行数据的序列化,构建查询语法。
4.根据权利要求1所述的数据查询方法,其特征在于,所述执行所述查询语法,获得数据查询结果的步骤,包括:
通过所述查询语法发出API请求,获得数据查询结果。
5.根据权利要求1所述的数据查询方法,其特征在于,所述接收数据查询请求的步骤,之前还包括:
对服务器进行初始化。
6.根据权利要求1所述的数据查询方法,其特征在于,所述通过解析所述数据查询请求,获得数据请求类型的步骤,之前还包括:
预先存储若干数据请求类型。
7.一种存储介质,其特征在于,所述存储介质是计算机可读存储介质,所述存储介质上存储有数据查询程序,所述数据查询程序被处理器运行时执行如权利要求1-6任一项所述的数据查询方法的步骤。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器上存储有在所述处理器上运行的数据查询程序,所述数据查询程序被所述处理器执行时实现如权利要求1-6任一项所述的数据查询方法的步骤。
CN202011593238.1A 2020-12-29 2020-12-29 一种数据查询方法、计算机设备以及存储介质 Pending CN112597186A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011593238.1A CN112597186A (zh) 2020-12-29 2020-12-29 一种数据查询方法、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011593238.1A CN112597186A (zh) 2020-12-29 2020-12-29 一种数据查询方法、计算机设备以及存储介质

Publications (1)

Publication Number Publication Date
CN112597186A true CN112597186A (zh) 2021-04-02

Family

ID=75203393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011593238.1A Pending CN112597186A (zh) 2020-12-29 2020-12-29 一种数据查询方法、计算机设备以及存储介质

Country Status (1)

Country Link
CN (1) CN112597186A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599818A (zh) * 2022-10-20 2023-01-13 中电金信软件有限公司(Cn) 一种数据查询方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008230A (zh) * 2019-01-25 2019-07-12 畅捷通信息技术股份有限公司 对象查询方法及装置、计算机可读存储介质
US20200004730A1 (en) * 2018-06-28 2020-01-02 Atlassian Pty Ltd Automatic integration of multiple graph data structures
CN110673847A (zh) * 2019-09-24 2020-01-10 北京乐我无限科技有限责任公司 配置页面的生成方法、装置、电子设备和可读存储介质
CN110688544A (zh) * 2019-10-17 2020-01-14 北京锐安科技有限公司 一种查询数据库的方法、设备及存储介质
CN111198678A (zh) * 2018-11-19 2020-05-26 贵州白山云科技股份有限公司 一种生成GraphQL前端操作接口的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200004730A1 (en) * 2018-06-28 2020-01-02 Atlassian Pty Ltd Automatic integration of multiple graph data structures
CN111198678A (zh) * 2018-11-19 2020-05-26 贵州白山云科技股份有限公司 一种生成GraphQL前端操作接口的方法及装置
CN110008230A (zh) * 2019-01-25 2019-07-12 畅捷通信息技术股份有限公司 对象查询方法及装置、计算机可读存储介质
CN110673847A (zh) * 2019-09-24 2020-01-10 北京乐我无限科技有限责任公司 配置页面的生成方法、装置、电子设备和可读存储介质
CN110688544A (zh) * 2019-10-17 2020-01-14 北京锐安科技有限公司 一种查询数据库的方法、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599818A (zh) * 2022-10-20 2023-01-13 中电金信软件有限公司(Cn) 一种数据查询方法、装置、电子设备及存储介质
CN115599818B (zh) * 2022-10-20 2023-08-25 中电金信软件有限公司 一种数据查询方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US8601438B2 (en) Data transformation based on a technical design document
US11023500B2 (en) Systems and methods for code parsing and lineage detection
US20060224613A1 (en) Method and system for an administrative apparatus for creating a business rule set for dynamic transform and load
CN110968601A (zh) 一种数据查询处理方法及装置
US9967370B2 (en) OData enabled mobile software applications
CN109710220B (zh) 关系型数据库查询方法、装置、设备及存储介质
CN107330014B (zh) 一种数据表的创建方法与设备
CN111414350B (zh) 一种服务生成方法及装置
CN111309593A (zh) Json接口校验的方法、装置、设备及计算机可读存储介质
CN113238740B (zh) 代码生成方法、代码生成装置、存储介质及电子设备
CN112084179A (zh) 一种数据处理的方法、装置、设备及存储介质
CN114090671A (zh) 数据导入方法、装置、电子设备及存储介质
CN112256318A (zh) 一种用于依赖产品的构建方法及设备
US11366704B2 (en) Configurable analytics for microservices performance analysis
CN112597186A (zh) 一种数据查询方法、计算机设备以及存储介质
US20170132195A1 (en) Method and Apparatus Providing Contextual Suggestion in Planning Spreadsheet
CN112052157B (zh) 测试报文的构造方法、装置及系统
US11016830B2 (en) Entity-based service operation for object-based persistence
CN108196921B (zh) 单据开发方法、装置、计算机设备和存储介质
US10223086B2 (en) Systems and methods for code parsing and lineage detection
CN116185389A (zh) 一种代码生成方法、装置、电子设备及介质
CN113722321A (zh) 数据导出方法、装置和电子设备
US11301498B2 (en) Multi-cloud object store access
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置
CN115544214B (zh) 一种事件处理方法、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220304

Address after: 510000 Room 401, 4th floor, No. 1427-1431, Sanyuanli Avenue, Baiyun District, Guangzhou, Guangdong

Applicant after: Guangdong wisdom Youth Palace Education Development Co.,Ltd.

Address before: 510403 room 412, 4th floor, no.1427-1431, Sanyuanli Avenue North, Tangjing street, Baiyun District, Guangzhou City, Guangdong Province (self declaration)

Applicant before: Guangzhou Huizhi Information Technology Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20210402