论文部分内容阅读
摘要:屏幕广播技术在计算机实验室有着非常大的实用性,尤其是现在大型的计算机实验室,传统的靠投影仪进行操作演示已经无法满足学生的需求,往往造成坐在后排的学生无法看清教师的操作演示。若采用屏幕广播技术,即使坐在后排的学生,也能通过电脑屏幕看清楚教师的操作演示,从而达到良好的实验教学效果。
关键词:屏幕广播;UDP协议;数据传输
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)31-7765-02
屏幕广播技术在实验教学领域,特别在计算机实验教学上起到非常好的作用。一般看来屏幕广播技术的核心技术主要集中在屏幕的截取以及传输上。要做到实时性强,屏幕色彩以及刷新速度与教师机一样是非常不容易的。
就目前所了解的解决方案中一般就截取画面而言,如果采用截取整个屏幕然后广播传输是不可取的,因为这样会增加网络传输的负担,传输的数据量大,实时性也不好。而另外的一种方案就是将屏幕分为若干区域通过判断屏幕中画面的不同区域的图像改变而将改变的部分通过网络传输。但这样做也会造成网络传输频繁,画面有时候会产生残留现象。若采用无连接的、占用网络带宽资源较少的UDP协议可以解决这个问题。
1 UDP协议
UDP是User Datagram Protocol的简称,中文名是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。
UDP协议的特点:
1) UDP是一个无连接协议,传输数据之前,源端和终端不建立连接。
2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
5) UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。
虽然在局域网不稳定的环境下,UDP协议数据包丢包率会偏大。但是由于UDP协议所具有的特性——不属于连接型协议,因此具有占用网络小,处理速度快的优点,所以通常多媒体文件,特别是音频、视频和普通数据在传送时较多的使用UDP。因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如常用的QQ,在传输文字数据、语音数据的时候就是采用UDP协议。
正是由于UDP协议有些这种无连接方式、不可靠的特性,这就使得在一个小型百兆快速以太网中,由于网络环境比较满意,所以我们就能使用此协议进行屏幕广播。再加上每台计算机使用UDP协议的时候占用网络带宽较小,即使局域网中接入较多的计算机(一般计算机实验室的机器数在100台左右)也不会由于网络带宽占用太大而造成屏幕广播的延时。
2 屏幕广播技术
屏幕广播技术实际上是以C/S的方式,通过计算机局域网得以实现的。服务器程序一般安装在主控制计算机上,通常安装在每间实验室的教师机;客户端一般安装在受控制计算机上,通常安装在实验室的学生机上。主控制计算机通过截屏将屏幕里的数据广播至受控制计算机。若采用TCP协议,则会造成数据延时过高。正由于UDP协议不需要建立连接和释放,所以在广播数据中具有效率高、速度快、延时低等有点,故屏幕广播技术适合采用UDP协议进行数据的广播。
实现远程屏幕广播包括以下5个主要步骤:
1) 主控制端和客户端利用UDP协议,主控制端绑定IP广播地址;
2) 主控制端抓取屏幕的数据;
3) 压缩屏幕图像的数据;
4) 由控制端通过局域网向客户端广播发送图像数据;
5) 客户端接收主控制端发送的数据并进行显示屏幕图像。
屏幕广播技术是利用Windows的多线程技术和UDP协议来共同实现的。当教师机上启动屏幕广播之后,系统会创建一个新的线程用来进行当前的屏幕广播,当屏幕广播终止之后自动将这个线程关闭,使得操作系统的资源能够得到重新利用。该线程是在系统的后台执行,由系统的主线程控制。为了提高传输速率,同时降级网络资源的占用,首先要对教师机的屏幕进行分割抓屏,也就是说要将教师机的屏幕按照3×3平均分割成9个较小的网格区域,每个网格区域对应于一个传输线程,接着通过CRC校验即循环冗余校验码(Cyclic Redundancy Check)比对算法找出哪些屏幕区域发生了变化,将发生变化区域的位图数据进行JPG格式的数据压缩,然后使用UDP协议将发生改变的屏幕区域通过对应传输线程传输到客户端的学生机上。学生机在接受到数据之后再将其进行重组,并且同时判断其区域位置,最后将图像显示在学生机的屏幕上。由于只是传输了屏幕发生改变的区域数据,再加上采用具有无连接型、占用网络带宽资源少的UDP协议进行传输数据,在一个局域网内,屏幕广播效果得到了很大的提升。
上述屏幕广播的过程周而复始,这样就能把教师机上屏幕数据不断的发送到学生机。使得教师在教师机上的全部操作都能实时的传输到学生机的屏幕上。这样的话,教师能够边讲解教学内容、边进行实际操作演示给学生看,不仅提高了课堂教学效果,而且提高了学生的学习效率。
说明:
循环冗余校验码(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。它的的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。将作为控制端的教师机的屏幕划分成3*3的9个网络区域,对这9个网格区域分别进行屏幕数据的抓取。然后进行CRC校验比对。数组Prior CRC:array[0..8] of int64;和New CRC:array:[0..8] of int64;分别用于存储上一次和本次不同抓屏的网格图像数据的校验值,如果New CRC[tag]=Prior CRC[tag],则说明该网格内的屏幕显示没有发生变化,则该数据就不需要进行传输。若New CRC[tag]<>Prior CRC[tag],则说明该网格内的屏幕显示已经发生变化,则该数据就需要通过UDP广播协议在局域网内进行数据的传输,将数据发送到客户端,再由客户端将网格数据还原显示到指定的屏幕网格区域,这就完成了一次屏幕广播。
3 屏幕广播技术在实际实验教学中的应用
计算机实验室管理平台是海南大学三亚学院计算机应用基础实验中心的省级科研项目,里面的特色之一就是屏幕广播技术。该平台已经在实验中心使用2年多了,反映效果良好。尤其平台内所嵌套的屏幕广播技术,得到了学院领导的一致肯定和实验教师的一致好评。
屏幕广播技术有效的解决了在局域网内进行广播大量网络数据的时候,占用大量网络带宽和系统资源这一棘手的问题。在计算机上机实验教学中,教师通过计算机管理平台中的屏幕广播模块,教师可以选择对特定机房还是对特定班级进行屏幕广播,边讲解、边实际操作给学生看。当屏幕广播结束之后,学生能够立刻进行实践操作。随着学院的不断壮大完善,班级不断的扩大,实验室也要根据实际需要进行扩大。若每间计算机实验室扩展较大,传统的用投影仪教学的方式已经无法适应大型计算机实验室实验教学的需求,且投影仪维护费用较高,尤其是投影仪的灯泡寿命仅仅3000小时左右,这就造成实验中心维护费用较高。通过采用屏幕广播技术,可以在提高实验教学效果的同时,大大的降低实验教学的运行成本。在计算机实验室中具有广泛的用途。
参考文献:
[1] 臧辉如.高校计算机实验室综合管理的研究[C].海南省高校实验室论文集,2009.
[2] 刘佳,冯震,单娟.基于Winsock通信的远程屏幕抓取技术研究[J].石家庄铁路职业技术学院学报,2008(12).
[3] 陈绍钧.屏幕广播技术在演示教学系统中的应用[J].实验室科学,2008(8).
[4] 黄天强,徐洪智,胡斌.基于UDP的计算机远程屏幕广播技术及其实现[J].湖南文理学院学报:自然科学版,2009(6).
[5] 高传善,毛迪林,曹袖.数据通信与计算机网络[M].2版.北京:高等教育出版社,2004.
关键词:屏幕广播;UDP协议;数据传输
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)31-7765-02
屏幕广播技术在实验教学领域,特别在计算机实验教学上起到非常好的作用。一般看来屏幕广播技术的核心技术主要集中在屏幕的截取以及传输上。要做到实时性强,屏幕色彩以及刷新速度与教师机一样是非常不容易的。
就目前所了解的解决方案中一般就截取画面而言,如果采用截取整个屏幕然后广播传输是不可取的,因为这样会增加网络传输的负担,传输的数据量大,实时性也不好。而另外的一种方案就是将屏幕分为若干区域通过判断屏幕中画面的不同区域的图像改变而将改变的部分通过网络传输。但这样做也会造成网络传输频繁,画面有时候会产生残留现象。若采用无连接的、占用网络带宽资源较少的UDP协议可以解决这个问题。
1 UDP协议
UDP是User Datagram Protocol的简称,中文名是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。
UDP协议的特点:
1) UDP是一个无连接协议,传输数据之前,源端和终端不建立连接。
2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
5) UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。
虽然在局域网不稳定的环境下,UDP协议数据包丢包率会偏大。但是由于UDP协议所具有的特性——不属于连接型协议,因此具有占用网络小,处理速度快的优点,所以通常多媒体文件,特别是音频、视频和普通数据在传送时较多的使用UDP。因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如常用的QQ,在传输文字数据、语音数据的时候就是采用UDP协议。
正是由于UDP协议有些这种无连接方式、不可靠的特性,这就使得在一个小型百兆快速以太网中,由于网络环境比较满意,所以我们就能使用此协议进行屏幕广播。再加上每台计算机使用UDP协议的时候占用网络带宽较小,即使局域网中接入较多的计算机(一般计算机实验室的机器数在100台左右)也不会由于网络带宽占用太大而造成屏幕广播的延时。
2 屏幕广播技术
屏幕广播技术实际上是以C/S的方式,通过计算机局域网得以实现的。服务器程序一般安装在主控制计算机上,通常安装在每间实验室的教师机;客户端一般安装在受控制计算机上,通常安装在实验室的学生机上。主控制计算机通过截屏将屏幕里的数据广播至受控制计算机。若采用TCP协议,则会造成数据延时过高。正由于UDP协议不需要建立连接和释放,所以在广播数据中具有效率高、速度快、延时低等有点,故屏幕广播技术适合采用UDP协议进行数据的广播。
实现远程屏幕广播包括以下5个主要步骤:
1) 主控制端和客户端利用UDP协议,主控制端绑定IP广播地址;
2) 主控制端抓取屏幕的数据;
3) 压缩屏幕图像的数据;
4) 由控制端通过局域网向客户端广播发送图像数据;
5) 客户端接收主控制端发送的数据并进行显示屏幕图像。
屏幕广播技术是利用Windows的多线程技术和UDP协议来共同实现的。当教师机上启动屏幕广播之后,系统会创建一个新的线程用来进行当前的屏幕广播,当屏幕广播终止之后自动将这个线程关闭,使得操作系统的资源能够得到重新利用。该线程是在系统的后台执行,由系统的主线程控制。为了提高传输速率,同时降级网络资源的占用,首先要对教师机的屏幕进行分割抓屏,也就是说要将教师机的屏幕按照3×3平均分割成9个较小的网格区域,每个网格区域对应于一个传输线程,接着通过CRC校验即循环冗余校验码(Cyclic Redundancy Check)比对算法找出哪些屏幕区域发生了变化,将发生变化区域的位图数据进行JPG格式的数据压缩,然后使用UDP协议将发生改变的屏幕区域通过对应传输线程传输到客户端的学生机上。学生机在接受到数据之后再将其进行重组,并且同时判断其区域位置,最后将图像显示在学生机的屏幕上。由于只是传输了屏幕发生改变的区域数据,再加上采用具有无连接型、占用网络带宽资源少的UDP协议进行传输数据,在一个局域网内,屏幕广播效果得到了很大的提升。
上述屏幕广播的过程周而复始,这样就能把教师机上屏幕数据不断的发送到学生机。使得教师在教师机上的全部操作都能实时的传输到学生机的屏幕上。这样的话,教师能够边讲解教学内容、边进行实际操作演示给学生看,不仅提高了课堂教学效果,而且提高了学生的学习效率。
说明:
循环冗余校验码(CRC)是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。它的的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2的R次方除以生成多项式G(x)得到的余数就是校验码。将作为控制端的教师机的屏幕划分成3*3的9个网络区域,对这9个网格区域分别进行屏幕数据的抓取。然后进行CRC校验比对。数组Prior CRC:array[0..8] of int64;和New CRC:array:[0..8] of int64;分别用于存储上一次和本次不同抓屏的网格图像数据的校验值,如果New CRC[tag]=Prior CRC[tag],则说明该网格内的屏幕显示没有发生变化,则该数据就不需要进行传输。若New CRC[tag]<>Prior CRC[tag],则说明该网格内的屏幕显示已经发生变化,则该数据就需要通过UDP广播协议在局域网内进行数据的传输,将数据发送到客户端,再由客户端将网格数据还原显示到指定的屏幕网格区域,这就完成了一次屏幕广播。
3 屏幕广播技术在实际实验教学中的应用
计算机实验室管理平台是海南大学三亚学院计算机应用基础实验中心的省级科研项目,里面的特色之一就是屏幕广播技术。该平台已经在实验中心使用2年多了,反映效果良好。尤其平台内所嵌套的屏幕广播技术,得到了学院领导的一致肯定和实验教师的一致好评。
屏幕广播技术有效的解决了在局域网内进行广播大量网络数据的时候,占用大量网络带宽和系统资源这一棘手的问题。在计算机上机实验教学中,教师通过计算机管理平台中的屏幕广播模块,教师可以选择对特定机房还是对特定班级进行屏幕广播,边讲解、边实际操作给学生看。当屏幕广播结束之后,学生能够立刻进行实践操作。随着学院的不断壮大完善,班级不断的扩大,实验室也要根据实际需要进行扩大。若每间计算机实验室扩展较大,传统的用投影仪教学的方式已经无法适应大型计算机实验室实验教学的需求,且投影仪维护费用较高,尤其是投影仪的灯泡寿命仅仅3000小时左右,这就造成实验中心维护费用较高。通过采用屏幕广播技术,可以在提高实验教学效果的同时,大大的降低实验教学的运行成本。在计算机实验室中具有广泛的用途。
参考文献:
[1] 臧辉如.高校计算机实验室综合管理的研究[C].海南省高校实验室论文集,2009.
[2] 刘佳,冯震,单娟.基于Winsock通信的远程屏幕抓取技术研究[J].石家庄铁路职业技术学院学报,2008(12).
[3] 陈绍钧.屏幕广播技术在演示教学系统中的应用[J].实验室科学,2008(8).
[4] 黄天强,徐洪智,胡斌.基于UDP的计算机远程屏幕广播技术及其实现[J].湖南文理学院学报:自然科学版,2009(6).
[5] 高传善,毛迪林,曹袖.数据通信与计算机网络[M].2版.北京:高等教育出版社,2004.