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

访问管理方法、装置和计算机设备、存储介质与流程

2023-01-16 12:14:18 来源:中国专利 TAG:


1.本技术涉及双控全闪磁盘存储阵列的技术领域,特别是涉及一种双控全闪磁盘存储阵列的访问管理方法、装置和计算机设备、计算机可读存储介质。


背景技术:

2.双控jbof(全闪磁盘存储阵列)共由两块控制器控制。如图1所示,双控jbof的两个控制器分别为bmc_a和bmc_b。每块控制器各配置一路管理网口和一组内部通讯串口和网口,管理网口对外提供web服务,用户可以通过管理网口访问和设置双控jbof。内部网口和串口主要用于控制器之间信息交互、参数配置、故障报警等。
3.当前的双控全闪磁盘存储阵列的管理方式中,任一控制器对外只提供自身控制器内的访问信息。用户需要访问两块控制器的信息时,需要分别请求两块控制器的web服务。因此,对双控全闪磁盘存储阵列进行信息访问时,用户操作繁琐,双控jbof提供的外部访问效率低。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种双控全闪磁盘存储阵列的访问管理方法、装置和计算机设备、计算机可读存储介质,以使得双控全闪磁盘存储阵列的任一控制器均可向用户提供两个控制器的访问信息,减少用户访问信息的操作,提高双控全闪磁盘存储阵列提供的外部访问效率。
5.一种双控全闪磁盘存储阵列的访问管理方法,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件,一种双控全闪磁盘存储阵列的访问管理方法应用于第一控制器,包括:采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径;若请求路径包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求;若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
6.在其中一个实施例中,解析出访问请求的请求路径,包括:获取第一反向代理组件的配置信息,配置信息中包含第一控制器的路径信息以及第二控制器的路径信息;采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径。
7.在其中一个实施例中,采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径,包括:采用第一反向代理组件读取第一
控制器的路径信息和第二控制器的路径信息;若访问请求中包含第一控制器的路径信息,则解析出请求路径包含指向第一控制器的路径;若访问请求中包含第二控制器的路径信息,则解析出请求路径包含指向第二控制器的路径。
8.在其中一个实施例中,向第一控制器的服务端发送访问第一控制器的请求,包括:从第一反向代理组件的配置信息中获取第一控制器的服务端的路由信息,根据第一控制器的服务端的路由信息识别出第一控制器的服务端路径;通过第一反向代理组件并根据第一控制器的服务端路径向第一控制器的服务端发送访问第一控制器的请求;通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件,包括:从第一反向代理组件的配置信息中获取第二控制器的内部网口的网络地址信息,根据第二控制器的内部网口的网络地址信息并采用内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。
9.在其中一个实施例中,访问请求包括访问第一控制器的设备信息获取请求,第一控制器的服务端响应访问第一控制器的请求,包括:第一控制器的服务端识别出访问第一控制器的设备信息获取请求对应的第一硬件接口,通过第一硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第一反向代理组件反馈到访问请求的用户端;和/或,访问请求包括访问第二控制器的设备信息获取请求,第二控制器的服务端响应访问第二控制器的请求,包括:第二控制器的服务端识别出访问第二控制器的设备信息获取请求对应的第二硬件接口,通过第二硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第二反向代理组件并经过内部网口通信连接反馈到第一反向代理组件,以由第一反向代理组件反馈到访问请求的用户端。
10.在其中一个实施例中,访问请求包括访问第一控制器的设备参数配置请求,第一控制器的服务端响应访问第一控制器的请求,包括:第一控制器的服务端识别出访问第一控制器的设备参数配置请求对应的第三硬件接口,通过第三硬件接口将访问第一控制器的设备参数配置请求的配置参数发送到对应的设备,以由对应的设备基于配置参数进行配置;和/或,访问请求包括访问第二控制器的设备参数配置请求,第二控制器的服务端响应访问第二控制器的请求,包括:第二控制器的服务端识别出访问第二控制器的设备参数配置请求对应的第四硬件接口,通过第四硬件接口将访问第二控制器的设备参数配置请求的配置参数发送到对应的设备,以由设备基于配置参数进行配置。
11.在其中一个实施例中,采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径,包括:采用第一反向代理组件接收访问请求并根据访问请求返回web服务,web服务的前端展示访问信息;采用第一反向代理组件接收用户触发的访问信息,解析出访问信息对应的请求路径。
12.一种双控全闪磁盘存储阵列的访问管理装置,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件,一种双控全闪磁盘存储阵列的访问管理装置应用于第一控制器,包括:接收模块,用于采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径;第一响应模块,用于若请求路径包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问
第一控制器的请求;第二响应模块,用于若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过第一控制器与第二控制器的内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
15.上述一种双控全闪磁盘存储阵列的访问管理方法、装置和计算机设备、计算机可读存储介质,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件。由于第一控制器和第二控制器中均配置有反向代理组件,当第一控制器接收访问请求时,通过其第一反向代理组件解析出访问请求的请求路径。若访问请求中包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,从而第一控制器的服务端响应访问第一控制器的请求,以向用户反馈访问信息。若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求,以向用户反馈访问信息。
16.因此,使得双控全闪磁盘存储阵列的任一控制器均可向用户提供两个控制器的访问信息,减少用户访问信息的操作,提高双控全闪磁盘存储阵列提供的外部访问效率。
附图说明
17.图1为现有的一个实施例中双控全闪磁盘存储阵列的结构框图;图2为本技术一个实施例中双控全闪磁盘存储阵列的结构框图;图3为本技术一个实施例中bmc内部主要组件的结构框图;图4为本技术一个实施例中一种双控全闪磁盘存储阵列的访问管理方法的流程示意图;图5为本技术一个实施例中双控全闪磁盘存储阵列的web服务主要工作流程图;图6为一个实施例中一种双控全闪磁盘存储阵列的访问管理装置的结构框图;图7为一个实施例中计算机设备的内部结构图。
具体实施方式
18.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
19.本技术提供的一种双控全闪磁盘存储阵列的访问管理方法,可以应用于如图2所
示的双控全闪磁盘存储阵列的结构中。如图2所示,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件。本技术的一种双控全闪磁盘存储阵列的访问管理方法应用于第一控制器中。具体地,第一控制器通过其管理网口接收用户端发送的访问请求,并采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径。若请求路径包含指向第一控制器的路径,即指向第一控制器的本机服务端的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求。具体地,通过第一控制器的本地端的cgi(common gateway interface,通用网关接口)脚本程序,将访问第一控制器的请求路由至第一控制器的服务端。若请求路径包含指向第二控制器的路径,采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。具体地,第二控制器的第二反向代理组件通过本地端的cgi脚本程序,将访问第二控制器的请求路由至第二控制器的服务端。
20.需要说明的是,上述第一控制器和第二控制器只是用于区分双控全闪磁盘存储阵列的两个控制器,第一控制器和第二控制器没有特别指定意义。当选取双控全闪磁盘存储阵列的两个控制器中任一个控制器为第一控制器时,另外一个控制器则为第二控制器。两个控制器均可实现上述一种双控全闪磁盘存储阵列的访问管理方法。具体地,第一控制器和第二控制器均为bmc(baseboard management controller,基板管理控制器)。
21.在一个实施例中,本技术提供一种双控全闪磁盘存储阵列的访问管理方法,如图2所示,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件。第一控制器和第二控制器均为bmc。bmc内部主要组件如图3所示,各组件的说明如下:(1)nginx组件:是整个web服务最底层组件,负责web服务的路由,反向代理完成;(2)web软件服务:是整个web服务框架,内含web显示的各种图型组件;(3)cgi脚本服务:提供访问硬件设备的服务和json格式参数读取;(4)web: 是直接面向客户组件,提供各种设置界面和显示功能。
22.本技术的一种双控全闪磁盘存储阵列的访问管理方法,应用于图2所示的第一控制器中,如图4所示,包括以下步骤:s402,采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径。
23.本实施例中,第一控制器中配置有第一反向代理组件。第一反向代理组件可以是nginx(engine x,一个高性能的http和反向代理web服务器)服务器。第一控制器通过其管理网口接收用户发送的访问请求时,将由第一反向代理组件接收并处理访问请求,从访问请求中解析出其请求路径。其中,请求路径指的是访问请求的对象的路径。请求路径可以包含指向第一控制器的路径和/或指向第二控制器的路径。当请求路径包含指向第一控制器的路径时,表明用户的访问请求中包含请求第一控制器的服务。当请求路径包含指向第二控制器的路径时,表明用户的访问请求中包含请求第二控制器的服务。当请求路径同时包
含指向第一控制器的路径和指向第二控制器的路径时,表明用户的访问请求中包含请求第一控制器的服务和请求第二控制器的服务。
24.在本实施例的一个示例中,上述采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径,包括:采用第一反向代理组件接收访问请求并根据访问请求返回web服务,web服务的前端展示访问信息;采用第一反向代理组件接收用户触发的访问信息,解析出访问信息对应的请求路径。
25.该示例中,结合图3的bmc内部主要组件。用户终端输入第一控制器的web网址,将访问请求提交至第一控制器的管理网口的nginx服务器。nginx服务器收到访问请求后,提供web服务,web服务的前端展示访问信息。访问信息包括第一控制器的提供的信息和第二控制器提供的信息。当用户触发选择第一控制器的提供的信息和/或第二控制器提供的信息时,用户终端基于第一控制器的提供的信息和/或第二控制器提供的信息生成访问请求,访问请求中封装有指向第一控制器的路径以及访问第一控制器的请求,和/或,指向第二控制器的路径以及访问第二控制器的请求。第一控制器的第一反向代理组件能够解析出访问请求的路径信息和请求信息。
26.s404, 若请求路径包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求。
27.本实施例中,若解析出的请求路径中包含指向第一控制器的路径,表示用户请求访问第一控制器的信息。进而,采用第一反向代理组件从访问请求中解析出访问第一控制器的请求。具体地,访问请求中封装有访问第一控制器的请求以及指向第一控制器的路径。指向第一控制器的路径表示访问请求指向第一控制器,访问第一控制器的请求为访问请求中明确指向第一控制器的字段。
28.向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求。如,访问第一控制器的请求表示请求全闪磁盘存储阵列的参数信息时,第一控制器的服务端获得全闪磁盘存储阵列的参数信息,并通过第一控制器的第一反向代理组件向用户端反馈获得的全闪磁盘存储阵列的参数信息。
29.s406, 若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
30.本实施例中,若解析出的请求路径中包含指向第二控制器的路径,表示用户请求第二控制器的信息访问,进而,采用第一反向代理组件从访问请求中解析出访问第二控制器的请求。通过第一控制器和第二控制的内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。其中,第二反向代理组件可以是nginx服务器。第二反向代理组件接收到访问第二控制器的请求时,识别出访问第二控制器的请求指向第二控制器,此时将访问第二控制器的请求路由至第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
31.第二控制器的服务端用于响应访问第二控制器的请求。如,访问第二控制器的请求为请求全闪磁盘存储阵列的参数信息时,第二控制器的服务端获得全闪磁盘存储阵列的
参数信息,并通过第二控制器的第二反向代理组件以及第一控制器与第二控制器的内部网口通信连接,将获得的全闪磁盘存储阵列的参数信息发送到第一反向代理组件,通过第一反向代理组件向用户端反馈获得的全闪磁盘存储阵列的参数信息。
32.需要说明的是,上述解析得到的访问请求的请求路径可以同时包含指向第一控制器的路径和指向第二控制器的路径,或只包含指向第一控制器的路径,或只包含指向第二控制器的路径。若同时包含指向第一控制器的路径和指向第二控制器的路径,则分别按照步骤s404和步骤s406的方式进行处理。若只包含其中一个控制器的路径,则按照步骤s404或步骤s406的方式进行处理。
33.以下结合图2和图3,给出一种双控全闪磁盘存储阵列的访问管理方法中的主要工作流程。其中,第一控制器为bmc_a,第二控制器为bmc_b。第一反向代理组件和第二反向代理组件均为nginx服务器。主要工作流程为nginx反向代理工作流程:采用nginx反向代理功能,双控jbof 的web服务主要工作流程如图5所示。用户浏览器输入管理网口a的ipv4地址192.168.1.100时,bmc_a的nginx服务器根据请求信息返回web服务,其中web服务中的前端根据显示需要,同时请求路径192.168.1.100/web/a和192.168.1.100/web/b服务下的参数和数据。当获取参数路径为192.168.1.100/web/a,nginx服务器根据加载的配置参数和解析的请求路径,使映射指向本机bmc_a的web服务;当获取参数路径为192.168.1.100/web/b时,nginx服务器根据配置参数中解析的web/b路由,将对应请求路由至bmc_b,获取bmc_b的参数信息。当用户设置双控jbof参数时,web前端服务把用户设置信息提交至后端,若设置了bmc_a的参数,则参数提交路径为192.168.1.100/web/a端,经bmc_a的nginx服务器解析后,提交至本地端cgi脚本服务处理;若设置了bmc_b的参数,则参数提交路径为192.168.1.100/web/b端,经bmc_a的nginx服务器解析后,提交至bmc_b端cgi脚本服务处理。
34.同理,当用户浏览器输入管理网口b的ipv4地址192.168.1.101时,bmc_b的nginx服务器返回给用户web服务,web前端服务请求获取路径为192.168.1.101/web/a和192.168.1.101/web/b服务下的参数和数据,用于显示。当获取参数路径为192.168.1.101/web/a时,bmc_b的nginx服务器根据配置参数和解析的请求路径,反向代理路由至bmc_a,获取bmc_a的参数信息;当请求路径为192.168.1.101/web/b时,bmc_b的nginx服务器解析至本机bmc_b的web服务;当用户通过bmc_b设置双控jbof时,web前端服务根据用户设置信息分别提交至192.168.1.100/web/a和192.168.1.101/b。若设置bmc_a时,则根据bmc_b的nginx服务器的配置信息将提交路径反向路由至bmc_a,bmc_a接收配置。若设置bmc_b,则根据bmc_b的nginx服务器的配置信息直接路由至bmc_b本地端,bmc_b接收配置请求。
35.由此,用户通过一个管理网口,便可以完成对bmc_a和bmc_b的管理。
36.上述一种双控全闪磁盘存储阵列的访问管理方法、装置和计算机设备、计算机可读存储介质,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件。由于第一控制器和第二控制器中均配置有反向代理组件,当第一控制器接收访问请求时,通过其第一反向代理组件解析出访问请求的请求路径。若访问请求中包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,从而第一控制器的
服务端响应访问第一控制器的请求,以向用户反馈访问信息。若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求,以向用户反馈访问信息。因此,使得双控全闪磁盘存储阵列的任一控制器均可向用户提供两个控制器的访问信息,减少用户访问信息的操作,提高双控全闪磁盘存储阵列提供的外部访问效率。
37.在一个实施例中,上述解析出访问请求的请求路径,包括:获取第一反向代理组件的配置信息,配置信息中包含第一控制器的路径信息以及第二控制器的路径信息;采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径。
38.该实施例中,为了实现通过一路管理网口设置整个双控jbof的功能,第一控制器启动时自动启动第一反向代理组件的程序,nginx程序,并加载第一反向代理组件的相关配置信息。例如,第一控制器和第二控制器均为基板管理控制器,第一控制器为bmc_a,第二控制器为bmc_b。第一反向代理组件和第二反向代理组件均为nginx服务器。
39.第一反向代理组件和第二反向代理组件的配置信息如下:1)bmc_a端的nginx反向代理部分配置信息
ꢀꢀꢀꢀ
location /web/a/ {
ꢀꢀꢀꢀꢀꢀꢀꢀ
rewrite ^/web/a/(.*) /web/$1 break;
ꢀꢀꢀꢀꢀꢀꢀꢀ
proxy_pass $scheme://$http_host;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
location /web/b/ {
ꢀꢀꢀꢀꢀꢀꢀꢀ
proxy_pass $scheme://199.188.70.101;
ꢀꢀꢀꢀ
}location /web/a/:定义web/a的路由地址;rewrite ^/web/a/(.*) /web/$1 break:路由至本机web服务;location /web/b/:定义web/b的路由地址;proxy_pass $scheme://199.188.70.101:反向代理服务路由至内部网口199.188.70.101的控制器。该ip地址如图5所示为bmc_b内部网口地址。
40.2)bmc_b端的nginx反向代理部分配置信息
ꢀꢀꢀꢀ
location /web/b/ {
ꢀꢀꢀꢀꢀꢀꢀꢀ
rewrite ^/web/b/(.*) /web/$1 break;
ꢀꢀꢀꢀꢀꢀꢀꢀ
proxy_pass $scheme://$http_host;
ꢀꢀꢀꢀ
}
ꢀꢀꢀꢀ
location /web/a/ {
ꢀꢀꢀꢀꢀꢀꢀꢀ
proxy_pass $scheme://199.188.70.100;
ꢀꢀꢀꢀ
}
location /web/b/:定义web/b的路由地址;rewrite ^/web/b/(.*) /web/$1 break:路由至本机web服务,location /web/a/:定义web/a的路由地址;proxy_pass $scheme://199.188.70.100:反向代理服务路由至内部网口199.188.70.100,该ip地址如图5所示为bmc_a的内部网口地址。
41.上述location /web/b/表示bmc_b的路径信息,location /web/a/表示bmc_ a的路径信息,第一反向代理组件通过配置信息中的第一控制器的路径信息和第二控制器的路径信息,能够解析出访问请求的请求路径。
42.在一个实施例中,采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径,包括:采用第一反向代理组件读取第一控制器的路径信息和第二控制器的路径信息;若访问请求中包含第一控制器的路径信息,则解析出请求路径包含指向第一控制器的路径;若访问请求中包含第二控制器的路径信息,则解析出请求路径包含指向第二控制器的路径。
43.该实施例中,将访问请求的请求路径与配置信息中的第一控制器的路径信息和第二控制器的路径信息进行匹配。若访问请求的请求路径中包含第一控制器的路径信息,则解析出请求路径包含指向第一控制器的路径;若访问请求的请求路径中包含第二控制器的路径信息,则解析出请求路径包含指向第二控制器的路径。例如,请求路径中包含192.168.1.100/web/a和192.168.1.100/web/b, 则通过匹配识别出192.168.1.100/web/a为指向第一控制器的路径,通过匹配识别出192.168.1.100/web/b指向第二控制器的路径。因此,可准确识别出访问请求的请求对象。
44.在一个实施例中,向第一控制器的服务端发送访问第一控制器的请求,包括:从第一反向代理组件的配置信息中获取第一控制器的服务端的路由信息,根据第一控制器的服务端的路由信息识别出第一控制器的服务端路径;通过第一反向代理组件并根据第一控制器的服务端路径向第一控制器的服务端发送访问第一控制器的请求;通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件,包括:从第一反向代理组件的配置信息中获取第二控制器的内部网口的网络地址信息,根据第二控制器的内部网口的网络地址信息并采用内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。
45.该实施例中,如上述配置信息,包含第一控制器的服务端的路由信息,如上述配置信息中rewrite ^/web/a/(.*) /web/$1 break:路由至本机web服务,还包含第二控制器的内部网口的网络地址信息,如上述配置信息中proxy_pass $scheme://199.188.70.101:反向代理服务路由至内部网口199.188.70.101。
46.因此,可通过第一反向代理组件向第一控制器的服务端发送访问第一控制器的请求。还可以,根据第二控制器的内部网口的网络地址信息并采用内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。由此,可实现同一管理网口,将访问请求路由至本机或另一控制器中。
47.在一个实施例中,访问请求包括访问第一控制器的设备信息获取请求,第一控制器的服务端响应访问第一控制器的请求,包括:第一控制器的服务端识别出访问第一控制
器的设备信息获取请求对应的第一硬件接口,通过第一硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第一反向代理组件反馈到访问请求的用户端;和/或,访问请求包括访问第二控制器的设备信息获取请求,第二控制器的服务端响应访问第二控制器的请求,包括:第二控制器的服务端识别出访问第二控制器的设备信息获取请求对应的第二硬件接口,通过第二硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第二反向代理组件并经过内部网口通信连接反馈到第一反向代理组件,以由第一反向代理组件反馈到访问请求的用户端。
48.该实施例中,访问第一控制器的设备信息获取请求以及访问第二控制器的设备信息获取请求,均用于请求获取相关设备的设备信息。访问第一控制器的设备信息获取请求以及访问第二控制器的设备信息获取请求均可以通过get请求实现。get请求主要用于双控jobf的设备信息获取,比如获取设备出厂信息、本机ip、本机时间、sn号、软件版本号、ssd磁盘信息、温度传感器、风机转速数据等。
49.在一个实施例中,访问请求包括访问第一控制器的设备参数配置请求,第一控制器的服务端响应访问第一控制器的请求,包括:第一控制器的服务端识别出访问第一控制器的设备参数配置请求对应的第三硬件接口,通过第三硬件接口将访问第一控制器的设备参数配置请求的配置参数发送到对应的设备,以由对应的设备基于配置参数进行配置;和/或,访问请求包括访问第二控制器的设备参数配置请求,第二控制器的服务端响应访问第二控制器的请求,包括:第二控制器的服务端识别出访问第二控制器的设备参数配置请求对应的第四硬件接口,通过第四硬件接口将访问第二控制器的设备参数配置请求的配置参数发送到对应的设备,以由设备基于配置参数进行配置。
50.该实施例中,访问第一控制器的设备参数配置请求和访问第二控制器的设备参数配置请求,均用于请求配置相关设备的设备参数。访问第一控制器的设备参数配置请求和访问第二控制器的设备参数配置请求均可以通过post请求实现。post请求一般为用户设备参数配置,比如需要设置ip地址、网关、ntp服务器、系统时间等。
51.其中,上述访问第一控制器的设备信息获取请求、访问第一控制器的设备信息获取请求、访问第一控制器的设备参数配置请求和访问第二控制器的设备参数配置请求通过图3所示的cgi脚本服务实现。
52.cgi脚本服务主要是由cgi脚本程序构成,能够接收用户提交的json格式设置信息,能够返回用户的访问请求需要的json格式的参数信息。比如访问第一控制器的设备信息获取请求以及访问第一控制器的设备信息获取请求,均用于请求的电源信息,cgi脚本程序返回json格式的电源信息。cgi脚本程序返回的信息,即访问第一控制器的设备信息获取请求以及访问第二控制器的设备信息获取请求,均用于请求获取相关设备的设备信息如下:设备出厂信息:包括bmc设备型号、版本号、sn号、固件版本号、出厂信息等;bmc网络参数信息:双控jbof的控制器的ip地址、网关、ntp服务器、网络掩码;日志信息:收集系统启动日志、故障报警日志、设置日志并按照json格式返回;电源信息:电源输入电压、输出电压、输入电流、输入和输出功率、电源温度;
风扇转速信息:4个风扇转速;ssd磁盘信息:mvme-of initiator 连接信息、ssd磁盘厂家、版本号、sn号、温度等数据;port ip信息:6个业务端口ip地址、网关、网络掩码、网络模式(1x100g\2x50g)等;传感器数据:板载温度传感器、芯片温度、桥片温度;性能监视信息:主要包括对磁盘iops、bw、latency性能读取。
53.由上可知,本技术的一种双控全闪磁盘存储阵列的访问管理方法,通过反向代理的方式,能够使得用户可以通过一个控制器的管理网口,读取两个控制器的信息以及对两个控制器进行参数配置。双控jbof中任何一控制器都可以提供完整的web服务,用户通过任一管理网口实现整个双控jbof设备管理。
54.针对上述两个实施例,提供一具体实施过程:用户终端输入bmc_a管理的web网址,用户终端将访问请求提交至bmc_a的管理网口的nginx服务器,nginx服务器收到访问请求后,提供web服务,web前端用于提供请求配置设备参数和请求数据获取。若访问请求的请求路径指向本机,则经nginx服务器解析后提交至本机后端的web服务端。若访问请求的请求路径指向另一控制器bmc_b,则经nginx服务器解析后通过内部网口路由至bmc_b的web服务端。用户的访问请求一般分为get和post两种类型;get请求主要用于双控jobf的设备信息获取,即设备信息获取请求,比如获取设备的出厂信息、本机ip、本机时间、sn号、软件版本号、ssd磁盘信息、温度传感器、风机转速数据等信息。post请求一般为设备参数配置请求,比如需要设置ip地址、网关、ntp服务器、系统时间等。get请求和post请求经过nginx服务器解析后最终提交至cgi脚本程序,cgi脚本程序接收和处理json格式的参数数据。若为设备参数读取请求,cgi脚本程序操作硬件接口,硬件接口包括串口、iic接口、spi接口等,读取硬件信息,比如读取电源信息,直接返回json格式信息。若为设备参数配置请求,则cgi脚本程序接收前端提交的json格式数组,操作硬件接口,主要包括串口、iic接口、spi接口,将参数信息设置到外围设备。
55.应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
56.在一个实施例中,本技术提供一种双控全闪磁盘存储阵列的访问管理装置,全闪磁盘存储阵列由第一控制器和第二控制器进行控制管理,第一控制器与第二控制器通过内部网口通信连接,第一控制器配置有第一反向代理组件,第二控制器配置有第二反向代理组件,一种双控全闪磁盘存储阵列的访问管理装置应用于第一控制器,如图6所示,一种双控全闪磁盘存储阵列的访问管理装置包括接收模块602、第一响应模块604以及第二响应模块606。接收模块602,用于采用第一反向代理组件接收访问请求以及解析出访问请求的请
求路径;第一响应模块604,用于若请求路径包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求;第二响应模块606,用于若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过第一控制器与第二控制器的内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
57.在一个实施例中,解析出访问请求的请求路径,包括:获取第一反向代理组件的配置信息,配置信息中包含第一控制器的路径信息以及第二控制器的路径信息;采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径。
58.在一个实施例中,采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径,包括:采用第一反向代理组件读取第一控制器的路径信息和第二控制器的路径信息;若访问请求中包含第一控制器的路径信息,则解析出请求路径包含指向第一控制器的路径;若访问请求中包含第二控制器的路径信息,则解析出请求路径包含指向第二控制器的路径。
59.在一个实施例中,向第一控制器的服务端发送访问第一控制器的请求,包括:从第一反向代理组件的配置信息中获取第一控制器的服务端的路由信息,根据第一控制器的服务端的路由信息识别出第一控制器的服务端路径;通过第一反向代理组件并根据第一控制器的服务端路径向第一控制器的服务端发送访问第一控制器的请求;通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件,包括:从第一反向代理组件的配置信息中获取第二控制器的内部网口的网络地址信息,根据第二控制器的内部网口的网络地址信息并采用内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。
60.在一个实施例中,访问请求包括访问第一控制器的设备信息获取请求,第一控制器的服务端响应访问第一控制器的请求,包括:第一控制器的服务端识别出访问第一控制器的设备信息获取请求对应的第一硬件接口,通过第一硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第一反向代理组件反馈到访问请求的用户端;和/或,访问请求包括访问第二控制器的设备信息获取请求,第二控制器的服务端响应访问第二控制器的请求,包括:第二控制器的服务端识别出访问第二控制器的设备信息获取请求对应的第二硬件接口,通过第二硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第二反向代理组件并经过内部网口通信连接反馈到第一反向代理组件,以由第一反向代理组件反馈到访问请求的用户端。
61.在一个实施例中,访问请求包括访问第一控制器的设备参数配置请求,第一控制器的服务端响应访问第一控制器的请求,包括:第一控制器的服务端识别出访问第一控制器的设备参数配置请求对应的第三硬件接口,通过第三硬件接口将访问第一控制器的设备参数配置请求的配置参数发送到对应的设备,以由对应的设备基于配置参数进行配置;和/或,访问请求包括访问第二控制器的设备参数配置请求,第二控制器的服务端响应访问第二控制器的请求,包括:第二控制器的服务端识别出访问第二控制器的设备参数配置请求
对应的第四硬件接口,通过第四硬件接口将访问第二控制器的设备参数配置请求的配置参数发送到对应的设备,以由设备基于配置参数进行配置。
62.在一个实施例中,采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径,包括:采用第一反向代理组件接收访问请求并根据访问请求返回web服务,web服务的前端展示访问信息;采用第一反向代理组件接收用户触发的访问信息,解析出访问信息对应的请求路径。
63.关于一种双控全闪磁盘存储阵列的访问管理装置的具体限定可以参见上文中对于一种双控全闪磁盘存储阵列的访问管理方法的限定,在此不再赘述。上述一种双控全闪磁盘存储阵列的访问管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
64.在一个实施例中,提供了一种计算机设备,该计算机设备为上述第一控制器或第二控制器,可以是bmc,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口包括上述管理网口、串口和内部网口,具体网络接口的数据传输参见上述实施例对应内容的说明。该计算机程序被处理器执行时以实现一种双控全闪磁盘存储阵列的访问管理方法。
65.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径;若请求路径包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求;若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过第一控制器与第二控制器的内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
66.在一个实施例中,处理器执行计算机程序实现上述的解析出访问请求的请求路径的步骤时,具体实现以下步骤:获取第一反向代理组件的配置信息,配置信息中包含第一控制器的路径信息以及第二控制器的路径信息;采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径。
67.在一个实施例中,处理器执行计算机程序实现上述的采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径的步骤时,具体实现以下步骤:采用第一反向代理组件读取第一控制器的路径信息和第二控制器的路径信息;若访问请求中包含第一控制器的路径信息,则解析出请求路径包含指向第一控制器的路径;若访问请求中包含第二控制器的路径信息,则解析出请求路径包含指向第二控制器的路径。
68.在一个实施例中,处理器执行计算机程序实现上述的向第一控制器的服务端发送访问第一控制器的请求的步骤时,具体实现以下步骤:从第一反向代理组件的配置信息中获取第一控制器的服务端的路由信息,根据第一控制器的服务端的路由信息识别出第一控制器的服务端路径;通过第一反向代理组件并根据第一控制器的服务端路径向第一控制器的服务端发送访问第一控制器的请求;处理器执行计算机程序实现上述的通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件的步骤时,具体实现以下步骤:从第一反向代理组件的配置信息中获取第二控制器的内部网口的网络地址信息,根据第二控制器的内部网口的网络地址信息并采用内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。
69.在一个实施例中,访问请求包括访问第一控制器的设备信息获取请求,处理器执行计算机程序实现上述的第一控制器的服务端响应访问第一控制器的请求的步骤时,具体实现以下步骤:第一控制器的服务端识别出访问第一控制器的设备信息获取请求对应的第一硬件接口,通过第一硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第一反向代理组件反馈到访问请求的用户端;和/或,访问请求包括访问第二控制器的设备信息获取请求,处理器执行计算机程序实现上述的第二控制器的服务端响应访问第二控制器的请求的步骤时,具体实现以下步骤:第二控制器的服务端识别出访问第二控制器的设备信息获取请求对应的第二硬件接口,通过第二硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第二反向代理组件并经过内部网口通信连接反馈到第一反向代理组件,以由第一反向代理组件反馈到访问请求的用户端。
70.在一个实施例中,访问请求包括访问第一控制器的设备参数配置请求,处理器执行计算机程序实现上述的第一控制器的服务端响应访问第一控制器的请求的步骤时,具体实现以下步骤:第一控制器的服务端识别出访问第一控制器的设备参数配置请求对应的第三硬件接口,通过第三硬件接口将访问第一控制器的设备参数配置请求的配置参数发送到对应的设备,以由对应的设备基于配置参数进行配置;和/或,访问请求包括访问第二控制器的设备参数配置请求,处理器执行计算机程序实现上述的第二控制器的服务端响应访问第二控制器的请求的步骤时,具体实现以下步骤:第二控制器的服务端识别出访问第二控制器的设备参数配置请求对应的第四硬件接口,通过第四硬件接口将访问第二控制器的设备参数配置请求的配置参数发送到对应的设备,以由设备基于配置参数进行配置。
71.在一个实施例中,处理器执行计算机程序实现上述的采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径的步骤时,具体实现以下步骤:采用第一反向代理组件接收访问请求并根据访问请求返回web服务,web服务的前端展示访问信息;采用第一反向代理组件接收用户触发的访问信息,解析出访问信息对应的请求路径。
72.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径;若请求路径包含指向第一控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第一控制器的请求,并向第一控制器的服务端发送访问第一控制器的请求,以使得第一控制器的服务端响应访问第一控制器的请求;若请求路径包含指向第二控制器的路径,则采用第一反向代理组件从访问请求中解析出访问第二控制器的请求,并通过第一控制器与第二控制器的内部网口通信连接,将访问第二控制器的请求路由至第
二反向代理组件,以使得第二反向代理组件将访问第二控制器的请求发送到第二控制器的服务端,以由第二控制器的服务端响应访问第二控制器的请求。
73.在一个实施例中,计算机程序被处理器执行实现上述的解析出访问请求的请求路径的步骤时,具体实现以下步骤:获取第一反向代理组件的配置信息,配置信息中包含第一控制器的路径信息以及第二控制器的路径信息;采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径。
74.在一个实施例中,计算机程序被处理器执行实现上述的采用第一反向代理组件并基于第一控制器的路径信息和第二控制器的路径信息,解析出访问请求的请求路径的步骤时,具体实现以下步骤:采用第一反向代理组件读取第一控制器的路径信息和第二控制器的路径信息;若访问请求中包含第一控制器的路径信息,则解析出请求路径包含指向第一控制器的路径;若访问请求中包含第二控制器的路径信息,则解析出请求路径包含指向第二控制器的路径。
75.在一个实施例中,计算机程序被处理器执行实现上述的向第一控制器的服务端发送访问第一控制器的请求的步骤时,具体实现以下步骤:从第一反向代理组件的配置信息中获取第一控制器的服务端的路由信息,根据第一控制器的服务端的路由信息识别出第一控制器的服务端路径;通过第一反向代理组件并根据第一控制器的服务端路径向第一控制器的服务端发送访问第一控制器的请求;计算机程序被处理器执行实现上述的通过内部网口通信连接将访问第二控制器的请求路由至第二反向代理组件的步骤时,具体实现以下步骤:从第一反向代理组件的配置信息中获取第二控制器的内部网口的网络地址信息,根据第二控制器的内部网口的网络地址信息并采用内部网口通信连接,将访问第二控制器的请求路由至第二反向代理组件。
76.在一个实施例中,访问请求包括访问第一控制器的设备信息获取请求,计算机程序被处理器执行实现上述的第一控制器的服务端响应访问第一控制器的请求的步骤时,具体实现以下步骤:第一控制器的服务端识别出访问第一控制器的设备信息获取请求对应的第一硬件接口,通过第一硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第一反向代理组件反馈到访问请求的用户端;和/或,访问请求包括访问第二控制器的设备信息获取请求,计算机程序被处理器执行实现上述的第二控制器的服务端响应访问第二控制器的请求的步骤时,具体实现以下步骤:第二控制器的服务端识别出访问第二控制器的设备信息获取请求对应的第二硬件接口,通过第二硬件接口读取对应设备的设备信息,并将读取到的设备信息通过第二反向代理组件并经过内部网口通信连接反馈到第一反向代理组件,以由第一反向代理组件反馈到访问请求的用户端。
77.在一个实施例中,访问请求包括访问第一控制器的设备参数配置请求,计算机程序被处理器执行实现上述的第一控制器的服务端响应访问第一控制器的请求的步骤时,具体实现以下步骤:第一控制器的服务端识别出访问第一控制器的设备参数配置请求对应的第三硬件接口,通过第三硬件接口将访问第一控制器的设备参数配置请求的配置参数发送到对应的设备,以由对应的设备基于配置参数进行配置;和/或,访问请求包括访问第二控制器的设备参数配置请求,计算机程序被处理器执行实现上述的第二控制器的服务端响应访问第二控制器的请求的步骤时,具体实现以下步骤:第二控制器的服务端识别出访问第二控制器的设备参数配置请求对应的第四硬件接口,通过第四硬件接口将访问第二控制器
的设备参数配置请求的配置参数发送到对应的设备,以由设备基于配置参数进行配置。
78.在一个实施例中,计算机程序被处理器执行实现上述的采用第一反向代理组件接收访问请求以及解析出访问请求的请求路径的步骤时,具体实现以下步骤:采用第一反向代理组件接收访问请求并根据访问请求返回web服务,web服务的前端展示访问信息;采用第一反向代理组件接收用户触发的访问信息,解析出访问信息对应的请求路径。
79.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
80.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
81.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献