CN107463598A - 分布式缓存系统 - Google Patents
分布式缓存系统 Download PDFInfo
- Publication number
- CN107463598A CN107463598A CN201710437388.5A CN201710437388A CN107463598A CN 107463598 A CN107463598 A CN 107463598A CN 201710437388 A CN201710437388 A CN 201710437388A CN 107463598 A CN107463598 A CN 107463598A
- Authority
- CN
- China
- Prior art keywords
- user
- unit
- target cache
- card
- 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.)
- Pending
Links
Classifications
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种分布式缓存系统。该系统包括:多个缓存单元,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,多个缓存单元提供用于验证用户的身份信息的信息;第一获取单元,用于获取用户的身份证号码对应的目标缓存实例;存储单元,用于将用户的身份信息存储至目标缓存实例对应的目标缓存单元中,其中,用户的身份信息包括用户的身份证号码、核查结果信息和用户的影像信息,核查结果信息为联网核查系统针对用户返回的核查信息;提取单元,用于从目标缓存单元中提取用户的身份信息。通过本申请,解决了相关技术中各网点在业务办理高峰期在进行用户身份识别时,响应速度较慢的问题。
Description
技术领域
本申请涉及互联网应用技术领域,具体而言,涉及一种分布式缓存系统。
背景技术
为贯彻落实银行账户实名制,预防和遏制金融犯罪,按照人民银行等监管部门一系列规则制度要求,银行业机构在业务处理过程中,需进行用户身份识别及用户身份资料留存等,如身份信息联网核查、证件真伪鉴别、证件复印件留存等。近年来,因用户身份识别不准确导致的诈骗、洗钱案件时有发生,对国家金融秩序、用户及银行资金安全都带来危害。为了保证对国家金融秩序、用户及银行资金的安全,在银行办理任何业务时,都需要进行用户身份识别,由于与人民银行联网核查系统进行数据交互是使用同一接口,各网点在业务办理高峰期在进行用户身份识别时,与人民银行联网核查系统交互产生的响应速度较慢。
针对相关技术中各网点在业务办理高峰期在进行用户身份识别时,响应速度较慢的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种分布式缓存系统,以解决相关技术中各网点在业务办理高峰期在进行用户身份识别时,响应速度较慢的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种分布式缓存系统,该系统包括:多个缓存单元,其中,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,多个缓存单元提供用于验证用户的身份信息的信息;第一获取单元,用于获取用户的身份证号码对应的目标缓存实例;存储单元,用于将用户的身份信息存储至目标缓存实例对应的目标缓存单元中,其中,用户的身份信息包括用户的身份证号码、核查结果信息和用户的影像信息,核查结果信息为联网核查系统针对用户返回的核查信息;以及提取单元,用于从目标缓存单元中提取用户的身份信息。
进一步地,第一获取单元包括:第一获取模块,用于获取用户的身份证号码;计算模块,用于根据MD5加密算法计算用户的身份证号码对应的MD5值;第二获取模块,用于获取MD5值对应的实例编码;第三获取模块,用于根据MD5值对应的实例编码获取用户的身份证号码对应的目标缓存实例。
进一步地,第二获取模块包括:转换子模块,用于将MD5值转换为64位10进制数组;存储子模块,用于将64位10进制数组每四位为划为一组,存储至整形数组a[16][4]中;第一计算子模块,用于对整形数组a[16][4]按列求和,得到求和结果;第二计算子模块,用于将求和结果与N相除,得到余数n,其中,N为所有缓存单元启动分布式缓存系统的进程总数,将余数n作为MD5值对应的实例编码。
进一步地,存储单元包括:第一调用模块,用于调用第一预设函数连接目标缓存实例对应的目标缓存单元;拼接模块,用于将用户的身份信息中的每个信息进行拼接,得到待发送数据;第二调用模块,用于调用第二预设函数发送待发送数据;存储模块,用于将接收到的待发送数据存储至目标缓存实例对应的目标缓存单元。
进一步地,该系统还包括:第二获取单元,用于在从目标缓存单元中提取用户的身份信息之后,获取多个用户的身份证号码,得到身份证号码集合;第三获取单元,用于根据身份证号码集合获取身份证号码集合对应的核查结果集合,其中,核查结果集合中包括每个用户的身份证号码、每个用户的影像以及联网核查系统针对用户返回的核查信息。
进一步地,存储单元还包括:接收模块,用于接收目标缓存实例和省别代码对应的目标省份;以及存储模块,用于批量存储目标缓存实例中目标省份中的多个用户的身份信息。
进一步地,该系统还包括:检测单元,用于在从目标缓存单元中提取用户的身份信息之后,检测多个缓存单元中是否存在重启动作;确定单元,用于当检测到存在执行重启动作的缓存单元时,确定执行重启动作的缓存单元上重启的端口号;处理单元,用于根据执行重启动作的缓存单元的缓存主机IP地址和重启动作的缓存单元上重启的端口号发起目标交易,其中,目标交易为将多个用户的身份信息存储至执行重启动作的缓存单元。
进一步地,该系统还包括:统计单元,用于在从目标缓存单元中提取用户的身份信息之后,统计在缓存单元中存储的用户的身份信息被检索的次数,得到检索次数;删除单元,用于在检索次数大于预设次数的情况下,在缓存单元中删除用户的身份信息。
进一步地,该系统还包括:获取单元,用于在获取用户的身份证号码对应的目标缓存实例之后,获取配置文件,其中,配置文件中包括缓存主机IP地址和缓存备机IP地址,缓存备机IP地址为缓存单元的备机单元的IP地址;存储单元,还用于根据缓存主机IP地址和缓存备机IP地址将用户的身份信息存储至对应的缓存单元和备机单元中。
通过本申请,包括以下单元:多个缓存单元,其中,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,多个缓存单元提供用于验证用户的身份信息的信息;第一获取单元,用于获取用户的身份证号码对应的目标缓存实例;存储单元,用于将用户的身份信息存储至目标缓存实例对应的目标缓存单元中,其中,用户的身份信息包括用户的身份证号码、核查结果信息和用户的影像信息,核查结果信息为联网核查系统针对用户返回的核查信息;以及提取单元,用于从目标缓存单元中提取用户的身份信息。由于从将用户的身份信息预先存储在缓存单元中,在需要对用户身份进行识别时,直接从缓存单元中提取用户的身份信息,解决了相关技术中各网点在业务办理高峰期在进行用户身份识别时,响应速度较慢的问题。进而达到了提升对用户身边识别的响应速度效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的分布式缓存系统的示意图;以及
图2是根据本申请实施例的缓存实例状态转换的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
缓存实例:一台缓存服务器上开放了若干端口,一个缓存主机地址和一个端口号的组合称为一个缓存实例,又成缓存索引号。
根据本申请的实施例,本申请实施例提供的分布式缓存系统包括:多个缓存单元、第一获取单元、存储单元和提取单元。
具体地,多个缓存单元,其中,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,多个缓存单元提供用于验证用户的身份信息的信息。
在本申请中的缓存单元可以为缓存服务器,也即,分布式缓存系统中包括多个缓存服务器。
第一获取单元,用于获取用户的身份证号码对应的目标缓存实例。
可选地,在本申请实施例提供的分布式缓存系统中,第一获取单元包括:第一获取模块,用于获取用户的身份证号码;计算模块,用于根据MD5加密算法计算用户的身份证号码对应的MD5值;第二获取模块,用于获取MD5值对应的实例编码;第三获取模块,用于根据MD5值对应的实例编码获取用户的身份证号码对应的目标缓存实例。
可选地,在本申请实施例提供的分布式缓存系统中,第二获取模块包括:转换子模块,用于将MD5值转换为64位10进制数组;存储子模块,用于将64位10进制数组每四位为划为一组,存储至整形数组a[16][4]中;第一计算子模块,用于对整形数组a[16][4]按列求和,得到求和结果;第二计算子模块,用于将求和结果与N相除,得到余数n,其中,N为所有缓存单元启动分布式缓存系统的进程总数,将余数n作为MD5值对应的实例编码。
具体地,获取用户的身份证号码作为缓存服务器存储使用的key值,根据MD5加密算法计算身份证号对应的MD5值,计算结果为32个16进制数字的组合,即为MD5值,也称为散列值。通过哈希折叠法,获取地址编号,具体地:将散列值16进制转换为10进制数组。将64位10进制数字每四位为一组,存储到整形数组a[16][4]中;对a[16][4]按列求和,并将求和结果相加对N求余,其中,N为缓存所有主机启动的memcached的进程总数,得到余数n即为该证件对应的实例编码。
根据实例编码n、主机/备份机标志、获取主机配置IP和端口:APFGetMemCfg“缓存主机配置文件”内容存储在结构体s_civs_memaddr_info中(包含实例编号、IP地址、主机端口号)。赋值address为s_civs_memaddr_info.主机地址,port为s_civs_memaddr_info.端口号。获取实例编号地址(APFGetMemCfg):根据实例编号和主机/备机标志,获取主机或备机里配置文件里对应的实例编号的IP和端口。根据缓存主机、备机标志读取配置文件:标志为主机时读取配置文件:$HOME/etc/mem_main.cfg,标志位备机时读取配置文件$HOME/etc/mem_pri.cfg。调整配置文件的格式,以便每次获取主机、备机配置IP和port。配置文件格式,例如:ADDR=20.13.1.45,PORT=11211,每行定长50个字符。打开文件fp=fopen(“$HOME/etc/mem_main.cfg”,”r”);打开文件失败,提示“(000011)文件操作失败”;打开文件成功,继续下一步;Fseek(fp,100,n-1);定义char line[100];Fread(line,100,1,fp);利用strstr函数截取地址和端口,赋值给address和port变量。
存储单元,用于将用户的身份信息存储至目标缓存实例对应的目标缓存单元中,其中,用户的身份信息包括用户的身份证号码、核查结果信息和用户的影像信息,核查结果信息为联网核查系统针对用户返回的核查信息。
本申请中涉及的联网核查系统为人民银行联网核查系统。向人民银行联网核查系统提交用户身份识别的请求,人民银行联网核查系统返回针对该用户的核查信息。
可选地,在本申请实施例提供的分布式缓存系统中,存储单元还包括:第一调用模块,用于调用第一预设函数连接目标缓存实例对应的目标缓存单元;拼接模块,用于将用户的身份信息中的每个信息进行拼接,得到待发送数据;第二调用模块,用于调用第二预设函数发送待发送数据;存储模块,用于将接收到的待发送数据存储至目标缓存实例对应的目标缓存单元。
在本申请实施例提供的分布式缓存系统中的存储单元建立了单个证件核查结果存储实例(APFMemSetRes)。例如,可以通过以下操作实现:根据身份证号码将核查结果及影像存储到对应的缓存服务器上。例如,根据身份证号调用函数APFMemGetAddr获取该证件需存储的缓存服务器机器IP、端口(包括主机、备机的IP和port)。取主机socket句柄,如果句柄无效,则调用connect()连接服务器(尝试几次);拼装待发送数据(memcached的set命令:封装函数,拼接key value。);调用send函数发送核查结果及影像流;调用recv函数接收结果;取备机socket句柄,如果句柄无效,则调用connect()函数连接服务器(尝试几次);调用send函数存储数据到备机缓存服务器。主机超时时,返回备机存储情况结果。备机存储失败时,交易报错。通过以上过程实现将单个用户身份信息进行存储。
在本申请实施例提供的分布式缓存系统中的存储单元建立了单个证件核查结果add实例(APFMemAddRes)。具体地,根据身份证号码将核查结果及影像存储到对应的缓存服务器上。仅当该证件号码不存在时,才存储成功。根据身份证号和主机/备份机标志为“1-主机”调用函数APFMemGetAddr获取该证件需存储的缓存服务器机器IP、端口。ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()连接服务器;拼装待发送数据(memcached的add命令);调用send函数发送核查结果及影像流;调用recv函数接收结果;调用disconnect()断开与服务器的连接。
可选地,在本申请实施例提供的分布式缓存系统中,存储单元还包括:接收模块,用于接收目标缓存实例和省别代码对应的目标省份;以及存储模块,用于批量存储目标缓存实例中目标省份中的多个用户的身份信息。
具体地,一次接收一个实例号和省别代码,批量导入(也即存储)同一个实例中该省别的证件号码、核查结果及影像信息存储到缓存服务器中。另外获取公共参数:本地核查最大次数、有效期、最大次数等字段。根据实例编号查询用户信息表根据缓存索引号为host_id,身份证号前两位为prov_id,联网核查日期距离今天的时间在有效期内且本地核查次数未超过本地核查最大次数的记录。针对每笔记录,调用函数APFMemAddRes存储到缓存实例中。
提取单元,用于从目标缓存单元中提取用户的身份信息。
可选地,在本申请实施例提供的分布式缓存系统中,该系统还包括:第二获取单元,用于在从目标缓存单元中提取用户的身份信息之后,获取多个用户的身份证号码,得到身份证号码集合;第三获取单元,用于根据身份证号码集合获取身份证号码集合对应的核查结果集合,其中,核查结果集合中包括每个用户的身份证号码、每个用户的影像以及联网核查系统针对用户返回的核查信息。
在本申请实施例提供的分布式缓存系统中建立了读取实例单个证件核查结果(APFMemGetRes),例如,可以通过以下操作实现:根据身份证号码获获取地址编号(主机IP和端口号(port))后,根据证件号码从缓存获取核查结果及影像。根据身份证号调用函数APFGetMemMainAddr获取主机IP、端口。(一次性获取主机、备机配置),ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()连接服务器;拼装待发送数据(memcached的get命令);调用send函数发送核查结果及影像流;recv接收结果;解析每个字段。接收失败(超时)时:根据身份证号调用函数APFGetMemMainAddr获取备机IP、端口;ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()连接服务器;拼装待发送数据(memcached的get命令);调用send函数发送核查结果及影像流;recv接收结果;调用disconnect()函数断开与服务器的连接。
在本申请实施例提供的分布式缓存系统中建立了获取多个证件核查结果(APFMemGetMulti),例如,可以通过以下操作实现:一次获取多个身份证号码对应的核查结果及影像。循环计算每个身份证号对应的实例,将属于同一个实例编号的身份证号重新分组。对每一组身份证号进行如下处理:根据任一身份证号调用函数APFGetMemMainAddr获取主机IP、端口。ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()函数连接服务器;拼装待发送数据(memcached的getmulti命令);调用send函数发送核查结果及影像流。recv接收结果;调用disconnect()函数断开与服务器的连接;接收失败时:根据身份证号调用函数APFGetMemPriAddr获取备机IP、端口;ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()函数连接服务器;拼装待发送数据(memcached的getmulti命令);调用send函数发送核查结果及影像流;recv接收结果;调用disconnect()函数断开与服务器的连接。将每个证件号码对应的核查结果及影像写入结构体数组s_mem_res[M]中(每个结构体变量包含:证件号码、核查结果、签发机关、人行影像)。
在本申请实施例提供的分布式缓存系统中建立了删除单个证件核查结果(APFMemDelRes),例如,可以通过以下操作实现:根据身份证号码获获取地址编号(主机IP、port)后,根据证件号码从缓存获取核查结果及影像。根据身份证号调用函数APFMemGetMainAddr获取主机IP、端口。ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()连接服务器;拼装待发送数据(memcached的del命令);调用send函数发送核查结果及影像流;recv接收结果。删除备机对应证件号码数据需要以下几个步骤:根据身份证号调用函数APFMemGetMainAddr获取备机IP、端口;ret=(int)socket(AF_INT,SOCK_STREAM,0);调用connect()连接服务器;拼装待发送数据(memcached的del命令);调用send函数发送核查结果及影像流;recv接收结果。(备机删除也是send之后不接收),调用disconnect()函数断开与服务器的连接。
可选地,在本申请实施例提供的分布式缓存系统中,该系统还包括:检测单元,用于在从目标缓存单元中提取用户的身份信息之后,检测多个缓存单元中是否存在重启动作;确定单元,用于当检测到存在执行重启动作的缓存单元时,确定执行重启动作的缓存单元上重启的端口号;处理单元,用于根据执行重启动作的缓存单元的缓存主机IP地址和重启动作的缓存单元上重启的端口号发起目标交易,其中,目标交易为将多个用户的身份信息存储至执行重启动作的缓存单元。
通过以上方案,当缓存服务器某一个实例重启时,批量导入该实例的证件号码、核查结果及人行影像数据存储到缓存服务器。当缓存主机重启时,也可用于按实例并发调起该交易,实现一台主机所有实例的证件号码、核查结果及人行影像数据存储到对应实例。接收交易请求信息,必输域校验;获取tb_sys_para中的tran_dt字段,判断tran_dt与请求的交易日期是否相等:如果不相等,则提示“(040022)日终步骤名称不正确,请核实”。如果相等,则调用证件批量导入实例(APFMemBatImp)。函数返回成功,交易结束;函数返回失败,则提示“(040026)交易失败”。
可选地,在本申请实施例提供的分布式缓存系统中,该系统还包括:统计单元,用于在从目标缓存单元中提取用户的身份信息之后,统计在缓存单元中存储的用户的身份信息被检索的次数,得到检索次数;删除单元,用于在检索次数大于预设次数的情况下,在缓存单元中删除用户的身份信息。
例如,通过改造memcached服务器,个性化的定制和新增nget命令,用于控制(键,值)nget访问的次数,超过set写入的最大检索次数时,缓存服务器删除该(键,值)。用于按读取次数限制数据有效期,读取次数由set命令中指定。如某行数据最,多被使用10次,之后必须更新,可以在向缓存中插入数据(set)时进行限定。与数据过期时间相配合,达到按次数或按时间对数据有效期进行控制。
可选地,在本申请实施例提供的分布式缓存系统中,该系统还包括:获取单元,用于在获取用户的身份证号码对应的目标缓存实例之后,获取配置文件,其中,配置文件中包括缓存主机IP地址和缓存备机IP地址,缓存备机IP地址为缓存单元的备机单元的IP地址;存储单元,还用于根据缓存主机IP地址和缓存备机IP地址将用户的身份信息存储至对应的缓存单元和备机单元中。
也即,在本申请实施例提供的分布式缓存系统采用的数据存储主备机制,为了实现更加可靠的数据存储,采用主备机的机制,主机和备机的IP、端口和状态信息写入配置文件。配置文件列表内容如下:实例编号1:主机IP:主机端口,主机状态;备机IP:备机端口,备机状态;实例编号2:主机IP:主机端口,主机状态;备机IP:备机端口,备机状态;……;.实例编号n:主机IP:主机端口,主机状态;备机IP:备机端口,备机状态。配置列表内容写入共享内存;读写缓存时由hash折叠法计算实例号,然后获取共享内存对应实例的主机信息。
本申请实施例提供的分布式缓存系统还提供增加启动参数项,设定访问权限控制,例如:操作系统用户:使用操作系统已有的用户名及口令,需要root身份启动;自定义用户:自行维护用户名及口令,口令采用des等算法加密;增加login命令,验证用户名和口令;通过数据读、写、删等操作增加用户权限检查。
在本申请实施例提供的分布式缓存系统中还提供根据实际业务需求与缓存模块利用率,调整memcached item最大过期时间默认为60天(也即60*60*24*60秒),为了满足核查项目的需要,将最大过期时间调整为2年(也即60*60*24*365*2秒)。
在本申请实施例提供的分布式缓存系统中还提供修改memcached服务器的报错信息,根据实际需要打印报错信息:memcached服务器报错信息较杂乱,且只打印在屏幕上(stderr),为了便于跟踪和问题排查,根据实际需要改造和优化日志信息。
在本申请实施例提供的分布式缓存系统中使用的hash折叠法,具体如下,用户信息存储到缓存服务器时,缓存用户端程序会对键值进行hash计算,找出该键值应该存储的缓存实例,连接该实例并存储数据。取出数据时,可以根据键值进行同样的hash计算即可找出数据存储的缓存实例;hash算法目前使用了按照身份证号进行MD5散列后再折叠的算法,以达到数据在各实例均匀分布。并且在算法设计独立,可以很方便的增加和配置其它的算法。
图2是根据本申请实施例的缓存实例状态转换的示意图。例如,对任意实例,在连接实例3次失败时,标记实例状态为"失效";此时该实例不支持读,也不支持写。对失效实例,数据恢复时标记该实例状态为"恢复中";此时该实例既支持读,也支持写。数据恢复完成后,手工执行“缓存实例生效交易”,此时该实例状态变更为"正常";该实例既支持读,也支持写。
通过本申请实施例提供的分布式缓存系统,达到了以下技术效果:对身份证号进行加密生成缓存实例,增强了缓存系统的安全性;有着更加完善的数据备份、恢复策略;创建满足核查业务的各种缓存实例;有自己的过期时间设置,并加入查询次数限制,确保数据的有效性。
本申请实施例提供的分布式缓存系统,包括以下单元:多个缓存单元,其中,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,多个缓存单元提供用于验证用户的身份信息的信息;第一获取单元,用于获取用户的身份证号码对应的目标缓存实例;存储单元,用于将用户的身份信息存储至目标缓存实例对应的目标缓存单元中,其中,用户的身份信息包括用户的身份证号码、核查结果信息和用户的影像信息,核查结果信息为联网核查系统针对用户返回的核查信息;以及提取单元,用于从目标缓存单元中提取用户的身份信息。由于从将用户的身份信息预先存储在缓存单元中,在需要对用户身份进行识别时,直接从缓存单元中提取用户的身份信息,解决了相关技术中各网点在业务办理高峰期在进行用户身份识别时,响应速度较慢的问题。进而达到了提升对用户身边识别的响应速度效果。
所述分布式缓存系统包括处理器和存储器,上述多个缓存单元、第一获取单元、存储单元、提取单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元实现相应功能。上述第一预设规则、第二预设规则都可以存储在存储器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数从分布式缓存系统中获取用户的身份信息。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:多个缓存单元,其中,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,多个缓存单元提供用于验证用户的身份信息的信息;第一获取单元,用于获取用户的身份证号码对应的目标缓存实例;存储单元,用于将用户的身份信息存储至目标缓存实例对应的目标缓存单元中,其中,用户的身份信息包括用户的身份证号码、核查结果信息和用户的影像信息,核查结果信息为联网核查系统针对用户返回的核查信息;以及提取单元,用于从目标缓存单元中提取用户的身份信息。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种分布式缓存系统,其特征在于,包括:
多个缓存单元,其中,每个缓存单元包括一个缓存主机IP地址和多个端口号,一个缓存主机IP地址和一个端口号组成一个缓存实例,所述多个缓存单元提供用于验证用户的身份信息的信息;
第一获取单元,用于获取所述用户的身份证号码对应的目标缓存实例;
存储单元,用于将所述用户的身份信息存储至所述目标缓存实例对应的目标缓存单元中,其中,所述用户的身份信息包括所述用户的身份证号码、核查结果信息和所述用户的影像信息,所述核查结果信息为联网核查系统针对所述用户返回的核查信息;以及
提取单元,用于从所述目标缓存单元中提取所述用户的身份信息。
2.根据权利要求1所述的系统,其特征在于,所述第一获取单元包括:
第一获取模块,用于获取所述用户的身份证号码;
计算模块,用于根据MD5加密算法计算所述用户的身份证号码对应的MD5值;
第二获取模块,用于获取所述MD5值对应的实例编码;
第三获取模块,用于根据所述MD5值对应的实例编码获取所述用户的身份证号码对应的目标缓存实例。
3.根据权利要求2所述的系统,其特征在于,所述第二获取模块包括:
转换子模块,用于将所述MD5值转换为64位10进制数组;
存储子模块,用于将所述64位10进制数组每四位为划为一组,存储至整形数组a[16][4]中;
第一计算子模块,用于对所述整形数组a[16][4]按列求和,得到求和结果;
第二计算子模块,用于将所述求和结果与N相除,得到余数n,其中,所述N为所有缓存单元启动分布式缓存系统的进程总数,将所述余数n作为所述MD5值对应的实例编码。
4.根据权利要求1所述的系统,其特征在于,所述存储单元包括:
第一调用模块,用于调用第一预设函数连接所述目标缓存实例对应的目标缓存单元;
拼接模块,用于将所述用户的身份信息中的每个信息进行拼接,得到待发送数据;
第二调用模块,用于调用第二预设函数发送所述待发送数据;
存储模块,用于将接收到的所述待发送数据存储至所述目标缓存实例对应的目标缓存单元。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括:
第二获取单元,用于在从所述目标缓存单元中提取所述用户的身份信息之后,获取多个用户的身份证号码,得到身份证号码集合;
第三获取单元,用于根据所述身份证号码集合获取所述身份证号码集合对应的核查结果集合,其中,所述核查结果集合中包括每个用户的身份证号码、每个用户的影像以及所述联网核查系统针对所述用户返回的核查信息。
6.根据权利要求1所述的系统,其特征在于,所述存储单元还包括:
接收模块,用于接收所述目标缓存实例和省别代码对应的目标省份;以及
存储模块,用于批量存储所述目标缓存实例中所述目标省份中的多个用户的身份信息。
7.根据权利要求1所述的系统,其特征在于,所述系统还包括:
检测单元,用于在从所述目标缓存单元中提取所述用户的身份信息之后,检测所述多个缓存单元中是否存在重启动作;
确定单元,用于当检测到存在执行所述重启动作的缓存单元时,确定执行所述重启动作的缓存单元上重启的端口号;
处理单元,用于根据执行所述重启动作的缓存单元的缓存主机IP地址和所述重启动作的缓存单元上重启的端口号发起目标交易,其中,所述目标交易为将多个用户的身份信息存储至执行所述重启动作的缓存单元。
8.根据权利要求1所述的系统,其特征在于,所述系统还包括:
统计单元,用于在从所述目标缓存单元中提取所述用户的身份信息之后,统计在所述缓存单元中存储的所述用户的身份信息被检索的次数,得到检索次数;
删除单元,用于在所述检索次数大于预设次数的情况下,在所述缓存单元中删除所述用户的身份信息。
9.根据权利要求1所述的系统,其特征在于,所述系统还包括:
获取单元,用于在获取所述用户的身份证号码对应的目标缓存实例之后,获取配置文件,其中,所述配置文件中包括所述缓存主机IP地址和缓存备机IP地址,所述缓存备机IP地址为所述缓存单元的备机单元的IP地址;
所述存储单元,还用于根据所述缓存主机IP地址和缓存备机IP地址将所述用户的身份信息存储至对应的缓存单元和备机单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710437388.5A CN107463598A (zh) | 2017-06-09 | 2017-06-09 | 分布式缓存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710437388.5A CN107463598A (zh) | 2017-06-09 | 2017-06-09 | 分布式缓存系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107463598A true CN107463598A (zh) | 2017-12-12 |
Family
ID=60544001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710437388.5A Pending CN107463598A (zh) | 2017-06-09 | 2017-06-09 | 分布式缓存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463598A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463508A (zh) * | 2017-07-19 | 2017-12-12 | 北京微影时代科技有限公司 | 脚本缓存清除方法、装置、电子设备及存储介质 |
CN109831521A (zh) * | 2019-03-11 | 2019-05-31 | 深圳市珍爱捷云信息技术有限公司 | 缓存实例管理方法、装置、计算机设备和存储介质 |
CN111626716A (zh) * | 2020-07-30 | 2020-09-04 | 浙江大学 | 农业试验站教学科研网上服务系统 |
CN115186854A (zh) * | 2022-09-07 | 2022-10-14 | 艾斯特国际安全技术(深圳)有限公司 | 证件领取的管控方法、装置、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867607A (zh) * | 2010-05-21 | 2010-10-20 | 北京无限立通通讯技术有限责任公司 | 一种分布式数据存取方法、装置及系统 |
CN102130959A (zh) * | 2011-03-22 | 2011-07-20 | 浪潮(北京)电子信息产业有限公司 | 一种实现云存储资源调度的系统及方法 |
US20110238916A1 (en) * | 2010-03-26 | 2011-09-29 | Manik Surtani | Representing a tree structure on a flat structure |
CN105554032A (zh) * | 2016-02-03 | 2016-05-04 | 深圳支付界科技有限公司 | 一种基于快递寄件的身份实名验证方法及验证系统 |
CN106021445A (zh) * | 2016-05-16 | 2016-10-12 | 努比亚技术有限公司 | 一种加载缓存数据的方法及装置 |
-
2017
- 2017-06-09 CN CN201710437388.5A patent/CN107463598A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238916A1 (en) * | 2010-03-26 | 2011-09-29 | Manik Surtani | Representing a tree structure on a flat structure |
CN101867607A (zh) * | 2010-05-21 | 2010-10-20 | 北京无限立通通讯技术有限责任公司 | 一种分布式数据存取方法、装置及系统 |
CN102130959A (zh) * | 2011-03-22 | 2011-07-20 | 浪潮(北京)电子信息产业有限公司 | 一种实现云存储资源调度的系统及方法 |
CN105554032A (zh) * | 2016-02-03 | 2016-05-04 | 深圳支付界科技有限公司 | 一种基于快递寄件的身份实名验证方法及验证系统 |
CN106021445A (zh) * | 2016-05-16 | 2016-10-12 | 努比亚技术有限公司 | 一种加载缓存数据的方法及装置 |
Non-Patent Citations (1)
Title |
---|
那一叶随风: "memcached分布式缓存", 《HTTPS://WWW.CNBLOGS.COM/PHPSTUDY2015-6/P/6713164.HTML》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463508A (zh) * | 2017-07-19 | 2017-12-12 | 北京微影时代科技有限公司 | 脚本缓存清除方法、装置、电子设备及存储介质 |
CN109831521A (zh) * | 2019-03-11 | 2019-05-31 | 深圳市珍爱捷云信息技术有限公司 | 缓存实例管理方法、装置、计算机设备和存储介质 |
CN109831521B (zh) * | 2019-03-11 | 2021-08-31 | 深圳市珍爱捷云信息技术有限公司 | 缓存实例管理方法、装置、计算机设备和存储介质 |
CN111626716A (zh) * | 2020-07-30 | 2020-09-04 | 浙江大学 | 农业试验站教学科研网上服务系统 |
CN115186854A (zh) * | 2022-09-07 | 2022-10-14 | 艾斯特国际安全技术(深圳)有限公司 | 证件领取的管控方法、装置、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200294048A1 (en) | Blockchain-based data verification method and apparatus, and electronic device | |
US20210160281A1 (en) | System and method for detecting phishing events | |
CN104519018B (zh) | 一种防止针对服务器的恶意请求的方法、装置和系统 | |
CN107463598A (zh) | 分布式缓存系统 | |
US20190087892A1 (en) | Consent management service system | |
CN103490886B (zh) | 权限数据的验证方法、装置及系统 | |
CN104714965B (zh) | 静态资源去重方法、静态资源管理方法及装置 | |
US7917759B2 (en) | Identifying an application user as a source of database activity | |
CN107634967B (zh) | 一种CSRF攻击的CSRFToken防御系统和方法 | |
CN106952096A (zh) | 客户端设备的安全认证系统、方法及客户端可信识别装置 | |
CN108259425A (zh) | 攻击请求的确定方法、装置及服务器 | |
TW202016787A (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
CN110096551A (zh) | 基于区块链的信用数据存储方法、装置、设备及介质 | |
US20110047610A1 (en) | Modular Framework for Virtualization of Identity and Authentication Processing for Multi-Factor Authentication | |
CN108494775A (zh) | 防止利用合法数据或篡改合法数据进行网络攻击的方法 | |
CN110035075A (zh) | 钓鱼网站的检测方法、装置、计算机设备及存储介质 | |
CN104580230B (zh) | 网站攻击验证方法及装置 | |
CN107920110A (zh) | 一种数据共享的方法及装置 | |
CN106453229B (zh) | 用于检测对域名系统记录系统的更新的方法、系统和介质 | |
US20180374093A1 (en) | Method for sending digital information | |
CN114679292B (zh) | 基于网络空间测绘的蜜罐识别方法、装置、设备及介质 | |
US8910281B1 (en) | Identifying malware sources using phishing kit templates | |
CN101488256B (zh) | 柜员身份认证系统及方法 | |
CN108476199A (zh) | 一种基于令牌机制的检测和防御cc 攻击的系统和方法 | |
RU103643U1 (ru) | Система противодействия фишинг атакам |
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 |
Application publication date: 20171212 |
|
RJ01 | Rejection of invention patent application after publication |