CN108984763B - 查询方法、客户端、服务器以及计算机可读介质 - Google Patents
查询方法、客户端、服务器以及计算机可读介质 Download PDFInfo
- Publication number
- CN108984763B CN108984763B CN201810801916.5A CN201810801916A CN108984763B CN 108984763 B CN108984763 B CN 108984763B CN 201810801916 A CN201810801916 A CN 201810801916A CN 108984763 B CN108984763 B CN 108984763B
- Authority
- CN
- China
- Prior art keywords
- query
- client
- task
- request
- query task
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及查询方法、客户端、服务器以及计算机可读介质,通过所述客户端将需要查询的任务发送至服务器,所述服务器将查询任务进行处理后再返回给客户端;所述计算机可读介质存储有计算机程序;所述方法包括,服务器对客户端需要查询的查询任务进行筛选去重处理以减少客户端的查询数量,将处理后需要查询的任务返回给客户端向主服务器进行查询,根据所述服务器的处理,提高了查询任务的效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及的是查询方法、客户端、服务器以及计算机可读介质。
背景技术
目前,多个客户端通过向主服务器端发送查询请求,主服务器端将查询结果分别反馈给多个客户端,这样很容易出现有些客户端查询数量少甚至处于空闲状态,而有些客户端的查询数量超过了可以承受的负荷的情况,造成对网络资源利用的不均衡,甚至会导致任务量过多的客户端无法正常工作,造成查询效率不高的问题。
发明内容
本发明提供查询方法、客户端、服务器以及计算机可读介质,可以提高查询效率。
第一方面,本发明实施例提供一种查询方法,包括:
接收第一客户端中的至少一个客户端发送的查询请求以形成第一查询请求,所述第一查询请求包括N个查询任务,所述N为大于等于1的正整数;
根据所述第一查询请求,确定第一查询任务,所述第一查询任务为所述第一查询请求中在本地具有查询结果的查询任务,向所述至少一个第一客户端中与所述第一查询任务对应的第二客户端发送第一查询结果;
根据所述第一查询请求和所述第一查询任务,确定第二查询任务,所述第二查询任务为所述第一查询请求中去除第一查询任务剩下的查询任务;
根据所述第二查询任务确定第三查询任务,根据所述第二查询任务和所述第三查询任务确定第四查询任务,所述第四查询任务为所述第二查询任务中去除所述第三查询任务剩下的查询任务;
根据所述第三查询任务确定第二查询请求,确定所述第二查询请求对应的第三客户端,将第二查询请求返回给所述第三客户端中的一个第四客户端,使所述第四客户端向主服务器查询;
确定第四查询任务中对应的第三客户端的查询任务生成第三查询请求,将第三查询请求返回给所述第三客户端,使所述第三客户端向主服务器查询;
根据所述第四查询任务和所述第三查询请求,确定第五查询任务,所述第五查询任务为所述第四查询任务中去除所述第三查询请求剩下的查询任务;
确定第五查询任务中查询任务对应的第五客户端,根据第五查询任务中对应的第五客户端的查询任务生成第四查询请求,将第四查询请求返回给所述第五客户端,使所述第五客户端向主服务器查询;
接收第三客户端和第四客户端发送的根据第三查询请求和第二查询请求的查询结果,向去除第四客户端的所述第三客户端中的其它客户端返回所述第二查询请求的查询结果。
进一步地,所述第三查询任务为所述至少一个第一客户端发送的所述第二查询任务中相同的查询任务。
进一步地,所述第三查询请求的查询任务数量超过所述第三客户端的查询额度时,将超过查询额度的查询任务分配给第六客户端进行查询。
进一步地,所述第四客户端为所述第三客户端中第三查询请求查询任务较少的客户端。
进一步地,将第二查询请求的查询结果返回所述第三客户端的其它客户端,所述其它客户端为去除第四客户端的所述第三客户端中的剩下客户端。
第二方面,本发明实施例提供一种查询方法,包括:
向服务器发送第一查询请求,所述第一查询请求包括N个查询条件,所述N为大于等于1的正整数;
接收服务器返回的第二查询请求,所述第二查询请求为所述服务器按照预设规则将至少一个客户端发送的所述第一查询请求中的查询任务进行重新分配所生成的查询请求;
将所述第二查询请求中的查询任务发送给主服务器进行查询;
接收所述主服务器返回的查询结果;
将所述查询结果发送给服务器;
接收服务器返回的所述第二查询请求中的查询任务的查询结果。
第三方面,本发明实施例提供一种服务器,包括,处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面任一项所述的方法。
第四方面,本发明实施例提供一种客户端,包括,处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第二方面任一项所述的方法。
第五方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面任一项所述的方法。
第六方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第二方面任一项所述的方法。
本发明实施例通过客户端发送的查询请求,服务器将查询请求进行筛选查重,减少重复查询任务的查询次数,从而使得无需增加主服务器的服务器数量,或者对主服务器的服务器进行扩容,通过利用已有的客户端和服务器,将众多的任务分配给已有的客户端进行处理,提高了查询处理的效率。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
在附图中:
图1是本发明实施例的应用场景的示意图;
图2是本发明实施例的查询的方法的示意性流程图;
图3是本发明实施例的查询的方法的示意性流程图;
图4是本发明实施例的客户端的结构示意图;
图5是本发明实施例的服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和有益技术效果更加清晰明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如在说明书及申请专利范围当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一组件。本说明书及申请专利范围并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及申请专利范围当中所提交的“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性,如在通篇说明书及申请专利范围当中所提交的“包含”为一开放式用语,故应理解成“包含但不限定于”。
还需要说明的是,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者系统所固有的要素。
如图2所示,本发明实施例提供一种查询方法,包括:
S01:接收第一客户端中的至少一个客户端发送的查询请求以形成第一查询请求,所述第一查询请求包括N个查询任务,所述N为大于等于1的正整数;
S02:根据所述第一查询请求,确定第一查询任务,所述第一查询任务为所述第一查询请求中在本地具有查询结果的查询任务,向所述至少一个第一客户端中与所述第一查询任务对应的第二客户端发送第一查询结果;
S03:根据所述第一查询请求和所述第一查询任务,确定第二查询任务,所述第二查询任务为所述第一查询请求中去除第一查询任务剩下的查询任务;
S04:根据所述第二查询任务确定第三查询任务,根据所述第二查询任务和所述第三查询任务确定第四查询任务,所述第四查询任务为所述第二查询任务中去除所述第三查询任务剩下的查询任务;
S05:根据所述第三查询任务确定第二查询请求,确定所述第二查询请求对应的第三客户端,将第二查询请求返回给所述第三客户端中的一个第四客户端,使所述第四客户端向主服务器查询;
S06:确定第四查询任务中对应的第三客户端的查询任务生成第三查询请求,将所述第三查询请求返回给所述第三客户端,使所述第三客户端向主服务器查询;
S07:根据所述第四查询任务和所述第三查询请求,确定第五查询任务,所述第五查询任务为所述第四查询任务中去除所述第三查询请求剩下的查询任务;
S08:确定第五查询任务中查询任务对应的第五客户端,根据第五查询任务中对应的第五客户端的查询任务生成第四查询请求,将第四查询请求返回给所述第五客户端,使所述第五客户端向主服务器查询;
S09:接收所述第三客户端和所述第四客户端发送的根据所述第三查询请求和所述第二查询请求的查询结果,向去除第四客户端的所述第三客户端中的其它客户端返回所述第二查询请求的查询结果。
本发明实施例,通过客户端发送的查询请求,服务器将查询请求进行筛选查重,减少重复查询任务的查询次数,从而使得无需增加主服务器的服务器数量,或者对主服务器的服务器进行扩容,通过利用已有的客户端和服务器,将众多的任务分配给已有的客户端进行处理,提高了查询处理的效率。
本发明实施例的技术方案可以应用于数据系统中。图1是本发明实施例的应用场景的示意图。
在图1中,服务器300用于接收客户端200的查询请求,将客户端200的查询请求进行处理,并将一部分查询结果和处理的查询请求返回对应的客户端,接收并储存客户端根据查询请求得到的查询结果。例如,服务器将接收的查询请求进行处理、转换成服务器本地的数据库查询请求,以查询服务器本地的数据库数据。
在图1中,客户端200可为笔记本电脑、台式电脑、平板、移动客户端等其中的任意一种,客户端数量没有限制,但至少一个,客户端200用于向服务器300发送查询请求并接收服务器300返回处理后的查询请求,并向主服务器100发送处理后的查询请求和返回的查询结果。
应该理解,客户端和服务器可以是物理设备,也可以是设置于物理设备中的装置、单元或模块;另外客户端和服务器可以在同一物理设备上实现,也可以分别在不同的物理设备上实现。
图2示出了根据本发明实施例的查询方法的示意性流程图。服务器可以为图1中的服务器。
步骤S01:接收第一客户端中的至少一个客户端发送的查询请求以形成第一查询请求,所述第一查询请求包括N个查询任务,所述N为大于等于1的正整数;具体的,所述查询请求包括在向主服务器发送的查询条件、需要查询的信息、客户端的IP(InternetProtocol,网络之间互联的协议)地址信息等,所述查询任务包括根据需要查询的信息,例如,查询查询多件快递,快递网点需要查询同一区域的快递信息,查询多个地区的天气信息,个人或者学校需要查询学生的成绩等,所述第一客户端为有查询任务的客户端,所述第一客户端包含一个或多个,但至少一个。
步骤S02:根据所述第一查询请求,确定第一查询任务,所述第一查询任务为所述第一查询请求中在本地具有查询结果的查询任务,向所述至少一个第一客户端中与所述第一查询任务对应的第二客户端发送第一查询结果;具体的,服务器的处理器将第一查询请求的查询任务在服务器的本地数据库进行查询,将服务器的本地数据库有查询结果的列为第一查询结果,将服务器的本地数据库有第一查询结果的第一查询请求中的查询任务列为第一查询任务,所述第二客户端是第一查询任务中查询任务对应的客户端,所述第二客户端包含在第一客户端内。可以理解,所述服务器的本地数据库可以没有第一查询任务,因为服务器的本地数据库并不包含全部的主服务器数据库,服务器的本地数据库仅仅储存第一客户端向主服务器发送第一查询请求的查询结果,在服务器本地数据库没有第一查询请求的查询结果即没有第一查询任务时,不向所述第二客户端发送第一查询结果,直接进行下一步。可以理解,在服务器本地数据库储存的第一查询请求的查询结果越多时,其第一查询任务出现的查询任务也会越多。可以理解,所述服务器本地数据库的储存周期随着服务器的本地查询压力进行调整,例如,服务器本地数据库的储存周期为一周,本地数据库将储存保留一周的查询结果的数据,第八天会将第一天内接收的查询结果的数据进行删除,以减少本地数据库的储存和查询压力。
步骤S03:根据所述第一查询请求和所述第一查询任务,确定第二查询任务,所述第二查询任务为所述第一查询请求中去除第一查询任务剩下的查询任务;具体的,所述第一查询任务已经将查询结果返回至查询任务对应的第二客户端,因此,所述第一查询任务已经不用再次进行查询,将第一查询请求的查询任务中删减去第一查询任务的查询任务,所述第一查询请求剩下的查询任务列为第二查询任务。可以理解,在没有第一查询任务的情况下,第一查询请求即为第二查询任务。
步骤S04:根据所述第二查询任务确定第三查询任务,根据所述第二查询任务和所述第三查询任务确定第四查询任务,所述第四查询任务为所述第二查询任务中去除所述第三查询任务剩下的查询任务;具体的,所述第三查询任务为所述第二查询任务中相同的查询任务,服务器确定第二查询任务中的第三查询任务,服务器将第二查询任务的查询任务中删减第三查询任务的查询任务,将第二查询任务中剩下的查询任务列为第四查询任务,可以理解,如果第二查询任务没有第三查询任务的情况,第二查询任务即为第四查询任务。
步骤S05:根据所述第三查询任务确定第二查询请求,确定所述第二查询请求对应的第三客户端,将第二查询请求返回给所述第三客户端中的一个第四客户端,使所述第四客户端向主服务器查询;具体的,服务器将第三查询任务处理为第二查询请求,确定第二查询请求的查询任务对应的客户端并列为第三客户端,第四客户端为第三客户端中的一个客户端,将第二查询请求返回所述第四客户端,使所述第四客户端向主服务区发送第二查询请求。可以理解,如果没有第三查询任务,则第三客户端为对应第四查询任务中查询任务的客户端,没有第四客户端。
步骤S06:确定第四查询任务中对应的第三客户端的查询任务生成第三查询请求,将所述第三查询请求返回给所述第三客户端,使所述第三客户端向主服务器查询;具体的,服务器将所述第三客户端的查询任务中去除所述第二查询请求对应的查询任务剩下的查询任务列为第三查询请求,服务器将所述第三查询请求返回给所述第三客户端,所述第三客户端向主服务器发送所述第三查询请求。可以理解,如果没有第三查询任务,则第三查询请求为第四查询任务中对应的客户端的查询任务。
步骤S07:根据所述第四查询任务和所述第三查询请求,确定第五查询任务,所述第五查询任务为所述第四查询任务中去除所述第三查询请求剩下的查询任务;具体的,服务器将所述第四查询任务中的查询任务去除所述第三查询请求对应的查询任务剩下的查询任务列为第五查询任务。
步骤S08:确定第五查询任务中查询任务对应的第五客户端,根据第五查询任务中对应的第五客户端的查询任务生成第四查询请求,将第四查询请求返回给所述第五客户端,使所述第五客户端向主服务器查询;具体的,服务器根据所述第五查询任务中查询任务确定对应的第五客户端,并根据所述第五查询任务的查询任务确定所述第四查询请求,服务器将所述第四查询请求返回给所述第五客户端,所述第五客户端向主服务器发送所述第四查询请求。
步骤S09:接收所述第三客户端和所述第四客户端发送的根据所述第三查询请求和所述第二查询请求的查询结果,向去除第四客户端的所述第三客户端中的其它客户端返回所述第二查询请求的查询结果;具体的,服务器接收第三客户端发送的根据第三查询请求的查询结果,服务器接收第四客户端发送的根据第二查询请求的查询结果,服务器将第二查询请求的查询结果返回第三客户端中除一个第四客户端以外的其它客户端。可以理解的,如果没有第三查询任务即没有第二查询请求时,分配服务将不返回接收到的查询结果。
进一步地,所述第三查询任务为所述至少一个第一客户端发送的所述第二查询任务中相同的查询任务,具体的,所述服务器接收处理第二查询任务中相同的查询任务列为第三查询任务,所述第二查询任务为所述服务器接收处理所述至少一个第一客户端发送的第一查询请求的部分或者全部。通过服务器将第三查询任务筛选出来,拥有相同的查询任务其它客户端便可以再次查询结果,减少了其它客户端的查询数量和查询压力。
进一步地,所述第三查询请求的查询任务数量超过所述第三客户端的查询额度时,将超过查询额度的查询任务分配给第六客户端进行查询,具体的,查询额度为主服务器通过限制每一个客户端的IP访问次数设置的,通过限定查询额度来减少主服务器的查询压力,即主服务器对查询数量超过查询额度时将对客户端进行禁止访问的限制,所述第六客户端是未超过额度的客户端或者无查询任务的客户端,无查询任务的客户端包括没有向服务器发送查询请求的客户端或者服务器没有分配查询任务的客户端。通过将超过额度的查询任务再次分配给其它处于空闲状态的客户端,使得对网络资源的利用更加均衡,查询效率更高。
进一步地,所述第四客户端为所述第三客户端中第三查询请求查询任务较少的客户端,具体的,所述第四客户端为所述第三客户端其中的一个客户端,第三客户端中第三查询请求查询任务数量最少的一个客户端即是第四客户端。通过将第三查询请求的查询任务分配给查询数量较少的第四客户端,减少查询数量较多的客户端的查询压力,均衡客户端之间的查询效率。
进一步地,将第二查询请求的查询结果返回所述第三客户端的其它客户端,所述其它客户端为去除第四客户端的所述第三客户端中的剩下客户端,具体的,服务器将第二查询请求的查询结果返回所述第三客户端的其它客户端,服务器将第二查询请求的查询结果返回第三客户端中除一个第四客户端以外的其它客户端。通过将有第二查询请求的查询结果返回对应的客户端,使得对应客户端无须向主服务器发送查询请求,减少了主服务器的查询系统的压力,进一步也增加了客户端查询任务的数量。
进一步地,本实施例提供一种查询方法,包括:
步骤S01:向服务器发送第一查询请求,所述第一查询请求包括N个查询条件,所述N为大于等于1的正整数;
步骤S02:接收服务器返回的第二查询请求,所述第二查询请求为所述服务器按照预设规则将至少一个客户端发送的所述第一查询请求中的查询任务进行重新分配所生成的查询请求;
步骤S03:将所述第二查询请求中的查询任务发送给主服务器进行查询;
步骤S04:接收所述主服务器返回的查询结果;
步骤S05:将所述查询结果发送给服务器;
步骤S06:接收服务器返回的所述第二查询请求中的查询任务的查询结果。
其中,步骤S02的所述预设规则为依照上述说明的服务器处理方法,第二查询请求为所述服务器将接收的所述第一查询请求中去除在本地数据库已有的查询任务剩下的查询任务中重复的查询任务,进而通过所述第二查询请求服务器确定对应的客户端即为第三客户端,所述第三客户端由于彼此有重复查询的任务,故只需要其中一个客户端即第四客户端查询即可,第四客户端将第二查询请求的查询结果发送至服务器进而返回至第三客户端中的其他客户端。
其中,步骤S04接收的查询结果为主服务器根据客户端发送第二查询请求的查询结果。
其中,步骤S05发送的查询结果为客户端接收的第二查询请求的查询结果。
其中,步骤S06的第三客户端中除一个第四客户端以外的其它客户端接收服务器返回的所述第二查询请求的查询结果。
下面将结合具体的例子详细描述本专利实施例。应注意,这些例子只是为了帮助本领域人员更好的理解本发明实施例,而非限制本发明实施例的范围。
在第一种情形中,假设客户端有A、B、C、D,主服务器查询额度为50件,其中:
A的查询任务为0001、0002、0003(0001、0002、0003可以分别表示3个快递单号)。
B的查询任务为0005、0006、0010、0015、0020。
C的查询任务为0001、0002、0004、0005、0006、0007。
D的查询任务为0010、0011、0012。
客户端A、B、C、D组成的第一客户端。
客户端A、B、C、D的查询任务0001、0002、0003、0005、0006、0010、0015、0001、0002、0004、0005、0006、0007、0010、0011、0012组成第一查询请求中的查询任务,其中A,0001、0002、0003、B,0005、0006、0010、0015、0020、C,0001、0002、0004、0005、0006、0007、D,0010、0011、0012。
假设服务器的本地数据库已经储存有0001、0002、0004、0100、0200的查询结果的数据。
服务器确定第一查询任务0001、0002、0004。
服务器确定第一查询任务0001、0002、0004对应的第二客户端A和C,其中A的原始请求包括0001、0002、0003,C的原始请求包括0001、0002、0004、0005、0006、0007。
服务器向第二客户端A和C发送第一查询任务对应的查询任务0001、0002、0004的查询结果。
服务器根据所述第一查询请求和所述第一查询任务,确定第二查询任务0003、0005、0006、0010、0015、0005、0006、0007、0010、0011、0012,第二查询任务为第一查询请求中的所有查询任务去除第一查询任务剩下的查询任务,其中第二查询任务0003为A的查询任务,其中第二查询任务0005、0006、0010、0015、0020为B的查询任务,其中第二查询任务0005、0006、0007为C的查询任务,其中第二查询任务0010、0011、0012为D的查询任务。
服务器确定第三查询任务0005、0006、0010,第三查询任务为第二查询任务中的所有查询任务中相同的查询任务。
服务器确定第四查询任务0003、0015、0007、0010、0011、0012、0020,第四查询任务为第二查询任务中的所有查询任务去除第三查询任务剩下的查询任务。
服务器根据第三查询任务确定第二查询请求0005、0006、0010。
服务器确定所述第二查询请求对应的第三客户端B、C和D。
服务器确定所述第三客户端B、C和D中的一个客户端为第四客户端,即第四客户端B或者第四客户端C或者第四客户端D。
服务器确定第四查询任务中对应的第三客户端B、C和D的查询任务生成第三查询请求,其中第三查询请求0015、0020是B的查询任务,其中第三查询请求0007是C的查询任务,其中第三查询请求0011、0012是D的查询任务。
服务器根据所述第四客户端为所述第三客户端中第三查询请求查询任务较少的客户端,确定第四客户端C。
服务器将第二查询请求0005、0006、0010返回给第四客户端C,客户端C的查询任务为0005、0006、0010,所述第四客户端C向主服务器查询所述第二查询请求。
服务器将第三查询请求返回给所述第三客户端B、C和D,其中,B的查询任务为0015、0020,C查询任务为的0007、D0011、0012,D的查询任务为0011、0012。
服务器确定第五查询任务0003,其中,第无查询任务为所述第四查询任务中去除所述第三查询请求剩下的查询任务。
服务器确定第四查询请求0003。
服务器确定第五客户端A,其中A的查询任务为0003,所述第五客户端A向主服务器查询所述第四查询请求。
在第二种情形中,假设客户端有A、B、C、D、E、F,主服务器查询额度为50件,其中:
A的查询任务为0001、0002、0003(0001、0002、0003可以分别表示3个快递单号)。
B的查询任务为0005、0006、0010、0015、0020。
C的查询任务为0001、0002、0004、0005、0006、0007。
D的查询任务为0010、0011、0012。
E的查询任务为0001、0002、0003……0010,0050……0120。
F的查询任务为0100、0200、0300、0400。
客户端A、B、C、D、E、F组成的第一客户端。
客户端A、B、C、D、E、F的查询任务0001、0002、0003、0005、0006、0010、0015、0001、0002、0004、0005、0006、0007、0010、0011、0012、0001、0002、0003……0010,0050……0120、0100、0200、0300、0400组成第一查询请求,其中A0001、0002、0003、B0005、0006、0010、0015、0020、C0001、0002、0004、0005、0006、0007、D0010、0011、0012、E0001、0002、0003……0010,0050……0120、F0100、0200、0300、0400。
假设服务器的本地数据库已经有0001、0002、0004、0015、0100、0200的数据。
服务器确定第一查询任务0001、0002、0004、0015、0100、0200。
服务器确定第一查询任务对应的第二客户端A、B、C、E、F,其中A的原始请求包括0001、0002、0003,B的原始请求包括0005、0006、0010、0015、0020,C的原始请求包括0001、0002、0004、0005、0006、0007,E的原始请求包括0001、0002、0003……0010,0050……0120、F的原始请求包括0100、0200、0300、0400。
服务器向第二客户端A、B、C、E、F发送第一查询任务对应的查询任务0001、0002、0004、0015、0100、0200的查询结果。
服务器根据所述第一查询请求和所述第一查询任务,确定第二查询任务0003、0005、0006、0010、0005、0006、0007、0010、0011、0012、0003、0003、0005……0010,0050……0099、0101……0120、0300、0400,第二查询任务为第一查询请求中的所有查询任务去除第一查询任务剩下的查询任务,其中第二查询任务0003为A的查询任务,其中第二查询任务0005、0006、0010、0020为B的查询任务,其中第二查询任务0005、0006、0007为C的查询任务,其中第二查询任务0010、0011、0012为D的查询任务,其中第二查询任务0003、0005……0010,0050……0099、0101……0120为E的查询任务、其中第二查询任务0300、0400为F的查询任务。
服务器确定第三查询任务0003、0005、0006、0007、0010,第三查询任务为第二查询任务中的所有查询任务中相同的查询任务。
服务器确定第四查询任务0008、0009、0011、0012、0020、0050……0099、0101……0120、0300、0400,第四查询任务为第二查询任务中的所有查询任务去除第三查询任务剩下的查询任务。
服务器根据第三查询任务确定第二查询请求0003、0005、0006、0007、0010。
服务器确定所述第二查询请求对应的第三客户端A、B、C、D、E,
服务器确定所述第三客户端A、B、C、D、E中的一个客户端为第四客户端,即第四客户端A或者第四客户端B或者第四客户端C或者第四客户端D或者第四客户端E。
服务器确定第四查询任务中对应的第三客户端A、B、C、D、E的查询任务生成第三查询请求,其中第三查询请求没有A的查询任务,,其中第三查询请求0020是B的查询任务,,其中第三查询请求没有是C的查询任务,其中第三查询请求0011、0012是D的查询任务,其中第三查询请求0008、0009、0050……0099、0101……0120是E的查询任务。
服务器根据所述第四客户端为所述第三客户端中第三查询请求查询任务较少的客户端,确定第四客户端A或C。
服务器将第二查询请求0003、0005、0006、0007、0010返回给第四客户端A0003、0005、0006、0007、0010或C0003、0005、0006、0007、0010,所述第四客户端A或C向主服务器查询所述第二查询请求。
服务器将第三查询请求返回给所述第三客户端A、B、C、D、E,其中,B的查询任务为0020,D的查询任务为0011、0012、E的查询任务为0008、0009、0050……0099、0101……0120。
服务器将客户端E超过查询额度的22件,分配给第六客户端进行查询。
服务器确定第五查询任务0300、0400,第无查询任务为所述第四查询任务中去除所述第三查询请求剩下的查询任务。
服务器确定第四查询请求0300、0400。
服务器确定第五客户端F,其中F0300、0400,所述第五客户端F向主服务器查询所述第四查询请求。
进一步地,如图5所示,本发明实施例提供一种服务器300,包括处理器310、输入设备330、输出设备340和存储器320,所述处理器310、输入设备330、输出设备340和存储器320相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述各实施例中的服务器的分配方法。具体的,所述处理器将客户端的查询请求处理为查询任务,所述输入设备包括触控板、键盘、麦克风等,所述输出设备用于返回客户端的查询请求,所述输出设备可以使显示器、触控屏等,所述存储器用于储存接收客户端的查询结果,所述处理器、输入设备、输出设备和存储器通过通信总线250完成相互间的通信,所述计算机程序用于控制服务器执行上述服务器的分配方法。
进一步地,如图4所示,本发明实施例提供一种客户端200,包括处理器210、输入设备230、输出设备240和存储器220,所述处理器210、输入设备230、输出设备240和存储器220相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,上述各实施例中的客户端的查询方法。具体的,所述处理器将客户端的查询请求处理为查询任务,所述输入设备用于接收客户端的查询请求,所述输入设备包括触控板、键盘、麦克风等,所述输出设备用于返回客户端的查询请求,所述输出设备可以使显示器、触控屏等,所述存储器用于储存接收客户端的查询结果,所述处理器、输入设备、输出设备和存储器通过通信总线250完成相互间的通信,所述计算机程序用于控制服务器执行上述客户端的查询方法。
进一步地,一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行所述服务器的分配方法。例如该计算机可读存储介质可以是服务器的硬盘或内存。所述计算机可读存储介质也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,所述计算机可读存储介质用于存储所述计算机程序及所述服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
进一步地,一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行所述客户端的查询方法。例如该计算机可读存储介质可以是客户端的硬盘或内存。所述计算机可读存储介质也可以是所述客户端的外部存储设备,例如所述客户端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。进一步地,所述计算机可读存储介质用于存储所述计算机程序及所述客户端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种查询方法,其特征在于,包括:
接收第一客户端中的至少一个客户端发送的查询请求以形成第一查询请求,所述第一查询请求包括N个查询任务,所述N为大于等于1的正整数;
根据所述第一查询请求,确定第一查询任务,所述第一查询任务为所述第一查询请求中在本地具有查询结果的查询任务,向所述至少一个第一客户端中与所述第一查询任务对应的第二客户端发送第一查询结果;
根据所述第一查询请求和所述第一查询任务,确定第二查询任务,所述第二查询任务为所述第一查询请求中去除第一查询任务剩下的查询任务;
根据所述第二查询任务确定第三查询任务,根据所述第二查询任务和所述第三查询任务确定第四查询任务,所述第三查询任务为所述至少一个第一客户端发送的所述第二查询任务中相同的查询任务,所述第四查询任务为所述第二查询任务中去除所述第三查询任务剩下的查询任务;
根据所述第三查询任务确定第二查询请求,确定所述第二查询请求对应的第三客户端,将第二查询请求返回给所述第三客户端中的一个第四客户端,使所述第四客户端向主服务器查询, 所述第四客户端为所述第三客户端中第三查询请求查询任务较少的客户端;
确定第四查询任务中对应的第三客户端的查询任务生成第三查询请求,将所述第三查询请求返回给所述第三客户端,使所述第三客户端向主服务器查询;
根据所述第四查询任务和所述第三查询请求,确定第五查询任务,所述第五查询任务为所述第四查询任务中去除所述第三查询请求剩下的查询任务;
确定第五查询任务中查询任务对应的第五客户端,根据第五查询任务中对应的第五客户端的查询任务生成第四查询请求,将第四查询请求返回给所述第五客户端,使所述第五客户端向主服务器查询;
接收所述第三客户端和所述第四客户端发送的根据所述第三查询请求和所述第二查询请求的查询结果,向去除所述第四客户端的所述第三客户端中的其它客户端返回所述第二查询请求的查询结果。
2.根据权利要求1所述的查询方法,其特征在于,所述第三查询请求的查询任务数量超过所述第三客户端的查询额度时,将超过查询额度的查询任务分配给第六客户端进行查询。
3.一种服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求2所述的方法。
4.一种客户端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求2所述的方法。
5.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810801916.5A CN108984763B (zh) | 2018-07-20 | 2018-07-20 | 查询方法、客户端、服务器以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810801916.5A CN108984763B (zh) | 2018-07-20 | 2018-07-20 | 查询方法、客户端、服务器以及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984763A CN108984763A (zh) | 2018-12-11 |
CN108984763B true CN108984763B (zh) | 2021-10-01 |
Family
ID=64548517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810801916.5A Expired - Fee Related CN108984763B (zh) | 2018-07-20 | 2018-07-20 | 查询方法、客户端、服务器以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984763B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986542A (zh) * | 2021-10-27 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 新增任务的处理方法、装置、电子设备及存储介质 |
CN114416782A (zh) * | 2022-01-26 | 2022-04-29 | 中国工商银行股份有限公司 | 一种数据查询方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814102B2 (en) * | 2005-12-07 | 2010-10-12 | Lexisnexis, A Division Of Reed Elsevier Inc. | Method and system for linking documents with multiple topics to related documents |
CN102081626A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团北京有限公司 | 一种数据查询的方法及查询服务器 |
CN102209047A (zh) * | 2011-05-24 | 2011-10-05 | 苏州阔地网络科技有限公司 | 一种信息共享的即时通讯系统及方法 |
CN103390061A (zh) * | 2013-07-31 | 2013-11-13 | 浙江大学 | 以用户为中心且基于多级缓存的海洋时空数据访问方法 |
CN103678520A (zh) * | 2013-11-29 | 2014-03-26 | 中国科学院计算技术研究所 | 一种基于云计算的多维区间查询方法及其系统 |
CN105843900A (zh) * | 2016-03-23 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 信息查询方法及装置 |
US9542451B2 (en) * | 2014-09-05 | 2017-01-10 | Google Inc. | Mobile application search ranking |
CN106407250A (zh) * | 2015-07-28 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 信息查询方法、装置、系统、服务器和客户端 |
CN107229623A (zh) * | 2016-03-23 | 2017-10-03 | 泰康保险集团股份有限公司 | 数据查询处理方法及装置 |
CN107402926A (zh) * | 2016-05-18 | 2017-11-28 | 华为技术有限公司 | 一种查询方法以及查询设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2731040B1 (en) * | 2012-11-08 | 2017-04-19 | CompuGroup Medical SE | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method |
-
2018
- 2018-07-20 CN CN201810801916.5A patent/CN108984763B/zh not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814102B2 (en) * | 2005-12-07 | 2010-10-12 | Lexisnexis, A Division Of Reed Elsevier Inc. | Method and system for linking documents with multiple topics to related documents |
CN102081626A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团北京有限公司 | 一种数据查询的方法及查询服务器 |
CN102209047A (zh) * | 2011-05-24 | 2011-10-05 | 苏州阔地网络科技有限公司 | 一种信息共享的即时通讯系统及方法 |
CN103390061A (zh) * | 2013-07-31 | 2013-11-13 | 浙江大学 | 以用户为中心且基于多级缓存的海洋时空数据访问方法 |
CN103678520A (zh) * | 2013-11-29 | 2014-03-26 | 中国科学院计算技术研究所 | 一种基于云计算的多维区间查询方法及其系统 |
US9542451B2 (en) * | 2014-09-05 | 2017-01-10 | Google Inc. | Mobile application search ranking |
CN106407250A (zh) * | 2015-07-28 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 信息查询方法、装置、系统、服务器和客户端 |
CN105843900A (zh) * | 2016-03-23 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 信息查询方法及装置 |
CN107229623A (zh) * | 2016-03-23 | 2017-10-03 | 泰康保险集团股份有限公司 | 数据查询处理方法及装置 |
CN107402926A (zh) * | 2016-05-18 | 2017-11-28 | 华为技术有限公司 | 一种查询方法以及查询设备 |
Non-Patent Citations (2)
Title |
---|
大数据查询性能优化的研究与实现;孙建洲;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415(第4期);全文 * |
海量关系型数据查询优化技术研究;张宝权;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180615(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108984763A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3210134B1 (en) | Composite partition functions | |
CN111046045B (zh) | 处理数据倾斜的方法、装置、设备及存储介质 | |
CN109408523B (zh) | 数据共享方法、装置、数据共享平台、电子设备 | |
CN106302640A (zh) | 数据请求处理方法及装置 | |
US10379834B2 (en) | Tenant allocation in multi-tenant software applications | |
CN110244901B (zh) | 任务分配方法及装置、分布式存储系统 | |
CN106682167B (zh) | 用户行为数据的统计装置及方法 | |
CN106055706A (zh) | 一种缓存资源存储方法及装置 | |
CN108984763B (zh) | 查询方法、客户端、服务器以及计算机可读介质 | |
CN110414865A (zh) | 一种审核任务的分配方法、装置、计算机设备和存储介质 | |
CN106131227A (zh) | 负载平衡方法、元数据服务器系统及负载平衡系统 | |
CN106533961B (zh) | 一种流量控制方法及装置 | |
CN109582439B (zh) | Dcn部署方法、装置、设备及计算机可读存储介质 | |
US20150365474A1 (en) | Computer-readable recording medium, task assignment method, and task assignment apparatus | |
CN108989072B (zh) | 一种部署、管理及调用组件的方法及装置 | |
CN110162274B (zh) | 一种基于区块链的数据处理方法、装置及设备 | |
CN108388409B (zh) | 打印请求处理方法、装置、计算机设备和存储介质 | |
CN110427390B (zh) | 数据查询方法及装置、存储介质、电子装置 | |
CN114036031A (zh) | 一种企业数字中台中资源服务应用的调度系统和方法 | |
CN110502333B (zh) | 一种访问请求的处理方法和云存储系统 | |
CN108023920B (zh) | 一种数据包传输方法、设备及应用接口 | |
CN110990024A (zh) | 一种应用部署方法、装置、设备及存储介质 | |
CN111683164B (zh) | 一种ip地址的配置方法及vpn服务系统 | |
CN110708374B (zh) | 一种边缘节点的分配方法、分配装置及可读存储介质 | |
CN110046040B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210906 Address after: 518000 307, building e, functional supporting area, Taohuayuan Zhichuang Town, Tiegang community, Xixiang street, Bao'an District, Shenzhen, Guangdong Applicant after: Shenzhen Maiqi Big Data Technology Co.,Ltd. Address before: 362400 No. 39, Yi Road, Guangde village, Chengxiang Town, Anxi County, Quanzhou City, Fujian Province Applicant before: Xu Zhicai |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211001 |