CN106959870A - Nginx动态模块加载方法和装置 - Google Patents
Nginx动态模块加载方法和装置 Download PDFInfo
- Publication number
- CN106959870A CN106959870A CN201710091605.XA CN201710091605A CN106959870A CN 106959870 A CN106959870 A CN 106959870A CN 201710091605 A CN201710091605 A CN 201710091605A CN 106959870 A CN106959870 A CN 106959870A
- Authority
- CN
- China
- Prior art keywords
- character string
- dynamic module
- judge
- loaded
- module
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims description 19
- 238000012937 correction Methods 0.000 claims description 5
- 238000009434 installation Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种Nginx动态模块加载方法和装置。其中Nginx动态模块加载方法包括:读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串;获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串;对第一判断字符串和第二判断字符串进行比对;在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。本发明通过对Nginx执行文件加载动态模块的兼容性检查机制进行研究,保证动态模块满足Nginx执行文件的兼容性检查条件,使得在动态模块在其生成环境之外的环境中被加载,提高了Nginx动态库的兼容性。
Description
技术领域
本发明涉及Web服务器端程序,特别是涉及Nginx动态模块加载方法和装置。
背景技术
Nginx是一款面向性能设计的HTTP服务器,具有占有内存少,稳定性高等优势。其作为一种高效的Web服务器端程序在各个互联网领域广泛应用。
为了保证程序的稳定运行,Nginx在很长的一段时间内不支持动态模块(动态库),直至2015年的1.9.11版本,才加入了动态模块的加载功能。通过动态模块,可以在运行时选择性地加载第三方或Nginx官方模块。但是由于Nginx开发方对于动态模块的保守态度,在动态模块的加载上加入了技术限制,必须保证调用动态模块的系统与生成动态模块所在系统的底层环境一致,从而使得Nginx动态模块使用相对于常规的动态模块的兼容性,增加了一层兼容约束,而这种约束使得大部分Nginx动态模块无法被其生成环境以外的Nginx使用,这大大降低了Nginx动态模块的兼容性。
发明内容
本发明的一个目的是要提高Nginx动态模块的兼容性。
特别地,本发明提供了一种Nginx动态模块加载方法,该方法包括:读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串;获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串;对第一判断字符串和第二判断字符串进行比对;在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。
可选地,在被加载的动态模块中对第二判断字符串进行修改的步骤之前还包括:分别获取第一判断字符串和第二判断字符串中与被加载的动态模块所需的三方组件对应的标志位;在第一判断字符串和第二判断字符串的标志位均指示三方组件已安装的情况下,允许在被加载的动态模块中对第二判断字符串进行修改。
可选地,在被加载的动态模块中对第二判断字符串进行修改的步骤包括:使用第一判断字符串在被加载的动态模块中覆盖第二判断字符串。
可选地,在第一判断字符串和第二判断字符串完全相同的情况下或者在被加载的动态模块中对第二判断字符串进行修改之后,Nginx执行文件执行重新加载配置或重启过程,以加载动态模块。
可选地,获取被加载的动态模块的兼容性判断字符串的步骤包括:获取预先指定的动态模块共享文件的保存路径;从保存路径下读取被加载的动态模块,并解析出第二判断字符串。
根据本发明的另一个方面,还提供了一种Nginx动态模块加载装置,其包括:第一获取模块,配置成读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串;第二获取模块,配置成获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串;比对模块,配置成对第一判断字符串和第二判断字符串进行比对;兼容性修改模块,配置成在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。
可选地,上述装置还包括:标志位校验模块,配置成分别获取第一判断字符串和第二判断字符串中与被加载的动态模块所需的三方组件对应的标志位;在第一判断字符串和第二判断字符串的标志位均指示三方组件已安装的情况下,允许在被加载的动态模块中对第二判断字符串进行修改。
可选地,兼容性修改模块还配置成:使用第一判断字符串在被加载的动态模块中覆盖第二判断字符串。
可选地,上述装置还包括:加载模块,配置成在第一判断字符串和第二判断字符串完全相同的情况下或者在被加载的动态模块中对第二判断字符串进行修改之后,Nginx执行文件执行重新加载配置或重启过程,以加载动态模块。
可选地,上述第二获取模块还配置成:获取预先指定的动态模块共享文件的保存路径;从保存路径下读取被加载的动态模块,并解析出第二判断字符串。
本发明的Nginx动态模块加载方法和装置,通过对Nginx执行文件加载动态模块时的兼容性检查机制进行研究,确定出Nginx执行文件中的兼容性判断字符串(第一判断字符串)和动态模块的兼容性判断字符串(第二判断字符串)的关系,对Nginx执行文件中的兼容性判断字符串以及获取被加载的动态模块的兼容性判断字符串进行比对,在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。从而可以使得在动态模块在其生成环境之外的环境中被加载,提高了Nginx动态库的兼容性。
进一步地,本发明的Nginx动态模块加载方法和装置,还可以对第一判断字符串和第二判断字符串中必须的三方组件对应的标志位进行判断,仅在该标志位均指示三方组件已安装的情况下,允许在被加载的动态模块中对第二判断字符串进行修改,保证修改后的动态模块可以被正常地被Nginx加载并执行。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的Nginx动态模块加载装置中Nginx系统的示意框图;
图2是根据本发明一个实施例的Nginx动态模块加载装置的示意框图;
图3是根据本发明另一实施例的Nginx动态模块加载装置的示意框图;以及
图4是根据本发明一个实施例的Nginx动态模块加载方法的示意图。
具体实施方式
本发明实施例提供了一种Nginx动态模块加载方法和装置,针对Nginx执行文件加载动态模块时的兼容性检查机制,提高Nginx动态模块的兼容性,以供被其生成环境之外的Nginx记载。
图1是根据本发明一个实施例的Nginx动态模块加载装置100中Nginx系统的示意框图,如图所示,在当前的Nginx的动态模块加载机制中,Nginx源代码和模块源代码需要一起被Nginx构建系统编译,分别得到Nginx执行文件和动态模块。为每一个动态模块创建一个独立的共享对象,通过Nginx配置文件中的命令来启用和禁用在运行时加载共享对象。而在传统的Nginx中,在不支持动态模块的情况下,需要Nginx源代码和模块源代码需要一起被Nginx构建系统编译成一个可执行文件。
因此,Nginx动态模块需要满足的兼容性条件为:进行加载的Nginx执行文件与生成动态模块所在系统的底层环境一致。具体地,需要执行调用操作的Nginx执行文件与动态模块具有相同的兼容性字符串。为了提高动态模块的兼容性,能够被其生成系统之外的Nginx加载,本实施例的Nginx动态模块加载装置100通过比对兼容性判断字符串,并进行修改。
图2是根据本发明一个实施例的Nginx动态模块加载装置100的示意框图,本实施例的的Nginx动态模块加载装置100一般性地可以包括:第一获取模块110、第二获取模块120、比对模块130、兼容性修改模块140。
第一获取模块110配置成读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串。
第二获取模块120,配置成获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串。Nginx系统中的第一判断字符串和第二判断字符具有相同的格式,一般可以包括33位标志位(二进制)组成,每一位代表代表一种三方组件的安装情况,例如0代表未安装,1代表安装。进行加载的Nginx执行文件与生成动态模块所在系统的底层环境一致的情况下,Nginx系统中的第一判断字符串和第二判断字符是相同的,由于被加载的动态模块的兼容性判断字符串与其生成环境的信息一致,在被其他Nginx执行文件加载时有可能出现不完全相同的的情况,从而导致兼容性判断无法通过。第二获取模块120可以获取预先指定的动态模块共享文件的保存路径;从保存路径下读取被加载的动态模块,并解析出第二判断字符串。安装Nginx时,会自动创建一个modules的子目录,用来存放动态模块共享对象的二进制文件,默认的路径为/usr/local/nginx/modules。在运行时加载动态模块,可以在全局配置中使用load_module命令,指定动态模块共享文件的路径。当重新加载配置或重启Nginx的时候,动态模块就会被载入。路径可以是相对路径,也可以是完整路径。
比对模块130配置成对第一判断字符串和第二判断字符串进行比对,其可以对对字符串中33位标志位逐一进行对比,如果其中任一位出现不同,Nginx执行文件无法进行加载。
兼容性修改模块140配置成在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。兼容性修改模块140的一种修改方式为使用第一判断字符串在被加载的动态模块中覆盖第二判断字符串。除此之外,也可以采用其他使第一判断字符串和第二判断字符串完全相同的修改方式。
图3是根据本发明另一实施例的Nginx动态模块加载装置100的示意框图,在上一实施例基础上,可以选择性地增加设置标志位校验模块150、加载模块160。
标志位校验模块150配置成分别获取第一判断字符串和第二判断字符串中与被加载的动态模块所需的三方组件对应的标志位;在第一判断字符串和第二判断字符串的标志位均指示三方组件已安装的情况下,允许在被加载的动态模块中对第二判断字符串进行修改。标志位校验模块150可以通过确定动态模块必需的三方组件在在动态模块文件和Nginx执行文件中对应的字符串校验位都是1(为已经安装的状态),从而避免Nginx执行文件加载动态模块出现失败或者动态模块无法正常使用的情况,提高Nginx的运行可靠性。
加载模块160配置成在第一判断字符串和第二判断字符串完全相同的情况下或者在被加载的动态模块中对第二判断字符串进行修改之后,Nginx执行文件执行重新加载配置或重启过程,以加载动态模块。
本实施例还提供了一种Nginx动态模块加载方法,该方法可以由上述任一实施例的Nginx动态模块加载装置100执行,通过修改兼容性判断字符串提高Nginx动态模块的兼容性。图4是根据本发明一个实施例的Nginx动态模块加载方法的示意图,该Nginx动态模块加载方法一般性地可以包括:
步骤S402,读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串;
步骤S404,获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串;
步骤S406,对第一判断字符串和第二判断字符串进行比对;
步骤S408,在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。
利用本实施例的方法,对Nginx执行文件中的兼容性判断字符串以及获取被加载的动态模块的兼容性判断字符串进行比对,在第一判断字符串和第二判断字符串不完全相同的情况下,在被加载的动态模块中对第二判断字符串进行修改,使得第一判断字符串和第二判断字符串完全相同,以保证被加载的动态模块满足Nginx执行文件的兼容性检查条件。从而可以使得在动态模块在其生成环境之外的环境中被加载,提高了Nginx动态库的兼容性。
Nginx系统中的第一判断字符串和第二判断字符具有相同的格式,一般可以包括33位标志位(二进制)组成,每一位代表代表一种三方组件的安装情况,例如0代表未安装,1代表安装。进行加载的Nginx执行文件与生成动态模块所在系统的底层环境一致的情况下,Nginx系统中的第一判断字符串和第二判断字符是相同的,由于被加载的动态模块的兼容性判断字符串与其生成环境的信息一致,在被其他Nginx执行文件加载时有可能出现不完全相同的的情况,从而导致兼容性判断无法通过。以下是33种标志位的英文简称:
(NGX_HAVE_KQUEUE);
(NGX_HAVE_IOCP);
(NGX_HAVE_FILE_AIO);
(NGX_HAVE_AIO_SENDFILE);
(NGX_HAVE_EVENTFD);
(NGX_HAVE_EPOLL);
(NGX_HAVE_KEEPALIVE_TUNABLE);
(NGX_HAVE_INET6);
(NGX_HAVE_INET6&&defined IPV6_V6ONLY);
(NGX_HAVE_REUSEPORT);
(NGX_HAVE_DEFERRED_ACCEPT&&defined SO_ACCEPTFILTER);
(NGX_HAVE_DEFERRED_ACCEPT&&defined TCP_DEFER_ACCEPT);
(NGX_HAVE_SETFIB);
(NGX_HAVE_TCP_FASTOPEN);
(NGX_HAVE_UNIX_DOMAIN);
(NGX_HAVE_VARIADIC_MACROS);
(NGX_HAVE_MD5);
(NGX_HAVE_SHA1);
(NGX_HAVE_OPENAT);
(NGX_HAVE_ATOMIC_OPS);
(NGX_HAVE_POSIX_SEM);
(NGX_THREADS);
(NGX_PCRE);
(NGX_HTTP_SSL);
(NGX_HTTP_V2);
(NGX_HTTP_GZIP);
(NGX_HTTP_DEGRADATION);
(NGX_HTTP_X_FORWARDED_FOR);
(NGX_HTTP_REALIP);
(NGX_HTTP_HEADERS);
(NGX_HTTP_DAV);
(NGX_HTTP_CACHE);
(NGX_HTTP_UPSTREAM_ZONE);
以NGX_HTTP_GZIP为例,其赋值为1时代表系统里已经安装gzip的打包解压包的组件,可以使用其底层接口进行二次开发。有些带&&符号的代表两个关联组件同时存在,指向一个约束。相类似地,其他的标志位也分别代表系统安装的组件情况。
为了进一步确保Nginx系统的可靠性,在对第二判断字符串进行修改的步骤之前还可以:分别获取第一判断字符串和第二判断字符串中与被加载的动态模块所需的三方组件对应的标志位;在第一判断字符串和第二判断字符串的标志位均指示三方组件已安装的情况下,允许在被加载的动态模块中对第二判断字符串进行修改。例如,动态模块在使用时必需压缩库gzip这一三方组件,那么在修改该动态模块的第二判断字符串前,需要保证第一判断字符串和第二判断字符串中NGX_HTTP_GZI均为1。如果动态模块在使用时需要多个三方组件,那么第一判断字符串和第二判断字符串种多个三方组件对应的标志位需要全部为1。
在步骤S408进行修改时,采用的一种最简便方式为使用第一判断字符串在被加载的动态模块中覆盖第二判断字符串。除此之外,也可以采用其他使第一判断字符串和第二判断字符串完全相同的修改方式。
在第一判断字符串和第二判断字符串完全相同的情况下或者在被加载的动态模块中对第二判断字符串进行修改之后,Nginx执行文件执行重新加载配置或重启过程,以加载动态模块。要在运行时加载动态模块,可以在全局配置中使用load_module命令,指定动态模块共享文件的路径。当重新加载配置或重启Nginx的时候,模块就会被载入。路径可以是相对路径,也可以是完整路径,例如:
load_module"modules/ngx_http_geoip_module.so";
load_module"modules/ngx_stream_module.so";
要在运行时动态“卸载”一个模块,可以注释或删掉相对应的load_module命令,并重新加载Nginx配置。
相应地,步骤S404中获取被加载的动态模块的兼容性判断字符串的步骤也可以为:获取预先指定的动态模块共享文件的保存路径;从保存路径下读取被加载的动态模块,并解析出第二判断字符串。当编译安装Nginx时,会创建一个modules的子目录,用来存放动态模块共享对象的二进制文件,默认的路径为/usr/local/nginx/modules。
本实施例的Nginx动态模块加载方法,解除了Nginx对动态模块的限制,大大提高了Nginx动态模块的兼容性。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (10)
1.一种Nginx动态模块加载方法,其特征在于包括:
读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串;
获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串;
对所述第一判断字符串和所述第二判断字符串进行比对;
在所述第一判断字符串和所述第二判断字符串不完全相同的情况下,在所述被加载的动态模块中对所述第二判断字符串进行修改,使得所述第一判断字符串和所述第二判断字符串完全相同,以保证所述被加载的动态模块满足所述Nginx执行文件的兼容性检查条件。
2.根据权利要求1所述的方法,其特征在于,在所述被加载的动态模块中对所述第二判断字符串进行修改的步骤之前还包括:
分别获取所述第一判断字符串和所述第二判断字符串中与所述被加载的动态模块所需的三方组件对应的标志位;
在所述第一判断字符串和所述第二判断字符串的所述标志位均指示所述三方组件已安装的情况下,允许在所述被加载的动态模块中对所述第二判断字符串进行修改。
3.根据权利要求1所述的方法,其特征在于,在所述被加载的动态模块中对所述第二判断字符串进行修改的步骤包括:
使用所述第一判断字符串在所述被加载的动态模块中覆盖所述第二判断字符串。
4.根据权利要求1所述的方法,其特征在于,
在所述第一判断字符串和所述第二判断字符串完全相同的情况下或者在所述被加载的动态模块中对所述第二判断字符串进行修改之后,所述Nginx执行文件执行重新加载配置或重启过程,以加载所述动态模块。
5.根据权利要求1所述的方法,其特征在于,获取被加载的动态模块的兼容性判断字符串的步骤包括:
获取预先指定的动态模块共享文件的保存路径;
从所述保存路径下读取所述被加载的动态模块,并解析出所述第二判断字符串。
6.一种Nginx动态模块加载装置,其特征在于包括:
第一获取模块,配置成读取Nginx执行文件中的兼容性判断字符串,作为第一判断字符串;
第二获取模块,配置成获取被加载的动态模块的兼容性判断字符串,作为第二判断字符串;
比对模块,配置成对所述第一判断字符串和所述第二判断字符串进行比对;
兼容性修改模块,配置成在所述第一判断字符串和所述第二判断字符串不完全相同的情况下,在所述被加载的动态模块中对所述第二判断字符串进行修改,使得所述第一判断字符串和所述第二判断字符串完全相同,以保证所述被加载的动态模块满足所述Nginx执行文件的兼容性检查条件。
7.根据权利要求6所述的装置,其特征在于还包括:
标志位校验模块,配置成分别获取所述第一判断字符串和所述第二判断字符串中与所述被加载的动态模块所需的三方组件对应的标志位;在所述第一判断字符串和所述第二判断字符串的所述标志位均指示所述三方组件已安装的情况下,允许在所述被加载的动态模块中对所述第二判断字符串进行修改。
8.根据权利要求6所述的装置,其特征在于所述兼容性修改模块还配置成:
使用所述第一判断字符串在所述被加载的动态模块中覆盖所述第二判断字符串。
9.根据权利要求6所述的装置,其特征在于,还包括:
加载模块,配置成在所述第一判断字符串和所述第二判断字符串完全相同的情况下或者在所述被加载的动态模块中对所述第二判断字符串进行修改之后,所述Nginx执行文件执行重新加载配置或重启过程,以加载所述动态模块。
10.根据权利要求6所述的装置,其特征在于,所述第二获取模块还配置成:
获取预先指定的动态模块共享文件的保存路径;
从所述保存路径下读取所述被加载的动态模块,并解析出所述第二判断字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710091605.XA CN106959870B (zh) | 2017-02-20 | 2017-02-20 | Nginx动态模块加载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710091605.XA CN106959870B (zh) | 2017-02-20 | 2017-02-20 | Nginx动态模块加载方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106959870A true CN106959870A (zh) | 2017-07-18 |
CN106959870B CN106959870B (zh) | 2020-09-29 |
Family
ID=59481147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710091605.XA Active CN106959870B (zh) | 2017-02-20 | 2017-02-20 | Nginx动态模块加载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106959870B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237609A (zh) * | 2021-11-08 | 2022-03-25 | 北京基调网络股份有限公司 | 一种动态适应及加载预编译的Nginx模块的方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021804A (zh) * | 2007-03-13 | 2007-08-22 | 华为技术有限公司 | 调用动态库的方法、装置及动态库服务器 |
CN101026576A (zh) * | 2007-01-19 | 2007-08-29 | 杭州华为三康技术有限公司 | 兼顾匹配策略的处理分段报文串模式匹配的方法及装置 |
CN101404656A (zh) * | 2008-11-04 | 2009-04-08 | 深圳中兴力维技术有限公司 | 一种与第三方智能设备协议通讯的软件接口设计方法 |
CN101771762A (zh) * | 2009-01-06 | 2010-07-07 | 北京邮电大学 | 业务系统中业务动态加载系统及方法 |
CN101945003A (zh) * | 2009-07-03 | 2011-01-12 | 中兴通讯股份有限公司 | 兼容性处理方法以及管理站 |
CN103593189A (zh) * | 2013-11-14 | 2014-02-19 | 昆明理工大学 | 一种嵌入式Linux下用户态驱动程序的实现方法 |
CN104320344A (zh) * | 2014-10-28 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种基于Nginx实现动态应用集群的方法 |
CN105893068A (zh) * | 2015-08-06 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种智能设备的离线升级方法及装置 |
-
2017
- 2017-02-20 CN CN201710091605.XA patent/CN106959870B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026576A (zh) * | 2007-01-19 | 2007-08-29 | 杭州华为三康技术有限公司 | 兼顾匹配策略的处理分段报文串模式匹配的方法及装置 |
CN101021804A (zh) * | 2007-03-13 | 2007-08-22 | 华为技术有限公司 | 调用动态库的方法、装置及动态库服务器 |
CN101404656A (zh) * | 2008-11-04 | 2009-04-08 | 深圳中兴力维技术有限公司 | 一种与第三方智能设备协议通讯的软件接口设计方法 |
CN101771762A (zh) * | 2009-01-06 | 2010-07-07 | 北京邮电大学 | 业务系统中业务动态加载系统及方法 |
CN101945003A (zh) * | 2009-07-03 | 2011-01-12 | 中兴通讯股份有限公司 | 兼容性处理方法以及管理站 |
CN103593189A (zh) * | 2013-11-14 | 2014-02-19 | 昆明理工大学 | 一种嵌入式Linux下用户态驱动程序的实现方法 |
CN104320344A (zh) * | 2014-10-28 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种基于Nginx实现动态应用集群的方法 |
CN105893068A (zh) * | 2015-08-06 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种智能设备的离线升级方法及装置 |
Non-Patent Citations (1)
Title |
---|
OWEN GARRETT OF NGINX: ""Compiling Third-Party Dynamic Modules for NGINX and NGINX Plus"", 《HTTPS://WWW.NGINX.COM/BLOG/COMPILING-DYNAMIC-MODULES-NGINX-PLUS/》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237609A (zh) * | 2021-11-08 | 2022-03-25 | 北京基调网络股份有限公司 | 一种动态适应及加载预编译的Nginx模块的方法及系统 |
CN114237609B (zh) * | 2021-11-08 | 2022-11-22 | 北京基调网络股份有限公司 | 一种动态适应及加载预编译的Nginx模块的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106959870B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764791B (zh) | 小程序的渠道适配方法、装置及电子设备 | |
CN102118500B (zh) | 移动终端开源操作系统基于软件包的在线自动更新方法 | |
CN105677415B (zh) | 热更新方法及装置 | |
CN109491695A (zh) | 一种集成安卓应用的增量更新方法 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
US20050055686A1 (en) | Method and system for servicing software | |
CN112416406B (zh) | 终端设备升级方法、装置、终端设备和介质 | |
US9830376B2 (en) | Language tag management on international data storage | |
CN103559065B (zh) | 一种ota升级的方法和系统 | |
CN107783770B (zh) | 页面配置更新方法、装置、服务器和介质 | |
CN104123149B (zh) | 软件升级方法、装置、客户端及系统 | |
CN110032377B (zh) | 通信模块软件升级方法、系统及通信模块 | |
JP2008502968A (ja) | 中間オブジェクト指向言語を備えるソフトウェアをポータブル・デバイスにロードするための方法 | |
CN103220352A (zh) | 终端、服务器、文件存储系统和文件存储方法 | |
CN106648759A (zh) | 一种通用编程器固件的更新方法 | |
CN109360029A (zh) | 一种远程终端广告机的自我管理方法 | |
CN105549996B (zh) | 移动终端的应用程序更新方法与移动终端 | |
CN104283947A (zh) | Java script动态合并服务器及其工作过程 | |
CN106959870A (zh) | Nginx动态模块加载方法和装置 | |
CN115421765A (zh) | 一种应用于国产化操作系统的大数据管理部署方法 | |
CN105278993B (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
US10599424B2 (en) | Committed program-code management | |
CN102346692A (zh) | 一种iptv升级文件的校验方法 | |
CN106547700B (zh) | 一种程序调试的方法及装置 | |
CN116069366A (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 |