掌桥专利:专业的专利平台
掌桥专利
首页

多媒体数据输出方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:29:13


多媒体数据输出方法、装置、电子设备及存储介质

技术领域

本申请涉及编程教育技术领域,尤其涉及一种多媒体数据输出方法、装置、电子设备及存储介质。

背景技术

随着人工智能的普及,编程已不再是特定职业所具备的专业技能,人工智能编程教育在业内的受重视程度也越来越高,成为K12(kindergarten through twelfth grade,学前至高中)教育、高等教育和职业教育的重要组成部分。作为人工智能编程教育所依赖的基础设施,人工智能编程平台通常会输出程序运行的各种多媒体数据,以供用户查看,然而现有人工智能编程平台对数据的格式要求较低,这就使得输出的多媒体数据结构化程度较低。

发明内容

本申请实施例提供了一种多媒体数据输出方法、装置、电子设备及存储介质。

本申请实施例第一方面提供了一种多媒体数据输出方法,该方法应用于服务端,该方法包括:

所述服务端通过调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息或第二操作消息,所述第一操作消息包括第一数据,所述第二操作消息包括第二数据,所述第一数据是由所述第二数据为元素组成的二维数组;

所述服务端向所述在线编程平台的客户端发送所述第一操作消息或所述第二操作消息,以使所述客户端按照所述预设格式解析所述第一操作消息或所述第二操作消息,得到按照二维数组排版的所述第一数据或所述第二数据。

结合第一方面,在一种可能的实施方式中,所述第一操作消息和所述第二操作消息包括操作指令,所述操作指令用于对所述客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,所述第三数据是由所述第四数据为元素组成的二维数组。

结合第一方面,在一种可能的实施方式中,所述第二数据和所述第四数据为所述客户端内容显示的最小元素,所述客户端用于在对所述第三数据或所述第四数据执行添加、替换、追加、删除操作中的任一种后,对当前显示的内容进行更新,所述当前显示的内容为所述客户端根据所述第四数据的数据格式对所述第四数据进行格式化渲染得到,所述数据格式包括文本、图片、视频、音频中的任一种。

结合第一方面,在一种可能的实施方式中,所述第一操作消息还包括所述第三数据的第一编号,所述第二操作消息还包括所述第四数据的第二编号以及该第四数据所属的所述第三数据的所述第一编号。

结合第一方面,在一种可能的实施方式中,所述客户端用于在根据所述第一编号确定出所述第三数据后,对所述第三数据执行删除操作或采用所述第一数据对所述第三数据执行添加、替换、追加操作中的任一种;

或者,

所述客户端用于在根据所述第一编号和所述第二编号确定出所述第四数据后,对所述第四数据执行删除操作或采用所述第二数据对所述第四数据执行添加、替换、追加操作中的任一种。

本申请实施例第二方面提供了一种多媒体数据输出方法,该方法应用于客户端,该方法包括:

所述客户端接收在线编程平台的服务端发送的第一操作消息或第二操作消息,所述第一操作消息和所述第二操作消息为所述服务端通过调用所述在线编程平台提供的接口按照预设格式对程序代码运行的输出进行封装得到的,所述第一操作消息包括第一数据,所述第二操作消息包括第二数据,所述第一数据是由所述第二数据为元素组成的二维数组;

所述客户端按照所述预设格式解析所述第一操作消息或所述第二操作消息,得到按照二维数组排版的所述第一数据或所述第二数据。

结合第二方面,在一种可能的实施方式中,所述第一操作消息和所述第二操作消息包括操作指令,在得到按照二维数组排版的所述第一数据和所述第二数据后,所述方法还包括:

所述客户端根据所述操作指令对所述客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,所述第三数据是由所述第四数据为元素组成的二维数组。

结合第二方面,在一种可能的实施方式中,所述第二数据和所述第四数据为所述客户端内容显示的最小元素,在所述客户端根据所述操作指令对所述客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种后,所述方法还包括:

所述客户端对当前显示的内容进行更新,所述当前显示的内容为所述客户端根据所述第四数据的数据格式对所述第四数据进行格式化渲染得到,所述数据格式包括文本、图片、视频、音频中的任一种。

结合第二方面,在一种可能的实施方式中,所述第一操作消息还包括所述第三数据的第一编号,所述第二操作消息还包括所述第四数据的第二编号以及该第四数据所属的所述第三数据的所述第一编号。

结合第二方面,在一种可能的实施方式中,所述客户端根据所述操作指令对所述客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,包括:

所述客户端根据所述第一编号确定出所述第三数据,对所述第三数据执行删除操作或采用所述第一数据对所述第三数据执行添加、替换、追加操作中的任一种;

或者,

所述客户端根据所述第一编号和所述第二编号确定出所述第四数据,对所述第四数据执行删除操作或采用所述第二数据对所述第四数据执行添加、替换、追加操作中的任一种。

本申请实施例第三方面提供了一种多媒体数据输出装置,该装置应用于服务端,该装置包括:

输出封装单元,用于调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息或第二操作消息,所述第一操作消息包括第一数据,所述第二操作消息包括第二数据,所述第一数据是由所述第二数据为元素组成的二维数组;

数据发送单元,用于向所述在线编程平台的客户端发送所述第一操作消息或所述第二操作消息,以使所述客户端按照所述预设格式解析所述第一操作消息或所述第二操作消息,得到按照二维数组排版的所述第一数据或所述第二数据。

本申请实施例第四方面提供了一种多媒体数据输出装置,该装置应用于客户端,该装置包括:

数据接收单元,用于接收在线编程平台的服务端发送的第一操作消息或第二操作消息,所述第一操作消息和所述第二操作消息为所述服务端通过调用所述在线编程平台提供的接口按照预设格式对程序代码运行的输出进行封装得到的,所述第一操作消息包括第一数据,所述第二操作消息包括第二数据,所述第一数据是由所述第二数据为元素组成的二维数组;

数据解析单元,用于按照所述预设格式解析所述第一操作消息或所述第二操作消息,得到按照二维数组排版的所述第一数据或所述第二数据。

本申请实施例第五方面提供了一种电子设备,该电子设备包括输入设备和输出设备,还包括处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第一方面或第二方面所述方法中的步骤。

本申请实施例第六方面提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面或第二方面所述方法中步骤。

本申请实施例第七方面提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述第一方面或第二方面所述方法中的步骤。该计算机程序产品可以为一个软件安装包。

可以看出,本申请实施例中服务端通过调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息和第二操作消息,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组;服务端向在线编程平台的客户端发送第一操作消息和第二操作消息,以使客户端按照预设格式解析第一操作消息和第二操作消息,并按照二维数组的排版格式显示第一数据和第二数据。这样由于第一操作消息和第二操作消息都是按照预设格式封装的,预设格式对第一数据和第二数据进行了结构化处理,即以第二数据为二维数组元素组成第一数据,客户端通过解析可得到这种排版格式的第一数据和第二数据,从而有利于提高输出的多媒体数据的结构化程度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种应用环境的架构图;

图2为本申请实施例提供的一种多媒体数据输出方法的流程示意图;

图3为本申请实施例提供的一种第一数据和第二数据的排版格式的示意图;

图4为本申请实施例提供的另一种多媒体数据输出方法的流程示意图;

图5为本申请实施例提供的一种多媒体数据输出装置的结构示意图;

图6为本申请实施例提供的另一种多媒体数据输出装置的结构示意图;

图7为本申请实施例提供的一种电子设备的结构示意图;

图8为本申请实施例提供的另一种电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。

本申请实施例提出一种人工智能在线编程平台的多媒体数据输出方案,可基于图1所示的应用环境实施,如图1所示,该应用环境包括电子设备101和与电子设备101通信连接的至少一个终端设备102,电子设备101和终端设备102通信连接的方式可以是串口连接、无线网络连接、蓝牙连接、网络直连。其中,电子设备101用于为在线编程平台的服务端提供运行环境和基础,本申请实施例所涉及到的电子设备可以包括各种具有程序代码运行能力和通信能力的设备,比如电子设备101可以是独立的物理服务器,也可以是服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,终端设备102上运行有在线编程平台的客户端,终端设备102提供有输入装置和显示装置,输入装置(比如键盘、鼠标、触控显示屏)可用于接收用户输入的程序代码或指令,显示装置可用于对程序代码运行的输出进行展示。本申请实施例所涉及到的终端设备可以是用户电脑(比如台式电脑、笔记本电脑、掌上电脑)、智能手机等。为方便描述,上面提到的终端设备统称为终端设备102。

本申请实施例中,在线编程平台可以是浏览器/服务器架构的平台,在线编程平台的服务端基于电子设备101提供的环境和基础运行程序代码,该程序代码可以是用户通过在线编程平台的客户端输入的,该程序代码采用Java、python等标准计算机程序设计语言编写,可在运行时调用在线编程平台提供的接口对程序代码运行的输出进行封装。其中,用户可以通过编辑调用在线编程平台提供的接口的程序代码,自定义程序代码输出的格式或数据格式。具体的,由于调用的接口可对程序代码输出的格式或数据结构进行预先定义,则输出的数据可按照预先定义的格式进行排版。服务端可向在线编程平台的客户端发送经过封装的操作消息,客户端在接收到操作消息后,按照预先定义的格式进行解析操作,得到结构化程度高、数据间关系表现明显的多媒体数据,并可按照数据格式对数据进行渲染和展示。

本申请实施例中,图1所示的架构可用于在线编程教育和研发项目展示,比如,可用于人工智能的编程教育,可用于为K12和高职学校进行人工智能和教学演示相关的项目制教学,实训课程教学等,有利于帮助学生理解程序内容;可用于研发人员查看图片、音频、视频等数据,为研发人员动态观察算法的迭代过程、对比不同算法的效果提供了极大便利。

本申请实施例提供的多媒体数据输出方案,由于输出的操作消息都是按照预设格式封装的,预设格式对输出的数据进行了结构化处理,即可输出二维数组排版格式的数据,从而有利于提高输出的多媒体数据的结构化程度。

以下结合相关附图对本申请实施例提供的多媒体数据输出方法进行详细阐述。

请参见图2,图2为本申请实施例提供的一种多媒体数据输出方法的流程示意图,该方法应用于服务端,如图2所示,包括步骤201-202:

201:服务端通过调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息或第二操作消息,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组。

本申请实施例中,在线编程平台可以是浏览器服务器(browser/server,B/S)架构,在线编程平台是一种计算机软件的操作环境,该在线编程平台,可以实现程序代码的输入、程序代码的运行、程序代码运行结果的展示等。其中,程序代码可以是实现使用数据集相关的代码,比如使用人脸识别数据集、目标检测数据集训练模型的代码;程序代码也可以是实现人工智能模型的相关代码,比如搭建神经网络模型的代码;该程序代码还可以是实现人工智能相关功能的代码,比如使用神经网络模型进行人脸识别的代码。

示例性的,在线编程平台提供了相应的软件开发工具包(software developmentkit,SDK)和应用程序编程接口(application programming interface,API),用户(比如教师、研发人员)可在在线编程平台打开文本编辑器,用户编写完程序代码后提交给服务端进行运行,服务端向客户端返回程序代码运行的输出结果。服务端在运行程序代码时调用在线编程平台提供的应用程序编程接口对程序代码运行的输出进行封装,由于该应用程序编程接口预先定义了结果输出的格式,比如以操作消息的格式进行输出,对操作消息中的数据进行行列排版等,因此,输出的多媒体数据结构化程度更高。

其中,该在线编程平台可以是人工智能教育平台、人工智能科创平台,等等,输出的多媒体数据格式可以是文本、图片、视频、音频中的任一种,该文本进一步可分为普通文本(比如一段文字)和报错信息。

示例性的,第一操作消息表示针对一块数据的操作消息,第二操作消息则表示针对一块数据中的组成元素的操作消息,第一数据即指该一块数据,第二数据即指该一块数据中的组成元素。如图3所示的一块数据,可理解为本申请中的第一数据,对于其中的单元格,作为该第一数据的组成元素,可理解为本申请中的第二数据。一种可能的排版格式中,第一数据可以是由第二数据为元素组成的二维数组。

示例性的,第一操作消息的预设格式可以是包括操作指令、第一数据的编号或需要执行添加、替换、追加、删除操作中任一种的数据的编号、第一数据的形式,第二操作消息的预设格式可以是包括操作指令、第二数据的编号或需要执行添加、替换、追加、删除操作中任一种的数据的编号、第二数据所属的第一数据的编号、第二数据的形式。

第一操作消息的预设格式可如下所示:

其中,“action:'add/replace/append/delete'”表示操作指令中的添加、替换、追加或删除操作,“block_id:xxx”表示第一数据的编号或需要执行添加、替换、追加、删除操作中任一种的数据的编号,“data:[]”表示第一操作消息中的第一数据,“cell_id:00”、“cell_id:01”和“cell_id:10”表示组成第一数据的第二数据的编号或需要执行添加、替换、追加、删除操作中任一种的数据的编号,“data:{}”表示组成第一数据的第二数据。

第二操作消息的预设格式可如下所示:

{

action:'add/replace/append/delete',

block_id:xxx,

cell_id:xxx,

data:{}

}

其中,“action:'add/replace/append/delete'”同样表示操作指令中的添加、替换、追加或删除操作,“block_id:xxx”表示第二数据所属的第一数据的编号,“cell_id:xxx”表示第二数据的编号或需要执行添加、替换、追加、删除操作中任一种的数据的编号,“data:{}”表示第二数据。

在如图3所示的一个示例中,第一数据的编号为A,则针对图3中单元格所示的第二数据的第二操作消息中既包括该编号A,同时也包括单元格所示的第二数据的编号。其中,第一数据的编号用于表示第一数据的位置,第二数据的编号用于表示第二数据在第一数据中的位置,比如,第二数据在第一数据的行和列,其中,第一数据的编号和第二数据的编号的具体形式此处不作限定。其中,操作指令包括添加、替换、追加、删除操作中的任一种,或者还可进一步包括其他操作。其中,添加是指将数据添加到待添加元素的集合中,追加是指在被选元素的结尾插入数据。

示例性的,第一操作消息还包括第一编号,第一编号是指已输出且待执行添加、替换、追加或删除操作的一块数据的编号,其中,该第一编号可以与第一数据的编号相同,也可以与第一数据的编号不同,当该第一编号与第一数据的编号不同时,第一数据的编号用于表示第一数据的位置,第一编号用于表示需要执行添加、替换、追加、删除操作中任一种的数据的位置,即第一操作消息中的编号至少应包括需要执行添加、替换、追加、删除操作中任一种的数据的编号。同理,第二操作消息还包括第二编号,第二编号是指该第一编号对应的一块数据中待执行添加、替换、追加或删除操作的一组成元素的编号,其中,该第二编号可以与第二数据的编号相同,也可以与第二数据的编号不同,当该第二编号与第二数据的编号不同时,第二数据的编号用于表示第二数据的位置,第二编号用于表示需要执行添加、替换、追加、删除操作中任一种的数据的位置,即第二操作消息中的编号至少应包括需要执行添加、替换、追加、删除操作中任一种的数据的编号。

202:服务端向在线编程平台的客户端发送第一操作消息或第二操作消息,以使客户端按照预设格式解析第一操作消息或第二操作消息,得到按照二维数组排版的第一数据或第二数据。

本申请具体实施例中,服务端基于与客户端的通信连接向客户端发送第一操作消息或第二操作消息,客户端在接收到该第一操作消息或第二操作消息的情况下,执行消息解析操作。应当理解的,针对第一操作消息,客户端可解析出操作指令、第一数据的编号和第一数据,针对第二操作消息,客户端可解析出操作指令、第二数据的编号、第二数据所属的第一数据的编号和第二数据。

示例性的,若服务端发送的是第一操作消息,则第一操作消息中的操作指令用于对客户端前一次得到的第三数据执行添加、替换、追加、删除操作中的任一种,若服务端发送的是第二操作消息,则第二操作消息中的操作指令用于对客户端前一次得到的第四数据执行添加、替换、追加、删除操作中的任一种。其中,前一次得到的第三数据或第四数据是指基于服务端前一次运行程序代码发送的操作消息得到的数据,比如第一数据或第二数据是第i次运行程序代码得到的数据,则第三数据或第四数据是基于第i-1次运行程序代码得到的数据,i为大于等于2的整数。比如第三数据或第四数据可以是客户端直接对第i-1次运行程序代码输出的操作消息进行解析得到的数据,也可以是利用第i-1次运行程序代码输出的操作消息中解析出的数据,对第i-1次的前一次得到的数据执行添加、替换、追加或删除等操作得到的数据。

与第一数据和第二数据的数据结构类似的,第三数据是由第四数据为元素组成的二维数组,也即第三数据可以是一块数据,第四数据可以是该一块数据中的组成元素。

本申请实施例中,以一块数据中的组成元素为客户端内容显示的最小元素,即第一数据中的第二数据、第三数据中的第四数据为客户端显示的最小元素,比如当前输出的是第一数据,而第一数据的组成元素是第二数据,那么客户端侧显示的是第二数据对应的多媒体内容。客户端用于在对第三数据或第四数据执行添加、替换、追加、删除操作中的任一种后,对当前显示的内容进行更新。其中,该当前显示的内容为客户端根据第四数据的数据格式对第四数据进行格式化渲染得到,即在前一次得到上述第三数据或第四数据后,客户端可用于根据第四数据的数据格式对第四数据进行格式化渲染,并将渲染出的内容显示在人机交互界面。其中,显示的内容可以是文本、图片或视频等。相比较支持线性的流式显示方式的方案,本申请实施例可以根据操作指令对当前显示的内容进行更新,并可生成动态的图表来表示数据间的变化,这样可以更方便地进行算法演算过程的展示和结果的对比,一定程度有利于提高教学效果。

本申请实施例中,第一操作消息中的第一编号可以是待更新的第三数据的编号,第二操作消息中的第二编号可以是待更新的第四数据的编号。客户端用于在根据第一编号确定出第三数据后,对第三数据执行删除操作或采用第一数据对第三数据执行添加、替换、追加操作中的任一种;或者,在根据第一编号和第二编号确定出第三数据中的第四数据后,对第四数据执行删除操作或采用第二数据对第四数据执行添加、替换、追加操作中的任一种。比如,同样作为一块数据,客户端可用于采用第一数据对第三数据进行替换,由于第一数据的组成元素为第二数据,则客户端可用于根据第二数据的数据格式对第二数据进行格式化渲染,并将渲染出的内容显示在人机交互界面中第三数据的位置,以完成对当前显示内容的更新。

需要说明的是,由于本申请实施例预先定义了一块数据和其组成元素的数据结构或排版格式,在服务端输出的是第二操作消息的情况下,仍以这种排版格式来组织第一数据和第二数据,比如多个第二数据可组成一个第一数据。

可以看出,本申请实施例中服务端通过调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息和第二操作消息,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组;服务端向在线编程平台的客户端发送第一操作消息和第二操作消息,以使客户端按照预设格式解析第一操作消息和第二操作消息,并按照二维数组的排版格式显示第一数据和第二数据。这样由于第一操作消息和第二操作消息都是按照预设格式封装的,预设格式对第一数据和第二数据进行了结构化处理,即以第二数据为二维数组元素组成第一数据,客户端通过解析可得到这种排版格式的第一数据和第二数据,从而有利于提高输出的多媒体数据的结构化程度。

请参见图4,图4为本申请实施例提供的另一种多媒体数据输出方法的流程示意图,该方法应用于客户端,如图4所示,包括步骤401-402:

401:客户端接收在线编程平台的服务端发送的第一操作消息或第二操作消息,第一操作消息和第二操作消息为服务端通过调用在线编程平台提供的接口按照预设格式对程序代码运行的输出进行封装得到的,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组。

本申请实施例中,服务端在运行程序代码时调用在线编程平台提供的应用程序编程接口对程序代码运行的输出进行封装得到第一操作消息和第二操作消息。示例性的,第一操作消息表示针对一块数据的操作消息,第二操作消息则表示针对一块数据中的组成元素的操作消息,第一数据即指该一块数据,第二数据即指该一块数据中的组成元素,第一数据可以是由第二数据为元素组成的二维数组。在教学场景或研发场景中,用户可通过在线编程平台的客户端进行项目创作,通过编写项目的程序代码来自定义第一操作消息和第二操作消息的预设格式,以及自定义第一数据和第二数据的排版格式,这种自定义的排版格式在人工智能编程场景中对数据标注显示和运行结果比对有很大帮助,有利于直观地体现数据之间的关系和变化。当然,二维数组仅是自定义排版格式的一种,并不对本申请实施例造成限定。

其中,第一操作消息和第二操作消息的预设格式在图2所示的实施例中已有相关说明,此处不再赘述。

402:客户端按照预设格式解析第一操作消息或第二操作消息,得到按照二维数组排版的第一数据或第二数据。

本申请实施例中,客户端在接收到该第一操作消息或第二操作消息的情况下,执行消息解析操作。应当理解的,针对第一操作消息,客户端可解析出操作指令、第一数据的编号和第一数据,针对第二操作消息,客户端可解析出操作指令、第二数据的编号、第二数据所属的第一数据的编号和第二数据。

示例性的,第一操作消息和第二操作消息包括操作指令,在得到按照二维数组排版的第一数据和第二数据后,该方法还包括:

客户端根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,第三数据是由第四数据为元素组成的二维数组。

其中,前一次得到的第三数据或第四数据是指基于服务端前一次运行程序代码发送的操作消息得到的数据,比如第一数据或第二数据是第i次运行程序代码得到的数据,则第三数据或第四数据是基于第i-1次运行程序代码得到的数据,i为大于等于2的整数。比如第三数据或第四数据可以是客户端直接对第i-1次运行程序代码输出的操作消息进行解析得到的数据,也可以是利用第i-1次运行程序代码输出的操作消息中解析出的数据,对第i-1次的前一次得到的数据执行添加、替换、追加或删除等操作得到的数据。其中,第三数据是由第四数据为元素组成的二维数组,即第三数据和第四数据也是按照预先定义的排版格式组织的,比如第三数据可以是一块数据,第四数据可以是该一块数据中的组成元素。

示例性的,第二数据和第四数据为客户端内容显示的最小元素,在客户端根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种后,该方法还包括:

客户端对当前显示的内容进行更新,当前显示的内容为客户端根据第四数据的数据格式对第四数据进行格式化渲染得到,该数据格式包括文本、图片、视频、音频中的任一种。

即在前一次得到上述第三数据或第四数据后,客户端可根据第四数据的数据格式对第四数据进行格式化渲染,并将渲染出的内容显示在人机交互界面。根据操作指令对当前显示的内容进行更新,这样可以更方便地进行算法演算过程的展示和结果的对比,可以非常清晰的表达算法运行的过程,以及计算迭代对于结果的影响,这样在利用在线编程平台进行教学时可以让学生充分的理解程序内容。

示例性的,第一操作消息还包括第三数据的第一编号,第二操作消息还包括第四数据的第二编号以及该第四数据所属的第三数据的第一编号。

本申请实施例中,第三数据和第四数据可以是待执行添加、替换、追加或删除操作的数据,第一编号可用于表示第三数据的位置,第二编号可用于表示第四数据在第三数据中的位置。

示例性的,客户端根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,包括:

客户端根据第一编号确定出第三数据,对第三数据执行删除操作或采用第一数据对第三数据执行添加、替换、追加操作中的任一种;

或者,

客户端根据第一编号和第二编号确定出第四数据,对第四数据执行删除操作或采用第二数据对第四数据执行添加、替换、追加操作中的任一种。

比如,客户端根据第一编号确定第四数据所属的第三数据,根据第二编号确定第四数据在该第三数据中的位置,然后执行删除操作,或者采用第二数据执行添加、替换、追加操作中的任一种,并可根据更新后的第四数据的数据格式对其进行格式化渲染,并将渲染出的内容显示在人机交互界面,以完成对当前显示内容的更新。

可以看出,本申请实施例中客户端通过接收在线编程平台的服务端发送的第一操作消息或第二操作消息,第一操作消息和第二操作消息为服务端通过调用在线编程平台提供的接口按照预设格式对程序代码运行的输出进行封装得到的,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组;客户端按照预设格式解析第一操作消息或第二操作消息,得到按照二维数组排版的第一数据或第二数据。这样由于第一操作消息和第二操作消息都是按照预设格式封装的,预设格式对第一数据和第二数据进行了结构化处理,即以第二数据为二维数组元素组成第一数据,客户端通过解析可得到这种排版格式的第一数据和第二数据,从而有利于提高输出的多媒体数据的结构化程度。

基于图2所示方法实施例的描述,本申请实施例还提供一种多媒体数据输出装置,请参见图5,图5为本申请实施例提供的一种多媒体数据输出装置的结构示意图,如图5所示,该装置包括:

输出封装单元501,用于调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息或第二操作消息,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组;

数据发送单元502,用于向在线编程平台的客户端发送第一操作消息或第二操作消息,以使客户端按照预设格式解析第一操作消息或第二操作消息,得到按照二维数组排版的第一数据或第二数据。

在一种可能的实施方式中,第一操作消息和第二操作消息包括操作指令,该操作指令用于对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,第三数据是由第四数据为元素组成的二维数组。

在一种可能的实施方式中,第二数据和第四数据为客户端内容显示的最小元素,客户端用于在对第三数据或第四数据执行添加、替换、追加、删除操作中的任一种后,对当前显示的内容进行更新,当前显示的内容为客户端根据第四数据的数据格式对第四数据进行格式化渲染得到,该数据格式包括文本、图片、视频、音频中的任一种。

在一种可能的实施方式中,第一操作消息还包括第三数据的第一编号,第二操作消息还包括第四数据的第二编号以及该第四数据所属的第三数据的第一编号。

在一种可能的实施方式中,客户端用于在根据第一编号确定出第三数据后,对第三数据执行删除操作或采用第一数据对第三数据执行添加、替换、追加操作中的任一种;

或者,

客户端用于在根据第一编号和第二编号确定出第四数据后,对第四数据执行删除操作或采用第二数据对第四数据执行添加、替换、追加操作中的任一种。

基于图4所示方法实施例的描述,本申请实施例还提供一种多媒体数据输出装置,请参见图6,图6为本申请实施例提供的另一种多媒体数据输出装置的结构示意图,如图6所示,该装置包括:

数据接收单元601,用于接收在线编程平台的服务端发送的第一操作消息或第二操作消息,所述第一操作消息和所述第二操作消息为所述服务端通过调用所述在线编程平台提供的接口按照预设格式对程序代码运行的输出进行封装得到的,所述第一操作消息包括第一数据,所述第二操作消息包括第二数据,所述第一数据是由所述第二数据为元素组成的二维数组;

数据解析单元602,用于按照所述预设格式解析所述第一操作消息或所述第二操作消息,得到按照二维数组排版的所述第一数据或所述第二数据。

在一种可能的实施方式中,第一操作消息和第二操作消息包括操作指令,数据解析单元602还用于:

根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,第三数据是由第四数据为元素组成的二维数组。

在一种可能的实施方式中,第二数据和第四数据为客户端内容显示的最小元素,数据解析单元602还用于:

对当前显示的内容进行更新,当前显示的内容为客户端根据第四数据的数据格式对第四数据进行格式化渲染得到,数据格式包括文本、图片、视频、音频中的任一种。

在一种可能的实施方式中,第一操作消息还包括第三数据的第一编号,第二操作消息还包括第四数据的第二编号以及该第四数据所属的第三数据的第一编号。

在一种可能的实施方式中,在根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种方面,数据解析单元602具体用于:

根据第一编号确定出第三数据,对第三数据执行删除操作或采用第一数据对第三数据执行添加、替换、追加操作中的任一种;

或者,

根据第一编号和第二编号确定出第四数据,对第四数据执行删除操作或采用第二数据对第四数据执行添加、替换、追加操作中的任一种。

根据本申请的一个实施例,图5或图6所示的多媒体数据输出装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,多媒体数据输出装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图4中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5或图6中所示的多媒体数据输出装置设备,以及来实现本申请实施例的多媒体数据输出方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。

基于图2所示方法实施例和图5所示装置实施例的描述,本申请实施例还提供一种电子设备,该电子设备可以是服务器。请参见图7,该电子设备至少包括处理器701、输入设备702、输出设备703以及计算机存储介质704。其中,电子设备内的处理器701、输入设备702、输出设备703以及计算机存储介质704可通过总线或其他方式连接。

计算机存储介质704可以存储在电子设备的存储器中,所述计算机存储介质704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质704存储的程序指令。处理器701(或称CPU(Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。

在一个实施例中,本申请实施例提供的电子设备的处理器701可以用于进行一系列多媒体数据的输出处理:

通过调用在线编程平台提供的接口将程序代码运行的输出封装为预设格式的第一操作消息或第二操作消息,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组;

向在线编程平台的客户端发送第一操作消息或第二操作消息,以使客户端按照预设格式解析第一操作消息或第二操作消息,得到按照二维数组排版的第一数据或第二数据。

再一个实施例中,第一操作消息和第二操作消息包括操作指令,操作指令用于对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,第三数据是由第四数据为元素组成的二维数组。

再一个实施例中,第二数据和第四数据为客户端内容显示的最小元素,客户端用于在对第三数据或第四数据执行添加、替换、追加、删除操作中的任一种后,对当前显示的内容进行更新,当前显示的内容为客户端根据第四数据的数据格式对第四数据进行格式化渲染得到,数据格式包括文本、图片、视频、音频中的任一种。

再一个实施例中,第一操作消息还包括第三数据的第一编号,第二操作消息还包括第四数据的第二编号以及该第四数据所属的第三数据的第一编号。

再一个实施例中,客户端用于在根据第一编号确定出第三数据后,对第三数据执行删除操作或采用第一数据对第三数据执行添加、替换、追加操作中的任一种;

或者,

客户端用于在根据第一编号和第二编号确定出第四数据后,对第四数据执行删除操作或采用第二数据对第四数据执行添加、替换、追加操作中的任一种。

示例性的,电子设备可包括但不仅限于处理器701、输入设备702、输出设备703以及计算机存储介质704,输入设备702可以是键盘、触摸屏等,输出设备703可以是扬声器、显示器、射频发送器等。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

需要说明的是,由于电子设备的处理器701执行计算机程序时实现上述图2所示的多媒体数据输出方法中的步骤,因此图2所示的多媒体数据输出方法的实施例均适用于该电子设备,且均能达到相同或相似的有益效果。

基于图4所示方法实施例和图6所示装置实施例的描述,本申请实施例还提供一种电子设备,该电子设备可以是终端设备。请参见图8,该电子设备至少包括处理器801、输入设备802、输出设备803以及计算机存储介质804。其中,电子设备内的处理器801、输入设备802、输出设备803以及计算机存储介质804可通过总线或其他方式连接。

计算机存储介质804可以存储在电子设备的存储器中,所述计算机存储介质804用于存储计算机程序,所述计算机程序包括程序指令,所述处理器801用于执行所述计算机存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。

在一个实施例中,本申请实施例提供的电子设备的处理器801可以用于进行一系列多媒体数据的输出处理:

接收在线编程平台的服务端发送的第一操作消息或第二操作消息,第一操作消息和第二操作消息为服务端通过调用在线编程平台提供的接口按照预设格式对程序代码运行的输出进行封装得到的,第一操作消息包括第一数据,第二操作消息包括第二数据,第一数据是由第二数据为元素组成的二维数组;

按照预设格式解析第一操作消息或第二操作消息,得到按照二维数组排版的第一数据或所述第二数据。

再一个实施例中,第一操作消息和第二操作消息包括操作指令,在得到按照二维数组排版的第一数据和第二数据后,处理器801还用于:

根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,第三数据是由第四数据为元素组成的二维数组。

再一个实施例中,第二数据和第四数据为客户端内容显示的最小元素,在客户端根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种后,处理器801还用于:

对当前显示的内容进行更新,该当前显示的内容为客户端根据第四数据的数据格式对第四数据进行格式化渲染得到,该数据格式包括文本、图片、视频、音频中的任一种。

再一个实施例中,第一操作消息还包括第三数据的第一编号,第二操作消息还包括第四数据的第二编号以及该第四数据所属的第三数据的第一编号。

再一个实施例中,处理器801执行上述根据操作指令对客户端前一次得到的第三数据或第四数据执行添加、替换、追加、删除操作中的任一种,包括:

根据第一编号确定出第三数据,对第三数据执行删除操作或采用第一数据对第三数据执行添加、替换、追加操作中的任一种;

或者,

根据第一编号和第二编号确定出第四数据,对第四数据执行删除操作或采用第二数据对第四数据执行添加、替换、追加操作中的任一种。

示例性的,电子设备可包括但不仅限于处理器801、输入设备802、输出设备803以及计算机存储介质804,输入设备802可以是键盘、触摸屏等,输出设备803可以是扬声器、显示器、射频发送器等。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

需要说明的是,由于电子设备的处理器801执行计算机程序时实现上述图4所示的多媒体数据输出方法中的步骤,因此图4所示的多媒体数据输出方法的实施例均适用于该电子设备,且均能达到相同或相似的有益效果。

本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器701或处理器801加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器701或处理器801的计算机存储介质。在一个实施例中,可由处理器701或处理器801加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关多媒体数据输出方法的相应步骤。

示例性的,计算机存储介质的计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

需要说明的是,由于计算机存储介质的计算机程序被处理器执行时实现上述的多媒体数据输出方法中的步骤,因此上述多媒体数据输出方法的所有实施例均适用于该计算机存储介质,且均能达到相同或相似的有益效果。

本申请实施例还提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述第一方面或第二方面所述方法中的步骤。该计算机程序产品可以为一个软件安装包。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 多媒体数据输出方法、装置、电子设备及存储介质
  • 一种多媒体数据播放方法、装置、电子设备及存储介质
技术分类

06120112942408