CN113472687B - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN113472687B CN113472687B CN202110798744.2A CN202110798744A CN113472687B CN 113472687 B CN113472687 B CN 113472687B CN 202110798744 A CN202110798744 A CN 202110798744A CN 113472687 B CN113472687 B CN 113472687B
- Authority
- CN
- China
- Prior art keywords
- flow
- preset
- interface
- data
- traffic
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 22
- 230000010076 replication Effects 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 24
- 230000014509 gene expression Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 14
- 230000006978 adaptation Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 12
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003362 replicative effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Abstract
本申请公开了数据处理方法和装置,涉及计算机技术领域,一具体实施方式包括:接收流量分发请求,获取流量分发请求对应的流量数据;调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。从而实现安全且平稳的流量切换,在高并发的场景下最大程度地降低流量切换风险。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法和装置。
背景技术
目前,解决统计电商流量时,需要根据不同的规则切换到不同的适配接口,存在很大的流量切换风险,可能会影响原有的业务进行。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
在针对不同的流量切换入口进行流量的切换以进行电商流量的统计时,流量切换的风险大。
发明内容
有鉴于此,本申请实施例提供一种数据处理方法和装置,能够解决现有的在针对不同的流量切换入口进行流量的切换以进行电商流量的统计时,流量切换的风险大的问题。
为实现上述目的,根据本申请实施例的一个方面,提供了一种数据处理方法,包括:
接收流量分发请求,获取流量分发请求对应的流量数据;
调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;
调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;
响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。
可选地,回放复制的流量数据,包括:
根据复制的流量数据生成流量分发任务;
执行流量分发任务。
可选地,对流量数据进行复制,包括:
调用预设接口,将流量数据转换成预设接口对应的预设服务类型流量数据。
可选地,在调用预设接口之前,方法还包括:
调用预设服务类型框架,在流量复制工具中生成预设服务类型对应的预设接口。
可选地,执行流量分发任务,包括:
调用流量复制工具中的预设接口,将流量分发任务对应的流量数据引入至流量复制工具中,进而在预设的测试环境分发流量数据。
可选地,执行流量分发任务,包括:
响应于确定当前时间到达流量分发任务的执行时间,执行流量分发任务。
可选地,分发流量数据至预设节点,包括:
确定预设节点的接口参数,进而调用预设接口,以基于接口参数分发流量数据至预设节点。
可选地,分发流量数据至预设节点,包括:
获取预设节点对应的规则表达式,进而根据规则表达式分发流量数据至预设节点。
可选地,分发流量数据至预设节点,包括:
确定预设节点的数量;
根据预设节点的数量和预设指数次方数量,对预设节点进行分组,以得到节点分组;
确定流量数据的数量,进而根据流量数据的数量和预设节点的数量,确定分发至各节点分组的流量数据的数量并执行流量数据的分发;
响应于确定对目标节点分组的流量数据分发成功,执行目标节点分组对应的下一个节点分组的流量数据的分发;
响应于确定对目标节点分组的流量数据分发失败,重试或终止对流量数据的分发。
另外,本申请还提供了一种数据处理装置,包括:
接收单元,被配置成接收流量分发请求,获取流量分发请求对应的流量数据;
复制单元,被配置成调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;
回放单元,被配置成调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;
分发单元,被配置成响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。
可选地,回放单元进一步被配置成:
根据复制的流量数据生成流量分发任务;
执行流量分发任务。
可选地,复制单元进一步被配置成:
调用预设接口,将流量数据转换成预设接口对应的预设服务类型流量数据。
可选地,数据处理装置还包括预设接口生成单元,被配置成:
调用预设服务类型框架,在流量复制工具中生成预设服务类型对应的预设接口。
可选地,回放单元进一步被配置成:
调用流量复制工具中的预设接口,将流量分发任务对应的流量数据引入至流量复制工具中,进而在预设的测试环境分发流量数据。
可选地,回放单元进一步被配置成:
响应于确定当前时间到达流量分发任务的执行时间,执行流量分发任务。
可选地,分发单元进一步被配置成:
确定预设节点的接口参数,进而调用预设接口,以基于接口参数分发流量数据至预设节点。
可选地,分发单元进一步被配置成:
获取预设节点对应的规则表达式,进而根据规则表达式分发流量数据至预设节点。
可选地,分发单元进一步被配置成:
确定预设节点的数量;
根据预设节点的数量和预设指数次方数量,对预设节点进行分组,以得到节点分组;
确定流量数据的数量,进而根据流量数据的数量和预设节点的数量,确定分发至各节点分组的流量数据的数量并执行流量数据的分发;
响应于确定对目标节点分组的流量数据分发成功,执行目标节点分组对应的下一个节点分组的流量数据的分发;
响应于确定对目标节点分组的流量数据分发失败,重试或终止对流量数据的分发。
另外,本申请还提供了一种数据处理电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的数据处理方法。
另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的数据处理方法。
上述发明中的一个实施例具有如下优点或有益效果:本申请通过接收流量分发请求,获取流量分发请求对应的流量数据;调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。从而实现安全且平稳的流量切换,在高并发的场景下最大程度地降低流量切换风险。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本申请,不构成对本申请的不当限定。其中:
图1是根据本申请第一实施例的数据处理方法的主要流程的示意图;
图2是根据本申请第二实施例的数据处理方法的主要流程的示意图;
图3是根据本申请第三实施例的数据处理方法的应用场景示意图;
图4是根据本申请实施例的数据处理装置的主要单元的示意图;
图5是本申请实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请第一实施例的数据处理方法的主要流程的示意图,如图1所示,数据处理方法包括:
步骤S101,接收流量分发请求,获取流量分发请求对应的流量数据。
本实施例中,数据处理方法的执行主体(例如,可以是服务器)可以通过有线连接或者无线连接的方式接收流量分发请求。执行主体可以根据流量分发请求获取对应的流量数据。该流量数据可以是电商流量数据,本申请对流量数据的类型及来源不做具体限定。该电商流量数据可以是JSF流量(Jingdong Service Framework,JSF是高性能服务框架;它具有如下的特性:高效RPC调用,20线程场景下调用效率比SAF高30%以上,高可用的注册中心,完备的容灾特性,是一种服务),也可以是MQ流量(即基于消息队列的流量。例如可以是JMQ流量,为一个特定的消息中间件传递的流量)。流量数据,例如,用户买一件衣服,这里用户输入的购买参数(例如搜索关键字)可以包括:衣服的名称、衣服的尺寸、衣服的价格等,则用户输入的每一个购买参数均为一份流量数据。
步骤S102,调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制。
流量复制工具SDK(软件开发工具包)提供两种流量代理:第一种是基于RPC架构的JSF流量代理,另一种是基于消息队列的MQ流量代理。
执行主体响应于确定流量分发请求对应的流量数据为JSF流量,则执行主体可以调用JSF流量代理,首先在JSF服务上,通过流量复制软件开发工具包(SoftwareDevelopment Kit,SDK)注册原来的接口(该原来的接口指的是没进行流量切换之前的接收JSF流量的接口,也就是准备要被代替的接口,示例的,原来的接口可以是JSF-interface_old),注册得到的接口可以是JSF-interface-new。接口的调用方(例如可以是调用电商流量的用户)通过更换新别名的方式,将电商流量引入到SDK的Provider JSF-interfaceA-new新接口(该新接口是JSF服务中注册得到的接口在SDK中更换新别名后得到的接口)中,然后执行主体可以在SDK内部将引入到新接口中的电商流量引入到JSF服务中原来的接口(即JSF-interface_old)在SDK中更换新别名后得到的接口(Consumer JSF-interfaceA-old),不影响线上流量的走向,实现接口的流量代理,从而可以避免在高并发场景下,流量分发产生的线上问题,避免影响原有业务的进行,有效降低流量切换的风险。流量复制工具中的预设接口即可以是SDK的Provider JSF-interfaceA-new新接口。执行主体在将电商流量引入到该新接口后,可以调用该SDK的Provider JSF-interfaceA-new新接口,以在SDK内部将引入到SDK的Provider JSF-interfaceA-new新接口的流量进行复制。流量复制,可以是对流量进行记录,并且进行克隆一份,例如,多个用户进行下单操作,每个用户的下单记录就可以是流量数据,将多个用户的下单记录复制下来,就是对流量数据进行复制。
执行主体响应于确定流量分发请求对应的流量数据为MQ流量,则执行主体可以调用MQ流量代理,确定由消息队列(MQ)消费端确定的合适的流量切换点(因为进行流量分发,这里的合适指的是MQ消息不密集的时间,也就是消息队列比较短的时间点。MQ:指的是消息队列,也就是消息的集合体),然后调用SDK提供的流量代理JSF接口,从而基于该合适的流量切换点将MQ流量引入到SDK。默认情况下,MQ流量引入到SDK后,不做其他逻辑处理,直接放行,然后继续后续下发任务。具体地,执行主体首先可以接收MQ入参(入参指的是入参的每个字段,例如,用户买一件衣服的衣服名称、衣服尺寸、衣服价格等,每个入参就是一份流量,入参相当于流量的统一模板),然后调用SDK流量代理JSF接口,将接收到的入参对应的MQ流量引入到SDK中;然后,执行主体可以根据流量代理接口返回的标识,确定是放行还是中断操作。示例的,流量代理(之前的流量是通过MQ(消息队列)的方式来的,通过流量代理,可以复制流量,并且可以转化成JSF的流量进行后续操作)会提供一个统一的接口,当SDK调用流量代理的该统一的接口后,会接收到一个返回码(即流量代理接口返回的标识),当该返回码等于1时,代表的是放行(也就是接口适配),返回码是0时,代表的是中断操作(也就是接口不适配)。
步骤S103,调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识。
具体地,回放标识即预设接口返回的返回码,例如可以是0或1或其他数字或字母。示例的,当预设接口返回0时,可以表示预设接口不适配,不能放行流量分发;当预设接口返回1时,可以表示预设接口适配,可以放行流量分发。本申请对0或1所代表的预设接口是否适配不做具体限定,也就是说,0也可以表示预设接口适配,1也可以表示预设接口不适配。
在本实施例中,在调用预设接口之前,数据处理方法还包括:
调用预设服务类型框架(例如Jingdong Service Framework,JSF高性能服务框架),在流量复制工具SDK中生成预设服务类型(例如JSF服务类型)对应的预设接口(例如Provider JSF-interfaceA-new接口),该接口可以用于流量复制。
在本实施例中,回放复制的流量数据,包括:
根据复制的流量数据生成流量分发任务;执行流量分发任务。
本实施例中,当需要回放的流量数据超过一定阈值时,执行主体可以基于待回放的已复制的流量数据生成异步流量分发任务,为每个异步流量分发任务设定执行时间,或者设定执行条件,可以逐个执行流量分发任务,也可以分批执行流量分发任务,以实现高效率的流量分发,进而实现高效的数据处理。
在本实施例的一些可选的实现方式中,具体地,执行流量分发任务包括:
调用流量复制工具中的预设接口,将流量分发任务对应的流量数据引入至流量复制工具中,进而在预设的测试环境中分发流量数据。
本实施例中,通过在预设的测试环境中分发流量数据,可以确定出适配接口。具体地,适配接口指的是SDK中的新的接口,当在预设的测试环境中通过复制(即录制)回放的步骤验证完SDK中的新的接口(即Provider JSF-interfaceA-new接口)没问题时(即可以实现正常的流量分发),也就是该新的接口可以作为统一的流量分发(流量切换)接口进行安全的流量分发,则此时该新的接口就是适配的接口。
在本实施例的一些可选的实现方式中,具体地,执行流量分发任务包括:
执行主体响应于确定当前时间到达流量分发任务的执行时间,执行流量分发任务。
执行主体响应于确定当前执行条件符合预设的流量分发任务执行条件,则执行流量分发任务。具体地,预设的流量分发任务执行条件可以是剩余的流量分发任务的数量小于预设值等,本申请对预设的流量分发任务执行条件不做具体限定。
示例的,当获取基于RPC架构的JSF调用方式流量和MQ调用方式流量后,此时进入流量复制工具SDK,将流量引入到流量复制工具SDK里,通过流量复制工具的扩展录制器来复制流量(复制流量就是复制当前的流量,将流量引入至流量复制工具中进行流量复制),同时使用录制工具播报方式实现流量回放(即将之前复制(录制)好的流量,统一调用SDK中的预设接口,播放之前复制好的流量,进而通过复制的流量,将流量调用预设接口进行验证,以确定当前的接口能否接收流量)。具体地,代理的JSF的流量直接调用JSF接口,来进行判断是否适配接口。MQ代理的流量有两种回放方式,第一种是实时播放,接收到流量后直接调用SDK中的预设接口,来进行流量的分发,第二种是异步回放,先将接受到的流量存储到数据库中,再通过异步任务调用该预设接口,来进行流量分发。
步骤S104,响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。
预设标识可以是预设的、用于指示可以通过预设接口进行流量分发的标识,例如可以是1。当然也可以是其他数字,例如是0或2等,本申请对预设标识的具体表示方式不做限定。
示例的,当执行主体确定从预设接口接收到的回放标识为1时,代表“放行”流量分发,则执行主体可以分发流量数据至预设节点。预设节点可以是工作流中的当前节点的下一个审批节点或数据处理节点,本申请对预设节点的工作内容不做具体限定。由预设节点调用预设的数据处理规则表,进而对流量数据进行处理。
在本实施例的一些可选的实现方式中,分发流量数据至预设节点,确定预设节点的接口参数,进而调用预设接口,以基于接口参数分发流量数据至预设节点。
本实现方式中,预设节点的接口参数可以包括名称、尺寸、价格等参数,执行主体可以将流量数据中对应预设节点的接口参数(例如名称、尺寸、价格)的各参数分发至预设节点,以供处理。即执行主体可以将流量数据中对应接口参数的各数据分发至预设节点以供处理。
在本实施例的一些可选的实现方式中,分发流量数据至预设节点,包括:
确定预设节点的数量,比如有7个预设节点,即7个流量调用方(即流量接收方)。
根据预设节点的数量和预设指数次方数量,对预设节点进行分组,以得到节点分组,比如有700份待分发流量,预设指数次方数量可以为20、21、22,则执行主体可以将预设节点(也就是流量接收方或称流量调用方)分为3组,第一组有20个预设节点,第二组有21个预设节点,第三组有22个预设节点,由此得到三个节点分组。
确定流量数据的数量,例如有700份待分发流量,进而根据流量数据的数量和预设节点的数量,确定分发至各节点分组的流量数据的数量,例如执行主体可以将流量数据的数量平均分发至预设节点中,则第一组分发20×(700÷7)×100=100份待分发流量,第二组分发21×(700÷7)×100=200份待分发流量,第三组分发22×(700÷7)×100=400份待分发流量,并据此执行流量数据的分发,可以理解的是,本申请对每个节点分组分发的流量数量不做具体限定。
执行主体响应于确定对目标节点分组的流量数据分发成功,执行目标节点分组对应的下一个节点分组的流量数据的分发。目标节点分组可以是当前正在进行流量分发的分组,在当前分组流量全部分发成功后,才进行下一个分组的流量分发。
执行主体响应于确定对目标节点分组的流量数据分发失败,重试或终止对流量数据的分发。在当前分组流量分发存在失败时,重试流量分发操作,或者终止对当前分组的流量分发。
示例的,为了进一步降低流量分发(即流量切换)风险,执行主体可以以2的指数次方机器数量形式,来逐渐增大分发的流量。首先是n=0,调用1台机器来接收流量,如果预设接口测试没问题,接下来是n=1,如果预设接口测试仍没问题,再增加2台机器来接收流量,接下来就是指数n依次加1来增加接收流量机器的数量。由此可以通过一边验证预设接口一边加大分发流量的方式来最大程度低降低流量分发(即流量切换)风险。通过采取接收流量的机器数量指数增长的方式来进行流量分发比采取一次函数的方式进行流量分发的速度快。本申请中的流量切换可以理解为将流量通过SDK中的统一的预设接口分发至调用方。流量分发按照一定的规则分批次、分阶段进行切换,通过统一的流量分发接口(即预设接口),可以适配多种流量分发规则,方便统计和规范流量。
本实施例通过接收流量分发请求,获取流量分发请求对应的流量数据;调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。从而实现安全且平稳的流量切换,在高并发的场景下最大程度地降低流量切换风险。
图2是根据本申请第二实施例的数据处理方法的主要流程示意图,如图2所示,数据处理方法包括:
步骤S201,接收流量分发请求,获取流量分发请求对应的流量数据。
步骤S202,调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制。
步骤S201~步骤S202的原理与步骤S101~步骤S102的原理类似,此处不再赘述。
具体地,步骤S202还可以通过步骤S2021来实现:
步骤S2021,调用预设接口,将流量数据转换成预设接口对应的预设服务类型流量数据。
通过流量的复制(即录制)回放步骤后,当执行主体确定预设接口验证通过后(即该预设接口是适配的),可调用已配置的流量切换规则进行流量切换操作。流量切换时,执行主体可以将原始的待分发流量直接引入适配的预设接口。在确保流量切换安全的前提下,流量切换规则配置方式可以是通过规则的JSF预设接口,由流量调用方定义自己的调用方法名,该JSF预设接口的入参和流量切换之前的接口(即要被替代的接口)的入参数保持一致,将原始的待分发流量数据转换成该预设接口对应的预设服务类型流量数据,例如可以是将原始的待分发流量数据转换成JSF流量数据(例如,流量入口的流量数据可以本来就是JSF流量数据,则无需再进行JSF流量数据的转化;也可以是MQ流量数据,则执行主体可以根据预设的转化规则将流量入口的MQ流量数据转换成JSF流量数据,以供后续操作使用),这样只需流量复制工具SDK中的一个统一的JSF预设接口(例如Provider JSF-interfaceA-new接口)即可完成不同调用方式(例如JSF请求、MQ消息请求等)的流量切换。
本实施例可以实现对项目流量统一收口,使得流量切换安全且平稳,在高并发的场景下最大程度地降低流量切换风险。
步骤S203,调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识。
步骤S204,响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。
步骤S203~步骤S204的原理与步骤S103~步骤S104的原理类似,此处不再赘述。
具体地,步骤S204还可以通过步骤S2041来实现:
步骤S2041,获取预设节点对应的规则表达式,进而根据规则表达式分发流量数据至预设节点。
示例的,预设节点(例如可以是使用方(即流量调用方))无需提供规则接口,只需在流量复制工具SDK中配置规则表达式。执行主体可以获取SDK中预先配置的规则表达式,然后根据规则表达式中的分发规则分发流量数据至预设节点。示例的,规则表达式为JSONPath格式,解析对象为代理接口receive方法String入参。当入参字符串为{"warehouseId":1}时,则流量切换规则表达式可配置为:$.warehouseId==。从而实现安全且平稳的流量切换,在高并发的场景下最大程度地降低流量切换风险。
图3是根据本申请第三实施例的数据处理方法的应用场景示意图。本申请的数据处理方法,可以应用于高并发场景下进行流量切换的情形。如图3所示,服务器303接收流量分发请求301,获取流量分发请求301对应的流量数据302。服务器303调用流量复制工具304,以基于流量复制工具304中的预设接口305,对流量数据302进行复制。服务器303调用预设接口305,回放复制的流量数据306,进而接收预设接口305返回的回放标识307。服务器303响应于确定回放标识307为预设标识,分发流量数据至预设节点308,以使预设节点308对流量数据302进行处理。
本申请实施例,首先通过一种特殊的代理流量方式,分别代理MQ和JSF流量,然后通过录制回放工具SDK,对流量进行录制,验证,回放等操作,最后通过配置规则表达式进行流量切换,为了进一步降低流量切换风险,在流量切换过程中,流量切换的流量大小以机器维度(示例的,流量的大小以机器的数量来衡量,当前五台机器代表的就是五倍的一台机器的流量)来实现流量分发的2的指数次方增长,采取了依次验证,依次增大流量的计划,进一步降低了流量切换的风险。
图4是根据本申请实施例的数据处理装置的主要模块的示意图。如图4所示,数据处理装置包括接收单元401、复制单元402、回放单元403和分发单元404。
接收单元401,被配置成接收流量分发请求,获取流量分发请求对应的流量数据。
复制单元402,被配置成调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制。
回放单元403,被配置成调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识。
分发单元403,被配置成响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。
在一些实施例中,回放单元403进一步被配置成:根据复制的流量数据生成流量分发任务;执行流量分发任务。
在一些实施例中,复制单元402进一步被配置成:调用预设接口,将流量数据转换成预设接口对应的预设服务类型流量数据。
在一些实施例中,数据处理装置还包括预设接口生成单元,被配置成:调用预设服务类型框架,在流量复制工具中生成预设服务类型对应的预设接口。
在一些实施例中,回放单元403进一步被配置成:调用流量复制工具中的预设接口,将流量分发任务对应的流量数据引入至流量复制工具中,进而在预设的测试环境分发流量数据。
在一些实施例中,回放单元403进一步被配置成:响应于确定当前时间到达流量分发任务的执行时间,执行流量分发任务。
在一些实施例中,分发单元404进一步被配置成:确定预设节点的接口参数,进而调用预设接口,以基于接口参数分发流量数据至预设节点。
在一些实施例中,分发单元404进一步被配置成:获取预设节点对应的规则表达式,进而根据规则表达式分发流量数据至预设节点。
在一些实施例中,分发单元404进一步被配置成:确定预设节点的数量;根据预设节点的数量和预设指数次方数量,对预设节点进行分组,以得到节点分组;确定流量数据的数量,进而根据流量数据的数量和预设节点的数量,确定分发至各节点分组的流量数据的数量并执行流量数据的分发;响应于确定对目标节点分组的流量数据分发成功,执行目标节点分组对应的下一个节点分组的流量数据的分发;响应于确定对目标节点分组的流量数据分发失败,重试或终止对流量数据的分发。
需要说明的是,在本申请数据处理方法和数据处理装置在具体实施内容上具有相应关系,故重复内容不再说明。
图5示出了可以应用本申请实施例的数据处理方法或数据处理装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有数据处理屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所提交的流量分发请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以接收流量分发请求,获取流量分发请求对应的流量数据;调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。从而实现安全且平稳的流量切换,在高并发的场景下最大程度地降低流量切换风险。
需要说明的是,本申请实施例所提供的数据处理方法一般由服务器505执行,相应地,数据处理装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶征信授权查询处理器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、复制单元、回放单元和分发单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备接收流量分发请求,获取流量分发请求对应的流量数据;调用流量复制工具,以基于流量复制工具中的预设接口,对流量数据进行复制;调用预设接口,回放复制的流量数据,进而接收预设接口返回的回放标识;响应于确定回放标识为预设标识,分发流量数据至预设节点,以使预设节点对流量数据进行处理。
根据本申请实施例的技术方案,实现安全且平稳的流量切换,在高并发的场景下最大程度地降低流量切换风险。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
接收流量分发请求,获取所述流量分发请求对应的流量数据;
调用流量复制工具,以基于所述流量复制工具中的预设接口,对所述流量数据进行复制,其中,所述预设接口为所述流量复制工具注册得到的新接口;
调用所述预设接口,根据复制的流量数据生成流量分发任务;执行所述流量分发任务,进而接收所述预设接口返回的回放标识,其中,所述执行所述流量分发任务,包括:调用所述流量复制工具中的预设接口,将所述流量分发任务对应的流量数据引入至所述流量复制工具中,进而在预设的测试环境分发所述流量数据,其中,所述在预设的测试环境分发所述流量数据,包括:在所述预设的测试环境中通过复制回放的方式确定出适配接口,基于所述适配接口分发所述流量数据;
响应于确定所述回放标识为预设标识,分发所述流量数据至预设节点,以使所述预设节点对所述流量数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述对所述流量数据进行复制,包括:
调用所述预设接口,将所述流量数据转换成所述预设接口对应的预设服务类型流量数据。
3.根据权利要求1所述的方法,其特征在于,在所述调用所述预设接口之前,所述方法还包括:
调用预设服务类型框架,在流量复制工具中生成预设服务类型对应的预设接口。
4.根据权利要求1所述的方法,其特征在于,所述执行所述流量分发任务,包括:
响应于确定当前时间到达所述流量分发任务的执行时间,执行所述流量分发任务。
5.根据权利要求1所述的方法,其特征在于,所述分发所述流量数据至预设节点,包括:
确定预设节点的接口参数,进而调用预设接口,以基于所述接口参数分发所述流量数据至预设节点。
6.根据权利要求1所述的方法,其特征在于,所述分发所述流量数据至预设节点,包括:
获取预设节点对应的规则表达式,进而根据所述规则表达式分发所述流量数据至预设节点。
7.根据权利要求1所述的方法,其特征在于,所述分发所述流量数据至预设节点,包括:
确定预设节点的数量;
根据所述预设节点的数量和预设指数次方数量,对所述预设节点进行分组,以得到节点分组;
确定所述流量数据的数量,进而根据所述流量数据的数量和所述预设节点的数量,确定分发至各节点分组的流量数据的数量并执行流量数据的分发;
响应于确定对目标节点分组的流量数据分发成功,执行所述目标节点分组对应的下一个节点分组的流量数据的分发;
响应于确定对目标节点分组的流量数据分发失败,重试或终止对流量数据的分发。
8.一种数据处理装置,其特征在于,包括:
接收单元,被配置成接收流量分发请求,获取所述流量分发请求对应的流量数据;
复制单元,被配置成调用流量复制工具,以基于所述流量复制工具中的预设接口,对所述流量数据进行复制,其中,所述预设接口为所述流量复制工具注册得到的新接口;
回放单元,被配置成调用所述预设接口,根据复制的流量数据生成流量分发任务;执行所述流量分发任务,进而接收所述预设接口返回的回放标识,其中,所述执行所述流量分发任务,包括:调用所述流量复制工具中的预设接口,将所述流量分发任务对应的流量数据引入至所述流量复制工具中,进而在预设的测试环境分发所述流量数据,其中,所述在预设的测试环境分发所述流量数据,包括:在所述预设的测试环境中通过复制回放的方式确定出适配接口,基于所述适配接口分发所述流量数据;
分发单元,被配置成响应于确定所述回放标识为预设标识,分发所述流量数据至预设节点,以使所述预设节点对所述流量数据进行处理。
9.一种数据处理电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110798744.2A CN113472687B (zh) | 2021-07-15 | 2021-07-15 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110798744.2A CN113472687B (zh) | 2021-07-15 | 2021-07-15 | 一种数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472687A CN113472687A (zh) | 2021-10-01 |
CN113472687B true CN113472687B (zh) | 2023-12-05 |
Family
ID=77880480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110798744.2A Active CN113472687B (zh) | 2021-07-15 | 2021-07-15 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472687B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285774B (zh) * | 2021-12-09 | 2023-10-13 | 广州品唯软件有限公司 | 流量录制方法、装置、电子设备及存储介质 |
CN114816790A (zh) * | 2022-04-11 | 2022-07-29 | 深圳乐信软件技术有限公司 | 一种切量过程的数据处理方法、装置、设备及介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016145753A1 (zh) * | 2015-03-17 | 2016-09-22 | 网宿科技股份有限公司 | 基于内容分发网络的移动终端流量处理方法、装置及系统 |
WO2017162184A1 (zh) * | 2016-03-25 | 2017-09-28 | 阿里巴巴集团控股有限公司 | 数据中心间的业务流量控制方法、装置及系统 |
CN107635010A (zh) * | 2017-10-13 | 2018-01-26 | 网易(杭州)网络有限公司 | 流量调度方法、装置、计算机可读存储介质及电子设备 |
CN109561051A (zh) * | 2017-09-26 | 2019-04-02 | 中兴通讯股份有限公司 | 内容分发网络安全检测方法及系统 |
CN109815146A (zh) * | 2019-01-18 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 流量分配方法、装置、计算机设备及存储介质 |
CN109831357A (zh) * | 2019-01-30 | 2019-05-31 | 北京大米科技有限公司 | 一种服务验证方法、装置、存储介质及服务器 |
WO2019210631A1 (zh) * | 2018-05-03 | 2019-11-07 | 平安科技(深圳)有限公司 | 移动终端访问控制的方法及装置 |
CN110457199A (zh) * | 2018-05-08 | 2019-11-15 | 北京京东尚科信息技术有限公司 | 性能测试的方法和装置 |
CN111045952A (zh) * | 2019-12-16 | 2020-04-21 | 广州品唯软件有限公司 | 软件测试方法、流量回放装置、终端设备及可读存储介质 |
CN111274117A (zh) * | 2018-12-04 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 推荐服务的实验及其管理方法、装置和系统 |
CN111930557A (zh) * | 2019-05-13 | 2020-11-13 | 阿里巴巴集团控股有限公司 | 数据的处理方法、装置及设备 |
CN112214395A (zh) * | 2020-09-02 | 2021-01-12 | 浙江大搜车融资租赁有限公司 | 基于流量数据的接口测试方法、电子装置及存储介质 |
CN112559361A (zh) * | 2020-12-22 | 2021-03-26 | 京东数字科技控股股份有限公司 | 流量回放方法、装置、设备及计算机可读介质 |
CN112653632A (zh) * | 2019-10-09 | 2021-04-13 | 北京京东振世信息技术有限公司 | 一种流量控制实现方法和装置 |
CN112764726A (zh) * | 2019-11-04 | 2021-05-07 | 北京京东振世信息技术有限公司 | 一种数据合成的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8904224B2 (en) * | 2012-07-20 | 2014-12-02 | International Business Machines Corporation | Providing replication and fail-over as a network service in data centers |
US20170171627A1 (en) * | 2015-12-15 | 2017-06-15 | Le Holdings(Beijing)Co., Ltd. | Method and electronic device for pushing a video over a cdn |
US10164904B2 (en) * | 2016-05-04 | 2018-12-25 | Facebook, Inc. | Network bandwidth sharing in a distributed computing system |
CN110120917B (zh) * | 2019-06-28 | 2024-02-02 | 北京瑛菲网络科技有限公司 | 基于内容的路由方法及装置 |
-
2021
- 2021-07-15 CN CN202110798744.2A patent/CN113472687B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016145753A1 (zh) * | 2015-03-17 | 2016-09-22 | 网宿科技股份有限公司 | 基于内容分发网络的移动终端流量处理方法、装置及系统 |
WO2017162184A1 (zh) * | 2016-03-25 | 2017-09-28 | 阿里巴巴集团控股有限公司 | 数据中心间的业务流量控制方法、装置及系统 |
CN109561051A (zh) * | 2017-09-26 | 2019-04-02 | 中兴通讯股份有限公司 | 内容分发网络安全检测方法及系统 |
CN107635010A (zh) * | 2017-10-13 | 2018-01-26 | 网易(杭州)网络有限公司 | 流量调度方法、装置、计算机可读存储介质及电子设备 |
WO2019210631A1 (zh) * | 2018-05-03 | 2019-11-07 | 平安科技(深圳)有限公司 | 移动终端访问控制的方法及装置 |
CN110457199A (zh) * | 2018-05-08 | 2019-11-15 | 北京京东尚科信息技术有限公司 | 性能测试的方法和装置 |
CN111274117A (zh) * | 2018-12-04 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 推荐服务的实验及其管理方法、装置和系统 |
CN109815146A (zh) * | 2019-01-18 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 流量分配方法、装置、计算机设备及存储介质 |
CN109831357A (zh) * | 2019-01-30 | 2019-05-31 | 北京大米科技有限公司 | 一种服务验证方法、装置、存储介质及服务器 |
CN111930557A (zh) * | 2019-05-13 | 2020-11-13 | 阿里巴巴集团控股有限公司 | 数据的处理方法、装置及设备 |
CN112653632A (zh) * | 2019-10-09 | 2021-04-13 | 北京京东振世信息技术有限公司 | 一种流量控制实现方法和装置 |
CN112764726A (zh) * | 2019-11-04 | 2021-05-07 | 北京京东振世信息技术有限公司 | 一种数据合成的方法和装置 |
CN111045952A (zh) * | 2019-12-16 | 2020-04-21 | 广州品唯软件有限公司 | 软件测试方法、流量回放装置、终端设备及可读存储介质 |
CN112214395A (zh) * | 2020-09-02 | 2021-01-12 | 浙江大搜车融资租赁有限公司 | 基于流量数据的接口测试方法、电子装置及存储介质 |
CN112559361A (zh) * | 2020-12-22 | 2021-03-26 | 京东数字科技控股股份有限公司 | 流量回放方法、装置、设备及计算机可读介质 |
Non-Patent Citations (5)
Title |
---|
周晓梅 ; 王欣 ; .云存储在校园媒体资产管理系统中的研究.信息技术.2017,(02),全文. * |
张冬梅 ; .基于日志文件的网络流量模拟仿真.信息通信.2014,(12),全文. * |
张宇光 ; .一种融合不同场景的高并发处理分层架构体系.通信技术.2020,(01),全文. * |
王桂玲 ; 韩燕波 ; 张仲妹 ; 朱美玲 ; .基于云计算的流数据集成与服务.计算机学报.(01),全文. * |
陈瑞昭 ; 刘永广 ; .基于分簇结构的P2P流媒体混合分发算法.华南师范大学学报(自然科学版).2010,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113472687A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113472687B (zh) | 一种数据处理方法和装置 | |
CN111127181B (zh) | 一种凭证记账方法和装置 | |
CN111478781B (zh) | 一种消息广播的方法和装置 | |
CN107133160B (zh) | 服务器和客户端 | |
CA3065729A1 (en) | Business rules processing framework | |
CN113778499B (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
CN116737598B (zh) | 页面调试方法、装置、电子设备和计算机可读介质 | |
US20150120607A1 (en) | System and method for customer event email consolidation and delivery | |
CN113760487B (zh) | 一种业务处理方法和装置 | |
US20220198138A1 (en) | Consent to content template mapping | |
CN112241332B (zh) | 一种接口补偿的方法和装置 | |
CN113590243A (zh) | 能源企业项目创建方法、装置、计算机设备及介质 | |
US20090094314A1 (en) | Reroute of a web service in a web based application | |
CN113779018A (zh) | 一种数据处理方法和装置 | |
CN113672671A (zh) | 一种实现数据加工的方法和装置 | |
CN113269590B (zh) | 一种用于资源补贴的数据处理方法、装置和系统 | |
CN113762677B (zh) | 一种业务处理方法和装置 | |
CN115297066B (zh) | 一种资源动态协同方法、装置、服务器及介质 | |
CN113282274B (zh) | 一种数据处理方法和装置 | |
CN113110951A (zh) | 一种崩溃信息处理方法和装置 | |
WO2023160506A1 (zh) | 一种处理请求的方法和装置 | |
CN115801891A (zh) | 一种请求处理方法和装置 | |
CN117891621A (zh) | 处理业务消息的方法、装置、设备和计算机可读介质 | |
CN115269261A (zh) | 一种系统切换方法、装置、电子设备及计算机可读介质 | |
CN116932249A (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 |