本申请涉及电子设备领域,更具体的说,是涉及一种数据处理方法和装置。
背景技术:
信息科技及移动网络高速发展的今天,人们更加依赖线上服务,各类线上产品如线上购物、线上生活服务、线上金融等喷薄而出,海量的用户操作、业务数据被采集、存储下来。为更好的掌握业务运行、业务发展、风险预警等情况,以及时调整产品运营手段及产品准入等规则,业务数据统计与数据可视化的实时性要求更高,具有低延迟、高性能等要求。
现有技术中,如图1所示是为数据处理的示意图,应用系统101通过kafka102(一个开源流处理平台)将实时数据流发给flink103(一种开源流处理框架),该flink上设置有规则计算及预警,flink上的规则计算及预警对于实时数据进行计算,flink将计算详细结果写入数据库104(如oracle)中。当用户根据需求,通过客户端105发送ajax请求以请求数据,客户端基于该请求与应用服务器建立短连接,应用服务器106发送对详细结果的查询sql(structuredquerylanguage,结构化查询语言),由数据库进行实时的统计计算,并将最终的计算结果返回客户端,再进行数据的可视化展示。
但是,现有技术中的方法,在系统实际运行中,基于短连接的实时看板对数据库oracle计算压力很大,更新慢,性能较差。
技术实现要素:
有鉴于此,本申请提供了一种数据处理方法,解决现有技术中基于用户请求建立短连接以查询数据,实时看板更新慢的问题。
为实现上述目的,本申请提供如下技术方案:
一种数据处理方法,包括:
获取网络数据;
基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
基于不同类别存储所述网络数据至预设的存储空间;
基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
上述的方法,优选的,所述基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别,包括:
基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;
基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别。
上述的方法,优选的,所述基于不同类别分别存储所述网络数据至预设的存储空间,包括:
基于所述网络数据的分类类别是实时数据,将所述网络数据存储到所述流计算引擎的内存;
基于所述网络数据的分类类别是准实时数据,将所述网络数据存储到所述流计算引擎的缓存。
上述的方法,优选的,所述将所述网络数据存储到所述流计算引擎的缓存,包括:
按照预设周期,将所述网络数据存储至所述缓存中。
上述的方法,优选的,所述基于所述网络数据生成推送信息,包括:
监测所述预设的存储空间;
当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值,将刷新后的更新数据作为推送信息。
上述的方法,优选的,还包括:
基于预设的网络协议,与客户端之间建立长链接,所述长链接用于将所述推送信息发送给客户端。
上述的方法,优选的,还包括:
将所述流计算引擎的内存存储状态设置为可查询状态。
一种数据处理装置,包括:
获取模块,用于获取网络数据;
处理模块,用于基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
存储模块,用于基于不同类别存储所述网络数据至预设的存储空间;
发送模块,用于基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
上述的装置,优选的,所述处理模块具体用于:
基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;
基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别。
上述的装置,优选的,所述存储模块包括:
内存,用于存储分类类别是实时数据的网络数据,
缓存,用于存储分类类别是准实时数据的网络数据。
经由上述的技术方案可知,与现有技术相比,本申请提供了一种数据处理方法,包括:获取网络数据;基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;基于不同类别存储所述网络数据至预设的存储空间;基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。本方案中,基于流计算引擎对于网络数据进行分类,并按照不同的类别对于网络数据进行存储至相应的空间,并将该网络数据生成的推送信息发送给客户端,以使得客户端基于该推送信息进行可视化处理,该过程中,无需数据库oracle基于用户查询请求计算,数据块的计算压力减小,而且,主动基于网络数据推送给客户端,提高了实时数据可视化的及时度,减少因多客户端并发查询而导致的资源重复消耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是现有技术中数据处理的示意图;
图2是本申请提供的一种数据处理方法实施例1的流程图;
图3是本申请提供的一种数据处理方法实施例2的流程图;
图4是本申请提供的一种数据处理方法实施例3的流程图;
图5是本申请提供的一种数据处理方法实施例4的流程图;
图6是本申请提供的一种数据处理方法实施例5的流程图;
图7是本申请提供的一种数据处理装置实施例1的结构示意图;
图8是本申请提供的一种数据处理方法的场景示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图2所示的,为本申请提供的一种数据处理方法实施例1的流程图,该方法应用于一电子设备,该电子设备作为服务器,该方法包括以下步骤:
步骤s201:获取网络数据;
其中,该网络数据具体是网络中该服务器涉及的业务发生变化时生成的数据。
具体的,该网络数据可以是线上购物、线上生活服务、线上金融等各种业务涉及的在网络上传输的数据。
具体实施中,该获取网络数据的起始和结束时间可以根据实际情况进行设置,在设置的获取时间段内,可以按照预设的采集周期从网络中获取该网络数据。
步骤s202:基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
其中,服务器中设置有流计算引擎,该流计算引擎对于该网络数据进行计算处理,得到计算结果,该计算结果与网络数据的类别对应。
流计算引擎中设置有流计算规则,该流计算是一种新兴的计算规则,其能够对实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息。
本申请中,利用流计算的实时以及处理数据的海量的特性,对于网络数据进行处理,提高了网络数据处理的实时性。
步骤s203:基于不同类别存储所述网络数据至预设的存储空间;
其中,该流计算引擎对应设置有与类别相应的存储空间。
具体的,基于该网络数据的不同类别,确定相应的存储空间,并将该网络数据存储到相应的存储空间中。
后续实施例中会针对该过程详细说明,本实施例中不做详述。
步骤s204:基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
其中,该网络数据是业务发生变化时生成的数据,则该网络数据可视化处理,用户可以基于该可视化的结果了解该业务变化。
具体的,基于该网络数据生成推送信息,该推送信息中包含该网络数据的内容,然后,将该推送信息发送给客户端,该客户端基于该推送信息即可进行可视化处理,用户基于该可视化的结果能够了解该业务的情况。
具体的,客户端设置有数字看板,该数字看板能够以多种形式展示该网络数据,以使得客户端的用户直观了解该推送信息的情况。
其中,该数字看板的形式可以包括数字、折线图、饼图等,但不限制于这三种形式。
后续实施例中会针对该网络数据生成推送信息的过程进行详细解释,本实施例中不做详述。
综上,本实施例提供的一种数据处理方法,包括:获取网络数据;基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;基于不同类别存储所述网络数据至预设的存储空间;基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。本方案中,基于流计算引擎对于网络数据进行分类,并按照不同的类别对于网络数据进行存储至相应的空间,并将该网络数据生成的推送信息发送给客户端,以使得客户端基于该推送信息进行可视化处理,该过程中,无需数据库oracle基于用户查询请求计算,数据块的计算压力减小,而且,主动基于网络数据推送给客户端,提高了实时数据可视化的及时度,减少因多客户端并发查询而导致的资源重复消耗。
如图3所示的,为本申请提供的一种数据处理方法实施例2的流程图,该方法包括以下步骤:
步骤s301:获取网络数据;
其中,步骤s301与实施例1中的步骤s201一致,本实施例中不做赘述。
步骤s302:基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;
其中,从网络中获取到网络数据后,将该网络数据以消息队列的形式发送给流计算引擎,
其中,该消息队列的特点为先进先出,该流计算引擎基于消息队列中包含的网络数据的排列顺序,依次对于该网络数据进行计算处理。
步骤s303:基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别;
其中,该流计算引擎中设置有多个指标,该指标从多个维度对于网络数据进行计算,得到计算结果。
具体实施中,该指标对应了网络数据实时性、数据量等多个维度。
具体的,基于该指标对于网络数据进行计算,得到的计算结果,该计算结果表征了该网络数据的分类类别,该类别包括实时和准实时。
需要说明的是,该实时类别的数据,是实时性要求较高的数据,而准实时的数据,相对于实时类别,实时性要求较低。
步骤s304:基于不同类别存储所述网络数据至预设的存储空间;
步骤s305:基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
其中,步骤s304-305与实施例1中的步骤s203-204一致,本实施例中不做赘述。
综上,本实施例提供的一种数据处理方法中,该基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别,包括:基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别。本实施例中,采用流计算引擎中的预设指标对于网络数据进行计算,确定该网络数据的分类类别,以实现基于类别确定各不同的存储空间。
如图4所示的,为本申请提供的一种数据处理方法实施例3的流程图,该方法包括以下步骤:
步骤s401:获取网络数据;
步骤s402:基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
其中,步骤s401-402与实施例1中的步骤s201-202一致,本实施例中不做赘述。
步骤s403:基于所述网络数据的分类类别是实时数据,将所述网络数据存储到所述流计算引擎的内存;
其中,在步骤s402中,计算得到该网络数据的分类类别是实时数据,则表征该网络数据的实时性要求比较高,因此,将该网络数据存储到该流计算引擎对应的内存中,以便后续快速读取。
内存存储数据,优点是吞吐量大、读取速度快,适合存储变动频率一般的热点数据。
而由于实时性要求较高的数据,其对应的推送信息更新速度快,因此,直接将其存储到流计算内存中。
需要说明的是,基于流计算确定该网络数据为实时数据,并将其存储到内存中,不用考虑流计算与外部缓存数据库交互的影响,保证在实时数据结果被查询时,对原本的流计算规则的性能基本无影响。
需要说明的是,该实时数据后续推送给客户端进行可视化处理,实现实时数据的可视化,该实时数据可视化是当业务发生时,立即进行计算与数据展示。
步骤s404:基于所述网络数据的分类类别是准实时数据,将所述网络数据存储到所述缓存中;
其中,在步骤s402中,计算得到该网络数据的分类类别是准实时数据,则表征该网络数据的实时性要求比较低,因此,将该网络数据存储到该对应的缓存中。
具体的,按照预设周期,将该网络数据存储至缓存中。
其中,该预设的周期可以是基于应用要求设置,具体可以为1分钟、5分钟等,本申请中不对于该周期的取值进行限制。
需要说明的是,该准实时数据后续推送给客户端进行可视化处理,实现准实时数据的可视化,该准实时数据可视化,对数据可视化实时要求较高,但可以容忍一定程度的延迟,如每5分钟的业务数据汇总等。
本实施例中的缓存,是基于内存的key-value(一种分布式存储系统)数据库。常见的缓存数据库有redis等。
需要说明的是,本方案中,该内存是流计算内存,该缓存是指外部缓存数据库。流计算内存用于存储实时性高的数据,外部缓存用于存储对实时性有要求,且查询频繁的热点数据。
步骤s405:基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
其中,步骤s405与实施例1中的步骤s204一致,本实施例中不做赘述。
综上,本实施例提供的一种数据处理方法中,该基于不同类别分别存储所述网络数据至预设的存储空间,包括:基于所述网络数据的分类类别是实时数据,将所述网络数据存储到所述流计算引擎的内存;基于所述网络数据的分类类别是准实时数据,将所述网络数据存储到缓存。本实施例中,针对实时数据存储到内存中,而准实时数据则存储到缓存中,针对实时性不同的数据存储到不同的数据库中,利用不同的数据库的不同特性,分别为实时与准实时数据可视化提供的技术支持。
如图5所示的,为本申请提供的一种数据处理方法实施例4的流程图,该方法包括以下步骤:
步骤s501:获取网络数据;
步骤s502:基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
其中,步骤s501-502与实施例1中的步骤s201-202一致,本实施例中不做赘述。
步骤s503:监测所述预设的存储空间;
其中,该预设的存储空间包括了内存以及缓存数据库。
如实施例3中所述的,该内存中存储有实时性高的实时网络数据,该缓存的数据库中存储有实时性较低的准实时网络数据。
需要说明的是,在检测该存储空间之前,先将该流计算引擎的内存存储状态设置为可查询状态,以实现能够监测该内存中的数据是否更新。
步骤s504:当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值,将刷新后的更新数据作为推送信息;
其中,该预设的统计指标与客户端对数据进行可视化处理对应的。服务器中对于存储更新的数据进行统计,确定其中与统计指标匹配的网络数据。
其中,该内存和/或缓存的数据库中更新的数据与预设的统计指标匹配时,基于该更新的数据刷新对应的指标的数值,以使得该指标采用该从网络中最新获取的网络数据。
相应的,基于该更新的数据生成的推送信息中包含了从网络中最新获取的网络数据。
步骤s505:将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
需要说明的是,基于本实施例中对实时发生变化的数据进行统一管理,统一推送,避免了多个客户端在访问服务器后,进行的重复数据查询等工作,高效利用计算资源。
综上,本实施例提供的一种数据处理方法中,该基于所述网络数据生成推送信息,包括:监测所述预设的存储空间;当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值,将刷新后的更新数据作为推送信息。本实施例中,对于存储空间的更新情况进行检测,基于更新的数据刷新对应指标的数值,并推送给客户端,以使得客户端基于该更新的数据进行可视化处理。
如图6所示的,为本申请提供的一种数据处理方法实施例5的流程图,该方法包括以下步骤:
步骤s601:基于预设的网络协议,与客户端之间建立长链接;
其中,所述长链接用于将指标发送给客户端。
其中,客户端与服务器之间利用预设的网络协议建立长链接,以使得该服务器与客户端之间能够随时进行数据传输。
具体实施中,该网络协议可以是websocket协议,是一种基于tcp(transmissioncontrolprotoco,传输控制协议)的全双工通信协议。
步骤s602:获取网络数据;
步骤s603:基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
步骤s604:监测所述预设的存储空间;
步骤s605:当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值,将刷新后的更新数据作为推送信息;
步骤s606:基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
其中,步骤s602-606与实施例4中的步骤s501-505一致,本实施例中不做赘述。
综上,本实施例提供的一种数据处理方法中,还包括:基于预设的网络协议,与客户端之间建立长链接,所述长链接用于将所述推送信息发送给客户端。本实施例中,预先在客户端与服务器之间建立长链接,直接基于该长链接进行推送信息发送,无需用户重复请求。
与上述本申请提供的一种数据处理方法实施例相对应的,本申请还提供了应用该数据处理方法的装置实施例。
如图7所示的为本申请提供的一种数据处理装置实施例1的结构示意图,该装置包括以下结构:获取模块701、处理模块702、存储模块703和发送模块704;
其中,获取模块701,用于获取网络数据;
其中,处理模块702,用于基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
其中,存储模块703,用于基于不同类别存储所述网络数据至预设的存储空间;
其中,发送模块704,用于基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
优选的,所述处理模块具体用于:
基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;
基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别。
优选的,所述存储模块包括:
内存,用于存储分类类别是实时数据的网络数据,
缓存,用于存储分类类别是准实时数据的网络数据。
优选的,该存储模块具体用于:
按照预设周期,将所述网络数据存储至所述缓存中。
优选的,该发送模块具体用于:
监测所述预设的存储空间;
当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值,将刷新后的更新数据作为推送信息;
将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
优选的,该发送模块还用于:基于预设的网络协议,与客户端之间建立长链接,所述长链接用于将所述推送信息发送给客户端。
优选的,该内存模块还用于:
将所述流计算引擎的内存存储状态设置为可查询状态。
优选的,该装置还包括:
监听模块,用于监测所述预设的存储空间;当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值。
综上,本实施例提供的一种数据处理装置,包括:获取模块,用于获取网络数据;处理模块,用于基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;存储模块,用于基于不同类别存储所述网络数据至预设的存储空间;发送模块,用于基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。本方案中,基于流计算引擎对于网络数据进行分类,并按照不同的类别对于网络数据进行存储至相应的空间,并将该网络数据生成的推送信息发送给客户端,以使得客户端基于该推送信息进行可视化处理,该过程中,无需数据库oracle基于用户查询请求计算,数据块的计算压力减小,而且,主动基于网络数据推送给客户端,提高了实时数据可视化的及时度,减少因多客户端并发查询而导致的资源重复消耗。
图8所示的为本申请提供的一种数据处理方法的场景示意图,该场景中,包括网络侧、服务器和客户端。在网络侧进行数据采集,其提供实时数据源,该服务器用于流计算以及数据存储,客户端用于实现数据可视化。
数据处理过程如下:
步骤s001:从实时数据源进行数据采集;
步骤s002:流计算服务对数据进行处理,得到计算结果;
步骤s003:基于计算结果判断数据实时性分类;
步骤s004:所述数据属于实时数据,将所述数据存储到流计算内存;
步骤s005:所述数据属于准实时数据,将所述数据存储到缓存数据库;
步骤s006:对于缓存数据以及流计算内存进行数据监听,并将监听内容推送给客户端;
步骤s007:客户端基于推送信息进行数据可视化处理。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可,各个实施例可以组合。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。
1.一种数据处理方法,其特征在于,包括:
获取网络数据;
基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
基于不同类别存储所述网络数据至预设的存储空间;
基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
2.根据权利要求1所述的方法,其特征在于,所述基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别,包括:
基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;
基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别。
3.根据权利要求1所述的方法,其特征在于,所述基于不同类别分别存储所述网络数据至预设的存储空间,包括:
基于所述网络数据的分类类别是实时数据,将所述网络数据存储到所述流计算引擎的内存;
基于所述网络数据的分类类别是准实时数据,将所述网络数据存储到缓存。
4.根据权利要求3所述的方法,其特征在于,所述将所述网络数据存储到缓存,包括:
按照预设周期,将所述网络数据存储至所述缓存中。
5.根据权利要求1所述的方法,其特征在于,所述基于所述网络数据生成推送信息,包括:
监测所述预设的存储空间;
当所述预设的存储空间中更新的数据与预设的统计指标匹配时,基于所述更新的数据刷新对应的指标的数值,将刷新后的更新数据作为推送信息。
6.根据权利要求5所述的方法,其特征在于,还包括:
基于预设的网络协议,与客户端之间建立长链接,所述长链接用于将所述推送信息发送给客户端。
7.根据权利要求1所述的方法,其特征在于,还包括:
将所述流计算引擎的内存存储状态设置为可查询状态。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于获取网络数据;
处理模块,用于基于流计算引擎对于所述网络数据进行分类,得到所述网络数据的分类类别;
存储模块,用于基于不同类别存储所述网络数据至预设的存储空间;
发送模块,用于基于所述网络数据生成推送信息,将所述推送信息发送给客户端,以使得所述客户端基于所述推送信息进行可视化处理。
9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
基于所述网络数据调用流计算引擎,所述网络数据以消息队列形式发送至所述流计算引擎;
基于所述流计算引擎中预设的指标对于所述网络数据进行计算,得到计算结果,所述计算结果表征所述网络数据的分类类别。
10.根据权利要求8所述的装置,其特征在于,所述存储模块包括:
内存,用于存储分类类别是实时数据的网络数据,
缓存,用于存储分类类别是准实时数据的网络数据。
技术总结