System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件测试,特别是涉及数字孪生资产的静态扫描方法、系统及计算机设备。
技术介绍
1、静态扫描是指无需运行被测代码,仅通过分析或检查源程序的语法、结构等来对被测代码进行检查,找出被测代码中的错误。现有技术中的各种静态代码扫描工具,主要针对源代码扫描,如cppcheck、tscancode等。
2、数字孪生包括社会孪生、城市孪生、设备孪生等,可以实现虚拟世界与物理世界的双向映射。数字孪生需要实时渲染技术带来沉浸式的图形体验,实现实景仿真。在数字孪生资产中,不仅仅存在源代码,还存在可视化脚本、材质、贴图以及模型等其他资产。
3、现有的静态扫描方法只能实现源代码的静态扫描,无法应用至对数字孪生资产的静态扫描。
技术实现思路
1、本专利技术要解决的技术问题是,针对现有的静态扫描方法仅仅只能对源代码进行静态扫描无法满足数字孪生资产的静态扫描,提供一种数字孪生资产的静态扫描方法,包括:
2、接收待扫描的数字孪生资产;
3、根据扫描需求,检索数字孪生资产文件;所述扫描需求包括扫描可视化脚本和/或扫描材质和/或扫描贴图和/或扫描模型和/或扫描源代码和/或扫描重复资产;
4、扫描所述数字孪生资产文件,生成扫描日志,所述扫描日志包括异常事件以及常规事件;
5、基于异常数据库解析出扫描日志中的异常事件,并提示异常数量;若所述异常数量小于或等于预设的异常数量阈值,则所述数字孪生资产无静态异常。
6、在一些实施例中,所
7、所述扫描材质包括:遍历所有材质文件,扫描所述材质的属性参数,生成材质扫描日志;材质的属性参数错误,则判定为异常事件;
8、所述扫描贴图包括:遍历所有贴图文件,扫描所述贴图的分辨率参数,生成贴图扫描日志;贴图的分辨率参数超阈值,则判定为异常事件;
9、所述扫描模型包括:遍历所有模型文件,扫描所述模型的面数参数以及调用材质参数,生成模型扫描日志;模型的面数参数或调用材质参数超阈值,则判定为异常事件;
10、所述扫描源代码包括:遍历源代码文件,生成源代码扫描日志;
11、所述扫描重复资产包括:遍历所有材质文件和/或贴图文件和/或模型文件,生成重复资产扫描日志;材质文件和/或贴图文件和/或模型文件有重复,则判定为异常事件。
12、在一些实施例中,判断所述节点是否为需要静态检测的节点,包括:若节点为除法、取模或求数组长度,则判定该节点为需要静态检测的节点。
13、在一些实施例中,若除法节点的除数为0、取模节点的除数为0或数组长度节点的参数为0或大于数组长度则判定为异常事件。
14、在一些实施例中,所述扫描数字孪生资产多线程运行。
15、本专利技术还提供一种数字孪生资产的静态扫描系统,包括:
16、资产接收模块、数字控制模块、扫描模块、异常数据库以及异常分析模块;
17、所述资产接收模块:用于接收待扫描的数字孪生资产;
18、所述数字控制模块:用于接收扫描指令,根据扫描指令,检索数字孪生资产文件,调用扫描模块对其进行扫描;所述扫描指令包括扫描可视化脚本和/或扫描材质和/或扫描贴图和/或扫描模型和/或扫描源代码和/或扫描重复资产;
19、所述扫描模块:用于扫描数字孪生资产文件,生成扫描日志,所述扫描日志包括异常事件以及常规事件;
20、所述异常数据库:用于存储异常事件关键词;
21、所诉异常分析模块:用于依据异常数据库检索异常事件中的关键词,并提示异常数量;若所述异常数量小于或等于预设的异常数量阈值,则所述数字孪生资产无静态异常。
22、在一些实施例中,所述扫描可视化脚本包括:遍历所有可视化脚本文件,遍历所述可视化脚本文件中所有图表,遍历所述图表中所有节点,判断所述节点是否为需要静态检测的节点,若是则对该节点进行扫描,生成可视化脚本扫描日志;节点异常则判定为异常事件;
23、所述扫描材质包括:遍历所有材质文件,扫描所述材质的属性参数,生成材质扫描日志;材质的属性参数错误,则判定为异常事件;
24、所述扫描贴图包括:遍历所有贴图文件,扫描所述贴图的分辨率参数,生成贴图扫描日志;贴图的分辨率参数超阈值,则判定为异常事件;
25、所述扫描模型包括:遍历所有模型文件,扫描所述模型的面数参数以及调用材质参数,生成模型扫描日志;模型的面数参数或调用材质参数超阈值,则判定为异常事件;
26、所述扫描源代码包括:遍历源代码文件,生成源代码扫描日志;
27、所述扫描重复资产包括:遍历所有材质文件和/或贴图文件和/或模型文件,生成重复资产扫描日志;材质文件和/或贴图文件和/或模型文件有重复,则判定为异常事件。
28、在一些实施例中,判断所述节点是否为需要静态检测的节点,包括:若节点为除法、取模或求数组长度,则判定该节点为需要静态检测的节点。
29、在一些实施例中,若除法节点的除数为0、取模节点的除数为0或数组长度节点的参数为0或大于数组长度则判定为异常事件。
30、本专利技术还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的数字孪生资产的静态扫描方法。
31、本专利技术的有益效果在于:本专利技术通过扫描数字孪生资产的可视化脚本文件、材质文件、贴图文件、模型文件以及源代码文件生成扫描日志,基于异常数据库解析出扫描日志中的异常事件,从而实现数字孪生资产的静态扫描。同时,本专利技术还遍历所有材质文件和/或贴图文件和/或模型文件,生成重复资产扫描日志;材质文件和/或贴图文件和/或模型文件有重复,则判定为异常事件,可以有效预防重复资产导致的入库文件过大。填补了目前对数字孪生资产的静态扫描只能实现对源代码进行扫描检测的空白。
本文档来自技高网...【技术保护点】
1.一种数字孪生资产的静态扫描方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,
3.如权利要求1或2所述的方法,其特征在于,判断所述节点是否为需要静态检测的节点,包括:若节点为除法、取模或求数组长度,则判定该节点为需要静态检测的节点。
4.如权利要求3所述的方法,其特征在于,若除法节点的除数为0、取模节点的除数为0或数组长度节点的参数为0或大于数组长度,则判定为异常事件。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述扫描数字孪生资产多线程运行。
6.一种数字孪生资产的静态扫描系统,其特征在于,包括:
7.如权利要求6所述的系统,其特征在于,
8.如权利要求7所述的系统,其特征在于,判断所述节点是否为需要静态检测的节点,包括:若节点为除法、取模或求数组长度,则判定该节点为需要静态检测的节点。
9.如权利要求8所述的系统,其特征在于,若除法节点的除数为0、取模节点的除数为0或数组长度节点的参数为0或大于数组长度则判定为异常事件。
10.一种计算机
...【技术特征摘要】
1.一种数字孪生资产的静态扫描方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,
3.如权利要求1或2所述的方法,其特征在于,判断所述节点是否为需要静态检测的节点,包括:若节点为除法、取模或求数组长度,则判定该节点为需要静态检测的节点。
4.如权利要求3所述的方法,其特征在于,若除法节点的除数为0、取模节点的除数为0或数组长度节点的参数为0或大于数组长度,则判定为异常事件。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述扫描数字孪生资产多线程运行。
6.一种数字孪生资产的静态扫描系统,其特征...
【专利技术属性】
技术研发人员:寇勇,高旻,亢林焘,刘鹏,刘希平,聂宇,彭林春,陶李,
申请(专利权)人:四川见山科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。