CN106470163B - 一种信息处理方法、装置和系统 - Google Patents
一种信息处理方法、装置和系统 Download PDFInfo
- Publication number
- CN106470163B CN106470163B CN201510506004.1A CN201510506004A CN106470163B CN 106470163 B CN106470163 B CN 106470163B CN 201510506004 A CN201510506004 A CN 201510506004A CN 106470163 B CN106470163 B CN 106470163B
- Authority
- CN
- China
- Prior art keywords
- qps
- service
- traffic
- server
- memory
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种信息处理方法、装置和系统,其中,所述方法包括:业务服务器获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给QPS计算服务器;所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存;将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
Description
技术领域
本发明涉及互联网技术,特别涉及一种信息处理方法、装置和系统。
背景技术
现在业务系统中,为了防止负载过高造成雪崩,需要给业务进行每秒查询率(Query Per Second,QPS)流量限制。而现在的后台系统大多是异地容灾,由于各地流量大小不一样,会面临QPS多机器分配问题。
现有的技术方案包括:首先,各个业务服务器将业务日志汇总到一台QPS计算服务器;然后,QPS计算服务器通过对日志文件的处理,计算出一天的总业务量和各个业务服务器的单机业务量;接着,通过单机业务量来计算一小时单机业务量的平均值;再按平均值再算出每台业务服务器的流量比例,结果写文件;最后,由文件推送系统将文件推送到各个业务服务器上,由业务进程加载到内存中。业务将以此流量比例分配下一小时的流量QPS。
但是,现有技术存在以下缺陷:
1、无法实时动态适应流量变化
现有技术是以一天或一小时的平均值来分配QPS,无法考虑到各个地域的流量波动。线上业务通常会因为一个tips弹窗,引来一个瞬间的流量峰值,而这个峰值往往只会持续十几分钟至半个小时,因为tips内容上存在地域差异,地域性tips弹出时间都不一致。互联网流量每天也会有固定的早高峰和晚高峰的规律,这些高峰也会因为地域差异,出现一些时间上的差异。如果仅仅参考平均值,有峰值的服务器会因为QPS小而拒绝很多有价值的流量,而其他没有峰值的服务器上很可能会出现QPS过剩的情况。流量峰值过后,很可能下一小时该服务器又被分配了超额了QPS,占用了其他服务器的QPS额度,造成QPS利用不充分,影响别的服务器的QPS份额。
2、文件处理依赖磁盘,增大了故障概率
现在服务器故障大部分为磁盘只读或其他磁盘故障,例如,磁盘已满等。现有技术方案依赖磁盘存储日志文件和计算结果,当磁盘出现故障时则无法进行计算,也就无法推送计算结果。
3、业务需要定时读取文件,增加了业务逻辑的复杂性
业务进程除了处理业务之外,还需要定时读取QPS文件,同时还需要考虑读取数据后的生效逻辑,还需要考虑如果文件没更新的情况,增加了业务逻辑的复杂性。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种信息处理方法、装置和系统。
本发明实施例提供一种信息处理方法,应用于信息处理系统,所述系统包括QPS计算服务器和业务服务器,所述方法包括:
所述业务服务器获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;
所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存;
所述QPS计算服务器将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;
所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
其中,所述业务信息包括第一业务量;
所述业务服务器获取预设的第一时间段内自身的业务信息,并通过API上报所述业务信息给QPS计算服务器,包括:
所述业务服务器统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量;
所述业务服务器将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
其中,所述QPS分配信息包括业务量比例;
所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括:
所述QPS计算服务器根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
所述QPS计算服务器根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
其中,所述QPS分配信息包括QPS分量;
所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括:
所述QPS计算服务器根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
所述QPS计算服务器根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
其中,所述根据所述QPS分配信息进行流量控制包括:
所述业务服务器根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
所述业务服务器根据所述QPS分量进行流量控制。
本发明实施例提供一种信息处理方法,应用于业务服务器,所述方法包括:
获取预设的第一时间段内所述业务服务器的业务信息,并通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;以使所述QPS计算服务器根据所述业务信息得到QPS分配信息,通过API将所述QPS分配信息写入第一内存,并将所述第一内存中的QPS分配信息分发给对应的所述业务服务器的第二内存;
通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
其中,所述QPS分配信息包括业务量比例;
所述根据所述QPS分配信息进行流量控制包括:
根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
根据所述QPS分量进行流量控制。
本发明实施例提供一种信息处理方法,应用于QPS计算服务器,所述方法包括:
根据业务服务器应用程序编程接口API上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存;所述业务信息是业务服务器在预设的第一时间段内获取的;
将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;以使所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
其中,所述业务信息包括第一业务量,所述QPS分配信息包括业务量比例;
所述根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括,
根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
其中,所述业务信息包括第一业务量,所述QPS分配信息包括QPS分量;
所述根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括,
根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
本发明实施例提供一种信息处理系统,所述系统包括QPS计算服务器和业务服务器;
所述业务服务器,用于获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给QPS计算服务器;还用于通过API从第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制;
所述QPS计算服务器,用于根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存;还用于将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;
其中,所述业务信息包括第一业务量;
所述业务服务器,具体用于统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量,将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
其中,所述QPS分配信息包括业务量比例;
所述QPS计算服务器,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
其中,所述QPS分配信息包括QPS分量;
所述QPS计算服务器,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
其中,所述业务服务器,具体用于根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
所述业务服务器根据所述QPS分量进行流量控制。
本发明实施例提供一种业务服务器,应用于信息处理系统,所述系统还包括QPS计算服务器;所述业务服务器包括:
处理单元,用于获取预设的第一时间段内所述业务服务器的业务信息;
上报单元,用于通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;
读内存单元,用于通过API从第二内存中获取QPS分配信息;所述QPS分配信息是所述QPS计算服务器根据所述业务信息得到的,并分发给对应的所述业务服务器的第二内存的;
所述处理单元,还用于根据所述QPS分配信息进行流量控制。
其中,所述QPS分配信息包括业务量比例;
所述处理单元,具体用于根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
根据所述QPS分量进行流量控制。
本发明实施例提供一种QPS计算服务器,应用于信息处理系统,所述系统还包括业务服务器;所述QPS计算服务器包括:
计算单元,用于根据业务服务器通过应用程序编程接口API上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息;所述业务信息是业务服务器在预设的第一时间段内获取的;
写内存单元,用于通过API将所述业务服务器的QPS分配信息写入第一内存;
内存分发单元,用于将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;以使所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
其中,所述业务信息包括第一业务量,所述QPS分配信息包括业务量比例;
所述计算单元,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
其中,所述业务信息包括第一业务量,所述QPS分配信息包括QPS分量;
所述计算单元,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
由上可知,本发明实施例的技术方案应用于信息处理系统,所述系统包括QPS计算服务器和业务服务器,所述业务服务器分别获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存;所述QPS计算服务器将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
由此,本本发明实施例以分钟为粒度实时更新个业务服务器上的QPS分配。当某地流量出现峰值时,QPS计算服务器会立即感知到流量上的倾斜。因此,QPS计算服务器会以当前一分钟的单机流量比例为依据,减少流量少的业务服务器的QPS,重新分配更多QPS给有峰值的业务服务器,让这些业务服务器接受更多的有效流量,避免因QPS分配问题而拦截流量。
本发明实施例根据网络收包进行计算,计算过程是在内存完成,计算结果通过网络发包发送给业务服务器,全程不会写磁盘。因此,不会因为磁盘读写速度而影响计算的速度,也不会因为磁盘故障导致无法正常计算QPS。
本发明实施例业务服务器只需要使用内存分发引擎的应用程序编程接口(Application Programming Interface,API)即可,无需考虑数据的更新和生效问题。
附图说明
图1为业务系统的结构示意图;
图2为本发明提供的一种信息处理方法的第一实施例的流程示意图;
图3为本发明提供的一种信息处理方法的第二实施例的流程示意图;
图4为本发明提供的一种信息处理方法的第三实施例的流程示意图;
图5为本发明提供的另一种信息处理方法的实施例的流程示意图;
图6为本发明提供的又一种信息处理方法的实施例的流程示意图;
图7为本发明提供的一种信息处理系统的实施例的结构示意图;
图8为本发明提供的业务服务器的实施例的结构示意图;
图9为本发明提供的QPS计算服务器的实施例的结构示意图;
图10为本发明提供的一种信息处理方法的应用实例的示意图。
具体实施方式
本发明提供的一种信息处理方法的第一实施例,应用于信息处理系统,所述系统包括QPS计算服务器和业务服务器,如图2所示,所述方法包括:
步骤201、所述业务服务器分别获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器。
这里,所述业务信息包括第一业务量;所述业务服务器分别获取预设的第一时间段内自身的业务信息,并通过API上报所述业务信息给QPS计算服务器,包括:
所述业务服务器分别统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量;
所述业务服务器分别将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
可以理解的是,所述第一时间段可以设置为1秒钟,即每秒上报一次第一业务量。在实际应用中,可以对1秒内处理的有效业务数量进行累加计数,即每完成一个有效业务则计数加1,上报完成后将计数清空为0,下一个1秒重新计数。具体的,可以根据业务ID针对每种都进行业务统计。1秒钟时间到达后将当前累加的数值与业务ID一起组udp包发送给所述QPS计算服务器。组包格式可以为:
pkg=dw_key_value_count+key_value
key_value=(topic_id+sub_id)+ip+count
dw_key_value_count表示本包总的keyValue个数
topic_id表示主业务id
sub_id表示子业务id
ip表示业务服务器ip
count表示该业务服务器上当前一秒的有效业务请求次数
步骤202、所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存。
在一实施例中,所述QPS分配信息包括业务量比例;所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括,
所述QPS计算服务器根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
所述QPS计算服务器根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
在一实施例中,所述QPS分配信息包括QPS分量;所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括,
所述QPS计算服务器根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
所述QPS计算服务器根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
可以理解的是,所述第二时间段可以设置为1分钟,即所述QPS计算服务器每分钟获取所述业务服务器的60次上报。
当然,在实际应用中,可以根据实际情况对所述第一时间段和所述第二时间段进行设置,可以采用定时器进行计时。
具体的,当1分钟定时器到达时,所述QPS计算服务器按照业务ID进行一轮业务量的累加,包括:将同一业务ID的同一业务服务器IP下的业务量进行累加得到该业务的单机业务量,将同一业务ID的各个业务服务器IP下的业务量进行累加得到该业务的总业务量,将所述业务服务器的单机业务量除以总业务量,得到所述业务服务器该业务的业务量比例。
步骤203、所述QPS计算服务器将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存。
步骤204、所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
这里,当所述QPS分配信息包括业务量比例时,所述根据所述QPS分配信息进行流量控制包括:
所述业务服务器根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
所述业务服务器根据所述QPS分量进行流量控制。
不难理解,如果所述业务服务器获取不到本机的QPS分配信息则说明是第一次上报,则第一分钟不进行QPS限制,从第二分钟开始根据下发的QPS分配信息进行QPS限制。
这里需要说明的是,所述第一内存和所述第二内存可以都设置在所述QPS计算服务器,也可以所述第一内存设置在所述QPS计算服务器,所述第二内存设置在所述业务服务器,当然所述第一内存和所述第二内存也可以都设置在所述业务服务器,也就是说本发明对所述第一内存和所述第二内存设置在哪不做任何限定。
本发明提供的一种信息处理方法的第二实施例,应用于信息处理系统,所述系统包括QPS计算服务器和至少两个业务服务器,如图3所示,所述方法包括:
步骤301、各所述业务服务器分别统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量。
步骤302、各所述业务服务器分别将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
步骤303、所述QPS计算服务器根据各所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所有所述业务服务器的总业务量和各所述业务服务器的单机业务量。
步骤304、所述QPS计算服务器根据所述总业务量和各所述单机业务量,计算得到各所述业务服务器的业务量比例。
步骤305、所述QPS计算服务器通过API将各所述业务服务器的业务量比例写入第一内存。
步骤306、所述QPS计算服务器将所述第一内存中的业务量比例分发给各所述业务服务器对应的第二内存。
步骤307、所述业务服务器通过API从所述第二内存中获取业务量比例。
步骤308、所述业务服务器根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量。
步骤309、所述业务服务器根据所述QPS分量进行流量控制。
本发明提供的一种信息处理方法的第三实施例,应用于信息处理系统,所述系统包括QPS计算服务器和至少两个业务服务器,如图4所示,所述方法包括:
步骤401、各所述业务服务器分别统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量。
步骤402、各所述业务服务器分别将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
步骤403、所述QPS计算服务器根据各所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所有所述业务服务器的总业务量和各所述业务服务器的单机业务量。
步骤404、所述QPS计算服务器根据所述总业务量和各所述单机业务量,计算得到各所述业务服务器的业务量比例。
步骤405、所述QPS计算服务器根据各所述业务量比例和预设的QPS总量计算得到各所述业务服务器的QPS分量。
步骤406、所述QPS计算服务器通过API将各所述业务服务器的QPS分量写入第一内存。
步骤407、所述QPS计算服务器将所述第一内存中的QPS分量分发给各所述业务服务器对应的第二内存。
步骤408、所述业务服务器通过API从所述第二内存中获取QPS分量。
步骤409、所述业务服务器根据所述QPS分量进行流量控制。
本发明实施例提供的另一种信息处理方法,应用于业务服务器,如图5所示,所述方法包括:
步骤501、获取预设的第一时间段内所述业务服务器的业务信息,并通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器。
这样,可以使所述QPS计算服务器根据所述业务信息得到QPS分配信息,通过API将所述QPS分配信息写入第一内存,并将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存。
这里,所述业务信息包括第一业务量;所述获取预设的第一时间段内所述业务服务器的业务信息,并通过API上报所述业务信息给QPS计算服务器,包括:统计预设的第一时间段内所述业务服务器的有效业务处理完成的次数,得到所述第一业务量;将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
步骤502、通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
这里,所述QPS分配信息可以包括业务量比例;所述根据所述QPS分配信息进行流量控制包括:根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;根据所述QPS分量进行流量控制。
本发明实施例提供的又一种信息处理方法,应用于QPS计算服务器,如图6所示,所述方法包括:
步骤601,根据业务服务器应用程序编程接口API上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存。
这里,所述业务信息是业务服务器在预设的第一时间段内获取的。
在一实施例中,所述业务信息包括第一业务量,所述QPS分配信息包括业务量比例;所述根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括:
根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
在一实施例中,所述业务信息包括第一业务量,所述QPS分配信息包括QPS分量;所述根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,包括:
根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
步骤602、将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存。
这样,可以使所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
本发明实施例提供一种信息处理系统,如图7所示,所述系统包括QPS计算服务器701和业务服务器702;
所述业务服务器702,用于获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给QPS计算服务器;还用于通过API从第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制;
具体的,所述业务信息包括第一业务量;所述业务服务器702,具体用于统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量,将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
所述QPS计算服务器701,用于根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息,并通过API将所述业务服务器的QPS分配信息写入第一内存;还用于将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;
在一实施例中,所述QPS分配信息包括业务量比例;所述QPS计算服务器701,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
相应的,所述业务服务器702,具体用于根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;所述业务服务器根据所述QPS分量进行流量控制。
在一实施例中,所述QPS分配信息包括QPS分量;所述QPS计算服务器701,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
本发明实施例提供一种业务服务器,如图8所示,应用于信息处理系统,所述系统还包括QPS计算服务器;所述业务服务器包括:
处理单元801,用于获取预设的第一时间段内所述业务服务器的业务信息;
这里,所述业务信息包括第一业务量;处理单元801,具体用于统计预设的第一时间段内所述业务服务器的有效业务处理完成的次数,得到所述第一业务量;将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
上报单元802,用于通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;
读内存单元803,用于通过API从第二内存中获取QPS分配信息;所述QPS分配信息是所述QPS计算服务器根据所述业务信息得到的,并分发给对应的所述业务服务器的第二内存的;
所述处理单元801,还用于根据所述QPS分配信息进行流量控制。
具体的,所述QPS分配信息包括业务量比例;所述处理单元801,具体用于根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
根据所述QPS分量进行流量控制。
本发明实施例提供一种QPS计算服务器,如图9所示,应用于信息处理系统,所述系统还包括业务服务器;所述QPS计算服务器包括:
计算单元901,用于根据业务服务器通过应用程序编程接口API上报的业务信息,得到预设的第二时间段内所述业务服务器的QPS分配信息;所述业务信息是业务服务器在预设的第一时间段内获取的;
在一实施例中,所述业务信息包括第一业务量,所述QPS分配信息包括业务量比例;所述计算单元901,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
在一实施例中,所述业务信息包括第一业务量,所述QPS分配信息包括QPS分量;所述计算单元901,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
写内存单元902,用于通过API将所述业务服务器的QPS分配信息写入第一内存;
内存分发单元903,用于将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;以使所述业务服务器通过API从所述第二内存中获取QPS分配信息,并根据所述QPS分配信息进行流量控制。
本发明实施例以分钟为粒度实时更新业务服务器上的QPS分配。当某地流量出现峰值时,QPS计算服务器会立即感知到流量上的倾斜。因此,QPS计算服务器会以当前一分钟的单机流量比例为依据,减少流量少的业务服务器的QPS,重新分配更多QPS给有峰值的业务服务器,让这些业务服务器接受更多的有效流量,避免因QPS分配问题而拦截流量。
本发明实施例根据网络收包进行计算,计算过程是在内存完成,计算结果通过网络发包发送给业务服务器,全程不会写磁盘。因此,不会因为磁盘读写速度而影响计算的速度,也不会因为磁盘故障导致无法正常计算QPS。
本发明实施例业务服务器只需要使用内存分发引擎的应用程序编程接口(Application Programming Interface,API)即可,无需考虑数据的更新和生效问题。
下面结合图10对本发明的一个应用实例进行介绍。
1、业务逻辑每完成一次有效业务处理,则计数加1。
2、每秒钟调用上报API,进行当前秒数的业务量上报。计数累加结果为要上报的内容,上报完成则清空计数。
3、计算单元每分钟收集所有业务服务器的60次上报,累加出总业务量和单机业务量,进而得到各所述业务服务器的业务量比例。当然,还可以根据QPS总量和业务量比例得到QPS分量。所述QPS总量可以预先写入计算单元的配置中。
4、计算进程调用写内存API,将QPS分量或业务量比例写入内存,交给内存分发单元。
5、内存分发单元实时分发业务量比例和/或QPS分量到业务服务器的内存中。
6、业务逻辑调用读内存API获得当前的业务量比例和/或QPS分量,并根据业务量比例和/或QPS分量进行流量控制。
可以理解的是,当计算进程直接下发各个业务服务器的业务量比例时,业务逻辑可以将QPS总量乘以业务量比例得到单机的QPS分量。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (17)
1.一种信息处理方法,其特征在于,应用于信息处理系统,所述系统包括QPS计算服务器和业务服务器,所述方法包括:
所述业务服务器获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;
当QPS分配信息包括业务量比例时,所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的业务量比例,并通过写内存API将所述业务服务器的业务量比例写入第一内存;
所述QPS计算服务器将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;
其中,所述第一内存和所述第二内存为不同内存;
所述业务服务器通过读内存API从所述第二内存中获取所述业务量比例,并根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量;
所述业务服务器根据所述QPS分量进行流量控制。
2.根据权利要求1所述的方法,其特征在于,所述业务信息包括第一业务量;
所述业务服务器获取预设的第一时间段内自身的业务信息,并通过API上报所述业务信息给所述QPS计算服务器,包括:
所述业务服务器统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量;
所述业务服务器将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
3.根据权利要求2所述的方法,其特征在于,所述QPS计算服务器根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的业务量比例,包括:
所述QPS计算服务器根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
所述QPS计算服务器根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述QPS分配信息包括QPS分量时,
所述QPS计算服务器根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
所述QPS计算服务器根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
5.一种信息处理方法,其特征在于,应用于业务服务器,所述方法包括:
获取预设的第一时间段内所述业务服务器的业务信息,并通过应用程序编程接口API上报所述业务信息给QPS计算服务器,以使当QPS分配信息包括业务量比例时,所述QPS计算服务器根据所述业务信息得到业务量比例,通过写内存API将所述QPS分配信息写入第一内存,并将所述第一内存中的QPS分配信息分发给对应的所述业务服务器的第二内存;
其中,所述第一内存和所述第二内存为不同内存;
通过读内存API从所述第二内存中获取QPS分配信息,根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量,并根据所述QPS分量进行流量控制。
6.一种信息处理方法,其特征在于,应用于QPS计算服务器,所述方法包括:
当QPS分配信息包括业务量比例时,根据业务服务器应用程序编程接口API上报的业务信息,得到预设的第二时间段内所述业务服务器的业务量比例,并通过写内存API将所述业务服务器的QPS分配信息写入第一内存;所述业务信息是业务服务器在预设的第一时间段内获取的;
将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存,以使所述业务服务器通过读内存API从所述第二内存中获取QPS分配信息,根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量,并根据所述QPS分量进行流量控制;
其中,所述第一内存和所述第二内存为不同内存。
7.根据权利要求6所述的方法,其特征在于,所述业务信息包括第一业务量;
所述根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的业务量比例,包括:
根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
8.根据权利要求6所述的方法,其特征在于,所述业务信息包括第一业务量,所述方法还包括:
当所述QPS分配信息包括QPS分量时,
根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
9.一种信息处理系统,其特征在于,所述系统包括QPS计算服务器和业务服务器;
所述业务服务器,用于获取预设的第一时间段内自身的业务信息,并通过应用程序编程接口API上报所述业务信息给QPS计算服务器;还用于通过读内存API从第二内存中获取QPS分配信息,根据获取的业务量比例和预设的QPS总量计算得到QPS分量,并根据所述QPS分量进行流量控制;
所述QPS计算服务器,用于当QPS分配信息包括业务量比例时,根据所述业务服务器上报的业务信息,得到预设的第二时间段内所述业务服务器的业务量比例,并通过写内存API将所述业务服务器的QPS分配信息写入第一内存;还用于将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存;
其中,所述第一内存和所述第二内存为不同内存。
10.根据权利要求9所述的系统,其特征在于,所述业务信息包括第一业务量;
所述业务服务器,具体用于统计自身预设的第一时间段内有效业务处理完成的次数,得到所述第一业务量,将统计得到的所述第一业务量通过API上报给所述QPS计算服务器。
11.根据权利要求10所述的系统,其特征在于,所述QPS计算服务器,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
12.根据权利要求10所述的系统,其特征在于,当所述QPS分配信息包括QPS分量时,
所述QPS计算服务器,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
13.一种业务服务器,其特征在于,应用于信息处理系统,所述系统还包括QPS计算服务器;所述业务服务器包括:
处理单元,用于获取预设的第一时间段内所述业务服务器的业务信息;
上报单元,用于通过应用程序编程接口API上报所述业务信息给所述QPS计算服务器;
读内存单元,用于当QPS分配信息包括业务量比例时,通过读内存API从第二内存中获取业务量比例;所述业务量比例是所述QPS计算服务器根据所述业务信息得到的,并分发给对应的所述业务服务器的第二内存的;
所述处理单元,还用于根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量,并根据所述QPS分量进行流量控制。
14.一种QPS计算服务器,其特征在于,应用于信息处理系统,所述系统还包括业务服务器;所述QPS计算服务器包括:
计算单元,用于当QPS分配信息包括业务量比例时,根据业务服务器通过应用程序编程接口API上报的业务信息,得到预设的第二时间段内所述业务服务器的业务量比例;所述业务信息是业务服务器在预设的第一时间段内获取的;
写内存单元,用于通过写内存API将所述业务服务器的QPS分配信息写入第一内存;
内存分发单元,用于将所述第一内存中的QPS分配信息分发给所述业务服务器对应的第二内存,以使所述业务服务器通过读内存API从所述第二内存中获取QPS分配信息,根据获取的所述业务量比例和预设的QPS总量计算得到QPS分量,并根据所述QPS分量进行流量控制;
其中,所述第一内存和所述第二内存为不同内存。
15.根据权利要求14所述的QPS计算服务器,其特征在于,所述业务信息包括第一业务量;
所述计算单元,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例。
16.根据权利要求14所述的QPS计算服务器,其特征在于,所述业务信息包括第一业务量,当所述QPS分配信息包括QPS分量时,
所述计算单元,具体用于根据所述业务服务器上报的第一业务量,累加得到预设的第二时间段内所述系统中所有所述业务服务器的总业务量和所述业务服务器的单机业务量;
根据所述总业务量和所述单机业务量,计算得到所述业务服务器的业务量比例;
根据所述业务量比例和预设的QPS总量计算得到所述业务服务器的QPS分量。
17.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被执行时实现如权利要求1-4任一项、5或6-8任一项所述的信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510506004.1A CN106470163B (zh) | 2015-08-17 | 2015-08-17 | 一种信息处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510506004.1A CN106470163B (zh) | 2015-08-17 | 2015-08-17 | 一种信息处理方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106470163A CN106470163A (zh) | 2017-03-01 |
CN106470163B true CN106470163B (zh) | 2020-07-07 |
Family
ID=58213642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510506004.1A Active CN106470163B (zh) | 2015-08-17 | 2015-08-17 | 一种信息处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106470163B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247626A (zh) * | 2017-06-14 | 2017-10-13 | 山东开创云软件有限公司 | 一种适用于高并发业务模块调度的方法 |
CN108111333A (zh) * | 2017-11-22 | 2018-06-01 | 链家网(北京)科技有限公司 | 一种基于web的流量限制方法及系统 |
CN108924213B (zh) * | 2018-06-27 | 2021-06-18 | 北京金山安全软件有限公司 | 一种服务器的qps控制方法、装置及电子设备 |
CN109492172A (zh) * | 2018-10-15 | 2019-03-19 | 珠海格力电器股份有限公司 | 产品展示方法及装置 |
CN110460639A (zh) * | 2019-07-12 | 2019-11-15 | 口碑(上海)信息技术有限公司 | 服务器集群的熔断处理方法、装置及系统 |
CN112787850B (zh) * | 2020-12-28 | 2023-05-09 | 北京金山云网络技术有限公司 | 每秒查询率的调整方法、系统、装置及存储介质 |
CN113225228B (zh) * | 2021-04-30 | 2022-10-21 | 北京百度网讯科技有限公司 | 数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055818A (zh) * | 2010-12-30 | 2011-05-11 | 北京世纪互联工程技术服务有限公司 | 分布式智能dns库系统 |
CN104079421A (zh) * | 2013-03-27 | 2014-10-01 | 中国移动通信集团北京有限公司 | 一种域名系统防护的方法和系统 |
CN104580288A (zh) * | 2013-10-15 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种控制客户端请求量的方法及装置 |
CN104767762A (zh) * | 2015-04-28 | 2015-07-08 | 亚信科技(南京)有限公司 | 一种安全防护系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581229B (zh) * | 2012-07-26 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 分布式文件系统、文件访问方法以及客户端 |
US8937949B2 (en) * | 2012-12-20 | 2015-01-20 | Oracle International Corporation | Method and system for Infiniband host channel adapter multicast packet replication mechanism |
-
2015
- 2015-08-17 CN CN201510506004.1A patent/CN106470163B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055818A (zh) * | 2010-12-30 | 2011-05-11 | 北京世纪互联工程技术服务有限公司 | 分布式智能dns库系统 |
CN104079421A (zh) * | 2013-03-27 | 2014-10-01 | 中国移动通信集团北京有限公司 | 一种域名系统防护的方法和系统 |
CN104580288A (zh) * | 2013-10-15 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种控制客户端请求量的方法及装置 |
CN104767762A (zh) * | 2015-04-28 | 2015-07-08 | 亚信科技(南京)有限公司 | 一种安全防护系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106470163A (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106470163B (zh) | 一种信息处理方法、装置和系统 | |
CN110300134B (zh) | 云存储资源池的存储空间调整方法、装置及云存储系统 | |
CN106155780B (zh) | 一种基于时间的节点选举方法及装置 | |
CN105824834B (zh) | 搜索流量作弊行为识别方法及装置 | |
CN111159436B (zh) | 一种推荐多媒体内容的方法、装置及计算设备 | |
CN107426274B (zh) | 基于时序的业务应用及监控分析调度的方法和系统 | |
CN108600300B (zh) | 日志数据处理方法及装置 | |
CN110008050B (zh) | 用于处理信息的方法和装置 | |
CN108540533B (zh) | 一种应答请求的方法和装置 | |
CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及系统 | |
CN110661824B (zh) | 分布式集群中服务器的流量调控方法及存储介质 | |
CN110099108B (zh) | 一种区块链事件去重方法、装置、计算机设备及存储介质 | |
CN104601624A (zh) | 一种数据交互方法和装置 | |
CN110599148A (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN112650575A (zh) | 资源调度方法、装置和云端服务系统 | |
CN113360269A (zh) | 一种任务分配方法、装置、服务器及存储介质 | |
CN113641505B (zh) | 一种服务器集群的资源分配控制方法和装置 | |
CN109542920B (zh) | 一种数据传输方法、装置、介质和电子设备 | |
CN102137091A (zh) | 一种过负荷控制方法、装置、系统及客户端 | |
CN104579753A (zh) | 用户数据统计方法、接入层服务器和统计服务器 | |
CN104052778A (zh) | 分布式的话单统计方法、装置以及系统 | |
CN106131187B (zh) | 一种授权的控制方法及装置 | |
CN107958414B (zh) | 一种清除cics系统长交易的方法及系统 | |
CN107302551B (zh) | 一种服务数据发布方法及装置 | |
CN113382088A (zh) | 手机银行消息推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |