处理数据请求及获取服务器信息的方法及装置的制造方法_3

文档序号:9790818阅读:来源:国知局
的标识、可处理的数据业务类型及IP地址等;随后,在业务服务器信息列表中查找用于处理A商家购买业务的数据请求的所有可用业务服务器为服务器Serverl和Served,获取服务器Serverl和Server2的标识信息和IP地址。
[0113]在一优选实施例中,确定与数据请求相匹配的业务服务器的步骤包括步骤S222(图中未示出);步骤S222:对获取的与数据请求对应的所有可用业务服务器进行负载均衡,以确定与数据请求相匹配的业务服务器。
[0114]例如,发现服务器接收到4条购买A商家商品的数据请求Requestl、Request2、Request3和Request4,对获取的与数据请求对应的所有可用业务服务器Server]^PServer2进行负载均衡,可确定业务服务器Serverl处理数据请求Requestl和Request2,业务服务器Server2 处理数据请求 Reques t3 和Reques t4。
[0115]优选地,步骤S222包括步骤S2221 (图中未示出)和步骤S2222(图中未示出)。步骤S2221:获取各个业务服务器的业务分配权重;步骤S2222:结合业务分配权重,对获取的与数据请求对应的所有可用业务服务器进行负载均衡,以确定与数据请求相匹配的业务服务器。
[ΟΙ16] 例如,发现服务器接收到4条购买A商家商品的数据请求Requestl、Request2、Request3和Request4,获取到业务服务器361^61'1和361^612的处理购买4商家商品的业务分配权重为0.75和0.25,结合该业务分配权重,对获取的与购买A商家商品的数据请求对应的所有可用业务服务器Serverl和Server2进行负载均衡,可得到业务服务器Serverl可处理4*0.75条即3条该业务数据请求,服务器Serverf可处理4*0.25条即I条该业务数据请求,可确定业务服务器361^61'1处理数据请求1^卩11681:1、1^卩1168丨2和1^卩1168丨3,业务服务器Server2处理数据请求Request4。
[0117]在一优选实施例中,该方法还包括步骤S240 (图中未示出)和步骤S250 (图中未示出)。步骤S240:分别发送用于检测各个业务服务器的工作状态的检测指令;步骤S250:根据各个业务服务器对检测指令的响应更新可用业务服务器信息列表。
[0118]其中,根据各个业务服务器对检测指令的响应更新可用业务服务器信息列表,具体包括:
[0119]若未接收到可用业务服务器信息列表中任一业务服务器针对检测指令的响应时,在服务器信息列表中删除该业务服务器的相关信息。
[0120]例如,发现服务器实时向各个业务服务器分别发送用于检测各个业务服务器的工作状态的检测指令,如发现服务器分别向每个业务服务器发送用于检测业务服务器的工作状态的心跳包;由于设备的物理故障或系统故障等原因造成业务服务器Serverf系统奔溃,导致此时业务服务器Serverf无法工作,因此将无法接收到业务服务器Serverf针对心跳包的反馈响应,则在服务器信息列表中删除业务服务器Serverf的相关信息,包括业务服务器Server2的标识、可处理的数据业务类型、和IP地址等。
[0121 ]在又一优选实施例中,该方法还包括步骤S260(图中未示出);步骤S260:若接收到不包括在业务服务器信息列表中的任一业务服务器的广播消息时,在服务器信息列表中添加该业务服务器的相关信息。
[0122]例如,当接收至Ij2亿条的用户支付信息的数据请求,从业务服务器信息列表中得到可处理用户支付业务的服务器为361^61'1和361^612,且361^61'1和361^612同时处理业务数据的总最高量为2.5亿条,因此,增加可处理用户支付业务的服务器Serverf,业务服务器Server3可处理业务数据的最高量为I亿条,Server3发送用于表明其工作状态的广播消息;当发现服务器接收到不包括在业务服务器信息列表中的业务服务器Serverf的广播消息后,在服务器信息列表中添加业务服务器Serverf的相关信息,包括业务服务器Serverf的标识如Serverf、可处理的数据业务类型如支付业务和IP地址等。
[0123]其中,业务服务器具体为运行在一个物理设备上的通过容器技术实现的独立操作系统。
[0124]例如,基于Linux容器技术实现的多服务器系统,在每个容器中装入独立的服务器系统,即每个服务器拥有各自的操作系统,多个服务器系统之间相互独立,且多个服务器系统运行在同一台物理终端设备上,如业务服务器361^61'1、561^612和561^613可运行在一个物理设备上,且业务服务器Server 1、Server2和Server3拥有各自的服务器系统。
[0125]步骤S230:发现服务器发送相匹配的业务服务器的相关信息。
[0126]例如,发现服务器向代理服务器发送相匹配的业务服务器Serverl的标识信息和IP地址。
[0127]如图4所示的具体交互应用场景中,有500百万用户同时通过终端应用程序Appl在网络上购买商品,该500百万用户的终端设备同时向代理服务器发送用于购买商品的数据请求,随后代理服务器根据各个数据请求生成用于获取与数据请求相匹配的业务服务器的标识信息和IP地址的获取请求,并向发现服务器发送获取请求;另一方面,发现服务器实时向各个业务服务器分别发送用于检测各个业务服务器的工作状态的检测指令,如发现服务器分别向每个业务服务器发送用于检测业务服务器的工作状态的心跳包,当发现服务器接收到各个业务服务器响应于心跳包的反馈响应时,可确定与反馈响应相对应的业务服务器工作状态为正常,基于处于正常工作状态的业务服务器的相关信息来生成业务服务器信息列表,列表中包括业务服务器Server 1、Server2和Server3,及其各自可处理的数据业务类型和IP地址等;当发现服务器接收到用于获取与数据请求相匹配的业务服务器的标识信息和IP地址的获取请求后,在发现服务器存储的可用业务服务器信息列表中查找与数据请求对应的所有可用业务服务器的标识信息和IP地址,得到对应的业务服务器为Serverl、Server2和Server3及其各自的标识信息和IP地址,同时可获取到业务服务器Server 1、Server2和Server3的业务分配权重分别为0.5、0.2和0.3,业务服务器361^61'1、361^612和Server3同时处理业务数据的总最高量为300万条,随后增加业务服务器Server4和Server5,业务服务器Server4和Server5同时处理业务数据的总最高量为200万条,随后,利用负载均衡技术,并结合各业务服务器的业务分配权重,可确定业务服务器Serverl处理300万乘以0.5S卩150万条数据请求,业务服务器Serverf处理300万乘以0.2即60万条数据请求,业务服务器Server3处理300乘以0.3即90万条数据请求,业务服务器361^614和361^615分别处理100万条数据请求,随后发现服务器将响应于获取与购买商品的数据请求返回的业务服务器包括业务服务器Server 1、Server2、Server3、Server4和Server5的列表信息发送至代理服务器,代理服务器接收到响应于获取与购买商品的数据请求返回的业务服务器列表信息,基于业务服务器列表信息,代理服务器将来自前端业务的购买商品的数据请求发送至相匹配的业务服务器,如代理服务器根据业务服务器Serverl的标识信息和IP地址将150百万条购买商品的数据请求发送至Serverl,随后业务服务器Serverl可处理该150百万条数据请求,代理服务器向业务服务器Server 2、Server 3、Server4和Server 5发送数据请求的处理方式同业务服务器Serverl,在此不再赘述,随后业务服务器Serverl、Server2、Server3、Server4和Server5处理相应的业务数据请求。
[0128]图5为本发明中另一实施例的一种处理数据请求的装置的结构示意图。
[0129]第一接收模块510接收来自前端业务的数据请求;生成发送模块520根据数据请求生成用于获取与数据请求相匹配的业务服务器的相关信息的获取请求,并发送获取请求;接收发送模块530接收到响应于获取请求返回的业务服务器的相关信息,基于业务服务器的相关信息将数据请求发送至相匹配的业务服务器。
[0130]本发明的实施例中,提出了一种处理数据请求及获取服务器信息的方案,可根据数据请求生成用于获取与数据请求相匹配的业务服务器的相关信息的获取请求,随后根据获取请求,可获取与数据请求对应的所有可用业务服务器的相关信息,并确定与数据请求相匹配的业务服务器,当不存在与数据请求对应的业务服务器时,可自动扩充对应业务服务器的数量,完成处理相应业务数据的请求,并通过可用业务服务器信息列表维护各业务服务器的运行状态,在业务数据请求量激增的情况下也可高效准确处理相应的数据请求。进一步的,对各个业务服务器的业务分配权重,可根据各业务服务器自身的业务数据处理能力合理分配相应业务数据请求,最大限度的发挥各业务服务器的业务处理能力;同时,通过负载均衡技术,使各业务服务器均能够同时处理相应业务数据请求,为高效的处理数据请求提供了有力的保障。更进一步地,各业务服务器为运行在一个物理设备上的通过容器技术实现的各独立操作系统,使得同一个物理设备上可同时运行多个业务服务器,极大地
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1