一种流计算数据链路保障方法及系统与流程

文档序号:14612705发布日期:2018-06-05 21:14阅读:120来源:国知局
一种流计算数据链路保障方法及系统与流程

本发明实施例涉及计算机技术领域,具体涉及一种流计算数据链路保障方法及系统。



背景技术:

目前许多业务场景需要对数据进行实时计算。实时数据的处理链路一般包括数据采集、数据同步、数据处理、数据存储、数据服务等子系统。整条链路一般属于分布式数据处理,任何一个环节或子系统出现问题,将会导致实时数据出现更新。这种故障对于依赖于实时计算数据的业务场景是不可接受的。如何保障流计算数据链路的安全性就成为一个亟待解决的问题。

现有技术中,一般是对数据存储系统进行备份,两个系统之间相互同步数据,以达到容灾的效果。但是,若主存储系统和备存储系统之间的网络出现了故障,导致主、备无法同步数据时,则无法保障数据链路的安全性,无法解决数据链路故障时的业务中断问题。



技术实现要素:

本发明实施例提供了一种流计算数据链路保障方法及系统,可以有效提高数据链路安全,有效降低业务中断的风险。

为此,本发明实施例提供如下技术方案:

第一方面,本发明实施例提供了一种流计算数据链路保障系统,包括数据采集系统、多个数据计算系统、多个数据存储系统、数据保障系统、数据服务系统,各数据计算系统之间以及各数据存储系统之间相互独立,每个数据计算系统和与其对应的数据存储系统构成一条流计算数据链路,其中:

所述数据计算系统用于对数据采集系统采集的数据进行实时计算;

所述数据存储系统用于存储与其对应的数据计算系统的实时计算结果数据;

所述数据保障系统用于比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

第二方面,本发明实施例提供了一种流计算数据处理链路保障方法,应用于流计算数据链路保障系统,所述方法包括:

利用多条流计算数据链路对采集的数据进行实时计算,获得多个实时计算结果数据;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立;

比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

第三方面,本发明实施例提供了一种数据保障系统,包括:

比较单元,用于比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立;

切换单元,用于当根据所述比较结果确定至少一条数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

第四方面,本发明实施例提供了流计算数据链路保障方法,应用于数据保障系统,包括:

比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立;

当根据所述比较结果确定至少一条数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

第五方面,本发明实施例提供了一种数据服务系统,包括:

监听单元,用于监听链路配置信息;

切换单元,用于当所述链路配置信息发生变化时,根据更新的链路配置信息进行数据链路切换;其中,所述更新的链路配置信息包括已启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息;其中,发生故障的数据链路与未发生故障的数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

第六方面,本发明实施例提供了一种流计算数据链路保障方法,应用于数据服务系统,包括:

监听链路配置信息;

当所述链路配置信息发生变化时,根据所述链路配置信息进行数据链路切换;其中,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息;其中,发生故障的数据链路与未发生故障的数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

第七方面,本发明实施例提供了一种流计算数据链路保障系统,包括数据采集系统、多个数据计算系统、多个数据存储系统、数据保障系统、数据服务系统,各数据计算系统之间以及各数据存储系统之间相互独立,每个数据计算系统和与其对应的数据存储系统构成一条流计算数据链路,其中:所述数据计算系统用于对数据采集系统采集的数据进行实时计算;所述数据存储系统用于存储与其对应的数据计算系统的实时计算结果数据;所述数据保障系统用于比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;根据所述比较结果进行链路切换。

第八方面,本发明实施例提供了一种流计算数据链路保障方法,其特征在于,应用于流计算数据链路保障系统,所述方法包括:利用多条流计算数据链路对采集的数据进行实时计算,获得多个实时计算结果数据;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立;比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;根据所述比较结果进行链路切换。

在一些实施方式中,所述根据所述比较结果进行数据链路切换包括:将数据服务切换到负载最低的流计算数据链路上;或者,将数据服务切换到计算速度最快的流计算数据链路上;或者,将数据服务从发生故障的流计算数据链路切换到未发生故障的流计算数据链路上。

本发明实施例提供的流计算数据链路保障方法及装置,可以利用多条流计算数据链路对采集的数据进行实时计算,获得多个实时计算结果数据,比较多个实时计算结果数据,获得比较结果;当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。由于本发明中包括多条流计算数据链路,每条数据链路均有独立的数据计算系统和数据存储系统,相当于对数据处理以及数据存储均进行了备份,因此任何一条数据链路发生故障,均可以切换到其他数据链路上,有效提高了数据安全,降低了业务中断的风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1A和图1B为本发明实施例提供的流计算数据链路保障系统;

图2为本发明一实施例提供的流计算数据链路保障方法流程图;

图3为本发明另一实施例提供的流计算数据链路保障方法流程图;

图4为本发明实施例提供的流计算数据链路保障方法流程图;

图5为本发明实施例提供的数据保障系统示意图;

图6为本发明实施例提供的流计算数据链路保障方法流程图;

图7为本发明实施例提供的数据服务系统示意图;

图8A和图8B为本发明实施例提供的流计算数据链路保障系统;

图9为本发明提供的流计算数据链路保障方法流程图;

图10是根据另一示例性实施例示出的一种流计算数据链路保障的装置的框图。

具体实施方式

本发明实施例提供了一种流计算数据链路保障方法及装置,可以有效提高数据链路安全,有效降低业务中断的风险。

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

参见图1A和图1B,为本发明实施例提供的流计算数据链路保障系统1000,所述系统1000包括数据采集系统100、多个数据计算系统例如数据计算系统301、302、303等、多个数据存储系统例如数据存储系统401、402、403等、数据保障系统500、数据服务系统700。其中,所述数据计算系统301、302、303之间彼此相互独立,所述数据存储系统401、402、403之间彼此相互独立。一个数据计算系统和与其对应的数据存储系统构成一条流计算数据链路,例如数据计算系统301和数据存储系统401构成流计算数据链路1,数据计算系统302和数据存储系统402构成流计算数据链路2,数据计算系统303和数据存储系统403构成流计算数据链路3。各流计算数据链路彼此相互独立,是对等的关系。各流计算数据链路之间并不需要同步数据。在一些实施方式中,各流计算数据链路部署在不同机房中,进一步地,部署在异地,例如流计算数据链路1部署在上海,流计算数据链路2部署在北京,流计算数据链路3部署在深圳。当然,以上仅为示例性说明,所述系统1000还可以包括两个或者两个以上的流计算数据链路。以下以系统1000包括3条计算数据链路,即包括3个数据计算系统、3个数据存储系统为例进行说明。需要说明的是,在一些实施方式中,所述系统1000还可以包括多个数据中间件201、202、203等,虚线用于表示并不是系统必需的部件或者模块。其中,数据中间件201、202、203用于接收数据采集系统采集的数据,并将其发送给对应的数据计算系统。需要说明的是,本发明实施例提供的流计算数据链路保障系统1000可以是如图1A的串行实现方式,也可以是图1B的并行实现方式。具体的,在图1A中,数据保障系统500可以与多条流计算数据链路连接,例如流计算数据链路1、流计算数据链路2、流计算数据链路3可以与数据保障系统500直接连接,数据保护系统700与数据保障系统500连接,通过数据保障系统500访问各流计算数据链路。当然,本领域技术人员可以理解的是,如图1B所示,数据服务系统700还以直接与各流计算数据链路直接连接,实现对各流计算数据链路的调用。数据服务器系统700与数据保障系统500连接,实现数据交互。数据保障系统500分别与各流计算数据链路实现连接。当然,本发明的系统结构不局限于此,还可以是其他连接方式,在此不限定。

具体实现时,所述数据采集系统100用于采集数据。所述数据计算系统301、302、303用于对数据采集系统采集的数据进行实时计算。所述数据存储系统401、402、403用于存储与其对应的数据计算系统的实时计算结果数据。举例说明,数据存储系统401用于存储数据计算系统301的实时计算结果数据和临时数据;数据存储系统402用于存储数据计算系统302的实时计算结果数据和临时数据;数据存储系统403用于存储数据计算系统303的实时计算结果数据和临时数据。

具体实现时,所述数据保障系统500用于比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统700切换到未发生故障的流计算数据链路上。具体地,当根据所述比较结果确定至少一条流计算数据链路出现故障时,数据保障系统向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息。需要说明的是,出现故障可以是流计算数据链路停止工作,例如宕机;出现故障也可以是流计算数据链路的计算速度低于预设阈值,具体的判断条件可以是灵活多样的,在此不限定。

相应地,所述数据服务系统700用于监听更新的链路配置信息,根据更新的链路配置信息调用未发生故障的数据链路以进行数据链路切换。

以上对流计算数据处理链路保障系统进行了简单地介绍,下面参照图2和图3对相应的方法进行说明。

参见图2,为本发明一实施例提供的流计算数据处理链路保障方法流程图,所示方法可以应用于图1所示的流计算数据链路保障系统1000。如图2所示,所述方法可以包括:

S201,利用多条流计算数据链路对采集的数据进行实时计算,获得多个实时计算结果数据。

具体实现时,每条流计算数据链路均包括独立的数据计算系统和数据存储系统。各条数据链路间的数据计算系统之间彼此物理独立,并且各条数据链路间的数据存储系统之间彼此物理独立。具体实现时,可以在各数据计算系统分别部署流计算实例,各数据链路的流计算实例仅订阅本数据链路中数据中间件的数据。

S202,比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

在一些实施方式中,所述当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上包括:当根据所述比较结果确定至少一条流计算数据链路出现故障时,向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息。

在一些实施方式中,所述方法还包括:所述数据服务系统监听更新的链路配置信息,根据更新的链路配置信息调用未发生故障的数据链路以进行数据链路切换。

在一些实施方式中,所述方法还包括:当发生数据链路切换时,比较最新的实时计算结果数据和缓存的历史实时计算结果数据;若确定最新的实时计算结果数据的质量低于所述历史实时计算结果数据时,使用历史实时计算结果数据替代所述最新的实时计算结果数据。

为了便于本领域技术人员更清楚地理解本发明在具体场景下的实施方式,下面以一个具体示例对本发明实施方式进行介绍。需要说明的是,该具体示例仅为使得本领域技术人员更清楚地了解本发明,但本发明的实施方式不限于该具体示例。

参见图3,为本发明一实施例提供的流计算数据处理链路保障方法示意图。

S301,数据采集系统100采集数据。

具体实现时,数据采集系统100从业务数据源中采集数据库变更日志或者服务器日志。其中,业务数据源部署在跨机房系统中。数据采集系统100可以实时监控数据库日志文件变更信息,并将变更信息采集成数据包。

S302,数据采集系统100将采集的数据包分别发送给各流计算数据链路的数据中间件。

以图1为例,数据采集系统100将采集的数据包分别发送给流计算数据链路1的数据中间件201、流计算数据链路2的数据中间件202以及流计算数据链路3的数据中间件203。

S303,分别在各流计算数据链路中添加订阅凭证,用来订阅数据中间件的实时数据。

S304,在各数据计算系统301、302、303上分别部署流计算实例。其中,各流计算数据链路的流计算实例仅订阅本数据链路中的数据中间件的数据。

需要说明的是,在本发明具体实现时,在流计算数据链路1、流计算数据链路2、流计算数据链路3中均创建了独立的数据计算系统,各数据计算系统301、302、303物理上相互独立。

S305,流计算实例将临时数据和实时计算结果数据写入到本链路的数据存储系统中。

需要说明的是,在本发明具体实现时,在流计算数据链路1、流计算数据链路2、流计算数据链路3中均创建了独立的数据存储系统,各数据存储系统401、402、403物理上相互独立。各数据存储系统中存储的数据结果相同,其使用的集群可以是部署在不同机房中。

S306,比较各流计算数据链路的实时计算结果。

举例说明,通过数据保障系统500可以自动比对流计算数据链路1、流计算数据链路2、流计算数据链路3的实时计算结果,以感知链路是否发生故障。举例说明,当某条链路出现问题时,一定会比其他链路计算的值小,并且差异会越来越大。因此,通过比较各实时计算结果的大小,可以判断各链路是否发生了故障。

S307,若确定至少一条数据链路发生故障,更新链路配置信息。

其中,所述链路配置信息可以包括:

(1)主链路存储系统标记、连接信息。其中,主链路为某个数据服务优先使用的数据链路,不同的数据服务优先使用的数据链路可以不同。

(2)备链路存储系统标记、连接信息。

(3)启动备链路标记:其中,true代表启动;false代表未启动。

通过向数据服务系统推送更新的链路配置信息,可以使得链路切换生效,使得依赖于发生故障的数据服务系统切换到未发生故障的数据链路上。需要说明的是,数据服务系统可以包括多个数据服务,每个数据服务优先依赖的数据链路可以不同。若判断该数据服务依赖的数据链路发生了故障,可以将更新的配置信息推送到该数据服务上,以生效链路切换。

S308,数据服务系统监听链路配置信息,利用更新的链路配置信息进行链路切换。

在本发明具体实现时,在数据服务器系统将各流计算数据链路1、流计算数据链路2、流计算数据链路3的链路信息与相应的接口对应起来。所述接口信息可以包括流计算数据链路所使用的集群的信息、表信息、字段信息、存储系统信息等,用于实现数据服务系统对数据存储系统数据的调用。在本发明实现时,可以根据业务产品功能把多个接口的链路切换封装到一起,一次性对多个接口进行链路切换,而无需分别对接口进行链路切换。

S309,在数据链路发生切换时,执行数据质量保护处理。

为了防止链路间延时不一致导致的数据下跌现象,可以在数据链路发生切换时,执行数据质量保护处理。具体地,当发生数据链路切换时,比较最新的实时计算结果数据和缓存的历史实时计算结果数据;若确定最新的实时计算结果数据的质量低于所述历史实时计算结果数据时,使用历史实时计算结果数据替代所述最新的实时计算结果数据。举例说明,可以对每次各数据链路产生的实时计算结果数据进行缓存,也可以仅保存最近一次的实时计算结果数据作为历史实时计算结果数据。将本次产生的实时计算结果数据与缓存中保存的上一次实时计算结果数据进行比较,若本次产生的实时计算结果数据质量较低时,例如数据量小于上次的数据量,则利用缓存的上一次实时计算结果数据替换本次产生的实时计算结果数据,以避免数据量急剧减少带来的数据下跌。

在本发明这一实施例中,整条链路的数据是流式的,当故障发生时,通过链路比对会自动发现链路上的问题,并自动切换到备链路中,同时会做数据质量的比对,防止数据下跌,整个过程对数据产品完全透明。对数据产品来说,所调用的接口没有变化,只是数据服务已经是从备链路中读取数据。本发明提供的一种流计算中的链路保障方法,实现了流数据采集、处理、存储的多链路容灾保障,在实时数据处理中能做到发生故障时对业务方完全透明,并且对实时数据计算做到了跨机房和地域的容灾,避免了业务产品的实时数据延迟风险。

以上从整体系统角度对本发明进行了说明,本领域技术人员可以理解的是,所述流计算数据链路保障系统1000包含的各系统在硬件上也可以是独立的系统。下面将从数据保障系统500以及数据服务系统700的角度对本发明进行说明,具体的实现可以参照图1至图3所示实施例而实现。

参见图4为本发明实施例提供的流计算数据链路保障方法流程图,应用于数据保障系统。

S401,比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果。

其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

S402,当根据所述比较结果确定至少一条数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

其中,所述将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上包括:当根据所述比较结果确定至少一条流计算数据链路出现故障时,向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息。

在一些实施方式中,所述方法还包括:

当发生数据链路切换时,比较最新的实时计算结果数据和缓存的历史实时计算结果数据;若确定最新的实时计算结果数据的质量低于所述历史实时计算结果数据时,使用历史实时计算结果数据替代所述最新的实时计算结果数据。

参见图5,为本发明实施例提供的数据保障系统示意图。

一种数据保障系统500,包括:

比较单元501,用于比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

切换单元502,用于当根据所述比较结果确定至少一条数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

在一些实施方式中,所述切换单元502具体用于当根据所述比较结果确定至少一条流计算数据链路出现故障时,向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息。

在一些实施方式中,所述系统还包括:

数据保护单元,用于当发生数据链路切换时,比较最新的实时计算结果数据和缓存的历史实时计算结果数据;若确定最新的实时计算结果数据的质量低于所述历史实时计算结果数据时,使用历史实时计算结果数据替代所述最新的实时计算结果数据。

参见图6,为本发明实施例提供的流计算数据链路保障方法流程图,应用于数据服务系统。

S601,监听链路配置信息。

S602,当所述链路配置信息发生变化时,根据所述链路配置信息进行数据链路切换。

其中,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息;其中,发生故障的数据链路与未发生故障的数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

参见图7,为本发明实施例提供的数据服务系统示意图。

一种数据服务系统700,包括:

监听单元701,用于监听链路配置信息。

切换单元702,用于当所述链路配置信息发生变化时,根据更新的链路配置信息进行数据链路切换;其中,所述更新的链路配置信息包括已启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息;其中,发生故障的数据链路与未发生故障的数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

需要说明的是,在一些实施方式中,本发明提供的流计算数据链路保障系统不仅可以应用于当某条或某几条流计算数据链路发生故障时进行链路切换的场景,还可以应用于其他链路切换的场景,例如可以将数据服务切换到负载更低的数据链路或者将数据服务切换到计算速度更快的数据链路上等。下面结合附图8和附图9,对这一实现进行说明。

图8A和图8B为本发明实施例提供的流计算数据链路保障系统。参见图8A和图8B,为本发明实施例提供的流计算数据链路保障系统8000,所述系统8000可以包括多个数据计算系统例如数据计算系统301、302、303等、多个数据存储系统例如数据存储系统401、402、403等、数据保障系统800、数据服务系统700。其中,所述数据计算系统301、302、303之间彼此相互独立,所述数据存储系统401、402、403之间彼此相互独立。一个数据计算系统和与其对应的数据存储系统构成一条流计算数据链路,例如数据计算系统301和数据存储系统401构成流计算数据链路1,数据计算系统302和数据存储系统402构成流计算数据链路2,数据计算系统303和数据存储系统403构成流计算数据链路3。各流计算数据链路彼此相互独立,是对等的关系。各流计算数据链路之间并不需要同步数据。在一些实施方式中,各流计算数据链路部署在不同机房中,进一步地,部署在异地,例如流计算数据链路1部署在上海,流计算数据链路2部署在北京,流计算数据链路3部署在深圳。当然,以上仅为示例性说明,所述系统8000还可以包括两个或者两个以上的流计算数据链路。以下以系统8000包括3条计算数据链路,即包括3个数据计算系统、3个数据存储系统为例进行说明。

具体实现时,如图8A和8B所示,所述系统8000还可以包括数据采集系统100,所述数据采集系统100用于采集数据(虚线表示所述系统或者模块不是必需的)。在一些应用场景中,所述系统8000还可以不包括数据采集系统,而是对其他系统发送的数据进行实时计算,或者调用其他系统的数据进行实时计算。所述数据计算系统301、302、303用于进行实时计算。所述数据存储系统401、402、403用于存储与其对应的数据计算系统的实时计算结果数据。所述数据保障系统800用于比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;根据所述比较结果进行链路切换。具体地,当根据所述比较结果确定需要进行链路切换时,数据保障系统向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示切换后的数据链路的连接信息。具体实现时,所述数据保障系统800具体用于:将数据服务切换到负载最低的流计算数据链路上;或者,将数据服务切换到计算速度最快的流计算数据链路上;或者,将数据服务从发生故障的流计算数据链路切换到未发生故障的流计算数据链路上。

相应地,所述数据服务系统700用于监听更新的链路配置信息,根据更新的链路配置信息进行数据链路切换。

图9为本发明提供的流计算数据链路保障方法流程图。

S901,利用多条流计算数据链路进行实时计算,获得多个实时计算结果数据;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立。

S902,比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;根据所述比较结果进行链路切换。

在一些实施方式中,所述根据所述比较结果进行数据链路切换包括:将数据服务切换到负载最低的流计算数据链路上;或者,将数据服务切换到计算速度最快的流计算数据链路上;或者,将数据服务从发生故障的流计算数据链路切换到未发生故障的流计算数据链路上。举例说明,在流计算数据链路未发生故障时,可以根据数据链路的表现来调整数据服务系统所依赖的数据链路,例如可以选择将数据服务系统切换到计算速度更快的数据链路上,或者切换到负载更低的数据链路上。当然,当根据比较结果判定数据链路发生故障时,例如宕机或者计算速度低于预设标准时,可以将数据服务切换到未发生故障的数据链路上。

在一些实施方式中,所述根据所述比较结果进行数据链路切换包括:当根据所述比较结果确定需要进行链路切换时,数据保障系统向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示切换后的数据链路的连接信息。

在一些实施方式中,所述方法还包括:所述数据服务系统监听更新的链路配置信息,根据更新的链路配置信息进行数据链路切换。

在一些实施方式中,所述方法还包括:当发生数据链路切换时,比较最新的实时计算结果数据和缓存的历史实时计算结果数据;若确定最新的实时计算结果数据的质量低于所述历史实时计算结果数据时,使用历史实时计算结果数据替代所述最新的实时计算结果数据。

本发明实施例提供的流计算数据链路保障方法及装置,可以利用多条流计算数据链路对采集的数据进行实时计算,获得多个实时计算结果数据,比较多个实时计算结果数据,获得比较结果;根据比较结果进行数据链路的切换。由于本发明中包括多条流计算数据链路,每条数据链路均有独立的数据计算系统和数据存储系统,相当于对数据处理以及数据存储均进行了备份,因此任何一条数据链路发生故障或者性能降低,均可以切换到其他性能更好的数据链路上,有效提高了数据安全,降低了业务中断的风险,并提高了系统性能。

参见图10,是根据另一示例性实施例示出的一种流计算数据链路保障的装置的框图。包括:至少一个处理器1001(例如CPU),存储器1002和至少一个通信总线1003,用于实现这些设备之间的连接通信。处理器1001用于执行存储器1002中存储的可执行模块,例如计算机程序。存储器1002可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器1001执行所述一个或者一个以上程序包含用于进行以下操作的指令:利用多条流计算数据链路对采集的数据进行实时计算,获得多个实时计算结果数据;其中,所述多条流计算数据链路中的每条数据链路均包括数据计算系统和数据存储系统,各数据链路间的数据计算系统、数据存储系统相互独立;比较多条流计算数据链路产生的多个实时计算结果数据,获得比较结果;当根据所述比较结果确定至少一条流计算数据链路出现故障时,将依赖于出现故障的流计算数据链路的数据服务系统切换到未发生故障的流计算数据链路上。

在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:当根据所述比较结果确定至少一条流计算数据链路出现故障时,向数据服务系统发送更新的链路配置信息用于指示所述数据服务系统进行数据链路切换,所述链路配置信息包括用于指示启用未发生故障的数据链路的指示信息以及所述未发生故障的数据链路的连接信息。

在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:所述数据服务系统监听更新的链路配置信息,根据更新的链路配置信息调用未发生故障的数据链路以进行数据链路切换。

在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:当发生数据链路切换时,比较最新的实时计算结果数据和缓存的历史实时计算结果数据;

若确定最新的实时计算结果数据的质量低于所述历史实时计算结果数据时,使用历史实时计算结果数据替代所述最新的实时计算结果数据。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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