一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据查询方法、装置、电子设备、介质和程序产品与流程

2022-06-02 04:35:09 来源:中国专利 TAG:

1.本公开总体来说涉及计算机
技术领域
,更具体地讲,涉及一种数据查询方法、装置、电子设备、介质和程序产品。
背景技术
:2.随着业务的发展,往往需要关注业务数据的变化情况,目前主要从诸如mysql、hive和druid等数据库工具的存储中获取相关业务数据,然后基于特定方案展示在可视页面中,供业务方查看和分析。针对上述应用场景,目前线上的实现方案是通过在代码中对用于数据查询的配置进行硬编码,并封装成一个对外开放的接口。对于有数据需求的业务方而言,需要依赖上述对外开放的接口来查询并获取相关的数据。然而,对于上述硬编码的方式而言,为了查询一份特定的数据,往往需要开发一个专门的接口并上线部署,这种方式难以适应多种数据查询场景,并且实现成本高,尤其对于非后端的技术人员而言上手成本高。技术实现要素:3.本公开提供一种数据查询方法、装置、电子设备、介质和程序产品,以至少解决上述相关技术中的问题,也可不解决任何上述问题。4.根据本公开实施例的第一方面,提供一种数据查询方法,包括:通过预设接口读取预设配置,其中,所述预设配置包括第一配置和第二配置,所述第一配置包括预定义的与数据查询相关的动态参数,所述第二配置包括用于获取所述动态参数的真实值的预定义函数;通过执行所述第二配置中的所述预定义函数,获取所述动态参数的真实值;将所述第一配置中的所述动态参数替换为所述真实值,并基于参数替换后的第一配置,执行数据查询。5.可选地,所述预设配置包括预定义的配置名,其中,所述预设接口基于所述配置名读取所述预设配置。6.可选地,所述预设配置存储于配置平台,其中,通过预设接口读取预设配置,包括:响应于所述预设配置被存储于所述配置平台,通过所述预设接口从所述配置平台读取所述预设配置。7.可选地,所述数据查询方法还包括:将所述预设接口读取的所述预设配置映射为可执行的实例,以通过执行所述实例来查询数据。8.可选地,所述第一配置基于所述需要查询的数据库和结构化查询语言来进行编码,其中,所述动态参数利用预设标识来进行表示。9.可选地,所述第二配置基于js对象简谱来进行编码。10.根据本公开实施例的第二方面,提供一种数据查询装置,包括:接口调用单元,被配置为:通过预设接口读取预设配置,其中,所述预设配置包括第一配置和第二配置,所述第一配置包括预定义的与数据查询相关的动态参数,所述第二配置包括用于获取所述动态参数的真实值的预定义函数;第一执行单元,被配置为:通过执行所述第二配置中的所述预定义函数,获取所述动态参数的真实值;第二执行单元,被配置为:将所述第一配置中的所述动态参数替换为所述真实值,并基于参数替换后的第一配置,执行数据查询。11.可选地,所述预设配置包括预定义的配置名,其中,所述预设接口基于所述配置名读取所述预设配置。12.可选地,所述预设配置存储于配置平台,其中,所述接口调用单元被配置为:响应于所述预设配置被存储于所述配置平台,通过所述预设接口从所述配置平台读取所述预设配置。13.可选地,所述数据查询装置还包括:实例映射单元,被配置为:将所述预设接口读取的所述预设配置映射为可执行的实例,以通过执行所述实例来查询数据。14.可选地,所述第一配置基于所述需要查询的数据库和结构化查询语言来进行编码,其中,所述动态参数利用预设标识来进行表示。15.可选地,所述第二配置基于js对象简谱来进行编码。16.根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现根据本公开的数据查询方法。17.根据本公开实施例的第四方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行如上根据本公开的数据查询方法。18.根据本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现根据本公开的数据查询方法。19.本公开的实施例提供的技术方案至少带来以下有益效果:20.根据本公开示例性实施例的数据查询方法、装置、电子设备、介质和程序产品,通过对预定义的动态参数的设置和实现,能够根据简单的预设配置动态化地生成动态参数的真实值,并在此基础上执行数据查询,以获取目标数据,从而能够适应多种数据查询场景,无需针对多份数据开发多个接口,极大地节省了接口开发的成本。另外,根据本公开示例性实施例的数据查询方法、装置、电子设备、介质和程序产品,一方面屏蔽了技术细节,使非后端的技术人员能够通过简单的配置实现需要的数据查询功能,另一方面对于配置的修改可以做到快速生效,无需上线部署服务,在保障了服务稳定性的同时,节省了上线部署的成本。21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明22.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。23.图1是示出根据本公开的示例性实施例的数据查询方法的流程图;24.图2是示出根据本公开的示例性实施例的配置执行逻辑的演示图;25.图3是示出根据本公开的示例性实施例的数据查询装置的框图;26.图4是示出根据本公开的示例性实施例的电子设备400的框图。具体实施方式27.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。28.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。29.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。30.目前在数据库中查询数据的实现方案主要是在代码中对用于数据查询的配置进行硬编码,并封装成一个对外开放的接口,业务方再利用该接口来查询并获取相关的数据。然而,如果采用传统的硬编码方案,那么为了查询一份特定的数据,往往需要开发一个专门的接口并上线部署,这种方式难以适应多种数据查询场景,并且实现成本高,尤其对于非后端的技术人员而言上手成本高。31.针对上述问题,本公开提供了一种数据查询方法、装置、电子设备、介质和程序产品,能够根据简单的预设配置动态化地生成配置中的动态参数的真实值,并在此基础上执行数据查询,以获取目标数据,从而能够适应多种数据查询场景,无需针对多份数据开发多个接口,极大地节省了接口开发的成本,并且使非后端的技术人员也能够通过简单的配置实现需要的数据查询功能。32.下面,将参照图1至图4详细描述根据本公开的示例性实施例的数据查询方法、装置和电子设备。33.图1是示出根据本公开的示例性实施例的数据查询方法的流程图。34.参照图1,在步骤s101中,可通过预设接口读取预设配置。这里,预设配置可包括第一配置和第二配置,第一配置可包括预定义的与数据查询相关的动态参数,第二配置可包括用于获取动态参数的真实值的预定义函数。动态参数可以表示随着查询条件或者查询时间的变化而动态变化的参数,因此每次查询数据时需要确定动态参数的真实值,这里,本领域技术人员可根据实际需求在代码中对动态参数进行预定义。预定义函数可表示定义在类中的具有特定功能的一段独立小程序,函数也可称为方法,是为了提高代码的复用性,对代码进行抽取而实现的,这里,本领域技术人员可根据实际需求预先在代码中实现预定义函数。进一步地,第一配置可基于需要查询的数据库和结构化查询语言(structuredquevylanguage,sql)来进行编码,以及动态参数可利用预设标识来进行表示。sql是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。另外,第二配置可基于js对象简谱(javascriptobjectnotation,json)来进行编码。json是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。35.根据本公开的示例性实施例,可将预设接口读取的预设配置映射为可执行的实例,以通过执行实例来查询数据。这里,可将预设配置映射为javabean,以作为可执行的实例。36.根据本公开的示例性实施例,预设配置可包括预定义的配置名。这里,预设接口可基于配置名读取预设配置,而配置名可由本领域技术人员根据实际情况来定义。通过识别配置名,能够使预设接口更方便可靠地读取预设配置。另一方面,预设配置可存储于配置平台,并且配置平台可由本领域技术人员根据实际情况来设置,以统一存储各种配置。这里,配置平台可包括消息推送功能,当配置平台中的配置发生变更时,可向技术人员推送配置变更的消息。因此,作为示例,可响应于预设配置被存储于配置平台,通过预设接口从配置平台读取预设配置。37.接下来,在步骤s102中,可通过执行第二配置中的预定义函数,获取动态参数的真实值。这里,可基于java反射机制来执行预定义函数。java反射机制是基于java语言的反射机制,能够动态获取信息以及动态调用对象的方法,即在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。38.接下来,在步骤s103中,可将第一配置中的动态参数替换为真实值,并基于参数替换后的第一配置,执行数据查询,以获取目标数据。39.根据本公开的示例性实施例,作为示例,假设业务方需要查看和分析客户端在本周的发版情况,而客户端的发版时间是从本周三到下周三(今天是周三以后)或上周三到本周三(今天是周三以前),那么作为查询条件之一的时间参数需要根据上述发版时间动态生成;另外,进一步假设客户端本周发版的版本号(appversion)需要依赖keep平台接口获取,即需要先从keep接口获取到本周发版的版本号,再将本周发版的版本号作为查询条件之一。当业务方需要查询客户端在本周的各个版本总下载数(downloadcount)的情况时,可利用${xxx}标识来对动态参数进行预定义,即定义周发版时间(${thisweekreleasetime})、下周发版时间(${nextweekreleasetime})和本周发版版本(${thisweekreleaseversions})。在此基础上,作为示例,可通过下述代码来实现第一配置:[0040][0041]另外,可在第二配置中指定动态参数的生成方式,并基于json实现参数(params)传入。作为示例,可通过下述代码来实现第二配置:[0042][0043]这里,上述代码的getthisweekreleasetime()、getnextweekreleasetime()和getthisweekreleaseversions()可表示用于获取动态参数的真实值的预定义函数,本领域技术人员可预先在代码中实现上述函数。[0044]接下来,可将第一配置和第二配置结合为预设配置。作为示例,可将预设配置的配置名(configname)预定义为getdownloadcount,并且可通过下述代码来实现预设配置:[0045][0046][0047]接下来,预设配置可进一步存储于配置平台,可响应于预设配置被存储于所述配置平台,通过预设接口从配置平台读取预设配置。作为示例,可通过下述代码来实现预设接口:[0048][0049]接下来,可将预设配置映射为相应可执行的javabean。作为示例,可通过下述代码来实现javabean:[0050][0051]接下来,可通过执行第二配置中的预定义函数,获取动态参数的真实值。[0052]作为示例,可通过下述代码来表示函数执行结果:[0053][0054]接下来,可将第一配置中的动态参数替换为真实值。作为示例,可通过下述代码来表示参数替换后的第一配置:[0055]"sql":"selectsum(downloadcount),appversionfromtablewheretime》='2021-11-1700:00:00'andtime《='2021-11-2400:00:00'andappversionin('21.11.01',”'21.11.02','21.11.03')groupbyappversion"[0056]接下来,可基于参数替换后的第一配置,执行数据查询,从而获取客户端在本周的各个版本总下载数。作为示例,可通过下述表格中的内容来表示数据查询的结果:[0057]sum(downloadcount)appversion980130221.11.01583132221.11.021083132221.11.03[0058]图2是示出根据本公开的示例性实施例的配置执行逻辑的演示图。[0059]参照图2,作为示例,业务方的技术人员可预先进行简单地模块化编码,得到动态化sql配置(即如上所述的预设配置),并将动态化sql配置存储至配置平台;然后,当动态化sql配置被存储至配置平台后,配置平台会将配置变更的消息推送至上游服务,上游服务在接收到配置平台推送的配置变更消息后,可调用预先设置的通用接口,以基于配置名(configname)从配置平台中读取动态化sql配置;然后,可在后端将动态化sql配置映射成javabean(namedparamsconfig),通过执行namedparamsconfig读取参数(params),即遍历并执行预定义函数以生成实际值(即动态参数的真实值);然后,可在后端将生成的实际值替换到动态化sql配置中,得到基于实际值的真实sql配置,这时,可通过执行该真实sql配置,查询并获取数据库(database,db)中的目标数据;最后,可将目标数据从后端返回至上游服务。[0060]根据本公开示例性实施例的数据查询方法,能够根据简单的预设配置动态化地生成配置中的动态参数的真实值,并在此基础上执行数据查询,以获取目标数据,从而能够适应多种数据查询场景,无需针对多份数据开发多个接口,极大地节省了接口开发的成本,并且使非后端的技术人员也能够通过简单的配置实现需要的数据查询功能。[0061]图3是示出数据查询装置的框图。参照图3,数据查询装置300可包括:接口调用单元301、第一执行单元302和第二执行单元303。[0062]接口调用单元301可通过预设接口读取预设配置。这里,预设配置可包括第一配置和第二配置,第一配置可包括预定义的与数据查询相关的动态参数,第二配置可包括用于获取动态参数的真实值的预定义函数。[0063]第一执行单元302可通过执行第二配置中的预定义函数,获取动态参数的真实值。[0064]第二执行单元303可将第一配置中的动态参数替换为真实值,并基于参数替换后的第一配置,执行数据查询。[0065]可选择地,如上所述,预设配置可包括预定义的配置名。这里,预设接口可基于配置名读取预设配置。[0066]根据本公开的示例性实施例,预设配置可存储于配置平台,接口调用单元301可响应于预设配置被存储于配置平台,通过预设接口从配置平台读取预设配置。[0067]根据本公开的示例性实施例,数据查询装置300还可包括实例映射单元(未示出)。实例映射单元可将预设接口读取的预设配置映射为可执行的实例,以通过执行实例来查询数据。[0068]根据本公开的示例性实施例,第一配置可基于需要查询的数据库和结构化查询语言来进行编码。这里,动态参数可利用预设标识来进行表示。[0069]根据本公开的示例性实施例,第二配置可基于js对象简谱来进行编码。[0070]根据本公开示例性实施例的数据查询方法和装置,能够根据简单的预设配置动态化地生成配置中的动态参数的真实值,并在此基础上执行数据查询,以获取目标数据,从而能够适应多种数据查询场景,无需针对多份数据开发多个接口,极大地节省了接口开发的成本,并且使非后端的技术人员也能够通过简单的配置实现需要的数据查询功能。[0071]根据本公开的实施例,可提供一种电子设备。图4是根据本公开实施例的一种电子设备400的框图,该电子设备包括至少一个存储器401和至少一个处理器402,所述至少一个存储器中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的数据查询方法。[0072]作为示例,电子设备400可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备400并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备400还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。[0073]在电子设备400中,处理器402可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器402还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。[0074]处理器402可运行存储在存储器中的指令或代码,其中,存储器401还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。[0075]存储器401可与处理器402集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器401可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器401和处理器402可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器402能够读取存储在存储器401中的文件。[0076]此外,电子设备400还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。[0077]根据本公开的实施例,还可提供一种计算机可读存储介质,其中,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行本公开实施例的数据查询方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd r、cd-rw、cd rw、dvd-rom、dvd-r、dvd r、dvd-rw、dvd rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。[0078]根据本公开实施例,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现本公开实施例的数据查询方法。[0079]根据本公开示例性实施例的数据查询方法、装置、电子设备、介质和程序产品,通过对预定义的动态参数的设置和实现,能够根据简单的预设配置动态化地生成动态参数的真实值,并在此基础上执行数据查询,以获取目标数据,从而能够适应多种数据查询场景,无需针对多份数据开发多个接口,极大地节省了接口开发的成本。另外,根据本公开示例性实施例的数据查询方法、装置、电子设备、介质和程序产品,一方面屏蔽了数据查询相关配置中的技术细节,使非后端的技术人员能够通过简单的配置实现需要的数据查询功能,另一方面对于配置的修改可以做到快速生效,无需上线部署服务,在保障了服务稳定性的同时,节省了上线部署的成本。[0080]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。[0081]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献