一种数据存储系统以及一种数据存储方法_4

文档序号:8380682阅读:来源:国知局
包括:数据块管理器; 所述磁盘管理器进一步用于,记录各存储介质的剩余空间; 所述数据块管理器,用于针对每个存储介质,分别利用一个状态位图来记录该存储介质中的各数据块的存储状态;其中,如果一数据块中未写入数据,则在所述状态位图中将其记录为1,否则,记录为O ;或者,如果一数据块中未写入数据,则在所述状态位图中将其记录为O,否则,记录为I ; 所述业务接口管理器进一步用于,通过查询所述磁盘管理器来分配可用于写入数据的存储介质,并将所分配的存储介质以及需要写入的数据量大小通知给所述数据块管理器; 所述数据块管理器进一步用于,根据所分配的存储介质对应的状态位图,确定其中未写入数据的数据块,并按照需要写入的数据量大小,从未写入数据的数据块中选出M个数据块,作为所分配的可用于写入数据的数据块,并通知给所述业务接口管理器,所述M为正整数。
5.根据权利要求4所述的系统,其特征在于,所述数据块管理器按照就近原则进行数据块的选择。
6.根据权利要求4所述的系统,其特征在于, 所述系统中进一步包括:数据库和数据索引管理器; 所述数据索引管理器,用于当确定存在已经写入数据、但未写满的数据块时,将该数据块及其剩余空间记录到所述数据库中; 所述业务接口管理器进一步用于,在将所分配的存储介质以及需要写入的数据量大小通知给所述数据块管理器之前,通知所述数据索引管理器查找所分配的存储介质中是否存在未写满的数据块,如果是,则根据需要写入的数据量大小以及未写满的数据块的剩余空间大小,按照优先使用未写满的数据块、其次使用未写入数据的数据块的原则,分配可用于写入数据的数据块; 所述数据索引管理器进一步用于,通过查询所述数据库,确定所分配的存储介质中是否存在未写满的数据块,并将确定结果返回给所述业务接口管理器。
7.根据权利要求1所述的系统,其特征在于, 所述系统中进一步包括:数据库和数据索引管理器; 所述数据索引管理器,用于在所述数据库中建立并维护系统中所存储的数据的索引信息; 所述业务接口管理器进一步用于,当接收到读数据请求时,通知所述数据索引管理器查找需要读取的数据所在的存储介质和数据块,并接收所述数据索引管理器返回的查找结果; 所述读写任务处理器进一步用于,从需要读取的数据所在的存储介质的数据块中读取出需要读取的数据,并返回给所述业务接口管理器,由所述业务接口管理器返回给用户; 所述数据索引管理器进一步用于,根据所述数据库中的索引信息,查找出需要读取的数据所在的存储介质和数据块,并返回给所述业务接口管理器。
8.根据权利要求7所述的系统,其特征在于, 所述读写任务处理器进一步用于,在将需要写入的数据写入到所分配的存储介质的数据块中的同时,将需要写入的数据缓存到预先建立的缓存区中;当所述缓存区已满时,按照先进先出的原则删除所缓存的数据;当接收到读数据请求时,如果需要读取的数据缓存在所述缓存区中,则从所述缓存区中进行读取。
9.根据权利要求7或8所述的系统,其特征在于, 所述读写任务处理器采用异步写数据的方式向数据块中写入数据; 所述读写任务处理器采用异步读数据的方式从数据块中读取数据。
10.一种数据存储方法,其特征在于,包括: 将接入到系统中的各存储介质分别进行格式化; 其中,每个格式化后的存储介质中包括:主信息区和数据区,所述主信息区中包括N个信息块,所述数据区中包括N个数据块,所述N为正整数;每个信息块唯一对应一个数据块; 当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。
11.根据权利要求10所述的方法,其特征在于, 每个格式化后的存储介质中进一步包括:存储介质头和备份信息区; 所述存储介质头用于记录所在存储介质的基本信息; 所述备份信息区用于对所述存储介质头以及所述主信息区中的信息进行备份。
12.根据权利要求10所述的方法,其特征在于, 该方法进一步包括:针对每个存储介质,分别利用一个状态位图来记录该存储介质中的各数据块的存储状态;其中,如果一数据块中未写入数据,则在所述状态位图中将其记录为1,否则,记录为O ;或者,如果一数据块中未写入数据,则在所述状态位图中将其记录为O,否则,记录为I ; 所述分配可用于写入数据的存储介质和数据块包括:分配可用于写入数据的存储介质;根据所分配的存储介质对应的状态位图,确定其中未写入数据的数据块,并按照需要写入的数据量大小,从未写入数据的数据块中选出M个数据块,作为所分配的可用于写入数据的数据块,所述M为正整数。
13.根据权利要求12所述的方法,其特征在于, 所述从未写入数据的数据块中选出M个数据块包括:按照就近原则,从未写入数据的数据块中选出M个数据块。
14.根据权利要求12所述的方法,其特征在于, 所述分配可用于写入数据的存储介质和数据块包括:分配可用于写入数据的存储介质;确定所分配的存储介质中是否存在已经写入数据、但未写满的数据块;如果是,则根据需要写入的数据量大小以及未写满的数据块的剩余空间大小,按照优先使用未写满的数据块、其次使用未写入数据的数据块的原则,分配可用于写入数据的数据块。
15.根据权利要求10所述的方法,其特征在于, 该方法进一步包括:建立并维护系统中所存储的数据的索引信息; 当接收到读数据请求时,根据所述索引信息确定需要读取的数据所在的存储介质和数据块,并从需要读取的数据所在的存储介质的数据块中读取出需要读取的数据。
16.根据权利要求15所述的方法,其特征在于, 该方法进一步包括:在将需要写入的数据写入到所分配的存储介质的数据块中的同时,将需要写入的数据缓存到预先建立的缓存区中;当所述缓存区已满时,按照先进先出的原则删除所缓存的数据;当接收到读数据请求时,如果需要读取的数据缓存在所述缓存区中,则从所述缓存区中进行读取。
17.根据权利要求15或16所述的方法,其特征在于, 所述向数据块中写入数据包括:采用异步写数据的方式写入数据; 所述从数据块中读取数据包括:采用异步读数据的方式读取数据。
【专利摘要】本发明公开了一种数据存储方法和系统:将接入到系统中的各存储介质分别进行格式化;其中,每个格式化后的存储介质中包括:主信息区和数据区,主信息区中包括N个信息块,数据区中包括N个数据块,N为正整数;每个信息块唯一对应一个数据块;当接收到写数据请求时,分配可用于写入数据的存储介质和数据块;将需要写入的数据写入到所分配的存储介质的数据块中,并将需要写入的数据的附属信息记录到对应的信息块中。应用本发明所述方案,能够简化设计,降低实现复杂度。
【IPC分类】G06F3-06
【公开号】CN104699416
【申请号】CN201310667616
【发明人】汪渭春, 林起芊, 闫春, 周佳
【申请人】杭州海康威视系统技术有限公司
【公开日】2015年6月10日
【申请日】2013年12月10日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1