CN116243966A - 系统升级预警方法、装置、设备及存储介质 - Google Patents

系统升级预警方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116243966A
CN116243966A CN202310190496.2A CN202310190496A CN116243966A CN 116243966 A CN116243966 A CN 116243966A CN 202310190496 A CN202310190496 A CN 202310190496A CN 116243966 A CN116243966 A CN 116243966A
Authority
CN
China
Prior art keywords
information
product
layer
configuration information
service
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
CN202310190496.2A
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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202310190496.2A priority Critical patent/CN116243966A/zh
Publication of CN116243966A publication Critical patent/CN116243966A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种系统升级预警方法、装置、设备及存储介质,通过获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息,并基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项,从而检测定制开发产品与最新标准产品之间是否存在配置冲突,进而检测出系统升级风险;若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息,以告知用户进行配置修正,从而有效规避系统升级风险,保证系统升级成功。本发明实施例可以适用于企业管理系统、例如企业资源计划系统和OA系统等。

Description

系统升级预警方法、装置、设备及存储介质
技术领域
本申请涉及系统开发技术领域,尤其涉及一种系统升级预警方法、装置、设备及存储介质。
背景技术
企业资源计划(Enterprise Resource Planning,ERP)等信息管理系统的标准产品在升级迭代时会修复已往Bug和新增功能,即若需要体验最新产品则必须升级ERP。但是,在实际情况下,大部分企业的ERP系统存在大量定制开发产品,对其升级可能导致定制开发产品或标准产品不可用,从而导致系统升级存在隐患,给用户带来不好的产品体验。
发明内容
本申请提供了一种系统升级预警方法、装置、设备及存储介质,以解决当前系统升级存在产品不可用风险的技术问题。
为了解决上述技术问题,第一方面,本申请提供了一种系统升级预警方法,包括:
获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息;
基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项;
若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息。
在一些实现方式中,所述预设对比检测策略包括业务对象检测策略、插件代码检测策略、脚本检测策略和配置文件检测策略中的至少一种预设对比检测策略。
在一些实现方式中,所述第一产品配置信息包括多层业务对象扩展层信息,所述第二产品配置信息包括标准产品业务对象信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为所述业务对象检测策略,则对于第一层业务对象扩展层信息,对比第一层业务对象扩展信息与所述标准产品业务对象信息之间的业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项;
对于第N层业务对象扩展层信息,对前N-1层业务对象扩展层信息与所述标准产品业务对象信息进行合并,得到合并层信息,并对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数,其中N>1。
在一些实现方式中,所述对于第一层业务对象扩展层信息,对比第一层业务对象扩展信息与所述标准产品业务对象信息之间的业务控件参数,包括:
对于第一层业务对象扩展层信息,对所述业务对象扩展层信息和所述标准产品业务对象信息进行反序列化,得到第一元数据对象;
基于所述第一元数据对象,确定所述业务对象扩展层信息中的第一业务控件信息和所述标准产品业务对象信息中的第二业务控件信息;
对所述第一业务控件信息和第二业务控件信息进行XML解析,分别得到第一业务控件参数和第二业务控件参数;
对比所述第一业务控件参数和所述第二业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项。
在一些实现方式中,所述对于第N层业务对象扩展层信息,对前N-1层业务对象扩展层信息与所述标准产品业务对象信息进行合并,得到合并层信息,并对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数,包括:
对于第N层业务对象扩展层信息,对述标准产品业务对象信息进行反序列化,得到第二元数据对象;
若第N-1层业务对象扩展层信息存在预设字段,则在所述第二元数据对象中查询到所述定制开发产品已修改的业务控件,并修改所述业务控件的参数,若第N-1层业务对象扩展层信息不存在预设字段,则在所述第二元数据对象中的控件列表添加所述定制开发产品已修改的业务控件参数,以得到合并层信息;
对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数。
在一些实现方式中,所述第一产品配置信息还包括代码信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为插件代码检测策略,基于所述插件代码检测策略,利用预设代码检测工具,抓取所述第一代码信息中的目标字符串;
利用正则匹配方式,根据所述目标字符串,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
在一些实现方式中,所述第一产品配置信息还包括脚本信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为脚本检测策略,基于所述脚本检测策略,读取所述脚本信息中的目标关键字;
利用正则匹配方式,根据所述目标关键字,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
在一些实现方式中,所述第二产品配置信息还包括标准产品库文件的文件信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为配置文件检测策略,基于所述配置文件检测策略,确定所述第一产品配置信息中是否存在所述标准产品库文件,且所述标准产品库文件在所述定制开发产品中的文件路径与在所述最新标准产品中的文件路径是否相同,以及所述标准产品库文件在所述定制开发产品中的部署方式是否不为目标部署方式;
若均是,则判定所述定制开发产品相比于所述最新标准产品存在配置异常项。
第二方面,本申请还提供一种系统升级预警装置,包括:
获取模块,用于获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息;
对比模块,用于基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项;
发出模块,用于若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息。
第三方面,本申请还提供一种计算机设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的系统升级预警方法。
第四方面,本申请还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的系统升级预警方法。
第五方面,本申请还提供一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现上述第一方面所述的系统升级预警方法。
与现有技术相比,本申请至少具备以下有益效果:
本申请通过获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息,并基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项,从而检测定制开发产品与最新标准产品之间是否存在配置冲突,进而检测出系统升级风险;若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息,以告知用户进行配置修正,从而有效规避系统升级风险,保证系统升级成功。
同时,本申请还从定制开发产品的插件代码、脚本、业务对象和产品库文件等多个维度进行配置冲突检测,以更加全面的检测出系统升级风险,进一步保障系统升级的安全性。
本申请还针对业务对象进行多层扩展层的逐层配置冲突检测,不仅能够检测出定制开发产品与标准产品之间的配置冲突,而且能够检测出平行扩展层之间的配置冲突,从而实现对产品业务对象的全面检测,进一步保障系统升级的安全性。
附图说明
图1为本申请实施例示出的系统升级预警方法的流程示意图;
图2为本申请实施例示出的第二产品配置信息的缓存过程示意图;
图3为本申请实施例示出的以单据为例的业务对象示意图;
图4为本申请实施例示出的多层业务对象扩展层的检测过程的示意图;
图5为本申请实施例示出的系统升级预警装置的结构示意图;
图6为本申请实施例示出的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请实施例提供的一种系统升级预警方法的流程示意图。本申请实施例的系统升级预警方法可应用于计算机设备,该计算机设备包括但不限于智能手机、笔记本电脑、平板电脑、桌上型计算机、物理服务器和云服务器等设备。如图1所示,本实施例的系统升级预警方法包括步骤S101至步骤S103,详述如下:
步骤S101,获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息。
在本步骤中,待升级系统为包含定制开发产品的软件系统,如企业定制开发的ERP系统,其中定制开发产品为在标准产品的基础上进行定制开发得到的产品,其继承了标准产品的标准配置信息。待升级系统的升级过程为将定制开发产品的标准配置信息升级至最新标准产品对应的最新版本。
可选地,第一产品配置信息为描述定制开发产品业务功能的配置信息,其包括但不限于插件代码信息、脚本信息、业务对象信息和产品库文件信息。第二产品配置信息为描述最新标准产品业务功能的配置信息,其也包括但不限于代码信息、业务对象信息和产品库文件信息,具体表现为包括但不限于最新发布的业务对象、已继承的业务对象、最新的表结构、视图结构、存储过程、组件清单、枚举数据和辅助资料等。
可选地,对于第二产品配置信息:如图2所示的第二产品配置信息的缓存过程示意图,基于K8s+docker云原生架构搭建Product微服务,通过WebAPI自定义的产品功能插件,将最新标准产品发布的所有业务对象(包括最新发布的业务以及它已继承所有基础的业务对象),利用动态领域模型,将多有业务对象合并序列化成XML提取至云端服务;同时,将最新的表结构、视图结构、存储过程、组件清单、枚举数据和辅助资料等数据内容提取至Product服务,将最新标准产品的这些第二产品配置信息缓存至Redis数据库,供计算机设备进行升级预警检测时调用。
步骤S102,基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项。
在本步骤中,预设对比检测策略为预设设置的对比检测步骤,其包括但不限于业务对象检测策略、插件代码检测策略、脚本检测策略和配置文件检测策略。其中,业务对象检测策略为针对定制开发产品在标准产品基础上新增的业务对象的检测步骤;插件代码检测策略为针对定制开发产品的插件代码的检测步骤;脚本检测策略为针对定制开发产品的脚本的检测步骤,其可以为SQL脚本检测策略;配置文件检测策略为针对定制开发产品的产品库文件信息的检测步骤。
可以理解的是,业务对象是所有的业务和信息的承载对象,能清晰的表达待升级系统内不同角色间的业务描述关系,并能清晰的记录业务之间的关联关系,不同的业务对象能够实现相应的业务功能,同时能够便于灵活扩展业务。
可选地,上述预设对比检测策略可以在计算机设备中并行执行,以全面检测待升级系统的升级风险。其中,配置异常项包括但不限于KEY冲突、字段冲突、布局冲突和视图冲突等异常项。
步骤S103,若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息。
在本步骤中,预警提示信息用于向用户提示待升级系统存在升级风险以及建议修正配置异常项。
需要说明的是,通过获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息,并基于预设对比检测策略,对第一产品配置信息与第二产品配置信息进行对比,以确定定制开发产品相比于最新标准产品是否存在配置异常项,从而检测定制开发产品与最新标准产品之间是否存在配置冲突,进而检测出系统升级风险;若定制开发产品相比于最新标准产品存在配置异常项,则发出预警提示信息,以告知用户进行配置修正,从而有效规避系统升级风险,保证系统升级成功。
在一些实施例中,针对业务对象,所述步骤S102,包括:
若所述预设对比检测策略为所述业务对象检测策略,则对于第一层业务对象扩展层信息,对比第一层业务对象扩展信息与所述标准产品业务对象信息之间的业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项;
对于第N层业务对象扩展层信息,对前N-1层业务对象扩展层信息与所述标准产品业务对象信息进行合并,得到合并层信息,并对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数,其中N>1。
在本实施例中,所述第一产品配置信息包括多层业务对象扩展层信息,所述第二产品配置信息包括标准产品业务对象信息。如图3所示的以单据为例的业务对象示意图,“[KD]采购订单”为标准产品业务对象,“采购订单”为基于标准产品的扩展层业务对象,其包括阶梯式扩展层业务对象和平行扩展层业务对象,阶梯式扩展层业务对象为在基于标准产品的扩展层业务对象的基础上进一步开发的扩展层业务对象,如图3中的“采购订单1”与“采购订单2”为阶梯式扩展层业务对象,平行扩展层业务对象为与其他扩展层业务对象平行的扩展层业务对象,如图3中的“采购订单1”与“采购订单3”为平行扩展层业务对象。
示例性地,“采购订单1”的业务对象信息为第一层业务对象扩展层信息,“采购订单2”的业务对象信息和“采购订单3”的业务对象信息分别为第二层业务对象扩展层信息和第三层业务对象扩展层信息。对于第一层业务对象扩展层信息,将“采购订单1”的业务对象信息与“[KD]采购订单”的业务对象信息之间的业务控件参数,以确定“采购订单1”的配置信息相比于“[KD]采购订单”是否存在配置冲突。对于第N层(即第二层以上)业务对象扩展层信息,例如第二层业务对象扩展层信息,将“采购订单1”的业务对象信息与“[KD]采购订单”的业务对象信息进行合并,得到合并层信息,对比合并层信息与“采购订单2”的业务对象信息之间的业务控件参数,以确定“采购订单2”的配置信息相比于“[KD]采购订单”和“采购订单1”是否存在配置冲突,从而不仅能够检测出定制开发产品与标准产品之间的配置冲突,而且能够检测出平行扩展层之间的配置冲突,从而实现对业务对象的全面检测,进一步保障系统升级的安全性。
可选地,对于业务对象扩展信息与所述标准产品业务对象信息之间的对比过程,基于领域模型,将以XML格式的业务对象扩展层信息反序列化为元数据对象,同时配合自定义的XML解析方法,获取该业务对象扩展层信息所修改的内容,再与以XML格式的上层信息基于领域模型反序列化后的元数据对象进行对比,对比内容包括但不限于定制开发产品的业务控件标识、属性名和字段名的对比检测、定制开发产品的业务控件布局重叠的对比检测、修改标准产品业务控件属性名的对比检测、扩展层使用标准试图的业务对象的对比检测、平行扩展层中业务控件标识、属性名和字段名的对比检测以及定制开发产品的元数据枚举值被覆盖的对比检测。
领域模型是对模型驱动架构MDA(Model Driven Architecture)设计思想一种扩展,由模型-元素-属性组成的三层体系结构,将整个功能模块划分为多个具体的基本元素进行研究。例如一个典型的页面的由菜单、文本输入框、时间输入框、列表、显示信息等多个控件组成,每一种控件可以看作是一个基本元素,作为领域模型研究的一个元模型。其中,元素的差异性可以使用元素的属性来表示,每个元素都有多个可以动态修改的属性,如文本框有类型、长度、高度、绑定的数据库字段等多种属性。
可选地,所述对于第一层业务对象扩展层信息的对比检测过程,包括:
对于第一层业务对象扩展层信息,对所述业务对象扩展层信息和所述标准产品业务对象信息进行反序列化,得到第一元数据对象;
基于所述第一元数据对象,确定所述业务对象扩展层信息中的第一业务控件信息和所述标准产品业务对象信息中的第二业务控件信息;
对所述第一业务控件信息和第二业务控件信息进行XML解析,分别得到第一业务控件参数和第二业务控件参数;
对比所述第一业务控件参数和所述第二业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项。
在本实施例中,以图3为例,将“采购订单1”的XML进行反序列化,得到元数据对象,根据元数据对象可以得知“采购订单1”所新增的业务控件,再配合XML解析方法(XML属性节点包含Action=“edit”),可以得知“采购订单1”所修改的业务控件以及修改后的业务控件参数值。通过遍历“[KD]采购订单”(已反序列化为元数据对象)的所有业务控件,以“采购订单1”与“[KD]采购订单”之间的业务控件参数,从而判断出“采购订单1”中所新增或所修改的业务控件是否与“[KD]采购订单”的业务控件存在冲突,例如,“采购订单1”的业务控件名称与“[KD]采购订单”的业务控件名称相同,导致系统运行无法准确调用扩展层业务控件或标准产品业务控件而出现业务功能不可用问题,即判定“采购订单1”中所新增或所修改的业务控件与“[KD]采购订单”的业务控件存在冲突。
可选地,通过对象标识符(oid)查询到扩展层修改前的值,并对比扩展层在修改前与修改后是否存在配置冲突,以实现平行扩展层间的检测。
可选地,所述对于第N层业务对象扩展层信息的对比检测过程,包括:
对于第N层业务对象扩展层信息,对述标准产品业务对象信息进行反序列化,得到第二元数据对象;
若第N-1层业务对象扩展层信息存在预设字段,则在所述第二元数据对象中查询到所述定制开发产品已修改的业务控件,并修改所述业务控件的参数,若第N-1层业务对象扩展层信息不存在预设字段,则在所述第二元数据对象中的控件列表添加所述定制开发产品已修改的业务控件参数,以得到合并层信息;
对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数。
在本实施例中,如图4所示的多层业务对象扩展层的检测过程示意图,“定制开发成果”为定制开发产品,从定制开发成果调取第一产品配置信息和从Redis缓存调取第二产品配置信息,在分析客户端(计算机设备)中对扩展层进行逐层对比,每N层扩展层的对比对象为前N-1层与标准产品的合并信息。如图4所示,对于扩展层级B的对比检测,将扩展层级A与标准单据(标准产品)进行合并,得到第一合并层,再将第一合并层与扩展层级B进行对比;对于扩展层级C的对比检测,将扩展层级B与第一合并层进行合并,得到第二合并层,再将第二合并层与扩展层级C进行对比,以此类推。
具体地,把标准产品XML反序列化为元数据对象,再与扩展层XML进行合并:若扩展层XML存在Action=“edit”,则在标准产品的元数据对象中查询对应在扩展层已修改的业务控件,并修改该业务控件的属性值;若扩展层XML不存在Action=“edit”,则在标准产品的元数据对象中的控件列表新增该业务控件,同此原理,对其他平行扩展层进行合并。再采用与第一层业务对象扩展层信息相同的对比过程进行对比。同时,对元数据对象里所有的业务控件进行遍历,根据控件的属性长度和高度,判断是否存在控件遮挡,依次类推,从而实现对所有扩展层都能通过不断的合并与扩展进行分析,进而不仅可以检测出与标准产品之间的配置冲突,也可以检测出平行扩展之间的配置冲突,保证业务对象的全面检测。
在一些实施例中,对于插件代码,所述步骤S102,包括:
若所述预设对比检测策略为插件代码检测策略,基于所述插件代码检测策略,利用预设代码检测工具,抓取所述第一代码信息中的目标字符串;
利用正则匹配方式,根据所述目标字符串,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
在本实施例中,所述第一产品配置信息还包括代码信息。示例性地,使用stylecop自定义检测工具抓取插件代码中的目标字符串,以及获取第二产品配置信息中最新标准产品表、视图结构、存储过程和函数等,并通过正则匹配方式,根据目标字符串中的Update、delete和Drop等关键字,判断目标字符串中是否有对最新标准产品表、视图结构、存储过程或函数等的修改。
在一些实施例中,对于脚本,所述步骤S102,包括:
若所述预设对比检测策略为脚本检测策略,基于所述脚本检测策略,读取所述脚本信息中的目标关键字;
利用正则匹配方式,根据所述目标关键字,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
在本实施例中,所述第一产品配置信息还包括脚本信息,具体可以为SQL脚本。示例性地,读取脚本中每一个包含Update、delete和Drop等目标关键字的语句,以及获取第二产品配置信息中最新标准产品表、视图结构、存储过程和函数等,并通过正则匹配方式,根据目标关键字,判断脚本中是否有对最新标准产品表、视图结构、存储过程或函数等的修改。
在一些实施例中,对于产品库文件,所述步骤S102,包括:
若所述预设对比检测策略为配置文件检测策略,基于所述配置文件检测策略,确定所述第一产品配置信息中是否存在所述标准产品库文件,且所述标准产品库文件在所述定制开发产品中的文件路径与在所述最新标准产品中的文件路径是否相同,以及所述标准产品库文件在所述定制开发产品中的部署方式是否不为目标部署方式;
若均是,则判定所述定制开发产品相比于所述最新标准产品存在配置异常项。
在本实施例中,所述第二产品配置信息还包括标准产品库文件的文件信息。示例性地,获取最新标准产品库中的文件名以及该文件的存放位置,若定制开发产品中存在该文件,以及该文件的部署路径与最新标准产品的存放路径相同,且该文件的部署方式不是Merge方式,则判定定制开发产品存在文件覆盖风险。
为了执行上述方法实施例对应的系统升级预警方法,以实现相应的功能和技术效果。参见图5,图5示出了本申请实施例提供的一种系统升级预警装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分,本申请实施例提供的系统升级预警装置,包括:
获取模块501,用于获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息;
对比模块502,用于基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项;
发出模块503,用于若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息。
在一些实施例中,所述预设对比检测策略包括业务对象检测策略、插件代码检测策略、脚本检测策略和配置文件检测策略中的至少一种预设对比检测策略。
在一些实施例中,所述第一产品配置信息包括多层业务对象扩展层信息,所述第二产品配置信息包括标准产品业务对象信息,所述对比模块502,包括:
第一对比单元,用于若所述预设对比检测策略为所述业务对象检测策略,则对于第一层业务对象扩展层信息,对比第一层业务对象扩展信息与所述标准产品业务对象信息之间的业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项;
第二对比单元,用于对于第N层业务对象扩展层信息,对前N-1层业务对象扩展层信息与所述标准产品业务对象信息进行合并,得到合并层信息,并对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数,其中N>1。
在一些实施例中,所述第一对比单元,具体用于:
对于第一层业务对象扩展层信息,对所述业务对象扩展层信息和所述标准产品业务对象信息进行反序列化,得到第一元数据对象;
基于所述第一元数据对象,确定所述业务对象扩展层信息中的第一业务控件信息和所述标准产品业务对象信息中的第二业务控件信息;
对所述第一业务控件信息和第二业务控件信息进行XML解析,分别得到第一业务控件参数和第二业务控件参数;
对比所述第一业务控件参数和所述第二业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项。
在一些实施例中,所述第二对比单元,具体用于:
对于第N层业务对象扩展层信息,对述标准产品业务对象信息进行反序列化,得到第二元数据对象;
若第N-1层业务对象扩展层信息存在预设字段,则在所述第二元数据对象中查询到所述定制开发产品已修改的业务控件,并修改所述业务控件的参数,若第N-1层业务对象扩展层信息不存在预设字段,则在所述第二元数据对象中的控件列表添加所述定制开发产品已修改的业务控件参数,以得到合并层信息;
对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数。
在一些实施例中,所述第一产品配置信息还包括代码信息,所述对比模块502,包括:
抓取单元,用于若所述预设对比检测策略为插件代码检测策略,基于所述插件代码检测策略,利用预设代码检测工具,抓取所述第一代码信息中的目标字符串;
确定单元,用于利用正则匹配方式,根据所述目标字符串,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
在一些实施例中,所述第一产品配置信息还包括脚本信息,所述对比模块502,包括:
读取单元,用于若所述预设对比检测策略为脚本检测策略,基于所述脚本检测策略,读取所述脚本信息中的目标关键字;
确定单元,用于利用正则匹配方式,根据所述目标关键字,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
在一些实施例中,所述第二产品配置信息还包括标准产品库文件的文件信息,所述对比模块502,包括:
判断单元,用于若所述预设对比检测策略为配置文件检测策略,基于所述配置文件检测策略,确定所述第一产品配置信息中是否存在所述标准产品库文件,且所述标准产品库文件在所述定制开发产品中的文件路径与在所述最新标准产品中的文件路径是否相同,以及所述标准产品库文件在所述定制开发产品中的部署方式是否不为目标部署方式;
判定单元,用于若均是,则判定所述定制开发产品相比于所述最新标准产品存在配置异常项。
上述的系统升级预警装置可实施上述方法实施例的系统升级预警方法。上述方法实施例中的可选项也适用于本实施例,这里不再详述。本申请实施例的其余内容可参照上述方法实施例的内容,在本实施例中,不再进行赘述。
图6为本申请一实施例提供的计算机设备的结构示意图。如图6所示,该实施例的计算机设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意方法实施例中的步骤。
所述计算机设备6可以是智能手机、平板电脑、桌上型计算机和云端服务器等计算设备。该计算机设备可包括但不仅限于处理器60、存储器61。本领域技术人员可以理解,图6仅仅是计算机设备6的举例,并不构成对计算机设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述计算机设备6的内部存储单元,例如计算机设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述计算机设备6的外部存储设备,例如所述计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
另外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现上述各个方法实施例中的步骤。
在本申请所提供的几个实施例中,可以理解的是,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围。特别指出,对于本领域技术人员来说,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种系统升级预警方法,其特征在于,包括:
获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息;
基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项;
若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息。
2.如权利要求1所述的系统升级预警方法,其特征在于,所述预设对比检测策略包括业务对象检测策略、插件代码检测策略、脚本检测策略和配置文件检测策略中的至少一种预设对比检测策略。
3.如权利要求2所述的系统升级预警方法,其特征在于,所述第一产品配置信息包括多层业务对象扩展层信息,所述第二产品配置信息包括标准产品业务对象信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为所述业务对象检测策略,则对于第一层业务对象扩展层信息,对比第一层业务对象扩展信息与所述标准产品业务对象信息之间的业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项;
对于第N层业务对象扩展层信息,对前N-1层业务对象扩展层信息与所述标准产品业务对象信息进行合并,得到合并层信息,并对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数,其中N>1。
4.如权利要求3所述的系统升级预警方法,其特征在于,所述对于第一层业务对象扩展层信息,对比第一层业务对象扩展信息与所述标准产品业务对象信息之间的业务控件参数,包括:
对于第一层业务对象扩展层信息,对所述业务对象扩展层信息和所述标准产品业务对象信息进行反序列化,得到第一元数据对象;
基于所述第一元数据对象,确定所述业务对象扩展层信息中的第一业务控件信息和所述标准产品业务对象信息中的第二业务控件信息;
对所述第一业务控件信息和第二业务控件信息进行XML解析,分别得到第一业务控件参数和第二业务控件参数;
对比所述第一业务控件参数和所述第二业务控件参数,以确定所述业务对象扩展信息相比于所述标准产品业务对象信息是否存在配置异常项。
5.如权利要求3所述的系统升级预警方法,其特征在于,所述对于第N层业务对象扩展层信息,对前N-1层业务对象扩展层信息与所述标准产品业务对象信息进行合并,得到合并层信息,并对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数,包括:
对于第N层业务对象扩展层信息,对述标准产品业务对象信息进行反序列化,得到第二元数据对象;
若第N-1层业务对象扩展层信息存在预设字段,则在所述第二元数据对象中查询到所述定制开发产品已修改的业务控件,并修改所述业务控件的参数,若第N-1层业务对象扩展层信息不存在预设字段,则在所述第二元数据对象中的控件列表添加所述定制开发产品已修改的业务控件参数,以得到合并层信息;
对比所述合并层信息与所述第N层业务对象扩展层信息之间的业务控件参数。
6.如权利要求2所述的系统升级预警方法,其特征在于,所述第一产品配置信息还包括代码信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为插件代码检测策略,基于所述插件代码检测策略,利用预设代码检测工具,抓取所述第一代码信息中的目标字符串;
利用正则匹配方式,根据所述目标字符串,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
7.如权利要求2所述的系统升级预警方法,其特征在于,所述第一产品配置信息还包括脚本信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为脚本检测策略,基于所述脚本检测策略,读取所述脚本信息中的目标关键字;
利用正则匹配方式,根据所述目标关键字,确定所述第一产品配置信息相比于所述第二产品配置信息是否存在配置异常项。
8.如权利要求2所述的系统升级预警方法,其特征在于,所述第二产品配置信息还包括标准产品库文件的文件信息,所述基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,包括:
若所述预设对比检测策略为配置文件检测策略,基于所述配置文件检测策略,确定所述第一产品配置信息中是否存在所述标准产品库文件,且所述标准产品库文件在所述定制开发产品中的文件路径与在所述最新标准产品中的文件路径是否相同,以及所述标准产品库文件在所述定制开发产品中的部署方式是否不为目标部署方式;
若均是,则判定所述定制开发产品相比于所述最新标准产品存在配置异常项。
9.一种系统升级预警装置,其特征在于,包括:
获取模块,用于获取待升级系统的定制开发产品的第一产品配置信息,以及获取最新标准产品的第二产品配置信息;
对比模块,用于基于预设对比检测策略,对所述第一产品配置信息与所述第二产品配置信息进行对比,以确定所述定制开发产品相比于所述最新标准产品是否存在配置异常项;
发出模块,用于若所述定制开发产品相比于所述最新标准产品存在配置异常项,则发出预警提示信息。
10.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8任一项所述的系统升级预警方法。
11.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的系统升级预警方法。
CN202310190496.2A 2023-02-22 2023-02-22 系统升级预警方法、装置、设备及存储介质 Pending CN116243966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310190496.2A CN116243966A (zh) 2023-02-22 2023-02-22 系统升级预警方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310190496.2A CN116243966A (zh) 2023-02-22 2023-02-22 系统升级预警方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116243966A true CN116243966A (zh) 2023-06-09

Family

ID=86634745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310190496.2A Pending CN116243966A (zh) 2023-02-22 2023-02-22 系统升级预警方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116243966A (zh)

Similar Documents

Publication Publication Date Title
US10169034B2 (en) Verification of backward compatibility of software components
US10489591B2 (en) Detection system and method thereof
US11062022B1 (en) Container packaging device
US8407245B2 (en) Efficient string pattern matching for large pattern sets
US8738589B2 (en) Classloading technique for an application server that provides dependency enforcement
US9146735B2 (en) Associating workflows with code sections in a document control system
US20190258648A1 (en) Generating asset level classifications using machine learning
US9400733B2 (en) Pattern matching framework for log analysis
US8707259B2 (en) Framework for open dynamic reflective applications
US20120233186A1 (en) Exposing and using metadata and meta-metadata
EP1600860A2 (en) Method and system for embedding context information in a document
CN113157315A (zh) 一种软件不同版本的差异信息识别方法、装置、设备及介质
US20040025043A1 (en) System and method for identifying potential security risks in controls
US10659567B2 (en) Dynamic discovery and management of page fragments
EP2199905A1 (en) Lifecycle management and consistency checking of object models using application platform tools
US11422917B2 (en) Deriving software application dependency trees for white-box testing
CN117493199A (zh) 代码校验方法、装置、计算机设备和存储介质
CN111352631A (zh) 一种接口兼容性检测方法及装置
CN116243966A (zh) 系统升级预警方法、装置、设备及存储介质
CN114936368A (zh) 一种Java内存木马检测方法、终端设备及存储介质
US11366658B1 (en) Seamless lifecycle stability for extensible software features
US20220405065A1 (en) Model Document Creation in Source Code Development Environments using Semantic-aware Detectable Action Impacts
US8924924B2 (en) Representing the structure of a data format using a class-based representation
US9354870B2 (en) Maintaining integrity of output of code generators
US10656921B2 (en) Sparse object instantiation

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