一种数据调度方法和设备与流程

文档序号:29961636发布日期:2022-05-11 09:17阅读:75来源:国知局
一种数据调度方法和设备与流程

1.本发明涉及通信技术领域,特别涉及一种数据调度方法和设备。


背景技术:

2.nginx是一款轻量级的互联网(web)服务器/反向代理服务器以及电子邮件代理服务器。现有技术nginx大量访问时,会自动限流,或者访问直接403拒绝。
3.现有nginx技术采用单点配置的方式,若扩展需要人工干预。目前,nginx技术中存在配置比较不灵活的问题。


技术实现要素:

4.本发明提供一种数据调度方法和设备,用以解决现有技术nginx技术中配置比较不灵活的问题。
5.第一方面,本发明实施例提供的一种数据调度方法包括:
6.nginx主机接收访问请求;
7.所述nginx主机确定所述nginx主机的访问数据量大于门限值;
8.所述nginx主机获取控制策略;
9.所述nginx主机根据所述控制策略处理所述访问请求。
10.上述方法通过制定控制策略,可以灵活配置访问方式,例如,可以在数据访问量过大时可以根据控制策略处理访问请求,如拒绝、转发给其他nginx主机处理等,从而可以提升nginx配置的灵活性。
11.在一种可选的实施方式中,所述nginx主机获取控制策略,包括:所述nginx主机获取非热点访问策略,所述非热点访问策略为使能非热点的nginx主机处理访问请求,所述非热点的nginx主机为访问数据量小于阈值的nginx主机。
12.在一种可选的实施方式中,所述nginx主机根据所述控制策略处理所述访问请求,包括:所述nginx主机确定存在所述非热点的nginx主机;所述nginx主机向所述非热点的nginx主机转发所述访问请求。
13.在一种可选的实施方式中,所述nginx主机根据所述控制策略处理所述访问请求,包括:所述nginx主机确定不存在所述非热点的nginx主机;所述nginx主机向所述nginx备机转发所述转发请求。
14.在一种可选的实施方式中,所述nginx主机获取控制策略,包括:所述nginx主机获取控制访问策略,所述控制访问策略为控制所述nginx主机的访问数据量;所述nginx主机拒绝所述访问请求。
15.第二方面,本发明实施例提供的一种随机接入的网络侧设备,该设备包括:处理器和收发器;
16.其中,收发器,用于接收访问请求;
17.处理器,用于确定nginx主机的访问数据量大于门限值;
18.以及,获取控制策略;
19.以及,根据所述控制策略处理所述访问请求。
20.在一种可选的实施方式中,所述处理器,在获取控制策略时,具体用于:
21.所述nginx主机获取非热点访问策略,所述非热点访问策略为使能非热点的nginx主机处理访问请求,所述非热点的nginx主机为访问数据量小于阈值的nginx主机。
22.在一种可选的实施方式中,所述处理器,在根据所述控制策略处理所述访问请求时,具体用于:
23.确定存在所述非热点的nginx主机;
24.所述收发器,还用于向所述非热点的nginx主机转发所述访问请求。
25.在一种可选的实施方式中,所述处理器,在根据所述控制策略处理所述访问请求时,具体用于:
26.确定不存在所述非热点的nginx主机;
27.所述收发器,还用于向所述nginx备机转发所述转发请求。
28.在一种可选的实施方式中,所述处理器,在获取控制策略时,具体用于:
29.获取控制访问策略,所述控制访问策略为控制所述nginx主机的访问数据量;
30.拒绝所述访问请求。
31.第三方面,本发明实施例还提供一种计算机可存储介质,其上存储有计算机程序,该程序被处理器执行时实现直接通信中任一一种方法的步骤。
32.另外,第二方面至第三方面中任一一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
33.图1为本发明实施例提供的系统的架构示意图;
34.图2为本发明实施例提供的数据调度方法的流程示意图;
35.图3为本发明实施例提供的一种数据调度方法的流程示意图;
36.图4为本发明实施例提供的一种数据调度装置的结构示意图;
37.图5为本发明实施例提供的一种数据调度装置的结构示意图。
具体实施方式
38.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
39.下面对文中出现的一些词语进行解释:
40.1、“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。2、nginx主机:nginx(驱动(engine)x)主机是一个高性能的超文本传输协议(hypertext transfer protocol,http)和反向代理互联网(web)服务器,同时也提供了互联网邮件访问协议(internet message access protocol,imap)/邮局协议版本3
(post office protocol-version 3,pop3)/简单邮件传输协议(simple mail transfer protocol,smtp)服务,负责接收http请求,对请求的统一资源定位符(uniform resource locator,url)进行快速有效的响应处理、接收agent(代理服务)下发的指令进行处理、与缓存数据库(redis)进行交互。
41.3、agent主机:代理服务程序,负责管理分布式的nginx主机、响应各nginx主机的请求、启动nginx备机、回收空闲的nginx主机服务、节点异常告警、守护节点程序等。
42.4、redis数据库:redis即远程字典服务,是一个开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的应用程序编程接口(application programming interface,api),用来存放不同的策略信息,主要同nginx主机交互。
43.5、监控模块:监控agent集群,防止agent代理程序异常退出。
44.本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
45.nginx是一款轻量级的互联网(web)服务器/反向代理服务器以及电子邮件代理服务器。现有技术nginx大量访问时,会自动限流,或者访问直接403拒绝。现有nginx技术采用单点配置的方式,若扩展需要人工干预。目前,nginx技术中存在配置比较不灵活的问题。
46.基于此,本技术实施例提供一种数据调度方法及装置,用于解决nginx技术中存在配置比较不灵活的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
47.下面结合说明书附图对本发明实施例做进一步详细描述。
48.如图1所示,本发明实施例提供的是一种数据调度系统,该系统包括:至少一个客户端、至少一个nginx主机、nginx备机以及agent主机以及redis数据库,还可以包括agent备机,还可以包括监控平台。
49.其中,客户端:用户通过客户端发起http请求。
50.nginx主机:负责接收客户端的http请求。
51.nginx备机:等待被agent主机唤醒的空闲nginx节点。
52.agent主机:负责和nginx主机进行交互,包括启动空闲nginx备机、注销nginx主机的服务等。
53.agent备机:作为agent主机的备用机器,agent主机宕机的时候,会自动启动agent备机作为agent主机,然后发出告警。
54.redis数据库:存放控制策略配置以及主机网络协议(internet protocol,ip)访问量等信息。
55.监控平台:负责处理agent主机发出来的告警,通过短息方式通知运维人员。
56.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。参见图2,为本技术提供的一种通信方法的流程示意图。该方法包括:
57.s201,nginx主机接收访问请求。
58.其中,该访问请求可以是客户端发送的。
59.s202,所述nginx主机确定所述nginx主机的访问数据量大于门限值。
60.s203,所述nginx主机获取控制策略。
61.第一种实现方式中,所述nginx主机可以获取非热点访问策略,所述非热点访问策略为使能非热点的nginx主机处理访问请求,所述非热点的nginx主机为访问数据量小于阈值的nginx主机。其中,阈值与上述门限值可以相同,也可以不同,这里不做具体限定。
62.第二种实现方式中,所述nginx主机也可以获取控制访问策略,所述控制访问策略为控制所述nginx主机的访问数据量。
63.s204,所述nginx主机根据所述控制策略处理所述访问请求。
64.基于上述第一种实现方式,所述nginx主机根据所述控制策略处理所述访问请求时,可以:确定存在所述非热点的nginx主机,则向所述非热点的nginx主机转发所述访问请求。
65.或者,所述nginx主机根据所述控制策略处理所述访问请求时,可以:确定不存在所述非热点的nginx主机,则向所述nginx备机转发所述转发请求。
66.基于上述第二种实现方式,所述nginx主机根据所述控制策略处理所述访问请求时,可以:拒绝所述访问请求。
67.上述方法通过制定控制策略,可以灵活配置访问方式,例如,可以在数据访问量过大时可以根据控制策略处理访问请求,如拒绝、转发给其他nginx主机处理等,从而可以提升nginx配置的灵活性。
68.为了便于对方案的理解,下面结合图3对本发明提供的方案进行具体说明。
69.s301,客户端向nginx主机发送http请求。执行s302。
70.s302,nginx主机判断该nginx主机的访问数据量是否大于门限值。若否,则执行s303。若是,执行s304。
71.s303,nginx主机响应客户端发送http请求。
72.s304,nginx主机读取redis数据库中的控制策略。若读取的是控制访问策略,则执行s305。若读取的是非热点访问策略,则执行s306。
73.s305,nginx主机拒绝该http请求。
74.s306,nginx主机请求agent主机是否存在非热点的nginx主机。若是,则执行s307。若否,则执行s309。
75.s307,nginx主机向非热点的nginx主机转发该http请求。执行s308。
76.s308,非热点的nginx主机响应该http请求。
77.s309,nginx主机请求agent主机启动nginx备机。
78.s310,nginx备机处理该http请求。
79.本发明中控制策略可定制,可灵活控制,因此本发明具备很强的可扩展性,通过不同的定制策略实现不同的访问控制,如可提供访问负载均衡功能、访问可控制、配置可控制。通过本发明在大访问量的时候,效率更高,提升用户感知。并且,本发明增加了redis数据库,可以缓存不同的策略,具有共享性,区别于共享内存的单机独立性,控制策略可定制化。此外,本发明增加了agent主机,可实现访问负载均衡,减少热点节点的压力,降低主机宕机、中央处理器(central processing unit/processor,cpu)占满等风险。并且通过agent代理主机管理nginx主机,可实现“异地多活”。
80.基于同一发明构思,本发明实施例中还提供了一种数据调度装置,由于该装置是本发明实施例一种数据调度系统中的nginx主机,并且该装置解决问题的原理与系统中nginx主机的方法相似,因此该设备的实施可以参见系统中nginx主机的实施,重复之处不再赘述。
81.如图4所示,本发明实施例一种nginx主机,该设备包括处理器1000和收发器1002,还可以包括存储器1001;
82.处理器1000负责管理总线架构和通常的处理,存储器1001可以存储处理器1000在执行操作时所使用的数据。收发机1002用于在处理器1000的控制下接收和发送数据。
83.总线架构可以包括任意数量的互联的总线和桥,具体由处理器1000代表的一个或多个处理器和存储器1001代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器1000负责管理总线架构和通常的处理,存储器1001可以存储处理器1000在执行操作时所使用的数据。
84.本发明实施例揭示的流程,可以应用于处理器1000中,或者由处理器1000实现。在实现过程中,信号处理流程的各步骤可以通过处理器1000中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1000可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1001,处理器1000读取存储器1001中的信息,结合其硬件完成信号处理流程的步骤。
85.具体地,收发器1002,用于接收访问请求;处理器1000,用于确定nginx主机的访问数据量大于门限值;以及,获取控制策略;以及,根据所述控制策略处理所述访问请求。
86.可选的,所述处理器1000,在获取控制策略时,具体用于:所述nginx主机获取非热点访问策略,所述非热点访问策略为使能非热点的nginx主机处理访问请求,所述非热点的nginx主机为访问数据量小于阈值的nginx主机。
87.进一步的,所述处理器1000,在根据所述控制策略处理所述访问请求时,具体用于:确定存在所述非热点的nginx主机;所述收发器1002,还用于向所述非热点的nginx主机转发所述访问请求。
88.或者,所述处理器1000,在根据所述控制策略处理所述访问请求时,具体用于:确定不存在所述非热点的nginx主机;所述收发器1002,还用于向所述nginx备机转发所述转发请求。
89.可选的,所述处理器1000,在获取控制策略时,具体用于:获取控制访问策略,所述控制访问策略为控制所述nginx主机的访问数据量;拒绝所述访问请求。
90.基于相同的思路,如图5所示,本发明实施例提供的另一种nginx主机的结构示意图,该设备包括:
91.收发模块1100:用于接收访问请求;
92.处理模块1101:用于确定nginx主机的访问数据量大于门限值;以及,获取控制策略;以及,根据所述控制策略处理所述访问请求。
93.可选的,处理模块1100,在获取控制策略时,具体用于:获取非热点访问策略,所述非热点访问策略为使能非热点的nginx主机处理访问请求,所述非热点的nginx主机为访问数据量小于阈值的nginx主机。
94.可选的,处理模块1100,在根据所述控制策略处理所述访问请求时,具体用于:确定存在所述非热点的nginx主机;所述收发模块1101,还用于向所述非热点的nginx主机转发所述访问请求。
95.可选的,处理模块1100,在根据所述控制策略处理所述访问请求时,具体用于:确定不存在所述非热点的nginx主机;所述收发模块1101,还用于向所述nginx备机转发所述转发请求。
96.可选的,处理模块1100,在获取控制策略时,具体用于:获取控制访问策略,所述控制访问策略为控制所述nginx主机的访问数据量;拒绝所述访问请求。
97.以上参照示出根据本技术实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本技术。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
98.相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本技术。更进一步地,本技术可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本技术上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
99.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1