一种将数据转储到移动存储介质以及从其上提取数据的方法

文档序号:6542751阅读:287来源:国知局
专利名称:一种将数据转储到移动存储介质以及从其上提取数据的方法
技术领域
本发明的核心是一种将数据转储到移动存储介质上以及从其上提取数据的方法,移动存储介质主要指软盘、U盘、活动硬盘等,其中,3.25英寸软盘(容量1.44M)是主流的少量数据频繁报送的存储介质。
背景技术
数据的转储、传送以及提取、再利用,是数据交换的活动,通过移动存储介质来中转,是传统的、朴素的技术实现。计算机网络的建设,为数据交换的实现提供了更好的平台,但由于以下几种原因,使用移动介质来传送数据的方案,在一段时期内,仍然具有充分的应用依据和广阔的应用舞台。
原因之一计算机网路的部署总是按照一定的规划,受经济、地理等环境因素的制约,只能从长计议,一般都要分阶段、分区域逐步地搭建,很难做到短期内全部到位。
原因之二某行业内部的网络已然需要经过长期的努力,才能建设圆满,行业之间的网络连接,则更引入了许多更加复杂的需要关注的问题,其中网络安全的级别大幅度提高,对技术、管理和维护都提出了严峻的挑战,故而为平稳发展起见,在较长的时期内,行业之间的数据交换仍不能广泛地通过网络实现。
原因之三一些特殊的应用,如大量分支机构的定期数据向上保送,瞬间对网络带宽的要求非常高,一时难以满足。
即使是传统的数据报送方法,在具体技术实现上,也存在诸多差异。
最简单不过的是把文件在移动介质和固定介质上拷贝来拷贝去,先进一步的是在从固定介质拷贝到移动介质前,对文件进行压缩(当文件较多、数据量较大,尤其是数据冗余度较高时,获益明显),形成另外一个最终存储的文件,即拷贝的是压缩后的文件。
上述两种方法都要求介质是预先经过格式化的,介质上具有操作系统支持的文件管理结构,都使用操作系统提供的强大而灵活的文件处理功能,因此实现容易,并且兼容性好。但当今计算机病毒泛滥,各类文件恰是病毒关注的对象、栖身的场所和传播的重要途径之一,这样一来,当移动存储介质送达目标应用环境中时,对其中的数据是否纯洁、可否放心使用,都需质疑。
计算机病毒是一种恶意程序片段,主要分为两种系统型和文件型。系统型病毒篡改操作系统的启动部分,故又称引导型病毒,大多编制精巧、身材苗条,栖身在操作系统存储介质(软盘/硬盘)的第一个扇区,此扇区中原始内容是操作系统用以识别介质类型的基本数据和用以读入后续的系统启动程序的代码,经系统型病毒篡改后,病毒将及早地截获了系统的控制权。文件型病毒嵌入在操作系统中可执行程序(.EXE/.DLL/.COM等)或者支持脚本语言的文件(.DOC/.EML等)中,更有甚者,象水印一般,隐藏在一些数据和内部实现自包含的文件中(.JPG/.TTF等),在程序执行、文档打开或正常应用程序按照接口调用其中内部功能时截获系统控制权。一种病毒可以同时具有上述两种特征,反而,单纯的系统型病毒由于可利用的资源(强大的文件访问功能、网络功能等)较少,实现传播和发作都受到了许多限制,病毒的编写也很不容易,目前已几乎绝迹,即完全不利用文件系统的病毒基本已经无人有兴趣肇事了,那么,文件就成了病毒特殊青睐的对象。
对抗病毒,主要从两个方面入手查杀、防止。查杀是扫描存储介质,看看是否有病毒栖身,发现再处理;防止是在对系统监控的基础上,分析系统中活动进程的意图,如有表现异常的(修改系统重要敏感数据或者侵扰其它进程、程序等),予以禁止。
从以上病毒机理的分析看,现今的计算机病毒总要通过文件访问来找寻栖身场所。操作系统提供的种种功能,方便了正面应用的实现,病毒也会利用它来兴风作浪,所以,反向而行,不以操作系统支持的文件系统格式来访问数据,是一种回避病毒的方案。
不以文件形式来访问数据,就不能使用操作系统提供的文件处理功能,需要采用较为底层的存储介质直接访问手段,这种方法有着明显的缺点,就是兼容性不佳,表现在两个方面第一是特定的程序只能访问特定的数据,反之,欲访问特定的数据,就需要编写特定的程序;第二是不同的操作系统提供的底层介质访问技术不尽相同,不能象文件访问那样,以统一的方法来实现,至少需要就主流的多种操作系统分别给予实现。由于该缺陷的存在,此技术不适合在通用型产品中采用,例如字处理(Word/WPS等)、图形图像处理(CorelDraw/PhotoShop等)等软件工具;然而,考察各行业的专用业务软件,却发现,此技术有应用价值,因为行业软件正是一种特定的程序,它处理的数据也正是一种特定的数据,并不刻意追求兼容性,而数据的安全性则越高越好,也就是说,存在采用本发明涉及的技术方案的理由;而此技术的另外一个兼容性差的方面,则正是本发明的核心思想的具体实现。

发明内容
为了解决上述关于数据安全(主要是病毒侵害)的问题,以及未提到的现有技术中的其它问题,提出本发明。
根据本发明的一个方面,提供了一种将原存储在文件中的数据转储到移动存储介质上的方法,该方法包括以下步骤(A)逐个读取由参数指定的多个文件,在内存中连接、合并而成为一个字节流,称为原始流;(B)将原始流进行压缩,形成另外一个字节流,称为存储流;(C)计算存储流的字节累加和;以及(D)将存储接口标志、存储流长度、原始流长度、字节累加和、存储流内容写入移动介质。
根据本发明的另一个方面,提供了一种将数据从移动介质提取出来并还原为文件的方法,该方法包括以下步骤(A)读取移动介质的第一个存储单位,判断是否具有存储接口标志,满足才继续;(B)获得存储流长度、原始流长度、以及字节累加和;(C)根据存储流长度,读取相应数量的存储单位中的数据,即读取存储流内容;(D)重新计算刚刚获得的存储流内容的字节累加和,与在步骤(B)中获得的字节累加和进行比较,相同才继续;(E)对存储流进行解压缩,还原出原始流;以及(F)根据原始流的结构,进一步还原出原始数据文件,保存在由参数指定的路径中,维持原文件名。


从下面的详细说明中可显而易见地得知本发明的上述及其它目的、特征,以及优点。
图1给出了根据本发明实施例的总流程框图;图2给出了根据本发明实施例的用于将数据转储到移动介质的流程图;图3给出了根据本发明实施例的软盘存储布局;图4给出了根据本发明实施例的原始流的内部数据结构;以及图5给出了根据本发明实施例的用于从移动介质中提取数据的流程图。
具体实施例方式
参考附图,对本发明的实施例详细说明如下。
如图1所示,首先由专门的行业应用软件提取要转储的数据,形成数据文件。专门的行业应用软件并不是本申请的发明点,在此不对其进行详细说明,但应该有这样的共识专门的行业应用软件尽管各不相同,却具有明显的共性,那就是对外交流的数据保存在文件中。其次,所形成的数据文件通过图2所示的处理而转储到移动介质上。随后,根据行业应用部署方案,进行诸如软盘、U盘、活动硬盘传送等介质移动。接下来,通过图3所示的处理,从移动介质中提取数据,在数据应用场所的固定介质上重新形成数据文件。最后,专门的行业应用软件又以文件的形式处理数据,继续业务流程。
应该注意的是,大多数数据交换是少量数据定期或不定期频繁报送,软盘由于廉价而仍然是数据报送的主流存储介质,所以附图中过程描述和下面的详细描述以软盘为例。
参考图2,对将数据转储到移动介质上的主体流程进行具体描述,略去了一些不影响精神领悟的分支细节,例如文件读取失败、移动介质访问失败等错误处理机制。
在步骤2A,逐个读取由参数指定的多个文件到内存中,连接、合并为一个字节流,称为原始流。原始流的内部数据结构如附表1所示。
在步骤2B,将字节流进行压缩,形成另外一个字节流,称为存储流;在步骤2C,计算存储流各个字节的累加和;以及在步骤2D,将存储接口标志、存储流长度、原始流长度、存储流的字节累加和、存储流的内容写入软盘。
下面我们对通过图2所处理的数据在软盘中的存储位置进行说明。
从软盘的第一个扇区(引导区)就开始,按照固定的结构,顺序写入连续若干个扇区的数据。这样写入数据之后,在引导区就不包含可执行代码,也不包含软盘基数表,对文件系统来说,恰似一张没有经过格式化的裸介质,自然地拒绝普通的尝试以文件形式来访问软盘数据的操作。在丧失兼容性的同时,抵制了引导型病毒的侵害,保证了数据的洁净,降低了应用环境的风险。
软盘存储布局如图5所示。
参考图3,对从移动存储介质上提取数据、还原成文件的流程进行具体的描述,略去了一些不影响精神领悟的分支细节,例如介质访问失败、创建文件失败等错误处理机制。
在步骤3A,读取软盘的第一个扇区,判断是否具有约定的存储接口标志,符合才继续,不符合则结束;在步骤3B,获得存储流长度、原始流长度、字节累加和在步骤3C,根据存储流的长度,读出一定数量的扇区中的数据;在步骤3D,计算读出数据的字节累加和,与在步骤2B中获得的累加和(存储前计算好的)进行比较,一致才继续,否则即数据校验失败,结束;在步骤3E,将读出的数据流认定为存储流,对其进行解压缩,还原出原始流;在步骤3F,根据原始流的结构,还原出文件,将文件保存在由参数指定的路径中,维持原文件名。上述原始流的结构参见图4。
对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其做出各种修改。
权利要求
1.一种将原存储在文件中的数据转储到移动存储介质上的方法,该方法包括以下步骤(A)逐个读取由参数指定的多个文件,在内存中连接、合并而成为一个字节流,称为原始流;(B)将原始流进行压缩,形成另外一个字节流,称为存储流;(C)计算存储流的字节累加和;以及(D)将存储接口标志、存储流长度、原始流长度、字节累加和、存储流内容写入移动介质。
2.一种将数据从移动介质提取出来并还原为文件的方法,该方法包括以下步骤(A)读取移动介质的第一个存储单位,判断是否具有存储接口标志,满足才继续;(B)获得存储流长度、原始流长度、以及字节累加和;(C)根据存储流长度,读取相应数量的存储单位中的数据,即读取存储流内容;(D)重新计算刚刚获得的存储流内容的字节累加和,与在步骤(B)中获得的字节累加和进行比较,相同才继续;(E)对存储流进行解压缩,还原出原始流;以及(F)根据原始流的结构,进一步还原出原始数据文件,保存在由数指定的存放路径,维持原文件名。
全文摘要
一种将原存储在文件中的数据转储到移动存储介质上的方法,该方法包括(A)逐个读取由参数指定的多个文件,在内存中连接、合并而成为一个字节流,称为原始流;(B)将原始流进行压缩,形成另外一个字节流,称为存储流;(C)计算存储流的字节累加和;以及(D)将存储接口标志、存储流长度、原始流长度、字节累加和、存储流内容写入移动介质。此外,提供了一种相应的将数据从移动介质提取出来并还原为文件的方法。其中,在移动存储介质上的数据访问(读/写),不以文件形式体现,从而可避免计算机病毒感染和禁止病毒传播。
文档编号G06F1/00GK1655089SQ200510059358
公开日2005年8月17日 申请日期2005年3月28日 优先权日2005年3月28日
发明者王川, 左湘东, 吕宾 申请人:北京紫光华宇软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1