一种数据查询方法、装置、电子设备及存储介质与流程

文档序号:18464750发布日期:2019-08-17 02:21阅读:127来源:国知局
一种数据查询方法、装置、电子设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种数据查询方法、装置、电子设备及存储介质。



背景技术:

随着大数据时代的到来,数据库的应用也越来越广泛,同时,基于多种编程语言的数据库应运而生,可满足用户对数据库的不同需求。但是,在用户对数据库中的数据进行查询时,若接收到的查询语句的编程语言与目标数据库的编程语言不匹配,则需要人工重新编写查询语句,才能实现数据查询,操作繁琐、效率较低。



技术实现要素:

本发明实施例提供一种数据查询方法、装置、电子设备及存储介质,对查询指令进行自动转换,提高数据查询的效率及便捷性。

第一方面,本发明实施例提供了一种数据查询方法,该方法包括:

接收基于第一类编程语言的数据查询指令,所述数据查询指令包括待查询数据的标识及存储所述待查询数据的目标数据库的标识;

根据数据库与建立数据库的编程语言之间的对应关系,确定建立所述目标数据库的第二类编程语言;

若所述第一类编程语言与所述第二类编程语言不匹配,则根据查询模板和/或语言转换方向将所述数据查询指令转换为基于所述第二类编程语言的目标查询语句,所述查询模板是用于查询所述目标数据中的数据的模板,所述语言转换方向是根据所述第一类编程语言与所述第二类编程语言确定的;

将所述目标查询语句添加至查询队列中,按照所述查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,所述查询队列中包括多条查询语句,所述每条查询语句的属性信息包括以下任一项或多项:所述每条查询语句所查询的数据量、所述每条查询语句中的待查询数据的标识历史被查询的次数以及所述待查询数据的类型。

第二方面,本发明实施例提供了一种数据查询装置,该数据查询装置包括:

接收模块,用于接收基于第一类编程语言的数据查询指令,所述数据查询指令包括待查询数据的标识及存储所述待查询数据的目标数据库的标识;

确定模块,用于根据数据库与建立数据库的编程语言之间的对应关系,确定建立所述目标数据库的第二类编程语言;

转换模块,用于若所述第一类编程语言与所述第二类编程语言不匹配,则根据查询模板和/或语言转换方向将所述数据查询指令转换为基于所述第二类编程语言的目标查询语句,所述查询模板是用于查询所述目标数据中的数据的模板,所述语言转换方向是根据所述第一类编程语言与所述第二类编程语言确定的;

执行模块,用于将所述目标查询语句添加至查询队列中,按照所述查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,所述查询队列中包括多条查询语句,所述每条查询语句的属性信息包括以下任一项或多项:所述每条查询语句所查询的数据量、所述每条查询语句中的待查询数据的标识历史被查询的次数以及所述待查询数据的类型。

第三方面,本发明实施例提供了一种电子设备,包括:

处理器,适于实现一条或一条以上指令;以及,

计算机可读存储介质,所述计算机可读存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如步骤:

接收基于第一类编程语言的数据查询指令,所述数据查询指令包括待查询数据的标识及存储所述待查询数据的目标数据库的标识;

根据数据库与建立数据库的编程语言之间的对应关系,确定建立所述目标数据库的第二类编程语言;

若所述第一类编程语言与所述第二类编程语言不匹配,则根据查询模板和/或语言转换方向将所述数据查询指令转换为基于所述第二类编程语言的目标查询语句,所述查询模板是用于查询所述目标数据中的数据的模板,所述语言转换方向是根据所述第一类编程语言与所述第二类编程语言确定的;

将所述目标查询语句添加至查询队列中,按照所述查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,所述查询队列中包括多条查询语句,所述每条查询语句的属性信息包括以下任一项或多项:所述每条查询语句所查询的数据量、所述每条查询语句中的待查询数据的标识历史被查询的次数以及所述待查询数据的类型。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由处理器加载并执行如下步骤:

接收基于第一类编程语言的数据查询指令,所述数据查询指令包括待查询数据的标识及存储所述待查询数据的目标数据库的标识;

根据数据库与建立数据库的编程语言之间的对应关系,确定建立所述目标数据库的第二类编程语言;

若所述第一类编程语言与所述第二类编程语言不匹配,则根据查询模板和/或语言转换方向将所述数据查询指令转换为基于所述第二类编程语言的目标查询语句,所述查询模板是用于查询所述目标数据中的数据的模板,所述语言转换方向是根据所述第一类编程语言与所述第二类编程语言确定的;

将所述目标查询语句添加至查询队列中,按照所述查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,所述查询队列中包括多条查询语句,所述每条查询语句的属性信息包括以下任一项或多项:所述每条查询语句所查询的数据量、所述每条查询语句中的待查询数据的标识历史被查询的次数以及所述待查询数据的类型。

本发明实施例中,在查询指令的编程语言与建立目标数据库的编程语言不匹配时,可通过查询模板和/或语言转换方向自动将查询指令的转换为基于目标数据库的编程语言的目标查询语句,可提高查询语句生成的效率,并提高数据查询的效率及便捷性;将目标查询语句添加至该查询队列中,并按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行查询队列中的查询语句,以使查询语句被有序执行,提高数据查询体验。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据查询方法的流程示意图;

图2是本发明实施例提供的另一种数据查询方法的流程示意图;

图3是本发明实施例提供的一种数据查询装置的结构示意图;

图4是本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

基于现有技术中,若接收到的查询语句的编程语言与目标数据库的编程语言不匹配,需要人工重新编写查询语句,才能实现数据查询,操作繁琐、效率较低。本发明实施例提供一种数据查询方法,该方法可以由电子设备来执行,该电子设备可以是指智能终端、服务器或电脑等可用于存储的设备,该方法的具体实现过程包括:若需要向目标数据库中查询数据时,且接收到查询指令的编程语言与建立目标数据库的编程语言不匹配时,表明该查询指令不能直接用于从目标数据库查询数据,电子设备可以根据目标数据库的编程语言对查询指令进行转换,得到基于目标数据库的编程语言的查询语句,执行换得到的查询语句,可自动对查询指令进行转换,进而,可实现从目标数据库中查询数据的操作,不需要人工操作,可提高数据查询的效率,提高数据查询的便捷性。

请参见图1,是本发明实施例提供的一种数据查询方法的流程示意图,本发明实施例的所述方法可以由上述提及的电子设备来执行。本实施例中,该数据查询方法包括以下步骤。

s101、接收基于第一类编程语言的数据查询指令,该数据查询指令包括待查询数据的标识及存储该待查询数据的目标数据库的标识。

电子设备可以接收基于第一类编程语言的数据查询指令,该数据查询指令可以是由客户端所发送的指令,该数据查询指令可以包括待查询数据的标识及存储该待查询数据的目标数据库的标识包括等等。其中,待查询数据的标识可以是指待查询数据对应的字段、编号或关键词等等,目标数据库的标识可以是指是指数据库的名称、编号等等。

在一个实施例中,该数据查询指令还可以包括用户信息,在步骤s101之后,该方法还包括:为了提高数据查询的安全性,该数据查询指令还可以包括用户信息,如用户名及密码等,根据用户信息对该用户进行身份验证,若验证未通过,则表明该用户不是授权用户,结束本次流程;若验证通过,则表明该用户为授权用户,可以执行步骤s102确定目标数据库中的编程语言类型。

在一个实施例中,该目标数据库为数据库管理系统中的任一数据库,该数据库管理系统中包括多个数据库,每个数据库可以位于不同的电子设备中,电子设备可以为该数据库管理系统设置一个查询账号,该查询账号可以用于查询该数据库管理系统中任一数据库的数据;无需在多个数据库之间来回切换,提高数据查询的效率。例如,该数据库管理系统包括数据库1和数据库2,当用户需要从数据库1和数据库2中查询数据时,接收用户发送的查询指令,该查询指令包括待查询数据1的标识和存储待查询数据1的数据库1的标识,待查询数据2的标识和存储待查询数据2的数据2的标识,以及查询账号,通过该查询账号对用户进行身份验证,若验证未通过,则不执行数据查询的操作,即结束本次流程;若验证通过,可以执行步骤s102确定建立数据库1的第二类编程语言及确定建立数据库2的第二类编程语言。只需要在该数据库管理系统上登录一次,就可以从数据库1和数据库2中查询数据,而不需要在数据库1和数据库2之间来回切换,提高数据查询的效率。

s102、根据数据库与建立数据库的编程语言之间的对应关系,确定建立该目标数据库的第二类编程语言。

电子设备中记录了数据库与建立数据库的编程语言之间的对应关系,电子设备可以根据该对应关系,确定建立该目标数据库的第二类编程语言。在一个实施例中,每一类编程语言的数据库只能通过对应的编程语言的查询语句进行查询,例如,假设目标数据库是通过关系数据库服务系统postgresql建立的,则基于postgresql的查询语句可以从该目标数据库中查询数据。或者,每一类编程语言的数据库只能通过与其兼容的编程语言的查询语句进行查询,例如,假设目标数据库是通过postgresql建立的,则由于关系数据库服务系统mysql与postgresql兼容,因此,基于mysql的查询语句也可以从该目标数据库中查询数据。

s103、若该第一类编程语言与该第二类编程语言不匹配,则根据查询模板和/或语言转换方向将该数据查询指令转换为基于该第二类编程语言的目标查询语句,该查询模板是用于查询该目标数据中的数据的模板,该语言转换方向是根据该第一类编程语言与该第二类编程语言确定的。

若该第一类编程语言与该第二类编程语言不匹配,表明第一类编程语言与第二类编程语言不相同,且第一类编程语言与第二类编程语言之间不兼容,即该查询指令不能用于查询目标数据库中的数据,因此,需要对查询指令进行转换处理的。具体的,可以根据查询模板和/或语言转换方向生成基于第二类编程语言的查询语句。例如,该查询指令的编程语言为编程语言a,通过目标数据库编程语言b所建立的,编程语言a与编程语言b既不相同也不兼容,则基于编程语言a的查询指令不能直接用于查询目标数据库中的数据,则需要将该查询指令转换为基于编程语言b的查询语句。

在一个实施例中,该数据库管理系统中包括多个数据库及每个数据库的查询模板,该查询模板是根据对应数据库的编程语言所编写的模版,只要需要将待查询数据的标识和存储待查询数据的数据库的标识可生成查询语句,执行该查询语句可从存储待查询数据的数据库中查询数据。因此,电子设备可以根据查询模板生成基于第二类编程语言的查询语句,提高生成查询语句的效率。

在另一个实施例中,语言转换方向可以用于指示一种编程语言转换到另一种编程语言的方向,由于不同语言转换方向对应不同语言转换规则,例如,查询指令的编程语言为a,目标数据库的编程语言为b,则该语言转换方向为a到b,即a-b;反之,查询指令的编程语言为b,目标数据库的编程语言为a,则该语言转换方向为b到a,即b-a。根据基于编程语言a的查询指令生成基于编程语言b的查询语句,与根据基于编程语言b的查询指令生成基于编程语言a的查询语句所采用语言转换规则不一样,因此,电子设备可以语言转换方向将该数据查询指令转换为基于该第二类编程语言的目标查询语句。

s104、将该目标查询语句添加至查询队列中,该查询队列中包括多条查询语句。

在生成目标查询语句后,可以将该目标查询语句添加至查询队列中,以便等待该目标查询语句被执行。

s105、按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行该查询队列中的查询语句进行数据查询。

其中,该每条查询语句的属性信息包括以下任一项或多项:该每条查询语句所查询的数据量、该每条查询语句中的待查询数据的标识历史被查询的次数以及该待查询数据的类型。

对于该数据库管理系统,存在会接收到多条查询语句,为了使各条查询语句有序地被执行,电子设备可以按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行该查询队列中的查询语句进行数据查询。

在一个实施例中,电子设备可以按照该查询队列中的查询语句的数量依次执行该查询队列中的查询语句进行数据查询,具体的,电子设备可以获取该数据库管理系统中的节点数量,当该查询队列中的查询语句的数量小于或等于该数据库管理系统中的节点数量,则可以将查询队列中的所有查询语句一次性分配给该数据库管理系统中对应节点,即一个节点处理一个查询语句,可实现所有的查询语句同时被执行;当该查询队列中的查询语句的数量大于该数据库管理系统中的节点数量,则不能将查询队列中的所有查询语句一次性分配给该数据库管理系统中对应节点,可以结合每条查询语句的属性信息依次执行该查询队列中的查询语句进行数据查询,例如,优先将查询数据量较少的查询语句分配给该数据库管理系统中的节点,即优先执行查询数据量较少的查询语句,以便可以减少等待的时间。

本发明实施例中,在查询指令的编程语言与建立目标数据库的编程语言不匹配时,可通过查询模板和/或语言转换方向自动将查询指令的转换为基于目标数据库的编程语言的目标查询语句,可提高查询语句生成的效率,并提高数据查询的效率;将目标查询语句添加至该查询队列中,并按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行查询队列中的查询语句,以使查询语句被有序执行,提高数据查询体验。

请参见图2,是本发明实施例提供的另一种数据查询方法的流程示意图,本发明实施例的所述方法可以由上述提及的电子设备来执行。本实施例与图1的是实施例的区别在于,本发明实施例在执行查询语句中的查询语句之前对查询队列中的查询语句进行合并处理,该数据查询方法包括以下步骤。

s201、接收基于第一类编程语言的数据查询指令,该数据查询指令包括待查询数据的标识及存储该待查询数据的目标数据库的标识。

s202、根据数据库与建立数据库的编程语言之间的对应关系,确定建立该目标数据库的第二类编程语言。

s203、若该第一类编程语言与该第二类编程语言不匹配,则根据查询模板和/或语言转换方向将该数据查询指令转换为基于该第二类编程语言的目标查询语句,该查询模板是用于查询该目标数据中的数据的模板,该语言转换方向是根据该第一类编程语言与该第二类编程语言确定的。

在一个实施例中,步骤s202可以包括如下步骤:获取用于查询该目标数据库中数据的查询模板,该查询模板是基于该第二类编程语言的查询模板,将该待查询数据的标识及该目标数据库的标识添加至该查询模板中,生成基于该第二类编程语言的目标查询语句。

该数据库管理系统中包括多个数据库及每个数据库的查询模板,电子设备可以根据目标数据库的标识从该数据库管理系统中获取用于查询该目标数据库中的数据的查询模版,该查询模版是基于该第二类编程语言的查询模板,可将该待查询数据的标识及该目标数据库的标识添加至该查询模板中,生成基于该第二类编程语言的目标查询语句,不需要基于第二类编程语言手动编写查询语句,可节省人力,提高生成查询语句的效率。

在一个实施例中,步骤s202可以包括如下步骤:根据该第一类编程语言与该第二类编程语言确定语言转换方向,根据语言转换方向与语言转换规则的对应关系,获取与确定的语言转换方向对应的语言转换规则,根据获取的语言转换规则将该查询指令转换为基于该第二类编程语言的目标查询语句。

该数据库管理系统中可以包括多种语言转换规则,及根据语言转换方向与语言转换规则的对应关系,电子设备可以根据该第一类编程语言与该第二类编程语言确定语言转换方向,根据语言转换方向与语言转换规则的对应关系,获取与确定的语言转换方向对应的语言转换规则,根据获取的语言转换规则将该查询指令转换为基于该第二类编程语言的目标查询语句。其中,语言转换规则可以是根据编程语言的原理设置的。

s204、将该目标查询语句添加至查询队列中,该查询队列中包括多条查询语句。

其中,该每条查询语句的属性信息包括以下任一项或多项:该每条查询语句所查询的数据量、该每条查询语句中的待查询数据的标识历史被查询的次数以及该待查询数据的类型。

s205、获取该查询队列中与该目标查询语句匹配的查询语句,以及该目标查询语句的生成时间和该匹配的查询语句的生成时间。

s206、根据该目标查询语句的生成时间和该匹配的查询语句的生成时间确定生成该目标查询语句和该匹配的查询语句之间的时间间隔。

s207、若该时间间隔小于预设时间间隔,则将该查询队列中的该目标查询语句或该匹配的查询语句删除。

在步骤s205~s207中,由于存在用户在查询数据时,重复提交查询指令,如重复点击网页上的某个词条,因此,电子设备可以对查询队列中的查询语句进行合并处理,可避免重复执行某条查询语句。具体的,电子设备可以获取该查询队列中与该目标查询语句匹配的查询语句,以及该目标查询语句的生成时间和该匹配的查询语句的生成时间,匹配的查询语句就是指与目标查询语句相同的语句,即匹配的查询语句中包括的待查询数据的标识及存储待查询数据的数据库的标识,与目标查询语句中的待查询数据的标识和存储待查询数据的数据库的标识相同。根据该目标查询语句的生成时间和该匹配的查询语句的生成时间确定生成该目标查询语句和该匹配的查询语句之间的时间间隔,若该时间间隔小于预设时间间隔,则表明目标查询语句或匹配的查询语句为用户重复提交的查询语句,电子设备可以将该查询队列中的该目标查询语句或该匹配的查询语句删除。例如,预设时间间隔为5s,该查询队列中包括查询语句1(即目标查询语句)和查询语句2,当查询语句1和查询语句2中包括的待查询语句的标识及数据库的标识相同,则确定该查询语句1与查询语句2匹配。获取查询语句1和查询语句2的生成时间。若查询语句1的生成时间为12:05:01,查询语句2的生成时间为12:05:03,则查询语句1与查询语句2之间生成的时间间隔为2s,该时间间隔小于预设时间间隔,表明存在用户重复提交查询语句的情况,则可以将该查询队列中的查询语句1删除,仅保留查询语句2。

s208、按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行该查询队列中的查询语句进行数据查询。

在一个实施例中,上述按照每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,包括:根据该查询队列中的每条查询语句的属性信息确定该每条查询语句的查询优先级,根据该每条查询语句的查询优先级依次执行该查询队列中的查询语句。

电子设备可以根据该查询队列中的每条查询语句的属性信息确定该每条查询语句的查询优先级,根据该每条查询语句的查询优先级依次执行该查询队列中的查询语句。例如,可以优先执行优先级比较高的查询语句,然后在执行优先级比较低的查询语句。

在一个实施例中,该每条查询语句的属性信息包括该每条查询语句所查询的数据量,根据该每条查询语句所查询的数据量确定该每条查询语句的查询优先级,根据该每条查询语句的查询优先级依次执行该查询队列中的查询语句。

由于查询语句所查询数据量越多,查询数据所需要消耗的时间越长,查询语句所查询数据量越少,查询数据所需要消耗的时间越短,因此,电子设备可以优先执行所查询数据量较小的查询语句,以减少用户等待的时间。具体的,电子设备可以为查询数据量大于预设数据量的查询语句设置第一优先级,为查询数据量小于或等于预设数据量的查询语句设置第二优先级,第二优先级高于第一优先级,电子设备可以按照优先级从高到底的顺序依次执行该查询队列中的查询语句。

在另一个实施例中,该每条查询语句的属性信息包括该每条查询语句中的待查询数据的标识历史被查询的次数,根据该每条查询语句中的待查询数据的标识历史被查询的次数确定该每条查询语句的查询优先级,根据该每条查询语句的查询优先级依次执行该查询队列中的查询语句。

由于查询语句中待查询数据的标识历史被查询的次数越多,表明该待查询语句为热点数据,即该待查询数据的重要性越高;反之,查询语句中待查询数据的标识历史被查询的次数越少,表明该待查询语句为冷门数据,即该待查询数据的重要性越低。电子设备可以优先执行待查询数据为热点数据的查询语句,以提高用户数据查询体验。具体的,电子设备可以为查询语句中待查询数据的标识历史被查询的次数小于预设次数的查询语句设置第一优先级,为查询语句中待查询数据的标识历史被查询的次数大于或等于预设数次数的查询语句设置第二优先级,第二优先级高于第一优先级,电子设备可以按照优先级从高到底的顺序依次执行该查询队列中的查询语句。

在又一个实施例中,该每条查询语句的属性信息包括该每条查询语句中的待查询数据的类型,根据该每条查询语句中的待查询数据的类型确定该每条查询语句的查询优先级,根据该每条查询语句的查询优先级依次执行该查询队列中的查询语句。

由于对某些类型的数据查询的实时性要求比较高,如,视频类型的数据;对另些类型的数据查询的实时性要求比较低,如,文字类型的数据,电子设备可以优先执行实时性要求比较高的查询语句,提高用户的查询体验。具体的,电子设备可以为待查询数据的类型为第一类型的查询语句设置第一优先级,为待查询数据的类型为第二类型的查询语句设置第二优先级,第二优先级高于第一优先级,第二类型的数据的查询实时性高于第一类型数据的查询实时性,电子设备可以按照优先级从高到底的顺序依次执行该查询队列中的查询语句。

在又一个实施例中,该每条查询语句的属性信息包括该每条查询语句所查询的数据量、该每条查询语句中的待查询数据的标识历史被查询的次数以及该待查询数据的类型;获取该查询队列中的每条查询语句的属性信息的每项信息的权重,对每个项信息进行加权求和,根据和设置该每条查询语句的查询优先级,根据该每条查询语句的查询优先级依次执行该查询队列中的查询语句。

电子设备可以综合考虑该每条查询语句的属性信息中的每项信息,根据属性信息每项信息依次执行查询队列中的查询语句。例如,电子设备可以设置该每条查询语句所查询的数据量的权重为第一值,设置该每条查询语句中的待查询数据的标识历史被查询的次数的权重为第二值,设置该待查询数据的类型的权重为第三值;计算第一值与该查询语句所查询的数据量之间的比值,计算第二比值与该每条查询语句中的待查询数据的标识历史被查询的次数的乘积得到第一乘积值;计算第三值与该待查询数据的类型对应的值的第二乘积值;计算比值、第一乘积值及第二乘积值的和,根据该和设置该每条查询语句的查询优先级,按照优先级从高到低的顺序依次执行该查询队列中的查询语句。

例如,若该待查询数据的类型第一类型,则该待查询数据的类型对应的值为第四值;若该待查询数据的类型第二类型,则该待查询数据的类型对应的值为第五值,第二类型的数据的查询实时性高于第一类型数据的查询实时性,第五值大于第四值,例如,第五值为5,第四值为4。假设该查询语句队列中目标查询语句的所查询的数据量为10,即目标查询语句中包括10个待查询数据的标识,待查询数据的标识历史被查询的次数为8,待查询数据的类型为第一类,待查询数据的类型对应的值为4;为目标查询语句所查询的数据量、该目标查询语句中的待查询数据的标识历史被查询的次数以及该待查询数据的类型设置的权重分别为3、4、5,因此,可以计算目标查询语句所查询的数据量的权重与目标查询语句所查询的数据量之间的比值,该比值为0.3,计算该每条查询语句中的待查询数据的标识历史被查询的次数的权重与该每条查询语句中的待查询数据的标识历史被查询的次数的乘积得到第一乘积值,第一乘积为40;计算该待查询数据的类型的权重与该待查询数据的类型对应的值的第二乘积值,第二乘积值为20;计算比值、第一乘积值及第二乘积值的和,和为60.3,根据该和设置该每条查询语句的查询优先级,即和越大,该查询语句的优先级越高,反之,和越小,该查询语句的优先级越低;按照优先级从高到低的顺序依次执行该查询队列中的查询语句。

在一个实施例中,该查询指令还包括数据的格式,该方法还包括:执行该查询队列中的该目标查询语句,从该目标数据库查询与该待查询数据的标识关联的数据;若查询到的数据的格式与该查询指令还包括数据的格式不相同,则根据该查询指令包括的数据的格式对该查询到的数据进行格式转换处理,返回格式转换处理后的数据。

用户可以指定返回的数据格式,具体的,电子设备可以执行该查询队列中的该目标查询语句,从该目标数据库查询与该待查询数据的标识关联的数据;若查询到的数据的格式与该查询指令还包括数据的格式不相同,则表明查询到的数据的格式不是用户所期望的格式,可以根据该查询指令包括的数据的格式对该查询到的数据进行格式转换处理,返回格式转换处理后的数据,可以提高数据查询的灵活性。

在一个实施例中,该目标数据被存储于机械硬盘中,获取该待查询数据的标识被查询的次数,若该待查询数据的标识被查询的次数大于预设次数,则将该查询到的数据存储至固态硬盘中的预设数据库中,返回该查询到的数据在该预设数据库中的存储地址。

为了提高数据查询的效率,可以将查询频率较高的数据存储至固态硬盘中,其中,固态硬盘具有读取数据快速的特点。具体的,电子设备可以获取该待查询数据的标识被查询的次数,若该待查询数据的标识被查询的次数大于预设次数,则表明该待查询数据为热点数据,可以将该查询到的数据存储至固态硬盘中的预设数据库中,返回该查询到的数据在该预设数据库中的存储地址,以便后续可以快速地查询到热点数据。其中,该存储地址可以为预设数据库的标识或固态硬盘的标识等。

本发明实施例中,在查询指令的编程语言与建立目标数据库的编程语言不匹配时,可通过查询模板和/或语言转换方向自动将查询指令的转换为基于目标数据库的编程语言的目标查询语句,可提高查询语句生成的效率,并提高数据查询的效率;将目标查询语句添加至该查询队列中,按照查询队列中查询语句的生成时间对查询队列中的查询语句进行合并处理,即删除查询队列中重复的查询语句,可以避免同一个查询语句被重复执行,可节省资源,提高数据查询的效率;进一步,并按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行查询队列中的查询语句,以使查询语句被有序执行,提高数据查询体验。

请参见图3,是本发明实施例提供的一种数据查询装置的结构示意图,本发明实施例的所述装置可以设置在上述提及的电子设备中。本实施例中,该装置包括:

接收模块301,用于接收基于第一类编程语言的数据查询指令,所述数据查询指令包括待查询数据的标识及存储所述待查询数据的目标数据库的标识。

确定模块302,用于根据数据库与建立数据库的编程语言之间的对应关系,确定建立所述目标数据库的第二类编程语言。

转换模块303,用于若所述第一类编程语言与所述第二类编程语言不匹配,则根据查询模板和/或语言转换方向将所述数据查询指令转换为基于所述第二类编程语言的目标查询语句,所述查询模板是用于查询所述目标数据中的数据的模板,所述语言转换方向是根据所述第一类编程语言与所述第二类编程语言确定的。

执行模块304,用于将所述目标查询语句添加至查询队列中,按照所述查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,所述查询队列中包括多条查询语句,所述每条查询语句的属性信息包括以下任一项或多项:所述每条查询语句所查询的数据量、所述每条查询语句中的待查询数据的标识历史被查询的次数以及所述待查询数据的类型。

可选的,转换模块303,具体用于获取用于查询所述目标数据库中数据的查询模板,所述查询模板是基于所述第二类编程语言的查询模板;将所述待查询数据的标识及所述目标数据库的标识添加至所述查询模板中,生成基于所述第二类编程语言的目标查询语句。

可选的,转换模块303,具体用于根据所述第一类编程语言与所述第二类编程语言确定语言转换方向;根据语言转换方向与语言转换规则的对应关系,获取与确定的语言转换方向对应的语言转换规则;根据获取的语言转换规则将所述查询指令转换为基于所述第二类编程语言的目标查询语句。

可选的,执行模块304,用于根据所述查询队列中的每条查询语句的属性信息确定所述每条查询语句的查询优先级;根据所述每条查询语句的查询优先级依次执行所述查询队列中的查询语句。

可选的,执行模块304,用于执行所述查询队列中的所述目标查询语句,从所述目标数据库查询与所述待查询数据的标识关联的数据;若查询到的数据的格式与所述查询指令还包括数据的格式不相同,则根据所述查询指令包括的数据的格式对所述查询到的数据进行格式转换处理;返回格式转换处理后的数据。

可选的,存储模块305,用于获取所述待查询数据的标识被查询的次数;若所述待查询数据的标识被查询的次数大于预设次数,则将所述查询到的数据存储至固态硬盘中的预设数据库中;返回所述查询到的数据在所述预设数据库中的存储地址。

可选的,执行模块304,还用于获取所述查询队列中与所述目标查询语句匹配的查询语句,以及所述目标查询语句的生成时间和所述匹配的查询语句的生成时间;根据所述目标查询语句的生成时间和所述匹配的查询语句的生成时间确定生成所述目标查询语句和所述匹配的查询语句之间的时间间隔;若所述时间间隔小于预设时间间隔,则将所述查询队列中的所述目标查询语句或所述匹配的查询语句删除。

本发明实施例中,在查询指令的编程语言与建立目标数据库的编程语言不匹配时,可通过查询模板和/或语言转换方向自动将查询指令的转换为基于目标数据库的编程语言的目标查询语句,可提高查询语句生成的效率,并提高数据查询的效率;将目标查询语句添加至该查询队列中,并按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行查询队列中的查询语句,以使查询语句被有序执行,提高数据查询体验。

请参见图4,是本发明实施例提供的一种电子设备的结构示意图,如图所示的本实施例中的电子设备可以包括:一个或多个处理器401;一个或多个输入装置402,一个或多个输出装置403和存储器404。上述处理器401、输入装置402、输出装置403和存储器404通过总线405连接。

所处理器401可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入装置402可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出装置403可以包括显示器(lcd等)、扬声器等,输出装置403可以输出提示信息,提示信息可用于固态硬盘的剩余存储空间不足。

该存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器,存储器404用于存储计算机程序,所述计算机程序包括程序指令,处理器401用于执行存储器404存储的程序指令,以用于执行一种数据查询方法,即用于执行以下操作:

接收基于第一类编程语言的数据查询指令,所述数据查询指令包括待查询数据的标识及存储所述待查询数据的目标数据库的标识;

根据数据库与建立数据库的编程语言之间的对应关系,确定建立所述目标数据库的第二类编程语言;

若所述第一类编程语言与所述第二类编程语言不匹配,则根据查询模板和/或语言转换方向将所述数据查询指令转换为基于所述第二类编程语言的目标查询语句,所述查询模板是用于查询所述目标数据中的数据的模板,所述语言转换方向是根据所述第一类编程语言与所述第二类编程语言确定的;

将所述目标查询语句添加至查询队列中,按照所述查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行所述查询队列中的查询语句进行数据查询,所述查询队列中包括多条查询语句,所述每条查询语句的属性信息包括以下任一项或多项:所述每条查询语句所查询的数据量、所述每条查询语句中的待查询数据的标识历史被查询的次数以及所述待查询数据的类型。

可选的,处理器用于调用存储器存储的程序指令执行以下操作:

获取用于查询所述目标数据库中数据的查询模板,所述查询模板是基于所述第二类编程语言的查询模板;

将所述待查询数据的标识及所述目标数据库的标识添加至所述查询模板中,生成基于所述第二类编程语言的目标查询语句。

可选的,处理器用于调用存储器存储的程序指令执行以下操作:

根据所述第一类编程语言与所述第二类编程语言确定语言转换方向;

根据语言转换方向与语言转换规则的对应关系,获取与确定的语言转换方向对应的语言转换规则;

根据获取的语言转换规则将所述查询指令转换为基于所述第二类编程语言的目标查询语句。

可选的,处理器用于调用存储器存储的程序指令执行以下操作:

根据所述查询队列中的每条查询语句的属性信息确定所述每条查询语句的查询优先级;

根据所述每条查询语句的查询优先级依次执行所述查询队列中的查询语句。

可选的,处理器用于调用存储器存储的程序指令执行以下操作:

执行所述查询队列中的所述目标查询语句,从所述目标数据库查询与所述待查询数据的标识关联的数据;

若查询到的数据的格式与所述查询指令还包括数据的格式不相同,则根据所述查询指令包括的数据的格式对所述查询到的数据进行格式转换处理;

返回格式转换处理后的数据。

可选的,处理器用于调用存储器存储的程序指令执行以下操作:

获取所述待查询数据的标识被查询的次数;

若所述待查询数据的标识被查询的次数大于预设次数,则将所述查询到的数据存储至固态硬盘中的预设数据库中;

返回所述查询到的数据在所述预设数据库中的存储地址。

可选的,处理器用于调用存储器存储的程序指令执行以下操作:

获取所述查询队列中与所述目标查询语句匹配的查询语句,以及所述目标查询语句的生成时间和所述匹配的查询语句的生成时间;

根据所述目标查询语句的生成时间和所述匹配的查询语句的生成时间确定生成所述目标查询语句和所述匹配的查询语句之间的时间间隔;

若所述时间间隔小于预设时间间隔,则将所述查询队列中的所述目标查询语句或所述匹配的查询语句删除。

本发明实施例中,在查询指令的编程语言与建立目标数据库的编程语言不匹配时,可通过查询模板和/或语言转换方向自动将查询指令的转换为基于目标数据库的编程语言的目标查询语句,可提高查询语句生成的效率,并提高数据查询的效率;将目标查询语句添加至该查询队列中,并按照该查询队列中的查询语句的数量和/或每条查询语句的属性信息依次执行查询队列中的查询语句,以使查询语句被有序执行,提高数据查询体验。

本发明实施例中所描述的处理器401、输入装置402、输出装置403可执行本发明实施例提供的数据查询方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的电子设备的实现方式,在此不再赘述。

本发明实施例中提供还了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现本发明的图1及图2实施例中所示的数据查询方法。

所述计算机可读存储介质可以是前述任一实施例所述的医疗管理设备的内部存储单元,例如控制设备的硬盘或内存。所述计算机可读存储介质也可以是所述控制设备的外部存储设备,例如所述控制设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述控制设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述控制设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的控制设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的控制设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例是示意性的,例如,所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1