CN108491466A - 电子装置、访问指令信息获取方法及存储介质 - Google Patents
电子装置、访问指令信息获取方法及存储介质 Download PDFInfo
- Publication number
- CN108491466A CN108491466A CN201810183149.6A CN201810183149A CN108491466A CN 108491466 A CN108491466 A CN 108491466A CN 201810183149 A CN201810183149 A CN 201810183149A CN 108491466 A CN108491466 A CN 108491466A
- Authority
- CN
- China
- Prior art keywords
- redis
- access instruction
- information
- instruction information
- identification information
- 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
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种电子装置、访问指令信息获取方法及存储介质,通过在接收到客户端发送的带有客户端标识信息的访问请求后,查询异常信息存储表中是否存储有redis的异常标识信息;若查询到有redis的异常标识信息,则分别将异常标识信息与主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;若查询不到有redis的异常标识信息,则从主redis获取客户端标识信息对应的访问指令信息;将获取的访问指令信息发送至该客户端。能够提高客户端访问开放平台的效率,且能够改善开放平台的数据库单点故障的问题。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种电子装置、访问指令信息获取方法及存储介质。
背景技术
Redis是一个高性能的内存数据库,开放平台通常利用Redis来存储及生成一些访问比较频繁的数据,比如存储客户端(CLIENT)的登录验证信息,以及存储访问指令信息(ACESS_TOKEN)或者生成访问指令信息等。由于客户端的登录验证信息以及访问指令信息的读写调用量在一定的时间段内可能达到上亿级别,因此,即使是高性能的Redis也可能会出现宕机的风险。而Redis一旦出现宕机,则存在单点故障的风险,将导致客户端访问整个开放平台的效率低下,严重影响用户的使用效果。
发明内容
有鉴于此,本发明提出一种电子装置、访问指令信息获取方法及存储介质,能够提高客户端访问开放平台的效率,且能够改善开放平台的数据库单点故障的问题。
首先,为实现上述目的,本发明提出一种访问指令信息获取方法,所述访问指令信息获取方法包括如下步骤:
S1、接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
S2、若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;S3、若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
S4、将获取的访问指令信息发送至该客户端。
进一步地,所述访问指令信息获取程序被所述处理器执行时还实现监测步骤,所述监测步骤包括:
根据预设的监测周期,监测所述主redis及所述备redis;
若在第一监测周期内监测到所述主redis异常,则生成与所述主redis的第一标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表;
或者,若在第一监测周期内监测到所述备redis异常,则生成与所述备redis的第二标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表。
进一步地,若在第一监测周期内没有监测到所述主redis异常,则在第二监测周期内重复执行所述监测步骤,所述第二监测周期为所述第一监测周期之后的监测周期。
进一步地,所述客户端标识信息包括登录名及登录密码,所述从所述备redis中获取所述客户端标识信息对应的访问指令信息的步骤包括:
基于所述登录名及登录密码遍历所述备redis,若在所述备redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述备redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
进一步地,所述从所述主redis中获取所述客户端标识信息对应的访问指令信息的步骤包括:
基于所述登录名及登录密码遍历所述主redis,若在所述主redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述主redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
进一步地,所述预先确定的访问指令信息获取规则包括:
查询所述备redis中是否有所述登录名对应的访问指令信息;
若所述备redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第一有效期及当前操作时间;
若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效,若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若确定该访问指令信息有效,则获取该访问指令信息,若确定该访问指令信息无效,则向所述备redis发送生成所述登录名对应的访问指令信息的请求,获取所述备redis生成的所述登录名对应的访问指令信息;
向所述备redis发送生成所述登录名对应的访问指令信息的请求,获取所述备redis生成的该客户端标识信息对应的访问指令信息。
进一步地,所述预先确定的访问指令信息获取规则包括:
查询所述主redis中是否有所述登录名对应的访问指令信息;
若所述主redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第一有效期及当前操作时间;
若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效,若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若确定该访问指令信息有效,则获取该访问指令信息,若确定该访问指令信息无效,则向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的所述登录名对应的访问指令信息;
向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的该客户端标识信息对应的访问指令信息。
此外,为实现上述目的,本发明还提供一种电子装置,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的访问指令信息获取程序,所述访问指令信息获取程序被所述处理器执行时实现如下步骤:
A1、接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
A2、若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;
A3、若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
A4、将获取的访问指令信息发送至该客户端。
进一步地,所述访问指令信息获取程序被所述处理器执行时还实现监测步骤,所述监测步骤包括:
根据预设的监测周期,监测所述主redis及所述备redis;
若在第一监测周期内监测到所述主redis异常,则生成与所述主redis的第一标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表;
或者,若在第一监测周期内监测到所述备redis异常,则生成与所述备redis的第二标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有访问指令信息获取程序,所述访问指令信息获取程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的访问指令信息获取方法的步骤。
相较于现有技术,本发明所提出的电子装置、访问指令信息获取方法及存储介质,首先通过在接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;其次若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从所述备redis中获取所述客户端标识信息对应的访问指令信息,或者确定从所述主redis中获取所述客户端标识信息对应的访问指令信息;若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;最后将获取的访问指令信息发送至该客户端。能够提高客户端访问开放平台的效率,且能够改善开放平台的数据库单点故障的问题。
附图说明
图1是本发明提出的电子装置一可选的硬件架构的示意图;
图2是本发明电子装置一实施例中访问指令信息获取程序的程序模块示意图;
图3是本发明访问指令信息获取方法较佳实施例的实施流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明提出的电子装置一可选的硬件架构示意图。本实施例中,电子装置10可包括,但不仅限于,可通过通信总线14相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-14的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的计算机可读存储介质,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是电子装置10的内部存储单元,例如电子装置10的硬盘或内存。在另一些实施例中,存储器11也可以是电子装置10的外包存储设备,例如电子装置10上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括电子装置10的内部存储单元也包括其外包存储设备。本实施例中,存储器11通常用于存储安装于电子装置10的操作系统和各类应用软件,例如访问指令信息获取程序等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制电子装置10的总体操作。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的访问指令信息获取程序等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在电子装置10与其他电子设备之间建立通信连接。
通信总线14用于实现组件11-13之间的通信连接。
图1仅示出了具有组件11-14以及访问指令信息获取程序的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,电子装置10还可以包括用户接口(图1中未示出),用户接口可以包括显示器、输入单元比如键盘,其中,用户接口还可以包括标准的有线接口、无线接口等。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED触摸器等。进一步地,显示器也可称为显示屏或显示单元,用于显示在电子装置10中处理信息以及用于显示可视化的用户界面。
在一实施例中,存储器11中存储的访问指令信息获取程序被处理器12执行时,实现如下操作:
A、接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
B、若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;
具体地,在本实施例中,若所述异常标识信息与所述第一标识信息相匹配,则确定从所述备redis中获取所述客户端标识信息对应的访问指令信息;
或者,若所述异常标识信息与所述第二标识信息相匹配,则确定从所述主redis中获取所述客户端标识信息对应的访问指令信息;
C、若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
D、将获取的访问指令信息发送至该客户端。
需要说明的是,在本申请的各个实施例中,预先创建第一Redis和第二Redis,设置预先创建的第一Redis为主redis,预先创建的第二Redis为备redis,并在监测到有数据写入所述主redis时,将该数据同步写入所述备redis。
在本实施例中,所述预先确定的异常信息存储表为预先建立的初始存储状态为空的Threadlocal表,存储器11中存储的访问指令获取程序被处理器12执行时,还实现如下监测步骤:根据预设的监测周期,监测所述主redis及所述备redis;若在第一监测周期内监测到所述主redis异常,则生成与所述主redis的第一标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表;或者,若在第一监测周期内监测到所述备redis异常,则生成与所述备redis的第二标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表。
进一步地,若在第一监测周期内没有监测到所述主redis异常,则在第二监测周期内重复执行上述监测步骤,所述第二监测周期为所述第一监测周期之后的监测周期。
在本实施例中,所述异常标识信息与所述第一标识信息相匹配包括部分内容对应一致,也包括全部内容对应一致。
在一实施例中,所述客户端为client,如万维网的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类的应用程序,需要网络中有相应的服务器以及服务程序来提供相应的服务,而在客户端与服务器端进行通信连接之前,需要对客户端的登录信息进行验证,并通过验证之后生成给客户端对应的访问指令信息之后,才能在客户端和服务器端建立特定的通信连接,而通常将客户端的登录信息与预先确定的数据库如本申请中的redis,中的客户端的标识信息进行匹配之后,根据匹配结果在所述预先确定的数据库中查询或者生成对应的访问指令信息,这样客户端和服务器端,才能建立特定的通信连接,来保证应用程序的正常运行。在本实施例中,例如,客户端标识信息包括登录名及登录密码,访问指令信息为访问令牌,所述访问令牌通常用来描述一个进程或者是线程的安全上下文,访问指令信息通常包含与该进程或者线程相关的用户帐户的标识符identity和访问特权,若客户端需要登陆服务端,则需要输入登录名及与输入的登录名对应的登录密码,并在预先确定的数据库中,本实施例为主redis及备redis中,查找该登录名对应的登录密码是否与输入的相匹配,若相匹配,则该客户端的登录通过验证,在通过验证之后系统会生成一个与登录信息对应的访问指令信息,也即访问令牌,该访问令牌也会存储在预先确定的数据库,如redis。
所述从所述备redis中获取所述客户端标识信息对应的访问指令信息包括:
基于所述登录名及所述登录密码遍历所述备redis,若在所述备redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述备redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
在本实施例中,所述预先确定的访问指令信息获取规则可以是,例如,
查询所述备redis中是否有所述登录名对应的访问指令信息;
若所述备redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第一有效期及当前操作时间;
若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效;
若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若访问指令信息有效,则获取该访问指令信息,若访问指令信息无效,则向所述备redis发送生成该客户端标识信息对应的访问指令信息的请求,获取所述备redis生成的该客户端标识信息对应的访问指令信息。
所述从所述主redis中获取所述客户端标识信息对应的访问指令信息的步骤包括:
基于所述登录名及所述登录密码遍历所述主redis,若在所述主redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述主redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
在本实施例中,所述预先确定的访问指令信息获取规则可以是,例如,
查询所述主redis中是否有所述登录名对应的访问指令信息;
若所述主redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第二有效期及当前操作时间;
若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效,若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若确定该访问指令信息有效,则获取该访问指令信息,若确定该访问指令信息无效,则向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的所述登录名对应的访问指令信息;
向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的该客户端标识信息对应的访问指令信息。
在一实施例中,由于主redis、备redis通常会在不同的时间出现宕机,且宕机之后恢复正常所需的时间不同,导致主redis和备redis中的存在的访问指令信息的剩余有效期可能会不一致,例如主redis中访问指令信息对应的第一剩余有效期可能是10小时,备redis中的访问指令信息对应的第二剩余有效期可能是12小时,此时备redis中的访问指令信息对应的第二剩余有效期更长,那就以备redis中的访问指令信息的第二剩余有效期为准,并将该第二剩余有效期同步到主redis中,更新主redis中的第一剩余有效期为该第二剩余有效期。
需要说明的是,访问指令信息通常具有一个有效期,比如24小时,有效期到之后,redis中的访问指令信息数据会自动删除,同时会有一个缓冲期并生成新的访问指令信息,比如在有效期到之前15分钟为缓冲期,该缓冲期对应本实施例中的时间阈值。
由上述事实施例可知,本发明提出的电子装置首先通过在接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;其次若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从所述备redis中获取所述客户端标识信息对应的访问指令信息,或者确定从所述主redis中获取所述客户端标识信息对应的访问指令信息;若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;最后将获取的访问指令信息发送至该客户端。能够提高客户端访问开放平台的效率,且能够改善开放平台的数据库单点故障的问题。
进一步需要说明的是,本发明的访问指令信息获取程序依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明电子装置一实施例中访问指令信息获取程序的程序模块示意图。本实施例中,访问指令信息获取程序依据其各部分所实现的功能的不同,可以被分割成查询模块201、确定模块202、获取模块203、以及发送模块204。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述访问指令信息获取程序在电子装置10中的执行过程。所述模块201-204所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
查询模块201用于在接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
确定模块202用于若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;
获取模块203用于若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
发送模块204用于将获取的访问指令信息发送至该客户端。。
此外,本发明还提出一种访问指令信息获取方法,请参阅图3所示,所述访问指令信息获取方法包括如下步骤:
步骤S301,接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
步骤S302,若查询到有redis的异常标识信息,则分别将异常标识信息与主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取所述客户端标识信息对应的访问指令信息;
具体地,在本实施例中,若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配;
若所述异常标识信息与所述第一标识信息相匹配,则确定从所述备redis中获取所述客户端标识信息对应的访问指令信息;
或者,若所述异常标识信息与所述第二标识信息相匹配,则确定从所述主redis中获取所述客户端标识信息对应的访问指令信息;
步骤S303,若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
步骤S304,将获取的访问指令信息发送至该客户端。
需要说明的是,在本申请的各个实施例中,预先创建第一Redis和第二Redis,设置预先创建的第一Redis为主redis,预先创建的第二Redis为备redis,并在监测到有数据写入所述主redis时,将该数据同步写入所述备redis。
在本实施例中,所述预先确定的异常信息存储表为预先建立的初始存储状态为空的Threadlocal表,存储器11中存储的访问指令获取程序被处理器12执行时,还实现如下监测步骤:根据预设的监测周期,监测所述主redis及所述备redis;若在第一监测周期内监测到所述主redis异常,则生成与所述主redis的第一标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表;或者,若在第一监测周期内监测到所述备redis异常,则生成与所述备redis的第二标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表。
进一步地,若在第一监测周期内没有监测到所述主redis异常,则在第二监测周期内重复执行上述监测步骤,所述第二监测周期为所述第一监测周期之后的监测周期。
在本实施例中,所述异常标识信息与所述第一标识信息相匹配包括部分内容对应一致,也包括全部内容对应一致。
在一实施例中,所述客户端为client,如万维网的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类的应用程序,需要网络中有相应的服务器以及服务程序来提供相应的服务,而在客户端与服务器端进行通信连接之前,需要对客户端的登录信息进行验证,并通过验证之后生成给客户端对应的访问指令信息之后,才能在客户端和服务器端建立特定的通信连接,而通常将客户端的登录信息与预先确定的数据库如本申请中的redis,中的客户端的标识信息进行匹配之后,根据匹配结果在所述预先确定的数据库中查询或者生成对应的访问指令信息,这样客户端和服务器端,才能建立特定的通信连接,来保证应用程序的正常运行。在本实施例中,例如,客户端标识信息包括登录名及登录密码,访问指令信息为访问令牌,所述访问令牌通常用来描述一个进程或者是线程的安全上下文,访问指令信息通常包含与该进程或者线程相关的用户帐户的标识符identity和访问特权,若客户端需要登陆服务端,则需要输入登录名及与输入的登录名对应的登录密码,并在预先确定的数据库中,本实施例为主redis及备redis中,查找该登录名对应的登录密码是否与输入的相匹配,若相匹配,则该客户端的登录通过验证,在通过验证之后系统会生成一个与登录信息对应的访问指令信息,也即访问令牌,该访问令牌也会存储在预先确定的数据库,如redis。
所述从所述备redis中获取所述客户端标识信息对应的访问指令信息包括:
基于所述登录名及所述登录密码遍历所述备redis,若在所述备redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述备redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
在本实施例中,所述预先确定的访问指令信息获取规则可以是,例如,
查询所述备redis中是否有所述登录名对应的访问指令信息;
若所述备redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第一有效期及当前操作时间;
若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效;
若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若访问指令信息有效,则获取该访问指令信息,若访问指令信息无效,则向所述备redis发送生成该客户端标识信息对应的访问指令信息的请求,获取所述备redis生成的该客户端标识信息对应的访问指令信息。
所述从所述主redis中获取所述客户端标识信息对应的访问指令信息的步骤包括:
基于所述登录名及所述登录密码遍历所述主redis,若在所述主redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述主redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
在本实施例中,所述预先确定的访问指令信息获取规则可以是,例如,
查询所述主redis中是否有所述登录名对应的访问指令信息;
若所述主redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第二有效期及当前操作时间;
若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效,若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若确定该访问指令信息有效,则获取该访问指令信息,若确定该访问指令信息无效,则向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的所述登录名对应的访问指令信息;
向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的该客户端标识信息对应的访问指令信息。
在一实施例中,由于主redis、备redis通常会在不同的时间出现宕机,且出现宕机之后恢复正常运行所需的时间可能不同,导致主redis和备redis中的存在的访问指令信息的剩余有效期可能会不一致,例如主redis中访问指令信息对应的第一剩余有效期可能是10小时,备redis中的访问指令信息对应的第二剩余有效期可能是12小时,此时备redis中的访问指令信息对应的第二剩余有效期更长,那就以备redis中的访问指令信息的第二剩余有效期为准,并将该第二剩余有效期同步到主redis中,更新主redis中的第一剩余有效期为该第二剩余有效期。
需要说明的是,访问指令信息通常具有一个有效期,比如24小时,有效期到之后,redis中的访问指令信息数据会自动删除,同时会有一个缓冲期并生成新的访问指令信息,比如在有效期到之前15分钟为缓冲期,该缓冲期对应本实施例中的时间阈值。
由上述事实施例可知,本发明提出的访问指令信息获取方法,首先通过在接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;其次若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从所述备redis中获取所述客户端标识信息对应的访问指令信息,或者确定从所述主redis中获取所述客户端标识信息对应的访问指令信息;若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;最后将获取的访问指令信息发送至该客户端。能够提高客户端访问开放平台的效率,且能够改善开放平台的数据库单点故障的问题。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有访问指令信息获取程序,所述访问指令信息获取程序被处理器执行时实现如下操作:
接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配;
若所述异常标识信息与所述第一标识信息相匹配,则确定从所述备redis中获取所述客户端标识信息对应的访问指令信息;
或者,若所述异常标识信息与所述第二标识信息相匹配,则确定从所述主redis中获取所述客户端标识信息对应的访问指令信息;
若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
将获取的访问指令信息发送至该客户端。
本发明计算机可读存储介质具体实施方式与上述电子装置以及访问指令信息获取方法各实施例基本相同,在此不作累述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种访问指令信息获取方法,其特征在于,所述访问指令信息获取方法包括如下步骤:
S1、接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
S2、若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;
S3、若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
S4、将获取的访问指令信息发送至该客户端。
2.如权利要求1所述的访问指令信息获取方法,其特征在于,所述访问指令信息获取程序被所述处理器执行时还实现监测步骤,所述监测步骤包括:
根据预设的监测周期,监测所述主redis及所述备redis;
若在第一监测周期内监测到所述主redis异常,则生成与所述主redis的第一标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表;
或者,若在第一监测周期内监测到所述备redis异常,则生成与所述备redis的第二标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表。
3.如权利要求2所述的访问指令信息获取方法,其特征在于,若在第一监测周期内没有监测到所述主redis异常,则在第二监测周期内重复执行所述监测步骤,所述第二监测周期为所述第一监测周期之后的监测周期。
4.如权利要求1-3任一所述的访问指令信息获取方法,其特征在于,所述客户端标识信息包括登录名及登录密码,所述从所述备redis中获取所述客户端标识信息对应的访问指令信息的步骤包括:
基于所述登录名及所述登录密码遍历所述备redis,若在所述备redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述备redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
5.如权利要求4所述的访问指令信息获取方法,其特征在于,所述从所述主redis中获取所述客户端标识信息对应的访问指令信息的步骤包括:
基于所述登录名及所述登录密码遍历所述主redis,若在所述主redis中查询到所述登录名与所述登录密码之间的映射关系,则根据预先确定的访问指令信息获取规则获取所述登录名对应的访问指令信息;
或者,若在所述主redis中查询不到所述登录名与所述登录密码之间的映射关系,则向该客户端发送错误提示信息。
6.如权利要求4所述的访问指令信息获取方法,其特征在于,所述预先确定的访问指令信息获取规则包括:
查询所述备redis中是否有所述登录名对应的访问指令信息;
若所述备redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第一有效期及当前操作时间;
若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效,若所述第一有效期大于当前操作时间,且所述第一有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若确定该访问指令信息有效,则获取该访问指令信息,若确定该访问指令信息无效,则向所述备redis发送生成所述登录名对应的访问指令信息的请求,获取所述备redis生成的所述登录名对应的访问指令信息;
向所述备redis发送生成所述登录名对应的访问指令信息的请求,获取所述备redis生成的该客户端标识信息对应的访问指令信息。
7.如权利要求5所述的访问指令信息生成方法,其特征在于,所述预先确定的访问指令信息获取规则包括:
查询所述主redis中是否有所述登录名对应的访问指令信息;
若所述主redis中有所述登录名对应的访问指令信息,则获取该访问指令信息的第二有效期及当前操作时间;
若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的差值大于预设的时间阈值,则确定该访问指令信息有效,若所述第二有效期大于当前操作时间,且所述第二有效期与当前操作时间的查找小于或等于预设的时间阈值,则确定该访问指令信息无效;
若确定该访问指令信息有效,则获取该访问指令信息,若确定该访问指令信息无效,则向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的所述登录名对应的访问指令信息;
向所述主redis发送生成所述登录名对应的访问指令信息的请求,获取所述主redis生成的该客户端标识信息对应的访问指令信息。
8.一种电子装置,其特征在于,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的访问指令信息获取程序,所述访问指令信息获取程序被所述处理器执行时实现如下步骤:
A1、接收到客户端发送的带有客户端标识信息的访问请求后,查询预先确定的异常信息存储表中是否存储有redis的异常标识信息;
A2、若查询到有redis的异常标识信息,则分别将所述异常标识信息与预先确定的主redis的第一标识信息及备redis的第二标识信息进行匹配,并根据匹配结果确定从主redis或备redis获取客户端标识信息对应的访问指令信息;
A3、若查询不到有redis的异常标识信息,则从所述主redis获取所述客户端标识信息对应的访问指令信息;
A4、将获取的访问指令信息发送至该客户端。
9.如权利要求8所述的电子装置,其特征在于,所述访问指令信息获取程序被所述处理器执行时还实现监测步骤,所述监测步骤包括:
根据预设的监测周期,监测所述主redis及所述备redis;
若在第一监测周期内监测到所述主redis异常,则生成与所述主redis的第一标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表;
或者,若在第一监测周期内监测到所述备redis异常,则生成与所述备redis的第二标识信息相匹配的异常标识信息,将该异常标识信息存储至所述异常信息存储列表。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有访问指令信息获取程序,所述访问指令信息获取程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6中任一项所述的访问指令信息获取方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810183149.6A CN108491466B (zh) | 2018-03-06 | 2018-03-06 | 电子装置、访问指令信息获取方法及存储介质 |
PCT/CN2018/089872 WO2019169771A1 (zh) | 2018-03-06 | 2018-06-05 | 电子装置、访问指令信息获取方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810183149.6A CN108491466B (zh) | 2018-03-06 | 2018-03-06 | 电子装置、访问指令信息获取方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108491466A true CN108491466A (zh) | 2018-09-04 |
CN108491466B CN108491466B (zh) | 2022-08-30 |
Family
ID=63341543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810183149.6A Active CN108491466B (zh) | 2018-03-06 | 2018-03-06 | 电子装置、访问指令信息获取方法及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108491466B (zh) |
WO (1) | WO2019169771A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825758A (zh) * | 2019-10-31 | 2020-02-21 | 中国银联股份有限公司 | 一种交易处理的方法及装置 |
CN112925848A (zh) * | 2021-02-23 | 2021-06-08 | 马上消费金融股份有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN114817688A (zh) * | 2022-04-25 | 2022-07-29 | 平安科技(深圳)有限公司 | 用户信息加载方法、装置、电子设备及存储介质 |
CN114860782A (zh) * | 2022-07-04 | 2022-08-05 | 北京世纪好未来教育科技有限公司 | 数据查询方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005217843A (ja) * | 2004-01-30 | 2005-08-11 | Nec Corp | コンテンツ配信システム、サーバ、クライアント及びプログラム |
US20060074847A1 (en) * | 2004-09-21 | 2006-04-06 | Eiji Yatabe | Method and system for data processing with data replication for the same |
CN103473272A (zh) * | 2013-08-20 | 2013-12-25 | 小米科技有限责任公司 | 数据处理方法、装置及系统 |
CN104199957A (zh) * | 2014-09-17 | 2014-12-10 | 合一网络技术(北京)有限公司 | 一种Redis通用代理的实现方法 |
CN104252500A (zh) * | 2013-06-29 | 2014-12-31 | 北京新媒传信科技有限公司 | 一种数据库管理平台的故障修复方法和装置 |
CN105808638A (zh) * | 2016-02-23 | 2016-07-27 | 平安科技(深圳)有限公司 | 数据处理方法和系统 |
CN106330563A (zh) * | 2016-08-30 | 2017-01-11 | 北京神州绿盟信息安全科技股份有限公司 | 一种确定内网http通信流服务类型的方法及装置 |
CN106897421A (zh) * | 2017-02-24 | 2017-06-27 | 杭州铭师堂教育科技发展有限公司 | 基于哨兵模式的内存数据库读写分离系统及方法 |
CN107025243A (zh) * | 2016-02-02 | 2017-08-08 | 北京神州泰岳软件股份有限公司 | 一种资源数据的查询方法、查询客户端和查询系统 |
CN107734017A (zh) * | 2017-09-30 | 2018-02-23 | 平安科技(深圳)有限公司 | 数据服务方法及系统 |
-
2018
- 2018-03-06 CN CN201810183149.6A patent/CN108491466B/zh active Active
- 2018-06-05 WO PCT/CN2018/089872 patent/WO2019169771A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005217843A (ja) * | 2004-01-30 | 2005-08-11 | Nec Corp | コンテンツ配信システム、サーバ、クライアント及びプログラム |
US20060074847A1 (en) * | 2004-09-21 | 2006-04-06 | Eiji Yatabe | Method and system for data processing with data replication for the same |
CN104252500A (zh) * | 2013-06-29 | 2014-12-31 | 北京新媒传信科技有限公司 | 一种数据库管理平台的故障修复方法和装置 |
CN103473272A (zh) * | 2013-08-20 | 2013-12-25 | 小米科技有限责任公司 | 数据处理方法、装置及系统 |
CN104199957A (zh) * | 2014-09-17 | 2014-12-10 | 合一网络技术(北京)有限公司 | 一种Redis通用代理的实现方法 |
CN107025243A (zh) * | 2016-02-02 | 2017-08-08 | 北京神州泰岳软件股份有限公司 | 一种资源数据的查询方法、查询客户端和查询系统 |
CN105808638A (zh) * | 2016-02-23 | 2016-07-27 | 平安科技(深圳)有限公司 | 数据处理方法和系统 |
CN106330563A (zh) * | 2016-08-30 | 2017-01-11 | 北京神州绿盟信息安全科技股份有限公司 | 一种确定内网http通信流服务类型的方法及装置 |
CN106897421A (zh) * | 2017-02-24 | 2017-06-27 | 杭州铭师堂教育科技发展有限公司 | 基于哨兵模式的内存数据库读写分离系统及方法 |
CN107734017A (zh) * | 2017-09-30 | 2018-02-23 | 平安科技(深圳)有限公司 | 数据服务方法及系统 |
Non-Patent Citations (4)
Title |
---|
HAKLIN KIMM ETC.: "SCADIS: Supporting Reliable Scalability in Redis Replication on Demand", 《2017 IEEE INTERNATIONAL CONFERENCE ON SMART CLOUD (SMARTCLOUD)》 * |
李燚: "Redis集群可靠性的研究与优化", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
牟宗磊等: "分布式测试系统时间同步技术的研究", 《计算机测量与控制》 * |
瞿龙俊: "基于HBase的交通流数据实时存储与查询优化方案的设计与实现", 《中国优秀硕士学位论文全文数据库(工程科技Ⅱ辑)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825758A (zh) * | 2019-10-31 | 2020-02-21 | 中国银联股份有限公司 | 一种交易处理的方法及装置 |
CN110825758B (zh) * | 2019-10-31 | 2022-11-15 | 中国银联股份有限公司 | 一种交易处理的方法及装置 |
CN112925848A (zh) * | 2021-02-23 | 2021-06-08 | 马上消费金融股份有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN112925848B (zh) * | 2021-02-23 | 2024-02-06 | 马上消费金融股份有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN114817688A (zh) * | 2022-04-25 | 2022-07-29 | 平安科技(深圳)有限公司 | 用户信息加载方法、装置、电子设备及存储介质 |
CN114860782A (zh) * | 2022-07-04 | 2022-08-05 | 北京世纪好未来教育科技有限公司 | 数据查询方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108491466B (zh) | 2022-08-30 |
WO2019169771A1 (zh) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491466A (zh) | 电子装置、访问指令信息获取方法及存储介质 | |
CN108848039B (zh) | 服务器、消息分配的方法及存储介质 | |
US20210243262A1 (en) | System for controlling user interaction via an application with remote servers | |
CN102426594B (zh) | 对数据库进行操作的方法和系统 | |
CN108494771A (zh) | 电子装置、防火墙开通验证方法及存储介质 | |
CN104639650B (zh) | 一种细粒度分布式接口访问控制方法及装置 | |
CN107920112A (zh) | 支持灰度模式的配置文件推送方法、中心服务器及存储介质 | |
CN106326499B (zh) | 一种数据处理方法及装置 | |
CN105100051A (zh) | 实现数据资源访问权限控制的方法及系统 | |
CN109614206A (zh) | 区块链事务处理的装置、方法及存储介质 | |
CN109617726A (zh) | 错误日志采集方法及服务器 | |
CN108429783A (zh) | 电子装置、配置文件推送方法及存储介质 | |
US20130024917A1 (en) | Memo synchronization system, mobile system, and method for synchronizing memo data | |
CN108446171A (zh) | 电子装置、分布式系统执行任务分配方法及存储介质 | |
CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 | |
CN105592083B (zh) | 终端利用令牌访问服务器的方法和装置 | |
CN105022663B (zh) | 电力系统监测和控制系统 | |
EP4128651A1 (en) | Hardware security module proxy device for storage expansion | |
CN102801728A (zh) | 客户端自动登录的管理方法及系统 | |
CN106406771A (zh) | 日志记录方法及日志记录器 | |
CN110069493B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110677378B (zh) | 一种mac地址的控制方法、智能终端及存储介质 | |
CN110874225B (zh) | 一种数据校验方法、装置、嵌入式设备及存储介质 | |
US9210147B1 (en) | Method, apparatus and computer program product for assessing risk associated with authentication requests | |
CN113032019A (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 |