基于Elasticsearch的实时业务系统

阅读: 评论:0

著录项
  • CN202010358051.7
  • 20200429
  • CN111460024A
  • 20200728
  • 上海东普信息科技有限公司
  • 刘孝林;李学志
  • G06F16/25
  • G06F16/25 G06F16/27 G06F16/2453 G06Q10/08 G06F40/284 G06F16/28 G06F16/22

  • 上海市青浦区外青松公路5045号508室U区44号
  • 上海(31)
  • 北京市京大律师事务所
  • 刘挽澜
摘要
本发明涉及物流技术领域,提供一种基于Elasticsearch的实时业务系统,用于解决现有的系统框架对实时业务数据的管控性能低的问题。所述基于Elasticsearch的实时业务系统包括申请发送装置、数据管理装置、数据库同步装置和搜索引擎装置;数据管理装置,用于根据申请发送装置发送的业务数据更新请求对存储的实时业务数据进行更新处理,得到更新业务数据,其中,业务数据为物流业务数据;数据库同步装置,用于通过开源数据同步工具Canal将更新业务数据同步至搜索引擎装置;搜索引擎装置,用于通过搜索和数据分析引擎Elasticsearch对更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,根据申请发送装置发送的业务数据查询请求对待查询业务数据进行查询,得到目标查询数据。
权利要求

1.一种基于Elasticsearch的实时业务系统,其特征在于,所述基于Elasticsearch的实时业务系统包括申请发送装置、数据管理装置、数据库同步装置和搜索引擎装置;其中:

所述申请发送装置,用于向所述数据管理装置发送业务数据更新请求和向所述搜索引擎装置发送业务数据查询请求;

所述数据管理装置,用于根据所述业务数据更新请求对存储的实时业务数据进行更新处理,得到更新业务数据,并将所述更新业务数据发送至所述数据库同步装置,其中,业务数据为物流业务数据;

所述数据库同步装置,用于通过预置的开源数据同步工具Canal将所述更新业务数据同步至所述搜索引擎装置;

所述搜索引擎装置,用于通过预置的搜索和数据分析引擎Elasticsearch存储所述更新业务数据,对所述更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,根据所述业务数据查询请求对所述待查询业务数据进行查询,得到目标查询数据。

2.根据权利要求1所述的基于Elasticsearch的实时业务系统,其特征在于,所述搜索引擎装置包括搜索和数据分析引擎Elasticsearch集,所述搜索和数据分析引擎Elasticsearch集包括一个主网络节点服务器和多个受控网络节点服务器;

所述主网络节点服务器分别与所述多个受控网络节点服务器通信连接,用于控制所述多个受控网络节点服务器对所述更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,以及控制所述多个受控网络节点服务器根据所述业务数据查询请求对所述待查询业务数据进行查询,得到目标查询数据。

3.根据权利要求2所述的基于Elasticsearch的实时业务系统,其特征在于,所述主网络节点服务器包括处理模块;

所述处理模块,用于根据预设的业务需求对所述多个受控网络节点服务器进行热节点标记和冷节点标记,根据预置的角配置信息对所述多个受控网络节点服务器进行角节点配置,以及对所述更新业务数据进行索引创建;

所述处理模块包括冷热分离子模块、索引创建子模块、配置子模块、角分离子模块和发送子模块;

所述冷热分离子模块,用于根据预设时间节点对所述多个受控网络节点服务器进行节点标记,得到热节点和冷节点,以及根据所述热节点和所述冷节点对所述更新业务数据进行分类,得到热节点数据和冷节点数据,并将所述热节点数据和所述冷节点数据发送至所述索引创建子模块,所述热节点对应预置的目标时间段,所述冷节点对应所述目标时间段之外的时段,所述目标时间段为根据预设的业务需求所确定的查询时间段;

所述索引创建子模块,用于对所述热节点数据和所述冷节点数据进行索引创建,得到已创建索引的节点数据,并将所述已创建索引的节点数据发送至所述发送子模块;

所述配置子模块,用于存储所述搜索引擎装置各类型的配置信息,所述配置信息包括角配置信息,并将所述角配置信息发送至所述角分离子模块;

所述角分离子模块,用于根据所述角配置信息对所述多个受控网络节点服务器进行角节点配置,得到配置后的多个受控网络节点服务器,所述角配置信息包括角、所述角对应的节点和所述节点的节点配置信息;

所述发送子模块,用于根据所述热节点和所述冷节点将所述更新业务数据发送至对应的受控网络节点服务器,以及根据所述角和所述节点配置信息将所述已创建索引的节点数据发送至所述角对应的配置后的受控网络节点服务器,得到待查询业务数据。

4.根据权利要求3所述的基于Elasticsearch的实时业务系统,其特征在于,所述索引创建子模块包括第一确定单元、第一创建单元、发送单元、第二确定单元、迁移单元和第三确定单元;

所述第一确定单元,用于判断所述更新业务数据是否在预设的业务数据生命周期内,若所述更新业务数据不在预设的业务数据生命周期内,则将所述更新业务数据确定为历史数据,并将所述历史数据发送至所述发送单元;

所述第一创建单元,用于在所述热节点上创建索引集,得到对应的第一节点数据,所述第一节点数据包括节点索引以及业务数据的生成时刻,并将所述第一节点数据分别发送至所述第二确定单元和所述第三确定单元;

所述发送单元,用于将所述历史数据发送至所述冷节点,得到目标冷节点数据,并将所述目标冷节点数据发送至所述迁移单元;

所述第二确定单元,用于获取当前时刻,并根据所述生成时刻与所述当前时刻确定所述节点索引中的待迁移节点索引,将所述待迁移节点索引发送至所述迁移单元;

所述迁移单元,用于通过预置接口将所述待迁移节点索引迁移到所述目标冷节点数据对应的冷节点上,得到对应的第二节点数据;

所述第三确定单元,用于将所述第一创建单元得到的第一节点数据和所述迁移单元得到的第二节点数据确定为已创建索引的节点数据。

7.根据权利要求4所述的基于Elasticsearch的实时业务系统,其特征在于,所述第二确定单元包括获取子单元、计算子单元、判断子单元和确定子单元;

所述获取子单元,用于获取当前时刻,并将所述当前时刻发送至所述计算子单元;

所述计算子单元,用于计算所述生成时刻与所述当前时刻之间的时长差值,并将所述时长差值发送至所述判断子单元;

所述判断子单元,用于判断所述时长差值是否大于预设阈值,得到判断结果,并将所述判断结果发送至所述确定子单元;

所述确定子单元,用于将所述判断结果为是的第一节点数据对应的节点索引确定为待迁移节点索引。

5.根据权利要求3所述的基于Elasticsearch的实时业务系统,其特征在于,所述索引创建子模块包括第二创建单元、第一设置单元、分析单元、第二设置单元和第四确定单元;

所述第二创建单元,用于对所述热节点数据和所述冷节点数据进行索引创建,得到初始索引,并将所述初始索引发送至所述第一设置单元;

所述第一设置单元,用于根据预置的主分片数对所述初始索引进行分片设置,得到分片后的初始索引,并将所述分片后的初始索引发送至所述分析单元;

所述分析单元,用于对所述分片后的初始索引进行检索需求分析、聚合分析和分词需求分析,得到候选索引,并将所述候选索引发送至所述第二设置单元;

所述第二设置单元,用于对所述候选索引进行属性设置和类型设置,得到目标索引,并将所述目标索引发送至所述第四确定单元;

所述第四确定单元,用于将创建有所述目标索引的热节点数据和创建有所述目标索引的冷节点数据确定为已创建索引的节点数据。

6.根据权利要求3所述的基于Elasticsearch的实时业务系统,其特征在于,所述主网络节点服务器还包括查询模块;

所述查询模块,用于根据所述业务数据查询请求对所述多个受控网络节点服务器中的待查询业务数据进行查询,得到目标查询数据;

所述查询模块包括提取子模块、分析子模块和检索子模块;

所述提取子模块,用于接收所述申请发送装置发送的业务数据查询请求,提取所述业务数据查询请求中的查询时间信息,并将所述查询时间信息发送至所述分析子模块;

所述分析子模块,用于根据所述查询时间信息和所述角配置信息,对通过所述处理模块所得的所述配置后的多个受控网络节点服务器进行节点分析,得到对应的目标节点;

所述检索子模块,用于根据所述业务数据查询请求对所述分析子模块所得的目标节点中已创建索引的节点数据进行检索,得到与所述业务数据查询请求对应的目标查询数据。

8.根据权利要求1所述的基于Elasticsearch的实时业务系统,其特征在于,所述数据库同步装置包括监听模块、缓存模块和同步模块;

所述监听模块,用于对所述数据管理装置中的数据库增量日志进行实时解析,提取对应的更新业务数据,并将所述更新业务数据发送至所述缓存模块;

所述缓存模块,用于对所述更新业务数据进行缓存,得到缓存的更新业务数据,并将所述缓存的更新业务数据发送至所述同步模块;

所述同步模块,用于根据所述开源数据同步工具Canal中的同步配置文件,将所述缓存的更新业务数据同步至所述搜索引擎装置。

9.根据权利要求1所述的基于Elasticsearch的实时业务系统,其特征在于,所述基于Elasticsearch的实时业务系统还包括优化模块,所述优化模块用于对所述业务数据查询请求和所述目标查询数据进行记录和统计分析,得到统计分析数据,并根据所述统计分析数据对所述搜索引擎装置中更新业务数据的冷热分离进行优化。

10.根据权利要求1-9中任一项所述的基于Elasticsearch的实时业务系统,其特征在于,所述搜索引擎装置还包括参数设置模块,所述参数设置模块,用于对所述搜索引擎装置中的参数进行设置,所述参数包括刷新时间间隔、索引分片数据、单个节点上的分片数量、事务日志的存储位置和存储方式以及索引的设置策略。

说明书
技术领域

本发明涉及物流技术领域,尤其涉及一种基于Elasticsearch的实时业务系统。

随着计算机技术的不断发展和信息化程度的不断提高,产生大量的业务数据,为了对业务数据进行管控,物流行业在各自的体系中使用了多个管理型的业务系统,而业务系统存在大量的业务对象处理逻辑现象,例如:对物流业务数据的插入、修改和删除操作,通过多条件查询物流业务数据,和业务数据的生命周期管控。现有的系统框架为应对大量的业务对象处理逻辑现象,一般采用具有结构化数据库的系统框架对业务数据进行存储。

在现有技术中,由于随着物流业务量的增加,产生的物流业务数据量也越来越大,当物流业务数据量的数据规模超过百万级时,现有的系统框架中以数据库持久化为基础的单表结构无法满足性能上的需要,而现有的系统框架中的分表分库结构又无法满足多条件查询的需求,因而,导致现有的系统框架对实时业务数据的管控性能低。

本发明的主要目的在于解决现有的系统框架对实时业务数据的管控性能低的问题。

本发明提供了一种基于Elasticsearch的实时业务系统,所述基于Elasticsearch的实时业务系统包括申请发送装置、数据管理装置、数据库同步装置和搜索引擎装置;其中:

所述申请发送装置,用于向所述数据管理装置发送业务数据更新请求和向所述搜索引擎装置发送业务数据查询请求;

所述数据管理装置,用于根据所述业务数据更新请求对存储的实时业务数据进行更新处理,得到更新业务数据,并将所述更新业务数据发送至所述数据库同步装置,其中,业务数据为物流业务数据;

所述数据库同步装置,用于通过预置的开源数据同步工具Canal将所述更新业务数据同步至所述搜索引擎装置;

所述搜索引擎装置,用于通过预置的搜索和数据分析引擎Elasticsearch存储所述更新业务数据,对所述更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,根据所述业务数据查询请求对所述待查询业务数据进行查询,得到目标查询数据。

可选的,所述搜索引擎装置包括搜索和数据分析引擎Elasticsearch集,所述搜索和数据分析引擎Elasticsearch集包括一个主网络节点服务器和多个受控网络节点服务器;

所述主网络节点服务器分别与所述多个受控网络节点服务器通信连接,用于控制所述多个受控网络节点服务器对所述更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,以及控制所述多个受控网络节点服务器根据所述业务数据查询请求对所述待查询业务数据进行查询,得到目标查询数据。

可选的,所述主网络节点服务器包括处理模块;

所述处理模块,用于根据预设的业务需求对所述多个受控网络节点服务器进行热节点标记和冷节点标记,根据预置的角配置信息对所述多个受控网络节点服务器进行角节点配置,以及对所述更新业务数据进行索引创建;

所述处理模块包括冷热分离子模块、索引创建子模块、配置子模块、角分离子模块和发送子模块;

所述冷热分离子模块,用于根据预设时间节点对所述多个受控网络节点服务器进行节点标记,得到热节点和冷节点,以及根据所述热节点和所述冷节点对所述更新业务数据进行分类,得到热节点数据和冷节点数据,并将所述热节点数据和所述冷节点数据发送至所述索引创建子模块,所述热节点对应预置的目标时间段,所述冷节点对应所述目标时间段之外的时段,所述目标时间段为根据预设的业务需求所确定的查询时间段;

所述索引创建子模块,用于对所述热节点数据和所述冷节点数据进行索引创建,得到已创建索引的节点数据,并将所述已创建索引的节点数据发送至所述发送子模块;

所述配置子模块,用于存储所述搜索引擎装置各类型的配置信息,所述配置信息包括角配置信息,并将所述角配置信息发送至所述角分离子模块;

所述角分离子模块,用于根据所述角配置信息对所述多个受控网络节点服务器进行角节点配置,得到配置后的多个受控网络节点服务器,所述角配置信息包括角、所述角对应的节点和所述节点的节点配置信息;

所述发送子模块,用于根据所述热节点和所述冷节点将所述更新业务数据发送至对应的受控网络节点服务器,以及根据所述角和所述节点配置信息将所述已创建索引的节点数据发送至所述角对应的配置后的受控网络节点服务器,得到待查询业务数据。

可选的,所述索引创建子模块包括第一确定单元、第一创建单元、发送单元、第二确定单元、迁移单元和第三确定单元;

所述第一确定单元,用于判断所述更新业务数据是否在预设的业务数据生命周期内,若所述更新业务数据不在预设的业务数据生命周期内,则将所述更新业务数据确定为历史数据,并将所述历史数据发送至所述发送单元;

所述第一创建单元,用于在所述热节点上创建索引集,得到对应的第一节点数据,所述第一节点数据包括节点索引以及业务数据的生成时刻,并将所述第一节点数据分别发送至所述第二确定单元和所述第三确定单元;

所述发送单元,用于将所述历史数据发送至所述冷节点,得到目标冷节点数据,并将所述目标冷节点数据发送至所述迁移单元;

所述第二确定单元,用于获取当前时刻,并根据所述生成时刻与所述当前时刻确定所述节点索引中的待迁移节点索引,将所述待迁移节点索引发送至所述迁移单元;

所述迁移单元,用于通过预置接口将所述待迁移节点索引迁移到所述目标冷节点数据对应的冷节点上,得到对应的第二节点数据;

所述第三确定单元,用于将所述第一创建单元得到的第一节点数据和所述迁移单元得到的第二节点数据确定为已创建索引的节点数据。

可选的,所述索引创建子模块包括第二创建单元、第一设置单元、分析单元、第二设置单元和第四确定单元;

所述第二创建单元,用于对所述热节点数据和所述冷节点数据进行索引创建,得到初始索引,并将所述初始索引发送至所述第一设置单元;

所述第一设置单元,用于根据预置的主分片数对所述初始索引进行分片设置,得到分片后的初始索引,并将所述分片后的初始索引发送至所述分析单元;

所述分析单元,用于对所述分片后的初始索引进行检索需求分析、聚合分析和分词需求分析,得到候选索引,并将所述候选索引发送至所述第二设置单元;

所述第二设置单元,用于对所述候选索引进行属性设置和类型设置,得到目标索引,并将所述目标索引发送至所述第四确定单元;

所述第四确定单元,用于将创建有所述目标索引的热节点数据和创建有所述目标索引的冷节点数据确定为已创建索引的节点数据。

可选的,所述主网络节点服务器还包括查询模块;

所述查询模块,用于根据所述业务数据查询请求对所述多个受控网络节点服务器中的待查询业务数据进行查询,得到目标查询数据;

所述查询模块包括提取子模块、分析子模块和检索子模块;

所述提取子模块,用于接收所述申请发送装置发送的业务数据查询请求,提取所述业务数据查询请求中的查询时间信息,并将所述查询时间信息发送至所述分析子模块;

所述分析子模块,用于根据所述查询时间信息和所述角配置信息,对通过所述处理模块所得的所述配置后的多个受控网络节点服务器进行节点分析,得到对应的目标节点;

所述检索子模块,用于根据所述业务数据查询请求对所述分析子模块所得的目标节点中已创建索引的节点数据进行检索,得到与所述业务数据查询请求对应的目标查询数据。

可选的,所述第二确定单元包括获取子单元、计算子单元、判断子单元和确定子单元;

所述获取子单元,用于获取当前时刻,并将所述当前时刻发送至所述计算子单元;

所述计算子单元,用于计算所述生成时刻与所述当前时刻之间的时长差值,并将所述时长差值发送至所述判断子单元;

所述判断子单元,用于判断所述时长差值是否大于预设阈值,得到判断结果,并将所述判断结果发送至所述确定子单元;

所述确定子单元,用于将所述判断结果为是的第一节点数据对应的节点索引确定为待迁移节点索引。

可选的,所述数据库同步装置包括监听模块、缓存模块和同步模块;

所述监听模块,用于对所述数据管理装置中的数据库增量日志进行实时解析,提取对应的更新业务数据,并将所述更新业务数据发送至所述缓存模块;

所述缓存模块,用于对所述更新业务数据进行缓存,得到缓存的更新业务数据,并将所述缓存的更新业务数据发送至所述同步模块;

所述同步模块,用于根据所述开源数据同步工具Canal中的同步配置文件,将所述缓存的更新业务数据同步至所述搜索引擎装置。

可选的,所述基于Elasticsearch的实时业务系统还包括优化模块,所述优化模块用于对所述业务数据查询请求和所述目标查询数据进行记录和统计分析,得到统计分析数据,并根据所述统计分析数据对所述搜索引擎装置中更新业务数据的冷热分离进行优化。

可选的,所述搜索引擎装置还包括参数设置模块,所述参数设置模块,用于对所述搜索引擎装置中的参数进行设置,所述参数包括刷新时间间隔、索引分片数据、单个节点上的分片数量、事务日志的存储位置和存储方式以及索引的设置策略。

本发明中,提供一种基于Elasticsearch的实时业务系统,通过数据管理装置、数据库同步装置和搜索引擎装置,满足大量物流业务数据的存储和运行性能上的需求以及多条件查询的需求,并实现物流业务数据的同步和读写分离,以及通过基于Elasticsearch的搜索引擎装置对实时数据的处理,使得实时数据的存储和查询方式既可选择单表方式又可选择多表方式,进而使得系统架构具备较高的灵活性,从而解决了现有的系统框架对实时业务数据的管控性能低的问题。

图1为本发明实施例中基于Elasticsearch的实时业务系统的一个结构示意框图;

图2为本发明实施例中数据库同步装置的一个结构示意框图;

图3为本发明实施例中搜索引擎装置的一个结构示意框图;

图4为本发明实施例中索引创建子模块的一个结构示意框图;

图5为本发明实施例中第二确定单元的一个结构示意框图

图6为本发明实施例中索引创建子模块的另一个结构示意框图;

图7为本发明实施例中分析子模块的一个结构示意框图;

图8为本发明实施例中基于Elasticsearch的实时业务系统的另一个结构示意框图。

本发明实施例提供了一种基于Elasticsearch的实时业务系统,解决现有的系统框架对实时业务数据的管控性能低的问题。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了模块、单元或系统不必限于清楚地列出的那些模块或单元,而是可包括没有清楚地列出的或对于系统固有的其它模块或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于Elasticsearch的实时业务系统包括申请发送装置1、数据管理装置2、数据库同步装置3和搜索引擎装置4;其中:

申请发送装置1,用于向数据管理装置2发送业务数据更新请求和向搜索引擎装置4发送业务数据查询请求;

数据管理装置2,用于根据业务数据更新请求对存储的实时业务数据进行更新处理,得到更新业务数据,并将更新业务数据发送至数据库同步装置3,其中,业务数据为物流业务数据;

数据库同步装置3,用于通过预置的开源数据同步工具Canal将更新业务数据同步至搜索引擎装置4;

搜索引擎装置4,用于通过预置的搜索和数据分析引擎Elasticsearch存储更新业务数据,对更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,根据业务数据查询请求对待查询业务数据进行查询,得到目标查询数据。

具体地,申请发送装置1根据预置的触发指令向数据管理装置2发送业务数据更新请求,以调用数据管理装置2对存储的实时业务数据进行更新处理,得到更新业务数据,以及向搜索引擎装置4发送业务数据查询请求,以调用搜索引擎装置4对根据业务数据查询请求对待查询业务数据进行查询,得到目标查询数据,以实现业务数据的更新与查询分离,减缓存储压力和查询压力,满足大量物流业务数据的存储和运行性能上的需求以及多条件查询的需求,从而使得基于Elasticsearch的实时业务系统的系统架构具备较高的灵活性。

通过数据管理装置2实现对实时业务数据(单表百万级以内)进行存储,以及对实时业务数据的更新操作,业务数据为物流业务数据,包括物流订单的各项运营数据,比如:物流订单的货物仓库管理数据、运输车辆的行程数据和货物派送状况数据等。其中,数据管理装置2上可搭建有一个或多个数据库,多个数据库可为同类型或不同类型,例如:数据管理装置2上搭建有一个关系型数据库MySQL;或,数据管理装置2上搭建有一个关系型数据库MySQL和一个关系型数据库Oracle。通过搭建多个数据库对物流业务数据进行分流并行处理,减少数据管理装置2的数据处理和数据存储压力,提高处理效率,从而提高基于Elasticsearch的实时业务系统的性能。

数据库同步装置3通过开源数据同步工具Canal,对关系型数据库MySQL中业务数据的二进制日志进行监听,当Canal监听到业务数据的二进制日志存在更新,则将存在更新的业务数据(即更新业务数据)同步至搜索引擎装置4。数据库同步装置3通过开源数据同步工具Canal,将数据管理装置2中关系型数据库MySQL的更新业务数据同步至搜索引擎装置4,以减少基于Elasticsearch的实时业务系统的存储和检索压力,提高其处理效率和性能。

搜索引擎装置4通过搜索和数据分析引擎Elasticsearch存储数据库同步装置3同步写入的数据管理装置2中的更新业务数据,对更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,根据申请发送装置1发送的业务数据查询请求对待查询业务数据进行查询,得到目标查询数据,并将目标查询数据反馈至申请发送装置1,以存储实时业务数据满足预设条件成为的历史业务数据,满足复杂的组合型查询以及历史业务数据的明细查询,该预设条件为实时业务数据不在预设的物流业务数据生命周期内,实现基于Elasticsearch的实时业务系统的读写分离,提高其系统的性能和灵活性,从而提高基于Elasticsearch的实时业务系统的对实时业务数据的管控性能。

搜索引擎装置4,还用于通过预置的搜索和数据分析引擎Elasticsearch对更新业务数据进行索引创建得到索引后,将索引拆分为多个子索引,并使用别名对多个子索引进行命名,其中,可通过调用对应的接口更改索引的别名来实现,以便于查询。搜索引擎装置4,还用于在索引创建得到索引后,根据应用类型对应的分片规则对在索引进行分片,例如:若应用类型为日志类(写多读少),则以单个分片大小不超过50G的分片规则对索引进行分片;若应用类型为搜索类(写少读多),则以单个分片大小不超过20G的分片规则对索引进行分片。搜索引擎装置4,还用于在索引创建得到索引后,根据时间维度对索引进行拆分,以利于对不用时间段的更新业务数据进行管理。

搜索引擎装置4,还用于通过搜索和数据分析引擎Elasticsearch接收到申请发送装置1发送的业务数据查询请求时,分析业务数据查询请求中的查询信息,该查询信息可包括查询时间、查询事项和/或其他查询条件。搜索引擎装置4通过搜索和数据分析引擎Elasticsearch分析查询信息后,识别查询信息的结构类型,若该结构类型为单一型的,直接根据该查询信息对待查询业务数据进行单表查询;若该结构类型为组合型的,则根据预置的查询优先级对待查询业务数据进行多表查询。搜索引擎装置4,还用于通过搜索和数据分析引擎Elasticsearch根据角分离后对应的节点状况对待查询业务数据进行查询,例如:角分离后对应的节点为H1、H2和H3,若H1处于宕机状态,则对H2和H3进行检索。

申请发送装置1向数据管理装置2发送业务数据更新请求,向搜索引擎装置4发送业务数据查询请求,以实现通过数据管理装置2对实时业务数据(在预设的业务数据生命周期内的更新业务数据)进行存储和更新操作,通过搜索引擎装置4对历史业务数据(不在预设的业务数据生命周期内的更新业务数据)进行存储和查询。通过数据库同步装置3实时监控数据管理装置2中实时业务数据的变化情况,并将实时变化的业务数据实时同步到搜索引擎装置4中,确保数据管理装置2和搜索引擎装置4之间的近实时同步。

请参阅图1与图2,可选的,数据库同步装置3包括监听模块31、缓存模块32和同步模块33;监听模块31,用于对数据管理装置2中的数据库增量日志进行实时解析,提取对应的更新业务数据,并将更新业务数据发送至缓存模块32;缓存模块32,用于对更新业务数据进行缓存,得到缓存的更新业务数据,并将缓存的更新业务数据发送至同步模块33;同步模块33,用于根据开源数据同步工具Canal中的同步配置文件,将缓存的更新业务数据同步至搜索引擎装置4。

监听模块31监听得到更新业务数据后,将更新业务数据发送至缓存模块32进行缓存,缓存后通过同步模块33将缓存的更新业务数据同步至搜索引擎装置4。其中,同步配置文件可包括调用的接口、数据格式转换和同步规则,例如:对于更新业务数据甲,由于数据量小,调用相对性能低的接口对更新业务数据甲进行同步处理。通过监听模块31对数据管理装置2中的数据库增量日志进行实时解析,并提取对应的更新业务数据,以便于将数据管理装置2中实时变化的物流业务数据实时同步到搜索引擎装置4中。通过缓存模块32对更新业务数据进行缓存,以便于对更新业务数据的访问,减少对数据库的访问压力,以及避免消息堵塞;通过同步模块33确保数据管理装置2与搜索引擎装置4之间的近实时同步。

请参阅图1与图3,可选的,搜索引擎装置4包括搜索和数据分析引擎Elasticsearch集,搜索和数据分析引擎Elasticsearch集包括一个主网络节点服务器41和多个受控网络节点服务器42;主网络节点服务器41分别与多个受控网络节点服务器42通信连接,用于控制多个受控网络节点服务器42对更新业务数据进行分离处理和索引创建处理,得到待查询业务数据,以及控制多个受控网络节点服务器42根据业务数据查询请求对待查询业务数据进行查询,得到目标查询数据。

搜索引擎装置4包括多个基于Elasticsearch的网络节点服务器(搜索和数据分析引擎Elasticsearch集)。通过多个基于Elasticsearch的网络节点服务器(搜索和数据分析引擎Elasticsearch集)中的主网络节点服务器41对多个受控网络节点服务器42进行主从分配合作,实现角分离和搜索引擎装置4的负载均衡,以便于对实时业务数据和历史业务数据的存储、复杂组合型查询和明细查询,以及有利于有效利用节点资源,增强搜索引擎装置4的性能和提高搜索引擎装置4的处理效率。

请参阅图1与图3,可选的,主网络节点服务器41包括处理模块411;

处理模块411,用于根据预设的业务需求对多个受控网络节点服务器42进行热节点标记和冷节点标记,根据预置的角配置信息对多个受控网络节点服务器42进行角节点配置,以及对更新业务数据进行索引创建;

处理模块411包括冷热分离子模块4111、索引创建子模块4112、配置子模块4113、角分离子模块4114和发送子模块4115;

冷热分离子模块4111,用于根据预设时间节点对多个受控网络节点服务器42进行节点标记,得到热节点和冷节点,以及根据热节点和冷节点对更新业务数据进行分类,得到热节点数据和冷节点数据,并将热节点数据和冷节点数据发送至索引创建子模块4112,热节点对应预置的目标时间段,冷节点对应目标时间段之外的时段,目标时间段为根据预设的业务需求所确定的查询时间段;

索引创建子模块4112,用于对热节点数据和冷节点数据进行索引创建,得到已创建索引的节点数据,并将已创建索引的节点数据发送至发送子模块4115;

配置子模块4113,用于存储搜索引擎装置4各类型的配置信息,配置信息包括角配置信息,并将角配置信息发送至角分离子模块4114;

角分离子模块4114,用于根据角配置信息对多个受控网络节点服务器42进行角节点配置,得到配置后的多个受控网络节点服务器42,角配置信息包括角、角对应的节点和节点的节点配置信息;

发送子模块4115,用于根据热节点和冷节点将更新业务数据发送至对应的受控网络节点服务器42,以及根据角和节点配置信息将已创建索引的节点数据发送至角对应的配置后的受控网络节点服务器42,得到待查询业务数据。

其中,预设的业务需求为问题快件的查询业务需求,问题快件为快递物流中出现状况的快件,目标时间段为根据预设的业务需求所确定的查询时间段,例如:预设的业务需求为问题快件的查询业务需求,问题快件为快递物流中出现状况的快件,而问题快件数据量大且主要的业务数据查询请求集中在订单建立的最近一段时间R内,则R为目标时间段。

冷热分离子模块4111进行节点标记得到热节点和冷节点后,由发送子模块4115将更新业务数据发送到对应的热节点或冷节点中,再由索引创建子模块4112进行索引创建,实现对更新业务数据的冷热分离,满足复杂的组合型查询需求,从而便于高效地对搜索引擎装置4中的待查询业务数据进行查询。通过角分离子模块4114根据配置子模块4113发送的角配置信息,对多个受控网络节点服务器42进行角节点配置,并通过发送子模块4115将由索引创建子模块4112进行索引创建后的已创建索引的节点数据发送到角分离子模块4114进行角节点配置后对应的受控网络节点服务器42中,以多个受控网络节点服务器42进行合理资源配置,减少资源浪费,实现负载均衡,提高系统性能和处理效率,从而便于解决现有的系统框架对实时业务数据的管控性能低的问题。

请参阅图3与图4,可选的,索引创建子模块4112包括第一确定单元41121、第一创建单元41122、发送单元41123、第二确定单元41124、迁移单元41125和第三确定单元41126;

第一确定单元41121,用于判断更新业务数据是否在预设的业务数据生命周期内,若更新业务数据不在预设的业务数据生命周期内,则将更新业务数据确定为历史数据,并将历史数据发送至发送单元41123;

第一创建单元41122,用于在热节点上创建索引集,得到对应的第一节点数据,第一节点数据包括节点索引以及业务数据的生成时刻,并将第一节点数据分别发送至第二确定单元41124和第三确定单元41126;

发送单元41123,用于将历史数据发送至冷节点,得到目标冷节点数据,并将目标冷节点数据发送至迁移单元41125;

第二确定单元41124,用于获取当前时刻,并根据生成时刻与当前时刻确定节点索引中的待迁移节点索引,将待迁移节点索引发送至迁移单元41125;

迁移单元41125,用于通过预置接口将待迁移节点索引迁移到目标冷节点数据对应的冷节点上,得到对应的第二节点数据;

第三确定单元41126,用于将第一创建单元41122得到的第一节点数据和迁移单元41125得到的第二节点数据确定为已创建索引的节点数据。

其中,节点索引用于对热节点数据对应的节点和节点对应的业务数据进行查询。预设的业务数据生命周期为快递物流业务数据的生命周期,例如:快递单的创建、仓库管理、物流车辆运输、派件和售后客服处理。第一确定单元41121判断更新业务数据是否在预设的业务数据生命周期内,若更新业务数据不在预设的业务数据生命周期内,则将该更新业务数据确定为历史数据,例如:预设的业务数据生命周期最后一个阶段为售后客服处理阶段,更新业务数据的流程节点状态在售后客服处理阶段之后(即不在预设的业务数据生命周期内),则第一确定单元41121将该更新业务数据确定为历史数据。历史数据为不在预设的业务数据生命周期内的更新业务数据,可为更新业务数据当前的流程节点为最终的流程节点,且当前的流程节点处于结束状态,例如:最终的流程节点为客服仲裁管理,更新业务数据当前的流程节点为客服仲裁管理,且运行状态为完结状态,客服仲裁管理为预设的物流业务数据生命周期之外的阶段,则第一确定单元41121将该更新业务数据确定为历史数据。

若更新业务数据在预设的业务数据生命周期内,则第一确定单元41121将该更新业务数据确定为实时数据,例如:预设的业务数据生命周期其中一个阶段为快件派送管理阶段,更新业务数据的流程节点状态为快件派送中(即在预设的业务数据生命周期内),则第一确定单元41121将该更新业务数据确定为实时数据。实时数据为在预设的业务数据生命周期内的更新业务数据,可为更新业务数据当前的流程节点是或不是最终的流程节点,且当前的流程节点处于运行中,例如:最终的流程节点为客服仲裁管理,若更新业务数据当前的流程节点为快件货物仓储管理(在客服仲裁管理之前),且运行状态为进行中,则第一确定单元41121将该更新业务数据确定为实时数据,若更新业务数据当前的流程节点为客服仲裁管理,且运行状态为进行中,则第一确定单元41121将该更新业务数据确定为实时数据。

通过第一创建单元41122在热节点上创建索引集,并控制单个索引的大小为20G以内或50G以内,以平衡实时业务数据写入索引的吞吐量和延时,并将对应的第一节点数据发送到第二确定单元41124,由第二确定单元41124获取当前时刻,并根据生成时刻与当前时刻确定节点索引中的待迁移节点索引,并将待迁移节点索引发送至迁移单元41125,由迁移单元41125将待迁移节点索引迁移到冷节点上。通过发送单元41123将历史数据发送至冷节点,得到目标冷节点数据。实现对更新业务数据进行实时的存储和索引管理,提高查询的效率和准确性,从而方便而高效地进行查询。

请参阅图4与图5,可选的,第二确定单元41124包括获取子单元411241、计算子单元411242、判断子单元411243和确定子单元411244;

获取子单元411241,用于获取当前时刻,并将当前时刻发送至计算子单元411242;

计算子单元411242,用于计算生成时刻与当前时刻之间的时长差值,并将时长差值发送至判断子单元411243;

判断子单元411243,用于判断时长差值是否大于预设阈值,得到判断结果,并将判断结果发送至确定子单元411244;

确定子单元411244,用于将判断结果为是的第一节点数据对应的节点索引确定为待迁移节点索引。

例如:业务数据的生成时刻为2020.02.29,获取子单元411241获取的当前时刻为2020.03.09,通过计算子单元411242计算生成时刻与当前时刻之间的时长差值为9天,若预设阈值为5天,则判断子单元411243将时长差值大于预设阈值的判断结果发送至确定子单元411244,确定子单元411244将2020.02.29对应的节点索引确定为待迁移节点索引,若预设阈值为10天,则判断子单元411243将时长差值小于预设阈值的判断结果发送至确定子单元411244,确定子单元411244将2020.02.29对应的节点索引确定为待迁移节点索引之外的节点索引。其中,预设阈值可根据目标时间段来设定,即预设阈值可为目标时间段对应的时长。

请参阅图3与图6,可选的,索引创建子模块4112包括第二创建单元41127、第一设置单元41128、分析单元41129、第二设置单元41120和第四确定单元411201;

第二创建单元41127,用于对热节点数据和冷节点数据进行索引创建,得到初始索引,并将初始索引发送至第一设置单元41128;

第一设置单元41128,用于根据预置的主分片数对初始索引进行分片设置,得到分片后的初始索引,并将分片后的初始索引发送至分析单元41129;

分析单元41129,用于对分片后的初始索引进行检索需求分析、聚合分析和分词需求分析,得到候选索引,并将候选索引发送至第二设置单元41120;

第二设置单元41120,用于对候选索引进行属性设置和类型设置,得到目标索引,并将目标索引发送至第四确定单元411201;

第四确定单元411201,用于将创建有目标索引的热节点数据和创建有目标索引的冷节点数据确定为已创建索引的节点数据。

第二创建单元41127对热节点数据和冷节点数据进行索引创建之后,将所得的初始索引发送至第一设置单元41128,通过第一设置单元41128对初始索引进行分片设置,并将所得的分片后的初始索引发送给分析单元41129,由分析单元41129进行分析,并将所得的候选索引发送到第二设置单元41120中,由第二设置单元41120进行索引属性设置和索引类型设置,从而得到目标索引。

通过第一设置单元41128根据预置的主分片数对初始索引进行分片设置,可设置初始索引在一个节点上最多多少个分片,避免分片后的初始索引的索引分片集中分配到少量节点,导致负载不均衡。通过分析单元41129对分片后的初始索引中的字段进行检索需求分析、聚合分析和分词需求分析,得到候选索引,以及通过第二设置单元41120对候选索引进行属性设置和类型设置,提高数据写入性能和提高创建与检索索引的效率。

请参阅图1与图3,可选的,主网络节点服务器41还包括查询模块412;

查询模块412,用于根据业务数据查询请求对多个受控网络节点服务器42中的待查询业务数据进行查询,得到目标查询数据;

查询模块412包括提取子模块4121、分析子模块4122和检索子模块4123;

提取子模块4121,用于接收申请发送装置1发送的业务数据查询请求,提取业务数据查询请求中的查询时间信息,并将查询时间信息发送至分析子模块4122;

分析子模块4122,用于根据查询时间信息和角配置信息,对通过处理模块411所得的配置后的多个受控网络节点服务器42进行节点分析,得到对应的目标节点;

检索子模块4123,用于根据业务数据查询请求对分析子模块4122所得的目标节点中已创建索引的节点数据进行检索,得到与业务数据查询请求对应的目标查询数据。

通过提取子模块4121提取申请发送装置1发送的业务数据查询请求中的查询时间信息,并将查询时间信息发送至分析子模块4122,由分析子模块4122进行节点分析,从而确定先进行检索的节点(即目标节点),再由检索子模块4123根据查询请求对应地在目标节点进行检索,实现搜索引擎装置4的负载均衡,避免对资源占比高的网络节点服务器进行负荷操作而导致的查询效率低,有利于资源的合理利用和提高查询效率。

请参阅图3与图7,可选的,分析子模块4122包括顺序控制单元41221、时间分析单元41222和配置信息分析单元41223;顺序控制单元41221,用于控制时间分析单元41222和配置信息分析单元41223的分析顺序。时间分析单元41222,用于先根据查询时间信息判断是对热节点的节点数据进行检索还是对冷节点的节点数据进行检索,从而得到初始节点。配置信息分析单元41223,用于获取搜索引擎装置4中各网络节点服务器的资源占比,根据各网络节点服务器的资源占比和角配置信息确定初始节点中的目标节点。以方便高效而有序地进行查询。

请参阅图8,可选的,基于Elasticsearch的实时业务系统还包括优化模块5,优化模块5用于对业务数据查询请求和目标查询数据进行记录和统计分析,得到统计分析数据,并根据统计分析数据对搜索引擎装置4中更新业务数据的冷热分离进行优化。

优化模块5与搜索引擎装置4通信连接。优化模块5包括记录子模块51、统计分析子模块52和优化子模块53。记录子模块51,用于对每次的业务数据查询请求和每次的目标查询数据进行记录,得到记录数据,并将记录数据发送至统计分析子模块52。统计分析子模块52,用于对记录数据进行统计分析,得到统计分析数据,该统计分析数据可为查询次数较多的查询时间段,并将统计分析数据发送至优化子模块53。优化子模块53,用于根据统计分析数据调整冷热分离的预设时间节点的时间段,以对搜索引擎装置4中更新业务数据的冷热分离进行优化,以提高对更新业务数据的冷热数据分离的准确性,从而提高对待查询业务数据的查询准确性。

可选的,搜索引擎装置4还包括参数设置模块43,参数设置模块43,用于对搜索引擎装置4中的参数进行设置,参数包括刷新时间间隔、索引分片数据、单个节点上的分片数量、事务日志的存储位置和存储方式以及索引的设置策略。

通过参数设置模块43,进行刷新时间间隔、索引分片数据、单个节点上的分片数量、事务日志的存储位置和存储方式以及索引的设置策略的设置,以便于搜索引擎装置4高效地对更新业务数据处理的方案进行配置。提高搜索引擎装置4的性能和处理效率,以及实现负载均衡。

本发明实施例中,提供一种基于Elasticsearch的实时业务系统,通过数据管理装置、数据库同步装置和搜索引擎装置,满足大量物流业务数据的存储和运行性能上的需求、多条件查询的需求以及业务数据生命周期管理的需求,并实现物流业务数据的同步和读写分离,以及通过基于Elasticsearch的搜索引擎装置对实时数据的处理,使得让实时数据的存储和查询方式既可选择单表方式又可选择多表方式,进而使得系统架构具备较高的灵活性,从而解决了现有的系统框架对实时业务数据的管控性能低的问题。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

本文发布于:2023-04-15 07:20:54,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/87136.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图