当前位置:首页 » 服务存储 » 存储数据新方法
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

存储数据新方法

发布时间: 2023-05-19 18:26:51

1. 目前主要三种数据存储方式

三种存储方式:DAS、SAN、NAS
三种存储类型:块存储、文件存储、对象存储

块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。

本质是一样的,底层都是块存储,只是在对外接口上表现不一致,分别应用于不同的业务场景。

分布式存储的应用场景相对于其存储接口,现在流行分为三种:

对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展,如七牛、又拍、Swift、S3

块存储: 这种接口通常以QEMU Driver或者Kernel Mole的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盘和阿里云的盘古系统,还有Ceph的RBD(RBD是Ceph面向块存储的接口)

文件存储: 通常意义是支持POSIX接口,它跟传统的文件系统如Ext4是一个类型的,但区别在于分布式存储提供了并行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存储的接口),但是有时候又会把GFS,HDFS这种非POSIX接口的类文件存储接口归入此类。

2. 简述android平台提供了哪些数据存储方法

数据存储在开发中是使用最频繁的,Android平台主要有5种实现数据存储的方式。
第1种: 使用SharedPreferences存储数据
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。
它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。
其存储位置在/data/data/<包名>/shared_prefs目录下。
SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。
实现SharedPreferences存储的步骤如下:
一、根据Context获取SharedPreferences对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
SharedPreferences对象与sqlite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。
第2种: 内部文件存储数据
关于文件存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。
文件可用来存放大量数据,如文本、图片、音频等。
默认位置:/data/data/<包>/files/***.***。
openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android 会自动创建它。
创建的文件保存在/data/data//files目录,如: /data/data/cn.itcast.action/files/itcast.txt ,通过点击Eclipse菜单“Window”-“Show View”-“Other”,在对话窗口中展开android文件夹,选择下面的File Explorer视图,然后在File Explorer视图中展开/data/data//files目录就可以看到该文件。
openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为:
Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入: openFileOutput(“itcast.txt”, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE); android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data//files),其他程序无法访问。
除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,只有这样其他程序才能正确访问。 对于私有文件只能被创建该文件的应用访问,如果希望文件能被其他应用读和写,可以在创建文件时,指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
Activity还提供了getCacheDir()和getFilesDir()方法: getCacheDir()方法用于获取/data/data//cache目录 getFilesDir()方法用于获取/data/data//files目录。
第3种: 外部文件存储数据
把文件存入SDCard:
使用Activity的openFileOutput()方法保存文件,文件是存放在手机空间上,一般手机的存储空间不是很大,存放些小文件还行,如果要存放像视频这样的大文件,是不可行的。对于像视频这样的大文件,我们可以把它存放在SDCard。
SDCard是干什么的?你可以把它看作是移动硬盘或U盘。 在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。
创建SDCard可以在Eclipse创建模拟器时随同创建,也可以使用DOS命令进行创建,如下: 在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img: mksdcard 2048M D:\AndroidTool\sdcard.img 在程序中访问SDCard,你需要申请访问SDCard的权限。
在AndroidManifest.xml中加入访问SDCard的权限如下:
要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。
注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权限。
Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:
第4种: SQLite数据库存储数据
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
特点:
面向资源有限的设备,
没有服务器进程,
所有数据存放在同一文件中跨平台,
可自由复制。
SQLite 基本上符合 SQL-92 标准,和其他的主要 SQL 数据库没什么区别。它的优点就是高效,Android 运行时环境包含了完整的 SQLite。
SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据库时,SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字符串(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing.)。 此外,SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。
Android 集成了 SQLite 数据库 Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。
对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单。但是,由于 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并不合适。因此,Android 提供了一些新的 API 来使用 SQLite 数据库,Android 开发中,程序员需要学使用这些 API。
数据库存储在 data/< 项目文件夹 >/databases/ 下。 Android 开发中使用 SQLite 数据库 Activites 可以通过 Content Provider 或者 Service 访问一个数据库。
创建数据库 Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。
Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。
SQLiteOpenHelper 的子类,至少需要实现三个方法:
1 构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
2 onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
3 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。
接下来讨论具体如何创建表、插入数据、删除表等等。调用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQLiteDatabase 实例,具体调用那个方法,取决于你是否需要改变数据库的内容:
update()方法有四个参数,分别是表名,表示列名和值的 ContentValues 对象,可选的 WHERE 条件和可选的填充 WHERE 语句的字符串,这些字符串会替换 WHERE 条件中的“?”标记。
update() 根据条件,更新指定列的值,所以用 execSQL() 方法可以达到同样的目的。 WHERE 条件和其参数和用过的其他 SQL APIs 类似。
delete() 方法的使用和 update() 类似,使用表名,可选的 WHERE 条件和相应的填充 WHERE 条件的字符串。 查询数据库 类似 INSERT, UPDATE, DELETE,有两种方法使用 SELECT 从 SQLite 数据库检索数据。
1 .使用 rawQuery() 直接调用 SELECT 语句; 使用 query() 方法构建一个查询。
Raw Queries 正如 API 名字,rawQuery() 是最简单的解决方法。通过这个方法你就可以调用 SQL SELECT 语句。
例如: Cursor c=db.rawQuery( “SELECT name FROM sqlite_master WHERE type=’table’ AND name=’mytable’”, null);
在上面例子中,我们查询 SQLite 系统表(sqlite_master)检查 table 表是否存在。返回值是一个 cursor 对象,这个对象的方法可以迭代查询结果。 如果查询是动态的,使用这个方法就会非常复杂。
例如,当你需要查询的列在程序编译的时候不能确定,这时候使用 query() 方法会方便很多。
Regular Queries query() 方法用 SELECT 语句段构建查询。SELECT 语句内容作为 query() 方法的参数,比如:要查询的表名,要获取的字段名,WHERE 条件,包含可选的位置参数,去替代 WHERE 条件中位置参数的值,GROUP BY 条件,HAVING 条件。 除了表名,其他参数可以是 null。所以,以前的代码段可以可写成:
String[] columns={“ID”, ”inventory”};
Java代码
String[] parms={"snicklefritz"}; Cursor result=db.query("widgets", columns, "name=?",parms, null, null, null);
使用游标
不管你如何执行查询,都会返回一个 Cursor,这是 Android 的 SQLite 数据库游标,
使用游标,你可以:
通过使用 getCount() 方法得到结果集中有多少记录;
通过 moveToFirst(), moveToNext(), 和 isAfterLast() 方法遍历所有记录;
通过 getColumnNames() 得到字段名;
通过 getColumnIndex() 转换成字段号;
通过 getString(),getInt() 等方法得到给定字段当前记录的值;
通过 requery() 方法重新执行查询得到游标;
通过 close() 方法释放游标资源;
在 Android 中使用 SQLite 数据库管理工具 在其他数据库上作开发,一般都使用工具来检查和处理数据库的内容,而不是仅仅使用数据库的 API。
使用 Android 模拟器,有两种可供选择的方法来管理数据库。
首先,模拟器绑定了 sqlite3 控制台程序,可以使用 adb shell 命令来调用他。只要你进入了模拟器的 shell,在数据库的路径执行 sqlite3 命令就可以了。
数据库文件一般存放在: /data/data/your.app.package/databases/your-db-name 如果你喜欢使用更友好的工具,你可以把数据库拷贝到你的开发机上,使用 SQLite-aware 客户端来操作它。这样的话,你在一个数据库的拷贝上操作,如果你想要你的修改能反映到设备上,你需要把数据库备份回去。
把数据库从设备上考出来,你可以使用 adb pull 命令(或者在 IDE 上做相应操作)。
存储一个修改过的数据库到设备上,使用 adb push 命令。 一个最方便的 SQLite 客户端是 FireFox SQLite Manager 扩展,它可以跨所有平台使用。
如果你想要开发 Android 应用程序,一定需要在 Android 上存储数据,使用 SQLite 数据库是一种非常好的选择。
第五种: 网络存储数据
前面介绍的几种存储都是将数据存储在本地设备上,除此之外,还有一种存储(获取)数据的方式,通过网络来实现数据的存储和获取。

我们可以调用WebService返回的数据或是解析HTTP协议实现网络数据交互。

3. 如何:将数据从对象保存到数据库

有关更多信息,请参见 TableAdapter 概述。若要保存对象集合中的数据,请循环通过对象集合(例如,for-next 循环),然后使用 TableAdapter 的 DBDirect 方法之一将每个对象的值发送到数据库中。默认情况下,DBDirect 方法在 TableAdapter 上创建,能够直接对数据库执行操作。这些方法可以直接调用,它们不要求 DataSet 或DataTable 对象来协调更改即可将更新发送到数据库。注意配置TableAdapter 时,主查询必须提供足够的信息,才能创建 DBDirect 方法。例如,如果将 TableAdapter 配置为从未定义主键列的表中查询数据,它将不会生成 DBDirect 方法。 TableAdapter DBDirect 方法 说明TableAdapter.Insert向数据库中添加新记录,此方法允许将值作为方法参数传入各个列。TableAdapter.Update更新数据库中的现有记录。Update 方法将原始列值和新列值用作方法参数。原始值用于定位原始记录,新值用于更新该记录。通过将 DataSet、DataTable、DataRow、或 DataRow 数组用作方法参数,TableAdapter.Update 方法还可用于将数据集中的更改协调回数据库。TableAdapter.Delete在基于作为方法参数传入的原始列值的数据库中,删除其现有记录。将对象中的新记录保存到数据库中通过将值传递给 TableAdapter.Insert 方法可创建这些记录。下面的示例通过将 currentCustomer 对象中的值传递给 TableAdapter.Insert 方法,在 Customers 表中创建一项新的客户记录。 Visual Basic PrivateSub AddNewCustomer(ByVal currentCustomer As Customer) CustomersTableAdapter.Insert( _ currentCustomer.CustomerID, _ currentCustomer.CompanyName, _ currentCustomer.ContactName, _ currentCustomer.ContactTitle, _ currentCustomer.Address, _ currentCustomer.City, _ currentCustomer.Region, _ currentCustomer.PostalCode, _ currentCustomer.Country, _ currentCustomer.Phone, _ currentCustomer.Fax) EndSub C# privatevoid AddNewCustomers(Customer currentCustomer) { customersTableAdapter.Insert( currentCustomer.CustomerID, currentCustomer.CompanyName, currentCustomer.ContactName, currentCustomer.ContactTitle, currentCustomer.Address, currentCustomer.City, currentCustomer.Region, currentCustomer.PostalCode, currentCustomer.Country, currentCustomer.Phone, currentCustomer.Fax); } J# privatevoid AddNewCustomers(Customer currentCustomer) { .Insert( currentCustomer.get_CustomerID(), currentCustomer.get_CompanyName(), currentCustomer.get_ContactName(), currentCustomer.get_ContactTitle(), currentCustomer.get_Address(), currentCustomer.get_City(), currentCustomer.get_Region(), currentCustomer.get_PostalCode(), currentCustomer.get_Country(), currentCustomer.get_Phone(), currentCustomer.get_Fax()); }将对象中的现有记录更新到数据库修改记录:调用 TableAdapter.Update 方法并传入新值可更新记录,而传入原始值可定位记录。注意对象需要保留其原始值,才能将它们传递给 Update 方法。此示例使用前缀为 orig 的属性存储原始值。下面的示例通过将 Customer 对象中的新值和原始值传递给 TableAdapter.Update 方法,更新 Customers 表中的现有记录。 Visual Basic PrivateSub UpdateCustomer(ByVal cust As Customer) CustomersTableAdapter.Update( _ cust.CustomerID, _ cust.CompanyName, _ cust.ContactName, _ cust.ContactTitle, _ cust.Address, _ cust.City, _ cust.Region, _ cust.PostalCode, _ cust.Country, _ cust.Phone, _ cust.Fax, _ cust.origCustomerID, _ cust.origCompanyName, _ cust.origContactName, _ cust.origContactTitle, _ cust.origAddress, _ cust.origCity, _ cust.origRegion, _ cust.origPostalCode, _ cust.origCountry, _ cust.origPhone, _ cust.origFax) EndSub C# privatevoid UpdateCustomer(Customer cust) { customersTableAdapter.Update( cust.CustomerID, cust.CompanyName, cust.ContactName, cust.ContactTitle, cust.Address, cust.City, cust.Region, cust.PostalCode, cust.Country, cust.Phone, cust.Fax, cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); } J# privatevoid UpdateCustomer(Customer cust) { .Update( cust.get_CustomerID(), cust.get_CompanyName(), cust.get_ContactName(), cust.get_ContactTitle(), cust.get_Address(), cust.get_City(), cust.get_Region(), cust.get_PostalCode(), cust.get_Country(), cust.get_Phone(), cust.get_Fax(), cust.get_origCustomerID(), cust.get_origCompanyName(), cust.get_origContactName(), cust.get_origContactTitle(), cust.get_origAddress(), cust.get_origCity(), cust.get_origRegion(), cust.get_origPostalCode(), cust.get_origCountry(), cust.get_origPhone(), cust.get_origFax()); }删除数据库中的现有记录通过调用 TableAdapter.Delete 方法并传入原始值定位记录,可删除记录。注意对象需要保留其原始值,才能将它们传递给 Delete 方法。 Visual Basic PrivateSub DeleteCustomer(ByVal cust As Customer) CustomersTableAdapter.Delete( _ cust.origCustomerID, _ cust.origCompanyName, _ cust.origContactName, _ cust.origContactTitle, _ cust.origAddress, _ cust.origCity, _ cust.origRegion, _ cust.origPostalCode, _ cust.origCountry, _ cust.origPhone, _ cust.origFax) EndSub C# privatevoid DeleteCustomer(Customer cust) { customersTableAdapter.Delete( cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); } J# privatevoid DeleteCustomer(Customer cust) { .Delete( cust.get_origCustomerID(), cust.get_origCompanyName(), cust.get_origContactName(), cust.get_origContactTitle(), cust.get_origAddress(), cust.get_origCity(), cust.get_origRegion(), cust.get_origPostalCode(), cust.get_origCountry(), cust.get_origPhone(), cust.get_origFax()); }安全您必须具有相应的权限,才能对数据库中的表执行选定的 INSERT、UPDATE 或 DELETE。

4. 数据的存储方法有哪些

什么是分布式存储

分布式存储是一种数据存储技术,它通过网络使用企业中每台机器上的磁盘空间,这些分散的存储资源构成了虚拟存储设备,数据分布存储在企业的各个角落。

分布式存储系统,可在多个独立设备上分发数据。传统的网络存储系统使用集中存储服务器来存储所有数据。存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,无法满足大规模存储应用的需求。分布式网络存储系统采用可扩展的系统结构,使用多个存储服务器共享存储负载,利用位置服务器定位存储信息,不仅提高了系统的可靠性,可用性和访问效率,而且易于扩展。


分布式存储的优势

可扩展:分布式存储系统可以扩展到数百甚至数千个这样的集群大小,并且系统的整体性能可以线性增长。

低成本:分布式存储系统的自动容错和自动负载平衡允许在低成本服务器上构建分布式存储系统。此外,线性可扩展性还能够增加和降低服务器的成本,并实现分布式存储系统的自动操作和维护。

高性能:无论是针对单个服务器还是针对分布式存储群集,分布式存储系统都需要高性能。

易用性:分布式存储系统需要提供方便易用的界面。此外,他们还需要拥有完整的监控和操作工具,并且可以轻松地与其他系统集成。

杉岩分布式统一存储USP

利用分布式技术将标准x86服务器的HDD、SSD等存储介质抽象成资源池,对上层应用提供标准的块、文件、对象访问接口,

同时提供清晰直观的统一管理界面,减少部署和运维成本,满足高性能、高可靠、高可扩展性的大规模存储资源池的建设需求。

5. 资料永久保存是光盘(硬盘)还是传统的纸媒好

目前主要的存储方式信息技术的发展给人类社会带来了巨大的进步,使人们对信息资源的依靠越来越强烈。数据的保存也越来越重要,美国911灾难过后,世界各国更是加强了对网络安全和数据存储的重视。人类的需求永远引领着技术的革新和发展,面对如何保障数据的安全存储逐渐形成了三级数据存储的解决方案:在线存储、近线存储、离线存储。三种存储方式有着不同的特点适用于不同的应用和环境,同时对应与每种存储方案产生了各自存储的产品:磁盘阵列、光盘库、磁带库。 1、 磁盘阵列,是利用磁盘作为存储介质的存储设备。磁盘的优点是运行速度快支持并发访问多,这有利于实时在线应用。缺点是性能及安全性差,为了解决易损问题,人们利用RAID技术来提高数据安全性能和大容量存储的要求。磁盘阵列其实就是一种设备冗余的解决办法,由于价格因素的影响,目前多数厂商的产品仅仅对硬盘、电源、风扇做了冗余处理少数可选RAID控制器冗余,及少提供背板和总线冗余。而且由于硬盘的介质特性无法保障数据的完全安全,例如人为误操作、病毒感染、黑客攻击等等。所以为了数据的安全,在磁盘阵列基础上又采取了数据备份策略。一旦数据损坏或丢失可以将备份在光盘或磁带中的数据恢复到在线设备中。 2、 光盘库被定义为近线存储设备,目前有DVD光盘、MO磁光盘两种光存储介质。光盘存储是利用激光改变盘片介子状态来保存数据的,电磁干扰和温度湿度变化均不会影响数据保存而且光盘物理状态稳定是目前最安全的存储产品,决定了它成为是三种存储方式中最安全的数据保存方案。光盘可以支持数据并发访问和随机读写只是读写速度低于硬盘但是要远远超过磁带是数据安全性是最高的介质。而且光盘库的单位存储成本随着数据量的增加而降低。在各行业的档案治理中光盘是最好的存储设备,这由于档案治理的特点是数据量大、保存后不经常调用、对数据安全要求高。 3、 传统上利用磁带的大容量特点来作为数据的备份保存,由于磁带的线性读写特点造成直接从磁带读写数据几乎不可行,在恢复备份的数据时需要倒带到数据区然后才能读取,而且磁带的保存也比较麻烦,对保存环境要求较高需要防潮、防尘以及防止电磁干扰,另外还需要定期倒带以免磁粉粘连等等。 PLASMON光盘库介绍美国Plasmon公司是一家专注于自动光盘存储设备的开发、生产的国际闻名公司,为业界提供最全线的自动光盘存储设备、光盘驱动器、光盘片、网络挂接存储装置、磁带库和光盘库存储软件;2000年与柯达公司结盟为全球战略合作伙伴在光存储技术 快速发展的过程中,北京宝来泰信息技术有限公司与柯达公司商业影像系统部及美国Plasmon公司紧密配合,第一时间推出最新产品系列以满足市场需求: 2002年推出单库存储容量580GB至5.8TB、配置新型14×9.1GB驱动器、高可靠性的G系列磁光盘库及具备可扩展功能的企业级G系列磁光盘库(MO);2003年现已推出单库存储容量78GB至20.4TB、配置多用驱动器(支持DVD-RW,DVD-RAM,DVD-R,CD-R,CD-RW)、Plasmon专利旋转台(支持9.4GB双面盘片)、高可靠性的D系列光盘库及具备可扩展功能的企业级D系列光盘库。企业级D系列最大容量2175个槽位是目前行业中容量最大的盘库,其它厂商最大600个盘位。 PLASMON光盘库由库体,机械手,驱动器,槽位和控制部分组成。目前DVD盘库从120个盘位到2175盘位,双机械手有效提高了换盘速度,节约了换盘时间,最大12个驱动器,可以同时工作,满足高负荷的工作要求。 Plasmon光盘库的特点:Plasmon光盘库分为D系列、M系列、G系列。D系列光盘库为一套高性能系统,采用了专利的双抓取机械臂,换盘时间短至3秒。M系列光盘库支持MO可擦写和WORM一次写光盘片;40片以上的采用双抓取机械臂;支持Netready模块(NAS产品),提供直接上网的MO光盘服务器;采用密封式设计,简化了日常维护。G系列MO库采用双抓取机械臂,平均无故障次数大于3,800,000次,驱动器最大数据传输率为6.14MB/秒。G系列光盘库除了具备M系列的特点之外,G系列MO库之间还可通过“桥连接”的方式支持2~24倍的扩展能力(采用9.1GB盘片时,容量可以从1.4TB~23.2TB),以充分满足用户业务发展的需要。
QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南 光盘库的应用 1、计算中心数据的近线存储及数据迁移所谓近线存储就是提供实时的数据存储设备,它必须始终是在线的。而离线存储系统就是并不需要提供实时的存储服务,只在某一时刻才涉及数据的存储,这种设备所保存的数据可进行离线治理。光盘的技术特性决定了光盘库是最好的近线存储设备。近几年来由于计算机的数据信息成爆炸性的增长,几乎所有的企业均面临海量数据存储的需要。而在真正要部署一个能无限满足企业数据存储需要的存储解决方案是一项非常专业技术,因为这需要预算企业天天的存储增长的同时还要考虑到存储的可扩展性和可用性。数据迁移分级存储治理技术正是在这样情况下应运而生得。而分级存储治理技术的发展大致经历了两个历程。第一个历程也就是采用最传统人工手动方法进行数据的迁移和调度,具体方法如下:将不常用的数据按照一定的人工策略迁移至其它存储设备,如大容量的磁带库和光盘库中。这种方法对于专业化的网络数据治理来说,具有安全可靠的优点。然而,将数据从非在线设备(大容量磁带库)迁移回到在线设备(硬盘)时,需要有专业网管人士进行操作。第二个阶段就是现在的智能的分级存储治理技术。这种技术是实现计算机系统大容量存储数据的方法之一。它将大容量的近线存储设备(光盘库)作为硬盘的下一级设备,然后将硬盘中常用的数据按指定的策略自动迁移到光盘等二级大容量存储设备上。当需要使用这些数据时,分级存储系统会自动将这些数据从后级存储设备调回到硬盘上。对于用户来说,上述数据迁移操作完全是透明的。用户可能会感到访问硬盘的速度稍慢一点,但会明显感觉其逻辑硬盘的容量大大提高。相对传统的数据治理模式,这种技术的解决方案所带来的优势是显而易见的。而传统的磁带备份由于线性读写技术特性的限制只能用来做为历史数据的备份,保存。 2、档案治理数据存储(1)目前档案治理现状基本现状:查询效率低,查询频繁,劳动强度大。查询文书档案时,档案员要经常上楼、下楼,有的企业档案可能好几卷,份量非常重。为防止丢失,查阅前后都要核对数目。档案安全性得不到保证。由于直接对原始资料查阅,为防止查询人员对原件的毁坏、涂改,要派专人负责陪同。即使发生这种情况,因为没有备份也无从查对,将承担不必要的损失。归档困难。由于资料的变动(增加或更新),以及多卷相关档案同时查询的情况时有发生,不可避免地发生归档错误。一旦出现此类问题,就有可能将十几万卷档案从新整理,牵涉大量的人力、物力。归档的频繁,导致工作人员从事大量的体力工作。治理困难。由于档案都是整卷归档的,有时只能查部分内容,但难免将一些不应查阅的内容被阅,很难控制。大量的纸质文档,只能手工建立索引数据和登记,无法体现出档案状况,缺乏一套对档案出、入库记录和档案变动的治理系统。(2)档案治理解决方案:采用Kodak高速扫描仪,该机每分钟可以扫描50张,每个工作日最高可以扫描4,000-5,000张(纸张统一的情况下),这样1台扫描仪就基本满足目前增量的规模及未来10年的业务发展;另外,由于一些非凡档案及档案修改,须配置一台低端的彩色扫描仪。扫描后的每张原始档案的图象文件大小在30KB左右,一张光盘的最大存储容量为640MB—9.4GB,本系统主要针对数据集中后的存储难、查询难问题而设计开发。系统的数据存储能力不再依靠于服务器本地硬盘存储容量的限制,而是利用在业界已经十分成熟的可移动存储设备――光盘库数据存储扩展技术来实现数据的海量存储和可扩充性。投资该系统的效益大致概括如下:
减少文件在各部门之间的存放时间,节省办公空间、人力、物力;
分行可以统一治理各种文件,便于集中治理,及时把握业务情况;
文件查询阅读方便,通常一张文件的查询只需数秒钟或几分钟,省时、省力;
可以提供安全备份,使文件在遭受意外灾难和虫鼠叮咬的情况下,也可以有据可依;
可以大大提高对客户的服务质量,树立以客户为中心的新形象。
(3) 系统功能
档案扫描:利用高速扫描仪采集纸质等档案的影像,生成数字式的电子档案。同时,将采集的档案影像文件进行分类、压缩、质量检查。对不合格的影像文件重新扫描。

档案归档:对扫描合格的档案影像文件,根据不同的类别,进行不同目录的存储。
档案索引:根据不同类别的档案影像文件,进行各自的影像文件索引信息的录入。
档案存储:对档案影像文件进行存储规划、光盘刻录、光盘库治理、光盘信息维护等。
档案维护:对电子档案进行删除、修改、增加等维护操作。
查询调阅:局域网内部查询,INTERNET查询,模糊查询,档案打印。
安全治理:用户权限治理,档案访问权限治理。