Handle标识解析系统-技术篇
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
86.128.100/myfirsthandle
注册了86.128.100, 也有了自己的LHS, 这下可以创建Handle了吧???
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
还有两个问题!!! 纳尼?!
1. 要想在86.128.100下创建Handle,需要找到对应的LHS? 2. 用什么方式告诉LHS创建这个Handle?
01 Handle是什么?
长什么样?
就这鸟样了
<Handle> ::= <Handle Naming Authority> "/" <Handle Local Name>
Fuck?! 还不懂?!
10 . 1045 / january99-bearman
01 Handle是什么?
细说一下这个字符串!!!
86.12.11. 86.12.12. 86.12.13.
Only one
提供注册10.1045 提供解析定位10.1045对应的LHS
HS_SITE/HS_SERV
LHS Local service 86.12.11/january99-bearman
LHS1
86.12.11/xxx-yyy 86.12.12/xxx-yyy
…
Site(n)
Client
注册和同步
查询Handle
LHS
Site1 LHS1 Site2 LHS1 Site3 LHS1
svr1 svr2 svr1 svr2 svr1 svr2 …
Step1. 创建1个Handle
提供注册10.1045 提供解析定位10.1045对应的LHS
10.1045/january99-bearma
Handle1->Values Handle1->Values
Handle2->Values Handle2->Values
Handle3->Values Handle3->Values
……
……
LHS2
86.12.13/xxx-yyy 提供创建和管理10.1045下的 Handle
Handle1->Values 提供解析10.1045下Handle的 Handle2->Values 值 Handle3->Values ……
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
1. 要想在86.128.100下 创建Handle, 需要找到对应的LHS?
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
* The uniqueness of a naming authority and a local name under that authority ensures that any handle is globally unique within the context of the Handle System.
一个烧脑的话题!!!
前方高能物质过来,请带好您的大脑!!!
从何讲起呢?!
03 Handle是怎么干的?
要解析(查询),得先有(Handle和Handle的值)才行吧???
Step1. 那么先来看看如何有这个东东(Handle和Handle的值)
03 Handle是怎么干的?
Step1. 创建1个Handle
10Biblioteka Baidu1045.xxx /
january99-bearman 层级二
01 Handle是什么?
10.1045.xxx
01 Handle是什么?
说说他的唯一性
* Every handle is globally unique within the Handle System.
* Any local name must be unique under its local namespace.
Handle是一种简单的(K,V)类型的分布式的数据库系统
那么你说他能干什么??
能新增Key和对应的Value值 能删除Key和对应的Value值 能修改Key和对应的Value值 能查询Key和对应的Value值
增
删 我们在哪里见过?!
改
查
02 Handle能干什么? 不会只有这些了吧?!
这会你的脑袋可以用一用了……
02 Handle能干什么?
据前文所述,1个Handle可以有N个值?! 没错Handle系统没有限制!!!
据前文所述,1个Handle还有一个HS_ADMIN的值?! 没错Handle系统可以对每个Handle做细粒度的管理!!!
还有Handle系统的分布式能力 还有Handle系统的服务模式 还有Handle系统的安全功能
UTF8字符串,不包括:”.”,”/”
前缀
10.1045.xxx/january99-bearman 后缀
根
一 级
二 级
前 后 缀
分
层
割
级
符
分
割
符
这 是 个 啥 ?
01 Handle是什么?
一串字符串它预示着什么?
10.1045.xxx/january99-bearman
* 用“/”分隔出Handle前缀和后缀,难道是层级结构?! * 用“.”给Handle前缀也分层了,前缀也有层级结构! * 结合DNS的猜想,前缀和后缀拼起来应该是唯一的! * 说好的(K,V)呢?
提供创建和管理10.1045下的Handle 提供解析10.1045下Handle的值
03 Handle是怎么干的?
Step1. 创建1个Handle
Handle架构 (Handle视图)
0.NA/0.NA(Root Handle) 10. 20. 86. 22. 27. ...
GHR Root service 86.12.11/january99-bearman 86.11. 86.12. 86.xx.
86.128.100/myfirsthandle 1. 访问这里:http://www.mpacn.net/ 2. 选择一级前缀或二级代理注册?
3. 填资料,交钱,部署服务……
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
填资料 交钱 部署服务 ……
单Root服务
LHS Local service Local Handle Service (86.11.xxx/xxx-yyy)
Local Handle Service (86.12.xxx/xxx-yyy)
…
Site1(主)
Site2(从)
Site1(主)
server1 server 复制 2
server1
还记得吗?
<Handle> ::= <Handle Naming Authority> "/" <Handle Local Na
10.1045/january99-bearman
从何而来?
03 Handle是怎么干的?
Handle架构(粗)
查询定位
svr1 svr 2
Site(1)
GHR
svr1 svr 2
reference: 4字节引用数,Handle:Index列表
01 Handle是什么? Handle TMD到底是什么?!
由你来回答?!
02 Handle能干什么?
Handle是一种简单的(K,V)类型的分布式的数据库系统 那么你说他能干什么??
用脚指头想一想……
02 Handle能干什么?
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
1. 要想在86.128.100下创建Handle,需要找到对应的LHS?
GHR service information in terms of a set of HS_SITE values SerialNumber:2字节,从0开始,步长1,同步C<->S值版本 PrimaryMsk: 1字节,标识是否为主Site,多主Site,可感知架构 HashOption: 1字节,HASH_BY_HANDLE,HASH_BY_NA,HASH_BY_LOCAL AttributeList: 4字节标识(k,v)对数,接下来跟着(k,v)对 NumOfServer:4字节,site下的服务器数目
01 Handle是什么?
用“/”分出的层级结构
10.1045.xxx/january99-bearman
引出两个概念: GHR:Global Handle Registry LHS: Local Handle Services
01 Handle是什么? 你猜的没错!
GHR
LHS
LHS
LHS
…
层级一
Handle
标识解析系统(技术篇)
参考文档:rfc3650,3651,3652 演 讲 人:Kevin kuo
1
2
目录
CONTENTS
3 4
01 Handle是什么? 粗糙的解释
Handle就是一种简单的(K,V)类型的分布式的数据库系统
01 Handle是什么?
DNS
对标什么?
域名:www.xxx.com(向权威机构注册) 域名翻译:www.xxx.com -> 222.123.41.xx(配置管理,翻译) 资源定位:www.xxx.com/index.html 其他……
01 Handle是什么? 该说说(K,V)了
也许你猜到了,(_____?)就是我们说的Key
那Value有是啥呢?类比一下DNS什么是Value?
01 Handle是什么?
Value的基本结构 请注意Value是一个集合哦!
index: 索引4字节无符号整型
type: 数据类型,包括系统预定义: HS_ADMIN, HS_SITE, HS_NA_DELEGATE, HS_SERV, HS_ALIAS, HS_PRIMARY, HS_VLIST
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
抽象来看
你 填资料
申请
GHR
86.128.100 审核资料
资料和钱都OK
GHR 批注注册
开工咯
你 部署LHS
更新 SITE信息
GHR
感知到你在哪里
03 Handle是怎么干的?
Step1. 创建1个Handle
1. 要想在86.128.100下创建Handle,需要找到对应的LHS?
那Client怎么找到GHR呢??
给你一段英文 自己找重点!
In order to communicate with the GHR, client software needs the GHR service information beforehand. The service information may be distributed initially with the client software, or obtained from some other secure sources (e.g., postal mail, secure web site, etc.). Client software may keep the service information to communicate with the GHR until the service information becomes expired (according to its TTL).
data: 数据,前4个字节表示长度, 后面是数据的字节码
TTL:4字节,用于缓存
permission: 8bit权限掩码包括: PUBLIC_WRITE,PUBLIC_READ, ADMIN_WRITE, ADMIN_READ, PUBLIC_EXECUTE, ADMIN_EXECUTE
timestamp: Value最后更新时间,精确到微秒
还有……
02 Handle能干什么? 正儿八经的总结
Handle能干→
管理类的事情 解析类的事情 附带的能力
K(Handle)部分管理 V(Value)部分管理
查询及查询响应 分布式能力 服务模式 安全能力
认证、增、删、改 认证、增、删、改
给你一个 Handle:Index或别 的你给我值啊你!
03 Handle是怎么干的?
03 Handle是怎么干的?
Handle架构 (分布式视图)
Root handle service (0.NA/0.NA)
Site1(主)
Site2(从)
GHR Root service
server1 server2 server3 ……
复制
server1 server2
Step1. 创建1个Handle
server1 server 复制 2
……
server3 ……
server2
server3 ……
多LHS服务
03 Handle是怎么干的?
Step1. 创建1个Handle
我X
这个Handle到底怎么创建啊?!
86.11/myfirsthandle
03 Handle是怎么干的?
Step1. 创建1个Handle