CN112350807A - 终端大数据采集***避免网络风暴的容错方法 - Google Patents
终端大数据采集***避免网络风暴的容错方法 Download PDFInfo
- Publication number
- CN112350807A CN112350807A CN201910757295.XA CN201910757295A CN112350807A CN 112350807 A CN112350807 A CN 112350807A CN 201910757295 A CN201910757295 A CN 201910757295A CN 112350807 A CN112350807 A CN 112350807A
- Authority
- CN
- China
- Prior art keywords
- terminal
- connection
- retry
- time
- data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明揭示了一种终端大数据采集***避免网络风暴的容错方法,在终端向服务端上报数据失败的情况下,通过超时重传时长非线性增加、超时重传时长随机抖动、重传次数抑制这三个机制,来避免服务端出现网络风暴现象;终端的每次重试时间点都是离散随机分布的,这样可以减少大量终端在同一时刻发起重试请求的概率;终端发起重试请求的间隔时间随重试次数而增加,这样可以避免大量终端在单位时间内不停重试‑失败‑重试,导致的恶性循环;根据数据上传可靠性要求,灵活设定终端重试最大次数。本发明提出的终端大数据采集***避免网络风暴的容错方法,可避免因终端反复重传数据造成服务端产生网络风暴。
Description
技术领域
本发明属于网络通讯技术领域,涉及一种容错方法,尤其涉及一种终端大数据采集***中数据采集终端向服务端上报数据时,因为网络异常、服务端异常、客户端异常的场景下,避免因终端反复重传数据造成服务端产生网络风暴的容错方法。
背景技术
随着IP网络和应用的迅速发展以及电信市场竞争的日益加剧,全球的各大网络运营商正掀起三网融合业务发展的热潮。网络运营商全力拓展宽带业务和视频业务,用户侧终端设备(包括:智能机顶盒、智能网关等)呈现出爆发式增长,与之伴随的越发激烈的市场竞争。运营商为了提升产品服务质量、提高市场竞争力,需要获取用户对互联网和视频业务质量感知,通常采用在用户侧终端设备植入软探针的手段,进行用户终端业务质量数据的采集,然后对大量终端数据进行挖掘和分析,从而实现网络优化、用户行为分析和精细化业务运营。
终端大数据采集***一般分为终端软探针和数据采集分析平台,以机顶盒软探针为例,软探针的数量往往是百万级、千万级、甚至亿级别的,而且终端软探针采集的业务数据包含:登录认证、视频播放、鉴权订购、机顶盒自身性能数据等等。如此大量终端数据的上报对采集平台的网络带宽和处理性能都是一个十分严峻的挑战。如何合理设置终端上报策略,确保在网络异常、平台故障等异常场景下,保证采集分析平台不会由于终端同时发送海量请求和数据上报的影响,出现超负载甚至宕机的严重故障,是终端大数据采集***面临的挑战。
在终端大数据采集***中,终端软探针一般会周期性地向采集分析平台上报数据。如果在一段时间内由于网络或平台出现故障,导致软探针没能成功上报数据;为了确保数据不缺失,软探针一般会立即尝试重连服务器;此时由于大量终端都在同一时间段发起重连请求,会瞬间产生大量的请求和数据上报,这对于采集分析平台来说就是发生了网络数据风暴。
在终端大数据采集***中,在发生网络数据风暴时,平台侧网络负载大幅增加,采集平台性能急剧下降,可能会造成无法及时响应终端请求、处理终端数据,进而造成终端再更多次地发起重连重试请求,引发恶性循环,严重影响数据采集,加剧***故障时长。若此问题不能得到有效解决,势必会导致终端大数据采集***的稳定性下降、数据丢失,使得***无法发挥出其应有的效能。
为了解决网络风暴问题,目前业界通常的实现方法主要包括两种:
方法一:减少终端在异常情况下重试的次数。
此方法的优点是可以避免终端产生过多的、甚至无休止的重试请求,从而避免平台侧由于大量终端无休止的重试请求导致的***瘫痪。
其缺点是不能消除故障恢复时刻,大量终端同时上报数据对平台造成的负载过大问题;另外终端在多次重试后放弃数据上报,也会导致部分终端数据缺失。
方法二:增加终端重试请求间隔时间。
此方法的优点是,通过增加终端重试请求间隔,可以降低终端在单位时间内向服务器发起的重试和数据上报次数,从而减轻平台的压力。
其缺点是并不能将终端重试上报请求均匀地分布到一段时间内,仍然有可能会对服务器造成不均衡的负载压力。
有鉴于此,如今迫切需要设计一种终端大数据采集方式,以便克服现有终端大数据采集方式存在的上述缺陷。
发明内容
本发明提供一种终端大数据采集***避免网络风暴的容错方法,可避免因终端反复重传数据造成服务端产生网络风暴。
为解决上述技术问题,根据本发明的一个方面,采用如下技术方案:
一种终端大数据采集***避免网络风暴的容错方法,其特征在于,所述容错方法在终端向服务端上报数据失败的情况下,通过“超时重传时长非线性增加”、“超时重传时长随机抖动”、“重传次数抑制”这三个机制,来避免服务端出现网络风暴现象,具体包括如下步骤:
步骤A1:终端采集到数据后,读取重试初始化变量,准备数据上报用于后续计算和判断;
重试次数:retries=1;
固定时延(秒):interval=5;
最大等待周期:max_retries=3;
连接状态:connection_state=success;其中,success表示连接成功;
步骤A2:终端尝试与服务端建立连接,如果建立连接成功则进行数据上报,如果建立连接失败则标记连接状态connection_state=fail,准备开始重传;
步骤A3:终端与服务端建立连接成功时,尝试上报数据,上报数据成功则关闭连接退出流程,上报数据失败则进行准备开始重传;
步骤A4:准备开始重传,计算以下变量:
随机时延:rand_interval设定为0~interval的随机值;
重试等待时:wait_time=(interval+rand_interval)*retries;
步骤A5:终端等待一定时延wait_time,因为wait_time是随机值,因此即使大量终端同时准备重试,实际重试时间点也会离散地落在一段时间内;
步骤A6:判断重试次数retries是否超出预设的最大重试次数max_retries,如果超出则退出流程,放弃本次数据上报,关闭连接退出流程,未结束则设置重试次数retries=retries+1;
步骤A7:判断connection_state是否为fail,若是fail则向服务端重新发起新的连接请求,不是fail则先主动关闭连接,然后再向服务端重新发起新的连接请求,确保终端侧不会有连接堆积;其中,fail表示连接失败。
本发明综合分析业界常见的网络风暴避免机制所存在的不足之处,本发明在设计新的方案策略时,充分考虑数据上报时效性与避免网络风暴的平衡点,针对终端大数据采集***避免网络风暴的机制,提出了以下优化方案:
终端的每次重试时间点都是离散随机分布的,这样可以减少大量终端在同一时刻发起重试请求的概率;
终端发起重试请求的间隔时间随重试次数而增加,这样可以避免大量终端在单位时间内不停重试-失败-重试,导致的恶性循环,随着重试间隔的拉大,平台侧的压力会逐渐降低,能更好地处理终端的请求;
根据数据上传可靠性要求,灵活设定终端重试最大次数。
本发明的有益效果在于:本发明提出的终端大数据采集***避免网络风暴的容错方法,可避免因终端反复重传数据造成服务端产生网络风暴。
附图说明
图1为本发明一实施例中避免网络风暴容错方法的流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
该部分的描述只针对几个典型的实施例,本发明并不仅局限于实施例描述的范围。相同或相近的现有技术手段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。
实施例一
请参阅图1,本发明揭示了一种终端大数据采集***避免网络风暴的容错方法,其特征在于,所述容错方法在终端向服务端上报数据失败的情况下,通过“超时重传时长非线性增加”、“超时重传时长随机抖动”、“重传次数抑制”这三个机制,来避免服务端出现网络风暴现象,具体包括如下步骤:
步骤A1:终端采集到数据后,读取重试初始化变量,准备数据上报用于后续计算和判断;
重试次数:retries=1;
固定时延(秒):interval=5;
最大等待周期:max_retries=3;
连接状态:connection_state=success;其中,success表示连接成功;
步骤A2:终端尝试与服务端建立连接,如果建立连接成功则进行数据上报,如果建立连接失败则标记连接状态connection_state=fail,准备开始重传;
步骤A3:终端与服务端建立连接成功时,尝试上报数据,上报数据成功则关闭连接退出流程,上报数据失败则进行准备开始重传;
步骤A4:准备开始重传,计算以下变量:
随机时延rand_interval设定为0~interval的随机值:rand_interval=rand(0,interval);
重试等待时:wait_time=(interval+rand_interval)*retries;
步骤A5:终端等待一定时延wait_time,因为wait_time是随机值,因此即使大量终端同时准备重试,实际重试时间点也会离散地落在一段时间内;
步骤A6:判断重试次数retries是否超出预设的最大重试次数max_retries,如果超出则退出流程,放弃本次数据上报,关闭连接退出流程,未结束则设置重试次数retries=retries+1;
步骤A7:判断connection_state是否为fail,若是fail则向服务端重新发起新的连接请求,不是fail则先主动关闭连接,然后再向服务端重新发起新的连接请求,确保终端侧不会有连接堆积;其中,fail表示连接失败。
综上所述,本发明提出的终端大数据采集***避免网络风暴的容错方法,可避免因终端反复重传数据造成服务端产生网络风暴。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (1)
1.一种终端大数据采集***避免网络风暴的容错方法,其特征在于,所述容错方法在终端向服务端上报数据失败的情况下,通过“超时重传时长非线性增加”、“超时重传时长随机抖动”、“重传次数抑制”这三个机制,来避免服务端出现网络风暴现象,具体包括如下步骤:
步骤A1:终端采集到数据后,读取重试初始化变量,准备数据上报用于后续计算和判断;
重试次数:retries=1;
固定时延:interval=5;
最大等待周期:max_retries=3;
连接状态:connection_state=success;其中,success表示连接成功;
步骤A2:终端尝试与服务端建立连接,如果建立连接成功则进行数据上报,如果建立连接失败则标记连接状态connection_state=fail,准备开始重传;
步骤A3:终端与服务端建立连接成功时,尝试上报数据,上报数据成功则关闭连接退出流程,上报数据失败则进行准备开始重传;
步骤A4:准备开始重传,计算以下变量:
随机时延:rand_interval设定为0~interval的随机值;
重试等待时:wait_time=(interval+rand_interval)*retries;
步骤A5:终端等待设定时延wait_time,因为wait_time是随机值,因此即使大量终端同时准备重试,实际重试时间点也会离散地落在一段时间内;
步骤A6:判断重试次数retries是否超出预设的最大重试次数max_retries,如果超出则退出流程,放弃本次数据上报,关闭连接退出流程,未结束则设置重试次数retries=retries+1;
步骤A7:判断connection_state是否为fail,若是fail则向服务端重新发起新的连接请求,不是fail则先主动关闭连接,然后再向服务端重新发起新的连接请求,确保终端侧不会有连接堆积;其中,fail表示连接失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910757295.XA CN112350807A (zh) | 2019-08-07 | 2019-08-07 | 终端大数据采集***避免网络风暴的容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910757295.XA CN112350807A (zh) | 2019-08-07 | 2019-08-07 | 终端大数据采集***避免网络风暴的容错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112350807A true CN112350807A (zh) | 2021-02-09 |
Family
ID=74367803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910757295.XA Withdrawn CN112350807A (zh) | 2019-08-07 | 2019-08-07 | 终端大数据采集***避免网络风暴的容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350807A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080067451A (ko) * | 2007-01-16 | 2008-07-21 | 삼성전자주식회사 | 패킷 데이터 재전송 방법 및 장치 |
CN101730136A (zh) * | 2009-11-26 | 2010-06-09 | 中国电信股份有限公司 | M2m终端呼叫的处理方法及*** |
CN102255709A (zh) * | 2010-05-17 | 2011-11-23 | 中兴通讯股份有限公司 | 数据重传方法、基站、终端及无线通信*** |
CN102291846A (zh) * | 2010-06-21 | 2011-12-21 | 中兴通讯股份有限公司 | 一种随机接入方法及实现随机接入的*** |
CN102958101A (zh) * | 2012-12-03 | 2013-03-06 | 李俊 | 一种无线通信终端上规避无线信道拥塞的方法 |
CN106547635A (zh) * | 2015-09-18 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种作业的操作重试方法和装置 |
CN107690200A (zh) * | 2016-08-05 | 2018-02-13 | 电信科学技术研究院 | 一种随机接入方法及终端 |
CN108307439A (zh) * | 2017-08-17 | 2018-07-20 | 上海大学 | 一种在大量多跳无线节点下的自适应退避方法 |
CN109118344A (zh) * | 2018-07-06 | 2019-01-01 | 阿里巴巴集团控股有限公司 | 一种业务重试方法和装置 |
CN109391593A (zh) * | 2017-08-08 | 2019-02-26 | 展讯通信(上海)有限公司 | 用于媒体会话的重试时间确定方法及装置、存储介质、终端 |
-
2019
- 2019-08-07 CN CN201910757295.XA patent/CN112350807A/zh not_active Withdrawn
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080067451A (ko) * | 2007-01-16 | 2008-07-21 | 삼성전자주식회사 | 패킷 데이터 재전송 방법 및 장치 |
CN101730136A (zh) * | 2009-11-26 | 2010-06-09 | 中国电信股份有限公司 | M2m终端呼叫的处理方法及*** |
CN102255709A (zh) * | 2010-05-17 | 2011-11-23 | 中兴通讯股份有限公司 | 数据重传方法、基站、终端及无线通信*** |
CN102291846A (zh) * | 2010-06-21 | 2011-12-21 | 中兴通讯股份有限公司 | 一种随机接入方法及实现随机接入的*** |
WO2011160579A1 (zh) * | 2010-06-21 | 2011-12-29 | 中兴通讯股份有限公司 | 一种随机接入方法及实现随机接入的*** |
CN102958101A (zh) * | 2012-12-03 | 2013-03-06 | 李俊 | 一种无线通信终端上规避无线信道拥塞的方法 |
CN106547635A (zh) * | 2015-09-18 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种作业的操作重试方法和装置 |
CN107690200A (zh) * | 2016-08-05 | 2018-02-13 | 电信科学技术研究院 | 一种随机接入方法及终端 |
CN109391593A (zh) * | 2017-08-08 | 2019-02-26 | 展讯通信(上海)有限公司 | 用于媒体会话的重试时间确定方法及装置、存储介质、终端 |
CN108307439A (zh) * | 2017-08-17 | 2018-07-20 | 上海大学 | 一种在大量多跳无线节点下的自适应退避方法 |
CN109118344A (zh) * | 2018-07-06 | 2019-01-01 | 阿里巴巴集团控股有限公司 | 一种业务重试方法和装置 |
Non-Patent Citations (1)
Title |
---|
吴克军等: "Ad Hoc网络媒体接入控制中一种新的退避算法", 《北京邮电大学学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649866B2 (en) | Method and apparatus for indirectly assessing a status of an active entity | |
CN101123588B (zh) | 控制冗余数据包传输的方法、媒体网关及*** | |
EP2008114B1 (en) | Method and system for alert throttling in media quality monitoring | |
CN100553213C (zh) | 一种wlan异常快速恢复的方法及设备 | |
KR100812374B1 (ko) | 클러스터 시스템에서 프로토콜 네트워크 장애 관리 시스템및 방법 | |
US20120124431A1 (en) | Method and system for client recovery strategy in a redundant server configuration | |
CN101820499B (zh) | 一种实现机顶盒与家庭网关自动交互的方法及*** | |
US11297158B1 (en) | Proxy selection by monitoring quality and available capacity | |
Seufert et al. | Quicker or not?-an empirical analysis of quic vs tcp for video streaming qoe provisioning | |
CN114422571B (zh) | 一种量子通信客户端断开重连***及方法 | |
CN111092900B (zh) | 服务器异常连接和扫描行为的监控方法和装置 | |
WO2014110911A1 (zh) | Iptv***中的故障处理方法及装置 | |
CN107454184B (zh) | Android客户端与服务器建立稳定网络连接的方法 | |
CN107682442A (zh) | 一种Web连接方法及装置 | |
WO2017080328A1 (zh) | 终端用户状态获取方法、装置和*** | |
CN107547561B (zh) | 一种进行ddos攻击防护处理的方法及装置 | |
US11082309B2 (en) | Dynamic and interactive control of a residential gateway connected to a communication network | |
CN112350807A (zh) | 终端大数据采集***避免网络风暴的容错方法 | |
CN110557381B (zh) | 基于媒体流热迁移机制的媒体高可用*** | |
KR101501698B1 (ko) | 이동통신망 내 비정상 데이터 플러딩 탐지방법 | |
WO2016176910A1 (zh) | 处理tr-069消息的方法及装置 | |
CN101562563A (zh) | 用户非正常下线后的快速重拨方法 | |
CN111049741A (zh) | 提高通信可靠性的方法、通信***及终端设备 | |
US20140282617A1 (en) | Density-based event handling | |
JP2005011267A (ja) | リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210209 |
|
WW01 | Invention patent application withdrawn after publication |