admin 管理员组文章数量: 1086019
2024年4月29日发(作者:安卓12官网下载)
维普资讯
圜匾 一
文O宫关宫兵(黑龙江大庆龙南医院<齐齐哈尔医学院附属五院>)
醢
利用3ava开发基于Web自勺地质大型图幅浏览系统
另一种则是由我们自己来设置缓冲区
摘要:本文就大型图幅如何用J a V a在
使用的端口号。
W W W浏览器上显示,提出了几项关键性的
参考点(reference).用来指定资源中的
的大小:
Fil eI nPutSt r e am fi S=n ew
技术,包括大块数据的读取技术、大块数
某一个特定的位置,如同在HTML文件中
据的类缓冲技术、大块数据的存储技术、
设置Anchor等。
FilelnputStream(”My Name”);
Inputstream is=new FflelnputStream
数据类型转换技术,并就大型图幅如何用
利用URL从网上获取数据,目前主要
J a V a进行放大、缩小显示提出了解决方案。
有两种方式,一种是利用C G I技术获取数 (”fis” //缓冲区1024 bytes
关键词:Java;Web;大型图幅;几何学;
大块数据
据;一种是利用u R L直接读取服务器上的
当数据填满缓冲区时,
文件。
引言
一
、
(一)利用C G I技术读取服务器上
BufferlnputStream才会真正地将这些数据输
入到连接在其后的输入数据流中,若输入
大型图幅是否能够在WWW.浏览器上
显示,一直是各大企业所关心的问题。如
果采用静态图幅显示方法,由于网络传输
速度的限制和一张大图挤在屏幕上基本上
什么也看不清的原因,致使使用静态图幅
是非常不现实的。最近,我们就大型图幅
如何用Java在www浏览器上显示,进行
了非常有效果的试验。并通过此技术把油
田地质的大型图幅油层小层平面图用J a v a
绘制到了W W W浏览器上。 ’
二、Java技术
JAVA是由SU N公司开发的新一代编
程语言,它是一种与平台(硬件或软件)无
关的编程语言,具有简单、分布式.面向
对象、可移植、动态、多线程的特点。利
用JAVA语言,可以在起始页上加入各式
各样的动态效果,在窗口中放上菜单的按
钮,以及滚动条,使起始页不再只是一个
冷冰冰的“文件”,而是配合JAVA程序的
一
个活生生的程序体。在w W w浏览器
端,Www浏览器在负责将HTML格式的
文件以正确的格式显示出来的同时,也负
责在所使用的机器上,执行伴随而来的
JAVA程序,但在这之前J AVA程序只放
在服务器上,而没在客户机上。这种设计
使得用户只需在自己的机器上用鼠标点出
w w w浏览器,然后点出你想要的软件,
接着就可以在w w w浏览器上使用你选的
软件,不需要安装,不需要准备大量的磁
盘空间,使用完了关掉计算机即可,一切
都不再存在,对于使用者来说,他们不必
去储存处理程序,而且通过这样的方式,
用户随时都可以使用最新的程序。
三,大块数据的读取
利用JAVA在网上绘图,必然涉及到
基础数据如何从网}=_读取,达里要用到一
个术语URL。URL是Uniform Rerource
L0Cat0r(统一资源定位器)的缩写。JAVA
所提供的网络功能共有三大类,其中之一
是URL,它是JAVA所提供的网络功能中
较高级的一种。通过U R L的网络资源表达
方式,很容易就可以确定网络上数据的所
在地。 用URL的表示和建立,JAVA程
序可以直接读入网络上所放的数据,以及
把自己的数据传送到网络的另一端,其格
式如下:
http:,, .cy6.dq.cnpc coln.cnt
80/no 1 089.html#novelty
传输协议 机器名称 通讯端口号文
件名称 参考点
其中:
机器名称(Hostname):用来指定资源
所存在的机器
文件名(Filename):该资源在机器上的
完整文件名
通信端口号(port number):连接时所
198
数据
CGI全称是”COmmon GatewaY
Interface”,它所定义的内容是信息服务器
程序(像处理起始页的W E B服务器程序)
和外部程序互流的接口。
举例来说我们要把数据库的数据放到
www上让大家通过浏览器来使用,因数
据库的内容随时随地都在改变,如果我们
在每次数据库的内容改变后,都重写-_大
堆起始页的话,那实在是件很糟糕的事
情。这时候,我们可以写一些外部程序来
取得数据库中最新的数据,然后再让这些
外部程序用CGI来和wEB服务器程序进
行交互,这样用户就可以随时得到最新的
数据,而起始页也不需要重写。C G I程序
的主要运行模式是每当输入一些数据到起
始页中,WWW浏览程序会把这些数据送
到远端的WEB服务器,然后服务器程序会
去调用适当的C G I程序来处理这些数据,
并且回应一些适当的信息。
利用CGI技术读入URL位置上资源数
据,对于JAVA的程序而言,是通过一个
Inputstream的数据流运作来完成。而在网
络另一端的C G I程序则把数据提出后传到
标准输出(sDTOuT)上,再由www服
务器转出来。对于输出数据动作,对于
JAVA而言,它是通过一个Outstream的数
据流将数据送出去,在网络彼端即w w w
服务器上有CGI程序来处理JAVA程序送
出去的数据。换句话说由客户端JAVA程
序送出的数据会被www服务器上的CGI
程序由标准输入(sTDIN)读进来。
(二)利用U R L直接读取服务器上
数据
利用‘个URL对象,当这个对象建立
好后,要取得这个U R L位置的数据就变得
非常容易,只要通过0Penst ream这个方
法,将U R L位置的数据转成一个数据流,
再以数据流中的方法读入就可以了。
至于具体采用哪种方法,要根据具体
的基础数据而定。如果数据还需再作理,
可以用第1种方式;如果数据不需要处理,
采用第2种方式。在我们做的项目中这
两种方式都用到了。
四、大块数据的类缓冲输入技术
JAVA提供了一个类BufferInputStream
类,其可以为我们真正的输入数据流加上
一
个缓冲区,其目的是为了降低不同计算
机设备之间由于速度上的不同,而对程序
整体的执行效率所造成的影响,类
BufferInput Stream对象的生成方法有两种:
一
种是:
Fi1 eI nP UtSt r eam fi s=n ew
FileInputStreaIn(’ My Name”);
Inputstream is=new FilelnpuStream
(’ fls“);
数据没填满缓冲区就想把数据送进去,这
时可用is.flush().
使用有缓冲区的输入数据流,可以使
程序因读取数据而被阻塞的时间减少,从
而提高程序整体的执行效率。
五、大块数据存储
对于油层小层平面图而言,其所涉及
的数据量较大,一般在服务器上是2 M左
右(二进制),所以在客户机上如何存储这
些数据就有一个方法问题。
对于JAVA的小应用程序APPLET,由
于其的安全机制的限制,JAVA的小应用程
序APPLET在通过WWw浏览器时,它不
能篡改或删除客户机硬盘上文件的数据或
终止某个进程或线程的任务,也不能无限制
地使用系统资源。换句话说当我们在
www浏览器上看JAVA的小应用程序
APPLET时,它不能往我们的硬盘上写数
据。这样JAVA从网上获得的数据纵使再大
也不能暂存在硬盘一h,只能存在客户机的
内存中,而客户机内存有限,且JAVA也不
能无限制地使用内存资源,因此如何存放、利用
内存,分配我们要用的数据就成了用JAVA绘制大
型图幅的一个较关键性的问题。
在JAVA中可以采用动态内存分配技
术来解决上述矛盾。创建和维护动态数据
结构需要动态内存分配(dynamic memory
allocation),即一个程序能在执行时获得更
多的内存空间,保存新的结点和释放不需
要的空间,JAVA程序不直接释放动态分
配的内存,而是自动进行内存垃圾收集。
动态内存分配范围可以是计算机中可用物
理内存的数量,或是虚拟内存系统中可用
虚拟内存的数量。通常可分配内存比实际
内存或虚拟内存要小得多,因为计算机的
可用内存必须在许多用户之间共享。另一
种方法是用JAVA提供的VECTOR类,包
括J A V A在内大多数编程语言的数组其大
小是固定的,不能根据应用程序对存贮数
据需求的变化而增大或缩小,J A V A为
VECTOR类提供了自动调整大小的类似数
组的数据结构 任何时候,VECTOR都包
含一定数目的元素,它小于或等于向量容
量(VECTOR CAPACITY),向量容量
是为内部数组保留的空间。如果VECTOR
需要变大,它的增量可以是指定的值或是
系统的缺省值。这种方法为我们尽可能地
节省和有效地分配内存空间提供了良好的
途径。VECTOR被设计成存贮对OBJECT
的引用。所以对任何类型的类对象的引用
都可以存贮在一个VE CTOR中。如果想在
VECTOR中存贮基本数据类型,就必须使
用Java.1ang包的类型包裹类来创建包含
基本数据类型值的对象。
六、数据类型转换
大块数据在服务器上一般(下转1 9 9页)
维普资讯
誊
L i n u x个人防火墙的设计
文0费安龙(哈尔滨学院数学与计算机学院)
眉圆
网络防火墙技术是一种用来加强网络
优点是安全性较高,可以针对应用层进行 案。因此,我们完全可以选择合适的软硬
之间访问控制,防止外部网络用户以非法
侦测和扫描,对付基于应用层的侵入和病
件平台和相应的防火墙设计原理,自己开
手段通过外部网络进入内部网络,访问内
毒都十分有效。其缺点是对系统的整体性 发出一套能够满足要求的防火墙系统。
部网络资源,保护内部网络操作环境的特
能有较大的影响,而且代理服务器必须针
之间传输的数据包按照一定的安全策略来 行设置,大大增加了系统管理的复杂性。
实施检查,以决定网络之间的通信是否被
允许,并监视网络运行状态。
归纳起来这里要实现的防火墙需要满
安全保护,即对主机与局域网以外的主机
殊网络互联设备。它包括两个或多个网络
对客户机可能产生的所有应用类型逐一进 足两大要求:第一,必须能够对主机提供
监测型防火墙是新一代的产品,能够
进行数据传输时实施安全保护t第二,必
对各层的数据进行主动的.实时的监测, 须能够提供良好的人机接口界面,具有容
考虑到现在有硬件设备的限制,在保
根据防火墙所采用的技术不同,可以
在对这些数据加以分析的基础上,监测型
易操作、容易管理的优点。
将它分为四种基本类型:包过滤型、网络 防火墙能够有效地判断出各层中的非法入
地址转换一nat、代理型和监测型。包过滤
侵。同时这种监测型防火墙产品一般还带
证满足实验要求的环境下尽可能地简化了
型产品是防火墙的初级产品,其技术依据
有分析式探测器,这些探测器安置在各种
实验环境。因为该防火墙系统是基于主机
是网络中的分包传输技术。包过滤技术的
应用服务器和其他网络的节点之中,不仅
设计的,故只需要一个联网的主机即可进
优点是简单实用,实现成本较低,在应用
能够监测来自网络外部的攻击,同时对来 行实验。该系统是在Linux环境下用C语
环境比较简单的情况下,能够以较小的代
自内部的恶意破坏也有极强的防范作用。
言实现包过滤型软件防火墙的设计与应
价在一定程度上保证系统的安全。网络地
监测型防火墙在安全性上已超过了包过滤
用,采用KyliX开发工具进行界面设计和
址转换是一种用于把i P地址转换成临时
和代理服务器型防火墙,但其实现成本较
数据库连接。
基于linux的个人防火墙系统主要具
的、外部的、注册的iP地址标准。它允许
高。基于对系统成本与安全技术成本的综
具有私有i P地址的内部网络访问因特网。
代理型防火墙也可以被称为代理服务
合考虑,用户可以选择性地使用某些监测
性技术。
Linux系统下实现软件防火墙的设计,
有以下功能:
一
全程动态包过滤
器,它的安全性要高于包过滤型产品,并
已经开始向应用层发展。代理型防火墙的
本防火墙要在linux下实现全程动态
0页)
实质上就是基于主机的网络安全解决方
包过滤功能,通过分析数据包(下转2 0
(上接1 9 8页)是以二进制的形式存贮在服务 块,故圆存储干根的右下子节点上。
器上,在JAVA中读取这些数据需要把它
/
们转成原有的含义。J A V A中提供了一个
/
接口DATA INPUT,其定义方法如下
/一
,
方法
readBoole ̄z
readD te
rea ̄har
含
读取布尔类型的数据
义
\J一
读取一个字节(宽度为8一bn的数据)
读取宽度为15-bit的字符数据
图1 快速放大缩小的几何原理
readDouble
readFloaf
readlnt
读取双精度浮点(64-bit)类型数据
读取单精度浮点(32-bit)类型数据
读职整数(32一bit)类型的数据
readLine
rea ̄ong
readShort
读取以换行字符为结柬字符的字符串
读取长整数( 一bit)类型的数据
读取经整数(32-bit)类型的数据
图2描述了上例的存储情况:
NODE0为根节点,NODEl4为右下
子节点,ELEMENT为位于根节点的
个元素,它由五部分组成,元素名
称,元素存放地址,删除标记,位于
同一节点的下一个元素指针及上一
一
图
readUnsignedDyte 读取一个字节(宽度为8-bit)的芜符号的数据
realigned short 读取芜符号整数(16bit)
skipB tes 略过数个字节
图等费用。成果附图见图3和图4。
参考文献:
[1 I^d
忡
1 998
经过我们研究测试后,工作站(S u N
工作站)与客户机JAVA数据类型转换如
下:
,《T№Jaw T 涮 ect ted
啷劬;佃tk t 僦》,McGraw—H硼coITD es,Jnc.,
七 显示时快速放大、缩小原理
Mar int float short double Long
[2】易文韬、陈颖平著,《JaVa手册》,科学
图2直线与圆的存储结构图例
出版社.1
工作站 1十字节 4个字节 4十字节 2十字节 8十字节 4十字节
客户机 2个字节 4十字节 4个字节 2个字节 8十字节 8个字节
java
对于一个大型图幅,其在全图显示时
是把所有的数据显示一遍,当对其中的某
部分进行放大或缩小时,若对所有的数
据比较一遍,对于大型图幅,必然花费很
多的时间用在数据比较上,从而降低显示
速度,令用户不耐烦。那么如何能够快速
定位到图纸的某一部分呢?我们选择了四
一
叉树结构,例如图l:
在图l中,把图纸四等分,然后每一
块再四等分,如此下去,本系统中最多分
8层深,直线不属于整图的某个子块,故
直线只能存储于根节点上,圆属于整图的
右下子块,而不再属于左下子块的任何子
个元素指针组成。其中元素存放
指针即该元素在该类元素磁盘文
件存放的起始地址。
八,结束语
该技术研究成功后,利用该技术研制
了油层小层平面图在www上的查询,其
应用效果很好:(1)该成果实现了在网上
查询大型地质图件功能,克服了数据量大,
处理复杂难度高等技术难点,使以往只能
通过绘图仪成图的大型图件可以在网上直
接生成,并通过统一的浏览器查看, 具有
通用性。(2)该成果绘图速度快、界面友
好,操作方便,并提供了放大、缩小、平移
等功能。(3)通过使用该成果,提高了油
J 2+5油层小层平面图放大图
田开发人员的工作效率,节约了出版和绘
图4采油厂s I
199
版权声明:本文标题:利用Java开发基于Web的地质大型图幅浏览系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1714350230a676660.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论