一种实现培训仿真的服务器、客户端即时通信的方法与流程

专利2022-06-30  61


本发明属于电力系统及自动化技术领域,本发明涉及一种实现培训仿真的服务器、客户端即时通信的方法。



背景技术:

调度员仿真培训系统通过对电力系统和控制中心的仿真,提供教员控制功能,构建了支持调度员进行正常操作、事故处理及系统恢复的培训环境,同时支持电网联合反事故演习,是提升调度员业务能力、选拔优秀人才的有力工具。已有的调度员仿真培训系统,更多关注的是学员与系统间的交互,培训评估也只考虑了学员各种操作的合理性、安全性、经济性等,未能对学员下令的规范性进行考核。随着培训评估方案不断完善,调度员仿真培训系统建立内部实时通信模块,为学员考核提供重要数据支撑的需求愈发迫切。



技术实现要素:

针对现有的调度员仿真培训系统,更多关注的是学员与系统间的交互,培训评估也只考虑了学员各种操作的合理性、安全性、经济性等,未能对学员下令的规范性进行考核的不足,本发明提供了一种实现培训仿真的服务器、客户端即时通信的方法,通过监测、记录学员与虚拟角色间的各种指令、对话,形成培训指令过程记录文件,为学员下令能力的评估提供重要依据,具体方案如下:

一种实现培训仿真即时通信的方法,包括:

服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;

连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;

当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接;

所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。

优选的,所述服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,包括:

服务器基于websocket接收到客户端发送的连接请求,确定连接请求中的用户角色信息,并建立学员与虚拟角色间的虚拟通信通道;

根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息。

优选的,所述根据用户角色以及所述虚拟通信通道,服务器端向客户端推送所述角色对应的消息包括:

当用户角色为学员时,服务器基于所述虚拟通信通道对所述学员登录的客户端推送虚拟角色列表和常规问题列表;

当用户角色为教员时,服务器向所述教员登录的客户端推送虚拟角色列表及已登录学员列表,以及对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员登录的客户端。

优选的,所述连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互,包括:

服务器基于虚拟通信通道接收到学员请求连接的虚拟角色信息;

服务器将所述虚拟角色赋予教员客户端,同时将所述学员信息发送给教员客户端,并分别构建服务器与所述学员客户端和所述教员客户端的实际通信通道;

服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互。

优选的,所述服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互,包括:

服务器监听客户端传送的指令和信息;服务器处理并转发客户端传送的指令和信息。

优选的,所述服务器处理并转发客户端传送的指令和信息,包括:

当客户端选择向通信对象发送封装为json格式的指令和消息给服务器时,服务器对所述json格式的数据进行解析得到消息发送者、消息接收者和消息内容,并基于所述消息发送者、消息接收者和消息内容作出响应;

基于所述消息发送者、消息接收者和消息内容以及作出的响应,重新封装所述json格式的数据,并通过所述消息接收者的唯一标识找到对应的连接并转发至对应连接的客户端。

优选的,所述响应包括:当消息接收者为虚拟角色时,实际消息接收者指向教员,而学员与虚拟角色的虚拟通信通道则转变为实际存在的学员与教员的通信通道。

基于同一构思,本发明提供了一种实现培训仿真即时通信的服务器,包括:建立通道模块、交互模块和断开模块;

所述建立通道模块,用于服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;

所述交互模块,用于连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;

所述断开模块,用于当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接;

其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。

优选的,所述的建立通道模块,包括:建立子模块和推送子模块;

所述建立子模块,用于服务器基于websocket接收到客户端发送的连接请求,确定连接请求中的用户角色信息,并建立学员与虚拟角色间的虚拟通信通道;

所述推送子模块,用于根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息。

优选的,所述推送子模块,包括:学员推送子模块和教员推送子模块;

所述学员推送子模块,用于当用户角色为学员时,服务器基于所述虚拟通信通道对所述学员登录的客户端推送虚拟角色列表和常规问题列表;

所述教员推送子模块,用于当用户角色为教员时,服务器向所述教员登录的客户端推送虚拟角色列表及已登录学员列表,以及对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员登录的客户端。

优选的,所述交互模块,包括:虚拟角色子模块、实际通道子模块和实际交互子模块;

所述虚拟角色子模块,用于服务器基于虚拟通信通道接收到学员请求连接的虚拟角色信息;

所述实际通道子模块,用于服务器将所述虚拟角色赋予教员客户端,同时将所述学员信息发送给教员客户端,并分别构建服务器与所述学员客户端和所述教员客户端的实际通信通道;

所述实际交互子模块,用于服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互。

优选的,所述实际交互子模块,包括:监听单元和处理转发单元;

所述监听单元,用于服务器监听客户端传送的指令和信息;所述处理转发单元,用于服务器处理并转发客户端传送的指令和信息。

优选的,所述处理转发单元,包括:解析子单元和重装转发子单元;

所述解析子单元,用于当客户端选择向通信对象发送封装为json格式的指令和消息给服务器时,服务器对所述json格式的数据进行解析得到消息发送者、消息接收者和消息内容,并基于所述消息发送者、消息接收者和消息内容作出响应;

所述重装转发子单元,用于基于所述消息发送者、消息接收者和消息内容以及作出的响应,重新封装所述json格式的数据,并通过所述消息接收者的唯一标识找到对应的连接并转发至对应连接的客户端。

优选的,所述作出响应,用于当消息接收者为虚拟角色时,实际消息接收者指向教员,而学员与虚拟角色的虚拟通信通道则转变为实际存在的学员与教员的通信通道。

一种实现培训仿真即时通信的方法,包括:

客户端基于websocket向服务器发送连接请求,同时客户端初始化通信界面;

当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;

当数据交互完成后,客户端基于websocket与所述服务器断开连接;

其中,所述连接请求包括客户端用户信息:用户角色,所述用户角色包括学员、教员和虚拟用户。

优选的,所述客户端基于websocket向服务器发送连接请求,包括:

用户基于客户端登录系统后,客户端向服务器发送基于websocket协议的连接请求,并把登录所述客户端的用户信息传递给服务器端。

优选的,所述客户端初始化通信界面包括:

当用户角色为学员时客户端构建虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区;

当用户角色为教员时客户端构建实时在线的学员列表区、对话记录显示区、自编辑消息区。

优选的,所述当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面,包括:

客户端为学员时,学员在所述虚拟通信通道中基于服务器对学员推送的虚拟角色列表和常规问题列表,以及服务器解析重新封装后要传递的指令和信息与虚拟角色对话渲染不同的学员初始通信界面;

客户端为教员时,教员充当虚拟角色在所述虚拟通信通道中基于服务器对教员推送的虚拟角色列表、已登录学员列表、学员连接请求、学员上线系统消息,以及服务器解析重新封装后要传递的指令和信息,与学员对话渲染不同的教员用户初始通信界面。

优选的,所述客户端基于服务器建立的通信通道进行数据交互包括:

基于所述虚拟通信通道,学员客户端向虚拟角色发送封装为json格式的指令和信息,经服务器处理之后转为实际通信通道发送至教员客户端;

基于所述实际通信通道,教员客户端向充当的虚拟角色回传所述封装为json格式的指令和信息,经服务器处理之后转为虚拟通信通道回传至学员客户端。

优选的,所述当数据交互完成后,客户端基于websocket与所述服务器断开连接,包括:

当学员完成所述数据交互交卷后离开所述学员初始通信界面时,向教员客户端推送学员下线消息后,向服务器发送断开请求,断开与服务器的连接;

教员客户端接收到所有在线学员的下线消息后解析所述下线消息将下线学员从所述实时在线的学员列表区中删除,之后离开所述教员初始通信界面,向服务器发送断开请求,断开与服务器的连接。

基于同一构思,本发明提供了一种实现培训仿真即时通信的装置,包括:连接模块、渲染模块和断开模块;

所述连接模块,用于客户端基于websocket向服务器发送连接请求,同时客户端初始化通信界面;

所述渲染模块,用于当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;

所述断开模块,用于当数据交互完成后,客户端基于websocket与所述服务器断开连接;

其中,所述连接请求包括客户端用户信息:用户角色,所述用户角色包括学员、教员和虚拟用户。

优选的,所述连接模块,用于用户信息传递子模块和初始界面子模块;

所述用户信息传递子模块,用于用户基于客户端登录系统后,客户端向服务器发送基于websocket协议的连接请求,并把登录所述客户端的用户信息传递给服务器端;

所述初始界面子模块,用于构建学员初始通信界面和教员初始通信界面。

优选的,所述初始界面子模块,包括:学员界面单元和教员界面单元;

所述学员界面单元,用于当用户角色为学员时客户端构建虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区;

所述教员界面单元,用于当用户角色为教员时客户端构建实时在线的学员列表区、对话记录显示区、自编辑消息区。

优选的,所述渲染模块,包括:数据交互子模块、学员渲染子模块和教员渲染子模块;

所述数据交互子模块,用于客户端基于服务器建立的通信通道进行数据交互;

所述学员渲染子模块,用于客户端为学员时,学员在所述虚拟通信通道中基于服务器对学员推送的虚拟角色列表和常规问题列表,以及服务器解析重新封装后要传递的指令和信息与虚拟角色对话渲染不同的学员初始通信界面;

所述教员渲染子模块,用于客户端为教员时,教员充当虚拟角色在所述虚拟通信通道中基于服务器对教员推送的虚拟角色列表、已登录学员列表、学员连接请求、学员上线系统消息,以及服务器解析重新封装后要传递的指令和信息,与学员对话渲染不同的教员用户初始通信界面。

优选的,所述数据交互子模块,包括:发送单元和回传单元;

所述发送单元,用于基于所述虚拟通信通道,学员客户端向虚拟角色发送封装为json格式的指令和信息,经服务器处理之后转为实际通信通道发送至教员客户端;

所述回传单元,用于基于所述实际通信通道,教员客户端向充当的虚拟角色回传所述封装为json格式的指令和信息,经服务器处理之后转为虚拟通信通道回传至学员客户端。

优选的,所述断开模块,包括:学员断开子模块和教员断开子模块;

所述学员端断开子模块,用于当学员完成所述数据交互交卷后离开所述学员初始通信界面时,向教员客户端推送学员下线消息后,向服务器发送断开请求,断开与服务器的连接;

所述教员端断开子模块,用于教员客户端接收到所有在线学员的下线消息后解析所述下线消息将下线学员从所述实时在线的学员列表区中删除,之后离开所述教员初始通信界面,向服务器发送断开请求,断开与服务器的连接。

与现有技术相比,本发明的有益效果为:

1、本发明提供了一种实现培训仿真即时通信的方法,包括:服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接;其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。通过记录学员与虚拟角色间的各种指令、对话的交互,形成了培训指令过程记录文件。

2、本发明提供了一种实现培训仿真的服务器、客户端即时通信的方法,通过监听、学员与虚拟角色间的各种指令、对话的交互,为学员下令能力的评估提供重要依据。

附图说明

图1为本发明提供的方法流程图;

图2为本发明实施例提供的学员创建连接过程示意图;

图3为本发明实施例提供的教员创建连接过程示意图;

图4为本发明实施例提供的学员即时通信初始通信界面布局;

图5为本发明实施例提供的教员即时通信初始通信界面布局;

图6为本发明实施例提供的学员与虚拟角色间的虚拟通信通道示意图。

具体实施方式

下面结合附图对本发明实施例作进一步说明。

实施例1:

本发明提供了一种实现培训仿真的服务器、客户端即时通信的方法,结合图1本发明的方法流程图进行介绍,具体步骤如下:

步骤1:服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;

步骤2:连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;

步骤3:当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接;

其中,步骤1:服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息:

1、学员、教员客户端与websocket服务器端建立连接,包含以下步骤:

1.1教员客户端向服务器发送“ws://websocket/1/jiaoyuanid”连接请求,学员x客户端向服务器发送“ws//websocket/0/xueyuanxid”连接请求。

1.2服务器端收到用户连接请求并根据用户提供信息进行相关操作。根据用户不同,服务器端向用户端推送不同消息,学员上线后,服务器端向学员推送虚拟角色列表和常规问题列表;教员上线后,服务器端向教员端推送虚拟角色列表及已登录学员列表;对于教员上线后的学员连接请求,服务器端将该学员上线的系统消息推送给教员客户端。

2、学员、教员客户端根据初始信息渲染初始通信初始通信界面。学员客户端初始通信界面可划分为四部分,分别为:虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区。教员客户端初始通信界面可划分成三部分,分别为:实时在线的学员列表区、对话记录显示区、自编辑消息区。区别于学员的自编辑消息区,教员客户端的自编辑消息区多了虚拟列表下拉选项,教员主动发送或者回复学员时必须选定某一角色。

步骤2:连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互:

3、服务器会话管理中心实时监听用户传递的消息,并对消息进行处理及转发,包含以下步骤:

3.1客户端选定某一通信对象发送一条消息,客户端程序会将该消息封装为一条json格式的数据发送给后端服务器,该json数据包括消息发送者、消息接收者、消息内容、发送时间、消息类型等。

3.2服务器端监听到该用户消息后对该条信息进行解析,分析消息的发送者、接收者、消息内容,做存库操作,并针对不同的消息类型做出不同的响应。当消息接收者为虚拟角色时,实际消息接收者指向教员,将学员与虚拟角色的虚拟通信通道转变为实际存在的学员与教员的通信通道。

3.3服务器端根据上一步骤分析结果重新封装json格式数据,通过消息接收者的userid找到对应的socket连接并转发出去。

4、学员、教员客户端根据接收到的消息进行通话渲染。客户端程序监听到消息时,解析json数据得到消息的发送者、接收者、消息内容,并根据消息发送者找到对应的通信消息区,将消息渲染到初始通信界面上。学员端消息直接渲染,教员端需将消息包装成“某学员对虚拟角色说”加上消息内容的格式渲染到初始通信界面上。

步骤3:当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接:

5、学员客户端与websocket服务器断开连接。当学员完成考试交卷后离开系统初始通信界面时,学员客户端向后台服务器发送断开连接请求,服务器端监听到该消息后向教员客户端推送学员下线消息,教员客户端解析该消息,将下线学员从通信列表中删除。

6、教员导出考试记录,与websocket服务器断开连接。当教员客户端的通信列表区无任何记录时,说明此时所有学员均已交卷完毕,考试结束,教员导出此次考试过程中学员与虚拟角色的通信记录供后续学员下令能力评估使用,而后退出系统,断开与websocket服务器的连接。

实施例2:

本发明提供了一种实现培训仿真的服务器、客户端即时通信的方法,建立学员与众多被下令的虚拟角色间的即时通信通道,实现学员用户考试过程中与相关被下令(发电厂、变电站运维人员)对象间的实时在线交流通信,同时教员作为所有虚拟角色的实际载体可监测所有学员用户对虚拟角色的下令操作,并可以充当任一虚拟角色(即相关被下令对象)与学员进行对话,培训结束后教员可导出参与考试的学员的下令记录对其下令能力进行考核评估,本方法包含以下步骤:

步骤1:客户端基于websocket向服务器发送连接请求,同时客户端初始化通信界面;

步骤2:当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;

步骤3:当数据交互完成后,客户端基于websocket与所述服务器断开连接;

其中,步骤1:客户端基于websocket向服务器发送连接请求,同时客户端初始化通信界面:

1、学员、教员客户端与websocket服务器端建立连接,包含以下步骤:

1.1教员、学员客户登录系统后向服务器发送“ws://websocket/{identity}/{

userid}”的基于websocket协议的连接请求,并把自身相关信息(身份参数)传递给服务器端。identity是区分客户身份的参数,学员发送请求的identity值为0,教员发送请求的identity值为1,userid是每个用户的唯一标识,在服务器端作为客户端session会话的管理标识。

1.2服务器端收到用户连接请求并根据用户提供信息进行相关操作,如用户session管理,教员、学员用户分组等。根据用户不同,服务器端向用户端推送不同消息,学员上线后,服务器端向学员推送虚拟角色列表和常规问题列表;教员上线后,服务器端向教员端推送虚拟角色列表及已登录学员列表;对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员客户端。该步骤中所述虚拟角色及常规问题是教员在考试前对被下令对象(指发电厂、变电站运维人员)及可能存在的问题的事前设定,设定的被下令对象包含实际被下令的对象,不存在考试过程中学员找不到被下令对象的情况。

学员和教员客户端创建websocket连接的过程参见附图2,附图3。

步骤2:当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面:

2、学员、教员客户端根据初始信息(常规问题列表、虚拟角色列表)渲染初始通信初始通信界面,针对方法提出的建立学员与虚拟角色间的虚拟通信通道,教员监控所有下令操作以及充当任一虚拟角色与学员沟通的设想,教员客户端和学员客户端将渲染不同的初始通信初始通信界面。学员客户端初始通信界面示意图见附图4,共分为四部分,分别为:虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区。教员客户端初始通信界面示意图见附图5,共分成三部分,分别为:实时在线的学员列表区、对话记录显示区、自编辑消息区。区别于学员的自编辑消息区,教员客户端的自编辑消息区多了虚拟列表下拉选项,教员主动发送或者回复学员时必须选定某一角色。该种区别身份渲染通信初始通信界面的方式在初始通信界面展示层实现了学员与虚拟角色间的虚拟通信通道,其效果参见附图6。

3、服务器会话管理中心实时监听用户传递的消息,并对消息进行处理及转发,包含以下步骤:

3.1客户端选定某一通信对象发送一条消息,客户端程序会将该消息封装为一条json格式的数据发送给后端服务器,该json数据包括消息发送者、消息接收者、消息内容、发送时间、消息类型等。

3.2服务器端监听到该用户消息后对该条信息进行解析,分析消息的发送者、接收者、消息内容,做存库操作,并针对不同的消息类型做出不同的响应。当消息接收者为虚拟角色时,实际消息接收者指向教员,将学员与虚拟角色的虚拟通信通道转变为实际存在的学员与教员的通信通道。

3.3服务器端根据上一步骤分析结果重新封装json格式数据,通过消息接收者的userid找到对应的socket连接并转发出去。

4、学员、教员客户端根据接收到的消息进行通话渲染。客户端程序监听到消息时,解析json数据得到消息的发送者、接收者、消息内容,并根据消息发送者找到对应的通信消息区,将消息渲染到初始通信界面上。学员端消息直接渲染,教员端需将消息包装成“某学员对虚拟角色说”加上消息内容的格式渲染到初始通信界面上。

步骤3:当数据交互完成后,客户端基于websocket与所述服务器断开连接:

5、学员客户端与websocket服务器断开连接。当学员完成考试交卷后离开系统初始通信界面时,学员客户端向后台服务器发送断开连接请求,服务器端监听到该消息后向教员客户端推送学员下线消息,教员客户端解析该消息,将下线学员从通信列表中删除。

6、教员导出考试记录,与websocket服务器断开连接。当教员客户端的通信列表区无任何记录时,说明此时所有学员均已交卷完毕,考试结束,教员导出此次考试过程中学员与虚拟角色的通信记录供后续学员下令能力评估使用,而后退出系统,断开与websocket服务器的连接。

以上6步骤实现了在调度员仿真培训系统中应用websocket技术建立学员与众多虚拟角色的虚拟通信通道,允许学员在考试过程中执行下令操作;教员监控整场考试学员下令情况,并可以以某一虚拟角色与学员进行通信交流;考试完毕后教员导出整场考试的通信记录,为学员下令能力评估提供重要依据。

其中步骤1、2、5、6对每一客户端在整个考试过程中仅进行一次,步骤3、4则随着实时消息交互重复进行。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。


技术特征:

1.一种实现培训仿真即时通信的方法,其特征在于,包括:

服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;

连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;

当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接;

其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。

2.如权利要求1所述的方法,其特征在于,所述服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,包括:

服务器基于websocket接收到客户端发送的连接请求,确定连接请求中的用户角色信息,并建立学员与虚拟角色间的虚拟通信通道;

根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息。

3.如权利要求2所述的方法,其特征在于,所述根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息包括:

当用户角色为学员时,服务器基于所述虚拟通信通道对所述学员登录的客户端推送虚拟角色列表和常规问题列表;

当用户角色为教员时,服务器向所述教员登录的客户端推送虚拟角色列表及已登录学员列表,以及对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员登录的客户端。

4.如权利要求1所述的方法,其特征在于,所述连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互,包括:

服务器基于虚拟通信通道接收到学员请求连接的虚拟角色信息;

服务器将所述虚拟角色赋予教员客户端,同时将所述学员信息发送给教员客户端,并分别构建服务器与所述学员客户端和所述教员客户端的实际通信通道;

服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互。

5.如权利要求4所述的方法,其特征在于,所述服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互,包括:

服务器监听客户端传送的指令和信息;服务器处理并转发客户端传送的指令和信息。

6.如权利要求5所述的方法,其特征在于,所述服务器处理并转发客户端传送的指令和信息,包括:

当客户端选择向通信对象发送封装为json格式的指令和消息给服务器时,服务器对所述json格式的数据进行解析得到消息发送者、消息接收者和消息内容,并基于所述消息发送者、消息接收者和消息内容作出响应;

基于所述消息发送者、消息接收者和消息内容以及作出的响应,重新封装所述json格式的数据,并通过所述消息接收者的唯一标识找到对应的连接并转发至对应连接的客户端。

7.如权利要求6所述的方法,其特征在于,所述响应包括:当消息接收者为虚拟角色时,实际消息接收者指向教员,而学员与虚拟角色的虚拟通信通道则转变为实际存在的学员与教员的通信通道。

8.一种实现培训仿真即时通信的服务器,其特征在于,包括:建立通道模块、交互模块和断开模块;

所述建立通道模块,用于服务器基于websocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;

所述交互模块,用于连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;

所述断开模块,用于当所述指令和信息交互完成后,服务端基于websocket与所述客户端断开连接;

其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。

9.如权利要求8所述的服务器,其特征在于,所述的建立通道模块,包括:建立子模块和推送子模块;

所述建立子模块,用于服务器基于websocket接收到客户端发送的连接请求,确定连接请求中的用户角色信息,并建立学员与虚拟角色间的虚拟通信通道;

所述推送子模块,用于根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息。

10.如权利要求9所述的服务器,其特征在于,所述推送子模块,包括:学员推送子模块和教员推送子模块;

所述学员推送子模块,用于当用户角色为学员时,服务器基于所述虚拟通信通道对所述学员登录的客户端推送虚拟角色列表和常规问题列表;

所述教员推送子模块,用于当用户角色为教员时,服务器向所述教员登录的客户端推送虚拟角色列表及已登录学员列表,以及对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员登录的客户端。

11.如权利要求8所述的服务器,其特征在于,所述交互模块,包括:虚拟角色子模块、实际通道子模块和实际交互子模块;

所述虚拟角色子模块,用于服务器基于虚拟通信通道接收到学员请求连接的虚拟角色信息;

所述实际通道子模块,用于服务器将所述虚拟角色赋予教员客户端,同时将所述学员信息发送给教员客户端,并分别构建服务器与所述学员客户端和所述教员客户端的实际通信通道;

所述实际交互子模块,用于服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互。

12.如权利要求11所述的服务器,其特征在于,所述实际交互子模块,包括:监听单元和处理转发单元;

所述监听单元,用于服务器监听客户端传送的指令和信息;所述处理转发单元,用于服务器处理并转发客户端传送的指令和信息。

13.如权利要求12所述的服务器,其特征在于,所述处理转发单元,包括:解析子单元和重装转发子单元;

所述解析子单元,用于当客户端选择向通信对象发送封装为json格式的指令和消息给服务器时,服务器对所述json格式的数据进行解析得到消息发送者、消息接收者和消息内容,并基于所述消息发送者、消息接收者和消息内容作出响应;

所述重装转发子单元,用于基于所述消息发送者、消息接收者和消息内容以及作出的响应,重新封装所述json格式的数据,并通过所述消息接收者的唯一标识找到对应的连接并转发至对应连接的客户端。

14.如权利要求13所述的服务器,其特征在于,所述作出响应,用于当消息接收者为虚拟角色时,实际消息接收者指向教员,而学员与虚拟角色的虚拟通信通道则转变为实际存在的学员与教员的通信通道。

15.一种实现培训仿真即时通信的方法,其特征在于,包括:

客户端基于websocket向服务器发送连接请求,同时客户端初始化通信界面;

当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;

当数据交互完成后,客户端基于websocket与所述服务器断开连接;

其中,所述连接请求包括客户端用户信息:用户角色,所述用户角色包括学员、教员和虚拟用户。

16.如权利要求15所述的方法,其特征在于,所述客户端基于websocket向服务器发送连接请求,包括:

用户基于客户端登录系统后,客户端向服务器发送基于websocket协议的连接请求,并把登录所述客户端的用户信息传递给服务器端。

17.如权利要求15所述的方法,其特征在于,所述客户端初始化通信界面包括:

当用户角色为学员时客户端构建虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区;

当用户角色为教员时客户端构建实时在线的学员列表区、对话记录显示区、自编辑消息区。

18.如权利要求15所述的方法,其特征在于,所述当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面,包括:

客户端为学员时,学员在所述虚拟通信通道中基于服务器对学员推送的虚拟角色列表和常规问题列表,以及服务器解析重新封装后要传递的指令和信息与虚拟角色对话渲染不同的学员初始通信界面;

客户端为教员时,教员充当虚拟角色在所述虚拟通信通道中基于服务器对教员推送的虚拟角色列表、已登录学员列表、学员连接请求、学员上线系统消息,以及服务器解析重新封装后要传递的指令和信息,与学员对话渲染不同的教员用户初始通信界面。

19.如权利要求18所述的方法,其特征在于,所述客户端基于服务器建立的通信通道进行数据交互包括:

基于所述虚拟通信通道,学员客户端向虚拟角色发送封装为json格式的指令和信息,经服务器处理之后转为实际通信通道发送至教员客户端;

基于所述实际通信通道,教员客户端向充当的虚拟角色回传所述封装为json格式的指令和信息,经服务器处理之后转为虚拟通信通道回传至学员客户端。

20.如权利要求17所述的方法,其特征在于,所述当数据交互完成后,客户端基于websocket与所述服务器断开连接,包括:

当学员完成所述数据交互交卷后离开所述学员初始通信界面时,向教员客户端推送学员下线消息后,向服务器发送断开请求,断开与服务器的连接;

教员客户端接收到所有在线学员的下线消息后解析所述下线消息将下线学员从所述实时在线的学员列表区中删除,之后离开所述教员初始通信界面,向服务器发送断开请求,断开与服务器的连接。

21.一种实现培训仿真即时通信的装置,其特征在于,包括:连接模块、渲染模块和断开模块;

所述连接模块,用于客户端基于websocket向服务器发送连接请求,同时客户端初始化通信界面;

所述渲染模块,用于当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;

所述断开模块,用于当数据交互完成后,客户端基于websocket与所述服务器断开连接;

其中,所述连接请求包括客户端用户信息:用户角色,所述用户角色包括学员、教员和虚拟用户。

22.如权利要求21所述的装置,其特征在于,所述连接模块,用于用户信息传递子模块和初始界面子模块;

所述用户信息传递子模块,用于用户基于客户端登录系统后,客户端向服务器发送基于websocket协议的连接请求,并把登录所述客户端的用户信息传递给服务器端;

所述初始界面子模块,用于构建学员初始通信界面和教员初始通信界面。

23.如权利要求22所述的装置,其特征在于,所述初始界面子模块,包括:学员界面单元和教员界面单元;

所述学员界面单元,用于当用户角色为学员时客户端构建虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区;

所述教员界面单元,用于当用户角色为教员时客户端构建实时在线的学员列表区、对话记录显示区、自编辑消息区。

24.如权利要求21所述的装置,其特征在于,所述渲染模块,包括:数据交互子模块、学员渲染子模块和教员渲染子模块;

所述数据交互子模块,用于客户端基于服务器建立的通信通道进行数据交互;

所述学员渲染子模块,用于客户端为学员时,学员在所述虚拟通信通道中基于服务器对学员推送的虚拟角色列表和常规问题列表,以及服务器解析重新封装后要传递的指令和信息与虚拟角色对话渲染不同的学员初始通信界面;

所述教员渲染子模块,用于客户端为教员时,教员充当虚拟角色在所述虚拟通信通道中基于服务器对教员推送的虚拟角色列表、已登录学员列表、学员连接请求、学员上线系统消息,以及服务器解析重新封装后要传递的指令和信息,与学员对话渲染不同的教员用户初始通信界面。

25.如权利要求24所述的装置,其特征在于,所述数据交互子模块,包括:发送单元和回传单元;

所述发送单元,用于基于所述虚拟通信通道,学员客户端向虚拟角色发送封装为json格式的指令和信息,经服务器处理之后转为实际通信通道发送至教员客户端;

所述回传单元,用于基于所述实际通信通道,教员客户端向充当的虚拟角色回传所述封装为json格式的指令和信息,经服务器处理之后转为虚拟通信通道回传至学员客户端。

26.如权利要求21所述的装置,其特征在于,所述断开模块,包括:学员断开子模块和教员断开子模块;

所述学员端断开子模块,用于当学员完成所述数据交互交卷后离开所述学员初始通信界面时,向教员客户端推送学员下线消息后,向服务器发送断开请求,断开与服务器的连接;

所述教员端断开子模块,用于教员客户端接收到所有在线学员的下线消息后解析所述下线消息将下线学员从所述实时在线的学员列表区中删除,之后离开所述教员初始通信界面,向服务器发送断开请求,断开与服务器的连接。

技术总结
本发明提供了一种实现培训仿真即时通信的方法,包括:服务器基于WebS‑ocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;当所述指令和信息交互完成后,服务端基于WebSocket与所述客户端断开连接;其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。通过监听、记录学员与虚拟角色间的各种指令、对话,形成培训指令过程记录文件,为学员下令能力的评估提供重要依据。

技术研发人员:吕闫;齐晓琳;邱成建;王淼;韩昳;李媛媛;杨楠;黄宇鹏;王磊;卫泽晨;宋旭日;冯琼;马晓忱;刘鹏;孙博;杨晓楠;余璟;徐春雷;杨明
受保护的技术使用者:中国电力科学研究院有限公司;国网江苏省电力有限公司
技术研发日:2019.12.31
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56379.html

最新回复(0)