CN110519380B - 一种数据访问方法、装置、存储介质及电子设备 - Google Patents
一种数据访问方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110519380B CN110519380B CN201910811727.0A CN201910811727A CN110519380B CN 110519380 B CN110519380 B CN 110519380B CN 201910811727 A CN201910811727 A CN 201910811727A CN 110519380 B CN110519380 B CN 110519380B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- access
- address
- target 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.)
- Active
Links
Images
Classifications
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及计算机网络技术领域,提供一种数据访问方法、装置、存储介质及电子设备。其中,数据访问方法应用于Nginx服务器,具体包括:开放唯一的数据访问接口,监听并拦截用户通过所述数据访问接口发起的针对目标数据的访问请求;从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址;将所述访问请求代理到所述目标设备的地址,获得针对所述访问请求的响应数据;向用户发送所述响应数据。上述方法简化了Nginx服务器的配置以及处理逻辑,提高了用户访问的安全性,同时基于该方法还可以实现数据权限的隔离。
Description
技术领域
本发明涉及计算机网络技术领域,具体而言,涉及一种数据访问方法、装置、存储介质及电子设备。
背景技术
Nginx是一种高性能的HTTP和反向代理Web服务器,其常用功能为:反向代理和负载均衡。其中,反向代理的意思是用户只需要把请求发给特定的反向代理服务器,具体请求是谁处理的用户不需要知道,由代理服务器统一处理,对于客户端而言,访问反向代理服务器就如同访问原始服务器一样。
在一种常见的应用场景中,用户通过Nginx服务器对存储在设备上的数据进行访问,其中Nginx服务器负责将用户的访问请求代理到相应的设备。在现有技术中,由于用户要访问的数据可能存储在不同的设备上,这些设备的访问地址不同,因此Nginx服务器要配置多个访问地址,并监听针对这些访问地址的访问请求,其配置繁琐,处理逻辑复杂。
发明内容
本申请实施例的目的在于提供一种数据访问方法、装置、存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种数据访问方法,应用于Nginx服务器,所述方法包括:开放唯一的数据访问接口,监听并拦截用户通过所述数据访问接口发起的针对目标数据的访问请求;从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址;将所述访问请求代理到所述目标设备的地址,获得针对所述访问请求的响应数据;向用户发送所述响应数据。
在上述方法中,Nginx服务器只开放唯一的接口供用户发起数据访问请求,并通过访问请求中携带的目标数据的标识来确定存储目标数据的目标设备的地址,从而简化了Nginx服务器的配置以及处理逻辑,同时也便于对该接口进行安全管控,从而提高了用户访问数据的安全性。
此外,基于该方法还可以实现数据权限的隔离,某个用户发起的访问请求中携带的数据标识是什么,该用户就只能访问这一标识对应的数据,该用户不知道其他用户发起的访问请求中携带什么标识,也就无权访问其他用户所能够访问的数据。
在第一方面的一些实现方式中,所述从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址,包括:调用嵌入所述Nginx服务器的脚本执行以下步骤:从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址。
在这些实现方式中,并非利用Nginx服务器本身的配置来确定目标设备地址,而是利用嵌入Nginx服务器的脚本根据目标数据的标识来确定目标设备地址,从而实现了Nginx服务器本身的配置与业务流程(即根据目标数据的标识来确定目标设备地址的过程)相分离,这样即使业务流程所涉及的配置发生了变化(例如,目标设备的地址发生了改变),也不会影响Nginx服务器本身的配置。从而,Nginx服务器的运维人员无需关心业务流程,只要维护好Nginx服务器本身的配置即可,既降低了系统的维护难度和维护成本,也不会出现Nginx服务器的运维人员因不熟悉业务流程的配置而做出误操作,从而有利于提高系统的安全性。而对于业务流程涉及的配置,则可由业务人员进行,业务人员也无需关心Nginx服务器如何配置。
在第一方面的一些实现方式中,所述利用所述目标数据的标识查找存储所述目标数据的目标设备的地址,包括:读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系;查找与所述目标数据的标识相匹配的所述可访问数据的标识,并根据所述对应关系,将与查找到的标识对应的所述可访问设备的地址确定为所述目标设备的地址。
在这些实现方式中,事先建立好可访问数据的标识与可访问设备的地址之间的对应关系,从而根据目标数据的标识就可以快速查找到目标设备的地址,其处理逻辑简单高效。
在第一方面的一些实现方式中,所述读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系,包括:从配置文件中读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系。
在这些实现方式中,将可访问数据的标识与可访问设备的地址之间的对应关系保存在独立的配置文件中,从而一旦配置文件进行了修改(例如,修改可访问设备的地址),修改结果可以立刻生效而无需重启Nginx服务器,即具有“热插拔”的特性,有利于改善用户体验。
在第一方面的一些实现方式中,所述目标数据为文本数据,所述访问请求为HTTP请求,所述目标数据的标识携带在所述HTTP请求的头部。
在第一方面的一些实现方式中,所述目标数据为视频数据,所述访问请求为WebSocket请求,所述目标数据的标识追加于所述WebSocket请求中的地址末尾。
针对以上两类实现方式,需要指出,HTTP请求也可以用于访问视频数据,WebSocket请求也可以用于访问文本数据,并无严格限制,只是在一些情况下客户端Html页面对通过WebSocket请求获取视频流支持更好,并且WebSocket协议对长时间轮询具有一定优势。
在第一方面的一些实现方式中,所述Nginx服务器部署在外网,所述目标设备部署在内网,所述外网与所述内网之间通过单向网关隔离,所述内网被划分为至少一个网段。
这些实现方式提供了数据访问方法的一种具体应用场景,该场景包括外网和内网,在单向网关的限制下,外网设备可以访问内网,但内网设备不能访问外网,当然内网并不直接暴露给外网,外网用户访问内网时需通过Nginx服务器进行反向代理,内网中的设备上存储外网用户欲访问的数据,同时内网划分网段,根据业务需求,网段可能发生变更,变更后目标设备的地址可能发生变化,相应的配置需要修改。
第二方面,本申请实施例提供一种数据访问装置,配置于Nginx服务器,所述装置包括:请求拦截模块,用于开放唯一的数据访问接口,监听并拦截用户通过所述数据访问接口发起的针对目标数据的访问请求;地址查找模块,用于从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址;代理模块,用于将所述访问请求代理到所述目标设备的地址,获得针对所述访问请求的响应数据;响应模块,用于向用户发送所述响应数据。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种应用场景的示意图;
图2示出了本申请实施例提供的一种数据访问方法的流程图;
图3示出了本申请实施例提供的一种数据访问装置的功能模块图;
图4示出了本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在很多业务场景中,用户需要通过Nginx服务器对存储在设备上的数据进行访问,Nginx服务器负责将用户发起的访问请求代理到相应的设备。下面以一个业务场景为例进行介绍。
参照图1,该场景包括外网和内网,内网和外网之间通过单向网关140进行隔离,在单向网关140的限制下,外网设备可以访问内网,但内网设备不能访问外网。在该场景中,外网的用户通过客户端100向Nginx服务器110发起针对数据的访问请求,Nginx服务器110负责将访问请求代理到内网中存储有该数据的设备,并将设备返回的响应数据发送给客户端100,也即将数据返回给了用户。不同的用户可能需要访问不同的数据,这些数据可以存储于内网中不同的设备上,并且内网中可以划分至少一个网段,这些设备可能位于不同的网段中。为便于描述,将内网中存储数据的设备称为可访问设备160,可访问设备160存储的数据称为可访问数据,意思是可供用户访问的数据。针对特定用户发起的一次访问请求,其要访问的数据是明确的,称为目标数据,而存储目标数据的内网设备称为目标设备150,显然,目标数据属于可访问数据之一,目标设备150也属于可访问设备160之一。
图1中的客户端100既可以理解为用户使用的设备,如手机、台式机、笔记本电脑、平板电脑、专用设备等,也可以理解为客户端软件,例如浏览器、手机APP、专用客户端软件等。Nginx服务器110既可以理解为Nginx程序,也可以理解为部署了Nginx程序的服务器,包括普通服务器或云服务器。
继续参照图1,例如,X省购买了一套道路监控平台,该平台的监控数据存储于内网中的服务器上,X省下辖A、B、C三个地区(如三个城市),A区、B区、C区用户需要通过Nginx服务器的代理功能访问内网中属于自己区域内的监控数据。在图1中示出的是A区用户请求访问A区数据的情况,此时,存储A区数据的内网设备为目标设备150,存储B区数据和C区数据的内网设备为可访问设备160(目标设备150也属于可访问设备160)。
需要指出,图1中的场景仅仅是示例性的,虽然在后文的阐述中也会结合图1作说明,但图1的内容并不构成对本申请保护范围的限制。例如,在应用本申请提供的数据访问方法时,并不要求网络环境分为内网和外网,或者即使分为内网和外网,二者之间也不一定要设置单向网关,也可以是普通网关,等等。
图2示出了本申请实施例提供的一种数据访问方法的流程图,该方法可以由Nginx服务器执行。参照图2,该方法包括:
步骤S200:开放唯一的数据访问接口,监听并拦截用户通过数据访问接口发起的针对目标数据的访问请求。
通过配置Nginx服务器,可以对指定的访问地址进行监听,从而拦截到用户发起的访问请求。由于用户要访问的数据可能存储在不同的设备上,这些设备的访问地址不同,因此Nginx服务器往往要配置多个访问地址,并监听针对这些访问地址的访问请求,其配置繁琐,处理逻辑复杂。
以图1的场景为例,在现有技术中,A区用户要查看A区内的道路监控数据,需要向访问地址xx.xx.xx.AA:8080/camera?cameraId=1001发送访问请求,其中,xx.xx.xx.AA为存储A地区数据的目标设备的IP地址,8080为端口号,后面的内容为数据的具体位置。B区用户要查看B地区内的道路监控数据,需要向访问地址xx.xx.xx.BB:8080/camera?cameraId=1001发送访问请求。C区用户要查看C地区内的道路监控数据,需要向访问地址xx.xx.xx.CC:8080/camera?cameraId=1001发送访问请求。Nginx服务器中同时配置上述三个访问地址,从而可以针对这三个访问地址的访问请求进行监听和拦截,然后将拦截到的请求代理到相应的访问地址。这导致Nginx配置起来比较繁琐,用户发起访问请求也不方便,必须针对与数据相应的访问地址发起请求。
在本申请中,Nginx服务器只对外提供一个数据访问接口,所有的用户都通过这一个接口进行数据访问,用户通过在访问请求中携带目标数据的标识来指定要访问的数据,Nginx也可以根据该标识确定用户的访问意图,在后续步骤再进一步介绍。既然Nginx服务只开放了唯一的数据访问接口,Nginx服务器也只需要配置针对该接口的监听和拦截,配置起来比较简单,同时用户发起访问请求也更方便。另外,采用唯一的数据访问接口也便于对该接口进行安全管控,进而改善用户进行数据访问的安全性。
还是以图1为例,对于本申请实施例提供的数据访问方法,Nginx服务器可以只提供如下数据访问接口(也是一个访问地址)xx.xx.xx.xx:8080/ca mera?cameraId=1001,A区用户、B区用户以及C区用户都通过该访问接口发起对数据的访问请求。其中,xx.xx.xx.xx为Nginx服务器的IP地址。
需要指出,在本申请中,地址一词的范围通常包含IP地址和端口号,而不仅仅指IP地址,在后文不再特别说明。
步骤S210:从访问请求中解析出目标数据的标识,并根据目标数据的标识查找存储目标数据的目标设备的地址。
数据的标识用于区分不同的数据,以图1为例,不同区域的监控数据可以用区域码进行区分,如A区用户针对A区数据的访问请求中携带区域码CodeA,B区用户针对B区数据的访问请求中携带区域码CodeB等。当然,根据具体业务的不同,数据的标识不限于区域码,例如只要是一个能够区分不同数据的字串即可。
针对于不同类型的数据,用户可以发起不同类型的访问请求。例如,若目标数据为文本数据,则访问请求可以采用HTTP请求,此时目标数据的标识可以携带在HTTP请求的头部,解析时可以从HTTP请求的头部获得该标识。又例如,若目标数据为视频数据,则访问请求可以采用WebSocket请求,此时目标数据的标识可以追加于WebSocket请求中的地址(指数据访问接口的地址)末尾,解析时可以从WebSocket请求中的地址末尾截取出该标识。
需要指出,其实HTTP请求也可以用于访问视频数据,WebSocket请求也可以用于访问文本数据,并无严格限制,只是在一些情况下客户端Html页面对通过WebSocket请求获取视频流支持更好,并且WebSocket协议对长时间轮询具有一定优势,所以针对视频数据的访问可以优先采用WebSocket请求。当然,除了文本数据和视频数据外,还可能有其他类型的数据,可以针对这些数据的特性采用相应协议的访问请求,或者统一采用HTTP请求。还需要指出,访问请求中还可以携带其他与路由相关的参数,并不限于目标数据的标识。
Nginx服务器获得目标数据的标识后,可以查找并获得与该标识对应的目标设备的地址。基于数据标识还可以实现数据权限的隔离,即某个用户发起的访问请求中携带的标识是什么,该用户就只能访问这一标识对应的目标数据,该用户不知道其他用户发起的访问请求中携带什么标识,也就无权访问其他用户所能够访问的目标数据。以图1为例,A区用户发起的访问请求中携带区域码CodeA,就决定了A区用户只能访问A区数据,而无法访问B区、C区数据,A区用户也无法获知区域码CodeB和区域码CodeC,例如,可以通过加密手段避免区域码泄漏给其他用户知道。
在一些实现方式中,可以事先配置好可访问数据的标识与可访问设备的地址之间的对应关系,并将该对应关系保存在数据库或配置文件中。从而Nginx服务器可以读取上述对应关系,并在其中高效地查找与目标数据的标识相匹配的可访问数据的标识,若能找到匹配的标识,则该标识对应的可访问设备的地址即为目标设备的地址,若不能找到匹配的标识,则针对目标数据的访问无法继续,可以采取向用户返回提示信息、在日志中记录访问失败等相应的措施。
对于步骤S210,可以实现为Nginx服务器本身的逻辑,也可以放到一个嵌入Nginx服务器的可执行脚本中实现,Nginx程序只是负责调用这个脚本,获得脚本的返回的执行结果,即目标设备的地址。例如在图1中,采用了Lua脚本120来实现,并通过在Nginx程序中嵌入函数set_by_lua_file来调用Lua脚本120(函数名仅为示例,不作限定)。其中,Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,Lua脚本编译后体积非常小,可以很方便地嵌入到Nginx程序中,并且Lua还具有良好的可扩展性。可以理解的,实施时也可以采用其他类型的脚本,如Python脚本、Perl脚本等。
步骤S210属于业务相关的流程,因为其中涉及的配置(如,可访问设备的地址)与业务相关,即可能随业务的调整而变化。参照图1,在业务变更时,内网网段可能发生变化:例如A省购买道路监控平台后,先在A地区试用,因为试用效果较好,A省要求B地区、C地区接入其中,此时内网中可能需要新增网段;又例如,A地区试用一段时间后,需要对内网进行安全加固,内网网段可能出现变更。网段变化意味着内网设备的IP地址可能会调整(根据业务需求,端口也可能调整),即业务流程的配置也需要更新(注意,在某些业务中,即使网段不发生变化,也有可能更改设备的IP地址和/或端口)。
从而,若步骤S210实现为Nginx服务器本身的逻辑,在业务流程调整时,需要修改Nginx服务器本身的配置。而若步骤S210实现为可执行脚本中的逻辑,在业务流程调整时,并不需要修改Nginx服务器本身的配置,从而实现了Nginx服务器本身的配置与业务流程相分离。这样一来,Nginx服务器的运维人员无需关心业务流程,只要维护好Nginx服务器本身的配置即可,既降低了系统的维护难度和维护成本,也不会出现Nginx服务器的运维人员因不熟悉业务流程的配置而做出误操作,从而有利于提高系统的安全性。而对于业务流程涉及的配置,则可由业务人员进行,业务人员也无需关心Nginx服务器如何配置。
上述业务流程涉及的配置,具体可以是指之前提到了可访问数据的标识与可访问设备的地址之间的对应关系。这一对应关系可以直接写入到脚本中,或者也可以写入到一个独立的配置文件中,由脚本读取该配置文件的内容获得该对应关系,进而可以查找与目标数据的标识相匹配的可访问数据的标识。参照图1,上面提到的配置文件采用Json格式记录区域码与可访问设备的地址的对应关系,Lua脚本120接收到A区用户发起的访问请求后,从中解析出区域标识CodeA,然后读取配置文件,通过比对后,发现CodeA与Json数组的第一个元素中的区域码一致,从而确定目标设备的地址为xx.xx.xx.AA:8080,然后Lua脚本120将该地址返回给Nginx服务器(图1中还在地址末尾加上了/camera?)。
在采用独立的配置文件保存业务流程的配置时,一旦配置文件进行了修改(例如,改动、增加、删除可访问设备的地址),修改结果可以立刻生效而无需重启Nginx服务器,即具有“热插拔”的特性,由于用户不感知业务流程的配置更新,因此此种实现方式有利于改善用户体验。
步骤S220:将访问请求代理到目标设备的地址,获得针对访问请求的响应数据。
步骤S220属于Nginx服务器本身的功能,本申请并未改变其功能,因此在这里不作详细阐述。步骤S220中所称的响应数据可以是目标数据或目标数据的访问路径:例如,用户访问的是文本数据,则响应数据可以就是文本数据本身;又例如,用户访问的是视频数据,则响应数据可以就是视频流地址,用户获得该地址后可以通过访问该地址来播放视频,当然也不排除直接将视频流数据返回给用户的实现方式。
步骤S230:向用户发送响应数据。
例如,若用户访问文本数据,直接将获得的文本数据返回给用户即可;若用户访问视频数据,则需要将获得的视频流地址的末尾的参数删除(这些参数可能来源于WebSocket请求),避免用户无法直接访问视频流地址。
图3示出了本申请实施例提供的数据访问装置300的功能模块图。参照图3,数据访问装置300包括:请求拦截模块310,用于开放唯一的数据访问接口,监听并拦截用户通过所述数据访问接口发起的针对目标数据的访问请求;地址查找模块320,用于从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址;代理模块330,用于将所述访问请求代理到所述目标设备的地址,获得针对所述访问请求的响应数据;响应模块340,用于向用户发送所述响应数据。
在一些实现方式中,地址查找模块320从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址,包括:调用嵌入所述Nginx服务器的脚本执行以下步骤:从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址。
在一些实现方式中,地址查找模块320根据所述目标数据的标识查找存储所述目标数据的目标设备的地址,包括:读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系;查找与所述目标数据的标识相匹配的所述可访问数据的标识,并根据所述对应关系,将与查找到的标识对应的所述可访问设备的地址确定为所述目标设备的地址。
在一些实现方式中,地址查找模块320读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系,包括:从配置文件中读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系。
在一些实现方式中,所述目标数据为文本数据,所述访问请求为HTTP请求,所述目标数据的标识携带在所述HTTP请求的头部。
在一些实现方式中,所述目标数据为视频数据,所述访问请求为WebSocket请求,所述目标数据的标识追加于所述WebSocket请求中的地址末尾。
在一些实现方式中,所述Nginx服务器部署在外网,所述目标设备部署在内网,所述外网与所述内网之间通过单向网关隔离,所述内网被划分为至少一个网段。
本申请实施例提供的数据访问装置300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图4示出了本申请实施例提供的电子设备400的一种可能的结构。参照图4,电子设备400包括:处理器410、存储器420以及通信接口430,这些组件通过通信总线440和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器420包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器410以及其他可能的组件可对存储器420进行访问,读和/或写其中的数据。
处理器410包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口430包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口430可以是以太网接口;可以是移动通信网络接口,例如3G、4G、5G网络的接口;还是可以是具有数据收发功能的其他类型的接口。
在存储器420中可以存储一个或多个计算机程序指令,处理器410可以读取并运行这些计算机程序指令,以实现本申请实施例提供的数据访问方法的步骤以及其他期望的功能。
可以理解,图4所示的结构仅为示意,电子设备400还可以包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。例如,图1中的Nginx服务器110即可以采用电子设备400的结构实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的数据访问方法的步骤。例如,计算机可读存储介质可以实现为图4中电子设备400中的存储器420。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据访问方法,其特征在于,应用于Nginx服务器,所述方法包括:
开放唯一的数据访问接口,监听并拦截不同的用户通过所述数据访问接口发起的针对目标数据的访问请求;
从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址;其中,所述目标数据的标识经过加密,以使每个用户仅能获知自己使用的标识;
将所述访问请求代理到所述目标设备的地址,获得针对所述访问请求的响应数据;
向不同的用户发送与其发起的访问请求对应的响应数据。
2.根据权利要求1所述的数据访问方法,其特征在于,所述从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址,包括:
调用嵌入所述Nginx服务器的脚本执行以下步骤:从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址。
3.根据权利要求2所述的数据访问方法,其特征在于,所述根据所述目标数据的标识查找存储所述目标数据的目标设备的地址,包括:
读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系;
查找与所述目标数据的标识相匹配的所述可访问数据的标识,并根据所述对应关系,将与查找到的标识对应的所述可访问设备的地址确定为所述目标设备的地址。
4.根据权利要求3所述的数据访问方法,其特征在于,所述读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系,包括:
从配置文件中读取可访问数据的标识与存储所述可访问数据的可访问设备的地址之间的对应关系。
5.根据权利要求1所述的数据访问方法,其特征在于,所述目标数据为文本数据,所述访问请求为HTTP请求,所述目标数据的标识携带在所述HTTP请求的头部。
6.根据权利要求1所述的数据访问方法,其特征在于,所述目标数据为视频数据,所述访问请求为WebSocket请求,所述目标数据的标识追加于所述WebSocket请求中的地址末尾。
7.根据权利要求1-6中任一项所述的数据访问方法,其特征在于,所述Nginx服务器部署在外网,所述目标设备部署在内网,所述外网与所述内网之间通过单向网关隔离,所述内网被划分为至少一个网段。
8.一种数据访问装置,其特征在于,配置于Nginx服务器,所述装置包括:
请求拦截模块,用于开放唯一的数据访问接口,监听并拦截不同的用户通过所述数据访问接口发起的针对目标数据的访问请求;
地址查找模块,用于从所述访问请求中解析出所述目标数据的标识,并根据所述目标数据的标识查找存储所述目标数据的目标设备的地址;其中,所述目标数据的标识经过加密,以使每个用户仅能获知自己使用的标识;
代理模块,用于将所述访问请求代理到所述目标设备的地址,获得针对所述访问请求的响应数据;
响应模块,用于向不同的用户发送与其发起的访问请求对应的响应数据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-7中任一项所述的方法的步骤。
10.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910811727.0A CN110519380B (zh) | 2019-08-29 | 2019-08-29 | 一种数据访问方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910811727.0A CN110519380B (zh) | 2019-08-29 | 2019-08-29 | 一种数据访问方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519380A CN110519380A (zh) | 2019-11-29 |
CN110519380B true CN110519380B (zh) | 2022-06-21 |
Family
ID=68628241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910811727.0A Active CN110519380B (zh) | 2019-08-29 | 2019-08-29 | 一种数据访问方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519380B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200655A (zh) * | 2019-12-31 | 2020-05-26 | 北京奇才天下科技有限公司 | 一种基于代理服务器的内网访问方法、系统、电子设备 |
CN111367691B (zh) * | 2020-03-09 | 2024-03-01 | 北京奇艺世纪科技有限公司 | 数据反馈方法及装置、电子设备和可存储介质 |
CN111405029B (zh) * | 2020-03-12 | 2023-06-02 | 北京字节跳动网络技术有限公司 | 一种请求处理方法及装置 |
CN111460460B (zh) * | 2020-04-02 | 2023-12-05 | 北京金山云网络技术有限公司 | 任务访问方法、装置、代理服务器及机器可读存储介质 |
CN111866124B (zh) * | 2020-07-17 | 2022-06-24 | 北京金山云网络技术有限公司 | 访问网页页面的方法、装置、服务器和机器可读存储介质 |
CN111881470A (zh) * | 2020-07-20 | 2020-11-03 | 易通星云(北京)科技发展有限公司 | 数据访问方法及其装置、计算机可读存储介质 |
CN114070576B (zh) * | 2020-08-07 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 内容显示方法、内容生成方法、装置、设备及存储介质 |
CN112015696A (zh) * | 2020-08-21 | 2020-12-01 | 北京奇艺世纪科技有限公司 | 数据访问、数据关系设置方法、装置及存储介质 |
CN112702319B (zh) * | 2020-12-11 | 2023-03-24 | 杭州安恒信息技术股份有限公司 | 访问请求端口的标准化方法、装置、电子设备及存储介质 |
CN112579147A (zh) * | 2020-12-14 | 2021-03-30 | 武汉联影医疗科技有限公司 | 软件集成方法及系统 |
CN113285951A (zh) * | 2021-05-24 | 2021-08-20 | 挂号网(杭州)科技有限公司 | 请求转发方法、装置、设备及存储介质 |
CN114389998A (zh) * | 2021-12-21 | 2022-04-22 | 深圳奥哲网络科技有限公司 | 一种流量分发方法、系统、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎系统 |
CN108052615A (zh) * | 2017-12-15 | 2018-05-18 | 泰康保险集团股份有限公司 | 访问请求的处理方法、装置、介质及电子设备 |
CN108632364A (zh) * | 2018-04-13 | 2018-10-09 | 聚好看科技股份有限公司 | 请求处理方法和装置 |
CN109543463A (zh) * | 2018-10-11 | 2019-03-29 | 平安科技(深圳)有限公司 | 数据安全访问方法、装置、计算机设备及存储介质 |
CN110138729A (zh) * | 2019-04-02 | 2019-08-16 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008100606A1 (en) * | 2007-02-15 | 2008-08-21 | Children's Hospital Medical Center | Disaggregation/reassembly method system for information rights management of secure documents |
EP2535832B1 (en) * | 2011-06-17 | 2017-04-26 | Simulity Labs Ltd | A method for operating a virtual machine over a file system |
GB201611948D0 (en) * | 2016-07-08 | 2016-08-24 | Kalypton Int Ltd | Distributed transcation processing and authentication system |
CN110059499A (zh) * | 2019-03-22 | 2019-07-26 | 华为技术有限公司 | 一种文件访问权限认证方法及电子设备 |
CN110175466B (zh) * | 2019-04-16 | 2024-03-08 | 平安科技(深圳)有限公司 | 开放平台的安全管理方法、装置、计算机设备及存储介质 |
-
2019
- 2019-08-29 CN CN201910811727.0A patent/CN110519380B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎系统 |
CN108052615A (zh) * | 2017-12-15 | 2018-05-18 | 泰康保险集团股份有限公司 | 访问请求的处理方法、装置、介质及电子设备 |
CN108632364A (zh) * | 2018-04-13 | 2018-10-09 | 聚好看科技股份有限公司 | 请求处理方法和装置 |
CN109543463A (zh) * | 2018-10-11 | 2019-03-29 | 平安科技(深圳)有限公司 | 数据安全访问方法、装置、计算机设备及存储介质 |
CN110138729A (zh) * | 2019-04-02 | 2019-08-16 | 视联动力信息技术股份有限公司 | 一种数据获取方法和视联网系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110519380A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519380B (zh) | 一种数据访问方法、装置、存储介质及电子设备 | |
CN111651757B (zh) | 攻击行为的监测方法、装置、设备及存储介质 | |
CN109428878B (zh) | 漏洞检测方法、检测装置和检测系统 | |
US9805202B2 (en) | Automated SDK ingestion | |
US9967366B2 (en) | Internet of things (IoT) API platform | |
US11777951B2 (en) | Data and source validation for equipment output data or equipment failure prediction using blockchains | |
CN110311929B (zh) | 一种访问控制方法、装置及电子设备和存储介质 | |
WO2016188256A1 (zh) | 一种应用接入鉴权的方法、系统、装置及终端 | |
CN105808399B (zh) | 一种远程调试的方法和装置 | |
US11050787B1 (en) | Adaptive configuration and deployment of honeypots in virtual networks | |
US11627148B2 (en) | Advanced threat detection through historical log analysis | |
CN109510799B (zh) | 页面展示方法、浏览器客户端、设备及存储介质 | |
US11468189B1 (en) | Method, system, apparatus and device for data exchange | |
CN113923008B (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
CN112162873B (zh) | 一种远程调用方法、电子装置和存储介质 | |
CN112187747A (zh) | 一种远程容器登录方法、装置及电子设备 | |
CN109639788B (zh) | 用于语音对话平台的跨域名联调方法及系统 | |
US11568069B1 (en) | Data security protection system | |
KR102354058B1 (ko) | 서버 모니터링 방법과 이를 수행하기 위한 장치 및 시스템 | |
CN108737350B (zh) | 一种信息处理方法及客户端 | |
CN113709136B (zh) | 一种访问请求验证方法和装置 | |
CN106470237B (zh) | 一种异步下载方法及系统 | |
CN115189897A (zh) | 零信任网络的访问处理方法、装置、电子设备及存储介质 | |
CN114285859A (zh) | 中间层区块链服务的数据处理方法、装置、设备及存储介质 | |
CN113596014A (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 |