CN112184260A - 一种基于策略实例数据智能分析检测方法及系统 - Google Patents
一种基于策略实例数据智能分析检测方法及系统 Download PDFInfo
- Publication number
- CN112184260A CN112184260A CN202011013597.5A CN202011013597A CN112184260A CN 112184260 A CN112184260 A CN 112184260A CN 202011013597 A CN202011013597 A CN 202011013597A CN 112184260 A CN112184260 A CN 112184260A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- pointer
- data
- weak
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 238000004458 analytical method Methods 0.000 title claims description 52
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 238000012217 deletion Methods 0.000 claims abstract description 10
- 230000037430 deletion Effects 0.000 claims abstract description 10
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- MKXZASYAUGDDCJ-NJAFHUGGSA-N dextromethorphan Chemical compound C([C@@H]12)CCC[C@]11CCN(C)[C@H]2CC2=CC=C(OC)C=C21 MKXZASYAUGDDCJ-NJAFHUGGSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000012086 standard solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于策略实例数据智能分析检测方法及系统,属于静态规则检测技术领域,包括以下步骤:S1:将规则抽象成结点;S2:循环依赖分析;S3:缺失依赖分析;S4:错误配置分析。本发明由人工检测转为自动检测,大大提高了检测的准确度,避免了人工检测可能存在的误检、漏检问题;极大地提升了在静态规则数量极多的情况下检测的效率,使得静态规则检测不会成为限制项目工期的短板,值得被推广使用。
Description
技术领域
本发明涉及静态规则检测技术领域,具体涉及一种基于策略实例数据智能分析检测方法及系统。
背景技术
目前,由于Drools技术广泛地应用,出现了一个难以避免的问题。那就是在大量的、相互关联的规则中,可能会存在死循环、关联规则缺失等多种问题。目前国内外市场上还没有针对这一问题的标准解决方案。但这个问题又非常紧迫,因为在生产中很可能存在成千上万的规则配置,如果没有科学的方法对其进行自动化处理,仅靠人工,不仅处理速度缓慢,而且容易发生误判、漏判。所以此项技术对当前项目是非常必要且紧迫的。
现有的技术的解决方案为:
1、人工检测,人工查阅数据库中存在的静态规则,并分析其是否存在错误配置,包括死循环、关联规则缺失等问题;
2、前端展示所有规则,并由业务人员进行检查,实质上仍旧是人工检测。
现有技术的缺点:
1、人工检测无论多么细致,经过多少次复查,都难以保证准确度为100%。一旦规则配置出现问题,对于线上项目的影响可能是毁灭性的。以业务编排系统为例,如果客户的业务定单在经过Drools分解时,规则配置的不正确,那么很可能出现客户订单被退回、客户订单被错误执行等严重的生产事故。
2、成本高昂。人工检测需要耗费大量的时间。在项目开发周期越来越快的今天,工期就是成本。如果不能克服这一问题,那么工期就无法缩短,也不可控,项目的成本可能会随着静态规则数量的增加而迅速上升。
为解决上述问题,因此,提出一种基于策略实例数据智能分析检测方法。
发明内容
本发明所要解决的技术问题在于:如何解决大量静态规则可能存在的死锁、缺失等安全隐患,提供了一种基于策略实例数据智能分析检测方法。
本发明是通过以下技术方案解决上述技术问题的,本发明包括以下步骤:
S1:将规则抽象成结点
取得所有规则抽象成结点,并构建有向无权图模型;
S2:循环依赖分析
先判断是否存在强循环关系得到强循环关系数据,再判断是否出现弱循环关系得到弱循环关系数据,将强循环关系数据与弱循环关系数据存入链表结构中,得到存在循环依赖的结点及路径数据;
S3:缺失依赖分析
对结点进行遍历,如果结点的指针指向的位置为null,则将该结点存入链表结构中,得到存在依赖缺失的结点;
S4:错误配置分析
对结点进行遍历,如果存在结点有且仅有位置信息和指针信息中的一个,则表示结点对应的规则或者没有条件或者没有动作,判断配置错误,并将该结点存入链表结构中,得到存在错误配置的结点。
更进一步地,在所述步骤S1中,各结点均包括两个内存区块,第一内存区块为规则的条件,即值域,对应该规则在图模型中的位置,第二内存区块为规则的动作,即指针域,对应该结点所指向的结点。
更进一步地,在所述步骤S2中,判断是否存在强循环关系的具体过程为对每个结点进行嵌套遍历,判断每个结点是否存在一个与之互相调用的结点,如果存在,则这对结点同时压入链表结构进行储存。
更进一步地,判断每个结点是否存在一个与之互相调用的结点的具体过程为:取出本结点的指针,遍历除当前结点外的所有结点的值域;如果找到结点的值域与本结点的指针域匹配,则取出该结点的指针域与当前结点的值域比较,如果依然匹配,则判断这两个结点互相调用。
更进一步地,在所述步骤S2中,判断是否出现弱循环关系的具体过程为:
S21:构建栈结构;
S22:将当前结点压栈;
S23:判断是否存在子结点,不存在则返回并结束弱循环判断,不存在弱循环;
S24:如果存在子结点,则将子结点压栈,同时遍历判断子结点是否到达出发结点,如果到达,则找到一条弱循环路径,将该路径存入静态区存储;
S25:遍历步骤S21~S24,将静态区的数据存入链表结构,返回弱循环判断结果。
更进一步地,在所述步骤S3中,判断结点的指针指向的位置是否为null的具体过程为:
S31:取出本结点的指针域,遍历所有识别出的结点;
S32:如果没有一个结点的值域可以与当前结点的指针域匹配,则可判断指针空指。
更进一步地,在所述步骤S4中,检测是否存在结点有且仅有位置信息和指针信息中的一个的具体过程为:
S41;对结点的指针域进行非空检测;
S42:对结点的值域进行非空检测。
本发明还提供了一种基于策略实例数据智能分析检测系统,利用上述的分析检测方法对静态规则进行分析检测,包括:
图模型构建模块,用于取得所有规则抽象成结点,并构建有向无权图模型;
第一分析模块,用于先判断是否存在强循环关系得到强循环关系数据,再判断是否出现弱循环关系得到弱循环关系数据,将强循环关系数据与弱循环关系数据存入链表结构中,得到存在循环依赖的结点及路径数据;
第二分析模块,用于对结点进行遍历,如果结点的指针指向的位置为null,则将该结点存入链表结构中,得到存在依赖缺失的结点;
第三分析模块,用于对结点进行遍历,如果存在结点有且仅有位置信息和指针信息中的一个,则表示结点对应的规则或者没有条件或者没有动作,判断配置错误,并将该结点存入链表结构中,得到存在错误配置的结点;
中央处理模块,用于向各模块发出指令,完成相关动作;
所述图模型构建模块、第一分析模块、第一分析模块、第二分析模块、第三分析模块均与中央处理模块电连接。
本发明相比现有技术具有以下优点:该基于策略实例数据智能分析检测方法,由人工检测转为自动检测,大大提高了检测的准确度,避免了人工检测可能存在的误检、漏检问题;极大地提升了在静态规则数量极多的情况下检测的效率,使得静态规则检测不会成为限制项目工期的短板,值得被推广使用。
附图说明
图1是本发明实施例一中的流程示意图;
图2是本发明实施例二中有向无权图模型的示意图;
图3是本发明实施例二中强循环死锁示意图。
图4是本发明实施例二中弱循环死锁示意图;
图5是本发明实施例三中的实施流程示意图;
图6是本发明实施例三中前端使用界面示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例一
如图1所示,本实施例提供一种技术方案:一种基于策略实例数据智能分析检测方法,包括以下步骤:
S1:将规则抽象成结点
取得所有规则抽象成结点,并构建有向无权图模型;
S2:循环依赖分析
先判断是否存在强循环关系得到强循环关系数据,再判断是否出现弱循环关系得到弱循环关系数据,将强循环关系数据与弱循环关系数据存入链表结构中,得到存在循环依赖的结点及路径数据;
S3:缺失依赖分析
对结点进行遍历,如果结点的指针指向的位置为null,则将该结点存入链表结构中,得到存在依赖缺失的结点;
S4:错误配置分析
对结点进行遍历,如果存在结点有且仅有位置信息和指针信息中的一个,则表示结点对应的规则或者没有条件或者没有动作,判断配置错误,并将该结点存入链表结构中,得到存在错误配置的结点。
在所述步骤S1中,各结点均包括两个内存区块,第一内存区块为规则的条件,即值域,对应该规则在图模型中的位置,第二内存区块为规则的动作,即指针域,对应该结点所指向的结点。
在所述步骤S2中,判断是否存在强循环关系的具体过程为对每个结点进行嵌套遍历,判断每个结点是否存在一个与之互相调用的结点,如果存在,则这对结点同时压入链表结构进行储存。
判断每个结点是否存在一个与之互相调用的结点的具体过程为:取出本结点的指针,遍历除当前结点外的所有结点的值域;如果找到结点的值域与本结点的指针域匹配,则取出该结点的指针域与当前结点的值域比较,如果依然匹配,则判断这两个结点互相调用。
在所述步骤S2中,判断是否出现弱循环关系的具体过程为:
S21:构建栈结构;
S22:将当前结点压栈;
S23:判断是否存在子结点,不存在则返回并结束弱循环判断,不存在弱循环;
S24:如果存在子结点,则将子结点压栈,同时遍历判断子结点是否到达出发结点,如果到达,则找到一条弱循环路径,将该路径存入静态区存储;
S25:遍历步骤S21~S24,将静态区的数据存入链表结构,返回弱循环判断结果。
在所述步骤S3中,判断结点的指针指向的位置是否为null的具体过程为:
S31:取出本结点的指针域,遍历所有识别出的结点;
S32:如果没有一个结点的值域可以与当前结点的指针域匹配,则可判断指针空指。
在所述步骤S4中,检测是否存在结点有且仅有位置信息和指针信息中的一个的具体过程为:
S41;对结点的指针域进行非空检测;
S42:对结点值域进行非空检测。
本实施例还提供了一种基于策略实例数据智能分析检测系统,利用上述的分析检测方法对静态规则进行分析检测,包括:
图模型构建模块,用于取得所有规则抽象成结点,并构建有向无权图模型;
第一分析模块,用于先判断是否存在强循环关系得到强循环关系数据,再判断是否出现弱循环关系得到弱循环关系数据,将强循环关系数据与弱循环关系数据存入链表结构中,得到存在循环依赖的结点及路径数据;
第二分析模块,用于对结点进行遍历,如果结点的指针指向的位置为null,则将该结点存入链表结构中,得到存在依赖缺失的结点;
第三分析模块,用于对结点进行遍历,如果存在结点有且仅有位置信息和指针信息中的一个,则表示结点对应的规则或者没有条件或者没有动作,判断配置错误,并将该结点存入链表结构中,得到存在错误配置的结点;
中央处理模块,用于向各模块发出指令,完成相关动作;
所述图模型构建模块、第一分析模块、第一分析模块、第二分析模块、第三分析模块均与中央处理模块电连接。
实施例二
本实施例提供了一种基于策略实例数据智能分析的方法,针对大量静态规则可能存在的死锁、缺失等安全隐患,提出了用图模型对静态数据进行数学建模的构思,并通过深度优先的遍历算法配合栈结构实现了对静态规则的自动检索。创新性地应用离散数学中图论的相关思想,把规则实体抽象为图论中的结点,根据结点之间的关系构造有向无权图,并利用深度优先的图结构遍历算法结合栈结构对整个规则的循环状态进行解析,进而通过有无循环、指针是否虚指等指标来进行自动化检测,实现业务目标。
具体方案如下:
1、主要技术点与框架:
图论中的有向无权图模型,深度优先的图结构遍历算法,以及栈结构将规则实体抽象成图模型,根据指针的指向对规则循环状态进行分析。
2、详细描述:
A、图论:图论(Graph Theory)以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形结构。这种图形结构通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。
B、图模型的搭建:关联规则(Connection Rules)的结构正与此结构吻合,每一条Rule都可以视为一个有两个内存区块的结点。第一个内存块是Rule的条件,可以视为该规则在图中的位置,即对应值域,而Rule对应的动作对应该结点的指针,保存在第二个内存块中,即对应指针域。根据指针的指向,就可以将结点(nodes)连接起来,这就形成了有向无权图模型。
如图2所示,存在n>=k>=1条关联规则Rule,本身的值放置在值域,它指向的规则设为指针域,将其依次连接,便可得到图模型。
C、在建立了图模型以后,我们就可以很简单地把关联规则Rule的循环死锁抽象为Node的连通图结构。假如存在n个结点Node0,Node1,…,Noden这n个结点,如果存在一个连通图,使得从指定结点Nodex到Nodey形成闭环图,则可以判定Nodex与Nodey必然发生了循环死锁,因为两者互相依赖。
其中依赖又分为两种情况,Nodex和Nodey直接互相调用,这是一种强循环关系,两个结点绝不可同时出现,否则必然死锁,这种情况称为强循环关系;而另外一种情况,从Nodex到Nodey需要经过一些列的中间结点,这种情况称为弱循环关系,假若中间结点有某一个或多个并不存在,则Nodex和Nodey可以同时存在,不发生死锁。
如图3所示,为强循环死锁示意图,图中规则0指向已存在的规则1,而这条规则又指向规则0,两条规则均陷入等待,发生死锁。
如图4所示,为弱循环死锁示意图,规则5指向已存在的规则0,而这条规则又回到规则5,那么两条规则都会等待对方执行,进而发生死锁。
D、循环依赖分析的具体实现步骤:
第一步,取得所有规则抽象成结点;
第二步,分类讨论,
首先判断是否存在强循环关系。在这里算法会对每个结点进行嵌套遍历,判断每个结点是否存在一个与之互相调用的结点,如果存在,则这对结点同时压入链表结构进行储存;
判断是否存在一个与当前结点互相调用的结点的过程如下:1.取出本结点的指针,遍历除当前结点外的所有结点的值域;2.如果找到结点的值域与本结点指针域匹配,则取出该结点的指针域与当前结点的值域比较,如果依然匹配,则判断这两个结点互相引用;
其次判断是否存在弱循环关系:
a.构建栈结构(先进后出的存储结构);
b.将当前结点压栈;
c.判断是否存在子结点,不存在则return,方法结束,不存在弱循环。子结点存在判断标准:存在一个结点,其值域与当前结点的指针域匹配。
d.如果存在子结点,子结点压栈,同时遍历判断子结点是否到达出发结点。判断子结点到达出发结点:存在某一个子结点,其指针域与出发结点的值域匹配,则其到达出发结点。如果到达,则找到一条弱循环路径,将路径存入静态区存储,return,返回当前子结点的父结点;返回当前子结点的父结点,只需弹出栈顶元素,新的栈顶元素即是父结点。
e.遍历a-d,直至方法完全结束,将静态区的数据存入链表结构。
至此,所有循环依赖分析结束,函数执行return语句,返回结果(返回的结果就是链表结构中的数据)
E、缺失依赖分析:对结点进行遍历,如果结点的指针指向的位置为null,则压入链表结构,遍历结束,即可得到存在依赖缺失的结点。
判断指针空指的过程为:1.取出本结点的指针域,遍历所有识别出的结点;2.如果没有一个结点的值域可以与当前结点的指针域匹配,则可判断指针空指,因为当前结点的指针域需要的结点不存在。
F、错误配置分析:对结点进行遍历,如果结点有且仅有位置信息和指针信息中的某一个,则判断配置错误,因为该规则或者没有条件或者没有动作。
检测结点是否有位置信息或指针信息中的某一个的过程如下:
1.对指针域进行非空检测,因为在具体生产中指针信息以String形式保存,所以只需要检测指针标识符是否为null或字符串为空,伪码如下:
if(pointer==null||pointer.equals(“”)){
//指针为空
…
}
2.对值域进行非空检测,由于规则动作以字符串形式存储在数组中,就需要进行两个递进的判断,伪码如下:
解释:如果由动作形成的数组没有任何一个值,则显然最终的值域也不会有值;如果每一个动作的内容都是null或空串,则最终的值域也必然没有值。
需要说明的是,本实施例方法的当前应用场景:Java-version>=JDK1.8,Droolsversion>=7.0.0.final,springboot2.0.3,windows/linux通用。
实施例三
本实施例提供了一种基于策略实例数据智能分析检测方法,如图5所示,就是本方法的程序流程图,被应用在业务编排系统中,被结合在业务单测试、沙箱测试中。
如图6所示,为前端使用界面示意图。
综上所述,上述实施例的基于策略实例数据智能分析检测方法,由人工检测转为自动检测,大大提高了检测的准确度,避免了人工检测可能存在的误检、漏检问题;极大地提升了在静态规则数量极多的情况下检测的效率,使得静态规则检测不会成为限制项目工期的短板,值得被推广使用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种基于策略实例数据智能分析检测方法,其特征在于,包括以下步骤:
S1:将规则抽象成结点
取得所有规则抽象成结点,并构建有向无权图模型;
S2:循环依赖分析
先判断是否存在强循环关系得到强循环关系数据,再判断是否出现弱循环关系得到弱循环关系数据,将强循环关系数据与弱循环关系数据存入链表结构中,得到存在循环依赖的结点及路径数据;
S3:缺失依赖分析
对结点进行遍历,如果结点的指针空指,则将该结点存入链表结构中,得到存在依赖缺失的结点;
S4:错误配置分析
对结点进行遍历,如果存在结点有且仅有位置信息和指针信息中的一个,则表示结点对应的规则或者没有条件或者没有动作,判断配置错误,并将该结点存入链表结构中,得到存在错误配置的结点。
2.根据权利要求1所述的一种基于策略实例数据智能分析检测方法,其特征在于:在所述步骤S1中,各结点均包括两个内存区块,第一内存区块为规则的条件,即值域,对应该规则在图模型中的位置,第二内存区块为规则的动作,即指针域,对应该结点所指向的结点。
3.根据权利要求2所述的一种基于策略实例数据智能分析检测方法,其特征在于:在所述步骤S2中,判断是否存在强循环关系的具体过程为对每个结点进行嵌套遍历,判断每个结点是否存在一个与之互相调用的结点,如果存在,则这对结点同时压入链表结构进行储存。
4.根据权利要求3所述的一种基于策略实例数据智能分析检测方法,其特征在于:判断每个结点是否存在一个与之互相调用的结点的具体过程为:取出本结点的指针,遍历除当前结点外的所有结点的值域;如果找到结点的值域与本结点的指针域匹配,则取出该结点的指针域与当前结点的值域比较,如果依然匹配,则判断这两个结点互相调用。
5.根据权利要求4所述的一种基于策略实例数据智能分析检测方法,其特征在于:在所述步骤S2中,判断是否出现弱循环关系的具体过程为:
S21:构建栈结构;
S22:将当前结点压栈;
S23:判断是否存在子结点,不存在则返回并结束弱循环判断,不存在弱循环;
S24:如果存在子结点,则将子结点压栈,同时遍历判断子结点是否到达出发结点,如果到达,则找到一条弱循环路径,将该路径存入静态区存储;
S25:遍历步骤S21~S24,将静态区的数据存入链表结构,返回弱循环判断结果。
6.根据权利要求5所述的一种基于策略实例数据智能分析检测方法,其特征在于:在所述步骤S3中,判断结点的指针指向是否空指的具体过程为:
S31:取出本结点的指针域,遍历所有识别出的结点;
S32:如果没有一个结点的值域可以与当前结点的指针域匹配,则可判断指针空指。
7.根据权利要求6所述的一种基于策略实例数据智能分析检测方法,其特征在于:在所述步骤S4中,检测是否存在结点有且仅有位置信息和指针信息中的一个的具体过程为:
S41;对结点的指针域进行非空检测;
S42:对结点的值域进行非空检测。
8.一种基于策略实例数据智能分析检测系统,其特征在于:利用如权利要求1~7任一项所述的分析检测方法对静态规则进行分析检测,包括:
图模型构建模块,用于取得所有规则抽象成结点,并构建有向无权图模型;
第一分析模块,用于先判断是否存在强循环关系得到强循环关系数据,再判断是否出现弱循环关系得到弱循环关系数据,将强循环关系数据与弱循环关系数据存入链表结构中,得到存在循环依赖的结点及路径数据;
第二分析模块,用于对结点进行遍历,如果结点的指针指向的位置为null,则将该结点存入链表结构中,得到存在依赖缺失的结点;
第三分析模块,用于对结点进行遍历,如果存在结点有且仅有位置信息和指针信息中的一个,则表示结点对应的规则或者没有条件或者没有动作,判断配置错误,并将该结点存入链表结构中,得到存在错误配置的结点;
中央处理模块,用于向各模块发出指令,完成相关动作;
所述图模型构建模块、第一分析模块、第一分析模块、第二分析模块、第三分析模块均与中央处理模块电连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013597.5A CN112184260A (zh) | 2020-09-24 | 2020-09-24 | 一种基于策略实例数据智能分析检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013597.5A CN112184260A (zh) | 2020-09-24 | 2020-09-24 | 一种基于策略实例数据智能分析检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112184260A true CN112184260A (zh) | 2021-01-05 |
Family
ID=73955391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011013597.5A Pending CN112184260A (zh) | 2020-09-24 | 2020-09-24 | 一种基于策略实例数据智能分析检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184260A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339252A (zh) * | 2011-07-25 | 2012-02-01 | 大连理工大学 | 基于xml中间模型以及缺陷模式匹配的静态检测系统 |
CN102710434A (zh) * | 2012-05-04 | 2012-10-03 | 杭州电子科技大学 | 一种基于NuSMV的服务组合规则路由的正确性验证方法 |
US20170132522A1 (en) * | 2015-11-11 | 2017-05-11 | International Business Machines Corporation | Identifying a case with a missing decision from a set of decision rules in violation of a decision requirement |
CN109643255A (zh) * | 2016-08-12 | 2019-04-16 | 华为技术有限公司 | 在云系统中自动检测分布式并发错误 |
CN111240687A (zh) * | 2020-01-09 | 2020-06-05 | 华东师范大学 | 源代码静态分析装置 |
-
2020
- 2020-09-24 CN CN202011013597.5A patent/CN112184260A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339252A (zh) * | 2011-07-25 | 2012-02-01 | 大连理工大学 | 基于xml中间模型以及缺陷模式匹配的静态检测系统 |
CN102710434A (zh) * | 2012-05-04 | 2012-10-03 | 杭州电子科技大学 | 一种基于NuSMV的服务组合规则路由的正确性验证方法 |
US20170132522A1 (en) * | 2015-11-11 | 2017-05-11 | International Business Machines Corporation | Identifying a case with a missing decision from a set of decision rules in violation of a decision requirement |
CN109643255A (zh) * | 2016-08-12 | 2019-04-16 | 华为技术有限公司 | 在云系统中自动检测分布式并发错误 |
CN111240687A (zh) * | 2020-01-09 | 2020-06-05 | 华东师范大学 | 源代码静态分析装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473400B (zh) | 基于层次依赖建模的软件fmea方法 | |
US10671581B2 (en) | Hierarchical computations of nodes having non-tree topologies in relational database management systems | |
CN101697121A (zh) | 一种基于程序源代码语义分析的代码相似度检测方法 | |
US20150100541A1 (en) | Automatic generation of an extract, transform, load (etl) job | |
CN110209486A (zh) | 基于界面的spark任务流程构建方法和计算机可读存储介质 | |
CN113254507B (zh) | 一种数据资产目录智能构建盘点方法 | |
CN102662825B (zh) | 一种面向堆操作程序的内存泄漏检测方法 | |
CN116049454A (zh) | 一种基于多源异构数据的智能搜索方法及系统 | |
CN104615544A (zh) | 面向问题的gui软件关联功能分析方法及装置 | |
CN113535788A (zh) | 一种面向海洋环境数据的检索方法、系统、设备及介质 | |
CN113487211A (zh) | 核电装备质量追溯方法、系统、计算机设备及介质 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
CN112989792A (zh) | 事例检测方法和电子设备 | |
CN113722600A (zh) | 应用于大数据的数据查询方法、装置、设备及产品 | |
CN112184260A (zh) | 一种基于策略实例数据智能分析检测方法及系统 | |
CN104461890A (zh) | 一种航管训练系统开发中Qt程序内存使用静态检查方法 | |
CN116302919A (zh) | 一种多语言可扩展的代码依赖解析模型及解析方法 | |
Chanchary et al. | Time windowed data structures for graphs | |
Perdek et al. | Matrix Based Approach to Structural and Semantic Analysis Supporting Software Product Line Evolution | |
Wang et al. | A schema-matching-based approach to propagating updates between heterogeneous spatial databases | |
CN115408272B (zh) | 一种基于TOPSIS法的Java冗余代码评估方法 | |
CN117215952A (zh) | 一种软件异构度的度量方法、装置、设备及存储介质 | |
Yin et al. | Deep neural network ensembles for detecting self-admitted technical debt | |
CN111309865B (zh) | 相似缺陷报告推荐方法、系统、计算机设备和存储介质 | |
Kaur et al. | Identification of recurring patterns of code to detect structural clones |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210105 |
|
RJ01 | Rejection of invention patent application after publication |