CN107707631B - 数据获取方法及装置 - Google Patents
数据获取方法及装置 Download PDFInfo
- Publication number
- CN107707631B CN107707631B CN201710842323.9A CN201710842323A CN107707631B CN 107707631 B CN107707631 B CN 107707631B CN 201710842323 A CN201710842323 A CN 201710842323A CN 107707631 B CN107707631 B CN 107707631B
- Authority
- CN
- China
- Prior art keywords
- virtual node
- data acquisition
- data
- request
- hash
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/131—Protocols for games, networked simulations or virtual reality
-
- 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/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种数据获取方法及装置。其中,方法包括:对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果;基于所述哈希计算结果,在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点;若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。本发明实施例能够提高客户端的数据获取成功率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据获取方法及装置。
背景技术
面对海量用户的数据访问,若同一数据在每次被访问时,数据处理服务器都需要对其进行数据处理,再将处理后的数据反馈给用户,这势必会增加数据处理服务器的处理负担。
现有技术中,通过缓存服务器来缓存用户请求过的已处理数据,这样,当后续有其他用户对同样的数据进行请求时,就可直接从缓存服务器的缓存中获取,无需数据处理服务器再次进行数据处理,减小了数据处理服务器的数据处理负担。但是,在现有技术中,由于缓存服务器的存在,客户端需将数据获取请求直接发送给一缓存服务器,若该缓存服务器为故障服务器,则无法响应客户端的数据获取请求,最终导致客户端的请求失败,影响用户体验。
发明内容
本发明提供一种数据获取方法及装置,目的在于提高客户端的数据获取成功率。
为了解决上述技术问题,本发明提供了一种数据获取方法,该方法包括:对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果;基于所述哈希计算结果,在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点;若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。
可选地,所述处于所述目标虚拟节点下游的另一虚拟节点为所述哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点。
可选地,当所述目标虚拟节点出现故障时,将所述目标虚拟节点状态信息标记为不可用;相应的,在所述基于哈希计算结果,确定哈希环上的目标虚拟节点的步骤之后,还包括:获取所述目标虚拟节点的状态信息;根据所述状态信息,判断所述目标虚拟节点能否响应所述数据获取请求。
可选地,所述数据获取请求中携带的数据信息包括统一资源定位符URL;相应的,所述根据用户的数据获取请求进行哈希计算,以得到哈希计算结果,包括:对所述URL进行哈希计算,以得到哈希值。
可选地,该方法,还包括:若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求;所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据。
为了解决上述技术问题,本发明提供了一种数据获取装置,该装置包括:计算模块,用于对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果;确定模块,用于基于所述哈希计算结果,在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点;发送模块,用于若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。
本发明实施例提供的技术方案,将多个缓存服务器通过哈希计算散列到哈希环上以形成多个虚拟节点,对客户端发送的数据获取请求中携带的数据信息进行哈希计算以确定出目标虚拟节点,以由目标虚拟节点来响应数据获取请求。若目标虚拟节点因宕机等问题导致无法响应数据获取请求,则将获取请求发送至哈希环上处于目标虚拟节点下游的另一虚拟节点,由另一虚拟节点来处理数据获取请求。可见,本发明实施例提供的技术方案中增加了失败重试机制,即在一虚拟节点无法响应数据获取请求时,还可由另一虚拟节点来响应,有效提高客户端的数据获取成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据获取方法的流程示意图;
图2为本发明又一实施例提供的数据获取方法的流程示意图;
图3为本发明一实施例提供的数据获取装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于监测”。类似地,取决于语境,短语“如果确定”或“如果监测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当监测(陈述的条件或事件)时”或“响应于监测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
图1为本发明一实施例提供的数据获取方法的流程示意图。如图1所示,该方法包括:
101、对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果。
102、基于所述哈希计算结果,在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点。
103、若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。
在实际应用中,可将某一哈希函数的整个值空间组织成一个哈希环,再通过哈希计算,将多台缓存服务器分布到哈希环的不同位置处。通常,是将每一台缓存服务器通过哈希计算对应到哈希环上的一个位置或多个位置,形成一个或多个虚拟节点。例如:某个哈希函数的值空间为0~(232-1),存在5台缓存服务器,通过哈希计算将每台缓存服务器虚拟出1024个虚拟节点,这样,哈希环上就存在有5120个虚拟节点。
需要说明的是,可通过对缓存服务器的IP地址进行哈希计算确定出缓存服务器在哈希环上的位置。若将一个缓存服务器虚拟成哈希环上的一个点,则直接对该缓存服务器的IP地址进行哈希计算,以得到一个虚拟节点的位置;若将一台缓存服务器虚拟出多个虚拟节点,则在进行哈希计算时,需要在该缓存服务器的IP地址上加数字后缀,再进行哈希计算以得到多个虚拟节点的位置。例如:缓存服务器A的IP地址为107.13.161.214,将缓存服务器A虚拟出两个虚拟节点Node1和Node2,通过对107.13.161.214#1进行哈希计算得到虚拟节点Node1在哈希环上的位置,通过对107.13.161.214#2进行哈希计算得到虚拟节点Node2在哈希环上的位置。
在上述步骤101中,当用户欲在某一网站上请求访问某一数据,例如:图片、文档、视频等,客户端响应于用户对所述数据的链接或图标的点击操作,生成相应的数据获取请求并发送至服务端。数据获取请求中携带有所述数据的数据信息,其中,数据信息中包括名称、唯一标识符、数据大小等,所述唯一标识符可以为统一资源定位符(Uniform ResourceLocator,URL)。
在服务端接收到客户端发送的数据获取请求后,对数据获取请求中的数据信息进行哈希计算,得到数据获取请求对应的哈希值,可对数据获取请求中的唯一标识符进行哈希计算,得到相应的哈希值。例如:对数据获取请求中的URL进行哈希计算,以得到哈希值。
在上述步骤102中,根据哈希计算得到的哈希值,可确定出哈希值在哈希环上所处位置,将哈希环上的所述哈希值对应的位置沿顺时针方向上的第一个虚拟节点确定为处理所述数据获取请求的目标虚拟节点。
在上述步骤103中,在确定出目标虚拟节点后,服务端将客户端发送的数据获取请求发送至目标虚拟节点上以由目标虚拟节点来响应所述数据获取请求。若目标虚拟节点能够响应数据获取请求,目标虚拟节点根据数据获取请求中携带的数据信息从本地缓存中查找是否缓存有与数据信息相对应的请求内容,若查找到,目标虚拟节点则将请求内容返回给客户端;若未查找到,目标虚拟节点则将数据获取请求转发给数据处理服务器,数据处理服务器对相应的请求内容进行处理后返回给目标虚拟节点,目标虚拟节点将数据处理服务器返回的已处理请求内容发送给客户端,同时将数据处理服务器返回的已处理请求内容缓存在本地缓存中。
若目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至哈希环上处于所述目标虚拟节点下游的另一虚拟节点,这样,可由另一虚拟节点来处理所述数据获取请求。若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地查询到相应的请求内容,则将所述请求内容返回给客户端;若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求;所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据;所述另一虚拟节点将所述已处理数据返回给客户端,并在本地缓存所述已处理数据。例如:客户端发送的是图片获取请求,数据处理服务器则需要对客户端请求的图片进行一系列处理,例如:对图片进行格式修改、明暗度修改等。
需要说明的是,若是将每一台缓存服务器虚拟成哈希环上的一个虚拟节点,也就是说,哈希环上的每一个虚拟节点都对应于不同的缓存服务器,当目标虚拟节点无法响应数据获取请求时,则可选取哈希环上目标虚拟节点下游的任一虚拟节点作为另一虚拟节点。若是将每一台缓存服务器虚拟成哈希环上的多个虚拟节点,若目标虚拟节点无法响应数据获取请求,则说明该目标虚拟节点对应的缓存服务器出现了运行故障(例如:宕机)等问题,因此,哈希环上该目标虚拟节点对应的缓存服务器对应的多个虚拟节点均无法响应数据获取请求。因此,另一虚拟节点和目标虚拟节点需对应于不同的缓存服务器。由于哈希算法可保证每台缓存服务器对应的多个虚拟节点均匀分布在哈希环上,避免了哈希环上相邻两个虚拟节点属于同一缓存服务器。因此,可将哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点作为所述另一虚拟节点,即所述处于所述目标虚拟节点下游的另一虚拟节点为所述哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点。
需要说明的是,若哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点无法响应所述数据获取请求,则继续沿顺时针方向寻找下一虚拟节点直至找到能响应所述数据获取请求的虚拟节点为止。
本发明实施例提供的技术方案,将多个缓存服务器通过哈希计算散列到哈希环上以形成多个虚拟节点,对客户端发送的数据获取请求中携带的数据信息进行哈希计算以确定出目标虚拟节点,以由目标虚拟节点来响应数据获取请求。若目标虚拟节点因宕机等问题导致无法响应数据获取请求,则将获取请求发送至哈希环上处于目标虚拟节点下游的另一虚拟节点,由另一虚拟节点来处理数据获取请求。可见,本发明实施例提供的技术方案中增加了失败重试机制,即在一虚拟节点无法响应数据获取请求时,还可由另一虚拟节点来响应,有效提高客户端的数据获取成功率。
此外,在现有技术中,为了避免出现故障的虚拟节点因无法响应客户端的数据获取请求导致请求失败,需要及时地将出现故障的虚拟节点从哈希环上进行手动摘除以避免将数据获取请求发送至出现故障的虚拟节点上。在而在本发明中,若某一虚拟节点出现故障,就算没有及时地将出现故障的虚拟节点从哈希环上摘除掉也不会因该虚拟节点的故障导致数据获取失败。
图2为本发明又一实施例提供的数据获取方法的流程示意图。如图2所示,该方法包括:
201、对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果。
202、基于所述哈希计算结果,在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点。
203、获取所述目标虚拟节点的状态信息。
204、根据所述状态信息,判断所述目标虚拟节点能否响应所述数据获取请求。
205、若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。
在本实施例中,对哈希环上的虚拟节点的运行状态进行监测,例如:每个预设时间间隔检测哈希环上的虚拟节点对应的缓存服务器的运行状态,若检测到缓存服务器出现运行故障,则将哈希环上所述缓存服务器对应的一个或多个虚拟节点状态信息标记为不可用。或者,在某一虚拟节点出现故障时,将所述虚拟节点状态信息标记为不可用,当所述目标虚拟节点出现故障时,将所述目标虚拟节点状态信息标记为不可用。
上述步骤201、202及205可参见上述实施例中相应内容,在此不再赘述。
上述步骤203和204中,在确定出目标虚拟节点后,获取目标虚拟节点的状态信息,若状态信息表明该目标虚拟节点为可用状态,则将数据获取请求发送给目标虚拟节点;若状态信息表明该目标虚拟节点为不可用状态,则将数据获取请求发送给所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。
在实际应用中,若状态信息表明该目标虚拟节点为不可用状态,则获取所述哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点的状态信息;若所述下一虚拟节点的状态信息为可用状态,则将数据获取请求发送给所述下一虚拟节点;若所述下一虚拟节点的状态信息为不可用状态,则继续获取所述哈希环上所述下一虚拟节点沿顺时针方向的下一虚拟节点,直至找到能响应所述数据获取请求的虚拟节点为止。
在本实施例中,在检测到虚拟节点出现运行故障时,会自动将出现故障的虚拟节点标记为不可用,避免了手动拆除导致的维护成本高以及延时长等问题。
图3为本发明一实施例提供的数据获取装置的结构框图。如图3所示,该装置包括:计算模块301、确定模块302及发送模块303。其中,
计算模块301,用于对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果。
确定模块302,用于基于所述哈希计算结果,在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点。
发送模块303,用于若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求。
可选地,所述处于所述目标虚拟节点下游的另一虚拟节点为所述哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点。
可选地,所述装置,还包括:
标记模块,用于当所述目标虚拟节点出现故障时,将所述目标虚拟节点状态信息标记为不可用。
获取模块,用于获取所述目标虚拟节点的状态信息。
判断模块,用于根据所述状态信息,判断所述目标虚拟节点能否响应所述数据获取请求。
可选地,所述数据获取请求中携带的数据信息包括统一资源定位符URL;
所述计算模块301具体用于:对所述URL进行哈希计算,以得到哈希值。
可选地,所述装置,还包括:
发送模块,用于若所述另一虚拟节点接收到所述数据获取请求后,并根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求。
缓存模块,用于所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据。
所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。
本发明实施例提供的技术方案,将多个缓存服务器通过哈希计算散列到哈希环上以形成多个虚拟节点,对客户端发送的数据获取请求中携带的数据信息进行哈希计算以确定出目标虚拟节点,以由目标虚拟节点来响应数据获取请求。若目标虚拟节点因宕机等问题导致无法响应数据获取请求,则将获取请求发送至哈希环上处于目标虚拟节点下游的另一虚拟节点,由另一虚拟节点来处理数据获取请求。可见,本发明实施例提供的技术方案中增加了失败重试机制,即在一虚拟节点无法响应数据获取请求时,还可由另一虚拟节点来响应,有效提高客户端的数据获取成功率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据获取方法,其特征在于,包括:
对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果,用于进行哈希计算的哈希函数的整个值空间组织成一个哈希环;
基于所述哈希计算结果,确定出哈希值在哈希环上所处位置,将哈希环上的所述哈希值对应的位置沿顺时针方向上的第一个虚拟节点确定为处理所述数据获取请求的目标虚拟节点,进而在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点,以便于将多台缓存服务器中的每一台缓存服务器通过哈希计算对应到哈希环上的一个位置或多个位置,形成一个或多个虚拟节点;
若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求,若未查找到,目标虚拟节点则将数据获取请求转发给数据处理服务器,数据处理服务器对相应的请求内容进行处理后返回给目标虚拟节点,目标虚拟节点将数据处理服务器返回的已处理请求内容发送给客户端,同时将数据处理服务器返回的已处理请求内容缓存在本地缓存中,若目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至哈希环上处于所述目标虚拟节点下游的另一虚拟节点,若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地查询到相应的请求内容,则将所述请求内容返回给客户端;若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求;所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据;所述另一虚拟节点将所述已处理数据返回给客户端,并在本地缓存所述已处理数据。
2.根据权利要求1所述的方法,其特征在于,所述处于所述目标虚拟节点下游的另一虚拟节点为所述哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标虚拟节点出现故障时,将所述目标虚拟节点状态信息标记为不可用;
相应的,在所述基于哈希计算结果,确定哈希环上的目标虚拟节点的步骤之后,还包括:
获取所述目标虚拟节点的状态信息;
根据所述状态信息,判断所述目标虚拟节点能否响应所述数据获取请求。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述数据获取请求中携带的数据信息包括统一资源定位符URL;
相应的,所述根据用户的数据获取请求进行哈希计算,以得到哈希计算结果,包括:对所述URL进行哈希计算,以得到哈希值。
5.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求;
所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据。
6.一种数据获取装置,其特征在于,包括:
计算模块,用于对客户端发送的数据获取请求中携带的数据信息进行哈希计算,以得到哈希计算结果,用于进行哈希计算的哈希函数的整个值空间组织成一个哈希环;
确定模块,用于基于所述哈希计算结果,确定出哈希值在哈希环上所处位置,将哈希环上的所述哈希值对应的位置沿顺时针方向上的第一个虚拟节点确定为处理所述数据获取请求的目标虚拟节点,进而在包含有至少两个虚拟节点的哈希环上确定目标虚拟节点,以便于将多台缓存服务器中的每一台缓存服务器通过哈希计算对应到哈希环上的一个位置或多个位置,形成一个或多个虚拟节点;
发送模块,用于若所述目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至所述哈希环上处于所述目标虚拟节点下游的另一虚拟节点,以由处于所述目标虚拟节点下游的另一虚拟节点处理所述数据获取请求,若未查找到,目标虚拟节点则将数据获取请求转发给数据处理服务器,数据处理服务器对相应的请求内容进行处理后返回给目标虚拟节点,目标虚拟节点将数据处理服务器返回的已处理请求内容发送给客户端,同时将数据处理服务器返回的已处理请求内容缓存在本地缓存中,若目标虚拟节点无法响应所述数据获取请求,则将所述数据获取请求发送至哈希环上处于所述目标虚拟节点下游的另一虚拟节点,若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地查询到相应的请求内容,则将所述请求内容返回给客户端;若所述另一虚拟节点接收到所述数据获取请求后,根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求;所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据;所述另一虚拟节点将所述已处理数据返回给客户端,并在本地缓存所述已处理数据。
7.根据权利要求6所述的装置,其特征在于,所述处于所述目标虚拟节点下游的另一虚拟节点为所述哈希环上所述目标虚拟节点沿顺时针方向的下一虚拟节点。
8.根据权利要求6所述的装置,其特征在于,还包括:
标记模块,用于当所述目标虚拟节点出现故障时,将所述目标虚拟节点状态信息标记为不可用;
获取模块,用于获取所述目标虚拟节点的状态信息;
判断模块,用于根据所述状态信息,判断所述目标虚拟节点能否响应所述数据获取请求。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述数据获取请求中携带的数据信息包括统一资源定位符URL;
所述计算模块具体用于:对所述URL进行哈希计算,以得到哈希值。
10.根据权利要求6-8中任一项所述的装置,其特征在于,还包括:
发送模块,用于若所述另一虚拟节点接收到所述数据获取请求后,并根据所述数据获取请求中携带的所述数据信息在本地未查询到相应的请求内容,则由所述另一虚拟节点向处理服务器发送处理请求;
缓存模块,用于所述另一虚拟节点在本地缓存接收自所述处理服务器响应于所述处理请求返回的已处理数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710842323.9A CN107707631B (zh) | 2017-09-18 | 2017-09-18 | 数据获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710842323.9A CN107707631B (zh) | 2017-09-18 | 2017-09-18 | 数据获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107707631A CN107707631A (zh) | 2018-02-16 |
CN107707631B true CN107707631B (zh) | 2021-04-27 |
Family
ID=61172903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710842323.9A Active CN107707631B (zh) | 2017-09-18 | 2017-09-18 | 数据获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107707631B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519954A (zh) * | 2018-03-23 | 2018-09-11 | 北京焦点新干线信息技术有限公司 | 一种集中管理缓存的方法及装置 |
CN109951543A (zh) * | 2019-03-14 | 2019-06-28 | 网宿科技股份有限公司 | 一种cdn节点的数据查找方法、装置及网络设备 |
CN110493315B (zh) * | 2019-07-19 | 2022-06-14 | 视联动力信息技术股份有限公司 | 一种视频通信链路的调用方法和装置 |
CN111522883B (zh) * | 2020-04-28 | 2023-04-28 | 杭州海康威视系统技术有限公司 | 对象数据的备份方法、装置、设备及存储介质 |
CN112132683A (zh) * | 2020-09-18 | 2020-12-25 | 泰康保险集团股份有限公司 | 指令下发的方法、装置、电子设备和存储介质 |
WO2023020085A1 (zh) * | 2021-08-20 | 2023-02-23 | 上海哔哩哔哩科技有限公司 | 基于多级缓存的数据处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2689570A1 (en) * | 2011-03-21 | 2014-01-29 | Thomson Licensing | Anonymous and unlinkable distributed communication and data sharing system |
CN106559448A (zh) * | 2015-09-28 | 2017-04-05 | 北京国双科技有限公司 | 服务器负载均衡方法和装置 |
CN106662983A (zh) * | 2015-12-31 | 2017-05-10 | 华为技术有限公司 | 分布式存储系统中的数据重建的方法、装置和系统 |
-
2017
- 2017-09-18 CN CN201710842323.9A patent/CN107707631B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2689570A1 (en) * | 2011-03-21 | 2014-01-29 | Thomson Licensing | Anonymous and unlinkable distributed communication and data sharing system |
CN106559448A (zh) * | 2015-09-28 | 2017-04-05 | 北京国双科技有限公司 | 服务器负载均衡方法和装置 |
CN106662983A (zh) * | 2015-12-31 | 2017-05-10 | 华为技术有限公司 | 分布式存储系统中的数据重建的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107707631A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107707631B (zh) | 数据获取方法及装置 | |
US10097566B1 (en) | Identifying targets of network attacks | |
US9588854B2 (en) | Systems and methods for a secondary website with mirrored content for automatic failover | |
CN106888270B (zh) | 回源选路调度的方法和系统 | |
CN107528862B (zh) | 域名解析的方法及装置 | |
US9215242B2 (en) | Methods and systems for preventing unauthorized acquisition of user information | |
US9648033B2 (en) | System for detecting the presence of rogue domain name service providers through passive monitoring | |
EP2985705A2 (en) | Webpage access method and apparatus, and router | |
CN113472852B (zh) | 一种cdn节点的回源方法、装置、设备以及存储介质 | |
US10735528B1 (en) | Geographic relocation of content source in a content delivery network | |
CN104980478A (zh) | 内容分发网络中缓存共享方法、设备及系统 | |
US10445167B1 (en) | Automated method and system for diagnosing load performance issues | |
CN112256495A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN108259603B (zh) | 一种负载均衡方法及装置 | |
CN111800458A (zh) | 一种Kubernetes容器云平台的动态负载均衡方法及系统 | |
CN108156013A (zh) | 一种页面服务容灾方法、装置及电子设备 | |
CN113676563B (zh) | 内容分发网络服务的调度方法、装置、设备及存储介质 | |
WO2019205247A1 (zh) | BGP Anycast集群服务质量探测方法和探测设备 | |
CN111064802B (zh) | 一种网络请求的处理方法、装置、电子设备及存储介质 | |
CN108337100B (zh) | 一种云平台监测的方法和装置 | |
CN113660168B (zh) | 一种多中心研究数据的处理方法、装置和服务器 | |
CN110943876B (zh) | Url状态检测方法、装置、设备和系统 | |
CN109347766B (zh) | 一种资源调度的方法及装置 | |
CN115277080B (zh) | 基于默克尔树的内容分发网络缓存污染防御方法 | |
CN109495602B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210309 Address after: 101300 309, 3rd floor, 60 Fuqian 1st Street, Tianzhu District, Shunyi District, Beijing Applicant after: Beijing longzhixin Technology Co.,Ltd. Address before: 100041 room 120, 4th floor, building 17, yard 30, Shixing street, Shijingshan District, Beijing Applicant before: BEIJING PANDA MUTUAL ENTERTAINMENT TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |