CN110099035B - 一种网络广告数据高并发访问服务方法 - Google Patents
一种网络广告数据高并发访问服务方法 Download PDFInfo
- Publication number
- CN110099035B CN110099035B CN201810094071.0A CN201810094071A CN110099035B CN 110099035 B CN110099035 B CN 110099035B CN 201810094071 A CN201810094071 A CN 201810094071A CN 110099035 B CN110099035 B CN 110099035B
- Authority
- CN
- China
- Prior art keywords
- request
- advertisement
- server
- reverse proxy
- proxy server
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/56—Provisioning of proxy services
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种网络广告数据高并发访问服务方法,服务器包括反向代理服务器、内容服务器,反向代理服务器包括DNS服务器、反向代理服务器组,内容服务器包括广告接口应用服务模块、内容数据库,广告接口应用服务模块包括输入输出回调线程模块、广告请求队列、后台工作线程模块,包括过程:反向代理服务、广告应用服务。本发明采用分布式处理以及双长连接方式确保网络资源被最大限度的利用,具有处理性能显著增强的特点。
Description
技术领域
本发明涉及一种网络广告数据高并发访问服务方法,特别涉及一种增强处理性能的网络广告数据高并发访问服务方法,属于网络广告数据高并发访问服务领域。
背景技术
目前全球47%的人口每月至少上一次网,包括通过PC和移动设备。未来的全球互联网普及率将超过50%,网民数量达到38.4亿人。随着互联网用户量增长,对网络广告服务能力的要求越来越高。通过增加服务器数据,配置服务器集群虽然可以解决密集用户访问的问题,但是会带来较高的投入成本。目前市场上存在的网络广告服务器软件大部分是直接使用一些开源的免费项目,例如tomcat、nginx、apache。虽然这些项目成本低,使用方便简单,但是处于高并发的网络广告服务中,服务能力仍然有提升空间。
发明内容
本发明网络广告数据高并发访问服务方法公开了新的方案,采用分布式处理以及双长连接方式确保网络资源被最大限度的利用,解决了现有方案在高并发网络广告服务中效率下降的问题。
本发明网络广告数据高并发访问服务方法,网络广告数据高并发访问服务方法基于服务器实现,服务器包括反向代理服务器、内容服务器,反向代理服务器包括DNS服务器、反向代理服务器组,内容服务器包括广告接口应用服务模块、内容数据库,广告接口应用服务模块包括输入输出回调线程模块、广告请求队列、后台工作线程模块,包括过程:
⑴反向代理服务:反向代理服务器负责接受用户的接入请求,分别维护客户端和应用服务器的连接池,管理并关闭已超时的长连接,在后端应用和远程用户间建立起安全隔离和攻击检测机制,使用轮转或最少连接数优先策略完成基于客户请求的负载均衡或将一个客户请求拆分成若干并行计算部分分别提交到多个应用服务器,对请求的用户ID取前几位作为转发标签,相同标签的请求转发到同一台应用服务器;
⑵广告应用服务:位于内容数据库与反向代理服务器之间的广告接口应用服务模块向上接收由反向代理服务器转发来的客户端访问请求,向下访问由内容数据库提供的结构化存储与数据查询服务;当一个广告请求到达后,底层操作系统通过输入输出回调线程模块对这个已到达的广告请求进行处理,输入输出回调线程模块对该请求进行预处理,使用位于本地的高速缓存来避免成本较高的数据库查询,如果本地缓存命中,则直接将缓存中的结果返回客户端,结束本次请求,如果未命中或这个广告请求需要日志写入操作,则该请求将被输入输出回调线程模块追加到指定的队列中,等待后台工作线程模块中的空闲线程对这个广告请求进行处理;后台工作线程模块中的每个线程都分别维护两条长连接,一条长连接将底层与数据库服务相连,另一条长连接连接到分布式缓存网络,通过让每个线程维护长连接,后台工作线程模块实现了数据库和分布式缓存的连接机制,后台工作线程模块在广告请求队列上等待新的请求到达,从队列中取出一个新的请求后,使用分布式缓存服务命中该请求中的查询操作,如果缓存未命中或该请求需要日志写入处理,通过数据库操作来完成这个广告请求;当一个广告请求被处理完成后,后台工作线程模块会将处理结果作为广告响应以异步输入输出的方式返回到指定客户端。
进一步,本方案的方法的过程⑴还包括分布式的缓冲加速,将反向代理服务器分组部署在距离热点地区地理位置较近的网络边界上,通过在位于客户较近的位置提供缓冲服务来加速网络应用。
进一步,本方案的方法的过程⑴还包括动态响应缓存,反向代理服务器对一段时间内不会发生改变的动态响应进行缓存,避免后端内容服务器频繁执行重复查询和计算。
进一步,本方案的方法的过程⑴还包括数据压缩传输,反向代理服务器启用压缩算法传输返回的数据以节约带宽。
进一步,本方案的方法的过程⑴还包括数据加密保护,反向代理服务器与客户端的通信启用加密保护。
进一步,本方案的方法的过程⑴还包括容错,反向代理服务器跟踪后端内容服务器的健康状况,避免将请求调度到发生故障的服务器。
进一步,本方案的方法的过程⑴还包括用户鉴权,反向代理服务器完成用户登陆和会话建立工作。
进一步,本方案的方法的过程⑴还包括网址别名,反向代理服务器对外建立统一的网址别名信息,屏蔽后端内容服务器的真实位置。
进一步,本方案的方法的过程⑴还包括应用混搭,反向代理服务器通过映射算法将不同的广告应用混搭在一起。
进一步,本方案的方法的过程⑴还包括协议转换,反向代理服务器为后端应用提供协议转换服务。
本发明网络广告数据高并发访问服务方法采用分布式处理以及双长连接方式确保网络资源被最大限度的利用,具有处理性能显著增强的特点。
附图说明
图1是本发明网络广告数据高并发访问服务方法的原理图。
具体实施方式
本发明网络广告数据高并发访问服务方法,网络广告数据高并发访问服务方法基于服务器实现,服务器包括反向代理服务器、内容服务器,反向代理服务器包括DNS服务器、反向代理服务器组,内容服务器包括广告接口应用服务模块、内容数据库,广告接口应用服务模块包括输入输出回调线程模块、广告请求队列、后台工作线程模块,包括过程:
⑴反向代理服务:反向代理服务器负责接受用户的接入请求,分别维护客户端和应用服务器的连接池,管理并关闭已超时的长连接,在后端应用和远程用户间建立起安全隔离和攻击检测机制,使用轮转或最少连接数优先策略完成基于客户请求的负载均衡或将一个客户请求拆分成若干并行计算部分分别提交到多个应用服务器,对请求的用户ID取前几位作为转发标签(TAG),相同标签的请求转发到同一台应用服务器;
⑵广告应用服务:位于内容数据库与反向代理服务器之间的广告接口应用服务模块向上接收由反向代理服务器转发来的客户端访问请求,向下访问由内容数据库提供的结构化存储与数据查询服务;当一个广告请求到达后,底层操作系统通过输入输出回调线程模块对这个已到达的广告请求进行处理,输入输出回调线程模块对该请求进行预处理,使用位于本地的高速缓存来避免成本较高的数据库查询,如果本地缓存命中,则直接将缓存中的结果返回客户端,结束本次请求,如果未命中或这个广告请求需要日志写入操作,则该请求将被输入输出回调线程模块追加到指定的队列中,等待后台工作线程模块中的空闲线程对这个广告请求进行处理;后台工作线程模块中的每个线程都分别维护两条长连接,一条长连接将底层与数据库服务相连,另一条长连接连接到分布式缓存网络,通过让每个线程维护长连接,后台工作线程模块实现了数据库和分布式缓存的连接机制,后台工作线程模块在广告请求队列上等待新的请求到达,从队列中取出一个新的请求后,使用分布式缓存服务命中该请求中的查询操作,如果缓存未命中或该请求需要日志写入处理,通过数据库操作来完成这个广告请求;当一个广告请求被处理完成后,后台工作线程模块会将处理结果作为广告响应以异步输入输出的方式返回到指定客户端。
为了增强反向代理服务功能,本方案的方法的过程⑴还包括分布式的缓冲加速,将反向代理服务器分组部署在距离热点地区地理位置较近的网络边界上,通过在位于客户较近的位置提供缓冲服务来加速网络应用。过程⑴还包括动态响应缓存,反向代理服务器对一段时间内不会发生改变的动态响应进行缓存,避免后端内容服务器频繁执行重复查询和计算。过程⑴还包括数据压缩传输,反向代理服务器启用压缩算法传输返回的数据以节约带宽。过程⑴还包括数据加密保护,反向代理服务器与客户端的通信启用加密保护。过程⑴还包括容错,反向代理服务器跟踪后端内容服务器的健康状况,避免将请求调度到发生故障的服务器。过程⑴还包括用户鉴权,反向代理服务器完成用户登陆和会话建立工作。过程⑴还包括网址别名,反向代理服务器对外建立统一的网址别名信息,屏蔽后端内容服务器的真实位置。过程⑴还包括应用混搭,反向代理服务器通过映射算法将不同的广告应用混搭在一起。过程⑴还包括协议转换,反向代理服务器为后端应用提供协议转换服务。
反向代理方式是指以代理服务器来接受客户端的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给请求连接的客户端。反向代理就是web服务器加速,是一种通过在web服务器和外部网络间增加高速web缓冲服务器来降低实际web服务器负载的一种技术。反向代理服务器会强制将外部网络对要代理的服务器的访问经过它,这样反向代理服务器负责接收客户端的请求,然后到源服务器上获取内容,把内容返回给用户,并把内容保存到本地,以便日后再收到同样的信息请求时,它会把本地缓存里的内容直接发给用户,以减少后端web服务器的压力,提高响应速度。反向代理服务器通常有两种模型,它可以作为内容服务器的替身,也可以作为内容服务器集群的负载均衡器。当客户端向站点提出请求时,请求将转到代理服务器,然后代理服务器通过防火墙中的特定通路将客户的请求发送到内容服务器,内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何网址,然后再将消息发送给客户机,防止外部客户获取内部内容服务器的重定向网址。代理服务器就在安全数据库和可能的恶意攻击之间提供了一道屏障。其二,可以在一个组织内使用多个代理服务器来平衡各 Web 服务器间的网络负载。可以利用代理服务器的高速缓存特性,创建一个用于负载平衡的服务器池。如果 Web 服务器每天都会接收大量的请求,则可以使用代理服务器分担 Web 服务器的负载并提高网络访问效率。
对于客户发往真正服务器的请求,代理服务器起着中间调停者的作用。代理服务器会将所请求的文档存入高速缓存。如果有不止一个代理服务器,DNS 可以采用“循环复用法”选择其 IP 地址,随机为请求选择路由。客户机每次都使用同一个网址,但请求所采取的路由每次都可能经过不同的代理服务器。可以使用多个代理服务器来处理对一个高用量内容服务器的请求,以便内容服务器可以处理更高的负载,并且比其独自工作时更有效率。因此,反向代理具有以下特点:⑴实现了网站服务器对外隐蔽;⑵节约了有限的IP地址资源,企业内所有的网站共享一个在互联网中注册的IP地址,这些服务器分配私有地址,采用虚拟主机的方式对外提供服务;⑶保护了真实的web服务器,web服务器对外不可见,外网只能看到反向代理服务器,而反向代理服务器上并没有真实数据,因此,保证了web服务器的资源安全;⑷反向代理的缓存网页功能加速了对网站访问速度,减轻了web服务器的负担,如果用户需要的内容在缓存中,则可以直接从代理服务器中获取,减轻了web服务器的负荷,同时也加快了用户的访问速度。
本方案公开了一种网络广告数据高并发访问服务方法,主要分为反向代理部分和广告应用服务部分。以下分别详述。
反向代理服务
如图1所示,构架中最外层的反向代理服务器负责接受用户的接入请求,在实际应用中,代理服务器通常要完成以下任务:
⑴连接管理:分别维护客户端和应用服务器的连接池,管理并关闭已超时的长连接。
⑵攻击检测和安全隔离:由于反向代理服务无需完成任何动态页面生成任务,所有与业务逻辑相关的请求都转发至后端应用服务器处理,因此反向代理服务几乎不会被应用程序设计或后端数据漏洞所影响。反向代理的安全性和可靠性通常仅取决于产品本身。在应用服务的前端部署反向代理服务器可以有效地在后端应用和远程用户间建立起一套可靠的安全隔离和攻击检测机制。如果需要,还可以通过在外网、反向代理、后端应用和数据库等边界位置添加额外的硬件防火墙等网络隔离设备来实现更高的安全性能。
⑶负载均衡:通常使用轮转(Round Robin)或最少连接数优先等策略完成基于客户请求的负载均衡,也可以使用 SSI 等技术将一个客户请求拆分成若干并行计算部分分别提交到多个应用服务器。根据广告请求的特点,做服务转发需要考虑到计算用户唯一数据的问题,因此我们对请求的用户ID取前几位作为转发TAG,相同TAG的请求必须转发到同一台应用服务器,确保在计算唯一用户数据时不出现错误。
⑷分布式的cache加速:可以将反向代理分组部署在距离热点地区地理位置较近的网络边界上。通过在位于客户较近的位置提供缓冲服务来加速网络应用。这实际上就构成了 CDN 网络。
⑸动态响应缓存:对一段时间内不会发生改变的动态响应进行缓存,避免后端应用服务器频繁执行重复查询和计算。
⑹数据压缩传输:为返回的数据启用 GZIP/ZLIB 压缩算法以节约带宽。
⑺数据加密保护(SSL Offloading):为与客户端的通信启用SSL/TLS加密保护。
⑻容错:跟踪后端应用服务器的健康状况,避免将请求调度到发生故障的服务器。
⑼用户鉴权:完成用户登陆和会话建立等工作。
⑽网址别名:对外建立统一的网址别名信息,屏蔽真实位置。
⑾应用混搭:通过SSI和URL映射技术将不同的广告应用混搭在一起。
⑿协议转换:为使用SCGI和FastCGI等协议的后端应用提供协议转换服务。
广告应用服务
广告应用服务层(广告接口应用服务模块)位于数据库等后端通用服务层与反向代理层之间,向上接收由反向代理服务转发而来的客户端访问请求,向下访问由数据库层提供的结构化存储与数据查询服务。应用层实现了广告应用的所有业务逻辑,通常要完成大量的计算和数据动态生成任务。广告应用节点由 IO 回调线程池(输入输出回调线程模块)、广告请求队列以及后台工作线程池(后台工作线程模块)等三个重要部分组成,其伺服流程如下:
当一个广告请求到达后,底层操作系统通过 IOCP、epoll、kqueue、event ports、real time signal(posix aio)、/dev/poll、pollset 等各类与具体平台紧密相关的IO完成(或IO就绪)回调机制通知AIO(Asynchronous IO)回调线程,对这个已到达的广告请求进行处理。在 AIO 回调池中的工作线程接收到一个已到达的广告请求后,首先尝试对该请求进行预处理。在预处理过程中,将会使用位于本地的高速缓存来避免成本较高的数据库查询。如果本地缓存命中,则直接将缓存中的结果(仍然以异步 IO 的方式)返回客户端,并结束本次请求。如果指定的广告请求要求查询的数据无法被本地缓存命中,或者这个广告请求需要日志写入操作,则该请求将被AIO回调线程追加到指定的队列中,等待后台工作线程池中的某个空闲线程对其进行进一步处理。后台工作线程池中的每个线程都分别维护着两条长连接:一条与底层到数据库服务相连,另一条则连接到分布式缓存(memcached)网络。通过让每个工作线程维护属于自己的长连接,后台工作线程池实现了数据库和分布式缓存连接池机制。长连接(Keep-Alive)通过为不同的请求重复使用同一条网络连接大大提高了应用程序处理效率和网络利用率。后台工作线程在广告请求队列上等待新的请求到达,在从队列中取出一个新的请求后,后台工作线程首先尝试使用分布式缓存服务命中该请求中的查询操作,如果网络缓存未命中或该请求需要日志写入等进一步处理,则直接通过数据库操作来完成这个广告请求。当一个广告请求被处理完成后,后台工作线程会将处理结果作为广告响应以异步 IO 的方式返回到指定客户端。
上述步骤是一个典型广告接口应用服务的工作方式。需要说明的是,与 epoll/kqueue/event ports等相位触发的通知机制不同,对于Windows IOCP和 POSIX AIORealtime Signal这类边缘触发的 AIO 完成事件通知机制,为了避免操作系统底层IO完成队列(或实时信号队列)过长或溢出导致的内存缓冲区被长时间锁定在非分页内存池,在上述系统内的AIO回调方式实际上是由两个独立的线程池和一个AIO完成事件队列组成的:一个线程池专门负责不间断地等待系统AIO完成队列中到达的事件,并将其提交到一个内部的AIO完成队列中(该队列工作在用户模式,具有用户可控的弹性尺寸,并且不会锁定内存)。与此同时,另一个线程池等待在这个内部AIO完成队列上,并且处理不断到达该队列的AIO完成事件。这样的设计降低了操作系统的工作负担,避免了在极端情况下可能出现的消息丢失、内存泄露以及内存耗尽等问题,同时也可以帮助操作系统更好地使用和管理非分页内存池。因此,本方案采用了针对广告请求特性的分布式处理,广告应用双长连接技术,确保网络资源被最大限度的利用,提高响应时间。基于以上特点,本方案的网络广告数据高并发访问服务方法相比同类方案处理性能提升100%,2000并发用户下QPS可达到30000,并且响应时间可以控制在30ms以内,具有突出的实质性特点和显著的进步。
本方案的网络广告数据高并发访问服务方法并不限于具体实施方式中公开的内容,实施例中出现的技术方案可以基于本领域技术人员的理解而延伸,本领域技术人员根据本方案结合公知常识作出的简单替换方案也属于本方案的范围。
Claims (10)
1.一种网络广告数据高并发访问服务方法,所述网络广告数据高并发访问服务方法基于服务器实现,所述服务器包括反向代理服务器、内容服务器,所述反向代理服务器包括DNS服务器、反向代理服务器组,所述内容服务器包括广告接口应用服务模块、内容数据库,所述广告接口应用服务模块包括输入输出回调线程模块、广告请求队列、后台工作线程模块,其特征是包括过程:
⑴反向代理服务:反向代理服务器负责接受用户的接入请求,分别维护客户端和应用服务器的连接池,管理并关闭已超时的长连接,在后端应用和远程用户间建立起安全隔离和攻击检测机制,使用轮转或最少连接数优先策略完成基于客户请求的负载均衡或将一个客户请求拆分成若干并行计算部分分别提交到多个应用服务器,对请求的用户ID取前几位作为转发标签,相同标签的请求转发到同一台应用服务器;
⑵广告应用服务:位于内容数据库与反向代理服务器之间的广告接口应用服务模块向上接收由反向代理服务器转发来的客户端访问请求,向下访问由内容数据库提供的结构化存储与数据查询服务;当一个广告请求到达后,底层操作系统通过输入输出回调线程模块对这个已到达的广告请求进行处理,输入输出回调线程模块对该请求进行预处理,使用位于本地的高速缓存来避免成本较高的数据库查询,如果本地缓存命中,则直接将缓存中的结果返回客户端,结束本次请求,如果未命中或这个广告请求需要日志写入操作,则该请求将被输入输出回调线程模块追加到指定的队列中,等待后台工作线程模块中的空闲线程对这个广告请求进行处理;后台工作线程模块中的每个线程都分别维护两条长连接,一条长连接将底层与数据库服务相连,另一条长连接连接到分布式缓存网络,通过让每个线程维护长连接,后台工作线程模块实现了数据库和分布式缓存的连接机制,后台工作线程模块在广告请求队列上等待新的请求到达,从队列中取出一个新的请求后,使用分布式缓存服务命中该请求中的查询操作,如果缓存未命中或该请求需要日志写入处理,通过数据库操作来完成这个广告请求;当一个广告请求被处理完成后,后台工作线程模块会将处理结果作为广告响应以异步输入输出的方式返回到指定客户端;
上述AIO回调方式由两个独立的线程池和一个AIO完成事件队列组成的:一个线程池专门负责不间断地等待系统AIO完成队列中到达的事件,并将其提交到一个内部的AIO完成队列中,该队列工作在用户模式,具有用户可控的弹性尺寸,并且不会锁定内存,另一个线程池等待在这个内部AIO完成队列上,并且处理不断到达该队列的AIO完成事件。
2.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括分布式的缓冲加速,将反向代理服务器分组部署在距离热点地区地理位置较近的网络边界上,通过在位于客户较近的位置提供缓冲服务来加速网络应用。
3.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括动态响应缓存,反向代理服务器对一段时间内不会发生改变的动态响应进行缓存,避免后端内容服务器频繁执行重复查询和计算。
4.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括数据压缩传输,反向代理服务器启用压缩算法传输返回的数据以节约带宽。
5.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括数据加密保护,反向代理服务器与客户端的通信启用加密保护。
6.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括容错,反向代理服务器跟踪后端内容服务器的健康状况,避免将请求调度到发生故障的服务器。
7.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括用户鉴权,反向代理服务器完成用户登陆和会话建立工作。
8.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括网址别名,反向代理服务器对外建立统一的网址别名信息,屏蔽后端内容服务器的真实位置。
9.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括应用混搭,反向代理服务器通过映射算法将不同的广告应用混搭在一起。
10.根据权利要求1所述的网络广告数据高并发访问服务方法,其特征在于,过程⑴还包括协议转换,反向代理服务器为后端应用提供协议转换服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810094071.0A CN110099035B (zh) | 2018-01-31 | 2018-01-31 | 一种网络广告数据高并发访问服务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810094071.0A CN110099035B (zh) | 2018-01-31 | 2018-01-31 | 一种网络广告数据高并发访问服务方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110099035A CN110099035A (zh) | 2019-08-06 |
CN110099035B true CN110099035B (zh) | 2022-04-12 |
Family
ID=67442591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810094071.0A Active CN110099035B (zh) | 2018-01-31 | 2018-01-31 | 一种网络广告数据高并发访问服务方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110099035B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711598B (zh) * | 2020-04-23 | 2022-07-05 | 中国电子科技网络信息安全有限公司 | 一种面向大规模ssl/tls加密会话流的敏感数据检测系统 |
CN111651320A (zh) * | 2020-05-20 | 2020-09-11 | 北京中交兴路信息科技有限公司 | 一种高并发连接方法和系统 |
CN112163895A (zh) * | 2020-10-14 | 2021-01-01 | 广州欢网科技有限责任公司 | 基于异步编程的高并发广告投放方法、装置、设备和系统 |
CN113986516A (zh) * | 2021-12-27 | 2022-01-28 | 广州朗国电子科技股份有限公司 | 基于鸿蒙系统的分布式任务调度系统 |
CN114567636A (zh) * | 2022-01-20 | 2022-05-31 | 银盛通信有限公司 | 一种基于移动转售系统百万级并发续期的方法 |
CN114844897B (zh) * | 2022-07-06 | 2022-11-04 | 深圳爱换电科技有限公司 | 基于物联网的分布式动态调节长连接服务的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751408A (zh) * | 2008-11-28 | 2010-06-23 | 上海均宜信息科技有限公司 | 一种互联网文内广告的系统与方法 |
CN105119986A (zh) * | 2015-08-12 | 2015-12-02 | 国家电网公司 | 一种基于预连接的Web反向代理方法 |
CN106993058A (zh) * | 2017-05-24 | 2017-07-28 | 儒安科技有限公司 | 网络请求的中转方法和装置 |
-
2018
- 2018-01-31 CN CN201810094071.0A patent/CN110099035B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751408A (zh) * | 2008-11-28 | 2010-06-23 | 上海均宜信息科技有限公司 | 一种互联网文内广告的系统与方法 |
CN105119986A (zh) * | 2015-08-12 | 2015-12-02 | 国家电网公司 | 一种基于预连接的Web反向代理方法 |
CN106993058A (zh) * | 2017-05-24 | 2017-07-28 | 儒安科技有限公司 | 网络请求的中转方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110099035A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110099035B (zh) | 一种网络广告数据高并发访问服务方法 | |
US10904204B2 (en) | Incompatible network gateway provisioned through DNS | |
US9961143B2 (en) | Providing enhanced data retrieval from remote locations | |
US9037712B2 (en) | Systems and methods for self-loading balancing access gateways | |
US9083760B1 (en) | Dynamic cloning and reservation of detached idle connections | |
US8230054B2 (en) | Systems and methods for managing dynamic proximity in multi-core GSLB appliance | |
US8438240B2 (en) | Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service | |
US8635367B2 (en) | Systems and methods for managing static proximity in multi-core GSLB appliance | |
US8856369B2 (en) | Systems and methods for IIP address sharing across cores in a multi-core system | |
CN111314499B (zh) | 一种域名代理方法、装置、设备及可读存储介质 | |
US10187458B2 (en) | Providing enhanced access to remote services | |
US8930554B2 (en) | Transferring session data between network applications accessible via different DNS domains | |
CN109413211B (zh) | 一种eos区块链超级节点的架构及其实现方法 | |
CN111371920A (zh) | Dns前端解析方法及系统 | |
US11743319B2 (en) | Implementing a queuing system in a distributed network | |
US20120246215A1 (en) | Identying users of remote sessions | |
CN111371804A (zh) | Dns后端转发方法及系统 | |
US8312154B1 (en) | Providing enhanced access to remote services | |
Ivanisenko | Methods and Algorithms of load balancing | |
Wei et al. | Research on cluster and load balance based on Linux virtual server | |
JP2002024191A (ja) | Wwwシステム、wwwサーバのトラフィック緩和方法、及びwwwサーバ | |
CN112929440A (zh) | 一种使用cookie进行双栈连接保持的方法 | |
CN116264522A (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 |