刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!
刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

OpenStack Stein版本引入了新的多云编排功能,以及帮助实现边缘计算用例的增强功能。

OpenStack由一系列相互关联的项目组成,这些项目可以以不同的组合方式组合在一起,以实现完整的云部署。在OpenStack Stein里程碑中,有多个项目集成了新功能和增强功能,以及有益于云运营商的新项目。新项目包括OpenStack Placement服务,使运营商能够更有效地跟踪云资源清单。Stein版本中的Heat编排项目得益于支持跨多个OpenStack云编排新的工作负载部署。“OpenStack Stein在稳定性,性能和可用性方面进行了相当多的改进,”Canonical的产品经理Marcin Bednarz告诉eWEEK。“这证明了OpenStack的成熟程度以及它如何发展以应对新的应用场景,例如跨多个OpenStack云的Heat堆栈编排。”

自从2010年由NASA和Rackspace首次推出以来,Stein是OpenStack平台的第19个版本。Stein更新是2019年首次OpenStack更新,并遵循2018年8月推出的Rocky里程碑。OpenStack是多利益相关方的努力,包括Canonical/Ubuntu,SUSE,VMware和Red Hat等多家供应商,提供商业支持的OpenStack产品。此外,还有多个由OpenStack 提供支持的云服务,包括Oracle,Rackspace,Telefonica,OVH,vScaler和City Network。

当OpenStack开始时,只有两个项目,Swift存储和Nova计算。新的OpenStack Placement服务是最初属于Nova的一部分,但现在已经被分离到了它自己的项目中。根据发布说明,Placement服务的目标是跟踪云资源清单和用法,以帮助其他服务有效地管理和分配其资源。作为其自己的项目,OpenStack开发人员声称,对于常见的调度操作,API的性能提高了50%。

“OpenStack Placement为OpenStack中资源分配的内部机制提供了有趣的可能性,”Bednarz说。“随着性能的提高和Nova与Placement之间功能的明确划分,云运营商似乎可以从中受益,尤其是在更容易维护OpenStack服务方面。”

Keystone身份

OpenStack中的Keystone Identity项目受益于Stein版本中的几项重要增强功能,包括多重身份验证。SUSE的高级产品经理TR Bosworth告诉 eWEEK,Stein的多因素身份验证功能真正完成了2017年2月推出的OpenStack Ocata版本的工作。

“这是正确的方法,因为您进行多因素身份验证-您提供了一种身份验证,然后您将获得一个'half-token',表示您已完成部分身份验证,然后当您使用身份验证的第二部分时提供所需要的手机号或key。“博斯沃思说。“这是一个已经实施的挑战响应机制。”

人工智能与边缘

对于Red Hat产品管理高级经理Sean Cohen来说,Stein版本中有一些关键亮点可用于帮助企业在灵活,可扩展的私有云上提供新的差异化应用程序和服务。

科恩告诉eWEEK,“随着组织希望从日益数字化的经济中提取更多的利益,斯坦因增加了专注于支持新工作负载和用例的能力。” “例如,通过Stein,人工智能/机器学习(AI/ML),通过OpenStack和TensorFlow之间的协作简化了面部识别等工作负载,提供了更加动态,多媒体的用户体验。”

新兴的Edge Computing概念也得到了OpenStack Stein版本的推动。借助Edge Computing,计算可以扩展到网络的边缘,而不是位于中央核心的所有计算资源。Cohen指出,分布式计算增强功能也是Stein的一部分,为用户提供采用边缘计算策略的新方法。

“通过推动计算和存储功能更接近数据源,OpenStack Stein可以更好地分配IT架构,有助于减少关键应用程序的延迟,同时降低带宽和运营成本,”Cohen说。
刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!
Stein 发布亮点详细介绍
刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!
刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

  1. Barbican-密钥管理器服务

Barbican 是 OpenStack 的密钥key管理组件,定位在使用 REST API 来安全存储、提供和管理"密钥"。

Notes:

对Vault后端进行了一些增强。现在可以指定KV挂载点并使用AppRoles来管理身份验证。
我们现在运行Barbican特定的Octavia gate来验证Octavia负载平衡方案。
修改了PKCS#11插件以允许配置hmac_keywrap_mechanism。通过此更改,Barbican可以与Ultimaco HSM一起部署。
现在可以通过TripleO使用Thales或ATOS HSM部署Barbican和pkcs#11后端。
此次修复是为了确保用于密钥轮换的barbican-manage命令适用于PKCS#11插件。

  1. Blazar-资源预订服务

Blazar的目标是在OpenStack云中为不同的资源类型提供资源预留,包括虚拟(实例,卷等)和物理(主机,存储等)。

Notes:

引入了新的资源分配API,允许运营商查询其云资源的保留状态。
添加了对实例预留的亲和性和非亲和性策略的支持,允许将同一类预留的多个实例安排调度到同一个虚拟机管理程序(hypervisor)。
添加了一个用于预留浮动IP的新插件。此新功能可作为预览版提供,并将在下一版本中完整实现。
集成了许多错误修复,以提高可靠性。

  1. Cinder-块存储服务

提供 REST API 使用户能够查询和管理 volume、volume snapshot 以及 volume type,提供 scheduler 调度 volume 创建请求,合理优化存储资源的分配。通过 driver 架构支持多种 back-end(后端)存储方式,包括 LVM,NFS,Ceph 和其他诸如 EMC、IBM 等商业存储产品和方案。

Notes:

为RBD驱动程序添加了multiattach和延迟删除支持。
已经完成了许多错误修复来解决稳定性和可靠性问题。
针对驱动程序初始化,卷传输期间保留的数据以及命令返回的信息的用户体验进行改进。
备份服务的持续改进。

  1. Congress-治理服务

Congress是一个基于异构云环境的策略声明、监控、实施、审计的框架(policy-as-a-service)。Congress从云中不同的服务获取数据,输入到congress的策略引擎,从而验证云中的各服务状态是否按照设置的策略运行。

Notes:

通过在Nova,Tacker和Monasca的集成中添加多项新功能,实现以及增强NFV故障管理功能。
新的JGress框架通过使JSON API提供的云状态可用于策略评估来解锁全新的策略使用类。通过采用JSON查询语言直接在JSON API数据上表达策略,JGress使部署人员能够插入新数据源,而不受集成驱动程序可用性的限制。
与每个版本一样,我们继续通过错误修复和内部改进使congress比以往更加强大和稳定。

  1. Cyborg-加速器生命周期管理

提供通用的硬件加速管理框架。加速的硬件包括加密卡,GPU,FPGA,NVMe/NOF SSDs,DPDK/SPDK,eBPF/XDP等等。

添加FPGA编程支持
添加GPU驱动程序
DB重构从而开始与NOVA Placement api策略保持一致

  1. Designate-DNS服务

Designate并没有实现DNS协议,而是管理了实现DNS协议的软件,例如BIND9,PowerDNS等。Designate将这些软件与OpenStack连接了起来,通过一套自己提供的API,控制底层的DNS软件,完成例如创建DNS Zone,写入Resource Record等DNS操作。所以,Designate本身只是一个软件框架,一个适配多种DNS软件的软件框架。

Notes:

CAA为托管DNS区域添加了CA授权的记录集类型
添加了NAPTR服务链和SIP管理的记录集类型
更新配额时验证项目ID
添加了新命令以帮助升级。designate-status upgrade check

  1. Heat-编排服务

编排Heat主要功能是自动化部署应用,自动化管理应用的整个生命周期。对于云计算来说,自动化管理是一个必不可少的部分,heat就是这部分功能的实现。AWS的EC2是通过提供CloudFormation格式的模板来实现Orchestration。Heat不仅100%兼容CloudFormation格式,同时支持自己的Hot(heat orchestration template)格式。Heat 可以通常可用于解决客户Paas层的需求。

Notes:

Heat现在支持在远程OpenStack云中编排堆栈,同时使用用户在Barbican中存储的凭证。
现在,通过尝试使用与现有资源冲突的版本进行替换当前资源,从而可以更轻松地进行恢复。
Heat中的新资源类型增加了对Neutron Layer 2 Gateways,Blazar和Tap-as-a-Service的支持。
支持通过Glance Web下载Glance镜像的资源类型,允许从URL获取镜像,而无需将其预先加载。

  1. Horizon-图形化管理服务

为所有OpenStack服务提供可扩展的统一的基于Web的用户界面,从而可以简化运维管理操作。

Notes:

现在支持Cinder Generic Groups管理面板
增加了缓解漏洞***的选项
添加了upgrade_check管理命令
支持clouds.yaml和openrc文件的自定义模板

  1. Ironic-裸机服务

OpenStack Ironic是一个进行裸机部署安装的项目。所谓裸机,就是指没有配置操作系统的计算机。 Ironic实现的功能,就是可以很方便的对指定的一台或多台裸机,执行以上一系列的操作。例如部署大数据群集需要同时部署多台物理机,就可以使用Ironic来实现。Ironic可以实现硬件基础设施资源的快速交付。

Notes:

添加了用于管理硬件的其他接口,包括Redfish BIOS设置,显式iPXE引导接口选择选项和其他硬件支持。
增强了用户的功能和选项,包括部署模板,改进了并行conductor workers和磁盘擦除流程,部署的节点保护和描述,以及使用本地HTTP或HTTPS服务器来提供镜像。
改进了standalone模式用户的选项,来请求分配裸机节点并提交配置数据,而不需要预先形成配置驱动器。另外,Ironic允许使用JSON-RPC而不是AMQP消息总线。

  1. Karbor-数据保护协调服务

让各个厂商的数据保护软件通过标准接口接入OpenStack,为OpenStack提供增强的备份、复制、迁移等数据保护即服务(Data Protection as a Service)能力,Karbor致力于解决虚拟机备份难、无标准备份的接口的现状。

Notes:

支持将checkpoint重置为指定状态
使用volume_glance_plugin支持跨站点备份和还原
不同银行案例中checkpoint管理的优化

  1. Keystone-身份认证服务

是OpenStack框架中负责管理身份验证、服务访问规则和服务令牌功能的组件。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过 Keystone 来处理。Keystone 类似一个服务总线, 或者说是整个 Openstack 框架的注册表,OpenStack 服务通过 Keystone 来注册其 Endpoint(服务访问的URL),任何服务之间的相互调用,都需要先经过 Keystone 的身份验证,获得目标服务的 Endpoint ,然后再调用。

Notes:

此版本引入了多重身份验证功能(Multi-Factor),这有助于在使用MFA时更加自然顺畅以及安全。
限制API现在除了支持Project之外还支持Domain,因此可以将资源配额分配给顶级域并在子项目中分配。
JSON Web令牌作为新的令牌格式与fernet令牌一起添加,支持互联网标准格式。JSON Web令牌是非对称签名的,因此这种令牌格式不再需要在部署keystone服务的服务器之间同步私钥。
多个keystone API现在支持系统范围作为策略目标,这减少了对自定义策略的需求,以防止对具有任何项目的管理角色的用户进行全局访问。
多个keystone API现在使用默认的reader,member和admin角色而不是catch-all角色,这减少了为特定用户创建只读访问的自定义策略的需要。

  1. Kolla-容器化部署

Kolla聚焦于如何使用Docker容器部署 OpenStack服务。Kolla 显著的特点是「开箱即用」和「简易升级」,前者由编排工具(Ansible/Kubernetes)提供自动化支撑,后者则完全是 Container 的功劳。Kolla 追求为每一个 OpenStack Service 都构建相应的 Container,将升级/回滚的粒度(隔离依赖关系集)降维到 Service 或 Project 级别,实现升级/回滚的原子性。假若升级失败,则直接启动 Old Version Container 完成回滚。

Notes:

为Monasca的OpenStack监控服务完成了容器镜像和playbooks的添加。
为OpenStack Placement服务添加了一个容器镜像和playbooks,该服务已从Nova中提取到一个单独的项目中。
添加了对执行MariaDB数据库的完整备份和增量备份的支持。

  1. Kuryr-容器网络管理服务

其主要目标是通过该项目来整合 OpenStack 与 Kubernetes 的网络。该项目在 Kubernetes 中实作了原生Neutron-based的网络,因此使用Kuryr-Kubernetes可以让你的OpenStack VM 与Kubernetes Pods 能够选择在同一个子网上运作,并且能够使用 Neutron 的 L3 与 Security Group 来对网络进行路由,以及阻挡特定来源 Port。

Notes:

添加了对kubernetes处理和响应网络策略事件的支持,允许Kuryr-Kubernetes根据它们动态来处理安全组规则。
添加了对配置为使用CRI-O的K8s的支持,这是基于Open Container Initiative的Kubernetes Container Runtime Interface实现的容器。
增强readiness健康检查以验证处理程序资源的配额,提高整体性能和稳定性,并在需要时将其标记为不健康。
改进了对DPDK和SRIOV支持。

  1. Manila-共享文件系统服务

为多租户云环境中的共享文件系统管理提供一组服务,类似于OpenStack通过Cinder项目提供基于块的存储管理的方式。

Notes:

扩展支持对DHSS=True模式的共享和快照的管理/非管理支持,并为共享服务器添加管理/非管理支持。

  1. Neutron-网络服务

允许创建和管理网络对象, 如网络、子网和端口, 其他 OpenStack 服务可以使用。插件可以实现, 以适应不同的网络设备和软件, 为 OpenStack 的体系结构和部署提供灵活性。neutron, 提供了一个 API, 使您可以定义网络连接并在云中寻址。网络服务还提供了一个 API 来配置和管理各种网络服务, 包括从 L3 转发和 NAT 到负载平衡、边界防火墙和虚拟专用网络。

Notes:

支持严格的基于最小带宽的调度。通过此功能,nova实例可以调度到满足其端口的QoS策略定义的实例的最低带宽要求的计算主机上。
网络段范围管理。此功能使云管理员能够通过新的API扩展动态管理网段范围,而不是之前编辑配置文件的方法。此功能针对StarlingX和边缘使用的案例,使其易于管理。
加快Neutron端口批量创建。目标是针对containers/k8s用例,其中端口是按组创建的。
(FWaaS)FWaaS v1已被删除。自Newton发布以来,FWaaS v2可用,它涵盖了FWaaS v1中的所有功能。提供了一个迁移脚本,用于将现有的FWaaS v1对象转换为FWaaS v2模型。

  1. Nova-计算服务

是OpenStack的核心服务,负责维护和管理云环境的计算资源,同时管理虚拟机生命周期。

Notes:

现在可以使用最新1.0.0版placement服务运行Nova,该服务由其自己的repository托管。请注意,在所有部署工具中尚未完全实现placement服务的安装/升级。在继续之前,用户应检查其特定的部署工具以获得支持。有关更多详细信息,请参阅placement安装和升级文档。在Stein,用户可以选择继续使用Nova repository中的集成placement服务,但是应该开始计划通过在Train版本中迁移到最新的placement服务,因为计划在Train版本发布中删除Nova集成placement的部分代码。
用户现在可以在创建虚机服务时指定卷类型。
计算API现在可以容忍部署中的瞬态条件,例如部分基础架构故障,例如无法访问的单元。
用户现在可以创建具有Neutron端口的虚拟机,这些端口具有QOS最小带宽规则。
用户现在可以使用Nova配置文件或Placement API设置超卖。
计算驱动程序功能现在自动作为展示Placement API中的特性公开,它们可用于通过 flavor extra specs和镜像属性进行调度。
现在,VMware驱动程序支持实时迁移。

  1. Octavia-负载均衡器服务

是OpenStack LBAAS的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove,调用 Nova 以及Neutron的api生成一台安装好haproxy和keepalived软件的虚拟机,并连接到目标网路,从而实现高性能的安全负载均衡的功能。

Notes:

Octavia现在支持负载均衡器“flavors”。这允许操作员创建自定义负载均衡器“flavors”,用户可以在创建负载均衡器时进行选择。
您现在可以在使用TERMINATED_HTTPS侦听器时启用TLS客户端身份验证。
Octavia现在支持对成员服务器连接的后端重新加密。
现在可以将元数据标签分配给Octavia负载均衡器。

  1. OpenStack Ansible-针对OpenStack的Ansible playbooks和roles 部署

从源码中部署OpenStack的方式使其可扩展,同时还易于操作,升级和管理。

Notes:

已经完成工具优化,这将导致更快,更可靠的部署。
添加Ubuntu Bionic支持。
添加Mistral支持。
添加Manila支持。
添加Masakari支持。

  1. Oslo-公共库

生成一组包含OpenStack项目共享代码的python库。这些库提供的API应该是高质量,稳定,一致,记录和普遍适用的。通过这些公共库,可以很容易弄出一个完善鉴权、分布式、易配置、带调用链日志的REST服务。

Notes:

添加了Castellan配置驱动程序,允许将密钥从磁盘配置文件移动到任何与Castellan兼容的密钥库。该驱动程序存在于Castellan项目中,因此必须安装Castellan才能使用它。
添加了一个配置驱动程序来读取环境变量中的值,这允许在容器中配置服务而无需注入文件。默认情况下,在oslo.config中启用此驱动程序。
添加了配置验证工具oslo-config-validator。这使用oslo-config-generator数据查找配置文件中未在服务中定义的选项。

  1. Placement-资源跟踪展示服务

跟踪云资源清单和使用情况,以帮助其他服务有效地管理和分配其资源。

Notes:

Placement服务是从Nova项目中分离出的,并成为一个名为Placement的新官方OpenStack项目。
添加了定位候选资源提供程序的功能,简化了指定主机以进行工作负载迁移的功能。
对于常见的调度操作,API性能提高了50%。
通过消除不必要的复杂性简化代码,简化未来的维护。

  1. Sahara-大数据处理服务

该项目旨在使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,实现类似AWS的EMR(Amazon Elastic MapReduce service)服务。用户只需要提供简单的参数,如版本信息、集群拓扑、节点硬件信息等,利用Sahara服务能够在数分钟时间内快速地部署Hadoop、Spark、Storm集群。Sahara还支持节点的弹性扩展,能够方便地按需增加或者减少计算节点,实现弹性数据计算服务。它特别适合开发人员或者QA在Openstack平台上快速部署大数据处理计算集群。

Notes:

Sahara插件将从核心代码中删除,以便于维护和升级。
APIv2稳定发布。
从卷功能启动的改进。

  1. Searchlight-搜索服务

在多租户云资源中提供高级和可扩展的索引和搜索。

Notes:

Searchlight现在可以与Elasticsearch 5.x一起使用
我们发布了一个新的愿景,使Searchlight成为一个多云应用程序
功能测试设置已得到改进
Searchlight现在可以使用Python 3.7进行测试

  1. Senlin-集群服务

定义了一套集群管理的框架,以管理由其他OpenStack服务公开的同类对象组。

Notes:

提高性能,使Senlin操作执行速度提高了几个数量级。
Health policy v1.1版本现在允许用户指定多种类型的检测模式。
Senlin API现在在cluster/node锁定,冷却效果或操作冲突的情况下发出同步失败。
操作员现在可以使用senlin-manage工具中的action-purge子命令删除已完成的操作。这对于在数据库中累积了大量操作的长时间运行的集群非常有用。

  1. Storlets-在对象存储服务中进行计算

为了在OpenStack Swift中的数据附近执行以存储为中心的用户定义函数,实现用户友好,经济高效的可扩展和安全方式。

Notes:

支持用户代码的Python3运行

  1. Swift-对象存储服务

提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。

Notes:

对S3 API兼容性层进行了大量改进。
对数据加密中间件的一些修复和改进,包括允许多个keymaster中间件。这允许从一个密钥提供者迁移到另一个。
用户可以使用新的databases_per_second配置选项更好地控制帐户和container后台守护程序I/O使用情况。
现在可以将擦除编码数据重建为切换节点。当磁盘故障长时间未得到补救时,这可以提高数据持久性。

  1. Tripleo-部署服务

开发和维护能够在生产中部署OpenStack的工具和基础架构,尽可能使用OpenStack。主要目标就是使用oepnstack来管理openstack,达到安装、维护、升级的目标。

Notes:

添加了对容器和容器镜像的podman和buildah的支持。
现在,虚拟网络(OVN)是默认的网络配置。
改进的可组合网络支持,用于创建L3路由网络和IPV6网络支持。

  1. Vitrage-RCA(根本原因分析)服务

用来组织、分析和扩展openstack的告警和事件,对问题产生的根本原因进行推导,为系统产生推导后的告警或者设置推导后的状态。

Notes:

新而简化的模板语言!新模板更短,更容易理解和重用。
添加了一个Trove数据源和一个Zaqar通知程序。
用于查询Vitrage服务和资源计数的新API。
性能改进和更快的数据检索。内存签名和处理运行时间显着减少。

  1. Watcher-基础结构优化服务

Watcher的目标是为基于OpenStack的多租户云提供灵活且可扩展的资源优化服务。Watcher提供一个完整的优化循环链:从度量接收器,到优化处理器和操作计划应用程序。Watcher的目标在于提供一个强大的框架,可以实现广泛的云优化目标,包括减少数据中心运营成本,通过智能虚拟机迁移提高系统性能,提高能源效率等。此外,Watcher可供用户定制丰富的资源优化目标与策略算法。

Notes:

Watcher支持API微转换。
Watcher使用Nova通知来更新其内部计算CDM(群集数据模型)。
根据审计范围构建计算CDM。
将start_time和end_time字段添加到CONTINUOUS审计。
添加了新的配置选项'action_execution_rule'。

最后是前十代码的贡献图
刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!
翻译自:

1.https://www.eweek.com/cloud/openstack-stein-improves-cloud-identity-and-orchestration

2.https://releases.openstack.org/stein/highlights.html

翻译整理:祝祥 新钛云服运维架构师

十年运维经验,曾任刻通云运维工程师、微烛云和某互联网金融平台首席运维架构师。拥有OpenStack、CCIE、阿里云、ZStack等技术认证。有上万台云主机,PB级别分布式存储运维经验。熟悉各种虚拟化技术,软硬件,网络,容器编排等技术,拥有python开发经验。热爱各种开源技术。

转载于:https://blog.51cto.com/14224517/2377034

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL作业:综合练习(二)的返评

一:作业题目:综合练习(二) 二:题目要求: 1、创建数据库CPXS,保存于E盘根目录下以自己学号姓第一个字母(阿拉伯数字大写字母)方式创建的文件夹中,初始大小5MB&…

paddlepaddle-VisualDL2.0对项目进行可视化调参

如果需要更好的阅读体验,可以在ai studio上fork该项目:使用VisualDL2.0对项目进行可视化调参 调参是深度学习必须要做的事情。数据和模型处理好后,需要进行模型训练,这个时候就需要进行调参了。一种好的参数配置,可以…

第一、二次实训作业

1.编写程序: 声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果。 package 判断奇偶; public class liux { public static void main(String[] args){ int x5; if(x%20){ System.out.println("这…

推荐一款作图工具

以前看到别人的时序图觉得好好看,然后就想这都是用的什么工具画出来的呢?然后看到了一个师兄用的这个工具,真的挺好用的。这是是试用版的界面。类图我觉着看起来效果都挺不错的。转载于:https://www.cnblogs.com/tuhooo/p/8874410.html

【codeforces】【比赛题解】#849 CF Round #431 (Div.2)

cf的比赛越来越有难度了……至少我做起来是这样。 先看看题目吧:点我。 这次比赛是北京时间21:35开始的,算是比较良心。 【A】奇数与结束 "奇数从哪里开始,又在哪里结束?梦想从何处起航,它们又是否会破灭呢&#…

PaddleDetection支持的数据格式

PaddleDetection支持的数据格式 目前#PaddleDetection支持43种数据格式:coco voc widerface。在这里我们主要说明一下如何使用自定义COCO进行目标检测、实例分割;如何使用自定义VOC数据集进行目标检测。在PaddleDetection新的版本中,我们将数…

[dts]Device Tree机制【转】

转自:https://www.cnblogs.com/aaronLinux/p/5496559.html 转自:http://blog.csdn.net/machiner1/article/details/47805069 ------------------Based on linux 3.10.24 source code 参考/documentation/devicetree/Booting-without-of.txt文档 目录 1.…

AntiSamy测试

AntiSamy为owasp针对xss提供的处理库,可以配置xml策略来决定过滤的内容,比如标签、属性、css等,自定义策略给开发人员使用成本比较高,AntiSamy也提供了几个内置的策略,其安全级别也不同,过滤的内容也不一样…

SoJpt Boot 2.2-3.8 发布,Spring Boot 使用 Jfinal 特性极速开发

开发四年只会写业务代码,分布式高并发都不会还做程序员? 在Spring Boot框架下使用Jfinal特性极速开发,可以在Spring Boot中向使用Jfinal一样使用Enjoy、Aop、Controller等一系列方法(如: getFile(), renderFile....),以及ActiveRecord SoJpt Boot&…

3轴机器人各关节运动学建立,python编程,非常容易理解

分类:机器人学 一、问题描述 如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行。如图所示,所有关节均处于初始状态。 要求: (1) 定义并标注出各关节的正方向; (2) 定义机器人基坐标系&#x…

Win 10 源码一览:0.5T 代码、400 万文件、50 万文件夹

Windows 操作系统本身是不开源的,但是近日微软内核工程师 Axel Rietschin 发表了一篇博客,带大家一窥了 Windows 10 内核的魅力。 Axel 介绍,Windows 10 与 Windows 8.x、7、Vista、XP、2000 和 NT 的代码库是相同的,其中每一代都…

JDK+Tomcat搭建JSP运行环境--JSP基础

一、搭建JSP运行环境之前需要了解的基本知识 配置JSP运行环境之前,我们需要了解JSP的运行机制。只有了解JSP运行机制后,我们才能知道为什么要搭建JSP运行环境?如何去搭建JSP运行环境?为什么要配置Tomcat、JDK? JSP(Java Sever Page)即Java服…

Docker容器的自动化监控实现

本文由 网易云 发布。 近年来容器技术不断成熟并得到应用。Docker作为容器技术的一个代表,目前也在快速发展中,基于 Docker的各种应用也正在普及,与此同时 Docker对传统的运维体系也带来了冲击。我们在建设运维平台的过程中,也需…

人工智能实战小程序之语音_前端开发

1. 人工智能实战小程序之准备工作 2. 人工智能实战小程序之语音_前端开发 今天这部分主要讲小程序前端功能的开发由于我偏后端,css是我的弱项,可能很多人和我一样开发小程序不知道如何下手,希望本篇文章对你有帮助我的学习路线是:…

当TFS/VSTS遇上Power BI

引言众所周知,要对TFS进行深入的图表分析,往往需要依赖于SQL Server Analysis Service和SQL Server Reporting Service。虽然随着TFS对敏捷项目的支持,内置了诸如累积流图、燃尽图等快捷图表;并且在最新的版本中还可以在仪表盘和查…

HashMap深度解析:一文让你彻底了解HashMap

写在前面HashMap是Map族中最为常用的一种,也是 Java Collection Framework 的重要成员。本文首先给出了 HashMap 的实质并概述了其与 Map、HashSet 的关系,紧接着给出了 HashMap 在 JDK 中的定义,并结合源码分析了其四种构造方式。最后&#…

python_线程、进程和协程

线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。 1 #!/usr/bin/env python2 #codingutf-83 __author__ yinjia4 5 6 import threading,time7 8 def show(arg):9 time.sleep(2) 10 print(线程: str(arg)) 11 12 for i in range(…

第四章:手机平板要兼顾-探究碎片

碎片是什么? 碎片(Fragment)是一种可以嵌入在活动(Activity)中的 UI 片段,它能让程序更加合理和充分的利用大屏幕的空间,因而在平板上应用的非常广泛。 碎片的使用方式 静态嵌入动态加载碎片和活…

Android Studio 3.4增可视化资源管理工具 可管理和预览项目资源

经过6个月的开发时间,网络大厂17日发布了最新版的App开发IDE Android Studio 3.4,现在就能够下载使用,除了有超过300个错误修护和稳定度增强之外,在开发、建置和测试App阶段,都推出了一些小的新功能和工具,…

[IoC容器Unity]第三回:依赖注入

上节介绍了,Unity的Lifetime Managers生命周期,Unity具体实现依赖注入包含构造函数注入、属性注入、方法注入,所谓注入相当赋值,下面一个一个来介绍。 2.构造函数注入 Unity利用Resolve方法解析一个对象,都是调用注册类…