CN106202324B - 一种实时计算平台的数据处理方法和装置 - Google Patents

一种实时计算平台的数据处理方法和装置 Download PDF

Info

Publication number
CN106202324B
CN106202324B CN201610514807.6A CN201610514807A CN106202324B CN 106202324 B CN106202324 B CN 106202324B CN 201610514807 A CN201610514807 A CN 201610514807A CN 106202324 B CN106202324 B CN 106202324B
Authority
CN
China
Prior art keywords
data
processed
reading
data source
receivers
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.)
Expired - Fee Related
Application number
CN201610514807.6A
Other languages
English (en)
Other versions
CN106202324A (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 Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610514807.6A priority Critical patent/CN106202324B/zh
Publication of CN106202324A publication Critical patent/CN106202324A/zh
Application granted granted Critical
Publication of CN106202324B publication Critical patent/CN106202324B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Updating
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种实时计算平台的数据处理方法和装置。该方法包括:接收计算任务,读取该计算任务的配置信息;根据配置信息中的数据源信息,确定该计算任务配置的数据源;调度多个接收器从数据源获取待处理数据并保存;根据配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。可见,本方案的数据处理流程是依据实时计算平台接收到的计算任务的配置信息而展开的,确定该计算任务配置的数据源,调度多个接收器从数据源获取待处理数据并保存,从各接收器中读取待处理数据并进行处理。依据本方案,相当于利用多个相互独立的进程并行地完成从数据源获取待处理数据并等待处理的过程,有效地提高了实时计算平台的数据吞吐量,满足大数据处理需求。

Description

一种实时计算平台的数据处理方法和装置
技术领域
本发明涉及互联网技术领域,具体涉及一种实时计算平台的数据处理方法和装置。
背景技术
现有技术中,实时计算平台可以基于计算框架进行数据处理,实时计算平台的统计处理过程是借助于计算框架本身集群的内存来进行的,实时计算平台利用接收器的从数据源获取待处理数据后,将待处理数据直接放入内存中,再对内存中的数据进行统计处理。对于一些数据源来说,接收器读取数据的速度是一定的,例如,待处理数据为200G,接收器每秒读取1G数据,实时计算平台1分钟处理一次数据,相当于实时计算平台一次批处理的数据量是60G,但是接收器的内存才6G,根本没办法满足实时计算平台的数据处理需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种实时计算平台的数据处理方法和装置。
依据本发明的一个方面,提供了一种实时计算平台的数据处理方法,其中,该方法包括:
接收计算任务,读取该计算任务的配置信息;
根据所述配置信息中的数据源信息,确定该计算任务配置的数据源;
调度多个接收器从所述数据源获取待处理数据并保存;
根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。
可选地,所述计算任务配置的数据源为指定的Kafka数据源。
可选地,所述指定的Kafka数据源配置有一个Zookeeper服务器;
所述调度多个接收器从所述数据源获取待处理数据包括:
调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中。
可选地,所述从所述指定的Kafka数据源读取待处理数据包括:
从所述Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据所述数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
可选地,所述调度多个接收器从所述数据源获取待处理数据包括:
调度多个接收器直接与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。
可选地,所述从所述指定的Kafka数据源读取待处理数据包括:
从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
可选地,所述指定的Kafka数据源包括多个数据队列;
所述调度多个接收器从所述数据源获取待处理数据并保存包括:
调度多个接收器从所述指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,所述多个数据队列被均匀分配给所述多个接收器进行数据读取。
可选地,所述调度多个接收器从所述数据源获取待处理数据并保存包括:
每隔预设时间间隔,调度多个接收器从所述数据源获取待处理数据并保存。
可选地,所述调度多个接收器从所述数据源获取待处理数据并保存包括:
调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过所述多个进程从所述数据源获取待处理数据并保存。
可选地,所述计算任务配置的处理规则中包括:数据计算触发时机和计算规则;
所述根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理包括:
判断是否达到所述数据计算触发时机,是则,从各接收器中读取待处理数据;
根据所述计算规则,对待处理数据进行计算。
可选地,该方法进一步包括:
预设数据清理触发时机;
当达到所述数据清理触发时机时,判断所述多个接收器中是否存在已过期数据;
是则,对所述多个接收器中的已过期数据进行清理。
可选地,所述计算任务配置的处理规则中还包括:解析条件;
则在所述对待处理数据进行计算之前,所述根据所述计算任务配置的处理规则,从各接收器中读取待处理数据并进行相应处理还包括:
根据所述解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;
所述对待处理数据进行计算包括:对指定格式的元数据进行计算。
可选地,所述计算任务配置的处理规则中还包括:存储规则;
则在所述对待处理数据进行计算之后,该方法进一步包括:
根据所述存储规则,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。
依据本发明的另一个方面,提供了一种实时计算平台的数据处理装置,其中,该装置包括:
任务接收单元,适于接收计算任务,读取该计算任务的配置信息;并适于根据所述配置信息中的数据源信息,确定该计算任务配置的数据源;
数据接收单元,适于调度多个接收器从所述数据源获取待处理数据并保存;
数据处理单元,适于根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。
可选地,所述计算任务配置的数据源为指定的Kafka数据源。
可选地,所述指定的Kafka数据源配置有一个Zookeeper服务器;
所述数据接收单元,适于调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中。
可选地,所述数据接收单元,适于从所述Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据所述数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
可选地,所述数据接收单元,适于调度多个接收器直接与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。
可选地,所述数据接收单元,适于从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
可选地,所述指定的Kafka数据源包括多个数据队列;
所述数据接收单元,适于调度多个接收器从所述指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,所述多个数据队列被均匀分配给所述多个接收器进行数据读取。
可选地,所述数据接收单元,适于每隔预设时间间隔,调度多个接收器从所述数据源获取待处理数据并保存。
可选地,所述数据接收单元,适于调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过所述多个进程从所述数据源获取待处理数据并保存。
可选地,所述计算任务配置的处理规则中包括:数据计算触发时机和计算规则;
所述数据处理单元,适于判断是否达到所述数据计算触发时机,是则,从各接收器中读取待处理数据;根据所述计算规则,对待处理数据进行计算。
可选地,该装置进一步包括:
数据清理单元,适于预设数据清理触发时机;当达到所述数据清理触发时机时,判断所述多个接收器中是否存在已过期数据;是则,对所述多个接收器中的已过期数据进行清理。
可选地,所述计算任务配置的处理规则中还包括:解析条件;
则所述数据处理单元,进一步适于在所述对待处理数据进行计算之前,根据所述解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;对指定格式的元数据进行计算。
可选地,所述计算任务配置的处理规则中还包括:存储规则;该装置进一步包括:
数据存储单元,适于在所述对待处理数据进行计算之后,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。
由上述可知,本发明提供的技术方案描述了实时计算平台上的数据处理流程,该数据处理流程是依据实时计算平台接收到的计算任务的配置信息而展开的,确定该计算任务配置的数据源,调度多个接收器从数据源获取待处理数据并保存,从各接收器中读取待处理数据并进行处理。依据本方案,相当于利用多个相互独立的进程并行地完成从数据源获取待处理数据并等待处理的过程,有效地提高了实时计算平台的数据吞吐量,满足大数据处理需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种实时计算平台的数据处理方法的流程图;
图2示出了根据本发明一个实施例的一种实时计算平台的数据处理装置的示意图;
图3示出了根据本发明另一个实施例的一种实时计算平台的数据处理装置的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种实时计算平台的数据处理方法的流程图。如图1所示,该方法包括:
步骤S110,接收计算任务,读取该计算任务的配置信息。
步骤S120,根据配置信息中的数据源信息,确定该计算任务配置的数据源。
步骤S130,调度多个接收器从数据源获取待处理数据并保存。
步骤S140,根据配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。
可见,图1所示的方法描述了实时计算平台上的数据处理流程,该数据处理流程是依据实时计算平台接收到的计算任务的配置信息而展开的,确定该计算任务配置的数据源,调度多个接收器从数据源获取待处理数据并保存,从各接收器中读取待处理数据并进行处理。依据本方案,相当于利用多个相互独立的进程并行地完成从数据源获取待处理数据并等待处理的过程,有效地提高了实时计算平台的数据吞吐量,满足大数据处理需求。
在本发明的一个实施例中,所接收的计算任务的配置信息是由用户配置输入的,具体地,实时计算平台的前端与用户进行交互,根据用户配置输入的配置信息创建计算任务,如以网页页面的形式向用户展示多个输入框,用户通过在输入框中进行输入设置来完成配置信息的配置过程;前端将创建的计算任务提交到实时计算平台,实时计算平台接收计算任务,读取该计算任务的配置信息,根据配置信息中的数据源信息展开相应的数据处理国传给你。该实时计算平台为不同的数据处理需求开设了统一的接口,用户无需为数据处理过程编写完整的程序代码,只需要将对应于数据处理需求的配置信息输入到前端创建计算任务即可,便于实施,十分省时省力,实时计算平台的整合性好、实时性高、效率高、与用户交互友好,且可以同时运行多个计算任务,符合当前的大数据发展趋势。
在本发明的一个实施例中,实时计算平台所接收到的计算任务配置的数据源为指定的Kafka数据源,该指定的Kafka数据源配置有一个Zookeeper服务器;则步骤S130中调度多个接收器从所述数据源获取待处理数据包括:调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中。则上述从指定的Kafka数据源读取待处理数据包括:从Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据数据读取位置信息,从指定的Kafka数据源中的相应位置读取待处理数据。
Kafka数据源是一个基于推送订阅分布式数据源,它具备快速、可扩展、可持久化的特点。kafka对数据保存时根据主题(Topic)进行归类,发送数据者称为制造者(Producer),数据接收者称为消费者(Consumer),Kafka数据源对应于Kafka集群,Kafka集群有多个kafka服务器组成,每个kafka服务器称为代理者(broker),无论是Kafka集群、制造者和消费者都依赖于Zookeeper服务器来维持关联可用性并保存Kafka集群的一些相关信息。在Kafka数据源中,一个主题的数据可以认为是一类数据,每个主题将被分成多个数据队列(partition),对于每个数据队列,任何发布到此数据队列的数据都会被直接追加到该数据队列的尾部,每条数据在数据队列中的位置称为偏移量(offset),偏移量为一个long型数字,它用来唯一地标记一条数据的位置信息。
Kafka数据源使用Zookeeper服务器来存储一些相关信息,并使用了Zookeeperwatch机制来发现相关信息的变更并作出相应的动作(比如当监测到消费者失效时,触发负载均衡等),当一个Kafka服务器启动后,首先会向Zookeeper服务器注册自己的节点信息(临时znode),该Kafka服务器还会向Zookeeper服务器注册自己持有的主题和数据队列的相关信息,同时当Kafka服务器和Zookeeper服务器断开连接时,此临时节点信息也会被删除,每个消费者客户端被创建时,会向Zookeeper注册自己的信息。
基于以上说明,在本实施例中,指定的Kafka数据源在其配置的Zookeeper服务器中注册了每个Kafka服务器的节点信息以及每个Kafka服务器中持有的数据队列的信息,各数据队列中的数据即为本方案要获取的待处理数据;每个接收器作为指定的Kafka数据源的消费者,在创建者向该指定的Kafka数据源配置的Zookeeper服务器中注册了自己的相关信息;可以看到,Zookeeper服务器实质上掌握了当前Kafka数据源以及其中的数据的相关信息,也掌握了各接收器的相关信息,则上述调度多个接收器通过所述Zookeeper服务器与指定的Kafka数据源建立连接,从指定的Kafka数据源读取待处理数据的过程为:通过Zookeeper服务器建立多个接收器和指定的Kafka数据源之间的连接,具体地,可以通过Zookeeper服务器建立各接收器和指定的Kafka数据源中的各Kafka服务器之间的连接,每个接收器从与其连接的Kafka服务器中的数据队列中读取待处理数据。
其中,每个接收器从Kafka服务器中的相应的数据队列中读取待处理数据时,Kafka服务器会将在该数据队列中的相应的数据读取位置记录下来并发送至Zookeeper服务器中进行保存;则接收器在下一次从该数据队列中读取待处理数据时,先要从Zookeeper服务器获取前一次在该数据队列中的数据读取位置,从该数据读取位置中的数据读取结束位置开始,进行下一次的读取。或者,每个接收器从Kafka服务器中的相应的数据队列中读取待处理数据时,Kafka服务器记录本次读取的最后一条数据的偏移量(offset)并发送至Zookeeper服务器中进行保存;则接收器在下一次从该数据队列中读取待处理数据时,先要从Zookeeper服务器获取前一次在该数据队列中读取的最后一条数据的偏移量,从该偏移量开始,进行下一次的读取。
进一步地在本发明的另一个实施例中,实时计算平台所接收到的计算任务配置的数据源同样也是指定的Kafka数据源,但与前一个实施例不同的是,本实施例所调度的多个接收器不通过指定的Kafka数据源配置的Zookeeper服务器获取待处理数据,也不根据获取待处理数据的过程对Zookeeper服务器中的相关信息进行更新,具体地,步骤S130中调度多个接收器从所述数据源获取待处理数据包括:调度多个接收器直接与指定的Kafka数据源建立连接,从指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中,该信息维护数据库是实时计算平台上的数据库。则从指定的Kafka数据源读取待处理数据包括:从信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从指定的Kafka数据源中的相应位置读取待处理数据。
前文已经对Kafka数据源的基本属性进行了说明,本实施例中调度多个接收器直接与指定的Kafka数据源建立连接,从指定的Kafka数据源读取待处理数据的过程是:对于每个接收器,以Kafka数据源中的一个Kafka服务器中的一个数据队列为目标,直接从该数据队列中读取待处理数据。
其中,每个接收器从Kafka服务器中的相应的数据队列中读取待处理数据时,该接收器还将在该数据队列中的相应的数据读取位置保存到信息维护数据库中;则接收器在下一次从该数据队列中读取待处理数据时,先要从信息维护数据库中查询前一次在该数据队列中的数据读取位置,从该数据读取位置中的数据读取结束位置开始,进行下一次的读取。或者,每个接收器从Kafka服务器中的相应的数据队列中读取待处理数据时,该接收器还将本次读取的最后一条数据的偏移量(offset)保存到信息维护数据库中;则接收器在下一次从该数据队列中读取待处理数据时,先要从信息维护数据库中查询前一次在该数据队列中读取的最后一条数据的偏移量,从该偏移量开始,进行下一次的读取。
前一个实施例是通过Zookeeper服务器将指定的Kafka数据源中的数据队列分配给所调度的多个接收器,每个接收器从Zookeeper服务器分配的数据队列中读取待处理数据,而本实施例是为各个接收器主动确定作为目标的数据队列,每个接收器从自己确定的数据队列中读取待处理数据,比较而言,Zookeeper服务器在分配时要考虑到指定的Kafka数据源中的各个工作组件的负载均衡,而本实施例的分配方式只需考虑多个接收器的负载均衡,本实施例的方式使得数据队列相对于接收器来说分配更加均匀,且各接收器参与到了目标数据队列的确定、数据读取、相关信息的记录等过程,比前一个实施例中的参与程度更高,即本实施例中的接收器的利用程度更高。
可以知道,指定的Kafka数据源包括多个数据队列;则步骤S130调度多个接收器从所述数据源获取待处理数据并保存包括:调度多个接收器从指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,多个数据队列被均匀分配给多个接收器进行数据读取。例如,指定的Kafka数据源中包括20个数据队列,可以调度10个接收器并行地从指定的Kafka数据源中获取待处理数据,每个接收器从2个数据队列中读取待处理数据,使得待处理数据相对均衡地分散在每个接收器上。
在本发明的一个实施例中,步骤S130中调度多个接收器从数据源获取待处理数据并保存包括:每隔预设时间间隔,调度多个接收器从数据源获取待处理数据并保存。
在本发明的一个实施例中,步骤S130中调度多个接收器从数据源获取待处理数据并保存包括:调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过多个进程从数据源获取待处理数据并保存。
在本发明的一个实施例中,预设数据清理触发时机;当达到数据清理触发时机时,判断多个接收器中是否存在已过期数据;是则,对多个接收器中的已过期数据进行清理。默认地,接收器会每隔第一预设时间间隔,对自身保存的已过期数据进行清理,但是在一些情况下,接收器对已过期数据的判断失误会导致清理不干净,例如,一个接收器中保存有待处理数据,在9:00时实时计算平台对该接收器中保存的数据a进行了相应的计算处理,9:05时,接收器判断出后面的数据对该数据a存在依赖,认为数据a还是有用的,不是已过期数据,没有对数据a进行清理,在一些情况下,接收器的判断是错误的,后面的数据对数据a不存在依赖,使得数据a作为已过期数据被遗留在该接收器中,对于此种情况,当达到数据清理触发时机时,判断多个接收器中是否存在已过期数据,即对该接收器中遗留下来的该接收器任务不是已过期数据的数据进行再次判断,提高判断准确率,对确定为已过期数据的数据a进行清理。
在本发明的一个实施例中,计算任务配置的处理规则中包括:数据计算触发时机和计算规则;则步骤S140根据配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理包括:判断是否达到数据计算触发时机,是则,从各接收器中读取待处理数据;根据计算规则,对待处理数据进行计算。对于保存在多个接收器中的待处理数据,本实施例提出了依据数据计算触发时机启动后续计算处理过程的方案,数据计算触发时机可以是预设的时间、预设的指令、预设的事件等,在此不作限制。
在本发明的一个实施例中,计算任务配置的处理规则中还包括:解析条件;则在对待处理数据进行计算之前,步骤S140根据计算任务配置的处理规则,从各接收器中读取待处理数据并进行相应处理还包括:根据解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;则对待处理数据进行计算包括:对指定格式的元数据进行计算。
具体地,上述将待处理数据中符合解析条件的字段解析为指定格式的元数据包括:
方式一,根据待处理数据的格式,确定适配于待处理数据的一个或多个解析函数;创建待处理数据对应的解析器,在该解析器中动态注册所述一个或多个解析函数;通过调用所创建的解析器将待处理数据中符合解析条件的字段解析为指定格式的元数据。
其中,解析函数包括如下一种或多种:Base64decode函数、base64encode函数、urldecode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数,其中,Base64decode函数用于对Base64编码的数据进行解码,base64encode函数用于对数据进行Base64编码,urldecode函数用于还原url编码字符串,urlencode函数用于对字符串进行url编码,isNum函数用于判断是否是数字,isVer函数用于判断是否是版本,getDay函数用于获取时间的日期信息,getHour函数用于获取时间的小时信息,getMin函数用于获取时间的分钟信息。本实施例通过在创建的解析器中动态注册解析待处理数据所需的解析函数,实现了对解析器的动态定制,可以动态地适配待处理数据的形式的多样化。
方式二,预存多个基本解析器,每个基本解析器适配于一种基本数据格式。具体地,基本解析器包括如下一种或多种:Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器,Apache日志解析器适配于Apache日志的数据格式,Nginx日志解析器适配于Nginx日志的数据格式,数组日志解析器适配于数组日志的数据格式,Json日志解析器适配于Json日志的数据格式,分割符解析器适配于以指定分割符进行字段分割的数据格式。
当待处理数据的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将待处理数据中符合解析条件的字段解析为指定格式的元数据。
当待处理数据的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将待处理数据中符合解析条件的字段解析为指定格式的元数据。
例如,接收到的待处理数据是Apache日志,对应于Apache日志的数据格式,是单一基本数据格式,则对接收到的待处理数据进行解析的过程是:从预存的多个基本解析器中查找到Apache日志解析器,通过调用该Apache日志解析器将待处理数据中的字段解析为指定格式的元数据。或者,接收到的待处理数据是由分割符进行字段分割的,如“字段1&字段2”,其中“&”是分割符,字段1是数组格式,字段2是Json格式,则在对接收到的待处理数据进行解析时,需要调用分割符解析器、数组日志解析器和Json日志解析器的组合将待处理数据中的字段解析为指定格式的元数据,数组日志解析器和Json日志解析器是并列式组合,分割符解析器与该并列式组合形成层级式组合,具体地,先通过调用分隔符解析器分别解析出字段1和字段2,再通过调用数组日志解析器对字段1进行解析,以及通过调用Json日志解析器对字段2进行解析。
进一步地,在通过调用该条待处理数据对应的解析器将该条待处理数据中符合所述解析条件的字段解析为指定格式的元数据之后,上述方法进一步包括:将所调用的解析器放入指定全局变量数据库中。则通过调用该条待处理数据对应的解析器将该条待处理数据中符合解析条件的字段解析为指定格式的元数据包括:根据该条待处理数据的格式,从所述指定全局变量数据库中查找该条待处理数据对应的解析器;如果查找到,直接通过调用查找到的解析器将该条待处理数据中符合解析条件的字段解析为指定格式的元数据;如果未查找到,创建该条待处理数据对应的解析器,通过调用所创建的解析器将该条待处理数据中符合解析条件的字段解析为指定格式的元数据。
例如,从同一数据源接收到待处理数据1和待处理数据2,待处理数据1和待处理数据2具有相同的数据格式,先对待处理数据1进行解析,创建待处理数据1对应的解析器1,将待处理数据1中的字段解析为指定格式的元数据,在解析之后,将解析器1放入指定全局变量数据库中,使得该解析器1作为全局变量存在可以被方便地调用,则在对待处理数据2进行解析时,先从指定全局变量数据库中查找是否有待处理数据2对应的解析器,由于待处理数据2与待处理数据1的数据格式相同,解析器1同样适配于待处理数据2,因此,直接通过调用指定全局变量数据库中的解析器1对待处理数据2进行解析,避免了适配于相同数据格式的解析器的重复创建,避免不必要的***资源的使用,且直接全局地找解析器的过程比重新创建解析器的过程快得多,加快了解析过程,保证日志处理过程的实时性。
进一步地,计算任务配置的处理规则中还包括:存储规则;则在对待处理数据进行计算之后,该方法进一步包括:根据存储规则,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。其中,所述存储介质包括如下一种或多种:Redis数据库,大存储Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。不同的存储介质具有不同的特性,可以根据存储需求选择合适的存储介质,如Redis数据库是基于key-value形式在内存中进行存储的,但当数据量达到一定程度时,可以采用基于磁盘进行存储的大存储Redis数据库来分担存储压力,或者也可以采用分布式存储的GreenPlum数据库来分担存储压力,使得往存储介质中写数据以及从存储介质中读取数据的过程较为快捷,保证实时计算平台的实时性、有效性和稳定性。
在一个具体的例子中,在将统计处理结果保存到存储介质中之前,还可以对统计处理结果进行聚合处理,以减轻存储介质的压力,或者,在实时程度要求范围之内,设定触发存储的条件,在得到统计处理结果后,不直接进行存储,而是在满足触发存储的条件后进行存储,同样可以减轻存储压力。
图2示出了根据本发明一个实施例的一种实时计算平台的数据处理装置的示意图。如图2所示,该实时计算平台的数据处理装置200包括:
任务接收单元210,适于接收计算任务,读取该计算任务的配置信息;并适于根据配置信息中的数据源信息,确定该计算任务配置的数据源。
数据接收单元220,适于调度多个接收器从数据源获取待处理数据并保存。
数据处理单元230,适于根据配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。
可见,图2所示的装置执行了实时计算平台上的数据处理流程,该数据处理流程是依据实时计算平台接收到的计算任务的配置信息而展开的,确定该计算任务配置的数据源,调度多个接收器从数据源获取待处理数据并保存,从各接收器中读取待处理数据并进行处理。依据本方案,相当于利用多个相互独立的进程并行地完成从数据源获取待处理数据并等待处理的过程,有效地提高了实时计算平台的数据吞吐量,满足大数据处理需求。
在本发明的一个实施例中,计算任务配置的数据源为指定的Kafka数据源。其中,指定的Kafka数据源配置有一个Zookeeper服务器。则数据接收单元220,适于调度多个接收器通过Zookeeper服务器与指定的Kafka数据源建立连接,从指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在Zookeeper服务器中。数据接收单元220还适于从Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据数据读取位置信息,从指定的Kafka数据源中的相应位置读取待处理数据。
进一步地,数据接收单元220,适于调度多个接收器直接与指定的Kafka数据源建立连接,从指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。数据接收单元220还适于从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从指定的Kafka数据源中的相应位置读取待处理数据。
具体地,指定的Kafka数据源包括多个数据队列。则数据接收单元220,适于调度多个接收器从指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,多个数据队列被均匀分配给多个接收器进行数据读取。
在本发明的一个实施例中,数据接收单元220,适于每隔预设时间间隔,调度多个接收器从数据源获取待处理数据并保存。
在本发明的一个实施例中,数据接收单元220,适于调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过多个进程从数据源获取待处理数据并保存。
在本发明的一个实施例中,计算任务配置的处理规则中包括:数据计算触发时机和计算规则.
则数据处理单元230,适于判断是否达到所数据计算触发时机,是则,从各接收器中读取待处理数据;根据计算规则,对待处理数据进行计算。
进一步地,计算任务配置的处理规则中还包括:解析条件。
则数据处理单元230,进一步适于在对待处理数据进行计算之前,根据解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;对指定格式的元数据进行计算。
图3示出了根据本发明另一个实施例的一种实时计算平台的数据处理装置的示意图。如图3所示,该实时计算平台的数据处理装置300包括:任务接收单元310、数据接收单元320、数据处理单元330、数据清理单元340和数据存储单元350。
其中,任务接收单元310、数据接收单元320、数据处理单元330和图2所示的任务接收单元210、数据接收单元220、数据处理单元230具有对应相同的功能,相同的部分在此不再赘述。
数据清理单元340,适于预设数据清理触发时机;当达到数据清理触发时机时,判断多个接收器中是否存在已过期数据;是则,对多个接收器中的已过期数据进行清理。
在本实施例中,计算任务配置的处理规则中还包括:存储规则。
数据存储单元350,适于在对待处理数据进行计算之后,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。
需要说明的是,图2-图3所示装置的各实施例与图1所示方法的各实施例对应相同,上文中已有详细说明,在此不再赘述。
综上所述,本发明提供的技术方案执行了实时计算平台上的数据处理流程,该数据处理流程是依据实时计算平台接收到的计算任务的配置信息而展开的,确定该计算任务配置的数据源,调度多个接收器从数据源获取待处理数据并保存,从各接收器中读取待处理数据并进行处理。依据本方案,相当于利用多个相互独立的进程并行地完成从数据源获取待处理数据并等待处理的过程,有效地提高了实时计算平台的数据吞吐量,满足大数据处理需求。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种实时计算平台的数据处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种实时计算平台的数据处理方法,其中,该方法包括:
接收计算任务,读取该计算任务的配置信息;
根据所述配置信息中的数据源信息,确定该计算任务配置的数据源;
调度多个接收器从所述数据源获取待处理数据并保存;
根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。
A2、如A1所述的方法,其中,所述计算任务配置的数据源为指定的Kafka数据源。
A3、如A2所述的方法,其中,所述指定的Kafka数据源配置有一个Zookeeper服务器;
所述调度多个接收器从所述数据源获取待处理数据包括:
调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中。
A4、如A3所述的方法,其中,所述从所述指定的Kafka数据源读取待处理数据包括:
从所述Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据所述数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
A5、如A2所述的方法,其中,所述调度多个接收器从所述数据源获取待处理数据包括:
调度多个接收器直接与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。
A6、如A5所述的方法,其中,所述从所述指定的Kafka数据源读取待处理数据包括:
从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
A7、如A2所述的方法,其中,所述指定的Kafka数据源包括多个数据队列;
所述调度多个接收器从所述数据源获取待处理数据并保存包括:
调度多个接收器从所述指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,所述多个数据队列被均匀分配给所述多个接收器进行数据读取。
A8、如A1所述的方法,其中,所述调度多个接收器从所述数据源获取待处理数据并保存包括:
每隔预设时间间隔,调度多个接收器从所述数据源获取待处理数据并保存。
A9、如A1所述的方法,其中,所述调度多个接收器从所述数据源获取待处理数据并保存包括:
调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过所述多个进程从所述数据源获取待处理数据并保存。
A10、如A1所述的方法,其中,所述计算任务配置的处理规则中包括:数据计算触发时机和计算规则;
所述根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理包括:
判断是否达到所述数据计算触发时机,是则,从各接收器中读取待处理数据;
根据所述计算规则,对待处理数据进行计算。
A11、如A1所述的方法,其中,该方法进一步包括:
预设数据清理触发时机;
当达到所述数据清理触发时机时,判断所述多个接收器中是否存在已过期数据;
是则,对所述多个接收器中的已过期数据进行清理。
A12、如A10所述的方法,其中,所述计算任务配置的处理规则中还包括:解析条件;
则在所述对待处理数据进行计算之前,所述根据所述计算任务配置的处理规则,从各接收器中读取待处理数据并进行相应处理还包括:
根据所述解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;
所述对待处理数据进行计算包括:对指定格式的元数据进行计算。
A13、如A10所述的方法,其中,所述计算任务配置的处理规则中还包括:存储规则;
则在所述对待处理数据进行计算之后,该方法进一步包括:
根据所述存储规则,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。
本发明还公开了B14、一种实时计算平台的数据处理装置,其中,该装置包括:
任务接收单元,适于接收计算任务,读取该计算任务的配置信息;并适于根据所述配置信息中的数据源信息,确定该计算任务配置的数据源;
数据接收单元,适于调度多个接收器从所述数据源获取待处理数据并保存;
数据处理单元,适于根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理。
B15、如B14所述的装置,其中,所述计算任务配置的数据源为指定的Kafka数据源。
B16、如B15所述的装置,其中,所述指定的Kafka数据源配置有一个Zookeeper服务器;
所述数据接收单元,适于调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中。
B17、如B16所述的装置,其中,
所述数据接收单元,适于从所述Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据所述数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
B18、如B15所述的装置,其中,
所述数据接收单元,适于调度多个接收器直接与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。
B19、如B18所述的装置,其中,
所述数据接收单元,适于从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
B20、如B15所述的装置,其中,所述指定的Kafka数据源包括多个数据队列;
所述数据接收单元,适于调度多个接收器从所述指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,所述多个数据队列被均匀分配给所述多个接收器进行数据读取。
B21、如B14所述的装置,其中,
所述数据接收单元,适于每隔预设时间间隔,调度多个接收器从所述数据源获取待处理数据并保存。
B22、如B14所述的装置,其中,
所述数据接收单元,适于调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过所述多个进程从所述数据源获取待处理数据并保存。
B23、如B14所述的装置,其中,所述计算任务配置的处理规则中包括:数据计算触发时机和计算规则;
所述数据处理单元,适于判断是否达到所述数据计算触发时机,是则,从各接收器中读取待处理数据;根据所述计算规则,对待处理数据进行计算。
B24、如B14所述的装置,其中,该装置进一步包括:
数据清理单元,适于预设数据清理触发时机;当达到所述数据清理触发时机时,判断所述多个接收器中是否存在已过期数据;是则,对所述多个接收器中的已过期数据进行清理。
B25、如B23所述的装置,其中,所述计算任务配置的处理规则中还包括:解析条件;
则所述数据处理单元,进一步适于在所述对待处理数据进行计算之前,根据所述解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;对指定格式的元数据进行计算。
B26、如B23所述的装置,其中,所述计算任务配置的处理规则中还包括:存储规则;该装置进一步包括:
数据存储单元,适于在所述对待处理数据进行计算之后,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。

Claims (20)

1.一种实时计算平台的数据处理方法,其中,该方法包括:
接收计算任务,读取该计算任务的配置信息;
根据所述配置信息中的数据源信息,确定该计算任务配置的数据源;
调度多个接收器从所述数据源获取待处理数据并保存;
根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理;
所述计算任务配置的数据源为指定的Kafka数据源;
所述指定的Kafka数据源配置有一个Zookeeper服务器;
所述调度多个接收器从所述数据源获取待处理数据包括:
调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中;
所述计算任务配置的处理规则中包括:数据计算触发时机和计算规则;
所述根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理包括:
判断是否达到所述数据计算触发时机,是则,从各接收器中读取待处理数据;
根据所述计算规则,对待处理数据进行计算。
2.如权利要求1所述的方法,其中,所述从所述指定的Kafka数据源读取待处理数据包括:
从所述Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据所述数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
3.如权利要求1所述的方法,其中,所述调度多个接收器从所述数据源获取待处理数据包括:
调度多个接收器直接与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。
4.如权利要求3所述的方法,其中,所述从所述指定的Kafka数据源读取待处理数据包括:
从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
5.如权利要求1所述的方法,其中,所述指定的Kafka数据源包括多个数据队列;
所述调度多个接收器从所述数据源获取待处理数据并保存包括:
调度多个接收器从所述指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,所述多个数据队列被均匀分配给所述多个接收器进行数据读取。
6.如权利要求1所述的方法,其中,所述调度多个接收器从所述数据源获取待处理数据并保存包括:
每隔预设时间间隔,调度多个接收器从所述数据源获取待处理数据并保存。
7.如权利要求1所述的方法,其中,所述调度多个接收器从所述数据源获取待处理数据并保存包括:
调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过所述多个进程从所述数据源获取待处理数据并保存。
8.如权利要求1所述的方法,其中,该方法进一步包括:
预设数据清理触发时机;
当达到所述数据清理触发时机时,判断所述多个接收器中是否存在已过期数据;
是则,对所述多个接收器中的已过期数据进行清理。
9.如权利要求1所述的方法,其中,所述计算任务配置的处理规则中还包括:解析条件;
则在所述对待处理数据进行计算之前,所述根据所述计算任务配置的处理规则,从各接收器中读取待处理数据并进行相应处理还包括:
根据所述解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;
所述对待处理数据进行计算包括:对指定格式的元数据进行计算。
10.如权利要求1所述的方法,其中,所述计算任务配置的处理规则中还包括:存储规则;
则在所述对待处理数据进行计算之后,该方法进一步包括:
根据所述存储规则,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。
11.一种实时计算平台的数据处理装置,其中,该装置包括:
任务接收单元,适于接收计算任务,读取该计算任务的配置信息;并适于根据所述配置信息中的数据源信息,确定该计算任务配置的数据源;
数据接收单元,适于调度多个接收器从所述数据源获取待处理数据并保存;
数据处理单元,适于根据所述配置信息中的处理规则,从各接收器中读取待处理数据并进行相应处理;
所述计算任务配置的数据源为指定的Kafka数据源;
所述指定的Kafka数据源配置有一个Zookeeper服务器;
所述数据接收单元,适于调度多个接收器通过所述Zookeeper服务器与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在所述Zookeeper服务器中;
所述计算任务配置的处理规则中包括:数据计算触发时机和计算规则;
所述数据处理单元,适于判断是否达到所述数据计算触发时机,是则,从各接收器中读取待处理数据;根据所述计算规则,对待处理数据进行计算。
12.如权利要求11所述的装置,其中,
所述数据接收单元,适于从所述Zookeeper服务器中获取前一次数据读取过程对应的数据读取位置信息,根据所述数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
13.如权利要求11所述的装置,其中,
所述数据接收单元,适于调度多个接收器直接与所述指定的Kafka数据源建立连接,从所述指定的Kafka数据源读取待处理数据,并将每次数据读取过程对应的数据读取位置信息保存在信息维护数据库中。
14.如权利要求13所述的装置,其中,
所述数据接收单元,适于从所述信息维护数据库中获取前一次数据读取过程对应的数据读取位置信息,根据该数据读取位置信息,从所述指定的Kafka数据源中的相应位置读取待处理数据。
15.如权利要求11所述的装置,其中,所述指定的Kafka数据源包括多个数据队列;
所述数据接收单元,适于调度多个接收器从所述指定的Kafka数据源中的多个数据队列中获取待处理数据并保存,其中,所述多个数据队列被均匀分配给所述多个接收器进行数据读取。
16.如权利要求11所述的装置,其中,
所述数据接收单元,适于每隔预设时间间隔,调度多个接收器从所述数据源获取待处理数据并保存。
17.如权利要求11所述的装置,其中,
所述数据接收单元,适于调度多个接收器,每个接收器开启一个进程,每个进程调度一个或多个线程,通过所述多个进程从所述数据源获取待处理数据并保存。
18.如权利要求11所述的装置,其中,该装置进一步包括:
数据清理单元,适于预设数据清理触发时机;当达到所述数据清理触发时机时,判断所述多个接收器中是否存在已过期数据;是则,对所述多个接收器中的已过期数据进行清理。
19.如权利要求18所述的装置,其中,所述计算任务配置的处理规则中还包括:解析条件;
则所述数据处理单元,进一步适于在所述对待处理数据进行计算之前,根据所述解析条件,将待处理数据中符合解析条件的字段解析为指定格式的元数据;对指定格式的元数据进行计算。
20.如权利要求19所述的装置,其中,所述计算任务配置的处理规则中还包括:存储规则;该装置进一步包括:
数据存储单元,适于在所述对待处理数据进行计算之后,将计算结果存储到相应的存储介质中,供用户对计算结果进行查询。
CN201610514807.6A 2016-06-30 2016-06-30 一种实时计算平台的数据处理方法和装置 Expired - Fee Related CN106202324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610514807.6A CN106202324B (zh) 2016-06-30 2016-06-30 一种实时计算平台的数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610514807.6A CN106202324B (zh) 2016-06-30 2016-06-30 一种实时计算平台的数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN106202324A CN106202324A (zh) 2016-12-07
CN106202324B true CN106202324B (zh) 2020-10-30

Family

ID=57464810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610514807.6A Expired - Fee Related CN106202324B (zh) 2016-06-30 2016-06-30 一种实时计算平台的数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN106202324B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817295B (zh) * 2016-12-08 2020-06-05 上海有孚网络股份有限公司 一种消息处理装置和方法
CN106657349A (zh) * 2016-12-29 2017-05-10 上海理想信息产业(集团)有限公司 一种消息订阅处理装置、***及方法
CN108255628A (zh) * 2016-12-29 2018-07-06 北京国双科技有限公司 一种数据处理方法及装置
CN106980678A (zh) * 2017-03-30 2017-07-25 温馨港网络信息科技(苏州)有限公司 基于zookeeper技术的数据分析方法及***
CN107423145A (zh) * 2017-07-11 2017-12-01 北京潘达互娱科技有限公司 一种避免消息丢失的方法与装置
CN107689999A (zh) * 2017-09-14 2018-02-13 北纬通信科技南京有限责任公司 一种云平台全自动计算方法及装置
CN108307081B (zh) * 2018-02-23 2021-01-29 北京奇虎科技有限公司 骚扰数据批量处理方法及装置
CN108763461A (zh) * 2018-05-28 2018-11-06 上海七牛信息技术有限公司 数据处理方法、装置、***及存储介质
CN109800259B (zh) * 2018-12-11 2021-08-10 深圳市金证科技股份有限公司 数据采集方法、装置及终端设备
CN110365644B (zh) * 2019-06-05 2020-10-27 华南理工大学 一种构建物联网设备高性能监控平台的方法
CN110377356B (zh) * 2019-06-14 2022-09-20 北京奇艺世纪科技有限公司 任务处理方法、装置、***及计算机可读存储介质
CN110516124B (zh) * 2019-08-09 2022-04-22 济南浪潮数据技术有限公司 一种文件解析方法、装置和计算机可读存储介质
CN111339175B (zh) * 2020-02-28 2023-08-11 成都运力科技有限公司 数据处理方法、装置、电子设备及可读存储介质
CN113296972A (zh) * 2020-07-20 2021-08-24 阿里巴巴集团控股有限公司 一种信息的注册方法、计算设备及存储介质
CN112231340B (zh) * 2020-12-09 2021-03-23 金锐同创(北京)科技股份有限公司 数据展示方法、装置及电子设备
CN112541816A (zh) * 2020-12-21 2021-03-23 四川新网银行股份有限公司 互联网金融消费信贷批量业务分布式流计算处理引擎
CN116208666B (zh) * 2023-05-06 2023-07-25 鹏城实验室 一种支持多源数据中心联合安全计算数据处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269374A (zh) * 2013-05-29 2013-08-28 北京小米科技有限责任公司 录音同步方法、装置和设备
CN103389715A (zh) * 2013-07-26 2013-11-13 浪潮电子信息产业股份有限公司 一种高性能的分布式数据中心监控架构
CN104090891A (zh) * 2013-12-12 2014-10-08 深圳市腾讯计算机***有限公司 数据处理方法、装置、数据处理服务器及***
CN104486107A (zh) * 2014-12-05 2015-04-01 曙光信息产业(北京)有限公司 一种日志采集装置及方法
CN105447146A (zh) * 2015-11-26 2016-03-30 陕西艾特信息化工程咨询有限责任公司 一种海量数据的收集与交换***及方法
CN105468735A (zh) * 2015-11-23 2016-04-06 武汉虹旭信息技术有限责任公司 基于移动互联网海量信息的流式预处理***及其方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269374A (zh) * 2013-05-29 2013-08-28 北京小米科技有限责任公司 录音同步方法、装置和设备
CN103389715A (zh) * 2013-07-26 2013-11-13 浪潮电子信息产业股份有限公司 一种高性能的分布式数据中心监控架构
CN104090891A (zh) * 2013-12-12 2014-10-08 深圳市腾讯计算机***有限公司 数据处理方法、装置、数据处理服务器及***
CN104486107A (zh) * 2014-12-05 2015-04-01 曙光信息产业(北京)有限公司 一种日志采集装置及方法
CN105468735A (zh) * 2015-11-23 2016-04-06 武汉虹旭信息技术有限责任公司 基于移动互联网海量信息的流式预处理***及其方法
CN105447146A (zh) * 2015-11-26 2016-03-30 陕西艾特信息化工程咨询有限责任公司 一种海量数据的收集与交换***及方法

Also Published As

Publication number Publication date
CN106202324A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106202324B (zh) 一种实时计算平台的数据处理方法和装置
CN110609844B (zh) 一种数据更新方法,装置及***
CN110908641B (zh) 基于可视化的流计算平台、方法、设备和存储介质
US20130173662A1 (en) Dependency based prioritization of sub-queries and placeholder resolution
CN108809704B (zh) 基于动态时间窗的数据去重统计方法及装置
CN110012062B (zh) 一种多机房任务调度方法、装置及存储介质
CN108762907A (zh) 基于多个客户端的任务处理方法及***
CN107480260B (zh) 大数据实时分析方法、装置、计算设备及计算机存储介质
CN106202323B (zh) 一种日志的处理方法和装置
CN110750433A (zh) 接口测试方法和装置
CN111680085A (zh) 数据处理任务分析方法、装置、电子设备和可读存储介质
CN107357885A (zh) 数据写入方法及装置、电子设备、计算机存储介质
CN110782122A (zh) 数据处理方法、装置及电子设备
CN107391528B (zh) 前端组件依赖信息搜索方法及设备
CN110515631B (zh) 应用安装数据包的生成方法、服务器及计算机存储介质
CN110019341B (zh) 一种数据查询方法及装置
CN106940710B (zh) 信息推送方法及装置
CN112506992B (zh) Kafka数据的模糊查询方法、装置、电子设备和存储介质
CN111008675B (zh) 召回区域的抽样处理方法及装置
CN106844415B (zh) 一种SparkSQL***中的数据处理方法和装置
CN113760242A (zh) 一种数据处理方法、装置、服务器和介质
CN110955460B (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN116594753A (zh) 任务调度方法、装置、电子设备、存储介质及程序产品
CN110888909B (zh) 一种评估内容的数据统计处理方法及装置
CN116701445A (zh) 资源匹配信息生成方法、装置、设备和计算机可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201030