[发明专利]一种代码诊断方法、装置、服务端、用户设备及存储介质有效
| 申请号: | 202110418566.6 | 申请日: | 2021-04-19 |
| 公开(公告)号: | CN112817876B | 公开(公告)日: | 2022-02-01 |
| 发明(设计)人: | 吕舜;王倩倩;朱佳墩;刘益;徐文建 | 申请(专利权)人: | 阿里云计算有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 汤陈龙 |
| 地址: | 310024 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 诊断 方法 装置 服务端 用户 设备 存储 介质 | ||
1.一种代码诊断方法,其中,所述方法应用于编辑器服务端,所述方法包括:
确定代码编辑界面当前输入的代码文档;
响应于代码诊断指令,确定所述代码文档的代码语句,其中,若所述代码文档中存在多条代码语句,则将所述代码文档拆分为多条代码语句;
对所述代码文档的各代码语句,分别执行至少一种诊断类型的代码诊断,得到所述代码文档在各诊断类型对应的诊断结果;其中,所述代码文档的各代码语句在一种诊断类型对应的诊断结果,汇总得到所述代码文档在该种诊断类型对应的诊断结果;所述至少一种诊断类型包括如下至少一种:语法诊断、可执行性诊断、权限诊断、性能诊断;
将所述代码文档在各诊断类型对应的诊断结果,发送给编辑器前端,以便编辑器前端展示所述代码文档在各诊断类型对应的诊断结果;
其中,所述各诊断类型对应的诊断结果包括可执行性诊断结果,所述可执行性诊断结果的得到过程包括:
为代码文档的各代码语句设置预处理参数;
将设置预处理参数的各代码语句,分别提交给可执行性诊断引擎,使得可执行性诊断引擎对各代码语句执行可执行性诊断的预处理逻辑;
获取可执行性诊断引擎输出的代码语句的预处理失败信息,汇总各代码语句的预处理失败信息,得到所述代码文档的可执行性诊断结果。
2.根据权利要求1所述的方法,其中,所述对所述代码文档的各代码语句,分别执行至少一种诊断类型的代码诊断,得到所述代码文档在各诊断类型对应的诊断结果包括:
根据所述至少一种诊断类型中预先配置的优先执行的诊断类型,先对所述代码文档的各代码语句执行代码诊断,再对所述代码文档的各代码语句执行其他诊断类型的代码诊断,得到所述代码文档在各诊断类型对应的诊断结果,所述其他诊断类型不同于所述优先执行的诊断类型;
或者,对所述代码文档的各代码语句,并行执行各种诊断类型的代码诊断,得到所述代码文档在各诊断类型对应的诊断结果。
3.根据权利要求2所述的方法,其中,所述根据所述至少一种诊断类型中预先配置的优先执行的诊断类型,先对所述代码文档的各代码语句执行代码诊断,再对所述代码文档的各代码语句执行其他诊断类型的代码诊断,得到所述代码文档在各诊断类型对应的诊断结果包括:对代码文档中的各代码语句执行语法诊断,得到代码文档的语法诊断结果;
基于所述语法诊断结果,若确定所述代码文档中的代码语句不存在语法错误,则判断底层引擎是否支持可执行性诊断的能力;
若支持可执行性诊断的能力,对代码文档中的各代码语句执行可执行性诊断的预处理逻辑,得到代码文档的可执行性诊断结果;
若不支持可执行性诊断的能力,对代码文档中的各代码语句执行权限诊断,得到代码文档的权限诊断结果;
以及,对代码文档中的各代码语句执行性能诊断,得到代码文档的性能诊断结果。
4.根据权利要求3所述的方法,其中,所述对代码文档中的各代码语句执行权限诊断,得到代码文档的权限诊断结果包括:
针对代码文档中的任一代码语句,解析所述代码语句,确定所述代码语句中用户操作的操作数据;
结合所述操作数据以及所述代码语句中的元数据,确定所述代码语句中用户的目标操作数据;根据用户账号信息,确定用户是否具有所述目标操作数据的权限,得出所述代码语句的权限诊断结果;其中,代码文档中各代码语句的权限诊断结果,汇总得到代码文档的权限诊断结果。
5.根据权利要求4所述的方法,其中,所述结合所述操作数据以及所述代码语句中的元数据,确定所述代码语句中用户的目标操作数据包括:
当解析得到的所述操作数据中存在列数据时,将该列数据作为候选列数据,从代码语句中的上下文中查找所述候选列数据对应的表数据;
基于所述操作数据中的表数据对应的列数据,以及所述候选列数据和查找到的对应表数据,判断所述候选列数据是否为用户真实操作的列数据;
基于判断结果,确定用户真实操作的列数据;结合所述用户真实操作的列数据,以及所述操作数据中用户的操作动作和操作动作涉及的表数据,得出所述目标操作数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110418566.6/1.html,转载请声明来源钻瓜专利网。





