一种存储设备管理方法及装置与流程

文档序号:11154397
一种存储设备管理方法及装置与制造工艺

本发明属于安防监控领域,尤其涉及一种存储设备管理方法及装置。



背景技术:

随着人们对安防监控的需求持续增长,越来越多的厂商投入到安防监控设备的生产中,在实际应用中,经常会出现在同一场景下,存在多个厂商提供的多个型号的存储设备的情况。

由于缺乏统一的标准,各个厂商的存储设备可能会有不同的软件开发工具包(Software Development Kit,SDK),用户往往需要依靠各个厂商提供的管理软件分别对相应的存储设备进行监控和管理,使用不便且效率低下。



技术实现要素:

鉴于此,本发明实施例提供一种存储设备管理方法及装置,以解决现有的存储设备管理使用不便且效率低下的问题。

本发明实施例提供的一种存储设备管理方法,包括:

获取待执行的管理操作和对应的存储设备型号;

加载与所述存储设备型号对应的预置的适配库;

调用与所述适配库对应的SDK接口执行所述待执行的管理操作。

进一步地,在调用与所述适配库对应的SDK接口之前,还包括:

判断所述待执行的管理操作是否属于预设的通用操作;

若所述待执行的管理操作不属于预设的通用操作,则执行预设的差异化处理,以使传入所述适配库的参数与所述适配库对应的SDK接口的输入参数相匹配。

进一步地,在加载与所述存储设备型号对应的预置的适配库之前,还包括:

获取各个厂家的存储设备的SDK的差异化信息;

将所述差异化信息写入预设的配置文件。

进一步地,所述差异化处理具体包括:

从所述配置文件中获取与所述存储设备型号对应的差异化信息;

根据所述差异化信息对传入所述适配库的参数进行解析,得到与所述适配库对应的SDK接口的输入参数相匹配的解析结果。

进一步地,在获取待执行的管理操作和对应的存储设备型号之前,还包括:

获取各个厂家的存储设备的SDK;

分别添加与所述各个厂家的存储设备的SDK对应的适配库,所述适配库的接口与所述各个厂家的存储设备的SDK接口一致。

本发明实施例提供的一种存储设备管理装置,包括:

操作信息获取模块,用于获取待执行的管理操作和对应的存储设备型号;

加载模块,用于加载与所述存储设备型号对应的预置的适配库;

执行模块,用于调用与所述适配库对应的SDK接口执行所述待执行的管理操作。

进一步地,所述装置还包括:

判断模块,用于判断所述待执行的管理操作是否属于预设的通用操作;

差异化处理模块,用于若所述待执行的管理操作不属于预设的通用操作,则执行预设的差异化处理,以使传入所述适配库的参数与所述适配库对应的SDK接口的输入参数相匹配。

进一步地,所述装置还包括:

差异化信息获取模块,用于获取各个厂家的存储设备的SDK的差异化信息;

写入模块,用于将所述差异化信息写入预设的配置文件。

进一步地,所述差异化处理模块包括:

获取单元,用于从所述配置文件中获取与所述存储设备型号对应的差异化信息;

解析单元,用于根据所述差异化信息对传入所述适配库的参数进行解析,得到与所述适配库对应的SDK接口的输入参数相匹配的解析结果。

进一步地,所述装置还包括:

SDK获取模块,用于获取各个厂家的存储设备的SDK;

适配库添加模块,用于分别添加与所述各个厂家的存储设备的SDK对应的适配库,所述适配库的接口与所述各个厂家的存储设备的SDK接口一致。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例获取待执行的管理操作和对应的存储设备型号;根据所述存储设备型号加载对应的预置的适配库;通过所述适配库调用对应的存储设备的SDK接口进行所述待执行的管理操作。通过本发明实施例,对不同的存储设备加载对应的预置的适配库,调用与适配库对应的SDK接口执行待执行的管理操作,实现了对各个厂商的存储设备的统一管理,与之前所采用的对各个厂商的存储设备分别进行管理相比,使用方便且效率更高。

附图说明

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

图1是本发明实施例一提供的一种存储设备管理方法的示意流程图;

图2是本发明实施例一提供的一种存储设备管理方法中所述适配库的预置过程的示意流程图;

图3是本发明实施例二提供的一种存储设备管理方法的示意流程图;

图4是本发明实施例二提供的一种存储设备管理方法中所述差异化信息预先写入预设的配置文件的示意流程图;

图5是本发明实施例三提供的一种存储设备管理装置的示意框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

本实施例提供了一种存储设备管理方法,所述方法要求提供需要进行管理的各个厂家的存储设备的SDK,并且需要管理的存储设备在功能上是相似的。

所述方法将存储设备管理系统分为三层,分别为UI层、业务逻辑层和SDK适配层。其中,UI层用于与管理人员进行交互,SDK适配层用于与各个厂家的存储设备的SDK进行适配,业务逻辑层位于UI层与SDK适配层之间,承接UI层和SDK适配层的数据交换。每层之间按具体的功能和业务定义统一的接口,这些接口和设备厂家类型没有关系。UI层和业务逻辑层不对设备的厂家类型做区分,只按具体的业务和功能进行统一处理。

参见图1,是本发明实施例一提供的一种存储设备管理方法的示意流程图。

步骤S101,获取待执行的管理操作和对应的存储设备型号。

所述存储设备可以包括数字视频录像机(Digital Video Recorder,DVR)和网络视频录像机(Network Video Recorder,NVR)。

所述DVR采用硬盘录像,故常常被称为硬盘录像机,DVR是一套进行图像存储处理的系统,具有对图像/语音进行长时间录像、录音、远程监视和控制的功能,集合了录像机、画面分割器、云台镜头控制、报警控制、网络传输等多种功能于一身。

所述NVR又被称为网络硬盘录像机,NVR最主要的功能是通过网络接收网络摄像机(IP Camera,IPC)设备传输的数字视频码流,并进行存储、管理,从而实现网络化带来的分布式架构优势。通过NVR,可以同时观看、浏览、回放、管理、存储多个网络摄像机。

所述待执行的管理操作可以是由管理人员通过用户界面(User Interface,UI)对所述存储设备发出的操作指令。在存在多个不同厂家生产的不同型号的存储设备的情况下,管理人员可以在UI上选择一个或多个所要进行操作的存储设备。容易理解地,所述待执行的管理操作是针对被选择的存储设备进行的。

步骤S102,加载与所述存储设备型号对应的预置的适配库。

一般地,各个厂家的的存储设备可以有不同的SDK,本发明实施例所提供的方法可以分别预置与所述各个厂家的存储设备的SDK对应的适配库,由所有这些所述预置的适配库可以组成SDK适配层,所述预置的适配库可以把各个厂家的SDK接口变成SDK适配层统一接口提供给业务逻辑层。

业务逻辑层可以通过所述存储设备型号动态加载对应厂家的SDK所对应的预置的适配库。

步骤S103,调用与所述适配库对应的SDK接口执行所述待执行的管理操作。

业务逻辑层可以把所述适配库的地址赋值给所述存储设备,通过访问所述存储设备的这个地址,就能访问所述存储设备所对应的所述适配库,进而访问所述存储设备的SDK,进一步地,可以调用与所述适配库对应的SDK接口执行所述待执行的管理操作。

优选地,参见图2,步骤S102中所述适配库可以通过以下步骤进行预置:

步骤S201,获取各个厂家的存储设备的SDK。

一般地,各个厂家的存储设备的SDK的接口和功能都不同,所以首先需要获取各个厂家的存储设备的SDK,以供后续添加与之对应的适配库。

步骤S202,分别添加与所述各个厂家的存储设备的SDK对应的适配库,所述适配库的接口与所述各个厂家的存储设备的SDK接口一致。

由所有这些所述预置的适配库可以组成SDK适配层,所述适配库的接口与所述各个厂家的存储设备的SDK接口一致,以使所述适配库和对应的SDK可以兼容。

优选地,所述适配库还可以将各个厂家的SDK封装为SDK适配层统一接口提供给业务逻辑层。

为了更直观地阐述本发明实施例所述内容,下面以对某存储设备进行登入操作为例进行说明。本发明实施例可以通过UI获取待执行的管理操作和对应的存储设备型号,管理人员首先可以通过UI选择进行登入操作的选项,登入某存储设备一般需要的输入参数可以包括:设备名称、设备型号、设备IP、登入端口、用户名和密码等,管理人员可以通过UI输入这些参数。其中,设备名称可以由管理人员根据实际情况来命名,跟设备没有关系;设备型号是要登入的这个存储设备属于的厂家的具体型号,可以把所有厂家的设备型号都放在预设的配置文件中,添加新的存储设备只需要修改所述预设的配置文件即可;设备IP、登入端口、用户名和密码等参数在各个厂家设备中的默认值也不一样,可以在所述预设的配置文件中进行配置。

当管理人员在UI上完成这些参数的输入,点击添加按钮,UI层获得这些参数,转换为消息发送给业务逻辑层,消息格式可以为:cmdtype=login,devicetype=HK,deviceip=192.168.0.1,port=443,username=admin,pa ssword=admin,参数之间可以通过逗号隔开,其中cmdtype表示具体的消息命令为登入消息,devicetype表示存储设备型号,后面表示具体的参数。上述消息格式仅为示例,在实际应用中,所述消息的格式可以根据具体情况来定,在本发明实施例中不做具体限定。

业务逻辑层收到这条UI消息,解析这条消息,根据devicetype所表示的存储设备型号找到对应的预置的适配库的地址,加载与所述存储设备型号对应的预置的适配库,然后调用与所述适配库对应的SDK接口执行所述登入操作。

对于各个不同的存储设备的通用操作来说,只和配置文件和对应的预置的适配库有关系;中间的UI层和业务逻辑层是直接透传的,对不同的存储设备没有差异。

通过本发明实施例,对不同的存储设备加载对应的预置的适配库,调用与适配库对应的SDK接口执行待执行的管理操作,实现了对各个厂商的存储设备的统一管理,与之前所采用的对各个厂商的存储设备分别进行管理相比,使用方便且效率更高。

实施例二:

在实际应用中,可能会出现不同的存储设备在功能上是相似的,但相关功能有部分的差异或冲突的情况,本发明实施例在实施例一的基础上,增加了对这些情况的差异化处理过程,把这些差异按厂家类型写入配置文件,通过业务逻辑层直接透传到SDK适配层的相应适配库上,由适配库做解析,从而达到把这些冲突控制在每个适配库上,不影响UI层和业务逻辑层。

参见图3,是本发明实施例二提供的一种存储设备管理方法的示意流程图。

步骤S301,获取待执行的管理操作和对应的存储设备型号。

步骤S302,加载与所述存储设备型号对应的预置的适配库。

步骤S303,判断所述待执行的管理操作是否属于预设的通用操作。

步骤S304,若所述待执行的管理操作不属于预设的通用操作,则执行预设的差异化处理,以使传入所述适配库的参数与所述适配库对应的SDK接口的输入参数相匹配。

优选地,所述步骤S304具体可以包括:

步骤S3041,从配置文件中获取与所述存储设备型号对应的差异化信息。

步骤S3042,根据所述差异化信息对传入所述适配库的参数进行解析,得到与所述适配库对应的SDK接口的输入参数相匹配的解析结果。

步骤S305,调用与所述适配库对应的SDK接口执行所述待执行的管理操作。

优选地,参见图4,本发明实施例中的所述差异化信息可以通过以下步骤预先写入预设的配置文件:

步骤S401,获取各个厂家的存储设备的SDK的差异化信息。

步骤S402,将所述差异化信息写入预设的配置文件。

本发明实施例所述各步骤中,步骤S301与实施例一中的步骤S101相同,步骤S302与实施例一中的步骤S102相同,步骤S305与实施例一中的步骤S103相同,具体可参考实施例一中的描述,在此不再赘述。

为了更直观地阐述本发明实施例所述内容,下面以对不同厂家的存储设备进行录像搜索操作为例进行具体说明。

使用本实施例所述的方法分别对两个不同厂家的存储设备进行录像搜索,其中,搜索A厂家的存储设备的录像,需要根据设备的通道号,时间和录像文件类型进行搜索,其中录像文件类型可以包括:所有录像(All)、手动录像类型(Mannual)和报警录像类型(Alarm);搜索B厂家的存储设备的录像,需要根据设备的通道号,时间和录像分区类型搜索,其中录像分区可以包括:主要区(Prime sector)和长期区(Long sector)。

分析后得到这两个厂家的存储设备的SDK的差异化信息为录像文件类型和分区类型,将所述差异化信息写入预设的配置文件。

在本例中,对A厂家的差异化信息可以以如下格式写入预设的配置文件:

在本例中,对B厂家的差异化信息可以以如下格式写入预设的配置文件:

上述差异化信息的格式仅为示例,在实际应用中,差异化信息的格式可以根据具体情况来定,在本发明实施例中不做具体限定。

当需要进行录像搜索操作时,对该操作是否属于预设的通用操作进行判断,在本例中,录像搜索操作不属于预设的通用操作,则执行预设的差异化处理,以使传入所述适配库的参数与所述适配库对应的SDK接口的输入参数相匹配。所述差异化处理具体可以包括:从所述配置文件中获取与所述存储设备型号对应的差异化信息,根据所述差异化信息对传入所述适配库的参数进行解析,得到与所述适配库对应的SDK接口的输入参数相匹配的解析结果。

在本例中,如果选择的是A厂家的存储设备,则可以从所述配置文件中获取与A厂家的存储设备型号对应的差异化信息,获取PlayBackTypeList->DisplayName的值,并把对应的UI的下拉框的显示名称修改为这个名称,即File type,接着获取PlayBackTypeList->PlayBackType->Name和PlayBackTypeList->PlayBackType->Value的值,修改这个下拉框选择项的UI名称和数值,配置文件中定义了几个PlayBackType就列出几个选择项。对于A厂家的存储设备而言下拉框显示的就是All、Alarm和Manual。

在本例中,如果选择的是B厂家的存储设备,则可以从所述配置文件中获取与B厂家的存储设备型号对应的差异化信息,获取PlayBackTypeList->DisplayName的值,并把对应的UI的下拉框的显示名称修改为这个名称,即Sector,接着获取PlayBackTypeList->PlayBackType->Name和PlayBackTypeList->PlayBackType->Value的值,修改这个下拉框选择项的UI名称和数值,配置文件中定义了几个PlayBackType就列出几个选择项。对于B厂家的存储设备而言下拉框显示的就是Prime sector和LongTerm sector。

在UI上点击录像搜索按钮,UI层获取录像搜索的设备通道、录像搜索的时间、录像分区或录像文件类型的下拉框选择项的值,转换为消息发送给业务逻辑层,对于A厂家的存储设备而言,消息格式可以为:

cmdtype=record_serch,devicetype=A,deviceip=192.168.0.1,channel=1,starttim e=xxx,endtime=xxx,type=1

对于B厂家的存储设备而言,消息格式可以为:

cmdtype=record_serch,devicetype=B,deviceip=192.168.0.1,channel=1,starttim e=xxx,endtime=xxx,type=1

参数之间通过逗号隔开,其中cmdtype表示具体的消息命令为录像搜索消息,devicetype表示厂家设备型号,后面表示具体的参数,其中type为选择下拉框的值。

上述消息格式仅为示例,在实际应用中,所述消息的格式可以根据具体情况来定,在本发明实施例中不做具体限定。

业务逻辑层收到这条UI消息,解析这条消息,根据devicetype所表示的存储设备型号找到对应的预置的适配库的地址,加载与所述存储设备型号对应的预置的适配库,在适配库中解析业务逻辑层传入的参数。对于A厂家的存储设备而言,解析出录像搜索按照录像文件类型进行;对于B厂家的存储设备而言,解析出录像搜索按照录像分区类型进行。做出上述解析之后,调用与所述适配库对应的SDK接口执行所述录像搜索操作。

通过本发明实施例,在实施例一的基础上,增加了对相关功能有部分的差异或冲突的情况的差异化处理过程,不仅实现了对各个厂商的存储设备的统一管理,还可以有针对性的进行差异化处理,具有更好的适应性和实用性。

实施例三:

参见图5,是本发明实施例三提供的一种存储设备管理装置的示意框图,为了便于说明,仅示出与本发明实施例相关的部分。

该存储设备管理装置可以是内置于终端(例如手机、平板电脑、笔记本、计算机等)内的软件单元、硬件单元或者软硬结合的单元,也可以作为独立的挂件集成到所述终端中。

所述存储设备管理装置可以包括:

操作信息获取模块501,用于获取待执行的管理操作和对应的存储设备型号;

加载模块502,用于加载与所述存储设备型号对应的预置的适配库;

执行模块503,用于调用与所述适配库对应的SDK接口执行所述待执行的管理操作。

进一步地,所述装置还可以包括:

判断模块504,用于判断所述待执行的管理操作是否属于预设的通用操作;

差异化处理模块505,用于若所述待执行的管理操作不属于预设的通用操作,则执行预设的差异化处理,以使传入所述适配库的参数与所述适配库对应的SDK接口的输入参数相匹配。

进一步地,所述装置还可以包括:

差异化信息获取模块506,用于获取各个厂家的存储设备的SDK的差异化信息;

写入模块507,用于将所述差异化信息写入预设的配置文件。

进一步地,所述差异化处理模块505可以包括:

获取单元5051,用于从所述配置文件中获取与所述存储设备型号对应的差异化信息;

解析单元5052,用于根据所述差异化信息对传入所述适配库的参数进行解析,得到与所述适配库对应的SDK接口的输入参数相匹配的解析结果。

进一步地,所述装置还可以包括:

SDK获取模块508,用于获取各个厂家的存储设备的SDK;

适配库添加模块509,用于分别添加与所述各个厂家的存储设备的SDK对应的适配库,所述适配库的接口与所述各个厂家的存储设备的SDK接口一致。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

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