CN106227734A - 一种基于问题搜索系统的数据处理方法和系统 - Google Patents

一种基于问题搜索系统的数据处理方法和系统 Download PDF

Info

Publication number
CN106227734A
CN106227734A CN201610539374.XA CN201610539374A CN106227734A CN 106227734 A CN106227734 A CN 106227734A CN 201610539374 A CN201610539374 A CN 201610539374A CN 106227734 A CN106227734 A CN 106227734A
Authority
CN
China
Prior art keywords
data
cluster
server
task
batch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610539374.XA
Other languages
English (en)
Other versions
CN106227734B (zh
Inventor
李承霖
孙鹏
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Converged Communications Ltd By Share Ltd
Datang Telecom Convergence Communications Co Ltd
Original Assignee
Datang Converged Communications Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Datang Converged Communications Ltd By Share Ltd filed Critical Datang Converged Communications Ltd By Share Ltd
Priority to CN201610539374.XA priority Critical patent/CN106227734B/zh
Publication of CN106227734A publication Critical patent/CN106227734A/zh
Application granted granted Critical
Publication of CN106227734B publication Critical patent/CN106227734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本发明实施例提供了一种基于问题搜索系统的数据处理方法和系统,其中的方法包括:任务查询服务器在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;任务调度集群确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;所述批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中。通过实施上述方法,用户只需要在任务查询服务器本地写入同步任务即可触发一系列的数据同步流程,因此,大大降低了系统维护人员手动实现数据同步的工作量。

Description

一种基于问题搜索系统的数据处理方法和系统
技术领域
本发明涉及数据搜索技术应用领域,特别是涉及一种基于问题搜索系统的数据处理方法和系统。
背景技术
目前,随着企业间竞争日益激烈,企业能够及时对用户提出的问题作出响应就变得越来越重要。为了提高用户咨询问题时的响应速度,很多企业建立了自己的问题搜索系统。
现有技术中,企业建立的问题搜索系统一般包括:搜索引擎服务器、知识数据库;其中,知识数据库中存储有常用问题和对应的答案。当用户有咨询需求时,可以通过企业官网、微信公众号等入口进行问题搜索,搜索引擎服务器根据用户的搜索关键词自动在知识数据库中进行检索,查找匹配的答案并返回给用户。
由于新的问题不断出现,因此,为了保证用户的搜索请求能得到准确的答案,就需要对知识数据库中存储的问题和答案进行及时更新。现有技术对知识数据库进行更新主要是通过维护人员定期从数据源(例如百度贴吧、知乎、企业论坛、企业信息库等)采集最新的问题和答案并录入到知识数据库。可以看出,上述通过维护人员采集录入来对知识数据库进行更新的方式不但费时费力、效率低下,而且由于维护人员无法做到全天随时关注数据源的变化,因此无法保证知识数据库数据更新的及时性。
发明内容
为了解决现有存在的技术问题,本发明实施例期望提供一种基于问题搜索系统的数据处理方法和系统。
本发明实施例提供了一种基于问题搜索系统的数据处理方法,包括:
任务查询服务器在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;其中,所述数据同步任务包括:任务查询服务器本地的定时数据同步任务;或者,任务查询服务器接收到的临时数据同步任务;
任务调度集群确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
所述批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中。
本发明实施例提供了一种基于问题搜索系统的数据处理系统,包括:
所述系统包括:任务查询服务器、任务调度集群、批处理集群及搜索引擎服务器集群;其中,
所述任务查询服务器,用于在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;其中,所述数据同步任务包括:任务查询服务器本地的定时数据同步任务;或者,任务查询服务器接收到的临时数据同步任务;
所述任务调度集群,用于在接收到任务查询服务器下发的数据同步任务时,确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
所述批处理集群,用于通过被任务调度集群确定出的批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
所述搜索引擎服务器集群,用于将接收到的源数据存储在知识数据库中。
本发明实施例至少具备以下优点:
本发明实施例所提供的一种基于问题搜索系统的数据处理的方法和系统,任务查询服务器在被本地存储的定时数据同步任务或突发的临时数据同步任务触发时,能够将所述数据同步任务(包括定时数据同步任务和临时数据同步任务)直接下发给任务调度服务器集群,由任务调度服务器集群确定出处理所述数据同步任务的批处理服务器,并向所述批处理服务器发送所述数据同步任务,批处理服务器根据所述数据同步任务从数据源获取源数据,并向搜索引擎服务器集群发送获取的源数据,通过这一流程,数据搜索系统能够自动完成数据同步,对于用户来说,只需要在任务查询服务器本地写入定时数据同步任务或者向任务查询服务器发送临时数据同步任务即可触发一系列的数据同步流程,而不需要由系统维护人员在数据源发生数据更新时,手动从数据源取数据并写入搜索引擎服务器集群,因此,大大降低了系统维护人员手动实现数据同步的工作量。
附图说明
图1示出了本发明实施例一提供的一种基于问题搜索系统的数据处理方法实施例的步骤流程图;
图2示出了本发明实施例二提供的一种基于问题搜索系统的数据处理方法实施例的步骤流程图;
图3示出了本发明的一种基于问题搜索系统的数据处理系统的基本结构框图一;
图4示出了本发明的一种基于问题搜索系统的数据处理系统的基本结构框图二。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
方法实施例一
参照图1,示出了本发明的一种基于问题搜索系统的数据处理方法实施例的步骤流程图,具体可以包括:
步骤101、任务查询服务器在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;
具体的,所述数据同步任务包括:任务查询服务器本地的定时数据同步任务;或者,任务查询服务器接收到的临时数据同步任务。
任务查询服务器本地的定时数据同步任务可以是在任务查询服务器本地进行任务持久化的任务,该定时数据同步任务能够从特定的数据源获取数据,这里的数据可以是文档、或网页、或数据表、或任何可以承载数据的文件形式。这种定时数据同步任务通常具有一定的执行周期,如一天一次、一小时一次或者一月一次,等等,不同定时数据同步任务的执行周期取决于该定时数据同步任务的特性和需要。
任务查询服务器接收到的临时数据同步任务,通常为除定时数据同步任务以外的、突发性的数据同步任务。如,数据源进行了临时性的数据更新,如数据写入、或数据删除、或数据修改,则任务查询服务器接收到针对这种数据更新的临任务,从而触发数据同步流程。
任务调度集群由多台(两台及两台以上)任务调度服务器组成,任务调度服务器能够执行任务调度算法,实现对数据同步任务的调度。
步骤102、任务调度集群确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
具体的,批处理集群由多台(两台或两台以上)批处理服务器组成,批处理服务器用于执行数据同步任务,即,用于从数据源取数据,以实现数据同步。
任务调度集群确定执行数据同步任务的批处理服务器时可以采用各种选举算法来实现,如,典型的分布式选举算法:Ring leader election环算法、Bully Algorithm霸道算法、PAXOS算法等等,本发明不做限制。
步骤103、所述批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
具体的,为批处理服务器提供数据的数据源可以为数据库、文件传输协议(FTP,File Transfer Protocol)文件、外围系统接口等,这里不作限制。
步骤104、所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中。
搜索引擎服务器集群由多台(两台或两台以上)搜索引擎服务器组成,每一台搜索引擎服务器可单独处理数据,对数据进行的处理可以包括:为数据建立索引或对数据进行清洗、合并等。
知识数据库可以为设置于搜索引擎服务器集群内部的数据库,也可以为通过外部接口与搜索引擎服务器集群相连接的数据库,该知识数据库用于存储源数据。
综上,依据本发明实施例一提供的基于问题搜索系统的数据处理方法,任务查询服务器在被本地存储的定时数据同步任务或突发的临时数据同步任务触发时,能够将所述数据同步任务(包括定时数据同步任务和临时数据同步任务)直接下发给任务调度服务器集群,由任务调度服务器集群确定出处理所述数据同步任务的批处理服务器,并向所述批处理服务器发送所述数据同步任务,批处理服务器根据所述数据同步任务从数据源获取源数据,并向搜索引擎服务器集群发送获取的源数据,通过这一流程,数据搜索系统能够自动完成数据同步,对于用户来说,只需要在任务查询服务器本地写入定时数据同步任务或者向任务查询服务器发送临时数据同步任务即可触发一系列的数据同步流程,而不需要由系统维护人员在数据源发生数据更新时,手动从数据源取数据并写入搜索引擎服务器集群,因此,大大降低了系统维护人员手动实现数据同步的工作量;
进一步的,在完成数据同步后,系统会对获取到的源数据进行处理,而数据同步及对源数据处理的流程均是由多个具备分布式结构的集群配合完成的,包括:任务调度集群、批处理集群、搜索引擎服务器集群,这样的集群式处理方式使得每一个集群在执行相应处理时,都具备备份机制,即,任何时候都能保证任务顺利执行,从而确保了整个系统可靠性和稳定性,也提高了系统执行任务时的效率。
方法实施例二
参照图2,示出了本发明的一种基于问题搜索系统的数据处理方法实施例的步骤流程图,具体可以包括:
步骤201、任务查询服务器在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;
具体的,所述数据同步任务为:任务查询服务器本地的定时数据同步任务;或者,任务查询服务器接收到的临时数据同步任务;
具体的,任务调度集群由多台(两台及两台以上)任务调度服务器组成,用于执行任务调度算法,实现对数据同步任务的调度。
具体的,任务调度集群接收到任务查询服务器下发的数据同步任务时,可以根据第一预设规则确定由任务调度集群中的一台任务调度服务器来处理所述数据同步任务,这里的第一预设规则可以为:按照第一预设次序查询任务调度集群中任务调度服务器的工作状态,将首次检测到的工作状态为空闲的任务调度服务器确定为处理所述数据同步任务的任务调度服务器。所确定出的任务调度服务器所执行的对所述数据同步任务的处理为:确定执行所述数据同步任务的批处理服务器。
所述任务调度集群通过一致性算法选举出批处理集群中的一台批处理服务器执行所述数据同步任务;由于在分布式系统设计领域,PAXOS是最重要的一致性算法,优选地,所述任务调度集群可以通过PAXOS算法来选举出批处理集群中的一台批处理服务器执行所述数据同步任务。
具体的,所述任务调度集群可以为Zookeeper集群,包括两台或两台以上Zookeeper服务器。
Zookeeper服务器是一个分布式的,开放源码的分布式应用程序协调服务,能够为分布式应用提供一致性服务,本发明实施例二所提供的基于分布式架构的搜索引擎实现方法中,Zookeeper服务器用于对批处理集群中的批处理服务器进行调度,以保证数据同步任务的一致性,即保证一个数据同步任务在同一时间仅有一台批处理服务器执行,且该批处理服务器能够顺利执行该数据同步任务。
Zookeeper集群的设置能够保障系统的高可用性,Zookeeper集群与批处理集群相连接,批处理集群包括多台批处理服务器,所述批处理集群中的多台批处理服务器等待任务执行。这样,Zookeeper集群通过PAXOS算法选举出批处理集群中的一台批处理服务器执行所述数据同步任务。
步骤202、任务调度集群确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
具体的,批处理集群由多台(两台或两台以上)批处理服务器组成,批处理服务器用于执行数据同步任务,即,用于从数据源取数据,以实现数据同步。
任务调度集群确定执行数据同步任务的批处理服务器时可以采用各种选举算法来实现,如,典型的分布式选举算法:Ring leader election环算法、Bully Algorithm霸道算法、PAXOS算法等等,本发明不做限制。
任务调度集群所采用的选举算法用于确保以下两点:
1)任何一台批处理服务器不能正常执行处理步骤(处于被占用状态或系统宕机)时,其它批处理服务器可以顺利的完成该任务。
2)任何一个数据同步任务需要执行的时候,总会有一台批处理服务器能够接受该任务并执行,并保证其它批处理服务器不执行重复的任务。
任务调度集群也可以根据第二预设规则确定执行数据同步任务的批处理服务器,所述第二预设规则可以为:按照第二预设次序查询批处理服务器集群中批处理服务器的工作状态,将首次检测到的工作状态为空闲的批处理服务器确定为执行所述数据同步任务的批处理服务器。
实际实现中,当任务查询服务器向任务调度集群发出数据同步任务时,批处理集群中的每台批处理服务器都会接收到该通知,并尝试在任务调度集群上建立该数据同步任务,代表任务开始。但是,由于任务调度集群拥有强一致性的特点,最终只有一台批处理服务器能够成功创建该数据同步任务,于是任务调度集群会选举该批处理服务器执行任务。
步骤203、所述批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
具体的,为批处理服务器提供数据的数据源可以为数据库、文件传输协议(FTP,File Transfer Protocol)文件、外围系统接口、企业信息库等,这里不作限制。
具体的,所述批处理集群为Spring-batch集群,包括两台及两台以上批处理服务器;所述批处理服务器为Spring-batch服务器。Spring-batch服务器是基于Spring-batch的服务器,Spring-batch是一款非常优秀的批处理框架,它利用XML描述整个数据处理流程,并能够提供任务进度追踪、失败重试等非常优秀的辅助功能。
通过这种分布式结构所部署的批处理集群能够为数据搜索引擎提供分布式的数据同步功能,当数据搜索系统面对突发性的、大规模的数据更新服务时,相对于现有技术中由单一服务器执行数据同步任务的方式,批处理集群通过多个批处理服务器之间的协同配合能够保证数据同步的速度和效率。
针对不同的数据同步任务,调度集群通过严谨有效的选举算法来选举出执行相应数据同步任务的批处理服务器,从而保证批处理资源充分有效利用。
步骤204、所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中。
搜索引擎服务器集群由多台(两台或两台以上)搜索引擎服务器组成,每一台搜索引擎服务器可单独处理获取到的源数据,如,为数据建立索引,通过为源数据建立索引可以大大加快数据的检索速度。
当搜索引擎服务器为源数据建立索引时,索引建立规则可以根据需要预先设置;建立索引的过程包括:对获取到的源数据进行分词,创建索引库和数据库。所谓的分词是指:将一段字符文本按照一定的规则分成若干个单词。
Solr服务器集群为数据建立索引的规则由Solr服务器集群的scheme决定,具体规则包括:哪些字段需要进行分词、哪些字段是数字、哪些字段需要做缓存处理。索引建立规则中的分词规则,直接影响着分词结果,譬如,搜索关键词“搜索引擎”可能作为单独的词语出现,也可能被划分为“搜索”和“引擎”两个关键词。
本发明的一种优选实施例中,所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中的步骤包括:
所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中;
所述搜索引擎服务器集群对接收到的源数据进行分词,并按照分词结果对存储在知识数据库中的源数据建立索引。
步骤205、当搜索服务器集群接收到用户发送的数据搜索请求时,将所述数据搜索请求发送给搜索引擎服务器集群,所述搜索引擎服务器集群从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果,所述搜索引擎服务器集群将检索到的所述结果返回给所述搜索服务器集群,所述搜索引擎服务器集群为Solr服务器集群,包括两台或两台以上Solr服务器。
在本发明的一种优选实施例中,上述搜索引擎服务器集群从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果的步骤包括:
所述搜索引擎服务器集群对所述数据搜索请求进行分词;
根据所述分词结果对所述知识数据库中的索引进行匹配,并将匹配的数据作为搜索结果。
具体的,搜索引擎服务器集群对所述搜索语句进行分词之后,所确定的分词结果可以包括一个或多个搜索词。
本发明的一种可选实施例中,在搜索引擎服务器集群接收到搜索服务器集群发送的数据搜索请求之后,还包括以下步骤:
搜索引擎服务器集群按照第三预设规则确定出执行所述数据搜索请求的搜索引擎服务器,具体的,搜索引擎服务器集群按照第三预设次序查询搜索引擎服务器集群中搜索引擎服务器的工作状态,将首次检测到的工作状态为空闲的搜索引擎服务器确定为执行所述数据搜索请求的搜索引擎服务器。由确定出的搜索引擎服务器检索与所述数据搜索请求相对应的搜索结果。
现有技术中,很多企业里的数据搜索系统通常基于传统的like搜索实现,而like搜索的特点在于:只在用户输入的查询语句完美匹配数据库中某一文档的关键词的情况下才能返回结果(用户输入的查询语句可以是中文意义上的一个词或多个词或一句话),也就是说,当用户输入的查询语句不能完全匹配数据库中某一文档的关键词时,则该文档就不能被作为搜索结果返回。举例来说,当用户输入的查询词为“土豆”时,只能查询到关键词为“土豆”的文档,其它相关文档,如关键词为土豆泥、马铃薯的则都无法被检出,显而易见,这种搜索方式条件相对苛刻,检索效率低下。而本发明实施例二所提供的搜索引擎实现方法中,搜索引擎服务器集群为Solr服务器集群,Solr服务器是基于Lucene Java搜索库的企业级全文搜索引擎,相较于like搜索,Solr服务器具备语义分析功能,不需要用户给出完美匹配的关键词即可给出与用户查询词相关的所有搜索结果。
在实施例一的基础上,本发明实施例二进一步增加了:当搜索服务器集群接收到用户发送的数据搜索请求时,将所述数据搜索请求发送给搜索引擎服务器集群,所述搜索引擎服务器集群从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果,所述搜索引擎服务器集群将检索到的所述结果返回给所述搜索服务器集群,所述搜索引擎服务器集群为Solr服务器集群,包括两台或两台以上Solr服务器的技术内容,基于该增加的技术内容,本发明实施例二在实施例一的基础上进一步具备以下优点:
搜索服务器集群接收到用户的数据搜索请求后,交由Solr集群进行处理,Solr集群由多台Solr服务器组成,相较于基于like搜索的搜索引擎服务器,Solr服务器在数据检索方面拥有更好的用户体验与性能,这是因为:传统的like搜索只能在完美匹配一个词组的情况下才能返回结果,显而易见,这种匹配条件相对苛刻,而基于Solr服务器的搜索由于拥有分词等关键技术,可以分析用户的语义,从而查询出的搜索结果可以更好的匹配用户的数据搜索请求。
系统实施例
参照图3,示出了本发明一种基于问题搜索系统的数据处理系统实施例的结构框图,所述系统包括:任务查询服务器31、任务调度集群32、批处理集群33及搜索引擎服务器集群34;其中,
所述任务查询服务器31,用于在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;其中,所述数据同步任务为:任务查询服务器31本地的定时数据同步任务;或者,任务查询服务器31接收到的临时数据同步任务;
所述任务调度集群32,用于在接收到任务查询服务器31下发的数据同步任务时,确定出批处理集群33中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
所述批处理集群33,用于通过被任务调度集群32确定出的批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
所述搜索引擎服务器集群34,用于将接收到的源数据存储在知识数据库中。
任务查询服务器31本地的定时数据同步任务可以是在任务查询服务器31本地进行任务持久化的定时数据同步任务;定时数据同步任务是指数据同步任务,即,从特定的数据源获取数据的任务,这里的数据可以是文档、或网页、或数据表、或任何可以承载数据的文件形式。这种定时数据同步任务通常具有一定的执行周期,如一天一次、一小时一次或者一月一次,等等,不同定时数据同步任务的执行周期取决于该定时数据同步任务的特性和需要。
任务查询服务器31接收到的临时数据同步任务,通常为除定时数据同步任务以外的、突发性的任务。如,数据源进行了临时性的数据更新,如数据写入、或数据删除、或数据修改,则任务查询服务器31接收到针对这种数据更新的临任务,从而出发数据同步流程。
在本发明的一种优选实施例中,所述搜索引擎服务器集群,包括:存储处理装置、第一分词装置、索引建立装置;其中,
所述存储处理装置,用于将接收到的源数据存储在知识数据库中;
所述第一分词装置,用于对接收到的源数据进行分词;
所述索引建立装置,用于按照分词结果对存储在知识数据库中的源数据建立索引。
在本发明的一种优选实施例中,所述数据处理系统还包括:搜索服务器集群35,用于在接收到用户发送的数据搜索请求时,将所述数据搜索请求发送给搜索引擎服务器集群34;
所述搜索引擎服务器集群34,还用于从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果,并将检索到的搜索结果返回给所述搜索服务器集35。
优选地,所述搜索引擎服务器集群34包括:第二分词装置和索引匹配装置;其中,
所述第二分词装置,用于对所述数据搜索请求进行分词;
根据索引匹配装置,用于根据所述分词结果对所述知识数据库中的索引进行匹配,并将匹配的数据作为搜索结果。
优选地,所述任务调度集群32用于通过PAXOS算法等一致性算法选举出批处理集群33中的一台批处理服务器执行所述数据同步任务。
任务调度集群32所采用的选举算法用于确保以下两点:
1)任何一台批处理服务器挂掉后,其它批处理服务器可以顺利的完成该任务。
2)任何一个数据同步任务需要执行的时候,总会有一台批处理服务器能够接受该任务并执行,并保证其它批处理服务器不执行重复的任务。
优选地,所述任务调度集群32为Zookeeper集群,包括两台或两台以上Zookeeper服务器。
Zookeeper集群的设置能够保障系统的高可用性,Zookeeper集群与批处理集群相连接,批处理集群包括多台批处理服务器,所述批处理集群中的多台批处理服务器等待任务执行。
优选地,所述批处理集群33为Spring-batch集群,包括两台及两台以上批处理服务器;
所述批处理服务器为Spring-batch服务器。
具体的,为批处理服务器33提供数据的数据源可以为数据库、FTP文件、外围系统接口等,这里不作限制。
优选地,所述搜索引擎服务器集群34为Solr服务器集群,包括两台或两台以上Solr服务器。
在具体实施过程中,上述任务查询服务器31、任务调度集群32、批处理集群33、搜索引擎服务器集群34及搜索服务器集群35均可以由数据搜索系统内的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)或可编程逻辑阵列(FPGA,Field-Programmable GateArray)至少其中之一来实现。
对于系统实施实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于问题搜索系统的数据处理方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,根据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种基于问题搜索系统的数据处理方法,其特征在于,所述方法包括:
任务查询服务器在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;其中,所述数据同步任务包括:任务查询服务器本地的定时数据同步任务;或者,任务查询服务器接收到的临时数据同步任务;
任务调度集群确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
所述批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中。
2.根据权利要求1所述的方法,其特征在于,所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中的步骤包括:
所述搜索引擎服务器集群将接收到的源数据存储在知识数据库中;
所述搜索引擎服务器集群对接收到的源数据进行分词,并按照分词结果对存储在知识数据库中的源数据建立索引。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当搜索服务器集群接收到用户发送的数据搜索请求时,将所述数据搜索请求发送给搜索引擎服务器集群;
所述搜索引擎服务器集群从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果;
所述搜索引擎服务器集群将检索到的搜索结果返回给所述搜索服务器集群。
4.根据权利要求3所述的方法,其特征在于,所述搜索引擎服务器集群从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果的步骤包括:
所述搜索引擎服务器集群对所述数据搜索请求进行分词;
根据所述分词结果对所述知识数据库中的索引进行匹配,并将匹配的数据作为搜索结果。
5.根据权利要求1所述的方法,其特征在于,所述任务调度集群确定出批处理集群中的一台批处理服务器执行所述数据同步任务,包括:
所述任务调度集群通过一致性算法选举出批处理集群中的一台批处理服务器执行所述数据同步任务。
6.根据权利要求1-5任意一项所述的方法,其特征在于,
所述任务调度集群为Zookeeper集群,所述Zookeeper集群包括至少两台Zookeeper服务器;
所述批处理集群为Spring-batch集群,所述Spring-batch集群包括至少两台Spring-batch批处理服务器;
所述搜索引擎服务器集群为Solr服务器集群,所述Solr服务器集群包括至少两台Solr服务器。
7.一种基于问题搜索系统的数据处理系统,其特征在于,所述系统包括:任务查询服务器、任务调度集群、批处理集群及搜索引擎服务器集群;其中,
所述任务查询服务器,用于在接收到数据同步任务时,向任务调度集群下发所述数据同步任务;其中,所述数据同步任务包括:任务查询服务器本地的定时数据同步任务;或者,任务查询服务器接收到的临时数据同步任务;
所述任务调度集群,用于在接收到任务查询服务器下发的数据同步任务时,确定出批处理集群中的一台批处理服务器执行所述数据同步任务,并把所述数据同步任务发送给所述确定出的批处理服务器;
所述批处理集群,用于通过被任务调度集群确定出的批处理服务器根据接收到的数据同步任务从数据源获取源数据,并将获取到的源数据发送给搜索引擎服务器集群;
所述搜索引擎服务器集群,用于将接收到的源数据存储在知识数据库中。
8.根据权利要求7所述的系统,其特征在于,所述搜索引擎服务器集群,包括:存储处理装置、第一分词装置、索引建立装置;其中,
所述存储处理装置,用于将接收到的源数据存储在知识数据库中;
所述第一分词装置,用于对接收到的源数据进行分词;
所述索引建立装置,用于按照分词结果对存储在知识数据库中的源数据建立索引。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:搜索服务器集群,用于在接收到用户发送的数据搜索请求时,将所述数据搜索请求发送给搜索引擎服务器集群;
所述搜索引擎服务器集群还用于从所述知识数据库中检索与所述数据搜索请求相对应的搜索结果,并将检索到的搜索结果返回给所述搜索服务器集群。
10.根据权利要求9所述的系统,其特征在于,所述搜索引擎服务器集群包括:第二分词装置和索引匹配装置;其中,
所述第二分词装置,用于对所述数据搜索请求进行分词;
根据索引匹配装置,用于根据所述分词结果对所述知识数据库中的索引进行匹配,并将匹配的数据作为搜索结果。
11.根据权利要求7所述的系统,其特征在于,所述任务调度集群用于通过一致性算法选举出批处理集群中的一台批处理服务器执行所述数据同步任务。
12.根据权利要求7至11所述的系统,其特征在于,所述任务调度集群为Zookeeper集群,包括两台或两台以上Zookeeper服务器。
所述批处理集群为Spring-batch集群,包括两台及两台以上批处理服务器;
所述批处理服务器为Spring-batch服务器。
所述搜索引擎服务器集群为Solr服务器集群,包括两台或两台以上Solr服务器。
CN201610539374.XA 2016-07-08 2016-07-08 一种基于问题搜索系统的数据处理方法和系统 Active CN106227734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610539374.XA CN106227734B (zh) 2016-07-08 2016-07-08 一种基于问题搜索系统的数据处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610539374.XA CN106227734B (zh) 2016-07-08 2016-07-08 一种基于问题搜索系统的数据处理方法和系统

Publications (2)

Publication Number Publication Date
CN106227734A true CN106227734A (zh) 2016-12-14
CN106227734B CN106227734B (zh) 2019-06-25

Family

ID=57519034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610539374.XA Active CN106227734B (zh) 2016-07-08 2016-07-08 一种基于问题搜索系统的数据处理方法和系统

Country Status (1)

Country Link
CN (1) CN106227734B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959719A (zh) * 2017-11-27 2018-04-24 苏州乐麟无线信息科技有限公司 一种基于缓存的多服务器调用方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075252A (zh) * 2007-06-21 2007-11-21 腾讯科技(深圳)有限公司 一种网络搜索方法及系统
CN102769638A (zh) * 2011-05-05 2012-11-07 腾讯科技(深圳)有限公司 一种下载文件的方法、装置及系统
US20130212067A1 (en) * 2012-02-15 2013-08-15 Citrix Systems, Inc. Selective synchronization of remotely stored content
CN103391312A (zh) * 2013-06-26 2013-11-13 北京奇虎科技有限公司 资源离线下载方法及装置
CN105045852A (zh) * 2015-07-06 2015-11-11 华东师范大学 一种教学资源的全文搜索引擎系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075252A (zh) * 2007-06-21 2007-11-21 腾讯科技(深圳)有限公司 一种网络搜索方法及系统
CN102769638A (zh) * 2011-05-05 2012-11-07 腾讯科技(深圳)有限公司 一种下载文件的方法、装置及系统
US20130212067A1 (en) * 2012-02-15 2013-08-15 Citrix Systems, Inc. Selective synchronization of remotely stored content
CN103391312A (zh) * 2013-06-26 2013-11-13 北京奇虎科技有限公司 资源离线下载方法及装置
CN105045852A (zh) * 2015-07-06 2015-11-11 华东师范大学 一种教学资源的全文搜索引擎系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107959719A (zh) * 2017-11-27 2018-04-24 苏州乐麟无线信息科技有限公司 一种基于缓存的多服务器调用方法及系统
CN107959719B (zh) * 2017-11-27 2020-10-27 苏州乐麟无线信息科技有限公司 一种基于缓存的多服务器调用方法及系统

Also Published As

Publication number Publication date
CN106227734B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
US11593377B2 (en) Assigning processing tasks in a data intake and query system
US20230237094A1 (en) Processing ingested data to identify anomalies
CN104462084B (zh) 基于多个查询提供搜索细化建议
US20190370243A1 (en) Ram daemons
US10019297B2 (en) Systems and methods for implementing bulk handling in asynchronous processing
KR101171501B1 (ko) 트랜잭션 프로세싱 쓰루풋을 증가시키기 위한 트랜잭션 취합
US8903925B2 (en) Scheduled messages in a scalable messaging system
US20160110134A1 (en) Large-Scale, Dynamic Graph Storage and Processing System
US9495411B2 (en) Increased parallelism performance of batch requests
US20190114290A1 (en) Query-goal-mission structures
Ruiz et al. Facilitating document annotation using content and querying value
US20190220322A1 (en) Selective and piecemeal data loading for computing efficiency
US10423479B2 (en) Early diagnosis of hardware, software or configuration problems in data warehouse system utilizing grouping of queries based on query parameters
US11216500B1 (en) Provisioning mailbox views
US11475081B2 (en) Combining catalog search results from multiple package repositories
US10089350B2 (en) Proactive query migration to prevent failures
CN106227734A (zh) 一种基于问题搜索系统的数据处理方法和系统
US8688684B2 (en) Qualifier set creation for work assignment engine
CN110505276A (zh) 对象匹配方法、装置及系统、电子设备及存储介质
KR20180077830A (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
CN111159213A (zh) 一种数据查询方法、装置、系统和存储介质
CN107180098B (zh) 一种信息搜索中关键词淘汰方法及装置
US10579635B1 (en) Real time search assistance
CN109885651A (zh) 一种问题推送方法和装置
CN107729518A (zh) 一种关系型数据库的全文检索方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant