CN103473377A - 一种计算公式回圈点快速检测方法 - Google Patents

一种计算公式回圈点快速检测方法 Download PDF

Info

Publication number
CN103473377A
CN103473377A CN2013104576538A CN201310457653A CN103473377A CN 103473377 A CN103473377 A CN 103473377A CN 2013104576538 A CN2013104576538 A CN 2013104576538A CN 201310457653 A CN201310457653 A CN 201310457653A CN 103473377 A CN103473377 A CN 103473377A
Authority
CN
China
Prior art keywords
loop
list
computing formula
formula
operand
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
Application number
CN2013104576538A
Other languages
English (en)
Inventor
苏丹
吴佳
吴舜
李坤
高崧
聂正璞
许大卫
杜剑雯
刘昀
来骥
王黎
李贤�
李晓东
李超
刘志伟
杨帆
李雪梅
那琼澜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING BOWANG HUAKE TECHNOLOGY Co Ltd
State Grid Corp of China SGCC
Information and Telecommunication Branch of State Grid Jibei Electric Power Co Ltd
Original Assignee
BEIJING BOWANG HUAKE TECHNOLOGY Co Ltd
State Grid Corp of China SGCC
Information and Telecommunication Branch of State Grid Jibei Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING BOWANG HUAKE TECHNOLOGY Co Ltd, State Grid Corp of China SGCC, Information and Telecommunication Branch of State Grid Jibei Electric Power Co Ltd filed Critical BEIJING BOWANG HUAKE TECHNOLOGY Co Ltd
Priority to CN2013104576538A priority Critical patent/CN103473377A/zh
Publication of CN103473377A publication Critical patent/CN103473377A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种计算公式回圈点快速检测方法,具体为:1)读取所有计算公式的列表;2)判断列表不为空,则进行递归分析;3)将所有计算公式等号左侧都标识为左操作数,右侧标识为右操作数;4)将所有的左操作数放到一个列表中,递归循环到一个计算公式时,依次判断其所有的右操作数是否在左操作数列表中,如果在,则抽取左操作数代表的公式到新的计算公式列表中,以备下次递归使用;如果不在,则不作处理,继续下一个计算公式;5)当本次递归循环结束时,确认回圈点。本发明可有效解决计算机进行数据计算时进入死循环或将计算机资源耗尽的问题,能够提高计算机运行速度。本发明经过简单配置即可植入相关应用系统中,提高计算正确性。

Description

一种计算公式回圈点快速检测方法
技术领域
本发明属于计算机领域,涉及计算机数据结构中的单向链表、双向链表和数学公式计算等领域所涉及的问题,具体涉及复杂计算公式回圈点快速检测方法。
背景技术
在实际业务系统中,经常遇到数据结果需要进行计算得出的情况。在计算公式中,并非所有的计算都为常量,有的为变量。而变量可能是其它公式的计算结果,但在定义其它计算公式时,就需要确定不引用到当前的计算公式,否则就会引起回圈,计算时会进入死循环或栈溢出等错误。为避免这种情况出现,需要在计算前就找到引起回圈点,如图1中粗线部分。
发明内容
本发明公开了一种计算公式回圈点快速检测方法,具体为:
1)读取所有计算公式的列表;
2)判断列表不为空,则进行递归分析;
3)将所有计算公式等号左侧都标识为左操作数,右侧标识为右操作数;
4)将所有的左操作数放到一个列表中,递归循环到一个计算公式时,依次判断其所有的右操作数是否在左操作数列表中,如果在,则抽取左操作数代表的公式到新的计算公式列表中,以备下次递归使用;如果不在,则不作处理,继续下一个计算公式;
5)当本次递归循环结束时,如果当前的左操作数列表为空,则表示有回圈,将组织好的计算公式列表分析,收集所有左操作数集合和右操作数集合,把左操作数在右操作数集合中出现的公式提取出,即可标识为回圈点。
进一步,当检测到有依赖回圈时,收集引起回圈的节点信息,整理后以异常形式抛出,应用系统检测到异常形式,捕获后打开异常信息,便可获知所需要的信息。
进一步,当检查到有依赖回圈时,将回圈信息收集整理,最后以参数形式返回,应用系统通过返回值来确定回圈位置。
其中,所述步骤2)的中断的条件有两个,一是所有公式检测完成,二是公式中出现异常回圈点。
其中,所述步骤3)中,所有右操作数可以为一个计算公式,且如不受计算机存储容量限制,理论上可无限嵌套。
本发明可有效解决计算机进行数据计算时进入死循环或将计算机资源耗尽的问题,能够提高计算机运行速度。本发明经过简单配置即可植入相关应用系统中,提高计算正确性。
附图说明
图1为存在回圈的数据结构示意图;
图2为正常的数据结构示意图;
图3为分析流程示意图。
具体实施方式
下面结合附图对本发明进行具体说明。
本发明的分析流程如图3所示。
1.  读取所有计算公式的列表。
2.  如果列表不为空,则进行递归分析。中断的条件有两个,一是所有公式检测完成,二是公式中出现异常回圈点。
3.  将所有计算公式等号左侧都标识为左操作数,右侧标识为右操作数,右操作数也可以为一个计算公式。
4.  首先将所有的左操作数放到一个列表中,递归循环到一个计算公式时,依次判断其所有的右操作数是否在左操作数列表中,如果在,则抽取左操作数代表的公式到新的计算公式列表中,以备下次递归使用。如果不在,则不作处理,继续下一个公式。
5.  当本次递归循环结束时,如果当前的左操作数列表为空,则表示有回圈。需将组织好的计算公式列表分析,收集所有左操作数集合和右操作数集合,把左操作数在右操作数集合中出现的公式提取出,即可标识为回圈点。
在实际应用中,对于检测到的回圈点可以通过多种机制来处理。
1.  通过抛出异常形式:当检测到有依赖回圈时,收集引起回圈的节点信息,整理后以异常形式抛出,应用系统检测到异常形式,捕获后打开异常信息,便可获知所需要的信息。
2.  通过返回值:当检查到有依赖回圈时,将回圈信息收集整理,最后以参数形式返回。应用系统通过返回值来确定回圈位置。
举例说明:如果有4个公式 a=b+c; b=d+e;d=f+g;g=a+c;左操作数集合分别为{a,b,d,g},右操作数集合为{a,b,c,d,e,f,g}。经过上述图3所示的流程分析,则会得出公式a=b+c和g=a+c之间存在回圈依赖的结论,以异常形式抛出。

Claims (5)

1.一种计算公式回圈点快速检测方法,其特征在于:
1)读取所有计算公式的列表;
2)判断列表不为空,则进行递归分析;
3)将所有计算公式等号左侧都标识为左操作数,右侧标识为右操作数;
4)将所有的左操作数放到一个列表中,递归循环到一个计算公式时,依次判断其所有的右操作数是否在左操作数列表中,如果在,则抽取左操作数代表的公式到新的计算公式列表中,以备下次递归使用;如果不在,则不作处理,继续下一个计算公式;
5)当本次递归循环结束时,如果当前的左操作数列表为空,则表示有回圈,将组织好的计算公式列表分析,收集所有左操作数集合和右操作数集合,把左操作数在右操作数集合中出现的公式提取出,即可标识为回圈点。
2.根据权利要求1所述的计算公式回圈点快速检测方法,其特征在于,当检测到有依赖回圈时,收集引起回圈的节点信息,整理后以异常形式抛出,应用系统检测到异常形式,捕获后打开异常信息,便可获知所需要的信息。
3.根据权利要求1所述的计算公式回圈点快速检测方法,其特征在于,当检查到有依赖回圈时,将回圈信息收集整理,最后以参数形式返回,应用系统通过返回值来确定回圈位置。
4.根据权利要求1-3任一项所述的计算公式回圈点快速检测方法,其特征在于,所述步骤2)的中断的条件有两个,一是所有公式检测完成,二是公式中出现异常回圈点。
5.根据权利要求1-4任一项所述的计算公式回圈点快速检测方法,其特征在于,所述步骤3)中,所有右操作数可以为一个计算公式,且如不受计算机存储容量限制,理论上可无限嵌套。
CN2013104576538A 2013-09-30 2013-09-30 一种计算公式回圈点快速检测方法 Pending CN103473377A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013104576538A CN103473377A (zh) 2013-09-30 2013-09-30 一种计算公式回圈点快速检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013104576538A CN103473377A (zh) 2013-09-30 2013-09-30 一种计算公式回圈点快速检测方法

Publications (1)

Publication Number Publication Date
CN103473377A true CN103473377A (zh) 2013-12-25

Family

ID=49798225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013104576538A Pending CN103473377A (zh) 2013-09-30 2013-09-30 一种计算公式回圈点快速检测方法

Country Status (1)

Country Link
CN (1) CN103473377A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023434A1 (en) * 2000-03-17 2001-09-20 Lipha Computational data processing system and computational process implemented by means of such a system
CN101908191A (zh) * 2010-08-03 2010-12-08 深圳市她秀时尚电子商务有限公司 应用于电子商务的数据分析方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023434A1 (en) * 2000-03-17 2001-09-20 Lipha Computational data processing system and computational process implemented by means of such a system
CN101908191A (zh) * 2010-08-03 2010-12-08 深圳市她秀时尚电子商务有限公司 应用于电子商务的数据分析方法及系统

Similar Documents

Publication Publication Date Title
US20150095381A1 (en) Method and apparatus for managing time series database
US20200125673A1 (en) Learning thematic similarity metric from article text units
CN104090886A (zh) 构建用户实时画像的方法及装置
CN106325756B (zh) 一种数据存储、数据计算方法和设备
CN104699735A (zh) 企业级数据中心的数据处理方法及装置
CN104156197A (zh) 微处理器以及微处理器操作方法
US20130238939A1 (en) Method for ranking analysis tools
CN103853654A (zh) 网页测试路径的选择方法和装置
CN105095381A (zh) 新词识别方法和装置
CN102298681B (zh) 一种基于数据流切片的软件识别方法
CN102169491A (zh) 一种多数据集中重复记录动态检测方法
CN102681936B (zh) 一种针对金融系统测试结果的验证方法及装置
CN114116013B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110427622A (zh) 语料标注的评估方法、装置及存储介质
US9483447B2 (en) Method, device, and computer storage media for adding hyperlink to text
Kanda et al. Extraction of product evolution tree from source code of product variants
CN114911865A (zh) 一种区块链虚拟货币数据中台及虚拟货币数据处理方法
CN105630680B (zh) 一种随机测试程序生成方法
CN103473377A (zh) 一种计算公式回圈点快速检测方法
CN106203753B (zh) 软件运营中运营问题的流转方法和系统
CN106407218B (zh) 导航网页的检测方法和装置
CN106934024A (zh) 一种数据处理方法和装置
CN103678642A (zh) 一种基于搜索引擎的概念语义相似度度量方法
CN106874243A (zh) 基于字符串的公式处理方法及装置
US20180197045A1 (en) Method and apparatus for determining relevance between news and for calculating relaevance among multiple pieces of news

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20131225