CN101815089B - Web高端磁盘阵列控制器命令执行方法及系统 - Google Patents
Web高端磁盘阵列控制器命令执行方法及系统 Download PDFInfo
- Publication number
- CN101815089B CN101815089B CN 201010112831 CN201010112831A CN101815089B CN 101815089 B CN101815089 B CN 101815089B CN 201010112831 CN201010112831 CN 201010112831 CN 201010112831 A CN201010112831 A CN 201010112831A CN 101815089 B CN101815089 B CN 101815089B
- Authority
- CN
- China
- Prior art keywords
- controller
- thread
- multithreading
- remote procedure
- procedure call
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 230000006870 function Effects 0.000 claims description 12
- 238000013404 process transfer Methods 0.000 abstract 2
- 230000008569 process Effects 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种Web高端磁盘阵列控制器命令执行方法及系统;方法包括:配置并保存执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;接收命令,确定执行该命令的相关参数;如果根据所述线程数确定执行该命令需要多线程,则根据所述线程数生成多个线程;所述多个线程分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器执行所述命令;执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果。本发明能够加速Web控制器管理的效率,提升用户体验。
Description
技术领域
本发明涉及高端磁盘阵列领域,尤其涉及一种Web高端磁盘阵列控制器命令执行方法及系统。
背景技术
高端磁盘阵列中的控制器管理一般采用C/S结构,C/S(Client/Server)结构,即客户机和服务器架构。通过此架构可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。在此类结构中对于控制器的并发处理比较灵活,可操作性大。目前主流厂商的高端磁盘阵列管理都采用此类方法进行。
由于现在的软件应用系统正在向分布式的Web应用发展,应用不同的模块共享逻辑组件;因此,通过现有应用系统中的逻辑可以扩展出新的应用系统,内部的和外部的用户都可以访问新的和现有的应用系统。这也就是目前应用系统的发展方向。所以C/S架构目前已经逐渐被B/S(Browser/Server)结构即浏览器和服务器结构架构取代,尤其在服务器和存储管理领域,越来越多地使用B/S架构。
对于高端磁盘阵列采用B/S结构有一个比较大的局限性是其并发处理能力。由于目前的Web服务器不支持客户端的多线程,所以采用B/S架构执行效率相对较低,用户体验不好。而C/S架构则需要使用一个单独的节点作为管理节点,额外开销很大,造成了资源浪费;对于软件开发方面控制端和客户端需要使用C或者JAVA等高级语言编写代理程序,程序开发周期较长。C/S架构不易于操作,用户需要登录到控制节点上,通过客户端程序进行操作。如果控制节点失效,则无法实现对高端磁盘阵列的管理。
发明内容
本发明要解决的技术问题是提供一种Web高端磁盘阵列控制器命令执行方法及系统,能够加速Web控制器管理的效率,提升用户体验。
为了解决上述问题,本发明提供了一种高端磁盘阵列控制器命令执行方法,包括:
配置并保存执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;
接收命令,确定执行该命令的相关参数;如果根据所述线程数确定执行该命令需要多线程,则根据所述线程数生成多个线程;
所述多个线程分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器执行所述命令;
执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果。
进一步地,在确定需要多线程的步骤后、生成多个线程的步骤前还包括:
判断所述控制器组中各控制器的状态,对于已经不能正常提供服务的控制器进行切换。
进一步地,所述各线程分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器,执行对应方法的步骤具体包括:
各线程根据所述执行命令的相关参数确定远程过程调用执行路径;分别根据各控制器标识、以及预先保存的控制器标识和IP地址之间的对应关系,查找该控制器对应的控制器IP地址;将控制器IP地址和所述远程过程调用执行路径合并形成远程过程调用的实际路径;通过远程过程调用的实际路径生成远程过程调用客户端对象,执行所述命令。
进一步地,所述方法在确定需要多线程的步骤后、生成多个线程的步骤前还包括:
根据所述线程数,为每个线程开辟用于存储该线程执行结果的共享内存空间;
各线程执行所述命令的步骤后还可以包括:
各线程将执行完后将所述执行结果写入到相应的共享内存区域。
进一步地,所述收集各线程返回的执行结果,连接为一个整体返回结果的步骤具体包括:
主线程收集所述共享内存中的各个线程的返回结果,并且使用标记区分每个控制器的返回结果,将标记后的各线程的返回结果进行连接为一个整体返回结果。
本发明还提供了一种高端磁盘阵列控制器命令执行系统,包括:
存储模块、Web逻辑控制模块、多线程转接模块及执行模块;
所述存储模块用于保存预先配置的执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;
所述Web逻辑控制模块用于通过接收命令,查找执行该命令的相关参数;如果根据所述线程数确定需要多线程,则调用所述多线程转接模块;
所述多线程转接模块用于根据所述线程数生成多个线程;
所述执行模块用于执行各线程,分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器,执行所述命令;执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果传递给所述Web逻辑控制模块。
进一步地,所述多线程转接模块还用于在生成多线程前,判断所述控制器组中各控制器的状态,对于已经不能正常提供服务的控制器进行切换。
进一步地,所述执行模块分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器执行所述命令是指:
所述执行模块根据所述执行命令的相关参数确定远程过程调用执行路径;分别根据各控制器标识、以及预先保存的控制器标识和IP地址之间的对应关系,查找该控制器对应的控制器IP地址;将控制器IP地址和远程过程调用执行路径合并形成远程过程调用的实际路径;通过远程过程调用的实际路径生成远程过程调用客户端对象,执行所述命令。
进一步地,所述的系统还包括:共享内存;
所述多线程转接模块还用于在生成多线程前,根据所述线程数,为每个线程开辟用于存储该线程执行结果的共享内存空间;
所述执行模块将各线程执行完后将所述执行结果写入到相应的共享内存区域。
进一步地,所述执行模块收集各线程返回的执行结果,连接为一个整体返回结果传递给所述Web逻辑控制模块是指:
所述执行模块收集所述共享内存中的各个线程的返回结果,并且使用标记区分每个控制器的返回结果,将标记后的各线程的返回结果进行连接为一个整体返回结果,通过所述多线程转接模块返回给所述Web逻辑控制模块;
所述Web逻辑控制模块还用于根据所述标记在所述整体返回结果中获取每个控制器的返回结果,并进行反序列化为原有函数的返回结果形式,返回给所述客户端。
本发明的技术方案使用B/S架构,在操作简易、开发难度低、整体成本低的基础上,使用多线程加速高端磁盘阵列控制器命令的执行效率,使其可以与C/S架构在性能上相抗衡;采用远程过程调用实现了控制器之间的互操作,远程过程调用可以但不限于采用超文本传输协议,使其整体方面可以经过较少的改动即可集成到其他管理软件中,便于OEM。
附图说明
图1是实施例一的应用实例中高端磁盘阵列控制器命令执行方法的流程示意图;
图2是实施例一的应用实例中的远程过程调用执行流程图;
图3是实施例一的应用实例中的共享内存示意图;
图4是实施例二中Web高端磁盘阵列控制器命令执行系统的示意框图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一,一种高端磁盘阵列控制器命令执行方法,包括:
配置并保存执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;
接收命令,确定执行该命令的相关参数;如果根据所述线程数确定执行该命令需要多线程,则根据所述线程数生成不包括主线程在内的多个线程;
所述多个线程分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器执行所述命令;
执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果。
本实施例中,执行命令的相关参数可保存在服务器中,可以但不限于由所述服务器的Web逻辑控制层接收命令,以及将连接为一个整体的返回结果传递给所述客户端。
本实施例中,所述远程过程调用可以但不限于采用超文本传输协议,并且使用标准80端口。
本实施例中,所述方法在确定需要多线程的步骤后、生成多个线程的步骤前还可以包括:
判断所述控制器组中各控制器的状态,对于已经不能正常提供服务的控制器进行切换,使所述控制器组中所有控制器都可服务。
本实施例中,所述多个线程分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器执行对应方法的步骤具体可以包括:
所述多个线程分别根据所述执行命令的相关参数确定远程过程调用执行路径;分别根据各控制器的ID(标识)、以及预先保存的控制器ID和IP地址之间的对应关系,查找该控制器对应的控制器IP地址;将控制器IP地址和所述远程过程调用执行路径合并形成远程过程调用的实际路径;通过远程过程调用的实际路径生成远程过程调用客户端对象,执行所述命令。
所述预先保存的控制器ID和IP地址之间的对应关系可以但不限于由所述服务器端预先配置好。
本实施例中,所述方法在确定需要多线程的步骤后、生成多个线程的步骤前还可以包括:
根据所述线程数,为每个线程开辟用于存储该线程执行结果的共享内存空间;
各线程执行所述命令的步骤后还可以包括:
各线程将执行完后将所述执行结果写入到相应的共享内存区域;
所述收集各线程返回的执行结果,连接为一个整体返回结果的步骤具体可以包括:
主线程收集所述共享内存中的各个线程的返回结果,并且使用标记区分每个控制器的返回结果,将标记后的各线程的返回结果进行连接为一个整体返回结果。
可以看出,本实施例在高端磁盘阵列的一个控制器上使用远程过程调用实现对另外多个控制器的管理;采用多线程转接模块提升了WEB执行效率。
下面用一个应用实例进行说明,该应用实例中,由一个多线程转接模块完成多个线程的生成,命令执行方法的流程图如图1所示。
本应用实例包括如下步骤:
A、配置控制器ID与内部IP地址的对应关系HASH数组,并将HASH数组序列化到配置文件中;
向远程过程调用服务程序中注册底层实现类和方法,供远程过程调用的客户端进行调用执行;
配置多线程转接模块,配置底层实现方法和方法对应的线程数、控制器组、对应的控制器转换变量之间的对应关系;
客户端使用Web进行管理,将需要执行的命令发送到Web逻辑控制层;可以携带执行命令时所要执行的方法名称;
Web逻辑控制层接收Web的传递命令,确定执行该命令的相关参数,判断执行该命令是否需要调用多线程模块;如果需要调用多线程模块,将相关参数(包括方法名称)整合为一个Key=>Value形式的HASH数组,并且将数组序列化为字符串,便于与命令行形式的多线程转接模块进行交互;参数整合完毕后,Web逻辑控制层调用多线程转接模块,进行命令执行;
B、多线程转接模块被调用后,反序列化传入的字符串为HASH数组形式;查询HASH数组中Key标示为“functionName”的字段,确定执行方法名称;通过方法名称查询执行命令对应的远程过程调用路径、命令执行需要的线程数、需要执行的控制器组、对应的控制器转换变量等执行命令的相关参数;
C、多线程转接模块依次判断控制器组中每个控制器的状态,如果控制器的状态为Active或者TakeOver状态不进行处理,如果控制器的状态为NULL、StandBy、Inactive状态,说明此控制器已经不能正常提供服务;判断所述对应的控制器转换变量是否为真,如果为真则将控制器ID加1,使其切换到此控制器对端控制器(即共享一组磁盘簇JBOD的控制器上),并将切换到的对端控制器并入到控制器组中;
进行上述过程可以使控制器组中的所有控制器都为在线且可提供服务的Active或者TakeOver状态;如果新并入的控制器的状态也为非Active或者TakeOver,则表示一对控制器不能提供服务,停止所有控制器上的服务和相关存储资源;
控制器的各状态说明如下:
表1控制器状态说明
状态 | 简写 | 描述 |
ACTIVE | A | 控制器处于提供存储服务的状态,并且仅提供本控制器默认(配置规定的)应该提供的存储服务和默认所主控的卷组VG的读写。 |
STANDBY | S | 控制器处于热备状态。此时另一个控制器接管了原本两个控制器提供的存储服务 |
ACTIVE&TAKEOVER | A&T | 控制器提供ACTIVE状态下的服务并且也接管了另一个控制器的服务。 |
NULL | N | 控制器停止或不存在 |
INACTIVE | I | 控制器已启动,但配置无法确定,不提供服务。 |
D、在执行线程之前,多线程转接模块根据线程的数目开辟对应的共享内存空间,用于存储每个线程的执行结果,从而实现线程之间的通讯;共享内存进行分段,每段内存大小相同;内存创建完毕后返回的句柄作为全局变量供所有线程使用;
E、多线程转接模块根据线程的数目生成多个线程,每个线程的处理函数相同,传入的参数包括控制器组里面的控制器ID、执行函数、函数相关参数、线程创建索引,传递到多线程执行函数中进行执行;线程创建索引代表创建线程的序号,此序号用以标示返回结果在共享内存的起始地址段;
F、各线程根据传入的方法名查找对应方法的远程过程调用执行路径;根据传入的控制器的ID及步骤A中配置的对应关系,查找该控制器对应的控制器IP地址;控制器ID与控制器内部IP对应的配置文件可以但不限于以HASH数组序列化的形式存在,加快ID对应IP查找的效率;本例中,控制器ID与IP对应关系如下:
Array={
0=>192.168.0.1;
1=>192.168.0.2;
2=>192.168.0.3;
3=>192.168.0.4;
4=>192.168.0.5;
5=>192.168.0.6;
6=>192.168.0.7;
7=>192.168.0.8;
}
将控制器IP地址和远程过程调用执行路径合并形成远程过程调用的实际路径;
G、通过远程过程调用的实际路径生成远程过程调用客户端对象进行初始化,通过动态调用函数执行相关命令,在实际运行时根据传入的函数名称确定具体的函数调用,保证客户端架构的通用性;
H、每个线程执行完方法后将以数组或者其它复杂形式的结果序列化为字符串,并且将序列化后的字符串根据传入的线程创建索引写入到对应的共享内存区域;
I、主线程等待所有线程执行完毕,在收到所有线程执行完毕的信号后,按照线程创建索引主动收集共享内存中的各个线程的返回结果,并且使用标记“【】”进行区分每个控制器的返回结果,将标记后的线程返回结果进行连接为一个整体返回结果;实际应用中,可以用其它标记来区分不同的返回结果;
J、多线程转接模块将返回结果返回给Web逻辑控制层;
K、逻辑控制层接收多线程转接模块传回的返回结果,根据标记“【】”获取每个控制器的返回结果,并进行反序列化为原有函数的返回结果形式传递给Web,进行结果显示;
至此完成了一次多线的控制器命令执行流程;实际应用时的具体实现步骤和细节可以不同于本例。
该应用实例中,具体的远程调用过程可以如图2所示,包括:
使用Web GUI(Graphical User Interface,图形用户界面)或CLI(command-line interface,命令行界面);
产生PHP(超级文本预处理语言)行动类;
产生新的PHPRPC(远程过程调用协议)客户端;
调用用户函数;
产生新的PHPRPC服务器;
产生新的逻辑类;
进行逻辑类方法注入;
PHPRPC服务器启动;
函数执行;
结果序列化;
结果反序列化;
返回结果。
该应用实例中,所开辟的共享内存空间如图3所示,其中,内存空间0~7分别对应于不同线程;
该应用实例中,所述步骤A还可以包括:
Web逻辑控制层如果判断不需要多线程,则将所述执行命令的相关参数整合为一个Key=>Value形式的HASH数组,并且将数组序列化为字符串;参数整合完毕后,Web逻辑控制层调用一单线程转接模块,进行命令执行。
该应用实例中,所述步骤B还可以包括:
远程过程调用客户端设置方法对应的远程过程调用的库文件路径、线程数及执行控制器组;
远程过程调用服务器模块生成远程过程调用对象,并且向远程过程调用对象中注册基础命令执行对象和相对应的方法。
该应用实例中,所述步骤C还可以包括:
如果在控制器组中某控制器状态非Active或者TakeOver状态,控制器ID加1以后,查询对端控制的状态,其状态也为非Active或者TakeOver状态,则表示一对控制器都已经失效;给上层Web返回错误信息。
多线程转接模块在给上层Web返回错误信息后,探测控制器0到控制器7的状态,使用命令停止所有控制器对外提供的服务和相关存储资源;控制器0到控制器7都进入到Inactive状态,停止对外提供服务。
该应用实例中,所述步骤C还可以包括:
在判断控制状态为非Active或者TakeOver是,判断方法对应的控制器转换变量是否为真,如果为假,则将控制器组中对应的项删除;
实施例二,一种高端磁盘阵列控制器命令执行系统,如图4所示,包括:
存储模块、Web逻辑控制模块、多线程转接模块及执行模块;
所述存储模块用于保存预先配置的执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;
所述Web逻辑控制模块用于通过接收命令,查找执行该命令的相关参数;如果根据所述线程数确定需要多线程,则调用所述多线程转接模块;
所述多线程转接模块用于根据所述线程数生成多个线程;
所述执行模块用于执行各线程,分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器,执行所述命令;执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果传递给所述Web逻辑控制模块。
本实施例中,所述系统中的各模块可以但不限于全部或部分集成在服务器中,实际应用中也不排除独立存在;通过采用本实施例的系统,在B/S架构下,客户端通过浏览器发送命令即可实现多线程执行。
本实施例中,远程过程调用可以但不限于采用超文本传输协议,并且使用标准80端口。
本实施例中,所述多线程转接模块还可以用于在生成多线程前,判断所述控制器组中各控制器的状态,对于已经不能正常提供服务的控制器进行切换,使所述控制器组中所有控制器都可服务。
本实施例中,所述执行模块分别根据所述远程过程调用执行路径远程调用所述控制器组中的相应控制器执行所述命令可以是指:
所述执行模块根据所述执行命令的相关参数确定远程过程调用执行路径;分别根据各控制器的标识、以及预先保存的控制器ID和IP地址之间的对应关系,查找该控制器对应的控制器IP地址;将控制器IP地址和远程过程调用执行路径合并形成远程过程调用的实际路径;通过远程过程调用的实际路径生成远程过程调用客户端对象,执行所述命令。
所述预先保存的控制器ID和IP地址之间的对应关系可以但不限于由所述客户端预先配置好。
本实施例中,所述系统还可以包括共享内存;该共享内存和所述存储模块在物理上可以用同一个存储器实现。
所述多线程转接模块还可以用于在生成多线程前,根据所述线程数,为每个线程开辟用于存储该线程执行结果的共享内存空间;
所述执行模块可以将各线程执行完后将所述执行结果写入到相应的共享内存区域。
本实施例中,所述Web逻辑控制模块还可以用于将所述执行命令的相关参数整合为HASH数组,将数组序列化为字符串后发送给所述多线程转接模块;
所述多线程转接模块被调用后,反序列化传入的字符串为HASH数组形式;查询HASH数组确定执行方法名称;通过方法名称查询执行命令对应的远程过程调用路径、命令执行需要的线程数、需要执行的控制器组、对应的控制器转换变量等所述执行命令的相关参数。
本实施例中,所述执行模块收集各线程返回的执行结果,连接为一个整体返回结果传递给所述Web逻辑控制模块可以是指:
所述执行模块收集所述共享内存中的各个线程的返回结果,并且使用标记区分每个控制器的返回结果,将标记后的各线程的返回结果连接为一个整体返回结果,通过所述多线程转接模块返回给所述Web逻辑控制模块;
所述Web逻辑控制模块还用于根据所述标记在所述整体返回结果中获取每个控制器的返回结果,并进行反序列化为原有函数的返回结果形式,返回给所述客户端。
其它实现细节可以同实施例一所述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (8)
1.一种高端磁盘阵列控制器命令执行方法,包括:
配置并在服务器中保存执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;
接收Web的传递命令,确定执行该命令的相关参数;如果根据所述线程数确定执行该命令需要多线程,则根据所述线程数生成多个线程;
各线程根据所述执行命令的相关参数确定远程过程调用执行路径;分别根据各控制器标识、以及预先保存的控制器标识和IP地址之间的对应关系,查找该控制器对应的控制器IP地址;将控制器IP地址和所述远程过程调用执行路径合并形成远程过程调用的实际路径;通过远程过程调用的实际路径生成远程过程调用客户端对象,执行所述命令;执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果传递给所述客户端。
2.如权利要求1所述的方法,其特征在于,在确定需要多线程的步骤后、生成多个线程的步骤前还包括:
判断所述控制器组中各控制器的状态,对于已经不能正常提供服务的控制器进行切换。
3.如权利要求1或2所述的方法,其特征在于,所述方法在确定需要多线程的步骤后、生成多个线程的步骤前还包括:
根据所述线程数,为每个线程开辟用于存储该线程执行结果的共享内存空间;
各线程执行所述命令的步骤后还可以包括:
各线程将执行完后将所述执行结果写入到相应的共享内存区域。
4.如权利要求3所述的方法,其特征在于,所述收集各线程返回的执行结果,连接为一个整体返回结果的步骤具体包括:
主线程收集所述共享内存中的各个线程的返回结果,并且使用标记区分每个控制器的返回结果,将标记后的各线程的返回结果进行连接为一个整体返回结果。
5.一种高端磁盘阵列控制器命令执行系统,其特征在于,包括:
存储模块、Web逻辑控制模块、多线程转接模块及执行模块;
所述存储模块用于保存预先配置的执行命令的相关参数;所述相关参数包括控制器组、线程数及远程过程调用执行路径;
所述Web逻辑控制模块用于通过接收命令,查找执行该命令的相关参数;如果根据所述线程数确定需要多线程,则调用所述多线程转接模块;
所述多线程转接模块用于根据所述线程数生成多个线程;
所述执行模块用于执行各线程,根据所述执行命令的相关参数确定远程过程调用执行路径;分别根据各控制器标识、以及预先保存的控制器标识和IP地址之间的对应关系,查找该控制器对应的控制器IP地址;将控制器IP地址和远程过程调用执行路径合并形成远程过程调用的实际路径;通过远程过程调用的实际路径生成远程过程调用客户端对象,执行所述命令;执行完毕后收集各线程返回的执行结果,连接为一个整体返回结果传递给所述Web逻辑控制模块。
6.如权利要求5所述的系统,其特征在于:
所述多线程转接模块还用于在生成多线程前,判断所述控制器组中各控制器的状态,对于已经不能正常提供服务的控制器进行切换。
7.如权利要求5或6所述的系统,其特征在于,还包括:共享内存;
所述多线程转接模块还用于在生成多线程前,根据所述线程数,为每个线程开辟用于存储该线程执行结果的共享内存空间;
所述执行模块将各线程执行完后将所述执行结果写入到相应的共享内存区域。
8.如权利要求7所述的系统,其特征在于,所述执行模块收集各线程返回的执行结果,连接为一个整体返回结果传递给所述Web逻辑控制模块是指:
所述执行模块收集所述共享内存中的各个线程的返回结果,并且使用标记区分每个控制器的返回结果,将标记后的各线程的返回结果进行连接为一个整体返回结果,通过所述多线程转接模块返回给所述Web逻辑控制模块;
所述Web逻辑控制模块还用于根据所述标记在所述整体返回结果中获取每个控制器的返回结果,并进行反序列化为原有函数的返回结果形式,返回给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010112831 CN101815089B (zh) | 2010-02-22 | 2010-02-22 | Web高端磁盘阵列控制器命令执行方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010112831 CN101815089B (zh) | 2010-02-22 | 2010-02-22 | Web高端磁盘阵列控制器命令执行方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101815089A CN101815089A (zh) | 2010-08-25 |
CN101815089B true CN101815089B (zh) | 2013-06-19 |
Family
ID=42622204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010112831 Active CN101815089B (zh) | 2010-02-22 | 2010-02-22 | Web高端磁盘阵列控制器命令执行方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101815089B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929560B (zh) * | 2012-09-27 | 2015-06-10 | 浪潮(北京)电子信息产业有限公司 | 一种可动态调整的磁盘阵列系统及其调整方法 |
CN103645940A (zh) * | 2013-12-04 | 2014-03-19 | 清华大学 | 远程调用方法及系统 |
CN106972960A (zh) * | 2017-03-17 | 2017-07-21 | 杭州全视软件有限公司 | 一种适配联网探测器、控制器的方法 |
CN107592230B (zh) * | 2017-09-22 | 2023-02-21 | 北京奇艺世纪科技有限公司 | 一种跟踪信息获取方法及装置 |
CN108322527A (zh) * | 2018-01-23 | 2018-07-24 | 平安科技(深圳)有限公司 | 数据传输处理方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540481A (zh) * | 2003-10-31 | 2004-10-27 | 清华大学 | 基于网格环境的多计算引擎协同使用方法 |
CN101123620A (zh) * | 2007-08-28 | 2008-02-13 | 南京联创科技股份有限公司 | 大量业务的并发请求的电子数据处理的方法 |
-
2010
- 2010-02-22 CN CN 201010112831 patent/CN101815089B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540481A (zh) * | 2003-10-31 | 2004-10-27 | 清华大学 | 基于网格环境的多计算引擎协同使用方法 |
CN101123620A (zh) * | 2007-08-28 | 2008-02-13 | 南京联创科技股份有限公司 | 大量业务的并发请求的电子数据处理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101815089A (zh) | 2010-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700991B2 (en) | Multi-cluster resource management | |
US10050857B2 (en) | System and method for supporting a selection service in a server environment | |
CN105549904B (zh) | 一种应用于存储系统中的数据迁移方法及存储设备 | |
EP3058690B1 (en) | System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database | |
EP2932370B1 (en) | System and method for performing a transaction in a massively parallel processing database | |
US8943294B2 (en) | Software architecture for service of collective memory and method for providing service of collective memory using the same | |
US6167430A (en) | Multicomputer with distributed directory and operating system | |
US10379883B2 (en) | Simulation of high performance computing (HPC) application environment using virtual nodes | |
CN105677251B (zh) | 基于Redis集群的存储系统 | |
CN101815089B (zh) | Web高端磁盘阵列控制器命令执行方法及系统 | |
CN105242872A (zh) | 一种面向虚拟集群的共享存储系统 | |
CN113849137B (zh) | 一种面向申威容器平台的可视化块存储方法和系统 | |
US10545909B2 (en) | Computing system management using shared memory | |
CN102664952A (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
CN114510321A (zh) | 资源调度方法、相关装置和介质 | |
US10698637B2 (en) | Stale block resynchronization in NVM based systems | |
US20170041402A1 (en) | Method for transparently connecting augmented network socket operations | |
US20240037026A1 (en) | Memory pooling, provisioning, and sharing | |
Oliveira et al. | P 3: Parallel Peer to Peer An Internet Parallel Programming Environment | |
CN112905332A (zh) | 一种基于LVS负载均衡Django架构实现英文PDF在线快速翻译方法 | |
CN106919338A (zh) | 一种适用于软件定义存储的Flash存储访问处理方法及系统 | |
US20070157212A1 (en) | Context key routing for parallel processing in an application serving environment | |
CN107660281B (zh) | 同步分布式计算运行时间的系统和方法 | |
Vishnu et al. | Building scalable PGAS communication subsystem on Blue Gene/Q | |
CN115714747B (zh) | 基于Kubernetes的集群内部网络流量优化方法、设备、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201110 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Patentee after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C Patentee before: Inspur (Beijing) Electronic Information Industry Co.,Ltd. |
|
TR01 | Transfer of patent right |