CN111245705B - 一种实现培训仿真的服务器、客户端即时通信的方法 - Google Patents
一种实现培训仿真的服务器、客户端即时通信的方法 Download PDFInfo
- Publication number
- CN111245705B CN111245705B CN201911424947.4A CN201911424947A CN111245705B CN 111245705 B CN111245705 B CN 111245705B CN 201911424947 A CN201911424947 A CN 201911424947A CN 111245705 B CN111245705 B CN 111245705B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- instructor
- student
- module
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012549 training Methods 0.000 title claims abstract description 30
- 238000004088 simulation Methods 0.000 title claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 129
- 230000003993 interaction Effects 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 238000009877 rendering Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004804 winding Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/08—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
- G09B5/14—Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations with provision for individual teacher-student communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Educational Administration (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明提供了一种实现培训仿真即时通信的方法,包括:服务器基于WebS‑ocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;当所述指令和信息交互完成后,服务端基于WebSocket与所述客户端断开连接;其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户。通过监听、记录学员与虚拟角色间的各种指令、对话,形成培训指令过程记录文件,为学员下令能力的评估提供重要依据。
Description
技术领域
本发明属于电力系统及自动化技术领域,本发明涉及一种实现培训仿真的服务器、客户端即时通信的方法。
背景技术
调度员仿真培训系统通过对电力系统和控制中心的仿真,提供教员控制功能,构建了支持调度员进行正常操作、事故处理及系统恢复的培训环境,同时支持电网联合反事故演习,是提升调度员业务能力、选拔优秀人才的有力工具。已有的调度员仿真培训系统,更多关注的是学员与系统间的交互,培训评估也只考虑了学员各种操作的合理性、安全性、经济性等,未能对学员下令的规范性进行考核。随着培训评估方案不断完善,调度员仿真培训系统建立内部实时通信模块,为学员考核提供重要数据支撑的需求愈发迫切。
发明内容
针对现有的调度员仿真培训系统,更多关注的是学员与系统间的交互,培训评估也只考虑了学员各种操作的合理性、安全性、经济性等,未能对学员下令的规范性进行考核的不足,本发明提供了一种实现培训仿真的服务器、客户端即时通信的方法,通过监测、记录学员与虚拟角色间的各种指令、对话,形成培训指令过程记录文件,为学员下令能力的评估提供重要依据,具体方案如下:
一种实现培训仿真即时通信的方法,包括:
服务器基于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、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
Claims (18)
1.一种实现培训仿真即时通信的方法,其特征在于,包括:
服务器基于WebSocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;
连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;
当指令和信息交互完成后,服务端基于WebSocket与所述客户端断开连接;
其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户;
所述服务器基于WebSocket接收客户端发送的连接请求建立与客户端的通信通道,包括:
服务器基于WebSocket接收到客户端发送的连接请求,确定连接请求中的用户角色信息,并建立学员与虚拟角色间的虚拟通信通道;
根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息;
所述根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息包括:
当用户角色为学员时,服务器基于所述虚拟通信通道对所述学员登录的客户端推送虚拟角色列表和常规问题列表;
当用户角色为教员时,服务器向所述教员登录的客户端推送虚拟角色列表及已登录学员列表,以及对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员登录的客户端。
2.如权利要求1所述的方法,其特征在于,所述连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互,包括:
服务器基于虚拟通信通道接收到学员请求连接的虚拟角色信息;
服务器将所述虚拟角色赋予教员客户端,同时将所述学员信息发送给教员客户端,并分别构建服务器与所述学员客户端和所述教员客户端的实际通信通道;
服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互。
3.如权利要求2所述的方法,其特征在于,所述服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互,包括:
服务器监听客户端传送的指令和信息;服务器处理并转发客户端传送的指令和信息。
4.如权利要求3所述的方法,其特征在于,所述服务器处理并转发客户端传送的指令和信息,包括:
当客户端选择向通信对象发送封装为JSON格式的指令和消息给服务器时,服务器对所述JSON格式的数据进行解析得到消息发送者、消息接收者和消息内容,并基于所述消息发送者、消息接收者和消息内容作出响应;
基于所述消息发送者、消息接收者和消息内容以及作出的响应,重新封装所述JSON格式的数据,并通过所述消息接收者的唯一标识找到对应的连接并转发至对应连接的客户端。
5.如权利要求4所述的方法,其特征在于,所述响应包括:当消息接收者为虚拟角色时,实际消息接收者指向教员,而学员与虚拟角色的虚拟通信通道则转变为实际存在的学员与教员的通信通道。
6.一种实现培训仿真即时通信的服务器,其特征在于,包括:建立通道模块、交互模块和断开模块;
所述建立通道模块,用于服务器基于WebSocket接收客户端发送的连接请求建立与客户端的通信通道,所述连接请求包括客户端用户信息;
所述交互模块,用于连接成功后服务器基于所述通信通道实现与各客户端之间的信息交互;
所述断开模块,用于当指令和信息交互完成后,服务端基于WebSocket与所述客户端断开连接;
其中,所述用户信息包括:用户角色,所述用户角色包括学员、教员和虚拟用户;
所述的建立通道模块,包括:建立子模块和推送子模块;
所述建立子模块,用于服务器基于WebSocket接收到客户端发送的连接请求,确定连接请求中的用户角色信息,并建立学员与虚拟角色间的虚拟通信通道;
所述推送子模块,用于根据用户角色以及所述虚拟通信通道,服务器端向客户端端推送所述角色对应的消息;
所述推送子模块,包括:学员推送子模块和教员推送子模块;
所述学员推送子模块,用于当用户角色为学员时,服务器基于所述虚拟通信通道对所述学员登录的客户端推送虚拟角色列表和常规问题列表;
所述教员推送子模块,用于当用户角色为教员时,服务器向所述教员登录的客户端推送虚拟角色列表及已登录学员列表,以及对于教员上线后的学员连接请求,服务器端还会将该学员上线的系统消息推送给教员登录的客户端。
7.如权利要求6所述的服务器,其特征在于,所述交互模块,包括:虚拟角色子模块、实际通道子模块和实际交互子模块;
所述虚拟角色子模块,用于服务器基于虚拟通信通道接收到学员请求连接的虚拟角色信息;
所述实际通道子模块,用于服务器将所述虚拟角色赋予教员客户端,同时将所述学员信息发送给教员客户端,并分别构建服务器与所述学员客户端和所述教员客户端的实际通信通道;
所述实际交互子模块,用于服务器与所述学员客户端和所述教员客户端分别基于所述实际通信通道进行信息交互。
8.如权利要求7所述的服务器,其特征在于,所述实际交互子模块,包括:监听单元和处理转发单元;
所述监听单元,用于服务器监听客户端传送的指令和信息;所述处理转发单元,用于服务器处理并转发客户端传送的指令和信息。
9.如权利要求8所述的服务器,其特征在于,所述处理转发单元,包括:解析子单元和重装转发子单元;
所述解析子单元,用于当客户端选择向通信对象发送封装为JSON格式的指令和消息给服务器时,服务器对所述JSON格式的数据进行解析得到消息发送者、消息接收者和消息内容,并基于所述消息发送者、消息接收者和消息内容作出响应;
所述重装转发子单元,用于基于所述消息发送者、消息接收者和消息内容以及作出的响应,重新封装所述JSON格式的数据,并通过所述消息接收者的唯一标识找到对应的连接并转发至对应连接的客户端。
10.如权利要求9所述的服务器,其特征在于,所述作出响应,用于当消息接收者为虚拟角色时,实际消息接收者指向教员,而学员与虚拟角色的虚拟通信通道则转变为实际存在的学员与教员的通信通道。
11.一种实现培训仿真即时通信的方法,其特征在于,包括:
客户端基于WebSocket向服务器发送连接请求,同时客户端初始化通信界面;
当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;
当数据交互完成后,客户端基于WebSocket与所述服务器断开连接;
其中,所述连接请求包括客户端用户信息:用户角色,所述用户角色包括学员、教员和虚拟用户;
所述客户端基于WebSocket向服务器发送连接请求,包括:
用户基于客户端登录系统后,客户端向服务器发送基于WebSocket协议的连接请求,并把登录所述客户端的用户信息传递给服务器端;
所述客户端初始化通信界面包括:
当用户角色为学员时客户端构建虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区;
当用户角色为教员时客户端构建实时在线的学员列表区、对话记录显示区、自编辑消息区。
12.如权利要求11所述的方法,其特征在于,所述当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面,包括:
客户端为学员时,学员在虚拟通信通道中基于服务器对学员推送的虚拟角色列表和常规问题列表,以及服务器解析重新封装后要传递的指令和信息与虚拟角色对话渲染不同的学员初始通信界面;
客户端为教员时,教员充当虚拟角色在所述虚拟通信通道中基于服务器对教员推送的虚拟角色列表、已登录学员列表、学员连接请求、学员上线系统消息,以及服务器解析重新封装后要传递的指令和信息,与学员对话渲染不同的教员用户初始通信界面。
13.如权利要求12所述的方法,其特征在于,所述客户端基于服务器建立的通信通道进行数据交互包括:
基于所述虚拟通信通道,学员客户端向虚拟角色发送封装为JSON格式的指令和信息,经服务器处理之后转为实际通信通道发送至教员客户端;
基于所述实际通信通道,教员客户端向充当的虚拟角色回传所述封装为JSON格式的指令和信息,经服务器处理之后转为虚拟通信通道回传至学员客户端。
14.如权利要求11所述的方法,其特征在于,所述当数据交互完成后,客户端基于WebSocket与所述服务器断开连接,包括:
当学员完成所述数据交互交卷后离开所述学员初始通信界面时,向教员客户端推送学员下线消息后,向服务器发送断开请求,断开与服务器的连接;
教员客户端接收到所有在线学员的下线消息后解析所述下线消息将下线学员从所述实时在线的学员列表区中删除,之后离开所述教员初始通信界面,向服务器发送断开请求,断开与服务器的连接。
15.一种实现培训仿真即时通信的装置,其特征在于,包括:连接模块、渲染模块和断开模块;
所述连接模块,用于客户端基于WebSocket向服务器发送连接请求,同时客户端初始化通信界面;
所述渲染模块,用于当连接成功后客户端基于服务器建立的通信通道进行数据交互,以及渲染通信界面;
所述断开模块,用于当数据交互完成后,客户端基于WebSocket与所述服务器断开连接;
其中,所述连接请求包括客户端用户信息:用户角色,所述用户角色包括学员、教员和虚拟用户;
所述连接模块,用于用户信息传递子模块和初始界面子模块;
所述用户信息传递子模块,用于用户基于客户端登录系统后,客户端向服务器发送基于WebSocket协议的连接请求,并把登录所述客户端的用户信息传递给服务器端;
所述初始界面子模块,用于构建学员初始通信界面和教员初始通信界面;
所述初始界面子模块,包括:学员界面单元和教员界面单元;
所述学员界面单元,用于当用户角色为学员时客户端构建虚拟角色列表区、对话记录显示区、常规问题列表区、自编辑消息区;
所述教员界面单元,用于当用户角色为教员时客户端构建实时在线的学员列表区、对话记录显示区、自编辑消息区。
16.如权利要求15所述的装置,其特征在于,所述渲染模块,包括:数据交互子模块、学员渲染子模块和教员渲染子模块;
所述数据交互子模块,用于客户端基于服务器建立的通信通道进行数据交互;
所述学员渲染子模块,用于客户端为学员时,学员在虚拟通信通道中基于服务器对学员推送的虚拟角色列表和常规问题列表,以及服务器解析重新封装后要传递的指令和信息与虚拟角色对话渲染不同的学员初始通信界面;
所述教员渲染子模块,用于客户端为教员时,教员充当虚拟角色在所述虚拟通信通道中基于服务器对教员推送的虚拟角色列表、已登录学员列表、学员连接请求、学员上线系统消息,以及服务器解析重新封装后要传递的指令和信息,与学员对话渲染不同的教员用户初始通信界面。
17.如权利要求16所述的装置,其特征在于,所述数据交互子模块,包括:发送单元和回传单元;
所述发送单元,用于基于所述虚拟通信通道,学员客户端向虚拟角色发送封装为JSON格式的指令和信息,经服务器处理之后转为实际通信通道发送至教员客户端;
所述回传单元,用于基于所述实际通信通道,教员客户端向充当的虚拟角色回传所述封装为JSON格式的指令和信息,经服务器处理之后转为虚拟通信通道回传至学员客户端。
18.如权利要求15所述的装置,其特征在于,所述断开模块,包括:学员断开子模块和教员断开子模块;
所述学员端断开子模块,用于当学员完成所述数据交互交卷后离开所述学员初始通信界面时,向教员客户端推送学员下线消息后,向服务器发送断开请求,断开与服务器的连接;
所述教员端断开子模块,用于教员客户端接收到所有在线学员的下线消息后解析所述下线消息将下线学员从所述实时在线的学员列表区中删除,之后离开所述教员初始通信界面,向服务器发送断开请求,断开与服务器的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424947.4A CN111245705B (zh) | 2019-12-31 | 2019-12-31 | 一种实现培训仿真的服务器、客户端即时通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424947.4A CN111245705B (zh) | 2019-12-31 | 2019-12-31 | 一种实现培训仿真的服务器、客户端即时通信的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245705A CN111245705A (zh) | 2020-06-05 |
CN111245705B true CN111245705B (zh) | 2024-03-19 |
Family
ID=70879661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911424947.4A Active CN111245705B (zh) | 2019-12-31 | 2019-12-31 | 一种实现培训仿真的服务器、客户端即时通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245705B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885487A (zh) * | 2020-07-24 | 2020-11-03 | 国家电网有限公司 | 一种分布式电力虚拟仿真培训系统协同控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002097616A1 (en) * | 2001-05-22 | 2002-12-05 | Nanyang University | Collaborative virtual enivonment system and method |
CN101075275A (zh) * | 2007-06-28 | 2007-11-21 | 上海交通大学 | 分布式多角色协同仿真演习方法 |
CN104575150A (zh) * | 2015-01-15 | 2015-04-29 | 广东电网有限责任公司教育培训评价中心 | 用于电力仿真培训的多人联机合作的方法和装置及系统 |
CN108108546A (zh) * | 2017-12-15 | 2018-06-01 | 闻博雅 | 一种安全工程实训仿真系统 |
CN110070944A (zh) * | 2019-05-17 | 2019-07-30 | 段新 | 基于虚拟环境和虚拟角色的社会功能评估训练系统 |
CN110297442A (zh) * | 2018-09-30 | 2019-10-01 | 湖北工业大学 | 一种基于WebSocket的研讨过程控制系统及方法 |
-
2019
- 2019-12-31 CN CN201911424947.4A patent/CN111245705B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002097616A1 (en) * | 2001-05-22 | 2002-12-05 | Nanyang University | Collaborative virtual enivonment system and method |
CN101075275A (zh) * | 2007-06-28 | 2007-11-21 | 上海交通大学 | 分布式多角色协同仿真演习方法 |
CN104575150A (zh) * | 2015-01-15 | 2015-04-29 | 广东电网有限责任公司教育培训评价中心 | 用于电力仿真培训的多人联机合作的方法和装置及系统 |
CN108108546A (zh) * | 2017-12-15 | 2018-06-01 | 闻博雅 | 一种安全工程实训仿真系统 |
CN110297442A (zh) * | 2018-09-30 | 2019-10-01 | 湖北工业大学 | 一种基于WebSocket的研讨过程控制系统及方法 |
CN110070944A (zh) * | 2019-05-17 | 2019-07-30 | 段新 | 基于虚拟环境和虚拟角色的社会功能评估训练系统 |
Non-Patent Citations (1)
Title |
---|
莫文雄 ; 周磊 ; 罗健斌 ; 王志军 ; .沉浸式配网带电作业仿真培训系统的设计与实现.自动化技术与应用.2018,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111245705A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2022014837A (es) | Método de optimización de red, servidor, dispositivo cliente, dispositivo del lado de red, dispositivo de red, sistema y medio. | |
CN102138156B (zh) | 维持即时消息接发应用程序中的群 | |
US20180357823A1 (en) | Apparatus and method for visual-assisted training, collaboration, and monitoring in augmented/virtual reality in industrial automation systems and other systems | |
EP2847932B1 (en) | Method, client and server of transmitting group communication information | |
CN105448149B (zh) | 一种教学中的互动与即时反馈系统及方法 | |
CN108173946B (zh) | 一种实现课堂实时互动的方法、系统及相关方法 | |
TWI770461B (zh) | 支援人機協作的即時簡訊機器人的系統及方法 | |
CN105656763A (zh) | 一种消息推送方法和装置 | |
CN106844667B (zh) | 一种基于mqtt协议的移动端试题分发与作答的方法 | |
CN110049134B (zh) | 客服聊天方法、装置、客服端、服务器及存储介质 | |
CN106960402B (zh) | 一种课程表社交方法、系统及终端设备 | |
CN105094641A (zh) | 语音问答交互方法和装置 | |
CN111245705B (zh) | 一种实现培训仿真的服务器、客户端即时通信的方法 | |
CN103049244B (zh) | 一种传输操作指令的方法及装置 | |
WO2018226472A1 (en) | Apparatus and method for visual-assisted training, collaboration, and monitoring in augmented/virtual reality in industrial automation systems and other systems | |
CN114244793B (zh) | 信息处理方法、装置、设备及存储介质 | |
CN103037329A (zh) | 短信功能测试平台和短信功能测试方法 | |
CN111773661B (zh) | 基于直播界面组队游戏的系统、方法及装置 | |
CN105827517B (zh) | 一种加入社交活动群的方法及装置 | |
CN111147285B (zh) | 一种云安全产品统一管理方法 | |
CN111884905A (zh) | 一种消息管理方法及系统 | |
EP2690560A2 (en) | Method of benchmarking the behaviour of a replacement information system with the old system | |
CN107222392A (zh) | 通信方法、装置、系统以及计算机存储介质 | |
CN113765745A (zh) | 一种业务性能测试方法、装置、终端设备和存储介质 | |
CN112633919A (zh) | 一种智能客服的实现方法及系统 |
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 |