CN113037846A - 数据上报方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据上报方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113037846A CN113037846A CN202110286436.1A CN202110286436A CN113037846A CN 113037846 A CN113037846 A CN 113037846A CN 202110286436 A CN202110286436 A CN 202110286436A CN 113037846 A CN113037846 A CN 113037846A
- Authority
- CN
- China
- Prior art keywords
- data
- reporting
- reported
- time point
- preset
- 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 71
- 238000012545 processing Methods 0.000 claims abstract description 85
- 239000000872 buffer Substances 0.000 claims abstract description 79
- 230000008569 process Effects 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 10
- 238000012544 monitoring process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种数据上报方法、装置、电子设备和计算机可读存储介质,采用双缓存队列机制,利用第一缓存队列缓存预设类型的数据,利用第二缓存队列缓存其他的数据。针对第一缓存队列中的数据,在监测到浏览器运行空闲时间点,则进行上报处理,针对第二缓存队列中的数据,在检测到满足设置的预设条件时,进行上报处理。该方案可将预设类型的数据缓存在第一缓存队列中,从而在浏览器空闲时即进行推送,可实现这类数据的及时上报,而对于除此之外的一些数据缓存在第二缓存队列中,在满足设置的预设条件时进行集中推送。如此,针对不同上报需求的数据采用对应的上报机制,可以满足不同的处理需求,提高用户体验。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据上报方法、装置、电子设备和计算机可读存储介质。
背景技术
目前,数据技术(Data Technology,DT)正迅速影响人们生活的方方面面,从数据挖掘、智能推荐到机器学习、深度学习这些炙手可热的新技术都是以数据作为依托,因此数据收集成为DT时代至关重要的一环。其中,网页埋点数据是一种非常重要的数据源,可以帮助服务提供方更好地评估服务质量、分析用户行为,以及挖掘出更多的业务增长点,因此越来越多的网页应用正在接入各种埋点工具。完整的埋点工具需要提供客制化的埋点数据格式定义、网页埋点坑位注入、埋点数据缓存策略、数据上报策略、数据上报重试策略等,目前各大埋点工具提供商侧重于埋点数据格式定义、埋点坑位自动化过程等,对埋点数据的缓存、埋点上报策略、上报重试机制等处理得比较简单。
现有技术中,在进行埋点数据的缓存和上报处理时,往往采用单一数据队列缓存、固定时长上报、定量上报等方式。现有技术中的处理方式不能很好地基于不同场景下的需求进行数据的缓存和上报处理,难以满足数据处理需求,影响用户体验。
发明内容
本申请的目的包括,例如,提供了一种数据上报方法、装置、电子设备和计算机可读存储介质,其能够针对具有上报需求的数据采取对应的上报机制,以满足不同的处理需求、提高用户体验。
本申请的实施例可以这样实现:
第一方面,本申请提供一种数据上报方法,所述方法包括:
获取待上报数据,并检测所述待上报数据的类型是否为预设类型;
在所述待上报数据的类型为所述预设类型时,将所述待上报数据缓存至第一缓存队列,并在监测到浏览器运行空闲时间点时,将所述待上报数据进行上报处理;
在所述待上报数据的类型不为所述预设类型时,将所述待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将所述第二缓存队列中缓存的数据进行上报处理。
在可选的实施方式中,所述检测到满足设置的预设条件的步骤,包括:
检测所述第二缓存队列中缓存的数据是否存在溢出,若存在溢出,则确定满足设置的预设条件;或
检测是否到达设置的本轮上报处理的间隔时间点,若到达本轮上报处理的间隔时间点,则确定满足设置的预设条件。
在可选的实施方式中,所述将所述第二缓存队列中缓存的数据进行上报处理的步骤,包括:
从所述第二缓存队列缓存的数据中提取预设条数的数据,并上报至服务器;
根据所述服务器的反馈信息获得本轮上报处理的数据传输耗时;
根据本轮上报处理的数据传输耗时设置下一轮上报处理的间隔时间点。
在可选的实施方式中,所述根据本轮上报处理的数据传输耗时设置下一轮上报处理的间隔时间点的步骤,包括:
根据本轮上报处理的间隔时间点或预设的初始间隔时间点,以及本轮上报处理的数据传输耗时,设置下一轮上报处理的间隔时间点。
在可选的实施方式中,所述设置下一轮上报处理的间隔时间的步骤,包括:
在所述下一轮上报处理的间隔时间点小于预设最小值时,将所述间隔时间点更改为所述预设最小值;或
在所述下一轮上报处理的间隔时间点大于预设最大值时,将所述间隔时间点更改为所述预设最大值。
在可选的实施方式中,在所述第二缓存队列中的数据上报失败时,所述方法还包括:
将所述第二缓存队列中上报失败的数据缓存至所述第一缓存队列中;
在监测到浏览器运行空闲时间点时,将所述第一缓存队列中缓存的数据进行上报处理。
在可选的实施方式中,所述方法还包括:
在所述第一缓存队列或所述第二缓存队列中的数据上报成功时,将上报成功的数据从相应的第一缓存队列或第二缓存队列中删除。
第二方面,本申请提供一种数据上报装置,所述装置包括:
检测模块,用于获取待上报数据,并检测所述待上报数据的类型是否为预设类型;
第一缓存模块,用于在所述待上报数据的类型为所述预设类型时,将所述待上报数据缓存至第一缓存队列,并在监测到浏览器运行空闲时间点时,将所述待上报数据进行上报处理;
第二缓存模块,用于在所述待上报数据的类型不为所述预设类型时,将所述待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将所述第二缓存队列中缓存的数据进行上报处理。
第三方面,本申请提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。
本申请实施例的有益效果包括,例如:
本申请提供的数据上报方法、装置、电子设备和计算机可读存储介质,在获取到待上报数据后,检测待上报数据的类型是否为预设类型,在待上报数据的类型为预设类型时,将待上报数据缓存至第一缓存队列中,并在监测到浏览器运行空闲时间点时,将待上报数据进行上报处理。而在待上报数据的类型不为预设类型时,将待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将第二缓存队列中缓存的数据进行上报处理。
该方案可将预设类型的数据在浏览器空闲时即进行及时上报,而其他类型的数据则在满足设置的预设条件时进行集中上报。如此,可针对不同的上报需求的数据采取对应的上报机制,可满足不同的处理需求、提高用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的数据上报方法的应用场景示意图;
图2为本申请实施例提供的数据上报方法的流程图;
图3为图2中步骤S130包含的子步骤的流程图;
图4为本申请实施例提供的数据上报方法中,上报失败数据缓存方法的流程图;
图5为本申请实施例提供的数据上报方法的另一流程图;
图6为本申请实施例提供的数据上报装置的功能模块框图;
图7为本申请实施例提供的电子设备的结构框图。
图标:100-用户终端;110-处理器;120-存储器;130-通信模块;140-数据上报装置;141-检测模块;142-第一缓存模块;143-第二缓存模块;200-服务器。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
请参阅图1,为本申请实施例提供的数据上报方法的应用场景示意图,该应用场景中包括用户终端100和服务器200,用户终端100和服务器200通过网络实现通信连接。其中,用户终端100可为多个,多个用户终端100与服务器200通信连接,以实现信息、数据的传输和交互。
本实施例中,用户终端100中安装有相关的应用程序,例如网页应用,在用户终端100上的网页应用运行时,可采集该应用中各个网页上产生的埋点触发信息,并将对应的埋点数据发送至服务器200,在服务器200中实现相关的功能。
本实施例中,用户终端100可以为计算机设备、智能手机、平板电脑等终端设备,服务器200可以是单独的服务器200,也可以是由多台服务器200构成的服务器集群,具体地本实施例不作具体限制。
请参阅图2,图2示出了本申请实施例提供的数据上报方法的流程示意图,该数据上报方法可应用于电子设备,如图1中所示的用户终端100。应当理解,在其它实施例中,本实施例的数据上报方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该数据上报方法的详细步骤介绍如下。
步骤S110,获取待上报数据,并检测所述待上报数据的类型是否为预设类型,若所述待上报数据的类型为所述预设类型,则执行以下步骤S120,若所述待上报数据的类型不为所述预设类型,则执行以下步骤S130。
步骤S120,将所述待上报数据缓存至第一缓存队列,并在监测到浏览器运行空闲时间点时,将所述待上报数据进行上报处理;
步骤S130,将所述待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将所述第二缓存队列中缓存的数据进行上报处理。
本实施例中,用户终端100上网页应用运行时,可通过配置的埋点工具采集网页应用中各个页面产生的埋点触发信息,进而获取埋点数据。可选地,可以是用户操作网页触发以进行采集或网页主动进行采集。采集到的埋点数据需上报至服务器200,以通过服务器200进行相应处理。
埋点工具可实现的功能包括埋点坑位注入、埋点数据格式定义、埋点数据缓存、数据上报和数据上报重试等。本实施例中,着重对于其中的埋点数据缓存、数据上报和数据上报重试进行改进。
所述的待上报数据即为采集到的页面上的埋点数据,而页面上的埋点数据根据数据上报需求的不同,可以将数据进行优先级的划分,例如,有一些埋点数据是需要进行强制推送的,也即具有较高的数据优先级,而有些数据对于推送的时限的需要并不紧急,也即可设置为较低的数据优先级。
基于实际应用中对于数据上报的需求的不同,本实施例中,可预先对一些可设置为较高的数据优先级的数据进行标定,也即可设置为预设类型,而除此类型之外的其他数据可不作标定处理。如此,在实际应用的过程中,在获取到待上报数据时,则可检测该待上报数据的类型是否为预设类型。
若待上报数据的类型为预设类型,则表明需要对该待上报数据进行强制推送。此种情形下,可持续监测浏览器运行状况,以在浏览器运行空闲时间点时,将待上报数据上报至服务器200。其中,本实施例中,可以通过Web原生规范接口,如requestIdleCallback接口进行待上报数据的上报。
此外,本实施例中,在确定待上报数据的类型为预设类型时,还可首先将待上报数据缓存至建立的第一缓存队列中。通过上述的方式在将待上报数据成功上报之后,再将第一缓存队列中缓存的待上报数据删除。而若待上报数据上报失败,则可继续将待上报数据保存在第一缓存队列中,并持续监测浏览器运行状况,在出现浏览器运行空闲时间点时,再进行上报处理。
此外,在本实施例中,若待上报数据的类型不为预设类型,也即待上报数据并不是需要进行强制推送的数据,则可以将待上报数据缓存至第二缓存队列中。对于第二缓存队列中缓存的数据,在具有一定的触发上报事件时,执行将第二缓存队列中缓存的数据进行上报处理的操作。其中,该触发上报事件,可为检测到满足设置的预设条件的实践。该预设条件可以根据需求进行预设设置。也即,第二缓存队列中缓存的数据,并非是在浏览器空闲时间点时即进行上报,而是要在满足设置的预设条件时,才进行上报。
如此,本实施例中,通过双缓存队列的机制,将预设类型的数据缓存到第一缓存队列,将不为预设类型的数据缓存至第二缓存队列。第一缓存队列中的数据,在监测到浏览器运行空闲时间点时,即进行上报处理,如此,可以实现及时的数据上报。而对于第二缓存队列中的数据,在满足设置的预设条件时,进行数据的上报处理。如此,针对不同上报需求的数据采用对应的上报机制,可以满足不同的处理需求,提高用户体验。
在本实施例中,上述通过检测到满足设置的预设条件,以触发第二缓存队列中的数据的上报处理的方式,可以通过以下方式实现:
作为一种可能的实现方式,可以检测第二缓存队列中缓存的数据是否存在溢出,若存在溢出,则可确定满足设置的预设条件。
本实施例中,第二缓存队列的缓存容量相对于第一缓存队列中的缓存容量可更大,但是,若缓存的数据量过大而存在数据溢出时,则可能导致数据的丢失。因此,在本实施例中,若第二缓存队列中缓存的数据存在溢出,则可触发对第二缓存队列中的数据的上报处理,如此,缓解第二缓存队列中的缓存压力,且避免数据的丢失。
可选地,可通过检测第二缓冲队列中的已用容量和第二缓存队列的最大可缓存容量,以确定是否存在数据溢出。
此外,也可以是在第二缓存队列中缓存数据的溢出量超过所设置的阈值时,触发对第二缓存队列中的数据的上报处理,具体地,本实施例不作限制。可在每次采集网页埋点数据并缓存至第二缓存队列时,执行检测是否超出所设置的溢出阈值的步骤,并相应地执行后续的流程。
作为另一种可能的实现方式,也可以检测是否到达设置的本轮上报处理的间隔时间点,若到达本轮上报处理的间隔时间点,则确定满足设置的预设条件。
本实施例中,第二缓存队列中数据的上报处理并非是一次性的上报,而是设置为多轮、间隔地上报。也即,可每间隔一定时间间隔,进行一轮上报处理。因此,每相邻两次上报处理之间具有相应的间隔时间点。
根据上述,若第二缓存队列中缓存的数据存在溢出时,则进行上报处理,但若第二缓存队列中的数据不存在溢出,但是到达了设置的本轮上报处理的间隔时间点,也可触发对第二缓存队列中的数据的上报处理。从而,可以实现对第二缓存队列中的数据进行定时清理的目的。
在本实施例中,在设置每轮上报处理的间隔时间点时,可以首先设置一个初始值,例如,可以是每间隔5秒、10秒等不限,进行一次上报处理。但是,在实际运行过程中,可能出现如网络异常、网络繁忙等,导致数据上报耗时较长的现象,也可能出现如网络空闲,数据上报迅速的现象。因此,若在上报过程中,固定采用初始化的间隔时间点进行上报处理,则可能在网络繁忙的情况下,频繁进行数据上报,导致对网络造成进一步地负担,且增大上报失败的几率,也可能出现在网络空闲状态时,由于上报时间间隔过长,导致无法快速清理第二缓存队列的问题。
基于上述考虑,在本实施例中,请参阅图3,在将第二缓存队列中缓存的数据进行上报处理时,可以通过以下方式实现,从而可以使得上报处理可以适应于当前的网络状态。
步骤S131,从所述第二缓存队列缓存的数据中提取预设条数的数据,并上报至服务器200。
步骤S132,根据所述服务器200的反馈信息获得本轮上报处理的数据传输耗时。
步骤S133,根据本轮上报处理的数据传输耗时设置下一轮上报处理的间隔时间点。
本实施例中,在对第二缓存队列中缓存的数据进行上报处理时,可以采用逐条上报的方式,也可以采用批量上报的方式,也即,所述的预设条件,可以是一条,也可以是多条,具体地本实施例不作限制。其中,在采用批量上报的方式时,可将多条上报数据就进行打包处理,将打包后的数据上报批量上报至服务器200。
服务器200在接收到用户终端100上报的数据后,可向用户终端100返回表明成功接收到数据的反馈信息,在用户终端100接收到服务器200的反馈信息时,可确定数据上报成功。而从用户终端100进行数据上报处理到接收到服务器200的反馈信息时结束,该过程的耗时可以作为本轮上报处理的数据传输耗时。
可以理解,若网络状况良好,则数据传输耗时应当较小,若网络繁忙或异常,则数据传输耗时应当较大。如此,通过本轮上报处理过程中得到的数据传输耗时,以设置下一轮上报处理的间隔时间点。使得后续的上报数据的间隔时间点,可以是适应于当前的网络状况的。
可选地,本实施例中,在设置下一轮上报处理的间隔时间点时,可以根据本轮上报处理的间隔时间点或预设的初始间隔时间点,以及本轮上报处理的数据传输耗时,设置下一轮上报处理的间隔时间点。
由上述可知,可以预先设置一初始间隔时间点,例如5秒或10秒等不限。若本轮上报处理为首次上报处理,则本轮上报处理相应的间隔时间点可为该初始间隔时间点,而本轮上报处理并非首次上报处理,则本轮上报处理的间隔时间点应当是根据其上一轮上报处理的数据传输耗时而设置的。
因此,可以在本轮上报处理的间隔时间点或预设的初始间隔时间点的基础上,再结合本轮上报处理的数据传输耗时,设置下一轮上报处理的间隔时间点。例如,若数据传输耗时相对较大,则可在本轮上报处理的间隔时间点或预设的初始间隔时间点的基础上,进行一定数值的增大,从而,增大下一轮上报处理的间隔。若数据传输耗时相对较长,则可在本轮上报处理的间隔时间点或预设的初始间隔时间点的基础上,进行一定数值的减小,从而,可以加速下一轮上报处理。
本实施例中,通过上述方式,以获取每轮上报处理时的数据传输耗时,从而可获知当前的网络状态,以相应地对下一轮上报处理的间隔时间点进行设置,可以使得上报处理适应于当前的网络状态,避免在网络状态不佳的情况下频繁进行上报,导致增大网络负担及加大上报失败的几率的问题,也可以在网络状态良好的情况下,加快对第二缓存队列的数据的清理。
此外,在本实施例中,考虑到对第二缓存队列中的数据的上报处理,除了需要考虑网络状态之外,还应当遵循一定的上报规范,例如,在网络状态良好的情况下,由于还需进行其他的处理事项的处理,因此,也不能十分频繁地进行数据的上报,而在网络状态不佳的情况下,为了避免第二缓存队列中的数据的丢失严重,因此,也不能间隔很长的时间才进行一轮上报处理。
因此,在本实施例中,如果通过上述计算之后,得到的下一轮上报处理的间隔时间点小于预设最小值时,则将间隔时间点更改为预设最小值。其中,预设最小值可以根据需求进行设置,例如,可以设置为2秒、3秒等不限。
如果通过上述计算之后,得到的下一轮上报处理的间隔时间点大于预设最大值时,则将间隔时间点更改为预设最大值。该预设最大值可以为例如10秒、20秒等不限。
如此,通过上述方式,则避免每次上报处理之间的间隔时间过长或过短,使得上报处理能使适应当前网络状态的情况下,也能遵循一定的上报规范。
由上述可知,数据的上报可能存在上报失败的情况,对于上报失败的数据,在现有技术中处理方式是,通过设置定时器以固定时长进行数据的重新上报,或者采用直接丢失上报失败的数据的方式。现有技术中的方式,可能存在一些无效的网络传输的问题,或者是造成数据的丢失,影响用户体验的问题。
基于上述考虑,请参阅图4,本实施例中,对于第二缓存队列中上报失败的数据,采用以下方式进行处理。
步骤S140,将所述第二缓存队列中上报失败的数据缓存至所述第一缓存队列中。
步骤S150,在监测到浏览器运行空闲时间点时,将所述第一缓存队列中缓存的数据进行上报处理。
本实施例中,由于第一缓存队列中的数据,为在监测到浏览器运行空闲时间点时即进行上报处理,可以实现较为及时的推送。因此,将第二缓存队列中上报失败的数据缓存至第一缓存队列中,相当于提高了上报失败的数据的上报优先级。
如此,对于上报失败的数据,则可以转移至第一缓存队列中,一方面可以避免这些数据的丢失,另一方面,可以在后续及时进行这类数据的推送。
本实施例中,对于第一缓存队列以及第二缓存队列中的数据,在数据上报成功之后,即将上报成功的数据从相应的第一缓存队列或第二缓存队列中删除。以达到及时清理缓存队列的目的。
本实施例中,结合图5所示及以下描述,对本实施例所提供的数据上报方法的整体过程进行介绍。
步骤S201,获取待上报数据。
该待上报数据为埋点工具采集到的页面上的埋点数据。
步骤S202,检测待上报数据的类型是否为预设类型,若为预设类型,则执行以下步骤S203,若不为预设类型,则执行以下步骤S206。
步骤S203,监测到浏览器运行空闲时间点则进行待上报数据的上报处理。
在该步骤中,同时将待上报数据缓存至第一缓存队列中。
步骤S204,检测数据是否上报成功,若上报成功,则跳转至上述步骤S201,以继续进行埋点数据的采集,若上报失败,则执行以下步骤S205。
步骤S205,将数据缓存至第一缓存队列中。
在该步骤中,对于待上报数据而言,在待上报数据上报失败时,将待上报数据继续缓存在第一缓存队列中,并持续监测是否存在浏览器运行空闲时间点。
步骤S206,将待上报数据缓存至第二缓存队列中。
步骤S207,检测第二缓存队列中的数据是否存在溢出,若存在溢出,则执行以下步骤S208,若不存在溢出,则执行以下步骤S209。
步骤S208,按逐条上报或批量上报的方式对第二缓存队列中的数据进行上报处理。
步骤S209,检测是否到达设置的本轮上报处理的间隔时间点,若到达,则跳转至步骤S208,若未到达,则跳转至步骤S206。
本实施例所提供的数据上报方法,采用双缓存队列的机制,分别缓存常规的埋点数据和需要强制推送的埋点数据。对于需要强制推送的埋点数据,在监测到浏览器运行空闲时间点时即进行上报处理,对于常规的埋点数据,在满足设置的预设条件时,进行上报处理。例如,在数据存在溢出时,或到达设置的上报的间隔时间点时。如此,通过设置满足具有不同上报需求的数据的不同上报机制,满足不同的上报需求场景。
此外,本实施例中,通过将常规数据中上报失败的数据进行优先级的提升,从而可以在后续及时对这些上报失败的数据进行上报,避免数据的丢失和无效的重试。
进一步地,本实施例中,通过获取数据传输耗时,从而可以获知当前网络状态,进而相应地调整每轮上报处理的间隔时间点,使得上报处理能够适应当前网络状态,一方面可在网络状态不佳的情况下,避免对网络造成负担,另一方面,可在网络状态良好时及时清理缓存队列。
请参阅图6,为本申请另一实施例提供的数据上报装置140的功能模块框图,该数据上报装置140包括检测模块141、第一缓存模块142和第二缓存模块143。
检测模块141,用于获取待上报数据,并检测所述待上报数据的类型是否为预设类型;
可以理解,该检测模块141可以用于执行上述步骤S110,关于该检测模块141的详细实现方式可以参照上述对步骤S110有关的内容。
第一缓存模块142,用于在所述待上报数据的类型为所述预设类型时,将所述待上报数据缓存至第一缓存队列,并在监测到浏览器运行空闲时间点时,将所述待上报数据进行上报处理;
可以理解,该第一缓存模块142可以用于执行上述步骤S120,关于该第一缓存模块142的详细实现方式可以参照上述对步骤S120有关的内容。
第二缓存模块143,用于在所述待上报数据的类型不为所述预设类型时,将所述待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将所述第二缓存队列中缓存的数据进行上报处理;
可以理解,该第二缓存模块143可以用于执行上述步骤S130,关于该第二缓存模块143的详细实现方式可以参照上述对步骤S130有关的内容。
作为一种可能的实现方式,上述第二缓存模块143可以用于通过以下方式检测满足设置的预设条件:
检测所述第二缓存队列中缓存的数据是否存在溢出,若存在溢出,则确定满足设置的预设条件;或
检测是否到达设置的本轮上报处理的间隔时间点,若到达本轮上报处理的间隔时间点,则确定满足设置的预设条件。
作为一种可能的实现方式,上述第二缓存模块143可以用于通过以下方式极性数据的上报处理:
从所述第二缓存队列缓存的数据中提取预设条数的数据,并上报至服务器200;
根据所述服务器200的反馈信息获得本轮上报处理的数据传输耗时;
根据本轮上报处理的数据传输耗时设置下一轮上报处理的间隔时间点。
作为一种可能的实现方式,上述第二缓存模块143具体可以用于:
根据本轮上报处理的间隔时间点或预设的初始间隔时间点,以及本轮上报处理的数据传输耗时,设置下一轮上报处理的间隔时间点。
作为一种可能的实现方式,上述第二缓存模块143还可以用于:
在所述下一轮上报处理的间隔时间点小于预设最小值时,将所述间隔时间点更改为所述预设最小值;或
在所述下一轮上报处理的间隔时间点大于预设最大值时,将所述间隔时间点更改为所述预设最大值。
作为一种可能的实现方式,上述数据上报装置140还可以包括第三缓存模块,该第三缓存模块用于:
将所述第二缓存队列中上报失败的数据缓存至所述第一缓存队列中;
在监测到浏览器运行空闲时间点时,将所述第一缓存队列中缓存的数据进行上报处理。
作为一种可能的实现方式,上述数据上报装置140还包括删除模块,该删除模块用于:
在所述第一缓存队列或所述第二缓存队列中的数据上报成功时,将上报成功的数据从相应的第一缓存队列或第二缓存队列中删除。
进一步地,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的数据上报方法。
其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述数据上报方法的解释说明。
请参阅图7,为本申请实施例提供的电子设备的结构图,该电子设备可以图1中所示的用户终端100。该电子设备可包括存储器120、处理器110及通信模块130。所述存储器120、处理器110以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器120用于存储程序或者数据。所述存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器110用于读/写存储器120中存储的数据或程序,并执行本申请任意实施例提供的数据上报方法。
通信模块130用于通过网络建立电子设备与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图7所示的结构仅为电子设备的结构示意图,所述电子设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
综上所述,本申请实施例提供的数据上报方法、装置、电子设备和计算机可读存储介质,在获取到待上报数据后,检测待上报数据的类型是否为预设类型,在待上报数据的类型为预设类型时,将待上报数据缓存至第一缓存队列中,并在监测到浏览器运行空闲时间点时,将待上报数据进行上报处理。而在待上报数据的类型不为预设类型时,将待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将第二缓存队列中缓存的数据进行上报处理。
该方案可将预设类型的数据在浏览器空闲时即进行及时上报,而其他类型的数据则在满足设置的预设条件时进行集中上报。如此,可针对不同的上报需求的数据采取对应的上报机制,可满足不同的处理需求、提高用户体验。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据上报方法,其特征在于,所述方法包括:
获取待上报数据,并检测所述待上报数据的类型是否为预设类型;
在所述待上报数据的类型为所述预设类型时,将所述待上报数据缓存至第一缓存队列,并在监测到浏览器运行空闲时间点时,将所述待上报数据进行上报处理;
在所述待上报数据的类型不为所述预设类型时,将所述待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将所述第二缓存队列中缓存的数据进行上报处理。
2.根据权利要求1所述的数据上报方法,其特征在于,所述检测到满足设置的预设条件的步骤,包括:
检测所述第二缓存队列中缓存的数据是否存在溢出,若存在溢出,则确定满足设置的预设条件;或
检测是否到达设置的本轮上报处理的间隔时间点,若到达本轮上报处理的间隔时间点,则确定满足设置的预设条件。
3.根据权利要求2所述的数据上报方法,其特征在于,所述将所述第二缓存队列中缓存的数据进行上报处理的步骤,包括:
从所述第二缓存队列缓存的数据中提取预设条数的数据,并上报至服务器;
根据所述服务器的反馈信息获得本轮上报处理的数据传输耗时;
根据本轮上报处理的数据传输耗时设置下一轮上报处理的间隔时间点。
4.根据权利要求3所述的数据上报方法,其特征在于,所述根据本轮上报处理的数据传输耗时设置下一轮上报处理的间隔时间点的步骤,包括:
根据本轮上报处理的间隔时间点或预设的初始间隔时间点,以及本轮上报处理的数据传输耗时,设置下一轮上报处理的间隔时间点。
5.根据权利要求4所述的数据上报方法,其特征在于,所述设置下一轮上报处理的间隔时间的步骤,包括:
在所述下一轮上报处理的间隔时间点小于预设最小值时,将所述间隔时间点更改为所述预设最小值;或
在所述下一轮上报处理的间隔时间点大于预设最大值时,将所述间隔时间点更改为所述预设最大值。
6.根据权利要求1所述的数据上报方法,其特征在于,在所述第二缓存队列中的数据上报失败时,所述方法还包括:
将所述第二缓存队列中上报失败的数据缓存至所述第一缓存队列中;
在监测到浏览器运行空闲时间点时,将所述第一缓存队列中缓存的数据进行上报处理。
7.根据权利要求1-6任意一项所述的数据上报方法,其特征在于,所述方法还包括:
在所述第一缓存队列或所述第二缓存队列中的数据上报成功时,将上报成功的数据从相应的第一缓存队列或第二缓存队列中删除。
8.一种数据上报装置,其特征在于,所述装置包括:
检测模块,用于获取待上报数据,并检测所述待上报数据的类型是否为预设类型;
第一缓存模块,用于在所述待上报数据的类型为所述预设类型时,将所述待上报数据缓存至第一缓存队列,并在监测到浏览器运行空闲时间点时,将所述待上报数据进行上报处理;
第二缓存模块,用于在所述待上报数据的类型不为所述预设类型时,将所述待上报数据缓存至第二缓存队列,并在检测到满足设置的预设条件时,将所述第二缓存队列中缓存的数据进行上报处理。
9.一种电子设备,其特征在于,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行权利要求1-7中任意一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-7中任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286436.1A CN113037846A (zh) | 2021-03-17 | 2021-03-17 | 数据上报方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286436.1A CN113037846A (zh) | 2021-03-17 | 2021-03-17 | 数据上报方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113037846A true CN113037846A (zh) | 2021-06-25 |
Family
ID=76471167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286436.1A Pending CN113037846A (zh) | 2021-03-17 | 2021-03-17 | 数据上报方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113037846A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438093A (zh) * | 2021-07-02 | 2021-09-24 | 成都新希望金融信息有限公司 | 一种告警方法、装置及设备 |
CN113905098A (zh) * | 2021-09-30 | 2022-01-07 | 北京百度网讯科技有限公司 | 一种数据上报方法、装置、设备及存储介质 |
CN113992752A (zh) * | 2021-09-13 | 2022-01-28 | 广州番禺电缆集团有限公司 | 一种电缆监控数据上报方法及装置 |
CN114006891A (zh) * | 2021-10-28 | 2022-02-01 | 平安普惠企业管理有限公司 | 信息的上报方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067214A2 (en) * | 2000-03-03 | 2001-09-13 | Merinta, Inc. | System and method for tracking user interaction with a graphical user interface |
US6336143B1 (en) * | 1993-09-27 | 2002-01-01 | International Business Machines Corporation | Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system |
CN102882753A (zh) * | 2012-06-15 | 2013-01-16 | 浙江吉利汽车研究院有限公司杭州分公司 | 一种can消息长延时处理方法 |
CN105119844A (zh) * | 2015-09-07 | 2015-12-02 | 中国联合网络通信集团有限公司 | 内置wifi模块的工作模式控制方法和装置 |
CN106341339A (zh) * | 2016-10-10 | 2017-01-18 | 合肥红珊瑚软件服务有限公司 | 一种端到端网络流量控制方法 |
CN106452840A (zh) * | 2016-09-09 | 2017-02-22 | 青岛海信宽带多媒体技术有限公司 | 一种网络终端事件上报方法及装置 |
CN107181743A (zh) * | 2017-05-16 | 2017-09-19 | 广州华多网络科技有限公司 | 网络直播数据上报方法及装置 |
CN108093439A (zh) * | 2017-10-30 | 2018-05-29 | 努比亚技术有限公司 | 用户行为数据上报控制方法、终端及计算机可读存储介质 |
CN109618331A (zh) * | 2019-02-01 | 2019-04-12 | 深圳乐信软件技术有限公司 | 数据上报方法、装置、设备及存储介质 |
CN109982160A (zh) * | 2019-04-09 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 一种视频上传的方法、装置、客户端设备及服务器 |
CN111510395A (zh) * | 2020-06-16 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 业务消息上报方法、装置、设备及介质 |
CN111866034A (zh) * | 2019-04-24 | 2020-10-30 | 阿尔弗雷德·卡赫欧洲两合公司 | 清洁设备的数据处理方法及系统、存储介质 |
-
2021
- 2021-03-17 CN CN202110286436.1A patent/CN113037846A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336143B1 (en) * | 1993-09-27 | 2002-01-01 | International Business Machines Corporation | Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system |
WO2001067214A2 (en) * | 2000-03-03 | 2001-09-13 | Merinta, Inc. | System and method for tracking user interaction with a graphical user interface |
CN102882753A (zh) * | 2012-06-15 | 2013-01-16 | 浙江吉利汽车研究院有限公司杭州分公司 | 一种can消息长延时处理方法 |
CN105119844A (zh) * | 2015-09-07 | 2015-12-02 | 中国联合网络通信集团有限公司 | 内置wifi模块的工作模式控制方法和装置 |
CN106452840A (zh) * | 2016-09-09 | 2017-02-22 | 青岛海信宽带多媒体技术有限公司 | 一种网络终端事件上报方法及装置 |
CN106341339A (zh) * | 2016-10-10 | 2017-01-18 | 合肥红珊瑚软件服务有限公司 | 一种端到端网络流量控制方法 |
CN107181743A (zh) * | 2017-05-16 | 2017-09-19 | 广州华多网络科技有限公司 | 网络直播数据上报方法及装置 |
CN108093439A (zh) * | 2017-10-30 | 2018-05-29 | 努比亚技术有限公司 | 用户行为数据上报控制方法、终端及计算机可读存储介质 |
CN109618331A (zh) * | 2019-02-01 | 2019-04-12 | 深圳乐信软件技术有限公司 | 数据上报方法、装置、设备及存储介质 |
CN109982160A (zh) * | 2019-04-09 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 一种视频上传的方法、装置、客户端设备及服务器 |
CN111866034A (zh) * | 2019-04-24 | 2020-10-30 | 阿尔弗雷德·卡赫欧洲两合公司 | 清洁设备的数据处理方法及系统、存储介质 |
CN111510395A (zh) * | 2020-06-16 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 业务消息上报方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
施云波, 西安电子科技大学出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438093A (zh) * | 2021-07-02 | 2021-09-24 | 成都新希望金融信息有限公司 | 一种告警方法、装置及设备 |
CN113992752A (zh) * | 2021-09-13 | 2022-01-28 | 广州番禺电缆集团有限公司 | 一种电缆监控数据上报方法及装置 |
CN113905098A (zh) * | 2021-09-30 | 2022-01-07 | 北京百度网讯科技有限公司 | 一种数据上报方法、装置、设备及存储介质 |
CN114006891A (zh) * | 2021-10-28 | 2022-02-01 | 平安普惠企业管理有限公司 | 信息的上报方法、装置、设备及存储介质 |
CN114006891B (zh) * | 2021-10-28 | 2024-05-17 | 北京神州数码云科信息技术有限公司 | 信息的上报方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037846A (zh) | 数据上报方法、装置、电子设备和计算机可读存储介质 | |
CN109873904B (zh) | 消息推送的用户消息状态上报处理方法、装置及存储介质 | |
CN107204875B (zh) | 数据上报链路监测方法、装置、电子设备及存储介质 | |
CN110955586A (zh) | 一种基于日志的系统故障预测方法、装置和设备 | |
CN111382026A (zh) | 卡顿监控方法、装置、系统、存储介质和计算机设备 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN114978867A (zh) | 告警通知方法、装置、设备及存储介质 | |
CN108259526B (zh) | 一种数据传输方法和装置 | |
CN109766198B (zh) | 流式处理方法、装置、设备及计算机可读存储介质 | |
CN111311014A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN106294364B (zh) | 实现网络爬虫抓取网页的方法和装置 | |
CN114500315A (zh) | 设备状态监控方法、装置、计算机设备及存储介质 | |
CN105989152B (zh) | 搜索引擎服务质量的监控方法、装置和系统 | |
CN112118352B (zh) | 通知触发消息的处理方法、装置、电子设备以及计算机可读介质 | |
CN116431313A (zh) | 一种轮询任务的调度方法、装置、设备及介质 | |
CN110659132A (zh) | 请求处理的优化方法及计算机可读存储介质 | |
CN113123955A (zh) | 柱塞泵异常检测方法、装置、存储介质及电子设备 | |
CN113434729B (zh) | 视频相关信息聚合获取方法、装置和终端设备 | |
CN113676531B (zh) | 电商流量削峰方法、装置、电子设备及可读存储介质 | |
CN115409345A (zh) | 业务指标计算方法、装置、计算机设备和存储介质 | |
CN109089281A (zh) | 一种集群通信方法、终端设备及存储介质 | |
CN109889602B (zh) | 资源采集频率调整方法、装置、系统和存储介质 | |
CN112541106A (zh) | 网络数据获取方法、装置、计算机设备和存储介质 | |
CN115766696A (zh) | 一种文件上传方法、装置、电子设备及存储介质 | |
JP5743334B2 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210625 |