精华内容
下载资源
问答
  • 为解决由于维修员工的数量设置不当,造成人力资源利用率低、成本高的问题,基于排队论原理,采用数学建模方法对维修部门在单位时间...通过数学建模,更好地利用了维修人力资源,也可应用于其他维修部门的员工数量配置
  • 本研究调查了尼日利亚西南部一些选定的私立大学的员工资源配置策略对工作绩效和企业形象的影响。 为达到研究目标,本次调查问卷共 500 份提供给六 (6) 所选定私立大学的教职员工和校长,采用分层和简单的随机抽样...
  • 建立了基于面向对象Petri网逻辑模型并形式化定义了Chaku-Chaku规则,通过仿真方法确认生产线稳态后系统的空间及物理层面特征,采用数值分析方法分析了同质员工与异质员工两种情况下生产系统的特性,确定了员工在生产线...
  • 建立了基于面向对象Petri网逻辑模型并形式化定义了Chaku-Chaku规则,通过仿真方法确认生产线稳态后系统的空间及物理层面特征,采用数值分析方法分析了同质员工与异质员工两种情况下生产系统的特性,确定了员工在生产...
  • 基于安徽省药品生产企业质量管理调查表的调查数据,本研究采用OLS模型和Logit模型,研究了员工人数与药品生产企业GMP检验之间的关系。 我们发现员工越多,他们的检查结果就越好。 员工人数众多的企业通常有很多人要...
  • 彻底搞懂Reactor模型和Proactor模型

    千次阅读 2019-08-05 08:00:00
    在高性能的I/O设计中,有两个著名的模型:Reactor模型和Proactor模型,其中Reactor模型用于同步I/O,而Proactor模型运用于异步I/O操作。 想要了解两种模型,需要了解一些IO、同步异步的基础知识,点击查看 服务端...

    在高性能的I/O设计中,有两个著名的模型:Reactor模型和Proactor模型,其中Reactor模型用于同步I/O,而Proactor模型运用于异步I/O操作。

    想要了解两种模型,需要了解一些IO、同步异步的基础知识,点击查看

    服务端的线程模型

    无论是Reactor模型还是Proactor模型,对于支持多连接的服务器,一般可以总结为2种fd和3种事件,如下图:

    640?wx_fmt=png

    2种fd

    1. listenfd:一般情况,只有一个。用来监听一个特定的端口(如80)。

    2. connfd:每个连接都有一个connfd。用来收发数据。

    3种事件

    1. listenfd进行accept阻塞监听,创建一个connfd

    2. 用户态/内核态copy数据。每个connfd对应着2个应用缓冲区:readbuf和writebuf。

    3. 处理connfd发来的数据。业务逻辑处理,准备response到writebuf。

    Reactor模型

    无论是C++还是Java编写的网络框架,大多数都是基于Reactor模型进行设计和开发,Reactor模型基于事件驱动,特别适合处理海量的I/O事件。

    Reactor模型中定义的三种角色:

    • Reactor:负责监听和分配事件,将I/O事件分派给对应的Handler。新的事件包含连接建立就绪、读就绪、写就绪等。

    • Acceptor:处理客户端新连接,并分派请求到处理器链中。

    • Handler:将自身与事件绑定,执行非阻塞读/写任务,完成channel的读入,完成处理业务逻辑后,负责将结果写出channel。可用资源池来管理。

    Reactor处理请求的流程:

    读取操作:

    1. 应用程序注册读就绪事件和相关联的事件处理器

    2. 事件分离器等待事件的发生

    3. 当发生读就绪事件的时候,事件分离器调用第一步注册的事件处理器

    写入操作类似于读取操作,只不过第一步注册的是写就绪事件。

    1.单Reactor单线程模型

    Reactor线程负责多路分离套接字,accept新连接,并分派请求到handler。Redis使用单Reactor单进程的模型。

    640?wx_fmt=jpeg

    消息处理流程:

    1. Reactor对象通过select监控连接事件,收到事件后通过dispatch进行转发。

    2. 如果是连接建立的事件,则由acceptor接受连接,并创建handler处理后续事件。

    3. 如果不是建立连接事件,则Reactor会分发调用Handler来响应。

    4. handler会完成read->业务处理->send的完整业务流程。

    单Reactor单线程模型只是在代码上进行了组件的区分,但是整体操作还是单线程,不能充分利用硬件资源。handler业务处理部分没有异步。

    对于一些小容量应用场景,可以使用单Reactor单线程模型。但是对于高负载、大并发的应用场景却不合适,主要原因如下:

    1. 即便Reactor线程的CPU负荷达到100%,也无法满足海量消息的编码、解码、读取和发送。

    2. 当Reactor线程负载过重之后,处理速度将变慢,这会导致大量客户端连接超时,超时之后往往会进行重发,这更加重Reactor线程的负载,最终会导致大量消息积压和处理超时,成为系统的性能瓶颈。

    3. 一旦Reactor线程意外中断或者进入死循环,会导致整个系统通信模块不可用,不能接收和处理外部消息,造成节点故障。

    为了解决这些问题,演进出单Reactor多线程模型。

    2.单Reactor多线程模型

    该模型在事件处理器(Handler)部分采用了多线程(线程池)。

    640?wx_fmt=jpeg

    消息处理流程:

    1. Reactor对象通过Select监控客户端请求事件,收到事件后通过dispatch进行分发。

    2. 如果是建立连接请求事件,则由acceptor通过accept处理连接请求,然后创建一个Handler对象处理连接完成后续的各种事件。

    3. 如果不是建立连接事件,则Reactor会分发调用连接对应的Handler来响应。

    4. Handler只负责响应事件,不做具体业务处理,通过Read读取数据后,会分发给后面的Worker线程池进行业务处理。

    5. Worker线程池会分配独立的线程完成真正的业务处理,如何将响应结果发给Handler进行处理。

    6. Handler收到响应结果后通过send将响应结果返回给Client。

    相对于第一种模型来说,在处理业务逻辑,也就是获取到IO的读写事件之后,交由线程池来处理,handler收到响应后通过send将响应结果返回给客户端。这样可以降低Reactor的性能开销,从而更专注的做事件分发工作了,提升整个应用的吞吐。

    但是这个模型存在的问题:

    1. 多线程数据共享和访问比较复杂。如果子线程完成业务处理后,把结果传递给主线程Reactor进行发送,就会涉及共享数据的互斥和保护机制。

    2. Reactor承担所有事件的监听和响应,只在主线程中运行,可能会存在性能问题。例如并发百万客户端连接,或者服务端需要对客户端握手进行安全认证,但是认证本身非常损耗性能。

    为了解决性能问题,产生了第三种主从Reactor多线程模型。

    3.主从Reactor多线程模型

    比起第二种模型,它是将Reactor分成两部分:

    1. mainReactor负责监听server socket,用来处理网络IO连接建立操作,将建立的socketChannel指定注册给subReactor。

    2. subReactor主要做和建立起来的socket做数据交互和事件业务处理操作。通常,subReactor个数上可与CPU个数等同。

    Nginx、Swoole、Memcached和Netty都是采用这种实现。

    640?wx_fmt=jpeg

    消息处理流程:

    1. 从主线程池中随机选择一个Reactor线程作为acceptor线程,用于绑定监听端口,接收客户端连接

    2. acceptor线程接收客户端连接请求之后创建新的SocketChannel,将其注册到主线程池的其它Reactor线程上,由其负责接入认证、IP黑白名单过滤、握手等操作

    3. 步骤2完成之后,业务层的链路正式建立,将SocketChannel从主线程池的Reactor线程的多路复用器上摘除,重新注册到Sub线程池的线程上,并创建一个Handler用于处理各种连接事件

    4. 当有新的事件发生时,SubReactor会调用连接对应的Handler进行响应

    5. Handler通过Read读取数据后,会分发给后面的Worker线程池进行业务处理

    6. Worker线程池会分配独立的线程完成真正的业务处理,如何将响应结果发给Handler进行处理

    7. Handler收到响应结果后通过Send将响应结果返回给Client

    总结

    Reactor模型具有如下的优点:

    1. 响应快,不必为单个同步时间所阻塞,虽然Reactor本身依然是同步的;

    2. 编程相对简单,可以最大程度的避免复杂的多线程及同步问题,并且避免了多线程/进程的切换开销;

    3. 可扩展性,可以方便地通过增加Reactor实例个数来充分利用CPU资源;

    4. 可复用性,Reactor模型本身与具体事件处理逻辑无关,具有很高的复用性。

    Proactor模型

    640?wx_fmt=png

    模块关系:

    1. Procator Initiator负责创建Procator和Handler,并将Procator和Handler都通过Asynchronous operation processor注册到内核。

    2. Asynchronous operation processor负责处理注册请求,并完成IO操作。完成IO操作后会通知procator。

    3. procator根据不同的事件类型回调不同的handler进行业务处理。handler完成业务处理,handler也可以注册新的handler到内核进程。

    消息处理流程:

    读取操作:

    1. 应用程序初始化一个异步读取操作,然后注册相应的事件处理器,此时事件处理器不关注读取就绪事件,而是关注读取完成事件,这是区别于Reactor的关键。

    2. 事件分离器等待读取操作完成事件

    3. 在事件分离器等待读取操作完成的时候,操作系统调用内核线程完成读取操作,并将读取的内容放入用户传递过来的缓存区中。这也是区别于Reactor的一点,Proactor中,应用程序需要传递缓存区。

    4. 事件分离器捕获到读取完成事件后,激活应用程序注册的事件处理器,事件处理器直接从缓存区读取数据,而不需要进行实际的读取操作。

    异步IO都是操作系统负责将数据读写到应用传递进来的缓冲区供应用程序操作。

    Proactor中写入操作和读取操作,只不过感兴趣的事件是写入完成事件。

    Proactor有如下缺点:

    1. 编程复杂性,由于异步操作流程的事件的初始化和事件完成在时间和空间上都是相互分离的,因此开发异步应用程序更加复杂。应用程序还可能因为反向的流控而变得更加难以Debug;

    2. 内存使用,缓冲区在读或写操作的时间段内必须保持住,可能造成持续的不确定性,并且每个并发操作都要求有独立的缓存,相比Reactor模型,在Socket已经准备好读或写前,是不要求开辟缓存的;

    3. 操作系统支持,Windows下通过IOCP实现了真正的异步 I/O,而在Linux系统下,Linux2.6才引入,并且异步I/O使用epoll实现的,所以还不完善。

    因此在 Linux 下实现高并发网络编程都是以Reactor模型为主。

    常见架构的进程/线程模型

    Netty的线程模型

    Netty采用的是主从线程模型。下面是Netty使用中很常见的一段代码。

     
    public class Server {	
        public static void main(String[] args) throws Exception {	
            EventLoopGroup bossGroup = new NioEventLoopGroup(1);	
            EventLoopGroup workerGroup = new NioEventLoopGroup();	
            try {	
                ServerBootstrap b = new ServerBootstrap();	
                b.group(bossGroup, workerGroup)	
                        .channel(NioServerSocketChannel.class)	
                        .childOption(ChannelOption.TCP_NODELAY, true)	
                        .childAttr(AttributeKey.newInstance("childAttr"), "childAttrValue")	
                        .handler(new ServerHandler())	
                        .childHandler(new ChannelInitializer<SocketChannel>() {	
                            @Override	
                            public void initChannel(SocketChannel ch) {	
                            }	
                        });	
                ChannelFuture f = b.bind(8888).sync();	
                f.channel().closeFuture().sync();	
            } finally {	
                bossGroup.shutdownGracefully();	
                workerGroup.shutdownGracefully();	
            }	
        }	
    }	
    

    对Netty示例代码进行分析:

    1. 定义了两个EventLoopGroup,其中bossGroup对应的就是主线程池,只接收客户端的连接(注册,初始化逻辑),具体的工作由workerGroup这个从线程池来完成。可以理解为老板负责招揽接待,员工负责任务完成。线程池和线程组是一个概念,所以名称里有group。之后就采用ServerBootstrap启动类,传入这两个主从线程组。

    2. 客户端和服务器建立连接后,NIO会在两者之间建立Channel,所以启动类调用channel方法就是为了指定建立什么类型的通道。这里指定的是NioServerSocketChannel这个通道类。

    3. 启动类还调用了handler()和childHandler()方法,这两个方法中提及的handler是一个处理类的概念,他负责处理连接后的一个个通道的相应处理。handler()指定的处理类是主线程池中对通道的处理类,childHandler()方法指定的是从线程池中对通道的处理类。

    4. 执行ServerBootstrap的bind方法进行绑定端口的同时也执行了sync()方法进行同步阻塞调用。

    5. 关闭通道采用Channel的closeFuture()方法关闭。

    6. 最终优雅地关闭两个线程组,执行shutdownGracefully()方法完成关闭线程组。

    如果需要在客户端连接前的请求进行handler处理,则需要配置handler();如果是处理客户端连接之后的handler,则需要配置在childHandler()。option和childOption也是一样的道理。

    boss线程池作用:

    1. 接收客户端的连接,初始化Channel参数。

    2. 将链路状态变更时间通知给ChannelPipeline。

    worker线程池作用:

    1. 异步读取通信对端的数据报,发送读事件到ChannelPipeline。

    2. 异步发送消息到通信对端,调用ChannelPipeline的消息发送接口。

    3. 执行系统调用Task。

    4. 执行定时任务Task。

    通过配置boss和worker线程池的线程个数以及是否共享线程池等方式,Netty的线程模型可以在以上三种Reactor模型之间进行切换。

    tomcat的线程模型

    Tomcat支持四种接收请求的处理方式:BIO、NIO、APR和AIO

    • NIO
      同步非阻塞,比传统BIO能更好的支持大并发,tomcat 8.0 后默认采用该模型。
      使用方法(配置server.xml):<Connector port="8080" protocol="HTTP/1.1"/> 改为 protocol="org.apache.coyote.http11.Http11NioProtocol"

    • BIO
      阻塞式IO,tomcat7之前默认,采用传统的java IO进行操作,该模型下每个请求都会创建一个线程,适用于并发量小的场景。
      使用方法(配置server.xml):protocol =" org.apache.coyote.http11.Http11Protocol"

    • APR
      tomcat 以JNI形式调用http服务器的核心动态链接库来处理文件读取或网络传输操作,需要编译安装APR库。
      使用方法(配置server.xml):protocol ="org.apache.coyote.http11.Http11AprProtocol"

    • AIO
      异步非阻塞 (NIO2),tomcat8.0后支持。多用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。
      使用方法(配置server.xml):protocol ="org.apache.coyote.http11.Http11Nio2Protocol"

    Nginx的进程模型

    Nginx采用的是多进程(单线程)&多路IO复用模型。

    工作模型:

    1. Nginx在启动后,会有一个master进程和多个相互独立的worker进程。

    2. 接收来自外界的信号,向所有worker进程发送信号,每个进程都有可能来处理这个连接。

    3. master进程能监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动启动新的worker进程。

    Redis的线程模型

    点击查看笔者之前的博客,快速搞懂Redis的线程模型

    Swoole的进程模型

    点击查看笔者之前的博客,Swoole引擎原理的快速入门干货

    更多内容,欢迎关注微信公众号:全菜工程师小辉~

    640?wx_fmt=png

    640?wx_fmt=gif
    “阅读原文”一起来充电吧!

    喜欢就点个“在看”呗^_^640?wx_fmt=gif

     

    展开全文
  • 统一配置数据源:蓝鲸配置平台

    千次阅读 2018-09-07 18:12:48
    3、蓝鲸配置平台设计理念 4、CMDB实施中需要解决的核心问题   蓝鲸简介   蓝鲸智云,简称蓝鲸,是腾讯游戏运营部“腾讯智营”下的子品牌。它是一套基于 PaaS 的企业研发运营一体化技术解决方案,提供了一个...

    关注嘉为科技,获取运维新知

     

    目录

    1、蓝鲸简介

    2、传统CMDB建设的问题

    3、蓝鲸配置平台设计理念

    4、CMDB实施中需要解决的核心问题

     

    蓝鲸简介

     

    蓝鲸智云,简称蓝鲸,是腾讯游戏运营部“腾讯智营”下的子品牌。它是一套基于 PaaS 的企业研发运营一体化技术解决方案,提供了一个完整的研发、运维、运营的PaaS技术平台。平台提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统;是腾讯游戏运营部沉淀多年的技术运营支撑体系,承担着数百款业务线上运营的使命。

    对于蓝鲸不太了解和熟悉的同学可以移步这里:

    http://bk.tencent.com/index/,

    还有这里:

    http://docs.bk.tencent.com/product_white_paper/introduction/。

    请相信,你打开的不是两个链接,而是运维的新世界和新天地。

     

    传统CMDB建设的问题

     

    我们知道CMDB最早来自于ITIL,后来逐渐被各种IT管理工具吸纳,成为管理工具的一部分。例如ITSM中有CMDB,网管工具有中有CMDB,监控工具中有CMDB……

     

    这么多工具中都可以有CMDB,会导致很多问题:各个工具的CMDB诸侯割据,互不相通,数据不一致,需要维护多份数据等等。

     

    我们将传统CMDB建设存在的问题总结一下:

     

    1、自动化管理弱

    • 手动管理为主

    • 事后管理为主

    • 自动采集较弱

    • 管理成本高昂

    2、不以应用为中心

    • 更多是对象和属性罗列

    • 缺乏应用视角配置管理

    • 更多面向资产和流程

    • 应用与下层资源脱节

    3、数据流动性差

    • 缺乏自动化平台支撑

    • 外部对接扩展性差

    • 外部消费扩展性差

    • 跨云管理扩展性差

    4、数据一致性&准确性差

    • 缺乏自动发现校验

    • 缺乏数据扫描监控

    • 缺乏数据规则校验

    • 缺乏外部系统同步

    5、未对接自动化

    • 任务编排消费

    • 资源交付消费

    • 运维操作消费

    • 运营分析消费

    6、未对接流程

    • 未对接ITSM流程平台

    • 不支持配置数据读取与回写

    • 不支配置异常推送工单

    • 未构建配置管理同步和闭环

    7、未对接监控

    • 未对接企业监控系统

    • 不支持面向监控数据消费

    • 不支持故障影响范围分析

    • 不支持配置和监控可视化展示

    8、不可审计

    • 未实现所有变更均记录

    • 未实现任何更改可审计

     

    蓝鲸配置平台设计理念

     

    1、以业务与应用为中心的开放、开源的CMDB整体架构

    IT运维管理本身是以应用为中心进行的管理,因此合情合理的CMDB建设应该是以业务和应用为中心建设的CMDB,如此两者才能匹配起来。

    蓝鲸的CMDB设计正是以此为设计的基础。

    以应用为中心,理解起来是这样的:配置数据的入库和存储是以应用为中心的,配置数据的展示和查询是以应用为中心的,配置数据的消费和数据回写也是以应用为中心的。

     

     

    2、面向自动化场景、ITSM流程场景、监控&自愈场景的CMDB一体化数据消费

    应用运维和IT管理中针对CMDB配置数据的消费总体来说包括三种类型:自动化运维、ITSM流程、监控&故障自愈。

    这就要求CMDB具备对接和集成这三种工具的能力。蓝鲸CMDB原生集成蓝鲸的自动化运维平台和蓝鲸监控,并开放标准的接口能够对接企业自身的ITSM系统以及监控系统。

    这样一来,在企业中,只需要维护一套核心的CMDB数据源,就能在几乎所有场景中消费并维护数据。

     

     

     

     

    3、统一的、流转的、“活”起来的、闭环的CMDB数据源泉

    在上述任意一种运维场景中,配置数据本身都包含消费和回写等两个链路,整体构建成一个数据消费的闭环;确保配置数据在流转中始终是准确的,一致的。

     

    4、全方位、可视化、够灵活的CMDB自动管理和展示

    配置管理除了面向运维管理员之外,很多时候还需要将相关数据展示给其他人,比如领导。这就要求配置管理本身需要具备良好的可视化展示能力。

    嘉维蓝鲸研发的数据可视化工具,可以完美解决这一需求。不仅可以展示配置数据,还能接入各种监控数据、容量数据、自动化运维数据等,做集中展示和查询。

     

    CMDB实施中需要解决的核心问题

    结合上述CMDB的设计理念,在以业务和应用为中心的CMDB建设中,需要解决几个核心的问题。

    1. 如何设计业务(应用)层级

    2. 如何设计各层级模型和关联关系

    3. 如何入库各层级配置信息

    4. 如何实现数据消费闭环,并确保数据的一致性、准确性

    5. 如何进行CMDB可视化管理和安全管理

     

    1、如何设计业务(应用)层级

    应用的层级设计是在CMDB建设中第一需要考虑的问题,不同的企业相同应用或同一个企业的不同应用,层级拓扑和应用下属各个模块都是不同的。这就需要CMDB本身具备很强的灵活性,能够因地制宜,针对不同的应用或者业务需求,设计不同的应用层级拓扑。

    蓝鲸CMDB由于是一个非常开放的平台,并且本身完全开源,因此很容易能够满足上述要求。

     

     

    2、如何设计模型蓝图

     

    这一部分要解决的核心问题是:我们应该将哪些对象的哪些属性入库CMDB,这些对象之间应该具有怎样的关联关系。

    答案是:用到什么,就放什么。我们需要根据实际的运维场景的需求,来决定放什么数据,不放什么数据。不要为了数据而数据,而应该为了使用而放数据。大而无当的CMDB只会成为运维的累赘和后腿。

    作为企业而言,这个过程需要紧密配合服务商,一起参与进来。只有我们自己是最清楚自己需要什么数据的,不能指望有一个产品部署上来就能自动解决所有的数据需求。我们需要细细梳理各种各样的场景中大致需要怎样的数据,然后使用不同的手段将这些数据填充到CMDB中。

    这个过程非常关键和重要,决定了CMDB在之后是否真正的用起来和用好。因此,需要服务商本身具备深厚的IT运维和服务经验,对于企业中特别是传统企业中的日常运维非常清楚,并且积累了标准的CI、CI属性和关联关系的标准库和模板。仅仅靠理论推演和臆测,这个过程是绝难做好的。

     

    总结起来,这个部分要做好,需要服务商具备几个能力:懂企业的运维、懂企业使用的产品和技术、有相应技术人员和力量。

     

    嘉为作为一家立足北上广深,辐射全国的IT综合服务商,历经18年的发展与沉淀,形成了成熟的服务能力、服务体系和能力沉淀;常年技术服务合作客户超500家,各行业龙头企业均选择嘉为作为战略性合作伙伴。

     

    嘉为与Microsoft、阿里云、腾讯、RedHat、Oracle、VMware、Vertas、Citrix、EMC等国内外主流IT厂商合作,是这些IT大厂的重要合作伙伴。

     

    嘉为技术人员超300名,多为211/985院校毕业,基本素质高、学习能力强;内部员工离职率低,上述各技术领域均有10年以上的资深专家深度支持。

     

    结合蓝鲸强大的配置平台,轻松实现CMDB在企业的落地。

     

    3、如何入库各层级配置信息

    在将配置信息入库CMDB的过程中,需要结合多种手段实现。

    针对不同的数据,这些手段包括:与外部系统同步、自动发现和自动采集、手动批量导入。

     

     

     

    4、如何实现数据消费闭环,并确保数据的一致性、准确性

    这一部分一半靠技术和工具,另一半靠管理、制度和习惯。尽量按照企业内部规范的配置变更流程执行配置的变更,即便偶尔来不及,变更之后也需要补充相应的流程。可以是ITSM流程,也可以是相对简单的工单流。

    在这一点上,蓝鲸具有天然的优势。由于蓝鲸CMDB与蓝鲸自动化运维平台原生集成,因此通过自动化运维平台执行的任何变更操作,都会自动同步到CMDB中。如果需要其他系统也能及时获取最新的配置数据,比如ITSM系统,就需要将ITSM系统与蓝鲸的CMDB集成。这方面,在蓝鲸层面实现也是比较容易的。

     

     

     

    除此之外,服务商在交付CMDB建设项目的时候,除了项目交付和普通文档交付之外,还能够针对企业的实际运维环境,交付一套《CMDB配置维护流程规范》和《CMDB配置维护流程细则》;并且确保规范和细则是符合企业实际环境需求,并能持续运转的。

    如此,就是既授之以鱼,又授之以渔。

     

    5、如何进行CMDB可视化管理和安全管理

    数据可视化越来越成为很多中大型企业IT管理的刚性需求。由于业务系统众多,IT环境复杂,领导层迫切需要在一个集中的大屏中能够看到企业整体的业务运维情况和IT环境情况。

    对此,嘉为专门开发了数据可视化的工具,支撑上述需求。不仅可以将CMDB数据,还可以自定义将监控数据、容量数据、健康巡检数据等做集中展示。

     

    总结一下:蓝鲸配置平台是一款面向应用的 CMDB。在 ITIL 体系里,CMDB 是构建其它流程的基石,而在蓝鲸智云体系里,配置平台就扮演着基石的角色,为应用提供了各种运维场景的配置数据服务。

     

    嘉维蓝鲸凭借自身丰富的IT服务经验、规模化的人才梯队和对于CMDB的深刻理解,结合蓝鲸CMDB强大的能力,为企业提供切实可落地、可扩展、可消费、有质量、闭环的CMDB配置数据平台。

     

    欲了解更多关于蓝鲸CMDB的具体内容,可浏览蓝鲸官网:

    http://docs.bk.tencent.com/product_white_paper/cmdb/

     

    本文首发于微信公众号:嘉为科技,转载请注明出处。​​​​

    展开全文
  • 配置管理数据库( Configuration Management Database,CMDB)是一个逻辑数据库,包含了配置项全生命周期的信息以及配置项之间的关系(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。 CMDB存储与管理企业IT...

    一、cmdb是什么?

    》》百度百科

    配置管理数据库( Configuration Management Database,CMDB)是一个逻辑数据库,包含了配置项全生命周期的信息以及配置项之间的关系(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。

    CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。

    在实际的项目中,CMDB常常被认为是构建其它ITIL(Information Technology Infrastructure Library,IT基础架构库)流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。 70%~80%的IT相关问题与环境的变更有着直接的关系。

    实施变更管理的难点和重点并不是工具,而是流程。即通过一个自动化的、可重复的流程管理变更,使得当变更发生的时候,有一个标准化的流程去执行,能够预测到这个变更对整个系统管理产生的影响,并对这些影响进行评估和控制。而变更管理流程自动化的实现关键就是CMDB。

    》》个人理解

    CMDB本质是一个存储IT基础信息的数据库,目的是为了将内部所有IT资源管理起来,建立一套高质量的IT资源配置主数据。我们可以基于CMDB建设来一步一步实现自动化运维。


    二、cmdb架构

    CMDB架构分基础资源层架构和应用资源层架构。应用层资源架构把相关的资源以应用为中心实现资源整合。资源及其资源的关系称之为拓扑(应用拓扑、物理拓扑),资源管理方式有人工维护和自动发现两种方式,流程是人工维护的一种复杂场景和手段。

     

    1、基础CMDB建设五原则<

    展开全文
  • 1:员工依然负责自己东西,但鼓励适当的跨团队结对开发 2:团队成员因内部团队间协作需要开展有管理的跨团队水平结对开发,内部团队责任界限不构成障碍 3:不同角色的垂直结对开发,进一步扩大跨...

     

    管理实践AgileMaturity Model

    实践一:SharedResponsibility–职责共享

    Theme

    Level

    State Description

    Reference Implementations

     

    3+

    组织级结对

    Organizational Pairing

    与业务人员实时结对;跨团队协作

    Real time pairing with the business; cross-team collaboration

     

    3

    跨域结对

    Cross-Discipline Pairing

    跨角色结对以实现需求

    Cross-role pairing on requirements execution

     

    2

    有管理的结对

    Pairing is Managed

    使用结对阶梯表以确保结对被经常轮换,整个团队以结对方式工作

    Pair stairs are used to ensure rotation; pair teams sign up for requirement execution

     

    1

    鼓励结对

    Pairing is Encouraged

    有机会结对并且结对是受鼓励的

    Opportunities to pair are identified and encouraged

     

    0

    不受限访问

    Unencumbered Access

    开发人员可以不受限制地访问开发产物

    Developers have unrestricted access to change development artifacts

     

    -1

    制度化,专业化

    Institutionalized Specialization

    开发人员角色固定并且能力受限

    Developers are in specified roles with limited ability to make changes

    • 评估指引:

    • -1:高度制度化下的分工体系,每人负责一块,并只对这块负责

    • 0:员工只对自己团队的工作负责,但可访问其他团队代码

    • 1:员工依然负责自己东西,但鼓励适当的跨团队结对开发

    • 2:团队成员因内部团队间协作需要开展有管理的跨团队水平结对开发,内部团队责任界限不构成障碍

    • 3:不同角色的垂直结对开发,进一步扩大跨团队职责共享,角色界限模糊

    • 3+:不同项目,不同组织的互相串通开发,组织级团队职责共享

    • 注:不同组织:跨产品线、部门

      • 垂直结对,是指需求、设计、开发、测试等上下游角色之间的结对

      • 水平结对,是指需求角色之间、设计角色之间、开发角色之间、测试角色之间的结对

    实践二:Requirements–需求

    Theme

    Level

    State Description

    Reference Implementations

     

    3+

    独立

    Independent

    需求描述了交付团队需要完成的事项,是独立的,可执行的。估计和协商的方式可以改变。

     

    3

    可协商

    Negotiable

    需求是关注业务的,是在与业务人员沟通时获取的,而不是从正式的文档或流程提取的。并且需求是可以协商的。

     

    2

    增量价值,可测试

    敏捷故事:需求是业务价值的体现,而不是待完成的技术任务。

     

    1

    短小,可估计

    Short, estimable

    需求会被进一步分解成可互相依赖的任务(技术需求)以提高估计的准确性。

     

    0

    概要,模糊,业务导向的表达

    需求过大,表述概括。估计不准确,需求描述过于概括导致难以协商

     

    -1

    详细的,高度耦合

    冗长的用例,缺乏完整背景的大段描述

    • 评估指引:

    • -1:缺乏完整背景的大段描述需求

    • 0:需求的描述比较模糊,概况而难以协商讨论

    • 1:有相对详细的步骤、任务来描述需求

    • 2:各内部团队接受的需求是独立的,可被拆成若干可实现的动作/任务。建立稳定的跨团队/角色的协作流程。

    • 3:建立面向用户价值的高效需求开发和管理过程

    • 3+:自发的与业务讨论出来的需求,而不是单纯从文档出来的需求

    实践三:Responsiveness–快速响应

    Theme

    Level

    State Description

    Reference Implementations

     

    3+

    持续变更管理

    流畅的变更决策

    实现软件产品的持续交付

    用户需求得到及时有效的响应,用户高度满意

     

    3

    持续业务参与

    业务人员积极参与交付的每个阶段

    用户代表能够积极协调研发团队、市场和用户的业务关系,用户满意度较高

     

    2

    迭代变更管理

    新特性和优先级可在每个迭代调整

     

    1

    短交付周期

    新特性和优先级可在每次发布调整

     

    0

    应激式变更控制,风格不统一

    非正式的变更控制

     

    -1

    缺乏灵活性,长交付周期

    极为正式的变更控制。变更控制导致或反映了对变更的抵抗。规范是冻结的。

    • 评估指引:

    • -1:长交付周期,计划一定就不好修改,市场和研发极少沟通,处于割裂状态

    • 0:应激式变更控制,已有变化就仓促应对,调整计划。团队可以接受市场反馈,但反馈滞后,缺乏有效管理,交付具有不确定性

    • 1:短交付周期,将变化控制在一个短周期内,建立市场反馈的有效管理,有基本可信的交付承诺

    • 2:迭代变更管理,将变化控制在一个迭代,建立起用户基本满意的沟通和交付机制

    • 3:业务人员参与到迭代中,掌握市场和研发两边情况,调整变更优先级,积极协调研发、市场和用户的业务关系,用户满意度较高

    • 3+:持续变更管理,将变更变成常态,成为可规划可管理的流畅过程。用户需求得到及时有效的响应,甚至引领用户需求,用户满意度高

    实践四:ProjectManagement–项目管理

    Theme

    Level

    State Description

    Reference Implementations

    流畅的计划内和计划外风险管理

    3+

    项目管理最大程度支持业务

    存在统一机制以报告项目是否满足业务需求

    3

    自适应项目管理

    项目计划是有业务人员参与的协作过程,每个迭代都会进行并可能得到更新。项目计划能够指明当前期望在哪个迭代交付哪些业务功能。

    计划内和计划外风险在决策视角内得到关注

    2

    项目状态报告反映项目路径?

    项目状态报告反映了项目路径,在业务层面传达目前为止已交付的功能

    1

    决策视角是迭代长度

    决策视角是一个较短的时间窗,通常不超过3个星期。需求以能在此时间窗内完成的方式表达

    应激式风险应对(对执行的关注胜过风险意识)

    0

    决策视角是发布长度

    决策视角是一个较短的时间窗,通常不超过3个月。需求以能在此时间窗内完成的方式表达

    计划内风险受管理,不容许计划外风险

    -1

    固定的项目计划,决策视角是项目长度

    项目时间表作为计划,决策视角是项目长度,有可能几年。项目状态是以执行与计划的匹配程度来报告的。

    • 评估指引:

    • -1:非常固定的项目计划,时间长,只关注计划内风险

    • 0:通常可以3个月为单位知道项目进度,并制定基本的风险管理对策

    • 1:通常在3~4周内知道项目进度,并制定风险管理对策

    • 2:可快速根据项目报告得到项目具体进度,建立基本的可视化项目管理视图(如燃起图)

    • 3:随时可得到项目进度状况,建立成熟的可视化项目管理(所有角色能够成熟地使用)

    • 3+:随时知道项目进度是否满足业务需求,持续交付

    • 注:

      • 敏捷项目管理以估算为基础,以客户合作为重要保障

      • 对项目的关键要素S(需求)、Q(质量)、R(成本)、T(时间)进行细分的、量化、可视化管理

      • 风险是指所有SQRT相关的可能影响项目输出的不确定因素,风险管理质量是敏捷项目管理成熟度的重要参考

    实践五:Communication–沟通

    Theme

    Level

    State Description

    Reference Implementations

    系统性沟通

    3+

    企业级协作

    与业务相关的活动对团队无侵入性;业务和开发组成统一团队

    流畅沟通

    3

    协作执行

    跨角色结对

    沟通自动化

    2

    协作基础设施

    面向所有涉众的交流(主动的、被动的)均有工具支持

    结构化沟通体系

    1

    协作式专题讨论

    有结构化、有规律的沟通和会议支持协作

    双向沟通

    0

    定期会议

    定期(通常是每周)小组会议以供团队成员讨论

    单向沟通

    -1

    单向沟通

    管理层向团队通报进度

    不定期小组会议

    各执一词的吵架会议

    • 评估指引:

    • -1:管理通报进度,布置任务,下级无反馈和沟通

    • 0:定期项目级会议讨论团队间协作问题

    • 1:团队间定期讨论+专题讨论,但因人员工作地点、积极性、会议资源等问题使得会议成本和效率有待改进

    • 2:高质量的会议资源支持团队间频繁沟通,比如:视频会议,基本无客观环境因素限制沟通质量和效率

    • 3:团队不同角色结对,由团队成员自发形成

    • 3+:组织型结对

    实践六:SelfOrganization–自组织能力

    Theme

    Level

    State Description

    Reference Implementations

    强化原则,弱化规则

    3+

    巩固

    与业务成果挂钩

    3

    平衡

    连通各个维度

    2

    操作

    项目团队充分理解敏捷价值观和实践原则,并在部分项目级工作中得到有效遵循,以减少浪费

    项目级团队有意识地减少或避免管理规范和要求对团队的侵入和干扰

    研发活动、文档、度量、会议等得到简化或自动化,例如:自动收集的度量数据和指标,减少方所的手工收集和报告

    记录、奖惩、考核、学习和分享等工作逐步由团队自主制定和执行

    1

    初始

    项目工作开始接受敏捷实践原则,各团队根据自身情况反馈对项目的工作诉求,并可能获得支持

    项目团队制定的工作要求得到各成员认可和支持的,以保证项目交付的质量和效率

    缺乏明确的规则或原则

    0

    应激性的

    项目层面工作无规范,团队间没有共同认可的纪律,经常因为工作混乱导致项目工作无法预测

    规定的,基于规则的

    -1

    文过饰非

    项目内各项工作表现为重量级的,障碍性的,便于出错时好有借口

    • 评估指引:

    • 关注敏捷价值观和原则如何应用到敏捷团队工作中

      • 任何一项团队工作(决策准则)都表现为规范性和原则性之间的平衡,这种平衡体现出团队自组织能力的成熟度

      • 可考察团队工作的任何领域,研发活动、文档、度量、奖惩、考核等

      • 自组织能力的目标是发挥团队和成员的创造性,提升团队凝聚力,建立积极向上的敏捷研发文化

    • -1:基于重量级文档、规程、检查单等规范性工作产品,作为验证、追责标准

    • 0:应激性管理

    • 1:主要由领队决定,团队成员意见可供参考

    • 2:在部分领域,团队基于对活动的价值分析进行决策。领队提供支持,必要时进行决策。最大限度降低相关活动对团队工作的侵入和浪费。

    • 3:几乎在所有领域,团队都能够正确地运用敏捷价值观和原则进行价值分析和决策,及时回顾和修正团队决策

    • 3+:端到端的双向追踪:实现从市场需求到产品交付全流程的自组织团队管理

    • 注:即使到3+,团队工作的规范也是需求的,关键是规范的产生和执行是否符合敏捷价值观。

    技术实践AgileMaturity Model

    实践七:Build–软件构建

    Theme

    Level

    State Description

    Reference Implementations

     

    3+

    External Gatekeeper

    对外防御

    Functional testing tools (Watir, Selenium, Marathon Man) are integrated as gatekeeper events to the build. Integration tests with external tools and products.

    在构建过程中集成功能测试工具,并将其作为构建成功的条件。对与外部工具和产品的集成进行测试。

     

    3

    Internal Gatekeeper

    对内防御

    Unit tests and code characteristics are implemented as gatekeeper events that will

    prevent a build from completing.

    在构建过程中集成单元测试和代码特征检查,并将其作为构建成功的条件。

     

    2

    Constant

    频繁执行

    Build velocity is maximized - that is, build is happening with the maximum frequency. State of the build the responsibility of the team.

    建立良好的项目团队构建纪律并得到团队的认同和认真执行。

    尽快构建即保持最高的构建频率。整个团队对构建状态负责。

     

    1

    Repeating

    重复执行

    Build is repeatable and automated, but doesn‘t happen with maximum frequency

    as permitted by the technology. State of the build is a responsibility of the team.

    构建过程是自动化的、可重复的,但受限于技术原因不能保持最高的构建频率:整个团队对构建状态负责。

     

    0

    Repeatable

    具备重复执行能力

    Build process is repeatable and static, but still likely performed manually and infrequently; the build may be owned by a specific member of the team.

    构建流程是可重复的,但并不活跃,往往手动触发,而且频率较低。构建由团队中某个特定的成员负责。

     

    -1

    Custom

    不可重复

    Build is manually performed, custom every time, and infrequently performed; it may be owned by a specific member of the team

    构建必须手动执行,每次执行都需要专门做一些配置,执行频率较低,构建由团队中某个特定的成员负责。

    • 评估指引:

    • -1:项目级构建频度低于一周一次,集成构建无规律

    • 0:项目级构建频度做到一周至少两次,每周至少有一次整体集成构建

    • 1:项目级构建频度做到每天一次,构建每天一次

    • 2:项目级构建做到完成一块提交一次,CI工具支持每次提交出发增量构建

    • 3:所有内部开发团队达到构建3级,基本的功能冒烟测试加入到每次构建中,用以保证内部质量

    • 3+:自动化集成测试加入到构建中,自动化部署和验收测试保证外部质量

    实践八:Testing–测试

    Theme

    Level

    State Description

    Reference Implementations

    Analysts are part of test planning

    分析师会参与制定测试计划

    3+

    Comprehensive, Integrated

    全面的、集成的

    Owned by QA/Dev/Analyst, complete integration with build, non-functional and

    integration testing in an advanced state

    测试由需求规划、测试和开发人员共同负责。大部分测试集成进构建过程中。与产品应用场景基本一致的测试设计,且高度自动化(不一定完全自动化),故障泄露数量底,满足持续发布需要。

    3

    TDD, Integrated

    Owned by QA/Dev/Analyst, non-functional and integration testing undergo complete inspection tests. Functional testing is integrated with the build. Developers practice TDD.

    测试由测试人员和Dev以及Analyst共同负责。非功能测试和集成测试由完整的审查过程来保障。功能测试被集成进构建过程中。

    Developers are part of testing

    开发人员会参与测试

    2

    Shared by QA and Development,

    Integrated

    测试与开发共享、集成的

    Owned by QA/Dev. Non-functional and integration testing undergo complete

    inspection tests, functional testing is integrated with the build.

    测试由测试人员和Dev负责。非功能测试和集成测试由完整的审查过程来保障。功能测试则被集成进构建过程中。

    1

    Shared by QA and Development测试与开发共享

    Owned by QA/Dev. Functional testing is not integrated with the build and may still be a full inspection process. Non-functional and integration tests might be incrementally integrated or End of Lifecycle

    测试由测试人员和Dev负责。功能测试未集成进构建过程,由完整的审查过程来保障。

    非功能测试和集成测试可能是增量集成的,或者是在软件开发周期的末尾阶段执行的。

    Testing is a QA problem

    测试只是测试人员的事情

    0

    Independent, Inspection

    独立的,审查

    Owned by QA. Functional testing is full inspection and not integrated with the build.

    Incremental non-functional and integration tests are rudimentary inspection tests, or performed only at End of Lifecycle.

    测试由测试人员负责。功能测试是一次完整的检查,而未集成进构建过程中。增量的非功能测试和集成测试中仅包含基本的审查测试,或者这些检查仅在软件开发周期的末尾阶段执行。

    -1

    Independent, End of Lifecycle

    独立的,位于软件开发周期末尾阶段

    Owned by QA. Functional, Non-functional and Integration testing performed at End of Lifecycle.

    测试由测试人员负责。功能测试、非功能测试和集成测试仅在软件开发周期的末尾阶段

    • 评估指引:

    • -1:测试部门统一测试,开发无测试,测试集中在项目后期

    • 0:开发代码回顾,并做部分功能测试,但大部分在后期测试部门测试

    • 1:版本提交测试前,测试人员与开发人员共享测试资源(工具、用例、测试环境等),分工比较明确,共同完成部分开发测试,但大规模测试依然在测试部门执行,测试人员参与需求分析,并确定测试设计的输入

    • 2:项目内部软件开发团队达到测试2级,版本提交系统测试前代码经过单元测试以及部分功能测试保护

    • 3:项目内部软件开发团队达到测试3级,大部分测试集成到构建过程中,测试部门只需少量保障性手工测试,包括功能和非功能测试

    • 3+:完整全面的测试,没有专职的测试工程师,PO+测试+开发共同完成所有测试,并大量自动化

    实践九:Simplicity–简单性

    Theme

    Level

    State Description

    Reference Implementations

    高级技术风险降低

    3+

    JIT Re-use

    即时重用

    组件超市:“组件在可重用之前必须可用。”

    Component supermarket: ―a component must be usable before it can become re-

    usable‖

    高级技术风险降

    3

    JIT Design

    即时设计

    YAGNI文化(YAGNI大概意思是只需要将应用程序必需的功能包含进来)

    关注简单性:可工作、交流、无重复、尽量少的晦涩片段

    YAGNI culture

    Focus on simplicity: works, communicates, no duplication, fewest moving parts

    有效的技术风险降低

    2

    Mature refactoring

    成熟的重构

    有效地应用设计模式:支持重构的测试实践。

    Effective application of design patterns; testing practices support refactoring

    技术风险降低雏形

    1

    Refactoring introduced

    引入重构

    无纪律的重构,重构不充分;结对编程、每日站立会议、迭代回顾。

    Undisciplined refactoring is not sufficient; indicators of discipline include pair

    忽视技术风险

    0

    Ad-hoc design

    临时设计

    应激性设计(“工作即可”);拼凑组件。

    Reactive design (whatever works‖); component ―bazaar‖

    预先假想所有技术风险

    -1

    Big up-front design

    大规模预先设计

    花费大量精力预先设计框架;传统的企业级重用程序(如组件库);误用SOA(如根据推理定义分类);导致高耦合、脆弱的实现,降低响应能力。

    Significant investment in up-front frameworks; traditional enterprise re-use program (e.g., component libraries); SOA done wrong (e.g., speculative taxonomy defined);

    实践十:ConfigurationManagement–配置管理

    Theme

    Level

    State Description

    Reference Implementations

     

    3+

    Enterprise CM

    企业级配置管理

    可以在多个提供商提供的解决方案之间协调配置管理。

    CM is coordinated across vendor supplied solutions

     

    3

    Coordinated CM

    协调的配置管理

    在同一个程序内协调多个项目的配置管理。

    CM is coordinated across projects within the same programme

     

    2

    Automatic CM

    自动化配置管理

    自动化的配置管理流程意味着更少的意外。乐观锁。通过构建和测试保证CM纪律。原子提交。

    The ―code fairy does not run free‖ state – automation of CM rules. Optimistic locking.

     

    1

    Integrated CM

    集成配置管理

    配置管理与IDE集成在一起。手动的代码管理方式意味着代码很难控制,(如果未遵守纪律,就可能出现意外)

    CM integrated with the IDE. Manual discipline means ―the code fairy runs free‖

     

    0

    Rudimentary CM Strategy

    基本的配置管理策略

    基本的代码版本管理

    Basic code versioning

     

    -1

    CM is an impediment

    配置管理是一项负担

    无规矩

    版本信息只保存在每个人的心里

    Wild west

    Gatekeeper approach (―pay the CM troll‖)

    Tacit knowledge in lieu of versioning

     

    展开全文
  • 共享经济新模式——共享员工

    千次阅读 2020-02-14 23:30:34
    今天和大家聊聊在本次疫情之后,行业内催生的一种新的共享经济模式,也就是共享员工。乍一看,好像没什么,不就是A公司的员工通过借调或者外包的方式到B公司去上班,但是背后却凸显出了疫情危机之下行业用工、企业...
  • 软件能力成熟度模型(CMMI)

    万次阅读 2019-04-30 16:27:39
    转载自:... 本章内容提要CMMI概述CMMI的成熟度等级及其过程域CMMI的应用PSP,TSP与CMMI第一节 CMMI概述CMMI( Capability Maturity Model Integration)即能力成熟度模型集成,由CMM (Ca...
  • 微电子发展研究中心,上海 200093) 摘要:对半导体制造中员工人数的配置问题进行了研究,提出了操作工人数的长期决策和短期决策两种情况,并用仿真模拟的方法对操作工数量需求进行动态研究,而非传统的静态模型。...
  • 员工管理系统-源码

    2021-02-14 19:33:33
    引擎或应用程序的逻辑层由“员工”,“关注”,“假日”和“休假”模型组成。 “ EmployeeManagement”类是主机类。 这是定义应用程序主要动作的地方。 这包括对Employee对象,Concern对象,Holiday对象和Leave对象...
  • 初探零信任模型

    千次阅读 2019-04-12 11:32:25
    (一)边界模型 传统的基于边界的网络安全架构通过防火墙、WAF、IPS等边界安全产品/方案对企业网络边界进行重重防护。它的核心思想是分区、分层(纵深防御)。边界模型专注防御边界,将坏人挡在外面,假定已经在边界...
  • 二、数学模型 1、一般数学模型 2、矩阵表示 其中c,x都是列向量,A,Aeq是一个合适的矩阵,b,beq是合适的列向量。然后lb和ub是下限和上限(但是请注意lb是一个变量的名字)。 注意:这里针对变量类型约束增加...
  • 今天和大家聊聊在本次疫情之后,行业内催生的一种新的共享经济模式,也就是共享员工。乍一看,好像没什么,不就是A公司的员工通过借调或者外包的方式到B公司去上班,但是背后却凸显出了疫情危机之下行业用工、企业...
  • 老板/员工流式并行计算模型

    千次阅读 2016-06-25 21:15:24
    随着大数据时代的到来,人们...该模型的工作原理酷似老板与员工合作完成任务的模式,因此本文将该模型命名为老板/员工流式并行计算模型。  更多信息,参见作者个人主页 Jianping Cai's Research Page 。
  • 使用方法如上图所示,只需输入模型结构中各层的参数配置。 挺好用的不过它目标分辨率太低了,放大之后不清晰,达不到印刷的需求。4 Draw_Convnet 这一个工具名叫draw_convnet,由Borealis公司的员工Gavin ...
  • 蓝色关注,回复“1”获取知名公司程序员和产品经理职级这是我的第「105」篇原创文章见字如面,我是军哥。上篇聊了阿里技术人才的能力模型之初级篇,然而我觉得那只是吃大餐前的冷菜,我们继续讨论...
  • 预训练模型的应用背景1.1 多任务学习与迁移学习1.2 自监督学习2. 快速使用PaddleHub2.1 通过Python代码调用方式 使用PaddleHub2.1.1 CV任务原图展示人像扣图人体部位分割人脸检测关键点检测2.1.2 NLP 任务2.2 通过...
  • 10种软件开发模型整理

    千次阅读 2020-12-19 14:12:54
    准备整理一下软件模型,但是百度到都是零散信息,所以文章准备从概念、模型核心思想、优点、缺点、生命周期等体现各个软件模型 什么是软件模型 软件开发模型(Software Development Model)是指软件开发全部过程、...
  • 至于究竟哪个模型更好,需要用数据来验证,还有求解方法也不唯一,比如指派问题,你可以用线性规划OR动态规划OR整数规划OR图与网络方法来解。 总的来说,常用主成分分析来降维,综合评价的方法有因子分析法、层次...
  • Windows_AD域配置完美版

    2019-01-28 15:53:53
    从域的基本定义中我们可以看到, 域模型的设计中考虑到了用户账号等资源的共享问题, 这样域中只要有一台计算机为公司 员工创建了用户账号, 其他计算机就可以共享账号了。 这样就很好地解决刚才我 们提到的账号...
  • 之前的内容,我们了解的都是一个静态的网络,比如在某一个时刻中,网络节点之间的连接关系,而这里我们要说的是一个动态的网络,即网络的结构随着时间的变化而变化。这样的例子在实际中相当的常见,比如分析随着时间...
  • 银行数据仓库体系实践(9)--主题模型

    万次阅读 多人点赞 2019-07-13 11:49:27
    在银行主题模型中,每个数据仓库的实施公司会有金融行业或银行业的主题模型,这个模型会根据新的业务不断进行完善,是各实施公司的业务经验积累。一个良好的模型对数据仓库的实施起到了事半功倍的效果,虽然不同的...
  • 本文主要研究了客户需求的配置管理,分析了企业配置中心的功能,用面向对象的方法建立配置中心管理模型,主要包括产品选项管理模型和产品配置模型。 一、产品配置管理的概念 按照国际标准ISO10007的定义,配置是指对...
  • 生产过程的几种模型

    千次阅读 2020-07-30 14:44:44
    1、流水模型 流水模型适用于可配置流水线的产品,除了标准件以外,还有印刷行业、汽车行业、轻工业等传统制造业都比较符合流水模型。这类生产过程的特点是投入与产出几乎成正比,根据有限产品的制造成本(含时间、...
  • 权限管理模型

    万次阅读 2013-12-19 13:48:54
    根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型.对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色(Role)、控制对象(Resource Class)、访问模式(Access Mode)、操作...
  • 代理自动配置脚本

    千次阅读 2020-08-14 16:12:26
    今天,我们学习下其中代理服务器与代理自动配置脚本 代理服务器: 代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站,是个人网络和Internet服务商之间的中间代理...
  • 商业分析模型简述

    千次阅读 2020-06-16 18:05:59
    一、波特五力分析模型(Porters 5 forces Model) 二、麦肯锡7S模型(Mckinsey 7S Model) 三、SWOT分析模型 四、BCG三四规则矩阵(BCG Matrix) 五、波特钻石理论模型(Michael Porter diamond Model) 六、商业...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,803
精华内容 12,321
关键字:

员工配置的动态模型