本技术涉及计算机,尤其涉及一种数据库全局搜索方法、装置、设备以及存储介质。
背景技术:
1、随着网络和信息技术的迅猛发展,为了便于用户的日常使用,许多传统行业(比如,医疗、食品、农业等)也开始朝着云化数字化方向进行改造,通过构建统一化的系统,来为用户提供各类服务,并通过开放数据库访问权限的方式,为用户提供便捷的数据查询服务功能。
2、目前,各机构单位系统以及数据库的建设是持续性进行地,随着建设的不断进行,数据库所沉淀的数据量越来越多,数据种类越来越丰富,同时对系统的功能要求也越来越高,而大部分系统在设计之初,并没有考虑到由于业务的演进,可能会对系统的某些功能进行迭代升级。例如,针对系统搜索服务的升级,以使得升级后的数据库支持全局搜索能力。
3、然而,由于数据种类繁多,若需要使系统支持全局搜索能力,需要耗费大量的人力来了解具体的业务数据,并需要对系统现有代码进行推翻重构,重新设计系统架构,使用支持全局搜索的数据库或引擎存储数据,并需要运维方面将原有数据库的数据迁移至新的数据库。系统的重构开发与运维成本都很高,尤其是针对已经上线的项目,数据的迁移与切换非常困难。
4、由此可见,如何简单快捷地对传统数据库进行改造,以使得改造后的传统数据库可以具备全局搜索能力,成为目前本领域技术人员亟待解决的问题。
技术实现思路
1、本技术实施例提供一种数据库全局搜索方法,用以解决传统数据库在进行全局搜索能力改造时,需要对系统现有代码进行推翻重构,重新设计系统架构,使用支持全局搜索的数据库或引擎存储数据,并需要运维方面将原有数据库的数据迁移至新的数据库,导致系统的重构开发与运维成本较高的问题。
2、本技术实施例还提供一种数据库全局搜索装置,用以解决传统数据库在进行全局搜索能力改造时,需要对系统现有代码进行推翻重构,重新设计系统架构,使用支持全局搜索的数据库或引擎存储数据,并需要运维方面将原有数据库的数据迁移至新的数据库,导致系统的重构开发与运维成本较高的问题。
3、本技术实施例还提供一种数据库全局搜索设备,用以解决传统数据库在进行全局搜索能力改造时,需要对系统现有代码进行推翻重构,重新设计系统架构,使用支持全局搜索的数据库或引擎存储数据,并需要运维方面将原有数据库的数据迁移至新的数据库,导致系统的重构开发与运维成本较高的问题。
4、本技术实施例还提供一种计算机可读存储介质,用以解决传统数据库在进行全局搜索能力改造时,需要对系统现有代码进行推翻重构,重新设计系统架构,使用支持全局搜索的数据库或引擎存储数据,并需要运维方面将原有数据库的数据迁移至新的数据库,导致系统的重构开发与运维成本较高的问题。
5、本技术实施例采用下述技术方案:
6、一种数据库全局搜索方法,包括:安装docker容器;在所述docker容器上运行应用包管理器helm;通过所述应用包管理器helm,在所述docker容器上搭建分布式搜索引擎elasticsearch,其中,所述分布式搜索引擎包括:数据存储与搜索elasticsearch、数据可视化kibana以及数据抓取同步monstache;通过所述monstache,从数据库读取数据同步至所述elasticsearch,并确认所述数据库与所述elasticsearch的数据保持一致;通过所述分布式搜索引擎elasticsearch,对所述数据库进行全局搜索。
7、一种数据库全局搜索装置,包括:安装单元,用于安装docker容器;运行单元,用于在所述docker容器上运行应用包管理器helm;搜索引擎构建单元,用于通过所述应用包管理器helm,在所述docker容器上搭建分布式搜索引擎elasticsearch,其中,所述分布式搜索引擎包括:数据存储与搜索elasticsearch、数据可视化kibana以及数据抓取同步monstache;数据同步单元,用于通过所述monstache,从数据库读取数据同步至所述elasticsearch,并确认所述数据库与所述elasticsearch的数据保持一致;搜索单元,用于通过所述分布式搜索引擎elasticsearch,对所述数据库进行全局搜索。
8、一种数据库全局搜索设备,包括:
9、处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:安装docker容器;在所述docker容器上运行应用包管理器helm;通过所述应用包管理器helm,在所述docker容器上搭建分布式搜索引擎elasticsearch,其中,所述分布式搜索引擎包括:数据存储与搜索elasticsearch、数据可视化kibana以及数据抓取同步monstache;通过所述monstache,从数据库读取数据同步至所述elasticsearch,并确认所述数据库与所述elasticsearch的数据保持一致;通过所述分布式搜索引擎elasticsearch,对所述数据库进行全局搜索。
10、一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:安装docker容器;在所述docker容器上运行应用包管理器helm;通过所述应用包管理器helm,在所述docker容器上搭建分布式搜索引擎elasticsearch,其中,所述分布式搜索引擎包括:数据存储与搜索elasticsearch、数据可视化kibana以及数据抓取同步monstache;通过所述monstache,从数据库读取数据同步至所述elasticsearch,并确认所述数据库与所述elasticsearch的数据保持一致;通过所述分布式搜索引擎elasticsearch,对所述数据库进行全局搜索。
11、本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
12、针对传统数据库,当需要进行全局搜索改造时,首先可以在系统上安装docker容器,docker是一个容器化的服务编排工具,能快速启动服务并且可以与物理主机的环境隔离,不受宿主机环境的影响,进而在docker容器上运行应用包管理器helm,通过应用包管理器helm,在docker容器上搭建分布式搜索引擎elasticsearch,且相比于传统的分布式搜索引擎所使用的elasticsearch、logstash、kibana(elk架构),本技术对分布式搜索引擎的架构进行了改进,将其中的数据收集处理引擎logstah替换为数据同步组件monstache,组成emk架构(elasticsearch、monstache、kibana)的分布式搜索引擎,通过monstache,从数据库读取数据同步至所述elasticsearch,并确认所述数据库与所述elasticsearch的数据保持一致;进而通过分布式搜索引擎elasticsearch,实现对该数据库进行全局搜索,完成对该数据库的全局搜索改造。采用本技术所提供的数据库全局搜索方法,在针对传统数据库进行改造时,仅需要在系统上安装docker容器,通过docker容器在与物理主机隔离的环境下,在docker容器上搭建分布式搜索引擎elasticsearch,进而通过该分布式搜索引擎实现针对数据库的全局搜索功能,不需要对数据库进行重构开发以及数据迁移,极大地降低了数据库改造的运维成本,提高了数据库的改造效率。
1.一种数据库全局搜索方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述通过所述应用包管理器helm,在所述docker容器上搭建分布式搜索引擎elasticsearch,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述kibana是一个开源的分析与可视化平台,设计出来用于和elasticsearch一起使用;
4.根据权利要求1所述的方法,其特征在于,所述monstache是由golang语言实现的基于分布式文件存储数据库mongodb的实时数据同步及订阅的插件,用于实现所述mongodb与所述elasticsearch之间的数据同步。
5.一种数据库全局搜索装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,所述搜索引擎构建单元,具体用于:
7.根据权利要求5所述的装置,其特征在于,所述kibana是一个开源的分析与可视化平台,设计出来用于和elasticsearch一起使用;
8.根据权利要求5所述的装置,其特征在于,所述monstache是由golang语言实现的基于分布式文件存储数据库mongodb的实时数据同步及订阅的插件,用于实现所述mongodb与所述elasticsearch之间的数据同步。
9.一种数据库全局搜索设备,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如权利要求1-4任一权项所述的方法。
