CN113079210A - 一种跨区数据自动同步的配置方法、终端设备及存储介质 - Google Patents
一种跨区数据自动同步的配置方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN113079210A CN113079210A CN202110337110.7A CN202110337110A CN113079210A CN 113079210 A CN113079210 A CN 113079210A CN 202110337110 A CN202110337110 A CN 202110337110A CN 113079210 A CN113079210 A CN 113079210A
- Authority
- CN
- China
- Prior art keywords
- reverse proxy
- proxy server
- address
- configuring
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006835 compression Effects 0.000 claims abstract description 21
- 238000005516 engineering process Methods 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 2
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 2
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 2
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/04—Protocols for data compression, e.g. ROHC
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种跨区数据自动同步的配置方法、终端设备及存储介质,包括:将后端服务器的访问域名配置为反向代理服务器地址,并将所述反向代理服务器的代理域名配置为所述后端服务器;根据Nginx技术为所述反向代理服务器配置缓存程序,并设定所述反向代理服务器的压缩程序;根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,并通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制;根据ngx_lua模块实现基于IP地址的灰度发布。如此,将Nginx反向代理技术应用于移动应用后端服务架构中,优化移动应用后端服务的性能,提高服务安全性。
Description
技术领域
本发明涉及电网调度技术领域,尤其涉及一种跨区数据自动同步方法、终端设备及其可读存储介质。
背景技术
随着电子网络的发展,人们正在运用互联网做更多的事情,查询信息、浏览图像等,现有的网络服务模型查询方式需要用户发送请求到UDDI主机;UDDI主机根据用户请求进行查询,再把查询到的可用的网络服务列表发送给用户;用户访问每一个网络服务界面直到找到合适的网络服务,其查询效率低并且缺乏灵活性,并且面对手机用户,网络速度慢更加暴露传统用户查询的缺陷,因此我们必须改善传统网络服务查询模型让它更好地为手机用户有效的服务。
从传统网络服务查询模型的步骤我们可以看出,这种方式的缺点首先是低效率,缺乏灵活性。其过程是,每一个查询将会返回一些结果。用户必须一个个访问那些返回的界面,有时可能要尝试很多次才能查找出所需要的网络服务界面。其次,如果用户查询的是相同的内容,这一步骤将会重复,很明显这将浪费很多资源。面对手机用户,手机不能运行一个以上的应用程序,网络速度慢让这一缺点显得尤为突出。传统网络服务查询模式的最大问题是这一模型只是简单的找出用户的查询而并没有进行处理。
发明内容
本发明目的在于,提供一种跨区数据自动同步的配置方法,利用反向代理Nginx实现将原本HTTP传输转换为HTTPS加密传输,结合流量限制等方法提高服务安全性。
为实现上述目的,本发明实施例提供一种跨区数据自动同步的配置方法,包括:
将后端服务器的访问域名配置为反向代理服务器地址,并将所述反向代理服务器的代理域名配置为所述后端服务器;
根据Nginx技术为所述反向代理服务器配置缓存程序,并设定所述反向代理服务器的压缩程序;
根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,并通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制;
根据ngx_lua模块实现基于IP地址的灰度发布。
在某一个实施例中,所述根据Nginx技术为所述反向代理服务器配置缓存程序,包括定义代理缓存路径和名称,且为不同的服务应答设定相应的缓存时间。
在某一个实施例中,所述设定所述反向代理服务器的压缩程序,包括定义最小压缩文件的大小、压缩的级别以及压缩文件的类型。
在某一个实施例中,所述根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,还包括设定HTTPS服务。
在某一个实施例中,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括设定所述反向代理服务器向所述客户端传输的最大速率,当所述最大速率为0时不限速。
在某一个实施例中,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括设定不限速传输的响应数据值,当超过所述不限速传输的响应值时开始限速。
在某一个实施例中,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括定义第一数据区,所述第一数据区包括请求信息和请求频率的限制条件;定义第二数据区,所述第二数据区包括会话状态信息和并发连接数的限制条件。
在某一个实施例中,所述根据ngx_lua模块实现基于IP地址的灰度发布,具体为:
所述客户端向所述反向代理服务器发起访问请求,获取所述后端服务器最新版本信息;
所述反向代理服务器接收到所述访问请求,识别所述访问请求的来源IP地址为所述客户端的IP地址;
所述反向代理服务器判断所述客户端的IP地址是否包括在地址组中,若是,则返回新版本信息,所述客户端得到所述反向代理服务器返回的所述新版本信息,执行版本更新操作;若否,则返回原版本信息,所述客户端得到所述反向代理服务器返回的所述原版本信息则继续启动运行应用。
本发明实施例还提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的跨区数据自动同步的配置方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例所述的跨区数据自动同步的配置方法。
本发明实施例的跨区数据自动同步的配置方法中,利用反向代理Nginx实现将原本HTTP传输转换为HTTPS加密传输,结合流量限制等方法提高服务安全性,并设计采用灰度发布的方法实现客户端新版本的发布,在保证配电网***整体稳定性的基础上,实现客户端程序的平滑升级过渡,为电网调度命令机器人与手机移动端受领人之间的跨区数据同步提供了一个安全可靠的代理服务平台。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明某一实施例提供的跨区数据自动同步的配置方法的流程示意图;
图2是本发明某一实施例提供的跨区数据自动同步的网络架构示意图;
图3是本发明某一实施例提供的客户端后端服务的统计结果的示意图;
图4是本发明某一实施例提供的计算机终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明实施例提供一种跨区数据自动同步的配置方法,包括:
S10、将后端服务器的访问域名配置为反向代理服务器地址,并将所述反向代理服务器的代理域名配置为所述后端服务器;
S20、根据Nginx技术为所述反向代理服务器配置缓存程序,并设定所述反向代理服务器的压缩程序;
S30、根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,并通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制;
S40、根据ngx_lua模块实现基于IP地址的灰度发布。
请参阅图2,在本实施例中,移动应用通常需要和后端服务进行数据通信,本发明基于原有的后端服务架构,在移动应用端和后台服务之间部署Nginx反向代理服务器。移动应用后端服务的地址为IPweb,反向代理服务器RS部署在网络边界,相应的IP地址为IPRS,移动应用的终端用户通过各类网络访问反向代理服务器RS,反向代理服务RS接收到用户的访问请求后,将请求转发至后端服务。部署反向代理服务后,移动应用后端服务的IP地址IPweb可以为公网地址,也可以为私网地址,但反向代理服务器RS需网络可达后端服务。当原有后端服务为多台服务器群集时,移动应用后端服务的IP地址使用私有地址可以节省大量宝贵的公网IP地址资源,并且通过Nginx反向代理服务器实现群集的负载均衡。Nginx服务器是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务;其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低***资源的消耗而闻名;Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
客户端前后端数据通信可以采用HTTP协议或私有的TCP协议,使用私有的TCP协议需要开发者完成协议的封装和解封,大多数开发语言都支持HTTP通信,方便开发人员处理传输的内容,并且在互联网中防火墙对于HTTP协议较为友好。本发明主要讨论采用HTTP协议进行前后端数据通信架构模式,通过部署Nginx反向代理,达到优化后端服务的效果。反向代理是指由代理服务器来接收来自互联网的访问请求,再把访问请求转发到对应的网站服务器,并从对应网站服务器获取结果返回给访问用户。对于终端用户来说,用户正常访问网页即可,不需要做任何改变或配置。
基于开源软件Nginx实现反向代理服务,通过Nginx的配置部署,结合内嵌的ngx_lua模块,通过编写lua脚本实现基于反向代理的移动应用后端服务。部署Nginx反向代理服务器RS,可以不需要对原有的后端服务器做任何修改,在实际应用时可以将原有后端服务域名指向修改至反向代理服务器地址IPRS,然后在RS上配置对应的域名代理访问至IPweb,如果移动应用的后端服务未配置域名,则需要将移动应用客户端中请求后端服务的IP修改为IPRS,或者将后端服务的IP地址交换至IPRS。
通过简单的配置就可以实现反向代理服务,以下为配置Nginx监听反向代理服务的关键代码,其中server_name参数设定为后端服务的域名,proxy_pass参数设定为移动应用原后端服务的URL。
listen 80;
server_name www.example.com;
location~^/{
proxy_pass http://IPweb
...
};
反向代理服务器(Reverse Proxy Server)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
基于Nginx的客户端后端服务架构中,客户端与后端服务通信的数据流量均经过反向代理服务器RS(Reverse Proxy Server),可通过在反向代理服务器RS上配置缓存和启用Gzip压缩的方法对数据流量进行处理,从而优化后端服务的性能。配置缓存:对客户端已经访问过的内容在反向服务器RS本地建立副本,当一段时间内有用户再次访问该内容时,反向代理服务器RS不需要再次向后端服务器发出请求,因此能够减少反向代理服务器RS与后端服务器之间的网络流量,提高服务响应速度。Gzip压缩:为了减少网络传输,HTTP协议允许将报文进行Gzip压缩以后再传输,因此可配置反向代理获取的数据采用Gzip压缩以后再返回给客户端,从而减少反向代理服务器RS与客户端之间的网络流量。
客户端的后端服务需要在互联网上与客户端进行数据通信,因此也面临着被攻击和数据被截取的风险,苹果公司自IOS9已经引入了ATS(App Transport Security),需要使用安全的HTTPS与服务器进行通信。即便后端服务采用HTTP发布,通过利用Nginx的反向代理服务可以实现数据传输从HTTP到HTTPS的转换,从而提高传输过程中数据安全。HTTPS支持:HTTP协议以明文的方式发送内容,不提供任何方式的数据加密,如果有人截取了客户端和后端服务的传输报文,就可以直接读懂其中的内容,HTTPS在HTTP的基础上加入了ssl协议,ssl协议是一种为网络通信提供安全及数据完整性的一种安全协议,ssl通过证书来验证服务器的身份,并为通信的报文加密。可以通过在反向代理服务器RS上配置HTTPS的支持,客户端访问代理服务器RS时采用HTTPS协议进行访问,而后端服务与反向代理服务器RS直接可以继续使用HTTP协议。流量限制:在初始的后端服务架构中,当业务流量超过负载能力时后端服务将变得不稳定或失效,在加入Nginx反向代理服务后,可通过在反向代理服务器RS上实现流量限制,从而缓解后端服务的压力。限流策略主要有:
(1)限定向客户端传输的速率;
(2)限定IP最大请求速率,主要用于同一IP反复请求服务器;
(3)限定IP最大并发连接数,减少单个IP的资源占用,从而为更多用户服务;
(4)限流白名单,针对某些特定的IP或IP端不做限制,比如管理网段或内网网段;
(5)结合ngx_lua实现限流,通过lua语言可以实现更细粒度的限流,如根据用户、URL等进行流量限制。
移动应用迭代更新频度较快,新版本的发布和***升级总是伴随着风险,比如新旧版本兼容的风险,用户使用***滑过渡的一种发布方式,对于原有服务A和新服务B,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。本发明基于Nginx实现移动应用程序的平滑过渡,在保证整体***稳定性的基础上,减少升级更新的风险和影响,在初始灰度的时候就可以发现、调整问题。灰度发布实现的主要方法有:
(1)调节负载均衡权重;
(2)使用http头信息进行判断;
(3)结合ngx_lua模块实现灰度发布。
在某一个实施例中,所述根据Nginx技术为所述反向代理服务器配置缓存程序,包括定义代理缓存路径和名称,且为不同的服务应答设定相应的缓存时间。
在本实施例中,通过配置Nginx启用缓存和Gzip两项功能,减少带宽的消耗。缓存可以大大减少反向代理与后端服务器之间的数据流量,Gzip压缩后可减少移动应用与反向代理服务之间的通信流量,提高响应能力。同时当后端服务器宕机时,Nginx服务器上的副本资源还能够回应相关的用户请求,这样能够提高后端服务器的鲁棒性。以下为缓存配置的关键代码,其中proxy_cache_path定义了缓存目录路径和名字,参数proxy_cache指定使用响应的缓存路径,参数proxy_cache_valid可以为不同的服务应答设定相应的缓存时间:
proxy_cache_path/dev/shm/webcache levels=1:2
keys_zone=webcache:20m;
...
proxy_cache webcache;
proxy_cache_valid 200 15m。
在某一个实施例中,所述设定所述反向代理服务器的压缩程序,包括定义最小压缩文件的大小、压缩的级别以及压缩文件的类型。
在本实施例中,通过以下代码可在Nginx中配置开启Gzip压缩,参数“ssl on”启用了Gzip压缩,参数gzip_min_length指定最小压缩文件的大小,文件大小小于该值的文件将不被压缩,参数gzip_comp_level设定压缩的级别,数值越大压缩效果越好,相应的也消耗更多的CPU资源,参数gzip_types用于设定进行压缩的文件类型:
gzip on;
gzip_min_length 1k;
gzip_comp_level 2;
gzip_types text/plain application/javascript
text/css text/javascript image/jpeg。
在某一个实施例中,所述根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,还包括设定HTTPS服务。
在本实施例中,由于对于移动应用来说是由Nginx提供后端服务,真实的后端服务器隐藏在反向代理之后,使得用户和WEB服务之间增加了一道隔离屏障,因此也提高了服务的安全性,通过在Nginx上进行流量限制进一步防护DDOS等流量攻击,从而降低后端服务面临的风险,缓解后端服务的压力。以下为配置反向代理服务支持HTTPS服务的关键代码,参数“ssl on”启用了HTTPS服务,参数“ssl_certificate”指定了证书文件,参数“ssl_session_cache”指定了启用ssl缓存。
listen 443;
server_name www.example.com;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_cache shared:SSL:10m;
在某一个实施例中,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括设定所述反向代理服务器向所述客户端传输的最大速率,当所述最大速率为0时不限速。
在某一个实施例中,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括设定不限速传输的响应数据值,当超过所述不限速传输的响应值时开始限速。
在某一个实施例中,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括定义第一数据区,所述第一数据区包括请求信息和请求频率的限制条件;定义第二数据区,所述第二数据区包括会话状态信息和并发连接数的限制条件。
在本实施例中,还包括利用nginx的http_limit_conn和http_limit_req模块对IP地址限制连接数和请求数,实现相对有效的流量限制防御,关键实现代码如下:
参数“limit_rate”设定向客户端传输的最大速率,为0时不限速,参数“limit_rate_after”设定不限速传输的响应数据大小,超过此值时开始限速。参数“limit_req_zone”定义了一个数据区,里面记录请求信息,结合参数“limit_req”实现请求频率的限制;参数“limit_conn_zone”定义了一个数据区,里面记录会话状态信息,结合参数“limit_conn”实现并发连接数的限制:
limit_rate 200k;
limit_rate_after 10m;
limit_req_zone$binary_remote_addr zone=re
qlimit:10m rate=10r/s;
limit_conn_zone$binary_remote_addr zone=
connlimit:10m;
...
limit_req zone=reqlimit burst=5nodelay;
limit_conn connlimit 1。
在某一个实施例中,所述根据ngx_lua模块实现基于IP地址的灰度发布,具体为:
所述客户端向所述反向代理服务器发起访问请求,获取所述后端服务器最新版本信息;
所述反向代理服务器接收到所述访问请求,识别所述访问请求的来源IP地址为所述客户端的IP地址;
所述反向代理服务器判断所述客户端的IP地址是否包括在地址组中,若是,则返回新版本信息,所述客户端得到所述反向代理服务器返回的所述新版本信息,执行版本更新操作;若否,则返回原版本信息,所述客户端得到所述反向代理服务器返回的所述原版本信息则继续启动运行应用。
在本实施例中,移动应用通常会在用户启动应用时向后端发起请求,检测后端服务器上最新的版本号与自身的版本号进行比较,如果后端服务器有新的版本或文件的发布更新,移动应用执行下载新版本或文件进行更新。移动应用版本升级后回退较为困难,虽然可以通过再次升级的方式进行变相回退,但是用户体验不好,因此移动应用新版本发布时可以在限定的一个范围进行,使得影响可控。本发明以结合ngx_lua模块实现基于IP地址的灰度发布为例介绍实现流程和代码,实际应用中可以加入更多的条件进行细化灰度发布的范围,同样的,移动应用中文件的热更新和后端服务有升级改版也可采用类似的方式进行灰度发布。假定IP地址组GroupIPA作为进行灰度发布目标移动应用用户,灰度发布的主要流程如下:
步骤1:用户启动移动应用;
步骤2:移动应用向反向代理服务器RS发起请求,获取最新版本信息;
步骤3:代理服务器RS接收到访问请求,识别访问请求的来源IP地址为IPuser;
步骤4:代理服务器RS判断IPuser是否属于包括在地址组GroupIPA中,如果包含则返回新版本信息,进入步骤5;否则返回原来版本信息,进入步骤6;
步骤5:移动应用得到代理服务器RS返回的版本信息,执行版本更新操作;
步骤6:继续启动运行应用。移动应用的开发方可以根据GroupIPA用户反馈的信息对发布的范围和进展进行调整和掌控,以下为检测移动应用请求Lua语言实现的关键代码:
ReqIP=ngx.req.get_headers()["X-Real-IP"]
...
if checkIP(ReqIP,GroupIPA)then
ngx.exec("@update")
else
ngx.exec("@default")
end。
请参阅图3,本设计方案基于开源软件Nginx在原有的移动应用后端服务架构的基础上实现对服务性能的优化。对模拟应用程序分别在缓存、gzip启用和关闭状态下访问移动应用后端服务的进行统计,其中Nginx中gzip压缩级别设定为3,响应时延均为开启gzip功能状态下的数据,响应时延的计算方法为分别在当前情况下测试10次,取其平均值。启用gzip压缩功能后,对于文本类的js、css、html类型数据压缩效果较好,对于图片类压缩效果不明显,这是由于jpg类型的图片已经是经过压缩的格式。另一方面,在反向代理服务器未启用缓存功能时响应时延比直接向后端服务请求的响应时延略有增加,这是由于代理和gzip压缩产生的资源消耗造成的,当缓存功能启用后的服务器响应时延有了明显的减少。目前移动应用前后端数据通信中有大量的JSON、RESTful格式的文本类数据流量,因此采用基于Nginx的移动应用后端服务架构可以有效减少的移动应用与后端服务之间的流量,减少服务响应时延,从而优化提高整体服务性能。
请参阅图4,本发明实施例提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例中的跨区数据自动同步的配置方法。
处理器用于控制该计算机终端设备的整体操作,以完成上述的跨区数据自动同步的配置方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(Application Specific 1ntegrated Circuit,简称AS1C)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的跨区数据自动同步的配置方法,并达到如上述方法一致的技术效果。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任意一个实施例中的跨区数据自动同步的配置方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成上述的跨区数据自动同步的配置方法,并达到如上述方法一致的技术效果。
本发明实施例的跨区数据自动同步的配置方法中,利用反向代理Nginx实现将原本HTTP传输转换为HTTPS加密传输,结合流量限制等方法提高服务安全性,并设计采用灰度发布的方法实现客户端新版本的发布,在保证配电网***整体稳定性的基础上,实现客户端程序的平滑升级过渡,为电网调度命令机器人与手机移动端受领人之间的跨区数据同步提供了一个安全可靠的代理服务平台。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种跨区数据自动同步的配置方法,其特征在于,包括:
将后端服务器的访问域名配置为反向代理服务器地址,并将所述反向代理服务器的代理域名配置为所述后端服务器;
根据Nginx技术为所述反向代理服务器配置缓存程序,并设定所述反向代理服务器的压缩程序;
根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,并通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制;
根据ngx_lua模块实现基于IP地址的灰度发布。
2.根据权利要求1所述的跨区数据自动同步的配置方法,其特征在于,所述根据Nginx技术为所述反向代理服务器配置缓存程序,包括定义代理缓存路径和名称,且为不同的服务应答设定相应的缓存时间。
3.根据权利要求1所述的跨区数据自动同步的配置方法,其特征在于,所述设定所述反向代理服务器的压缩程序,包括定义最小压缩文件的大小、压缩的级别以及压缩文件的类型。
4.根据权利要求1所述的跨区数据自动同步的配置方法,其特征在于,所述根据ssl协议为所述反向代理服务器设定ssl证书文件和ssl缓存,还包括设定HTTPS服务。
5.根据权利要求1所述的跨区数据自动同步的配置方法,其特征在于,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括设定所述反向代理服务器向所述客户端传输的最大速率,当所述最大速率为0时不限速。
6.根据权利要求5所述的跨区数据自动同步的配置方法,其特征在于,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括设定不限速传输的响应数据值,当超过所述不限速传输的响应值时开始限速。
7.根据权利要求6所述的跨区数据自动同步的配置方法,其特征在于,所述通过所述反向代理服务器配置对客户端的IP地址连接数和请求数的限制,包括定义第一数据区,所述第一数据区包括请求信息和请求频率的限制条件;定义第二数据区,所述第二数据区包括会话状态信息和并发连接数的限制条件。
8.根据权利要求1所述的跨区数据自动同步的配置方法,其特征在于,所述根据ngx_lua模块实现基于IP地址的灰度发布,具体为:
所述客户端向所述反向代理服务器发起访问请求,获取所述后端服务器最新版本信息;
所述反向代理服务器接收到所述访问请求,识别所述访问请求的来源IP地址为所述客户端的IP地址;
所述反向代理服务器判断所述客户端的IP地址是否包括在地址组中,若是,则返回新版本信息,所述客户端得到所述反向代理服务器返回的所述新版本信息,执行版本更新操作;若否,则返回原版本信息,所述客户端得到所述反向代理服务器返回的所述原版本信息则继续启动运行应用。
9.一种计算机终端设备,其特征在于,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至8任一项所述的跨区数据自动同步的配置方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的跨区数据自动同步的配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110337110.7A CN113079210A (zh) | 2021-03-29 | 2021-03-29 | 一种跨区数据自动同步的配置方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110337110.7A CN113079210A (zh) | 2021-03-29 | 2021-03-29 | 一种跨区数据自动同步的配置方法、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113079210A true CN113079210A (zh) | 2021-07-06 |
Family
ID=76611298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110337110.7A Pending CN113079210A (zh) | 2021-03-29 | 2021-03-29 | 一种跨区数据自动同步的配置方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079210A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244864A (zh) * | 2021-11-18 | 2022-03-25 | 广东电网有限责任公司 | 电力监控***跨区互联检测方法、装置和计算机设备 |
CN115277844A (zh) * | 2022-06-13 | 2022-11-01 | 杭州猎火传媒科技有限公司 | 一种大数据后台数据处理方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753606A (zh) * | 2008-12-03 | 2010-06-23 | 北京天融信科技有限公司 | 一种实现web反向代理的方法 |
CN104270379A (zh) * | 2014-10-14 | 2015-01-07 | 北京蓝汛通信技术有限责任公司 | 基于传输控制协议的https 代理转发方法及装置 |
CN106161617A (zh) * | 2016-07-04 | 2016-11-23 | 微梦创科网络科技(中国)有限公司 | 基于nodejs的反向代理方法、反向代理服务器及*** |
-
2021
- 2021-03-29 CN CN202110337110.7A patent/CN113079210A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753606A (zh) * | 2008-12-03 | 2010-06-23 | 北京天融信科技有限公司 | 一种实现web反向代理的方法 |
CN104270379A (zh) * | 2014-10-14 | 2015-01-07 | 北京蓝汛通信技术有限责任公司 | 基于传输控制协议的https 代理转发方法及装置 |
CN106161617A (zh) * | 2016-07-04 | 2016-11-23 | 微梦创科网络科技(中国)有限公司 | 基于nodejs的反向代理方法、反向代理服务器及*** |
Non-Patent Citations (1)
Title |
---|
邓庚盛等: "Nginx反向代理技术在移动应用服务架构中的应用", 《科技广场》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244864A (zh) * | 2021-11-18 | 2022-03-25 | 广东电网有限责任公司 | 电力监控***跨区互联检测方法、装置和计算机设备 |
CN114244864B (zh) * | 2021-11-18 | 2024-03-01 | 广东电网有限责任公司 | 电力监控***跨区互联检测方法、装置和计算机设备 |
CN115277844A (zh) * | 2022-06-13 | 2022-11-01 | 杭州猎火传媒科技有限公司 | 一种大数据后台数据处理方法及*** |
CN115277844B (zh) * | 2022-06-13 | 2024-03-26 | 杭州猎火传媒科技有限公司 | 一种大数据后台数据处理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102308269B1 (ko) | 프록시 기반 네트워크 통신들에서의 제어 데이터의 전송 | |
US8056125B2 (en) | Recording medium storing control program and communication system | |
CN107547629B (zh) | 客户端静态资源下载的方法、装置、电子设备和可读介质 | |
JP2003016036A (ja) | ピア・ツー・ピアネットワーク環境中のピアの信頼性ステータスを検証するシステムおよび方法 | |
EP2853074B1 (en) | Methods for optimizing service of content requests and devices thereof | |
KR20020079425A (ko) | 피어 투 피어 네트워크 환경내에서 자원들을 안전하고검증가능하게 공유하는 시스템 및 방법 | |
JP2002229842A (ja) | Httpアーカイブ・ファイル | |
CN101662503A (zh) | 网络中的信息传输方法、代理服务器和服务*** | |
US8868638B2 (en) | Methods for reducing latency in network connections using automatic redirects and systems thereof | |
CN101877710A (zh) | 代理网关防病毒实现方法、预分类器和代理网关 | |
US11281511B2 (en) | Predictive microservice systems and methods | |
CN113079210A (zh) | 一种跨区数据自动同步的配置方法、终端设备及存储介质 | |
US20200320154A1 (en) | A webpage loading method, webpage loading system and server | |
WO2015058546A1 (zh) | 网页预加载方法及装置 | |
CN108737471B (zh) | 一种网络访问方法及装置 | |
US11853806B2 (en) | Cloud computing platform that executes third-party code in a distributed cloud computing network and uses a distributed data store | |
US9781222B2 (en) | Method, system and server device for transmitting a digital resource in a client-server communication system | |
CN107003981B (zh) | 与本地配对的设备同步以使用点到点通信从远程服务器获得数据 | |
US10021207B1 (en) | Architecture for proactively providing bundled content items to client devices | |
EP2850809B1 (en) | Providing data to a network terminal | |
CN108810070B (zh) | 一种资源共享方法、装置、智能设备和存储介质 | |
US8516040B2 (en) | Load reduction and response time reduction for web-based applications | |
US7571221B2 (en) | Installation of network services in an embedded network server | |
US11621995B2 (en) | Preloading on-demand code pieces in a distributed cloud computing network | |
CN108509243A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210706 |