一种线上环境和测试环境的数据同步的方法及装置与流程

文档序号:13446378阅读:916来源:国知局
一种线上环境和测试环境的数据同步的方法及装置与流程

本发明涉及计算机领域,特别是涉及一种线上环境和测试环境的数据同步的方法及装置。



背景技术:

系统或软件项目在发版之前需要进行测试,这要求测试人员模拟线上环境搭建测试环境。而在线上环境运行出现问题时,运维人员要对线上环境的数据库作进行相应的维护和改动,但是有时会出现修改了数据库而没有提供相应的记录修改内容的修改文件的情况,这就使线上环境与测试人员预先搭建的测试环境出现了数据不同步的情况,而这种数据不同步会导致在测试环境测试通过的项目在线上环境运行时出现问题。

因此,如何实现测试环境和线上环境的数据的同步,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的是提供一种线上环境和测试环境的数据同步的方法及装置,用于实现测试环境和线上环境的数据的同步,从而避免因为数据不同步而产生的问题。

为解决上述技术问题,本发明提供一种线上环境和测试环境的数据同步的方法,包括:

建立线上环境和测试环境的连接;

获取所述线上环境的数据和所述测试环境的数据;

对比所述线上环境的数据和所述测试环境的数据;

当对比得到所述测试环境的数据与所述线上环境的数据的差异时,根据所述差异对所述测试环境的数据进行修改。

优选地,所述建立线上环境和测试环境的连接具体为:

启动所述测试环境,并通过所述线上环境的账号和密码访问所述线上环境。

优选地,所述建立线上环境和测试环境的连接具体为:

启动所述测试环境,并通过数据接口访问所述线上环境。

优选地,所述对比所述线上环境的数据和所述测试环境的数据具体为:

按数据库结构从大到小的方式,对比所述线上环境的数据和所述测试环境的数据。

优选地,所述根据所述差异对所述测试环境的数据进行修改具体包括:

按照预先设定的方式将所述差异生成包含待修改位置和修改内容的修改文件;

根据所述待修改位置查找到所述测试环境的相应位置后,按照所述修改内容进行修改。

优选地,所述修改文件应用的语句为结构化查询语句sql。

优选地,在对比得到所述差异之后,还包括:

将所述差异显示在显示屏上。

为解决上述技术问题,本发明还提供一种线上环境和测试环境的数据同步的装置,包括:

连接单元,用于建立线上环境和测试环境的连接;

对比单元,用于对比所述线上环境的数据和所述测试环境的数据;

同步单元,用于在所述对比单元对比得到所述线上环境的数据和所述测试环境的数据的差异时,根据所述差异对所述测试环境的数据进行修改。

优选地,还包括:

展示单元,用于展示所述差异。

本发明所提供的线上环境和测试环境的数据同步的方法及装置,通过建立线上环境和测试环境的连接,在获取到线上环境的数据和测试环境的数据后,对比线上环境的数据和测试环境的数据之间的差异,再根据差异对测试环境进行修改。通过根据线上环境的数据和测试环境的数据之间的差异对测试环境进行修改,就可以完成线上环境和测试环境的数据同步,从而使在测试环境中通过测试的项目可以在线上环境中顺利运行,避免因数据不同步而产生的其他问题。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的第一种线上环境和测试环境的数据同步的方法;

图2为本发明实施例提供的第二种线上环境和测试环境的数据同步的方法;

图3为本发明实施例提供的第三种线上环境和测试环境的数据同步的方法;

图4为本发明实施例提供的一种线上环境和测试环境的数据同步的装置的示意图;

图5为本发明实施例提供的另一种线上环境和测试环境的数据同步的装置的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的核心是提供一种线上环境和测试环境的数据同步的方法及装置,用于实现线上环境和测试环境的数据同步,从而使在测试环境中通过测试的项目可以在线上环境中顺利运行,避免因数据不同步而产生的其他问题。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的第一种线上环境和测试环境的数据同步的方法。如图1所示,线上环境和测试环境的数据同步的方法包括:

s10:建立线上环境和测试环境的连接。

s11:获取线上环境的数据和测试环境的数据。

s12:对比线上环境的数据和测试环境的数据。

s13:判断测试环境的数据与线上环境的数据是否有差异,如果是,则进入步骤s14;如果否,则结束。

s14:根据差异对测试环境的数据进行修改。

项目开发一般需要经过三个阶段:开发,测试和上线。这些阶段需要在不同的环境中进行。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,一般是克隆一份线上环境。在测试环境部署完成后,运维人员可能会根据项目在运行过程中产生的问题对线上环境进行修改,从而使线上环境和测试环境之间出现了差异。

在具体实施中,对于步骤s10来说,为了对比线上环境的数据和测试环境的数据,首先需要建立线上环境和测试环境的连接,方便数据的交互。由于测试环境一般在本地,所以只需启动即可对测试环境进行操作。而线上环境往往由运维人员管理,测试人员需要获得权限才可访问线上环境。在获得访问线上环境的权限后,可以进行读取或者拷贝。在获得访问线上环境的权限后,可以通过python语言或者php语言实现对比业务功能的开发。

对于步骤s11来说,启动测试环境即可获取测试环境的数据,而在获得线上环境的访问权限时才可获取线上环境的数据。可以通过读取或者拷贝获取线上环境的数据。

对于步骤s12来说,一般来说,测试环境是根据线上环境克隆而来的,所以没有必要将线上环境拷贝后替换测试环境。一种优选地实施方式是遍历线上环境的数据和测试环境的数据,按级别(数据库、数据表、记录、字段、索引等)、地址和名称对比线上环境的数据和测试环境的数据,即将相同级别、相同地址和相同名称的线上环境的数据和测试环境的数据进行对比。另外,如果通过程序设定使对比过程自动进行的话,需要事先在程序设定中记载需要对比的数据类型(如索引有较多类型),对于没有记载的数据类型,程序无法自动进行对比。

对于步骤s13和步骤s14来说,当对比到线上环境的数据和测试环境的数据的差异时,则停止步骤s12,执行步骤s14,否则继续执行步骤s12中的对比。如第一次对比到的差异为“测试环境缺失数据库1的表3”,则拷贝线上环境的数据库1的表3,放置在测试环境的数据库1中,并且要与线上环境中表3的位置相同。当修改完当前对比到的差异时,则执行步骤s12中的对比,同理,再次对比到差异时则继续执行步骤s14,直到对比完需要对比的所有数据(为了速度可以不用对比所有的数据,如确定未修改过的线上环境的数据,可以跳过)。

本发明实施例提供的线上环境和测试环境的数据同步的方法,通过建立线上环境和测试环境的连接,对比线上环境和测试环境之间的差异,再根据差异对测试环境进行修改。通过根据线上环境和测试环境之间的差异对测试环境进行修改,就可以完成线上环境和测试环境的数据同步,从而使在测试环境中通过测试的项目可以在线上环境中顺利运行,避免因数据不同步而产生的其他问题。

作为优选的实施方式,在本发明实施例提供的第一种线上环境和测试环境的数据同步的方法的基础上,步骤s10具体为:

启动测试环境,并通过线上环境的账号和密码访问线上环境。

测试人员想要获取线上环境的数据,需要先获取访问权限。通过向运维人员申请一个线上环境的账号和密码即可,因为无需对线上环境进行修改,所以只要该账号开通读取权限即可。获得了线上环境的账号和密码后,测试人员就可以通过该账号和密码访问线上环境,再启动测试环境,选择数据连接通道,就可以建立测试环境和线上环境的连接。

本发明实施例提供的线上环境和测试环境的数据同步的方法,通过启动测试环境,并通过线上环境的账号和密码访问线上环境,从而建立线上环境和测试环境的连接。通过线上环境的账号和密码访问线上环境,只需在操作页面上选择连接线上环境和测试环境即可,无需硬件连接,简单方便。

作为优选的实施方式,在本发明实施例提供的第一种线上环境和测试环境的数据同步的方法的基础上,步骤s10具体为:

启动测试环境,并通过数据接口访问线上环境。

可以理解的是,除了通过线上环境的账号和密码访问线上环境,还可以通过数据接口连接线上环境和测试环境。在没有线上环境的账号和密码的情况或者连接不上网络的情况下,可以通过数据接口访问线上环境。

本发明实施例提供的线上环境和测试环境的数据同步的方法,通过启动测试环境,并通过数据接口访问线上环境,从而建立线上环境和测试环境的连接。通过数据接口连接线上环境和测试环境,相较于通过账号和密码访问线上环境,再建立连接,更加稳定,不会受断网的影响。

作为优选的实施方式,在本发明实施例提供的第一种线上环境和测试环境的数据同步的方法的基础上,步骤s12具体为:

按数据库结构从大到小的方式,对比线上环境的数据和测试环境的数据。

数据库结构有数据库,数据表,记录,字段,索引等。其中,一个数据库由一个或一组数据表组成。每个数据库都以文件的形式存放在磁盘上,即对应于一个物理文件。数据表简称表,由一组数据记录组成,数据库中的数据是以表为单位进行组织的,一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息,表实际上是一个二维表格,例如,一个班所有学生的考试成绩,可以存放在一个表中,表中的每一行对应一个学生,这一行包括学生的学号,姓名及各门课程成绩。数据表中的每一行称为一个记录,它由若干个字段组成。字段也称域,表中的每一列称为一个字段。每个字段都有相应的描述信息,如数据类型、数据宽度等。索引是一种特殊类型的数据表,其中含有关键字段的值(由用户定义)和指向实际记录位置的指针,这些值和指针按照特定的顺序(也由用户定义)存储,从而可以以较快的速度查找到所需要的数据记录。

需要说明的是,按照数据库结构从大到小的方式,即先对比数据库,查看数据库中是否有缺失或多余的数据表;再依次对比该数据库下的数据表,查看每一行(记录)中是否有缺失或多余的字段;由于索引是一种特殊类型的数据表,因此也采用上述方式进行对比。

当然,除了按照数据库结构从大到小的方式进行对比,也可以按照数据库结构从小到大的方式进行对比,但是这样对比,当测试环境中的某数据库中的某数据表缺失时,需要遍历线上环境中该数据表的所有字段,降低了对比的速度。

本发明实施例提供的线上环境和测试环境的数据同步的方法,按数据库结构从大到小的方式,对比线上环境的数据和测试环境的数据,提供了一种规范的对比方式,并且相比于按数据库结构从小到大的方式,对比速度更快。

图2为本发明实施例提供的第二种线上环境和测试环境的数据同步的方法。如图2所示,在本发明实施例提供的第一种线上环境和测试环境的数据同步的方法的基础上,步骤s14具体包括:

s20:按照预先设定的方式将差异生成包含待修改位置和修改内容的修改文件。

s21:根据待修改位置查找到测试环境的相应位置后,按照修改内容进行修改。

在具体实施中,对于步骤s20来说,可以设定自动生成修改文件,也可以由测试人员手动建立修改文件并编写。修改文件的内容可以是“在数据库1中新增表3,表3在表2之后,表3的内容如下:……”。如果是自动生成修改文件,只需在修改文件中携带“数据库1中的表2之后”这样的待修改位置,与“补充表3的内容”这样的修改内容这两个关键信息即可,也可以携带生成时间,版本号等内容,视使用的程序语句和预先设定的格式而定。

对于步骤s21来说,如果是自动生成修改文件,也可以由程序设定自动发送至测试环境中的待修改位置。如果是由测试人员手动编写的修改文件,可以在修改文件中设定自动发送。

当然,也可以由测试人员在测试环境中手动进行修改,但是这样修改速度相对较慢。

本发明实施例提供的线上环境和测试环境的数据同步的方法,限定了步骤根据差异对测试环境的数据进行修改具体包括根据差异生成包括待修改地址和修改内容的修改文件,由待修改地址找到测试环境中的相应位置,根据修改内容进行修改。相比于测试人员根据差异在测试环境中手动修改,运行更规范,修改速度更快。

作为优选的实施方式,在本发明实施例提供的第二种线上环境和测试环境的数据同步的方法的基础上,修改文件应用的语句为结构化查询语句sql。

结构化查询语言(structuredquerylanguage)简称sql,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。在上述具体实施方式中自动生成修改文件的基础上,可以设置自动生成sql文件。

本发明实施例提供的线上环境和测试环境的数据同步的方法,应用结构化查询语句sql编写修改文件。sql是最重要的关系数据库操作语言,功能强大,应用广泛,使用sql编写修改文件,更易于操作,更加规范,方便测试人员对修改记录进行回顾。

图3为本发明实施例提供的第三种线上环境和测试环境的数据同步的方法。如图3所示,在本发明实施例提供的第一种线上环境和测试环境的数据同步的方法的基础上,在步骤s13中判断为是之后,还包括:

s30:将差异显示在显示屏上。

需要说明的是,由于步骤s12、s13和s14是循环进行的,每次在步骤s13中得到存在差异的判断,即可执行步骤s30中的显示差异,且步骤s30与步骤s14无顺序关系。

在具体实施中,为了方便测试人员检查测试环境的数据与线上环境的数据的差异所在,可以设置一个窗口用于显示差异,显示内容可以形如“数据库1的表3缺失”,还可以通过声音提示出现差异。测试人员还可以对显示出来的差异作进一步的操作,如保存,或者打印出来,可以通过差异的内容推导差异产生的原因,方便记录与研究学习。

本发明实施例提供的线上环境和测试环境的数据同步的方法,在对比出差异后,将差异显示在显示屏上,可以让测试人员简单直观地得到差异内容,方便对差异的记录和研究学习。

上文详细描述了线上环境和测试环境的数据同步的方法的各个具体实施例,在此基础上,本发明还公开了与上述方法对应的线上环境和测试环境的数据同步的装置。图4为本发明实施例提供的一种线上环境和测试环境的数据同步的装置的示意图。如图4所示,线上环境和测试环境的数据同步的装置400包括:

连接单元401,用于建立线上环境404和测试环境405的连接。

对比单元402,用于获取线上环境404和测试环境405的数据,并对比线上环境404的数据和测试环境405的数据。

同步单元403,用于在对比单元402对比得到线上环境404的数据和测试环境405的数据的差异时,根据差异对测试环境405的数据进行修改。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本发明实施例提供的线上环境和测试环境的数据同步的装置,通过建立线上环境和测试环境的连接,对比线上环境和测试环境之间的差异,再根据差异对测试环境进行修改。通过根据线上环境和测试环境之间的差异对测试环境进行修改,就可以完成线上环境和测试环境的数据同步,从而使在测试环境中通过测试的项目可以在线上环境中顺利运行,避免因数据不同步而产生的其他问题。

图5为本发明实施例提供的另一种线上环境和测试环境的数据同步的装置的示意图。如图5所示,作为优选的实施方式,在上述装置400的基础上,线上环境和测试环境的数据同步的装置还包括:

展示单元501,用于展示差异。

由于本装置的优选的实施方式与方法部分的第三种线上环境和测试环境的数据同步的方法相互对应,因此具体的实施方式的描述请参见本发明提供的第三种线上环境和测试环境的数据同步的方法,这里暂不赘述。

本发明实施例提供的线上环境和测试环境的数据同步的装置,在对比出差异后,将差异显示在显示屏上,可以让测试人员简单直观地得到差异内容,方便对差异的记录和研究学习。

以上对本发明所提供的线上环境和测试环境的数据同步的方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1