 Golang 在隐私计算平台建设中的实践 - 刘敬golang 在隐私计算平台建设中的实践 刘敬 杭州趣链科技有限公司 2021-10 ⽬目录 隐私计算介绍 01 隐私计算平台架构 02 构建隐私计算算法框架的实践 03 ⼀一些优化技巧 04 01 隐私计算介绍 趣链科技版权所有©2016 – 2021 4 隐私计算概念 隐私计算(Privacy preserving computation)是指在保证数据提供⽅方不不泄露露原始 原始 数据的前提下,对数据进⾏行行分析计算的⼀一系列列信息技术,保障数据在流通和融合过程 中的“可⽤用不不可⻅见”。 数据提供⽅方 数据提供⽅方 数据使⽤用⽅方 计算结果 趣链科技版权所有©2016 – 2021 5 隐私计算背景 欧盟出台的《通⽤用数据保护条例例》(GDPR)于2018年年5⽉月正式实⾏行行,加强对欧盟境内居 ⺠民的个⼈人数据和隐私的保护。 2021年年7⽉月 织、个⼈人不不得⾮非法收集、使⽤用、加⼯工、传输他⼈人个⼈人信息,不不得⾮非法买卖、提供或者公 开他⼈人个⼈人信息。该法⾃自2021年年11⽉月1⽇日起施⾏行行。 趣链科技版权所有©2016 – 2021 6 隐私计算历史 1982年年姚期智提 出 百 万 富 翁 问 题 , 安 全 多 ⽅方 计 算概念被提出 1986年年姚期智提出 基于混淆电路路的通 ⽤用解决⽅方案 2016年年⾕谷歌提出联0 码力 | 37 页 | 6.20 MB | 1 年前3 Golang 在隐私计算平台建设中的实践 - 刘敬golang 在隐私计算平台建设中的实践 刘敬 杭州趣链科技有限公司 2021-10 ⽬目录 隐私计算介绍 01 隐私计算平台架构 02 构建隐私计算算法框架的实践 03 ⼀一些优化技巧 04 01 隐私计算介绍 趣链科技版权所有©2016 – 2021 4 隐私计算概念 隐私计算(Privacy preserving computation)是指在保证数据提供⽅方不不泄露露原始 原始 数据的前提下,对数据进⾏行行分析计算的⼀一系列列信息技术,保障数据在流通和融合过程 中的“可⽤用不不可⻅见”。 数据提供⽅方 数据提供⽅方 数据使⽤用⽅方 计算结果 趣链科技版权所有©2016 – 2021 5 隐私计算背景 欧盟出台的《通⽤用数据保护条例例》(GDPR)于2018年年5⽉月正式实⾏行行,加强对欧盟境内居 ⺠民的个⼈人数据和隐私的保护。 2021年年7⽉月 织、个⼈人不不得⾮非法收集、使⽤用、加⼯工、传输他⼈人个⼈人信息,不不得⾮非法买卖、提供或者公 开他⼈人个⼈人信息。该法⾃自2021年年11⽉月1⽇日起施⾏行行。 趣链科技版权所有©2016 – 2021 6 隐私计算历史 1982年年姚期智提 出 百 万 富 翁 问 题 , 安 全 多 ⽅方 计 算概念被提出 1986年年姚期智提出 基于混淆电路路的通 ⽤用解决⽅方案 2016年年⾕谷歌提出联0 码力 | 37 页 | 6.20 MB | 1 年前3
 大规模高性能区块链架构设计模式与测试框架-李世敬版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 区块链作为新基建基础设施之一,是大数据、人工智能、云计算、物联网等其他新型技术的黏合剂,各项技 术相互促进,融合发展,共同开创更大价值空间,加快新兴技术商业落地 利用区块链的去中心化、数据 不能篡改的特性,解决制约云 计算发展的“可信、可靠、可 控”的问题。 融入大数据采集和共享中,作 为数据源接入大数据分析平台。 强化分布式数据存 储和边缘计算能力, 拓展物联安全边界 和应用范围。 为训练深度学习系统提供可信数据, 优化分析决策的准确性和可信性。 人工智能 区块链 云计算 物联网 大数据 10 趣链科技 版权所有 ©2016-2021 10 趣链科技 版权所有 ©2016-2021 10 趣链科技 版权所有 ©2016-2021 10 区块链组织形态 全球范围可以访问,不依赖于单 个公司或辖区,匿名性强,任何 参与者都可在其中写入、读取、 参与交易验证。0 码力 | 39 页 | 56.58 MB | 1 年前3 大规模高性能区块链架构设计模式与测试框架-李世敬版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 区块链作为新基建基础设施之一,是大数据、人工智能、云计算、物联网等其他新型技术的黏合剂,各项技 术相互促进,融合发展,共同开创更大价值空间,加快新兴技术商业落地 利用区块链的去中心化、数据 不能篡改的特性,解决制约云 计算发展的“可信、可靠、可 控”的问题。 融入大数据采集和共享中,作 为数据源接入大数据分析平台。 强化分布式数据存 储和边缘计算能力, 拓展物联安全边界 和应用范围。 为训练深度学习系统提供可信数据, 优化分析决策的准确性和可信性。 人工智能 区块链 云计算 物联网 大数据 10 趣链科技 版权所有 ©2016-2021 10 趣链科技 版权所有 ©2016-2021 10 趣链科技 版权所有 ©2016-2021 10 区块链组织形态 全球范围可以访问,不依赖于单 个公司或辖区,匿名性强,任何 参与者都可在其中写入、读取、 参与交易验证。0 码力 | 39 页 | 56.58 MB | 1 年前3
 Go vs. GoPlus(Go+)完全一致(雏形版的 Go) -Go 语言 • 参考资料 -ECUG 2011 讲座 • 《从Erlang 到 CERL 到 Golang》 -Collison预言:Go语言将在两年内制霸云计算领域 • http://www.csdn.net/article/2012-09-14/2809984-will-go-be-the-new-go-to- programming-lan 惊喜3:interface 语言里面你不需要关心,也并不清楚,变量在堆上还是栈上 • 与 Go 语言的显式表达并不矛盾 -Go 语言强调的是对开发者的程序逻辑(语义)的显式表达,而非对计算 机硬件结构的显式表达 -对计算机硬件结构的高度抽象,将更有助于 Go 语言适应未来计算机硬 件发展的变化 惊喜8:C 语言的支持 • Go 语言是除了 Objective-C、C++ 这两门以兼容 C 为基础目标 的语言外的所有语言中,对 Go 语言小结 • 少就是指数级的多 -最精简 -学习门槛低 -心智负担低 • 关注焦点 -服务端开发 -大型软件工程 Go 语言的发展瓶颈 • 服务端开发不是一个大市场 -成也云计算,败也云计算 • Go 语言需要开辟新战场 -桌面开发(程序员最多的市场) • PC桌面开发 • Mobile开发 • Web开发(含小程序及轻应用) • IoT开发 -数据科学(当前最火的市场,推动Python到语言排行榜第二)0 码力 | 54 页 | 1.82 MB | 1 年前3 Go vs. GoPlus(Go+)完全一致(雏形版的 Go) -Go 语言 • 参考资料 -ECUG 2011 讲座 • 《从Erlang 到 CERL 到 Golang》 -Collison预言:Go语言将在两年内制霸云计算领域 • http://www.csdn.net/article/2012-09-14/2809984-will-go-be-the-new-go-to- programming-lan 惊喜3:interface 语言里面你不需要关心,也并不清楚,变量在堆上还是栈上 • 与 Go 语言的显式表达并不矛盾 -Go 语言强调的是对开发者的程序逻辑(语义)的显式表达,而非对计算 机硬件结构的显式表达 -对计算机硬件结构的高度抽象,将更有助于 Go 语言适应未来计算机硬 件发展的变化 惊喜8:C 语言的支持 • Go 语言是除了 Objective-C、C++ 这两门以兼容 C 为基础目标 的语言外的所有语言中,对 Go 语言小结 • 少就是指数级的多 -最精简 -学习门槛低 -心智负担低 • 关注焦点 -服务端开发 -大型软件工程 Go 语言的发展瓶颈 • 服务端开发不是一个大市场 -成也云计算,败也云计算 • Go 语言需要开辟新战场 -桌面开发(程序员最多的市场) • PC桌面开发 • Mobile开发 • Web开发(含小程序及轻应用) • IoT开发 -数据科学(当前最火的市场,推动Python到语言排行榜第二)0 码力 | 54 页 | 1.82 MB | 1 年前3
 1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台持续保障系统稳定性 只需很少的运维投⼊即可保证系统稳定性 端点⼀站式 PaaS - Erda 第⼆部分 端点 PaaS 发展历程 有状态服务 Job / JobFlow 批计算 流计算 ⽆状态服务 DaemonSet Workloads 多集群调度 混合云调度 跨云迁移 多环境调度 业务数据统⼀调度 集群核⼼服务 Helm 镜像服务 Add-on filebeat Rancher Openshift 私有云 公共 物理机 虚拟机 微服务治理平台 DevOps 平台 边缘监控 边缘站点管理 制品 快速分发部署 边缘⽇志 边缘计算平台 边缘数据收集 边缘算⼒调度 ⽹络⾃动容错 平台产品 核⼼引擎 容器服务 基础设施 数仓设计 数据智能平台 智能预测 智能客服 智能仓储 智能推荐 流程⾃动化 智能营销 快数据平台 Linux OS 定义了服务之间的依赖 - 定义了服务和中间件的依赖 云原⽣微服务治理 - 兼容 Spring Cloud & Dubbo, 应⽤⽆需改动代码即可接⼊ - 托管的微服务引擎,降低⽤户 运维压⼒ - 可选云服务作为服务引擎 系统监控 System: CPU 内存 磁盘 ⽹络 系统负 载 进程 Docker Middlewares: MySQL Redis ElasticSearch0 码力 | 40 页 | 8.60 MB | 1 年前3 1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台持续保障系统稳定性 只需很少的运维投⼊即可保证系统稳定性 端点⼀站式 PaaS - Erda 第⼆部分 端点 PaaS 发展历程 有状态服务 Job / JobFlow 批计算 流计算 ⽆状态服务 DaemonSet Workloads 多集群调度 混合云调度 跨云迁移 多环境调度 业务数据统⼀调度 集群核⼼服务 Helm 镜像服务 Add-on filebeat Rancher Openshift 私有云 公共 物理机 虚拟机 微服务治理平台 DevOps 平台 边缘监控 边缘站点管理 制品 快速分发部署 边缘⽇志 边缘计算平台 边缘数据收集 边缘算⼒调度 ⽹络⾃动容错 平台产品 核⼼引擎 容器服务 基础设施 数仓设计 数据智能平台 智能预测 智能客服 智能仓储 智能推荐 流程⾃动化 智能营销 快数据平台 Linux OS 定义了服务之间的依赖 - 定义了服务和中间件的依赖 云原⽣微服务治理 - 兼容 Spring Cloud & Dubbo, 应⽤⽆需改动代码即可接⼊ - 托管的微服务引擎,降低⽤户 运维压⼒ - 可选云服务作为服务引擎 系统监控 System: CPU 内存 磁盘 ⽹络 系统负 载 进程 Docker Middlewares: MySQL Redis ElasticSearch0 码力 | 40 页 | 8.60 MB | 1 年前3
 Go Web编程参考资料 5 1 GO环境配置 1 GO环境配置 欢迎来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点: 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。 Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。 Go是静态类型的语言,它的类型系统没有层级。因此用 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打 算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻 量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生 了。 在本章中, // 声明了一个长度为10的int数组,其中前三个元素初始化为1、2、3,其它默认为0 c := [...]int{4, 5, 6} // 可以省略长度而采用`...`的方式,Go会自动根据元素个数来计算长度 也许你会说,我想数组里面的值还是数组,能实现吗?当然咯,Go支持嵌套数组,即多维数组。比如下面的代码就声 明了一个二维数组: 46 // 声明了一个二维数组,该数组以两个数组作为元素0 码力 | 295 页 | 5.91 MB | 1 年前3 Go Web编程参考资料 5 1 GO环境配置 1 GO环境配置 欢迎来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点: 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。 Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。 Go是静态类型的语言,它的类型系统没有层级。因此用 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打 算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻 量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生 了。 在本章中, // 声明了一个长度为10的int数组,其中前三个元素初始化为1、2、3,其它默认为0 c := [...]int{4, 5, 6} // 可以省略长度而采用`...`的方式,Go会自动根据元素个数来计算长度 也许你会说,我想数组里面的值还是数组,能实现吗?当然咯,Go支持嵌套数组,即多维数组。比如下面的代码就声 明了一个二维数组: 46 // 声明了一个二维数组,该数组以两个数组作为元素0 码力 | 295 页 | 5.91 MB | 1 年前3
 2.2.6 字节跳动在 Go 网络库上的实践设计实现 01 性能亮点 02 高级特性 03 展望未来 04 新思路: unsafe, mcache(no gc), ... 新技术(火山引擎): share memory IPC, ... 场景特化(火山引擎): 同机部署, 纯计算 /cache ... Thanks contact us0 码力 | 42 页 | 3.19 MB | 1 年前3 2.2.6 字节跳动在 Go 网络库上的实践设计实现 01 性能亮点 02 高级特性 03 展望未来 04 新思路: unsafe, mcache(no gc), ... 新技术(火山引擎): share memory IPC, ... 场景特化(火山引擎): 同机部署, 纯计算 /cache ... Thanks contact us0 码力 | 42 页 | 3.19 MB | 1 年前3
 2.7 Golang与高性能DSP竞价系统= 6千万 记录 • 实时统计 • 实时计算、⼊入库 • 实时查询,秒级响应 曝光统计服务 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved 曝光统计服务 HTTP接⼝口, Go服务 ⽇日志 队列 Transfer, 计算并⽣生成SQL SQL 队列 MysQL 实时库 All Right ReservedAll Right Reserved • 写⼊入做⼀一些合并,减少写⼊入的SQL数量 • MySQL库只保留最近7天的数据 • MySQL使⽤用MyISAM引擎 • MySQL做分库、分表后还可以应付 • InfoBright是列存储 • InfoBright压缩率奇⾼高 • InfoBright使⽤用的是社区版 曝光统计服务 专业DSP解决⽅方案0 码力 | 51 页 | 5.09 MB | 1 年前3 2.7 Golang与高性能DSP竞价系统= 6千万 记录 • 实时统计 • 实时计算、⼊入库 • 实时查询,秒级响应 曝光统计服务 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved 曝光统计服务 HTTP接⼝口, Go服务 ⽇日志 队列 Transfer, 计算并⽣生成SQL SQL 队列 MysQL 实时库 All Right ReservedAll Right Reserved • 写⼊入做⼀一些合并,减少写⼊入的SQL数量 • MySQL库只保留最近7天的数据 • MySQL使⽤用MyISAM引擎 • MySQL做分库、分表后还可以应付 • InfoBright是列存储 • InfoBright压缩率奇⾼高 • InfoBright使⽤用的是社区版 曝光统计服务 专业DSP解决⽅方案0 码力 | 51 页 | 5.09 MB | 1 年前3
 Go 入门指南(The way to Go)在生 产环境与软件开发之间的主要矛盾,并尝试设计一门全新的编程语言来解决这些问题。 以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C Rob Pike 共同开 发了 UTF-8 字符集规范。自 2008 年 1 月起,Ken Thompson 就开始研发一款以 C 语言为目标结果的编 译器来拓展 Go 语言的设计思想。 这是一个由计算机领域 “发明之父” 所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非 常深刻的见解 图 1.1 Go 语言设计者:Griesemer、Thompson 和 Pike Go入门指南 gid=2524765&trk=myg_ugrp_ovr。 Go 编程语言的维基百科:en.wikipedia.org/wiki/Go_(programming_language) Go 语言相关资源的搜索引擎页面:gowalker.org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go-tour.googlecode0 码力 | 380 页 | 2.97 MB | 1 年前3 Go 入门指南(The way to Go)在生 产环境与软件开发之间的主要矛盾,并尝试设计一门全新的编程语言来解决这些问题。 以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C Rob Pike 共同开 发了 UTF-8 字符集规范。自 2008 年 1 月起,Ken Thompson 就开始研发一款以 C 语言为目标结果的编 译器来拓展 Go 语言的设计思想。 这是一个由计算机领域 “发明之父” 所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非 常深刻的见解 图 1.1 Go 语言设计者:Griesemer、Thompson 和 Pike Go入门指南 gid=2524765&trk=myg_ugrp_ovr。 Go 编程语言的维基百科:en.wikipedia.org/wiki/Go_(programming_language) Go 语言相关资源的搜索引擎页面:gowalker.org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go-tour.googlecode0 码力 | 380 页 | 2.97 MB | 1 年前3
 Go 入门指南(The way to Go)传递变长参数 6.4 defer 和追踪 6.5 内置函数 6.6 递归函数 6.7 将函数作为参数 6.8 闭包 6.9 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 的键值对调 第9章:包(package) 9.1 标准库概述 9.2 regexp 包 9.3 锁和 sync 包 - 3 - 本文档使用 书栈(BookStack.CN) 构建 9.4 精密计算和 big 包 9.5 自定义包和可见性 9.6 为自定义包使用 godoc 9.7 使用 go install 安装自定义包 9.8 自定义包的目录结构、go install 和 go test 的一些问题。因此学者们坐下来总结出了现在生产环境与软件开发之间的主要矛盾,并尝试设计一门全新的编程语言 来解决这些问题。 以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者0 码力 | 466 页 | 4.44 MB | 1 年前3 Go 入门指南(The way to Go)传递变长参数 6.4 defer 和追踪 6.5 内置函数 6.6 递归函数 6.7 将函数作为参数 6.8 闭包 6.9 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 的键值对调 第9章:包(package) 9.1 标准库概述 9.2 regexp 包 9.3 锁和 sync 包 - 3 - 本文档使用 书栈(BookStack.CN) 构建 9.4 精密计算和 big 包 9.5 自定义包和可见性 9.6 为自定义包使用 godoc 9.7 使用 go install 安装自定义包 9.8 自定义包的目录结构、go install 和 go test 的一些问题。因此学者们坐下来总结出了现在生产环境与软件开发之间的主要矛盾,并尝试设计一门全新的编程语言 来解决这些问题。 以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者0 码力 | 466 页 | 4.44 MB | 1 年前3
 1.2 Go 在分布式系统开发中的应用conponents 起因以及一些差异 not gonna cover every details zookeeper vs etcd 起因: reborndb是一个分布式redis集群框架 支持透明切换引擎 为了同时支持zookeeper和etcd zookeeper vs etcd zookeeper: session etcd: stateless zookeeper vs etcd 文件和目录的差异0 码力 | 20 页 | 131.34 KB | 1 年前3 1.2 Go 在分布式系统开发中的应用conponents 起因以及一些差异 not gonna cover every details zookeeper vs etcd 起因: reborndb是一个分布式redis集群框架 支持透明切换引擎 为了同时支持zookeeper和etcd zookeeper vs etcd zookeeper: session etcd: stateless zookeeper vs etcd 文件和目录的差异0 码力 | 20 页 | 131.34 KB | 1 年前3
共 49 条
- 1
- 2
- 3
- 4
- 5














