System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种空间数据查询方法、系统及电子设备技术方案_技高网

一种空间数据查询方法、系统及电子设备技术方案

技术编号:41212627 阅读:4 留言:0更新日期:2024-05-09 23:35
本发明专利技术提供一种空间数据查询方法,包括:识别当前数据库特征信息,与预设数据库特征信息进行比较;基于比较结果判断当前数据库的自带功能可否满足当前空间数据查询要求,若否:则基于所述预设数据库特征信息,改造所述当前数据库,得到目标数据库;运行所述目标数据库进行空间数据查询,获取预定义距离范围内的实时数据;其中,所述数据库特征信息包括数据库的类型和版本。该方法能够充分利用数据库的自带功能以提高查询性能,且简化了开发难度、增强了适应性和可扩展性。本发明专利技术还提供的系统及电子设备具有相应优势。

【技术实现步骤摘要】

本专利技术属于数据处理,具体涉及一种空间数据查询方法、系统及相应的电子设备。


技术介绍

1、随着数据处理技术的发展,空间索引技术在地理信息系统、位置服务、数据库等领域都有广泛的应用,不同的技术适用于不同的场景和查询需求,新的空间索引方法也在不断涌现,以更好地满足对空间数据的高效查询和分析需求。具体来说,利用空间索引和地理位置查询功能在数据库系统中使用特定的索引结构和地理位置查询功能,以提高对空间数据的查询效率和精确性。

2、现有技术中,空间索引技术在数据库系统中提供了高效的空间数据组织和检索方式,地理位置查询功能一般通过数据库系统提供的函数和操作符实现,结合空间索引技术,可以满足不同场景下对空间数据的灵活查询需求。在地理信息系统(gis)、位置服务、电商等领域都要用到空间数据查询技术。举例来说,现有的空间数据查询方案主要有如下两种:一种是基于postgresql数据库环境,使用postgresql数据库,在一定数据量下,可以用空间索引的三种方法实现空间搜索:一、gist索引,针对geometry类型的索引,支持空间knn搜索,空间位置判断;二、spgist索引,针对geometry类型的索引,支持空间knn搜索,空间位置判断;三、geohash和btree索引,将经纬度转换为geohash,对hash value创建btree索引。使用表达式索引即可,支持prefix搜索(从而实现编码后的地理位置信息网格包含的关系),属于lossy索引,需要二次过滤。另一种方法是使用mysql数据库,用java代码实现的方法。但在实际应用中发现这两种方法并不能满足要求,主要在于:第一种方案,限定了数据库必须为postgresql数据库,而市面上以mysql数据库为主,且mysql数据库更适用于一些特定应用场景,如电商,此外采用第一种方案对数据量有一定限制要求,数据量不能太大,索引结构必须额外开发优化方案,否则海量数据下,查询数据效率非常低效;第二种方案对数据量也有限制,对特定场景的数据需要处理转换,导致代码量增多,对经纬度的处理效率较低。

3、由于现有技术的限制,面临以下主要问题:数据库类型、版本等无法动态适配实际应用场景,对特定场景的适应性非常有限,特别是对于电商等环境并不适用,无法充分地利用高版本数据库的自带函数和空间索引技术,获取更先进的功能和性能优化;数据处理中对特定场景数据绕不开不必要的转换操作,代码复杂度高,处理效率低,开发难度和工作量大。

4、现有技术在实际应用中仍存在较多的局限性,不灵活,可扩展性差,难以适应差异化的数据库环境和多样化应用场景。

5、可知,现有技术要快速获取周围环境下一定空间范围内的所需数据对象存在困难。因此,亟需开发一种空间数据查询方法、系统及相应的电子设备,更灵活、更高效,更好地满足特定场景下的需求,改善用户体验,以此推动数据处理技术的深层次应用。


技术实现思路

1、本专利技术是为解决上述现有技术的全部或部分问题,本专利技术一方面提出了一种空间数据查询方法,对数据库类型的区分支持、对数据库版本的升级和函数优化,能够充分利用多种空间索引技术以及结合地理位置功能实现高效的获取海量数据场景下一定距离范围内的实时数据。本专利技术另一方面提供的空间数据查询系统,灵活性和性能可以持续提高,可以全面适应多变的数据库环境和应用场景,进而满足用户体验和实际需求。本专利技术还提供了相应的电子设备,能够执行本专利技术的空间数据查询方法。

2、本专利技术一方面提供的一种空间数据查询方法,包括:识别当前数据库特征信息,与预设数据库特征信息进行比较;基于比较结果判断当前数据库的自带功能可否满足当前空间数据查询要求,若否:则基于所述预设数据库特征信息,改造所述当前数据库,得到目标数据库;运行所述目标数据库进行空间数据查询,获取预定义距离所界定范围内的实时数据;其中,所述数据库特征信息包括数据库的类型和版本。

3、通过比较当前数据库的特征信息和预设数据库特征信息,具备动态改造数据库的能力,可以充分利用数据库的自带功能适应特定的查询需求,性能优化效率高、灵活性强;通过自动化改造,系统可以根据预设的标准对数据库进行升级、配置、扩展等操作,改造当前数据库的类型、版本等,得到可以动态化满足空间数据查询要求的目标数据库,人工介入成本更少和复杂性更低。对于需要及时更新的应用场景,如位置服务、实时监控等,具有特殊优势,能将高版本空间数据库的自带功能有效地结合到特定应用场景中解决如何快速获取周围环境下一定空间范围内的所需数据对象困难的现实问题。

4、有些实施例中,所述自带功能包括空间索引功能和地理位置搜索功能。

5、有些实施例中,得到所述预设数据库特征信息的方法包括:获取所述当前空间数据查询要求;对数据库的版本和特性进行分析,调研中间件,得到能够满足所述当前空间数据查询要求的数据库的类型和版本作为所述预设数据特征信息。

6、通过分析当前空间数据查询要求,智能地获取预设数据库特征信息,包括数据库的类型和版本,提供了能够基于实际需求选择最适合的数据库类型和版本的可行方案。

7、有些实施例中,改造所述当前数据库的方法包括:根据所述预设数据库特征信息,对当前数据库的类型和/或版本进行升级;更新和升级内置的插件和组件;第三方组件适配;自定义插件适配。

8、一个具体的实施例中,改造所述当前数据库的方法还包括:修改插件代码以支持更高位数的密钥长度,升级加密算法。

9、一个具体的实施例中,对当前数据库的类型和/或版本进行升级之前,进行:制定数据库升级计划,评估升级过程中风险。

10、在改造当前数据库之前,系统制定数据库升级计划,并评估升级过程中的风险,从而确保数据库升级和配置的安全性和稳定性。

11、有些实施例中,改造所述当前数据库之后还进行校对,包括:预编译返回状态值,运行预执行,判断执行结果与所述返回状态值是否一致。

12、有些实施例中,所述运行目标数据库之前,还进行:评估数据体量,相应优化空间索引,包括基于分区表策略修改索引结构,和/或基于所述目标数据库的类型定义适配的空间索引技术。

13、在运行目标数据库进行空间数据查询之前,系统进行了评估数据体量,相应优化空间索引的步骤,有利于进一步提高查询效率。

14、有些实施例中,所述预设数据库特征信息包括第一版本和第一类型;进行比较的方法包括:根据识别得到所述当前数据库的类型和版本,相应记为第二版本和第二类型;判断所述第一类型与所述第二类型是否一致,若一致,则比较所述第一版本与所述第二版本。

15、有些实施例中,识别当前数据库特征信息的方法包括:检查sql查询语句的关键词和语法,与不同数据库的语法特性进行遍历和比对,判断数据库的类型和版本。

16、有些实施例中,空间数据查询方法,还包括:记录查询结果和所述目标数据库的状态信息;所述状态信息包括:所述目标数据库的参数设置、索引配置、表结构,以及索引的更新频率、本文档来自技高网...

【技术保护点】

1.一种空间数据查询方法,其特征在于,包括:

2.根据权利要求1所述的空间数据查询方法,其特征在于,所述自带功能包括空间索引功能和地理位置搜索功能。

3.根据权利要求1所述的空间数据查询方法,其特征在于,得到所述预设数据库特征信息的方法包括:

4.根据权利要求1所述的空间数据查询方法,其特征在于,改造所述当前数据库的方法包括:

5.根据权利要求4所述的空间数据查询方法,其特征在于,改造所述当前数据库的方法还包括:修改插件代码以支持更高位数的密钥长度,升级加密算法。

6.根据权利要求4所述的空间数据查询方法,其特征在于,对当前数据库的类型和/或版本进行升级之前,进行:制定数据库升级计划,评估升级过程中风险。

7.根据权利要求1所述的空间数据查询方法,其特征在于,改造所述当前数据库之后还进行校对,包括:预编译的返回状态值,运行预执行,判断执行结果与所述返回状态值是否一致。

8.根据权利要求1所述的空间数据查询方法,其特征在于,所述运行目标数据库之前,还进行:评估数据体量,相应优化空间索引,包括基于分区表策略修改索引结构,和/或基于所述目标数据库的类型定义适配的空间索引技术。

9.根据权利要求1所述的空间数据查询方法,其特征在于,所述预设数据库特征信息包括第一版本和第一类型;进行比较的方法包括:

10.根据权利要求1所述的空间数据查询方法,其特征在于,识别当前数据库特征信息的方法包括:检查SQL查询语句的关键词和语法,与不同数据库的语法特性进行遍历和比对,判断数据库的类型和版本。

11.根据权利要求1所述的空间数据查询方法,其特征在于,空间数据查询方法,还包括:记录查询结果和所述目标数据库的状态信息;所述状态信息包括:所述目标数据库的参数设置、索引配置、表结构,以及索引的更新频率、性能指标。

12.根据权利要求1所述的空间数据查询方法,其特征在于,所述当前数据库和所述目标数据库包括:基于开源项目衍生而来的数据库。

13.根据权利要求1至12任一项所述的空间数据查询方法,其特征在于,运行所述目标数据库进行空间数据查询的步骤包括:

14.根据权利要求13所述的空间数据查询方法,其特征在于,所述自带函数包括:包含关系判断函数、距离计算函数、相交关系判断函数、缓冲区创建函数、点创建函数、包含于关系判断函数转换为文本表示函数、从文本创建几何对象函数、球面上两点间的距离函数。

15.根据权利要求13所述的空间数据查询方法,其特征在于,所述自带函数是MySQL数据库的地理计算函数,包括:ST_Distance函数,用于计算两个地理坐标点之间的距离,返回值是以米为单位的距离;ST_Buffer函数用于计算指定点的缓冲;ST_Contns函数用于判断指定点是否在指定区域内。

16.根据权利要求13所述的空间数据查询方法,其特征在于,所述目标区域的定义方法包括:以所述预设值为半径划定目标范围,在所述目标范围内选取多个目标位置,分别以所述多个目标位置为顶点构成的多边形区域作为所述目标区域。

17.根据权利要求13所述的空间数据查询方法,其特征在于,获取所述实时数据的方法包括:选择需要查询的字段,设定定时任务监测所述字段是否更新;如果有符合用户查询条件的新数据,则实时将其添加到展示结果中。

18.一种空间数据查询系统,其特征在于,用于支持实现权利要求1至17任一项所述的空间数据查询方法;包括:中间件、数据库单元、多个服务器构成的前端集群单元;

19.根据权利要求18所述的空间数据查询系统,其特征在于,所述当前数据库的版本是MySQL5.7版本之前的版本,所述数据库单元的架构设定为主从复制的架构;所述数据库单元的调度机制为分布式调度机制。

20.一种电子设备,其特征在于,包括存储器、处理器,以及若干计算机程序,其中所述计算机程序存储于所述存储器中,且经配置以由若干所述处理器执行权利要求1至17任一项所述的空间数据查询方法。

...

【技术特征摘要】

1.一种空间数据查询方法,其特征在于,包括:

2.根据权利要求1所述的空间数据查询方法,其特征在于,所述自带功能包括空间索引功能和地理位置搜索功能。

3.根据权利要求1所述的空间数据查询方法,其特征在于,得到所述预设数据库特征信息的方法包括:

4.根据权利要求1所述的空间数据查询方法,其特征在于,改造所述当前数据库的方法包括:

5.根据权利要求4所述的空间数据查询方法,其特征在于,改造所述当前数据库的方法还包括:修改插件代码以支持更高位数的密钥长度,升级加密算法。

6.根据权利要求4所述的空间数据查询方法,其特征在于,对当前数据库的类型和/或版本进行升级之前,进行:制定数据库升级计划,评估升级过程中风险。

7.根据权利要求1所述的空间数据查询方法,其特征在于,改造所述当前数据库之后还进行校对,包括:预编译的返回状态值,运行预执行,判断执行结果与所述返回状态值是否一致。

8.根据权利要求1所述的空间数据查询方法,其特征在于,所述运行目标数据库之前,还进行:评估数据体量,相应优化空间索引,包括基于分区表策略修改索引结构,和/或基于所述目标数据库的类型定义适配的空间索引技术。

9.根据权利要求1所述的空间数据查询方法,其特征在于,所述预设数据库特征信息包括第一版本和第一类型;进行比较的方法包括:

10.根据权利要求1所述的空间数据查询方法,其特征在于,识别当前数据库特征信息的方法包括:检查sql查询语句的关键词和语法,与不同数据库的语法特性进行遍历和比对,判断数据库的类型和版本。

11.根据权利要求1所述的空间数据查询方法,其特征在于,空间数据查询方法,还包括:记录查询结果和所述目标数据库的状态信息;所述状态信息包括:所述目标数据库的参数设置、索引配置、表结构,以及索引的更新频率、性能指标。

12.根据权利要求1所述的空间数据查询方法,其特征在于,所述当前数据库和所述目标数据库包括:基于...

【专利技术属性】
技术研发人员:蒋海李东张保平
申请(专利权)人:布比北京网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1