CN113268391A - 用于数据回放的方法、装置、设备及存储介质 - Google Patents
用于数据回放的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113268391A CN113268391A CN202010092579.4A CN202010092579A CN113268391A CN 113268391 A CN113268391 A CN 113268391A CN 202010092579 A CN202010092579 A CN 202010092579A CN 113268391 A CN113268391 A CN 113268391A
- Authority
- CN
- China
- Prior art keywords
- request
- data
- record
- user
- operation requests
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012360 testing method Methods 0.000 claims description 11
- 244000035744 Hura crepitans Species 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000000586 desensitisation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种用于数据回放的方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:依次获取用户对外部系统的多个操作请求;按照先后顺序为用户的各操作请求分配请求标识;基于各操作请求的请求标识,依次记录用户的各操作请求的入口记录,入口记录包括操作请求对外部系统的访问数据;基于各操作请求的请求标识,依次记录与用户的各操作请求相关的至少一个操作记录,操作记录包括:外部系统针对操作请求的返回数据和/或异常数据、操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。该方法能够在数据回放时实现顺序回放。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种用于数据回放的方法、装置、设备及存储介质。
背景技术
数据的记录与回放是测试系统必需的基本功能。相关技术中,通过收集网络层的数据包进行回放,这种方式无法做到按用例场景进行回放;没有对回放场景进行模拟,无法保证数据的顺序回放。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种用于数据回放的方法、装置、设备及存储介质,能够在数据回放时实现顺序回放及回放环境完整地模拟用例收集场景。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种用于数据回放的方法,包括:依次获取用户对外部系统的多个操作请求;按照先后顺序为用户的各操作请求分配请求标识;基于各操作请求的请求标识,依次记录用户的各操作请求的入口记录,入口记录包括操作请求对外部系统的访问数据;基于各操作请求的请求标识,依次记录与用户的各操作请求相关的至少一个操作记录,操作记录包括:外部系统针对操作请求的返回数据和/或异常数据、操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
在本公开一个实施例中,按照先后顺序为用户的操作请求分配请求标识,包括:当分别获取了多个用户对外部系统的多个操作请求时,针对每个用户,按照先后顺序为用户的各操作请求分配请求标识。
在本公开一个实施例中,上述方法还包括:在一个调度周期,针对每个用户,根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放。
在本公开一个实施例中,根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放,包括:基于各操作请求的请求标识,生成各操作请求对应的待回放任务;在调度每个待回放任务时,分别执行如下操作:判断待回放任务对应的操作请求的操作记录是否均为完整的;当操作请求的操作记录均为完整时,基于操作请求的入口记录和至少一个操作记录进行数据回放;当操作请求的操作记录不是均为完整时,丢弃待回放任务。
在本公开一个实施例中,上述方法还包括:在一个调度周期,针对每个用户,基于顺序回放的各操作请求的入口记录和至少一个操作记录,生成MOCK对象数据,以对待测试系统进行测试。
在本公开一个实施例中,对待测试系统的数据回放被置于沙箱环境中执行。
在本公开一个实施例中,上述方法还包括:各用户的各操作请求中的入口记录和至少一个操作记录以脱敏方式记录。
根据本公开的另一个方面,提供一种用于数据回放的装置,包括:请求获取模块,用于依次获取用户对外部系统的多个操作请求;标识分配模块,用于按照先后顺序为用户的各操作请求分配请求标识;第一记录模块,用于基于各操作请求的请求标识,依次记录用户的各操作请求的入口记录,入口记录包括操作请求对外部系统的访问数据;第二记录模块,用于基于各操作请求的请求标识,依次记录与用户的各操作请求相关的至少一个操作记录,操作记录包括:外部系统针对操作请求的返回数据和/或异常数据、操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
根据本公开的再一个方面,提供一种计算机设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任一种方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种方法。
本公开实施例提供的用于数据回放的方法,依次获取用户对外部系统的多个操作请求,按照先后顺序为用户的各操作请求分配请求标识,并根据请求标识,依次记录各操作请求的入口记录和与其相关的操作记录。该方法一方面按照顺序为用户的各操作请求全局的请求标识,该请求标识可以用于顺序记录与操作请求相关的各操作记录,从而保证了在数据回放时可以按照先后顺序回放用户的多个操作,另一方面基于该请求标识,完整记录了与各操作请求相关的各种操作记录,确保可以完整地模拟用例收集场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开一个示例性实施例提供的计算机系统的结构示意图。
图2是根据一示例性实施方式示出的一种用于数据回放的方法的流程图。
图3是根据一示例示出的一种数据录制的示意图。
图4是根据一示例示出的一种数据传输的示意图。
图5是根据一示例性实施方式示出的另一种用于数据回放的方法的流程图。
图6是根据一示例示出的一种数据回放的示意图。
图7是根据一示例性实施方式示出的另一种用于数据回放的方法的流程图。
图8是根据一示例性实施方式示出的另一种用于数据回放的方法的流程图。
图9是根据一示例性实施方式示出的一种用于数据回放的装置的框图。
图10是根据一示例性实施方式示出的一种计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本公开的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
图1是本公开一个示例性实施例提供的计算机系统的结构示意图。该系统包括:若干个终端120和服务器集群140。
终端120可以是手机、游戏主机、平板电脑、电子书阅读器、智能眼镜、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、智能家居设备、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备等移动终端,或者,终端120也可以是个人计算机(Personal Computer,PC),比如膝上型便携计算机和台式计算机等等。
其中,终端120中可以安装有用于提供用于数据回放的方法的应用程序。
终端120与服务器集群140之间通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群140是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心。服务器集群140用于为提供用于数据回放的方法的应用程序提供后台服务。可选地,服务器集群140承担主要计算工作,终端120承担次要计算工作;或者,服务器集群140承担次要计算工作,终端120承担主要计算工作;或者,终端120和服务器集群140之间采用分布式计算架构进行协同计算。
在一些可选的实施例中,服务器集群140用于存储信息。
可选地,不同的终端120中安装的应用程序的客户端是相同的,或两个终端120上安装的应用程序的客户端是不同控制系统平台的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端或者全球广域网(World Wide Web,Web)客户端等。
本领域技术人员可以知晓,上述终端120的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本公开实施例对终端的数量和设备类型不加以限定。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面,将结合附图及实施例对本公开示例实施例中的用于数据回放的方法方法的各个步骤进行更详细的说明。
图2是根据一示例性实施方式示出的一种用于数据回放的方法的流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如如图1中的服务器集群140。
如图2所示,用于数据回放的方法10包括:
在步骤S102中,依次获取用户对外部系统的多个操作请求。
例如可以根据用户发起的操作请求的时间顺序依次获取用户对外部系统的多个操作请求。
例如可以从图1的终端120中的客户端获取操作请求。
用户的操作请求例如可以依次是“添加单品”、“编辑信息”、“下单”。
操作请求对外部系统的请求方式例如可以为HTTP(HyperText TransferProtocol,超文本传输协议)、RPC(Remote Procedure Call,远程过程调用)。
外部系统例如可以是管理库存、物品价格的系统。
在步骤S104中,按照先后顺序为用户的各操作请求分配请求标识。
如图3所示,在微服务架构环境下,用户的操作可能在多个系统之间完成,按照先后顺序为用户的每次操作分配请求标识(RequestID),该请求标识可以在各个服务之间进行传递,用于完整的记录用户的每次操作和操作过程中进行的系统交互。
例如可以按照先后顺序为用户的“添加单品”、“编辑信息”、“下单”操作请求分配请求标识,例如,“添加单品”请求操作的请求标识为1号,“编辑信息”请求操作的请求标识为2号,“下单”请求操作的请求标识为3号。
按照先后顺序为用户的各操作请求分配请求标识,可以在回放数据时按照先后顺序回放,保障同一用户的操作的时序性。
在一些实施例中,当分别获取了多个用户对外部系统的多个操作请求时,针对每个用户,按照先后顺序为用户的各操作请求分配请求标识。
例如A用户的操作请求依次为“添加单品”、“编辑信息”,B用户的操作请求依次为“修改地址”、“下单”,可以为A用户的“添加单品”操作请求分配请求标识A1号,为A用户的“编辑信息”操作请求分配请求标识A2号,可以为B用户的“修改地址”操作请求分配请求标识B1号,为B用户的“下单”操作请求分配请求标识B2号;也可以根据用户A和B的多个操作的时间顺序分配请求标识,例如,用户A和用户B的操作请求顺序依次为“添加单品”、“修改地址”、“编辑信息”、“下单”,可以为“添加单品”分配请求标识号1号,为“修改地址”分配请求标识号2号,为“编辑信息”分配请求标识号3号,为“下单”分配请求标识号4号,在回放时根据每个用户对应的操作进行回放。
在步骤S106中,基于各操作请求的请求标识,依次记录用户的各操作请求的入口记录。
其中,入口记录包括操作请求对外部系统的访问数据。
如图3所示,每次用户操作过程中,记录两类数据:入口记录和操作记录。其中,入口记录可以基于各操作请求的请求标识依次记录,入口记录例如可以包括完整的出入参数,用于数据回放的发起操作。
如图4所示,入口记录的数据传输方式可以采用同步传输方式,数据传输可以采用实时的传输方式,将入口记录实时发送给数据录制中心,由录制中心处理。
在步骤S108中,基于各操作请求的请求标识,依次记录与用户的各操作请求相关的至少一个操作记录。
其中,操作记录包括:外部系统针对操作请求的返回数据和/或异常数据、操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
如图3所示,每次用户操作过程中,记录两类数据:入口记录和操作记录,其中,一条入口记录可以对应多条操作记录。
操作记录例如可以包括外部系统针对该操作请求的返回数据,也可以包括外部系统对该操作请求的异常数据,也可以同时包括外部系统针对该操作请求的返回数据和异常数据;操作记录可以包括该操作请求对涉及的中间系统的访问数据及返回数据,也可以包括该操作请求对涉及的中间系统的访问数据及异常数据,也可以同时包括该操作请求对涉及的中间系统的访问数据及返回数据和异常数据。
中间系统例如可以是中间件,如消息队列(MQ,Message Queue)、监控、数据库(DB,Data Base)、远程字典服务(Redis,Remote Dictionary Server)。
异常数据例如可以是网络超时数据。
返回数据例如可以是运行时间数据。
如图4所示,操作记录的数据传输方式可以采用异步传输方式,操作数据数据量较大,一次操作请求的操作记录可能会在多个系统中,对操作记录的手机采用异步的方式进行,可以保证对系统不受影响的情况下完成数据采集与传输。
本公开实施例提供的用于数据回放的方法,依次获取用户对外部系统的多个操作请求,按照先后顺序为用户的各操作请求分配请求标识,并根据请求标识,依次记录各操作请求的入口记录和与其相关的操作记录。该方法一方面按照顺序为用户的各操作请求全局的请求标识,该请求标识可以用于顺序记录与操作请求相关的各操作记录,从而保证了在数据回放时可以按照先后顺序回放用户的多个操作,另一方面基于该请求标识,完整记录了与各操作请求相关的各种操作记录,确保可以完整地模拟用例收集场景。
图5是根据一示例性实施方式示出的另一种用于数据回放的方法的流程图。
图5所示的用于数据回放的方法20在图2所示的方法10的基础上还包括:
在步骤S202中,在一个调度周期,针对每个用户,根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放。
调度周期可以根据实际情况设置,例如可以将调度周期设置为2分钟或5分钟。
在一个调度周期中,针对每个用户,根据每个用户的各操作请求的请求标识的顺序,调度各操作请求,可以实现实时数据回放,在录制数据的同时进行数据的回放;还可以实现顺序数据回放,针对同一用户的操作进行顺序数据回放。
在一些实施例中,方法20还包括:在一个调度周期,针对每个用户,基于顺序回放的各操作请求的入口记录和至少一个操作记录,生成MOCK对象数据,以对待测试系统进行测试。
MOCK对象是真实对象在测试期间的代替品。
如图6所示,通过MOCK层将待回放系统和外部系统隔离,可以保证回放数据不对正式环境产生影响,破坏正常业务。当待回放系统需要与外部系统通信时,如RPC调用,Redis、数据库访问,通过收集的用户的操作记录进行MCOK,可以对正常情况和异常情况下的返回数据都进行完整的模拟,保障待回放系统不影响外部系统,同时也不受外部系统影响(如外部数据数据实时变化,如库存、价格等)。
在数据回放时,可以对待回放数据进行分片。分片是数据库分区的一种,可以将大型数据库分成更小、更快、更容易管理的部分。将分片后的数据放到不同的服务器上执行,可以提高数据库的性能。
在一些实施例中,对待测试系统的数据回放被置于沙箱环境中执行。
沙箱环境可以将待回放系统和外部环境隔离,保证待回放系统不影响外部系统,同时也不受外部系统影响。
在一些实施例中,各用户的各操作请求中的入口记录和至少一个操作记录以脱敏方式记录。
对入口记录和操作记录以脱敏方式记录,可以保证业务正常流转情况下防止敏感数据泄露。
数据脱敏可以对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,可以对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等。
用于数据回放的方法20与用于数据回放的方法10相同的步骤在此不再赘述。
图7是根据一示例性实施方式示出的另一种用于数据回放的方法的流程图。
与上述各用于数据回放的方法不同的是,图7所示的用于数据回放的方法进一步提供了如何根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放,也即提供了上述步骤S202的一种实施例。
参考图7,步骤S202包括:
在步骤S2022中,基于各操作请求的请求标识,生成各操作请求对应的待回放任务。
例如可以将记录的入口记录作为回放输入数据,对待回放系统发起RPC调用。
回放例如可以采用分布式任务调度方案,基于各操作请求的请求标识,生成各操作请求对应的待回放任务。
例如可以按用户进行路由,将同一用户的待回放任务路由到相同的机器进行执行,可以保证整个回放有序。
分布式的任务调度策略可以解决任务单点问题和积压问题。
在执行待回放任务之前可以对用例进行排序处理。
在调度每个待回放任务时,分别执行如下操作:
在步骤S2022中,判断待回放任务对应的操作请求的操作记录是否均为完整的。
由于用户的操作记录采用异步传输机制,因此验证待回放任务对应的操作请求的操作记录是否均为完整的。当操作记录均为完整时,执行步骤S2024。
在步骤S2024中,当操作请求的操作记录均为完整时,基于操作请求的入口记录和至少一个操作记录进行数据回放。
当待回放任务对应的操作请求的操作记录均为完整时,即该待回放任务对应的用户的操作请求已录制完成,可以基于该操作请求的入口记录和至少一个操作记录进行数据回放。
如图8所示,在步骤S2022之后,当操作记录不是均为完整时,执行步骤S2026。
在步骤S2026中,当操作请求的操作记录不是均为完整时,丢弃待回放任务。
当待回放任务对应的操作请求的操作记录不是均为完整时,即该待回放任务对应的用户的操作请求未录制完成,可以丢弃该待回放任务,在下一个调度周期后再判断待回放任务对应的操作请求的操作记录是否均为完整的。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图9是根据一示例性实施方式示出的一种用于数据回放的装置的框图。
如图9所示,用于数据回放的装置30包括:请求获取模块302、标识分配模块304、第一记录模块306及第二记录模块308。
其中,请求获取模块302用于依次获取用户对外部系统的多个操作请求。
标识分配模块304用于按照先后顺序为用户的各操作请求分配请求标识。
第一记录模块306用于基于各操作请求的请求标识,依次记录用户的各操作请求的入口记录,入口记录包括操作请求对外部系统的访问数据。
第二记录模块308用于基于各操作请求的请求标识,依次记录与用户的各操作请求相关的至少一个操作记录,操作记录包括:外部系统针对操作请求的返回数据和/或异常数据、操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
在一些实施例中,当分别获取了多个用户对外部系统的多个操作请求时,标识分配模块304包括:标识分配单元,用于针对每个用户,按照先后顺序为用户的各操作请求分配请求标识。
在一些实施例中,装置30还包括:数据回放模块,用于在一个调度周期,针对每个用户,根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放。
在一些实施例中,数据回放模块包括任务生成单元、记录判断单元、数据回放单元及任务丢弃单元。其中,任务生成单元用于基于各操作请求的请求标识,生成各操作请求对应的待回放任务;记录判断单元用于在调度每个待回放任务时,判断待回放任务对应的操作请求的操作记录是否均为完整的;数据回放单元用于当操作请求的操作记录均为完整时,基于操作请求的入口记录和至少一个操作记录进行数据回放;任务丢弃单元用于当操作请求的操作记录不是均为完整时,丢弃待回放任务。
在一些实施例中,装置30还包括:数据生成模块,用于在一个调度周期,针对每个用户,基于顺序回放的各操作请求的入口记录和至少一个操作记录,生成MOCK对象数据,以对待测试系统进行测试。
在一些实施例中,对待测试系统的数据回放被置于沙箱环境中执行。
在一些实施例中,各用户的各操作请求中的入口记录和至少一个操作记录以脱敏方式记录。
本公开实施例提供的用于数据回放的装置,依次获取用户对外部系统的多个操作请求,按照先后顺序为用户的各操作请求分配请求标识,并根据请求标识,依次记录各操作请求的入口记录和与其相关的操作记录。该装置一方面按照顺序为用户的各操作请求全局的请求标识,该请求标识可以用于顺序记录与操作请求相关的各操作记录,可以从而保证了在数据回放时可以按照先后顺序回放用户的多个操作,另一方面基于该请求标识,完整记录了与各操作请求相关的各种操作记录及,确保可以完整地模拟用例收集场景。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图10是根据一示例性实施方式示出的一种计算机设备的结构示意图。需要说明的是,图10示出的计算机设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
依次获取用户对外部系统的多个操作请求;
按照先后顺序为用户的各操作请求分配请求标识;
基于各操作请求的请求标识,依次记录用户的各操作请求的入口记录,入口记录包括操作请求对外部系统的访问数据;
基于各操作请求的请求标识,依次记录用户的各操作请求涉及的至少一个操作记录,操作记录包括:外部系统针对操作请求的返回数据和/或异常数据、操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种用于数据回放的方法,其特征在于,包括:
依次获取用户对外部系统的多个操作请求;
按照先后顺序为所述用户的各操作请求分配请求标识;
基于各操作请求的请求标识,依次记录所述用户的各操作请求的入口记录,所述入口记录包括所述操作请求对所述外部系统的访问数据;
基于各操作请求的请求标识,依次记录与所述用户的各操作请求相关的至少一个操作记录,所述操作记录包括:所述外部系统针对所述操作请求的返回数据和/或异常数据、所述操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
2.根据权利要求1所述的方法,其特征在于,按照先后顺序为所述用户的操作请求分配请求标识,包括:当分别获取了多个用户对外部系统的多个操作请求时,针对每个用户,按照先后顺序为所述用户的各操作请求分配所述请求标识。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
在一个调度周期,针对每个用户,根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放。
4.根据权利要求3所述的方法,其特征在于,根据各操作请求的请求标识的顺序,调度各操作请求,以基于各操作请求的入口记录和至少一个操作记录进行顺序的数据回放,包括:
基于各操作请求的请求标识,生成各操作请求对应的待回放任务;
在调度每个待回放任务时,分别执行如下操作:
判断所述待回放任务对应的操作请求的操作记录是否均为完整的;
当所述操作请求的操作记录均为完整时,基于所述操作请求的入口记录和至少一个操作记录进行数据回放;
当所述操作请求的操作记录不是均为完整时,丢弃所述待回放任务。
5.根据权利要求3所述的方法,其特征在于,还包括:
在一个调度周期,针对每个用户,基于顺序回放的各操作请求的入口记录和至少一个操作记录,生成MOCK对象数据,以对待测试系统进行测试。
6.根据权利要求5所述的方法,其特征在于,对所述待测试系统的数据回放被置于沙箱环境中执行。
7.根据权利要求3所述的方法,其特征在于,各用户的各操作请求中的入口记录和至少一个操作记录以脱敏方式记录。
8.一种用于数据回放的装置,其特征在于,包括:
请求获取模块,用于依次获取用户对外部系统的多个操作请求;
标识分配模块,用于按照先后顺序为所述用户的各操作请求分配请求标识;
第一记录模块,用于基于各操作请求的请求标识,依次记录所述用户的各操作请求的入口记录,所述入口记录包括所述操作请求对所述外部系统的访问数据;
第二记录模块,用于基于各操作请求的请求标识,依次记录与所述用户的各操作请求相关的至少一个操作记录,所述操作记录包括:所述外部系统针对所述操作请求的返回数据和/或异常数据、所述操作请求对涉及的中间系统的访问数据及返回数据和/或异常数据。
9.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010092579.4A CN113268391A (zh) | 2020-02-14 | 2020-02-14 | 用于数据回放的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010092579.4A CN113268391A (zh) | 2020-02-14 | 2020-02-14 | 用于数据回放的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268391A true CN113268391A (zh) | 2021-08-17 |
Family
ID=77227227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010092579.4A Pending CN113268391A (zh) | 2020-02-14 | 2020-02-14 | 用于数据回放的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268391A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031054A1 (en) * | 1999-12-15 | 2006-02-09 | Microsoft Corporation | Server recording and client playback of computer network characteristics |
CN105989048A (zh) * | 2015-02-05 | 2016-10-05 | 浙江大华技术股份有限公司 | 一种数据记录处理方法、设备及系统 |
CN107122289A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 系统回归测试的方法、装置及系统 |
US20180262404A1 (en) * | 2017-03-13 | 2018-09-13 | Microsoft Technology Licensing, Llc | Hypermedia-driven record and playback test framework |
CN109271325A (zh) * | 2018-10-26 | 2019-01-25 | 携程旅游网络技术(上海)有限公司 | 应用的测试方法、系统、电子设备和存储介质 |
CN109656806A (zh) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | 一种接口数据的回放测试方法及装置 |
CN110162441A (zh) * | 2019-04-16 | 2019-08-23 | 平安普惠企业管理有限公司 | 应用系统的集中监控方法及装置、电子设备、存储介质 |
-
2020
- 2020-02-14 CN CN202010092579.4A patent/CN113268391A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031054A1 (en) * | 1999-12-15 | 2006-02-09 | Microsoft Corporation | Server recording and client playback of computer network characteristics |
CN105989048A (zh) * | 2015-02-05 | 2016-10-05 | 浙江大华技术股份有限公司 | 一种数据记录处理方法、设备及系统 |
CN107122289A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 系统回归测试的方法、装置及系统 |
US20180262404A1 (en) * | 2017-03-13 | 2018-09-13 | Microsoft Technology Licensing, Llc | Hypermedia-driven record and playback test framework |
CN109271325A (zh) * | 2018-10-26 | 2019-01-25 | 携程旅游网络技术(上海)有限公司 | 应用的测试方法、系统、电子设备和存储介质 |
CN109656806A (zh) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | 一种接口数据的回放测试方法及装置 |
CN110162441A (zh) * | 2019-04-16 | 2019-08-23 | 平安普惠企业管理有限公司 | 应用系统的集中监控方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111786939B (zh) | 物联网管理平台测试的方法、装置和系统 | |
CN109766319B (zh) | 压缩任务处理方法、装置、存储介质及电子设备 | |
CN107527222A (zh) | 信息处理方法和装置及系统 | |
CN110427304A (zh) | 用于银行系统的运维方法、装置、电子设备以及介质 | |
CN112991027A (zh) | 基于区块链的招投标信息处理方法、装置、设备、及介质 | |
CN112381453A (zh) | 信息处理方法、装置、电子设备和介质 | |
CN112349428A (zh) | 家庭健康码查询方法和设备 | |
CN108959102B (zh) | 用于生成测试数据、测试待测试应用的方法和装置 | |
CN110245014B (zh) | 数据处理方法和装置 | |
CN109814915A (zh) | 基于lua的参数配置方法、装置、介质和电子设备 | |
CN110083501A (zh) | 接口调用计数方法和装置 | |
CN111709857A (zh) | 房源共享方法、装置和电子设备 | |
CN110730109A (zh) | 用于生成信息的方法和装置 | |
CN113268391A (zh) | 用于数据回放的方法、装置、设备及存储介质 | |
CN109714357A (zh) | 用于分配资源的方法和设备 | |
CN112379967B (zh) | 模拟器检测方法、装置、设备及介质 | |
CN115378806A (zh) | 流量分配方法、装置、计算机设备及存储介质 | |
CN115022328A (zh) | 服务器集群以及服务器集群的测试方法、装置和电子设备 | |
CN114723455A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN113495498A (zh) | 用于硬件设备的模拟方法、模拟器、设备和介质 | |
CN111598544A (zh) | 用于处理信息的方法和装置 | |
CN111831530A (zh) | 测试方法和装置 | |
CN111831531B (zh) | 测试方法和装置 | |
CN107885659A (zh) | 对客户端的请求模拟响应的方法及装置、设备 | |
CN108494982A (zh) | 用于生成信息的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |