[发明专利]用于移动Web应用的重放方法及重放系统有效
申请号: | 201710346413.9 | 申请日: | 2017-05-17 |
公开(公告)号: | CN107193734B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 闫方戈;夏鸣远;戚正伟;熊伟伦 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海恒慧知识产权代理事务所(特殊普通合伙) 31317 | 代理人: | 张宁展 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 移动 web 应用 重放 方法 系统 | ||
1.一种用于移动Web应用的重放方法,其特征在于,包括如下步骤:
-记录阶段:全面记录影响程序状态的不确定性源,并记录于日志;
-重放阶段:按照日志重放不确定性源,确保程序执行状态与记录时一致,并保证时间精度;
所述不确定性源包括:
不确定性源1:网络通信;
不确定性源2:用户输入;
不确定性源3:程序回调函数;
不确定性源4:具有不确定返回值的函数调用;
在记录阶段,针对不同的不确定性源,记录方法分别为:
记录方法1:对于不确定性源1,通过架设网络代理,拦截并使网络流量全部通过该网络代理,并在该网络代理中记录网络请求、网络回复以及网络延迟;所述网络代理位于应用内部或存在于应用外部;
记录方法2:对于不确定性源2,给HTML标准定义的每种文档对象模型事件注册一个新增的事件监听器,该事件监听器在对应事件发生时被调用,并记录这个事件的类型和详细属性;
记录方法3:对于不确定性源3,通过修改注册的回调函数,使这个回调函数在执行原始代码之前会首先记录这次回调函数的调用;所述修改发生在回调函数被首次调用之前,通过包装和覆盖回调函数的原注册函数,在注册时修改回调函数,或在回调函数注册后至被调用前的某个必经阶段修改回调函数;
记录方法4:对于不确定性源4,通过包装和覆盖原不确定性函数,实现记录函数调用及其返回值;
在重放阶段,针对不同的不确定性源,重放方法分别为:
重放方法1:对于不确定性源1,记录方法1中所述网络代理对比记录阶段的网络请求和重放阶段的网络请求,然后根据日志,在相同的网络延迟后返回相同的网络回复,用来模拟与记录阶段相同的网络;
重放方法2:对于不确定性源2,根据日志中的事件类型和属性,对于由用户交互产生的文档对象模型事件,构建相同的文档对象模型事件,并将此事件分发给相同的文档对象,用来模拟记录阶段的事件的发生;为保证重放产生的事件产生相同的影响,通过包装和模拟修复不一致情况;对于接口产生的文档对象模型事件,因为这些事件由其他不确定性源引发,所以只需观测到这些事件的产生并保证满足程序执行状态与记录阶段一致即可;
重放方法3:对于不确定性源3,回调函数不会真正被注册,根据日志在合适时刻直接调用相应的回调函数;对于有因果关系的回调函数调用,替代的注册一个新的回调函数,当替代的回调函数被调用后,日志记录的回调函数将被正确的重放;
重放方法4:对于不确定性源4,通过包装和覆盖不确定性函数,实现根据日志返回对应的记录阶段的返回值。
2.根据权利要求1所述的用于移动Web应用的重放方法,其特征在于,
在不确定性源1中,所述网络通信为应用程序与外部之间的网络通信,包括同步网络请求和异步网络请求,所述外部为服务器或文件系统;
在不确定性源2中,用户输入为HTML文档对象模型事件,一个文档对象模型事件引发该事件的事件监听器,其中,文档对象模型事件包括:由用户操作产生的事件和Web接口产生的事件;
在不确定性源3中,应用程序执行其回调函数,包括注册到定时器的回调函数以及注册用于处理异步行为的回调函数;
在不确定性源4中,不确定返回值的函数调用,包括:时间查询函数和/或随机数生成函数。
3.根据权利要求1至2中任一项所述的用于移动Web应用的重放方法,其特征在于,所述日志包括:日志的元数据和多个不确定性源日志条目;其中:
日志的元数据为记录产生时的全局信息,包括日志产生的设备信息、应用信息、地理信息;根据设备信息能够对日志进行双向可逆的平台无关化处理;
每个日志条目代表一种不确定性源的一次发生;日志条目均由记录方法产生;日志条目包括不确定性源属性、类型和发生的时间;
记录运行应用的设备信息,可根据设备信息对日志进行可逆的双向的平台无关化处理。
4.根据权利要求1至2中任一项所述的用于移动Web应用的重放方法,其特征在于,重放阶段,通过为不确定性源的重放增加因果关系的限定和检测,确保程序执行状态与记录时一致;所述程序执行状态包括:不确定性源重放的先后顺序、不确定性源重放的因果逻辑关系、不确定性源对应用造成改变和影响。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710346413.9/1.html,转载请声明来源钻瓜专利网。