标签的定义可以灵活描述数据表名命名规则,查询时可以根据命名规则动态生成数据表名,即实现动态表名管理,可解决数据分表带来的查询不便。[0060] 1.3对应各业务类型所支持的数据库类型分别设置数据库类型标签,如针对业务所支持的数据库类型Mysql、Oracle、凝思、麒麟,数据库类型标签对应为标签、 标签、标签、标签,标签命名可根据需要调整。将各SQL语句写入各数据库类型标签下,即实现SQL的分库管理,根据业务需要支持的数据库类型,将不同类型的 SQL语句配置到不同的数据库标签内,比如某一业务需要支持MySQL,则将SQL语句写入 标签管理。
[0061] 针对同一种业务需要兼容不同的数据库类型,不同数据库类型其SQL语句有差异的情形,经常遇到的就是时间格式的差异,管理的SQL语句内有带入时间参数的需求,可以将参数填写为“?”号,当需要对某一时间段查询时可调用统一查询接口将时间当做参数传入,即实现 SQL参数管理。
[0062] 二、数据库统一查询
[0063] 本发明的统一查询方法为数据库查询操作提供统一的查询接口,参考图2所示。统一的查询接口可实现包括业务查询、屏蔽数据库差异、参数动态传入、数据按预制输出等功能。
[0064] 基于前述SQL管理文件配置形成的SQL分类管理架构,统一查询方法包括以下内容。
[0065] 2.1业务查询
[0066] 获取目标用户查询请求后,基于查询请求中的业务和数据表动态参数如时间参数,调用统一查询接口,查询接口通过唯一id定位所查询的业务类型。
[0067] 2.2SQL语句获取
[0068] 根据当前系统的数据库类型,定位到相应数据库类型标签下的SQL语句,从而屏蔽了数据库差异。
[0069] 2.3参数动态传入
[0070] 将接口时间参数一一替换SQL语句中缺省的“?”参数,形成完整的SQL语句用于查询。
[0071] 2.4查询结果输出
[0072] 利用完整SQL语句对当前系统执行数据查询操作,得到查询的数据结果,然后按照 内ids和hds属性中预制的返回数据格式,将查询结果数据封装成统一的JSON格式数据返回。
[0073] 以下以查询2019年10月5日所有电站发电量业务为例,该业务存储在MySQL数据中,数据表名为wturSmpEny_day2019,按业务需求配置管理文件,如下:
[0074]
[0075] 程序初始化时加载已配置的管理文件,将配置信息读取到内存中,待之后查询使用。
[0076] 查询过程为:
[0077] 响应于查询请求,调用查询接口传入参数:“test”为管理文件中该业务的id,[“2019-10-05”] 分别对应sql语句中的?号参数。
[0078] 执行接口查询getSqlByID(“test”,[“2019-10-05”]),接口实现步骤如下:
[0079] 1)根据id“test”找到业务类型内容;
[0080] 2)根据时间参数得到完整数据表名:wturSmpEny_day2019;
[0081] 3)根据MySQL数据库类型找到对应的SQL语句;
[0082] 4)将数据表名及传入的其他参数代入到SQL语句中形成完整的SQL语句;
[0083] 5)通过完整的SQL语句查询数据,并组织返回的数据;
[0084] 6)按预制的固定格式返回数据,如下:
[0085]
[0086] 实施例2
[0087] 与实施例1基于相同的发明构思,本实施例为一种SQL语句分类管理及统一查询装置,包括:
[0088] SQL管理文件配置模块,用于根据业务查询需求配置SQL管理文件,包括:针对各业务类型分别配置业务标签及其属性;针对各业务类型所支持的数据库类型分别配置数据库类型子标签及其属性;针对数据库中各业务类型所包括的各数据表分别配置数据表标签及其属性;将SQL语句缺省设置参数值,配置至各业务标签下的各数据库类型子标签下;
[0089] SQL管理文件加载解析模块,用于在数据查询前,加载已配置的SQL管理文件,获取其中的配置信息并保存;
[0090] 查询请求信息获取模块,用于响应于外部输入有查询请求,获取查询请求中的业务类型和数据表参数;
[0091] 数据表定位模块,用于根据已保存的配置信息以及待查询的业务类型和数据表参数,定位到相应业务标签下的数据表标签,得到待查询的数据表属性信息;
[0092] SQL语句获取模块,用于根据已保存的配置信息中待查询业务类型所支持的数据库类型,从相应数据库类型子标签下,获取SQL语句;
[0093] SQL语句补齐模块,用于将待查询的数据表属性信息和数据表参数代入所获取的SQL语句中,得到完整的SQL查询语句;
[0094] 以及数据查询模块,用于利用所得到的SQL语句对当前系统执行数据库查询操作,并返回查询结果。
[0095] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
[0096] 本领域内的技术人员应明白,本
申请的实施例可提供为方法、系统、或
计算机程序产品。因此,本申请可采用完全
硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘
存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0097] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的
流程图和/ 或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/ 或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0098] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0099] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0100] 以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和
权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
高效检索全球专利
专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
申请试用
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。
申请试用
该功能需要专业版企业版VIP权限,您可以:
您也可以联系官方QQ: 2157717237 电话: 13264338900