CN112948437A - 一种大数据高并发下全域频控系统及方法 - Google Patents
一种大数据高并发下全域频控系统及方法 Download PDFInfo
- Publication number
- CN112948437A CN112948437A CN202110235537.6A CN202110235537A CN112948437A CN 112948437 A CN112948437 A CN 112948437A CN 202110235537 A CN202110235537 A CN 202110235537A CN 112948437 A CN112948437 A CN 112948437A
- Authority
- CN
- China
- Prior art keywords
- frequency control
- shared memory
- cache
- order
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 238000007906 compression Methods 0.000 claims abstract description 9
- 230000006835 compression Effects 0.000 claims abstract description 9
- 239000012634 fragment Substances 0.000 claims abstract description 5
- 238000013467 fragmentation Methods 0.000 claims description 8
- 238000006062 fragmentation reaction Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 2
- 238000012544 monitoring process Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000002147 killing effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0273—Determination of fees for advertising
- G06Q30/0275—Auctions
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种大数据高并发下全域频控系统和方法,创建基于文件的共享内存,让每个订单频控标识对应一个共享内存文件,生成自定义缓存,将共享内存映射到缓存中。消息处理系统管理多个压缩写进程,竞价系统进行频控查询的时候,先将数据进行分片计算,确定访问那组缓存服务器的那台服务器可读,连接该缓存服务器的某个读进程,根据媒体标记,查询所有该媒体的所有订单,从自定义缓存中取出对应的频控标识对应的共享内存映射,取出共享内存中的频控次数。最后格式化信息将所有订单的频控情况一起返回竞价服务器。整个系统解决了现有分布式缓存的缺点和不足,非常适用于大数据并且高并发的环境,轻松实现了全域频控系统的要求。
Description
技术领域
本发明涉及一种大数据高并发下全域频控系统及方法。
背景技术
随着网络技术的发展及智能终端的快速普及,移动互联网及传统互联网给大数据精准营销公司带来了新的机遇,同时也带来了新的挑战。在大数据精准营销公司中,互联网广告平台DSP(需求方平台)是一个在线实时广告平台,它拥有两个核心特点,一是大量数据下非常快的数据运算速度和技术,二是高并发下先进的用户定向技术能力。
互联网广告平台对数据运算技术和速度、用户定向技术都要求极其苛刻。从普通用户在浏览器中地址栏输入网站的网址,到用户看到页面上的内容和广告这短短百多毫秒之内,互联网广告平台和媒体门户网站就需要发生了好几次网络往返的数据信息交换。媒体卖方平台首先要向DSP发竞价请求,到DSP的竞价响应,响应超时时间不得120毫秒,否则认为竞价失败。在这段时间内dsp平台还需要对几十乃至于上百个订单的每个订单进行地域判断,平台判断,频控次数判断,价格判断,尺寸判断,广告类型判断,点击数判断,曝光数判断,黑白名单判断,展示类型判断等等,还要对用户进行性别、职业、年龄、收入、兴趣爱好等等进行判断。实现用户定向投放。每个订单对大型数据的查询和运算不下几十次,对每次的查询和运算都是毫秒级的,并且dsp平台的QPS一般都是几十万,这对系统的架构及一些系统的应用带来了很大的挑战。
全域频控系统就是其中的挑战之一。全域频控是指在用户全部的媒体中看到该广告的次数。例如:某个广告主希望每个用户在所有的媒体中,最多看到3次他的广告,从而能够节约成本,在有限的广告预算中能让更多的人看到广告。当然,全域频控也可以只针对某种类型或者某地域或者某时间段频控,是可大可小的灵活设置的频控方式。频控的一条数据大约是50个byte左右,一个订单大约10亿左右的数据,占用的内存大约在70G左右,redis也准备2倍以上的空间,大约需要150G以上。设计每天100个订单计算需要15T左右的内存。对内存的占用也是难以承受。
互联网高速发展的今天,高并发的场景并不鲜见。例如电商秒杀和抢购以及12306网站上节假日抢票等,都是比较典型的互联网高并发场景。对于高并发场景,如果不进行合理架构及流量管控,将导致一系列的问题出现,比如一些可用的连接资源被耗尽、分布式缓存的容量被撑爆、数据库吞吐量降低,最终必然会导致系统产生雪崩效应。一般情况下,这些互联网站通常采用的做法是通过扩容、动静分离、缓存、服务降级及限流等手段来保护系统的稳定运行。
对于全域频控系统来说,这些手段有点捉襟见肘。扩容对成本有压力,动静分离、服务降级及限流都不能用,媒体不会让你超过120毫秒。唯一可用的手段就是缓存了,但现在常用分布式缓存在应用中也面临着一系列的问题。一些分布式缓存不能持久化,具有持久化的缓存redis在频控应用中也有很多问题。首先,Master写内存快照,save命令调度rdbSave函数时或者Master调用BGREWRITEAOF重写AOF文件时,当数据量比较大时,会占大量的CPU和内存资源,出现服务暂停现象。即便Master不开启持久化。当Master主从复制的时候,第一次Slave向Master同步的实现是:Slave向Master发出同步请求,Master先dump出rdb文件,然后将rdb文件全量传输给Slave,然后Master把缓存的命令转发给Slave,初次同步完成。第二次以及以后的同步实现是:Master将变量的快照直接实时依次发送给各个Slave。不管什么原因导致Slave和Master断开重连都会重复以上过程。Redis的主从复制是建立在内存快照的持久化基础上,只要有Slave就一定会有内存快照发生。虽然Redis宣称主从复制无阻塞,但由于磁盘io的限制,如果Master快照文件比较大,那么dump会耗费比较长的时间,这个过程中Master可能无法响应请求,也就是说服务会中断,对于频控应用来说,这个后果也是很可怕的。其次,redis是单线程的,单台服务器无法充分利用多核服务器的CPU。如果redis进行完整重新同步,由于需要生成rdb文件,并进行传输,会占用主机与现存数据同样大小的空闲内存。因而,需要的主机内存必须要在预计存储数据的2倍以上,造成大量的内存无法使用。再次,虽说连接都使用了连接池,但是连接池的连接设置是一个均衡的数据。当服务器启动时,瞬间大量的QPS,会有大量的短链接出现,redis的listSearchKey占用大量的cpu,使其读写能力下降到五分之一左右。致使大量的竞价服务器响应超时,造成超时率过高,致使公司在媒体方服务能力降级。最后,是redis的删除问题。虽然redis本身有key过期策略,但是如果内存增长过快,还是需要定期删除数据。数据的删除也会占用Master大量的cup资源,主从同步也要占用大量的带宽消耗,这些都会引起缓存性能的大幅下降。同时,一些频控数据间隔一段时间(如15天)后再应用,redis删除后的数据无法再加载。
发明内容
本发明的目的在于提供一种大数据高并发下全域频控系统及方法,通过将基于文件的共享内存、分片,数据多hash定位,bit位存取数据,远程调用(RPC)等功能有机的结合在一起,形成了一套完善的技术方案。
为了实现上述目的,本发明的技术方案是设计一种大数据高并发下全域频控系统,全域频控系统的输出端连接DSP竞价服务器,输入端分别连接DSP竞价服务器和分布式消息系统服务器,所述全域频控系统包括自定义缓存系统、读取系统、压缩写系统以及消息处理管理系统。
一种大数据高并发下全域频控系统的方法,包括以下流程:
首先,将每个订单对应的频控标记建立一个基于文件的共享内存,生成自定义缓存。同服务器的不同的进程开启远程调用(RPC)功能并共享该共享内存。共享内存中的数据有操作系统控制刷新文件到磁盘上。该服务器有多个读进程和一个写进程,进程间的数据通过共享内存映射。
其次,将缓存机器按组分配,每组2-3台机器。同组的机器数据一致,不同组的机器器数据不同。同组的每个服务器多进程间实现读写分离。不同组服务器的分片有客户端控制。
再次,同组服务器间的同步,不同组服务器的数据更新,都通过分布式消息系统完成。为每台缓存服务器启动一个消息处理进程,保证其更新的速度。消息处理系统按规则实现不同组服务器数据的分片。当消息处理进程出故障时,标记该对应服务器不可读,并发送消息到监控系统。
再次,通过多次数据hash定位,代替字符串存储。通过用bit存储频控数代替用int或者byte存储,使得每条频控信息压缩到4-5个byte.每个订单10亿左右的数据,内存占有大约5G左右。每天100个订单大约占有500G左右,相比15T来说,大大节约了内存空间。
最后,自定义缓存系统会定时检查订单的结束时间,当有订单结束,需要清除频控内存时,自定义缓存系统会释放这部分的共享内存,而该频控标识的共享内存文件则保存在磁盘上,并不删除。当过段时间,再需要再次基础上继续频控时,直接通过频控标识加载该文件到共享内存中即可。
其大体流程为:自定义缓存系统启动时,会检查所有的正在投放期的订单的频控标识,如果没有该频控标识的内存共享文件,则创建该文件并开辟共享内存,对共享内存初始化。如果有改频控标识的文件,则判断该文件的共享内存是否存在,存在就继续下一个,不存在则开辟共享内存,对共享内存初始化并把文件的内容加载到共享内存中。当正在投放期的订单检查完毕后,会检查没在投放期的订单,如果订单已经结束,则释放该订单对应频控标识的共享内存。如果只是暂停,则不释放内存。自定义缓存启动完毕后,消息处理系统启动,读取消息,数据进行分片处理,将属于该机的数据,进行数据多hash定位,处理频控次数bit位,将数据写入缓存中。竞价系统进行频控查询的时候,先将数据进行分片计算,确定是访问那组缓存服务器,然后再计算访问那台服务器,检查这台服务器是否可查,如果可查,则连接该缓存服务器的某个读进程,缓存服务器根据媒体标记,查询所有该媒体的所有订单,将每个订单的频控情况一起返回竞价服务器。竞价服务器判断符合的订单,返回给媒体服务器。
自定义缓存系统启动时,会检查所有的正在投放期的订单的频控标识,如果没有该频控标识的内存共享文件,则创建该文件并开辟共享内存,对共享内存初始化。如果有改频控标识的文件,则判断该文件的共享内存是否存在,存在就继续下一个,不存在则开辟共享内存,对共享内存初始化并把文件的内容加载到共享内存中。当正在投放期的订单检查完毕后,会检查没在投放期的订单,如果订单已经结束,则释放该订单对应频控标识的共享内存。如果只是暂停,则不释放内存。自定义缓存启动完毕后,消息处理系统启动,读取消息,数据进行分片处理,将属于该机的数据,进行数据多hash定位,处理频控次数bit位,将数据写入缓存中。竞价系统进行频控查询的时候,先将数据进行分片计算,确定是访问那组缓存服务器,然后再计算访问那台服务器,检查这台服务器是否可查,如果可查,则连接该缓存服务器的某个读进程,缓存服务器根据媒体标记,查询所有该媒体的所有订单,将每个订单的频控情况一起返回竞价服务器。竞价服务器判断符合的订单,返回给媒体服务器。
本发明的优点和有益效果在于:通过基于文件的共享内存,分组,分片,数据的压缩读写等功能的结合实现,不仅能完成自定义缓存一般的分布式缓存的功能,还通过内存共享,单机多进程共享内存等方式,提高了内存的利用率及单机并发的承载能力。通过缓存内部计算,一次返回该媒体的所有频控信息,减少了网络的访问次数,提高的网络并发承载能力,增加了分布式缓存的吞吐量。通过压缩数据的读写,使内存的应用大大减少,降低了使用成本,减少了服务器的数量,使得运维更加方便,具有更强的健壮性。通过灵活的频控数据的加载和删除,提高的运营对频控设置的灵活性和多样性,更好的提高了广告主的满意度。利用本发明,可以将自定义分布式缓存独立应用,在一定程度上及一些应用场景下弥补现有分布式缓存的不足。
附图说明
图1为全域频控系统的结构示意图。
图2为大数据高并发下全域频控系统在整个DSP平台中的架构示意图。
图3为全域频控系统的自定义缓存系统流程图。
图4为全域频控系统的压缩写流程图。
图5为全域频控系统读取流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例:
如图1所示,一种大数据高并发下全域频控系统,全域频控系统的输出端连接DSP竞价服务器,输入端分别连接DSP竞价服务器和分布式消息系统服务器,全域频控系统包括自定义缓存系统、读取系统、压缩写系统以及消息处理管理系统。
一种大数据高并发下全域频控方法,包括以下流程:
通过所有的正在投放期的订单的频控标识,创建基于文件的共享内存,每个订单频控标识对应一个共享内存文件,生成自定义缓存,将共享内存映射到缓存中;
自定义缓存启动定时器自动管理,定时判断订单时间及状态,如果订单结束,则删除该订单频控标识对应的共享内存映射,释放共享内存,但不删除共享内存文件;
如果是新增订单,则通过该订单的频控标识创建共享内存文件,开辟共享内存空间,将共享内存映射到自定义缓存中;
如果是重用频控数据的订单,则加载该订单要用的频控数据的频控标识对应的共享内存文件,开辟共享内存空间,将数据加载到共享内存中,将共享内存映射到自定义缓存中;
如果是暂停很长时间的订单,则加载该订单的频控标识对应的共享内存文件,开辟共享内存空间,将数据加载到共享内存中,将共享内存映射到自定义缓存中;
如果是正在投放期的订单或者短期暂停的订单,则判断该订单的频控标识对应的共享内存映射是否存在,存在则进行下一个,不存在,则加载该订单的频控标识对应的共享内存文件,开辟共享内存空间,将数据加载到共享内存中,将共享内存映射到自定义缓存中;
消息处理系统管理多个压缩写进程,将写进程出现异常时,将该进程对应的机器设置为不可读;当写进程从分布式消息系统中读取消息时,数据进行分片处理,将属于该机的数据,进行数据多hash定位,处理频控次数bit位,将数据写入缓存中;并将共享内存中更新的数据刷新到硬盘上的该共享内存对应的文件中;竞价系统进行频控查询的时候,先将数据进行分片计算,确定访问那组缓存服务器的那台服务器可读,连接该缓存服务器的某个读进程,根据媒体标记,查询所有该媒体的所有订单,从自定义缓存中取出对应的频控标识对应的共享内存映射,取出共享内存中的频控次数;最后格式化信息将所有订单的频控情况一起返回竞价服务器。
如图2所示,DSP平台包括用户客户端、媒体服务器集群、DSP竞价服务器集群,DSP监测服务器集群,分布式消息系统集群,全域频控系统集群;所述用户客户端的信号输出端分别连接媒体服务器集群和DSP监测服务器集群;所述媒体服务器集群的信号输出端分别连接用户客户端和DSP竞价服务器集群;所述DSP竞价服务器集群的信号输出端分别连接媒体服务器集群和全域频控系统集群;所述DSP监测服务器集群的信号输出端连接分布式消息系统集群;所述分布式消息系统集群的信号输出端连接全域频控系统集群。
用户客户端访问媒体服务器集群,媒体服务器集群向DSP竞价服务器集群发送广告竞价信息,DSP竞价服务器集群向全域频控系统集群发送信息,询问该用户在哪些订单中频控符合要求,全域频控系统集群通过相应的算法返回符合要求的订单信息,DSP竞价服务器集群再经过一系列判断,返回符合要求的订单的广告素材和竞价价格等给媒体服务器集群,媒体服务器集群将广告素材展示给用户客户端。
用户客户端展示广告后,向DSP监测服务器集群发送监测信息,DSP监测服务器集群将监测信息格式化,并发送到分布式消息系统集群,全域频控系统集群处理消息,将频控信息经过处理,写入自定义缓存系统中。
如图3所示,全域频控系统的自定义缓存系统的实现原理如下:
1、系统启动时,自定义缓存系统初始化,启动socketserver,监听端口。
2、启动信息初始化定时器线程,定时器每15分钟执行一次。
3、判断初始化信息是否更新,如果没有更新,则不做任何操作,等待下次任务执行。
4、如果有更新,则开始初始化,并获取初始化信息。
5、如果获取失败,则判断重新获取信息的次数,如果小于3次,则等待10秒钟,小于10次大约3次,则等待5分钟,再重新获取信息。如果大于10次,则退出信息获取,发送消息到监控系统,信息初始化退出,等待下次任务执行。
6、如果获取成功,则判断自定义缓存是否存在,不存在,则创建缓存。
7、如果缓存存在,则获取所有广告主的所有订单信息列表。
8、取一个订单信息初始化频控标识,并为频控标识初始化信息。
9、判断自定义缓存中是否已经存在共享缓存映射,如果存在,则继续去下一个。
10、如果不存在,初始化共享内存信息。
11、判断是否存在共享内存文件,如果不存在,生成共享内存文件,保存在磁盘上,开辟共享内存空间。
12、如果存在,则判断是否开辟了共享内存空间,如果开辟了,则循环8至11的步骤
13、如果没有开辟,则开辟共享内存空间。加载内存文件的内容到共享内存中。
14、将共享内存映射到自定义缓存中。
15、则循环8至14的步骤,直到所有的订单都处理完成。
16、检查自定义缓存中所有订单,是否有投放结束的订单的内存映射。
17、如果没有,则信息更新初始化结束。
18、如果有,则释放该订单频控标识的共享内存,删除自定义缓存中的映射。
19、信息更新初始化结束,等待下次任务执行。
20、下次任务执行循环3至19的步骤。
如图4所示,全域频控系统的压缩写实现原理如下:
1、当用户客户端看到广告后,将监测信息发送到DSP监测服务器集群。
2、DSP监测服务器集群收到信息后,判断信息是否正确,如不正确,则发送信息到监测系统。
3、如果正确,则格式化监测信息,将监测信息发送到分布式消息系统集群。
4、全域频控系统压缩写进程从分布式消息系统集群中读取一条信息并解析该数据。
5、通过解析数据中的频控标识,获取自定义缓存系统中的共享内存映射。
6、判断自定义缓存系统中是否存在共享内存映射,如果不存在,则发送信息到监测系统,并结束此次处理,从分布式消息系统集群中取出下一条信息进行处理。
7、如果存在,则将频控标识(ID)用8个不同的hash函数,生成8个64位的hash值。
8、取出一个hash值,并获取hash值在缓存中的位置并计算出其所在的byte在缓存中的位置。
9、从缓存中取出该byte,并计算出hash值所表示的位置是在byte的前4位bit,还是后4位bit。
10、从byte中取出该位置的4位bit。
11、将4位bit转为十进制数值,并判断是否超过了最大频控数。
12、如果超过了,则发送信息到监测系统,并结束此次处理,从分布式消息系统中取出下一条信息进行处理。
13、如果没有超过,则将数组加1后再转化为4位bit。
14、将新的4位bit重新写入byte的原来位置中。
15、将新的byte更新到缓存中原byte的位置。
16、循环8至15的步骤,直到将8个hash所定位的数值都写完。
17、判断8次写入是否都成功,如果是,则返回添加成功。
18、如果否,则返回添加失败。
19、结束此次处理,从分布式消息系统集群中取出下一条信息进行处理,然后循环7至18的步骤。
如图5所示,全域频控系统的压缩读取实现原理如下:
1、当用户客户端打开媒体页面的时,媒体服务器集群判断有没有广告位,没有,则返回页面信息。
2、如果有广告位,则发送广告信息到DSP竞价服务器集群。
3、DSP竞价服务器集群发送媒体标识及用户标识到全域频控系统集群的读进程。
4、读进程通过媒体标识获取所有的订单中的频控信息。
5、从频控信息列表中取出一条频控信息并解析改数据。
6、通过解析数据中的频控标识,获取自定义缓存系统中的共享内存映射。
7、判断自定义缓存系统中是否存在共享内存映射,如果不存在,则发送信息到监测系统,并结束此次处理,从频控列表中取出下一条频控信息进行处理。
8、取出一个hash值,并获取hash值在缓存中的位置并计算出其所在的byte在缓存中的位置。
9、从缓存中取出该byte,并计算出hash值所表示的位置是在byte的前4位bit,还是后4位bit。
10、从byte中取出该位置的4位bit。
11、将4位bit转为十进制数值,并判断是否超过了最大频控数。
12、如果大于等于最大频控数,则发送信息到监测系统,并结束此次处理,将该频控数加入频控标识和频控数信息列表中。
13、如果没有超过,则将频控数放入数组中。
14、循环8至13的步骤,直到取完8个频控数都存入数组中。
15、比较8个频控数,判断是否大于或者等于6个相同的频控数。
16、如果大于或等于6个,则将该频控数加入频控标识和频控数信息列表中。
17、如果小于6个,则将数组中最大的频控数加入频控标识和频控数信息列表中。
18、循环8至17的步骤,直到频控列表中的频控信息处理完毕为止。
19、将频控信息列表中的频控标识信息和订单信息格式化,然后传回DSP竞价服务器集群。
20、DSP竞价服务器集群通过一系列的判断处理,将竞价信息及广告素材发送到媒体服务器。
21、媒体服务器集群将广告信息和网页信息发送给用户客户端。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种大数据高并发下全域频控系统,全域频控系统的输出端连接DSP竞价服务器,输入端分别连接DSP竞价服务器和分布式消息系统服务器,其特征在于:所述全域频控系统包括自定义缓存系统、读取系统、压缩写系统以及消息处理管理系统。
2.一种利用权利要求1的大数据高并发下全域频控系统的方法,其特征在于,包括以下流程:
通过所有的正在投放期的订单的频控标识,创建基于文件的共享内存,每个订单频控标识对应一个共享内存文件,生成自定义缓存,将共享内存映射到缓存中;
自定义缓存启动定时器自动管理,定时判断订单时间及状态,如果订单结束,则删除该订单频控标识对应的共享内存映射,释放共享内存,但不删除共享内存文件;
如果是新增订单,则通过该订单的频控标识创建共享内存文件,开辟共享内存空间,将共享内存映射到自定义缓存中;
如果是重用频控数据的订单,则加载该订单要用的频控数据的频控标识对应的共享内存文件,开辟共享内存空间,将数据加载到共享内存中,将共享内存映射到自定义缓存中;
如果是暂停很长时间的订单,则加载该订单的频控标识对应的共享内存文件,开辟共享内存空间,将数据加载到共享内存中,将共享内存映射到自定义缓存中;
如果是正在投放期的订单或者短期暂停的订单,则判断该订单的频控标识对应的共享内存映射是否存在,存在则进行下一个,不存在,则加载该订单的频控标识对应的共享内存文件,开辟共享内存空间,将数据加载到共享内存中,将共享内存映射到自定义缓存中;
消息处理系统管理多个压缩写进程,将写进程出现异常时,将该进程对应的机器设置为不可读;当写进程从分布式消息系统中读取消息时,数据进行分片处理,将属于该机的数据,进行数据多hash定位,处理频控次数bit位,将数据写入缓存中;并将共享内存中更新的数据刷新到硬盘上的该共享内存对应的文件中;竞价系统进行频控查询的时候,先将数据进行分片计算,确定访问那组缓存服务器的那台服务器可读,连接该缓存服务器的某个读进程,根据媒体标记,查询所有该媒体的所有订单,从自定义缓存中取出对应的频控标识对应的共享内存映射,取出共享内存中的频控次数;最后格式化信息将所有订单的频控情况一起返回竞价服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110235537.6A CN112948437B (zh) | 2021-03-03 | 2021-03-03 | 一种大数据高并发下全域频控系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110235537.6A CN112948437B (zh) | 2021-03-03 | 2021-03-03 | 一种大数据高并发下全域频控系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948437A true CN112948437A (zh) | 2021-06-11 |
CN112948437B CN112948437B (zh) | 2023-12-19 |
Family
ID=76247387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110235537.6A Active CN112948437B (zh) | 2021-03-03 | 2021-03-03 | 一种大数据高并发下全域频控系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948437B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040346A (zh) * | 2021-09-22 | 2022-02-11 | 福建省新天地信勘测有限公司 | 一种基于5g网络的档案数字化信息管理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9697226B1 (en) * | 2013-06-28 | 2017-07-04 | Sanmina Corporation | Network system to distribute chunks across multiple physical nodes |
CN108960960A (zh) * | 2018-06-01 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 一种处理高并发数据的方法及服务器 |
CN109358974A (zh) * | 2018-10-17 | 2019-02-19 | 武汉斗鱼网络科技有限公司 | 一种进程间通信的方法及相关装置 |
WO2019127104A1 (zh) * | 2017-12-27 | 2019-07-04 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
CN111178971A (zh) * | 2019-12-30 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 广告投放控制方法、装置、电子设备及存储介质 |
CN111210312A (zh) * | 2020-01-08 | 2020-05-29 | 山东汇贸电子口岸有限公司 | 一种应用于中介选取的分布式在线实时竞价装置及方法 |
CN111400063A (zh) * | 2020-03-13 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种服务器间高并发传输的通讯方法及系统 |
-
2021
- 2021-03-03 CN CN202110235537.6A patent/CN112948437B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9697226B1 (en) * | 2013-06-28 | 2017-07-04 | Sanmina Corporation | Network system to distribute chunks across multiple physical nodes |
WO2019127104A1 (zh) * | 2017-12-27 | 2019-07-04 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
CN111602377A (zh) * | 2017-12-27 | 2020-08-28 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
CN108960960A (zh) * | 2018-06-01 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 一种处理高并发数据的方法及服务器 |
CN109358974A (zh) * | 2018-10-17 | 2019-02-19 | 武汉斗鱼网络科技有限公司 | 一种进程间通信的方法及相关装置 |
CN111178971A (zh) * | 2019-12-30 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 广告投放控制方法、装置、电子设备及存储介质 |
CN111210312A (zh) * | 2020-01-08 | 2020-05-29 | 山东汇贸电子口岸有限公司 | 一种应用于中介选取的分布式在线实时竞价装置及方法 |
CN111400063A (zh) * | 2020-03-13 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种服务器间高并发传输的通讯方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040346A (zh) * | 2021-09-22 | 2022-02-11 | 福建省新天地信勘测有限公司 | 一种基于5g网络的档案数字化信息管理系统 |
CN114040346B (zh) * | 2021-09-22 | 2024-02-06 | 福建省新天地信勘测有限公司 | 一种基于5g网络的档案数字化信息管理系统与管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112948437B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060224639A1 (en) | Backup system, program and backup method | |
CN103854214B (zh) | 竞拍数据的处理方法及系统 | |
US6968382B2 (en) | Activating a volume group without a quorum of disks in the volume group being active | |
TW201738759A (zh) | 快速系統狀態仿製 | |
WO2022095366A1 (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
CN109918352B (zh) | 存储器系统和存储数据的方法 | |
CN113190384B (zh) | 基于纠删码的数据恢复控制方法、装置、设备及介质 | |
CN104298474A (zh) | 一种基于服务端与外部缓存系统的外接式计算设备加速方法与实现该方法的设备 | |
CN101673217B (zh) | 一种实现远端程序调用的方法和系统 | |
CN112948437A (zh) | 一种大数据高并发下全域频控系统及方法 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
CN114896215A (zh) | 元数据的存储方法及装置 | |
CN116501264B (zh) | 一种数据存储方法、装置、系统、设备及可读存储介质 | |
CN103491124A (zh) | 一种对彩信数据进行处理的方法及分布式缓存系统 | |
CN110096295B (zh) | 基于ReactNative的多模块移动应用的热更新方法及系统 | |
CN117290395A (zh) | 优惠券库存管理方法、装置、存储介质及处理器 | |
AU2020203282A1 (en) | Method and system for matching multi-dimensional data units in electronic information system | |
CN114356970B (zh) | 一种存储系统资源缓存方法及装置 | |
CN115080625B (zh) | 基于Spring Cache缓存框架的缓存方法、装置、设备及存储介质 | |
CN113297211B (zh) | 一种大数据高并发下人群画像存储及定向系统及方法 | |
CN114489770A (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN114722261A (zh) | 一种资源的处理方法、装置、电子设备及存储介质 | |
CN118152154B (zh) | 基于共享内存开发的通讯控制方法、系统和可读存储介质 | |
CN112015586B (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 |