事务型文件系统

2024-06-04

事务型文件系统(精选三篇)

事务型文件系统 篇1

将铁电存储器视为一个电子盘,采用文件读写的方法较符合日常的编程习惯,其使用的灵活性也是通过实践公认的。例如Unix族操作系统,其大量的功能就是基于文件系统。但嵌入式系统有其实现上的特殊性,主要表现在突然的断电动作。此动作一旦发生在文件系统写入过程中,将造成文件数据丢失,严重的会导致整个文件系统损坏。而事务型文件系统Reliance Nitro可较好地解决这一问题。

1 关键技术分析

1.1 铁电存储技术

铁电存储器F-RAM利用铁电晶体的铁电效应实现数据存储。铁电效应是指在其晶体上施加一定的电场时,晶体中心原子在电场的作用下移动,并达到一种稳定状态;当电场从晶体移走时,中心原子将保持在原来的位置。由于晶体的中间层是一个高能阶,中心原子在未获得外部能量时无法越过高能阶到达另一稳定状态,因此F-RAM保持数据无需电压和与SDRAM类似的周期刷新。而存储的数据掉电后依然存在,并不受外界磁场条件的影响。其特点是读写速度快、功耗低。但由于铁电晶体的固有限制,对数据存储位的写入或检测均会引起存储数据位的变动,需增加一次内部的写操作,因此铁电存储器存在最大读写次数的限制,RAMTRON公司给出的最大访问次数是1014次。

由于读写次数的限制和时序的不同,F-RAM不能用于直接替换SRAM和SDRAM器件,只适合替换Flash和EEPROM器件。目前并行Flash单片容量已达到1 Gbit,远大于F-RAM,直接替换大容量的Flash芯片在经济上是不可行的。F-RAM适合用于对体积和功耗敏感且所提供的容量可满足要求的嵌入式系统。

在应用程序编写中,可直接将F-RAM作为普通存储器使用,存储变量、数组、链表及树等数据结构。但嵌入式系统特定的突然下电问题解决上较为困难。在编程时要考虑存储数据的合法性和一致性等问题。需利用较多算法和编程技巧来解决此问题,比如对数据进行CRC32数字签名,对数据的改写采用事务机制来保持数据的一致性。这些算法对编程水平要求较高,对只需存储/读取数据参数等应用而言实现复杂,缺乏一致的使用界面,使得大数据量的存储与管理困难。虽然铁电存储器最大访问次数可达1014次,但访问周期可达到120 ns,若将其作为普通内存使用,在最差情况下,只能提供120 ns×1014=3 333 h,约139天的访问寿命,不适用于连续长时间运行的嵌入式系统。数据访问的聚集性使有些存储单元的访问次数远大于其他单元,将造成器件磨损不均衡。

1.2 TrueFFS文件系统

Vxworks自带的TrueFFS文件系统是一种M-Systems Flite的实现方式,可多种Flash存储设备提供统一的块设备接口,具有可重入及线程安全的特点。图1是TrueFFS的体系结构图。

核心层主要起到连接其他层的作用。同时也可进行碎片回收、定时器以及其他系统资源的维护。翻译层主要实现从文件系统角度所看到的存储块与Flash可擦除块间的映射。MTD层实现对具体的Flash进行读、写擦除等功能,需要开发者根据自身的实际硬件按照标准的接口格式编写驱动。Socket层提供TrueFFS和板载硬件之间的接口服务,可用于能源管理、硬件卡检测、窗口映射管理和向系统注册设备。TrueFFS具有损耗均衡的功能,确保每个可擦除块被平均使用[1]。在Vxworks5.X中,TrueFFS仅支持MS-DOS兼容的文件系统[2]。一旦在写入数据时突然断电,将造成数据丢失、目录结构破坏甚至整个文件系统结构损坏,甚至出现chkdsk无法恢复,只能重新格式化电子盘[3]。

1.3 Reliance Nitro事务型文件系统

Reliance Nitro事务型文件系统是保证在断电环境下仍可正常工作的可靠文件系统[4]。其跟踪文件系统最终的稳定状态,包括目录数据和用户数据,在用户设定的事务点上将内存中的数据更新到磁盘上,当系统在两个事务点间发生断电时,Reliance Nitro将文件数据还原至文件系统最后的稳定状态。由于Reliance Nitro文件系统始终一致,所以设备通电启动时无需运行类似chkdsk等应用程序检查文件系统的完整性,这使得Reliance Nitro可提供比DosFS等文件系统更快的启动时间[4]。在嵌入式环境下,其可通过FlashFX Tera对Vxworks实时操作系统中的NAND和NOR Flash存储器提供支持。也可通过TrueFFS文件系统支持NAND和NOR Flash存储器[5]。VXworks6.8中包含的TrueFFS已直接支持Reliance Nitro文件系统。

2 事务型文件系统体系结构

基于铁电存储器的事务文件系统软件体系结构如图2所示。其主要技术特点是扩充了TrueFFS的MTD驱动,使其能够支持铁电存储器。

2.1 铁电存储器底层驱动设计

铁电存储器底层驱动主要提供对存储器的擦除/写入等操作,修改后的代码仿真了NOR Flash芯片的块擦除与写入动作。

擦除函数实现了块擦除功能,针对NOR Flash芯片,此函数的动作是针对所需擦除的物理块发出擦除命令序列,然后读取芯片状态,判断是否完成。对于S29GL256P芯片,擦除一块的典型时间为500 ms。针对铁电存储器,此动作改为将所需擦出的数据块全部填充为0xffffffff,典型时间为120 ns×65 536,约7.9 ms。

写入函数实现了数据记录功能,针对NOR Flash芯片,此函数的动作是针对所需擦除的物理块发出编程命令序列,向目标地址写入数据,随后读取芯片状态,判断是否完成,对于S29GL256P芯片而言,写入一个32位字的典型时间为60 μs,若采用缓冲写入方式,平均每个32位字的典型时间为15 μs。针对铁电存储器,此动作改为直接赋值,典型时间为120 ns。

2.2 TrueFFS驱动层

为使TrueFFS支持铁电存储器,需扩充TrueFFS的MTD驱动[6,7,8]。考虑到铁电存储器的操作方式接近于并行的NOR Flash芯片,可将铁电存储器仿真并行的NOR Flash芯片的使用方式,将铁电存储器分成块,每块256 kByte进行管理。所采用的铁电存储器为Ramtron公司生产的FM32MLD16 512×103×16 Byte,其单片容量为8 Mbit。在设计中,两片并联,提供了32位宽度,2 MB容量。针对采用的芯片,应修改TrueFFS文件系统中的MTD识别函数,将片容量改为1 MB。

TrueFFS在原始设计中只支持Flash类芯片,在初始化设备过程中会判断目标地址的行为是否为RAM。作为铁电存储器,其行为类似于RAM,因此TrueFFS进行判断后即不再继续进行初始化。必须修改TrueFFS的核心代码,使铁电存储器芯片能仿真NOR Flash芯片。修改TrueFFS核心代码中的flFlash.c文件,将其中函数static FLBoolean isRAM(FLFlash vol)的返回值改为恒假。重新编译生成后的驱动库即可支持铁电存储器。

3 应用程序接口设计

Reliance Nitro事务型文件系统为Vxworks提供了标准的文件系统设备接口,从应用程序的角度看,可通过设备名使用Vxworks提供的所有文件系统调用。Vxworks提供的文件系统API包含POSIX标准规定文件系统操作的大部分,已实现的API接口及其功能严格遵循POSIX标准。通过该接口,用户只需关心文件名和文件对象属性,无需了解底层实现细节。由于Vxworks是一个多任务实时操作系统,可同时运行多个用户任务,因此,文件系统提供了多任务的支持,所提供的API均可被同时调用,满足代码可重入要求。Vxworks提供了有缓冲的文件操作API,包括:fopen() fclose() fread() fwrite()等文件操作函数。同时还提供了基础I/O API。基础I/O是Vxworks最底层的I/O操作,是源代码级兼容的,其包括:creat() delete() open() close() read() write() ioctl()等文件操作函数。可用于实现创建、删除、打开、关闭、读取、写入及文件特殊控制等编程接口。

所有对文件操作均是事务化的,Reliance Nitro提供了3种不同的事务机制模式:(1)自动事务模式:自动事务模式依赖于文件系统操作。例如:Reliance Nitro可被设置为当一个文件被关闭时执行事务,对数据进行实际的写入动作,将数据真正稳妥地记录入电子盘。自动事务模式适用于遗留的应用代码,在应用中并不了解底层的文件系统提供事务操作能力。在实际中发现,对Vxworks提供基础I/O的每一次调用均会引起自动事务操作,而有缓冲的文件操作API在调用fclose或fflush时才进行事务操作。(2)定时事务模式:是按照预先定义的时间周期执行事务。比如周期可定义为200 ms,这保证只丢失本周期内的数据,适用于数据记录功能。(3)可编程事务模式:可编程事务模式是在应用程序控制下执行的。当应用程序进入一个里程碑点,其确切要求将特定的数据写入电子盘中,并可强制进行一次立刻的事务操作,确保数据正确写入。可编程事务模式是最灵活的应用方式,它提供了强有力的功能。在应用程序中,可以使能/禁止自动事务模式和周期事务模式。同时改变周期事务模式的周期,发起立刻事务操作。以上3种事务操作模式不是互斥的,应用程序可根据要求同时混合使用。

应用程序可调用usrRelFsTFFSInit()函数创建Reliance Nitro文件系统。其参数有:Int tffsDriveNo TFFS为盘号,一般为0。int fRemovable为是否可拆除,0表示固定盘,1表示可拆除。char *szDevName是设备名称,一般为”/RELFS0”。int fFormat为是否要格式化,1表示需要,0表示不需要。返回值为ERROR表示未成功,返回值为OK表示成功。

在usrRelFsTFFSInit()函数中,按照以下步骤完成文件系统创建工作:(1)调用tffsDevCreate(),初始化TrueFFS文件系统,创建TrueFFS设备。(2)调用tffsDevOptionsSet(),禁止TrueFFS设备的FAT监视功能,直接将Reliance Nitro文件系统的扇区映射到TrueFFS块设备驱动程序。(3)调用discardWrapperTFFSDevCreate(),在TrueFFS块设备上创建Reliance Nitro的驱动实例,使Reliance将不使用的块直接报告给TrueFFS块设备驱动程序,用于提高性能。(4)调用relFsDevCreate(),创建Reliance Nitro电子盘实例。(5)如需要,调用 relFsVolFormat(),格式化Reliance Nitro电子盘。

例如,应用程序调用usrRelFsTFFSInit(0,0,"/RELFS0",1),创建并格式化电子盘,一旦执行成功,应用程序会显示如图3 Reliance Nitro初始化成功提示的内容。在tornado的shell下用devs命令可看到/RELFS0设备,即可对其上的文件进行操作。

4 性能对比

使用上述软件,在两片S29GL256P芯片组成的32位电子盘上和两片FM32MLD1芯片组成的32位电子盘上均实现了Reliance文件系统。经实测,两片S29GL256P芯片组成的32位电子盘,其最快的文件写入速度为300 kByte/s,两片FM32MLD1芯片组成的32位电子盘,其最快的文件写入速度为7 952 kB/s,有26倍的差距。模拟在写入过程中突然下电,上电后文件系统和文件内容均正确,无需进行任何检测工作。具体性能对比结果如表1所示。

5 结束语

通常认为铁电存储器可直接做为普通内存使用,在厂商提供的器件介绍中也有说明[9]。但应该注意到,对于需连续长时间运行的嵌入式系统,须仔细考虑器件磨损问题。文中将TrueFFS中的适用于Flash芯片的磨损均衡算法应用到铁电存储器上,可保证写入操作的磨损均衡。按照文件接口方式访问铁电存储器,确保不会出现集中对一个数据单元进行读写的最坏情形。这可大幅增加铁电存储器的使用寿命。采用事务型文件系统,使得数据存储不受突然断电的影响,无需在重启时进行磁盘检测,降低了应用程序编写难度,加快了重启时间。考虑到两种芯片的写入速度相差125倍、读出速度相等的性能差距,文件的写入速度只差26倍。说明使用铁电存储器仿真Flash的算法功能可以达到要求,但性能低下。在进一步研究铁电存储器专用的磨损均衡算法,使其不通过TrueFFS层直接和Reliance Nitro事务型文件系统进行交互,能显著提高读写性能。

摘要:事务型文件系统可跟踪文件系统最终的稳定状态,保证在掉电环境下仍可正常工作。针对铁电存储器的特点,给出基于铁电存储器事务型文件系统的设计方案、底层驱动及应用接口设计,并对基于不同存储器的事务型文件系统进行性能比较。实验结果表明,基于铁电存储器的事务型文件系统文件管理方便、写入速度快,同时数据存储不受突发断电的影响,无需在重启时进行冗长的磁盘检测,降低了应用程序编写难度,加快了重启时间。

关键词:铁电存储器,事务型文件系统,TrueFFS,Flash

参考文献

[1]Spansion Conpration.Wear leveling[EB/OL].(2011-08-25)[2013-01-27]http://www.spansion.com.

[2]Windriver Conpration.VxWorks programmer's guide5.5[EB/OL].(2011-06-07)[2013-01-27]http://www.windriver.com.

[3]Microsoft Conpration.FAT:genetal overview of on-disk for-mat version1.02[EB/OL].(2010-02-19)[2013-01-27]http://www.microsoft.com.

[4]杨琼,崔西宁,周波.事务性文件系统存储管理机制的研究与实现[J].航空电子技术,2011,41(5):81-84.

[5]Datalight Conpration.Datalight reliance nitro SDK for wind river VxWorks[EB/OL].(2012-03-27)[2013-01-27]http://www.datalight.com.

[6]王学龙.嵌入式Vxworks系统开发与应用[M].北京:人民邮电出版社,2003.

[7]张杨,于银涛.Vxworks内核、设备驱动与BSP开发详解[M].北京:人民邮电出版社,2011.

[8]周启平,张杨.Vxworks下设备驱动程序及BSP开发指南[M].北京:中国电力出版社,2004.

无锡市机关事务管理局文件 篇2

锡管发〔2018〕1号

关于做好2017干部职工考核工作的通知

各处室、基层单位:

根据《无锡市公务员考核实施细则》(锡组发〔2009〕64号)、市委组织部、市人力资源和社会保障局《关于做好2017年全市公务员考核工作的通知》(锡人社发〔2017〕352号)、《关于做好2017年全市事业单位工作人员考核工作的通知》(锡人社发〔2017〕364号)等有关政策和文件精神,现就做好我局2017年干部职工考核工作有关事项通知如下:

一、总体要求

机关各处室、基层单位,要结合目标完成情况和干部职工的岗位目标、行为规范、工作效能、民主评议等情况,坚持民主公开、客观公正、注重实绩的原则,积极稳妥地做好考核工作。

1.科(含)以下干部职工的考核(含挂职锻炼半年以上的干部)。按照《无锡市公务员考核实施细则》(锡组发〔2009〕64号)规定,主要围绕职位职责和所承担的工作任务,以履行职责和完成工作目标任务情况为主要依据,全面考核德、能、勤、绩、廉,重点考核工作实绩。机关干部考核的结果分为优秀、称职、基本称职和不称职四个等次。工勤人员考核的结果分为优秀、合格、基本合格、不合格四个等次。编外用工人员的考核分为合格、不合格两个等次,工作特别优秀的可作为考核优秀人员进行推荐。

2.基层单位的考核安排。要根据《关于做好2017年全市事业单位工作人员考核工作的通知》(锡人社发〔2017〕364号)和局考核工作通知精神,以聘用合同和岗位职责为主要依据、以工作绩效为重点内容、以服务对象满意度为重要基础,认真做好考核工作。事业单位领导人员的考核,由管理局按干部管理权限组织实施。

二、考核办法

考核以平时考核为重要依据,按以下方法和程序进行:

(一)个人总结。被考核公务员及职工按照岗位职责和有关要求进行总结,分别填写《公务员考核登记表》、《机关工勤人员考核登记表》、《编外用工人员考核登记表》(统一用标准A4纸双面打印或手填,手填的要求一律用黑色水笔填写,考核登记表请到局门户网站资料下载栏目下载)。

(二)述职。局领导参加局大会述职交流。其他人员的述职由各处室组织。

(三)民主测评。在全局范围内进行民主测评,被测评对象为:全局在职干部职工(含编外用工人员)。

(四)确定考核等次。主管领导在听取群众和干部职工本人意见的基础上,根据平时考核情况和个人总结,写出评语,提出考核等次建议和改进提高的要求。由局党组研究拟定考核等次。

(五)公示。对拟定为优秀等次的干部职工在局范围内公示,公示后确定考核等次。

(六)告知。将考核结果以书面形式通知被考核干部职工,并由本人签署意见后,由办公室存入本人档案。

三、考核工作安排及具体要求

(一)优秀等次名额分配

根据《无锡市公务员考核实施细则》规定及人社局批准,2017我局考核优秀等次人数为全局参加考核总人数(不含领导成员及同级别非领导职务人员)的17%,其中公务员5人,工勤人员3人。编外用工人员考核优秀等次人数为1人。

病事假累计超过考核半年的人员,不进行考核,病事假累计超过考核三个月的人员,一般不确定为优秀等次。产假期间的女同志可不参加考核,视产前表现确定考核等次。涉嫌违法违纪被立案调查尚未结案的,参加考核,不写评语,不定等次。受处分的人员,按照处分种类确定相应的考核等次。

请各处室结合处室述职会议,组织干部职工在全局范围内推荐考核优秀人员名单,并于2018年1月12日(周五)17:00前报局办公室,办公室统计汇总后报局党组。

(二)工作安排及时间要求

拟定于2018年1月18日(周四)召开述职述廉、述法、一报告两评议会议,局领导参加局大会述职交流;科以下的干部职工(含编外用工人员),按照考核内容和标准认真做好个人书面总结,于2017年1月12日前参加处室组织的个人述职。

各基层单位的考核情况请于2017年1月26日(周五)前报局办公室。

四、考核结果运用

根据《无锡市公务员考核实施细则》规定,考核的结果作为调整公务员职务、级别、工资及公务员奖励、培训、辞退的依据。公务员、工勤职工考核为称职、合格以上等次的,享受考核奖。考核奖按考核人员2017年12月基本工资标准计算。考核优秀等次人员的嘉奖奖金(800元)、考核连续三年优秀等次人员的三等功奖金(1500元),计入考核奖发放表中。考核被确定为基本称职(基本合格)的人员,下一按工作性津贴标准的60%发放;被确定为不称职(不合格)的人员或未参加考核及因受处分等原因而未定等次的人员,下一停发工作性津贴,只发放生活性补贴(锡人薪〔2008〕25号、锡财行〔2008〕7号)。

编外用工人员考核合格的,发放考核奖(一个月工资),被评为优秀的给予奖励(一个月工资+800元)。

事业单位工作人员考核结果的运用,请根据(锡人社发〔2017〕364号)精神实施。

附件:1.公务员考核登记表

2.机关工勤人员考核登记表

3.编外用工人员考核登记表

4.江苏省事业单位工作人员考核登记表

无锡市机关事务管理局

2018年1月5日

无锡市机关事务管理局

服务型机器人控制系统设计 篇3

关键词:服务;机器人;控制;科技

1.引言

随着社会的发展,科技水平的提高,机器人逐渐的走进我们的生活。生活中服务机器人备受人们喜爱。工厂巡检机器人的面孔,餐厅有送餐机器人,并且在一些大型的场所(商场、酒店、会所)也可以看到服务机器人的身影。服务型机器人在当前的社会是备受欢迎的。在互联网的时代下,机器人也可以受网络的控制进而提升它的功能,因此本文提出基于网络控制机器人设计思想。

2.总体方案的设计

本文提出利用网络控制系统来对机器人进行控制操作。其具有两种控制模式:一种是利用上位机的控制通过网络对机器人进行控制,另一种是利用语音模块通过语音识别算法来对机器人进行控制。而机器人的整体架构是基于总线控制思想进行设计的。

该控制系统架构采用设备、信息、控制三层总线控制模式,实现机器人控制系统功能设计,并利用相关的控制协议,分类、分级处理各种信息,满足模块化设计,简化系统结构和功能配置需求。

3.系统控制的基本原理

利用Labview上位机运用TCP/IP协议,通过局域网与主芯片进行数据传输,主芯片通过485的通讯协议对子芯片通信,实现对机器人的控制。机器人还可以检测当前环境信息,如温度、湿度等,并通过语音播报或直观的显示在该界面上。通过上位机的语音输入窗口,可以输入文字,并发送给机器人系统,使得机器人在紧急情况下可以通过控制人员的控制而说出相应的语句。在上位机的界面上有测试数据的输出窗口,可以得到下位机对上位机测试结果的反馈。

4.系统的软硬件组成

4.1硬件组成

系统供电是利用12V电源通过稳压芯片LM7805转换为5V电源供电使用。按照DC/DC变换的原理来设计电路,其电路图如图3所示。

4.2软件组成

根据机器人控制原理,软件系统主要由主程序、语音辨识、电机驱动、传感器程序四部分组成。主程序进行系统初始化,包括I/O口的输入或输出设定,语音辨识运行进行语音算法处理,电机驱动负责整个机器人的运动控制,传感部分负责环境参数测量。

4.3语音识别算法

语音辨识算法是本设计的核心部分,通过对语音算法的改进,本机器人系统在人机交互功能上有明显提升,更适合服务环境的应用。以下对机器人语音辨识算法进行分析。

4.3.1改进的维纳滤波器算法

由于语音信号是随机信号,若用一个固定的噪声谱去估计先验信噪比是不合理的。为解决这一问题,本文采用基于谱嫡及先验信噪比估计的改进维纳滤波器算法,此算法对带噪语音信号通过谱墒进行端点检测,并根据检测结果对无声段的噪声功率谱进行动态更新,从而得到期望的先验信噪比,提高除噪性能。改进维纳滤波器的算法流程图如图4所示。

4.3.2算法步骤描述

(1)预处理

输入带噪语音信号,将输信号进行分帧与加窗处理,利用谱减法降低噪声,以提高输入语音信号的信噪比。在起始阶段,算出前帧信号的噪声功率谱,做为动态估算的初值。

(2)端点检测

将噪音信号利用谱墒法进行端点检测,记录语音信号有声段的起始点和结束点。该步从源头上抑制噪声对语音识别系统的干扰,降低噪声对语音信号端点检测的影响。端点检测的阈值(Ts)可以通过下面的方法获得,即:

式3中α是一个经验值,通常情况下约等于1.25。如果检测结果表明,当前的输入语音帧是在有声段,则进入图4中的步骤(3),进一步对该帧信号进行降噪处理。如果检测结果表明,当前输入语音帧处于无声段,则进入步骤(4),对该帧信号进行噪声功率谱的动态更新。

(3)维纳滤波降噪

先估算当前帧的先验信噪比,再通过公式计算维纳滤波器的增益。然后将当前帧的功率谱乘以滤波器增益。即输出降噪后的语音信号,可通过降噪后的语音信号功率谱通过傅里叶逆变换得到。

(4)噪声功率谱更新

将当前帧数据与上一帧无声片段的数据进行加权处理,即

式4中,第一项是由当前帧数据估计的噪声功率谱,并且是用于调整当前帧与前一帧功率谱加权时权重的调整因子。显然,无声片段噪声功率谱的动态更新可通过上式的加权平均实现。

5.结论

本文提出的基于网络控制的服务型机器人,在控制方法、语音辨识方面作了有益的设计和改进,更适合服务行业的特点,能更好发挥服务机器人的优势,具有巨大社会和经济价值。

参考文献:

[1].黄敦华,李勇,薛梅.校园内导游服务型自主移动机器人设计与实现[J].制造业自动化,2010,38(12).13-16

[2].刘海滨.鲁棒性语音识别的特征提取与模型自适应算法研究[D].东南大学博士学位论文,2004.

[3].徐玉华,张崇巍,徐海琴.基于激光测距仪的移动机器人新方法[J].机器人,2010,32(2).25-28

[4].杨明,王宏.基于激光雷达的移动机器人的环境建模与避障[J].清华大学学报(自然科学版),2000,40(7).117-121

上一篇:卡介茵多糖核酸下一篇:串行总线接口