CN109558153B - 版本一致性确定方法、装置及系统 - Google Patents

版本一致性确定方法、装置及系统 Download PDF

Info

Publication number
CN109558153B
CN109558153B CN201811416500.8A CN201811416500A CN109558153B CN 109558153 B CN109558153 B CN 109558153B CN 201811416500 A CN201811416500 A CN 201811416500A CN 109558153 B CN109558153 B CN 109558153B
Authority
CN
China
Prior art keywords
database
attributes
specified
database environment
comparison result
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.)
Active
Application number
CN201811416500.8A
Other languages
English (en)
Other versions
CN109558153A (zh
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201811416500.8A priority Critical patent/CN109558153B/zh
Publication of CN109558153A publication Critical patent/CN109558153A/zh
Application granted granted Critical
Publication of CN109558153B publication Critical patent/CN109558153B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种版本一致性确定方法、装置及系统,其中方法包括:配置库设备从数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;配置库设备从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;配置库设备对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果。本申请可以方便快捷的执行一致性检查工作,以提高执行一致性检查工作的效率和准确率。

Description

版本一致性确定方法、装置及系统
技术领域
本申请涉及软件技术领域,尤其涉及版本一致性确定方法、装置及系统。
背景技术
在一软件程序使用一段时间后,通常会对软件程序进行重开发操作。开发库设备可以从配置库设备获取源代码,并对源代码执行重开发操作获得更新后源代码(后续称为全量源码),在全量源码于构建库设备经过编译获得全量执行码后,可于测试库设备中对全量执行码进行测试,测试通过后存储全量源码和全量执行码至配置库设备,完整一次重开发操作。
再次执行重开发操作时仍从配置库设备获取源代码,获取的源代码即为上一次重开发操作后的源代码。以此类推,在经过多次重开发操作之后,配置库设备中最新全量执行码,即为经过多次重开发操作后的全量执行码。
理论上,配置库设备中最新的全量执行码应该包含多次重开发操作中修改且经过测试的软件代码。但是,实际情况下由于开发人员的一些违规操作,导致全量执行码缺失修改后的一些软件代码,或,全量执行码中一些软件代码并未于测试库设备中测试。
例如,开发人员违规直接在测试库设备的测试环境里修改代码,使得一些修改后的软件代码未添加至配置库设备中;以及,开发人员未经过测试库设备中经过测试便提交至配置库设备,一些修改后的软件代码未在测试库设备中经过测试。
目前在将配置库设备中最新的全量执行码发布至用户设备之前,通常需要人工来执行一致性检查工作,但是人工执行一致性检查工作的效率较低且错误率高。
发明内容
鉴于此,本申请提供版本一致性确定方法、装置及系统,可以方便快捷的执行一致性检查工作,以提高执行一致性检查工作的效率和准确率。
为了实现上述目的,提供了下述技术特征:
一种版本一致性确定系统,包括:
配置库设备从数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;
配置库设备从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;
配置库设备对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果。
可选的,配置库设备从数据库中确定一个或多个指定属性包括:
配置库设备提供包含多个数据库属性的展示界面,以供用户选择其中一个或多个数据库属性;其中所述数据库属性包括表结构、码表记录、索引、存储模式和触发器;
配置库设备接收所述展示界面传输的一个或多个数据库属性,并将所述一个或多个数据库属性确定为指定属性。
可选的,所述配置库设备对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果,包括:
对于各个指定属性而言,将所述第一数据库环境包中指定属性对应的指定属性数据,与,所述第二数据库环境包中该指定属性对应的指定属性数据进行对比,并获得各个指定属性的对比结果;
若各个指定属性的对比结果均为一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包一致;
若各个指定属性对应的对比结果中包含不一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包不一致。
可选的,还包括:
基于所述一致性对比结果,分析并生成差异报告;
所述差异报告包括对比结果为不一致的一个或多个指定属性,及包含各个指定属性正确数据的正确方,所述正确方为所述第一数据库环境包,或所述第二数据库环境包。
可选的,还包括:
配置库设备接收一键同步指令;
对于对比结果为不一致的一个或多个指定属性,将各个指定属性对应正确方中、与各个指定属性对应的正确数据同步至另一方。
一种版本一致性确定方法,应用于配置库设备,所述方法包括:
从配置库设备的数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;
从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;
对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果。
可选的,所述从配置库设备的数据库中确定一个或多个指定属性包括:
提供包含多个数据库属性的展示界面,以供用户选择其中一个或多个数据库属性;其中所述数据库属性包括表结构、码表记录、索引、存储模式和触发器;
配置库设备接收所述展示界面传输的一个或多个数据库属性,并将所述一个或多个数据库属性确定为指定属性。
可选的,所述对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果,包括:
对于各个指定属性而言,将所述第一数据库环境包中指定属性对应的指定属性数据,与,所述第二数据库环境包中该指定属性对应的指定属性数据进行对比,并获得各个指定属性的对比结果;
若各个指定属性的对比结果均为一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包一致;
若各个指定属性对应的对比结果中包含不一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包不一致。
可选的,还包括:
基于所述一致性对比结果,分析并生成差异报告;
所述差异报告包括对比结果为不一致的一个或多个指定属性,及包含各个指定属性正确数据的正确方,所述正确方为所述第一数据库环境包,或所述第二数据库环境包。
一种版本一致性确定装置,应用于配置库设备,所述装置包括:
第一单元,用于从配置库设备的数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;
第二单元,用于从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;
对比单元,用于对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果。
通过上述技术特征看出本申请具有如下有益效果:
本申请配置库设备获取指定属性数据并生成第一数据库环境包,从开发库设备、构建库设备或测试库设备获取指定属性数据并生成第二数据库环境包,并将两者进行对比,从而实现自动化执行一致性检查工作,提高执行一致性检查工作的效率和准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种版本一致性确定系统的结构示意图;
图2为本申请实施例公开的一种增量代码确定方法的流程图;
图3为本申请实施例公开的一种增量代码确定方法的流程图;
图4为本申请实施例公开的一种版本一致性确定方法的流程图;
图5为本申请实施例公开的一种版本一致性确定装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种版本一致性确定系统,参见图1,包括:
开发库设备100;
与开发库设备100相连的配置库设备200;其中,配置库设备200存储有源代码。
与配置库设备200相连的构建库设备300;
与配置库设备200相连的测试库设备400;
与配置库设备200相连的产品库设备500。
在介绍版本一致性方法(图4实施例)之前,先介绍自动确定增量源码和增量执行码,首先介绍增量源码的执行过程,详见图2所示的实施例。
本申请提供了增量代码确定方法的实施例一,应用于图1所示的版本一致性确定系统。参见图2,包括以下步骤:
步骤S201:开发库设备从配置库设备获取源代码,其中所述源代码包括多个程序文件。
由于源代码存储于配置库设备中,所以在需要更新源代码前,需要开发库设备需要从配置库设备中获取源代码。源代码包括多个程序文件,每个程序文件的文件名称包括区分于其它程序文件的文件标识。
步骤S202:开发库设备在对所述源代码中一个或多个程序文件执行更新操作获得全量源码的过程中,记录所述更新操作涉及一个或多个程序文件的文件名称。
可以理解的是并不需要对每个程序文件进行更新,开发人员可以根据源代码的实际应用场景来确定需要更新的一个或多个程序文件,并借助于开发库设备对本次需要修改的一个或多个程序文件执行更新操作。
开发库设备在更新源代码过程中,记录本次更新操作所修改的一个或多个程序文件的文件名称;其它未被修改多个程序文件则无需记录文件名称。
步骤S203:开发库设备生成唯一表示该次更新操作的当前节点号码;
本步骤可以具体包括以下步骤:
步骤S1:获取表示执行该次更新操作的用户标识,以及,表示执行该次更新操作的时间标识。
可以理解的是,每个开发人员均有其用户标识,在登录开发库设备时,开发库设备会记录开发人员的用户标识。开发库设备会获取本次更新操作中登录开发库设备的用户标识,以及,当前的时间标识。
本实施例中,时间标识以日期为单位,即一个日期对应一个时间标识。例如,9-3号内所有时间段均对应一个时间标识1,9-10号内所有时间段均对应一个时间标识2。
步骤S2:判断该次更新操作的用户标识与上次更新操作的用户标识是否一致,以及,判断该次更新操作的时间标识与上次更新操作的时间标识是否一致;
步骤S3:若该次更新操作的用户标识与上次更新操作的用户标识不一致,或者,该次更新操作的时间标识与上次更新操作的时间标识不一致,则在上次更新操作的历史节点号码基础上递增生成当前节点号码。
在用户标识或时间标识不一致的情况下,说明本次为不同用户或者不同时间执行的更新操作,所以需生成不同的节点号码,为了保证节点号码的连续性,可以在上一更新操作对应的历史节点号码的基础上,以递增加一方式生成当前节点号码。
例如,初始记录的节点号码为1,在用户B对程序文件进行修改完成后保存,则生成节点号码为2;在用户C对程序文件进行修改完成后保存,则生成节点号码为3。
步骤S4:若该次更新操作的用户标识与上次更新操作的用户标识一致,且,该次更新操作的时间标识与上次更新操作的时间标识一致,则将上次更新操作的历史节点号码作为当前节点号码。
在同一用户在同一时间标识内执行更新操作,则可以延续使用上次更新操作的历史节点号码,即默认同一用户在同一天对应一个节点号码。
接步骤S203进入步骤S204:开发库设备向所述更新操作涉及一个或多个程序文件的文件名称中,添加所述当前节点号码。
一个程序文件的文件名称包括用于区分其它程序文件的文件标识,还包括上次更新操作时添加的历史节点号码。
开发库设备对于本次更新操作所涉及的一个或多个程序文件执行:将一个或多个程序文件的文件名称中的历史节点号码,替换为所述当前节点号码。
可以理解的是,本次更新操作涉及的一个或多个程序文件即为增量源码,本实施例中,为了便于后续筛选出该一个或多个程序文件,向该一个或多个程序文件的文件名称中添加当前节点号码,以便后续利用当前节点号码来确定出增量源码。
步骤S205:开发库设备发送所述当前全量源码至所述配置库设备,以供所述配置库设备基于所述当前全量源码的当前节点号码来确定增量源码。
开发库设备对源代码中一个或多个程序文件执行更新操作后可以获得当前全量源码;当前全量源码包括源代码中未被修改的程序文件,以及,本次更新操作后的一个或多个程序文件。
每个程序文件还包括文件信息,文件信息包括用于执行本次更新操作的用户标识,还可以包括本次更新操作的时间标识。
可以理解的是,多个用户可以同时登录开发库设备,并均对源代码执行更新操作,所以开发库设备可以多次执行步骤S201~步骤S205。
步骤S206:配置库设备接收并存储所述开发库设备发送的所述当前全量源码。
配置库设备可以多次接收并存储开发库设备发送的全量源码,但在确定增量源码的过程中,使用最新接收的当前全量源码。因为,当前全量源码中的各个程序文件是经过多次更新操作后的最新程序文件。
当前全量源码中该次更新操作涉及一个或多个程序文件的文件名称包括唯一表示该次更新操作的当前节点号码。
步骤S207:配置库设备确定由所述当前节点号码和历史节点号码组成的查询范围。
开发库设备可以存储多次更新操作对应的全量源码,用户可以基于实际情况来确定历史节点号码,也即,查询增量源码的起始节点号码;然后,由定由所述当前节点号码和历史节点号码组成的查询范围。
可选的,多个全量源码中的节点号码成递增顺序生成,则本步骤确定由所述当前节点号码和历史节点号码组成的查询范围,包括:获取所述历史节点号码和所述当前节点号码,并将大于所述历史节点号码且小于等于所述当前节点号码的范围,确定所述查询范围。
例如在历史节点号码为1,当前节点号码为3的情况下,查询范围为(1,3]。
步骤S208:配置库设备将所述当前全量源码中节点号码位于所述查询范围内的一个或多个程序文件,确定为增量源码。
配置库设备针对所述当前全量源码中每个程序文件执行下述步骤:
判断程序文件的文件名称中的节点号码是否位于所述查询范围内;
若是,则确定该程序文件为所述增量源码中一程序文件;
若否,则确定该程序文件非所述增量源码。
步骤S209:配置库设备基于增量源码确定并展示开发人员的开发效率以及开发效率的排序结果。
配置库设备在确定增量源码后,还可以执行进一步操作:
每个程序文件包括文件信息,文件信息包括表示执行更新操作的用户标识;则基于增量源码确定开发人员的开发效率包括:
依据用户标识对所述增量源码中各个程序文件执行分类操作,确定各个用户标识对应的增量源码子集;
利用所述各个用户标识对应的增量源码子集,计算各个用户的开发效率;
对所述各个用户的开发效率执行排序操作,获得排序结果;
展示各个用户的开发效率以及所述排序结果。
通过上述实施例,可以得知本申请具有如下有益效果:
第一,本实施例提供了增量源码确定方法,本实施例中在用户对源代码中一个或多个程序文件执行更新操作后,对该次更新操作涉及的一个或多个程序文件的文件名称中,添加唯一表示该次更新操作的当前节点号码。
此后,可以确定一个由当前节点号码和历史节点号码组成的查询范围,通过当前全量源码中各个程序文件的文件名称中节点号码,便可以搜索到节点号码符合查询范围的一个或多个程序文件。该一个或多个程序文件便是查询范围内的更新操作对应的增量源码。
本申请可以自动从当前全量源码中确定出增量源码,所以可以简单方便的确定出增量源码,从而提高产品库中软件程序的更新效率和准确率。
第二,本实施例可以持续提取增量源码,把开发人员每天开发的代码进行增量提取,在基于用户标识对增量源码进行分类操作后,可以获得各个开发人员的开发效率以及排序结果,可以方便管理人员基于开发效率对开发人员进行工作任务分配。
本实施例适用于Java类型的执行码,由于Java类型的执行码为根据增量Java源码获取的,Java类型执行码有一个共同的特点,每个Java源码可以编译为相同文件标识的.class文件(或者.class文件和$1.class文件),根据这个文件标识的共性,本实施例提供依据增量Java源码查找增量Java执行码的方案。
下面介绍确定增量执行码的执行过程,详见图3所示的实施例。
本申请提供了增量代码确定方法的实施例二,应用于图1所示的版本一致性确定系统。参见图3,包括以下步骤:
步骤S301:构建库设备从所述配置库设备中提取当前全量源码,以及,由所述增量源码中各个程序文件的文件标识组成的文件标识集。
在编译操作时需要依据全量源码执行编译操作,所以构建库设备可以从配置库设备中获取当前全量源码。
配置库设备中增量源码中包括一个或多个程序文件,每个程序文件均具有区别于其他程序文件的文件名称。构建库设备可以从配置库中获取增量源码中各个程序文件的文件标识,为了便于描述,将各个文件标识称为文件标识集。
步骤S302:构建库设备对所述当前全量源码执行编译操作获得全量执行码。
构建库设备对当前全量源码执行编译操作,获得全量执行码。编译过程已为成熟技术,在此不再赘述。
需要指出的是,当前全量源码中每个程序文件在编译后会对应一个或多个编译文件,在编译操作后节点号码会消失,但是,程序文件和该程序文件对应的一个或多个编译文件的文件标识是一致的。
例如,一个程序文件的程序文件的文件名称为wsw.java,其编译后获得的编译文件的文件名称wsw.class,或者,wsw.class和wsw$1.class由此可见,其中的文件标识www均是一致的。
步骤S303:构建库设备从所述全量执行码中提取包含所述文件标识集中文件标识的一个或多个编译文件,将该一个或多个编译文件确定为增量执行码。
由于步骤S301中获取的文件标识集为增量源码中各个程序文件的文件标识,所以可以在全量执行码中查找文件标识集中的文件标识即可,也即,将全量执行码中各个编译文件与文件标识集进行匹配操作。若一个编译文件的文件标识存在于文件标识集中,则确定该编译文件归属于增量执行码。
在对全量执行码中各个编译文件均与文件标识集进行匹配操作后,将匹配成功的一个或多个编译文件,确定为增量执行码。
步骤S304:构建库设备发送所述增量执行码至配置库设备。
构建库设备在确定增量执行码后,发送增量执行码至配置库设备。
步骤S305:配置库设备发送增量执行码至测试库设备。
为了验证增量执行码是否正确,需要对增量执行码进行测试操作,可以发送增量执行码至测试库设备,以供测试库设备进行测试操作。
步骤S306:测试库设备对增量执行码进行测试获得测试结果,发送测试结果至配置库设备。
步骤S307:配置库设备基于增量执行码确定并展示开发人员的正确率和出错率,以及,正确率和出错率排序结果。
配置库设备还用于依据用户标识对所述增量源码中各个程序文件执行分类操作,确定各个用户标识对应的增量源码子集,利用所述各个用户标识对应的增量源码子集,计算各个用户的开发效率,对所述各个用户的开发效率执行排序操作,获得排序结果,展示各个用户的开发效率以及所述排序结果。
当然,配置库还可以存储其它的预设计算方式和报告模板,依据预设计算方式来计算参数,并获得计算结果,并按照报告模板的方式生成分析报告,并展示分析报告至用户,以供用户查看分析报告。
通过上述实施例可以得知,本申请具有如下有益效果:
第一,本实施例提供了增量执行码确定方法,本实施例在确定增量源码后,依据增量源码和增量执行码的文件名称一致的关键点,来依据增量源码的文件名称查找到增量执行码,从而可以简单方便的确定出增量执行码,提高产品库中软件程序的更新效率和准确率。
第二,本实施例在确定出增量执行码后,可以针对增量执行码重点进行针对性的测试和检查,以便迅速确定出故障位置和故障原因,从而快速的进行修正,及时规避存在的风险。
第三,本实施例可以持续提取增量源码,把开发人员每天开发的代码进行增量提取,在基于用户标识对增量源码进行分类操作后,可以获得各个开发人员的开发效率以及排序结果,可以方便管理人员基于开发效率对开发人员进行工作任务分配。
在上述图2和图3的更新操作(也即重开发操作)被多次执行后,配置库设备便获取多次重开发操作对应的增量执行码,可以理解的是,每个增量执行码对应一个重开发时间点(通常而言重开发时间点为一个日期)。配置库设备还可以存储最新的增量执行码。
可以理解的是,测试库设备会存储在其上经过测试的增量执行码。
在配置库设备改变源代码并确定增量源码过程中,为了适应性配合增量源码,配置库设备的数据库也会发生变化。例如,配置库设备中数据库的表结构、码表记录、索引、存储模式和触发器等等。
同理,在构建库设备对当前全量源码执行编译的过程中,为了适应性配合当前全量源码和全量执行码,构建设备的数据库也会发生变化。例如,构建库设备中数据库的表结构、码表记录、索引、存储模式和触发器等等。
同理,在测试库设备对增量执行码执行测试过程中,为了适应性配合增量执行码,测试库设备的数据库也会发生变化。例如,测试库设备中数据库的表结构、码表记录、索引、存储模式和触发器等等。
理论上来讲,若开发库设备、构建库设备或测试库设备中的所有软件代码与配置库设备的所有软件代码一致的情况下,开发库设备、构建库设备或测试库设备中数据库的属性,与,配置库设备中数据库的属性应该是一致的。
下面提供一种版本一致性确定方法,应用于图1所示的版本一致性确定系统。参见图4,包括以下步骤:
步骤S401:配置库设备从数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包。
本步骤包括以下三个步骤:
S1:配置库设备提供包含多个数据库属性的展示界面,以供用户选择其中一个或多个数据库属性;其中所述数据库属性包括表结构、码表记录、索引、存储模式和触发器。
配置库设备可以提供包含所有数据库属性的展示界面,数据库属性可以包括表结构、码表记录、索引、存储模式和触发器,当然还可以包括其它属性,在此不再一一列举。
用户可以采用勾选的方式,从展示界面中勾选一个或多个数据库属性。由于一些软件代码变更会改变表结构,不改变存储模式;另一些改变可能会改变索引不改变触发器等。
为此,用户可以根据本次对软件代码的修改,选择出理应会产生变化的一个或多个数据库属性,用户选择的一个或多个数据库属性用于作为后续的指定属性。
S2:配置库设备接收所述展示界面传输的一个或多个数据库属性,并将所述一个或多个数据库属性确定为指定属性。
S3:配置库设备生成包含该一个或多个指定属性数据的第一数据库环境包。
配置库设备确定一个或多个指定属性后,从配置库设备的数据库中提取一个或多个指定属性对应的一个或多个指定属性数据,每个指定属性数据都代表着配置库设备的数据库的环境。配置库设备将一个或多个指定属性数据构建为一个数据包,作为第一数据库环境包。
步骤S402:配置库设备从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包。
用户可以从开发库设备、构建库设备和测试库设备中选择一个作为与配置库设备进行对比的目标。可以理解的是,目标设备与配置库设备中相同指定属性对应的属性数据理应是一致的,若不一致的话,则表示目标设备与配置库设备的软件代码可能是不一致的。
以测试库设备为例,配置库设备可以从测试库设备中获取一个或多个指定属性对应的一个或多个指定属性数据,需要指出的是,此处的一个或多个指定属性与配置库设备中一个或多个指定属性是完全相同,以用于后续对比配置库设备和测试库设备相同指定属性对应的指定属性数据。
配置库设备从测试库设备的数据库中提取一个或多个指定属性对应的一个或多个指定属性数据,每个指定属性数据都代表着测试库设备中数据库的环境。配置库设备将一个或多个指定属性数据构建为一个数据包,作为第二数据库环境包。
步骤S403:配置库设备对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果。
S1:对于各个指定属性而言,将所述第一数据库环境包中指定属性对应的指定属性数据,与,所述第二数据库环境包中该指定属性对应的指定属性数据进行对比,并获得各个指定属性的对比结果。
对于各个指定属性而言,从所述第一数据库环境包中确定该指定属性对应的指定属性数据1,从所述第二数据库环境包中确定该指定属性对应的指定属性数据2,对比指定属性数据1和指定属性数据2。
若指定属性数据1与指定属性数据2一致,则表示指定属性的对比结果为一致结果;反之,若指定属性数据1与指定属性数据2不一致,则表示指定属性的对比结果为不一致结果。
S2:若各个指定属性的对比结果均为一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包一致。
可以理解的是,在获得各个指定属性的对比结果后,若各个执行属性的对比结果均为一致结果,则表示所述第一数据库环境包和所述第二数据库环境包中各个指定属性对应的指定属性数据均一致,也即所述第一数据库环境包与所述第二数据库环境包一致。
S3:若各个属性对应的对比结果中包含不一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包不一致。
若至少一个指定属性的对比结果为不一致结果,则表示所述第一数据库环境包与所述第二数据库环境包不一致。
步骤S404:基于所述一致性对比结果,分析并生成差异报告。
基于一致性对比结果,分析并生成差异报告,差异报告中可以指出不一致对比结果的指定属性,指定属性于所述配置库环境和测试库环境中的层级结构,以便于用户查看。
当然,差异报告中还可以展示对比行级代码量,对比文件级量,不一致行级代码量,不一致文件级量,以便于用户查看。
可以理解的是,所述差异报告包括对比结果为不一致的一个或多个属性,及包含各个属性正确数据的正确方,所述正确方为所述第一数据库环境包,或所述第二数据库环境包。
例如,对于一个指定属性而言,若第一数据库环境包中为正确数据,则表示出该指定属性的正确方为第一数据库环境包;反之,若第二数据库环境包中为正确数据,则表示出该指定属性的正确方为第二数据库环境包。
步骤S405:配置库设备接收一键同步指令;
步骤S406:对于对比结果为不一致的一个或多个指定属性,将各个指定属性对应正确方中、与各个指定属性对应的正确数据同步至另一方。
在用户通过配置库设备选择一键同步指令后,可以将对比结果为不一致的一个或多个指定属性实施同步操作,同步正确方的正确数据至另一方中,以便配置库设备中数据库环境与测试库设备中数据库环境保持一致。
通过上述技术特征,可以发现本申请具有下述有益效果:
理论上来讲,若开发库设备、构建库设备或测试库设备中的所有软件代码与配置库设备的所有软件代码一致的情况下,开发库设备、构建库设备或测试库设备中数据库的属性,与,配置库设备中数据库的属性应该是一致的。
为此,本申请配置库设备获取指定属性数据并生成第一数据库环境包,从开发库设备、构建库设备或测试库设备获取指定属性数据并生成第二数据库环境包,并将两者进行对比,从而实现自动化执行一致性检查工作,提高执行一致性检查工作的效率和准确率。
参见图5,本申请还提供了一种版本一致性确定装置,应用于配置库设备,所述装置包括:
第一单元51,用于从配置库设备的数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;
第二单元52,用于从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;
对比单元53,用于对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果。
关于版本一致性确定装置的详细内容,参见图4所示实施例,在此不再赘述。
通过上述技术特征,可以发现本申请具有下述有益效果:
理论上来讲,若开发库设备、构建库设备或测试库设备中的所有软件代码与配置库设备的所有软件代码一致的情况下,开发库设备、构建库设备或测试库设备中数据库的属性,与,配置库设备中数据库的属性应该是一致的。
为此,本申请配置库设备获取指定属性数据并生成第一数据库环境包,从开发库设备、构建库设备或测试库设备获取指定属性数据并生成第二数据库环境包,并将两者进行对比,从而实现自动化执行一致性检查工作,提高执行一致性检查工作的效率和准确率。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种版本一致性确定系统,其特征在于,包括:
配置库设备从数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;所述指定属性为用户根据对软件代码修改选择出的对软件代码进行修改后会产生变化的一个或多个数据库属性;
配置库设备从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;所述一致性确定系统的其它设备包括开发库设备、构建库设备和产品库设备;
配置库设备对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果;
所述配置库设备对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果,包括:
对于各个指定属性而言,将所述第一数据库环境包中指定属性对应的指定属性数据,与所述第二数据库环境包中该指定属性对应的指定属性数据进行对比,并获得各个指定属性的对比结果;
若各个指定属性的对比结果均为一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包一致;
若各个指定属性对应的对比结果中包含不一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包不一致;
所述配置库设备从数据库中确定一个或多个指定属性包括:
配置库设备提供包含多个数据库属性的展示界面,以供用户选择其中一个或多个数据库属性;其中所述数据库属性包括表结构、码表记录、索引、存储模式和触发器;
配置库设备接收所述展示界面传输的一个或多个数据库属性,并将所述一个或多个数据库属性确定为指定属性。
2.如权利要求1所述的系统,其特征在于,还包括:
基于所述一致性对比结果,分析并生成差异报告;
所述差异报告包括对比结果为不一致的一个或多个指定属性,及包含各个指定属性正确数据的正确方,所述正确方为所述第一数据库环境包,或所述第二数据库环境包。
3.如权利要求2所述系统,其特征在于,还包括:
配置库设备接收一键同步指令;
对于对比结果为不一致的一个或多个指定属性,将各个指定属性对应正确方中与各个指定属性对应的正确数据同步至另一方。
4.一种版本一致性确定方法,其特征在于,应用于配置库设备,所述方法包括:
从配置库设备的数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;所述指定属性为用户根据对软件代码修改选择出的对软件代码进行修改后会产生变化的一个或多个数据库属性;
从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;所述一致性确定系统的其它设备包括开发库设备、构建库设备和产品库设备;
对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果;
所述对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果,包括:
对于各个指定属性而言,将所述第一数据库环境包中指定属性对应的指定属性数据,与所述第二数据库环境包中该指定属性对应的指定属性数据进行对比,并获得各个指定属性的对比结果;
若各个指定属性的对比结果均为一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包一致;
若各个指定属性对应的对比结果中包含不一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包不一致;
所述从配置库设备的数据库中确定一个或多个指定属性包括:
提供包含多个数据库属性的展示界面,以供用户选择其中一个或多个数据库属性;其中所述数据库属性包括表结构、码表记录、索引、存储模式和触发器;
配置库设备接收所述展示界面传输的一个或多个数据库属性,并将所述一个或多个数据库属性确定为指定属性。
5.如权利要求4所述的方法,其特征在于,还包括:
基于所述一致性对比结果,分析并生成差异报告;
所述差异报告包括对比结果为不一致的一个或多个指定属性,及包含各个指定属性正确数据的正确方,所述正确方为所述第一数据库环境包,或所述第二数据库环境包。
6.一种版本一致性确定装置,其特征在于,应用于配置库设备,所述装置包括:
第一单元,用于从配置库设备的数据库中确定一个或多个指定属性,获取一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第一数据库环境包;所述指定属性为用户根据对软件代码修改选择出的对软件代码进行修改后会产生变化的一个或多个数据库属性;
第二单元,用于从一致性确定系统的其它设备中,获取与所述一个或多个指定属性对应的一个或多个指定属性数据,并生成包含该一个或多个指定属性数据的第二数据库环境包;所述一致性确定系统的其它设备包括开发库设备、构建库设备和产品库设备;
对比单元,用于对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果;
所述对比所述第一数据库环境包和所述第二数据库环境包,并获得一致性对比结果,包括:
对于各个指定属性而言,将所述第一数据库环境包中指定属性对应的指定属性数据,与所述第二数据库环境包中该指定属性对应的指定属性数据进行对比,并获得各个指定属性的对比结果;
若各个指定属性的对比结果均为一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包一致;
若各个指定属性对应的对比结果中包含不一致结果,则确定所述一致性对比结果为所述第一数据库环境包与所述第二数据库环境包不一致;
所述配置库设备从数据库中确定一个或多个指定属性包括:
配置库设备提供包含多个数据库属性的展示界面,以供用户选择其中一个或多个数据库属性;其中所述数据库属性包括表结构、码表记录、索引、存储模式和触发器;
配置库设备接收所述展示界面传输的一个或多个数据库属性,并将所述一个或多个数据库属性确定为指定属性。
CN201811416500.8A 2018-11-26 2018-11-26 版本一致性确定方法、装置及系统 Active CN109558153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811416500.8A CN109558153B (zh) 2018-11-26 2018-11-26 版本一致性确定方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811416500.8A CN109558153B (zh) 2018-11-26 2018-11-26 版本一致性确定方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109558153A CN109558153A (zh) 2019-04-02
CN109558153B true CN109558153B (zh) 2022-01-21

Family

ID=65867485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811416500.8A Active CN109558153B (zh) 2018-11-26 2018-11-26 版本一致性确定方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109558153B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990267B (zh) * 2019-11-25 2023-09-05 泰康保险集团股份有限公司 数据处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192987A (zh) * 2006-11-30 2008-06-04 中兴通讯股份有限公司 软件版本自我管理设备
CN103995854A (zh) * 2014-05-13 2014-08-20 大唐移动通信设备有限公司 一种设备跨版本升级方法和装置
CN104065517A (zh) * 2014-07-07 2014-09-24 用友软件股份有限公司 分布式系统软件配置管理方法和系统
CN106339500A (zh) * 2016-09-09 2017-01-18 浪潮软件股份有限公司 一种异地数据库对比工具及方法
WO2018174163A1 (ja) * 2017-03-23 2018-09-27 日本電気株式会社 開発運用支援システム、開発管理サーバ、運用管理サーバ、それらの方法及びプログラムを格納した非一時的なコンピュータ可読媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192987A (zh) * 2006-11-30 2008-06-04 中兴通讯股份有限公司 软件版本自我管理设备
CN103995854A (zh) * 2014-05-13 2014-08-20 大唐移动通信设备有限公司 一种设备跨版本升级方法和装置
CN104065517A (zh) * 2014-07-07 2014-09-24 用友软件股份有限公司 分布式系统软件配置管理方法和系统
CN106339500A (zh) * 2016-09-09 2017-01-18 浪潮软件股份有限公司 一种异地数据库对比工具及方法
WO2018174163A1 (ja) * 2017-03-23 2018-09-27 日本電気株式会社 開発運用支援システム、開発管理サーバ、運用管理サーバ、それらの方法及びプログラムを格納した非一時的なコンピュータ可読媒体

Also Published As

Publication number Publication date
CN109558153A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
US10275601B2 (en) Flaw attribution and correlation
US8561036B1 (en) Software test case management
CN109271326B (zh) 云数据库的测试方法及其装置、设备和存储介质
JP2020510925A (ja) テストケースを利用してテストを遂行する方法および装置
US20160299835A1 (en) Method and system for providing delta code coverage information
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
US8745590B2 (en) Testing an application
US20200349055A1 (en) System and method for managing a code repository
CN106844730B (zh) 文件内容的显示方法及装置
KR20170052668A (ko) 데이터 구동 테스트 프레임워크
US20080276225A1 (en) Testing Executable Logic
CN104679500B (zh) 实体类自动生成实现方法及装置
CN109542496B (zh) 增量代码确定方法、装置及系统
CN108459949B (zh) 一种测试方法及终端
CN112069073A (zh) 测试用例的管理方法、终端和存储介质
CN106557419B (zh) 程序的测试方法及装置
CN109508203B (zh) 版本一致性确定方法、装置及系统
CN109558153B (zh) 版本一致性确定方法、装置及系统
CN113031995B (zh) 一种更新规则的方法、装置、存储介质以及电子设备
CN113656318A (zh) 软件版本测试方法、装置及计算机设备
TWI735511B (zh) 代碼提交方法和設備
CN115658551B (zh) 代码测试方法、存储介质、电子设备和装置
CN109491696A (zh) 增量源码确定方法、装置及系统
CN114595159B (zh) 测试数据生成方法、装置、设备及存储介质
Peleg et al. Symbolic automata for representing big code

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
GR01 Patent grant
GR01 Patent grant