一种数据请求的处理方法、装置及其设备与流程

文档序号:21550316发布日期:2020-07-21 10:54阅读:142来源:国知局
一种数据请求的处理方法、装置及其设备与流程

本申请涉及互联网领域,尤其是一种数据请求的处理方法、装置及其设备。



背景技术:

在基于分布式架构的服务系统中,通常由多个服务来处理数据请求(如日志请求、http(hypertexttransferprotocol,超文本传输协议)请求等),且这些服务需要按照预定顺序来处理数据请求。例如,首先,由服务1来处理数据请求a,然后,基于服务1的处理结果,由服务2和服务3并行处理数据请求a,然后,基于服务2和服务3的处理结果,由服务4来处理数据请求a。

为了实现上述功能,现有技术中,需要在各服务的代码中指示数据请求的处理方式。例如,在服务2的代码中,指示服务2基于服务1的处理结果来处理数据请求,且服务2将处理结果发送给服务4,其它服务的代码与此类似。

显然,在上述方式中,需要在代码中指示数据请求的处理方式,导致代码的开发工作量大,开发学习成本高,开发难度比较复杂,服务的处理效率低。



技术实现要素:

本申请提供一种数据请求的处理方法,所述方法包括:

针对服务节点集合中的服务节点,获取所述服务节点的执行顺序;

根据所述执行顺序确定所述服务节点集合对应的路径信息;

根据所述路径信息确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

本申请提供一种数据请求的处理方法,所述方法包括:

针对服务节点集合中的服务节点,获取所述服务节点的执行顺序;

根据所述执行顺序确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

本申请提供一种数据请求的处理装置,所述装置包括:

获取模块,用于获取服务节点集合中的服务节点的执行顺序;

确定模块,用于根据所述执行顺序确定所述服务节点集合对应的路径信息,并根据所述路径信息确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

本申请提供一种服务器,所述服务器包括:

处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:

针对服务节点集合中的服务节点,获取所述服务节点的执行顺序;

根据所述执行顺序确定所述服务节点集合对应的路径信息;

根据所述路径信息确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

基于上述技术方案,本申请实施例中,可以根据每个服务节点的执行顺序确定路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,并将该数据处理方式发送给服务节点,以使服务节点利用该数据处理方式对数据请求进行处理。在上述方式中,不需要在代码中指示数据处理方式,而是自动生成路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,从而解决代码的开发工作量大,开发学习成本高,开发难度比较复杂等问题,继而提高服务节点的处理效率,并减少用户的开发工作量,业务体验比较好。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。

图1是本申请一种实施方式中的数据请求的处理方法的流程图;

图2是本申请另一种实施方式中的数据请求的处理方法的流程图;

图3a-图3d是本申请一种实施方式中的路径信息的示意图;

图4是本申请一种实施方式中的数据请求的处理装置的结构图;

图5是本申请一种实施方式中的服务器的硬件结构图。

具体实施方式

在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本申请实施例中提出一种数据请求的处理方法,该方法可以应用于任意设备(如服务器等),参见图1所示,为该方法的流程示意图,该方法可以包括:

步骤101,针对服务节点集合中的服务节点,获取该服务节点的执行顺序。

具体的,获取服务节点集合对应的元数据,并根据该元数据获取服务节点的执行顺序,即,根据该元数据获取该服务节点集合中的每个服务节点的执行顺序。其中,该元数据可以包括服务节点集合中的每个服务节点的执行顺序。

在一个例子中,获取服务节点集合对应的元数据,可以包括:获取与服务类型对应的服务节点集合,该服务节点集合可以包括多个服务节点,且服务节点集合中的每个服务节点均用于处理该服务类型的数据请求;根据该服务类型获取该服务节点集合对应的元数据;其中,该元数据还包括该服务类型。

步骤102,根据该执行顺序确定该服务节点集合对应的路径信息。

步骤103,根据该路径信息确定服务节点对应的数据处理方式,即,可以根据该路径信息确定服务节点集合中的每个服务节点对应的数据处理方式。

具体的,根据该路径信息确定服务节点对应的数据处理方式,可以包括:

情况一、若该数据处理方式包括触发条件,则可以根据该路径信息确定服务节点前面的第一相邻服务节点,并根据第一相邻服务节点确定服务节点对应的触发条件;其中,该触发条件用于指示在接收到第一相邻服务节点的处理结果后,基于第一相邻服务节点的处理结果对数据请求进行处理。

情况二、若数据处理方式包括接收条件,则根据该路径信息确定服务节点后面的第二相邻服务节点,根据第二相邻服务节点确定服务节点对应的接收条件;其中,接收条件用于指示将服务节点的处理结果发送给第二相邻服务节点。

情况三、若该数据处理方式包括触发条件和接收条件,则可以根据该路径信息确定服务节点前面的第一相邻服务节点,并可以根据该路径信息确定服务节点后面的第二相邻服务节点。进一步的,可以根据第一相邻服务节点确定该服务节点对应的触发条件,并根据第二相邻服务节点确定该服务节点对应的接收条件。其中,该触发条件用于指示在接收到第一相邻服务节点的处理结果后,基于所述第一相邻服务节点的处理结果对数据请求进行处理。此外,该接收条件用于指示将服务节点的处理结果发送给所述第二相邻服务节点。

在一个例子中,在根据该路径信息确定服务节点对应的数据处理方式之后,则服务节点可以用于利用该数据处理方式对数据请求进行处理。例如,可以将该数据处理方式发送给该服务节点,以使该服务节点在获取到数据请求之后,利用该数据处理方式对该数据请求进行处理。

具体的,将触发条件发送给服务节点,以使服务节点基于触发条件,在获取到数据请求,且接收到第一相邻服务节点的处理结果后,基于第一相邻服务节点的处理结果对该数据请求进行处理;或者,将接收条件发送给服务节点,以使服务节点基于接收条件,在获取到数据请求后,对数据请求进行处理,并将服务节点的处理结果发送给第二相邻服务节点;或者,将触发条件和接收条件发送给服务节点,以使服务节点基于触发条件和接收条件,在获取到数据请求,且接收到第一相邻服务节点的处理结果后,基于第一相邻服务节点的处理结果对数据请求进行处理,并将服务节点的处理结果发送给第二相邻服务节点。

在上述实施例中,路径信息具体可以包括:基于流水线的有向无环路径;或,基于聚合型的有向无环路径;或,基于非聚合型的有向无环路径;或,基于多个并行处理的有向无环路径。当然,上述只是示例,对此不做限制。

在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。

基于上述技术方案,本申请实施例中,可以根据每个服务节点的执行顺序确定路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,并将该数据处理方式发送给服务节点,以使服务节点利用该数据处理方式对数据请求进行处理。在上述方式中,不需要在代码中指示数据处理方式,而是自动生成路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,从而解决代码的开发工作量大,开发学习成本高,开发难度比较复杂等问题,继而提高服务节点的处理效率,并减少用户的开发工作量,业务体验比较好。

基于与上述方法同样的申请构思,本申请实施例中还提出另一种数据请求的处理方法,参见图2所示,为该方法的流程示意图,该方法可以包括:

步骤201,针对服务节点集合中的服务节点,获取该服务节点的执行顺序。

其中,步骤201的实现过程可以参见步骤101,在此不再赘述。

步骤202,根据该执行顺序确定服务节点对应的数据处理方式。

具体的,根据该执行顺序确定服务节点对应的数据处理方式,可以包括:

情况一、若该数据处理方式包括触发条件,则可以根据该执行顺序确定服务节点前面的第一相邻服务节点,并根据第一相邻服务节点确定服务节点对应的触发条件;其中,该触发条件用于指示在接收到第一相邻服务节点的处理结果后,基于第一相邻服务节点的处理结果对数据请求进行处理。

情况二、若数据处理方式包括接收条件,则根据该执行顺序确定服务节点后面的第二相邻服务节点,根据第二相邻服务节点确定服务节点对应的接收条件;其中,接收条件用于指示将服务节点的处理结果发送给第二相邻服务节点。

情况三、若该数据处理方式包括触发条件和接收条件,则可以根据该执行顺序确定服务节点前面的第一相邻服务节点,并可以根据该执行顺序确定服务节点后面的第二相邻服务节点。进一步的,可以根据第一相邻服务节点确定该服务节点对应的触发条件,并根据第二相邻服务节点确定该服务节点对应的接收条件。其中,该触发条件用于指示在接收到第一相邻服务节点的处理结果后,基于所述第一相邻服务节点的处理结果对数据请求进行处理。此外,该接收条件用于指示将服务节点的处理结果发送给所述第二相邻服务节点。

其中,根据该执行顺序确定服务节点对应的数据处理方式之后,则服务节点可以用于利用该数据处理方式对数据请求进行处理。例如,可以将该数据处理方式发送给该服务节点,以使该服务节点在获取到数据请求之后,利用该数据处理方式对该数据请求进行处理。具体过程参见上述实施例,在此不再赘述。

在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。

基于上述技术方案,本申请实施例中,可以根据每个服务节点的执行顺序确定路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,并将该数据处理方式发送给服务节点,以使服务节点利用该数据处理方式对数据请求进行处理。在上述方式中,不需要在代码中指示数据处理方式,而是自动生成路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,从而解决代码的开发工作量大,开发学习成本高,开发难度比较复杂等问题,继而提高服务节点的处理效率,并减少用户的开发工作量,业务体验比较好。

以下结合几个具体应用场景,对上述数据请求的处理方法进行说明。

应用场景1,针对服务类型a的数据请求a,首先,由服务节点a1来处理数据请求a,然后,基于服务节点a1的处理结果,由服务节点a2来处理数据请求a,然后,基于服务节点a2的处理结果,由服务节点a3来处理数据请求a,然后,基于服务节点a3的处理结果,由服务节点a4来处理数据请求a。

为服务类型a配置元数据a,元数据a可以包括服务类型a、服务节点a1的执行顺序1(表示服务节点a1第一个执行)、服务节点a2的执行顺序2(表示服务节点a2第二个执行)、服务节点a3的执行顺序3(表示服务节点a3第三个执行)、服务节点a4的执行顺序4(表示服务节点a4第四个执行)。综上所述,基于各服务节点的执行顺序,可以确定最后执行的拓扑序列为:1234。

此外,在服务类型a对应的服务节点集合中,可以包括服务节点a1、服务节点a2、服务节点a3和服务节点a4,也就是说,服务节点a1、服务节点a2、服务节点a3和服务节点a4均用于处理与服务类型a对应的数据请求a。

在上述应用场景下,本应用场景1的数据请求的处理方法,可以包括:

步骤a1、获取与服务类型a对应的服务节点集合,该服务节点集合包括服务节点a1、服务节点a2、服务节点a3和服务节点a4,服务节点a1、服务节点a2、服务节点a3和服务节点a4用于处理与服务类型a对应的数据请求a。

步骤a2、根据服务类型a获取该服务节点集合对应的元数据,由于元数据a包括服务类型a,因此,该服务节点集合对应的元数据可以为元数据a。

步骤a3、根据元数据a获取服务节点集合中的每个服务节点的执行顺序。

例如,由于元数据a包括服务节点a1的执行顺序1、服务节点a2的执行顺序2、服务节点a3的执行顺序3、服务节点a4的执行顺序4,因此,基于元数据a,可以确定服务节点集合中的服务节点a1的执行顺序为1,服务节点a2的执行顺序为2,服务节点a3的执行顺序为3,服务节点a4的执行顺序为4。

步骤a4、根据每个服务节点的执行顺序确定服务节点集合对应的路径信息。

例如,由于服务节点a1的执行顺序为1,服务节点a2的执行顺序为2,服务节点a3的执行顺序为3,服务节点a4的执行顺序为4,也就是说,服务节点a1是计算路径的第一个服务节点,服务节点a2是计算路径的第二个服务节点,服务节点a3是计算路径的第三个服务节点,服务节点a4是计算路径的第四个服务节点,因此,服务节点集合对应的路径信息可以为服务节点a1-服务节点a2-服务节点a3-服务节点a4,参见图3a所示,为路径信息的一个示例。

步骤a5、根据该路径信息确定每个服务节点对应的数据处理方式。

例如,参见图3a所示的路径信息,针对服务节点a1,由于服务节点a1是计算路径的第一个服务节点,即服务节点a1前面不存在相邻的服务节点,后面存在相邻的服务节点a2,因此,确定服务节点a1的数据处理方式包括接收条件,该接收条件用于指示将服务节点a1的处理结果发送给服务节点a2。

针对服务节点a2,由于服务节点a2是计算路径的第二个服务节点,即服务节点a2前面存在相邻的服务节点a1,后面存在相邻的服务节点a3,因此,确定服务节点a2的数据处理方式包括触发条件和接收条件,触发条件用于指示在接收到服务节点a1的处理结果后,基于服务节点a1的处理结果对数据请求进行处理,接收条件用于指示将服务节点a2的处理结果发送给服务节点a3。

针对服务节点a3,由于服务节点a3是计算路径的第三个服务节点,即服务节点a3前面存在相邻的服务节点a2,后面存在相邻的服务节点a4,因此,确定服务节点a3的数据处理方式包括触发条件和接收条件,触发条件用于指示在接收到服务节点a2的处理结果后,基于服务节点a2的处理结果对数据请求进行处理,接收条件用于指示将服务节点a3的处理结果发送给服务节点a4。

针对服务节点a4,由于服务节点a4是计算路径的最后一个服务节点,即服务节点a4前面存在相邻的服务节点a3,后面不存在相邻的服务节点,因此,确定服务节点a3的数据处理方式包括触发条件,触发条件用于指示在接收到服务节点a3的处理结果后,基于服务节点a3的处理结果对数据请求进行处理。

步骤a6、将每个服务节点对应的数据处理方式发送给该服务节点。

例如,将服务节点a1的接收条件发送给服务节点a1,将服务节点a2的触发条件和接收条件发送给服务节点a2,将服务节点a3的触发条件和接收条件发送给服务节点a3,将服务节点a4的触发条件发送给服务节点a4。

步骤a7、每个服务节点均利用数据处理方式对数据请求进行处理。

例如,在接收到针对服务类型a的数据请求a后,先确定服务类型a对应的第一个服务节点,即服务节点a1,并将数据请求a发送给服务节点a1。

其中,服务节点a1在接收到数据请求a后,可以对数据请求a进行处理,得到服务节点a1的处理结果。基于服务节点a1的接收条件,服务节点a1可以将数据请求a和服务节点a1的处理结果发送给服务节点a2。

服务节点a2在接收到数据请求a和服务节点a1的处理结果后,基于服务节点a2的触发条件,服务节点a2基于服务节点a1的处理结果对数据请求a进行处理,得到服务节点a2的处理结果。基于服务节点a2的接收条件,服务节点a2将数据请求a和服务节点a2的处理结果发送给服务节点a3。

服务节点a3在接收到数据请求a和服务节点a2的处理结果后,基于服务节点a3的触发条件,服务节点a3基于服务节点a2的处理结果对数据请求a进行处理,得到服务节点a3的处理结果。基于服务节点a3的接收条件,服务节点a3将数据请求a和服务节点a3的处理结果发送给服务节点a4。

服务节点a4在接收到数据请求a和服务节点a3的处理结果后,基于服务节点a4的触发条件,服务节点a4基于服务节点a3的处理结果对数据请求a进行处理,得到服务节点a4的处理结果,至此,完成数据请求a的处理过程。

应用场景2,针对服务类型b的数据请求b,首先,可以由服务节点b1来处理数据请求b,然后,基于服务节点b1的处理结果,可以由服务节点b2和服务节点b3来并行处理数据请求b,然后,基于服务节点b2的处理结果和服务节点b3的处理结果,可以由服务节点b4来处理数据请求b。为服务类型b配置元数据b,元数据b包括服务类型b、服务节点b1的执行顺序1、服务节点b2的执行顺序2、服务节点b3的执行顺序2、服务节点b4的执行顺序3。综上所述,基于各服务节点的执行顺序,可以确定最后执行的拓扑序列为:1223。

在上述应用场景下,本应用场景2的数据请求的处理方法,可以包括:

步骤b1、获取与服务类型b对应的服务节点集合,该服务节点集合包括服务节点b1、服务节点b2、服务节点b3和服务节点b4,服务节点b1、服务节点b2、服务节点b3和服务节点b4用于处理与服务类型b对应的数据请求b。

步骤b2、根据服务类型b获取该服务节点集合对应的元数据,由于元数据b包括服务类型b,因此,该服务节点集合对应的元数据可以为元数据b。

步骤b3、根据元数据b获取服务节点集合中的每个服务节点的执行顺序。

例如,确定服务节点集合中的服务节点b1的执行顺序为1,服务节点b2的执行顺序为2,服务节点b3的执行顺序为2,服务节点b4的执行顺序为3。

步骤b4、根据每个服务节点的执行顺序确定服务节点集合对应的路径信息。

例如,由于服务节点b1的执行顺序为1,服务节点b2的执行顺序为2,服务节点b3的执行顺序为2,服务节点b4的执行顺序为3,因此,服务节点集合对应的路径信息可以为服务节点b1-服务节点b2或服务节点b3-服务节点b4。

参见图3b所示,为服务节点集合对应的路径信息的一个示例。

步骤b5、根据该路径信息确定每个服务节点对应的数据处理方式。

例如,参见图3b所示的路径信息,针对服务节点b1,由于服务节点b1是计算路径的第一个服务节点,即服务节点b1前面不存在相邻的服务节点,后面存在相邻的服务节点b2和服务节点b3,因此,确定服务节点b1的数据处理方式可以包括接收条件,该接收条件用于指示将服务节点b1的处理结果发送给服务节点b2,并将服务节点b1的处理结果发送给服务节点b3。

服务节点b2前面存在相邻的服务节点b1,后面存在相邻的服务节点b4,因此,服务节点b2的数据处理方式包括触发条件和接收条件,触发条件用于指示在接收到服务节点b1的处理结果后,基于服务节点b1的处理结果对数据请求进行处理,接收条件用于指示将服务节点b2的处理结果发送给服务节点b4。

服务节点b3前面存在相邻的服务节点b1,后面存在相邻的服务节点b4,因此,服务节点b3的数据处理方式包括触发条件和接收条件,触发条件用于指示在接收到服务节点b1的处理结果后,基于服务节点b1的处理结果对数据请求进行处理,接收条件用于指示将服务节点b3的处理结果发送给服务节点b4。

服务节点b4前面存在相邻的服务节点b2和服务节点b3,后面不存在相邻的服务节点,因此,确定服务节点b3的数据处理方式包括触发条件,触发条件用于指示在接收到服务节点b2的处理结果和服务节点b3的处理结果后,基于服务节点b2的处理结果和服务节点b3的处理结果,对数据请求进行处理。

步骤b6、将每个服务节点对应的数据处理方式发送给该服务节点。

步骤b7、每个服务节点均利用数据处理方式对数据请求进行处理。

例如,服务节点b1在接收到数据请求b后,可以对数据请求b进行处理,得到服务节点b1的处理结果。基于服务节点b1的接收条件,服务节点b1将数据请求b和服务节点b1的处理结果,发送给服务节点b2和服务节点b3。

服务节点b2在接收到数据请求b和服务节点b1的处理结果后,基于服务节点b2的触发条件,服务节点b2基于服务节点b1的处理结果对数据请求b进行处理,得到服务节点b2的处理结果。基于服务节点b2的接收条件,服务节点b2将数据请求b和服务节点b2的处理结果发送给服务节点b4。

服务节点b3在接收到数据请求b和服务节点b1的处理结果后,基于服务节点b3的触发条件,服务节点b3基于服务节点b1的处理结果对数据请求b进行处理,得到服务节点b3的处理结果。基于服务节点b3的接收条件,服务节点b3将数据请求b和服务节点b3的处理结果发送给服务节点b4。

服务节点b4在接收到数据请求b、服务节点b2的处理结果、服务节点b3的处理结果后,基于服务节点b4的触发条件,服务节点b4基于服务节点b2的处理结果和服务节点b3的处理结果对数据请求b进行处理,得到服务节点b4的处理结果,至此,完成数据请求b的处理过程。需要注意的是,这里是接收到服务节点b2的处理结果和服务节点b3的处理结果后,才满足触发条件。

应用场景3,针对服务类型c的数据请求c,首先,可以由服务节点c1来处理数据请求c,然后,基于服务节点c1的处理结果,可以由服务节点c2、服务节点c3和服务节点c4,来并行处理数据请求c。为服务类型c配置元数据c,元数据c可以包括服务类型c、服务节点c1的执行顺序1、服务节点c2的执行顺序2、服务节点c3的执行顺序2、服务节点c4的执行顺序2。综上所述,基于各服务节点的执行顺序,可以确定最后执行的拓扑序列为:1222。

在上述应用场景下,本应用场景3的数据请求的处理方法,可以包括:

步骤d1、获取与服务类型c对应的服务节点集合,该服务节点集合包括服务节点c1、服务节点c2、服务节点c3和服务节点c4,服务节点c1、服务节点c2、服务节点c3和服务节点c4用于处理与服务类型c对应的数据请求c。

步骤d2、根据服务类型c获取该服务节点集合对应的元数据,由于元数据c包括服务类型c,因此,该服务节点集合对应的元数据可以为元数据c。

步骤d3、根据元数据c获取服务节点集合中的每个服务节点的执行顺序。

例如,确定服务节点集合中的服务节点c1的执行顺序为1,服务节点c2的执行顺序为2,服务节点c3的执行顺序为2,服务节点c4的执行顺序为2。

步骤d4、根据每个服务节点的执行顺序确定服务节点集合对应的路径信息。

例如,由于服务节点c1的执行顺序为1,服务节点c2的执行顺序为2,服务节点c3的执行顺序为2,服务节点c4的执行顺序为2,因此,服务节点集合对应的路径信息可以为服务节点c1-服务节点c2、服务节点c3或服务节点c4。

参见图3c所示,为服务节点集合对应的路径信息的一个示例。

步骤d5、根据该路径信息确定每个服务节点对应的数据处理方式。

例如,参见图3c所示的路径信息,由于服务节点c1前面不存在相邻的服务节点,后面存在相邻的服务节点c2、服务节点c3和服务节点c4,因此,确定服务节点c1的数据处理方式可以包括接收条件,该接收条件用于指示将服务节点c1的处理结果发送给服务节点c2、服务节点c3和服务节点c4。

服务节点c2前面存在相邻的服务节点c1,因此,服务节点c2的数据处理方式包括触发条件,该触发条件用于指示在接收到服务节点c1的处理结果后,基于服务节点c1的处理结果对数据请求进行处理。服务节点c3前面存在相邻的服务节点c1,因此,服务节点c3的数据处理方式包括触发条件,该触发条件用于指示在接收到服务节点c1的处理结果后,基于服务节点c1的处理结果对数据请求进行处理。服务节点c4前面存在相邻的服务节点c1,因此,服务节点c4的数据处理方式包括触发条件,该触发条件用于指示在接收到服务节点c1的处理结果后,基于服务节点c1的处理结果对数据请求进行处理。

步骤d6、将每个服务节点对应的数据处理方式发送给该服务节点。

步骤d7、每个服务节点均利用数据处理方式对数据请求进行处理。

服务节点c1在接收到数据请求c后,对数据请求c进行处理,得到服务节点c1的处理结果。基于服务节点c1的接收条件,服务节点c1将数据请求c和服务节点c1的处理结果,发送给服务节点c2、服务节点c3和服务节点c4。

服务节点c2在接收到数据请求c和服务节点c1的处理结果后,基于服务节点c2的触发条件,服务节点c2基于服务节点c1的处理结果对数据请求c进行处理,得到服务节点c2的处理结果。服务节点c3在接收到数据请求c和服务节点c1的处理结果后,基于服务节点c3的触发条件,服务节点c3基于服务节点c1的处理结果对数据请求c进行处理,得到服务节点c3的处理结果。服务节点c4在接收到数据请求c和服务节点c1的处理结果后,基于服务节点c4的触发条件,服务节点c4基于服务节点c1的处理结果对数据请求c进行处理,得到服务节点c4的处理结果,至此,完成数据请求c的处理过程。

当然,上述应用场景1-应用场景3只是本申请的示例,对此不做限制。

在一个例子中,在流式计算场景、分布式任务调度场景、聚合服务处理场景,均需要类似于dag(有向无环图)的计算路径,如上述图3a-图3c所示,为了在这些场景中快速得到计算路径,则可以采用上述方法来快速得到计算路径。在上述方式中,不需要在代码中指示数据处理方式,而是自动生成路径信息,并根据该路径信息确定每个服务节点对应的数据处理方式,从而可以解决代码的开发工作量大,开发学习成本高,开发难度比较复杂等问题,继而提高每个服务节点的处理效率,并减少用户的开发工作量,业务体验比较好。

在一个例子中,本实施例中的路径信息具体为:基于聚合型的有向无环路径(参见图3b所示);或者,基于非聚合型的有向无环路径。进一步的,针对基于非聚合型的有向无环路径,可以包括:基于流水线的有向无环路径(参见图3a所示);或者,基于多个并行处理的有向无环路径(参见图3c所示)。

其中,基于聚合型的有向无环路径可以是指:由起始顶点出发,指向的顶点都收敛于另一个顶点,再以这一个顶点出发,指向的顶点都收敛于另一个定点,以此循环,最终这些顶点均收敛于终点,参见图3b和图3d所示,为基于聚合型的有向无环路径的示意图,在本实施例中,以图3b为例进行说明。

在一个例子中,当数据请求需要基于类似流水线的执行路径时,参见图3a所示,则可以为每个服务节点标注执行顺序,继而可以根据执行顺序生成路径信息,这个路径信息可以是一个类拓扑序列1234。在触发类拓扑序列1对应的服务节点a1执行数据请求后,就会触发整个流水线的计算路劲,即类拓扑序列1对应的服务节点a1、类拓扑序列2对应的服务节点a2、类拓扑序列3对应的服务节点a3、类拓扑序列4对应的服务节点a4,分别执行数据请求。

在一个例子中,当数据请求需要基于聚合型的执行路径时,参见图3b所示,则为每个服务节点标注执行顺序,继而根据执行顺序生成路径信息,这个路径信息可以是一个类拓扑序列1223。在触发类拓扑序列1对应的服务节点b1执行数据请求后,就会触发整个聚合型的执行路径,即类拓扑序列1对应的服务节点b1先执行数据请求,然后,类拓扑序列2对应的服务节点b2和服务节点b3并行执行数据请求,然后,类拓扑序列3对应的服务节点b4执行数据请求。

在一个例子中,当数据请求为需要基于多个消费者并行处理的执行路径时,参见图3c所示,则可以为每个服务节点标注执行顺序,继而根据所述执行顺序生成路径信息,这个路径信息可以是一个类拓扑序列1222。在触发类拓扑序列1对应的服务节点c1执行数据请求之后,就可以触发整个消费者并行处理的执行路径,即类拓扑序列1对应的服务节点c1先执行数据请求,然后,类拓扑序列2对应的服务节点c2、服务节点c3和服务节点c4并行执行数据请求。

基于与上述方法同样的申请构思,本申请实施例还提供一种数据请求的处理装置,如图4所示,为所述数据请求的处理装置的结构图,所述装置包括:

获取模块41,用于获取服务节点集合中的服务节点的执行顺序;

确定模块42,用于根据所述执行顺序确定所述服务节点集合对应的路径信息,并根据所述路径信息确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

所述确定模块42根据所述路径信息确定所述服务节点对应的数据处理方式时具体用于:若数据处理方式包括触发条件,则根据所述路径信息确定服务节点前面的第一相邻服务节点;根据第一相邻服务节点确定所述服务节点对应的触发条件;若数据处理方式包括接收条件,则根据所述路径信息确定服务节点后面的第二相邻服务节点;根据第二相邻服务节点确定所述服务节点对应的接收条件;若所述数据处理方式包括触发条件和接收条件,则根据所述路径信息确定所述服务节点前面的第一相邻服务节点;根据所述路径信息确定所述服务节点后面的第二相邻服务节点;根据所述第一相邻服务节点确定所述服务节点对应的触发条件;根据所述第二相邻服务节点确定所述服务节点对应的接收条件;其中,所述触发条件用于指示在接收到所述第一相邻服务节点的处理结果后,基于所述第一相邻服务节点的处理结果对数据请求进行处理;所述接收条件用于指示将所述服务节点的处理结果发送给所述第二相邻服务节点。

基于与上述方法同样的申请构思,本申请实施例还提供一种服务器,所述服务器包括:处理器和机器可读存储介质;其中,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:

针对服务节点集合中的服务节点,获取所述服务节点的执行顺序;

根据所述执行顺序确定所述服务节点集合对应的路径信息;

根据所述路径信息确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:

针对服务节点集合中的服务节点,获取所述服务节点的执行顺序;

根据所述执行顺序确定所述服务节点集合对应的路径信息;

根据所述路径信息确定所述服务节点对应的数据处理方式;其中,所述服务节点用于利用所述数据处理方式对数据请求进行处理。

参见图5所示,为本申请实施例中提出的服务器的结构图,所述服务器50可以包括:处理器51,网络接口52,总线53,存储器54。

存储器54可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器54可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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