CN111371809A - 一种基于反向代理架构的服务器及gis服务访问控制方法 - Google Patents

一种基于反向代理架构的服务器及gis服务访问控制方法 Download PDF

Info

Publication number
CN111371809A
CN111371809A CN202010228178.7A CN202010228178A CN111371809A CN 111371809 A CN111371809 A CN 111371809A CN 202010228178 A CN202010228178 A CN 202010228178A CN 111371809 A CN111371809 A CN 111371809A
Authority
CN
China
Prior art keywords
unit
gis
service
access
user
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
Application number
CN202010228178.7A
Other languages
English (en)
Other versions
CN111371809B (zh
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.)
Geospace Information Technology Co Ltd
Original Assignee
Wuda Geoinformatics 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 Wuda Geoinformatics Co ltd filed Critical Wuda Geoinformatics Co ltd
Priority to CN202010228178.7A priority Critical patent/CN111371809B/zh
Publication of CN111371809A publication Critical patent/CN111371809A/zh
Application granted granted Critical
Publication of CN111371809B publication Critical patent/CN111371809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于反向代理架构的服务器及GIS服务访问控制方法,利用对Nginx的二次开发和扩展重新构建反向代理体系,并利用反向代理机制统一所有请求入口;同时结合GeoGlobe GIS内核通过提供空间运算模块实现在服务访问过程中的访问权限管理;最后,结合Lua高效处理能力,编写处理脚本进一步覆盖全部OGC标准协议的服务。

Description

一种基于反向代理架构的服务器及GIS服务访问控制方法
技术领域
本发明属于通信技术领域,具体涉及一种基于反向代理架构的服务器,及基于该服务器实现多源异构GIS服务访问控制的方法。
背景技术
GIS(Geographic Information System,地理信息系统)是一种获取、处理、管理和分析地理空间数据的技术,凡是和空间位置有关的应用都可以采用GIS技术。
在现有地理信息共享服务平台的建设过程中,保障多源异构服务的统一管理,对外构建高效运作、安全的统一服务体系是平台最核心、最基础的能力。
然而,传统GIS服务结构具有多异、访问性能不足、安全性不够的缺陷,不利于业务扩展和信息资源的重用。
发明内容
本发明要解决的技术问题在于,针对现有技术访问性能不足、安全性不够的缺陷,提供一种基于反向代理架构的服务器及GIS服务访问控制方法。
本发明解决其技术问题所采用的技术方案是:构造一种基于反向代理架构的服务器,包括Nginx服务单元、Lua扩展单元、Lua脚本服务单元和响应服务单元;其中:
所述Nginx服务单元,用于接收服务访问请求信息;
所述Lua扩展单元,用于获取所述服务访问请求信息,并将所述服务访问请求信息转发到Lua服务单元;
所述Lua脚本服务单元包括GIS内核加载单元、准入权限判断单元和GIS服务访问权限判断单元,其中:
所述GIS内核加载单元,用于加载预定义的第一Lua脚本,利用所述第一Lua脚本加载GIS内核动态库来构建空间运算模型,再将构建的空间运算模型进行缓存,并将其常驻到Nginx公共执行单元下,再通过线程管理将常驻到Nginx公共执行单元下的空间运算模型变为Nginx启动常驻线程;
所述准入权限判断单元,用于加载预定义的第二Lua脚本,基于用户的身份信息对用户端的准入访问权限进行判断,并在准入权限判断成功的情况下,驱动GIS服务访问权限判断单元进入工作模式;
所述GIS服务访问权限判断单元,用于在准入权限判断成功的情况下,进行GIS服务访问权限判断,其中,通过调用GIS内核加载单元中在启动常驻线程构建的空间运算模型,并同时异步请求Redis数据库,查询用户授权信息;结合空间运算模型和用户授权信息进行与GIS服务访问相关的属性字段匹配,即GIS服务访问权限的判断,在GIS服务访问权限的判断成功的情况下,驱动响应服务单元进入工作模式;
所述响应服务单元,用于响应请求结果给用户端。
本发明提供的一种利用上述服务器实现GIS服务访问控制的方法,包括以下步骤:
S1、用户端向服务器发送GIS服务访问请求信息,其中,首先利用Nginx服务单元接收到该访问请求信息,其次,利用Lua扩展单元将访问请求信息转发到Lua脚本服务单元,在所述Lua脚本服务单元下先利用GIS内核加载单元来加载预定义的第一Lua脚本,通过加载GIS内核动态库来构建空间运算模型,再将构建的空间运算模型进行缓存,将其常驻到Nginx公共执行单元下,再通过线程管理将常驻到Nginx公共执行单元下的空间运算模型变为Nginx启动常驻线程;
S2、服务器对接收到的GIS服务访问请求信息进行处理,其中,在处理过程中,依次通过准入权限判断单元来加载预定义的第二Lua脚本对用户端的准入访问权限进行判断,在准入权限判断的过程中基于用户的身份信息判断其准入访问权限,在准入权限判断成功的情况下,驱动GIS服务访问权限判断单元来调用步骤S1中在启动常驻线程中构建的空间运算模型,并同时异步请求redis数据库,结合查询到的用户授权信息,进行GIS服务访问权限的判断;
S3、基于步骤S2,在通过所述第二Lua脚本对GIS服务访问权限鉴权成功的情况下,驱动响应服务单元响应请求结果给用户端。
本发明所述的一种基于反向代理架构的服务器及GIS服务访问控制方法,利用Lua语言驱动GIS内核能力,继而提高GIS服务访问控制的执行效率。
实施本发明的一种基于反向代理架构的服务器及GIS服务访问控制方法,具有以下有益效果:
1、利用Nginx的反向代理能力以及对其的二次开发和能力扩展,以反向代理和负载均衡来把磁盘IO的压力分发到多台业务服务器,从而提高整个系统的性能;
2、利用脚本引擎中处理速度最快的Lua脚本编写鉴权逻辑(规避了JVM的系统消耗),结合高性能的的Redis缓存数据库,大大降低了系统资源的消耗。从而让整个鉴权机制变得轻巧、灵活;
3、结合地理空间信息的运算和处理能力实现GIS服务鉴权;
4、结合多源异构GIS服务特征实现多源异构服务的统一反向代理和代理地址简洁化的能力。本发明高度集成Nginx的反向代理规则能力,结合包含地图服务、ArcGIS服务在内的众多多源异构服务的特征,定制不同的反向代理规则,并结合代理规则精简化反向代理地址。从而让整个多源异构服务的代理地址简单明了、一目了然。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明第一实施例提供的一种基于反向代理架构的服务器的系统结构图;
图2是本发明基于第一实施例提供的Lua脚本服务单元的系统结构图;
图3是本发明基于第一实施例提供的GIS服务访问权限判断单元的系统结构图;
图4是实现GIS服务访问控制方法流程图;
图5是访问控制的技术结构图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
第一实施例:
请参考图1,其为本发明提供的一种基于反向代理架构的服务器的系统结构图,该服务器由以下几部分组成:
Nginx服务单元、Lua扩展单元、Lua脚本服务单元和响应服务单元。
每个单元实现的功能为:
所述Nginx服务单元用于接收服务访问请求信息;
所述Lua扩展单元用于获取所述服务访问请求信息,并将所述服务访问请求信息转发到Lua脚本服务单元;
所述Lua脚本服务单元用于执行GIS(Geographic Information System,地理信息系统)内核加载、准入权限判断和GIS服务访问权限的判断,基于其执行功能,所述Lua脚本服务单元划分为以下几个子模块,执行上述各项功能:
GIS内核加载单元、准入权限判断单元和GIS服务访问权限判断单元,其中,每个子单元的执行功能为:
所述GIS内核加载单元用于加载预定义的第一Lua脚本,利用所述第一Lua脚本加载GIS内核动态库来构建空间运算模型,再将构建的空间运算模型进行缓存,并将其常驻到Nginx公共执行单元下,再通过线程管理将常驻到Nginx公共执行单元下的空间运算模型变为Nginx启动常驻线程;
下面将以一个应用实施例对GIS内核加载单元的功能做进一步描述:
首先,在服务器启动时,加载Nginx到Init_by_lua*模块,通过加载自定义的Lua脚本geo_proxy_init.lua(第一Lua脚本),来加载GIS内核动态库构建空间运算模型,所述空间运算模块可以为360金字塔模型、空间几何图形模型、矢量集合对象模型、范围矩阵模型、空间参照系转换模型及空间范围比较模型等,本实施例以360金字塔模型为例做进一步说明,通过上述360金字塔模型来实现空间服务的特定权限管理,如:地图瓦片服务按范围授权、地图要素服务按属性字段授权等;其次,常驻到Nginx公共执行模块即Nginx公共缓存模块,在加入到Nginx_worders线程管理后,将构建的360金字塔模型变为Nginx启动常驻线程,当前的处理步骤的目的是为了降低每次请求都需要重新构建运算模型,从而达到访问性能提升的目的。
所述准入权限判断单元用于加载预定义的第二Lua脚本,基于用户的身份信息对用户端的准入访问权限进行判断,并在准入权限判断成功的情况下,驱动GIS服务访问权限判断单元进入工作模式;
下面将以一个应用实施例对准入权限判断单元的功能做进一步描述:
当前在执行的时候,当Nginx加载到Access_by_lua*模块时,加载自定义Lua脚本geo_proxy_entrance.lua(第二Lua脚本),通过该脚本做基本的权限判断条件过滤,而其中的权限判断分为对用户的准入权限权限判断和GIS访问权限判断:
1、准入权限主要用于基于用户身份信息例如用户名、访问IP地址、组织部门、应用系统,判断是否允许用户访问GIS服务,同时在访问权限不在在有效期内且用户身份信息不匹配时,将提示用户访问失败,具体的在应用的时候,类似的在用户端为PC端时可以返回403/405页面即访问失败的提示信息到前端显示页面,或者在用户端为移动端(例如:手机、平板电脑)可以已短信的形式发送访问失败的消息提醒用户。
在准入权限判断成功的情况下,则进入GIS服务访问权限鉴权,所述GIS服务访问权限鉴权主要是基于GIS服务访问权限判断单元来执行;所述GIS服务访问权限判断单元用于在准入权限判断成功的情况下,进行GIS服务访问权限判断,其中,GIS服务访问权限判断规则为:
通过调用GIS内核加载单元中在启动常驻线程构建的空间运算模型,并同时异步请求Redis数据库,结合查询到的用户授权信息,进行GIS服务访问权限的判断。
当前在GIS服务访问权限的判断成功的情况下,驱动响应服务单元进入工作模式。
本实施例下,所述GIS权限判断单元中还包括属性字段匹配单元,所述属性字段匹配单元用于结合空间运算模型和用户授权信息进行与GIS服务访问相关的属性字段匹配,具体的所述属性字段包括服务图层、地图瓦片服务范围和地图要素服务;
在属性字段匹配失败的情况下,驱动响应服务单元反馈访问失败的提示信息到用户端例如返回403/405页面到前端显示页面;若用户端为手机,则当前可以考虑以短信的方式,将访问失败的信息发送到手机用户端;若用户端不包括显示屏幕,则在用户端包括声、光警示部件的时候,驱动所述声、光警示部件即时进入工作模式,例如发出警报或亮红灯的提示信号。
在属性字段匹配成功的情况下,驱动响应服务单元响应访问成功的提示信息到用户端例如加载对应的GIS服务界面到前端显示页面上,或者上述用户为手机、不包括显示屏幕的实施场景。
所述响应服务单元用于响应请求结果给用户端。
本实施例下,需要说明第一、二、三Lua脚本,均为用Lua语言编写的执行脚本,其本质上基本一样,只是在编写规则不同的情况下,其执行功能有所区别。
第二实施例:
本实施例中,为了缓解高并发给服务器端带来的压力,在Lua脚本服务单元下设置了队列管理单元(请参考图2),所述队列管理单元通过队列的方式在未达到并发/队列程度时,执行预先定义的Lua脚本,进入鉴权判断处理单元;在达到了并发/队列程度时,证明当前缓存量过大,服务器并不能即时进行数据处理,当前转入PHP队列等待进程,当队列等待进程结束后,再执行当前实施例下所述预先定义的Lua脚本。
因此,本实施例下是考虑了在高并发的情况下,通过设置的队列管理单元来执行PHP等待进程,进一步缓解服务器的缓存压力。
第三实施例:
本实施例下为了加强数据传输的安全性,在鉴权成功的情况下,对响应到用户端的内容进行重写,结合Lua高效处理能力,编写安全处理脚本,比如过滤一切请求中涉及Sql注入和Sql盲注的非法参数。
具体在实施的时候,所述属性字段匹配单元下设置一个重写单元(请参考图3),所述重写单元用于在所述属性字段匹配成功的情况下,执行用Lua语言编写的安全处理脚本重写授权之后的响应内容,且将重写后的响应内容反馈到响应服务单元,由所述响应服务单元将响应内容反馈到用户端;具体的重写授权之后的响应内容包括请求连接地址重写、请求头内容重写和请求体提重写。
基于前述3个实施例,上述服务器实现GIS服务访问控制的流程具体请参考图4,具体包括以下初始化阶段、GIS服务访问请求阶段和请求响应阶段:
在初始化阶段下:利用GIS内核加载单元来加载预定义的初始化脚本,通过加载GIS内核动态库来构建空间运算模型(本实施例下考虑的是360金字塔模型),再将构建的空间运算模型进行缓存,将其常驻到Nginx公共执行单元下,再通过线程管理将常驻到Nginx公共执行单元下的空间运算模型变为Nginx启动常驻线程;
在GIS服务访问请求阶段下:用户端向服务器发送GIS服务访问请求信息,服务器对接收到的GIS服务访问请求信息进行处理,在处理过程中,依次通过准入权限判断单元来加载预定义的权限判断脚本对用户端的准入访问权限以及GIS访问权限进行判断,而其中,在准入权限判断的过程中基于用户的身份信息判断其准入访问权限,在准入权限判断成功的情况下,驱动GIS服务访问权限判断单元来调用在启动常驻线程中构建的空间运算模型,并同时异步请求Redis数据库,结合查询到的用户授权信息,进行GIS服务访问权限的判断;
当前阶段下,在进行身份鉴权前,通过队列管理单元对服务器的并发状况进行判定;其中,采用PHP队列管理,通过队列的方式在未达到并发/队列程度时,再执行权限判断脚本;在达到了并发/队列程度时,则转入PHP队列等待进程,当队列结束后,再执行权限判断脚本,通过队列的方式来缓解高并发给服务器端带来的压力。
在准入权限判断步骤中,若用户的访问权限在预设的有效期内,且所述用户的身份信息鉴权成功的情况下,进入GIS服务访问权限的判断;
在准入权限判断失败的情况下,在用户端的显示单元下显示访问失败的提示信息。
在GIS权限判断步骤中,通过属性字段匹配单元结合空间运算模型和用户授权信息进行与GIS服务访问相关的属性字段匹配;其中,在属性字段匹配失败的情况下,在用户端的显示单元下显示访问失败的提示信息;
在所述属性字段匹配成功的情况下,完成权限判断并响应请求结果到用户端。
在请求响应阶段:再通过权限判断脚本对GIS服务访问权限鉴权成功的情况下,驱动响应服务单元响应请求结果给用户端。
为了进一步保证信息传输的安全性,在所述属性字段匹配成功的情况下,则通过重写单元执行安全处理脚本重写授权之后的响应内容,所述重写授权之后的响应内容包括请求连接地址重写、请求头内容重写、请求体重写;步骤S3中反馈给用户端的响应内容即为所述重写授权之后的响应内容。
请参考图5,当前技术架构下各个关键点技术描述为:
GIS服务系统用于提供原始GIS服务的创建;
Nginx用于提供反向代理和负载均衡,进行请求访问的控制;
GeoGlobeGIS内核用于构建空间运算模型,通过定制编写的Lua脚本进行GIS服务访问权限的控制;
Java和Redis组成管理后端,结合Redis与Lua脚本实现业务打通和身份信息的管理;
本发明提供的技术架构下利用GeoGlobeGIS内核结合Java和Lua脚本进行空间计算和处理的业务定制,为访问控制提供GIS服务的预处理及解析能力。利用Lua语言驱动GIS内核能力,继而实现GIS服务访问控制的解决方法,利用Nginx的4层网络和7层网络分别反向代理静态资源和一般请求,以反向代理和负载均衡来把磁盘IO的压力分发到多台业务服务器,从而提高整个系统的性能。
相比于在以往的Java权限系统中往往存在大量的数据库查询,循环运算最终由JVM编译成当前系统可识别的编码,特别是在空间信息鉴权,还需要调用其他开发语言的GIS内核,以致性能低下,响应时间长的问题。本发明利用目前脚本引擎中处理速度最快的Lua脚本编写鉴权逻辑(规避了JVM的系统消耗),结合高性能的的Redis缓存数据库,大大降低了系统资源的消耗。从而让整个鉴权机制变得轻巧、灵活。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种基于反向代理架构的服务器,其特征在于,包括Nginx服务单元、Lua扩展单元、Lua脚本服务单元和响应服务单元;其中:
所述Nginx服务单元,用于接收服务访问请求信息;
所述Lua扩展单元,用于获取所述服务访问请求信息,并将所述服务访问请求信息转发到Lua脚本服务单元;
所述Lua脚本服务单元包括GIS内核加载单元、准入权限判断单元和GIS服务访问权限判断单元,其中:
所述GIS内核加载单元,用于加载预定义的第一Lua脚本,利用所述第一Lua脚本加载GIS内核动态库来构建空间运算模型,并将构建的空间运算模型进行缓存,将其常驻到Nginx公共执行单元下,最后通过线程管理将常驻到Nginx公共执行单元下的空间运算模型变为Nginx启动常驻线程;
所述准入权限判断单元,用于加载预定义的第二Lua脚本,基于用户的身份信息对用户端的准入访问权限进行判断,并在准入权限判断成功的情况下,驱动GIS服务访问权限判断单元进入工作模式;
所述GIS服务访问权限判断单元,用于在准入权限判断成功的情况下,进行GIS服务访问权限判断,其中,通过调用GIS内核加载单元中在启动常驻线程构建的空间运算模型,并同时异步请求Redis数据库,查询用户授权信息;结合空间运算模型和用户授权信息进行与GIS服务访问相关的属性字段匹配,即GIS服务访问权限的判断,在GIS服务访问权限的判断成功的情况下,驱动响应服务单元进入工作模式;
所述响应服务单元,用于响应请求结果给用户端。
2.根据权利要求1所述的服务器,其特征在于,所述Lua脚本服务单元下还包括队列管理单元,所述队列管理单元通过队列的方式在未达到并发/队列程度时,执行第二Lua脚本;而在达到了并发/队列程度时,则转入PHP队列等待进程,当前的队列等待进程结束后,再依次执行第二Lua脚本。
3.根据权利要求1所述的服务器,其特征在于,在准入权限判断单元中,准入判断的条件包括用户名、访问IP地址和应用系统信息,以及用户的访问权限,判断访问权限是否在预设的有效期内;在访问权限在预设的有效期内,且用户名、访问IP地址和应用系统信息均匹配成功的情况下,认定为准入访问权限判断成功;其他情况即在准入访问权限判断失败的情况下,驱动响应服务单元反馈访问失败的提示信息到用户端,用户端在接收到该提示信息的时候,在其显示单元下显示访问失败的提示信息。
4.根据权利要求1所述的服务器,其特征在于,GIS权限判断单元中包括属性字段匹配单元,所述属性字段匹配单元用于结合空间运算模型和用户授权信息进行与GIS服务访问相关的属性字段匹配,所述属性字段包括服务图层、地图瓦片服务范围和地图要素服务;
在属性字段匹配失败的情况下,驱动响应服务单元反馈访问失败的提示信息到用户端,用户端在接收到该提示信息的时候,在其显示单元下显示访问失败的提示信息;
在属性字段匹配成功的情况下,驱动响应服务单元响应访问成功的提示信息到用户端。
5.根据权利要求4所述的服务器,其特征在于,所述属性字段匹配单元下还包括重写单元,所述重写单元用于在所述属性字段匹配成功的情况下,执行第三Lua脚本重写授权之后的响应内容,且将重写后的响应内容反馈到响应服务单元,由所述响应服务单元将其反馈到用户端;
所述重写授权之后的响应内容包括请求连接地址重写、请求头内容重写和请求体提重写。
6.一种利用权利要求1-5中任一所述的服务器实现GIS服务访问控制的方法,其特征在于,包括以下步骤:
S1、用户端向服务器发送GIS服务访问请求信息,其中,首先利用Nginx服务单元接收到该访问请求信息,其次,利用Lua扩展单元将访问请求信息转发到Lua脚本服务单元,在所述Lua脚本服务单元下先利用GIS内核加载单元来加载预定义的第一Lua脚本,通过加载GIS内核动态库来构建空间运算模型,再将构建的空间运算模型进行缓存,将其常驻到Nginx公共执行单元下,再通过线程管理将常驻到Nginx公共执行单元下的空间运算模型变为Nginx启动常驻线程;
S2、服务器对接收到的GIS服务访问请求信息进行处理,其中,在处理过程中,依次通过准入权限判断单元来加载预定义的第二Lua脚本对用户端的准入访问权限进行判断,在准入权限判断的过程中基于用户的身份信息判断用户的准入访问权限,在准入权限判断成功的情况下,驱动GIS服务访问权限判断单元来调用步骤S1中在启动常驻线程中构建的空间运算模型,并同时异步请求redis数据库,结合查询到的用户授权信息,进行GIS服务访问权限的判断;
S3、基于步骤S2,在通过所述第二Lua脚本对GIS服务访问权限鉴权成功的情况下,驱动响应服务单元响应请求结果给用户端。
7.根据权利要求6所述的实现GIS服务访问控制的方法,其特征在于,步骤S2中,在执行第二Lua脚本进行鉴权前,通过队列管理单元对服务器的并发状况进行判定;其中,采用PHP队列管理,通过队列的方式在未达到并发/队列程度时,执行第二Lua脚本;在达到了并发/队列程度时,则转入PHP队列等待进程,当队列等待进程结束后,再执行第二Lua脚本,通过队列的方式来缓解高并发给服务器端带来的压力。
8.根据权利要求7所述的实现GIS服务访问控制的方法,其特征在于,步骤S2中,在准入权限判断步骤中,若用户的访问权限在预设的有效期内,且所述用户的身份信息鉴权成功的情况下,进入GIS服务访问权限的判断;
在准入权限判断失败的情况下,在用户端的显示单元下显示访问失败的提示信息。
9.根据权利要求8所述的实现GIS服务访问控制的方法,其特征在于,步骤S2中,在GIS服务访问权限判断过程中,通过属性字段匹配单元结合空间运算模型和用户授权信息进行与GIS服务访问相关的属性字段匹配;其中,在属性字段匹配失败的情况下,在用户端的显示单元下显示访问失败的提示信息;
在所述属性字段匹配成功的情况下,执行步骤S3。
10.根据权利要求9所述的实现GIS服务访问控制的方法,其特征在于,在所述属性字段匹配成功的情况下,通过重写单元执行第三Lua脚本重写授权之后的响应内容,所述重写授权之后的响应内容包括请求连接地址重写、请求头内容重写、请求体重写;步骤S3中反馈给用户端的响应内容即为所述重写授权之后的响应内容。
CN202010228178.7A 2020-03-27 2020-03-27 一种基于反向代理架构的服务器及gis服务访问控制方法 Active CN111371809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010228178.7A CN111371809B (zh) 2020-03-27 2020-03-27 一种基于反向代理架构的服务器及gis服务访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010228178.7A CN111371809B (zh) 2020-03-27 2020-03-27 一种基于反向代理架构的服务器及gis服务访问控制方法

Publications (2)

Publication Number Publication Date
CN111371809A true CN111371809A (zh) 2020-07-03
CN111371809B CN111371809B (zh) 2022-02-18

Family

ID=71212093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010228178.7A Active CN111371809B (zh) 2020-03-27 2020-03-27 一种基于反向代理架构的服务器及gis服务访问控制方法

Country Status (1)

Country Link
CN (1) CN111371809B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866336A (zh) * 2020-12-30 2021-05-28 北京交通大学 异步网络通信方法、通信系统、装置及存储介质
CN113923023A (zh) * 2021-10-09 2022-01-11 京东科技信息技术有限公司 权限配置和数据处理的方法、装置、电子设备及介质
CN115379011A (zh) * 2022-04-25 2022-11-22 上海数慧系统技术有限公司 一种应用于地理信息系统服务的数据处理方法及装置
CN116719645A (zh) * 2023-08-04 2023-09-08 凯泰铭科技(北京)有限公司 用于车损案件的服务进程管理方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105338115A (zh) * 2015-11-26 2016-02-17 上海晶赞科技发展有限公司 数据服务器
CN106251385A (zh) * 2016-07-20 2016-12-21 南京师范大学 脚本驱动的层次化图形构造方法
CN106775775A (zh) * 2017-01-24 2017-05-31 深圳市启仑智能科技有限公司 一种基于OpenResty的高性能MVC框架
CN109347998A (zh) * 2018-12-27 2019-02-15 网宿科技股份有限公司 一种DNS出口服务器ip地址的探测方法及系统
CN109522386A (zh) * 2018-12-25 2019-03-26 武汉众智鸿图科技有限公司 一种跨gis平台的空间信息服务生成方法和系统
CN110020061A (zh) * 2018-08-21 2019-07-16 广州市城市规划勘测设计研究院 一种智慧城市时空信息云平台服务引擎
CN110636041A (zh) * 2019-08-09 2019-12-31 西藏宁算科技集团有限公司 一种基于OpenResty的云端鉴权方案实现方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105338115A (zh) * 2015-11-26 2016-02-17 上海晶赞科技发展有限公司 数据服务器
CN106251385A (zh) * 2016-07-20 2016-12-21 南京师范大学 脚本驱动的层次化图形构造方法
CN106775775A (zh) * 2017-01-24 2017-05-31 深圳市启仑智能科技有限公司 一种基于OpenResty的高性能MVC框架
CN110020061A (zh) * 2018-08-21 2019-07-16 广州市城市规划勘测设计研究院 一种智慧城市时空信息云平台服务引擎
CN109522386A (zh) * 2018-12-25 2019-03-26 武汉众智鸿图科技有限公司 一种跨gis平台的空间信息服务生成方法和系统
CN109347998A (zh) * 2018-12-27 2019-02-15 网宿科技股份有限公司 一种DNS出口服务器ip地址的探测方法及系统
CN110636041A (zh) * 2019-08-09 2019-12-31 西藏宁算科技集团有限公司 一种基于OpenResty的云端鉴权方案实现方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866336A (zh) * 2020-12-30 2021-05-28 北京交通大学 异步网络通信方法、通信系统、装置及存储介质
CN113923023A (zh) * 2021-10-09 2022-01-11 京东科技信息技术有限公司 权限配置和数据处理的方法、装置、电子设备及介质
CN113923023B (zh) * 2021-10-09 2024-04-05 京东科技信息技术有限公司 权限配置和数据处理的方法、装置、电子设备及介质
CN115379011A (zh) * 2022-04-25 2022-11-22 上海数慧系统技术有限公司 一种应用于地理信息系统服务的数据处理方法及装置
CN115379011B (zh) * 2022-04-25 2024-04-26 上海数慧系统技术有限公司 一种应用于地理信息系统服务的数据处理方法及装置
CN116719645A (zh) * 2023-08-04 2023-09-08 凯泰铭科技(北京)有限公司 用于车损案件的服务进程管理方法及系统
CN116719645B (zh) * 2023-08-04 2023-10-03 凯泰铭科技(北京)有限公司 用于车损案件的服务进程管理方法及系统

Also Published As

Publication number Publication date
CN111371809B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN111371809B (zh) 一种基于反向代理架构的服务器及gis服务访问控制方法
US20210216700A1 (en) Information Processing Method and System
US7877091B2 (en) Method and system for executing a container managed application on a processing device
US8788787B2 (en) Systems, methods and architecture for facilitating software access to acceleration technology
CN111737022B (zh) 一种基于微服务的接口调用方法、系统、设备及介质
CN112882709B (zh) 基于容器引擎系统的渲染方法、装置、设备以及存储介质
CN113032766B (zh) 应用权限管理的方法和装置
CN110377369B (zh) 一种运行小程序的方法、设备和计算机存储介质
CN111240863B (zh) 数据通信方法、装置、微前端系统及存储介质
CN114327137A (zh) 基于车机多操作系统的触控方法、装置和计算机设备
CN104516885A (zh) 浏览程序双内核组件的实现方法及装置
CN110210241B (zh) 一种数据脱敏方法和装置
WO2023051355A1 (zh) 权限检查的方法和电子设备
CN111970162B (zh) 一种超融合架构下的异构gis平台服务中控系统
EP3828739B1 (en) Parallelization of authentication strategies
WO2021169379A1 (zh) 权限复用方法、基于权限复用的资源访问方法及相关设备
CN111813529B (zh) 数据处理方法、装置、电子设备及存储介质
CN116185669B (zh) 一种广播分发方法及相关设备
CN116048771B (zh) 一种资源调度方法及相关设备
CN101819524B (zh) Rfid阅读器的访问方法及其接口驱动设备
CN112448909A (zh) 电子锁管理方法、装置、系统及存储介质
CN113765869B (zh) 一种登录方法、装置、服务端及存储介质
CN109669793B (zh) 中间件进程内对象调用方法
CN113568881A (zh) 一种实现读写共享的方法、系统、设备及介质
CN113760465A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province

Patentee after: Geospace Information Technology Co., Ltd.

Address before: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province

Patentee before: WUDA GEOINFORMATICS Co.,Ltd.