一种数据存储方法及系统的制作方法_3

文档序号:8457114阅读:来源:国知局
匹配请求丢失或者失效等;存储提供设备就需要重新执行步骤S300,重新获取网络中的存储需求设备的存储需求信息,以继续进行存储空间的匹配。
[0105]通过在每个设备上进行步骤S300和步骤S400,不需要增加额外的设备,即可进行存储空间的匹配。并且,各个设备自行进行存储空间匹配,可以实现分布式的运用,保证匹配的及时性,降低对硬件的要求。
[0106]本发明的另一个实施例中,步骤S100、S200以及S300在一个设备或者模块上集中进行。存储空间匹配也可以在一个设备或模块上集中进行,以实现存储空间匹配的集中、有序。如图3所示,步骤S400具体包括:
[0107]步骤S401:根据存储需求信息与存储提供信息,生成存储需求设备序列和存储提供设备序列。
[0108]根据获取的存储需求值、存储提供值的大小或者时间,生成存储需求设备序列和存储提供设备序列。为了保证序列的时效性,存储需求信息和存储提供信息可以包括有效时间,在生成设备序列时,可以剔除已经超过有效时间的存储需求设备或者存储提供设备。
[0109]步骤S402:根据存储需求设备序列,在存储提供设备序列中寻找满足存储需求设备的存储需求值的存储提供设备;
[0110]当找到存储提供设备时,进入步骤S403 ;否则进入步骤S300。
[0111]根据存储需求设备序列的顺序,依次给序列中的存储需求设备,在存储提供设备序列中寻找满足需求的存储提供设备。满足需求的第一原则是,存储提供值大于该存储需求设备的存储需求值。
[0112]由于满足第一原则的存储提供设备可能很多,为了进一步筛选存储提供设备,综合利用存储提供设备提供的存储空间,减小存储空间的碎片化,本实施例中,可以根据存储需求值与存储提供值的接近程度来选择。具体的,计算存储提供值与该存储需求设备的存储需求值的比值。如果该比值处在设定的范围(该范围为I?NA,NA为设定值,可以根据实际进行改变,比如NA的值在I?1.2之间的某个值)之内,则选择落在设定范围内的最小比值对应的存储提供设备。如果在设定范围内没有比值存在,则选择存储提供值最大的存储提供设备。当然,在进一步的选择中,也可以根据获取存储提供值的时间来进行选择。
[0113]如果找到满足要求的存储提供设备,则进入步骤S403,完成存储空间匹配。如果本步骤中,没有找到满足要求的存储提供设备,则返回步骤S300,重新获取存储需求信息和存储提供信息。当然,也可以剔除该存储需求设备,在存储需求设备序列中,继续给序列中的存储需求设备寻找满足要求的存储提供设备。
[0114]步骤S403:向存储需求设备和找到的存储提供设备发送匹配信息,确认存储空间匹配成功。
[0115]步骤S500:存储空间匹配成功的存储提供设备分配存储空间给存储需求设备使用。
[0116]存储空间匹配成功后,存储提供设备需要分配存储空间给匹配的存储需求设备使用。存储提供设备可以通过attach动作,也可以通过增加虚拟设备或者其它方式,完成存储空间的分配。存储提供设备需要将分配的存储空间记入到该存储提供设备的所需的存储空间,重新计算其所需的存储空间,进行步骤S100。这样,分配的存储空间就不会被本地或者其它设备使用,剩余的存储空间还可以继续进行分配。
[0117]存储需求设备接收到存储提供设备分配的存储空间之后,可以对该存储空间进行读写操作。存储需求设备可以通过网络将数据存储到该存储空间。根据需要,存储需求设备也可以读取、删除分配的存储空间上的数据。
[0118]当存储提供设备的配置要求改变,比如提高了码率,或者更改了编码格式,或者改变了存储类型等,可能导致所需的存储空间增加。此时,存储提供设备可以解除存储空间匹配,收回分配的存储空间;也可以将该存储提供设备变为存储需求设备,在网络中进行存储空间匹配。
[0119]当存储提供设备选择解除存储空间匹配时,存储提供设备可以发出解除请求,存储需求设备根据解除请求,重新计算所需的存储空间,重新执行步骤SlOO及后续步骤,在网络中重新进行存储空间的匹配。当该存储需求设备重新完成存储空间的匹配后,将存储在原存储提供设备中的数据转移到新存储提供设备,并解除与原存储提供设备的存储空间匹配。原存储提供设备可以自由使用该分配的存储空间。
[0120]本发明通过计算存储需求值和存储提供值,对网络中的存储需求设备和存储提供设备进行存储空间匹配,实现网络中存储设备的综合利用。本发明充分利用了网络中其它设备的存储空间,来实现数据的存储,不需要增加额外的成本,即可解决存在新老设备共存系统中的数据存储问题。
[0121]实施例二
[0122]在实施例一中,总是存在有一个或多个存储提供设备的存储提供值大于存储需求设备的存储需求值,存储需求设备与一个存储提供设备进行存储空间匹配,即可满足其存储需求。但是,在实际情况中,也存在存储需求设备的存储需求值很大,以至于网络中没有单个的存储提供设备的存储提供值可以满足其存储需求的情形。为了能够适用于网络中不存在一个存储提供设备的存储提供值大于存储需求设备的存储需求值的情形,本发明还提供了实施例二。
[0123]如图4所示,与实施例一相比,实施例二中,步骤S300还包括:
[0124]步骤S301:判断是否存在存储提供设备的存储提供值大于存储需求设备的存储需求值;
[0125]如果是,则进入步骤S400 ;如果否,则进入步骤S302。
[0126]在本实施例中,在获取网络中存储需求设备的存储需求信息和存储提供设备的存储提供信息,应当判断网络中是否存储提供设备的存储提供值大于存储需求设备的存储需求值。如果是,则按照实施例一的方案进行存储空间匹配。如果否,则需要进行本实施例中的后续步骤。
[0127]步骤S302:判断获取的存储提供设备的存储提供值之和是否小于存储需求设备的存储需求值;
[0128]如果是,则方法结束;如果否,进入步骤S303。
[0129]当网络中不存在单一的存储提供设备的存储提供值大于或等于某个存储需求设备的存储需求值时,本实施例还需要进一步判断网络中所有的存储提供值之和是否大于或等该存储需求设备的存储需求值。也就是判断整个网络中的存储提供值能否满足该存储需求值。如果整个网络的存储提供值都不能满足该存储需求值时,本方法结束。只有网络中的存储提供值能够满足该存储需求值时,本方法才进入到步骤S303,进行存储需求的拆分,以进行后续的存储空间匹配。
[0130]步骤S303:根据获取的存储提供设备的存储提供值,将存储需求设备分解为至少两个虚拟的存储需求设备,虚拟的存储需求设备的存储需求值小于或等于获取的存储提供设备之一的存储提供值,进入步骤S300。
[0131]本步骤是对存储需求进行拆分。具体的,首先对网络中存储提供设备的存储提供值按照大小顺序进行排序;然后按照存储提供值序列,将存储需求设备的存储需求值拆分为至少两个虚拟的存储需求设备的存储需求值。拆分的标准是,首先拆分为与最大的存储提供值相等的值,然后是序列中逐步变小的值,直到存储需求值的余值小于存储提供值序列中剩余的存储提供值。
[0132]本发明实施例二,通过对存储需求设备的存储需求值进行拆分,使得本方法能够适用于网络中不存在一个存储提供设备的存储提供值大于存储需求设备的存储需求值的情形,提高了本方法的适用性。
[0133]实施例三
[0134]本发明还提供了一种数据存储系统。如图6所示,本实施例的数据存储系统包括:计算模块100、判断模块200、网络模块300、匹配模块400和分配模块500。
[0135]计算模块100,用于根据配置要求,计算设备所需的存储空间。
[0136]监控网络中,各设备通过网络连接在一起,设备上有自己的存储空间。监控网络中的设备会设置一定的配置要求,包括分辨率、编码格式、码率、数据路数、数据存储时间等。根据设备配置的码率、数据路数和数据存储时间等,即可计算得到该设备存储监控数据所需的存储空间。
[0137]较优的,计算所需的存储空间时,使用设置的最大码率较好,这样可以预留一定的冗余空间。
[0138]设备所需的存储空间的计算,既可以在初始的时候进行,也可以在更改了配置要求后进行。本实施例中,设备所需的存储空间可以根据配置要求的改变而进行定期或者实时的更新,比如更改了存储时间、编码格式或者码率等,就需要重新计算设备所需的存储空间。
[0139]判断模块200,用于根据设备实际的存储空间与所需的存储空间,判断设备是存储需求设备还是存储提供设备,当判断为存储需要设备时计算存储需求设备的存储需求值,当判断为存储提供设备时计算存储提供设备的存储提供值。
[0140]具体的,如图10所示,判断模块200具体包括:初步判断单元210、需求认定单元220、冗余判断单元230和提供认定单元240。
[0141]初步判断单元210,用于判断设备的实际的存储空间是否小于所需的存储空间,如果是,发送信息给需求认定单元;如果否,发送信息给冗余判断单元230。
[0142]需求认定单元220,用于判断该设备为存储需求设备,该存储需求设备的存储需求值为所需的存储空间与实际的存储空间的差值。
[0143]如果设备实际的存储空间小于所需的存储空间,则认定设备为存储需求设备,存储需求值为所需的存储空间与实际的存储空间之间的差值。
[0144]冗余判断单元230,用于计算该设备的实际的存储空间与所需的存储空间之间的存储差值,判断存储差值是否大于设定的阈值,如果是,发送信息给提供认定单元;如果否,判断该设备为正常设备。
[0145]提供认定单元240,用于判断该设备为存储提供设备,该存储提供设备的存储提供值为存储差值与设定的阈值的差值。
[01
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1