CN114244602B - 多用户在线的网络服务系统、方法、装置及介质 - Google Patents
多用户在线的网络服务系统、方法、装置及介质 Download PDFInfo
- Publication number
- CN114244602B CN114244602B CN202111538953.XA CN202111538953A CN114244602B CN 114244602 B CN114244602 B CN 114244602B CN 202111538953 A CN202111538953 A CN 202111538953A CN 114244602 B CN114244602 B CN 114244602B
- Authority
- CN
- China
- Prior art keywords
- proxy server
- client
- server
- address
- data packet
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种多用户在线的网络服务系统、方法、装置及介质,涉及网络安全领域。网络服务系统包括:分配服务器、后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器;后台服务器,用于提供虚拟网络房间;分配服务器,用于在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器;第一代理服务器,用于在第一客户端和后台服务器之间,转发与虚拟网络房间相关的数据包;第二代理服务器,用于在第二客户端和后台服务器之间,转发与虚拟网络房间相关的数据包。本申请可以提高系统的抗干扰性和稳定性。
Description
技术领域
本申请涉及网络安全领域,特别涉及一种多用户在线的网络服务系统、方法、装置及介质。
背景技术
客户端在访问网络上的服务器时,数据包在网络上传输时会经过至少一个路由器。路由器会进行网络转发,让客户端能够访问服务器并返回结果。网络转发技术可以应用在游戏对战中。
相关技术将参加同一场游戏对战的多个客户端,通过后台服务器的分配机制分配到同一台DS(Dedicated Server,专用服务器)上,该场游戏对战内的所有客户端均连接到DS上的相同进程进行游戏。
但是相关技术中客户端会连接同一台DS上,这就导致DS在受到恶意网络攻击后,会对连接到这台DS的所有客户端造成影响。
发明内容
本申请实施例提供了一种多用户在线的网络服务系统、方法、装置及介质,该系统会为同一个虚拟网络房间内的每个客户端分配不同的代理服务器,每个客户端通过不同的代理服务器与后台服务器建立连接,提高网络服务系统的抗干扰性和稳定性。所述技术方案如下:
根据本申请的一个方面,提供了一种多用户在线的网络服务系统,网络服务系统包括:分配服务器、后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该系统包括:
后台服务器,用于提供虚拟网络房间;
分配服务器,用于在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器,第一客户端登录有第一用户帐号,第二客户端登录有第二用户帐号;
第一代理服务器,用于在第一客户端和后台服务器之间,转发与虚拟网络房间相关的数据包;
第二代理服务器,用于在第二客户端和后台服务器之间,转发与虚拟网络房间相关的数据包。
根据本申请的一个方面,提供了一种多用户在线的网络服务方法,网络服务方法由网络服务系统中的分配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,方法包括:
接收第一客户端发送的第一分配请求;接收第二客户端发送的第二分配请求;
在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器,第一客户端登录有第一用户帐号,第二客户端登录有第二用户帐号;
向第一客户端提供第一代理服务器的第一网际互连协议IP地址和第一端口地址;向第二客户端提供第二代理服务器的第二IP地址和第二端口地址。
根据本申请的一个方面,提供了一种多用户在线的网络服务装置,该装置包括:
接收模块,用于接收第一客户端发送的第一分配请求;接收第二客户端发送的第二分配请求;
分配模块,用于在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器,第一客户端登录有第一用户帐号,第二客户端登录有第二用户帐号;
发送模块,用于向第一客户端提供第一代理服务器的第一网际互连协议IP地址和第一端口地址;向第二客户端提供第二代理服务器的第二IP地址和第二端口地址。
根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面所述的多用户在线的网络服务方法。
根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面所述的多用户在线的网络服务方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面所述的多用户在线的网络服务方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
该系统会为不同的客户端分配不同的代理服务器,通过代理服务器来向后台服务器转发客户端提供的用户数据包,实现客户端和后台服务器之间的信息交互。当客户端作为攻击方实施网络攻击时,由于客户端和后台服务器之间是通过代理服务器间接连接的,故此次网络攻击只会影响到代理服务器,不会影响后台服务器和其他代理服务器,所以不会影响其他客户端与后台服务器的正常信息交互,所以该系统可以提高网络服务系统的抗干扰性和稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的多用户在线的网络服务系统的示意图;
图2是本申请一个示例性实施例提供的多用户在线的网络服务系统的示意图;
图3是本申请一个示例性实施例提供的数据包传输的示意图;
图4是本申请一个示例性实施例提供的多用户在线的网络服务方法的流程示意图;
图5是本申请一个示例性实施例提供的多用户在线的网络服务方法的流程示意图;
图6是本申请一个示例性实施例提供的多用户在线的网络服务方法的流程示意图;
图7是本申请一个示例性实施例提供的多用户在线的游戏服务方法的流程示意图;
图8是本申请一个示例性实施例提供的多用户在线的网络服务方法的界面示意图;
图9是本申请一个示例性实施例提供的多用户在线的文档编辑方法的流程示意图;
图10是本申请一个示例性实施例提供的多用户在线的元宇宙服务方法的流程示意图;
图11是本申请一个示例性实施例提供的代理服务器配置方法的流程示意图;
图12是本申请一个示例性实施例提供的多用户在线的网络服务装置的结构示意图;
图13是本申请一个示例性实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
Linux:是一套免费使用和自由传播的类Unix(一种多用户、多任务操作系统)操作系统,是一个基于POSIX(Portable Operating System Interface,可移植操作系统接口,其中的X表示对Unix的应用程序接口的继承)和UNIX的多用户、多任务、支持多线程和多中央处理器的操作系统。
IP tables(Internet Protocol tables,网际互连协议表):IP tables内设置有数据包过滤规则,数据包过滤规则用来设置、维护和检查Linux系统的内核。
PREROUTING(预路由)链:在对数据包作路由选择之前,应用此链中的规则。
POSTROUTING(完成路由)链:在对数据包作路由选择之后,应用此链中的规则。
NAT(Network Address Translation,地址转换):包括SNAT(Source NetworkAddress Translation,源地址转换)和DNAT(Destination Source Network AddressTranslation,目的地址转换)。SNAT的作用是将数据包的源IP地址转换成另外一个地址。DNAT的作用是将数据包的目的IP地址转换成另外一个地址。
DS(Dedicated Server,后台服务器):是一个常见的IT(Internet Technology,互联网技术)术语,指这台服务器的全部硬件资源只用于某种特殊目的,不做其他用途。
UDP(User Datagram Protocol,用户数据包协议):属于传输层协议的一种,为应用程序提供了一种无需建立连接就可以发送封装的数据包的方法。
TCP(Transmission Control Protocol,传输控制协议):用于在互联网络上提供可靠的端到端字节流而设计的一个传输协议。
Proxy:指的是代理软件或代理服务器(Proxy Server),也可以认为是一种网络访问方式。在本申请实施例中,若无特别说明,Proxy指代理服务器。
元宇宙(Metaverse):是整合多种新技术而产生的新型虚实相融的互联网应用和社会形态,它基于扩展现实技术提供沉浸式体验,基于数字孪生技术生成现实世界的镜像,基于区块链技术搭建经济体系,将虚拟世界与现实世界在经济系统、社交系统、身份系统上密切融合,并且允许每个用户进行内容生产和世界编辑。
区块链(Blockchain):是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
图1示出了本申请一个实施例提供的多用户在线的网络服务系统的示意图。该网络服务系统100包括分配服务器101、后台服务器106、与后台服务器106相连的第一代理服务器104和第二代理服务器105。
后台服务器106用于提供虚拟网络房间。后台服务器106可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,也可以是区块链系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选地,虚拟网络房间是用于提供虚拟环境的网络空间。示例性的,虚拟网络房间是游戏中的对战房间、元宇宙空间中的至少一种。以游戏中的对战房间为例,虚拟网络房间是后台服务器提供的游戏对战所需的虚拟环境。以元宇宙空间为例,虚拟网络房间是后台服务器提供的元宇宙中的一处虚拟环境,例如,虚拟网络房间是元宇宙中的一家虚拟商店,一处虚拟广场等。
可选地,虚拟网络房间是用于提供信息交互的网络空间。示例性的,虚拟网络房间是网络聊天平台的网络房间、在线会议的网络房间、在线课堂的网络房间中的至少一种。以网络聊天平台为例,虚拟网络房间是后台服务器提供的一个聊天室。以在线会议的网络房间为例,虚拟网络房间是后台服务器提供的一个在线会议室。
可选地,虚拟网络房间是用于协同编辑文本的网络空间。示例性的,虚拟网络房间是在线文档对应的网络空间、编辑代码对应的网络空间中的至少一种。例如,虚拟网络房间是后台服务器上在线文档对应的网络空间。
分配服务器101用于协调和管理代理服务器。其中,分配服务器101用于在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间的情况下,为第一客户端102分配第一代理服务器104,为第二客户端103分配第二代理服务器105。第一代理服务器104和第二代理服务器105是不同的代理服务器。
可选地,分配服务器101可以与第一代理服务器104和第二代理服务器105直接相连,也可以与第一代理服务器104和第二代理服务器105间接相连。例如,当分配服务器101与第一代理服务器104和第二代理服务器105间接相连时,分配服务器101通过第一中转服务器(图1中未示出)与第一代理服务器104和第二代理服务器105建立联系。
可选地,第一代理服务器104向分配服务器101提供第一代理服务器104的连接状态;第二代理服务器105向分配服务器101提供第二代理服务器105的连接状态。
可选地,分配服务器101可以与后台服务器106直接相连,也可以与后台服务器106间接相连。例如,当分配服务器101与后台服务器106间接相连时,分配服务器101通过第二中转服务器(图1中未示出)与后台服务器106建立联系。
可选地,后台服务器106向分配服务器101提供第一用户帐号和第二用户帐号的虚拟网络空间的相关信息。示例性的,虚拟网络房间的相关信息包括虚拟网络房间的类型、房间标识、创建时间、有效时间、准入名单中的至少一种。
第一客户端102登录有虚拟网络房间的第一用户帐号,第二客户端103登录有虚拟网络房间的第二用户帐号。示例性的,第一客户端和第二客户端是参与游戏对战的不同客户端。或者,第一客户端和第二客户端是直播房间中的不同客户端。或者,第一客户端和第二客户端是参与在线会议的不同客户端。
可选地,第一客户端102和第一代理服务器104通过TCP和UDP来传输数据包。可选地,第二客户端103和第二代理服务器105通过TCP和UDP来传输数据包。
第一代理服务器104用于在第一客户端102和后台服务器106之间,转发与虚拟网络房间相关的数据包。第二代理服务器105用于在第二客户端103和后台服务器106之间,转发与虚拟网络房间相关的数据包。
可选地,第一代理服务器104和第二代理服务器105是相同类型的计算机设备。或者,第一代理服务器104和第二代理服务器105是不同类型的计算机设备。在一种实际的设计方式中,第一代理服务器104和第二代理服务器105是2核CPU(Central ProcessingUnit,中央处理器)的计算机设备。
在一种转发方式中,第一代理服务器104,还用于向后台服务器106转发第一数据包,第一数据包是第一客户端102向第一代理服务器104提供的数据包。或,第一代理服务器104,还用于向第一客户端102转发第二数据包,第二数据包是后台服务器106向第一代理服务器104提供的数据包。
可选地,在后台服务器106接收到第一数据包后,后台服务器106还用于处理第一数据包,生成第一反馈数据包;向第一代理服务器104返回第一反馈数据包。
可选地,第二数据包是后台服务器106向第一客户端102下发的指令。示例性的,在游戏场景中,第二数据包用于向第一客户端102提供游戏数据的更新或修改,例如,第二数据包用于游戏地图的更新、游戏活动的更新、游戏人物形象的修改等。在元宇宙场景中,第二数据包用于向第一客户端102提供元宇宙的更新或修改,例如,第二数据包用于元宇宙中虚拟商品的更新、元宇宙中季节的更新等。
在一种转发方式中,第二代理服务器105,还用于向后台服务器106转发第三数据包,第三数据包是第二客户端103向第二代理服务器105提供的数据包。第二代理服务器105,还用于向第二客户端103转发第四数据包,第四数据包是后台服务器106向第二代理服务器105提供的数据包。
可选地,在后台服务器106接收到第三数据包后,后台服务器106还用于处理第三数据包,生成第二反馈数据包;向第二代理服务器105返回第二反馈数据包。
可选地,第四数据包是后台服务器106向第二客户端103下发的指令。
综上所述,该系统会为不同的客户端分配不同的代理服务器,通过代理服务器来向后台服务器转发客户端提供的用户数据包,实现客户端和后台服务器之间的信息交互。当客户端作为攻击方实施网络攻击时,由于客户端和后台服务器之间是通过代理服务器间接连接的,故此次网络攻击只会影响到代理服务器,不会影响后台服务器和其他代理服务器,所以不会影响其他客户端与后台服务器的正常信息交互,所以该系统可以提高网络服务系统的抗干扰性和稳定性。
图2示出了本申请一个实施例提供的多用户在线的网络服务系统的示意图。该网络服务系统200包括分配服务器201、后台服务器202、与后台服务器相连的代理服务器集群203。分配服务器201与代理服务器集群203相连。
分配服务器201用于为客户端分配代理服务器集群203中的代理服务器。代理服务器集群203包括至少两个代理服务器。一个代理服务器同一时间可连接一个或多个客户端。
分配服务器201,还用于根据客户端发送的分配请求,从代理服务器集群203中确定代理服务器。其中,分配服务器201确定代理服务器的方式包括但不限于负载均衡方式、域名绑定和随机方式中的至少一种。
可选地,分配服务器201可以与代理服务器集群203直接相连,也可以与代理服务器集群203间接相连。
以第一客户端(第一客户端是客户端集合204中的任意一个客户端,需要说明的是,在本申请实施例中,第一客户端可以被替换为第二客户端或者客户端集合204中的其他客户端,本申请实施例对此不作限定)为例进行说明:分配服务器201,还用于根据第一客户端发送的第一分配请求,优先将代理服务器集群中处于未连接状态的代理服务器确定为第一代理服务器。
进一步地,代理服务器集群203中的每个代理服务器在同一时间至多与一个客户端相连。分配服务器201,还用于根据第一客户端发送的第一分配请求,将代理服务器集群203中处于未连接状态的代理服务器确定为第一代理服务器。可选地,轮询代理服务器集群203,从代理服务器集群203中确定处于未连接状态的代理服务器。可选地,查询代理服务器集群203中代理服务器的连接状态。根据代理服务器的连接状态,确定处于未连接状态的代理服务器。
可选地,第一分配请求包括第一客户端的地址。分配服务器201,还用于从代理服务器集群203中确定与第一客户端的地址对应的所述第一代理服务器。示例性的,分配服务器201存储有代理服务器和域名之间的对应关系(参考表1),分配服务器201根据对应关系确定与第一客户端的地址对应的第一代理服务器。
表1代理服务器和客户端的地址之间的对应关系
可选地,分配服务器201,还用于根据第一客户端发送的第一分配请求,从代理服务器集群203中随机确定第一代理服务器。
分配服务器201在确定与第一客户端对应的第一代理服务器后,向第一客户端提供第一代理服务器的第一IP地址和第一端口地址,以便第一客户端向第一代理服务器发送第一用户数据包。
在一些场景中,客户端集合204中客户端的数量大于代理服务器集群203中代理服务器的总量,此时,在本申请实施例中,需要通过扩容策略增加代理服务器的数量。示例性的。分配服务器201,还用于在代理服务器集群203中所有代理服务器均与客户端相连的情况下,向代理服务器集群203发送扩容指令,扩容指令用于指示代理服务器集群203增加代理服务器的数量。代理服务器的增加数量可以是常数,也可以是与代理服务器总数相关的数值,比如,代理服务器的增加数量是常数50,又比如,代理服务器的增加数量是代理服务器总数×10%。
在另一种可选地实施方式中,当代理服务器集群203中与客户端相连的代理服务器的数量达到预设上限时,说明代理服务器的数量可能不足以支持客户端,需要代理服务器集群203预先增加代理服务器的数量,以确保代理服务器的数量能够支持客户端。分配服务器201,还用于在代理服务器集群中与处于连接状态的代理服务器的数量达到预设上限的情况下,向代理服务器集群203发送扩容指令。预设上限可由技术人员自行设置,例如,预设上限是常数,或者预设上限是与代理服务器总数相关的数值。
示例性的,代理服务器集群203包括10个代理服务器,预设上限是代理服务器集群203中代理服务器总数的80%,则预设上限是8,当代理服务器集群203中与客户端相连的代理服务器的数量有8个的情况下,分配服务器201向代理服务器集群203发送扩容指令。
第一代理服务器,还用于向后台服务器202转发第一用户数据包,第一用户数据包用于实现第一客户端和虚拟网络房间之间的信息交互。可选地,转发方式包括但不限于IPtables NAT、Full NAT、LVS(Linux Virtual Server,Linux虚拟服务器)中的至少一种。
以IP tables NAT的转发方式为例,在第一客户端向第一代理服务器发送第一数据包时,第一数据包包括第一源IP地址和第一目的IP地址,第一源IP地址是第一客户端的IP地址,第一目的IP地址是第一代理服务器的IP地址。第一代理服务器,还用于将第一源IP地址修改为第一代理服务器的IP地址,将第一目的IP地址修改为后台服务器202的IP地址。在后台服务器202接收到第一数据包后,后台服务器202还用于处理第一数据包,生成第一反馈数据包;向第一代理服务器返回第一反馈数据包。第一代理服务器,用于向第一客户端转发第一反馈数据包。
后台服务器202,还用于处理第一数据包,生成第一反馈数据包;向第一代理服务器返回第一反馈数据包。示例性的,在游戏场景中,后台服务器202根据第一用户数据包更新第一用户帐号对应的虚拟对象的位置。示例性的,在在线文档的场景中,后台服务器202根据第一用户数据包更新第一用户帐号对应的修改内容。示例性的,在在线会议的场景中,后台服务器202根据第一用户数据包更新第一用户帐号对应的用户影像或用户发布的文本内容。
可选地,第一数据包还包括第一端口地址。第一代理服务器,还用于在第一端口地址满足转发规则的情况下,修改数据包的源IP地址和目的IP地址。
示例性的,以图3为例说明数据包的转发过程,图3中的客户端301是图2中客户端集合204中任意一个客户端,图3中的代理服务器302是图2中代理服务器集群203中与客户端301对应的代理服务器。代理服务器302的IP地址是100.80.56.118,后台服务器202的IP地址是100.80.56.86。代理服务器302的转发规则是当数据包的目的端口地址是100.80.56.118 10001~10500(即UDP10001~10500)的情况下,会修改数据包的IP地址。在客户端301向代理服务器302发送数据包时,数据包的源IP地址是客户端301的IP地址,目的IP地址是100.80.56.118,源端口地址是客户端的端口地址,目的端口地址是UDP 10033。代理服务器302向后台服务器202转发数据包时,由于目的端口地址符合转发规则,故需要修改数据包的源IP地址和目的IP地址,所以,代理服务器302转发的数据包的源IP地址是100.80.56.118,目的IP地址是100.80.56.56,源端口地址是代理服务器的端口地址,目的端口地址是UDP 10033。
类似的,在图3中,后台服务器202发送的反馈数据包的源IP地址是100.80.56.56,目的IP地址是客户端301的IP地址,源端口地址是UDP 10033,目的端口地址是代理服务器的端口地址。代理服务器302向客户端301转发数据包时,由于目的端口地址不符合转发规则,故不需要修改数据包的源IP地址和目的IP地址,代理服务器302向客户端301转发反馈数据包时,反馈数据包的源IP地址是100.80.56.56,目的IP地址是客户端301的IP地址,源端口地址是代理服务器的端口地址,目的端口地址是客户端的端口地址。
示例性的,当存在恶意客户端时,如图2所示,客户端N为恶意客户端,客户端N与代理服务器N通过TCP/UDP的形式相连,客户端N连接到代理服务器N的端口N上,客户端N向恶意设备205下发网络攻击命令,网络攻击命令包括代理服务器N的IP地址和端口地址。恶意设备205向代理服务器N下发网络攻击,造成代理服务器N的瘫痪,使得代理服务器N和后台服务器202之间的转发中断。此时,代理服务器集群203中仅瘫痪了代理服务器N,代理服务器1、代理服务器2、代理服务器3等其他代理服务器并没有瘫痪,而是正常工作,增强了网络服务系统的抗干扰性和稳定性。
综上所述,本实施例中网络服务系统会为不同的客户端分配不同的代理服务器,通过代理服务器来向后台服务器转发客户端提供的用户数据包,实现客户端和后台服务器之间的信息交互。本实施例提供了多种分配代理服务器的方法,可以为客户端分配相应的代理服务器,增强网络服务系统的抗干扰性和稳定性。
还提供了代理服务器集群的扩容策略,使得代理服务器的数量可以适当增加以应对客户端的需求。而且,代理服务器的成本较低,可以较为方便地实施前述的扩容策略。
需要说明的是,本申请实施例还包括其它场景下的有益效果,例如:
(1)将代理服务器和后台服务器部署在不同的地理位置,比如,将代理服务器部署在位置A,在后台服务器部署在位置B,可以实现网络异地容灾。
(2)在受到网络攻击时,由于后台服务器需要实现较为复杂的业务逻辑,这些业务逻辑可能会影响对攻击者的特征分析。因此本申请实施例可以在代理服务器上方便地实现攻击者的特征分析,从而排除后台服务器的影响。
(3)可以在代理服务器上通过抓包分析或攻击分析来监控代理服务器的被攻击状态,从而快速确定被攻击的代理服务器,进而快速剔除和屏蔽被攻击的代理服务器。
(4)代理服务器可以选择通信情况较好的网络节点来向后台服务器转发数据包,从而实现网络加速。
图4示出了本申请一个实施例提供的多用户在线的网络服务方法的流程示意图。网络服务方法由网络服务系统中的分配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该方法包括:
步骤401:第一客户端向分配服务器发送第一分配请求。
第一客户端登录有第一用户帐号。
第一分配请求用于第一客户端向分配服务器请求虚拟网络房间。第一客户端上运行有支持虚拟网络房间的应用程序。
可选地,响应于第一客户端上的第一登录操作,第一客户端向分配服务器发送第一分配请求。示例性的,第一客户端上运行有与元宇宙相关的应用程序,当用户需要登录该应用程序时,第一客户端向分配服务器发送第一分配请求。
可选地,响应于第一客户端上的第一匹配操作,第一客户端向分配服务器发送第一分配请求。示例性的,第一客户端上运行有游戏,当用户需要确定游戏的对战房间时,第一客户端向分配服务器发送第一分配请求。
可选地,响应于第一客户端上的第一开始编辑操作,第一客户端向分配服务器发送第一分配请求。示例性的,第一客户端上运行有与在线文档相关的应用程序,当用户需要进入在线文档的编辑界面时,第一客户端向分配服务器发送第一分配请求。
步骤402:第二客户端向分配服务器发送第二分配请求。
第二客户端登录有第二用户帐号。
第二分配请求用于第二客户端向分配服务器请求虚拟网络房间。第二客户端上运行有支持虚拟网络房间的应用程序。可选地,响应于第二客户端上的第二登录操作,第二客户端向分配服务器发送第二分配请求。
可选地,响应于第二客户端上的第二匹配操作,第二客户端向分配服务器发送第二分配请求。
可选地,响应于第二客户端上的第二开始编辑操作,第二客户端向分配服务器发送第二分配请求。
需要说明的是,步骤401和步骤402不分先后顺序。可以先执行步骤401,后执行402。也可以先执行步骤402,后执行步骤401。本申请实施例对此不作限定。
步骤403:接收第一客户端发送的第一分配请求。
步骤404:接收第二客户端发送的第二分配请求。
需要说明的是,步骤403和步骤404不分先后顺序。可以先执行步骤403,后执行404。也可以先执行步骤404,后执行步骤403。本申请实施例对此不作限定。
步骤405:在为第一客户端和第二客户端分配到相同的用于多用户互动的虚拟网络房间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器。
虚拟网络房间是用于提供信息交互的网络空间。可选地,虚拟网络房间是游戏中的对战房间、在线会议的网络房间、在线课堂的网络房间、直播房间、在线文档中的至少一种。本申请实施例对虚拟网络房间的类型不做具体限定。
第一代理服务器和第二代理服务器是不同的代理服务器。
可选地,分配服务器确定第一代理服务器或第二代理服务器的方式包括但不限于负载均衡方式、域名绑定和随机方式中的至少一种。
示例性的,根据第一客户端发送的第一分配请求,优先将代理服务器集群中处于未连接状态的代理服务器确定为第一代理服务器。示例性的,从代理服务器集群中确定与第二客户端的地址对应的第二代理服务器。示例性的,根据第一客户端发送的第一分配请求,从代理服务器集群中随机确定第一代理服务器。
示例性的,根据第二客户端发送的第二分配请求,优先将代理服务器集群中处于未连接状态的代理服务器确定为第二代理服务器。示例性的,从代理服务器集群中确定与第二客户端的地址对应的第二代理服务器。示例性的,根据第二客户端发送的第二分配请求,从代理服务器集群中随机确定第二代理服务器。
步骤406:向第一客户端提供第一代理服务器的第一IP地址和第一端口地址。
第一客户端根据第一IP地址和第一端口地址,向第一代理服务器发送第一数据包。第一数据包用于实现第一客户端和虚拟网络房间之间的信息交互。
步骤407:向第二客户端提供第二代理服务器的第二IP地址和第二端口地址。
第二客户端根据第二IP地址和第二端口地址,向第二代理服务器发送第二数据包。第二数据包用于实现第二客户端和虚拟网络房间之间的信息交互。
需要说明的是,步骤406和步骤407不分先后顺序。可以先执行步骤406,后执行407。也可以先执行步骤407,后执行步骤406。本申请实施例对此不作限定。
综上所述,本实施例通过分配服务器向客户端提供代理服务器的IP地址和端口地址,为不同的客户端提供不同的代理客户端。即使存在恶意客户端攻击代理服务器,造成与恶意客户端对应的代理服务器瘫痪,不会影响其他客户端与后台服务器的正常信息交互,所以该系统可以提高网络服务系统的抗干扰性和稳定性。
图5示出了本申请一个实施例提供的多用户在线的网络服务方法的流程示意图。网络服务方法由网络服务系统中的分配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该方法包括:
步骤501:客户端向分配服务器发送分配请求。
客户端上运行有支持虚拟网络房间的应用程序。示例性的,该应用程序包括但不限于游戏、直播、在线文档、在线会议、在线课堂中的至少一种。
步骤502:分配服务器为客户端分配对应的代理服务器。
分配服务器根据分配请求从代理服务器集合中为客户端分配对应的代理服务器。分配服务器确定代理服务器的方式包括但不限于负载均衡方式、域名绑定和随机方式中的至少一种。
示例性的,分配服务器根据客户端发送的分配请求,优先将代理服务器集群中处于未连接状态的代理服务器确定为与当前客户端对应的代理服务器。进一步地,代理服务器集群中的每个代理服务器在同一时间至多与一个客户端相连,此时,分配服务器根据客户端发送的分配请求,将代理服务器集群中处于未连接状态的客户端的代理服务器确定为与当前客户端对应的代理服务器。
示例性的,第一分配请求包括第一客户端的第一域名,分配服务器根据客户端发送的域名,从代理服务器集群中确定与域名对应的代理服务器。
示例性的,分配服务器根据客户端发送的分配请求,从代理服务器集群中随机确定代理服务器。
步骤503:分配服务器向客户端提供代理服务器的IP地址和端口地址。
可选地,分配服务器存储有代理服务器的IP地址和端口地址,如表2所示。
表2代理服务器存储的IP地址和端口地址
代理服务器 | IP地址 | 端口地址 |
代理服务器A | 111.111.111.111 | 10000 |
代理服务器B | 222.222.222.222 | 10001 |
代理服务器C | 333.333.333.333 | 10002 |
在一些场景中,客户端的数量大于代理服务器集群中代理服务器的总量,此时,在本申请实施例中,需要通过扩容策略增加代理服务器的数量。示例性的。分配服务器,还用于在代理服务器集群中所有代理服务器均与客户端相连的情况下,向代理服务器集群发送扩容指令,扩容指令用于指示代理服务器集群增加代理服务器的数量。代理服务器的增加数量可以是常数,也可以是与代理服务器总数相关的数值,比如,代理服务器的增加数量是常数50,又比如,代理服务器的增加数量是代理服务器总数×10%。
可选地,分配服务器向客户端提供代理服务器的域名,代理服务器的域名和代理服务器的IP地址是一一对应的。
步骤504:客户端根据IP地址和端口地址,向代理服务器发送用户数据包。
用户数据包用于实现客户端与虚拟网络房间之间的数据交互。例如,在游戏场景中,用户数据包用于确定客户端上的用户帐号的游戏对战房间。在在线文档的场景中,用户数据包用于向后台服务器上的在线文档同步该在线文档的修改内容。
示例性的,如图6所示,客户端601向代理服务器602发送用户数据包。
步骤505:代理服务器修改用户数据包的目的IP地址和源IP地址。
可选地,用户数据包包括目的端口,在目的端口满足转发规则的情况下,代理服务器修改用户数据包的目的地址和源地址。转发规则用于判断是否需要向后台服务器转发用户数据包。
修改前的源地址是客户端的IP地址,修改后的源地址是代理服务器的IP地址。修改前的目的地址是代理服务器的IP地址,修改后的目的地址是后台服务器的IP地址。
可选地,修改用户数据包的目的端口地址和源端口地址。修改前的源端口地址是客户端的端口地址,修改后的源端口地址是后台服务器的端口地址。修改前的目的端口地址是代理服务器的端口地址,修改后的端口地址是后台服务器的端口地址。
在本申请实施例的一种可选设计中,代理服务器修改用户数据包的目的IP地址和源IP地址还包括以下子步骤61至65,如图6所示:
子步骤61:判断是否存在匹配的预路由链规则。
若存在匹配的预路由链规则,则执行步骤62;
若不存在匹配的预路由链规则,则执行步骤65。
预路由链规则用于修改用户数据包的目的IP地址。示例性的,预路由链规则指Linux系统中的PREROUTING链规则。
可选地,根据用户数据包的目的端口地址判断是否存在匹配的预路由链规则。示例性的,当用户数据包的目的端口地址属于UDP10001~10500时,认为存在匹配的预路由链规则。
子步骤62:执行预路由链规则。
示例性的,使用Linux语言表示预路由链规则如下:
“Chain PREROUTING(policy ACCEPT 46356packets,4640Kbytes)
pkts bytes target prot opt in out source destination
33462 2156K DNAT udp**0.0.0.0/0 100.80.56.118udp dpts:10001:10500to:100.80.56.86”。
该预路由链规则可将用户数据包的目的IP地址由100.80.56.118修改为100.80.56.86。
子步骤63:判断是否存在匹配的完成路由链规则。
若存在匹配的完成路由链规则,则执行步骤64;
若不存在匹配的完成路由链规则,则执行步骤65。
完成路由链规则用于修改用户数据包的源IP地址。示例性的,完成路由链规则指Linux系统中的POSTROUTING链规则。
可选地,根据用户数据包的目的端口地址判断是否存在匹配的完成路由链规则。示例性的,当用户数据包的目的端口地址属于UDP 10001~10500时,认为存在匹配的完成路由链规则。
子步骤64:执行完成路由链规则。
示例性的,使用Linux语言表示完成路由链规则如下:
“Chain POSTROUTING(policy ACCEPT 2559K packets,243Mbytes)
pkts bytes target prot opt in out source destination
85521 12M SNAT udp**0.0.0.0/0 0.0.0.0/0udp dpts:10001:10500to:100.80.56.118”。
该完成路由链规则可将用户数据包的源IP地址由客户端的IP地址修改为100.80.56.118。
子步骤65:连接失败。
这里的连接失败指的是客户端601和代理服务器602之间连接失败。
可选地,在连接失败的情况下,客户端可向分配服务器再次发送分配请求。
步骤506:代理服务器向后台服务器转发用户数据包。
根据修改后的目的地址,向后台服务器转发用户数据包。
示例性的,如图6所示,代理服务器602将用户数据包转发给后台服务器603。
步骤507:后台服务器处理用户数据包,生成反馈数据包。
示例性的,如图6所示,后台服务器603会执行步骤66:判断是否正常处理用户数据包。当后台服务器603正常处理用户数据包时,会将用户数据包发挥给代理服务器602;当后台服务器603没有正常处理用户数据包时,会认为连接失败,这里的连接失败指的是代理服务器602和后台服务器603之间连接失败。
步骤508:后台服务器向代理服务器发送反馈数据包。
示例性的,如图6所示,当后台服务器603正常处理用户数据包时,会生成反馈数据包,后台服务器603会向代理服务器602发送反馈数据包。
步骤509:代理服务器向客户端转发反馈数据包。
客户端在接收反馈数据包后,根据反馈数据包内的数据修改或更新与虚拟网络房间的信息。例如,当虚拟网络房间是游戏对战空间时,客户端根据反馈数据包修改游戏对战空间内的游戏物品或游戏人物的形象。
综上所述,本实施例通过分配服务器向客户端提供代理服务器的IP地址和端口地址,为不同的客户端提供不同的代理客户端。即使存在恶意客户端攻击代理服务器,造成与恶意客户端对应的代理服务器瘫痪,不会影响其他客户端与后台服务器的正常信息交互,所以该系统可以提高网络服务系统的抗干扰性和稳定性。
在接下来的实施例中,本申请实施例可应用在游戏场景中,游戏可以是竞速游戏、MOBA(Multiplayer Online Battle Arena,多人在线战术竞技游戏)游戏、FPS(FirstPerson Shooting game,第一人称射击类游戏)游戏、生存类游戏、棋牌类游戏中的任意一种。此时,分配服务器是游戏匹配服务器。
图7示出了本申请一个实施例提供的多用户在线的游戏服务方法的流程示意图。网络服务方法由网络服务系统中的游戏匹配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该方法包括:
步骤701:第一游戏客户端向游戏匹配服务器发送第一游戏匹配请求。
第一客户端登录有第一用户帐号。
第一游戏匹配请求用于第一客户端请求游戏对战房间。
可选地,第一游戏匹配请求包括第一用户帐号的用户信息、对战类型、匹配时间、帐号积分、帐号等级中的至少一种。
可选地,响应于第一游戏客户端上的第一登录操作,第一游戏客户端向游戏匹配服务器发送第一游戏匹配请求。示例性的,当用户需要登录游戏时,第一客户端向游戏匹配服务器发送第一游戏匹配请求。
可选地,响应于第一游戏客户端上的第一匹配操作,第一游戏客户端向游戏匹配服务器发送第一游戏匹配请求。示例性的,第一游戏客户端上运行有游戏,当用户需要确定游戏的对战房间时,第一游戏客户端向游戏匹配服务器发送第一游戏匹配请求。
如图8所示,第一游戏客户端显示匹配界面。响应于匹配控件801上的触发操作,第一游戏客户端向游戏匹配服务器发送第一游戏匹配请求。可选地,匹配界面还包括第一用户帐号的好友帐号和好友帐号的游戏状态,在图8所表示的匹配界面的右侧显示有用户A的好友帐号:用户B、用户C、用户D、用户E和用户F。
步骤702:第二游戏客户端向游戏匹配服务器发送第二游戏匹配请求。
第二游戏客户端登录有第二用户帐号。第一用户帐号和第二用户帐号在游戏对战中可以队友关系,也可以是对手关系。比如,在MOBA游戏中,第一用户帐号和第二用户帐号是同一个阵营的,第二用户帐号和第二用户帐号也可以是敌对阵营的。
第一游戏匹配请求用于第一游戏客户端请求游戏对战房间。
可选地,第二游戏匹配请求包括第二用户帐号的用户信息、对战类型、匹配时间、帐号积分、帐号等级、房间信息、好友信息中的至少一种。
可选地,响应于第二游戏客户端上的第二登录操作,第二游戏客户端向游戏匹配服务器发送第二游戏匹配请求。
可选地,响应于第二游戏客户端上的第二匹配操作,第二游戏客户端向游戏匹配服务器发送第二游戏匹配请求。
需要说明的是,步骤701和步骤702不分先后顺序。可以先执行步骤701,后执行702。也可以先执行步骤702,后执行步骤701。本申请实施例对此不作限定。
步骤703:接收第一游戏客户端发送的第一游戏分配请求。
步骤704:接收第二游戏客户端发送的第二游戏分配请求。
需要说明的是,步骤703和步骤704不分先后顺序。可以先执行步骤703,后执行704。也可以先执行步骤704,后执行步骤703。本申请实施例对此不作限定。
步骤705:在第一用户帐号和第二用户帐号加入到同一个游戏对战房间的情况下,为第一游戏客户端分配第一代理服务器,为第二游戏客户端分配第二代理服务器。
第一代理服务器和第二代理服务器是不同的代理服务器。
可选地,分配服务器确定第一代理服务器或第二代理服务器的方式包括但不限于负载均衡方式、域名绑定和随机方式中的至少一种。
可选地,游戏匹配服务器的匹配方式包括随机匹配、积分匹配、好友匹配、对战类型匹配、自定义匹配中的至少一种。
示例性的,第一游戏匹配请求包括第一用户帐号的对战类型,第二游戏匹配请求包括第二用户帐号的对战类型,第一游戏匹配请求和第二游戏请求包括的用户帐号的对战类型都是娱乐对战,游戏匹配服务器根据对战类型匹配的方式进行匹配,将第一用户帐号和第二用户帐号分配到同一个游戏对战房间中。
示例性的,第一游戏匹配请求包括第一用户帐号的帐号积分,第二游戏匹配请求包括第二用户帐号的帐号积分,游戏匹配服务器根据积分匹配的方式进行匹配,在第一用户帐号的帐号积分和第二用户帐号的帐号积分位于相同积分区间(积分区间可由技术人员或用户自行设置,例如,积分区间是[100,200])的情况下,将第一用户帐号和第二用户帐号分配到同一个游戏对战房间中。
示例性的,在游戏对战时,会有同好友一起游戏的选择,此时,第一游戏匹配请求和第二游戏请求均包括第一用户帐号和第二用户帐号进行好友对战相关的信息,游戏匹配服务器会根据第一游戏匹配请求和第二游戏请求,直接将第一用户帐号和第二用户帐号分配到同一个游戏对战房间中。
步骤706:向第一游戏客户端提供第一代理服务器的第一IP地址和第一端口地址。
第一游戏客户端根据第一IP地址和第一端口地址,向第一代理服务器发送第一游戏数据包。第一游戏数据包用于实现第一游戏客户端和游戏对战房间之间的信息交互。例如,在第一游戏客户端上,用户控制虚拟角色释放技能,第一游戏客户端将虚拟角色释放技能这一行为添加到第一游戏数据包中,用于通知后台服务器在第一游戏客户端上虚拟角色释放了技能。
步骤707:向第二游戏客户端提供第二代理服务器的第二IP地址和第二端口地址。
第二游戏客户端根据第二IP地址和第二端口地址,向第二代理服务器发送第二游戏数据包。第二游戏数据包用于实现第二游戏客户端和游戏对战房间之间的信息交互。
需要说明的是,步骤706和步骤707不分先后顺序。可以先执行步骤706,后执行707。也可以先执行步骤707,后执行步骤706。本申请实施例对此不作限定。
综上所述,本实施例在游戏场景中,可以为游戏客户端分配相应的代理服务器,增强游戏服务系统的抗干扰性和稳定性,当参与游戏对战的游戏客户端中存在恶意客户端时,不会影响其它客户端的正常工作。
在接下来的实施例中,本申请实施例可应用在在线文档中,第一客户端和第二客户端是编辑在线文档的客户端。图9示出了本申请一个实施例提供的多用户在线的文档编辑方法的流程示意图。网络服务方法由网络服务系统中的分配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该方法包括:
步骤901:第一客户端向分配服务器发送第一文档分配请求。
第一客户端登录有第一用户帐号。
第一文档分配请求用于第一客户端请求编辑文档对应的网络空间。
可选地,第一文档分配请求包括文档信息、用户帐号信息、准入标识中的至少一种。其中,文档信息用于区分客户端请求的编辑文档。用户帐号信息包括用户名称、用户的UID(User IDentification,用户身份证明)、用户的年龄、用户的帐号中的至少一种。准入标识用于判断当前用户帐号是否允许编辑前述的编辑文档。
步骤902:第二客户端向分配服务器发送第二文档分配请求。
第二客户端登录有第二用户帐号。
第二文档分配请求用于第二客户端请求编辑文档对应的网络空间。其中,第一文档编辑请求和第二文档编辑请求请求的是相同的编辑文档对应的网络空间。
示例性的,第一客户端和第二客户端接收第三客户端发送的编辑文档的连接信息,该连接信息是网络链接或图形识别码中的至少一种。响应于第一客户端上对连接信息的第一触发操作,第一客户端向分配服务器发送第一文档分配请求。响应于第二客户端上对连接信息的第二触发操作,第二客户端向分配服务器发送第二文档分配请求。
在一种可选实施方式中,编辑文档是由第一客户端创建的。第一客户端向分配服务器发送第一文档分配请求,以便分配服务器为第一客户端分配第一代理服务器。第一客户端同第一代理服务器建立连接,并在后台服务器上建立编辑文档对应的网络空间。第一客户端向第二客户端分享编辑文档的连接信息,响应于第二客户端上对连接信息的第二触发操作,第二客户端向分配服务器发送第二文档分配请求,以便第二客户端接入编辑文档对应的网络空间。
需要说明的是,步骤901和步骤902不分先后顺序。可以先执行步骤901,后执行902。也可以先执行步骤902,后执行步骤901。本申请实施例对此不作限定。
步骤903:接收第一客户端发送的第一文档分配请求。
步骤904:接收第二客户端发送的第二文档分配请求。
需要说明的是,步骤903和步骤904不分先后顺序。可以先执行步骤903,后执行904。也可以先执行步骤904,后执行步骤903。本申请实施例对此不作限定。
步骤905:在第一用户帐号和第二用户帐号加入到同一个文档编辑空间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器。
第一代理服务器和第二代理服务器是不同的代理服务器。
文档编辑空间指编辑文档对应的网络空间。
可选地,分配服务器确定第一代理服务器或第二代理服务器的方式包括但不限于负载均衡方式、域名绑定和随机方式中的至少一种。
可选地,分配服务器分配文档编辑空间的方式包括根据用户帐号分配、根据文档分配请求中的文档标识中的至少一种。其中,文档标识用于标识客户端请求的编辑文档,文档标识可以是字符串或字符。
示例性的,当分配服务器根据用户帐号进行分配时,分配服务器中存储有文档编辑空间与用户帐号之间的对应关系,比如,“文档编辑空间1-用户帐号A、用户帐号B”,“文档编辑空间2-用户帐号C、用户帐号D、用户帐号E”,当第一文档分配请求包括用户帐号A的相关信息,第二文档分配请求包括用户帐号B的相关信息时,将第一用户帐号和第二用户帐号都分配到文档编辑空间1中。
示例性的,当分配服务器根据文档分配请求中的文档标识进行分配时,分配服务器中存储有文档标识与文档编辑空间之间的对应关系,比如,“文档标识1-文档编辑空间P”,“文档标识2-文档编辑空间Q”,当第一文档分配请求和第二文档分配请求均包括文档标识1时,将第一用户帐号和第二用户帐号都分配到文档编辑空间P中。
步骤906:向第一客户端提供第一代理服务器的第一IP地址和第一端口地址。
第一客户端根据第一IP地址和第一端口地址,向第一代理服务器发送第一文档数据包。第一文档数据包用于实现第一客户端和文档编辑房间之间的信息交互。例如,在第一客户端上,用户删除了在线文档的部分内容,第一客户端将删除在线文档的部分内容这一行为添加到第一文档数据包中,用于通知后台服务器在第一客户端上在线文档的部分内容被删除了。
步骤907:向第二客户端提供第二代理服务器的第二IP地址和第二端口地址。
第二客户端根据第二IP地址和第二端口地址,向第二代理服务器发送第二文档数据包。第二文档数据包用于实现第二客户端和文档编辑房间之间的信息交互。
需要说明的是,步骤906和步骤907不分先后顺序。可以先执行步骤906,后执行907。也可以先执行步骤907,后执行步骤906。本申请实施例对此不作限定。
综上所述,本实施例在在线文档的场景中,可以为客户端分配相应的代理服务器,增强在线文档编辑系统的抗干扰性和稳定性,当参与在线文档编辑的客户端中存在恶意客户端时,不会影响其它客户端的正常工作。
在接下来的实施例中,本申请实施例可应用在元宇宙的场景中,第一客户端和第二客户端是与元宇宙相关的客户端。图10示出了本申请一个实施例提供的多用户在线的元宇宙服务方法的流程示意图。网络服务方法由网络服务系统中的分配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该方法包括:
步骤1001:第一客户端向分配服务器发送第一元宇宙分配请求。
第一客户端登录有第一用户帐号。
第一元宇宙分配请求用于第一客户端请求元宇宙空间。可选地,元宇宙空间是后台服务器上用于编辑或存放元宇宙的网络空间。或者元宇宙空间是虚拟空间中的一部分。
可选地,第一元宇宙分配请求是第一客户端在登录元宇宙应用程序时发送的,或者,第一元宇宙分配请求是第一客户端在使用元宇宙中的预定虚拟空间时发送的。示例性的,第一客户端上运行有元宇宙应用程序,当用户期望登录元宇宙应用程序时,第一客户端向分配服务器发送第一元宇宙分配请求,以便第一客户端能够登录元宇宙应用程序。示例性的,元宇宙中包括虚拟商店、虚拟图书馆等单独的虚拟空间,其中预定虚拟空间是由技术人员设置的单独的虚拟空间,预定虚拟空间对应的后台服务器与元宇宙对应的后台服务器不同,例如,元宇宙是由机构A的后台服务器提供的,而元宇宙中的商店1是由机构B的后台服务器提供的,当用户想要进入商店1时,第一客户端向分配服务器发送第一元宇宙分配请求,以便能够进入商店1。
可选地,第一元宇宙请求包括第一用户帐号的帐号信息、请求时间、请求对象中的至少一种。
步骤1002:第二客户端向分配服务器发送第二元宇宙分配请求。
第二客户端登录有第二用户帐号。
第二元宇宙分配请求用于第二客户端请求元宇宙空间。示例性的,第一用户帐号和第二用户帐号进入元宇宙中的同一家虚拟商店,第一客户端和第二客户端向分配服务器发送第一元宇宙分配请求和第二元宇宙分配请求,以便获取进入虚拟商店所需的第一代理服务器和第二代理服务器。
可选地,第二元宇宙分配请求是第二客户端在登录元宇宙应用程序时发送的,或者,第二元宇宙分配请求是第二客户端在使用元宇宙中的预定虚拟空间时发送的。
可选地,第二元宇宙请求包括第二用户帐号的帐号信息、请求时间、请求对象中的至少一种。
需要说明的是,步骤1001和步骤1002不分先后顺序。可以先执行步骤1001,后执行1002。也可以先执行步骤1002,后执行步骤1001。本申请实施例对此不作限定。
步骤1003:接收第一客户端发送的第一元宇宙分配请求。
步骤1004:接收第二客户端发送的第二元宇宙分配请求。
需要说明的是,步骤1003和步骤1004不分先后顺序。可以先执行步骤1003,后执行1004。也可以先执行步骤1004,后执行步骤1003。本申请实施例对此不作限定。
步骤1005:在第一用户帐号和第二用户帐号加入到同一个元宇宙空间的情况下,为第一客户端分配第一代理服务器,为第二客户端分配第二代理服务器。
第一代理服务器和第二代理服务器是不同的代理服务器。
可选地,分配服务器确定第一代理服务器或第二代理服务器的方式包括但不限于负载均衡方式、域名绑定和随机方式中的至少一种。
可选地,分配服务器分配元宇宙空间的方式包括根据用户帐号分配、根据元宇宙分配请求中的请求对象进行分配中的至少一种。
示例性的,元宇宙分配请求中的请求对象用于表示客户端在元宇宙中的执行动作对应的对象,比如,客户端想进入一家商店,则这里的请求对象是前述的商店。当分配服务器根据元宇宙分配请求中的请求对象进行分配时,若第一元宇宙分配请求和第二元宇宙分配请求中的请求对象都是商店1,则将第一用户帐号和第二用户帐号加入到同一个元宇宙空间中。
步骤1006:向第一客户端提供第一代理服务器的第一IP地址和第一端口地址。
第一客户端根据第一IP地址和第一端口地址,向第一代理服务器发送第一元宇宙数据包。第一元宇宙数据包用于实现第一客户端和元宇宙房间之间的信息交互。示例性的,在第一客户端上,用户控制虚拟人物购买道具,第一客户端将购买道具这一行为添加到第一元宇宙数据包中,用于通知后台服务器在第一客户端上用户购买了道具。
步骤1007:向第二客户端提供第二代理服务器的第二IP地址和第二端口地址。
第二客户端根据第二IP地址和第二端口地址,向第二代理服务器发送第二元宇宙数据包。第二元宇宙数据包用于实现第二客户端和元宇宙房间之间的信息交互。
需要说明的是,步骤1006和步骤1007不分先后顺序。可以先执行步骤1006,后执行1007。也可以先执行步骤1007,后执行步骤1006。本申请实施例对此不作限定。
综上所述,本实施例在元宇宙的场景中,可以为客户端分配相应的代理服务器,增强元宇宙系统的抗干扰性和稳定性,当参与元宇宙的客户端中存在恶意客户端时,不会影响其它客户端的正常工作。
图11示出了示出了本申请一个实施例提供的分配服务器的配置方法的流程示意图。网络服务方法由网络服务系统中的分配服务器执行,网络服务系统还包括:后台服务器、与后台服务器相连的第一代理服务器和第二代理服务器,该方法包括:
步骤1101:打开IP转发功能。
示例性的,代理服务器的IP地址为100.80.56.118,后台服务器的IP地址为100.80.56.86,后台服务器的端口范围为UDP10001~10002,后台服务器的运行系统为Linux centos 7.4bit。
示例性的,使用Linux语言设置IP转发功能如下:
“echo"net.ipv4.ip_forward=1">>/etc/sysctl.conf
sysctl-p”。
步骤1102:设置预路由链规则的DNAT功能。
示例性的,使用Linux语言设置DNAT功能如下:
“iptables-t nat-A PREROUTING-d 100.80.56.118-p udp--dport10001:10002-j DNAT--to-destination 100.80.56.86”。
步骤1103:设置完成路由链规则的SNAT功能。
示例性的,使用Linux语言设置SNAT功能如下:
“iptables-t nat-A POSTROUTING-s 0.0.0.0/0-p udp--dport10001:10002-jSNAT--to-source 100.80.56.118”。
步骤1104:打开IP tables的端口或者打开网络防火墙。
示例性的,使用Linux语言打开IP tables的端口如下:
“iptables-I INPUT 1-p udp--destination-port 10001:10002-jACCEPT”。
可选地,通过域名负载均衡或者前端代码负载均衡的方式,来实现代理服务器的分布。
综上所述,本实施例提供了代理服务器的配置方法,该方法可以为代理服务器配置DNAT功能和SNAT功能,实现数据包的正常转发。
下面为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图12示出了本申请的一个示例性实施例提供的多用户在线的网络服务装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置1200包括:
接收模块1201,用于接收第一客户端发送的第一分配请求;接收第二客户端发送的第二分配请求;
分配模块1202,用于在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间的情况下,为所述第一客户端分配所述第一代理服务器,为所述第二客户端分配所述第二代理服务器,所述第一客户端登录有所述第一用户帐号,所述第二客户端登录有所述第二用户帐号;
发送模块1203,用于向所述第一客户端提供所述第一代理服务器的第一网际互连协议IP地址和第一端口地址;向所述第二客户端提供所述第二代理服务器的第二IP地址和第二端口地址。
在本申请的一种可选设计中,分配模块1202,还用于在所述第一用户帐号和所述第二用户帐号加入到所述同一个虚拟网络房间的情况下,根据所述第一客户端发送的所述第一分配请求,从代理服务器集群中确定所述第一代理服务器;向所述第一客户端提供所述第一IP地址和所述第一端口地址;以及根据所述第二客户端发送的所述第二分配请求,从所述代理服务器集群中确定所述第二代理服务器;向所述第二客户端提供所述第二IP地址和所述第二端口地址。
在本申请的一种可选设计中,分配模块1202,还用于根据所述第一客户端发送的所述第一分配请求,优先将所述代理服务器集群中处于未连接状态的代理服务器确定为所述第一代理服务器;根据所述第一客户端发送的所述第一分配请求,优先将所述代理服务器集群中处于未连接状态的代理服务器确定为所述第一代理服务器。综上所述,本实施例通过分配服务器向客户端提供代理服务器的IP地址和端口地址,为不同的客户端提供不同的代理客户端。即使存在恶意客户端攻击代理服务器,造成与恶意客户端对应的代理服务器瘫痪,不会影响其他客户端与后台服务器的正常信息交互,所以该系统可以提高网络服务系统的抗干扰性和稳定性。
图13是根据一示例性实施例示出的一种服务器的结构示意图。所述计算机设备1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器(Random Access Memory,RAM)1302和只读存储器(Read-Only Memory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机设备可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1312连接到网络1311,或者说,也可以使用网络接口单元1312来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理单元1301通过执行该一个或一个以上程序来实现上述多用户在线的网络服务方法的全部或者部分步骤。
本申请还提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述方法实施例提供的多用户在线的网络服务方法。
本申请还提供一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面实施例提供的多用户在线的网络服务方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种多用户在线的网络服务系统,其特征在于,所述网络服务系统用于执行在遭受到客户端发起的网络攻击时的应对措施;所述网络服务系统包括:分配服务器、后台服务器、与所述后台服务器相连的第一代理服务器和第二代理服务器;
所述后台服务器,用于提供虚拟网络房间;
所述分配服务器,用于在第一用户帐号和第二用户帐号加入到同一个所述虚拟网络房间的情况下,为第一客户端分配所述第一代理服务器,为第二客户端分配所述第二代理服务器,所述第一客户端登录有所述第一用户帐号,所述第二客户端登录有所述第二用户帐号;
所述第一代理服务器,用于在所述第一客户端和所述后台服务器之间,转发与所述虚拟网络房间相关的数据包;所述第一代理服务器,还用于在接收到所述第一客户端的第一用户数据包的情况下,根据所述第一用户数据包的目的端口地址判断是否存在匹配的第一预路由链规则,所述第一预路由链规则用于将所述第一用户数据包的目的IP地址由所述第一代理服务器的IP地址修改为所述后台服务器的IP地址;在存在所述第一预路由链规则的情况下,执行所述第一预路由链规则;在不存在所述第一预路由链规则的情况下,确定所述第一客户端和所述第一代理服务器之间连接失败,通知所述第一客户端向所述分配服务器再次发送分配请求;
所述第一代理服务器,还用于通过抓包分析或攻击分析来监控自身的被攻击状态,以确定自身遭受到恶意设备的网络攻击,进而对恶意设备进行特征分析,且将自身从所述网络服务系统中剔除或屏蔽;
所述第二代理服务器,用于在所述第二客户端和所述后台服务器之间,转发与所述虚拟网络房间相关的数据包;所述第二代理服务器,还用于在接收到所述第二客户端的第二用户数据包的情况下,根据所述第二用户数据包的目的端口地址判断是否存在匹配的第二预路由链规则,所述第二预路由链规则用于将所述第二用户数据包的目的IP地址由所述第二代理服务器的IP地址修改为所述后台服务器的IP地址;在存在所述第二预路由链规则的情况下,执行所述第二预路由链规则;在不存在所述第二预路由链规则的情况下,确定所述第二客户端和所述第二代理服务器之间连接失败,通知所述第二客户端向所述分配服务器再次发送分配请求;
所述第二代理服务器,还用于通过抓包分析或攻击分析来监控自身的被攻击状态,以确定自身遭受到恶意设备的网络攻击,进而对恶意设备进行特征分析,且将自身从所述网络服务系统中剔除或屏蔽;
所述分配服务器,还用于根据所述第一客户端发送的第一分配请求,从代理服务器集群中确定所述第一代理服务器;向所述第一客户端提供所述第一代理服务器的第一网际互连协议IP地址和第一端口地址;根据所述第二客户端发送的第二分配请求,从所述代理服务器集群中确定所述第二代理服务器;向所述第二客户端提供所述第二代理服务器的第二IP地址和第二端口地址;
所述分配服务器,还用于在所述第一分配请求包括所述第一客户端的地址的情况下,从所述代理服务器集群中确定与所述第一客户端的地址对应的所述第一代理服务器;在所述第二分配请求包括所述第二客户端的地址的情况下,从所述代理服务器集群中确定与所述第二客户端的地址对应的所述第二代理服务器;
所述分配服务器,还用于在所述代理服务器集群中的所有代理服务器均与客户端相连的情况下,向所述代理服务器集群发送扩容指令,所述扩容指令用于指示所述代理服务器集群增加所述代理服务器;
其中,所述分配服务器存储有代理服务器和所述客户端的地址之间的对应关系,所述第一代理服务器和所述第二代理服务器属于所述代理服务器集群,所述代理服务器集群中的每个所述代理服务器在同一时间至多与一个客户端相连,使得当所述代理服务器集群中的任意一个代理服务器遭受来自对应的客户端的网络攻击时,所述代理服务器集群中的其他代理服务器不会遭受破坏。
2.根据权利要求1所述的系统,其特征在于,
所述分配服务器,还用于根据所述第一客户端发送的所述第一分配请求,优先将所述代理服务器集群中处于未连接状态的代理服务器确定为所述第一代理服务器;
所述分配服务器,还用于根据所述第二客户端发送的所述第二分配请求,优先将所述代理服务器集群中处于未连接状态的代理服务器确定为所述第二代理服务器。
3.根据权利要求1所述的系统,其特征在于,
所述分配服务器,还用于根据所述第一客户端发送的所述第一分配请求,从所述代理服务器集群中随机确定所述第一代理服务器;
所述分配服务器,还用于根据所述第二客户端发送的所述第二分配请求,从所述代理服务器集群中随机确定所述第二代理服务器。
4.根据权利要求1所述的系统,其特征在于,
所述分配服务器,还用于在所述代理服务器集群中处于连接状态的代理服务器的数量达到预设上限的情况下,向所述代理服务器集群发送扩容指令,所述扩容指令用于指示所述代理服务器集群增加所述代理服务器的数量。
5.根据权利要求1至4任一项所述的系统,其特征在于,
所述第一代理服务器,还用于向所述后台服务器转发第一数据包,所述第一数据包是所述第一客户端向所述第一代理服务器提供的数据包;和/或,向所述第一客户端转发第二数据包,所述第二数据包是所述后台服务器向所述第一代理服务器提供的数据包;
所述第二代理服务器,还用于向所述后台服务器转发第三数据包,所述第三数据包是所述第二客户端向所述第二代理服务器提供的数据包;和/或,向所述第二客户端转发第四数据包,所述第四数据包是所述后台服务器向所述第二代理服务器提供的数据包。
6.根据权利要求5所述的系统,其特征在于,
所述后台服务器,还用于处理所述第一数据包,生成第一反馈数据包;向所述第一代理服务器返回所述第一反馈数据包;
所述后台服务器,还用于处理所述第三数据包,生成第二反馈数据包;向所述第二代理服务器返回所述第二反馈数据包。
7.一种多用户在线的网络服务方法,其特征在于,所述网络服务方法由网络服务系统中的分配服务器执行,所述网络服务系统用于执行在遭受到客户端发起的网络攻击时的应对措施;所述网络服务系统还包括:后台服务器、与所述后台服务器相连的第一代理服务器和第二代理服务器,所述方法包括:
接收第一客户端发送的第一分配请求;接收第二客户端发送的第二分配请求;
在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间且所述第一分配请求包括所述第一客户端的地址情况下,从代理服务器集群中确定与所述第一客户端的地址对应的所述第一代理服务器;向所述第一客户端提供所述第一代理服务器的第一网际互连协议IP地址和第一端口地址;
在所述第一用户帐号和所述第二用户帐号加入到所述同一个虚拟网络房间且所述第二分配请求包括所述第二客户端的地址的情况下,从所述代理服务器集群中确定与所述第二客户端的地址对应的所述第二代理服务器;向所述第二客户端提供所述第二代理服务器的第二IP地址和第二端口地址;
其中,所述第一客户端登录有所述第一用户帐号,所述第二客户端登录有所述第二用户帐号;所述第一代理服务器和所述第二代理服务器属于代理服务器集群,所述代理服务器集群中的每个代理服务器在同一时间至多与一个客户端相连,使得当所述代理服务器集群中的任意一个代理服务器遭受来自对应的客户端的网络攻击时,所述代理服务器集群中的其他代理服务器不会遭受破坏;所述第一代理服务器和所述第二代理服务器均用于通过抓包分析或攻击分析来监控自身的被攻击状态,以确定自身遭受到恶意设备的网络攻击,进而对恶意设备进行特征分析,且将自身从所述网络服务系统中剔除或屏蔽;所述分配服务器存储有所述代理服务器和所述客户端的地址之间的对应关系;
所述第一代理服务器,还用于在接收到所述第一客户端的第一用户数据包的情况下,根据所述第一用户数据包的目的端口地址判断是否存在匹配的第一预路由链规则,所述第一预路由链规则用于将所述第一用户数据包的目的IP地址由所述第一代理服务器的IP地址修改为所述后台服务器的IP地址;在存在所述第一预路由链规则的情况下,执行所述第一预路由链规则;在不存在所述第一预路由链规则的情况下,确定所述第一客户端和所述第一代理服务器之间连接失败,通知所述第一客户端向所述分配服务器再次发送分配请求;
所述第二代理服务器,还用于在接收到所述第二客户端的第二用户数据包的情况下,根据所述第二用户数据包的目的端口地址判断是否存在匹配的第二预路由链规则,所述第二预路由链规则用于将所述第二用户数据包的目的IP地址由所述第二代理服务器的IP地址修改为所述后台服务器的IP地址;在存在所述第二预路由链规则的情况下,执行所述第二预路由链规则;在不存在所述第二预路由链规则的情况下,确定所述第二客户端和所述第二代理服务器之间连接失败,通知所述第二客户端向所述分配服务器再次发送分配请求;
所述分配服务器,还用于在所述代理服务器集群中的所有代理服务器均与客户端相连的情况下,向所述代理服务器集群发送扩容指令,所述扩容指令用于指示所述代理服务器集群增加所述代理服务器。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述第一客户端发送的所述第一分配请求,优先将所述代理服务器集群中处于未连接状态的代理服务器确定为所述第一代理服务器;
根据所述第一客户端发送的所述第一分配请求,优先将所述代理服务器集群中处于未连接状态的代理服务器确定为所述第一代理服务器。
9.一种多用户在线的网络服务装置,其特征在于,所述装置包括:
接收模块,用于接收第一客户端发送的第一分配请求;接收第二客户端发送的第二分配请求;
分配模块,用于在第一用户帐号和第二用户帐号加入到同一个虚拟网络房间且所述第一分配请求包括所述第一客户端的地址情况下,从代理服务器集群中确定与所述第一客户端的地址对应的第一代理服务器;
发送模块,用于向所述第一客户端提供所述第一代理服务器的第一网际互连协议IP地址和第一端口地址;
所述分配模块,还用于在所述第一用户帐号和所述第二用户帐号加入到所述同一个虚拟网络房间且所述第二分配请求包括所述第二客户端的地址的情况下,从所述代理服务器集群中确定与所述第二客户端的地址对应的第二代理服务器;
所述发送模块,还用于向所述第二客户端提供所述第二代理服务器的第二IP地址和第二端口地址;
其中,所述第一客户端登录有所述第一用户帐号,所述第二客户端登录有所述第二用户帐号;所述第一代理服务器和所述第二代理服务器属于所述代理服务器集群,所述代理服务器集群中的每个代理服务器在同一时间至多与一个客户端相连,使得当所述代理服务器集群中的任意一个代理服务器遭受来自对应的客户端的网络攻击时,所述代理服务器集群中的其他代理服务器不会遭受破坏;所述第一代理服务器和所述第二代理服务器均用于通过抓包分析或攻击分析来监控自身的被攻击状态,以确定自身遭受到恶意设备的网络攻击,进而对恶意设备进行特征分析,且将自身从网络服务系统中剔除或屏蔽;分配服务器存储有所述代理服务器和所述客户端的地址之间的对应关系;
所述第一代理服务器,还用于在接收到所述第一客户端的第一用户数据包的情况下,根据所述第一用户数据包的目的端口地址判断是否存在匹配的第一预路由链规则,所述第一预路由链规则用于将所述第一用户数据包的目的IP地址由所述第一代理服务器的IP地址修改为后台服务器的IP地址;在存在所述第一预路由链规则的情况下,执行所述第一预路由链规则;在不存在所述第一预路由链规则的情况下,确定所述第一客户端和所述第一代理服务器之间连接失败,通知所述第一客户端向所述分配服务器再次发送分配请求;
所述第二代理服务器,还用于在接收到所述第二客户端的第二用户数据包的情况下,根据所述第二用户数据包的目的端口地址判断是否存在匹配的第二预路由链规则,所述第二预路由链规则用于将所述第二用户数据包的目的IP地址由所述第二代理服务器的IP地址修改为所述后台服务器的IP地址;在存在所述第二预路由链规则的情况下,执行所述第二预路由链规则;在不存在所述第二预路由链规则的情况下,确定所述第二客户端和所述第二代理服务器之间连接失败,通知所述第二客户端向所述分配服务器再次发送分配请求;
所述分配服务器,还用于在所述代理服务器集群中的所有代理服务器均与客户端相连的情况下,向所述代理服务器集群发送扩容指令,所述扩容指令用于指示所述代理服务器集群增加所述代理服务器。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如实现权利要求7或8所述的多用户在线的网络服务方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538953.XA CN114244602B (zh) | 2021-12-15 | 2021-12-15 | 多用户在线的网络服务系统、方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538953.XA CN114244602B (zh) | 2021-12-15 | 2021-12-15 | 多用户在线的网络服务系统、方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114244602A CN114244602A (zh) | 2022-03-25 |
CN114244602B true CN114244602B (zh) | 2023-04-25 |
Family
ID=80756682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111538953.XA Active CN114244602B (zh) | 2021-12-15 | 2021-12-15 | 多用户在线的网络服务系统、方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244602B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625487B (zh) * | 2022-05-16 | 2022-09-09 | 浙江毫微米科技有限公司 | 在元宇宙中运行应用程序的方法、系统、设备及存储介质 |
CN114997853A (zh) * | 2022-05-23 | 2022-09-02 | 北京上方传媒科技股份有限公司 | 一种用元宇宙技术改进优化图书出版方式的新方法 |
CN115834585A (zh) * | 2022-10-17 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 数据处理方法及负载均衡系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103535012A (zh) * | 2011-03-11 | 2014-01-22 | 高通股份有限公司 | 使用客户端本地代理服务器访问具有分配的网络地址的设备的系统和方法 |
CN108064443A (zh) * | 2017-09-30 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种代理转发方法和装置、代理服务器和多级代理网络 |
CN113364741A (zh) * | 2021-05-17 | 2021-09-07 | 网宿科技股份有限公司 | 一种应用访问方法及代理服务器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087183B2 (en) * | 2006-10-04 | 2015-07-21 | Rob Bartlett | Method and system of securing accounts |
JP2009011712A (ja) * | 2007-07-09 | 2009-01-22 | Koei:Kk | オンラインゲームシステム、中継サーバ、オンラインゲーム提供方法およびオンラインゲーム提供プログラム |
US9137172B2 (en) * | 2012-05-02 | 2015-09-15 | Salesforce.Com, Inc. | Managing multiple proxy servers in a multi-tenant application system environment |
CN106453223B (zh) * | 2016-07-15 | 2020-03-31 | 珠海金山网络游戏科技有限公司 | 一种无缝世界游戏服务器系统 |
CN108124504B (zh) * | 2017-12-12 | 2021-05-07 | 达闼机器人有限公司 | Tfo传输方法、代理服务器和系统 |
CN111711705B (zh) * | 2020-04-21 | 2022-03-18 | 北京天维信通科技有限公司 | 基于代理节点作双向nat实现网络连接的方法和装置 |
CN112153036B (zh) * | 2020-09-18 | 2022-09-09 | 湖南联盛网络科技股份有限公司 | 一种基于代理服务器的安全防御方法及系统 |
CN113163002B (zh) * | 2021-04-09 | 2022-06-17 | 深圳市腾讯网络信息技术有限公司 | 一种服务器切换方法、装置及存储介质 |
-
2021
- 2021-12-15 CN CN202111538953.XA patent/CN114244602B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103535012A (zh) * | 2011-03-11 | 2014-01-22 | 高通股份有限公司 | 使用客户端本地代理服务器访问具有分配的网络地址的设备的系统和方法 |
CN108064443A (zh) * | 2017-09-30 | 2018-05-22 | 深圳前海达闼云端智能科技有限公司 | 一种代理转发方法和装置、代理服务器和多级代理网络 |
CN113364741A (zh) * | 2021-05-17 | 2021-09-07 | 网宿科技股份有限公司 | 一种应用访问方法及代理服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN114244602A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114244602B (zh) | 多用户在线的网络服务系统、方法、装置及介质 | |
Yahyavi et al. | Peer-to-peer architectures for massively multiplayer online games: A survey | |
KR100638071B1 (ko) | 다중-사용자 애플리케이션 프로그램 인터페이스 | |
US9450855B2 (en) | Message routing mechanism for communication networks | |
Schiele et al. | Requirements of peer-to-peer-based massively multiplayer online gaming | |
KR20210121289A (ko) | 증강 현실 모바일 에지 컴퓨팅 | |
CN105704166B (zh) | 机器人系统及其实现方法、客户端、服务器以及游戏系统 | |
CN111330265B (zh) | 计算机系统、虚拟区的登录方法、装置、设备及介质 | |
US11992755B2 (en) | System and method for managing transactions in a multiplayer network gaming environment | |
JP2010521744A (ja) | マルチプレイヤーネットワークゲームプレイ用セキュアクロスプラットフォーム | |
JP2023508061A (ja) | アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器 | |
US20070050838A1 (en) | Multi-protocol game engine | |
US9037725B2 (en) | Online game system, method, and computer-readable medium | |
CN104135506A (zh) | 网络数据负载均衡设计系统及方法 | |
US10051084B2 (en) | Methods and systems for bandwidth-efficient remote procedure calls | |
CN110652730A (zh) | 对战匹配方法、装置及电子设备 | |
KR101951436B1 (ko) | 가상 현실 게임의 제공을 위한 서버, 가상 현실 게임의 제공을 위한 시스템 및 서버의 가상 현실 게임을 제공하는 방법 | |
CN115253311A (zh) | 一种棋牌游戏跨服务器战斗方法、设备及介质 | |
Webb et al. | A survey on network game cheats and P2P solutions | |
Pittman et al. | Match+ Guardian: a secure peer-to-peer trading card game protocol | |
EP2722085A1 (en) | Online game system, method, and computer-readable medium | |
KR20190013148A (ko) | 모바일 환경에서 구현되는 다중 접속자를 위한 분산 서버구조 및 시스템 | |
US8782263B1 (en) | Authenticated session controller | |
EP2722084A1 (en) | Online game systems, methods, and computer-readable medium | |
da Cruz Alexandre | Re-engineering Jake2 to Work on a Grid using the GridGain Middleware |
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 |