一种数据处理方法、智能终端及存储介质与流程

文档序号:24160968发布日期:2021-03-05 16:48阅读:67来源:国知局
一种数据处理方法、智能终端及存储介质与流程

[0001]
本发明涉及计算机信息处理技术领域,尤其涉及一种数据处理方法、智能终端及存储介质。


背景技术:

[0002]
为记录用户的应用使用情况,一般让启动的应用每隔一定时间发送一条由唯一标识和时间组成的心跳数据给服务器,服务器接收数据存于kafka(一个开源流处理平台,kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据),然后从kafka中消费数据。
[0003]
对于从kafka消费下来的海量心跳数据,传统的方法是把所有数据存入集群数据仓库贴源层(ods),直接进行常规的etl(extract抽取、transform转换、load加载)处理,由于心跳数据或类似数据量太大,千万用户级别的应用每天心跳数据是亿级别的,一年数据量达到千亿级别,占用大量的存储空间,数据分析的相关计算也会消耗大量的计算资源和时间,同一时间段心跳数据重复发送的情况下也会影响计算结果。
[0004]
因此,现有技术还有待于改进和发展。


技术实现要素:

[0005]
本发明的主要目的在于提供一种数据处理方法、智能终端及存储介质,旨在解决现有技术中海量心跳数据的相关计算消耗大量的计算资源和时间,同一时间段心跳数据重复发送的情况下也会影响计算结果的问题。
[0006]
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括如下步骤:
[0007]
接收客户端应用发送的心跳数据;
[0008]
将所述心跳数据导入大数据集群;
[0009]
以位编码方式存储所述心跳数据;
[0010]
根据使用的数据仓库工具,开发自定义位编码计算的函数,根据实际数据分析需要调用自定义函数对所述心跳数据进行位编码的相关计算。
[0011]
可选地,所述的数据处理方法,其中,所述以位编码方式存储所述心跳数据,之后还包括:
[0012]
根据数据分析的需要,对所述心跳数据进行数据清洗和关联用户维度信息。
[0013]
可选地,所述的数据处理方法,其中,所述以位编码方式存储所述心跳数据,具体包括:
[0014]
以位编码方式存储所述心跳数据存储的是所述心跳数据的心跳时间段状态。
[0015]
可选地,所述的数据处理方法,其中,以位编码方式存储所述心跳数据时不存储所述心跳数据的具体时间。
[0016]
可选地,所述的数据处理方法,其中,所述以位编码方式存储所述心跳数据,还包
括:
[0017]
将每个用户当天数据汇总存储为一条,存储用户应用使用时间分布的字段类型为二进制,长度为个比特位
[0018]
其中,每个比特位对应当天的预设心跳时间间隔长度内用户是否发送了心跳数据,表示用户在预设时间段是否运行了应用。
[0019]
可选地,所述的数据处理方法,其中,所述数据处理方法还包括:
[0020]
每年创建一张字段数为当年天数+1的数据表,一个字段用于存储用户的唯一标识,其它字段以日期命名,用于存储当年每一天各时段的用户产品使用状态;
[0021]
每日汇总前一天的各用户心跳数据,某个时间段有心跳数据则计为1,没有计为0,得到各用户在前一天各时间段是否使用应用的状态;
[0022]
将用户唯一标识和各时间段应用使用状态以比特位方式按时间与比特位的对应关系存入所述数据表中。
[0023]
可选地,所述的数据处理方法,其中,以日期命名字段类型为二进制,长度为个比特位,每个比特位对应当天的某一个时间段的应用使用状态。
[0024]
可选地,所述的数据处理方法,其中,所述数据处理方法还包括:
[0025]
自定义一个用于计算位编码字段中比特位为1的个数的函数;
[0026]
将每个用户数据汇总后转换存储为了一条预设数据,数据量等于用户数量,通过用户唯一标识查询用户的记录;
[0027]
使用自定义函数计算所述预设数据当天对应的字段存储的内容中比特位为1的个数;
[0028]
比特位为1个数*时间段间隔为用户当天使用产品的时长。
[0029]
此外,为实现上述目的,本发明还提供一种智能终端,其中,所述智能终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
[0030]
此外,为实现上述目的,本发明还提供一种存储介质,其中,所述存储介质存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
[0031]
本发明通过接收客户端应用发送的心跳数据;将所述心跳数据导入大数据集群;以位编码方式存储所述心跳数据;根据使用的数据仓库工具,开发自定义位编码计算的函数,根据实际数据分析需要调用自定义函数对所述心跳数据进行位编码的相关计算。本发明通过位编码的方式记录用户当天某个时间段的产品使用状态,一个字段即可记录用户一天的产品使用时间分布,以单个字段记录用户当天的使用情况,以该年的天数个字段即可存储用户该年的使用情况,一年只需储存用户数条数据即可,极大减少了存储空间且实现了对同一时间段心跳数据的去重,然后出于数据分析的目的对基于位编码的数据进行相关计算,可提高计算效率。
附图说明
[0032]
图1是本发明数据处理方法的较佳实施例的流程图;
[0033]
图2是本发明数据处理方法的较佳实施例中增加对心跳数据进行数据清洗和关联
用户维度信息处理的流程示意图;
[0034]
图3是本发明数据处理方法的较佳实施例中创建数据表进行数据存储的流程示意图;
[0035]
图4是本发明数据处理方法的较佳实施例中计算用户某天使用产品的时长的流程示意图;
[0036]
图5为本发明智能终端的较佳实施例的运行环境示意图。
具体实施方式
[0037]
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038]
本发明较佳实施例所述的数据处理方法,如图1所示,所述数据处理方法包括以下步骤:
[0039]
步骤s10、接收客户端应用发送的心跳数据;
[0040]
步骤s20、将所述心跳数据导入大数据集群;
[0041]
步骤s30、以位编码方式存储所述心跳数据;
[0042]
步骤s40、根据使用的数据仓库工具,开发自定义位编码计算的函数,根据实际数据分析需要调用自定义函数对所述心跳数据进行位编码的相关计算。
[0043]
本发明后续数据处理不再记录心跳数据发送的具体时间,而是以位编码的方式记录一个状态,即某个时间段内是否发送了心跳数据,也表示某时间段用户是否在使用某应用。这样的话,一个由比特位组成的字段就可以记录用户一天的产品使用时间分布,以单个字段记录用户当天的使用情况,以该年的天数个字段即可存储用户该年的使用情况,这样一年只需储存用户数条数据即可。
[0044]
本发明中,通过智能终端(例如各种智能化设备)接收客户端(客户端或称为用户端,是指与服务器相对应,为客户提供本地服务的程序,除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行,因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等,对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行)应用发送的心跳数据。
[0045]
当智能终端接收客户端应用发送过来的心跳数据后,将所述心跳数据导入大数据集群(集群是一组相互独立的、通过高速计算机网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理,一个客户与集群相互作用时,集群像是一个独立的服务器;一般来说,大数据集群的构架,主要分为几层:硬件层、os层、基础设施管理层、文件系统层、大数据集群技术层以及上层应用),便于后续调用大数据集群资源进行数据处理和计算。
[0046]
再通过位编码方式存储所述心跳数据,不存储心跳数据具体时间而是存储该心跳时间段状态(是否上报),将每个用户当天数据汇总存为一条,存储用户应用使用时间分布的字段类型为binary(二进制),长度为个比特位(比特位即bit,是计算机最小的存储单位,以0或1来表示比特位的值),每个比特位对应当天的某个心跳时间
间隔长度内,用户是否发送了心跳数据,即用户在该时间段(例如某一预设时间段)是否运行了应用。
[0047]
出于数据分析需要,根据使用的数据仓库工具,开发自定义位编码计算的函数,根据实际数据分析需要调用自定义函数对心跳数据进行位编码的相关计算。
[0048]
进一步地,如图2所示,所述数据处理方法还包括:
[0049]
所述智能终端接收客户端应用发送过来的心跳数据;将接收的所述心跳数据导入大数据集群,通过位编码方式存储所述心跳数据,不存储心跳数据具体时间而是存储该心跳时间段状态(是否上报),将每个用户当天数据汇总存为一条,存储用户应用使用时间分布的字段类型为binary(二进制),长度为个比特位(比特位即bit,是计算机最小的存储单位,以0或1来表示比特位的值),每个比特位对应当天的某个心跳时间间隔长度内,用户是否发送了心跳数据,即用户在该时间段(例如某一预设时间段)是否运行了应用;出于数据分析的需要,需要进行数据清洗、关联用户维度信息等etl(extract抽取、transform转换、load加载)操作;出于数据分析需要,对数据进行位编码的计算。
[0050]
进一步地,所述数据处理方法还包括:
[0051]
每日将数据汇总存入字段数为当年天数+1的表中,其中一个字段存储客户端唯一标识,其它字段以日期命名并存储对应日期的用户使用情况,以日期命名的字段类型为binary(二进制),长度为个比特位,每个比特位对应当天的某个心跳时间间隔长度内,用户是否发送了心跳数据,即用户在该时间段是否运行了应用,以分区表也可以实现该功能,但相对宽表来说不便于后续的数据分析相关的计算。
[0052]
具体实施如图3所示:
[0053]
每年创建一张字段数为当年天数+1的表,一个字段用于存储用户的唯一标识,其它字段以日期命名,用于存储该年每一天各时段的用户产品使用状态。以日期命名字段类型为binary,长度为个比特位,每个比特位对应当天的某一个时间段的应用使用状态。每日汇总昨日的各用户心跳数据,某个时间段有心跳数据则计为1,没有计为0,得到各用户昨日各时间段是否使用应用的状态。将用户唯一标识和各时间段应用使用状态以比特位方式按时间与比特位的对应关系存入表中。
[0054]
进一步地,如图4所示,所述数据处理方法还包括:在以位编码对心跳数据或类似数据进行存储的前提下,可以自定义位编码计算函数,进行数据分析相关的计算;以计算用户某天使用产品的时长为例:
[0055]
自定义一个用于计算位编码字段中比特位为1的个数的函数,方便调用;表中每个用户数据汇总、转换存为了一条,数据量等于用户数量,数据量大幅缩减,通过用户唯一标识进行简单查询,即可快速查到该用户的记录;使用自定义函数计算该条数据该天对应的字段存储的内容中比特位为1的个数;比特位为1个数*时间段间隔即是需要求得的该用户该天使用产品的时长。
[0056]
本发明通过位编码的方式记录用户当天某个时间段的产品使用状态,一个字段即可记录用户一天的产品使用时间分布,以单个字段记录用户当天的使用情况,以该年的天数个字段即可存储用户该年的使用情况,这样一年只需储存用户数条数的数据即可,极大减少了存储空间且实现了对同一时间段心跳数据的去重,然后出于数据分析的目的对基于
位编码的数据进行相关计算,可提高计算效率。
[0057]
进一步地,如图5所示,基于上述数据处理方法,本发明还相应提供了一种智能终端,所述智能终端包括处理器10、存储器20及显示器30。图5仅示出了智能终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0058]
所述存储器20在一些实施例中可以是所述智能终端的内部存储单元,例如智能终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述智能终端的外部存储设备,例如所述智能终端上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器20还可以既包括所述智能终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述智能终端的应用软件及各类数据,例如所述安装智能终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有数据处理程序40,该数据处理程序40可被处理器10所执行,从而实现本申请中数据处理方法。
[0059]
所述处理器10在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述数据处理方法等。
[0060]
所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述智能终端的信息以及用于显示可视化的用户界面。所述智能终端的部件10-30通过系统总线相互通信。
[0061]
在一实施例中,当处理器10执行所述存储器20中数据处理程序40时实现以下步骤:
[0062]
接收客户端应用发送的心跳数据;
[0063]
将所述心跳数据导入大数据集群;
[0064]
以位编码方式存储所述心跳数据;
[0065]
根据使用的数据仓库工具,开发自定义位编码计算的函数,根据实际数据分析需要调用自定义函数对所述心跳数据进行位编码的相关计算。
[0066]
其中,所述以位编码方式存储所述心跳数据,之后还包括:
[0067]
根据数据分析的需要,对所述心跳数据进行数据清洗和关联用户维度信息。
[0068]
其中,所述以位编码方式存储所述心跳数据,具体包括:
[0069]
以位编码方式存储所述心跳数据存储的是所述心跳数据的心跳时间段状态。
[0070]
其中,以位编码方式存储所述心跳数据时不存储所述心跳数据的具体时间。
[0071]
其中,所述以位编码方式存储所述心跳数据,还包括:
[0072]
将每个用户当天数据汇总存储为一条,存储用户应用使用时间分布的字段类型为二进制,长度为个比特位
[0073]
其中,每个比特位对应当天的预设心跳时间间隔长度内用户是否发送了心跳数据,表示用户在预设时间段是否运行了应用。
[0074]
其中,所述数据处理方法还包括:
[0075]
每年创建一张字段数为当年天数+1的数据表,一个字段用于存储用户的唯一标识,其它字段以日期命名,用于存储当年每一天各时段的用户产品使用状态;
[0076]
每日汇总前一天的各用户心跳数据,某个时间段有心跳数据则计为1,没有计为0,得到各用户在前一天各时间段是否使用应用的状态;
[0077]
将用户唯一标识和各时间段应用使用状态以比特位方式按时间与比特位的对应关系存入所述数据表中。
[0078]
其中,以日期命名字段类型为二进制,长度为个比特位,每个比特位对应当天的某一个时间段的应用使用状态。
[0079]
其中,所述数据处理方法还包括:
[0080]
自定义一个用于计算位编码字段中比特位为1的个数的函数;
[0081]
将每个用户数据汇总后转换存储为了一条预设数据,数据量等于用户数量,通过用户唯一标识查询用户的记录;
[0082]
使用自定义函数计算所述预设数据当天对应的字段存储的内容中比特位为1的个数;
[0083]
比特位为1个数*时间段间隔为用户当天使用产品的时长。
[0084]
本发明还提供一种存储介质,其中,所述存储介质存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
[0085]
综上所述,本发明提供一种数据处理方法、智能终端及存储介质,所述方法包括:接收客户端应用发送的心跳数据;将所述心跳数据导入大数据集群;以位编码方式存储所述心跳数据;根据使用的数据仓库工具,开发自定义位编码计算的函数,根据实际数据分析需要调用自定义函数对所述心跳数据进行位编码的相关计算。本发明通过位编码的方式记录用户当天某个时间段的产品使用状态,一个字段即可记录用户一天的产品使用时间分布,以单个字段记录用户当天的使用情况,以该年的天数个字段即可存储用户该年的使用情况,一年只需储存用户数条数据即可,极大减少了存储空间且实现了对同一时间段心跳数据的去重,然后出于数据分析的目的对基于位编码的数据进行相关计算,可提高计算效率。
[0086]
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
[0087]
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1