一种选择业务节点的方法和装置与流程

文档序号:12623772阅读:390来源:国知局
一种选择业务节点的方法和装置与流程
本发明涉及通信
技术领域
,特别涉及一种选择业务节点的方法和装置。
背景技术
:现有网络中,通常在两个有不同安全等级要求的网络区域之间部署业务节点集合,该业务节点集合中包括多个业务节点,业务节点用于对两个网络区域之间的业务报文进行安全过滤,例如业务节点可以为防火墙,用于过滤业务报文中的不安全内容;再如,业务节点可以为防病毒设备,用于过滤业务报文中的病毒。例如,以一个具体实例来描述业务节点对两个网络区域之间的业务报文进行安全过滤的过程,为了便于描述,将两个网络区域分别称为第一网络区域和第二网络区域,当第一网络区域中的第一主机向第二网络区域中的第二主机发送业务请求报文时,第一主机向第一网络区域对应的第一交换机发送该业务请求报文,第一交换机从业务节点集合中选择一业务节点,称为第一业务节点,第一交换机向第一业务节点发送该业务请求报文;第一业务节点将该业务请求报文中的不安全内容过滤掉,向第二主机发送该过滤后的业务请求报文;当第二主机根据该业务请求报文向第一主机返回业务响应报文时,第二主机向第二网络区域对应的第二交换机发送该业务响应报文,第二交换机从业务节点集合中选择一业务节点,称为第二业务节点,第二交换机向第二业务节点发送该业务响应报文,第二业务节点将该业务响应报文中的不安全内容过滤掉,向第一主机发送该过滤后的业务响应报文,以实现第一主机与第二主机之间的业务交互。其中,第一交换机选择第一业务节点的过程可以为:第一交换机对该业务请求报文携带的第一主机的IP(InternetProtocol,网络之间互连的协议)地址(源主机的IP地址)、第二主机的IP地址(目的主机的IP地址)、源TCP(TransmissionControlProtocol,传输控制协议)端口和目的TCP端口进行哈希运算得到哈希 值,根据该哈希值和业务节点集合中包括的业务节点的数量选择第一业务节点;同样,第二主机按照以上方法选择第二业务节点。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:该业务请求报文和该业务响应报文属于同一个会话;同一会话的业务报文需要经过相同的业务节点,如果业务节点接收到非该业务节点处理的业务请求对应的业务响应时,不对该业务响应进行处理;由于第一交换机得到的哈希值和第二交换机得到的哈希值不同,从而第一业务节点和第二业务节点不同,因此,当第二业务节点接收到该业务响应报文时就不对该业务响应报文进行处理,从而导致该业务响应报文传输失败。技术实现要素:为了解决现有技术的问题,本发明提供了一种选择业务节点的方法和装置。技术方案如下:一种选择业务节点的方法,所述方法包括:第一交换机接收第一业务报文,所述第一业务报文携带第一报文类型、第一源主机标识和第一目的主机标识;根据所述第一报文类型和分配策略,从所述第一源主机标识和所述第一目的主机标识中选择主机标识,所述主机标识与第二交换机在接收到第二业务报文时选择的主机标识相同,所述第二业务报文和所述第一业务报文属于同一会话;根据所述主机标识,从业务节点集合中选择所述主机标识对应的业务节点。一种选择业务节点的装置,所述装置包括:接收模块,用于接收第一业务报文,所述第一业务报文携带第一报文类型、第一源主机标识和第一目的主机标识;第一选择模块,用于根据所述第一报文类型和分配策略,从所述第一源主机标识和所述第一目的主机标识中选择主机标识,所述主机标识与第二交换机在接收到第二业务报文时选择的主机标识相同,所述第二业务报文和所述第一业务报文属于同一会话;第二选择模块,用于根据所述主机标识,从业务节点集合中选择所述主机 标识对应的业务节点。在本发明实施例中,事先设置分配策略,交换机根据报文类型和分配策略选择主机标识,由于属于同一会话的第一业务报文和第二业务报文都是按照这种分配策略选择的主机标识,因此,属于同一会话的第一业务报文和第二业务报文选择业务节点时选择的主机标识相同,从而属于同一会话的第一业务报文和第二业务报文选择的业务节点相同,从而能够保证第一业务报文和第二业务报文成功传输。附图说明图1是本发明实施例1提供的一种选择业务节点的方法流程图;图2-1是本发明实施例2提供的一种选择业务节点的系统框图;图2-2是本发明实施例2提供的一种选择业务节点的方法流程图;图3是本发明实施例3提供的一种选择业务节点的装置结构示意图;图4是本发明实施例4提供的一种交换机的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1本发明实施例提供了一种选择业务节点的方法,参见图1,其中,该方法包括:步骤101:第一交换机接收第一业务报文,第一业务报文携带第一报文类型、第一源主机标识和第一目的主机标识;步骤102:根据第一报文类型和分配策略,从第一源主机标识和第一目的主机标识中选择主机标识,该主机标识与第二交换机在接收到第二业务报文时选择的主机标识相同,第二业务报文和第一业务报文属于同一会话;步骤103:根据该主机标识,从业务节点集合中选择该主机标识对应的业务节点。在本发明实施例中,事先设置分配策略,交换机根据报文类型和分配策略 选择主机标识,由于属于同一会话的第一业务报文和第二业务报文都是按照这种分配策略选择的主机标识,因此,属于同一会话的第一业务报文和第二业务报文选择业务节点时选择的主机标识相同,从而属于同一会话的第一业务报文和第二业务报文选择的业务节点相同,从而能够保证第一业务报文和第二业务报文成功传输。实施例2本发明实施例提供了一种选择业务节点的方法,业务节点用于对两个网络区域之间的业务报文进行安全过滤;在本发明实施例中以一个具体实例来描述业务节点对两个网络区域之间的业务报文进行安全过滤的过程,为了便于描述,将两个网络区域分别称为第一网络区域和第二网络区域,参见图2-1,当第一网络区域中的第一主机向第二网络区域中的第二主机发送业务请求报文时,第一主机向第一网络区域对应的第一交换机发送该业务请求报文,第一交换机从业务节点集合中选择一业务节点,第一交换机向该业务节点发送该业务请求报文;该业务节点将该业务请求报文中的不安全内容过滤掉,向第二主机发送该过滤后的业务请求报文;当第二主机根据该业务请求报文向第一主机返回业务响应报文时,第二主机向第二网络区域对应的第二交换机发送该业务响应报文,第二交换机从业务节点集合中选择第一交换机为该业务请求报文选择的业务节点,第二交换机向该业务节点发送该业务响应报文,该业务节点将该业务响应报文中的不安全内容过滤掉,向第一主机发送该过滤后的业务响应报文,以实现第一主机与第二主机之间的业务交互。在本发明实施例中第一业务报文可以为业务请求报文,第一业务报文也可以为业务响应报文;当第一业务报文为业务请求报文时,第二业务报文为业务响应报文,此时第一源主机标识为第一主机的主机标识,第一目的主机标识为第二主机的主机标识;当第一业务报文为业务响应报文时,第二业务报文为业务请求报文,此时第一源主机标识为第二主机的主机标识,第一目的主机标识为第一主机的主机标识。参见图2-2,其中,该方法包括:步骤201:第一主机向第一交换机发送业务请求报文,该业务请求报文携带请求报文类型、第一主机的主机标识和第二主机的主机标识;其中,业务节点可以为防火墙或者防病毒设备。第一主机的主机标识为源主机的主机标识,第二主机的主机标识为目的主机的主机标识。主机标识可以为主机的编号、主机的GUID(GloballyUniqueIdentifier,全局唯一标识符)或者主机的IP(InternetProtocol,网络之间互连的协议)地址等。步骤202:第一交换机接收该业务请求报文,并根据该请求报文类型和第一分配策略,从第一主机的主机标识和第二主机的主机标识中选择主机标识;如果第一分配策略用于根据请求业务主机标识选择业务节点,则本步骤可以为:从第一主机的主机标识和第二主机的主机标识中选择第一主机的主机标识。如果第一分配策略用于根据响应业务主机标识选择业务节点,则本步骤可以为:从第一主机的主机标识和第二主机的主机标识中选择第二主机的主机标识。需要说明的是,在本步骤之前,控制器生成第一分配策略和第二分配策略;向第一交换机发送第一分配策略,向第二交换机发送第二分配策略;第一交换机接收控制器发送的第一分配策略,第二交换机接收控制器发送的第二分配策略。其中,第一分配策略和第二分配策略是相反的分配策略;当第一分配策略用于根据请求业务主机标识选择业务节点时,第二分配策略用于根据响应业务主机标识选择业务节点;当第一分配策略用于根据响应业务主机标识选择业务节点时,第二分配策略用于根据请求业务主机标识选择业务节点。步骤203:第一交换机根据该主机标识,从业务节点集合中选择该主机标识对应的业务节点;其中,本步骤可以通过以下步骤(1)至(3)实现,包括:(1):第一交换机根据该主机标识,确定该主机标识对应的终端所在的终端集合;在本步骤之前,控制器根据负载均衡的原则和第一分配策略为业务节点集合中的每个业务节点分配终端,对于每个业务节点,将为该业务节点分配的终端组成一个终端集合,建立终端集合和业务节点的标识的对应关系;向第一交换机发送终端集合和业务节点的标识的对应关系;第一交换机接收控制器发送的终端集合和业务节点的标识的对应关系,存储终端集合和业务节点的标识的 对应关系。当第一分配策略用于根据请求业务主机标识选择业务节点时,则控制器将第一网络区域中的主机分配给每个业务节点。例如,业务节点集合中包括3个业务节点,分别为业务节点1,业务节点2和业务节点3;第一网络区域中包括6个主机,分别为主机1、主机2……主机6;则为每个业务节点分配2个主机,建立终端集合和业务节点的标识的对应关系为建立终端集合1和业务节点1的对应关系、终端集合2和业务节点2的对应关系以及终端集合3和业务节点3的对应关系。其中,终端集合1中包括主机1和主机2,终端集合2中包括主机3和主机4,终端集合3中包括主机5和主机6。(2):根据该终端集合,从终端集合和业务节点的标识的对应关系中获取该终端集合对应的业务节点的标识;业务节点的标识可以为业务节点的编号或者位置等。进一步地,在本发明实施例中第一交换机也可以存储业务节点的标识和主机标识的对应关系,则步骤(1)和(2)可以替换为:根据该主机标识,从业务节点的标识和主机标识的对应关系中获取该主机标识对应的业务节点的标识。其中,第一交换机存储业务节点的标识和主机标识的对应关系,具体实现过程为:当第一分配策略用于根据响应业务主机标识选择业务节点时,则第一交换机将第二网络区域中的主机分配给每个业务节点;例如,根据第二网络区域的IP地址将第二网络区域中的主机分配给每个业务节点,第二网络区域内主机的IP地址网段为10.1.0.0/16,将第二网络区域内的主机IP地址网段切分为N个区段,为了流量分散的均衡性,N远远大于业务节点集合中包括的业务节点的数量,例如,业务节点集合中包括3个业务节点,N为4096,则业务节点的标识和主机标识的对应关系如下表1所示:表1FlowIDs响应业务主机标识业务节点的标识000110.1.0.0/28业务节点1000210.1.0.16/28业务节点2000310.1.0.32/28业务节点3000410.1.0.48/28业务节点1………………409610.1.255.240/28业务节点3(3):从业务节点集合中选择该业务节点的标识对应的业务节点。业务节点集合中包括多个业务节点,从业务节点集合中选择该业务节点的标识对应的业务节点,将选择的业务节点分配给该业务请求报文。步骤204:第一交换机向该业务节点发送该业务请求报文;第一交换机选择业务节点后,向该业务节点发送该业务请求报文,执行步骤205,由该业务节点对该业务请求报文进行安全过滤。步骤205:该业务节点接收该业务请求报文,将该业务请求报文中的不安全内容过滤掉,向第二主机发送该过滤后的业务请求报文;如果业务节点为防火墙时,该业务节点将该业务请求报文中的不安全内容过滤掉;当业务节点为报病毒时,该业务节点将该业务请求报文中的病毒过滤掉。步骤206:第二主机接收该过滤后的业务请求报文,根据该过滤后的业务请求报文生成业务响应报文,向第二交换机发送该业务响应报文;该业务响应报文携带响应报文类型、第二主机的主机标识和第一主机的主机标识。第二主机的主机标识为第二源主机的主机标识,第一主机的主机标识为第二目的主机的主机标识。步骤207:第二交换机接收该业务响应报文,并根据该响应报文类型和第二分配策略,从第二主机的主机标识和第一主机的主机标识中选择主机标识;如果步骤202中的第一分配策略用于根据请求业务主机标识选择业务节点时,则第二分配策略用于根据响应业务主机标识选择业务节点,则本步骤可以为:从第二主机的主机标识和第一主机的主机标识中选择第一主机的主机标识。如果步骤202中的第一分配策略用于根据响应业务主机标识选择业务节点时,则第二分配策略用于根据请求业务主机标识选择业务节点,则本步骤可以为:从第二主机的主机标识和第一主机的主机标识中选择第二主机的主机标识。步骤208:第二交换机根据该主机标识,从业务节点集合中选择该主机标识对应的业务节点;其中,本步骤可以通过以下步骤(1)至(3)实现,包括:(1):第一交换机根据该主机标识,确定该主机标识对应的终端所在的终端集合;在本步骤之前,控制器根据负载均衡的原则和第二分配策略为业务节点集合中的每个业务节点分配终端,对于每个业务节点,将为该业务节点分配的终端组成一个终端集合,建立终端集合和业务节点的标识的对应关系;向第二交换机发送终端集合和业务节点的标识的对应关系;第二交换机接收控制器发送的终端集合和业务节点的标识的对应关系,存储终端集合和业务节点的标识的对应关系。当第一分配策略用于根据请求业务主机标识选择业务节点时,则第二分配策略用于根据响应业务主机标识选择业务节点时,则控制器将第一网络区域中的主机分机分配给每个业务节点;例如,业务节点集合中包括3个业务节点,分别为业务节点1,业务节点2和业务节点3;第一网络区域中包括6个主机,分别为主机1、主机2……主机6;则为每个业务节点分配2个主机,建立终端集合和业务节点的标识的对应关系为建立终端集合1和业务节点1的对应关系、终端集合2和业务节点2的对应关系以及终端集合3和业务节点3的对应关系。其中,终端集合1中包括主机1和主机2,终端集合2中包括主机3和主机4,终端集合3中包括主机5和主机6。(2):根据该终端集合,从终端集合和业务节点的标识的对应关系中获取该终端集合对应的业务节点的标识;业务节点的标识可以为业务节点的编号或者位置等。进一步地,在本发明实施例中第二交换机也可以存储业务节点的标识和主机标识的对应关系,则步骤(1)和(2)可以替换为:根据该主机标识,从业务节点的标识和主机标识的对应关系中获取该主机标识对应的业务节点的标识。其中,第二交换机存储业务节点的标识和主机标识的对应关系,具体实现过程为:当第一分配策略用于根据响应业务主机标识选择业务节点时,则第二分配 策略用于根据请求业务主机标识选择业务节点,则第一交换机将第二网络区域中的主机分配给每个业务节点;例如,根据第二网络区域的IP地址将第二网络区域中的主机分配给每个业务节点,第二网络区域内主机的IP地址网段为10.1.0.0/16,将第二网络区域内的主机IP地址网段切分为N个区段,为了流量分散的均衡性,N远远大于业务节点集合中包括的业务节点的数量,例如,业务节点集合中包括3个业务节点,N为4096,则业务节点的标识和主机标识的对应关系如下表2所示:表2FlowIDs请求业务主机标识业务节点的标识000110.1.0.0/28业务节点1000210.1.0.16/28业务节点2000310.1.0.32/28业务节点3000410.1.0.48/28业务节点1………………409610.1.255.240/28业务节点3由于第一分配策略和第二分配策略是对应的,当第一分配策略用于根据请求业务主机标识选择业务节点时,第二分配策略用于根据响应业务主机标识选择业务节点,因此,第一交换机为业务请求报文选择业务节点时选择的主机标识与第二交换机为该业务响应报文选择业务节点时选择的主机标识相同。(3):从业务节点集合中选择该业务节点的标识对应的业务节点。业务节点集合中包括多个业务节点,从业务节点集合中选择该业务节点的标识对应的业务节点,将选择的业务节点分配给该业务响应报文。步骤209:第二交换机向该业务节点发送该业务响应报文;第二交换机选择业务节点后,向该业务节点发送该业务请求报文,执行步骤210,由该业务节点对该业务响应报文进行安全过滤。步骤210:该业务节点接收该业务响应报文,将该业务响应报文中的不安全内容过滤掉,向第一主机发送该过滤后的业务响应报文。如果业务节点为防火墙时,该业务节点将该业务响应报文中的不安全内容过滤掉;当业务节点为报病毒时,该业务节点将该业务响应报文中的病毒过滤 掉。需要说明的是,第一交换机和第二交换机可以为同一个交换机。进一步地,随着业务报文所需流量的增长,业务节点的负载过大时,可以通过增加业务节点的横向扩展方式进行扩容,提升业务节点处理业务报文的效率,具体可以通过以下步骤(1)至(3)实现,包括:(1):统计业务节点集合中的每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量;预设时长可以根据需要进行设置并更改,在本发明实施例中对预设时长不作具体限定,例如,预设时长为24小时或者12小时等。例如,预设时长为24小时,则本步骤可以为统计业务节点集合中的每个业务节点在离当前时间最近的24小时内传输业务报文所需的流量,如下表3所示:表3业务节点标识流量业务节点1100MB业务节点2250MB业务节点3160MB(2):根据每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,计算流量大于预设流量的业务节点的比例;根据每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,获取流量超过预设流量的业务节点的第一数量;计算第一数量与业务节点集合中包括的业务节点的第二数量的比值作为流量大于预设流量的业务节点的比例。预设流量可以根据每个业务节点的负荷情况进行设置并更改,在本发明实施例中对预设流量不作具体限定。(3):如果该比例大于预设比例,则在业务节点集合中增加业务节点。在业务节点集合中增加业务节点之后,将业务节点集合中的每个业务节点对应的终端集合中的部分终端转移到该增加的业务节点对应的终端集合中。在本发明实施例中可以根据负载均衡的原则,从业务节点集合中的每个业务节点对应的终端集合中获取部分终端,将获取的部分终端转移到该增加的业 务节点对应的终端集合中;也可以根据每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,选择最小流量,以及最小流量的业务节点;将最小流量的业务节点对应的终端集合中部分终端转移到该增加的业务节点对应的终端集合中。预设比例可以根据需要进行设置并更改,在本发明实施例中对预设比例不作具体限定,例如预设比例为0.8或者0.5等。例如,在业务节点集合中增加一业务节点为业务节点4,则表1可以修改为表4所示:表4FlowIDs响应业务主机标识业务节点的标识000110.1.0.0/28业务节点1000210.1.0.16/28业务节点2000310.1.0.32/28业务节点3000410.1.0.48/28业务节点4000510.1.0.80/28业务节点1000610.1.0.96/28业务节点2000710.1.0.112/28业务节点3000810.1.0.128/28业务节点4………………同样,表2可以修改为表5所示:表5FlowIDs请求业务主机标识业务节点的标识000110.1.0.0/28业务节点1000210.1.0.16/28业务节点2000310.1.0.32/28业务节点3000410.1.0.48/28业务节点4000510.1.0.80/28业务节点1000610.1.0.96/28业务节点2000710.1.0.112/28业务节点3000810.1.0.128/28业务节点4………………其中,原来业务节点集合中包括3个业务节点,现在新增加一个业务节点,通过修改3个业务节点对应的终端集合中的部分终端转移到该增加的业务节点对应的终端集合中,而3个业务节点对应的终端集合中的未转移的终端不受任何影响,在扩容过程中还能继续传输报文。进一步地,由于不同主机传输业务报文所需的流量不同,因此每个业务节点传输业务报文所需的流量是不均衡的,并且有可能随着时间的变化而变化,在本发明实施例中第一交换机或者第二交换机将实时监控每个业务节点的流量,根据每个业务节点的流量,进行负载均衡调整,具体可以通过以下步骤(A)至(C)实现,包括:(A):统计业务节点集合中的每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量;(B):根据每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,选择最大流量、最小流量,以及最大流量的业务节点和最小流量的业务节点;从每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量中选择最大流量和最小流量;从业务节点集合中选择最大流量对应的业务节点作为最大流量的业务节点,选择最小流量对应的业务节点作为最小流量的业务节点。(C):如果最大流量与最小流量的比值大于预设比值,则将最大流量的业务节点对应的终端集合中部分终端转移到最小流量的业务节点对应的终端集合中。如果最大流量与最小流量的比值大于预设比值,则确定最大流量的业务节点的负载和最小流量的业务节点的负载相差较大,从最大流量的业务节点对应的终端集合中减少部分终端;将减少的部分终端增加最小流量的业务节点对应的终端集合中。预设比值可以根据需要进行设置并更改,在本发明实施例中对预设比值不作具体限定,例如,预设比值可以为10或者8等。例如,从表3中可以看出业务节点2的负载远大于业务节点1,则将业务节 点2对应的终端集合中部分终端转移到业务节点1对应的终端集合中,表1可以修改为如下表6,表2可以修改为如下表7所示:表6FlowIDs响应业务主机标识业务节点的标识000110.1.0.0/28业务节点1000210.1.0.16/28业务节点1000310.1.0.32/28业务节点3000410.1.0.48/28业务节点1………………409610.1.255.240/28业务节点3表7FlowIDs请求业务主机标识业务节点的标识000110.1.0.0/28业务节点1000210.1.0.16/28业务节点1000310.1.0.32/28业务节点3000410.1.0.48/28业务节点1………………409610.1.255.240/28业务节点3进一步地,第一交换机或者第二交换机还可以实时监测每个业务节点是否发生故障,当某个业务节点发生故障时,将该业务节点的流量切换到其他业务节点上,具体可以过程为:获取业务节点集合中发生故障的业务节点和未发生故障的业务节点;将发生故障的业务节点对应的终端集合中的终端转移到未发生故障的业务节点对应的终端集合中。其中,可以将发生故障的业务节点对应的终端集合中的终端平均分配到未发生故障的业务节点对应的终端集合中,也可以根据未发生故障的业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,从未发生故障的业务 节点中选择最小流量的业务节点,将发生故障的业务节点对应的终端集合中的终端转移到选择的业务节点对应的终端集合中。通过本发明实施例提供的方法,在业务节点发生故障时,自动将故障业务节点对应的终端集合中的终端转移到未发生故障的业务节点对应的终端集合中,实现了透明的自动故障恢复,提升了系统整体的可用性。同时,业务节点故障也仅影响该发生故障的业务节点对应的终端集合中的终端,未发生故障的业务节点对应的终端集合中的终端不受任何影响。其中,对于每个业务节点,检测该业务节点是否发生故障的步骤可以为:实时发送心跳消息给该业务节点;如果在预设时间内接收到该业务节点返回的响应消息,则确定该业务节点没有发生故障;如果在预设时间内没有接收到该业务节点返回的响应消息,则确定该业务节点发生故障。需要说明的是,对业务节点进行扩容、负载均衡和/或故障检测可以不由第一交换机或者第二交换机执行,可以由控制器执行。进一步地,在本发明实施例中,第一交换机为业务请求报文选择业务节点之后,将该业务节点的标识插入该业务请求报文中;当第二主机根据该业务请求报文生成业务响应报文时,从该业务请求报文中获取该业务节点的标识,并将该业务节点的标识插入到该业务响应报文中,第二交换机接收到该业务响应报文时,获取该业务响应报文中的业务节点的标识,从业务节点集合中选择该业务节点的标识,从而实现属于同一会话的业务请求报文和业务响应报文选择同一个业务节点。需要说明的是,在本发明实施例中第二主机也可以向第一主机发送业务请求报文;当第二交换机接收到第二主机发送的业务请求报文时,第二交换机根据第二分配策略和该业务请求报文携带的请求报文类型,从第二主机的主机标识和第一主机的主机标识中选择主机标识,根据该主机标识,从业务节点集合中选择该主机标识对应的业务节点;同样,当第一交换机接收到第一主机根据该业务请求报文发送业务响应报文时,第一交换机根据第一分配策略和该业务响应报文携带的响应报文类型,从第一主机的主机标识和第二主机的主机标识中选择主机标识,根据该主机标识,从业务节点集合中选择该主机标识对应的业务节点。在本发明实施例中,事先设置分配策略,交换机根据报文类型和分配策略 选择主机标识,由于属于同一会话的第一业务报文和第二业务报文都是按照这种分配策略选择的主机标识,因此,属于同一会话的第一业务报文和第二业务报文选择业务节点时选择的主机标识相同,从而属于同一会话的第一业务报文和第二业务报文选择的业务节点相同,从而能够保证第一业务报文和第二业务报文成功传输。实施例3本发明实施例提供了一种选择业务节点的装置,参见图3,该装置包括:接收模块301,用于接收第一业务报文,第一业务报文携带第一报文类型、第一源主机标识和第一目的主机标识;第一选择模块302,用于根据第一报文类型和分配策略,从第一源主机标识和第一目的主机标识中选择主机标识,该主机标识与第二交换机在接收到第二业务报文时选择的主机标识相同,第二业务报文和第一业务报文属于同一会话;第二选择模块303,用于根据该主机标识,从业务节点集合中选择该主机标识对应的业务节点。进一步地,如果分配策略用于根据请求业务主机标识选择业务节点,则第一选择模块302,包括:第一选择单元,用于当第一报文类型为请求报文类型时,从第一源主机标识和第一目的主机标识中选择第一源主机标识;第二选择单元,用于当第一报文类型为响应报文类型时,从第一源主机标识和第一目的主机标识中选择第一目的主机标识;如果分配策略用于根据响应业务主机标识选择业务节点,则第一选择模块302,包括:第三选择单元,用于当第一报文类型为请求报文类型时,从第一源主机标识和第一目的主机标识中选择第一目的主机标识;第四选择单元,用于当第一报文类型为响应报文类型时,从第一源主机标识和第一目的主机标识中选择第一源主机标识。进一步地,第二选择模块303,包括:确定单元,用于根据该主机标识,确定该主机标识对应的终端所在的终端集合;获取单元,用于根据该终端集合,从终端集合和业务节点的标识的对应关系中获取该终端集合对应的业务节点的标识;第五选择单元,用于从业务节点集合中选择该业务节点的标识对应的业务节点。进一步地,该装置还包括:统计模块,用于统计业务节点集合中的每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量;计算模块,用于根据每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,计算流量大于预设流量的业务节点的比例;增加模块,用于如果该比例大于预设比例,则在业务节点集合中增加业务节点。进一步地,该装置还包括:第三选择模块,用于根据每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,选择最大流量、最小流量,以及最大流量的业务节点和最小流量的业务节点;第一转移模块,用于如果最大流量与最小流量的比值大于预设比值,则将最大流量的业务节点对应的终端集合中部分终端转移到最小流量的业务节点对应的终端集合中。进一步地,该装置还包括:获取模块,用于获取业务节点集合中发生故障的业务节点和未发生故障的业务节点;第二转移模块,用于将发生故障的业务节点对应的终端集合中的终端转移到未发生故障的业务节点对应的终端集合中。在本发明实施例中,事先设置分配策略,交换机根据报文类型和分配策略选择主机标识,由于属于同一会话的第一业务报文和第二业务报文都是按照这种分配策略选择的主机标识,因此,属于同一会话的第一业务报文和第二业务报文选择业务节点时选择的主机标识相同,从而属于同一会话的第一业务报文和第二业务报文选择的业务节点相同,从而能够保证第一业务报文和第二业务报文成功传输。实施例4选择业务节点的装置可以为交换机,该交换机可以为终端,请参考图4,其示出了本发明实施例所涉及的具有触敏表面的终端结构示意图,该终端为上述实例3提供的选择业务节点的装置提供运行环境。具体来讲:终端900可以包括RF(RadioFrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioService,通用分组无线服务)、CDMA(CodeDivisionMultipleAccess,码分多址)、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、电子邮件、SMS(ShortMessagingService,短消息服务)等。存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。终端900还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相 关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路160、扬声器161,传声器162可提供用户与终端900之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端900的通信。WiFi属于短距离无线传输技术,终端900通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块170,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器180是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。终端900还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。尽管未示出,终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端900的显示单元是触摸屏显示器,终端900还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序 包含用于进行以下操作的指令:第一交换机接收第一业务报文,所述第一业务报文携带第一报文类型、第一源主机标识和第一目的主机标识;根据所述第一报文类型和分配策略,从所述第一源主机标识和所述第一目的主机标识中选择主机标识,所述主机标识与第二交换机在接收到第二业务报文时选择的主机标识相同,所述第二业务报文和所述第一业务报文属于同一会话;根据所述主机标识,从业务节点集合中选择所述主机标识对应的业务节点。进一步地,如果所述分配策略用于根据请求业务主机标识选择业务节点,则所述根据所述第一报文类型和分配策略,从所述第一源主机标识和所述第一目的主机标识中选择主机标识,包括:当所述第一报文类型为请求报文类型时,从所述第一源主机标识和所述第一目的主机标识中选择所述第一源主机标识;当所述第一报文类型为响应报文类型时,从所述第一源主机标识和所述第一目的主机标识中选择所述第一目的主机标识;如果所述分配策略用于根据响应业务主机标识选择业务节点,则所述根据所述第一报文类型和分配策略,从所述第一源主机标识和所述第一目的主机标识中选择主机标识,包括:当所述第一报文类型为请求报文类型时,从所述第一源主机标识和所述第一目的主机标识中选择所述第一目的主机标识;当所述第一报文类型为响应报文类型时,从所述第一源主机标识和所述第一目的主机标识中选择所述第一源主机标识。进一步地,所述根据所述主机标识,从业务节点集合中选择所述主机标识对应的业务节点,包括:根据所述主机标识,确定所述主机标识对应的终端所在的终端集合;根据所述终端集合,从终端集合和业务节点的标识的对应关系中获取所述终端集合对应的业务节点的标识;从业务节点集合中选择所述业务节点的标识对应的业务节点。进一步地,所述方法还包括:统计所述业务节点集合中的每个业务节点在离当前时间最近的预设时长内 传输业务报文所需的流量;根据所述每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,计算流量大于预设流量的业务节点的比例;如果所述比例大于预设比例,则在所述业务节点集合中增加业务节点。进一步地,所述统计所述业务节点集合中的每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量之后,还包括:根据所述每个业务节点在离当前时间最近的预设时长内传输业务报文所需的流量,选择最大流量、最小流量,以及所述最大流量的业务节点和所述最小流量的业务节点;如果所述最大流量与所述最小流量的比值大于预设比值,则将所述最大流量的业务节点对应的终端集合中部分终端转移到所述最小流量的业务节点对应的终端集合中。进一步地,所述方法还包括:获取所述业务节点集合中发生故障的业务节点和未发生故障的业务节点;将所述发生故障的业务节点对应的终端集合中的终端转移到所述未发生故障的业务节点对应的终端集合中。在本发明实施例中,事先设置分配策略,交换机根据报文类型和分配策略选择主机标识,由于属于同一会话的第一业务报文和第二业务报文都是按照这种分配策略选择的主机标识,因此,属于同一会话的第一业务报文和第二业务报文选择业务节点时选择的主机标识相同,从而属于同一会话的第一业务报文和第二业务报文选择的业务节点相同,从而能够保证第一业务报文和第二业务报文成功传输。需要说明的是:上述实施例提供的选择业务节点的装置在选择业务节点时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的选择业务节点的装置与选择业务节点的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1