CN110287210A - 数据传输方法、装置及系统 - Google Patents

数据传输方法、装置及系统 Download PDF

Info

Publication number
CN110287210A
CN110287210A CN201910574707.6A CN201910574707A CN110287210A CN 110287210 A CN110287210 A CN 110287210A CN 201910574707 A CN201910574707 A CN 201910574707A CN 110287210 A CN110287210 A CN 110287210A
Authority
CN
China
Prior art keywords
data
client
search request
fragmentation
server
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.)
Pending
Application number
CN201910574707.6A
Other languages
English (en)
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910574707.6A priority Critical patent/CN110287210A/zh
Publication of CN110287210A publication Critical patent/CN110287210A/zh
Pending legal-status Critical Current

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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据传输方法、装置及系统,该方法包括:接收客户端发送的数据搜索请求,该数据搜索请求携带有用于指示采用滚动查询的标识;将该数据搜索请求转发给分布式搜索引擎集群,以便于该搜索引擎集群采用滚动查询方式搜索该数据搜索请求所需的目标数据;接收该搜索引擎集群依次返回的该目标数据的各个数据分片;按照该目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给该客户端,直至该目标数据的各个数据分片均传输给该客户端。本申请的方案可以提高数据查询效率。

Description

数据传输方法、装置及系统
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据传输方法、装置及系统。
背景技术
ElasticSearch集群是一个分布式可扩展的实时搜索和分析引擎,它是一个建立在全文搜索引擎基础上的搜索引擎。
为了使得客户端可以访问该ElasticSearch集群,可以在客户端与ElasticSearch集群之间搭建中间件,该中间件可以看成是一个用于连接ElasticSearch集群与客户端的服务器。虽然,客户端可以基于承载有该中间件的服务器来实现对该ElasticSearch集群的访问,但是却存在的数据查询效率较低的问题,因此,如何实现客户端基于该ElasticSearch集群的高效数据查询是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请提供了一种数据传输方法、装置及系统,通过本申请的方案可以实现高效的数据查询。
为实现上述目的,一方面,本申请提供了一种数据传输方法,包括:
接收客户端发送的数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;
接收所述分布式搜索引擎集群依次返回的所述目标数据的各个数据分片;
按照所述目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端。
优选的,所述数据搜索请求封装有自定义查询语句;
所述将所述数据搜索请求转发给分布式搜索引擎集群,包括:
解析出所述数据搜索请求中封装的自定义查询语句;
将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,并构建包含所述结构化查询语句的数据搜索请求;
将包含所述结构化查询语句的数据搜索请求发送给分布式搜索引擎集群。
优选的,所述将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,包括:
提取所述自定义查询语句中查询表达式的匹配条件、数据类型以及索引字段名称;
根据自定义查询语句中的所述匹配条件,构建所述分布式搜索引擎集群所能识别的结构化查询语言中的查询匹配条件;
基于所述查询匹配条件、所述数据类型以及索引字段名称,将所述自定义查询语句中的查询表达式转换为所述结构化查询语言中的查询表达式,得到所述分布式搜索引擎集群所能识别的结构化查询语句。
优选的,在将所述目标数据的各个数据分片均传输给所述客户端之前,还包括:
在确认所述分布式搜索引擎集群存在数据传输异常的情况下,向所述客户端发送数据异常指示。
又一方面,本申请还提供了一种数据传输系统,包括:
客户端以及至少一台服务器;
其中,所述客户端,用于向所述服务器发送数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
所述服务器,用于将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;接收所述搜索引擎集群依次返回的所述目标数据的各个数据分片;按照所述目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端;
所述客户端还用于,依次接收并存储所述服务器返回的所述目标数据的各个数据分片。
优选的,所述客户端在依次接收所述服务器返回的所述目标数据的各个数据分片时,具体用于,基于迭代器依次接收并存储所述服务器返回的所述目标数据的各个数据分片。
优选的,还包括:与所述至少一台服务器相连的负载均衡器;
所述客户端在向所述服务器发送数据搜索请求时,具体用于,向所述负载均衡器发送所述数据搜索请求;并依据所述负载均衡器返回的服务器的标识信息,向所述服务器的标识信息指向的服务器发送所述数据搜索请求;
所述负载均衡器,用于响应于所述数据搜索请求,根据所述至少一台服务器的负载状况,从所述至少一台服务器中选取用于处理所述数据搜索请求的服务器,并将选取出的服务器的标识信息返回给所述客户端。
又一方面,本申请还提供了一种数据传输装置,包括:
请求接收单元,用于接收客户端发送的数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
请求处理单元,用于将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;
数据获取单元,用于接收所述搜索引擎集群依次返回的所述目标数据的各个数据分片;
数据传输单元,用于按照所述目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端。
优选的,所述请求接收单元接收到的所述数据搜索请求封装有自定义查询语句;
所述请求处理单元,包括:
请求解析单元,用于解析出所述数据搜索请求中封装的自定义查询语句;
语句转换单元,用于将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,并构建包含所述结构化查询语句的数据搜索请求;
请求转发单元,用于将包含所述结构化查询语句的数据搜索请求发送给分布式搜索引擎集群。
优选的,还包括:
错误指示单元,用于在所述数据传输单元在将所述目标数据的各个数据分片均传输给所述客户端之前,在确认所述分布式搜索引擎集群存在数据传输异常的情况下,向所述客户端发送数据异常指示。
由以上内容可见,在本申请实施例中,客户端可以向服务器发送用于指示滚动查询的数据搜索请求,而服务器会依据该数据搜索请求指示分布式搜索引擎集群采用滚动查询方式查询数据并向服务器反馈数据,在此基础上,服务器可以将分布式搜索引擎集群返回的各个数据分片,依次返回给客户端,以使得客户端可以通过服务器向分布式搜索引擎集群请求数据的滚动查询,进而有利于提高数据查询效率。
同时,服务器无需等待分布式搜索引擎集群将请求的目标数据的所有数据分片都返回,便可以按照数据分片的接收先后顺序依次向客户端传输数据分片,有利于提高数据传输效率,进而提高了客户端的数据查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请一种数据传输系统的一种组成架构示意图;
图2示出了本申请的一种数据传输方法的一种流程示意图;
图3示出了本申请一种数据传输方法的又一种流程示意图;
图4示出了本申请一种数据传输装置的一种组成结构示意图。
具体实施方式
本申请适用于基于分布式搜索引擎集群(ElasticSearch集群)进行数据搜索,以使得客户端可以较为高效的获取到的搜索数据。
如,参见图1,其示出了本申请所适用的一种数据传输系统的组成结构示意图。
由图1可以看出,该数据传输系统包括:客户端101以及至少一台服务器102。
其中,客户端可以与至少一台服务器建立通信连接,而服务器可以与分布式搜索引擎集群中的节点通过网络连接。如图1所示,数据传输系统中的服务器与分布式搜索引擎集群103之间具有网络连接。
其中,该客户端101,用于向服务器发送数据搜索请求,该数据搜索请求携带有用于指示采用滚动查询的标识。
该服务器102,用于将数据搜索请求转发给分布式搜索引擎集群,以便于该搜索引擎集群采用滚动查询方式搜索该数据搜索请求所需的目标数据;接收该搜索引擎集群依次返回的该目标数据的各个数据分片;按照该目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给该客户端,直至该目标数据的各个数据分片均传输给该客户端。
该客户端101,还用于依次接收并存储该服务器返回的该目标数据的各个数据分片。
可选的,为了保证客户端可以可靠的接收该服务器依次传输的各个数据分片,在本申请实施例中该客户端上还配置有迭代器。相应的,客户端具体为,通过迭代器依次接收并存储服务器返回的该目标数据的各个数据分片。
其中,客户端可以封装有自定义的迭代器,该迭代器用于支持客户端可以不断迭代获取服务器传输的数据分片。
可选的,为了能够提高数据搜索请求处理的可靠性,该数据传输系统可以包括多台服务器。
为了能够实现该多台服务器的负载均衡,该数据传输系统还可以包括:与该至少一台服务器相连的负载均衡器104。如通过有线网络或者无线网络实现服务器与负载均衡器的连接。
相应的,客户端101在向该服务器发送数据搜索请求时,具体用于,向该负载均衡器104发送该数据搜索请求;并依据该负载均衡器返回的服务器的标识信息,向该服务器的标识信息指向的服务器发送该数据搜索请求。
负载均衡器104,用于响应于该数据搜索请求,根据该至少一台服务器的负载状况,从该至少一台服务器中选取用于处理该数据搜索请求的服务器,并将选取出的服务器的标识信息返回给该客户端。
其中,负载均衡器可以根据各个服务器的处理器、内存等资源的占用情况,并结合负载均衡原则,从至少一台服务器中选取出用于处理该客户端的数据搜索请求的服务器。
其中,该服务器的标识信息用于唯一标识该服务器,且可以使得客户端可以基于该服务器的标识信息与相应的服务器建立通信连接。如,该服务器的标识信息可以为服务器端的通信端口等。
结合以上内容,下面从服务器侧对本申请的数据传输方法进行介绍。
如图2所示,其示出了本申请一种数据传输方法一个实施例的流程示意图,本实施例的方法可以应用于如上所提到的服务器,本实施例的方法可以包括:
S201,接收客户端发送的数据搜索请求。
其中,该数据搜索请求用于请求从分布式搜索引擎集群中搜索数据。可以理解为,为了分布式搜索引擎集群中可以识别该数据搜索请求所请求搜索的数据,在该搜索数据请求中包括用于指示待搜索数据的查询语句。
在本申请实施例中,该数据搜索请求携带有用于指示采用滚动查询的标识。其中,用于指示采用滚动查询的标识的作用是指示分布式搜索引擎集群采用滚动查询方式查询数据并依次反馈所需的数据的各个数据分片。
S202,将该数据搜索请求转发给分布式搜索引擎集群,以便于该搜索引擎集群采用滚动查询方式搜索该数据搜索请求所需的目标数据。
本申请实施例中,客户端的数据搜索请求会经过该服务器转发给分布式搜索引擎,以便后续分布式搜索请求会将搜索到的数据反馈给该服务器。
其中,为了便于区分,将与该数据搜索请求所请求搜索的整体数据称为目标数据。
S203,接收该分布式搜索引擎集群依次返回的该目标数据的各个数据分片。
可以理解的是,由于数据搜索请求携带有滚动查询的标识,因此,分布式搜索引擎集群会响应于该数据搜索请求采用滚动查询方式搜索所需的数据。同时,由于滚动查询是一种迭代式的数据查询方式,因此,分布搜索引擎集群每次查询到一部分数据,会返回给服务器;同时,继续查询下一部分数据并返回给服务器,如此不断迭代将目标数据全部返回给服务器。
其中,分布式搜索引擎集群通过滚动查询每次所查询到的数据都是该目标数据的一部分,本申请将每次查询到的一部分数据称为目标数据的数据分片。
S204,按照该目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给该客户端,直至该目标数据的各个数据分片均传输给该客户端。
其中,服务器只要是接收到分布式搜索引擎集群返回的数据分片,便可以执行向客户端传输数据分片,而无需等待分布式搜索引擎集群将目标数据的所有数据分片都返回。这样,服务器在接收分布式搜索引擎返回的数据分片的过程中,按照接收到的各个数据分片的先后顺序,依次向客户端传输数据,有利于使得客户端及时接收数据分片。
由以上内容可见,在本申请实施例中,客户端可以向服务器发送用于指示滚动查询的数据搜索请求,而服务器会依据该数据搜索请求指示分布式搜索引擎集群采用滚动查询方式查询数据并向服务器反馈数据,在此基础上,服务器可以将分布式搜索引擎集群返回的各个数据分片,依次返回给客户端,以使得客户端可以通过服务器向分布式搜索引擎集群请求数据的滚动查询,进而有利于提高数据查询效率。
同时,服务器无需等待分布式搜索引擎集群将请求的目标数据的所有数据分片都返回,便可以按照数据分片的接收先后顺序依次向客户端传输数据分片,有利于提高数据传输效率,进而提高了客户端的数据查询效率。
可以理解的是,ElasticSearch等分布式搜索引擎集群采用java应用程序编程API,使得访问该ElasticSearch等分布式搜索引擎集群的查询语法的复杂度较高。这样,对于大部分用户而言,构建ElasticSearch等分布式搜索引擎集群支持的查询语句的难度较高,从而使得基于ElasticSearch等分布式搜索引擎集群进行数据搜索的难度大。为了降低基于ElasticSearch等分布式搜索引擎集群进行数据搜索的难度,本申请实施例中,客户端发送的数据查询请求中可以携带自定义的查询语句,而服务器可以将自定义的查询语句转换为该ElasticSearch等分布式搜索引擎集群支持的查询语句,从而使得客户端的用户在不习惯或者不熟悉ElasticSearch等分布式搜索引擎集群对应的查询语法的前提下,也可以实现对ElasticSearch等分布式搜索引擎集群的数据搜索。
具体的,可以如图3所示,其示出了本申请一种数据传输方法又一个实施例的流程示意图,本实施例的方法可以包括:
S301,接收客户端发送的数据搜索请求。
其中,该数据搜索请求携带有用于指示采用滚动查询的标识。
另外,与目前访问ElasticSearch等分布式搜索引擎集群的数据搜索请求不同,该数据搜索请求封装有自定义查询语句,而并非是ElasticSearch等分布式搜索引擎集群中支持的查询语句。
如,该数据搜索请求中自定义查询语句为采用JSON格式的查询语句。
S302,解析出该数据搜索请求中封装的自定义查询语句。
S303,将该自定义查询语句转换为该分布式搜索引擎集群所能识别的结构化查询语句,并构建包含该结构化查询语句的数据搜索请求。
如,按照设定的语句转换规则,将该自定义查询语句转换为分布式搜索引擎集群所能识别的结构化查询语句。其中,该语句转换规则包括了服务器所支持的自定义查询语句与分布式搜索引擎集群之间的语句结构的对应关系以及所需转换的内容等。
在一种可能的实现方式中,可以提取该自定义查询语句中查询表达式的匹配条件、数据类型以及索引字段名称;根据自定义查询语句中的匹配条件,构建该分布式搜索引擎集群所能识别的结构化查询语言中的查询匹配条件;然后,基于该查询匹配条件,数据类型以及索引字段名称,将该自定义查询语句中的查询表达式转换为该分布式搜索引擎集群支持的结构化查询语言中的查询表达式,得到该分布式搜索引擎集群所能识别的结构化查询语句。
如,自定义查询语句中查询表达式的格式可以为:EQS_name=匹配条件+数据类型+“_”+“字段名称”。
其中,“EQ”为匹配条件表示“等于”,当前支持的匹配条件有:EQ,LIKE、MATCH等等。
“S”为数据类型,表示string类型。其中,数据类型还可以有:L表示long类型,N表示Double类型等。
“name”为在Elasticsearch等分布式搜索集群系统中的索引字段名称。
相应的,根据以上查询表达式中的EQ这一匹配条件可以创建出符合Elasticsearch等分布式搜索集群系统支持的查询语言中的查询匹配条件(如俗称的查询过滤器)。同时,还可以将一些自定义的属性关系转换为Elasticsearch等分布式搜索集群系统的关系表达式。最后,将转换后的查询匹配条件,关系表达式以及自定义查询语句中的数据类型以及索引字段名称等封装,可以得到符合Elasticsearch等分布式搜索集群系统的结构化查询语句。
S304,将包含该结构化查询语句的数据搜索请求发送给分布式搜索引擎集群,以便于该搜索引擎集群采用滚动查询方式搜索该数据搜索请求所需的目标数据。
S305,接收该搜索引擎集群依次返回的该目标数据的各个数据分片。
S306,按照该数据集合中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给该客户端,直至该目标数据的各个数据分片均传输给该客户端。
其中,步骤S304到S306可以参见前面实施例的相关介绍,在此不再赘述。
可见,本申请实施例中允许客户端发送的数据搜索请求中封装自定义的查询语句,而服务器可以按照自定义查询语句与ElasticSearch等分布式搜索引擎集群中查询语句的结构关系,将该数据搜索请求中的自定义查询语句转换为该ElasticSearch等分布式搜索引擎集群支持的结构化查询语句,并向分布式搜索引擎集群发送携带转换出的结构化查询语句的数据搜索请求,以使得ElasticSearch等分布式搜索引擎集群可以正常搜索数据,同时,又可以保证客户端的用户无需了解ElasticSearch等分布式搜索引擎集群对应的查询语法,降低了从ElasticSearch等分布式搜索引擎集群搜索数据的复杂度。
可以理解的是,在本申请以上任意一个实施例中,在分布式搜索引擎集群可能会存在数据查询错误或者数据传输异常,则服务器会检测到数据传输异常,在该种情况下,为了避免客户端继续接收错误的数据,则该服务器会向客户端输出相应的操作提示。如,分布式搜索引擎集群确认数据查询错误,则会给服务器发送错误指示;或者是,服务器检测到目标数据的数据分片未全部接收到但是却存在数据传输中断,也可以确认数据传输异常。
具体的,在服务器将目标数据的各个数据分片均传输给客户端之前,服务器在确认该分布式搜索引擎集群存在数据传输异常的情况下,则会向客户端发送数据异常指示。
对应本申请的一种数据传输方法,本申请还提供了一种数据传输装置。
如,参见图4,其示出了本申请一种数据传输装置的一种组成结构示意图,本实施例的装置可以应用于前面提到的服务器,该装置可以包括:
请求接收单元401,用于接收客户端发送的数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
请求处理单元402,用于将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;
数据获取单元403,用于接收所述搜索引擎集群依次返回的所述目标数据的各个数据分片;
数据传输单元404,用于按照所述数据集合中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端。
在一种可能的实现方式中,所述请求接收单元接收到的所述数据搜索请求封装有自定义查询语句;
相应的,请求处理单元,包括:
请求解析单元,用于解析出所述数据搜索请求中封装的自定义查询语句;
语句转换单元,用于将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,并构建包含所述结构化查询语句的数据搜索请求;
请求转发单元,用于将包含所述结构化查询语句的数据搜索请求发送给分布式搜索引擎集群。
可选的,该语句转换单元,包括:包括:
信息提取子单元,用于提取所述自定义查询语句中查询表达式的匹配条件、数据类型以及索引字段名称;
条件构建子单元,用于根据自定义查询语句中的所述匹配条件,构建所述分布式搜索引擎集群所能识别的结构化查询语言中的查询匹配条件;
语句转换子单元,用于基于所述查询匹配条件,所述数据类型以及索引字段名称,将所述自定义查询语句中的查询表达式转换为所述结构化查询语言中的查询表达式,得到所述分布式搜索引擎集群所能识别的结构化查询语句。
请求重构单元,用于构建包含所述结构化查询语句的数据搜索请求。
可选的,本申请的装置还可以包括:
错误指示单元,用于在所述数据传输单元在将所述目标数据的各个数据分片均传输给所述客户端之前,在确认所述分布式搜索引擎集群存在数据传输异常的情况下,向所述客户端发送数据异常指示。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种数据传输方法,其特征在于,包括:
接收客户端发送的数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;
接收所述分布式搜索引擎集群依次返回的所述目标数据的各个数据分片;
按照所述目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端。
2.根据权利要求1所述的数据传输方法,其特征在于,所述数据搜索请求封装有自定义查询语句;
所述将所述数据搜索请求转发给分布式搜索引擎集群,包括:
解析出所述数据搜索请求中封装的自定义查询语句;
将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,并构建包含所述结构化查询语句的数据搜索请求;
将包含所述结构化查询语句的数据搜索请求发送给分布式搜索引擎集群。
3.根据权利要求2所述的数据传输方法,其特征在于,所述将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,包括:
提取所述自定义查询语句中查询表达式的匹配条件、数据类型以及索引字段名称;
根据自定义查询语句中的所述匹配条件,构建所述分布式搜索引擎集群所能识别的结构化查询语言中的查询匹配条件;
基于所述查询匹配条件、所述数据类型以及索引字段名称,将所述自定义查询语句中的查询表达式转换为所述结构化查询语言中的查询表达式,得到所述分布式搜索引擎集群所能识别的结构化查询语句。
4.根据权利要求1所述的数据传输方法,其特征在于,在将所述目标数据的各个数据分片均传输给所述客户端之前,还包括:
在确认所述分布式搜索引擎集群存在数据传输异常的情况下,向所述客户端发送数据异常指示。
5.一种数据传输系统,其特征在于,包括:
客户端以及至少一台服务器;
其中,所述客户端,用于向所述服务器发送数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
所述服务器,用于将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;接收所述搜索引擎集群依次返回的所述目标数据的各个数据分片;按照所述目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端;
所述客户端还用于,依次接收并存储所述服务器返回的所述目标数据的各个数据分片。
6.根据权利要求5所述的数据传输系统,其特征在于,所述客户端在依次接收所述服务器返回的所述目标数据的各个数据分片时,具体用于,基于迭代器依次接收并存储所述服务器返回的所述目标数据的各个数据分片。
7.根据权利要求5或6所述的数据传输系统,其特征在于,还包括:与所述至少一台服务器相连的负载均衡器;
所述客户端在向所述服务器发送数据搜索请求时,具体用于,向所述负载均衡器发送所述数据搜索请求;并依据所述负载均衡器返回的服务器的标识信息,向所述服务器的标识信息指向的服务器发送所述数据搜索请求;
所述负载均衡器,用于响应于所述数据搜索请求,根据所述至少一台服务器的负载状况,从所述至少一台服务器中选取用于处理所述数据搜索请求的服务器,并将选取出的服务器的标识信息返回给所述客户端。
8.一种数据传输装置,其特征在于,包括:
请求接收单元,用于接收客户端发送的数据搜索请求,所述数据搜索请求携带有用于指示采用滚动查询的标识;
请求处理单元,用于将所述数据搜索请求转发给分布式搜索引擎集群,以便于所述搜索引擎集群采用滚动查询方式搜索所述数据搜索请求所需的目标数据;
数据获取单元,用于接收所述搜索引擎集群依次返回的所述目标数据的各个数据分片;
数据传输单元,用于按照所述目标数据中各个数据分片的接收先后顺序,将接收顺序最靠前且尚未传输给客户端的数据分片确定为待传输的数据分片,并将当前待传输的数据分片传输给所述客户端,直至所述目标数据的各个数据分片均传输给所述客户端。
9.根据权利要求8所述的数据传输装置,其特征在于,所述请求接收单元接收到的所述数据搜索请求封装有自定义查询语句;
所述请求处理单元,包括:
请求解析单元,用于解析出所述数据搜索请求中封装的自定义查询语句;
语句转换单元,用于将所述自定义查询语句转换为所述分布式搜索引擎集群所能识别的结构化查询语句,并构建包含所述结构化查询语句的数据搜索请求;
请求转发单元,用于将包含所述结构化查询语句的数据搜索请求发送给分布式搜索引擎集群。
10.根据权利要求8所述的数据传输装置,其特征在于,还包括:
错误指示单元,用于在所述数据传输单元在将所述目标数据的各个数据分片均传输给所述客户端之前,在确认所述分布式搜索引擎集群存在数据传输异常的情况下,向所述客户端发送数据异常指示。
CN201910574707.6A 2019-06-28 2019-06-28 数据传输方法、装置及系统 Pending CN110287210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910574707.6A CN110287210A (zh) 2019-06-28 2019-06-28 数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910574707.6A CN110287210A (zh) 2019-06-28 2019-06-28 数据传输方法、装置及系统

Publications (1)

Publication Number Publication Date
CN110287210A true CN110287210A (zh) 2019-09-27

Family

ID=68019549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910574707.6A Pending CN110287210A (zh) 2019-06-28 2019-06-28 数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110287210A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117793652A (zh) * 2023-12-12 2024-03-29 沈阳林科信息技术有限公司 一种基于5GRCSchatbot的新关注用户引导方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122418A (zh) * 2017-03-31 2017-09-01 北京奇艺世纪科技有限公司 一种查询方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122418A (zh) * 2017-03-31 2017-09-01 北京奇艺世纪科技有限公司 一种查询方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GMHAPPY: "elasticsearch深入—Scroll滚动查询", 《ELASTICSEARCH深入—SCROLL滚动查询》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117793652A (zh) * 2023-12-12 2024-03-29 沈阳林科信息技术有限公司 一种基于5GRCSchatbot的新关注用户引导方法
CN117793652B (zh) * 2023-12-12 2024-08-02 沈阳林科信息技术有限公司 一种基于5GRCSchatbot的新关注用户引导方法

Similar Documents

Publication Publication Date Title
US9613147B2 (en) Collection of telemetry data by a telemetry library within a client device
CN103474068B (zh) 实现语音命令控制的方法、设备及系统
CN107948324B (zh) 请求传输系统、方法、装置及存储介质
CN102316129B (zh) 一种嵌入式设备与远程数据库进行数据交换的方法
CN104125208A (zh) 数据传输方法及装置
CN104007678A (zh) 家用电器语音控制的方法、终端和系统
CN101408877A (zh) 树节点加载系统及其方法
JP2003122710A5 (zh)
RU2009139265A (ru) Способ, система и шлюзовое устройство для обработки услуги подписки
CN101609415A (zh) 基于中间件的通用服务调用系统及方法
CN110399389A (zh) 数据分页查询方法、装置、设备及存储介质
CN108494826A (zh) 一种分布式云存储方法及系统
CN105635083A (zh) 基于服务器和客户端架构的业务处理方法及业务处理系统
CN110287210A (zh) 数据传输方法、装置及系统
CN101572957A (zh) 基于wmmp的无线终端日志获取方法及系统
CN114741261A (zh) 一种分布式链路追踪方法、装置、设备及存储介质
CN105163171A (zh) 一种机顶盒与移动终端之间的文件传输方法及系统
CN105407163B (zh) 应用于反洗钱处理的数据处理系统及方法
US20120303601A1 (en) Mobile search method and system thereof
CA2539464A1 (en) System and method for dynamic content processing with extendable provisioning
CN114490100B (zh) 一种消息队列遥测传输负载均衡方法、装置及服务器
CN109964473B (zh) 语音业务应答的方法及装置
CN108810187A (zh) 一种通过区块链对接语音服务的网络系统
CN105516271A (zh) 业务处理系统、业务处理方法及装置
CN102722581A (zh) 数据处理的方法、代理装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190927

RJ01 Rejection of invention patent application after publication