基于B/S架构的可录制、可播放、可实时运行代码的软件平台制造技术

技术编号:29932492 阅读:11 留言:0更新日期:2021-09-04 19:03
本发明专利技术公开了基于B/S架构的可录制、可播放、可实时运行代码的软件平台,包括事件记录引擎、声音录制模块、自定义编解码模块、通信模块、后端储存模块及虚拟化运行模块;本发明专利技术提供了一种能够实现能够将鼠标事件流、键盘事件流、声音流全部记录下来,自行组成自定义编码规范,通过websocket技术实时将代码发送至后端服务器保存;在播放时按照时间将录音、鼠标事件、键盘事件逆解码进行播放;当用户在使用时,随时可以暂停播放各种事件,将事件中的文字、代码进行修改;用户想要测试代码时,可以发送至后端的虚拟化服务器中运行、编译。然后得到返回结果;用户想要再次播放时,还原操作并继续播放声音和事件流。继续播放声音和事件流。继续播放声音和事件流。

【技术实现步骤摘要】
基于B/S架构的可录制、可播放、可实时运行代码的软件平台


[0001]本专利技术涉及本专利技术涉及B/S架构的实时交互平台,具体是基于B/S架构的可录制、可播放、可实时运行代码的软件平台。

技术介绍

[0002]Javascript是前端的主流技术编程语言,扩展出来了ECMA script TypeScript等多种变种语言。JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。该语言主要基于浏览器运行,也可以使用nodejs基于服务端运行。
[0003]网页录音技术一般是基于浏览器的javascript调用浏览器底层API实现。实现录音需要使用浏览器提供的MediaRecorder API,所以前提是需要浏览器支持MediaStream Recording相关的功能。
[0004]Websocket技术是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
[0005]鼠标事件有很多种也称为MouseEvent,MouseEvent接口指用户与指针设备(如鼠标)交互时发生的事件。使用此接口的常见事件包括:click(单击),dblclick(双击),mouseup(鼠标按键抬起),MouseEvent.pageX(鼠标页面中的X坐标位置),MouseEvent.pageY(鼠标在页面中的Y轴位置)。
[0006]键盘事件与鼠标事件类似,是在网页中敲击键盘的行为和敲击键盘中的任何字符的的记录,分为onkeydown(当按下按键时运行脚本)、onkeypress(当按下并松开按键时运行脚本)、onkeyup(当松开按键时运行脚本)等事件操作。
[0007]虚拟化技术:虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。与虚拟化相关的技术有很多包括vmware的虚拟化技术、intel的虚拟化技术、Linux的虚拟化技术、容器虚拟化技术等等。
[0008]目前亟需一种软件平台,能够实现将鼠标事件流、键盘事件流、声音流全部记录下来,并自行组成自定义编码规范,通过websocket技术实时将代码发送至后端服务器保存,在播放时按照时间将录音、鼠标事件、键盘事件逆解码进行播放;用户在使用该软件平台时,随时可以暂停播放各种事件,将事件中的文字、代码进行修改;用户想要测试代码时,可
以发送至后端的虚拟化服务器中运行、编译,然后得到返回结果;用户想要再次播放时,还原操作并继续播放声音和事件流。

技术实现思路

[0009]本专利技术的目的在于提供基于B/S架构的可录制、可播放、可实时运行代码的软件平台,以解决上述
技术介绍
中提出的问题。
[0010]为实现上述目的,本专利技术提供如下技术方案:
[0011]基于B/S架构的可录制、可播放、可实时运行代码的软件平台,包括事件记录引擎、声音录制模块、自定义编解码模块、通信模块、后端储存模块及虚拟化运行模块;其中
[0012]所述事件记录引擎用于对事件内容进行记录后临时缓存,并保存于自定义编解码模块中,且通过websocket传输至后端存储模块,所述事件内容至少包括鼠标事件流、键盘事件流、音频事件流以及文字删减事件流;
[0013]所述声音录制模块基于HTML5技术调用浏览器中集成的API完成录音功能;
[0014]所述自定义编解码模块内储存有Files信息、Body信息、Course信息及Stream信息;
[0015]所述通信模块用于保存软件平台客户端记录的操作,采用软件平台客户端的记录结果,发送至服务器端;
[0016]所述后端储存模块至少用于保存json、用户名、密码、课程ID、鼠标事件流、键盘事件流、音频事件流、文字删减事件流,及用户用户读取课程ID时,将鼠标事件流、键盘事件流、音频事件流、文字删减事件流反向播放。
[0017]作为本专利技术进一步的方案:所述声音录制模块通过websocket传输模块完成对声音的发送。
[0018]作为本专利技术进一步的方案:所述通信模块的通信方式采用Websocket+HTTP方式。
[0019]作为本专利技术再进一步的方案:所述通信模块的通信方式采用socket、RPC、http长连接、http短连接中的一种或组合。
[0020]与现有技术相比,本专利技术的有益效果是:
[0021]本专利技术提供了一种能够实现能够将鼠标事件流、键盘事件流、声音流全部记录下来,自行组成自定义编码规范,通过websocket技术实时将代码发送至后端服务器保存;在播放时按照时间将录音、鼠标事件、键盘事件逆解码进行播放;当用户在使用时,随时可以暂停播放各种事件,将事件中的文字、代码进行修改;用户想要测试代码时,可以发送至后端的虚拟化服务器中运行、编译。然后得到返回结果;用户想要再次播放时,还原操作并继续播放声音和事件流。
附图说明
[0022]图1为本专利技术中事件流的录制流程框图。
[0023]图2为本专利技术中用户再次播放事件流的工作流程图。
具体实施方式
[0024]为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下将
结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0025]需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。
[0026]需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有说明书特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0027]此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于B/S架构的可录制、可播放、可实时运行代码的软件平台,其特征在于:包括事件记录引擎、声音录制模块、自定义编解码模块、通信模块、后端储存模块及虚拟化运行模块;其中,所述事件记录引擎用于对事件内容进行记录后临时缓存,并保存于自定义编解码模块中,且通过websocket传输至后端存储模块,所述事件内容至少包括鼠标事件流、键盘事件流、音频事件流以及文字删减事件流;所述声音录制模块基于HTML5技术调用浏览器中集成的API完成录音功能;所述自定义编解码模块内储存有Files信息、Body信息、Course信息及Stream信息;所述通信模块用于保存软件平台客户端记录的操作,采用软件平台客户端的记录结果,发送至服务器端;所述后端储存模块至少用于保存json、用户名、...

【专利技术属性】
技术研发人员:宁高磊
申请(专利权)人:北京扣丁在线科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1