本发明涉及数据处理的,特别涉及一种任务数据处理的方法及系统。
背景技术:
1、现在的互联网系统中,随着用户量的急剧增多,各种业务数据都呈现出海量数据的情况,为了实现各种海量数据的处理,提出了分布式处理任务的概念。即存在有多个的节点,把一个总任务拆分成多个的子任务,由每一个节点分别来执行这些子任务,并最终汇总各个节点计算的结果数据,作为最终的结果数据返回给客户端。
2、通常的方式下,比如上游有2个节点处理数据,其会把结果平均发送到下游的4个节点中,即上游中的每一个节点都会平均发送1/4的数据到下游的每一个节点中,当发送完毕后,下游的节点进行最终的计算,并把计算后的结果数据发送至中心节点处进行汇总。
3、上述架构方式下,会存在以下问题:
4、1、上下游节点网络交互的次数过多,增加了网络故障的概率;
5、2、下游的节点发送计算结果的次数以及数据量至中心节点处,也会增多。
技术实现思路
1、本发明所要解决的技术问题是:提供一种任务数据处理的方法及系统,能够减少任务中上下游节点的交互次数,并缓解网络io的占用情况,进而减少任务处理时网络故障的概率。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、一种任务数据处理的方法,应用于中心节点,包括步骤:
4、s1、接收上游节点处理任务数据结束后发送的第一结果数据及其类型;
5、s2、根据所述第一结果数据的类型为下游节点设置对应的类型标签,并将各下游节点的类型标签同步至所述上游节点,以使得所述上游节点顺序将所述第一结果数据发送给与所述第一结果数据的类型对应的下游节点;
6、s3、接收所述下游节点计算所述第一结果数据得到的第二结果数据,并对所述第二结果数据进行聚合计算。
7、为了解决上述技术问题,本发明采用的另一种技术方案为:
8、一种任务数据处理的系统,包括中心节点、上游节点和下游节点;
9、所述中心节点接收所述上游节点处理任务数据结束后发送的第一结果数据及其类型;
10、所述中心节点根据所述第一结果数据的类型为所述下游节点设置对应的类型标签,并将各下游节点的类型标签同步至所述上游节点,以使得所述上游节点将所述第一结果数据发送给与所述第一结果数据的类型对应的下游节点;
11、所述中心节点接收所述下游节点计算所述第一结果数据得到的第二结果数据,并对所述第二结果数据进行聚合计算。
12、本发明的有益效果在于:上游节点处理任务数据结束后得到第一结果数据及其类型,中心节点得到第一结果数据及其类型后为下游节点设置对应的类型标签,并将下游节点的类型标签同步给上游节点,因此上游节点就可以将特定类型的第一结果数据发送给对应的下游节点。同时,上游节点是顺序将第一结果数据发送给下游节点的,因此下游节点只处理与任务相关的特定类型数据即可。相较于现有技术中上游节点需要将数据均分至下游节点的方法,本发明中不需要每次都把数据平均分给各个下游节点处理,从而减少了上下游的网络交互次数和网络io占用,也减少了中心节点接收下游节点发送的数据量,以此方式减少任务处理时网络故障的概率。
1.一种任务数据处理的方法,其特征在于,应用于中心节点,包括步骤:
2.根据权利要求1所述的一种任务数据处理的方法,其特征在于,步骤s1之前包括:
3.根据权利要求1所述的一种任务数据处理的方法,其特征在于,根据所述第一结果数据的类型为下游节点设置对应的类型标签,包括:
4.根据权利要求3所述的一种任务数据处理的方法,其特征在于,根据各个所述第一结果数据的类型,若各个所述第一结果数据的类型数量大于所述下游节点的数量,则基于所述第一结果数据及其类型进行二次分类,直至分类类型数量小于或者等于所述下游节点的数量。
5.根据权利要求3所述的一种任务数据处理的方法,其特征在于,根据各个所述第一结果数据的类型,若各个所述第一结果数据的类型数量大于所述下游节点的数量,则依次将所述下游节点拆分为预设数量的子节点,直至下游所有节点的数量大于或者等于各个所述第一结果数据的类型数量。
6.一种任务数据处理的系统,其特征在于,包括中心节点、上游节点和下游节点;
7.根据权利要求6所述的一种任务数据处理的系统,其特征在于,所述中心节点接收所述上游节点处理任务数据结束后发送的第一结果数据及其类型,之前包括:
8.根据权利要求6所述的一种任务数据处理的系统,其特征在于,根据所述第一结果数据的类型为下游节点设置对应的类型标签,包括:
9.根据权利要求8所述的一种任务数据处理的系统,其特征在于,根据各个所述第一结果数据的类型,若各个所述第一结果数据的类型数量大于所述下游节点的数量,则基于所述第一结果数据及其类型进行二次分类,直至分类类型数量小于或者等于所述下游节点的数量。
10.根据权利要求8所述的一种任务数据处理的系统,其特征在于,根据各个所述第一结果数据的类型,若各个所述第一结果数据的类型数量大于所述下游节点的数量,则依次将所述下游节点拆分为预设数量的子节点,直至下游所有节点的数量大于或者等于各个所述第一结果数据的类型数量。