一种实现的基于p2p的远程视频教育的方法

文档序号:7606934阅读:176来源:国知局
专利名称:一种实现的基于p2p的远程视频教育的方法
技术领域
本发明属于网络技术领域,尤其涉及一种实现的基于p2p的远程视频教育的方法。
背景技术
互联网技术的发展使我们可以足不出户就实现了即时通讯,与好友聊天,与合作伙伴谈判等等。目前,基于需要下载安装的即时通讯工具,如MSN,QQ,网易泡泡已经深受大家的喜爱,它为人们的沟通、信息交流提供了新的途径,是除手机、固话、电子邮件之外的又一种重要的信息交流方式。借助这些工具,用户可以实现单人或者多人视频,可以召开网络视频会议,可以进行网络远程教育,还可以让人和人之间的交流成本大大降低,且提高了效率。但是,使用上述即时通工具用户必须下载安装相应的客户端软件,如果软件有升级,每一台电脑都需要升级软件;而且,所有数据信息(比如聊天记录等)都保留在电脑终端,一旦更换了电脑就无法获取原有数据信息,非常不便;于是,人们便有了这样的需求 无需下载安装任何软件,一打开网页就可以实现即时通讯,且所有的数据信息能够安全地保存在网页上。目前,网络上也出现了一些网页上的通讯方式,比如留言板、论坛等,但是,其共同的不足是即时性太差,无法实现网页版音视频,难以满足人们即时沟通的需求。即使现在有些软件在网页上也实现了不用下载安装软件就可以实现远程视频教育(如fms或者red5), 但是却不能很好地实现点对点的视频通讯,无法利用用户的带宽资源,给远程视频教育平台提供方造成很大的服务器和带宽压力,导致运营成本随着用户数量的增加而急剧上升, 从而限制了这些软件的运营规模与经营范围,不具备大范围运用和推广的条件,以至于目前网页版远程视频教育没有出现具备一定市场规模的产品和公司。

发明内容
本发明提供了一种实现的基于p2p的远程视频教育的方法。实现了客户端不下载和高即时性的情况下,最大限度地利用用户闲置的带宽资源进行音视频网络会议。为了解决上述技术问题,本发明采用以下的技术方案—种实现的基于p2p的远程视频教育的方法,包括以下步骤1)用户打开网页,加载一个flash,flash连接stratus服务器,获取key,将key 和用户的账号保存到会话服务器;2)所有参与教学的用户保存到一个数组变量ρ ;3)讲师浏览器上的flash获取数组变量里的n(n为一个变量,且小于数组长度) 个用户a (为了描述方便,这里的a设置为这η个用户的别名);4)从会话服务器查找并获取a所对应的key,通过调用flash的方法向key对应的a发起连接请求;
5)a收到连接的请求后,通知讲师浏览器上的flash,讲师浏览器上的flash开始获取讲师本地的摄像头和麦克风,将摄像头和麦克风的音视频数据发送给a ;6) a收到音视频数据后,将音视频在flash中播放,并且从数组变量ρ中找出还没有音视频的η个用户b (为了描述方便,这里的b设置为没有音视频的η个用户的别名),若 b的个数为0,则执行步骤9),否则执行下一步;7) a分别从会话服务器查找并获取b所对应的key,通过调用flash的方法向key 对应的b发起连接请求;8)b收到连接请求后,通知a浏览器上的flash,a浏览器上的flash将音视频数据发送给b,b收到音视频数据后在b的浏览器中的flash上播放;9)若ρ中还有用户没收到音视频数据,则用a表示b,并继续获取用户数组变量ρ 中的还没收到音视频数据中的η个用户(设置别名为b),然后执行步骤7),若ρ中所有用户都已经收到音视频数据,则开始远程视频教育。其中步骤1)中所述会话服务器是指用来保存用户的账号和key的数据的服务器,所述stratus服务器是指flash官方提供的用于p2p通讯,分配key给flash客户端的服务器。本发明与现有技术相比具有以下优点(1)用户不用下载任何软件在网页上就可以实现远程视频教育,节省了购买远程视频教育的硬件成本,同时也减少了软件维护成本,整体降低了远程视频教育的使用成本。(2)即时性很好,无滞后。(3)跨平台,可运行在能支持浏览器的任意操作系统上。(4)由于采用了 p2p技术,可大大减轻服务器压力和节约带宽,大幅度降低运营成本。本发明提出了一种在网页上实现的基于p2p即点对点的远程视频教育的方法,能够在实现客户端不下载和高即时性的情况下,最大限度地利用用户闲置的带宽资源进行音视频网络会议,这将会极大地方便网络会议的使用和极大地减少部署远程视频教育需要投入的软硬件成本。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是本发明实施例1的详细流程图;图2是本发明实施例2的详细流程图。
具体实施例方式以下将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。一种网页上实现的基于p2p的远程视频教育的方法,包括以下步骤1)用户打开网页,加载一个flash,flash连接stratus服务器,获取key,将key 和用户的账号保存到会话服务器;
2)所有参与教学的用户保存到一个数组变量ρ ;3)讲师浏览器上的flash获取数组变量里的n(n为一个变量,且小于数组长度) 个用户a (为了描述方便,这里的a设置为这η个用户的别名);4)从会话服务器查找并获取a所对应的key,通过调用flash的方法向key对应的a发起连接请求;5) a收到连接的请求后,通知讲师浏览器上的flash,讲师浏览器上的flash开始获取讲师本地的摄像头和麦克风,将摄像头和麦克风的音视频数据发送给a ;6) a收到音视频数据后,将音视频在flash中播放,并且从数组变量ρ中找出还没有音视频的η个用户b (为了描述方便,这里的b设置为没有音视频的η个用户的别名),若 b的个数为0,则执行步骤9),否则执行下一步;7) a分别从会话服务器查找并获取b所对应的key,通过调用flash的方法以及 key向key对应的b发起连接请求;8)b收到连接请求后,通知a浏览器上的flash,a浏览器上的flash将音视频数据发送给b,b收到音视频数据后在b的浏览器中的flash上播放;9)若ρ中还有用户没收到音视频数据,则用a表示b,并继续获取用户数组变量ρ 中的还没收到音视频数据中的η个用户(设置别名为b),然后执行步骤7),若ρ中所有用户都已经收到音视频数据,则开始远程视频教育。下面进一步详细说明本发明所述的方法参见说明书附图中图1、图2,其中图1所示,是变量值η取值为2的情况;其中图 2描述了根据图1实现的一个具体流程。讲师和听课人都打开网页,加载flash,flash连接P2p服务器,p2p服务器分配通讯的key给所有用户,flash将key和用户的账号发送给会话服务器保存这个key和用户账号。讲师通过flash从会话服务器获取所有用户中的多个用户的key,建立p2p直连,然后将音视频发送这些用户。这些用户用同样的方法将音视频发送给还没有接收到音视频的其他多个用户,不断地从多个用户发送到其他的多个用户,直到所有的用户都接收到音视频为止。图2是本发明实施例2的详细流程图,详细步骤如下步骤201 参与到远程视频教学所有用户打开网页,加载flash ;步骤202 =Flash连接stratus服务器,获取key,并将key和用户账号保存到会话服务器;步骤203 讲师从所有用户中选择η (η为个数的变量)个用户,并从会话服务器查询出这η个用户对应的key ;步骤204 讲师通过浏览器中的flash利用key和这η个用户建立直连,并将讲师本地的音视频通过flash发送给这η个用户;步骤205 这η个用户收到音视频后,这η个用户分别从未收到音视频的所有用户中选择η个用户,并从会话服务器查询出这新选择的η个用户对应的key,并将音视频通过 flash发送给新的η个用户;步骤206 若未收到音视频的用户个数为0,则执行步骤207 ;否则,执行步骤205 ;步骤207 所有用户都收到音视频,并在各自的flash上显示。显然,本领域的技术人员应该明白,上述的本发明各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现的基于P2p的远程视频教育的方法,包括以下步骤1)用户打开网页,加载一个flash,flash连接stratus服务器,获取key,将key和用户的账号保存到会话服务器;2)所有参与教学的用户保存到一个数组变量P;3)讲师浏览器上的flash获取数组变量里的η(η为一个变量,且小于数组长度)个用户a,其中,a设置为所述η个用户的别名;4)从会话服务器查找并获取a所对应的key,通过调用flash的方法向key对应的a 发起连接请求;5)a收到连接的请求后,通知讲师浏览器上的flash,讲师浏览器上的flash开始获取讲师本地的摄像头和麦克风,将摄像头和麦克风的音视频数据发送给a ;6)a收到音视频数据后,将音视频在flash中播放,并且从数组变量ρ中找出还没有音视频的η个用户b,其中,b设置为没有音视频的η个用户的别名,若b的个数为0,则执行步骤9,否则执行下一步;7)a分别从会话服务器查找并获取b所对应的key,通过调用flash的方法向key对应的b发起连接请求;8)b收到连接请求后,通知a浏览器上的flash,a浏览器上的flash将音视频数据发送给b,b收到音视频数据后在b的浏览器中的flash上播放;9)若P中还有用户没收到音视频数据,则用a表示b,并继续获取用户数组变量ρ中的还没收到音视频数据中的η个用户(设置别名为b),然后执行步骤7),若ρ中所有用户都已经收到音视频数据,则开始远程视频教育。
2.如权利要求1所述的方法,其特征在于其中步骤1)中所述会话服务器是指用来保存用户的账号和key的数据的服务器,所述stratus服务器是指=Hash官方提供的用于 p2p通讯,分配key给flash客户端的服务器。
3.如权利要求1所述的方法,其特征在于讲师将音视频发送给所有用户中的多个用户,多个用户再将音视频发送给还没有接收到音视频的多个用户,不断重复地从多个用户发送到其他的多个用户,直到所有的用户都接收到音视频为止。
4.一种实现的基于P2P的远程视频教育的方法,其特征在于用户通过网页访问 stratus服务器并获得key,将所述key和用户的账号保存到会话服务器;所有参与教学的用户保存到一个数组变量P ;讲师通过从所述会话服务器获取的所述P中特定用户对应的所述key,向所述ρ中特定用户发送音视频数据;所述P中特定用户收到所述音视频数据后,根据从所述会话服务器获取的所述P中其它没有收到所述音视频数据的用户对应的所述key,向其发送音视频数据。
5.根据权利要求4所述的方法,其特征在于讲师通过从所述会话服务器获取的所述ρ 中特定用户对应的所述key,向所述ρ中特定用户发送音视频数据的过程为讲师浏览器上的flash获取数组变量里的η (η为一个变量,且小于数组长度)个用户a (a设置为这η个用户的别名);讲师浏览器上的flash获取数组变量里的η个用户a ;从所述会话服务器查找并获取a所对应的key,通过调用flash的方法向key对应的a发起连接请求;a收到连接的请求后,通知讲师浏览器上的flash,讲师浏览器上的flash开始获取讲师本地的摄像头和麦克风,将摄像头和麦克风的音视频数据发送给a。
6.根据权利要求5所述的方法,其特征在于a收到音视频数据后,将音视频在flash 中播放。
7.根据权利要求4所述的方法,其特征在于所述ρ中特定用户收到所述音视频数据后,根据从所述会话服务器获取的所述P中其它没有收到所述音视频数据的用户对应的所述key,向其发送音视频数据的过程为a收到音视频数据后,将音视频在flash中播放,并且从数组变量P中找出还没有音视频的η个用户b ;a从所述会话服务器查找并获取b所对应的key,通过调用flash的方法向key对应的b发起连接请求;b收到连接请求后,通知a 浏览器上的flash,a浏览器上的flash将音视频数据发送给b。
8.根据权利要求7所述的方法,其特征在于b收到音视频数据后在b的浏览器中的 flash上播放。
9.根据权利要求4所述的方法,其特征在于所述会话服务器是指保存用户的账号和 key的数据的服务器,所述stratus服务器是指=Hash官方提供的用于p2p通讯,分配key 给flash客户端的服务器。
全文摘要
本发明提供了一种实现的基于p2p的远程视频教育的方法,属于网络技术领域。方法是讲师和听课人都打开网页,加载flash,flash连接p2p服务器,p2p服务器分配key给所有用户,flash将key和用户的账号发送给会话服务器保存。讲师通过key和所有用户中的多个用户建立p2p直连,然后将音视频发送这些用户。这些用户用同样的方法将音视频发送给其他的多个用户,不断重复直到所有的用户都接收到音视频为止。该方法能使网页上实现基于p2p的远程视频教育和网络视频会议,在讲师和听课者之间直接建立连接,减轻了服务器的带宽压力,从而提高网络通讯的效率和网络利用率。
文档编号H04L29/08GK102316142SQ201110059920
公开日2012年1月11日 申请日期2011年3月14日 优先权日2010年7月2日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1