CN113467718A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents

一种数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113467718A
CN113467718A CN202110710754.6A CN202110710754A CN113467718A CN 113467718 A CN113467718 A CN 113467718A CN 202110710754 A CN202110710754 A CN 202110710754A CN 113467718 A CN113467718 A CN 113467718A
Authority
CN
China
Prior art keywords
target
heartbeat
records
record
account
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
Application number
CN202110710754.6A
Other languages
English (en)
Other versions
CN113467718B (zh
Inventor
贾亮亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110710754.6A priority Critical patent/CN113467718B/zh
Publication of CN113467718A publication Critical patent/CN113467718A/zh
Application granted granted Critical
Publication of CN113467718B publication Critical patent/CN113467718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开关于一种数据处理方法、装置、电子设备及存储介质,该方法包括:获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息;若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录;根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录;将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。本公开减少了对存储资源、服务器带宽和计算资源的消耗,提升了读写性能。

Description

一种数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及互联网技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,网络直播已成为越来越流行的休闲娱乐方式。相关技术中涉及到一些需要关联用户在直播间的在线时长的业务,而在线时长通常是通过存储的相关客户端的心跳记录计算而来,从而心跳记录的存储数量会随着用户在线时长线性增长,导致需要消耗大量的存储资源来存储这些心跳记录;另外,在基于这些心跳记录进行相关业务的处理时,由于需要读取所有的心跳记录,大大降低了读写性能,并会消耗大量服务器带宽和计算资源。
发明内容
本公开提供一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术中对于心跳记录的存储存在大量消耗存储资源,以及服务器带宽和计算资源的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,包括:
获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息;
若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录;
根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录;
将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
在一个示例性的实施方式中,所述方法还包括:
响应于第一账户发送的心跳报文,确定目标业务参数信息;
根据所述目标业务参数信息,生成所述第一账户对应的心跳记录;
在目标账户集合中记录所述第一账户;
每隔预设时间间隔提取所述目标账户集合中的所述第一账户,并将提取的任一所述第一账户确定为所述目标账户。
在一个示例性的实施方式中,所述在目标账户集合中记录所述第一账户包括:
确定多个消息队列中与所述第一账户相匹配的目标消息队列;所述多个消息队列对应多个处理节点;
向所述目标消息队列发送心跳记录消息,所述心跳记录消息包括所述第一账户;
在目标处理节点监测到所述心跳记录消息时,将所述第一账户记录在所述目标处理节点对应的目标账户集合中;所述目标处理节点为所述目标消息队列对应的处理节点。
所述目标业务参数信息包括时间戳和资源量确定参数,所述根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录包括:
根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量;
根据所述总资源量和所述多个目标心跳记录中距离当前最近的目标心跳记录,生成压缩心跳记录;所述压缩心跳记录对应的时间戳为所述距离当前最近的目标心跳记录的时间戳。
在一个示例性的实施方式中,所述根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量包括:
按照所述时间戳距离当前由近到远的顺序,对所述多个目标心跳记录进行排序;
遍历排序后的所述多个目标心跳记录,对于遍历到的每个目标心跳记录,计算所述目标心跳记录对应的时间戳与待遍历的下一个目标心跳记录对应的时间戳的差值,得到目标时间段;根据所述目标时间段与所述目标心跳记录对应的资源量确定参数的乘积,确定所述目标心跳记录对应的资源量;
根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,所述根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量包括:
确定遍历结束时各所述目标心跳记录对应的资源量的和值,得到第一总资源量;
在所述多个目标心跳记录中存在历史压缩心跳记录时,获取所述历史压缩心跳记录中记录的第二总资源量;
将所述第一总资源量和第二总资源量的和值作为所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,所述根据所述目标业务参数信息,生成所述第一账户对应的心跳记录包括:
确定所述目标业务参数信息对应的时间窗口;
若所述第一账户在所述时间窗口没有对应的心跳记录,则根据所述目标业务参数信息,生成所述第一账户在所述时间窗口对应的心跳记录。
根据本公开实施例的第二方面,提供一种数据处理装置,包括:
心跳记录获取单元,被配置为执行获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息;
待压缩心跳记录确定单元,被配置为执行若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录;
压缩心跳记录生成单元,被配置为执行根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录;
压缩心跳记录存储单元,被配置为执行将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
在一个示例性的实施方式中,所述装置还包括:
第一确定单元,被配置为执行响应于第一账户发送的心跳报文,确定目标业务参数信息;
心跳记录生成单元,被配置为执行根据所述目标业务参数信息,生成所述第一账户对应的心跳记录;
账户记录,被配置为执行在目标账户集合中记录所述第一账户;
账户提取单元,被配置为执行每隔预设时间间隔提取所述目标账户集合中的所述第一账户,并将提取的任一所述第一账户确定为所述目标账户。
在一个示例性的实施方式中,所述账户记录包括:
目标消息队列确定单元,被配置为执行确定多个消息队列中与所述第一账户相匹配的目标消息队列;所述多个消息队列对应多个处理节点;
消息发送单元,被配置为执行向所述目标消息队列发送心跳记录消息,所述心跳记录消息包括所述第一账户;
账户记录子单元,被配置为执行在目标处理节点监测到所述心跳记录消息时,将所述第一账户记录在所述目标处理节点对应的目标账户集合中;所述目标处理节点为所述目标消息队列对应的处理节点。
在一个示例性的实施方式中,所述目标业务参数信息包括时间戳和资源量确定参数,压缩心跳记录生成单元包括:
总资源量确定单元,被配置为执行根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量;
压缩心跳记录生成子单元,被配置为执行根据所述总资源量和所述多个目标心跳记录中距离当前最近的目标心跳记录,生成压缩心跳记录;所述压缩心跳记录对应的时间戳为所述距离当前最近的目标心跳记录的时间戳。
在一个示例性的实施方式中,所述总资源量确定单元包括:
排序单元,被配置为执行按照所述时间戳距离当前由近到远的顺序,对所述多个目标心跳记录进行排序;
遍历单元,被配置为执行遍历排序后的所述多个目标心跳记录,对于遍历到的每个目标心跳记录,计算所述目标心跳记录对应的时间戳与待遍历的下一个目标心跳记录对应的时间戳的差值,得到目标时间段;根据所述目标时间段与所述目标心跳记录对应的资源量确定参数的乘积,确定所述目标心跳记录对应的资源量;
总资源量确定子单元,被配置为执行根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,所述总资源量确定子单元包括:
第一资源量确定单元,被配置为执行确定遍历结束时各所述目标心跳记录对应的资源量的和值,得到第一总资源量;
资源量获取单元,被配置为执行在所述多个目标心跳记录中存在历史压缩心跳记录时,获取所述历史压缩心跳记录中记录的第二总资源量;
第二资源量确定单元,被配置为执行将所述第一总资源量和第二总资源量的和值作为所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,所述心跳记录生成单元包括:
时间窗口确定单元,被配置为执行确定所述目标业务参数信息对应的时间窗口;
心跳记录生成子单元,被配置为执行若所述第一账户在所述时间窗口没有对应的心跳记录,则根据所述目标业务参数信息,生成所述第一账户在所述时间窗口对应的心跳记录。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述第一方面的数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面的数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一方面的数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过对目标账户对应的多个心跳记录中的多个目标心跳记录进行压缩生成压缩心跳记录,并将多个目标心跳记录替换为该压缩心跳记录进行存储,从而大大减少了心跳记录对存储资源的消耗,提升了读写性能,而且由于压缩心跳记录是根据被压缩的心跳记录对应的目标业务参数信息生成的,从而可以在大大减少基于目标业务参数进行相关业务处理时对服务器带宽和计算资源消耗的同时确保业务处理的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据处理方法的应用环境示意图;
图2是根据一示例性实施例示出的一种数据处理方法的流程图;
图3a是根据一示例性实施例示出的另一种数据处理方法的流程图;
图3b是根据一示例性实施例示出的一种数据处理方法的示例;
图4是根据一示例性实施例示出的另一种数据处理方法的流程图;
图5是根据一示例性实施例示出的一种数据处理装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
请参阅图1,其所示为根据一示例性实施例示出的一种数据处理方法的应用环境示意图,该应用环境可以包括终端110和服务器120,该终端110和服务器120之间可以通过有线网络或者无线网络连接以进行数据交互。
终端110可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。终端110安装和运行具有目标业务(如电子资源发放业务)功能的应用程序,该应用程序可以是社交类应用程序、直播类应用程序或者视频类应用程序等。具体的,终端110可以是第一账户的终端,该第一账户可以是用于登录上述应用程序的用户信息,如可以包括用户账号。
服务器120用于为终端110提供后台服务,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个示例性的实施方式中,服务器120包括:数据处理节点和存储节点,数据处理节点可以用于接收终端110发送的心跳报文,生成对应的心跳记录,存储节点可以用于存储该心跳记录,数据处理节点还可以用于对存储节点中的心跳记录进行处理以减少目标业务活动(如电子资源发放活动)中对存储资源的消耗。
在一个具体的应用场景中,目标业务活动可以是电子资源发放活动,该电子资源发放活动可以是以膨胀红包的形式向终端用户发放电子资源,膨胀红包中封装的电子资源的资源量(即电子资源的发放资源量)按照用户的在线时长确定,具体的实施中,可以根据用户的在线时长和膨胀系数计算而来,其中,在线时长可以通过存储的客户端心跳记录计算而来,膨胀系数可以由后台配置,且还可以按照一定规则实时变化。
需要说明的是,本公开实施例中的电子资源可以包括可用于进行商品或服务兑换的资源,比如电子货币、积分、金豆、礼金券、兑换券、优惠券、礼品卡、仅供某一平台内使用的虚拟币,还可以是游戏道具或者可供在游戏中换取游戏道具的钻石等等,本公开实施例对此不作具体限定。
图2是根据一示例性实施例示出的一种数据处理方法的流程图,如图2所示,以数据处理方法应用于图1的服务器为例,包括以下步骤。
在步骤S201中,获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息。
具体的实施中,服务器对应的存储节点存储有各账户的心跳记录,该账户包括目标账户。心跳记录是在接收到相应账户的心跳报文时生成的记录,记录的内容包括与目标业务相关联的目标业务参数信息。以目标业务是电子资源发放业务为例,目标业务参数信息可以包括接收到相应心跳报文时的时间戳以及资源量确定参数,该资源量确定参数可以用于计算电子资源的数量(即资源量),在膨胀红包的应用场景中,该资源量确定参数可以是膨胀系数。目标账户对应的多个心跳记录可以是存储节点中该目标账户的所有心跳记录。
基于此,可以从服务器对应的存储节点获取目标账户对应的多个心跳记录,示例性的,该存储节点可以是key-value数据库,其在存储心跳记录时以账户为key,该账户对应的心跳记录为value。
在一个示例性的实施方式中,目标账户可以是在预设时间间隔内,生成有对应心跳记录的账户,基于此,可以维护一个目标账户集合,该目标账户集合用于记录在预设时间间隔内有生成对应的心跳记录的第一账户,进而在从存储节点获取目标账户对应的多个心跳记录之前,可以先提取该目标账户集合中的第一账户,并将提取的任一该第一账户作为目标账户,从存储节点获取该目标账户对应的多个心跳记录。
在步骤S203中,若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录。
其中,预设数量阈值可以根据实际经验进行设定,例如可以是100、150等等。实际应用中,可以将多个心跳记录全部作为待压缩的心跳记录,也可以将多个心跳记录中的部分心跳记录作为待压缩的多个目标心跳记录。
基于此,在一个示例性的实施方式中,在从多个心跳记录中确定待压缩的多个目标心跳记录时,可以包括:
按照各心跳记录的生成时间戳距离当前由近到远的顺序,对所述多个心跳记录进行排序;
将排序在前的预设数量个心跳记录作为保留心跳记录;
将所述多个心跳记录中除所述保留心跳记录之前的心跳记录作为所述多个目标心跳记录。
其中,预设数量可以根据实际需要进行设定,通过预设数量可以控制待压缩的多个目标心跳记录的数量,有利于提高压缩速率。
在步骤S205中,根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录。
在一个示例性的实施方式中,目标业务参数信息可以包括时间戳和资源量确定参数,上述步骤S205在根据所述多个目标心跳记录对应的目标业务参数信息生成压缩心跳记录时可以采用图3a中的以下步骤:
在步骤S301中,根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量可以包括:
按照时间戳距离当前由近到远的顺序,对所述多个目标心跳记录进行排序;
遍历排序后的所述多个目标心跳记录,对于遍历到的每个目标心跳记录可以执行以下步骤:计算所述目标心跳记录对应的时间戳与待遍历的下一个目标心跳记录对应的时间戳的差值,得到目标时间段;根据所述目标时间段与所述目标心跳记录对应的资源量确定参数的乘积,确定所述目标心跳记录对应的资源量;
根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量。
具体的,多个目标心跳记录对应的总资源量可以是遍历结束时各所述目标心跳记录对应的资源量的总和。
本公开实施例通过按照时间戳对多个目标心跳记录进行排序,并遍历该排序后的多个目标心跳记录,在遍历过程中基于遍历到的目标心跳记录对应的时间戳和下一个待遍历的目标心跳记录对应的时间戳得到目标时间段,进而基于该目标时间段和该遍历到的目标心跳记录对应的资源量确定参数计算对应的资源量,从而在遍历结束时可以准确计算得到该多个目标心跳记录对应的总资源量,提高了资源量计算的准确性。
在一个示例性的实施方式中,多个目标心跳记录中可能会存在历史压缩心跳记录,也即在当前时刻之前生成的压缩心跳记录,那么上述在根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量时可以包括:
确定遍历结束时各所述目标心跳记录对应的资源量的和值,得到第一总资源量;
在所述多个目标心跳记录中存在历史压缩心跳记录时,获取所述历史压缩心跳记录中记录的第二总资源量;
将所述第一总资源量和第二总资源量的和值作为所述多个目标心跳记录对应的总资源量。
本公开实施例在被压缩的心跳记录中存在历史压缩心跳记录时,结合该历史压缩心跳记录的总资源量来确定当前压缩心跳记录中的总资源量,确保了在电子资源发放场景下发放资源量的准确性。
在步骤S303中,根据所述总资源量和所述多个目标心跳记录中距离当前最近的目标心跳记录,生成压缩心跳记录。
其中,所述压缩心跳记录对应的时间戳为所述距离当前最近的目标心跳记录的时间戳。该距离当前最近的目标心跳记录为多个目标心跳记录中最晚生成的目标心跳记录,也即时间戳距离当前最近的目标心跳记录。
在一个具体的实施方式中,压缩心跳记录中还可以包括上述的总资源量和距离当前最近的目标心跳记录的资源量确定参数。
本公开实施例在目标业务参数信息包括时间戳和资源量确定参数的情况下,根据待压缩心跳记录对应的时间戳和资源量确定参数确定该待压缩心跳记录对应的总资源量,并根据该总资源量和多个目标心跳记录中距离当前最近的目标心跳记录生成压缩心跳记录,且该压缩心跳记录对应的时间戳为该距离当前最近的目标心跳记录的时间戳,使得在该压缩处理之后新生成的心跳记录的时间戳总是晚于该压缩心跳记录,确保了基于压缩心跳记录进行业务处理(如总资源量计算)的准确性和高效性。
在步骤S207中,将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
在一个示例性的实施方式中,可以将所述压缩心跳记录作为所述目标账户对应的新的心跳记录存入存储节点,并删除该存储节点中的所述多个目标心跳记录。
举例而言,如图3b所示为本公开实施例提供的一种数据处理方法的示例,从存储节点获取到目标账户的心跳记录为5条,将该5条心跳记录均作为待压缩的目标心跳记录,其中,距离当前最近的目标心跳记录是时间戳5对应的目标心跳记录。基于该5条目标心跳记录对应的时间戳和资源量确定参数可以计算得到总资源量为N1,那么生成的压缩心跳记录中的内容如图3b中所示包括时间戳5、资源量确定参数1和总资源量N1,将该压缩心跳记录存入存储节点,并删除存储节点中的上述5条心跳记录。由于该压缩心跳记录使用的时间戳是时间戳5,从而不会覆盖该时间戳5之后的心跳记录,并能在存储节点中有该目标账户对应的更新的心跳记录时确保总资源量的准确性。
在目标业务为电子资源发放业务的应用场景中,本公开实施例的数据处理方法还可以包括发放资源量的确定步骤,即在上述步骤S207之后,该方法还可以包括:
确定存储节点中目标账户的心跳记录序列;该心跳记录序列中的心跳记录按照各心跳记录对应的时间戳排序,且该心跳记录序列中包括压缩心跳记录;
遍历上述心跳记录序列,对于遍历到的每个心跳记录可以执行以下步骤:计算该心跳记录对应的时间戳与待遍历的下一个心跳记录对应的时间戳的差值,得到目标时间段;根据该目标时间段与该心跳记录对应的资源量确定参数的乘积,得到该心跳记录对应的资源量;
计算遍历结束时该心跳序列中各心跳记录对应的资源量的和值,得到第三总资源量;
计算压缩心跳记录中的总资源量与该第三总资源量的和值,得到目标账户对应的发放资源量。
本公开实施例可以大大减少存储的心跳记录的数量,从而在优化存储、降低对存储资源的消耗的同时提升了读写性能;另外,由于压缩心跳记录是根据被压缩的心跳记录对应的目标业务参数生成的,从而可以在大大减少基于目标业务参数进行相关业务处理时对服务器带宽和计算资源消耗的同时确保计算的准确性和服务的鲁棒性。
在一个示例性的实施方式中,如图4提供的另一种数据处理方法的流程图,该方法可以包括:
在步骤S401中,响应于第一账户发送的心跳报文,确定目标业务参数信息。
具体的,第一账户的终端可以按照一定周期向服务器发生心跳报文,服务器在接收到该心跳报文后,可以响应于该心跳报文确定目标业务参数信息,例如目标业务参数信息可以包括资源量确定参数和当前的时间戳。资源量确定参数可以基于预设的参数配置信息得到,实际应用中,在该参数配置信息中可以设定资源量确定参数按一定策略实时变化,也即服务器对于不同时间戳的心跳报文所确定的资源量确定参数可以不同,其中,资源量确定参数的变化策略可以根据实际需要进行配置,例如,参数配置信息中可以配置两个不同的资源量确定参数,并将变化策略设定为交替使用。
在步骤S403中,根据所述目标业务参数信息,生成所述第一账户对应的心跳记录。
具体的,所生成的心跳记录中包括该目标业务参数信息。
在步骤S405中,在目标账户集合中记录所述第一账户。
具体的实施中,在生成第一账户对应的心跳记录后,可以将该第一账户对应的心跳记录存入存储节点,并在目标账户集合中记录该第一账户。
为了避免短时间内生成大量重复的心跳记录,服务器可以按照时间窗口来生成心跳记录,也即一段时间内单个用户只生成一条心跳记录,例如一分钟只生成一条心跳记录,则时间窗口为一分钟。基于此,在一个示例性的实施方式中,服务器根据目标业务参数信息生成第一账户对应的心跳记录可以包括:
确定目标业务参数信息对应的时间窗口;具体的,可以根据目标业务参数信息对应的心跳报文的接收时间来确定该目标业务参数信息对应的时间窗口;
若所述第一账户在所述时间窗口没有对应的心跳记录,则根据目标业务参数信息生成第一账户对应的心跳记录;
若所述第一账户在所述时间窗口有对应的心跳记录,则不生成心跳记录。
本公开实施例通过基于时间窗口来生成心跳记录,避免了短时间内记录大量重复报文,进而避免了对计算资源和存储资源的占用。
可以理解的,在目标账户集合中记录所述第一账户时,若目标账户集合中已经存在该第一账户则可以进行去重。
在步骤S407中,每隔预设时间间隔提取所述目标账户集合中的所述第一账户,并将提取的任一所述第一账户确定为所述目标账户。
其中,预设时间间隔可以根据实际需要进行设定,一般预设时间间隔设定的越短,则越能及时对存储节点中的心跳记录进行处理,示例性的,该预设时间间隔可以为10分钟,也即每隔10分钟对存储节点中目标账户的心跳记录进行一次本公开实施例的数据处理。
可以理解的,该预设时间间隔可以根据实际应用中的读写性能进行动态调整,通过对该预设时间间隔的动态调整可以进一步的优化读写性能。
需要说明的是,在从目标账户集合中提取第一账户后,该目标账户集合中记录的该第一账户将被删除,以确保仅对预设时间间隔内心跳记录有变动的账户对应的心跳记录进行压缩处理,提高了数据处理效率。
在步骤S409中,获取目标账户对应的多个心跳记录。
在步骤S411中,若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录。
在步骤S413中,根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录。
在步骤S415中,将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
具体的,上述步骤S409至步骤S415可以参见前述图2所示方法实施例中的相关步骤,在此不再赘述。
本公开实施例通过响应于第一账户发送的心跳报文确定目标业务参数信息,根据该目标业务参数信息生成第一账户对应的心跳记录,并在目标账户集合中记录该第一账户,进而每隔预设时间间隔提取该目标账户集合中的第一账户,并将提取的任一第一账户确定为目标账户,以针对该目标账户对应的心跳记录进行压缩处理,从而仅对预设时间间隔内心跳记录有变动的账户对应的心跳记录进行压缩处理,提高了数据处理效率。
在一个示例性的实施方式中,为了能够对心跳记录进行及时压缩,进一步提高对心跳记录处理的处理效率,上述步骤S407中在目标账户集合中记录第一账户时可以包括:
确定多个消息队列中与第一账户相匹配的目标消息队列;
向所述目标消息队列发送心跳记录消息,所述心跳记录消息包括所述第一账户;
在目标处理节点监测到所述心跳记录消息时,将所述第一账户记录在所述目标处理节点对应的目标账户集合中;所述目标处理节点为所述目标消息队列对应的处理节点。
其中,多个消息队列对应多个处理节点,也即消息队列与处理节点是一一对应的关系,从而目标消息队列中的消息只能被目标处理节点处理。多个处理节点可以是多个消费模块,各消费模块通过订阅与其相对应的消息队列中的消息来进行监测,每个消费模块都对应一个目标账户集合,并在监测到订阅的消息队列中的心跳记录消息时,将该心跳记录消息中的第一账户记录到该目标账户集合中。实际应用中,目标账户集合可以内存队列的形式存储在相应消费模块本地。
示例性的,多个消息队列中的每个消息队列均对应至少一个散列值,且不同消息队列对应的散列值不同,在确定与第一账户相匹配的目标消息队列时,可以先计算第一账户对应的散列值,然后将对应该散列值的消息队列确定为目标消息队列。
实际应用中,各处理节点中还可以启动一个异步线程,该异常线程可以用于执行上述步骤S407至步骤S415,从而在提高数据处理效率的同时确保能够及时优化存储,及时提升读写性能。
图5是根据一示例性实施例示出的一种数据处理装置的框图。参照图5,该数据处理装置500包括心跳记录获取单元510、待压缩心跳记录确定单元520、压缩心跳记录生成单元530和压缩心跳记录存储单元540。
心跳记录获取单元510,被配置为执行获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息;
待压缩心跳记录确定单元520,被配置为执行若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录;
压缩心跳记录生成单元530,被配置为执行根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录;
压缩心跳记录存储单元540,被配置为执行将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
在一个示例性的实施方式中,所述装置500还包括:
第一确定单元,被配置为执行响应于第一账户发送的心跳报文,确定目标业务参数信息;
心跳记录生成单元,被配置为执行根据所述目标业务参数信息,生成所述第一账户对应的心跳记录;
账户记录单元,被配置为执行在目标账户集合中记录所述第一账户;
账户提取单元,被配置为执行每隔预设时间间隔提取所述目标账户集合中的所述第一账户,并将提取的任一所述第一账户确定为所述目标账户。
在一个示例性的实施方式中,所述账户记录单元包括:
目标消息队列确定单元,被配置为执行确定多个消息队列中与所述第一账户相匹配的目标消息队列;所述多个消息队列对应多个处理节点;
消息发送单元,被配置为执行向所述目标消息队列发送心跳记录消息,所述心跳记录消息包括所述第一账户;
账户记录子单元,被配置为执行在目标处理节点监测到所述心跳记录消息时,将所述第一账户记录在所述目标处理节点对应的目标账户集合中;所述目标处理节点为所述目标消息队列对应的处理节点。
在一个示例性的实施方式中,所述目标业务参数信息包括时间戳和资源量确定参数,压缩心跳记录生成单元包括:
总资源量确定单元,被配置为执行根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量;
压缩心跳记录生成子单元,被配置为执行根据所述总资源量和所述多个目标心跳记录中距离当前最近的目标心跳记录,生成压缩心跳记录;所述压缩心跳记录对应的时间戳为所述距离当前最近的目标心跳记录的时间戳。
在一个示例性的实施方式中,所述总资源量确定单元包括:
排序单元,被配置为执行按照所述时间戳距离当前由近到远的顺序,对所述多个目标心跳记录进行排序;
遍历单元,被配置为执行遍历排序后的所述多个目标心跳记录,对于遍历到的每个目标心跳记录,计算所述目标心跳记录对应的时间戳与待遍历的下一个目标心跳记录对应的时间戳的差值,得到目标时间段;根据所述目标时间段与所述目标心跳记录对应的资源量确定参数的乘积,确定所述目标心跳记录对应的资源量;
总资源量确定子单元,被配置为执行根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,所述总资源量确定子单元包括:
第一资源量确定单元,被配置为执行确定遍历结束时各所述目标心跳记录对应的资源量的和值,得到第一总资源量;
资源量获取单元,被配置为执行在所述多个目标心跳记录中存在历史压缩心跳记录时,获取所述历史压缩心跳记录中记录的第二总资源量;
第二资源量确定单元,被配置为执行将所述第一总资源量和第二总资源量的和值作为所述多个目标心跳记录对应的总资源量。
在一个示例性的实施方式中,所述心跳记录生成单元包括:
时间窗口确定单元,被配置为执行确定所述目标业务参数信息对应的时间窗口;
心跳记录生成子单元,被配置为执行若所述第一账户在所述时间窗口没有对应的心跳记录,则根据所述目标业务参数信息,生成所述第一账户在所述时间窗口对应的心跳记录。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个示例性的实施方式中,还提供了一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现本公开实施例提供的任意一种数据处理方法。
该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是服务器为例,图6是根据一示例性实施例示出的一种用于数据处理的电子设备的框图,如图6所示,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)610(处理器610可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器630,一个或一个以上存储应用程序623或数据622的存储介质620(例如一个或一个以上海量存储设备)。其中,存储器630和存储介质620可以是短暂存储或持久存储。存储在存储介质620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器610可以设置为与存储介质620通信,在服务器600上执行存储介质620中的一系列指令操作。服务器600还可以包括一个或一个以上电源660,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口640,和/或,一个或一个以上操作系统621,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器600的通信供应商提供的无线网络。在一个实例中,输入输出接口640包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口640可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
在一个示例性的实施方式中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器630,上述指令可由装置500的处理器610执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一个示例性的实施方式中,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开实施例提供的任意一种数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息;
若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录;
根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录;
将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
2.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
响应于第一账户发送的心跳报文,确定目标业务参数信息;
根据所述目标业务参数信息,生成所述第一账户对应的心跳记录;
在目标账户集合中记录所述第一账户;
每隔预设时间间隔提取所述目标账户集合中的所述第一账户,并将提取的任一所述第一账户确定为所述目标账户。
3.根据权利要求2所述的数据处理方法,其特征在于,所述在目标账户集合中记录所述第一账户包括:
确定多个消息队列中与所述第一账户相匹配的目标消息队列;所述多个消息队列对应多个处理节点;
向所述目标消息队列发送心跳记录消息,所述心跳记录消息包括所述第一账户;
在目标处理节点监测到所述心跳记录消息时,将所述第一账户记录在所述目标处理节点对应的目标账户集合中;所述目标处理节点为所述目标消息队列对应的处理节点。
4.根据权利要求1所述的数据处理方法,其特征在于,所述目标业务参数信息包括时间戳和资源量确定参数,所述根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录包括:
根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量;
根据所述总资源量和所述多个目标心跳记录中距离当前最近的目标心跳记录,生成压缩心跳记录;所述压缩心跳记录对应的时间戳为所述距离当前最近的目标心跳记录的时间戳。
5.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述多个目标心跳记录对应的时间戳和资源量确定参数,确定所述多个目标心跳记录对应的总资源量包括:
按照所述时间戳距离当前由近到远的顺序,对所述多个目标心跳记录进行排序;
遍历排序后的所述多个目标心跳记录,对于遍历到的每个目标心跳记录,计算所述目标心跳记录对应的时间戳与待遍历的下一个目标心跳记录对应的时间戳的差值,得到目标时间段;根据所述目标时间段与所述目标心跳记录对应的资源量确定参数的乘积,确定所述目标心跳记录对应的资源量;
根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量。
6.根据权利要求5所述的数据处理方法,其特征在于,所述根据遍历结束时各所述目标心跳记录对应的资源量,确定所述多个目标心跳记录对应的总资源量包括:
确定遍历结束时各所述目标心跳记录对应的资源量的和值,得到第一总资源量;
在所述多个目标心跳记录中存在历史压缩心跳记录时,获取所述历史压缩心跳记录中记录的第二总资源量;
将所述第一总资源量和第二总资源量的和值作为所述多个目标心跳记录对应的总资源量。
7.一种数据处理装置,其特征在于,包括:
心跳记录获取单元,被配置为执行获取目标账户对应的多个心跳记录;每个所述心跳记录包括目标业务参数信息;
待压缩心跳记录确定单元,被配置为执行若所述多个心跳记录的数量超过预设数量阈值,则从所述多个心跳记录中确定待压缩的多个目标心跳记录;
压缩心跳记录生成单元,被配置为执行根据所述多个目标心跳记录对应的目标业务参数信息,生成压缩心跳记录;
压缩心跳记录存储单元,被配置为执行将所述多个目标心跳记录替换为所述压缩心跳记录进行存储。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的数据处理方法。
9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的数据处理方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的数据处理方法。
CN202110710754.6A 2021-06-25 2021-06-25 一种数据处理方法、装置、电子设备及存储介质 Active CN113467718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110710754.6A CN113467718B (zh) 2021-06-25 2021-06-25 一种数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110710754.6A CN113467718B (zh) 2021-06-25 2021-06-25 一种数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113467718A true CN113467718A (zh) 2021-10-01
CN113467718B CN113467718B (zh) 2024-03-26

Family

ID=77872932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110710754.6A Active CN113467718B (zh) 2021-06-25 2021-06-25 一种数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113467718B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422817A (zh) * 2022-01-17 2022-04-29 北京达佳互联信息技术有限公司 直播间数据处理方法、装置、电子设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017129083A1 (zh) * 2016-01-29 2017-08-03 腾讯科技(深圳)有限公司 消息处理方法、装置、系统和计算机存储介质
CN111641702A (zh) * 2020-05-26 2020-09-08 南京领行科技股份有限公司 一种心跳报文的管理方法及装置
CN111654428A (zh) * 2020-06-05 2020-09-11 天津卓朗科技发展有限公司 离线消息处理方法、装置和服务器
CN111865674A (zh) * 2020-07-09 2020-10-30 腾讯科技(深圳)有限公司 一种日志处理方法、装置及介质
CN112422404A (zh) * 2020-10-19 2021-02-26 上海哔哩哔哩科技有限公司 消息处理方法及系统
CN112632568A (zh) * 2019-10-08 2021-04-09 上海唯链信息科技有限公司 温度数据的存储和采集方法、系统、电子设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017129083A1 (zh) * 2016-01-29 2017-08-03 腾讯科技(深圳)有限公司 消息处理方法、装置、系统和计算机存储介质
CN112632568A (zh) * 2019-10-08 2021-04-09 上海唯链信息科技有限公司 温度数据的存储和采集方法、系统、电子设备和存储介质
CN111641702A (zh) * 2020-05-26 2020-09-08 南京领行科技股份有限公司 一种心跳报文的管理方法及装置
CN111654428A (zh) * 2020-06-05 2020-09-11 天津卓朗科技发展有限公司 离线消息处理方法、装置和服务器
CN111865674A (zh) * 2020-07-09 2020-10-30 腾讯科技(深圳)有限公司 一种日志处理方法、装置及介质
CN112422404A (zh) * 2020-10-19 2021-02-26 上海哔哩哔哩科技有限公司 消息处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422817A (zh) * 2022-01-17 2022-04-29 北京达佳互联信息技术有限公司 直播间数据处理方法、装置、电子设备、存储介质
CN114422817B (zh) * 2022-01-17 2023-09-26 北京达佳互联信息技术有限公司 直播间数据处理方法、装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN113467718B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN106815254B (zh) 一种数据处理方法和装置
US20230237064A1 (en) Data processing method, apparatus, and system, computer device, readable storage medium, and computer program product
CN112839067B (zh) 一种数据同步方法及装置
CN111611305A (zh) 一种数据处理方法、装置及介质
US20160379122A1 (en) Recommendation algorithm optimization method, device and system
CN113687964B (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN113468226A (zh) 一种业务处理方法、装置、电子设备和存储介质
US20200004785A1 (en) Automatic grouping based on user behavior
CN113467718B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN112994980A (zh) 时延测试方法、装置、电子设备和存储介质
CN106327251A (zh) 模型训练系统和方法
CN109213955B (zh) 数据处理方法及相关设备
CN112764988B (zh) 一种数据分段采集方法及装置
CN106487653B (zh) 一种消息处理方法及服务器
CN112131267B (zh) 计数处理方法、装置、服务器和计数处理系统
CN112566054B (zh) 一种优化消息交互过程的方法及系统
CN115373831A (zh) 数据处理方法、装置以及计算机可读存储介质
CN115469975A (zh) 容器资源调整方法、装置、电子设备及存储介质
CN113268340A (zh) 一种虚拟资源包的生成方法、装置、电子设备及存储介质
CN114817344A (zh) 一种数据获取方法和装置
CN113420236A (zh) 榜单数据展示方法、装置、电子设备及存储介质
CN113077280A (zh) 一种电子资源分配方法、装置、电子设备及存储介质
US20140298287A1 (en) Methods and systems for creating data applications
CN117555905B (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