Web页面数据处理方法、装置、计算设备和存储介质制造方法及图纸

技术编号:21630243 阅读:69 留言:0更新日期:2019-07-17 11:30
本发明专利技术公开了一种Web页面数据处理方法、装置、计算设备和存储介质。该方法包括:JavaScript引擎针对目标数据流创建目标JavaScript对象;JavaScript引擎将目标JavaScript对象与预定的内存地址或内存地址范围相绑定;Web页面经由JavaScript引擎从预定的内存地址或内存地址范围中持续获取目标数据流。由此,通过JavaScript引擎提供一个内存地址或地址范围来保存使用者的数据,而该内存不会在每次使用后被引擎释放,而是重复利用,由此避免频繁分配新内存而触发引擎的内存回收机制,从而提升处理数据的效率。

Web Page Data Processing Method, Device, Computing Equipment and Storage Media

【技术实现步骤摘要】
Web页面数据处理方法、装置、计算设备和存储介质
本专利技术涉及Web流程交互领域,尤其涉及一种Web页面数据处理方法、
技术介绍
随着Web技术的发展与普及,Web页面的使用体验越来越接近原生应用的使用体验。由此,能够在不影响使用体验的情况下,使得用户得以免除本地安装应用的繁琐手续和对存储空间的占用,从而提升用户友好度。不过基于Web页面应用的功能实现也有一定的缺陷。Web页面通常需要利用JavaScript(其后简称为JS)语言来实现一些动态功能,而利用JS处理大块数据在如今的Web应用中也越来越常见,例如Web应用中接收视频流以添加特效等。在JS中频繁处理大块数据时,由于存在着JS引擎与基于JS开发的页面应用的数据传递,这种传递会直接带来严重的效率损耗。不但数据从JS引擎中的C/C++语言类型的数据对象转为JS页面的JS语言类型的数据对象存在着效率损耗,同时由于数据量较大,这种数据传递会导致JS引擎不断分配新的内存来进行数据传递,不断分配新的内存使用后又会触发JS引擎的内存回收机制(称为GC-GarbageCollection),内存回收机制同样会消耗大量的时间,造成卡顿丢帧等,直接影响到Web应用的使用体验。为此,期望提供一种新的Web页面的数据交互方法,能够提升Web页面应用的使用体验。
技术实现思路
本专利技术的目的是提供一种Web页面数据处理方法、装置、计算设备和存储介质,通过JavaScript引擎提供一个专门的内存范围来保存使用者的数据,而该段内存不会在每次使用后被引擎释放,而是重复利用,由此避免频繁分配新内存而触发引擎的内存回收机制,从而提升处理数据的效率。根据本专利技术的一个方面,提供了一种Web页面数据处理方法,该方法可以包括:JavaScript引擎针对目标数据流创建目标JavaScript对象。JavaScript引擎将目标JavaScript对象与预定的内存地址或内存地址范围相绑定。Web页面经由JavaScript引擎从预定的内存地址或内存地址范围中持续获取目标数据流。其中,JavaScript引擎创建的目标JavaScript对象优选地可以是ArrayBuffer类型的数据对象。预定的内存地址或内存地址范围优选地具有不会引起JavaScript引擎的内存回收机制的固定或可变大小。目标数据流优选地可以是每秒30帧或以上的视频数据流。由此,通过JavaScript引擎提供一个专门的内存范围来保存使用者的数据,而该段内存不会在每次使用后被引擎释放,而是重复利用,由此避免频繁分配新内存而触发引擎的内存回收机制,从而提升处理数据的效率。在一个实现中,在目标数据流获取期间,JavaScript引擎可以始终保持目标JavaScript对象不释放,Web页面则从与该目标JavaScript对象相绑定的预定的内存地址或内存地址范围中持续获取该目标数据流。在另一实现中,在目标数据流获取期间,JavaScript引擎可以释放在前创建的目标JavaScript对象并且创建新的目标JavaScript对象,但通过将该新的目标JavaScript对象仍然与预定的内存地址或内存地址范围相绑定,使得Web页面从仍然可以预定的内存地址或内存地址范围中持续获取目标数据流。在其他实现中,可以结合上述两种实现。JavaScript引擎可以保持部分目标JS对象不释放,释放部分JS对象并相应创建新的JS对象,只要保持这些对象与预定的内存地址或地址范围相绑定即可。这样能够更为灵活地在不引发内存回收机制的情况下实现目标视频流的持续获取。Web页面可以通过目标地址来实现对存入预定内存地址的内容的持续获取。其中,JavaScript引擎将目标JavaScript对象与预定的内存地址或内存地址范围相绑定优选地可以包括:JavaScript引擎为目标JavaScript对象分配目标数据地址;以及将目标数据地址与预定的内存地址或内存地址范围相绑定。进一步地,Web页面经由JavaScript引擎从预定的内存地址或内存地址范围中持续获取目标数据流优选地可以包括:Web页面向JavaScript引擎请求目标数据地址的数据;JavaScript引擎将从目标数据地址获取的数据存入与JavaScript对象相对应的预定内存地址或内存地址范围;以及Web页面从预定内存地址或内存地址范围获取JavaScript引擎存入的数据。由此,Web页面就能够以预定的频率持续获取由JavaScript引擎不断存入的数据,以实现对目标数据流的获取。根据本专利技术的另一方面,还提供了一种Web页面数据处理装置,该装置可以包括:JavaScript引擎模块,用于针对目标数据流创建目标JavaScript对象,并将目标JavaScript对象与预定的内存地址或内存地址范围相绑定;Web页面模块,用于经由JavaScript引擎模块从预定的内存地址或内存地址范围中持续获取目标数据流。其中,JavaScript引擎模块创建的目标JavaScript对象优选地可以是ArrayBuffer类型的数据对象。预定的内存地址或内存地址范围具有不会引起JavaScript引擎模块的内存回收机制的固定或可变大小。目标数据流优选地可以是每秒30帧或以上的视频数据流。Web页面模块可以通过目标地址来实现对存入预定内存地址的内容的持续获取。其中,JavaScript引擎模块优选地可以包括:JavaScript引擎地址分配模块,用于为目标JavaScript对象分配目标数据地址;以及JavaScript引擎地址绑定模块,用于将目标数据地址与预定的内存地址或内存地址范围相绑定。进一步地,Web页面模块优选地可以包括:数据请求模块,用于向JavaScript引擎模块请求目标数据地址的数据;所述JavaScript引擎模块将从目标数据地址获取的数据存入与JavaScript对象相对应的预定内存地址或内存地址范围;以及数据获取模块,用于从预定内存地址或内存地址范围获取JavaScript引擎模块存入的数据。由此,数据获取模块就能够以预定的频率持续获取由JavaScript引擎模块不断存入的数据,以实现对目标数据流的获取。根据本专利技术的另一方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行上文述及的方法。根据本专利技术的另一方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行上文述及的方法。由此,通过将JS对象的数据持续存入一块预先划定的内存区域,并使得Web页面或其上的应用持续从该区域中读取所需的数据,就能够避免在使用JS引擎处理大块数据时由于JS引擎不断分配新的内存来进行数据传递而频繁触发的内存回收机制问题,从而能够提升浏览器处理大块数据的速度,从而例如增加其可实现的帧率。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1是根据本专利技术实施方式提供的具有Webkit内核的处理模块的结构。图2示出了现有技术中使用者通过JS引擎获取数据地址A的内容的示本文档来自技高网...

【技术保护点】
1.一种Web页面数据处理方法,包括:JavaScript引擎针对目标数据流创建目标JavaScript对象;所述JavaScript引擎将所述目标JavaScript对象与预定的内存地址或内存地址范围相绑定;以及Web页面经由所述JavaScript引擎从所述预定的内存地址或内存地址范围中持续获取所述目标数据流。

【技术特征摘要】
1.一种Web页面数据处理方法,包括:JavaScript引擎针对目标数据流创建目标JavaScript对象;所述JavaScript引擎将所述目标JavaScript对象与预定的内存地址或内存地址范围相绑定;以及Web页面经由所述JavaScript引擎从所述预定的内存地址或内存地址范围中持续获取所述目标数据流。2.如权利要求1所述的方法,其中,所述Web页面经由所述JavaScript引擎从所述预定的内存地址或内存地址范围中持续获取所述目标数据流包括:在所述JavaScript引擎保持所述目标JavaScript对象不释放的情况下,Web页面从与所述目标JavaScript对象相绑定的所述预定的内存地址或内存地址范围中持续获取所述目标数据流。3.如权利要求1所述的方法,其中,所述Web页面经由所述JavaScript引擎从所述预定的内存地址或内存地址范围中持续获取所述目标数据流包括:JavaScript引擎释放创建的所述目标JavaScript对象并且针对所述目标数据流创建新的目标JavaScript对象;所述JavaScript引擎将所述新的目标JavaScript对象与所述预定的内存地址或内存地址范围相绑定;以及Web页面从与所述新的目标JavaScript对象相绑定的所述预定的内存地址或内存地址范围中持续获取所述目标数据流。4.如权利要求1所述的方法,其中,所述JavaScript引擎将所述目标JavaScript对象与预定的内存地址或内存地址范围相绑定包括:所述JavaScript引擎为所述目标JavaScript对象分配目标数据地址;以及将所述目标数据地址与预定的内存地址或内存地址范围相绑定。5.如权利要求4所述的方法,其中,所述Web页面经由所述JavaScript引擎从所述预定的内存地址或内存地址范围中持续获取所述目标数据流包括:所述Web页面向所述JavaScript引擎请求所述目标数据地址的数据;所述JavaScript引擎将从所述目标数据地址获取的数据存入与所述JavaScript对象相对应的所述预定内存地址或内存地址范围;以及所述Web页面从所述预定内存地址或内存地址范围获取所述JavaScript引擎存入的数据。6.如权利要求5所述的方法,其中,所述Web页面以预定的频率持续获取由所述JavaScript引擎不断存入的数据,以实现对所述目标数据流的获取。7.如权利要求1所述的方法,其中,所述JavaScript引擎创建的目标JavaScript对象是ArrayBuffer类型的数据对象。8.如权利要求1所述的方法,其中,所述预定的内存地址或内存地址范围具有不会引起所述JavaScript引擎的内存回收机制的固定或可变大小。9.如权利要求1所述的方法,其中,所述目标数据流是每秒30帧或以上的视频数据流。10.一种Web页面数据...

【专利技术属性】
技术研发人员:王晓振
申请(专利权)人:广州市动景计算机科技有限公司
类型:发明
国别省市:广东,44

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

1