/ppt-network

The source code of a ppt display software.

Primary LanguageC#

#P2P网络分布式教学数据采集共享平台

##1. 开发者:

吴开

@kaholai

@郑杰1900

prafulliu

##2. 作品综述

  • 引言

多媒体教学在各个学校已经普及,但目前多媒体教学主要是用于幻灯片的放映。由于在幻灯片上书写的不方便,这种放映只是一种预设好的静态过程,不利于根据课堂教学实时情况进行动态交互,因此,教室在配备昂贵的多媒体教学设备的同时,还需要配备传统的粉笔加黑板;在一些没有黑板的会议室,为了交流,也往往配备了白板加彩笔等额外设施。另外一方面,在黑板或白板上书写的数据也只是临时展示,不能长久保存。 目前计算机性能不断提高,很多学校在教室配备了性能非常好的计算机,将这些高性能计算机只是用于简单的诸如幻灯片放映等操作,没有充分发挥这些设备的价值。

另一方面,目前移动智能设备(例如:智能手机)也得到快速发展和普及,其计算能力已经能够满足一些日常应用。本项目将智能终端设备和现有配备的多媒体计算机结合起来,实现了智能终端设备在多媒体计算机上的注册以及与多媒体计算机的实时交互。智能设备在多媒体计算机上的注册实现了通过软件了解学生的到课情况以及课堂学习情况;利用智能设备强大的手写功能,克服了原有幻灯片的静态放映的缺点,实现了通过幻灯片进行动态交互的功能,以及在幻灯片上进行板书的功能,可以取代黑板和白板。 对于通过多媒体计算机采集到的课堂实时数据,基于Chord算法,本项目构建了一个P2P网络,通过该网络实现教学数据的分布式存储与检索,网络中的任何一台多媒体设备都可以采集,检索以及下载课堂实时教学数据,实现了课堂实时数据的永久保存和计算。

  • 软件概况

软件开发平台:

在手机端采用 .Net Compact framework

在电脑客户端采用.Net framework

  • 软件开发语言:

开发语言采用C#

  • 软件架构:

本平台整体框架共分两个系统:

围绕多媒体设备组成的移动设备无线网络系统和多媒体设备组成的P2P网络系统。

下面分别介绍这两个系统。

a. 主要由有手持移动设备和计算机组成的移动设备无线网络及多台多媒体计算机组成的P2P网络构成。

b. 当客户端收集了采集后的课堂教学数据后,将会储存到服务器端,多个服务器端的电脑将作为一个节点加入P2P网络。

在P2P网络的设计中,对于课堂教学数据,我们采用的是内容索引来表示。将内容索引抽象为<K, V>对。 K是内容关键字的Hash摘要 K = Hash(key) V是存放内容的实际位置,例如节点IP地址等 所有的<K, V>对组成一张大的Hash表,因此该表存储了所有内容的信息 每个节点都随机生成一个标识(ID),把Hash表分割成许多小块,按特定规则(即K和节点ID之间的映射关系)分布到网络中去,节点按这个规则在应用层上形成一个结构化的重叠网络。 给定查询内容的K值,可以根据K和节点ID之间的映射关系在重叠网络上找到相应的V值,从而获得存储文件的节点IP地址。

##3. 软件特色

  • 创新性

对于移动设备网络而言:

   > a.教学用的多媒体设备同移动设备的结合使用 
   > b.实时教学数据的采集	
####对于P2P网络而言:	
>  Chord算法P2P网络共享教学数据
  • 实用性 ####从设备性能方面出发:

    教学用多媒体计算机性能已足够高可以支持到组建一个蓝牙网络以及作为一个节点加入到P2P网络中。移动智能设备的保有量逐年增加,对于移动设备的充分使用已经是个趋势。 ####从教学现状出发: 目前的条件和多媒体设备的不良操作性导致了课堂互动性难以提高,部分学生没有机会加入到课堂实时互动。 因条件所限,课堂教学数据无法实时保存。这对于提高教师群体整体水平和作为宝贵的资源保留都是一个较大的损失。 传统的黑板加粉笔的模式在新的多媒体教学设备时代应该淘汰了,新的系统不管是对教学设备还是教学方式的改变都是革命性的,新的设备带来的高效性与实用性的同时,也可以让老师原理粉笔灰,有益于老师的身体健康。

  • 易用性

    整个软件界面简洁,可操作性强,容易供师生使用。

  • 突破的技术难点

    i. PPT远程控制

      (i).PPT远程标注:
    

    用智能手机的触摸屏代替鼠标进行标注。

    PPT的后台实时页操作

      (ii).蓝牙通信开发:
    

    多台蓝牙设备进行相互通信

    ii. Chord算法的P2P网络系统的实现

    文件传输系统的实现等

  • 性能

    性能优良、不管是对多媒体电脑还是对于智能手机而言,都可以流畅运行。