CN114579387A - 自定义nginx系统的配置方法、数据处理方法、装置 - Google Patents
自定义nginx系统的配置方法、数据处理方法、装置 Download PDFInfo
- Publication number
- CN114579387A CN114579387A CN202011374554.XA CN202011374554A CN114579387A CN 114579387 A CN114579387 A CN 114579387A CN 202011374554 A CN202011374554 A CN 202011374554A CN 114579387 A CN114579387 A CN 114579387A
- Authority
- CN
- China
- Prior art keywords
- module
- custom
- target data
- nginx
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 170
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 120
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000012544 monitoring process Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 19
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 241000798734 Archaeorhizomycetes Species 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
- G06F9/505—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 considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种自定义nginx系统的配置方法,包括:获取并编译nginx系统的源代码;在编译的过程中,禁用nginx系统的http服务模块,并将自定义模块添加到nginx系统,以完成对自定义nginx系统的配置,其中,自定义模块用于解析流量数据集,得到目标数据,并针对目标数据执行数据处理操作。本公开还提供了一种基于自定义nginx系统的数据处理方法、装置、电子设备、介质和程序产品。
Description
技术领域
本公开涉及一种自定义nginx系统的配置方法、数据处理方法、装置、电子设备、介质和程序产品。
背景技术
网络流量数据采集程序对网络流量数据进行采集的过程涉及到与底层网卡驱动程序的交互,而底层网卡驱动程序所依赖的程序库基于底层的C语言库,因此导致开发网络流量数据采集程序的效率低,稳定性差。
发明内容
本公开的一个方面提供了自定义nginx系统的配置方法,包括:获取并编译nginx系统的源代码;在所述编译的过程中,禁用所述nginx系统的http服务模块,并将自定义模块添加到所述nginx系统,以完成对所述自定义nginx系统的配置,其中,所述自定义模块用于解析流量数据集,得到目标数据,并针对所述目标数据执行数据处理操作。
可选地,所述http服务模块包括网络通信协议模块、代理模块和缓存模块中的至少一个;所述禁用所述http服务模块,包括:通过修改所述nginx系统的配置参数来禁用所述网络通信协议模块、所述代理模块和所述缓存模块中的至少一个。
可选地,所述将自定义模块添加到所述nginx系统包括:根据所述自定义模块的代码文件的存储地址,生成添加指令;以及利用所述添加指令将所述自定义模块添加到所述nginx系统。
可选地,所述流量数据集为多个,其中,所述自定义模块包括以下模块中的至少一个:存包模块,用于为多个流量数据集中的每个流量数据集启动一个第一进程,通过所述第一进程解析所述流量数据集,以得到目标数据,并将所述目标数据存储在共享内存队列;入库索引创建模块,用于启动第二进程,通过第二进程从共享内存队列中获取目标数据,并将所述目标数据写入数据库;以及后台监控模块,用于启动第三进程,通过所述第三进程监控所述数据库和/或与所述数据库相关的硬件信息,并在所述数据库和/或所述硬件信息出现异常的情况下,生成报警信息。
本公开的另一个方面提供了一种基于自定义nginx系统的自定义nginx系统的配置方法、数据处理方法,所述自定义nginx系统包括自定义模块,所述自定义模块用于解析流量数据,并基于解析结果执行数据处理;所述方法包括:利用自定义nginx系统获取流量数据集;利用所述自定义nginx系统中的自定义模块解析所述流量数据集,得到目标数据,并针对所述目标数据执行数据处理操作。
可选地,所述自定义模块包括存包模块;所述流量数据集为多个,所述利用所述自定义模块解析所述流量数据集,得到目标数据,包括:利用存包模块为多个流量数据集中的每个流量数据集启动一个第一进程;以及通过所述第一进程解析所述流量数据集,以得到目标数据,并将所述目标数据存储在共享内存队列。
可选地,所述自定义模块还包括入库索引创建模块;所述针对所述目标数据执行数据处理操作,包括:利用入库索引创建模块启动第二进程;以及通过第二进程从共享内存队列中获取目标数据,并将所述目标数据写入数据库。
可选地,所述获取流量数据集包括:从网卡处获取原始流量数据;以及根据流量负载信息,将所述原始流量数据分成多个流量数据集。
可选地,所述自定义模块还包括后台监控模块;所述方法还包括:利用所述后台监控模块启动第三进程,通过所述第三进程监控所述数据库和/或与所述数据库相关的硬件信息;以及在所述数据库和/或所述硬件信息出现异常的情况下,生成报警信息。
可选地,所述方法还包括:通过主进程管理所述第一进程、所述第二进程和所述第三进程;以及在所述第一进程、所述第二进程或所述第三进程出现异常的情况下,通过所述主进程重新启动所述第一进程、所述第二进程或所述第三进程。
本公开的另一个方面提供了一种基于自定义nginx系统的数据处理装置,包括:获取模块,用于获取流量数据集;以及自定义模块,用于解析所述流量数据集,得到目标数据,并针对所述目标数据执行数据处理操作。
可选地,所述自定义模块包括存包模块;所述流量数据集为多个,所述存包模块,用于:为多个流量数据集中的每个流量数据集启动一个第一进程;以及通过所述第一进程解析所述流量数据集,以得到目标数据,并将所述目标数据存储在共享内存队列。
可选地,所述自定义模块还包括:入库索引创建模块,用于启动第二进程;以及通过第二进程从共享内存队列中获取目标数据,并将所述目标数据写入数据库。
可选地,所述自定义模块还包括:后台监控模块,用于启动第三进程,通过所述第三进程监控所述数据库和/或与所述数据库相关的硬件信息;以及在所述数据库和/或所述硬件信息出现异常的情况下,生成报警信息。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过禁用所述nginx系统的http服务模块,以裁剪nginx系统原有的http服务的业务逻辑,并添加自定义模块,以注入流量处理业务逻辑,从而将nginx系统改造成可以用于处理流量数据的自定义nginx系统,开发效率较高。另外,利用该自定义nginx系统采集处理流量数据,处理过程稳定性较高。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的可以应用自定义nginx系统的配置方法、数据处理方法的示例性系统架构;
图2示意性示出了根据本公开的实施例的自定义nginx系统的配置方法、数据处理方法的流程图;
图3示意性示出了根据本公开的实施例的获取多个流量数据集的流程图;
图4示意性示出了根据本公开实施例的进程管理模型的架构图;
图5A示意性示出了根据本公开的实施例的数据处理装置的框图;
图5B示意性示出了根据本公开的实施例的处理模块的框图;以及
图6示意性示出了根据本公开实施例的适于实现根据本公开实施例的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种自定义nginx系统的配置方法。该方法包括获取并编译nginx系统的源代码;在编译的过程中,禁用nginx系统的http服务模块,并将自定义模块添加到nginx系统,以完成对自定义nginx系统的配置,其中,自定义模块用于解析流量数据集,得到目标数据,并针对目标数据执行数据处理操作。
本公开的实施例还提供了一种基于自定义nginx系统的数据处理方法,自定义nginx系统包括自定义模块,自定义模块用于解析流量数据,并基于解析结果执行数据处理;该方法包括:利用自定义nginx系统获取流量数据集;利用自定义nginx系统中的自定义模块解析流量数据集,得到目标数据,并针对目标数据执行数据处理操作。
图1示意性示出了根据本公开实施例的可以应用自定义nginx系统的配置方法、数据处理方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括网络101、服务器102和数据库103。
服务器102可以用于采集网络中流量数据的流量数据采集服务器。流量数据采集服务器可以对接收到的流量数据进行解析、合并等处理,并将处理结果(例如根据流量数据获取或生成的数据等)存储至数据库103。数据库103可以用于接收服务器102生成的数据,并将这些数据进行存储。
需要说明的是,本公开实施例所提供的自定义nginx系统的配置方法、数据处理方法一般可以由服务器102执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于服务器102中。本公开实施例所提供的自定义nginx系统的配置方法、数据处理方法也可以由不同于服务器102且能够与服务器102通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据处理装置也可以设置于不同于服务器102且能够与服务器102通信的服务器或服务器集群中。
应该理解,图1中的网络、服务器和数据库的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络、服务器和数据库。
图2示意性示出了根据本公开的实施例的自定义nginx系统的配置方法、数据处理方法的流程图。
根据本公开的实施例的自定义nginx系统的配置方法、数据处理方法可以由服务器来执行。在服务器未配置有自定义nginx系统的情况下,需要首先为服务器配置自定义nginx系统。如图2所示,自定义nginx系统的配置方法例如可以包括以下操作S210~S220。
在操作S210,获取并编译nginx系统的源代码。
在操作S220,在编译的过程中,禁用nginx系统的http服务模块,并将自定义模块添加到nginx系统,以完成对自定义nginx系统的配置。
其中,自定义模块可以用于解析流量数据集,得到目标数据,并针对目标数据执行数据处理操作。
根据本公开的实施例,http服务模块为用于实现nginx系统本身的主要业务逻辑的模块,例如可以包括网络通信协议模块、代理模块和缓存模块,其中,网络通信协议模块例如可以包括FastCGI协议模块、uWSGI协议模块和SCGI协议模块。可以通过修改nginx系统的配置参数来禁用网络通信协议模块、代理模块和缓存模块。
例如,可以在安装配置信息中加入以下without参数,以禁用nginx系统本身的http服务模块。
--without-http_fastcgi_module
--without-http_uwsgi_module
--without-http_scgi_module
--without-http_proxy_module
--without-http_memcached_module
其中,fastcgi_module表示FastCGI协议模块,uwsgi_module表示uWSGI协议模块,scgi_module表示SCGI协议模块,proxy_module表示代理模块,memcached_module表示缓存模块。
根据本公开的实施例,自定义模块为预先编写的网络流量处理的程序。需要说明的是,自定义模块不是原始nginx系统自带的模块,而是需要根据实际业务需求根据nginx模块开发接口编写而成的。可以将自定义模块的代码文件预先存储至预设的存储地址,然后根据自定义模块的代码文件的存储地址,生成添加指令,利用添加指令将自定义模块添加到nginx系统。
示例性地,本实施例中,自定义模块例如可以包括存包模块和入库索引创建模块和后台监控处理模块。其中,存包模块可以用于获取流量数据集,并对流量数据集进行分析等处理,生成目标数据。入库索引创建模块可以用于将目标数据记录入库。后台监控处理模块可以用于监控数据库和磁盘等。根据本公开的实施例,可以通过以下add-module指令添加自定义模块。
--add-module=$cur/tm_src/dgram/pcap_dump
--add-module=$cur/tm_src/dgram/index
--add-module=$cur/tm_src/dgram/monitor
其中,$cur/tm_src/dgram/pcap_dump表示存包模块的存储地址,$cur/tm_src/dgram/index表示入库索引创建模块的存储地址,$cur/tm_src/dgram/monitor表示监控模块的存储地址。
需要说明的是,上述自定义模块仅为示例,在实际应用的过程中,还可以根据实际需求修改、合并或删除上述自定义模块,或添加其他自定义模块。
在配置自定义nginx系统之后,如图2所示,可以执行操作S230~S240,以对流量数据进行处理。
具体地,在操作S230,利用自定义nginx系统获取流量数据集。
根据本公开的实施例,可以利用自定义nginx系统从网卡处获取流量数据集,流量数据集可以包括一个或多个流量数据。本实施例中,当网卡接收的流量数据的数据量较大时,可以针对流量负载情况进行负载均衡,将流量数据分成多个流量数据集分别进行处理,从而流量减轻负载压力。基于此,图3示意性示出了根据本公开的实施例的获取流量数据集的流程图。如图3所示,在操作S230例如可以包括操作S331~S332。
在操作S331,从网卡处获取原始流量数据。
在操作S332,根据流量负载信息,将原始流量数据分成多个流量数据集。
根据本公开的实施例,可以通过基于PF_RING(一种高速数据包捕获库)的网卡收包程序从网卡获取流量数据。然后根据服务器的负载情况将流量数据分成N份(N为正整数),每份流量数据作为一个流量数据集,包括1/N的总流量数据。以PF_RING的zc(zerocopy,零拷贝)模式为例,可以将流量数据分成zc:1@0、zc:1@1、zc:1@2…zc:1@N共N个流量数据集。
根据本公开的实施例,通过从网卡直接获取流量数据,可以数据拷贝次数,提高数据处理效率。另外,根据流量负载信息,将原始数据流量分成多个流量数据集,可以更合理地分配负载,避免服务器过载。
继续回到图2,在操作S240,利用自定义nginx系统中的自定义模块解析流量数据集,得到目标数据,并针对目标数据执行数据处理操作。
示例性地,本实施例中,处理操作例如可以包括将数据写入数据库的操作,但本公开不限于此,在实际应用的过程中,处理操作也可以包括其他数据处理操作。
根据本公开的实施例,可以利用存包模块获取流量数据集,然后为获取的流量数据集中的每个流量数据集启动一个第一进程。例如N个流量数据集,则相应地启动N个第一进程。每个第一进程可以通过PF_RING的API(应用程序接口)分别从zc:1@0、zc:1@1、…zc:1@N获取一个流量数据集,然后解析该流量数据集,以得到目标数据,并将目标数据存储在共享内存队列。
然后,利用入库索引创建模块启动第二进程,通过第二进程从共享内存队列中获取目标数据,并将目标数据中写入数据库。需要说明的是,在通过第二进程从共享内存队列中获取目标数据的过程中,可以一次获取共享内存队列中的所有目标数据,也可以分多次获取,本公开对此不作具体限定。
nginx系统本身是一个web服务器系统,无法直接用于网络流量的处理。根据本公开的实施例,通过禁用nginx系统的http服务模块,以裁剪nginx系统原有的http服务的业务逻辑,并添加自定义模块,以注入流量处理业务逻辑,从而将nginx系统改造成可以用于处理流量数据的自定义nginx系统。由于自定义nginx系统基于nginx系统,而nginx系统采用C语言进行编写,因此在与同样基于C语言的网络驱动程序进行交互时稳定性较高。另外,nginx系统提供了一些基于C语言的基础数据结构的组件,例如nginx的内存池、线程池、配置解析、lua模块支持、链表、红黑树等等,可以较大程度地提高开发效率。
根据本公开的实施例,为了进一步提高流量数据处理时的稳定性,还可以利用后台监控模块启动第三进程,通过第三进程监控数据库和/或与数据库相关的硬件信息,例如可以对数据库的结构、响应时间、存储过程等进行监控,又例如可以对服务器的CPU负载、可用内存、磁盘空间、硬件温度等进行监控。在数据库和/或硬件信息出现异常的情况下,生成报警信息。
根据本公开的实施例,可以利用nginx系统的进程管理模型管理与流量数据处理相关的进程,实现流量处理系统的自我维护。图4示意性示出了根据本公开实施例的进程管理模型的架构图。如图4所示,一个nginx进程组中可以包含一个master进程(主进程)和若干不同类型的worker进程,其中,不同类型的worker进程可以用于完成不同的业务,例如业务1和业务2,master进程可以用于对各worker进程进行管理,因此进程管理模型的架构较为灵活。
例如,本实施例中,第一进程、第二进程和第三进程可以分别为同一个nginx进程组中不同worker进程,通过nginx进程组的主进程管理第一进程、第二进程和第三进程。在第一进程、第二进程或第三进程出现异常的情况下,通过主进程重新启动第一进程、第二进程或第三进程。
根据本公开的实施例,由于nginx系统的进程管理模型较为完善,通过使用nginx系统的进程管理模型管理与流量数据处理相关的进程,一方面可以提高网络流量数据采集的效率和稳定性,另一方面可以避免另行开发进程管理系统,节省了开发成本。
图5A示意性示出了根据本公开的实施例的基于自定义nginx系统的数据处理装置的框图。
如图5A所示,数据处理装置500包括获取模块510和自定义模块520。该数据处理装置500可以执行上面参考图2和图3描述的方法。
具体地,获取模块510,可以用于获取流量数据集。
自定义模块520,可以用于解析流量数据集,得到目标数据,并针对目标数据执行数据处理操作。
根据本公开的实施例,流量数据集可以为多个。
图5B示意性示出了根据本公开的实施例的处理模块的框图。
如图5B所示,自定义模块520例如可以包括:存包模块521、入库索引创建模块522和后台监控模块523。
存包模块521,可以用于为多个流量数据集中的每个流量数据集启动一个第一进程;以及通过第一进程解析流量数据集,以得到目标数据,并将目标数据存储在共享内存队列。
入库索引创建模块522,可以用于启动第二进程;以及通过第二进程从共享内存队列中获取目标数据,并将目标数据写入数据库。
后台监控模块523,可以用于启动第三进程,通过第三进程监控数据库和/或与数据库相关的硬件信息;以及在数据库和/或硬件信息出现异常的情况下,生成报警信息。
根据本公开的实施例,通过禁用nginx系统的http服务模块,以裁剪nginx系统原有的http服务的业务逻辑,并添加自定义模块,以注入流量处理业务逻辑,从而将nginx系统改造成可以用于处理流量数据的自定义nginx系统,开发效率较高。另外,利用该自定义nginx系统采集处理流量数据,处理过程稳定性较高。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块510和自定义模块520,或者存包模块521、入库索引创建模块522和后台监控模块523中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块510和自定义模块520,或者存包模块521、入库索引创建模块522和后台监控模块523中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或同件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块510和自定义模块520,或者存包模块521、入库索引创建模块522和后台监控模块523中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括处理器610、计算机可读存储介质620以及网卡630。该计算机系统600可以执行根据本公开实施例的方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
网卡630可以用于连接计算机与网络,使计算机能够与网络进行通讯。
计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,获取模块510和自定义模块520,或者存包模块521、入库索引创建模块522和后台监控模块523中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (15)
1.一种自定义nginx系统的配置方法,包括:
获取并编译nginx系统的源代码;
在所述编译的过程中,禁用所述nginx系统的http服务模块,并将自定义模块添加到所述nginx系统,以完成对所述自定义nginx系统的配置,其中,所述自定义模块用于解析流量数据集,得到目标数据,并针对所述目标数据执行数据处理操作。
2.根据权利要求1所述的方法,其中,所述http服务模块包括网络通信协议模块、代理模块和缓存模块中的至少一个;所述禁用所述http服务模块,包括:
通过修改所述nginx系统的配置参数来禁用所述网络通信协议模块、所述代理模块和所述缓存模块中的至少一个。
3.根据权利要求2所述的方法,其中,所述将自定义模块添加到所述nginx系统包括:
根据所述自定义模块的代码文件的存储地址,生成添加指令;以及
利用所述添加指令将所述自定义模块添加到所述nginx系统。
4.根据权利要求1至3中任意一项所述的方法,所述流量数据集为多个,其中,所述自定义模块包括以下模块中的至少一个:
存包模块,用于为多个流量数据集中的每个流量数据集启动一个第一进程,通过所述第一进程解析所述流量数据集,以得到目标数据,并将所述目标数据存储在共享内存队列;
入库索引创建模块,用于启动第二进程,通过第二进程从共享内存队列中获取目标数据,并将所述目标数据写入数据库;以及
后台监控模块,用于启动第三进程,通过所述第三进程监控所述数据库和/或与所述数据库相关的硬件信息,并在所述数据库和/或所述硬件信息出现异常的情况下,生成报警信息。
5.一种基于自定义nginx系统的数据处理方法,所述自定义nginx系统包括自定义模块,所述自定义模块用于解析流量数据,并基于解析结果执行数据处理;所述方法包括:
利用自定义nginx系统获取流量数据集;
利用所述自定义nginx系统中的自定义模块解析所述流量数据集,得到目标数据,并针对所述目标数据执行数据处理操作。
6.根据权利要求5所述的方法,其中,所述流量数据集为多个,所述自定义模块包括存包模块;所述利用所述自定义模块解析所述流量数据集,得到目标数据,包括:
利用存包模块为多个流量数据集中的每个流量数据集启动一个第一进程;以及
通过所述第一进程解析所述流量数据集,以得到目标数据,并将所述目标数据存储在共享内存队列。
7.根据权利要求6所述的方法,其中,所述自定义模块还包括入库索引创建模块;所述针对所述目标数据执行数据处理操作,包括:
利用入库索引创建模块启动第二进程;以及
通过第二进程从共享内存队列中获取目标数据,并将所述目标数据写入数据库。
8.根据权利要求5所述的方法,其中,所述获取流量数据集包括:
从网卡处获取原始流量数据;以及
根据流量负载信息,将所述原始流量数据分成多个流量数据集。
9.根据权利要求7所述的方法,其中,所述自定义模块还包括后台监控模块;所述方法还包括:
利用所述后台监控模块启动第三进程,通过所述第三进程监控所述数据库和/或与所述数据库相关的硬件信息;以及
在所述数据库和/或所述硬件信息出现异常的情况下,生成报警信息。
10.根据权利要求9所述的方法,还包括:
通过主进程管理所述第一进程、所述第二进程和所述第三进程;以及
在所述第一进程、所述第二进程或所述第三进程出现异常的情况下,通过所述主进程重新启动所述第一进程、所述第二进程或所述第三进程。
11.一种基于自定义nginx系统的数据处理装置,包括:
获取模块,用于获取流量数据集;以及
自定义模块,用于解析所述流量数据集,得到目标数据,并针对所述目标数据执行数据处理操作。
12.根据权利要求11所述的装置,其中,所述流量数据集为多个,所述自定义模块包括以下模块中的至少一个:
存包模块,用于为多个流量数据集中的每个流量数据集启动一个第一进程;以及通过所述第一进程解析所述流量数据集,以得到目标数据,并将所述目标数据存储在共享内存队列;
入库索引创建模块,用于启动第二进程;以及通过第二进程从共享内存队列中获取目标数据,并将所述目标数据写入数据库;以及
后台监控模块,用于启动第三进程,通过所述第三进程监控所述数据库和/或与所述数据库相关的硬件信息;以及在所述数据库和/或所述硬件信息出现异常的情况下,生成报警信息。
13.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序,
其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现权利要求1至10中任一项的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至10中任一项的方法。
15.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现根据权利要求1~10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011374554.XA CN114579387A (zh) | 2020-11-30 | 2020-11-30 | 自定义nginx系统的配置方法、数据处理方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011374554.XA CN114579387A (zh) | 2020-11-30 | 2020-11-30 | 自定义nginx系统的配置方法、数据处理方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579387A true CN114579387A (zh) | 2022-06-03 |
Family
ID=81767016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011374554.XA Pending CN114579387A (zh) | 2020-11-30 | 2020-11-30 | 自定义nginx系统的配置方法、数据处理方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579387A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040578A1 (en) * | 2012-08-06 | 2014-02-06 | International Business Machines Corporation | Managing data set volume table of contents |
CN107809350A (zh) * | 2017-10-09 | 2018-03-16 | 北京京东尚科信息技术有限公司 | 获取http服务器性能数据的方法和装置 |
CN110457182A (zh) * | 2019-08-12 | 2019-11-15 | 首约科技(北京)有限公司 | 一种负载均衡集群实例运行指标监控系统 |
CN111083008A (zh) * | 2019-11-25 | 2020-04-28 | 江苏艾佳家居用品有限公司 | 一种基于nginx的流量采集分析方法 |
CN111782673A (zh) * | 2020-07-13 | 2020-10-16 | 中国工商银行股份有限公司 | 数据的处理方法、装置、计算设备和介质 |
-
2020
- 2020-11-30 CN CN202011374554.XA patent/CN114579387A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040578A1 (en) * | 2012-08-06 | 2014-02-06 | International Business Machines Corporation | Managing data set volume table of contents |
CN107809350A (zh) * | 2017-10-09 | 2018-03-16 | 北京京东尚科信息技术有限公司 | 获取http服务器性能数据的方法和装置 |
CN110457182A (zh) * | 2019-08-12 | 2019-11-15 | 首约科技(北京)有限公司 | 一种负载均衡集群实例运行指标监控系统 |
CN111083008A (zh) * | 2019-11-25 | 2020-04-28 | 江苏艾佳家居用品有限公司 | 一种基于nginx的流量采集分析方法 |
CN111782673A (zh) * | 2020-07-13 | 2020-10-16 | 中国工商银行股份有限公司 | 数据的处理方法、装置、计算设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10505830B2 (en) | Container monitoring configuration deployment | |
CN109639652B (zh) | 一种基于安全隔离的网间数据访问的方法及系统 | |
US11132356B2 (en) | Optimizing data entries in a log | |
US8458666B2 (en) | Methods and systems for implementing a test automation framework for testing software applications on UNIX/LINUX based machines | |
US9959421B2 (en) | System and method for monitoring and diagnostics in a multitenant application server environment | |
US9811443B2 (en) | Dynamic trace level control | |
US8560819B2 (en) | Software execution using multiple initialization modes | |
US10025827B1 (en) | Operator fusion management in a stream computing environment | |
US9075917B2 (en) | Testing framework for dynamic web pages | |
US20190207823A1 (en) | Dynamic delivery of software functions | |
US10025671B2 (en) | Smart virtual machine snapshotting | |
US10984014B2 (en) | Integrating multiple distributed data processing servers with different data partitioning and routing mechanisms, resource sharing policies and lifecycles into a single process | |
US9785507B2 (en) | Restoration of consistent regions within a streaming environment | |
CN111158945B (zh) | 内核故障处理方法、装置、网络安全设备和可读存储介质 | |
KR102118487B1 (ko) | 지속적인 통합 및 배포를 위한 컨테이너 기반 애플리케이션의 자동 품질검사 시스템 및 방법 | |
CN114489954A (zh) | 基于虚拟化平台的租户创建方法、租户访问方法及设备 | |
JP2021163475A (ja) | ログベースのマッシュアップのコード生成 | |
US11526379B2 (en) | Application building in a distributed computing environment | |
CN112416700A (zh) | 分析启动的预测性故障和smart日志 | |
CN114579387A (zh) | 自定义nginx系统的配置方法、数据处理方法、装置 | |
US10462234B2 (en) | Application resilience system and method thereof for applications deployed on platform | |
KR101977602B1 (ko) | 마이크로서비스관리장치 및 방법 | |
CN110870275A (zh) | 共享存储器文件传输 | |
US11527152B2 (en) | Preemptive traffic routing based on parsing of emergency dispatches | |
CN112882892A (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 |