大数据集群切换方法、装置、电子设备及存储介质与流程

文档序号:33368074发布日期:2023-03-08 01:13阅读:34来源:国知局
大数据集群切换方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种大数据集群切换方法、装置、电子设备及存储介质。


背景技术:

2.随着计算机和信息技术的飞速发展,各行各业应用系统所产生的数据越来越多,对企业的管理数据和业务数据进行备份已经变得越来越重要,因此对大数据平台的需求也越来越大使用分布式系统基础架构hadoop的大数据软件系统中,通常依靠hadoop各个组件本身的高可用性。
3.现有技术,大数据平台采用使用apache hadoop分布式处理架构,集成各种大数据技术栈,依靠hadoop各个组件本身的高可用性进行大数据量的运算;具体的,采用多套存储计算大数据集群互为备份,采用异地多节点备份方式部署运营来提供跨地域的高可用能力,从而进行大数据量的运算。
4.但是,对于大数据应用,由于采用分布式数据库集群进行大数据量的运算,大数据集群还是存在故障的风险,当故障发生后服务切换到异地大数据集群的时间较长,影响业务连续性,进而导致数据运算速率降低。


技术实现要素:

5.本技术提供一种大数据集群切换方法、装置、电子设备及存储介质,在确定大数据集群发生异常后,可以基于大数据集群的优先级快速完成切换,做到快速故障恢复,操作步骤简单,保证业务连续性,提高数据运算速率。
6.第一方面,本技术提供大数据集群切换方法,所述方法包括:
7.接收客户端发送的数据服务请求,并基于所述数据服务请求生成数据计算任务;所述数据服务请求包括访问服务信息;
8.获取所述访问服务信息对应当前大数据集群的状态信息,并基于所述状态信息判断所述当前大数据集群是否可用;
9.若否,则获取预先创建的大数据集群列表,从所述大数据集群列表中查询到优先级最高的目标大数据集群,并将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算;所述大数据集群列表用于记录不同大数据集群的优先级信息;
10.若是,则利用当前大数据集群进行所述数据计算任务的运算。
11.可选的,获取所述访问服务信息对应当前大数据集群的状态信息,并基于所述状态信息判断所述当前大数据集群是否可用,包括:
12.每隔预设周期,向所述访问服务信息对应当前大数据集群发送检测指令;所述检测指令用于检测当前大数据集群的接口是否连接正常;
13.基于所述检测指令获取当前大数据集群反馈的状态信息,并判断所述状态信息是否满足预定义规则,以确定所述当前大数据集群是否可用。
14.可选的,所述访问服务信息包括:用户身份信息、访问服务地址、集群权限信息和用户服务等级;向所述访问服务信息对应当前大数据集群发送检测指令,包括:
15.基于所述用户身份信息对客户端进行身份验证,在身份验证通过后,基于所述访问服务地址查找到对应当前大数据集群的服务访问权限;
16.基于所述集群权限信息判断所述数据服务请求是否满足当前大数据集群的服务访问权限;
17.若是,则基于用户服务等级确定该数据服务请求的处理顺序,并基于所述处理顺序向当前大数据集群发送检测指令;
18.若否,则向客户端发送警示信息,以提示用户该数据服务请求不满足当前大数据集群的服务访问权限。
19.可选的,所述方法还包括:
20.获取预设区域内各个大数据集群的集群管理信息;所述集群管理信息包括集群信息、数据源信息和分布式队列信息;所述集群信息用于指示大数据集群具有的权限信息、优先级信息以及加密信息;所述数据源信息用于指示大数据集群运行时分布式访问的数据库信息;所述分布式队列信息用于指示大数据集群中运算数据计算任务的队列信息;
21.基于所述集群管理信息进行不同大数据集群的容器实例化并注册网关,得到各个大数据集群的访问服务地址;
22.基于各个大数据集群的访问服务地址以及集群管理信息创建大数据集群列表。
23.可选的,将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算,包括:
24.获取所述目标大数据集群的访问服务地址,并基于所述目标大数据集群的访问服务地址将当前大数据集群切换至所述目标大数据集群;
25.基于所述目标大数据集群对应的数据源信息和所述分布式队列信息调用相应的数据库以及队列对所述数据计算任务进行运算。
26.可选的,所述方法还包括:
27.响应于用户的触控操作,对预先创建的大数据集群列表中的集群管理信息进行修改;
28.获取修改后的大数据集群列表,并基于该大数据集群列表判断所述目标大数据集群是否发生改变;
29.若是,则重新查询优先级最高的目标大数据集群,并进行大数据集群的切换,以使切换后的大数据集群进行所述数据计算任务的运算。
30.可选的,所述方法还包括:
31.在对所述数据计算任务进行运算后,得到运算处理结果;
32.判断所述运算处理结果的数据量是否大于预设阈值;
33.若否,则采用单线程的方式向客户端依次返回所述运算处理结果;
34.若是,则采用多线程的方式向客户端异步返回所述运算处理结果。
35.第二方面,本技术提供一种大数据集群切换装置,所述装置包括:
36.接收模块,用于接收客户端发送的数据服务请求,并基于所述数据服务请求生成数据计算任务;所述数据服务请求包括访问服务信息;
37.判断模块,用于获取所述访问服务信息对应当前大数据集群的状态信息,并基于所述状态信息判断所述当前大数据集群是否可用;
38.切换模块,用于当所述当前大数据集群不可用时,获取预先创建的大数据集群列表,从所述大数据集群列表中查询到优先级最高的目标大数据集群,并将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算;所述大数据集群列表用于记录不同大数据集群的优先级信息;
39.运算模块,用于当所述当前大数据集群可用时,利用当前大数据集群进行所述数据计算任务的运算。
40.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
41.所述存储器存储计算机执行指令;
42.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
43.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中任一项所述的方法。
44.第五方面,本技术提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面中任一项所述的方法。
45.综上所述,本技术提供一种大数据集群切换方法、装置、电子设备及存储介质,可以接收客户端发送的数据服务请求,并基于数据服务请求生成数据计算任务;数据服务请求包括访问服务信息;进一步的,获取访问服务信息对应当前大数据集群的状态信息,并基于状态信息判断当前大数据集群是否可用;当确定当前大数据集群不可用时,获取预先创建的大数据集群列表,从大数据集群列表中查询到优先级最高的目标大数据集群,并将当前大数据集群切换至目标大数据集群进行数据计算任务的运算;大数据集群列表用于记录不同大数据集群的优先级信息;当确定当前大数据集群可用时,利用当前大数据集群进行数据计算任务的运算。这样,当确定大数据集群发生异常后,基于大数据集群的优先级快速完成平台集群相关的所有应用数据服务的切换,而不影响该区域下的其他大数据集群,并将数据计算任务提高给优先级最高的大数据集群进行处理,可以做到快速故障恢复,操作步骤简单且可以批量自动化的切换,保证业务连续性,进而提高数据运算速率。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
47.图1为本技术实施例提供的一种应用场景示意图;
48.图2为本技术实施例提供的一种大数据集群切换方法的流程示意图;
49.图3为本技术实施例提供的一种故障恢复装置的框架示意图;
50.图4为本技术实施例提供的一种大数据云平台的应用场景示意图;
51.图5为本技术实施例提供的一种大数据集群切换装置的结构示意图;
52.图6为本技术实施例提供的一种电子设备的结构示意图。
53.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
54.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
55.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
56.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
57.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
58.下面首先对申请涉及到的专业术语进行解释:
59.hadoop:指的是一种分布式系统基础架构;业界大数据平台通常使用的是apache hadoop分布式处理架构。
60.yarn:指的是一种hadoop资源管理器,用于为分布式处理框架提供资源管理和作业调度框架,yarn集群可以支持多种类型的调度器机制,采用队列的概念,当任务提交到队列时,队列可以设置资源的占比,并且支持层级队列、访问控制、用户限制、预定等配置,广泛采用于多租户场景。
61.spark:指的是一个通用引擎,可用它来完成各种各样的运算,包括sql查询、文本处理、机器学习等。
62.k8s:kubernetes,或者简称为“kube”,指的是一个开源的、用于自动实施linux容器操作的开源平台,可以管理云平台中多个主机,帮助用户省去应用容器化过程的许多手动部署和扩展操作,即将运行linux容器的多组主机聚集在一起,由kubernetes高效地管理这些集群。
63.区域:用于描述大数据平台存储与计算集群(以下简称大数据集群)所处的位置,例如可以将不同数据中心、机房设置成不同区域,区域是大数据集群的属性,每个大数据集
群可设置一个区域,一个区域可包括多个大数据集群。
64.大数据平台承接各类企业大型数据应用、数据中台的实施建设,包括但不限于各类企业级数据仓库、业务部门数据挖掘建模、数据服务总线等场景的建设,具体的,通过将对应项目组在大数据平台集成不同的大数据计算框架来实现。
65.面对每天不间断跑在上万台机器大数据集群上的大数据计算作业与服务,大数据平台承担着核心数据分析计算任务,有着很高的可靠性和服务等级协议(service-level agreement,sla)的要求,为日益增长的业务需求提供持续可靠的大数据服务保障。但是由于自然原因,例如水灾火灾,或是人为原因可能会造成数据丢失、系统崩溃等,导致出现机房停用或大数据平台大面积应用等重大故障。
66.一种可能的实现方式中,大数据平台采用使用apache hadoop分布式处理架构,集成各种大数据技术栈,依靠hadoop各个组件本身的高可用性进行大数据量的运算;具体的,采用多套存储计算大数据集群互为备份,采用异地多节点备份方式部署运营来提供跨地域的高可用能力,从而进行大数据量的运算,当大数据集群故障发生时,可以切换至备用的服务与数据库,提供跨地域的高可用能力。
67.但是,对于大数据应用,由于采用分布式数据库集群进行大数据量的运算,不可以将一套集群跨地区进行部署,只能采用多地域部署多套大数据集群的方式,而当故障发生后服务切换到异地大数据集群的步骤较多,导致切换时间较长,影响业务连续性,进而导致数据运算速率降低。
68.需要说明的是,上述方式在面对故障进行大数据集群切换时,大数据平台中的每个应用需要人工手动进行故障区域的切换,包括但不限于不同区域的服务部署单元切换,调用方路由地址的切换,计算大数据集群连接认证配置切换,数据库切换等步骤,操作步骤复杂且不可以做到批量自动化的切换,导致故障恢复较慢,不可以保证业务连续性。
69.针对上述问题,本技术提供一种大数据集群切换方法,可以应用于一种大数据平台的故障恢复装置,当确定出现集群级故障或区域级故障时,可以快速切换至异地备份的大数据集群,及时恢复服务;具体的,当调用方(客户端)访问大数据应用时,调用方提交数据服务请求,该故障恢复装置可对大数据集群的状态进行实时监控和判断,当确定某个大数据集群发生异常后,基于大数据集群的优先级快速完成平台集群相关的所有应用数据服务的切换,而不影响该区域下的其他大数据集群,进而将数据服务请求提交至指定的大数据集群进行响应,可以做到快速故障恢复,操作步骤简单且可以批量自动化切换,保证服务对外的连续性,提高数据运算的速率。
70.需要说明的是,大数据应用在大数据平台完成数据计算、查询、调度等数据服务。
71.示例性的,图1为本技术实施例提供的一种应用场景示意图,本技术提供的一种大数据集群切换方法可以应用于如图1所示的应用场景中。该应用场景包括:终端设备101,大数据平台102和显示设备103;其中,大数据平台102中部署有故障恢复装置,所述故障恢复装置可以监测不同区域下大数据集群是否发生故障,并在大数据集群发生故障后选择优先级高的大数据集群进行切换,以使数据计算任务正常运行,显示设备103为大数据平台102对应的显示设备,可供用户进行相关操作及展示,如对某个大数据集群的优先级进行更改,终端设备101为服务调用方使用的设备。
72.具体的,当终端设备101访问大数据应用时,终端设备101向大数据平台102提交数
据服务请求,大数据平台102中的故障恢复装置可以将数据服务请求提交至指定大数据集群进行响应,进而该大数据集群进行数据计算任务的运算,其中,故障恢复装置包括但不限于容器集群如大数据集群1-大数据集群8、数据计算任务关联的数据源、分布式队列等,其中,数据源和分布式队列部署在大数据集群中,用于进行数据计算任务的运算。
73.故障恢复装置实时监测各个大数据集群的状态,当区域1或区域2中的大数据集群遇到故障时,故障恢复装置通过改变区域内大数据集群的可用状态,即可快速实现对大数据集群的路由切换,保证服务对外的连续性。
74.需要说明的是,不同区域包括不同的大数据集群,当某个区域内大数据集群发生故障时,优先将数据服务请求分发给与该数据服务请求所在相同的区域下的大数据集群,如大数据集群1发生故障,优先选取分发数据服务请求的大数据集群为大数据集群2-大数据集群4中的一个大数据集群。
75.上述终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,ran)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personal communication service,pcs)电话、无绳电话、会话发起协议(session initiation protocol,sip)话机、无线本地环路(wireless local loop,wll)站、个人数字助理(personal digital assistant,pda)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、智能手机等设备。
76.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
77.图2为本技术实施例提供的一种大数据集群切换方法的流程示意图,如图2所示,所述大数据集群切换方法包括如下步骤:
78.s201、接收客户端发送的数据服务请求,并基于所述数据服务请求生成数据计算任务;所述数据服务请求包括访问服务信息。
79.本技术实施例中,数据计算任务在不同的应用场景下对应不同的任务,如数据计算任务可以为查询任务或流计算任务,本技术实施例对此不做具体限定,所述数据计算任务由大数据集群中的数据服务基于大数据集群对应的路由地址提交至分布式计算队列与数据源执行计算;其中,所述数据服务为大数据应用将数据计算查询逻辑如结构化查询语言(structured query language,sql)通过低代码开发封装成的服务,其运行在平台k8s容器集群上。
80.具体的,调用方通过客户端、软件开发工具包(software development kit,sdk)
使用restful应用程序接口(application programming interface,api)调用数据服务,数据服务在接收调用方的数据服务请求后,将数据计算任务提交至相应大数据集群中的分布式计算队列与数据源中进行计算。
81.在本步骤中,所述访问服务信息用于进行大数据集群路由寻址,即基于所述访问服务信息找到数据服务请求对应的大数据集群;如所述访问服务信息为某个域名,则采用域名方式寻址,不同区域中大数据集群用的数据服务有不同域名代表,经过对域名进行域名系统(domain name system,dns)解析,可以将数据计算任务负载均衡分配到不同区域下的数据服务。
82.s202、获取所述访问服务信息对应当前大数据集群的状态信息,并基于所述状态信息判断所述当前大数据集群是否可用。
83.本技术实施例中,状态信息可以指的是大数据集群的可用状态属性,用于描述当前区域内的大数据集群是否可用,若切换区域的状态信息将导致所有关联该区域的大数据集群的可用状态发生响应变化,而切换大数据集群的状态信息只会导致该大数据集群的可用状态发生响应变化。
84.在本步骤中,基于所述状态信息判断所述当前大数据集群是否可用,可以基于定义的存活规则来确定当前大数据集群是否可用,如获取到的状态信息为大数据集群的接口信息,所述定义的存活规则为预定时间内接口为连接状态,则基于连续5分钟检查大数据集群的接口信息,判断是否满足定义的存活规则来确定当前大数据集群是否可用。
85.可选的,也可以配置如公有云控制台、互联网技术服务管理(internet technology service management,itsm)平台等基础设施管理平台,来实时获取区域内大数据集群的状态信息,以此来判断当前大数据集群是否可用;所述状态信息包括可用状态和不可用状态。
86.需要说明的是,本技术实施例对状态信息对应的具体内容以及基于状态信息判断大数据集群是否可用的方法不做具体限定,所述状态信息可以为接口状态信息、可用状态信息、位置状态信息等。
87.s203、若否,则获取预先创建的大数据集群列表,从所述大数据集群列表中查询到优先级最高的目标大数据集群,并将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算;所述大数据集群列表用于记录不同大数据集群的优先级信息。
88.本技术实施例中,预先创建的大数据集群列表可以指的是故障恢复装置提前收集到的可用大数据集群的信息,进而利用可用大数据集群创建的集群列表,也可以指的是故障恢复装置提前定义好的备用可切换的可用大数据集群创建的集群列表,本技术实施例对此不做具体限定,所述大数据集群列表可以记录大数据集群对应的优先级信息,所述优先级信息为大数据集群对应的优先级级别,距离当前大数据集群越近,且位于同一区域内的大数据集群,优先级级别越高,位于同一区域内的大数据集群但距离当前大数据集群远的大数据集群的优先级级别次之,位于不同区域内的大数据集群,根据距离当前大数据集群远近确定优先级级别,本技术实施例对大数据集群优先级级别的设定不作具体限定,以上仅是示例说明。
89.在本步骤中,将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算,即将所述数据服务请求转向目标大数据集群进行响应处理,并将所述数据计算
任务提交至大数据集群中部署的分布式队列和数据源进行计算。
90.需要说明的是,与当前大数据集群位于同一区域内的大数据集群的优先级级别高,进而位于其他区域大数据集群的优先级低,经由负载均衡分配到不同区域下的数据服务,优先将数据计算任务分发给与当前大数据集群所在相同的区域下的大数据集群,由于负载均衡可以动态的服务注册,探活,如某个区域内负载均获取探活失败,即与当前大数据集群所在相同的区域下的大数据集群均发生故障,则将数据计算任务转发至其他区域下的大数据集群。
91.s204、若是,则利用当前大数据集群进行所述数据计算任务的运算。
92.示例性的,在图1的应用场景下,终端设备101可以向大数据平台102提交数据服务请求,大数据平台102中的故障恢复装置基于数据服务请求中的访问服务信息确定应访问的大数据集群为区域1中的大数据集群1,在基于大数据集群1的状态信息确定大数据集群1可用后,可以将数据服务请求提交至大数据集群1进行响应,进而大数据集群1进行数据计算任务的运算。
93.因此,本技术提供一种大数据集群切换方法,可以接收客户端发送的数据服务请求,并基于数据服务请求生成数据计算任务;该数据服务请求包括访问服务信息;进一步的,获取访问服务信息对应当前大数据集群的状态信息,并基于状态信息判断当前大数据集群是否可用;当确定当前大数据集群不可用时,获取预先创建的大数据集群列表,从大数据集群列表中查询到优先级最高的目标大数据集群,并将当前大数据集群切换至目标大数据集群进行数据计算任务的运算;当确定当前大数据集群可用时,利用当前大数据集群进行数据计算任务的运算。这样,当确定大数据集群发生异常后,可以基于大数据集群的优先级快速完成平台集群相关的所有应用数据服务的切换,而不影响该区域下的其他大数据集群,并将数据计算任务提高给优先级最高的大数据集群进行处理,可以做到快速故障恢复,操作步骤简单且可以批量自动化的切换,保证业务连续性,进而提高数据运算速率。
94.可选的,获取所述访问服务信息对应当前大数据集群的状态信息,并基于所述状态信息判断所述当前大数据集群是否可用,包括:
95.每隔预设周期,向所述访问服务信息对应当前大数据集群发送检测指令;所述检测指令用于检测当前大数据集群的接口是否连接正常;
96.基于所述检测指令获取当前大数据集群反馈的状态信息,并判断所述状态信息是否满足预定义规则,以确定所述当前大数据集群是否可用。
97.本技术实施例中,预设周期可以指的是设定的用于检测当前大数据集群的接口是否连接正常对应的时间周期,若在预设周期内,当前大数据集群的接口连接都是正常的,则说明该大数据集群的状态是可用的,本技术实施例对预设周期的对应的数值不做具体限定,如所述预设周期可以为5分钟。
98.预定义规则为故障恢复装置设定的用于判断当前大数据集群的状态是否可用制定的规则,可以为存活规则,如连续5分钟健康检查接口都是连接状态;也可以为其他规则,如大数据集群服务器地址没有发生改变,本技术实施例对此不做具体限定。
99.示例性的,故障恢复装置可配置监听的虚拟机、物理服务器地址或健康检查接口进行探活,即发送检测指令,当基于所述检测指令反馈的状态信息确定是否满足定义的存活规则,若不满足,则触发大数据集群的可用状态进行变化,将可用状态改为不可用,例如
连续5分钟健康检查接口请求失败,则该大数据集群的可用状态改为不可用。
100.因此,本技术实施例可以实时监测大数据集群的可用状态,使得在大数据集群遇到故障时,即可快速对大数据集群的路由地址进行切换,保证服务对外的连续性。
101.可选的,所述访问服务信息包括:用户身份信息、访问服务地址、集群权限信息和用户服务等级;向所述访问服务信息对应当前大数据集群发送检测指令,包括:
102.基于所述用户身份信息对客户端进行身份验证,在身份验证通过后,基于所述访问服务地址查找到对应当前大数据集群的服务访问权限;
103.基于所述集群权限信息判断所述数据服务请求是否满足当前大数据集群的服务访问权限;
104.若是,则基于用户服务等级确定该数据服务请求的处理顺序,并基于所述处理顺序向当前大数据集群发送检测指令;
105.若否,则向客户端发送警示信息,以提示用户该数据服务请求不满足当前大数据集群的服务访问权限。
106.本技术实施例中,所述警示信息的发送形式可以为显示框的形式、短信的形式等,本技术实施例对发送形式以及发送内容不做具体限定,如发送内容可以为“您发送的数据服务请求不满足当前大数据集群的服务访问权限,请申请权限后再试”。
107.在本步骤中,基于用户身份信息对客户端进行身份验证,以验证客户端身份的真实性,其验证方法可以参考现有技术中的方法,本技术对此不做具体限定,在确定客户端身份信息正确后,进一步的,对该客户端的服务访问权限进行验证,以验证客户端是否有访问对应大数据集群的权限,进而可以调用对应的数据库以及计算资源进行数据计算任务的运算,若没有访问对应大数据集群的权限,则向用户返回警示信息,以提醒用户在申请访问权限后继续访问,若具有访问对应大数据集群的权限,则可以基于用户服务等级进行相应等级的访问。
108.需要说明的是,在存在多个数据服务请求时,用户服务等级越高,优先对其对应的数据服务请求进行处理。
109.因此,本技术实施例可以对调用方身份进行认证及鉴权,保证大数据平台的安全运行。
110.可选的,所述方法还包括:
111.获取预设区域内各个大数据集群的集群管理信息;所述集群管理信息包括集群信息、数据源信息和分布式队列信息;所述集群信息用于指示大数据集群具有的权限信息、优先级信息以及加密信息;所述数据源信息用于指示大数据集群运行时分布式访问的数据库信息;所述分布式队列信息用于指示大数据集群中运算数据计算任务的队列信息;
112.基于所述集群管理信息进行不同大数据集群的容器实例化并注册网关,得到各个大数据集群的访问服务地址;
113.基于各个大数据集群的访问服务地址以及集群管理信息创建大数据集群列表。
114.本技术实施例中,预设区域可以指的是距离当前大数据集群在一定范围内的区域,该预设区域内各个大数据集群包括与当前大数据集群位于同一区域内的大数据集群以及与当前大数据集群位于不同区域内的大数据集群。
115.在本步骤中,集群信息包括各个大数据集群对应的访问地址、加密信息、集群权限
信息、集群初始化参数配置信息、优先级信息等,用于自动化部署运行数据服务所需的集群信息;所述加密信息可以为账号密码或密钥,用于对大数据集群进行加密,提高数据访问的安全性;所述优先级信息可以人工配置,也可以根据提前定义好,如基于距离远近定义优先级高低,本技术实施例对此不做具体限定。
116.数据源信息包括分布式数据库的访问地址、数据库账号密码、数据库连接参数及其他配置参数如keberos认证地址等信息,用于数据服务运行时分布式查询引擎访问的数据库信息。
117.分布式队列信息包括计算队列或计算节点的访问地址、提交队列和管理队列的认证账号密码或密钥,用于数据服务运行时队列上的分布式查询引擎如spark、flink的运算。
118.具体的,故障恢复装置可以获取预设区域内各个大数据集群的集群管理信息,进而生成容器应用实例配置chart(模板)并推送至大数据平台中相应的容器集群中,容器集群启动镜像加载chart配置完成应用实例运行,并将应用容器实例的访问路由信息上报给服务网关进行服务网关注册,进而形成外部访问地址;进一步的,基于各个大数据集群的外部访问地址以及集群管理信息创建大数据集群列表;其中,对于数据服务,可以至少关联两个或更多个不同区域的大数据集群,每个大数据集群有唯一的区域属性,大数据集群与区域存在n对1的关联关系。
119.因此,本技术实施例可以查找到符合要求的各个大数据集群进行存储,可以实时获取各个大数据集群的集群管理信息创建大数据集群列表,提高大数据集群切换的合理性,减少错误发生的可能性。
120.可选的,将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算,包括:
121.获取所述目标大数据集群的访问服务地址,并基于所述目标大数据集群的访问服务地址将当前大数据集群切换至所述目标大数据集群;
122.基于所述目标大数据集群对应的数据源信息和所述分布式队列信息调用相应的数据库以及队列对所述数据计算任务进行运算。
123.在本步骤中,目标大数据集群上部署有分布式队列管理单元和数据源管理单元,所述分布式队列管理单元用于将查询、计算作业提交至对应的队列上进行分布式查询引擎运算;分布式队列管理单元中有多个队列,用于执行不同的处理任务;所述数据源管理单元用于调用队列上分布式查询引擎访问的数据库信息。
124.具体的,服务网关根据目标大数据集群的访问服务地址进行路由寻址,将数据服务请求转向服务容器应用实例进行响应处理,并将数据计算任务提交至数据计算任务关联的数据源、分布式队列进行运算。
125.可选的,当前大数据集群进行数据计算任务的运算,包括:将数据服务请求转向当前大数据集群的服务容器应用实例进行响应处理,并将数据计算任务提交至数据计算任务关联的数据源、分布式队列进行运算。
126.因此,本技术实施例可以有针对性的找到目标大数据集群,并利用目标大数据集群中部署的分布式队列管理单元和数据源管理单元对数据计算任务进行运算,提高处理效率。
127.可选的,所述方法还包括:
128.响应于用户的触控操作,对预先创建的大数据集群列表中的集群管理信息进行修改;
129.获取修改后的大数据集群列表,并基于该大数据集群列表判断所述目标大数据集群是否发生改变;
130.若是,则重新查询优先级最高的目标大数据集群,并进行大数据集群的切换,以使切换后的大数据集群进行所述数据计算任务的运算。
131.在本步骤中,修改大数据集群列表中的集群管理信息可以基于故障恢复装置中的网络产品界面设计(website user interface,web ui)单元实现,表现形式可以为可进行触控操作的显示设备。
132.可选的,还可以基于web ui单元修改区域与大数据集群的关联关系、大数据集群的状态信息以及集群转发规则等,所述集群转发规则为将数据服务请求转发至相应大数据集群的规则,如某个数据服务请求只能转发到定义好的大数据集群,本技术实施例对此不做具体限定。
133.因此,本技术实施例可以人为操作web ui单元对集群管理信息进行任意修改,提高应用的灵活性。
134.可选的,所述方法还包括:
135.在对所述数据计算任务进行运算后,得到运算处理结果;
136.判断所述运算处理结果的数据量是否大于预设阈值;
137.若否,则采用单线程的方式向客户端依次返回所述运算处理结果;
138.若是,则采用多线程的方式向客户端异步返回所述运算处理结果。
139.本技术实施例中,预设阈值可以指的是设定的用于确定是否启动多线程异步返回运算处理结果对应的数值,在数据量超过所述预设阈值后,可以启动多线程的方式向客户端异步返回运算处理结果,提高处理效率,本技术实施例对预设阈值不作具体限定。
140.在本步骤中,单线程的方式指的是利用一个执行流进行数据处理,即在程序执行时,运行一个的线程按照连续顺序执行下来;多线程的方式指的是利用多个执行流进行数据处理,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,而采用多线程的方式异步返回运算处理结果,可以使得运行多个不同的大数据集群相互不干扰,采用单线程的方式异步返回运算处理结果,可以节省资源。
141.具体的,当确定运算处理结果的数据量大于预设阈值时,采用多线程的方式异步返回运算处理结果至客户端,当确定运算处理结果的数据量小于预设阈值时,采用单线程的方式依次返回运算处理结果至客户端。
142.因此,本技术实施例可以基于运算处理结果的数据量确定采用何种方式返回运算处理结果,在返回数据量少时采用单线程方式,返回数据量多时采用多线程方式,节省资源,适用多种场景,灵活性高。
143.结合上述实施例,图3为本技术实施例提供的一种故障恢复装置的框架示意图;本技术提供的大数据集群切换方法应用于故障恢复装置,如图3所示,所述故障恢复装置包括:web ui模块、集群管理模块、服务管理模块、区域管理模块、大数据存储计算集群;
144.其中,web ui模块用于基于用户的触控操作进行相关操作及展示,如关联的部署所需的集群信息;集群管理模块包括集群管理单元、分布式队列管理单元和数据源管理单
元,所述集群管理单元可以管理大数据分布式hadoop集群和k8s集群,用于提供分布式队列管理yarn队列、数据源管理hive(数据仓库工具)、hbase以及数据服务应用服务实例的运行环境,可实现自动化部署运行数据服务所需的k8s集群信息。
145.所述分布式队列管理单元可以管理分布式计算队列yarn,存储有计算队列信息(分布式队列信息),用于数据服务运行时将查询、计算作业提交队列上的分布式查询引擎运算。
146.所述数据源管理单元,用于保存了hive、hbase、kafka等hadoop集群对应的分布式数据库的访问信息(数据源信息),用于数据服务运行时分布式查询引擎访问的数据库信息。
147.服务管理模块包括服务部署单元和服务网关单元,所述服务部署单元将应用的数据服务在大数据平台k8s容器集群部署运行,进一步的,数据服务提交计算任务给hadoop集群进行数据服务注册;所述服务网关单元用于接收数据服务注册信息(访问路由信息),并对外形成外部访问地址。
148.可以理解的是,当应用调用方请求数据服务时,会传入调用方身份信息、访问服务地址、租户与应用等服务参数,所述服务网关单元在对调用方身份进行认证及鉴权后,服务网关单元根据访问服务地址等服务参数进行路由寻址,即服务路由转发,将数据服务请求转向服务容器应用实例进行响应处理,接着数据服务进行后端处理,并将数据服务请求的数据计算任务提交至分布式队列和数据源进行计算,得到运算处理结果,并将运算处理结果同步或异步原路返回。
149.所述区域管理模块包括区域与可用状态管理单元和可用状态监听单元;所述区域与可用状态管理单元可注册大数据平台所有区域,还可以基于web ui模块进行相关操作配置并修改区域相关的信息,包括但不限于区域名称、区域身份标识号(identity document,id)、区域描述、区域可用状态、区域参数的修改,进一步的,触发大数据集群可用状态更改。
150.所述可用状态监听单元可以是通过配置需要监听的虚拟机、物理服务器地址或健康检查接口进行探活进行状态监听,也可以配置公有云控制台、itsm等基础设施管理平台,来实时获取区域状态信息。特别的对于大数据集群的可用状态也可以通过人工进行修改,进一步通过广播修改大数据集群的订阅接口,供其他大数据集群管理订阅。
151.大数据存储计算大数据集群包括hadoop集群和k8s集群,k8s集群包括多个应用数据服务,hadoop集群包括hive、hbase、kafka、spark on yarn、flink on yarn等数据源信息。
152.可以理解的是,上述故障恢复装置中的web ui模块、集群管理模块、服务管理模块、区域管理模块的服务和mysql数据库可以采用业界常见的异地多节点多活部署方式,来保证区域故障时高可用。
153.数据服务在响应数据服务请求时,可以通过nginx配置的转发规则进行读写数据库请求的转发:
154.当数据服务响应读类的操作时,数据服务访问本区域mysql数据库;
155.当数据服务响应写操作时,数据服务可以通过nginx配置的转发规则将数据计算任务转发到指定的主区域的数据库,主区域数据库使用canal数据库同步工具进行事务级同步至其他区域数据库来确保数据一致。
156.因此当单个区域发生故障后,服务切换到存活区域下的数据服务,该数据服务可响应其他区域的数据服务,通过修改nginx规则,将写操作从发生故障的主区域改为其他区域,写请求也转发至其他区域,从而保证数据服务可用。
157.其中,nginx配置的转发规则如下:
158.当仅存在单个大数据集群的区域的可用状态为可用时,将数据服务请求转发至该大数据集群上的数据服务,数据计算任务提交至该大数据集群上的分布式队列和数据源。
159.当存在多个大数据集群的区域的可用状态为可用时,将数据服务请求转发至优先级最高的大数据集群上的数据服务,数据计算任务提交至优先级最高大数据集群上的分布式队列和数据源。
160.这样,故障恢复装置可以提供统一且灵活的多区域大数据应用故障恢复管理能力,即可以实现区域故障时平滑切换恢复以及针对区域级故障域、集群级故障域进行切换恢复操作。
161.示例性的,上述故障恢复装置是一个通用的分布式系统的故障快速恢复服务的装置,可以部署于大数据云平台中,还可以运用在区块链、人工智能、分布式计算平台中,图4为本技术实施例提供的一种大数据云平台的应用场景示意图;如图4所示,大数据云平台不具备跨az(可用区域)高可用能力,无法满足重点数据和服务的跨az扩容和高可用需求,因此将故障恢复装置部署于大数据云平台,即通过存储计算资源跨az部署方案,可以实现跨az开服和扩容目标,还可以通过平台服务跨az部署和作业双加载,提供统一的数据接入和数据服务能力,实现az级一键式业务无感切换。
162.具体的,部署故障恢复装置的大数据云统一控制平台下的云产品lb如nginx,可以提供大数据云公共服务,如数据开发、智能调度、数据集成、数据管理、智能采集、数据服务等平台服务,可以进行离线作业、数据集成作业以及流计算作业,其中,可以调用的应用数据源有:cos、mpp、hbase、hive、es、kafka等。
163.在前述实施例中,对本技术实施例提供的大数据集群切换方法进行了介绍,而为了实现上述本技术实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
164.例如,图5为本技术实施例提供的一种大数据集群切换装置的结构示意图,如图5所示,该装置包括:接收模块510、判断模块520、切换模块530和运算模块540;其中,所述接收模块510,用于接收客户端发送的数据服务请求,并基于所述数据服务请求生成数据计算任务;所述数据服务请求包括访问服务信息;
165.所述判断模块520,用于获取所述访问服务信息对应当前大数据集群的状态信息,并基于所述状态信息判断所述当前大数据集群是否可用;
166.所述切换模块530,用于当所述当前大数据集群不可用时,获取预先创建的大数据集群列表,从所述大数据集群列表中查询到优先级最高的目标大数据集群,并将当前大数据集群切换至所述目标大数据集群进行所述数据计算任务的运算;所述大数据集群列表用于记录不同大数据集群的优先级信息;
167.所述运算模块540,用于当所述当前大数据集群可用时,利用当前大数据集群进行
所述数据计算任务的运算。
168.可选的,所述判断模块520包括发送单元和判断单元;
169.具体的,所述发送单元,用于每隔预设周期,向所述访问服务信息对应当前大数据集群发送检测指令;所述检测指令用于检测当前大数据集群的接口是否连接正常;
170.所述判断单元,用于基于所述检测指令获取当前大数据集群反馈的状态信息,并判断所述状态信息是否满足预定义规则,以确定所述当前大数据集群是否可用。
171.可选的,所述访问服务信息包括:用户身份信息、访问服务地址、集群权限信息和用户服务等级;所述发送单元,具体用于:
172.基于所述用户身份信息对客户端进行身份验证,在身份验证通过后,基于所述访问服务地址查找到对应当前大数据集群的服务访问权限;
173.基于所述集群权限信息判断所述数据服务请求是否满足当前大数据集群的服务访问权限;
174.若是,则基于用户服务等级确定该数据服务请求的处理顺序,并基于所述处理顺序向当前大数据集群发送检测指令;
175.若否,则向客户端发送警示信息,以提示用户该数据服务请求不满足当前大数据集群的服务访问权限。
176.可选的,所述装置还包括创建模块,所述创建模块,用于:
177.获取预设区域内各个大数据集群的集群管理信息;所述集群管理信息包括集群信息、数据源信息和分布式队列信息;所述集群信息用于指示大数据集群具有的权限信息、优先级信息以及加密信息;所述数据源信息用于指示大数据集群运行时分布式访问的数据库信息;所述分布式队列信息用于指示大数据集群中运算数据计算任务的队列信息;
178.基于所述集群管理信息进行不同大数据集群的容器实例化并注册网关,得到各个大数据集群的访问服务地址;
179.基于各个大数据集群的访问服务地址以及集群管理信息创建大数据集群列表。
180.可选的,所述切换模块530,具体用于:
181.获取所述目标大数据集群的访问服务地址,并基于所述目标大数据集群的访问服务地址将当前大数据集群切换至所述目标大数据集群;
182.基于所述目标大数据集群对应的数据源信息和所述分布式队列信息调用相应的数据库以及队列对所述数据计算任务进行运算。
183.可选的,所述装置还包括修改模块,所述修改模块,用于:
184.响应于用户的触控操作,对预先创建的大数据集群列表中的集群管理信息进行修改;
185.获取修改后的大数据集群列表,并基于该大数据集群列表判断所述目标大数据集群是否发生改变;
186.若是,则重新查询优先级最高的目标大数据集群,并进行大数据集群的切换,以使切换后的大数据集群进行所述数据计算任务的运算。
187.可选的,所述装置还包括返回模块,所述返回模块,用于:
188.在对所述数据计算任务进行运算后,得到运算处理结果;
189.判断所述运算处理结果的数据量是否大于预设阈值;
190.若否,则采用单线程的方式向客户端依次返回所述运算处理结果;
191.若是,则采用多线程的方式向客户端异步返回所述运算处理结果。
192.本技术实施例提供的一种大数据集群切换装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,该大数据集群切换装置的实现原理和故障恢复装置类似,详情可参见故障恢复装置的描述,此处不做过多赘述。
193.本技术实施例还提供了一种电子设备的结构示意图,图6为本技术实施例提供的一种电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器601以及与所述处理器通信连接的存储器602;该存储器602存储计算机程序;该处理器601执行该存储器602存储的计算机程序,使得该处理器601执行上述任一实施例所述的方法。
194.其中,存储器602和处理器601可以通过总线603连接。
195.本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本技术前述任一实施例中的所述的方法。
196.本技术实施例还提供了一种运行指令的芯片,该芯片用于执行如本技术前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
197.本技术实施例还提供了一种计算机程序产品,该程序产品包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如本技术前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
198.本技术的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
199.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
200.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
201.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
202.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的部分步骤。
203.应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
204.存储器可能包含高速随机存取存储器(random access memory,简称ram),也可能还包括非不稳定的存储器(non-volatile memory,简称nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
205.总线可以是工业标准体系结构(industry standard architecture,简称isa)总线、外部设备互连(peripheral component interconnect,简称pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
206.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
207.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
208.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1