一种用于存储管理软件的代理控制系统的制作方法

文档序号:12752681阅读:195来源:国知局
一种用于存储管理软件的代理控制系统的制作方法与工艺

本发明涉及服务器存储技术领域,特别是涉及一种用于存储管理软件的代理控制系统。



背景技术:

随着信息技术的发展,服务器得到了飞速的进步。存储管理软件是服务器系统不可或缺的一部分。

在存储管理软件应用中,一般会和多个外部服务器进行交互,例如邮箱服务器、仲裁服务器和加密服务器等,因此在存储管理软件内部设有多个服务器的代理。各个代理均会有和外部服务器的链路测试,链路的例测,链路断开时的告警和重连等功能以及易用性等方面的考虑,因此,在产品功能中会存在多个几乎完全相同的流程,从而导致了代码的重复,资源的成倍使用以及维护成本的增加。

因此,如何节省存储管理软件中代理所用的资源,减少维护成本,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种用于存储管理软件的代理控制系统,可以节省存储管理软件中代理所用的资源,减少维护成本。

为解决上述技术问题,本发明提供了如下技术方案:

一种用于存储管理软件的代理控制系统,包括:

设置在各个存储节点上的框架SA,所述框架SA用于与自身存储节点上的业务模块互联;

设置在各个存储节点上的插件部,所述插件部包括n个插件,n为不小于1的整数,且同一存储节点上的所述插件和所述业务模块一一对应,各所述插件包括一个对应的代理;

设置在主存储节点上的链路功能模块,用于根据状态机机制控制各所述插件执行各链路动作。

优选地,所述链路功能模块包括:

链路信息读取单元,用于在所述主存储节点进入初始状态后,读取各所述插件的插件信息和对应的外部服务器的服务器信息;

链路建立单元,用于控制所述主存储节点和各从存储节点建立链路。

优选地,所述链路建立单元包括:

建链消息发送子单元,用于依次发送建链消息至各所述存储节点,控制各所述存储节点调用相应的插件的接口建立链路;

第一判断子单元,用于判断当前存储节点链路建立是否成功,并在判定当前存储节点链路建立成功时发出链路建立成功信号控制所述建链消息发送子单元向下一个存储节点发送建链消息,在判定当前存储节点链路建立失败时,发出链路断开信号。

优选地,所述链路功能模块还包括:

链路例测单元,用于每隔第一预设时间间隔例测一次各链路,判断各链路是否连通,若有链路不通,则再次例测,并在两次例测均不成功时发出链路断开信号。

优选地,所述链路功能模块还包括:

链路重建单元,用于在接收到链路断开信号时,每隔第二预设时间间隔从所有存储节点遍历建立链路。

优选地,所述链路功能模块还包括:

链路告警单元,用于在当前业务对应的插件的外部服务器配置存在,且断开连接时,上报该业务对应的链路不通的告警。

优选地,各所述框架SA中设有加密单元,用于在当前业务所在的存储节点和请求的外部服务器对应的插件所在存储节点不同时,对互联的消息进行加密。

优选地,各所述框架SA中设有解密单元,用于在用于在当前业务所在的存储节点和请求的外部服务器对应的插件所在存储节点不同时,对已加密的反馈的互联的消息进行解密。

优选地,所述框架SA包括:

第一判断单元,用于判断自身存储节点上的业务模块的业务请求的外部服务器对应的插件是否位于自身所在存储节点;

插件调用单元,用于在所述第一判断单元判定自身存储节点上的业务模块的业务请求的外部服务器对应的插件位于自身所在存储节点时,调用该插件和该外部服务器交互;

消息转发单元,用于在所述第一判断单元判定自身存储节点上的业务模块的业务请求的外部服务器对应的插件不位于自身所在存储节点时,转发消息至对应的目标存储节点中的框架SA中的插件调用单元。

与现有技术相比,上述技术方案具有以下优点:

本发明所提供的一种存储管理软件的代理控制系统,包括:设置在各个存储节点上的框架SA,框架SA用于与自身存储节点上的业务模块互联;设置在各个存储节点上的插件部,插件部包括n个插件,n为不小于1的整数,且同一存储节点上的插件和业务模块一一对应,各插件包括一个对应的代理;设置在主存储节点上,用于根据状态机机制控制各插件执行各链路动作的链路功能模块。在本发明中,各代理以插件的形式引入系统中,并且采用主存储节点的链路功能模块以状态机机制统一完成各个插件的链路动作,从而打破原有的代理管理机制的冗余,对各代理进行统一的管理,从根本上解决了各个代理各自管理的代码冗余,节省了代理所用的资源,同时减少了维护成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种具体实施方式所提供的用于存储管理软件的代理控制系统逻辑结构示意图。

图2为本发明一种具体实施方式所提供的主存储节点状态机运行流程图;

图3为本发明一种具体实施方式所提供的链路建立时序图。

具体实施方式

本发明的核心是提供一种用于存储管理软件的代理控制系统,可以节省存储管理软件中代理所用的资源,减少维护成本。

为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。

请参考图1,图1为本发明一种具体实施方式所提供的用于存储管理软件的代理控制系统逻辑结构示意图。

本发明的一种具体实施方式提供了一种用于存储管理软件的代理控制系统,包括:设置在各个存储节点上的框架SA,框架SA用于与自身存储节点上的业务模块互联;设置在各个存储节点上的插件部,插件部包括n个插件,n为不小于1的整数,且同一存储节点上的插件和业务模块一一对应,各插件包括一个对应的代理;设置在主存储节点上的链路功能模块,用于根据状态机机制控制各插件执行各链路动作。

在本实施方式中,优选框架SA包括:第一判断单元,用于判断自身存储节点上的业务模块的业务请求的外部服务器对应的插件是否位于自身所在存储节点;插件调用单元,用于在第一判断单元判定自身存储节点上的业务模块的业务请求的外部服务器对应的插件位于自身所在存储节点时,调用该插件和该外部服务器交互;消息转发单元,用于在第一判断单元判定自身存储节点上的业务模块的业务请求的外部服务器对应的插件不位于自身所在存储节点时,转发消息至对应的目标存储节点中的框架SA中的插件调用单元。

如图1所示,以包括三个节点、两个外部服务器的用于存储管理软件的代理控制系统的逻辑为例进行说明。在该系统中,每一列为一个存储节点。第一存储节点1、第二存储节点2和第三存储节点3均包括一个框架SA、一个插件A和一个插件B。当第三存储节点3中的业务模块B请求对象为服务器B时,业务模块B发送业务消息至第三存储节点3的框架SA,该框架SA判断链路在同一存储节点(节点3)上,则直接调用第三存储节点3的插件B和服务器B交互,从而完成业务模块B和服务器B的交互。而当第一存储节点1的业务模块A的业务请求对象为服务器A时,此时服务器A对应的插件A位于第二存储节点2,此时,该业务模块A发送业务消息至第一存储节点1的框架SA,该框架SA判断链路节点不在本节点(第一存储节点1),则转发该业务消息至链路节点(第二存储节点2),然后第二存储节点2中的框架SA调用服务器A对应的第二存储节点2中的插件A来和服务器A进行交互,并将服务器A返回的消息返回给第一存储节点1的框架SA,第一存储节点1的框架SA收到该返回的消息后转给第一存储节点1的业务模块A。

在本实施方式中,各代理以插件的形式引入系统中,并且采用主存储节点的链路功能模块以状态机机制统一完成各个插件的链路动作,从而打破原有的代理管理机制的冗余,对各代理进行统一的管理,从根本上解决了各个代理各自管理的代码冗余,节省了代理所用的资源,同时减少了维护成本。

需要说明的是,在本实施方式中,主存储节点上的链路功能模块可以集成在该主存储节点上的框架SA中。

还需要说明的是,在本实施方式中,在存储管理软件中的所有存储节点中选取一个存储节点作为主存储节点,其余存储节点作为从存储节点,该主存储节点中设有链路功能模块,以将各个代理相同的管理流程性功能集成在一个节点上。

还需要说明的是,该系统优选以二进制的形式在各个存储节点上无差别部署框架SA,并且一直处于运行状态。

请参考图2和图3,图2为本发明一种具体实施方式所提供的主存储节点状态机运行流程图;图3为本发明一种具体实施方式所提供的链路建立时序图。

在本发明的一种实施方式中,链路功能模块包括:链路信息读取单元,用于在主存储节点进入初始状态后,读取各插件的插件信息和对应的外部服务器的服务器信息;链路建立单元,用于控制主存储节点和各从存储节点建立链路。

进一步地,链路建立单元包括:建链消息发送子单元,用于依次发送建链消息至各存储节点,控制各存储节点调用相应的插件的接口建立链路;第一判断子单元,用于判断当前存储节点链路建立是否成功,并在判定当前存储节点链路建立成功时发出链路建立成功信号控制建链消息发送子单元向下一个存储节点发送建链消息,在判定当前存储节点链路建立失败时,发出链路断开信号。

更进一步地,链路功能模块还包括:链路例测单元,用于每隔第一预设时间间隔例测一次各链路,判断各链路是否连通,若有链路不通,则再次例测,并在两次例测均不成功时发出链路断开信号。

链路重建单元,用于在接收到链路断开信号时,每隔第二预设时间间隔从所有存储节点遍历建立链路。

链路告警单元,用于在当前业务对应的插件的外部服务器配置存在,且断开连接时,上报该业务对应的链路不通的告警。

在本实施方式中,如图2所示,由于主存储节点上的链路功能模块根据状态机机制控制各插件执行各链路动作。即该系统支持主存储节点以状态机的形式实现链路信息的读取,链路建立、链路维护和链路断开等链路功能,其余存储节点进入循环等待以便接收主存储节点的消息。主存储节点进入初始状态,即图2中的“初始”,其链路信息读取单元读取各插件的插件信息和外部服务器的服务器信息,如IP、端口、证书等信息,从而完成链路信息的读取,进入建立链路状态,即图2中的“建链”。主存储节点进入建链状态时,如图3所示,其中,图3以包括3个存储节点为例进行说明。从0号节点开始依次发消息给各个节点,其中,按照预设顺序将所有的存储节点进行编号,0号节点即主存储节点,各个节点收到该消息后开始调用自身的插件提供的接口开始建立链路,若建链成功则返回主存储节点链路建立成功信号,即图2中“正常”状态,若不成功则开始下一存储节点的建链,直到链路建立成功或失败,链路建立成功则进行链路例测状态,建立失败则进入链路断开状态,即图2中的“断开”。0号节点首先向自身发消息开始建立链路,链路建立成功或失败后,0号节点向1号节点发消息开始建立链路,链路建立成功或失败后,0号节点向2号节点发消息开始建立链路。当前链路处于链路例测状态时,主存储节点的链路例测单元每隔第一预设时间间隔例测一次链路,如每隔15秒例测一次链路,判断该链路是否连通,若连通则继续循环,即图2中的循环例测,若不通则可以再次例测,若联系两次例测均不成功则进入链路断开状态,即图2中的例测失败进入“断开”状态。当当前链路处于链路断开状态时,主存储节点的链路重建单元每隔第二预设时间间隔,如每隔30秒,尝试从所有的存储节点遍历建立链路,以防网络闪断或网络中断后自动恢复。

由于链路功能模块还包括了链路告警单元,则若插件的外部服务器配置存在,并且无法连接,则上报该链路不通的告警,提供用户进行链路维修,从而提升了易用性。若用户修复链路后则可以自动恢复该告警。

在本发明的一种实施方式中,各框架SA中设有加密单元,用于在当前业务所在的存储节点和请求的外部服务器对应的插件所在存储节点不同时,对互联的消息进行加密。

各框架SA中设有解密单元,用于在用于在当前业务所在的存储节点和请求的外部服务器对应的插件所在存储节点不同时,对已加密的反馈的互联的消息进行解密。

有时请求外部服务器对应的存储节点和链路连接节点不在同一个节点,如图1所示的第一存储节点的业务模块A对应的外部服务器为第二存储节点的插件A对应的服务器A。此时,需要消息转发功能,并且通过加密单元对消息进行加密,如采用AES256进行消息加密,从而保证消息的安全性,当外部服务器返回消息后,该消息也可以服务器所对应的存储节点的加密单元进行加密,而该业务模块对应的存储节点的解密单元则可将加密的消息解密后返回给该业务模块。

综上所述,本发明所提供的用于存储管理软件的代理控制系统,各个代理以插件的形式集成到管理框架SA中,主存储节点的框架SA同一对各个服务器进行链路测试,链路例测、链路断开时告警和重连机制,从根本上解决了各个代理各自管理的代码冗余,以及造成的资源浪费问题,实现了人力的释放,节约了开发成本。

以上对本发明所提供的一种用于存储管理软件的代理控制系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1