一种基于查询模型的查询方法、查询装置和存储介质与流程

文档序号:30701052发布日期:2022-07-09 19:47阅读:73来源:国知局
一种基于查询模型的查询方法、查询装置和存储介质与流程

1.本技术涉及计算机技术领域,具体涉及一种基于查询模型的查询方法、查询装置和存储介质。


背景技术:

2.目前构建查询模型的难度较大,成本较高,并且查询模型无法脱离底层数据表来构建查询脚本,不能用统一的查询模型来满足复杂的不同查询场景下的查询需求。


技术实现要素:

3.本技术提供一种基于查询模型的查询方法、查询装置和存储介质,能够自适应配置查询模型,适配不同查询数据源的应用需求。
4.为解决上述技术问题,本技术采用的技术方案是:提供一种基于查询模型的查询方法,该方法包括:对查询要素进行自定义配置,得到查询模型;获取查询模型的配置信息以及查询数据源;基于配置信息以及查询数据源,构建出查询数据源支持的查询代码;在接收到查询操作后运行查询代码,得到查询结果数据。
5.为解决上述技术问题,本技术采用的另一技术方案是:提供一种查询装置,查询装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的基于查询模型的查询方法。
6.为解决上述技术问题,本技术采用的又一技术方案是:提供一种计算机可读存储介质,其用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的基于查询模型的查询方法。
7.通过上述方案,本技术的有益效果是:对查询要素进行自定义配置,构建出查询模型,然后根据查询模型的配置信息以及查询数据源,自适应构建出查询数据源支持的查询代码,从而在接收到查询操作后运行查询代码,得到查询结果数据;本技术提供的方案能够实现查询模型的自定义构建,且在建模过程中无需对查询模型进行编码,能够节约成本,大大提升开发软件和系统的效率,同时能够利用查询模型的配置信息,对不同的查询数据源进行自适应的编码,能够支持各种不用数据源的适配,满足不同的应用场景以及需求,仅支持普通业务系统的查询统计,还支持与大数据引擎的集成,能够搭建出大数据的高性能查询。
附图说明
8.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
9.图1是本技术提供的基于查询模型的查询方法一实施例的流程示意图;
10.图2是本技术提供的配置模块一实施例的示意图;
11.图3是本技术提供的查询模型一实施例的示意图;
12.图4是本技术提供的查询要素的自定义配置方法一实施例的流程示意图;
13.图5是本技术提供的对查询源、查询条件以及查询结果进行配置的示意图;
14.图6是本技术提供的模型列表配置界面的示意图;
15.图7是本技术提供的新增设计图的配置界面的示意图;
16.图8是本技术提供的模型视图配置界面的示意图;
17.图9是本技术提供的查询条件配置界面的示意图;
18.图10是本技术提供的关联配置界面的示意图;
19.图11是本技术提供的查询结果配置界面的示意图;
20.图12是本技术提供的查询模型的可视化界面的示意图;
21.图13是本技术提供的基于查询模型的查询方法另一实施例的流程示意图;
22.图14是本技术提供的查询模型的配置节点示意图;
23.图15是本技术提供的查询装置一实施例的结构示意图;
24.图16是本技术提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
25.下面结合附图和实施例,对本技术作进一步的详细描述。特别指出的是,以下实施例仅用于说明本技术,但不对本技术的范围进行限定。同样的,以下实施例仅为本技术的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
26.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
27.需要说明的是,本技术中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.请参阅图1,图1是本技术提供的基于查询模型的查询方法一实施例的流程示意图,该方法包括:
29.步骤11:对查询要素进行自定义配置,得到查询模型。
30.查询要素为查询模型实现查询功能所需的条件,主要为查询源、查询条件或查询结果等,可通过对查询要素进行自定义配置,能够得到查询模型,从而利用查询模型实现查询功能。
31.在一具体的实施方式中,如图2所示,查询模型可包括查询源模块、查询结果模块、关联模型模块、合并模型模块、查询条件模块、查询项目模块、合并关系模块或关联关系模块等,可通过对上述模块进行自定义配置,从而得到查询模型;具体地,查询源模块可用于描述查询数据的来源,查询结果模块用于展示查询结果数据,关联关系模块可用于描述实体和实体在查询上的关联,合并关系模块可用于描述实体和实体在查询上的合并,查询条件模块可用于描述对查询数据进行筛选的字段条件,查询项目模块可用于描述实体的项目或者实体项目的计算得出的虚拟项目,关联模型模块可用于描述两个实体之间的关联字段,合并模型模块可用于描述两个实体之间的合并字段;进一步地,查询模型可为一个可视化的查询界面,如图3所示,从而使得用户能够根据该可视化的查询界面清晰明了地适应性配置开发出不同查询方案,以将查询模型面向不同的查询场景应用。
32.步骤12:获取查询模型的配置信息以及查询数据源。
33.配置信息可为对查询要素进行配置的配置数据,查询数据源为当前查询操作下所要查询的查询数据的来源,查询数据源可由用户根据当前应用需求进行自定义设置,例如:大数据库;可以理解地,查询数据源还可为大数据库外的其他数据源,在此不作限定。
34.步骤13:基于配置信息以及查询数据源,构建出查询数据源支持的查询代码。
35.由于不同的数据源支持的运行代码的语句格式不同,一般的查询方案无法直接面向多个不同的数据源,而本实例能够通过获取查询模型的配置信息,自适应构建出适合当前查询数据源的查询代码,在构建查询模型时无需编码,则在适配查询数据源时无需对查询模型进行更改,从而能够大大节约成本,同时实现高效开发软件和系统,并且促使软件具有高质量和高适应性的特性,例如:在查询数据源为大数据库时,便能够根据查询模型的配置信息构建出的查询代码便为大数据库支持的查询代码。
36.可以理解地,查询模型还具有极大的灵活性,在将构建出查询模型应用在实际业务场景中时,用户还可根据自身需求对配置信息进行个性调整,能够根据现有的查询模型设计出高度满足各自角色视角的查询方案,从而提高用户的工作舒适度和工作效率。
37.步骤14:在接收到查询操作后运行查询代码,得到查询结果数据。
38.可在接收到用户输入的查询操作后,运行构建出的查询代码,从而得到对应的查询结果数据。
39.本实施例采用的方案能够对查询要素进行自定义配置,构建出查询模型,然后根据查询模型的配置信息以及查询数据源,自适应构建出查询数据源支持的查询代码,从而在接收到查询操作后运行查询代码,得到查询结果数据;能够实现查询模型的自定义构建,且在建模过程中无需对查询模型进行编码,能够节约成本,大大提升开发软件和系统的效率,同时能够利用查询模型的配置信息,对不同的查询数据源进行自适应的编码,能够支持各种不用数据源的适配,满足不同的应用场景以及需求,仅支持普通业务系统的查询统计,还支持与大数据引擎的集成,能够搭建出大数据的高性能查询。
40.请参阅图4,图4是本技术提供的查询要素的自定义配置方法一实施例的流程示意图,可通过对查询要素进行自定义配置,得到查询模型,其中,查询要素主要包括查询源、查询条件以及查询结果,如图5所示,图5为对查询源、查询条件以及查询结果进行配置的一实施例的示意图,该方法包括:
41.步骤41:对查询源进行配置,得到查询数据。
42.查询源可为查询数据的来源,查询源可包括数据库或者历史查询结果数据,即查询源可为兼具数据模型的领域模型或场景模型,其可支持查询模型面向数据库查询,通过对查询源进行配置,便可得到面向应用场景下的查询数据的来源,例如:查询数据可为数据库中的视图、原始表、多个原始表的组合结果或历史查询结果数据等,在实际应用过程中,用户可再根据配置的查询源设定具体的查询数据源,以完成具体的查询操作。
43.步骤42:基于查询数据,配置查询条件。
44.基于查询数据配置查询条件,查询条件可包括固定条件以及可调条件,可基于固定条件对查询数据进行过滤,得到有效查询数据,然后再基于有效查询数据,生成查询结果数据;例如:要构建一个面向于“已完成订单”的查询模型,则此时可设置固定条件为“订单已完成”,从而对查询数据进行筛选处理,将不是查询目标的数据剔除掉,即“订单未完成”的数据,仅保留已完成订单的数据信息,即有效查询数据;可以理解地,固定条件在查询操作执行过程中无法自定义修改,在利用该查询模型进行查询操作时,固定条件都会执行筛选操作,从而得到对后续查询操作有用的有效查询数据;进一步地,还可通过设置固定条件对查询数据进行预处理,将与查询无关的非必要数据过滤掉,从而减少查询操作的任务量。
45.在一实施方式中,可调条件即为用户在执行查询操作时可自定义调参的条件,能够将用户自定义调参后的可调条件作为本次查询操作的筛选条件,从而再根据有效查询数据生成查询结果数据;具体地,可对可调条件进行配置,并在执行查询操作时,获取可调条件的自定义参数;基于自定义参数对有效查询数据进行查询,得到满足可调条件的查询结果数据。
46.例如:在配置阶段,可选择“日期”为可调条件,则在用户执行查询操作时,可自定义输入日期数值区间,从而在执行查询操作时,将有效查询数据中的“日期”在设定的日期数值区间中的数据筛选出来,从而得到查询结果数据。
47.步骤43:对至少两个查询数据进行关联,得到至少两组关联数据。
48.在配置过程中,可对至少两个查询数据进行关联,得到至少两组关联数据,通过建立查询数据之间的关联,能够支持全面的智能查询;具体地,可根据预设关联方式对至少两个查询数据进行关联,预设关联方式可包括内关联、左关联、右关联、外关联或合并,上述关联方式的建立为常规关联操作,在此不作赘述;进一步地,在建立关联时,可选择两两关联的方式,在存在三个查询数据待关联的情况时,可先将两个查询数据建立关联,得到一组关联数据,然后再将该关联数据与剩余的一个查询数据进行关联,以得到最终的关联数据,采用两两关联的方式能够便于模型解析以及数据迭加。
49.可以理解地,可在同一查询源中的不同查询数据之间的建立关联,还可对不同的查询源建立关联,例如:可建立两个查询源之间的合并关系,查询源1包含查询数据1~2,查询源2包含查询数据3~4,则此时将这两个查询源合并,便可得到包含数据1~4的关联数据。
50.步骤44:配置每组关联数据对应的中间查询结果。
51.查询结果为包含查询结果数据的显示列表,可基于预设列表模板对显示列表的列信息进行配置,从而得到中间查询结果,利用显示表格中的列信息展现所要得到的字段结果,列信息包括列的个数以及列的内容;例如:在面向于财务报表的查询模型的构建过程中,查询结果中的列内容可配置为“申请人”或“报销金额”等相关字段,从而在执行查询操
作时,能够将符合查询条件的查询数据中对应的字段数据呈现在显示列表中。
52.进一步地,还可对列的格式进行配置,即利用表达式或函数等方式设置字段数据的呈现效果,还可根据应用需求在查询结果中添加计算列,从而利用计算列对查询结果数据进行数值运算,以在显示列表中呈现运算结果。
53.步骤45:将所有中间查询结果合并,得到查询结果,以完成对查询要素的配置。
54.将所有中间查询结果进行合并,得到最终的查询结果,从而完成对查询要素的配置,通过对每组关联数据设置一个中间查询结果,然后再合并的方式,有利于数据的递归嵌套和组合分析;可以理解地,在一实施方式中,还可对每组关联数据自定义设置不同的查询条件。
55.在一具体的实施方式中,如图6~12所示,可利用可视化的配置界面对对查询源、查询条件以及查询结果进行自定义配置,以得到查询模型,具体地,可通过如图6所示的模型列表配置界面选择新建查询模型,再通过图7所示的新增设计图的配置界面配置查询模型的基本信息,然后在如图8所示的模型视图配置界面中配置查询源,在如图9所示的配置界面对查询字段信息(即查询条件)进行配置,在图10所示的关联配置界面建立查询数据间的关联,最后再通过图11所示的配置界面配置查询结果,从而完成对查询源、查询条件以及查询结果的配置,得到如图12所示的查询模型。
56.本实施例通过对查询源、查询条件以及查询结果的自定义配置,能够实现对查询模型的动态配置,无需在模型构建时无需编码,能够节约成本,大大提高研发效率;而且,还提供了可视化的配置界面,模型构建的过程简单明了,不同的角色人员都能够很好理解和搭建查询方案;此外,由于采用面向应用场景来构建查询模型的方式,客户能够根据自身业务场景进行适应性调整和新查询方案组装,能够应对不同场景的查询界面和查询结果需求,提升应对复杂查询软件开发和需求变更的能力。
57.请参阅图13,图13是本技术提供的基于查询模型的查询方法另一实施例的流程示意图,该方法包括:
58.步骤131:获取查询模型的配置信息以及查询数据源。
59.在得到查询模型之后,可获取查询模型的配置信息以及查询数据源,再根据配置信息以及查询数据源,构建出查询数据源支持的查询代码;具体地,构建出查询数据源支持的查询代码的步骤可如下述步骤132~134所示:
60.步骤132:基于配置节点信息获取查询模型的最终节点信息。
61.配置信息可包括配置节点信息,如图14所示,图14为查询模型的配置节点的可视化视图,图中的每个图标即可代表查询模型的一个配置节点,每个配置节点对应的配置信息即为配置节点信息,最终节点信息即为最后查询结果箭头标识出的图标“查询结果”,也就是中间查询结果合并后得到的查询结果。
62.步骤133:基于最终节点信息与配置信息,构建逻辑树。
63.根据最终节点信息与配置信息构建出逻辑树,以最终节点信息对应的节点为根节点,基于配置信息,采用先序遍历的方法构建逻辑树;具体地,每个配置节点最多对应两个子节点,能够根据配置节点信息构造出二叉树,先访问根节点,再访问左节点,再访问右节点,从而实现递归遍历的过程,最终构建出逻辑树。
64.步骤134:基于逻辑树以及查询数据源,构建出查询数据源支持的查询代码。
65.步骤135:在接收到查询操作后运行查询代码,得到查询结果数据。
66.可根据查询数据源对逻辑树进行编码,获取查询数据源支持的语句格式,从而根据该语句格式适应对逻辑树进行编码,从而得到查询数据源支持的查询代码,然后在接收到用户输入的查询操作之后运行查询代码,得到查询结果数据。
67.本实施例利用获取到的查询建模构建出逻辑树,然后再利用逻辑树得到当前查询数据源支持的查询代码,以执行查询操作,无需对查询建模进行调整,可实现对多种查询数据源的适配,不仅支持普通业务系统的查询统计,也支持大数据库的查询统计,能够面向不同的场景应用,开发不同的场景模型,程序软件基于领域层构建的代码都无需变更,能够节约成本,高效开发软件和系统,并且促使软件具有高质量、高性能以及高适应性的特性。
68.请参阅图15,图15是本技术提供的查询装置一实施例的结构示意图,查询装置150包括互相连接的存储器151和处理器152,存储器151用于存储计算机程序,计算机程序在被处理器152执行时,用于实现上述实施例中的基于查询模型的查询方法。
69.请参阅图16,图16是本技术提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质160用于存储计算机程序161,计算机程序161在被处理器执行时,用于实现上述实施例中的基于查询模型的查询方法。
70.计算机可读存储介质160可以是服务端、u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
71.在本技术所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
72.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
73.另外,在本技术各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
74.以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1