一种基于fpga的云存储卡片装置及其实现方法_3

文档序号:9396632阅读:来源:国知局
>[0176] (5a)主系统开启属性索引所在硬盘的驱动程序;
[0177] (6a)主系统查找请求数据所在的硬盘、分区、数据库、表和行信息;
[0178] (7a)所在数据的行的作废字段中写入" 1",表示作废;
[0179] (8a)新增更改后的数据行,当进行删除操作时则忽略这一步
[0180] (9a)主系统返回终端任务结果
[0181] (IOa)然后,重复第一部分的步骤(16i)到步骤(21i)的操作内容;
[0182] 四、数据位置快速查找方法:
[0183] (Ib)所有文件或数据所在的行、表、库、分区和硬盘制作索引行;
[0184] (2b)把索引行存放的表、库、分区和硬盘信息写入配置芯片;
[0185] (3b)使用频度最高或按规则制定的数据位置信息直接存放在配置芯片上;
[0186] (4b)主系统启动后,在内存数据库中生成索引表数据库;
[0187] (5b)内存数据库中存放配置芯片中的索引表;
[0188] (6b)硬盘启动后,在硬盘索引表中加载常用索引到内存数据库;
[0189] (7b)数据操作时,先查询内存数据库,无记录时再查询硬盘;
[0190] 五、异常重启主系统:
[0191] (Ic)自维护系统接收主系统的任务开始;
[0192] (2c)规定时间无任务完成时,请求主系统返回任务状态查;
[0193] (3c)主系统在规定时间内无回应异常时,请求主系统关闭;
[0194] (4c)主系统无法关闭时,断开主系统电源;
[0195] (5c)接通主系统电源,当步骤(3c)关闭正常时该步骤省略;
[0196] (6c)开启主系统程序,当步骤(3c回应正常时省略该步骤;
[0197] (7c)转发主系统异常任务;
[0198] (8c)主系统重新开启异常任务;
[0199] 六、数据表、数据库、分区、硬盘备份、还原、格式化和分区方法:具体如图10所示, 为主系统硬盘维护流程,(格式化);
[0200] (Id)根据自维护规则或远程指令或本地指令触发;
[0201] (2d)目标硬盘、分区、数据库、数据表的确定;
[0202] (3d)将目标硬盘中的数据备份到空闲硬盘;
[0203] (4d)对目标硬盘或分区进行实时格式化操作;
[0204] (5d)目标硬盘实时分区后格式化,当仅针对分区操作时省略该步骤;
[0205] (6d)源数据还原到维护好的硬盘和分区内;
[0206] 七、主系统的备份、系统重装或还原的方法,还原的内容含用户数据:具体如图11 所示,为自维护系统重装主系统的流程,此流程触发条件为预设的维护规则或本地或远程 的维护指令:
[0207] (Ie)根据自维护规则或远程指令或本地指令触发;
[0208] (2e)准备需维护的系统文件或系统数据;
[0209] (3e)将原系统所在的配置芯片和存储器中的数据进行备份;
[0210] (4e)抹除原系统并安装新系统;
[0211] (5e)还原原系统中的用户数据;
[0212] (6e)重装检测任务执行;
[0213] (7e)异常时原系统复原;
[0214] (Se)人为重装维护消息发送人工终端。
[0215] 所述系统部件寿命的监视方法如下:
[0216] (If)系统中的各个部件设定有效工作时间和待机老化时间;
[0217] (2f)自维护系统每次系统启动和关闭时记录寿命;
[0218] (3f)各个部件到达寿命时切换备用部件;
[0219] (4f)无备用部件时发送人为维护消息到人工终端。
[0220] 此部分是硬件故障前切换备用或提醒人工终端,做到故障前维护。
[0221] 如图8所示,在低耗待机系统中,其操作方法如下:
[0222] (Ig)主系统根据规则或远程或本地指令,自我关闭系统;
[0223] (2g)此时,低耗待机系统启动,并接通充电电池线路;
[0224] (3g)充电电池异常时,接通纽扣电池线路;
[0225] (4g)充电电池不足时,接通充电电源;
[0226] (5g)充电时间异常时,发送人为维护请求到终端;
[0227] (6g)充电电池充满时,断开充电电源;
[0228] (7g)然后,再断开主系统电源;
[0229] (Sg)待机系统间歇启动网络模块,监视通信请求;
[0230] (9g)待机系统间歇监视充电电池电量,此时可触发至步骤(4g)到步骤(7g);
[0231] (IOg)主系统接到通信请求时,接通主系统电源;
[0232] (Ilg)当接通主系统电源后,本系统的电源切换到主系统进行供应。
[0233] 如图9所示,为各路硬盘启动和关闭流程:通过低耗待机流程中的主系统控制部 分的流程,可以实现单个硬盘线路的接通和断开、开启和关闭,触发条件为预设的操作规则 或接收数据请求后或者完成数据操作任务后,也可根据本地或远程指令控制。
[0234] 配置芯片(即EEP芯片)中,数据库索引结构:
[0235] 以下数据是主系统启动加载到内存数据库的索引信息:
[0236] Struct 硬盘信息{unsigned char 硬盘编号;unsigned char 硬盘线路;unsigned char分区数量;…}
[0237] Struct所有硬盘{struct硬盘信息A盘;struct硬盘信息B盘;…}
[0238] Struct索引表{char索引表[];char所在的总路径[]}
[0239] Struct文件{char文件名[];char所在的总路径[]}
[0240] Struct常用列表{struct文件文件I ;struct文件文件2 ;…}
[0241] 内存数据库中索引表结构:
[0242] 大体的数据结构如同配置芯片中的数据,不同的是系统访问硬盘中的总数据索引 表,其中加载更多容量的常用文件目录。
[0243] 硬盘数据库中索引表结构
[0244] 大体的数据结构如同配置芯片中的数据,不同的是存放所有硬盘中的数据的索 引。
[0245] 数据存放字段结构
[0246] Struct字段属性{unsigned int数据字段编号;unsigned char数据字段类 型;…}
[0247] Struct数据块位置{unsigned int数据开始;unsigned int数据结束;}
[0248] Struct表数据块位置{unsigned char数据表编号;Struct数据块位置块;Struct 数据块位置块2; ···}
[0249] Struct表信息{unsigned char数据表编号;struct字段属性、字段信息;Struct 表数据块位置、数据位置;}
[0250] Struct {unsigned char 数据库编号;Struct 表信息表1 ;Struct 表信息、表 2..·}
[0251] Struct 数据行{char 字段 I [XX] ; char 字段 2 [XX] ; char 字段 3 [XX];…}
[0252] Struct数据块{unsigned char数据表编号;Struct数据行行I !Struct数据行行 2 ;…}
[0253] Struct数据文件{Struct数据块块I !Struct数据块块2 ;…}
[0254] 数据不抹除用例
[0255] 表一原数据记录
[0260]目的:终端误操作导致的数据均能回复,也可以追溯数据操作总过程。
[0261 ] 高频读写数据位置转移方法
[0262] 目的:读写频度非常高的数据块,定期维护所在位置,保护部分轨道受损。
[0263] 方法:硬盘中各数据块赋予编号,数据名称,所置,读写次数,上限等。例如:
[0264] 表三
[0266] 总结:以上数据保存在配置芯片(EEP)中,每次任务发生时进行模糊更新,到达上 限时,读写频度高的数据转移到次数少的区域,并把原来的区域中存放读写频度低的数据 块,到达临界值的轨道原则上不使用。
[0267] 自维护系统切换备用部件方法
[0268] 如同高频读写数据位置转移方法,每个部件设定使用次数的记录,每次任务完成 后自维护系统把次数模糊更新,并存放在配置芯片中。到达临界值时不使用原部件,切换到 备用部件。
[0269] 主系统自动开关硬盘规则
[0270] (1)每年节假日时:
[0271] 临晨I :00-7 :00,接到数据请求时开启,等待2分钟无请求时断开;
[0272] 其余:接到数据请求时开启,等待20分钟无请求时断开。
[0273] (2)平日节{叚日时:
[0274] 临晨12 :00-7 :00,接到数据请求时开启,等待2分钟无请求时断开;
[0275] 其余:接到数据请求时开启,等待20分钟无请求时断开。
[0276] (3)平日工作日时:
[0277] 临晨12:00-7:00,接到数据请求时开启,等待1分钟无请求时断开;
[0278] 其余:接到数据请求时开启,等待30分钟无请求时断开。
[0279] 自维护系统自动开关主系统规则
[0280] 类似于主系统的开关硬盘规则。
[0281] 自维护系统自动维护主系统规则
[028
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1