CN116541305B - 一种异常检测的方法、装置、电子设备及存储介质 - Google Patents
一种异常检测的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116541305B CN116541305B CN202310753689.4A CN202310753689A CN116541305B CN 116541305 B CN116541305 B CN 116541305B CN 202310753689 A CN202310753689 A CN 202310753689A CN 116541305 B CN116541305 B CN 116541305B
- Authority
- CN
- China
- Prior art keywords
- detected
- file
- type
- files
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 230000005856 abnormality Effects 0.000 title claims description 36
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000011161 development Methods 0.000 claims abstract description 39
- 230000000007 visual effect Effects 0.000 claims abstract description 35
- 230000002159 abnormal effect Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 241000220225 Malus Species 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000021016 apples Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种异常检测的方法、装置、电子设备及存储介质,该方法包括:响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常。本申请通过对可视化开发平台中待检测文件中关联节点的属性值进行分析,确定该待检测文件中是否存在异常,确保了可视化平台输出结果的准确性,提高了工作效率。
Description
技术领域
本申请涉及软件开发技术领域,具体而言,涉及一种异常检测的方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的飞速发展,应用程序已然成为方便我们生活的必备工具之一。我们通过各种终端操作各种类型的应用程序能够实现我们生活中的大部分需求。随着我们生活水平的不断提升,应用程序也需要随之不断的优化升级。
为了能够更加快捷的研发和升级各类应用程序,可视化的开发工具随着产生。可视化的开发工具中保存着多个控件和该控件对应的类成员变量,开发人员通过直接视图控件能够大大简化研发周期。但是现有的可视化开发平台在使用的时候,通过视图控件会导致多个控件关联到同一类成员变量上,而现有技术中并没有相关的检测方法,给后续的开发工作带来了不必要的麻烦。
发明内容
有鉴于此,本申请的目的在于提供一种异常检测的方法、装置、电子设备及存储介质,通过对可视化开发平台中待检测文件中关联节点的属性值进行分析,确定该待检测文件中是否存在异常,确保了可视化平台输出结果的准确性,提高了工作效率。
第一方面,本申请实施例提供了一种异常检测的方法,应用于可视化开发平台,所述可视化开发平台包括视图控件和类成员变量;所述方法包括:
响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;
响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;
通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;
根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常。
在本申请一些技术方案中,上述各个类型的待检测文件包括第一类型的待检测文件,所述方法通过以下方式获取待检测文件的关联节点:
从文档对象中,获取第一类型的待检测文件的所述关联节点。
在本申请一些技术方案中,上述各个类型的待检测文件包括第二类型的待检测文件,所述方法通过以下方式获取待检测文件的关联节点:
从文档对象的各个场景中,获取与各个场景对应的目标数组;
将所述目标数组中的对象节点作为该待检测文件的所述关联节点。
在本申请一些技术方案中,上述根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常,包括:
将所述待检测文件中各个关联节点的属性值与预设的属性阈值进行对比;
根据所述待检测文件中各个关联节点的属性值对所述关联节点进行分类,若任一目标类型关联节点的数量大于等于预设的数量阈值,则该待检测文件中存在异常。
在本申请一些技术方案中,上述方法还包括:
记录目标类型的所述关联节点的关联属性信息;
根据所述关联属性信息和所述待检测文件的异常类型,采取对应的异常处理措施。
在本申请一些技术方案中,上述异常类型包括节点重复类型,所述方法采取以下的处理措施:
对于目标类型中重复的所述关联节点,采取删除措施,以使目标类型中所述关联节点数量小于预设数量阈值。
在本申请一些技术方案中,上述异常类型包括关联错误类型,所述方法采取以下的处理措施:
响应关系更改操作,将所述视图控件与其他所述类成员变量关联在一起。
在本申请一些技术方案中,上述方法还包括:
根据业务逻辑对各个视图控件的使用场景进行模拟,以验证异常处理后各个视图控件是否还存在异常。
第二方面,本申请实施例提供了一种异常检测的装置,所述装置包括:
驻留于可视化开发平台,所述可视化开发平台包括视图控件和类成员变量;所述装置包括:
生成模块,用于响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;
获取模块,用于响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;
解析模块,用于通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;
检测模块,用于根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的异常检测的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的异常检测的方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请方法包括响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常。本申请通过对可视化开发平台中待检测文件中关联节点的属性值进行分析,确定该待检测文件中是否存在异常,确保了可视化平台输出结果的准确性,提高了工作效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种异常检测的方法的流程示意图;
图2示出了本申请实施例所提供的一种异常检测的装置示意图;
图3示出了本申请实施例所提供的另一种异常检测的装置示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。 应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。 此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
随着计算机技术的飞速发展,应用程序已然成为方便我们生活的必备工具之一。我们通过各种终端操作各种类型的应用程序能够实现我们生活中的大部分需求。随着我们生活水平的不断提升,应用程序也需要随之不断的优化升级。
为了能够更加快捷的研发和升级各类应用程序,可视化的开发工具随着产生。可视化的开发工具中保存着多个控件和该控件对应的类成员变量,开发人员通过直接视图控件能够大大简化研发周期。但是现有的可视化开发平台在使用的时候,通过视图控件会导致多个控件关联到同一类成员变量上,而现有技术中并没有相关的检测方法,给后续的开发工作带来了不必要的麻烦。
基于此,本申请实施例提供了一种异常检测的方法、装置、电子设备及存储介质,下面通过实施例进行描述。
图1示出了本申请实施例所提供的一种异常检测的方法的流程示意图,其中,该方法包括步骤S101-S104;具体的:
S101、响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;
S102、响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;
S103、通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;
S104、根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常。
本申请通过对可视化开发平台中待检测文件中关联节点的属性值进行分析,确定该待检测文件中是否存在异常,确保了可视化平台输出结果的准确性,提高了工作效率。
下面对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
随着移动互联网的高速发展,智能手机已被广泛使用,苹果的iOS、谷歌的Android以及华为的HarmonyOS等开发者社区规模日益庞大,开发者数量大幅增长,由此导致各开发者团队中开发人员能力参差不齐、人员流动性大。
移动互联网时代释放出了大量的红利,诞生了一大批互联网企业,也为众多中小创业者带去福音,因此各种手机App层出不穷。大家相互借鉴,快速迭代,为了做第一个吃螃蟹而去挤压开发工时,所以众多开发者在编码过程中免不了粘贴复制,缺少校验与检查,为以后埋下隐患。
本申请实施例提供一种异常检测方法,主要用于对可视化开发平台中的待检测文件进行检测。这里的可视化开发平台具体为Xcode。Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由Apple Inc开发。Xcode是开发 macOS 和iOS应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
苹果公司为方便开发者,提供了可视化布局,让开发者们能更加直观的进行App的界面开发。开发者在使用Xcode进行研发时,需要对视图控件和类成员变量进行关联关联操作,可视化布局文件的本质其实是一个个的XML文件,通过进行这种关联关联操作界面中的每个视图控件可关联到源代码类中对应的类成员变量,这种一一对应的关系称为关联节点(outlet)。程序在运行时,会加载编译后的可视化布局文件,然后生成对应的视图控件,再通过指定的关联配置,使类对象的类成员变量与控件建立引用关系,在一定程度上提升了开发效率。
这里的关系关联操作具体包括利用鼠标建立控件与类成员变量的关联配置、复制粘贴、代码的冲突合并、项目迭代升级等行为。这些操作行为可能会导致布局文件中的有多个outlet节点指向其关联类的同一成员变量。各版本Xcode对这些布局文件的处理规则存在少许差异,最终可能在利用某个版本的Xcode输出最新App后,该App运行过程中出现了崩溃现象。这种因对同一成员变量存在多次引用的情况比较少见,利用新版的Xcode编译旧版工程输出App后容易暴露该问题,所以一般开发人员在开发过程中不会留意到。
针对上述开发人员在研发过程中遇到的问题,本申请实施例在程序启动的时候,为了节省检测时间,需要开发人员先对根路径进行确定。也就是说,本申请实施例为了避免对可视化开发平台中所有的文件都进行检测,需要开发人员指定出需要进行检测的根路径,本申请实施例仅对开发人员指定的根路径进行检测。
在确定了需要进行检测的根路径之后,本申请实施例利用文件管理系统采取深度或广度遍历的方式对该根路径进行检测。通过对该根路径进行检测,获取得到该根路径下的各个类型的待检测文件。在得到了待检测文件之后,需要确定出该待检测文件中的关联节点。
在本申请实施例中这里的待检测文件包括了第一类型的待检测文件和第二类型的待检测文件。对于不同类型的待检测文件,获取该待检测文件中的关联节点的方式是不同的。针对第一类型的待检测文件,需要从文档对象中获取;针对第二类型的待检测文件,需要对文件对象中的各个场景进行区分,从各个场景对应的目标数组中获取该待检测文件的关联节点。
具体的,本申请实施例中的待检测文件为.storyboard文件和.xib文件。这两种类型待检测文件都是XML格式,在保存这些文件的路径的时候,可以直接使用数组的方式。针对.storyboard文件和.xib文件,都使用XML解析库对其进行读取。对于xib文件,要检测的节点通过document下的objects获取到;而每个storyboard文件中可能存在多个场景,所以需要通过document下的scenes下的scene获取到一个目标数组,然后获取目标数组中每个节点的子节点objects,这就是storyboard文件中要检测的目标节点。
在确定了待检测文件的关联节点之后,本申请实施例还需要确定各个关联节点的属性值。这里关联节点的属性值具体为property属性值,本申请实施例通过对待检测文件进行属性分析得到。在得到了待检测文件中各个关联节点的属性值,然后通过对关联节点的属性值进行分析,能够确定出该待检测文件中是否存在异常。
在确定待检测文件是否存在异常的时候,本申请实施例是通过待检测文件中关联节点的属性值与预设的属性阈值进行对比确定的。在具体实施例的时候这里的属性阈值一般设置为2,也就是说,如果关联节点是属性值大于等于2 的话,本申请实施例则认为该待检测文件中存在异常。这里的关联节点的属性值大于等于2表征的是该关联节点中类成员变量被多个视图控件同时关联。如果视图控件与类成员变量之间不是一一对应关系而是多对一的关联关系的话,那么在运行的时候将会出现运行错误,即此时可视化开发平台输出的应用程序不能够正常运行。
在确定待检测文件中存在异常之后,本申请实施例还需要对该异常进行处理。在对该异常进行处理之前,本申请实施例需要对关联节点的关联属性信息进行记录,之后对于异常处理需要依据该关联节点的关联属性信息进行。这里的关联属性信息包括了该关联节点所属的对象、路径、该对象关联的类对象、property属性的值等。
在依据关联属性信息对异常进行处理的时候,本申请实施例又进一步的对异常进行了分类,即不同异常类型的待检测文件采用不同的异常处理措施。具体的,这里的异常类型包括了节点重复类型和关联错误类型。这里的节点重复类型表征的是关联节点是重复出现,针对这种情况本申请实施例采取的处理措施是将重复的关联节点进行删除。这里的关联错误类型表征的是视图控件与类成员变量之间的关联错误,针对这种情况本申请实施例采取的处理措施是对视图控件与类成员变量之间进行关系更改,将视图控件与其他类成员变量(与视图控件具有正确关联关系的类成员变量)关联在一起。
在具体实施时,找到这些对象节点(一个对象节点一般关联一个类)后,开始累计每个对象下所有outlet节点中其property属性的值相同的节点数量,如果这个对象下有多个outlet节点的property属性值相等(即根据outlet节点的property属性值统计到的outlet节点数量大于1),那么说明存在多个outlet节点关联到了同一个类的成员变量上(property属性的值用于指向关联类的成员变量),当这两个控件的类型不完全一样时,就可能出现崩溃。由于可视化文件在编辑状态下(直观展示UI效果),很难发现多个控件关联到类的同一成员变量的情况,而且多个控件的类型存在继承关系时,编译阶段是不会有错误提示的,这就给运行阶段埋下了隐患。
遇到property属性值相同的情况,需要记录下当前outlet节点所属的对象(用于后期编辑XML数据时进行定位)、所在可视化布局文件的路径、该对象关联的类对象(对象节点customClass属性的值用于描述关联的类)、outlet节点property属性的值等信息。因为property属性的值是指向类中对应的类变量的,所以在查找结束后,利用上述信息定位到目标类,找到property属性描述的成员变量,结合当前的代码业务逻辑,筛查收集到的多个outlet节点,保留正在使用的outlet节点,如果是重复的outlet节点(outlet节点的destination属性值与property属性值相等即为重复节点),则删除到只剩一个;如果是关联错误的outlet节点(outlet节点的property属性值相等但destination属性值不等),则通过IBOutlet连的线方式绑定到该类新的成员变量上(可视化布局通过鼠标加按键的方式即可新建类的成员变量并与控件建立连接关系,生成新的outlet节点)。然后根据业务逻辑,模拟这些控件可能出现的场景,做验证测试。
本申请实施例通过解析所有可视化布局文件元数据,计算每个控件通过outlet节点关联到类成员的节点数量,从而找出不同控件节点对同一类成员存在多次关联的情况,再利用源码编辑器,定位到对应的XML节点,结合代码业务,删除重复的outlet节点(保留一个即可),或者对关联错误的outlet节点通过可视化布局方式重新关联到新的类成员变量上,避免由此导致的运行期间崩溃。
图2和图3示出了本申请实施例所提供的一种异常检测的装置的结构示意图,驻留于可视化开发平台,所述可视化开发平台包括视图控件和类成员变量;所述装置包括:
生成模块,用于响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;
获取模块,用于响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;
解析模块,用于通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;
检测模块,用于根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常。
所述各个类型的待检测文件包括第一类型的待检测文件,所述方法通过以下方式获取待检测文件的关联节点:
从文档对象中,获取第一类型的待检测文件的所述关联节点。
所述各个类型的待检测文件包括第二类型的待检测文件,所述方法通过以下方式获取待检测文件的关联节点:
从文档对象的各个场景中,获取与各个场景对应的目标数组;
将所述目标数组中的对象节点作为该待检测文件的所述关联节点。
所述根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常,包括:
将所述待检测文件中各个关联节点的属性值与预设的属性阈值进行对比;
根据所述待检测文件中各个关联节点的属性值对所述关联节点进行分类,若任一目标类型关联节点的数量大于等于预设的数量阈值,则该待检测文件中存在异常。
所述装置还包括记录模块,用于记录目标类型的所述关联节点的关联属性信息;
根据所述关联属性信息和所述待检测文件的异常类型,采取对应的异常处理措施。
所述异常类型包括节点重复类型,所述方法采取以下的处理措施:
对于目标类型中重复的所述关联节点,采取删除措施,以使目标类型中所述关联节点数量小于预设数量阈值。
所述异常类型包括关联错误类型,所述方法采取以下的处理措施:
响应关系更改操作,将所述视图控件与其他所述类成员变量关联在一起。
验证模块,用于根据业务逻辑对各个视图控件的使用场景进行模拟,以验证异常处理后各个视图控件是否还存在异常。
如图4所示,本申请实施例提供了一种电子设备,用于执行本申请中的异常检测的方法,该设备包括存储器、处理器、总线及存储在该存储器上并可在该处理器上运行的计算机程序,其中,上述处理器执行上述计算机程序时实现上述的异常检测的方法的步骤。
具体地,上述存储器和处理器可以为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述的异常检测的方法。
对应于本申请中的异常检测的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的异常检测的方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的异常检测的方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种异常检测的方法,其特征在于,应用于可视化开发平台,所述可视化开发平台包括视图控件和类成员变量;所述方法包括:
响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;
响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;
通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;
根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常;
所述各个类型的待检测文件包括第一类型的待检测文件,所述方法通过以下方式获取待检测文件的关联节点:
从文档对象中,获取第一类型的待检测文件的所述关联节点;
所述各个类型的待检测文件包括第二类型的待检测文件,所述方法通过以下方式获取待检测文件的关联节点:
从文档对象的各个场景中,获取与各个场景对应的目标数组;
将所述目标数组中的对象节点作为该待检测文件的所述关联节点;
所述根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常,包括:
将所述待检测文件中各个关联节点的属性值与预设的属性阈值进行对比;
根据所述待检测文件中各个关联节点的属性值对所述关联节点进行分类,若任一目标类型关联节点的数量大于等于预设的数量阈值,则该待检测文件中存在异常。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录目标类型的所述关联节点的关联属性信息;
根据所述关联属性信息和所述待检测文件的异常类型,采取对应的异常处理措施。
3.根据权利要求2所述的方法,其特征在于,所述异常类型包括节点重复类型,所述方法采取以下的处理措施:
对于目标类型中重复的所述关联节点,采取删除措施,以使目标类型中所述关联节点数量小于预设数量阈值。
4.根据权利要求2所述的方法,其特征在于,所述异常类型包括关联错误类型,所述方法采取以下的处理措施:
响应关系更改操作,将所述视图控件与其他所述类成员变量关联在一起。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据业务逻辑对各个视图控件的使用场景进行模拟,以验证异常处理后各个视图控件是否还存在异常。
6.一种异常检测的装置,其特征在于,驻留于可视化开发平台,所述可视化开发平台包括视图控件和类成员变量;所述装置包括:
生成模块,用于响应关系关联操作,将该视图控件与所述类成员变量关联在一起,生成所述视图控件和对应类成员变量的关联节点;
获取模块,用于响应根路径确定操作,确定需要进行检测的根路径,并获取该根路径下各个类型的待检测文件;
解析模块,用于通过对各个类型的所述待检测文件进行属性解析,确定所述待检测文件中各个所述关联节点的属性值;
检测模块,用于根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常;
所述各个类型的待检测文件包括第一类型的待检测文件,通过以下方式获取待检测文件的关联节点:
从文档对象中,获取第一类型的待检测文件的所述关联节点;
所述各个类型的待检测文件包括第二类型的待检测文件,通过以下方式获取待检测文件的关联节点:
从文档对象的各个场景中,获取与各个场景对应的目标数组;
将所述目标数组中的对象节点作为该待检测文件的所述关联节点;
所述根据所述待检测文件中各个所述关联节点的属性值,检测所述待检测文件是否存在异常,包括:
将所述待检测文件中各个关联节点的属性值与预设的属性阈值进行对比;
根据所述待检测文件中各个关联节点的属性值对所述关联节点进行分类,若任一目标类型关联节点的数量大于等于预设的数量阈值,则该待检测文件中存在异常。
7.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至5任一所述的异常检测的方法的步骤。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5任一所述的异常检测的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310753689.4A CN116541305B (zh) | 2023-06-26 | 2023-06-26 | 一种异常检测的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310753689.4A CN116541305B (zh) | 2023-06-26 | 2023-06-26 | 一种异常检测的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116541305A CN116541305A (zh) | 2023-08-04 |
CN116541305B true CN116541305B (zh) | 2023-12-15 |
Family
ID=87452720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310753689.4A Active CN116541305B (zh) | 2023-06-26 | 2023-06-26 | 一种异常检测的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541305B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656827A (zh) * | 2018-12-17 | 2019-04-19 | 北京云测信息技术有限公司 | 一种控件树生成方法和终端设备 |
WO2020046260A1 (en) * | 2018-08-27 | 2020-03-05 | Siemens Aktiengesellschaft | Process semantic based causal mapping for security monitoring and assessment of control networks |
CN111324535A (zh) * | 2020-02-18 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种控件异常检测方法、装置和计算机设备 |
CN111530083A (zh) * | 2020-05-26 | 2020-08-14 | 网易(杭州)网络有限公司 | 一种界面检查的方法及装置 |
CN111831292A (zh) * | 2020-06-30 | 2020-10-27 | 北京小米松果电子有限公司 | 生成安装包的方法、装置、存储介质和电子设备 |
CN112083922A (zh) * | 2020-09-21 | 2020-12-15 | 深圳市金玺智控技术有限公司 | 可视化编程方法、装置、设备及存储介质 |
CN112953904A (zh) * | 2021-01-27 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 异常检测方法、装置、服务器以及存储介质 |
CN112948275A (zh) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | 测试数据生成方法、装置、设备及存储介质 |
WO2021189831A1 (zh) * | 2020-03-26 | 2021-09-30 | 平安科技(深圳)有限公司 | 日志优化方法、装置、设备及可读存储介质 |
CN113486359A (zh) * | 2021-07-13 | 2021-10-08 | 杭州安恒信息技术股份有限公司 | 软件漏洞的检测方法、装置、电子装置和存储介质 |
CN114328243A (zh) * | 2021-12-30 | 2022-04-12 | 数字广东网络建设有限公司 | 一种异常运行数据的处理方法、装置、设备和存储介质 |
CN114328168A (zh) * | 2020-10-09 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 异常检测方法、装置、计算机设备和存储介质 |
CN114579203A (zh) * | 2022-03-07 | 2022-06-03 | 网易(杭州)网络有限公司 | 脚本文件检查方法、装置、电子设备及存储介质 |
CN114594933A (zh) * | 2022-01-20 | 2022-06-07 | 广东南方数码科技股份有限公司 | 基于文件扫描的前端代码生成方法、装置及存储介质 |
CN114936111A (zh) * | 2022-06-08 | 2022-08-23 | 平安科技(深圳)有限公司 | 前端变量异常检测及修复方法、装置、设备及存储介质 |
CN115145545A (zh) * | 2022-05-18 | 2022-10-04 | 广州锋网信息科技有限公司 | 小程序代码的生成方法、装置、计算机设备和存储介质 |
CN115600213A (zh) * | 2022-10-24 | 2023-01-13 | 平安科技(深圳)有限公司(Cn) | 基于应用程序的漏洞管理方法、装置、介质及设备 |
CN115686515A (zh) * | 2022-10-31 | 2023-02-03 | 广东云徙智能科技有限公司 | 参数可视化配置界面生成方法、装置、介质和电子设备 |
-
2023
- 2023-06-26 CN CN202310753689.4A patent/CN116541305B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020046260A1 (en) * | 2018-08-27 | 2020-03-05 | Siemens Aktiengesellschaft | Process semantic based causal mapping for security monitoring and assessment of control networks |
CN109656827A (zh) * | 2018-12-17 | 2019-04-19 | 北京云测信息技术有限公司 | 一种控件树生成方法和终端设备 |
CN111324535A (zh) * | 2020-02-18 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种控件异常检测方法、装置和计算机设备 |
WO2021189831A1 (zh) * | 2020-03-26 | 2021-09-30 | 平安科技(深圳)有限公司 | 日志优化方法、装置、设备及可读存储介质 |
CN111530083A (zh) * | 2020-05-26 | 2020-08-14 | 网易(杭州)网络有限公司 | 一种界面检查的方法及装置 |
CN111831292A (zh) * | 2020-06-30 | 2020-10-27 | 北京小米松果电子有限公司 | 生成安装包的方法、装置、存储介质和电子设备 |
CN112083922A (zh) * | 2020-09-21 | 2020-12-15 | 深圳市金玺智控技术有限公司 | 可视化编程方法、装置、设备及存储介质 |
CN114328168A (zh) * | 2020-10-09 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 异常检测方法、装置、计算机设备和存储介质 |
CN112953904A (zh) * | 2021-01-27 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 异常检测方法、装置、服务器以及存储介质 |
CN112948275A (zh) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | 测试数据生成方法、装置、设备及存储介质 |
CN113486359A (zh) * | 2021-07-13 | 2021-10-08 | 杭州安恒信息技术股份有限公司 | 软件漏洞的检测方法、装置、电子装置和存储介质 |
CN114328243A (zh) * | 2021-12-30 | 2022-04-12 | 数字广东网络建设有限公司 | 一种异常运行数据的处理方法、装置、设备和存储介质 |
CN114594933A (zh) * | 2022-01-20 | 2022-06-07 | 广东南方数码科技股份有限公司 | 基于文件扫描的前端代码生成方法、装置及存储介质 |
CN114579203A (zh) * | 2022-03-07 | 2022-06-03 | 网易(杭州)网络有限公司 | 脚本文件检查方法、装置、电子设备及存储介质 |
CN115145545A (zh) * | 2022-05-18 | 2022-10-04 | 广州锋网信息科技有限公司 | 小程序代码的生成方法、装置、计算机设备和存储介质 |
CN114936111A (zh) * | 2022-06-08 | 2022-08-23 | 平安科技(深圳)有限公司 | 前端变量异常检测及修复方法、装置、设备及存储介质 |
CN115600213A (zh) * | 2022-10-24 | 2023-01-13 | 平安科技(深圳)有限公司(Cn) | 基于应用程序的漏洞管理方法、装置、介质及设备 |
CN115686515A (zh) * | 2022-10-31 | 2023-02-03 | 广东云徙智能科技有限公司 | 参数可视化配置界面生成方法、装置、介质和电子设备 |
Non-Patent Citations (3)
Title |
---|
Detection of app collusion potential using logic programming;Jorge Blasco等;《Journal of Network and Computer Applications》;第105卷;88-104 * |
基于知识表示的智能低代码开发引擎的关键技术研究;谈振伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2023年卷(第1期);I138-468 * |
面向虚拟平台的移动用户界面建模方法的研究;邵明鑫;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2018年卷(第2期);I138-759 * |
Also Published As
Publication number | Publication date |
---|---|
CN116541305A (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585780B2 (en) | Enhancing software development using bug data | |
CN110990020A (zh) | 一种软件编译方法、装置及电子设备和存储介质 | |
KR20060045568A (ko) | 프로그램 계측 동안의 프로브 최적화 방법 및 시스템 | |
CN107783766B (zh) | 对应用程序的文件进行清理的方法和装置 | |
CN111108481B (zh) | 故障分析方法及相关设备 | |
US20110145799A1 (en) | Path-sensitive dataflow analysis including path refinement | |
WO2019055378A1 (en) | METHOD AND APPARATUS FOR FINDING LONG PROCESSES IN A CODE | |
CN104794048A (zh) | 一种ui自动化测试方法和系统 | |
US20140165038A1 (en) | Analysis of propagated information using annotated forests | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
Nam et al. | Marble: Mining for boilerplate code to identify API usability problems | |
CN113946366A (zh) | 代码分析的方法、系统及计算设备 | |
CN106844219B (zh) | 应用检测方法及应用检测装置 | |
CN115048104A (zh) | 基于语法树的代码生成方法及其装置、电子设备 | |
CN113076084A (zh) | 资源文件处理方法、装置、设备及存储介质 | |
CN112631944A (zh) | 基于抽象语法树的源码检测方法及装置、计算机存储介质 | |
CN116541305B (zh) | 一种异常检测的方法、装置、电子设备及存储介质 | |
CN108763092B (zh) | 一种基于交叉验证的代码缺陷检测方法及装置 | |
CN114020648B (zh) | 应用控件的测试方法、装置、电子设备及存储介质 | |
CN113805861B (zh) | 基于机器学习的代码生成方法、代码编辑系统及存储介质 | |
CN115687129A (zh) | 一种覆盖率报告生成方法、装置、存储介质和计算机设备 | |
CN117667643A (zh) | 测试用例集的演化方法、装置、计算设备集群及存储介质 | |
CN113868137A (zh) | 埋点数据的处理方法、装置、系统和服务器 | |
CN113037521B (zh) | 识别通讯设备状态的方法、通讯系统及存储介质 | |
CN113326193A (zh) | 一种小程序测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |