发布信息

一种基于Redis分布式缓存平台的数据校验方法及数据隔离系统与流程

作者:admin      2022-08-31 16:58:08     872



电子通信装置的制造及其应用技术一种基于redis分布式缓存平台的数据校验方法及数据隔离系统技术领域1.本发明属于分布式缓存服务级别数据逻辑隔离技术领域,特别涉及一种基于redis分布式缓存平台的数据校验方法及数据隔离系统。背景技术:2.原始的redis服务端(server)以及常用的开源redis客户端软件开发工具包(client sdk)并不支持多服务的数据隔离功能,导致在以不基于服务数据隔离的方式使用redis存在如下缺点:3.一方面,服务数据互相影响:当多个不同的服务接入同一个redis时,会存在数据之间相互影响的问题,即接入redis服务端的任一服务可以读取操作其他服务存储在redis服务端中的数据,存在极大的数据安全风险。4.另一方面,redis服务端中数据访问不灵活:当存在redis服务端中的部分键(key)属于服务内部私有,而其他部分键属于多服务之间共享的情况时,原始的redis使用方式只能满足其中一种情况,无法同时支持两种情况。即,当多服务接入同一redis时,所有的key在多服务之间是共享的;而当每个服务接入独立redis时,所有的key都是私有的,又无法实现服务之间共享。5.此外,redis服务端部署浪费资源:为了避免多个服务之间数据相互影响,通常的解决办法是为每个服务提供独立的redis,这样会导致部署的redis过多,导致redis管理困难,造成资源浪费。技术实现要素:6.鉴于现有技术中存在的上述问题,本发明提供了一种能够避免服务数据之间相互影响、使用安全可靠及部署方便且节省资源的基于redis分布式缓存平台的数据校验方法及数据隔离系统。7.为实现上述目的,本发明实施例采用的技术方案是:8.一方面,提供一种基于redis分布式缓存平台的数据校验方法,所述方法包括:获取第一数据键,并在所述第一数据键的前端顺序添加分隔字符和数据逻辑隔离标识,以形成第二数据键;发送包括所述第二数据键的请求命令;接收所述请求命令,判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息或私有数据信息操作。9.在本公开的一些实施例中,所述数据逻辑隔离标识包括系统共享标识和系统私有标识;其中,所述系统共享标识设置为第一标识;所述系统私有标识设置为在所述第一标识的后端顺序添加分隔字符和第二标识。10.在本公开的一些实施例中,所述判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息或私有数据信息操作,具体包括:判断所述第二数据键是否包含所述系统私有标识,当判断结果为是时,响应所述请求命令进行相应的私有数据信息操作;否则,判断所述第二数据键是否包含所述系统共享标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息操作。11.在本公开的一些实施例中,所述第一标识和所述第二标识分别由三个大写字母组成。12.另一方面,还提供一种基于redis分布式缓存平台的数据隔离系统,其包括:redis客户端和redis服务端;其中,设于redis客户端的客户端软件开发工具包模块,其用于获取第一数据键,并在所述第一数据键的前端设置数据逻辑隔离标识,以形成第二数据键;还用于发送包括所述第二数据键的请求命令;设于redis服务端的redis键检验模块,其用于接收所述请求命令,判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息或私有数据信息操作。13.在本公开的一些实施例中,所述数据逻辑隔离标识包括系统共享标识和系统私有标识;其中,所述系统共享标识设置为第一标识;所述系统私有标识设置为在所述第一标识后顺序添加分隔字符和第二标识。14.在本公开的一些实施例中,所述判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,执行所述请求命令对应操作的共享数据信息或私有数据信息信息,具体包括:判断所述第二数据键是否包括所述系统共享标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息操作;判断所述第二数据键是否包括所述系统私有标识,当判断结果为是时,响应所述请求命令进行相应的私有数据信息操作。15.在本公开的一些实施例中,所述第一标识和所述第二标识分别由三个大写字母组成。16.在本公开的一些实施例中,所述隔离系统还包括redis集群管理模块,其用于接收和展示所述redis服务端模块上报的使用redis分布式缓存平台的统计数据及分析结果。17.在本公开的一些实施例中,所述隔离系统还包括接口模块,其用于将所述redis客户端进行封装,并提供访问所述redis客户端的接口。18.与现有技术相比较,本发明的有益效果在于:19.通过本发明提供的基于redis分布式缓存平台的数据校验方法通过对业务服务操作的第一数据键添加数据逻辑隔离标识作为前缀,使得不同的服务即使操作同一个数据键,对应到redis服务端中的则是不同的数据键,解决了多个服务之间数据相互影响的问题。20.由于redis客户端软件开发工具包实现了数据逻辑隔离,进而解决了多服务接入同一个redis造成数据之间相互影响的问题,所以无需部署过多的redis,相应地,解决了资源浪费、管理困难的问题,同时提高了服务稳定性和可用性。附图说明21.在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。22.图1为本发明一实施例的基于redis分布式缓存平台的数据校验方法的流程图;23.图2为本发明一实施例的基于redis分布式缓存平台的数据校验方法中有关数据隔离的示意图;24.图3为本发明一实施例的基于redis分布式缓存平台的数据隔离系统的结构框图。具体实施方式25.下面,结合附图对本发明的具体实施例进行详细的描述,但不作为本发明的限定。为使本领域技术人员更好的理解本公开的技术方案,下面结合附图和具体实施方式对本公开作详细说明。下面结合附图和具体实施例对本公开的实施例作进一步详细描述,但不作为对本公开的限定。26.本公开使用的所有术语(包括技术术语或者科学术语)与本公开所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。27.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。28.由于原始的redis服务端及开源redis客户端软件开发工具包并不支持多服务的数据隔离功能,导致在以不基于服务数据隔离的方式使用redis存在诸多问题。特别是,原始的redis服务端并不提供不同服务间数据隔离的功能,当多个服务接入同一个redis中时,存在数据被其他服务误操作的风险,同时,也难以统计每个接入服务对redis内存的使用状态。当出现redis内存占用过高或键过多等问题时,难以快速定位具体内存使用异常的服务。为此,本发明实施例提供如下解决方案。29.参见图1,其示出了本发明提供的基于redis分布式缓存平台的数据校验方法的一个实施例的流程图。所述方法包括以下步骤:30.步骤s101,获取第一数据键,并在所述第一数据键的前端顺序添加分隔字符和数据逻辑隔离标识,以形成第二数据键;31.redis是一个高性能的键值对(key-value)存储系统(还可以理解为数据库),其支持存储值的类型相对更多,例如,包括字符串(string)、链表(list)、集合(set)、有序集合(sorted set)和哈希类型(hash)。这些数据类型都支持放入/取出(push/pop)、添加/移出(add/remove)及取交集、并集和差集及其他操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。此外,redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,在此基础上实现主从(master-slave)同步。32.redis分布式缓存平台,即在分布式缓存中使用redis的技术实现方案。33.由于redis为键值对存储系统,本发明实施例可通过设置不同的键值的方式,以为不同服务提供其对应的权限,从而提高数据访问的安全性及管理的准确性。34.在本实施例中,所述数据逻辑隔离标识包括系统共享标识和系统私有标识;其中,所述系统共享标识设置为第一标识;所述系统私有标识设置为在所述第一标识后顺序添加分隔字符和第二标识。所述第一标识和所述第二标识分别由三个大写字母组成。所述分隔字符可以为冒号(:),当然,还可以为其他的特殊字符,只要为redis系统识别范围内的且不属于redis系统的关键字即可。35.在实际设置第一数据键和第二数据键的过程中,可根据redis系统要求和用户习惯进行相应设置。具体在本实施例中,第一数据键例如可以设置为“hello”。所述数据逻辑隔离标识中的所述第一标识与所述第二标识既可以设置为不同的字符,例如,第一字符为“aaa”,第二字符为“bbb”,这样构成的所述系统共享标识为“aaa”;相应地,所述系统私有标识为“aaa:bbb”。当然,由于所述系统私有标识与所述系统共享标识设置方式的差别,使得所述第一标识与所述第二标识也可以设置为相同的字符。在上述设置方式的基础上,所述第二数据键的最终结果可以为“aaa:hello”或“aaa:bbb:hello”。36.步骤s102,发送包括所述第二数据键的请求命令。本步骤中,请求命令可以为数据包,并基于tcp传输协议进行发送。37.步骤s103,接收所述请求命令,判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息或私有数据信息操作。38.所述判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息或私有数据信息操作,具体包括:39.步骤s103-1,判断所述第二数据键是否包含所述系统私有标识,当判断结果为是时,响应所述请求命令进行相应的私有数据信息操作。40.结合步骤s101,判断所述第二数据键是否包含所述系统私有标识,即判断是否包括所述第二标识。例如,当所述第二数据键“aaa:bbb:hello”包含所述系统私有标识“aaa:bbb”时,判断结果为是,说明发出的请求命令是访问私有数据,此时,redis系统中私有数据向访问者开放,允许其进行相应的操作,例如,增、删、改、查。当判断结果为否则,则执行下面步骤s103-2。41.步骤s103-2,判断所述第二数据键是否包含所述系统共享标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息操作。42.结合步骤s101,判断所述第二数据键是否包含所述系统共享标识,即判断是否包括所述第一标识。例如,当所述第二数据键“aaa:hello”包含所述系统共享标识“aaa”时,判断结果为是,说明发出的请求命令是访问共享数据,此时,redis系统中共享数据向访问者开放,允许其进行与前述方式相同的操作。43.需要说明的是,采取上述先判断所述第二数据键是否包含私有标识,而后判断所述第二数据键是否包含共享标识的原因在于,由于本实施例设计构思中,将私有标识设置为包含了共享标识,使得在判断属于哪种标识时,为了提高判断效率及准确性,采用了上述先判断私有标识,后判断共享标识的顺序。有关所述系统共享标识和所述系统私有标识的具体设置方式,在本发明实施例中主要考虑不同的行业领域以及redis系统框架的要求。如果所述系统共享标识和所述系统私有标识直接设置为彼此完全不存在包含或包括的情况,例如,所述系统共享标识设置为“aaa”,所述系统私有标识设置为“bbb:ccc”;则在实际判断过程中,可以忽略判断的顺序。44.结合图2,通过本发明一实施例对数据校验方法做进一步解释说明。45.图2为本发明一实施例的基于redis分布式缓存平台的数据校验方法中有关数据隔离的示意图。46.请参见图2所示,通过redis系统分配不同的键值,以理解本发明基于redis分布式缓存平台的数据校验方法中实现数据逻辑隔离的设计构思。47.在本实施例中,redis系统分配键值对分别为:第一数据键为“hello”,第一数据键的值为“world”。48.进一步地,系统通过redissuperhandler句柄设置包含系统私有标识的第二数据键,例如,第二数据键为“aaa:bbb:hello”,其值标示为“aaa:bbb:hello world”;通过globalredissuperhandler句柄设置包含系统共享标识的第二数据键,例如,第二数据键为“aaa:hello”,其值标示为“aaa:hello world”。在完成上述设置后,对收到的所述请求命令进行校验,校验所述第二数据键包含系统私有标识或系统共享标识,并根据所包含的标识访问对应的数据;当发现所述请求命令中所述第二数据键不是以三个大写字母为前缀或拼写错误时,会拒绝该请求命令,并返回提示信息,例如,返回“错误非法键,没有法律前缀名称空间,请检查您的代码和配置文件(err illegal key,no legal prefix namespace,please check your code and config files!)”。49.通过上述设置及判断方式可以有效防止非法连接并操作redis中数据,避免发生redis数据被误操作的风险,由此,实现数据逻辑隔离。50.本发明实施例的基于redis分布式缓存平台的数据校验方法适用于不同的系统,例如,产品系统、物流系统、财务系统等不同属性的系统均可通过本数据校验方法使用redis平台。通过为不同属性系统配置各自对应的系统共享标识和系统私有标识,进而在使用redis时,不会发生数据相互影响的问题。由此,提高了redis分布式缓存平台的实用性、稳定性和跨平台可移植性。有关为不同属性系统配置各自对应的系统共享标识和系统私有标识的过程及步骤,由于与上述步骤相类似,在此不做进一步赘述。51.综上,通过本发明实施例的基于redis分布式缓存平台的数据校验方法,能够实现有效的数据逻辑隔离,避免服务之间redis数据相互影响。52.图3为本发明一实施例的基于redis分布式缓存平台的数据隔离系统的结构框图。53.请参见图3所示,本发明实施例还提供一种基于redis分布式缓存平台的数据隔离系统200,其包括:redis客户端201和redis服务端202;其中,54.设于redis客户端的客户端软件开发工具包(redis client sdk)模块,其用于获取第一数据键,并在所述第一数据键的前端设置数据逻辑隔离标识,以形成第二数据键;还用于发送包括所述第二数据键的请求命令;55.设于redis服务端的redis键检验模块,其用于接收所述请求命令,判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息或私有数据信息操作。基于redis键校验模块可以有效避免非法客户端连接并误操作redis服务端中数据的问题。56.进一步地,所述数据逻辑隔离标识包括系统共享标识和系统私有标识;其中,所述系统共享标识设置为第一标识;所述系统私有标识设置为在所述第一标识后顺序添加分隔字符和第二标识。57.进一步地,所述判断所述第二数据键是否包含所述数据逻辑隔离标识,当判断结果为是时,执行所述请求命令对应操作的共享数据信息或私有数据信息信息,具体包括:判断所述第二数据键是否包括所述系统共享标识,当判断结果为是时,响应所述请求命令进行相应的共享数据信息操作;判断所述第二数据键是否包括所述系统私有标识,当判断结果为是时,响应所述请求命令进行相应的私有数据信息操作。58.进一步地,所述第一标识和所述第二标识分别由三个大写字母组成。59.进一步地,所述隔离系统还包括redis集群管理模块,其用于接收和展示所述redis服务端模块上报的使用redis分布式缓存平台的统计数据及分析结果。此外,基于redis集群管理模块(redis内存分析模块)可以直观的查看redis中各系统的redis使用状态,协助快速定位redis内存使用率高等问题。60.进一步地,所述隔离系统还包括接口模块,其用于将所述redis客户端进行封装,并提供访问所述redis客户端的接口。即,对客户端软件开发工具包进行封装后,仅提供访问接口,由此便于实现在不同的系统中进行移植,提高redis用户开发工具的通用性。61.此外,在本发明实施中,redis客户端软件开发工具包中支持灵活的redis操作模式。redis客户端软件开发工具包支持服务操作服务内部私有的redis键,同时还支持同一个系统下多个服务之间共享redis键,使用方式更灵活。62.此外,尽管在此描述了说明性的实施例,但是范围包括具有基于本公开的等效要素、修改、省略、组合(例如,跨各种实施例的方案的组合)、调整或变更的任何和所有实施例。权利要求中的要素将基于权利要求中使用的语言进行宽泛地解释,而不限于本说明书中或在本技术的存续期间描述的示例。此外,所公开的方法的步骤可以以任何方式进行修改,包括通过重新排序步骤或插入或删除步骤。因此,意图仅仅将描述视为例子,真正的范围由以下权利要求及其全部等同范围表示。63.以上描述旨在是说明性的而非限制性的。例如,上述示例(或其一个或多个方面)可以彼此组合使用。在阅读以上描述之后,例如本领域普通技术人员可以使用其他实施例。而且,在以上详细描述中,可以将各种特征组合在一起以简化本公开。这不应被解释为意图未请求保护的公开特征对于任何权利要求是必不可少的。因此,以下权利要求作为示例或实施例结合到具体实施方式中,其中每个权利要求自身作为单独的实施例,并且可以预期这些实施例可以以各种组合或置换彼此组合。应参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定本发明的范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部