数据恢复的常用软件

2024-10-21

数据恢复的常用软件(精选12篇)

数据恢复的常用软件 篇1

1. 引言

硬盘数据恢复技术是一种跨硬件平台、跨软件系统的特殊的计算机技术, 是现有所有计算机数据存储技术的集合, 是在人们对信息的依赖性越来越高、信息数据的价值远高于设备本身的情况下应运而生的, 它是针对数据的丢失和破坏进行的一种数据挽救措施。

本论文主要结合硬盘的工作机制, 对其数据丢失恢复进行分析研究, 以期能够提出一种安全可靠的硬盘数据丢失恢复软件的设计实现, 并以此和广大同行分享。

2. 硬盘数据存储原理分析

硬盘是用来存储数据的, 为了方便使用和管理这些数据, 这些数据又是以文件的形式存储在硬盘上。任何操作系统都有自己的文件管理系统。不同的文件系统又有各自不同的逻辑组织方式。本论文主要对FAT32文件系统下硬盘的数据结构进行分析。

在硬盘的数据存储中, 在主引导扇区之后, 从0柱面0磁头2扇区到0柱面0磁头63扇区这62扇区空间为系统保留, 为以后的其他特殊用途留有余地。在系统保留扇区后是第一个系统的引导扇区DBS。它位于0柱面1磁头1扇区。

D B S (D i s k B o o t S e c t o r) 除了引导程序部分D B R (D i s k B o o t Record) , 还有一个重要的即BPB参数表, 记录了保留扇区、FAT、FDT等在各个分区中的起始位置。系统在磁盘分区上逻辑地划出若干个大小相等地“簇”, 每个簇都有一个逻辑编号, 文件在磁盘上地存放并不是连续的, 为了让系统了解文件数据在磁盘上的分配情况, 从而能够建立、管理和访问文件。FAT16、FAT 32系统采用FAT簇链的方式来实现, 过程大致如下:FAT区中被逻辑地划分出若干个FAT项, 每个FAT项有一个逻辑编号, 不同FAT结构的FAT项的长度是不一样的, FAT 16结构的分区中每个FAT项占用16位, FAT32结构的分区中每个FAT项占用32位, 这个编号对应了数据区中的若干个簇。

FAT1和FAT2是两个完全一样的FAT, 系统同时建立两套完全一样的FAT链, 这样做的目的是当FAT1损坏时可以用FAT2进行恢复。在FAT区后面是系统的根目录区, 由若干目录项组成。在根目录区后面是文件的数据区, 这个区域中存放的是用户和系统建立的文件数据, 这个区被逻辑地划分成了若干个大小相等的簇, 从而便于系统管理和使用文件。

其他格式类型的数据存储原理与上述FAT格式原理基本相同, 这里就不一一赘述。

3. 硬盘数据丢失恢复软件的设计研究

3.1 删除原理

Windows操作系统在删除硬盘上的一个文件时并没有真正的将文件数据彻底抹去, 而是做了一个删除标记。文件删除分为经“回收站”删除和不经过“回收站”删除两种。经“回收站”删除时将文件暂时放到回收站中。系统在文件的目录项上作上标记, FAT表和DATA区在删除前后都不作改动。而不经过“回收站”删除一个文件时, 即将删除过的文件从回收站清空。此时, 系统在文件的文件目录项FDT上作了个标记, 即把记录文件名的首字节标记为ESH, 并把相应的FAT表项值更改为OH。文件在DATA区的数据并没有删除。因此通过第三方恢复软件可以恢复这些丢失的数据。需注意的是, 发现文件丢失后, 在数据恢复前不要向该分区或磁盘写入信息, 因为向该分区或磁盘写入信息就可能将误删的数据覆盖。而造成无法恢复。准备使用恢复软件时, 不能直接在本机装这些恢复工具, 因为软件的安装可能恰恰把刚才丢失的文件覆盖掉。最好使用能够从光盘直接运行的数据恢复软件, 或把硬盘挂在别人的机器上进行恢复。

3.2 文件分配表机制分析

FAT (File Allocation Table) 即文件分配表, 是DOS/windows系统的文件寻址系统。对于FAT32格式, 位置是从引导扇区开始的第32个扇区就是第一个FAT表的位置, 其大小由这个分区的空间大小及文件分配单元的大小决定, 文件分配表占据扇区的多少凭磁盘类型大小而定。

文件分配表是用来表示磁盘文件的空间分配信息的。它不对引导区、文件目录表的信息进行表示, 也不真正存储文件内容。其主要功能是:表明磁盘类型、表明每个文件所占簇链的使用情况、标明坏簇和可用簇。为了防止意外损坏, FAT一般做两个, 第二FAT为第一FAT的备份, FAT32采用4个字节来表示簇的位置。磁盘的最小存储单位是扇区, 若干个扇区合为一个簇, 在FAT32中每8个扇区为一个簇进行编号, 每个簇在文件分配表中都有对应的表项, 簇号即为表项号。在FAT文件系统中对数据区的存储空间是按簇进行划分和管理的, 由于FAT32中文件的存放是链式存储结构, 它可以由若干个连接的簇进行连接存储, 在表项内的数值是该文件的下一个簇的簇号, 值到最后一个簇的标志为结束。

3.3 数据丢失恢复的设计思路

在编写程序前先来分析一下程序要做的事情。该程序的主要功能是通过用户指明的文件名和盘符找到FAT32卷中被误删除的文件数据, 然后进行恢复。根据前面的分析我们知道, 硬盘上的文件是由FAT表和FDT目录项进行统一管理, 而FAF与FDT对数据的存储管理又是链式的。因此, 通过链式搜索查找, 可以准确定位被误删除的文件在磁盘中的确切位置。

当文件被删除后, 该文件FDT目录项的首字节的值被改成“ES”, 引导扇区的第二个扇区中表示该分区点用空间大小的相应信息也被同时改写。因此, 在程序设计时, 要根据其存储结构, 对相应的地方进行修改, 来搜索ES删除标志, 再通过被删除文件的数据链来进行恢复。整个流程大致如下:

(1) 获取磁盘分区类型, 分区存储空间, FAT、FDT文件等存储的起始扇区。

(2) 获取FAT、FDT表项内的簇信息, 即簇的删除、未使用、坏簇、以及占用簇的起始扇区信息。

(3) 通过FAI, 、FDT计算不同文件在物理扇区的起始位置, 包括有标识ES除文件起始位置、文件类型、占用大小和文件存储的所在簇。

(4) 改变删除位, 通过过程 (3) 得到的结果, 并按FAT表对文件进行链式查找并缓存, 当达到文件所在簇尾时, 停止操作。

(5) 对存储的数据进行转换, 生成文件.

(6) 对文件进行异区存储。而操作系统在读写文件时, 会根据FDT中的起始单元, 结合FAT表就知道文件在磁盘的具体位置, 然后顺序读取每个簇的内容, 从而完成文件的恢复工作。

4. 结语

“硬盘有价, 数据无价”。针对愈演愈烈的数据丢失和破坏现象, 如何保护好这些重要数据, 如何在数据被破坏或丢失的情况下, 尽可能的恢复这些信息, 将是一项长期而艰巨的任务。基于windowFAT32操作系统, 本文对数据恢复的基本技术进行了分析和讨论。对于进一步提高硬盘数据被删除后的恢复应用水平具有较好的实用价值和指导意义。

参考文献

[1]戴士剑, 涂彦晖.数据恢复技术[M].北京:电子工业出版社, 2005.

[2]黄步根.数据恢复与计算机取证[J].计算机安全, 2006, (6) :32-33.

[3]戴士剑, 涂彦晖.数据恢复技术 (第2版) [M].北京:电子工业出版社, 2007.

[4]邓剑, 杨晓非, 廖俊卿.FAT文件系统原理与实现[J].计算机与数字工程, 2005, 33 (9) :105-108.

数据恢复的常用软件 篇2

周末宅在家没事的话,就会拿着手机躺家里头,看电视啊,听听歌之类的。那在没网络的情况下,我们都会选择把视频给缓存下来,然后就不用担心网络的问题,那如果存在手机的视频被我们不小心给清理掉了怎么办呢?手机上的垃圾我们都会不定时的去清理一些的,以防止内存不足或垃圾过多,导致手机运行卡顿。那删除的视频文件该如何恢复呢?

想要找回电脑上误删的文件,就得借助到专业的数据恢复工具----互盾数据恢复软件,用户借助到它的帮助可以在短时间内找回误删的文件等,那么下面就一起看看具体的操作流程吧。

1、打开常用的电脑,搜索“互盾数据恢复软件”关键词,将其下载安装到电脑上。安装完成。运行互盾数据恢复软件,在软件的操作界面,有深度扫描和快速扫描两个选项。选择“深度扫描”

2、进入磁盘分区界面,我们点击选择手机所在的磁盘分区,然后点击“开始扫描”按钮,软件就开始扫描被删除文件的手机了。

3、扫描需要时间,是依据手机中的数据大小决定的。扫描完成后,我们在软件界面左侧会看到手机的全部数据恢复选项,4、随后会弹出恢复选择路径的页面,为恢复的文件设置保存的路径后,注意所选的磁盘分区不能与被恢复的磁盘分区重合,我们点击“恢复”按钮即可。

通用财务软件数据的“活用” 篇3

关键词:财务辅助软件

1、目前市场上商业化的通用财务软件,如用友、金蝶等财务软件,片面追求软件操作功能通用性,而企业真正需要的强化内部财务管理的功能却不健全,或者根本无法实现。特别是网络版的大型财务软件,数据库经过严格加密处理,就是电脑人员也无法快速、方便地从数据库直接调用、提取数据,进一步加工、整合,编制内部管理报表。财务人员通过财务软件一部分一部分提取数据,然后用EXCEL软件进行拼接,不但花时间多,费脑力,而且容易出差错。特别是在月末月初和年末年初,财务人员大量财务工作和非财务工作叠加在一起,不得不经常加班加点,心力交瘁,烦不胜烦。

2、我们中国(福建)对外贸易中心集团有限责任公司财务采用的是金蝶财务软件远程网络版EAS7.0。因大型网络财务软件强调大公司大数据和商业化的通用性,功能设计差强人意,部分功能即使根据使用单位的要求进行补充、更新,还是无法满足需求。查询功能需选择很多条件才能进行,不够直观,如查看明细账,需录入日期、确认是否显示核算项目、数量等多项内容,选择币别,显示超过1000个记录也需要选择,然后选择具体要查询的明细科目,只有正确回答上述内容,才能看到明细账;间接费用难以按照企业绩效考核方案进行分摊,内部管理报表如外贸企业的分科组经营情况表、出口跟单核算报表等无法自动生成,因外贸业务员无法看到经营损益的整个清单,总担心经营业绩被财务人员“参入水分”,做了“手脚”;外贸财务软件与税务出口退税软件“各自为政”,可能因似是而非的商品品名,财务人员帐务处理使用错误的出口退税率,出口退税应退金额出现差错,与实退金额不一致,账实不符,日积月累,差错金额越来越大,更正困难,甚至因少报出口退税款,超过补报时间,无法申报,造成损失。对通用财务软件的二次开发,确实是一线财务人员急切期盼的,也是适应提升财务管理的要求。

3、为了减轻财务工作强度和压力,本人经过几个月的“攻关”,设计了一套与金蝶财务软件远程网络版EAS7.0数据相配套衔接的辅助软件(下文简称“财务辅助软件”)。利用金蝶财务软件把会计记账凭证数据和会计科目年初余额引出,生成EXCEL格式,利用“财务辅助软件”转换,生成系统数据。“财务辅助软件”针对行业特点和财务管理需要,进行进一步“深加工”、整合,生成明细账簿和财务报表(包括内部管理报表),自动计算财务指标,进行分析。详情如下:

3.1“财务辅助软件”增强了查询功能。根据财务人员的操作习惯和管理要求,需从记账凭证或明细账中查询或提取数据的功能,都设计成软件操作菜单,如外贸企业按出口发票号查询,和按照业务科组、业务员查询,只要摘要、明细项目或核算项目符合条件,均可快速调出。还可根据企业管理需要添加相应的查询菜单,扩展软件功能,使财务人员操作起来更加方便、快捷,解决通用财务软件查询功能“通用却不好用”的问题。

4、“财务辅助软件”针对外贸企业的行业特点和管理需要,增强了自动编制内部管理报表的功能。企业的收入、成本和直接费用按业务科组、业务员进行归集、计算,间接费用借助“财务辅助软件”自动分摊(费用分摊方案见下文),然后自动编制分科组、分业务员的经营损益表,再生成按业务科组、业务人员归集的损益类科目以EXCEL格式保存的详细核算清单,包括营业收入(包括进出口销售美元数)、营业成本、税金、费用(包括营业费用、管理费用、财务费用)、营业外收入及支出、分摊的费用(包括业务科组、业务员的资金占用费)等逐笔细账和计算清单,提供给业务员,以便业务员能快速打开核对,实现财务与业务数据的对接,消除业务员对财务核算结果准确性的质疑(即分科组分业务员经营业绩计算是否存在多计成本、多摊费用、少算利润的问题)。

5、企业经营状况不同,其间接费用的分摊办法也有所不同。工业企业间接费用,可利用作业成本法和作业基础管理等成本分摊办法,运用计算机技术对制造费用(也包括营业费用、管理费用和销售费用)进行自动分摊,准确计算产品成本,分析增值作业和非增值作业。我们公司是一家以进出口为主的外贸集团公司,下属几十家子公司,有的只经营商品出口业务,有的进口和出口并重,有的以进口为主出口为辅。借助“财务辅助软件”,使费用分摊尽量做到公平合理,提高绩效考核的效率和效果。进出口业务的资金占用费,通过调用银行存款明细账,录入其对应的业务科组、业务员和起始计息日期,根据银行存款收付款金额和占用天数,按照银行贷款平均利率或略高一点,计算分摊,这样能督促业务员加快资金周转,减少资金占用,减轻利息负担。除资金占用费以外的其他间接费用,进口业务可根据进口采购需要的资金量和占用时间长短,进口业务整批销售还是分批销售或零售,对各批次的进口费用分摊设计了不同的比率,进行合理分摊,计算业务科组、业务员的进口经营效益。而出口业务,我们参照近一两年公司的费用情况和出口规模,预测今年的销售规模和费用情况,采用目标成本法,测算费用分摊比率。利用“财务辅助软件”,根据业务科组和业务员的出口规模,适当考虑其业务经营能力,设计了不同的费用分摊办法,如方案一:间接费用年总额承包,按月摊入成本,计算经营绩效;方案二:业务科组和业务员按出口规模,在出口100万美元之内每美元分摊8分费用,出口100万美元至300万美元的部分,每美元分摊7分费用,出口300万美元至500美元的部分,每美元分摊6分费用,出口500万美元以上的部分,每美元只分摊3分费用,分段统计摊销费用。“财务辅助软件”还可以根据不同业务科组和业务员按不同比率分摊,适当降低部分新业务员的费用分摊比率,给予其一段时间的优惠过渡期,力求企业的绩效考核数据计算结果更精确,促使员工努力扩大进出口规模,精打细算,节俭费用开支,提高经营效益。

6、“财务辅助软件”在外贸企业进出口费用分摊的基础上,设计了按业务编号进行归集、查看进出口业务的经营效益,实现外贸企业进口、出口业务跟单核算、按单跟踪管理的要求,使企业的内部控制得以强化。

7、“财务辅助软件”还增加了对财务指标进行分析的功能。通过自动计算财务效益指标,与标杆公司的财务指标进行比较,应用对标管理理论,对企业的经营绩效进行初步评价。

8、“财务辅助软件”设计了税务出口退税数据与金蝶财务软件退税数据相核对衔接的功能。税务出口退税软件由大连龙图信息系统股份有限公司开发,外贸企业和自营出口的生产企业均可上出口退税咨询网www.taxrefund.com.cn下载。由税务出口退税软件引出生成EXCEL格式退税文件(外贸退税软件V13.0之前的版本都是未加密数据库DBF格式,可直接引用),我们通过“财务辅助软件”对引出数据进行格式转化,实现出口退税应退、实退金额自动相核对,并自动调节因小数点四舍五入出现的小差错。如果因账务处理的退税数据差错,财务人员可以及时更正;如果是企业向税务局少报退税款,可及时补报,避免造成损失。外贸企业的出口业务,有时因出口笔数多,金额小,财务会计为减轻工作量,把多笔业务合并做一张记账凭证,如出口业务IV14A001,IV14A002,IV14A031,合并业务编号为IV14A001/02/31,三单业务合在一起做一张记账凭证。但税务退税软件只能逐笔录入退税金额。我们需要借助“财务辅助软件”,把税务退税软件的逐笔业务自动转化成合并业务编号,实现退税款按业务编号的自动核对。金蝶财务软件通过其“标准凭证引入”功能引入“财务辅助软件”生成的按业务编号归集的出口退税收款凭证。

数据恢复的常用软件 篇4

关键词:AIMS,Python,SQLite3

1 引言

航班信息系统英文简称AIMS,软件版本2.5,它是天津空管业务中除thales自动化处理系统以外的另一个重要生产系统。该系统为所有保障飞行安全运行提供服务,程序化和标准化管制员的日常操作,降低人为差错的可能性。在飞服、进近、塔台部门和外地管制部门之间传递信息,使管制单位的相关人员了解航空器飞行计划、掌握飞行动态、进行相关业务数据处理。系统主要服务器由AIMS服务器和前置服务器组成,由于当时AIMS系统没有采用群集技术,主备系统进行切换时需要手工同步数据。保存在oracle数据库中的数据采用手工方式备份,数据的恢复也只能使用手工方式,备份的脚本有好几个,备份的表有31个,恢复后没有程序进行恢复效果的检查,在工作中容易出现备份或恢复出现遗漏的情况,仅靠人工去比对话工作量很大也不现实。本文使用Python编写程序,让程序检查,做数据恢复情况的检查工作。

2 数据恢复情况软件的设计

2.1 系统的连接和工作情况

航班信息系统主备用系统分别连在两个不同的交换机上,由于主用服务器和备用服务器的ip地址完全一样,平时正常工作的时候只有主用系统连接终端,备用系统没有外接终端,系统的数据保存在oracle数据库中,主备用系统之间数据的同步依靠exp和imp命令。系统的连接情况见图1。日常需执行脚本有导出今日明日计划、导入今日明日、导出空军计划、导入空军计划。主备切换需执行脚本:导出资料库、导入资料库、导出航路、导入航路、导出用户和设置、导入用户和设置、导出今日明日、导入今日明日、导出空军计划、导入空军计划、导出长期非定期和导入长期非定期。冬春和夏秋航班换季时需要执行脚本:导出长期非定期、导入长期非定期、导出今日明日计划和导入今日明日计划。

2.2 数据恢复情况检查软件的设计思想

为了减少差错和提高工作效率,编制程序作数据恢复情况的检查,程序设计语言使用Python。Python是一种面向对象、解释型计算机语言,它自带一个轻量级的关系型数据库SQLite3,SQLite3遵守数据库的四个要素:原子性、一致性、隔离性和持久性,支持事物操作,所有的维护来自于程序本身,Python非常容易读取和保存数据到SQLite3。我把所有需要保存的oracle数据库表名保存到SQLite3中。备份时,根据SQLite3中的表名,统计出每个备份Oracle表的记录数,表名和每个表的行数写入plan_main.txt文件,恢复时做同样的操作,只是表名和每个表的行数写入plan_back.txt文件。做检查恢复情况时,比较两个文本中每个表的记录行数就可以知道那个表已经恢复好了,那个表还存在问题。

3 数据恢复情况软件的实现

3.1 在SQLite3中建立需要备份表名的表

CREATE TABLE table_back(id INTEGER NOT NULL PRI-MARY KEY,table_name TEXT,description TEXT);

Id字段为序号,table_name字段为oracle数据备份中表的名字,description字段保存脚本操作时的名称。

上表是需要备份表的例子。如果需要备份的表有变化,直接修改table_back中的数据就可以了,不用修改程序。

3.2 数据库操作

Python对于关系数据库的访问制定了一个标准,SQLite和Oracle数据库都遵从这一规范,高级数据库API定义了一组用于连接数据库服务器、执行SQL查询并获得结果的函数和对象。其中主要有两个主要对象:一个用于管理数据库连接的Connection对象,另一个用于执行查询的Cursor对象,首先创建连接对象,然后再创建Cursor对象,使用Cursor对象执行sql操作。连接SQLite3比较容易,importi sqlite3内置模块后就可以了。连接Oracle数据库相对麻烦一些,需要安装cx_Oracle扩展包,安装Oracle客户端软件(oracle Install Client),配置成功后,才能对oracle数据库进行操作。连接数据库时,每种数据库模块都提供一个模块级函数Connect(parameters)。其中实际使用的参数因数据库不同而不同。

3.3 程序关键代码

程序由三个python文件组成:aims_main.py(在AIMS主用服务器上运行)、aims_back.py(在AIMS备用服务器上运行)和aims_diff.py(每个表行数比较)

备份和恢复成功显示”same one”,备份和恢复不成功显示“different one”,数据的比较用程序完成。程序执行完后,为了便于查看比较情况,把输出的文件导入Excel表中,选取部分表,比较情况见图2。

4 结论

本设计采取程序和数据分离的想法,备份的表放在SQLite3数据库中,备份的表发生改变时只需要使用SQLite3修改table_back,程序不用修改。本方案能够很好地完成数据恢复情况的检查工作。Python语言简洁、面向对象、容易读、易于扩展和易于维护,调试和修改都很方便,拥有一个强大的标准库,标准库提供了系统管理、网络通信、文本处理、数据库接口等功能,非常适合扩展程序的功能。

参考文献

数据恢复的常用软件 篇5

前言

这篇文章介绍了DBA每天在监控Oracle数据库方面的职责,讲述了如何通过shell脚本来完成这些重复的监控工作。本文首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。同时文章还介绍了8个重要的脚本来监控Oracle数据库:

检查实例的可用性

检查 的可用性

检查alert日志文件中的错误信息

在存放log文件的地方满以前清空旧的log文件

分析table和index以获得更好的性能

检查表空间的使用情况

找出无效的对象

监控用户和事务

DBA需要的Unix基本知识

基本的UNIX命令

以下是一些常用的Unix命令:

ps--显示进程 grep--搜索文件中的某种文本模式 mailx--读取或者发送mail cat--连接文件或者显示它们 cut--选择显示的列 awk--模式匹配语言 df--显示剩余的磁盘空间

以下是DBA如何使用这些命令的一些例子:

显示服务器上的可用实例:

$ ps -ef | grep smon

oracle 21832 1 0 Feb 24 ? 19:05 ora_smon_oradb1

oracle 898 1 0 Feb 15 ? 0:00 ora_smon_oradb2

dliu 25199 19038 0 10:48:57 pts/6 0:00 grep smon

oracle 27798 1 0 05:43:54 ? 0:00 ora_smon_oradb3

oracle 28781 1 0 Mar 03 ? 0:01 ora_smon_oradb4、显示服务器上的可用 :

$ ps -ef | grep listener | grep -v grep

(译者注:grep命令应该加上-i参数,即grep -i listener,

该参数的作用是忽略大小写,因为有些时候listener是大写的,这时就会看不到结果)

oracle 23879 1 0 Feb 24 ? 33:36 /8.1.7/bin/tnslsnr listener_db1 -inherit

oracle 27939 1 0 05:44:02 ? 0:00 /8.1.7/bin/tnslsnr listener_db2 -inherit

oracle 23536 1 0 Feb 12 ? 4:19 /8.1.7/bin/tnslsnr listener_db3 -inherit

oracle 28891 1 0 Mar 03 ? 0:01 /8.1.7/bin/tnslsnr listener_db4 -inherit

查看Oracle存档目录的文件系统使用情况

$ df -k | grep oraarch

/dev/vx/dsk/proddg/oraarch 71123968 4754872 65850768 7% /u09/oraarch

统计alter.log文件中的行数:

$ cat alert.log | wc -l

2984

列出alert.log文件中的全部Oracle错误信息:

$ grep ORA- alert.log

ORA-00600: internal error code, arguments: [kcrrrfswda.1], [], [], [], [], []

ORA-00600: internal error code, arguments: [1881], [25860496], [25857716], []

CRONTAB基本

一个crontab文件中包含有六个字段:

分钟 0-59

小时 0-23

月中的第几天 1-31

月份 1 - 12

星期几 0 - 6, with 0 = Sunday

Unix命令或者Shell脚本

要编辑一个crontab文件,输入:Crontab -e

要查看一个crontab文件,输入:

Crontab -l

0 4 * * 5 /dba/admin/analyze_table.ksh

30 3 * * 3,6 /dba/admin/hotbackup.ksh /dev/null 2>&1

在上面的例子中,第一行显示了一个分析表的脚本在每个星期5的4:00am运行。第二行显示了一个执行热备份的脚本在每个周三和周六的3:00a.m.运行。

监控数据库的常用Shell脚本

以下提供的8个shell脚本覆盖了DBA每日监控工作的90%,你可能还需要修改UNIX的环境变量。

检查Oracle实例的可用性

oratab文件中列出了服务器上的所有数据库

$ cat /var/opt/oracle/oratab

############################################################

## /var/opt/oracle/oratab##

############################################################

oradb1:/u01/app/oracle/product/8.1.7:Y

oradb2:/u01/app/oracle/product/8.1.7:Y

oradb3:/u01/app/oracle/product/8.1.7:N

oradb4:/u01/app/oracle/product/8.1.7:Y以下的脚本检查oratab文件中列出的所有数据库,并且找出该数据库的状态(启动还是关闭)

##############################################################

## ckinstance.ksh ## ###################################################################

RATAB=/var/opt/oracle/oratab

echo `date`

echo Oracle Database(s) Status `hostname` :

db=`egrep -i :Y|:N $ORATAB | cut -d: -f1 | grep -v # | grep -v *`

pslist=`ps -ef | grep pmon`

for i in $db ; do

echo $pslist | grep ora_pmon_$i >/dev/null 2>$1

if (( $? )); then

echo Oracle Instance - $i: Down

else

echo Oracle Instance - $i: Up

fi

done

使用以下的命令来确认该脚本是可以执行的:

$ chmod 744 ckinstance.ksh

$ ls -l ckinstance.ksh

-rwxr--r-- 1 oracle dba 657 Mar 5 22:59 ckinstance.ksh*

以下是实例可用性的报表:

$ ckinstance.ksh

Mon Mar 4 10:44:12 PST

Oracle Database(s) Status for DBHOST server:

Oracle Instance - oradb1: Up

Oracle Instance - oradb2: Up

Oracle Instance - oradb3: Down

Oracle Instance - oradb4: Up

检查Oracle 的可用性

以下有一个类似的脚本检查Oracle 。如果 停了,该脚本将会重新启动 :

#######################################################################

## cklsnr.sh ##

#######################################################################

#!/bin/ksh

DBALIST=primary.dba@company.com,another.dba@company.com;export DBALIST

cd /var/opt/oracle

rm -f lsnr.exist

ps -ef | grep mylsnr | grep -v grep >lsnr.exist

if [ -s lsnr.exist ]

then

echo

else

echo Alert | mailx -s Listener ‘mylsnr‘ on `hostname` is down $DBALIST

TNS_ADMIN=/var/opt/oracle; export TNS_ADMIN

ORACLE_SID=db1; export ORACLE_SID

ORAENV_ASK=NO; export ORAENV_ASK

PATH=$PATH:/bin:/usr/local/bin; export PATH

. oraenv

LD_LIBRARY_PATH=${ORACLE_HOME}/lib;export LD_LIBRARY_PATH

lsnrctl start mylsnr

fi

检查Alert日志(ORA-XXXXX)

每个脚本所使用的一些环境变量可以放到一个profile中:

#######################################################################

## oracle.profile ##

#######################################################################

EDITOR=vi;export EDITOR ORACLE_BASE=/u01/app/oracle; export

ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/8.1.7; export

ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib; export

LD_LIBRARY_PATH TNS_ADMIN=/var/opt/oracle;export

TNS_ADMIN NLS_LANG=american; export

NLS_LANG NLS_DATE_FORMAT=‘Mon DD YYYY HH24:MI:SS‘; export

NLS_DATE_FORMAT RATAB=/var/opt/oracle/oratab;export

ORATAB PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:/usr/clearcase/“ target=”_blank“ >ccs/bin:/bin:/usr/bin:/usr/sbin:/

sbin:/usr/openwin/bin:/opt/bin:.; export

PATH DBALIST=primary.dba@company.com,another.dba@company.com;export

DBALIST以下的脚本首先调用oracle.profile来设置全部的环境变量。如果发现任何的Oracle错误,该脚本还会给DBA发送一个警告的email。

####################################################################

## ckalertlog.sh ##

####################################################################

#!/bin/ksh

.. /etc/oracle.profile

for SID in `cat $ORACLE_HOME/sidlist`

do

cd $ORACLE_BASE/admin/$SID/bdump

if [ -f alert_${SID}.log ]

then

mv alert_${SID}.log alert_work.log

touch alert_${SID}.log

cat alert_work.log >>alert_${SID}.hist

grep ORA- alert_work.log >alert.err

fi

if [ `cat alert.err|wc -l` -gt 0 ]

then

mailx -s ${SID} ORACLE ALERT ERRORS $DBALIST< alert.err

fi

rm -f alert.err

rm -f alert_work.log

done

清除旧的归档文件

以下的脚本将会在log文件达到90%容量的时候清空旧的归档文件:

$ df -k | grep arch

Filesystem kbytes used avail capacity Mounted on

/dev/vx/dsk/proddg/archive 71123968 30210248 40594232 43% /u08/archive

#######################################################################

## clean_arch.ksh ##

#######################################################################

#!/bin/ksh

df -k | grep arch >dfk.result

archive_filesystem=`awk -F ‘{ print $6 }‘ dfk.result`

archive_capacity=`awk -F ‘{ print $5 }‘ dfk.result`

if [[ $archive_capacity >90% ]]

then

echo Filesystem ${archive_filesystem} is ${archive_capacity} filled

# try one of the following option depend on your need

find $archive_filesystem -type f -mtime +2 -exec rm -r {} ;

tar

rman

fi

分析表和索引(以得到更好的性能)

以下我将展示如果传送参数到一个脚本中:

####################################################################

## analyze_table.sh ##

####################################################################

#!/bin/ksh

# input parameter: 1: password # 2: SID

if (($#<1)) then echo ”Please enter oracle user password as the first parameter !“ exit 0

fi

if (($#<2)) then echo ”Please enter instance name as the second parameter!“ exit 0

fi

要传入参数以执行该脚本,输入:

$ analyze_table.sh manager oradb1

脚本的第一部分产生了一个analyze.sql文件,里面包含了分析表用的语句,

脚本的第二部分分析全部的表:

#####################################################################

## analyze_table.sh ##

#####################################################################

sqlplus -s<

oracle/$1@$2

set heading off

set feed off

set pagesize 200

set linesize 100

spool analyze_table.sql

select ANALYZE TABLE || owner || . || segment_name ||

ESTIMATE STATISTICS SAMPLE 10 PERCENT;

from dba_segments

where segment_type = TABLE

and owner not in (SYS, SYSTEM);

spool off

exit

!

sqlplus -s<

oracle/$1@$2

@./analyze_table.sql

exit

!

以下是analyze.sql的一个例子:

$ cat analyze.sql

ANALYZE TABLE HIRWIN.JANUSAGE_SUMMARY ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE HIRWIN.JANUSER_PROFILE ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE APPSSYS.HIST_SYSTEM_ACTIVITY ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE HTOMEH.QUEST_IM_VERSION ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE JSTENZEL.HIST_SYS_ACT_0615 ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE JSTENZEL.HISTORY_SYSTEM_0614 ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE JSTENZEL.CALC_SUMMARY3 ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE IMON.QUEST_IM_LOCK_TREE ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE APPSSYS.HIST_USAGE_SUMMARY ESTIMATE STATISTICS SAMPLE 10 PERCENT;

ANALYZE TABLE PATROL.P$LOCKCONFLICTTX ESTIMATE STATISTICS SAMPLE 10 PERCENT;

检查表空间的使用

以下的脚本检测表空间的使用。如果表空间只剩下10%,它将会发送一个警告email。

#####################################################################

## ck_tbsp.sh ##

#####################################################################

#!/bin/ksh

sqlplus -s<

oracle/$1@$2

set feed off

set linesize 100

set pagesize 200

spool tablespace.alert

SELECT F.TABLESPACE_NAME,

TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),999,999) ”USED (MB)“,

TO_CHAR (F.FREE_SPACE, 999,999) ”FREE (MB)“,

TO_CHAR (T.TOTAL_SPACE, 999,999) ”TOTAL (MB)“,

TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),999)|| % PER_FREE

FROM (

SELECT TABLESPACE_NAME,

ROUND (SUM (BLOCKS*(SELECT VALUE/1024

FROM V$PARAMETER

WHERE NAME = db_block_size)/1024)

) FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME

) F,

(

SELECT TABLESPACE_NAME,

ROUND (SUM (BYTES/1048576)) TOTAL_SPACE

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME

) T

WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME

AND (ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100))< 10;

spool off

exit

!

if [ `cat tablespace.alert|wc -l` -gt 0 ]

then

cat tablespace.alert -l tablespace.alert >tablespace.tmp

mailx -s ”TABLESPACE ALERT for ${2}“ $DBALIST< tablespace.tmp

fi

警告email输出的例子如下:

TABLESPACE_NAME USED (MB) FREE (MB) TOTAL (MB) PER_FREE

------------------- --------- ----------- ------------------- ------------------

SYSTEM 2,047 203 2,250 9 %

STBS01 302 25 327 8 %

STBS02 241 11 252 4 %

STBS03 233 19 252 8 %

查找出无效的数据库对象

以下查找出无效的数据库对象:

#####################################################################

## invalid_object_alert.sh ##

#####################################################################

#!/bin/ksh . /etc/oracle.profile

sqlplus -s<

oracle/$1@$2

set feed off

set heading off column object_name format a30

spool invalid_object.alert

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,

STATUS FROM DBA_OBJECTS WHERE STATUS =

INVALID ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;

spool off

exit ! if [ `cat invalid_object.alert|wc -l` -gt 0 ] then

mailx -s ”INVALID OBJECTS for ${2}“ $DBALIST< invalid_object.alert

fi$ cat invalid_object.alert

OWNER OBJECT_NAME OBJECT_TYPE STATUS

--------------------------------------------

HTOMEH DBMS_SHARED_POOL PACKAGE BODY INVALID

HTOMEH X_$KCBFWAIT VIEW INVALID

IMON IW_MON PACKAGE INVALID

IMON IW_MON PACKAGE BODY INVALID

IMON IW_ARCHIVED_LOG VIEW INVALID

IMON IW_FILESTAT VIEW INVALID

IMON IW_SQL_FULL_TEXT VIEW INVALID

IMON IW_SYSTEM_EVENT1 VIEW INVALID

IMON IW_SYSTEM_EVENT_CAT VIEW INVALIDLBAILEY CHECK_TABLESPACE_USAGE PROCEDURE INVALID

PATROL P$AUTO_EXTEND_TBSP VIEW INVALID

SYS DBMS_CRYPTO_TOOLKIT PACKAGE INVALID

SYS DBMS_CRYPTO_TOOLKIT PACKAGE BODY INVALID

SYS UPGRADE_SYSTEM_TYPES_TO_816 PROCEDURE INVALID

SYS AQ$_DEQUEUE_HISTORY_T TYPE INVALID

SYS HS_CLASS_CAPS VIEW INVALID SYS HS_CLASS_DD VIEW INVALID

监视用户和事务(死锁等)

以下的脚本在死锁发生的时候发送一个警告e-mail:

###################################################################

## deadlock_alert.sh ##

##################################################################

##!/bin/ksh

.. /etc/oracle.profile

sqlplus -s<

oracle/$1@$2

set feed off

set heading off

spool deadlock.alert

SELECT SID, DECODE(BLOCK, 0, NO, YES ) BLOCKER,

DECODE(REQUEST, 0, NO,YES ) WAITER

FROM V$LOCK

WHERE REQUEST >0 OR BLOCK >0

ORDER BY block DESC;

spool off

exit

!

if [ `cat deadlock.alert|wc -l` -gt 0 ]

then

mailx -s ”DEADLOCK ALERT for ${2}“ $DBALIST< deadlock.alert

fi

结论

0,20,40 7-17 * * 1-5 /dba/scripts/ckinstance.sh >/dev/null 2>&1

0,20,40 7-17 * * 1-5 /dba/scripts/cklsnr.sh >/dev/null 2>&1

0,20,40 7-17 * * 1-5 /dba/scripts/ckalertlog.sh >/dev/null 2>&1

30 * * * 0-6 /dba/scripts/clean_arch.sh >/dev/null 2>&1

* 5 * * 1,3 /dba/scripts/analyze_table.sh >/dev/null 2>&1

* 5 * * 0-6 /dba/scripts/ck_tbsp.sh >/dev/null 2>&1

* 5 * * 0-6 /dba/scripts/invalid_object_alert.sh >/dev/null 2>&1

0,20,40 7-17 * * 1-5 /dba/scripts/deadlock_alert.sh >/dev/null 2>&1

通过以上的脚本,可大大减轻你的工作。你可以使用这些是来做更重要的工作,例如性能调整。(责任编辑:铭铭)

论计算机软件数据接口的应用 篇6

【关键词】计算机软件;数据接口;应用

【中图分类号】TP311

【文献标识码】A

【文章编号】1672—5158(2012)10-0088-01

一、对计算机系统的现状分析

目前,MIS系统以及与多个管理信息系统建立起接口,其中包括集团科设部系统、集体煤炭系统、铁路TMIS系统及磅房称重系统等等。在所运行的数据库应用中,一般实现的方式是:以一个等价为DBA(Database Administrator数据管理员)权限的用户创建表、试图、储存过程、触发器等数据库对象,再由应用开发人员通过代码对这些数据进行操作。这种方式会造成一定的问题隐患。

(一)随着用户对计算机的逐步认识并对其数据库的掌握和理解也越来越深入,一些用户已经掌握了SQL(Structured QueryLanguage结构查询语言)语句的使用,这种方式可以绕开应用程序之间使用交互式的SQL来访问数据库对象,而这种方式虽然较为简便,但是在使用过程中也会产生一些安全问题,很可能导致数据变得不一致。

(二)在对应用程序开发时,如果采用前台应用程序直接调用数据库对象的方式,这种做法就更危险了,它为系统恶意攻击者带去了便利,使攻击者只需要对应用程序的数据库对象进行简单的分析,便能轻松的了解后台数据库的基本逻辑。

(三)运用分布式远程数据库接口访问时,需要程序开发人员对数据库对象进行详细的描述,所描述的信息包括:远程主机名、数据库名、用户名及用户对象等,这种方式在语句编写方面非常的繁琐,并且如在运行过程中有一点差错就使数据库找不到应用对象,查找问题也依然很复杂。

二、计算机软件的数据接口

所谓计算机软件数据接口实际上就是软件开发商向计算机用户或者第三方软件开发商所提供的一系列的标准规范,其主要作用是对特定的数据进行交流,它的优势在于,不仅具有一定的灵活性,能让计算机用户或者第三方开发商在运行软件时更加有效,同时还可以保证软件数据库对象的安全性。这些标准规范可以是经过封装的应用程序的接口函数,也就是API函数,也可是格式固定过的数据文件或数据库形式。

三、计算机软件数据接口的设计原则

在对计算机软件数据接口进行设计时,需要遵守以下几个原则:

(一)满足客户的应用需求:计算机的软件数据接口能够提供怎样的服务功能取决于软件本身,而软件程序的应用范围又是通过数据接口来进行扩展的。因此,设计软件数据接口的最根本也是最终目的就是为了满足计算机用户的需求并为他们服务。怎样做大最大化的满足客户的需求,则必须对不同的问题进行多反面的具体分析。

(二)面向对象的原则:想要大幅度的提高计算机软件数据接口的使用效率必须加强其软件设计的合理性与科学性。在进行软件数据接口设计工作时一定要遵循面向对象的基本原则,将其所提供的所有功能做出最准确的描述。对于开发者而言,接口越复杂、越详细,其使用效果就越好,那样能够有效的降低各个程序模块之间的耦合性,从而也降低了程序开发的成本及难度。

(三)软件数据接口的高容错性与高健壮性:所谓高容错性是指软件能够为用户提供更强大的错误处理机制,以防一些错误对系统造成影响。而高健壮性主要指处理输入其规范要求的情况的能力,也可称为鲁棒性。如果一个系统拥有高健壮性,就表示当有规范要求外的情况输入时,其能够准确的做出与规范要求不符的判断,并给以合理的解决处理办法。由于软件数据口同程序开发的很多方面都有联系,所以程序接口就必须要具备高容错性及高健壮性,这样才能在程序的使用过程中准确的找出产生错误的原由并防止接口自身出错而导致系统出现问题。

(四)软件数据口需要具备可扩展性:软件接口的基础是软件本身,当用户对软件的应用程度越来越高,那么软件会自动升级,而相应的软件数据接口也会随着软件的升级而升级。数据接口的升级将会对第三方开发商带去直接的影响,所以在设计软件数据接口时一定要充分和仔细的考虑其扩展性,尽量减少大规模的变动对方厂商程序的几率,最大程度的维护用户的利益。

(五)尽量符合业内的标准数据接口规范:目前,计算机的应用已经遍及到了各行各业,而一个行业内可能会存在多个不同的软件开发商,由于每个开发商进行程序开发时所用的数据库不同,并会主观的对自己的作品自定义其标准,这让这些不同的软件数据接口没有一个统一的标准,这样就不利于软件的升级,也给后续第三方软件开发商的设计增加了难度。因此在进行软件开发时一定要负起责任,使这些软件尽量的标准化。

四、计算机软件数据接口的设计与实现

(一)文件交换的模式:文件交换模式主要是指利用特定的数据结构的数据文件来实现用户、软件开发商和第三方开发商的数据交互过程。软件开发商会首先制定某个数据结构,用户或者第三方开发商再根据该数据强求提交一个文件,当软件自动扫描到该文件后,就会按照系统所设定的规则返回一个文件给用户,当用户与第三方开发商成功接收该文件后,并根据其制定的规则对文件进行读取,这就实现了数据交互。数据文件没有特定的形式规定,可以是任何一种,例如ini文件、txt文件等。

(二)函数模式:软件数据接口的函数模式是指开发商首先将一些列的函数定义好,提前完成用户与第三方开发商所需介入的数据操作,这个过程将不会对用户及第三方开发商开放,以此来保证数据的机密性。

(三)中间数据库模式:中间数据库模式是指软件开发商会建立起一个数据库,其属于公用性质,用户或第三方开发商若要访问只需通过简单的授权程序便可。双方在遵循相应规则时,通过该数据库便能达到数据交互。

五、总结

总而言之,软件数据接口的设计与应用已经对计算机技术产生了巨大的影响,它的应用将一个个独立的计算机软件合理的连接起来,既满足了计算机用户的需求,也进一步促进了计算机技术的发展。

参考文献

[1]刘兵.计算机软件数据接口的应用分析[J].计算机光盘软件与应用,2012,(1):72—72,68

[2]吴志军,张雪堂.计算机软件数据接口的应用分析[J].中国科技财富,2011,(14):146—146

[3]刘海峰.电信企业BI系统中ETL部件的设计与实现[D].南京邮电大学,2006

软件维护的数据引流思想 篇7

数据引流思想在软件维护的方法, 是抽象了硬件电路设计和软件开发思想的一般性的理论, 对软件的维护和软件的技术改造项目提供了一条新颖和实用的解决思想。

2 数据引流思想产生

现实的软件系统运用中, 一个软件产品往往因为某种原因脱离了原来的设计和开发体系之后, 往往就会形成一个“鸡肋”, 因为一方面该软件已经在本部门或者本系统使用多年, 大家已经适应了。另一方面随着信息技术的发展, 很多新的功能和应用在原来的软件满足不了, 若想实现新功能又势必改动原有的数据组织生产形式。所以, 对于软件的维护需要有一种思想和一系列的办法来支撑这项任务。

3 数据引流思想及其部件的定义

数据引流就是在原有的数据组织和生产形态维持不变的情况下, 依据新的业务需求, 有针对地将原有系统中的数据抽取, 加以新的开发利用。

按照开发过程实体化的指导思路定义了以下几个核心部件:数据引流泵、数据引流口、数据引流池、数据引流阀, 如图1。

4 数据引流思想在软件维护的方法一般性的步骤与数据引流部件的关联

如图2所示。

5 数据引流泵创建的三种办法及适用的范围

5.1 数据副本法

将整表的信息复制出一份副本另存在数据库中, 提供给新的业务需求。

5.2 触发器法

由数据库的触发器感知数据的变化, 将新生的数据针对性的采集, 放置新表, 提供给新的业务需求。

5.3 定时器法

由外部程序定时访问主表, 将某一阶段的数据取出, 提供给新的业务需求。

6 数据引流生产指标

数据断面是假设在数据部件之间虚拟平面。通过这个概念, 可以清晰地校验数每个数据部件结果的准确性和度量数据规模。

6.1 引流数据吞吐量

(Q) 由数据抽取频率、数据单位行宽、数据抽取启停时间决定。最大数据吞吐量Max (Q) 等于数据泵的吞吐量。最小数据吞吐量Min (Q) 等于数据引流阀最小数据出口吞吐量。

6.2 引流数据获取时间

(T) 数据引流口开闭时间、数据引流口开启个数决定。引流数据获取时间总和Sum (t) 等于引流数据正向流动支路各时间断面的累加。

6.3 载荷处理能力

(F) 取决于系统硬件的配置。

6.4 以上三者关系

7 数据引流思想实际案例

7.1 项目背景

《基于电子病历的职工医保政策监管系统》是一套能够审核电子病历系统处方行为监管系统, 使得在医生能实时获知诊疗收费行为是否符合医保政策的规定。

7.2 实际开发中各环节、部件搭建

7.2.1 定位、链接环节数据引流泵的创建

如图3。

7.2.2 挖掘环节数据引流口设置

医保审核是一个实时监测的过程, 按需求采用同步提取的办法。修改存储过程 (Zl_门诊划价记录_Insert) , 增加以下代码insert into YFY_中公网提取数据明细。

7.2.3 过滤环节数据引流阀的创建

7.2.4 数据引流池的创建

7.2.5 利用环节创建

参考文献

[1]张海藩, 吕云翔.软件工程[M].北京:人民邮电出版社, 2013.

[2]孙东坡.水利学[M].郑州:黄河水利出版社, 2009.

[3]卢军.Oracle性能监控与分析系统[D].西安:西安理工大学, 2007年硕士学位论文, 2005.

数据恢复的常用软件 篇8

CAD/CAM是当今世界发展最快的技术之一。随着CAD/CAM技术的普及应用,CAD/CAM技术正向着开放、集成、智能和标准化的方向发展;尤其在机械、模具、汽车、建筑、航天等行业应用较广泛。在实际工作中,仅用一种CAD/CAM软件很难满足产品设计要求,设计人员通常使用多种CAD软件协同完成产品设计,提高工作效率。这样技术人员会遇到不同CAD/CAM软件图形数据交换的问题。笔者在长期的实践中对AutoCAD与常用CAD/CAM软件数据交换的方法进行了研究。

2 四种CAD/CAM软件的简介

AutoCAD、CAXA电子图板、Pro/E和MasterCAM是目前国内外机械制造业中应用广泛的CAD/CAM软件。这四种软件各具特色,联合使用可提高零件设计及数控加工的效率。AutoCAD软件是一款交互式绘图软件,具有强大的绘图、编辑、尺寸标注及方便用户二次开发的功能,AutoCAD是当今最流行的二维绘图软件,拥有广泛的用户群。Pro/E是美国PTC公司开发的集CAD/CAE/CAM于一体的三维参数化软件,是当今世界上最先进的计算机辅助设计和制造一体化软件。MasterCAM是一种基于PC平台的CAD/CAM软件。其CAD建模功能较弱,而CAM功能强大,具有强劲的曲面粗加工及灵活的曲面精加工功能;能对加工过程进行实时仿真,真实反映加工过程中的具体情况,有些企业用Pro/E建模,而用MasterCAM进行数控加工编程。CAXA电子图板是一套高效、方便、智能化的二维绘图软件,可进行零件图、装配图、工艺图表等设计,是目前国内最优秀的二维CAD软件之一。但任何一种通用CAD/CAM软件,都不能同时满足各行各业的需要,无法单独提高加工精度和生产效率的要求,只有取长补短才能达到最好的效果。

3 四种常用CAD/CAM软件数据交换的格式

AutoCAD、Pro/E、MasterCAM、CAXA电子图板作为优秀的机械设计、机械制造软件,都能接受和输出较多的格式。各软件要进行数据交换,就必须保证格式相同才可实现。AutoCAD能直接保存dwg文件,还能输入或输出其他格式的文件,如dwg、dxf、Sat、stl等。Pro/E既可直接读取AutoCAD的dwg(dxf)文件,也可将工程图存为dwg或dxf文件导入AutoCAD中。其支持的文件格式有prt、dwg、dxf、igs、stl等。CAXA电子图板可打开其他CAD软件的dwg文件,还提供了dwg等文件读入功能。其支持的文件格式有exb、dwg、dxf、igs、dat等。MasterCAM可以将各种CAD软件的图形,直接转换到MasterCAM软件中。也可以将MasterCAM中绘制的图形转换到其他CAD或CAM软件中去,MasterCAM提供了多种图形文件接口,如mcx、dwg、dxf、iges、stl、sat等。这四种软件共同支持的文件格式有dwg、dxf。可将dwg或dxf格式文件作为四种软件工程图交换的桥梁。利用四种软件各自的优势,为不同软件间的数据交换搭建了一个有利平台。

4 AutoCAD 2008与常用CAD/CAM数据交换的途径

4.1 AutoCAD 2008与CAXA电子图板2007的数据交换途径

AutoCAD具有强大的二维绘图功能、但因缺乏常用标准图库等而影响绘图效率,而CAXA电子图板有丰富的标准图库、图幅、标题栏和完善的尺寸标注等,可充分利用各自的优点配合使用,为数据交换提供方便。

4.1.1 AutoCAD二维图形导入CAXA电子图板2007的具体方法

(1)利用CAXA电子图板中“文件”→“打开文件”

打开CAXA电子图板,单击“文件”→“打开文件”,在文件类型中选择dwg/dxf文件,就可将AutoCAD数据导入到CAXA电子图板中。

(2)利用CAXA电子图板中“wg/dxf批转换器”菜单

执行电子图板“文件”→“dwg/dxf批转换器”,弹出如图1(a)所示的“设置”对话框。,单击“将dwg/dxf文件转换为exb文件”,弹出如图1(b)“加载文件”对话框,单击“添加文件”,按下shift键不放,选择多个dwg/dxf文件,单击“开始转换”,当转换完成后,软件自动提示“文件转换已完成”。利用CAXA电子图板的“dwg/dxf批转换器”,可将AutoCAD的dwg/dxf文件批量转换为exb文件,也可将CAXA电子图板的exb文件批量转换为AutoCAD的dwg/dxf文件,同时还可设置指定路径。

4.1.2 将CAXA电子图板文件转换AutoCAD文件的方法(1)利用CAXA电子图板中“文件”→“存储文件”菜单

打开CAXA电子图板,单击“文件”→“存储文件”、或“另存文件”,在保存类型中可选择AutoCAD2004等多个版本的dwg/dxf格式来存储。

(2)利用CAXA电子图板中快捷菜单实现

打开CAXA电子图板,在绘图区域选择需要输出的图形,单击右键,弹出快捷菜单,选择“输出dwg/dxf”,弹出“dwg/dxf输出”对话框,在“文件名”处输入文件名,在“保存类型”中选择*.dwg或*.dxf格式即可。

(3)先将绘制好的CAXA电子图板文件保存为dwg格式,再打开AutoCAD 2008,单击“插入”→“块”,根据提示,依次完成相应操作,即可将CAXA电子图板的图形插入到AutoCAD中。对插入的图形进行分解,再进行编辑。

经过上述方法转换后的图形,其颜色、线型没变。导入的图形其图层各自保留原软件的特点,但导入的图形中线宽略有变化。在AutoCAD和CAXA中可对其进行适当修改。

4.2 AutoCAD 2008与Pro/E4.0图样的数据交换途径

利用Pro/E强大的三维建模功能和AutoCAD完善的二维绘图功能,通过数据交换,用两种软件联合设计工程图和三维图,可快速完成机械产品的设计。

4.2.1 Pro/E与AutoCAD文件的数据交换

(1)Pro/E工程图导入AutoCAD中的方法

(a)在Pro/4.0中打开要输出的工程图文档。

(b)单击“文件”→“保存副本”,弹出如图2所示对话框,在类型中选择“dxf”或“dwg”,输入文件名,然后单击“确定”,出现如图3所示的“dxf的导出环境”对话框,按图选择,单击“输出”即可。

(c)打开AutoCAD 2008,单击“文件→打开”,选择上一步转换生成的dxf或dwg文件,单击“打开‘,即完成了工程图文档导入到AutoCAD中。

(2)将Pro/E三维实体模型导入AutoCAD中实现过程

(a)在Pro/E4.0中打开要输出的三维实体模型

(b)单击“文件”→“保存副本”,系统弹出对话框,在类型中选择“ACIS文件(*.Sat)”,输入文件名,然后单击“确定”,出现如图4所示的“导出ACIS”对话框,按图选择即可完成文件转换。

(c)运行AutoCAD 2008,单击“插入→ACIS文件(A)”,选择上一步转换生成的*.Sat文件,单击“打开”,即完成了三维模型导入到AutoCAD。

再转换到三维模式下可观察其导入的实体模型。也可以执行“文件→输入”,再按上述方法操作,可实现Pro/E三维模型导入到AutoCAD中。

4.2.2 AutoCAD文件导入Pro/E4.0的实现过程

将绘制的AutoCAD2008文件分别保存为dwg、dxf格式,可通过以下三种方法实现dwg、dxf格式导入Pro/E工程图中。

(1)进入Pro/E工程图模式,执行“插入”→“共享数据”→“自文件”选项,出现“打开”对话框,在类型列表中选取“(*.dwg)”文件或“(*.dxf)”文件,然后打开dwg(dxf)文件,系统弹出如图5所示的“导入dwg”对话框。然后单击“确定”。完成AutoCAD文档的导入。

(2)在Pro/E4.0中新建一个工程图文档,然后在工程图中单击“文件→打开”,在“文件打开”对话框中选择前面生成的dxf(dwg)文件,单击“打开”,完成AutoCAD文件导入Pro/E4.0工程图中。

不过在设计中还应注意以下几个要点:(a)导入dwg(dxf)文件时,系统以图纸左下角作为基准点来放置文件。(b)如果导入的dwg文件的页面大小与所创建工程图页面不一致,系统会自动修正dwg文件使之符合工程图的页面大小。(c)导入dwg文件时,使用dwg文件中指定的单位。如Pro/E工程图缺省的单位为英寸,而dwg文件的单位为毫米,则在导入dwg文件过程时,系统将使用毫米单位。

(3)将AutoCAD二维dwg文件导入Pro/E4.0中创建为三维实体。

进入Pro/E4.0的草绘模式,执行“草绘”→“数据来自文件”→“文件系统”,在“打开”对话框中选择类型为dwg文件,即可将AutoCAD二维图形导入到Pro/E中,保存为Sec格式文件,再创建三维实体。

4.3 AutoCAD 2008与MasterCAM X的数据交换

MasterCAM X既可设计绘制所要加工的机械零件,也可以编制加工机械零件的数控程序,还可以将AutoCAD、Pro/E、CAXA等CAD软件绘制的图形调入到该软件中进行数控编程。

4.3.1 AutoCAD 2008文件导入MasterCAM X软件的方法

(1)将绘制好的二维或三维AutoCAD图形保存为dwg(dxf)文件;启动MasterCAM X软件,执行“文件”→“打开”,在“打开”对话框中,选择文件类型为AutoCAD文件(“*.dwg,*.dxf”),单击“打开”按钮,再在绘图区域空白处右击,选择快捷菜单中的“F适合屏幕”,然后执行“文件”→“保存或另存为”,即可实现AutoCAD文件导入MasterCAM(*.mcx)文件。

(2)将已绘制的二维或三维AutoCAD图形,执行“文件”→“另存为”命令,在“另存为”对话框中选择文件类型为低版本AutoCAD2004/LT2004 DXF(*.dxf)格式保存。再打开MasterCAM X,执行“文件”→“打开”命令,按上面步骤操作,可将AutoCAD二维或三维图形导入MasterCAM X中(注意:必须是低版本(*.dxf)格式,且文字不能转换)。

(3)将绘制好的AutoCAD三维图形,执行“文件”→“输出”命令,在“输出数据”对话框中选择文件类型为ACIS(*.sat)格式保存。再启动MasterCAM X软件,执行“文件”→“打开”命令,在“打开”对话框中选择文件类型为ACIS Kemel SAT文件(*.sat),然后右击绘图区域从快捷菜单中选择“F适合屏幕”,即可将AutoCAD三维图形导入到MasterCAM中。另还可以将AutoCAD三维图形文件输出为(*.STL)格式,再按照上面的操作步骤即可将AutoCAD三维图形导入到MasterCAM中。保存为STL时,三维实体必须绘制在第一象限,否则在AutoCAD中执行“文件”→“输出”时,会出现“实体不在正XYZ八分圆上”的现象。

(4)利用MasterCAM中“输入目录”,可实现批量AutoCAD文件转换为MasterCAM(*.mcx)文件。操作方法如下:打开MasterCAM X,执行“文件”→“输入目录”命令,出现如图6所示的对话框,在“输入目录”对话框中选择输入目录类型为“AutoCAD文件(*.dwg,*.dxf”),单击“输入”,可将dwg文件转换成MasterCAM(*.mcx)文件。

4.3.2 MasterCAM X文件转换为AutoCAD 2008文件的方法

(1)打开MasterCAM X文件,将绘制好的MasterCAM文件直接保存为AutoCAD文件(*.dwg,*,dxf)。方法是执行“文件”→“保存或另存为”,保存类型为“AutoCAD文件(*.dwg,*,dxf)”。注意:若转换的是三维图形,则转换到三维模式状态下,才能显示其三维效果。但转换后的图形不是三维实体图形,而是轴测图。

(2)利用MasterCAM X中“输出目录”,可实现批量MasterCAM(*.mcx)文件转换为AutoCAD文件。操作方法如下:打开MasterCAM,执行“文件”→“输出目录”命令,出现如图7所示的对话框,在“输出目录”对话框中,输出文件类型选择AutoCAD文件(“*.dwg,*.dxf”),在源文件目录中选择含有(*.mcx)文件的文件夹,单击“输出”,可完成MasterCAM(*.mcx)文件转换成AutoCAD的dwg和dxf格式文件。

5 结论

AutoCAD、CAXA电子图板、Pro/E、MasterCAM都是当今工程制造领域、模具设计与制造领域中最为优秀、应用最广泛的CAD/CAM软件。四种CAD/CAM软件各有其不同领域的特点,在实际工作中,只有合理的运用各种软件的优势,根据设计意图充分利用软件间的交互功能,才能有效地避免许多的重复性工作,对于提高工业产品设计和机械制造质量等具有重要意义。应用这四个软件进行设计、制造时,要注意尽量做到图形的完整、绘图基准的一致,特别是在进行数据转换的过程中,要做到转换文件格式的对应,并在转换后检查数据的完整性。只有这样,才能充分发挥这四个软件的优点,在机械产品设计与制造中做到事半功倍,提高设计效率和加工精度。

参考文献

[1]王彬华.AutoCAD 2006基础教程[M].北京:电子科技大学出版社,2004.

[2]窦凯.MasterCAM项目式实训教程[M].北京:电子工业出版社,2008.

[3]谭雪松.Pro/ENGINEER Wildfire中文版基础教程[M].北京:人民邮电出版社,2006.

计算机软件数据接口的应用 篇9

1 计算机软件数据接口的概念

计算机软件的数据接口, 是指在针对与相关计算机软件的研发者和用户所提供的标准化规范, 该标准能使计算机内部进行相应数据信息的传递, 使数据在计算机之间进行合理运输。计算机软件数据接口特别灵活, 在其应用于软件技术的过程中, 不仅要使数据在不同的计算机之间进行有效传递, 还要保证在数据运输的过程中的安全性。计算机软件数据接口多种多样, 十分丰富, 包括各种数据库和数据文件等等。

2 计算机软件数据接口的现状

目前, 随着用户对数据库的掌握的理解不断深入, 他们掌握了SQL语句的使用方法, 不仅可以避免应用程序时直接使用交互式的SQL语句, 而且在访问数据库对象时, 很容易产生一系列的安全问题, 产生很多不一致的数据。

在数据库软件应用开发时, 如果相关工作人员采用前台应用程序直接调用数据库对象的方式, 会产生很严重的影响。这会导致攻击者通过对应用程序的引用对象, 对其进行简单分析, 就可以很容易了解后台数据库的大体的逻辑思维结构。这样为系统的恶意攻击者提供了很大的便利。

总之, 在计算机软件数据接口的现状分析中, 我们会发现很多疏漏问题, 这些问题会影响软件数据接口的应用, 和其在应用中所解决问题的效果。我们必须对此进行原则上的分析与设计, 解决相应的恶劣问题。

3 计算机软件数据接口的设计原则

在计算机软件数据接口的设计中, 我们要要设计原则谨记于心, 贯彻始终, 才能避免相关安全隐患问题的发生。

3.1 满足客户的需求

计算机软件数据接口与客户需求之间存在着相辅相成, 互相作用的关系, 软件数据接口的应用本质目的就是为了满足顾客的需求, 而软件的应用范围又可以对计算机软件数据接口进行相应的拓展。因此, 如何做到最大限度地满足顾客的需求极为重要, 我们必须对此进行高度重视, 有针对性的对具体的问题进行具体的分析, 提出合理化的措施, 实现设计的最终目标。

3.2 面对对象的原则

为了提高软件程序的使用效果和使用效率, 在对计算机软件数据接口的应用中, 我们应该提高对其的使用效率。要学会遵循面向对象的软件接口设计原则, 能够在设计的过程中将其所体现的功能和价值进行精准和科学的阐述与解释。对于计算机软件数据的开发者而言, 提高数据接口的复杂度、详细度是提升计算软件数据接口效果的重要途径和方法, 这种方式不仅能够合理地降低各个程序模块之间的耦合度, 达到低耦合的设计效果, 同也可以降低使用难度, 且减少成本。

3.3 在设计时, 规范数据接口

计算及已经在各行各业得到普遍应用, 而且一个行业内可能会有多个不同的软件和开发商, 这就造成了标准的多样性和不规范化。各个开发商在进行设计开发时, 会采用不同的软件编程语言和数据库技术, 并且对于自己所涉及的程序也有其自定义的标准与与解析。这样, 会给计算机的普及与数据的传输造成很大的阻碍和困扰。为此, 我们要建立一个软件数据接口开发的统一标准, 这样不仅会使软件在升级中、后续的第三方软件开发商的设计中变得容易, 也会便于用户更好的管理软件, 进行维修与运行。因此, 国家可以针对不同的行业制订出一部分软件数据接口的规范, 使软件的开发商在设计的过程中负起责任, 遵守这些重要的的规范和标准。

3.4 计算机软件数据接口的高容错性和高健壮性

计算机软件数据接口的高健壮性是指其在处理输入规范之外的内容时, 可以将其有效识别, 并且保障系统正常运行。计算机系统的健壮性越高, 就越说明当有规范要求之外的情况输入时, 它便可以将输入的内容与规范不一致的地方有效识别出来, 并提出多种解决问题的方案。而容错性是指在软件设计过程中, 当输入一定的错误内容或者不符合规范要求的内容时, 数据信息系统也可以正常运行, 不会因为一步错误, 造成系统瘫痪。因此, 在计算机软件数据接口的应用设计中, 且要注意提高其高容错性和高健壮性等特点。

3.5 计算机软件数据接口要有可延续性

一切事物都是在不断地优化和完善中而取得进步的, 计算机软件数据接口的设计与开发也不例外。由于软件数据接口是以软件本身为基础的, 用户对软件的应用程度逐渐提高, 软件自身也需要不断的升级, 那么, 软件数据接口也要随之不断升级。所以在就计算机软件数据接口的设计过程中, 我们要充分考虑到后期各方因素对数据接口的影响, 充分考虑其拓展性和后期完善的空间, 以便在后期的应用和维护中, 不用大规模的变动, 通过逐渐完善拓展的方式, 去满足用户的需求, 维护其利益。

4 结语

综上所述, 合理应用计算机软件数据接口, 对提升计算机的技术水平具有重要意义, 我们可以逐步提高用户对计算机数据的应用效果。为进一步推动计算机软件数据接口的应用和发展, 还需要对其应用模式和设计原则进行更为深入的研究和分析, 争取扩大计算机软件数据接口的应用范围。

参考文献

[1]刘兵.计算机软件数据接口的应用分析[J].计算机光盘软件与应用, 2012 (01) :72+68.

[2]张莹.计算机软件数据接口的应用分析[J].通讯世界, 2016 (01) :240-241.

论计算机软件的数据接口 篇10

1 计算机软件数据接口技术应用需求

在现代计算机应用过程中, 软件数据结构差异使得软件之间的数据转换与共享得到了实现。在现代计算机技术应用中, 计算机操作软件、行业软件等软件需要同时使用以满足应用需求。但是软件数据结构差异使得软件间数据交流复杂、且易产生软件错误, 计算机软件接口技术的应用能够为软件间的数据交流共享架起桥梁, 提高数据信息处理效率、提高数据信息使用安全。计算机软件数据接口是软件开发商提供的标准规范, 以此方便用户及第三方开发商进行特定数据的交流。针对计算机软件数据接口应用需求, 计算机软件数据接口应满足灵活性、扩充性、容错性的要求, 以此实现计算机软件综合应用目标。

2 计算机软件数据接口的设计与实现

2.1 遵循计算机软件数据接口设计原则

为了实现计算机软件数据接口应用需求, 在计算机软件数据接口的设计中应遵循设计基本原则。通过满足客户应用需求的设计原则、满足面向对象设计原则、高容错性设计原则、可扩充性原则、符合行业内标准数据接口设计原则的运用, 使计算机软件的数据接口能够满足实际应用需求, 促进计算机软件行业的健康发展。在计算机软件数据接口设计中, 还需要对行业软件数据接口设计进行特别关注。根据行业软件现行接口标准进行接口设计, 以此方便软件使用者对软件的升级优化、方便使用者多行业应用软件间信息共享。

2.2 以行业软件技术标准为基础进行软件接口设计

在现代行业软件应用巨大的市场潜力面前, 我国软件开发企业加快了行业软件的开发。自动化控制软件、财务软件、企业管理软件以及电子商务软件等行业软件层出不穷, 受软件设计使用因素影响, 各软件设计过程中没有进行统一的数据规范, 进而影响了软件间的数据交流。在实际使用过程中需要不同软件间进行数据交流, 造成了软件施工单位必须进行数据转换。大量数据转换工作增加了软件使用的工作量, 影响了软件使用效率。针对现代软件行业发展现状, 行业软件设计中应注重行业应用软件数据标准的建立, 通过计算机软件企业对行业应用软件进行统一标准的确定, 促进数据的交流与共享。针对目前软件开发现状, 软件开发企业仍需进行数据接口设计。采用开放式数据接口标准, 允许提供自由选择的数据进行数据接口的设计与应用。通过数据接口模块功能实现行业软件使用中不同软件间的数据共享, 并为用户的二次开发提供数据接口, 促进行业软件应用效率的提高。

2.3 计算机软件数据接口技术方案的分析

根据计算机软件数据接口应用需求, 软件开发企业在进行软件构架设计时应注重软件数据接口技术方案的编制。以系统导出、导入需求为中心, 编制科学的技术方案、促进数据接口技术的有效应用。目前, 常用软件数据接口以纵横系统的磅单数据为基础, 通过标准XML数据文件作为导入导出标准, 采用手动、自动方式实现数据导入或导出。为了确保数据接口技术方案编制的科学性, 在进行技术方案编制中应对行业应用软件市场进行调研, 了解市面行业应用软件数据接口应用现状。以满足多软件应用为目的, 确定数据接口模式及技术方案。

2.4 计算机软件数据接口设计的执行管理

在现代计算机软件数据接口设计中, 设计方案的有效执行是保障数据接口设计目标实现的关键。针对计算机软件设计工作特点, 软件开发企业应强化数据接口设计的管理, 通过软件开发过程的质量管理方法运用、管理体系建立、模块化软件组件生产过程质量管理等工作的开展, 保障软件数据接口生产质量。为了保障计算机软件数据接口设计质量, 软件生产企业还应建立过程质量评价机制, 根据计算机软件数据接口设计方案, 对数据接口设计过程进行质量评价。了解软件编制生产中可能引发的质量问题、了解质量管理体系及管理方案的适用性, 以此为基础确保软件数据接口编制的科学性、保障编制质量。

2.5 强化计算机软件数据接口测试, 保障数据接口应用效果

作为软件业生产的重要环节, 计算机软件数据接口测试是保障数据接口应用目标的关键。因此, 软件生产企业应针对数据接口编制需求开展测试工作。模拟软件实际应用环境、实际应用数据转换, 对软件数据接口的实际应用情况进行模拟测试。通过软件数据接口测试工作的开展, 了解数据接口编程设计过程中存在的问题与不足, 为进一步完善数据接口技术应用奠定基础、为提高数据接口应用性能奠定基础。针对测试工作重要性, 软件企业还应建立测试管理体系及评测体系。通过科学的测试方案编制、有效的测试管理以及测试效果评测, 确保数据接口测试工作质量。

3 强化数据接口界面优化, 提高数据接口应用效率

在软件应用过程中, 数据接口人机对话界面是影响软件应用的效率、影响软件市场口碑的关键。因此, 在现代计算机软件数据接口设计中应注重人机对话界面的优化。根据行业软件应用需求、根据数据应用需求, 确定数据接口人机对话界面的优化设计方式及方向。例如:针对财务软件数据应用需求, 在财务软件的数据接口界面优化中应注重多界面操作、快速数据信息复制粘贴等功能的实现, 以此为基础促进数据接口应用效率的提高、促进软件市场竞争力的提高。

4 结论

在现代计算机技术应用中, 计算机软件数据接口是实现不同软件数据共享、交流的关键。受行业软件应用中多软件应用需求, 软件企业应强化数据接口的设计, 根据行业软件应用特点、针对行业软件实际操作需求, 软件生产企业应根据行业软件数据信息特点确定数据接口的编制方案。以数据接口编制方案为基础, 规范、指导数据接口编程设计工作, 提高数据接口应用效果、提高企业软件市场竞争力。

参考文献

[1]孙明浩.行业软件数据接口技术探讨[J].软件编程与应用, 2012, 4.[1]孙明浩.行业软件数据接口技术探讨[J].软件编程与应用, 2012, 4.

数据恢复的常用软件 篇11

关键词:计算机专业 软件课程 教学探索

中图分类号:G728文献标识码:A文章编号:1673-9795(2012)09(a)-0182-01

当前,计算机在我国已经普及使用,计算机已经成为工作的一个重要部分,也和人们的生活息息相关,计算机技术的发展已不在是原始的文字处理工作,而是能够更加多样化灵活化的设计工作和生活的各个角落。对于高职学生在学习过程中,应对学习的实践和应用知识作为重点,真正提高学生的实践动手能力,把计算机类专业课程的开设着重于实践教学。计算机课程的基础课应重点学习,只有打下坚实的基础,才能在培养高职计算机专业学生真正学到软件的创造性和日常工作中的技能。同时,把握计算机教学的实践性与应用性等诸多特点,需要学生从根本上掌握,根据教学经验,本文探讨在多媒体技术教学中如何实施这门课程的教学,更加有效的促进学生学习。

1 数据库的基本知识

1.1 数据库的重要性

大多数人觉得数据库没有必要开设课程设计,因为数据库设计这块软件工程、信息系统开发等的课程设计里面都包括。可从实际情况来看,往往是在这些课里用到数据库设计,但学生的设计水平不够,而又不能通过课程得以提高。因而,单独开设数据库课程设计课程很有必要。数据库设计课程的开设是提高学生综合素质和创新能力的重要教学方法之一,这是实践教学的重要环节之一,数据库教学目标是培养优秀学生的重点,学生要通过程序设计与软件工程任务的完成,达成教学目的,这是计算机网络课程的教学目标。

1.2 常用软件课程的特点

一般常用软件的功能强大,概念多、涉及的内容比较广泛,其包含的数据及处理功能和执行操作性也比较多。如常见的安全防护软件、系统软件、图文处理工具及影音软件等。常用软件在实用中,其实践性要求也比较强,学生在软件的使用过程中,得到学习和锻炼,一些常用软件升级较快,功能的实用也会发生微小变化,但软件的条理清晰,图文并茂,使用方法和技巧都符合人性化的设计,其中的一些操作技巧还具有代表性,比如,刻录是选择Nero软件,会比较轻松的烧录出光盘,软件版本升级,有时候并不是版本越高,越好用,因人而异,在一些特殊的情况下新版软件往往界面较好,功能较多,学生乐于学习,但从实用、硬件需求的角度来看,老版本的软件可能更适合工作使用。

2 实际教学相结合

2.1 选择合适的教学案例

数据库教材的选择,主要是看其教程的基础性教学,在众多的数据库教程中,大多数的教材是概论知识,其案例教学较少,基本上都是关于数据库的设计和应用来进行教学的,在教学过程中发现,这个案例虽然简单、可操作性强,但很难激发学生的学习兴趣。从增强学生的学习兴趣出发,可以在教学中选择或者编制一些贴近专业或者生活的案例,通过案例把抽象的原理、概念等具体化,从根本上让学生清楚地认识到原理、增进学习的兴趣和吸附力,更加深入的掌握基础知识的含义或意义,并有利于引导学生在实践中理解原理、从根本上提高学生的实践技能和水平。

自己参与的事情,往往印象比较深刻,由于学生对自己录制的动画会产生深刻的印象,并且通过学生自己动手来提高注意力,同时,在操作过程中也会产生很多疑问,在学习过程中,通过这些疑问的解答,会更加深入的调动学生的思维方式,增强其操作自信心,这不仅提高了学习的积极性,提高了教学效率,更加完美的实现教学目的。在实际教学中,教师要有创造性和选择性的进行教学,而不是“照本宣科”统一教学,利用现代化的设备,进行教学演示和实践操作,让学习自己主动的与实际联系起来,并提出自己的疑问,比如在文件恢复软件的操作与实用教学中,老师故意给学生留下一个悬念,让学生都为自己曾经误删的文件而放弃的心态再次活跃起来,有什么方法可以将误删的文件恢复,这锻炼了学生的自主学习能力和自我解决问题的能力。常用软件在实际教学中除了常用的演示法、提问法还会用到对比的教学方法,比如在windows操作系统的安装教学中,目前大家都在使用GHOST硬盘复制与还原的安装方法,原因是这种方法比用净化版的系统安装要节省很多时间,如果通过对比方法教学给学生进行两个不同方法演示,学生就会体会两种安装方法的优劣,对比教学主要是以学生为主导,以教师为辅助,让学生自己来判断问题的所在,形成自己处理问题的观念,这种教学方法使学生在主动参与中成长,在自然发展中成熟。

每个教学环节完成以后,需要及时肯定学生的作品,作出合理的评价,让学生分享自己的学习成果与喜悦的心情,比如将自己设计的GIF动画,视频拼接,手机铃声展示,得到充分的肯定与认可。通过活动帮助学生肯定自我、欣赏自我,灵活地运用各种手段来取得良好的教学效果,增强学生的实践能力。

2.2 充分利用网络平台进行教学

大多数学校都为每位老师提供了一个综合的网络教学平台,该平台为教师和学生进行网上互动式数学活动提供了便利。我们将课程和大量的教育资源整合到网络教育平台上,为学生提供一个网络支持下的数字化教学环境,即有利于学生自学能力的培养也方便师生交流。目前。已经通过学校的网络教学平台将数据库原理与应用课程相关的课程资料(大纲,运行表等)、课件、实验用数据库,实验报告模板等,按照教学进度分批次上传到平台上,供学生下载,并通过平台发布各种课程通知,回答学生在该平台上提出的课程相关问题。并计划通过网络教学平台,布置和批阅作业,充分利用网络教学平台提供的丰富教学资源,为学生自学刨造条件,提高教学效果。

3 结语

计算机类专业学生需要扎实的专业知识和实践能力,在日常的教学过程中,我们要求在传授知识的同时要调动学生主动学习的积极性,在学好理论知识的同时,积极的实践来消化学习的知识,课堂教学多样化,课堂内容丰富,使学生成为学习的主人翁,提高教学质量和教学效率,教师在教学过程中要不断地创新,通过实践找到最能调動学生积极性的元素,推动教学方法的革新,注重软件的使用技巧,维护与更新,以求达到更好的实用效果。学生在学好基础内容的前提下,主动开展自主学习,拓展与创新知识。

参考文献

[1]王艳,沈晓晶,赵慧娟.计算机专业数据库原理教学体系及教学模式探讨[J].计算机教育,2012(2).

远程教育数据分发的软件实现 篇12

1.1 文件的分包

其实把文件逐块送到缓冲区里就相当于把文件打成UDP包,包里的文件数据的实际大小就是缓冲区的长度,这里我们取缓冲区的长度为5000个字节。也就是先从文件里取出5000个字节送到缓冲区,等到套接口把缓冲区里的数据发送出去以后,就再取第二个5000字节到缓冲区里,直到把文件取完,然后再从头从新开始将文件切割打包传送,这样不停地循环,这就是轮播。下面是实现数据分割的源程序:

1.2 数据包的结构

现在已经把文件数据内容送到缓冲区,但还得加上别的信息才能发送,因为UDP是无连接,通信不可靠,只有应用程序自已解决传输可靠性问题,那么必须给数据包加上控制信息。

对于一个分成N个包的文件,前N-1个包的“文件数据长度”都是5000,只有最后一个包的“文件数据长度”可能不是5000,因为每个文件总的字节数不可能正好是5000的整数倍,这时就必须告诉接收端数据包中实际有用数据是多少字节,所以要加上“文件数据长度”这个控制信息。在网络传输时会有延时,而各个包走的路线又是不相同的,就有可能发生后发的数据包先到的情况,这里只有加上包的序号,接收端才能正确重组原文件,至于“文件名”“包的序号”也是必不可少的,接收端的很多处理都是根据这两个信息来完成的。

1.3 文件发送

文件打好包以后就可以将数据广播出去了,这要用CSocket类的发送函数来实现,操作如下:

1.4 接收端文件重组

大文件在传输时肯定会有包丢失,所以发送端如果只播一遍的话,根本就不可能在接收端正确完全的接收到发送端所传送的文件,所以这里才采用轮播的方式。但这里又引入了新的问题,一是,程序怎样知道哪些数据包是以前接收过的;二是,程序怎样来判接收何时结束。为了解决这两个问题,这里设置了AdjuvancyFile文件,这是接收端在接收数据时产生的一个辅助文件,用来记录数据的接收进度信息。

AdjuvancyFile的前8个字节放的分别是剩余的包数和包总数,其中剩余的包数是用来判断文件接收何时结束的,包总数可用来计算接收百分率。那么除这8个字节以外其余字节记录的是各数据包的接收状态,每个包的接收状态用1个bit位来表示,有以下两种情况:一是包已经收,那么这个包对应的bit位被置1;二是包还未收到,那么这个包所对应的bit位被0。一个字节有8bit,那么记录“接收状态”所需要的字节数=包总数÷8+1,"+1"是因为并不一定包总数能被8整除。为了进行位运算方便,将AdjuvancyFile文件最后一个bit位对应于第一个(序号为0)数据包,倒数第二个bit位对应于序号为1的数据包,以后对应的对应以此类推。如下为实现判断数据包是否已接收过的程序:

接收端重组文件时要根据包的序号来定位指针,定位这个指针就用fseek()函数,它的格式如下:

fp是文件指针,数字5是指针要移动的字节数,L表示5是个长整型数,第三个参数是指针移动的起点,

0表示从开头移动,1表示从当前位移动,2表示从文件尾移动。如果数据包序号是从0开始的,那么文件指针的定位,就用如下语句实现:fseek(fp,包序号×5000,0)。

2 结论

以上都是对于单线程传送的描述,用此方法所传送的单个文件的大小最大可达到2G,对于远程教育的需要来说,仅是单线程传送单个文件是不够的,本文要实现的是多个文件并播,但是只要解决了单个文件的问题,多个文件并播也就是以上的重复而已,这里就不再赘述。本软件的测试实验是在局域网的任两台主机上进行的。测试时,实现的是四个文件同时并播,服务器程序中的发送IP地址是本局域网的所有主机的广播地址,这样在一台机子上运行的服务器程序所发送的文件能被局域网上的任何一台主机所接收,只要它们都运行客户端程序。经过测试,本文的分发软件达到了即定的要求,传输准确可靠。

参考文献

[1]李媛媛.Visual C++网络通信开发入门与编程实践[M].北京:电子工业出版社,2008.

上一篇:远程I/O通信下一篇:培养合格村官