公开/公告号CN112749222A
专利类型发明专利
公开/公告日2021-05-04
原文格式PDF
申请/专利权人 北京睿企信息科技有限公司;日照睿安信息科技有限公司;
申请/专利号CN202110065021.1
申请日2021-01-18
分类号G06F16/25(20190101);G06F16/2455(20190101);G06F16/248(20190101);
代理机构11210 北京纽乐康知识产权代理事务所(普通合伙);
代理人田磊
地址 100013 北京市东城区和平路北街6号6号楼一层101室
入库时间 2023-06-19 10:51:07
技术领域
本发明涉及计算机技术领域,具体来说,涉及一种支持动态参数的关系型数据库查询方法和装置。
背景技术
现有技术中,传统数据库无法做到动态查询,查询条件较为固定,查询数据库往往需要明确指定所有参数,指定正确的数据源,确定查询命令才能够进行查询,这在某些特殊条件下或多数据源条件下会带来一些额外的工作量,做出各种情况的适配,从而降低了工作效率。
目前市面上没有太过于明确的解决方案,基本都需要在代码中进行处理,且依赖于已知的数据条件,无法做到智能以及灵活,且缺少对大型数据平台的支持。
发明内容
针对相关技术中的上述技术问题,本发明提出一种支持动态参数的关系型数据库查询方法和装置,能够克服现有技术方法的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种支持动态参数的关系型数据库查询方法,包括:用户在数据源动态查询服务中按照不同的数据源做针对性开发,集成操作对应数据源的能力;动态查询服务集成到大数据处理平台,通过注册模块的方式来提供动态查询的功能;以不同种类的数据源作为不同的api接口,在数据处理平台注册成不同的模块,配置不同的参数;进行使用动态查询,用户在动态查询模块上游按照不同的业务逻辑生成不同的动态参数,并将动态参数传递给下游的动态数据查询模块;上游参数生成成功后会覆盖动态查询模块的同名参数,程序会使用配置好的数据源参数与查询语句参数在当前数据源进行结果查询;查询时会记录用户的查询结果成功或者失败,并记录用户的查询参数,数据返回结果,用户可在执行完成后进行界面可视化的查看,确认本次查询结果;查询任务结束后,可通过在数据平台上进行确认最终的查询结果是否正确。
根据本发明的另一方面,提供了一种支持动态参数的关系型数据库查询装置,包括注册模块、动态查询模块、动态数据查询模块和动态配置模块,其中,注册模块,对新增的数据源进行注册,并配置相关对应信息;动态查询模块,根据不同的业务逻辑生成不同的动态参数,查询时记录用户查询结果、参数和数据返回结果;动态数据查询模块,覆盖传递过来的动态参数的同名参数。动态配置模块,配置动态数据源和动态查询条件,对目标数据库和数据源新型查询。
本发明的有益效果为:通过对动态参数对配置查询条件进行动态目标数据库查询,将服务功能模块化、参数化以及流程可视化,且服务能够按照不同的数据源进行不同的模块注册,进而达到在工作和生产过程中使用该功能,能够极大的提升工作效率,减少重复工作项,且整体流程可视化、标准化以及易于版本管理,随时能够进行升级更新,不断增加多种数据源,多种数据类型,降低了用户使用的门槛和处理数据的复杂程度,提供了在任何环境和任何数据库下完成动态的数据查询。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的支持动态参数的关系型数据库查询的方法的查询语句条件中动态参数为上游传入的name列示意图。
图2是根据本发明实施例所述的支持动态参数的关系型数据库查询的方法的上游传入下游两步骤示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例所述的一种支持动态参数的关系型数据库查询的方法,包括:以不同种类的数据源作为不同的api接口,在数据处理平台注册成不同的模块,配置不同的参数;
使用动态查询时,用户在动态数据查询模块上游按照不同的业务逻辑生成不同的动态参数,并将动态参数传递给下游;
动态数据查询模块按照上游传递过来的参数对相应模块参数进行覆盖;
查询时会记录用户的查询结果成功或失败,并记录用户的查询参数,数据返回结果,用户可在执行完成后进行界面可视化的查看,确认本次查询结果;
动态查询提供了一个专门用于开发和集成各种数据源的服务,服务具备独立性,可控性,容灾性,健壮性;
根据本发明的另一方面,还提供了一种支持动态参数的关系型数据库查询的方法,包括:注册模块,对新增的数据源进行注册,并配置对应的接口与模块名称、模块参数、定义输入输出、使用方式等信息;动态数据查询模块,在上游需要生成动态参数,并传递给动态数据查询模块,根据传递过来的动态参数覆盖此模块的同名参数,程序会使用配置好的数据源参数与查询语句参数在当前数据源进行结果查询。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
用户在数据源动态查询服务中按照不同的数据源做针对性开发,集成操作对应数据源的能力。
在数据平台上对新增的数据源进行注册,配置对应的接口与模块名称、模块参数、定义输入输出、使用方式等信息。
例如,模块名称:MySQL动态传参查询;版本号:1.0.0;模块对应接口:http://......;页面层级路径:Api模块/数据源/MySQL;familyid:mysql_dynamic_parameter_read;模块说明:通过sql语句和传入的数据源信息以及上游的参数结果获取查询结果并写入。参考表1。
表1模块说明
动态查询服务集成到大数据处理平台,通过注册模块的方式来提供动态查询的功能。
以不同种类的数据源作为不同的api接口,在数据处理平台注册成不同的模块,配置不同的参数。
如图1所示,在使用动态查询时,用户在动态查询模块上游按照不同的业务逻辑生成不同的动态参数,并将动态参数传递给下游的动态数据查询模块。
图中下游查询模块MySQL动态传参查询语句为:select name, ” ” as b fromtest_table where name = ‘&&name&&’。
动态数据查询模块按照上游传递过来的参数对相应模块参数进行覆盖。
用户在数据处理平台上点击任务执行,即可提交任务,进行任务的创建和运行。
查询时会记录用户的查询结果成功或失败,并记录用户的查询参数,数据返回结果,用户可在执行完成后进行界面可视化的查看,确认本次查询结果。
动态查询提供了不同参数化的动态配置,可根据不同的参数进行动态调整且支持任何参数的动态查询。
动态数据源配置:用户自定义数据库连接信息,可按照不同的需求去配置不同的连接数据源,动态调整连接的数据库IP、数据库端口、数据库用户名、数据库密码等信息,服务会按照对应的配置信息对目标数据库进行条件查询。
动态查询条件配置:用户自定义查询语句,按照当前数据源的标准语法编写sql,动态调整数据库名称、数据表名称、数据查询的条件等信息,服务会按照对应的查询语句在目标数据源进行查询。
用户在查询任务结束后,可通过在数据平台上进行确认最终的查询结果是否正确,并进行后续的业务处理。
当大型任务时任务会持续运行,并记录查询的时间并将数据查询结果落入数据库。
如图2所示,任务执行成功后用户查询的数据结果将会保存到某一固定数据地址,并支持用户在界面上进行数据可视化的预览每个步骤的结果,预览结果如下。
步骤1的结果预览为:
Total rows:1.
步骤2的结果预览为:
Total rows:1.
若任务执行失败,模块或数据库出现异常,用户也可以根据模块的日志进行问题的定位和确认。
综上所述,借助于本发明的上述技术方案,通过对动态参数对配置查询条件进行动态目标数据库查询,将服务功能模块化、参数化以及流程可视化,且服务能够按照不同的数据源进行不同的模块注册,进而达到在工作和生产过程中使用该功能,能够极大的提升工作效率,减少重复工作项,且整体流程可视化、标准化以及易于版本管理,随时能够进行升级更新,不断增加多种数据源,多种数据类型,降低了用户使用的门槛和处理数据的复杂程度,提供了在任何环境和任何数据库下完成动态的数据查询。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 参数设定支持装置,参数设定支持方法及参数设定支持程序
机译: 一种用于参数远程监控和电网完整性的系统,一套用于参数远程监控和电网完整性的系统以及旨在支持该参数远程监控系统的计算机程序网络
机译: 车辆行驶运动的电控制支持包括在包含固定子模型和动态子模型的数学模型中得出用于支持行驶运动的控制参数