CN112311629A - 数据处理方法、装置、服务器及计算机可读存储介质 - Google Patents
数据处理方法、装置、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112311629A CN112311629A CN202011197300.5A CN202011197300A CN112311629A CN 112311629 A CN112311629 A CN 112311629A CN 202011197300 A CN202011197300 A CN 202011197300A CN 112311629 A CN112311629 A CN 112311629A
- Authority
- CN
- China
- Prior art keywords
- time
- accumulated data
- interval
- latest
- heartbeat packet
- 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
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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种数据处理方法、装置、服务器及计算机可读存储介质,所述方法包括:若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;若获取到针对目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。本实施例不需要存储所有心跳包的时间戳,无须耗费大量的存储资源。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及数据处理方法、装置、服务器及计算机可读存储介质。
背景技术
在互联网等技术领域,常常会面临获取目标对象的实时累积数据的需求。以直播场景为例,业务方的推荐业务会有获取实时累积数据的需求。推荐业务需要获取用户对某些主播或某类视频的停留时长数据,停留时长数据可以表征用户的偏好程度,从而根据这些数据确定用户的偏好,进而可以实现对用户的精准推荐。然而,实时累积数据的处理过程中需要存储大量数据,会耗费大量的存储资源。
发明内容
为克服相关技术中存在的耗费大量的存储资源问题,本申请提供了一种数据处理方法、装置、服务器及计算机可读存储介质。
根据本申请实施例的第一方面,提供一种数据处理方法,所述方法包括:
若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
根据本申请实施例的第二方面,提供一种数据处理装置,所述装置包括:
更新模块,用于:若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
响应模块,用于:若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
根据本申请实施例的第三方面,提供一种服务器,所述服务器包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
根据本说明书实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面的数据处理方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例中,在获取到心跳包时进行累积计算得到最新累积数据时长,将最新累积数据与该最新累积数据的最新累积时刻进行存储;当需要获取实时累积数据时,利用已存储最新累积数据及最新累积时刻,结合当前时刻可确定当前时刻的实时累积数据。因此本实施例只需要存储最新累积数据及最新累积时刻即可,不需要存储所有心跳包的时间戳,不需要耗费大量的存储资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请根据一示例性实施例示出的一种数据处理方法的流程图。
图2A是本申请根据一示例性实施例示出的一种数据处理方法的应用场景图。
图2B是本申请根据一示例性实施例示出的一种数据处理方法的处理示意图。
图2C是本申请根据一示例性实施例示出的一种更新最新累积数据和最新累积时刻的流程示意图。
图3是本申请实施例数据处理装置所在计算机设备的一种硬件结构图。
图4是本申请根据一示例性实施例示出的一种数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在互联网等技术领域,常常会面临获取目标对象的实时累积数据的需求。所述的累积数据是指:从设定起始时间至设定终止时间的设定时间段,目标对象的累积数据。作为例子,累积数据可以是在设定时间段之间,目标对象的累积时长,如设定时间段之间用户在某个页面的停留时长等。在另一些例子中,累积数据还可以是在设定起始时间至设定终止时间之间,目标对象的累积距离,如终端的移动距离。而实时累积数据,是指在获取到数据请求时,以请求时刻倒推设定时长得到的设定时间段的累积数据;例如,获取到请求时刻是:12:00:00,设定时长是6小时,从12:00:00倒推6小时,即6:00:01至11:59:59期间的累积数据。实际业务中根据不同业务场景的需求会涉及其他类型的实时累积数据,本实施例对此不作限定。
以直播场景为例,业务方的推荐业务会有获取实时累积数据的需求。推荐业务需要获取用户对某些主播或某类视频的停留时长数据,停留时长数据可以表征用户的偏好程度,从而根据这些数据确定用户的偏好,进而可以实现对用户的精准推荐。
以电子商务场景为例,业务方的推荐业务也会有获取实时累积数据的需求。推荐业务需要获取用户对某些产品的停留时长数据,停留时长数据可以表征用户的偏好程度,从而根据这些数据确定用户的偏好,进而可以实现对用户的精准推荐。
在另一些场景中,实时累积数据可以包括实时累积距离,如终端从起始时刻至终止时刻之间移动距离,用户从起始时刻至终止时刻之间其累积行走的步数或距离等等。
针对获取实时累积数据的需求,业务方可以令客户端发送心跳包,该心跳包表征在心跳包的发生时刻目标对象出现;通过设定心跳包的间隔,若持续接收到心跳包,可以表征目标对象持续出现,因此可以通过该设定时间段内接收的心跳包个数来计算得到设定时间段的实时累积数据,例如在每次接收到心跳包后存储每个心跳包的时间戳,以供后续获取实时累积数据时进行计算。
此种处理方案需要存储心跳包的时间戳,作为例子,假设需要获取24小时的实时累积数据,每个心跳包间隔时长15秒,则存储的数据量最大为:24*3600/15=5760个心跳包的时间戳。由此可见,业务方需要耗费大量的存储资源,特别是一些需要获取大量用户的实时累积数据的场景,存储的心跳包的时间戳占用了很大的存储空间。
基于此,本申请实施例提供一种数据处理方案,无需耗费大量的存储资源即可获取实时累积数据。如图1所示,是本实施例提供的一种获取实时累积数据方法的流程图,包括如下步骤:
在步骤102中,若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的。
在步骤104中,若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
本实施例中,需要处理的是目标对象的实时累积数据,目标对象在实际业务中根据需要有多种实现方式;例如直播场景下可以指代用户停留在主播直播间的实时累积数据,电子商务场景下可以指代用户停留商品页面的实时累积数据等,还可以指代用户持续步行的距离等等。根据目标对象的实际实施方式可以确定心跳包的实现方式,例如心跳包可以是由客户端在目标对象被触发时发送给服务端;在其他场景中,心跳包还可以是由其他执行主体发送给服务端。
心跳包可以按照设定时间间隔发送,例如15秒的时间间隔;在持续发送心跳包的情况下,服务端可以持续接收到按照设定时间间隔发送的心跳包。
其中,每个心跳包携带有时间戳,表征该心跳包的发送时刻;服务端持续接收的各心跳包的时间戳可以供一个或多个业务使用。在一些例子中,可以在数据库中存储各个心跳包的时间戳。
本实施例的“获取”心跳包,其包含了通过主动请求、被动接收、直接获取、间接获取(例如,设置信息中转设备)等方式获取。例如,在一些例子中,服务端可以在接收到心跳包后通知需要心跳包的业务,该通知可以携带心跳包的时间戳,也可以是服务端直接将心跳包发送给需要的业务。在另一些例子中,还可以是心跳包直接发送给需要的业务。
本实施例中,服务端可以配置有两个业务,其中一个业务A用于根据接收的心跳包,确定当前心跳包对应的最新累积数据,另一个业务B用于根据请求在需要获取实时累积数据时,根据业务A确定的最新累积数据,确定当前时刻的实时累积数据。
作为例子,心跳包到达服务端,获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新。
其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的,例如是当前心跳包之前的上一个心跳包,也即是每个心跳包到达服务端,服务端即更新一次实时累积数据。在另一些例子中,可能心跳包的发送间隔较短,也可以不是每个心跳包到达后更新数据,可以根据需要设定为每隔两个或每隔三个等多种方式更新实时累积数据。实际应用中可以根据心跳包发送间隔的设置及数据处理精度而灵活确定,本实施例对此不作限定。
由于存储有最新累积数据和最新累积时刻,当获取到针对所述目标对象的实时累积数据的请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述请求。
本实施例中在获取到心跳包时进行累积计算得到最新累积数据时长,将最新累积数据与该最新累积数据的最新累积时刻进行存储;当需要获取实时累积数据时,利用已存储最新累积数据及最新累积时刻,结合当前时刻可确定当前时刻的实时累积数据。因此本实施例只需要存储最新累积数据及最新累积时刻即可,不需要存储所有心跳包的时间戳,不需要耗费大量的存储资源。
实际应用中如何对所述已存储的最新累积数据与最新累计时刻进行更新可以根据需要灵活配置。作为例子,设定时间段之间,目标对象可能并不会持续地具有实时累积数据。以用户在主播直播间的实时累积时长为例,设定的心跳包发送间隔通常较短,如果连续接收到的两个心跳包的间隔是设定的心跳包发送间隔,可以认为用户在两个心跳包之间持续停留在主播直播间,实时累积时长持续增加。但设定时间段之间用户可能并不会持续地一直停留在主播直播间,可能停留一定时间后退出,之后又进入;因此,若服务端接收到心跳包后又间隔较长时间才接收到下一个心跳包,根据接收到的连续两个心跳包之间的间隔,可确定在接收到的两个心跳包之间用户退出过,可以根据两个心跳包的时间间隔更新实时累积数据。
在一些例子中,所述对已存储的最新累积数据与最新累积时刻进行更新,可以包括:
根据所述第一间隔与设定时长的相对关系、以及所述第一间隔与所述心跳包发送间隔的相对关系对所述已存储的最新累积数据进行更新;
根据当前心跳包的时刻更新所述最新累积时刻。
实际应用中,连续接收到的两个心跳包可能有多种情况,例如可能相距较久超过设定时间段,也可能两个心跳包的间隔是设定的心跳包时间间隔,还有可能是超过心跳包时间间隔但仍在设定时长内;基于此,本实施例中针对前述三种情形分别进行说明。
若所述第一间隔大于设定时长,将已存储的最新累积数据执行设定的最大衰减处理后,结合所述心跳包发送间隔确定最新累积数据。本实施例中,设定时长可以是指实时累积数据的设定时间段的时长,两个心跳包的间隔超过了设定时长,两者相距较久超过了当前数据更新的周期,也即是上一个心跳包的接收时刻不在当前更新的周期内。作为例子,以设定时间段为每天0点00分00刻至当天23点59分59秒为例,当天23点0分0秒接收到心跳包,而上一个心跳包是前一天8点0分0秒接收到的,两者的间隔已经超出一条24小时的设定时长,上一个心跳包已经不在本次数据处理的周期内,因此可以对已存储的最新累积数据执行设定的最大衰减处理,例如可以是置零等处理方式。
若所述第一间隔为所述心跳包发送间隔,根据所述已存储的最新累积数据上与所述心跳包发送间隔的累加结果确定最新累积数据。本实施例中,两个心跳包的间隔为心跳包发送间隔,可以表示实时累积数据在持续产生,可以在已存储的最新累积数据上累加心跳包发送间隔作为最新累积数据。
若所述第一间隔在所述设定时长和所述心跳包发送间隔之间,根据所述第一间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定最新累积数据。以用户在主播直播间的实时累积时长为例,本实施例中,两个心跳包的间隔未超出设定时长,但超过了心跳包发送间隔,例如,9点00:00接收到一个心跳包,在9:00:50又接收到一个心跳包,由于心跳包之间具有间隔,无法确定用户是在9点00:00之后是哪个时刻退出直播间,因此,可以对所述已存储的最新累积数据进行衰减处理后确定最新累积数据。作为例子,根据所述第二间隔与所述设定时长的比例,对所述已存储的最新累积数据进行等比例的衰减处理后确定所述实时累积数据。
本实施例中,业务B用于根据请求在需要获取实时累积数据时,根据业务A确定的最新累积数据,确定当前时刻的实时累积数据;在接收到获取实时累积数据的请求时,由于此刻并未清楚实时累积数据是否还在增加还是停止。基于此,在一些例子中,所述根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据,包括:
根据所述第二间隔与设定时长的相对关系、以及所述第二间隔与所述心跳包发送间隔的相对关系,对所述已存储的最新累积数据进行衰减处理获得当前请求时刻的实时累积数据。
如前所述,在更新最新累积数据时涉及的三种情况,相应的本实施例也提供说明。
若所述第二间隔大于设定时长,将已存储的最新累积数据执行设定的最大衰减处理后确定所述实时累积数据;本实施例中,设定时长可以是指实时累积数据的设定时间段的时长,本实施例获取请求对应的当前请求时刻与最新累积时刻的间隔较长,超过了设定时长,两者相距较久超过了当前要获取的实时累积数据的周期,也即是上一个心跳包的接收时刻不在当前要获取数据的时间段内。作为例子,以设定时间段为每天0点00分00秒至当天23点59分59秒为例,当天23点0分0秒接收到获取请求,而上一个心跳包是前一天8点0分0秒接收到的,两者的间隔已经超出一条24小时的设定时长,上一个心跳包已经不在本次数据处理的周期内,因此可以对已存储的最新累积数据执行设定的最大衰减处理,例如可以是置零等处理方式,基于此可以确定本周期内实时累积数据为零。
若所述第二间隔小于或等于所述心跳包发送间隔,确定所述已存储的最新累积数据为所述实时累积数据;本实施例中,第二间隔小于或等于心跳包发送间隔,说明当前要获取数据的时刻距离最近接收到的心跳包的时间间隔非常短,可以确定所述已存储的最新累积数据为所述实时累积数据。
若所述第二间隔在所述设定时长和所述心跳包发送间隔之间,根据所述第二间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定所述实时累积数据。本实施例中,以用户在主播直播间的实时累积时长为例,本实施例中,第二间隔未超出设定时长,但超过了心跳包发送间隔,例如,9点00:00接收到一个心跳包,在9:00:50接收到实时累积数据的获取请求,由于第二间隔超过了心跳包发送间隔,因此用户退出了直播间,但无法确定用户是在9点00:00之后是哪个时刻退出直播间的,因此,根据所述第二间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定所述实时累积数据。作为例子,根据所述第二间隔与所述设定时长的比例,对所述已存储的最新累积数据进行等比例的衰减处理后确定所述实时累积数据。
接下来通过一实施例再次进行说明。
如图2A所示,是本申请一实施例的数据处理方法的应用场景示意图,结合图2B,是本申请一实施例的数据处理方法的处理示意图,本实施例中数据库用于存储最新累积数据和最新累积时刻;服务端的业务A用于接收从客户端发来的心跳包,并执行对最新累积数据和最新累积时刻的更新处理;业务B用于接收请求方发起的目标对象的实时累积数据的获取请求并响应。
作为例子,每一个心跳包过来,服务端的业务A会计算最新累积数据,然后用计算得到的最新累积数据和最新累积时刻更新覆盖掉已存储的、根据上一次心跳包计算得到的最新累积数据和最新累积时刻。本实施例还涉及另一个业务B,用于获取实时累积数据的获取请求并响应。
以实时累积数据的设定时间段为一天为例,设定时长即为24小时。
业务A使用如下公式更新最新累积数据:
Dr=Drlast*(1-α)+Δh
业务B使用如下公式获取当前请求时刻的实时累积数据以响应获取请求:
Dr'=Drlast*(1-α)
其中,Dr是指最新累积数据,Dr'是指当前请求时刻的实时累积数据,Drlast是指已存储的最新累积数据,α是指衰减因子,Δh是指心跳包发送间隔。
其中,衰减因子α的具体取值,可以根据各种业务场景进行设计。
以下取其中一种取值方法作为例子:
其中,Tmax为设定时长,可以理解为衰减的最大时间间隔,也即是设定的累积数据的处理周期,比如24小时等;Tnow是指当前时刻,Tlast是指最新累积数据对应的最新累积时刻。
如图2C所示,示出了更新最新累积数据和最新累积时刻的流程示意图,以更新最新累积数据为例,每次接收到心跳包后更新最新累积数据,Tnow表示最新接收到的心跳包的当前时刻;
当Tnow–Tlast≥Tmax时,衰减因子α为1,则Dr=Drlast*(1-α)+Δh推导为Dr=Δh,即当前时刻距离已存储的最新累积时刻过了最大时间间隔,上次心跳包对应计算的时长(即已存储的最新累积数据)衰减为0。将当前Dr更新为Δh心跳包时长。
当Tnow-Tlast=Δh时,衰减因子α为0,则Dr=Dr*(1-α)+Δh推导为Dr=Drlast+Δh,即当前时刻距离已存储的最新累积时刻还在一个心跳包事件间隔内,则上次的Dr不衰减。当前Dr更新为上次的Drlast加上心跳包间隔时长。
以获取到针对所述目标对象的实时累积数据的获取请求为例,Tnow表示获取请求的当前时刻;
当Tnow–Tlast≥Tmax时,衰减因子α为1,则Dr'=Drlast*(1-α)推导出Dr'为0,即当前时刻距离已存储最新累积数据对应的心跳包(已存储的最新累积时刻)已经过了最大时间间隔,已存储的最新累积数据属于上个处理周期,因此已存储的最新累积数据衰减为0。
当Tnow-Tlast≤Δh时,衰减因子α为0,则Dr'=Drlast*(1-α)推导出Dr'=Drlast,即当前时刻距离已存储的最新累积时刻还在一个心跳包事件事件间隔内,则上次的Dr不衰减直接作为当前时刻的实时累积数据。
当Δh<Tnow-Tlast<Tmax时,衰减因子α可以为即当前时刻距离已存储的最新累积时刻超过一个心跳包事件事件间隔,但还未超过最大衰减时长,则已存储的最新累积数据Drlast按照等比例衰减后确定当前时刻的实时累积数据。
本实施例方案可应用于多种业务场景,以直播场景为例,所述方法应用于直播业务端,所述实时累积数据包括:用户进入主播直播间的实时累积时长等。接下来以直播场景为例进行说明,直播业务方配置有直播服务端以及推荐服务端,直播服务端用于处理直播业务,推荐服务端用于处理推荐业务(例如确定向用户推荐哪些主播的视频,确定向用户推荐哪些主题的视频等)。
推荐场景中,使用机器学习进行模型训练时经常需要使用到实时累积特征。比如最典型的累积时长特征,在对实时时长特征进行累积时,会从当前时刻到历史某个时刻进行一段时间长度的时长进行聚合,得到一个时间段内的总时长特征。
以实时累积时长为用户在主播直播间的停留时长为例,用户通过直播客户端登录后,若用户需要进入某个主播的直播间以观看主播视频,直播服务端可以接收到直播客户端发起的请求后,向直播客户端返回主播视频。
直播客户端在确定用户进入主播直播间后,可以向服务端发送心跳包;作为例子,可以通过设定,令客户端可以按照设定时间间隔发送,例如15秒的时间间隔;在客户端持续发送心跳包的情况下,服务端可以持续接收到按照设定时间间隔发送的心跳包,此处接收心跳包的服务端可以是直播服务端或推荐服务端,还可以是业务方配置的其他服务端。
其中,每个心跳包携带带有时间戳,表征该心跳包的发送时刻;在一些例子中,心跳包可以作为公共资源,供业务方配置的一个或多个对应不同业务的服务端使用。在一些例子中,可以在数据库中存储各个心跳包的时间戳,数据库存储的时间戳表示在心跳包的发送时刻;当然,在另一些例子中时间戳还可以标识服务端接收到心跳包的接收时刻。
在一些例子中,接收心跳包的服务端可以在接收到心跳包后通知需要心跳包的业务,该通知可以携带心跳包的时间戳,也可以是接收心跳包的服务端直接将心跳包发送给需要的业务。在另一些例子中,还可以是心跳包从客户端直接发送给需要的业务;实际业务中根据需要可以有多种实现方式。
本实施例中,推荐服务端可以配置有两个服务,其中一个服务A用于根据接收的心跳包,利用前述的方案确定当前心跳包对应的实时累积数据,另一个服务B用于在获取到实时累积数据的获取请求时,根据前述方案确定当前时刻的实时累积数据并响应该请求。
作为例子,若一个新注册用户首次进入主播直播间,由于在此之前未有最新累积数据和最新累积时刻,此时可认为处于初始状态,最新累积数据为为0,最新累积时刻为无穷大,即很久很久以前。
在09:00:00服务A接收到第一个心跳包过来,根据前述衰减因子α的取值公式确定衰减因子为1,Drlast为0,算得最新累积数据Dr=Drlast+Δh=15秒(以心跳包发送间隔为15秒为例)。确定Tlast为09:00:00,在数据库中存储Drlast和Tlast。
在09:00:15服务A接收到第二个心跳包,根据计算公式得到衰减因子为0,计算得到最新累积数据Dr算得衰减时长为Dr=Drlast+Δh=30秒,确定Tlast为09:00:15,在数据库中更新Drlast和Tlast。
在09:00:30第三个心跳包到达A服务之前,比如09:00:20,用户请求推荐服务B,则服务B从数据库取出上次更新的Tlast和Drlast,此时Tnow是09:00:20,使用公式得到衰减因子为0,则服务B使用公式计算得到衰减时长为Dr=Drlast*(1-α)=30秒。
推荐服务B不需要更新最新累积数据,只需要利用数据库里记录的已存储的最新累积数据与最新累积时刻,确定出当前请求时刻的实时累积数据后响应获取请求。
与前述数据处理方法的实施例相对应,本说明书还提供了数据处理装置及其所应用的设备的实施例。
本说明书数据处理装置的实施例可以应用在计算机设备上,例如服务器等设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在数据处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请实施例数据处理装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中数据处理装置331所在的计算机设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本申请根据一示例性实施例示出的一种数据处理装置的框图,所述装置包括:
更新模块,用于:若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
响应模块,用于:若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
在一些例子中,所述对已存储的最新累积数据与最新累积时刻进行更新,包括:
根据所述第一间隔与设定时长、所述第一间隔与所述心跳包发送间隔的相对关系对所述已存储的最新累积数据进行更新;
根据当前心跳包的时刻更新所述最新累积时刻。
在一些例子中,所述根据所述第一间隔与设定时长、所述第一间隔与所述心跳包发送间隔的相对关系对所述已存储的最新累积数据进行更新,包括:
若所述第一间隔大于设定时长,将已存储的最新累积数据执行设定的最大衰减处理后,结合所述心跳包发送间隔确定最新累积数据;
若所述第一间隔为所述心跳包发送间隔,根据所述已存储的最新累积数据上与所述心跳包发送间隔的累加结果确定最新累积数据;
若所述第一间隔在所述设定时长和所述心跳包发送间隔之间,根据所述第一间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定最新累积数据。
在一些例子中,所述根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据,包括:
根据所述第二间隔与设定时长、所述第二间隔与所述心跳包发送间隔的相对关系,对所述已存储的最新累积数据进行衰减处理获得当前请求时刻的实时累积数据。
在一些例子中,所述根据所述第二间隔与设定时长、所述第二间隔与所述心跳包发送间隔的相对关系,对所述已存储的最新累积数据进行衰减处理获得当前请求时刻的实时累积数据,包括:
若所述第二间隔大于设定时长,将已存储的最新累积数据执行设定的最大衰减处理后确定所述实时累积数据;
若所述第二间隔小于或等于所述心跳包发送间隔,确定所述已存储的最新累积数据为所述实时累积数据;
若所述第二间隔在所述设定时长和所述心跳包发送间隔之间,根据所述第二间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定所述实时累积数据。
在一些例子中,所述设定的最大衰减处理包括:将所述已存储的最新累积数据置零。
在一些例子中,所述对所述已存储的最新累积数据进行衰减处理后确定最新累积数据,包括:
根据所述第一间隔与所述设定时长的比例,对所述已存储的最新累积数据进行等比例的衰减处理后确定最新累积数据;和/或,
所述对所述已存储的最新累积数据进行衰减处理后确定所述实时累积数据,包括:
根据所述第二间隔与所述设定时长的比例,对所述已存储的最新累积数据进行等比例的衰减处理后确定所述实时累积数据。
在一些例子中,所述历史心跳包包括:在当前心跳包的上一次心跳包。
在一些例子中,所述方法应用于直播业务端,所述实时累积数据包括:用户进入主播直播间的实时累积时长。
相应的,本说明书还提供一种服务器,所述服务器包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
相应的,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述的数据处理方法的实施例。
上述数据处理装置中各个模块的功能和作用的实现过程具体详见上述数据处理方法中对应步骤的实现过程;上述服务器和计算机可读存储介质的实现过程也可详见上述数据处理方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
2.根据权利要求1所述的方法,其特征在于,所述对已存储的最新累积数据与最新累积时刻进行更新,包括:
根据所述第一间隔与设定时长的相对关系、以及所述第一间隔与所述心跳包发送间隔的相对关系对所述已存储的最新累积数据进行更新;
根据当前心跳包的时刻更新所述最新累积时刻。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一间隔与设定时长的相对关系、以及所述第一间隔与所述心跳包发送间隔的相对关系对所述已存储的最新累积数据进行更新,包括:
若所述第一间隔大于设定时长,将已存储的最新累积数据执行设定的最大衰减处理后,结合所述心跳包发送间隔确定最新累积数据;
若所述第一间隔为所述心跳包发送间隔,根据所述已存储的最新累积数据上与所述心跳包发送间隔的累加结果确定最新累积数据;
若所述第一间隔在所述设定时长和所述心跳包发送间隔之间,根据所述第一间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定最新累积数据。
4.根据权利要求1所述的方法,其特征在于,所述根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据,包括:
根据所述第二间隔与设定时长的相对关系、以及所述第二间隔与所述心跳包发送间隔的相对关系,对所述已存储的最新累积数据进行衰减处理获得当前请求时刻的实时累积数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二间隔与设定时长的相对关系、以及所述第二间隔与所述心跳包发送间隔的相对关系,对所述已存储的最新累积数据进行衰减处理获得当前请求时刻的实时累积数据,包括:
若所述第二间隔大于设定时长,将已存储的最新累积数据执行设定的最大衰减处理后确定所述实时累积数据;
若所述第二间隔小于或等于所述心跳包发送间隔,确定所述已存储的最新累积数据为所述实时累积数据;
若所述第二间隔在所述设定时长和所述心跳包发送间隔之间,根据所述第二间隔与所述设定时长的相对关系,对所述已存储的最新累积数据进行衰减处理后确定所述实时累积数据。
6.根据权利要求3或5所述的方法,其特征在于,所述设定的最大衰减处理包括:将所述已存储的最新累积数据置零。
7.根据权利要求3或5所述的方法,其特征在于,所述对所述已存储的最新累积数据进行衰减处理后确定最新累积数据,包括:
根据所述第一间隔与所述设定时长的比例,对所述已存储的最新累积数据进行等比例的衰减处理后确定最新累积数据;和/或,
所述对所述已存储的最新累积数据进行衰减处理后确定所述实时累积数据,包括:
根据所述第二间隔与所述设定时长的比例,对所述已存储的最新累积数据进行等比例的衰减处理后确定所述实时累积数据。
8.根据权利要求1所述的方法,其特征在于,所述历史心跳包包括:所述当前心跳包之前的上一次心跳包。
9.根据权利要求1所述的方法,其特征在于,所述方法应用于直播业务端,所述实时累积数据包括:用户进入主播直播间的实时累积时长。
10.一种数据处理装置,其特征在于,所述装置包括:
更新模块,用于:若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
响应模块,用于:若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
11.一种服务器,其特征在于,所述服务器包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
若获取到按照心跳包发送间隔发送的针对目标对象的当前心跳包,执行如下处理:获取已存储的最新累积数据与最新累积时刻,利用当前心跳包的时刻与已存储的最新累积时刻的第一间隔,对所述已存储的最新累积数据与最新累计时刻进行更新;其中,所述已存储的最新累积数据与最新累积时刻是利用历史心跳包确定的;
若获取到针对所述目标对象的实时累积数据的获取请求,读取已存储的最新累积数据与最新累积时刻,根据当前请求时刻与所述最新累积时刻的第二间隔,确定出当前请求时刻的实时累积数据后响应所述获取请求。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197300.5A CN112311629B (zh) | 2020-10-30 | 2020-10-30 | 数据处理方法、装置、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197300.5A CN112311629B (zh) | 2020-10-30 | 2020-10-30 | 数据处理方法、装置、服务器及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311629A true CN112311629A (zh) | 2021-02-02 |
CN112311629B CN112311629B (zh) | 2022-04-26 |
Family
ID=74334094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011197300.5A Active CN112311629B (zh) | 2020-10-30 | 2020-10-30 | 数据处理方法、装置、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311629B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422817A (zh) * | 2022-01-17 | 2022-04-29 | 北京达佳互联信息技术有限公司 | 直播间数据处理方法、装置、电子设备、存储介质 |
CN114885219A (zh) * | 2022-05-05 | 2022-08-09 | 北京达佳互联信息技术有限公司 | 任务执行状态监测方法、装置、电子设备及存储介质 |
CN114066205B (zh) * | 2021-11-11 | 2024-03-22 | 四川启睿克科技有限公司 | 基于物联网设备的分时数据处理方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140156637A1 (en) * | 2012-11-30 | 2014-06-05 | Facebook, Inc. | Querying features based on user actions in online systems |
WO2017215614A1 (zh) * | 2016-06-16 | 2017-12-21 | 中兴通讯股份有限公司 | 心跳保活的实现方法、装置及系统 |
CN109981415A (zh) * | 2019-04-04 | 2019-07-05 | 深圳市网心科技有限公司 | 状态判定方法、电子设备、系统及介质 |
CN110446079A (zh) * | 2019-07-03 | 2019-11-12 | 北京达佳互联信息技术有限公司 | 获取观看时长的方法、装置、电子设备及存储介质 |
CN110677447A (zh) * | 2018-07-03 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 用户停留时长确定方法、装置、设备和存储介质 |
CN111241453A (zh) * | 2020-01-20 | 2020-06-05 | 平安科技(深圳)有限公司 | 页面访问时长采集方法、装置、介质及电子设备 |
CN111901617A (zh) * | 2020-07-17 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种直播观看时长的计算方法及装置 |
-
2020
- 2020-10-30 CN CN202011197300.5A patent/CN112311629B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140156637A1 (en) * | 2012-11-30 | 2014-06-05 | Facebook, Inc. | Querying features based on user actions in online systems |
WO2017215614A1 (zh) * | 2016-06-16 | 2017-12-21 | 中兴通讯股份有限公司 | 心跳保活的实现方法、装置及系统 |
CN110677447A (zh) * | 2018-07-03 | 2020-01-10 | 百度在线网络技术(北京)有限公司 | 用户停留时长确定方法、装置、设备和存储介质 |
CN109981415A (zh) * | 2019-04-04 | 2019-07-05 | 深圳市网心科技有限公司 | 状态判定方法、电子设备、系统及介质 |
CN110446079A (zh) * | 2019-07-03 | 2019-11-12 | 北京达佳互联信息技术有限公司 | 获取观看时长的方法、装置、电子设备及存储介质 |
CN111241453A (zh) * | 2020-01-20 | 2020-06-05 | 平安科技(深圳)有限公司 | 页面访问时长采集方法、装置、介质及电子设备 |
CN111901617A (zh) * | 2020-07-17 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种直播观看时长的计算方法及装置 |
Non-Patent Citations (1)
Title |
---|
常朝稳等: "不可靠网络环境下的数字时间戳服务研究", 《计算机应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114066205B (zh) * | 2021-11-11 | 2024-03-22 | 四川启睿克科技有限公司 | 基于物联网设备的分时数据处理方法及系统 |
CN114422817A (zh) * | 2022-01-17 | 2022-04-29 | 北京达佳互联信息技术有限公司 | 直播间数据处理方法、装置、电子设备、存储介质 |
CN114422817B (zh) * | 2022-01-17 | 2023-09-26 | 北京达佳互联信息技术有限公司 | 直播间数据处理方法、装置、电子设备、存储介质 |
CN114885219A (zh) * | 2022-05-05 | 2022-08-09 | 北京达佳互联信息技术有限公司 | 任务执行状态监测方法、装置、电子设备及存储介质 |
CN114885219B (zh) * | 2022-05-05 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 任务执行状态监测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112311629B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112311629B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN109905738B (zh) | 视频广告异常展现监测方法及装置、存储介质和电子设备 | |
CN111901617B (zh) | 一种直播观看时长的计算方法及装置 | |
CN111787345B (zh) | 基于网络直播间的互动资源处理方法、装置、服务器及存储介质 | |
US20150207877A1 (en) | Time synchronization client, a system and a non-transitory computer readable medium | |
CN101252462B (zh) | 告警页面刷新方法以及服务器和客户端 | |
CN110620699A (zh) | 消息到达率确定方法、装置、设备和计算机可读存储介质 | |
CN104468248B (zh) | 业务性能的监控方法、反向代理服务器、统计分析服务器及系统 | |
CN113315981B (zh) | 任务数据更新方法、装置、系统、电子设备及存储介质 | |
CN111479161B (zh) | 一种直播的质量数据上报方法和装置 | |
CN117472282A (zh) | 基于分布式存储系统的序列号生成方法、装置及电子设备 | |
CN113672447A (zh) | 数据采集方法及装置 | |
CN108629039B (zh) | 一种数据处理方法及装置 | |
CN110769284A (zh) | 视频精彩内容缓存方法以及相关装置 | |
CN110442572B (zh) | 用户特征值的确定方法及装置 | |
EP4033722A1 (en) | Event notification method, system, server device, and computer storage medium | |
CN107864234B (zh) | 地址续约时间的获取方法及装置 | |
CN110856040B (zh) | 客户端中监控数据的处理方法和装置 | |
CN113608960A (zh) | 一种服务监控方法、装置、电子设备及存储介质 | |
CN111708997B (zh) | 目标对象身份标识符的确定方法、装置及存储介质 | |
CN112990847B (zh) | 时效数据监控方法及装置、设备、介质 | |
CN101674647A (zh) | 选择用户的方法、系统和服务器 | |
CN109600639A (zh) | 基于用户偏好的用户相似度计算方法、装置、设备及介质 | |
CN111163327B (zh) | 统计在线账户数量的方法和装置 | |
CN118646690A (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 |