数据交互方法、系统、装置、计算机设备和存储介质与流程

未命名 08-05 阅读:88 评论:0


1.本技术涉及数据传输技术领域,特别是涉及一种数据交互方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着人们对数据传输的安全性的要求越来越高,出现了内外网的数据交互方法。内外网能够在进行安全约定的前提下,实现内外网的数据交互。
3.目前,内外网的数据交互方法是信息外网中的代理服务器采用轮询的方式将用户请求发送到各应用服务器,应用服务器基于用户请求对信息的数据库服务器进行访问,并得到数据库服务器反馈的访问结果。
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.通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;
48.在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器。
49.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
50.获取分流后的用户请求流,对所述用户请求流中包含的多个用户请求进行排序,得到用户请求队列;
51.获取各应用服务器的属性数据集;所述各应用服务器为所述代理服务器对应的数据接收端服务器;
52.通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;
53.在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器。
54.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算
机程序,该计算机程序被处理器执行时实现以下步骤:
55.获取分流后的用户请求流,对所述用户请求流中包含的多个用户请求进行排序,得到用户请求队列;
56.获取各应用服务器的属性数据集;所述各应用服务器为所述代理服务器对应的数据接收端服务器;
57.通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;
58.在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器。
59.上述数据交互方法、装置、计算机设备、存储介质和计算机程序产品,获取分流后的用户请求流,对所述用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取各应用服务器的属性数据集;所述各应用服务器为所述代理服务器对应的数据接收端服务器;通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器。采用本方法,对多个用户请求进行排序,得到用户请求队列,防止用户请求丢失。基于应用服务器的负载率将用户请求队列中用户请求发送给应用服务器,实现了对应用服务器承接能力的考虑,避免应用服务器宕机。并且,避免了数据库服务器宕机。
附图说明
60.图1为一个实施例中数据交互方法的应用环境图;
61.图2为一个实施例中数据交互方法的流程示意图;
62.图3为一个实施例中得到负载率步骤的流程示意图;
63.图4为一个实施例中发送用户请求步骤的流程示意图;
64.图5为一个实施例中训练负载模型步骤的流程示意图;
65.图6为一个实施例中构建训练集步骤的流程示意图;
66.图7为另一个实施例中数据交互方法的流程示意图;
67.图8为另一个实施例中数据交互方法的应用环境图;
68.图9为一个实施例中数据交互装置的结构框图;
69.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
70.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。
71.本技术实施例提供的数据交互方法,可以应用于如图1所示的数据交互系统100中。在该应用环境中包括信息外网200和信息内网300。其中,信息外网200包括代理服务器210、应用服务器集群220和网关230。应用服务器集群220中包含多个应用服务器。代理服务器210和应用服务器220进行通信。应用服务器通过网关230访问信息内网300。信息内网300包括缓存数据库310、从数据库320和主数据库330。
72.在一个实施例中,如图2所示,提供了一种数据交互方法,以该方法应用于图1中的代理服务器210(以下简称代理服务器)为例进行说明,包括以下步骤:
73.步骤202,获取分流后的用户请求流,对用户请求流中包含的多个用户请求进行排序,得到用户请求队列。
74.在实施中,代理服务器中预先设置有队列。代理服务器接收各类终端发送的多个用户请求。然后,代理服务器根据用户请求的请求类型,对多个用户进行分流处理,得到分类后的不同请求类型的用户请求流。在得到分流后的用户请求流后,代理服务器按照接收时间由先到后的顺序对用户请求流中的用户请求进行排序,得到用户请求排序结果。然后,代理服务器将用户请求排序结果存储至队列中,得到用户请求队列。
75.在一个可选的实施例中,代理服务器中的队列为aq(advanced queues,高级队列),也可以为普通队列,本技术实施例对队列的形式不做限定。
76.步骤204,获取各应用服务器的属性数据集。
77.其中,各应用服务器为代理服务器对应的数据接收端服务器。
78.在实施中,代理服务器获取该代理服务器对应的多个应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据等数据。同时,代理服务器获取多个应用服务器的ip地址和物理地址。然后,代理服务器针对多个应用服务器中的每一应用服务器,根据该服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据,构建该服务器的属性数据集。
79.步骤206,通过预设的负载模型对各属性数据集进行数据处理,得到各属性数据集对应的应用服务器的负载率。
80.在实施中,代理服务器中预先设置有属性数据的数据格式和权重,并且代理服务器中还预先设置有负载模型。代理服务器根据预设的数据格式对各属性数据集进行归一化处理,得到各第三属性数据集。然后,代理服务器根据预设的属性数据的权重,对各第三属性数据集中每一属性数据集中包含的属性数据进行加权处理,得到各第四属性数据集。在得到各第四属性数据集之后,代理服务器将各第四属性数据集输入到负载模型中,得到各属性数据集对应的应用服务器的负载率。
81.步骤208,在各应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将用户请求队列中的用户请求发送给目标应用服务器。
82.在实施中,代理服务器中预先设置有负载率要求。代理服务器判断各应用服务器中每一应用服务器是否满足负载率要求。然后,代理服务器将满足负载率要求的应用服务器作为目标服务器。代理服务器按照用户请求队列的顺序,根据目标应用服务器的ip地址和物理地址,将用户请求队列中的用户请求发送给目标应用服务器。
83.在一个可选的实施例中,代理服务器中预先设置的负载率要求为应用服务器的负载率没有达到警戒阈值。代理服务器判断各应用服务器中每一应用服务器是否达到预设的警戒阈值。在应用服务器的负载率未达到警戒阈值的情况下,代理服务器将该应用服务器确认为目标应用服务器。在目标服务器的数量为0的情况下,代理服务器按照用户请求队列中用户请求由前到后的顺序,将用户请求发送给任意一个应用服务器。在目标服务器的数量不为0的情况下,代理服务器按照用户请求队列中用户请求由前到后的顺序,将用户请求发送给任意一个目标应用服务器。
84.本实施例中,对多个用户请求进行排序,得到用户请求队列,防止用户请求丢失。基于应用服务器的负载率将用户请求队列中用户请求发送给应用服务器,实现了对应用服务器承接能力的考虑,避免应用服务器宕机。并且,避免了数据库服务器宕机。
85.在一个实施例中,步骤202中的获取分流后的用户请求流的具体处理过程包括:
86.根据用户请求的请求类型,对多个用户请求进行分流处理,得到分流后不同请求类型的用户请求流。
87.其中,用户的请求类型包括第一请求类型和第二请求类型。
88.在实施中,代理服务器接收各类终端发送的用户请求,得到多个用户请求。然后,代理服务器根据用户请求的请求类型,对接收到的多个用户请求进行分流处理,得到第一请求类型的用户请求流和第二请求类型的用户请求流。
89.在一个可选的实施例中,第一请求类型为读请求,第二请求类型为写请求。代理服务器可以为nginx(一种代理服务器)。nginx接收各类终端发送的多个用户请求。然后,nginx根据用户请求的请求类型,将对多个用户请求进行分流,得到读请求的用户请求流和写请求的用户请求流。
90.可选的,代理服务器可以采用nginx,也可以采用haproxy,本技术实施例对代理服务器不做限定。
91.本实施例中,通过对用户请求进行分流处理,得到不同请求类型的用户请求流,便于后续应用服务器对对应请求类型的用户请求进行处理,减轻了应用服务器访问压力。
92.在一个实施例中,如图3所示,步骤206的具体处理过程包括:
93.步骤302,针对各属性数据集中的每一属性数据集,根据预设的数据格式,对属性数据集进行归一化处理,得到第三属性数据集。
94.在实施中,代理服务器中预先设置有数据格式的要求。代理服务器针对各属性数据集中的每一属性数据集,根据预设的数据格式的要求,对该属性数据集中的每一属性数据进行归一化处理,得到预设数据格式的第三属性数据集。
95.具体地,属性数据集中包含属性数据集对应的应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据。代理服务器中预先设置的数据格式为小数格式。代理服务器针对各属性数据集中的每一属性数据集,根据预设的数据格式,对该属性数据集中的处理器占有率数据、内存占有率数据和输入输出占有率数据进行归一化处理,得到小数格式的第三属性数据集。
96.步骤304,根据预设的权重,对第三属性数据集中的每一属性数据进行权重计算,得到第四属性数据集。
97.其中,第三属性数据集中第三属性数据的权重之和为1。
98.在实施中,代理服务器中预先设置有第三属性数据集中第三属性数据对应的权重。代理服务器针对第三属性数据集中的每一第三属性数据,根据预设的该第三属性数据对应的权重,对该第三属性数据进行权重计算,得到第四属性数据。然后,代理服务器根据多个第四属性数据,构建第四属性数据集。
99.在一个可选的实施例中,第三属性数据集中包含处理器占有率数据、内存占有率数据和输入输出占有率数据。代理服务器中预先设置的处理器占有率数据的权重为0.35,内存占有率数据的权重为0.35以及输入输出占有率数据的权重为0.3。代理服务器针对第
三属性数据集中的处理器占有率数据,对0.35和处理器占有率数据进行乘法运算,得到第四属性数据。然后,代理服务器针对第三属性数据集中的内存占有率数据,对0.35和内存占有率数据进行乘法运算,得到第四属性数据。针对第三属性数据集中的一种第三属性数据,例如,输入输出占有率数据,代理服务器根据权重0.3和输入输出占有率数据进行乘法运算,得到第四属性数据。在得到多个第三属性数据对应的第四属性数据之后,代理服务器根据多个第四属性数据,构建第四属性数据集。
100.可选的,处理器占有率数据的权重可以为0.35,内存占有率数据的权重可以为0.35以及输入输出占有率数据的权重可以为0.3。根据需求调整属性数据的权重。本技术实施例对权重的数值不做限定。
101.步骤306,将各第四属性数据集中的每一第四属性数据集输入到预设的负载模型中,负载模型对第四属性数据集进行卷积处理,得到第四属性数据集对应的应用服务器的负载率。
102.其中,应用服务器的负载率表征该应用服务器的综合负载情况。应用服务器的负载率越接近0,表征该应用服务器的综合负载率越低;应用服务器的负载率越接近1,表征该应用服务器的综合负载率越高。
103.在实施中,代理服务器中预先设置有负载模型,该负载模型为卷积神经网络。代理服务器针对各第四属性数据集中的每一第四属性数据集,将该第四属性数据集输入到预设的卷积神经网络中,通过卷积神经网络对第四属性数据集中的第四属性数据进行卷积处理,得到第四属性数据集对应的应用服务器的负载率。
104.在一个可选的实施例中,在将第四属性数据集输入负载模型之前,需要先构建该负载模型。其中,该负载模型包含输入层、2个全连接隐藏层和输出层。输入层包含3个神经元,每一神经元代表1个输入指标。每一全连接隐藏层包含16个神经元。输出层包含1个神经元。代理服务器将输入层、2个全连接隐藏层和输出层连接起来,得到卷积神经网络,即负载模型。
105.本实施例中,对属性数据集进行预处理,并将预处理后的第四属性数据集输入到负载模型中,通过负载模型对第四属性数据集进行卷积处理,得到第四属性数据集对应的应用服务器的负载率,明确了应用服务器的实时情况,便于后续基于应用服务器的负载率发送用户请求。
106.在一个实施例中,如图4所示,步骤208的具体处理过程包括:
107.步骤402,根据各应用服务器的负载率,对各应用服务器进行由大到小顺序排序,得到排序结果。
108.在实施中,代理服务器在得到各应用服务器的负载率之后,按照负载率由大到小的顺序,对各应用服务器进行顺序排序,得到排序结果。
109.步骤404,判断排序结果中数值最小的应用服务器的负载率是否达到预设的警戒阈值。
110.在实施中,代理服务器中预先设置有警戒阈值。代理服务器在排序结果中确定负载率数值最小的应用服务器为第一应用服务器。然后,代理服务区确定第一应用服务器的负载率是否达到预设的警戒阈值。
111.可选的,警戒阈值设置为90%,也可以设置为85%,根据应用服务器的属性确定,
本技术实施例对警戒阈值不做限定。
112.步骤406,在数值最小的应用服务器的负载率达到警戒阈值的情况下,将用户请求队列中的用户请求发送给各应用服务器中的任一目标应用服务器。
113.在实施中,代理服务器在第一应用服务器的负载率达到警戒阈值的情况下,代理服务器确定包含第一应用服务器的各应用服务器中的任意一个应用服务器为目标应用服务器。然后,代理服务器按照用户请求队列中的顺序,根据目标应用服务器的ip地址和物理地址,将用户请求队列中的用户请求发送给目标应用服务器。
114.在一个可选的实施例中,代理服务器中预先设置有热备阈值。代理服务器在发送用户请求的同时,判断数值最小的应用服务器是否达到热备阈值。在数值最小的应用服务器达到热备阈值的情况下,代理服务器使用docker(一个将应用程序及其依赖打包工具到服务器运行的工具)快速启动备份应用服务器。
115.步骤408,在数值最小的应用服务器的负载率未达到警戒阈值的情况下,将数值最小的应用服务器确定为目标服务器,并将用户请求队列中的用户请求发送给目标应用服务器。
116.在实施中,代理服务器在第一应用服务器的负载率未达到警戒阈值的情况下,代理服务器将第一应用服务器确定为目标应用服务器。然后,代理服务器按照用户请求队列中的顺序,将用户请求队列中的用户请求发送给目标应用服务器。
117.本实施例中,基于应用服务器的负载率将用户请求队列中用户请求发送给应用服务器,实现了对应用服务器承接能力的考虑,避免应用服务器宕机。并且,避免了数据库服务器宕机。
118.在一个实施例中,在将第四属性数据集输入负载模型之前,需要对初始负载模型进行训练,得到处理结果。在处理结果满足训练损失条件的情况下,得到训练完成的初始负载模型。并将该训练完成的初始负载模型作为负载模型。
119.如图5所示,在步骤206执行之前,该数据交互方法的具体处理过程还包括:
120.步骤502,获取训练集。
121.其中,训练集包含多个应用服务器的属性数据集。
122.在实施中,代理服务器中预先设置有循环训练模型。代理服务器基于该循环训练模型,获取多个应用服务器的属性数据集。然后,代理服务器根据预设的预处理算法,对多个属性数据集进行预处理,得到预处理后的多个属性数据集。然后,代理服务器基于预处理后的多个属性数据集,构建训练集。
123.步骤504,将训练集输入到预设的初始负载模型中,通过初始负载模型对训练集中的属性数据集进行卷积处理,得到属性数据集对应的处理结果。
124.在实施中,代理服务器中预先设置初始负载模型,该初始负载模型为初始卷积神经网络。代理服务器将训练集输入到预设的初始卷积神经网络中,通过初始卷积神经网络对训练集中的属性数据集进行卷积处理,得到处理结果。
125.步骤506,判断处理结果是否满足预设的训练损失条件,在处理结果满足训练损失条件的情况下,得到训练完成的初始负载模型,并将训练完成的初始负载模型作为负载模型。
126.其中,训练损失条件为处理结果中的损失函数值达到预设的损失阈值。损失函数
值为均方误差。
127.在实施中,代理服务器中预先设置有训练条件。代理服务器判断处理结果中的损失函数值是否达到预设的损失阈值。在处理结果中的损失函数值达到损失阈值的情况下,代理服务器确认该处理结果对应的初始负载模型为训练完成的初始负载模型。然后,代理服务器将训练完成的初始负载模型作为负载模型。
128.本实施例中,通过训练集对初始负载模型进行卷积处理,得到处理结果。并将满足训练条件的处理结果对应的初始负载模型作为负载模型,基于该负载模型得到负载率,提高了负载率的准确率。
129.在一个实施例中,如图6所示,步骤502的具体处理过程包括:
130.步骤602,获取多个应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据。
131.在实施中,代理服务器基于预设的循环训练模型,获取多个应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据。
132.步骤604,针对多个应用服务器中每一应用服务器,根据每一应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据,构建应用服务器的属性数据集。
133.在实施中,代理服务器针对多个应用服务器中的每一应用服务器,基于该应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据,构建该应用服务器的属性数据集。代理服务器得到多个应用服务器的属性数据集。
134.步骤606,根据预设的数据格式,对应用服务器的属性数据集中的每一属性数据进行归一化处理,得到应用服务器的第一属性数据集。
135.在实施中,代理服务器中预先设置有数据格式为小数格式。代理服务器针对各属性数据集中的每一属性数据集,根据预设的数据格式,对该属性数据集中的处理器占有率数据、内存占有率数据和输入输出占有率数据进行归一化处理,得到小数格式的第一属性数据集。
136.步骤608,根据预设的权重,对应用服务器的第一属性数据集中的每一属性数据进行权重计算,得到应用服务器的第二属性数据集。
137.在实施中,代理服务器中预先设置有第一属性数据的权重。代理服务器在针对应用服务器的第一属性数据集中的每一第一属性数据,对该第一属性数据对应的权重和该第一属性数据进行乘法运算,得到第二属性数据。然后,代理服务器基于多个第二属性数据,构建该应用服务器的第二属性数据集。
138.步骤610,根据多个应用服务器的第二属性数据集,构建训练集。
139.在实施中,代理服务器在得到多个应用服务器的第二属性数据集后,基于多个第二属性数据集,构建训练集。
140.本实施例中,通过构建各应用服务器的属性数据集,并对各应用服务器的属性数据集进行预处理,得到各第二属性数据集。基于各第二属性数据集构建训练集,便于后续基于训练集对负载模型进行训练。
141.在一个实施例中,如图1所示,提供了一种数据交互系统100包括:
142.代理服务器210,代理服务器用于获取分流后的用户请求流,对用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取各应用服务器的属性数据集;各应用服
务器为代理服务器对应的数据接收端服务器;通过预设的负载模型对各属性数据集进行数据处理,得到各属性数据集对应的应用服务器的负载率;在各应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将用户请求队列中的用户请求发送给目标应用服务器。
143.在实施中,代理服务器210的具体处理过程已经在步骤202至步骤610中进行详细描述,此处不再赘述。
144.目标应用服务器221,用于接收并处理用户请求。
145.其中,信息外网200中还包含应用服务器集群220和网关230。目标应用服务器221为应用服务器集群220中的应用服务器。应用服务器集群220中的每一应用服务器都与代理服务器210通信连接,且应用服务器集群220中的每一应用服务器都与网关230通信连接。
146.在实施中,目标应用服务器221接收代理服务器210发送的用户请求。在目标应用服务器221接收到用户请求之后,目标应用服务器221处理用户请求。目标应用服务器221通过网关230访问信息内网300。
147.本实施例中,代理服务器对多个用户请求进行排序,对多个用户请求进行排序,得到用户请求队列,防止用户请求丢失。基于应用服务器的负载率将用户请求队列中用户请求发送给应用服务器,实现了对应用服务器承接能力的考虑,避免应用服务器宕机。并且,避免了数据库服务器宕机。
148.在一个实施例中,信息内网中包含多个数据库服务器,每一数据库服务器都启动了热备。目标应用服务器221会基于用户请求,访问信息内网中的数据库服务器。如图1所示,该数据交互系统100还包括:
149.缓存数据库310,存储有多个高频数据,用于与第一类型的应用服务器进行数据交互,并响应于第一类型的用户请求,反馈目标高频数据。
150.其中,信息内网300中包含缓存数据库310。缓存数据库310中存储有多个高频数据。第一类型的用户请求为读请求。
151.在实施中,缓存数据库310与第一类型的应用服务器进行数据交互。第一类型的应用服务器基于第一类型的用户请求,通过网关230访问缓存数据库310。缓存数据库310响应于第一类型的用户请求,反馈目标高频数据。
152.从数据库320,为缓存数据库的下一查询层级,用于接收缓存数据库传递的第一类型的用户请求,响应第一类型的用户请求,反馈目标数据。
153.其中,信息内网300中包含从数据库320。从数据库320为缓存数据库310的下一查询层级。从数据库320中存储有多个数据。
154.在实施中,从数据库320接收缓存数据库310传递的第一类型的用户请求。从数据库320响应于第一类型的用户请求,反馈目标数据。
155.主数据库330,用于与第二类型的应用服务器进行数据交互,并响应于第二请求类型的用户请求,执行数据处理操作,并反馈数据处理结果。
156.其中,信息内网300中包含主数据库330。主数据库330中存储有多个数据。第二类型的用户请求为写请求。
157.在实施中,主数据库330与第二类型的应用服务器进行数据交互。第二类型的应用服务器基于第二类型的用户请求,通过网关230访问主数据库330。主数据库330响应于第二
类型的用户请求,执行数据处理操作。从数据库330在执行完成数据处理操作之后,通过网关230,向第二类型的应用服务器反馈数据处理结果。
158.本实施例中,通过设置主数据库和从数据库,使得不同的数据库响应不同类型的用户请求,缓解了数据库的访问压力,并且设置缓存数据库,使得用户请求被分流到从数据库和缓存数据库,缓解了从数据库的访问压力,避免了数据库的宕机。
159.在一个可选的实施例中,如图7所示,图7为数据交互方法的流程图。该数据交互方法应用在图8所示的数据交互系统中。图8中数据交互系统包括多个终端、内网和外网。外网包括代理服务器、应用服务器集群、消息中间件和网关。信息内网包括缓存数据库、从数据库和主数据库。消息中间件包括第一消息中间件和第二消息中间件。应用服务器集群中包含第一类型的应用服务器和第二类型的应用服务器。
160.在实施中,代理服务器基于服务器集群中的各服务器的3种资源负载情况,得到各应用服务器的属性数据集。然后,代理服务器基于各属性数据集,构建训练集。在得到训练集之后,代理服务器对预设的神经网络模型进行训练,得到负载模型。然后,代理服务器获取各应用服务器的属性数据集,并将各应用服务器的属性数据集输入负载模型中,得到各应用服务器的负载率。然后,代理服务器按照负载率由大到小的顺序,对各应用服务器进行排序,得到排序结果。代理服务器会收到客户端并发提交的n(n为大于1的自然数)个请求信息。该n个请求信息中包含请求类型,为第一类型(读请求)和第二类型(写请求)。代理服务器根据请求类型,对n个请求信息进行分流处理,得到第一类型的请求信息和第二类型的请求信息。然后,代理服务器将第一类型的请求发送给第一消息中间件,并将第二类型的请求发送给第二消息中间件。
161.第一消息中间件(图7中的读请求的消息中间件)接收到第一类型的请求信息后,对第一类型的请求信息进行排序,得到第一用户请求队列。然后,第一消息中间件根据排序结果,将第一用户请求队列中的第一类型的用户请求发送给负载低的应用服务器。目标服务器得到第一类型的用户请求并处理该第一类型的用户请求。目标服务器处理完请求逻辑之后,通过内外网的物理隔离设备将第一类型的用户请求发送给内网数据库服务器。内网数据库服务器访问缓存数据库。若缓存数据库中没有目标数据,缓存数据库将用户请求传递给从数据库。
162.第二消息中间件(写请求的消息中间件)接收到第二类型的请求信息后,对第二类型的请求信息进行排序,得到第二用户请求队列。然后,第二消息中间件根据排序结果,将第二用户请求队列中的第二类型的用户请求发送给负载低的应用服务器。目标服务器得到第二类型的用户请求并处理该第二类型的用户请求。目标服务器处理完请求逻辑之后,通过内外网的物理隔离设备将第二类型的用户请求发送给内网数据库服务器。内网数据库服务器访问主数据库。
163.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的
步骤或者阶段的至少一部分轮流或者交替地执行。
164.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据交互方法的数据交互装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据交互装置实施例中的具体限定可以参见上文中对于数据交互方法的限定,在此不再赘述。
165.在一个实施例中,如图9所示,提供了一种数据交互装置900,包括:排序模块901、获取模块902、处理模块903和发送模块904,其中:
166.排序模块901,用于获取分流后的用户请求流,对用户请求流中包含的多个用户请求进行排序,得到用户请求队列。
167.获取模块902,用于获取各应用服务器的属性数据集;各应用服务器为代理服务器对应的数据接收端服务器。
168.处理模块903,用于通过预设的负载模型对各属性数据集进行数据处理,得到各属性数据集对应的应用服务器的负载率。
169.发送模块904,用于在各应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将用户请求队列中的用户请求发送给目标应用服务器。
170.在一示例性实施例中,排序模块901包含分流子模块和第一排序子模块,其中:
171.分流子模块,用于根据用户请求的请求类型,对多个用户请求进行分流处理,得到分流后不同请求类型的用户请求流。
172.在一示例性实施例中,处理模块903包括:
173.第一处理子模块,用于针对各属性数据集中的每一属性数据集,根据预设的数据格式,对属性数据集进行归一化处理,得到第三属性数据集。
174.第一计算子模块,用于根据预设的权重,对第三属性数据集中的每一属性数据进行权重计算,得到第四属性数据集。
175.第二处理子模块,用于将各第四属性数据集中的每一第四属性数据集输入到预设的负载模型中,负载模型对第四属性数据集进行卷积处理,得到第四属性数据集对应的应用服务器的负载率。
176.在一示例性实施例中,发送模块904包括:
177.第二排序子模块,用于根据各应用服务器的负载率,对各应用服务器进行由大到小顺序排序,得到排序结果。
178.第一判断子模块,用于判断排序结果中数值最小的应用服务器的负载率是否达到预设的警戒阈值。
179.第一发送子模块,用于在数值最小的应用服务器的负载率达到警戒阈值的情况下,将用户请求队列中的用户请求发送给各应用服务器中的任一目标应用服务器。
180.第二发送子模块,用于在数值最小的应用服务器的负载率未达到警戒阈值的情况下,将数值最小的应用服务器确定为目标服务器,并将用户请求队列中的用户请求发送给目标应用服务器。
181.在一示例性实施例中,在处理模块903执行之前,该数据交互装置900还包括:
182.第一获取子模块,用于获取训练集;训练集包含多个应用服务器的属性数据集。
183.第三处理子模块,用于将训练集输入到预设的初始负载模型中,通过初始负载模
型对训练集中的属性数据集进行卷积处理,得到属性数据集对应的处理结果。
184.第二判断子模块,用于判断处理结果是否满足预设的训练损失条件,在处理结果满足训练损失条件的情况下,得到训练完成的初始负载模型,并将训练完成的初始负载模型作为负载模型。
185.在一示例性实施例中,第一获取子模块包括:
186.第二获取子模块,用于获取多个应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据。
187.第一构建子模块,用于针对多个应用服务器中每一应用服务器,根据每一应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据,构建应用服务器的属性数据集。
188.第四处理子模块,用于根据预设的数据格式,对应用服务器的属性数据集中的每一属性数据进行归一化处理,得到应用服务器的第一属性数据集。
189.第二计算子模块,用于根据预设的权重,对应用服务器的第一属性数据集中的每一属性数据进行权重计算,得到应用服务器的第二属性数据集。
190.第二构建子模块,用于根据多个应用服务器的第二属性数据集,构建训练集。
191.在一示例性实施例中,提供了一种数据交互系统,该数据交互系统包括:
192.代理服务器,代理服务器用于获取分流后的用户请求流,对用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取各应用服务器的属性数据集;各应用服务器为代理服务器对应的数据接收端服务器;通过预设的负载模型对各属性数据集进行数据处理,得到各属性数据集对应的应用服务器的负载率;在各应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将用户请求队列中的用户请求发送给目标应用服务器。
193.目标应用服务器,用于接收并处理用户请求。
194.在一示例性实施例中,该数据交互系统还包括:
195.缓存数据库,存储有多个高频数据,用于与第一类型的应用服务器进行数据交互,并响应于第一类型的用户请求,反馈目标高频数据。
196.从数据库,为缓存数据库的下一查询层级,用于接收缓存数据库传递的第一类型的用户请求,响应第一类型的用户请求,反馈目标数据。
197.主数据库,用于与第二类型的应用服务器进行数据交互,并响应于第二请求类型的用户请求,执行数据处理操作,并反馈数据处理结果。
198.上述数据交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
199.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用服务器的属性数据。该计算机设备的网络接口用于与外部的终端通
过网络连接通信。该计算机程序被处理器执行时以实现一种数据交互方法。
200.本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
201.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
202.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
203.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
204.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
205.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
206.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:
1.一种数据交互方法,其特征在于,所述数据交互方法应用于代理服务器,所述方法包括:获取分流后的用户请求流,对所述用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取各应用服务器的属性数据集;所述各应用服务器为所述代理服务器对应的数据接收端服务器;通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器。2.根据权利要求1所述的方法,其特征在于,所述获取分流后的用户请求流,包括:根据用户请求的请求类型,对多个用户请求进行分流处理,得到分流后不同请求类型的用户请求流。3.根据权利要求1所述的方法,其特征在于,所述通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率,包括:针对各所述属性数据集中的每一所述属性数据集,根据预设的数据格式,对所述属性数据集进行归一化处理,得到第三属性数据集;根据预设的权重,对所述第三属性数据集中的每一属性数据进行权重计算,得到第四属性数据集;将各所述第四属性数据集中的每一所述第四属性数据集输入到预设的负载模型中,所述负载模型对所述第四属性数据集进行卷积处理,得到所述第四属性数据集对应的应用服务器的负载率。4.根据权利要求1所述的方法,其特征在于,所述在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器,包括:根据各所述应用服务器的负载率,对各所述应用服务器进行由大到小顺序排序,得到排序结果;判断所述排序结果中数值最小的应用服务器的负载率是否达到预设的警戒阈值;在所述数值最小的应用服务器的负载率达到所述警戒阈值的情况下,将所述用户请求队列中的用户请求发送给各所述应用服务器中的任一目标应用服务器;在所述数值最小的应用服务器的负载率未达到所述警戒阈值的情况下,将所述数值最小的应用服务器确定为目标服务器,并将所述用户请求队列中的用户请求发送给所述目标应用服务器。5.根据权利要求1所述的方法,其特征在于,所述通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率之前,所述方法还包括:获取训练集;所述训练集包含多个所述应用服务器的属性数据集;将所述训练集输入到预设的初始负载模型中,通过所述初始负载模型对所述训练集中的所述属性数据集进行卷积处理,得到所述属性数据集对应的处理结果;
判断所述处理结果是否满足预设的训练损失条件,在所述处理结果满足所述训练损失条件的情况下,得到训练完成的初始负载模型,并将所述训练完成的初始负载模型作为负载模型。6.根据权利要求5所述的方法,其特征在于,所述获取训练集,包括:获取多个所述应用服务器的处理器占有率数据、内存占有率数据和输入输出占有率数据;针对多个所述应用服务器中每一所述应用服务器,根据每一所述应用服务器的所述处理器占有率数据、所述内存占有率数据和所述输入输出占有率数据,构建所述应用服务器的属性数据集;根据预设的数据格式,对所述应用服务器的属性数据集中的每一属性数据进行归一化处理,得到所述应用服务器的第一属性数据集;根据预设的权重,对所述应用服务器的第一属性数据集中的每一所述属性数据进行权重计算,得到所述应用服务器的第二属性数据集;根据多个所述应用服务器的第二属性数据集,构建训练集。7.一种数据交互系统,其特征在于,所述数据交互系统包括:代理服务器,所述代理服务器用于获取分流后的用户请求流,对所述用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取各应用服务器的属性数据集;所述各应用服务器为所述代理服务器对应的数据接收端服务器;通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器;所述目标应用服务器,用于接收并处理所述用户请求。8.根据权利要求7所述的系统,其特征在于,所述数据交互系统还包括:缓存数据库,存储有多个高频数据,用于与第一类型的应用服务器进行数据交互,并响应于第一类型的用户请求,反馈目标高频数据;从数据库,为所述缓存数据库的下一查询层级,用于接收所述缓存数据库传递的所述第一类型的用户请求,响应所述第一类型的用户请求,反馈目标数据;主数据库,用于与第二类型的应用服务器进行数据交互,并响应于第二请求类型的用户请求,执行数据处理操作,并反馈数据处理结果。9.一种数据交互装置,其特征在于,所述装置包括:排序模块,用于获取分流后的用户请求流,对所述用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取模块,用于获取各应用服务器的属性数据集;所述各应用服务器为代理服务器对应的数据接收端服务器;处理模块,用于通过预设的负载模型对各所述属性数据集进行数据处理,得到各所述属性数据集对应的应用服务器的负载率;发送模块,用于在各所述应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将所述用户请求队列中的用户请求发送给所述目标应用服务器。10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在
于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

技术总结
本申请涉及一种数据交互方法、系统、装置、计算机设备和存储介质。涉及数据传输技术领域,可用于金融科技领域或其他相关领域。所述数据交互方法应用于代理服务器,所述方法包括:获取分流后的用户请求流,对用户请求流中包含的多个用户请求进行排序,得到用户请求队列;获取各应用服务器的属性数据集;各应用服务器为代理服务器对应的数据接收端服务器;通过预设的负载模型对各属性数据集进行数据处理,得到各属性数据集对应的应用服务器的负载率;在各应用服务器中目标应用服务器的负载率满足预设的负载率要求的情况下,将用户请求队列中的用户请求发送给目标应用服务器。采用本方法能够减少应用服务器的访问压力。方法能够减少应用服务器的访问压力。方法能够减少应用服务器的访问压力。


技术研发人员:徐衍龙 胡海东 蒋金谷 马文星
受保护的技术使用者:工银科技有限公司
技术研发日:2023.05.15
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐