CN110297442B - 一种基于WebSocket的研讨过程控制系统及方法 - Google Patents

一种基于WebSocket的研讨过程控制系统及方法 Download PDF

Info

Publication number
CN110297442B
CN110297442B CN201910358875.1A CN201910358875A CN110297442B CN 110297442 B CN110297442 B CN 110297442B CN 201910358875 A CN201910358875 A CN 201910358875A CN 110297442 B CN110297442 B CN 110297442B
Authority
CN
China
Prior art keywords
information
discussion
module
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910358875.1A
Other languages
English (en)
Other versions
CN110297442A (zh
Inventor
熊才权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei University of Technology
Original Assignee
Hubei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hubei University of Technology filed Critical Hubei University of Technology
Publication of CN110297442A publication Critical patent/CN110297442A/zh
Application granted granted Critical
Publication of CN110297442B publication Critical patent/CN110297442B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23051Remote control, enter program remote, detachable programmer

Abstract

本发明提供一种基于WebSocket的研讨过程控制系统及方法。所述系统包括研讨态势信息监听模块、资料通播模块、同步/异步控制模块。研讨态势信息监听模块捕捉发生变化的研讨态势信息,包括研讨文本信息、专家状态信息、研讨状态信息,之后将捕捉到的研讨态势信息封装成JSON格式传递给服务器,由服务器转发给客户端,研讨控制者依据当前时刻的研讨态势信息选择调用资料通播模块或同步/异步控制模块,达到控制整个研讨过程的目的。本发明利用WebSocket协议,结合群体研讨支持系统研讨流程化的特点,在群体研讨过程中,确保群体成员之间的研讨态势信息的实时传递、同步/异步控制、共享页面保持,从而达到控制研讨走向,促进群体思维的目的。

Description

一种基于WebSocket的研讨过程控制系统及方法
技术领域
本发明属于计算机技术领域,特别涉及一种基于WebSocket的研讨过程控制系统及方法。
背景技术
在群体研讨支持系统中,群体成员围绕研讨主题进行自由协商研讨,提出新观点,或对其他成员的观点进行评价。研讨是一个由多人参与的有时间限制的群体活动,是典型的计算机协同工作问题。在群体研讨环境中,群体成员既可以同步于当前研讨状态,如授受其他成员发言或主持人控制信息等,同时又可以异步处理自己的个人事务,如查询资料或做仿真实验等。如果不进行研讨过程控制,就会导致专家不能专注和跟踪当前研讨状态,出现“冷场”或“信息过载”现象,导致群体思维难以收敛。
现有系统大多只提供了面向信息交流的同步页面,即专家在研讨过程中只能停留在同步页面,一旦离开同步页面就难以同步到研讨当前状态,使研讨过程出现混乱。于是催生了这样一个需求,当研讨态势信息(专家在线状态信息、专家发言信息、情报资料信息)发生变化时,需要立即向群体成员发送同步控制指令,使各专家将这些研讨态势信息同步更新给群体成员,以求达到控制研讨的思维导向、收敛群体思维的目的。研讨过程控制就是要保证研讨成员同步于当前研讨状态,同时还可以异步处理自己的事务,该技术的主要内容有同步信息分类、同步信息发布、同步信息利用(同步页面刷新、同步状态跟踪、研讨阶段切换等)、同步页面与异步页面切换、同步页面优先或置顶等。
以前的解决方法有“轮询”和“长连接”。这两种方式的特点是,不断的建立HTTP连接,然后发送请求request,之后服务器等待处理。服务器处于一种被动状态,非常耗费网络带宽和服务器资源。
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。目前国内关于过程控制方法的研究主要有:刘祁郴等人在《定性与定量相结合的软件过程度量分析方法——基于统计过程控制和层次分析方法》提出的一种将统计过程控制和层次分析方法相结合的软件过程分析方法;时君丽等人在《基于变化分析法的质量过程控制分析比较》中,分析了统计过程控制的弊端,提出了一种基于变化分析法的质量过程控制方法。陈建等人在《基于事件驱动的过程控制画面实时刷新方法的研究与实现》中提出了一种基于事件驱动的画面实时刷新方法。
发明内容
为了缓解服务器压力、解决研讨过程中信息交互更新不够及时的问题,本发明利用WebSocket协议,同时结合群体研讨支持系统研讨流程化的特点,在面对大量用户并发使用群体研讨支持系统进行研讨的情况下不会造成数据库的崩溃,保证了系统的稳定性,确保了群体之间的研讨态势信息可以实时和迅捷地传递,从而达到控制研讨的思维导向、收敛群体思维的目的。
为了达到上述目的,本发明所采用的技术方案是:
一种基于WebSocket的研讨过程控制系统,其特征在于,包括:研讨态势信息监听模块、资料通播模块、同步/异步控制模块,所述研讨态势信息监听模块捕捉发生变化的研讨态势信息,包括研讨文本信息、专家状态信息、研讨状态信息,之后将捕捉到的研讨态势信息封装成JSON格式传递给服务器,由服务器转发给客户端,研讨控制者依据当前时刻的研讨态势信息选择调用资料通播模块或同步/异步控制模块,达到控制整个研讨过程的目的;
所述研讨态势信息监听模块,采用WebSocket技术分别将专家的客户端与服务器之间和服务器与研讨控制者的客户端之间建立一条通信通道,利用 JavaScript语言的事件监听器监听研讨态势信息的变化,当监听器监听研讨态势信息的变化时,获取变化的研讨态势信息,将其封装成JSON格式利用Ajax异步传递给服务端,再由服务器将信息传递给客户端,让研讨控制者可以时刻关注当前最新时刻的研讨态势变化情况,从而做出相应的控制决策;
所述资料通播模块,由研讨控制者根据当前研讨态势信息的变化判断是否调用该模块,选定某些研讨相关资料以新弹窗的形式推送给所有专家进行资料通播;
所述同步/异步控制模块,由研讨控制者根据当前研讨态势信息的变化判断是否调用该模块,给所有专家发送特定指令,该模块在专家收到指令后解析指令,结束当前研讨阶段,使研讨进入下一个阶段,达到控制整个研讨过程的目的。
进一步的,所述研讨态势信息监听模块包括:信息传递、信息分析、信息转发和信息接收四个模块;其中信息传递模块负责监听研讨专家要传递的信息和专家的状态信息,一旦发生信息传递的动作或状态变更的情况,该模块负责捕捉传递的信息,然后将信息依据发送者、接受者、信息类型特征进行封装,进而传送至服务器端;信息分析模块负责将服务器接收到的信息进行解封装,对解封后的信息进行分析,依据信息的类型、接受者、传送者和内容属性进行信息过滤和信息分类的操作;信息转发模块建立在信息分析模块基础之上,信息转发模块依据信息分析模块处理之后的信息对转发操作进行相关限定,最终完成信息转发功能;信息接收模块对客户端接收到的转发信息进行监听,依据信息的相关属性改变客户端页面的显示内容。
进一步的,所述资料通播模块包括:资料上传、资料传递、资料展示三个模块;首先由研讨室控制者调用资料上传模块将通播资料上传至服务器端,然后研讨室控制者提供通播人员筛选信息,调用资料传递模块将资料信息传递给筛选后的用户,客户端接收到资料信息后,自动调用资料展示模块,打开新窗口展示接收到的资料。
进一步的,所述同步/异步控制模块包括:研讨室阶段信息分析与设置、同步页面两个模块;研讨室阶段信息分析与设置模块在接收到研讨室控制者切换研讨室阶段指令后被触发,服务器依据当前研讨室的相关信息判断是否需要对下一阶段的相关信息进行设定,若需要进行相关设置,由研讨室控制者依据服务器返回的信息页面进行设置,设置完毕后自动调用同步页面模块,反之则直接调用同步页面模块;同步页面模块其功能是依据研讨室的阶段信息同步所有用户的界面,保证所有研讨室的参与者处于同一研讨阶段。
本发明提供一种基于WebSocket的研讨过程控制方法,采用如上所述的基于WebSocket的研讨过程控制系统,其特征在于,包括:
步骤1,实时监听用户传递与接收信息的操作;
步骤2,一旦发现有相关操作出现,则在服务器端或客户端对信息进行分析与处理;
步骤3,客户端将处理后的信息依据信息的相关属性执行转发或同步页面操作。
进一步的,步骤1监听用户传递与接收信息的操作包括以下步骤:
1.1与服务器构建传递信息通道,在构建之初会将用户本身的相关信息传递给服务器端,服务器端依据用户信息进行相关的操作,为后期的信息传递做准备;
1.2传递信息监听,对客户端的传递信息事件进行监听,一旦客户端出现信息传递操作,则获取传递的信息,然后对信息的类型、传送者、接受者、发出时间信息进行相关的补充与格式封装,最后将封装后的信息传递给服务器端;
1.3接收信息监听,对客户端的接收信息事件进行监听,一旦接收到信息依据信息类型触发相应模块。
进一步的,步骤2信息的分析与处理包括以下步骤:
2.1信息解封装,服务端接在收到步骤1中传递来的信息后,首先对信息进行解封装,获取信息的相关属性;
2.2信息分析处理,对解封装后的信息进行分析处理;
2.3信息响应,依据处理后的结果决定调用相应的模块执行传递或阶段信息设置操作。
进一步的,步骤3客户端处理接收的信息包括以下步骤:
3.1信息分析,获取信息后对接收到的信息类型进行判断分析,提取出信息的信息类型;
3.2信息响应,依据判断结果决定调用同步/异步控制模块或资料通播模块。
进一步的,所述方法包括:
在研讨态势信息传递模块实现方面,首先通过JavaScript的事件监听器监听研讨态势信息易于变化的组件,监听到事件发生时,通过JavaScript捕获到变化的研讨态势信息;同时,需要在游览器支持WebScoket的基础下面,调用new WebScoket(url)新建websocket对象,在这个对象里面有onerror、onopen、 onmessage、onclose这几个事件,分别表示错误信息、连接成功、收到信息和连接断开;然后发送消息,在发送消息的时候把输入的数据转变为JSON格式数据通过send()方法发给服务器;在服务器端,首先由@ServerEndpoint定义一个 WebScoket客户端,可以将一个普通Java对象作为WebScoket服务端的端点,然后利用@OnMessage来接受传入的WebScoket信息,这个传入的信息既可以是文本类也可以是二进制的数值,JSON格式也支持;使用List<Session>来生成一个存放WebScoket的实例,使用@OnOpen当有一个新的用户接入的时候创建一个新的连接方法,使用@OnClose当连接结束的时候关闭连接并删除 List<Session>里面的WebScoket实例,若出现错误,会调用@OnError打印出出现的错误;服务端接收到客户端发送过来的JSON数据,并根据相应的功能识别码来区分信息的用途,并通过session.getBasicRemote().sendText(message)方法准确的发送到对应的客户端上面;
在资料通播模块方面,通过研讨态势信息传递模块将当前时刻的研讨态势信息反馈给研讨控制者,然后研讨控制者选择上传一个音视频资料保存在服务端,通过WebScoket协议将该资料的url地址转发给所有客户端,客户端收到这个url 地址之后,调用HTML界面的video标签,播放该音视频资料;
在同步/异步控制模块方面,通过研讨态势信息传递模块将当前时刻的研讨态势信息反馈给研讨控制者,然后研讨控制者判断当前研讨态势是否可以进入下一研讨阶段,如果是,则通过WebScoket协议发送特定指令给服务端,服务端将这条指令转发给所有客户端,客户端收到这条特定指令之后,结束当前阶段,界面跳转至下一阶段,以达到研讨过程控制的目的。
与现有技术相比,本发明具有以下特点:
1、采用WebScoket协议实现了在研讨过程中实时地展示研讨态势信息,使研讨控制者能实时把握当前研讨态势,判断当前群体思维收敛程度,继而决策是否切换研讨阶段。
2、采用WebScoket协议实现信息交互后,解决了HTTP协议传输信息的被动性难题。服务器可以主动推送消息给客户端;而不需要客户端以(长/短)轮询的方式发起HTTP请求到服务器以获取数据更新信息;这样,客户端只需要经过一次HTTP请求,就可以得到源源不断的信息传送。
3、采用WebScoket协议实现信息交互后,解决了HTTP协议传输信息的无状态性及健忘性难题。HTTP请求响应完成后,服务器就会断开连接,且把连接的信息全都忘记了,所以每次建立连接都要重新传输连接上下文,将客户端的连接上下文来传递给服务器。而WebSockct只需要一次HTTP握手,整个通讯过程是建立在一次连接(状态)中的,服务器会一直推送消息到客户端,直到客户端关闭请求。
本发明与现有技术相比具有如下优点和有益效果:
首先,在此之前人们为了实现即时信息交互,运用的技术是轮询,轮询是在特定的时间间隔,由浏览器向服务器发出HTTP Request(浏览器向服务器发出的请求),然后服务器将最新的数据返回给客户端的浏览器。传统的技术需要浏览器不断地向服务器发送请求,会占用更多的带宽和服务器资源。但是采用 WebScoket协议,浏览器和服务器之间只需要采用一个握手协议,就可以使浏览器和服务器之间建立一条快速通道,控制端和客户端之间可以快速地进行数据交互,占用很小的带宽。
其次,采用传统的定时轮询技术很难实现信息的及时送达和实时显示,但是采用本发明提出的基于WebScoket的技术,信息可以及时地在控制端和客户端之间传递,实现信息的实时交互和通信。
附图说明
下面结合附图和实施例对本发明做进一步说明。
图1基于WebSocket协议的研讨过程控制系统的示意图。
图2本发明中基于WebSocket的研讨过程控制系统的模块结构图。
图3研讨态势信息监听模块结构图。
图4资料通播模块结构图。
图5同步/异步控制模块结构图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述。应当指出的是,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明利用WebSocket协议,结合群体研讨支持系统研讨流程化的特点,在群体研讨过程中,确保专家之间的研讨态势信息(研讨文本信息、专家状态信息、会议状态信息)的实时传递,从而达到控制研讨过程,促进专家思维收敛的目的。
如图2所示,一种基于WebSocket的研讨过程控制系统由三个模块协同工作完成,包括研讨态势信息监听模块、资料通播模块、同步/异步控制模块。研讨态势信息监听模块捕捉发生变化的研讨态势信息(研讨文本信息、专家状态信息、研讨状态信息),之后将捕捉到的研讨态势信息封装成JSON格式(一种轻量级的数据交换格式)传递给服务器,由服务器转发给客户端,研讨控制者依据当前研讨态势信息选择调用资料通播模块或同步/异步控制模块,最终达到控制整个研讨过程的目的。
进一步的,所述研讨态势信息监听模块包括:信息传递,信息分析,信息转发和信息接收四个子模块。其中信息传递模块负责监听研讨专家要传递的信息和专家的状态信息(如用户在线状态变化信息)等。一旦发生信息传递的动作或状态变更的情况,该模块负责捕捉传递的信息,然后将信息依据发送者,接受者,信息类型等信息特征进行封装,进而传送至服务器端。信息分析模块负责将服务器接收到的信息进行解封装,对解封后的信息进行分析,依据信息的类型,接受者,传送者,内容等属性进行相关的操作(若信息过滤,信息分类等)。信息转发模块建立在信息分析模块基础之上,信息转发模块依据信息分析模块处理之后的信息对转发操作进行相关限定(如对信息接受者的筛选等),最终完成信息转发功能。信息接收子模块对客户端接收到的转发信息进行监听,依据信息的相关属性改变客户端页面的显示内容。
进一步的,所述资料通播模块包括:资料上传,资料传递,资料展示三个子模块。首先由研讨室控制者调用资料上传模块将通播资料上传至服务器端。然后研讨室管理员提供通播人员筛选信息,调用资料传递模块将资料信息传递给筛选后的用户。客户端接收到资料信息后,自动调用资料展示模块,打开新窗口展示接收到的资料。
进一步的,所述同步/异步控制模块包括:研讨室阶段信息分析与设置,同步页面两个子模块。研讨室阶段信息分析与设置模块在接收到研讨室管理员切换研讨室阶段指令后被触发,服务器依据当前研讨室的相关信息判断是否需要对下一阶段的相关信息进行设定(如研讨时间,投票规则等)。若需要进行相关设置,由研讨管理员依据服务器返回的信息页面进行设置,设置完毕后自动调用同步页面模块。反之则直接调用同步页面模块。同步页面模块其功能是依据研讨室的阶段信息同步所有用户的界面,保证所有研讨室的参与者处于同一研讨阶段。
如图3所示,在研讨态势信息监听模块中,采用WebSocket技术分别将专家的客户端与服务器之间和服务器与研讨控制者的客户端分别建立一条通信通道。利用JavaScript语言的事件监听器监听研讨态势信息的变化,当监听器监听研讨态势信息的变化时,获取变化的研讨态势信息,将其封装成JSON格式(一种轻量级的数据交换格式),利用Ajax异步传递给服务器,由服务器转发给客户端,从而让研讨控制者可以时刻关注当前最新时刻的研讨态势变化情况,依据研讨态势信息的变化,来判断群体研讨思维的走向,以便研讨控制者决策是否调用其他两个模块来控制研讨流程,从而达到控制研讨走向,促进群体思维收敛的目的。
如图4所示,在资料通播模块中,由研讨控制者根据当前研讨态势信息的变化判断是否调用该模块,选定某些研讨相关资料以新弹窗的形式推送给所有专家。
如图5所示,在同步/异步控制模块中,由研讨控制者根据当前研讨态势信息的变化判断是否调用该模块,给所有专家发送特定指令。该模块在专家收到指令后解析指令,结束当前研讨阶段,使研讨进入下一个阶段,最终达到控制整个研讨流程的目的。具体在本实例,同步/异步控制模块解析研讨控制者传递给服务器的JSON格式的命令信息,利用JavaScript等前端技术,控制专家与研讨控制者的共享页面和私有页面。同步/异步研讨控制是指:在研讨系统中,根据角色属性的不同决定他们拥有的权限是不同的,相应所操作的页面功能也是不同的,因此,在控制研讨流程进行时需要根据不同的角色来控制页面跳转到与之对应的私有页面上。在研讨的过程中可以随时查看与研讨相关的文本资料和视频资料,这就需要一个私有的信息查询页面。
本发明提供一种基于WebSocket的研讨过程控制方法,其特征在于,实时监听用户传递与接收信息的操作,一旦发现有相关操作出现则在服务器端或客户端对信息进行分析处理,最后客户端将处理后的信息依据信息的相关属性执行转发或同步页面等操作。所述方法包括:
步骤1:监听用户传递与接收信息操作,包括以下步骤:
1.1与服务器构建传递信息通道,在构建之初会将用户本身的相关信息传递给服务器端,服务器端依据用户信息进行相关的操作(用户分组等),为后期的信息传递做准备。
1.2传递信息监听,对客户端的传递信息事件进行监听,一旦客户端出现信息传递操作,则获取传递的信息,然后对信息的类型,传送者,接受者,发出时间等等信息进行相关的补充与封装(json格式),最后将封装后的信息传递给服务端。
1.3接收信息监听,对客户端的接收信息事件进行监听,一旦接收到信息依据信息类型触发相应模块。
步骤2:信息的分析与处理,包括以下步骤:
2.1信息解封装,服务端接在收到步骤1中传递来的信息后,首先对信息进行解封装,获取信息的相关属性。
2.2信息分析处理,对解封装后的信息进行分析处理(如接收者的信息,内容检查等)。
2.3信息响应,依据处理后的结果决定调用相应的模块执行传递或阶段信息设置等操作。
步骤3:客户端处理接收的信息,包括以下步骤:
3.1信息分析,获取信息后对接收到的信息类型进行判断分析,提取出信息的类型等信息。
3.2信息响应,依据判断结果决定调用同步/异步控制模块或资料通播模块。
以实施例为例,一种基于WebSocket的研讨过程控制方法,包括:
在研讨态势信息监听模块实现方面,首先通过JavaScript的事件监听器监听研讨态势信息易于变化的组件(比如评论按钮),监听到事件发生时,通过 JavaScript捕获到变化的研讨态势信息。同时,需要在浏览器支持WebScoket的基础上,调用new WebScoket(url)新建websocket对象,该对象有onerror、onopen、 onmessage、onclose等事件,分别表示错误信息、连接成功、收到信息、连接断开,发送消息,在发送消息的时候把输入的数据转变为JSON(一种轻量级的数据交换格式)格式数据通过send()方法发给服务器。在服务器端,首先由 @ServerEndpoint定义一个WebScoket客户端,可以将一个普通Java对象(POJO)作为WebScoket服务器的端点,然后利用@OnMessage来接受传入的WebScoket 信息,这个传入的信息既可以是文本类也可以是二进制的数值,或JSON格式数据。使用List<Session>来生成一个存放WebScoket的实例,当有一个新的用户接入时使用@OnOpen创建一个新的连接方法,当连接结束时使用@OnClose关闭连接并删除List<Session>里的WebScoket实例,若出现错误,会调用@OnError 打印出出现的错误。服务器接收到客户端发送过来的JSON数据(变化的研讨态势信息),并根据相应的功能识别码来区分信息的用途,并通过session.getBasicRemote().sendText(message)方法准确的发送到对应的客户端上面。
在资料通播模块实现方面,通过研讨态势信息监听模块将当前时刻的研讨态势信息反馈给研讨控制者,然后研讨控制者选择上传一个音视频资料保存在服务器,通过WebScoket协议将该资料的url地址转发给所有客户端,客户端收到这个url地址之后,调用HTML界面的video标签,播放该音视频资料。
在同步/异步控制模块实现方面,通过研讨态势信息监听模块将当前时刻的研讨态势信息反馈给研讨控制者,然后研讨控制者判断当前研讨态势是否可以进入下一研讨阶段。如果是,则通过WebScoket协议发送特定指令给服务器,服务器将这条指令转发给所有客户端,客户端收到这条特定指令之后,结束当前阶段,页面跳转至下一阶段,以达到研讨过程控制的目的。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (3)

1.一种基于WebSocket的研讨过程控制系统,其特征在于,包括:研讨态势信息监听模块、资料通播模块、同步/异步控制模块,所述研讨态势信息监听模块捕捉发生变化的研讨态势信息,包括研讨文本信息、专家状态信息、研讨状态信息,之后将捕捉到的研讨态势信息封装成JSON格式传递给服务器,由服务器转发给客户端,研讨控制者依据当前时刻的研讨态势信息选择调用资料通播模块或同步/异步控制模块,达到控制整个研讨过程的目的;
所述研讨态势信息监听模块,采用WebSocket技术分别将专家的客户端与服务器之间和服务器与研讨控制者的客户端之间建立一条通信通道,利用JavaScript语言的事件监听器监听研讨态势信息的变化,当监听器监听研讨态势信息的变化时,获取变化的研讨态势信息,将其封装成JSON格式利用Ajax异步传递给服务端,再由服务器将信息传递给客户端,让研讨控制者可以时刻关注当前最新时刻的研讨态势变化情况,从而做出相应的控制决策;
所述资料通播模块,由研讨控制者根据当前研讨态势信息的变化判断是否调用该模块,选定某些研讨相关资料以新弹窗的形式推送给所有专家进行资料通播;
所述同步/异步控制模块,由研讨控制者根据当前研讨态势信息的变化判断是否调用该模块,给所有专家发送特定指令,该模块在专家收到指令后解析指令,结束当前研讨阶段,使研讨进入下一个阶段,达到控制整个研讨过程的目的;
所述研讨态势信息监听模块包括:信息传递、信息分析、信息转发和信息接收四个模块;其中信息传递模块负责监听研讨专家要传递的信息和专家的状态信息,一旦发生信息传递的动作或状态变更的情况,该模块负责捕捉传递的信息,然后将信息依据发送者、接受者、信息类型特征进行封装,进而传送至服务器端;信息分析模块负责将服务器接收到的信息进行解封装,对解封后的信息进行分析,依据信息的类型、接受者、传送者和内容属性进行信息过滤和信息分类的操作;信息转发模块建立在信息分析模块基础之上,信息转发模块依据信息分析模块处理之后的信息对转发操作进行相关限定,最终完成信息转发功能;信息接收模块对客户端接收到的转发信息进行监听,依据信息的相关属性改变客户端页面的显示内容;
所述资料通播模块包括:资料上传、资料传递、资料展示三个模块;首先由研讨室控制者调用资料上传模块将通播资料上传至服务器端,然后研讨室控制者提供通播人员筛选信息,调用资料传递模块将资料信息传递给筛选后的用户,客户端接收到资料信息后,自动调用资料展示模块,打开新窗口展示接收到的资料;
所述同步/异步控制模块包括:研讨室阶段信息分析与设置、同步页面两个模块;研讨室阶段信息分析与设置模块在接收到研讨室控制者切换研讨室阶段指令后被触发,服务器依据当前研讨室的相关信息判断是否需要对下一阶段的相关信息进行设定,若需要进行相关设置,由研讨室控制者依据服务器返回的信息页面进行设置,设置完毕后自动调用同步页面模块,反之则直接调用同步页面模块;同步页面模块其功能是依据研讨室的阶段信息同步所有用户的界面,保证所有研讨室的参与者处于同一研讨阶段。
2.一种基于WebSocket的研讨过程控制方法,采用如权利要求1所述的基于WebSocket的研讨过程控制系统,其特征在于,包括:
步骤1,实时监听用户传递与接收信息的操作;
步骤2,一旦发现有相关操作出现,则在服务器端或客户端对信息进行分析与处理;
步骤3,客户端将处理后的信息依据信息的相关属性执行转发或同步页面操作;
步骤1监听用户传递与接收信息的操作包括以下步骤:
1.1与服务器构建传递信息通道,在构建之初会将用户本身的相关信息传递给服务器端,服务器端依据用户信息进行相关的操作,为后期的信息传递做准备;
1.2传递信息监听,对客户端的传递信息事件进行监听,一旦客户端出现信息传递操作,则获取传递的信息,然后对信息的类型、传送者、接受者、发出时间信息进行相关的补充与格式封装,最后将封装后的信息传递给服务器端;
1.3接收信息监听,对客户端的接收信息事件进行监听,一旦接收到信息依据信息类型触发相应模块;
步骤2信息的分析与处理包括以下步骤:
2.1信息解封装,服务端接在收到步骤1中传递来的信息后,首先对信息进行解封装,获取信息的相关属性;
2.2信息分析处理,对解封装后的信息进行分析处理;
2.3信息响应,依据处理后的结果决定调用相应的模块执行传递或阶段信息设置操作;
步骤3客户端处理接收的信息包括以下步骤:
3.1信息分析,获取信息后对接收到的信息类型进行判断分析,提取出信息的信息类型;
3.2信息响应,依据判断结果决定调用同步/异步控制模块或资料通播模块。
3.根据权利要求2所述的基于WebSocket的研讨过程控制方法,其特征在于,所述方法包括:
在研讨态势信息传递模块实现方面,首先通过JavaScript的事件监听器监听研讨态势信息易于变化的组件,监听到事件发生时,通过JavaScript捕获到变化的研讨态势信息;同时,需要在游览器支持WebScoket的基础下面,调用new WebScoket()新建websocket对象,在这个对象里面有onerror、onopen、onmessage、onclose这几个事件,分别表示错误信息、连接成功、收到信息和连接断开;然后发送消息,在发送消息的时候把输入的数据转变为JSON格式数据通过send()方法发给服务器;在服务器端,首先由@ServerEndpoint定义一个WebScoket客户端,可以将一个普通Java对象作为WebScoket服务端的端点,然后利用@OnMessage来接受传入的WebScoket信息,这个传入的信息既可以是文本类也可以是二进制的数值,JSON格式也支持;使用List来生成一个存放WebScoket的实例,使用@OnOpen当有一个新的用户接入的时候创建一个新的连接方法,使用@OnClose当连接结束的时候关闭连接并删除List里面的WebScoket实例,若出现错误,会调用@OnError打印出出现的错误;服务端接收到客户端发送过来的JSON数据,并根据相应的功能识别码来区分信息的用途,并通过session.getBasicRemote().sendText()方法准确的发送到对应的客户端上面;
在资料通播模块方面,通过研讨态势信息传递模块将当前时刻的研讨态势信息反馈给研讨控制者,然后研讨控制者选择上传一个音视频资料保存在服务端,通过WebScoket协议将该资料的url地址转发给所有客户端,客户端收到这个url地址之后,调用HTML界面的video标签,播放该音视频资料;
在同步/异步控制模块方面,通过研讨态势信息传递模块将当前时刻的研讨态势信息反馈给研讨控制者,然后研讨控制者判断当前研讨态势是否可以进入下一研讨阶段,如果是,则通过WebScoket协议发送特定指令给服务端,服务端将这条指令转发给所有客户端,客户端收到这条特定指令之后,结束当前阶段,界面跳转至下一阶段,以达到研讨过程控制的目的。
CN201910358875.1A 2018-09-30 2019-04-30 一种基于WebSocket的研讨过程控制系统及方法 Active CN110297442B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811154551 2018-09-30
CN2018111545518 2018-09-30

Publications (2)

Publication Number Publication Date
CN110297442A CN110297442A (zh) 2019-10-01
CN110297442B true CN110297442B (zh) 2023-02-03

Family

ID=68026703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910358875.1A Active CN110297442B (zh) 2018-09-30 2019-04-30 一种基于WebSocket的研讨过程控制系统及方法

Country Status (1)

Country Link
CN (1) CN110297442B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111245705B (zh) * 2019-12-31 2024-03-19 中国电力科学研究院有限公司 一种实现培训仿真的服务器、客户端即时通信的方法
CN112612627B (zh) * 2020-12-28 2024-04-05 江苏梨柳科技有限公司 一种web端实现三维互动的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908163A (zh) * 2009-06-05 2010-12-08 深圳市脑库计算机系统有限公司 用于政务商务决策的专家支持应用系统平台及其建构方法
CN102360366A (zh) * 2011-09-30 2012-02-22 河海大学 一种交互型可视化综合集成研讨厅系统
CN105653650A (zh) * 2015-12-28 2016-06-08 湖北工业大学 一种基于d3的研讨系统思维导图及其开发方法
CN105787266A (zh) * 2016-02-25 2016-07-20 深圳前海玺康医疗科技有限公司 基于即时通讯工具的远程医疗系统架构及方法
CN107734056A (zh) * 2017-11-07 2018-02-23 北京仿真中心 一种基于NodeJS技术的在线协同画板
CN108200480A (zh) * 2018-02-07 2018-06-22 广州市千钧网络科技有限公司 一种游戏直播互动方法、相关设备及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11310312B2 (en) * 2014-07-07 2022-04-19 Citrix Systems, Inc. Peer to peer remote application discovery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908163A (zh) * 2009-06-05 2010-12-08 深圳市脑库计算机系统有限公司 用于政务商务决策的专家支持应用系统平台及其建构方法
CN102360366A (zh) * 2011-09-30 2012-02-22 河海大学 一种交互型可视化综合集成研讨厅系统
CN105653650A (zh) * 2015-12-28 2016-06-08 湖北工业大学 一种基于d3的研讨系统思维导图及其开发方法
CN105787266A (zh) * 2016-02-25 2016-07-20 深圳前海玺康医疗科技有限公司 基于即时通讯工具的远程医疗系统架构及方法
CN107734056A (zh) * 2017-11-07 2018-02-23 北京仿真中心 一种基于NodeJS技术的在线协同画板
CN108200480A (zh) * 2018-02-07 2018-06-22 广州市千钧网络科技有限公司 一种游戏直播互动方法、相关设备及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于 Web 的群体研讨系统;翟 兴;《计算机与现代化》;20141230;全文 *
基于WebSocket的研讨过程控制方法;熊才权,李元;《湖北工业大学学报》;20180815(第4期);全文 *
基于WEB的群思维导图的设计与实现;詹丹凤,熊才权,詹毅帆,朱建军;《湖北工业大学学报》;20150228;全文 *
基于多Agent的群体协作研讨平台的研究;熊才权,翟 兴,王子涛;《计算机与数字工程》;20081230;全文 *

Also Published As

Publication number Publication date
CN110297442A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
CN107018147B (zh) 一种物联网通信方法及系统、网关模块
CN109547511B (zh) 一种web消息实时推送方法、服务器、客户端及系统
CN111225230B (zh) 一种网络直播数据的管理方法以及相关装置
CN112118266B (zh) 一种HTTP与WebSocket协同的分布式状态同步方法
CN104639625A (zh) 一种基于mqtt的数据集中器采集控制方法、装置及系统
CN110297442B (zh) 一种基于WebSocket的研讨过程控制系统及方法
US10834033B2 (en) Method and system for transferring messages between messaging systems
CN106789593B (zh) 一种融合手语的即时消息处理方法、服务器及系统
US10038664B2 (en) Terminal status subscription method, apparatus, and system
US10693924B2 (en) Method and system for connecting electronic devices
CN107835445B (zh) 基于mqtt协议的电视控制方法、移动终端及电视
CN111988387B (zh) 接口请求处理方法、装置、设备及存储介质
WO2015089974A1 (zh) 即时消息处理方法、装置及系统
CN107846609B (zh) 控制室数据实时传输方法、装置和系统
CN110113623A (zh) 一种基于sip协议的音视频切片传输平台
CN111147817B (zh) 视频处理方法、装置、电子设备及存储介质
CN105681162A (zh) 一种信息同步的方法、装置和系统
CN106230915B (zh) 一种实现功能机智能通信的方法
CN108880925B (zh) 一种流量监控的方法和系统
CN114697282B (zh) 消息的处理方法及系统、存储介质、电子装置
CN109547334A (zh) 一种用于机联网消息通信的服务系统及其实施方法
CN107645567A (zh) 一种远程控制智能终端设备的方法
CN203984568U (zh) 一种可由点对点呼叫转三方会议的视频会议系统
CN111212052A (zh) 业务处理方法、装置、电子设备及存储介质
CN105516097A (zh) 基于Thrift数据格式的混合架构消息系统及消息传输方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant