CN112351104A - 一种基于脚本引擎的代理服务器功能扩展方法和系统 - Google Patents
一种基于脚本引擎的代理服务器功能扩展方法和系统 Download PDFInfo
- Publication number
- CN112351104A CN112351104A CN202011255569.4A CN202011255569A CN112351104A CN 112351104 A CN112351104 A CN 112351104A CN 202011255569 A CN202011255569 A CN 202011255569A CN 112351104 A CN112351104 A CN 112351104A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- proxy server
- back end
- script
- script engine
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于脚本引擎的代理服务器功能扩展方法和系统,所述方法包括:用户通过表单提交变更配置信息;获取修改的配置内容,进行拼接重组并生成配置文件;用新的配置文件覆盖旧的配置文件;触发重启脚本,完成代理服务重启。本发明通过代理服务端结合脚本语言实现访问权限控制功能,完善路由转发功能。将与转发相关的功能从应用的代码中分离,通过脚本语言更加简单、灵活地实现,降低应用代码耦合度。
Description
【技术领域】
本发明属于计算机技术领域,尤其涉及一种基于脚本引擎的代理服务器功能扩展方法和系统。
【背景技术】
现有常见项目在版本更迭硬件设施变更时,代理服务经常需要对应的做出更新,此时需要相关的开发或者运维人员登录代理服务的机器,对配置进行修改,对服务进行重启。代理服务在转发请求信息的同时,非常适合增加访问权限控制功能或者路由转发功能扩展。但是代理服务本身提供的简单方法无法满足各个项目中深层次的需求。现有技术存在如下问题:无法实时生效,在更新代理服务的配置时,需远程登录代理服务所在的机器,然后找到配置文件并进行修改,重启代理服务使更新内容生效。缺少用户访问权限控制,代理服务代理相应服务之后,如果不加设置,可以访问代理服务的用户,就可以访问所有的服务。路由转发功能单一,代理服务器通过静态文件来配置路由转发的地址,如果转发的地址更新,则必须修改代配置文件,并且重启代理服务器。静态配置不支持通过动态获取转发规则判断转发地址。针对上述问题,本发明能够:(1)用户只需要关注代理服务配置本身,上传配置重启代理服务等重复内容通过代码来实现。应用中的代码不再需要涉及转发的相关内容,与转发相关的需求功能交给代理服务来实现,实现应用代码的高内聚低耦合,增强代码模块的独立性。(2)通过表单类型编号、内容项目编号和相应类型配置文件的直接映射,大大的提高了重组速度,同时降低流转时间,并保障了安全性;(3)提出了二次鉴权的方式,使得能够差异化的对不同的装置和服务进行鉴权,通过二次鉴权表推送、摘要值下载和快速比较的方式,保障了服务、设备鉴权所需信息的安全性和效率。(4)无论是脚本中的控制逻辑还是从数据库中获取的控制规则都是可以动态实时更新的;数据库设置在后端或者专用的数据库服务器中;通过设置分离的数据库设置,可以将后端验证和用户权限验证分离开来,从而实现分离的权限控制,能够适应后端功能的多样化设置并方便进行服务的迁移,同时保障了安全性和修改的灵活性。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种基于脚本引擎的代理服务器功能扩展方法和系统,所述方法包含:
步骤S1:前端提供修改代理服务配置信息的界面,用户通过表单提交变更配置信息;
步骤S2:后端获取修改的配置信息,并对配置信息按照完整的配置文件格式进行拼接重组并生成新的配置文件;
步骤S3还包括:后端在获取修改的配置信息后获取相关联的鉴权信息,解析鉴权信息以判断用户是否拥有访问权限;
步骤S4:在指定路径下获取旧配置文件以做备份,将新配置文件发送到该指定路径,覆盖旧配置文件。
进一步的,所述方法还包括,步骤S5:发送成功之后,后端触发重启脚本,完成代理服务重启。
进一步的,在发送之后,调用鉴权装置做新配置文件修改,并在修改成功后显示发送成功。
进一步的,提交时,会对提交表单的内容和格式是否符合规则进行初步校验,该初步校验嵌入在可视化界面表单提交的脚本中,从而在前端完成简单的教研操作而无需进行后端校验。
进一步的,所述初步校验能够提供自动化纠正。
进一步的,所述后端获取修改的配置信息,具体为:后端通过表单获取修改后的配置信息。
进一步的,所述后端的脚本解析鉴权信息以判断用户是否拥有访问权限。
一种应用权利要求1-7中任一项所述的基于脚本引擎的代理服务器功能扩展方法的系统,其特征在于,包括:所述系统包括:前端和后端;所述前端和后端均为一个或多个。
进一步的,所述多个后端为分布式设置。
进一步的,所述后端为代理服务器。
本发明的有益效果包括:(1)用户只需要关注代理服务配置本身,上传配置重启代理服务等重复内容通过代码来实现。应用中的代码不再需要涉及转发的相关内容,与转发相关的需求功能交给代理服务来实现,实现应用代码的高内聚低耦合,增强代码模块的独立性。(2)通过表单类型编号、内容项目编号和相应类型配置文件的直接映射,大大的提高了重组速度,同时降低流转时间,并保障了安全性;(3)提出了二次鉴权的方式,使得能够差异化的对不同的装置和服务进行鉴权,通过二次鉴权表推送、摘要值下载和快速比较的方式,保障了服务、设备鉴权所需信息的安全性和效率。(4)无论是脚本中的控制逻辑还是从数据库中获取的控制规则都是可以动态实时更新的;数据库设置在后端或者专用的数据库服务器中;通过设置分离的数据库设置,可以将后端验证和用户权限验证分离开来,从而实现分离的权限控制,能够适应后端功能的多样化设置并方便进行服务的迁移,同时保障了安全性和修改的灵活性。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1为本发明的基于脚本引擎的代理服务器功能扩展方法示意图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
本发明提供一种基于脚本引擎的代理服务器功能扩展方法和系统,所述系统包括,前端和后端;所述前端和后端均为一个或多个;其中:所述前端用于为用户提供修改代理服务配置信息的界面,并将提交信息发送给后端;所述后端用于基于脚本引擎实现代理服务器的功能扩展;能够实现代理服务并提供配置更新等扩展功能;还用于进行权限校验,自动配置更新和地址转发;
优选的:所述后端为代理服务器;
优选的:所述多个后端为分布式设置;
对于分布式设置的情形,考虑到代理服务器的代理服务的提供具有区域性和用户偏好性导致的局部访问,在进行配置信息修改和提供代理服务时均可以利用该区域性和局部性,从而后续的数据库提供,鉴权装置的信息交换均可以减少相应的通信和存储开销;本发明的设置后端根据访问热度分布情况进行后端代理服务的提供和配置信息修改;一个或者多个后端可为一个或多个前端提供服务;通过访问热度分布情况使得后端在处理能力范围内为尽可能集中的前端提供服务,而只有在能力超过范围时,可以通过重定向的方式将前端的访问重定向到其他热度高但是具有处理能力的后端上;
对本发明所应用的一种基于脚本引擎的代理服务器功能扩展方法进行详细说明,如附图1所示,所述方法包含如下步骤:
步骤S1:前端提供修改代理服务配置信息的界面,用户通过表单提交变更配置信息;
前端提供修改代理服务器配置的可视化界面,所述可视化界面提供编辑、新增、删除配置信息的接口,例如:配置信息关于路由模块,则可以通过该可视化界面进行路由模块的删除操作;
优选的:提交时,会对提交表单的内容和格式是否符合规则进行初步校验,该初步校验嵌入在可视化界面表单提交的脚本中,从而在前端完成简单的教研操作而无需进行后端校验;
优选的:所述初步校验能够提供自动化纠正;
所述步骤还包括;对用户的访问权限进行控制;用户在进行配置信息的修改时,提交例如用户名、用户密码等鉴权信息,在通过表单提交变更后的配置信息时,鉴权信息和表单同时发送给后端;
优选的:所述后端还设置有鉴权数据库用于进行用户权限验证;
现有技术中,往往采用集中式提供服务的代理服务器,对代理服务本身的权限不加限制,导致了后端成为攻击源头从而使得整个系统安全性被颠覆,本发明可替换的设置为:所述系统还包括数据库服务器,用于设置后端可访问的用于存放鉴权信息的鉴权数据库,鉴权数据库中用于存放能够进行用户权限验证的信息;但是鉴权数据库本身是否是可以访问的,需要后端具有相应的权限,也就是说从软硬两个角度进行前后端的同时鉴权;
一种具体的实现方式是:权限用户知晓正确后端访问方式,并通过正确的访问方式访问正确后端,非权限用户不知晓访问方式并访问了错误后端;所述错误的后端包括对权限数据库访问权限过期的后端;这里访问方式可以是虚拟访问地址,通过正确的虚拟访问地址能够被定向到正确后端,正确后端提供界面使得用户能够提交变更的配置信息;正确的后端在访问数据库时因为后端自身的权限通过,因此,可以访问鉴权数据库并进一步的进行用户权限验证,而反之错误的后端无法进行权限验证,因此无法进一步的操作;通过这样的方式能够适应后端功能的多样化设置并方便进行服务的迁移;在服务迁移后,正确的后端变成错误的后端屏蔽了部分过期用户的非权限访问;
后端一旦失去了对鉴权数据库的访问权限,其鉴权能力乃至需要进行鉴权的代理服务提供能力就消失了,只能提供不需要鉴权的代理服务或者配置信息修改服务;
优选的:在进行数据库更新时,仅仅对具有权限的后端中包含的鉴权数据库或者数据库服务器中的鉴权数据库进行数据库更新;数据库设置有最长更新周期,当最长更新周期过后未收到任何的更新内容时,所数据库内容是无效的,数据库服务器或者后端可以进行数据库的删除;
步骤S2:后端获取修改的配置信息,并对配置信息按照完整的配置文件格式进行拼接重组并生成新的配置文件;
所述后端获取修改的配置信息,具体为:后端通过表单获取修改后的配置信息;
所述对配置信息按照完整的配置文件格式进行拼接重组并生成新的配置文件,具体为:根据表单类型编号获取相对应的配置文件类型,根据所述配置文件类型生成新的配置文件并为所述新的配置文件创建相应的存储空间,获取所述相应的存储空间的开始地址;根据所述配置文件类型,将表单中的内容项填入到新的配置文件中相应的位置中;
优选的:所述填入到配置文件中相应的位置中为直接填入到存储空间中相应的位置;通过这样的方式能够降低后端内部损耗;一种具体的做法是:将表单类型编号和内容项编号组成的二元组进行映射获取得到配置文件中填入的相对地址,将创建的存储空间开始地址加上所述相对地址得到的绝对地址作为所述内容项的直接填入的地址;通过相应类型的内容项和文件中位置的对应关系直接通过相对地址获取相应的位置,在提高重组速度的同时降低流转时间,提高安全性;这里需要设置映射函数对二元组进行映射;这里目标项目编号和其存储的相对地址没有正向线性关系,可以按照项目内容的类型存储管理,从而使得所述配置文件需要的存储空间较小;例如:二元组为(4,1)表示第4号类型的第1个内容项,填入的相对地址为001A;1A可能是文件头占用的空间,这样内容项从1A开始;
可替换的,为了避免再次存储映射表带来的空间浪费以及查表带来的计算浪费,本发明提出设置所述映射为映射函数,通过二元组中的表单类型编号,和内容项目编号,采用映射函数计算得到映射后的相对地址;这里,可以将每种类型的表单类型编号和内容项编号作为样本拟合得到相应的拟合函数作为映射函数,对于偏离拟合值较小的点,改变配置文件结构及其对应的相对地址以使得相对地址符合拟合函数输出值,而此时不会因为改变配置文件的结构并浪费存储空间,对于偏离拟合值较大的点,通过对表单类型和/或内容项目重新编号以使得其符合拟合函数;虽然拟合函数会造成一定的存储空间浪费但是这样计算速度会大大提高;例如:二元组为(4,1)偏离拟合函数较多,可以放弃编号4,改成编号(14,1)等;同样的,1也是可以重新编号的;
优选的:在将表单中的内容项填入到配置文件中相应的位置中时,如果表单中的内容项缺失(或为默认值),则记录缺失内容项的编号;根据所述编号计算缺失内容量;通过确实内容量指导后续的覆盖写操作;
步骤S3还包括:后端在获取修改的配置信息后获取相关联的鉴权信息,解析鉴权信息以判断用户是否拥有访问权限;具体的:后端访问本地数据库以判断用户的鉴权信息是否具有访问跳转页面的权限,如果有,则正常跳转,如果没有,则返回第一特定界面;
优选的:所述后端的脚本解析鉴权信息以判断用户是否拥有访问权限;
优选的:所述第一特定界面为相应的403界面;
这样,如果访问权限发生改变,只需要修改数据库中的鉴权信息和/或鉴权规则就可以动态实时生效了,下一次访问的时候脚本就会从数据库中获取最新的权限规则。可将数据库修改为限定权限的访问权限,从而将后端的代理服务配置信息的修改限定在特定的后端,此时,数据库设置在后端或者专用的数据库服务器中;通过设置分离的数据库设置,可以将后端验证和用户权限验证分离开来,从而实现分离的权限控制;
当鉴权数据库位于数据库服务器上时,通过后端表示访问鉴权数据库以获取鉴权信息;只有权限后端具有访问权限从而能够正确的完成步骤S3,否则,此时也可以直接返回第一特定界面;
步骤S4:在指定路径下获取旧配置文件以做备份,将新配置文件发送到该指定路径,覆盖旧配置文件;
获取指定路径,确定访问指定路径是否需要进行二次鉴权,如果是,则基于指定路径确定指定路径对应的鉴权装置,将鉴权信息、配置文件中的关键信息发送给鉴权装置以判断用户是否有访问权限,在有访问权限的情况下执行在指定路径下获取旧配置文件以做备份的步骤;如果否,则直接执行在指定路径下获取旧配置文件以作备份的步骤;
优选的:后端设置二次鉴权表,通过读取所述二次鉴权表以判断是否需要进行二次鉴权;这样,装置和设备可以根据自身的安全等级来设置并主动推送所述二次鉴权表,以协助实现差异化安全保护,可选的进行安全性保护提高了效率;
所述基于指定路径确定指定路径对应的鉴权装置,具体为:通过指定路径和对应的鉴权装置的地址或者标识之间的映射关系,获取对应的鉴权装置的地址或者标识;通过所述地址或标识能够访问对应的鉴权装置;
所述将鉴权信息、配置文件中的关键信息发送给鉴权装置以判断用户是否有访问权限,具体为:预先存储权限用户的鉴权信息、配置文件中的关键信息之间的对应关系;在判断时,如果存储有该对应关系,则判断用户有访问权限,反之亦然;其中:配置文件中的关键信息包括配置文件支持的服务名称、服务类型、配置文件类型等;通过这样的方式,使得配置文件的更改需要和特定装置、服务关联,而不是无差别的仅仅针对一个单一的用户进行鉴权处理;当然,这里鉴权信息可以为空的,这样仅仅对配置文件中的关键信息做限制,从而允许或者限制特定的配置信息、关于特定服务的配置信息修改等;
优选的:所述指定路径位于所述鉴权装置上;
优选的:计算对应关系中每条对应关系的摘要值,将摘要值保存为二叉树的形式;鉴权装置获取所述二叉树,计算需要判断的鉴权信息、配置文件中的关键信息的摘要值,基于所述摘要值进行二叉树查找以判断是否有相同的摘要值,如果有则判断有访问权限,反之则没有;
可替换的:按照摘要值的大小将摘要值按照从小到达的顺序保存为数值序列,通过二分法查找的方式进行摘要值比较,以判断是否有访问权限;
优选的:对应关系分布式保存在分布式安全装置中,鉴权装置通过访问所属分布式安全装置以获取相关的摘要值;
优选的:所分布式安全装置为区块链装置;
所述在指定路径下获取旧配置文件以做备份,具体为:在鉴权装置上请求做配置文件修改并在鉴权装置上获取备份空间,在指定路径下获取配置文件以在备份空间中备份,
优选的:通过调用鉴权装置上的API的方式请求做配置文件修改;而鉴权装置通过API的方式提供相关服务;
现有技术中往往都是一次鉴权,也就是直接对最简单的鉴权信息中的用户名和密码进行数据库查询,但是实际上,由于设备本身的差异化,配置文件隶属的服务的多样性,对不同设备、不同服务的配置文件修改只用配置文件的访问权限来概括会导致很大的安全隐含;而且通常鉴权信息都是保存在鉴权装置上,这样会造成二次安全隐患;本发明提出了二次鉴权的方式,使得能够差异化的对不同的装置和服务进行鉴权,通过摘要值下载和快速比较的方式,保障了服务、设备鉴权所需信息的安全性和效率。而通过鉴权装置提供服务的方式相比现有技术中直接备份在后端的方式,使得安全性得到进一步保障;
优选的:所述覆盖旧配置文件,具体为:当缺失内容量大于缺失量阈值时,根据配置文件类型、缺失内容项编号、指定路径地址,计算覆盖写入时需要跳过的地址,使得在覆盖旧配置文件时,取值为缺失或者默认值的内容项不被覆盖而得以保持;当缺失内容项小于等于缺失量阈值时,直接将新的配置文件内容写入到所述指定路径地址;缺失量阈值为一个平衡值,当进行跳过写带来的开销要大于直接写入时,无需执行复杂的跳过而直接进行写入:通过本发明提出的这种覆盖写的方式,使得表单不需要默认填写机械的默认值,而是直接让用户透明的继续使用上一次配置文件中的信息作为默认值,大大的提高了表单填写的用户体验;同时,通过引入平衡值,使得该项处理不会带来过多的开销;
优选的:当鉴权装置的硬件发生更新带来写入模式发生改变和/或配置文件大小发生改变时,重新计算所述缺失量阈值;通过设置缺失量阈值作为开关值,即使进行软硬件更新该扩展方法和系统还是兼容和高效的;
步骤S5:发送成功之后,后端触发重启脚本,完成代理服务重启;
优选的:在发送之后,调用鉴权装置做新配置文件修改,并在修改成功后显示发送成功;
优选的:在配置文件修改完毕后,后端重启代理服务,并将启动结果返回给前端;将跳转页面呈现给用户;
所述方法还包括:步骤S5:在接收到前端发送的请求时,进行功能扩展的路由转发;具体的:在前端在发送请求到后端时,后端中的脚本解析请求的路径以及请求中的携带信息,访问转发规则数据库以获取最新的转发规则,将路径和携带信息与最新的转发规则相匹配以获取正确的转发地址,后端根据接收到的正确的转发地址进行转发;
优选的:所述转发规则数据库和用于保存鉴权信息的鉴权数据库一样设置在数据库服务器中,后端需要具有权限才能够访问并提供代理服务功能;通过分布式权限服务器的方式,使得如果转发规则需要更改,则只需要修改转发规则数据库中存放的内容即可,在下次代理服务器接受到请求时,新的规则和新的的转发地址就可以实时生效,从而同时保障了安全性和修改的灵活性;
当然,对于保存鉴权信息的鉴权数据库和保存转发规则的数据库两者可以进行差异化管理,使用不同或者相同的访问权限;转发规则数据库可以根据其使用情况进行管理,当超过最长使用周期后,该转发规则数据库都没有被使用过时,认为所述转发规则数据库内容是无效的,数据库服务器或者后端可以进行数据库的删除或者预删除;
优选的:前端通过访问后端提供的API接口以发出请求;
优选的:设置脚本引擎嵌入到后端中,因为脚本引擎内凑、高速,可以极大地减少业务逻辑实现成本。相应的,后端装载该脚本引擎的即时编译器模块以解析并执行后端的脚本文件,通过即时编译器的支持使得对脚本文件的修改不需要重启后端设备就能动态实时生效;
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于脚本引擎的代理服务器功能扩展方法,其特征在于,所述方法包含:
步骤S1:前端提供修改代理服务配置信息的界面,用户通过表单提交变更配置信息;
步骤S2:后端获取修改的配置信息,并对配置信息按照完整的配置文件格式进行拼接重组并生成新的配置文件;
步骤S3还包括:后端在获取修改的配置信息后获取相关联的鉴权信息,解析鉴权信息以判断用户是否拥有访问权限;
步骤S4:在指定路径下获取旧配置文件以做备份,将新配置文件发送到该指定路径,覆盖旧配置文件。
2.根据权利要求1所述的基于脚本引擎的代理服务器功能扩展方法,其特征在于,所述方法还包括,步骤S5:发送成功之后,后端触发重启脚本,完成代理服务重启。
3.根据权利要求2所述的基于脚本引擎的代理服务器功能扩展方法,其特征在于,在发送之后,调用鉴权装置做新配置文件修改,并在修改成功后显示发送成功。
4.根据权利要求3所述的基于脚本引擎的代理服务器功能扩展方法,其特征在于,提交时,会对提交表单的内容和格式是否符合规则进行初步校验,该初步校验嵌入在可视化界面表单提交的脚本中,从而在前端完成简单的教研操作而无需进行后端校验。
5.根据权利要求4所述的基于脚本引擎的代理服务器功能扩展方法,其特征在于,所述初步校验能够提供自动化纠正。
6.根据权利要求5所述的基于脚本引擎的代理服务器功能扩展方法,其特征在于,所述后端获取修改的配置信息,具体为:后端通过表单获取修改后的配置信息。
7.根据权利要求6所述的基于脚本引擎的代理服务器功能扩展方法,其特征在于,所述后端的脚本解析鉴权信息以判断用户是否拥有访问权限。
8.一种应用权利要求1-7中任一项所述的基于脚本引擎的代理服务器功能扩展方法的系统,其特征在于,包括:所述系统包括:前端和后端;所述前端和后端均为一个或多个。
9.根据权利要求8所述的实现分布式服务配置热更新的系统,其特征在于,所述多个后端为分布式设置。
10.根据权利要求8所述的实现分布式服务配置热更新的系统,其特征在于,所述后端为代理服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011255569.4A CN112351104B (zh) | 2020-11-11 | 2020-11-11 | 一种基于脚本引擎的代理服务器功能扩展方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011255569.4A CN112351104B (zh) | 2020-11-11 | 2020-11-11 | 一种基于脚本引擎的代理服务器功能扩展方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112351104A true CN112351104A (zh) | 2021-02-09 |
CN112351104B CN112351104B (zh) | 2021-09-10 |
Family
ID=74363474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011255569.4A Active CN112351104B (zh) | 2020-11-11 | 2020-11-11 | 一种基于脚本引擎的代理服务器功能扩展方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112351104B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365646A (zh) * | 2012-04-11 | 2013-10-23 | 怡丰联合(北京)科技有限责任公司 | 基于脚本引擎的表单自定义、逻辑定义及处理方法 |
CN106487542A (zh) * | 2015-08-26 | 2017-03-08 | 北京京东尚科信息技术有限公司 | 一种利用配置中心管理动态脚本的方法和系统 |
CN107896220A (zh) * | 2017-11-30 | 2018-04-10 | 成都航天科工大数据研究院有限公司 | 一种基于多租户的云平台租户管理方法及实现该方法的工业物联云平台 |
CN108037961A (zh) * | 2017-12-07 | 2018-05-15 | 北京锐安科技有限公司 | 一种应用程序配置方法、装置、服务器和存储介质 |
WO2018188342A1 (zh) * | 2017-04-13 | 2018-10-18 | 平安科技(深圳)有限公司 | 脚本文件生成方法、装置、设备和计算机可读存储介质 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110519088A (zh) * | 2019-08-15 | 2019-11-29 | 上海易点时空网络有限公司 | 配置服务容灾方法及系统 |
CN110569085A (zh) * | 2019-08-15 | 2019-12-13 | 上海易点时空网络有限公司 | 配置文件加载方法及系统 |
-
2020
- 2020-11-11 CN CN202011255569.4A patent/CN112351104B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365646A (zh) * | 2012-04-11 | 2013-10-23 | 怡丰联合(北京)科技有限责任公司 | 基于脚本引擎的表单自定义、逻辑定义及处理方法 |
CN106487542A (zh) * | 2015-08-26 | 2017-03-08 | 北京京东尚科信息技术有限公司 | 一种利用配置中心管理动态脚本的方法和系统 |
WO2018188342A1 (zh) * | 2017-04-13 | 2018-10-18 | 平安科技(深圳)有限公司 | 脚本文件生成方法、装置、设备和计算机可读存储介质 |
CN107896220A (zh) * | 2017-11-30 | 2018-04-10 | 成都航天科工大数据研究院有限公司 | 一种基于多租户的云平台租户管理方法及实现该方法的工业物联云平台 |
CN108037961A (zh) * | 2017-12-07 | 2018-05-15 | 北京锐安科技有限公司 | 一种应用程序配置方法、装置、服务器和存储介质 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110519088A (zh) * | 2019-08-15 | 2019-11-29 | 上海易点时空网络有限公司 | 配置服务容灾方法及系统 |
CN110569085A (zh) * | 2019-08-15 | 2019-12-13 | 上海易点时空网络有限公司 | 配置文件加载方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112351104B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3399434B1 (en) | Short link processing method, device and server | |
US9009728B2 (en) | Method and apparatus for widget and widget-container distribution control based on content rules | |
CN105677646A (zh) | 字库生成方法、字库生成系统和服务器 | |
CN103391312B (zh) | 资源离线下载方法及装置 | |
US10324896B2 (en) | Method and apparatus for acquiring resource | |
CN113535648A (zh) | 一种基于ipfs的分布式云存储方法、设备及存储介质 | |
US10783317B2 (en) | Generation of combined documents from content and layout documents based on semantically neutral elements | |
KR101962301B1 (ko) | 구조화 문서의 페이지렛의 캐싱 | |
EP3251048A1 (en) | Executing an operation over file repositories located in different authentication domains using a representational state transfer (rest)-compliant client | |
CN110262872B (zh) | 负载均衡应用管理方法、装置、计算机设备及存储介质 | |
CN105956136B (zh) | 登录信息的获取方法和装置 | |
CN110266792B (zh) | 地址转换方法、装置、设备与计算机可读存储介质 | |
CN108280237B (zh) | 一种灰度发布方法及装置、系统、计算机存储介质 | |
CN107315972A (zh) | 一种大数据非结构化文件动态脱敏方法及系统 | |
CN101170507A (zh) | 异步并发处理方法 | |
CN106899564B (zh) | 一种登录方法和装置 | |
US10474659B2 (en) | Large scale network system upgrade | |
CN112351104B (zh) | 一种基于脚本引擎的代理服务器功能扩展方法和系统 | |
KR20060080180A (ko) | 데이터 애셋들을 캐싱하는 방법 | |
JP4249605B2 (ja) | クライアントサーバシステムおよびキャッシュ制御方法ならびにコンピュータプログラム | |
CN113961841A (zh) | 原生应用网页加载方法、系统、存储介质及设备 | |
CN108256352B (zh) | 一种web防护特征库自动打包的方法、装置及终端 | |
JP7102783B2 (ja) | システム管理装置、システム管理方法、およびプログラム | |
CN102761547B (zh) | 稍后阅读客户端实现系统、方法及稍后阅读客户端 | |
CN111752559A (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 |