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

数据检索方法、装置和电子设备与流程

2022-12-02 19:52:58 来源:中国专利 TAG:
1.本技术涉及数据分析领域,尤其涉及一种数据检索方法、装置和电子设备。
背景技术
::2.关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,关系型数据库这一系列行和列被称为表,一组表组成了数据库。用户可以通过查询来检索数据库中的数据。在关系数据库中,索引是一种单独的、物理的对数据库中一列或多列的值进行排序的一种存储结构,它是某个表中一列或多列的值的集合,采用索引可以快速的对数据库中的字段进行检索。3.目前,由于关系型数据库在检索过程中存在隐式类型转换的功能,而隐式类型转换会导致字段对应的索引失效,进而影响数据检索的效率。技术实现要素:4.本技术实施例提供了一种数据检索方法、装置和电子设备,以解决关系型数据库的隐式类型转换会导致字段对应的索引失效,进而影响数据检索的效率。5.本技术第一方面提供一种数据检索方法,包括:接收数据库语句;对数据库语句进行解析,得到检索条件,检索条件包括:比较符和比较符两侧的数据;在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息;根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据。6.在本技术一个实施例中,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,包括:确定两侧的数据中的至少一个数据是否在字段标识集合中,至少一个数据为字段名称,字段标识集合包括:多个字段名称以及字段名称的数据表名称,字段标识集合中的字段名称具有对应的索引信息;若是,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型。7.在本技术一个实施例中,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,包括:在两侧的数据中一侧的数据为第一字段名称,另一侧的数据为参数的情况下,将参数的字段类型转换为第一字段名称的字段类型。8.在本技术一个实施例中,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,包括:在两侧的数据中一侧的数据为第二字段名称,另一侧的数据为第三字段名称的情况下,在第二字段名称和第三字段名称中确定目标数据,其中,目标数据的优先级高于另一字段名称,在字段标识集合中的字段名称的优先级高于不在字段标识集合中的字段名称,数据量小的字段名称的优先级高于数据量的字段名称;转换目标数据的字段类型。9.在本技术一个实施例中,检索条件还包括:数据表的别名,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型之前,还包括:确定数据表的别名对应的数据表的目标名称;采用数据表的目标名称更新检索条件。10.在本技术一个实施例中,接收数据库语句之前,还包括:确定数据库中的目标字段和目标字段所属的目标数据表,目标字段的字段类型和所属系统的对应代码的字段类型不同,目标字段在数据库中具有索引信息;根据目标字段和目标数据表,构建目标字段的字段标识,字段标识包括:目标字段的字段名称和数据表的目标名称;将字段标识存储在字段标识集合中。11.在本技术一个实施例中,确定数据库中的目标字段和目标字段所属的目标数据表,包括:在系统启动的情况下或者微服务的配置中心中,获取数据库字段的索引信息;在具有索引信息的字段中,确定目标字段和目标字段所属的目标数据表。12.本技术第二方面提供一种数据检索装置,包括:13.接收模块,用于接收数据库语句;14.解析模块,用于对数据库语句进行解析,得到检索条件,检索条件包括:比较符和比较符两侧的数据;15.转换模块,用于在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息;16.更新模块,用于根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据。17.在本技术一个实施例中,转换模块具体用于:确定两侧的数据中的至少一个数据是否在字段标识集合中,至少一个数据为字段名称,字段标识集合包括:多个字段名称以及字段名称的数据表名称,字段标识集合中的字段名称具有对应的索引信息;若是,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型。18.在本技术一个实施例中,转换模块具体用于:在两侧的数据中一侧的数据为第一字段名称,另一侧的数据为参数的情况下,将参数的字段类型转换为第一字段名称的字段类型。19.在本技术一个实施例中,转换模块具体用于:在两侧的数据中一侧的数据为第二字段名称,另一侧的数据为第三字段名称的情况下,在第二字段名称和第三字段名称中确定目标数据,其中,目标数据的优先级高于另一字段名称,在字段标识集合中的字段名称的优先级高于不在字段标识集合中的字段名称,数据量小的字段名称的优先级高于数据量的字段名称;转换目标数据的字段类型。20.在本技术一个实施例中,检索条件还包括:数据表的别名,更新模块还用于,在在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型之前,确定数据表的别名对应的数据表的目标名称;采用数据表的目标名称更新检索条件。21.在本技术一个实施例中,数据检索装置还包括:22.确定模块,用于确定数据库中的目标字段和目标字段所属的目标数据表,目标字段的字段类型和所属系统的对应代码的字段类型不同,目标字段在数据库中具有索引信息;23.构建模块,用于根据目标字段和目标数据表,构建目标字段的字段标识,字段标识包括:目标字段的字段名称和数据表的目标名称;24.存储模块,用于将字段标识存储在字段标识集合中。25.在本技术一个实施例中,确定模块具体用于:26.在系统启动的情况下或者微服务的配置中心中,获取数据库字段的索引信息;27.在具有索引信息的字段中,确定目标字段和目标字段所属的目标数据表。28.本技术第三方面提供一种电子设备,包括存储器与处理器;其中,29.存储器用于存储程序代码;30.处理器用于调用程序代码实现上述任一项的数据检索方法。31.本技术第四方面提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得电子设备执行上述任一项的数据检索方法。32.本技术第五方面提供一种计算机程序产品,其上存储有计算机程序,计算机程序被处理器执行时,使得电子设备执行上述任一项的数据检索方法。33.由上述技术方案可以看出,本技术实施例通过接收数据库语句;对数据库语句进行解析,得到检索条件,检索条件包括:比较符和比较符两侧的数据;在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息;根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据,对数据库语句在检索前进行显式转换,使比较符两侧的数据的字段类型一致,进而可以避免数据检索过程中进行隐式类型转换,因此本技术能够提高关系数据库中数据的检索效率。附图说明34.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。35.图1是本技术提供的数据检索方法的应用场景示意图;36.图2是本技术一实施例提供的数据检索方法的步骤流程图;37.图3是本技术另一实施例提供的数据检索方法的步骤流程图;38.图4是本技术一实施例提供的数据检索装置的结构框图;39.图5为本技术实施例提供的电子设备的结构示意图。具体实施方式40.为了使本
技术领域
:的人员更好地理解本技术的方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。41.下面参考本技术的若干代表性实施方式,详细阐释本技术的原理和精神。42.本发明人发现,为了保证数据库执行脚本成功执行,当操作符和操作数一起使用时,关系型数据库引擎会自动将关系数据库中的数据进行类型转换,以使操作兼容,实现字段隐式类型转换,但是由于字段隐式类型转换是额外对数据库中的数据进行类型转换,会导致该数据库执行脚本执行时字段对应的索引失效。43.进一步地,为了提升数据库检索效率,最有效和直接的方式就是针对数据库中的常用字段创建索引,以额外的写入和存储空间为代价降低中央处理器(centralprocessingunit,cpu)和输入输出接口(input/output,i/o)的使用率,从而提高数据库中的数据检索的速度。其中,针对数据库中的数据表中存储有大量数据时,对该数据表创建索引的检索效率可以达到未创建索引的检索效率的成千上万倍甚至更高。但是,当索引失效,会造成数据库的检索效率下降,可能还会造成数据库服务器的cpu占有率100%进而导致数据库程序崩溃。其中,关系数据库的隐式类型由于隐蔽性会导致开发人员在开发关系数据库时,会忽略关系数据库的隐式类型,进而导致索引失效。44.基于上述问题,本技术提供一种数据检索方法,通过接收数据库语句;对数据库语句进行解析,得到检索条件,检索条件包括:比较符和比较符两侧的数据;在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息;根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据,对数据库语句在检索前进行显式转换,使比较符两侧的数据的字段类型一致,进而可以避免数据检索过程中进行隐式类型转换,因此本技术能够提高关系数据库中数据的检索效率。45.在介绍了本技术的基本原理之后,下面具体介绍本技术的各种非限制性实施方式。46.首先参考图1,为本技术提供的数据检索方法的应用场景图,包括终端设备11和服务器12,终端设备11向服务器12发送检索请求,服务器12中配置关系数据库,服务器12将检索请求转换成对应的数据库语句,根据数据库语句在关系数据库中检索对应的数据,发送给终端设备11。47.在本技术中,可以对数据库语句进行更新,避免在关系数据库中发生隐式转换,提高关系数据库中数据的检索效率。48.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。49.参照图2,为本技术一实施例提供的数据检索方法的步骤流程图,该数据检索方法具体包括如下步骤:50.s201,接收数据库语句。51.其中,数据库为关系数据库,关系数据库包括:mysql数据库、oracle数据库或sqlserver数据库。数据库语句包括:简单的查询语句、子查询语句、联结表语句、组合查询语句、插入数据语句、更新数据语句、删除数据语句、创建表语句等。52.示例性地,数据库语句如:select*fromt_base_userwheretelephone=12345678901,意思为在用户表中查询电话为12345678901的数据。53.进一步地,接收数据库语句包括:接收终端设备发送的检索请求,根据检索请求生成数据库语句。例如,终端设备发送的检索请求为,检索电话为查找12345678901的用户信息,则根据检索请求生成的数据库语句为select*fromt_base_userwheretelephone=12345678901。54.s202,对数据库语句进行解析,得到检索条件。55.其中,检索条件包括:比较符和比较符两侧的数据。具体地,比较符包括:等于“=”、大于“>”、小于“<”、大于或等于“≥”、小于或等于“≤”、不等于“!=”、最少“least”、最大的“greatest”、和“and”等。56.进一步地,对数据库进行解析,可以得到多个检索条件,对每个检索条件进行后续的处理。例如,x城共有三所学校,分别为aa小学、bb中学和cc中学。其中,三所学校的数据均存储在一个数据库中,每个学校对应一个数据表,则aa小学对应aa小学数据表、bb中学对应bb中学数据表、cc中学对应cc中学数据表。此外,每个数据表中包括:每个学校的组织架构,例如,bb中学包括:初一至高三,初一包括一班到六班,则bb中学包括每个班级的学生的姓名、出生年月日、家庭住址、联系方式、考试名次等信息。57.此外,对数据库语句进行解析,可以得到一个检索条件可以是“telephone=12345678901”。也可以得到两个检索条件,是检索条件1“telephone=12345678901”、检索条件2“bbmiddleschooland20”表示在bb中学查找考试名次20名的学生,检索条件3“grade>juniortwo”表示查找在大于初二年级中查找。其中,多个检索条件可以组成检索列表。58.s203,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致。59.其中,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息。60.进一步地,在有多个检索条件时,针对每个检索条件执行s203。其中,转换目标数据的字段类型是采用关系型数据库引擎对应的数据库函数对目标数据进行字段类型的转换,其中,数据库函数如:to_char、to_number。61.此外,字段类型包括:text(文本型),int(整数型),tinyint(字节型),datetime(日期型),vachar(一种字符类型),char字符型(一种字符类型)。62.在本技术实施例中,只有两侧的数据中有一个或者两个数据在数据库中具有索引信息,才需要对其中一个数据的字段类型进行转换,以避免在比较符两侧的数据的字段类型不同时,在数据库语句执行过程中发生隐性转换,导致索引信息失效。而本技术在数据库语句执行前,就对检索条件中的数据的字段类型进行转换,可以避免索引失效。63.示例性地,对检索条件1“telephone=12345678901”,可以采用数据库函数,将“telephone”转换为数值型,转换后的数值表示“电话号码”的含义,例如转换后的检索条件1为“2456=12345678901”,其中,“2456”为“telephone”类型转换后的结果。对检索条件1“telephone=12345678901”,可以采用数据库函数,将“telephone”转换为数值型,转换后的数值表示“电话号码”的含义,例如转换后的检索条件1为“2456=12345678901”,其中,“2456”为“telephone”类型转换后的结果。此外,也可以采用数据库函数将“12345678901”转换成字符型。64.其中,检索条件2“bbmiddleschooland20”表示在bb中学和20名次,可以采用数据库函数,若“bbmiddleschool”为目标数据,则将“bbmiddleschool”转换为数值型,转换后的数值表示“bb中学”的含义,若“20”为目标数据,则采用数据库函数将“20”转换成字符型。65.此外,检索条件3“grade>juniortwo”中比较符“>”两侧的数据均为字符型,则不进行转换处理。66.s204,根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据。67.其中,是采用转换后的目标数据替换数据库语句中原目标数据,得到更新后的数据库语句,更新后的数据库语句由于比较符两侧的数据的字段类型相同,因此在采用更新后的数据库语句在数据库中检索目标数据时,不会出现隐式转换的问题,因此也不会造成字段的索引信息的失效,能够提高检索效率。68.示例性地,若数据库语句如:select*fromt_base_userwheretelephone=12345678901,其中,数据“telephone”通过字段类型转换后为“2456”,则采用“2456”更新数据库语句,得到更新后的数据库语句“select*fromt_base_userwhere2456=12345678901”,然后采用更新后的数据库语句“select*fromt_base_userwhere2456=12345678901”检索电话号码为“12345678901”的目标数据。69.本技术通过实施例通过接收数据库语句;对数据库语句进行解析,得到检索条件,检索条件包括:比较符和比较符两侧的数据;在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息;根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据,对数据库语句在检索前进行显式转换,使比较符两侧的数据的字段类型一致,进而可以避免数据检索过程中进行隐式类型转换,因此本技术能够提高关系数据库中数据的检索效率。70.在上述实施例的基础上,本技术实施例还一种数据检索方法,具体参照图3,该数据检索方法具体包括如下步骤:71.s301,确定数据库中的目标字段和目标字段所属的目标数据表。72.其中,目标字段的字段类型和所属系统的对应代码的字段类型不同,目标字段在数据库中具有索引信息。73.在本技术实施例中,确定数据库中的目标字段和目标字段所属的目标数据表包括:在系统启动的情况下或者微服务的配置中心中,获取数据库字段的索引信息;在具有索引信息的字段中,确定目标字段和目标字段所属的目标数据表。74.具体地,首先获取数据库中的数据结构和索引信息,具体为在目标应用的系统启动时,自动连接目标应用对应的数据库,读取数据库中的库表结构,以获取到每个字段的字段类型,并且在自动连接数据库后读取数据表已创建的所有字段的索引信息。75.可选地,若目标应用采用微服务架构,则可以在微服务的配置中心中获取每个字段的字段类型以及每个字段的索引信息。在采用微服务架构时,可以不限定在目标应用的系统启动时获取每个字段的字段类型以及每个字段的索引信息,可以在任意情况下在微服务的配置中心中获取每个字段的字段类型以及每个字段的索引信息。76.进一步地,在获取的每个字段中确定目标字段以及目标字段所属的目标数据表。其中,该目标字段是若数据库发生隐式转换时,可能会出现索引信息失效的字段。首先,在上述获取的每个字段中,确定具有索引信息的中间字段,然后比较数据库中该中间字段的字段类型和系统代码中对应的字段类型是否一致,若不一致,则确定该中间字段为目标字段。其中,在中间字段的字段类型与系统代码中对应的字段类型不一致时,在执行数据库语句时,会存在隐式转换的问题。因此,将与系统代码中对应的字段类型不一致的中间字段作为目标字段。77.示例性地,对于字段“bbmiddleschool”,在数据库中为字符型,但是在系统代码里指示“bb中学”应该用数值进行表示,则该数据库中的““bbmiddleschool”在用于检索时,更易发生隐式转换,所以设定为目标字段。78.s302,根据目标字段和目标数据表,构建目标字段的字段标识。79.其中,字段标识包括:目标字段的字段名称和数据表的目标名称。在数据库中,每个字段具有字段名称,每个数据表具有数据表名称。因此,这里采用目标字段的字段名称和目标字段所属的数据表的数据表名称,构建目标字段的字段标识。例如tablename_columnname,其中,tablename标识数据名名称,columnname表示字段名称。80.其中,索引信息还包括:联合索引。具体地,数据库库索引是一种数据结构,它以额外的写入和存储空间为代价来提高数据表上数据检索操作的速度。类似于书的目录,根据其中目录的页码可以快速找到所需的内容。其中,联合索引是由多个字段组成的索引,例如,a和b两个字段,如果经常采用a b的检索条件取查询,则可以建立字段a和字段b的联合索引,以提升检索效率。因此对于多个目标字段具有联合索引,则字段标识为“tablename_columnname1、tablename_columnname2、……、tablename_columnnamen”,其中columnname1、columnname2至columnnamen对应的多个目标字段为联合索引,n正整数。81.s303,将字段标识存储在字段标识集合中。82.其中,字段标识集合中包括多个字段标识。83.s304,接收数据库语句。84.该步骤的具体实现过程参数s201,在此不再赘述。85.s305,对数据库语句进行解析,得到检索条件。86.其中,该步骤的具体实现过程参照s202,在此不再赘述。87.s306,确定数据表的别名对应的数据表的目标名称。88.其中,检索条件还包括:数据表的别名。在解析过程中,解析数据库语句中的数据表的目标名称,或者数据表的别名。例如,数据表的目标名称为“bb中学”,该数据表的别名为“bb学校”。89.在本技术实施例中,可以根据预先设立的数据表的别名与数据表的目标名称的对应关系,在解析到数据表的别名后,根据该对应关系,确定对应的目标名称。90.s307,采用数据表的目标名称更新检索条件。91.其中,对数据库语句解析后,得到多个检索条件,多个检索条件组成检索列表。可以采用数据表的目标名称替换检索条件中数据表的别名。92.s308,确定两侧的数据中的至少一个数据是否在字段标识集合中。93.其中,至少一个数据为字段名称,字段标识集合包括:多个字段名称以及字段名称的数据表名称,字段标识集合中的字段名称具有对应的索引信息;若是,执行s309,若否,则结束流程。94.s309,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型。95.一种实施例中,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,包括:在两侧的数据中一侧的数据为第一字段名称,另一侧的数据为参数的情况下,将参数的字段类型转换为第一字段名称的字段类型。96.其中,第一字段名称为数据库语句中固定的字段名称,如“telephone、school、grade”。参数是指由用户选定的,可变的参数,如“12345678901、juniortwo”。其中,由于第一字段名称和参数的字段类型不同,且第一字段名称和/或参数属于目标字段,则将参数的字段类型转换成与第一字段名称的字段类型相同,例如,参数“12345678901”的字段类型为数值型,第一字段名称“telephone”的字段类型为字符型,则将参数“12345678901”的字段类型由数值型转换为字符型。在本技术实施例中,优选转换参数的字段类型,可以使数据库语句中固定字段“第一字段名称”对应的字段类型不会发生变化,进而方便数据库中进行数据检索,提高检索效率。97.另一种实施例中,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,包括:在两侧的数据中一侧的数据为第二字段名称,另一侧的数据为第三字段名称的情况下,在第二字段名称和第三字段名称中确定目标数据,其中,目标数据的优先级高于另一字段名称,在字段标识集合中的字段名称的优先级高于不在字段标识集合中的字段名称,数据量小的字段名称的优先级高于数据量的字段名称;转换目标数据的字段类型。98.例如,参照检索条件2“bbmiddleschooland20”,其中第二字段名称“bbmiddleschool”和第三字段名称“20”均为数据库中固有的字段,其中,若第二字段名称在字段标识集合,第三字段名称不在字段标识集合,则说明第三字段名称对应的字段不具有索引,则转换第三字段名称不会导致索引失效的问题,则优先转换不在字段标识集合的字段名称。99.其中,若在第二字段名称和第三字段名称均在字段标识集合中时,则比较第二字段名称和第三字段名称的数据量,优先转换数据量小的字段名称,可以提高转换效率。例如,100.检索条件2“bbmiddleschooland20”,其中第二字段名称“bbmiddleschool”和第三字段名称“20”均在字段标识集合中,则第三字段名称“30”的数据量较小,则优先转换第三字段名称“30”。101.s310,根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据。102.该步骤的具体实现过程参照s204,在此不再赘述。103.在本技术实施例中,s301至s303可以是在目标应用的系统启动阶段执行的,s304至s310可以是在目标应用的系统运行阶段执行的。104.本技术不需要研发人员关注到数据库字段类型,保证所有检索条件不出现由于数据的字段类型的隐式转换导致数据库索引失效的风险。并且不需要修改任何代码,在转换数据的字段类型后,自动次啊哟转换后的目标数据更新数据库语句进行数据的检索。105.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。106.参照图4,为本技术实施例提供的一种数据检索装置的示意图,该数据检索装置400包括:接收模块401,解析模块402、转换模块403和更新模块404。其中:107.接收模块401,用于接收数据库语句;108.解析模块402,用于对数据库语句进行解析,得到检索条件,检索条件包括:比较符和比较符两侧的数据;109.转换模块403,用于在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型,使目标数据和另一数据的字段类型一致,目标数据为两侧的数据中的一个,两侧的数据中的至少一个数据在数据库中具有索引信息;110.更新模块404,用于根据转换后的目标数据更新数据库语句,并采用更新后的数据库语句在数据库中检索目标数据。111.在本技术一个实施例中,转换模块403具体用于:确定两侧的数据中的至少一个数据是否在字段标识集合中,至少一个数据为字段名称,字段标识集合包括:多个字段名称以及字段名称的数据表名称,字段标识集合中的字段名称具有对应的索引信息;若是,在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型。112.在本技术一个实施例中,转换模块403具体用于:在两侧的数据中一侧的数据为第一字段名称,另一侧的数据为参数的情况下,将参数的字段类型转换为第一字段名称的字段类型。113.在本技术一个实施例中,转换模块403具体用于:在两侧的数据中一侧的数据为第二字段名称,另一侧的数据为第三字段名称的情况下,在第二字段名称和第三字段名称中确定目标数据,其中,目标数据的优先级高于另一字段名称,在字段标识集合中的字段名称的优先级高于不在字段标识集合中的字段名称,数据量小的字段名称的优先级高于数据量的字段名称;转换目标数据的字段类型。114.在本技术一个实施例中,检索条件还包括:数据表的别名,更新模块还用于,在在两侧的数据的字段类型不一致的情况下,转换目标数据的字段类型之前,确定数据表的别名对应的数据表的目标名称;采用数据表的目标名称更新检索条件。115.在本技术一个实施例中,还包括:116.确定模块(未示出),用于确定数据库中的目标字段和目标字段所属的目标数据表,目标字段的字段类型和所属系统的对应代码的字段类型不同,目标字段在数据库中具有索引信息;117.构建模块(未示出),用于根据目标字段和目标数据表,构建目标字段的字段标识,字段标识包括:目标字段的字段名称和数据表的目标名称;118.存储模块(未示出),用于将字段标识存储在字段标识集合中。119.在本技术一个实施例中,确定模块具体用于:在系统启动的情况下或者微服务的配置中心中,获取数据库字段的索引信息;在具有索引信息的字段中,确定目标字段和目标字段所属的目标数据表。120.具体的,该数据检索装置的各个模块的具体工作内容,请参照上述数据检索方法的实施例内容,此处不再赘述。121.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。127.可选的,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,使得电子设备执行如上述实施例的方法。128.可选的,本技术实施例还提供一种计算机程序产品,其上存储有计算机程序,计算机程序被处理器执行时,使得电子设备执行上述实施例的方法。129.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。130.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。131.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献