(测试计量技术及仪器专业论文)测试仪器远程控制方法的研究与实现.pdf_第1页
(测试计量技术及仪器专业论文)测试仪器远程控制方法的研究与实现.pdf_第2页
(测试计量技术及仪器专业论文)测试仪器远程控制方法的研究与实现.pdf_第3页
(测试计量技术及仪器专业论文)测试仪器远程控制方法的研究与实现.pdf_第4页
(测试计量技术及仪器专业论文)测试仪器远程控制方法的研究与实现.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(测试计量技术及仪器专业论文)测试仪器远程控制方法的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:良趁 矽6 年弓月彩日 经指导教师同意,本学位论文属于保密,在2年解密后适用 本授权书。 指导教师签名: u 垆 学位论文作者签名: 怒往 件咱 解密时间: 咖年7 月7 日 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: 矽多 走艋 年弓只瑶e t 摘要 摘要 随着计算机技术及网络技术的不断发展,测试仪器远程测控技术的研究与 应用也随之受到了广泛的关注。远程控制的最大特点就是可以实现资源共享, 使现有资源得到充分的利用,从而实现多系统、多专家的协同测试与诊断。同 时一台仪器能被更多的用户使用,实现了测量信息的共享,同时减少了硬件的 设置,有效降低了测控系统的成本。另外,网络可以不受地域的限制,使测试 人员不受时间和空间的限制,随时随地获取所需的信息,这样不仅提高了测试 效率,而且减少了测试人员的工作量。 本论文正是针对测试仪器的远程测控的方法进行了研究分析,特别针对了 拉曼光谱仪的远程测控展开了具体的研究,以远程拉曼光谱仪测控程序为例, 具体阐述了远程测控方法的实现。 测控程序整体由v c6 0 开发,应用当前比较流行的c o m 组件技术完成了 重要控件模块的开发。并且采用了a d o 连接a c c e s s 数据库,为测控程序添加 了数据库保存文件信息的功能。在远程测控方面,采用了客户机服务器模式, 利用s o c k e t 编程,实现了在客户端的参数设置、控制命令发送,以及数据的接 收和显示。在服务器端实现了将控制参数、控制命令转发给下位机,并接收来 自下位机的数据且同时转发给客户端。整体实现了由测试仪器远程控制、数据 采集、数据显示、数据存取等功能所组成的远程仪器测控软件。 关键词:远程测控测试仪器数据采集数据库c o m 组件 a b s t r a c t a b s t r a c t w 1 t l l t h ec o n t i n u e dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n dn e t w o r k t e c h n o l o g y , t h er e s e a r c ha n da p p l i c a t i o no fr e m o t ec o n t r o lt e c h n o l o g i e sf o rt e s t i n g i n s t r u m e n ti sw i d e s p r e a d l yc o n c e r n e d t h em a i na d v a n t a g eo ft h er e m o t ec o n t r o li s t h a tc a nc a r r yo u tar e s o u r c e ss h a r e i tm a k e st h eb e s to ft h ee x i s t i n gr e s o u r c e s ,a n d m a n yd i f f e r e n ti n s t r u m e n t sw o r kt o g e t h e r o n ec o s t l yi n s t r u m e n tc a nb eu s e df o r m o r ec u s t o m e r si nt h ed i f f e r e n tp l a c e t h a ta c h i e v e si n f o r m a t i o ns h a r i n g ,r e d u c e s h a r d w a r ei n s t a l l a t i o n , a n de f f e c t i v e l yl o w e r st h ec o s to ft h es y s t e m i na d d i t i o n , t h e n e t w o r kc a r lb ef r e ef r o mt h er e s t r i c t i o no ft h er e g i o n , w h i c hm a k e st h ee x p e r i m e n t e r b ef r e ef r o mt h er e s t r i c t i o no ft i m ea n ds p a c e ,a n da c q u i r et h ei n f o r m a t i o no fn e e d a n y w h e r ea ta n y t i m e i tn o to n l yr a i s e st h et e s te f f i c i e n c y , b u ta l s or e d u c e sa n e x p e r i m e n t e r sw o r k l o a d t l l i sd i s s e r t a t i o nh a ds t u d i e dt h em e t h o do fr e m o t ec o n t r o lf o r t h et e s t i n g i n s t r u m e n t ,c o m p l e t e dt h er e m o t ec o n t r o ls o r f t w a r ef o rt h er a l l l a ns p e c t r o m e t e r 啊1 er e m o t ec o n t r o ls o f t w a r ew a sd e v e l o p e db yv c6 0o v e r a l l ,a n dt h ei m p o r t a n t f u n c t i o nm o d u l e w a sd e v e l o p e db yc o mt e c h n o l o g y i nt h i s s o f t w a r e ,a d o t e c h n o l o g yw a sa d o p t e df o rp r e s e r v i n gt h ef u n c t i o n a ld o c u m e n ti n f o r m a t i o nt o d a t a b a s e 1 1 1 em o d e lo fr e m o t ec e n t r e ls o f t w a r ei sc l i e n t s e r v e r o nt h ec l i e n t , c u s t o m e rc a ns e t u pt h ep a r a m e t e r s ,s e n dc o n t r o lo r d e r s ,a n dt h e na c q u i r et h ed a t aa n d d i s p l a yi t 1 1 l em a i nt a s ko ft h es e r v e ri st ot r a n s m i tt h ep a r a m e r sa n dc o n t r o lo r d e r s t ot h ei n s t r u m e n la n ds e n dt h ed a t at ot h ec l i e n tc o m p u t e r o v e r a l lt h es o f t w a r e a c h i e v e si t sm a i na i m k e yw o r d s :r e m o t ec o n t r o l ,t e s t i n gi n s t r u m e n t ,d a t aa c q u i s i t i o n , d a t a b a s e ,c o r n c o m p o n e n t s i i 目录 目录 摘要i a b s t r a c t i i 目录i i i 第一章绪论i 1 1 研究开发背景i 1 2 远程控制技术简介1 1 3 所完成的工作3 第二章远程测控拉曼光谱仪测控程序的技术背景4 2 1c o m 背景知识4 2 1 1 什么是c o m 和d c o m 。4 2 1 2 基本接口i u i 凼w n 5 2 i 3c o m 对象的接口原则6 2 2 数据库基础知识7 2 2 1v c 中提供的两种数据库访问技术7 2 2 2a c c e s s 和s q ls e r v e r 数据库的比较l2 2 3 网络基础知识。1 3 2 3 1t c p i p 体系结构与特点一1 3 2 3 2 专用术语1 6 2 3 3w i n s o c k e t 编程套接字原理。17 第三章远程测控拉曼光谱仪测控程序的总体功能与结构设计2 4 3 1 总体功能一2 4 i l l 目录 3 1 1 仪器控制2 4 3 1 2 数据采集2 8 3 1 3 数据显示2 8 3 1 4 数据处理2 8 3 1 5 数据存取2 8 3 2 总体结构设计一2 9 3 2 1 主窗口类2 9 3 2 2 文本类3 0 3 2 3 数据集类3 0 3 2 4 显示控件类3 0 3 2 5 文件i o 类3 0 3 2 6 文件存取结构设计31 3 2 7 远程控制结构设计3 2 第四章远程测控拉曼光谱仪测控程序的核心组件3 4 4 1 文件i o 控件3 4 4 2 数据集控件。3 5 4 3 显示控件4 0 4 3 1 显示控件的主要功能4 0 4 3 2 基本处理流程4 2 4 3 3 显示控件结构4 3 第五章文件管理系统相关类5 3 5 1 文件管理系统功能介绍。5 3 5 1 1 显示数据库查询窗口5 3 5 i 2 记录的查询与删除5 4 5 1 3 数据显示5 6 5 2 文件管理系统功能结构分析5 8 5 2 1 文件管理系统存储及读取的结构流程5 8 i v 目录 5 2 2 数据库类6 2 5 2 3 数据库查询窗口类6 4 第六章远程控制相关类6 6 6 1 远程控制功能介绍6 6 6 1 1 控制功能结构6 6 6 1 2 控制功能流程6 6 6 2 控制功能相关类一7 0 6 2 1c r e q u e s t s o c k e t 类7 0 6 2 2c c o n n e c t d i a l o g 类7 1 6 2 3c s e t d i a l o g 类7 2 6 2 4c l i s t e n s o c k e t 类7 2 6 2 5c c l i e n t s o c k e t 类7 3 第七章总结与展望7 4 致谢7 6 参考文献7 7 个人简历7 8 v 第一章绪论 第一章绪论弟一早殖化 1 1 研究开发背景 远程测控技术在现代科学技术、工业生产和国防等诸多领域中的应用十分 广泛。测控技术的现代化,已被公认为科学技术和生产现代化的重要条件和明 显标志。随着计算机技术、通信技术和电子技术的飞速发展,在现代远程测控 领域中,各种先进的测控技术、测控设备和远程通信手段层出不穷。 现代测控系统以计算机为中心、以网络为核心的特征日益明显。使用i n t e m e t 的远程测控系统,人们从任何地点,在任何时刻获取到测量信息( 或数据) 的 愿望都能成为现实。 本文中测试仪器远程控制方法的研究主要是以拉曼光谱仪的远程测控为 例,具体阐述了如何应用网络技术实现对拉曼光谱仪的远程测控。测控程序实 现的总体功能主要包括向光谱仪发送控制参数和控制指令,从光谱仪接收数据, 实时显示数据曲线,最终保存数据文件并添加进数据库。 1 2 远程控制技术简介 远程控制必须通过网络才能进行。位于本地的计算机是操纵指令的发出端, 一般被称为主控端或客户端,非本地的被控计算机则通常叫做被控端或服务器 端。这里所说的“远程”并不等于远距离,主控端和被控端可以是位于同一局 域网或在同一房间中,也可以是连入i n t e m e t 的处在任何位置的两台或多台计算 机。 ( 1 ) 远程控制的原理 远程控制软件一般分为两部分:一部分是客户端程序( c l i e n t ) ,另一部分是 服务器端程序( s e r v e r ) ,通常在使用前需要将客户端程序安装到主控的电脑上, 将服务器端程序安装在被控电脑上。它的控制的过程一般是先在主控端电脑上 执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出 信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制 第一章绪论 功能发送控制指令,控制被控端电脑中的各种应用程序运行。 远程控制软件在两台计算机之间建立起一条数据交换的通道,从而使得控 制端可以向服务器端发送指令,操纵服务器端完成某些特定的工作。此时,控 制端只是负责发送指令和显示远程计算机执行程序的结果,而运行程序所需要 的系统资源均由被控计算机负责。 通过远程控制软件,可以进行多种远程操作,如观看被控电脑屏幕、窗口; 访问被控电脑的进程表,激活、中止程序进程;记录并提取被控电脑的键盘操 作;对被控电脑进行关闭、注销或重起等操作;操纵与被控电脑相连的打印机、 扫描仪等外部设备;通过被控电脑捕获音频、视频信号等。 ( 2 ) 远程控制的实现 要进行远程控制,首先主控电脑和被控电脑要处在网络中,网络可以是局 域网、广域网或i n t e m e t ,某些软件也可以使用直接连接电缆利用电脑c o m 或 l p t 口进行远程控制。其次要保证使用双方是用相同的通信协议,多数情况下 远程控制软件使用的是t c p i p 协议互相通信,也有部分软件可使用s p x 、 n e t b i o s 协议,但使用后两类协议无法在广域网及i n t e m e t 上实现远程控制。大 多数软件都要求远程控制的双方拥有合法的i p 地址,并且要知道被控端确切的 i p 地址,这样就使得要对位于防火墙后的电脑实施远程控制变得几乎不可能, 不过现在在采用适当技术的情况下已可以穿透防火墙。 ( 3 ) 远程控制安全性 远程控制虽然可以方便的操纵远程计算机,但它也可能会给计算机带来安 全方面的隐患。因为一旦远程控制计算机成为服务端以后,其他人只要知道了 这台计算机的p 地址,同样也可以通过网络上其他计算机向其发送控制指令, 由于控制者拥有几乎完全的控制权,被控计算机中的所有资源都处在不设防状 态,有可能导致非常严重的后果。 因此,远程控制软件必须拥有一套严密的安全审核机制,通常的控制软件 会采用密码验证等认证手段来判断哪些计算机是合法的控制端,只有是合法的 控制端发出的指令,服务端才会予以执行,否则就予以拒绝,这样能在一定程 度上保证计算机的安全。 2 第一章绪论 1 3 所完成的工作 本论文以具有远程控制功能的拉曼光谱仪测控程序为例,对远程测控技术 进行了研究与开发,完成了以下几项内容。 1 对远程拉曼光谱仪测控程序的总体结构和功能进行了阐述和分析。 2 对程序中所用到的c o m 控件及它们之间的结构关系进行了阐述和分析。 3 对程序中的数据库功能进行了具体说明和分析。 4 对程序中的控制模块进行了具体说明和分析。 3 第二章远程测控拉曼光谱仪测控程序的技术背景 第二章远程测控拉曼光谱仪测控程序的技术背景 随着计算机软件产业的飞速发展,计算机应用的功能越来越强大,实现也 越来越灵活。与此同时软件设计领域中的新技术也不断产生,分类也越加细致, 其中主要包括:w i n d o w s 界面编程、图形图像处理、网络编程、数据库编程、 c o m 技术等。 在远程拉曼光谱仪测控程序的编写过程中,大量采用了以上所提及的技术, 实现了通过网络对拉曼光谱仪的远程测控、利用自己编写的c o m 控件进行数据 处理显示存取、以及通过数据库保存数据文件信息等,从而大大地丰富了软件 的整体功能。 这一章将对远程拉曼光谱仪测控程序开发中所应用到的各种技术作一概要 介绍。 2 1c o m 背景知识 2 1 1 什么是c o m 和d c o m c o m 是一种跨应用和语言,共享二进制代码的方法。与c + + 不同,它提倡 源代码重用。 w i n d o w s 使用d l l s 在二进制级共享代码。这也是w i n d o w s 程序运行的关 键重用k e r n e l 3 2 d l l ,u s e r 3 2 d l l 等。但d l l s 是针对c 接口而写的,它们只能 被c 或理解c 调用规范的语言使用。由编程语言来负责实现共享代码,而不是 由d l l s 本身。这样的话d l l s 的使用就受到了限制。 m f c 引入了另外一种m f c 扩展d l l s 二进制共享机制。但它的使用仍受到 了限制,它只能在m f c 程序中使用。 c o m 通过定义二进制标准解决了这些问题,即c o m 明确指出二进制模块 ( d l l s 和e s ) 必须编译成与指定的结构相匹配。这个标准也确切规定了在 内存中如何组织c o m 对象。c o m 定义的二进制标准还必须独立于任何编程语 言。一旦满足了这些条件,就可以轻松地从任何编程语言中存取这些模块。由 4 第二章远程测控拉曼光谱仪测控程序的技术背景 编译器所产生的二进制代码与标准兼容。这样就能更容易地使用这些二进制代 码。 此外,c o m 不是w m 3 2 特有的。从理论上讲,它可以被移植到u n i x 或其 它操作系统。 对c o m 进行进一步的扩展,将进程透明性拓展为位置透明性,就形成了分 布式c o m 即d c o m 。标准的c o m 组件和使用组件的客户程序位于同一计算机 上,可以在同一进程空间,也可以在不同的进程空间。而d c o m 组件与客户程 序位于不同计算机上,这些计算机可以在局域网内,也可以在广域网上,甚至 可以通过i n t e m e t 进行连接。 d c o m 可以作为分布式应用系统的基础架构,客户程序与d c o m 组件对象 之间形成了客户服务器关系,可进一步构成多层软件结构。典型的分布式应用 系统是,在各个服务器上运行一些d c o m 组件对象,客户程序调用这些组件对 象,由它们完成实际的功能操作,比如访问数据库或进行一些复杂的数据处理。 而客户程序只负责接收用户的输入并把服务器的响应结果反馈给用户。 2 1 2 基本接口_ i u n k n o w n 组件对象、接口是c o m 的根基。组件对象与c + + 对象的意义是基本相同的。 它是一个功能、属性与逻辑的整体。它是一个实体对象,通过对它的接口操作, 可以使用它所提供的功能。 接口相当于c + + 对象中的p u b l i c 成员。它被暴露给外部使用者,使用者只 被允许调用这些被暴露在外面的接口来使用对象的功能。与p u b l i c 成员有所不 同的是,接口不是一个变量也不是一个函数,而应该是一组函数。在逻辑上, 这一组函数应该是功能相关的。一个组件对象可以拥有许多个接口。 每一个c o m 接口都派生于i u n k n o w n 。下面是i u n k n o w n 接口指针定义。 t y p e d e fg u i di i d ; c l a s si u n k n o w n p u b l i c : v i r t u a lh r e s u l t s t d c a l lq u e r y i n t e r f a c e ( c o n s ti i d & i i d ,v o i d 木木p p v ) = 0 : 5 第二章远程测控拉曼光谱仪测控程序的技术背景 v i l b 皿1u l o n g _ s t d c a l la d d r e f 0 = 0 ; v i r t u a lu l o n g s t d c a l lr e l e a s e ( ) = 0 ; ) ; i u n k n o w n 的三个方法: 1 a d d r e f 0 通知c o m 对象增加它的引用计数。如果进行了一次接口指针的拷贝,就必 须调用一次这个方法,并且原始的值和拷贝的值两者都要用到。 2 r e l e a s e ( ) 通知c o m 对象减少它的引用计数。 3 q u e r y i n t e r f a c e ( ) q u e r y i n t e r f a c e 函数功能是得到一个接口指针,并且为得到另一个接口指针 提供帮助。把想要得到的接口的标识符传给i i d ,便可以得到所需接口指针的指针 p p v 。如果q u e r y i n t e r f a c e 成功的话,会返回s o k 。 当一个地方开始使用对象的时候,它必须调用一次a d d r e f ( ) 。当使用 q u e r y i n t e r f a c e 时候,q u e r y i n t e r f a c e 必须调用一次a d d r e f 0 。a d d r e f o 会使组件 对象的引用计数增加l 。当这个地方不再使用对象时,它必须调用一次r e l e a s e 0 。 r e l e a s e ( ) 会使组件对象的引用计数减1 。当组件对象的引用计数变成o ,就表明没 有人再去使用组件对象了。这时,组件对象应该结束自己的生命。这样,就保 证了组件对象生存期间其它程序的安全。 2 1 3c o m 对象的接口原则 为了规范c o m 的接口机制,微软向c o m 开发者发布了c o m 对象的接口 原则。 1 i u n k n o w n 接口的等价性 c o m 接口原则规定,同一个对象的q u e r y i n t e r f a c e 的l i d i u n k n o w n 查询出 来的i u n k n o w n 指针值应当相等。也就是说,每个对象的i u n k n o w n 值是唯一的。 可以通过判断i u n k n o w n 指针是否相等来判断它们是否指向同一个对象。当然, 6 第二章远程测控拉曼光谱仪测控程序的技术背景 如果查询的不是i u n k n o w n 接口,则无此限制。同一对象对非i u n k n o w n 接口的 查询值可以不同。 2 接口自反性 对一个接口来说,查询它本身应该是允许的。设p p s y c h i c s 是已赋值i p s y c h i c s 的接e l 。那么p p s y c h i c s 一 q u e r y i n t e r f a c e ( 1 l d _ _ i p s y c h i c s ,( v o i d ) & 幽;应当成 功。 3 接口对称性 当从一个接口查询到另一个接口时,那么应该可以从结果接口查询到原来 的接口。 例如: i p s y c h i c s p s r c p s y c h i c s = s o m e t h i n g ,+ p t a r g e t = n u l l ; d y n a m i c s 宰p d y n a m i c s 2 n u l l ; 如果 p s r c p s y c h i c s - q u e r y i n t e r f a c e ( i i d _ i d y n a m i c s ( v o i d 串串) & p d y n a m i c s ) ; 成功的话,则: p d y n a m i c s - q u e r y i n t e r f a c e ( i i d _ i p s y c h i c s ,( v o i d 枣木) & p t a r g e t ) ;也应当成功。 4 接口传递性 如果从第一个接口查询到了第二个接口,又从第二个接口查询到了第三接 口,则应该能够从第三个接口查询到第一个接口。其它依此类推。 5 接口查询时间无关性 当某个时刻查询到一个接1 2 1 ,那么在任意时刻也应该能够查询到这个接口。 2 2 数据库基础知识 2 2 1v c 中提供的两种数据库访问技术 2 2 1 1o d b c ( 开放式数据库接口) 的基本概念 o d b c ( o p e l ld a t a b a s ec o n n e c t i v i t y ,开放数据库互连) 是微软公司开放服务结 7 第二章远程测控拉曼光谱仪测控程序的技术背景 构( w o s a ,w i n d o w so p e ns e r v i c e sa r c h i t e c t u r e ) 中有关数据库的一个组成部分, 它建立了一组规范,并提供了一组对数据库访问的标准a p i ( 应用程序编程接 口) 。这些a p i 利用s q l 来完成其大部分任务。o d b c 本身也提供了对s q l 语 言的支持,用户可以直接将s q l 语句送给o d b c 。 一个基于o d b c 的应用程序对数据库的操作不依赖任何d b m s ,不直接与 d b m s 打交道,所有的数据库操作由对应的d b m s 的o d b c 驱动程序完成。也 就是说,不论是f o x p r o 、a c c e s s 还是o r a c l e 数据库,均可用o d b ca p i 进行访 问。由此可见,o d b c 的最大优点是能以统一的方式处理所有的数据库。 一个完整的o d b c 由下列几个部件组成: 1 应用程序( a p p l i c a t i o n ) 。 2 o d b c 管理器( a d m i n i s t r a t o o 。 该程序位于w i n d o w s 控制面板( c o n t r o lp a n e l ) 的3 2 位o d b c 内,其主要任 务是管理安装的o d b c 驱动程序和管理数据源。 3 驱动程序管理器( d r i v e rm a n a g e r ) 。 驱动程序管理器包含在o d b c 3 2 d l l 中,对用户是透明的。其任务是管理 o d b c 驱动程序,是o d b c 中最重要的部件。 4 0 d b c a p i 。 5 o d b c 驱动程序。 是一些d l l ,提供了o d b c 和数据库之间的接口。 6 数据源。 数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的 抽象。 各部件之间的关系如图2 1 所示: 8 第二章远程测控拉曼光谱仪测控程序的技术背景 图2 1 数据库各部件关系图 应用层 0 d b c 层 数据层 应用程序要访问一个数据库,首先必须用o d b c 管理器注册一个数据源, 管理器根据数据源提供的数据库位置、数据库类型及o d b c 驱动程序等信息, 建立起o d b c 与具体数据库的联系。这样,只要应用程序将数据源名提供给 o d b c ,o d b c 就能建立起与相应数据库的连接。 在o d b c 中,o d b ca p i 不能直接访问数据库,必须通过驱动程序管理器 与数据库交换信息。驱动程序管理器负责将应用程序对o d b ca p i 的调用传递 给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序 管理器返回给应用程序。 在访问o d b c 数据源时需要o d b c 驱动程序的支持。用v i s u a lc + + 6 0 安 装程序可以安装s q ls e r v e r 、a c c e s s 、p a r a d o x 、d b a s e 、f o x p r o 、e x c e l 、o r a c l e 和 m i c r o s o f tt e x t 等驱动程序。 9 第二章远程测控拉曼光谱仪测控程序的技术背景 2 2 1 2 a d o ( 活动对象模型) 基本概念 1 a d o 是微软整个c o m 战略体系中的一个组成部分 活动数据对象( a d o ) 是一组由微软提供的c o m 组件。a d o 建立在微软 所提倡的c o m 体系结构之上,它的所有接口都是自动化接口,因此在c + + 、 v i s u a l b a s i c 、d e l p h i 等支持c o m 的开发语言中通过接口都可以访问到a d o 。 a d o 通过使用o l ed b 这一新技术实现了以相同方式可以访问关系数据库、文 本文件、非关系数据库、索引服务器和活跃目录服务等的数据,扩大了应用程 序中可使用的数据源范围,从而成为微软整个c o m 战略体系中访问数据源组件 的首选,是o d b c 的替代产品。 2 a d o 对象模型组成 与微软的其它数据访问模型d a o 和r d o 相比,a d o 对象模型非常精炼, 仅由三个主要对象c o n n e c t i o n 、c o m m a n d 、r e c o r d s e t 和几个辅助对象组成。 c o n n e c t i o n 对象提供o l ed b 数据源和对话对象之间的关联,它通过用户名称和 口令来处理用户身份的鉴别,并提供事务处理的支持;它还提供执行方法,从 而简化数据源的连接和数据检索的进程。c o m m a n d 对象封装了数据源可以解释 的命令,该命令可以是s q l 命令、存储过程或底层数据源可以理解的任何内容。 r e c o r d s e t 用于表示从数据源中返回的表格数据,它封装了记录集合的导航、记 录更新、记录删除和新记录的添加等方法,还提供了批量更新记录的能力。其 它辅助对象则分别提供封装a d o 错误、封装命令参数和封装记录集合的列。 3 a d o 与o d b s 的比较 ( 1 ) 由于a d o 封装了许多底层工作,使用a d o 与使用o d b c 几乎是一样方 便。 ( 2 ) a d o 不仅具有o d b c 的主要功能,而且a d o 适用的数据源的范围要比 o d b c 大的多。 ( 3 ) a d o 方法是针对新的程序设计情形而采用的。它克服了早期技术的诸多 限制,依赖于m i c r o s o f t 新的底层访问方法o l e d b ( 对象链接和嵌入数据库) 。 o d b c 通常用来访问不具备o l e d b 特性的非m i c r o s o f t 数据库中的数据;1 6 位的o d b c 驱动程序工作起来可能非常缓慢。 ( 4 ) a d o 允许进行批更新( 使用的u p d a t eb a t c h 方法) ,这样将大大减轻网 1 0 第二章远程测控拉曼光谱仪测控程序的技术背景 络负担,提高数据库处理效率。 综合以上几点,a d o 具有更大的优势,特别是它的批更新功能,更是网络 环境下大数据量更新应用的重要基础。加之面向对象的特性使a d o 具有比较广 阔的发展前景,所以在本测控程序中最终选择了利用a d o 访问数据库。 4 v c 中使用a d o a d o 实际上就是由一组a u t o m a t i o n 对象构成的组件,因此可以象使用其它 任何a u t o m a t i o n 对象一样使用a d o 。a d o 中最重要的对象有三个:c o n n e c t i o n 、 c o m m a n d 和r e c o r d s e t ,它们分别表示连接对象、命令对象和记录集对象。 使用a d o 编程时可以采用以下三种方法之一: ( 1 ) 使用预处理指令# i m p o r t # i m p o r t ”c a p r o g r a mf i l e s c o m m o nf i l e s s y s t e m k m ) o h n s a d 0 1 5 d l l ” n o _ n a m e s p a c er e n a m e ( ”e o f ”,”e n d o f f i l e ”) 但要注意不能放在s t d a f x h 文件的开头,而应该放在所有i n c l u d e 指令 的后面。否则在编译时会出错。 程序在编译过程中,v c + + 会读出m s a d 0 1 5 d l l 中的类型库信息,自动产生两 个该类型库的头文件和实现文件m s a d 0 1 5 t m 和m s a d 0 1 5 t l i ( 在d e b u g 或r e l e a s e 目录下) 。在这两个文件里定义了a d o 的所有对象和方法,以及一些枚举型的 常量等。程序只要直接调用这些方法就行了。 ( 2 ) 使用m f c 中的c i d i s p a t c h d r i v e r 就是通过读取m s a d 0 1 5 d l l 中的类型库信息,建立c o l e d i s p a t c h d r i v e r 类的 派生类,然后通过它调用a d o 对象。 ( 3 ) 直接用c o m 提供的a p i 如使用如下代码: c l s i de l s i d ; h i 己e s u l th r = :c l s i d f r o m p r o g l d ( l ”a d o d b c o n n e c t i o n ”& c l s i d ) ; i f ( f a i l e d ( h r ) ) ) :c o c r e a t e l n s t a n c e ( c l s i d ,n u l l ,c l s c t x _ s e r v e r , i i d _ i d i s p a t c h , ( v o i d 宰奉) 第二章远程测控拉曼光谱仪测控程序的技术背景 & p d i s p a t c h ) ; i f ( f a i l e d ( h r ) ) 以上三种方法,第一和第二种类似,较为容易使用,第三种方法编程最为 麻烦。但第三种方法也是效率最高的,程序的尺寸也最小,对a d o 的控制能力 也最强,并且当需要绕过a d o 而直接调用o l ed b 底层的方法时,就一定要使 用第三种方法。所以本测控程序选择了第三种方法在v c 中使用a d o 。 2 2 2a c c e s s 和s q ls e r v e r 数据库的比较 a c c e s s 是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单 机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4 个。a c c e s s 数据库有一定的极限,如果数据达到1 0 0 m 左右,很容易造成服务器 i i s 假死,或者消耗掉服务器的内存导致服务器崩溃。 s q ls e r v e r 是基于服务器端的中型的数据库,适合大容量数据的应用,在功 能和管理上也要比a c c e s s 要强得多。在处理海量数据时更有效率,后台开发的 灵活性、可扩展性等方面也更加强大。因为现在数据库都使用标准的s q l 语言 对数据库进行管理,所以如果是标准s q l 语言,两者基本上都可以通用的。s q l s e r v e r 还有更多的扩展,可以用存储过程,数据库大小无极限限制。 s q ls e r v e r 数据库的特征及其与a c c e s s 数据库的区别 内容a c c e s s 特征s q ls e r v e r 特征 网络版,可支持跨界的集团公司异地使用 版本桌面版 数据库的要求 一人工作,要锁定, 节点节点多,支持多重路由器 其他人无法使用 1 2 第二章远程测控拉曼光谱仪测控程序的技术背景 管理权限 否管理权限划分细致,对内安全性高 防黑客能 否数据库划分细致,对外防黑客能力高 力 并发处理 1 0 0 人或稍多 同时支持万人在线提交,在其它硬件例如 能力网速等条件匹配的情况下可完全实现 导出x m l 可以,需要单作程序 可导出成为x m l 格式,与o r a c l e 数据库 格式和d b 2 数据库通用,减少开发成本 数据处理 一般 快 能力 是否被 否是 优化过 图2 2a c c e s s 与s q ls e r v e r 比较图 通过以上的比较可以看出s q l s e r v e 在性能方面具有更大的优势,但由于目 前在本程序中的应用只是简单存储实验数据文件的相关信息,并且到目前为止 本测控程序只适用于单用户操作,所以选择了a c c e s s 数据库。 2 3 网络基础知识 2 3 1t c p i p 体系结构与特点 2 3 1 1t c p i p 体系结构 t c p i p 协议实际上就是在物理网上的一组完整的网络协议。其中t c p 是提 供传输层服务,而i p 则是提供网络层服务。t c p i p 包括以下协议:( 结构如图 2 3 ) 1 3 第二章远程测控拉曼光谱仪测控程序的技术背景 圆 l 硬件接口 图2 3t c p i p 体系结构图 i p : 网间协议( i n t e r n e tp r o t o c 0 1 ) 负责主祝间数据的路由和网络上数据的存 储。同时为i c m p ,t c p ,u d p 提供分组发送服务。用户进程通常不需要涉及这 c j 肱o a r p :地址解析协议( a d d r e s sr e s o l u t i o np r o t o c 0 1 ) 此协议将网络地址映射到硬件地址。 r a r p : 反向地址解析协议( r e v e r s ea d d r e s sr e s o l u t i o np r o t o c 0 1 ) 此协议将硬件地址映射到网络地址 1 4 第二章远程测控拉曼光谱仪测控程序的技术背景 i c m p : 网间报文控制协议( i n t e m e tc o n t r o lm e s s a g ep r o t o c 0 1 ) 此协议处理信关和主机的差错和传送控制。 t c p : 传送控制协议( t r a n s m i s s i o nc o n t r o lp r o t o c 0 1 ) 这是一种提供给用户进程的可靠的全双

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论