发明内容
本发明提供一种基于RAID阵列的信息处理方法和设备,以减轻VM服务器的性能压力。
为了达到上述目的,本发明提供一种基于独立磁盘冗余阵列RAID阵列的信息处理方法,应用于包括存储设备、管理服务器、视频客户端的监控系统中,所述存储设备由RAID阵列和热备盘构成,该方法包括以下步骤:
所述管理服务器获得业务信息,将所述业务信息存储到所述存储设备的热备盘中,并记录所述业务信息在所述热备盘中的索引信息;
所述管理服务器将所述索引信息通知给所述视频客户端,由所述视频客户端根据所述索引信息从所述热备盘中获得所述业务信息。
所述管理服务器将所述索引信息通知给所述视频客户端,具体包括:
所述管理服务器通过自身与视频客户端之间的会话初始协议SIP保活消息将所述索引信息通知给所述视频客户端。
所述索引信息包括所述业务信息存储在所述热备盘中的地址信息;
所述视频客户端根据所述索引信息从所述热备盘中获得所述业务信息,具体包括:
所述视频客户端接收来自所述管理服务器的SIP保活消息,从所述SIP保活消息中获得所述业务信息存储在所述热备盘中的地址信息,并根据所述地址信息从所述热备盘中读取所述业务信息。
所述管理服务器将所述索引信息通知给所述视频客户端,之后还包括:所述管理服务器删除自身记录的所述索引信息;
当有新的视频客户端查询所述业务信息时,所述管理服务器将自身存储的所述业务信息通知给所述新的视频客户端。
在将所述业务信息存储到所述热备盘时,所述管理服务器将从所述热备盘的尾部开始存储所述业务信息;
当需要通过所述热备盘与所述RAID阵列进行阵列重建时,从所述热备盘的头部开始进行阵列重建。
在所述热备盘与所述RAID阵列进行阵列重建的过程中,所述管理服务器根据预设周期查询是否还有空闲的热备盘;如果有,则所述管理服务器将业务信息存储到所述空闲的热备盘中。
一种管理服务器,应用于包括存储设备、所述管理服务器、视频客户端的监控系统中,所述存储设备由RAID阵列和热备盘构成,所述管理服务器包括:
处理模块,用于获得业务信息,将所述业务信息存储到所述存储设备的热备盘中,并记录所述业务信息在所述热备盘中的索引信息;
发送模块,用于将所述索引信息通知给所述视频客户端,由所述视频客户端根据所述索引信息从所述热备盘中获得所述业务信息。
所述发送模块,具体用于通过自身与视频客户端之间的会话初始协议SIP保活消息将所述索引信息通知给所述视频客户端。
所述处理模块,还用于删除自身记录的所述索引信息;
所述发送模块,还用于当有新的视频客户端查询所述业务信息时,将自身存储的所述业务信息通知给所述新的视频客户端。
所述处理模块,具体用于在将所述业务信息存储到所述热备盘时,从所述热备盘的尾部开始存储所述业务信息。
所述处理模块,还用于在所述热备盘与所述RAID阵列进行阵列重建的过程中,根据预设周期查询是否还有空闲的热备盘;如果有,则将业务信息存储到所述空闲的热备盘中。
与现有技术相比,本发明至少具有以下优点:VM服务器通过将告警信息存储到存储设备的热备盘中,并将告警信息的存储地址通知给VC,使得VC可以直接从存储设备上得到告警信息,不再需要VM服务器将告警信息通知给各VC,从而有效的降低了VM服务器的连接及发送数据的负担。
具体实施方式
本发明提出一种基于RAID阵列的信息处理方法,该方法应用于包括存储设备、管理服务器和视频客户端(即VC)的监控系统中,存储设备由RAID阵列和热备盘构成,管理服务器用于实现VM服务器和DM服务器的功能,根据实际组网的需求,还可以直接部署VM服务器和DM服务器,以图1为本发明参考网络模型示意图,监控系统中直接部署VM服务器和DM服务器。
基于上述网络情况,如图2所示,该信息处理方法包括以下步骤:
步骤201,VM服务器获得业务信息。该业务信息为VM服务器上需要通知给VC的信息,包括但不限于告警信息,后续以告警信息为例。
具体的,VM服务器可按照现有的处理方式获得告警信息,该告警信息的来源包括但不限于EC、VM服务器、DM服务器、存储设备;在获得告警信息后,VM服务器还需要在本地数据库中记录告警信息。
步骤202,VM服务器将告警信息存储到存储设备的热备盘中,并记录告警信息在热备盘中的索引信息。
由于VM服务器与存储设备之间建立有iSCSI(InternetSmallComputerSystemInterface,Internet小型计算机系统接口)连接,因此VM服务器可直接利用已建立的iSCSI连接,将告警信息存储到存储设备的热备盘中。
需要注意的是,在将告警信息存储到热备盘时,告警信息在热备盘中的存储地址由预先建立的告警信息文件系统进行记录,以方便定位读取;而且VM服务器可获得告警信息在热备盘中的索引信息(包括存储地址),以在后续过程中由VC根据该存储地址获得告警信息。
以下对告警信息文件系统进行详细说明。其中,热备盘中的告警信息文件系统由数据区和索引区两部分组成,数据区用于记录告警信息,索引区用于记录告警信息的存储地址。
具体的,告警信息文件系统首部有一个128KB大小的一级索引,用于记录每个通道的告警信息在告警信息文件系统中的位置,如表1所示。在一级索引之后为数据区,数据区以16MB为单位,每个单位中记录对应通道的告警信息内容;且在每个数据单位中又按照告警等级分为四个小单位,每个单位大小为4M,同时每个小单位的头部建有一个128K大小的2级索引表,用于记录每条告警信息的大小、产生的时间及起始偏移位,如表2所示。需要注意的是,上述索引的大小、数据区的单位等只是本发明的一种优选方式,实际应用中还可以进行调整。
表1一级索引表
通道名称 |
告警数据区大小 |
起始偏移量 |
System |
16M |
0 |
EC1-1 |
16M |
16 |
EC2-1 |
16M |
32 |
EC2-3 |
16M |
48 |
...... |
...... |
...... |
通道名称:为不同来源的告警信息,System为系统一级的告警信息,为来源于VM服务器、DM服务器、存储设备和EC控制器的告警信息;其他记录项则对应于不同的EC通道告警信息,当有新的EC通道加入到监控系统中时,在一级索引表中加入新的通道记录。
告警数据区大小:此处取值以16M为例,即每个通道的告警记录地址大小固定为16MB大小,此值大小可以由系统根据经验值进行预设。
起始偏移量:为每个通道告警信息数据区与起始位置相比的偏移位置大小,此值由数据区大小来决定。
表2二级索引表
告警等级 |
告警信息产生日期 |
时间 |
大小 |
起始偏移位 |
一级 |
2011-6-13 |
18:46:32 |
2 |
0 |
一级 |
2011-6-14 |
0:25:28 |
3 |
2 |
一级 |
2011-6-15 |
4:18:06 |
2 |
5 |
一级 |
2011-6-15 |
9:27:23 |
4 |
7 |
...... |
...... |
...... |
...... |
...... |
告警等级:本条告警信息所属的告警等级情况,可以分为四级(实际应用中可以调整),数字越小优先度越高。
告警信息产生日期:本条告警信息产生的年月日。
时间:本条告警信息产生的24小时下具体时间。
大小:本条告警信息大小。
起始偏移位:本条信息相对应本小单元起始位置的偏移大小。
基于上述告警信息文件系统在热备盘中存储的告警信息的索引情况,VM服务器在将告警信息存储到告警信息文件系统时,可以在本地同步一份一级索引表、二级索引表,从而可以得到告警信息存储在热备盘中的地址信息、时间信息、以及通道信息等。
步骤203,VM服务器将索引信息通知给VC。其中,该索引信息可以为上述的一级索引表、二级索引表。
具体的,VM服务器可以通过自身与VC之间的SIP(会话初始协议)保活消息将索引信息通知给VC。需要说明的是,VM服务器与VC之间将定期发送SIP保活信息,本发明中,VM服务器可以利用该SIP保活信息将告警信息对应的索引信息通知给VC。
步骤204,VC根据索引信息从热备盘中获得告警信息。
本发明中,该索引信息中包括告警信息存储在热备盘中的地址信息、时间信息、以及通道信息等,基于上述索引信息,VC可从热备盘中获得告警信息。具体的,在接收到来自VM服务器的SIP保活消息后,VC可以从SIP保活消息中获得告警信息存储在热备盘中的地址信息,并利用该地址信息从热备盘中读取告警信息。
需要注意的是,VC与存储设备之间的iSCSI连接在第一次获取告警信息后将持续保活,在读取告警信息的过程中,VC可以利用该iSCSI连接直接从热备盘中读取告警信息。
本发明中,VM服务器将索引信息通知给VC之后,该VM服务器还可以删除自身记录的告警信息对应的索引信息;之后,当有新的VC需要查询该告警信息时,VM服务器可以直接将自身存储的告警信息(VM服务器的数据库中记录有所有告警信息)通知给新的VC;当然,在实际应用中,VM服务器也可以先将告警信息存储到热备盘的特定区域,然后按照上述方案,由VC到存储设备的热备盘中读取告警信息,在此不再赘述。
需要说明的是,热备盘上存储的告警信息只是为了分担VM服务器的告警信息分发的压力,因此在数据单元写满后将会被删除(覆盖),以便在发生热备盘需要参与重建时,所需迁移数据较少(或不需迁移,在重建完成前就能够发送完毕);同时VC读取的只是热备盘中的数据,并不会对EC码流写入RAID阵列造成压力。
以下对阵列重建过程进行说明(可由RAID控制器实现重建过程)。
由于将告警信息存储到热备盘时,VM服务器从热备盘的尾部开始存储告警信息,即从尾部开始,在尾部到头部的方向上依次存储告警信息(即告警信息文件系统从热备盘尾部开始存储),因此,当告警信息所在RAID阵列由于一个磁盘损坏,需要通过热备盘与RAID阵列进行阵列重建时,则可以马上从热备盘的头部开始进行阵列重建,且并不会马上破坏告警信息的相关数据。
在热备盘与RAID阵列进行阵列重建的过程中,DM服务器根据预设周期查询其管理的存储设备上是否还有空闲的热备盘;如果有,则DM服务器将空闲的热备盘所在的存储设备地址通知给VM服务器,由VM服务器与该空闲的热备盘所在存储设备建立连接,并在其上创建新的告警信息文件系统。之后,VM服务器可以将获得的告警信息存储到空闲的热备盘中。该情况下,VM服务器将同时存在两个告警信息文件系统的索引信息,当SIP保活消息发送时,VM服务器按照时间点读取两个告警信息文件系统中的存储地址,发送到VC,并当SIP保活消息通信完成后,删除旧告警信息文件系统的索引。
需要说明的是,如果没有空闲的热备盘,则VM服务器可以切换到现有技术进行告警信息的转发。待DM服务器查询到所管理的存储设备中重新拥有空闲的热备盘时,则在热备盘中创建告警信息文件系统,并通知给VM服务器,将数据库中的告警信息重新写入告警信息文件系统,恢复到由存储设备发送告警信息的状态。
以下结合一种具体的应用场景进行详细说明。
步骤1、VM服务器接收到来自监控系统的三级告警信息、通道EC1-1的一级告警信息、通道EC1-2的二级告警信息。
步骤2、VM服务器通过与存储设备建立的iSCSI连接,将告警信息存储到热备盘的告警信息文件系统中。
需要注意的是,VM服务器还需要更新相应的一、二级索引,且基于上述表1,由于没有新的EC通道接入,因此一级索引不进行更新。
由于system告警信息为三级告警信息,因此存储在对应的第三小数据单位里,并在二级索引中加入了相应记录,如表3所示。由于通道EC1-1是一级告警信息,因此存储在对应的第一小数据单位里,并在二级索引中加入了相应记录,如表4所示。由于通道EC1-2是二级告警信息,因此存储在对应的第二小数据单位里,并在二级索引中加入了相应记录,如表5所示。
表3System三级告警信息的二级索引表
告警等级 |
告警信息产生日期 |
时间 |
大小 |
起始偏移位 |
三级 |
2011-6-13 |
1:15:31 |
1 |
0 |
三级 |
2011-6-14 |
11:37:27 |
5 |
1 |
三级 |
2011-6-15 |
3:14:17 |
3 |
6 |
三级 |
2011-6-15 |
9:27:25 |
6 |
9 |
...... |
...... |
...... |
...... |
...... |
表4EC1-1一级告警信息的二级索引表
告警等级 |
告警信息产生日期 |
时间 |
大小 |
起始偏移位 |
一级 |
2011-6-13 |
18:46:32 |
2 |
0 |
一级 |
2011-6-14 |
0:25:28 |
3 |
2 |
一级 |
2011-6-15 |
4:18:06 |
2 |
5 |
一级 |
2011-6-15 |
9:27:23 |
4 |
7 |
...... |
...... |
...... |
...... |
...... |
表5EC1-2二级告警信息的二级索引表
告警等级 |
告警信息产生日期 |
时间 |
大小 |
起始偏移位 |
二级 |
2011-6-15 |
2:29:21 |
3 |
0 |
二级 |
2011-6-15 |
9:27:23 |
5 |
3 |
...... |
...... |
...... |
...... |
...... |
步骤3、VM服务器在本地同步告警信息文件系统的索引信息,并在与VC保活的SIP报文中发送与前一个保活报文之间产生的告警信息存储地址。
步骤4、VC通过SIP保活报文得到告警信息地址后,通过与存储设备建有的iSCSI连接,读取告警信息文件系统中的告警信息内容。
基于与上述方法同样的发明构思,本发明还提出了一种管理服务器,应用于包括存储设备、所述管理服务器、视频客户端的监控系统中,所述存储设备由RAID阵列和热备盘构成,如图3所示,所述管理服务器包括:
处理模块11,用于获得业务信息,将所述业务信息存储到所述存储设备的热备盘中,并记录所述业务信息在所述热备盘中的索引信息;
发送模块12,用于将所述索引信息通知给所述视频客户端,由所述视频客户端根据所述索引信息从所述热备盘中获得所述业务信息。
所述发送模块12,具体用于通过自身与视频客户端之间的会话初始协议SIP保活消息将所述索引信息通知给所述视频客户端。
所述处理模块11,还用于删除自身记录的所述索引信息;
所述发送模块12,还用于当有新的视频客户端查询所述业务信息时,将自身存储的所述业务信息通知给所述新的视频客户端。
所述处理模块11,具体用于在将所述业务信息存储到所述热备盘时,从所述热备盘的尾部开始存储所述业务信息。
所述处理模块11,还用于在所述热备盘与所述RAID阵列进行阵列重建的过程中,根据预设周期查询是否还有空闲的热备盘;如果有,则将业务信息存储到所述空闲的热备盘中。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。