一种海洋生态环境监测并行数据检索方法技术

技术编号:24707922 阅读:81 留言:0更新日期:2020-06-30 23:57
本发明专利技术公开了一种海洋生态环境监测并行数据检索方法,包括以下步骤:遍历海洋生态环境监测数据库的数据表,根据采集参数计算欧几里得距离,并排序,记为A组;根据所要检索的条件,遍历索引数据库中的索引表,根据检索项目,计算欧几里得距离,并排序,记为B组;根据B组中数据的个数m,分成k=m/log

【技术实现步骤摘要】
一种海洋生态环境监测并行数据检索方法
本专利技术涉及海水生态环境监测
,特别涉及一种海洋生态环境监测并行数据检索方法。
技术介绍
在海洋生态环境监测数据分析过程中,需要检索其他同类型的仪器所采集的数据,与本海洋实验监测仪器所采集的数据进行对比分析,同时也有可能在对比分析的过程中,也同样需要检索其他相似的海洋监测有关的数据。在海量的各种海洋生态环境监测数据库中,需要快速查询到与本仪器相关的数据,所以一种海洋生态环境监测并行数据检索方法,是海洋生态环境监测分析过程所必须的,是目前国内海洋生态环境监测仪器研发的核心。现有海洋生态环境监测数据检索,检索信息有限,检索产生延迟。并行计算就是研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,分配给多个计算机进行处理,并把这些计算结果综合起来得到最终结果的问题。构建并行信息检索系统模型,实现并行信息检索系统。基于以上原因,现有的海洋生态环境监测并行数据检索方法,其检测不具有现场实时性,没有有效检索出相关数据。
技术实现思路
为解决上述技术问题,本专利技术提供了一种海洋生态环境监测并行数据检索方法,以达到提高海洋生态环境监测数据分析过程中,数据检索速度的目的。为达到上述目的,本专利技术的技术方案如下:一种海洋生态环境监测并行数据检索方法,包括以下步骤:(1)遍历海洋生态环境监测数据库的数据表,根据采集参数计算欧几里得距离,并排序,记为A组;(2)根据所要检索的条件,遍历索引数据库中的索引表,根据检索项目,计算欧几里得距离,并排序,记为B组;(3)根据B组中数据的个数m,分成k=m/log10m个段,k为正整数,分别为(4)根据B组划分好的段,将A组也分成k=m/log10m个段,分别为a1,……,aj(1);aj(1)+1,……,aj(2);……;aj(k(m)-1),……,an;其中,将每一段A组数据段和相应的B组数据段作为一个比对区间;(5)将步骤(4)划分好的所有比对区间的数据比对作为子任务,分配到多个处理器上并行执行,各处理器独立执行归并排序,汇总各处理器所得到的结果。上述方案中,所述步骤(1)中,对于数据表中的每条数据,包含的采集参数记为0,不包含的采集参数,则记为1,计算每个数据的欧几里得距离,并将计算结果升序排列,记为A组。所述采集参数,是根据海洋生态环境监测项目所设定的,比如溶解氧监测中,设定的采集参数为溶解氧、饱和度、温度、相位差。欧几里得距离(Euclideandistance)上述方案中,所述步骤(2)中,对于数据库中的每条索引表数据,包含的检索条件中的项目记为0,不包含的项目记为1,计算每条索引表数据的欧几里得距离,并将计算结果升序排列,记为B组。索引项目,就是用户的检索条件,比如仪器的品牌,检索内容,时间范围。上述方案中,A组的划分方案是根据B组的划分结果来确定的:函数就是在另一组中找比这个数小的所有元素的个数;rank(1000:A)就是遍历A数组,所有小于1000的元素的个数。上述方案中,按照上述方案划分好的各任务组分配到多个处理器上并行执行,各处理器独立执行归并排序,汇总各处理器所得到的结果。就完成了整个大的排序的任务。本专利技术提供的一种海洋生态环境监测并行数据检索方法,只针对海洋生态监测的数据,在分析的过程中,采集参数是在对数据采集前已经设定好的,不同的监测项目,采集参数也是不同的。通过对比计算采集参数和检索条件各自的欧几里得距离,找到与检索更匹配的数据,另外使用并行的排序方法,从而提高检索的速度。附图说明图1为本专利技术实施例所公开的一种海洋生态环境监测并行数据检索方法流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。本专利技术提供了一种海洋生态环境监测并行数据检索方法,如图1所示,具体流程如下:S101、遍历海洋生态环境监测数据库的数据表,根据采集参数计算欧几里得距离,并排序,按照由小到大,记为A组。采集参数,是根据海洋生态环境监测项目所设定的,比如溶解氧监测中,设定的采集参数为溶解氧、饱和度、温度、相位差。欧几里得距离(Euclideandistance)遍历海洋生态环境监测数据库的数据表,比如数据表中的一项数据,如果数据含有溶解氧的值,那么该位为0,如果没有溶解氧的值,那么该位为1;溶解氧需要采集四个参数,所以如果这四个参数都没有就是sqrt(1+1+1+1)=2;如果这四个参数都有就是sqrt(0+0+0+0)=0;如果该条数据只含有这四个参数中其中的中间二项,饱和度、温度,那么欧几里得距离就是sqrt(0+1+1+0)=sqrt(2)。S102、遍根据所要检索的条件,遍历索引数据库中的索引表,根据检索项目,计算欧几里得距离,并排序,按照由小到大,记为B组。比如为10000条。欧几里得距离(Euclideandistance)比如该仪器的检索项目的条件为品牌是安德拉,时间近一个月,数据内容为溶解氧;遍历检索数据库的索引表,如果索引表中的数据含有安德拉德的,时间为一个月内,但不是溶解氧的数据,那么欧几里得距离就是sqrt(0+0+1)=1;如果这三项都包含,那么计算的结果就是sqrt(0+0+0)=0。比如为0的有8条数据,为1的有100条数据,为sqrt(2)的有5000条数据,剩下的为sqrt(3)。S103、根据B组中数据的个数m,分成k=m/log10m个段,k为正整数,分别为m为检索索引数据库中数据表中,数据的个数,比如为10000;分成k段,k=10000/log1010000=10000/4=250段;第1段数据为第1到第log1010000个数据;第2段数据为第1+log101000到第2*log1010000,以此类推。需要说明的是,如果B组中数据的个数m不是10的整数次幂,log10m不是整数时,则取m中最大的10的整数次幂q=10n,k取m/log10q的整数部分,进行分段,每一段有log10q个元素。例如:当m为100000120时,k取m/log10100000000的整数部分,对B组数据进行分段,每一段有log10100000000=8个数据。S104、根据划分好的B组的数据段,将A组也分成k个段:a1,……,aj(1);aj(1)+1,……,aj(2);……;aj(k(m)-1),……,an;其中,aj(1)的数据值为B组中第1段中最后一个数据点的值,也就是第log1010000的数据的数据值,第4条数据的值为0;也就是只能是A组所有为0的数据和B组第1段的数据,作为第一个比对的区间。aj(2)的数据值为B组中第2段中最后一个数据点的值,也就是第2*log1010000的数据的数据值,第8条数本文档来自技高网...

【技术保护点】
1.一种海洋生态环境监测并行数据检索方法,其特征在于,包括以下步骤:/n(1)遍历海洋生态环境监测数据库的数据表,根据采集参数计算欧几里得距离,并排序,记为A组;/n(2)根据所要检索的条件,遍历索引数据库中的索引表,根据检索项目,计算欧几里得距离,并排序,记为B组;/n(3)根据B组中数据的个数m,分成k=m/log

【技术特征摘要】
1.一种海洋生态环境监测并行数据检索方法,其特征在于,包括以下步骤:
(1)遍历海洋生态环境监测数据库的数据表,根据采集参数计算欧几里得距离,并排序,记为A组;
(2)根据所要检索的条件,遍历索引数据库中的索引表,根据检索项目,计算欧几里得距离,并排序,记为B组;
(3)根据B组中数据的个数m,分成k=m/log10m个段,k为正整数,分别为
(4)根据B组划分好的段,将A组也分成k=m/log10m个段,分别为a1,……,aj(1);aj(1)+1,……,aj(2);……;aj(k(m)-1),……,an;其中,
将每一段A组数据段和相应的B组数据段作为一个比对区间;
(5)将...

【专利技术属性】
技术研发人员:程岩
申请(专利权)人:山东省科学院海洋仪器仪表研究所
类型:发明
国别省市:山东;37

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

1