掌桥专利:专业的专利平台
掌桥专利
首页

节点分组方法、装置和计算机可读存储介质

文献发布时间:2023-06-19 18:35:48


节点分组方法、装置和计算机可读存储介质

技术领域

本发明涉及数据处理技术领域,尤其涉及一种节点分组方法、装置和计算机可读存储介质。

背景技术

随着当前移动互联网和物联网的迅速发展,网络运维难度不断增加。目前在数据处理的过程中,通常是对网络各接口的信令进行采集解析,然后再进行处理。由于数据量过大,通常会进行多处理节点的分布式处理。相关技术中,一般是将数据按照不同的要求多次分发到不同的处理节点进行处理,而不同的处理节点可能分别设置在不同的处理节点组中。这使得在每一个处理节点处理完后,可能会需要再将数据发送至其他处理节点组中的处理节点进行处理,这种每次处理可能都需要将数据跨组传输的方式,占用了大量的计算资源。

发明内容

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例的主要目的在于提出一种节点分组方法、装置和计算机可读存储介质,使用该节点分组方法能够减少处理数据时的跨组分发次数,提高处理效率,减少资源的浪费。

第一方面,本发明实施例提供了一种节点分组方法,所述方法包括:

接收待处理数据的分发次序,所述分发次序用于表征多个处理节点先后接收到所述待处理数据的顺序;

根据所述分发次序确定任意两个所述处理节点之间的动态关联值,所述动态关联值用于表征任意两个所述处理节点先后接收所述待处理数据的概率;

根据所述动态关联值对所述处理节点进行分组。

第二方面,本发明实施例提供了一种节点分组装置,所述节点分组装置包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如上述第一方面所述的节点分组方法。

第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面的节点分组方法。

本发明实施例包括:首先接收待处理数据的分发次序,并根据分发次序确定任意两个处理节点之间的动态关联值,最后根据动态关联值对处理节点进行分组。其中,分发次序用于表征多个处理节点先后接收到待处理数据的顺序,动态关联值用于表征任意两个处理节点先后接收待处理数据的概率。根据本发明实施例提供的方案,通过获取处理数据的分发次序,再根据分发次序确定任意两个处理节点的动态关联值,最后根据动态关联值对各个处理节点进行分组。因此,在使用上述节点分组方法对各处理节点完成分组,能够使得在分发其他待处理数据至某处理节点,并处理完成后,有较大概率被继续分发至同一处理节点组内的其他处理节点来进行处理,减少处理数据时的跨组分发次数,避免了资源的浪费。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

图1是本发明一实施例提供的节点分组方法的流程图;

图2是本发明一实施例提供的节点分组方法的另一流程图;

图3是本发明一实施例提供的节点分组方法的另一流程图;

图4是本发明一实施例提供的节点分组方法的另一流程图;

图5是本发明一实施例提供的节点分组方法的另一流程图;

图6是本发明一实施例提供的节点分组方法的处理流程图;

图7是本发明一实施例提供的节点分组方法的另一处理流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,虽然在系统架构示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。

本发明提供了一种节点分组方法、装置和计算机可读存储介质,通过获取处理数据的分发次序,再根据分发次序确定任意两个处理节点的动态关联值,最后根据动态关联值对各个处理节点进行分组。因此,在使用上述节点分组方法对各处理节点完成分组,能够使得在分发其他待处理数据至某处理节点,并处理完成后,有较大概率被继续分发至同一处理节点组内的其他处理节点来进行处理,减少处理数据时的跨组分发次数,避免了资源的浪费。

下面结合附图,对本发明实施例作进一步阐述。

如图1所示,图1是本发明一实施例提供的节点分组方法的流程图,该节点分组方法包括但不限于有步骤S100、步骤S200和步骤S300。

步骤S100,接收待处理数据的分发次序,分发次序用于表征多个处理节点先后接收到待处理数据的顺序。

可以理解的是,在数据处理的过程中,由于数据量巨大,通常会进行多处理节点的分布式处理。即,依据实际情况中不同的维度或要求,多次将待处理数据先后分发到不同的处理节点以进行数据处理,其中各个处理节点具备相同的处理逻辑。在待处理数据进行分发后,多个处理节点会先后接收到待处理数据。因此,首先接收多个处理节点会先后接收到待处理数据的顺序,即接收待处理数据的分发次序。

需要说明的是,待处理数据可以是来自不同设备的数据,例如语音呼叫业务的交易记录等数据,又或者是来自其他地方的数据。只要是需要对数据进行多处理节点的分布式处理,均能够使用本方法来对多个处理节点进行分组,本发明不对节点分组方法的应用场景作具体限定。

步骤S200,根据分发次序确定任意两个处理节点之间的动态关联值,动态关联值用于表征任意两个处理节点先后接收待处理数据的概率。

可以理解的是,在获取了待处理数据的分发次序后,需要根据分发次序确定任意两个处理节点之间的动态关联值。本实施例中提出的动态关联值,用于表征任意两个处理节点先后接收到待处理数据的概率。具体的,若任意两个处理节点之间的动态关联值越大,则说明这两个处理节点之间的关联程度越大,待处理数据在其中一个处理节点中完成处理后,发送到另一个处理节点继续进行处理的可能性就越高,因此有必要将这两个处理节点分至同一处理节点组,以减少数据分发的次数,提高资源的利用率;若任意两个处理节点之间的动态关联值越小,则说明这两个处理节点之间的关联程度越小,待处理数据在其中一个处理节点中完成处理后,发送到另一个处理节点继续进行处理的可能性就越低,因此没有必要将这两个处理节点设置在同一处理节点组。

步骤S300,根据动态关联值对处理节点进行分组。

可以理解的是,在根据分发次序确定任意两个处理节点之间的动态关联值之后,需要根据动态关联值对各个处理节点进行分组,从而将关联程度大的处理节点设置在同一个处理节点组。具体的,当多个待处理数据均需要按照处理节点1、处理节点3、处理节点2的顺序进行分发处理,那么可以得出处理节点1和处理节点3先后接收到待处理数据的概率大于处理节点1和处理节点2先后接收到待处理数据的概率,因此,对于处理节点1、处理节点2以及处理节点3来说,需要将处理节点1和处理节点3分至同一处理节点组。在后续需要进行其他待处理数据的分发处理时,由于待处理数据在处理节点1完成相应处理后,需要发送的下一个处理节点有较大概率是处理节点3,而处理节点1与处理节点3在同一处理节点组中,因此在处理节点1完成处理后,可以直接发送至距离较近的处理节点3,以使得待处理数据在关联紧密的处理节点组中合并处理,减少了跨组发送数据的次数,避免了资源的浪费,从而提高系统的整体性能。

需要说明的是,在根据分发次序确定任意两个处理节点之间的动态关联值之后,由于当前收集到的待处理数据的分发次序还不够多,对各个处理节点之间的动态关联值的判断还不够准确,因此会预先设置有一个周期,在此预设周期内收集到足够多的分发次序并获得对应的动态关联值,在每间隔一个预设周期后,再根据已获取的动态关联值对处理节点进行分组,以使得在大量数据的前提下确定各个处理节点之间的动态关联值,以保证数据的有效分发,避免由于样本数量过少导致的节点分组后跨组发送数据的次数的提高。

如图2所示,图2是本发明一实施例提供的节点分组方法的另一流程图。可以理解的是,图1所示的实施例中的步骤S200,包括但不限于有步骤S210和步骤S220。

步骤S210,根据分发次序得到多个节点关联值,节点关联值用于表征多个时间段内在分发次序中任意两个处理节点处于相邻分发关系的次数。

可以理解的是,在得到动态关联值之前,需要先根据分发次序得到节点关联值。本实施例中提出的节点关联值,用于表征多个时间段内在分发次序中任意两个处理节点处于相邻分发关系的次数。多个节点关联值共同组成节点关联值数组A

需要说明的是,本实施例中提出的多个时间段内任意两个处理节点处于相邻分发关系的次数,可以是一天内的总次数,也可以是一个小时内的总次数,只需要获取在设定的时间段内任意两个处理节点处于相邻分发关系的次数,即可为后续得出动态关联值做好基础。本发明不对时间段的范围做具体限定。

步骤S220,对节点关联值进行时间加权处理,得到动态关联值。

可以理解的是,由于节点关联值数组中包括有任意两个处理节点在多个时间段内的节点关联值,由于数据具有时效性,时间段越早的节点关联值对这两个处理节点之间关联程度的影响可能会越低,因此,需要为不同的时间段设置不同的权重大小,将多个不同时间段的节点关联值结合起来计算动态关联值,即,对节点关联值进行时间加权处理。在经过时间加权处理得到的动态关联值,能够更显著地说明两处理节点先后接收到待处理数据的概率,从而更合理地对各个处理节点进行分组,以减少数据分发的次数,避免资源的浪费。

如图3所示,图3是本发明一实施例提供的节点分组方法的另一流程图。可以理解的是,在图2所示的实施例中,步骤S210包括但不限于有步骤S211和步骤S212。

步骤S211,根据分发次序确定相邻节点信息,相邻节点信息用于表征在分发次序中任意两个处于相邻分发关系的处理节点的信息。

可以理解的是,本实施例中提到的相邻节点信息,指的是在分发次序中任意两个处于相邻分发关系的处理节点的信息。例如,在某次数据分发的分发次序中,当待处理数据在处理节点1处理完成后,紧接着将待处理数据发送到了处理节点2中处理;在另一次数据分发的分发次序中,在处理节点1处理完成后,紧接着将待处理数据发送到处理节点3中处理。那么,在这一时间段内,处理节点1的相邻节点为处理节点2和处理节点3。在本实施例中,根据分发次序确定相邻节点信息,即获取处理节点2和处理节点3的节点信息。

需要说明的是,每一个分发次序均是在一次数据处理过程中多个处理节点先后接收到所述待处理数据的顺序,而在实际的应用场景中,会存在有多次数据处理的过程,因此相应的也会有多个分发次序。在每一个分发次序中,由于各个处理节点的处理逻辑相同,当在处理节点1处理完成后,下一步都有可能会将数据发送至其他任意一个处理节点中进行处理。因此,需要根据分发次序确定相邻节点的信息,从而判断处理节点1与其他处理节点之间的节点关联值,进而判断两处理节点先后接收到待处理数据的概率,以使得对各个处理节点进行更高效的分组。

步骤S212,根据相邻节点信息对预设的节点初始关联值进行迭代处理,得到节点关联值。

可以理解的是,在本实施例中将节点初始关联值设置为空,即,将节点初始关联值设置为0。随着待处理数据的增加,每完成一次数据分发之后,可能都会得到不一样的分发次序。将处理节点1与处理节点2之间的节点关联值定义为d

需要说明的是,本发明中的提出的接收待处理数据的分发次序,可以是实时性地接收待处理数据的分发次序,即,每当有任意两个处理节点先后接收到待处理数据后,实时获取这两个处理节点的信息,从而进行迭代处理;也可以是在完成一整次的数据分发后,再获取整个分发次序,从而确定相邻节点信息,进而对预设的节点初始关联值进行迭代处理;此外,还可以周期性地获取多个数据的分发次序,统一进行迭代处理。实时接收待处理数据的分发次序和周期性地接收待处理数据的分发次序,均能够实现获取待处理数据分发次序的目的,从而根据分发次序获得动态关联值,进而依据动态关联值对所有处理节点进行分组。本发明不对接收待处理数据的分发次序的详细步骤做具体限定。

如图4所示,图4是本发明一实施例提供的节点分组方法的另一流程图。可以理解的是,图2所示的实施例中的步骤S220,包括但不限于有步骤S221、步骤S222、步骤S223以及步骤S224。

步骤S221,获得多个节点关联值以及节点关联值对应的时间段。

步骤S222,根据节点关联值对应的时间段,确定节点关联值对应的权重。

步骤S223,根据权重与节点关联值的乘积得到时间段对应的加权值。

步骤S224,将多个加权值进行求和处理,得到动态关联值。

需要说明的是,动态关联值的计算需要经过如下所示的公式:

V

其中,V

可以理解的是,在对节点关联值进行时间加权处理的过程中,首先需要执行步骤S221,获得多个节点关联值以及节点关联值对应的时间段。由于数据的分发处理在每时每刻都有可能在进行中,因此需要划分出多个时间段,然后再分别针对每一个时间段,计算该时间段对应的任意两个处理节点之间的节点关联值。在得到多个节点关联值以及节点关联值对应的时间段之后,执行步骤S222,根据节点关联值对应的时间段,确定节点关联值对应的权重。由于数据的时效性,时间段越早的节点关联值对这两个处理节点之间关联程度的影响可能会越低,而越接近当前时间节点的时间段,其对应的节点关联值对两处理节点之间的关联程度影响就越高。因此,需要为不同的时间段设置不同的权重大小,将多个不同时间段的节点关联值结合起来计算动态关联值。在本实施例中,v

需要说明的是,根据动态关联值对处理节点进行分组,是指将多个动态关联值依据由大到小的顺序进行分组。其中,动态关联值越大,则动态关联值对应的两个处理节点的关联程度越高,在动态关联值对应的第一个所述处理节点将待处理数据处理完成后,动态关联值对应的第二个处理节点会接收到待处理数据的可能性就越大,因此有必要将这两个处理节点分至同一处理节点组;动态关联值越小,则动态关联值对应的两个处理节点的关联程度越低,在动态关联值对应的第一个所述处理节点将待处理数据处理完成后,动态关联值对应的第二个处理节点会接收到待处理数据的可能性就越小,因此没有必要将这两个处理节点分至同一处理节点组。即,动态关联值与动态关联值对应的两个处理节点先后接收待处理数据的概率成正比。

如图5所示,图5是本发明一实施例提供的节点分组方法的另一流程图。可以理解的是,图1所示的实施例中的节点分组方法,还包括步骤S410以及步骤S420。

步骤S410,确定节点关联值中已超出预设周期的时间段。

步骤S420,删除已超出预设周期的时间段对应的处理节点处于相邻分发关系的次数。

可以理解的是,数据具有时效性,而距离当前时间节点越远的时间段,其对两处理节点之间的关联程度影响可能就越低,甚至为零。因此,为了避免使用无效数据来进行动态关联值的计算,需要将无效数据删除。为此,首先需要执行步骤S410,确定节点关联值中已超出预设周期的时间段。

可以理解的是,节点关联值数组中的每一个元素均包括有对应的两个处理节点在多个时间段下节点关联值。假设预设周期为五天,那么节点关联值数组中只需要存储当天以及前四天的节点关联值,即可进行动态关联值的计算。因此,当节点关联值数组中存储有当天之前的第五天对应的节点关联值,则将第五天判定为已超出预设周期的时间段。然后执行步骤S420,将第五天对应的处理节点处于相邻分发关系的次数删除,即删除在当天之前第五天对应的所有节点关联值,以避免造成计算资源的浪费。

下面将结合附图对本发明的具体实施例进行进一步阐述。

如图6和图7所示,图6是本发明一实施例提供的节点分组方法的处理流程图,图7是本发明一实施例提供的节点分组方法的另一处理流程图。为了便于理解本发明是具体实施流程,本实施例中提出了分发单元、关联分析单元以及处理单元,其中,分发单元用于根据实际的维度或要求,将待处理数据先后分发至处理单元中的不同的处理节点;处理单元中含有多个处理节点组,每个处理节点组中包括有若干处理节点;关联分析单元用于根据待处理数据的分发次序获得动态关联值,从而对处理单元中的处理节点进行分组。

参照图6,可以理解的是,在实际处理数据的过程中,由于数据量很大,网络运维的难度提高,因此处理数据时需要按照不同的维度或要求来将待处理数据分发至不同的处理节点进行处理(下文中将这种不同的维度或要求定义为分发键值)。在本实施例中,设置有k

需要说明的是,在每按照一个分发键值完成数据分发后,处理单元都需要判断此时是否已经按照所有分发键值将数据分发完毕。若已分发完毕,则结束此次的数据分发;若还未分发完毕,则进行下一步判断:判断下一个分发键值对应的处理节点与本次的分发键值对应的处理节点是否位于同一处理节点组。若在同一处理节点组,则直接在该处理节点组内进行下一步骤的处理;若下一个分发键值对应的处理节点在另一处理节点组,则需要将这一信息反馈至分发单元,分发单元再依据下一个分发键值进行数据的分发。

可以理解的是,由于预设周期为三天,其中将每一天设置为一个时间段,而在每个时间段内都会进行大量的数据分发处理,因此,随着数据量的增加,节点关联值数组的内容也会不断更新。此时假设,在经过了三天,即经历了一个完整的预设周期后,关联分析单元得到节点关联值数组A

d

d

d

d

d

d

根据计算结果可以得知,处理节点1与处理节点2之间的动态关联值为13,处理节点1与处理节点3之间的动态关联值为26.25,处理节点1与处理节点4之间的动态关联值为14.75,处理节点2与处理节点3之间的动态关联值为4.25,处理节点2与处理节点4之间的动态关联值为11.25,处理节点3与处理节点4之间的动态关联值为6。其中,数值最大的动态关联值对应的两个处理节点分别是处理节点1和处理节点3,因此,参照图7,将处理节点1和处理节点3分至同一处理节点组,将处理节点2和处理节点4分至另一处理节点组。在关联分析单元完成对处理单元中各个处理节点的分组后,若分发单元需要进行新的数据分发,此时根据已积累的经验,数据在处理节点1处理完成后,下一个处理节点会有较大的概率是处理节点3,因此可以直接在同一处理节点组中进行处理,无需将数据进行跨组分发。在如图6和图7所示的实施例中,通过本发明提出的节点分组方法来对各个处理节点进行分组,以使得待处理数据在关联紧密的处理节点组中合并处理,减少了跨组发送数据的次数,避免了资源的浪费,从而提高系统的整体性能。

需要说明的是,在每个预设周期中,关联分析单元都会不断获取在本次预设周期内任意两个处理节点之间的节点关联值,并在经历了一个完整的预设周期后,根据已接收到的节点关联值,计算得出在本次预设周期内任意两个处理节点之间的动态关联值,并据此对处理节点进行分组。在周期性地对处理节点进行分组的情况下,能够使得待处理数据在关联紧密的处理节点组中合并处理,保证分组的有效性,减少了跨组发送数据的次数,提高了系统的整体性能,避免了资源的浪费。

另外,本发明的另一个实施例还提供了一种节点分组装置,该节点分组装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。

处理器和存储器可以通过数据总线或者其他方式连接。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现上述实施例的节点分组方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的节点分组方法,例如,执行以上描述的图1中的方法步骤S100至S300、图2中的方法步骤S210至S220、图3中的方法步骤S211至S212、图4中的方法步骤S221至S224以及图5中的方法步骤S410至S420。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述节点分组装置实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的节点分组方法,例如,执行以上描述的图1中的方法步骤S100至S300、图2中的方法步骤S210至S220、图3中的方法步骤S211至S212、图4中的方法步骤S221至S224以及图5中的方法步骤S410至S420。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

相关技术
  • 人员分组方法、装置、电子装置及计算机可读存储介质
  • 节点信息的修改方法、装置及计算机可读存储介质
  • 无线访问节点的筛查方法、装置及计算机可读存储介质
  • 分层存储方法、分层存储装置及计算机可读存储介质
  • 段码液晶屏检测方法及装置、计算机装置及计算机可读存储介质
  • 一种基于分组的数据库处理方法、装置、计算机装置及计算机可读存储介质
  • 数据分组方法、装置、计算机设备及计算机可读存储介质
技术分类

06120115627540