【技术实现步骤摘要】
用于检索系统的同步装置及同步方法、检索系统及方法
本专利技术实施例涉及检索技术,尤其涉及一种用于检索系统的同步装置及同步方法、检索系统及方法。
技术介绍
现有很多应用场景都需要为用户提供检索服务,例如,糯米运营行为,是基于门店展开的,很多应用程序都需要对门店的信息进行检索,包括多字段查询和排序,对门店名称和品牌名称的中文检索,以及对地理坐标的距离检索等。目前,提供检索服务的检索系统有多种实现方式,例如,采用Elasticsearch(简称ES)、River和Elasticsearch-jetty等工具或组件。以ES为例,ES的检索架构是以多个集群节点来提供检索服务的。每个集群节点用于提供存储数据的数据库,数据库由数据表(Type)组成。数据库设置有索引(Index),集群节点能够基于Index,响应用户的数据检索请求,在数据库和数据表中查询到相应的数据,并反馈给用户。在数据表中,可以由不同类型的数据源来提供数据,数据源的种类包括mysql,mongoDB和rabitMQ,数据表通过调用这些数据源来获取数据。在检索服务中涉及到两个主要的环节,一是数据同步,二是用户的数据操作(可包括读、写、查询等)。现有检索系统针对这两个环节提供的操作都有一些弊端。对于数据同步环节,基于ES系统实现的数据同步,需要针对不同类型的数据源提供不同的同步方式,且实现同步操作的程序以插件的方式安装在集群节点上,这就导致存在两个缺陷:1、对不同的数据源需要单独编制不同的同步插件;2、想运行同步插件时,必须停止集群节点的工作,安装同步插件之后再启动运行。综上所述,若以插件形式加入新的功能 ...
【技术保护点】
一种应用于检索系统的同步装置,其特征在于,包括:至少一个同步触发器,用于在监测到满足同步触发条件时,产生同步触发指示,所述同步触发指示包含待同步数据的数据标识信息;数据抓取器,用于根据所述同步触发指示,从对应的数据源抓取与所述数据标识信息对应的数据,并将所抓取的数据传输给转储器;转储器,用于将所抓取的数据转储至集群节点中的对应数据表中,所述集群节点,用于存储数据表并提供检索服务。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。