使用实现范文

2024-06-18

使用实现范文(精选11篇)

使用实现 第1篇

(1.Yueyang Vocational Technical Colledge,Hunan Yueyang 414000;2.Yueyang Civil Affairs Bureau,Hunan

Yueyang 414000)

0 引言

当今网络时代,存储技术正在发生着革命性的变化,并进入了一个全新的时代。SAN(存储区域网络)是近来业界十分引人注目的技术,它一方面能为网络上的应用提供丰富、快速、简便的存储资源;另一方面又能对网上的存储资源实施集中统一的管理,成为当今理想的存储管理和应用模式。调查显示,存储网络是计算机网络专业一个新兴的热门方向,企业急需掌握存储技术的人才,就业前景好,待遇高。为适应时代的需要,我校NCIE认证班前瞻性地开设了系统的网络存储课程,包括SAN网络基础和SAN网络技术,从学习知识的连续性上培养学生适应社会的优势。

双机热备是存储技术中十分重要的一部分,我们将双机热备实验列为SAN网络应用实训内容的一部分,具有重要意义。

1 什么是双机热备

双机热备从广义上讲,就是对重要的服务使用两台服务器互相备份,共同执行同一服务。当一台服务器出现故障时,另一台服务器承担服务任务,在不需要人工干预的情况下,自动保证系统持续提供服务。从狭义上讲,双机热备特指基于Active/Standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或使用一个共享的存储设备,同一时间只有一台服务器运行。当运行着的服务器出现故障时,另一台服务器通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证短时间内完全恢复正常使用。

双机热备技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜(也可没有,而是在各自的服务器中采取RAID卡)及相应的双机热备软件组成。操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据通过磁盘阵列集中管理和备份。数据集中管理通过双机热备系统,将所有站点的数据直接从中央存储设备读取和存储,并由专人管理,极大地保护了数据的安全性。用户数据存放在外接共享磁盘阵列中,一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。

双机热备系统采用“心跳”方法保证主系统与备用系统的联系。所谓“心跳”,是指主从系统之间相互按照一定的时间间隔发送通讯信号,表明各自系统当前的运行状态。一旦“心跳”信号表明主机系统发生故障,或备用系统无法收到主机系统的“心跳”信号,则管理软件认为主机系统发生故障,主机停止工作,并将系统资源转移到备用系统上,备用系统代替主机发挥作用,保证网络服务运行不间断。

2 为什么要做双机热备

数据畅通、访问及时是各企事业运营管理的重要任务之一,工作正常运行直接影响到管理运作质量和管理的经济效益,双机热备成为了一个理想的选择。

双机热备针对的是服务器的故障。技术人员在现场的情况下,排除故障往往需要几个小时以上。如果技术人员不在现场则恢复服务的时间更长。而对于一些重要系统而言,用户很难忍受长时间的服务中断。因此,需要通过双机热备来避免长时间的服务中断,保证系统长期、可靠的服务。

一些其他的防护措施如磁盘阵列(RAID)、数据备份虽然非常重要,却不能代替双机热备的作用。

3 Plus Well Cluster软件介绍

Plus Well Cluster容错软件提供了一个完全容错的软件解决方案,并提供数据、应用程序和通信资源的高度可用性。它不需任何特别的容错硬件,并会自动提供错误检测和现场恢复。出现故障时,它会将保护资源自动转换到一个根据预先设定好优先权的系统。切换资源时,会经历一个短暂的休眠,但完成切换操作后,它会在所选的节点上自动恢复操作。

(1)功能特性。该软件是高性能集群产品,主要保证应用系统的高可用性,即保证应用系统的连续性。它主要通过心跳线传输信号判断当前应用系统的状态。

(2)技术领先性。北京蓝科泰达科技有限公司是国内唯一一家在热备行业完全具有自主产权的企业,在国际上也具有领先的水平,最先提出了快速资源和本地资源的概念。

(3)稳定性。该软件进行了严格的测试,又经过客户的实践检验,表现出了极强的稳定性,广泛应用于军事、金融、通讯、政府、工矿企业。

(4)界面友好性。该软件在同业当中首先采用了中英文双语界面,界面简洁,配置、维护方便简单。

4 使用Pluswell Cluster实现双机热备实验的优势

在实验室实现双机热备实验难度较大。当前市场各种双机热备软件很多,但一般价格昂贵,操作界面不友好。Pluswell Cluster是一个国产的双机热备软件,可在网上下载其免费试用版,其界面友好,支持中英文双语显示。实验证明,其在本校实验室环境下运行稳定,各种备份都能较好实现,是让学生实际操作、体验实验过程效果的较好选择。

5 实验内容

5.1 实验环境

(1)两台服务器;

(2)网络通讯正常,IP地址设置完毕(最少具有两片网卡,其中一片网卡用于配置公网,同时兼做心跳线;另一片网卡直联,专用于配置心跳线,同一台服务器两片网卡的IP地址必须设置在不同网段。)

5.2 实验步骤

(1)Pluswell Cluster软件的安装及使用手册的阅读;

(2)双网卡的安装,心跳线的制作、连接,两块网卡IP地址的设置;

(3)双机热备的实现。Pluswell Cluster分为心跳界面和资源界面。配置完成后,心跳界面会有两台服务器的图标,中间的两根连线,就是心跳线,绿色表示状态正常,心跳变红表示备机出现故障。

5.2.1 心跳配置(TCP/IP心跳)。

(1)菜单“心跳--创建心跳”;(2)“心跳类型”选择“TCP/IP端口”,主机IP选择心跳所用IP地址;(3)在备机空白框手动输入备机计算机名,备机IP处会自动显示出该机的所有IP地址,选中对应的IP地址,端口号会自动配置。

5.2.2 卷锁配置

卷锁是对共享存储文件系统的一种保护机制,避免了共享存储同时被来自两个节点系统的访问而造成对文件系统的损坏。卷锁创建完后,在主机上可正常读盘柜,备机不显示盘柜。主备机要对共享磁盘指定相同的驱动器符号。

(1)菜单“普通资源”-“卷锁”,卷标识可选择默认,如建多个卷锁,最好改为盘符或其他易于管理的名称;(2)选择磁盘阵列对应的磁盘号,磁盘卷号会自动出现。

5.2.3 虚拟IP配置

虚拟IP,又称可切换IP、飘移IP,是Pluswell Cluster虚拟出来的IP地址,为服务器对外提供服务的IP地址,即客户端访问的IP地址。虚IP要和下面第五步选中的IP在同一个网段(三个IP在同一个网段),其他设置选择默认即可。

(1)菜单“普通资源”-“切换IP”,在可切换的IP处输入虚拟IP;(2)输入子网掩码,即虚拟IP的子网掩码;(3)选择相应的网络适配器和对应的IP地址。

5.2.4 文件共享资源设置

在盘柜上配置文件夹的共享权限后,能保证经过双机切换权限不丢失。创建资源之前应先设置文件夹权限,创建资源完毕不能再修改权限。

(1)普通资源”--“文件共享”;(2)输入共享文件名--〉创建。

5.2.5 NT服务资源配置

NT服务是指可被Pluswell Cluster监控和管理的系统服务,在配置时应根据实际情况选择对应的服务。所有被监控和保护的NT服务的启动和停止,都应通过Pluswell Cluster来完成,以保障整个系统的安全和稳定。

(1)“普通资源”-“NT服务”;(2)在“本机NT服务”里选择对应的服务资源;(3)将选择的资源添加到“保护的NT服务”里。

5.2.6 应用程序资源配置

应用程序主要指系统中可执行的EXE程序文件,需通过脚本文件来调用这些程序。

(1)“普通资源”-“应用程序”;(2)填写资源名称,选择编写的启动/停止脚本;(3)把应用程序的进程名写上,点击“添加进程”。

6 测试

(1)手动切换测试。测试方法:进行手动切换,正常情况下,资源会在主机停止,在备机依次启动资源。

(2)拔网线测试。测试方法:拔掉主机外网网线,正常情况下,资源会在主机停止,在备机依次启动资源。

(3)关机测试。测试方法:关闭主机,正常情况下,资源会在备机依次启动。

7 实验效果

经在本校05、06级两个NCIE认证班实际实施,学生自己动手配置,并观察记录实验过程,证明“使用pluswell cluster实现双机热备”达到了预期的实验教学效果,很好地解决了实验经费不足、实验对机器带来的危险性等问题。

参考文献

[1]Marc Farley著.孙功星等译.SAN存储区域网[M].北京:机械工业出版社,2001.

使用KML实现多细节层次技术 第2篇

使用KML实现多细节层次技术

介绍了KML的`功能和LOD技术原理及其优势,论述使用KML实现多细节层次(level of detail,LOD)技术.避免了复杂算法的实现,提高了数据在Google Eagh中的加载速度.同时把LOD技术应用到数字九寨沟演示系统中.

作 者:袁俊超 苗放 李玉林 YUAN Junchao MIA0 Fang LI Yulin 作者单位:成都理工大学信息工程学院,四川省地球探测与信息技术重点实验室,四川,成都,610059刊 名:地理空间信息英文刊名:GEOSPATIAL INFORMATION年,卷(期):20097(4)分类号:P208关键词:Google Each KML LOD 数字旅游

使用实现 第3篇

2008年底,中国外汇储备达1.95万亿美元,高居世界第一,远远超过第二名日本的1.03亿美元,而且还在迅速增长。这样庞大的国家财富对于中国而言,不仅是抵御全球危机的坚实后盾,更是中国趁由金融危机引发的全球经济低迷和需求放缓,加快中国资本的全球化战略布局的有利时机。从这个意义上讲,这不仅是破除中国在全球贸易分工体系与金融分工体系中处于劣势的关键抉择,更是提高资本投入产出效率,推进经济增长向集约化转型的必由之路。

转变外储管理战略思维

从外储资产的使用效率看,外储安排的资产分布、货币组合与投资组合需要动态优化。外储理想的投资安排应该是多种货币组合,多种资产组合,包括实物资产和金融资产、战略性资产和战术性资产。然而,多年来中国以较高成本获得的外国直接投资所带来的资金和贸易盈余顺差(实物资源净输出)大多形成储备资产,又通过购买美国政府债券等方式将资本输出,为美国的贸易赤字提供融资,这实际上是一种低效率,高风险的国际资本循环方式。

目前,中国外汇储备一半以上投资于美国国债,美国财政部最新公布的国际资本流动(TIC)报告显示,截至2008年10月,中国持有美国国债6529亿美元,较2008年9月份的5870亿美元增加659亿美元,继9月超过日本后,继续保持美国国债的第一大持有者地位。与国际资本(FDI)投资形成高利润回报相比(据统计在2000--2006年期间,美国对外金融资产收益率高达9.8%),美国国债收益水平较低大约为3.5%左右,这等于是用高收益的股权资产交换低收益的资产,利益分配严重不对称。

事实上,衡量外汇储备资产对一国的福利效应,不仅要看外汇资产本身的外币资产收益率,还要考虑外汇资产的机会成本,即留在国内的资产收益。如果留在国内的边际收益率大于将这些资本置换成外汇资产带来的收益率,就意味着国民福利的损失。

按照国际清算银行的估算,中国外汇资产的国外收益率(主要是购买美国国债或存放于外国银行)一般在3.5%左右。国内投资的收益率可按多种指标估算,除了央票收益率外,还参照工业资金利润率、工业资金利税率以及其它资本收益率等。这里,笔者以“中国经济观察课题组”关于中国资本回报率数据,以及国家外汇管理局与央行公布的数据为基础,测算了中国未来五年外汇储备的福利损益。从中可以看出除了央票收益率为正外,其它均为负值,这一福利损失就是外汇资产积累过度下的机会成本。如果外汇储备使用错配,每年就会损失上万亿的机会收益。2008年全部损益预测值为-16235.8亿元,2009年预测值为-19066.0亿元,2010年为-22908.8亿元。

从外储资产的投资主体上看,未来投资主体一定要向居民用汇与企业用汇转变。从国民经济核算恒等式中居民消费、企业投资、政府投资三个角度考虑配置外汇资源,中国的外汇储备主要由政府投资购买美国国债和其它等价物,这种模式使风险过于集中。“藏汇于民”和“央企国际化”是化解外汇储备过高矛盾的两大重要渠道。当前,尤其是通过大型央企国际化实现对矿产资源的战略投资,来化解外汇储备过高的风险,不失为一计良策。例如,中铝公司并购力拓公司,是为拓宽中国外汇储备投资渠道进行了一次有意义的探索。

重构中国产业效益

中国是全球铁矿石、铜、天然橡胶和大豆的最大进口国,是原油的第二大进口国。同时,也是棉花、玉米、小麦、氧化铝、镍等大宗商品的重要进口国。其中,对原油,铁矿石,氧化铝、天然橡胶和镍的进口依存度在40%~60%之间。根据相关资料统计,中国探明的铝储量占全世界2.7%,且铝土矿的品位差,开采成本高,而铝的消费量却占世界30%。中国探明的铜储量占世界0.54%,铜的消费量却占世界26%。石油剩余可采储量仅占世界总量的1.3%。

中国的自有资源难以支撑经济高速发展。同时,由于中国对国际资源控制力不足,国际市场定价权缺失,在国际市场竞争中地位十分不利。因此,积极稳妥地抓住近期国际资源价格下滑的有利时机,走出国门收购海外的矿产和能源资源,通过合理使用外汇储备来尽快建立全方位的要素资源的战略储备制度,为推进工业化进程积累廉价资源的储备,建立稳定的供给机制和定价机制。

目前,中铝赤巨资并购力拓案引发全球关注。尽管中铝并购力拓未来还会面临许多压力和不确定性,甚至还将面临资源价格下跌,投资亏损的风险,但是,在全球资源需求萎缩情况下,提前进行全球的资源布局,使得中铝并购力拓的战略意义远远大于经济意义。这起最大的中国海外并购案正凸显了金融危机造成的全球资源需求萎缩情况下,中国藉此寻求全球矿产资源突围的战略前瞻性。

使用实现 第4篇

关键词:Excel,VBA,函数,批量打印

如果你在做这样的工作:为每个客户打印信封、向每个参加会议的客户发送邀请函以及大量打印成绩通知单、标签、付款通知单……,那么可能就会因庞大的数据量而导致长时间重复单调的工作。客户的数量可能是成千上万,每个人的地址都不一样;参加会议的人到会时间和住宿安排各不相同;每个学生的成绩、排名以及评语也不尽相同。那么要根据这些大量的数据来制作标签、信封、请柬、付款通知单、成绩通知单等进行打印该采取一种什么样的方法比较方便快捷呢。

这里,我们利用老师期末给每个学生打印成绩通知单为案例,分析说明在Excel中如何实现批量打印。每到期末,老师都需要给每个学生家长发放一份通知书,其中包括学生的成绩、排名、评语等内容。以前大家往往是采用手工填写或者打印,必须要逐一对学生成绩进行输入、排名、打印,工作量非常大。实际上利用Excel的一些函数以及简单VBA代码,就能实现批量打印通知书。

1 整理需要使用到的数据记录

通常一份标准的成绩通知单,一般包括学生成绩、排名以及老师的评语。在打印通知书之前,先做好资料整理这些准备工作。启动Excel,新建一个工作薄并命名“2010—2011第一期通知书打印”。将其中一个工作表命名为“学生成绩”。如果有现成的Excel数据,就导入学生成绩数据,如果没有现成的数据,当然就需要我们手工输入了。下面以本班有50名学生为例,我们对学生的成绩进行总分、排名。在“总分”下面的G2单元格中输入求总分公式=“SUM(C2:F2)”,在“排名”下面的H2单元格中输入公式“="第"&RANK(G2,$G$2:$G$52)&"名"”,然后在下面对应的单元格区域中进行公式复制,就可以求出所有学生的总分以及在本班级中的排名了,如图1。

如果通知书中还需要其它的数据,比如老师的评语。那么再新建一个工作表,命名为“评语”,然后在“学生成绩”工作表中把学生名单复制过来,在C列中输入老师对每个学生的评语,如图2。

2 设计通知单打印模板

每个学校的通知书肯定不是完全相同,但是大体结构上是差不多的。新建名为“批量打印”的工作表,然后在此表中根据自己学校的要求,输入家长通知书的必要内容,如标题、开头语、成绩表格、评语表格以及家长填写意见的位置。这里设定A1:I30单元格区域中进行布局,如图3。

由于要实现批量打印,必须在此通知书模板中添加一个通知单序号选择单元格,这样就能够通过这个单元格中输入不同的序号,从而能够显示不同学生的成绩通知单,在J2单元格中输入“请输入序号”,然后将K2单元格作为序号选项单元格。为了将前面“学生成绩”表中每个学生的数据自动引用过来,在通知书中学生成绩栏的“学号”下面的A12单元格中输入公式“=OFFSET(学生成绩!$A$2,$K$2*1-1,0)&""”。下面,我们将学号作为引用相关数据的依据,在“姓名”下面的B12中输入公式“=VLOOKUP($A$12,学生成绩!$A$2:$I$51,2,0)&""”,引用相对应学号的学生姓名;在第1门课“计算机基础”下面的C12中输入公式“=VLOOKUP($A$12,学生成绩!$A$2:$I$51,3,0)&""”;在第2门课“程序设计”下面的D12中输入公式“=VLOOKUP($A$12,学生成绩!$A$2:$I$51,4,0)&""”,分别引用相对应学号的该位同学前两门课程的成绩。并以此类推,然后在存放老师评语的A16单元格中输入公式“=VLOOKUP($A$12,评语!$A$2:$C$51,3,0)&""”,从“评语”工作表中引用该同学的评语。这样,当在K2单元格中输入不同的序号时,就会在通知书模板中显示相对应的学生成绩通知单。

在这里,我们使用了OFFSET、VLOOKUP等函数,函数“=OFFSET(学生成绩!$A$2,$K$2*1-1,0)&""”的作用是根据K2单元格中的数值,而自动引用“学生成绩”表对应的学生学号,其中“$K$2*1”则是针对引用数据之间相隔行数而定的,如果需要引用的每条记录之间相隔2行,则将其修改为“$M$3*2”。而函数VLOOKUP作用是根据函数“=OFF-SET(学生成绩!$A$2,$K$2*1-1,0)&""”得到的学号作为关联依据,在成绩表以及评语中自动引用相应学号的学生的成绩以及评语资料等相关数据生成通知书。在这里就不再对函数用法做详细的介绍。

3 利用VBA代码高效率批量打印通知书

在前面通知单模板设计的基础上,就可以利用控件进行批量打印通知单的工作了。我们设定K6、K7中的数据分别作为批量打印的开始序号和结束序号,打开窗体工具栏新插入一个按钮,为了方便我们使用,按钮文字编辑为“批量打印”,将其拖动到合适的位置。右击此按钮控件,在弹出的快捷菜单中选择“指定宏”命令,然后选择“编辑”,在弹出的VBA编辑窗口中编辑以下批量打印命令:

这段代码就是根据我们设定的k6、k7单元格中数据来控制打印范围。输入完毕后,关闭此VBA编辑框。然后选择通知书的打印区域,最后在k6、k7单元格中分别输入需要批量打印成绩通知单的起始序号,如1~50,单击“批量打印”按钮,就可以立即打印出所需要的50名学生通知书了。

虽然这个案例仅仅是针对成绩通知单的批量打印而言,但是实际上利用这种方法,稍假修改,就可以灵活运用到其它一些领域的批量打印工作中,如打印标签、信封,请柬,付款通知单等等,通过这个技巧能够大大提高工作效率,减少在工作上出现误差的机率,把我们从单调重复的繁琐工作中解放出来。

参考文献

[1]何非,叶萃娟.Excel VBA高效办公从入门到精通[M].北京:中国青年出版社,2006.

[2](美)沃肯巴赫.Excel2003高级VBA编程宝典[M].盖江南,王勇,译北京:电子工业出版社,2006.

使用实现 第5篇

书坊乡认真抓好“村官”培养使用实现三个转变

书坊乡积极发挥大学生“村官”思想活跃,精力充沛的特点,加强对“村官”的培养使用力度,在培养使用上:一是常教育、多关怀,使“村官”能安心。把“村官”列入乡干部进行管理,指定一名班子成员具体进行跟踪联络,经常对他进行思想政治教育,要求他参加乡村开展的学习活动,同时在工作、生活上多关心帮助,营造宽松、祥和的工作生活环境。二是给位子、压担子,使“村官”能用上。明确“村官”的工作职责,在政治上给予关心。按照要求,及时进行了村主任助理和村团支部副书记的任命,列席参加村两委会议和乡党委、政府召开的村主干会议,切实把“村官”用好用活。三是手拉手、帮跟带,使“村官”能干好。为使“村官”能尽快适应农村工作,村主干和几名经验丰富的退位老干部主动和他结对,灌输农村工作经验,指导农村工作开展,使“村官”能及时进行工作角色,融入全局工作。通过培养使用,“村官”实现了三个转变。一是明确了自己的身份,实现了由学生到农民的转变。能把自己置身于一个普通农民的角色,主动参与了烟叶生产、水稻种植和清沟疏渠等农业生产劳动,在劳动中贴近农民,在劳动中掌握农业基本常识。二是提高了自己的本领,实现了由参谋到主谋的转变。能积极开展调查研究,熟悉农村环境,尤其是在新农村中心村建设中,能积极配合村主干抓好规划实施,提出了在中心村设立公开栏等一些合理化的意见和建议。三是体现了自己的价值,实现了由配角到主角的转变。针对村务档案管理混乱,主动承担起建立了党员、计生对象、乡土人才、协议合同等信息库的任务,及时公开党务、村务内容,使基层组织建设逐步向规范化、正常化方向发展。

书坊乡:胡雄华

使用VB编程实现文件属性修改 第6篇

关键词:VB,DIR函数,SetAttr函数,文件夹属性

通常用杀毒软件查杀U盘后,U盘中的一些文件夹会被隐藏掉,文件夹的属性被设成了系统属性,导致一些用户认为U盘中的数据已丢失,即使知道有数据,也不知道如何看到数据以及如何将隐藏数据显示出来。

解决问题的方法,利用VB编写了一个程序,采用可视化易操作的特点来制作一个去掉文件夹的系统、隐藏和只读属性的工具。

1 问题的实现方法

现在很多参考程序采用驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框(FileListBox)三个控件组合而成的自定义对话框来显示隐藏文件[1],但在目录列表框中却无法显示隐藏文件夹。

查看隐藏文件或文件夹采用的方法是使用VB的DIR()函数与ListBox控件相结合的方式来查找,将找到的文件夹显示在ListBox中。

1.1 Dir()函数的使用

Dir()函数返回一个String,用以表示一个文件名、目录名或文件夹名称,其必须与指定的模式或文件属性、或磁盘卷标相匹配。语法如下:

Dir[(pathname[,attributes])]

其中pathname为可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹以及驱动器。如果没有找到pathname,则返回零长度字符串(″″)。

attributes可选参数、常数或数值表达式,其总和用来指定文件属性。如果省略,则返回匹配pathname但不包含属性的文件。Attributes值如表1所示。

这些值可以综合运用,当一个文件隐藏且又是系统属性时,则属性设置vbHidden+vbSystem。

1.2 设置文件夹属性

VB中文件或文件夹属性的设置采用SetAttr函数[3]来进行。

Public Sub SetAttr(ByVal PathName As String,ByVal Attributes As FileAttribute)

其中PathName是必需的,指定文件名的String表达式,PathName可以包含目录(或文件夹)和驱动器。Attributes是必需的,可以是常数或数值表达式,其和用来指定文件属性。

2 具体实现

打开VB,新建一窗体Form1,在Form1中加入一个text、一个ListBox和一个command控件,其名称分别为text1、list1和command1。

(1)text1中用于输入要操作的驱动器根目录,例如:c:,在command1中输入以下代码:

当运行程序单击command1按钮时,ListBox控件中就显示出其根目录的所有文件和文件夹。

(2)单击ListBox控件中所列出的文件夹,将其目录存入text1中,利用SetAttr就可以设置文件夹属性,代码如下:

3 结束语

在VB编程中实现显示隐藏文件夹和去除文件夹的隐藏与系统属性的方法,通过程序设计的工具能很方便地解决由于U盘病毒造成的文件夹隐藏的问题。

参考文献

[1]求是科技.Visual Basic6.0程序设计与开发技术大全[M].北京:人民邮电出版社,2004.

[2]求是科技,刘韬,骆娟.visual Basic实效编程百例[M].第二版.北京:人民邮电出版社,2004.

高效使用GWT的研究与实现 第7篇

1 GWT概述

GWT是Google Web Toolkit的简写,意即Google网页工具包,是Google公司发布的开发Web应用程序的产品。目前人们开发Web应用程序,可能90%的时间用在浏览器处理的程序上。此外,构建JavaScript代码库和AJAX组件比较困难,非常耗费时间,而且维护工作量巨大,重复使用率低。GWT的出现,彻底解决了以上问题,开发人员通过使用Java编程语言可以快速构建和维护复杂但高性能的的JavaScript应用程序,降低了开发难度,从而使开发人员从繁杂而又重复的工作中解放出来,更加专注于程序性能的优化。

2 GWT的工作原理

与仅在文本级别运行的JavaScript Minifier不同,GWT编译器会把用Java语言编写的AJAX应用程序在GWT数据库中执行综合性静态分析和优化,最后编译为JavaScript,而且生成的JavaScript加载和执行均比等效手写的JavaScript更快。GWT编译器采用交叉编译的方式,这样就提高了开发的可维护性和模块性,而不会导致运行时性能的损失。

3 GWT的特性

GWT之所以越来越受到开发人员的青睐,主要是因为它具有许多其他开发工具难于匹敌的特性。首先,GWT提高的组件库易于开发出动态、可重用的、漂亮的UI;其次,使用GWT开发时可以方便的像传统调试JAVA代码的方法进行调试;再次,GWT开发出来的程序具有高度的兼容性,可以兼容绝大多数的浏览器;最后,GWT具有高度的可扩展性,除了可以使用GWT提供的API外,还可以利用JSNI JavaScript语句直接嵌入至Java代码中。

4 高效使用GWT的途径

4.1 巧妙使用CSS

当我们开发Web应用程序时,只使用HTML就能构建出富有创意的界面,但容易导致HTML标签的混乱,影响其可读性和可维护性。CSS(Cascading Style Sheets,层叠样式表)是解决这一问题的利器。通过CSS,开发人员可以轻易地设计出漂亮的Web页面样式,更为重要的是,不同的程序之间可以共享这些样式,这就大大提高了开发的效率。因此,要提高使用GWT的效率,我们就必须将GWT部件与CSS关联起来。

在HTML中使用CSS有以下途径:一是在HTML文档中使用style标签;二是把CSS代码嵌入到被编译的模块中;三是把定义CSS的内容放在一个*.css外部文件中,然后把这个文件放在public目录中,以便以在编译时包含它,然后在,在HTML文件的head元素中通过添加link标签导入此CSS文件,方法如下:

在CSS中,可以通过元素的class或id属性来选择元素。而在使用GWT部件时,需要为部件设置属性。为此,GWT采用了元素的class属性,也被称为部件的样式名。每个部件都有三个设置样式名的方法。

setStyleName:用于设置部件的样式名。如果部件已有样式名,则删除以前的样式名。

addStyleName:用于为部件添加样式名。每个部件都可以拥有多个样式名,因此部件以前的样式名会得到保留。

removeStyleName:用于从部件中删除样式名,但保留其他样式。

如下例,GWT就可以很容易地设置Web页面的界面了。

以上代码就建立了一个名为gwt-TitleBars的CSS样式,那么在构造函数中就可以引用这个样式了,引用的语句如下:

setStyleName(”gwt-TitleBars”);

这样,当浏览器应用该程序时,使用该段代码设置的部件底部边框都为灰色,而上外边距高为30像素,宽为400像素。

4.2 扩展GWT

GWT并不是Web程序开发的框架,而是一个工具箱,这个工具箱具有强大的融合其他技术的能力,据此,我们可以对其进行扩展,以提高其开发的效率和便利性。

4.2.1 利用DOM类构建新部件

我们可以利用合成法构建新的部件,即将几个原有的部件连接起来构成新的部件。但这种方法必须以已有部件为前提,从而大大限制了新部件的开发。GWT为此提供了一个名为DOM的类,利用DOM类就可以在一组HTML标签的基础上构建新部件。新部件通过使用sinkEvent方法能够主动纳入GWT的事件系统,而不会依赖其他GWT部件。假如我们要构建一个名为example的新构建,构造器中的代码如下:

其中setElement方法将这个新的锚标签设置为部件的主元素,sinkEvents方法表示新部件接收哪些事件,setStylename方法则设置了新部件的默认样式名。

4.2.2 使用JSNI

由于浏览器之间的不一致性,DOM构建的新部件不一定能在浏览器中访问到所需的一切,为此,GWT提供了JSNI(JavaScrip Native Interface,JavaScript本地接口),让开发者能够直接访问浏览器中的JavaScript函数和对象。在GWT中,JSNI编写方法时要声明该方法为一个本地方法,然后在注释中提供相应的JavaScript实现。例如要让浏览器弹出一个警告框,代码如下:

在GWT中运行JavaScript,windows对象是隐藏的,因此GWT提供了$wnd对象来引用用户正在查看的windows对象。

4.2.3 提供对浏览器的兼容度

为了兼容多种浏览器,GWT提供了一种机制,该机制可以自动地针对不同的浏览器平台使用不同的代码,从而避免了为不同的浏览器编写不同的代码。针对不同的浏览器之间的差异,可以在项目的XML模块文件中,使用replace-with元素来指定。开发人员也可以在自己的模块文件中使用这一方法,但在使用中最好遵循策略设计模式。

4.2.4 充分发挥其他JavaScript库的作用

众多的JavaScript库有着各种各样的功能,是我们可以充分使用的资源。如果能充分利用这些JavaScript库,我们可以节省很多编写代码的时间。例如我们在向服务器请求进行密码认证的时候,如果是通过HTML表单,以纯文本形式把密码发送到服务器,则很容易被人截取导致泄密。这时候我们可以调用JavaScript现有的安全散列函数来对密码进行加密,这样大大增强了密码传输的安全性,同时又不会增加编写函数代码的工作。

4.3 提高应用程序国际化

国际化是指针对不同的语言,对使用GWT开发的Web应用程序进行文本字符串转化和样式格式化。通过国际化后,应用程序就能提供给世界各国的用户使用了。要对GWT应用程序进行国际化,可以通过两种方式进行。一是将需要转换的字符串从应用程序中移出,放到一个属性文件中,二是将需要转换的字符串作为JavaScript包含在HTML文件中。这样,应用程序只要留出一个接口,用于访问属性文件中常量或者本地化数据就可以了。国际化时,只需更换属性文件,而不用更改应用程序代码。GWT在编译时,GWT会根据不同的区域来选择不同的属性文件来关联应用程序的接口。

4.4 优化应用程序性能

虽然通过GWT构建的Ajax应用程序会比使用JavaScript构建的Ajax应用程序具有更高的性能,但我们仍然需要了解更多关于使用GWT构建高性能的Ajax应用程序的方法。

4.4.1 减少应用程序处理时间

Ajax应用程序只能运行在一个线程上,而这个线程是与用户界面共享的,这样,当执行耗时过长或者阻塞调用时,用户界面会变得反应非常迟钝。而通过GWT的IncrementalCommand接口就能解决这个问题。IncrementalCommand接口需要实现execute方法:

这样,当用户界面事件就能在调用执行方法期间得到处理,从而确保应用程序在执行耗时处理时不会变得反应迟钝。

4.4.2 优化Apache和Servlet服务器缓存

Apache的缓存时间由GWT文件Cache-control头部值决定,而这个值则可以通过mod_header模块来设置。如:Header se Cache-control max-age=43200,这里文件的头部值指定了文件的生存周期为43200,即一天。

要在Servlet容器中设置缓存,需要创建一个筛选器来为*.cache.*模式的文件添加Cache-control头部信息。创建筛选器时,只要创建一个实现Filter接口的新类,并实现其doFilter、int好人destroy方法即可。

4.4.3 在Apache和Servlet服务器设置压缩

在Apache对文件进行压缩,可以减少文件传送所需的带宽和时间。Apache通过自动内容协商来对JavaScript文件进行gzip压缩,压缩后,这些文件的大小大约可以减少70%。gzip压缩的命令为:

Servlet容器不具有Apache中的自动内容协商机制,但可以通过在Tomcat的server.xml配置文件中添加Connector元素来指定压缩选项。如:

5 总结

实践证明,通过以上途径,确实能大大提高使用GWT的效率,并能开发出性能更优的Web应用程序,从而减轻了开发人员的负担。随着Google公司对GWT的不断完善以及第三方对GWT的更好支持,GWT一定会在Web程序开发中占据越来越重要的位置。

参考文献

[1]GWT官方网站[EB/OL].http://code.google.com/webtoolkit/.

[2]游丽贞.郭宇春.李纯喜.Ajax引擎的原理和应[J].微计算机信息,2006(6).

[3]王星,潘郁.基于AJAX技术的Web模型在网站开发中的应用研究[J].微计算机信息,2006(27).

[4]Chaganti P.Google Web Toolkit:GWT Java AJAX编程[M].北京:人民邮电出版社,2009.

使用实现 第8篇

在B/S架构日趋流行的今天, 很多编程者在做项目的时候, 发现对数据库的操作, 反反复复的写数据库访问的代码实在太麻烦了。找出一种方法能从繁琐的数据库编程中解脱出来, 对程序员来说, 不仅仅是一次技术的革命, 更是一种精力的救赎。Hibernate便是这种革命性的产品。Hibernate是一种Java语言下的对象关系映射解决方案。它为面向对象的领域模型到传统的关系型数据库的映射, 提供了一个使用方便的框架。Hibernate的作用是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计数据库还是从一个已有数据库开始, 开发人员都可以采用Hibernate随心所欲的使用对象编程思维来操纵数据库。Hibernate不仅负责从Java类到数据库表的映射, 还提供了面向对象的数据查询检索机制, 从而极大地缩短手动处理SQL和JDBC上的开发时间。

2 持久化和ORM

Hibernate是一个优秀的Java持久化层解决方案, 是当今主流的对象———关系映射 (Object/Relation Mapping, 简称ORM) 工具。程序在运行的时候, 产生的数据保存在内存中, 当程序退出时, 数据随之消失, 我们称这些数据的状态时瞬时的;有些数据在程序退出后以文件的形式保存在存储设备中, 我们称这些数据的状态时持久的。持久化就是将程序中的数据在瞬时状态和持久状态之间进行转换的机制。程序员在编写程序的时候, 以面向对象的方式处理数据, 数据在存储的时候, 却以关系型数据库的方式存储, 所以, 需要一种机制能在两者之间进行转换, ORM就担当了这个角色, ORM使用映射把对象和数据库中的表产生对应关系, 使程序自动的把对象持久化到数据库中。

3 Hibe rna te的工作原理

a.通过Configuration () .configure () ;读取并解析hibernate.cfg.xml配置文件;b.从hibernate.cfg.xml配置文件中的语句读取解析类与数据表之间的映射信息;c.通过config.build Session Factory () ;语句得到session Factory;d.由session Factory.open Session () ;语句得到session;e.由session.begin Transaction () ;语句开启一个事务;f.用session.save (实体类名) ;语句或其它语句进行数据库操作;g.由session.get Transaction () .commit () ;语句提交事务;h.关闭session;i.关闭session Factory。

4 Hibe rna te的配置文件

Hibernate的基本配置文件有两种:hibernate.cfg.xml和.hbm.xml文件。前者包含了Hibernate与数据库的基本连接信息, 在Hibernate工作的初始阶段, 这些信息被先后加载到Configuration和Session Factory实例中;后者包含了Hibernate的基本映射信息, 即系统中每一个基类与其对应的数据库表之间的关联映射信息, 在Hibernate工作的初始阶段, 这些信息通过hibernate.cfg.xml的mapping节点被加载到Configuration和Session Factory实例中。这两种文件信息包含了Hibernate的所有运行期参数。下面我们以一个例子来说明这两种文件的基本结构和内容。

主要代码如下:

5 结论

总之, Hibernate在编程时封装了jdbc, 简化了很多重复性代码的输入;简化了DAO (Data Access Objects) 层的编码工作, 使数据操作象面向对象操作一样;其良好的移植性, 支持各种主流数据库, 使得更换数据库时只需要在配置文件中改变配置就可以, 不必改变Hibernate代码。Hibernate的应用, 大大简化了开发人员的劳动强度。

参考文献

[1]刘德山, 杨彬彬.基于Hibernate框架的数据持久层架构设计及应用[J]微型机与应用, 2011 (15) .[1]刘德山, 杨彬彬.基于Hibernate框架的数据持久层架构设计及应用[J]微型机与应用, 2011 (15) .

[2]陶惠良.基于Hibernate的数据维护工具的研究与应用[D].北京:北京邮电大学, 2011.1.[2]陶惠良.基于Hibernate的数据维护工具的研究与应用[D].北京:北京邮电大学, 2011.1.

[3]王伟成.面向对象的持久化方案--Hibernate[J].西江月, 2012 (13) .[3]王伟成.面向对象的持久化方案--Hibernate[J].西江月, 2012 (13) .

使用ACL实现包过滤之探析 第9篇

关键词:ACL,访问列表,包过滤,网络安全

信息点间通信和内外网络的通信都是企业网络中必不可少的业务需求, 为了保证内网的安全性, 需要通过安全策略来限制非授权用户只能访问特定的网络资源, 从而达到访问控制的目的。在实际企业或校园网络中, 为了增强网络的安全性, 网络设备需要具备控制某些数据访问的能力, 使用最广泛的是基于ACL的包过滤技术。

1 ACL访问控制列表

ACL (Access Control List) 即访问控制列表。ACL基于IP规则, 通过一系列的约束条件对数据报文进行分类, 并决定这些数据是转发还是丢弃, 而约束条件可以是报文的源地址、目的地址、端口号等信息。

此外, ACL定义的匹配规则, 可以利用在其他需要区分数据流量的场合, 例如, Qo S、NAT、策略路由等。

1) 数据包过滤

数据包过滤可以在保证合法用户的报文通过的情况下拒绝非法用户访问网络。例如企业中只允许特定权限的人员访问公司的服务器而拒绝其他普通用户访问。

2) Qo S

Qo S (Quality of Service, 服务质量) 是网络转发数据报文的服务质量。Qo S通过使用ACL实现对数据的分类, 进行流量控制。对一系列不同类别的数据提供有差别的服务。比如在一个企业中, 可以让重要的语音数据包流量获得最大的转发优先级, 保证企业中的语音通话质量。

3) NAT

面临公有地址短缺, 企业或校园内部网络普遍使用NAT技术 (Network Address Translation, 网络地址转换) 以最大的程度上节约IP地址。我们可以通过ACL约束企业内部地址段, 将其转换成为一个或多个公网地址让内部主机连入公网。

4) 按需拨号

在配置路由器建立PSTN或ISDN等按需拨号连接时, 需要发送某些数据触发路由器的拨号行为。我们可以通过ACL来匹配这些数据。

5) 策略路由

路由器在发布与接收路由时, 可能需要对一些路由进行过滤。我们可以通过ACL过滤某些不必要的路由, 而只保留必须的路由。

本文重点分析基于Cisco路由器使用ACL实现包过滤。

2 ACL包过滤的工作原理

包过滤必须应用在路由器的接口上, 并且具有方向性。每个接口的in和out方向均可以配置独立的ACL。

当路由器接收到数据包时, 路由器会查看接口in方向的ACL, 并试着与数据包匹配;若路由器从一个接口发出数据包时, 路由器会尝试使用out方向上的ACL与其进行匹配。若路由器接口上没有应用访问列表, 这个数据包会被直接放行。例如图1所示。

路由器会检测进出的数据包的IP地址、端口号、协议类型等信息, 与接口上的ACL进行匹配, 根据A-CL的规则 (permit/deny) 允许或拒绝数据包通过。

3 ACL包过滤的工作流程

当一个数据包经过路由器的接口时 (in或out) , 如果路由器接口上没有应用访问列表则数据包会直接被路由器放行。

如果路由器接口上应用了ACL包过滤, 其工作流程为:

路由器使用第一条ACL规则来试着匹配数据包中的信息。

如果数据包匹配本条ACL规则, 则执行规则中的动作;如果该动作是permit, 表示数据包允许通过路由器;如果该动作为deny, 表示数据包将被路由器拒绝通过。

如果数据包不能匹配ACL中的规则, 则路由器会使用下一条ACL规则尝试匹配。若还不匹配, 路由器继续重复这个尝试匹配的过程, 直到有一条规则匹配。

如果数据包不能匹配任何一条ACL的规则, 在这个ACL的末尾有一条deny any的隐含条目拒绝所有流量。路由器会使用这条规则来匹配这个数据包, 拒绝这个数据包通过。

4 ACL的分类

1) 标准ACL

标准型访问控制列表只关心数据的源地址, 关心数据包从哪里来。至于数据包的目的地址、端口号都不去检测。如果某台设备被标准型ACL拒绝访问, 则路由器将拒绝所有的服务。标准访问列表的编号为1-99和1300-1999。

2) 扩展ACL

扩展型访问控制列表不仅检查数据包的源地址, 还可以检查数据包的目的地址、协议和端口号。扩展ACL的应用比标准ACL更加广泛, 其编号范围是100-199和2000-2699。

3) 命名ACL

命名访问控制列表 (NACL) 是通过自定义名称来定义访问控制列表。通过standard与extended关键字区别这个访问列表是标准型还是扩展型。

5 ACL实现包过滤的实现方法

以下通过小型网络实例来分析ACL实现包过滤的方法, 拓扑图如图2所示。

1) 标准型ACL的实现

如图2所示, 完成IP地址配置, RA与RB之间启用RIPv2版本, 并取消RIP自动汇总, 全网互通。

要求禁止PC1访问路由器的所有接口, 其余主机不受限制。

实现方法如下:

由于与PC1直连的路由器为RA, 故在RA上进行ACL的配置。

RA (config) #access-list 1 deny host 192.168.1.200//由于只限制PC1主机, 且拒绝所有PC1的流量访问路由器, 故使用编号为1的标准型ACL, 动作为deny即拒绝。

RA (config) #access-list 1 permit any//由于ACL的末尾有一条deny any的隐含规则, 这个ACL将会默认拒绝所有流量。由于我们只是需要控制特定的流量禁止访问路由器, 所以必须在末尾加入这条permit any的规则允许其他流量通过路由器。

RA (config) #int F0/0//进入接收数据包的接口F0/0。

RA (config-if) #ip access-group 1 in//ACL包过滤必须应用在相应的接口上, 并注意数据的方向。ACL包过滤不应用在接口上不生效。

到此, ACL配置完成。

此时用PC1进行测试:PC1 ping RA和RB的所有接口返回值为目的主机不可达。而PC2依然ping通全网。

2) 命名型ACL的实现

将上述的ACL全部清除。现要求使用命名型A-CL只允许PC1 telnet RB的L0接口IP, 其他流量都拒绝, 且拒绝其余主机访问RB。

实现方法如下:

由于要限制PC1的特定流量 (telnet) 故要使用扩展的ACL进行控制。在RA上配置:

RA (config) #ip access-list extended ACLtest//建立命名型ACL, 同时命名为“ACLtest”。由于要限制基于TCP的telnet流量, 所以要使用extended关键字表示扩展型ACL。

RA (config-ext-nacl) #permit tcp host 192.168.1.200host 2.2.2.2 eq telnet//允许TCP的流量, 源地址主机为192.168.1.200;目的地址为2.2.2.2, 端口号等于telnet的应用。

RA (config-ext-nacl) #deny ip any any//本条规则可以不写, 因为默认情况下, ACL末尾有一条拒绝所有的规则。

RA (config) #int F0/1//进入接口F0/1

RA (config-if) #ip access-group ACLtest out//将刚才建立的名为ACLtest的ACL应用在该接口上, 注意数据流的方向, 此时是出方向, 因此用out。

到此, ACL配置完成。

此时测试PC1能顺利telnet上2.2.2.2, 但对于RB的其余地址, PC1无法telnet且ping不通。PC2不能访问RB。

6 总结与建议

ACL包过滤是网络安全的重要组成部分, 网络管理员可以通过ACL对每个网络中的数据包进行控制, 在实际中得到了广泛的应用。

在配置ACL时, 有几点常见的注意事项:

1) ACL中限制语句的位置至关重要, 尽量提前编辑好再对路由器进行操作, 尽可能少的调整ACL的规则顺序, 或增删规则, 以防止出错。

2) 由于ACL是自上而下的检测, 逐条尝试匹配, 所以应将限制条件严格的语句放在ACL的靠前位置。

3) 只有命名型ACL才可以删除单条规则语句。若要删除编号ACL, 只能将整个相同编号的ACL组同时删除。

4) 在配置ACL时, 至少要设置一条permit的语句, 否则所有的流量将被隐含的deny any语句拒绝。这样做相当于端口关闭了, 所有的流量都不能通过。

在实际的企业或校园网络中, 尽管ACL包过滤的功能十分强大, 但包过滤只能工作在OSI的四层以下, 还是有一定的局限性, 且繁重的数据包检测将可能消耗网络设备的一部分系统资源, 因此, 在配置A-CL时应灵活使用, 尽可能的简洁, 同时需要与其它网络安全硬件或软件进行配合, 从而更好地提高网络的安全性。

参考文献

[1]网络安全原理与实践马里克[美]人民邮电出版社

[2]网络安全技术与解决方案Yusuf Bhaiji[美]人民邮电出版社

[3]Cisco防火墙摩赖斯[美]人民邮电出版社

[4]思科网络实验室CCNP (路由技术) 实验指南梁广民 (作者) , 王隆杰 (作者) 电子工业出版社

使用实现 第10篇

1 前言

多媒体教学作为一种全新的教学手段,随着科学技术与现代教育水平的发展,将越来越多地走进小学语文课堂教学。多媒体教学以其生动、直观、高效等特点,使课堂教学更加生动形象,其对课堂的辅助作用是不言而喻的。本文就多媒体技术在小学语文课堂教学中的应用谈些认识。

2 在小学语文课堂教学中对多媒体的有效

应用

多媒体技术以其形、声、光、色等表现手段应用于小学语文课堂教学中,能形象、直观、生动地创设一种轻松愉快的学习环境,使学生在愉悦、自由的气氛中接受知识,使他们爱学、乐学,达到学会的目的。在小学语文教学中,有效应用多媒体这一教学手段,不仅能有效地提高课堂教学效率,还能促进学生学习能力、创造能力的培养。

2.1 创设情境,激发兴趣

学生的思维活动是建立在深厚的兴趣和丰富的情感基础上的,多媒体课件大多由影像、图片剪辑而成,它可使学生置身于一种五彩的教学环境中。借助形象直观的多媒体,为学生创设积极、富有情趣的学习环境,通过刺激学生产生想象的心情情感,能够取得很好的教学效果。

如《王二小》一课,可以先播放关于王二小的电影录像,激烈的战斗场面,震撼人心的枪声、炮声,无不深深吸引学生。当屏幕上出现敌人用刺刀刺向王二小时,学生一个个睁大了眼睛,这无疑创设了一种很好的情境,非常轻松地把学生引进课堂教学之中。再如教学《小竹排在画中游》一课,先播放江南风景,并配以音乐,一开课,便能把学生引入意境中去感觉江南的美好风光。

2.2 在学习过程中,启发学生心灵交流,引导学生自我创造

叶圣陶先生曾说:“教师主要在于引导学生求得知识,也就是引导学生自己去发现问题,自己去解决问题。”课堂上,教师不能以自我为中心去进行授课,要在师生的互动中,使学生亲自去探究书本中的隐含知识,从而让学生更能体会多媒体教学的乐趣。在课堂教学中,多媒体能够提供一个自我获知的平台,通过资料的主动查询,锻炼学生的创造能力。当然也要注意到,多媒体是物,而它所面对的对象是人,无法在感情上进行沟通,如果不充分考虑学生的思维水平和思维速度,像电视或电影画面那样进行画面切换,不容学生细看和思考,那将极大地影响教学效果;在多媒体教学中把所有抽象思维、文字语言的理解都用多媒体形象展现出来,实际上是扼杀了学生逻辑思维能力和创造能力的培养。因此,课堂教学中要给学生留有足够的思维活动时间,引导学生自我创造,确保学生理解和掌握相关的知识内容。

人们常有这样的阅读体验:文章感人处,往往会有种难以名状的原始的感动,之所以这样,是因为在阅读时融入了自己的感受、理解和体验,已经与文本进行了深入的心灵交流,实际上已进行了一种再创造。这样的阅读才是全身心投入的阅读,才会让人感受阅读的惬意美妙。但学生缺少阅读语感的积淀以及对材料的感悟,影响了自主式阅读的进行。

借助多媒体技术,可以促成学生与文本心灵交流,唤起鲜明的内心现象。《庐山的云雾》一课,先让学生看课文插图,在图中注上关于云雾的词语,在课本上划出描写其特点的词语,然后播放相关影像,加深或更新之前的感受,最后再细读课文,内心与文本进行交流、进行碰撞,实现画面在脑海中再现。

喜欢新奇、有趣的事物是小学生的天性,通过激发兴趣,培养学生的想象力和创造力,则是教学中最重要的手段之一。

3 在小学语文课堂教学中应用多

媒体的利与弊

世界在发生日新月异的变化,语文教学也要与时俱进。多媒体教学应运而生,且以迅雷不及掩耳之势抢占了小学课堂。可在这一过程中,很多问题也暴露出来。那么如何让多媒体教学扬长避短,成为小学语文教学高效化的工具呢?

3.1 要明确多媒体教学的优点

多媒体教学能在短时间内迅速占领教学的课堂,其优势是显而易见的。

1)实现资源共享,减少重复劳动。网上的PPT资源等是非常丰富的,教师可以根据需要进行选择、整合,很多时候不用自己再做PPT,节省不少时间和资源。

2)加大课堂容量,节省板书时间。以往上语文课,教师常常边讲课边板书,板书所占用的时间多的甚至占到一节课的三分之一。而有了多媒体以后,教师可以把这个时间节约出来,扩大课堂容量,提高教学效率。

3)从视听两个维度提供刺激,创设教学情境,提高教学效率。从教育心理学的角度看,人们从听觉获得的知识大约能记忆15%,从视觉获得的知识大约能记忆25%,但如果同时使用这两种传递知识的工具,就能够接受知识的65%。多媒体教学把抽象的文字变成具体可感的色彩斑斓的画面,变成悦耳动听的乐曲,它创设了课文所需要的情境,让学生的情绪高涨起来,让课堂生动活泼起来,大大提高课堂教学的效率。

3.2 要看清多媒体教学的缺点

多媒体教学有着诸多的利,但多媒体的缺点也是显而易见的。

1)某些教师对它过于依赖。在资源匮乏的时代,教师必须深入文本,研究文本,也就有了自己对文本深刻的个性化的理解。而如今教师在备课时,往往自己还没理解文本,就搜索了一大堆资源来参考,长此以往,此种教学只是另外一种变相的照本宣科。这样的教学肤浅而又缺乏个性。既然教师都没有自己的理解,又怎么来达到新课标的要求——“尊重学生自己的个性化的理解”?

2)对多媒体的使用不当。多媒体的功能是非常强大的,有些教师仅仅把它当成板书的替代品,而没有创设情境,穿着新鞋走老路,课堂还是枯燥而又乏味的。与此相反的是,有些教师没有根据实际情况的需要,滥用多媒体,甚至让多媒体喧宾夺主,取代自己的位置。

3)多媒体的具体可感既是它的优点也是它的缺点,在某种程度上限制了学生的想象。比如说在教授柳永的《雨霖铃》时,教师播放相关的Flash,创设情境,学生也沉醉在其中。但这一离别场景却同时以此场面进入每个学生的头脑之中,学生不再有自己的想象,“一千个读者心中也只有一个哈姆雷特”了。

语文学科是一门创造性很强的学科,在语文课堂教学中教师要本着形式服从内容的原则,通过优化教学过程,提高学生听说读写的综合素质。优化教学的过程需要的是根据教学内容的差异选取相应教学手段。不管是传统的还是现代的,只要对教学有益,只要对达到最佳的教学效果有益,教师就应该去尝试,就应该采用。传统的东西未必就一定过时,现代的时髦的也可能不适宜。教师在教学中应防止为片面追求现代化,而忽视对传统教学媒体的合理使用。

3.3 坚持一个原则:多媒体是工具,不能取代教师

多媒体的优越性是显而易见的,运用得当可以事半功倍,运用不当则会事与愿违。教师必须充分认识多媒体的功能和特性,根据学生的认识规律和语文教学的特点,走出多媒体辅助教学的误区,严格遵循使用多媒体的原则,实现多媒体与语文教学的最佳整合。

使用原始套接字实现PING功能 第11篇

PING用于测试网络连通性。WINDOWS系统提供了PING功能。在命令提示符下输入:PING(IP地址),就会返回相应的测试结果。观察返回结果,就可以判断本机与远程主机之间的连通性。

1.1 PING原理

如果不能PING到某台主机,表明不能与其建立连接。PING使用ICMP,它发送类型码为0的ICMP回送请求消息给目的主机。目的主机必须返回ICMP回送应答消息给源主机。收到请求的主机则用类型码为8的ICMP回送应答消息进行回复。如果源主机在一定时间内收到应答,则认为主机可达,但前提是目的主机没有屏蔽ICMP。PING计算数据包收发间隔时间和被送达数据包数。用户就可以判断网络的大致情况。

1.2 PING实例分析

假定主机A的IP地址是192.168.1.1,主机B的是192.168.1.2,都在同一子网内,则当你在A上运行“Ping 192.168.1.2”后,都发生了什么呢?

首先,PING会构建一个ICMP请求数据包,然后由ICMP协议将该数据包连同地址“192.168.1.2”一起交给IP层,IP层将以地址“192.168.1.2”作为目的地址,本机IP作为源地址,加上一些控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址,一并交给数据链路层。数据链路层构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

B收到该数据帧后,先检查它的目的地址,并和本机的物理地址对比,符合则接收,否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层。同样,IP层检查后,将有用的信息提取后交给ICMP,后者处理后,马上构建一个ICMP应答包,发送给A,其过程和A发送ICMP请求包到B相同。即先由IP地址,在网络层传输,然后再根据MAC地址由数据链路层传送到目的主机。

2 ICMP介绍

ICMP通过IP协议发送,IP协议是一种无连接、不可靠的数据包协议。因此,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP。ICMP允许主机或路由器报告差错和提供有关异常的报告。ICMP是Intenet的标准协议,它使用IP作为底层支持。它好象是一个高层协议,而实际上是IP的一部分,必须由其它IP模块实现。ICMP在网络中的主要作用是:主机探测、路由维护、路由选择、流量控制。

当传送IP数据包发生错误-比如主机不可达,路由不可达等,ICMP将会把错误信息封包,然后传回给主机。给主机一个处理错误的机会,这也就是为什么说建立在IP层以上的协议是可能做到安全的原因。

2.1 ICMP报文格式

每个ICMP报文都有自己的格式。但它们开头的三个字段都是相同的。由8位的类型和8位的代码和16位的校验和组成。而前16位就组成了ICMP所要传递的信息。类型包括超时、回送请求和回送应答等,由一个整数值表示。代码字段提供有关报文类型的更多信息。校验和字段使用与IP相同的加法校验和算法,用于对整个ICMP报文的完整性检测。

常用的回送请求与回送应答ICMP消息对应报文格式。标识符用于标识本机中不同进程发送的ICMP报文,而序号则用于标识同一进程收发的不同ICMP报文。

2.2 校验和的计算

2.2.1 在发送数据时,数据报校验和计算步骤:

a.把IP数据报的校验和字段置0;

b.把首部看成以16位为单位的数字组成,依次进行二进制反码求和;

c.把得到的结果存入校验和字段。

2.2.2 在接收数据时,数据报校验和计算步骤:

a.把首部看成以16位为单位的数字组成,依次进行二进制反码求和,包括校验和字段;

b.检查计算出的校验和结果是否为零;

c.若为零说明被整除,校验和正确。否则校验和错误,协议栈抛弃该数据包。

2.3 ICMP报文封装

ICMP报文放在IP数据报的数据部分,就像携带用户信息的数据报一样,没有额外的可靠性或优先级。因此差错报文本身可能会丢失,而且可能会引起额外的拥塞。如果携带ICMP报文的IP数据报产生了差错,则为了避免由于差错报文出错而产生的差错报文,定义了“产生异常”来表示携带ICMP报文的IP数据报出差错,从而避免了由携带ICMP报文的IP数据报出差错而产生的ICMP报文。

3 原始套接字

套接字为两类:流式套接字(SOCK_STREAM)和数据报式套接字(SOCK_DGRAM)。从用户的角度来看,SOCK_STREAM、SOCK_DGRAM这两类套接字似乎涵盖了TCP/IP应用的全部,因为基于TCP/IP的应用,在传输层的确只可能建立于TCP或UDP协议之上,而SOCK_STREAM、SOCK_DGRAM又分别对应于TCP和UDP,所以几乎所有的应用都可以用这两类套接字实现。

但是,面对怎样发送一个自定义的IP包、ICMP协议包等问题时,SOCK_STREAM、SOCK_DGRAM将无能为力。这使得我们必须面对另外一个深刻的主题—原始套接字。原始套接字广泛应用于高级网络编程,也是一种广泛的黑客手段。著名的拒绝服务攻击、IP欺骗等都可以用原始套接字实现。

3.1 初始化原始套接字

3.2 用原始套接字发送接收ICMP数据包

建立原始套接字之后,就可以使用sendto()和recvfrom()发送和接收ICMP数据包了。原始套接字接收报文规则:若接收的报文协议类型和定义的原始套接字匹配,那么接收的所有数据拷贝入套接字中;如果套接字绑定了本地地址,那么只有接收数据IP头中对应的目的地址等于本地地址,接收到的数据才拷贝到套接字中;如果套接字定义了远端地址,那么只有接收数据IP头中对应的源地址与远端地址匹配,接收的数据才拷贝到套接字中。

结束语

通过使用原始套接字发送并接收ICMP报文实现PING功能具有很强的实用性,可用于网络诊断、主机探测等应用。

摘要:PING是用来探测主机之间是否连通,使用原始套接字发送接收ICMP数据包,实现了PING功能。

关键词:PING,原始套接字,ICMP

参考文献

[1]汪晓平等.网络典型应用实例导航[M].北京:人民邮电出版社,2005.

[2]Anthony Jones,Jim Ohlund.WINDOWS网络编程(第二版)[M].北京:清华大学出版社,2002.

上一篇:砌石工程下一篇:状态指标

全站热搜