CN112769630A - 开盘场景的流量回放方法及装置 - Google Patents
开盘场景的流量回放方法及装置 Download PDFInfo
- Publication number
- CN112769630A CN112769630A CN202110365557.5A CN202110365557A CN112769630A CN 112769630 A CN112769630 A CN 112769630A CN 202110365557 A CN202110365557 A CN 202110365557A CN 112769630 A CN112769630 A CN 112769630A
- Authority
- CN
- China
- Prior art keywords
- client
- request
- sequence
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000000694 effects Effects 0.000 claims abstract description 128
- 238000002955 isolation Methods 0.000 claims abstract description 96
- 238000013507 mapping Methods 0.000 claims abstract description 78
- 230000008569 process Effects 0.000 claims description 41
- 238000012544 monitoring process Methods 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 17
- 238000000586 desensitisation Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/16—Real estate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种开盘场景的流量回放方法及装置,该方法包括:在接收用户上传的回放请求后;创建N个隔离单元,将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元中;然后,针对每一个隔离单元,对隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;针对每一个目标隔离单元,读取数据库中进行所述目标开盘活动时的客户标识序列;将客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定服务器负责的目标客户标识序列;最终,针对每一个服务器,依次获取目标客户标识序列中的客户标识对应的请求序列,并依次发送请求序列中的每一个请求信息。以达到高效的对开盘活动进行回放的目的。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种开盘场景的流量回放方法及装置。
背景技术
随着房地产行业以及信息化时代的迅猛发展,越来越多的人选择在线上进行选房。
目前,在在线选房系统的进行开盘活动时,如果服务器出现异常,那么就需要对已进行的开盘活动中的客户产生的网络请求信息进行回放,即按照当时客户的行为,一比一复现这段时间内出现的所有客户请求,从而达到复现服务端问题的目的。
发明内容
有鉴于此,本申请提供的一种开盘场景的流量回放方法及装置,用于高效的对开盘活动进行回放。
本申请第一方面提供了一种开盘场景的流量回放方法,包括:
接收用户上传的回放请求;其中,所述回放请求包括:目标开盘活动以及本次对所述目标开盘活动进行回放时的N倍流量;所述目标开盘活动为需要进行回放的开盘活动;
创建N个隔离单元,并将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元中;其中,所述隔离单元用于对所述目标开盘活动进行流量回放;所述N为正整数;
针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;
针对每一个所述目标隔离单元,读取所述数据库中进行所述目标开盘活动时的客户标识序列;其中,所述客户标识序列为按照所述客户标识对应的请求信息的数量进行降序排列得到;
将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列;其中,所述目标客户标识序列中的客户标识为各个所述子序列中的与所述服务器在服务器序列中位置一致的客户标识;所述服务器序列由M个服务器进行排列得到;M为正整数;
针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个请求信息。
可选的,所述针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理,得到目标隔离单元之后,还包括:
将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息,存储至预设的缓存器中;
针对所述目标隔离单元中的每一个客户,获取所述客户对应的令牌信息,并将所述客户和令牌信息之间的映射关系存储至所述预设的缓存器中。
可选的,所述将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列之后,还包括:
将每一个所述服务器负责的目标客户标识序列分别存储至预设的缓存器中。
可选的,所述针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个客户请求信息,包括:
针对每一个服务器,从所述预设的缓存器中读取所述服务器负责的目标客户标识序列;
从所述预设的缓存器中读取所述进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息以及每一个所述客户和所述令牌信息之间的映射关系;
从所述预设的缓存器中读取所述服务器负责的目标客户标识序列中的每一个客户标识;
针对所述服务器负责的目标客户标识序列中的每一个客户标识,在所述数据库中获取得到所述客户标识在云服务器上的地址信息;
根据所述地址信息,获取得到所述客户标识对应的请求序列;
依次发送所述请求序列中的每一个客户请求信息。
可选的,所述依次发送所述请求序列中的每一个请求信息之前,还包括:
根据所述目标开盘活动的开盘时间、所述隔离单元开始流量回放时的时间以及所述目标开盘活动中发送每一个请求信息时的时间,确定所述请求序列中的每一个请求信息的发送时间;
其中,所述依次发送所述请求序列中的每一个请求信息,包括:
按照每一个所述请求信息的发送时间,依次发送所述请求序列中的每一个请求信息。
可选的,所述根据所述地址信息,获取得到所述客户标识对应的请求序列之后,还包括:
针对每一个客户,根据所述进行所述目标开盘活动时的所述客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息、所述客户和所述令牌信息之间的映射关系以及所述请求序列构建所述客户对应的客户空间。
可选的,所述开盘场景的流量回放方法,还包括:
针对每一个所述客户对应的客户空间,将所述客户空间注册至监听模块中;其中,所述监听模块用于获取所述客户空间中请求序列以及所述进行所述目标开盘活动时的所述客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息、所述客户和所述令牌信息之间的映射关系。
可选的,所述开盘场景的流量回放方法,还包括:
针对每一个客户空间,从所述客户空间中的请求序列的首个请求信息开始,依次判断所述请求序列中的请求信息的实际计划发送时间是否小于或等于当前时间,以及判断所述请求信息中的是否包含需求的全部参数;
若所述请求信息的实际计划发送时间小于或等于当前时间,且所述请求信息中包含需求的全部参数,发送所述请求信息;
修正所述请求信息在请求序列中的下一个请求信息的实际发送时间。
可选的,所述开盘场景的流量回放方法,还包括:
通过轮询的方式依次确定所述监听模块中的每一个客户空间中的请求序列的首个请求信息是否能正常发送,并确定一次轮询的最小间隔时间;
根据所述一次轮询的最小间隔时间判断所述监听模块是否触发休眠状态。
可选的,发送请求信息的发送方式为通过发送单元发送请求信息,并在发送请求信息后,将所述请求信息的句柄转交至线程池中的线程处理。
可选的,所述开盘场景的流量回放方法,还包括:
若所有所述客户空间的请求序列中的所有请求信息均成功发送,释放用于处理句柄的线程以及关闭监听模块的轮询线程。
本申请第二方面提供了一种开盘场景的流量回放装置,包括:
接收单元,用于接收用户上传的回放请求;其中,所述回放请求包括:目标开盘活动以及本次对所述目标开盘活动进行回放时的N倍流量;所述目标开盘活动为需要进行回放的开盘活动;
创建单元,用于创建N个隔离单元,并将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元中;其中,所述隔离单元用于对所述目标开盘活动进行流量回放;所述N为正整数;
脱敏单元,用于针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;
第一读取单元,用于针对每一个所述目标隔离单元,读取所述数据库中进行所述目标开盘活动时的客户标识序列;其中,所述客户标识序列为按照所述客户标识对应的请求信息的数量进行降序排列得到;
第一确定单元,用于将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列;其中,所述目标客户标识序列中的客户标识为各个所述子序列中的与所述服务器在服务器序列中位置一致的客户标识;所述服务器序列由M个服务器进行排列得到;M为正整数;
发送单元,用于针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个请求信息。
可选的,所述开盘场景的流量回放装置,还包括:
存储单元,用于将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息,存储至预设的缓存器中;
所述存储单元,还用于针对所述目标隔离单元中的每一个客户,获取所述客户对应的令牌信息,并将所述客户和令牌信息之间的映射关系存储至所述预设的缓存器中。
可选的,所述开盘场景的流量回放装置,还包括:
所述存储单元,还用于将每一个所述服务器负责的目标客户标识序列分别存储至预设的缓存器中。
可选的,所述发送单元,包括:
第二读取单元,用于针对每一个服务器,从所述预设的缓存器中读取所述服务器负责的目标客户标识序列;
所述第二读取单元,还用于从所述预设的缓存器中读取所述进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息以及每一个所述客户和所述令牌信息之间的映射关系;
所述第二读取单元,还用于从所述预设的缓存器中读取所述服务器负责的目标客户标识序列中的每一个客户标识;
第一获取单元,用于针对所述服务器负责的目标客户标识序列中的每一个客户标识,在所述数据库中获取得到所述客户标识在云服务器上的地址信息;
第二获取单元,用于根据所述地址信息,获取得到所述客户标识对应的请求序列;
发送子单元,用于依次发送所述请求序列中的每一个客户请求信息。
可选的,所述开盘场景的流量回放装置,还包括:
第二确定单元,用于根据所述目标开盘活动的开盘时间、所述隔离单元开始流量回放时的时间以及所述目标开盘活动中发送每一个请求信息时的时间,确定所述请求序列中的每一个请求信息的发送时间;
其中,所述发送单元,用于:
按照每一个所述请求信息的发送时间,依次发送所述请求序列中的每一个请求信息。
可选的,所述开盘场景的流量回放装置,还包括:
构建单元,用于针对每一个客户,根据所述进行所述目标开盘活动时的所述客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息、所述客户和所述令牌信息之间的映射关系以及所述请求序列构建所述客户对应的客户空间。
可选的,所述开盘场景的流量回放装置,还包括:
注册单元,用于针对每一个所述客户对应的客户空间,将所述客户空间注册至监听模块中;其中,所述监听模块用于获取所述客户空间中请求序列以及所述进行所述目标开盘活动时的所述客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息、所述客户和所述令牌信息之间的映射关系。
可选的,所述开盘场景的流量回放装置,还包括:
第一判断单元,用于针对每一个客户空间,从所述客户空间中的请求序列的首个请求信息开始,依次判断所述请求序列中的请求信息的实际计划发送时间是否小于或等于当前时间,以及判断所述请求信息中的是否包含需求的全部参数;
所述发送单元,还用于若所述第一判断单元判断出,所述请求信息的实际计划发送时间小于或等于当前时间,且所述请求信息中包含需求的全部参数,发送所述请求信息;
修正单元,用于修正所述请求信息在请求序列中的下一个请求信息的实际发送时间。
可选的,所述开盘场景的流量回放装置,还包括:
轮询单元,用于通过轮询的方式依次确定所述监听模块中的每一个客户空间中的请求序列的首个请求信息是否能正常发送,并确定一次轮询的最小间隔时间;
第二判断单元,用于根据所述一次轮询的最小间隔时间判断所述监听模块是否触发休眠状态。
可选的,发送请求信息的发送方式为通过发送单元发送请求信息,并在发送请求信息后,将所述请求信息的句柄转交至线程池中的线程处理。
可选的,所述开盘场景的流量回放装置,还包括:
结束单元,用于若所有所述客户空间的请求序列中的所有请求信息均成功发送,释放用于处理句柄的线程以及关闭监听模块的轮询线程。
由以上方案可知,本申请提供的一种开盘场景的流量回放方法及装置中,所述开盘场景的流量回放方法包括:在接收用户上传的回放请求后;其中,所述回放请求包括:目标开盘活动以及本次对所述目标开盘活动进行回放时的N倍流量;所述目标开盘活动为需要进行回放的开盘活动;首先,创建N个隔离单元,并将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元中;其中,所述隔离单元用于对所述目标开盘活动进行流量回放;所述N为正整数;然后,针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;之后,针对每一个所述目标隔离单元,读取所述数据库中进行所述目标开盘活动时的客户标识序列;其中,所述客户标识序列为按照所述客户标识对应的请求信息的数量进行降序排列得到;再将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列;其中,所述目标客户标识序列中的客户标识为各个所述子序列中的与所述服务器在服务器序列中位置一致的客户标识;所述服务器序列由M个服务器进行排列得到;M为正整数;最终,针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个请求信息。以达到高效的对开盘活动进行回放的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种开盘场景的流量回放方法的具体流程图;
图2为本申请另一实施例提供的一种开盘场景的流量回放方法的流程图;
图3为本申请另一实施例提供的一种开盘场景的流量回放方法的流程图;
图4为本申请另一实施例提供的一种开盘场景的流量回放装置的示意图;
图5为本申请另一实施例提供的一种发送单元的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系,而术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种开盘场景的流量回放方法,如图1所示,具体包括以下步骤:
S101、接收用户上传的回放请求。
其中,回放请求包括:目标开盘活动以及本次对目标开盘活动进行回放时的N倍流量;目标开盘活动为需要进行回放的开盘活动。开盘活动是指开发商或者管理员(即用户)在后台中可以在在线选房系统中创建一个开盘活动,该开盘活动中会录入客户信息、房源信息、合同信息等数据。被录入的客户可以在指定时间后(即开盘后)对录入的房源进行抢房操作。在线选房系统是指实际的业务系统,该系统为客户提供抢房、收藏、签署合同、查看房源等功能。
同时,开发商或者管理人员还可以在线上开盘业务中进行埋点,在客户发送请求信息被那些埋点了的业务代码处理时,这次请求信息的参数、url、时间戳等信息会被写入到日志系统中去。例如:在开盘活动进行的过程中,会受到客户的各种请求信息,如:收藏房源A、查看房源C等,开发商想要统计所有客户收藏房源A的次数,以及哪些客户收藏了房源A,就可以在处理客户收藏请求信息的业务代码里进行埋点,在每次客户对房源A进行收藏操作时,记录本次操作过程中的请求参数、URL、时间戳等,并存储至系统日志中。
需要说明的是,在线选房系统中还会包括定时任务模块,定时任务模块会在每天的一个固定时间(可以是但不限于0点、6点、7点30分、21点12分等)针对前一天每一个开盘活动,获取开盘活动的前后一定预设时间内产生的所有客户发送的所有请求信息,并按照客户标识进行分类,同一个客户标识的所有请求信息会按照时间戳进行排序。同时,还可以针对客户产生的所有请求信息进行数据统计和打标签。数据统计至少包括但不限于客户执行的收藏操作的次数、抢房操作次数、每秒最高发送请求信息数量等。打标签至少包括但不限于,客户最终实际收藏的房源数量、客户在开盘活动中是否开启了合同功能等。
在实际的应用过程中,会将产生的所有请求信息进行序列化处理,即将请求信息从对象转化为字符串,并将序列化后的字符串上传至云服务器(如腾讯云等)进行存储。在本地的数据库中仅仅只存储字符串在云服务器中的地址信息,客户的标签信息以及客户的数据统计信息。其中,序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。例如:有一个类User,这个类其中包含2个属性,一个是name一个是age。那么,一个User类的对象,其name取值为abc,age取值为10。这个对象序列化后的结果就是{name:”abc”, age:10}。
S102、创建N个隔离单元,并将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元中。
其中,隔离单元用于对目标开盘活动进行流量回放;N为正整数。操作数据可以是但不限于,客户信息、房源信息、合同信息等,此处不做限定。隔离单元对目标开盘活动进行流量回放的开始时间,可以由客户(开发商或者管理员)根据实际情况进行设定,此处不做限定。
可以理解的是,在隔离单元对目标开盘活动进行流量回放时,不会影响到真实客户,也不会影响到其他正在开盘的开盘活动。
S103、针对每一个隔离单元,对隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元。
需要说明的是,脱敏处理可以是但不限于将客户的手机号置为空、将客户的姓名设置成随机字符等,方式十分多样化且成熟,此处不做限定。
可选的,在本申请的另一实施例中,在步骤S103之后的一种实施方式,还包括:
将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息,存储至预设的缓存器中。
其中,缓存器可以是但不限于Redis等,此处不做限定。
针对目标隔离单元中的每一个客户,获取客户对应的令牌信息,并将客户和令牌信息之间的映射关系存储至预设的缓存器中。
需要说明的是,客户在发送每一个请求时,除了登录相关操作外都需要获取系统生成的一个令牌。并且,只有通过令牌构建的请求信息,如收藏、抢房等。在线开盘系统才能正确的处理。
S104、针对每一个目标隔离单元,读取数据库中进行目标开盘活动时的客户标识序列。
其中,客户标识序列为按照客户标识对应的请求信息的数量进行降序排列得到。
S105、将客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定服务器负责的目标客户标识序列。
其中,目标客户标识序列中的客户标识为各个子序列中的与服务器在服务器序列中位置一致的客户标识。服务器序列由M个服务器进行排列得到;M为正整数。例如:客户标识对应了100个请求信息,服务器序列由3个服务器进行排列得到,如服务器A、服务器B以及服务C,那么将包含60个客户标识的客户标识序列,拆分成20个子序列,每个子序列中都包含3个客户标识,3个客户标识按照顺序,分别对应服务器A、服务器B以及服务C。
可选的,在本申请的另一实施例中,步骤S105之后的一种实施方式,还包括:
将每一个服务器负责的目标客户标识序列分别存储至预设的缓存器中。
S106、针对每一个服务器,依次获取目标客户标识序列中的客户标识对应的请求序列,并依次发送请求序列中的每一个请求信息。
其中,发送请求信息的发送方式可以是但不限于为通过发送单元发送请求信息,并在发送请求信息后,将请求信息的句柄转交至线程池中的线程处理。
可选的,在本申请的另一实施例中,步骤S106的一种实施方式,如图2所示,包括:
S201、针对每一个服务器,从预设的缓存器中读取服务器负责的目标客户标识序列。
S202、从预设的缓存器中读取进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息以及每一个客户和令牌信息之间的映射关系。
S203、从预设的缓存器中读取服务器负责的目标客户标识序列中的每一个客户标识。
S204、针对服务器负责的目标客户标识序列中的每一个客户标识,在数据库中获取得到客户标识在云服务器上的地址信息。
S205、根据地址信息,获取得到客户标识对应的请求序列。
可选的,在本申请的另一实施例中,在执行步骤S205之后的一种实施方式,还包括:
针对每一个客户,根据进行目标开盘活动时的客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息、客户和令牌信息之间的映射关系以及请求序列构建客户对应的客户空间。
其中,客户空间为一种数据结构,由请求序列和映射关系表(即进行目标开盘活动时的客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息、客户和令牌信息之间的映射关系)组成。请求序列由需要进行发送的请求信息构成的队列,每个请求信息均包括:原定计划发送时间、实际计划发送时间参数映射关系表(包含已经生成的参数名和参数值的对应关系)、待生成参数的参数名称序列、统一资源定位系统(uniform resourcelocator,URL)、请求类型以及操作类型;映射关系表中存储有各种请求类型需要的参数名称与参数值的映射关系。
需要说明的是,待生成参数的参数名称序列中的参数名称并没有对应的参数值,需要从映射关系表中进行获取。在请求信息还未开始发送时,映射关系表为空,在请求信息发送的过程中,操作类型的请求信息的返回至的一些字段会被写入映射关系表中,并且与这个请求信息相关联的请求信息可以从映射关系表中,获取待生成参数的参数名称序列所需要的参数值。
可以理解的是,不同的操作类型影响会请求信息对应返回值的处理。
可选的,在本申请的另一实施例中,开盘场景的流量回放方法的一种实施方式,还包括:
针对每一个客户对应的客户空间,将客户空间注册至监听模块中。
其中,监听模块用于获取客户空间中请求序列以及进行目标开盘活动时的客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息、客户和令牌信息之间的映射关系。
可选的,在本申请的另一实施例中,开盘场景的流量回放方法的一种实施方式,如图3所示,还包括:
S301、针对每一个客户空间,从客户空间中的请求序列的首个请求信息开始,依次判断请求序列中的请求信息的实际计划发送时间是否小于或等于当前时间,以及判断请求信息中的是否包含需求的全部参数。
需要说明的是,请求信息A的原定计划发送时间=隔离单元所进行的开盘活动设置的开盘时间的时间戳-目标开盘活动的开盘时间的时间戳+目标开盘活动发送请求信息A时的时间戳。并将请求信息A的实际计划发送时间初始化为原定计划发送时间。
假设服务器K所负责的目标客户序列中的客户标识的数量为w,那么在处理完所有的N个开盘活动后,注册到服务器K上监听模块的客户空间的数量为wN。监听模块每次会从这wN个客户空间的第1个开始检查,一直检查到最后一个。检查的方式是通过查看第i个客户空间(i<=wN)的请求序列的队列首部请求信息A。如果请求信息A的实际计划发送时间小于或等于当前时间且其不缺少需要的参数(即请求信息A的待生成的参数名称序列为空或者客户空间的映射关系表中存在请求信息A的待生成的参数名称序列中需要的参数),那么就通过发送单元来发送请求信息A。
具体的,若请求信息的实际计划发送时间小于或等于当前时间,且请求信息中包含需求的全部参数,则执行步骤S302。
S302、发送请求信息。
S303、修正请求信息在请求序列中的下一个请求信息的实际发送时间。
续接上述实例,在请求序列中请求信息A的下一个为请求信息B,那么可以理解的是,当请求信息A的实际发送时间发生了变化,那么也需要修正请求信息B的实际计划发送时间。以防止请求信息被堆积在一起发送,从而防止出现进行回放的波形与原波形不符的情况。例如,一对前后关联的请求信息A和请求信息B,如果请求信息A的响应延迟到达,请求信息B得到请求信息A的响应结果被发送后,请求信息B后面的大量请求信息也同时到达原定计划发送时间,在短时间内被大量发送,从而造成请求信息之间的时间间隔和预计不符,导致流量回放失败的情形出现。如果请求信息A的返回值信息一直没有内获取,那么监听模块的机制是在轮询到请求信息B的时候,如果当前时间-请求信息B的实际计划发送时间>500毫秒,就放弃请求信息B的发送,直接从队列首部丢弃请求信息B。
具体的,修正请求信息B的方式可以是但不限于,将请求信息B的实际计划发送时间修正为:当前时间-请求信息A的原定计划发送时间+请求信息B的原定计划发送时间。
S206、依次发送请求序列中的每一个客户请求信息。
可选的,在本申请的另一实施例中,开盘场景的流量回放方法的一种实施方式,还包括:
通过轮询的方式依次确定监听模块中的每一个客户空间中的请求序列的首个请求信息是否能正常发送,并确定一次轮询的最小间隔时间。
根据一次轮询的最小间隔时间判断监听模块是否触发休眠状态。
需要说明的是,在本申请中每一个服务器上只有一个线程来负责轮询监听模块中的每一个客户空间中的请求序列的首个请求信息是否能正常发送,当满足发送条件时,通过发送单元发送请求信息,并在发送请求信息后,将请求信息的句柄转交至线程池中的线程处理。线程池中线程的数量等于所在机器CPU核数,线程切换开销很少。线程池中的线程通过句柄获取响应请求信息的返回值信息。这些返回值信息中可能具有一些后续请求依赖的参数信息,所以线程池在获取返回值信息后,还会将其中的一些参数信息写入后续相应请求的参数中去,以完成前后请求信息依赖关系的构建。
在线程池中的线程通过句柄获取响应请求信息的返回值信息后,将下一个请求信息需要的参数名称和参数值,写入到客户空间的映射关系表中,如果请求信息的对应的返回值信息不需要处理,那么线程不对客户空间执行任何操作,直接转为空闲状态。
具体的,监听模块通过轮询的方式每次查看客户空间的请求序列首个请求信息是否可发送,如果该请求信息能被发送,在发送后,监听模块会查看下一个客户空间的请求序列首个请求信息是否可发送,以此类推。在这个过程中,监听模块会记录下一个距离下次轮询开始的最小间隔时间;该时间的作用是在一次轮询过程中,如果没有可被发送的请求信息时,轮询线程的休眠时间就是这个最小间隔时间。如果小间隔时间超过5000毫秒,那么最小间隔时间会被设置为5000毫秒;如果该最小间隔时间小于100毫秒,那么监听模块的轮询线程不会进入到休眠状态。
可选的,在本申请的另一实施例中,在依次发送请求序列中的每一个请求信息之前,还包括:
根据目标开盘活动的开盘时间、隔离单元开始流量回放时的时间以及目标开盘活动中发送每一个请求信息时的时间,确定请求序列中的每一个请求信息的发送时间。
那么,步骤S106的一种实施方式,包括:
按照每一个请求信息的发送时间,依次发送请求序列中的每一个请求信息。
可选的,在本申请的另一实施例中,开盘场景的流量回放方法的一种实施方式,还包括:
若所有客户空间的请求序列中的所有请求信息均成功发送,释放用于处理句柄的线程以及关闭监听模块的轮询线程。
从而防止系统在进行多次回放后,出现内存泄漏的情况。
并且还可以判断本次开盘活动的结果是否合格,具体的,可以采用但不限于判断进行流量回放时的时刻X的请求信息总数是否等于N*(目标开盘活动的请求信息总数)*(1±s),其中s是一个[0,1]的值,由开发商或者管理员进行设定,此处不做限定。
由以上方案可知,本申请提供的一种开盘场景的流量回放方法中:在接收用户上传的回放请求后;其中,回放请求包括:目标开盘活动以及本次对目标开盘活动进行回放时的N倍流量;目标开盘活动为需要进行回放的开盘活动;首先,创建N个隔离单元,并将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元中;其中,隔离单元用于对目标开盘活动进行流量回放;N为正整数;然后,针对每一个隔离单元,对隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;之后,针对每一个目标隔离单元,读取数据库中进行目标开盘活动时的客户标识序列;其中,客户标识序列为按照客户标识对应的请求信息的数量进行降序排列得到;再将客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定服务器负责的目标客户标识序列;其中,目标客户标识序列中的客户标识为各个子序列中的与服务器在服务器序列中位置一致的客户标识;服务器序列由M个服务器进行排列得到;M为正整数;最终,针对每一个服务器,依次获取目标客户标识序列中的客户标识对应的请求序列,并依次发送请求序列中的每一个请求信息。以达到高效的对开盘活动进行回放的目的。
本申请另一实施例提供了一种开盘场景的流量回放装置,如图4所示,具体包括:
接收单元401,用于接收用户上传的回放请求。
其中,回放请求包括:目标开盘活动以及本次对目标开盘活动进行回放时的N倍流量;目标开盘活动为需要进行回放的开盘活动。
创建单元402,用于创建N个隔离单元,并将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元中。
其中,隔离单元用于对目标开盘活动进行流量回放;N为正整数。
脱敏单元403,用于针对每一个隔离单元,对隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元。
第一读取单元404,用于针对每一个目标隔离单元,读取数据库中进行目标开盘活动时的客户标识序列。
其中,客户标识序列为按照客户标识对应的请求信息的数量进行降序排列得到。
第一确定单元405,用于将客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定服务器负责的目标客户标识序列。
其中,目标客户标识序列中的客户标识为各个子序列中的与服务器在服务器序列中位置一致的客户标识;服务器序列由M个服务器进行排列得到;M为正整数。
发送单元406,用于针对每一个服务器,依次获取目标客户标识序列中的客户标识对应的请求序列,并依次发送请求序列中的每一个请求信息。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图1所示,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置的一种实施方式,还包括:
存储单元,用于将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息,存储至预设的缓存器中。
存储单元,还用于针对目标隔离单元中的每一个客户,获取客户对应的令牌信息,并将客户和令牌信息之间的映射关系存储至预设的缓存器中。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置的一种实施方式,还包括:
存储单元,还用于将每一个服务器负责的目标客户标识序列分别存储至预设的缓存器中。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,发送单元406的一种实施方式,如图5所示,具体包括:
第二读取单元501,用于针对每一个服务器,从预设的缓存器中读取服务器负责的目标客户标识序列。
第二读取单元501,还用于从预设的缓存器中读取进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息以及每一个客户和令牌信息之间的映射关系。
第二读取单元501,还用于从预设的缓存器中读取服务器负责的目标客户标识序列中的每一个客户标识。
第一获取单元502,用于针对服务器负责的目标客户标识序列中的每一个客户标识,在数据库中获取得到客户标识在云服务器上的地址信息。
第二获取单元503,用于根据地址信息,获取得到客户标识对应的请求序列。
发送子单元504,用于依次发送请求序列中的每一个客户请求信息。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图2所示,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置中的一种实施方式,还包括:
第二确定单元,用于根据目标开盘活动的开盘时间、隔离单元开始流量回放时的时间以及目标开盘活动中发送每一个请求信息时的时间,确定请求序列中的每一个请求信息的发送时间。
其中,发送单元406,用于:
按照每一个请求信息的发送时间,依次发送请求序列中的每一个请求信息。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置中的一种实施方式,还包括:
构建单元,用于针对每一个客户,根据进行目标开盘活动时的客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息、客户和令牌信息之间的映射关系以及请求序列构建客户对应的客户空间。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置中的一种实施方式,还包括:
注册单元,用于针对每一个客户对应的客户空间,将客户空间注册至监听模块中。
其中,监听模块用于获取客户空间中请求序列以及进行目标开盘活动时的客户的操作数据分别映射至每一个隔离单元过程中,产生的映射信息、客户和令牌信息之间的映射关系。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置中的一种实施方式,还包括:
第一判断单元,用于针对每一个客户空间,从客户空间中的请求序列的首个请求信息开始,依次判断请求序列中的请求信息的实际计划发送时间是否小于或等于当前时间,以及判断请求信息中的是否包含需求的全部参数。
发送单元406,还用于若第一判断单元判断出,请求信息的实际计划发送时间小于或等于当前时间,且请求信息中包含需求的全部参数,发送请求信息。
修正单元,用于修正请求信息在请求序列中的下一个请求信息的实际发送时间。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图3所示,此处不再赘述。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置中的一种实施方式,还包括:
轮询单元,用于通过轮询的方式依次确定监听模块中的每一个客户空间中的请求序列的首个请求信息是否能正常发送,并确定一次轮询的最小间隔时间。
第二判断单元,用于根据一次轮询的最小间隔时间判断监听模块是否触发休眠状态。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,发送请求信息的发送方式为通过发送单元发送请求信息,并在发送请求信息后,将所述请求信息的句柄转交至线程池中的线程处理。
可选的,在本申请的另一实施例中,开盘场景的流量回放装置中的一种实施方式,还包括:
结束单元,用于若所有客户空间的请求序列中的所有请求信息均成功发送,释放用于处理句柄的线程以及关闭监听模块的轮询线程。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
由以上方案可知,本申请提供的一种开盘场景的流量回放装置中:接收单元401在接收用户上传的回放请求后;其中,回放请求包括:目标开盘活动以及本次对目标开盘活动进行回放时的N倍流量;目标开盘活动为需要进行回放的开盘活动;创建单元402创建N个隔离单元,并将数据库中进行目标开盘活动时的所有客户的操作数据分别映射至每一个隔离单元中;其中,隔离单元用于对目标开盘活动进行流量回放;N为正整数;然后,脱敏单元403针对每一个隔离单元,对隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;之后,第一读取单元404针对每一个目标隔离单元,读取数据库中进行目标开盘活动时的客户标识序列;其中,客户标识序列为按照客户标识对应的请求信息的数量进行降序排列得到;第一确定单元405再将客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定服务器负责的目标客户标识序列;其中,目标客户标识序列中的客户标识为各个子序列中的与服务器在服务器序列中位置一致的客户标识;其中,服务器序列由M个服务器进行排列得到;其中,M为正整数;最终,针对每一个服务器,发送单元406依次获取目标客户标识序列中的客户标识对应的请求序列,并依次发送请求序列中的每一个请求信息。以达到高效的对开盘活动进行回放的目的。
在本申请公开的上述实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种开盘场景的流量回放方法,其特征在于,包括:
接收用户上传的回放请求;其中,所述回放请求包括:目标开盘活动以及本次对所述目标开盘活动进行回放时的N倍流量;所述目标开盘活动为需要进行回放的开盘活动;
创建N个隔离单元,并将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元中;其中,所述隔离单元用于对所述目标开盘活动进行流量回放;所述N为正整数;
针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;
针对每一个所述目标隔离单元,读取所述数据库中进行所述目标开盘活动时的客户标识序列;其中,所述客户标识序列为按照所述客户标识对应的请求信息的数量进行降序排列得到;
将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列;其中,所述目标客户标识序列中的客户标识为各个所述子序列中的与所述服务器在服务器序列中位置一致的客户标识;所述服务器序列由M个服务器进行排列得到;M为正整数;
针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个请求信息。
2.根据权利要求1所述的流量回放方法,其特征在于,所述针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理,得到目标隔离单元之后,还包括:
将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息,存储至预设的缓存器中;
针对所述目标隔离单元中的每一个客户,获取所述客户对应的令牌信息,并将所述客户和令牌信息之间的映射关系存储至所述预设的缓存器中。
3.根据权利要求2所述的流量回放方法,其特征在于,所述将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列之后,还包括:
将每一个所述服务器负责的目标客户标识序列分别存储至预设的缓存器中。
4.根据权利要求3所述的流量回放方法,其特征在于,所述针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个客户请求信息,包括:
针对每一个服务器,从所述预设的缓存器中读取所述服务器负责的目标客户标识序列;
从所述预设的缓存器中读取所述进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息以及每一个所述客户和所述令牌信息之间的映射关系;
从所述预设的缓存器中读取所述服务器负责的目标客户标识序列中的每一个客户标识;
针对所述服务器负责的目标客户标识序列中的每一个客户标识,在所述数据库中获取得到所述客户标识在云服务器上的地址信息;
根据所述地址信息,获取得到所述客户标识对应的请求序列;
依次发送所述请求序列中的每一个客户请求信息。
5.根据权利要求4所述的流量回放方法,其特征在于,所述依次发送所述请求序列中的每一个请求信息之前,还包括:
根据所述目标开盘活动的开盘时间、所述隔离单元开始流量回放时的时间以及所述目标开盘活动中发送每一个请求信息时的时间,确定所述请求序列中的每一个请求信息的发送时间;
其中,所述依次发送所述请求序列中的每一个请求信息,包括:
按照每一个所述请求信息的发送时间,依次发送所述请求序列中的每一个请求信息。
6.根据权利要求4所述的流量回放方法,其特征在于,所述根据所述地址信息,获取得到所述客户标识对应的请求序列之后,还包括:
针对每一个客户,根据所述进行所述目标开盘活动时的所述客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息、所述客户和所述令牌信息之间的映射关系以及所述请求序列构建所述客户对应的客户空间。
7.根据权利要求6所述的流量回放方法,其特征在于,还包括:
针对每一个所述客户对应的客户空间,将所述客户空间注册至监听模块中;其中,所述监听模块用于获取所述客户空间中请求序列以及所述进行所述目标开盘活动时的所述客户的操作数据分别映射至每一个所述隔离单元过程中,产生的映射信息、所述客户和所述令牌信息之间的映射关系。
8.根据权利要求7所述的流量回放方法,其特征在于,还包括:
针对每一个客户空间,从所述客户空间中的请求序列的首个请求信息开始,依次判断所述请求序列中的请求信息的实际计划发送时间是否小于或等于当前时间,以及判断所述请求信息中的是否包含需求的全部参数;
若所述请求信息的实际计划发送时间小于或等于当前时间,且所述请求信息中包含需求的全部参数,发送所述请求信息;
修正所述请求信息在请求序列中的下一个请求信息的实际发送时间。
9.根据权利要求8所述的流量回放方法,其特征在于,还包括:
通过轮询的方式依次确定所述监听模块中的每一个客户空间中的请求序列的首个请求信息是否能正常发送,并确定一次轮询的最小间隔时间;
根据所述一次轮询的最小间隔时间判断所述监听模块是否触发休眠状态。
10.根据权利要求1所述的流量回放方法,其特征在于,发送请求信息的发送方式为通过发送单元发送请求信息,并在发送请求信息后,将所述请求信息的句柄转交至线程池中的线程处理。
11.根据权利要求9所述的流量回放方法,其特征在于,还包括:
若所有所述客户空间的请求序列中的所有请求信息均成功发送,释放用于处理句柄的线程以及关闭监听模块的轮询线程。
12.一种开盘场景的流量回放装置,其特征在于,包括:
接收单元,用于接收用户上传的回放请求;其中,所述回放请求包括:目标开盘活动以及本次对所述目标开盘活动进行回放时的N倍流量;所述目标开盘活动为需要进行回放的开盘活动;
创建单元,用于创建N个隔离单元,并将数据库中进行所述目标开盘活动时的所有客户的操作数据分别映射至每一个所述隔离单元中;其中,所述隔离单元用于对所述目标开盘活动进行流量回放;所述N为正整数;
脱敏单元,用于针对每一个所述隔离单元,对所述隔离单元中的客户的操作数据进行脱敏处理后,得到目标隔离单元;
第一读取单元,用于针对每一个所述目标隔离单元,读取所述数据库中进行所述目标开盘活动时的客户标识序列;其中,所述客户标识序列为按照所述客户标识对应的请求信息的数量进行降序排列得到;
第一确定单元,用于将所述客户标识序列拆分成多个包含M个客户标识的子序列,并针对每一个服务器,确定所述服务器负责的目标客户标识序列;其中,所述目标客户标识序列中的客户标识为各个所述子序列中的与所述服务器在服务器序列中位置一致的客户标识;所述服务器序列由M个服务器进行排列得到;M为正整数;
发送单元,用于针对每一个服务器,依次获取所述目标客户标识序列中的客户标识对应的请求序列,并依次发送所述请求序列中的每一个请求信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365557.5A CN112769630B (zh) | 2021-04-06 | 2021-04-06 | 开盘场景的流量回放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365557.5A CN112769630B (zh) | 2021-04-06 | 2021-04-06 | 开盘场景的流量回放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769630A true CN112769630A (zh) | 2021-05-07 |
CN112769630B CN112769630B (zh) | 2021-06-25 |
Family
ID=75691144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110365557.5A Active CN112769630B (zh) | 2021-04-06 | 2021-04-06 | 开盘场景的流量回放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769630B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140259036A1 (en) * | 2012-04-27 | 2014-09-11 | Wirespring Technologies, Inc. | Device-Agnostic Content Management, Playback and Status Monitoring System |
CN104702463A (zh) * | 2014-12-17 | 2015-06-10 | 北京百度网讯科技有限公司 | 一种对多机房进行旁路测试的方法、装置及系统 |
CN109544014A (zh) * | 2018-11-26 | 2019-03-29 | 北京国舜科技股份有限公司 | 基于历史数据回放的反欺诈方法及装置 |
CN110955636A (zh) * | 2018-10-17 | 2020-04-03 | 郑州期米信息技术有限公司 | 一种立体全景式历史行情回放方法 |
CN111177241A (zh) * | 2019-12-18 | 2020-05-19 | 贝壳技术有限公司 | 一种数据处理方法、装置、系统、电子设备及其存储介质 |
CN111861751A (zh) * | 2020-07-23 | 2020-10-30 | 西北大学 | 基于深度强化学习的股票量化交易方法、存储介质及设备 |
-
2021
- 2021-04-06 CN CN202110365557.5A patent/CN112769630B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140259036A1 (en) * | 2012-04-27 | 2014-09-11 | Wirespring Technologies, Inc. | Device-Agnostic Content Management, Playback and Status Monitoring System |
CN104702463A (zh) * | 2014-12-17 | 2015-06-10 | 北京百度网讯科技有限公司 | 一种对多机房进行旁路测试的方法、装置及系统 |
CN110955636A (zh) * | 2018-10-17 | 2020-04-03 | 郑州期米信息技术有限公司 | 一种立体全景式历史行情回放方法 |
CN109544014A (zh) * | 2018-11-26 | 2019-03-29 | 北京国舜科技股份有限公司 | 基于历史数据回放的反欺诈方法及装置 |
CN111177241A (zh) * | 2019-12-18 | 2020-05-19 | 贝壳技术有限公司 | 一种数据处理方法、装置、系统、电子设备及其存储介质 |
CN111861751A (zh) * | 2020-07-23 | 2020-10-30 | 西北大学 | 基于深度强化学习的股票量化交易方法、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112769630B (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078504A (zh) | 一种分布式调用链跟踪方法、装置、计算机设备及存储介质 | |
CN111831748B (zh) | 数据同步方法、装置及存储介质 | |
CN109729376B (zh) | 一种生命周期的处理方法、装置、设备和存储介质 | |
EP3258653A1 (en) | Message pushing method and device | |
CN112016030B (zh) | 消息推送的方法、装置、服务器和计算机存储介质 | |
WO2006129932A1 (en) | Method and system for detecting double login | |
CN110225109B (zh) | 一种基于“工商联连”平台的多队列的数据传输方法 | |
CN109451078B (zh) | 一种分布式架构下的事务处理方法和装置 | |
CN111314174A (zh) | 基于区块链和sdn边缘计算网络系统的网络拨测方法及装置 | |
CN110795026B (zh) | 热点数据的识别方法、装置、设备及存储介质 | |
CN111831954B (zh) | 内容数据更新方法、装置、计算机设备及存储介质 | |
CN114281784A (zh) | 分布式核心系统的交易日志回放方法、装置、设备和介质 | |
CN112769630B (zh) | 开盘场景的流量回放方法及装置 | |
CN107395377B (zh) | 一种广播列表推送方法 | |
CN113360413A (zh) | 一种代码测试方法及装置 | |
CN113098978B (zh) | 一种数据传输方法、装置及介质 | |
US5768514A (en) | Cooperative activity system and method | |
CN113360558B (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN113986505A (zh) | 一种任务调度方法、系统及存储介质和终端设备 | |
CN111291127B (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN110740151B (zh) | 一种微服务调整方法、装置、服务器及计算机存储介质 | |
CN110166561B (zh) | 可穿戴设备的数据处理方法、装置、系统、设备及介质 | |
CN112260965A (zh) | 一种消息处理方法、装置、设备及存储介质 | |
CN113050918A (zh) | 基于远程双录的音频优化方法、装置、设备及存储介质 | |
CN111625412A (zh) | 基于Flume的数据采集方法、系统、设备和存储介质 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221212 Address after: 100190 901-1, Floor 9, Building 3, No. 2 Academy South Road, Haidian District, Beijing Patentee after: Beijing Bodian Zhihe Technology Co.,Ltd. Address before: 100190 1001-3, 10th floor, building 3, No.2 Academy of Sciences South Road, Haidian District, Beijing Patentee before: BEIJING JIAODIAN XINGANXIAN INFORMATION TECHNOLOGY CO.,LTD. |
|
TR01 | Transfer of patent right |