一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种会话数据处理方法、装置、存储介质和计算机设备与流程

2021-11-15 16:34:00 来源:中国专利 TAG:

一种会话数据处理方法、装置、存储介质和计算机设备
【技术领域】
1.本发明涉及设计业务支撑和数据业务领域,具体地涉及一种会话数据处理方法、装置、存储介质和计算机设备。


背景技术:

2.随着业务规模和使用用户的不断发展和增加,业务应用需要相应的不断进行扩展,增加部署量。中间件或业务系统需要一个能够支撑高并发访问的、高性能的会话管理方案,来确保访问性能和实现业务线性扩展的能力。
3.在相关技术中,中间件/业务系统主要采用会话复制共享的技术来实现会话管理,一般是在集群环境下,多台应用服务器之间同步会话,使会话保持一致,对外透明。如果其中一台服务器发生故障,根据负载均衡的原理,web服务器会遍历寻找可用节点,分发请求,由于会话已同步,故能保证用户的会话信息不会丢失。然而在相关技术中,采用会话复制共享的技术会快速增加性能损失,且应用服务器存储多份会话数据,会造成内存增加,导致性能下降严重。


技术实现要素:

4.有鉴于此,本发明提供一种会话数据处理方法、装置、存储介质和计算机设备,通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。
5.一方面,本发明实施例提供了一种会话数据处理方法,包括:
6.接收web服务器发送的第一会话请求,并根据所述第一会话请求生成会话数据;
7.将所述会话数据存储至本地内存;
8.将所述会话数据发送至第一缓存设备,以使所述第一缓存设备存储所述会话数据,根据所述会话数据,生成缓存标识,并将所述会话数据以及所述缓存标识发送至web服务器,所述缓存标识包括第一缓存设备对应的设备标识以及所述会话数据对应的会话标识。
9.可选地,在所述将所述会话数据发送至第一缓存设备之后,还包括:
10.接收web服务器发送的第二会话请求,所述第二会话请求包括缓存标识和会话标识;
11.根据所述会话标识,从所述本地内存中获取所述会话标识对应的会话数据;
12.将所述会话标识对应的会话数据发送至web服务器。
13.可选地,在所述将所述会话数据发送至第一缓存设备之后,还包括:
14.接收web服务器发送的第二会话请求,所述第二会话请求包括缓存标识和会话标识;
15.根据所述会话标识和所述缓存标识,从所述缓存标识对应的缓存设备中获取所述会话标识对应的会话数据;
16.将所述会话标识对应的会话数据发送至web服务器。
17.可选地,在所述根据所述会话标识和所述缓存标识,从所述缓存标识对应的缓存设备中获取所述会话标识对应的会话数据,包括:
18.获取代理服务器列表;
19.从所述代理服务器列表中选取出第一代理服务器,并向所述第一代理服务器发送缓存命令,所述缓存命令中包括会话标识和缓存标识,以使所述第一代理服务器查询出所述缓存标识对应的缓存设备,并从所述对应的缓存设备中获取所述会话标识对应的会话数据。
20.可选地,在所述将所述会话数据发送至第一缓存设备之后,还包括:
21.若第一应用服务器处于停机状态时,将所述第二会话请求发送至第二应用服务器,所述第二会话请求中包括缓存标识以及会话标识,以使所述第二应用服务器根据缓存标识获取对应的设备标识,从所述设备标识对应的所述第一缓存设备中获取所述会话标识对应的会话数据,将所述会话标识对应的会话数据发送至web服务器,并将所述会话标识对应的会话数据存储至第二缓存设备。
22.可选地,在所述将所述会话标识对应的会话数据发送至web服务器之后,还包括:
23.若判断出获取的会话数据有更新,当所述第二会话请求结束时,将更新后的会话数据发送至对应的缓存设备。
24.另一方面,本发明实施例一共了一种会话数据处理系统,所述系统包括:web服务器、多个应用服务器以及多个缓存设备,其中,所述多个应用服务器至少包括第一应用服务器,所述多个缓存设备至少包括第一缓存设备;
25.web服务器用于向第一应用服务器发送的第一会话请求;
26.第一应用服务器用于根据所述第一会话请求生成会话数据;
27.所述第一应用服务器还用于将所述会话数据存储至本地内存;
28.所述第一应用服务器还用于将所述会话数据发送至第一缓存设备;
29.第一缓存设备用于存储所述会话数据;
30.所述第一缓存设备还用于根据所述会话数据,生成缓存标识,并将所述会话数据以及所述缓存标识发送至web服务器,所述缓存标识包括第一缓存设备对应的设备标识以及所述会话数据对应的会话标识。
31.另一方面,本发明实施例提供了一种会话数据处理装置,所述装置包括:
32.接收模块,用于接收web服务器发送的第一会话请求;
33.生成模块,用于根据所述第一会话请求生成会话数据;
34.存储模块,用于将所述会话数据存储至本地内存;
35.发送模块,用于将所述会话数据发送至第一缓存设备,以使所述第一缓存设备存储所述会话数据,根据所述会话数据,生成缓存标识,并将所述会话数据以及所述缓存标识发送至web服务器,所述缓存标识包括第一缓存设备对应的设备标识以及所述会话数据对应的会话标识。
36.另一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的会话数据处理方法。
37.另一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储
器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行上述的会话数据处理方法的步骤。
38.本发明实施例提供的技术方案中,接收web服务器发送的第一会话请求,并根据第一会话请求生成会话数据,将会话数据存储至本地内存,将会话数据发送至第一缓存设备,以使第一缓存设备存储会话数据,根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识,通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。
【附图说明】
39.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
40.图1是本发明一实施例所提供的一种会话数据处理系统的架构图;
41.图2是本发明一实施例所提供的一种会话数据处理方法的流程图;
42.图3是本发明又一实施例所提供的一种会话数据处理方法的流程图;
43.图4是本发明一实施例所提供的一种会话数据处理装置的结构示意图;
44.图5为本发明实施例提供的一种计算机设备的示意图。
【具体实施方式】
45.为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
46.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
47.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
48.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
49.图1为本发明一实施例提供的一种会话数据处理系统的架构图,如图1所示,该系统100包括:web服务器1、多个应用服务器2、多个代理服务器3以及多个缓存设备4,其中,多个应用服务器2至少包括第一应用服务器21和第二应用服务器22,多个代理服务器至少包括第一代理服务器31,多个缓存设备4至少包括第一缓存设备41和第一缓存设备42。
50.web服务器1用于向第一应用服务器21发送的第一会话请求。
51.第一应用服务器21用于根据第一会话请求生成会话数据。
52.第一应用服务器21还用于将会话数据存储至本地内存。
53.第一应用服务器21还用于将会话数据发送至第一缓存设备41。
54.第一缓存设备41用于存储会话数据。
55.第一缓存设备41还用于根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器1,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识。
56.第一应用服务器21还用于接收web服务器发送的第二会话请求,第二会话请求包括缓存标识和会话标识;根据会话标识,从本地内存中获取会话标识对应的会话数据;将会话标识对应的会话数据发送至web服务器1。
57.第一应用服务器21还用于接收web服务器1发送的第二会话请求,第二会话请求包括缓存标识和会话标识;根据会话标识和缓存标识,从缓存标识对应的缓存设备中获取会话标识对应的会话数据;将会话标识对应的会话数据发送至web服务器1。
58.第一应用服务器21具体用于获取代理服务器列表;从代理服务器列表中选取出第一代理服务器,并向第一代理服务器发送缓存命令,缓存命令中包括会话标识和缓存标识,以使第一代理服务器查询出缓存标识对应的缓存设备,并从对应的缓存设备中获取会话标识对应的会话数据。
59.第一应用服务器21还用于若第一应用服务器21处于停机状态时,将第二会话请求发送至第二应用服务器22,第二会话请求中包括缓存标识以及会话标识。
60.第二应用服务器22用于根据缓存标识获取对应的设备标识,从设备标识对应的第一缓存设备41中获取会话标识对应的会话数据,将会话标识对应的会话数据发送至web服务器,并将会话标识对应的会话数据存储至第二缓存设备42。
61.第一应用服务器21还用于若判断出获取的会话数据有更新,当第二会话请求结束时,将更新后的会话数据发送至对应的缓存设备。
62.在本发明实施例中,通过上述的系统架构,第一应用服务器接收第一会话请求时将会话数据保存在对应的缓存设备中,当第一应用服务器发生故障时,web服务器向第二应用服务器分发第二会话请求,当第二应用服务器发现会话数据不在本地内存时,则去缓存设备中查找,若找到对应的会话数据则复制到第二应用服务器,从而实现通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。下面结合图2和图3,对会话数据处理方法的过程进行详细的说明。
63.图2为本发明一实施例提供的一种会话数据处理方法的流程图,如图2所示,该方法包括:
64.步骤101、接收web服务器发送的第一会话请求,并根据第一会话请求生成会话数据。
65.步骤102、将会话数据存储至本地内存。
66.步骤103、将会话数据发送至第一缓存设备,以使第一缓存设备存储会话数据,根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识。
67.本发明实施例提供的技术方案中,接收web服务器发送的第一会话请求,并根据第一会话请求生成会话数据,将会话数据存储至本地内存,将会话数据发送至第一缓存设备,
以使第一缓存设备存储会话数据,根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识,通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。
68.图3为本发明又一实施例提供的一种会话数据处理方法的流程图,如图3所示,该方法包括:
69.步骤201、第一应用服务器接收web服务器发送的第一会话请求,并根据第一会话请求生成会话数据。
70.本发明实施例中,第一会话请求包括首次会话请求,即第一应用服务器第一次接收到web服务器发送的会话请求。
71.步骤202、第一应用服务器将会话数据存储至本地内存。
72.本发明实施例中,本地内存包括第一应用服务器所对应的内存,通过第一应用服务器将会话数据存储至本地内存,以便于下次接收到会话请求时,能够从本地内存中快速获取会话数据,从而提高会话数据处理的效率。
73.步骤203、第一应用服务器将会话数据发送至第一缓存设备,以使第一缓存设备存储会话数据,根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识。
74.本发明实施例中,通过将会话数据发送至第一缓存设备,以使第一缓存设备存储会话数据,通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器在本地内存中存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。
75.通过根据会话数据,生成缓存标识,以便于下次接收到会话请求,且第一应用服务器故障时,其他应用服务器能够根据该缓存标识能够快速获取会话数据所在的缓存设备,快速获取到对应的会话数据,从而提高会话数据处理的效率。需要说明的是,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识,通常缓存标识的格式为<session id> <redis id>,其中,session id用于指示会话数据对应的会话标识,redis id用于指示第一缓存设备对应的设备标识。
76.步骤204、第一应用服务器接收web服务器发送的第二会话请求,第二会话请求包括缓存标识和会话标识。
77.本发明实施例中,第二会话请求包括重复会话请求,即第一应用服务器第二次及以上次数接收到web服务器发送的会话请求。
78.步骤205、第一应用服务器根据会话标识和缓存标识,从缓存标识对应的缓存设备中获取会话标识对应的会话数据,并将会话标识对应的会话数据发送至web服务器。
79.本发明实施例中,在步骤205中“根据会话标识和缓存标识,从缓存标识对应的缓存设备中获取会话标识对应的会话数据”的执行过程可具体包括:
80.步骤2051、第一应用服务器获取代理服务器列表。
81.步骤2052、第一应用服务器从代理服务器列表中选取出第一代理服务器,并向第一代理服务器发送缓存命令,缓存命令中包括会话标识和缓存标识,以使第一代理服务器查询出缓存标识对应的缓存设备,并从对应的缓存设备中获取会话标识对应的会话数据。
82.本发明实施例中,通过建立代理服务器列表,使得缓存设备发生故障时,代理服务器列表中的代理服务器能够将缓存命令发送至其他的缓存设备,从而获取会话数据为web服务器提供服务。
83.本发明实施例中,进一步地,该方法还包括:通过哈希算法,根据会话标识计算出会话标识对应的分片值,且代理服务器列表中存储分片值与缓存设备的对应关系。
84.在一个可选方案中,如下表1所示,第一应用服务器将多个会话数据划分在1024个分片中,其中,0-511分片存储到第一缓存设备,512-1023分片存储到第二缓存设备,第一缓存设备与第二缓存设备所存储的分片数量相同。例如,通过哈希算法计算出会话标识对应的分片值为10时,则能够确定出该会话数据存储在第一缓存设备。
85.表1
86.第一缓存设备第二缓存设备0-511512-1023
87.因此,步骤2052中“第一代理服务器查询出缓存标识对应的缓存设备”的执行过程可具体包括:第一代理服务器根据会话标识对应的分片值以及分片值与缓存设备的对应关系,多个缓存设备中确定出分片值对应的会话数据所存储的缓存设备。
88.需要说明的是,本发明实施例中的缓存设备和代理服务器不是静态配置,而是通过存储服务动态获取,轻松实现缓存设备和代理服务器的水平扩容。
89.本发明实施例中,进一步地,该方法还包括:对多个缓存设备进行扩容。
90.具体地,以上表1为例,在表1的基础上增加第三缓存设备,为了实现均衡分片,通过管理命令将341-511,512-680分片迁移到第三缓存设备上。最后的分片布局如下表2所示:
91.表2
92.第一缓存设备第二缓存设备第三缓存设备0-340681-1023341-680
93.通过执行上表2的分片布局,341-680分片对应的会话数据就会存储到第三缓存设备上,而后续该分片对应的会话请求就会转发到第三缓存设备上。需要说明的是每个缓存设备所存储的分片数量相同。
94.本发明实施例中,进一步地,该方法还包括:对多个缓存设备进行缩容。
95.具体地,对多个缓存设备进行缩容与对多个缓存设备进行扩容相反,以上表2为例,将341-680分片段的数据,分别迁移到第一缓存设备,第二缓存设备,并移除第三缓存设备。最后的分片布局如上表1所示。
96.本发明实施例中,进一步地,该方法还包括:将缓存设备划分为主缓存设备和辅缓存设备,且主缓存设备和辅缓存设备所存储的会话数据相同。
97.例如,以第一缓存设备为例,第一缓存设备包括第一主缓存设备和第一辅缓存设备。通过将缓存设备划分为主缓存设备和辅缓存设备,以便于当主缓存设备故障时,应用服务器能够从辅缓存设备中获取会话数据,从而进一步提高了会话数据的处理效率。
98.可选地,步骤205还可以包括:第一应用服务器根据会话标识,从本地内存中获取会话标识对应的会话数据,并将会话标识对应的会话数据发送至web服务器。
99.本发明实施例中,通过执行步骤202已将会话数据存储至第一应用服务器的本地
内存中,因此第一应用服务器能够根据会话标识,从对应的本地内存中快速获取会话标识对应的会话数据,从而提高会话数据处理的效率。
100.本发明实施例中,在步骤205之后,还包括:第一应用服务器或者第二应用服务器若判断出获取的会话数据有更新,当第二会话请求结束时,将更新后的会话数据发送至对应的缓存设备。
101.本发明实施例中,通过将更新后的会话数据发送至对应的缓存设备,从而能够减少应用服务器参与的数据复制和同步,避免了性能损失的问题,从而能够提高应用服务器的业务拓展能力,提高会话数据的处理效率。
102.步骤206、若第一应用服务器处于停机状态时,将第二会话请求发送至第二应用服务器,第二会话请求中包括缓存标识以及会话标识。
103.本发明实施例中,当第一应用服务器发生故障时,web服务器向第二应用服务器分发第二会话请求,以使通过第二应用服务器获取会话数据从而实现业务正常运作。需要说明的是,第二应用服务器可包括任意可用的节点服务器。第二应用服务器的查询方式可通过web服务器通过负载管理算法查询出的任意可用的节点服务器。
104.步骤207、第二应用服务器第二应用服务器根据缓存标识获取对应的设备标识。
105.本发明实施例中,在步骤203中缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识,因此可通过缓存标识获取对应的设备标识。
106.步骤208、第二应用服务器从设备标识对应的第一缓存设备中获取会话标识对应的会话数据。
107.本发明实施例中,由于第二应用服务器的本地内存并未存储有会话数据,因此第二应用服务器需要从设备标识对应的第一缓存设备中获取会话数据。通过第二应用服务器获取会话数据,以使得web服务器能根据获取的会话数据实现正常业务运作。
108.步骤209、第二应用服务器将会话标识对应的会话数据发送至web服务器,并将会话标识对应的会话数据存储至第二缓存设备。
109.本发明实施例中,通过执行步骤209,第二应用服务器并将会话标识对应的会话数据存储至第二缓存设备,从而通过采用缓存设备进行会话数据的管理,实现会话数据共享性和高可用性。
110.本发明实施例提供的技术方案中,接收web服务器发送的第一会话请求,并根据第一会话请求生成会话数据,将会话数据存储至本地内存,将会话数据发送至第一缓存设备,以使第一缓存设备存储会话数据,根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识,通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。
111.图4是本发明一实施例所提供的一种会话数据处理装置的结构示意图,如图4所示,该装置包括:接收模块51、生成模块52、存储模块53和发送模块54。
112.接收模块51用于接收web服务器发送的第一会话请求。
113.生成模块52用于根据所述第一会话请求生成会话数据。
114.存储模块53用于将所述会话数据存储至本地内存。
115.发送模块54用于将所述会话数据发送至第一缓存设备,以使所述第一缓存设备存
储所述会话数据,根据所述会话数据,生成缓存标识,并将所述会话数据以及所述缓存标识发送至web服务器,所述缓存标识包括第一缓存设备对应的设备标识以及所述会话数据对应的会话标识。
116.本发明实施例中,该装置还包括:获取模块55。
117.所述接收模块51还用于接收web服务器发送的第二会话请求,所述第二会话请求包括缓存标识和会话标识。
118.获取模块55用于根据所述会话标识,从所述本地内存中获取所述会话标识对应的会话数据。
119.所述发送模块54还用于将所述会话标识对应的会话数据发送至web服务器。
120.本发明实施例中,该装置还包括:
121.所述接收模块51还用于接收web服务器发送的第二会话请求,所述第二会话请求包括缓存标识和会话标识。
122.所述获取模块55还用于根据所述会话标识和所述缓存标识,从所述缓存标识对应的缓存设备中获取所述会话标识对应的会话数据。
123.所述发送模块54还用于将所述会话标识对应的会话数据发送至web服务器。
124.本发明实施例中,该装置的获取模块55具体用于获取代理服务器列表;从所述代理服务器列表中选取出第一代理服务器,并向所述第一代理服务器发送缓存命令,所述缓存命令中包括会话标识和缓存标识,以使所述第一代理服务器查询出所述缓存标识对应的缓存设备,并从所述对应的缓存设备中获取所述会话标识对应的会话数据。
125.本发明实施例中,该装置还包括:所述发送模块54还用于若第一应用服务器处于停机状态时,将所述第二会话请求发送至第二应用服务器,所述第二会话请求中包括缓存标识以及会话标识,以使所述第二应用服务器根据缓存标识获取对应的设备标识,从所述设备标识对应的所述第一缓存设备中获取所述会话标识对应的会话数据,将所述会话标识对应的会话数据发送至web服务器,并将所述会话标识对应的会话数据存储至第二缓存设备。
126.本发明实施例中,该装置还包括:所述发送模块54还用于若判断出获取的会话数据有更新,当所述第二会话请求结束时,将更新后的会话数据发送至对应的缓存设备。
127.本发明实施例提供的技术方案中,接收web服务器发送的第一会话请求,并根据第一会话请求生成会话数据,将会话数据存储至本地内存,将会话数据发送至第一缓存设备,以使第一缓存设备存储会话数据,根据会话数据,生成缓存标识,并将会话数据以及缓存标识发送至web服务器,缓存标识包括第一缓存设备对应的设备标识以及会话数据对应的会话标识,通过采用缓存设备进行会话数据的管理,从而能够避免应用服务器存储多份会话数据导致造成内存增加,性能下降严重的问题,提高了会话数据的处理效率。
128.本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述会话数据处理方法的实施例的各步骤,具体描述可参见上述会话数据处理方法的实施例。
129.本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述会话数据处理方法的步骤。具体描述可参见上述会话数据处理方法的实施例。
only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
139.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献