错误码的校验方法、装置、电子设备及可读存储介质与流程

    专利2022-07-08  102


    本申请涉及计算机
    技术领域
    ,具体而言,本申请涉及一种错误码的校验方法、装置、电子设备及可读存储介质。
    背景技术
    :目前,金融行业尤其是大中型银行的业务系统中包括多各业务产品系统模块,各个业务产品系统模块交互复杂。业务产品系统模块的各交易系统中普遍存业务错误码定义不规范的问题,现有的处理方式一般为将错误码数据收集。由研发人员人工审核错误码是否规范合规。现有方式中由于依赖人工进行错误码数据的审核,很可能会出现错误码数据的漏报、误报情况,并且工作效率较低。技术实现要素:本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:第一方面,本申请实施例提供了一种错误码的校验方法,该方法包括:获取生产环境中的部署的代码文件;基于预定义的异常基类,确定代码文件中的所有异常类;确定所有异常类的对应的错误码数据,并对错误码数据进行校验。可选地,基于预定义的基础异常类,确定代码文件中的所有异常类,包括:对代码文件进行解析;确定代码文件中属于基础异常类的异常基类;基于代码文件解析得到的类依赖关系,确定继承自基础异常类的自定义异常类,所有异常类包括异常基类以及自定义异常类。可选地,确定所有异常类的对应的错误码数据,包括:基于代码文件解析得到的方法调用关系,确定所有异常类所引用的错误码构造方法;通过定位错误码构造方法查找所有异常类的对应的错误码数据。可选地,通过定位错误码构造方法查找所有异常类的对应的错误码数据,包括:在代码文件进行解析得到的方法表中定位错误码构造方法;基于错误码构造方法的位置查找所有异常类的对应的错误码数据。可选地,对错误码数据进行校验,包括:确定错误码数据中是否包含预设的合规错误码数据;若存在,则对除合规错误码数据之外的错误码数据进行校验。可选地,上述方法还包括:将校验通过的错误码数据确定为合规错误码数据。可选地,对错误码数据进行校验,包括:基于预定义的验证规则对错误码数据进行校验。第二方面,本申请实施例提供了一种错误码的校验装置,该装置包括:代码文件获取模块,用于获取生产环境中的部署的代码文件;异常类确定模块,用于基于预定义的异常基类,确定代码文件中的所有异常类;错误码校验模块,用于确定所有异常类的对应的错误码数据,并对错误码数据进行校验。可选地,异常类确定模块具体用于:对代码文件进行解析;确定代码文件中属于基础异常类的异常基类;基于代码文件解析得到的类依赖关系,确定继承自基础异常类的自定义异常类,所有异常类包括异常基类以及自定义异常类。可选地,错误码校验模块在确定所有异常类的对应的错误码数据时,具体用于:基于代码文件解析得到的方法调用关系,确定所有异常类所引用的错误码构造方法;通过定位错误码构造方法查找所有异常类的对应的错误码数据。可选地,错误码校验模块在通过定位错误码构造方法查找所有异常类的对应的错误码数据时,具体用于:在代码文件进行解析得到的方法表中定位错误码构造方法;基于错误码构造方法的位置查找所有异常类的对应的错误码数据。可选地,错误码校验模块在对错误码数据进行校验时,具体用于:确定错误码数据中是否包含预设的合规错误码数据;若存在,则对除合规错误码数据之外的错误码数据进行校验。可选地,上述装置还包括:合规错误码数据确定模块,用于将校验通过的错误码数据确定为合规错误码数据。可选地,错误码校验模块在对错误码数据进行校验时,具体用于:基于预定义的验证规则对错误码数据进行校验。第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的错误码的校验方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的错误码的校验方法。本申请实施例提供的技术方案带来的有益效果是:本申请实施例提供的方案,通过获取生产环境中的部署的代码文件,并基于预定义的异常基类,确定代码文件中的所有异常类,从而确定所有异常类的对应的错误码数据,并对错误码数据进行校验。基于本方案,能够自动提取代码文件中的错误码数据,实现对错误码数据的自动校验,能够避免因人工对错误码数据审核时可能会出现的错误码数据漏报、误报等情况,并且能够提升错误码数据的校验效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。图1为本申请实施例提供的一种错误码的校验方法的流程示意图;图2为本申请实施例提供的一个示例中代码文件的类依赖关系结构;图3为本申请实施例提供的一种错误码的校验装置的结构示意图;图4为本申请实施例提供的一种电子设备的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。本
    技术领域
    技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。由于交易业务场景复杂,有多个服务系统公共支撑,涉及到多个产品业务线的研发,通过研发人员审核上报的方式,很容易造成错误码数据变更存在漏报、误报的情况,且人为统计复核工作量大,效率比较低。对于测试人员而言,在功能测试或者接口测试阶段进行错误码数据的收集汇总,就需要对系统各个业务场景的测试覆盖率有很高的要求,确保各个业务场景都能够覆盖且准确,在保证产品交付质量的同时还要校验各个接口的错误码数据,会影响测试人员的工作效率,延误产品的交付时间。采用静态代码扫描的方法,将交易涉及到的不同产品的源代码放在一个目标文件夹进行扫描,通过自定义扫描规则集将可能有关联的产品源代码通过正则规则模式截取出来,但是这种方法扫描效率比较低,需要将所有的源代码进行全量扫描,且截取的疑似问题仍然需要人工进行复核,误报率较高,自定义规则集的编写与匹配能力与代码审计人员的经验能力高度相关,扩展性差。本申请实施例提供的错误码的校验方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。图1示出了本申请实施例提供的一种错误码的校验方法的流程示意图,如图1所示,该方法主要可以包括:步骤s110:获取生产环境中的部署的代码文件;步骤s120:基于预定义的异常基类,确定代码文件中的所有异常类;步骤s130:确定所有异常类的对应的错误码数据,并对错误码数据进行校验。本申请实施例中,代码文件可以为生产环境中各生产流水线产出的代码部署包,例如,对于java项目而言,代码部署包为jar包或者war包。在代码文件中预定义了异常基类,使得代码文件中的所有异常类均来自于异常基类。本申请实施例中,可以确定出代码文件中所有异常类,并根据所有异常类确定出错误码数据,从而对错误码数据进行自动校验。本申请实施例提供的方法,通过获取生产环境中的部署的代码文件,并基于预定义的异常基类,确定代码文件中的所有异常类,从而确定所有异常类的对应的错误码数据,并对错误码数据进行校验。基于本方案,能够自动提取代码文件中的错误码数据,实现对错误码数据的自动校验,能够避免因人工对错误码数据审核时可能会出现的错误码数据漏报、误报等情况,并且能够提升错误码数据的校验效率。本申请实施例的一种可选方式中,基于预定义的基础异常类,确定代码文件中的所有异常类,包括:对代码文件进行解析;确定代码文件中属于基础异常类的异常基类;基于代码文件解析得到的类依赖关系,确定继承自基础异常类的自定义异常类,所有异常类包括异常基类以及自定义异常类。本申请实施例中,由于预定义了基础异常类,使得生产环境中均遵循统一的基础异常类定义规范,自定义衍生出来的异常类都来继承自基础异常类。本申请实施例中,可以确定出代码文件中属于基础异常类的异常基类,并基于类依赖关系确定继承自基础异常类的自定义异常类,从而确定出代码文件中的所有异常类。本申请实施例的一种可选方式中,确定所有异常类的对应的错误码数据,包括:基于代码文件解析得到的方法调用关系,确定所有异常类所引用的错误码构造方法;通过定位错误码构造方法查找所有异常类的对应的错误码数据。本申请实施例中,可以解析出方法调用关系,从而确定出所有异常类所引用的错误码构造方法,从而通过对错误码构造方法进行定位,查找出所有异常类的对应的错误码数据。错误码数据可以包括错误码编号和错误码说明。本申请实施例的一种可选方式中,通过定位错误码构造方法查找所有异常类的对应的错误码数据,包括:在代码文件进行解析得到的方法表中定位错误码构造方法;基于错误码构造方法的位置查找所有异常类的对应的错误码数据。本申请实施例中,可以解析出方法表,从而在方法表中确定错误码构造方法的位置。本申请实施例的一种可选方式中,对错误码数据进行校验,包括:确定错误码数据中是否包含预设的合规错误码数据;若存在,则对除合规错误码数据之外的错误码数据进行校验。本申请实施例中,可以通过已经校验通过的校验合规错误码数据对采集到的错误码数据进行过滤,得到未被校验的错误码数据,从而能够针对未被校验的错误码数据进行校验。本申请实施例的一种可选方式中,上述方法还包括:将校验通过的错误码数据确定为合规错误码数据。本申请实施例中,可以将校验通过的错误码数据确定为合规错误码数据,用于对采集到的错误码数据的过滤。本申请实施例的一种可选方式中,对错误码数据进行校验,包括:基于预定义的验证规则对错误码数据进行校验。本申请实施例中,可以设置校验规则对错误码数据进行校验。通过对错误码数据的校验,能够汇总不合规的错误码数据,并将其提供给研发人员进行整改反馈,很大程度上提高了整个错误码校验、修正的工作效率。本申请实施例提供的方案,能够解决多交易业务错误码规范管理、校验、整改的问题,从而减少系统错误码不规范数量,降低人工排查及复核工作量,建立错误码体系库,集中化错误码管理,提高代码质量规范,提升用户体验。本申请实施例提供的方案,通过搭建整个错误码扫描自动化装置,定义基础异常类规范,调用流水线部署包分析类依赖关系准确识别异常错误码错误数据,流程化处理错误码规范问题,减少人工校验工作量;通过规则校验引擎自动化校验错误码数据,降低交易系统错误码业务场景错误率,提高产品质量和用户体验。作为一个示例,对于java项目,可以通过反射机制解析代码部署包的类依赖和方法调用关系,得到类依赖关系结构。类依赖关系结构如图2中所示。其中_container表是部署包所依赖的jar包信息,结构信息如表1所示。_container表信息(即表1)序号列名类型说明1idinteger自增主键2namevarcharclass文件所属文件3typevarchar文件类型(如jar包)_namespace表是部署包中类所属的package信息,结构信息如表2所示。_namespace表信息(即表2)序号列名类型说明1idinteger自增主键2namevarcharpackage名_clazz表是部署包中类所属的详细信息,结构信息如表3所示。clazz表信息(即表3)序号列名类型说明1idinteger自增主键2containerinteger_container主键3namevarchar类名4namespaceinteger_namespace主键5ref_classvarchar依赖的其他类名6ref_typevarchar依赖方式7typevarchar类所属类型8visibilityvarchar类可见类型_method表是部署包中类方法之间的调用关系,详细结构如表4所示。_method表信息(即表4)序号列名类型说明1idinteger自增主键2clazzvarchar类名3containerinteger_container主键4methodvarchar方法名5inv_clazzvarchar调用的其他类6inv_methodvarchar调用的其他类的方法7lengthinteger指令列表长度通过类依赖关系表_class表中的“ref_type”一栏中的类依赖关系,查找继承基础异常类的自定义异常类,从而确定出所有异常类。查找到所设有异常类后,即准确找到了所有引用错误码实例的类对象。_method表中“inv_method”一栏中包括了引用错误码对象实例具体的方法位置,从而能够找到并解析到错误码数据。基于与图1中所示的方法相同的原理,图3示出了本申请实施例提供的一种错误码的校验装置的结构示意图,如图3所示,该错误码的校验装置20可以包括:代码文件获取模块210,用于获取生产环境中的部署的代码文件;异常类确定模块220,用于基于预定义的异常基类,确定代码文件中的所有异常类;错误码校验模块230,用于确定所有异常类的对应的错误码数据,并对错误码数据进行校验。本申请实施例提供的装置,通过获取生产环境中的部署的代码文件,并基于预定义的异常基类,确定代码文件中的所有异常类,从而确定所有异常类的对应的错误码数据,并对错误码数据进行校验。基于本方案,能够自动提取代码文件中的错误码数据,实现对错误码数据的自动校验,能够避免因人工对错误码数据审核时可能会出现的错误码数据漏报、误报等情况,并且能够提升错误码数据的校验效率。可选地,异常类确定模块具体用于:对代码文件进行解析;确定代码文件中属于基础异常类的异常基类;基于代码文件解析得到的类依赖关系,确定继承自基础异常类的自定义异常类,所有异常类包括异常基类以及自定义异常类。可选地,错误码校验模块在确定所有异常类的对应的错误码数据时,具体用于:基于代码文件解析得到的方法调用关系,确定所有异常类所引用的错误码构造方法;通过定位错误码构造方法查找所有异常类的对应的错误码数据。可选地,错误码校验模块在通过定位错误码构造方法查找所有异常类的对应的错误码数据时,具体用于:在代码文件进行解析得到的方法表中定位错误码构造方法;基于错误码构造方法的位置查找所有异常类的对应的错误码数据。可选地,错误码校验模块在对错误码数据进行校验时,具体用于:确定错误码数据中是否包含预设的合规错误码数据;若存在,则对除合规错误码数据之外的错误码数据进行校验。可选地,上述装置还包括:合规错误码数据确定模块,用于将校验通过的错误码数据确定为合规错误码数据。可选地,错误码校验模块在对错误码数据进行校验时,具体用于:基于预定义的验证规则对错误码数据进行校验。可以理解的是,本实施例中的错误码的校验装置的上述各模块具有实现图1中所示的实施例中的错误码的校验方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述错误码的校验装置的各模块的功能描述具体可以参见图1中所示实施例中的错误码的校验方法的对应描述,在此不再赘述。本申请实施例提供了一种电子设备,包括处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的错误码的校验方法。作为一个示例,图4示出了本申请实施例所适用的一种电子设备的结构示意图,如图4所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。处理器2001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器2003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的错误码的校验方法。本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。本申请实施例提供了一种电子设备,与现有技术相比,通过获取生产环境中的部署的代码文件,并基于预定义的异常基类,确定代码文件中的所有异常类,从而确定所有异常类的对应的错误码数据,并对错误码数据进行校验。基于本方案,能够自动提取代码文件中的错误码数据,实现对错误码数据的自动校验,能够避免因人工对错误码数据审核时可能会出现的错误码数据漏报、误报等情况,并且能够提升错误码数据的校验效率。本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的错误码的校验方法。本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。本申请实施例提供了一种计算机可读存储介质,与现有技术相比,通过获取生产环境中的部署的代码文件,并基于预定义的异常基类,确定代码文件中的所有异常类,从而确定所有异常类的对应的错误码数据,并对错误码数据进行校验。基于本方案,能够自动提取代码文件中的错误码数据,实现对错误码数据的自动校验,能够避免因人工对错误码数据审核时可能会出现的错误码数据漏报、误报等情况,并且能够提升错误码数据的校验效率。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。以上仅是本发明的部分实施方式,应当指出,对于本
    技术领域
    的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
    技术特征:

    1.一种错误码的校验方法,其特征在于,包括:

    获取生产环境中的部署的代码文件;

    基于预定义的异常基类,确定所述代码文件中的所有异常类;

    确定所述所有异常类的对应的错误码数据,并对所述错误码数据进行校验。

    2.根据权利要求1所述的方法,其特征在于,所述基于预定义的基础异常类,确定所述代码文件中的所有异常类,包括:

    对所述代码文件进行解析;

    确定所述代码文件中属于所述基础异常类的异常基类;

    基于所述代码文件解析得到的类依赖关系,确定继承自所述基础异常类的自定义异常类,所述所有异常类包括所述异常基类以及所述自定义异常类。

    3.根据权利要求1所述的方法,其特征在于,所述确定所述所有异常类的对应的错误码数据,包括:

    基于所述代码文件解析得到的方法调用关系,确定所述所有异常类所引用的错误码构造方法;

    通过定位所述错误码构造方法查找所述所有异常类的对应的错误码数据。

    4.根据权利要求3所述的方法,其特征在于,所述通过定位所述错误码构造方法查找所述所有异常类的对应的错误码数据,包括:

    在所述代码文件进行解析得到的方法表中定位所述错误码构造方法;

    基于所述错误码构造方法的位置查找所述所有异常类的对应的错误码数据。

    5.根据权利要求1-4中任一项所述的方法,其特征在于,所述对所述错误码数据进行校验,包括:

    确定所述错误码数据中是否包含预设的合规错误码数据;

    若存在,则对除所述合规错误码数据之外的所述错误码数据进行校验。

    6.根据权利要求5所述的方法,其特征在于,还包括:

    将校验通过的所述错误码数据确定为所述合规错误码数据。

    7.根据权利要求1-4所述的方法,其特征在于,所述对所述错误码数据进行校验,包括:

    基于预定义的验证规则对所述错误码数据进行校验。

    8.一种错误码的校验装置,其特征在于,包括:

    代码文件获取模块,用于获取生产环境中的部署的代码文件;

    异常类确定模块,用于基于预定义的异常基类,确定所述代码文件中的所有异常类;

    错误码校验模块,用于确定所述所有异常类的对应的错误码数据,并对所述错误码数据进行校验。

    9.一种电子设备,其特征在于,包括处理器和存储器;

    所述存储器,用于存储操作指令;

    所述处理器,用于通过调用所述操作指令,执行权利要求1-7中任一项所述的方法。

    10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。

    技术总结
    本申请实施例提供了一种错误码的校验方法、装置、电子设备及可读存储介质。该方法包括:获取生产环境中的部署的代码文件;基于预定义的异常基类,确定代码文件中的所有异常类;确定所有异常类的对应的错误码数据,并对错误码数据进行校验。基于本方案,能够自动提取代码文件中的错误码数据,实现对错误码数据的自动校验,能够避免因人工对错误码数据审核时可能会出现的错误码数据漏报、误报等情况,并且能够提升错误码数据的校验效率。

    技术研发人员:郑娜威;阳骁尧;邹为;夏伟;屈彦;李珊珊;李刚;程东旭
    受保护的技术使用者:建信金融科技有限责任公司
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22576.html

    最新回复(0)