数据查询方法及装置制造方法及图纸

技术编号:23084996 阅读:12 留言:0更新日期:2020-01-11 01:07
本申请实施例提供了一种数据查询方法及装置。该方法中,用户通过客户端向服务器发起目标数据查询请求,客户端会根据该查询请求生成与服务器建立通信链路的连接请求,并向服务器发送该连接请求;服务器响应该连接请求后,建立与客户端之间的链路连接,并通知客户端,建立通信链路;随后客户端将目标数据查询请求通过该通信链路发送给服务器;服务器从第一存储介质中提取出目标数据,并封装成消息发送给客户端;客户端从该消息中获取目标数据,并断开与服务器之间的通信链路。该方法中,目标数据存储于第一存储介质中,该第一存储介质只处理查询请求对应的请求结果,从而避免了因其他请求类型过多,而导致无法及时对查询请求做出响应的问题。

Data query method and device

【技术实现步骤摘要】
数据查询方法及装置
本申请涉及数据处理
,特别是涉及一种数据查询方法及装置。
技术介绍
目前,存在一种数据查询方法,用户通过客户端的管理界面,向服务器发起查询数据的查询请求,客户端会生成与该查询请求对应的查询进程,通过该查询进程获取存储于物理存储设备中的数据。例如:用户通过管理界面,创建查询进程来查询服务器中的卷基本信息。上述方法中,用户每发起一次查询操作,相应的就会创建一个查询操作进程。对于存储设备来说,除了用户所发起的查询操作进程之外,还存在其他操作进程,例如写操作进程等,当存储设备接收到的不同类型的进程过多时,会导致存储设备无法对查询操作进程及时做出响应。
技术实现思路
有鉴于此,本申请实施例提供了一种数据查询方法,以解决因查询操作进程与其他操作进程冲突而导致存储设备无法及时响应的问题。另外,本申请还提供了一种数据查询装置,以实现上述方法在实际中的应用与实现。为实现上述目的,本申请实施例提供如下技术方案:第一方面,本申请提供了一种数据查询方法,应用于客户端,所述方法包括:获取目标数据查询请求;生成与所述目标数据请求查询对应的连接任务,将连接任务存储至连接队列中,由部署于所述客户端的线程池执行所述连接任务,以向服务器发送连接请求;接收由服务器发送的确认连接消息,与所述服务器建立通信链路;生成与所述确认连接消息对应的发送任务,将所述发送任务存储至发送队列中,由部署于所述客户端的线程池执行所述发送任务,以将所述目标数据查询请求发送至服务器;接收由服务器发送的目标数据消息,所述目标数据消息由服务器根据所述目标数据查询请求从第一存储介质中获取目标数据,并对所述目标数据封装得到,所述第一存储介质仅用于执行所述目标数据查询请求;从所述目标数据消息中获取目标数据;生成断开任务,将断开任务存储至断开队列中,由部署于所述客户端的线程池执行所述断开任务,以断开与服务器之间的通信链路。第二方面,本申请提供了一种数据查询方法,应用于服务器,所述方法包括:接收客户端发送的连接请求;根据所述连接请求,建立与所述客户端之间的通信链路,并生成确认连接消息,将所述确认连接消息发送给所述客户端;接收客户端发送的目标数据查询请求;根据所述目标数据查询请求,生成查询任务,由部署于服务器的线程池执行所述查询任务,以从第一存储介质预先缓存的数据中获取与所述目标数据查询请求对应的目标数据,所述第一存储介质仅用于执行所述目标数据查询请求;将所述目标数据封装成目标数据消息发送给所述客户端。第三方面,本申请提供了一种数据查询装置,应用于客户端,所述装置包括:请求获取模块,用于获取目标数据查询请求;第一连接模块,用于生成与所述目标数据查询请求对应的连接任务,将连接任务存储至连接队列中,由部署于所述客户端的线程池执行所述连接任务,以向服务器发送连接请求;链路确认模块,用于接收由服务器发送的确认连接消息,与所述服务器建立通信链路;请求发送模块,用于生成与所述确认连接消息对应的发送任务,将所述发送任务存储至发送队列中,由部署于所述客户端的线程池执行所述发送任务,以将所述目标数据查询请求发送至服务器;数据接收模块,用于接收由服务器发送的目标数据消息,所述目标数据消息由服务器根据所述目标数据查询请求从第一存储介质中获取目标数据,并对所述目标数据封装得到,所述第一存储介质仅用于执行所述目标数据查询请求;数据获取模块,用于从所述目标数据消息中获取目标数据;链路断开模块,用于生成断开任务,将断开任务存储至断开队列中,由部署于所述客户端的线程池执行所述断开任务,以断开与服务器之间的通信链路。第四方面,本申请提供了一种数据查询装置,应用于服务器,所述装置包括:连接请求接收模块,用于接收客户端发送的连接请求;链路建立模块,用于根据所述连接请求,建立与所述客户端之间的通信链路,并生成确认连接消息,将所述确认连接消息发送给所述客户端;查询请求接收模块,用于接收客户端发送的目标数据查询请求;数据提取模块,用于根据所述目标数据查询请求,生成查询任务,由部署于服务器的线程池执行所述查询任务,以从第一存储介质预先缓存的数据中获取与所述目标数据查询请求对应的目标数据,所述第一存储介质仅用于执行所述目标数据查询请求;数据封装模块,用于将所述目标数据封装成目标数据消息发送给所述客户端。由上述技术方案可知,本申请实施例提供了一种数据查询方法,该方法中,用户通过客户端向服务器发起目标数据查询请求,客户端会根据该查询请求生成与服务器建立通信链路的连接请求,并向服务器发送该连接请求,服务器响应该连接请求后,建立与客户端之间的链路连接,并通知客户端,确认通信链路的建立;随后客户端将用户的目标数据查询请求通过该通信链路发送给服务器,服务器从第一存储介质中提取出与目标数据查询请求对应的目标数据,并封装成消息发送给客户端,客户端接收到该消息后,从该消息中获取目标数据,并断开与服务器之间的连接。该方法中,目标数据存储于第一存储介质中,该第一存储介质只提供查询请求对应的请求结果,从而避免了因其他请求类型过多,而导致无法及时对查询请求做出响应的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1示出了本申请提供的数据查询方法的流程图;图2示出了本申请提供的数据查询装置的结构图;图3示出了本申请提供的另一种数据查询装置的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。在现有技术中,存在一种数据查询方法,用户通过该方法在客户端发起查询请求,客户端根据该查询请求,创建查询操作进程,且由服务器的存储设备对该查询操作进程做出响应。但是,该存储设备除了响应查询操作进程之外,还响应其他操作进程,如写操作进程以及其他操作进程。当该存储设备处理的进程数量较多时,则无法及时响应用户所发起的查询操作进程。为此,本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,应用于客户端,所述方法包括:/n获取目标数据查询请求;/n生成与所述目标数据请求查询对应的连接任务,将连接任务存储至连接队列中,由部署于所述客户端的线程池执行所述连接任务,以向服务器发送连接请求;/n接收由服务器发送的确认连接消息,与所述服务器建立通信链路;/n生成与所述确认连接消息对应的发送任务,将所述发送任务存储至发送队列中,由部署于所述客户端的线程池执行所述发送任务,以将所述目标数据查询请求发送至服务器;/n接收由服务器发送的目标数据消息,所述目标数据消息由服务器根据所述目标数据查询请求从第一存储介质中获取目标数据,并对所述目标数据封装得到,所述第一存储介质仅用于执行所述目标数据查询请求;/n从所述目标数据消息中获取目标数据;/n生成断开任务,将断开任务存储至断开队列中,由部署于所述客户端的线程池执行所述断开任务,以断开与服务器之间的通信链路。/n

【技术特征摘要】
1.一种数据查询方法,其特征在于,应用于客户端,所述方法包括:
获取目标数据查询请求;
生成与所述目标数据请求查询对应的连接任务,将连接任务存储至连接队列中,由部署于所述客户端的线程池执行所述连接任务,以向服务器发送连接请求;
接收由服务器发送的确认连接消息,与所述服务器建立通信链路;
生成与所述确认连接消息对应的发送任务,将所述发送任务存储至发送队列中,由部署于所述客户端的线程池执行所述发送任务,以将所述目标数据查询请求发送至服务器;
接收由服务器发送的目标数据消息,所述目标数据消息由服务器根据所述目标数据查询请求从第一存储介质中获取目标数据,并对所述目标数据封装得到,所述第一存储介质仅用于执行所述目标数据查询请求;
从所述目标数据消息中获取目标数据;
生成断开任务,将断开任务存储至断开队列中,由部署于所述客户端的线程池执行所述断开任务,以断开与服务器之间的通信链路。


2.一种数据查询方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的连接请求;
根据所述连接请求,建立与所述客户端之间的通信链路,并生成确认连接消息,将所述确认连接消息发送给所述客户端;
接收客户端发送的目标数据查询请求;
根据所述目标数据查询请求,生成查询任务,由部署于服务器的线程池执行所述查询任务,以从第一存储介质预先缓存的数据中获取与所述目标数据查询请求对应的目标数据,所述第一存储介质仅用于执行所述目标数据查询请求;
将所述目标数据封装成目标数据消息发送给所述客户端。


3.根据权利要求2所述的数据查询方法,其特征在于,所述第一存储介质预先缓存数据的过程,包括:
创建从第二存储介质中获取数据的缓存任务,所述第二存储介质执行的请求类型大于所述第一存储介质执行的请求类型,且所述第二存储介质的读取速度小于所述第一存储介质的读取速度;
由部署于服务器的线程池执行所述缓存任务,从所述第二存储介质中获取与缓存任务对应的数据,将所述与缓存任务对应的数据存储至所述第一存储介质中。


4.根据权利要求2所述的数据查询方法,其特征在于,还包括:
如果当前时间为检测时间,创建检测任务,由部署于服务器的线程池执行所述检测任务,对所述第一存储介质和所述第二存储介质中存储的数据的一致性进行检测。


5.根据权利要求4所述的数据查询方法,其特征在于,还包括:
若所述数据的一致性的检测结果表示所述第二存储介质中的数据相对于第一存储介质中的数据发生变动,创建数据更新任务;
由所述部署于服务器的线程池执行所述数据更新任务,以从所述第二存储介质中获取增量数据,将所述增量数据存储至所述第一存储介质中。


6.一种数据查询装置,其特征在于,应用于客户端,所述装置包括:
请求获取模块,用于获取目标数...

【专利技术属性】
技术研发人员:杨鸿洁
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1