CN112737962B - 存储服务请求的处理方法、装置、计算机设备及存储介质 - Google Patents

存储服务请求的处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112737962B
CN112737962B CN202011555935.8A CN202011555935A CN112737962B CN 112737962 B CN112737962 B CN 112737962B CN 202011555935 A CN202011555935 A CN 202011555935A CN 112737962 B CN112737962 B CN 112737962B
Authority
CN
China
Prior art keywords
request
cluster
storage service
access link
read request
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.)
Active
Application number
CN202011555935.8A
Other languages
English (en)
Other versions
CN112737962A (zh
Inventor
包云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202011555935.8A priority Critical patent/CN112737962B/zh
Publication of CN112737962A publication Critical patent/CN112737962A/zh
Application granted granted Critical
Publication of CN112737962B publication Critical patent/CN112737962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种存储服务请求的处理方法、装置、计算机设备及存储介质。本发明提供的方法包括:接收存储服务请求,对存储服务请求进行解析后,根据解析结果对所述存储服务请求进行分类,得到读请求和写请求;将读请求通过过滤***后得到有效的读请求;根据写请求和有效的读请求获取对应的所有访问链路;在确定访问链路中的第一访问链路对应的首位集群不具备可用性时,从所访问链路中选取第二访问链路,向第二访问链路对应的次位集群发送写请求和有效的读请求,对次位集群在的访问链路进行限流控制,在次位集群成功响应写请求和有效的读请求后,更新过滤***。通过本发明可以保持存储服务的高可用性。

Description

存储服务请求的处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及路由优化领域,尤其涉及一种存储服务请求的处理方法、装置、计算机设备及存储介质。
背景技术
在使用对象存储***时,由于底层集群难免会有故障或者有定期的维护时间,可能会存在读写异常(可读不可写,或者可写不可读)的问题,此时需要切换集群,才能保证对象存储***中存储服务的高可用性,目前,基本都通过人工操作切换集群,且人工切换集群的操作过程比较复杂。且在业务高峰期和集群突发异常需要切换集群时,上述通过人工切换集群的方式并不能保证时效性,可见当前的人工切换集群的模式已经满足不了业务需要。且当前的存储服务请求中还存在恶意攻击请求、大量针对某些不存在资源的请求和访问延时甚至访问异常的请求(占用过多资源的连接而造成的),上述情况都能直接影响到存储服务的高可用性,对底层对象存储***中存储服务的运维和日常运行造成就较大的压力。
发明内容
基于此,有必要针对上述技术问题,提供一种存储服务请求的处理方法、装置、计算机设备及存储介质,用于保持存储服务的高可用性。
一种存储服务请求的处理方法,包括:
接收存储服务请求,对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求;
利用过滤***对所述读请求进行过滤得到有效的读请求;
根据所述写请求和所述有效的读请求获取对应的访问链路;
在确定所述访问链路中的第一访问链路对应的首位集群具备可用性时,向所述首位集群发送所述写请求和所述有效的读请求,对所述首位集群在的访问链路进行限流控制,在所述首位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;
在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性时,从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,对所述次位集群在的访问链路进行限流控制,在所述次位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;所述第二访问链路对应的次位集群具备可用性。
一种存储服务请求的处理装置,包括:
分类模块,用于接收存储服务请求,对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求;
拦截模块,用于利用过滤***对所述读请求进行过滤得到有效的读请求;
获取模块,用于根据所述写请求和所述有效的读请求获取对应的访问链路;
第一更新模块,用于在确定所述访问链路中的第一访问链路对应的首位集群具备可用性时,向所述首位集群发送所述写请求和所述有效的读请求,对所述首位集群在的访问链路进行限流控制,在所述首位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;
第二更新模块,用于在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性时,从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,对所述次位集群在的访问链路进行限流控制,在所述次位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;所述第二访问链路对应的次位集群具备可用性。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述存储服务请求的处理方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述存储服务请求的处理方法。
上述存储服务请求的处理方法、装置、计算机设备及存储介质,在底层集群出现问题的时候,可自动对首位集群进行动态切换,避免人工切换集群所带来时效性低的问题,也可保持存储服务的高可用性,同时添加了限流和过滤功能,可对存储服务请求进行动态管理,避免短时间内异常的存储服务请求对集群所在的底层存储***的高可用性造成影响,且可减少底层存储***的运行和运维压力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中存储服务请求的处理方法的一应用环境示意图;
图2是本发明一实施例中存储服务请求的处理方法的一流程图;
图3是本发明一实施例中存储服务请求的处理装置的结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的存储服务请求的处理方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种存储服务请求的处理方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10,接收存储服务请求,对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求;
可理解地,存储服务请求是用户向网关***中的底层存储***(相当于本发明中的首位集群和次位集群)发出的请求,网关***提供网关服务,网关服务主要是构建在底层存储***中,本发明以下提到的功能都能认为是网关***提供的网关服务(网关服务具有自动分布式高可用,自动选主和通知下达功能等),其中,存储服务请求中的存储服务就是由网关服务实现,而存储服务是以CEPH对象存储服务为例,主要的业务特点就是读和写,存储服务请求较为简单,但是存储服务请求关联的访问流量和访问并发量较大,此时可在本发明中的执行主体网关***中设置一个网关路由层来提供网关服务以解决上述的问题;读请求为get请求,写请求为put请求,通过解析到的存储服务请求后可从请求消息头或请求内容得到分类结果。
S20,利用过滤***对所述读请求进行过滤得到有效的读请求;
可理解地,过滤***包括但不限于布隆过滤器以及其他自定义拓展过滤器,该布隆过滤器可以用于检索一个元素是否在一个集合中,也即检测读请求是否在一个规定的请求集合中,该请求集合中存在无效请求所对应的元素(请求集合中的元素是通过哈希表进行存储,元素包括来源ip以及访问底层的资源前缀和请求中的用户信息等),其中,无效请求包括但不限于个别用户的恶意请求、攻击性请求以及需要进行流量控制或者并发限制的请求。
S30,根据所述写请求和所述有效的读请求获取对应的访问链路;
可理解地,访问链路是点对点的数据传输线路,相当于与写请求和有效的读请求对应的访问路径,其中,通过该访问链路可查询获取到首位集群以及首位集群中与写请求和有效的读请求所对应的网络资源;每一个访问链路都可对应一个集群(如下所提到的首位集群和次位集群)。
S40,在确定所述访问链路中的第一访问链路对应的首位集群具备可用性时,向所述首位集群发送所述写请求和所述有效的读请求,对所述首位集群在的访问链路进行限流控制,在所述首位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;
可理解地,首位集群是目标集群,是由路由策略分析该访问链路后得到,该路由策略是指上述步骤S10至S30所对应的过程,其中,首位集群具备可用性时,也即说明首位集群不存在异常,此时可向首位集群发送写请求和有效的读请求后请求得到首位集群的存储服务;第一访问链路是一种确定出与写请求和有效的读请求所对应的访问路径(首位集群),用于查询出首位集群中与写请求和有效的读请求所对应的网络资源(如对象存储地址和对象数据);限流控制是通过QPS(每秒查询率)和QOS(服务质量)进行反映的,对其写请求和有效的读请求进行流量或者并发量进行限流后,再根据限流情况去更新过滤***以令过滤***在下次碰到相同的限流情况时,可直接通过过滤***对限制情况所对应的写请求和有效的读请求进行限流等。
S50,在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性时,从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,对所述次位集群在的访问链路进行限流控制,在所述次位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;所述第二访问链路对应的次位集群具备可用性。
可理解地,次位集群是备份集群,当首位集群被切换掉的时候,次位集群就相当于替换掉首位集群的首位位置,在此需要说明的是,次位集群的数量并不止一个,在其中一个次位集群不具备可用性的时候,可切换到另一个次位集群,其中,次位集群不具备可用性时,也即说明次位集群存在异常,此时可可向次位集群发送写请求和有效的读请求后请求得到首位集群的存储服务;第二访问链路是一种确定出与写请求和有效的读请求所对应的访问路径(次位集群),用于查询出次位集群中与写请求和有效的读请求所对应的网络资源(如对象存储地址和对象数据);此实施例也是按照上述S40的限流情况进行限流,具体不在赘述。
步骤S10至步骤S50所在的实施例,在底层集群出现问题的时候,可自动对首位集群进行动态切换,避免人工切换集群所带来时效性低的问题,也可保持存储服务的高可用性,同时添加了限流和过滤功能,可对存储服务请求进行动态管理,避免短时间内异常的存储服务请求对集群所在的底层存储***的高可用性造成影响,且可减少底层存储***的运行和运维压力。
进一步地,所述对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求,包括:
根据所述存储服务请求获取对应的预设路由策略;
根据所述预设路由策略解析所述存储服务请求中的请求消息头或请求内容,得到所述读请求、所述写请求以及与所述读请求对应的第一路由和所述写请求对应的第二路由;所述第一路由是指将所述读请求通过过滤***进行过滤的路径,所述第二路由是指根据所述写请求和所述有效的读请求获取对应的访问链路的路径。
可理解地,本实施例可根据预设路由策略,其中,该预设路由策略是指分析出适合于存储服务请求的路由,本实施例主要通过分析确定出属于存储服务请求的处理路径,进而提高对存储服务请求的处理效率。在另一实施例中,根据所述存储服务请求获取对应的预设路由策略,根据所述预设路由策略解析所述存储服务请求中的请求来源或者其他特殊标记位,得到所述读请求、所述写请求以及与所述读请求对应的第一路由和所述写请求对应的第二路由。
进一步地,所述根据所述写请求和所述有效的读请求获取对应的访问链路之后,还包括:
调用预设接口或者第三方处理平台对所述首位集群的状态进行探测,以探测所述首位集群是否具备可用性;
可理解地,预设接口包括但不限于hadoop接口和Zookeeper接口;第三方处理平台包括但不限于elasticsearch搜索服务器和kafka Manager集群管理工具;本实施例主要是为通过探测首位集群的状态以及时确定首位集群是否出现异常。
所述在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性之后,还包括:
触发将所述首位集群切换至所述次位集群的集群切换策略,并调用所述预设接口或者第三方处理平台对所述次位集群的状态进行探测,以探测所述次位集群是否具备可用性。
可理解地,集群切换策略相当于一种路由策略,也即上述所述的将首位集群切换至次位集群;本实施例主要通过探测集群的处理状态以及时确定出集群的可用性,进而后续可对集群进行切换,保证集群能快速响应存储服务请求。
进一步地,所述从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,包括:
通过识别方式确定所述访问链路中是否存在与所述读请求关联的主写集群;
当不存在所述主写集群时,从所述访问链路中选择第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,并获取所述次位集群反馈的请求数据;所述请求数据为具备可用性的所述次位集群对接收到所述写请求和所述有效的读请求成功响应之后反馈的。
可理解地,写请求所对应的请求数据可以是次位集群的对象存储地址,有效的读请求所对应的请求数据可以是从次位集群的存储地址下载的对象数据;本实施例主要是根据不同的请求反馈不同的请求数据,以根据不同的请求作出相应的网关服务,另外本实施例在读请求为读请求时,会先去读取读请求关联的主写集群,因此需先通过识别主写集群的方式确定是否存储主写集群,并在不存在主写集群时,才向次位集群发送有效的读请求,而在写请求为写请求时,只需将写请求迁移至第二访问链路对应次位集群中以实现向第二访问链路对应的次位集群发送写请求。
进一步地,所述获取所述次位集群反馈的请求数据,包括::
确定所述首位集群中主存储区新写入的第一请求数据和所述次位集群中备份存储区存储的第二请求数据是否存在重名;所述第一请求数据是当前被写入并存储在所述首位集群中的请求数据;所述第二请求数据是预先被写入并存储在所述次位集群的请求数据;;
当存在重名且所述首位集群中主存储区不具备可用性时,将所述首位集群切换至包含所述第二请求数据的所述次位集群,并获取所述次位集群反馈的请求数据;所述次位集群反馈的请求数据为所述次位集群中备份存储区存储的第二请求数据;
在所述首位集群中主存储区具备可用性之后,将所述次位集群中备份存储区中存储的请求数据回迁至与所述首位集群对应的主存储区,并删除掉所述备份存储区存储的请求数据。
可理解地,首位集群中主存储区不具备可用性也即说明主存储区存在异常,其中,主存储区设置在首位集群中,备份存储区设置在次位集群中;本实施例主要解决的问题是指新写入的第一请求数据和旧写入的第二请求数据重名在不同集群中,此时需要在处理过程中,将请求数据进行存储在首位集群的主存储区中,保证请求数据的唯一性。
进一步地,所述将所述读请求通过过滤***后,得到有效的读请求,包括:
通过所述过滤***拦截所述读请求后,对所述读请求进行分类,得到分类结果;
通过所述过滤***获取与不同分类结果所对应的预设处理策略,通过不同的预设处理策略对与预设处理策略对应的各所述读请求进行过滤处理,得到所述有效的读请求。
可理解地,分类结果包括但不限于个别用户的恶意请求、攻击性请求、需要进行流量控制或者并发限制的请求、无效访问请求(用户大量访问底层集群请求不存在的请求数据的请求),在分类结果为恶意请求、攻击性请求和需要进行流量控制或者并发限制的请求时,预设处理策略为过滤限流控制(主要实现是通过来源ip访问底层的资源前缀和请求中的用户信息等),在分类结果为无效访问请求时,预设处理策略为直接拦截,不给无效访问请求轮询访问底层集群,通过过滤***发现底层集群不存在请求数据时,直接访问不存在的结果,避免无效访问请求直接落入到底层集群中;本实施例设置***的目的是为了拦截读请求中的无效请求,防止类似缓存击穿,让调用底层的读请求为有效请求(有效的读请求),避免在业务高峰期的时候,无效请求影响到网关***中的正常业务,提高网关***的性能和有效请求的占比。
进一步地,所述接收存储服务请求之前,还包括:
通过与所述存储服务对应的目标路由策略对所述存储服务请求进行处理;所述目标路由策略包括设置前置路由和后置路由接口、异常处理、引流和统计的一种或者多种组合。
可理解地,本实施例支持扩展的前置路由、后置路由、异常处理等接口,本实施例也支持相关统计,流量统计、并发统计和访问量统计等,同时可以支持引流,实现线上流量引流之线下环境(引流之后可用来做相关分析或新功能测试等用途)。在另一实施例中,根据需求对目标路由策略和预设目标路由策略进行更新,采用Raft协议实现网关服务的一致性,并通过该Raft协议选举leader服务,通过leader服务实现对具体的目标路由策略变更的计算和通过其他follower服务。
综上所述,上述提供了一种存储服务请求的处理方法,在底层集群出现问题的时候,可自动对首位集群进行动态切换,避免人工切换集群所带来时效性低的问题,也可保持存储服务的高可用性,同时添加了限流和过滤功能,可对存储服务请求进行动态管理,避免短时间内异常的存储服务请求对集群所在的底层存储***的高可用性造成影响,且可减少底层存储***的运行和运维压力,同时提供了路由策略的更新,也提供了拓展的接口,进而可实现网关服务的多元化。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种存储服务请求的处理装置,该存储服务请求的处理装置与上述实施例中存储服务请求的处理方法一一对应。如图3所示,该存储服务请求的处理装置包括分类模块11、拦截模块12、获取模块13、第一更新模块14和第二更新模块15。各功能模块详细说明如下:
分类模块11,用于接收存储服务请求,对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求;
拦截模块12,用于利用过滤***对所述读请求进行过滤得到有效的读请求;
获取模块13,用于根据所述写请求和所述有效的读请求获取对应的访问链路;
第一更新模块14,用于在确定所述访问链路中的第一访问链路对应的首位集群具备可用性时,向所述首位集群发送所述写请求和所述有效的读请求,对所述首位集群在的访问链路进行限流控制,在所述首位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;
第二更新模块15,用于在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性时,从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,对所述次位集群在的访问链路进行限流控制,在所述次位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;所述第二访问链路对应的次位集群具备可用性。
进一步地,所述分类模块包括:
第一获取子模块,用于根据所述存储服务请求获取对应的预设路由策略;
第一分类子模块,用于根据所述预设路由策略解析所述存储服务请求中的请求消息头或请求内容,得到所述读请求、所述写请求以及与所述读请求对应的第一路由和所述写请求对应的第二路由;所述第一路由是指将所述读请求通过过滤***进行过滤的路径,所述第二路由是指根据所述写请求和所述有效的读请求获取对应的访问链路的路径。
进一步地,所述存储服务请求的处理装置还包括:
第一探测模块,用于调用预设接口或者第三方处理平台对所述首位集群的状态进行探测,以探测所述首位集群是否具备可用性;
第二探测模块,用于触发将所述首位集群切换至所述次位集群的集群切换策略,并调用所述预设接口或者第三方处理平台对所述次位集群的状态进行探测,以探测所述次位集群是否具备可用性。
进一步地,所述第二更新模块包括:
确定子模块,用于通过识别方式确定所述访问链路中是否存在与所述读请求关联的主写集群;
第二获取子模块,用于当不存在所述主写集群时,从所述访问链路中选择第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,并获取所述次位集群反馈的请求数据;所述请求数据为具备可用性的所述次位集群对接收到所述写请求和所述有效的读请求成功响应之后反馈的。
进一步地,所述第二获取子模块包括:
确定单元,用于确定所述首位集群中主存储区新写入的第一请求数据和所述次位集群中备份存储区存储的第二请求数据是否存在重名;所述第一请求数据是当前被写入并存储在所述首位集群中的请求数据;所述第二请求数据是预先被写入并存储在所述次位集群的请求数据;;
获取单元,用于当存在重名且所述首位集群中主存储区不具备可用性时,将所述首位集群切换至包含所述第二请求数据的所述次位集群,并获取所述次位集群反馈的请求数据;所述次位集群反馈的请求数据为所述次位集群中备份存储区存储的第二请求数据;
删除单元,用于在所述首位集群中主存储区具备可用性之后,将所述次位集群中备份存储区中存储的请求数据回迁至与所述首位集群对应的主存储区,并删除掉所述备份存储区存储的请求数据。
进一步地,所述拦截模块包括:
第二分类子模块,用于通过所述过滤***拦截所述读请求后,对所述读请求进行分类,得到分类结果;
过滤子模块,用于通过所述过滤***获取与不同分类结果所对应的预设处理策略,通过不同的预设处理策略对与预设处理策略对应的各所述读请求进行过滤处理,得到所述有效的读请求。
进一步地,所述所述存储服务请求的处理装置还包括:
新增路由模块,用于通过与所述存储服务对应的目标路由策略对所述存储服务请求进行处理;所述目标路由策略包括设置前置路由和后置路由接口、异常处理、引流和统计的一种或者多种组合。
关于存储服务请求的处理装置的具体限定可以参见上文中对于存储服务请求的处理方法的限定,在此不再赘述。上述存储服务请求的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储存储服务请求的处理方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储服务请求的处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中存储服务请求的处理方法的步骤,例如图2所示的步骤S10至步骤S50。或者,处理器执行计算机程序时实现上述实施例中存储服务请求的处理装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中存储服务请求的处理方法的步骤,例如图2所示的步骤S10至步骤S50。或者,计算机程序被处理器执行时实现上述实施例中存储服务请求的处理装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种存储服务请求的处理方法,其特征在于,包括:
接收存储服务请求,对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求;
利用过滤***对所述读请求进行过滤得到有效的读请求;过滤掉的所述读请求为无效请求;
根据所述写请求和所述有效的读请求获取对应的访问链路;
在确定所述访问链路中的第一访问链路对应的首位集群具备可用性时,向所述首位集群发送所述写请求和所述有效的读请求,对所述首位集群在的访问链路进行限流控制,在所述首位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;
在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性时,从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,对所述次位集群在的访问链路进行限流控制,在所述次位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;所述第二访问链路对应的次位集群具备可用性。
2.根据权利要求1所述的存储服务请求的处理方法,其特征在于,所述对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求,包括:
根据所述存储服务请求获取对应的预设路由策略;
根据所述预设路由策略解析所述存储服务请求中的请求消息头或请求内容,得到所述读请求、所述写请求以及与所述读请求对应的第一路由和所述写请求对应的第二路由;所述第一路由是指将所述读请求通过过滤***进行过滤的路径,所述第二路由是指根据所述写请求和所述有效的读请求获取与其对应的访问链路的路径。
3.根据权利要求1所述的存储服务请求的处理方法,其特征在于,所述根据所述写请求和所述有效的读请求获取对应的访问链路之后,还包括:
调用预设接口或者第三方处理平台对所述首位集群的状态进行探测,以探测所述首位集群是否具备可用性;
所述在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性之后,还包括:
触发将所述首位集群切换至所述次位集群的集群切换策略,并调用所述预设接口或者第三方处理平台对所述次位集群的状态进行探测,以探测所述次位集群是否具备可用性。
4.根据权利要求1所述的存储服务请求的处理方法,其特征在于,所述从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,包括:
通过识别方式确定所述访问链路中是否存在与所述读请求关联的主写集群;
当不存在所述主写集群时,从所述访问链路中选择第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,并获取所述次位集群反馈的请求数据;所述请求数据为具备可用性的所述次位集群对接收到所述写请求和所述有效的读请求成功响应之后反馈的。
5.根据权利要求4所述的存储服务请求的处理方法,其特征在于,所述获取所述次位集群反馈的请求数据,包括:
确定所述首位集群中主存储区新写入的第一请求数据和所述次位集群中备份存储区存储的第二请求数据是否存在重名;所述第一请求数据是当前被写入并存储在所述首位集群中的请求数据;所述第二请求数据是预先被写入并存储在所述次位集群的请求数据;
当存在重名且所述首位集群中主存储区不具备可用性时,将所述首位集群切换至包含所述第二请求数据的所述次位集群,并获取所述次位集群反馈的请求数据;所述次位集群反馈的请求数据为所述次位集群中备份存储区存储的第二请求数据;
在所述首位集群中主存储区具备可用性之后,将所述次位集群中备份存储区中存储的请求数据回迁至与所述首位集群对应的主存储区,并删除掉所述备份存储区存储的请求数据。
6.根据权利要求1所述的存储服务请求的处理方法,其特征在于,所述利用过滤***对所述读请求进行过滤得到有效的读请求,包括:
通过所述过滤***拦截所述读请求后,对所述读请求进行分类,得到分类结果;
通过所述过滤***获取与不同分类结果所对应的预设处理策略,通过不同的预设处理策略对与预设处理策略对应的各所述读请求进行过滤处理,得到所述有效的读请求。
7.根据权利要求1所述的存储服务请求的处理方法,其特征在于,所述接收存储服务请求之前,还包括:
通过与所述存储服务对应的目标路由策略对所述存储服务请求进行处理;所述目标路由策略包括设置前置路由和后置路由接口、异常处理、引流和统计的一种或者多种组合。
8.一种存储服务请求的处理装置,其特征在于,包括:
分类模块,用于接收存储服务请求,对所述存储服务请求进行解析,并根据解析结果将所述存储服务请求分为读请求和写请求;
拦截模块,用于利用过滤***对所述读请求进行过滤得到有效的读请求;过滤掉的所述读请求为无效请求;
获取模块,用于根据所述写请求和所述有效的读请求获取对应的访问链路;
第一更新模块,用于在确定所述访问链路中的第一访问链路对应的首位集群具备可用性时,向所述首位集群发送所述写请求和所述有效的读请求,对所述首位集群在的访问链路进行限流控制,在所述首位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;
第二更新模块,用于在确定所述访问链路中的第一访问链路对应的首位集群不具备可用性时,从所述访问链路中选取第二访问链路,向所述第二访问链路对应的次位集群发送所述写请求和所述有效的读请求,对所述次位集群在的访问链路进行限流控制,在所述次位集群成功响应所述写请求和所述有效的读请求后,更新所述过滤***;所述第二访问链路对应的次位集群具备可用性。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述存储服务请求的处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述存储服务请求的处理方法。
CN202011555935.8A 2020-12-24 2020-12-24 存储服务请求的处理方法、装置、计算机设备及存储介质 Active CN112737962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011555935.8A CN112737962B (zh) 2020-12-24 2020-12-24 存储服务请求的处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011555935.8A CN112737962B (zh) 2020-12-24 2020-12-24 存储服务请求的处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112737962A CN112737962A (zh) 2021-04-30
CN112737962B true CN112737962B (zh) 2023-06-02

Family

ID=75615613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011555935.8A Active CN112737962B (zh) 2020-12-24 2020-12-24 存储服务请求的处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112737962B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088664A1 (zh) * 2015-11-26 2017-06-01 深圳市中博科创信息技术有限公司 集群文件***的数据处理方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817860B2 (en) * 2011-12-13 2017-11-14 Microsoft Technology Licensing, Llc Generation and application of correctness-enforced executable filters
CN106972975A (zh) * 2017-04-27 2017-07-21 上海斐讯数据通信技术有限公司 一种服务器管理方法及***
CN107329832B (zh) * 2017-06-30 2021-01-22 北京奇艺世纪科技有限公司 一种数据接收方法及装置
CN108052664A (zh) * 2017-12-29 2018-05-18 北京小度信息科技有限公司 数据库存储集群的数据迁移方法和装置
CN111885098B (zh) * 2020-06-03 2021-06-29 中邮消费金融有限公司 对象存储集群的代理访问方法、***及计算机设备
CN111917846A (zh) * 2020-07-19 2020-11-10 中信银行股份有限公司 一种Kafka集群切换方法、装置、***、电子设备及可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088664A1 (zh) * 2015-11-26 2017-06-01 深圳市中博科创信息技术有限公司 集群文件***的数据处理方法和装置

Also Published As

Publication number Publication date
CN112737962A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN109064345B (zh) 消息处理方法、***以及计算机可读存储介质
CN110287709B (zh) 用户操作权限控制方法、装置、设备及介质
EP3418877B1 (en) Data writing and reading method and apparatus, and cloud storage system
US9971823B2 (en) Dynamic replica failure detection and healing
US7155462B1 (en) Method and apparatus enabling migration of clients to a specific version of a server-hosted application, where multiple software versions of the server-hosted application are installed on a network
CN109768879B (zh) 目标业务服务器的确定方法、装置及服务器
CN106959820B (zh) 一种数据提取方法和***
US20100262687A1 (en) Dynamic data partitioning for hot spot active data and other data
US20170262373A1 (en) Cache Optimization Based On Predictive Routing
WO2022057231A1 (zh) 访问服务器的方法、装置、设备及存储介质
CN109739435B (zh) 文件存储和更新方法及装置
CN112291365B (zh) 访问均衡处理方法、装置、计算机设备及存储介质
CA3138764A1 (en) Data processing method, device, computer equipment and storage medium
CN111198845A (zh) 一种数据迁移方法、可读存储介质及计算设备
CN109981779B (zh) 服务提供方法、服务器及计算机存储介质
CN107181773A (zh) 分布式存储***的数据存储及数据管理方法、设备
CN112737962B (zh) 存储服务请求的处理方法、装置、计算机设备及存储介质
CN117061535A (zh) 多活构架数据同步方法、装置、计算机设备和存储介质
CN112671945A (zh) 管理ip代理池的方法、装置、计算机设备及存储介质
JP4043999B2 (ja) 自動的かつ動的な再構成ネットワーク準備のための装置および方法
CN109445988B (zh) 异构容灾方法、装置、***、服务器和容灾平台
CN114490681A (zh) 服务请求响应方法、装置以及服务器集群
US11442960B2 (en) Edge key value store for a distributed platform
CN110866066B (zh) 一种业务处理方法及装置
US11914590B1 (en) Database request router improving server cache utilization

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