CN117235404A - 一种支持结构化及文本化的Nginx配置系统、方法及装置 - Google Patents

一种支持结构化及文本化的Nginx配置系统、方法及装置 Download PDF

Info

Publication number
CN117235404A
CN117235404A CN202311414060.3A CN202311414060A CN117235404A CN 117235404 A CN117235404 A CN 117235404A CN 202311414060 A CN202311414060 A CN 202311414060A CN 117235404 A CN117235404 A CN 117235404A
Authority
CN
China
Prior art keywords
configuration
text
mode
webpage
structured
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
Application number
CN202311414060.3A
Other languages
English (en)
Inventor
尤家和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Shilian Technology Co ltd
Original Assignee
Tianyi Digital Life Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianyi Digital Life Technology Co Ltd filed Critical Tianyi Digital Life Technology Co Ltd
Priority to CN202311414060.3A priority Critical patent/CN117235404A/zh
Publication of CN117235404A publication Critical patent/CN117235404A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种支持结构化及文本化的Nginx配置系统、方法及装置,该系统包括:基于配置文本,生成结构化的配置数据的文本化配置解析模块;基于结构化的配置数据,生成配置文本的配置文本内容生成模块;以及实时转换模块;实时转换模块用于,通过网页套接字将网页配置数据传送至所述配置文本内容生成模块,并利用所述配置文本内容生成模块,基于所述网页配置数据,生成配置文本,以及,通过网页套接字将网页配置文本传送至所述文本化配置解析模块,并利用所述文本化配置解析模块,基于所述网页配置文本,生成结构化的配置数据。本申请支撑结构化以及文本化的配置方式,提升了配置效率的同时,满足了用户需求的多样性。

Description

一种支持结构化及文本化的Nginx配置系统、方法及装置
技术领域
本申请涉及服务器配置技术领域,更具体地说,是涉及一种支持结构化及文本化的Nginx配置系统、方法及装置。
背景技术
Nginx(Engine X)在互联网行业的web服务器以及反向代理服务器领域中占比30%以上的份额,其配置量是非常巨大的。在日常的运维工作中,通常是借助命令行进行文本化的配置操作,或者借助脚本进行自动化配置管理,其透明性以及可维护性都是有限的,因此Nginx的配置管理是一个重要的需求。
在Nginx的配置管理中,不同的用户和场景可能需要使用不同的配置方式。例如,对于不熟悉命令行工具的用户来说,结构化配置可能更加直观和易于使用;而对于熟悉命令行工具的用户来说,文本化配置可能更加高效和灵活。另外,传统的文本化配置方式需要用户手动编辑配置文件,容易出错且效率低下。因此,如何迎合用户需求多样性并提高配置管理效率,成为当前需要解决的技术问题。
发明内容
有鉴于此,为实现上述目的,本申请第一方面提供了一种支持结构化及文本化的Nginx配置系统,包括文本化配置解析模块、配置文本内容生成模块以及实时转换模块;
所述文本化配置解析模块用于,基于配置文本,生成结构化的配置数据;
所述配置文本内容生成模块用于,基于结构化的配置数据,生成配置文本;
所述实时转换模块用于,通过网页套接字将网页配置数据传送至所述配置文本内容生成模块,并利用所述配置文本内容生成模块,基于所述网页配置数据,生成配置文本,以及,通过网页套接字将网页配置文本传送至所述文本化配置解析模块,并利用所述文本化配置解析模块,基于所述网页配置文本,生成结构化的配置数据。
优选地,所述文本化配置解析模块基于配置文本,生成结构化的配置数据的过程,包括:
基于预设的配置字段以及正则表达式,对所述配置文本进行解析,得到各配置块以及每一配置块的关键字段配置;
基于每一配置块以及所述配置块的关键字段配置,生成结构化的配置数据。
优选地,基于预设的配置字段以及正则表达式,对所述配置文本进行解析,得到各配置块以及每一配置块的关键字段配置的过程,包括:
扫描所述配置文本中的每一字符,并基于预设的配置字段以及正则表达式,获取各配置块;
利用正则表达式获取各配置块的关键字段配置。
优选地,所述文本化配置解析模块还用于,将所述结构化的配置数据以JSON格式记录到数据库中。
优选地,所述配置文本内容生成模块基于结构化的配置数据,生成配置文本的过程,包括:
遍历所述结构化的配置数据中的每一配置项,并将每一配置项转换为文本命令;
对各文本命令按照Nginx配置语法进行编排,得到配置文本。
优选地,所述配置文本内容生成模块还用于,将配置文本保存到配置文件中,并生成以配置文件为键、以配置文本为值的配置数据,所述配置数据为JSON格式的。
本申请第二方面提供了一种支持结构化及文本化的Nginx配置方法,包括:
接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,并将所述网页配置数据更新到目标数据库中;
利用实时转换模块基于目标数据库中的配置数据生成配置文本,并将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于上述的Nginx配置系统。
优选地,所述支持结构化及文本化的Nginx配置方法还包括:
接收到用户的模式切换请求后,基于所述模式切换指令,判断切换方向是从文本化模式切换至结构化模式,还是从结构化模式切换至文本化模式;
若切换方向为从文本化模式切换至结构化模式,利用所述实时转换模块生成结构化的配置数据,并将所述结构化的配置数据展示在页面中;
若切换方向为从结构化模式切换至文本化模式,利用所述实时转换模块生成配置文本,并将所述配置文本展示在页面中。
优选地,所述支持结构化及文本化的Nginx配置方法还包括:
对各目标配置文件进行实时监测,并在监测到目标配置文件发生变化后,在页面中重新加载所述目标配置文件。
本申请第三方面提供了一种支持结构化及文本化的Nginx配置装置,包括:
配置模式判断单元,用于在接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
文本修改处理单元,用于若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
结构化修改处理单元,用于若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,并将所述网页配置数据更新到目标数据库中;
配置文件同步单元,用于利用实时转换模块基于目标数据库中的配置数据生成配置文本,并将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于上述的Nginx配置系统。
本申请第四方面提供了一种支持结构化及文本化的Nginx配置设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述的支持结构化及文本化的Nginx配置方法的各个步骤。
本申请第五方面提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的支持结构化及文本化的Nginx配置方法的各个步骤。
经由上述的技术方案可知,本申请包括文本化配置解析模块、配置文本内容生成模块以及实时转换模块。其中,所述文本化配置解析模块用于,基于配置文本,生成结构化的配置数据;所述配置文本内容生成模块用于,基于结构化的配置数据,生成配置文本。所述配置文本为基于Nginx配置语法编写的文本,每一配置文本对应于Nginx服务器配置文件目录下的一个配置文件。所述结构化的配置数据以Key-Value的形式记录Nginx配置中每一配置项的内容,同时记录了各配置项之间的层次关系,能够以图形化的形式直观地展示在页面中,避免了手工编辑可能引起的错误,通过各配置项的层次关系,使得用户可以快速找到并修改所需的配置项,提高了配置的可维护性。所述实时转换模块用于,通过网页套接字将网页配置数据传送至所述配置文本内容生成模块,并利用所述配置文本内容生成模块,基于所述网页配置数据,生成配置文本,以及,通过网页套接字将网页配置文本传送至所述文本化配置解析模块,并利用所述文本化配置解析模块,基于所述网页配置文本,生成结构化的配置数据。通过所述实时转换模式,使得用户可以在页面中实时地、无缝地切换不同的配置模式,满足了用户需求的多样性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的支持结构化及文本化的Nginx配置系统的示意图;
图2为本申请实施例公开的支持结构化及文本化的Nginx配置方法的示意图;
图3为本申请实施例公开的模式切换方法的示意图;
图4为本申请实施例公开的支持结构化及文本化的Nginx配置装置的示意图;
图5为本申请实施例公开的支持结构化及文本化的Nginx配置设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面介绍本申请实施例提供的支持结构化及文本化的Nginx配置系统。请参阅图1,本申请实施例提供的支持结构化及文本化的Nginx配置系统可以包括文本化配置解析模块10、配置文本内容生成模块20以及实时转换模块50。
其中,文本化配置解析模块10用于,基于配置文本,生成结构化的配置数据;配置文本内容生成模块20用于,基于结构化的配置数据,生成配置文本。
具体地,配置文本为以纯文本形式编写的配置内容,通常地,用户可以通过命令行的形式手动编辑配置文本。
结构化的配置数据则是以Key-Value(键-值)的形式记录每一配置项,并且记录各配置项之间的层次关系。结构化的配置数据能够以图形化的形式直观地展示出来,便于用户快速找到需要的配置项,且相对于配置文本,所需人工输入的内容较少,不容易出错,提升了配置效率。
实时转换模块50用于,通过Web Socket(网页套接字)将网页配置数据传送至配置文本内容生成模块20,并利用配置文本内容生成模块20基于所述网页配置数据,生成配置文本,以及,通过Web Socket将网页配置文本传送至文本化配置解析模块10,并利用文本化配置解析模块10基于所述网页配置文本,生成结构化的配置数据。
本申请包括文本化配置解析模块、配置文本内容生成模块以及实时转换模块。其中,所述文本化配置解析模块用于,基于配置文本,生成结构化的配置数据;所述配置文本内容生成模块用于,基于结构化的配置数据,生成配置文本。所述配置文本为基于Nginx配置语法编写的文本,每一配置文本对应于Nginx服务器配置文件目录下的一个配置文件。所述结构化的配置数据以Key-Value的形式记录Nginx配置中每一配置项的内容,同时记录了各配置项之间的层次关系,能够以图形化的形式直观地展示在页面中,避免了手工编辑可能引起的错误,通过各配置项的层次关系,使得用户可以快速找到并修改所需的配置项,提高了配置的可维护性。所述实时转换模块用于,通过网页套接字将网页配置数据传送至所述配置文本内容生成模块,并利用所述配置文本内容生成模块,基于所述网页配置数据,生成配置文本,以及,通过网页套接字将网页配置文本传送至所述文本化配置解析模块,并利用所述文本化配置解析模块,基于所述网页配置文本,生成结构化的配置数据。通过所述实时转换模式,使得用户可以在页面中实时地、无缝地切换不同的配置模式,满足了用户需求的多样性。
在本申请的一些实施例中,文本化配置解析模块10基于配置文本,生成结构化的配置数据的过程,可以包括:
S1,基于预设的配置字段以及正则表达式,对所述配置文本进行解析,得到各配置块以及每一配置块的关键字段配置。
其中,各配置块可以包括server块、upstream块、location块等。
S2,基于每一配置块以及所述配置块的关键字段配置,生成结构化的配置数据。
例如,如server块的关键字段为server_name字段,location块的关键字段为proxy_pass字段。
在本申请的一些实施例中,上述S2基于预设的配置字段以及正则表达式,对所述配置文本进行解析,得到各配置块以及每一配置块的关键字段配置的过程,可以包括:
S21,扫描所述配置文本中的每一字符,并基于预设的配置字段以及正则表达式,获取各配置块。
S22,利用正则表达式获取各配置块的关键字段配置。
需要注明的是,在S21之前,已经读取配置文本中的内容,并将其转换成JSON格式的JSON数据。
示例性地,假设需要获取upstream块,具体步骤可以包括:
a1,配置字段为“upstream”,正则表达式为:
【#*[\s\t]*\bupstream\b[\s\t]+(.*)[\s\t]*{】
a2,利用上述正则表达式去遍历所述JSON数据,可以读取出“upstream{…}”中省略号的内容以及upstream的名称。
a3,利用预设的正则表达式匹配上述读取到的内容,获取调度算法。
示例性地,调度算法可以包括ip_hash、session_sticky、sticky、rr、wrr、url_hash等,以ip_hash为例,该正则表达式可以为【[\s\t]*(\bip_hash\b)[\s\t]*;】。
a4,利用正则【[\s\t]*server[\s\t]+(.*?)([\s\t]+(.*))?;】匹配上述读取内容,获取server的主机ip及端口信息,以及各字段的配置信息。
a5,系统根据数据库存储情况新建或者更新upstream主机数据。
a6,返回所有upstream结构化配置内容。
示例性地,假设需要获取server块,具体步骤可以包括:
b1,配置字段为“server”,正则表达式为:
【(^server\b|#*[\s\t]+server\b)[\s\t]*{】
b2,利用上述正则表达式去遍历所述JSON数据,可以读取出“server{…}”中省略号的内容。
b3,利用正则【[\s\t]*server_name[\s\t]+(.*?(.*?\r?\n?)+.*?);】匹配出“server_name”中的多个域名信息。
b4,利用正则【[\s\t]*listen[\s\t]+(\d{2,5})[\s\t]*(.*?);】匹配出“listen”中的端口以及其他配置,如是否包含ssl,是否是“default_server”,是否开启“http2”监听。
b5,利用正则【[\s\t]*listen[\s\t]+\[::]:(\d{2,5})[\s\t]*(.*?)*[\s\t]*;】匹配出ipv6的“listen”配置,然后与“b4”同理。
b6,返回所有server结构化配置内容。
示例性地,假设需要获取location块,则在获取了server块的基础上,再执行以下各步骤:
c1,配置字段为“location”,正则表达式为:
【#*[\s\t]*\blocation\b[\s\t]+(.*)[\s\t]*{】
c2,利用上述正则表达式去遍历所述JSON数据,可以读取出“location{…}”中省略号的内容以及location的路径。
c3,利用正则【proxy_pass[\s\t]+(https?)://(.*?)(/)?;】获取proxy_pass及其他参数。
c4,利用正则【uwsgi_pass[\s\t]+(.*);】获取proxy_pass及其他参数。
c5,其余字符作为location的额外配置。
示例性地,假设需要获取server块中其余的Key-Value参数,则可以执行如下步骤:
d1,利用以下正则表达式匹配出带有大括号“{}”的配置块,并替换为空:
【[\s\t]*\r?\n?[\s\t]*.*[\s\t]*\r?\n?[\s\t]*}】
d2,在剩余的字符中,利用下述正则匹配出key value参数:
【[\s\t]*[a-zA-Z0-9_]+[\s\t]+(.+[\s\t]*)+;[\s\t]*\r?\n?[\s\t]*】
在本申请的一些实施例中,文本化配置解析模块10还用于,将所述结构化的配置数据以JSON格式记录到数据库中。
通过将转换后的结构化配置数据保存到数据库中,便于对其进行查看、修改等管理。
在本申请的一些实施例中,配置文本内容生成模块20基于结构化的配置数据,生成配置文本的过程,可以包括:
S1,遍历所述结构化的配置数据中的每一配置项,并将每一配置项转换为文本命令。
S2,对各文本命令按照Nginx配置语法进行编排,得到配置文本。
具体地,将转换后的文本命令按照Nginx配置文件的格式进行排版和组织,确保命令之间的顺序和层次结构正确。
在本申请的一些实施例中,配置文本内容生成模块20还用于,将配置文本保存到配置文件中,并生成以配置文件为键、以配置文本为值的配置数据。
其中,所述配置数据为JSON格式的。
下面介绍本申请实施例提供的支持结构化及文本化的Nginx配置方法,所述Nginx配置方法是以上述各实施例中的Nginx配置系统为基础而构建的。请参阅图2,本申请实施例提供的支持结构化及文本化的Nginx配置方法可以包括如下步骤:
接收到用户的修改请求后:
步骤S101,判断配置模式是文本化模式还是结构化模式。
具体地,基于所述修改请求,判断配置模式是文本化模式还是结构化模式。若配置模式为文本化模式,执行步骤S102;若配置模式为结构化模式,执行步骤S104。
步骤S102,基于配置页面中的内容获取网页配置文本。
步骤S103,利用实时转换模块基于所述网页配置文本生成结构化的配置数据。转去执行步骤S105。
步骤S104,基于配置页面中的内容获取网页配置数据。
其中,所述网页配置数据为结构化的配置数据。
步骤S105,将所述结构化的配置数据更新到目标数据库中。
步骤S106,利用实时转换模块基于目标数据库中的配置数据生成配置文本,并将所述配置文本更新到目标配置文件中。
其中,所述实时转换模块来自于上述各实施例中的Nginx配置系统。需要注明的是,无论采用何种配置模式,相应的配置文件以及数据库表均会同步更新。
所述Nginx配置方法同时具备Nginx配置白屏操作以及符合习惯的黑屏化操作,满足了用户的多样性需求。
在本申请的一些实施例中,请参阅图3,所述Nginx配置方法还可以包括:
接收到用户的模式切换请求后:
步骤S201,切换方向判断。
具体地,基于所述模式切换指令,判断切换方向是从文本化模式切换至结构化模式,还是从结构化模式切换至文本化模式。若切换方向为从文本化模式切换至结构化模式,执行步骤S202;若切换方向为从结构化模式切换至文本化模式,执行步骤S204。
步骤S202,利用所述实时转换模块生成结构化的配置数据。
步骤S203,将所述结构化的配置数据展示在页面中。
步骤S204,利用所述实时转换模块生成配置文本。
步骤S205,将所述配置文本展示在页面中。
上述步骤实现了根据用户的页面操作,智能实时转换文本化配置与结构化配置,避免用户重复操作。
在本申请的一些实施例中,所述Nginx配置方法还可以包括:
对各目标配置文件进行实时监测,并在监测到目标配置文件发生变化后,在页面中重新加载所述目标配置文件。
下面对本申请实施例提供的支持结构化及文本化的Nginx配置装置进行描述,下文描述的支持结构化及文本化的Nginx配置装置与上文描述的支持结构化及文本化的Nginx配置方法可相互对应参照。
请参见图4,本申请实施例提供的支持结构化及文本化的Nginx配置装置,可以包括:
配置模式判断单元61,用于在接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
文本修改处理单元62,用于若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
结构化修改处理单元63,用于若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,并将所述网页配置数据更新到目标数据库中;
配置文件同步单元64,用于利用实时转换模块基于目标数据库中的配置数据生成配置文本,并将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于上述各实施例中的Nginx配置系统。
在本申请的一些实施例中,所述Nginx配置装置还可以包括模式切换单元,所述模式切换单元用于:
接收到用户的模式切换请求后,基于所述模式切换指令,判断切换方向是从文本化模式切换至结构化模式,还是从结构化模式切换至文本化模式;
若切换方向为从文本化模式切换至结构化模式,利用所述实时转换模块生成结构化的配置数据,并将所述结构化的配置数据展示在页面中;
若切换方向为从结构化模式切换至文本化模式,利用所述实时转换模块生成配置文本,并将所述配置文本展示在页面中。
在本申请的一些实施例中,所述Nginx配置装置还可以包括文件监测单元,所述文件监测单元用于:
对各目标配置文件进行实时监测,并在监测到目标配置文件发生变化后,在页面中重新加载所述目标配置文件。
本申请实施例提供的支持结构化及文本化的Nginx配置装置可应用于支持结构化及文本化的Nginx配置设备,如计算机等。可选的,图5示出了支持结构化及文本化的Nginx配置设备的硬件结构框图,参照图5,支持结构化及文本化的Nginx配置设备的硬件结构可以包括:至少一个处理器31,至少一个通信接口32,至少一个存储器33和至少一个通信总线34。
在本申请实施例中,处理器31、通信接口32、存储器33、通信总线34的数量为至少一个,且处理器31、通信接口32、存储器33通过通信总线34完成相互间的通信;
处理器31可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;
存储器33可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器33存储有程序,处理器31可调用存储器33存储的程序,所述程序用于:
接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,将所述网页配置文本更新到目标配置文件中,并利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,将所述网页配置数据更新到目标数据库中,并利用实时转换模块基于所述网页配置数据生成配置文本,以及将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于上述各实施例中的Nginx配置系统。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,将所述网页配置文本更新到目标配置文件中,并利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,将所述网页配置数据更新到目标数据库中,并利用实时转换模块基于所述网页配置数据生成配置文本,以及将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于上述各实施例中的Nginx配置系统。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
综上所述:
本申请包括文本化配置解析模块、配置文本内容生成模块以及实时转换模块。其中,所述文本化配置解析模块用于,基于配置文本,生成结构化的配置数据;所述配置文本内容生成模块用于,基于结构化的配置数据,生成配置文本。所述配置文本为基于Nginx配置语法编写的文本,每一配置文本对应于Nginx服务器配置文件目录下的一个配置文件。所述结构化的配置数据以Key-Value的形式记录Nginx配置中每一配置项的内容,同时记录了各配置项之间的层次关系,能够以图形化的形式直观地展示在页面中,避免了手工编辑可能引起的错误,通过各配置项的层次关系,使得用户可以快速找到并修改所需的配置项,提高了配置的可维护性。所述实时转换模块用于,通过网页套接字将网页配置数据传送至所述配置文本内容生成模块,并利用所述配置文本内容生成模块,基于所述网页配置数据,生成配置文本,以及,通过网页套接字将网页配置文本传送至所述文本化配置解析模块,并利用所述文本化配置解析模块,基于所述网页配置文本,生成结构化的配置数据。通过所述实时转换模式,使得用户可以在页面中实时地、无缝地切换不同的配置模式,满足了用户需求的多样性。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种支持结构化及文本化的Nginx配置系统,其特征在于,包括文本化配置解析模块、配置文本内容生成模块以及实时转换模块;
所述文本化配置解析模块用于,基于配置文本,生成结构化的配置数据;
所述配置文本内容生成模块用于,基于结构化的配置数据,生成配置文本;
所述实时转换模块用于,通过网页套接字将网页配置数据传送至所述配置文本内容生成模块,并利用所述配置文本内容生成模块,基于所述网页配置数据,生成配置文本,以及,通过网页套接字将网页配置文本传送至所述文本化配置解析模块,并利用所述文本化配置解析模块,基于所述网页配置文本,生成结构化的配置数据。
2.根据权利要求1所述的Nginx配置系统,其特征在于,所述文本化配置解析模块基于配置文本,生成结构化的配置数据的过程,包括:
基于预设的配置字段以及正则表达式,对所述配置文本进行解析,得到各配置块以及每一配置块的关键字段配置;
基于每一配置块以及所述配置块的关键字段配置,生成结构化的配置数据。
3.根据权利要求2所述的Nginx配置系统,其特征在于,基于预设的配置字段以及正则表达式,对所述配置文本进行解析,得到各配置块以及每一配置块的关键字段配置的过程,包括:
扫描所述配置文本中的每一字符,并基于预设的配置字段以及正则表达式,获取各配置块;
利用正则表达式获取各配置块的关键字段配置。
4.根据权利要求2所述的Nginx配置系统,其特征在于,所述文本化配置解析模块还用于,将所述结构化的配置数据以JSON格式记录到数据库中。
5.根据权利要求1所述的Nginx配置系统,其特征在于,所述配置文本内容生成模块基于结构化的配置数据,生成配置文本的过程,包括:
遍历所述结构化的配置数据中的每一配置项,并将每一配置项转换为文本命令;
对各文本命令按照Nginx配置语法进行编排,得到配置文本。
6.根据权利要求5所述的Nginx配置系统,其特征在于,所述配置文本内容生成模块还用于,将配置文本保存到配置文件中,并生成以配置文件为键、以配置文本为值的配置数据,所述配置数据为JSON格式的。
7.一种支持结构化及文本化的Nginx配置方法,其特征在于,包括:
接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,并将所述网页配置数据更新到目标数据库中;
利用实时转换模块基于目标数据库中的配置数据生成配置文本,并将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于权利要求1~6中任一项所述的Nginx配置系统。
8.根据权利要求7所述的Nginx配置方法,其特征在于,还包括:
接收到用户的模式切换请求后,基于所述模式切换指令,判断切换方向是从文本化模式切换至结构化模式,还是从结构化模式切换至文本化模式;
若切换方向为从文本化模式切换至结构化模式,利用所述实时转换模块生成结构化的配置数据,并将所述结构化的配置数据展示在页面中;
若切换方向为从结构化模式切换至文本化模式,利用所述实时转换模块生成配置文本,并将所述配置文本展示在页面中。
9.根据权利要求7所述的Nginx配置方法,其特征在于,还包括:
对各目标配置文件进行实时监测,并在监测到目标配置文件发生变化后,在页面中重新加载所述目标配置文件。
10.一种支持结构化及文本化的Nginx配置装置,其特征在于,包括:
配置模式判断单元,用于在接收到用户的修改请求后,基于所述修改请求,判断配置模式是文本化模式还是结构化模式;
文本修改处理单元,用于若配置模式为文本化模式,基于配置页面中的内容获取网页配置文本,利用实时转换模块基于所述网页配置文本生成结构化的配置数据,以及将所述结构化的配置数据更新到目标数据库中;
结构化修改处理单元,用于若配置模式为结构化模式,基于配置页面中的内容获取网页配置数据,并将所述网页配置数据更新到目标数据库中;
配置文件同步单元,用于利用实时转换模块基于目标数据库中的配置数据生成配置文本,并将所述配置文本更新到目标配置文件中;
其中,所述实时转换模块来自于权利要求1~6中任一项所述的Nginx配置系统。
CN202311414060.3A 2023-10-27 2023-10-27 一种支持结构化及文本化的Nginx配置系统、方法及装置 Pending CN117235404A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311414060.3A CN117235404A (zh) 2023-10-27 2023-10-27 一种支持结构化及文本化的Nginx配置系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311414060.3A CN117235404A (zh) 2023-10-27 2023-10-27 一种支持结构化及文本化的Nginx配置系统、方法及装置

Publications (1)

Publication Number Publication Date
CN117235404A true CN117235404A (zh) 2023-12-15

Family

ID=89082780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311414060.3A Pending CN117235404A (zh) 2023-10-27 2023-10-27 一种支持结构化及文本化的Nginx配置系统、方法及装置

Country Status (1)

Country Link
CN (1) CN117235404A (zh)

Similar Documents

Publication Publication Date Title
US11010412B2 (en) Coding commands using syntax templates
JP5550636B2 (ja) 潜在転送表示を使用してドキュメントを編集する技術
US10120847B2 (en) Methods for transforming requests for web content and devices thereof
JP5188284B2 (ja) サービス接続システム及びサービス接続方法
JP5031819B2 (ja) サービスシーケンス内の変換のための宣言
US9323587B2 (en) Method and system for automatic detecting and resolving APIs
CN112100550A (zh) 一种页面构建方法和装置
CN111881385B (zh) 推送内容生成方法、装置、设备和可读存储介质
CN1881883A (zh) 通信装置和浏览器切换方法
CN107870989A (zh) 网页生成方法及终端设备
CN113158619A (zh) 文档处理方法、装置、计算机可读存储介质及计算机设备
CN112506854B (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
WO2019153555A1 (zh) Er关系生成方法、装置、计算机设备及存储介质
JP2021111403A (ja) ランディングページの処理方法、装置、機器及び媒体
CN111651639A (zh) 一种地址空间管理方法、装置、设备和介质
CN113010332A (zh) 一种远程服务调用方法、装置、设备及存储介质
CN116245052A (zh) 一种图纸迁移方法、装置、设备和存储介质
CN113872805B (zh) 网络拓扑信息可视化方法、装置及介质
US20160315997A1 (en) File transfer method, device, and system
CN117235404A (zh) 一种支持结构化及文本化的Nginx配置系统、方法及装置
CN109788034B (zh) 用于网关接入设备的配置方法、电子设备及存储介质
CN113268232A (zh) 一种页面皮肤生成方法、装置和计算机可读存储介质
US7856344B2 (en) Method for transforming overlapping paths in a logical model to their physical equivalent based on transformation rules and limited traceability
US9537736B2 (en) Methods and systems to generate reports including report references for navigation
CN111001157B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240322

Address after: Unit 1, Building 1, China Telecom Zhejiang Innovation Park, No. 8 Xiqin Street, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100

Applicant after: Tianyi Shilian Technology Co.,Ltd.

Country or region after: China

Address before: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200072

Applicant before: Tianyi Digital Life Technology Co.,Ltd.

Country or region before: China