CN113904984B - 一种适用于sap与b2b系统的数据传输方法 - Google Patents
一种适用于sap与b2b系统的数据传输方法 Download PDFInfo
- Publication number
- CN113904984B CN113904984B CN202111227336.8A CN202111227336A CN113904984B CN 113904984 B CN113904984 B CN 113904984B CN 202111227336 A CN202111227336 A CN 202111227336A CN 113904984 B CN113904984 B CN 113904984B
- Authority
- CN
- China
- Prior art keywords
- server
- packet
- switch
- user side
- flow
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种适用于SAP与B2B系统的数据传输方法,包括以下步骤:步骤S1,建立云计算系统;步骤S2,预先设定好交换机中流表的配对字段。步骤S3,控制器定期向交换机查询并取得流规则中计数器的字节计数值,然后通过加权负载平衡机制得到的结果,改写封包目的服务器的地址信息,然后重新导向用户端发送的流量到地址信息所对应的后端服务器;步骤S4,交换机在收到用户端发送的数据封包时,先查询自身内部流表中的流规则是否匹配用户端IP地址,再根据匹配后的结果将用户端的数据封包发送给后端的服务器。本方案设置有负载平衡机制,将用户端的请求动态的分配到服务器。同时,封包追踪机制,在维持封包连线传输的同时,不会造成用户端与服务器之间的连线终端。
Description
技术领域
本发明属于数字通信技术领域,具体涉及为一种适用于SAP与B2B系统的数据传输方法。
背景技术
B2B(Business to Business),商家(泛指企业)对商家的电子商务,是指进行电子商务交易的供需双方都是商家(或企业、公司),他们使用了Internet的技术或各种商务网络平台,完成商务交易的过程。
SAP(systems applications and products in data processing)是一款用于企业资源计划管理的软件,可使用分布式的架构。
针对SAP与B2B系统之间的数据传输,由于服务器性能和地域的限制,通常一个公司会把应用分布在多台机器上,但是分开以后,就会有几台、几十台的服务器。如果企业购置多台服务器,甚至演变成为一个具有多台服务器的数据中心,而且服务器的数量会直接影响这个数据中心的业务处理能力。除了高额的初期建设成本之外,计算机的运营支出中花费在电费上的金钱要比投资成本高得多,再加上计算机和网络的维护支出,这些总的费用是中小型企业难以承担的,于是云计算的概念便应运而生了。
云计算的发展,为分布式的架构的大量数据资料的实时传输提供了潜在的解决方案,SAP与B2B系统的数据传输可以转向应用云计算。云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
当面临不同系统之间大量数据的实时传输的难题时,负载平衡便成了云计算的关注重点之一。由于云端通常有多台服务器集结而成为一个服务器集合,并通过负载平衡将外部的请求平均地分配到集合中的特定服务器上,在由该服务器独立地对外回应连入请求,从而达到分散外部请求流量的效果。但是,每台服务器的处理能力都是不同的,平均分配的请求的方式并无法做到服务器资源的有效利用。
传统的解决方案是在是用户端在第一次发送连线请求的时候,将封包导向至OpenFlow控制器,由控制器判断当前最适合的服务器信息,并新增一条能够匹配该条连线信息与修改封包标头内容的规则,让封包可以顺利导向到内部服务器位址至OpenFlow交换机中,从而完成负载平衡的系统。
然而,在现实生活中的资料中心环境下,OpenFlow控制器可能会同时需要处理好几万条的连线请求,对于这样的系统设计,可能会造成OpenFlow控制器的处理瓶颈。此外,当用户端连线请求被导向至内部服务器时,会有一条规则来处理该条连线之封包,待OpenFlow交换机收到来自服务器的回复时,也需要一条规则来修改封包标头,才能正确地回到相对应的用户端,因此这样的做法也可能导致同时有大量的规则被新增到OpenFlow交换机内,如果超出OpenFlow交换机所能够容纳的最大值时,就会造成用户端连线请求失败。
公开号为CN105120008A的中国专利公开了一种基于分层的分布式云计算中心负载平衡方法,其通过服务器节点集群的比例是否超过阈值来判断服务器是否过载。而由于每个服务器的体质并不相同,服务器节点集群的比例也是由管理员自行定义的,并无法真正地反映出实际服务器的负载能力。
公开号为CN106850803A的中国专利公开了一种基于SDN的加权轮询系统及算法,利用用户端在第一次发送连线请求时,将封包导向控制器,由控制器判断当前最合适的服务器,并新增一条能够匹配该条连线信息且修改封包标头内容的规则,让封包可以顺利导向内部的服务器地址到交换机中,从而完成负载的调整。然而,在实际的运作中,控制器可能会同时需要处理好几万条的连线请求,可能会造成控制器的处理瓶颈。此外,当用户端连线请求被导向内部服务器时,会有一条规则来处理该条连线的封包,待交换机收到来自服务器的回复时,也需要一条规则来修改封包标头,才能正确的回到相对应的用户端,因此,传统的做法可能导致同时由大量的规则被新增到交换机中,如果超出交换机的最大容纳值时,就会造成用户端的连线失败。
发明内容
针对上述提到的缺陷和不足,而提供一种适用于SAP与B2B系统的数据传输方法。
为了实现上述目的,本发明采取的技术方案如下。
一种适用于SAP与B2B系统的数据传输方法,包括以下步骤:
步骤S1,建立云计算系统;该云计算系统,包括用户端、互联网、和云计算中心;所述用户端通过互联网与云计算中心建立通信连接;所述云计算中心包括1个交换机、1个控制器和至少2个服务器;
所述交换机通信连接有用户端和服务器,形成数据传输网络;
所述交换机和控制器通信连接,形成OpenFlow网络;
所述控制器通信连接有所有的服务器,形成内部管理网络;
所述交换机通信连接有用户端、控制器和服务器;
所述交换机,为OpenFlow交换机,其是云计算中心的单一对外连线的服务窗口,用以传送数据封包,向用户端提供服务器上的数据资源;所述交换机,设置有流表;
所述控制器,为OpenFlow控制器,采用软件定义网络技术,对OpenFlow交换机进行配置,控制数据封包的流向,并监控服务器的状态;
步骤S2,预先设定好交换机中流表的配对字段:流表包含有以下字段:
配对字段:对封包内的字段进行配对,通过预先设定源ip地址,确定流规则,用以过滤用户端IP地址;
计数器:用以计算封包数量和封包大小的总和;
旗标:用来指定流规则的行为;
步骤S3,控制器定期向交换机查询并取得流表中计数器的字节计数值,然后通过加权负载平衡机制得到的结果,改写封包目的服务器的地址信息,重新导向用户端发送的流量到地址信息所对应的后端服务器;
步骤S4,用户端向交换机发送ARP请求封包,以取得各自网域的预设闸道的MAC地址;
步骤S5,流量导向:用户端在取得预设闸道的MAC地址后,发出HTTP请求封包至交换机;交换机根据流表中的规则对封包进行比对;交换机,先查询自身内部流表中的流规则是否匹配用户端IP地址,再根据匹配后的结果将用户端的数据封包发送给后端的服务器。
进一步,所述步骤S3,包括以下步骤:
步骤S301,赋予每个服务器一个初始的权重值Wi,并统计所有服务器权重值之和Wt;
步骤S302,取得步骤S2中交换机内每条流规则预先设定的计数器的字节计数值Pi,并统计所有流规则中的字节计数值之和Pt;初始时,将所有字节计数值设定为1;
步骤S303,将字节计数值乘以每个服务器的权重值比例,得到每个服务器的负载值Li;
步骤S304,在执行第一次初始化的负载平衡计算之后,对权重值进行调整,收集每个服务器的CPU使用率Ic和内存占用率Im,将CPU使用率Ic和内存占用率Im相加并减半之后得到占用率,然后用100%减去占用率得到当前服务器的可用率Ii;然后计算所有服务器的可用率之和It;将当前服务器的可用率Ii除以所有服务器的可用率之和It,得到商数乘以100,四舍五入取整后得到每个服务器的权重值Wi;然后根据步骤S303,重新计算每个服务器的负载值Li,控制器修改交换机中用以匹配用户端IP地址的流规则,重新导向用户端发送的流量到负载值Li有盈余的后端服务器。
进一步,所述步骤S5中,当交换机将流量导向新的服务器时,执行封包追踪机制:
控制器对用户端发送的封包进行解析,核查封包中的旗标是否有被设置:
当旗标被设置,表示该条封包属于新连线的封包,然后控制器解析该封包的五元素并查询先前的记录中是否有相同的记录信息:如果有记录,则将此封包传送至新的服务器;如果没有记录,则控制器用哈希函数对封包的五元素进行存储,作为下一次连线的判别,接着将此封包传送至新的服务器;
五元素由源IP、源端口、目标IP、目标端口、4层通信协议5个字段组成;
当旗标没有被设置,控制器解析该封包的五元素,查询先前的记录中是否有相同的记录信息;如果有记录则表示该条封包是属于新连线的封包,将此封包传送至新的服务器;否则,该条封包是属于旧的封包,送往旧的服务器。
进一步,所述步骤S5中,确定接收的服务器之后,交换机将该封包送往群组规则中,由该群组规则修改封包内容,修改目的端IP为服务器的IP,修改目的端MAC为服务器的MAC地址,并将封包传送至服务器;
服务器向交换机回传HTTP回复封包,此时,封包中的目的端MAC地址为预设闸道的MAC地址,因此,匹配到该封包的规则会将该封包传送至其它流表并修改目的端MAC地址为用户端的MAC地址,以确保服务器发送的HTTP回复封包能狗准确的送回到用户端。
本方案预先通过IP分群的方法,将用户端的IP做了分群,并匹配流规则到交换机中。让每条来自不同的IP的用户端在第一次发送HTTP请求的时,不需要经由交换机传送至控制器去判别并新增流规则,因此,可以大幅的减少用户端请求的响应时间。
本方案设置有负载平衡机制,将用户端的请求动态的分配到服务器。同时,封包追踪机制,在维持封包连线传输的同时,不会造成用户端与服务器之间的连线中断。
附图说明
图1为本发明的结构示意图;
图2为用户端IP地址的匹配示意图;
图3为负载值计算的示例图;
图4是执行封包追踪机制的流程图;
图5为用户端发送连线请求流程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
软件定义网络(Software Defined Network,SDN),是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。
传统SAP与B2B系统的数据传输架构中的网络在根据业务需求部署上线以后,由于传统网络设备的固件是由设备制造商锁定和控制的,如果业务需求发生变动,重新修改相应网络设备上的配置是一件非常繁琐的事情。在互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。因此,软件定义网络希望将网络控制与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。
OpenFlow,一种网络通信协议,属于数据链路层,能够控制网上交换机或路由器的转发平面(forwarding plane),借此改变网络数据包所走的网络路径。OpenFlow允许从远程控制网络交换机的数据包转送表,透过新增、修改与移除数据包控制规则与行动,来改变数据包转送的路径。比起用访问控制表(ACLs)和路由协议,允许更复杂的流量管理。
OpenFlow交换机有别于市面上常见的网络交换机,其是由一个或多个流表(FlowTable)和一个群组表(Group Table)组成,用来执行封包的查询和转传。每台OpenFlow交换机都有属于自己的内部的流表,通过OpenFlow协议,OpenFlow交换机可以针对交换机新增、修改与删除流表内的规则(Flow entries),从而实现软件定义网络的架构。
为了改善云计算中SAP与B2B系统的数据传输过程中负载不均的难题。本方案采用软件定义网络架构来设计系统架构,然后结合OpenFlow技术和IP分群技术,能够根据实际需求来快速部署网络应用和相关服务,提升整体网络的效率和网络频宽的使用率。
一种适用于SAP与B2B系统的数据传输方法,包括以下步骤:
步骤S1,建立云计算系统;如图1所示,该云计算系统,包括用户端、互联网、和云计算中心;所述用户端通过互联网与云计算中心建立通信连接;所述云计算中心包括1个交换机、1个控制器和至少2个服务器;
所述交换机通信连接有用户端和服务器,形成数据传输网络。
所述交换机和控制器通信连接,形成OpenFlow网络。
所述控制器通信连接有所有的服务器,形成内部管理网络。
所述交换机通信连接有用户端、控制器和服务器。
所述交换机,为OpenFlow交换机,其是云计算中心的单一对外连线的服务窗口,用以传送数据封包,向用户端提供服务器上的数据资源;所述交换机,设置有流表(FlowTable)。流表用以告知交换机如何处理每一个进入到交换机的数据封包,每张流表包含多条流规则(Flow entries),用来执行封包查询和封包转传的动作。
所述控制器,为OpenFlow控制器,采用软件定义网络技术,对OpenFlow交换机进行配置,控制数据封包的流向,并监控服务器的状态。具体的,所述控制器,根据OpenFlow协议,对交换机进行新增、修改或者删除流表内的流规则(Flow entries)。
作为优选,所述交换机,采用日本NTT公司销售的Lagopus v交换机,其是开放原始码的软件交换机,具有高性能的数据封包处理能力,对OpenFlow协议的支持程度较高。
所述控制器,采用日本NTT公司销售的Ryu控制器,其是一个开放原始码的OpenFlow控制器,对OpenFlow协议的支持较为完整。
预先设定一组虚拟IP地址作为云计算中心对外入口的连接,该虚拟IP地址为172.16.1.253/24。用户端通过该虚拟IP地址连接到云计算中心以存取数据。
云计算中心内部设置有2个服务器,其IP地址分别为172.16.2.221/24和172.16.2.222/24。
步骤S2,预先设定好交换机中流表的配对字段。
表1为流表的字段表。
配对字段 | 优先权字段 | 计数器 | 指令集 | 计时器 | 小型存储信息 | 旗标 |
流表(Flow Table)包含有以下字段:
配对字段(Match Fields):对封包内的字段进行配对,通过预先设定源ip地址,确定流规则,用以过滤用户端IP地址。
优先权字段(Priority):用来表示流规则在流表内被配对的顺序。
计数器(Counters):用以计算封包数量和封包大小的总和。
指令集(Instructions):定义封包成功配对该条流规则之后所要执行的动作。
计时器(Timeout):记录该流规则在交换机流表中的有效存活时间。当流规则超过有效存活时间,交换机删除该条流规则,并通知控制器。
小型存储信息(Cookie):用来记录控制器用过滤流的修改、删除的信息。
旗标(Flag):用来指定流规则的行为。
图2为用户端IP地址的匹配示意图。图中,在流表的配对字段中预先设定用以过滤用户端IP地址的配对字段,例如:ip_src = 10.1.0.0/16,然后进行IP地址的匹配。
在传统交换机内部的MAC地址对应表中,同一条流规则只能匹配一个MAC地址。而在本方案中,通过将用户端IP地址进行分群的做法,能够直接匹配整个网络的IP地址,能大量减少所需要被定义的流规则和记忆空间,减少新增到交换机的流规则数量。
步骤S3,控制器定期(例如30秒)向交换机查询并取得流表中计数器的字节计数值(Byte Counter),然后通过加权负载平衡机制得到的结果,改写封包目的服务器的地址信息,重新导向用户端发送的流量到地址信息所对应的后端服务器。
由于本方案采用软件定义网络分离控制平面和资料平面,因此,对于交换机来说,并没有执行运算和决策的能力,因此,预设控制器每30秒定期执行演算,从而达到动态调整负载量的效果。
初始时,由于没有数据封包进入到交换机,因此,字节计数值均为0。预设时,将所有字节计数值设定为1,以方便后续计算。
如图3所示,初始化时,在交换机中设定30个流规则,并新增3台服务器,同时给予每个服务器预设值为10的权重值。在首次负载平衡执行完毕之后,由于预设的字节计数值为1,因此,计算后的所有流规则中的字节计数值之和Pt为30,且每个服务器被平均分配到10条负载量。一段时候之后,假设变更了权重值,第1个服务器的权重值为3,第2个服务器的权重值为3,第3个服务器的权重值为4,进行下一次的负载平衡计算后,得到所有流规则中的字节计数值之和Pt为300,则可以计算出:第1个服务器的负载值为90,第2个服务器的负载值为90,第3个服务器的负载值为120。因此,第1个服务器和第2个服务器均释放出一个IP负载量(即10),第3个服务器获得两个IP负载量(即20)。
步骤S304,在执行第一次初始化的负载平衡计算之后,对权重值进行调整,收集每个服务器的CPU使用率Ic和内存占用率Im,将CPU使用率Ic和内存占用率Im相加并减半之后得到占用率,然后用100%减去占用率得到当前服务器的可用率Ii,即Ii=100%-0.5(Ic+Im);
然后根据步骤S303,重新计算每个服务器的负载值Li,控制器修改交换机中用以匹配用户端IP地址的流规则,重新导向用户端发送的流量到负载值Li有盈余的后端服务器。
图5为用户端发送连线请求流程图。根据图5解释步骤S4和步骤S5。
步骤S4,用户端向交换机发送ARP请求封包,以取得各自网域的预设闸道的MAC地址。用户端向交换机发送ARP请求封包,在ARP请求封包进入到交换机时,交换机根据流表中的规则对封包进行比对;由于交换机中并没有设置ARP请求封包的规则,因此,该ARP请求封包没有在流表中发现能与之匹配的规则,则交换机将该ARP请求封包封装成Packet-in封包发送到控制器处理。
控制器接收到Packet-in封包时,根据用户端发送的封包内容,查询相对应的预设闸道的MAC地址,并将预设闸道的MAC地址加入到ARP回复封包中,再以Packet-Out的方式将ARP回复封包通过交换机回传给用户端。
步骤S5,流量导向和封包追踪机制:
用户端在取得预设闸道的MAC地址后,发出HTTP请求封包至交换机;交换机根据流表中的规则对封包进行比对;
交换机,先查询自身内部流表中的流规则是否匹配用户端IP地址,再根据匹配后的结果将用户端的数据封包发送给后端的服务器。
当交换机将流量导向新的服务器时,用户端有可能仍然与旧的服务器进行数据传输,此时,有可能造成用户端连线的终端。因此,需要执行封包追踪机制,以防止上述行为的发生。
图4是执行封包追踪机制的流程图。控制器对用户端发送的封包进行解析,核查封包中的旗标(Flag)是否有被设置:
当旗标被设置,表示该条封包属于新连线的封包,然后控制器解析该封包的五元素(5-tuple)并查询先前的记录中是否有相同的记录信息:如果有记录,则将此封包传送至新的服务器;如果没有记录,则控制器用哈希函数对封包的五元素进行存储,作为下一次连线的判别,接着将此封包传送至新的服务器。
五元素由源IP(source IP)、源端口(source port)、目标IP (destination IP)、目标端口(destination port)、4层通信协议 (the layer 4 protocol)5个字段组成。
当旗标没有被设置,控制器解析该封包的五元素(5-tuple),查询先前的记录中是否有相同的记录信息;如果有记录则表示该条封包是属于新连线的封包,将此封包传送至新的服务器;否则,该条封包是属于旧的封包,送往旧的服务器。
确定接收的服务器之后,交换机将该封包送往群组规则中,由该群组规则修改封包内容,修改目的端IP为服务器的IP,修改目的端MAC为服务器的MAC地址,并将封包传送至服务器。
服务器向交换机回传HTTP回复封包,此时,封包中的目的端MAC地址为预设闸道的MAC地址,因此,匹配到该封包的规则会将该封包传送至其它流表并修改目的端MAC地址为用户端的MAC地址,以确保服务器发送的HTTP回复封包能狗准确的送回到用户端。
设定100位用户向系统发送HTTP请求,连线1分钟并记录观察HTTP请求回应时间,实验结果如表2。
表2为HTTP请求回应时间统计表(单位微妙)。
轮询演算方案和随机演算方案在前30秒发送的HTTP 请求过程中,需要花费的时间,是本方案的2~3倍,这是由于用户端在第一次发送HTTP请求的时候,交换机内并足以没有匹配该IP地址的规则,所以交换机将该HTTP请求封包传送至控制器,由控制器决定送往哪一个服务器,同时,新增加流规则到交换机,以避免下次同一个IP地址发送的HTTP请求被传送至控制器。
本方案维持在10000微妙的响应时间,这是由于本方案预先通过IP分群的方法,将用户端的IP做了分群,并匹配流规则到交换机中。让每条来自不同的IP的用户端在第一次发送HTTP请求的时,不需要经由交换机传送至控制器去判别并新增流规则,因此,可以大幅的减少用户端请求的响应时间。
本方案设置有负载平衡机制,将用户端的请求动态的分配到服务器。同时,封包追踪机制,在维持封包连线传输的同时,不会造成用户端与服务器之间的连线终端。
传统的方案中,利用用户端在第一次发送连线请求时,将封包导向控制器,由控制器判断当前最合适的服务器,并新增一条能够匹配该条连线信息且修改封包标头内容的规则,让封包可以顺利导向内部的服务器地址到交换机中,从而完成负载的调整。然而,在实际的运作中,控制器可能会同时需要处理好几万条的连线请求,可能会造成控制器的处理瓶颈。此外,当用户端连线请求被导向内部服务器时,会有一条规则来处理该条连线的封包,待交换机收到来自服务器的回复时,也需要一条规则来修改封包标头,才能正确的回到相对应的用户端,因此,传统的做法可能导致同时由大量的规则被新增到交换机中,如果超出交换机的最大容纳值时,就会造成用户端的连线失败。
本方案,交换机匹配用户端的来源段IP地址,在根据匹配后的结果将用户连线请求送往后端的服务器,最后由相应的服务器来回应网页内容,从而到达IP分群的目的。传统的MAC地址对应表,同一条规则只能匹配一个MAC地址。而IP分群的方法,能够直接匹配整个网段的IP地址,从而大量地减少所需要被定义的规则与存储空间,大幅度地较少新增到交换机的流规则数量。
传统的方案,如果赋予每台服务器一个权重值,作为控制器分配流量负载平衡的决策,而当该权重值是管理者自行定义时,就无法真正的反映出服务器的实际负载能力。
本方案,取得各个服务器当前的负载状态,让控制器能够评估并计算出最佳的流量分配,以此来实现负载平衡。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种适用于SAP与B2B系统的数据传输方法,其特征在于,包括以下步骤:
步骤S1,建立云计算系统;该云计算系统,包括用户端、互联网和云计算中心;所述用户端通过互联网与云计算中心建立通信连接;所述云计算中心包括1个交换机、1个控制器和至少2个服务器;
交换机通信连接有用户端和服务器,形成数据传输网络;
所述交换机和控制器通信连接,形成OpenFlow网络;
所述控制器通信连接有所有的服务器,形成内部管理网络;
所述交换机通信连接有用户端、控制器和服务器;
所述交换机,为OpenFlow交换机,其是云计算中心的单一对外连线的服务窗口,用以传送数据封包,向用户端提供服务器上的数据资源;所述交换机,设置有流表;
所述控制器,为OpenFlow控制器,采用软件定义网络技术,对OpenFlow交换机进行配置,控制数据封包的流向,并监控服务器的状态;
步骤S2,预先设定好交换机中流表的配对字段:流表包含有以下字段:
配对字段:对封包内的字段进行配对,通过预先设定源ip地址,确定流规则,用以过滤用户端IP地址;
计数器:用以计算封包数量和封包大小的总和;
旗标:用来指定流规则的行为;
步骤S3,控制器定期向交换机查询并取得流表中计数器的字节计数值,然后通过加权负载平衡机制得到的结果,改写封包目的服务器的地址信息,重新导向用户端发送的流量到地址信息所对应的后端服务器;
步骤S4,用户端向交换机发送ARP请求封包,以取得各自网域的预设闸道的MAC地址;
步骤S5,流量导向:用户端在取得预设闸道的MAC地址后,发出HTTP请求封包至交换机;交换机根据流表中的规则对封包进行比对;交换机,先查询自身内部流表中的流规则是否匹配用户端IP地址,再根据匹配后的结果将用户端的数据封包发送给后端的服务器。
2.根据权利要求1所述的一种适用于SAP与B2B系统的数据传输方法,其特征在于,所述步骤S3,包括以下步骤:
步骤S301,赋予每个服务器一个初始的权重值Wi,并统计所有服务器权重值之和Wt;
步骤S302,取得步骤S2中交换机内每条流规则预先设定的计数器的字节计数值Pi,并统计所有流规则中的字节计数值之和Pt;初始时,将所有字节计数值设定为1;
步骤S303,将字节计数值乘以每个服务器的权重值比例,得到每个服务器的负载值Li;
步骤S304,在执行第一次初始化的负载平衡计算之后,对权重值进行调整,收集每个服务器的CPU使用率Ic和内存占用率Im,将CPU使用率Ic和内存占用率Im相加并减半之后得到占用率,然后用100%减去占用率得到当前服务器的可用率Ii;然后计算所有服务器的可用率之和It;将当前服务器的可用率Ii除以所有服务器的可用率之和It,得到商数乘以100,四舍五入取整后得到每个服务器的权重值Wi;然后根据步骤S303,重新计算每个服务器的负载值Li,控制器修改交换机中用以匹配用户端IP地址的流规则,重新导向用户端发送的流量到负载值Li有盈余的后端服务器。
3.根据权利要求1所述的一种适用于SAP与B2B系统的数据传输方法,其特征在于,所述步骤S5中,当交换机将流量导向新的服务器时,执行封包追踪机制:
控制器对用户端发送的封包进行解析,核查封包中的旗标是否有被设置:
当旗标被设置,表示封包属于新连线的封包,然后控制器解析封包的五元素并查询先前的记录中是否有相同的记录信息:如果有记录,则将封包传送至新的服务器;如果没有记录,则控制器用哈希函数对封包的五元素进行存储,作为下一次连线的判别,接着将封包传送至新的服务器;
五元素由源IP、源端口、目标IP、目标端口、4层通信协议5个字段组成;
当旗标没有被设置,控制器解析封包的五元素,查询先前的记录中是否有相同的记录信息;如果有记录则表示封包是属于新连线的封包,将封包传送至新的服务器;否则,封包是属于旧的封包,送往旧的服务器。
4.根据权利要求3所述的一种适用于SAP与B2B系统的数据传输方法,其特征在于,所述步骤S5中,确定接收的服务器之后,交换机将该封包送往群组规则中,由该群组规则修改封包内容,修改目的端IP为服务器的IP,修改目的端MAC为服务器的MAC地址,并将封包传送至服务器;
服务器向交换机回传HTTP回复封包,此时,封包中的目的端MAC地址为预设闸道的MAC地址,因此,匹配到该封包的规则会将该封包传送至其它流表并修改目的端MAC地址为用户端的MAC地址,以确保服务器发送的HTTP回复封包能够准确的送回到用户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111227336.8A CN113904984B (zh) | 2021-10-21 | 2021-10-21 | 一种适用于sap与b2b系统的数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111227336.8A CN113904984B (zh) | 2021-10-21 | 2021-10-21 | 一种适用于sap与b2b系统的数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113904984A CN113904984A (zh) | 2022-01-07 |
CN113904984B true CN113904984B (zh) | 2022-12-16 |
Family
ID=79026033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111227336.8A Active CN113904984B (zh) | 2021-10-21 | 2021-10-21 | 一种适用于sap与b2b系统的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113904984B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980373A (zh) * | 2014-04-04 | 2015-10-14 | 上海宽带技术及应用工程研究中心 | 一种控制服务器及其应用的系统和方法 |
CN105577723A (zh) * | 2014-10-16 | 2016-05-11 | 杭州华三通信技术有限公司 | 虚拟化网络中实现负载分担的方法和装置 |
CN107634882A (zh) * | 2017-10-10 | 2018-01-26 | 安徽大学 | Sdn架构下基于电梯调度算法的负载均衡方法 |
CN113067863A (zh) * | 2021-03-17 | 2021-07-02 | 西安电子科技大学 | 基于软件定义网络的动态负载均衡方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103250392B (zh) * | 2010-12-09 | 2016-12-14 | 日本电气株式会社 | 计算机系统、控制器和网络监视方法 |
US9548927B2 (en) * | 2014-06-17 | 2017-01-17 | Comcast Cable Communications, Llc | Flow-based load balancing |
CN108156004A (zh) * | 2016-12-02 | 2018-06-12 | 中国移动通信有限公司研究院 | Sdn控制器及交换机管理方法 |
CN112751786B (zh) * | 2020-12-28 | 2023-06-16 | 长沙星融元数据技术有限公司 | 基于可编程交换机的slb加速系统、方法、装置、设备及介质 |
-
2021
- 2021-10-21 CN CN202111227336.8A patent/CN113904984B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980373A (zh) * | 2014-04-04 | 2015-10-14 | 上海宽带技术及应用工程研究中心 | 一种控制服务器及其应用的系统和方法 |
CN105577723A (zh) * | 2014-10-16 | 2016-05-11 | 杭州华三通信技术有限公司 | 虚拟化网络中实现负载分担的方法和装置 |
CN107634882A (zh) * | 2017-10-10 | 2018-01-26 | 安徽大学 | Sdn架构下基于电梯调度算法的负载均衡方法 |
CN113067863A (zh) * | 2021-03-17 | 2021-07-02 | 西安电子科技大学 | 基于软件定义网络的动态负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113904984A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983577B2 (en) | Monitoring and optimizing interhost network traffic | |
US11463511B2 (en) | Model-based load balancing for network data plane | |
US9647954B2 (en) | Method and system for optimizing a network by independently scaling control segments and data flow | |
Xu et al. | Approximation and online algorithms for NFV-enabled multicasting in SDNs | |
US9571382B2 (en) | Method, controller, and system for processing data packet | |
CN108833166B (zh) | 边缘云报文转发方法及系统、网络报文转发方法及系统 | |
Rojas-Cessa et al. | Schemes for fast transmission of flows in data center networks | |
US8706864B1 (en) | Behavior monitoring and compliance for multi-tenant resources | |
CN104468358A (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
CN106972985B (zh) | 加速dpi设备数据处理与转发的方法和dpi设备 | |
US8387144B2 (en) | Network amplification attack mitigation | |
JP2001053789A (ja) | コンピュータネットワークにおける多層広帯域準備のためのシステム | |
US20080002739A1 (en) | Reflecting the bandwidth assigned to a virtual network interface card through its link speed | |
US20210218808A1 (en) | Small Message Aggregation | |
CN109698796A (zh) | 一种高性能网络负载均衡系统及其实现方法 | |
Aghdai et al. | Spotlight: Scalable transport layer load balancing for data center networks | |
Zafar et al. | On implementation of DCTCP on three-tier and fat-tree data center network topologies | |
KR101841026B1 (ko) | 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 | |
Aghdai et al. | In-network congestion-aware load balancing at transport layer | |
Tang et al. | Elephant Flow Detection Mechanism in SDN‐Based Data Center Networks | |
Chen et al. | Promenade: Proportionally fair multipath rate control in datacenter networks with random network coding | |
Guo et al. | Oversubscription bounded multicast scheduling in fat-tree data center networks | |
Ke et al. | Load balancing using P4 in software-defined networks | |
WO2023185828A1 (zh) | 流量控制方法、网关及交换机 | |
CN113904984B (zh) | 一种适用于sap与b2b系统的数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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: 20230420 Address after: Room 320, 3rd Floor, Building 72, No. 90 Wensan Road, Xihu District, Hangzhou City, Zhejiang Province, 310000 Patentee after: Hangzhou Coolsoft Technology Co.,Ltd. Address before: Room 315-317, 3rd floor, building 72, 90 Wensan Road, Xihu District, Hangzhou City, Zhejiang Province 310000 Patentee before: Hangzhou Zhizhuo Technology Co.,Ltd. |