专利名称:一种交换机控制方法、装置、控制设备及存储介质
专利类型:发明专利
专利申请号:CN202210088251.4
专利申请(专利权)人:中国农业银行股份有限公司
权利人地址:北京市东城区建国门内大街69号
专利发明(设计)人:袁超
专利摘要:本发明公开了一种交换机控制方法、装置、控制设备及存储介质。该方法包括:获取软件定义系统的网络拓扑信息;根据网络拓扑信息确定至少一条目标转发路径;根据目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发。通过本发明的技术方案,能够对软件定义系统的网络拓扑信息进行实时监控,根据网络拓扑信息配置目标转发路径,从而实现在无需终端设备支持协议的情况下,通过对网络拓扑中的交换机进行控制实现多路径并行传输。
主权利要求:
1.一种交换机控制方法,其特征在于,应用于软件定义SDN系统的控制设备,所述SDN系统包括:控制设备、包含多个交换机的交换子系统以及与所述交换子系统连接的多个终端设备,所述方法包括:获取软件定义系统的网络拓扑信息;
根据所述网络拓扑信息确定至少一条目标转发路径;
根据所述目标转发路径生成目标转发流表,将所述目标转发流表发送至所述交换子系统中的目标交换机,以控制所述目标交换机根据所述目标转发流表对终端设备的业务数据进行转发;
其中,所述网络拓扑信息,包括:
所述软件定义系统的网络拓扑结构、所述网络拓扑结构中各拓扑路径的带宽以及各拓扑路径的时延;其中,所述拓扑路径包括多段在两个交换机端口之间形成的链路;
相应的,获取软件定义系统的网络拓扑信息,包括:
获取软件定义系统的网络拓扑结构;
基于所述网络拓扑结构确定多条拓扑路径;
获取所述拓扑路径的时延和所述拓扑路径所包含链路的链路带宽;
其中,所述根据所述网络拓扑信息确定至少一条目标转发路径,包括:根据各所述拓扑路径的时延确定时延递增排序最小的预设数量的转发路径;所述预设数量用于表示目标转发路径的最大数量;
基于各所述拓扑路径的时延和所包含链路的链路带宽,从所述转发路径中确定至少一条目标转发路径;
其中,所述基于各所述拓扑路径的时延和所包含链路的链路带宽,从所述转发路径中确定至少一条目标转发路径,包括:对于各所述转发路径,基于所包含链路的链路带宽确定所述转发路径的可用带宽;其中,所述转发路径的可用带宽由转发路径所包含的链路的带宽的最小值以及链路是否属于多条路径的共同链路所确定;
将时延最小且可用带宽大于第一预设带宽值的转发路径确定为优选转发路径;
分别确定除所述优选转发路径之外的各转发路径的延时系数;
将延时系数大于预设系数且可用带宽大于第一预设带宽值的转发路径确定为备选转发路径;
将备选转发路径和优选转发路径确定为目标转发路径;
其中,所述基于所包含链路的链路带宽确定所述转发路径的可用带宽,包括:对于全部包含唯一链路的第一转发路径,将所包含链路的最小链路带宽确定为所述第一转发路径的第一可用带宽;
对于包含共同链路的多条第二转发路径,根据各所述第二转发路径的时延递增排序依次确定各所述第二转发路径的第二可用带宽;
其中,所述第二可用带宽根据所述第二转发路径所包含的各链路的最小链路带宽和/或所述共同链路的链路带宽确定;
其中,所述获取所述拓扑路径的时延,包括:
创建探测数据包,所述探测数据包包括:创建时间和所述拓扑路径中的首个交换机对应的第一探测转发流表;
将所述探测数据包发送至首个交换机,以使所述首个交换机基于所述第一探测转发流表将所述探测数据包转发至下一个交换机;
获取所述首个交换机转发所述探测数据包的转发时间并执行转发控制操作,所述转发控制操作包括:在接收到所述下一个交换机发送的反馈消息时,基于所述拓扑路径确定所述下一个交换机对应的第二探测转发流表,向所述下一个交换机发送所述第二探测转发流表,以使所述下一个交换机基于所述第二探测转发流表转发所述探测数据包;并获取所述下一个交换机转发所述探测数据包的转发时间;
重复执行所述转发控制操作直至将所述探测数据包转发至所述拓扑路径中的最后一个交换机;
接收所述最后一个交换机转发的探测数据包,并记录接收到所述探测数据包的接收时间;
根据所述创建时间、所述拓扑路径中各交换机转发数据包的转发时间和所述接收时间确定所述拓扑路径的时延;
其中,获取所述拓扑路径所包含链路的链路带宽,包括:分别向所述拓扑路径所包含链路两端的交换机发送端口信息请求报文,获取各交换机端口的最大吞吐量和当前已用吞吐量;
对于各所述交换机端口,将所述最大吞吐量和所述当前已用吞吐量的差值确定为吞吐量差值;
将所述链路两端的交换机端口的吞吐量差值中的最小值确定为所述链路的带宽。
2.一种交换机控制装置,其特征在于,所述交换机控制装置集成于软件定义SDN系统的控制设备,所述SDN系统包括:控制设备、包含多个交换机的交换子系统以及与所述交换子系统连接的多个终端设备,所述装置包括:获取模块,用于获取软件定义系统的网络拓扑信息;
确定模块,用于根据所述网络拓扑信息确定至少一条目标转发路径;
控制模块,用于根据所述目标转发路径生成目标转发流表,将所述目标转发流表发送至所述交换子系统中的目标交换机,以控制所述目标交换机根据所述目标转发流表对终端设备的业务数据进行转发;
其中,所述网络拓扑信息,包括:
所述软件定义系统的网络拓扑结构、所述网络拓扑结构中各拓扑路径的带宽以及各拓扑路径的时延;其中,所述拓扑路径包括多段在两个交换机端口之间形成的链路;
相应的,所述获取模块,包括:
网络拓扑结构获取单元,用于获取软件定义系统的网络拓扑结构;
拓扑路径确定单元,用于基于所述网络拓扑结构确定多条拓扑路径;
获取单元,用于获取所述拓扑路径的时延和所述拓扑路径所包含链路的链路带宽;
其中,所述确定模块,还包括:
转发路径确定单元,用于根据各所述拓扑路径的时延确定时延递增排序最小的预设数量的转发路径;所述预设数量用于表示目标转发路径的最大数量;
目标转发路径确定单元,用于基于各所述拓扑路径的时延和所包含链路的链路带宽,从所述转发路径中确定至少一条目标转发路径;
其中,所述目标转发路径确定单元,还包括:
可用带宽确定子单元,用于对于各所述转发路径,基于所包含链路的链路带宽确定所述转发路径的可用带宽;其中,所述转发路径的可用带宽由转发路径所包含的链路的带宽的最小值以及链路是否属于多条路径的共同链路所确定;
优选转发路径确定子单元,用于将时延最小且可用带宽大于第一预设带宽值的转发路径确定为优选转发路径;
延时系数确定子单元,用于分别确定除所述优选转发路径之外的各转发路径的延时系数;
备选转发路径确定子单元,用于将延时系数大于预设系数且可用带宽大于第一预设带宽值的转发路径确定为备选转发路径;
目标转发路径确定子单元,用于将备选转发路径和优选转发路径确定为目标转发路径;
其中,所述可用带宽确定子单元,具体用于:
对于全部包含唯一链路的第一转发路径,将所包含链路的最小链路带宽确定为所述第一转发路径的第一可用带宽;
对于包含共同链路的多条第二转发路径,根据各所述第二转发路径的时延递增排序依次确定各所述第二转发路径的第二可用带宽;
其中,所述第二可用带宽根据所述第二转发路径所包含的各链路的最小链路带宽和/或所述共同链路的链路带宽确定;
其中,所述获取单元,具体用于:
创建探测数据包,所述探测数据包包括:创建时间和所述拓扑路径中的首个交换机对应的第一探测转发流表;
将所述探测数据包发送至所述首个交换机,以使所述首个交换机基于所述第一探测转发流表将所述探测数据包转发至下一个交换机;
获取所述首个交换机转发所述探测数据包的转发时间并执行转发控制操作,所述转发控制操作包括:在接收到所述下一个交换机发送的反馈消息时,基于所述拓扑路径确定所述下一个交换机对应的第二探测转发流表,向所述下一个交换机发送所述第二探测转发流表,以使所述下一个交换机基于所述第二探测转发流表转发所述探测数据包;并获取所述下一个交换机转发所述探测数据包的转发时间;
重复执行所述转发控制操作直至将所述探测数据包转发至所述拓扑路径中的最后一个交换机;
接收所述最后一个交换机转发的探测数据包,并记录接收到所述探测数据包的接收时间;
根据所述创建时间、所述拓扑路径中各交换机转发数据包的转发时间和所述接收时间确定所述拓扑路径的时延;
其中,所述获取单元,还用于:
分别向所述拓扑路径所包含链路两端的交换机发送端口信息请求报文,获取各交换机端口的最大吞吐量和当前已用吞吐量;
对于各所述交换机端口,将所述最大吞吐量和所述当前已用吞吐量的差值确定为吞吐量差值;
将所述链路两端的交换机端口的吞吐量差值中的最小值确定为所述链路的带宽。
3.一种控制设备,应用于软件定义SDN系统,所述SDN系统包括:控制设备、包含多个交换机的交换子系统以及与所述交换子系统连接的多个终端设备;所述控制设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的交换机控制方法。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的交换机控制方法。 说明书 : 一种交换机控制方法、装置、控制设备及存储介质技术领域[0001] 本发明实施例涉及软件定义系统控制技术领域,尤其涉及一种交换机控制方法、装置、控制设备及存储介质。背景技术[0002] 随着超低网络延迟或高吞吐量为基础的应用的出现,如无人驾驶、云游戏、VR视频和云储存;越来越多的数据和计算密集型应用程序交由数据中心负责执行。[0003] 在数据中心网络架构中,常见的网络拓扑有Fat‑Tree、DCell以及BCube等。不同的网络拓扑架构适用于不同的需求环境,但是这些网络拓扑架构的共同点是设备之间往往拥有多条路径。[0004] 然而,在传统网络中,由于路由协议和传输机制等对数据传输的限制,无法有效利用主机之间存在的多条路径进行传输。发明内容[0005] 本发明实施例提供一种交换机控制方法、装置、控制设备及存储介质,以实现能够对软件定义系统的网络拓扑信息进行实时监控,根据网络拓扑信息确定目标转发路径,从而实现在无需终端支持协议的情况下,通过对网络拓扑中的交换机进行控制实现多路径并行传输。[0006] 第一方面,本发明实施例提供了一种交换机控制方法,应用于软件定义SDN系统的控制设备,所述SDN系统包括:控制设备、包含多个交换机的交换子系统以及与所述交换子系统连接的多个终端设备,所述方法包括:[0007] 获取软件定义系统的网络拓扑信息;[0008] 根据所述网络拓扑信息确定至少一条目标转发路径;[0009] 根据所述目标转发路径生成目标转发流表,将所述目标转发流表发送至所述交换子系统中的目标交换机,以控制所述目标交换机根据所述目标转发流表对终端设备的业务数据进行转发。[0010] 进一步的,所述网络拓扑信息,包括:[0011] 所述软件定义系统的网络拓扑结构、所述网络拓扑结构中各拓扑路径的带宽以及各拓扑路径的时延;其中,所述拓扑路径包括多段在两个交换机端口之间形成的链路;[0012] 相应的,获取软件定义系统的网络拓扑信息,包括:[0013] 获取软件定义系统的网络拓扑结构;[0014] 基于所述网络拓扑结构确定多条拓扑路径;[0015] 获取所述拓扑路径的时延和所述拓扑路径所包含链路的链路带宽。[0016] 进一步的,所述根据所述网络拓扑信息确定至少一条目标转发路径,包括:[0017] 根据各所述拓扑路径的时延确定时延递增排序最小的预设数量的转发路径;所述预设数量用于表示目标转发路径的最大数量;[0018] 基于各所述拓扑路径的时延和所包含链路的链路带宽,从所述转发路径中确定至少一条目标转发路径。[0019] 进一步的,所述基于各所述拓扑路径的时延和所包含链路的链路带宽,从预设数量的所述转发路径中确定至少一条目标转发路径,包括:[0020] 对于各所述转发路径,基于所包含链路的链路带宽确定所述转发路径的可用带宽;[0021] 将时延最小且可用带宽大于第一预设带宽值的转发路径确定为优选转发路径;[0022] 分别确定除所述优选转发路径之外的各转发路径的延时系数;[0023] 将延时系数大于预设系数且可用带宽大于第一预设带宽值的转发路径确定为备选转发路径;[0024] 将备选转发路径和优选转发路径确定为目标转发路径。[0025] 进一步的,所述基于所述时延和所包含链路的链路带宽确定所述转发路径的可用带宽,包括:[0026] 对于全部包含唯一链路的第一转发路径,将所包含链路的最小链路带宽确定为所述第一转发路径的第一可用带宽;[0027] 对于包含共同链路的多条第二转发路径,根据各所述第二转发路径的时延递增排序依次确定各所述第二转发路径的第二可用带宽;[0028] 其中,所述第二可用带宽根据所述第二转发路径所包含的各链路的最小链路带宽和/或所述共同链路的链路带宽确定。[0029] 进一步的,所述获取所述拓扑路径的时延,包括:[0030] 创建探测数据包,所述探测数据包包括:创建时间和所述拓扑路径中的首个交换机对应的第一探测转发流表;[0031] 将所述探测数据包发送至所述首个交换机,以使所述首个交换机基于所述第一探测转发流表将所述探测数据包转发至下一个交换机;[0032] 获取所述首个交换机转发所述探测数据包的转发时间并执行转发控制操作,所述转发控制操作包括:在接收到所述下一个交换机发送的反馈消息时,基于所述拓扑路径确定所述下一个交换机对应的第二探测转发流表,向所述下一个交换机发送所述第二探测转发流表,以使所述下一个交换机基于所述第二探测转发流表转发所述探测数据包;并获取所述下一个交换机转发所述探测数据包的转发时间;[0033] 重复执行所述转发控制操作直至将所述探测数据包转发至所述拓扑路径中的最后一个交换机;[0034] 接收所述最后一个交换机转发的探测数据包,并记录接收到所述探测数据包的接收时间;[0035] 根据所述创建时间、所述拓扑路径中各交换机转发数据包的转发时间和所述接收时间确定所述拓扑路径的时延。[0036] 进一步的,获取所述拓扑路径所包含链路的链路带宽,包括:[0037] 分别向所述拓扑路径所包含链路两端的交换机发送端口信息请求报文,获取各交换机端口的最大吞吐量和当前已用吞吐量;[0038] 对于各所述交换机端口,将所述最大吞吐量和所述当前已用吞吐量的差值确定为吞吐量差值;[0039] 将所述链路两端的交换机端口的吞吐量差值中的最小值确定为所述链路的带宽。[0040] 第二方面,本发明实施例还提供了一种交换机控制装置,该装置包括:[0041] 集成于软件定义SDN系统的控制设备包括:所述SDN系统包括:控制设备、包含多个交换机的交换子系统以及与所述交换子系统连接的多个终端设备,所述装置包括:[0042] 获取模块,用于获取软件定义系统的网络拓扑信息;[0043] 确定模块,用于根据所述网络拓扑信息确定至少一条目标转发路径;[0044] 控制模块,用于根据所述目标转发路径生成目标转发流表,将所述目标转发流表发送至所述交换子系统中的目标交换机,以控制所述目标交换机根据所述目标转发流表对终端设备的业务数据进行转发。[0045] 第三方面,本发明实施例还提供了一种控制设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的交换机控制方法。[0046] 第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的交换机控制方法。[0047] 本发明实施例通过获取软件定义系统的网络拓扑信息;根据网络拓扑信息确定至少一条目标转发路径;根据所述目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发,能够对软件定义系统的网络拓扑信息进行实时监控,根据网络拓扑信息配置目标转发路径,从而实现在无需终端设备支持协议的情况下,通过对网络拓扑中的交换机进行控制实现多路径并行传输。附图说明[0048] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。[0049] 图1是本发明实施例一中的一种交换机控制方法的流程图;[0050] 图2是SDN系统的总体架构示意图;[0051] 图3是本发明实施例二中的一种交换机控制方法的流程图;[0052] 图4是本发明实施例三中的一种交换机控制装置的结构示意图;[0053] 图5是本发明实施例四中的一种控制设备的结构示意图。具体实施方式[0054] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。[0055] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。[0056] 实施例一[0057] 图1为本发明实施例一提供的一种交换机控制方法的流程图,本实施例可适用于在软件定义系统中控制目标交换机转发终端设备的业务数据的情况。[0058] 软件定义系统(SoftwareDefinedNetwork,SDN)是一种新型网络创新架构,基于转发与控制分离的分层思想对网络进行集中化的管理。SDN网络体系结构从上到下可分为三层,共计五部分,分别是应用层、北向接口、控制层、南向接口和基础设施层。[0059] 其中,控制层是整个网络的大脑,位于基础设施层和应用层之间,其将底层硬件设备进行抽象,使得应用层的应用开发能够以透明的方式访问调用底层网络设备,控制层主要由控制设备组成,常见的控制设备有OpenDaylight、ONOS、Ryu等。[0060] 基础设施层位于SDN系统的最底层,与传统网络相似,由路由器、交换机和中间设备等一些网络设备组成。与传统网络不同的是,SDN系统中的网络设备仅负责处理数据的转发,而不负责控制和决策数据进行怎样的转发。基础设施层中负责控制和决策的模块被从分布式的设备中抽离出来集中到控制层上,控制层对全局的网络设备进行统筹规划后将决策下发至基础设施层。[0061] 图2是SDN系统的总体架构示意图,如图2所示,SDN系统包括:控制设备10、包含多个交换机21的交换子系统20以及与交换子系统连接的多个终端设备30(图2中仅示意两个终端设备,终端设备A和终端设备B)。其中交换子系统20中与任一终端设备直接相连的交换机为边缘交换机,如交换机1和交换机6;两端分别与其他交换机相连的交换机为中间交换机,如交换机2、交换机3、交换机4、和交换机5。交换机21包括交换机端口22。具体的,终端设备A和终端设备B通过交换子系统中的多个交换机进行业务数据的交互。控制设备用于确定目标转发路径并生成目标转发流表,将目标转发流表发送至与目标转发路径相关的目标交换机,控制目标交换机根据目标转发流表转发终端设备的业务数据至终端设备或者下一个交换机。[0062] 本发明实施例提供的一种交换机控制方法可以由本发明实施例中的交换机控制装置来执行,该装置可采用软件和/或硬件的方式实现,该交换机控制装置可以集成在软件定义SDN系统的控制设备中。[0063] 如图1所示,该方法具体包括如下步骤:[0064] S110,获取软件定义系统的网络拓扑信息。[0065] 其中,网络拓扑信息包括:网络拓扑结构、所述网络拓扑结构中各拓扑路径的带宽以及各拓扑路径的时延。[0066] 网络拓扑结构是指SDN系统中各终端设备和各交换机相互连接的形式;常见的网络拓扑结构包括:总线型拓扑、星形拓扑、环形拓扑和树形拓扑。网络拓扑结构中两个终端设备通过多条链路所构成的传输路径为拓扑路径,链路是两个不同交换机的交换机端口之间的连接。一般地,如图2所示,SDN系统包括多条拓扑路径。拓扑路径的元素包括交换机21、交换机端口22和链路23。[0067] 示例性的,如图2所示,终端设备A和终端设备B之间的其中一条拓扑路径为终端设备A‑交换机1‑交换机2‑交换机3‑交换机6‑终端B,则该拓扑路径所包含的链路包括:交换机1‑交换机2、交换机2‑交换机3和交换机3‑交换机6。[0068] 示例性的,获取拓扑路径的带宽的方式可以是获取拓扑路径中各链路的带宽,基于该拓扑路径中各链路的最小链路带宽确定拓扑路径的带宽。获取拓扑路径的时延可以由控制设备向交换子系统中发送数据包,经过任一拓扑路径传输后反馈至控制设备,根据发送时间和接收时间的差值计算拓扑路径时延。[0069] S120,根据网络拓扑信息确定至少一条目标转发路径。[0070] 其中,目标转发路径是基于SDN系统的网络拓扑信息从多条拓扑路径中所选择的转发路径,用于传输业务数据的转发路径。目标转发路径的数量可以是一个或多个,且小于SDN系统中拓扑路径的总数量。[0071] 具体的,基于软件定义系统的网络拓扑结构,确定两个终端设备之间的所有拓扑路径,根据每条拓扑路径的带宽和时延确定从拓扑路径中确定目标转发路径。[0072] S130,根据目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发。[0073] 其中,目标转发路径由多段链路构成,每段链路两端分别连接一个交换机,链路起始端连接的交换机为源交换机,链路结束端连接的交换机为目的交换机,目标交换机即为源交换机。[0074] 目标转发流表用于指示目标交换机转发业务数据的接收交换机和接收交换机端口。目标转发流表包括:源交换机信息和目的交换机信息;源交换机信息包括:源交换机标识和源端口号;目的交换机信息包括:目的交换机标识信息和目的端口号。[0075] 具体的,基于目标转发路径中各链路的源交换机信息和目的交换机信息生成源交换机对应的目标转发流表;将目标转发流表发送至对应的目标交换机,以控制目标交换机基于目标转发流表中的目的交换机信息,将接收到的终端设备产生的业务数据转发给目的交换机。[0076] 本技术方案可以根据网络拓扑信息确定至少一条目标转发路径,且在无需终端设备支持协议的情况下,通过对网络拓扑中的交换机进行控制可以实现多路径并行传输。[0077] 示例性的,如图2所示,若目标转发路径为:终端设备A‑交换机1‑交换机2‑交换机3‑交换机6‑终端B,目标转发路径包含的链路为第一链路:交换机1‑交换机2;第二链路:交换机2‑交换机3;以及第三链路:交换机3‑交换机6。[0078] 将第一链路的源交换机(交换机1)作为第一目标交换机,生成第一目标转发流表,向第一目标交换机发送第一目标转发流表,控制第一链路的第一目标交换机将接收到的终端设备A的业务数据转发到第一链路的目的交换机(交换机2)。从而第一链路的第一目的交换机作为下一个链路的源交换机(交换机2),即第二目标交换机;基于目标转发路径中第二链路的源交换机信息和目的交换机信息生成第二目标交换机对应的第二目标转发流表,将第二目标转发流表发送到第二目标交换机,控制第二链路的第第二目标交换机将接收到第一目标交换机转发的业务数据转发到第二链路的目的交换机(交换机3),直到将业务数据转发到与终端设备B连接的交换机6,最终交换机6将业务数据转发到终端设备6,完成业务数据从终端设备A通过交换机字子系统发送到终端设备B。[0079] 本实施例的技术方案,通过获取软件定义系统的网络拓扑信息;根据网络拓扑信息确定至少一条目标转发路径;根据所述目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发,能够对软件定义系统的网络拓扑信息进行实时监控,根据网络拓扑信息配置目标转发路径,从而实现在无需终端设备支持协议的情况下,通过对网络拓扑中的交换机进行控制实现多路径并行传输。[0080] 实施例二[0081] 图3为本发明实施例二中的一种交换机控制方法的流程图,本实施例以上述实施例为基础对网络拓扑信息进行优化。[0082] 如图3所示,本实施例的方法具体包括如下步骤:[0083] S210,获取软件定义系统的网络拓扑结构。[0084] 其中,网络拓扑结构的元素包括链路、交换机和交换机端口,获取这三个元素即可得到软件定义系统的网络拓扑结构。[0085] 具体的,通过控制设备的拓扑发现单元实时感知SDN系统中可用的交换机,并构造链路层发现协议(LinkLayerDiscoveryProtocol,LLDP)数据包,该LLDP数据包提供了一种标准的链路层发现方式,可以将本端节点的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(LinkLayerDiscoveryProtocolDataUnit,链路层发现协议数据单元)中发布给与自己直连的相邻节点,相邻节点收到这些信息后将其以标准MIB(ManagementInformationBase,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。[0086] 在系统启动时首次建立网络拓扑模型并存储,在之后的系统运行过程中周期性地进行网络拓扑发现操作,实时获取网络拓扑的变化信息。若系统运行期间拓扑发生变化,则需要重新获取网络拓扑。该步骤所建立的网络拓扑结构为路径选择的正确运行提供基础。[0087] 示例性的,图4是一种发现链路的示意图,如图4所示,控制设备将LLDP数据包通过与控制设备相连的交换机端口发送至交换机,交换机通过与之相连的端口将LLDP数据包转发至下一个交换机,下一个交换机将LLDP数据包返回到控制设备中。控制设备收到LLDP数据包后,对其进行解析,从LLDP数据包中的交换机标识字段和端口字段可以得到链路的源交换机和源端口号,通过收到的消息可以获得目的交换机地址和端口号,从而确定一个链路的连接信息,重复上述过程完成所有交换机的拓扑发现,搜集两个终端设备之间所连接的所有交换机的连接信息。根据所有交换机的连接信息确定软件定义系统的网络拓扑结构。[0088] S220,基于网络拓扑结构确定多条拓扑路径。[0089] 具体的,网络拓扑结构所包含的链路可以确定多条拓扑路径,其中,每条拓扑路径包含多条首尾相连的链路,且能够使两个终端设备之间进行业务数据交互。[0090] S230,获取拓扑路径的时延和拓扑路径所包含链路的链路带宽。[0091] 具体的,基于网络拓扑结构所确定的拓扑路径,通过控制设备中的监测单元实时监测各拓扑路径的时延和拓扑路径所包含链路的链路带宽,将监测到的信息实时存储到控制设备中作为路径选择的依据。[0092] 示例性的,带宽监测单元可以通过实时统计链路两侧的端口的吞吐量来估算该路径的带宽;延迟监测单元可以通过一种基于OpenFlow协议的监测机制,使系统能够在网络占用非常有限的情况下,可靠而有效地确定网络拓扑在运行过程中每个环节的延迟。[0093] S240,根据各拓扑路径的时延确定时延递增排序最小的预设数量的转发路径;预设数量用于表示目标转发路径的最大数量。[0094] 其中,转发路径的预设数量为目标转发路径的最大数量,即最终确定的目标转发路径不超过该预设数量;可以根据用户需求和系统参数设置,例如可以通过将预设数量作为参数写入配置文件的方式设置。[0095] 具体的,通过控制控制设备中的路径选择单元基于监测单元监测的各拓扑路径的时延对各拓扑路径进行递增排序,确定时延递增排序最小的预设数量的转发路径。[0096] S250,基于各拓扑路径的时延和所包含链路的链路带宽,从转发路径中确定至少一条目标转发路径。[0097] 具体的,在确定时延递增排序最小的预设数量的转发路径,还需要结合转发路径的带宽确定目标转发路径。目标转发路径的数量可以为一个或多个,由各转发路径之间的时延差异所确定,时延差异可以采用时延系数所衡量。[0098] 若多条转发路径的时延差异比较大,那么聚合这若干条转发路径的带宽的效果会比选择单条转发路径还要差。因此,引入最大延迟不平衡概念,即当多条路径的延迟不平衡系数高于阈值时,则认为延迟差异太高,无法提供路径聚合的带宽优势,从而选择单路径传输。若多条转发路径的延迟差异较小,则将多条转发路径确定为目标转发路径,利用各目标转发路径的聚合带宽传输业务数据。[0099] S260,根据目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发。[0100] 示例性的,目标交换机在接收到目标转发流表之后,确定用于转发业务数据的交换机端口,根据目标转发流表计算每个交换机端口需分发的业务数据,向交换机端口发送控制指令控制交换机端口进行业务数据的转发。[0101] 计算每个交换机端口需分发的业务数据的方式可以采用加权循环调度算法,具体的,轮询的分发每条路径数据包的数量。为了最大化性能,应该在不同目标转发路径上分发最优数量的数据,既不能使拥挤的路径过载,又要确保充分利用目标转发路径的可用带宽。为了降低高速传输过程中的包乱序问题,在发送业务数据时,采用每次轮询发送若干个业务数据包而不是单个业务数据包的方法,其中业务数据包的数量与带宽成正比,与最大时延系数成正比,即带宽和最大时延系数越大每次轮询发送的业务数据包越多,这样可以尽量保证在接收端部分业务数据包是按序到达的。[0102] 对于多路径传输过程中,接收到目标交换机转发的业务数据的新的交换机而言,该新的交换机可能会同时接收到多个目标交换机转发的业务数据包,因此目标交换机还需要设置数据包接收器用于将接接收到的来自多条路径的业务数据包进行重新排序,避免乱序的数据包对传输性能的影响。数据包接收器由数据包包括:缓存单元和数据包排序单元。[0103] 数据包缓存单元负责为每个数据流维护下一个预期序列号的记录,并且在交换机中为每条数据流维护一个缓存池,负责将不适合立即转发的数据包暂存在缓存池中。[0104] 数据包排序单元负责,根据包重排算法对位于数据包缓存单元的业务数据包和新接收到的业务数据包进行排序并转发。其中包重排算法的规则如下:当业务数据包的序列号与预期序列号匹配时转发该业务数据包,并且依次搜索位于缓存池中的业务数据包,并转发序列号小于当前预期序列号的业务数据包,否则将业务数据包存储进缓存池,表示待发送的业务数据包,并对这些业务数据包按序列号排序,这些业务数据包可能是从多条路径传输过来,并且序列号大于当前期待的业务数据包序列号,即较先发送的业务数据包较晚到达,最后更新预期序列号,等待下一个业务数据包。[0105] 本实施例的技术方案,通过获取软件定义系统的网络拓扑结构;基于网络拓扑结构确定多条拓扑路径;获取拓扑路径的时延和拓扑路径所包含链路的链路带宽;根据各拓扑路径的时延确定时延递增排序最小的预设数量的转发路径;基于各拓扑路径的时延和所包含链路的链路带宽,从转发路径中确定至少一条目标转发路径;根据目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发,能够对软件定义系统的网络拓扑信息进行实时监控,根据网络拓扑信息配置目标转发路径,从而实现在无需终端设备支持协议的情况下,通过对网络拓扑中的交换机进行控制实现多路径并行传输。另外,实现多条路径的带宽聚合,降低多条路径的差异所带来的传输时延,提高吞吐量以及冗余链路利用率。[0106] 可选的,基于各拓扑路径的时延和所包含链路的链路带宽,从预设数量的转发路径中确定至少一条目标转发路径,包括:[0107] 对于各转发路径,基于所包含链路的链路带宽确定转发路径的可用带宽;[0108] 将时延最小且可用带宽大于第一预设带宽值的转发路径确定为优选转发路径;[0109] 分别确定除所述优选转发路径之外的各转发路径的延时系数;[0110] 将延时系数大于预设系数且可用带宽大于第一预设带宽值的转发路径确定为备选转发路径;[0111] 将备选转发路径和优选转发路径确定为目标转发路径。[0112] 其中,转发路径的可用带宽由转发路径所包含的链路的带宽的最小值以及链路是否属于多条路径的共同链路所确定。第一预设带宽值可以根据实际需求确定,例如可以是零,或者是转发路径可用于转发数据的最小带宽。[0113] 转发路径的延时系数用于表示转发路径的时延与优选转发路径对应的最小时延的比值,这里可以认为优选转发路径对应的最小时延为1,从而反映转发路径与优选转发路径之间时延差距。[0114] 具体的,基于转发路径所包含链路的链路带宽确定转发路径的可用带宽,将时延最小且可用带宽大于第一预设带宽值的转发路径确定为优选转发路径;该路径可以认为是所有转发路径中的最优转发路径,将优选转发路径作为目标转发路径之一。除此之外,将延时系数大于预设系数且可用带宽大于第一预设带宽值的转发路径确定为备选转发路径,将备选转发路径同样作为目标转发路径,实现多条路径的并行传输。[0115] 其中,预设系数可以根据业务数据传输的时延要求所确定,备选转发路径与优选转发路径的时延的差距在预设范围内,降低了多条路径的差异所带来的传输时延。[0116] 需要说明的是,若不存在符合条件的备选转发路径,则该系统无法实现多路径并行传输,实行目标转发路径即为优选转发路径的单路径传输。[0117] 可选的,基于所包含链路的链路带宽确定转发路径的可用带宽,包括:[0118] 对于全部包含唯一链路的第一转发路径,将所包含链路的最小链路带宽确定为所述第一转发路径的第一可用带宽;[0119] 对于包含共同链路的多条第二转发路径,根据各第二转发路径的时延递增排序依次确定各第二转发路径的第二可用带宽;[0120] 其中,第二可用带宽根据第二转发路径所包含的各链路的最小链路带宽和/或共同链路的带宽确定。[0121] 其中,唯一链路是指仅属于一条转发路径的链路,如图2中所示的交换机1和交换机2之间的链路与交换机2和交换机3之间的链路(仅属于转发路径1:交换机1‑交换机2‑交换机3‑交换机6)以及交换机4和交换机5之间的链路以及交换机5和交换机6之间的链路(仅属于转发路径2:交换机1‑交换机4‑交换机5‑交换机6)。共同链路是指同时属于多条转发路径的链路,如图2中所示的交换机1和交换机4之间的链路同时属于转发路径2:交换机1‑交换机4‑交换机5‑交换机6和转发路径3:交换机1‑交换机4‑交换机3‑交换机6。[0122] 具体的,对于所包含链路全部为唯一链路的第一转发路径,例如在图2中所示的所包含链路全部为唯一链路的转发路径1:交换机1‑交换机2‑交换机3‑交换机6,第一可用带宽为链路1:交换机1‑交换机2、链路2:交换机2‑交换机3和链路3:交换机3‑交换机6中的最小链路带宽。[0123] 对于包含共同链路的多条第二转发路径,例如在图2中所示的包含共同链路:交换机1和交换机4之间的链路的转发路径2和转发路径3。其中,转发路径2:交换机1‑交换机4‑交换机5‑交换机6和转发路径3:交换机1‑交换机4‑交换机3‑交换机6。若转发路径2的时延小于转发路径3的时延,则先确定转发路径2的第二可用带宽,确定转发路径2的第二可用带宽的方法为:根据转发路径2中所有链路的链路带宽(包含共同链路的链路带宽)确定转发路径2的最小链路带宽,将转发路径2的最小链路带宽确定为转发路径2的第二可用带宽。[0124] 然后确定转发路径3的第二可用带宽,确定转发路径3的第二可用带宽的方法为:根据转发路径3中所有链路的链路带宽确定转发路径3的最小链路带宽,将共同链路的链路带宽减去转发路径2最小链路带宽得到的共同链路在转发路径3的链路带宽,将转发路径3中所有链路带宽中的(包含共同链路在转发路径3的链路带宽)的最小链路带宽确定为转发路径3的第二可用带宽。[0125] 可以理解的是若共同链路带宽为转发路径2最小链路带宽,则转发路径3的可用带宽为零。[0126] 需要说明的是,若上述共同链路还属于转发路径4,则转发路径4的第二可用带宽的计算方式与转发路径3的第二可用带宽的计算方式类似。将共同链路的链路带宽减去转发路径2的最小链路带宽,在减去转发路径3的最小链路带宽得到的差值,得到共同链路在转发路径4的链路带宽,将转发路径4中所有链路带宽中的(包含共同链路在转发路径4的链路带宽)的最小链路带宽确定为转发路径4的第二可用带宽。[0127] 可选的,获取拓扑路径的时延,包括:[0128] 创建探测数据包,探测数据包包括:创建时间和拓扑路径的首个交换机对应的第一探测转发流表;[0129] 将探测数据包发送至首个交换机,以使首个交换机基于第一探测转发流表将探测数据包转发至下一个交换机;[0130] 获取首个交换机转发探测数据包的转发时间并执行转发控制操作,转发控制操作包括:在接收到下一个交换机发送的反馈消息时,基于拓扑路径确定下一个交换机对应的第二探测转发流表,向下一交换机发送第二探测转发流表,以使下一个交换机基于第二探测转发流表转发探测数据包;获取下一个交换机转发探测数据包的转发时间;[0131] 重复执行转发控制操作直至将探测数据包转发至拓扑路径中的最后一个交换机;[0132] 接收最后一个交换机转发的探测数据包,并记录接收到探测数据包的接收时间;[0133] 根据创建时间、拓扑路径中各交换机转发数据包的转发时间和接收时间确定拓扑路径的时延。[0134] 具体的,创建基于OpenFlow协议的以太网帧作为探测数据包,利用探测数据包在一条路径上的往返时间来估算路径的延迟。探测数据包中包括:探测数据包的创建时间和拓扑路径的首个交换机对应的第一探测转发流表;该第一探测转发流表用于指示首个交换机交探测数据转发至下一个交换机。获取首个交换机转发探测数据包的转发时间并执行转发控制操作以控制下一个交换机继续转发探测数据包。[0135] 其中,转发控制操作包括:在接收到下一个交换机发送的反馈消息时,基于拓扑路径确定下一个交换机对应的第二探测转发流表,向下一个交换机发送第二探测转发流表,以使下一个交换机基于第二探测转发流表转发探测数据包。并在每一个交换机转发探测数据包之后,获取转发探测数据包的转发时间。[0136] 重复执行上述转发控制操作直至将探测数据包转发至拓扑路径中的最后一个交换机。[0137] 因此,通过上述重复执行的转发控制操作可以控制探测数据包从拓扑路径的首个交换机转发至最后一个交换机,接收最后一个交换机转发的探测数据包,并记录接收到探测数据包的接收时间;从而通过解析探测数据包可以得到控制器的发出时间、各个交换机的转发时间,以及控制器接收数据包的时间,从而确定该拓扑路径的时延。[0138] 具体的,下一个交换机发送的反馈消息可以是当该下一个交换机收到上一个交换机转发的探测数据包时,由于没有探测转发流表与之匹配无法转发探测数据包,会向控制器发送一个反馈消息,请求控制下发探测转发流表,而不是将转发探测数据包转发至所有的交换机端口。但是在这过程中无法避免会发生时延。[0139] 可选的,获取拓扑路径所包含链路的链路带宽,包括:[0140] 分别向拓扑路径所包含链路两端的交换机发送端口信息请求报文,获取各交换机端口的最大吞吐量和当前已用吞吐量;[0141] 对于各交换机端口,将最大吞吐量和当前已用吞吐量的差值确定为吞吐量差值;[0142] 将链路两端的交换机端口的吞吐量差值中的最小值确定为链路的带宽。[0143] 其中,吞吐量是指对端口单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。[0144] 具体的,周期性的向各交换机发送端口信息请求报文,获取交换机返回的端口信息报文中包含当前端口的流量计数信息和最大吞吐量,基于端口在统计周期内的流量计数差值和周期时间计算得出当前已用吞吐量,对于每个交换机端口,将最大吞吐量和当前已用吞吐量的差值确定为吞吐量差值,该吞吐量差值用于反映端口可传输数据的数量。链路的带宽为两端的交换机端口的吞吐量差值中的最小值。[0145] 实施例三[0146] 图4为本发明实施例三提供的一种交换机控制装置的结构示意图。本实施例可适用于在软件定义系统中控制目标交换机转发终端设备的业务数据的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在软件定义SDN系统的控制设备中,所述SDN系统包括:控制设备、包含多个交换机的交换子系统以及与所述交换子系统连接的多个终端设备。如图4所示,所述交换机控制装置具体包括:获取模块410、确定模块420和控制模块430。[0147] 其中,获取模块410,用于获取软件定义系统的网络拓扑信息;[0148] 确定模块420,用于根据所述网络拓扑信息确定至少一条目标转发路径;[0149] 控制模块430,用于根据所述目标转发路径生成目标转发流表,将所述目标转发流表发送至所述交换子系统中的目标交换机,以控制所述目标交换机根据所述目标转发流表对终端设备的业务数据进行转发。[0150] 可选的,所述网络拓扑信息,包括:[0151] 所述软件定义系统的网络拓扑结构、所述网络拓扑结构中各拓扑路径的带宽以及各拓扑路径的时延;其中,所述拓扑路径包括多段在两个交换机端口之间形成的链路;[0152] 相应的,所述获取模块,包括:[0153] 网络拓扑结构获取单元,用于获取软件定义系统的网络拓扑结构;[0154] 拓扑路径确定单元,用于基于所述网络拓扑结构确定多条拓扑路径;[0155] 获取单元,用于获取所述拓扑路径的时延和所述拓扑路径所包含链路的链路带宽。[0156] 可选的,所述确定模块,包括:[0157] 转发路径确定单元,用于根据各所述拓扑路径的时延确定时延递增排序最小的预设数量的转发路径;所述预设数量用于表示目标转发路径的最大数量;[0158] 目标转发路径确定单元,用于基于各所述拓扑路径的时延和所包含链路的链路带宽,从所述转发路径中确定至少一条目标转发路径。[0159] 可选的,所述目标转发路径确定单元,包括:[0160] 可用带宽确定子单元,用于对于各所述转发路径,基于所包含链路的链路带宽确定所述转发路径的可用带宽;[0161] 优选转发路径确定子单元,用于将时延最小且可用带宽大于第一预设带宽值的转发路径确定为优选转发路径;[0162] 延时系数确定子单元,用于分别确定除所述优选转发路径之外的各转发路径的延时系数;[0163] 备选转发路径确定子单元,用于将延时系数大于预设系数且可用带宽大于第一预设带宽值的转发路径确定为备选转发路径;[0164] 目标转发路径确定子单元,用于将备选转发路径和优选转发路径确定为目标转发路径。[0165] 可选的,所述可用带宽确定子单元,具体用于:[0166] 对于全部包含唯一链路的第一转发路径,将所包含链路的最小链路带宽确定为所述第一转发路径的第一可用带宽;[0167] 对于包含共同链路的多条第二转发路径,根据各所述第二转发路径的时延递增排序依次确定各所述第二转发路径的第二可用带宽;[0168] 其中,所述第二可用带宽根据所述第二转发路径所包含的各链路的最小链路带宽和/或所述共同链路的链路带宽确定。[0169] 可选的,所述获取单元,具体用于:[0170] 创建探测数据包,所述探测数据包包括:创建时间和所述拓扑路径中的首个交换机对应的第一探测转发流表;[0171] 将所述探测数据包发送至所述首个交换机,以使所述首个交换机基于所述第一探测转发流表将所述探测数据包转发至下一个交换机;[0172] 获取所述首个交换机转发所述探测数据包的转发时间并执行转发控制操作,所述转发控制操作包括:在接收到所述下一个交换机发送的反馈消息时,基于所述拓扑路径确定所述下一个交换机对应的第二探测转发流表,向所述下一个交换机发送所述第二探测转发流表,以使所述下一个交换机基于所述第二探测转发流表转发所述探测数据包;并获取所述下一个交换机转发所述探测数据包的转发时间;[0173] 重复执行所述转发控制操作直至将所述探测数据包转发至所述拓扑路径中的最后一个交换机;[0174] 接收所述最后一个交换机转发的探测数据包,并记录接收到所述探测数据包的接收时间;[0175] 根据所述创建时间、所述拓扑路径中各交换机转发数据包的转发时间和所述接收时间确定所述拓扑路径的时延。[0176] 可选的,所述获取单元,还用于:[0177] 分别向所述拓扑路径所包含链路两端的交换机发送端口信息请求报文,获取各交换机端口的最大吞吐量和当前已用吞吐量;[0178] 对于各所述交换机端口,将所述最大吞吐量和所述当前已用吞吐量的差值确定为吞吐量差值;[0179] 将所述链路两端的交换机端口的吞吐量差值中的最小值确定为所述链路的带宽。[0180] 上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。[0181] 实施例四[0182] 图5为本发明实施例四提供的一种控制设备的结构框图,如图5所示,该控制设备包括处理器410、存储器420、输入装置430和输出装置440;控制设备中处理器410的数量可以是一个或多个,图5中以一个处理器410为例;控制设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图5中以通过总线连接为例。[0183] 存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的交换机控制方法对应的程序指令/模块(例如,交换机控制装置中的获取模块310、确定模块320和控制模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行控制设备的各种功能应用以及数据处理,即实现上述的交换机控制方法。[0184] 存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至控制设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0185] 输入装置430可用于接收输入的数字或字符信息,以及产生与控制设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。[0186] 实施例五[0187] 本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的交换机控制方法:获取软件定义系统的网络拓扑信息;根据网络拓扑信息确定至少一条目标转发路径;根据目标转发路径生成目标转发流表,将目标转发流表发送至交换子系统中的目标交换机,以控制目标交换机根据目标转发流表对终端设备的业务数据进行转发。[0188] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。[0189] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。[0190] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。[0191] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。[0192] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
专利地区:北京
专利申请日期:2022-01-25
专利公开日期:2024-06-18
专利公告号:CN114500354B