CN110334074B - 数据处理方法、装置、服务器及存储介质 - Google Patents
数据处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110334074B CN110334074B CN201910618665.1A CN201910618665A CN110334074B CN 110334074 B CN110334074 B CN 110334074B CN 201910618665 A CN201910618665 A CN 201910618665A CN 110334074 B CN110334074 B CN 110334074B
- Authority
- CN
- China
- Prior art keywords
- batch
- files
- event
- data
- calling
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据处理方法、装置、服务器及存储介质,涉及大数据处理技术领域。该方法包括:接收多个事件请求,每个事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个事件请求包括:操作行为对应的数据;生成多个批文件,每个批文件包括:至少一个事件请求所包括的数据;响应每个批文件的生成操作,触发每个批文件对应的调用指令;向云服务器发送调用指令,调用指令用于调用云服务器上的无服务应用程序,对每个批文件进行处理。通过采用云服务器上的无服务应用程序对生成的批文件进行分批处理,当出现多个批文件时,系统会自动扩展多个应用程序对批文件进行处理,从而实现了集群系统扩展的灵活性。
Description
技术领域
本发明涉及大数据处理技术领域,具体而言,涉及一种数据处理方法、装置、服务器及存储介质。
背景技术
随着移动互联网的飞速增长,互联网广告的展示、点击、转化及In-App事件(客户端操作)等过程中产生的数据都呈现指数级的增长,作为第三方的移动互联网公司,普遍存在着百亿级的海量数据存储和分析的需要。海量数据的统计和存储一般分为实时和离线两种模式:实时模式,实现大数据的实时统计展现,用于向运营人员、技术支持人员提供最直接最灵敏的数据反馈;离线模式,用于实现后台的长周期数据分析、离线训练、机器学习等任务的执行。
通常,对于海量数据实时模式的架构实现,首先需要通过集群系统对获取的流数据进行处理,再将处理结果发送至分布式消息系统来进行后续的处理。
但是,当遇到流量突增的情况时,为了满足数据的处理要求,需要运维人员对上述的集群系统进行扩展和升级,从而使得计算成本相对变高、集群系统的弹性扩展灵活性较低。
发明内容
有鉴于此,本申请实施例的目的在于提供一种数据处理方法、装置、服务器及存储介质,用于解决现有技术中存在的集群系统弹性扩展灵活性较低的问题。
第一方面,本申请实施例提供了一种数据处理方法,该方法包括:
接收多个事件请求,每个所述事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个所述事件请求包括:所述操作行为对应的数据;
生成多个批文件,每个所述批文件包括:至少一个所述事件请求所包括的数据;
响应每个所述批文件的生成操作,触发每个所述批文件对应的调用指令;
向云服务器发送所述调用指令,所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行处理。
可选地,所述生成多个批文件,包括:
根据预设的缓存大小,将多个所述事件请求所包括的数据划分为多个所述批文件,每个所述批文件的大小为所述预设的缓存大小;或者,根据预设的时间周期,将多个所述事件请求所包括的数据划分为多个所述批文件,每个所述批文件包括:同一时间周期内的至少一个所述事件请求所包括的数据。
可选地,所述响应每个所述批文件的生成操作,触发每个所述批文件对应的调用指令,包括:
响应每个所述批文件的生成操作,触发每个所述批文件对应的调用事件;
生成所述调用事件对应的云服务应用程序的调度指令作为每个所述批文件对应的调用指令。
可选地,所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行聚合分析的算子操作;所述方法还包括:
接收所述云服务器发送的多个流消息,每个流消息包括:一个所述批文件聚合分析后的数据;
向预设的数据库和/或搜索引擎中写入所述聚合分析后的数据。
可选地,所述向预设的数据库和/或搜索引擎中写入所述聚合分析后的数据,包括:
将多个所述流消息,按照预设的排列顺序,依次加载至预设的消息队列中;
将所述消息队列中的多个所述流消息,依次写入所述数据库和/或搜索引擎中。
可选地,所述追踪事件为:广告展示事件、广告点击事件、广告转化事件,或,应用程序内事件。
第二方面,本申请实施例提供了一种数据处理装置,包括:接收模块、生成模块、触发模块及发送模块;
所述接收模块,用于接收多个事件请求,每个所述事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个所述事件请求包括:所述操作行为对应的数据;
所述生成模块,用于生成多个批文件,每个所述批文件包括:至少一个所述事件请求所包括的数据;
所述触发模块,用于响应每个所述批文件的生成操作,触发每个所述批文件对应的调用指令;
所述发送模块,用于向云服务器发送所述调用指令,所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行处理。
可选地,所述生成模块,具体用于根据预设的缓存大小,将多个所述事件请求所包括的数据划分为多个所述批文件,每个所述批文件的大小为所述预设的缓存大小;或者,根据预设的时间周期,将多个所述事件请求所包括的数据划分为多个所述批文件,每个所述批文件包括:同一时间周期内的至少一个所述事件请求所包括的数据。
可选地,所述触发模块,具体用于响应每个所述批文件的生成操作,触发每个所述批文件对应的调用事件;生成所述调用事件对应的云服务应用程序的调度指令作为每个所述批文件对应的调用指令。
可选地,所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行聚合分析的算子操作,所述装置还包括:接收模块及写入模块;
所述接收模块,用于接收所述云服务器发送的多个流消息,每个流消息包括:一个所述批文件聚合分析后的数据;
所述写入模块,用于向预设的数据库和/或搜索引擎中写入所述聚合分析后的数据。
可选地,所述写入模块,具体用于将多个所述流消息,按照预设的排列顺序,依次加载至预设的消息队列中;将所述消息队列中的多个所述流消息,依次写入所述数据库和/或搜索引擎中。
第三方面,本申请实施例提供了一种服务器,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的程序指令,当服务器运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行如第一方面中提供的数据处理方法的步骤。
第四方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的数据处理方法的步骤。
本申请实施例提供的数据处理方法、装置、服务器及存储介质,根据接收的用户操作行为所触发的追踪事件,对应的事件请求所包含的数据,通过批处理,将接收的数据生成多个批文件,响应每个批文件的生成操作,调用每个批文件对应的云服务器上的无服务应用程序对批文件进行处理。通过采用云服务器上的无服务应用程序对生成的批文件进行分批处理,可以使得数据处理速度显著提高,另外,采用云服务器上的无服务应用程序,成本相对较低,有效提高集群系统的弹性扩展灵活性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据处理系统的框图;
图2为本申请实施例提供的一种服务器的示例性硬件和软件组件的示意图;
图3为本申请实施例提供的一种数据处理方法流程示意图;
图4为本申请实施例提供的另一种数据处理方法流程示意图;
图5为本申请实施例提供的又一种数据处理方法流程示意图;
图6为本申请实施例提供的另一种数据处理方法流程示意图;
图7为本申请实施例提供的一种数据处理方法整体流程框图;
图8为本申请实施例提供的一种数据处理装置结构示意图;
图9为本申请实施例提供的另一种数据处理装置结构示意图;
图10为本申请实施例提供的另一种数据处理装置结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的一种数据处理系统的框图。例如,数据处理系统可以是用于诸如互联网广告、视频监控等产生大数据的平台。
数据处理系统可以包括集群服务器110、网络120、终端130和云服务器140中的一种或多种,集群服务器110中可以包括执行指令操作的至少一个服务器。集群服务器110可以为追踪服务器(tracking server)的集群,即每个服务器可以为一个追踪服务器。
在一些实施例中,集群服务器110可以是单个服务器,也可以是服务器组。服务器组可以是集中式的,也可以是分布式的(例如,集群服务器110可以是分布式系统)。在一些实施例中,集群服务器110相对于终端130,可以是本地的、也可以是远程的。例如,集群服务器110可以经由网络120访问存储在终端130或云服务器140、或其任意组合中的信息和/或数据。作为另一示例,集群服务器110可以直接连接到终端130和云服务器140中至少一个,以访问存储的信息和/或数据。在一些实施例中,集群服务器110可以在具有本申请中图2所示的一个或多个组件的服务器200上实现。
在一些实施例中,集群服务器110中每个服务器可以包括处理器。在一些实施例中,处理器可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用指令集处理器(ApplicationSpecific Instruction-set Processor,ASIP)、图形处理单元(Graphics ProcessingUnit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(DigitalSignal Processor,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
网络120可以用于信息和/或数据的交换。在一些实施例中,数据处理系统中的一个或多个组件(例如,集群服务器110、终端130、云服务器140)可以向其他组件发送信息和/或数据。例如,集群服务器110可以经由网络120从终端130获取授权信息,或者,集群服务器110可向服务器140发送调用指令。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络120可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(NearField Communication,NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,服务数据预测系统的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。
在一些实施例中,云服务器140可以连接到网络120以与数据处理系统(例如,集群服务器110,终端130等)中的一个或多个组件通信。数据处理系统中的一个或多个组件可以经由网络120访问存储在云服务器140中的数据或指令。在一些实施例中,云服务器140可以直接连接到数据处理系统中的一个或多个组件(例如,集群服务器110,终端130等);或者,在一些实施例中,云服务器140也可以是集群服务器110的一部分。
图2为本申请实施例提供的一种服务器的示例性硬件和软件组件的示意图。其中,处理器220可以位于服务器200上,并且用于执行本申请中的功能。该服务器200可以为上述图1所示的数据处理系统中的集群服务器110中的任一服务器。
服务器200可以用于实现本申请的数据处理方法。本申请尽管仅示出了一个物理实体实现,但是为了方便起见,可以在多个类似平台上以分布式方式通过多个物理实体实现本申请描述的功能,以均衡处理负载。
例如,服务器200可以包括连接到网络的网络端口210、用于执行程序指令的一个或多个处理器220、通信总线230、和不同形式的存储介质240,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,服务器200还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。
为了便于说明,在服务器200中仅描述了一个处理器。然而,应当注意,本申请中的服务器200还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若服务器200的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
需要说明的是,本申请提供的数据处理方法主要应用于互联网广告场景下,在广告的展示、点击、转化等过程中会产生海量大数据,当数据流量突增的情况下,应用本申请提供的数据处理方法可以有效提高数据处理效率,并且,使得集群系统的弹性扩展灵活性也得到有效提高。
如下通过多个实例对本申请所提供的数据处理方法进行说明。
图3为本申请实施例提供的一种数据处理方法流程示意图,本实施例的执行主体可以是服务器,该服务器可以为上述图1所示的数据处理系统中的任一集群服务器,如图3所示,该方法包括:
S101、接收多个事件请求,每个该事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个该事件请求包括:操作行为对应的数据。
随着互联网广告的不断渗透,用户在利用终端观看视频或者是浏览网页时,均会有广告弹出,对于用户感兴趣的广告,用户会选择点击查看,并可以具体查看广告中某一目标物的相关信息,而对于用户不感兴趣的广告,用户可以点击关闭。另外,为了吸引用户的注意,在一些商场的LED屏上也会经常进行广告的展示播放。在上述过程中,会产生用户操作相关的海量数据,而对于这些海量数据的实时分析,可以使得第三方运营商更为准确的为用户推送广告,提高用户的观看体验。
可选地,用户可以通过终端输入操作行为,而该用户的操作行为可以触发该操作指令对应的追踪事件,同时产生与该操作行为对应的数据。例如用户的点击操作可以触发广告展示或者是关闭事件等,从而产生与点击操作相关的数据,又或者是,用户的浏览操作,其对应产生的是浏览内容数据等。根据用户操作行为所触发的追踪事件,集群服务器会接收到该追踪事件对应的事件请求,也即接收到数据,当同时有多个用户操作行为发生时,可使得集群服务器接收多个追踪事件的请求,如此,当该追踪事件的数量大于或等于预设阈值,则该些追踪事件的请求所包括的数据便可构成海量数据。
进一步地,追踪事件可以为:广告展示事件、广告点击事件、广告转化事件,或,应用程序内事件。
其中,广告展示事件可以是用户通过终端点击查看广告,进行广告的展示,也可以是广告商自行进行广告展示。广告点击事件可以是用户通过终端进行任意的广告操作,例如:关闭广告,或者是对广告中感兴趣的物品链接进行查看等。广告转化事件可以是用户在终端或PC机上安装应用软件。而应用程序内事件,可以是用户在终端应用软件上进行的对广告的相关操作。上述追踪事件均是用户操作行为触发,在触发后,将产生海量操作数据,对海量数据的分析,可以有效的帮助第三方运营商有针对性的对用户推荐广告,从而提高用户观看体验。
S102、生成多个批文件,每个批文件包括:至少一个事件请求所包括的数据。
对于上述用户操作行为产生的海量数据,若直接对该海量数据进行处理分析,很容易因数据拥堵或者是处理资源不够用,而导致数据处理速度变慢,故本申请的方案中,可以先将该多个事件请求所包括的数据构成的海量数据进行划分,生成多个批文件,继而针对每个批文件进行处理,也即将整体运算转换为分批运算,这样可以有效缓解处理压力。
可选地,生成的每个批文件中均包括至少一个事件请求所包含的数据,即,一个批文件中可以只包括一个事件请求所包含的数据,也可以包括多个事件请求所包含的数据。具体可以根据实际的批文件生成规则进行计算。
S103、响应每个批文件的生成操作,触发每个批文件对应的调用指令。
针对每个批文件的生成,集群服务器均会响应该批文件生成操作,从而生成该批文件对应的调用指令。也即,当检测到有一个批文件生成,在批文件生成的时间节点上,会瞬时触发生成该一个批文件对应的调用指令,以保证调用的实时性、准确性。
S104、向云服务器发送调用指令,调用指令用于调用云服务器上的无服务应用程序,对每个批文件进行处理。
需要说明的是,本实施例中的云服务器可以是运营商租赁或者购买来的,其无需进行网络的配置等,可直接使用,在使用结束后,可以还回或者是关闭。该云服务器中设置有多个无服务应用程序(serverless application)。上述集群服务器响应每个批文件的生成操作,触发每个批文件对应的调用指令,并将该调用指令发送至云服务器,云服务器可以根据该调用指令调用相应的无服务应用程序,通过该无服务应用程序对该批文件进行处理。其中,每个批文件的生成均会相应触发生成调用指令,以通过调用指令调用相应的程序对多个批文件同时实时处理。
本实施例中,无服务应用程序可以是Serverless服务,具体的可以是云服务器上的服务单元,如lambda服务单元,利用该lambda服务单元可以对批文件进行处理。也即当出现多个批文件时,云服务器上会扩展多个lambda服务单元,即多个无服务应用程序,用以分别对多个批文件进行处理,从而实现集群的灵活的弹性扩展。可选地,不限于lambda服务单元,也可以采用其他的云服务器上所配置的其它形式的无服务应用。
综上,本申请实施例提供的数据处理方法,根据接收的用户操作行为所触发的追踪事件,对应的事件请求所包含的数据,通过批处理,将接收的数据生成多个批文件,响应每个批文件的生成操作,调用每个批文件对应的云服务器上的无服务应用程序对批文件进行处理。通过采用云服务器上的无服务应用程序根据接收到的调用指令对批文件进行分批处理,可以使得数据处理速度显著提高,另外,采用云服务器上的无服务应用程序,成本相对较低,有效提高集群系统的弹性扩展灵活性。
并且云服务器上可具有多个无服务应用程序,而不限于一个无服务应用程序,保证对海量数据的分批处理,进一步提高数据处理系统的弹性扩展灵活性。
如下通过多个实现方式对多个批文件的生成进行说明。
可选地,如上述方法中所示的生成多个批文件,可包括:
根据预设的缓存大小,将多个事件请求所包括的数据划分为多个批文件,每个批文件的大小为预设的缓存大小。或者,根据预设的时间周期,将多个事件请求所包括的数据划分为多个批文件,每个批文件包括:同一时间周期内的至少一个事件请求所包括的数据。
在一种实现方式中,可以预设一缓存大小,也即每个批文件的大小,根据该批文件的大小,把多个事件请求所包括的数据分成多个批文件。例如:预设缓存大小为100M,也即每个批文件的大小为100M,那么每个批文件中可以包含100M的数据,当有海量数据产生时,可以将该海量数据按照100M为一批,打包成生成多个批文件。
在另一种实现方式中,还可以预设一时间周期,根据该时间周期,将多个事件请求所包含的数据划分为多个批文件。例如:预设时间周期为10分钟,那么可以将连续10分钟内产生的数据作为一个批文件进行打包。如此采用上述两种方法的任意一种,均可以将海量数据打包生成多个批文件。
可选地,生成批文件的方式可以不限于上述两种方法,可以根据实际情况设定不同的划分规则进行实现。
图4为本申请实施例提供的另一种数据处理方法流程示意图,进一步地,如图4所示,对于步骤S103中响应每个批文件的生成操作,触发每个批文件对应的调用指令,可包括:
S201、响应每个批文件的生成操作,触发每个批文件对应的调用事件。
在一些实施例中,集群服务器可以响应每个批文件的生成操作,当有一个批文件生成的瞬间,即可触发与该批文件对应的调用事件,该调用事件可以指示无服务应用程序的调用。
S202、生成调用事件对应的云服务应用程序的调度指令作为每个批文件对应的调用指令。
可选地,可以将根据上述的调用事件,生成调用事件对应的云服务应用程序的调度指令,该调度指令可以作为每个批文件的调用指令,也即当有一个批文件生成的瞬间,会触发与该批文件对应的调用事件,该调用事件可以调用上述的无服务应用程序,也即lambda服务单元,对批文件进行处理,在具体执行过程中,可以通过启动本地应用程序模式(lambda local application)进行批文件处理。
图5为本申请实施例提供的又一种数据处理方法流程示意图,进一步地,调用指令用于调用云服务器上的无服务应用程序,对每个批文件进行聚合分析的算子操作。
其中,对批文件进行聚合分析,也即对批文件中的数据进行降级处理,即进行数据量压缩,例如经过无服务应用程序将百万级数据量处理为几百级数据,这样可以使得数据量有效降低,从而使得后续计算处理过程效率更高。
如图5所示,本申请的数据处理方法还可包括:
S301、接收云服务器发送的多个流消息,每个流消息包括:一个批文件聚合分析后的数据。
上述通过云服务器上的无服务应用程序对一个批文件进行处理后,可以生成一个流消息,在处理多个批文件后,便生成了多个流消息。其中,流消息的数量可以与批文件的数量一一对应,也即对每个批文件进行处理后均会对应生成一个流消息。
在一些实施例中,云服务器可以将生成的多个流消息发送给集群服务器,以使得集群服务器将接收的流消息进行进一步的处理。其中,在云服务器将流消息发送给集群服务器后,该云服务器可以被归还或是关闭,从而不浪费较多的成本。
S302、向预设的数据库和/或搜索引擎中写入聚合分析后的数据。
上述集群服务器接收到流消息后,可以将该流消息发送至分布式消息系统,进行后续的消息处理流程,并将后续处理后得到的数据,写入预设的数据库或者是搜索引擎中,从而为前端系统提供快速高效的实时查询分析,以使得第三方运营商可以根据数据索引,在上述数据库或者搜索引擎中查找所需的数据,并进行数据分析。其中,预设数据库可以是关系型数据库、或者非关系数据库,等其他类型的数据库等,此处不做限制。
图6为本申请实施例提供的另一种数据处理方法流程示意图,进一步地,如图6所示,上述步骤S302中,向预设的数据库和/或搜索引擎中写入聚合分析后的数据,可包括:
S401、将多个流消息,按照预设的排列顺序,依次加载至预设的消息队列中。
可选地,可以根据每个流消息生成的先后顺序,依次加载至分布式消息系统的预设消息队列中,或者,还可以根据流消息的消息优先级,将多个流消息依次加载至分布式消息系统的预设消息队列中。也就是说,该预设的排列顺序可以为该多个流消息的生成时间的先后排列顺序;或者该多个流消息的优先级的排列顺序。
S402、将消息队列中的多个流消息,依次写入数据库和/或搜索引擎中。
在一些实施例中,在将上述流消息加载至消息队列后,可以根据流消息在消息队列中的排列顺序,依次将多个流消息写入上述的数据库或者是搜索引擎中,以实现流消息的有序加载。
图7为本申请实施例提供的一种数据处理方法所应用的架构示意图,如图7所示,本申请实施例提供的数据处理方法整体流程包括:(1)集群服务器可接收追踪事件的请求,也即接收用户对应的广告行为触发的追踪事件所产生的数据;(2)然后通过批处理操作,将数据生成多个批文件;(3)并根据批文件的生成,触发向云服务器发送调用指令,用以调用无服务应用程序对每个批文件进行处理。其中,云服务器上不同的无服务应用程序可以是相同的,其执行的功能可以是相同的;(4)在利用云服务器上的无服务应用程序对批文件处理完后,会生成多个流消息;(5)该流消息被发送至集群服务器;(6)集群服务器再将该多个流消息依次加载至分布式消息系统的消息队列中;(7)进一步将流消息写入数据库或者搜索引擎中,以为前端系统提供快速高效的实时查询分析。
综上,本申请实施例提供的数据处理方法、装置、服务器及存储介质,根据接收的用户操作行为所触发的追踪事件,对应的事件请求所包含的数据,通过批处理,将接收的数据生成多个批文件,响应每个批文件的生成操作,调用每个批文件对应的云服务器上的无服务应用程序对批文件进行处理。通过采用云服务器上的无服务应用程序根据接收到的调用指令对批文件进行分批处理,可以使得数据处理速度显著提高,另外,采用云服务器上的无服务应用程序,成本相对较低,有效提高集群系统的弹性扩展灵活性。
并且云服务器上可具有多个无服务应用程序,而不限于一个无服务应用程序,保证对海量数据的分批处理,进一步提高数据处理系统的弹性扩展灵活性。
图8为本申请实施例提供的一种数据处理装置结构示意图,如图8所示,该装置包括:接收模块501、生成模块502、触发模块503及发送模块504;
接收模块501,用于接收多个事件请求,每个事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个事件请求包括:操作行为对应的数据;
生成模块502,用于生成多个批文件,每个批文件包括:至少一个事件请求所包括的数据;
触发模块503,用于响应每个批文件的生成操作,触发每个批文件对应的调用指令;
发送模块504,用于向云服务器发送调用指令,调用指令用于调用云服务器上的无服务应用程序,对每个批文件进行处理。
进一步地,生成模块502,具体用于根据预设的缓存大小,将多个事件请求所包括的数据划分为多个批文件,每个批文件的大小为预设的缓存大小;或者,根据预设的时间周期,将多个事件请求所包括的数据划分为多个批文件,每个批文件包括:同一时间周期内的至少一个事件请求所包括的数据。
进一步地,触发模块503,具体用于响应每个批文件的生成操作,触发每个批文件对应的调用事件;生成调用事件对应的云服务应用程序的调度指令作为每个批文件对应的调用指令。
进一步地,调用指令用于调用云服务器上的无服务应用程序,对每个批文件进行聚合分析的算子操作,如图9所示,该装置还包括:写入模块505;
在一些实施例中,如图8所示的接收模块501,还用于接收云服务器发送的多个流消息,每个流消息包括:一个批文件聚合分析后的数据;
写入模块505,用于向预设的数据库和/或搜索引擎中写入聚合分析后的数据。
进一步地,写入模块505,具体用于将多个流消息,按照预设的排列顺序,依次加载至预设的消息队列中;将消息队列中的多个流消息,依次写入数据库和/或搜索引擎中。
上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
图10为本申请实施例提供的另一种数据处理装置结构示意图,如图10所示,该装置包括:处理器901和存储器902,其中:存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
该装置可以为服务器或集成在服务器的芯片上本申请中不作限制。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
接收多个事件请求,每个所述事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个所述事件请求包括:所述操作行为对应的数据;
生成多个批文件,每个所述批文件包括:至少一个所述事件请求所包括的数据;
响应每个所述批文件的生成操作,触发每个所述批文件对应的调用指令;
向云服务器发送所述调用指令,所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行处理;
所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行聚合分析的算子操作;所述方法还包括:
接收所述云服务器发送的多个流消息,每个流消息包括:一个所述批文件聚合分析后的数据;
向预设的数据库和/或搜索引擎中写入所述聚合分析后的数据。
2.根据权利要求1所述的方法,其特征在于,所述生成多个批文件,包括:
根据预设的缓存大小,将多个所述事件请求所包括的数据划分为多个所述批文件,每个所述批文件的大小为所述预设的缓存大小;
或者,
根据预设的时间周期,将多个所述事件请求所包括的数据划分为多个所述批文件,每个所述批文件包括:同一时间周期内的至少一个所述事件请求所包括的数据。
3.根据权利要求1所述的方法,其特征在于,所述响应每个所述批文件的生成操作,触发每个所述批文件对应的调用指令,包括:
响应每个所述批文件的生成操作,触发每个所述批文件对应的调用事件;
生成所述调用事件对应的云服务应用程序的调度指令作为每个所述批文件对应的调用指令。
4.根据权利要求1所述的方法,其特征在于,所述向预设的数据库和/或搜索引擎中写入所述聚合分析后的数据,包括:
将多个所述流消息,按照预设的排列顺序,依次加载至预设的消息队列中;
将所述消息队列中的多个所述流消息,依次写入所述数据库和/或搜索引擎中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述追踪事件为:广告展示事件、广告点击事件、广告转化事件,或,应用程序内事件。
6.一种数据处理装置,其特征在于,包括:接收模块、生成模块、触发模块及发送模块;
所述接收模块,用于接收多个事件请求,每个所述事件请求为用户的操作行为所触发的追踪事件所对应的事件请求,每个所述事件请求包括:所述操作行为对应的数据;
所述生成模块,用于生成多个批文件,每个所述批文件包括:至少一个所述事件请求所包括的数据;
所述触发模块,用于响应每个所述批文件的生成操作,触发每个所述批文件对应的调用指令;
所述发送模块,用于向云服务器发送所述调用指令,所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行处理;
所述调用指令用于调用所述云服务器上的无服务应用程序,对每个所述批文件进行聚合分析的算子操作,所述装置还包括:接收模块及写入模块;
所述接收模块,用于接收所述云服务器发送的多个流消息,每个流消息包括:一个所述批文件聚合分析后的数据;
所述写入模块,用于向预设的数据库和/或搜索引擎中写入所述聚合分析后的数据。
7.根据权利要求6所述的装置,其特征在于,所述触发模块,具体用于响应每个所述批文件的生成操作,触发每个所述批文件对应的调用事件;生成所述调用事件对应的云服务应用程序的调度指令作为每个所述批文件对应的调用指令。
8.一种服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至5任一所述的数据处理方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910618665.1A CN110334074B (zh) | 2019-07-09 | 2019-07-09 | 数据处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910618665.1A CN110334074B (zh) | 2019-07-09 | 2019-07-09 | 数据处理方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334074A CN110334074A (zh) | 2019-10-15 |
CN110334074B true CN110334074B (zh) | 2021-09-17 |
Family
ID=68146109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910618665.1A Active CN110334074B (zh) | 2019-07-09 | 2019-07-09 | 数据处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334074B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274297A (zh) * | 2020-01-19 | 2020-06-12 | 政采云有限公司 | 一种基于存储库的无服务端化共享资源方法及系统 |
CN112764837B (zh) * | 2021-01-29 | 2022-03-08 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、存储介质及终端 |
CN113010297A (zh) * | 2021-04-23 | 2021-06-22 | 北京秒针人工智能科技有限公司 | 基于消息队列的数据库写入调度器、写入方法和存储介质 |
CN114138145A (zh) * | 2021-11-30 | 2022-03-04 | 武汉噢易云计算股份有限公司 | 应用虚拟化的文件拖拽方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693307A (zh) * | 2012-05-24 | 2012-09-26 | 上海克而瑞信息技术有限公司 | 一种网站用户的访问行为记录分析系统 |
CN104680398A (zh) * | 2015-03-12 | 2015-06-03 | 浪潮集团有限公司 | 一种针对电商用户海量行为数据的获取和存储方法 |
CN108229986A (zh) * | 2016-12-14 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 信息点击预测中的特征构建方法、信息投放方法和装置 |
CN108763016A (zh) * | 2018-05-15 | 2018-11-06 | 广州市千钧网络科技有限公司 | 一种采集用户行为数据的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10031976B2 (en) * | 2014-04-07 | 2018-07-24 | Paypal, Inc. | Personalization platform |
US10095768B2 (en) * | 2014-11-14 | 2018-10-09 | Veritas Technologies Llc | Systems and methods for aggregating information-asset classifications |
CN106446167A (zh) * | 2016-09-24 | 2017-02-22 | 乐视控股(北京)有限公司 | 数据处理方法及装置 |
US11385944B2 (en) * | 2017-07-10 | 2022-07-12 | Nokia Solutions And Networks Oy | Event handling in distributed event handling systems |
US10909070B2 (en) * | 2017-08-31 | 2021-02-02 | Salesforce.Com, Inc. | Memory efficient policy-based file deletion system |
-
2019
- 2019-07-09 CN CN201910618665.1A patent/CN110334074B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693307A (zh) * | 2012-05-24 | 2012-09-26 | 上海克而瑞信息技术有限公司 | 一种网站用户的访问行为记录分析系统 |
CN104680398A (zh) * | 2015-03-12 | 2015-06-03 | 浪潮集团有限公司 | 一种针对电商用户海量行为数据的获取和存储方法 |
CN108229986A (zh) * | 2016-12-14 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 信息点击预测中的特征构建方法、信息投放方法和装置 |
CN108763016A (zh) * | 2018-05-15 | 2018-11-06 | 广州市千钧网络科技有限公司 | 一种采集用户行为数据的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于无服务器架构的边缘AI计算平台;刘畅 等;《信息通信技术》;20181015(第66期);第45-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110334074A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334074B (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN109032801B (zh) | 一种请求调度方法、系统及电子设备和存储介质 | |
US11221743B2 (en) | Information processing method, terminal, server, and computer storage medium | |
US10783002B1 (en) | Cost determination of a service call | |
CN110321273B (zh) | 一种业务统计方法及装置 | |
US10318987B2 (en) | Managing cookie data | |
US20150181556A1 (en) | Contextual push notification service | |
US9582161B2 (en) | Configurable animated scatter plots | |
AU2017334312B2 (en) | Objective based advertisement placement platform | |
CN110727697B (zh) | 数据的处理方法和装置、存储介质、电子装置 | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN111274032A (zh) | 任务处理系统及方法、存储介质 | |
CN104937613A (zh) | 量化数据质量的探试 | |
KR20130089900A (ko) | 인터넷 모바일 기기에서의 광고 소재 동시 처리 방법 | |
US20200402094A9 (en) | Systems and methods to display three dimensional digital assets in an online environment based on an objective | |
CN109710604A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN113961610A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN109285035B (zh) | 预测应用留存数据的方法、装置、设备及存储介质 | |
CN113326237A (zh) | 日志数据的加工方法、装置、终端设备以及存储介质 | |
CN111274104B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN113722378B (zh) | 用于采集信息的方法、装置、电子设备和介质 | |
US11941421B1 (en) | Evaluating and scaling a collection of isolated execution environments at a particular geographic location | |
CN110971917B (zh) | 基于Lambda框架的直播数据处理方法、系统、服务器及装置 | |
JP2017151825A (ja) | 制御装置及び制御方法 |
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 |