一种会话共享方法、装置及相关设备与流程
未命名
09-24
阅读:96
评论:0

1.本技术涉及计算机技术领域,具体涉及一种会话共享方法、装置及相关设备。
背景技术:
2.在spark处理引擎下进行业务代码开发时,会遭遇spark处理引擎的原生功能不支持部分业务需求的问题,为解决该问题,相关技术会才采用硬编码的方式,在spark处理引擎中嵌入自定义功能(也称拓展功能),也即对spark处理引擎进行功能拓展,以满足spark处理引擎的原生功能不支持部分业务需求。
3.在实际业务需求应用中发现,大部分情况下既需要使用spark处理引擎中的原生功能,还需要使用拓展功能,此情况下,spark处理引擎中会通过启动多个会话的方式,分别调用原生功能和拓展功能。由于每一会话运行前,都需执行会话启动步骤,上述会话启动步骤的执行过程较为耗时,因此在一定程度上阻碍了业务代码开发效率的进一步提升。
技术实现要素:
4.本技术实施例的目的在于提供一种会话共享方法、装置及相关设备,用于解决相关技术在spark处理引擎下进行业务代码开发时存在的开发效率低的问题。
5.第一方面,本技术实施例提供一种会话共享方法,包括:
6.获取目标会话,其中,所述目标会话为述spark处理引擎中处于空闲状态的会话;
7.响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份;
8.根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。
9.可选的,所述目标业务为拓展业务或标准业务;
10.其中,所述标准业务为所述spark处理引擎的原生功能对应的业务,所述拓展业务为所述spark处理引擎的拓展功能对应的业务。
11.可选的,所述根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务,包括:
12.在获取到鉴权请求的情况下,将所述目标会话的身份由所述目标身份更新为与所述目标会话对应的原始身份;
13.根据所述原始身份执行所述鉴权请求对应的鉴权任务;
14.在所述鉴权任务执行完成后,将所述目标会话的身份由所述原始身份更新为所述目标身份。
15.可选的,所述获取目标会话之后,所述方法还包括:
16.获取所述目标会话的等待时间;
17.在所述等待时间大于或等于时间阈值的情况下,注销所述目标会话。
18.可选的,所述方法还包括:
19.在接收到所述目标业务请求,且不存在所述目标会话的情况下,根据所述目标身
份,新建业务会话;
20.根据所述业务会话执行所述目标业务。
21.可选的,所述将目标会话的当前身份更新为与所述目标业务请求对应的目标身份,包括:
22.将所述目标会话的当前身份对应的n个业务角色更新为所述目标身份对应的m个业务角色,n和m均为大于或等于1的整数。
23.可选的,所述将目标会话的当前身份更新为与所述目标业务请求对应的目标身份,包括:
24.在所述目标会话的当前身份和所述目标身份不相同的情况下,将所述目标会话的身份由所述当前身份更新为所述目标身份。
25.第二方面,本技术实施例提供一种会话共享装置,应用于spark处理引擎中,包括:
26.会话获取模块,用于获取目标会话,其中,所述目标会话为所述spark处理引擎中处于空闲状态的会话;
27.请求响应模块,用于响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份;
28.会话执行模块,用于根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。
29.可选的,所述目标业务为拓展业务或标准业务;
30.其中,所述标准业务为所述spark处理引擎的原生功能对应的业务,所述拓展业务为所述spark处理引擎的拓展功能对应的业务。
31.可选的,所述会话执行模块包括:
32.第一鉴权子模块,用于在获取到鉴权请求的情况下,将所述目标会话的身份由所述目标身份更新为与所述目标会话对应的原始身份;
33.第二鉴权子模块,用于根据所述原始身份执行所述鉴权请求对应的鉴权任务;
34.第三鉴权子模块,用于在所述鉴权任务执行完成后,将所述目标会话的身份由所述原始身份更新为所述目标身份。
35.可选的,所述会话共享装置还包括:
36.计时模块,用于获取所述目标会话的等待时间,在所述等待时间大于或等于时间阈值的情况下,注销所述目标会话。
37.可选的,所述会话共享装置还包括:
38.会话创建模块,用于在接收到所述目标业务请求,且不存在所述目标会话的情况下,根据所述目标身份,新建业务会话;
39.所述会话执行模块还用于,根据所述业务会话执行所述目标业务。
40.可选的,所述请求响应模块包括:
41.角色更新子模块,用于将所述目标会话的当前身份对应的n个业务角色更新为所述目标身份对应的m个业务角色,n和m均为大于或等于1的整数。
42.可选的,所述请求响应模块包括:
43.第一更新子模块,用于在所述目标会话的当前身份和所述目标身份不相同的情况下,将所述目标会话的身份由所述当前身份更新为所述目标身份。
44.第三方面,本技术实施例提供一种电子设备,包括:
45.处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上第一方面所述的会话共享方法中的步骤。
46.第四方面,本技术实施例提供一种可读存储介质,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如上第一方面所述的会话共享方法中的步骤。
47.在本技术实施例中,通过获取spark处理引擎中处于空闲状态的会话,并在响应目标业务请求时,将目标会话的当前身份更新为目标业务请求对应的目标身份的方式,以跳过会话启动步骤,减少会话的启动次数,实现会话的一次启动多次使用,缩短等待会话启动时间,提高业务代码的开发效率。
附图说明
48.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1是本技术实施例提供的一种会话共享方法的流程示意图;
50.图2是本技术实施例提供的一种身份切换操作的时序图;
51.图3是本技术实施例提供的另一种身份切换操作的时序图;
52.图4是本技术实施例提供的又一种身份切换操作的时序图;
53.图5是本技术实施例提供的一种会话共享装置的结构示意图;
54.图6是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
55.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本技术保护的范围。
56.请参阅图1,图1是本技术实施例提供的会话共享方法的流程示意图,如图1所示,该会话共享方法应用于spark处理引擎,该会话共享方法包括:
57.步骤101、获取目标会话。
58.其中,所述目标会话(session)为spark处理引擎中处于空闲状态的会话。
59.步骤102、响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份。
60.在spark处理引擎中,通过获取处于空闲状态的会话,并在响应目标业务请求时,将目标会话的当前身份更新为目标业务请求对应的目标身份的方式,以跳过会话启动步骤,缩短等待会话启动时间。
61.需要指出的是,前述目标会话可以理解为执行了会话启动步骤的会话;也可以理解为跳过了会话启动步骤的会话。
62.示例性的,设定会话1为通过会话启动流程生成的会话,会话2为复用会话1的会话,会话3为复用会话2的会话,也即会话1为执行了会话启动步骤的会话,会话2和会话3均为跳过了会话启动步骤的会话,在该示例中,前述目标会话可以为会话1,也可以为会话2,还可以为会话3,本技术实施例对此并不加以限定。
63.步骤103、根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。
64.如上所述,通过获取spark处理引擎中处于空闲状态的会话,并在响应目标业务请求时,将目标会话的当前身份更新为目标业务请求对应的目标身份的方式,以跳过会话启动步骤,减少会话的启动次数,实现会话的一次启动多次使用,缩短等待会话启动时间,提高业务代码的开发效率。
65.可选的,所述目标业务为拓展业务或标准业务;
66.其中,所述标准业务为所述spark处理引擎的原生功能对应的业务,所述拓展业务为所述spark处理引擎的拓展功能对应的业务。
67.由于spark处理引擎所提供方法无法完全覆盖实际的业务需求,因此,本技术实施例会采用面向切面编程(aspect oriented programming,aop),基于java agent(代理)对spark处理引擎进行外围扩展,以使所构建的业务代码在充分覆盖实际的业务需求的前提下,不侵入spark处理引擎的原生代码,令业务代码可随spark处理引擎的升级而升级,从而达到降低业务代码后期的代码维护难度的效果。
68.在该实施方式中,spark处理引擎的拓展功能可以理解为,在spark处理引擎的原生功能无法实现特定业务需求的情况下,开发人员基于前述特定业务需求适应性创建的自定义功能,且该自定义功能以aop设置在spark处理引擎上。也就是说,标准业务和拓展业务为相互独立的两类业务。
69.举例来说,若设定spark处理引擎所提供方法仅支持业务1和业务2,实际业务需求要求业务代码支持业务1和业务3,则在业务代码开发过程中,可通过应用spark处理引擎的方式,省去业务1的代码开发工作,并基于aop的方式对spark处理引擎进行外围扩展,形成一个用于执行业务3的代码体,以使业务代码满足实际业务需求,此时,业务1即可理解为标准业务,业务3即可理解为拓展业务。
70.前述目标会话可以为用于实现拓展业务的会话,也可以为用于实现标准业务的会话,本技术实施例对此并不加以限定。
71.需要说明的是,在目标业务为拓展业务的情况下,目标业务请求会以切面标记的形式存在,其中,切面标记可理解为用于指示切面的标识符,其用于指引程序在切面处执行外围扩展的功能。
72.可选的,所述根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务,包括:
73.在获取到鉴权请求的情况下,将所述目标会话的身份由所述目标身份更新为与所述目标会话对应的原始身份;
74.根据所述原始身份执行所述鉴权请求对应的鉴权任务;
75.在所述鉴权任务执行完成后,将所述目标会话的身份由所述原始身份更新为所述目标身份。
76.spark处理引擎存在有鉴权机制,也即身份验证机制,且该鉴权机制通过鉴权线程中的鉴权任务实现,所述鉴权任务通过预设置的定时器周期性执行,在定时器触发时,会生成鉴权请求,以验证所述目标会话当前的身份是否为与所述目标会话对应的原始身份。前述目标会话可以理解为执行了会话启动步骤的会话,也可以理解为跳过了会话启动步骤的会话。
77.需要强调的是,在前述目标会话为执行了会话启动步骤的会话时,与所述目标会话对应的原始身份应理解为所述目标会话在会话启动步骤中的身份;而在前述目标会话为跳过了会话启动步骤的会话时,与所述目标对应的原始身份应理解为所述目标会话对应的初始会话在会话启动步骤中的身份,其中,所述初始会话为执行了会话启动步骤的会话。
78.举例来说,设定会话1为通过会话启动流程生成的会话,会话2为复用会话1的会话,会话3为复用会话2的会话,会话1在会话启动步骤中的身份为第一身份,会话1执行阶段的身份也为第一身份,会话2执行阶段的身份为第二身份,会话3执行阶段的身份为第三身份,此时,会话1既为会话2对应的初始会话,也为会话3对应的初始会话,若所述目标会话为会话1,则与所述目标会话对应的原始身份为所述第一身份;若所述目标会话为会话2或会话3,则与所述目标会话对应的原始身份仍为所述第一身份。
79.如上,本实施方式通过保留所述原始身份的方式,以避免鉴权任务执行失败导致目标会话被注销的情况,具体通过所述目标会话的身份由所述目标身份更新为所述原始身份,并基于所述目标会话通过所述鉴权请求对应的鉴权任务,以通过鉴权机制对应的鉴权任务,维系目标会话的存在,保障目标会话的顺利执行。
80.可选的,所述获取目标会话之后,所述方法还包括:
81.获取所述目标会话的等待时间;
82.在所述等待时间大于或等于时间阈值的情况下,注销所述目标会话。
83.如上,在一些实施方式中,通过时间阈值的设置,避免处于空闲状态的会话无限制留存的情况,也即通过注销目标会话的方式,对等待时间过长的目标会话所占用资源进行回收,降低系统开销,提升系统整体的资源利用率。
84.需要说明的是,在等待时间小于所述时间阈值的情况下,若获取到目标业务请求,则可参见前述步骤102所述流程,对所述目标业务请求进行响应。
85.可选的,所述方法还包括:
86.在接收到所述目标业务请求,且不存在所述目标会话的情况下,根据所述目标身份,新建业务会话;
87.根据所述业务会话执行所述目标业务。
88.在一些实施方式中,针对目标会话不存在的情况(例如,系统初阶段不存在已启动会话的情况,或者,在系统运行阶段,目标会话因等待时间过长而被注销的情况),若接收到目标业务请求,则可以根据所述目标身份执行会话启动步骤,以完成业务会话的新建动作,此时所获得业务会话为原生类型的会话。
89.如上,通过配置接收到所述目标业务请求,且不存在所述目标会话情况下的业务会话新建流程,以保障会话管理逻辑的完整性,确保程序的稳定运行。
90.可选的,所述将目标会话的当前身份更新为与所述目标业务请求对应的目标身份,包括:
91.将所述目标会话的当前身份对应的n个业务角色更新为所述目标身份对应的m个业务角色,n和m均为大于或等于1的整数。
92.需要说明的是,在spark处理引擎下,每一会话的执行均依赖多个业务角色的相互配合,spark处理引擎下的业务角色包括业务调度角色(driver)和业务执行角色(executor)两类。
93.在将所述目标会话的身份由所述当前身份切换为目标身份时,通过将所述当前身份对应的n个业务角色切换为所述目标身份对应的m个业务角色,以实现避免身份切换不完全的问题,规避目标会话被执行错误或执行失败的情况,保障目标会话在执行过程中的会话稳定性。
94.n和m的数值可以相同,也可以不同,本技术实施例对此并不加以限定,示例性的,设定第一身份对应第一角色集合,所述第一角色集合包括业务调度角色a1和业务执行角色b1(此时n=2),第二身份对应第二角色集合,所述第二角色集合包括业务调度角色a2、业务执行角色b2以及业务执行角色b3(此时m=3),则将所述目标会话的身份由所述当前身份切换为目标身份可理解为,将所述目标会话的身份对应的角色集合由所述第一角色集合切换为所述第二角色集合。
95.可选的,所述将目标会话的当前身份更新为与所述目标业务请求对应的目标身份,包括:
96.在所述目标会话的当前身份和所述目标身份不相同的情况下,将所述目标会话的身份由所述当前身份更新为所述目标身份。
97.如上,在一些实施方式中,在获取所述目标身份以后,可以对所述当前身份和所述目标身份进行一致性检验,并在所述当前身份和所述目标身份不相同的情况下,执行身份更新操作;而在所述当前身份和所述目标身份相同的情况下,则跳过身份更新操作对应的步骤,直接进行目标会话的执行,以此来减少系统开销(一致性校验对应的系统开销小于身份更新操作对应的系统开销),提高系统资源利用率。
98.为方便理解,示例说明如下:
99.如图2所示,在会话启动步骤执行过程中,wapper组件会向server组件发出会话(session)启动请求,以使server组件通知spark处理引擎的相关组件加载配置环境,待配置环境加载完成后(也即spark会话环境启动完成后),server组件向wapper组件反馈启动完成的消息。
100.在spark会话环境启动完成后,wapper组件会向server组件发送当前会话环境所对应的身份信息keytab(也即前述原始身份),以使server组件将该keytab发送给spark处理引擎进行存储,并在每一新的进程(可理解为会话)基于spark会话环境启动后,都对该keytab进行复制并保存,以应对spark会话环境的鉴权机制。
101.如图3所示,在读写hdfs的过程中,wapper组件会向server组件发送读写hdfs的请求,以使server组件应用spark环境以及预设的filesystem.get切面进行hdfs读写操作,这其中,在获取filesystem对象以后,会对所述目标身份和所述当前身份进行一致性检查,若两者身份一致,则跳过身份切换步骤,仍旧使用所述当前身份作为新的进程的身份,并执行hdfs读写操作;若两者身份不一致,则利用所述目标身份来替换所述当前身份,并以所述目标身份作为新的进程的身份(也即图2中所提及的,身份不一致则重新认证的过程)。
102.在加载hive和jdbc数据的过程中,wapper组件会向server组件发送加载hive和jdbc数据的请求,以使server组件应用spark环境以及预设的dataframereader.load切面(对应driver角色)和taskrunning.run切面(对应executor角色)进行hive和jdbc数据加载,这其中,同样涉及身份认证过程,即在当前身份和目标身份一致的情况下,仍旧使用当前身份作为新的进程的身份;而在当前身份和目标身份不一致的情况下,使用目标身份作为新的进程的身份。需要说明的是,在利用目标身份替换当前身份的过程中,若当前身份和目标身份均对应多个executor角色,则需要应用目标身份对应的多个executor角色对当前身份对应的多个executor角色进行全量替换,以避免角色异常导致进程被关闭的情况。
103.如图4所示,在yarn的身份认证过程中,或者,在executor角色和driver角色的通信认证过程中,可以通过spark会话环境启动后保存的keytab(即原始身份)来替换当前线程中的目标身份,以避免spark异常结束。
104.请参阅图5,图5是本技术实施例提供的一种会话共享装置500,包括:
105.会话获取模块501,用于获取目标会话,其中,所述目标会话为spark处理引擎中处于空闲状态的会话;
106.请求响应模块502,用于响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份;
107.会话执行模块503,用于根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。
108.可选的,所述目标业务为拓展业务或标准业务;
109.其中,所述标准业务为所述spark处理引擎的原生功能对应的业务,所述拓展业务为所述spark处理引擎的拓展功能对应的业务。
110.可选的,所述会话执行模块503包括:
111.第一鉴权子模块,用于在获取到鉴权请求的情况下,将所述目标会话的身份由所述目标身份更新为与所述目标会话对应的原始身份;
112.第二鉴权子模块,用于根据所述原始身份执行所述鉴权请求对应的鉴权任务;
113.第三鉴权子模块,用于在所述鉴权任务执行完成后,将所述目标会话的身份由所述原始身份更新为所述目标身份。
114.可选的,所述会话共享装置还包括:
115.计时模块,用于获取所述目标会话的等待时间,在所述等待时间大于或等于时间阈值的情况下,注销所述目标会话。
116.可选的,所述会话共享装置还包括:
117.会话创建模块,用于在接收到所述目标业务请求,且不存在所述目标会话的情况下,根据所述目标身份,新建业务会话;
118.所述会话执行模块503还用于,根据所述业务会话执行所述目标业务。
119.可选的,所述请求响应模块502包括:
120.角色更新子模块,用于将所述目标会话的当前身份对应的n个业务角色更新为所述目标身份对应的m个业务角色,n和m均为大于或等于1的整数。
121.可选的,所述请求响应模块502包括:
122.第一更新子模块,用于在所述目标会话的当前身份和所述目标身份不相同的情况
下,将所述目标会话的身份由所述当前身份更新为所述目标身份。
123.需要说明的是,本技术实施例中的会话共享装置300可以是装置,也可以是电子设备中的部件、集成电路或芯片。
124.所述会话共享装置500能够实现本技术实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
125.请参见图6,图6是本技术实施例提供的一种电子设备的结构示意图,如图6所示,电子设备包括:可以包括处理器601、存储器602及存储在存储器602上并可在处理器601上运行的程序6021。
126.程序6021被处理器601执行时可实现图1对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
127.本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。
128.本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
129.本技术实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
130.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
131.存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
132.可以以一种或多种程序设计语言或其组合来编写用于执行本技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
133.以上所述是本技术实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种会话共享方法,其特征在于,应用于spark处理引擎中,所述方法包括:获取目标会话,其中,所述目标会话为所述spark处理引擎中处于空闲状态的会话;响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份;根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。2.根据权利要求1所述的方法,其特征在于,所述目标业务为拓展业务或标准业务;其中,所述标准业务为所述spark处理引擎的原生功能对应的业务,所述拓展业务为所述spark处理引擎的拓展功能对应的业务。3.根据权利要求1所述的方法,其特征在于,所述根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务,包括:在获取到鉴权请求的情况下,将所述目标会话的身份由所述目标身份更新为与所述目标会话对应的原始身份;根据所述原始身份执行所述鉴权请求对应的鉴权任务;在所述鉴权任务执行完成后,将所述目标会话的身份由所述原始身份更新为所述目标身份。4.根据权利要求1所述的方法,其特征在于,所述获取目标会话之后,所述方法还包括:获取所述目标会话的等待时间;在所述等待时间大于或等于时间阈值的情况下,注销所述目标会话。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到所述目标业务请求,且不存在所述目标会话的情况下,根据所述目标身份,新建业务会话;根据所述业务会话执行所述目标业务。6.根据权利要求1所述的方法,其特征在于,所述将目标会话的当前身份更新为与所述目标业务请求对应的目标身份,包括:将所述目标会话的当前身份对应的n个业务角色更新为所述目标身份对应的m个业务角色,n和m均为大于或等于1的整数。7.根据权利要求1所述的方法,其特征在于,所述将目标会话的当前身份更新为与所述目标业务请求对应的目标身份,包括:在所述目标会话的当前身份和所述目标身份不相同的情况下,将所述目标会话的身份由所述当前身份更新为所述目标身份。8.一种会话共享装置,其特征在于,应用于spark处理引擎中,包括:会话获取模块,用于获取目标会话,其中,所述目标会话为所述spark处理引擎中处于空闲状态的会话;请求响应模块,用于响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份;会话执行模块,用于根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。9.一种电子设备,包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述程序或指令被所述处理器执行时实现如权利要求1至7
中任一项所述的会话共享方法中的步骤。10.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的会话共享方法中的步骤。
技术总结
本申请提供一种会话共享方法、装置及相关设备,其中,所述方法包括:获取目标会话,其中,所述目标会话为spark处理引擎中处于空闲状态的会话;响应于目标业务请求,将目标会话的当前身份更新为与所述目标业务请求对应的目标身份;根据身份更新后的所述目标会话执行所述目标业务请求指示的目标业务。在本申请实施例中,通过获取spark处理引擎中处于空闲状态的会话,并在响应目标业务请求时,将目标会话的当前身份更新为目标业务请求对应的目标身份的方式,以跳过会话启动步骤,减少会话的启动次数,实现会话的一次启动多次使用,缩短等待会话启动时间,提高业务代码的开发效率。提高业务代码的开发效率。提高业务代码的开发效率。
技术研发人员:李维 李学峰 方磊
受保护的技术使用者:北京九章云极科技有限公司
技术研发日:2022.09.30
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种网络防护系统、方法及存储介质与流程 下一篇:电梯的主绳索固定装置的制作方法