一种支持QoS的多屏同步显示的远程互动方法
【技术领域】
[0001]本发明涉及一种同步互动技术领域,具体是指一种支持QoS的多屏同步显示的远程互动方法。
【背景技术】
[0002]目前多屏同步互动主要是基于IP网络并采用定时刷新整个屏幕后截屏传输至远端的方式进行的,不管屏幕有无变动都进行整张屏幕图片的传输,此方法消耗大量的网络资源而且占用终端设备中大量系统内存及CPU使用率。而IP网络是一种“尽力而为”的网络,它不提供网络服务质量QoS (Quality of Service)保证机制,在需要同时传输视频、音频、数据等多种业务时,受网络带宽和速度限制,会导致过度延时、卡顿等现象,同步互动的效果不够理想。为了保证网络服务质量,增强用户的使用体验,提出一种支持QoS的多屏同步显示的远程互动方法,采用数据的分段传输而减少同步互动过程中的数据传输,保证多屏的同步显示以及用户端准确流畅的互动体验。
【发明内容】
[0003]本发明的目的在于提供一种支持QoS的多屏同步显示的远程互动方法,采用数据的分段传输而减少同步互动过程中的数据传输,保证多屏的同步显示以及用户端准确流畅的互动体验。
[0004]本发明通过下述技术方案实现:一种支持QoS的多屏同步显示的远程互动方法,包括以下步骤:
步骤SlOO:建立同步显示的互动平台;
步骤S200:共享同步互动的文件源资料包;
步骤IFllO:网络服务器不断搜索是否有新的访问请求或新的退出请求发生,若有则跳转步骤IF210,若无则继续执行步骤S200 ;
步骤IF210:访问请求或退出请求处理后,判断互动平台中用户端总数N的数值,N为非负整数,若N=O则直接跳转步骤S600,若N=I则跳转步骤S500,若N ^ 2则执行步骤S300 ;步骤S300:进入同步互动界面;
步骤S400:同步互动;
步骤IF120:网络服务器不断搜索是否有新的访问请求或新的退出请求发生,若有则跳转步骤IF220,若无则继续执行步骤S400 ;
步骤IF220:访问请求或退出请求处理后,判断互动平台中用户端总数N的数值,若N=O则直接跳转步骤S600,若N=I则跳转步骤S500,若N ^ 2则继续执行步骤S300 ;
步骤S500:退出同步互动界面,并跳转步骤S200 ;
步骤S600:撤销互动平台;
所述步骤SlOO:任意一个用户端凭借注册成功后获得的互动平台内唯一的ID号向网络服务器发出互动请求,建立互动平台并等待其他用户的加入;所述互动平台内的用户端通过网络服务器建立连接,并通过网络服务器调取数据服务器中的数据;
所述步骤S200:在互动平台中自动生成一个附带默认文件源的共享文件夹并存储在数据服务器中,已存在共享文件夹则不重复新建,互动平台内的任意一个用户端采用预设的大数据传输协议,从本地的存储模块上传文件源资料包至共享文件夹中供其他用户下载,或者从共享文件夹中下载文件源资料包至本地的存储模块进行本地存储;数据服务器不断向互动平台内的用户端发送调用文件源信息,用户端向数据服务器发送反馈日志以检测本地存储模块中是否存储有最新的完整的文件源资料包,未完成下载的用户端继续加载直至完成下载或退出下载,已经完成下载的用户端停止下载,实现文件源资料包的共享;所述文件源资料包包括文件源和文件源更新日志,文件源、文件源更新日志均包括多媒体文件中的多媒体数据、图层文件中的图层数据、指令文件中的指令信息和关联文件中的时间脚本流;所述时间脚本流是指同步模块根据互动平台定时发送的时间戳流对多媒体数据、图层数据、指令信息进行同步关联并以XML格式进行记录的数据;
所述步骤S300:完成文件源资料包下载的用户端进入同步互动界面,调用文件源资料包并加载长宽比固定的互动显示区,已加载互动显示区的用户端仅更新文件源资料包中的数据,完成最新互动显示区加载后执行步骤S400;所述互动显示区包括下层的播放层、上层的透明图层和后台的指令列表,加载互动显示区时在播放层加载多媒体数据,在透明图层上建立以左上方的顶点为坐标原点、水平方向为X轴且竖直方向为Y轴的坐标系并加载图层数据,在指令列表加载指令信息;所述坐标系中各个坐标点为坐标像素点;
所述步骤S400:互动平台内的任意一个用户端在本地的互动显示区进行操作使互动显示区内发生变化,互动显示区的变化转化为由指令、文字、数列组成的指令信息,指令信息由本地终端编码打包发送至数据服务器,再由网络服务器调用后发送至其他终端进行解码,其他终端将解码后的指令信息进行转换后分类加载至播放层或透明图层,并通过同步模块进行同步校准使得多个用户端的互动显示区同步变化,实现多屏的互动操作;
所述步骤S500:同步互动界面中仅有一个用户端时,无法进行同步互动而从同步互动界面退出;
所述步骤S600:互动平台内没有用户端时,该互动平台自动撤销。
[0005]所述步骤S100、步骤S200、步骤S300、步骤S400、步骤S500、步骤S600为主流程;所述步骤IF110、步骤IF210、步骤IF120、步骤IF220为穿插在主流程中不断进行条件判断的次流程。
[0006]第一,本发明中任意一个通过身份认证的用户端都可以借助网络建立一个临时性用于同步显示的互动平台并在互动平台内与其它用户端建立关系;互动平台内的用户端先共享同步互动用的文件源资料包并进行本地存储后才能进入同步互动界面,同步互动界面下的多屏同步互动主要依靠指令信息、更新日志等小数据文件的传输进行。本发明所涉及的方法将原本需要在同步互动过程中进行传输的音频、视频等大数据文件以及支持同步互动的预设文件以文件源资料包的形式共享给互动平台内的用户端提前进行加载,减少同步互动过程中数据的传输,节约同步互动过程中的网络资源,避免网络拥堵而导致的延时或丢包,支持QoS网络服务质量保证机制,保证多屏的同步显示以及用户端准确流畅的互动体验。
[0007]一方面,处于不同网络环境的用户端虽然在加载文件源资料包时存在较大差异,但同步互动过程中,由于传输的数据量较小而不容易受到网络环境影响,从而具有较好的同步互动体验。
[0008]另一方面,由于音频、视频等大数据文件可提前进行加载,突破网络带宽和传输速度的限制,可以共享高质量音频、视频等资源,进一步提升用户体验。
[0009]第二,本发明中的互动平台是开放式的,相对于封闭式的互动平台,满足条件的用户端可自由加入或退出而不影响其他用户端的同步互动,为互动平台内的所有用户端营造了更为舒适的体验环境。同时,新加入的用户端通过加载文件源资料包后实现与已加入用户端同步互动界面的同步,保证同步互动的效果。
[0010]第三,本发明中尽量避免数据的重复传输,如步骤S200所述,若用户端已经完全加载最新的文件源资料包则无需重复下载,若用户端已经加载最新的文件源资料包中的部分数据则无需下载重复数据仅下载缺失数据,以此减少网络中数据的传输,节约网络资源,提高数据共享的效率。所述文件源资料包包括文件源、文件源更新日志,文件源是基础数据包,而文件源更新日志是按时间戳流记录同步互动过程中每一次同步互动时多媒体数据、图层数据、指令信息各自发生的变化及三者关联关系的数据包。同步互动界面中的用户端只要加载最新的文件源更新日志即可实现同步互动。
[0011]第四,本发明中为了适应不同用户端的终端设备,如步骤S300所述,仅在终端设备的显示器上加载一个长宽比固定的互动显示区,用户端可根据实际情况唤醒、隐藏、拖动、放大、缩小互动显示区。本发明中的互动显示区相对于全屏加载,具有两个主要优势:一是用户端的显示器上保留部分隐私区,方便用户的其他操作;二是互动显示区虽然尺寸不同但长宽比固定,相当于同比例放大或缩小,减少同步显示过程中数据的计算量,进一步提高运行速度而保证同步互动过程的实时流畅。
[0012]第五,本发明将互动显示区分为下层的播放层、上层的透明图层和后台的指令列表,播放层主要用于播放多媒体文件,透明图层相当于电子白板而主要用于批注等图层文件的操作,指令列表主要用于指令的后台调用。调用指令可以实现不同输入设备对多媒体文件的播放状态、播放进度的控制以及对图层文件中批注格式的编辑等。因此,透明图层上的批注等操作不影响多媒体文件的播放,指令的调用在后台进行不影响显示效果。
[0013]第六,本发明在互动平台内不断搜索访问请求、退出请求、同步请求、控制请求等GET或POST请求并及时处理,响应速度快、增强用户体验。
[0014]进一步地,所述步骤S400具体是指以下步骤:
步骤S410:任意一个用户端成为控制端,其他用户端成为参与端,仅控制端拥有操作权;
步骤S420:控制端的同步模块监听本地的输入装置是否有动作,若无则不动作,若有则向网络服务器发送同步请求并在同步请求被授权后执行步骤S430 ;
步骤S430:控制端的同步模块判断互动显示区
是否发生变化,若无则不动作,若有则将互动显示区对应的变化转换为指令信息并生成对应的文件源更新日志,然后跳转步骤S440 ;
步骤S440:指令信息、文件源更新日志由控制端编码打包,采用预设的小数据传输协议发送至数据服务器,由数据服务器添加至共享文件夹进行更新保存并转发至互动平台内的参与端进行解码; 步骤S450:解码后的指令信息在参与端的互动显示区内进行同步输出;
步骤S460:本次同步互动完成后,重新跳转步骤S410而实现互动。
[0015]本发明中进入互动显示区的任意一个用户端都可以成为控制端进行操作,但如果有多个用户端同时进行操作容易造成干扰,尤其是在用户端数量较多时,多用户端同时操作会增加系统运算量而导致系统奔溃。为了减少系统的运算负担,本发明限制同步互动过程中在同一时间段内仅有一个控制端拥有操作权但不同时间段的控制端可以自由切换,以此实现有序、尚效的互动。
[0016]进一步地,所述步骤S410具体包括以下步骤:
步骤S411:互动平台中各个用户端按加入互动平台的时间顺序进行排序,并由网络服务器按序匹配控制线程并形成控制线程列表;所述控制线程分为在线、活跃、空缺三种状态,进入同步互动界面的用户端所占用的控制线程为在线状态,拥有操作权的在线的控制线程为活跃状态,退出同步互动界面的用户端所占用的控制线程为空缺状态,默认处于在线状态的最前端的控制线程为活跃状态,活跃状态的控制线程对应的用户端为控制端,在线状态的控制线程对应的用户端为参与端;
步骤S412:网络服务器接收到退出请求时,同意发出退出请求的用户端退出同步互动界面,对应的控制线程由在线状态变为空缺状态并等待网络服务器的重新分配,同时生成控制线程变更日志进行保存,其他用户端对应的控制线程顺序及位置都不改变;
步骤S413:网络服务器接收到访问请求时,同意发出访问请求的用户端加入同步互动界面,同时调取控制线程变更日志对现有控制线程列表中是否存在空缺状态的控制线程进行检索,若有则将任意一个空缺状态的控制线程分配至此用户端,若无则新建一个控制线程分配至此用户端;
步骤S414:网络服务器不断搜索是否有新的控制请求,若有则跳转步骤S415,若无则不动作;
步骤S415:任意一个参与端向网络服务器发送控制请求,由网络服务器将控制请求转发至当前的控制端,若当前的控制端同意则当前的控制端失去控制权而变为参与端且本次发出控制请求的参与端获得控制权而变为控制端,若当前的控制端不同意则控制权不变且本次控制请求失效。
[0017]本发明中涉及控制端选择和切换的方法,在满足实际使用需要的前提下尽可能减小数据的处理量。
[0018]进一步地,所述步骤S430中,互动显示区的变化包括播放层中多媒体文件播放状态、播放进度的改变或透明图层上坐标像素点及其对应颜色值的改变;所述步骤S430具体包括以下步骤:
步骤S431:控制端判断互动显示区内是否有对应本地鼠标操作的变化,若无则执行步骤S432,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ;
步骤S432:控制端判断互动显示区内是否有对应本地触摸屏操作的变化,若无则执行步骤S433,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ;
步骤S433:控制端判断互动显示区内是否有对应本地键盘操作的变化,若无则执行步骤S434,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ;
步骤S434:控制端判断互动显示区内是否有对应本地音频采集模块操作的变化,若无则执行步骤S435,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ;
步骤S435:控制端判断互动显示区内是否有对应本地视频采集模块操作的变化,若无则不动作,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440。
[0019]本发明中控制端互动显示区内的变化被时刻监听,而控制端互动显示区内的变化与多个输入装置的动作相关。本发明为不同输入装置的动作设定不同的优先级并按优先级依次循环监听,以减少数据的重复计算、提高监听的效率。
[0020]进一步地,所述步骤S450具体包括以下步骤:
步骤S451:控制端的互动显示区的尺寸与参与端的互动显示区的尺寸进行比较并获得比值;
步骤S452:控制端鼠标操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出;
步骤S453:控制端触摸屏操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出;
步骤S454:控制端键盘操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出;
步骤S455:控制端音频采集模块操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出;
步骤S456:控制端视频采集模块操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出;
步骤S457:输出完成后,参与端的同步模块向网络服务器发送同步校准请求;
步骤S458:同步校准请求通过后,网络服务器调用数据服务器中最新的时间脚本流转发至参与端;
步骤S459:参与端的同步模块接收到时间脚本流后,解析时间脚本流进行同步校准。
[0021]本发明中监听到控制端互动显示区内的变化后,如步骤S451所述,先获取控制端互动显示区与参与端互动显示区尺寸的比值,再如步骤S452、步骤S453、步骤S454、步骤S455、步骤S456所述,按优先级分别获取不同输入装置的动作并调用对应的指令信息进行输出,最后如步骤S457、步骤S458、步骤S459所述,每一步同步互动完成后还进行同步校准,为用户提供更准确的同步体验。
[0022]进一步地,所述步骤S453具体包括以下步骤:
步骤S4531:获取控制端触摸屏上位于互动显示区内划过的轨迹;
步骤S4532:将步骤S4531中获取的轨迹转化为一系列的采样点,对照本地透明图层上的坐标获取所有采样点的坐标值;
步骤S4533:获取步骤S4532中采样点对应的颜色值;
步骤S4534:根据采样点的先后顺序,将坐标值与颜色值进行关联后并形成数列;
步骤S4535:根据步骤S451中获取的比值计算采样点对应本参与端互动显示区中的坐标值且对应坐标值关联的颜色值不变而获得新数列,将新数列中坐标值和关联的颜色值输出至参与端互动显示区,实现轨迹的同步互动。
[0023]本发明中监听到控制端互动显示区内的变化后,如步骤S451所述,先获取控制端互动显示区与参与端互动显示区尺寸的比值,再如步骤S452、步骤S453、步骤S454、步骤S455、步骤S456所述,按优先级分别获取不同输入装置的动作并调用对应的指令信息进行输出,最后如步骤S457、步骤S458、步骤S459所述,每一组同步互动完成后还进行同步校准,为用户提供更准确的同步体验。
[0024]本发明中,用户端可在透明图层上进行包括文字、图形等编辑的批注,批注不是通过截屏的图片进行远程同步,而是将批注的编辑动作转换为由指令、文字、数列组成的指令信息并以Java格式进行传输,相对于大量截屏的图片传输而言指令信息传输的数据量小的多,受网络环境影响小,可保证通畅的数据传输。
[0025]所述文字包括中文字符、英文字符、数字字符、符号字符,现有的中文字符、英文字符、数字字符、符号字符可直接调用,图形或其他无法识别的字符转换为一系列的坐标像素点,坐标像素点属性的变化反映图形等变化,属性变化的坐标像素点为采样点。所述坐标像素点的属性包括坐标值和与此坐标值关联的颜色值,以十进制表示的坐标值与以十六进制表示的颜色值关联后形成数列中的一个项。一系列采样点的属性形成数列。
[0026]进一步地,所述步骤S459具体是指参与端的同步模块解析时间脚本流后,获得控制端与参与端响应最新指令信息的时间差,若时间差在设定的阀值内则不动作,若时间差超出设定的阀值则进行同步补偿,完成同步校准。
[0027]本发明中允许同步互动过程中不同用户端之间存在一定的响应时间差,但为了提高多屏同步的准确性,当单个用户端的响应时间差超出设定的阀值时启动同步补偿,完成同步校准,保持多屏的准确同步。
[0028]进一步地,所述步骤S200中预设的大数据传输协议采用RTP/RTCP协议;所述步骤S440中,所述预设的小数据传输协议采用TCP/IP协议。
[0029]本发明中音频、视频等大数据文件经过软件编码、H.264算法进行压缩后采用RTP/RTCP协议进行传输;指令信息、控制线程变更日志、文件源更新日志等小数据文件采用TCP/IP协议进行传输。所述RTP (Realtime Transport Protocol)为实时传输
协议;所述 RTCP(Realtime Transport Control Protocol)为实时传输控制协议;所述 RTP/RTCP 协议为应用型的传输层协议,RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。所述TCP(Transmiss1n Control Protocol)为传输控制协议;所述IP (Internet Protocol)为网络互联协议;所述TCP/IP协议由网络层的IP协议和传输层的TCP协议组成,不依赖于任何特定的计算机硬件或操作系统,提供可靠的数据传输。所述RTP/RTCP协议、TCP/IP协议均为现有技术且本发明的改进点也不在于此,故不再赘述。
[0030]进一步地,所述步骤IFllO具体包括以下步骤:
步骤IFlll:网络服务器不断搜索是否有新的访问请求,若有则执行步骤IF112,若无则跳转步骤IFl 13 ;
步骤IF112:完成文件源资料包下载的用户端的访问请求通过,未完成文件源资料包下载的用户端的访问请求被拒,处理完访问请求后重新计算N的数值,若此批次访问请求通过P个则N的数值增加P,完成N的计算后执行步骤IFl 13 ;
步骤IF113:网络服务器不断搜索是否有新的退出请求,若有则执行步骤IF114,若无则继续执行步骤S200 ;
步骤IF114:退出请求通过,处理完退出请求后重新计算N的数值,若此批次退出请求通过q个则N的数值减少q,完成N的计算后执行步骤IF210 ;
所述步骤IF120具体包括以下步骤:
步骤IF121:网络服务器不断搜索是否有新的访问请求,若有则执行步骤IF122,若无则跳转步骤IF123 ;
步骤IF122:完成文件源资料包下载的用户端的访问请求通过,未完成文件源资料包下载的用户端的访问请求被拒,处理完访问请求后重新计算N的数值,若此批次访问请求通过r个则N的数值增加r,完成N的计算后执行步骤IF123 ;
步骤IF123:网络服务器不断搜索是否有新的退出请求,若有则执行步骤IF124,若无则继续执行步骤S400 ;
步骤IF124:退出请求通过,处理完退出请求后重新计算N的数值,若此批次退出请求通过s个则N的数值减少S,完成N的计算后执行步骤IF220。
[0031]本发明中网络服务器不断搜索访问请求或退出请求,访问请求的优先级高于退出请求,所以先处理访问请求再处理退出请求。
[0032]进一步地,所述多媒体文件包括音频文件、视频文件、电子书文件、电子课件文件、照片文件、OFFICE办公文件。
[0033]本发明中播放层可加载不同类型的多媒体文件以适应实际需要。
[0034]本发明与现有技术相比,具有以下优点及有益效果:
(I)本发明支持同步互动用的文件源资源包提前分享至互动平台的共享文件夹中供符合条件的用户端进行本地存储,同步互动主要依靠指令信息、更新日志等小数据文件的传输进行,数据分段传输进而减少同步互动过程中的数据传输,减小同步互动过程对网络环境的依赖,支持QoS网络服务质量保证机制,保证多屏的同步显示以及用户端准确流畅的互动体验。
[0035](2)本发明支持开放式的互动平台,为互动平台内的所有用户端营造了更为舒适的体验环境。
[0036](3)本发明在同步互动过程中采用不同的数据处理方法,尽可能的降低网络资源和系统内存的占有率,进一步提升用户体验。
【附图说明】
[0037]图1为本发明的主要流程图。
【具体实施方式】
[0038]下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0039]实施例1:
本实施例的一种支持QoS的多屏同步显示的远程互动方法,如图1所示,主要是通过下述技术方案实现:包括以下步骤:
步骤SlOO:建立同步显示的互动平台;
步骤S200:共享同步互动的文件源资料包;
步骤IFllO:网络服务器不断搜索是否有新的访问请求或新的退出请求发生,若有则跳转步骤IF210,若无则继续执行步骤S200 ; 步骤IF210:访问请求或退出请求处理后,判断互动平台中用户端总数N的数值,N为非负整数,若N=O则直接跳转步骤S600,若N=I则跳转步骤S500,若N ^ 2则执行步骤S300 ;步骤S300:进入同步互动界面;
步骤S400:同步互动;
步骤IF120:网络服务器不断搜索是否有新的访问请求或新的退出请求发生,若有则跳转步骤IF220,若无则继续执行步骤S400 ;
步骤IF220:访问请求或退出请求处理后,判断互动平台中用户端总数N的数值,若N=O则直接跳转步骤S600,若N=I则跳转步骤S500,若N ^ 2则继续执行步骤S300 ;
步骤S500:退出同步互动界面,并跳转步骤S200 ;
步骤S600:撤销互动平台;
所述步骤SlOO:任意一个用户端凭借注册成功后获得的互动平台内唯一的ID号向网络服务器发出互动请求,建立互动平台并等待其他用户的加入;所述互动平台内的用户端通过网络服务器建立连接,并通过网络服务器调取数据服务器中的数据;
所述步骤S200:在互动平台中自动生成一个附带默认文件源的共享文件夹并存储在数据服务器中,已存在共享文件夹则不重复新建,互动平台内的任意一个用户端采用预设的大数据传输协议,从本地的存储模块上传文件源资料包至共享文件夹中供其他用户下载,或者从共享文件夹中下载文件源资料包至本地的存储模块进行本地存储;数据服务器不断向互动平台内的用户端发送调用文件源信息,用户端向数据服务器发送反馈日志以检测本地存储模块中是否存储有最新的完整的文件源资料包,未完成下载的用户端继续加载直至完成下载或退出下载,已经完成下载的用户端停止下载,实现文件源资料包的共享;所述文件源资料包包括文件源和文件源更新日志,文件源、文件源更新日志均包括多媒体文件中的多媒体数据、图层文件中的图层数据、指令文件中的指令信息和关联文件中的时间脚本流;所述时间脚本流是指同步模块根据互动平台定时发送的时间戳流对多媒体数据、图层数据、指令信息进行同步关联并以XML格式进行记录的数据;
所述步骤S300:完成文件源资料包下载的用户端进入同步互动界面,调用文件源资料包并加载长宽比固定的互动显示区,已加载互动显示区的用户端仅更新文件源资料包中的数据,完成最新互动显示区加载后执行步骤S400;所述互动显示区包括下层的播放层、上层的透明图层和后台的指令列表,加载互动显示区时在播放层加载多媒体数据,在透明图层上建立以左上方的顶点为坐标原点、水平方向为X轴且竖直方向为Y轴的坐标系并加载图层数据,在指令列表加载指令信息;所述坐标系中各个坐标点为坐标像素点;
所述步骤S400:互动平台内的任意一个用户端在本地的互动显示区进行操作使互动显示区内发生变化,互动显示区的变化转化为由指令、文字、数列组成的指令信息,指令信息由本地终端编码打包发送至数据服务器,再由网络服务器调用后发送至其他终端进行解码,其他终端将解码后的指令信息进行转换后分类加载至播放层或透明图层,并通过同步模块进行同步校准使得多个用户端的互动显示区同步变化,实现多屏的互动操作;
所述步骤S500:同步互动界面中仅有一个用户端时,无法进行同步互动而从同步互动界面退出;
所述步骤S600:互动平台内没有用户端时,该互动平台自动撤销。
[0040]实施例2: 本实施例包括以下步骤:
步骤SlOO:A用户端凭借注册成功后获得的互动平台内唯一的ID号向网络服务器发出互动请求,建立互动平台并等待其他用户的加入;
步骤S200:互动平台中自动生成一个附带默认文件源的共享文件夹并存储在数据服务器中,A用户端采用RTP/RTCP协议从本地的存储模块上传文件源资料包至共享文件夹中供其他用户下载;
步骤IFlll:网络服务器在同一时间段接收到B用户端、C用户端、D用户端、E用户端发送的访问请求,跳转步骤IFl 12 ;
步骤IF112:数据服务器检测到A用户端、B用户端、C用户端、D用户端的本地存储模块中已存储有完整的文件源资料包出用户端正在下载文件源资料包,于是通过B用户端、C用户端、D用户端的访问请求,拒绝E用户端的访问请求,此时p=3,N=4,执行步骤IFl 13 ;步骤IF113:网络服务器搜索到D用户端发送的退出请求,执行步骤IF114 ;
步骤IFl 14:退出请求通过,此时q=l,N=3,执行步骤IF210 ;
步骤IF210:此时N=3满足N彡2的条件,执行步骤S300 ;
步骤S300:A用户端、B用户端、C用户端进入同步互动界面,A用户端加载A互动显示区,B用户端加载B互动显示区,C用户端加载C互动显示区,互动显示区加载完成后执行
步骤 S400 ;
步骤S400:具体步骤如下:
步骤S410:A用户端成为控制端拥有操作权,B用户端、C用户端成为参与端;
步骤S420:A用户端的同步模块未监听到本地的输入装置有动作,继续执行步骤S420,直至A用户端的同步模块监听到本地的输入装置有动作,A用户端向网络服务器发送同步请求并在同步请求被授权后执行步骤S430 ;
步骤S430:A用户端的同步模块未发现A互动显示区有变化,继续执行步骤S430,直至A用户端的同步模块发现A互动显示区有变化,将A互动显示区对应的变化转换为指令信息并生成文件源更新日志,然后跳转步骤S440 ;
步骤S440:指令信息、1#文件源更新日志由A用户端编码打包,采用TCP/IP协议发送至数据服务器,由数据服务器添加至共享文件夹进行更新保存并分别转发至B用户端、C用户端进行解码;
步骤S450:B用户端将解码后的指令信息同步输出至B互动显示区,同时C用户端将解码后的指令信息同步输出至C互动显示区;
步骤IF121:网络服务器在同一时间段接收到D用户端、E用户端发送的访问请求,执行步骤IF122 ;
步骤IF122:数据服务器检测到D用户端、E用户端的本地存储模块中已存储有完整的文件源资料包,D用户端不仅完整下载本实施例步骤S200中所述的文件源资料包还新下载了本实施例步骤S440中所述的1#文件源更新日志,E用户端断点续存了本实施例步骤S200中所述的文件源资料包还新下载了本实施例步骤S440中所述的1#文件源更新日志,因此D用户端、E用户端通过访问请求,此时p=2,N=5,执行步骤IF123 ;
步骤IF123:网络服务器搜索到A用户端发送的退出请求,执行步骤IF124 ;
步骤IF124:退出请求通过,此时q=l,N=4,执行步骤IF220 ; 步骤IF220:此时N=4满足N彡2的条件,执行步骤S300 ;
步骤S300:D用户端、E用户端进入同步互动界面,A用户端退出同步互动界面,
D用户端加载D互动显示区,E用户端加载E互动显示区,各自互动显示区加载完成后执行步骤S400 ;
步骤S400:具体步骤如下:
步骤S410:B用户端按条件自动成为控制端,但E用户端发出控制请求,B用户端同意其控制请求后E用户端成为控制端拥有操作权,B用户端、C用户端、D用户端成为参与端;步骤S420:E用户端的同步模块未监听到本地的输入装置有动作,继续执行步骤S420,直至E用户端的同步模块监听到本地的输入装置有动作,E用户端向网络服务器发送同步请求并在同步请求被授权后执行步骤S430 ;
步骤S430:E用户端的同步模块未发现E互动显示区有变化,继续执行步骤S430,直至E用户端的同步模块发现E互动显示区有变化,将E互动显示区对应的变化转换为指令信息并生成文件源更新日志,然后跳转步骤S440 ;
步骤S440:指令信息、2#文件源更新日志由E用户端编码打包,采用TCP/IP协议发送至数据服务器,由数据服务器添加至共享文件夹进行更新保存并分别转发至B用户端、C用户端、D用户端进行解码;
步骤S450:B用户端将解码后的指令信息同步输出至B互动显示区,C用户端将解码后的指令信息同步输出至C互动显示区,同时D用户端将解码后的指令信息同步输出至D互动显示区;此时,C用户端的同步模块检测到同步时间差超出设定的阀值,向网络服务器发送同步校准请求后,同步校准请求通过并由网络服务器调用数据服务器中2#文件源更新日志中的时间脚本流进行同步校准;
步骤S460:本次同步互动完成后,重新跳转步骤S410而实现互动;
步骤IF121:网络服务器不断搜索是否有新的访问请求,没有接收到新的访问请求,跳转步骤IF123 ;
步骤IF123:网络服务器接收到B用户端、C用户端、E用户端发出的退出请求,执行步骤 IF124 ;
步骤IF124:退出请求通过,B用户端、C用户端、E用户端退出同步互动界面,此时s=3,N=I,执行步骤IF220 ;
步骤IF220:此时N=I满足N=I的条件,跳转步骤S500 ;
步骤S500:D用户端退出同步互动界面,并跳转步骤S200 ;
步骤S200:D用户端本地的存储模块中已经存储有本实施例步骤S200中所述的文件源资料包,以及本实施例步骤S440中所述的1#文件源更新日志、2#文件源更新日志,无需重复下载;
步骤IFlll:网络服务器未接收到新的访问请求,跳转步骤IF113 ;
步骤IF113:网络服务器接收到D用户端发出的退出请求,执行步骤IF114 ;
步骤IF114:D用户端的退出请求通过,此时q=l,N=0,执行步骤IF210 ;
步骤IF210:此时N=O满足N=O的条件,直接跳转步骤S600 ;
步骤S600:互动平台内没有用户端,本次临时建立的互动平台自动撤销并清除共享文件夹中的所有数据。
[0041]本实施例的其他部分与实施例1相同,故不再赘述。
[0042]以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
【主权项】
1.一种支持Q0S的多屏同步显示的远程互动方法,其特征在于包括以下步骤: 步骤SlOO:建立同步显示的互动平台; 步骤S200:共享同步互动的文件源资料包; 步骤IFllO:网络服务器不断搜索是否有新的访问请求或新的退出请求发生,若有则跳转步骤IF210,若无则继续执行步骤S200 ; 步骤IF210:访问请求或退出请求处理后,判断互动平台中用户端总数N的数值,N为非负整数,若N=O则直接跳转步骤S600,若N=I则跳转步骤S500,若N ^ 2则执行步骤S300 ;步骤S300:进入同步互动界面; 步骤S400:同步互动; 步骤IF120:网络服务器不断搜索是否有新的访问请求或新的退出请求发生,若有则跳转步骤IF220,若无则继续执行步骤S400 ; 步骤IF220:访问请求或退出请求处理后,判断互动平台中用户端总数N的数值,若N=O则直接跳转步骤S600,若N=I则跳转步骤S500,若N ^ 2则继续执行步骤S300 ; 步骤S500:退出同步互动界面,并跳转步骤S200 ; 步骤S600:撤销互动平台; 所述步骤SlOO:任意一个用户端凭借注册成功后获得的互动平台内唯一的ID号向网络服务器发出互动请求,建立互动平台并等待其他用户的加入;所述互动平台内的用户端通过网络服务器建立连接,并通过网络服务器调取数据服务器中的数据; 所述步骤S200:在互动平台中自动生成一个附带默认文件源的共享文件夹并存储在数据服务器中,已存在共享文件夹则不重复新建,互动平台内的任意一个用户端采用预设的大数据传输协议,从本地的存储模块上传文件源资料包至共享文件夹中供其他用户下载,或者从共享文件夹中下载文件源资料包至本地的存储模块进行本地存储;数据服务器不断向互动平台内的用户端发送调用文件源信息,用户端向数据服务器发送反馈日志以检测本地存储模块中是否存储有最新的完整的文件源资料包,未完成下载的用户端继续加载直至完成下载或退出下载,已经完成下载的用户端停止下载,实现文件源资料包的共享;所述文件源资料包包括文件源和文件源更新日志,文件源、文件源更新日志均包括多媒体文件中的多媒体数据、图层文件中的图层数据、指令文件中的指令信息和关联文件中的时间脚本流;所述时间脚本流是指同步模块根据互动平台定时发送的时间戳流对多媒体数据、图层数据、指令信息进行同步关联并以XML格式进行记录的数据; 所述步骤S300:完成文件源资料包下载的用户端进入同步互动界面,调用文件源资料包并加载长宽比固定的互动显示区,已加载互动显示区的用户端仅更新文件源资料包中的数据,完成最新互动显示区加载后执行步骤S400;所述互动显示区包括下层的播放层、上层的透明图层和后台的指令列表,加载互动显示区时在播放层加载多媒体数据,在透明图层上建立以左上方的顶点为坐标原点、水平方向为X轴且竖直方向为Y轴的坐标系并加载图层数据,在指令列表加载指令信息;所述坐标系中各个坐标点为坐标像素点; 所述步骤S400:互动平台内的任意一个用户端在本地的互动显示区进行操作使互动显示区内发生变化,互动显示区的变化转化为由指令、文字、数列组成的指令信息,指令信息由本地终端编码打包发送至数据服务器,再由网络服务器调用后发送至其他终端进行解码,其他终端将解码后的指令信息进行转换后分类加载至播放层或透明图层,并通过同步模块进行同步校准使得多个用户端的互动显示区同步变化,实现多屏的互动操作; 所述步骤S500:同步互动界面中仅有一个用户端时,无法进行同步互动而从同步互动界面退出; 所述步骤S600:互动平台内没有用户端时,该互动平台自动撤销。2.根据权利要求
1所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S400具体是指以下步骤: 步骤S410:任意一个用户端成为控制端,其他用户端成为参与端,仅控制端拥有操作权; 步骤S420:控制端的同步模块监听本地的输入装置是否有动作,若无则不动作,若有则向网络服务器发送同步请求并在同步请求被授权后执行步骤S430 ; 步骤S430:控制端的同步模块判断互动显示区是否发生变化,若无则不动作,若有则将互动显示区对应的变化转换为指令信息并生成对应的文件源更新日志,然后跳转步骤S440 ; 步骤S440:指令信息、文件源更新日志由控制端编码打包,采用预设的小数据传输协议发送至数据服务器,由数据服务器添加至共享文件夹进行更新保存并转发至互动平台内的参与端进行解码; 步骤S450:解码后的指令信息在参与端的互动显示区内进行同步输出; 步骤S460:本次同步互动完成后,重新跳转步骤S410而实现互动。3.根据权利要求2所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S410具体包括以下步骤: 步骤S411:互动平台中各个用户端按加入互动平台的时间顺序进行排序,并由网络服务器按序匹配控制线程并形成控制线程列表;所述控制线程分为在线、活跃、空缺三种状态,进入同步互动界面的用户端所占用的控制线程为在线状态,拥有操作权的在线的控制线程为活跃状态,退出同步互动界面的用户端所占用的控制线程为空缺状态,默认处于在线状态的最前端的控制线程为活跃状态,活跃状态的控制线程对应的用户端为控制端,在线状态的控制线程对应的用户端为参与端; 步骤S412:网络服务器接收到退出请求时,同意发出退出请求的用户端退出同步互动界面,对应的控制线程由在线状态变为空缺状态并等待网络服务器的重新分配,同时生成控制线程变更日志进行保存,其他用户端对应的控制线程顺序及位置都不改变; 步骤S413:网络服务器接收到访问请求时,同意发出访问请求的用户端加入同步互动界面,同时调取控制线程变更日志对现有控制线程列表中是否存在空缺状态的控制线程进行检索,若有则将任意一个空缺状态的控制线程分配至此用户端,若无则新建一个控制线程分配至此用户端; 步骤S414:网络服务器不断搜索是否有新的控制请求,若有则跳转步骤S415,若无则不动作; 步骤S415:任意一个参与端向网络服务器发送控制请求,由网络服务器将控制请求转发至当前的控制端,若当前的控制端同意则当前的控制端失去控制权而变为参与端且本次发出控制请求的参与端获得控制权而变为控制端,若当前的控制端不同意则控制权不变且本次控制请求失效。4.根据权利要求2所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S430中,互动显示区的变化包括播放层中多媒体文件播放状态、播放进度的改变或透明图层上坐标像素点及其对应颜色值的改变;所述步骤S430具体包括以下步骤: 步骤S431:控制端判断互动显示区内是否有对应本地鼠标操作的变化,若无则执行步骤S432,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ; 步骤S432:控制端判断互动显示区内是否有对应本地触摸屏操作的变化,若无则执行步骤S433,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ; 步骤S433:控制端判断互动显示区内是否有对应本地键盘操作的变化,若无则执行步骤S434,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ; 步骤S434:控制端判断互动显示区内是否有对应本地音频采集模块操作的变化,若无则执行步骤S435,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440 ; 步骤S435:控制端判断互动显示区内是否有对应本地视频采集模块操作的变化,若无则不动作,若有则将互动显示区对应的变化转换为指令信息后跳转步骤S440。5.根据权利要求4所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S450具体包括以下步骤: 步骤S451:控制端的互动显示区的尺寸与参与端的互动显示区的尺寸进行比较并获得比值; 步骤S452:控制端鼠标操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出; 步骤S453:控制端触摸屏操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出; 步骤S454:控制端键盘操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出; 步骤S455:控制端音频采集模块操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出; 步骤S456:控制端视频采集模块操作对应的变化调用参与端本地的指令信息并结合所述步骤S451中获得的比值匹配后进行输出; 步骤S457:输出完成后,参与端的同步模块向网络服务器发送同步校准请求; 步骤S458:同步校准请求通过后,网络服务器调用数据服务器中最新的时间脚本流转发至参与端; 步骤S459:参与端的同步模块接收到时间脚本流后,解析时间脚本流进行同步校准。6.根据权利要求5所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S453具体包括以下步骤: 步骤S4531:获取控制端触摸屏上位于互动显示区内划过的轨迹; 步骤S4532:将步骤S4531中获取的轨迹转化为一系列的采样点,对照本地透明图层上的坐标获取所有采样点的坐标值; 步骤S4533:获取步骤S4532中采样点对应的颜色值; 步骤S4534:根据采样点的先后顺序,将坐标值与颜色值进行关联后并形成数列; 步骤S4535:根据步骤S451中获取的比值计算采样点对应本参与端互动显示区中的坐标值且对应坐标值关联的颜色值不变而获得新数列,将新数列中坐标值和关联的颜色值输出至参与端互动显示区,实现轨迹的同步互动。7.根据权利要求5所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S459具体是指参与端的同步模块解析时间脚本流后,获得控制端与参与端响应最新指令信息的时间差,若时间差在设定的阀值内则不动作,若时间差超出设定的阀值则进行同步补偿,完成同步校准。8.根据权利要求2所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤S200中预设的大数据传输协议采用RTP/RTCP协议;所述步骤S440中,所述预设的小数据传输协议采用TCP/IP协议。9.根据权利要求1-8任意一项所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述步骤IFllO具体包括以下步骤: 步骤IFlll:网络服务器不断搜索是否有新的访问请求,若有则执行步骤IF112,若无则跳转步骤IFl 13 ; 步骤IF112:完成文件源资料包下载的用户端的访问请求通过,未完成文件源资料包下载的用户端的访问请求被拒,处理完访问请求后重新计算N的数值,若此批次访问请求通过P个则N的数值增加P,完成N的计算后执行步骤IFl 13 ; 步骤IF113:网络服务器不断搜索是否有新的退出请求,若有则执行步骤IF114,若无则继续执行步骤S200 ; 步骤IF114:退出请求通过,处理完退出请求后重新计算N的数值,若此批次退出请求通过q个则N的数值减少q,完成N的计算后执行步骤IF210 ; 所述步骤IF120具体包括以下步骤: 步骤IF121:网络服务器不断搜索是否有新的访问请求,若有则执行步骤IF122,若无则跳转步骤IF123 ; 步骤IF122:完成文件源资料包下载的用户端的访问请求通过,未完成文件源资料包下载的用户端的访问请求被拒,处理完访问请求后重新计算N的数值,若此批次访问请求通过r个则N的数值增加r,完成N的计算后执行步骤IF123 ; 步骤IF123:网络服务器不断搜索是否有新的退出请求,若有则执行步骤IF124,若无则继续执行步骤S400 ; 步骤IF124:退出请求通过,处理完退出请求后重新计算N的数值,若此批次退出请求通过s个则N的数值减少S,完成N的计算后执行步骤IF220。10.根据权利要求1-8任意一项所述的一种支持QoS的多屏同步显示的远程互动方法,其特征在于:所述多媒体文件包括音频文件、视频文件、电子书文件、电子课件文件、照片文件、OFFICE办公文件。
【专利摘要】本发明公开了一种支持QoS的多屏同步显示的远程互动方法,包括以下步骤:建立同步显示的互动平台,共享同步互动的文件源资料包,进入同步互动界面,同步互动,退出同步互动界面,撤销互动平台。本发明所述方法将文件源资料包先共享至互动平台,用户端需提前加载包含较大数据量的文件源资料包才能进入同步互动界面与其他用户端进行同步互动,同步互动过程中主要传输数据量较小的指令信息、文件源更新日志实现多屏同步和准确流程的互动。
【IPC分类】G06F3/0481, H04L29/08
【公开号】CN104902017
【申请号】CN201510258579
【发明人】何运传, 康刚强
【申请人】四川敬天爱人科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月20日