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

一种存储系统的请求处理方法、装置、设备及存储介质与流程

2022-02-22 18:03:49 来源:中国专利 TAG:


1.本发明涉及存储系统管理技术领域,特别涉及一种存储系统的请求处理方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着现今存储集群的应用越来越多,有些存储集群需要提供接口供客户的第三方系统使用,并且可能频繁被调用。在集群规模较大和被频繁调用情况下可能会超过存储系统的承载能力,导致响应变慢、超时和资源占用变高等一系列问题。
3.通常情况下,第三方系统在对接存储集群时,是通过调用存储系统管理软件的restapi(一种基于http协议的接口标准或规范)接口,存储系统管理软件实时调用存储集群命令进行查询和配置;然而,随着存储集群的规模越来越大,到所有节点(即存储设备)上进行查询非常耗时,提供给第三方系统的接口时效性无法保证。如图1所示,第三方系统可以通过restapi请求的方式调用存储系统管理软件,存储系统管理软件通过ssh(secure shell,安全外壳协议)调用存储集群提供的命令行。这种机制简单,但存在如下问题:有的命令需在所有节点执行,集群规模大时耗时较长,导致用户体验变差;由于请求是放在队列中等待被处理,由于请求耗时较长不结束,导致队列中积压较多正在运行的线程,导致cpu使用率上升,同时队列长度也有限制,当超过阈值时,该请求可能会被丢弃。
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.图1为一种存储系统的拓扑示意图;
45.图2为本发明实施例所提供的一种存储系统的请求处理方法的流程图;
46.图3为本发明实施例所提供的另一种存储系统的请求处理方法的拦截器示意图;
47.图4为本发明实施例所提供的另一种存储系统的请求处理方法的缓存开关拦截器的流程示意图;
48.图5为本发明实施例所提供的一种存储系统的请求处理装置的结构框图。
具体实施方式
49.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.请参考图2,图2为本发明实施例所提供的一种存储系统的请求处理方法的流程图。该方法可以包括:
51.步骤101:检测获取的请求中的目标请求;其中,目标请求为目标查询接口的请求。
52.其中,本步骤中获取的请求可以为存储系统接口的请求,即通过存储系统接口接收的第三方系统发送的请求。本步骤中的目标请求可以为存储系统接口中目标查询接口的请求,目标查询接口可以为存储系统接口中的全部或部分查询接口,即能够借助对应的查询结果缓存进行查询优化的查询接口。
53.具体的,本实施例中存储系统的接口(即存储系统接口)可以从操作上分为两类:查询类的查询接口(query)和配置类的配置接口(operation);本实施例中通过查询接口中的目标查询接口对应的缓存(即查询结果缓存)的设置,提升目标查询接口的请求的结果查询速度。
54.可以理解的是,本步骤中运行有存储系统管理软件的请求处理设备(如管理节点)中的处理器可以检测识别获取的存储系统接口的请求是否为目标请求,确定获取的存储系统接口的请求中的目标请求。
55.具体的,对于本步骤中处理器检测获取的请求中的目标请求的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以获取存储系统接口的请求;判断请求对应的存储系统接口是否标记了目标标识;若是,则将请求确定为目标请求;其中,存储系统接口包括查询接口和配置接口。也就是说,本实施例中可以通过目标标识(如@enablecache)的设置,标记在允许使用缓存(即查询结果缓存)的查询接口上,例如将全部查询接口均标记目标标识,从而将存储系统接口划分为允许使用缓存的查询接口(即目标查询接口)和不允许使用缓存的配置接口。
56.对应的,对于本实施例中处理器获取的请求中目标请求之外的非目标请求,即存储系统接口中目标查询接口之外的接口的请求的处理方法,可以采用与现有技术中的请求处理方法相同或相似的方式实现,如从存储集群的节点中实时查询获取对应的查询结果;例如上述获取的存储系统接口的请求对应的存储系统接口未标记目标标识,可以确定该请求为非目标请求,从存储集群的节点中获取该请求对应的查询结果。
57.本实施例中,处理器可以在存储集群的集群规模较小,直接实时查询存储数据,保证简单稳定和查询结果准确。本实施例所提供的方法在步骤101之前,处理器可以判断存储集群的节点数量是否大于数量阈值;若是,则进入步骤101;若否,则可以按照现有的请求处理方法,从存储集群的节点中实时查询得到各请求对应的查询结果。
58.步骤102:判断目标查询接口对应的查询结果缓存是否已开启;若是,则进入步骤103。
59.可以理解的是,本步骤中的查询结果缓存可以存储有目标查询接口的请求对应的查询结果,即查询结果缓存可以为存储有相应的目标查询接口对应的查询结果,如之前的请求的查询结果。本实施例并不限定查询结果缓存的具体设置,如可以为每个目标查询接口设置各自对应一个查询结果缓存,即每个目标查询接口各自对应一个不同查询结果缓存;也可以为全部目标查询接口设置一个查询结果缓存,即全部目标查询接口均对应同一查询结果缓存,本实施例对此不做任何限制。
60.具体的,本实施例是以获取的请求中的一个目标请求的请求处理为例进行的展示,对于其它目标请求的请求处理,可以采用与本实施例所提供的方法相同或相似的方式实现,本实施例对此不做任何限制。
61.对应的,本实施例所提供的方法还可以包括查询结果缓存的开关控制过程,如处理器可以统计目标查询接口的接口访问量;判断接口访问量是否大于开启阈值;若大于开启阈值(如图4中的1000),则开启目标查询接口对应的查询结果缓存;若不大于开启阈值,则可以直接结束本流程,也可以判断接口访问量是否小于关闭阈值;若小于关闭阈值(如图4中的500),则关闭目标查询接口对应的查询结果缓存;若不小于关闭阈值(如图4中的500),则可以直接结束本流程或返回判断接口访问量是否大于开启阈值的步骤,等待下一次该目标查询接口的接口访问量与开启阈值的比较。
62.如图3所示,本实施例中可以设计一个接口统计拦截器,利用该拦截器可以对标记了目标标识(如@enablecache)的请求进行统计,统计当前正在被处理的请求数,后续其他拦截器(如缓存开关拦截器)可以根据统计信息对缓存进行开启/关闭;具体逻辑可以为:在该接口统计拦截器的前置处理中,对所有的请求进行拦截,如果请求a对应的接口a标记了目标标识,则将接口a的访问量count(计数)加1,然后放行接口,由后续拦截器进行处理,当
业务处理完成后,在该拦截器后置处理中将接口a的访问量count减1,即请求a处理完成后,更新接口a的访问量;如果未标记目标标识,表示请求a不可使用缓存,那么不作任何处理直接放行,从而可以按照现有的请求处理方法,从存储集群的节点中实时查询得到各请求对应的查询结果。
63.如图3和图4所示,本实施例中可以设计一个缓存开关拦截器,利用该拦截器根据接口访问量,决定开启或关闭缓存。具体逻辑是:首先校验请求是否允许使用缓存,如果不允许使用缓存,则直接放行请求;如果允许使用缓存,且每分钟接口访问量超过1000(即开启阈值),则开启缓存(即查询结果缓存),如果每分钟接口访问量低于500(即关闭阈值)则关闭缓存。
64.需要说明的是,对于本步骤中目标查询接口对应的查询结果缓存未开启的情况,可以采用与现有技术中的请求处理方法相同或相似的方式,直接从存储集群的节点中查询获取目标请求对应的查询结果。
65.步骤103:根据查询结果缓存中的查询结果,获取目标请求对应的查询结果。
66.可以理解的是,本步骤中处理器可以在目标查询接口对应的查询结果缓存开启时,利用该查询结果缓存中存储的查询结果,查找获取目标请求对应的查询结果,如能够从查询结果缓存中之前请求的查询结果中,查找与目标请求相同的之前请求的查询结果,从而减少了从存储集群的节点中查询目标请求对应的查询结果的过程,从而降低了存储系统的查询时间,保证了第三方系统的接口的时效性。
67.具体的,对于本步骤中处理器根据查询结果缓存中的查询结果,获取目标请求对应的查询结果的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以检测查询结果缓存中的查询结果中是否存在目标查询结果;其中,目标查询结果为目标请求对应的查询结果;若存在目标查询结果,则从查询结果缓存中获取目标查询结果;若不存在目标查询结果,则从存储集群的节点中获取目标查询结果,并将目标查询结果存储到查询结果缓存。
68.对应的,处理器在从查询结果缓存中获取目标查询结果之前,还可以判断查询结果缓存中的目标查询结果是否有效;若有效,则从查询结果缓存中获取目标查询结果;若无效,则从存储集群的节点中获取目标查询结果,并更新查询结果缓存中的目标查询结果。例如判断查询结果缓存中的目标查询结果的存储时间是否达到阈值(如30s);若到达阈值,则确定查询结果缓存中的目标查询结果有效,并从查询结果缓存中获取目标查询结果;若未到达阈值,则确定查询结果缓存中的目标查询结果无效,并从存储集群的节点中获取目标查询结果,并更新查询结果缓存中的目标查询结果。
69.如图3所示,本实施例中可以设计一个对缓存进行管理、查询、过期检测及更新的缓存查询/更新拦截器,利用该拦截器可以拦截请求后,首先判断缓存(即查询结果缓存)是否已开启;如果缓存已开启,则尝试从缓存查找符合条件的数据;如果能查到,则校验缓存数据是否已经过期;如果未过期,则直接返回响应,不再进行后续处理;如果已经过期,则将该缓存数据清理,同时放行请求;如果查不到,则将请求放行,待业务处理完成后,将查询结果保存到缓存中,同时设置生存时间30s,表示该缓存结果30s内有效,最后返回响应。
70.具体的,本步骤之后还可以包括将获取目标请求对应的查询结果返回给相应的第三方系统的步骤,以向通过存储系统接口发送请求的第三方系统返回请求的查询结果。
71.本实施例中,本发明实施例通过根据查询结果缓存中的查询结果,获取目标请求对应的查询结果,能够利用预先缓存的目标查询接口的查询结果,查询目标查询接口的请求对应的查询结果,以减少存储集群中节点上的查询过程,从而降低了存储系统的查询时间,保证了第三方系统的接口的时效性,提升了用户体验。
72.相应于上面的方法实施例,本发明实施例还提供了一种存储系统的请求处理装置,下文描述的一种存储系统的请求处理装置与上文描述的一种存储系统的请求处理方法可相互对应参照。
73.请参考图5,图5为本发明实施例所提供的一种存储系统的请求处理装置的结构框图。该装置可以包括:
74.请求检测模块10,用于检测获取的请求中的目标请求;其中,目标请求为目标查询接口的请求;
75.缓存判断模块20,用于判断目标查询接口对应的查询结果缓存是否已开启;其中,查询结果缓存存储有目标查询接口的请求对应的查询结果;
76.结果获取模块30,用于若查询结果缓存已开启,则根据查询结果缓存中的查询结果,获取目标请求对应的查询结果。
77.可选的,请求检测模块10可以包括:
78.请求获取子模块,用于获取存储系统接口的请求;其中,存储系统接口包括查询接口和配置接口;
79.标识判断子模块,用于判断请求对应的存储系统接口是否标记了目标标识;若是,则将请求确定为目标请求。
80.可选的,结果获取模块30可以包括:
81.缓存检测子模块,用于检测查询结果缓存中的查询结果中是否存在目标查询结果;其中,目标查询结果为目标请求对应的查询结果;
82.缓存获取子模块,用于若存在目标查询结果,则从查询结果缓存中获取目标查询结果;
83.节点获取子模块,用于若不存在目标查询结果,则从存储集群的节点中获取目标查询结果,并将目标查询结果存储到查询结果缓存。
84.可选的,缓存获取子模块可以包括:
85.结果判断单元,用于判断查询结果缓存中的目标查询结果是否有效;
86.缓存获取单元,用于若有效,则从查询结果缓存中获取目标查询结果;
87.节点更新单元,用于若无效,则从存储集群的节点中获取目标查询结果,并更新查询结果缓存中的目标查询结果。
88.可选的,结果判断单元可以具体用于判断查询结果缓存中的目标查询结果的存储时间是否达到阈值;若到达阈值,则向缓存获取单元发送启动信号;若未到达阈值,则向节点更新单元发送启动信号。
89.可选的,该装置还可以包括:
90.统计模块,用于统计目标查询接口的接口访问量;
91.开启判断模块,用于判断接口访问量是否大于开启阈值;
92.缓存开启模块,用于若大于开启阈值,则开启目标查询接口对应的查询结果缓存。
93.可选的,该装置还可以包括:
94.关闭判断模块,用于若不大于开启阈值,则判断接口访问量是否小于关闭阈值;
95.缓存关闭模块,用于若小于关闭阈值,则关闭目标查询接口对应的查询结果缓存。
96.本实施例中,本发明实施例通过结果获取模块30根据查询结果缓存中的查询结果,获取目标请求对应的查询结果,能够利用预先缓存的目标查询接口的查询结果,查询目标查询接口的请求对应的查询结果,以减少存储集群中节点上的查询过程,从而降低了存储系统的查询时间,保证了第三方系统的接口的时效性,提升了用户体验。
97.相应于上面的方法实施例,本发明实施例还提供了一种存储系统的请求处理设备,下文描述的一种存储系统的请求处理设备与上文描述的一种存储系统的请求处理方法可相互对应参照。
98.本发明实施例提供了一种存储系统的请求处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述实施例所提供的存储系统的请求处理方法的步骤。
99.其中,本实施例所提供的存储系统的请求处理设备可以具体为存储集群中的管理节点(如计算机或服务器),即运行有存储系统管理软件的节点。
100.相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种存储系统的请求处理方法可相互对应参照。
101.本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例所提供的存储系统的请求处理方法的步骤。
102.该计算机可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的计算机可读存储介质。
103.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
104.以上对本发明所提供的一种存储系统的请求处理方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

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

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

相关文献