[发明专利]Web页面数据处理方法、装置、计算设备和存储介质有效
申请号: | 201711397002.9 | 申请日: | 2017-12-21 |
公开(公告)号: | CN110020314B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 王晓振 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F9/455 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 张阳 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | web 页面 数据处理 方法 装置 计算 设备 存储 介质 | ||
本发明公开了一种Web页面数据处理方法、装置、计算设备和存储介质。该方法包括:JavaScript引擎针对目标数据流创建目标JavaScript对象;JavaScript引擎将目标JavaScript对象与预定的内存地址或内存地址范围相绑定;Web页面经由JavaScript引擎从预定的内存地址或内存地址范围中持续获取目标数据流。由此,通过JavaScript引擎提供一个内存地址或地址范围来保存使用者的数据,而该内存不会在每次使用后被引擎释放,而是重复利用,由此避免频繁分配新内存而触发引擎的内存回收机制,从而提升处理数据的效率。
技术领域
本发明涉及Web流程交互领域,尤其涉及一种Web页面数据处理方法、
背景技术
随着Web技术的发展与普及,Web页面的使用体验越来越接近原生应用的使用体验。由此,能够在不影响使用体验的情况下,使得用户得以免除本地安装应用的繁琐手续和对存储空间的占用,从而提升用户友好度。
不过基于Web页面应用的功能实现也有一定的缺陷。Web页面通常需要利用JavaScript(其后简称为JS)语言来实现一些动态功能,而利用JS处理大块数据在如今的Web应用中也越来越常见,例如Web应用中接收视频流以添加特效等。在JS中频繁处理大块数据时,由于存在着JS引擎与基于JS开发的页面应用的数据传递,这种传递会直接带来严重的效率损耗。不但数据从JS引擎中的C/C++语言类型的数据对象转为JS页面的JS语言类型的数据对象存在着效率损耗,同时由于数据量较大,这种数据传递会导致JS引擎不断分配新的内存来进行数据传递,不断分配新的内存使用后又会触发JS引擎的内存回收机制(称为GC-Garbage Collection),内存回收机制同样会消耗大量的时间,造成卡顿丢帧等,直接影响到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对象,只要保持这些对象与预定的内存地址或地址范围相绑定即可。这样能够更为灵活地在不引发内存回收机制的情况下实现目标视频流的持续获取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711397002.9/2.html,转载请声明来源钻瓜专利网。