一种通用的全文搜索引擎实时数据同步方法及装置制造方法及图纸

技术编号:26790864 阅读:13 留言:0更新日期:2020-12-22 17:06
本申请公开了一种通用的全文搜索引擎实时数据同步方法及装置,用以解决现有方案中的业务侵入性、数据库兼容性及数据实时性的技术问题。方法包括:监听预设数据库的通信端口;抓取并解析通信端口对应的通信数据包,以得到待执行指令;基于预设数据库的类型,解析待执行指令,以得到数据变更集;其中,数据变更集用于指示预设数据库中的待变更数据;对数据变更集进行封装处理,并将封装处理后的数据变更集推送至消息队列中,进而同步至全文搜索引擎中。本申请通过上述方法实现了数据同步过程中能够兼容多种数据库类型且对原有的业务系统编码无侵入,而且保证了数据的实时性。

【技术实现步骤摘要】
一种通用的全文搜索引擎实时数据同步方法及装置
本申请涉及数据处理
,尤其涉及一种通用的全文搜索引擎实时数据同步方法及装置。
技术介绍
随着信息化的不断发展,各类数据、信息呈现井喷式的增长。在这种数据纷繁复杂的情况下,数据的高性能检索系统成为了一个必然的趋势,催生了一些专业的全文搜索引擎。现有的全文搜索引擎在进行数据收录时,普遍采用的方法包括业务系统主动推送、外部系统定时监控数据库日志抽取变化等。但业务系统主动推送容易对原有的业务系统造成侵入;定时监控数据库日志抽取变化很难做到多种数据库的兼容,且数据的实时性要求难以满足。
技术实现思路
本申请实施例提供了一种通用的全文搜索引擎实时数据同步方法及装置,用以解决现有的全文搜索引擎数据同步方法容易对现有业务系统造成侵入、无法兼容多种数据库且数据的实时性无法保证的技术问题。第一方面,本申请实施例提供了一种通用的全文搜索引擎实时数据同步方法,包括:监听预设数据库的通信端口;抓取并解析通信端口对应的通信数据包,以得到待执行指令;基于预设数据库的类型,解析待执行指令,以得到数据变更集;其中,数据变更集用于指示预设数据库中的待变更数据;对数据变更集进行封装处理,并将封装处理后的数据变更集推送至消息队列中,进而同步至全文搜索引擎中。本申请实施例提供的一种通用的全文搜索引擎实时数据同步方法,通过建通数据库的通信端口,当有网络通信数据包传输时,对该数据包进行抓取,使得该方法对业务系统原有的数据无侵入;通过对数据包解析得到待执行指令,通过对待执行指令解析得到数据变更集,根据数据库的类型进行解析,实现了兼容多种数据库类型;通过消息阵列将数据变更集同步至全文搜索引擎中,借助消息阵列的高性能处理能力及集群模式,实现数据的实时性处理,保证了数据同步的实时性。在本申请的一种实现方式中,对数据变更集进行封装处理后,方法还包括:将封装处理后的数据变更集转换映射为全文搜索引擎的索引;对索引进行保存。在本申请的一种实现方式中,封装处理后的数据变更集中包括数据完整性校验码。本申请实施例提出的数据同步方法中,在对数据进行封装时,设置完整性校验码,以确保数据变更集得到完整的传输与更新,进而保证了预设数据库中的变更数据与全文搜索引擎保持一致。在本申请的一种实现方式中,解析待执行指令,以得到数据变更集,具体包括:确定预设数据库的类型;根据预设数据库的类型,确定与之对应的指令解析器;通过指令解析器,对待执行指令进行解析,并根据预设数据库中的数据文件,整理得到数据变更集。第二方面,本申请实施例还提供了一种通用的全文搜索引擎实时数据同步装置,装置包括:数据库监听器,用于对预设数据库的通信端口进行监听,以抓取与通信端口对应的通信数据包;数据库监听器还用于对通信数据包进行解析,以得到待执行指令;指令解析器,用于解析待执行指令,并根据解析结果确定数据变更集;其中,数据变更集用于指示预设数据库中的待变更数据;消息产生器,用于对数据变更集进行封装处理,并将封装处理后的数据变更集发送至消息队列中;消息处理器,用于将封装处理后的数据变更集同步至全文搜索引擎中。本申请实施例提供的一种通用的全文搜索引擎实时数据同步装置,由于采用的是网络数据抓包解析的方式,使得整个装置对业务系统编码无侵入,不仅支持新项目开发,也可以支持已建系统的升级;指令解析器可以针对不同的数据库做出切换,实现了多种数据库类型的兼容;在装置部署安装时,可以根据现场实际场景,选装特定数据库类型对应的指令解析器,以便正确执行对应的指令解析工作;消息处理器器为了更好的提供消息处理能力,提高消息产生与处理过程中的系统可扩展性,通过消息队列来对消息的产生与处理解耦,借助消息队列的高性能处理能力及集群模式,实现数据的实时处理,保证了数据同步的实时性。在本申请的一种实现方式中,指令解析器包括若干解析模块;若干解析模块用于根据所述预设数据库的类型进行切换。在本申请的一种实现方式中,消息产生器包括数据封装模块;数据封装模块用于将数据变更集封装为预设格式的数据变更集;预设格式的数据变更集用于与全文搜索引擎中的若干索引建立对应关系。本申请实施例中的数据封装模块将数据变更集封装为统一格式的数据变更集,其意义在于能够使得数据解析过程中获知数据在全文搜索引擎中的影响范围,这样不但达到了增量更新全文搜索引擎中数据,而且还提高了时效性,避免了部分通过轮询方法获取增量数据的延时问题。同时,相较于传统的基于时间戳轮询获取变更数据的方案,本申请实施例中提出的数据同步装置对资源的消耗也得到了明显的改善。在本申请的一种实现方式中,数据封装模块还用于在预设格式的数据变更集中添加预设字段;预设字段用于支持预设格式的数据变更集进行完整性校验。本申请实施例提供的数据同步装置中的消息产生器包括数据封装模块,数据封装模块在对数据变更集进行封装处理时,还会增加预设字段,以确保数据变更集得到了完整的传输与更新,保证了数据的完整性,进而保证了预设数据库中的数据变化与全文搜索引擎保持一致。在本申请的一种实现方式中,数据封装模块还用于配置全文搜索引擎中的待建立索引。该数据封装模块可以进行自定义设置,可以配置全文搜索引擎中将要建立的索引,使得全文搜索引擎能够更加适应业务的需要。在本申请的一种实现方式中,消息处理器还用于将封装处理后的数据变更集转换映射为全文搜索引擎的索引。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的一种通用的全文搜索引擎实时数据同步方法流程示意图;图2为本申请实施例提供的一种通用的全文搜索引擎实时数据同步装置内部结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。随着企业规模以及信息化的发展,各类企业信息、数据呈现井喷式增长。在这种数据纷繁复杂的场景下,数据的高性能检索系统成为了一个必然趋势,催生了一些专业的全文搜索引擎。对于全文搜索引擎中数据的收录,目前普遍的做法主要包括业务系统主动推送、外部系统定时监控数据库日志抽取变化等多种方式。然而,通过监控数据库日志的方案很难做到多数据库兼容;定时抽取数据增量的方案无法做到数据实时性要求;且部分业务系统主动推送数据到全文搜索引擎的方案,对原有业务有一定的侵入性,已建立的系统需升级改造。总而言之,现有的实时数据同步方案一般会存在一些诸如对现有业务系统的侵入、无法兼容多种数据库、很难达到实时数据抽取等弊端,制约了全文搜索引擎的发展。为解决上述技术问题,本申请实施例提出了一种通本文档来自技高网...

【技术保护点】
1.一种通用的全文搜索引擎实时数据同步方法,其特征在于,所述方法包括:/n监听预设数据库的通信端口;/n抓取并解析所述通信端口对应的通信数据包,以得到待执行指令;/n基于所述预设数据库的类型,解析所述待执行指令,以得到数据变更集;其中,所述数据变更集用于指示所述预设数据库中的待变更数据;/n对所述数据变更集进行封装处理,并将封装处理后的所述数据变更集推送至消息队列中,进而同步至全文搜索引擎中。/n

【技术特征摘要】
1.一种通用的全文搜索引擎实时数据同步方法,其特征在于,所述方法包括:
监听预设数据库的通信端口;
抓取并解析所述通信端口对应的通信数据包,以得到待执行指令;
基于所述预设数据库的类型,解析所述待执行指令,以得到数据变更集;其中,所述数据变更集用于指示所述预设数据库中的待变更数据;
对所述数据变更集进行封装处理,并将封装处理后的所述数据变更集推送至消息队列中,进而同步至全文搜索引擎中。


2.根据权利要求1所述的一种通用的全文搜索引擎实时数据同步方法,其特征在于,对所述数据变更集进行封装处理后,所述方法还包括:
将封装处理后的所述数据变更集转换映射为所述全文搜索引擎的索引;
对所述索引进行保存。


3.根据权利要求1所述的一种通用的全文搜索引擎实时数据同步方法,其特征在于,所述封装处理后的数据变更集中包括数据完整性校验码。


4.根据权利要求1所述的一种通用的全文搜索引擎实时数据同步方法,其特征在于,解析所述待执行指令,以得到数据变更集,具体包括:
确定所述预设数据库的类型;
根据所述预设数据库的类型,确定与之对应的指令解析器;
通过所述指令解析器,对所述待执行指令进行解析,并根据所述预设数据库中的数据文件,整理得到数据变更集。


5.一种通用的全文搜索引擎实时数据同步装置,其特征在于,所述装置包括:
数据库监听器,用于对预设数据库的通信端口进行监听,以抓取与所述通信端口对应的通信数据包;
所述数据库监听器还用于对所述通信...

【专利技术属性】
技术研发人员:李俊伟焦学瑞舒鹏飞魏忠法刘建涛徐同明
申请(专利权)人:山东浪潮通软信息科技有限公司
类型:发明
国别省市:山东;37

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

1