缓存数据同步异步化的自动化测试方法和装置制造方法及图纸

技术编号:23343447 阅读:22 留言:0更新日期:2020-02-15 03:54
本发明专利技术公开了一种缓存数据同步异步化的自动化测试方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:查询待查询的数据库字段,以获得查询结果;根据所述查询结果,从缓存系统中获取待对比的数据;对比所述查询结果与所述待对比的数据,确定测试结果。该实施方式能够自动完成数据对比,省时省力,效率高;能够覆盖大批量数据且不需要人工介入,可靠性高,以最少的耗时发现最多异步化问题,保证线上项目的正常平稳运行,可以适应多种异步化测试场景。

Automatic test method and device for synchronous and asynchronous cache data

【技术实现步骤摘要】
缓存数据同步异步化的自动化测试方法和装置
本专利技术涉及计算机
,尤其涉及一种缓存数据同步异步化的自动化测试方法和装置。
技术介绍
在分布式系统中引入缓存可以提高性能,但是数据会存在两份,一份在数据库中,一份在缓存中。如果更新其中任何一份都会引起数据的不一致,数据的完整性就被破坏了。因此,同步缓存和数据库中的数据就非常重要。目前,缓存与数据库之间的数据同步机制为了减少耗时一般都是采用异步队列的方式同步,可采用kafka等消息中间件处理消息生产和消费。例如,应用实例(instance)采集的BinlogEvent(Binlog事件)会发布到Kafka的Topic(消息主题),实际的业务应用只需要订阅和消费对应的Topic,既可以实时的获得BinlogEvent,并可以在后续的业务逻辑中对获得的BinlogEvent进行处理,这种Binlog解析异步机制在使用的过程中容易产生一些先来后消费和丢数据等影响数据一致性的问题,目前都是采集人工查看对比的方式来测试这种异步化场景。其中,Binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL(结构化查询语言)语句信息。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:人工对比容易出现误差,可靠性低,而且,对比的数据有限,存在很大可能无法发现问题,测试的准确性较差,对于项目的质量来说有很大风险;如果想要达到准确性则必须覆盖大范围的数据,耗时耗力,效率低且成本高。
技术实现思路
有鉴于此,本专利技术实施例提供一种缓存数据同步异步化的自动化测试方法和装置,能够自动完成数据对比,省时省力,效率高;能够覆盖大批量数据且不需要人工介入,可靠性高,以最少的耗时发现最多异步化问题,保证线上项目的正常平稳运行,可以适应多种异步化测试场景。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种缓存数据同步异步化的自动化测试方法,包括:待查询的数据库字段,以获得查询结果;根据所述查询结果,从缓存系统中获取待对比的数据;对比所述查询结果与所述待对比的数据,确定测试结果。可选地,查询待查询的数据库字段,以获得查询结果包括:根据待查询的数据库字段名和待查询的数据库表名,获得数据库查询语句,执行所述数据库查询语句,获得查询结果。可选地,根据所述查询结果,从缓存系统中获取待对比的数据包括:按照预设的拼装规则,从所述查询结果中确定键;在缓存系统中,确定所述键对应的值,将所述值作为待对比的数据。可选地,查询待查询的数据库字段,以获得查询结果包括:查询待查询的数据库字段下的多个待查询项,以获得查询结果集;将所述查询结果集转换为列表对象;根据所述查询结果,从缓存系统中获取待对比的数据包括:根据所述列表对象,从缓存系统中获取多个待对比的数据。可选地,在查询待查询的数据库字段之前,所述方法还包括:根据可扩展标记语言文件,获取数据库连接信息和缓存系统连接信息;基于所述数据库连接信息,与数据库建立连接;基于所述缓存系统连接信息,与缓存系统建立连接。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种缓存数据同步异步化的自动化测试装置,包括:结果获取模块,用于查询待查询的数据库字段,以获得查询结果;待对比数据获取模块,用于根据所述查询结果,从缓存系统中获取待对比的数据;对比模块,用于对比所述查询结果与所述待对比的数据,确定测试结果。可选地,所述结果获取模块还用于:根据待查询的数据库字段名和待查询的数据库表名,获得数据库查询语句,执行所述数据库查询语句,获得查询结果。可选地,所述待对比数据获取模块还用于:按照预设的拼装规则,从所述查询结果中确定键;在缓存系统中,确定所述键对应的值,将所述值作为待对比的数据。可选地,所述结果获取模块还用于:查询待查询的数据库字段下的多个待查询项,以获得查询结果集;将所述查询结果集转换为列表对象;所述待对比数据获取模块还用于:根据所述列表对象,从缓存系统中获取多个待对比的数据。可选地,所述装置还包括连接模块,用于:根据可扩展标记语言文件,获取数据库连接信息和缓存系统连接信息;基于所述数据库连接信息,与数据库建立连接;基于所述缓存系统连接信息,与缓存系统建立连接。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的缓存数据同步异步化的自动化测试方法。为实现上述目的,根据本专利技术实施例的又一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的缓存数据同步异步化的自动化测试方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用查询待查询的数据库字段,以获得查询结果;根据所述查询结果,从缓存系统中获取待对比的数据;对比所述查询结果与所述待对比的数据,确定测试结果的技术手段,能够自动测试缓存数据同步异步化,省时省力,效率高;能够覆盖大批量数据且不需要人工介入,可靠性高,以最少的耗时发现最多异步化问题,保证线上项目的正常平稳运行,可以适应多种异步化测试场景。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的缓存数据同步异步化的自动化测试方法的主要流程的示意图;图2是根据本专利技术另一实施例的缓存数据同步异步化的自动化测试方法的主要流程的示意图;图3是根据本专利技术实施例的缓存数据同步异步化的自动化测试装置的主要模块的示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的缓存数据同步异步化的自动化测试方法的主要流程的示意图,如图1所示,该方法包括:步骤S101:查询待查询的数据库字段,以获得查询结果;步骤S102:根据所述查询结果,从缓存系统中获取待对比的数据;步骤S103:对比所述查询结果与所述待对比的数据,确定测试结果。在本专利技术实施例中,数据库可以是Mysql数据库。Mysql数据库是一种关系型数据库,其将数据保存在不同的表中,可靠性高,一般用于持久化存储。缓存系统可以是Redis数据库。Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value(键-值)数据库,其属于非关系型数本文档来自技高网...

【技术保护点】
1.一种缓存数据同步异步化的自动化测试方法,其特征在于,包括:/n查询待查询的数据库字段,以获得查询结果;/n根据所述查询结果,从缓存系统中获取待对比的数据;/n对比所述查询结果与所述待对比的数据,确定测试结果。/n

【技术特征摘要】
1.一种缓存数据同步异步化的自动化测试方法,其特征在于,包括:
查询待查询的数据库字段,以获得查询结果;
根据所述查询结果,从缓存系统中获取待对比的数据;
对比所述查询结果与所述待对比的数据,确定测试结果。


2.根据权利要求1所述的方法,其特征在于,查询待查询的数据库字段,以获得查询结果包括:
根据待查询的数据库字段名和待查询的数据库表名,获得数据库查询语句,执行所述数据库查询语句,获得查询结果。


3.根据权利要求1所述的方法,其特征在于,根据所述查询结果,从缓存系统中获取待对比的数据包括:
按照预设的拼装规则,从所述查询结果中确定键;
在缓存系统中,确定所述键对应的值,将所述值作为待对比的数据。


4.根据权利要求1所述的方法,其特征在于,查询待查询的数据库字段,以获得查询结果包括:
查询待查询的数据库字段下的多个待查询项,以获得查询结果集;将所述查询结果集转换为列表对象;
根据所述查询结果,从缓存系统中获取待对比的数据包括:根据所述列表对象,从缓存系统中获取多个待对比的数据。


5.根据权利要求1-4任意一项所述的方法,其特征在于,在查询待查询的数据库字段之前,所述方法还包括:
根据可扩展标记语言文件,获取数据库连接信息和缓存系统连接信息;
基于所述数据库连接信息,与数据库建立连接;
基于所述缓存系统连接信息,与缓存系统建立连接。


6.一种缓存数据同步异步化的自动化测试装置,其特征在于,包括:
结果获取模块,用于查询待查询的数据库字段,以获得查询结果;
待对比数据获取模块,用...

【专利技术属性】
技术研发人员:朱媛媛
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1