一种数据同步方法、装置、系统、服务器和存储介质制造方法及图纸

技术编号:30097755 阅读:28 留言:0更新日期:2021-09-18 09:01
本发明专利技术实施例公开了一种数据同步方法、装置、系统、服务器和存储介质,该方法包括:将数据库中的全量数据加载并发送至离线服务器,以使离线服务器获得多个索引子文件;控制离线服务器对多个索引子文件进行合并,生成目标索引文件;对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,以使当前查询请求由其他搜索服务器集群进行响应处理;基于目标索引文件,对当前搜索服务器集群中的当前搜索服务器进行数据同步。通过本发明专利技术实施例的技术方案,可以在不影响查询性能的提前下对搜索服务器进行全量索引的数据同步。务器进行全量索引的数据同步。务器进行全量索引的数据同步。

【技术实现步骤摘要】
一种数据同步方法、装置、系统、服务器和存储介质


[0001]本专利技术实施例涉及互联网技术,尤其涉及一种数据同步方法、装置、系统、服务器和存储介质。

技术介绍

[0002]随着互联网技术的快速发展,可以利用搜索服务器对海量数据进行搜索查询,获得用户所需要的信息。
[0003]通常,在索引初始化时、索引结构发生变更时、索引出现大面积数据误差时都需要对搜索服务器进行全量索引,也就是将数据库中的全量数据进行提取组装后写入搜索服务器中,以便保证数据库中的数据与索引的数据之间的一致性和完整性。
[0004]目前,通常是对正在提供搜素服务的搜索服务器进行全量索引的数据同步。然而,由于索引数据量过大,使得搜索服务器的写入操作会非常频繁,从而会占用较多资源,使得用于查询的资源较少,大大降低了查询性能。

技术实现思路

[0005]本专利技术实施例提供了一种数据同步方法、装置、系统、服务器和存储介质,以在不影响查询性能的提前下对搜索服务器进行全量索引的数据同步。
[0006]第一方面,本专利技术实施例提供了一种数据同步方法,应用于控制服务器,包括:
[0007]将数据库中的全量数据加载并发送至离线服务器,以使所述离线服务器获得多个索引子文件;
[0008]控制所述离线服务器对多个所述索引子文件进行合并,生成目标索引文件;
[0009]对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,以使当前查询请求由其他搜索服务器集群进行响应处理;
[0010]基于所述目标索引文件,对所述当前搜索服务器集群中的当前搜索服务器进行数据同步。
[0011]第二方面,本专利技术实施例还提供了一种数据同步装置,集成于控制服务器,包括:
[0012]数据加载模块,用于将数据库中的全量数据加载并发送至离线服务器,以使所述离线服务器获得多个索引子文件;
[0013]合并控制模块,用于控制所述离线服务器对多个所述索引子文件进行合并,生成目标索引文件;
[0014]集群切流模块,用于对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,以使当前查询请求由其他搜索服务器集群进行响应处理;
[0015]数据同步模块,用于基于所述目标索引文件,对所述当前搜索服务器集群中的当前搜索服务器进行数据同步。
[0016]第三方面,本专利技术实施例还提供了一种数据同步系统,所述系统包括:控制服务器、离线服务器和至少两个搜索服务器集群;
[0017]其中,所述控制服务器用于实现如本专利技术任意实施例所提供的数据同步方法。
[0018]第四方面,本专利技术实施例还提供了一种控制服务器,所述控制服务器包括:
[0019]一个或多个处理器;
[0020]存储器,用于存储一个或多个程序;
[0021]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所提供的数据同步方法。
[0022]第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所提供的数据同步方法。
[0023]本专利技术实施例中的控制服务器通过将数据库中的全量数据加载并发送至离线服务器,并控制离线服务器对多个索引子文件进行合并,生成目标索引文件,从而实现离线构建索引,确保索引构建期间不会影响搜索服务器的查询性能。而且通过对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,使得当前查询请求由其他搜索服务器集群进行响应处理,并基于目标索引文件,对当前搜索服务器集群中的当前搜索服务器进行数据同步,从而通过分批同步的方式可以避免因全量索引同步而导致查询性能下降的情况,确保对外查询服务不受影响。
附图说明
[0024]图1是本专利技术实施例一提供的一种数据同步方法的流程图;
[0025]图2是本专利技术实施例一所涉及的一种全量数据分布式加载的示例;
[0026]图3是本专利技术实施例一所涉及的一种全量索引同步架构图;
[0027]图4是本专利技术实施例二提供的一种数据同步方法的流程图;
[0028]图5是本专利技术实施例二所涉及的一种切流同步的时序图;
[0029]图6是本专利技术实施例三提供的一种数据同步装置的结构示意图;
[0030]图7是本专利技术实施例四提供的一种数据同步系统的结构示意图;
[0031]图8是本专利技术实施例五提供的一种控制服务器的结构示意图。
具体实施方式
[0032]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0033]实施例一
[0034]图1为本专利技术实施例一提供的一种数据同步方法的流程图,本实施例可适用于在利用至少两个搜索服务器集群提供对外查询服务时,对搜索服务器进行全量索引的数据同步的情况,尤其是可以用于大索引的应用场景中,大索引是指搜索服务器中存储的单个类型数据的文档总数达到千万级且总大小超过百G。该方法可以由数据同步装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于控制服务器中。如图1所示,该方法具体包括以下步骤:
[0035]S110、将数据库中的全量数据加载并发送至离线服务器,以使离线服务器获得多个索引子文件。
[0036]其中,全量数据可以是指数据库中用于构建索引的全部业务数据。离线服务器可以是指处于离线状态,即未对外提供查询服务的设备。离线服务器可以单独部署,也可以部署在搜索服务器集群中。
[0037]具体地,控制服务器可以为一台,也可以为多台。例如,本实施例可以利用一台控制服务器将数据库中用于构建索引的全量数据进行提取组装,生成多个索引子文件,并将多个索引子文件发送至离线服务器。本实施例也可以利用多台控制服务器进行分布式加载,如图2所示,每个控制服务器只负责加载一个区间的数据库文件并将产生的索引子文件发送至离线服务器,从而可以缩短全量索引的构建时间,提高索引构建效率,进而提高数据同步效率。
[0038]S120、控制离线服务器对多个索引子文件进行合并,生成目标索引文件。
[0039]示例性地,S120可以包括:通过Solr搜索引擎中的段文件合并命令,将离线服务器中的多个索引子文件合并为一个或多个目标索引文件。
[0040]其中,目标索引文件可以是指将小的索引子文件进行合并后生成的索引大文件。具体地,控制服务器可以通过利用Solr搜索引擎中的段文件合并命令,控制离线服务器将全量索引完毕后产生的多个索引子文件合并为一个或多个目标索引文件。
[0041]S130、对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,以使当前查询请求由其他搜索服务器集群进行响应处理。
[0042]其中,搜索服务器集群可以是指将多个搜索服务器集成起来一起对外提供搜索本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于控制服务器,包括:将数据库中的全量数据加载并发送至离线服务器,以使所述离线服务器获得多个索引子文件;控制所述离线服务器对多个所述索引子文件进行合并,生成目标索引文件;对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,以使当前查询请求由其他搜索服务器集群进行响应处理;基于所述目标索引文件,对所述当前搜索服务器集群中的当前搜索服务器进行数据同步。2.根据权利要求1所述的方法,其特征在于,在将数据库中的全量数据加载并发送至离线服务器之前,还包括:获取输入的索引集合名称;若根据所述索引集合名称,检测到当前满足预设数据同步条件,则将数据库中的所述索引集合名称对应的全量数据加载并发送至离线服务器。3.根据权利要求1所述的方法,其特征在于,控制所述离线服务器对多个所述索引子文件进行合并,生成目标索引文件,包括:通过Solr搜索引擎中的段文件合并命令,将所述离线服务器中的多个所述索引子文件合并为一个或多个目标索引文件。4.根据权利要求1所述的方法,其特征在于,对至少两个搜索服务器集群中待同步的当前搜索服务器集群进行切流,以使当前查询请求由其他搜索服务器集群进行响应处理,包括:向负载均衡服务器发送切流指令,以使所述负载均衡服务器基于所述切流指令将当前流量由至少两个搜索服务器集群中待同步的当前搜索服务器集群切至其他搜素服务器集群。5.根据权利要求1

4任一所述的方法,其特征在于,基于所述目标索引文件,对所述当前搜索服务器集群中的当前搜索服务器进行数据同步,包括:向当前搜索服务器集群中的当前搜索服务器发送同步开关开启指令,以使当前搜索服务器基于所述同步开关开启指令从所述离线服务器拉取...

【专利技术属性】
技术研发人员:徐凯熙刘磊陈先进
申请(专利权)人:挂号网杭州科技有限公司
类型:发明
国别省市:

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

1