流式计算系统及流式计算系统的日志数据处理方法与流程

文档序号:18704103发布日期:2019-09-17 23:23阅读:273来源:国知局
流式计算系统及流式计算系统的日志数据处理方法与流程

本申请实施例涉及计算机技术领域,具体涉及数据处理技术领域,尤其涉及流式计算系统及其日志数据处理方法。



背景技术:

在流式计算的场景中,水位用来标志系统中未完成的数据的最早的时间戳。水位落盘是指按照窗口大小(例如5分钟)把来自流式传输系统中的数据落盘到该窗口对应的文件夹中,并在窗口结束后,标记该窗口结束,文件中的数据完备。在窗口结束后,下游消费者可以对窗口内的数据进行进一步的处理。

然而,由于系统环境较为复杂,一些日志产出端的状态可能出现异常,网络也可能发生抖动,使得日志数据无法准确地落盘至相应的窗口中,由此导致系统的全局水位难以准确测定,水位难以推进。



技术实现要素:

本申请实施例提出了流式计算系统及其日志数据处理方法、电子设备和计算机可读介质。

第一方面,本公开的实施例提供了一种流式计算系统,包括:日志采集模块,被配置为采集日志产出端产出的日志数据,将日志数据发送至消息系统;消息系统,被配置为将日志采集模块传输的日志数据存储在消息队列中;状态监控模块,被配置为监控日志产出端的状态,将日志产出端的状态上报至进度监控模块;日志处理模块,被配置为从消息系统获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间,将日志产出端的标识和关联的日志数据产出时间上报至进度监控模块;进度监控模块,被配置为根据日志处理模块上报的日志产出端的标识和关联的日志数据产出时间、以及监控模块上报的日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间。

可选地,上述进度监控模块被配置为根据状态监控模块上报的日志产出端的状态,确定出连续预设个预定时间周期内状态异常的日志产出端为异常日志产出端,将除异常日志产出端外的其他日志产出端确定为正常日志产出端,基于流式计算系统中各正常日志产出端的标识及各正常日志产出端的标识关联的日志数据产出时间,确定流式计算系统中未被处理的日志数据的最早产出时间。

可选地,上述进度监控模块被配置为:响应于根据状态监控模块上报的日志产出端的状态确定异常日志产出端的状态恢复正常,基于各正常日志产出端的日志数据产出时间更新流式计算系统中未被处理的日志数据的最早产出时间。

可选地,上述状态监控模块被配置为基于日志产出端的日志上报时间确定日志产出端的状态是否异常。

可选地,上述进度监控模块还被配置为向流式计算系统的下游数据处理系统通知流式计算系统中未被处理的日志数据的最早产出时间,以供流式计算系统的下游数据处理系统对流式计算系统中未被处理的日志数据的最早产出时间之前的日志数据进行处理。

第二方面,本公开的实施例提供了一种流式计算系统的日志数据处理方法,包括:监控流式计算系统中的日志产出端的状态;从消息系统获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间,其中,消息系统将日志产出端的日志数据存储在消息队列中;根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间。

可选地,上述根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间,包括:根据日志产出端的状态,确定出连续预设个预定时间周期内状态异常的日志产出端为异常日志产出端;将除异常日志产出端外的其他日志产出端确定为正常日志产出端,基于流式计算系统中各正常日志产出端的标识及各正常日志产出端的标识关联的日志数据产出时间,确定流式计算系统中未被处理的日志数据的最早产出时间。

可选地,上述根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间,还包括:响应于根据状态监控模块上报的日志产出端的状态确定异常日志产出端的状态恢复正常,基于各正常日志产出端的日志数据产出时间更新流式计算系统中未被处理的日志数据的最早产出时间。

可选地,上述监控流式计算系统中的日志产出端的状态,包括:基于流式计算系统中日志产出端的日志上报时间监控日志产出端的状态是否异常。

可选地,上述方法还包括:向流式计算系统的下游数据处理系统通知流式计算系统中未被处理的日志数据的最早产出时间,以供流式计算系统的下游数据处理系统对流式计算系统中未被处理的日志数据的最早产出时间之前的日志数据进行处理。

第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第二方面提供的流式计算系统的日志数据处理方法。

第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第二方面提供的流式计算系统的日志数据处理方法。

本公开的上述实施例的流式计算系统及其日志数据处理方法,通过日志采集模块采集日志产出端产出的日志数据,将日志数据发送至消息系统,消息系统将日志采集模块传输的日志数据存储在消息队列中,状态监控模块监控日志产出端的状态,将日志产出端的状态上报至进度监控模块,日志处理模块从消息系统获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间,将日志产出端的标识和关联的日志数据产出时间上报至进度监控模块,进度监控模块根据日志处理模块上报的日志产出端的标识和关联的日志数据产出时间、以及监控模块上报的日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间,实现了流式计算系统全局水位的自动推进,提升了流式计算系统全局水位的可运维性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请实施例可以应用于其中的示例性系统架构图;

图2是根据本申请的流式计算系统的一个实施例的结构示意图;

图3是根据本申请的流式计算系统的日志数据处理方法的一个实施例的流程图;

图4是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本公开的流式计算系统或流式计算系统的日志数据处理方法的示例性系统架构。

如图1所示,系统架构100可以包括生产者系统101、流式计算系统102以及消费者系统103。其中,生产者系统101、流式计算系统102以及消息者系统103依次通信连接。

生产者系统101用于生产待处理的数据,在实践中可以是业务系统,例如电商平台的业务系统,搜索引擎的业务系统、财务系统,等等。生产者系统101可以具有多个节点,各个节点上产生需要被处理的数据,然后传输至流式计算系统102进行处理。

流式计算系统102用于对生产者系统101产生的数据进行实时的传输和处理。流式计算系统102可以是分布式系统,在多个节点上部署有数据采集进程、数据接入进程、数据处理进程和数据查询进程。流式计算系统102可以将处理完成的数据实时传输至下游的消费者系统103。

消费者系统103可以是利用经过流式计算系统102处理的数据进行数据分析或数据展示的系统。消费者系统103可以接收流式计算系统102传输的实时数据,并进行进一步的数据分析等处理。

在本公开的应用场景中,流式计算系统102可以实时地获取数据处理的进度,即实时地获取系统中尚未被处理的数据的产出时间,以保证传输至下游消费者系统103的数据的完备性。

需要说明的是,上述生产者系统101、流式计算系统102、消费者系统103可以是实现相应功能的硬件或软件系统。当生产者系统101、流式计算系统102、消费者系统103为硬件系统时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当生产者系统101、流式计算系统102、消费者系统103时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

应该理解,图1中的生产者系统、流式计算系统、消费者系统的数目仅仅是示意性的。根据实现需要,可以具有任意数目的生产者系统、流式计算系统、消费者系统。

继续参考图2,其示出了根据本申请的流式计算系统的一个实施例的结构示意图。该流式计算系统200包括:日志采集模块201、消息系统202、状态监控模块203、日志处理模块204以及进度监控模块205。

在本实施例中,日志采集模块201可以被配置为采集日志产出端产出的日志数据,将日志数据发送至消息系统202。日志产出端可以是生产日志的物理机、虚拟机或者容器,其可以是业务系统中的一个节点。在具体的实现中,日志产出端可以是业务系统前端的设备。或者,日志产出端还可以实现为部署在业务系统前端设备上的日志产出进程agent,该日志产出进程获取日志前端机运行中产生的日志数据。

日志采集模块201可以是用于收集日志数据的模块,可以通过部署在前端机上的日志采集进程来收集日志数据。并且,日志采集模块201可以将收集到的日志数据发往消息系统202中。

消息系统202可以是在消息发送者和消息接收者之间存放消息的中间件。消息系统202以消息队列的方式将接收到的数据进行有序、分片存储。

在本实施例中,消息系统202被配置为将日志采集模块201传输的日志数据存储在消息队列中。在这里,每个消息分片中的消息可以是按照接收到的时间排序的,这样,可以确保日志采集模块201采集到的数据被有序地存储在消息系统中。

消息系统202可以是分布式的消息传输集群,例如可以采用基于发布-订阅模式的kafka集群架构,该kafka集群可以发布消息主题,订阅主题的消息接收者可以接收相应的消息。

状态监控模块203可以被配置为监控日志产出端的状态,将日志产出端的状态上报至进度监控模块。日志产出端的状态可以通过其产出日志的频率、以及日志产出端的运行参数来确定。状态监控模块203可以根据日志产出端的运行参数判断其是否处于健康状态,或者判断日志产出端是否存在。在这里,日志产出端处于健康状态可以是指日志产出端的运行参数处于正常的范围内,日志产出端不存在可以是指日志产出进程被终止或日志产出进程的任务结束。

在本实施例的一些可选的实现方式中,状态监控模块203可以通过分布式系统中的命名服务(namingservice)来监控日志产出端的状态。可以使用命名服务来访问系统中的日志产出端来获取其运行参数和/或产出的日志数据。

可选地,状态监控模块203可以被配置为基于日志产出端的日志上报时间确定日志产出端的状态是否异常。在这里,日志上报时间是日志产出端向消息系统202或状态监控模块203上报日志的时间。可以基于日志上报时间是否符合正常的日志上报时间规律来确定日志产出端的状态。例如,若日志产出端的相邻两次日志上报时间的间隔超过预设的时间间隔阈值,则可以确定日志产出端的状态异常。或者,若日志产出端在超过预设时间间隔阈值的时间内未上报日志之后的两次日志上报时间间隔都在预设的时间间隔阈值之内,则可以确定该日志产出端的状态正常。

日志处理模块204可以是用于处理日志数据的模块,可以由分布式的日志处理系统实现。该日志处理模块204可以是执行流式计算的模块。日志处理模块204可以被配置为从消息系统202获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间,将日志产出端的标识和关联的日志数据产出时间上报至进度监控模块205。

具体地,日志处理模块204可以从消息系统202传输的日志数据中解析出包含日志产出端的标识和关联的日志数据的产出时间的数组(serviceagent,timestamp),其中,serviceagent表示一条日志数据的日志产出端的标识,timestamp为该条日志数据的时间戳。日志处理模块204可以将解析出的数组上报至进度监控模块205。

进度监控模块205可以根据日志处理模块204上报的日志数据的日志产出端的标识和日志数据的产出时间、以及状态监控模块上报的日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间。即进度监控模块可以基于接收到的数据确定出全局的日志数据的处理进度。

具体地,进度监控模块205可以监控系统中所有日志产出端的日志数据处理进度。可以根据日志产出端的标识,确定出每个日志产出端的未被处理的日志数据的最早产出时间,然后排除异常状态的日志产出端,从状态正常的日志产出端的日志数据中确定出最早的日志产出时间作为流式计算系统中未被处理的日志数据的最早产出时间。

在本实施例中,日志处理模块204向进度监控模块205上报的日志产出端的标识和日志产出时间可以是日志处理模块204成功解析的日志数据的日志产出端的标识和日志产出时间。进度监控模块205获取到的日志数据的产出时间为未发送至流式计算系统的下游消费者莪系统进行进一步处理的日志数据的产出时间。这样,进度监控模块205可以计算出流式计算系统的水位,从而实现了全局日志数据传输进度的监控。

需要说明的是,上述日志采集模块、消息系统、状态监控模块、日志处理模块、进度监控模块可以是实现相应功能的硬件或软件模块,并且均可以实现为部署于分布式的流式计算系统的不同节点(如物理机、虚拟机或容器)上的硬件或软件模块。上述日志采集模块、消息系统、状态监控模块、日志处理模块、进度监控模块可以在相应节点中的进程中实现其功能。

本公开上述实施例的流式计算系统,通过日志采集模块采集日志产出端产出的日志数据,将日志数据发送至消息系统,消息系统将日志采集模块传输的日志数据存储在消息队列中,状态监控模块监控日志产出端的状态,将日志产出端的状态上报至进度监控模块,日志处理模块从消息系统获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间,将日志产出端的标识和关联的日志数据产出时间上报至进度监控模块,进度监控模块根据日志处理模块上报的日志产出端的标识和关联的日志数据产出时间、以及监控模块上报的日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间,实现了流式计算系统全局水位的自动推进,有助于提升流式计算系统全局水位的可运维性。

在上述实施例的一些可选的实现方式中,进度监控模块205可以被配置为:根据状态监控模块上报的日志产出端的状态,确定出连续预设个预定时间周期内状态异常的日志产出端为异常日志产出端,将除异常日志产出端外的其他日志产出端确定为正常日志产出端,基于流式计算系统中各正常日志产出端的标识及各正常日志产出端的标识关联的日志数据产出时间,确定流式计算系统中未被处理的日志数据的最早产出时间。

具体地,状态监控模块202可以根据各日志产出端的日志上报时间,确定出预设时间周期内未上报日志数据的日志产出端的状态为异常状态,可以将日志产出端的异常状态上报进度监控模块205。进度监控模块205在监控到一个日志产出端在连续的预设数量个预定周期内的状态均为异常状态时,确定该日志产出端为异常日志产出端。可选地,若进度监控模块205监控到一个日志产出端持续未上报日志数据的时间未达到预设时间周期的预设数量倍数,则确定日志产出端是正常日志产出端。

在确定流式计算系统中未被处理的日志数据的最早产出时间时,可以排除上述异常日志产出端,将系统中除异常日志产出端之外的其他日志产出端作为正常日志产出端,基于各正常日志产出端上报的日志数据的最早日志产出时间,确定流式计算系统中未被处理的日志数据的最早产出时间,从而确定出流式计算系统的日志处理进度。

上述可选实现方式中,通过跳过状态异常的日志产出端,基于状态正常的日志产出端的日志产出时间来确定系统的日志处理进度(即流式计算系统的水位),能够在一些日志产出端状态异常时自动推进系统的全局日志处理进度,保证及时向下游消费系统提供数据,避免系统拥堵。

进一步可选地,上述进度监控模块205还被配置为:响应于根据状态监控模块上报的日志产出端的状态确定异常日志产出端的状态恢复正常,基于各正常日志产出端的日志数据产出时间更新流式计算系统中未被处理的日志数据的最早产出时间。

具体来说,对于已经被判定的异常日志产出端,可以基于状态监控模块持续监控其状态,例如可以监控其日志产出时间或频率,若状态监控模块监控到异常日志产出端的日志产出时间或频率恢复正常,则重新确定该异常日志产出端为正常日志产出端,基于该正常日志产出端与其他正常日志产出端的日志数据的产出时间来重新确定流式计算系统中未被处理的日志数据的最早产出时间,以确保系统的进度监控结果的准确性。

在一些可选的实现方式中,上述进度监控模块205还可以被配置为:向流式计算系统的下游数据处理系统通知流式计算系统中未被处理的日志数据的最早产出时间,以供流式计算系统的下游数据处理系统对流式计算系统中未被处理的日志数据的最早产出时间之前的日志数据进行处理。

进度监控模块205可以将流式计算系统中未被处理的日志数据的最早产出时间通知到下游的数据处理系统(例如图1所示的消费者系统),以通知下游的数据处理系统该最早产出时间之前的日志数据已完备,触发下游的数据处理系统消费该最早产出时间之前的日志数据。

本公开还提供了一种流式计算系统的日志数据处理方法。继续参考图3,其示出了流式计算系统的日志数据处理方法的一个实施例的流程图。该流式计算系统的日志数据处理方法可以应用于流式计算系统的任意一个计算节点中。

如图3所示,流式计算系统的日志数据处理方法的流程300,可以包括以下步骤:

步骤301,监控流式计算系统中的日志产出端的状态。

在本实施例中,可以通过状态监控进程监控流式计算系统中的日志产出端的状态。具体地,可以监控日志产出端产出日志的频率、日志产出端的运行参数,根据产出日志的频率和日志产出端的运行参数确定日志产出端是否处于正常状态。

若监控到日志产出端的日志产出频率、或者日志产出端的运行参数满足预设的正常状态条件,则可以确定日志产出端的状态正常,否则可以确定日志产出端的状态异常。

可选地,可以基于流式计算系统中日志产出端的日志上报时间监控日志产出端的状态是否异常。例如,可以基于日志产出端的日志上报时间是否在预设的时间周期内来确定日志产出端的状态是否异常;又例如,可以基于日志产出端的相邻两次上报日志的时间间隔是否超过预设的时间间隔确定日志产出端的状态是否异常,等等。

步骤302,从消息系统获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间。

其中,消息系统将日志产出端的日志数据存储在消息队列中。上述日志产出端产出的日志数据可以被传输至消息系统的消息队列中有序存储。消息系统可以采用诸如kafka集群的架构,该kafka集群可以发布消息主题,订阅相应主体的消息接受者可以接收消息。

可以从消息系统获取日志数据,并对日志数据进行解析,解析出包含日志产出端的标识和关联的日志数据的产出时间的数组(serviceagent,timestamp),其中,serviceagent表示一条日志数据的日志产出端的标识,timestamp为该条日志数据的时间戳。

步骤303,根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间。

可以根据日志产出端的标识,确定出每个日志产出端的未被处理的日志数据的最早产出时间,然后排除异常状态的日志产出端,从状态正常的日志产出端的日志数据中确定出最早的日志产出时间作为流式计算系统中未被处理的日志数据的最早产出时间。

在本实施例的一些可选的实现方式中,上述根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间的步骤303可以包括:根据日志产出端的状态,确定出连续预设个预定时间周期内状态异常的日志产出端为异常日志产出端;将除异常日志产出端外的其他日志产出端确定为正常日志产出端,基于流式计算系统中各正常日志产出端的标识及各正常日志产出端的标识关联的日志数据产出时间,确定流式计算系统中未被处理的日志数据的最早产出时间。

在确定流式计算系统中未被处理的日志数据的最早产出时间时,可以跳过异常日志产出端,基于状态正常的日志产出端的日志产出时间来确定系统的日志处理进度,从而保证系统全局的日志传输进度不会因一些状态异常的日志产出端无法推进,确保能够及时向下游消费者系统提供数据。

进一步可选地,上述根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间的步骤303,还可以包括:响应于根据状态监控模块上报的日志产出端的状态确定异常日志产出端的状态恢复正常,基于各正常日志产出端的日志数据产出时间更新流式计算系统中未被处理的日志数据的最早产出时间。这样,可以将恢复正常状态的日志产出端的日志数据应用至系统的全局日志传输进度确定中,进一步确保全局进度监控结果的准确性。

在一些可选的实现方式中,上述流式计算系统的日志数据处理方法的流程300还可以包括:向流式计算系统的下游数据处理系统通知流式计算系统中未被处理的日志数据的最早产出时间,以供流式计算系统的下游数据处理系统对流式计算系统中未被处理的日志数据的最早产出时间之前的日志数据进行处理。下游数据处理系统收到上述通知之后,可以确定流式计算系统中该最早产出时间之前的数据已完备,可以进行分析处理。这样,通过数据完备时的通知机制可以及时触发下游数据处理系统对数据进行进一步处理。

下面参考图4,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的流式计算系统中的节点)400的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储装置408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

通常,以下装置可以连接至i/o接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置407;包括例如硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图4中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从rom402被安装。在该计算机程序被处理装置401执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:监控流式计算系统中的日志产出端的状态;从消息系统获取日志数据并解析出产出日志数据的日志产出端的标识及与日志产出端的标识关联的日志数据产出时间,其中,消息系统将日志产出端的日志数据存储在消息队列中;根据产出日志数据的日志产出端的标识和关联的日志数据产出时间、以及日志产出端的状态,确定流式计算系统中未被处理的日志数据的最早产出时间。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,日志采集模块还可以被描述为“采集日志产出端产出的日志数据,将日志数据发送至消息系统的模块”。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1