前言:中文期刊网精心挑选了数据通信范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
数据通信范文1
所谓的分组交换,指的是将用户发过来的报文的整体分成若干个定长的数据段,然后将这些分好的数据段进行存储,在网内进行传输。每一个数据段也就是一个分组,每一个分组都标识着接收地址和发送的地址。同时不同的用户的分组数据都采用的动态传输,也就是同一条路径可以有不同的用户在进行分组传送,因此,这种方式的传输效率较高。
二、数据通信的应用及发展前景
(一)移动数据通信在业务上的应用
1.移动数据通信的应用是利用移动通信的系统进行数据通信,它不仅可以作为固定的数据通信,还能够实现移动的图文传真、计算机联网、远距离传输等。由于移动数据的通信设备具有个性化的特点,因此数据传输的时候往往会由于一个网络端口会被人们多次使用,所以会经常出现拥堵的情况,由此便造成了多个连接终端不顺利进数据传输。但是移动数据通信就不会出现这种情况,我们只需要根据正常的程序进行,一个终端只负责一个用户,提高了数据传输的效率。除此之外,移动数据通信还能够实现电脑与电脑之间的远程操作和简单的数据传送,这样就利于人们在业务频繁的时候,可以随时随地的进行数据传输,从而达到省时高效的目的。由此可以发现,移动数据的通信可以使用户及时的收发消息。
2.帧中继技术应用。所谓的帧中继应用,主要是指使用光纤作为主要的传输方式,由于帧中继由于具有出错率低的技术特点,从而受到了人们的广泛关注。目前为止,这种技术被作为主要的宽带数据接口,也是交换数据的一种手段。但是这种方式不适用语音或者是视频这类传输,其具有特定的服务特性。
(二)数据通信的发展前景
数据通信范文2
关键词:cdma移动通信系统
1引言
目前,世界上关于移动数据通信系统的研究和开发工作正在如火如荼地进行。全球移动数据通信网络运营商已超过50家,各发达国家和各大电信运营商、制造商都开始致力于移动数据通信业务的发展。未来移动数据通信业务将呈现多样化发展的特点。在第二代gsm和cdma网络向第三代网络演进的过程中,目前研发与应用主要集中在使用无线信道进行高速数据传输上,最引人注目的就是数据技术的引入和发展。如gsm网络通过采用gprs技术,数据最高速率可达115kbps,cdma网络演进到cdma20001x阶段时数据速率可达144kbps,而马上开始商用的第三代移动通信系统imt-2000,最高速率可达2mbps,预计以后可达10~20mbps,欧洲正在研发155mbps的未来移动通信系统。2002年12月9日,由中国大唐公司自主研发的符合td-scdma标准的第三代移动通信设备和终端一次性通过了第二阶段52项指标的测试(以数据业务为主)。2003年1月9日,中国联通的cdma20001x网络在上海测试完毕,现已在多个大中城市正式对用户开通。
当前,虽然通用的cdma移动数据通信系统、设备和终端的研究和开发很多,但针对配电自动化、交通监控与信息、银行卡服务、工业数据采集、环境检测等具体应用、独立研发的基于cdma公用移动通信网络的移动数据通信系统还不多见。
以移动数据通信业务的高速发展和联通cdma20001x网络建成为契机,在广泛了解国内外移动数据通信研发和应用现状、深入研究相关数据通信技术的基础上,本文提出了一种"基于cdma网络的移运数据通信系统"。
2系统特点
(1)成本低廉、尤其在通信网络的规模比较大时更为明显:
首先是建设投资小,网络建设中省去了大量的组网投资;其次是维护、运行费用低,网络运行过程中只需承担少量的终端维护费用;虽然需要支付一些数据通信使用费,但就目前的资费水平和网络规模估算,单就运行和维护费用一项的节省就足以对其进行补偿。
(2)网络组建的灵活性和方便性:
由于网络的基础设施已经十分完善,通信系统的组建只需要考虑中心站和布点的问题。在布点时可以充分地享受无线网络带来的地点选择上的自由性和移动通信网络的较全面的覆盖范围。在大部分地区,基本上可以不考虑布点的限制,甚至支持可移动的站点。对于复杂、易变,站点位置经常性变化的网络(城市改造、用户变更等),无线网络布点不受限制这一点更表现出它的优越性。
(3)地域范围和网络密度的适应性:
目前,cdma移动网的基站在城市中的密度大,而在乡村中则相对较小,正好满足在城市通信终端数量大、密度高而在乡村数量少、密度小的要求。因此,基于cdma网络的移动数据通信系统在地域范围和网络密度方面没有问题。
(4)数据业务适应性:
目前的cdma移动网络能支持多种丰富多彩的数据通信业务,因此基于cdma网络的移动数据通信系统完全能满足各种数据应用对通信的要求。
数据通信范文3
1通信系统传输手段
电缆通信:双绞线、同轴电缆等。市话和长途通信。调制方式:SSB/FDM。基于同轴的PCM时分多路数字基带传输技术。光纤将逐渐取代同轴。
微波中继通信:比较同轴,易架设、投资小、周期短。模拟电话微波通信主要采用SSB/FM/FDM调制,通信容量6000路/频道。数字微波采用BPSK、QPSK及QAM调制技术。采用64QAM、256QAM等多电平调制技术提高微波通信容量,可在40M频道内传送1920~7680路PCM数字电话。
光纤通信:光纤通信是利用激光在光纤中长距离传输的特性进行的,具有通信容量大、通信距离长及抗干扰性强的特点。目前用于本地、长途、干线传输,并逐渐发展用户光纤通信网。目前基于长波激光器和单模光纤,每路光纤通话路数超过万门,光纤本身的通信纤力非常巨大。几十年来,光纤通信技术发展迅速,并有各种设备应用,接入设备、光电转换设备、传输设备、交换设备、网络设备等。光纤通信设备有光电转换单元和数字信号处理单元两部分组成。
卫星通信:通信距离远、传输容量大、覆盖面积大、不受地域限制及高可靠性。目前,成熟技术使用模拟调制、频分多路及频分多址。数字卫星通信采用数字调制、时分多路及时分多址。
移动通信:GSM、CDMA。数字移动通信关键技术:调制技术、纠错编码和数字话音编码。
2数据通信的构成原理
数据终端(DTE)有分组型终端(PT)和非分组型终端(NPT)两大类。分组型终端有计算机、数字传真机、智能用户电报终端(TeLetex)、用户分组装拆设备(PAD)、用户分组交换机、专用电话交换机(PABX)、可视图文接入设备(VAP)、局域网(LAN)等各种专用终端设备;非分组型终端有个人计算机终端、可视图文终端、用户电报终端等各种专用终端。数据电路由传输信道和数据电路终端设备(DCE)组成,如果传输信道为模拟信道,DCE通常就是调制解调器(MODEM),它的作用是进行模拟信号和数字信号的转换;如果传输信道为数字信道,DCE的作用是实现信号码型与电平的转换,以及线路接续控制等。传输信道除有模拟和数字的区分外,还有有线信道与无线信道、专用线路与交换网线路之分。交换网线路要通过呼叫过程建立连接,通信结束后再拆除;专线连接由于是固定连接就无需上述的呼叫建立与拆线过程。计算机系统中的通信控制器用于管理与数据终端相连接的所有通信线路。中央处理器用来处理由数据终端设备输入的数据。
3数据通信的分类
3.1有线数据通信
数字数据网(DDN)。数字数据网由用户环路、DDN节点、数字信道和网络控制管理中心组成。DDN是利用光纤或数字微波、卫星等数字信道和数字交叉复用设备组成的数字数据传输网。也可以说DDN是把数据通信技术、数字通信技术、光迁通信技术以及数字交叉连接技术结合在一起的数字通信网络。数字信道应包括用户到网络的连接线路,即用户环路的传输也应该是数字的,但实际上也有普通电缆和双绞线,但传输质量不如前。
分组交换网。分组交换网(PSPDN)是以CCITTX.25建议为基础的,所以又称为X.25网。它是采用存储——转发方式,将用户送来的报文分成具用一定长度的数据段,并在每个数据段上加上控制信息,构成一个带有地址的分组组合群体,在网上传输。分组交换网最突出的优点是在一条电路上同时可开放多条虚通路,为多个用户同时使用,网络具有动态路由选择功能和先进的误码检错功能,但网络性能较差。
帧中继网。帧中继网络通常由帧中继存取设备、帧中继交换设备和公共帧中继服务网3部分组成。帧中继网是从分组交换技术发展起来的。帧中继技术是把不同长度的用户数据组均包封在较大的帧中继帧内,加上寻址和控制信息后在网上传输。
3.2无线数据通信
无线数据通信也称移动数据通信,它是在有线数据通信的基础上发展起来的。有线数据通信依赖于有线传输,因此只适合于固定终端与计算机或计算机之间的通信。而移动数据通信是通过无线电波的传播来传送数据的,因而有可能实现移动状态下的移动通信。狭义地说,移动数据通信就是计算机间或计算机与人之间的无线通信。它通过与有线数据网互联,把有线数据网路的应用扩展到移动和便携用户。
4网络及其协议
4.1计算机网络
计算机网络(ComputerNetwork),就是通过光缆、双绞电话线或有、无线信道将两台以上计算机互联的集合。通过网络各用户可实现网络资源共享,如文档、程序、打印机和调制解调器等。计算机网络按地理位置划分,可分为网际网、广域网、城域网、和局域网四种。Internet是世界上最大的网际网;广域网一般指连接一个国家内各个地区的网络。广域网一般分布距离在100-1000公里之间;城域网又称为都市网,它的覆盖范围一般为一个城市,方圆不超过10-100公里;局域网的地理分布则相对较小,如一栋建筑物,或一个单位、一所学校,甚至一个大房间等。
局域网是目前使用最多的计算机网络,一个单位可使用多个局域网,如财务部门使用局域网来管理财务帐目,劳动人事部门使用局域网来管理人事档案、各种人才信息等等。
4.2网络协议
网络协议是两台计算机之间进行网络对话所使用的语言,网络协议很多,有面向字符的协议、面向比特的协议,还有面向字节计数的协议,但最常用的是TCP/IP协议。它适用于由许多LAN组成的大型网络和不需要路由选择的小型网络。TCP/IP协议的特点是具有开放体系结构,并且非常容易管理。
TCP/IP实际上是一种标准网络协议,是有关协议的集合,它包括传输控制协议(TransportControlProtocol)和因特网协议(InternetProtocol)。TCP协议用于在应用程序之间传送数据,IP协议用于在程序与主机之间传送数据。由于TCP/IP具有跨平台性,现已成为Internet的标准连接协议。网络协议分为如下四层:网络接口层:负责接收和发送物理帧;网络层:负责相邻节点之间的通信;传输层:负责起点到终端的通信;应用层:提供诸如文件传输、电子邮件等应用程序要把数据以TCP/IP协议方式从一台计算机传送到另一台计算机,数据需经过上述四层通信软件的处理才能在物理网络中传输。
目前的IP协议是由32位二进制数组成的,如202.0.96.133就表示连接到因特网上的计算机使用的IP地址,在整个因特网上IP地址是唯一的。
数据通信范文4
【关键词】数据通信 结构分析 发展探讨
近年来, 数据通信技术在我国各行各业中的应用逐渐扩大, 数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。新时期的历史生产管理形式已经逐渐向着自动化、数字化、信息化和智能化的方向发展。因此,可以预测,数据通信技术的发展前景非常广阔。
1、数据通信的构成环节及其交换形式的分析
为了促进数据通信工程的稳定发展,我们首先要进行其构成原理的分析,促进其数据终端的有效分类,实现对其非分组型终端及其分组型终端的有效应用,确保整体运作环节的优化,确保工程的综合效益的提升。
在此过程中,我们要进行分组型终端系统的健全,实现对其计算机环节、相关用户分组交换机、用户分组装拆设备环节的有效应用,确保其各个环节的终端设备的有效应用。为了满足数据通信工程的综合效益的提升,我们也要进行非分组型终端系统的应用,确保其个人计算机终端环节及其其他专用终端环节的优化,促进其数据通信模式的深化,确保其电路交换环节及其相关信息传输环节的优化,确保其相关信息的共享。
为了满足实际工作的需要,我们也要进行其报文交换环节的优化,确保相关交换机的存储器的有效应用,确保其相关电路环节的优化,确保其交换机环节及其终端环节的有效应用,确保其方式环节的优化,确保其电路的利用效率及其中继线利用效率的提升,确保其分组交换环节及其相关环节的优化,确保其网内传输系统的健全。
在实际工作中,我们要进行其报文交换形式的应用环节分析,确保其对相关数据通信模式的深化应用,确保其分组交换环节等的发展。
该模式自身的优点是非常多的,具备一系列的电路交换的优势,及其报文交换模式的优势,满足了实际工作的需要。它适用于对话式的计算机通信,如数据库检索、图文信息存取、电子邮件传递和计算机间通信等各方面,传输质量高、成本较低,并可在不同速 率终端间通信。其缺点是不适宜于实时性要求高、信息量很大的业务使用。
2、数据通信分类环节的分析
为了满足数据通信工程的发展需要,我们要进行其相关种类的分析,促进其有线数据通信环节的优化,确保其相关光纤及其数字微波的有效应用,确保其相关数字数据传输网络的健全,确保其DDN 系统的健全,通过对其光纤通信技术、数据通信技术及其数字交叉连接技术的有效应用,确保其数字通信网络的健全,我们也要进行其分组交换网系统的健全。又称为X.25 网,将用户送来的报文分成具用一定长度的数据段,并在每个数据段上加上控制信息,构成一个带有地址的分组合群体,在网上传输。帧中继网是从分组交换技术发展起来的。帧中继技术是把不同长度的用户数据组均包封在较大的帧中继帧内,加上寻址和控制信息后在网上传输。
数据通信工程的稳定发展,离不开对其统计复用技术环节的优化,这一模式实现了对网络资源的有效应用,确保其相关信息流的共享,确保其网络资源的利用效率的提升。在此过程中,通过对其虚电路技术的有效应用,满足用户的数据信息工作的稳定发展,促进其相关环节的带宽的有效分配,促进其分组动态分配性的提升,实现对一系列的突发性业务的质量效率的提升,确保其交换功能的提升,满足了实际工作的需要。帧中继通常的帧长度比分组交换长,达到1024-4096 字节/ 帧,因而其吞吐量非常高,其所提供的速率为2048Mbit/s。帧中继没有采用存储_ 转发功能,因而具有与快速分组交换相同的一些优点。其时延小于15ms。无线数据通信也称移动数据通信,它是在有线数据通信的基础上发展起来的。有线数据通信依赖于有线传输,因此只适合于固定终端与计算机或计算机之间的通信。
3、数据通信网络及其相关环节的分析
3.1 数据通信工程的稳定发展,离不开对其计算机网络系统的优化。
通过对其光缆环节、及其计算机环节等的应用,确保其计算机通信网络的健全,确保其网络资源的有效共享,实现对打印机、相关程序的有效共享,通过对其局域网的应用,确保其工作环节的优化。如财务部门使用局域网来管理财务帐目,劳动人事部门使用局域网来管理人事档案、各种人才信息,公安刑侦部门使用局域网来管理犯罪信息系统、交警部门使用局域网来管理机动车辆、驾驶员信息等等。
网络协议的定义并不复杂,它是计算机之间进行网络对话的语言模式,它的种类是非常多的,其网络协议数量也是比较的,比如其面向比特的协议等但最常用的是TCP/IP协议。它适用于由许多LAN 组成的大型网络和不需要路由选择的小型网络。TCP/IP 协议的特点是具有开放体系结构,并且非常容易管理。
3.2 我们也要进行数字数据电路应用范围的分析,其包括一系列的各种专用网、公用数据交换网及其可视图文系统等,这一系列的环节。
这一系列模式的应用,满足了其数据信道环节的运行的需要,满足了其相关网络系统的健全,满足了实际数据通信工作的发展需要。利用DDN 实现大用户局域网联网;如我区各专业银行、教育、科研以及自治区公安厅与城市公安局的局域网互联等。提供租用线,让大用户自己组建专用数字数据传输网;使用DDN 作为集中操作维护的传输手段。
为了满足数据信息工作的发展需要,我们要进行其分组交换网络的有效应用,确保其相关电路业务环节的优化,确保其相关通信平台的有效应用,确保其相关增值数据业务的稳定运行。确保其电子信箱系统的健全,满足实际工作的需要。在分组交换网平台上用户把需发送的信息以规定的格式送入电子信箱的存储空间,由电子信箱系统处理和传输后,送到接收用户的电子信箱并通知收信人。电子数据交换是计算机、通信和现代管理技术相结合的产物,又被称为“无纸贸易”。
4、数据通信的发展前景
数据通信技术在我国中的应用前景非常广阔, 应用范围也将逐渐扩大。现阶段,数据通信已成为当今通信发展的一种主导性力量,实现数字化、综合化以及宽带化、智能化的连接,各种大量信息源的信息高速公路将是通信网络发展的重要方向。尤其是随着数据、图像、话音等各种类型的数据通信在各个层次以及各个领域中的综合性利用, 将会是数据通信未来发展的美好前景。展望未来数据通信技术的发展,很多的因素将会使数据业务保持持续的高需求以及高增长。比如,传统的电信业务向IP 网的转移方面会实现快速的发展,在其中最为明显的将是IP 电话,近些年来,IP 电话的使用率在不断提高,尤其是随着软交换等技术的发展, 会进一步加快这种转移的速度;随着宽带接入技术的不断普及与应用,在家中上班、电子商务以及远程医疗、教学等将会得到更快的发展,不断满足人们的需求。此外,随着下一代网络的出现以及发展将会带动更多的需求, 目前依然处于初始阶段的机对机的应用也将会逐渐趋向成熟。
以后网络通信技术的发展还得看人们的根本需求" 网络通信技术的发展必将更适宜社会发展的需求,满足人们的要求,使用更方便,安全性更高"网络通信技术的发展是一个社会发展的必然产物, 任何事物都不能阻碍其发展的步伐"当然,作为网络通信技术面临很大的挑战, 需要我们大家不懈的努力,以实现他的发展目标"
参考文献
[1]冯景瑜,卢光跃,包志强.认知无线电安全研究综述[J].西安邮电学院学报,2012(02)
数据通信范文5
关键词:多线程技术;数据通信;OSI模型
引言
进行数据通信软件的系统设计期间,在进行通信的过程中,因为硬件设备和远程装置存在一定的不足之处,在指令发出直到指令结束以后,在开始一端以及终端将会出现一定的延时问题。作为数据链路层的一个主要方面,需要在设计中的软件应该能够延迟,根据过去对于通信系统的常规设置,例如软件是在现实中进行工作的,根据格式同步周期对通信系统的性能有很大的影响。这样的问题需要什么方式去处理呢?鉴于此,我们就需要进行编程,并设定和使用一个比价合适的技术手段,也就是多线程技术,来保障通信系统的正常运行。
1.多线程技术模型的适用场合
(1)在用户输入自己的用户名时应该有一个主程序循环体系来保障相应的操作,不过这个体系并不只为数据而生;(2)使用一个相关用户的使用模式;(3)出具一个主要的模式来保障用户输入时主程序可以进行迅速反应并进行相应的应对。这些条件的任何组合都能够通过多线程技术编程的思想方式进行相应的处理。由于在程序中有很多不同的线程,因此把这个系统称作多线程。主循环当(且仅当)相关用户进行操作时才能够做出反应,同样应该对于相应模块问题加以解决。这个体系是基于多线程技术的用户输入而设计的。
2.数据通信和多线程技术系统
众所周知,在OSI堆栈结构的协议里,相关物理层被视为底层,而物理层又在数据进行相应的传播过程中起着主要的作用,顶层是应用层,主要体现在用户界面。实际的计算机上的物理层负责将数据传输到终端。传输完相应的数据,物理层需要进行一定时间内的守候,需要等从数据链路层接收过来的指令,也能够是从对等层获取数据。物理层无法拒绝这些实际的个体。总的来说,物理层在多线程技术下工作。这对于任何层都是成立的。所有既定的N层,在不同的给定时间内,都需要接收顶部或下一级的命令/响应。尽量不要让另一层同时工作。系统也需要以这种形式满足不同的需求。
3.多线程技术系统的数据通信设计
3.1多线程技术的通信设计中关键关键编程
(1)主循环——一般情况下也能够被称为主事件循环,也就是其在接受以及传输的过程中所遇事件。这样的体系还包括调度方面的能力;(2)也就是主事件体系,是使用不同形式对于主循环进行事件的传输;(3)进行接收的体系,也能够被称作数据处理器,这是主事件在进行循环的过程中进行相应的告知的主要事件;(4)在主事件的循环过程中能够使用相应的监管方式的体系,这个体系中不同的EVENTHANDLER均能够进行主事件的循环。
3.2线程技术编程框架设计
(1)scheduler——对于主事件循环的完美阐释。scheduler表明时间处理程序是现实的,其所监视的事件也是现实存在的;相反,scheduler在产生相应的事件期间需要使用相应的解决办法。(2)eventHandler——为在系统中的不同事件进行相应设计的主要标准eventHandler使用经常使用的接口SetEven(),将scheduler给予eventHandler所监控到的事件。在相应的接口中出现了回调函数CheckEven()以及Event-Callback(),对scheduler进行上报的不同事件加以核实。(3)inputHandler——这是eventHandler类的的其中的分支,在文件的输入上运用广泛。这样的类中能够产生不同的类,然后进行相应的函数重写EventCallback()在给出的相应设计中产生相应的设定。(4)timerHandler---为eventHandler类的其中一个类,在定时器的相应处理上颇有建树。这样一个类能够不断的衍生出不同的类,然后进行函数的重写Event-Callback(),对于超过世间的定时器给予相应的操作。各类主要操作如下:(1)SetInput(),为inputHandler,这个函数接受一个指向fd-set的相应体系并将其表示的文件代替另一位。(2)SetTimeout(),为timerHandler,这个函数接受一个指向timeval结构的指针,将定时器上的相应时间设置好。(3)InputReadCallback(),使用这个方式并且把输入方面的问题加以解决。(4)CheckInput(),为inputHandler,使用select将一个指令加以返回fd_set的结构,然后核实是否相同进行调整。它使用InputReadyCallback()取处理所有的输入。(5)TimeoutCallback(),为timerHandler,在超过相应的时间时进行解决。(6)CheckTimeout(),为timerHandler,将其交给timeval的结构里目前存在的数字,然后核实有无超市情形,如果有的话,就要进行TimeoutCallback。这种配置管理系统的设计,使用比较超前的国际水准,确保了这一系统和与其一样的互连和互操作标准系统。再进行相应的系统设计时需要使用相应的现实中的设计形式,使之能够达到预期。
4.结束语
在电信网络进程中主要遵循的标准是其在运营过程中需要完善的主要问题,使用相应的接口来保障网络以及交易的不断发展,运用相应的接口形式来保证网络技术持续发展并能够达到所需要的标准。在后期的电信网络管理运营期间需要不断进行发展和完善,文章从管理功能出发对于电信管理以及电信网络设计进行了具体的描述和分析,找出了目前电信网络将要不断发展的目标和努力的方向。不过,同样的,也以管理功能的角度对于目前使用的管理网络以及相关理念给予相应的建议。
参考文献:
[1]张松梅编.C++语言教程[M].成都:电子科技大学出版社,2015
[2]胡谷雨.当代网络以及计算机相关设计[M].电子工业出版社,2016
数据通信范文6
在设计数据通信软件系统的过程中,由于硬件需要与远程设备进行通信,因此从在通信信道的一端发出命令开始,到收方从通信信道的另一端返回的最终响应为止,必然会出现一个时间上的延迟。
由于时间延迟,如我们仍按以往的习惯实现系统,程序中必然有图1所示的类似的一个循环。数据通信软件系统。按以往的习惯实现必然包含有类似的一个小程序,它接受用户的输入进行处理并产生输出结果。户的输入而被挂起,也即程序将无限期地等待下去,直到用户提供了输入为止。一旦用户提供输入就会得到处理,并产生相应的输出,系统仍旧返回去等待新的输入。
而作为实现数据链路层的一部分,要求软件在设计上应该能够相应地进行延时等待,如按以往的习惯实现的通信系统,整个软件实际上是按一种同步格式进行工作的,同步循环的产生极大地影响了通信系统的性能。如何解决这个问题?为此我们必须重新选择编程模型,用一个更为恰当的术语——多线程技术,以适应数据通信系统实际需要。
1多线程技术模型的适用场合
假如有一个系统,它的功能上等同于一个同步系统,但是在设计上,程序不应无限期地去等待用户输入。在设计上必须考虑下列内容:
有一个主程序循环等待用户输入的发生,但这个循环并不是专门为等待某个输入数据;
提供一个处理用户输入的模块;
提供一套机制,使得当发生用户输入时,主程序循环能及时通知处理输入的模块。凡是复合上述条件的,均可用多线程技术编程的思想加以解决。图2所示的为一个多线程技术模型。主循环负责从用户界面接收用户输入事件,并负责通知需要处理这个事件的相应模块。
这种系统之所以被称为多线程技术,是因为程序中存在着多个线程(图中的虚线)。主循环当(且仅当)发生用户输入时才作出响应,并负责通知适当的输入处理模块。整个系统是按照多线程技术的用户输入这一实质来进行设计的。
从图2中我们看到,即使其中的一个用户从不响应,则系统也能够处理另一个用户的输入。经过上述转变,主程序循环可以完全负责调度管理,这其中包括了优先级和数据冲突方面的内容。按照模块化风格来进行设计,增加额外的用户时主程序循环就不必发生变化,只需要复制一个用户界面模块和一个输入处理模块。在了解了软件系统中的同步和多线程技术操作不同特点后,我们接下来探讨,本系统的数据通信设计应该用什么模型进行,选用同步模型编程还是多线程技术模型编程?
2数据通信和多线程技术系统
我们知道在OSI栈式结构的一组协议中,最低层的是物理层,它负责实际的数据传输;而顶层的是一些应用层,负责与用户接口。在本地计算机上的物理层负责把数据传送到通信链路另一端的对等层上。传送完数据之后,物理层应该处于一种等待状态,等待接收从上面的数据链路层发来的命令,或是从对等层传来的数据。物理层不能因为服务于这两个实体中的一个而拒绝另一个。因此在本质上说,物理层是工作于多线程技术模式下。图3中说明这种操作对于任何层来说都是适用的。给定的任何一层N,在任何一个时刻,都应该能接收来自上层或下层的命令/响应。尽可能不要在为某一层提供服务的同时而把另一层排斥在外。我们的系统也应该按照这种方式进行设计,使其能很好地满足这些要求。
3多线程技术系统的数据通信设计
通过上述探讨,我们已经了解,本数据通信的设计其本质上也是多线程技术模型。为详细说明有关多线程技术系统的设计框架,下面以一数据通信系统为例,并深入阐述其多线程技术模式编程的框架。
3.1数据通信系统中多线程技术编程要素
我们在数据通信系统中多线程技术编程时所掌握的要素如下:
主循环——通常也叫做主事件循环,因为它负责接收和传送事件.这个模块同时还肩负着调度的功能;
为主循环产生事件的模块,或者说是以某种方式向主循环通知事件;
接收通知的模块,主事件循环通知它所发生的事件。这个模块可以称为“数据处理器”;
一种使主事件循环能够知道所有它需要监视的事件的机制。这样,每个EVENTHANDLER就可以分别通知主事件循环,它需要哪些事件。图4中显示了一个多线程技术编程的模型,整个多线程技术编程的框架模型可以看成由一个主事件循环、OS事件发生器、事件处理器、回调和事件注册机制构成的。
3.2线程技术编程框架设计
这里我们着重介绍一组类的设计,这组类构成此数据通信多线程技术模式编程的框架如下。
scheduler——该类实现了主事件循环。事件处理程序要向scheduler声明它们的存在,以及它们所要监视的事件;而反过来,scheduler在事件发生时要通知事件处理程序。
eventHandler——这是我们系统中所有事件处理程序的基类eventHandler有一个通用的接口SetEven(),这使得scheduler可以知道每个给定的eventHandler实例所监视的是什么事件。接口中还提供了通用的回调函数CheckEven()和Event-Callback(),对scheduler所报告的各种事件进行必要的处理。
inputHandler——这是eventHandler类的一个子类,它提供对文件上输入的各种处理功能。从这个类可以继承派生出其他的类,并重写函数EventCallback()当给定文件上的输入就绪时执行某种特定的操作。
timerHandler---这是eventHandler类的一个子类,它提供对定时器的各种处理功能。从这个类可以继续派生出其他的类,并重写函数Event-Callback(),对发生超时的定时器的定时器采取特定的操作。各类主要操作如下。
SetInput(),属于inputHandler,这个函数接受一个指向fd-set结构的指针,把代表它的文件描述符的那一位,置1.
SetTimeout(),属于timerHandler,这个函数接受一个指向timeval结构的指针,并设置该定时器在超时前所需的时间。
InputReadCallback(),属于inputHandler,这个函数对输入进行处理。
CheckInput(),属于inputHandler,这个函数接受一个指向由select返回的指向fd_set结构的指针,并检查它的文件描述符上是否有数据准备好输入。它调用InputReadyCallback()取处理所有的输入。
TimeoutCallback(),属于timerHandler,这个函数对超时进行处理。
CheckTimeout(),属于timerHandler,这个函数对比传递给它的timeval结构中的当前时间的值,并确定是否已经超时,如果已经超时,它就调用TimeoutCallback.用多线程技术编程模型设计的此数据通信类定义如下,此类的层次结构和相互关系如图5所示。(如UNIX环境等),辅以人工编码,经过编译、测试就可获得一实用系统。这样设计出的配置管理系统,由于采用了先进的国际标准,保证了本系统与其它采用相同标准系统的互连和互操作。系统模型设计采用了功能实体设计,这样便于实现和维护。