CN115203063A - 基于实时录制的生产流量重跑风险程序的回放方法及系统 - Google Patents
基于实时录制的生产流量重跑风险程序的回放方法及系统 Download PDFInfo
- Publication number
- CN115203063A CN115203063A CN202211125851.XA CN202211125851A CN115203063A CN 115203063 A CN115203063 A CN 115203063A CN 202211125851 A CN202211125851 A CN 202211125851A CN 115203063 A CN115203063 A CN 115203063A
- Authority
- CN
- China
- Prior art keywords
- playback
- application
- flow
- traffic
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种基于实时录制的生产流量重跑风险程序的回放方法,包括:根据预设的消费任务从消息组件中获取相应的流量;所述流量为第一版本应用在生产环境中产生的第一流量并存储于消息组件中;将消费的流量存储于在沙箱环境中的第一数据库中;当接收到回放指令时,从所述第一数据库中读取相应的流量发送给在沙箱环境下的第二版本应用以使所述第二版本应用获取到相应的流量进行回放,所述第二版本应用为所述第一版本应用的更新版本;分析第二版本应用在沙箱环境中回放流量所产生的回放结果;以及根据所述回放结果确定第二版本应用是否存在风险。本申请技术方案能够更加智能的生产流量重跑风险程序进行回放。
Description
技术领域
本申请涉及金融科技领域,尤其涉及一种基于实时录制的生产流量重跑风险程序的回放方法及基于实时录制的生产流量重跑风险程序的回放系统。
背景技术
风控系统是银行重要的核心系统,业务逻辑复杂、各种场景和分支很多对测试造成很大挑战,但传统的回放系统一般需要重跑代码程序,因此,风控系统特有的风险变量、规则无法回放。
发明内容
有鉴于此,实有必要提供一种更加智能的基于实时录制的生产流量重跑风险程序的回放方法及基于实时录制的生产流量重跑风险程序的回放系统。
第一方面,本申请实施例提供一种基于实时录制的生产流量重跑风险程序的回放方法,所述基于实时录制的生产流量重跑风险程序的回放方法包括下面步骤:
根据预设的消费任务从消息组件中获取相应的流量,所述预设的消费任务包括相应的应用信息和所需的流量参数;所述流量为第一版本应用在生产环境中产生的第一流量并存储于消息组件中;
将消费的流量存储于在沙箱环境中的第一数据库中;
当接收到回放指令时,从所述第一数据库中读取相应的流量发送给在沙箱环境下的第二版本应用以使所述第二版本应用获取到相应的流量进行回放,所述第二版本应用为所述第一版本应用的更新版本;
分析第二版本应用在沙箱环境中回放流量所产生的回放结果;以及
根据所述回放结果确定第二版本应用是否存在风险。
第二方面,本申请实施例提供一种基于实时录制的生产流量重跑风险程序的回放系统,所述基于实时录制的生产流量重跑风险程序的回放系统包括:
回放管理服务器,所述回放管理服务器包括设置模块、接收模块、通知模块和分析模块,所述设置模块用于响应用户相应的预设的消费规则的设置、所述接收模块用于接收回放指令、第一流量和第二流量,所述通知模块用于对指令进行发送以及分析模块用于对获取的所述回放结果进行分析第二版本应用是否存在风险;
消费者服务器,包括获取模块和存储模块,所述获取模块用于根据所述预设的消费规则从消息组件中获取相应的流量得到第一流量,所述存储模块用于将所述第一流量存储于在沙箱环境中的第一数据库中;
回放任务执行服务器,包括读取模块用于根据所述回放指令从所述第一数据库中读取相应的流量;
回放应用服务器,包括采用模块、运行模块和发送模块且回放应用服务器中部署有多个回放应用,每一回放应用通过采用模块接收回放任务执行服务器发送的相应的流量,并利用运行模块对根据所述流量进行回放得到第二流量,并将所述第二流量通过发送模块发送至回放管理服务器;
查询对比服务器,包括提取模块和对比模块,所述提取模块用于根据回放管理服务器从第一数据库中提取第一流量并发送至回放管理服务器以及利用提取模块提取所述回放管理服务器发送的第二流量,所述对比模块用于对所述第一流量和所述第二流量进行分析对比得到回放结果。
上述基于实时录制的生产流量重跑风险程序的回放方法及基于实时录制的生产流量重跑风险程序的回放系统,通过可以直接获取生产环境中产生的接口流量、中间过程数据,并将获取的生产流量用于在沙箱环境中对未正式投产的应用进行执行,从而可以帮助开发人员和业务人员用生产上的案例和数据对沙箱环境代码、变量、规则进行验证,提前发现问题,保障发版安全。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的流程图。
图2为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第二实施例流程图。
图3为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第一子流程图。
图4为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第二子流程图。
图5为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第三实施例流程图。
图6为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的流量转发示意图。
图7为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第四子流程图。
图8为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第四实施例流程图。
图9为本申请实施例提供的服务器的内部结构示意图。
图10为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放系统示意图。
图11为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请结合参看图1,为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的流程图。所述基于实时录制的生产流量重跑风险程序的回放方法具体包括如下步骤S102-S110。
步骤S102,根据预设的消费任务从消息组件400中获取相应的流量,所述预设的消费任务包括相应的应用信息和所需的流量参数;所述流量为第一版本应用300在生产环境中产生的第一流量并存储于消息组件400中。可以理解地,在开发阶段,开发人员对第一版本应用300注入了AOP代理拦截器,以获取所述第一版本应用300在生产环境中在各个调用事件中产生的事件参数、返回结果及过程数据。当第一版本应用300在生产环境中运行时,产生的流量会通过AOP拦截器实时的发送到消息组件400中去。当用户在用户操作界面上设置需要获取流量的规则,回放管理系统10将根据所述规则生成消费任务,并从消息组件400中获取相应的流量,所述获取流量的规则用户可根据需要自行定义,再此不做限制。
步骤S104,将消费的流量存储于在沙箱环境中的第一数据库100中。可以理解地,回放管理系统10从消息组件400中获取相应的流量后,将所述流量保存在沙箱环境中的第一数据库100中,以方便后续对所述流量进行提取,所述沙箱环境为网络编程虚拟执行环境。
步骤S106,当接收到回放指令时,从所述第一数据库100中读取相应的流量发送给在沙箱环境下的第二版本应用200以使所述第二版本应用200获取到相应的流量进行回放,所述第二版本应用为所述第一版本应用300的更新版本。可以理解地,用户将第二版本应用200部署在沙箱环境中,并在沙箱环境的用户操作界面上创建回放任务后,回放管理系统10开始响应用户的操作,接受所述回放任务,并根据所述回放任务从所述第一数据库100中获取相应的流量,并将所述流量发送至与回放任务对应的第二版本应用200的接口入口,以使所述第二版本应用200获取到所述流量,并根据所述流量中的入参进行回放,具体将在下文描述。
步骤S108,分析第二版本应用200在沙箱环境中回放流量所产生的回放结果。可以理解地,回放管理系统10获取步骤S106中第二版本应用200根据所述流量进行回放时产生的回放结果后,回放管理系统10将第二版本应用200产生的回放结果与从第一数据库100中提取出的流量进行对比,并在对比的过程中捕捉不一致的数据
步骤S110,根据所述回放结果确定第二版本应用200是否存在风险。可以理解地,回放管理系统10将步骤S108在对比过程中捕捉的不一致数据进行汇总,并将对比的数据及汇总的数据进行写入生成回放的风险报告。
上述实施例中,通过可以直接获取生产环境中产生的接口流量、中间过程数据,并将获取的生产流量用于在沙箱环境中对未正式投产的应用进行执行,从而可以帮助开发人员和业务人员用生产上的案例和数据对沙箱环境代码、变量、规则进行验证,提前发现问题,保障发版安全。
请结合参看图2、图10和图11,图2为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第二实施例流程图。图10为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放系统示意图。所述系统1包括回放管理服务器101,所述回放管理服务器101包括设置模块1011、接收模块1012、通知模块1013和分析模块1014,所述设置模块1011用于响应用户相应的预设的消费规则的设置、所述接收模块1012用于接收回放指令、第一流量和第二流量,所述通知模块1013用于对指令进行发送以及分析模块1014用于对获取的所述回放结果进行分析第二版本应用200是否存在风险;消费者服务器102,包括获取模块1021和存储模块1022,所述获取模块1021用于根据所述预设的消费规则从消息组件400中获取相应的流量得到第一流量,所述存储模块1022用于将所述第一流量存储于在沙箱环境中的第一数据库100中;回放任务执行服务器103,包括读取模块1031用于根据所述回放指令从所述第一数据库100中读取相应的流量;回放应用服务器104,包括采用模块1041、运行模块1042和发送模块1043且回放应用服务器104中部署有多个回放应用,每一回放应用通过采用模块1041接收回放任务执行服务器103发送的相应的流量,并利用运行模块1042对根据所述流量进行回放得到第二流量,并将所述第二流量通过发送模块发送至回放管理服务器101;查询对比服务器105,包括提取模块1051和对比模块1052,所述提取模块1051用于根据回放管理服务器101从第一数据库100中提取第一流量并发送至回放管理服务器101以及利用提取模块提取所述回放管理服务器101发送的第二流量,所述对比模块1052用于对所述第一流量和所述第二流量进行分析对比得到回放结果。图11为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放流程示意图。所述基于实时录制的生产流量重跑风险程序的回放方法还具体包括如下步骤S202-S220。
步骤S202,消费者服务器102从回放管理服务器101获取预设的消费规则得到消费任务,所述消费任务包括相应的应用信息和所需的流量参数。可以理解地,用户在沙箱环境的回放管理服务器101的前端设置需要获取流量的规则,回放管理服务器101将设置成功的获取流量的规则,实时的同步到沙箱环境的消费者服务器102器中,当所述消费者服务器102接收到回放管理服务器101同步的获取流量的规则后生成消费任务。
步骤S204,消费者服务器102根据所述消费任务从消息组件400中获取相应的流量得到第一流量,所述第一流量为第一版本应用200在生产环境中产生的流量并存储于消息组件400中。可以理解地,消费者服务器102根据步骤S202中的获取的消费任务从生产环境中的消息组件400中拉去相应的流量得到第一流量。
步骤S206,消费者服务器102将所述第一流量存储于在沙箱环境中的第一数据库100中。可以理解地,所述消费者服务器102将获取到的第一流量存储于沙箱环境中的第一数据库100中,以方便回放任务执行服务器103随时获取。
步骤S208,在回放管理服务器101响应用户回放指令,并将所述回放指令发送至回放任务执行服务器103。可以理解地,用户在沙箱环境中的回放管理服务器101的前端界面创建回放任务,回放管理服务器101获取到所述回放任务后,立即访问回放任务执行服务器103,并将所述回放任务发送至回放任务执行服务器103去操作。
步骤S210,查询对比服务器105根据回放管理服务器101上的预设的消费规则从第一数据库100中获取所述第一流量并发送至回放管理服务器。可以理解地,回放管理服务器101根据接收到的回放指令后,根据指令中的内容发请求让查询对比服务器105从第一数据库100中获取获取所述回放指令中所述的流量,即第一流量,当查询对比服务器105获取到所述第一流量后,先自行保存在自己的数据库中,在将所述第一流量发送至回放管理服务器101。
步骤S212,回放任务执行服务器103根据所述回放指令从回放管理服务器101中读取相应的流量发送给沙箱环境下的回放应用服务器104中的第二版本应用200以使所述第二版本应用200获取到相应的流量进行回放得到第二流量。可以理解地,回放任务执行服务器103获取到所述回放任务后,回放任务执行服务器103发请求给回放管理服务器101,以获取所述相关流量,回放管理服务器101接收到所述回放任务执行服务器103的请求后,将所述第一流量发送至回放任务执行服务器103回放任务执行服务器103将读取到的第一流量的入参发送至在沙箱环境中的回放应用服务器104中相对应第二版本应用200的接口入口处,所述第二版本通过接口获取到所述入参进行回放,并在回放过程中根据需要访问在沙箱环境中的查询对比服务器105中的数据库获取相应的数据,并最终输出运行结果,回放应用服务器104将第二版本获取的入参、回放过程中通过访问查询对比服务器105产生的过程数据及运行结果汇总成第二流量。
步骤S214,回放应用服务器104将所述第二流量发送至回放管理服务器101。可以理解地第二版本应用200根据所述入参进行运行,并产出所述运行结果,即第二流量,回放应用服务器104将所述运行结果发送至回放管理管理服务器。
步骤S216,回放管理回放管理系统101将所述第二流量发送至查询对比服务器105。可以理解地,回放管理服务器101接收到所述回放应用服务器104发送的所述第二流量后,直接将所述第二流量发送至查询对比服务器105进行比对。
步骤S218,查询对比服务器105对所述第一流量和所述第二流量进行分析对比得到回放结果。可以理解地,所述查询对比服务器105从回放管理服务器101获取到所述第二流量后,开始对第一流量和第二流量开始执行对比,对比当获取相同入参时所产生的过程数据及运行结果数据得到回放结果。
步骤S220,回放管理服务器101获取所述回放结果输出第二版本应用200是否存在风险。可以理解地,查询对比服务器105将回放结果发送至回放管理平台,回放管理平台直接将回放结果生成风险报告发送至回放管理服务器101的前端进行展示。
上述实施例中,通过分布式架构进行回放,从而可以更加的便于维护和扩展,且所述第一数据库采用MongoDB数据库。
请结合参看图3,其为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第一子流程图。步骤S106,具体包括如下步骤S302-S308。
步骤S302,当回放指令中包括所需回放的回放应用和所需回放的事件接口信息时。可以理解地,回放管理系统10对回放指令进行解析获取所述回放指令的数据包中的所需回放的回放应用和所需回放的事件接口信息。
步骤S304,根据所述回放应用和事件接口信息从第一数据库100中获取相对应应用中需要回放的事件的入参。可以理解地,回放管理系统10根据指令中的回放应用确定要从第一数据库100中获取的哪一个回放应用,回放管理系统10再通过事件接口信息可以确定所述回放应用要回放那个事件,回放管理系统10可从第一数据库100中根据所述接口信息进行获取相应的入参数据。举例来说,若指令中的回放应用为123应用,事件接口信息为登录接口,则回放管理系统10将从第一数据库100中获取回放应用字段中的123应用,并根据所述123应用查找相应登录事件的流量,并获取流量中的入参。
步骤S306,将所述事件的入参发送至第二版本应用200中相对应的事件接口。可以理解地,根据步骤S304中的例子,回放管理系统10将获取的登录事件的入参传入123应用中的登录接口,即第二版本应用200为123应用。
步骤S308,由第二版本应用200进行回放并输出相对应的回放数据。可以理解地,根据步骤S306,所述123应用的登录接口获取到所述入参,所述123应用将通过入参进行登录,并输出在登录过程中的请求及运行结果等得到所述回放数据。
上述实施例中,通过事件进行回放,可以对变量及规则进行检验,从而可以在减少资源浪费的前提下提前发现问题,保障发版安全。
请结合参看图4,其为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第二子流程图。步骤S106,还具体包括如下步骤S402-S408。
步骤S402,当回放指令中包括所需回放的回放应用和所需回放的时间区间时。可以理解地,回放管理系统10对回放指令进行解析获取所述回放指令的数据包中的所需回放的回放应用和所需回放的时间区间。
步骤S404,根据所述回放应用和所需回放的时间区间从第一数据库100中获取相对应应用中所需回放的时间区间内的入参。可以理解地,回放管理系统10根据指令中的回放应用确定要从第一数据库100中获取的哪一个回放应用,回放管理系统10再通过时间区间可以确定所需的所述回放应用的流量,回放管理系统10可从第一数据库100中根据时间区间去获取相应的回放应用的入参数据。举例来说,若指令中的回放应用为123应用,时间区间为今天上午9:00到上午12:00产出的所有流量,则回放管理系统10将从第一数据库100中获取回放应用字段中的123应用,并根据所述时间区间为今天上午9:00到上午12:00,从第一数据库100中获取时间区间内的相对应123应用的所有接口的流量中的入参。
步骤S406,将所述所需回放的时间区间内的入参发送至第二版本应用200中。可以理解地,根据步骤S404中的例子,回放管理系统10将获取的123应用中所有接口在上午9:00到上午12:00的所有入参,并将所述入参传入123应用中相对应的接口中。
步骤S408,由第二版本应用200进行回放并输出相对应的回放数据。可以理解地,根据步骤S406,所述123应用根据运行顺序依次将对每个接口按照运行顺序运行所述获取的上午9:00到上午12:00区间内的入参,使123应用可以根据所述入参顺利运行,并在运行过程中记录所述123应用的请求及运行结果得到回放数据。
上述实施例中,通过根据时间区间内的流量进行回放,从而可以根据定量的流量进行校验并确保整体的发版安全。
请结合参看图5和图6,图5为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第三实施例流程图。图6为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的流量转发示意图所述基于实时录制的生产流量重跑风险程序的回放方法还具体包括如下步骤S502-S504。
步骤S502,当需对所述第二流量进行分析时,回放应用服务器104将所述第二流量发送至所述代理回放应用服务器1,所述代理回放应用服务器1为在沙箱环境中第二版本应用相对应的回放应用服务器104上部署的代理。可以理解地,用户想要对第二版本应用200在回放过程中产生的流量进行大数据分析时,则用户可以将所述第二版本应用200产生的流量进行转发到相应的地址中,即,回放应用服务器104获取到所述第二流量后,将所述第二流量进行打包发送至回放应用服务器104上部署的代理(agent),让所述代理将所述第二流量进行转发至相应地址中,所述代理设置了回放流量发送和接收权限。
步骤S504,代理生产应用服务器2获取所述代理回放应用服务器1转发的第二流量,所述代理生产应用服务器2为在生产环境中第一版本应用相对应的服务器上部署的代理。可以理解地,若代理生产应用服务器2获取到所述代理回放应用服务器1转发的第二流量时,即说明产生当前第二流量的第二版本在代理回放应用服务器1上和代理生产应用服务器2上的白名单中,也就是说,不在所述白名单中的第二版本是无法进行转发的。
步骤S506,所述代理生产应用服务器2将所述第二流量发送至第三数据库600中。可以理解地,当代理生产应用服务器2获取到所述代理回放应用服务器1转发的第二流量后,代理生产应用服务器2根据转发的数据包中的目的地址将所述第二流量进行转发至目的地址,在本实施例中,所述目的地址为第三数据库600中,所述第三数据库600为第一版本应用在生产环境下可以访问的数据库。
上述实施例中,通对访问权限的设置,可以有效的用于网络隔离,更好的对数据进行把控,既可以在需要访问生产环境时,可以正常访问,也可以防止在沙箱环境中测试出的问题访问到生产环境中。
请结合参看图7,其为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第四子流程图。步骤S202之前,具体包括如下步骤S702-S706。
步骤S702,回放管理服务器101响应用户设置相应的预设的消费规则。可以理解地,用户在回放管理服务器101前端界面上根据需要可以设置想要获取生产流量的规则,当数据量比较大的应用,用户可以设置采样率的规则,用户也可以在所述前端界面上设置想要那个事件的数据、如何获取规则等。当用户设置完毕后点击提交后,则回放管理服务器101接收到所述用户设置的预设的消费规则。
步骤S704,回放管理服务器101将所述消费规则存储于沙箱环境中的第二数据库500中。可以理解地,回放管理服务器101获取到所述规则后,则直接将所述规则保存在用于专门存储配置好的规则的数据库中,即第二数据库500为专门存储已配置好的规则。
步骤S706,消费者服务器102从回放管理服务器101实时获取所述消费规则得到消费任务。可以理解地,消费者服务器102定期访问回放管理服务器101,当消费者服务器102访问回放管理服务器101时发现回放管理服务器101中的第二数据库500中的配置信息已更新,则消费者服务器102将发送请求给回放管理服务器101,请求同步所述第二数据库500中的配置信息,回放管理服务器101获取到所述请求信息后,将所述第二数据库500中的配置同步于消费者服务器102中,在本实施例中,所述第二数据库500采用MYSQL数据库。
上述实施例中,通过将配置的规则另存储于MYSQL数据库,而非将所述配置规则存储于MongoDB数据库中,从而可以减少成本,也可以更加方便的后期的对设置的规则进行清理和修改。
请结合参看图8,其为本申请实施例提供的基于实时录制的生产流量重跑风险程序的回放方法的第四实施例流程图。所述基于实时录制的生产流量重跑风险程序的回放方法还具体包括如下步骤S802-S806。
步骤S802,监测产生回放结果是否成功。可以理解地,回放管理系统10在所述第二版本应用200的接口获得入参运行时,回放管理系统10实时监测所述第二版本应用200运行状况,当第二版本应用200在运行的过程中未出现报错信息,并最终输出回放结果,则回放管理系统10判断当前第二版本应用200运行正常且成功产生回放结果;当第二版本应用200在运行的过程中出现报错信息时,回放管理系统10监测到报错信息,则直接提示报错,并对报错信息进行显示。
步骤S804,当监测产生回放结果成功时,则输出风险分析报告。可以理解地,当回放管理系统10监测到产生回放结果成功时,则开始对从第一数据库100中获取的相关入参、过程数据及返回结果与所述第二版本应用200根据所述相同入参在运行过程中产生的过程数据及返回结果进行一一比对,并将成功和不成功分别进行统计,并将统计后的结果进行输出生成风险分析报告。举例来说,用户想要回放,用户在调整银行卡额度的时候是否正常,则从第一数据库100中获取相应调整银行卡额度的的流量,并将所述调整额度的入参传入到第二版本应用200中进行运行,则第二版本应用200根据素数调整额度的入参进行运行产生回放结果,回放管理系统10将从第一数据库100中获取流量中的入参与回放结果中的入参进行对应,比对相同入参的情况下所产生的过程数据及返回结果是否一致,当有一个入参的过程数据或返回结果中任一一个字段中的值不一致则回放管理系统10判定当前这笔调整额度失败;当有一个入参的过程数据和返回结果中任一一个字段中的值都一致则回放管理系统10判定当前这笔调整额度成功,且当对比完成后,将上述一致和不一致的结果进行统计并生成风险分析报告。
步骤S806,当监测产生回放结果不成功时,则提示运行失败。可以理解地,回放管理系统10监测产生回放结果不成功时,则直接中止运行并提示运行失败。
上述实施例中,通过监测产生回放结果成功不成功,可以帮助用户快速的发现问题,保障发版安全。
请结合参看图9,其为本申请实施例提供的服务器的内部结构示意图。回放管理系统10包括计算机可读存储介质11、处理器12以及总线13。其中,计算机可读存储介质11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。计算机可读存储介质11在一些实施例中可以是回放管理系统10的内部存储单元,例如回放管理系统10的硬盘。计算机可读存储介质11在另一些实施例中也可以是的外部回放管理系统10存储设备,例如回放管理系统10上配备的插接式硬盘、智能存储卡(Smart Media Card, SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,计算机可读存储介质11还可以既包括回放管理系统10的内部存储单元也包括外部存储设备。计算机可读存储介质11不仅可以用于存储安装于回放管理系统10的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
总线13可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,回放管理系统10还可以包括显示组件14。显示组件14可以是发光二极管(Light Emitting Diode,LED)显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示组件14也可以适当的称为显示装置或显示单元,用于显示在回放管理系统10中处理的信息以及用于显示可视化的用户界面。
进一步地,回放管理系统10还可以包括通信组件15。通信组件15可选地可以包括有线通信组件和/或无线通信组件,如WI-FI通信组件、蓝牙通信组件等,通常用于在回放管理系统10与其他智能控制设备之间建立通信连接。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行计算机可读存储介质11中存储的程序代码或处理数据。具体地,处理器12执行处理程序以控制回放管理系统10实现基于实时录制的生产流量重跑风险程序的回放方法。
可以理解地,图9仅示出了具有组件11-15以及基于实时录制的生产流量重跑风险程序的回放方法的回放管理系统10,本领域技术人员可以理解的是,图9示出的结构并不构成对回放管理系统10的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘且本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上所列举的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (10)
1.一种基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,所述基于实时录制的生产流量重跑风险程序的回放方法包括:
根据预设的消费任务从消息组件中获取相应的流量,所述预设的消费任务包括相应的应用信息和所需的流量参数;所述流量为第一版本应用在生产环境中产生的第一流量并存储于消息组件中;
将消费的流量存储于在沙箱环境中的第一数据库中;
当接收到回放指令时,从所述第一数据库中读取相应的流量发送给在沙箱环境下的第二版本应用以使所述第二版本应用获取到相应的流量进行回放,所述第二版本应用为所述第一版本应用的更新版本;
分析第二版本应用在沙箱环境中回放流量所产生的回放结果;以及
根据所述回放结果确定第二版本应用是否存在风险。
2.如权利要求1所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,当接收到回放指令时,从所述第一数据库中读取相应的流量发送给在沙箱环境下的第二版本应用以使所述第二版本应用获取到相应的流量进行回放具体包括:
当回放指令中包括所需回放的回放应用和所需回放的事件接口信息时;
根据所述回放应用和事件接口信息从第一数据库中获取相对应应用中需要回放的事件的入参;
将所述事件的入参发送至第二版本应用中相对应的事件接口;
由第二版本应用进行回放并输出相对应的回放数据。
3.如权利要求1所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,回放指令中包括所需回放的回放应用和所需回放的时间区间,当接收到回放指令时,从所述第一数据库中读取相应的流量发送给在沙箱环境下的第二版本应用以使所述第二版本应用获取到相应的流量进行回放还具体包括:
根据所述回放应用和所需回放的时间区间从第一数据库中获取相对应应用中所需回放的时间区间内的入参;
将所述所需回放的时间区间内的入参发送至第二版本应用中;
由第二版本应用进行回放并输出相对应的回放数据。
4.如权利要求1所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,所述该方法还包括:
监测产生回放结果是否成功;
当监测产生回放结果成功时,则输出风险分析报告;
当监测产生回放结果不成功时,则提示运行失败。
5.一种基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,所述方法还包括:
消费者服务器从回放管理服务器获取预设的消费规则得到消费任务,所述消费任务包括相应的应用信息和所需的流量参数;
消费者服务器根据所述消费任务从消息组件中获取相应的流量得到第一流量,所述第一流量为第一版本应用在生产环境中产生的流量并存储于消息逐组件中;
消费者服务器将所述第一流量存储于在沙箱环境中的第一数据库中;
回放管理服务器响应用户回放指令,并将所述回放指令发送至回放任务执行服务器;
查询对比服务器根据回放管理服务器上的预设的消费规则从第一数据库中获取所述第一流量并发送至回放管理服务器;
回放任务执行服务器根据所述回放指令从回放管理服务器中读取相应的流量发送给沙箱环境下的回放应用服务器中的第二版本应用以使所述第二版本应用获取到相应的流量进行回放得到第二流量;
回放应用服务器将所述第二流量发送至回放管理服务器;
回放管理服务器将所述第二流量发送至查询对比服务器;
查询对比服务器对所述第一流量和所述第二流量进行分析对比得到回放结果;
回放管理服务器获取所述回放结果输出第二版本应用是否存在风险。
6.如权利要求5所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,所述方法还包括:
将所述第二版本应用在回放流量过程中产生的回放流量通过代理发送到第三数据库中进行分析,所述代理设置了回放流量发送和接收权限,所述第三数据库为第一版本应用在生产环境下可以访问的数据库。
7.如权利要求6所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,所述方法包括:
当需对所述第二流量进行分析时,回放应用服务器将所述第二流量发送至所述代理回放应用服务器,所述代理回放应用服务器为在沙箱环境中第二版本应用相对应的回放应用服务器上部署的代理;
代理生产应用服务器获取所述代理回放应用服务器转发的第二流量,所述代理生产应用服务器为在生产环境中第一版本应用相对应的服务器上部署的代理;以及
所述代理生产应用服务器将所述第二流量发送至第三数据库中。
8.如权利要求5所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,消费者服务器从回放管理服务器获取预设的消费规则得到消费任务之前具体包括:
回放管理服务器响应用户设置相应的预设的消费规则;
回放管理服务器将所述消费规则存储于沙箱环境中的第二数据库中;以及
消费者服务器从回放管理服务器实时获取所述消费规则得到消费任务。
9.如权利要求8所述的基于实时录制的生产流量重跑风险程序的回放方法,其特征在于,所述第一数据库与所述第二数据库为不同类型的数据库。
10.一种基于实时录制的生产流量重跑风险程序的回放系统,其特征在于,所述基于实时录制的生产流量重跑风险程序的回放系统具体包括:
回放管理服务器,所述回放管理服务器包括设置模块、接收模块、通知模块和分析模块,所述设置模块用于响应用户相应的预设的消费规则的设置、所述接收模块用于接收回放指令、第一流量和第二流量,所述通知模块用于对指令进行发送以及分析模块用于对获取的回放结果进行分析第二版本应用是否存在风险;
消费者服务器,包括获取模块和存储模块,用于根据所述预设的消费规则从消息组件中获取相应的流量得到第一流量并将所述第一流量存储于在沙箱环境中的第一数据库中;
回放任务执行服务器,包括读取模块用于根据所述回放指令从所述第一数据库中读取相应的流量;
回放应用服务器,包括采用模块、运行模块和发送模块且回放应用服务器中部署有多个回放应用,每一回放应用通过采用模块接收回放任务执行服务器发送的相应的流量,并利用运行模块对根据所述流量进行回放得到第二流量,并将所述第二流量通过发送模块发送至回放管理服务器;
查询对比服务器,包括提取模块和对比模块,所述提取模块用于根据回放管理服务器从第一数据库中提取第一流量并发送至回放管理服务器以及利用提取模块提取所述回放管理服务器发送的第二流量,所述对比模块用于对所述第一流量和所述第二流量进行分析对比得到回放结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125851.XA CN115203063B (zh) | 2022-09-16 | 2022-09-16 | 基于实时录制的生产流量重跑风险程序的回放方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125851.XA CN115203063B (zh) | 2022-09-16 | 2022-09-16 | 基于实时录制的生产流量重跑风险程序的回放方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115203063A true CN115203063A (zh) | 2022-10-18 |
CN115203063B CN115203063B (zh) | 2023-04-07 |
Family
ID=83572909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211125851.XA Active CN115203063B (zh) | 2022-09-16 | 2022-09-16 | 基于实时录制的生产流量重跑风险程序的回放方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203063B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988200A (zh) * | 2020-08-18 | 2020-11-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN112559361A (zh) * | 2020-12-22 | 2021-03-26 | 京东数字科技控股股份有限公司 | 流量回放方法、装置、设备及计算机可读介质 |
US11005910B1 (en) * | 2008-06-17 | 2021-05-11 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems, methods, and computer-readable storage media for extracting data from web applications |
CN113992443A (zh) * | 2021-12-28 | 2022-01-28 | 北京微步在线科技有限公司 | 一种云沙箱流量处理方法及装置 |
CN114189553A (zh) * | 2021-11-25 | 2022-03-15 | 天津车之家软件有限公司 | 一种流量回放方法、系统及计算设备 |
US11281768B1 (en) * | 2017-04-27 | 2022-03-22 | American Megatrends International, Llc | Firmware security vulnerability verification service |
CN114625645A (zh) * | 2022-03-11 | 2022-06-14 | 北京奇艺世纪科技有限公司 | 业务测试方法、装置、电子设备以及可读存储介质 |
-
2022
- 2022-09-16 CN CN202211125851.XA patent/CN115203063B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11005910B1 (en) * | 2008-06-17 | 2021-05-11 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems, methods, and computer-readable storage media for extracting data from web applications |
US11281768B1 (en) * | 2017-04-27 | 2022-03-22 | American Megatrends International, Llc | Firmware security vulnerability verification service |
CN111988200A (zh) * | 2020-08-18 | 2020-11-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN112559361A (zh) * | 2020-12-22 | 2021-03-26 | 京东数字科技控股股份有限公司 | 流量回放方法、装置、设备及计算机可读介质 |
CN114189553A (zh) * | 2021-11-25 | 2022-03-15 | 天津车之家软件有限公司 | 一种流量回放方法、系统及计算设备 |
CN113992443A (zh) * | 2021-12-28 | 2022-01-28 | 北京微步在线科技有限公司 | 一种云沙箱流量处理方法及装置 |
CN114625645A (zh) * | 2022-03-11 | 2022-06-14 | 北京奇艺世纪科技有限公司 | 业务测试方法、装置、电子设备以及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
M.ASOKAN 等: "Mobile Web Application Testing Methods and Tools: An analysis" * |
携程技术: "携程QA-流量回放系统揭秘" * |
Also Published As
Publication number | Publication date |
---|---|
CN115203063B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
WO2018120721A1 (zh) | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 | |
US8516499B2 (en) | Assistance in performing action responsive to detected event | |
CN111752799A (zh) | 一种业务链路跟踪方法、装置、设备及储存介质 | |
CN112491602B (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
CN105512044B (zh) | 用于关键字驱动测试的对象库的更新方法及系统 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN113315828B (zh) | 一种流量录制方法、装置及流量录制设备、存储介质 | |
CN113726566B (zh) | 一种服务网关装置 | |
CN112650688A (zh) | 自动化回归测试方法、关联设备以及计算机程序产品 | |
CN113704790A (zh) | 一种异常日志信息汇总方法及计算机设备 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN109284331B (zh) | 基于业务数据资源的制证信息获取方法、终端设备及介质 | |
CN114564947A (zh) | 轨道交通信号故障运维方法、装置及电子设备 | |
CN110717130A (zh) | 打点方法、装置、终端及存储介质 | |
CN115203063B (zh) | 基于实时录制的生产流量重跑风险程序的回放方法及系统 | |
CN114489995B (zh) | 一种分布式调度处理方法及系统 | |
CN112416875B (zh) | 日志管理方法、装置、计算机设备及存储介质 | |
CN114064510A (zh) | 功能测试方法、装置、电子设备和存储介质 | |
CN115328734A (zh) | 跨服务的日志处理方法、装置及服务器 | |
CN114143236A (zh) | 一种业务系统测试方法、装置、电子设备和可读存储介质 | |
CN113760856A (zh) | 数据库管理方法及装置、计算机可读存储介质、电子设备 | |
CN112288990A (zh) | 基于物联数据生成物联事件的方法、系统、介质及设备 | |
CN114650252B (zh) | 基于企业服务总线的路由方法、装置及计算机设备 | |
CN115904889A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |