掌桥专利:专业的专利平台
掌桥专利
首页

一种基于环境模型数据库的快速查询方法

文献发布时间:2023-06-19 10:58:46


一种基于环境模型数据库的快速查询方法

技术领域

本发明涉及体系仿真技术领域,尤其涉及一种基于环境模型数据库的快速查询方法。

背景技术

体系级仿真应用系统中涉及到的环境动态模型来源于多家单位,对自然环境的建模涉及到不同学科、不同领域的交叉知识,不同的开发环境和技术手段会造成模型表现形式的不一致性,甚至出现不兼容的现象。例如在综合自然环境系统的设计中,用户所建立的模型文件的格式可能多种多样,模型的接口、功能函数、参数配置方式也可能完全不同,极大程度地限制了模型的移植及重用。因此,有必要为系统的模型开发设计规范化的接口,以统一的方式集成到模型库管理系统中,既便于集成管理、更新及调度,也方便不同的仿真系统使用。

仿真系统使用综合自然环境以增加仿真系统的可信度时主要采用了直接使用环境数据和使用动态环境模型解算两种方式。由于体系仿真常常处于超实时仿真状态,因此采用直接使用环境数据方式难以适应其需求,于是需要动态环境模型产生环境数据。

发明内容

鉴于上述的分析,本发明旨在提供一种基于环境模型库的快速查询方法,以解决目前仿真系统存在的上述部分或全部问题。

本发明的目的主要是通过以下技术方案实现的:

本发明提供了一种基于环境模型数据库的快速查询方法,包括以下步骤:

S1,将自然环境模型存储于环境模型库,并将每个自然环境模型记录为环境模型库的动态链接节点;

S2,对所述环境模型库的动态链接节点执行插入节点和/或删除节点的操作建立红黑树,得到环境模型数据库;其中,所述红黑树为所述环境模型数据库的索引;

S3,基于建立的所述环境模型数据库,采用KMP算法进行模糊查询。

进一步地,在红黑树的构建过程中,自然环境模型入库存储或更新,所述步骤S2中对所述环境模型库的动态链接节点执行插入节点的操作,包括以下步骤:

查找并搜索新的插入节点所在的叶子节点位置,且所述叶子节点位置的子节点存在空节点;

根据上述叶子节点位置将新的插入节点插入到所述叶子节点位置的子节点中已存在的一个空节点上,并将新的插入节点颜色置为红色;

增加新的插入节点并设置为红色后,对新的插入节点的祖先节点的颜色进行修正,并进行插入平衡以保持插入新节点后红黑树的性质不变。

进一步地,所述查找并搜索新的插入节点所在的叶子节点位置采用二叉查找树的查找方式;

新的插入节点插入到已存在的一个空节点,同时增加两个空节点作为所述新的插入节点的子节点;

所述插入平衡包括旋转和改变节点颜色;采用所述旋转和改变节点颜色的方式建立或改变红黑树,当插入新节点后,为保持红黑树的性质不变,从该新节点依次向上进行旋转和改变节点颜色的修正操作,直至插入操作使得一个节点为红色,且该节点的子节点为黑色后修正结束。

进一步地,删除索引信息以更新环境模型数据库的索引时,所述步骤S2中对所述环境模型库的动态链接节点执行删除节点的操作,包括以下步骤:

判断待删除节点是否存在子节点:

若不存在,则直接删除该节点,再进行删除平衡处理,以保持删除节点后红黑树的性质不变;

若存在一个子节点,找到大于该节点值最小的节点A的右子树B,并采用B取代A,把B中的关键字值拷入到待删除节点中,并将A删掉,再进进行删除平衡处理,以保持删除节点后红黑树的性质不变;

若存在两个子节点,找到待删除节点值左子树中最大关键字值的节点C,交换节点C和待删除节点的关键字值,并将C删掉,再进行删除平衡处理。

进一步地,所述步骤S3中基于建立的所述环境模型数据库,采用KMP算法进行模糊查询,包括以下步骤:

S31,将用户输入的关键字进行分词处理得到关键字原串;

S32,将所述关键字原串依次与所述环境模型数据库的串进行模糊比较得到模糊相似度;

S33,判断所述模糊相似度是否符合预定的查找要求;若符合,则将模糊匹配有关联的串置入队列,否则将预定的查找要求降低一级转向执行步骤S32,同时将模糊相似度值加1;

S34,判断所述模糊相似度值是否达到限制最大值,若是则将符合预定的查找要求的有匹配项按照上述队列的元素顺序输出,否则提示模糊匹配不成功;

S35,模糊查询结束。

进一步地,所述步骤S31中将用户输入的关键字进行分词处理得到关键字原串,具体包括:

所述环境模型数据库引入分词程序;

所述分词程序对用户查询时输入的关键字按照实体意义进行分词,得到独立的原子实体;

将独立的原子实体作为查询条件进行轮询组合,得到关键字原串。

进一步地,所述步骤S32中将所述关键字原串依次与所述环境模型数据库的串进行模糊比较得到模糊相似度,具体包括:

独立的原子实体作为查询条件进行轮询组合后,根据轮询组数进行相应次数的循环查询,显示出每次的符合查找条件的查询结果;

根据匹配精度和查询度、环境模型数据库的容量和配置设定模糊相似度值,并根据查询结果找到对应的模糊相似度的级别。

进一步地,所述每组的轮询组合构成一个原子实体,对每个原子实体分别进行一次查询。

进一步地,所述模糊相似度的级别根据所述模糊相似度值进行划分。

进一步地,所述模糊相似度值的范围由限制最大值和限制最小值构成。

本技术方案有益效果如下:本发明公开了一种基于环境模型数据库的快速查询方法,该方法使用综合自然环境以增加仿真系统的可信度,主要采用直接使用环境数据和使用动态环境模型解算两种方式。由于体系仿真常常处于超实时仿真状态,因此采用直接使用环境数据方式难以适应其需求,于是需要动态环境模型产生环境数据。而为了满足多用户多分辨率模型的需求,采用一种快速的环境模型服务方式为其提供更准确、快捷的模型服务,从而能够快速查询所需要的环境模型,满足了体系仿真的需求。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。

图1为本发明实施例的一种基于环境模型数据库的快速查询方法流程图;

图2为本发明实施例的一种基于环境模型数据库的快速查询方法处理流程图。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。

本发明的一个具体实施例,如图1所示,公开了一种基于环境模型数据库的快速查询方法,其特征在于,包括以下步骤:

S1,将自然环境模型存储于环境模型库,并将每个自然环境模型记录为环境模型库的动态链接节点;

S2,对所述环境模型库的动态链接节点执行插入节点和/或删除节点的操作建立红黑树,得到环境模型数据库;其中,所述红黑树为所述环境模型数据库的索引;

具体地,红黑树的建立主要包括节点的插入和删除两个操作。红黑树的每个节点表示一个环境模型的某一条索引信息,例如模型类别(大气模型还是海洋模型,风场模型还是雨水模型等)。环境模型库中包含多个模型,也即包含多个用于存储模型索引信息的红黑树。需要说明的是,一个红黑树表示一个环境模型的所有索引信息,红黑树上的每个节点为环境模型的某一条索引信息,例如模型的种类、模型开发作者、模型开发时间等。

S3,基于建立的所述环境模型数据库,采用KMP算法进行模糊查询。

与现有技术相比,本发明实施例基于红黑树的快速查询算法提高环境模型库系统的查询速度,能够快速查询所需要的环境模型,满足了体系仿真的需求。

本发明的一个具体实施例,在红黑树的构建过程中,自然环境模型入库存储或更新,所述步骤S2中对所述环境模型库的动态链接节点执行插入节点的操作,包括以下步骤:

查找并搜索新的插入节点所在的叶子节点位置,且所述叶子节点位置的子节点存在空节点;

根据上述叶子节点位置将新的插入节点插入到所述叶子节点位置的子节点中已存在的一个空节点上,并将新的插入节点颜色置为红色;

增加新的插入节点并设置为红色后,对新的插入节点的祖先节点的颜色进行修正,并进行插入平衡以保持插入新节点后红黑树的性质不变。

具体地,红黑树插入节点步骤如下:

插入过程依据二叉查找树的查找方式,搜索到插入节点所在的某个叶子节点位置;即,插入节点为新增的模型索引信息,模型索引信息的类别是已知的,因此可以搜索到插入节点所在的某个叶子节点位置。

将新的插入节点插入在原树中任一个已经存在的空节点上,将插入节点颜色置为红色,同时增加两个空节点作为其子节点;

增加新节点后,其祖先节点的颜色根据红黑树的定义来确定,此时需要对树进行插入平衡操作,包括旋转或者改变节点颜色以保持红黑树的性质;也就是说,插入到任意一个空节点之后,为了维持红黑树的平衡,会进行旋转和变色操作。只要满足红黑树的构建特性,即可实现正常的查询功能。

对于改变颜色的节点,需要向上继续对树进行修正,在最坏情况下,需要对从叶子节点到根节点上的所有路径处理。

本发明的一个具体实施例,所述查找并搜索新的插入节点所在的叶子节点位置采用二叉查找树的查找方式;

新的插入节点插入到已存在的一个空节点,同时增加两个空节点作为所述新的插入节点的子节点;

所述插入平衡包括旋转和改变节点颜色;采用所述旋转和改变节点颜色的方式建立或改变红黑树,当插入新节点后,为保持红黑树的性质不变,从该新节点依次向上进行旋转和改变节点颜色的修正操作,直至插入操作使得任一个节点为红色,且该节点的子节点为黑色后修正结束。

本发明的一个具体实施例,删除索引信息以更新环境模型数据库的索引时,所述步骤S2中对所述环境模型库的动态链接节点执行删除节点的操作,包括以下步骤:

判断待删除节点是否存在子节点:

若不存在,则直接删除该节点,再进行删除平衡处理,以保持删除节点后红黑树的性质不变;

若存在一个子节点,找到大于该节点值最小的节点A的右子树B,并采用B取代A,把B中的关键字值拷入到待删除节点中,并将A删掉,再进进行删除平衡处理,以保持删除节点后红黑树的性质不变;

若存在两个子节点,找到待删除节点值左子树中最大关键字值的节点C,交换节点C和待删除节点的关键字值,并将C删掉,再进行删除平衡处理。

具体地,红黑树删除节点步骤如下:

被删除的节点没有子节点(两个子节点都是空节点)。此种情况下把此节点直接去掉,再进入平衡处理;

有一个子节点。此种情况要先找到大于此节点值最小的节点A的右子树B,并用B取代A,把B中的关键字值拷入到待删除节点中,最后将A删掉,再进入平衡处理;

有两个子节点。此种情况要先找到待删除节点值左子树中最大关键字值的节点A,交换它们的关键字值,再将A删掉,再进入平衡处理。

本发明的一个具体实施例,所述步骤S3中基于建立的所述环境模型数据库,采用KMP算法进行模糊查询,包括以下步骤:

S31,将用户输入的关键字进行分词处理得到关键字原串;

S32,将所述关键字原串依次与所述环境模型数据库的串进行模糊比较得到模糊相似度;

S33,判断所述模糊相似度是否符合预定的查找要求;若符合,则将模糊匹配有关联的串置入队列,否则将预定的查找要求降低一级转向执行步骤S32,同时将模糊相似度值加1;

S34,判断所述模糊相似度值是否达到限制最大值,若是则将符合预定的查找要求的有匹配项按照上述队列的元素顺序输出,否则提示模糊匹配不成功;

S35,模糊查询结束。

在具体查询方法中,如图2所示,采用KMP算法,具体步骤如下:

(1)将用户输入的关键字进行分词处理;

(2)原串(用户输入的关键字)与数据库中的串(数据库中有实体意义的字段)进行模糊比较;

(3)根据步骤2的比较结果得出模糊相似度;

(4)判断模糊相似度,如果模糊相似度符合查找要求则执行步骤5;如果模糊相似度达不到要求则将要求降低一级转向执行2,相似度值加1;

(5)将模糊匹配有关联的串入队列;

(6)相似度值达到限制最大值如有匹配项则按照队列的元素输出,然后执行(7)。否则提示模糊匹配不成功,转向(7);

(7)模糊查询结束。

本发明的一个具体实施例,所述步骤S31中将用户输入的关键字进行分词处理得到关键字原串,具体包括:

所述环境模型数据库引入分词程序;

所述分词程序对用户查询时输入的关键字按照实体意义进行分词,得到独立的原子实体;

具体地,根据数据结构和数学概念定义模糊查找的原则和匹配依据,查找的原则是满足用户查找需求,匹配依据是按照模糊相似度进行分步查询。引进数据库分词程序对用户查询关键字按照有实体意义的词进行分词,按照分词的结果进行查询,例如在查询“海洋实测数据”时,将查询关键字按照“海洋”“实测”“数据”进行6次比较匹配即可完成查询,这样该字段的查询次数将由原来的21次(单个汉字6次,两个汉字顺序组合5次,三个汉字顺序组合4次,四个汉字顺序组合3次,五个汉字顺序组合2次,六个汉字顺序组合1次)比较匹配减少为6次,查询效率显著提高。

将独立的原子实体作为查询条件进行轮询组合,得到关键字原串。

举例来说,如在通过本算法查询“海洋实测数据”时,系统首先调用分词程序将输入的短句“海洋实测数据”,按照有实体意义的词分解为“海洋”、“实测”、“数据”,然后分别以这三个词作为独立的原子实体查询条件进行查询。在第一次循环时先以“海洋”为一个原子实体进行查询,并显示出所有符合条件的查询结果。程序转入第二次循环分别以“海洋实测”和“实测海洋”作为一个原子实体进行进一步的匹配查询。在本次查询结束后程序转入第三次循环,此时程序分别以“海洋实测数据”、“海洋数据实测”、“实测海洋数据”作为一个原子实体进行精度更高的模糊匹配,显示“海洋实测数据”的查询结果。

本发明的一个具体实施例,所述步骤S32中将所述关键字原串依次与所述环境模型数据库的串进行模糊比较得到模糊相似度,具体包括:

独立的原子实体作为查询条件进行轮询组合后,根据轮询组数进行相应次数的循环查询,显示出每次的符合查找条件的查询结果;

根据匹配精度和查询度、环境模型数据库的容量和配置设定模糊相似度值,并根据查询结果找到对应的模糊相似度的级别。

需要说明的是,模糊相似度可以有多种级别,在实际实现时可以根据对匹配精度和查询度的要求以及服务器数据库的容量和配置等因素设定模糊相似度的值,使查询结果达到最合理的状态。

本发明的一个具体实施例,所述每组的轮询组合构成一个原子实体,对每个原子实体分别进行一次查询。

本发明的一个具体实施例,所述模糊相似度的级别根据所述模糊相似度值进行划分。

本发明的一个具体实施例,所述模糊相似度值的范围由限制最大值和限制最小值构成。

综上所述,本发明公开了一种基于环境模型数据库的快速查询方法,包括以下步骤:S1,将自然环境模型存储于环境模型库,并将每个自然环境模型记录为环境模型库的动态链接节点;S2,对所述环境模型库的动态链接节点执行插入节点和/或删除节点的操作建立红黑树,得到环境模型数据库;其中,所述红黑树为所述环境模型数据库的索引;S3,基于建立的所述环境模型数据库,采用KMP算法进行模糊查询。本发明使用综合自然环境以增加仿真系统的可信度,主要采用直接使用环境数据和使用动态环境模型解算两种方式。由于体系仿真常常处于超实时仿真状态,因此采用直接使用环境数据方式难以适应其需求,于是需要动态环境模型产生环境数据。而为了满足多用户多分辨率模型的需求,采用一种快速的环境模型服务方式为其提供更准确、快捷的模型服务,从而能够快速查询所需要的环境模型,满足了体系仿真的需求。

本领域技术人员可以理解,实现上述实施例中方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种基于环境模型数据库的快速查询方法
  • 一种基于数据库的智能合约数据快速查询方法
技术分类

06120112758395