CN112929459A - 一种边缘***及数据操作请求的处理方法 - Google Patents
一种边缘***及数据操作请求的处理方法 Download PDFInfo
- Publication number
- CN112929459A CN112929459A CN202011417936.6A CN202011417936A CN112929459A CN 112929459 A CN112929459 A CN 112929459A CN 202011417936 A CN202011417936 A CN 202011417936A CN 112929459 A CN112929459 A CN 112929459A
- Authority
- CN
- China
- Prior art keywords
- site
- target
- level circle
- level
- circle layer
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 101100339496 Caenorhabditis elegans hop-1 gene Proteins 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/457—Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种边缘***,该边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域,也即第二级圈层内部署了多个第一级圈层。每个第一级圈层中有多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一站点同时包括于所述第二级圈层。该边缘***实现了更安全和高效的数据处理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种边缘***以及其执行的数据操作请求的处理方法。
背景技术
随着移动通信技术的进步,低时延且计算密集的业务越来越多,例如,虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、车联网。为了降低这类业务对客户端算力的需求,向客户端提供低时延甚至超低时延的服务,云服务提供商将站点(site)部署在靠近用户的边缘。这些站点的地理位置可能高度离散,每个站点内的服务器集群规模一般不大,但是站点个数的规模可以比较大,站点之间的网络往往无专线保障。
为了管理这些高度离散的站点,一种方式是采用传统的中心式管理架构,如图1所示。该架构中,站点安装部署启动后,需要向中心管理站点注册站点信息,并要求站点定时向中心管理站点确定连接存活。中心管理站点需要部署数据库服务,用于管理各站点的主机资源、租户资源等信息。由于这些信息存储在中心管理站点,站点上运行的云服务所需的资源的发放、管理、查询都需要操作这些信息。
中心式管理架构的弊端在于:扇出(fan out)巨大的中心辐射状拓扑结构会存在站点管理规模受限、低时延用户请求不满足等问题。随着站点数量的增大、站点地理离散性的进一步扩大,中心式管理架构会成为管理的瓶颈。
发明内容
本申请提供了一种边缘***,该边缘***通过多圈层的站点设计,实现了移动数据跟随,提升了数据操作请求的处理效率以及数据安全。
第一方面提供了一种边缘***,所述边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域。每个第一级圈层包括多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一初始站点同时包括于所述第二级圈层。所述初始站点,由于同时存储在于某一第一级圈层和第二级圈层,用于在包括所述初始站点的第一级圈层和所述第二圈层内处理所述数据操作请求。
以上提供的边缘***,设计了多级圈层的站点,并且多级圈层之间有站点交汇,这些交汇的站点可以在各圈层内实现数据的操作,保证了数据在不同第一级圈层间移动的情况下,仍然可以保证数据安全、可靠以及数据访问的效率。
一种可能的实现方式中,所述数据操作请求为写请求的情况下;所述初始站点,用于在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据对应的目标站点,将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点;在所述第二级圈层内寻址所述目标数据对应的目标站点,将所述目标数据发送至所述第二级圈层的目标站点。包括所述初始站点的第一级圈层的目标站点,用于存储所述目标数据。所述第二级圈层的目标站点,用于存储所述目标数据。
写请求的情况下,初始站点在第一级圈层和第二级圈层均写入了目标数据,使得客户端后续在同一第一级圈层访问目标数据的情况下,可以高效的在该第一级圈层的站点内获取目标数据。同时,在客户端移动到其他第一级圈层后访问目标数据的情况下,由于原第一级圈层和移动后的第一级圈层同属于一个第二级圈层,可以通过第二级圈层内存储的目标数据为客户端提供服务,保证了客户端访问数据的安全性和可靠性。
一种可能的实现方式中,包括所述初始站点的第一级圈层的目标站点,还用于在包括所述初始站点的第一级圈层的其他站点上创建或更新所述目标数据的副本。
一种可能的实现方式中,所述第二级圈层的目标站点,还用于在所述第二级圈层的其他站点上创建或更新所述目标数据的副本。
通过在各级圈层内实现目标数据的副本,提升了目标数据的安全性。
一种可能的实现方式中,所述数据操作请求为读请求的情况下;所述初始站点,用于在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据的键key对应的目标站点;包括所述初始站点的第一级圈层的目标站点,用于确定所述目标数据是否存储于包括所述初始站点的第一级圈层的目标站点本地,如果所述目标数据存储于包括所述初始站点的第一级圈层的目标站点本地,将所述目标数据发送至所述客户端,如果所述目标数据未存储于包括所述初始站点的第一级圈层的目标站点本地,在所述第二级圈层内寻址所述目标数据的key对应的目标站点;所述第二级圈层的目标站点,用于确定所述目标数据存储于所述第二级圈层的目标站点本地,将所述目标数据发送至所述客户端。
读请求的情况下,如前文所述,首先尝试在距离客户端较近的第一级圈层内寻找目标数据,如果无法找到的情况下,在第二级圈层内寻找目标数据,实现了数据操作的效率和安全的兼顾。
一种可能的实现方式中,所述第二级圈层的目标站点,还用于将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点。
将目标数据发送至包括所述初始站点的第一级圈层的目标站点,使得该目标数据后续在包括所述初始站点的第一级圈层内被访问时,可以直接在包括所述初始站点的第一级圈层内寻找到,提升了工作效率。
第二方面提供了一种数据操作请求的处理方法,该数据操作请求为写请求,所述数据操作请求的处理方法应用于边缘***,所述边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域,每个第一级圈层包括多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一初始站点同时包括于所述第二级圈层;所述初始站点在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据对应的目标站点;所述初始站点将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点;包括所述初始站点的第一级圈层的目标站点存储所述目标数据;所述初始站点在所述第二级圈层内寻址所述目标数据对应的目标站点,将所述目标数据发送至所述第二级圈层的目标站点;所述第二级圈层的目标站点存储所述目标数据。
所述初始站点在包括所述初始站点的第一级圈层内寻址和所述初始站点在所述第二级圈层内寻址的动作可以并行执行。
一种可能的实现方式中,该方法还包括:包括所述初始站点的第一级圈层的目标站点在包括所述初始站点的第一级圈层的其他站点上创建或更新所述目标数据的副本。
一种可能的实现方式中,该方法还包括:所述第二级圈层的目标站点在所述第二级圈层的其他站点上创建或更新所述目标数据的副本。
第三方面提供了一种数据操作请求的处理方法,该数据操作请求为读请求,所述数据操作请求的处理方法应用于边缘***,所述边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域,每个第一级圈层,包括多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一初始站点同时包括于所述第二级圈层;所述初始站点在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据的键key对应的目标站点;包括所述初始站点的第一级圈层的目标站点确定所述目标数据是否存储于包括所述初始站点的第一级圈层的目标站点本地;如果所述目标数据存储于包括所述初始站点的第一级圈层的目标站点本地,将所述目标数据发送至所述客户端;如果所述目标数据未存储于包括所述初始站点的第一级圈层的目标站点本地,在所述第二级圈层内寻址所述目标数据的key对应的目标站点;所述第二级圈层的目标站点确定所述目标数据存储于所述第二级圈层的目标站点本地,将所述目标数据发送至所述客户端。
一种可能的实现方式中,该方法还包括:所述第二级圈层的目标站点将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点。
所述第二级圈层的目标站点将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点和所述第二级圈层的目标站点将所述目标数据发送至所述客户端的动作可以并行执行。
第四方面提供了一种非瞬态的可读存储介质,该非瞬态的可读存储介质中存储的指令被边缘的各站点***执行时,该***执行前述第三方面及其可能的实现方式或第四方面及其可能的实现方式提供的方法。该存储介质中存储了程序指令。该存储介质包括但不限于易失性存储设备,例如随机访问存储设备,和非易失性存储设备,例如快闪存储设备、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第五方面提供了一种计算机程序产品,该计算机程序产品包含的指令被边缘***执行时,该***执行前述第三方面及其可能的实现方式或第四方面及其可能的实现方式提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面及其可能的实现方式提供的方法的情况下,可以下载该计算机程序产品并在边缘***的各站点上执行该计算机程序产品包含的指令。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需要使用的附图作以简单地介绍。
图1为本申请提供的边缘***的结构示意图;
图2为本申请提供的另一边缘***的结构示意图;
图3为本申请提供的一种边缘站点的结构示意图;
图4为本申请提供的一种寻址算法的哈希环的结构示意图;
图5为本申请提供的另一种寻址算法的哈希环的结构示意图;
图6为本申请提供的另一种寻址算法的哈希环的结构示意图;
图7为本申请提供的一种数据操作请求的处理流程图;
图8为本申请提供的另一种数据操作请求的处理流程图;
图9为本申请提供的一种计算机的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方法进行描述。
如图2所示,本申请提供了一种边缘***。该边缘***包括多个站点。该边缘***中包括多级圈层,该边缘***中可以有一个或多个同级圈层,每个站点可以同时归属于多个不同级的圈层,每个站点不能同时归属于多个同级圈层。图2中仅示出了边缘***的一部分,其余可能存在的装置,例如边缘***的边缘网关被省略了。
圈层,一般而言,不同的圈层代表了不同的地理区域。高级圈层代表着更大的地理区域,低级圈层代表着更小的地理区域。同级的不同圈层代表着不同的同级地理区域。每个高级圈层代表的地理区域内包括至少一个低级圈层。例如,第三级圈层代表着一个国家,第二级圈层代表着一个省,第一级圈层代表着一个市。那么,第三级圈层代表的地理区域内包括了至少一个第二级圈层,而每个第二级圈层代表的地理区域内包括了至少一个第一级圈层。高级圈层内的站点归属于该高级圈层代表的地理区域内包括的某一低级圈层。例如,第三级圈层内的站点1归属于第三级圈层包括的某一第二级圈层,站点1也归属于第二级圈层包括的某一第一级圈层。图2中的站点13至站点19实际属于某一第一级圈层,第三级圈层包括的每个站点实际也属于某一第二圈层和第一圈层。每个圈层中的站点属于一个寻址域,例如哈希域,例如站点1至站点6属于一个第一级寻址域,站点7至站点12属于另一个第一级寻址域,站点1、站点13至站点19属于一个第二级寻址域,这部分会在后文中展开。
越高级的圈层内站点部署的物理区域越分散,因此向客户端提供服务的时延也越高,例如第三级圈层内站点响应客户端请求的时延为50毫秒,第二级圈层内站点响应客户端请求的时延为20毫秒,第一级圈层内站点响应客户端请求的时延为10毫秒。因此,边缘***会尽可能的用靠近客户端的低级圈层内的站点来响应客户端请求。
客户端,可以为硬件终端,例如电脑、手机,或者运行在硬件终端上的软件模块。客户端根据业务需求产生数据操作请求,例如读请求/写请求,将数据操作请求发送至边缘***以对边缘***内存储的数据进行操作。数据操作请求包括了目标数据的键key和操作符等信息,目标数据也即该数据操作请求的操作对象,key为目标数据的访问路径、访问地址等信息。
每个站点包括了至少一个运行单元,每个运行单元为一台物理计算机或一台虚拟机。每个站点包括的模块可以分布式的运行在该站点包括的各个运行单元上。当站点包括多个运行单元时,这多个运行单元可以分布式的存储每个目标数据,每个运行单元存储该目标数据的一部分(目标数据的分片)。这多个运行单元包括一个元数据服务器(metadataserver)在站点包括多个运行单元时,下文描述的站点实际是该元数据服务器。站点之间的通信网络和站点和客户端之间的通信网络可以是有线的通信网络,也可以是无线的通信网络,例如:第五代移动通信技术(5th-Generation,5G)***,长期演进(long termevolution,LTE)***、无线保真(wireless fidelity,WiFi)。
如图3所示,站点包括数据存储模块,用于实际存储数据,数据存储模块还存储了元数据,元数据记录了数据的key和数据的存储地址的对应关系。以数据存储模块采用对象存储为例,则元数据记录了数据的key和数据所在的桶的地址的对应关系。
站点还包括寻址模块,寻址模块用于在站点接收到数据操作请求后,根据数据操作请求在站点所在的圈层内寻址。站点属于多个圈层的时候,寻址模块包括多个圈层寻址模块,每个圈层寻址模块管理一个寻址域。低级圈层寻址模块无法在本圈层内寻址到目标数据所在的站点时,由高级圈层寻址模块继续在高级圈层内寻址。以图2中的站点1为例,站点1同时属于第一级圈层、第二级圈层、第三级圈层。因此,站点1接收到数据操作请求后,首先由第一级圈层寻址模块在第一级圈层内寻址,如果无法在第一级圈层内寻找到目标数据所在的站点,则由第二级圈层寻址模块在第二级圈层内寻址,如果仍旧无法在第二级圈层内寻找到目标数据所在的站点,则由第三级圈层寻址模块在第三级圈层内寻址。寻址模块采用的具体寻址算法将在后文中介绍。
站点还包括存储接口处理模块,用于接收数据操作请求,解析数据操作请求,将解析出的参数发送至所需的模块。
站点还包括副本放置策略配置模块,用于配置数据操作请求写入/修改的数据的副本放置策略。例如,同圈层内各副本间同步处理、同圈层内3个副本中2个副本同步处理1个副本异步处理、低级圈层和高级圈层的副本间异步处理等。
站点还包括寻址域配置模块,用于创建、修改(有站点加入时)各寻址域,也即对寻址域模块进行配置。
可选的,站点还可以运行有各类服务。例如,数据库服务,各类应用等。一种情况下,客户端访问边缘***的时候,可能把边缘***视为一个存储***,直接发送数据操作请求至边缘***的边缘网关,边缘网关将数据操作请求发送至某一站点的存储接口处理模块。这种情况下,站点可以不必运行各类服务。
在另一种情况下,站点上运行了服务,以数据库服务为例,客户端将边缘***视为数据库服务,客户端将数据库的服务调用请求发送至边缘网关,边缘网关将服务调用请求发送至某一站点上运行的数据库服务。数据库服务执行该数据库操作请求后,生成了该数据库操作请求对应的数据操作请求,将数据操作请求发送至存储接口处理模块。
在边缘***中,数据操作请求的目标数据可能存储于低级圈层的某一站点内,也可能存储于高级圈层的某一站点内,以下介绍该边缘***中的寻址算法(也即寻找目标数据所在的站点的方式)。
客户端生成的数据操作请求被发送至初始站点,初始站点内的寻址模块首先在该初始站点所在的最低级圈层的寻址域内寻址。具体的,寻址域内的寻址算法可以采用弹性路由表(flexible routing table),分布式哈希表(distributed hash table)等方式寻址。或者每个站点的寻址模块可以直接记录圈层内每个站点存储的数据的元数据,则初始站点的寻址模块可以直接搜索到目标数据所在的站点,这种情况也称之为全网格(fullmesh)。全网格情况下,由于寻址模块需要记录大量元数据,占用了大量的存储空间。同时,当任一站点存储的目标数据被修改的情况下,各站点的寻址模块的元数据都需要被同步修改,造成了比较大的通信消耗,因此全网格适用于规模较小的圈层。当圈层规模较大,圈层内站点数量较多的情况下,可以使用分布式哈希表的方式来寻址,或者进一步的,采用弹性路由表的方式来寻址。
以下以分布式哈希表为例,介绍一个圈层的寻址域内的寻址算法。首先,该圈层内存储的每条数据被表示成一个KV(key,value)对,value为存储该数据的站点的IP地址(或站点的其他描述信息)。这些KV对构成了该圈层内存储的数据的索引表。按照特定的规则把索引表拆分后分布到圈层中的各个站点上,使得每个站点负责维护其中的部分的索引表。然后,通过在站点间不断转发数据操作请求,不断逼近目标数据所在的站点。
以Chord算法为例介绍分布式哈希表的一种实现方式。Chord通过把站点和key映射到相同的空间而保证一致性哈希。首先采用哈希函数产生一个2m的空间(2m不小于最大的NID),空间内的整数首尾相连形成一个环,称之为Chord环。Chord环上的每个点称为标志符。如果某个站点被映射到了某个标志符,则称该标志符为节点。按Chord环上顺时针方向,位于一节点前面的称为该节点的前继(predecessor)节点,位于一节点后面的该节点的称为后继(successor)节点。第一个前继节点称之为直接前继节点,第一个后继节点称之为直接后继节点。站点被哈希到Chord环上之后可以获得节点标识(NID,node identifier),NID由站点的IP地址通过哈希运算得到,key被哈希到Chord环上之后可以获得键标识(keyidentifier,KID),KID由key通过哈希运算得到。NID由小至大顺时针放在Chord环上。每个KID对应的数据被分配到NID≥KID的站点上存储。如图4所示,针对m=6的Chord环,有10个NID,5个KID,其中,KID 10对应的数据被分配到NID 14上存储,KID 24和KID 30对应的数据被分配到NID 32上存储,KID 38对应的数据被分配到NID 38上存储,KID 54对应的数据被分配到NID 56上存储。
每个NID上都维护了最多有m项的路由表(也称之为finger table)用来寻址。一个NID的路由表至少包含到该NID+2(m-1)的位置。基于图4所示的示例,参见图5,图5中简化的将KID记为K,NID记为N。N8路由表的左边一栏包含了N8+1到N8+32的位置,右边一栏为每个位置对应的实际存在的站点。比如第一行(即N8+1与N14之间的对应关系)表示在N8后的第一个位置上的数据由N14来负责,第二行(即N8+2与N14之间的对应关系)表示N8后的第二个位置上的数据由N14来负责,其他行的含义类似。因此,每个节点的路由表只包含一小部分节点的信息。每个节点的路由表中对于临近的后继节点负责的位置记录的更多,比如N8中记录了3处对于N14负责的数据,而对N21负责的数据只记录了1处。当在某个节点上查找资源时,首先判断其后继节点是不是就持有该资源,若没有则直接从该节点的路由表中的最远处开始查找,看哪一项离持有数据的节点最近,并将寻址请求发送给该节点,若没有则说明本节点自身就有要寻找的资源,如此迭代。
例如,参见图5和图6,在N8寻找K54对应的数据,首先,在N8路由表上查找后继节点为N14,发现K54并不符合54∈(8;14]的要求,那么在N8路由表上查找符合要求的表项(由远及近查找,以图5为例也即从路由表的底部向上查找),发现路由表中最远的一项N8+32->N42满足42∈(8;54],则说明N42离持有K54对应的数据的节点最近,那么跳转到N42上继续查找(第1跳)。通过N42的路由表可以得知,N42的后继节点为N48,不符合54∈(42;48]的要求,说明N48不持有K54对应的数据,因此开始在N42的路由表上查找。在N42节点的路由表中由远及近开始查找,发现N42+8->N51满足51∈(42;54],则说明N51离持有K54对应的数据的节点最近,那么此时跳到N51节点上继续查找(第2跳)。N51节点的后继节点为N56,符合54∈(51;56],寻址完成。KID 54的数据查询请求被发送至NID 51对应的站点进行处理(第3跳)。
在有新增站点的情况下,Chord环也要随之刷新,新的站点会在Chord环上形成新的节点,各节点的路由表也会随之更新。
如果一个客户端原先在第一级圈层内(例如武汉市圈层)存储了数据,该第一级圈层属于一第二级圈层(例如湖北省圈层)。随着该客户端移动到了其他的第一级圈层后,当该客户端在移动后的第一级圈层内尝试访问该数据时,该移动后的第一级圈层内的各站点的寻址模块会发现在本圈层内无法寻址到任一站点存储了该数据。
为了避免这个情况,保证客户端的移动数据跟随,客户端在低级圈层内操作数据的时候,会将该数据同步至高一级圈层乃至更高级圈层。这样,当客户端移动到其他的第一级圈层时,虽然其他的第一级圈层内的无法寻址到一站点存储了目标数据,但如果客户端的原所在的第一级圈层和移动后的第一级圈层属于同一第二级圈层,那么客户端在移动后的第一级圈层内寻址不到目标数据的情况下,可以在第二级圈层内寻址到该目标数据,并将该目标数据读取至移动后的第一级圈层内的站点以便后续的访问。即使客户端的原所在的第一级圈层和移动后的第一级圈层不属于同一第二级圈层,客户端的原所在的第一级圈层和移动后的第一级圈层会同属于某一更高级的圈层,那么客户端在移动后的第一级圈层内寻址不到目标数据的情况下,可以在该更高级圈层内寻址到该目标数据,并将该目标数据读取至移动后的第一级圈层内的站点。
以下,以数据操作请求为写请求和读请求分别介绍本申请提供的边缘***的实施流程。
数据操作请求为写请求的情况下,图7展示边缘***处理数据操作请求的流程。
S201,客户端向边缘网关请求发送站点访问请求,以请求站点的地址信息。
常见的,客户端和边缘网关间通过HTTP/HTTPS协议通信,客户端通过边缘***的域名访问边缘网关。此种情况下,边缘网关可以是域名服务器(domain name service,DNS)。边缘网关根据客户端和各站点之间的时延、各站点的工作负载、客户端和各站点间的物理距离等一项或多项参数,为客户端选择一个初始站点。
S202,边缘网关将选择出的初始站点的地址信息发送至客户端。
S203,如前文所述,客户端可以发送数据操作请求或服务调用请求(客户端的直接目的是调用站点上运行的服务的情况下)至初始站点。
S204,初始站点获取数据操作请求,通过存储接口处理模块解析数据操作请求。
S203中客户端发送的是服务调用请求的情况下,初始站点上运行的服务根据服务调用请求生成数据操作请求。
数据操作请求包括目标数据的key,目标数据(value)。可选的,数据操作请求还可以包括圈层信息,圈层信息可以包括默认,或指示某一级圈层。其中,
默认(default):指示站点按照副本放置策略配置模块内预设的方式在站点所在的最低级圈层内完成目标数据的写入以及副本的创建/更新,同时往高级圈层完成目标数据的写入以及副本的创建/更新以实现移动数据跟随。具体在哪几个高级圈层实现数据跟随可以配置。
指定级(specified_layer):指示站点仅在指定级圈层内写入目标数据,写入目标数据的方式也可以按照副本放置策略配置模块内预设的方式完成指定级圈层内目标数据的写入以及副本的创建/更新。
采用指定级的情况下,一般代表着该次写入的数据放弃移动数据跟随。因此,该目标数据无须往高级圈层写入。
以圈层信息为默认的情况下继续介绍数据操作请求的处理流程。
S205,初始站点的最低级圈层寻址模块,根据目标数据的key,在初始站点所在的最低级圈层内寻址,确定目标数据的key对应的目标站点。
由于初始站点一般是距离客户端较近的站点,并不是寻址域中规定的负责存储目标数据的站点,初始站点需要在最低级圈层所在的寻址域中根据目标数据的key确定一个目标站点。继续以图4算法为例,假设初始站点为NID 8对应的站点,如果目标数据的key经过哈希后获得KID为40,那么在图6所示的哈希环上,KID 40应该存储于NID 42对应的站点上。那么,NID 8对应的站点需要将目标数据发送至NID 42对应的站点进行存储。
如果初始站点正好是目标站点,那么S205后无须执行S206。
S206,初始站点将目标数据的key,目标数据发送至目标站点。
确定目标站点后,初始站点根据自己记录的索引表,确定目标站点的地址信息。根据目标站点的地址信息,将目标数据的key和目标数据发送至目标站点。
S207,目标站点存储目标数据。
目标站点存储目标数据,并且目标站点更新本地记录的元数据,记录目标数据的key以及目标数据的存储地址的对应关系。
S208,目标站点根据副本放置策略配置模块内预设的方式,在最低级圈层内创建/更新副本。如果目标数据是新写数据,那么目标站点会在最低级圈层内的其他站点上创建目标数据的副本。如果目标数据是对已有数据的覆盖,那么目标站点会在最低级圈层内更新的其他站点上已有数据的副本。具体的更新方式可以是全部副本同步处理、部分副本同步部分副本异步处理等。
目标站点确定S208成功执行后,判断本次写入成功。
S209,目标站点通知初始站点,目标数据写入成功。
S210,初始站点通知客户端,目标数据写入成功。
如果数据操作请求携带的圈层信息为指定级的情况下,数据操作请求的处理流程如S205至S210所述,将S205至S210中的最低级圈层换为指定级圈层即可。
如果数据操作请求携带的圈层信息指示默认的话,S208后,还需要执行后续流程。
副本放置策略配置模块指示不同级的圈层间的副本为异步处理的情况下,S209的执行可以和后续步骤的执行并列,也即S210的执行不必等待高级圈层内的副本处理完毕。副本放置策略配置模块指示不同级的圈层间的副本为同步处理的情况下,S210的执行需要等待高级圈层内的副本处理完毕,也即需要在S209和S215中确认写入成功后才能执行S210。
S211,初始站点的高级圈层寻址模块,根据目标数据的key,在初始站点所在的高级圈层内寻址,在高级圈层内确定目标数据的key对应的其他目标站点。
如果S205中,初始站点的第一级圈层寻址模块确定出的目标站点,那么S211中,初始站点的第二级圈层寻址模块继续在第二级圈层中搜寻其他目标站点。
一般的,高级圈层内确定出的其他目标站点,就是高级圈层的寻址域中负责存储该目标数据的站点。
S212,初始站点将目标数据的key,目标数据发送至在高级圈层内的其他目标站点。
S213,其他目标站点存储目标数据。
其他目标站点存储目标数据,并且其他目标站点更新本地记录的元数据,记录目标数据的key以及目标数据的存储地址的对应关系。
S214,其他目标站点根据副本放置策略配置模块内预设的方式,在高级圈层内创建/更新副本。S214的执行,具体与S208相似,区别在于S208是目标站点在最低级圈层内对副本的操作,而S214是其他目标站点在高级圈层内对副本的操作。
S215,其他目标站点通知初始站点,写入成功。
在初始站点归属于多个高级圈层的情况下,S211至S215的执行可以并行执行多轮,每次向更高级的圈层内延伸。S211至S215的第一次执行在第二级圈层内写入目标数据,S211至S215的第二次执行在第三级圈层内写入目标数据,依次类推,直至初始站点所在的最高级圈层内已经写入目标数据。
例如,S205中初始站点的第一级圈层寻址模块确定出的目标站点,S211中初始站点的第二级圈层寻址模块继续在第二级圈层中搜寻其他目标站点并执行S212至S215,并行的,初始站点的第三级圈层寻址模块继续在第三级圈层中搜寻其他目标站点并执行S212至S215。使得目标数据被同步到多个高级圈层,保证了客户端后续在更大范围内移动的情况下,仍然可以访问到该目标数据。
如果初始站点不属于高级圈层,那么初始站点可以将目标数据以及目标数据的key发送至最低级圈层中属于高级圈层的其他站点来执行S211。
数据操作请求为读请求的情况下,图8展示边缘***处理数据操作请求的流程。
S301,客户端向边缘网关请求发送站点访问请求,以请求站点的地址信息。
同S201,边缘网关为客户端选择一个初始站点。
S302,边缘网关将选择出的初始站点的地址信息发送至客户端。
S303,客户端可以发送数据操作请求或服务调用请求(客户端的直接目的是调用站点上运行的服务的情况下)至初始站点。
S304,初始站点获取数据操作请求,通过存储接口处理模块解析数据操作请求。
S303中客户端发送的是服务调用请求的情况下,初始站点上运行的服务根据服务调用请求生成数据操作请求。
数据操作请求包括目标数据的key。可选的,数据操作请求还可以包括圈层信息,圈层信息可以包括默认,或指示某一级圈层。其中,
默认(default):指示站点从最低级圈层开始寻址该目的数据所在的站点,如果在最低级圈层无法确定该目的数据所在的站点,则在高级圈层寻址该目的数据所在的站点。
指定级(specified_layer):指示站点仅在指定级的圈层寻址该目的数据所在的站点。
一般来说,在该目标数据写入时(S203)的数据操作请求携带的圈层信息指示默认的情况下,该目标数据后续读取时(S303)的数据操作请求携带的圈层信息也指示默认。在该目标数据写入时(S203)的数据操作请求携带的圈层信息指示指定圈层的情况下,该目标数据后续读取时(S303)的数据操作请求携带的圈层信息也指示指定圈层。
以圈层信息为默认的情况下继续介绍数据操作请求的处理流程。
S305,初始站点的最低级圈层寻址模块,根据目标数据的key,在初始站点所在的最低级圈层内寻址,确定目标数据的key对应的目标站点。
S306,初始站点将目标数据的key发送至目标站点。
确定目标站点后,初始站点根据自己记录的索引表,确定目标站点的地址信息。根据目标站点的地址信息,将目标数据的key发送至目标站点。
S307,目标站点确定目标数据是否存储于本地。
目标站点根据目的数据的key查询本地的元数据,判断目的数据是否存储于目的站点本地。
如果目的数据存储于目的站点,则执行S3081和S3082。
S3081,目的站点将目的数据发送至初始站点。
S3082,初始站点将目的数据发送至客户端。
S3081中,也可以由目的站点直接将目的数据发送至客户端,省略S3082的执行。
如果目的数据未存储于目的站点,则执行S3083、S3084以及后续步骤。
S3083,目的站点的高级圈层寻址模块,根据目标数据的key,在目的站点所在的高级圈层内寻址,确定目标数据的key对应的其他目标站点。
S3084,目的站点将目标数据的key发送至其他目标站点。
S309,其他目标站点确定目标数据是否存储于本地。
其他目标站点根据目的数据的key查询本地的元数据,判断目的数据是否存储于其他目的站点本地。
如果目的数据存储于其他目的站点,则执行S3101和S3102。
S3101,其他目的站点将目的数据发送至初始站点。
S3102,初始站点将目的数据发送至客户端。
S3101中,也可以由其他目的站点直接将目的数据发送至客户端,省略S3102的执行。
如果目的数据未存储于其他目的站点,则执行S3103、S3104以及后续步骤。
S3103,其他目的站点的更高级圈层寻址模块,根据目标数据的key,在目的站点所在的高级圈层内寻址,确定目标数据的key在更高级圈层内的目标站点。
S3104,其他目的站点将目标数据的key发送至高级圈层内的其他目标站点。
S307至S3084可以由低级圈层向高级圈层延伸的过程中被重复执行多次,以上展示了第一次重复的过程(S309至S3104)。例如,S305中,初始站点的第一级圈层寻址模块在第一级圈层内寻址,S3083中,目的站点的第二级圈层寻址模块在第二级圈层内寻址,S3103中,其他目的站点的第三级圈层寻址模块在第三级圈层内寻址。
如果最低级圈层的目的站点初始站点不属于高级圈层,那么最低级圈层的目的站点可以目标数据的key发送至最低级圈层中属于高级圈层的其他站点来执行S3083。
由低级圈层向高级圈层重复执行目的数据的查询的过程中,如果有任一圈层内的目的站点查找到了目的数据,则停止在更高级的圈层内查询目的站点,并且可以将数据存入最低级圈层的目的节点中,以便目的数据后续被读取。如果最高级圈层内仍然无法查询到目的数据,最高级圈层内的目的站点通知初始站点目的数据查询失败。
S3083和S3084(S3103和S3104)可以由目的站点(其他目的站点)也可以由初始站点来执行,采用一些优化的寻址算法的情况下,例如分布式松散哈希表(distributedsloppy hash table,DSHT),由目的站点(其他目的站点)执行可以更快的找到更高级圈层内的目的站点(跳数更少)。
如果数据操作请求携带的圈层信息为指定级的情况下,数据操作请求的处理流程如S305至S307所述(将最低级圈层换为指定级圈层),S307后,如果目的数据存储于指定级圈层的目的站点,则执行S3081和S3082。如果目的数据未存储于指定级圈层的目的站点,指定级圈层的目的站点通知初始站点目的数据查询失败。
图9提供了一种计算机400,每个站点通过一个或多个计算机400实现。在站点中的运行单元是物理服务器的情况下,运行单元为计算机400。在站点中的运行单元是虚拟机的情况下,运行单元为运行在计算机400上的虚拟机。
计算机400包括总线402、处理器401、存储设备403。处理器401和存储设备403之间通过总线402通信。处理器401可以为中央处理器(central processing unit,CPU)。存储设备403可以包括易失性存储设备(volatile memory),例如随机存取存储设备(randomaccess memory,RAM),或非易失性存储设备(non-volatile memory),例如只读存储设备(read-only memory,ROM),快闪存储设备,HDD或SSD等。
存储设备403中存储有可执行指令,处理器401执行该可执行指令以执行前述图3中的存储接口处理模块、寻址域配置模块、寻址模块、数据存储模块以及服务(可选的)。存储设备403还可以包括运行操作***(operation system,OS)所需的可执行指令。OS可以为LINUXTM,UNIXTM,WINDOWSTM等。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字租户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
Claims (13)
1.一种边缘***,其特征在于,所述边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域;
每个第一级圈层,包括多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一初始站点同时包括于所述第二级圈层;
所述初始站点,用于在包括所述初始站点的第一级圈层和所述第二圈层内处理所述数据操作请求。
2.如权利要求1所述的边缘***,其特征在于,所述数据操作请求为写请求;
所述初始站点,用于在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据对应的目标站点,将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点;在所述第二级圈层内寻址所述目标数据对应的目标站点,将所述目标数据发送至所述第二级圈层的目标站点;
包括所述初始站点的第一级圈层的目标站点,用于存储所述目标数据;
所述第二级圈层的目标站点,用于存储所述目标数据。
3.如权利要求2所述的边缘***,其特征在于,包括所述初始站点的第一级圈层的目标站点,还用于在包括所述初始站点的第一级圈层的其他站点上创建或更新所述目标数据的副本。
4.如权利要求2或3所述的边缘***,其特征在于,所述第二级圈层的目标站点,还用于在所述第二级圈层的其他站点上创建或更新所述目标数据的副本。
5.如权利要求1所述的边缘***,其特征在于,所述数据操作请求为读请求;
所述初始站点,用于在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据的键key对应的目标站点;
包括所述初始站点的第一级圈层的目标站点,用于确定所述目标数据是否存储于包括所述初始站点的第一级圈层的目标站点本地,如果所述目标数据存储于包括所述初始站点的第一级圈层的目标站点本地,将所述目标数据发送至所述客户端,如果所述目标数据未存储于包括所述初始站点的第一级圈层的目标站点本地,在所述第二级圈层内寻址所述目标数据的key对应的目标站点;
所述第二级圈层的目标站点,用于确定所述目标数据存储于所述第二级圈层的目标站点本地,将所述目标数据发送至所述客户端。
6.如权利要求5所述的边缘***,其特征在于,所述第二级圈层的目标站点,还用于将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点。
7.一种数据操作请求的处理方法,其特征在于,所述数据操作请求的处理方法应用于边缘***,所述边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域,每个第一级圈层包括多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一初始站点同时包括于所述第二级圈层;
所述初始站点在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据对应的目标站点;
所述初始站点将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点;
包括所述初始站点的第一级圈层的目标站点存储所述目标数据;
所述初始站点在所述第二级圈层内寻址所述目标数据对应的目标站点,将所述目标数据发送至所述第二级圈层的目标站点;
所述第二级圈层的目标站点存储所述目标数据。
8.如权利要求7所述的方法,其特征在于,还包括:
包括所述初始站点的第一级圈层的目标站点在包括所述初始站点的第一级圈层的其他站点上创建或更新所述目标数据的副本。
9.如权利要求7或8所述的边缘***,其特征在于,还包括:
所述第二级圈层的目标站点在所述第二级圈层的其他站点上创建或更新所述目标数据的副本。
10.一种数据操作请求的处理方法,其特征在于,所述数据操作请求的处理方法应用于边缘***,所述边缘***包括多个第一级圈层和第二级圈层,所述第二级圈层代表的地理区域包括每个第一级圈层代表的地理区域,每个第一级圈层,包括多个站点,每个站点用于处理客户端发送的数据操作请求,所述多个站点中包括一初始站点同时包括于所述第二级圈层;
所述初始站点在包括所述初始站点的第一级圈层内寻址所述数据操作请求携带的目标数据的键key对应的目标站点;
包括所述初始站点的第一级圈层的目标站点确定所述目标数据是否存储于包括所述初始站点的第一级圈层的目标站点本地;
如果所述目标数据存储于包括所述初始站点的第一级圈层的目标站点本地,将所述目标数据发送至所述客户端;
如果所述目标数据未存储于包括所述初始站点的第一级圈层的目标站点本地,在所述第二级圈层内寻址所述目标数据的key对应的目标站点;
所述第二级圈层的目标站点确定所述目标数据存储于所述第二级圈层的目标站点本地,将所述目标数据发送至所述客户端。
11.如权利要求10所述的方法,其特征在于,还包括:
所述第二级圈层的目标站点将所述目标数据发送至包括所述初始站点的第一级圈层的目标站点。
12.一种非瞬态的可读存储介质,其特征在于,所述非瞬态的可读存储介质中存储的指令被边缘***中的至少一个站点执行时,所述边缘***执行权利要求7至11任一所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包含的指令被边缘***执行时,所述边缘***执行权利要求7至11任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911242057 | 2019-12-06 | ||
CN2019112420571 | 2019-12-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112929459A true CN112929459A (zh) | 2021-06-08 |
CN112929459B CN112929459B (zh) | 2024-06-28 |
Family
ID=76162688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011417936.6A Active CN112929459B (zh) | 2019-12-06 | 2020-12-07 | 一种边缘***及数据操作请求的处理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11895554B2 (zh) |
EP (1) | EP4057585A4 (zh) |
CN (1) | CN112929459B (zh) |
WO (1) | WO2021110176A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135257A1 (en) * | 2003-12-17 | 2005-06-23 | Spencer Stephens | Method and apparatus for approximating location of node attached to a network |
CN101310267A (zh) * | 2005-03-09 | 2008-11-19 | 泰克迪亚科技公司 | 用于位置感知的内容推动服务和基于位置的动态依附的方法、***和设备 |
CN101399743A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 在基于分布式哈希表的对等网络中查找数据的方法和*** |
CN102088418A (zh) * | 2008-02-05 | 2011-06-08 | 华为技术有限公司 | 一种建立路由的方法和装置 |
CN105242881A (zh) * | 2015-10-12 | 2016-01-13 | 创新科软件技术(深圳)有限公司 | 分布式存储***及其数据读写方法 |
CN106031198A (zh) * | 2014-12-31 | 2016-10-12 | 华为技术有限公司 | 一种调度网络节点数据的方法、装置及*** |
CN108055264A (zh) * | 2017-12-13 | 2018-05-18 | 平安科技(深圳)有限公司 | 推流服务器的调度装置、方法及计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008128133A1 (en) * | 2007-04-13 | 2008-10-23 | Pelago, Inc. | Location-based information determination |
US20120201472A1 (en) * | 2011-02-08 | 2012-08-09 | Autonomy Corporation Ltd | System for the tagging and augmentation of geographically-specific locations using a visual data stream |
CN104040544B (zh) * | 2011-11-15 | 2018-06-26 | 起元科技有限公司 | 基于变体标记网络的数据分群 |
US9372914B1 (en) * | 2014-01-14 | 2016-06-21 | Google Inc. | Determining computing device characteristics from computer network activity |
US10083494B2 (en) | 2015-01-30 | 2018-09-25 | Huawei Technologies Co., Ltd. | Systems, devices and methods for distributed content pre-fetching to a user device |
US10060750B2 (en) * | 2016-08-26 | 2018-08-28 | International Business Machines Corporation | System, method and computer program product for consolidation of requests for access to dynamic map |
US20200192872A1 (en) * | 2018-12-13 | 2020-06-18 | Zoox, Inc. | Device message framework |
CN110740180B (zh) * | 2019-10-17 | 2022-03-04 | 北京奇艺世纪科技有限公司 | 一种多媒体资源调度方法、装置及调度服务器 |
-
2020
- 2020-12-07 WO PCT/CN2020/134345 patent/WO2021110176A1/zh unknown
- 2020-12-07 EP EP20895646.6A patent/EP4057585A4/en active Pending
- 2020-12-07 CN CN202011417936.6A patent/CN112929459B/zh active Active
-
2022
- 2022-06-02 US US17/830,573 patent/US11895554B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135257A1 (en) * | 2003-12-17 | 2005-06-23 | Spencer Stephens | Method and apparatus for approximating location of node attached to a network |
CN101310267A (zh) * | 2005-03-09 | 2008-11-19 | 泰克迪亚科技公司 | 用于位置感知的内容推动服务和基于位置的动态依附的方法、***和设备 |
CN101399743A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 在基于分布式哈希表的对等网络中查找数据的方法和*** |
CN102088418A (zh) * | 2008-02-05 | 2011-06-08 | 华为技术有限公司 | 一种建立路由的方法和装置 |
CN106031198A (zh) * | 2014-12-31 | 2016-10-12 | 华为技术有限公司 | 一种调度网络节点数据的方法、装置及*** |
CN105242881A (zh) * | 2015-10-12 | 2016-01-13 | 创新科软件技术(深圳)有限公司 | 分布式存储***及其数据读写方法 |
CN108055264A (zh) * | 2017-12-13 | 2018-05-18 | 平安科技(深圳)有限公司 | 推流服务器的调度装置、方法及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4057585A1 (en) | 2022-09-14 |
US11895554B2 (en) | 2024-02-06 |
CN112929459B (zh) | 2024-06-28 |
WO2021110176A1 (zh) | 2021-06-10 |
EP4057585A4 (en) | 2022-12-28 |
US20220303718A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150394B (zh) | 面向高性能计算的分布式文件***元数据管理方法 | |
US8140625B2 (en) | Method for operating a fixed prefix peer to peer network | |
CN112565325B (zh) | 镜像文件管理方法、装置及***、计算机设备、存储介质 | |
US8463867B2 (en) | Distributed storage network | |
US9846540B1 (en) | Data durability using un-encoded copies and encoded combinations | |
CN103067433B (zh) | 一种分布式存储***的数据迁移方法、设备和*** | |
US20070150492A1 (en) | Method and system for allocating file in clustered file system | |
US10187255B2 (en) | Centralized configuration data in a distributed file system | |
US11818209B2 (en) | State management and object storage in a distributed cloud computing network | |
CN111444157B (zh) | 分布式文件***及数据访问方法 | |
US10986065B1 (en) | Cell-based distributed service architecture with dynamic cell assignment | |
US11645255B2 (en) | Method, electronic device, and computer program product for storing and searching for data | |
CN111327651A (zh) | 资源下载方法、装置、边缘节点及存储介质 | |
US11108854B2 (en) | Peer-to-peer network for internet of things resource allocation operation | |
Yu et al. | Granary: A sharing oriented distributed storage system | |
WO2023179784A1 (zh) | 数据处理方法以及装置 | |
CN113055448B (zh) | 一种元数据管理方法及装置 | |
CN112929459A (zh) | 一种边缘***及数据操作请求的处理方法 | |
CN114528260A (zh) | 文件访问请求的处理方法、电子设备及计算机程序产品 | |
CN115706727A (zh) | 云桌面数据的迁移方法、节点和服务器 | |
CN113886350A (zh) | 数据处理方法及*** | |
CN117194439B (zh) | 一种资源存储***的创建方法、电子设备及存储介质 | |
CN107168646B (zh) | 一种分布式数据存储控制方法及服务器 | |
JP6676203B2 (ja) | 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム | |
CN117041258B (zh) | 一种bim工程信息管理*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220224 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |