CN116881093A - 一种对数据工具错误处理进行防护的方法、设备及介质 - Google Patents
一种对数据工具错误处理进行防护的方法、设备及介质 Download PDFInfo
- Publication number
- CN116881093A CN116881093A CN202310728728.5A CN202310728728A CN116881093A CN 116881093 A CN116881093 A CN 116881093A CN 202310728728 A CN202310728728 A CN 202310728728A CN 116881093 A CN116881093 A CN 116881093A
- Authority
- CN
- China
- Prior art keywords
- error
- data
- defining
- interface
- error processing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 title claims abstract description 43
- 230000006870 function Effects 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 241000581364 Clinitrachus argentatus Species 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 231100000279 safety data Toxicity 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification 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/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种对数据工具错误处理进行防护的方法、设备及介质,该方法包括以下步骤:步骤S1,定义每一条数据的配置规则;步骤S2,对配置规则定义接口和接口名称;步骤S3,在接口中定义数据的错误处理函数;步骤S4,对错误处理函数的输入参数进行内部防护;步骤S5,在错误处理函数中进行错误判断,并定义统一的日志报警格式。与现有技术相比,本发明具有提供了一个通用的报错处理流程,可以统一错误处理方法论,统一报警机制,提升用户体验;强制开发人员必须对每一条配置规则定义接口,进而整个数据的配置规则必须进行错误分析,以及必须进行报错防护,可以防止对软件的报错分析有所遗漏,从而提高软件的可靠性等优点。
Description
技术领域
本发明涉及轨道交通数据处理领域,尤其是涉及一种对数据工具错误处理进行防护的方法、设备及介质。
背景技术
在轨道交通领域,在线软件为了满足效率、性能等需求,会将部分的业务逻辑配置在离线数据中,而离线数据业务逻辑的复杂性导致人工进行配置的难度很大,所以列车控制系统中使用的离线数据,大部分是由安全数据工具生成的,数据的生成原则一般由数据配置规则定义,数据的配置规则中定义了数据的输入、计算过程、输出等。
经过检索中国专利公开号CN113689192A功能公开了一种基于通信的列车控制系统数据生成方法,具体公开了包含以下步骤:两个录入人员分别对系统设计数据进行独立录入,生成两组录入数据;由除了进行数据录入的人员以外的另两组人员或两个人员分别对两组录入数据进行比对验证;通过两个不同的计算工具分别对比对验证一致的两组录入数据进行独立的自动化计算,生成两组计算数据;由除了计算工具开发人员以外的另两组人员或两个人员分别对两组计算数据进行验证比较;基于通信的列车控制系统数据发布。但是该现有专利并未对数据工具的错误进行处理。
数据配置工具的业务逻辑复杂度多数情况下是很高的,这也就导致数据工具出错的情况很多。目前针对数据工具出现错误的情况,并无较好的处理方案。
由于数据配置业务逻辑复杂,如果对错误处理不规范,可能会让用户在使用的时候出现不明确的报错信息,从而影响工具的可用性,因此如何来增强数据工具的鲁棒性,对数据工具产生的错误进行防护成为亟待解决的问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种对数据工具错误处理进行防护的方法、设备及介质。
本发明的目的可以通过以下技术方案来实现:
根据本发明的一个方面,提供了一种对数据工具错误处理进行防护的方法,具体包括以下步骤:
步骤S1,定义每一条数据的配置规则并执行步骤S2;
步骤S2,对配置规则定义接口和接口名称并执行步骤S3;
步骤S3,在接口中定义数据的错误处理函数并执行步骤S4;
步骤S4,对错误处理函数的输入参数进行内部防护并执行步骤S5;
步骤S5,在错误处理函数中进行错误判断,并定义统一的日志报警格式。
作为优选的技术方案,所述的步骤S1具体包括以下步骤:
步骤S101,定义配置规则的编号,并执行步骤S102;
步骤S102,定义数据计算的输入数据来源、类型和范围,并执行步骤S103;
步骤S103,定义计算公式和方式,并执行步骤S104;
步骤S104,定义数据的输出,包括数据的个数、类型、范围、单位和精度。
作为优选的技术方案,所述的接口基于规则进行错误分析,实现对配置规则的错误处理。
作为优选的技术方案,所述的接口名称中包括配置规则编号。
作为优选的技术方案,所述的每一条数据的配置规则对应一个或多个接口。
作为优选的技术方案,所述的配置规则中不需要防护或报错的规则,其对应的接口中不定义错误处理函数。
作为优选的技术方案,所述的步骤S3具体包括以下步骤:
步骤S301,分析配置规则中存在的错误源,执行步骤S302;
步骤S302,依据分析的错误源在接口文件中定义错误处理函数的输入参数。
作为优选的技术方案,所述的步骤S4具体包括以下步骤:
步骤S401,分析错误处理函数的每一个输入参数,执行步骤S402;
步骤S402,对每一个错误参数进行非空判断,判断参数及参数的属性是否为空,若为空则报警并返回;否则执行步骤S403;
步骤S403,判断输入文件的路径是否存在,若不存在则报警并返回;否则执行步骤S404;
步骤S404,根据输入文件的格式,判断文件是否满足要求,若不满足则报警并返回。
作为优选的技术方案,所述的步骤S5具体包括以下步骤:
步骤S501,对配置规则中已经明确定义的报错进行处理,按照报错原则进行分类,执行步骤S502;
步骤S502,按照定义的统一格式生成报警日志。
作为优选的技术方案,所述的报警日志为中文。
根据本发明的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现所述的方法。
根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的方法。
与现有技术相比,本发明具有以下优点:
1)本发明提供了一个通用的报错处理流程,无论哪种数据开发软件,都可以采用此方法,不同的只是定义不同个数的接口文件,由此可以统一错误处理方法论,统一报警机制,提升用户体验;
2)本发明强制开发人员必须对每一条配置规则定义接口,进而整个数据的配置规则必须进行错误分析,以及必须进行报错防护,就可以防止对软件的报错分析有所遗漏,从而提高软件的可靠性。
附图说明
图1为本发明对数据工具错误处理进行防护的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1所示,一种对数据工具错误处理进行防护的方法,包括以下步骤:
步骤S1:定义每一条数据的配置规则;
步骤S2:对每一条配置规则定义接口;
步骤S3:在接口中定义数据的错误处理函数;
步骤S4:对每个函数的输入参数进行内部防护;
步骤S5:在错误处理函数中进行错误判断,并定义统一的日志报警格式。
所述的步骤S1:定义每一条数据的配置规则,包含以下内容:
1)定义配置规则的编号;
2)定义数据计算的输入数据来源,输入数据的类型、范围等;
3)明确计算公式、计算方式等;
4)定义数据的输出,包括数据的个数、类型、范围、单位、精度等参数;
所述的步骤S2:对每一条配置规则定义接口,定义原则如下:
1)Java语言中定义interface;
2)定义接口名称为IRuleXXXX,其中XXXX为配置规则编号;
3)每一个配置规则对应一个或多个接口,接口中需实现对此条规则的错误处理,需要基于规则进行错误分析,而不是基于现有的代码,防止遗漏
4)每条规则至少定义一个接口,如果某条规则不需要防护或者报错,仍然需实现接口,只是接口中不需要定义错误处理函数;
所述的步骤S3:在接口中定义数据的错误处理函数,具体为:
分析配置规则中可能存在的错误,在接口文件中定义processErrorRuleXXXX(),错误处理函数的输入参数依据分析的错误源进行定义。
所述的步骤S4:对每个函数的输入参数进行内部防护,包括:
1)分析错误处理函数的每一个输入参数;
2)对每一个错误参数进行非空判断,判断参数及参数的属性是否为null,如果是空则报警并返回;
3)判断输入文件的路径是否存在,如果不存在则报警并返回;
4)输入文件为xml格式的,判断输入文件的节点路径是否存在,如果不存在则报警并返回;
5)输入文件为csv格式的,判断输入文件的列数以及每一列参数是否满足需求,如果不满足要求则报警并返回;
6)输入文件为ini格式的,判断每个必填的section是否为空,如果为空则报警并返回;
对输入参数的防护原则为:每个函数的输入参数必须进行内部防护,无论调用它的外部函数是否已经进行判断。
所述的步骤S5:在错误处理函数中进行错误判断,并定义统一的日志报警格式,包括:
1)对配置规则中已经明确定义的报错进行处理,按照报错原则分为:Error,Warning以及Info;
2)日志报警的统一格式为:“文件名+位置(如果有)”(可能有多个)错误:XXXX,对应规则XXXX;
3)中文日志,注意编码格式,防止乱码;
数据工具软件的一般业务逻辑过程大致如上所述,本发明中涉及的增强软件鲁棒性的设计方法,在数据工具开发软件的设计框架中,基本上脱离了业务需求的开发层面,把报错的处理剥离出来,提供一种统一、规范、通用的错误防护机制,开发人员严格遵守这个方法论,则软件中的报错信息更加完善,让用户可以通过报错信息明确软件或者输入数据的错误在哪,提高了用户体验,使工具的可用性更强。
下面以BMGen-Tool软件为例,介绍该软件采用数据工具错误处理进行防护的设计方法的统一报错方法论的开发过程,具体包括以下步骤:
步骤1:定义每一条数据的配置规则:
根据业务逻辑,定义信标生成的部分字段,以下为其中一条配置规则具体内容:
[BMGR-0007]
版本,7bit,填写b0010000;
类型,1bit,对于Beacon-Layout文件中信标Type为Static的填b1,对于信标Type为其他的填b0;
线路号,10bit,来自于系统数据中SyDB.Lines.Interoperable_Line_Number,将其转换为二进制形式;
[End]
步骤2:对每一条配置规则定义接口:
分析此条配置规则,输入数据文件包括:系统数据库文件SYDB.xml、信标平面布置文件Beacon Layout.csv和定义接口文件IRule0007.java。
步骤3:在接口中定义数据的错误处理函数:
对于Beacon Layout的错误处理函数定义为processErrorRule0007(CBeaconcBeacon),对于SyDB的错误处理函数定义为processErrorRule0007(CLines cLines),以下为接口中定义的错误处理函数名称:
步骤5:在错误处理函数中进行错误判断,并定义统一的日志报警格式:
错误处理的统一格式为:“文件名+位置+错误:XXXX,对应规则XXXX”。
至此,BMGen-Tool软件的其中一条配置规则的错误防护处理已经完成,其他的配置规则也参照此方法执行错误防护,那整个软件从IRule0001到IRule0087的接口定义可以涵盖所有的报错防护,而且所有的错误防护均在接口中完成,不需要在业务处理函数中进行,可以防止错误防护和其他业务的耦合,一旦有新增的数据,则增加新的配置规则与相应的接口和错误处理函数,此方法简单且通用,易于执行和管理,在很大程度上增加了软件的鲁棒性,在实例的软件中也明显的提升了软件的可用性与用户体验。
以上是关于方法实施例的介绍,以下通过电子设备及储存介质实施例,对本发明所述方案进行进一步说明。
本发明电子设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元执行上文所描述的各个方法和处理,例如方法S1~S5。例如,在一些实施例中,方法S1~S5可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的方法S1~S5的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S1~S5。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种对数据工具错误处理进行防护的方法,其特征在于,具体包括以下步骤:
步骤S1,定义每一条数据的配置规则并执行步骤S2;
步骤S2,对配置规则定义接口和接口名称并执行步骤S3;
步骤S3,在接口中定义数据的错误处理函数并执行步骤S4;
步骤S4,对错误处理函数的输入参数进行内部防护并执行步骤S5;
步骤S5,在错误处理函数中进行错误判断,并定义统一的日志报警格式。
2.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的步骤S1具体包括以下步骤:
步骤S101,定义配置规则的编号,并执行步骤S102;
步骤S102,定义数据计算的输入数据来源、类型和范围,并执行步骤S103;
步骤S103,定义计算公式和方式,并执行步骤S104;
步骤S104,定义数据的输出,包括数据的个数、类型、范围、单位和精度。
3.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的接口基于规则进行错误分析,实现对配置规则的错误处理。
4.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的接口名称中包括配置规则编号。
5.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的每一条数据的配置规则对应一个或多个接口。
6.根据权利要求5所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的配置规则中不需要防护或报错的规则,其对应的接口中不定义错误处理函数。
7.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的步骤S3具体包括以下步骤:
步骤S301,分析配置规则中存在的错误源,执行步骤S302;
步骤S302,依据分析的错误源在接口文件中定义错误处理函数的输入参数。
8.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的步骤S4具体包括以下步骤:
步骤S401,分析错误处理函数的每一个输入参数,执行步骤S402;
步骤S402,对每一个错误参数进行非空判断,判断参数及参数的属性是否为空,若为空则报警并返回;否则执行步骤S403;
步骤S403,判断输入文件的路径是否存在,若不存在则报警并返回;否则执行步骤S404;
步骤S404,根据输入文件的格式,判断文件是否满足要求,若不满足则报警并返回。
9.根据权利要求1所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的步骤S5具体包括以下步骤:
步骤S501,对配置规则中已经明确定义的报错进行处理,按照报错原则进行分类,执行步骤S502;
步骤S502,按照定义的统一格式生成报警日志。
10.根据权利要求9所述的一种对数据工具错误处理进行防护的方法,其特征在于,所述的报警日志为中文。
11.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~10中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728728.5A CN116881093A (zh) | 2023-06-19 | 2023-06-19 | 一种对数据工具错误处理进行防护的方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310728728.5A CN116881093A (zh) | 2023-06-19 | 2023-06-19 | 一种对数据工具错误处理进行防护的方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116881093A true CN116881093A (zh) | 2023-10-13 |
Family
ID=88267049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310728728.5A Pending CN116881093A (zh) | 2023-06-19 | 2023-06-19 | 一种对数据工具错误处理进行防护的方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881093A (zh) |
-
2023
- 2023-06-19 CN CN202310728728.5A patent/CN116881093A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403536B2 (en) | System and method for anti-pattern detection for computing applications | |
US20130024942A1 (en) | System and method for detecting data extrusion in software applications | |
CN112181804A (zh) | 一种参数校验方法、设备以及存储介质 | |
CN110209684A (zh) | 数据库ddl变更操作的跟踪方法、装置、系统及介质 | |
US11200051B2 (en) | Creation and execution of customised code for a data processing platform | |
US20210406004A1 (en) | System and method for implementing a code audit tool | |
EP1403781A1 (en) | Validation system and method | |
CN113760729A (zh) | 一种代码检测方法和装置 | |
CN112559489A (zh) | 基于跨链的区块链监管方法、设备及存储介质 | |
CN113885876A (zh) | 一种参数校验方法、装置、存储介质及计算机系统 | |
CN106708897B (zh) | 一种数据仓库质量保障方法、装置和系统 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
Siavvas et al. | The IoTAC software security-by-design platform: Concept, challenges, and preliminary overview | |
CN111258562B (zh) | Java代码质量检查方法、装置、设备和存储介质 | |
CN116881093A (zh) | 一种对数据工具错误处理进行防护的方法、设备及介质 | |
CN116384365A (zh) | 智能变电站spcd文件的校验方法、装置及存储介质 | |
CN115809193A (zh) | 前端逆向异常数据健壮性检测方法、装置及存储介质 | |
CN111736848B (zh) | 包冲突定位方法、装置、电子设备及可读存储介质 | |
CN114116471A (zh) | 一种自动化代码扫描方法、系统、电子设备与存储介质 | |
CN114238273A (zh) | 数据库管理方法、装置、设备及存储介质 | |
CN111352818B (zh) | 应用程序性能分析方法、装置、存储介质及电子设备 | |
EP2709033B1 (en) | System and method for detecting data extrusion in software applications | |
CN110858170B (zh) | 数据异常监控方法和装置 | |
CN113485711A (zh) | 基于依赖关系的任务触发方法、装置、电子设备及介质 | |
US8321235B2 (en) | Validating an electronic transaction |
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 |