著录项信息
专利名称 | 主服务器、从服务器、索引同步系统和索引同步方法 |
申请号 | CN201310055752.3 | 申请日期 | 2013-02-21 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-06-26 | 公开/公告号 | CN103177082A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 用友软件股份有限公司 | 申请人地址 | 北京市海淀区北清路68号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 用友网络科技股份有限公司 | 当前权利人 | 用友网络科技股份有限公司 |
发明人 | 郭辉 |
代理机构 | 北京友联知识产权代理事务所(普通合伙) | 代理人 | 尚志峰;汪海屏 |
摘要
本发明提供了一种主服务器,应用于索引同步系统,包括:索引变更点记录单元,对主服务器进行监听,当监听到主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;索引变更消息发送单元,定时查看索引变更点队列,当查看到有索引文件发生变更的事件时,向从服务器发送索引文件变更消息;索引文件发送单元,当接收到从服务器的索引同步请求时,查找与索引同步请求对应的索引文件,并将索引文件发送至所述从服务器。相应地,本发明还提供了一种从服务器、索引同步系统和索引同步方法。通过该技术方案,可以提高搜索效率。
1.一种从服务器,应用于索引同步系统,其特征在于,包括:
消息监听单元,监听主服务器发送的索引文件变更消息,并将监听到的所述索引文件变更消息发送至索引文件读取单元;
所述索引文件读取单元,读取所述索引文件变更消息,并从所述主服务器中获取主服务器信息和索引文件变更的信息;
同步请求发送单元,根据所述主服务器信息和所述索引文件变更的信息,配置索引同步请求参数,并向所述主服务器发送索引同步请求;
更新复制同步单元,接收所述主服务器发送的索引文件,将所述索引文件和所述从服务器的本地对应索引文件进行复制合并,并通知搜索引擎重新加载合并后的索引文件。
2.根据权利要求1所述的从服务器,其特征在于,还包括:
组合单元,接收所述主服务器发送的由一个或多个数据包组成的索引文件,并在检测到所述索引文件由多个数据包组成时,合并所述多个数据包,组成所述索引文件;
校验处理单元,对接收的所述索引文件进行检测,当检测到所述索引文件中包括校验信息时,对所述索引文件进行校验操作。
3.一种索引同步系统,其特征在于,包括主服务器和权利要求1或2所述的从服务器;
其中,所述主服务器包括:
索引变更点记录单元,对所述主服务器进行监听,当监听到所述主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;
索引变更消息发送单元,定时查看所述索引变更点队列,当查看到所述索引变更点队列中有所述索引文件发生变更的事件时,向所述从服务器发送索引文件变更消息;
索引文件发送单元,当接收到所述从服务器的索引同步请求时,查找与所述索引同步请求对应的索引文件,并将所述索引文件发送至所述从服务器。
4.根据权利要求3所述的索引同步系统,其特征在于,所述主服务器还包括:
索引文件分片打包单元,根据所述从服务器的所述索引同步请求,将所述索引文件按照配置规则分成一个或多个数据包,将由所述一个或多个数据包组成的所述索引文件发送至所述从服务器。
5.根据权利要求3或4所述的索引同步系统,其特征在于,所述主服务器还包括:
检验单元,在所述从服务器的所述索引同步请求中包括校验请求信息时,为所述索引文件添加校验信息。
6.一种索引同步方法,应用于索引同步系统,其特征在于,包括:
步骤402,对主服务器进行监听,当监听到所述主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;
步骤404,定时查看所述索引变更点队列,当查看到所述索引变更点队列中有所述索引文件发生变更的事件时,向从服务器发送索引文件变更消息;
步骤406,控制所述从服务器监听主服务器发送的索引文件变更消息,读取监听到的所述索引文件变更消息,并从所述主服务器中获取主服务器信息和索引文件变更的信息;
步骤408,根据所述主服务器信息和所述索引文件变更的信息,配置索引同步请求参数,并向所述主服务器发送索引同步请求;
步骤410,当所述主服务器接收到所述从服务器的索引同步请求时,查找与所述索引同步请求对应的索引文件,并将所述索引文件发送至所述从服务器;
步骤412,接收所述主服务器发送的所述索引文件,将所述索引文件和所述从服务器的本地对应索引文件进行复制合并,并通知搜索引擎重新加载合并后的索引文件。
7.根据权利要求6所述的索引同步方法,其特征在于,所述步骤410还包括:
根据所述从服务器的所述索引同步请求,将所述索引文件按照配置规则分成一个或多个数据包,将由所述一个或多个数据包组成的所述索引文件发送至所述从服务器。
8.根据权利要求6所述的索引同步方法,其特征在于,所述步骤410还包括:
在所述从服务器的所述索引同步请求中包括校验请求信息时,为所述索引文件添加校验信息;以及
所述步骤412还包括:
接收所述主服务器发送的由一个或多个数据包组成的索引文件,并在所述索引文件由多个数据包组成时,合并所述多个数据包,组成所述索引文件;以及对接收的所述索引文件进行检测,当检测到所述索引文件中包括校验信息时,对所述索引文件进行校验操作。
9.根据权利要求6或8所述的索引同步方法,其特征在于,所述主服务器包括索引文件发生变更的服务器,所述从服务器包括从所述索引文件发生变更的服务器获取索引文件变更的服务器。
主服务器、从服务器、索引同步系统和索引同步方法\n技术领域\n[0001] 本发明涉及索引技术领域,具体而言,涉及一种主服务器、一种从服务器、一种索引同步系统和一种索引同步方法。\n背景技术\n[0002] 在企业发展壮大过程中,用户量不断增加,单机搜索无论从性能上、还是在可用性和稳定性上都已经不能满足企业的搜索服务。\n[0003] 在现有技术中,目前现有同步索引文件主要有两种方法:\n[0004] 一、rsync是类unix/linux系统下的数据镜像备份工具,实现不同服务器之间的索引文件复制。\n[0005] 二、采取文件共享的方式,例如采取文件系统共享方式,将索引文件通过文件共享方式,索引服务器通过文件系统读取索引文件。\n[0006] 上述两种方案在实际的应用过程,都存在一些缺陷,方案一需要在不同服务器上配置同步脚本,实施起来繁琐,容易出错,方案二中由于共享文件系统会成为整个系统的瓶颈,当索引文件频繁更新时,会导致阻塞等问题。\n[0007] 因此,需要一种新的索引同步技术,可以通过将索引文件同步到多个搜索服务器上,来提高搜索效率,同时提高索引服务的可用性和稳定性。\n发明内容\n[0008] 本发明正是基于上述问题,提出了一种新的索引同步技术,可以通过将索引文件同步到多个搜索服务器上,来提高搜索效率,同时提高索引服务的可用性和稳定性。\n[0009] 有鉴于此,本发明提出了一种主服务器,应用于索引同步系统,包括:索引变更点记录单元,对所述主服务器进行监听,当监听到所述主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;索引变更消息发送单元,定时查看所述索引变更点队列,当查看到所述索引变更点队列中有所述索引文件发生变更的事件时,向所述从服务器发送索引文件变更消息;索引文件发送单元,当接收到所述从服务器的索引同步请求时,查找与所述索引同步请求对应的索引文件,并将所述索引文件发送至所述从服务器。\n[0010] 在该技术方案中,当某个主服务器中的索引文件有变更时,其他从服务器可以从主服务器中获得变更的索引文件,将变更的索引文件同步到本地,从而实现各服务器之间索引文件的同步,提高了搜索的效率。\n[0011] 在上述技术方案中,优选地,还包括:索引文件分片打包单元,根据所述从服务器的所述索引同步请求,将所述索引文件按照配置规则分成一个或多个数据包,将由所述一个或多个数据包组成的所述索引文件发送至所述从服务器。\n[0012] 在该技术方案中,如果索引文件的容量较大,可以通过分片传输的方式来更新同步索引文件,将索引文件按照配置参数分片打包,从而实现不同大小索引文件的快速高效同步。\n[0013] 在上述技术方案中,优选地,还包括:检验单元,在所述从服务器的所述索引同步请求中包括校验请求信息时,为所述索引文件添加校验信息。\n[0014] 在该技术方案中,可以在索引同步时,在索引文件中加入包校验,从而使得只有通过校验的服务器才能查看到索引文件的内容,保证了索引文件信息的安全。\n[0015] 本发明还提供了一种从服务器,应用于索引同步系统,包括:消息监听单元,监听主服务器发送的索引文件变更消息,并将监听到的所述索引文件变更消息发送至所述索引文件读取单元;所述索引文件读取单元,读取所述索引文件变更消息,并从所述主服务器中获取主服务器信息和索引文件变更的信息;同步请求发送单元,根据所述主服务器信息和所述索引文件变更的信息,配置索引同步请求参数,并向所述主服务器发送索引同步请求;\n更新复制同步单元,接收所述主服务器发送的索引文件,将所述索引文件和所述从服务器的本地对应索引文件进行复制合并,并通知搜索引擎重新加载合并后的索引文件。\n[0016] 在该技术方案中,当某个主服务器中的索引文件有变更时,其他从服务器可以从主服务器中获得变更的索引文件,将变更的索引文件同步到本地,从而实现各服务器之间索引文件的同步,提高了搜索的效率。\n[0017] 在上述技术方案中,优选地,还包括:组合单元,接收所述主服务器发送的由一个或多个数据包组成的索引文件,并在检测到所述索引文件由多个数据包组成时,合并所述多个数据包,组成所述索引文件;校验处理单元,对接收的所述索引文件进行检测,当检测到所述索引文件中包括校验信息时,对所述索引文件进行校验操作。\n[0018] 在该技术方案中,可以在索引同步时,在索引文件中加入包校验,从而使得只有通过校验的服务器才能查看到索引文件的内容,保证了索引文件信息的安全。\n[0019] 本发明还提供了一种索引同步系统,包括上面所述的主服务器和从服务器。\n[0020] 根据本发明的另一方面,还提供了一种索引同步方法,应用于索引同步系统,包括:步骤402,对所述主服务器进行监听,当监听到所述主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;步骤404,定时查看所述索引变更点队列,当查看到所述索引变更点队列中有所述索引文件发生变更的事件时,向所述从服务器发送索引文件变更消息;步骤406,控制所述从服务器监听主服务器发送的索引文件变更消息,读取监听到的所述索引文件变更消息,并从所述主服务器中获取主服务器信息和索引文件变更的信息;步骤408,根据所述主服务器信息和所述索引文件变更的信息,配置索引同步请求参数,并向所述主服务器发送索引同步请求;步骤410,当所述主服务器接收到所述从服务器的索引同步请求时,查找与所述索引同步请求对应的索引文件,并将所述索引文件发送至所述从服务器;步骤412,接收所述主服务器发送的所述索引文件,将所述索引文件和所述从服务器的本地对应索引文件进行复制合并,并通知搜索引擎重新加载合并后的索引文件。\n[0021] 在该技术方案中,当某个主服务器中的索引文件有变更时,其他从服务器可以从主服务器中获得变更的索引文件,将变更的索引文件同步到本地,从而实现各服务器之间索引文件的同步,提高了搜索的效率。\n[0022] 在上述技术方案中,优选地,所述步骤410还包括:根据所述从服务器的所述索引同步请求,将所述索引文件按照配置规则分成一个或多个数据包,将由所述一个或多个数据包组成的所述索引文件发送至所述从服务器。\n[0023] 在该技术方案中,如果索引文件的容量较大,可以通过分片传输的方式来更新同步索引文件,将索引文件按照配置参数分片打包,从而实现不同大小索引文件的快速高效同步。\n[0024] 在上述技术方案中,优选地,所述步骤410还包括:在所述从服务器的所述索引同步请求中包括校验请求信息时,为所述索引文件添加校验信息;以及所述步骤412还包括:\n接收所述主服务器发送的由一个或多个数据包组成的索引文件,并在所述索引文件由多个数据包组成时,合并所述多个数据包,组成所述索引文件;以及对接收的所述索引文件进行检测,当检测到所述索引文件中包括校验信息时,对所述索引文件进行校验操作。\n[0025] 在该技术方案中,可以在索引同步时,在索引文件中加入包校验,从而使得只有通过校验的服务器才能查看到索引文件的内容,保证了索引文件信息的安全。\n[0026] 在上述技术方案中,优选地,所述主服务器包括索引文件发生变更的服务器,所述从服务器包括从所述索引文件发生变更的服务器获取索引文件变更的服务器。\n[0027] 在该技术方案中,任何索引文件发生变更的服务器都可以称为主服务器,任何从主服务器获取索引文件变更的服务器都可以称为从服务器,即同一台服务器在不同情况下,既可以是主服务器也可以是从服务器,不同的服务器之间可以实现互为主从关系。\n[0028] 通过以上技术方案,可以将索引文件同步到多个搜索服务器上,从而提高搜索效率,同时,索引文件分布到多个搜索服务器上,如果某个服务器索引文件损坏,可以通过其他搜索服务器上的副本,恢复索引文件,提高服务的可用性和稳定性,有效的解决了索引更新负载平衡问题,也提高了集群环境的整个效率。\n附图说明\n[0029] 图1示出了根据本发明的实施例的主服务器的框图;\n[0030] 图2示出了根据本发明的实施例的从服务器的框图;\n[0031] 图3示出了根据本发明的实施例的索引同步系统的框图;\n[0032] 图4示出了根据本发明的实施例的索引同步方法的流程图;\n[0033] 图5示出了根据本发明的实施例的索引同步系统的示意图;\n[0034] 图6示出了根据本发明的实施例的索引同步系统的结构示意图;\n[0035] 图7示出了根据本发明的实施例的索引同步方法的具体流程图。\n具体实施方式\n[0036] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。\n[0037] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。\n[0038] 图1示出了根据本发明的实施例的主服务器的框图。\n[0039] 如图1所示,根据本发明的实施例的主服务器100,应用于索引同步系统,包括:索引变更点记录单元102,对所述主服务器进行监听,当监听到所述主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;索引变更消息发送单元104,定时查看所述索引变更点队列,当查看到所述索引变更点队列中有所述索引文件发生变更的事件时,向所述从服务器发送索引文件变更消息;索引文件发送单元106,当接收到所述从服务器的索引同步请求时,查找与所述索引同步请求对应的索引文件,并将所述索引文件发送至所述从服务器。\n[0040] 在该技术方案中,当某个主服务器中的索引文件有变更时,其他从服务器可以从主服务器中获得变更的索引文件,将变更的索引文件同步到本地,从而实现各服务器之间索引文件的同步,提高了搜索的效率。\n[0041] 在上述技术方案中,优选地,还包括:索引文件分片打包单元108,根据所述从服务器的所述索引同步请求,将所述索引文件按照配置规则分成一个或多个数据包,将由所述一个或多个数据包组成的所述索引文件发送至所述从服务器。\n[0042] 在该技术方案中,如果索引文件的容量较大,可以通过分片传输的方式来更新同步索引文件,将索引文件按照配置参数分片打包,从而实现不同大小索引文件的快速高效同步。\n[0043] 在上述技术方案中,优选地,还包括:检验单元110,在所述从服务器的所述索引同步请求中包括校验请求信息时,为所述索引文件添加校验信息。\n[0044] 在该技术方案中,可以在索引同步时,在索引文件中加入包校验,从而使得只有通过校验的服务器才能查看到索引文件的内容,保证了索引文件信息的安全。\n[0045] 图2示出了根据本发明的实施例的从服务器的框图。\n[0046] 如图2所示,根据本发明的实施例的从服务器200,应用于索引同步系统,包括:消息监听单元202,监听主服务器发送的索引文件变更消息,并将监听到的所述索引文件变更消息发送至所述索引文件读取单元204;所述索引文件读取单元204,读取所述索引文件变更消息,并从所述主服务器中获取主服务器信息和索引文件变更的信息;同步请求发送单元206,根据所述主服务器信息和所述索引文件变更的信息,配置索引同步请求参数,并向所述主服务器发送索引同步请求;更新复制同步单元208,接收所述主服务器发送的索引文件,将所述索引文件和所述从服务器的本地对应索引文件进行复制合并,并通知搜索引擎重新加载合并后的索引文件。\n[0047] 在该技术方案中,当某个主服务器中的索引文件有变更时,其他从服务器可以从主服务器中获得变更的索引文件,将变更的索引文件同步到本地,从而实现各服务器之间索引文件的同步,提高了搜索的效率。\n[0048] 在上述技术方案中,优选地,还包括:组合单元210,接收所述主服务器发送的由一个或多个数据包组成的索引文件,并在检测到所述索引文件由多个数据包组成时,合并所述多个数据包,组成所述索引文件;校验处理单元212,对接收的所述索引文件进行检测,当检测到所述索引文件中包括校验信息时,对所述索引文件进行校验操作。\n[0049] 在该技术方案中,可以在索引同步时,在索引文件中加入包校验,从而使得只有通过校验的服务器才能查看到索引文件的内容,保证了索引文件信息的安全。\n[0050] 图3示出了根据本发明的实施例的索引同步系统的框图。\n[0051] 如图3所示,根据本发明的实施例的索引同步系统300,包括主服务器100和从服务器200。\n[0052] 图4示出了根据本发明的实施例的索引同步方法的流程图。\n[0053] 如图4所示,根据本发明的实施例索引同步方法,应用于索引同步系统,包括:步骤\n402,对所述主服务器进行监听,当监听到所述主服务器中的索引文件发生变更并进行提交之后,记录索引文件变更的信息,并将索引文件发生变更的事件加到索引变更点队列中;步骤404,定时查看所述索引变更点队列,当查看到所述索引变更点队列中有所述索引文件发生变更的事件时,向所述从服务器发送索引文件变更消息;步骤406,控制所述从服务器监听主服务器发送的索引文件变更消息,读取监听到的所述索引文件变更消息,并从所述主服务器中获取主服务器信息和索引文件变更的信息;步骤408,根据所述主服务器信息和所述索引文件变更的信息,配置索引同步请求参数,并向所述主服务器发送索引同步请求;步骤410,当所述主服务器接收到所述从服务器的索引同步请求时,查找与所述索引同步请求对应的索引文件,并将所述索引文件发送至所述从服务器;步骤412,接收所述主服务器发送的所述索引文件,将所述索引文件和所述从服务器的本地对应索引文件进行复制合并,并通知搜索引擎重新加载合并后的索引文件。\n[0054] 在该技术方案中,当某个主服务器中的索引文件有变更时,其他从服务器可以从主服务器中获得变更的索引文件,将变更的索引文件同步到本地,从而实现各服务器之间索引文件的同步,提高了搜索的效率。\n[0055] 在上述技术方案中,优选地,所述步骤410还包括:根据所述从服务器的所述索引同步请求,将所述索引文件按照配置规则分成一个或多个数据包,将由所述一个或多个数据包组成的所述索引文件发送至所述从服务器。\n[0056] 在该技术方案中,如果索引文件的容量较大,可以通过分片传输的方式来更新同步索引文件,将索引文件按照配置参数分片打包,从而实现不同大小索引文件的快速高效同步。\n[0057] 在上述技术方案中,优选地,所述步骤410还包括:在所述从服务器的所述索引同步请求中包括校验请求信息时,为所述索引文件添加校验信息;以及所述步骤412还包括:\n接收所述主服务器发送的由一个或多个数据包组成的索引文件,并在所述索引文件由多个数据包组成时,合并所述多个数据包,组成所述索引文件;以及对接收的所述索引文件进行检测,当检测到所述索引文件中包括校验信息时,对所述索引文件进行校验操作。\n[0058] 在该技术方案中,可以在索引同步时,在索引文件中加入包校验,从而使得只有通过校验的服务器才能查看到索引文件的内容,保证了索引文件信息的安全。\n[0059] 在上述技术方案中,优选地,所述主服务器包括索引文件发生变更的服务器,所述从服务器包括从所述索引文件发生变更的服务器获取索引文件变更的服务器。\n[0060] 在该技术方案中,任何索引文件发生变更的服务器都可以称为主服务器,任何从主服务器获取索引文件变更的服务器都可以称为从服务器,即同一台服务器在不同情况下,既可以是主服务器也可以是从服务器,不同的服务器之间可以实现互为主从关系。\n[0061] 图5示出了根据本发明的实施例的索引同步系统的示意图。\n[0062] 如图5所示,本发明采取主(master)从(slave)服务器配置策略,系统中可以配置多个主服务器和从服务器,主服务器负责索引文件的爬取和创建,从服务器监听主服务器,当有索引文件变更后,从服务器调用同步服务,将索引文件同步到本地,实现索引分布。\n[0063] 下面以只有一个主服务器(master)和一个从服务器(slave)的情况为例进行描述。\n[0064] 图6示出了根据本发明的实施例的索引同步系统的结构示意图。\n[0065] 主从服务器功能职责不同,主服务器602上按照职责可以主要分为几个功能单元:\n索引文件变更点记录单元6022、索引变更消息发送单元6024、索引文件分片打包单元6026和索引文件发送单元6028。\n[0066] 索引文件变更点记录单元6022,该单元监听主服务器602,通过爬虫或者被动更新方式更新索引文件,当索引变更并进行提交后,记录此次索引文件变更的详细信息,主要包括文件名称、变更版本、变更时间等信息,将此次变更加入到索引变更点队列中,并对外提供该主服务器上索引点变更查询服务。\n[0067] 索引变更消息发送单元6024,通过定时查看索引变更点队列,如果有变更,则向从服务器发送索引变更消息包,通知需要从服务器进行索引同步操作。\n[0068] 索引文件分片打包单元6026,根据从服务器604的数据同步请求,将索引文件按照配置参数分片大小,对发送文件进行打包,如果需要进行校验,对包采用校验和方式,添加包校验,通知索引文件发送单元进行索引文件发送。\n[0069] 索引文件发送单元6028,从服务器604进行同步请求后,将索引文件包信息发生给从服务器604。\n[0070] 从服务器604主要包括以下功能单元:消息监听单元6042、索引文件读取单元\n6044、校验组合单元6046、更新复制同步单元6048。\n[0071] 消息监听单元6042,监听主服务器602发送的索引同步消息,包括主服务器名称,索引源等信息,并将消息发送给索引文件读取单元6044。\n[0072] 索引文件读取单元6044,从服务器604向主服务器602获取变更索引文件变更集,并获取用来同步索引文件的相关信息,例如:索引文件名称、索引文件大小,根据配置文件读取文件传输分片大小,记为PACKET_SZ,默认值为(1MB),从服务器604向主服务器602请求传输索引文件,每次传输索引文件最大值为PACKET_SZ,从服务器通过文件流将读取的文件下载到本地,完成分布式索引文件同步。\n[0073] 校验组合单元6046,将索引文件读取单元读取的索引文件包进行组合成索引文件,如果需要校验文件,正进行相关校验操作,保存到本地临时目录。\n[0074] 更新复制同步单元6048,将下载到本地临时目录文件夹的下增量变成索引文件和本地对应索引文件进行复制合并,合并通知搜索引擎重新加载索引文件,完成本次索引文件同步。\n[0075] 图7示出了根据本发明的实施例的索引同步方法的具体流程图。\n[0076] 如图7所示,根据本发明的实施例的索引同步方法的具体流程如下:\n[0077] 步骤702,从服务器接收到主服务器的索引文件变更消息,启动线程级索引更新服务,例如,获取索引文件变更集记为:collection。\n[0078] 步骤704,从服务器读取索引文件变更消息,获取主服务器信息,以及索引变更文件信息。\n[0079] 步骤706,从服务器根据索引文件变更信息,配置索引文件读取请求参数,如文件名称、文件读取偏移量、是否需要分片、校验等。\n[0080] 步骤708,从服务器向主服务器发送索引文件同步请求,主服务器根据索引同步请求参数,根据参数值确定文件传输大小,是否进行压缩传输、是否增加校验项等,将信息打包后发送给请求方。\n[0081] 步骤710,从服务器读取字节流到本地。\n[0082] 步骤712,增加文件读取偏移量。\n[0083] 步骤714,判断文件是否分片读取完成。如果判断结果为是,进入步骤716,如果判断结果为否,进入步骤708。\n[0084] 步骤716,将读取的文件保存到本地临时目录。\n[0085] 步骤718,判断是否有其他索引文件变更集collection.next存在,如果判断结果为是,进入步骤704,如果判断结果为否,进入步骤720。\n[0086] 步骤720,将读取到临时目录的索引文件和本地索引文件进行合并操作,同时通知搜索服务组件重新加载合并后的索引文件,保证搜索内容和索引文件的一致性。\n[0087] 上面详细说明了单个主服务器和单个从服务器之间的索引同步,在实际的生产环境中,服务器之间可以实现互为主从关系,例如有三台搜索服务器为A、B、C,另外有三种搜索源E1、E2、E3,通过配置A负责E1的索引更新,B负责E2,C负责E3,A、B、C三台服务器互为主从,进行索引的增量更新和同步,有效的解决索引更新负载平衡问题,提高集群环境的整个效率。\n[0088] 以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以将索引文件同步到多个搜索服务器上,从而提高搜索效率,同时,索引文件分布到多个搜索服务器上,如果某个服务器索引文件损坏,可以通过其他搜索服务器上的副本,恢复索引文件,提高服务的可用性和稳定性,有效的解决了索引更新负载平衡问题,也提高了集群环境的整个效率。\n[0089] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2016-07-06
- 2015-11-25
著录事项变更
申请人由用友软件股份有限公司变更为用友网络科技股份有限公司
地址由100094 北京市海淀区北清路68号用友软件园变更为100094 北京市海淀区北清路68号
- 2013-07-24
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201310055752.3
申请日: 2013.02.21
- 2013-06-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-05-05
|
2009-10-28
| | |
2
| |
2007-07-25
|
2006-01-17
| | |
3
| |
2011-05-18
|
2010-12-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |