CN105656976A - 集群***的信息推送方法及装置 - Google Patents
集群***的信息推送方法及装置 Download PDFInfo
- Publication number
- CN105656976A CN105656976A CN201410718674.5A CN201410718674A CN105656976A CN 105656976 A CN105656976 A CN 105656976A CN 201410718674 A CN201410718674 A CN 201410718674A CN 105656976 A CN105656976 A CN 105656976A
- Authority
- CN
- China
- Prior art keywords
- transmission
- node
- value
- total value
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种集群***的信息推送方法及装置,所述方法包括:根据集群***中两两节点之间的传输值生成所有节点之间的传输值矩阵;对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定传输总值最大的节点,直至所述传输值矩阵的每一行的传输总值为0;将确定的节点作为目标节点;将待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。本发明实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
Description
技术领域
本发明涉及到计算机技术领域,特别涉及到集群***的信息推送方法及装置。
背景技术
随着网络技术的不断发展,网络逐渐融入人们的日常生活、工作当中,例如,一个公司构建的本地局域网架构或一个运营服务商构建的网络集群***等。在网络集群***中,包括多个节点,这些节点有的能相互通信,有的无法相互通信,若集群服务器要将信息推送到该集群***中的所有节点,则需要从集群***的节点中选择一些节点,并通过这些节点将服务器需要推送的信息推送至集群中的所有节点。
目前,选择节点完成信息推送的方式为:随机从集群***的节点中选择一部分节点,并通过选择的这部分节点完成信息推送的过程。然而,这种方式下,选择的节点存在不能与其他节点相互通信的节点,导致无法保证信息推送至集群***的所有节点,使得集群***信息推送的效率偏低。
发明内容
本发明实施例提供一种集群***的信息推送方法及装置,旨在解决无法保证信息推送至集群***的所有节点,使得集群***信息推送的效率偏低的问题。
本发明实施例提出一种集群***的信息推送方法,包括步骤:
获取待推送信息及集群***中两两节点之间的传输值,并根据所述传输值生成所有节点之间的传输值矩阵;
对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至每一行的传输总值为0;
将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
将所述待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。
本发明实施例还提出一种集群***的信息推送装置,包括:
获取模块,用于获取待推送信息及集群***中两两节点之间的传输值;
生成模块,用于根据所述传输值生成所有节点之间的传输值矩阵;
确定模块,用于对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至所述传输值矩阵的每一行的传输总值为0;
处理模块,用于将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
推送模块,用于将所述待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。
本发明实施例通过构建集群***中所有节点的传输值矩阵,并根据传输值矩阵中每一行的传输总值选择传输总值为0以及传输总值最大所在行分别对应的节点作为目标节点,并通过目标节点完成集群***信息的推送。实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
附图说明
图1为本发明集群***的信息推送装置所在终端的硬件结构示意图;
图2为本发明集群***的信息推送方法的第一实施例的流程示意图;
图3为图1中步骤S10的细化流程示意图;
图4为图1中步骤S30一实施例的细化流程示意图;
图5为本发明集群***的信息推送方法的第二实施例的流程示意图;
图6为本发明集群***的信息推送装置的较佳实施例的功能模块示意图;
图7为图6中确定模块的细化功能模块示意图;
图8为图6中获取模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:获取待推送信息及集群***中两两节点之间的传输值,并根据所述传输值生成所有节点之间的传输值矩阵;对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至每一行的传输总值为0;将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;将所述待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。通过构建集群***中所有节点的传输值矩阵,并根据传输值矩阵中每一行的传输总值选择传输总值为0以及传输总值最大所在行分别对应的节点作为目标节点,并通过目标节点完成集群***信息的推送。实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
由于现有的集群***中节点的选择都是通过随机的方式选择部分节点,并通过随机选择的部分节点完成信推送的过程。然而,随机选择的节点存在不能与其他节点相互通信的节点,导致无法保证信息推送至集群***的所有节点,使得集群***信息推送的效率偏低。
基于上述问题,本发明实施例架构一集群***的信息推送装置,该集群***的信息推送装置构建集群***中所有节点的传输值矩阵,并根据传输值矩阵中每一行的传输总值选择传输总值为0以及传输总值最大所在行分别对应的节点作为目标节点,并通过目标节点完成集群***信息的推送。实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
其中,本实施例集群***的信息推送装置可以承载于PC端,也可以承载于手机、平板电脑等可以使用游戏等网络应用的移动终端。该集群***的信息推送装置的硬件架构可以如图1所示。
图1为本发明实施例中集群***的信息推送装置所在终端的总线图。该终端可以包括:至少一个处理器301,例如CPU,至少一个网络接口304,用户接口303,存储器305,至少一个通信总线302。其中,通信总线302用于实现这些组件之间的连接通信。其中,用户接口303可以包括显示屏(Display)、键盘(Keyboard),还可以包括标准的有线接口、无线接口。网络接口304可以包括标准的有线接口、无线接口(如无线网络接口)。存储器305可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器305还可以是至少一个位于远离前述处理器301的存储装置。作为一种计算机存储介质的存储器305中可以包括操作***、网络通信模块、用户接口模块以及集群***的信息推送程序。
在图1所示的集群***的信息推送装置所在终端中,网络接口304主要用于连接服务器,与服务器进行数据通信;而用户接口303主要用于接收用户指令,并与用户进行交互;而处理器301可以用于调用存储器305中存储的集群***的信息推送程序,并执行以下操作:
获取待推送信息及集群***中两两节点之间的传输值,并根据所述传输值生成所有节点之间的传输值矩阵;
对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至每一行的传输总值为0;
将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
将所述待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。
在一个实施例中,处理器301调用存储器305中存储的集群***的信息推送程序还可以执行以下操作:
在所述传输矩阵的每一行的传输总值不为0时,将传输总值最大行的传输值分别与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,根据每一行的计算结果得到当前的传输值矩阵;
对所述当前传输值矩阵中每一行的所有传输值进行求和得到每一行的传输总值,确定新的传输值最大所在行对应的节点;
将传输值最大行的传输值分别与所述当前传输矩阵的每一行对应的传输值按照预设公式进行计算,得到新的当前传输值矩阵,直至所述当前传输矩阵的每一行的传输总值为0。
在一个实施例中,处理器301调用存储器305中存储的集群***的信息推送程序还可以执行以下操作:
获取集群***中两两节点之间的传输时间;
在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0;
在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1。
在一个实施例中,处理器301调用存储器305中存储的集群***的信息推送程序还可以执行以下操作:
所述预设公式为Fcal(a,b)=y,其中,a为传输值最大行的传输值,b为传输矩阵中每一行的传输值,在a=0,b=1时,y=1。
在一个实施例中,处理器301调用存储器305中存储的集群***的信息推送程序还可以执行以下操作:
从得到的每一行的传输总值中确定传输总值最大所在行对应的节点的数量;
在传输总值最大所在行对应的节点为多个时,从所述传输总值最大所在行对应的节点中随机选择一个节点作为最终传输总值最大所在行对应的节点。
在一个实施例中,处理器301调用存储器305中存储的集群***的信息推送程序还可以执行以下操作:
将最后确定的传输总值最大所在行对应的节点丢弃;
从所确定的节点中将除所述丢弃节点之外的其他节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点。
本实施例通过上述方案,构建集群***中所有节点的传输值矩阵,并根据传输值矩阵中每一行的传输总值选择传输总值为0以及传输总值最大所在行分别对应的节点作为目标节点,并通过目标节点完成集群***信息的推送。实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
基于上述集群***的信息推送装置所涉及的硬件架构,提出本发明集群***的信息推送方法实施例。
如图2所示,图2为本发明集群***的信息推送方法的第一实施例的流程图。本实施例提到的集群***的信息推送方法包括以下步骤:
步骤S10,获取集群***中两两节点之间的传输值,并根据所述传输值生成所有节点之间的传输值矩阵;
所述两两节点之间的传输值根据所述两两节点之间的传输时间值来确定。参考图3,所述获取两两节点之间的传输至的过程可以包括:
步骤S11,获取集群***中两两节点之间的传输时间;所述获取集群***中两两节点之间的传输时间的过程包括:选择一个节点,并建立该节点与集群中所有节点的连接,然后双向传输一个测试文件,记录测试文件的传输时间,例如,在a节点和b节点之间创建连接,从a节点传输测试文件至b节点,并将测试文件从b节点传输至a节点,记录测试文件的传输时间,Tab,为测试文件从a节点传输至b节点的传输时间,和Tba为测试文件从b节点传输至a节点的传输时间,将Tab作为节点a和节点b之间的传输时间或者将节点Tba作为节点a和节点b之间的传输时间。为了保证获取的节点之间传输时间的准确性,可以是计算(Tab+Tba)/2=T,将得到的时间T作为节点a和节点b之间的传输时间。
步骤S12,在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0;
步骤S13,在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1。
提前设置一个连通传输时间阈值,所述预设时间阈值可以是20ms、30ms或40ms等根据节点与节点之间连通信息成功传送的传输时间设定。在获取到两两节点之间的传输时间后,将获取到的传输时间与所述预设时间阈值比对,在两两节点之间的传输时间不大于所述预设时间阈值时,判定传输时间不大于所述预设时间阈值的所述两两节点之间连通,在两两节点之间的传输时间大于所述预设时间阈值时,判定传输时间大于所述预设时间阈值的所述两两节点之间不连通。在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0,即传输值为0时,代表该两两节点之间能够连通,能够传送数据;在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1,即传输值为1时,代表该两两节点之间不能够连通,无法传送数据。
在获取到集群***中所有节点之间的传输值后,根据所获取的传输值生成所有节点之间的传输值矩阵。例如,在集群***中包括节点0、节点1、节点2、节点3、节点4和节点5。参考表1,根据节点与节点之间的传输值构建一个该集群***中所有节点之间的传输值矩阵。所述传输值矩阵为对称矩阵。
节点0 | 节点1 | 节点2 | 节点3 | 节点4 | |
节点0 | 0 | 1 | 1 | 1 | 0 |
节点1 | 1 | 0 | 1 | 1 | 0 |
节点2 | 1 | 1 | 0 | 0 | 0 |
节点3 | 1 | 1 | 0 | 0 | 0 |
节点4 | 0 | 0 | 0 | 0 | 0 |
表1
步骤S20,对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
参考表1,对所述传输值矩阵中每一行的所有传输求和,得到每一行的传输总值,例如,节点0所在的行的传输总值为:0+1+1+1+1+0=3,节点1所在的行的传输总值为:1+0+1+1+0=3,节点2所在的行的传输总值为:1+1+0+0+0=2,节点3所在的行的传输总值为:1+1+0+0+0=2,节点4所在的行的传输总值为:0+0+0+0+0=0。确定节点4为传输总值为0的节点,即节点4不与集群***中的其他节点相互连通,为孤立的节点,节点0和节点1为传输总值最大所在行对应的节点,即节点0和节点1与集群***相互连通的节点的个数相同。存在两个节点的传输总值为最大,则从节点0和节点1中随机选择一个节点作为最终传输总值最大所在行对应的节点,例如,选择节点0作为传输总值最大所在行对应的节点,或者选择节点1作为传输总值最大所在行对应的节点。在本实施例优选为选择节点0作为传输总值最大所在行对应的节点。
步骤S30,根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至所述传输值矩阵的每一行的传输总值为0;
提前设置一公式,所述预设公式可以是Fcal(a,b)=y,其中,a为传输值最大行的传输值,b为传输矩阵中每一行的传输值,在a=0,b=1时,y=1,在a,b为其他值时,y均为0。
进一步地,参考图4,所述根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定传输总值最大的节点,直至所述传输值矩阵的每一行的传输总值为0的过程可以是:
步骤S31,在所述传输矩阵的每一行的传输总值不为0时,将传输总值最大行的传输值分别与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,根据每一行的计算结果得到当前的传输值矩阵;
参考表1,确定的传输值最大行为节点0所在的行,在所述传输矩阵的每一行的传输总值不为0时,将节点0所在的行的传输值与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,即将节点0所在的行的传输值(0,1,1,1,0)与传输矩阵中节点0所在的行、节点1所在的行、节点2所在的行、节点3所在的行、节点4所在的行对应的传输值按照Fcal(a,b)=y进行计算,例如,在节点0所在的行的传输值与节点1所在的行对应的传输值按照所述预设公式计算后得到的值分别为(1,0,0,0,0),节点0所在的行的传输值与节点2所在的行对应的传输值按照所述预设公式计算后得到的值分别为(1,0,0,0,0),根据每一行的计算结果得到当前的传输值矩阵参考表2。
节点0 | 节点1 | 节点2 | 节点3 | 节点4 | |
节点0 | 0 | 0 | 0 | 0 | 0 |
节点1 | 1 | 0 | 0 | 0 | 0 |
节点2 | 1 | 0 | 0 | 0 | 0 |
节点3 | 1 | 0 | 0 | 0 | 0 |
节点4 | 0 | 0 | 0 | 0 | 0 |
表2
步骤S32,对所述当前传输值矩阵中每一行的所有传输值进行求和得到每一行的传输总值,确定传输值最大所在行对应的节点;参考表2中的传输值矩阵,得到每一行的传输总值分别为0,1,1,1,0。其中,节点1,节点2和节点3的所在的行的传输总值最大均为1,则随机选择节点1为传输总值最大所在行对应的节点。
步骤S33,将传输值最大行的传输值分别与所述当前传输矩阵的每一行对应的传输值按照预设公式进行计算,得到新的当前传输值矩阵,直至所述当前传输矩阵的每一行的传输总值为0。
按照步骤S31中的过程,得到新的当前传输值矩阵,如表3所示。
节点0 | 节点1 | 节点2 | 节点3 | 节点4 | |
节点0 | 0 | 0 | 0 | 0 | 0 |
节点1 | 0 | 0 | 0 | 0 | 0 |
节点2 | 0 | 0 | 0 | 0 | 0 |
节点3 | 0 | 0 | 0 | 0 | 0 |
节点4 | 0 | 0 | 0 | 0 | 0 |
表3
参考表3,所述当前传输值矩阵的每一行的传输总值均为0,确定的节点包括节点0、节点4和节点1。其中,节点4为孤立的点不与集群***中其他节点连通,节点0和节点4与集群***中连通的节点的个数最多。
步骤S40,将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
步骤S50,获取待推送的信息,并将所述信息推送至确定的目标节点,通过确定的目标节点将所述信息推送至其他节点。
将节点0、节点1和节点4作为目标节点,集群服务将信息先推送给节点1、节点4和节点0,再由节点1和节点0将所述信息推送给节点2和节点3,以完成信息推送至整个集群***的目的。在本发明其他实施例中,也还可以是按照列的方式去确定目标节点,过程与上述按照行的方式相同,在此不再一一赘述。
本发明实施例通过构建集群***中所有节点的传输值矩阵,并根据传输值矩阵中每一行的传输总值选择传输总值为0以及传输总值最大的节点作为目标节点,并通过目标节点完成集群***信息的推送。实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
进一步地,基于上述集群***的信息推送方法的第一实施例,提出本发明的第二实施例。如图5所示,所述步骤S40可以包括:
步骤S41,将最后确定的传输总值最大所在行对应的节点丢弃;
例如,参考表1、表2和表3,最后确定的传输总值最大所在行对应的节点为节点1,将节点1丢弃,即不选择节点1作为信息传送载体的节点。
步骤S42,从所确定的节点中将除所述丢弃节点之外的其他节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点。
从所确定的节点0、节点1和节点4中,除去节点1之外,将节点0和节点4选择确定出来,作为目标节点,当然选择的节点包括传输总值为0的节点4和传输总值最大所在行对应的节点0,集群***的服务器将信息推送至节点0和节点4,因节点0分别与节点1、节点2和节点3连通,在节点0接收到集群服务器推送的信息后由节点0将所述信息推送至节点1、节点2和节点3,实现将所述信息推送至集群中所有节点的目的。
本发明实施例在传输值矩阵的每一行的传输总值为0时,将最后确定的传输总值最大所在行对应的节点丢弃。在保证将服务器推送的信息推送至集群***中所有节点的同时,选择最少的节点,进而降低了***资源,提高***性能,保证集群***的高效运行。
对应的提出本发明集群***的信息推送装置的较佳实施例。如图6所示,所述装置包括:获取模块10,生成模块20、确定模块30、处理模块40及推送模块50。
所述获取模块10,用于获取待推送信息及集群***中两两节点之间的传输值;
所述生成模块20,用于根据所述传输值生成所有节点之间的传输值矩阵;
获取待推送信息,并获取集群***中两两节点之间的传输值。
所述两两节点之间的传输值根据所述两两节点之间的传输时间值来确定。参考图7,所述获取模块10包括获取单元11和判定单元12,
所述获取单元11,用于获取集群***中两两节点之间的传输时间;所述获取集群***中两两节点之间的传输时间的过程包括:选择一个节点,并建立该节点与集群中所有节点的连接,然后双向传输一个测试文件,记录测试文件的传输时间,例如,在a节点和b节点之间创建连接,从a节点传输测试文件至b节点,并将测试文件从b节点传输至a节点,记录测试文件的传输时间,Tab,为测试文件从a节点传输至b节点的传输时间,和Tba为测试文件从b节点传输至a节点的传输时间,将Tab作为节点a和节点b之间的传输时间或者将节点Tba作为节点a和节点b之间的传输时间。为了保证获取的节点之间传输时间的准确性,可以是计算(Tab+Tba)/2=T,将得到的时间T作为节点a和节点b之间的传输时间。
所述判定单元12,用于在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0;在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1。
提前设置一个连通传输时间阈值,所述预设时间阈值可以是20ms、30ms或40ms等根据节点与节点之间连通信息成功传送的传输时间设定。在获取到两两节点之间的传输时间后,将获取到的传输时间与所述预设时间阈值比对,在两两节点之间的传输时间不大于所述预设时间阈值时,判定传输时间不大于所述预设时间阈值的所述两两节点之间连通,在两两节点之间的传输时间大于所述预设时间阈值时,判定传输时间大于所述预设时间阈值的所述两两节点之间不连通。在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0,即传输值为0时,代表该两两节点之间能够连通,能够传送数据;在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1,即传输值为1时,代表该两两节点之间不能够连通,无法传送数据。
在获取到集群***中所有节点之间的传输值后,根据所获取的传输值生成所有节点之间的传输值矩阵。例如,在集群***中包括节点0、节点1、节点2、节点3、节点4和节点5。参考表1,根据节点与节点之间的传输值构建一个该集群***中所有节点之间的传输值矩阵。所述传输值矩阵为对称矩阵。
所述确定模块30,用于对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
参考表1,对所述传输值矩阵中每一行的所有传输求和,得到每一行的传输总值,例如,节点0所在的行的传输总值为:0+1+1+1+1+0=3,节点1所在的行的传输总值为:1+0+1+1+0=3,节点2所在的行的传输总值为:1+1+0+0+0=2,节点3所在的行的传输总值为:1+1+0+0+0=2,节点4所在的行的传输总值为:0+0+0+0+0=0。确定节点4为传输总值为0的节点,即节点4不与集群***中的其他节点相互连通,为孤立的节点,节点0和节点1为传输总值最大所在行对应的节点,即节点0和节点1与集群***相互连通的节点的个数相同。存在两个节点的传输总值为最大,则从节点0和节点1中随机选择一个节点作为最终传输总值最大所在行对应的节点,例如,选择节点0作为传输总值最大所在行对应的节点,或者选择节点1作为传输总值最大所在行对应的节点。在本实施例优选为选择节点0作为传输总值最大所在行对应的节点。
所述确定模块30,还用于根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至所述传输值矩阵的每一行的传输总值为0;
提前设置一公式,所述预设公式可以是Fcal(a,b)=y,其中,a为传输值最大行的传输值,b为传输矩阵中每一行的传输值,在a=0,b=1时,y=1,在a,b为其他值时,y均为0。
进一步地,参考图8,所述确定模块30包括计算单元31和确定单元32,
所述计算单元31,用于在所述传输矩阵的每一行的传输总值不为0时,将传输总值最大行的传输值分别与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,根据每一行的计算结果得到当前的传输值矩阵;
参考表1,确定的传输值最大行为节点0所在的行,在所述传输矩阵的每一行的传输总值不为0时,将节点0所在的行的传输值与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,即将节点0所在的行的传输值(0,1,1,1,0)与传输矩阵中节点0所在的行、节点1所在的行、节点2所在的行、节点3所在的行、节点4所在的行对应的传输值按照Fcal(a,b)=y进行计算,例如,在节点0所在的行的传输值与节点1所在的行对应的传输值按照所述预设公式计算后得到的值分别为(1,0,0,0,0),节点0所在的行的传输值与节点2所在的行对应的传输值按照所述预设公式计算后得到的值分别为(1,0,0,0,0),根据每一行的计算结果得到当前的传输值矩阵参考表2。
所述确定模块32,用于对所述当前传输值矩阵中每一行的所有传输值进行求和得到每一行的传输总值,确定传输值最大所在行对应的节点;参考表2中的传输值矩阵,得到每一行的传输总值分别为0,1,1,1,0。其中,节点1,节点2和节点3的所在的行的传输总值最大均为1,则随机选择节点1为传输总值最大所在行对应的节点。
所述计算单元31,还用于将传输值最大行的传输值分别与所述当前传输矩阵的每一行对应的传输值按照预设公式进行计算,得到新的当前传输值矩阵,直至所述当前传输矩阵的每一行的传输总值为0。
所述计算模块31通过将传输值最大行的传输值分别与所述当前传输矩阵的每一行对应的传输值按照预设公式进行计算,得到新的当前传输值矩阵,如表3所示。
参考表3,所述当前传输值矩阵的每一行的传输总值均为0,确定的节点包括节点0、节点4和节点1。其中,节点4为孤立的点不与集群***中其他节点连通,节点0和节点4与集群***中连通的节点的个数最多。
所述处理模块40,用于将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
所述推送模块50,用于获取待推送的信息,并将所述信息推送至确定的目标节点,通过确定的目标节点将所述信息推送至其他节点。
将节点0、节点1和节点4作为目标节点,集群服务将信息先推送给节点1、节点4和节点0,再由节点1和节点0将所述信息推送给节点2和节点3,以完成信息推送至整个集群***的目的。在本发明其他实施例中,也还可以是按照列的方式去确定目标节点,过程与上述按照行的方式相同,在此不再一一赘述。
本发明实施例通过构建集群***中所有节点的传输值矩阵,并根据传输值矩阵中每一行的传输总值选择传输总值为0以及传输总值最大的节点作为目标节点,并通过目标节点完成集群***信息的推送。实现保证信息推送至集群***的所有节点,提高集群***信息推送的效率。
进一步地,所述处理模块40,还用于将最后确定的传输总值最大所在行对应的节点丢弃;
例如,参考表1、表2和表3,最后确定的传输总值最大所在行对应的节点为节点1,将节点1丢弃,即不选择节点1作为信息传送载体的节点。
所述处理模块40,还用于从所确定的节点中将除所述丢弃节点之外的其他节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点。
从所确定的节点0、节点1和节点4中,除去节点1之外,将节点0和节点4选择确定出来,作为目标节点,当然选择的节点包括传输总值为0的节点4和传输总值最大的节点0,集群***的服务器将信息推送至节点0和节点4,因节点0分别与节点1、节点2和节点3连通,在节点0接收到集群服务器推送的信息后由节点0将所述信息推送至节点1、节点2和节点3,实现将所述信息推送至集群中所有节点的目的。
本发明实施例在传输值矩阵的每一行的传输总值为0时,将最后确定的传输总值最大所在行对应的节点丢弃。在保证将服务器推送的信息推送至集群***中所有节点的同时,选择最少的节点,进而降低了***资源,提高***性能,保证集群***的高效运行。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种集群***的信息推送方法,其特征在于,包括步骤:
获取待推送信息及集群***中两两节点之间的传输值,并根据所述传输值生成所有节点之间的传输值矩阵;
对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至每一行的传输总值为0;
将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
将所述待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。
2.如权利要求1所述的集群***的信息推送方法,其特征在于,所述根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大的节点,直至每一行的传输总值为0的步骤包括:
在所述传输矩阵的每一行的传输总值不为0时,将传输总值最大行的传输值分别与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,根据每一行的计算结果得到当前的传输值矩阵;
对所述当前传输值矩阵中每一行的所有传输值进行求和得到每一行的传输总值,确定新的传输值最大所在行对应的节点;
将传输值最大行的传输值分别与所述当前传输矩阵的每一行对应的传输值按照预设公式进行计算,得到新的当前传输值矩阵,直至所述当前传输矩阵的每一行的传输总值为0。
3.如权利要求2所述的集群***的信息推送方法,其特征在于,所述获取集群***中两两节点之间的传输值的步骤包括:
获取集群***中两两节点之间的传输时间;
在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0;
在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1。
4.如权利要求3所述的集群***的信息推送方法,其特征在于,所述预设公式为Fcal(a,b)=y,其中,a为传输值最大行的传输值,b为传输矩阵中每一行的传输值,在a=0,b=1时,y=1。
5.如权利要求1至4任一项所述的集群***的信息推送方法,其特征在于,所述确定传输总值最大所在行对应的节点的步骤包括:
从得到的每一行的传输总值中确定传输总值最大所在行对应的节点的数量;
在传输总值最大所在行对应的节点为多个时,从所述传输总值最大所在行对应的节点中随机选择一个节点作为最终传输总值最大所在行对应的节点。
6.如权利要求1至4任一项所述的集群***的信息推送方法,其特征在于,所述将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点的步骤包括:
将最后确定的传输总值最大所在行对应的节点丢弃;
从所确定的节点中将除所述丢弃节点之外的其他节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点。
7.一种集群***的信息推送装置,其特征在于,包括:
获取模块,用于获取待推送信息及集群***中两两节点之间的传输值;
生成模块,用于根据所述传输值生成所有节点之间的传输值矩阵;
确定模块,用于对所述传输值矩阵中每一行的所有传输值求和得到每一行的传输总值,确定传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;根据传输总值最大行的传输值与所述传输值矩阵中每一行的传输值进行迭代计算以确定新的传输总值最大所在行对应的节点,直至所述传输值矩阵的每一行的传输总值为0;
处理模块,用于将确定的节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点;
推送模块,用于将所述待推送信息推送至确定的目标节点,以通过确定的目标节点将所述待推送信息推送至其他节点。
8.如权利要求7所述的集群***的信息推送装置,其特征在于,所述确定模块包括计算单元和确定单元,
所述计算单元,用于在所述传输矩阵的每一行的传输总值不为0时,将传输总值最大行的传输值分别与所述传输值矩阵的每一行对应的传输值按照预设公式进行计算,根据每一行的计算结果得到当前的传输值矩阵;
所述确定单元,用于对所述当前传输值矩阵中每一行的所有传输值进行求和得到每一行的传输总值,确定新的传输值最大所在行对应的节点;
所述计算单元,还用于将传输值最大行的传输值分别与所述当前传输矩阵的每一行对应的传输值按照预设公式进行计算,得到新的当前传输值矩阵,直至所述当前传输矩阵的每一行的传输总值为0。
9.如权利要求8所述的集群***的信息推送装置,其特征在于,所述获取模块包括获取单元和判定单元,
所述获取单元,用于获取集群***中两两节点之间的传输时间;
所述判定单元,用于在所获取的传输时间值大于预设时间阈值时,判定传输时间值大于预设时间阈值的两两节点之间的传输值为0;在所获取的传输时间值不大于预设时间阈值时,判定传输时间值不大于预设时间阈值的两两节点之间的传输值为1。
10.如权利要求9所述的集群***的信息推送装置,其特征在于,所述预设公式为Fcal(a,b)=y,其中,a为传输值最大行的传输值,b为传输矩阵中每一行的传输值,在a=0,b=1时,y=1。
11.如权利要求8所述的集群***的信息推送装置,其特征在于,所述确定单元,还用于从得到的每一行的传输总值中确定传输总值最大所在行对应的节点的数量;在传输总值最大所在行对应的节点为多个时,从所述传输总值最大的节点中随机选择一个节点作为最终传输总值最大所在行对应的节点。
12.如权利要求7至11任一项所述的集群***的信息推送装置,其特征在于,所述处理模块,还用于将最后确定的传输总值最大所在行对应的节点丢弃;
从所确定的节点中将除所述丢弃节点之外的其他节点作为目标节点,所述目标节点包括传输总值为0所在行对应的节点以及传输总值最大所在行对应的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410718674.5A CN105656976B (zh) | 2014-12-01 | 2014-12-01 | 集群***的信息推送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410718674.5A CN105656976B (zh) | 2014-12-01 | 2014-12-01 | 集群***的信息推送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105656976A true CN105656976A (zh) | 2016-06-08 |
CN105656976B CN105656976B (zh) | 2019-01-04 |
Family
ID=56481162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410718674.5A Active CN105656976B (zh) | 2014-12-01 | 2014-12-01 | 集群***的信息推送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105656976B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047640A (zh) * | 2008-05-28 | 2011-05-04 | 汤姆逊许可证公司 | 多个头的分层级集群化的对等现场流式传输*** |
US20120258747A1 (en) * | 2011-04-06 | 2012-10-11 | Samsung Electronics Co., Ltd. | Server cluster and method for push notification service |
CN103533058A (zh) * | 2013-10-17 | 2014-01-22 | 南京大学镇江高新技术研究院 | 面向HDFS/Hadoop存储集群的资源监控***及方法 |
CN104092719A (zh) * | 2013-12-17 | 2014-10-08 | 深圳市腾讯计算机***有限公司 | 文件传输方法、装置及分布式集群文件*** |
-
2014
- 2014-12-01 CN CN201410718674.5A patent/CN105656976B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047640A (zh) * | 2008-05-28 | 2011-05-04 | 汤姆逊许可证公司 | 多个头的分层级集群化的对等现场流式传输*** |
US20120258747A1 (en) * | 2011-04-06 | 2012-10-11 | Samsung Electronics Co., Ltd. | Server cluster and method for push notification service |
CN103533058A (zh) * | 2013-10-17 | 2014-01-22 | 南京大学镇江高新技术研究院 | 面向HDFS/Hadoop存储集群的资源监控***及方法 |
CN104092719A (zh) * | 2013-12-17 | 2014-10-08 | 深圳市腾讯计算机***有限公司 | 文件传输方法、装置及分布式集群文件*** |
Also Published As
Publication number | Publication date |
---|---|
CN105656976B (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380917B (zh) | 联邦学习***的控制方法、装置、终端设备及存储介质 | |
CN103002415B (zh) | 一种通过短信发送验证码的方法和装置 | |
US9813852B2 (en) | System and method for positioning terminal | |
CN104394191B (zh) | 远程控制移动终端的方法、控制终端及*** | |
CN104994060A (zh) | 一种用于为用户登录提供验证的方法和装置 | |
US11638193B2 (en) | Load balancing method and device, storage medium, and electronic device | |
US10599402B2 (en) | Techniques to configure a web-based application for bot configuration | |
CN105227595A (zh) | 一种消息发送方法和设备 | |
CN103874019A (zh) | 语音交互方法和装置 | |
CN113795039B (zh) | 运营商网络切换方法、装置、设备和计算机可读存储介质 | |
CN105187632A (zh) | 一种手机号码的确定方法及装置 | |
CN117149665B (zh) | 持续集成方法、控制设备、持续集成***及存储介质 | |
CN104468764A (zh) | 一种策略调度方法、装置及*** | |
CN103581273A (zh) | 一种分布式***执行业务的方法、装置及*** | |
CN103902429A (zh) | 在自动化测试中进行预警的方法、服务器和*** | |
CN105827508A (zh) | 车载终端加入群组的处理方法、车载终端、服务器及*** | |
CN104035871B (zh) | 基于地理位置的应用程序的故障处理方法及装置 | |
US10334424B2 (en) | Discovery resource time-frequency hopping method and terminal | |
CN104599092A (zh) | 用于监控订单业务的方法及设备 | |
CN104239212A (zh) | 测试用例的查询方法及装置、测试用例的建立方法及装置 | |
CN105656976A (zh) | 集群***的信息推送方法及装置 | |
CN107766212A (zh) | 确定应用程序的安装状态的方法及装置 | |
KR20220139407A (ko) | 태스크 할당 방법 및 장치, 전자 기기 및 컴퓨터 판독가능 매체 | |
CN110909288B (zh) | 业务数据处理方法、装置、平台、业务端、***及介质 | |
CN109348488B (zh) | 一种移动网用户感知保障方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190731 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |