具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,在本发明各个实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下结合具体实施例对本发明的实现进行详细描述:
图1示出了本发明实施例提供的一种数据处理方法的实现流程,详述如下:
在步骤S101中,当Unity 3D场景文件加载至浏览器时,浏览器根据预设的配置文件将浏览器的内存空间划分为若干个临时存储空间。
在本发明实施例中,Unity 3D场景文件为用户进行机电一体化技能实训虚拟仿真教学所需用的三维动画场景文件,用户通过在由该Unity 3D场景文件所生成的场景中进行虚拟实训,使得用户能够获得和真实世界中一样或者相近的实训体验,达到替代或者部分替代实训效果的作用,并使得用户能够获得生动直观的感性认识,增进对抽象的原理的理解。
在这里,浏览器检测到用户进入Unity 3D场景指令时,即Unity 3D场景文件加载至浏览器时,浏览器根据预设的配置文件中包括的数据类型相应的划分浏览器的内存空间以作为临时存储空间,临时存储空间的数量根据该预设的配置文件中包括的数据类型的数量来确定,比如,该预设的配置文件中包括3种数据类型:安装操作数据、测试操作数据和调试操作数据,或者历史操作数据、错误操作数据和关键操作数据,那么对应的临时存储空间的数量就为3个。
具体地,临时存储空间具体为浏览器中用于临时存储由Unity 3D场景所传送的交互数据的内存空间,当不需要再使用该内存空间进行交互数据的存放时,浏览器会将所划分的临时存储空间删除以释放内存空间。
在步骤S102中,浏览器接收用户与Unity 3D场景所产生的交互数据,根据所述交互数据对应的数据类别将所述交互数据进行分类后分别存储至所述临时存储空间。
在本发明实施例中,用户在Unity 3D场景进行互动操作时,例如进行机电一体化的装调实训时,随着时间的推移将产生大量的交互数据如接线操作数据、测试操作数据等,尤其是每个操作步骤的正确/错误信息的数据量就非常的大,而Unity 3D场景自身由于以网页嵌入方式内嵌于浏览器的原因,功能受到限制,并不能处理和存储这些数据,这时,Unity 3D通过预先定义的接口函数将这些交互数据导出并发送至浏览器,例如利用承载Player(媒体播放)控件API(Application Programming Interface应用程序编程接口),利用浏览器的处理能力对这些交互数据进行处理,以减轻Unity 3D场景的负担,提高Unity3D场景的运行流畅度。
在这里,从Unity 3D场景中导出的交互数据为Unity 3D不需要再使用到的操作数据,这样不仅可以提供Unity 3D场景的操作响应速度,而且减少了Unity3D场景内大量累积的操作数据,使得Unity 3D场景运行更加流畅。
在这里,由于不同浏览器所支持的数据格式不同,这时,浏览器将从Unity3D场景中接收的交互数据以当前浏览器所支持的数据格式进行相应存储,同时,因为Unity 3D场景中所产生的交互数据存在简单或复杂的多种类型数据,这里也相应地采取浏览器所支持的多种数据格式以将这些交互数据存储至由浏览器所划分的临时存储空间内,即不同临时存储空间根据不同交互数据的格式要求,采用浏览器存储支持的相应数据格式对不同类别的交互数据进行相应存储处理,例如,简单结果信息采用纯文本数据格式,历史操作步骤数据采用JSON(JavaScript Object Notation,对象表示法,简称JSON)键值对数据格式,成绩分析等格式复杂数据采用复合数据加JSON键值对复合数据格式,比如对于复杂成绩分析数据,采用多维数组集合加内层JSON对象形式进行管理,最外层数组用于存放格式为短整型无符号的数字指针,中层数组用于利用格式化字符串记录子类别或类别字符信息,最内层JSON对象形式用于利用JSON格式以Object形式存储详细成绩分析数据。
在这里,浏览器从Unity 3D场景中接收的交互数据中包含数据类别标识,该数据类别标识用于确定浏览器所接收的交互数据所属的数据类型,以便于可以根据该数据类型对浏览器所接收的交互数据进行对应分类后,再将分类后的交互数据对应存储至所划分临时存储空间。
具体地,所述临时存储空间设有与所述数据类别对应的关键标识指针,所述数据类别所属的所述临时存储空间为根据所述关键标识指针确定的与所述数据类别对应的所述临时存储空间。例如,所划分的临时存储空间有3个,依次设有0、1、2的关键标识指针,其中,关键标识指针为0对应的数据类别为历史操作记录数据,关键标识指针为1对应的数据类别为错误操作记录数据,关键标识指针为2对应的数据类别为关键操作记录数据,那么对应的,在关键标识为0的临时存储空间内所存储的数据为历史操作记录数据,在关键标识为1的临时存储空间内所存储的数据为错误操作记录数据,在关键标识为2的临时存储空间内所存储的数据为关键操作记录数据。在这里,数据类别也可以理解为操作步骤范围,属于同一操作步骤范围内的数据归为一类数据,例如,同为装配的操作步骤范围内的操作数据,为装配操作数据。
具体地,所述交互数据中包含数据类别标识;步骤S102中根据所述交互数据对应的数据类别将所述交互数据对应存储至所述临时存储空间的具体实现流程如图2所示:
在步骤S201中,浏览器根据所述交互数据中包含的数据类别标识,确定所述交互数据对应的数据类别。
在步骤S202中,浏览器根据所述数据类别将所述交互数据进行分类,按顺序将分类后的所述交互数据分别存储至所述数据类别所属的所述临时存储空间。
在本发明实施例中,在浏览器根据数据类别将交互数据进行分类后,按照交互数据所接收的数据类别的先后顺序或者按照关键标识指针的预设顺序将分类后的交互数据分别存储至该交互数据的数据类别所属的临时存储空间中。例如,浏览器所接收的交互数据的数据类别的先后顺序为错误操作记录数据,关键操作记录数据、历史操作记录数据,那么浏览器就依次将错误操作记录数据,关键操作记录数据、历史操作记录数据存储到这些数据类别所对应的临时存储空间。或者,按照关键标识指针的预设顺序:历史操作记录数据、错误操作记录数据,关键操作记录数据,分别将具有对应关键标识指针的交互数据对应存储该关键标识指针对应的临时存储空间。
具体地,在这里,交互数据中包含有操作步骤范围、目标设备和/或目标零件、操作数据和/或结果数据。基于Webkit、Gecko、Chakra的浏览器(如Charome、Firefox、Edge),具有强大的JavaScript处理能力和自身存储特性,在这里,利用浏览器的这一特性,将Unity3D场景所产生的交互数据进行分类存储及实时展示处理。在步骤S102之后,还包括通过浏览器前端实时显示Unity 3D场景中需要展示的操作数据的步骤,具体实现流程如图3所示:
在步骤301中,浏览器检测是否接收到由Unity 3D场景传送的实时展示指令;所述实时展示指令包括操作数据标识。
在本发明实施例中,实时展示指令为根据预先设定的指令集或者根据对应的配置文件如XML、JSON、普通文件TXT所配置的指令。Unity 3D场景实时检测用户是否触发配置在Unity 3D场景文件中的实时展示指令,如果用户触发了配置在Unity 3D场景文件中的实时展示指令,Unity 3D场景将该实时展示指令传送至浏览器,以便于浏览器可以根据该实时展示指令进行相应处理。
在步骤302中,当接收到由Unity 3D场景传送的实时展示指令时,浏览器根据所述实时展示指令,将所述操作数据标识对应的所述操作数据展现在浏览器的预设页面区域。
在本发明实施例中,浏览器在接收到Unity 3D场景传送的实时展示指令后,利用HTML标签动态地将该实时展示指令所对应的操作数据添加到浏览器的指定页面区域中以显示给对应的用户,以便于用户在使用Unity 3D场景进行技能实训模拟时,可以精确掌握或者查看自己当前每一步操作所带来的效果,进一步提高用户的实训体验,提升实训效果。
在步骤S103中,浏览器根据所述数据类别对应的优先级将存储至所述临时存储空间的所述交互数据分别传输至服务器。
在本发明实施例中,用户在Unity 3D场景中每一次所进行的操作步骤中所产生的交互数据中的操作数据,包括但不限于当前步骤的步骤名、执行用户、步骤序列号(也成为步骤ID,可以根据该步骤ID确定对应的操作数据或者步骤范围),该操作数据中还包括错误次数或正确次数等相关数据。
在这里,分类后的交互数据根据其预设的优先级或者重要程度具有不同的传输顺序及传输方法。具体地,浏览器根据数据类别对应的优先级将存储至临时存储空间的交互数据分别传输至服务器的具体实现流程如图4所示:
在步骤S401中,浏览器根据所述数据类别对应的优先级对存储至所述临时存储空间的所述交互数据从高到低进行排序。
在本发明实施例中,对存储至所述临时存储空间的所述交互数据从高到低进行排序,实际上也可以说是对临时存储空间内的交互数据的传输顺序,即优先传输哪个临时存储空间内的交互数据,在这里,浏览器根据数据类别对应的优先级对临时存储空间进行排序。比如,优先级最高的为关键标识指针为0所属的数据类别,那么,对应的,关键标识指针为0的临时存储空间内的数据优先传输。
在这里,因为浏览器的内存空间是由系统预先分配好的,具有存储容量限制,因此并不能大量地存储数据,特别是Unity 3D场景所产生的交互数据的数据量非常大,因此,储存在临时存储空间内的交互数据并不是一直保存在浏览器中,而必须在该临时存储空间内存储的数据量达到预设存储阈值时,或者临时存储空间不足时,将存储在该临时存储空间内的交互数据传输到服务器,由服务器进行相应的处理。
在步骤S402中,浏览器根据同步传输规则将具有最高优先级的所述交互数据实时传输至服务器。
在本发明实施例中,具有最高优先级的交互数据,采用同步传输并锁定浏览器提交方式以保证这部分交互数据可以优先到达服务器进行保存,因为其他不具有最高优先级的交互数据是在具有最高优先级的交互数据的基础上产生或者进行相应处理,优先将该具有最高优先级的交互数据传输至服务器,以便于服务器可以进行相应的处理,可以保证数据的正确性及有效性,提高了实训的效率及正确率。
在这里,具有最高优先级的交互数据可以在分类存储至临时存储空间后就传输至服务器,也可以在该交互数据达到临时存储空间的预设存储阈值时再传输至服务器。在交互数据未根据数据类别进行分类时,所有的交互数据均保留在浏览器进行相应处理,并不与服务器进行交互,当浏览器将交互数据进行分类后才将分类的交互数据传输至服务器。
在步骤S403中,浏览器根据异步传输规则将不具有最高优先级的所述交互数据按预设存储规则自由传输至服务器。
在本发明实施例中,预设存储规则为临时存储空间的内存空间不足以存放下一交互数据或者临时存储空间内的交互数据达到预设存储阈值时,触发异步传输规则以使得交互数据传输至服务器。
在这里,为了保证数据有序有效地传输至服务器,减少数据堵塞的情况,在浏览器对交互数据进行分类后,浏览器对临时存储空间内存储的交互数据所占用的内存空间进行实时监控,在交互数据所占用的内存空间达到预设存储空间时,或者临时存储空间不足以存储下一交互数据时,触发异步传输规则将该临时存储空间内的交互数据传输至服务器,由服务器进行相应的处理。
在这里,为了避免不具有最高优先级的交互数据在由浏览器到服务器的传输过程中因数据过多导致传输缓慢甚至堵塞的情况,浏览器先将临时存储空间内包含的步骤序列号提交至服务器进行确认后,根据服务器保存的结果进行自由异步提交,加快了不具有最高优先级的交互数据的传输效率,提高了用户的实训体验。
在这里,为了能够及时地对从Unity 3D场景所产生的交互数据进行分类处理,有效地利用浏览器器的内存空间,在步骤103之后,还包括如图5所示的删除临时存储空间内的交互数据的具体实现流程:
在步骤S501中,浏览器确定存储至所述临时存储空间的所述交互数据是否已传输至服务器。
在本发明实施例中,为了出现数据漏发或者漏包的情况,在浏览器将交互数据发送出去之后,还要检测是否接收到由服务器发送的传输反馈消息,根据该传输反馈信息确定这些交互数据是否已经传输至服务器,如果这些交互数据没有传输至服务器,浏览器将重新发送这些交互数据以保证数据能够正确有效地传输至服务器。
在步骤S502中,当存储至所述临时存储空间的所述交互数据已传输至服务器时,浏览器删除所述临时存储空间内的所述交互数据。
在本发明实施例中,当这些交互数据确定已传输至服务器时,为了使得浏览器能够继续存储由Unity 3D场景所产生的交互数据,有效地进行数据分类处理,浏览器将已经成功传输至服务器的交互数据进行删除处理,以释放浏览器的内存空间。
在本发明实施例中,通过在当Unity 3D场景文件加载至浏览器时,由浏览器根据预设的配置文件将浏览器的内存空间划分为若干个临时存储空间;再由浏览器接收用户与Unity 3D场景所产生的交互数据,根据所述交互数据对应的数据类别将所述交互数据进行分类后分别存储至所述临时存储空间;由浏览器根据所述数据类别对应的优先级将存储至所述临时存储空间的所述交互数据分别传输至服务器,通过浏览器所划分的临时存储空间实现了将Unity 3D场景所产生的大量交互数据分类提交至服务器,减少了网络传输的缓慢甚至堵塞的现象,并提高数据传输的正确有效性。
并且,本发明实施例充分利用了浏览器的资源特性,减轻了Unity 3D场景的负担,使得Unity 3D场景运行更加流畅,响应速度更快。而且由于浏览器已将数据进行分类处理,使得服务器响应浏览器的传输请求的时间更短,并且服务器的内存和CPU的使用率更低,从而使得服务器的响应速度更快,Unity 3D场景的运行更加流畅。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,上述的存储介质,如ROM/RAM、磁盘或光盘等。
图6示出了本发明实施例提供的一种数据处理装置7的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例提供的一种数据处理装置6,包括存储空间划分单元61、数据储存处理单元62和数据传输单元63;
其中,存储空间划分单元61,用于当Unity 3D场景文件加载至浏览器时,由浏览器根据预设的配置文件将浏览器的内存空间划分为若干个临时存储空间;
数据储存处理单元62,用于由浏览器接收用户与Unity 3D场景所产生的交互数据,根据所述交互数据对应的数据类别将所述交互数据进行分类后分别存储至所述临时存储空间;
数据传输单元63,用于由浏览器根据所述数据类别对应的优先级将存储至所述临时存储空间的所述交互数据分别传输至服务器。
进一步地,所述交互数据中包含数据类别标识;所述数据处理单元包括数据类别确定子单元和数据存储处理子单元;
其中,数据类别确定子单元,用于由浏览器根据所述交互数据中包含的数据类别标识,确定所述交互数据对应的数据类别;
数据存储处理子单元,用于由浏览器根据所述数据类别将所述交互数据进行分类,按顺序将分类后的所述交互数据分别存储至所述数据类别所属的所述临时存储空间。
进一步地,所述交互数据包括操作数据和结果数据;所述装置还包括展示指令检测单元和展示指令处理单元;
其中,展示指令检测单元,用于由浏览器检测是否接收到由Unity 3D场景传送的实时展示指令;所述实时展示指令包括操作数据标识;
展示指令处理单元,用于当接收到由Unity 3D场景传送的实时展示指令时,由浏览器根据所述实时展示指令,将所述操作数据标识对应的所述操作数据展现在浏览器的预设页面区域。
进一步地,所述临时存储空间设有与所述数据类别对应的关键标识指针,所述数据类别所属的所述临时存储空间为根据所述关键标识指针确定的与所述数据类别对应的所述临时存储空间。
进一步地,所述数据传输单元63,包括优先级排序子单元、第一数据传输子单元和第二数据传输子单元;
其中,优先级排序子单元,用于由浏览器根据所述数据类别对应的优先级对存储至所述临时存储空间的所述交互数据从高到低进行排序;
第一数据传输子单元,用于由浏览器根据同步传输规则将具有最高优先级的所述交互数据实时传输至服务器;
第二数据传输子单元,用于由浏览器根据异步传输规则将不具有最高优先级的所述交互数据按预设存储规则自由传输至服务器。
进一步地,所述装置还包括传输结果确定单元和数据删除处理单元;
其中,传输结果确定单元,用于由浏览器确定存储至所述临时存储空间的所述交互数据是否已传输至服务器;
数据删除处理单元,用于当存储至所述临时存储空间的所述交互数据已传输至服务器时,由浏览器删除所述临时存储空间内的所述交互数据。
在本发明实施例中,通过数据处理装置在当Unity 3D场景文件加载至浏览器时,由浏览器根据预设的配置文件将浏览器的内存空间划分为若干个临时存储空间;再由浏览器接收用户与Unity 3D场景所产生的交互数据,根据所述交互数据对应的数据类别将所述交互数据进行分类后分别存储至所述临时存储空间;由浏览器根据所述数据类别对应的优先级将存储至所述临时存储空间的所述交互数据分别传输至服务器,通过浏览器所划分的临时存储空间实现了将Unity 3D场景所产生的大量交互数据分类提交至服务器,减少了网络传输的缓慢甚至堵塞的现象,并提高数据传输的正确有效性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同装置来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述装置实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述装置的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到状态或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应上述以权利要求的保护范围为准。