搜索数据的构建方法、增量数据的推送方法及装置和设备制造方法及图纸

技术编号:16662879 阅读:33 留言:0更新日期:2017-11-30 11:58
本申请提供一种搜索数据的构建方法、增量数据的推送方法及装置和设备,所述增量数据的推送方法包括:获取数据库的目标日志文件并解析,所述数据库用于存储增量数据,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;基于对目标日志文件的解析结果构建预设结构体的数据,所述预定结构体包括操作时间、操作类型和操作对象,所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;推送预设结构体的数据。实施本申请,通过解析数据库的目标日志文件构建含有增量数据的预设结构体的数据,搜索引擎即根据预设结构体的数据构建搜索数据,既能保证搜索数据的及时更新,又可以降低对业务系统的影响。

【技术实现步骤摘要】
搜索数据的构建方法、增量数据的推送方法及装置和设备
本申请涉及计算机
,尤其涉及搜索数据的构建方法、增量数据的推送方法及装置和设备。
技术介绍
目前互联网上产生的业务种类繁多,各种业务系统在业务发生过程中会产生各种业务数据,比如电商交易订单数据、保险的保单数据等,这些业务数据属于业务的基础数据,由于数据量大,这些基础数据经常会存储在多个数据库或者多个数据库表中。现实中,对于基础数据,经常存在各种搜索需求,比如全文搜索、按照某一维度聚合搜索、过滤等。开发中经常会基于搜索引擎构建并存储搜索数据,以实现对这些基础数据的搜索。这就需要搜索引擎能在基础数据更新后,及时更新搜索数据。为了保证搜索引擎能及时更新搜索数据,目前通常采用消息机制异步化来获取增量数据(增量数据是指业务发生过程中实时产生的新的业务数据),以更新搜索数据,即,业务系统产生基础数据并写入数据库后,通常会发送一条异步消息,搜索引擎基于异步消息来构建搜索数据。但是,这种做法使得业务系统和搜索数据具有强耦合性,一方面,如果业务系统不关注异步消息的发送结果,一旦异步消息发送失败,将会使得搜索引擎难以及时更新搜索数据;另一方面,如果业务系统实时关注异步消息的发送结果,构建搜索数据的过程会影响业务系统的业务处理效率。
技术实现思路
有鉴于此,本申请提供一种搜索数据的构建方法、增量数据的推送方法及装置和设备。根据本申请实施例的第一方面,提供一种搜索数据的构建方法,包括步骤:数据库存储增量数据后,在目标日志文件中生成相应的记录;所述目标日志文件通过预先修改相应的配置文件被启用,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;数据推送方获取数据库的目标日志文件并解析;基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象;所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;将预设结构体的数据推送给搜索引擎;搜索引擎基于预设结构体的数据构建搜索数据。根据本申请实施例的第二方面,提供一种增量数据的推送方法,包括以下步骤:获取数据库的目标日志文件并解析;所述数据库用于存储增量数据,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象,所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;推送预设结构体的数据。根据本申请实施例的第三方面,提供一种搜索数据的构建系统,包括数据库、数据推送方和搜索引擎,所述数据库用于存储增量数据,并在目标日志文件中生成相应的记录;所述目标日志文件通过预先修改相应的配置文件被启用,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;所述数据推送方包括:日志解析模块,用于获取数据库的目标日志文件并解析;数据构建模块,用于基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象;所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;数据推送模块,用于将预设结构体的数据推送给所述搜索引擎;所述搜索引擎用于基于预设结构体的数据构建搜索数据。根据本申请实施例的第四方面,提供一种增量数据的推送装置,包括:日志解析模块,用于获取数据库的目标日志文件并解析;所述数据库用于存储增量数据,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;数据构建模块,用于基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象,所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;数据推送模块,用于推送预设结构体的数据。根据本申请实施例的第五方面,提供一种计算机设备,包括:处理器;存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:获取数据库的目标日志文件并解析;所述数据库用于存储增量数据,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象,所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;推送预设结构体的数据。实施本申请提供的实施例,无需产生增量数据的业务系统发送异步消息和关注异步消息是否发送成功,即可以通过解析数据库的目标日志文件构建含有增量数据的预设结构体的数据,然后推送预设结构体的数据到搜索引擎,搜索引擎即可以根据预设结构体的数据及时更新搜索数据,同时还可以降低对业务系统的影响。附图说明图1是本申请一示例性实施例示出的搜索数据的构建系统的架构图;图2是本申请一示例性实施例示出的搜索数据的构建方法的流程图;图3是本申请一示例性实施例示出的搜索数据的构建方法的时序图;图4是本申请一示例性实施例示出的增量数据的推送的流程图;图5是本申请一示例性实施例示出的增量数据的推送装置的逻辑框图;图6是本申请一示例性实施例示出的增量数据的推送装置所在的计算机设备的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请涉及的搜索数据,可以指搜索引擎应各种搜索需求,基于各种业务系统在业务发生过程中会产生的增量数据构建的数据。为了保证搜索引擎及时根据增量数据更新搜索数据,目前的业务系统产生基础数据并写入数据库后,会发送一条异步消息到搜索引擎,搜索引擎再基于异步消息来构建搜索数据。而网络中断、网络延迟等原因很可能导致异步消息发送失败,进而导致搜索数据缺失,与增量数据不一致。为了避免这种状况发生,业务系统需要与搜索引擎强耦合,即实时关注异步消息的发送结果、根据发送结果确定是否重发异步消息,而业务系统对搜索数据的构建过程的关注程度越高,业务系统对自身业务的处理效率越低,所以,目前构建搜索数据的过程会对业务系统产生极大的负面影响。本申请针对如何降低搜索数据的构建过程对业务系统的负面影响提出解决方案。为降低搜索数据的构建过程对业务系统的本文档来自技高网...
搜索数据的构建方法、增量数据的推送方法及装置和设备

【技术保护点】
一种搜索数据的构建方法,包括以下步骤:数据库存储增量数据后,在目标日志文件中生成相应的记录;所述目标日志文件通过预先修改相应的配置文件被启用,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;数据推送方获取数据库的目标日志文件并解析;基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象;所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;将预设结构体的数据推送给搜索引擎;搜索引擎基于预设结构体的数据构建搜索数据。

【技术特征摘要】
1.一种搜索数据的构建方法,包括以下步骤:数据库存储增量数据后,在目标日志文件中生成相应的记录;所述目标日志文件通过预先修改相应的配置文件被启用,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;数据推送方获取数据库的目标日志文件并解析;基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象;所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;将预设结构体的数据推送给搜索引擎;搜索引擎基于预设结构体的数据构建搜索数据。2.根据权利要求1所述的方法,所述目标日志文件为二进制查询日志文件。3.根据权利要求2所述的方法,所述数据库为关系数据库,所述目标日志文件为binlog文件,所述配置文件为my.cnf。4.根据权利要求1至3中任一项所述的方法,所述方法还包括以下步骤:数据库定时将其之前存储的增量数据同步到离线数据仓库;离线数据仓库将同步的数据构建成预设结构体的数据,并将构建的预设结构体的数据推送给搜索引擎;搜索引擎基于离线数据仓库推送的数据构建搜索数据。5.一种增量数据的推送方法,包括以下步骤:获取数据库的目标日志文件并解析;所述数据库用于存储增量数据,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;基于对目标日志文件的解析结果构建预设结构体的数据;所述预定结构体包括操作时间、操作类型和操作对象,所述操作类型与所述触发事件对应,所述操作对象与所述增量数据对应;推送预设结构体的数据。6.根据权利要求5所述的方法,所述目标日志文件为二进制查询日志文件。7.根据权利要求6所述的方法,所述数据库为关系数据库,所述目标日志文件为binlog文件。8.一种搜索数据的构建系统,包括数据库、数据推送方和搜索引擎,所述数据库用于存储增量数据,并在目标日志文件中生成相应的记录;所述目标日志文件通过预先修改相应的配置文件被启用,所述目标日志文件记录有触发事件,所述触发事件为描述所述数据库产生增量数据的事件;所述数据推送方包括:日志解析模块,用于获取数据库的目标日志文件并解析;数据构建模块,用于基于...

【专利技术属性】
技术研发人员:王照强
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1