CN112449012B - 数据资源调度方法、系统、服务器及读存储介质 - Google Patents
数据资源调度方法、系统、服务器及读存储介质 Download PDFInfo
- Publication number
- CN112449012B CN112449012B CN202011291198.5A CN202011291198A CN112449012B CN 112449012 B CN112449012 B CN 112449012B CN 202011291198 A CN202011291198 A CN 202011291198A CN 112449012 B CN112449012 B CN 112449012B
- Authority
- CN
- China
- Prior art keywords
- server
- data
- linux virtual
- virtual server
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000000926 separation method Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 14
- 235000014510 cooky Nutrition 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及云计算,提供一种数据资源调度方法、系统、服务器及读存储介质,该方法包括:第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器;第一Linux虚拟服务器将所述数据请求消息发送给所述服务器,以供所述服务器基于所述数据请求消息确定所述客户端请求的数据资源;第二Linux虚拟服务器接收所述服务器发送的数据资源,并将所述数据资源转发至所述客户端。本申请还涉及区块链,通过进出流量的分离,减轻Linux虚拟服务器的负载压力。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种数据资源调度方法、系统、服务器及读存储介质。
背景技术
云计算通过对计算、网络、存储等各种物理资源的虚拟化抽象,为用户提供了方便的资源使用方式。负载均衡是云产品的一项基本功能,对数据包转发性能有比较高的要求,而Linux虚拟服务器(Linux Virtual Server,LVS)在网络协议的第四层转发方便,资源消耗少,因此Linux虚拟服务器成为云负载均衡实现的首要选择。
Linux虚拟服务器是一个比较成熟的开源项目,通过ipvs模块实现功能,具有如LVS-NAT模式、LVS-DR模式和LVS-TUN模式等多种工作模式。然而,在互联网时代Web应用及相应服务几何级增长的背景下,服务应用产生的数据流量越来越多,当客户端Client和服务器Server的进出通信都经过Linux虚拟服务器时,Linux虚拟服务器的负载会很高,容易成为调度系统的瓶颈,不能稳定地提供高质量服务。
发明内容
本申请的主要目的在于提供一种数据资源调度方法、系统、服务器及读存储介质,旨在通过进出流量的分离,减轻Linux虚拟服务器的负载压力,从而提高Linux虚拟服务器的可靠性和稳定性。
第一方面,本申请提供一种数据资源调度方法,应用于Linux虚拟服务器,所述Linux虚拟服务器包括第一Linux虚拟服务器和第二Linux虚拟服务器,所述方法包括:
第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器;
第一Linux虚拟服务器将所述数据请求消息发送给所述服务器,以供所述服务器基于所述数据请求消息确定所述客户端请求的数据资源;
第二Linux虚拟服务器接收所述服务器发送的数据资源,并将所述数据资源转发至所述客户端。
第二方面,本申请还提供一种数据资源调度系统,所述数据资源调度系统包括第一Linux虚拟服务器、第二Linux虚拟服务器和服务器,其中:
所述第一Linux虚拟服务器,用于接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器,并将所述数据请求消息发送给分配的所述服务器;
所述服务器基于所述数据请求消息确定所述客户端请求的数据资源,并将所述数据资源发送至第二Linux虚拟服务器;
所述第二Linux虚拟服务器接收所述服务器发送的数据资源,并将所述数据资源转发至所述客户端。
第三方面,本申请还提供一种Linux虚拟服务器,所述Linux虚拟服务器包括第一Linux虚拟服务器和第二Linux虚拟服务器,第一Linux虚拟服务器和第二Linux虚拟服务器包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的数据资源调度方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的数据资源调度方法的步骤。
本申请提供一种数据资源调度方法、系统、服务器及读存储介质,本申请实施例通过第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于数据请求消息为客户端分配服务器,并通过第一Linux虚拟服务器将数据请求消息发送给服务器,以供服务器基于数据请求消息确定客户端请求的数据资源,然后通过第二Linux虚拟服务器接收服务器发送的数据资源,并将数据资源转发至客户端。本申请实施例通过第一Linux虚拟服务器接收流入流量,通过第二Linux虚拟服务器输出流出流量,合理地实现了进出流量的分离,通过将进出流量分开到不同的Linux虚拟服务器去执行,能够有效地减轻Linux虚拟服务器的负载压力,从而提高Linux虚拟服务器的可靠性和稳定性,并极大提高数据资源调度系统的吞吐量。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据资源调度方法的步骤流程示意图;
图2为实施本实施例提供的一数据资源调度方法的一场景示意图;
图3为实施本实施例提供的一TCP/IP报文的示意图;
图4为实施本实施例提供的数据资源调度方法的又一场景示意图;
图5为本申请实施例提供的一种数据资源调度系统的示意性框图;
图6为本申请实施例提供的一种Linux虚拟服务器的结构示意性框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种数据资源调度方法、系统、服务器及读存储介质。其中,该数据资源调度方法可应用于Linux虚拟服务器中,该Linux虚拟服务器包括第一Linux虚拟服务器和第二Linux虚拟服务器,第一Linux虚拟服务器和第二Linux虚拟服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请实施例提供的一种数据资源调度方法的步骤流程示意图。
如图1所示,该数据资源调度方法包括步骤S101至步骤S103。
步骤S101、第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于数据请求消息为客户端分配服务器。
在原始的LVS-NAT模式,Linux虚拟服务器(Linux Virtual Server,LVS服务器)负责客户端Client和服务器Server(集群)的进出通信,负载压力大,容易成为系统的瓶颈,使得LVS服务器容易出现故障,系统稳定性不好。基于此,本申请实施例通过第一Linux虚拟服务器和第二Linux虚拟服务器实现进出流量分离,将进出流量分开到不同的Linux虚拟服务器去执行,大大的减轻了Linux虚拟服务器的负载压力,提高了调度系统的可靠性和稳定性。
其中,第一Linux虚拟服务器用于响应从客户端流入的数据报(流量),例如响应于客户端发送的数据请求消息,为客户端匹配服务器。第二Linux虚拟服务器用于响应向客户端流出的数据报(流量),例如响应于客户端发送的数据响应消息,向客户端转发客户端请求的数据资源。
换而言之,在LVS-NAT模式中,客户端发送的数据请求消息和客户端发送的数据响应消息都需要通过Linux虚拟服务器(负载调度器),随着通知消息(数据报)的实体数量和内容的增加,导致Linux虚拟服务器的压力倍增,伸缩能力受限,当调度系统的服务节点数目升到20左右时,Linux虚拟服务器本身有可能成为调度系统的新瓶颈,次模式影响性能发挥。因此,本申请实施例通过第一Linux虚拟服务器接收流量,并通过第二Linux虚拟服务器发出流量,实现流量进出分离,能够有效减轻Linux虚拟服务器的负载压力,减少故障率,延长使用寿命。
在一实施例中,第一Linux虚拟服务器和第二Linux虚拟服务器可以为多个,第一Linux虚拟服务器的数量与第二Linux虚拟服务器的数量可以相同或者不相同,通过多个第一Linux虚拟服务器和第二Linux虚拟服务器实现数据资源的调度,能够有效提高调度系统的稳定性,实现更高的流量并发。
在一实施例中,用户可以通过客户端访问网站,并通过客户端发出获取网站上某个数据资源的数据请求消息。例如,用户点击播放网站上的一个视频资源,即通过客户端发出获取该视频资源的数据请求消息。其中,客户端包括web客户端、游戏客户端和移动客户端等,数据资源包括图片资源、音频资源、视频资源、文字资源或者其他可以在计算机设备中展示的内容等,数据资源可以是单个或者多个,本实施例不做具体限定。
在一实施例中,客户端向第一Linux虚拟服务器发送数据请求消息,该数据请求消息例如为一数据报,该数据报中携带有客户端请求获取的数据资源的标识。同时,数据报中还携带有源IP地址和目的IP地址。客户端向第一Linux虚拟服务器发送数据请求消息时,数据报中的源IP地址为客户端IP地址(Client IP,CIP),目的IP地址为第一Linux虚拟服务器的第一IP地址,第一Linux虚拟服务器的IP地址也可以简写为LI-IP(LVS-IN IP,负责流量流入的LVS服务器的IP地址),客户端通过该数据请求消息中的目的IP地址发送数据请求消息,使得第一Linux虚拟服务器准确地接收客户端发送的数据请求消息。
在一实施例中,第一Linux虚拟服务器基于数据请求消息为客户端分配服务器,包括:第一Linux虚拟服务器基于数据请求消息,根据预设的负载均衡算法确定为客户端分配的服务器;获取服务器的IP地址,得到服务器IP地址;将数据请求消息中的目的IP地址由第一Linux虚拟服务器的第一IP地址改写为服务器IP地址。其中,负载均衡算法例如包括轮询算法、加权轮询法、源地址哈希法、最小连接数法、加权随机法等算法,本实施例不做具体限定。通过第一Linux虚拟服务器为客户端分配服务器,改写数据请求消息中的目的IP地址,使得数据请求消息能够准确地发送给为客户端分配的服务器,第一Linux虚拟服务器只负责响应从客户端流入的数据报(流量),无需响应服务器返回的数据报(流量),大大的减轻了第一Linux虚拟服务器的负载压力,使得第一Linux虚拟服务器不容易达到瓶颈。
示例性的,第一Linux虚拟服务器按照轮询算法将数据请求消息按顺序轮流地分配到后端的服务器上,均衡地对待后端的每一台服务器,无需关心服务器实际的连接数和当前的系统负载。或者,第一Linux虚拟服务器按照源地址哈希法,根据客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客户端要访问服务器的标识。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。又或者,第一Linux虚拟服务器按照最小连接数法根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,负责合理地将数据请求消息分流到每一台服务器。
示例性的,第一Linux虚拟服务器确定为客户端分配的服务器之后,通过网络地址转换,重写数据报中的目的IP地址。具体地,获取服务器IP地址,将数据报中的目的IP地址从第一IP地址(LVS-IN IP,LI-IP)修改为服务器IP地址(Server IP,SIP),源IP地址无需进行修改。此时数据报中的源IP地址是CIP(客户端IP地址),目的IP地址是SIP(服务器IP地址)。
步骤S102、第一Linux虚拟服务器将数据请求消息发送给服务器,以供服务器基于数据请求消息确定客户端请求的数据资源。
示例性的,第一Linux虚拟服务器按照数据请求消息中的目的IP地址,将数据请求消息发送给目的IP地址对应的服务器,该服务器接收第一Linux虚拟服务器发送的数据请求消息,并获取数据报中携带的客户端请求获取的数据资源的标识,通过客户端请求获取的数据资源的标识确定该客户端请求的数据资源。
在一实施例中,数据资源至少包括Cookie文件数据、URI数据和/或HOST数据,Cookie文件数据、URI数据和/或HOST数据存储于区块链中。需要说明的是,为进一步保证数据资源等相关信息的私密和安全性,上述数据资源等相关信息还可以存储于一区块链的节点中,本申请的技术方案还可适用于添加其他存储于区块链上的数据文件,本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一实施例中,第一Linux虚拟服务器基于服务器IP地址,根据预设的调度算法将数据请求消息分派至服务器。也即第一Linux虚拟服务器根据预设的调度算法,将数据请求消息分派给服务器IP地址对应的后端的真实服务器,其中,调度算法包括但不限于先来先服务调度算法FCFS、短作业(进程)优先调度算法SJF/SPF、高优先权优先调度算法HPF、基于时间片的轮转调度算法RR。第一Linux虚拟服务器能够通过调度算法准确快速地将数据请求消息分派至后端的服务器,同时无需接收服务器返回的通知消息。
在一实施例中,第一Linux虚拟服务器通过交换机Switch将数据请求消息发送给服务器;示例性的,如图2所示,交换机30与第一Linux虚拟服务器10、第二Linux虚拟服务器20共同组成局域网,第一Linux虚拟服务器10将数据请求消息发送给交换机30,交换机30通过MAC地址,交互到服务器40,并将第一Linux虚拟服务器10发送的数据请求消息发送给服务器40。
在一实施例中,服务器基于数据请求消息确定客户端请求的数据资源之后,基于数据请求消息生成数据响应消息,该数据响应消息例如为一数据报,该数据报中携带有数据资源和报头,报头包括源IP地址与目的IP地址等IP协议地址。服务器改写数据报中的目的IP地址和源IP地址,具体地,将数据报中的目的IP地址从SIP(服务器IP地址)修改为CIP(客户端IP地址),同时将源IP地址从CIP(客户端IP地址)修改为SIP(服务器IP地址)。之后,服务器将改写完成的数据报发送至用于实现流量输出的第二Linux虚拟服务器。
步骤S103、第二Linux虚拟服务器接收服务器发送的数据资源,并将数据资源转发至客户端。
其中,数据资源至少包括Cookie文件数据、URI数据和/或HOST数据,服务器发送的数据资源携带于数据响应消息中,数据响应消息为TCP/IP报文,包括数据资源和报头。需要说明的是,第二Linux虚拟服务器接收服务器发送的数据资源,并将数据资源转发至客户端,只负责响应服务器返回的数据报,无需响应从客户端流入的数据报,大大的减轻了第二Linux虚拟服务器的负载压力,提高了调度系统的可靠性和稳定性。
在一实施例中,第二Linux虚拟服务器接收服务器通过交换机Switch发送的数据资源。示例性的,如图2所示,交换机30与第一Linux虚拟服务器10、第二Linux虚拟服务器20共同组成局域网,服务器40通过MAC地址与交换机30进行交互,并将包括数据资源的数据响应消息发送至交换机30,交换机30从局域网内交互到第二Linux虚拟服务器20,并将服务器40发送的包括数据资源的数据响应消息发送给第二Linux虚拟服务器20,第二Linux虚拟服务器20接收服务器40通过交换机30发送的数据响应消息,从而获取数据响应消息中的数据资源。
在一实施例中,第二Linux虚拟服务器接收服务器发送的数据资源之后,还包括:第二Linux虚拟服务器将数据响应消息中的目的IP地址改写为客户端的IP地址;和/或,将数据响应消息中的源IP地址改写为第二Linux虚拟服务器的第二IP地址;或者,将数据响应消息中的源IP地址改写为第一Linux虚拟服务器的第一IP地址。通过源IP地址和目的IP地址的改写,使得第二Linux虚拟服务器准确地将数据资源转发至客户端。
示例性的,第二Linux虚拟服务器将报头中的源IP地址从SIP(服务器IP地址)修改为第二IP地址(第二Linux虚拟服务器的IP地址),第二Linux虚拟服务器的IP地址可以简写为LO-IP(LVS-OUT IP),目的IP地址为CIP不变,并基于目的IP地址(CIP)将包括数据资源的数据响应消息转发至客户端。或者,第二Linux虚拟服务器接收服务器发送的数据资源,不修改目的IP地址,同时不修改报头中的源IP地址,根据TCP/IP协议的转发,第二Linux虚拟服务器能够基于目的IP地址(CIP),将数据资源转发至客户端。或者,第二Linux虚拟服务器接收服务器发送的数据资源,不修改目的IP地址,同时将报头中的源IP地址修改为第一IP地址(第一Linux虚拟服务器的IP地址),即源IP地址为LI-IP,目的IP地址为CIP。
在一实施例中,数据响应消息为TCP/IP报文;将数据响应消息中的目的IP地址改写为客户端的IP地址,包括:第二Linux虚拟服务器根据TCP/IP报文的预设格式,确定目的IP地址的存储位置;将目的IP地址的存储位置处的数据改写为代表客户端的IP地址的数据。通过查找目的IP地址的存储位置可以快速准确地对数据响应消息中的目的IP地址进行改写,有利于数据响应消息的转发。
示例性的,如图3所示,图3为实施本实施例提供的一TCP/IP报文的示意图,通过如图3所示的示意图可以快速查找出目的IP地址的存储位置为“目标地址”显示的区块位置,在该区块位置处直接将原始数据改写为代表客户端的IP地址的数据,即可完成目的IP地址的改写。
可以理解的是,在第一Linux虚拟服务器、第二Linux虚拟服务器和服务器中的源IP地址和目的IP地址的改写可以参照上述实施例中的目的IP地址的改写的对应过程,本申请实施例不再赘述。
请参照图4,图4为实施本实施例提供的数据资源调度方法的又一场景示意图。
如图4所示,用户通过客户端50访问网站,并通过客户端50发出获取网站上某个数据资源的数据请求消息,第一Linux虚拟服务10接收客户端50发送的数据请求消息,并基于数据请求消息为客户端50分配服务器40,第一Linux虚拟服务器10将数据请求消息发送给服务器40,服务器40基于数据请求消息确定客户端50请求的数据资源,然后将客户端50请求的数据资源打包发送至第二Linux虚拟服务器20,第二Linux虚拟服务器20接收服务器40发送的数据资源,并将数据资源转发至客户端50,通过第一Linux虚拟服务10接收流入流量,通过第二Linux虚拟服务器20输出流出流量,合理地实现了进出流量的分离,能够有效地减轻Linux虚拟服务器的负载压力,从而提高Linux虚拟服务器的可靠性和稳定性。
上述实施例提供的数据资源调度方法,通过第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于数据请求消息为客户端分配服务器,并通过第一Linux虚拟服务器将数据请求消息发送给服务器,以供服务器基于数据请求消息确定客户端请求的数据资源,然后通过第二Linux虚拟服务器接收服务器发送的数据资源,并将数据资源转发至客户端。本申请实施例通过第一Linux虚拟服务器接收流入流量,通过第二Linux虚拟服务器输出流出流量,合理地实现了进出流量的分离,通过将进出流量分开到不同的Linux虚拟服务器去执行,能够有效地减轻Linux虚拟服务器的负载压力,从而提高Linux虚拟服务器的可靠性和稳定性。
请参照图5,图5为本申请实施例提供的一种数据资源调度系统的示意性框图。
如图5所示,该数据资源调度系统200,包括第一Linux虚拟服务器201、第二Linux虚拟服务器202和服务器203,其中:
所述第一Linux虚拟服务器201,用于接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器,并将所述数据请求消息发送给分配的所述服务器;
所述服务器203基于所述数据请求消息确定所述客户端请求的数据资源,并将所述数据资源发送至第二Linux虚拟服务器;
所述第二Linux虚拟服务器202接收所述服务器发送的数据资源,并将所述数据资源转发至所述客户端。
在一个实施例中,第一Linux虚拟服务器201还用于:
第一Linux虚拟服务器基于所述数据请求消息,根据预设的负载均衡算法确定为所述客户端分配的服务器;
获取所述服务器的IP地址,得到服务器IP地址;
将所述数据请求消息中的目的IP地址由第一Linux虚拟服务器的第一IP地址改写为所述服务器IP地址。
在一个实施例中,第一Linux虚拟服务器201还用于:
第一Linux虚拟服务器基于所述服务器IP地址,根据预设的调度算法将所述数据请求消息分派至所述服务器。
在一个实施例中,所述服务器发送的数据资源携带于数据响应消息中;所述第二Linux虚拟服务器202还用于:
第二Linux虚拟服务器将所述数据响应消息中的目的IP地址改写为所述客户端的IP地址;和/或
将所述数据响应消息中的源IP地址改写为所述第二Linux虚拟服务器的第二IP地址;或者
将所述数据响应消息中的源IP地址改写为所述第一Linux虚拟服务器的第一IP地址。
在一个实施例中,所述数据响应消息为TCP/IP报文;第二Linux虚拟服务器202还用于:
第二Linux虚拟服务器根据所述TCP/IP报文的预设格式,确定所述目的IP地址的存储位置;
将所述目的IP地址的存储位置处的数据改写为代表所述客户端的IP地址的数据。
在一个实施例中,第一Linux虚拟服务器通过交换机将数据请求消息发送给所述服务器;第二Linux虚拟服务器接收所述服务器通过所述交换机发送的数据资源。
在一个实施例中,所述数据资源至少包括Cookie文件数据、URI数据和/或HOST数据,所述Cookie文件数据、URI数据和/或HOST数据存储于区块链中。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的数据资源调度系统中的各模块及单元的具体工作过程,可以参考前述数据资源调度方法实施例中的对应过程,在此不再赘述。
请参阅图6,图6为本申请实施例提供的一种Linux虚拟服务器的结构示意性框图。该Linux虚拟服务器包括第一Linux虚拟服务器和第二Linux虚拟服务器,第一Linux虚拟服务器和第二Linux虚拟服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。
如图6所示,该Linux虚拟服务器包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种数据资源调度方法。
处理器用于提供计算和控制能力,支撑整个Linux虚拟服务器的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种数据资源调度方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的Linux虚拟服务器的限定,具体的Linux虚拟服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器;
第一Linux虚拟服务器将所述数据请求消息发送给所述服务器,以供所述服务器基于所述数据请求消息确定所述客户端请求的数据资源;
第二Linux虚拟服务器接收所述服务器发送的数据资源,并将所述数据资源转发至所述客户端。
在一个实施例中,所述处理器在实现所述基于所述数据请求消息为所述客户端分配服务器时,用于实现:
第一Linux虚拟服务器基于所述数据请求消息,根据预设的负载均衡算法确定为所述客户端分配的服务器;
获取所述服务器的IP地址,得到服务器IP地址;
将所述数据请求消息中的目的IP地址由第一Linux虚拟服务器的第一IP地址改写为所述服务器IP地址。
在一个实施例中,所述处理器在实现所述第一Linux虚拟服务器将所述数据请求消息发送给所述服务器时,用于实现:
第一Linux虚拟服务器基于所述服务器IP地址,根据预设的调度算法将所述数据请求消息分派至所述服务器。
在一个实施例中,所述处理器在实现所述服务器发送的数据资源携带于数据响应消息中;所述第二Linux虚拟服务器接收所述服务器发送的数据资源之后,还用于实现:
第二Linux虚拟服务器将所述数据响应消息中的目的IP地址改写为所述客户端的IP地址;和/或
将所述数据响应消息中的源IP地址改写为所述第二Linux虚拟服务器的第二IP地址;或者
将所述数据响应消息中的源IP地址改写为所述第一Linux虚拟服务器的第一IP地址。
在一个实施例中,所述数据响应消息为TCP/IP报文;所述处理器在实现所述将所述数据响应消息中的目的IP地址改写为所述客户端的IP地址时,用于实现:
第二Linux虚拟服务器根据所述TCP/IP报文的预设格式,确定所述目的IP地址的存储位置;
将所述目的IP地址的存储位置处的数据改写为代表所述客户端的IP地址的数据。
在一个实施例中,所述处理器在实现所述第一Linux虚拟服务器将所述数据请求消息发送给所述服务器时,用于实现:
第一Linux虚拟服务器通过交换机将数据请求消息发送给所述服务器;
所述第二Linux虚拟服务器接收所述服务器发送的数据资源,包括:
第二Linux虚拟服务器接收所述服务器通过所述交换机发送的数据资源。
在一个实施例中,所述数据资源至少包括Cookie文件数据、URI数据和/或HOST数据,所述Cookie文件数据、URI数据和/或HOST数据存储于区块链中。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述Linux虚拟服务器的具体工作过程,可以参考前述数据资源调度方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请数据资源调度方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的Linux虚拟服务器的内部存储单元,例如所述Linux虚拟服务器的硬盘或内存。所述计算机可读存储介质也可以是所述Linux虚拟服务器的外部存储设备,例如所述Linux虚拟服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据资源调度方法,其特征在于,应用于Linux虚拟服务器,所述Linux虚拟服务器包括第一Linux虚拟服务器和第二Linux虚拟服务器,所述第一Linux虚拟服务器和所述第二Linux虚拟服务器用于实现进出流量分离;所述方法包括:
第一Linux虚拟服务器接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器;
第一Linux虚拟服务器将所述数据请求消息发送给所述服务器,以供所述服务器基于所述数据请求消息确定所述客户端请求的数据资源;
第二Linux虚拟服务器接收所述服务器发送的数据资源,其中,所述数据资源携带于数据响应消息;
第二Linux虚拟服务器将所述数据响应消息中的目的IP地址改写为所述客户端的IP地址,并将所述数据资源转发至所述客户端。
2.如权利要求1所述的数据资源调度方法,其特征在于,所述基于所述数据请求消息为所述客户端分配服务器,包括:
第一Linux虚拟服务器基于所述数据请求消息,根据预设的负载均衡算法确定为所述客户端分配的服务器;
获取所述服务器的IP地址,得到服务器IP地址;
将所述数据请求消息中的目的IP地址由第一Linux虚拟服务器的第一IP地址改写为所述服务器IP地址。
3.如权利要求2所述的数据资源调度方法,其特征在于,所述第一Linux虚拟服务器将所述数据请求消息发送给所述服务器,包括:
第一Linux虚拟服务器基于所述服务器IP地址,根据预设的调度算法将所述数据请求消息分派至所述服务器。
4.如权利要求1-3中任一项所述的数据资源调度方法,其特征在于,所述第二Linux虚拟服务器接收所述服务器发送的数据资源之后,还包括:
将所述数据响应消息中的源IP地址改写为所述第二Linux虚拟服务器的第二IP地址;或者
将所述数据响应消息中的源IP地址改写为所述第一Linux虚拟服务器的第一IP地址。
5.如权利要求4所述的数据资源调度方法,其特征在于,所述数据响应消息为TCP/IP报文;所述将所述数据响应消息中的目的IP地址改写为所述客户端的IP地址,包括:
第二Linux虚拟服务器根据所述TCP/IP报文的预设格式,确定所述目的IP地址的存储位置;
将所述目的IP地址的存储位置处的数据改写为代表所述客户端的IP地址的数据。
6.如权利要求1-3中任一项所述的数据资源调度方法,其特征在于,所述第一Linux虚拟服务器将所述数据请求消息发送给所述服务器,包括:
第一Linux虚拟服务器通过交换机将数据请求消息发送给所述服务器;
所述第二Linux虚拟服务器接收所述服务器发送的数据资源,包括:
第二Linux虚拟服务器接收所述服务器通过所述交换机发送的数据资源。
7.如权利要求1-3中任一项所述的数据资源调度方法,其特征在于,所述数据资源至少包括Cookie文件数据、URI数据和/或HOST数据,所述Cookie文件数据、URI数据和/或HOST数据存储于区块链中。
8.一种数据资源调度系统,其特征在于,所述数据资源调度系统包括第一Linux虚拟服务器、第二Linux虚拟服务器和服务器,所述第一Linux虚拟服务器和所述第二Linux虚拟服务器用于实现进出流量分离;其中:
所述第一Linux虚拟服务器,用于接收客户端发送的数据请求消息,并基于所述数据请求消息为所述客户端分配服务器,并将所述数据请求消息发送给分配的所述服务器;
所述服务器基于所述数据请求消息确定所述客户端请求的数据资源,并将所述数据资源发送至第二Linux虚拟服务器;
所述第二Linux虚拟服务器接收所述服务器发送的数据资源,其中,所述数据资源携带于数据响应消息;
第二Linux虚拟服务器将所述数据响应消息中的目的IP地址改写为所述客户端的IP地址,并将所述数据资源转发至所述客户端。
9.一种Linux虚拟服务器,其特征在于,所述Linux虚拟服务器包括第一Linux虚拟服务器和第二Linux虚拟服务器,第一Linux虚拟服务器和第二Linux虚拟服务器包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的数据资源调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的数据资源调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011291198.5A CN112449012B (zh) | 2020-11-17 | 2020-11-17 | 数据资源调度方法、系统、服务器及读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011291198.5A CN112449012B (zh) | 2020-11-17 | 2020-11-17 | 数据资源调度方法、系统、服务器及读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112449012A CN112449012A (zh) | 2021-03-05 |
CN112449012B true CN112449012B (zh) | 2024-04-05 |
Family
ID=74738048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011291198.5A Active CN112449012B (zh) | 2020-11-17 | 2020-11-17 | 数据资源调度方法、系统、服务器及读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112449012B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691611B (zh) * | 2021-08-23 | 2022-11-22 | 湖南大学 | 一种区块链的分布式高并发事务处理方法及系统、设备、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166870A (zh) * | 2011-12-13 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 负载均衡集群系统及采用其提供服务的方法 |
WO2018120800A1 (zh) * | 2016-12-29 | 2018-07-05 | 华为技术有限公司 | 一种负载均衡的方法、装置和系统 |
CN108566342A (zh) * | 2018-04-12 | 2018-09-21 | 国家计算机网络与信息安全管理中心 | 基于sdn架构的多业务流量分流系统及分流数据处理方法 |
CN110225099A (zh) * | 2019-05-20 | 2019-09-10 | 中国平安财产保险股份有限公司 | 一种数据处理方法、前端客户端、后端服务器及存储介质 |
CN110971698A (zh) * | 2019-12-09 | 2020-04-07 | 北京奇艺世纪科技有限公司 | 一种数据转发系统、方法及装置 |
CN111008075A (zh) * | 2019-12-05 | 2020-04-14 | 安超云软件有限公司 | 一种负载均衡系统、方法、装置、设备及介质 |
CN111327697A (zh) * | 2020-02-18 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种数据下载方法、装置、设备及存储介质 |
-
2020
- 2020-11-17 CN CN202011291198.5A patent/CN112449012B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166870A (zh) * | 2011-12-13 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 负载均衡集群系统及采用其提供服务的方法 |
WO2018120800A1 (zh) * | 2016-12-29 | 2018-07-05 | 华为技术有限公司 | 一种负载均衡的方法、装置和系统 |
CN108566342A (zh) * | 2018-04-12 | 2018-09-21 | 国家计算机网络与信息安全管理中心 | 基于sdn架构的多业务流量分流系统及分流数据处理方法 |
CN110225099A (zh) * | 2019-05-20 | 2019-09-10 | 中国平安财产保险股份有限公司 | 一种数据处理方法、前端客户端、后端服务器及存储介质 |
CN111008075A (zh) * | 2019-12-05 | 2020-04-14 | 安超云软件有限公司 | 一种负载均衡系统、方法、装置、设备及介质 |
CN110971698A (zh) * | 2019-12-09 | 2020-04-07 | 北京奇艺世纪科技有限公司 | 一种数据转发系统、方法及装置 |
CN111327697A (zh) * | 2020-02-18 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种数据下载方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112449012A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7219121B2 (en) | Symmetrical multiprocessing in multiprocessor systems | |
US7765405B2 (en) | Receive side scaling with cryptographically secure hashing | |
US9998532B2 (en) | Computer-based, balanced provisioning and optimization of data transfer resources for products and services | |
US9634848B2 (en) | Message broadcasting in a clustered computing environment | |
US20170195458A1 (en) | Middleware abstraction layer (mal) | |
US9276860B2 (en) | Distributed data center technology | |
CN110278161B (zh) | 基于用户态协议栈的报文分流方法、装置及系统 | |
US20150271256A1 (en) | Message Processing Using Dynamic Load Balancing Queues in a Messaging System | |
US7685312B1 (en) | Resource location by address space allocation | |
US9483747B2 (en) | Managing workflows | |
US20130007093A1 (en) | Client server communication system | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
CN112799825A (zh) | 一种任务处理方法和网络设备 | |
JPWO2018220708A1 (ja) | 資源割当システム、管理装置、方法およびプログラム | |
AU2021259515B2 (en) | Sharing geographically concentrated workload among neighboring mec hosts of multiple carriers | |
US9055117B1 (en) | Distributed network address translation | |
US7209489B1 (en) | Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing | |
CN112449012B (zh) | 数据资源调度方法、系统、服务器及读存储介质 | |
CN113067824B (zh) | 数据调度方法、系统、虚拟主机及计算机可读存储介质 | |
CN113301144B (zh) | Nginx服务器的并发访问处理方法、装置、服务器及存储介质 | |
CN114911602A (zh) | 一种服务器集群的负载均衡方法、装置、设备和存储介质 | |
KR102119456B1 (ko) | 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법 | |
US11706320B2 (en) | Scalable leader-based total order broadcast protocol for distributed computing systems | |
US9912757B2 (en) | Correlation identity generation method for cloud environment | |
US10091330B2 (en) | Interest scheduling by an information and data framework in a content centric network |
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 |