狠狠撸
Submit Search
柔性数据接口的设计与实现
?
0 likes
?
224 views
L
Leo Zhou
Follow
Pycon China 2015
Read less
Read more
1 of 31
Download now
Downloaded 15 times
More Related Content
柔性数据接口的设计与实现
1.
柔性接口的设计与实现 微信CMDB ottocho 2015.08.21
2.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 大纲 ● 什么是 CMDB ● 设计要点 ● 成果展示 ● 设计与实现 ● 经验总结
3.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB ● 什么是 CMDB ● 设计要点 ● 成果展示 ● 设计与实现 ● 经验总结
4.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB
5.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB 百度给的定义: CMDB 配置管理数据库 Configuration Management Database CMDB 存储与管理公司IT架构中设备的各种 配置信息,它与所有服务支持和服务交付流 程都紧密相联,支持这些流程的运转、发挥配 置信息的价值,同时依赖于相关流程保证数 据的准确性。在实际的项目中,CMDB 常常 被认为是构建其它 ITIL 流程的基础而优先考 虑,ITIL 项目的成败与是否成功建立 CMDB 有非常大的关系。 这些都是废话!
6.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB CMDB Configuration Management Database ? 运营的工程管理角度 ? 以管理对象为配置个体 ? 统一归类、抽象、管理
7.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB 我来举个栗子…
8.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB ? 模块、模块程序 ? 以运营配置对象管理 ? 存储在 CMDB ? 与 CMDB 的交互 ? 统一管理
9.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! CMDB 目标 如部署系统、新服务上线系统 与 CMDB 的配合,达成了系统间 合作、运营信息收集结合。 CMDB 支持这些流程的运转、发 挥配置信息的价值,同时依赖于相 关流程保证数据的准确性。
10.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 大纲 ● 什么是 CMDB ● 设计要点 ● 成果展示 ● 设计与实现 ● 经验总结
11.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 设计要点 设计要点 ? 业务目标 ? 配置粒度 ? 维护方式 ? 服务情况
12.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 大纲 ● 什么是 CMDB ● 设计要点 ● 成果展示 ● 设计与实现 ● 经验总结
13.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 成果展示 文档首页
14.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 成果展示 文档目录
15.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 成果展示 资源定义
16.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 成果展示 /api/GetDevices? fields=id,system_name,inner_ip& where_inner_ip=10.20.30.40 cmdbclient.GetDevices( fields = ['id', 'system_name', 'inner_ip'], where = { 'inner_ip': '10.20.30.40' }, ) 所见即所得、简单快速接入
17.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 成果展示 信息详尽完备
18.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 大纲 ● 什么是 CMDB ● 设计要点 ● 成果展示 ● 设计与实现 ● 经验总结
19.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 设计实现 技术小结 ? tornado ? peewee ? pypy ? sphinx
20.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 设计实现 请求内容 client 请求: cmdbclient.GetDevices( fields = ['id', 'system_name', 'inner_ip'], where = { 'inner_ip': '10.20.30.40' }, ) HTTP 请求: /api/GetDevices? fields=id,system_name,inner_ip& where_inner_ip=10.20.30.40
21.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 设计实现 格式化请求处理 HTTP param: fields=id,system_name,inner_ip&where_inner_ip=10.20.30.40 dict data: dict( fields = ['id', 'system_name', 'inner_ip'], where = { 'inner_ip': '10.20.30.40' }, ) Peewee Query: fields = (Device.id, System.name, Device.inner_ip) where = Device.inner_ip << ('10.20.30.40',) result = Device.select(*fields).where(where)
22.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 设计实现 处理流程 # 从域列表获取到涉及到的 model related_models = get_related_models(model_fields) # 生成 query_obj query_obj = model_class.select(*model_fields) # 加上 where 的条件检索 query_obj = where_condition_query(query_obj, where_logic, where, model_field_map) # 自动 join 表 query_obj = join_table(query_obj, related_models, addition_fields) # 返回结果 return fetch_query_result(query_obj, args)
23.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 设计实现
24.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 大纲 ● 什么是 CMDB ● 设计要点 ● 成果展示 ● 设计与实现 ● 经验总结
25.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 经验总结 维护 ? 限制 ? 规则 ? 简单
26.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 业务价值 经验总结 技术创造价值 业务体现价值
27.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 经验总结 合作 ? 对接 ? 接口 ? ? 服务 ? ? 文档 ? wiki ? ? html ? ? blog ? 以提高他人的效率 来提高自己的工作效率!
28.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 感谢大家 Q & A
29.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 感谢大家 谢谢您
30.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic! 联系方式 卓振杰 ottocho ottozhuo@tencent.com
31.
北京/上海/广州 0xFF Life's
pathetic, go Pythonic!
Download