CN106445798A - 一种数据处理方法和设备 - Google Patents

一种数据处理方法和设备 Download PDF

Info

Publication number
CN106445798A
CN106445798A CN201510471769.6A CN201510471769A CN106445798A CN 106445798 A CN106445798 A CN 106445798A CN 201510471769 A CN201510471769 A CN 201510471769A CN 106445798 A CN106445798 A CN 106445798A
Authority
CN
China
Prior art keywords
data
memory device
buffer memory
request information
test equipment
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.)
Granted
Application number
CN201510471769.6A
Other languages
English (en)
Other versions
CN106445798B (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.)
Alibaba Singapore Holdings Pte Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510471769.6A priority Critical patent/CN106445798B/zh
Publication of CN106445798A publication Critical patent/CN106445798A/zh
Application granted granted Critical
Publication of CN106445798B publication Critical patent/CN106445798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种数据更新方法和设备,包括:缓存设备接收测试设备发送的数据请求消息;所述缓存设备判断自身是否存在所述数据请求消息对应的数据;如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。利用缓存设备存储的测试设备需要的数据,减少了测试设备与数据中心的交互,减少了对数据中心的数据进行清空和回滚的时间,提高了单元测试效率以及数据的稳定性。

Description

一种数据处理方法和设备
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法和设备。
背景技术
如图1所示,为现有技术的测试过程中,测试设备与数据中心进行数据交互的结构图,在测试过程中,测试设备需要依赖数据中心中的数据,但是由于数据中心的数据是共享的,所以数据中心里的数据往往不稳定,从而导致单元测试执行不稳定,失败率高,维护成本大。
目前常用的解决方案是在单元测试的每个方法执行前,清除可能会影响到单元测试结果的数据中心中的数据库表,并将事先准备好的数据导入到数据库中,以此屏蔽数据库原有数据对单元测试的影响。而在单元测试方法执行完成后,又为了避免破坏原有数据库数据,会把之前清除数据库表和导入准备好的数据都进行回滚(Rollback,指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为)。这样单元测试的稳定性会大大提高。
但是如此频繁的清表,导入数据,回滚会对数据库有非常大的压力。尤其是拥有大量数据的数据库,往往会采用分库分表策略,通过一系列的切分规则将数据分布到不同的数据库中或者数据库表中,将原先一张表的数据分散到几十甚至上百张分表,因此加长了清表和回滚的时间,进而导致单元测试运行变慢,例如,从国际网站业务来看,一个分库分表后的单元测试用例清表和回滚需要花费10秒钟的时间,而在运行业务代码上的时间不到1秒钟,一个有100个用例的模块的单元测试时间在20分钟左右。当单元测试的测试用例越多,其所用时间越长,而且,当多个单元测试并发执行时,会导致相同数据库表锁超时而导致单元测试获取不到数据而执行失败。
申请人在实现本申请的过程中,发明人发现现有技术中至少存在以下问题:
每个单元测试用例都需要清数据库表,然后再回滚,增加了单元测试时间,对于分库分表的系统存在几十甚至上百的表,清空和回滚会耗费非常多的时间和资源,增加了数据的不稳定时间,而且会造成数据库表锁超时,从而导致单测失败。
发明内容
本申请实施例提供了一种数据处理方法和设备,利用缓存设备存储的测试设备需要的数据,减少测试设备与数据中心的交互,进而减少对数据中心的数据进行清空和回滚的时间,提高单元测试效率以及数据的稳定性。
为此,本申请采用以下技术手段:
所述缓存设备接收测试设备发送的数据请求消息;
所述缓存设备判断自身是否存在所述数据请求消息对应的数据;
如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;
如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。
其中,所述缓存设备接收到所述数据中心查找到的所述数据请求消息对应的数据之后,所述方法还包括:
所述缓存设备在对应关系表中存储所述数据请求消息与对应的数据的对应关系
其中,所述缓存设备判断自身是否存在所述数据请求消息对应的数据,具体包括:
所述缓存设备判断所述对应关系表中是否存在所述数据请求消息对应的数据。
其中,所述缓存设备在对应关系表中存储所述数据请求消息与对应的数据的对应关系之后,所述方法还包括:
所述缓存设备为所述对应关系设置定时器,当达到设定时间时,所述缓存设备从所述对应关系表中删除所述对应关系。
本申请还提出了一种缓存设备,应用于包含有测试设备、缓存设备和数据中心的系统中,包括:
接收模块,用于接收测试设备发送的数据请求消息;
判断模块,用于判断所述缓存设备是否存在所述数据请求消息对应的数据;
发送模块,用于当所述判断模块判断结果为是时,将所述数据发送给所述测试设备;
所述发送模块,还用于当所述判断模块判断结果为否时,将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。
其中,所述缓存设备还包括:
存储模块,用于在对应关系表中存储所述数据请求消息与对应的数据的对应关系。
其中,所述判断模块,具体用于判断所述对应关系表中是否存在所述数据请求消息对应的数据。
其中,所述缓存设备还包括:
设置模块,用于为所述对应关系设置定时器,当达到设定时间时,所述缓存设备从所述对应关系表中删除所述对应关系。
与现有技术相比,本申请的上述实施例具有以下有益技术效果:
本申请中,缓存设备接收测试设备发送的数据请求消息;所述缓存设备判断自身是否存在所述数据请求消息对应的数据;如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。利用缓存设备存储的测试设备需要的数据,减少了测试设备与数据中心的交互,减少了对数据中心的数据进行清空和回滚的时间,提高了单元测试效率以及数据的稳定性。
附图说明
图1为现有技术中测试设备与数据中心进行数据交互的结构图;
图2为本申请实施例一提供的数据处理方法的流程示意图;
图3为本申请实施例一提供的测试设备、缓冲设备和数据中心数据交互的结构图;
图4为本申请实施例二提供的数据处理方法的流程示意图;
图5为本申请实施例三提供的缓冲设备的结构示意图。
具体实施方式
下面结合附图对本申请的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
本申请中利用缓存设备存储的测试设备需要的数据,减少了测试设备与数据中心的交互,减少了对数据中心的数据进行清空和回滚的时间,提高了单元测试效率以及数据的稳定性。
下面结合具体的实施例一对数据处理方法进行详细的说明。
如图2所示,为本申请提供的数据处理方法流程图,包括:
步骤S201、缓存设备接收测试设备发送的数据请求消息。
在具体的应用场景中,测试过程需要依赖数据中心的数据,测试设备需要从数据中心获取需要的数据,本申请是在测试设备与数据中心的通路上设置了一个中间的缓存设备,如图3所示,缓存设备也可以看成是数据中心建立的一个小的数据中心,用于存放数据中心与测试设备进行交互的数据。当测试设备需要数据进行测试时,会向数据中心发送数据请求消息,所述消息先到达缓存设备。
步骤S202、缓存设备判断自身是否存在所述数据请求消息对应的数据;
在具体的应用场景中,缓存设备预先在对应关系表中存储了数据请求消息与对应的数据的对应关系,当接收到数据请求消息后,判断所述对应关系表中是否存在接收到的数据请求消息对应的数据。
步骤S203、如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备。
如果判断结果为是,即所述缓存设备存储了所述数据请求消息对应的数据,则将所述数据发送给所述测试设备。
步骤S204、如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。
如果判断结果为否,即所述缓存设备没有存储所述数据请求消息对应的数据,所述缓存设备将所述数据请求消息转发给所述数据中心,数据中心通过清表、回滚等操作将查找到的所述数据请求消息对应的数据后,将所述数据返回给缓存设备,缓存设备将所述数据转发给测试设备,同时在对应关系表中存储所述数据请求消息与所述数据的对应关系。
需要注意的是,存储的对应关系中的数据请求消息,可以是数据中心返回的,数据中心接收到数据请求消息后,将该数据请求消息以及其对应的数据一起返回给缓存设备;也可以是缓存设备在接收到测试设备发送的数据请求消息后,如果未查询到对应的数据,那么将该数据请求消息转发给数据中心的同时,自身也保存了该数据请求消息。当所述缓存设备接收到数据中心返回的数据后,可以先将存储所述数据请求消息与数据的对应关系,也可以现将所述数据发送给测试设备后,再存储所述数据请求消息与数据的对应关系,存储所述数据请求消息与数据的对应关系与将所述数据发送给测试设备不存在先后顺序,也可以同时进行。
进一步的,当所述缓存设备在对应关系表中存储所述数据请求消息与对应的数据的对应关系之后,还可以为所述对应关系设置定时器,当达到设定时间时,所述缓存设备从所述对应关系表中删除所述对应关系。
在具体的应用场景中,随时测试设备发送的数据请求消息越来越多,缓存设备接收的来自数据中心的数据也会越来越多,会造成缓存设备可用内存越来越小,为了提高缓存设备的运行速度,当其每存储一个对应关系时,都为该对应关系设置一个定时器,当到设定时间后,就将该对应关系删除,一方面减少了缓存设备的内存,另一方面,当再次接受到数据中心返回的数据时,实现了对对应关系的更新。
与现有技术相比,本申请的上述实施例具有以下有益技术效果:
本申请中,缓存设备接收测试设备发送的数据请求消息;所述缓存设备判断自身是否存在所述数据请求消息对应的数据;如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。利用缓存设备存储的测试设备需要的数据,减少了测试设备与数据中心的交互,减少了对数据中心的数据进行清空和回滚的时间,提高了单元测试效率以及数据的稳定性。
下面结合具体的实施例二进一步阐述本申请,如图4所示,一种数据处理方法的流程图,包括:
步骤S401、缓存设备接收到数据请求消息1。
其中,为了方便叙述,以数据请求消息1表示缓存设备接收到的数据请求消息。
步骤S402、所述缓存设备判断自身是否存储了数据请求消息1以及其对应的数据的记录。
在具体的应用场景中,缓存设备会记录数据中心发送的数据以及数据请求消息的对应关系,例如,缓存设备当前存储的对应关系表中存储的对应关系如表1所示:
数据请求消息 数据
数据请求消息2 数据2
数据请求消息3 数据3
数据请求消息4 数据4
表1
由上表可知,缓存设备中没有存储数据请求消息1对应的数据的记录。需要注意的是,其中每条对应关系的记录都设置了各自的定时器,当到达设定时
间时,缓存设备从所述对应关系表中删除所述对应关系的记录。
步骤S403、当判断结果为否,所述缓存设备将所述数据请求消息1转发给数据中心,并接收数据中心返回的所述数据请求消息1对应的数据1后,将所述数据1转发给测试设备。
步骤S404、所述缓存设备在对应关系表中存储数据请求消息1与数据1的对应关系。
具体地,当缓存设备将数据1转发给测试设备时,同时要在关系表中存储数据请求消息1与数据1的对应关系。如表2所示,为更新后的对应关系表。
数据请求消息 数据
数据请求消息2 数据2
数据请求消息3 数据3
数据请求消息4 数据4
数据请求消息1 数据1
表2
当后续的缓存设备再次接收到数据请求消息1时,由于缓存设备存储了数据请求消息1对应的数据1,因此,缓存设备直接将数据1发送给测试设备。
与现有技术相比,本申请的上述实施例具有以下有益技术效果:
本申请中,缓存设备接收测试设备发送的数据请求消息;所述缓存设备判断自身是否存在所述数据请求消息对应的数据;如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。利用缓存设备存储的测试设备需要的数据,减少了测试设备与数据中心的交互,减少了对数据中心的数据进行清空和回滚的时间,提高了单元测试效率以及数据的稳定性。
如图5所示,为本申请的实施例三提供的缓存设备的结构图,包括:
接收模块51,用于接收测试设备发送的数据请求消息;
判断模块52,用于判断所述缓存设备是否存在所述数据请求消息对应的数据;
发送模块53,用于当所述判断模块判断结果为是时,将所述数据发送给所述测试设备;
所述发送模块53,还用于当所述判断模块判断结果为否时,将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。
进一步的,所述的缓存设备还包括:
存储模块,用于在对应关系表中存储所述数据请求消息与对应的数据的对应关系。
所述判断模块52,具体用于判断所述对应关系表中是否存在所述数据请求消息对应的数据。
进一步的,所述的缓存设备还包括:
设置模块,用于为所述对应关系设置定时器,当达到设定时间时,所述缓存设备从所述对应关系表中删除所述对应关系。
本申请中,缓存设备接收测试设备发送的数据请求消息;所述缓存设备判断自身是否存在所述数据请求消息对应的数据;如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。利用缓存设备存储的测试设备需要的数据,减少了测试设备与数据中心的交互,减少了对数据中心的数据进行清空和回滚的时间,提高了单元测试效率以及数据的稳定性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解,实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。

Claims (8)

1.一种数据处理方法,应用于包含有测试设备、缓存设备和数据中心的系统中,其特征在于,该方法包括:
所述缓存设备接收测试设备发送的数据请求消息;
所述缓存设备判断自身是否存在所述数据请求消息对应的数据;
如果判断结果为是,所述缓存设备将所述数据发送给所述测试设备;
如果判断结果为否,则所述缓存设备将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。
2.如权利要求1所述的方法,其特征在于,所述缓存设备接收到所述数据中心查找到的所述数据请求消息对应的数据之后,所述方法还包括:
所述缓存设备在对应关系表中存储所述数据请求消息与对应的数据的对应关系
3.如权利要求2所述的方法,其特征在于,所述缓存设备判断自身是否存在所述数据请求消息对应的数据,具体包括:
所述缓存设备判断所述对应关系表中是否存在所述数据请求消息对应的数据。
4.如权利要求2所述的方法,其特征在于,所述缓存设备在对应关系表中存储所述数据请求消息与对应的数据的对应关系之后,所述方法还包括:
所述缓存设备为所述对应关系设置定时器,当达到设定时间时,所述缓存设备从所述对应关系表中删除所述对应关系。
5.一种缓存设备,应用于包含有测试设备、缓存设备和数据中心的系统中,其特征在于,包括:
接收模块,用于接收测试设备发送的数据请求消息;
判断模块,用于判断所述缓存设备是否存在所述数据请求消息对应的数据;
发送模块,用于当所述判断模块判断结果为是时,将所述数据发送给所述测试设备;
所述发送模块,还用于当所述判断模块判断结果为否时,将所述数据请求消息转发给所述数据中心,以使所述缓存设备接收到所述数据中心返回的所述数据请求消息对应的数据之后,将所述数据发送给所述测试设备。
6.如权利要求5所述的缓存设备,其特征在于,还包括:
存储模块,用于在对应关系表中存储所述数据请求消息与对应的数据的对应关系。
7.如权利要求6所述的缓存设备,其特征在于,
所述判断模块,具体用于判断所述对应关系表中是否存在所述数据请求消息对应的数据。
8.如权利要求6所述的缓存设备,其特征在于,还包括:
设置模块,用于为所述对应关系设置定时器,当达到设定时间时,所述缓存设备从所述对应关系表中删除所述对应关系。
CN201510471769.6A 2015-08-04 2015-08-04 一种数据处理方法和设备 Active CN106445798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510471769.6A CN106445798B (zh) 2015-08-04 2015-08-04 一种数据处理方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510471769.6A CN106445798B (zh) 2015-08-04 2015-08-04 一种数据处理方法和设备

Publications (2)

Publication Number Publication Date
CN106445798A true CN106445798A (zh) 2017-02-22
CN106445798B CN106445798B (zh) 2019-11-08

Family

ID=59216638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510471769.6A Active CN106445798B (zh) 2015-08-04 2015-08-04 一种数据处理方法和设备

Country Status (1)

Country Link
CN (1) CN106445798B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521085A (zh) * 2011-12-30 2012-06-27 百视通网络电视技术发展有限责任公司 基于iptv的媒资数据的备份及还原方法和系统
CN103077099A (zh) * 2013-01-08 2013-05-01 中国科学院计算技术研究所 一种块级快照系统及基于该系统的用户读写方法
CN103378989A (zh) * 2012-04-11 2013-10-30 百度在线网络技术(北京)有限公司 一种获取性能测试数据的方法和装置
CN104427373A (zh) * 2013-09-06 2015-03-18 中兴通讯股份有限公司 一种基于iptv的数据处理方法及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521085A (zh) * 2011-12-30 2012-06-27 百视通网络电视技术发展有限责任公司 基于iptv的媒资数据的备份及还原方法和系统
CN103378989A (zh) * 2012-04-11 2013-10-30 百度在线网络技术(北京)有限公司 一种获取性能测试数据的方法和装置
CN103077099A (zh) * 2013-01-08 2013-05-01 中国科学院计算技术研究所 一种块级快照系统及基于该系统的用户读写方法
CN104427373A (zh) * 2013-09-06 2015-03-18 中兴通讯股份有限公司 一种基于iptv的数据处理方法及终端

Also Published As

Publication number Publication date
CN106445798B (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
CN104199957B (zh) 一种Redis通用代理的实现方法
CN103971687B (zh) 一种语音识别系统中的负载均衡实现方法和装置
CN109451032B (zh) 一种消息传递系统
CN110752943B (zh) 一种输电线路分布式故障诊断系统及方法
CN110119292A (zh) 系统运行参数查询方法、匹配方法、装置及节点设备
US20180189366A1 (en) Data processing method, device and system of query server
CN104301428A (zh) 一种数据同步方法及服务器
CN107870982A (zh) 数据处理方法、系统和计算机可读存储介质
CN104506893A (zh) 一种信息更新方法、云端服务器及crm服务器
CN105744494A (zh) 一种短信发送方法和装置
CN113641388A (zh) 云手机更新方法、相关装置及计算机程序产品
CN108337328A (zh) 一种数据交换系统、数据上传方法及数据下载方法
CN108089968A (zh) 一种宿主机监控虚拟机数据库状态的方法
CN106302625A (zh) 数据更新方法、装置及相关系统
CN111131367B (zh) 一种分布式接入服务处理方法及装置
CN110825538A (zh) 一种基于mq可自定义数据类型动态进行数据交互的方法
CN106445798A (zh) 一种数据处理方法和设备
CN101447997B (zh) 一种数据处理方法、服务器及数据处理系统
CN107948226A (zh) 一种许可管理方法和系统
CN103197920A (zh) 一种并发控制方法、控制节点及系统
CN105939203A (zh) 表项同步方法以及装置
CN106899504B (zh) 一种跨集群服务的路由方法以及装置
CN114019926A (zh) 多级联设备的通信方法、装置、设备及存储介质
CN108628901A (zh) 一种数据更新方法及装置
CN113419745A (zh) 应用实例编号管理方法、装置、电子设备及计算机可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240328

Address after: Singapore

Patentee after: Alibaba Singapore Holdings Ltd.

Country or region after: Singapore

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right