-
透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是 2022 年 6 月 17 日,在 1967 年的今天,在我国西部地区成功地爆炸了第一颗氢弹。这次试验是中国继第一颗原子弹爆炸成功后,在核武器发展方面的又一次飞跃。氢弹亦称“热核武器”,它是一种利用氢元素原子核在高温下聚变反应于瞬间放出巨大能量起杀伤破坏作用武器,它主要由装料、引爆装置和外壳组成。回顾古今中外的科技历史,今天还发生过哪些关键事件呢?1937 年 6 月 17 日:超文本和超媒体术语的创造者 Ted Nelson 出生图源:维基百科泰德·尼尔森(Theodor Holm Nelson)出生于 1937 年 6 月 17 日,是美国信息技术先驱,哲学家和社会学家。他于 1963 年创造了术语“超文本”(hypertext)与“超媒体”(hypermedia),并于 1965 年向媒体公开发表。他创造的术语还包括“超引用”(Transclusion)、“虚质性”(Virtuality)和“内联性”(Intertwingularity)。根据 1997 年福布斯杂志的简介,尼尔森“将自己视为浪漫主义文学家”。尼尔森是导演拉尔夫·尼尔森和演员西莱斯特·霍姆之子,在生下他之后,父母很快就离婚了;尼尔森便由祖父母在芝加哥和格林威治村养大。尼尔森于 1959 年在斯沃斯莫尔学院获得哲学学士学位。在那里,他制作了一部实验性的幽默电影,《斯洛克姆弗洛的顿悟》;在大学和研究生院期间,他开始构想一种基于计算机的写作系统,该系统将为世界知识提供持久的存储库,并允许在思想之间建立更大的灵活性。这被称为“世外桃源计划”(Project Xanadu)。世外桃源计划是世界上第一个超文本项目,由泰德·尼尔森于 1960 年创立。 “世外桃源计划”的管理人员宣称它比万维网更优越,还声称:“该计划是当今流行的软件模拟纸张。万维网使我们最初的超文本模型变得微不足道,因为那个仅仅是单向的、不断断开的链接,而且对版本或内容没有管理。”《连线》杂志曾发表了一篇题为《世外桃源》的文章,称世外桃源计划是“计算机工业历史上运行时间最长的雾件故事”;关于雾件的意思我们曾在 2 月 3 日专栏《开源一词诞生》中介绍过,雾件(Vaporware)指的是在开发之前若干年或者在开发期间就已经提前炒作的产品,通常是软件,多数情况下会延期发布,很多产品甚至不会发布,用现在人的话来讲,就是“画大饼”。虽然世外桃源计划还只是个饼,但尼尔森在当时所创造的大量术语词汇却留存到了今天;1988 年 1 月,Byte 杂志发表了一篇关于尼尔森想法的文章,题为“管理巨大的存储”,这激发了计算机行业的讨论,并鼓励了人们尝试超文本功能。同年,在澳大利亚布里斯班举行的第七届 WWW 大会上,尼尔森被授予尤里·鲁宾斯基纪念奖。如今的尼尔森仍作为一位科技界的“浪漫主义文学家”活跃着,在过去四十多年里,尼尔森仿佛生活在平行宇宙中,堂吉诃德般地建造着他心目中的数字世外桃源,你觉得他的“世外桃源计划”能在接下来的元宇宙时代真正得以实现吗?欢迎在评论区分享你的真知灼见。资料来源:维基百科1956 年 6 月 17 日:Novell 首席科学家 Drew Major 出生图源:维基百科德鲁·梅杰(Drew Major)出生于 1956 年 6 月 17 日,他是美国的一名计算机科学家和企业家,以在 Novell 公司的早期担任 Novell NetWare 操作系统的主要工程师而闻名。梅杰于 1980 年获得杨百翰大学理学学士学位,并以优异的成绩毕业于数学和计算机科学。梅杰于 1983 年加入 Novell,他的合作伙伴 Kyle Powell、Dale Neibaur 和 Mark Hurst 开始致力于使 PC 能够通过局域网(LAN)共享文件和其他资源。梅杰担任 NetWare 操作系统的首席架构师和开发人员超过 15 年,并于 2003 年离开 Novell。在加入 Novell 之前,梅杰和 Dale Neibaur、Kyle Powell 等同事共同创立了一个叫 SuperSet Software 的团体,后来 Mark Hurst 加入。他们的工作基于学生时代于 1981 年 10 月在美国犹他州普罗沃的杨百翰大学开始的课堂作业,以及之前在 Eyring 研究所使用 Xerox 网络系统(XNS) 协议的工作经验,该协议导致 Novell 开发 IPX 和 SPX 网络协议的计划得以诞生,并促进了 NetWare 操作系统的建立。1983 年,Ray Noorda 接任 Novell 的领导,并聘请 SuperSet 团队开发网络产品。该团队最初被指派创建一个 CP/M 磁盘共享系统,以帮助将 Novell 当时销售的 CP/M 硬件联网。在 Ray Noorda 的领导下,SuperSet Software 小组为新推出的兼容 IBM 的 PC 开发了一个成功的文件共享系统。离开 Novell 后,梅杰与他人共同创立了视频网络公司 Move Networks, Inc。该公司在 2010 年开始遇到财务问题,因未能交付关键技术,其一些较大的客户放弃了公司的技术。该公司随后于 2011 年 1 月被 EchoStar 公司以 4500 万美元的价格收购。目前与妻子玛丽和他们的四个儿子居住在犹他州的奥勒姆,他出生在加利福尼亚,但大部分时间都住在犹他州。资料来源:维基百科1985 年 6 月 17 日:探索频道开播图源:维基百科探索频道(Discovery Channel)是由探索传播公司于 1985 年的今天在美国创立的电视频道。探索频道主要播放流行科学、科技、历史、考古及自然纪录片。探索频道在世界主要国家地区均有落地,但探索频道会因应不同地区设立不同版本,加上字幕或配音。美国版本主要播放写实电视节目,如著名的流言终结者系列。亚洲探索频道除着重播放写实节目之外,也会播放东方文化的相关节目,如介绍中国、日本文化的一系列节目。部分系统业者已启用高清。探索频道起初主要播放科学、科技、自然、历史相关的节目,如知名的《超炫美式机车》、《流言终结者》和《野兽修车工》等节目,只集中于科学范围;正因为如此,当时探索频道播放的皆是属于科学教育节目类别,而非娱乐节目。美国探索网络在美国的探索频道跌出十大最受欢迎频道和连续两年低评分之后,美国探索网络副主席克里斯·莫斯里(Chris Moseley)表示,频道将会回复到原有的目标,播放有趣的教育科学节目。在中国,探索频道的信号通过亚太 6 号卫星(东经 134 度)接受 KU 波段信号。该服务一般只提供给三星级或以上的涉外宾馆酒店,外国人居住区,领事馆及大使馆。深圳天威有线亦传送了亚太 6 号所有境外频道,其中包括 Discovery 亚洲频道,需要付费开通;此外,国内各省市的地方电视台也会转播或播放探索频道制作的节目。同时,探索频道还曾与浙江华数集团成立合资公司,并开办了面向全国播出的高清付费电视频道提供绝大多数的节目内容。你对探索频道(Discovery Channel)有印象吗?你在电视上一般会看什么频道?欢迎参与本期投票,在评论区分享你的真知灼见。原文链接:https://blog.csdn.net/Byeweiyang/article/details/125328089
-
>摘要:华为云IoT设备接入云服务(后续章节简称为“IoTDA”)提供海量设备的接入和管理能力,可以将IoT设备联接到华为云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助快速构筑物联网解决方案。 本文分享自华为云社区《[大型物联网平台如何来保障亿级设备安全连接上云?](https://bbs.huaweicloud.com/blogs/358026?utm_source=csdn&utm_medium=bbs-ex&utm_campaign=other&utm_content=content)》,作者:华为云IoT高级工程师茂茂。 # 1. IoTDA业务流 华为云IoT设备接入云服务(后续章节简称为“IoTDA”)提供海量设备的接入和管理能力,可以将IoT设备联接到华为云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助快速构筑物联网解决方案。 使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。  其中,业务应用又可拆解为应用集成层和设备数据集成层两部分,前者基于IoTDA提供的丰富的原子API实现设备管理和控制,后者基于IoTDA提供数据流转能力实现设备数据采集。  通过上述分析,在IoTDA的业务流中,存在多个交互过程,包括但不限于:①应用集成层与平台、②设备与平台、③平台与设备数据集成层。 交互必然存在认证鉴权,此文以上述三个交互过程为例,对IoTDA的鉴权和认证进行分析,帮助开发者理解其中的安全原理和机制,快速上手华为云IoT设备接入云服务。 # 2. 认证鉴权基本概念 在进入IoTDA业务流认证鉴权前,首先,我们要先理解“认证鉴权”这一概念。 这里我们引入一个例子,帮助我们快速理解。唐三藏西天取经,路过一个个关隘,过程我们很熟悉了——唐三藏递送通关文牒,口念:“贫僧唐三藏,从东土大唐而来,去往西天拜佛求经”。 对应着我们的哲学三问: 1. 我是谁?(贫僧唐三藏) 2. 我从哪里来?(从东土大唐而来) 3. 我要到哪里去?(去往西天拜佛求经) 声明了自己的身份以及执行的操作。 关隘把守人员: 1. 验证身份:他是不是东土大唐派来的唐三藏?——认证(凭据为通关文牒)。 2. 东土大唐派遣(委托)唐三藏去西天取经,凭据为通关文牒。——授权(授权媒介为通关文牒) 3. 通关文牒中派遣是否真实?——鉴权(通关文牒的真实性) 4. 要不要放他通行?——权限控制(通关) 说明:如下关于“认证、授权、鉴权、权限控制”的内容来自对互联网相关资料的整理。 ## 2.1 认证(Identification) 对**访问系统的主体**的**身份进行验证**的过程,确认访问主体是它所声明的。访问主体使用**“身份标识符+认证凭证”**来证明自己的身份。 一般来说,认证有三种方式: - 基于信息秘密的身份认证,你知道的内容(something you know):静态口令、预共享密钥、公私钥对、数字证书… - 基于信任物体的身份认证,你持有的证明(something you have):智能卡、动态令牌卡(u盾)、身份证… - 基于生物特征的身份认证,你就是这个人(something you are):生物特征(虹膜、面部、指纹、语音等) 高安全要求的场景下,会使用多种认证方式组合进行身份校验,即多因素认证。 ## 2.2 授权(Authorization) 资源所有者委派执行者,赋予其指定范围的权限,执行对资源的操作。 **资源所有者**:拥有资源的所有权利,一般就是资源的拥有者。 **执行者**:被委派去执行资源的相关操作。 **操作权限**:可以对资源进行的某种操作。 **资源**:有价值的信息或数据等,受到安全保护。 现实生活中,授权的实现方式(授权媒介)有银行卡、门禁卡、钥匙、证书等,在互联网应用开发领域,授权的实现方式有: - 通过web服务器的session机制,一个访问会话保持着用户的授权信息 - 通过web浏览器的cookie机制,一个网站的cookie保持着用户的授权信息 - 颁发授权令牌(token),一个合法有效的令牌中保持着用户的授权信息 通常要求授权媒介不可被篡改,不可随意伪造,很多时候需要受保护,防止被窃取。 ## 2.3 鉴权(Authentication) 对一个声明者的身份权利的真实性进行鉴别。 授权和鉴权是一个一一对应的流程,有授权才会去鉴权,鉴权就是对授权所颁发授信媒介进行解析,确认其真实性。 ## 2.4 权限控制(Access/Permission Control) 权限控制是指对可执行的各种操作组合配置为权限列表,然后根据执行者的权限,若其操作在权限范围内,则允许执行,否则禁止。 权限,是将执行者的行为抽象化的一个概念。 控制,是根据执行者的权限,对其所执行的操作进行判断,决定允许或禁止当前操作的执行。 常见的权限系统设计模型有DAC(Discretionary Access Control)自主访问控制、MAC(mandatory access control)强制访问控制、RBAC(Role-Based Access Control)基于角色的访问控制、ABAC(Attribute-based access control)基于属性的访问控制。 ## 2.5 四者的关系 认证、授权、鉴权和权限控制这四个环节是一个前后依次发生、上下游的关系:认证-->授权-->鉴权-->权限控制。 认证和授权经常同时发生,让人误以为两者一样,其实两者是不一样的概念,两者都有对身份的确认过程,主要区别在于: - 认证是确认声明者的本身身份,其作为授权的上游衔接而存在; - 鉴权是对声明者所声明的真实性进行确认的过程,其作为授权的下游衔接而存在。 # 3. 通用的认证鉴权手段 “基于信息秘密的身份认证”的这一类认证方式较为常见,本文涉及的认证手段均属此类。 服务端对客户端的认证鉴权要解决两个关键问题: 1. 确认客户端的身份; 2. 确认请求来自确定身份的客户端。 ## 3.1 基于账号口令认证鉴权: 客户端和服务端均持有认证客户端的账号口令,客户端认证和鉴权过程均携带账号口令,服务端通过验证账号口令的正确性来完成认证和鉴权。 此种方式需要保证口令存储和传输过程的秘密性,不被服务端和客户端以外的第三方窃取。一旦口令遭到泄露,客户端身份将有可能被仿冒,在更新泄露的口令前都始终存在极大的安全隐患。因此,我们很容易想到给凭据增加一个期限。 ## 3.2 临时令牌鉴权: 与“基于账号口令认证鉴权”相同,客户端和服务端预共享账号口令,认证过程中,客户端携带账号口令,服务端验证账号口令的正确性。不同的是,认证通过后,服务端向客户端下发有一定时效性的令牌即Token,客户端在令牌有效期内使用该临时令牌与服务端进行业务交互,服务端基于该Token对客户端进行鉴权。 在鉴权阶段使用有时效性的凭据,可有效避免口令在鉴权阶段的泄露。此种方式仍然需要保证口令存储和认证传输过程中的秘密性,同时也需要保证临时令牌在时效内的秘密性,一定程度上降低了口令泄露的概率。 ## 3.3 对称加密认证: 与前两者类似,客户端和服务端预共享账号口令。认证和鉴权过程中,客户端使用口令作为加密秘钥对请求或请求的摘要做加密,将密文附加在认证和鉴权的请求中,服务端收到请求后,使用口令对密文做解密或对摘要做验证,随即完成对客户端的认证和鉴权。 此种方式仍需保证口令存储的秘密性,但可喜的是实现了口令不出现在传输过程中,显著降低了口令泄露的风险。 账号和口令是客户端身份的象征,谁持有了该客户端的账号和口令就被认为是该客户端。客户端的账号口令本应只属于客户端所有,但因服务端的验证需要,客户端需与服务端共享该账号及口令。若有一种验证方式,能够实现服务端不持有口令即可完成口令的验证,那么将带来安全性的跨越式提升。 ## 3.4 非对称加密认证: 非对称加密应运而生。客户端生成一对唯一的密钥对,密钥对包含一个公钥和一个私钥,两者一一对应,秘钥对有如下属性:密钥对包含公钥和私钥,如果用其中一个密钥加密一段数据,则必须用另一个密钥才能解密。 在“对称加密认证”的基础上,客户端与服务端预共享公钥。认证和鉴权过程中,客户端使用私钥对请求或请求的摘要加密,将密文附加在认证和鉴权的请求中,服务端收到请求后,使用公钥对密文解密或对摘要做验证,随即完成对客户端的认证和鉴权。当服务端需要给客户端回复信息时,服务端可使用公钥对信息加密,该信息也只能由客户端的私钥解密。 如上过程我们可总结为:”公钥共享,私钥保密;公钥加密,私钥解密;私钥签名,公钥验签“。只要客户端不泄露私钥,那么就是安全的。 此种方式仅需保证私钥在客户端端存储的秘密性,同时也可实现整个端到端通信过程的安全可信。 ## 3.5 证书认证: 前一种方式下,若存在大量的客户端,那么预共享公钥显然会是个繁琐的过程。 好在办法总比困难多。信任模型能够解决“大量客户端”与服务端预共享公钥的问题。 具体的做法是:我们对公钥做一个变身,公钥叠加客户端身份信息得到TBS(to be signed),引入一个可信的第三方负责对客户端身份信息做公证(可信第三方使用其私钥对TBS签名,将TBS、签名算法及签名值组合而成得到证书),认证和鉴权过程中,客户端将证书传输给服务端,服务端仅需通过预共享可信第三方的公钥,使用该公钥验证证书并提取到客户端身份信息、服务端公钥,即可完成对客户端公钥的预共享,随即可完成后续的认证和鉴权。 如上过程我们可以理解为:预共享客户端公钥的目的是将身份标识及对应的公钥提供给服务端,证书方式将此过程交给可信第三方完成,服务端从客户端提供的证书中提取这两种信息,这两种信息的真实性通过可信第三方的公证(对证书验签)来保证。 如果客户端私钥遭泄露怎么办?那么就引入了吊销机制。 可信第三方维护了一个被吊销了的客户端证书列表,并将该列表获取方式附加在它所颁发的证书的扩展信息中;客户端一旦泄露自身私钥,则向可信第三方申请吊销该证书;申请通过后可信第三方将该证书添加到证书吊销列表中。服务端在验证客户端证书时,从证书中读取证书吊销列表获取方式,从而获取到已吊销的证书列表,确认该证书是否已被吊销,实际实现中为了避免性能消耗,服务端定期从可信第三方获取吊销证书列表并做缓存,每次比对仅需在缓存中比对,无需频繁从可信第三方拉取吊销列表。 ## 3.6 双向证书认证: 前一小节介绍了服务端对客户端的认证,客户端认证服务端,也只需要在客户端预置服务端的证书CA,即可实现双向证书认证。 双向证书认证是一种使用数字证书作为通信实体身份鉴别依据的认证手段。基于: 1. 非对称加密特性:密钥对包含公钥和私钥,如果用其中一个密钥加密一段数据,则必须用另一个密钥才能解密。”公钥共享,私钥保密;公钥加密,私钥解密;私钥签名,公钥验签“。 2. 数字证书:包含一个公钥、身份信息以及证书授权中心的数字签名。 3. 信任模型:当可以确定一个实体身份或者有一个足够可信的身份签发者证明该实体的身份时,才能做出信任那个身份的决定。 举个例子,来自中国的张三要和来自美国的David通信,在会话建立前双方都需要确认对方的身份(张三:对方是不是美国的David?David:对方是不是中国的张三?)。  张三来自中国,身份由ca_china.crt颁发,David来自USA,身份由ca_usa.crt颁发。张三要确认David的身份,需要使用ca_usa.crt来验证其身份,反之,David需要确认张三的身份,需要使用ca_china.crt来确认张三的身份。通信双方均使用ca认证对端为双向认证,仅一方认证另一方,为单向认证。 # 4. IoTDA提供的多种认证手段  ## 4.1 应用集成层与平台 这部分的业务流程为应用调用平台提供的应用侧API来实现。平台针对向应用提供的应用侧API封装了多种编程界面: - Console:即华为云官网控制台(以下简称“Console”),为Web界面,最大的优点是无需任何编程基础,非常直观,租户进行通过浏览器输入账号密码,登陆华为云控制台,即可实现Console上的业务操作。 - 华为云SDK V3:华为云简单易学、隐藏细节、多语言支持; - API Explorer:快速检索,在线调试,联动文档; - CLI:独立执行、多OS平台、自动升级; - 自行封装:提供java语言的样例(支持apache-httpclient和okhttp)。 认证方式有账号密码和访问秘钥两种,均为“基于信息秘密的身份认证”,就使用的授权媒介(或称为鉴权依据)而言,前者为Token,后者为签名。账号密码不做过多赘述,此处重点介绍访问秘钥。 ### 4.1.1 访问秘钥 #### 4.1.1.1 永久安全凭证 文档首页> 统一身份认证服务 IAM> 用户指南> IAM用户> 管理IAM用户访问密钥 [管理IAM用户访问密钥_统一身份认证服务 IAM_用户指南_IAM用户_华为云](https://support.huaweicloud.com/usermanual-iam/iam_02_0003.html) 访问密钥即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。 “永久安全凭据”又称“访问秘钥”,也称“AK/SK”。 #### 4.1.1.2 临时安全凭证 为满足客户对安全的时效性需要,华为云提供了与永久安全凭证相对应的临时安全凭证,其中包括临时AK/SK和SecurityToken。临时安全凭证与永久安全凭证的工作方式几乎相同,仅存在小量差异。 #### 4.1.1.3 安全凭证签名过程 签名过程为: [文档首页> API签名指南> API签名指南> 概述](https://support.huaweicloud.com/devg-apisign/api-sign-provide01.html) 概述_API签名指南_API签名指南_华为云 1. 构造规范请求 CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload)) HashedCanonicalRequest = Lowercase(HexEncode(Hash.SHA256(CanonicalRequest))) 1. 创建待签字符串 StringToSign = Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest 2. 计算签名 signature = HexEncode(HMAC(Secret Access Key, StringToSign)) 3. 添加签名信息到请求头 Authorization: algorithm Access=Access key, SignedHeaders=SignedHeaders, Signature=signature ### 4.1.2 用户界面 图形界面: - Console:通过浏览器输入账号密码; - API Explorer:通过浏览器输入账号密码; 调试工具: - CLI:AK/SK; - Postman:Token 编程界面: - 华为云SDK V3:AK/SK; - 自封装:提供java语言的样例(支持apache-httpclient和okhttp)。 在业务实践过程中,多数客户对华为云SDK V3青睐有加,极少数客户选择自封装的方式。本章节对这两种方式做一个java语言版本的演示。 #### 4.1.2.1 华为云SDK V3(推荐) [Java SDK使用指南_设备接入 IoTDA_SDK参考_应用侧SDK_华为云](https://support.huaweicloud.com/sdkreference-iothub/iot_10_10002.html) 方式一:使用通用认证类(BasicCredentials) ``` // 基础版地址 List basicEndpoints = Arrays.asList( "https://iotda.cn-north-4.myhuaweicloud.com", "https://4e1af840db.iotda.cn-north-4.myhuaweicloud.com" ); // 创建认证 ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk) .withDerivedPredicate(new Function() { @Override public Boolean apply(HttpRequest httpRequest) { // 根据endpoint判断需要使用何种签名方式 // 基础版使用AKSK鉴权方式,此处返回false; // 非基础版需要使用衍生AKSK鉴权方式,此处返回true String endpoint = httpRequest.getEndpoint(); return !basicEndpoints.contains(endpoint); } }); // 创建IoTDAClient实例并初始化 IoTDAClient client = IoTDAClient.newBuilder() .withCredential(auth) // 基础版:请选择IoTDARegion中的Region对象 //.withRegion(IoTDARegion.CN_NORTH_4) // 标准版/企业版:需自行创建Region对象 .withRegion(new Region(REGION_ID, ENDPOINT)) .build(); ``` 方式二:使用IoTDA的专属鉴权类(IoTDACredentials) ``` // *********************** 访问基础版 *********************** // 创建认证 ICredential auth = new IoTDACredentials() .withAk(ak) .withSk(sk) .withDefaultEndpoint(true); // 标准基础版,此处设置为 true // 创建IoTDAClient实例并初始化 IoTDAClient client = IoTDAClient.newBuilder() .withCredential(auth) // 基础版:请选择IoTDARegion中的Region对象 .withRegion(IoTDARegion.CN_NORTH_4) .build(); // *********************** 访问标准版/企业版 *********************** // 创建认证 ICredential auth = new IoTDACredentials() .withAk(ak) .withSk(sk) .withDefaultEndpoint(false); // 标准标准版/企业版,此处设置为 false // 创建IoTDAClient实例并初始化 IoTDAClient client = IoTDAClient.newBuilder() .withCredential(auth) // 标准版/企业版:需自行创建Region对象 .withRegion(new Region(REGION_ID, ENDPOINT)) .build(); // *********************** 通过内部网络组件访问基础版 *********************** // 创建认证 ICredential auth = new IoTDACredentials() .withAk(ak) .withSk(sk) .withDefaultEndpoint(true); // 标准基础版,此处设置为 true // 创建IoTDAClient实例并初始化 IoTDAClient client = IoTDAClient.newBuilder() .withCredential(auth) // 标准版/企业版:需自行创建Region对象 .withRegion(new Region(REGION_ID, "https://internl-nginx:8080")) .build(); ``` #### 4.1.2.2 自封装(存量系统使用) 提供Java版本的Example: [Java Demo使用说明_设备接入 IoTDA_开发指南_应用侧开发_华为云](https://support.huaweicloud.com/devg-iothub/iot_02_3002.html) AKSK认证 ``` /*********************** AKSK认证 ***********************/ // 初始化基础版信息。默认以 `https://iotda.cn-north-4.myhuaweicloud.com` 为基础版, // 若某些情况(例如客户端与平台之间通过客户自身内网网络组件转发)下基础版地址有变化,则可通过如下方法添加: // ClientExt.addBasicEndpoint("https://custom-proxy.endpoint:443"); // ClientExt.addBasicEndpoint("http://custom-proxy.endpoint:8080"); // ClientExt.addBasicEndpoint("http://172.1.2.3:8080"); // ClientExt.addBasicEndpoint("https://172.1.2.3:1883"); // 构造请求 Request request = new Request(); request.setKey(Constants.ACCESS_KEY); request.setSecret(Constants.SECRET_KEY); // ... 设置url、headers、method、requestBody等 // 签名(此处对基础版和标准版/企业版做了兼容性处理) HttpRequest httpRequest = ClientExt.sign(regionId, request); // ... 发送请求 HttpResponse httpResponse = httpUtils.execute(httpRequest); ``` Token认证(需自行管理Token的生命周期) ``` /*********************** Token认证 ***********************/ // ... 设置url、headers、method、requestBody等 HttpRequest httpRequest = buildHttpRequest(); // 设置Token(需自行解决Token过期或失效时的轮换问题) header.put("X-Auth-Token", token); // ... 发送请求 HttpResponse httpResponse = httpUtils.execute(httpRequest); ``` ## 4.2 设备与平台 平台提供X.509证书双向认证和秘钥认证两种设备侧认证方式。客户可根据设备的能力和实际业务需要自行选择。 ### 4.2.1 X.509证书双向认证 证书双向认证完整业务流程为:  证书双向认证过程为:  ### 4.2.2 密钥认证  ``` /** * HmacSHA256 * * @param str 输入字符串 * @param timeStamp 时间戳 * @return hash后的字符串 */ public static String sha256_mac(String str, String timeStamp) { String passWord = null; try { Mac sha256Hmac = Mac.getInstance("HmacSHA256"); SecretKeySpec secretKey = new SecretKeySpec(timeStamp.getBytes("UTF-8"), "HmacSHA256"); sha256Hmac.init(secretKey); byte[] bytes = sha256Hmac.doFinal(str.getBytes("UTF-8")); passWord = byteArrayToHexString(bytes); } catch (Exception e) { log.error(ExceptionUtil.getBriefStackTrace(e)); } return passWord; } ``` ## 4.3 平台与设备数据集成层 当前华为物联网平台支持HTTP/HTTPS和AMQP两种订阅方式,未来还将支持MQTT订阅方式。 ### 4.3.1 HTTP/HTTPS  第三方应用服务(HTTP推送):应用服务器通过调用物联网平台的创建规则触发条件、创建规则动作、修改规则触发条件接口配置并激活规则,在指定应用服务器的URL后,将平台获取发生变更的设备业务信息(如设备生命周期管理、设备数据上报、设备消息状态、设备状态等)和管理信息(软固件升级状态和升级结果)推送给指定URL的服务器。 Https方式:使用证书双向认证,IoT平台加载由客户提供的用于认证应用服务器证书的CA证书。与之对应的,作为服务端,应用侧如果需要认证IoT平台的身份,需要加载IoT平台的CA证书。 ### 4.3.2 AMQP  用户侧使用平台为其生成的accessKey/accessCode作为认证凭据,与IoT平台建立长链接,实现数据拉取和推送以实现数据集成。
-
P图可以说是近几年的“热词”之一了,网络信息交流的时代,图片是不可缺的媒介之一。不少新手小白可能被Photoshop(Ps)正版的价格(个人正版全套888元)“劝退”了,于是网上充斥了各种“Photoshop破解版”、“免费版Photoshop”的广告和盗版资源。不过,最近,正版Photoshop也免费了,并且是将对所有人免费。(Ps,图源视觉中国)免费网络版开放Photoshop是由Adobe Systems开发的图像处理软件,功能十分强大。为了让更多的人使用Photoshop,Adobe正在测试免费的Photoshop Web版本,目前正在加拿大测试。用户可以通过注册Adobe账户免费访问Photoshop,并且未来还可能开放一些付费用户独有的功能。不仅如此,Adobe还免费提供足量的工具,包括Photoshop的核心功能。(网络版Photoshop,图源Adobe)Ps Web版≠Ps App版Photoshop的Web版在2021年10月首次发布,让不少用户十分惊喜:以后可以线上P图了!但Web版和其App版是一样的吗?答案是否定的。网络版可以说是App的简化版本,更加的简易,可用于处理基本的图片编辑,但并没有包含Photoshop App版的全部功能。当时,Adobe主要将其定位于一个协作工具,之后Adobe对其进行了一些更新,Photoshop的网络版也拥有协作之外的功能。以前,用户必须从桌面应用程序向网络分享文件,但现在,任何Photoshop用户都可以登录并直接从网络上启动一个新的文件。对于一些想要尝试Photoshop的新手小白来说,Photoshop网络版是一个不错的选择,而Adobe此举的根本目的就是让用户尝试后,购买完整版本。广泛推出时间未知目前免费版本只在加拿大开放,Adobe还没有提供在全球其他地区推出免费版的具体时间。与此同时,Photoshop网络版还在继续更新,将会增加更多的工具,包括细化边缘、曲线、烧蚀工具和转换智能对象的能力等。Adobe还预览了一个新的人工智能驱动的神经过滤器,这个功能将加入到Photoshop中。这个新的“照片修复”滤镜可以处理发黄且有划痕的旧照片,并自动清理划痕和恢复一些颜色。当与Adobe现有的为黑白照片添加颜色的彩色化滤镜结合使用时,这两个滤镜可以迅速让一张老照片恢复活力。(修复前后的照片对比)不过不少网友并没有预想中的惊喜,因为他们要么已经找到很好的替代品,比如photopea,要么就是已经在使用免费的盗版资源,并且他们不知道Adobe这次免费的服务什么时候会停止。你对此有什么看法,欢迎留言告诉我们。参考资料:https://www.theverge.com/2022/6/14/23162580/photoshop-web-free-freemium-version-adobe原文链接:https://blog.csdn.net/csdnnews/article/details/125297056
-
时下,随着千行百业进入数字化转型的快车道,关系型数据越来越多,擅长处理关系型数据的图数据库逐渐受到市场的关注。图数据可以通过实体与关系点变化的方式,将知识结构化保存,已经成为基于事务关联关系的模型表达,且具有数据天然可解释性。正因为如此,图数据库也成为2013年以来增速最快的分类,像极了“出道即巅峰”,图数据技术也被业内看好,甚至被认为“未来十年,将是图数据平台成为主流并大放异彩的十年”。数据库流量小生——图数据库出道当前,物联网、互联网、金融等领域中积累了海量的数据,数据间的关联可以产生重要的价值。在对数据处理的探索中,图处理技术为数据赋能提供了新的方式,驱动行业更好地发展。Gartner调查显示,图数据已经成为当下数据分析的基础,图分析在数据分析创新领域的占比为10%。另外,中国信通院预计到2025年,图分析的占比将提升至80%。图数据库的火热从数据库市场的发展也可见一些端倪。面临复杂、互联、动态的数据洪流,数据库平台在过去十年如雨后春笋般涌现,市场上的选择增加到350多个。近几年,数据库市场以5%至6%的年复合增长率高速扩张,市场体量未来4到5年有望从现在的500 亿美元攀升至1000亿美元。换言之,数据库的发展成功孕育着图数据库的未来。在很早之前,大型互联网公司便开始创建自己专有的图处理技术及图数据库系统,用于社交网络、推荐系统、网页检索与排序,并获得成功。时至今日,通信、互联网、社交网络、物联网等领域积累了大量的图数据,规模巨大且不断增长。据悉,Facebook的社交网络规模在2011年已超过8亿顶点;而腾讯QQ的社交网络目前在10亿个顶点的规模;在电信行业中,广州市仅一个月内由电话呼叫方和被呼叫方组成的图的规模就超过4.5 千万个顶点、1.5 亿条边。不仅如此,图数据库还受到国内外企业的重视,包括甲骨文、微软、亚马逊在内的海外科技巨头先后推出了Oracle Graph、Microsoft Azure Cosmos DB、Amazon Neptune等图数据库产品,阿里、腾讯、滴滴、美团、字节等国内互联网巨头也纷纷入局,推出了Graph DB、TGDB、ByteGraph之类的图分析工具。巨头的入场也让Neo4J、TigerGraph等图领域早期玩家受到关注。图数据库市场正处在随时爆发的边缘。解决复杂数据分析,图数据库魅力何在?我们知道,在数据的关联分析中,传统的关系型数据库需要进行大量的关联操作,在小规模数据的情况下这样的操作还可以接受,但是当数据规模逐渐增大,关联操作会造成性能呈指数级下降。而图数据通过将实体与关系点变化的方式,将知识结构保存,这使得数据拥有天然可解释性。因此,图数据库相较于传统关系型数据库和NoSQL数据库,其丰富完整的关系表达提供了高效的关联查询和完备的实体信息。同时,图数据库可以使用小成本,在原有架构上获得性能提升。图数据库不仅可以在物联网、5G、AI等领域发挥作用,也可以用来重构原本的遗留系统。虽然不同的图数据库可能有截然不同的底层,但这些都完全支持用图的方式,来构建数据模型,从而让不同组件之间互相联系。图数据库会极大地简化很多日常数据系统中所面临的问题,增大系统的吞吐量并且降低运维的需求。以物联网为例,大数据时代不只是数据量的增长,数据之间的联系也更加复杂多样化,比如社交软件中的点赞、评论、关注等行为构成的社交网络,移动通信的短信、电话构成的通信网络,移动支付场景如微信支付、红包、面对面的支付、扫码等构成了支付网络,电商场景的浏览、购买、收藏、评论行为构成了用户和物品之间的购物网络。图数据平台让用户能够在图数据库上开发和运行应用程序,直接将关系和数据在物理层面上一并存储下来,使得访问数据结点和关系的操作能够以线性时间复杂度完成。在物联网时代,图变得无处不在,以往传统的单点分析技术逐渐难以准确或完整的刻划个体,针对图数据的关联性计算和查询分析成为常态需求。图数据库能够大行其道吗?在20世纪70年代,得益于图数据模型表达能力强的优势,数据管理领域的研究人员提出图模型对客观世界的数据进行建模,并设计了相关的图数据管理原型系统。其中,Charles W. Bachman还由于其在图数据模型方面的贡献于1973年获得图灵奖。然而,由于图数据查询在表达和执行方面的复杂度都很高,图数据管理系统在应用方面存在挑战,研究趋缓。在那个时候,关系数据库由于其操作接口简单,查询优化技术实现突破,逐渐成为数据管理中的主流。进入千禧之年,随着社交网络等真实大图数据的迅猛增长和其上应用需求的推动,图数据的相关研究工作重新成为热点。VLDB2014国际会议中出现了4个图数据管理的专题讨论。包括Google、 Facebook、微软等在内的国际巨头正在进行分布式大图数据管理系统的研发,支持包括海量Web网页重要性排序、社区发现等操作。图数据库开始蓬勃发展起来。当今的世界是数据的世界,而这个数据时代对开发者而言堪称高光时刻。面向未来中国市场,中国不仅拥有庞大的开发者社区和创新的技术,还有数量众多的企业在开展数字化转型,数字化企业必须将数据转化为切实可行的商业洞见才能创造价值,而这正是图数据平台的用武之地。写在最后当前,图数据库在社交网络、金融领域、知识图谱等均有不俗表现。随着5G、物联网时代的到来,万物互联越发深入人心,图数据正式这种关联方式直接的表达。然而,图数据库产业的发展仍需要标准化工作来找寻正确的方向,普及观点、规范产品能力依然是产业当前的重中之重。来源:比特网
-
5 管理SSID(无线)5.1 概述由于AP设备通常安装在比较隐蔽或较高的位置,当AP异常掉线时,现场维护人员如果通过直接连接AP的Console接口或网线接口来定位故障,操作非常不方便。如果云AP已掉线或未上线,可通过离线管理VAP连接设备并对其进行操作,指示灯会快闪(4Hz)。其中离线管理VAP默认的SSID为hw_manage_xxxx,密码为“hw_manage”,xxxx为AP MAC地址的后四位。PC动态获取IP地址,正常连接后,可登录AP进行后续操作。通过内置Web网管,您可以使用浏览器登录设备。FAT AP和云AP可在图形化界面中完成业务配置和管理维护操作,FIT AP的Web页面会提示在AC上进行FIT AP的配置和管理。设备连接包含有线连接和无线连接两种方式。AP设备对有线连接方式的支持不区分版本和形态,对无线连接方式的支持情况如下:FAT AP从V200R007C20版本开始支持无线连接方式。云AP从V200R007C20版本开始缺省支持离线管理VAP的无线连接方式。FIT AP从V200R007C10版本开始缺省支持离线管理VAP的无线连接方式。 此外,指示灯状态说明见下表: 5.2 管理SSID开局步骤5.2.1 云平台预配置云平台预配置,本处不再复述。 5.2.2 AP云盒设备注册云平台AP设备对无线连接方式的支持情况如下:FAT AP从V200R007C20版本开始支持无线连接方式。云AP从V200R007C20版本开始缺省支持离线管理VAP的无线连接方式。FIT AP从V200R007C10版本开始缺省支持离线管理VAP的无线连接方式。下表为AP处在不同模式下,离线的管理SSID的区别:由上表可以看出,如果管理SSID是HUAWEI-XXXX的,则肯定是Fat模式了;云AP和FitAP的SSID名称是一样的,但是,FITAP的管理SSID连接后,不会自动分配IP地址,需要手工配置IP,因此,也可以通过这个判断是FITAP还是云AP。 1、FIT AP使用便携或手机连接AP的管理WIFI(在AP设备上电后,大于4分钟左右可以搜索到):hw_manage_xxxx(其中XXXX是AP的MAC地址的后四位;例如AP的MAC地址为A4-BE-2B-61-63-00,则XXXX显示为6300):该WIFI连接时需要输入密码hw_manage:出现管理SSID无法连接的情况,如下图:则需要手工在网卡上面配置Ip地址,如下图,选中无线网卡,点击属性:配置无线网卡的IP地址为169.254.2.100/255.255.255.0,如下图:然后,ping 169.254.2.1 可以ping通:然后,打开网页,输入http://169.254.2.1,可以确认,确实是FIT模式:在PC上打开Putty软件,输入AP的IP地址和端口号,选择SSH方式,单击 “Open”。如果出现密钥对信息提示,单击 “Yes”。输入默认的账号:admin,密码:admin@huawei.com配置命令,切换到云模式:操作完,记得去掉无线网卡配置的Ip地址: 2、FAT AP使用便携或手机连接AP的管理WIFI(在AP设备上电后,大于4分钟左右可以搜索到):HUAWEI-XXXX,其中XXXX是AP的MAC地址的后四位。PC动态获取IP地址,正常连接后,打开网页,输入http://192.168.1.1,然后进入维护->设备重启页签,然后选择工作模式为云AP,点击应用:点击确定按钮:重启成功后,就切换到云模式了。 注意:截图供参考,不同设备版本可能有差异。3、云AP使用便携或手机连接AP的管理WIFI(在AP设备上电后,大于4分钟左右可以搜索到):hw_manage_xxxx(其中XXXX是AP的MAC地址的后四位;例如AP的MAC地址为A4-BE-2B-61-63-00,则XXXX显示为6300):该WIFI连接时需要输入密码hw_manage: PC动态获取IP地址,正常连接后,可以查看网络:可以ping通:然后,打开网页,输入http://169.254.2.1: 在AP设备web管理页面,进入首页->概览页面,按照下图红色框框旁的文字提示进行操作,没有框起来的部分不用修改,(其中控制器注册服务地址为:139.9.137.139 也可以用域名:device.qiankun-saas.huawei.com)点击应用,会弹出操作成功提示,点击确定即可:
-
一、计算机网络结构大规模现代计算机网络:网络边缘、接入网络与网络核心1.网络边缘:连接到网络上的所有端系统(例如:连接到网络上的计算机、服务器、智能手机等)构成了网络边缘。2.接入网络:实现网络边缘与网络核心连接与接入的网络对于大规模、复杂的网络端系统相距遥远,这些端系统之间的网络连接和通信需要网络核心进行数据中继和转发。通常,网络核心是由运营商等企业运营的ISP网络,不能直接延伸到用户区域,例如:家中,用户就需要借助接入网络实现与ISP的连接。常见的网络接入技术:电话拨号接入(使用调制调节器)、非对称数字用户线路ADSL(常见,使用频分多路复用技术)、混合光纤同轴电缆HFC接入网络(电缆调制解调器,使用频分多路复用技术,独享式接入)、局域网(以太网、WIFi)、移动接入网络(个人设备接入网络。如:2G/3G/4G)3.网络核心:是由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继与转发典型的分组交换设备:交换机、路由器二、数据交换技术1.计算机网络的目的:在网络边缘的主机之间实现相互的数据传输与信息交换2.数据交换网络:中间网络不需要关心传输数据内容,只是为这些数据从一个节点到另一节点,直至到达目的地,提供数据中继与交换的功能。交换节点:组成交换网络的节点通信子网:交换节点和传输介质的集合,即网络核心。3.数据交换是实现在大规模网络核心上进行数据传输的技术基础。常见的数据交换技术:①电路交换:电话网络是最早最大的电路交换网络。(例如:电话拨号呼叫过程)电路交换包括三个阶段:建立电路、传输数据、拆除电路。、缺点:信道容量与有效时间的浪费②报文交换:发送方把要发送的信息附加上发送/接收主机的地址以及其他控制信息,构成一个完整的报文,然后以报文为单位在交换网络的各个节点之间以存储-转发的方式传送,直至目的主机。缺点:不能满足实时通信速度要求、节点存储空间不够、输出链路被占用不能及时转发报文,使报文被丢弃。③分组交换:目前应用广泛的技术,分组交换将报文分割成较小的数据块,数据块加上地址、序号等控制信息构成数据分组,每个分组独立传输到目的地,目的地将分组重新组装,还原为报文。优点:交换设备存储容量要求低、交换速度快、可靠传输效率高、更加公平
-
本文为您介绍如何通过CDM数据同步功能,迁移MRS Kafka数据至DLI。其他DMS Kafka或者Apache Kafka等服务数据,均可以通过CDM与DLI进行双向同步。前提条件已创建DLI的SQL队列。创建DLI队列的操作可以参考创建DLI队列。注意:创建DLI队列时队列类型需要选择为“SQL队列”。已创建包含Kafka组件的MRS安全集群。具体创建MRS集群的操作可以参考创建MRS集群。本示例创建的MRS集群版本为:MRS 3.1.0。本示例创建的MRS集群开启了Kerberos认证。已创建CDM迁移集群。创建CDM集群的操作可以参考创建CDM集群。创建CDM集群完成后,还需要提交工单开通迁移MRS Kafka数据到DLI的白名单,否则在CDM配置迁移作业时目的端配置查找不到DLI。说明:如果目标数据源为云下的数据库,则需要通过公网或者专线打通网络。通过公网互通时,需确保CDM集群已绑定EIP、CDM云上安全组出方向放通云下数据源所在的主机、数据源所在的主机可以访问公网且防火墙规则已开放连接端口。数据源为云上的MRS、DWS时,网络互通需满足如下条件:i. CDM集群与云上服务处于不同区域的情况下,需要通过公网或者专线打通网络。通过公网互通时,需确保CDM集群已绑定EIP,数据源所在的主机可以访问公网且防火墙规则已开放连接端口。ii. CDM集群与云上服务同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但是子网或安全组不同,还需配置路由规则及安全组规则。配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。iii. 此外,您还必须确保该云服务的实例与CDM集群所属的企业项目必须相同,如果不同,需要修改工作空间的企业项目。本示例CDM集群的虚拟私有云、子网以及安全组和创建的MRS集群保持一致。步骤一:数据准备MRS集群上创建Kafka的Topic并且向Topic发送消息。参考访问MRS Manager登录MRS Manager。在MRS Manager上,选择“系统 > 权限 > 用户”,单击“添加用户”,在添加用户页面分别配置如下参数。用户名:自定义的用户名。当前示例输入为:testuser2。用户类型:当前选择为“人机”。密码和确认密码:输入当前用户名对应的密码。用户组和主组:选择kafkaadmin。角色:选择Manager_viewer角色。图1 MRS Manager上创建Kafka用户在MRS Manager上,选择“集群 > 待操作的集群名称 > 服务 > ZooKeeper > 实例”,获取ZooKeeper角色实例的IP地址,为后续步骤做准备。在MRS Manager上,选择“集群 > 待操作的集群名称 > 服务 > kafka > 实例”,获取kafka角色实例的IP地址,为后续步骤做准备。参考安装MRS客户端下载并安装Kafka客户端。例如,当前Kafka客户端安装在MRS主机节点的“/opt/kafkaclient”目录上。以root用户进入客户端安装目录下。例如:cd /opt/kafkaclient执行以下命令配置环境变量。source bigdata_env因为当前集群启用了Kerberos认证,则需要执行以下命令进行安全认证。认证用户为2中创建的用户。kinit 2中创建的用户名例如,kinit testuser2执行以下命令创建名字为kafkatopic的Kafka Topic。kafka-topics.sh --create --zookeeper ZooKeeper角色实例所在节点IP地址1:2181,ZooKeeper角色实例所在节点IP地址2:2181,ZooKeeper角色实例所在节点IP地址3:2181/kafka --replication-factor 1 --partitions 1 --topic kafkatopic上述命令中的“ZooKeeper角色实例所在节点IP地址”即为3中获取的ZooKeeper实例IP。执行以下命令向kafkatopic发送消息。kafka-console-producer.sh --broker-list Kafka角色实例所在节点的IP地址1:21007,Kafka角色实例所在节点的IP地址2:21007,Kafka角色实例所在节点的IP地址3:21007 --topic kafkatopic --producer.config /opt/kafkaclient/Kafka/kafka/config/producer.properties上述命令中的“Kafka角色实例所在节点的IP地址”即为4中获取的Kafka实例IP。发送测试消息内容如下:{"PageViews":5, "UserID":"4324182021466249494", "Duration":146,"Sign":-1}在DLI上创建数据库和表。登录DLI管理控制台,选择“SQL编辑器”,在SQL编辑器中“执行引擎”选择“spark”,“队列”选择已创建的SQL队列。在编辑器中输入以下语句创建数据库,例如当前创建迁移后的DLI数据库testdb。详细的DLI创建数据库的语法可以参考创建DLI数据库。create database testdb;创建数据库下的表。详细的DLI建表语法可以参考创建DLI表。CREATE TABLE testdlitable(value STRING);步骤二:数据迁移配置CDM数据源连接。配置源端MRS Kafka的数据源连接。登录CDM控制台,选择“集群管理”,选择已创建的CDM集群,在操作列选择“作业管理”。在作业管理界面,选择“连接管理”,单击“新建连接”,连接器类型选择“MRS Kafka”,单击“下一步”。图2 创建MRS Kafka数据源配置源端MRS Kafka的数据源连接,具体参数配置如下。表1 MRS Kafka数据源配置参数值名称自定义MRS Kafka数据源名称。例如当前配置为“source_kafka”。Manager IP单击输入框旁边的“选择”按钮,选择当前MRS Kafka集群即可自动关联出来Manager IP。用户名在2中创建的MRS Kafka用户名。密码对应MRS Kafka用户名的密码。认证类型如果当前MRS集群为普通集群则选择为SIMPLE,如果是MRS集群启用了Kerberos安全认证则选择为KERBEROS。本示例选择为:KERBEROS。更多参数的详细说明可以参考CDM上配置Kafka连接。图3 CDM配置MRS Kafka数据源连接单击“保存”完成MRS Kafka数据源配置。配置目的端DLI的数据源连接。登录CDM控制台,选择“集群管理”,选择已创建的CDM集群,在操作列选择“作业管理”。在作业管理界面,选择“连接管理”,单击“新建连接”,连接器类型选择“数据湖探索(DLI)”,单击“下一步”。图4 创建DLI数据源连接配置目的端DLI数据源连接连接参数。具体参数配置可以参考在CDM上配置DLI连接。图5 配置DLI数据源连接参数配置完成后,单击“保存”完成DLI数据源配置。创建CDM迁移作业。登录CDM控制台,选择“集群管理”,选择已创建的CDM集群,在操作列选择“作业管理”。在“作业管理”界面,选择“表/文件迁移”,单击“新建作业”。在新建作业界面,配置当前作业配置信息,具体参数参考如下:图6 新建CDM作业作业配置作业名称:自定义数据迁移的作业名称。例如,当前定义为:test。源端作业配置,具体参考如下:表2 源端作业配置参数名参数值源连接名称选择1.a中已创建的数据源名称。Topics选择MRS Kafka待迁移的Topic名称,支持单个或多个Topic。当前示例为:kafkatopic。数据格式根据实际情况选择当前消息格式。本示例选择为:CDC(DRS_JSON),以DRS_JSON格式解析源数据。偏移量参数从Kafka拉取数据时的初始偏移量。本示例当前选择为:最新。最新:最大偏移量,即拉取最新的数据。最早:最小偏移量,即拉取最早的数据。已提交:拉取已提交的数据。时间范围:拉取时间范围内的数据。是否持久运行用户自定义是否永久运行。当前示例选择为:否。拉取数据超时时间持续拉取数据多长时间超时,单位分钟。当前示例配置为:15。等待时间可选参数,超出等待时间还是无法读取到数据,则不再读取数据,单位秒。当前示例不配置该参数。消费组ID用户指定消费组ID。当前使用MRS Kafka默认的消息组ID:“example-group1”。其他参数的详细配置说明可以参考:CDM配置Kafka源端参数。目的端作业配置,具体参考如下:表3 目的端作业配置参数名参数值目的连接名称选择1.b已创建的DLI数据源连接。资源队列选择已创建的DLI SQL类型的队列。数据库名称选择DLI下已创建的数据库。当前示例为在DLI上创建数据库和表中创建的数据库名,即为“testdb”。表名选择DLI下已创建的表名。当前示例为在DLI上创建数据库和表中创建的表名,即为“testdlitable”。导入前清空数据选择导入前是否清空目的表的数据。当前示例选择为“否”。如果设置为是,任务启动前会清除目标表中数据。详细的参数配置可以参考:CDM配置DLI目的端参数。单击“下一步”,进入到字段映射界面,CDM会自动匹配源和目的字段。如果字段映射顺序不匹配,可通过拖拽字段调整。如果选择在目的端自动创建类型,这里还需要配置每个类型的字段类型、字段名称。CDM支持迁移过程中转换字段内容,详细请参见字段转换。图7 字段映射单击“下一步”配置任务参数,一般情况下全部保持默认即可。该步骤用户可以配置如下可选功能:作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不重试”。作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。是否定时执行:如果需要配置作业定时自动执行,请参见配置定时任务。这里保持默认值“否”。抽取并发数:设置同时执行的抽取任务数。这里保持默认值“1”。是否写入脏数据:如果需要将作业执行过程中处理失败的数据、或者被清洗过滤掉的数据写入OBS中,以便后面查看,可通过该参数配置,写入脏数据前需要先配置好OBS连接。这里保持默认值“否”即可,不记录脏数据。单击“保存并运行”,回到作业管理界面,在作业管理界面可查看作业执行进度和结果。图8 迁移作业进度和结果查询步骤三:结果查询CDM迁移作业运行完成后,再登录到DLI管理控制台,选择“SQL编辑器”,在SQL编辑器中“执行引擎”选择“spark”,“队列”选择已创建的SQL队列,数据库选择已1已创建的数据库,执行DLI表查询语句,查询Kafka数据是否已成功迁移到DLI的“testdlitable”表中。select * from testdlitable;
-
- News -1.美国司法部查封了乌克兰 IT 军的网络攻击资源https://hackernews.cc/archives/393382.美国网络安全官员在 RSA 会议上警告说:俄罗斯网络攻击威胁很高https://hackernews.cc/archives/393243.77% 的高管将增加对零信任安全建设的支出https://hackernews.cc/archives/393204.Emotet 恶意软件窃取 Google Chrome 用户信用卡信息https://cyware.com/news/emotet-goes-after-google-chrome-users-to-steal-credit-card-details-f1a3c6765.Microsoft 阻止 Bohrium 的伊朗威胁行为者传播鱼叉式网络钓鱼https://cyware.com/news/microsoft-derails-bohrium-hackers-spear-phishing-operation-0c2f0c116.黑客利用最近修补的 Confluence 漏洞进行加密挖矿https://www.bleepingcomputer.com/news/security/hackers-exploit-recently-patched-confluence-bug-for-cryptomining/?&web_view=true7.伊朗黑客利用新的 DNS 后门瞄准能源部门https://www.bleepingcomputer.com/news/security/iranian-hackers-target-energy-sector-with-new-dns-backdoor/?&web_view=true8.Apple M1 芯片包含绕过内存防御的硬件漏洞https://www.theregister.com/2022/06/10/apple_m1_pacman_flaw/?&web_view=true9.佛罗里达州警察被指控用AirTag跟踪前女友https://www.cnbeta.com/articles/tech/1279501.htm10.一篇论文显示比特币的匿名性并非牢不可破https://www.cnbeta.com/articles/science/1279499.htm
-
Widows常用快捷键Win + D :回到桌面(Win + M也可以实现回到桌面,不过Win + D 可以快速回到桌面,再按一次又能回到原网页,这是Win+M做不到的。)Win + E :打开文件资源管理器(计算机)(一键打开各种盘)Win + I: 打开设置Win + L : 锁屏(尤其是对于程序员来说,电脑里会有很多资料,办公室里有时会有外部人员进进出出,所以养成随时锁屏的习惯不仅能防止泄露公司机密,还能保证不会不小心丢失信息。还能防止他人看到你的烂代码)Win + R: 打开运行窗口Ctrl + P :打开打印视图Alt + Tab :任务切换Ctrl + C 和Ctrl +V :复制粘贴(程序员都懂得,CV大法好)Ctrl + Z 撤销(撤回你的误操作)Ctrl + F : 查找。可以查找文字很多地方可以用,浏览器里面也可以用。Ctrl+Shift+N: 打开想要新建文件夹的分区或者目录,一个“新建文件夹”就出现了。Ctrl+Alt+Del:三指合击大法,打开“任务管理器”,Win10支持通过 Ctrl+Shift+Esc一次打开任务管理器。Win +P : 打开“投影”,用投影仪以及玩双屏的用户肯定知道,很方便的快捷键。Win +左/右:贴靠窗口,窗口可以变为1/2大小放置在屏幕两侧。(不用手工拖拉了,挺香。Win+上/下按键可以上下把屏幕分成两半)Win + S :打开搜索 小娜。Win + X : 等于在左下角开始图标上面点击右键。Win + Shift + S: 召唤Windows自带截图。很香啊(换到win10之后,它自带的截图功能非常好用,快捷键 Win + Shift + S呼出,可以选择截屏幕的任意区域,任意形状,以及全面屏幕截图。截图之后可以马上进入编辑模式,不必登陆其他软件截图啦。)Win+A :打开操作中心(通知中心和常用的设置选项都会出现在操作中心里,可以快速调整电脑的联网状态和夜间模式等选项,用起来还是十分方便的。)常用的运行窗口命令大全按组合键 Win(Windows图标键)+R 键打开运行窗口。输入cmd按回车即可打开cmd命令提示符。PS:想在对应目录打开cmd命令窗口,可以直接在对应目录输入cmd,点击Enter键即可在对应目录打开cmd命令窗口。输入calc 按回车即可打开计算器功能。(calculator缩写,随时打开计算你丰厚的薪资。)输入appwiz.cpl:快速打开程序和功能,卸载掉你不想用的垃圾软件。输入cleanmgr: 打开磁盘清理工具,给你的磁盘瘦瘦身。输入shutdown -s:自动关机命令,关机骚操作。⚠️不需要关机的时候不要用。其他关机操作:shutdown -s -t 600:表示600秒后自动关机shutdown -a :可取消定时关机shutdown -r -t 600:表示600秒后自动重启rundll32 user32.dll,LockWorkStation:表示锁定计算机输入compmgmt.msc:打开计算机管理。输入control:打开控制面版。输入desk.cpl:进入屏幕分辨率设置。输入explorer:打开资源管理器。输入firewall.cpl:打开Windows防火墙设置。输入inetcpl.cpl:打开Internet属性。输入intl.cpl:设置区域和时间格式。输入msinfo32:查看系统详细信息。输入mspaint:打开画图。输入notepad:打开记事本。可以的快速记个东西很便捷。输入osk:打开屏幕键盘。输入perfmon:打开计算机性能监测器。输入powercfg.cpl:进入电源管理选项输入Rasphone:网络连接。输入regedit.exe或者regedt32:进入注册表编辑器。输入services.msc:进入本地服务设置,可以查看本地运行的服务。输入slui:查看系统激活信息输入snippingtool:截图工具,支持无规则截图。输入sysdm.cpl:进入系统属性。输入timedate.cpl:日期和时间设置。输入winver:进入关于Windows。常用的cmd命令ping 命令:用来验证与远程计算机的连接。ping 是Windows自带的一个DOS命令。利用它可以检查网络是否能够连通和分析网络速度,用好它可以很好地帮助我们分析判定网络故障。语法:ping [选项] [主机名称或IP地址]C:\Users\Administrator>ping 127.0.0.1正在 Ping 127.0.0.1 具有 32 字节的数据:来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64127.0.0.1 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0msnetstat命令:显示协议统计信息和当前 TCP/IP 网络连接语法:netstat [选项]常用参数:-a 显示所有连接和侦听端口。-n 以数字形式显示地址和端口号。-o 显示拥有的与每个连接关联的进程 ID。比如:查看监听端口以及监听对应的进程(PID)>netstat -ano | findstr 端口号taskkill命令:按照进程 ID (PID) 或映像名称终止任务。语法:taskkill [选项]常用参数:/F 指定要强行终止/T Tree kill: 终止指定的进程和任何由此启动的子进程。/IM image name 指定要终止的进程的名称。/PID process id 指定要终止的进程的PID。比如:终止 idea进程及子进程> taskkill /f /im idea64.exe /ttelnet 命令:查看ip和端口的连接情况。语法:telnet ip 端口比如:查看对ip156.45.90.239端口9000是否能够请求>telnet 156.45.90.239 9000初次使用需要按照如下步骤配置开启telnet命令:键盘输入Win+R,打开运行窗口,输入control进入控制面板。在控制面板界面,点击进入“程序和功能”。点击左侧“启用或关闭Windows功能”。找到名为“Telnet客户端”的功能并勾选,点击确定,即可完成开启telnet功能。本文内容到此结束了,如有收获欢迎点赞收藏关注✔️,您的鼓励是我最大的动力。如有错误❌疑问欢迎各位大佬指出。主页:共饮一杯无的博客汇总**保持热爱,奔赴下一场山海。**原文链接:https://blog.csdn.net/qq_35427589/article/details/125064093
-
1.任天堂希望破解 Switch 黑客的刑期能让人眼前一亮https://www.cnbeta.com/articles/tech/1278559.htm2.27 名老人个人信息泄露被骗 150 余万元http://finance.sina.com.cn/jjxw/2022-06-09/doc-imizmscu5901568.shtml3.调查:网络安全人才危机持续恶化https://www.secrss.com/articles/433294.知名清理程序CCleaner遭“借壳”,传播恶意软件https://mp.weixin.qq.com/s?__biz=MzIzMzE4NDU1OQ==&mid=2652000649&idx=1&sn=654556beafee619408aa82e01407211c5.攻击者利用Facebook进行网络钓鱼,获取大量非法收益https://mp.weixin.qq.com/s?__biz=MzIzMzE4NDU1OQ==&mid=2652000649&idx=3&sn=3028d1f6d37af7316d7539caf9cc2b88
-
- News -1.匿名黑客活动家泄露 1TB 俄罗斯顶级律师事务所数据https://www.hackread.com/anonymous-hacktivists-leak-1tb-russia-law-firm-data/?web_view=true2.新的“DogWalk”Windows 零日漏洞获得免费的非官方补丁https://www.bleepingcomputer.com/news/security/new-dogwalk-windows-zero-day-bug-gets-free-unofficial-patches/?&web_view=true3.Black Basta 勒索软件现在支持加密 VMware ESXi 服务器https://securityaffairs.co/wordpress/132037/hacking/black-basta-ransomware-vmware-esxi.html?web_view=true4.美国的在线枪支商店被黑客入侵以窃取信用卡https://www.bleepingcomputer.com/news/security/online-gun-shops-in-the-us-hacked-to-steal-credit-cards/?&web_view=true5.研究人员警告使用 SVCReady 恶意软件针对受害者的垃圾邮件活动https://thehackernews.com/2022/06/researchers-warn-of-spam-campaign.html?&web_view=true6.SMSFactory 针对八个国家/地区的 Android 用户https://cyware.com/news/smsfactory-targets-android-users-across-eight-countries-6c2b96187.未修补的漏洞链对云麦体重监控应用构成“大规模账户接管”威胁https://portswigger.net/daily-swig/unpatched-bug-chain-poses-mass-account-takeover-threat-to-yunmai-weight-monitoring-app?&web_view=true8.据报道,俄罗斯外交部网站被黑客入侵https://www.infosecurity-magazine.com/news/russian-ministry-website/?&web_view=true9.意大利巴勒莫市关闭所有系统以抵御网络攻击https://www.bleepingcomputer.com/news/security/italian-city-of-palermo-shuts-down-all-systems-to-fend-off-cyberattack/?&web_view=true10.巴西对网络风险保险的需求猛增https://www.zdnet.com/article/demand-for-cyber-risk-insurance-soars-in-brazil/?web_view=true- APT -1.Operation(काराकोरम) Tejas:蜷居在昆仑山脉的残喘枯象https://mp.weixin.qq.com/s/8j_rHA7gdMxY1_X8alj8Zg
-
数据仓库(data warehouse)的安全性对于在一个位置收集所有关键数据的企业来说至关重要。未经授权进入数据仓库可能会导致重大和毁灭性的业务后果,包括泄露客户信息、暴露高级商业机密或知识产权等。在本文中,我们将探讨可以帮助企业组织保持信息和软件安全的数据仓库安全最佳实践。什么是数据仓库安全性?数据仓库从各种来源提取数据,并由许多移动组件组成。每次数据从一个位置移动到另一个位置时,都有可能出现安全问题。数据仓库安全性要求主动保护信息,以便授权人员可以使用,但其他人无法使用这些数据。数据仓库面临的安全挑战数据仓库操作所涉及的范围和规模极广,并且如前所述,它由多个移动部分组成。反过来,这在保护信息时也提出了操作挑战。在考虑数据仓库安全性时,管理者应该考虑:如何平衡“保护数据”的需求和“为仓库内特定数据(用于分析、商业智能或数据挖掘目的的数据)用户提供不受限制的访问”的需求;在安排数据访问时对用户进行分类的最佳方法。例如,您的组织应该采取分层方法,还是采用基于角色的访问方法?如何保护网络。组织必须考虑数据加密并加大投资高度安全的网络硬件;数据仓库管理者还需要考虑必要的安全特性如何影响数据仓库的性能;此外,管理人员还必须考虑如何安全地从源事务系统中提取数据以供仓库使用。数据仓库安全最佳实践1、 加密数据组织应该加密存储在源事务数据库中的数据。此外,还应考虑数据仓库内的加密操作。专家推荐使用FIP 140-2认证软件进行数据加密,因为FIPS 140-2是加密模块的政府计算机安全标准。也就是说,这确保了最高程度的安全性。但是,加密会降低数据仓库的性能。在某些情况下,组织可能会权衡此类性能下降与网络攻击的可能性。尽管如此,考虑到网络犯罪分子的老练娴熟,在数据仓库中使用加密可能是最好的方法。2、 数据分类一种有效的仓库安全策略包括对存储在数据仓库中的数据进行适当分类。如果您的组织以“最小敏感性”存储数据,那么该数据应用安全措施的用途可能有限。3、 基于角色的控制基于角色的用户访问控制是一项备受赞誉的网络安全措施,因为它基于“需要知道”和“最小权限”的原则限制访问。这些原则可以确保仓库的用户只能访问工作绩效所需的数据。可以说,内部威胁对组织的危害与外部威胁一样。心怀不满的员工可能会访问或下载敏感数据,以便与竞争对手共享以换取经济利益。根据定义的角色设置权限代表了传统数据仓库和基于云的数据仓库服务中的一个选项。设置基于角色的权限时,请确保它们与先前定义的数据分类一致。这将使所有仓库用户能够访问必要的数据,而不会对数据安全造成不必要的风险。4、 保护移动数据任何数据仓库都由不断移动的元素组成。组织通常会向仓库提供实时数据,以帮助进行最新的报告和分析。如果您的组织不断在各种位置间传输数据,请确保始终使用SSL或TSL协议。使用基于云的数据仓库意味着虚拟专用网络可以提供强大的安全性,因为它们隔离了本地数据库和基于云的数据仓库之间的通信。5、 分区数据组织可以通过将数据划分为单独的表格来对数据进行分区,将表格划分为敏感元素和非敏感元素,可以针对高度敏感的信息进行安全优化,进而提高数据仓库的安全性。上述策略有助于提高数据仓库的安全性。同时,组织必须选择具有成本意识的安全措施。当数据泄露造成的预估损失为500万美元时,很少有组织能够从实施成本为1亿美元的数据安全策略中受益。在构建数据安全性时,组织应考虑每个安全措施对数据仓库性能的影响。数据仓库安全的首要目标包括利用具有成本效益的机制,根据不同类别的数据所需的保护程度来保护它们。结语数据仓库安全最佳实践可以帮助组织确保数据的持续安全。由于数据仓库不断从各种位置提取信息,因此必须实施明智、有效且成本优化的数据保护安全措施,这包括智能用户访问控制、正确的信息分类、高度安全的加密技术(如FIPS 140-2)以及所有移动部件的安全性。本文翻译自:https://www.cybertalk.org/2022/03/10/data-warehouse-security-best-practices-2022/如若转载,请注明原文地址。
-
接口名称命名规则调用接口后会对南向系统带来状态变化或者为了获取某些参数的值而调用该接口,接口名称建议用动宾结构,如“增加人脸库”、“获取实况播放地址”。其他类型的接口名称,用名词的词组结构,如“人脸比对”。对于IO接口,因为ROMA平台要求接口的url和名称具有唯一性,建议在前面加上前缀,如“EI人员匹配_增加人脸库”。Topic命名规则以“T”开头,IO标准topic以“T_IO”开头,只能包含英文字符和下划线。智慧园区解决方案的IO开发和交付是多租户场景,topic名称需要添加双下划线+租户名后缀,如租户名是test,topic名称是T_IO_DEVICE_DATACHANGED__test。响应消息规则响应消息要求必须包含resCode,resMsg两部分组成。resCode:返回码,“0”表示接口调用成功,“-1”表示接口调用失败。resMsg:消息请求结果简要描述。接口调用成功的响应消息类似如下内容。{ "resCode": "0", "resMsg": "success", "result": { xxxx } }接口调用失败的响应消息类似如下内容。{ "resCode": "-1", "resMsg": "repositoryName is required.", "result": null }其他规则IO开放给IO Framework调用的请求方法仅支持POST,设计时需要注意,所有南向IO接口应都设计为POST请求方法。输入参数格式推荐使用json、text/xml和文件流。建议南向系统提供HTTPS请求协议,减少安全扫描风险。南向两个或两个以上API访问路径相同时,多个南向接口合并为一个接口提供为北向,或者一对一提供,因为ROMA不支持多个API访问路径相同
-
1.在本地(深圳)调用北京1的OCR服务 效果很不错;2.放到香港的华为云服务期上就非常慢 10秒左右;3.是因为香港的原因才导致访问内地这边的OCR服务很慢?
-
- News -1.Github发布安全通告10万npm账号信息遭窃取https://mp.weixin.qq.com/s?__biz=MzIwNzAwOTQxMg==&mid=2652245735&idx=1&sn=63c65890c322b570cdb1a33eafec1d282.SideWinder 黑客在过去 2 年发起了超过 1,000 次网络攻击https://mp.weixin.qq.com/s?__biz=MzA5MzU5MzQzMA==&mid=2652093680&idx=2&sn=c60d44d755c9f634062dc7196f3f56a23.《网络安全法》实施五周年来的制度建设与实施成就https://mp.weixin.qq.com/s?__biz=MzA3NjU5MTIxMg==&mid=2650569923&idx=1&sn=7baff1fc1950d81b3b86917fc85287494.《电力可靠性管理办法(暂行)》今日正式施行,专章强调网络安全https://mp.weixin.qq.com/s?__biz=MzA3NjU5MTIxMg==&mid=2650569923&idx=2&sn=e57b93869e475ddb7fd563f7d7f8efb25.以委内瑞拉军方为攻击目标的网络间谍活动分析https://mp.weixin.qq.com/s?__biz=MzUzNDYxOTA1NA==&mid=2247527621&idx=1&sn=b038a26b4eee7c7daab56cabd360cbdd6.谷歌声称,英国脱欧泄密网站背后与俄罗斯黑客有关https://mp.weixin.qq.com/s?__biz=MzUzNDYxOTA1NA==&mid=2247527621&idx=2&sn=c1feb5721a1ff51f04d75332122555c77.匿名者声称将对白俄罗斯发起入侵https://mp.weixin.qq.com/s?__biz=MzUzNDYxOTA1NA==&mid=2247527621&idx=3&sn=e3e1681665b6067a1f9a3888b9b7a7df- APT -1.摩诃草组织以巴基斯坦相关政府机构文件为诱饵的攻击活动分析https://mp.weixin.qq.com/s?__biz=MzI2MDc2MDA4OA==&mid=2247501237&idx=1&sn=b2241162bddb5d697be049cd8785bfa9
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
即将直播
热门标签