CN115484181A - 数据上报方法及装置 - Google Patents
数据上报方法及装置 Download PDFInfo
- Publication number
- CN115484181A CN115484181A CN202110665893.1A CN202110665893A CN115484181A CN 115484181 A CN115484181 A CN 115484181A CN 202110665893 A CN202110665893 A CN 202110665893A CN 115484181 A CN115484181 A CN 115484181A
- Authority
- CN
- China
- Prior art keywords
- data
- reported
- type
- reporting
- sequence identifier
- 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
Images
Classifications
-
- 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/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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/06—Generation of reports
-
- 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
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种数据上报方法,涉及互联网技术领域。该数据上报方法包括:在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。在轮询上报待上报数据的过程中,响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。采用本技术方案,能够确保待上报数据不丢失,从而能够提高上报率。另外,前述待上报数据中还包括顺序标识,使得服务器能够不依赖于终端设备上报的应上报数据的总数量统计上报率,且能够统计任意时间段的上报率。
Description
技术领域
本申请实施例涉及互联网技术领域,尤其涉及一种数据上报方法及装置。
背景技术
用户行为数据分析,在获取用户需求以及优化应用程序方面,起到至关重要的作用。而应用程序向服务器上报数据的上报率,直接影响用户行为数据分析的准确性。“上报率”表示服务器成功接收到的数据的数量,在应用程序产生的数据总数量中的占比。
一些常规的操作,例如常用的数据上报方法是,应用程序每获得一个数据,将该数据上报服务器。而应用程序与服务器之间的网络情况,和用户操作情况中的至少一项发生改变,例如网络中断或者应用程序被关闭,会导致应用程序的数据丢失,难以保证较高的上报率。
发明内容
本申请实施例提供了一种数据上报方法及装置,以解决常规操作难以保证较高的上报率的问题。
第一方面,本申请实施例提供了一种数据上报方法,该方法包括:
在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,并对待上报数据集执行以下处理,直到满足预定条件:
响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据;
其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。
第二方面,本申请实施例提供了一种数据上报方法,该方法包括:
接收各个类型的上报数据;各个类型的上报数据,是在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,从待上报数据集中分别轮询上报的,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据;每个上报数据包括顺序标识;
对应每个类型,按照预设的第一统计周期,周期性根据相应第一统计周期内所接收上报数据的对应的最大顺序标识和最小顺序标识,确定相应第一统计周期内相应类型的上报数据对应的上报率。
第三方面,本申请实施例提供了一种数据上报装置,该装置包括:
上报模块,用于在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,并对待上报数据集执行以下处理,直到满足预定条件:
删除模块,用于响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据;
其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。
第四方面,本申请实施例提供了一种数据上报装置,该装置包括:
接收模块,用于接收各个类型的上报数据;各个类型的上报数据,是在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,从待上报数据集中分别轮询上报的,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据;每个上报数据包括顺序标识;
上报率统计模块,用于对应每个类型,按照预设的第一统计周期,周期性根据相应第一统计周期内所接收上报数据的对应的最大顺序标识和最小顺序标识,确定相应第一统计周期内相应类型的上报数据对应的上报率。
第五方面,本申请实施例提供了一种终端设备,该终端设备包括处理器以及存储器:存储器用于存储程序代码;该处理器用于根据程序代码中的指令执行第一方面涉及的数据上报方法。
第六方面,本申请实施例提供了一种服务器,该服务器包括处理器以及存储器:存储器用于存储程序代码;该处理器用于根据程序代码中的指令执行第二方面涉及的数据上报方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面或第二方面所述的数据上报方法。
第八方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机实现第一方面或第二方面所述的数据上报方法。
从以上描述可以看出,本申请实施例具有以下优点:
在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。且本技术方案,在轮询上报待上报数据的过程中,响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。说明,待上报数据集中包括应用程序每次运行过程中产生,且未上报成功的待上报数据。可见,本申请实施例的技术方案,若待上报数据未上报成功,那么该待上报数据则被存储在待上报数据集中,不断的被轮询上报,直到被成功上报,不会因网络状态和应用程序进程的中断而丢失,从而能够提高待上报数据的上报率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。应理解,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的网络架构10的示例性架构示意图;
图2A为本申请实施例提供的数据上报方法100的示例性方法流程图;
图2B为本申请实施例提供的数据上报方法200的示例性方法流程图;
图3A为本申请实施例提供的上报率统计的一种示例性场景示意图;
图3B为本申请实施例提供的上报率统计的另一种示例性场景示意图;
图4为本申请实施例提供的网络架构20的示例性架构示意图;
图5A为本申请实施例提供的数据上报方法300的示例性信令交互示意图;
图5B为本申请实施例提供的图5A中数据上报方法301的示例性信令交互示意图;
图5C为本申请实施例提供的图5A中数据上报方法302的示例性信令交互示意图;
图6A为本申请实施例提供的数据上报装置60的示例性组成示意图;
图6B为本申请实施例提供的终端设备61的示例性结构示意图;
图7A为本申请实施例提供的数据上报装置70的示例性组成示意图;
图7B为本申请实施例提供的服务器71的示例性结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例的技术方案进行描述。
本申请以下实施例中所使用的术语是为了描述特定实施例的目的,而并非旨在作为对本申请技术方案的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,尽管在以下实施例中可能采用术语第一、第二等来描述某一类对象,但所述对象不应限于这些术语。这些术语用来将该类对象的具体实现对象进行区分。例如,以下实施例中采用术语第一、第二等来描述通信链路,但通信链路不限于这些术语。这些术语仅用来区分不同的通信链路。以下实施例中可能采用术语第一、第二等来描述的其他类对象同理,此处不再赘述。
下面介绍本申请实施例涉及的实施场景、用于这样的实施场景中的相关设备、以及用于这样的设备的实施例。
请参考图1,图1示意了一种示例性网络架构10。网络架构10包括:终端设备11和服务器12,终端设备11和服务器12通过网络13进行数据交互。示例性的,终端设备11通过网络13向服务器12上报数据。网络13可以是有线网络,也可以是无线网络,本申请实施例对此不作限定。
终端设备11可以实现为诸如手机、平板电脑、游戏主机、可穿戴设备、和PC(Personal Computer,个人计算机)等电子设备。可选地,终端设备11支持应用程序的运行。可选的,应用程序可以依赖于终端设备11的操作系统,通过运行一系列预配置的计算机数据和指令,实现特定的应用目的。应用程序例如手机APP(Application),手机APP包括即时通信APP、浏览器APP和多媒体播放器APP等。可选的,当应用程序在终端设备11中运行,终端设备11可以将应用程序运行过程中产生的数据,经由网络13上报服务器12。
可选的,应用程序运行过程中产生的数据,也可以称为日志(log)或者事件。这些数据可以包括应用程序的运行数据(例如,应用程序调用某项功能的数据、应用程序加载用户游戏场景的数据等),和用户的操作数据(例如,用户点击播放某视频的操作数据、响应用户操作显示应用程序功能界面的数据等)等。可选的,每个数据可以包括用于标识业务身份的应用程序标识(App key),以及用于标识终端设备身份的设备标识(deviceID)。显然,应用程序运行过程中产生的数据,能够反应用户的行为,可以认为是用户行为数据。基于此,终端设备11将这些数据上报服务器12,以通过分析这些数据,优化应用程序以满足用户更多的需求。而这些数据的上报率越高,通过分析上报的数据得到的用户行为越接近用户的真实行为。
服务器12可以是为应用程序提供计算资源的服务设备或者云平台。服务器12可以用于接收并维护应用程序的运行数据,处理与应用程序的配置、参数相关的逻辑,诸如可以为应用程序提供计算上报数据的参数、存储应用程序上报的数据、网络服务、安全服务以及大数据和人工智能平台等服务。例如,服务器12可以维护上报数据、维护统计上报率、监控上报率等的执行逻辑等。服务器12还可以通过网络13向终端设备反馈数据上报结果等。服务器12可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。
可以理解的是,数据上报系统10中的终端设备11、服务器12和网络13均是逻辑功能层面的示意,在实际实现中,终端设备11可以包含至少一个终端设备实体,服务器12可以包括至少一个服务器设备实体,网络13可以包括至少一条通信链路。可选的,若服务器12包括多个服务器设备实体,不同服务器设备实体可以执行不同的计算任务,例如,其中一部分服务器设备实体执行上报率统计任务,另一部分服务器设备实体执行上报率监控任务。可选的,若网络13之中包括两条通信链路,终端设备11可以通过其中一条通信链路向服务器12上报待上报数据,通过另一条通信链路向服务器12上报待上报数据的其他信息。此处不限制。
一些常用的数据上报方法中,应用程序每产生一个数据,终端设备则向服务器上报该数据;或者,终端设备缓存应用程序产生的数据,在满足一定条件的情况下,终端设备上报所缓存的数据。然而,终端设备上报数据的可靠性,依赖于终端设备与服务器之间的网络环境和用户的操作,一旦上报数据的通信链路异常,或者用户关闭应用程序的进程,应用程序已产生且未成功上报的数据将会丢失,导致数据的上报率难以保证。
有鉴于此,本申请实施例提供了一种数据上报方法,在应用程序产生待上报数据后,且确定该待上报数据上报成功前,终端设备将该待上报数据存储在待上报数据集之中,以及轮询上报待上报数据集中的待上报数据。这样,能够确保待上报数据不丢失,从而能够提高上报率。可选的,本申请实施例涉及的轮询上报,是指周期性确定待上报数据以及上报所确定的待上报数据。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。
请参考图2A,本申请实施例提供了一种数据上报方法100(以下简称方法100)。本实施例以该数据上报方法应用于终端设备中为例,该终端设备可以是如图1所示的终端设备11。方法100包括如下步骤:
在步骤S101中,终端设备在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,并对待上报数据集执行步骤S102,直到满足预定条件。
其中,该预定条件是指应用程序中断产生用户行为数据。可选的,该预定条件可以实现为应用程序被关闭,或者应用程序进入休眠模式。
可选的,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。待上报数据集例如可以实现为数据库。实际实现中,待上报数据集可以包括上报失败的待上报数据和应用程序本次运行产生的待上报数据。上报失败的待上报数据包括历史运行数据和本次运行数据。历史运行数据是指应用程序本次运行之前,每次运行所产生且上报失败的待上报数据。可见,采用本实现方式,若应用程序运行产生的待上报数据未成功上报,那么,该待上报数据将持续存储在待上报数据集中,从而能够避免数据丢失,提高待上报数据的上报率。
本申请实施例涉及的“类型”,表征待上报数据的重要程度。重要程度可以是应用程序可以按照运行模式或者运行过程的不同,划分得到的。应用程序通过待上报数据中的一个字段标识该待上报数据的重要程度。可选的,待上报数据的重要程度,可以指示该待上报数据对用户操作体验的影响程度。例如,运行错误之类的待上报数据,对用户操作体验的影响程度较大,应用程序可以将运行错误之类的待上报数据的重要程度,确定为重要性较高。再如,常规运行过程中对应的待上报数据,对用户操作体验的影响程度较小,应用程序可以将该类待上报数据的重要程度,确定为重要性一般。
进一步的,本申请实施例中,不同类型的待上报数据对应不同的轮上周期。可选的,表征较高重要程度的类型,对应的轮询周期的时长较短。表征较低重要程度的类型,对应的轮询周期的时长较长。例如,表征较高重要程度的类型(例如,运行错误对应的类型),对应的轮询周期时长是2秒(s),表征较低重要程度的类型(例如,常规运行错误对应的类型),对应的轮询周期时长是4s。这样,使得表征较高重要程度的待上报数据,上报的优先级也较高,从而在网络资源有限的条件下,确保重要程度较高的待上报数据的上报率。
可以理解的是,本申请实施例涉及的“类型”的数量,可以基于待上报数据的重要程度的级别确定。各个类型对应的轮询周期的时长,可以根据需求灵活配置。本申请实施例对此不限制。
以一个类型为例,轮询上报待上报数据集中该类型的待上报数据,可以实现为:每个轮询周期内,从待上报数据集中确定该类型的预设数量的待上报数据,进而,上报相应预设数量的待上报数据。之后,可以根据每个待上报数据的上报结果,对待上报数据集中的相应待上报数据执行后续处理。
一些实施方式中,每个轮询周期开始计时的时刻为:上个轮询周期内,从待上报数据集中确定待上报数据的时刻。另一些实施方式中,每个轮询周期开始计时的时刻为:上个轮询周期内,根据上个轮询周期内最后一个待上报数据的上报结果,对待上报数据集进行处理的时刻。
可以理解的是,预设数量可以根据传输链路的带宽灵活设置,以避免上报数据过程中造成拥塞。一个可选示例中,预设数量例如是48。另外,可选的,不同类型的待上报数据对应的预设数量可以相同,也可以不同。例如,第一类型的待上报数据对应的第一数量,第二类型的待上报数据对应的第二数量,第一数量不等于第二数量。本申请实施例对此不限制。
在步骤S102中,终端设备响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。
可选的,响应于待上报数据上报失败的指示信息,终端设备对待上报数据集中的该待上报数据,不做任何处理。这样,终端设备对上报失败的待上报数据继续轮询上报,直到上报成功,从而能够避免上报失败的待上报数据丢失,提高上报率。
需要指出的是,终端设备向服务器上报待上报数据之后,可以接收到来自服务器的反馈信息,该反馈信息可以指示以下至少一种信息:接收到的待上报数据的信息、未接收到的待上报数据的信息、或者接收到的待上报数据和未接收到的待上报数据的信息。终端设备根据反馈信息,可以确定各个待上报数据是否上报成功,进而,根据上报结果对待上报数据集中的相应待上报数据执行操作。
另一些实施方式中,应用程序运行过程中会产生新的待上报数据。终端设备可以将应用程序运行产生的新的待上报数据,添加到待上报数据集中,以便于终端设备上报这些新的待上报数据。相关实施方式,详见下文描述,此处不再详述。
可见,采用本申请实施例的技术方案,在应用程序运行过程中,终端设备按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。且本技术方案,终端设备在轮询上报待上报数据的过程中,响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。说明,待上报数据集中包括应用程序每次运行过程中产生,且未上报成功的待上报数据。可见,本申请实施例的技术方案,若待上报数据未上报成功,那么该待上报数据则被存储在待上报数据集中,不断的被轮询上报,直到被成功上报,不会因网络状态和应用程序进程的中断而丢失,从而能够提高待上报数据的上报率。
需要指出的是,以上所描述的数据上报方法,是本申请实施例的数据上报方法的一种可选实施方式。另一些实施方式中,待上报数据集中的每个待上报数据包括顺序标识。该顺序标识用于表示待上报数据在相应类型的待上报数据中对应的顺序,这个顺序可以是应用程序产生该待上报数据的顺序。基于此,对应一个类型,该类型的待上报数据的顺序标识顺次逐一增加。可选的,不同类型对应的顺序标识相互独立。
可选的,顺序标识可以通过字段日志标识(logID)的具体值实现,例如,一个待上报数据的“logID=101”,则指示该待上报数据的顺序标识是101。一些实施方式中,顺序标识可以实现为数字,例如阿拉伯数字或者罗马数字等。另一些实施方式中,顺序标识可以实现为字母和数字的组合,例如,A001和A002等。本申请实施例对此不限制。此外,不同类型对应的顺序标识,实现形式可以相同,也可以不同。例如各个类型对应的顺序标识均实现为阿拉伯数字。再如,第一类型对应的顺序标识实现为阿拉伯数字,第二类型对应的顺序标识实现为字母和数字的组合。
顺序标识可以是应用程序在产生新的待上报事件的场景下配置的。示例性的,应用程序运行过程中产生新的待上报事件之后,终端设备可以确定该新的待上报事件的类型。进而,终端设备确定待上报数据集中该类型当前对应的最大顺序标识。然后,终端设备为新的待上报事件添加顺序标识得到新的待上报数据,该新的待上报数据的顺序标识例如是所确定的最大顺序标识加1。然后,终端设备将新的待上报数据存储到待上报数据集中。本场景中,新的待上报数据的顺序标识,在相应类型对应的各个待上报数据中的顺序标识中最大。
例如,应用程序运行过程中产生新的操作日志。终端设备根据新的操作日志中重要程度字段的内容,确定新的操作日志的类型,进而,确定待上报数据集中该类型目前对应的最大顺序标识,该类型目前对应的最大顺序标识例如是500。之后,终端设备按照同类型顺序标识逐一增加的条件,将新的操作日志中logID(即顺序标识)的值配置为501,得到该类型的新的待上报数据,进而,将该新的待上报数据添加到待上报数据集中。
可选的,终端设备可以根据顺序标识,确定每个类型在每个轮询周期中对应的待上报数据,以便于服务器根据顺序标识计算待上报数据的上报率,以及便于监控待上报数据的上报率。
一些实施方式中,对于一个类型的每一个轮询周期,从待上报数据集中确定相应类型的第一数量的待上报数据,可以实现为:终端设备确定相应轮询周期内该类型对应的最小顺序标识,进而,从最小顺序标识开始顺次确定类型的第一数量的待上报数据。可选的,终端设备可以根据待上报数据集中待上报数据的顺序标识,确定前述最小顺序标识、例如,第一数量是50。一个轮询周期内,相应类型对应的最小顺序标识例如260,终端设备以260为起始顺序标识,从待上报数据集中顺次确定顺序标识为260、261、262、263……直到顺序标识为309的50个待上报数据,作为本轮询周期内的即将上报的待上报数据。可选的,另一种实现方式中,顺序标识260是上一个轮询周期内上报失败的待上报数据的顺序标识,待上报数据集中该类型对应的大于260且与260相邻的顺序标识例如是299,那么,本示例中,终端设备以260为起始顺序标识,从待上报数据集中顺次确定顺序标识为260、299、300、301……直到顺序标识为347的50个待上报数据,作为本轮询周期内的即将上报的待上报数据。
根据前述步骤S102的描述,若接收到指示一个待上报数据上报成功的信息,终端设备从待上报数据集中删除该待上报数据。然而,在实际操作中,由于与待上报数据集相关的执行逻辑较为复杂,并且,待上报数据的数据量相对较大,例如可能是百亿基数的数据量,所以,可能存在从待上报数据集中删除待上报数据失败的情况。这样会使得后续的轮询周期内,重复上报已上报成功的待上报数据。
基于此,另一些实施方式中,在每个轮询周期内,从待上报数据集中确定相应类型的第一数量的待上报数据之后,还包括:终端设备将第一数量的待上报数据中各待上报数据的顺序标识添加到该类型对应的顺序标识集合中,对于每个待上报数据,响应于待上报数据上报成功的指示信息,终端设备从顺序标识集合中删除待上报数据的顺序标识。进而,使终端设备在确定每个轮询周期对应的待上报数据过程中,可以基于相应类型对应的顺序标识集合中的顺序标识,确定前述最小顺序标识。
采用本实现方式,顺序标识集合中的数据量相对较少,且终端设备对顺序标识集合的执行逻辑相对较为简单,所以,能够规避删除顺序标识失败的情况。即顺序标识集合能够提供较为准确的顺序标识信息。基于此,终端设备根据顺序标识集合确定前述最小顺序标识,从而能够避免重复上报待上报数据。
可选的,终端设备可以通过第一通信链路上报各个类型的待上报数据,且,通过第二通信链路上报各个类型对应的最大顺序标识和最小顺序标识。示例性的,终端设备按照预设周期上报各个类型对应的最大顺序标识和最小顺序标识。每个类型对应的最大顺序标识和最小顺序标识,用于使服务器确定相应类型的待上报数据的上报率置信度,以监控服务器所统计的上报率。可选的,预设周期可以按照需求灵活设置,例如预设周期是24小时。
一些实施方式中,第一通信链路和第二通信链路分别是同一网络中的两个通信通道,该两个通信通道的IP地址(Internet Protocol Address,互联网协议地址)不同。另一些实施方式中,第一通信链路和第二通信链路分别属于两个网络。
示例性的,对于任一类型,在达到顺序标识的一个上报周期,终端设备获取该周期内该类型对应最大顺序标识和最小顺序标识,进而,通过第二通信链路上报该类型对应最大顺序标识和最小顺序标识。可选的,在达到顺序标识的一个上报周期后,终端设备获取该周期内该类型对应最大顺序标识,以及将上个上报周期该类型对应最大顺序标识,作为本上报周期该类型对应最小顺序标识。
例如,第一个顺序标识的上报周期,一个类型对应的最小顺序标识是500,最大顺序标识是700。在第二个顺序标识的上报周期,终端设备将该类型对应的最小顺序标识配置为700,以及获取第二个顺序标识的上报周期内该类型对应的最大顺序标识,例如得到850。进而,终端设备将该类型对应的最小顺序标识700和最大顺序标识850,通过第二通信链路上报服务器。该第二个顺序标识的上报周期是指,前述第一个顺序标识的上报周期相邻的下一个上报周期。
方法100是从终端设备所执行操作的角度,对本申请实施例的数据上报方法的描述。下面从服务器所执行操作的角度,对本申请实施例的数据上报方法进行描述。
请参考图2B,图2B示意了一种示例性数据上报方法200(以下简称方法200)。可选的,方法200例如实现为上报率管理方法。本实施例中服务器可以是如图1所示的服务器12。方法200包括如下步骤:
在步骤S201中,服务器接收各个类型的上报数据,每个上报数据包括顺序标识。
其中,各个类型的上报数据,是终端设备在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,上报且被服务器成功接收到的待上报数据。终端设备上报待上报数据的实施方式,详见前述相关实施例的描述,此处不详述。
另外,每个上报数据包括的顺序标识,详见前述相关实施例对顺序标识的描述,此处不详述。
在步骤S202中,对应每个类型,服务器按照预设的第一统计周期,周期性根据相应第一统计周期内所接收上报数据的对应的最大顺序标识和最小顺序标识,确定相应第一统计周期内相应类型的上报数据对应的上报率。
第一统计周期是指统计数据上报率的周期。第一统计周期可以按照需求灵活设置,例如,一种可选设计中,第一统计周期是3小时;再如,另一种可选设计中,第一统计周期是24小时。
可选的,对于一个第一统计周期,各个类型的上报数据对应的上报率的确定方式包括:第一统计周期内实际接收到的上报数据总数量,与第一统计周期内应上报数据的总数量的比值。其中,实际接收到的上报数据总数量可以根据各个上报数据的顺序标识确定,应上报数据的总数量根据第一统计周期相应类型对应的最大顺序标识(max)和最小顺序标识(min)确定。上报率例如可以通过以下公式表达:上报率=实际接收到的上报数据总数量/应上报数据的总数量,其中,应上报数据的总数量=(max(顺序标识)-min(顺序标识)+1),实际接收到的上报数据总数量=count(distinct顺序标识)。
下面通过两个示例性场景,对本申请实施例的上报率统计方法进行说明。
请参考图3A,图3A示意了一个上报率统计周期内,服务器所接收的一个类型的上报数据的示例性场景示意图。本周期内,服务器所接收的上报数据中,最大的顺序标识(max(logid))例如是200,最小的顺序标识(min(logid))例如是101。且服务器根据上报数据的顺序标识确定,上报率统计周期内,未丢失数据,即count(distinct logid)=100。那么,图3A示意了上报率统计周期内,该类型的上报数据的上报率=count(distinct logid)/(max(logid)-min(logid)+1)=100/(200-101+1)=100%。
请参考图3B,图3B示意了一个上报率统计周期内,服务器所接收的一个类型的上报数据的另一种示例性场景示意图。本周期内,服务器所接收的上报数据中,max(logid)例如是200,min(logid)例如是101。如图3A所示,本服务器根据上报数据的顺序标识确定,logid=103的待上报数据丢失,即count(distinct logid)=99。那么,图3B示意了上报率统计周期内,该类型的上报数据的上报率=count(distinct logid)/(max(logid)-min(logid)+1)=99/(200-101+1)=99%。
可见,采用本实现方式,服务器通过上报数据顺次逐一增加的顺序标识统计上报率,可以不依赖于终端设备上报的应上报数据的总数量。这样,不仅能够避免终端设备周期性上报应上报数据的总数量带来的问题,使得所得到的上报率更加准确。并且,服务器可以统计任意时间段的上报率,灵活性更高。
需要指出的是,采用本申请实施例的上报率统计方法,若一个上报率统计周期内,终端设备上报的数据全部丢失,实际上报率为0,但是服务器得到的上报率是100%。另外,根据前述描述可知,一个上报率统计周期内的最大顺序标识和最小顺序标识,是统计上报率的关键信息,若最大顺序标识对应的数据,和最小顺序标识对应的数据中的最少一个丢失,将会导致统计得到的上报率不准确。
基于此,另一种实施方式中,服务器经由第一通信链路接收各个类型的上报数据,以及按照预设的第二统计周期,经由第二通信链路周期性接收各个类型对应的最大顺序标识和最小顺序标识,之后,根据任一第二统计周期内每个类型对应的最大顺序标识和最小顺序标识,确定该第二统计周期内相应类型对应的上报率置信度,以监控上报率。可选的,第二统计周期大于或者等于第一统计周期。第二统计周期例如可以是24小时。
可选的,对于一个第二统计周期以及一个类型,服务器可以采用以下方式确定该第二统计周期内该类型对应的上报率置信度:在第二统计周期内,确定该类型的上报数据对应的第一总数量与第二总数量的比值,作为该类型对应的上报率置信度。其中,第一总数量是第二统计周期内类型对应的应上报数据的总数量;第二总数量根据第二通信链路传输的类型对应的最大顺序标识和最小顺序标识确定。
示例性,上报率置信度例如可以通过以下公式表达:上报率置信度=第一总数量/第二总数量,其中,第一总数量=该第二周期内应上报数据的总数量=(max(顺序标识)-min(顺序标识)+1),第二总数量=(max’(顺序标识)–min’(顺序标识)+1)。
其中,max(顺序标识)和min(顺序标识)是该第二周期内服务器经由第一通信链路所接收的上报数据确定的,而max’(顺序标识)和min’(顺序标识)该第二周期内服务器经由第二通信链路所接收的顺序标识。若第一通信链路未出现异常,max(顺序标识)和max’(顺序标识),以及min(顺序标识)和min’(顺序标识),理论上应当均相同。基于此,上报率置信度的值越大,说明统计得到的上报率准确性越高;上报率置信度的值越小,说明统计得到的上报率准确性越低。
可见,采用本实现方式,通过两条相互独立的通信链路,上报同一个时间段内的数据数量信息,能够避免一个上报率统计周期内,批量丢数据造成的上报率统计为100%的情况。另外,通过两个链路传输的最大顺序标识和最小顺序标识,对上报率进行验证,能够监控上报率统计的准确性。
可选的,本申请实施例中,统计上报率的服务器设备实体,和计算置信度的服务器设备实体可以相同,也可以不同。若统计上报率的服务器设备实体,和计算置信度的服务器设备实体不同,该两个服务器之间可以相互通信,以便于计算上报率置信度。本申请对此不限制。
综上,本申请实施例的实现方式中,在应用程序运行过程中,终端设备按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。且本技术方案,终端设备在轮询上报待上报数据的过程中,响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。说明,待上报数据集中包括应用程序每次运行过程中产生,且未上报成功的待上报数据。可见,本申请实施例的技术方案,若待上报数据未上报成功,那么该待上报数据则被存储在待上报数据集中,不断的被轮询上报,直到被成功上报,不会因网络状态和应用程序进程的中断而丢失,从而能够提高待上报数据的上报率。
方法100和方法200分别以每个设备独立执行操作的角度,对本申请的技术方案进行的描述。下面结合示例,从各个设备交互的角度,对本申请实施例的数据上报方法进行说明。
请参考图4,图4示意了一种示例性网络架构20,网络架构20包括终端设备21、第一服务器22和第二服务器23。终端设备21通过通信链路24与第一服务器22进行数据交互,以及通过通信链路25与第二服务器22进行数据交互,第一服务器22和第二服务器23之间也支持数据传输。
可选的,终端设备21可以用于通过通信链路24向第一服务器22上报待上报数据,以及通过通信链路25向第二服务器23上报待上报数据的顺序标识。可选的,终端设备21可以实现为至少一个部署应用程序的电子设备实体。这些电子设备实体可以包括智能手机和平板电脑等。其中每个电子设备实体之中可以部署至少一个应用程序,且,各个电子设备实体之中部署的应用程序可以相同也可以不同。终端设备21通过数据库维护各应用程序运行产生的待上报数据。
可选的,第一服务器22可以用于经由通信链路24接收终端设备21上报的数据,以及统计相应数据的上报率。可选的,第一服务器22可以实现为一台独立的物理服务器,也可以实现为多个物理服务器构成的服务器集群或者分布式系统。
可选的,第二服务器23可以用于经由通信链路25接收终端设备21上报的待上报数据的顺序编号,以及监控上报率。可选的,第二服务器22可以实现为一台独立的物理服务器,也可以实现为多个物理服务器构成的服务器集群或者分布式系统。
可以理解的是,图4仅是示意性描述,对本申请实施例涉及的网络架构不构成限制。实际实现中,本申请实施例涉及的网络架构还可以包括更多或者更少的设备实体。本申请实施例对此不限制。
结合网络架构20,请参考图5A,图5A为本申请实施例提供的数据上报方法300(以下简称方法300)的示例性信令交互示意图。方法300包括:终端设备21在应用程序运行过程中,通过通信链路24与第一服务器22进行数据交互,以执行数据上报方法301,并且通过通信链路25与第二服务器23进行数据交互,以执行数据上报方法302。
下面以一个待上报数据的类型为例,对数据上报方法301(以下简称方法301)和数据上报方法302(以下简称方法302)进行描述。待上报数据的类型例如是目标类型。目标类型的轮询周期例如是目标轮询周期。数据库中已包含多个目标类型的待上报数据。
请参考图5B,图5B示意了方法301的示例性信令交互示意图。方法301包括以下步骤:
在第一目标轮询周期内,终端设备21从数据库中确定48个目标类型的待上报数据,将该48个待上报数据的顺序标识存储到目标类型对应的顺序标识集合中,以及通过API(Application Programming Interface,应用程序接口)向第一服务器22上报该48个待上报数据。
第一服务器22根据对该48个待上报数据的接收情况,向终端设备21发送反馈信息,以指示终端设备21该48个待上报数据的上报结果。
对于该48个待上报数据中的每个待上报数据,响应于上报成功的指示信息,终端设备21从数据库中删除该待上报数据,并从顺序标识集合中删除该待上报数据的顺序标识。响应于上报失败的指示信息,对数据库中的该待上报数据不做处理,且对顺序标识集合中该待上报数据的顺序标识不做处理。
在第二目标轮询周期内,终端设备21再次执行从数据库中确定48个目标类型的待上报数据的操作,直到应用程序关闭。
可选的,每个目标轮询周期内,终端设备21均根据目标类型对应的顺序标识,按照从小到大的顺序顺次确定48个待上报数据。目标类型对应的最小顺序标识,根据目标类型的顺序标识集合中的顺序标识确定。此处不详述。
再次参见图5B,在另一个线程中,第一服务器22周期性计算目标类型的待上报数据的上报率。上报率计算周期例如是24小时,每个上报率统计周期,第一服务器22获取该24小时内所接收的目标类型的待上报数据的最大顺序标识和最小顺序标识,以及该24小时内实际接收到目标类型的待上报数据的数量。然后,计算实际接收到目标类型的待上报数据的数量,与最小顺序标识到最大顺序标识对应的总数量的比值,得到该上报率统计周期内目标类型的待上报数据的上报率。
请参考图5C,图5C示意了方法302的示例性信令交互示意图。方法302例如以24小时为一个周期,对终端设备21上报顺序标识进行描述。方法302包括以下步骤:
终端设备21从应用程序启动开始,判断是否进入新一轮上报周期。若进入新一轮上报周期,确定新一轮上报周期内目标类型对应的最大顺序标识和最小顺序标识,进而,将所确定的目标类型对应的最大顺序标识和最小顺序标识上报第二服务器23。
可选的,终端设备21可以通过以下格式的信息封装最大顺序标识和最小顺序标识:type_logid_min=XX&type_logid_max=YY&logid_day=年/月/日。其中,type是指目标类型,logid_min是指最小顺序标识的字段,XX是指最小顺序标识,logid_max是指最大顺序标识的字段,YY是指最小顺序标识,logid_day=年/月/日是指上传日期。
第二服务器23可以从第一服务器22获取新一轮上报周期内,该目标类型的上报数据的最大顺序标识和最小顺序标识。进而,第二服务器23新一轮上报周期内的上报率置信度。
若未进入新一轮上报周期,终端设备21重复执行判断动作。
另外,需要指出的是,在图5B和图5C的其他线程中,终端设备21还会获取应用程序产生目标类型的新的待上报事件,进而,终端设备21基于顺序标识顺次加1的原则,为新的待上报事件添加顺序标识,得到新的待上报数据。之后,终端设备21将该新的待上报数据存储到数据库中。
可选的,终端设备21每获得目标类型的一个新的待上报数据,可以同步更新目标类型当前对应的最大顺序标识,以便于在方法302中,达到新的上报周期后,向第二服务器23上报最大顺序标识和最小顺序标识。
需要指出的是,方法301和方法302中每个步骤的详细实现过程,可参考前述相关实施例的描述,本申请实施例此处不再赘述。
可以理解的是,前述数据库中还可以包括更多类型的待上报数据,对于每个类型的待上报数据的上报过程,均与对目标类型的待上报数据的上报过程相似,本申请实施例此处不再详述。
此外,图4至图5C均是示意性描述,对本申请实施例的技术方案不构成限制。在另一些实施方式中,本申请实施例涉及的网络架构也可以是其他。在其他一些实施方式中,本申请实施例涉及的信令交互过程也不限于此。
综上,本申请实施例的实现方式中,在应用程序运行过程中,终端设备按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。且本技术方案,终端设备在轮询上报待上报数据的过程中,响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。说明,待上报数据集中包括应用程序每次运行过程中产生,且未上报成功的待上报数据。可见,本申请实施例的技术方案,若待上报数据未上报成功,那么该待上报数据则被存储在待上报数据集中,不断的被轮询上报,直到被成功上报,不会因网络状态和应用程序进程的中断而丢失,从而能够提高待上报数据的上报率。而服务器通过上报数据顺次逐一增加的顺序标识统计上报率,可以不依赖于终端设备上报的应上报数据的总数量。这样,不仅能够避免终端设备周期性上报应上报数据的总数量带来的问题,使得所得到的上报率更加准确。并且,服务器可以统计任意时间段的上报率,灵活性更高。另外,通过两个链路传输同一时间段内同一类型对应的最大顺序标识和最小顺序标识,对该类型对应的上报率进行验证,能够监控上报率统计的准确性。
在实际实现场景中,在得到前述上报率和置信度之后,还可以通过显示设备显示相应上报率和置信度,以向用户展示数据上报的状态。
上述实施例从待上报数据的上报、上报率的统计以及上报率的监控等终端设备和服务器所执行动作的角度,对本申请实施例提供的数据上报方法的各实施方式进行了介绍。应理解,对应待上报数据的上报、上报率的统计以及上报率的监控等的处理步骤,本申请实施例可以以硬件或硬件和计算机软件的结合形式来实现上述功能。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
例如,若上述实现步骤通过软件模块来实现相应的功能。如图6A所示,提供了一种数据上报装置60,数据上报装置60可以包括上报模块601和删除模块602。该数据上报装置60可用于执行上述图2A至图5C中终端设备的部分或全部操作。
例如:上报模块601可以用于在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,并对待上报数据集执行以下处理,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。删除模块602可以用于响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。
由此可见,本申请实施例提供的数据上报装置60,在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,直到满足预定条件。其中,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据。且本技术方案,在轮询上报待上报数据的过程中,响应于待上报数据上报成功的指示信息,从待上报数据集中删除待上报数据。说明,待上报数据集中包括应用程序每次运行过程中产生,且未上报成功的待上报数据。可见,本申请实施例的技术方案,若待上报数据未上报成功,那么该待上报数据则被存储在待上报数据集中,不断的被轮询上报,直到被成功上报,不会因网络状态和应用程序进程的中断而丢失,从而能够提高待上报数据的上报率。
可选的,待上报数据集中的每个待上报数据包括顺序标识。本示例中,对于任一类型的待上报数据,上报模块601,还可以用于每个轮询周期内,从待上报数据集中确定相应类型的第一数量的待上报数据;以及将第一数量的待上报数据中各待上报数据的顺序标识添加到该类型对应的顺序标识集合中。本示例中,对于每个待上报数据,删除模块602还可以用于响应于待上报数据上报成功的指示信息,从顺序标识集合中删除待上报数据的顺序标识。
可选的,对于每一个轮询周期,上报模块601,还可以用于基于该类型对应的顺序标识集合中的顺序标识,确定相应轮询周期内该类型对应的最小顺序标识;以及从最小顺序标识开始顺次确定类型的第一数量的待上报数据。
可选的,数据上报装置60还包括:获取模块、标识配置模块和存储模块。获取模块可以用于获取应用程序运行过程中产生的新的待上报事件。标识配置模块可以用于为新的待上报事件添加顺序标识得到新的待上报数据,新的待上报数据的顺序标识,在相应类型对应的各个待上报数据中的顺序标识中最大。存储模块可以用于将新的待上报数据存储到待上报数据集中。
可选的,上报模块601还可以用于通过第一通信链路上报相应类型的待上报数据。上报模块601,还可以用于通过第二通信链路按照预设周期上报各个类型对应的最大顺序标识和最小顺序标识;每个类型对应的最大顺序标识和最小顺序标识,用于确定相应类型的待上报数据的上报率置信度。
可以理解的是,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时,该以上各模块的功能可以集成到硬件实体实现,例如,上报模块601的功能可以集成到收发器实现,删除模块602的功能可以集成到处理器实现等。
请参考图6B,图6B提供了一种终端设备61,该终端设备61包括处理器611、收发器612和存储器613,这些组件通过通信总线614连接和通信。其中,收发器612可以用于与服务器进行数据的收发。存储器613用于存储应用程序和待上报数据,当该应用程序被调用时,使得处理器611执行上述图2A至图5C中终端设备的部分或全部操作。
具体实现过程,参见图2A至图5C中终端设备相关的描述,此处不赘述。
相应的,如图7A所示,图7A提供了一种数据上报装置70,数据上报装置70可以包括接收模块701和上报率统计模块702。该数据上报装置70可用于执行上述图2B至图5C中服务器的部分或全部操作。
例如:接收模块701可以用于接收各个类型的上报数据;各个类型的上报数据,是在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,从待上报数据集中分别轮询上报的,待上报数据集用于存储应用程序每次运行过程中产生的待上报数据;每个上报数据包括顺序标识。上报率统计模块702可以用于对应每个类型,按照预设的第一统计周期,周期性根据相应第一统计周期内所接收上报数据的对应的最大顺序标识和最小顺序标识,确定相应第一统计周期内相应类型的上报数据对应的上报率。
由此可见,本申请实施例提供的数据上报装置70,通过上报数据顺次逐一增加的顺序标识统计上报率,可以不依赖于终端设备上报的应上报数据的总数量。这样,不仅能够避免终端设备周期性上报应上报数据的总数量带来的问题,使得所得到的上报率更加准确。并且,可以统计任意时间段的上报率,灵活性更高。
可选的,对于一个第一统计周期,上报率统计模块702还可以用于将第一统计周期内实际接收到的上报数据总数量,与第一统计周期内应上报数据的总数量的比值,作为各个类型的上报数据对应的上报率。应上报数据的总数量根据第一统计周期相应类型对应的最大顺序标识和最小顺序标识确定。
可选的,接收模块701还可以用于经由第一通信链路接收各个类型的上报数据。接收模块701还可以用于按照预设的第二统计周期,经由第二通信链路周期性接收各个类型对应的最大顺序标识和最小顺序标识;第二统计周期大于或者等于第一统计周期。本示例中,上报率统计模块702还可以用于根据任一第二统计周期内每个类型对应的最大顺序标识和最小顺序标识,确定该第二统计周期内相应类型对应的上报率置信度。
可选的,对于一个第二统计周期,上报率统计模块702还可以用于在第二统计周期内,确定该类型的上报数据对应的第一总数量与第二总数量的比值,作为该类型对应的上报率置信度。其中,第一总数量是第二统计周期内类型对应的应上报数据的总数量;第二总数量根据第二通信链路传输的类型对应的最大顺序标识和最小顺序标识确定。
可以理解的是,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时,该以上各模块的功能可以集成到硬件实体实现,例如,接收模块701的功能可以集成到收发器实现,上报率统计模块702的功能可以集成到处理器实现等。
请参考图7B,图7B提供了一种服务器71,该服务器71可以实现上述图2B至图5C任一服务器的功能。服务器71可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)711(例如,一个或一个以上处理器)和存储器712,一个或一个以上存储应用程序7131或数据7132的存储介质713(例如一个或一个以上海量存储设备)。其中,存储器712和存储介质713可以是短暂存储或持久存储。存储在存储介质713的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器711可以设置为与存储介质713通信,在71服务器71上执行存储介质713中的一系列指令操作。
71服务器71还可以包括一个或一个以上电源714,一个或一个以上有线或无线网络接口715,一个或一个以上输入输出接口716,和/或,一个或一个以上操作系统717,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由数据上报装置70所执行的步骤可以基于该图7B所示的服务器结构实现。
应当理解,在一些可行的实施方式中,图6B和图7B中示意的处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。图6B和图7B中示意的存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息等。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有数据上报的指令,当其在计算机上运行时,使得计算机执行如前述图2A至图5C所示实施例描述的数据上报方法中的部分或全部步骤。
本申请实施例中还提供一种包括数据上报的指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图2A至图5C所示实施例描述的数据上报方法中的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,智能手机或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (14)
1.一种数据上报方法,其特征在于,包括:
在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,并对所述待上报数据集执行以下处理,直到满足预定条件:
响应于待上报数据上报成功的指示信息,从所述待上报数据集中删除所述待上报数据;
其中,所述待上报数据集用于存储所述应用程序每次运行过程中产生的待上报数据。
2.根据权利要求1所述的方法,其特征在于,所述待上报数据集中的每个待上报数据包括顺序标识,对于任一类型的待上报数据,轮询上报待上报数据集中相应类型的待上报数据,包括:
每个轮询周期内,从所述待上报数据集中确定相应类型的第一数量的待上报数据;
将所述第一数量的待上报数据中各待上报数据的顺序标识添加到该类型对应的顺序标识集合中;
对于每个待上报数据,响应于所述待上报数据上报成功的指示信息,从所述顺序标识集合中删除所述待上报数据的顺序标识。
3.根据权利要求2所述的方法,其特征在于,对于每一个轮询周期,所述从所述待上报数据集中确定相应类型的第一数量的待上报数据,包括:
基于该类型对应的顺序标识集合中的顺序标识,确定相应轮询周期内该类型对应的最小顺序标识;
从所述最小顺序标识开始顺次确定所述类型的第一数量的待上报数据。
4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
获取所述应用程序运行过程中产生的新的待上报事件;
为所述新的待上报事件添加顺序标识得到新的待上报数据,所述新的待上报数据的顺序标识,在相应类型对应的各个待上报数据中的顺序标识中最大;
将所述新的待上报数据存储到所述待上报数据集中。
5.根据权利要求4所述的方法,其特征在于,
所述分别轮询上报待上报数据集中相应类型的待上报数据,包括:
通过第一通信链路上报所述相应类型的待上报数据;
所述方法还包括:
通过第二通信链路按照预设周期上报各个类型对应的最大顺序标识和最小顺序标识;每个类型对应的最大顺序标识和最小顺序标识,用于确定相应类型的待上报数据的上报率置信度。
6.一种数据上报方法,其特征在于,包括:
接收各个类型的上报数据;所述各个类型的上报数据,是在应用程序运行过程中,按照所述各个类型的待上报数据各自对应的轮询周期,从待上报数据集中分别轮询上报的,所述待上报数据集用于存储所述应用程序每次运行过程中产生的待上报数据;每个上报数据包括顺序标识;
对应每个类型,按照预设的第一统计周期,周期性根据相应第一统计周期内所接收上报数据的对应的最大顺序标识和最小顺序标识,确定相应第一统计周期内相应类型的上报数据对应的上报率。
7.根据权利要求6所述的方法,其特征在于,对于一个第一统计周期,各个类型的上报数据对应的上报率的确定方式,包括:
所述第一统计周期内实际接收到的上报数据总数量,与所述第一统计周期内应上报数据的总数量的比值,
所述应上报数据的总数量根据所述第一统计周期相应类型对应的最大顺序标识和最小顺序标识确定。
8.根据权利要求6或7所述的方法,其特征在于,
所述接收各个类型的上报数据,包括:
经由第一通信链路接收所述各个类型的上报数据;
所述方法还包括:
按照预设的第二统计周期,经由第二通信链路周期性接收各个类型对应的最大顺序标识和最小顺序标识;所述第二统计周期大于或者等于所述第一统计周期;
根据任一第二统计周期内每个类型对应的最大顺序标识和最小顺序标识,确定该第二统计周期内相应类型对应的上报率置信度。
9.根据权利要求8所述的方法,其特征在于,对于一个第二统计周期,根据一个类型对应的最大顺序标识和最小顺序标识,确定该第二统计周期内该类型对应的上报率置信度,包括:
在所述第二统计周期内,确定该类型的上报数据对应的第一总数量与第二总数量的比值,作为该类型对应的上报率置信度;
所述第一总数量是所述第二统计周期内所述类型对应的应上报数据的总数量;所述第二总数量根据所述第二通信链路传输的所述类型对应的最大顺序标识和最小顺序标识确定。
10.一种数据上报装置,其特征在于,所述装置包括:
上报模块,用于在应用程序运行过程中,按照各个类型的待上报数据各自对应的轮询周期,分别轮询上报待上报数据集中相应类型的待上报数据,并对所述待上报数据集执行以下处理,直到满足预定条件:
删除模块,用于响应于待上报数据上报成功的指示信息,从所述待上报数据集中删除所述待上报数据;
其中,所述待上报数据集用于存储所述应用程序每次运行过程中产生的待上报数据。
11.一种数据上报装置,其特征在于,所述装置包括:
接收模块,用于接收各个类型的上报数据;所述各个类型的上报数据,是在应用程序运行过程中,按照所述各个类型的待上报数据各自对应的轮询周期,从待上报数据集中分别轮询上报的,所述待上报数据集用于存储所述应用程序每次运行过程中产生的待上报数据;每个上报数据包括顺序标识;
上报率统计模块,用于对应每个类型,按照预设的第一统计周期,周期性根据相应第一统计周期内所接收上报数据的对应的最大顺序标识和最小顺序标识,确定相应第一统计周期内相应类型的上报数据对应的上报率。
12.一种终端设备,其特征在于,所述终端设备包括处理器以及存储器:所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至5中任一项所述的数据上报方法。
13.一种服务器,其特征在于,所述服务器包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求6至9中任一项所述的数据上报方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5中任一项所述的数据上报方法,或者权利要求6至9中任一项所述的数据上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665893.1A CN115484181A (zh) | 2021-06-16 | 2021-06-16 | 数据上报方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665893.1A CN115484181A (zh) | 2021-06-16 | 2021-06-16 | 数据上报方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115484181A true CN115484181A (zh) | 2022-12-16 |
Family
ID=84419324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110665893.1A Pending CN115484181A (zh) | 2021-06-16 | 2021-06-16 | 数据上报方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115484181A (zh) |
-
2021
- 2021-06-16 CN CN202110665893.1A patent/CN115484181A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102339239B1 (ko) | 클라우드-디바이스 협업적 실시간 사용자 사용 및 성능 비정상 검출을 위한 시스템 및 방법 | |
US10897406B2 (en) | Scheduling method for content delivery network, and device | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US7551922B2 (en) | Rule based data collection and management in a wireless communications network | |
US7609650B2 (en) | Collection of data at target wireless devices using data collection profiles | |
US9384114B2 (en) | Group server performance correction via actions to server subset | |
US20060023642A1 (en) | Data collection associated with components and services of a wireless communication network | |
CN110688277A (zh) | 用于微服务框架的数据监控方法及装置 | |
CN109992473A (zh) | 应用系统的监控方法、装置、设备及存储介质 | |
US20160094392A1 (en) | Evaluating Configuration Changes Based on Aggregate Activity Level | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
CN105553770B (zh) | 一种数据采集控制方法和装置 | |
CN111416857A (zh) | 客户端崩溃处理方法、装置、系统、设备和存储介质 | |
CN111061588A (zh) | 一种定位数据库异常来源的方法及装置 | |
CN113722177B (zh) | 时序指标异常检测方法、装置、系统、设备及存储介质 | |
CN104937613A (zh) | 量化数据质量的探试 | |
CN108418730B (zh) | 网络流量测试方法、装置、设备以及计算机可读存储介质 | |
CN117061335A (zh) | 云平台设备健康管控方法、装置、存储介质和电子设备 | |
CN115484181A (zh) | 数据上报方法及装置 | |
CN112351042A (zh) | 攻击流量计算方法、装置、电子设备和存储介质 | |
CN115442225A (zh) | 埋点日志上报方法和装置以及埋点质量监控方法和装置 | |
CN113902132B (zh) | 负反馈行为预测模型训练方法、消息推送方法及设备 | |
CN116226071A (zh) | 数据统计方法、装置、设备及存储介质 | |
CN111111211B (zh) | 游戏数据的上报方法、装置、系统、设备及存储介质 | |
CN111611123B (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 |