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

文档序号:33113599发布日期:2023-02-01 02:30阅读:22来源:国知局
一种数据查询方法、装置、设备和存储介质与流程

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.图1为本技术实施例提供的一种数据查询方法的一个流程示意图;
35.图2为本技术实施例提供的一种数据查询方法的另一个流程示意图;
36.图3为本技术实施例提供的一种数据查询装置的一个结构示意图。
具体实施方式
37.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.为了便于理解,请参阅图1,本技术实施例提供了一种数据查询方法,应用于服务端,方法包括:
39.步骤101、从多个数据源中获取路测数据的数据特征进行聚合,并将聚合后的数据特征写入到新数据库中。
40.服务端可以从多个数据源中获取路测数据的数据特征,包括数据类型、数据名称、数据源、数据范围等,其中,数值类型数据的数据范围包括上限、下限,布尔类型数据的数据范围包括真(true)、假(false);然后聚合获取的这些数据特征,再将聚合后的数据特征写入一个新数据库中,每个数据类型对应一种校验方式,例如,整型数据对应的校验方式是检查输入是否是数字,布尔类型数据对应的校验方式是检查输入是否是true或者false。给每种数据类型配置对应的校验方式,作用在于不同数据源对不同类型数据的处理方式不同,在查询时需要依据数据类型的不同,生成不同的查询语句。
41.步骤102、当用户确定用于查询目标路测数据的第一查询语句后,对第一查询语句进行校验。
42.为了统一所有数据源的数据,本技术实施例构建了对应的查询语言,查询语言包括数据组、常量、逻辑运算和算术运算,数据组包括数据类和数据名称,具有内置的数据类校验和数据类型校验;数据类包括类名、数据源、数据名称、数据类型和数据校验逻辑,其中,数据源、数据类型和数据校验逻辑为私有属性。
43.用户查询目标路测数据时,可以在搜索框中输入对应的数据类的类名、数据名称作为第一查询语句。当然,用户还可以输入用于查询目标路测数据的限定条件,如数值范围
(如》2)、字符串模糊匹配、正则表达式等,以及各个限定条件的逻辑运算,前端会将用户输入的第一查询语句发送给服务端,服务端会对第一查询语句进行解析,若用户输入的第一查询语句中包括类名、数据名称、限定条件以及限定条件的逻辑运算,服务端会在类名、数据名称的基础上通过限定条件做进一步筛选,并且对限定条件进行对应的逻辑运算。
44.服务端在解析第一查询语句前,会先对第一查询语句进行校验,以验证用户是否输入正确的查询语句,具体校验过程可以为:
45.将第一查询语句中的类名与查询语言中预先自定义的类名进行匹配;
46.若第一查询语句中的类名不能匹配到一致的类名,则判定校验失败;
47.若第一查询语句中的类名匹配到一致的类名,则根据第一查询语句中的类名、数据名称在新数据库中确定对应的目标数据源,并根据第一查询语句中的类名和目标数据源进行数据类型校验;
48.若数据类型校验通过,则判定校验成功,若数据类型校验未通过,则判定校验失败。
49.服务端在获取到第一查询语句后,根据第一查询语句中的类名与在构建查询语言时预先定义好的类名进行匹配,若不能匹配到一致的类名,说明第一查询语句不合法,输入的类名是错误的,也就无法基于第一查询语句中的类名查询数据,此时校验失败,可以返回错误信息给用户,以便用户纠正或重新输入查询语句。若能匹配到一致的类名,说明输入的第一查询语句中的类名是正确的,此时服务端可以根据第一查询语句中的类名、数据名称在新数据库中检索对应该类名和数据名称的目标数据源,该过程可以从所有数据源中筛选出该目标路测数据可能存在的目标数据源,减少了检索范围,有助于减少时间搜索成本。
50.在确定目标数据源后,可以根据第一查询语句中的类名和对应的目标数据源进行数据类型校验,数据类型校验过程可以为:
51.根据第一查询语句中的类名和目标数据源在新数据库中确定对应的目标数据类型;
52.根据目标数据类型校验第一查询语句对应的数据类型,若校验到第一查询语句对应的数据类型与目标数据类型一致,则通过数据类型校验,若校验到第一查询语句对应的数据类型与目标数据类型不一致,则未通过数据类型校验。
53.根据第一查询语句中的类名和对应的目标数据源可以在新数据库中检索该目标数据源对应的数据类型,从而确定目标数据类型;然后根据目标数据类型校验第一查询语句对应的数据类型是否与目标数据类型一致,即根据目标数据类型对应的校验方式对第一查询语句进行数据类型校验。例如,用户输入的第一查询语句为city guangzhou,根据类名city确定其对应的目标数据类型为字符串,在进行数据类型校验时,验证到用户输入的数据名称guangzhou为字符串,此时判定数据类型校验通过;若用户输入的第一查询语句为leve shanghai,根据类名level确定其对应的目标数据类型为数值,在进行数据类型校验时,验证到用户输入的shanghai不是数值,此时判定数据类型验证未通过,即校验失败,可以返回错误信息给用户。
54.步骤103、若校验成功,则根据第一查询语句在新数据库中确定的目标数据源和目标数据类型解析生成目标数据源对应的第二查询语句,并通过第二查询语句在目标数据源中查询目标路测数据,得到查询结果。
guilin、city ganzhou等,服务端将匹配结果返回给用户进行参考,减少用户输入错误的查询字段的可能性,从而提高查询效率。
64.步骤203、当用户确定用于查询目标路测数据的第一查询语句后,对第一查询语句进行校验。
65.步骤204、若校验成功,则根据第一查询语句在新数据库中确定的目标数据源和目标数据类型解析生成目标数据源对应的第二查询语句,并通过第二查询语句在目标数据源中查询目标路测数据,得到查询结果。
66.步骤203至步骤204中的具体内容与前述步骤中步骤102至步骤103中的具体内容一致,在此不再进行赘述。
67.本技术实施例中,从多个数据源中提取路测数据的数据名称、数据源、数据类型等数据特征进行聚合并存储到新数据库中,在成功校验用户输入的第一查询语句后,根据第一查询语句在新数据库查询目标路测数据对应的目标数据源和目标数据类型,从而确定目标路测数据所在的目标数据源以及该目标数据源对应的目标数据类型,再根据目标数据源和目标数据类型解析生成该目标数据源对应的第二查询语句,以便在目标数据源中查询目标路测数据,避免了用户逐个在数据源中查询数据,缩短了查询时间,提高了查询效率,从而改善了现有技术在不同数据源中进行数据查询时存在的查询效率低的技术问题。
68.进一步,本技术实施例可以根据用户输入的字符提供数据补全功能,为用户提供具体元数据的数据名称和类名,可以减少查询出错的可能性,提高查询效率。
69.以上为本技术提供的一种数据查询方法的另一个实施例,以下为本技术提供的一种数据查询装置的一个实施例。
70.请参考图3,本技术实施例提供的一种数据查询装置,包括:
71.聚合单元,用于从多个数据源中获取路测数据的数据特征进行聚合,并将聚合后的数据特征写入到新数据库中,数据特征包括数据名称、数据类型和数据源;
72.校验单元,用于当用户确定用于查询目标路测数据的第一查询语句后,对第一查询语句进行校验,第一查询语句包括数据名称;
73.查询单元,用于若校验成功,则根据第一查询语句在新数据库中确定的目标数据源和目标数据类型解析生成目标数据源对应的第二查询语句,并通过第二查询语句在目标数据源中查询目标路测数据,得到查询结果。
74.作为进一步地改进,第一查询语句对应的查询语言包括数据组、常量、逻辑运算和算术运算,数据组包括数据类和数据名称,数据类包括类名、数据源、数据名称、数据类型和数据校验逻辑。
75.作为进一步地改进,还包括:
76.匹配单元,用于当用户在搜索框中输入用于查询目标路测数据的字符时,在新数据库中匹配与字符最接近的类名、数据名称,并将得到的匹配结果返回给该用户,以便用户根据匹配结果确定第一查询语句。
77.作为进一步地改进,校验单元,具体用于:
78.将第一查询语句中的类名与查询语言中预先自定义的类名进行匹配;
79.若第一查询语句中的类名不能匹配到一致的类名,则判定校验失败;
80.若第一查询语句中的类名匹配到一致的类名,则根据第一查询语句中的类名、数
据名称在新数据库中确定对应的目标数据源,并根据第一查询语句中的类名和目标数据源进行数据类型校验;
81.若数据类型校验通过,则判定校验成功,若数据类型校验未通过,则判定校验失败。
82.作为进一步地改进,还包括:
83.更新单元,用于定时从多个数据源中获取新的数据特征对新数据库进行更新,同时更新所有数据类的数据类型。
84.本技术实施例中,从多个数据源中提取路测数据的数据名称、数据源、数据类型等数据特征进行聚合并存储到新数据库中,在成功校验用户输入的第一查询语句后,根据第一查询语句在新数据库查询目标路测数据对应的目标数据源和目标数据类型,从而确定目标路测数据所在的目标数据源以及该目标数据源对应的目标数据类型,再根据目标数据源和目标数据类型解析生成该目标数据源对应的第二查询语句,以便在目标数据源中查询目标路测数据,避免了用户逐个在数据源中查询数据,缩短了查询时间,提高了查询效率,从而改善了现有技术在不同数据源中进行数据查询时存在的查询效率低的技术问题。
85.进一步,本技术实施例可以根据用户输入的字符提供数据补全功能,为用户提供具体元数据的数据名称和类名,可以减少查询出错的可能性,提高查询效率。
86.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
87.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
88.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
89.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
90.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
91.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
92.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:randomaccess memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
93.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1