当前位置:
文档之家› Handle标识解析系统-技术篇
Handle标识解析系统-技术篇
一个烧脑的话题!!!
前方高能物质过来,请带好您的大脑!!!
从何讲起呢?!
03 Handle是怎么干的?
要解析(查询),得先有(Handle和Handle的值)才行吧???
Step1. 那么先来看看如何有这个东东(Handle和Handle的值)
03 Handle是怎么干的?
S12.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
data: 数据,前4个字节表示长度, 后面是数据的字节码
TTL:4字节,用于缓存
permission: 8bit权限掩码包括: PUBLIC_WRITE,PUBLIC_READ, ADMIN_WRITE, ADMIN_READ, PUBLIC_EXECUTE, ADMIN_EXECUTE
timestamp: Value最后更新时间,精确到微秒
提供创建和管理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.
还有……
02 Handle能干什么? 正儿八经的总结
Handle能干→
管理类的事情 解析类的事情 附带的能力
K(Handle)部分管理 V(Value)部分管理
查询及查询响应 分布式能力 服务模式 安全能力
认证、增、删、改 认证、增、删、改
给你一个 Handle:Index或别 的你给我值啊你!
03 Handle是怎么干的?
Handle是一种简单的(K,V)类型的分布式的数据库系统
那么你说他能干什么??
能新增Key和对应的Value值 能删除Key和对应的Value值 能修改Key和对应的Value值 能查询Key和对应的Value值
增
删 我们在哪里见过?!
改
查
02 Handle能干什么? 不会只有这些了吧?!
这会你的脑袋可以用一用了……
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
抽象来看
你 填资料
申请
GHR
86.128.100 审核资料
资料和钱都OK
GHR 批注注册
开工咯
你 部署LHS
更新 SITE信息
GHR
感知到你在哪里
03 Handle是怎么干的?
Step1. 创建1个Handle
02 Handle能干什么?
据前文所述,1个Handle可以有N个值?! 没错Handle系统没有限制!!!
据前文所述,1个Handle还有一个HS_ADMIN的值?! 没错Handle系统可以对每个Handle做细粒度的管理!!!
还有Handle系统的分布式能力 还有Handle系统的服务模式 还有Handle系统的安全功能
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
UTF8字符串,不包括:”.”,”/”
前缀
10.1045.xxx/january99-bearman 后缀
根
一 级
二 级
前 后 缀
分
层
割
级
符
分
割
符
这 是 个 啥 ?
01 Handle是什么?
一串字符串它预示着什么?
10.1045.xxx/january99-bearman
* 用“/”分隔出Handle前缀和后缀,难道是层级结构?! * 用“.”给Handle前缀也分层了,前缀也有层级结构! * 结合DNS的猜想,前缀和后缀拼起来应该是唯一的! * 说好的(K,V)呢?
还记得吗?
<Handle> ::= <Handle Naming Authority> "/" <Handle Local Na
10.1045/january99-bearman
从何而来?
03 Handle是怎么干的?
Handle架构(粗)
查询定位
svr1 svr 2
Site(1)
GHR
svr1 svr 2
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下的服务器数目
server1 server 复制 2
……
server3 ……
server2
server3 ……
多LHS服务
03 Handle是怎么干的?
Step1. 创建1个Handle
我X
这个Handle到底怎么创建啊?!
86.11/myfirsthandle
03 Handle是怎么干的?
Step1. 创建1个Handle
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
1. 要想在86.128.100下 创建Handle, 需要找到对应的LHS?
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
…
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
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?
Handle
标识解析系统(技术篇)
参考文档:rfc3650,3651,3652 演 讲 人:Kevin kuo
1
2
目录
CONTENTS
3 4
01 Handle是什么? 粗糙的解释
Handle就是一种简单的(K,V)类型的分布式的数据库系统
01 Handle是什么?
DNS
对标什么?
域名:(向权威机构注册) 域名翻译: -> 222.123.41.xx(配置管理,翻译) 资源定位:/index.html 其他……
01 Handle是什么?
用“/”分出的层级结构
10.1045.xxx/january99-bearman
引出两个概念: GHR:Global Handle Registry LHS: Local Handle Services
01 Handle是什么? 你猜的没错!
GHR
LHS
LHS
LHS
…
层级一
单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
86.128.100/myfirsthandle 1. 访问这里:/ 2. 选择一级前缀或二级代理注册?
3. 填资料,交钱,部署服务……
03 Handle是怎么干的?
Step1. 创建1个Handle
86.128.100/myfirsthandle
填资料 交钱 部署服务 ……