CN113420044A - 数据查询方法、装置、设备和存储介质 - Google Patents
数据查询方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113420044A CN113420044A CN202110742573.1A CN202110742573A CN113420044A CN 113420044 A CN113420044 A CN 113420044A CN 202110742573 A CN202110742573 A CN 202110742573A CN 113420044 A CN113420044 A CN 113420044A
- Authority
- CN
- China
- Prior art keywords
- query
- data
- target
- field
- configuration
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000000007 visual effect Effects 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 40
- 238000011049 filling Methods 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000011068 loading method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 2
- 238000001914 filtration Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种数据查询方法、装置、设备和存储介质,该方法包括:获取用户通过可视化的查询配置界面自定义的树形数据结构的查询配置文件;对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句;执行数据库查询语句以从数据源中获取目标数据。本申请用户通过可视化的查询配置界面自定义树形数据结构的查询配置文件,实现了动态数据查询和过滤,简单方便,对用户的专业要求不高,适用范围广。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据查询方法、装置、设备和存储介质。
背景技术
标准SQL过滤是根据业务需要对维度(普通字段)或者指标字段(聚合后的字段)过滤的查询配置文件技术。目前市场上大多数系统都是简单过滤,或者是各系统各自独有、不具备通用性和开源性,要么过于重量级,安装部署繁琐,且不支持动态条件。新的过滤条件需要重新进行代码编写和打包,频繁更改可能会造成系统稳定性及安全性缺乏保障。
发明内容
为了解决现有技术中支持的数据查询和过滤简单单一,不具有通用性的技术问题。本申请提供了一种数据查询方法、装置、设备和存储介质,其主要目的在于简化数据查询,支持动态设置查询条件,丰富数据查询的条件。
为实现上述目的,本申请提供了一种数据查询方法,该数据查询方法包括:
获取用户自定义的树形数据结构的查询配置文件,查询配置文件是用户在可视化的查询配置界面通过自定义生成的;
对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句;
执行数据库查询语句以从数据源中获取目标数据。
此外,为实现上述目的,本申请还提供了一种数据查询装置,该装置包括:
查询配置获取模块,用于获取用户自定义的树形数据结构的查询配置文件,查询配置文件是用户在可视化的查询配置界面通过自定义生成的;
转换模块,用于对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句;
执行模块,用于执行数据库查询语句以从数据源中获取目标数据。
为实现上述目的,本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时执行如前面任一项的数据查询方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如前面任一项的数据查询方法的步骤。
本申请提出的数据查询方法、装置、设备和存储介质,用户可以通过可视化界面任意自定义不同的树形数据结构的查询配置文件,因此不需要编写代码,由于支持各种不同查询目的的数据查询,因此达到了动态数据查询的目的。且生成的查询配置文件通过查询配置界面可以再次编辑修改,实现了查询条件的更新,更进一步实现了动态数据查询和过滤,简单方便,对用户的专业要求不高,适用范围广。安装部署方便,不需要其他依赖,只需要安装配置库及对应程序包即可使用。且,本申请的查询配置文件是在终端设备(本地端)中生成的,对于一些提供数据源的大型业务系统而言,不会造成系统干扰,尤其对于大型企业平台需要对接业务系统数据分析时,方便自行处理,减少了对业务系统稳定性和安全性的干扰。
附图说明
图1为本申请一实施例中数据查询方法的应用场景图;
图2为本申请一实施例中数据查询方法的流程示意图;
图3为本申请一实施例中数据查询装置的结构框图;
图4为本申请一实施例中计算机设备的内部结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据查询方法,可应用在如图1的数据查询系统中,该数据查询系统包括终端设备110和服务器120。其中,终端设备110可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。终端设备110通过网络与服务器120进行通信。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
终端设备110安装有查询配置应用,用户通过终端设备110打开该查询配置应用后,查询配置应用显示有查询配置界面,在该查询配置界面用户可以通过自定义图形表示的查询实例以在查询配置应用的底层生成对应的树形数据结构的查询配置文件。终端设备110通过网络将查询配置文件发送至服务器120,服务器120对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句,执行数据库查询语句以从数据源中获取目标数据,并将目标数据返回至终端设备110。在本实施例中,服务器120中存储有数据源。
当然数据查询系统也可以包括终端设备110,本申请的数据查询方法也可以由终端设备110独立完成,且终端设备110存储有数据源。终端设备110接收用户在查询配置界面的配置操作,生成用户自定义的图形表示的查询实例,根据该查询实例在底层生成对应的树形数据结构的查询配置文件。终端设备110对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句,执行数据库查询语句以从数据源中获取目标数据。
图2为本申请一实施例中数据查询方法的流程示意图。参考图2,以该方法应用在图1中的数据查询系统为例进行说明。该数据查询方法包括以下步骤S100-S300。
S100:获取用户自定义的树形数据结构的查询配置文件。
具体地,查询配置文件是用户在可视化的查询配置界面通过自定义生成的。查询配置文件是用户根据实际需求,通过终端设备中安装的查询配置应用配置的数据查询条件的数据描述。查询配置文件用于配置查询目标数据的查询配置参数,查询配置参数包括目标字段(查询条件字段)和查询条件以及查询条件之间的逻辑关系。查询配置应用可以以应用程序的形式安装于终端设备,也可以以web网页的形式供用户访问。
本申请实施例通过可视化的查询配置界面接收用户的配置操作,生成并显示用户自定义的图形表示的查询实例,并在后端底层自动生成查询实例对应的树形数据结构的查询配置文件。
当然也可以通过编写代码的方式生成树形数据结构的查询配置文件。
树形数据结构的查询配置文件可以是树形结构的Json格式数据。
S200:对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句。
具体地,树形数据结构的查询配置文件是数据库引擎无法执行的语句,需要将树形数据结构的查询配置文件转换为标准的数据库查询语句,才能够被数据库引擎有效执行,以筛选出目标数据。数据库查询语句具体可以为SQL查询语句。
S300:执行数据库查询语句以从数据源中获取目标数据。
具体地,数据库引擎调用脚本解析引擎,对数据库查询语句进行解析,并执行以从数据源中过滤出目标数据。数据库引擎安装于终端设备或服务器中。
本申请的数据查询方法的执行主体可以是终端设备,也可以是终端设备和服务器协作完成。当执行主体为终端设备时,终端设备中安装有数据库引擎且存储有数据源。终端设备执行步骤S100-S300。当执行主体为终端设备和服务器时,终端设备获取用户通过可视化的查询配置界面自定义的树形数据结构的查询配置文件后通过网络发送至服务器。服务器接收到查询配置文件后执行步骤S200-S300得到目标数据,并将目标数据返回至终端设备。终端设备可以向用户展示目标数据。其中,服务器可以是数据源所对应的业务系统的服务器,也可以是区别于业务系统的服务器的第三方服务器。
本申请实施例用户通过可视化的查询配置界面自定义的树形数据结构的查询配置文件,因此,不需要编写查询代码,且生成的查询配置文件通过查询配置界面可以再次编辑修改,实现了查询条件的更新,进而实现了动态查询。且,本申请的查询配置文件是在终端设备(本地端)中生成的,对于一些大型业务系统而言,不会造成系统干扰,因此,一定程度保障了业务系统的稳定性和安全性。解决企业运营系统和大数据分析系统中需要对业务表设置基本过滤及且或动态条件过滤和函数过滤等问题,方便企业运营人员根据各自交互场景设置查询条件,从而得出有效分析数据。
在一个实施例中,步骤S100具体包括以下步骤:
显示查询配置界面,查询配置界面包括预置的多种控件;
获取并显示数据源中的候选字段;
根据用户在查询配置界面对目标字段和目标控件的配置操作,生成可视化的查询实例;
根据查询实例中查询条件的描述以及查询条件之间的逻辑关系的描述生成对应的树形数据结构的查询配置文件;
其中,每个查询条件由对应的目标字段、目标功能控件、以及目标功能控件的填充数据生成。
具体地,目标字段包括查询结果字段和查询条件字段,且,目标字段包括从候选字段选取的字段和/或根据候选字段自定义的字段。目标控件是从多种控件中选取的。
生成查询配置文件相当于创建过滤器,即配置数据的筛选条件或过滤条件或查询条件,而这些条件中需要指定目标字段,以从数据源中查询出根据目标字段设置的过滤条件筛选出的目标数据。目标字段必须是数据源中的字段或根据数据源产生的字段。因此,需要读取数据源,从数据源中提取出候选字段,在查询配置界面展示候选字段。数据源是以数据库形式存储数据的。因此,可以从数据源中直接提取出表字段。当然,还可以根据表字段聚合成新的指标字段,因此候选字段包括了表字段和指标字段。
目标字段选取后,需要为每个查询结果字段设置查询条件,查询条件包括了查询条件字段和对查询条件字段的约束条件,因此,需要将目标字段与目标功能组件组合,目标功能组件用于为查询条件字段设置字段条件。例如,用来筛选符合字段条件的数据,比如人员信息表中查询条件字段选择”姓名”,条件选择“包含”文本框值填“王”,则会查询数据库中姓名包含王姓的所有人员信息数据。
接收用户的查询配置请求,根据该查询配置请求启动数据查询应用,展示查询配置界面。该查询配置请求可以是通过接收用户打开数据查询应用、新建查询实例生成的。数据查询应用是供用户自定义数据过滤器即查询配置文件的应用程序。查询配置界面是一种图形用户界面GUI,查询配置界面显示有多种控件,每种控件是一个图形元素,且每种控件可以被拖动、被复制、被组合使用。
数据源中的数据是以数据库形式存储的。因此终端设备可以从数据源中获取到数据源的候选字段。如果数据源存储在终端设备中,则终端设备可以直接从数据源中提取出候选字段并显示。如果数据源存储在服务器中,则终端设备需向服务器请求获取数据源中的候选字段并显示;此情况下,需要在终端设备中配置数据源的基本信息例如数据源的获取方式或地址,以便能够加载并获取到数据源的候选字段。显示数据源的候选字段,方便用户有目的性的根据候选字段设置查询条件。候选字段的展现方式可以抽象为文本类型、下拉框文本选择类型等形式。
用户通过可视化的查询配置界面,可以从多种控件中任意选择目标控件,对选择的目标控件执行复制、删除、拖动、数据填充等操作,还可以从候选字段中选择查询条件字段和/或查询结果字段作为目标字段,还可以自定义查询结果字段。用户通过对目标控件、目标字段进行自定义和组合,可以形成查询条件的描述和查询条件之间的逻辑关系描述,进而得到图形表示的查询实例。
查询实例实质是一种查询模板,以图形形式显示在查询配置界面上,用于查询条件的描述和查询条件之间的逻辑关系的描述。更具体地,是一种查询条件和查询条件之间逻辑关系的图形化描述。每个查询条件根据对应的目标字段、目标控件、目标控件的填充数据生成。对查询实例进行修改可以更改其底层的查询配置文件。
数据查询应用中的控件库包含多种控件及每种控件对应的逻辑代码,因此,本申请实施例不需要编写代码,用户只需要简单明了地通过对控件和字段进行配置,以图形元素的方式表示出各个查询条件的图形表示即可生成底层的树形数据结构的配置文件。本申请实施例通过可视化界面自定义查询配置文件,实现了动态数据查询和过滤,简单方便,对用户的专业要求不高,适用范围广。
在一个实施例中,多种控件包括功能控件和连接控件。
根据用户在查询配置界面对目标字段和目标控件的配置操作,生成可视化的查询实例,包括:
响应于用户在查询配置界面对目标字段的选取操作和/自定义操作、对目标字段中查询条件字段和查询结果字段的组合操作、对查询条件字段的目标功能控件的第一配置操作、对每个目标功能控件的填充数据的第二配置操作,生成每个查询结果字段对应的查询条件的描述,
响应于用户在查询配置界面对查询条件之间的目标连接控件的选取和第三配置操作,生成查询条件之间的逻辑关系的描述。
具体地,目标字段包括查询结果字段和查询条件字段,查询条件字段是从候选字段中选取的,查询结果字段可以是从候选字段中选取的也可以是用户自定义的。目标功能控件和目标连接控件是从多种控件中选择的。
用户在查询配置界面上从候选字段中选择或自定义查询结果字段,并为每个查询结果字段配置对应的查询条件字段,为每个查询条件字段配置对应的目标功能控件。
当自定义查询结果字段时可以选取功能控件中用于定义字段的第一功能控件,该第一功能控件可以接收并显示用户输入的数据,更具体地,第一功能控件可以为输入框。
目标功能控件为功能控件中用于定义查询条件字段的查询条件的第二功能控件。目标功能控件可以包括文本框类型、下拉框类型、日期类型、日期区间类型、枚举类型、复选框枚举类型等。下拉框类型可以包括操作符例如:大于、小于、大于等于、小于等于、相似、介于、包含、不包含、属于等。下拉框类型还可以包括类型选择,例如:固定值、取值范围等。文本框支持填写数值、文本、逻辑表达式、函数、公式等。
例如一个查询条件,学生筛选:年龄介于10<值<20。其中,学生筛选为查询结果字段,年龄为查询条件字段,介于10<值<20为目标功能控件。其中,介于可以是下拉框类型,10、20可以是下拉框类型也可以是文本框类型,<可以为下拉框类型。
再例如一个查询条件,访问次数统计日期属于2021-6-16。其中,访问次数统计为查询结果字段,日期为查询条件字段,属于2021-6-16为目标功能控件。其中,属于可以是下拉框类型,2021-6-16可以是文本框或输入框类型,也可以是日期类型。
再例如一个查询条件,销量最高的产品销量满足MAX(SUM(销量))。其中,销量最高的产品为查询结果字段,销量为查询条件字段,MAX(SUM(销量))为目标功能控件,该目标功能控件支持函数和逻辑表达式。
本申请实施例支持与或非逻辑组合条件、数学运算表达式和函数,支持用户设置高级过滤条件,实现了动态查询和函数查询。
在一个实施例中,根据查询实例中查询条件的描述、查询条件之间的逻辑关系的描述生成对应的树形数据结构的查询配置文件,包括:
根据查询实例中查询条件的描述生成对应的叶子节点的配置数据;
根据查询实例中查询条件之间的逻辑关系的描述确定叶子节点之间的层级关系;
根据层级关系,从根节点开始生成各个叶子节点,将配置数据载入对应的叶子节点,以构建树形数据结构的查询配置文件。
具体地,每个控件在底层逻辑中有对应的规范描述,规范描述具体是以一种编程语言呈现。用户对目标控件的具体属性设置例如数据填充的设置决定了每个叶子节点的配置数据。选取目标控件后对目标控件设置填充数据,相当于是将填充数据传递给选取的目标控件所对应的逻辑代码。用户通过查询配置界面生成查询实例,实质是为底层提供表述结构树的输入。底层根据每个查询条件对应的目标控件的逻辑代码结合目标字段生成对应的配置数据。配置数据是以规范描述形式存储。例如,设置一个查询条件为“访问次数”“介于100-200之间”,则该叶子节点的配置数据为筛选出访问次数在100-200之间的数据。
根据查询条件的个数确定叶子节点的个数,按照层级关系,从根节点开始依次生成各个叶子节点,并将配置数据载入对应的叶子节点。所有叶子节点构成了标准结构树。
当然,还可以根据叶子节点的个数和层级关系生成一棵具有相同个数的叶子节点且叶子节点之间具有相同的层级关系的标准结构树,该标准结构树具体可以为二叉树,根据预设的第二遍历规则,将配置数据分别载入对应的叶子节点中。
叶子节点之间的层级关系包含叶子节点之间的上下级关系,根据数据结构可知,从树形结构数据中的根节点开始到最后一个没有子节点的叶子节点,根节点具有子节点;最底层的叶子节点不具有子节点,但是有父节点;其他叶子节点一定具有父节点,但是可能具有子节点,可能不具有子节点。
查询配置文件定义了目标字段、查询条件,且,目标字段和查询条件组成了多个叶子节点对应的配置数据,叶子节点之间以一定的层级关系组成树形数据结构。每个查询条件相当于是一个叶子节点。查询条件之间可以是“and”、“且”、“和”的层级关系,也可以是“or”、“或”的层级关系。
本申请实施例根据查询条件之间的层级关系,将对应的叶子节点以结构树的形式载入,生成树形数据结构的查询配置文件。该查询配置文件中包含所有查询条件对应的叶子节点,且叶子节点之间按照结构树的形式关联,每个叶子节点中存储有对应的配置数据。配置数据是根据对应的目标字段、目标控件的规范描述生成的编程语言。
查询配置文件是对可视化操作界面的查询实例中查询条件、查询条件之间的逻辑关系的编程数据描述,二者具有映射关系。
在一个实施例中,获取并显示数据源中的候选字段,包括:
加载数据源,从数据源中提取表维度字段;
基于聚合函数和预设的聚合规则,根据提取的表维度字段生成指标字段;
将表维度字段和指标字段作为候选字段显示于查询配置界面。
具体地,数据源是以数据库形式存储数据的。因此,可以从数据源中直接提取出表字段。当然,还可以根据表字段聚合成新的指标字段,因此候选字段包括了表字段和指标字段。聚合函数可以是默认的,例如SUM求和、AVG求均值,也可以是用户指定的。
在一个实施例中,步骤S200具体包括以下步骤:
读取树形数据结构的查询配置文件;
根据预设的第一遍历规则,遍历树形数据结构的查询配置文件中的各个叶子节点,解析每个目标叶子节点中的配置数据得到对应的数据库子查询语句,
其中,目标叶子节点为与至少一个其他叶子节点存在层级关系的叶子节点;
将所有数据库子查询语句按照目标叶子节点之间的层级关系组成数据库查询语句。
具体地,第一遍历规则与上述的第二遍历规则可以相同也可以不同。
预设的第一遍历规则具体是一种遍历算法,可以为先根次序遍历二叉树、中根次序遍历二叉树和后根次序遍历二叉树中的一种。
更具体地,第一遍历规则可以为先访问根结点、再遍历左子树、最后遍历右子树的遍历方式。
第一遍历规则可以为先遍历左子树、再访问根结点、最后遍历右子树的遍历方式。
第一遍历规则可以为先遍历左子树、再遍历右子树、最后访问根结点的遍历方式。
第一遍历规则可以为先访问根结点、再遍历右子树、最后遍历左子树的遍历方式。
第一遍历规则可以为先遍历右子树、再访问根结点、最后遍历左子树的遍历方式。
第一遍历规则可以为先遍历右子树、再遍历左子树、最后访问根结点的遍历方式。
更具体地,读取树形数据结构的查询配置文件,定位根节点,根据第一遍历规则从根节点开始遍历各个叶子节点。在遍历过程中每遍历到一个当前叶子节点,都要判断该当前叶子节点是否存在上一叶子节点或下一叶子节点。如果该当前叶子节点与任意一个其他叶子节点都不存在层级关系,则该当前叶子节点是孤立的节点,不需要解析,因为其不存在配置数据。如果当前叶子节点与至少一个其他叶子节点存在层级关系,则该当前叶子节点不是孤立的节点,需要解析出配置数据得到对应的数据库查询语句。数据库查询语句具体为标准DML语句,支持Oracle、Mysql、Postgre。
对孤立节点的判断可以尽量避免对意外产生的孤立节点进行数据解析造成对整个数据库查询语句的干扰。
在一个实施例中,查询配置文件包括由目标字段生成的查询条件。
步骤S300具体包括以下步骤:
根据目标字段确定数据源中的目标数据表,
执行数据库查询语句以从目标数据表中获取目标数据。
具体地,数据源可能存在大量的数据,而本申请用户根据需求自定义查询配置文件,而在自定义过程中已经定义了要查询的目标字段,因此,根据目标字段可以筛选出目标数据表。如果是查找目标字段以外的其他字段的数据,则目标数据表为不包含目标字段的其他数据表;如果查找目标字段对应的数据,则目标数据表为包含目标字段的数据表。这样可以缩小数据查找范围,加快查询速度。
在一个实施例中,步骤S300包括以下步骤:
向服务器发送查询请求,查询请求携带数据库查询语句和数据源的唯一标识;
接收服务器端返回的通过执行数据库查询语句从数据源标识对应的数据源中获取的目标数据。
具体地,本实施例具体的执行查询的步骤可以在服务器执行。此时,终端设备与服务器形成一个数据查询系统,服务器安装有过滤器引擎。服务器还是自身业务系统的服务器,存储有数据源。此情况,服务器是一个业务系统自带的服务器,一般不会对外开放。
本实施例终端设备不执行数据查询操作,而是调用外部服务器的过滤器引擎接口来执行的。客户终端不需要配置数据源,服务器根据数据源的唯一标识可以获取到数据源。且,客户端也可以向服务器请求获取数据源的候选字段。此种情况,服务器端是一个开放的服务器,可以供有权限的终端设备使用。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请对于大型企业平台需要对接业务系统数据分析时可引入过滤器引擎技术,方便自行处理。支持提供接口使用,也支持集成界面配置使用,多种选择方案。通过界面配置支持不同业务数据库下的数据过滤。可扩展函数,用户自定义过滤包。支持与或非逻辑组合条件及数学运算表达式。安装部署方便,不需要其他依赖,只需要安装配置库及对应程序包即可使用。本申请可提供服务形式无偶对接,具有标准数据格式,及支持前端系统调用也支持后端业务直接对接,这样系统就可以动态实时的对指定数据源进行标准化处理。
图3为本申请一实施例中数据查询装置的结构框图。参考图3,该装置包括:
查询配置获取模块100,用于获取用户自定义的树形数据结构的查询配置文件,查询配置文件是用户在可视化的查询配置界面通过自定义生成的;
转换模块200,用于对树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句;
执行模块300,用于执行数据库查询语句以从数据源中获取目标数据。
在一个实施例中,查询配置获取模块100具体包括:
显示模块,用于显示查询配置界面,查询配置界面包括预置的多种控件;
字段获取模块,用于获取并显示数据源中的候选字段;
查询实例生成模块,用于根据用户在查询配置界面对目标字段和目标控件的配置操作,生成可视化的查询实例;
其中,目标字段包括查询结果字段和查询条件字段,且,目标字段包括从候选字段选取的字段和/或根据候选字段自定义的字段,
目标控件是从多种控件中选取的;
配置文件生成模块,用于根据查询实例中查询条件的描述以及查询条件之间的逻辑关系的描述生成对应的树形数据结构的查询配置文件;
其中,每个查询条件根据对应的目标字段、目标控件以及目标控件的填充数据生成。
在一个实施例中,多种控件包括功能控件和连接控件;
查询实例生成模块,具体包括:
查询条件生成模块,用于响应于用户在查询配置界面对目标字段的选取操作和/或自定义操作、对目标字段中查询条件字段和查询结果字段的组合操作、对每个查询条件字段的目标功能控件的第一配置操作、对每个目标功能控件的填充数据的第二配置操作,生成每个查询结果字段对应的查询条件的描述,
逻辑关系生成模块,用于响应于用户在查询配置界面对查询条件之间的目标连接控件的选取和第三配置操作,生成查询条件之间的逻辑关系的描述。
在一个实施例中,配置文件生成模块具体包括:
配置数据生成模块,用于根据查询实例中查询条件的描述生成对应的叶子节点的配置数据;
层级关系确定模块,用于根据查询实例中查询条件之间的逻辑关系的描述确定叶子节点之间的层级关系;
树形数据构建模块,用于根据层级关系,从根节点开始生成各个叶子节点,将配置数据载入对应的叶子节点,以构建树形数据结构的查询配置文件。
在一个实施例中,字段获取模块具体包括:
提取模块,用于加载数据源,从数据源中提取表维度字段;
字段合成模块,用于基于聚合函数和预设的聚合规则,根据提取的表维度字段生成指标字段;
字段确定模块,用于将表维度字段和指标字段作为候选字段显示于查询配置界面。
在一个实施例中,转换模块200具体包括:
读取模块,用于读取树形数据结构的查询配置文件;
遍历解析模块,用于根据预设的第一遍历规则,遍历树形数据结构的查询配置文件中的各个叶子节点,解析每个目标叶子节点中的配置数据得到对应的数据库子查询语句,
其中,目标叶子节点为与至少一个其他叶子节点存在层级关系的叶子节点;
组合模块,用于将所有数据库子查询语句按照目标叶子节点之间的层级关系组成数据库查询语句。
在一个实施例中,查询配置文件包括由目标字段生成的查询条件;
执行模块300具体包括:
数据表查找模块,用于根据目标字段确定数据源中的目标数据表,
数据查询模块,用于执行数据库查询语句以从目标数据表中获取目标数据。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于数据查询装置的具体限定可以参见上文中对于数据查询方法的限定,在此不再赘述。上述数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图4为本申请一实施例中计算机设备的内部结构框图。该计算机设备具体可以是图1中的终端设备或服务器。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现数据查询方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行数据查询方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中数据查询方法的步骤,例如图2所示的步骤S100至步骤S300及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机可读指令时实现上述实施例中数据查询装置的各模块/单元的功能,例如图3所示模块100至模块300的功能。为避免重复,这里不再赘述。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
存储器可以集成在处理器中,也可以与处理器分开设置。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中数据查询方法的步骤,例如图2所示的步骤S100至步骤S300及该方法的其它扩展和相关步骤的延伸。或者,计算机可读指令被处理器执行时实现上述实施例中数据查询装置的各模块/单元的功能,例如图3所示模块100至模块300的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
获取用户自定义的树形数据结构的查询配置文件,所述查询配置文件是用户在可视化的查询配置界面通过自定义生成的;
对所述树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句;
执行所述数据库查询语句以从数据源中获取目标数据。
2.根据权利要求1所述的方法,其特征在于,所述获取用户自定义的树形数据结构的查询配置文件,包括:
显示查询配置界面,所述查询配置界面包括预置的多种控件;
获取并显示所述数据源中的候选字段;
根据用户在查询配置界面对目标字段和目标控件的配置操作,生成可视化的查询实例;其中,所述目标字段包括查询结果字段和查询条件字段,且,所述目标字段包括从所述候选字段选取的字段和/或根据所述候选字段自定义的字段,所述目标控件是从所述多种控件中选取的;
根据所述查询实例中查询条件的描述以及查询条件之间的逻辑关系的描述生成对应的树形数据结构的查询配置文件;
其中,每个所述查询条件根据对应的目标字段、目标控件、以及所述目标控件的填充数据生成。
3.根据权利要求2所述的方法,其特征在于,所述多种控件包括功能控件和连接控件;
所述根据用户在查询配置界面对目标字段和目标控件的配置操作,生成可视化的查询实例,包括:
响应于用户在所述查询配置界面对目标字段的选取操作和/或自定义操作、对所述目标字段中查询条件字段和查询结果字段的组合操作、对每个所述查询条件字段的目标功能控件的第一配置操作、对每个所述目标功能控件的填充数据的第二配置操作,生成每个查询结果字段对应的查询条件的描述,
响应于用户在所述查询配置界面对所述查询条件之间的目标连接控件的选取和第三配置操作,生成所述查询条件之间的逻辑关系的描述。
4.根据权利要求2所述的方法,其特征在于,所述根据所述查询实例中查询条件的描述、查询条件之间的逻辑关系的描述生成对应的树形数据结构的查询配置文件,包括:
根据所述查询实例中查询条件的描述生成对应的叶子节点的配置数据;
根据所述查询实例中查询条件之间的逻辑关系的描述确定叶子节点之间的层级关系;
根据所述层级关系,从根节点开始生成各个所述叶子节点,将配置数据载入对应的叶子节点,以构建树形数据结构的查询配置文件。
5.根据权利要求2所述的方法,其特征在于,所述获取并显示所述数据源中的候选字段,包括:
加载数据源,从所述数据源中提取表维度字段;
基于聚合函数和预设的聚合规则,根据提取的表维度字段生成指标字段;
将所述表维度字段和指标字段作为候选字段显示于所述查询配置界面。
6.根据权利要求4所述的方法,其特征在于,所述对所述树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句,包括:
读取所述树形数据结构的查询配置文件;
根据预设的第一遍历规则,遍历所述树形数据结构的查询配置文件中的各个叶子节点,解析每个目标叶子节点中的配置数据得到对应的数据库子查询语句,
其中,所述目标叶子节点为与至少一个其他叶子节点存在层级关系的叶子节点;
将所有数据库子查询语句按照目标叶子节点之间的层级关系组成数据库查询语句。
7.根据权利要求1所述的方法,其特征在于,所述查询配置文件包括由目标字段生成的查询条件;
所述执行所述数据库查询语句以从数据源中获取目标数据,包括:
根据所述目标字段确定所述数据源中的目标数据表,
执行所述数据库查询语句以从所述目标数据表中获取目标数据。
8.一种数据查询装置,其特征在于,所述装置包括:
查询配置获取模块,用于获取用户自定义的树形数据结构的查询配置文件,所述查询配置文件是用户在可视化的查询配置界面通过自定义生成的;
转换模块,用于对所述树形数据结构的查询配置文件进行解析转换,以得到对应的数据库查询语句;
执行模块,用于执行所述数据库查询语句以从数据源中获取目标数据。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-7任一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742573.1A CN113420044A (zh) | 2021-06-30 | 2021-06-30 | 数据查询方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110742573.1A CN113420044A (zh) | 2021-06-30 | 2021-06-30 | 数据查询方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113420044A true CN113420044A (zh) | 2021-09-21 |
Family
ID=77717897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742573.1A Pending CN113420044A (zh) | 2021-06-30 | 2021-06-30 | 数据查询方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420044A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741407A (zh) * | 2022-04-25 | 2022-07-12 | 北京字跳网络技术有限公司 | 条件查询方法、装置和电子设备 |
CN114944210A (zh) * | 2022-04-24 | 2022-08-26 | 医渡云(北京)技术有限公司 | 数据处理方法及装置、计算机可读存储介质、电子设备 |
CN115168399A (zh) * | 2022-09-06 | 2022-10-11 | 北京永洪商智科技有限公司 | 基于图形化界面的数据处理方法、装置、设备及存储介质 |
CN115221249A (zh) * | 2022-09-20 | 2022-10-21 | 金蝶软件(中国)有限公司 | 跨库数据查询方法、装置、计算机设备和存储介质 |
CN116150436A (zh) * | 2023-04-14 | 2023-05-23 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与系统 |
CN116756184A (zh) * | 2023-08-17 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083287A1 (en) * | 2007-09-21 | 2009-03-26 | Universities Space Research Association (Usra) | Systems and methods for an extensible business application framework |
CN102163223A (zh) * | 2011-04-02 | 2011-08-24 | 锐词文化发展(北京)有限公司 | 一种后台数据自助式查询方法和装置 |
CN106484699A (zh) * | 2015-08-25 | 2017-03-08 | 北京国双科技有限公司 | 数据库查询字段的生成方法及装置 |
CN106843844A (zh) * | 2016-12-26 | 2017-06-13 | 南威软件股份有限公司 | 一种自定义视图的展示装置 |
CN112035510A (zh) * | 2020-08-28 | 2020-12-04 | 中电长城(长沙)信息技术有限公司 | 一种信息系统复杂数据查询方法及系统 |
CN112100200A (zh) * | 2020-09-27 | 2020-12-18 | 四川长虹电器股份有限公司 | 一种基于维度模型自动化生成sql语句的方法 |
-
2021
- 2021-06-30 CN CN202110742573.1A patent/CN113420044A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083287A1 (en) * | 2007-09-21 | 2009-03-26 | Universities Space Research Association (Usra) | Systems and methods for an extensible business application framework |
CN102163223A (zh) * | 2011-04-02 | 2011-08-24 | 锐词文化发展(北京)有限公司 | 一种后台数据自助式查询方法和装置 |
CN106484699A (zh) * | 2015-08-25 | 2017-03-08 | 北京国双科技有限公司 | 数据库查询字段的生成方法及装置 |
CN106843844A (zh) * | 2016-12-26 | 2017-06-13 | 南威软件股份有限公司 | 一种自定义视图的展示装置 |
CN112035510A (zh) * | 2020-08-28 | 2020-12-04 | 中电长城(长沙)信息技术有限公司 | 一种信息系统复杂数据查询方法及系统 |
CN112100200A (zh) * | 2020-09-27 | 2020-12-18 | 四川长虹电器股份有限公司 | 一种基于维度模型自动化生成sql语句的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114944210A (zh) * | 2022-04-24 | 2022-08-26 | 医渡云(北京)技术有限公司 | 数据处理方法及装置、计算机可读存储介质、电子设备 |
CN114741407A (zh) * | 2022-04-25 | 2022-07-12 | 北京字跳网络技术有限公司 | 条件查询方法、装置和电子设备 |
CN115168399A (zh) * | 2022-09-06 | 2022-10-11 | 北京永洪商智科技有限公司 | 基于图形化界面的数据处理方法、装置、设备及存储介质 |
CN115221249A (zh) * | 2022-09-20 | 2022-10-21 | 金蝶软件(中国)有限公司 | 跨库数据查询方法、装置、计算机设备和存储介质 |
CN116150436A (zh) * | 2023-04-14 | 2023-05-23 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与系统 |
CN116150436B (zh) * | 2023-04-14 | 2023-08-08 | 北京锐服信科技有限公司 | 一种基于节点树的数据展示方法与系统 |
CN116756184A (zh) * | 2023-08-17 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
CN116756184B (zh) * | 2023-08-17 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113420044A (zh) | 数据查询方法、装置、设备和存储介质 | |
US11232139B2 (en) | Custom interactions with visualizations | |
US10860603B2 (en) | Visualization customization | |
EP2573699B1 (en) | Identity information de-identification device | |
CN106126569B (zh) | 一种快速数据服务方法及系统 | |
CN108388622B (zh) | Api接口动态生成方法、装置、计算机设备及存储介质 | |
CN105511873B (zh) | 用户界面控件展示方法及装置 | |
CN106843844B (zh) | 一种自定义视图的展示装置 | |
US20200004865A1 (en) | Autolayout of visualizations based on contract maps | |
AU2020298056B2 (en) | Autolayout of visualizations based on graph data | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
US9147040B2 (en) | Point-in-time query system | |
US11372826B2 (en) | Dynamic inclusion of custom columns into a logical model | |
US20120173522A1 (en) | Field extensibility for analytical reports | |
US20240256576A1 (en) | Data processing system with manipulation of logical dataset groups | |
KR101150121B1 (ko) | 객체 및 엔터티의 표현을 구성하기 위한 방법 및 객체 표현 시스템 | |
CN112257005A (zh) | 一种表单组件生成方法及装置 | |
US10635458B2 (en) | Systems and methods for generating a self-updating maintenance page | |
CN115617338A (zh) | 一种业务页面快速生成方法、装置及可读存储介质 | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
US11842229B2 (en) | System and method for designing and developing application programming interface | |
CN117215543B (zh) | 适用于不同业务场景类型的组件开发方法及其对应的系统 | |
US20240015163A1 (en) | Tenant configuration state extraction and variance detection | |
US20220245154A1 (en) | Techniques for managing data in a data processing system using data entities and inheritance | |
CN115438113A (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 |