一种检测redis协议兼容程度的方法和系统与流程

文档序号:34660873发布日期:2023-07-05 05:43阅读:81来源:国知局

本发明涉及数据库,尤其是涉及一种检测redis协议兼容程度的方法和系统。


背景技术:

1、redis是开源的key-value存储系统,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。在实际的使用过程中由于性能方面的考虑,比如内存占用太大、集群实现等因素,会有定制版本和兼容redis协议的类redis组件(如pika)产生,这种情况下与原redis在功能方面就有差异了(尤其是与较新版本的redis相比),需要一种快速检测类redis组件功能兼容程度的方法和工具。


技术实现思路

1、有鉴于此,本发明提供一种检测redis协议兼容程度的方法和系统,通过自动执行redis协议的相关操作指令,对执行命令的结果进行解析,识别出哪些指令是不支持的,把最终指令识别结果进行统计并进行可视化输出。

2、第一方面,本发明提供一种检测redis协议兼容程度的方法,所述方法包括以下步骤:

3、s100,server遍历测试单元文件列表,选择空闲的client发送测试单元文件以执行测试该文件指令,所述执行测试能够多进程并行执行;

4、s200,空闲client接收到执行测试指令后向redis服务发送控制指令,并获取每条指令的执行结果;

5、s300,client对指令执行结果进行解析,分为执行成功和执行失败,执行失败的获取失败原因,把解析结果发送给server;

6、s400,server接收到client的信息进行整合处理;将执行完一个测试单元文件后的client标记为空闲;

7、s500,所有测试单元文件执行完后,server把测试结果进行统计,并把结果格式化输出到表格文件。

8、第二方面,本发明提供一种检测redis协议兼容程度的系统,所述系统包含server模块、client模块、类redis服务模块,结果文档模块;

9、所述server模块,用于启动测试服务server进程,以及遍历测试单元文件列表,选择空闲的client发送执行测试该文件指令。

10、所述client模块,用于接收到执行测试指令后,读取文件内容,根据传入参数与对应的redis服务进行连接,以测试单元为单位向redis服务发送控制指令,并获取每条指令的执行结果。

11、所述类redis服务模块,用于执行从client模块接收的控制指令,并向所述client模块反馈控制指令操作结果。

12、第三方面,本发明提供一种计算机存储介质,所述存储介质中存储有至少一可执行程序,所述可执行程序使处理器执行所述的检测redis协议兼容程度的方法对应的操作。

13、本发明采用client-server结构,多进程并行方式,对按功能特性创建测试单元文件进行读取并执行操作指令,达到灵活可扩展并快速检测类redis组件特性支持情况,相对现有技术而言,所具有的优点和效果如下:

14、1.能灵活的对已运行的redis服务进行测试,也可以每个client临时创建一个redis服务进行测试。

15、2.可以根据机器性能配置多进程并发测试。

16、3.新增测试特性扩展方便。

17、4.针对大量测试特性,多进程模式不会因为个别特性测试异常而造成异常退出。

18、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。



技术特征:

1.一种检测redis协议兼容程度的方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述步骤s100之前,还包括以下步骤:

3.根据权利要求2所述的方法,其特征在于,所述创建测试单元文件,包括,将每个待测试特性对应一个独立的文件,文件名以特性名命名,每个测试单元对应一组执行该特性的操作指令。

4.根据权利要求2所述的方法,其特征在于,所述配置参数,包括redis组件服务地址、测试客户端client进程数量;所述redis组件服务,包括外部已存在的运行中的服务、临时创建的服务。

5.根据权利要求2所述的方法,其特征在于,所述启动测试服务server进程,进一步包括,

6.一种检测redis协议兼容程度的系统,所述系统包含server模块、client模块、类redis服务模块,结果文档模块;

7.根据权利要求6所述的系统,其特征在于,所述启动测试服务server进程,进一步包括,

8.根据权利要求6所述的系统,其特征在于,所述client模块,还用对指令执行结果进行解析,分为执行成功和执行失败,执行失败的获取失败原因,把解析结果发送给server。

9.根据权利要求6所述的系统,其特征在于,所述server模块,还用于对接收到client的信息进行整合处理,指令执行成功和失败各自归类存储到对应结果列表,client执行完一个测试单元文件后标记为空闲;以及,

10.一种计算机存储介质,所述存储介质中存储有至少一可执行程序,所述可执行程序使处理器执行如权利要求1-5任一项所述的检测redis协议兼容程度的方法对应的操作。


技术总结
本发明提出一种检测redis协议兼容程度的方法和系统,通过自动执行redis协议的相关操作指令,对执行命令的结果进行解析,识别出哪些指令是不支持的,把最终指令识别结果进行统计并进行可视化输出。本发明能灵活的对已运行的redis服务进行测试,也可以每个client临时创建一个redis服务进行测试,可以根据机器性能配置多进程并发测试,新增测试特性扩展方便,针对大量测试特性,多进程模式不会因为个别特性测试异常而造成异常退出。

技术研发人员:孙龙飞
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!