用于检索系统的同步装置及同步方法、检索系统及方法制造方法及图纸

技术编号:16969665 阅读:30 留言:0更新日期:2018-01-07 06:35
本发明专利技术公开了一种用于检索系统的同步装置及同步方法、检索系统及方法。检索系统包括同步节点和集群节点,同步节点独立于集群节点且包括一个或多个同步装置,该同步装置包括:至少一个同步触发器,用于在监测到满足同步触发条件时,产生包含待同步数据的数据标识信息的同步触发指示;数据抓取器,用于根据同步触发指示从对应的数据源抓取与所述数据标识信息对应的数据并传输给转储器;转储器,用于将所抓取的数据转储至集群节点中的对应数据表中,集群节点用于存储数据表并提供检索服务。本发明专利技术在升级或数据转移时,不需要重启集群节点,满足实际检索需求,提升了检索效率,具有高可用和高并发的特点。

【技术实现步骤摘要】
用于检索系统的同步装置及同步方法、检索系统及方法
本专利技术实施例涉及检索技术,尤其涉及一种用于检索系统的同步装置及同步方法、检索系统及方法。
技术介绍
现有很多应用场景都需要为用户提供检索服务,例如,糯米运营行为,是基于门店展开的,很多应用程序都需要对门店的信息进行检索,包括多字段查询和排序,对门店名称和品牌名称的中文检索,以及对地理坐标的距离检索等。目前,提供检索服务的检索系统有多种实现方式,例如,采用Elasticsearch(简称ES)、River和Elasticsearch-jetty等工具或组件。以ES为例,ES的检索架构是以多个集群节点来提供检索服务的。每个集群节点用于提供存储数据的数据库,数据库由数据表(Type)组成。数据库设置有索引(Index),集群节点能够基于Index,响应用户的数据检索请求,在数据库和数据表中查询到相应的数据,并反馈给用户。在数据表中,可以由不同类型的数据源来提供数据,数据源的种类包括mysql,mongoDB和rabitMQ,数据表通过调用这些数据源来获取数据。在检索服务中涉及到两个主要的环节,一是数据同步,二是用户的数据操作(可包括读、写、查询等)。现有检索系统针对这两个环节提供的操作都有一些弊端。对于数据同步环节,基于ES系统实现的数据同步,需要针对不同类型的数据源提供不同的同步方式,且实现同步操作的程序以插件的方式安装在集群节点上,这就导致存在两个缺陷:1、对不同的数据源需要单独编制不同的同步插件;2、想运行同步插件时,必须停止集群节点的工作,安装同步插件之后再启动运行。综上所述,若以插件形式加入新的功能,如升级,则需要重启集群,导致服务不够稳定。同时,对于用户的数据操作环节,ES系统的集群节点是无法进行权限控制的,即,任何发送给集群节点的用户数据操作指示,都会被执行。且在集群节点内并没有对不同用户的数据进行物理隔离存储,容易出现误操作或恶意操作的问题。
技术实现思路
本专利技术提供一种用于检索系统的同步装置及同步方法、检索系统及方法,以实现用户可根据不同设计需求灵活配置同步策略,得到与设计需求匹配的检索系统。根据本专利技术的一个方面,提供了一种应用于检索系统的同步装置,包括:至少一个同步触发器,用于在监测到满足同步触发条件时,产生同步触发指示,所述同步触发指示包含待同步数据的数据标识信息;数据抓取器,用于根据所述同步触发指示,从对应的数据源抓取与所述数据标识信息对应的数据,并将所抓取的数据传输给转储器;转储器,用于将所抓取的数据转储至集群节点中的对应数据表中,所述集群节点,用于存储数据表并提供检索服务。根据本专利技术的另一方面,提供了一种检索系统,包括集群节点和同步节点,所述同步节点独立于所述集群节点,包括一个或多个如上所述的同步装置,所述集群节点用于存储数据表并提供检索服务。根据本专利技术的另一方面,提供了一种检索系统,包括集群节点和同步节点,所述集群节点用于存储数据表并提供检索服务,所述同步节点独立于所述集群节点,用于同步所述集群节点中的数据表,所述集群节点还包括:权限控制模块,用于在接收到用户检索请求后,根据所接收的用户检索请求中的账户标识、操作内容和操作对象以及权限配置表,判断对应于所述检索请求的账户是否具备操作权限,其中所述权限配置表存储账户标识、操作内容、操作对象和操作权限的映射关系;若具备操作权限,则将所述检索请求传输给集群节点的检索应用程序接口,在集群节点的数据表中搜索匹配的结果;若不具备操作权限,则屏蔽所述检索请求。根据本专利技术的另一方面,提供了一种应用于检索系统的同步方法,包括:在通过至少一个同步触发器监测到满足同步触发条件时,产生同步触发指示,所述同步触发指示包含待同步数据的数据标识信息;根据所述同步触发指示,通过数据抓取器从数据源抓取与所述数据标识信息对应的数据,并将所抓取的数据传输给转储器;通过所述转储器将所抓取的数据转储至集群节点中的对应数据表中,所述集群节点,用于存储数据表并提供检索服务。根据本专利技术的另一方面,提供了一种检索方法,包括:在接收到用户检索请求后,在集群节点的数据表中搜索匹配的结果,其中,所述数据表利用同步装置根据如上所述的同步方法进行同步,所述同步装置独立于所述集群节点。根据本专利技术的另一方面,提供了一种检索方法,包括:在接收到用户检索请求后,根据所接收的用户检索请求中的账户标识、操作内容和操作对象以及权限配置表,判断对应于所述检索请求的账户是否具备操作权限,其中所述权限配置表存储账户标识、操作内容、操作对象和操作权限的映射关系;若具备操作权限,则将所述检索请求传输给集群节点的检索应用程序接口,在集群节点的数据表中搜索匹配的结果;若不具备操作权限,则屏蔽所述检索请求。本专利技术通过将同步节点独立于集群节点设置,同步节点的安装或更新均无需重启集群节点,提高了服务的稳定性。根据不同的设计需求配置不同的同步触发条件,产生不同的同步触发指示,以控制数据抓取器和数据转储器执行不同的数据同步策略,满足实际检索需求。经试验在相同的条件下,本专利技术中单个同步触发器实时从数据源同步100条数据的同步时间小于1秒,单个同步触发器批量同步1000万条数据的同步时间小于1小时,检索系统的响应时间小于500毫秒,提升了检索效率,具有高可用、高并发以及多同步方式的特点。附图说明图1示出了根据本专利技术实施例一的一种检索系统的结构示意图;图2示出了根据本专利技术实施例一的同步装置的一个示例的结构示意图;图3示出了本专利技术实施例一的用于检索系统的同步方法的一个示例的流程图;图4示出了根据本专利技术实施例一的同步装置的另一示例的结构示意图;图5示出了根据本专利技术实施例一的用于检索系统的同步方法的另一示例的流程图;图6示出了根据本专利技术实施例一的检索方法的流程图;图7A-图7D示出了根据本专利技术的实施例的检索方法的一个实现示例的示意图;图8示出了根据本专利技术实施例二的检索系统的结构示意图;图9示出了根据本专利技术实施例二的检索方法的一个示例的流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的检索系统1的结构示意图,本实施例可适用于采用用户配置的同步触发器、生成同步触发指示,根据不同的同步策略将数据同步至设定集群的情况。如图1所示,检索系统1包括同步节点110和集群节点120,所述同步节点110独立于集群节点120。所述集群节点120存储有数据表121,用于在接收到用户发出的检索请求后,在数据表121中进行检索并提供检索结果。所述同步节点110包括一个或多个同步装置,所述同步装置用于对集群节点120中的数据表121进行同步操作。集群节点120为存储数据表121的服务器集群。由至少两个集群节点120构成集群,以分布式的方式构建集群,集群具有分片存储、多副本、负载均衡和无中心的特点,便于集群扩展。例如,可以采用Elasticsearch集群,由于Elasticsearch集群本身具有热备、横向扩展和无中心等特点,因此,可以不用增加负载均衡和热备策略。同步节点110为独立于集群节点120设本文档来自技高网
...
用于检索系统的同步装置及同步方法、检索系统及方法

【技术保护点】
一种应用于检索系统的同步装置,其特征在于,包括:至少一个同步触发器,用于在监测到满足同步触发条件时,产生同步触发指示,所述同步触发指示包含待同步数据的数据标识信息;数据抓取器,用于根据所述同步触发指示,从对应的数据源抓取与所述数据标识信息对应的数据,并将所抓取的数据传输给转储器;转储器,用于将所抓取的数据转储至集群节点中的对应数据表中,所述集群节点,用于存储数据表并提供检索服务。

【技术特征摘要】
1.一种应用于检索系统的同步装置,其特征在于,包括:至少一个同步触发器,用于在监测到满足同步触发条件时,产生同步触发指示,所述同步触发指示包含待同步数据的数据标识信息;数据抓取器,用于根据所述同步触发指示,从对应的数据源抓取与所述数据标识信息对应的数据,并将所抓取的数据传输给转储器;转储器,用于将所抓取的数据转储至集群节点中的对应数据表中,所述集群节点,用于存储数据表并提供检索服务。2.根据权利要求1所述的同步装置,其特征在于,还包括:配置模块,用于供用户提供所述同步触发器的配置信息、所述数据抓取器的配置信息和所述转储器的配置信息,其中,所述待同步数据的数据标识信息是基于所述同步触发器的配置信息以及所述同步触发器监听到的信息获取的,所述数据抓取器和数据源的对应关系以及所述转储器和集群节点中的数据表的对应关系分别基于所述数据抓取器的配置信息和所述转储器的配置信息获取。3.根据权利要求1或2所述的同步装置,其特征在于,所述同步触发器包括定时触发器、消息触发器和日志触发器中的至少一种;以及,在监测到满足同步触发条件时,产生同步触发指示,包括下述至少一种情况:在通过所述定时触发器监测到当前时间满足设定时刻,或到达设定周期时,产生所述同步触发指示;在通过所述消息触发器监测到对数据源的操作消息中产生设定消息时,产生所述同步触发指示;在通过所述日志触发器获取并分析数据源的操作日志,监测到该数据源有数据更新时,产生所述同步触发指示。4.根据权利要求1-3中任一所述的同步装置,其特征在于,还包括:调度器,用于在接收到所述同步触发器发送的至少一个同步触发指示和/或所述数据抓取器抓取的数据后,根据所述调度器中的调度策略,分别调度所述数据抓取器来获取对应的数据和/或调度所述转储器将所抓取的数据存储到对应的数据表中。5.根据权利要求4所述的同步装置,其特征在于,所述调度器具体用于:在接收到所述同步触发器发送的至少一个同步触发指示后,将所接收的至少一个同步触发指示作为任务放入任务池中;根据调度器中的调度策略,获取待分配给所述数据抓取器的同步触发指示;将所获取的待分配同步触发指示分配给所述数据抓取器来抓取对应的数据。6.根据权利要求5所述的同步装置,其特征在于,所述调度策略包括:最大分配同步触发指示数量、最大转储数据数量以及同步触发指示分配机制。7.根据权利要求6所述的同步装置,其特征在于,所述同步触发指示分配机制包括:优先级分配机制;和/或,资源节约分配机制。8.根据权利要求4所述的同步装置,其特征在于,所述配置模块还用于:配置所述调度器中的调度策略。9.一种检索系统,其特征在于,包括集群节点和同步节点,所述同步节点独立于所述集群节点,包括一个或多个根据权利要求1到8中任一所述的同步装置,所述集群节点用于存储数据表并提供检索服务。10.根据权利要求8所述的检索系统,其特征在于,还包括:权限控制模块,配置在所述集群节点中,用于根据所接收的用户检索请求中的账户标识、操作内容和操作对象以及权限配置表,判断对应于所述检索请求的账户是否具备操作权限,其中所述权限配置表存储账户标识、操作内容和操作对象的映射关系;若具备操作权限,则将所述检索请求传输给集群节点的检索应用程序接口,在集群节点的数据表中搜索匹配的结果;若不具备操作权限,则屏蔽所述检索请求。11.根据权利要求10所述的检索系统,其特征在于,所述账户标识包括应用名称和账户密码,所述操作对象包括数据库索引信息和数据表信息,所述操作内容包括操作权限,以及所述权限配置表包括应用名称、账户密码、数据库索引信息、数据表信息和操作权限的映射关系。12.根据权利要求10或11所述的检索系统,其特征在于,还包括:配置平台,用于提供基于WEB方式的人机交互配置界面,供用户输入配置信息来配置所述权限配置表。13.根据权利要求9到12中任一所述的检索系统,其特征在于,所述集群节点是ElasticSearch集群节点。14.一种检索系统,其特征在于,包括集群节点和同步节点,所述集群节点用于存储数据表并提供检索服务,所述同步节点独立于所述集群节点,用于同步所述集群节点中的数据表,所述集群节点还包括:权限控制模块,用于在接收到用户检索请求后,根据所接收的用户检索请求中的账户标识、操作内容和操作对象以及权限配置表,判断对应于所述检索请求的账户是否具备操作权限,其中所述权限配置表存储账户标识、操作内容、操作对象和操作权限的...

【专利技术属性】
技术研发人员:马振冯咀志吴鹏
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1