本申请公开了一种数据查询方法、装置、设备及计算机可读存储介质,方法包括:创建资源池;资源池中包含多个spark实例;接收用户发送的查询请求,为查询请求分配查询会话,利用查询会话对应的spark实例执行查询请求对应的查询任务;若查询任务执行失败,则根据资源池中可用的spark实例重新为查询请求分配查询会话,利用重新分配的查询会话在资源池中对应的spark实例执行查询任务,直至查询任务成功执行,得到查询结果;将查询结果返回至用户。本申请公开的技术方案,通过创建多个spark实例来使得spark查询服务具备容错性,并通过在查询任务执行失败时进行spark实例再分配来提高数据查询的可靠性和稳定性。
【技术实现步骤摘要】
本申请涉及大数据,尤其涉及一种数据查询方法、装置、设备及计算机可读存储介质。
技术介绍
1、在当前大数据时代,大数据技术得到了迅猛发展,大数据查询具有重要的应用价值。其中,apache spark(一种开源的大数据处理框架)作为一种快速、可靠且具有弹性的大数据处理引擎,已经得到了广泛的应用。
2、目前的数据查询是构建单个spark查询服务,由该spark查询服务为所有用户提供数据查询服务,这种数据查询方式会因spark查询服务出现故障而无法进行数据查询。
3、综上所述,如何提高数据查询的可靠性和稳定性,是目前本领域技术人员亟待解决的技术问题。
技术实现思路
1、有鉴于此,本申请的目的是提供一种数据查询方法、装置、设备及计算机可读存储介质,用于提高数据查询的可靠性和稳定性。
2、为了实现上述目的,本申请提供如下技术方案:
3、一种数据查询方法,包括:
4、创建资源池;所述资源池中包含多个spark实例;
5、接收用户发送的查询请求,为所述查询请求分配查询会话,利用所述查询会话在所述资源池中对应的spark实例执行所述查询请求对应的查询任务;
6、若所述查询任务执行失败,则根据所述资源池中可用的spark实例重新为所述查询请求分配查询会话,利用重新分配的查询会话在所述资源池中对应的spark实例执行所述查询任务,直至所述查询任务成功执行,得到查询结果;
7、将所述查询结果返回至所述用户。p>8、可选地,在创建资源池后,还包括:
9、对所述资源池中的spark实例进行监测;
10、若监测到所述资源池中的spark实例数量减少和/或所述资源池中的spark实例出现假死,则在所述资源池中创建新的spark实例,并销毁出现假死的spark实例。
11、可选地,在所述资源池中创建新的spark实例之前,还包括:
12、获取分布式锁。
13、可选地,还包括:
14、预先为每个所述用户设定查询资源上限;
15、在所述查询任务成功执行后,根据所述用户当前的查询资源上限及执行所述查询任务消耗的查询资源确定所述用户剩余的查询资源上限。
16、可选地,在接收用户发送的查询请求后,还包括:
17、确定为所述用户的查询请求分配的第一查询资源;
18、判断所述第一查询资源是否超过所述用户对应的剩余查询资源上限;
19、若是,则拒绝所述查询请求;
20、若否,则为所述查询请求分配查询会话,包括:
21、根据所述第一查询资源及所述资源池中各所述spark实例的资源大小,为所述查询请求分配所述查询会话。
22、可选地,还包括:
23、在所述查询任务的执行时长超过预设时长后,若接收到所述用户发送的查询资源分配调整请求,则根据所述查询资源分配调整请求确定为所述用户的查询请求分配的第二查询资源;
24、当再次接收到所述用户的查询请求时,根据所述第二查询资源及所述资源池中各所述spark实例的资源大小为所述查询请求分配查询会话。
25、可选地,在接收用户发送的查询请求后,还包括:
26、对所述用户及所述查询请求进行合法性校验;
27、若所述用户及所述查询请求通过所述合法性校验,则执行所述为所述查询请求分配查询会话的步骤;
28、若所述用户和/或所述查询请求未通过所述合法性校验,则拒绝所述查询请求。
29、一种数据查询装置,包括:
30、创建模块,用于创建资源池;所述资源池中包含多个spark实例;
31、接收模块,用于接收用户发送的查询请求,为所述查询请求分配查询会话,利用所述查询会话在所述资源池中对应的spark实例执行所述查询请求对应的查询任务;
32、重分配模块,用于若所述查询任务执行失败,则根据所述资源池中可用的spark实例重新为所述查询请求分配查询会话,利用重新分配的查询会话在所述资源池中对应的spark实例执行所述查询任务,直至所述查询任务成功执行,得到查询结果;
33、返回模块,用于将所述查询结果返回至所述用户。
34、一种数据查询设备,包括:
35、存储器,用于存储计算机程序;
36、处理器,用于执行所述计算机程序时实现如上述任一项所述的数据查询方法的步骤。
37、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的数据查询方法的步骤。
38、本申请提供了一种数据查询方法、装置、设备及计算机可读存储介质,其中,该方法包括:创建资源池;资源池中包含多个spark实例;接收用户发送的查询请求,为查询请求分配查询会话,利用查询会话在资源池中对应的spark实例执行查询请求对应的查询任务;若查询任务执行失败,则根据资源池中可用的spark实例重新为查询请求分配查询会话,利用重新分配的查询会话在资源池中对应的spark实例执行查询任务,直至查询任务成功执行,得到查询结果;将查询结果返回至用户。
39、本申请公开的上述技术方案,创建包含有多个spark实例的资源池,在利用为查询请求分配的查询会话对应的spark实例执行相应的查询任务时,若查询任务执行失败,由于资源池中包含有多个spark实例,则可以重新为查询请求分配查询会话,以利用新的spark实例执行查询请求对应的查询任务,从而使得数据查询可以稳定进行,以提高数据查询的可靠性和稳定性。也即本申请通过创建多个spark实例来使得spark查询服务具备容错性,并提高spark查询服务的可用性和稳定性,从而提高数据查询的可靠性和稳定性。并且通过上述过程可并行处理多个查询请求,以便提高数据查询效率,且提高用户体验度。
40、本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
本文档来自技高网...
【技术保护点】
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的数据查询方法,其特征在于,在创建资源池后,还包括:
3.根据权利要求2所述的数据查询方法,其特征在于,在所述资源池中创建新的spark实例之前,还包括:
4.根据权利要求1所述的数据查询方法,其特征在于,还包括:
5.根据权利要求4所述的数据查询方法,其特征在于,在接收用户发送的查询请求后,还包括:
6.根据权利要求5所述的数据查询方法,其特征在于,还包括:
7.根据权利要求1至6任一项所述的数据查询方法,其特征在于,在接收用户发送的查询请求后,还包括:
8.一种数据查询装置,其特征在于,包括:
9.一种数据查询设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据查询方法的步骤。
【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的数据查询方法,其特征在于,在创建资源池后,还包括:
3.根据权利要求2所述的数据查询方法,其特征在于,在所述资源池中创建新的spark实例之前,还包括:
4.根据权利要求1所述的数据查询方法,其特征在于,还包括:
5.根据权利要求4所述的数据查询方法,其特征在于,在接收用户发送的查询请求后,还包括:
6.根据权利要...
【专利技术属性】
技术研发人员:赵伟,温金雄,
申请(专利权)人:协鑫电港云科技海南有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。