节点存储控制器
节点存储控制器,根据不同的应用环境通过电路中连接三个或三个以上支路的点。采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。按照预定顺序改变主电路和控制电路的接线和改变电路中电阻值来控制电动机的启动、调速、自动和反向的主令装置。
基本信息
- 中文名
节点存储控制器
- 外文名
Node storage controller
- 分类
电子科技
CFDP的节点控制器设计
通过对CFDP的深入研究,将其应用于空间数据传输演示系统中,根据CFDP节点控制器在传输任务中所表现出的功能,给出了设备的设计方案,完成了硬件电路中数据存储板卡和数据收发板卡的设计,并对协议进行合理的选取和裁剪,针对可靠和不可靠中继传输这两种传输业务开发出具有CFDP功能的应用软件。
系统组成及工作原理
基于CFDP的节点控制器是为了实现CFDP传输业务的重要组成设备之一。在源端和目标端无法建立直接传输链接的时候,CFDP节点控制器作为传输的中继节点对传输的文件数据起到存储转发的作用。
因此,设备必须具备大容量的存储器;能够进行单向,半双工以及全双工通信的数据收发装置;适应深空环境中工作的文件系统以及实现CFDP传输业务的应用软件。根据任务需求,可以将CFDP节点控制器主要划分为硬件电路,星载嵌入式文件系统以及CFDP应用软件三部分。
硬件电路是设备功能物理实现所必不可少的一部分,硬件电路完成数据收发及数据读写工作,并向上层的文件系统和应用软件提供硬件操作的接口函数。设备搭载有大容量的存储芯片,用来对文件数据进行存储,因此必须有一套合理有效的文件管理系统来管理如此庞杂的数据。星载嵌入式文件系统就是为了管理设备中的文件数据而设计的。它利用硬件电路的接口函数来对底层的存储芯片进行操作,并向CFDP应用软件提供透明的文件操作,来支持CFDP应用软件。CTDP应用软件通过硬件电路提供的驱动函数以及文件系统提供的文件操作来完成CFDP的传输任务。
数据结构的组织形式
对于较大容量的存储器来说,如果文件系统不对存储器上数据的位置进行组织和记录,那么每查询一个数据项就要扫描整个数据文件,这种访问存储器的代价会严重影响到系统的效率。因此通过索引机制来取代对存储器漫无目的的访问,能够有效提高系统的效率。
索引文件(index file)是一种特殊的文件组织。通常由索引表和主文件两部分构成。主文件用来存储数据文件的记录项,它可以是有序的也可以是无序的。索引表是一张指示逻辑记录和物理记录之间对应关系的表。索引表中的每一项称为索引项。文件建立时,自动开辟索引区。
设计所采用的星载嵌入式文件系统采用了B+树的索引技术来实现对文件数据的组织。B+树索引技术是一种多层索引树技术,它是在B-树索引技术的基础上发展起来的。分别介绍B-树和B+树。
1、B-树:B-树是一种动态调节的平衡多路检索树。它相比索引顺序存取方法(ISMA-Indexed Sequential Access Method)具有更加灵活的文件扩展性。一般来说,B-树中的每个节点包含2m个关键字域和2m+l个指针域。一棵2m+l阶的B-树,或为空,或为满足下列特性的度为2m+l阶的B-树:
①树中的每个节点最多有2m+l棵子树,且除根节点外的所有非叶子节点至少有m+1棵子树,而且根节点至少有两棵子树(除非根节点又是叶子节点);
②所有叶子节点均在最后一层上;
③除叶子节点外的每个节点结构中:KEYi(1≤i≤2m)为关键字域,用于存放关键字和有关数据信息;LINKi(1≤i≤2m+1)为指针域,指向各树的根节点。对于度为n+1(1≤i≤2m)的节点,前n个关键字域内容按关键字顺序排列,即KEYi<KEYi+l(l≤i<n-1),并且LINKi(l≤i<n-1)所指子树中所有节点的关键字均小于KEYi,而LINKi+1所指子树中所有节点的关键字均大于KEYi;
④所有叶子节点中的指针域为空。
检索数据时,从B-树的根部开始将要检索数据的关键字与节点中的各关键字进行对比。若两者相等,则检索成功;若数据关键字大于节点关键字,则按其指针向下检索;否则向上检索。这一过程一直进行到检索成功或者进行到叶子节点而以失败结束。
插入数据时,首先要检索到插入数据的关键字在叶子节点中应该插入的位置,如果在检索过程中发现已经有相同关键字的数据存在,则表示出错;否则找到合适的位置后插入数据,并保持有序排列。在实际插入时要考虑两种情况(假设在2m+l阶B-树中执行):
①如果插入位置的叶子节点中元素个数不足2m个,则直接插入;
②如果插入位置的叶子节点中元素个数已经为2m个,这时候需要进行分裂。首先将要插入的元素和其他2m个元素进行排列,取其前半部分放入原来的节点中,后半部分放入新申请的节点中,中间的元素放入父节点中。如果父节点的元素也满,则又要进行分裂。这种分裂可能会一直进行到根节点。