CN111835857B - 用于访问数据的方法和装置 - Google Patents
用于访问数据的方法和装置 Download PDFInfo
- Publication number
- CN111835857B CN111835857B CN202010691642.6A CN202010691642A CN111835857B CN 111835857 B CN111835857 B CN 111835857B CN 202010691642 A CN202010691642 A CN 202010691642A CN 111835857 B CN111835857 B CN 111835857B
- Authority
- CN
- China
- Prior art keywords
- storage gateway
- gateway address
- list
- storage
- address list
- 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
Links
Images
Classifications
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了用于访问数据的方法和装置,本公开涉及存储领域、云计算领域。具体实现方案为:接收用户发送的数据访问请求;基于预先存储的初始存储网关地址列表,确定存储网关地址列表;基于存储网关地址列表,确定存储网关地址作为待用存储网关地址;将数据访问请求发送到待用存储网关地址对应的存储网关,以访问数据。本公开通过存储网关地址列表可以在终端确定待用存储网关地址,从而实现了在终端对数据访问请求进行负载均衡,减少对象存储系统的维护成本,降低了数据访问请求的处理耗时。
Description
技术领域
本公开涉及计算机技术领域,具体涉及云计算技术。
背景技术
现阶段,对象存储后端一般包含多个存储网关,客户端通过访问存储网关来与后端存储进行交互。客户端通过存储服务提供者提供的IP地址(Internet ProtocolAddress,互联网协议地址)或域名访问后端存储网关。为了避免客户端所有的请求都发送到同一个存储网关,造成单个存储网关压力过大,需要对客户端发送的请求实现负载均衡。现阶段,可以通过硬件设备或者软件的方式实现负载均衡。通常用于实现负载均衡的硬件设备价格昂贵,会增加存储系统的成本。在软件实现方式中,需要部署额外的负载均衡软件,并且客户端与后端存储通讯时首先需要与负载均衡软件通讯,这增加系统的维护成本和请求处理耗时。
发明内容
本公开提供了一种用于访问数据的方法、装置、设备以及存储介质。
根据本公开的第一方面,提供了一种用于访问数据的方法,包括:接收用户发送的数据访问请求;基于预先存储的初始存储网关地址列表,确定存储网关地址列表;基于上述存储网关地址列表,确定存储网关地址作为待用存储网关地址;将上述数据访问请求发送到上述待用存储网关地址对应的存储网关,以访问数据。
根据本公开的第二方面,提供了一种用于访问数据的装置,包括:接收单元,被配置成接收用户发送的数据访问请求;列表确定单元,被配置成基于预先存储的初始存储网关地址列表,确定存储网关地址列表;地址确定单元,被配置成基于上述存储网关地址列表,确定存储网关地址作为待用存储网关地址;访问单元,被配置成将上述数据访问请求发送到上述待用存储网关地址对应的存储网关,以访问数据。
根据本公开的第三方面,提供了一种电子设备,其特征在于,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行如第一方面中任一项上述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,上述计算机指令用于使上述计算机执行如第一方面中任一项上述的方法。
根据本公开的第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面中任一实现方式描述的方法。
根据本申请的技术通过存储网关地址列表可以在终端确定待用存储网关地址,从而实现了在终端对数据访问请求进行负载均衡,减少对象存储系统的维护成本,降低了数据访问请求的处理耗时。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请的用于访问数据的方法的一个实施例的流程图;
图2是根据本申请的用于访问数据的方法的一个应用场景的示意图;
图3是根据本申请的用于访问数据的方法的又一个实施例的流程图;
图4是根据本申请的用于访问数据的装置的一个实施例的结构示意图;
图5是用来实现本申请实施例的用于访问数据的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
请参考图1,图1示出了根据本公开的用于访问数据的方法的一个实施例的流程100。该用于访问数据的方法,包括以下步骤:
S101,接收用户发送的数据访问请求。
在本实施例中,用于访问数据的方法的执行主体可以接收用户发送的数据访问请求。这里,数据访问请求可以用于请求访问对象存储系统中存储的数据。
这里,用于访问数据的方法的执行主体可以是用户所使用的终端设备,例如,智能手机、平板电脑、电子书阅读器、膝上型便捷计算机和台式计算机等等。终端设备上可以安装有各个通讯客户端应用,例如,网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端等等。
S102,基于预先存储的初始存储网关地址列表,确定存储网关地址列表。
在本实施例中,执行主体内部可以预先存储有初始存储网关地址列表。该初始存储网关地址列表可以包括至少一个存储网关地址。例如,初始存储网关地址列表中可以记录对象存储后端部分或者全部存储网关的地址。这里,初始存储网关地址列表中所包括的存储网关地址可以是由技术人员人工设定的。这样,执行主体可以基于该初始存储网关地址列表,确定存储网关地址列表,并存储在本地。作为一个示例,执行主体可以将该初始存储网关地址列表直接作为所确定的存储网关地址列表。作为另一个示例,初始存储网关地址列表中记录的存储网关地址可以用于在客户端SDK(Software Development Kit,软件开发工具包)初始化时从对象存储后端获取存储网关地址列表。例如,客户端SDK初始化时,可以通过初始存储网关地址列表中记录的存储网关地址,从对象存储后端获取存储网关地址列表作为所确定的存储网关地址列表。
实际应用中,初始存储网关地址列表中可以包括多行,每个存储网关地址可以占一行。存储网关地址可以包括使用的http协议(超文本传输协议),例如,http或者https(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)。存储网关地址还可以包括存储网关的域名或者IP加端口号,例如,其样式可以如下http://10.0.0.1:8080、https://10.0.0.2:8443等等。可以理解的是,上述示例中两个存储网关地址仅仅是示意性的,而非对存储网关地址的限定。
在本实施例的一些可选的实现方式中,上述用于访问数据的方法还可以包括图1中未示出的以下步骤:
首先,向初始存储网关地址列表中的存储网关地址发送列表获取请求。
在本实现方式中,执行主体可以向上述初始存储网关地址列表中的存储网关地址发送列表获取请求。作为示例,技术人员可以预先在对象存储后端包含的多个存储网关中添加自动维护当前可用的存储网关地址列表的功能,并在多个存储网关中添加用于获取存储网关地址列表的接口。执行主体通过向初始存储网关地址列表中的存储网关地址发送列表获取请求,判断该存储网关地址对应的存储网关中是否添加了用于获取存储网关地址的接口。如果添加了该接口,则该存储网关地址对应的存储网关会针对列表获取请求向终端反馈当前存储网关地址列表。举例来说,针对列表获取请求反馈的信息可以包括当前存储网关地址列表和当前存储网关地址列表对应的列表标识。如果没有添加该接口,则不反馈。举例来说,发送的列表获取请求的形式可以如下所示:
Host: 10.0.0.2:8080
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: authorization string
其中,可以表示是使用HTTP的GET请求;Host: 10.0.0.2:8080可以表示发送到的存储网关地址为10.0.0.2:8080;Date: Wed, 28 Oct 2009 22:32:00GMT可以表示发送时间;Authorization: authorization string可以表示请求携带的认证字符串。可以理解的是,上述列表获取请求的形式仅仅是示意性的,而非对列表获取请求的参数的限定,实际使用中可以根据实际需要设置请求的参数。
然后,响应于接收到存储网关反馈的存储网关地址列表,将所接收的存储网关地址列表作为所确定的存储网关地址列表。
在本实现方式中,如果执行主体接收到了存储网关针对列表获取请求反馈的存储网关地址列表,则执行主体可以将所接收到存储网关地址列表作为所确定的存储网关地址列表。
最后,响应于未接收到存储网关反馈的存储网关地址列表,发送对象数据获取请求,以获取存储网关地址列表作为所确定的存储网关地址列表。
在本实现方式中,如果执行主体没有接收到存储网关针对列表获取请求反馈的存储网关地址列表,则执行主体可以向初始存储网关地址列表中的存储网关地址发送对象数据获取请求,以获取存储网关地址列表作为所确定的存储网关地址列表。这里,技术人员可以在对象存储系统中创建预设名称的桶(Bucket)和预设名称的对象(Object),并在对象中记录存储网关地址列表。当需要增删存储网关地址时,技术人员可以手动更新对象中记录的存储网关地址列表。这样,执行主体可以通过发送对象数据获取请求,从技术人员创建的预设名称的桶的预设名称的对象中获取存储网关地址列表。这里,对象数据获取请求可以用于从对象存储中获取存储网关地址列表。通过本实现方式,执行主体可以基于初始存储网关地址列表中存储的存储网关地址,从对象存储的存储网关或者对象获取存储网关地址列表,从而使获取的存储网关地址列表更加具有实时性。
在一些可选的实现方式中,上述用于访问数据的方法还可以包括以下步骤:
首先,每隔预设时间间隔获取当前存储网关地址列表和对应的列表标识。
在本实现方式中,执行主体可以每隔预设时间间隔获取一次当前存储网关地址列表和当前存储网关地址列表对应的列表标识。这里,列表标识可以用于唯一标识一个存储网关地址列表。当前存储网关地址列表可以是当前时刻、对象存储的存储网关或者对象存储的预设名称的桶的预设名称的对象中存储的存储网关地址列表。
通常,由于存储网关中添加的自动维护当前可用的存储网关地址列表的功能,可以实时对包含的存储网关的活性进行检测,以判断各个存储网关是否出现错误。如果某个存储网关出现错误,则将该存储网关对应的存储网关地址从存储网关的存储网关地址列表中删除。同时,对象存储系统还可以在某个出现错误的存储网关的错误消失之后,将该存储网关对应的存储网关地址添加到存储网关中的存储网关地址列表中。此外,技术人员可以手动更新预设名称的桶的预设名称的对象中记录的存储网关地址列表中的存储网关地址。每一次,存储网关或者对象中存储网关地址列表中的存储网关地址发生变化,则存储网关地址列表对应的标识发生一次变化。例如,以存储网关地址列表对应的标识为编号为例,每一次存储网关地址列表的内容发生一次变化,则存储网关地址列表对应的编号可以加1。
然后,根据当前存储网关地址列表的列表标识,确定是否更新存储网关地址列表。
在本实现方式中,执行主体可以根据获取的当前存储网关地址列表的列表标识确定是否更新本地已存储的存储网关地址列表。举例来说,如果当前存储网关地址列表的列表标识与本地已存储的存储网关地址列表的列表标识不相同,则更新;反之,则不更新。这里,更新可以是指使用当前存储网关地址列表替换本地已存储的存储网关地址列表。通过本实现方式,可以在当前存储网关地址列表的列表标识发生变化时,及时更新存储网关地址列表。保证了存储网关地址列表的实时性。
S103,基于存储网关地址列表,确定存储网关地址作为待用存储网关地址。
在本实施例中,执行主体可以存储网关地址列表,采用各种方式确定存储网关地址作为待用存储网关地址。例如,执行主体可以从存储网关地址列表中随机选取一个存储网关地址作为待用存储网关地址。又例如,执行主体还可以将存储网关地址列表中的、发送上一个请求时所使用的存储网关地址的下一个存储网关地址作为待用存储网关地址。再例如,执行主体还可以将存储网关地址列表中的、发送上一个请求时所使用的存储网关地址作为待用存储网关地址。
在本实施例的一些可选的实现方式中,上述S103可以具体如下进行:
首先,将存储网关地址列表中的存储网关地址保存到双向循环链表。
在本实现方式中,执行主体可以将上述存储网关地址列表中的存储网关地址保存到双向循环列表。
然后,从双向循环链表中确定存储网关地址作为起始存储网关地址。
在本实现方式中,执行主体可以从双向循环链表中确定一个存储网关地址作为起始存储网关地址。例如,从双向循环链表中随机选择一个存储网关地址作为起始存储网关地址。
最后,基于双向循环链表和初始存储网关地址,确定待用存储网关地址。
在本实现方式中,执行主体可以基于双向循环链表和初始存储网关地址,确定待用存储网关地址。作为一个示例,执行主体可以将初始存储网关地址确定为待用存储网关地址。作为另一个示例,执行主体还可以选取双向循环链表中的、发送上一个请求时所使用的存储网关地址的下一个存储网关地址作为待用存储网关地址。在本实现方式中,可以通过双向循环链表确定待用存储网关地址,加快了存储网关地址的访问速度,提高了确定待用存储网关地址的效率。
S104,将数据访问请求发送到待用存储网关地址对应的存储网关,以访问数据。
在本实施例中,执行主体可以将上述数据访问请求发送到待用存储网关地址对应的存储网关,以通过该存储网关与对象存储后端进行交互,实现数据访问。
在本实施例的一些可选的实现方式中,上述用于访问数据的方法还可以包括图1中未示出的以下步骤:
响应于确定发送数据访问请求的过程中待用存储网关地址失效,重新选取用于发送数据访问请求的待用存储网关地址。
在本实现方式中,执行主体在将数据访问请求发送到待用存储网关地址对应的存储网关时,如果确定待用存储网关地址对应的存储网关出现错误,例如,出现网络无法连通或者其他错误,则执行主体可以确定待用存储网关地址失效。此时,执行主体可以通过各种方式重新选取用于发送数据访问请求的待用存储网关地址。作为一个示例,执行主体可以从上述存储网关地址列表中随机选取一个存储网关地址作为新的待用存储网关地址。作为另一个示例,执行主体可以将上述存储网关地址列表中、失效的待用存储网关地址的下一个存储网关地址作为新的待用存储网关地址。通过本实现方式,可以在确定待用存储网关地址失效时,重新选取用于发送数据访问请求的待用存储网关地址,从而保证了数据访问请求的成功发送。
继续参见图2,图2是根据本实施例的用于访问数据的方法的应用场景的一个示意图。在图2的应用场景中,终端201首先接收用户发送的数据访问请求。之后,终端201基于预先存储的初始存储网关地址列表,确定存储网关地址列表。然后,终端201基于存储网关地址列表,确定存储网关地址作为待用存储网关地址。最后,终端201将数据访问请求发送到待用存储网关地址对应的存储网关202,以访问对象存储中的数据。
本公开的上述实施例提供的方法通过存储网关地址列表可以在终端确定待用存储网关地址,从而实现了在终端对数据访问请求进行负载均衡,减少对象存储系统的维护成本,降低了数据访问请求的处理耗时。
进一步参考图3,其示出了用于访问数据的方法的又一个实施例的流程300。该用于访问数据的方法的流程300,包括以下步骤:
S301,接收用户发送的数据访问请求。
在本实施例中,S301与图1所示实施例的S101类似,此处不再赘述。
S302,基于预先存储的初始存储网关地址列表,确定存储网关地址列表。
在本实施例中,S302与图1所示实施例的S102类似,此处不再赘述。
S303,基于存储网关地址列表,确定存储网关地址作为待用存储网关地址。
在本实施例中,S303与图1所示实施例的S103类似,此处不再赘述。
S304,将数据访问请求发送到待用存储网关地址对应的存储网关,以访问数据。
在本实施例中,S304与图1所示实施例的S104类似,此处不再赘述。
S305,响应于确定存储网关地址列表中的存储网关地址失效,将失效的存储网关地址存储到预设的失效列表中,以及从存储网关地址列表中删除失效的存储网关地址。
在本实施例中,执行主体可以实时判断存储网关地址列表中的存储网关地址是否失效。例如,当执行主体访问某个存储网关地址对应的存储网关时,出现网络无法连通或者其他错误时,可以确定该存储网关对应的存储网关地址失效。如果判断存储网关地址列表中的存储网关地址失效,则执行主体可以将失效的存储网关地址存储到预设的失效列表中。同时,从存储网关地址列表中删除失效的存储网关地址。
在本实施例的一些可选的实现方式中,上述用于访问数据的方法还可以包括以下步骤:
首先,检测失效列表中的存储网关地址是否恢复正常。
在本实现方式中,执行主体可以实时检测上述失效列表中的存储网关地址是否恢复正常。举例来说,执行主体可以向失效列表中的存储网关地址对应的存储网关发送请求,并接收该存储网关针对该请求反馈的信息,根据反馈的信息判断该存储网关地址是否已经恢复正常。
然后,响应于确定失效列表中的存储网关地址恢复正常,将恢复正常的存储网关地址从失效列表中删除,以及将恢复正常的存储网关地址添加到存储网关地址列表。
在本实现方式中,如果执行主体判断失效列表中的某个存储网关地址恢复了正常,则执行主体可以将恢复正常的存储网关地址从失效列表中删除,并将恢复正常的存储网关地址添加到存储网关地址列表。通过本实现方式,可以及时将失效列表中恢复正常的存储网关地址从失效列表中删除,并重新添加到存储网关地址列表,从而保证了失效列表中恢复正常的存储网关地址的利用率。
从图3中可以看出,与图1对应的实施例相比,本实施例中的用于访问数据的方法的流程300突出了将存储网关地址列表中失效的存储网关地址从存储网关地址列表中删除,并存储到失效列表的步骤。由此,本实施例描述的方法可以及时清除存储网关地址列表中失效的存储网关地址,保证了存储网关地址列表中记录的存储网关地址的可用性。
进一步参考图4,作为对上述各图所示方法的实现,本公开提供了一种用于访问数据的装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的用于访问数据的装置400包括:接收单元401、列表确定单元402、地址确定单元403和访问单元404。其中,接收单元401被配置成接收用户发送的数据访问请求;列表确定单元402被配置成基于预先存储的初始存储网关地址列表,确定存储网关地址列表;地址确定单元403被配置成基于上述存储网关地址列表,确定存储网关地址作为待用存储网关地址;访问单元404被配置成将上述数据访问请求发送到上述待用存储网关地址对应的存储网关,以访问数据。
在本实施例中,用于访问数据的装置400的接收单元401、列表确定单元402、地址确定单元403和访问单元404的具体处理及其所带来的技术效果可分别参考图1对应实施例中步骤S101、S102、S103和S104的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述装置400还包括:存储单元(图中未示出),被配置成响应于确定上述存储网关地址列表中的存储网关地址失效,将失效的存储网关地址存储到预设的失效列表中,以及从上述存储网关地址列表中删除失效的存储网关地址。
在本实施例的一些可选的实现方式中,上述装置400还包括:检测单元(图中未示出),被配置成检测上述失效列表中的存储网关地址是否恢复正常;删除单元(图中未示出),被配置成响应于确定上述失效列表中的存储网关地址恢复正常,将恢复正常的存储网关地址从上述失效列表中删除,以及将恢复正常的存储网关地址添加到上述存储网关地址列表。
在本实施例的一些可选的实现方式中,上述装置400还包括:重新选取单元(图中未示出),被配置成响应于确定发送上述数据访问请求的过程中上述待用存储网关地址失效,重新选取用于发送上述数据访问请求的待用存储网关地址。
在本实施例的一些可选的实现方式中,上述列表确定单元402进一步被配置成:向上述初始存储网关地址列表中的存储网关地址发送列表获取请求;响应于接收到存储网关反馈的存储网关地址列表,将所接收的存储网关地址列表作为所确定的存储网关地址列表;响应于未接收到存储网关反馈的存储网关地址列表,发送对象数据获取请求,以获取存储网关地址列表作为所确定的存储网关地址列表,其中,上述对象数据获取请求用于从对象存储中获取存储网关地址列表。
在本实施例的一些可选的实现方式中,上述装置400还包括:获取单元(图中未示出),被配置成每隔预设时间间隔获取当前存储网关地址列表和对应的列表标识;更新确定单元(图中未示出),被配置成根据当前存储网关地址列表的列表标识,确定是否更新上述存储网关地址列表。
在本实施例的一些可选的实现方式中,上述地址确定单元403进一步被配置成:将上述存储网关地址列表中的存储网关地址保存到双向循环链表;从上述双向循环链表中确定存储网关地址作为起始存储网关地址;基于上述双向循环链表和上述初始存储网关地址,确定待用存储网关地址。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图5所示,是根据本申请实施例的用于访问数据的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的用于访问数据的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于访问数据的方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于访问数据的方法对应的程序指令/模块(例如,附图4所示的接收单元401、列表确定单元402、地址确定单元403和访问单元404)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于访问数据的方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于访问数据的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至用于访问数据的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于访问数据的方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与用于访问数据的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过存储网关地址列表可以在终端确定待用存储网关地址,从而实现了在终端对数据访问请求进行负载均衡,减少对象存储系统的维护成本,降低了数据访问请求的处理耗时。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (17)
1.一种用于访问数据的方法,包括:
接收用户发送的数据访问请求;
基于预先存储的初始存储网关地址列表,确定存储网关地址列表,所述初始存储网关地址列表中记录的存储网关地址用于在客户端SDK初始化时从对象存储后端获取存储网关地址列表;所述基于预先存储的初始存储网关地址列表,确定存储网关地址列表,包括:向所述初始存储网关地址列表中的存储网关地址发送列表获取请求;响应于未接收到存储网关反馈的存储网关地址列表,发送对象数据获取请求,以获取存储网关地址列表作为所确定的存储网关地址列表,其中,所述对象数据获取请求用于从对象存储中获取存储网关地址列表;基于所述存储网关地址列表,确定存储网关地址作为待用存储网关地址;
将所述数据访问请求发送到所述待用存储网关地址对应的存储网关,以访问数据。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于确定所述存储网关地址列表中的存储网关地址失效,将失效的存储网关地址存储到预设的失效列表中,以及从所述存储网关地址列表中删除失效的存储网关地址。
3.根据权利要求2所述的方法,其中,所述方法还包括:
检测所述失效列表中的存储网关地址是否恢复正常;
响应于确定所述失效列表中的存储网关地址恢复正常,将恢复正常的存储网关地址从所述失效列表中删除,以及将恢复正常的存储网关地址添加到所述存储网关地址列表。
4.根据权利要求1所述的方法,其中,所述方法还包括:
响应于确定发送所述数据访问请求的过程中所述待用存储网关地址失效,重新选取用于发送所述数据访问请求的待用存储网关地址。
5.根据权利要求1所述的方法,其中,所述基于预先存储的初始存储网关地址列表,确定存储网关地址列表,包括:
响应于接收到存储网关反馈的存储网关地址列表,将所接收的存储网关地址列表作为所确定的存储网关地址列表。
6.根据权利要求5所述的方法,其中,所述方法还包括:
每隔预设时间间隔获取当前存储网关地址列表和对应的列表标识;
根据当前存储网关地址列表的列表标识,确定是否更新所述存储网关地址列表。
7.根据权利要求1所述的方法,其中,所述基于所述存储网关地址列表,确定存储网关地址作为待用存储网关地址,包括:
将所述存储网关地址列表中的存储网关地址保存到双向循环链表;
从所述双向循环链表中确定存储网关地址作为起始存储网关地址;
基于所述双向循环链表和所述初始存储网关地址,确定待用存储网关地址。
8.一种用于访问数据的装置,包括:
接收单元,被配置成接收用户发送的数据访问请求;
列表确定单元,被配置成基于预先存储的初始存储网关地址列表,确定存储网关地址列表,所述初始存储网关地址列表中记录的存储网关地址用于在客户端SDK初始化时从对象存储后端获取存储网关地址列表;所述列表确定单元进一步被配置成:向所述初始存储网关地址列表中的存储网关地址发送列表获取请求;响应于未接收到存储网关反馈的存储网关地址列表,发送对象数据获取请求,以获取存储网关地址列表作为所确定的存储网关地址列表,其中,所述对象数据获取请求用于从对象存储中获取存储网关地址列表;
地址确定单元,被配置成基于所述存储网关地址列表,确定存储网关地址作为待用存储网关地址;
访问单元,被配置成将所述数据访问请求发送到所述待用存储网关地址对应的存储网关,以访问数据。
9.根据权利要求8所述的装置,其中,所述装置还包括:
存储单元,被配置成响应于确定所述存储网关地址列表中的存储网关地址失效,将失效的存储网关地址存储到预设的失效列表中,以及从所述存储网关地址列表中删除失效的存储网关地址。
10.根据权利要求9所述的装置,其中,所述装置还包括:
检测单元,被配置成检测所述失效列表中的存储网关地址是否恢复正常;
删除单元,被配置成响应于确定所述失效列表中的存储网关地址恢复正常,将恢复正常的存储网关地址从所述失效列表中删除,以及将恢复正常的存储网关地址添加到所述存储网关地址列表。
11.根据权利要求8所述的装置,其中,所述装置还包括:
重新选取单元,被配置成响应于确定发送所述数据访问请求的过程中所述待用存储网关地址失效,重新选取用于发送所述数据访问请求的待用存储网关地址。
12.根据权利要求8所述的装置,其中,所述列表确定单元进一步被配置成:
响应于接收到存储网关反馈的存储网关地址列表,将所接收的存储网关地址列表作为所确定的存储网关地址列表。
13.根据权利要求12所述的装置,其中,所述装置还包括:
获取单元,被配置成每隔预设时间间隔获取当前存储网关地址列表和对应的列表标识;
更新确定单元,被配置成根据当前存储网关地址列表的列表标识,确定是否更新所述存储网关地址列表。
14.根据权利要求8所述的装置,其中,所述地址确定单元进一步被配置成:
将所述存储网关地址列表中的存储网关地址保存到双向循环链表;
从所述双向循环链表中确定存储网关地址作为起始存储网关地址;
基于所述双向循环链表和所述初始存储网关地址,确定待用存储网关地址。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
17.一种计算机程序系统,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691642.6A CN111835857B (zh) | 2020-07-17 | 2020-07-17 | 用于访问数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691642.6A CN111835857B (zh) | 2020-07-17 | 2020-07-17 | 用于访问数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835857A CN111835857A (zh) | 2020-10-27 |
CN111835857B true CN111835857B (zh) | 2022-09-16 |
Family
ID=72924348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010691642.6A Active CN111835857B (zh) | 2020-07-17 | 2020-07-17 | 用于访问数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835857B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821162B (zh) * | 2021-02-24 | 2024-08-16 | 北京沃东天骏信息技术有限公司 | 存储对象操作方法及装置 |
CN115714633A (zh) * | 2021-08-19 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 一种网络请求处理方法、装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1609293A1 (en) * | 2003-03-28 | 2005-12-28 | Cisco Technology, Inc. | Network address translation with gateway load distribution |
EP2571260A1 (en) * | 2010-09-06 | 2013-03-20 | Huawei Device Co., Ltd. | Method, apparatus, and system for video conference application |
CN103703745A (zh) * | 2011-07-18 | 2014-04-02 | 阿尔卡特朗讯 | 用于将用户代理与服务器集群互连的方法和设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002001462A2 (en) * | 2000-06-28 | 2002-01-03 | Patentek, Inc. | Method and system of securely collecting, storing, and transmitting information |
CN101651588A (zh) * | 2008-08-12 | 2010-02-17 | 华为技术有限公司 | 选择网关方法、连接建立方法及相关装置和通信系统 |
CN102025593B (zh) * | 2009-09-21 | 2013-04-24 | 中国移动通信集团公司 | 分布式用户接入系统及方法 |
CN101902400A (zh) * | 2010-07-21 | 2010-12-01 | 成都市华为赛门铁克科技有限公司 | 网关负载均衡方法、系统和客户端设备 |
CN102469553B (zh) * | 2010-11-19 | 2016-06-08 | 中兴通讯股份有限公司 | 一种无线传感器网络的接入方法及系统 |
US9756086B1 (en) * | 2013-03-04 | 2017-09-05 | Amazon Technologies, Inc. | Distributed connection management |
CN106549780B (zh) * | 2015-09-18 | 2020-05-08 | 华为技术有限公司 | 一种网络配置方法、装置及系统 |
CN107026876B (zh) * | 2016-01-29 | 2019-07-19 | 杭州海康威视数字技术股份有限公司 | 一种文件数据访问系统及方法 |
CN107846428A (zh) * | 2016-09-18 | 2018-03-27 | 中兴通讯股份有限公司 | 文件存储管理方法、终端、业务平台及管理机顶盒 |
CN106899710B (zh) * | 2017-04-26 | 2020-11-13 | 优刻得科技股份有限公司 | Ip地址转换方法、ip地址转换装置以及网关系统 |
CN110198226A (zh) * | 2018-03-28 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种负载均衡集群中访问请求处理方法、系统和可读介质 |
CN108833505B (zh) * | 2018-05-31 | 2022-07-15 | 康键信息技术(深圳)有限公司 | 数据请求处理方法、服务器及存储介质 |
CN110011909A (zh) * | 2019-02-28 | 2019-07-12 | 北京龙腾融智信息技术有限公司 | 存储网关及存储网关数据发送、接收方法和装置 |
CN110233875A (zh) * | 2019-05-10 | 2019-09-13 | 厦门网宿有限公司 | 一种数据处理方法、对象存储网关池及业务系统 |
CN110049496A (zh) * | 2019-05-31 | 2019-07-23 | 维沃移动通信有限公司 | 一种网络接入方法及移动终端 |
-
2020
- 2020-07-17 CN CN202010691642.6A patent/CN111835857B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1609293A1 (en) * | 2003-03-28 | 2005-12-28 | Cisco Technology, Inc. | Network address translation with gateway load distribution |
EP2571260A1 (en) * | 2010-09-06 | 2013-03-20 | Huawei Device Co., Ltd. | Method, apparatus, and system for video conference application |
CN103703745A (zh) * | 2011-07-18 | 2014-04-02 | 阿尔卡特朗讯 | 用于将用户代理与服务器集群互连的方法和设备 |
Non-Patent Citations (2)
Title |
---|
Ceph RadosGW对象存储集群的部署与优化;陈阳;《现代计算机》;20200515;全文 * |
Wireless Sensor Networks Formation:Approaches and Techniques;Miriam Carlos-Mancilla;《Journal of Sensors》;20160303;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111835857A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11656928B2 (en) | Detecting datacenter mass outage with near real-time/offline using ml models | |
JP7132999B2 (ja) | アプリケーションの動作状態を検証する方法および装置 | |
CN111770161B (zh) | https的嗅探跳转方法和装置 | |
CN110659184B (zh) | 健康状态检查方法、装置及系统 | |
CN111625195A (zh) | 用于服务器扩容的方法及装置 | |
US20230205657A1 (en) | Techniques for automated service monitoring and remediation in a distributed computing system | |
EP3566141B1 (en) | Integrated application issue detection and correction control | |
CN111835857B (zh) | 用于访问数据的方法和装置 | |
US10404635B2 (en) | Optimizing data replication across multiple data centers | |
CN111770176B (zh) | 流量调度方法及装置 | |
CN112069137B (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
CN110536283A (zh) | 终端标识获取方法、装置、电子设备和介质 | |
CN112565225B (zh) | 用于数据发送的方法、装置、电子设备及可读存储介质 | |
CN110750313B (zh) | 一种中间件的热加载方法、装置、电子设备及存储介质 | |
CN110968856B (zh) | 登录方法、装置、电子设备和存储介质 | |
US20220138220A1 (en) | Dedicated replication channels for replicating records between regions | |
CN110650215A (zh) | 边缘网络的函数执行方法及装置 | |
CN114449040B (zh) | 基于云平台的配置下发方法及装置 | |
CN112752323B (zh) | 热点接入状态的改变方法和装置 | |
WO2022142716A1 (zh) | 关于无线热点的信息处理方法和装置 | |
CN113765985B (zh) | 用于同步消息的方法和装置 | |
CN115695288A (zh) | 一种登录控制方法、装置、电子设备及存储介质 | |
CN103067365A (zh) | 一种用于虚拟桌面接入的机顶盒、客户端、系统及方法 | |
CN111597026A (zh) | 用于获取信息的方法及装置 | |
CN112118576A (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 |