基于内存的搜索方法及装置制造方法及图纸

技术编号:17248765 阅读:27 留言:0更新日期:2018-02-11 07:00
本发明专利技术实施例提供了一种基于内存的搜索方法及装置,所述方法包括:加载内存搜索的配置文件,根据所述配置文件分别从数据库的多个数据表中加载所需搜索的多种类型的数据至数据字典中,以将所述数据加载至内存中;接收搜索指令,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果。本发明专利技术提供的基于内存的搜索方案,将数据库中多个数据表中的多类型数据统一加载至数据字典后,再进行相应的搜索匹配,减少了搜索中的数据关联,以减少了数据关联所需的资源消耗,极大地提高了搜索速度。

【技术实现步骤摘要】
基于内存的搜索方法及装置
本专利技术涉及计算机
,具体而言,涉及一种基于内存的搜索方法及装置。
技术介绍
目前,信息系统的数据存储还是以关系型数据库为主,虽然当前NoSQL数据库的应用领域有所扩展。但由于关系型数据库的优点,它还是用于保存绝大部分的业务数据信息。SQL语言有丰富的表达能力,可以完成各种复杂的应用场景。在关系型数据库中查询数据还是利用SQL语句,采用表之间的关联来查出所需要的数据。在实际应用场景中,需要查询的信息往往存在于多个数据表中,就意味着存在多次数据关联。每一次的数据关联都需要消耗资源,系统查询的速度随着关联次数的增加逐步变慢。数据表保存在磁盘中,磁盘的读取速度比较慢,只有在某些数据频繁使用时,才会被数据库系统调用到内存中,此时性能会有所提高。但在大部分情况下,查询的数据是随机分布的,总体上的性能不会得到提升。因此,采用这种方式,由于受制于磁盘的性能,时间运行速度不可能得到根本性的提升。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于内存的搜索方法及装置,以解决上述问题。本专利技术的较佳实施例提供一种基于内存的搜索方法,所述方法包括:加载内存搜索的配置文件,根据所述配置文件分别从数据库的多个数据表中加载所需搜索的多种类型的数据至数据字典中,以将所述数据加载至内存中;接收搜索指令,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果。进一步地,所述方法还包括:为各类型的数据设置各自对应的同步周期;获取所述数据库中发生改变的数据;根据所述发生改变的数据的同步周期将该数据同步至所述数据字典中。进一步地,所述方法还包括:将各类型的数据的同步运行信息记录至日志文件中,所述同步运行信息包括同步周期以及执行同步的SQL语句。进一步地,根据所述配置文件分别从数据库的多个数据表中加载所需的多种类型的数据至数据字典中,并保存的步骤,包括:执行预设的SQL语句,根据所述配置文件从数据库的多个数据表中获取所需查询的多种类型的数据;将各所述数据保存至数据字典中,以将各所述数据加载至系统内存中;将各种类型的数据的初始化运行信息记录至日志文件中,所述初始化运行信息包括执行的SQL语句以及执行的时间。进一步地,所述搜索指令包含多个搜索条件,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果的步骤,包括:执行搜索操作,在所述数据字典中搜索出与所述搜索指令中的其中一个搜索条件相匹配的数据;将该次搜索操作搜索出的数据与上一次搜索操作搜索出的数据进行装配,生成该次搜索操作的中间结果;判断该中间结果是否满足所述搜索指令中的全部搜索条件;若满足,则将该中间结果作为搜索结果;若不满足,则返回执行在所述数据字典中搜索出与所述搜索指令中的其中一个搜索条件相匹配的数据的步骤,直到获得的中间结果满足所述搜索指令中的全部搜索条件为止。进一步地,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果的步骤,还包括:记录每次搜索操作的搜索运行信息,并将所述搜索运行信息保存至日志文件中,所述搜索运行信息包括搜索时间以及搜索结果所包含的中间结果数目。本专利技术另一较佳实施例提供一种基于内存的搜索装置,所述装置包括:加载模块,用于加载内存搜索的配置文件,根据所述配置文件分别从数据库的多个数据表中加载所需的多种类型的数据至数据字典中,以将所述数据加载至内存中;搜索模块,用于接收搜索指令,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果。进一步地,所述装置还包括:设置模块,用于为各类型的数据设置各自对应的同步周期;获取模块,用于获取所述数据库中发生改变的数据;同步模块,用于根据所述发生改变的数据的同步周期将该数据同步至所述数据字典中。进一步地,所述加载模块包括数据获取单元、保存单元以及记录单元;所述数据获取单元用于执行预设的SQL语句,根据所述配置文件从数据库的多个数据表中获取所需查询的多种类型的数据;所述保存单元用于将各所述数据保存至数据字典中,以将各所述数据加载至系统内存中;所述记录单元用于将各种类型的数据的初始化运行信息记录至日志文件中,所述初始化运行信息包括执行的SQL语句以及执行的时间。进一步地,所述搜索指令包含多个搜索条件,所述搜索模块包括搜索单元、装配单元、判断单元、第一执行单元以及第二执行单元;所述搜索单元用于执行搜索操作,在所述数据字典中搜索出与所述搜索指令中的其中一个搜索条件相匹配的数据;所述装配单元用于将该次搜索操作搜索出的数据与上一次搜索操作搜索出的数据进行装配,生成该次搜索操作的中间结果;所述判断单元用于判断该中间结果是否满足所述搜索指令中的全部搜索条件;所述第一执行单元用于在该中间结果满足所述搜索指令中的全部搜索条件时,将该中间结果作为搜索结果;所述第二执行单元用于在该中间结果不满足所述搜索指令中的全部搜索条件时,返回执行在所述数据字典中搜索出与所述搜索指令中的其中一个搜索条件相匹配的数据的步骤,直到获得的中间结果满足所述搜索指令中的全部搜索条件为止。本专利技术实施例提供的基于内存的搜索方法及装置,根据加载的内存搜索的配置文件分别从数据库的多个数据表中加载所需搜索的多种类型的数据至数据字典中,以将所述数据加载至内存中。再根据接收到的搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令匹配的搜索结果。通过上述过程,将数据库中多个数据表中的多类型数据统一加载至数据字典后,再进行相应的搜索匹配,减少了搜索中的数据关联,以减少了数据关联所需的资源消耗,极大地提高了搜索速度。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术较佳实施例提供的一种电子设备的示意性结构框图。图2为本专利技术较佳实施例提供的基于内存的搜索方法的流程图。图3为图2中步骤S101的子步骤的流程图。图4为图2中步骤S102的子步骤的流程图。图5为本专利技术较佳实施例提供的基于内存的搜索装置的功能模块框图。图6为本专利技术较佳实施例提供的加载模块的功能模块框图。图7为本专利技术较佳实施例提供的搜索模块的功能模块框图。图标:100-电子设备;110-基于内存的搜索装置;111-加载模块;1111-数据获取单元;1112-保存单元;1113-记录单元;112-搜索模块;1121-搜索单元;1122-装配单元;1123-判断单元;1124-第一执行单元;1125-第二执行单元;113-设置模块;114-获取模块;115-同步模块;120-处理器;130-存储器。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的本文档来自技高网...
基于内存的搜索方法及装置

【技术保护点】
一种基于内存的搜索方法,其特征在于,所述方法包括:加载内存搜索的配置文件,根据所述配置文件分别从数据库的多个数据表中加载所需搜索的多种类型的数据至数据字典中,以将所述数据加载至内存中;接收搜索指令,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果。

【技术特征摘要】
1.一种基于内存的搜索方法,其特征在于,所述方法包括:加载内存搜索的配置文件,根据所述配置文件分别从数据库的多个数据表中加载所需搜索的多种类型的数据至数据字典中,以将所述数据加载至内存中;接收搜索指令,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果。2.根据权利要求1所述的基于内存的搜索方法,其特征在于,所述方法还包括:为各类型的数据设置各自对应的同步周期;获取所述数据库中发生改变的数据;根据所述发生改变的数据的同步周期将该发生改变的数据同步至所述数据字典中。3.根据权利要求2所述的基于内存的搜索方法,其特征在于,所述方法还包括:将各类型的数据的同步运行信息记录至日志文件中,所述同步运行信息包括同步周期以及执行同步的SQL语句。4.根据权利要求1所述的基于内存的搜索方法,其特征在于,根据所述配置文件分别从数据库的多个数据表中加载所需搜索的多种类型的数据至数据字典中,并保存的步骤,包括:执行预设的SQL语句,根据所述配置文件从数据库的多个数据表中获取所需查询的多种类型的数据;将各所述数据保存至数据字典中,以将各所述数据加载至系统内存中;将各种类型的数据的初始化运行信息记录至日志文件中,所述初始化运行信息包括执行的SQL语句以及执行的时间。5.根据权利要求1所述的基于内存的搜索方法,其特征在于,所述搜索指令包含多个搜索条件,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果的步骤,包括:执行搜索操作,在所述数据字典中搜索出与所述搜索指令中的其中一个搜索条件相匹配的数据;将该次搜索操作搜索出的数据与上一次搜索操作搜索出的数据进行装配,生成该次搜索操作的中间结果;判断该中间结果是否满足所述搜索指令中的全部搜索条件;若满足,则将该中间结果作为搜索结果;若不满足,则返回执行在所述数据字典中搜索出与所述搜索指令中的其中一个搜索条件相匹配的数据的步骤,直到获得的中间结果满足所述搜索指令中的全部搜索条件为止。6.根据权利要求5所述的基于内存的搜索方法,其特征在于,根据所述搜索指令在所述数据字典中进行搜索、装配以得到与所述搜索指令相匹配的搜索结果的步骤,还包括:记录每次搜...

【专利技术属性】
技术研发人员:朱江
申请(专利权)人:九州通医疗信息科技武汉有限公司
类型:发明
国别省市:湖北,42

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

1