自动化测试时客户端与服务端的数据库同步方法及系统.pdf

上传人:b*** 文档编号:1285619 上传时间:2018-04-12 格式:PDF 页数:9 大小:506.01KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610881105.1

申请日:

2016.10.09

公开号:

CN106502883A

公开日:

2017.03.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 11/36申请日:20161009|||公开

IPC分类号:

G06F11/36; G06F17/30

主分类号:

G06F11/36

申请人:

武汉斗鱼网络科技有限公司

发明人:

张磊

地址:

430000 湖北省武汉市东湖开发区软件园东路1号软件产业4.1期B1栋11楼

优先权:

专利代理机构:

武汉智权专利代理事务所(特殊普通合伙) 42225

代理人:

沈林华

PDF下载: PDF下载
内容摘要

本发明公开了一种自动化测试时客户端与服务端的数据库同步方法及系统,涉及应用程序的自动化测试领域。该方法的步骤为:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取请求;客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数据库版本的值时,客户端根据数据库下载地址,下载服务端上的数据库文件。本发明能够提高自动化测试的测试效率,降低测试成本,非常便于人们使用,适于推广。

权利要求书

1.一种自动化测试时客户端与服务端的数据库同步方法,其特征在于,该方法包括以
下步骤:
S1:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取
请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校验值和数据库大
小,转到S2;
S2:客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文
件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;
当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地的数
据库版本的值时,转到S3;
S3:客户端根据S2中解析得到的数据库下载地址,下载服务端上的数据库文件;判断下
载过程中是否出现异常,若是,则证明下载失败,否则证明下载成功。
2.如权利要求1所述的动化测试时客户端与服务端的数据库同步方法,其特征在于:S2
中若所述本地MD5校验码与所述MD5校验值不相同,则通知校验失败,直接结束;S2中若所述
解析得到的数据库版本的值≤客户端本地的数据库版本的值,则通知不需要更新本地数据
库,直接结束。
3.如权利要求1所述的动化测试时客户端与服务端的数据库同步方法,其特征在于:S2
中若客户端中没有本地数据库版本,则设置本地数据库版本的值为1。
4.如权利要求1至3任一项所述的动化测试时客户端与服务端的数据库同步方法,其特
征在于:S2中所述客户端通过json解析服务端返回的数据库信息,所述数据库信息还包括
服务端返回码和返回码携带消息。
5.如权利要求1至3任一项所述的动化测试时客户端与服务端的数据库同步方法,其特
征在于:S3的具体流程为:
S301:客户端根据S2中解析得到的数据库下载地址,开启新的线程并通过HTTP协议向
服务端发起数据库文件下载请求,客户端将服务端返回的下载数据全部写入客户端上的数
据库存储文件中;
S302:判断客户端写入服务端返回的下载文件的过程中,是否发生异常,若是,通知下
载失败,否则通知下载成功。
6.一种实现权利要求1至5任一项所述方法的自动化测试时客户端与服务端的数据库
同步系统,其特征在于:该系统包括位于客户端上的数据库信息获取模块、数据库版本检测
模块和本地数据库更新模块;
数据库信息获取模块用于:当应用程序在客户端上进行自动化测试时,向服务端发起
数据库信息获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校
验值和数据库大小;
数据库版本检测模块用于:获取并解析服务端返回的数据库信息,将解析得到的数据
库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成
本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>
客户端本地的数据库版本的值时,向本地数据库更新模块发送本地数据库更新信号;
本地数据库更新模块用于:收到本地数据库更新信号后,根据数据库版本检测模块解
析的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若是,
则证明下载失败,否则证明下载成功。
7.如权利要求6所述的动化测试时客户端与服务端的数据库同步系统,其特征在于:所
述数据库版本检测模块若发现本地MD5校验码与所述MD5校验值不相同,则通知校验失败,
中止工作;数据库版本检测模块若发现解析得到的数据库版本的值≤客户端本地的数据库
版本的值,则通知不需要更新本地数据库,中止工作。
8.如权利要求6所述的动化测试时客户端与服务端的数据库同步系统,其特征在于:所
述数据库版本检测模块若发现客户端中没有本地数据库版本,则设置本地数据库版本的值
为1。
9.如权利要求6至8任一项所述的动化测试时客户端与服务端的数据库同步系统,其特
征在于:所述数据库版本检测模块通过json解析服务端返回的数据库信息;所述数据库信
息还包括服务端返回码和返回码携带消息。
10.如权利要求6至8任一项所述的动化测试时客户端与服务端的数据库同步系统,其
特征在于:所述本地数据库更新模块的具体工作流程为:
根据所述数据库版本检测模块解析的数据库下载地址,开启新的线程并通过HTTP协议
向服务端发起数据库文件下载请求,将服务端返回的下载数据全部写入客户端上的数据库
存储文件中;
判断写入服务端返回的下载文件的过程中,是否发生异常,若是,通知下载失败,否则
通知下载成功。

说明书

自动化测试时客户端与服务端的数据库同步方法及系统

技术领域

本发明涉及应用程序的自动化测试领域,具体涉及一种自动化测试时客户端与服
务端的数据库同步方法及系统。

背景技术

在应用程序的自动化测试过程中,测试规则由服务端端定义,在客户端(例如手
机、平板电脑等)上按照相关规则进行自动化测试。每次进行自动化测试时,客户端均需要
从服务端上下载最新的数据库文件,下载完成之后需要校验整个数据库文件是否正确。

但是,客户端每次从服务端上载最新的数据库文件时,不仅所需时间较长,降低了
测试效率,而且所需的网络流量较大,提高了测试成本;与此同时,校验整个数据库文件是
否正确所需的时间也较长,而且占用的内存较大,进而使得测试效率更为低下。

发明内容

针对现有技术中存在的缺陷,本发明解决的技术问题为:在自动化测试时检测客
户端本地的数据库版本是否与服务端相同,通过字符串校验服务端返回的数据库信息。本
发明能够提高自动化测试的测试效率,降低测试成本,非常便于人们使用,适于推广。

为达到以上目的,本发明提供的自动化测试时客户端与服务端的数据库同步方
法,包括以下步骤:

S1:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息
获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、MD5校验值和数据
库大小,转到S2;

S2:客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据
库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验
码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的值>客户端本地
的数据库版本的值时,转到S3;

S3:客户端根据S2中解析得到的数据库下载地址,下载服务端上的数据库文件;判
断下载过程中是否出现异常,若是,则证明下载失败,否则证明下载成功。

本发明提供的实现上述方法的自动化测试时客户端与服务端的数据库同步系统,
包括位于客户端上的数据库信息获取模块、数据库版本检测模块和本地数据库更新模块;

数据库信息获取模块用于:当应用程序在客户端上进行自动化测试时,向服务端
发起数据库信息获取请求,数据库信息获包括数据库版本、数据库下载地址、数据库名称、
MD5校验值和数据库大小;

数据库版本检测模块用于:获取并解析服务端返回的数据库信息,将解析得到的
数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,
生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数据库版本的
值>客户端本地的数据库版本的值时,向本地数据库更新模块发送本地数据库更新信号;

本地数据库更新模块用于:收到本地数据库更新信号后,根据数据库版本检测模
块解析的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若
是,则证明下载失败,否则证明下载成功。

与现有技术相比,本发明的优点在于:

本发明在每次进行自动化测试时,会先让客户端从服务端上获取数据库信息,以
确定客户端上的数据库版本是否需要更新。与现有技术中每次下载最新的数据库文件相
比,本发明的数据库信息仅包括数据库的标示参数(版本、大小、MD5校验值等),其下载所需
的网络流量非常小,下载速度也较快,因此不仅降低了测试成本,也提高了测试效率。

与此同时,本发明校验服务端返回的数据库信息时,能够将数据库信息中的数据
库版本、数据库文件大小和数据库名称组成字符串,并以该字符串生成本地MD5校验码与数
据库信息中的MD5校验值进行比对。与现有技术中校验整个数据库文件相比,本发明以字符
串生成的本地MD5校验码较小,校验时所需的时间较少,占用的内存较小,即校验过程非常
快,进一步提高了测试效率。

附图说明

图1为本发明实施例中自动化测试时客户端与服务端的数据库同步方法的流程
图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例中的自动化测试时客户端与服务端的数据库同步方
法,包括以下步骤:

S1:当应用程序在客户端上进行自动化测试时,客户端调用应用接口地址
(http://27.17.8.110:8989/auto_server/db.php),向服务端发起数据库信息获取请求,
数据库信息获包括数据库版本和数据库下载地址,转到S2。

S2:客户端获取并解析服务端返回的数据库信息,客户端将返回的数据库版本与
本地的数据库版本进行比较,判断是否需要更新(下载)数据库,若是,转到S3,否则通知上
层应用不需要更新数据库后结束。

S2的具体流程为:

S201:客户端通过HTTP协议(HyperText Transfer Protocol,超文本传输协议),
获取服务端返回的数据库信息,转到S202。

数据库信息具体包括:


数据库信息的格式举例为:


S202:客户端通过JSON解析数据库信息,将解析结果存放于DBVersionInfo(数据
库版本)结构体中,转到S203。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于
ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言
家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想
的数据交换语言;易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输
速率)。

DBVersionInfo结构体的定义为:


S203:客户端将DBVersionInfo结构体中的version(数据库版本)、size(数据库文
件大小)和name(数据库名称),拼接形成新的字符串,对该字符串进行MD5(Message Digest
Algorithm 5(消息摘要算法第五版)校验后,生成本地MD5校验码,转到S204。

S204:判断本地MD5校验码与服务端返回的MD5校验值是否相同,若是,则证明校验
成功,转到S205,否则证明校验失败,通知上层应用校验失败后结束。

S205:取出DBVersionInfo结构体中的version字段的值a1,判断a1是否≤客户端
本地的数据库版本的值a2(a2不存在时,设置a2的默认值为-1),若是,则说明本地数据库版
本比服务端版本新或者两者版本相同,此时不需要更新本地数据库,通知上层应用不需要
更新数据库后结束;否则说明本地数据库版本比服务端的数据库版本低,此时需要更新本
地数据库,转到S3。

S3:客户端根据S2中解析的数据库下载地址,下载服务端上的数据库文件;判断下
载过程中是否出现异常,若是,则证明下载失败,将下载失败信息通知上层应用后结束;否
则证明下载成功,将下载成功信息通知上层应用后结束。

S3的具体流程为:

S301:客户端根据S202中解析的数据库下载地址,开启新的线程并通过HTTP协议
向服务端发起数据库文件下载请求,客户端将服务端返回的下载数据全部写入客户端上的
数据库存储文件中。

S302:判断客户端写入服务端返回的下载文件的过程中,是否发生异常,若是,则
证明下载失败,将下载失败信息通知上层应用后结束;否则证明下载成功,将下载成功信息
通知上层应用后结束。

本发明实施例提供的实现上述方法的自动化测试时客户端与服务端的数据库同
步系统,包括位于客户端上的数据库信息获取模块、数据库版本检测模块和本地数据库更
新模块。

数据库信息获取模块用于:当应用程序在客户端上进行自动化测试时,向服务端
发起数据库信息获取请求,数据库信息获包括服务端返回码、返回码携带消息、数据库版
本、数据库下载地址、数据库名称、MD5校验值和数据库大小。

数据库版本检测模块用于:获取并通过JSON解析服务端返回的数据库信息,将解
析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行
MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的数
据库版本的值>客户端本地的数据库版本的值时,向本地数据库更新模块发送本地数据库
更新信号。

数据库版本检测模块若发现本地MD5校验码与所述MD5校验值不相同,则通知校验
失败,中止工作;若发现解析得到的数据库版本的值≤客户端本地的数据库版本的值,则通
知不需要更新本地数据库,中止工作;若发现客户端中没有本地数据库版本,则设置本地数
据库版本的值为1。

本地数据库更新模块用于:收到本地数据库更新信号后,根据数据库版本检测模
块解析的数据库下载地址,下载服务端上的数据库文件;判断下载过程中是否出现异常,若
是,则证明下载失败,否则证明下载成功。

本地数据库更新模块的主要接口设计如下(Java代码为例):

Public interface IdownloadCallback{

Public void onError(int errorCode,String errorMsg);

Public void onSuccess(String dbPath);

}

本地数据库更新模块的具体工作流程为:

根据所述数据库版本检测模块解析的数据库下载地址,开启新的线程并通过HTTP
协议向服务端发起数据库文件下载请求,将服务端返回的下载数据全部写入客户端上的数
据库存储文件中;

判断写入服务端返回的下载文件的过程中,是否发生异常,若是,通知下载失败,
否则通知下载成功。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离
本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护
范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

自动化测试时客户端与服务端的数据库同步方法及系统.pdf_第1页
第1页 / 共9页
自动化测试时客户端与服务端的数据库同步方法及系统.pdf_第2页
第2页 / 共9页
自动化测试时客户端与服务端的数据库同步方法及系统.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《自动化测试时客户端与服务端的数据库同步方法及系统.pdf》由会员分享,可在线阅读,更多相关《自动化测试时客户端与服务端的数据库同步方法及系统.pdf(9页珍藏版)》请在专利查询网上搜索。

本发明公开了一种自动化测试时客户端与服务端的数据库同步方法及系统,涉及应用程序的自动化测试领域。该方法的步骤为:当应用程序在客户端上进行自动化测试时,客户端向服务端发起数据库信息获取请求;客户端获取并解析服务端返回的数据库信息,将解析得到的数据库版本、数据库文件大小和数据库名称,拼接形成字符串,对该字符串进行MD5校验后,生成本地MD5校验码;当本地MD5校验码与所述MD5校验值相同、且解析得到的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1