CN111131333B - 业务数据推送方法和服务器集群 - Google Patents

业务数据推送方法和服务器集群 Download PDF

Info

Publication number
CN111131333B
CN111131333B CN202010113547.8A CN202010113547A CN111131333B CN 111131333 B CN111131333 B CN 111131333B CN 202010113547 A CN202010113547 A CN 202010113547A CN 111131333 B CN111131333 B CN 111131333B
Authority
CN
China
Prior art keywords
target
service layer
server
service
connection
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
Application number
CN202010113547.8A
Other languages
English (en)
Other versions
CN111131333A (zh
Inventor
王鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010113547.8A priority Critical patent/CN111131333B/zh
Publication of CN111131333A publication Critical patent/CN111131333A/zh
Application granted granted Critical
Publication of CN111131333B publication Critical patent/CN111131333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

本申请提供的业务数据推送方法和服务器集群,涉及数据推送技术领域。在本申请中,首先,第一服务层在多个连接服务器中确定第一目标连接服务器,并将从业务服务器获取的业务数据发送给该第一目标连接服务器。其次,第二服务层中的第一目标连接服务器获取第一服务层发送的业务数据,并将该业务数据发送给第三服务层。然后,第三服务层获取第一目标连接服务器发送的业务数据,并将该业务数据发送给目标终端设备。通过上述方法,可以改善现有技术中业务数据的推送存在成本较高的问题。

Description

业务数据推送方法和服务器集群
技术领域
本申请涉及数据推送技术领域,具体而言,涉及一种业务数据推送方法和服务器集群。
背景技术
在基于服务器集群对业务服务器的业务数据进行推送的技术领域中,一般是将服务器集群划分为连接层和接入层。其中,业务服务器在需要推送业务数据时,需要先通过轮询的方式在连接层中确定一个服务器,再将该业务数据推送给该服务器,使得该服务器再将该业务数据通过接入层发送给相应的终端设备。
如此,基于现有的数据推送技术,会使得业务数据的推送工作和服务器确定的管理工作,都需要业务服务器执行相应的处理逻辑,使得业务与管理的耦合度较高,从而导致业务数据的推送存在成本较高的问题。
发明内容
有鉴于此,本申请的目的在于提供一种业务数据推送方法和服务器集群,以改善现有技术中业务数据的推送存在成本较高的问题。
为实现上述目的,本申请实施例采用如下技术方案:
一种业务数据推送方法,应用于包括第一服务层、第二服务层和第三服务层的服务器集群,该第一服务层通信连接有业务服务器,该第二服务层包括多个连接服务器,所述方法包括:
所述第一服务层在所述多个连接服务器中确定第一目标连接服务器,并将从所述业务服务器获取的业务数据发送给该第一目标连接服务器;
所述第一目标连接服务器获取所述第一服务层发送的所述业务数据,并将该业务数据发送给所述第三服务层;
所述第三服务层获取所述第一目标连接服务器发送的所述业务数据,并将该业务数据发送给目标终端设备。
在本申请实施例较佳的选择中,在上述业务数据推送方法中,所述第一服务层在所述多个连接服务器中确定第一目标连接服务器的步骤,包括:
所述第一服务层获取所述业务服务器发送的业务数据和目标身份信息,其中,该目标身份信息用于标识该业务数据待发送至的目标终端设备;
所述第一服务层基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器,其中,该目标对应关系用于标识所述目标身份信息与所述第一目标连接服务器之间的关系。
在本申请实施例较佳的选择中,在上述业务数据推送方法中,所述第一服务层包括代理服务层和路由服务层,所述第一服务层基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器的步骤,包括:
所述代理服务层将获取的所述目标身份信息发送给所述路由服务层;
所述路由服务层基于所述目标身份信息在多个对应关系中确定目标对应关系,并将该目标对应关系发送给所述代理服务层,其中,每个所述对应关系用于标识一个终端设备的身份信息与一个连接服务器之间的关系;
所述代理服务层基于所述目标对应关系在所述多个连接服务器中,确定第一目标连接服务器。
在本申请实施例较佳的选择中,在上述业务数据推送方法中,该方法还包括:
所述第三服务层在与终端设备建立第一连接之后,与所述多个连接服务器中的第二目标连接服务器建立第二连接;
所述第二目标连接服务器基于所述第一连接和所述第二连接生成所述终端设备的身份信息与该第二目标连接服务器之间的对应关系;
所述路由服务层获取所述第二目标连接服务器生成的所述对应关系。
在本申请实施例较佳的选择中,在上述业务数据推送方法中,所述路由服务层包括多个路由服务器,所述路由服务层获取所述第二目标连接服务器生成的所述对应关系的步骤,包括:
每一个所述路由服务器分别基于所述第二目标连接服务器执行的广播操作,获取该第二目标连接服务器生成的所述对应关系。
申请实施例还提供了一种服务器集群,包括第一服务层、第二服务层和第三服务层,且该第一服务层通信连接有业务服务器,该第二服务层包括多个连接服务器,其中:
所述第一服务层,用于在所述多个连接服务器中确定第一目标连接服务器,并将从所述业务服务器获取的业务数据发送给第一目标连接服务器;
所述第一目标连接服务器,用于获取所述第一服务层发送的所述业务数据,并将该业务数据发送给所述第三服务层;
所述第三服务层,用于获取所述第一目标连接服务器发送的所述业务数据,并将该业务数据发送给目标终端设备。
在本申请实施例较佳的选择中,在上述服务器集群中,所述第一服务层,具体用于获取所述业务服务器发送的业务数据和目标身份信息;
所述第一服务层,具体还用于基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器;
其中,所述目标身份信息用于标识所述业务数据待发送至的目标终端设备,所述目标对应关系用于标识所述目标身份信息与所述第一目标连接服务器之间的关系。
在本申请实施例较佳的选择中,在上述服务器集群中,所述第一服务层包括代理服务层和路由服务层,其中:
所述代理服务层,用于将获取的所述目标身份信息发送给所述路由服务层;
所述路由服务层,用于基于所述目标身份信息在多个对应关系中确定目标对应关系,并将该目标对应关系发送给所述代理服务层,其中,每个所述对应关系用于标识一个终端设备的身份信息与一个连接服务器之间的关系;
所述代理服务层,还用于基于所述目标对应关系在所述多个连接服务器中,确定第一目标连接服务器。
在本申请实施例较佳的选择中,在上述服务器集群中,所述第三服务层,还用于在与终端设备建立第一连接之后,与所述多个连接服务器中的第二目标连接服务器建立第二连接;
所述第二目标连接服务器,用于基于所述第一连接和所述第二连接生成所述终端设备的身份信息与该第二目标连接服务器之间的对应关系;
所述路由服务层,还用于获取所述第二目标连接服务器生成的所述对应关系。
在本申请实施例较佳的选择中,在上述服务器集群中,所述路由服务层包括多个路由服务器,其中:
每一个所述路由服务器,具体用于分别基于所述第二目标连接服务器执行的广播操作,获取该第二目标连接服务器生成的所述对应关系。
本申请提供的业务数据推送方法和服务器集群,在第一服务层获取到业务服务器发送的业务数据之后,由第一服务层在第二服务层包括的多个连接服务器中确定第一目标连接服务器,并将该业务数据转发给第一目标连接服务器,使得该第一目标连接服务器可以通过第三服务层将该业务数据转发给目标终端设备。如此,由于第一目标连接服务器的确定工作由第一服务层完成,使得业务服务器只需进行业务数据的发送工作,而不用进行确定用于转发该业务数据的连接服务器的管理工作,从而通过对业务和管理进行解耦合,改善现有技术中由于需要业务服务器在业务数据的推送之前通过轮询确定连接服务器而使得进行业务与管理的耦合度较高的问题,进而避免导致业务数据的推送存在成本较高(如业务服务器因需要轮询而导致时间成本较高、业务服务器因需要对较多的端口资源进行维护而使得维护成本较高等)的问题,因而,具有较高的实用价值。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本申请实施例提供的服务器集群的应用交互示意图。
图2为本申请实施例提供的服务器集群的方框示意图。
图3为本申请实施例提供的服务器集群的另一方框示意图。
图4为本申请实施例提供的业务数据推送方法包括的各步骤的流程示意图。
图5为图4中步骤S110包括的各子步骤的流程示意图。
图6为图5中步骤S113包括的各子步骤的流程示意图。
图7为本申请实施例提供的业务数据推送方法包括的其它步骤的流程示意图。
图标:100-服务器集群;110-第一服务层;111-代理服务层;113-路由服务层;120-第二服务层;130-第三服务层。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,本申请实施例提供了一种服务器集群100,用于将业务服务器发送的业务数据转发给目标终端设备。其中,所述服务器集群100可以包括第一服务层110、第二服务层120和第三服务层130。
详细地,所述第一服务层110与所述业务服务器可以通信连接,所述第二服务层120可以包括多个连接服务器。基于此,所述第一服务层110,用于在所述多个连接服务器中确定第一目标连接服务器,并将从所述业务服务器获取的业务数据发送给第一目标连接服务器。所述第一目标连接服务器,用于获取所述第一服务层110发送的所述业务数据,并将该业务数据发送给所述第三服务层130。所述第三服务层130,用于获取所述第一目标连接服务器发送的所述业务数据,并将该业务数据发送给目标终端设备。
对于所述第一服务层110需要说明的是,该第一服务层110具体可以用于:
首先,获取所述业务服务器发送的业务数据和目标身份信息;其次,基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器。
其中,所述目标身份信息用于标识所述业务数据待发送至的目标终端设备,所述目标对应关系用于标识所述目标身份信息与所述第一目标连接服务器之间的关系。
并且,在一种具体的应用示例中,结合图2,所述第一服务层110可以包括代理服务层111和路由服务层113。基于此,所述代理服务层111,可以用于将获取的所述目标身份信息发送给所述路由服务层113。所述路由服务层113,可以用于基于所述目标身份信息在多个对应关系中确定目标对应关系,并将该目标对应关系发送给所述代理服务层111,其中,每个所述对应关系用于标识一个终端设备的身份信息与一个连接服务器之间的关系。所述代理服务层111,还可以用于基于所述目标对应关系在所述多个连接服务器中,确定第一目标连接服务器。
可选地,为了预先生成所述对应关系,在本实施例中,所述第三服务层130,还可以用于在与终端设备建立第一连接之后,与所述多个连接服务器中的第二目标连接服务器建立第二连接。所述第二目标连接服务器,可以用于基于所述第一连接和所述第二连接生成所述终端设备的身份信息与该第二目标连接服务器之间的对应关系。所述路由服务层113,还可以用于获取所述第二目标连接服务器生成的所述对应关系。
其中,所述路由服务层113获取所述对应关系的方式不受限制,可以根据实际应用需求进行选择,如基于该路由服务层113的具体构成不同,可以基于不同的方式获取所述对应关系。
例如,在一种具体的应用示例中,结合图3,所述路由服务层113可以包括多个路由服务器。基于此,每一个所述路由服务器,具体可以用于分别基于所述第二目标连接服务器执行的广播操作,获取该第二目标连接服务器生成的所述对应关系。
并且,所述代理服务层111的具体构成也不受限制,例如,在一种可以替代的示例中,所述代理服务层111可以包括一个代理服务器。又例如,在另一种可以替代的示例中,所述代理服务层111可以包括多个代理服务器。
同理,所述第三服务层130的具体构成也不受限制,例如,在一种可以替代的示例中,所述第三服务层130可以包括一个接入服务器。又例如,在另一种可以替代的示例中,所述第三服务层130可以包括多个接入服务器。
其中,所述接入服务器的具体类型也不受限制,例如,在一种可以替代的示例中,该接入服务器可以是一种负载均衡器,用于使得多个所述连接服务器之间可以得到负载均衡。
并且,所述接入服务器实现负载均衡的具体方式也不受限制,例如,在一种可以替代的示例中,所述接入服务器可以是基于软件实现负载均衡,如基于nginx(一种高性能的HTTP和反向代理web服务器)构建的软件负载等。又例如,在另一种可以替代的示例中,所述接入服务器也可以是基于硬件实现负载均衡,如基于F5的硬件负载等。再例如,在另一种可以替代的示例中,所述接入服务器还可以是一些云服务商提供的弹性负载均衡产品,如AWS的ELB(也成为经典负载平衡器,CLB)等。
基于上述的示例,所述第一服务层110、第二服务层120和第三服务层130,都包括一个或多个服务器。其中,每一个服务器可以包括存储器和处理器。
详细地,所述存储器与所述处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接,以将所述存储器上存储的计算机程序发送给所述处理器执行,从而实现本申请实施例提供的业务数据推送方法。
其中,所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
所述处理器可以是一种通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)、片上系统(System on Chip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解的是,上述的服务器在包括所述存储器和所述处理器的基础上,还可以包括其它器件,例如,还可以包括通信单元,用于实现不同服务器之间的数据或信息交互。
结合图4,本申请实施例还提供一种可应用于上述服务器集群100的业务数据推送方法。其中,所述集群服务器可以包括第一服务层110、第二服务层120和第三服务层130的服务器集群100,该第一服务层110通信连接有业务服务器,该第二服务层120包括多个连接服务器。下面将对图4所示的具体流程进行详细阐述。
步骤S110,所述第一服务层110在所述多个连接服务器中确定第一目标连接服务器,并将从所述业务服务器获取的业务数据发送给该第一目标连接服务器。
在本实施例中,所述第一服务层110可以先从所述业务服务器获取业务数据,其次,在获取到该业务数据之后,所述第一服务层110可以在所述第二服务层120包括的多个连接服务器中确定一个连接服务器,作为第一连接服务器。然后,所述第一服务层110可以将所述业务数据发送给所述第一连接服务器。
其中,所述第一服务层110与所述第一目标连接服务器之间建立有通信连接,且基于该通信连接向该第一目标连接服务器发送所述业务数据。
步骤S120,所述第一目标连接服务器获取所述第一服务层110发送的所述业务数据,并将该业务数据发送给所述第三服务层130。
在本实施例中,在基于步骤S110使得所述第一服务层110向所述第一目标连接服务器发送所述业务数据之后,该第一目标连接服务器可以先获取该第一服务层110发送的所述业务数据,然后,再将该业务数据发送给所述第三服务层130。
其中,所述第一目标连接服务器与所述第三服务层130之间建立有通信连接,且基于该通信连接向该第三服务层130发送所述业务数据。
步骤S130,所述第三服务层130获取所述第一目标连接服务器发送的所述业务数据,并将该业务数据发送给目标终端设备。
在本实施例中,在基于步骤S120使得所述第一目标连接服务器向所述第三服务层130发送所述业务数据之后,该第三服务层130可以先获取该第一目标连接服务器发送的所述业务数据,然后,再将该业务数据发送给目标终端设备。
基于上述方法,由于所述第一目标连接服务器的确定工作由所述第一服务层110完成,使得所述业务服务器只需进行业务数据的发送工作,而不用进行确定用于转发该业务数据的连接服务器的管理工作,从而通过对业务和管理进行解耦合,改善现有技术中由于需要业务服务器在业务数据的推送之前通过轮询确定连接服务器而使得进行业务与管理的耦合度较高的问题,进而避免导致业务数据的推送存在成本较高,例如,业务服务器因需要轮询而导致时间成本较高、业务服务器因需要对较多的端口资源进行维护而使得维护成本较高的问题。
对于步骤S110需要说明的是,在所述第二服务层120包括的多个连接服务器中确定第一目标连接服务器的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述第一服务层110可以对所述多个连接服务器进行轮询,以确定一个所述连接服务器,并将该连接服务器作为所述第一目标连接服务器。
又例如,在另一种可以替代的示例中,为了提高确定所述第一目标连接服务器的效率,从而提高所述业务数据推送的效率,可以基于预先建立的对应关系确定所述第一目标连接服务器。基于此,结合图5,步骤S110可以包括步骤S111和步骤S113,以对所述第一目标连接服务器进行确定,具体内容如下所述。
步骤S111,所述第一服务层110获取所述业务服务器发送的业务数据和目标身份信息。
在本实施例中,所述业务服务器在发送所述业务数据的基础上,还可以发送相应的目标身份信息。如此,所述第一服务层110可以先获取所述业务数据和所述目标身份信息。
其中,所述目标身份信息用于标识所述业务数据待发送至的目标终端设备,即所述第三服务层130需要将该业务数据发送给该目标身份信息对应的目标终端设备。
步骤S113,所述第一服务层110基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器。
在本实施例中,在基于步骤S111获取到所述业务数据和所述目标身份信息之后,可以基于该目标身份信息和存储的目标对应关系,在多个所述连接服务器中确定一个连接服务器,并将该连接服务器作为所述第一目标连接服务器。
其中,所述目标对应关系用于标识所述目标身份信息与所述第一目标连接服务器之间的关系。
可选地,执行步骤S111以获取所述业务数据和所述目标身份信息的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述业务服务器可以将所述业务数据和所述目标身份信息一并发送给所述第一服务层110,使得该第一服务层110可以一并获取该业务数据和该目标身份信息。
又例如,在另一种可以替代的示例中,所述业务服务器可以先将所述业务数据发送给所述第一服务层110,该第一服务层110在接收到该业务数据之后,可以向所述业务服务器发送请求,以使该业务服务器基于该请求向该第一服务层110发送所述目标身份信息,使得该第一服务层110可以获取到该目标身份信息。
可选地,执行步骤S113以确定所述第一目标连接服务器的具体方式不受限制,可以根据实际应用需求进行选择,如基于所述第一服务层110的具体构成不同,确定所述第一目标连接服务器的具体方式可以不同。
例如,在一种可以替代的示例中,所述第一服务层110可以为单层结构,所述第一服务层110可以直接基于所述目标身份信息在该第一服务层110的存储器中查找到所述目标对应关系,从而基于该目标对应关系在多个所述连接服务器中确定所述第一目标连接服务器。
又例如,在另一种可以替代的示例中,为了使得不同的服务层执行不同的处理逻辑,从而保证每一层的服务层具有较高的处理效率和便于拓展,所述第一服务层110可以包括两层服务层,分别为代理服务层111和路由服务层113。
基于此,结合图6,步骤S113可以包括步骤S113a、步骤S113b和步骤S113c,以对所述第一目标连接服务器进行确定,具体内容如下所述。
步骤S113a,所述代理服务层111将获取的所述目标身份信息发送给所述路由服务层113。
在本实施例中,所述代理服务层111在基于步骤S111获取到所述业务数据和所述目标身份信息之后,该代理服务层111可以先将该目标身份信息发送给所述路由服务层113。
步骤S113b,所述路由服务层113基于所述目标身份信息在多个对应关系中确定目标对应关系,并将该目标对应关系发送给所述代理服务层111。
在本实施例中,在基于步骤S113a使得所述代理服务层111将所述目标身份信息发送给所述路由服务层113之后,该路由服务层113可以先获取该目标身份信息,其次,该路由服务层113可以基于该目标身份信息在存储的多个对应关系中确定出一个对应关系,并将该对应关系作为所述目标对应关系。然后,所述路由服务层113可以将该目标对应关系发送给所述代理服务层111。
其中,在所述多个对应关系中,每个所述对应关系用于标识一个终端设备的身份信息与一个连接服务器之间的关系。例如,如下表所示,对应关系A可以用于标识终端设备A的身份信息A与连接服务器A之间的关系,对应关系B可以用于标识终端设备B的身份信息B与连接服务器A之间的关系,对应关系C可以用于标识终端设备C的身份信息C与连接服务器B之间的关系:
对应关系 身份信息 连接服务器
对应关系A 身份信息A 连接服务器A
对应关系B 身份信息B 连接服务器A
对应关系C 身份信息C 连接服务器B
... ... ...
步骤S113c,所述代理服务层111基于所述目标对应关系在所述多个连接服务器中,确定第一目标连接服务器。
在本实施例中,基于步骤S113b使得所述路由服务层113将所述目标对应关系发送给所述代理服务层111之后,该代理服务层111可以基于该目标对应关系在所述多个连接服务器中,确定一个连接服务器,并将该连接服务器作为所述第一目标连接服务器。
例如,在前述示例的基础上,若所述目标身份信息为身份信息A,基于步骤S113b可以确定目标对应关系为对应关系A,基于步骤S113c可以确定第一目标连接服务器为连接服务器A。若所述目标身份信息为身份信息B,基于步骤S113b可以确定目标对应关系为对应关系B,基于步骤S113c可以确定第一目标连接服务器为连接服务器A。若所述目标身份信息为身份信息C,基于步骤S113b可以确定目标对应关系为对应关系C,基于步骤S113c可以确定第一目标连接服务器为连接服务器B。
可以理解的是,所述目标对应关系中,在包括所述第一目标连接服务器的标识信息(如连接服务器A或连接服务器B,用于确定所述第一目标连接服务器)之外,还可以包括该第一目标连接服务器的IP(互联网协议)地址和Port(端口)信息,使得所述代理服务层111在获取到所述目标对应关系之后,可以基于所述IP地址和Port信息将所述业务数据发送给所述第一目标连接服务器。
对于步骤S120需要说明的是,所述第一目标连接服务器将所述业务数据发送给所述第三服务层130的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述第一目标连接服务器可以将所述业务数据,发送给所述第三服务层130包括的多个接入服务器中与该第一目标连接服务器建立有通信连接的一个接入服务器。
详细地,所述第一目标连接服务器与所述接入服务器之间可以是建立通信的长连接,如此,可以先查询到该长连接的句柄,然后,基于该句柄向所述接入服务器写入数据,使得所述业务数据能够被发送给所述接入服务器。
对于步骤S130需要说明的是,所述第三服务层130将所述业务数据发送给所述目标终端设备的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述第三服务层130可以直接向所述目标终端设备发送所述业务数据,而不用判断该目标终端设备是否在线(即不考虑与该目标终端设备的通信连接的有效性)。
如此,所述第三服务层130只要在接收到所述业务数据时,就将该业务数据转发给所述目标终端设备,而不管该目标终端设备是否可以接收到该业务数据。
又例如,在另一种可以替代的示例中,所述第三服务层130在向所述目标终端设备发送所述业务数据时,需要先判断该目标终端设备是否在线(即判断与该目标终端设备的通信连接是否有效)。
如此,只有在所述目标终端设备在线时,所述第三服务层130才向所述目标终端设备发送所述业务数据,以确保该业务数据发送的有效性。
进一步地,考虑到在上述示例中,需要先在多个所述对应关系中查找到所述目标对应关系,因而,需要预先生成所述对应关系。其中,所述对应关系的具体生成方式也不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述对应关系可以由所述路由服务层113预先生成并进行存储,以在获取到所述目标身份信息之后,可以在存储的多个所述对应关系中确定目标对应关系。
又例如,在另一种可以替代的示例中,结合图7,所述业务数据推送方法还可以包括步骤S140、步骤S150和步骤S160,以使所述路由服务器可以获取到所述对应关系,具体内容如下所述。
步骤S140,所述第三服务层130在与终端设备建立第一连接之后,与所述多个连接服务器中的第二目标连接服务器建立第二连接。
在本实施例中,所述第三服务层130可以先基于所述终端设备的请求(基于域名),与该终端设备建立第一连接。如此,该第三服务层130在接收到该请求之后,还可以在所述第二服务层120包括的多个连接服务器中确定一个连接服务器,作为第二目标连接服务器。然后,所述第三服务层130再与该第二目标连接服务器建立第二连接。
其中,所述第一连接和所述第二连接可以都是长连接。
步骤S150,所述第二目标连接服务器基于所述第一连接和所述第二连接生成所述终端设备的身份信息与该第二目标连接服务器之间的对应关系。
在本实施例中,基于步骤S140使得所述第三服务层130在基于所述终端设备的请求,分别与该终端设备和所述第二目标连接服务器建立第一连接和第二连接之后,可以在该第一连接和第二连接之间形成映射关系。
如此,基于所述映射关系,可以将所述终端设备的身份信息与所述第二目标连接服务器之间建立对应关系。
步骤S160,所述路由服务层113获取所述第二目标连接服务器生成的所述对应关系。
在本实施例中,基于步骤S150使得所述第二目标连接服务器生成所述对应关系之后,所述路由服务层113可以从该第二目标连接服务器获取该对应关系,并进行存储。
如此,在所述终端设备为多个,且每个所述终端设备都向所述第三服务层130发送请求之后,所述第二目标连接服务器(针对不同的终端设备,可以有不同的第二目标连接服务器)可以生成多个对应关系,使得所述路由服务层113可以获取到多个所述对应关系。
对于步骤S140需要说明的是,在与所述第二目标连接服务器建立所述第二连接之前,还需要先在所述多个连接服务器中确定该第二目标连接服务器。其中,确定该第二目标连接服务器的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,可以在所述多个连接服务器中任意确定一个连接服务器,并将该连接服务器确定为所述第二目标连接服务器。
又例如,在另一种可以替代的示例中,可以基于负载均衡的目的在所述多个连接服务器中确定一个连接服务器,并将该连接服务器确定为所述第二目标连接服务器。
详细地,在一种具体的应用示例中,若所述多个连接服务器为3个,分别为连接服务器A、连接服务器B和连接服务器C,所述第三服务层130包括的接入服务器为负载均衡器,以对多个所述连接服务器进行负载均衡处理。
如此,所述负载均衡器在接收到第一个终端设备的请求之后,可以将连接服务器A确定为所述第二目标连接服务器。所述负载均衡器在接收到第二个终端设备的请求之后,可以将连接服务器B确定为所述第二目标连接服务器。所述负载均衡器在接收到第三个终端设备的请求之后,可以将连接服务器C确定为所述第二目标连接服务器。所述负载均衡器在接收到第四个终端设备的请求之后,可以再次将连接服务器A确定为所述第二目标连接服务器。
对于步骤S150需要说明的是,生成所述对应关系的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,所述第二目标连接服务器可以仅基于所述终端设备的身份信息与该第二目标连接服务器(的标识信息)之间的关系,生成所述对应关系。
又例如,在另一种可以替代的示例中,所述第二目标连接服务器可以基于所述终端设备的身份信息与该第二目标连接服务器(的标识信息、IP地址信息和Port信息)之间的关系,生成所述对应关系。
对于步骤S160需要说明的是,所述路由服务层113获取所述对应关系的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,若所述路由服务层113包括一个路由服务器,所述第二目标连接服务器可以在生成所述对应关系之后,将该对应关系发送给该路由服务器,使得该路由服务器可以获取到所述对应关系。
又例如,在另一种可以替代的示例中,若所述路由服务层113包括多个路由服务器,所述第二目标连接服务器可以在生成所述对应关系之后,基于该对应关系执行广播操作。如此,每一个所述路由服务器可以分别基于所述第二目标连接服务器执行的广播操作,获取该第二目标连接服务器生成的所述对应关系。
基于上述的示例,可以使得所述路由服务层113中的每一个所述路由服务器都能够获取到所述对应关系,以便于各所述路由服务器都可以基于所述代理服务层111发送的目标身份信息查询到相应的目标对应关系。
例如,在一种具体的应用示例中,所述路由服务层113包括2个路由服务器,分别可以为路由服务器A和路由服务器B。如此,所述第二目标连接服务器可以向该路由服务器A和该路由服务器B执行广播操作,以将生成的所述对应关系发送给该路由服务器A和该路由服务器B,从而使得该路由服务器A和该路由服务器B都可以获取到所述对应关系。
综上所述,本申请提供的业务数据推送方法和服务器集群,在第一服务层获取到业务服务器发送的业务数据之后,由第一服务层在第二服务层包括的多个连接服务器中确定第一目标连接服务器,并将该业务数据转发给第一目标连接服务器,使得该第一目标连接服务器可以通过第三服务层将该业务数据转发给目标终端设备。如此,由于第一目标连接服务器的确定工作由第一服务层完成,使得业务服务器只需进行业务数据的发送工作,而不用进行确定用于转发该业务数据的连接服务器的管理工作,从而通过对业务和管理进行解耦合,改善现有技术中由于需要业务服务器在业务数据的推送之前通过轮询确定连接服务器而使得进行业务与管理的耦合度较高的问题,进而避免导致业务数据的推送存在成本较高(如业务服务器因需要轮询而导致时间成本较高、业务服务器因需要对较多的端口资源进行维护而使得维护成本较高等)的问题,因而,具有较高的实用价值。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (2)

1.一种业务数据推送方法,其特征在于,应用于包括第一服务层、第二服务层和第三服务层的服务器集群,该第一服务层通信连接有业务服务器,该第二服务层包括多个连接服务器,所述方法包括:
所述第三服务层在与终端设备建立第一连接之后,与所述多个连接服务器中的第二目标连接服务器建立第二连接;
所述第二目标连接服务器基于所述第一连接和所述第二连接生成所述终端设备的身份信息与该第二目标连接服务器之间的对应关系;
所述第一服务层在所述多个连接服务器中确定第一目标连接服务器,并将从所述业务服务器获取的业务数据发送给该第一目标连接服务器;
所述第一目标连接服务器获取所述第一服务层发送的所述业务数据,并将该业务数据发送给所述第三服务层;
所述第三服务层获取所述第一目标连接服务器发送的所述业务数据,并将该业务数据发送给目标终端设备;
所述第一服务层在所述多个连接服务器中确定第一目标连接服务器的步骤,包括:
所述第一服务层获取所述业务服务器发送的业务数据和目标身份信息,其中,该目标身份信息用于标识该业务数据待发送至的目标终端设备;
所述第一服务层基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器,具体为:
所述第一服务层包括代理服务层和路由服务层,所述代理服务层将获取的所述目标身份信息发送给所述路由服务层;所述路由服务层基于所述目标身份信息在多个对应关系中确定目标对应关系,并将该目标对应关系发送给所述代理服务层,其中,每个所述对应关系用于标识一个终端设备的身份信息与一个连接服务器之间的关系;所述代理服务层基于所述目标对应关系在所述多个连接服务器中,确定第一目标连接服务器;其中,该目标对应关系用于标识所述目标身份信息与所述第一目标连接服务器之间的关系;
所述路由服务层包括多个路由服务器,所述路由服务层获取所述第二目标连接服务器生成的所述对应关系,包括:每一个所述路由服务器分别基于所述第二目标连接服务器执行的广播操作,获取该第二目标连接服务器生成的所述对应关系。
2.一种服务器集群,其特征在于,包括第一服务层、第二服务层和第三服务层,且该第一服务层通信连接有业务服务器,该第二服务层包括多个连接服务器,其中:
所述第三服务层用于在与终端设备建立第一连接之后,与所述多个连接服务器中的第二目标连接服务器建立第二连接;
所述第二目标连接服务器用于基于所述第一连接和所述第二连接生成所述终端设备的身份信息与该第二目标连接服务器之间的对应关系;
所述第一服务层,用于在所述多个连接服务器中确定第一目标连接服务器,并将从所述业务服务器获取的业务数据发送给第一目标连接服务器;
所述第一目标连接服务器,用于获取所述第一服务层发送的所述业务数据,并将该业务数据发送给所述第三服务层;
所述第三服务层,用于获取所述第一目标连接服务器发送的所述业务数据,并将该业务数据发送给目标终端设备;
所述第一服务层,具体用于获取所述业务服务器发送的业务数据和目标身份信息;基于存储的目标对应关系和所述目标身份信息,在所述多个连接服务器中确定第一目标连接服务器;
所述第一服务层包括代理服务层和路由服务层,所述第一服务层包括代理服务层和路由服务层,其中:
所述代理服务层,用于将获取的所述目标身份信息发送给所述路由服务层;
所述路由服务层,用于基于所述目标身份信息在多个对应关系中确定目标对应关系,并将该目标对应关系发送给所述代理服务层,其中,每个所述对应关系用于标识一个终端设备的身份信息与一个连接服务器之间的关系;
所述代理服务层,还用于基于所述目标对应关系在所述多个连接服务器中,确定第一目标连接服务器;
其中,所述目标身份信息用于标识所述业务数据待发送至的目标终端设备,所述目标对应关系用于标识所述目标身份信息与所述第一目标连接服务器之间的关系;
所述路由服务层,还用于获取所述第二目标连接服务器生成的所述对应关系,所述路由服务层包括多个路由服务器,每一个所述路由服务器,具体用于分别基于所述第二目标连接服务器执行的广播操作,获取该第二目标连接服务器生成的所述对应关系。
CN202010113547.8A 2020-02-24 2020-02-24 业务数据推送方法和服务器集群 Active CN111131333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010113547.8A CN111131333B (zh) 2020-02-24 2020-02-24 业务数据推送方法和服务器集群

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010113547.8A CN111131333B (zh) 2020-02-24 2020-02-24 业务数据推送方法和服务器集群

Publications (2)

Publication Number Publication Date
CN111131333A CN111131333A (zh) 2020-05-08
CN111131333B true CN111131333B (zh) 2022-10-28

Family

ID=70492175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010113547.8A Active CN111131333B (zh) 2020-02-24 2020-02-24 业务数据推送方法和服务器集群

Country Status (1)

Country Link
CN (1) CN111131333B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580993A (zh) * 2020-05-11 2020-08-25 广州虎牙信息科技有限公司 数据处理方法和装置、电子设备及存储介质
CN111913801B (zh) * 2020-07-15 2023-08-29 广州虎牙科技有限公司 数据处理方法和装置、代理服务器、存储系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141694A (zh) * 2007-11-02 2008-03-12 华为技术有限公司 一种业务推送方法及装置
CN108234304A (zh) * 2017-12-29 2018-06-29 生迪智慧科技有限公司 数据传输方法、装置及系统
CN108418884A (zh) * 2018-03-09 2018-08-17 北京奇艺世纪科技有限公司 一种传输业务数据的方法、装置及电子设备
CN109302498A (zh) * 2018-11-29 2019-02-01 杭州迪普科技股份有限公司 一种网络资源访问方法及装置
CN110266833A (zh) * 2019-07-16 2019-09-20 广州虎牙科技有限公司 Ip地址管理方法及边缘集群

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150120943A1 (en) * 2013-10-29 2015-04-30 Homersoft Sp. Zo.O. Secure mobile access to resources within a private network
US20180284756A1 (en) * 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for adaption of data collection under anomalous conditions in an internet of things mining environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141694A (zh) * 2007-11-02 2008-03-12 华为技术有限公司 一种业务推送方法及装置
CN108234304A (zh) * 2017-12-29 2018-06-29 生迪智慧科技有限公司 数据传输方法、装置及系统
CN108418884A (zh) * 2018-03-09 2018-08-17 北京奇艺世纪科技有限公司 一种传输业务数据的方法、装置及电子设备
CN109302498A (zh) * 2018-11-29 2019-02-01 杭州迪普科技股份有限公司 一种网络资源访问方法及装置
CN110266833A (zh) * 2019-07-16 2019-09-20 广州虎牙科技有限公司 Ip地址管理方法及边缘集群

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nginx高并发负载均衡原理与策略比较研究;张炜森等;《工业控制计算机》;20180125(第01期);全文 *

Also Published As

Publication number Publication date
CN111131333A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN106856434B (zh) 访问请求转换的方法和装置
CN107231402B (zh) Http请求处理方法、装置及系统
US9900402B1 (en) Capacity-independent demand assessment
CN111131333B (zh) 业务数据推送方法和服务器集群
CN110719221B (zh) 即时通信方法、装置、设备及存储介质
US9319449B2 (en) Method, apparatus, and computer program product for processing data requests
CN115516840A (zh) 一种信息处理方法、设备、系统、介质、芯片及程序
CN103874047A (zh) 服务信息发现方法及设备
WO2016086659A1 (zh) 一种业务消息的传输方法、装置及系统
CN109873855A (zh) 一种基于区块链网络的资源获取方法和系统
CN111010342A (zh) 一种分布式负载均衡实现方法及装置
CN113315852B (zh) 一种域名解析的方法、装置及系统
US9948694B2 (en) Addressing application program interface format modifications to ensure client compatibility
KR20180058880A (ko) 오픈스택 기반의 분산 클라우드 데이터센터 환경에서 메시지 큐 부하 분산 및 성능 최적화 방법
CN107222365B (zh) 数据处理方法、装置及服务器
CN111614792B (zh) 透传方法、系统、服务器、电子设备及存储介质
CN106790609B (zh) 数据传输方法及装置
EP3481099B1 (en) Load balancing method and associated device
CN104539538A (zh) 路由器的ip地址匹配方法和路由器的数据包转发方法
CN112073212A (zh) 参数配置方法、装置、终端设备和存储介质
CN110995609A (zh) 报文发送方法、装置、电子设备及存储介质
CN105051673A (zh) 网络打印
CN114338794B (zh) 一种服务消息的推送方法、装置、电子设备及存储介质
CN109104506B (zh) 域名解析规则的确定方法、装置和计算机可读存储介质
CN113067803B (zh) 一种资源隔离系统、请求处理方法及请求处理装置

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