存储设计

2024-07-01

存储设计(共12篇)

存储设计 篇1

摘要:目前,PACS系统已经日益成为各级医院实现信息化建设的重要组成部分,在网络应用越来越广泛的今天,异地多院区联接形成医院PACS系统对存储应用有更高的要求。文章从医院PACS系统存储的实例出发,探讨了基于云存储的PACS系统存储设计。

关键词:PACS系统,云存储,云计算,数据存储

1 前言

在医学影像领域,数字成像技术的创新促进了医疗影像存储与传输系统(Picture Archiving and Communication System,PACS)的开发。目前,PACS系统已经日益成为各级医院实现信息化建设的重要组成部分。

2 PACS系统的存储特点

1)PACS系统和医院信息系统(HIS)的数据各有特点,在存储容量、访问响应速度、访问频率、存储可扩展性等方面存在差异,需要分别考虑,采用分类存储策略。2)PACS系统中数据保存量大,数据量增长速度快,部分数据将作为归档数据,实现安全保存和随时方便地调用,需采用分级存储策略。3)PACS系统数据以多媒体文档为主,文件尺寸较大,并发访问量小。4)许多影像资料用于科研和教学,重要性高,需要可靠有效的容灾数据保护方案。5)PACS存储系统的设计需要具备高扩展性和灵活性,需要支持容量增长的高度可扩展架构和对异构存储环境的支持,以实现将来无缝扩容,且尽量减少因扩容带来的成本开销。

3 PACS系统存储现状分析

我院由总院、分院、传染病医院三个院区组成,各院区均有影像科室。分院距总院5公里,传染病医院距总院3公里,分别由光纤接入总院服务器,实现三院区HIS系统无缝联接。PACS系统有专用服务器和磁盘存储阵列,采用SAN存储架构;支持DICOM存储和DICOM查询;支持影像数据的长期存储管理(LTSM)和短期存储管理(STSM);提供影像有损和无损压缩;支持多种方式查询检索;在数据库建立病人ID号与影像内容及存储位置对照表;可从Intranet和Web Server上获取DICOM影像;支持影像调出、转存、删除和图像迁移功能。在各院区的影像科建立了科室级的PACS存储服务器,临床医生通过HIS系统的医生工作站访问CT、核磁共振、超声等影像图像和电子报告编辑。

4 基于云存储的PACS系统存储设计

4.1 云存储的概念

云存储是在云计算(Cloud Computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

4.2 云存储的结构模型

与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分组成的复杂系统。各部分以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。云存储的结构模型由四层组成,如图1所示。

4.3 PACS存储系统的分级存储需求分析与设计

4.3.1 分院区(科室级)存储需求分析与设计

分院区存储容量一般在0.5~5GB/日数据量,以为临床医生提供3个月的在线影像资料查询为例计算,需保存的在线可用容量为0.5GB/日~5GB/日×365=182.5~1825GB;预计存储空间达到总空间的80%时的性能损耗,配置20%的冗余空间,由此得出总空间需求为:182.5~1825GB/80%=228.1~2281GB;按RAID5模式估算:存储裸容量需求为:228.1~2281GB/(3/4)=304.2~3042GB;考虑到数据库空间、文件损失和热备份等因素,配置800GB~4TB的裸容量作为科室级存储。

分院区PACS存储系统应具有良好的性能、可扩展、经济实用等特点。该级存储采用24盘位SAS磁盘阵列插入24块300G的SAS硬盘,提供7.2T裸容量,完全满足了要求的800GB~4TB总裸存储容量,用于PACS的数据库和短近期的医疗图像的存储。

4.3.2 总院区(全院级)存储需求分析与设计

总院级存储容量可在20GB/日数据量以上;在线容量将为临床医生提供1年以内的在线影像资料查询,需保存的在线可用容量为20GB/日×365=7300GB=7.3TB;预计存储空间达到总空间的80%时的性能消耗,配置20%的冗余空间,由此得出总空间需求为:7.3TB/80%=9.125TB;整体上按照RAID5模式估算:存储裸容量需求为9.125TB/(3/4)=12.2TB;考虑到数据库空间、文件损失和热备份等因素,配置15TB的裸容量作为总院级存储。

存储系统在异地建立独立的容灾备份中心,保证在发生灾难时对数据保护。考虑备份存储容量以大于全院10年的影像总量为例,备份存储容量为80TB。

全院级PACS存储系统需具备高性能、高可靠性、高可用性以及高可扩展能力,兼顾容灾功能的考虑。采用24盘位磁盘阵列,使用独立双控制器,包括4个4GB光纤主机接口,总带宽达到1600MB。采用两台扩展柜,使用SAS硬盘共提供7.2×3=21.6TB的裸容量,满足最大15TB的容量需求。容灾采用VTL结合磁带库,增强了备份数据管理特性,提高备份和恢复的速度。

4.4 云存储技术的优点

1)硬件冗余自动故障切换;2)存储设备升级不会导致服务中断;3)容量分配不受物理硬盘限制;4)海量并行扩容;5)负载均衡;6)容易管理。

5 总结

医院PACS系统的存储要求较高,当有异地多院区需通过光纤接入局域网形成全院级的一致性存储需求,同时网络中存在各种不同类型的存储设备时,采用基于云计算的数据存储概念云存储技术实现PACS存储系统,即可满足用户对PACS存储系统的新建、升级、扩容、数据管理和数据安全等需求,也可进一步增强数据应用的灵活性和可靠性。

参考文献

[1]王鹏.云计算的关键技术与应用实例[M].北京:人民邮电出版社,2010:105-111.

[2]陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009,9.

[3]中云网.http://www.china-cloud.com/.

存储设计 篇2

5月初,美光斥资12亿美元收购恒忆,完成收购后美光成为同时拥有DRAM、NAND以及NOR技术的记忆体晶片大厂。对于这么大的收购举动,有传言,是英特尔在后面起到的推动作用,因为三星的快速崛起,不想一家独大的局面在存储市场出现。当然,也有传言,美光收购恒忆的动机是为了满足诺基亚(Nokia)等客户的一站式购足需求。无论如何,着眼技术创新方面,记者本人认为这种收购的出现,是能够起到推进作用的。在收购后不久,我们有幸在第十五届IIC CHINA上邀请了,美光亚洲区嵌入式业务部的刘群先生,就相变存储技术

未来发展的状况,做精彩的演讲。

随着世界各国尤其是中美两国在智能电网上的实质性启动,智能电表市场也在起步腾飞。智能电表担负着存储客户使用信息和网络信息的作用,同时在不远的将来更多的功能也将被加入进来,如绿色能源的双向接入,终端的用户也可以把自家屋顶太阳能产生的电力传输到电网上。由于上述需求的推动,对智能电表的存储系统就提出了更高容量,成本降低控

制和可靠性提高的要求。

相变存储器即是英文Phase Change Memory--PCM 的缩写。就是一种利用六族与第四、五族的化合物作为存储材料的存储器。该种化合物是一种相态可逆变的物质。可以在有序结构(晶态-低阻)和无序结构(非晶态-高阻)之间变化。

通过图片可以看出,电流电压曲线图是从一个PCM的存储单元获得。读取操作是工作在电压500毫伏且电流小于100微安以下的区间内,所以没有对GSt产生加热的效应。晶态和非晶态的存储状态也就没有变化。当电压大于500毫伏且电流大于500微安时,电阻加热器就会融化GST材料。此时晶态和非晶体的状态就会发生变化。

基于相变技术的存储器具有三个特性,包括位修改(直接写入),高写入次数,工艺和成本的可延续性。下面图片是对现在流行的存储器之间的比较。

对产品带来这么多特性的PCM相变存储器,那么具体的应用又如何?刘群先生表示,现在目前智能能电表的存储系统采用NVRAM,EEPROM等方案,但是这些解决方案都存在有成本高、容量小、设计复杂等缺点,而运用PCM相变存储器设计的智能电表可以很好地规避这些缺点。由于PCM具有位改写,成本和工艺的可持续性,高擦写次数,从而可以很好的整合原有的存储系统。只使用一颗PCM相变存储器就可以整合NOR flash, EEPROM, NVRAM, 从而提供更低的成本,更加环保,更加可靠,以及更大的容量。

针对采用相变存储器的智能电表设计,刘群也谈到,作为存储器的重要生产厂商,为满足客户的需求,美光也推出了两款代号为“omneo”的相变存储器。分别是:P8P –高速并行接口,128Mb 容量,100万次的写入次数。P5Q-高速SPI 接口,支持1、2,4位输入输出,也是128Mb 容量, 高达66Mhz。100万次的写入次数。Omneo 给嵌入式提供了一种更快写入速度,更高的写入次数的存储器。从而拓展了客户对存储系统的设计。并且在本次西安站IIC CHINA展览会现场,观众可以参观样品展示。

存储设计 篇3

关键词:交通系统产品设计绿色出行自行车存储

一、研究背景意义

随着北京城市机动化的发展,越来越多的人选择家用轿车而放弃自行车出行,导致交通系统压力骤增,污染愈发严重。从政府到民间都对鼓励自行车出行能够改善现状保持肯定态度,但却无法挽回自行车出行比例的不断下降之势。所以,宏观上对自行车交通采取鼓励支持政策的同时,微观上也要切实的结合北京实际情况,从骑行个人的角度,对自行车出行提供有效的系统的解决方案,从而真正的提高市民自行车出行的主观积极性。

通过长期持续的调研发现,自行车存储系统是自行车出行链条中最重要的一环,很多市民放弃骑车出行,主要顾虑就是“车难停、容易丢”。通过对相关课题的研究,建立一个完善的自行车存储系统,改菩自行车停车条件,能够很好的促进自行车出行意愿;且解决无秩序的自行车乱停乱放,能够同时改善城市景观环境。因此,我们对自行车停车场的规划布置以及停车单体设施进行了系统设计研究。可以使自行车在不同场所、不同地点都能得到合理的安全存储,提高自行车的出行率。另外在研究过程中,我们发现北京的自行车租赁系统与私人自行车出行遇到很多共性的问题,通过系统分析,我们认为将二者整合规划设计,能够实现相互促进,共同发展的良性循环模式。

二、设计分析

(一)自行车出行遇到的问题

1.随着城市建成区面积与日俱增,居民的工作、生活半径越来越大,市民从出发地到目的地的距离拉长,如果只靠自有自行车,已经超出了适宜骑行的合理距离‘500米’,所以很难成行。而能够解决此问题的自行车租赁系统又势单力薄,面临总总困境,很难起到实际作用。

2.因有人看守的停车场成本高,盈利点低,停车场的数量逐渐减少,导致自行车停放资源紧缺;而骑行人因无法找到安全合适的停车位,导致骑行意愿降低。形成恶性循环。

3.自行车之所以在城市被边缘化,主要原因在于城市道路及周边设施的规划对骑车人存在一定的歧视性,机动车占用了大量的道路等基础设施资源,除了挤压自行车骑行空间外,也将自行车存储空间不断压缩,加剧了停车难,不安全的隐患,从而更大程度上降低了骑行认的骑行意愿。

4.受近些年鼓励汽车消费政策以及舆论的影响,骑车人被视为“穷人”的象征,原本健康的出行方式却受到了社会的歧视。

(二)北京自行车租赁系统问题

1.笔者实地考察过佛山杭州等城市的自行车租赁系统,对比北京的现有系统发现:南方城市气候环境适宜,设施单体暴漏在自然环境中可以很长时间依然光亮如新;而北京因气候相对恶劣,容易导致车辆金属部件的损耗,导致硬件荒废、成本增加,最终影响正常运营。如图2所示

2.北京因城市规模大,而运营商硬件网络的投入成本高,导致租赁自行车很难跨区普及,很难扩大规模;而且早期的目标客户群体规划失策,主要针对旅游人群而忽略了城市最主要的出行群体,导致规划布局不符合实际需要。参考图3的自有自行车出行与租赁自行车出行的市场规模对比,需要运营商及政府规划部门从新考虑自行车租赁的布局定位。

3.因占用已经很有限的道路周边资源,导致场地租赁成本偏高,加上市场化运营模式不合理,让运营成本增大而无法良性发展。

4.现有租赁系统需专人值守,营收利润本可以维持在一个较好的循环模式下,而运营商经营模式单一,与庞大的自有自行车存储没有交集,导致效率低下、成本过高、普及率降低。

综上所述,要想在北京发展自行车交通需要解决上述的问题并将存储系统与租赁系统整合在一起,才能实现效率的最大化。

三、自行车存储(租赁)系统解决方案

(一)在集中特殊场所创造出停放空间

1.北京500多个过街天桥以及地铁站等交通枢纽是北京常见聚散场所,也是自行车乱停乱放的主要症结区,让仅有的道路资源变得更加紧张,行人道也被占用。

现有停车空间规划混乱,空间利用不合理,影响环境观瞻。我们结合现场情况,规划了依托天桥结构的立体停放站,充分利用现有环境的立体空间。行人可通过天桥楼梯将车推进二层停放。双层可满足大概200个停车位,全封闭的规划既可以保护自行车,又解决了环境整洁问题,也提供了经营单位一定面积的广告空间。

2.第二个特殊场所是地铁口和地下通道口,这一类型的空间也存在停车的刚性需求,但却没有合理的进行系统规划,如图7所示

我们依托环境结构,在通道楼梯上方设计了一个落层停放车场,不占用道路空间,能够提供80个停车位。顶上由太阳能板能提供室内照明等所需电量,一层楼梯死角处设自行车维修点,给修车人干净舒适的环境,也为骑车人提供更便捷的服务。

3.第三个设计为大型存放场所方案,很多大型停放有很多不足的地方,露天停放,空间利用率差,标识不清很难找到等。针对这些问题做了一个封闭小高层设计,解决了各种问题的同时,可以为经营单位提供醒目的宣传位置,盈利部分可以返利给市民停车系统的更好运

4.自行车存储塔的设计

首先这种三层楼高的塔式的设计更象是“我们都来骑车吧!!!”的一种宣誓和召唤。

透过玻璃幕隐约看到无数辆自行车悬挂在空中,更象是一件大型雕塑和艺术装置。

nlc202309021053

此方案采用的是普通的电梯的原理,技术及成本上并没有特殊之处,传动齿轮左右的配重问题可以通过电脑自动控制,随时保持左右的平衡状态。

塔的整体高度达到10米或更高,防风和防震的合理性有据可查,参见图10中左侧的已有的北京街头电梯设施。

此种独立的塔式设计也可以依附到其它建筑的外立面上,形成一种寄生關系。

这种设计解决了一个空间利用的问题,就是在3平米的面积内最少可以容纳30辆自行车,象地铁站口等相对的停车需求非常集中的情况下,还可以横向扩展,使空间利用效率最大化。

(二)与现有道路两侧公共设施结合设计并优化单体设施的紧凑性

1.与道路围栏相结合的路边自助存储设施

北京土地资源非常紧缺。要想大力发展自行车存储及租赁这种公共服务,最重要的是解决公共空间占用问题。在现有的人行道上已经遍布了各种各样的公共设施,电话亭,盲道,绿化带,停车记时器,电线竿,隔离护栏,报刊亭…互相挤占的情况时有发生,经常出现电线竿将盲道挡住这种情况。如果再把自行车租赁设施(场地),摆放进去,势必造型更多的空间利用的不合理情况。而且涉及到的市政租赁投入成本很高。为此我们设计了一系列与现有道路周边设施结合的存储设施。

与道路护栏结合的自行车存储盒子,替换了现有的道路护栏。这样最大限度的节省了空间,而且可以任意扩展。这种半封闭的盒子。虽然看似增加了成本,但更多的是为了环境的整洁考虑,可以最大限度的降低街道的凌乱程度。使用者可以从远处观察盒子上方的指示灯来判断该盒子中是否有车。在另一个版本的设计里,设计者还增加了带屏幕和读卡功能的自动支付系统,以及快速锁车功能。

2.与其它公共设施结合的自行车存储设施单体

因公共资源有限,无大型停放处的最好解决停车问题的方法就是分散停放,充分利用已有的公共设施进行结合设计,以提供更多的停车位。为此,我做了很多与公共设施相结合的存储方案。比如与休息座椅结合、与隔离桩结合等,通过简单的改造和设计实现一物多用的资源整合。

3.自行车单体存储设施优化方案

现有停放架间隔过密,取车时带来很多不便。自行车长度大约为160厘米,在特殊区域是没有足够的空间停放的。另一方面,很多人都会在把车停好后,走到车前用锁把轮子和停放架锁在一起,增加安全性。因此在我的单体设计方案中,考虑到了这些方面。

现有停车架功能单一,没有任何防盗技术,几乎没有类似机动车自助停放的设施,为了改变自行车的地位,我们设计了一个能够自助存储的自行车停放架,可将它单独设置于酒店和写字楼门口。也可与前文所设计的各种存储空间整合。

(三)将自行车租赁系统与自主自行车存储系统整合设计

自行车租赁系统与自主自行车存储系统存在大量相通的需求定位,从经营的角度也存在互补的可能性,所以在我们的规划中,将两者进行整合设计,前文提到的所有自行车存储设施都可以与租赁系统通用及共存。在此基础上我们也考虑到一些租赁系统所特有的解决方案。

方案1:租赁系统专用自行车及存储设施设计。

此方案采用全封闭的单独设计的自行车作为运营主体,其优点是外部的复合材料可以很好的适应北京相对恶劣的气候,对内部零件起到一定的保护作用,且区别于一般自用自行车,可以实现更好的管理。大面积的外部平面具有很强的识别性并可获得广告收入。

对应的单体存储盒子,也采用全封闭的自助形式,结合广告及艺术规划等形式,可以成为城市的点缀一景。向上折叠的拿取方式,节省占地空间的同时,可以产生一定的趣味性,吸引民众的注意力及参与度。

方案2:为存储租赁系统提供可赢利的模式(取费、广告位)

因租赁系统受到资金困难而无法继续经营的困境,我们提出一种可赢利的经营模式。在各种设施单体,设施空间中创造一定的面积空间,导人广告位招商的模式,所获得的收入可以用来改善整个系统的良性运转,还利于民。

四、结论:

北京的交通问题是一个长期存在的问题,城市道路的划分也需要逐渐完善。随着人们意识的提高,市民会更多的选择绿色交通作为出行工具,这样更有利于生态建设和环境保护。政府已经出台缓解交通压力的规划和具体的措施,城市交通的改善指日可待。政府已经将设立自行车存放处纳入北京市交通规划建设中,相信我们的设计对于政府政策以及运营主体有一定现实意义。虽然,通过我们的设计不能解决所有停放问题,但我们相信能够给后来者以一定的指导意义,希望我们的设计能够让自行车出行重新找回它原本应有的风采。

存储设计 篇4

图灵奖获得者Jim Gray提出的经验定律:网络环境下每18个月产生的数据量等于有史以来数据量之和。根据IDC进行的研究计划“Digital Universe[1]”分析报告显示,2010年产生的数字信息大约是1200 Exabytes(1 Exabytes=1024 Petabytes ,1 Petabytes = 1024 TB),到 2011 年,产生的数字信息大约是 1800 EB,而有研究报告显示随着3G和Wi-Fi等技术的成功应用,移动互联网用户在未来几年将超越桌面用户。移动用户对信息的需求已经到了前所未有的境地,而与之相对的移动终端的有限存储能力给我们带来了不必要的麻烦。因此在移动终端上实现存储虚拟化便显得更加紧迫。

目前常用的主流网络存储系统结构包含两种方式,分别是网络附加存储NAS(Network Attached Storage)和存储区域网络SAN(Storage Area Network)。

NAS[2]分离了网络设备中的服务器和存储,支持TCP/IP等协议实现部件级数据的存取服务,方便了多系统之间数据共享,只需添加节点和网络设备即可实现扩展真正做到了即插即用。NAS的高扩展性和易管理的特点必将是未来网络存储的发展方向。

SAN[3]是一种在服务器和外部存储资源或独立的存储资源之间实现高速可靠访问的专用网络。数据通信通过SCSI命令,它的特点是将数据的存储移到后端。但是由于SAN属于块存储,这使得它的扩展性受到了限制。同时它还存在管理困难和成本过高的缺点。

我们既要用NAS来存储非结构化的数据(比如图片),也需要用SAN存储结构化的数据(比如数据库),鉴于NAS和SAN的各自优点和缺点,各种融合方案相继而出,主要有基于NAS和基于SAN两类融合方案[4]。目前存储虚拟化被赋予了更多的含义,已不限于NAS和SAN等,集群NAS架构几乎和云存储成了同义词。

1 相关研究

云存储的概念与云计算类似[5],它是指通过集群技术、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

目前常见的集群存储技术有Google的GFS、ADIC的StorNext FS、Cluster File Systems的Lustre、IBM的Global Parallel File System以及Red Hat的Sistina Global File System。

本文采用Hadoop分布式文件系统HDFS[6], HDFS是GFS的开源实现,基本和GFS保持了一致。一个HDFS集群由一个Namenode和大量的Datanodes构成。Namenode是一个中心服务器,负责管理文件系统的名字空间以及客户端对文件的访问,但也正由于它这种单节点,使它不适合小文件存储。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。Datanode负责处理文件系统客户端的读写请求,在Namenode的统一调度下进行数据块的创建、删除和复制。

华为赛门铁克开发了“一种移动终端访问云服务的方法、装置和通信系统”[7]。该移动终端可以通过预置的客户端发送需要处理的任务给网络侧设备,由网络侧设备利用云计算和云存储处理任务,然后返回处理结果给移动终端。

国外厂商CTERA Networks设计了一个网络附加云存储设备[7],用来执行基于云存储服务的网络附加存储操作。这个设备包含至少一个网络控制器用于局域网客服端的通信,并且通过广域网来使用云存储服务;本地数据存储设备;一个至少在本地存储设备中存储的数据和存储在云存储服务数据的同步云存储服务模型。

由于移动终端的存储资源有限,用户不可能上传大于64M的文件,因此小文件存储才是移动终端的关键,而Hadoop擅长对大文件的存储,存储小文件消耗的资源比大文件多很多。我们都知道任何一个文件目录和Block在HDFS中都会被表示成为一个Object存储在Namenode中,每一个Object占150字节的内存空间,所以如果有一千万个文件那么就要消耗大约3G的内存来保存这些数据,因此数以亿计的文件要存储在HDFS中是不可行的。Grant Mackey[8]提出了一种在HDFS系统下元数据管理的优化方案。

目前解决这一问题主要有两种方法:第一种是文件合并方法;第二种是针对特定的文件使用特定文件合并方法。文件合并方法主要包括Hadoop Archive(HAR,简称Hadoop归档)技术。其核心技术就是运用MapReduce将小文件打包成HAR,从而缓解小文件占用大量内存问题。但是通过这种方法并不能提高文件的读取效率,因此又有了Sequence File(序列文件)技术。Sequence File是Hadoop的一个重要数据文件类型,它为二进制的<key,value>提供一个持久化的数据结构,其中小文件的索引号为key内容为value。

2 系统架构设计

针对目前移动智能终端的不足之处,及解决云端小文件存储问题,本文设计了基于云计算的移动终端网络存储框架(如图1所示),其结构包括四层,如图2所示整个系统由物理层、基础管理层、应用接口层和访问层组成。

1) 物理层,也称基础设施层,是整个系统的最底层,由大量的存储设备及廉价的低端配置的计算机组成。这些设备数量庞大并且可以分布在不同地理位置,通过分布式技术和虚拟化技术将其资源整合,从而为用户提供强大的储数和计算服务。对于系统来说,物理存储位置改变无需逻辑文件名,使文件在服务器之间自由移动而不影响客户端的程序运行。

2) 基础管理层是整个系统的核心部分,通过集群技术,分布式文件系统和网格计算等技术,将物理层不同设备虚拟成不同的资源池,如计算资源池、存储资源池等,实现物理层中多个设备之间的协同工作,从而可以对外提供同一种服务。同时通过监控系统中各个节点的状态,对用户的任务请求进行调度,均衡的将任务分配给系统中的节点,提高系统处理能力,提供更强更好的数据访问性能。还可以根据用户支付费用的多少设置用户的服务等级,等级高的用户可以获得比较高的存储资源。

为了解决小文件存储问题,我们在管理层设计了文件合并功能,将系统的利用率最大化。流程图如,服务器接受到用户传来的文件后,对其文件大小进行判断如果是小文件,则开始文件合并,如果不是则直接存储(如图3所示)。

3) 应用接口层为客户端提供不同的服务的接口,根据不同的接口为客户端提供不同的服务。如通过通信接口连接客户端与服务器,通过任务接口判断客户端需要的是哪种服务。客户端访问云存储的既可以通过传统的HTTP、FTP协议也可以通过SOAP等协议。

4) 访问层为用户提供友好的访问界面,并对用户进行授权验证,通过验证的的客户可以登录访问云存储。

由于本文采用HDFS作为底层文件系统,在HDFS文件系统中客户端和Datanode主动连接Namenode(如图4所示)。Datanode主动向Namenode报告其状态信息,这些信息主要包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。Datanode启动一个单独的线程来完成对一台Namenode的连接和定时报告。值得注意的是一个组包含的Datanode不是通过配置文件设定的,而是通过Namenode获取到的。移动终端登录网络服务器;判断用户名是否存在,若判断结果为是,则移动终端向网络服务器上传文件或下载文件,并判断是否需要进行文件合并;如果判断用户名是否存在的判断结果为否,则开户注册,并为移动终端分配存储空间。

文件上传和下载流程如图5所示。文件上传流程的步骤如下:

1) Client询问Namenode上传到的Datanode;

2) Namenode返回一台可用的Datanode,返回的数据为该Datanode的IP地址和端口;

3) Client直接和该Datanode建立连接,进行文件上传,Datanode返回新生成的文件ID,文件上传结束。

文件下载是文件上传的相反过程。

1) Client询问Namenode可以下载指定文件的Datanode,参数为文件ID(包含组名和文件名);

2) Namenode返回一台可用的Datanode;

3) Client直接和该Datanode建立连接,完成文件下载。

3 系统实现

3.1 服务器端设计

整个系统采用C/S模式进行开发,服务器端是由6台计算机搭建成的Hadoop集群,将中一个性能高的计算机作为Namenode,其余5台作为Datanode。服务器环境由Ubuntu10.04+ Tomcat+JDK+Hadoop+MysqL组成。

服务器运行后监听9000端口,若接受到客户端连接请求时,服务器调用xml解析模块对收到的消息进行解析,解析后的消息包含用户认证信息。服务器对用户认证信息进行判断,如果认证通过,服务器则对该用户开启上传下载服务;如果认证失败则返回客户端认证失败信息。数据上传和下载的关键代码如下:

服务器将接受到的数据进行判断是否属小文件,如果是则进行文件合并操作。

集群内部的通信协议都是构建在TCP/IP协议上,因为TCP提供的是一种可靠的面向连接的服务。Datanode使用DatanodeProtocol与Namenode交互。Hadoop集群中所有的控制消息传输都是基于自身的RPC模块,在设计上,Namenode不会主动发起RPC,而是是响应来自客户端和 Datanode 的RPC请求。当客服端对Datanode上的数据进行读写的时候采用的是one thread per request的模型。

3.2 移动终端设计

在系统客户端设计中,本文以Android智能终端作为客户端开发平台。 我们采用MVC (M即Model是模型层,V即View是视图层,C即Controller是控制层)的设计模式来进行设计。这种设计模式将视图层与逻辑代码以及数据模型层进行分离,实现系统的松散耦合,便于系统的维护和代码的重用。实验效果图如图6所示。

移动终端分为四大模块设计:

1) 通信模块 负责与服务器端建立通信连接,通信协议可以是HTTP协议或SOAP协议。系统客户端通过GPRS无线网络采用TCP协议连接到服务器端。

2)解析模块 用来解析数据流,根据不同的类型封装不同的数据。

3) 数据封装模块 定义了客户端的数据类型和对象并进行封装。

4) 应用模块 即视图界面,是用户访问的直接接触部分,主要功能有登录、注册、上传以及下载等。

4 结 语

未来移动互联网用户将超过桌面用户,存储对象也必然随之发生变化,由现在的企业存储转向个人存储,移动终端的存储将有着广阔的发展前景。本文分析了网络存储现状,针对目前移动终端存在的不足,及云计算在小文件存储方面的不足,提出了基于云存储的移动终端新型存储模型,并予以实现,使用户通过移动终端随时随地访问云存储服务,从而解决了移动终端资源受限的瓶颈。

参考文献

[1]The Digital Universe Decade-Are You Ready?.http://www.emc.com/collateral/demos/microsites/idc-digital-universe/iview.htm.

[2]赵文辉,徐俊,周加林,等.网络存储技术[M].北京:清华大学出版社,2005.

[3]贺玲玲.浅谈基于SAN架构的网络存储系统的设计[J].科技资讯,2006(5):110-111.

[4]张成峰,谢长生,罗益辉,等.网络存储的统一与虚拟化[J].计算机科学,2006,33(6):11-14.

[5]文双全.一种基于云存储的同步网络存储系统的设计与实现[D].山东:山东大学计算机学院,2010.

[6]Hadoop Distributed File System.http://www.hadoop.apache.org/core/docs/current/hdfs_design.html.

[7]国内外云存储技术相关专利介绍.http://www.hyqb.sh.cn/pub-lish/portal0/tab1023/info6126.htm.

存储设计 篇5

下载附件(123.12 KB)

引子:

随着腾讯开放战略的实施,越来越多的第三方应用,伴随着开放平台迅速成长,在应用从小到大的发展中所遇到的各类技术问题里,涉及数据层的问题可以说是最棘手、最难解决的方面,特别是在应用进入产品高峰期时,海量用户会带来很多设计初期难以现象的访问压力。

对于不涉及到数据的接入层或者逻辑层来说,遇到问题或者故障能够较快的进行定位和解决。但是对于数据层来说,由于数据状态的存在,以及对数据安全及可用性的要求,一旦出现问题,恢复时间可能非常长,影响深远。

对于开发者来说,如果选择自行解决数据层的问题,那么在后期其花费精力可能会达到其他方面的的数倍之多,这简直就是一个梦魇。因此,本文结合我们所看到过的应用开发的主流过程和经验教训,针对数据层的技术解决方案进行了探讨和分享,并就如何应用云存储进行快速开发提出了一些建议。文中所述观点,仅为一家之言,不代表腾讯官方观点,谨供参考。

第一部分:App开发中的数据之痛

根据我们对APP开发者研发过程的观察,面向数据层的解决方案大致有以下几个步骤:

1、直接使用单机Mysql来解决数据层的问题

大部分开发者最初直接用Mysql,因为这个阶段应用开发的主要矛盾并不是性能压力、容灾等方面,而是如何快速的实现功能和上线。而业界流行的LAMP架构具备上手快的优势,这时的数据层直接用单机Mysql就搭建起来了。

(1)好处:Mysql是一款非常知名的开源数据库软件,它功能丰富的、工具齐全,由于在全世界应用得非常广泛,基本上遇到任何问题都能够很快的找到讨论者和解决办法。同时在应用发展的早期数据库压力小,除了提供在线服务外,数据库往往还可以用来进行数据统计和经营分析。

(2)不足:数据库需要专职的DBA管理人员进行维护工作(如数据备份、主从切换等),对于外部开发者来说,往往是开发人员兼任DBA的角色,风险固然有,但由于设备数量少,一般不会出现大问题。只是偶尔的设备故障、软件配置不当和Bug等问题,对应用会有影响,但总体上能够承受。

2、使用Memcached来分担读压力,使用Mysql来进行持久化

应用接入开放平台后,用户会增长非常快,整个系统迅速地要接受新的考验。Mysql主要利用本机内存进行缓存,受单机物理资源限制,难以胜任并发读写较高高的应用场景,而很多Social Game都有同时高并发读写的特点,这时会发现应用响应速度明显变慢。

这种情况下常见做法是在DB层之前加Cache,目前最常用的Cache就是Memcached,通过增加Cache设备和简单改造,可以快速上线。现在的数据层方案变成了Memcached缓存+Mysql持久化。Memcache应对读请求,Mysql应对写请求,效果立竿见影,DB压力迅速降低。

(1)好处:Memcached同Mysql一样,也是一款业内知名的开源软件。它具有接口简单、运行稳定、配置方便、性能出色的特点。

(2)不足:又多了一个模块需要开发者自己运营。而Cache层机器如果出现问题的话,可能会导致缓存丢失,命中率大幅下降,一旦出现这种DB层就非常危险,很容易产生严重的雪崩效应,恢复非常困难。另外,由于Cache只能用于应对读的压力,解决不了高并发写的问题,这个才是Social Game发展过程中最让人头疼的问题。

3、使用分布式MemCached和分库分表的Mysql集群方案

单机的Memcached和Mysql眼看着抵挡不住日益上升的访问压力了,开发者心里是有喜有忧,喜的是应用得到了用户的喜爱,忧的是要命的数据层又要面临严峻压力。既然发展到这个地步了,对数据层进行适当重构是必须的,业界关于分布式的方法可以借鉴的甚多,很多Memcached的SDK库已经支持分布了,Mysql也有分库分表的设计办法。经过一段时间的代码重构和数据搬迁后,数据层已经是个分布式的了。

(1)好处:现在的系统能够具备初步了较好的扩展性,可以根据用户活跃和访问情况进行扩容,用分布式的问题解决了单设备读写能力受限的困难。

(2)不足:虽然实现了系统的可扩展,可这并不意味着我们可以高枕无忧了。应用需要密切关注各服务的容量。对于Cache层来说,机器死机、扩容操作会导致缓存丢失,带来命中率大幅下降,而一旦DB压力过大,可能很长一段时间都缓不过劲来。而DB层的容错和扩容更是是令人神经紧绷,主备切换需要人工干预,还需要前端修改数据库接入IP、进行授权等若干配置;而扩容和数据搬迁操作一般只敢选在夜深人静的时候进行,一旦发现问题也要顶着巨大的压力去回滚和恢复数据,更是容易忙中出错。除此此外,要不要提前准备足够的资源也是令人十分纠结,准备多了会浪费资源,准备少了可能又满足不了业务的快速发展。而且Social Game的生命周期相对较短,往往数周之内迅速达到用户峰值,需要频繁的数据扩容和迁移,吃掉大量设备资源,接着就步入稳定和衰减期,又需要数据的合并和资源推出,对资源供应的要求非常高。而且此时的设备多,维护更加复杂,把如此庞大的精力都投在数据层显然是不明智的。

其实,我们可以活的更好的!

4、使用CMEM云存储解决方案

由于Social Game的SNS特性,App在拥有一定的用户规模后,数据量大,读写请求非常多,读写比接近,大量的写到数据层,数据层由于IO原因抗不住写压力。针对这类情况和腾讯在数据层研发过程中的实际经验,我们目前提供了两款高性能、低成本的云存储产品,分别是:

(1)NoSQL的云存储产品:Cmem。Cmem提供极高的并发读写能力,作为一款云存储产品,对用户透明的实现了自动容错、平滑扩容、数据备份、资源复用等一系列存储层的必要功能。将在线数据以Key-Value形式存放和访问,解决了大并发读写和令人头疼的数据层管理问题。

CMEM全称为Cloud Memory Storage,是腾讯提供的高性能内存级持久化存储服务。

CMEM基于一个存储键/值对的hashmap,具备内存级别的访问性能,并保证数据的持久性。

(2)SQL的云存储产品:CDB。CDB是兼容Mysql协议的云存储产品,以实例的方式进行Mysql数据库的供给,并将数据迁移、实例扩容、数据备份等工作都放在了云中,对逻辑层透明,减少了开发者对于DB层的维护成本。

CDB全称为Cloud Database,是腾讯提供的分布式数据存储服务。

CDB提供了高性能,高可靠的MySQL 集群服务,并且整合了备份,扩容,迁移等工具。

这个时候的设计模式是,将大量需要在线高效访问的数据通过Key-Value的形式放在Cmem中,将少量需要SQL功能的数据放在CDB中。

(1)好处:Cmem完全兼容memcached协议,CDB兼容Mysql协议,这样对于开发者来说基本无门槛。在开发和运营过程中,开发无需关心存储层的数据安全、容错、扩容,这些问题全部在云端解决。

(2)不足:Cmem是Key-Value存储,用于应对在线数据的实时高效访问,不具备传统SQL存储的一些常用功能,如实时统计、分析等。但实际上,大部分应用在使用Mysql作为存储层使用的时候,基本上也都是同时只对一条记录进行操作,这正式Key-Value的使用场景。如确实有SQL要求并且数据量适中、性能要求不高的数据,可以使用CDB解决。

第二部分:云存储——数据层解决方案

看过应用开发过程中存储层方案变迁后,回到项目起始阶段,如果在应用开始设计时就考虑使用云存储来解决数据层的问题是非常明智的。一来可以快速开发,使开发者更加聚焦于应用逻辑开发和产品运营;二来减少数据层后期扩容、运维成本,减少故障概率。我们再从各个纬度来全面看下数据层是否使用云存储的优劣。

自行设计和解决数据层问题

使用Cmem、CDB等云存储方案

开发门槛

熟悉LAMP架构和业界知名开源软件如Memcached、Mysql即可

Cmem兼容MemCached协议

CDB兼容Mysql协议

无门槛

研发效率

需投入专业人员进行数据层的设计和开发工作

无需关注数据层具体实现,通过云存储解决数据层性能、容量、安全及可用性问题,资源可投入到应用开发

运维质量

1、数据层开发要求高,设计时的疏忽可能带来运维中的重大数据灾难;

2、经常的重构和各类数据运维操作带来额外风险;

3、业务极速增长带来资源的压力,经常会导致系统过载

1、成熟可靠的存储层方案,保障数据安全和可用性;

2、全面的监控告警、自动容错机制;

3、云端资源池共享,支持业务的极速成长

运营成本

1、以实际设备投入来计算,即便只用了1/10的资源;

2、需提前准备资源来应对可能的业务突发;

3、业务开发人员兼顾数据层优化,性能提升有限

1、以实际使用资源来核算;

2、云存储资源的复用,资源单位成本小于直接使用物理资源;

3、专业数据层研发团队,从应用到硬件的极致优化

表1

可见,无论从性能、效率、质量、成本各个方面来看,对于第三方开发者来说,云存储都是更优的选择,不过这里还是有些研发模式的转变的,

这一部分将就如何在云存储下进行数据层的设计进行一些分享。

我们分析了App常用的数据类型、场景和访问情况,有一些基于Key-Value的App数据设计参考方案供参考。目前对于各类应用来说,所用到的主要数据类型大致有以下几种:

数据类型

示例

数据量

读取量

修改量

1

用户资料

昵称、等级、金钱、经验

2

背包数据

农场游戏的田地、果实等

3

Feeds

“小明摘了我的菜”

“小白帮我捉了虫”

4

留言信息

好友留言、系统消息

5

购买物品

用户装饰、游戏道具

6

成果归档

某用户升级到30级

7

其他

好友排名、游戏排名

表2

除了第7点的排序工作外,通常应用对各类数据的在线访问都是以Key的形式来访问Value,并不会用到SQL功能。比如用户经验值成长了,我们根据用户id取出用户资料,修改经验值并设置回去就行了。特别是前几类高访问量的数据,非常适合Cmem的高性能存储场景。同时,将不同类型的数据分开存放在不同的数据表中是有好处的,同类数据的局部化可以方便Cmem根据不同模型进行更好的优化。

那么有没有场景是涉及到多条记录操作的,答案是有。比如农场游戏中A摘了好友B的萝卜,A的数量要增加,B的要减少,就涉及到多个记录的修改了。这个时候在分布式场景中如果要使用事务是极其不理智的,即便能实现(没有分库分表),在实际使用的性能消耗也非常高,基本上不可承受。其实上是有折衷的方案的,比如先增加A的数量,再减少B的数量,这时出现问题的概率非常小,而且出现了也不会影响游戏效果和用户体验,但换来的却是系统扩展性和性能的大幅提升。在实际使用中,有的应用自己简单实现了一个非常轻量的transaction模块,效果也非常好。

针对表2中的各类数据类型,我们给出了建议使用场景,这里主要是根据访问密度和数据量2个纬度来衡量(Cmem具备更高的性能和扩展性,CDB提供SQL支持),下表中“访问密度高”表示>500iops/GB,“数据量高”表示>150GB。

访问密度

数据量

推荐云存储方案方案

示例数据

Cmem

背包数据

Feeds

Cmem

用户资料

Cmem(数据量有持续增长的需求)

成果归档

CDB(数据量相对固定且有SQL的需求)

好友排名、用户排名

CDB

购买物品

留言消息

表3

根据上述一些原则,结合实际的应用策划,如果在早期能合理的进行数据层的规划,那么就可以避免在后期遭受巨大的数据层运营挑战。那么,Cmem和CDB能解决所有的数据层问题吗,显然它们不是万能的,不过它们能解决我们目前在线上业务中最棘手的在线数据访问的根本问题。解决了这个,其他问题都好办了。如果还有什么疑问,请访问yun.tencent.com,那里有更多的信息和解答。

第三部分:应用云存储的一些遗留问题

1、事务操作

应尽量通过业务逻辑来避免事务,在Social Game开发中使用事务是极其不明智的行为,当然支付类操作除外,不过这个不属于游戏数据的在线访问,腾讯云平台也提供了相应的解决方案;

2、统计分析

提供数据导入到DB的功能,但DB分析能力终归是有限的,计划日后提供类似MapReduce原理的分析工具;

3、游戏运营

比如需要对金钱<100的用户统一送金币,如果碰到这类问题,分析系统+操作工具应该是个不错的选择,直接去数据库修改太危险了,不是吗?

4、用户排名,搭建额外的排名系统,效率更高

存储设计 篇6

摘要:

安全体验是影响在线存储APP用户使用意愿的关键因素之一,本文分析了用户安全体验认知,从用户、APP、使用环境三个方面分析了在线存储安全体验的影响因素,并总结了用户的安全体验需求,从功能设置、界面视觉、交互方式三个方面进行了安全体验设计初探。

关键词:

安全体验 在线存储 APP设计

一、研究背景

在线存储APP是一种新型的电子资源管理模式,能够帮助用户在因特网的环境下轻松方便地管理(存储、访问、备份、共享)和编辑电子资源。据统计数据显示,在线存储服务的市场规模从2009年606万美元上升到2014年20864万美元,在线存储APP日益增加的同时,网络诱骗、欺诈、个人信息被泄露等事件时常在网络上出现,极大地降低了用户使用在线存储APP的安全体验,影响了用户使用在线存储APP的意愿,研究提升在线存储APP的安全体验有助于在线存储APP用户规模。

在线存储相比于传统的存储方式(如U盘、移动硬盘)而言有诸多优点,比如不需要随身携带、废弃后不污染环境、容量较大等。然而在线存储APP也存在许多的问题,安全体验是影响在线存储APP发展的主要原因,目前学者的研究主要是从技术开发、法律、管理学角度进行研究,然而技术上或法律上的提升并没有提高人们对在线存储APP的信任,本文尝试从设计的角度研究提升在线存储APP的安全体验。

二、用户安全体验认知分析

在线存储app的界面信息认知流程如图1所示,界面信息的认知流程分为信息输入、信息加工和认知决策三个过程。用户在使用在线存储APP时,为了完成某个任务,通过眼睛观察屏幕上界面的变化,手指操作键盘与鼠标,完成信息的输入,用户的感知系统感知界面的变化,人的大脑对信息进行理解、记忆与判断,最后做出决策,再执行相应的动作,如点击某个按钮,从而引起系统对人所发出的指令进行处理,引起界面的变化,在这个过程中,人的认知系统一直在对界面进行评估,进而产生安全感受或不安全感受。安全体验认知也是是一种基本的心理过程,包括感觉、知觉、记忆和思维过程,每个人的认知能力不同,对安全体验的认识也不同,互联网经验越丰富、收入越高、学历越高的人,其安全体验认识越高。

认知会影响用户使用在线存储APP过程中的安全体验水平,进而影响用户的行为。用户使用在线存储APP感受到的安全体验水平往往与该APP实际的安全水平不一致,当用户使用APP时感受到的安全感水平高于该产品实际安全水平时,用户往往会采取不安全的行为,比如用户注册在线存储APP时,认为该APP的安全水平很高,用户便会将登录密码设置很简单,从而导致账户的不安全;当用户使用在线存储APPB寸感受的安全感水平低于该APP实际的安全水平时,则会拒绝使用该APP,因此安全体验认知将对用户使用在线存储APP的行为起到非常重要影响。

三、在线存储APP安全体验影响因素分析

由安全体验的认知分析可知,用户、产品、使用环境是安全体验认知的三个要素,用户是安全体验认知的主体,因此用户也是安全体验最主要的影响因素。

安全体验影响因素——用户

用户是安全体验影响最重要的因素,安全体验的获得不仅与人的生理因素和心理因素有关,还与人们习得的知识、经验,媒介的影响以及在使用过程中与心理相互作用的结果有关。

安全体验影响因素——APP

APP是安全体验认知过程中的载体,APP包含功能设置、交互流程、界面色彩、图标形状等要素,安全语义的传达与这些要素都息息相关,而界面色彩、图标形状等是安全语义传达最重要的因素;在功能设置层面,应当给予用户过多的控制权,让用户自己做选择,不要强迫用户;在交互流程方面,步骤分支越多,流程较复杂将增加用户使用过程中出错的可能性,从而导致用户较差的安全体验。

安全体验影响因素——使用环境

在线存储APP的使用环境就是在用户的手机上,主要包括硬件环境与软件环境,硬件环境主要是指手机本身是否安全,软件环境是指手机的网络是否存在漏洞,手机是否安装了杀毒软件,硬件及软件环境的安全直接影响用户使用在线存储APP的安全体验。

四、在线存储APP用户安全体验需求分析

1.目标用户分析

调查报告显示,70%的在线存储APP使用者的年龄到20到35岁之间,大多为公司白领和大学生,男性居多,学历都在大专以上。这两类人群学历都较高,互联网使用经验丰富,对APP的接受度较高,对在线存储APP的安全体验要求也较高。

2.对个人信息的安全体验需求

用户注册在线存储APP,往往会用到个人信息,如手机号、姓名、身份证号码等,这些信息都是用户比较私密的信息,不希望被不法分子所利用,因此在线存储APP对这类信息应该严加管家,从技术上保障用户的个人信息不会泄露,给予用户良好的安全体验。

3.对上传文件的安全体验需求

安全需求是情感需求的一部分,马斯洛需求模型将之放在倒数第二层(如图2),可见这是人类比较基本的情感需求,在线存储APP为用户提供一个网络存储空间,用户存储的内容是人们的财产的一部分,财产所有性也是人类对安全需求的一部分。用户存储的文件往往是多种多样的,有工作中的文件,有生活化的照片等,用户都不希望在未经授权的情况下被他人查看或下载。

4.交互过程中的安全体验需求

交互过程中安全体验需求主要包括用户使用在线存储APP的过程中对APP的确定感和控制感,确定感即用户对信息确定而不怀疑,控制感强调APP对用户操作行动的反应,包含可靠性、出错处理、灵活性、反应速度、过程长度、易导航、易使用等,用户对APP往往期望有较高的可靠性,运行稳定不崩溃,对出错能及时处理并提示解决方案,endprint

五、在线存储APP安全体验设计探讨

1.功能设置

本文要设计一款安全体验较高的在线存储APP,在功能设置上主要有登录与注册、实名认证、文件的上传与下载、文件的分享、举报、安全设置、安全体验等功能,登录与注册可通过手机号或邮箱进行,注册之后需要进行实名认证才能上传文件,以确保用户不上传色情淫秽等内容,用户可将自己上传的文件进行分享,可以设置密码进行私密分享,也可以不设置密码进行公开分享;当有人上传非法文件时,用户可通过举报功能进行举报,以便管理人员对非法文件进行删除;安全设置功能主要包括修改密码及找回密码;安全体验功能对整个账户的安全进行打分,并呈现给用户,分数较高说明账户的安全水平较高,分数地说明账户不太安全并提醒用户进行相应的安全设置,提高用户使用过程中的安全体验;杀毒功能可以让用户对上传的文件进行杀毒,用户可以选择全部文件或部分文件进行杀毒,也可设置定时启动杀毒功能,从而保障文件的安全。

2.界面视觉

APP中给人最显著的吸引力来自于视觉,视觉界面将直接影响用户使用过程中的感受,视觉界面的设计元素包括图标、布局、色彩等,在线存储APP图标设计的关键是隐喻,如在图标中采用锁、盾牌等图形元素,引起用户对安全的联想,进而引起用户对在线存储APP感性的安全认识。在布局方面应该采用比较规矩的宫格布局,让用户感到视觉稳定,宫格布局也比较简洁明了,符合用户的认知习惯。产品不同的颜色或不同的颜色搭配给人不同的感受,如黑与黄的搭配就是安全的标志,红色的鲜明特征除了代表速度与激情以外,还有警示的作用,深色给用户稳重可靠的感觉。根据国际化标准组织(ISO)制定的安全信息标准,“红色”表示危险,黄色表示“警告”,“绿色”表示安全,因此本在线存储APP的颜色采用绿色为主色调,辅助色为黄色,并采用较低的明度、纯度及饱和度,绿色给人以安静的感觉,可以减轻眼睛压力,安定情绪,使人呼吸变缓,因此也有助于提升在线存储APP使用过程中的安全体验,如图3所示为在线存储APP的三种配色方案。(图4)

3.交互方式

随着科学技术的发展,APP的交互方式也越来越多,交互方式的改进能从根本上提高在线存储APP的安全体验,如采用指纹识别或声音识别等交互方式,这样的交互方式也更加的方便,更加自然,用户只需要将手指触摸相应的感应器或说出一段话,便可对账户进行相应的操作,相比于通过键盘输入密码的方式,利用人的生物信息作为口令,账户也将更加安全,安全体验也更高。

六、小结

水下小型自容存储模块设计 篇7

本文针对线列阵声纳,提出一种便捷地记录深度或航向数据的水下小型自容存储模块,拟在更好地解决水声试验参数的记录问题。本文设计的模块主要应用于水声试验,适用于湖、海试等各种场合。模块采用电池供电,在不需要人工参与的情况下自动记录试验参数。具有体积小,数据纪录时间长,不占用有限的水下电缆资源等优点。尤其适用于环境恶劣、人员紧张的试验场合。其安装示意图如图1所示,电路板、电池和传感器被放置于水密罐中,水密罐可简便地捆绑在垂直阵、水平阵或拖线阵等多种声纳阵上,应用广泛。

2硬件原理

在嵌入式系统领域, 低端的单片机80C51系列一直扮演着重要角色。 随着技术不断发展, 80C51系列从MCU发展为混合信号系统级芯片(SOC), 其内部集成了数据采集或控制系统所需要的几乎所有模拟、 数字外设及其他功能部件。 这些外设部件的高度集成为设计小体积、 低功耗、 高可靠性、 高性能的单片机应用系统提供了方便, 也使系统的整体成本大大降低[1]。

水下小型自容存储模块选择C8051F020单片机为核心芯片,通过增加简单的外设电路实现数据采集、存储。C8051F020内部自带两个ADC子系统,同时还集成了跟踪保持电路,可简便地实现数据采集功能[1]。

水下小型自容存储模块硬件原理框图如图2所示,它主要由电源电路、数据存储电路和通信电路构成。整个存储模块采用电池供电。电路板、电池和传感器被放置于水密罐中,试验时随声纳阵吊放入水,实现对试验参数的实时记录。

2.1电源电路

电源电路不仅担负着为单片机及外设芯片供电的任务,同时还需要为传感器提供电源。C8051F020单片机所需电源电压典型值为2.7V~3.6V,工作时电流约10mA,极限状态下电流为800mA。另外,以我们购买的深度传感器和航向传感器为例,深度传感器需要20mA@12VDC电源,航向传感器需要35mA@5VDC电源。

综合考虑上述因素后可知,正常情况下,各模块的功耗均较小,合计约需100mA电流。以一次水声试验耗时10个小时计算,选用12V、1.8AH的锂电池可满足试验需要。此电池尺寸为50mm*35mm*35mm,体积小,重量轻,易于安放。

另外,为满足不同模块的不同电压要求,需利用DC/DC芯片进行电源电压变换,以保证电路板上提供多种电压信号。此处利用LM2575芯片将12V电压转换为5V电压,LM2575芯片可提供1A电流。再进一步利用AS1117芯片将5V电压转换为3.3V电压,AS1117芯片可提供800mA电流。

2.2数据存储电路

数据存储是水下小型自容存储模块需实现的主要功能,设计时需考虑下列因素:

首先,从存储介质方面考虑。由于试验环境复杂,通常无法保证试验完成后立刻处理试验数据,所以必须用非易失性的存储介质来存储数据,以免断电后试验数据丢失。

第二,从存储容量方面考虑。以一次水声试验耗时10个小时,每秒采集一批特征参数,每批特征参数25个字节为例,共需要900KB(即7.2Mbit)的存储容量存储试验参数。

第三,从数据接口方面考虑。C8051F020芯片外部共16根地址线,可访问65536B的数据存储器空间。如果不另外利用C8051F020芯片的数据线作为地址扩展线,那么根本无法实现900KB的外部数据存储容量。

综合上述几点,为简化设计,水下小型自容存储模块选用具有串行数据接口的存储芯片AT45DB081存储采样数据,避开使用C8051F020单片机地址总线问题。C8051F020芯片内置串行外设接口(SPI),利用其串行总线接口访问外部存储器不受地址线限制,且可访问大容量的数据存储设备。选用的AT45DB081为8Mbit的flash,容量充足,且可在线编程,掉电后试验数据不会丢失[2]。

另外,如果试验中的特征参数很多,需要更大的存储容量存储数据时,可利用图3的两种方式进行容量扩展。图3(a)直接利用单片机的数据线,不同时刻选中不同的flash,可简单实现存储容量的扩展。图3(b)将单片机的数据线译码后再作为片选线,不同时刻选择不同的flash,可实现更大的存储容量扩展。对于水声试验,选用上面任一种方式一般已能满足要求。

2.3数据通信电路

数据存储模块采集声纳阵列在水下的状态数据,上岸后通过串口将存储的数据发送到计算机,供后期数据分析使用。

C8051F020内部集成了能进行异步传输的串行口(UART),它可工作在全双工方式下。通过RS-232电平转换器(如SPE2332E芯片),C8051F020芯片可直接与具有RS-232接口标准的器件进行通信,它既可接收串口传送的特征参数,也可将存储的数据通过串口发送到计算机中。

3软件原理

3.1程序框架

水下小型自容存储模块既可工作在水下,也可工作在岸上。当它位于水下时,不需要人工干预,上电后自动采集数据;当它位于岸上时,电路板上存储的数据可被导入到计算机中。这两种工作方式不同时工作,因此可将软件划分为水下和岸上两个功能模块,通过对拨码开关的状态判断,决定软件应该执行哪部分功能。程序框架如图4所示。

3.2数据存储部分

无论水下小型自容存储模块工作于水下或岸上,数据存储和读取功能是此模块需实现的关键功能,它涉及对flash芯片的管理、配置。AT45DB081芯片以264字节为一页,共4096页,每次数据写入均会将对应页全部刷新,因此操作时最好以页为单位对AT45DB081芯片进行读写。

由于写flash需耗费一定时间,所以为保证程序的可靠性,本程序采用乒乓方式存储数据,即开辟两个264字节的数组。当其中一个数组正在更新采样数据时,另一个数组的数据被写入flash。两个数组在同一时刻执行不同的功能,互不干扰。以数据采集频率1Hz,每次采集25字节数据为例,一个数组存满数据所需时间约为10s,而将一个数组的数据写入flash所需时间只要约几十毫秒。这意味着如果采用乒乓方式存储数据,就能有约10s的时间保证数据被完整写入flash,程序的稳健性大大提高。

水声试验非常复杂,前期放缆的准备时间和后期收缆的时间都较长,而且由于试验环境和试验条件限制,每次试验所耗费的时间均不确定。因此,为保证存储模块能完整记录试验参数,软件中应保证前期试验数据被保留,后期收缆时的数据可丢弃。因此,如果试验时间太长,flash已被写满,那么应停止写操作,后续的采样数据被抛弃;另一方面,如果试验时间较短,flash未被写满,那么应有标志位指示flash实际使用的空间大小,以免后期读取数据时将错误的数据也同时读出。本软件将flash的第一页用来存放标志位,后面页依次存放采样数据。

4结束语

本文设计的水下小型自容存储模块经过湖上试验,非常稳健、可靠,使用方便。从数据存储情况看,深度传感器和航向传感器的数据均被正确记录,并能正确上传到计算机中,数据长度与记录数据的时间吻合。从电池使用情况看,工作10个小时,电池电压从12.6V变为11.9V,说明电池也能满足试验要求。

本文的设计方案有效解决了水声试验的环境参数采集问题,为更好地获取试验数据打下良好基础。

参考文献

[1]潘琢金,施国君编著.C8051Fxxx高速SOC单片机原理及应用.北京:北京航空航天大学出版社,2002.

高速数据采集存储板卡设计 篇8

高速采集存储系统目前在雷达、图像处理、语音识别、声纳、通信等领域有着广泛地应用。为了满足雷达高速数据采集的需要,要求设计高速大容量的数据存储器,可以在现场采集数据、保存后进行回放和后期处理。特别是随着雷达成像技术逐渐成熟,分辨率和采样率都大幅提升,需要实时保存海量数据。Atmel公司的1 GS/s速率的A/D变换器件,可以工作1 GHz上进行采样。NAND型FLASH芯片,以半导体作为记忆载体,比传统的存储设备可靠性更高,体积及重量更小,日趋成为存储器的主流。

在某机载合成孔径雷达的试验中,雷达以正侧视条带式工作在X波段,空间分辨率达到0.5 m×0.5 m(0.3 m×0.3 m)的高分辨率,I,Q双通道采样,采样频率640 MHz,采样位宽为8 b,场景距离向45 120 (22 560)点,方位向重复频率为2 k/s,要求最小存储速度2×8 b×45 120×2 k/s=180.480 Mb/s。本文将详细介绍所设计的A/D_FLASH系统是如何构建来满足数据采集和存储要求的。

1 核心芯片选择

存储介质采用Samsung公司的NAND FLASH芯片K9WAG08U1A-PIB0,他的外部接口速度为40 MHz,接口宽度8 b。每个芯片含8 192×2个数据块,1个块分64页,每页大小为(2 k+64)B,其中64 B为空闲区,存储总容量为16 Gb。

数据采集芯片采用Atmel公司的AT84A/D001B,他是双通道8位AD,采样速率可达2 Gs/s(此时是2个通道),输入接口是SMA,触发选用外接触发,触发信号为3.3 V的TTL或者CMOS电平。输入信号带宽可为1~1 500 MHz,输入信号幅度为-2 dBm(Vpp=500 mV),输入阻抗50 Ω,信号通过SMA接头接入。

FPGA是控制核心,他非常适合复杂时序逻辑的设计,这里选用Altera公司的STRATIXⅡ系列的EP2S60F1020C5芯片。他的内置存储RAM,可以缓存一定量的数据,支持3.3 V,64 b,66 MHz PCI,可以作CPCI的功能控制。

PCI桥接芯片采用了PIX公司的PCI9656BA芯片,以简化与主机进行通信时PCI部分的设计。借助PCI9656,可实现与主机间进行64 b,66 MHz的PCI总线,与FPGA间实现32 b,66 MHz的局部总线协议,并可实现板卡的热插拔。该芯片应用灵活,性价比较高,是进行CPCI接口开发的一块性能优良的芯片。

2 A/D芯片部分的操作

AT84A/D001B有2路(I,Q)模拟输入,变换的结果可以最多有4路的差分输出,这4路都连到FPGA的差分IObank上,A/D的时钟输入也是差分的,最高可以达1 GHz,如果设定成将这个时钟反相后作为另一路的时钟输入,那么采样速率实际可达2 GS/s,工作模式的设定都是通过FPAG输出时序给A/D,其中要注意的FPGA输出的信号经过一个电平转换芯片后再连到A/D的配置接口上,因为A/D支持电平是2.2 V,可以用FPGA的3.3 VBANK的I/O接口转换。

3 FLASH芯片接口操作

K9WAG08U1A可以看作由2片存储容量为8 Gb的小芯片组成,对此,芯片有2个片选信号ce1和ce2,对应还有2个rdy信号。芯片的各种操作必须写入相应的命令才能顺利执行,由于命令、地址、数据共用I/O,所以要通过命令锁存信号和地址锁存信号共同控制而分时复用。FLASH存储中主要使用的操作简介如下:

(1) 页编程(PAGE PROGRAME)

器件的编程以页为单位,但在一个页编程周期中允许对部分页(一个或连续的多个字节,最多不超过页容量)编程。一个页编程周期由串行数据加载阶段和紧随的编程阶段组成。在数据加载阶段,数据被加载到数据寄存器中;在编程阶段,已加载的数据写入实际的存储单元,编程典型时间为200 μs。

(2) 页读(PAGE REA/D)

器件在上电时,就被初始化为读模式,此时可以不写00h命令,直接写入地址和30h命令即可。有2种类型的读,分别是随机读和顺序页读。命令打入后经过最多20 μs的时间,数据会从选择的页传到数据寄存器中。

(3) 块擦除(BLOCK ERASE)

器件的擦除操作是以块为单位的。块地址加载由擦除建立命令60h启动,然后输入确认命令D0h,执行内部擦除过程。这一先建立再执行的两步命令时序,确保了存储内容不会由外部的干扰而意外擦除。

4 板卡大致布局

板卡有一个高速CPCI接口,方便与CPCI工控机之间的数据交换。此外采用自定义的两个高速数据接口(SCSI)。64片FLASH芯片并行操作,另外8片FLASH芯片专门用于冗余校验, FPGA为整个板卡的控制核心,其硬件结构如图1所示。

由于CPCI的插槽J3,J4和J5用户自定义应用,在这里把J3设计成自定义I/O,总共有80根线连到FPGA的引脚上,这样只要跟这块板卡插在同一块CPCI工控机的底板上,就可以很自由地实现板间通信而不需要主机的太多干预。J4没有连接,而J5则按照TigerShark公司的TS201的链路口协议进行链接,这样以来,这块板卡就可以实现与以TS201为核心的雷达信号处理板卡之间的通信。 布局时要把数字部分和模拟部分尽量彻底分开,模拟部分主要是指A/D上的模拟电源,模拟地,模拟信号等。这块板卡的布局如图1所示:

5 重要模块设计

程序的大致结构流程如图2所示:

FPGA是整个存储卡的控制核心,EP2S60F1020I4实现的内部功能模块如图3所示:

6 A/D的配置及与FPGA数据传输

Atmel的这款A/D变换芯片采用3线式配置其工作方式,通过这个接口配置他的时钟源,单路或是双路模拟输入,以及变换结果的输出通道数,并可以配置2路的增益和补偿。这种配置方式只需往芯片的内部8个寄存器写入相应的配置值即可,并可以根据应用场合及时修改配置参数,适应各种要求的数据采集要求。A/D的3线配置时序如图4所示:

A/D变换工作的频率比较高,FPGA要接收这个数据需采用一个LVDS接收器,这样就可以把接收器的输出直接连到FPGA中的FIFO去,接下来通过FIFO接口把数据传给FLASH模块去存储。A/D变换的结果进入FPGA后,再经过一个解串器,把速度降下来,就可以分到把数据送给FLASH去存储。

6.1 FLASH流水工作

考虑存储速度要求和接口的最高速度,我们以接口速度320 MB/s进行设计,由于每组17片FLASH并行操作,分配到每个FLASH芯片的速度为320/16=20 MB/s。K9K8G08U0M芯片接口的写入速度最高可达40 MB/s,所以工作在20~40 MB之间就可满足所需要求。

考虑FLASH的结构特点,设计过程中基于整个页进行读写操作。数据加载时间,即1页数据写入FLASH寄存器的时间为:页容量/接口速度=102.4 μs。数据加载结束后,进入编程阶段。K9K8G08U0M芯片编程时间的典型值为200 μs,最大值为700 μs。为了系统达到最大稳定,以最大时间700 μs进行设计,编程时间/数据写满每组FLASH一页的时间为:700 μs/102.4 μs=6.8,说明经过7组FLASH的写入加载操作后,第一组FLASH编程结束,又可进行再次加载。由此可见,在一次循环操作中,用8组FLASH是比较合适的,也就是如图5所示的样子。

6.2 用于FLASH存储的坏块列表

NAND FLASH内部有随机分布的坏块,需要建立坏块信息列表,对FLASH的操作都要基于此列表。芯片在出厂的时候,在每块第一页和第二页的空闲区的首字节(第2 048个字节)处留有标记,如果不是FFH则为坏块。建立坏块信息列表如图6所示。

在实际操作中发现,每组17片FLASH总的坏块从80到130不等,但相对于总块数8 192而言仍算少数。所以把每组17片FLASH各自的坏块信息相与,建立一个新的组坏块信息列表,一共8组FLASH所有的坏块信息是8 192个字节,总的大小很小。由于每组FLASH共同控制,那么基于同一个坏块列表操作就显得非常的方便。

存储操作及坏块列表的更新,如图7所示。FLASH在长期使用中,会产生新的坏块,要及时对坏块信息进行更新。更新时,把新的坏块内容写入第一块中去,但不重新写入原来的地址。这样确保原始坏块信息的安全。

6.3 数据的冗余校验

在实际信道传输数据时,如果由于信道传输特性不理想,并且受到噪声和干扰的影响,就会造成接收端误判而发生差错,或者由于个别芯片出现读写失败时,也会造成数据的丢失。为了尽可能的降低通信的误码率,提高数据存储的完整性,同时使用循环冗余校验码CRC(Cyclic Redundancy Check)与奇偶校验码来检查和恢复错误数据,保障存储系统数据的可靠性。

循环冗余码采用CRC-CCITT国际标准,其生成多项式为:G(X)=X16+X12+X5+1。为了提高运算速度,使用并行计算方法。奇偶校验的法则为,数据有奇数个1时,校验码为1,否则为0,在FPGA内部使用异或组合逻辑就可轻松实现所需算法。

7 性能参数

板卡的性能参数如表1所示。

8 FPGA内部实现的功能结构

FPGA内部主要完成的工作主要有,接收从CPCI工控机来的的命令,判断执行的命令的类型(存储、回放、擦除数据等),实现FPGA与PCI9656的通信,对A/D的工作模式进行配置,把A/D变换的结果传给FLASH,建立坏块列表,以及对数据的冗余校验。低速模块对高速输入的处理,是个通过数据流的串并转换,面积换速度的方法达到。

9 结 语

本文对FLASH的固存技术进行研究,所设计的基于FPGA的存储卡,在存储速度、容量、纠错性能上都满足了机载合成孔径雷达成像试验所需的要求。在速度要求愈高的发展趋势下,高速大容量的存储器将在各个领域都会有广泛的应用前景。

参考文献

[1]K9WAG08U1A A/Dvanced FLASH Memory Data SheetSAMSUNG Electronics,2005.

[2]PCI 9656BA Data Book,Version 1.1 2003 PLX Technolo-gy,Inc.

[3]Stratix II Device Handbook Altera Corporation.

[4]李贵山,戚德虎.PCI局部总线开发者指南[M].西安:西安电子科技大学出版社,1997.

波形采集、存储与回放系统设计 篇9

1 总体方案设计

本系统实现的是波形采集、存储与回放功能, 易用单片机控制来实现。这里以ISD1420P系列单片机为主控元件, 自身电路结构非常简单, 因此在操作的时候方便使用;由于它具有零功率信息存贮的特点, 因此在使用时可以省去备用电源;ISD1420P芯片较强的选址能力, 使其在管理方面凸显出强大的优越性;存储在此芯片上的信息可以保存10年以上之久, 可反复录放达10万次之多, 并且相关的外围元件少, 只需单一电源供电, 因此成本较低。综上所述, 由于ISD1420P芯片与其他同类电路相比具有以上的优点, 因此在设计中进行选用。

2 单元模块设计

2.1 电源电路

在本次设计中选用直流稳压电源—三端集成线性稳压器作为供电设备, 提供+5V电压输出。选择三端集成线性稳压电源的原因是其具有的基本功能和特性指标符合设计要求。

2.1.1 基本功能

(1) 输出电压值能够在额定输出电压值以下任意设定和正常工作。

(2) 输出电流的稳流值能在额定输出电流值以下任意设定和正常工作。

(3) 直流稳压电源的稳压与稳流状态能够自动转换并有相应的状态指示。

(4) 对于输出的电压值和电流值要求精确的显示和识别。

(5) 对于输出电压值和电流值有精准要求的直流稳压电源, 一般要用多圈电位器和电压电流微调电位器, 或者直接数字输入。

(6) 具有完善的保护电路。

2.1.2 特性指标

(1) 输出电压范围。

符合直流稳压电源工作条件情况下, 能够正常工作的输出电压范围。

(2) 最大输入-输出电压差。

该指标表征在保证直流稳压电源正常工作条件下, 所允许的最大输入-输出之间的电压差值, 其值主要取决于直流稳压电源内部调整晶体管的耐压指标。

(3) 最小输入-输出电压差。

该指标表征在保证直流稳压电源正常工作条件下, 所需的最小输入-输出之间的电压差值。

2.1.3 优点

三端集成线性稳压电源具有调整管工作在线性工作区, 稳定性好、精度高、噪声力小、效率高、体积小的优点, 应用领域也极其广泛。

2.2 ISD1420P芯片

2.2.1 芯片基本构成单元

ISD1420P芯片由时钟振荡器、128K字节E2PROM、微音放大器、自动增益控制电路、抗干扰滤波器、差动功率放大器构成基本功能电路。芯片存储时间为20秒。

2.2.2 芯片操作模式

此芯片的A0~A7引脚功能由A6、A7引脚的电平输入状态决定。当A6、A7引脚中有一个输入的是低电平时, A0~A7的输入全部解释为地址位, 将其功能作为起始地址使用;当A6、A7引脚输入同为高电平时, A0~A7的输入全部解释为模式位, 即代表不同操作模式。在使用中药注意, 地址位只能作为输入端, 在使用中不能输出内部地址信息。

使用操作模式有两点要注意:所有初始操作地址端都是从0开始, 一旦电路进行录放音转换或进入省电状态时, 地址计数器自动复位为0;当PLAYE、PLAYL或REC变为低电平, 同时A6, A7为高电平时, 执行对应操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止, 这一刻现行的地址/模式信号被取样并执行。

操作模式中A0端为信息检索, A1端为删除标志, A3端为循环重放信息, A4端为连续寻址, A2、A5两端未用。

3 设计方案实现

在系统左端A通道加入外接信号源获得高电平为4V、低电平为0V、频率约1k Hz的单极性信号, 将其通过输入电路送入到ISD1420P电路中, 进行存储。完成存储功能后, 断电并取消外接信号源的输入, 在系统右端A通道加入示波器, 继续供电后, 通过输出电路观察波形, 将得到与输入端相同的波形, 以证明此系统可以完成波形的采集、存储与回放功能。B通道的工作原理与A通道完全相同, 仅输入信号有区别, 在B通道中输入峰峰值为100m A, 频率为10Hz―10k Hz的双极性信号, 以验证系统的采集、存储与回放性能。

4 系统功能、测试说明

4.1 系统功能

本系统可完成将外接信号源进行波形采集、存储与回放的功能。在输出端显示波形时可进行不同的需求选择。

(1) 进行一段式输出波形, 最长时间为20秒。

(2) 进行循环输出波形, 按一下PE键可循环输出, 按PL键停止;或按住PL键输出, 松开即停止。

(3) 按顺序连续分段输出, 每段输出长度不限。

(4) 按PE键可快速选择输出波形。

4.2 测试说明

(1) 在A通道通过外接信号发生器输入一个频率为1k Hz的单极性正弦波, 接通电源, 20秒内系统进行波形采集和存储过程;断掉电源, 将A通道输出端接在示波器上, 观察输出波形为正弦波, 频率为1k Hz。

(2) 在B通道通过外接信号发生器输入一个频率为100Hz的双极性正弦波, 接通电源, 20秒内系统进行波形采集和存储过程;断掉电源, 将A通道输出端接在示波器上, 观察输出波形为正弦波, 频率为100Hz。

5 设计总结

通过以上报告的说明, 本设计主要完成了波形的采集、存储与回放功能, 虽然波形有部分失真情况发生, 但是已达到设计目的和要求。

设计有待改进的地方为此设计只能存储一次采集的信号, 并且A、B两路信号周期不同时, 不能进行连续回放, 需要进一步完善。

参考文献

[1]李国锋, 王宁会.电源技术[M].大连:大连理工大学出版社, 2010 (05) .

高速运动目标参数存储系统设计 篇10

关键词:高速运动目标,瞬时速度,存储,FLASH

对于高速运动目标速度的测量, 目前有多种方法, 按测量原理可分成3类:瞬时速度测量法, 平均速度测量法和多普勒原理测量法, 每种测量方法各有特点[1]。而瞬时速度测量法, 主要是通过某种传感器对在一定距离内运动的时间进行计算处理实现的。在如今, 高速运动目标的速度获得, 需要采集大量的数据以分析和研究运动目标的运动参数, 为此需要将大量高数据进行实时、稳定的存储。

随着所探测目标运动速度的提高和数据采样率都大为提高, 这就对数据存储设备的性能提出了更高的要求:一、高速性, 存储器的存储速率必须要和采样数据的传输速率相匹配;二、大容量, 长时间的高速数据采集必然会产生大量的数据流;三、可靠性, 在各种条件下的工作性能稳定, 存储数据的正确性必须得到充分的保障[2]。针对以上要求, 本文提出一种基于FPGA与NAND Flash实现的高速大容量数据存储器。

1 高速运动目标信号简介

高速运动目标信号可以认为是基于时间的电平变化信号, 在运动目标未通过传感器以前, 是一个相对稳定的电平信号, 当运动目标两次通过相距固定距离的传感器时, 获得两个相距一定时间的变化量, 通过计算两次变化量所相差的时间, 通过公式:

式中, s表示两个传感器的距离;t表示两次电平变化量相隔的时间;v表示运动目标的瞬时速度。其中运动目标的瞬时速度是我们感兴趣的对象, 因为两个传感器之间的距离可以相对比较近, 可以忽略加速度的因数, 通过对采集数据中目标信号的提取、分析就可以得两次电平变化量相隔的时间的信息, 而这些都是以采集数据的准确存储记录作为前提。

2 存储系统方案设计

2.1 主要的性能指标

1) 存储容量:16GB

2) 存储速率:150 Mbps

3) 接口方式:采编单元数据通过LVDS接口传送给数据存储记录仪, 其中包括8位并行数据、一位同步时钟、一个启动信号 (持续10 ms的高电平) 。

4) 可靠性:保证存储系统在各种极端条件下能正常工作, 数据不失真。

2.2 系统硬件构成

整个系统设计时本着高可靠、低成本、低功耗的研制理念, 采用模块化设计思想, 每个模块都可以实现各自的功能且具有单独的I/O接口, 将这些模块组合在一起以实现整个系统的各项功能。该方案采用可编程逻辑器件FPGA作为中央控制器实现各个模块的互相通信以完成对数据的接收、存储以及读取操作。整个系统主要包含6个部分:LVDS接口电路、RS-422接口电路、数字隔离电路、FPGA控制模块、存储介质以及读数接口电路。系统原理框图如图1所示。

系统上电后, RS-422接口芯片使能有效, 进入接收状态。当RS-422接收到持续20 ms的高电平启动信号时, LVDS接口芯片以及缓存FIFO进入工作状态, 这时在采编单元中完成模数转换的信号经过LVDS接口电路转变为TTL信号然后缓存至FIFO, 当FIFO几乎写满时, 再将数据送入FLASH阵列进行存储。最终通过读数接口将FLASH阵列中的数据上传至计算机做后续的分析处理, 整个过程由FPGA进行控制。

设计采用的FPGA (Field Programmable Gate Array) 是XILINX公司的spartan3系列芯片XC3S200, 这是一款高性能的微控制器:内含可编程输入输出单元 (IOB) 、基本可编程逻辑单元 (CLB) 、完整的时钟管理 (DCM) 、嵌入块式RAM, 以及丰富的布线资源。与传统的单片机、DSP等控制芯片相比具有开发周期短、集成度高、速度响应快、功耗低和通用性好等特点, 其内部丰富的逻辑资源保证了各种组合和时序逻辑电路的实现。

LVDS (Low Voltage Differential Signaling) 接口技术在数据传输上具有高速率、低功耗、低噪声、低电磁干扰等特点, 已被广泛地应用于高速数字系统设计中。这里选用了DS92LV010A和DS92LV090A芯片实现数据的传输和信号的电平转换。

存储介质采用型号为K9WBG08U1M的NAND Flash芯片, 存储容量4GB。该芯片由两片K9KAG08U0M芯片组成, 每片存储容量2GB。一片K9WBG08U1M含16348个数据块, 每一块包含64页, 每一页存储容量为 (4k+128) Byte, 其中128Byte为空闲区。它以页为单位进行擦写, 以块为单位进行擦除, 命令、数据、地址采用同一总线, 具有硬件数据保护功能。系统采用4片K9WBG08U1M进行扩展, 使整个系统存储容量达到16GB, 满足海量数据的实时记录需要。

2.3 软件设计

系统的软件设计主要是指FPGA的控制程序设计, 它主要完成LVDS信号的接收以及FLASH芯片的数据写、读、擦除以及无效块检测操作。整个流程如图2所示。

为了实现数据的高速可靠存储, 软件逻辑设计中采用了以下技术:

1) 对启动信号20 ms的脉宽进行多次判断;

每隔5 ms对启动信号进行一次判断, 如果每次都有效, 则进入下一步操作。这样可以防止由干扰引起的误触发, 保证系统的正常运行。

2) 利用FPGA内部块RAM建立一个容量为64 kb的FLSAH无效块信息列表;

由于工艺的缘故, NAND Flash内部存在随机分布的无效块, 为了保证存储数据的有效性, 在写入数据之前需进行无效块检测。系统上电之后首先建立一个64 kb大小的内部RAM, 然后对整个存储介质进行无效块检测, 并将每一块的好坏信息存入RAM中, 建立一个无效块检测信息列表。之后的Flash读、写及擦除操作全部基于该信息列表进行, 这样既可以保证数据的有效操作又提高了数据的写入读出速度。

3) 采用流水线思想对Flash进行写操作;

Flash在进行页编程操作时, 分为两个阶段:数据加载阶段和编程阶段, 编程阶段自动进行, 不需要外部的任何操作, 其典型时间为200μs, 最大时间700μs。按照设计要求存储速率为21.25 MB/s (170 Mbps) , 连续加载写满一页需要的时间为:4 096B/21.25MB/s=192.8μs。则写满7页所需时间为:7×192.8μs=1 349.6μs, 远远大于一页的最大编程时间, 这样就可以采用流水线方式对8片K9KAG08U0M进行写操作。首先对第一片Flash进行数据加载, 加载完成后, 第一片Flash随后进入自动编程阶段;这时接着对第二片Flash进行数据加载, 数据加载完成后, 第二片Flash进入自动编程阶段;依次对八片Flash进行同样的操作, 当第八片Flash完成加载后, 第一片的自动编程结束, 这样又可以重复以上操作, 直至整个数据存储结束[3], 如图3所示。采用这种方式可以大幅度提高数据存储速率。

4) 读写数据时使用了ECC (Error Checking and Correction) 校验技术。

在数据通信的过程中, 由于各种干扰的影响或者个别芯片的读写失败, 会造成传输数据的错误或丢失。为了尽可能降低传输过程中的误码率, 提高存储数据的完整性, 这里使用ECC校验技术来检查恢复错误数据, 保障系统存储数据的可靠性。具体算法分为四个步骤:

(1) Flash写数据时, 同时生成写校验码, 并将其存入当前页的备用存储区间;

(2) 读取Flash数据时, 同时生成读校验码;

(3) 将写校验码与读校验码两者进行异或比较;

(4) 根据异或比较的结果判断是否需要纠错。

3 系统测试及结果分析

为了验证存储系统的可行性和可靠性, 采用地面测试台对其进行了验证分析。其中图4所示是存储器记录的由地面测试台发出的正弦信号曲线, 采样频率20 MHz, 可以看出存储器真实的记录了正弦信号信息, 波形无异常。经过多次测试表明该系统能够完成对高速运动目标运动数据的存储任务, 可靠性较高。

4 结论

本文提出一种高速大容量数据存储系统, 经过测试表明该系统能够实现高速运动目标数据的存储, 其数据存储速率及可靠性满足系统设计任务的要求, 具有很高的实用价值。

参考文献

存储设计 篇11

【关键词】C54x;存储空间;存储器扩展

【中图分类号】G242 【文献标识码】A 【文章编号】1001-4128(2010)10-0130-03

1 引言

在《DSP原理与技术》课程的教学过程中,发现学生对DSP存储空间的概念理解不透、掌握不好,教材与参考书中都没有对这一问题具体阐述,并且相关的知识点也不集中。这进一步影响了学生的实习任务。反应的问题集中在三点:①程序空间、数据空间及I/O空间的分配;②扩展的程序存储器、数据存储器及I/O与存储空间的映射关系;③I/O空间的访问。这里以TMS320C54x系列DSP为例,讨论DSP存储空间的相关问题。

1 C54x系列DSP的存储空间安排

2.1 存储空间

C54x的存储空间由程序空间、数据空间与I/O空间3个独立的可选择空间组成,它们的地址采用片内与片外统一编址,范围都是0000H~FFFFH,即大小都是64K字,C54x的存储空间共计192K字。程序空间存放用户程序代码与系统常数表,可以使用片内或片外的RAM、ROM或EPROM等类型的存储器;数据空间存放执行指令所使用的数据(需要处理的数据或数据处理的中间结果),可使用片内或片外的RAM 和ROM类型的存储器;I/O空间用于访问片外设备,也可以作为扩展的数据存储空间使用。以C5402为例,其存储空间映射结构如图1所示。

从图1可以看出,C54x的存储空间结构与处理器工作方式状态寄存器PMST(如图2所示)有关,可以通过PMST中的3个控制位(MP/MC、OVLY与DROM)来配置存储器空间。存储空间可以指定使用片内存储器或片外存储器来实现,并且规划了它们的位置,如果存储空间中使用了片内存储器,可以进一步定义其作为程序空间或数据空间。PMST中3个控制位的功能如下:

①MP/MC位。MP/MC=0,则片内ROM安排到程序空间;M P/MC=1,则片内ROM 不安排到程序空间。

②OVLY位。OVLY=1,则片内R A M安排到程序和数据空间;OVLY=0,则片内RAM 只安排到数据存储空间。

OVLY=1时,内部RAM既是数据区又是程序区,这样的设置使程序可以在片内全速运行,但是,应该注意到,程序与数据区是共用的,在链接时必须将程序与数据分开,以避免重叠,这可以在CMD文件中设置。

③DROM 位。当DROM=1,则部分片内ROM安排到数据空间;DROM=0,则片内ROM不安排到数据空间。

在设计电路或程序时要根据实际情况配置这3个控制位,使系统的存储器空间能够满足应用需求。

2.2 程序存储空间

C54x系列DSP提供64K字的程序存储空间,虽然与数据空间、I/O空间同样编制到0000H~FFFFH范围,但是CPU可以自动地识别并按程序地址生成器PAGEN产生的地址进行寻址。如果程序代码超过了这个范围,可以通过程序计数扩展寄存器XPC进行分页扩展,以C5402为例,C5402有20条外部程序地址总线,其程序空间可以扩展到1024K字,4位寄存器XPC和16位程序计数器PC一起支持对这1024K字程序空间的访问。扩展的程序存储空间如图3所示。

C5402 的1024K字的程序存储空间分为16页,每页64K字,在第1~15页中,每一页分为两部分,低16K字与高48K字。如果MP/MC=0,内部ROM只能在第0页被寻址,不能映射到程序空间的其他页。如果OVLY=1,程序存储空间使用内部RAM,在第1~15页中的低16K字(x0000H~x3FFFH)都被映射到内部RAM(0000H~3FFFH)中。

当MP/MC=0时,C5402有4K字的片内ROM被映射到程序空间F000H~FFFFH,其中高2K字(F800H~FFFFH)的内容由TI公司定义,包含的内容如图4所示。

当OVLY=1时,0000H~007FH保留,程序不能占用,0080H~3FFFH定义为内部DRAM,由程序存储空间与数据存储空间共同使用。另外,当MP/MC=1时,不使用内部ROM,4000H~FFFFH映射到外部存储器;当OVLY=0时,不使用内部RAM,0000H~3FFFH定义为外部程序存储空间。

2.3 数据存储空间

C54x的64K字数据存储空间在0000H~FFFFH范围内,CPU可以自动地识别并按数据地址生成器DAGEN产生的地址进行寻址。以C5402 为例,其中前16K字(0000H~3FFFH)映射到DARAM,从0000H~005FH是存储器映像寄存器部分;从0060H~007FH是暂存式RAM部分;从0080H~3FFFH的空间再分为127个大小为128字的数据块,这个区域可通过设置OVLY位映射到数据或程序空间。

当DROM=0时,C5402的4000H~FFFFH映射到外部存储器;当DROM=1时,C5402的F000H~FEFFH与程序存储空间共同使用相应区域的片内ROM。

2.4 I/O空间

C54x的64K的I/O空间可以使用PORTR指令进行I/O空间寻址从端口把数据读到数据存储器单元中,使用PORTW指令进行I/O空间寻址把数据写到端口。

3 存储器与I/O的扩展

在C54x系列芯片中,不同型号的芯片其内部存储器的配置有所不同,为了满足程序开发的需求,有时需要扩展存储器或I/O设备。这里提供存储器或I/O扩展的电路应用,目的还是为了理解存储空间分配的概念。

3.1 程序存储器的扩展

AT29LV1024是1M-bit的FLASH ROM存储器,图5是C5402 与AT29LV1024的程序存储器扩展电路,地址总线、数据总线与写信号分别连接,片选信号nCE接DSP的外部程序存储器片选信号nPS,存储器的nOE接DSP的外部存储器片选通信号nMSTRB。

3.2 数据存储器的扩展

ICSI64LV16是64K×16-bit的高速数据存储器,图6是C5402与ICSI64LV16的数据存储器扩展电路,地址总线、数据总线与写信号分别连接,片选信号nCE接DSP的外部数据存储器片选信号nDS。

3.3 I/O的扩展

液晶显示模块TCM-A0902作为扩展的I/O设备,与C5402的连接如图7所示。液晶显示模块A0为数据、命令寄存器的选择引脚与DSP的A15地址线连接,占用两个I/O口地址,分别为数据端口地址BFFFH与命令端口地址3FFFH。

4 I/O空间的访问

在汇编程序中,使用PORTR与PORTW指令实现读I/O端口到数据存储器单元与写数据到端口,例如:PORTR #0h,*AR2; 从端口0H读数据到数据存储器单元;PORTW *AR1,04h; 从*AR1写数据到端口04H。

在C语言中,操作I/O空间可以用关键字“IOport”声明文件级的“port”型变量,说明格式:IOport type porthex_num,其中type表示I/O空间数据的类型,porthex_num是16进制表示的I/O空间地址。如下例:

IOport int port100

Int temp;

main(){

temp=port100; /*从I/O空间的0x100单元读一个数据存放到temp变量中*/}

5 结束语

通过对TMS320C54x系列DSP存储空间的主题探讨,学生明晰了相关概念与知识点。接着,指导学生参看原理图加深理解程序存储器、数据存储器的电路扩展及I/O的电路扩展方法。在此基础上要求学生在CCS IDE(‘C5000)环境中重做存储器访问与I/O口访问的程序,从效果来看,在这个阶段已经可以能够描述任务、分析结构流程并且理解程序语句。由此可见,理解DSP存储空间的概念对开发与编程都很重要、很有帮助。

参考文献

[1] 邹彦. DSP原理及应用[M]. 电子工业出版社,2005

[2] 彭启琮. DSP技术的发展与应用(M). 高等教育出版社,2009

我院集中存储系统的设计与实施 篇12

广西医科大学第一附属医院是卫生部“三级甲等”医院、全国“百佳”医院、全国百姓放心示范医院, 是全国建院较早的医学院校附属医院。医院由东院、西院两院区组成, 是广西历史悠久、专科配备最齐全、医疗设备最先进、技术力量最雄厚、规模最大的省级综合性医院, 是广西医疗、医学研究、临床医学教育和医疗保健的中心。

近年来, 为提高工作效率和医疗水平, 医院加大了对信息化建设的力度, 建立了以电子医嘱为主的HIS系统、放射科图像存档与通信系统 (PACS) 、检验科实验室信息系统 (LIS) 等众多信息系统, 目前数据存储方面存在以下问题:

(1) 数据量增长快、存储需求大, 每天产生的数据达14G以上, 一般的硬盘存储已经很难满足要求;另外, 放射科PACS系统使用光盘塔存储, 随着影像资料的快速增长, 导致存储成本过高、管理开销增加, 而光盘存储介质易损、长时间保存难等问题也亟待解决。

(2) 系统独立, 数据分散, 管理工作量越来越大。由于我院各信息系统的建设时间及提供商不同, 信息中心的各信息系统的数据是孤立的、分散的, 各系统成为了“信息孤岛”, 存在各自为政的情况, 数据管理、共享以及保护均难于保证, 且数据安全性和可靠性无法得到有力保障, 难以满足7×24小时高可靠运行。

(3) 放射科PACS系统是离线保存, 不适应业务的发展。放射科PACS系统数据要求永久保存, 由于半年内访问频率高, 一般半年后可进行归档。

(4) 目前数据只实现本地保护, 还未实现数据的异地备份, 数据的安全性不高。

2. 解决方案

鉴于以上问题的存在, 实现数据的统一存储管理迫在眉睫, 需要规划长远的存储架构方案, 制定的方案应满足需求、确保安全及控制投资。存储系统的具体方案如下:

2.1 存储系统的设计

根据数据存储的需求, 我们在规划存储系统时, 提出了以下几条原则:

(1) 分期实施, 以尽可能利用最新、性价比最高的计算机技术。

(2) 集中存储, 以利于管理。

(3) 实现异地备份。

(4) 最终实现真正的离线备份。

综合以上原则, 我们决定构建一个统一的集中存储系统, 以满足目前住院大楼数据存储需求 (主要是住院系统和放射科PACS系统) 、将来的门诊大楼 (门诊收费等系统) 、未来十五年数据存储需求, 等等。下面以图示的方式, 说明我院存储系统的设计与实施思路:

第一期数据存储:满足目前住院大楼 (主要是HIS系统和放射科PACS系统) 的数据存储需求, 实现数据的集中存储, 以利于管理。第一期数据存储如下图所示:

第二期数据存储:满足将来门诊大楼的数据存储需求, 如门诊医生工作站、门诊收费系统等, 并在门诊大楼与住院大楼实现数据的异地备份, 提高数据的安全性。

第三期数据存储:满足未来十五年数据存储需求, 通过磁带或磁盘进行一定年限数据的归档存储, 实现数据的离线备份。

2.2 存储系统的实现

根据规划方案, 并参考医院数据的信息生命周期和在线读写响应要求等, 我们采用了EMC公司的存储方案, 因为EMC存储方案具有以下优势:

EMC公司的存储市场份额连续6年排名第一 (据IDC的统计报告) , CX00存储阵列已售出了超过20万套, 在国内, 国际有大量的用户群, 如宁波人民医院、绍兴人民医院、青岛医学院附属医院医院等, 是经过用户验证的成熟产品。

EMC是专业存储产家, 所有的存储阵列是自主研发, 设计, 生产, 测试。

EMC的CX00存储阵列是1990年开始的, 经过16年的持续发展, 它技术领先/成熟, 其它产家的产品是新出产的, 甚至是新的OEM产品, 技术没有持续性, 投资保护差。

基于以上优点, 我们决定采用EMC存储方案, 并进行了实施, 对存储设备进行了最优化的设置和调优, 于2007年6月上线, 至今实现了第一期数据存储的要求。

3. 结论

目前我院存储系统已成功运行第一期过程, 实现了以下目标:

(1) 满足了目前住院大楼 (主要是HIS系统和放射科PACS系统) 的数据存储需求, 达到了预期的效果。

(2) 现在存储系统稳定运行并大幅度提高了HIS系统的效率, 对医院的数据安全及信息系统的安全、稳定起到了保驾护航的作用。

上一篇:校企共谋中职人才培养下一篇:监督程序