首页> 中国专利> 跨网络区域数据访问方法、装置、设备及存储介质

跨网络区域数据访问方法、装置、设备及存储介质

摘要

本发明公开了一种跨网络区域数据访问方法、装置、设备及存储介质,该跨网络区域数据访问方法包括以下步骤:在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;根据该哈希槽分区标记确定待访问服务器,并访问该待访问服务器所处的服务器集群,以获取该待访问服务器的本地IP地址;判断所述本地IP地址与预设IP地址是否处于相同网络区域;在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。本发明能够实现应用服务器跨网络访问Redis服务器。

著录项

  • 公开/公告号CN107896249A

    专利类型发明专利

  • 公开/公告日2018-04-10

    原文格式PDF

  • 申请/专利权人 中国平安人寿保险股份有限公司;

    申请/专利号CN201711136140.1

  • 发明设计人 李贤州;

    申请日2017-11-16

  • 分类号H04L29/08(20060101);H04L29/12(20060101);

  • 代理机构44287 深圳市世纪恒程知识产权代理事务所;

  • 代理人胡海国

  • 地址 518000 广东省深圳市福田区福华三路星河发展中心办公9、10、11层

  • 入库时间 2023-06-19 04:58:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-04

    授权

    授权

  • 2018-05-04

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20171116

    实质审查的生效

  • 2018-04-10

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其涉及一种跨网络区域数据访问方法、装置、设备及存储介质。

背景技术

目前web应用系统为了解决高并发带来的性能问题,都会在web应用服务器与数据库之间采取缓存层,使用最为广泛的就是(Redis是基于key-value内存数据库)。由于Redis具有高性能和简单的操作命令,完全可以作为web应用服务器和传统数据库之间的缓存层,在保证数据有效性的情况下,同时也保证高性能。

随着用户数量的增加,在web应用服务器中采用单个Redis服务器作为数据缓存层,已满足不了要求,因此,现有技术中,基于Redis服务器集群实现数据缓存,以解决用户数量增加导致的高并发问题。然而,web应用服务器在访问Redis服务器时,只能访问与web应用服务器处于相同网络区域的Redis服务器,不支持跨网络区域访问,因此,如何实现web应用服务器跨网络区域访问Redis服务器是目前亟待解决的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供一种跨网络区域数据访问方法、装置、设备及存储介质,旨在解决如何实现web应用服务器跨网络区域访问Redis服务器的技术问题。

为实现上述目的,本发明提供一种跨网络区域数据访问方法,所述跨网络区域数据访问方法包括以下步骤:

在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

可选地,所述根据所述数据访问请求确定哈希槽分区标记的步骤包括:

获取所述数据访问请求中的用户信息,并从第一预设存储区域内的key值关系表中获取与所述用户信息关联的key值;

调用预设算法对所述key值进行校验,以获取校验信息,并根据所述校验信息确定哈希槽分区标记。

可选地,所述根据所述哈希槽分区标记确定待访问服务器的步骤包括:

从第二预设存储区域中获取服务器与哈希槽分区标记之间的关系表;

从所述关系表中获取与所述哈希槽分区标记关联的服务器;

将所述关系表中与所述哈希槽分区标记关联的服务器确定为待访问服务器。

可选地,所述判断所述本地IP地址与预设IP地址是否处于相同网络区域的步骤之后,所述跨网络区域数据访问方法还包括:

在所述本地IP地址与预设IP地址处于相同网络区域时,根据所述本地IP地址访问所述待访问服务器。

可选地,所述跨网络区域数据访问方法还包括:

以预设间隔时间向IP地址配置设备发送IP地址配置信息获取请求;

接收所述IP地址配置设备基于所述IP地址配置信息获取请求发送的IP地址配置信息;

根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

可选地,所述根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址的步骤之前,所述跨网络区域数据访问方法还包括:

判断所述IP地址配置信息是否与IP地址本地配置信息相同;

在所述IP地址配置信息与IP地址本地配置信息相同时,执行所述根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址的步骤。

可选地,所述根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址的步骤包括:

从所述IP地址配置信息中获取服务器集群的标识信息,并获取与所述标识信息关联的服务器集群;

获取所述服务器集群中每台服务器的本地IP地址,并判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述IP地址配置信息配置对应服务器的跨网络区域IP地址。

此外,为实现上述目的,本发明还提供一种跨网络区域数据访问装置,所述跨网络区域数据访问装置包括:

检测确定模块,用于在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

所述检测确定模块,还用于根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断模块,用于判断所述本地IP地址与预设IP地址是否处于相同网络区域;

获取访问模块,用于在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

本发明还提供一种跨网络区域数据访问设备,所述跨网络区域数据访问设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的跨网络区域数据访问程序,所述跨网络区域数据访问程序被所述处理器执行时实现以下步骤:

在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有跨网络区域数据访问程序,所述跨网络区域数据访问程序被处理器执行时实现以下步骤:

在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

本发明提供一种跨网络区域数据访问方法、装置、设备及存储介质,在检测到数据访问请求时,根据该数据访问请求确定哈希槽分区标记,并根据该哈希槽分区标记确定待访问服务器,并访问该待访问服务器所处的服务器集群,以获取该待访问服务器的本地IP地址,然后判断该本地IP地址与预设IP地址是否处于相同网络区域,如果该本地IP地址与预设IP地址处于不同网络区域,则根据该本地IP地址从预设IP地址关系表中获取该待访问服务器的跨网络区域IP地址,并根据该跨网络区域IP地址访问该待访问服务器,本方案利用多台Redis服务器搭建Redis集群服务器,同时给每台Redis服务器分配两个网段的IP,并在应用服务器中配置每台Redis服务器的本地IP与Redis服务器在本台应用服务器所在网段的IP的对应关系,解决用户量较大情况下,单个REDIS服务器处理效率较低的问题,以及基于Redis集群实现应用服务器跨网络访问Redis服务器,也实现了不同网段的Redis服务器的数据共享。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明跨网络区域数据访问方法第一实施例的流程示意图;

图3为图2中所述根据所述数据访问请求确定哈希槽分区标记步骤的细化流程示意图;

图4为本发明跨网络区域数据访问方法第二实施例的流程示意图;

图5为图4中所述根据所述IP地址配置信息配置预设服务器集群中每台服务器的跨网络区域IP地址步骤的细化流程示意图;

图6为本发明跨网络区域数据访问装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:在检测到数据访问请求时,根据该数据访问请求确定哈希槽分区标记,并根据该哈希槽分区标记确定待访问服务器,并访问该待访问服务器所处的服务器集群,以获取该待访问服务器的本地IP地址,然后判断该本地IP地址与预设IP地址是否处于相同网络区域,如果该本地IP地址与预设IP地址处于不同网络区域,则根据该本地IP地址从预设IP地址关系表中获取该待访问服务器的跨网络区域IP地址,并根据该跨网络区域IP地址访问该待访问服务器。

由于web应用服务器在访问Redis服务器时,只能访问与web应用服务器处于相同网络区域的Redis服务器,不支持跨网络区域访问,因此,如何实现web应用服务器跨网络区域访问Redis服务器是目前亟待解决的问题。

本发明提供一种解决方案,本方案利用多台Redis服务器搭建Redis集群服务器,同时给每台Redis服务器分配两个网段的IP,并在应用服务器中配置每台Redis服务器的本地IP与Redis服务器在本台应用服务器所在网段的IP的对应关系,解决用户量较大情况下,单个REDIS服务器处理效率较低的问题,以及基于Redis集群实现应用服务器跨网络访问Redis服务器,也实现了不同网段的Redis服务器的数据共享。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例设备可以是PC,也可以是智能手机、平板电脑、便携计算机等具有显示功能的可移动式终端设备。

如图1所示,该设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,该设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在设备移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及跨网络区域数据访问程序。

在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,并执行以下步骤:

在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

进一步地,处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,还执行以下步骤:

获取所述数据访问请求中的用户信息,并从第一预设存储区域内的key值关系表中获取与所述用户信息关联的key值;

调用预设算法对所述key值进行校验,以获取校验信息,并根据所述校验信息确定哈希槽分区标记。

进一步地,处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,还执行以下步骤:

从第二预设存储区域中获取服务器与哈希槽分区标记之间的关系表;

从所述关系表中获取与所述哈希槽分区标记关联的服务器;

将所述关系表中与所述哈希槽分区标记关联的服务器确定为待访问服务器。

进一步地,处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,还执行以下步骤:

在所述本地IP地址与预设IP地址处于相同网络区域时,根据所述本地IP地址访问所述待访问服务器。

进一步地,处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,还执行以下步骤:

以预设间隔时间向IP地址配置设备发送IP地址配置信息获取请求;

接收所述IP地址配置设备基于所述IP地址配置信息获取请求发送的IP地址配置信息;

根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

进一步地,处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,还执行以下步骤:

判断所述IP地址配置信息是否与IP地址本地配置信息相同;

在所述IP地址配置信息与IP地址本地配置信息相同时,根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

进一步地,处理器1001可以用于调用存储器1005中存储的跨网络区域数据访问程序,还执行以下步骤:

从所述IP地址配置信息中获取服务器集群的标识信息,并获取与所述标识信息关联的服务器集群;

获取所述服务器集群中每台服务器的本地IP地址,并判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述IP地址配置信息配置对应服务器的跨网络区域IP地址。

本发明跨网络区域数据访问设备的具体实施例与下述跨网络区域数据访问方法的各具体实施例基本相同,在此不作赘述。

本发明还提供一种跨网络区域数据访问方法。

参照图2,图2为本发明跨网络区域数据访问方法第一实施例的流程示意图。

在本实施例中,该跨网络区域数据访问方法包括:

步骤S101,在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

该跨网络区域数据访问方法应用于跨网络区域数据访问设备,该跨网络区域数据访问设备通过网络接口与预设服务器集群连接,该预设服务器集群为Redis服务器集群,包括若干Redis服务器,该Redis服务集群中内置了预设数量的哈希槽,Redis服务集群主要采用键值对(key-value)存储数据,设该预设数量为16384,则键(key)为1-16383,而值(value)为表示节点信息的结构体对象,也就是说哈希槽用于存储节点信息的结构体对象,即用于存储数据。具体地,给Redis集群中的每台Redis服务器配置两个网卡,并分配两个网段的IP地址,同时在每台Redis服务器的配置文件中配置其它Redis服务器的本地IP地址。例如,Redis服务器A的本地IP地址为a,Redis服务器B的本地IP地址为b,Redis服务器C的本地IP地址为c,则Redis服务器A的配置文件包括IP地址b和IP地址c,Redis服务器B的配置文件包括IP地址a和IP地址c,而Redis服务器C的配置文件包括IP地址a和IP地址b。该跨网络区域数据访问设备配置有每台Redis服务器的本地IP地址与该Redis服务器在本设备所在网段的IP地址,从而生成IP地址关系表,具体地,如果Redis服务器的本地IP地址与跨网络区域数据访问设备的IP地址处于不同网络区域,则配置Redis服务器在跨网络区域数据访问设备的IP地址所在网段的跨网络区域IP地址,而如果Redis服务器的本地IP地址与跨网络区域数据访问设备的IP地址处于相同网络区域,则不需要配置Redis服务器的跨网络区域IP地址。

例如,该跨网络区域数据访问设备的IP地址为10.31.224.105,而Redis集群服务器包括2台Redis服务器,且本地IP地址分别为10.31.224.100和10.31.224.98,即跨网络区域数据访问设备与Redis服务器处于相同网络区域,则在跨网络区域数据访问设备中配置Redis服务器的本地IP地址,配置方式为rsals.app.info=10.31.224.100:端口号:密码,10.31.224.98:端口号:密码,每个Redis服务器以逗号分隔,无需配置Redis服务器的跨网络区域IP地址。又例如,该跨网络区域数据访问设备的IP地址为172.20.161.118,而Redis集群服务器包括2台Redis服务器,且本地IP地址分别为10.31.224.100和10.31.224.98,即跨网络区域数据访问设备与Redis服务器处于相同网络区域,则配置Redis服务器的跨网络区域IP地址,配置方式为rsals.dmz.info=172.20.161.116:5562:密码,172.20.162.24:5563:密码,同时配置每台Redis服务器的本地IP地址与跨网络区域IP地址的对应关系,即rsals.dmz.ipmaps=10.31.224.100:172.20.162.116;10.31.224.98:172.20.161.24,也就是将IP地址10.31.224.100映射为172.20.162.116,将IP地址10.31.224.98映射为172.20.162.24。

该跨网络区域数据访问设备在检测到数据访问请求时,根据该数据访问请求确定哈希槽分区标记。

具体地,参照图3,图3为图2中该步骤S101的细化流程示意图,该步骤S101包括:

步骤S1011,获取所述数据访问请求中的用户信息,并根据所述用户信息确定key值;

该跨网络区域数据访问设备在检测到数据访问请求时,从该数据访问请求中获取用户信息,并根据该用户信息确定key值,具体为Redis服务器采用键值对(key-value)存储有每个用户的访问数据,其中,该Redis服务器在给访问数据分配哈希槽时,基于用户信息确定key值,并建立用户信息和key的关系表,即key值关系表,且将该key值关系表存储至预设存储区域,然后将访问数据存储至该key值对应的哈希槽中,因此,当需要获取访问数据时,从数据访问请求中获取用户信息,并从预设存储区域中获取该key值关系表,然后基于该用户信息从该key值关系表中,即用户信息和key的关系表中获取对应的key值,即根据数据访问请求中的用户信息确定存储在Redis服务器中访问数据的标识信息。

步骤S1012,调用预设算法对所述key值进行校验,以获取校验信息,并根据所述校验信息确定哈希槽分区标记。

该跨网络区域数据访问设备根据该用户信息确定key值之后,调用预设算法对该key值进行校验,以获取校验信息,并根据该校验信息确定哈希槽分区标记,该预设算法包括CRC16算法、CRC32算法和CRC64算法,以下以CRC16算法为例进行说明,详细过程如下:

1、将key第一个8-bit字符与预设的16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器;

2、CRC寄存器向右移一位,MSB(最高位)补零,移出并检查LSB(最低位);

3、如果LSB为0,则重复第2步,如果若LSB为1,则将CRC寄存器中的结果与生成多项式码相异或;

4、重复第2与第3步直到8次移位全部完成,此时一个8-bit字符处理完毕;

5、重复第2至第4步直到key值中的所有字符全部处理完成,最终CRC寄存器的内容即为CRC值,即校验信息。

该跨网络区域数据访问设备在获取校验信息之后,根据该校验信息确定哈希槽分区标记,具体地,将该校验信息对预设数值进行取模,从而得到哈希槽编号,并根据该哈希槽编号处于的哈希槽分区确定哈希槽分区标记。Redis集群服务器有若干哈希槽,通过预设算法对key值校验后,基于校验信息对预设数值取模来决定将key值的数据放置在哪个哈希槽,Redis集群服务器的每台Redis服务器负责一部分哈希槽,即对若干个哈希槽进行分区,每个Redis服务器负责一个分区内的哈希槽,因此通过哈希槽分区标记可确定每个Redis服务器负责的哈希槽,同时也可以基于哈希槽分区标记确定负责该分区的哈希槽的Redis服务器。

步骤S102,根据所述哈希槽分区标记确定待访问服务器,访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

该跨网络区域数据访问设备在确定哈希槽分区标记之后,根据该哈希槽分区标记确定待访问服务器,具体地,该跨网络区域数据访问设备从第二预设存储区域中获取服务器与哈希槽分区标记之间的关系表,并从该关系表中获取与该哈希槽分区标记关联的服务器,然后将该关系表中与该哈希槽分区标记关联的服务器确定为待访问服务器。

在确定待访问服务器之后,该跨网络区域数据访问设备访问该待访问服务器所处的Redis服务器集群,以获取该待访问服务器的本地IP地址,即遍历该Redis服务器集群中每台Redis服务器的本地IP地址,并将遍历得到的本地IP地址的标识信息与待访问服务器的标识信息进行比较,当遍历得到的本地IP地址的标识信息与待访问服务器的标识信息相同时,将遍历得到的本地IP地址作为该待访问服务器的本地IP地址。

步骤S103,判断所述本地IP地址与预设IP地址是否处于相同网络区域;

步骤S104,在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

该跨网络区域数据访问设备获取待访问服务器的本地IP地址之后,判断该本地IP地址与预设IP地址是否处于相同网络区域,即判断该本地IP地址的网段是否与预设IP地址的网段相同,如果该本地IP地址与预设IP地址处于不同网络区域,即该本地IP地址的网段与预设IP地址的网段不同,则根据该本地IP地址从预设IP地址关系表中获取该待访问Redis服务器的跨网络区域IP地址,并根据该跨网络区域IP地址访问该待访问Redis服务器,该预设IP地址关系表包括Redis服务器的本地IP地址、Redis服务器的跨网络区域IP地址,以及本地IP地址与跨网络区域IP地址的关联关系。该预设IP地址为跨网络区域数据访问设备的IP地址,需要说明的是,上述预设IP地址、跨网络区域IP地址和本地IP地址可由本领域技术人员根据实际情况进行设置,本实施例对此不作具体限制。

可选地,在本实施例中,该步骤S103之后,还包括:

在所述本地IP地址与预设IP地址处于相同网络区域时,根据所述本地IP地址访问所述待访问服务器。

该跨网络区域数据访问设备获取待访问服务器的本地IP地址之后,判断该本地IP地址与预设IP地址是否处于相同网络区域,即判断该本地IP地址的网段是否与预设IP地址的网段相同,如果本地IP地址与预设IP地址处于相同网络区域,即该本地IP地址的网段与预设IP地址的网段相同,则根据该本地IP地址访问该待访问服务器。

在本实施例中,本发明在检测到数据访问请求时,根据该数据访问请求确定哈希槽分区标记,并根据该哈希槽分区标记确定待访问服务器,并访问该待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址,然后判断该本地IP地址与预设IP地址是否处于相同网络区域,如果该本地IP地址与预设IP地址处于不同网络区域,则根据该本地IP地址从预设IP地址关系表中获取该待访问服务器的跨网络区域IP地址,并根据该跨网络区域IP地址访问该待访问服务器,本方案利用多台Redis服务器搭建Redis集群服务器,同时给每台Redis服务器分配两个网段的IP,并在应用服务器中配置每台Redis服务器的本地IP与Redis服务器在本台应用服务器所在网段的IP的对应关系,解决用户量较大情况下,单个REDIS服务器处理效率较低的问题,以及基于Redis集群实现应用服务器跨网络访问Redis服务器,也实现了不同网段的Redis服务器的数据共享。

进一步的,参照图4,基于上述第一实施例提出了本发明跨网络区域数据访问方法的第二实施例,与前述实施例的区别在于,该跨网络区域数据访问方法还包括:

步骤S105,以预设间隔时间向IP地址配置设备发送IP地址配置信息获取请求;

需要说明的是,本发明基于前述实施例,提出了一种服务器的跨网络区域IP地址的具体配置方式,以下仅对此进行说明,其它可参照前述实施例。

该跨网络区域数据访问设备通过网络接口与IP地址配置设备连接,并以预设间隔时间向IP地址配置设备发送IP地址配置信息获取请求,该IP地址配置信息获取请求包括跨网络区域数据访问设备的IP地址。该IP地址配置设备在接收到跨网络区域数据访问设备发送的IP地址配置信息获取请求时,从数据库中获取IP地址配置信息,并根据该IP地址配置信息获取请求中的IP地址将该IP地址配置信息发送至对应的跨网络区域数据访问设备。

步骤S106,接收所述IP地址配置设备基于所述IP地址配置信息获取请求发送的IP地址配置信息;

步骤S107,根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

该跨网络区域数据访问设备向IP地址配置设备发送IP地址配置信息获取请求之后,接收该IP地址配置设备基于该IP地址配置信息获取请求发送的IP地址配置信息,并根据该IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

具体地,参照图5,图5为图4中该步骤S107的细化流程示意图,该步骤S107包括:

步骤S1071,从所述IP地址配置信息中获取服务器集群的标识信息,并获取与所述标识信息关联的服务器集群;

步骤S1072,获取所述服务器集群中每台服务器的本地IP地址,并判断所述本地IP地址与预设IP地址是否处于相同网络区域;

步骤S1073,在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述IP地址配置信息配置对应服务器的跨网络区域IP地址。

该跨网络区域数据访问设备接收该IP地址配置设备基于该IP地址配置信息获取请求发送的IP地址配置信息之后,从该IP地址配置信息中获取服务器集群的标识信息,并获取与该标识信息关联的服务器集群,然后获取该服务器集群中每台服务器的本地IP地址,并判断该本地IP地址与预设IP地址是否处于相同网络区域,如果该本地IP地址与预设IP地址处于不同网络区域,则根据该IP地址配置信息配置对应服务器的跨网络区域IP地址,如果该本地IP地址与预设IP地址处于相同网络区域,则根据该IP地址配置信息配置对应服务器的IP地址。

可选地,在本实施例中,该步骤S106之后,还包括:

判断所述IP地址配置信息是否与IP地址本地配置信息相同;

在所述IP地址配置信息与IP地址本地配置信息相同时,执行步骤S107,即根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

该跨网络区域数据访问设备接收该IP地址配置设备基于该IP地址配置信息获取请求发送的IP地址配置信息之后,判断该IP地址配置信息是否与IP地址本地配置信息相同,即判断IP地址配置信息是否有更新,如果该IP地址配置信息与IP地址本地配置信息不同,即IP地址配置信息有更新,则根据该IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

在本实施例中,本发明通过IP地址配置设备控制管理IP地址配置信息,实现跨网络区域数据访问设备中IP地址配置信息的灵活控制与管理,便于IP地址配置信息的配置。

本发明还提供一种跨网络区域数据访问装置。

参照图6,图6为本发明跨网络区域数据访问装置第一实施例的功能模块示意图。

在本实施例中,该跨网络区域数据访问装置包括:

检测确定模块101,用于在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

所述检测确定模块101,还用于根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断模块102,用于判断所述本地IP地址与预设IP地址是否处于相同网络区域;

获取访问模块103,用于在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

进一步地,所述检测确定模块101,还用于:

获取所述数据访问请求中的用户信息,并从第一预设存储区域内的key值关系表中获取与所述用户信息关联的key值;

调用预设算法对所述key值进行校验,以获取校验信息,并根据所述校验信息确定哈希槽分区标记。

进一步地,所述检测确定模块101,还用于:

从第二预设存储区域中获取服务器与哈希槽分区标记之间的关系表;

从所述关系表中获取与所述哈希槽分区标记关联的服务器;

将所述关系表中与所述哈希槽分区标记关联的服务器确定为待访问服务器。

进一步地,所述获取访问模块103,还用于

在所述本地IP地址与预设IP地址处于相同网络区域时,根据所述本地IP地址访问所述待访问服务器。

进一步地,该跨网络区域数据访问装置还包括:

发送模块,用于以预设间隔时间向IP地址配置设备发送IP地址配置信息获取请求;

接收模块,用于接收所述IP地址配置设备基于所述IP地址配置信息获取请求发送的IP地址配置信息;

配置模块,用于根据所述IP地址配置信息配置预设服务器集群中每台服务器的跨网络区域IP地址。

进一步地,所述判断模块102,还用于判断所述IP地址配置信息是否与IP地址本地配置信息相同;

所述配置模块,还用于在所述IP地址配置信息与IP地址本地配置信息相同时,根据所述IP地址配置信息配置预设服务器集群中每台服务器的跨网络区域IP地址。

进一步地,所述配置模块,还用于:

从所述IP地址配置信息中获取服务器集群的标识信息,并获取与所述标识信息关联的服务器集群;

获取所述服务器集群中每台服务器的本地IP地址,并判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述IP地址配置信息配置对应服务器的跨网络区域IP地址。

本发明跨网络区域数据访问装置的具体实施例与上述跨网络区域数据访问方法的各具体实施例基本相同,在此不作赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有跨网络区域数据访问程序,所述跨网络区域数据访问程序被处理器执行时实现以下步骤:

在检测到数据访问请求时,根据所述数据访问请求确定哈希槽分区标记;

根据所述哈希槽分区标记确定待访问服务器,并访问所述待访问服务器所处的服务器集群,以获取所述待访问服务器的本地IP地址;

判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述本地IP地址从预设IP地址关系表中获取所述待访问服务器的跨网络区域IP地址,并根据所述跨网络区域IP地址访问所述待访问服务器。

进一步地,所述跨网络区域数据访问程序被处理器执行时还实现以下步骤:

获取所述数据访问请求中的用户信息,并并从第一预设存储区域内的key值关系表中获取与所述用户信息关联的key值;

调用预设算法对所述key值进行校验,以获取校验信息,并根据所述校验信息确定哈希槽分区标记。

进一步地,所述跨网络区域数据访问程序被处理器执行时还实现以下步骤:

从第二预设存储区域中获取服务器与哈希槽分区标记之间的关系表;

从所述关系表中获取与所述哈希槽分区标记关联的服务器;

将所述关系表中与所述哈希槽分区标记关联的服务器确定为待访问服务器。

进一步地,所述跨网络区域数据访问程序被处理器执行时还实现以下步骤:

在所述本地IP地址与预设IP地址处于相同网络区域时,根据所述本地IP地址访问所述待访问服务器。

进一步地,所述跨网络区域数据访问程序被处理器执行时还实现以下步骤:

以预设间隔时间向IP地址配置设备发送IP地址配置信息获取请求;

接收所述IP地址配置设备基于所述IP地址配置信息获取请求发送的IP地址配置信息;

根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

进一步地,所述跨网络区域数据访问程序被处理器执行时还实现以下步骤:

判断所述IP地址配置信息是否与IP地址本地配置信息相同;

在所述IP地址配置信息与IP地址本地配置信息相同时,根据所述IP地址配置信息配置对应服务器集群中每台服务器的跨网络区域IP地址。

进一步地,所述跨网络区域数据访问程序被处理器执行时还实现以下步骤:

从所述IP地址配置信息中获取服务器集群的标识信息,并获取与所述标识信息关联的服务器集群;

获取所述服务器集群中每台服务器的本地IP地址,并判断所述本地IP地址与预设IP地址是否处于相同网络区域;

在所述本地IP地址与预设IP地址处于不同网络区域时,根据所述IP地址配置信息配置对应服务器的跨网络区域IP地址。

本发明计算机可读存储介质的具体实施例与上述跨网络区域数据访问方法的各具体实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号