Zhuang's Diary

言之有物,持之以恒

nmon 工具运行于:

  • AIX® 4.1.5、4.2.0、4.3.2 和 4.3.3(nmon Version 9a:该版本的功能已经确定,并且不会对其进行进一步的开发。)
  • AIX 5.1、5.2 和 5.3(nmon Version 10:该版本现在支持 AIX 5.3 和基于 POWER5™ 处理器的计算机,并且提供了 SMT 和共享 CPU 微分区的支持。)
  • pSeries® p5 和 OpenPower™ 上的 Linux™ SUSE SLES 9、Red Hat EL 3 和 4、Debian
  • Linux SUSE、Red Hat 和许多最新的 x86(32 位模式的 Intel 和 AMD)上的发布版
  • zSeries® 或 mainframe 上的 Linux SUSE 和 Red Hat

该工具的作用

nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二。在更新的计算机上,其 CPU 使用率将低于百分之一。

使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段。如果您拉伸窗口,并在 X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。

nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。

nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:

  • CPU 使用率
  • 内存使用情况
  • 内核统计信息和运行队列信息
  • 磁盘 I/O 速度、传输和读/写比率
  • 文件系统中的可用空间
  • 磁盘适配器
  • 网络 I/O 速度、传输和读/写比率
  • 页面空间和页面速度
  • CPU 和 AIX 规范
  • 消耗资源最多的进程
  • IBM HTTP Web 缓存
  • 用户自定义的磁盘组
  • 计算机详细信息和资源
  • 异步 I/O,仅适用于 AIX
  • 工作负载管理器 (WLM),仅适用于 AIX
  • IBM TotalStorage® Enterprise Storage Server® (ESS) 磁盘,仅适用于 AIX
  • 网络文件系统 (NFS)
  • 动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower

获取nmon

http://nmon.sourceforge.net/pmwiki.php

示例

对于区块链应用场景,需要共识算法具有如下特性:

  • Throughput吞吐量:transaction per second 意味着区块链系统每秒能处理的交易笔数,为了能够满足全球用户,交易处理速度必须足够大,否则会造成交易积压,并导致回复时间长。比如 bitcoin 的交易拥堵和以太坊因为 crytokitties 造成的网络拥堵。
  • Latency交易延时:交易从提交到回复成功与否的时间。在 PoW 网络中,因为有分叉可能,一般要等待几个块后确定。在 BFT 共识系统中,因为正确节点都在共识结束后就确定性有相同结果,所以在交易不拥堵的情况下,响应速度与共识时间相同。
  • Scalability:区块链系统参与的节点数。对基于 PoW 共识的系统,安全度与参与的诚实算力相关。对于基于 BFT 共识的系统,参与节点数越多,能容纳的恶意节点越多,恶意节点少于 1/3。但是对于 BFT 系统,节点越多,通信和计算开销越大。Algorand 提出利用 Verifiable Random Function 随机选出一部分节点形成 committee参与共识,保证了无论总节点数多大,最后的 committee 数目一定,共识速度就不变。
  • Security:对于 BFT 共识,安全度包含 consistence,liveness 和 fairness。Consistence 是系统内所有诚实节点要最终达到相同的状态。Liveness 需要系统在任意情况下都能收敛到确定状态,并且能持续接受交易,产生正确的共识结果。Fairness 在于对于系统的用户,任意合法的交易都不会被拒绝。

对于传统的 PBFT 系统,需要假设网络处于弱同步状态,通过超时和换主来保证 liveness。但是因为换主是确定性地换到预先设定的下一个节点,而且每次换主导致的节点消息同步耗时长,主节点会被连续不断的网络攻击导致瘫痪,最终系统持续换主,永远无法共识交易,相当于停滞状态。

对此,Tendermint 提出由 Voting Power 值决定,从而避免了一直由主节点提交请求,一定程度上避免了攻击的薄弱点。但是这依然无法避免Leader节点的可预测性,导致被依次攻击,系统每轮共识无法完成。

Honey Badger 提出了基于 RBC(Reliable Broadcast)和 BA(Binary Agreement)的协议。核心在于任意节点都可以提出共识消息,通过 RBC 可靠传播到所有节点,并且为了减小广播带宽,通过 erasure code 分割消息为多份。同时所有节点都通过 BA 协议共识所有消息,BA 协议的执行会在任意情况下快速收敛到 1 或者 0,表示对共识消息的接受与否。该协议相当于每一轮,所有节点并行地提出交易、共识,最终得到交易的子集作为共识结果。所以对任意一个节点的攻击,都不会造成整个网络的崩溃,只会影响网络部分性能。而且能充分利用带宽,适合全球部署。该协议的缺点在于交易响应延时比较高,因为每轮要共识多个节点的交易。同时协议需要预先确定节点的集合,不能动态添加节点,不能支持大规模节点。

为了解决节点添加和扩充节点的问题,Algorand 提出将 VRF(Verifiable Random Function)和 BA 结合起来。无论节点数目多少,通过 VRF 和持有的代币数随机选出特定数目节点,然后节点通过 BA 相互发送交易,并对优先级最高(VRF 随机数最小)的节点发出的交易共识。为了提高安全性,共识的每一步都通过 VRF 选出新一轮共识节点,从而让攻击者无法预测下一个攻击目标。该协议的主要有点在响应时间短,缺点在于无法做到高吞吐量和窄带宽。

Dfinity 主要是通过 threshold 签名来保证 VRF 的每一轮都能确定性地收到 signature。结合Random Beacon 和 Notaries 来使每一轮的成员都随机选择,并且提交的块按照本轮随机数进行排名。但是一个潜在的经济学博弈问题是,threshold 签名可以通过多个成员的合谋的方法来预测,合谋的成员可以协同计算出群私钥,快速预测出下一轮的随机数。通过作恶 DoS 攻击下一轮的成员的目的,合谋者可以破坏网络的公平性。因为这种攻击是不容易被发现的,所以可以做到零成本收益,因而在现实世界必然会出现。

情商是一种个人能力:这些能力决定我们如何进行自我管理

  1. 自我意识
    • 情感的自我意识:了解个人情感及其影响;用直觉引导决策。
    • 准确的自我评估:了解个人的优缺点。
    • 自信:准确感知个人的价值和能力。
  2. 自我管理
    • 情感的自我控制:控制消极情感和冲动。
    • 透明度:表现出诚实、正直以及可信度。
    • 适应能力:灵活应对不断变化的情况,客服阻碍。
    • 成就感:提升表现以满足卓越性的内在标准的驱动力。
    • 主动性:时刻准备采取行动,抓住机遇。
    • 积极乐观:看到事情积极的一面。
    • 社会能力:这些能力决定我们如何处理人际关系。
  3. 社会意识
    • 同理心:感受他人的情感,了解他人的观点,主动了解他人的关注点。
    • 组织意识:了解组织的现状、决策网以及组织政治。
    • 服务:了解并满足员工、客户或顾客的需求。
  4. 关系管理
    • 鼓舞人心的领导:用一个令人信服的愿景指导并鼓舞员工。
    • 影响:运用各种策略增强说服力。
    • 开发他人能力:通过反馈和指导增强他人的能力。
    • 改变刺激因素:设定新的方向,启发、管理并领导员工。
    • 冲突管理:解决分歧。
    • 团队合作和协作:合作与团队建设。

转自 陈果George 的公众号文章。

IT、咨询、工程设计等等以人员作为主要资源,公司内部为专业/行业/区域等多维度矩阵式组织,面向客户以“项目”为形式开展服务交付的商业模式,我称为“专业服务项目型公司”,运维和产品业务不在此列。

项目型公司的主要运营流程是:

销售管理:开展销售活动,管理客户(account)和商机漏斗(pipeline),根据不同的“成单概率”来分别管理商机,驱动销售转化效率

合同管理:客户签单,亦即签署项目合同,之前,需要进行合同评审, 包括法务、价格、资源、技术方案、风险等控制环节

立项管理:根据客户合同进行项目立项,驱动合同向收入的转化效率和速度,尤其是上市公司,需要达成当期的财务目标

项目管理:向客户交付项目,这类公司运营特点是项目有一定的周期,短则几个月,长则几年,公司的利润由项目利润构成,必须加强项目过程控制,方能确保公司利润目标达成,因而项目过程中一方面要确保项目进度,驱动收入达成,另一方面要确保项目质量,控制风险,按月滚动预测未来的资源投入以及到项目结束时的利润。

资源管理:项目主要成本是人工资源投入,作为项目型企业组织结构的特点,这些专业人员人事关系上属于专业资源池,根据需要在项目中开展工作,填报项目工时,相应地依据其工时标准成本计入项目成本,“收费工时比率”(Utilization或billability)是公司运营效率的重要指标,从损益表角度看,资源池的总体工时,能被记入项目的部分成为能转化收入的成本,而剩余不能被记入项目的部分,则成为公司管理费用

费用管理:其他成本、费用的管理,包括项目相关的分包、差旅,以及公司管理费

产能管理:公司的不同服务产品(Offering)需要不同专业能力的资源,前端销售以及项目交付产生的资源需求和资源池里专业合适的资源供给需要滚动匹配,这就是项目型公司的供应链管理,保证产销平衡,跟制造业供应链管理的原理完全一样,组织上,类似于制造业的供应链管理中心,服务公司也要有资源(Resource)和产能(Capacity)管理(R&CM)部门。

体验管理:服务业是people business,只有满意敬业的员工,才有满意付钱的客户,才会有公司的利润,因而需要密切监控员工和顾客的满意度。

基于这样的运营体系,公司在周度、月度、季度的经营分析上,通常需要利用这些KPI,来分析、监控公司以及各事业部的运营情况,如上图所示。

需要说明,这些KPI取数的具体口径和时间点,取决于管理需要和会计核算原则,有些按月,有些可以到周,有些为当期数或当期(季/年)累积数,有些为到期末(季/年)预测数:

1、利润KPI:公司及各条线事业部的经营毛利

2、收入KPI:各条线事业部的营业收入,由项目转化而来;新签单以及在手订单未交付额(backlog)是收入来源

3、合同前收入KPI:客户已经确认订单,但是合同尚处于签署流程中,尚未开首付款发票,本着谨慎会计原则,在合同前开工,提前转化收入,这对上市公司增加收入具有重要意义

4、签单KPI:实际已签署合同签署金额(signings)

5、商机KPI:按预计金额、成单时间和成单概率报告的数字,滚动的签单预测尤为重要,在一个季度内,对于成单概率高(例如90%,75%阶段)的商机,要按周承诺(commit)签单数字,对重点销售项目要明确提出并跟进关单措施,如果出现承诺订单滑掉,要紧抓中概率(例如50%阶段)商机;同时,对本季以后的未来半年到一年的商机要有一定的可视度,保证运营健康

6、交付质量KPI:从各个事业部角度,要制定总体项目管理的综合性评价指标,这是一个动态性指标,按月按项目更新并汇总,包括预测项目毛利率,预测成本离计划成本的偏差、流程合规性要求等,同时,对重点项目和重点负面问题项目(严重成本超支)要专项列示,并提出改进措施

7、资源管理KPI:如果实现了有效的工时管理制度,资源利用指标可分为收费(billable/chargeable)利用率和有效(productive)利用率,后者包括了前者以及研发、售前支持等有效但不产生收入的活动,资源利用率是公司的生命线指标,如果低于一定的值,说明资源严重闲置,要不是产能管理的问题(签回来的项目没人做,闲的人又不会做新签回来的项目),要不就要限制招人甚至裁员了。

8、分包KPI:分包需要占成本一定的比率,适当使用分包有助于提高资源利用率;专业服务公司使用分包的主要目的不是降低成本,而是优化资源利用率。

9、应收和坏账KPI:半年以上的应收账、坏账计提、已计提坏账回收等分事业部的指标,以及重大项目列示,对利润有直接影响

10、需求和能力KPI:和供应链管理完全一样,需要从需求(demand)和供给(supply)两方面,从专业能力维度(打个比方,例如咨询公司的战略咨询、供应链咨询、财务咨询、人力资源咨询、技术咨询)区分,从时间维度看给出未来一段时间已上项目、计划出项目、被项目预定、资源缺口等数据,并给出培训、外包、招聘、招聘计划到岗等措施

11、体验KPI:公司员工在项目中工作,项目中进行周期性员工满意度调研,形成综合的员工满意度指标;客户满意度指标原理类似。

专业服务项目型公司一般基于下图这样的组织架构和责任中心体系来开展运作:矩阵式的客户维度和专业维度的负责人(例如咨询公司的合伙人)开展合作;每个项目的主责,可能属于两个维度中的任何一个;管控上,要做到组织利润中心和项目利润中心的权责匹配。

专业服务公司的核心业务流程是销售管理和项目管理,相应地支持性流程有财务管理、资源管理以及运营监控等。运用IT工具来支撑这些业务流程,有利于加强项目管控、促进协作、控制风险。

传统ERP软件的项目模块(例如SAP ERP的PS模块)解决了项目供应链、项目计划/活动和项目成本等项目相关业务和管理活动的集成,而专业项目管理软件(例如著名的Oracle Primavera)则专长于复杂的项目计划、项目合同、资源和排程优化等。然而,由于“企业项目”的多种特性类型,通用项目型ERP很难具体适用于企业各种类型的项目管理。

在项目型ERP领域里有20多年历史的SAP ERP,直到2014年后才推出了适用于专业服务项目管理的商务项目管理(Commercial Project Management)模块,简称CPM,下图展示了SAP CPM及覆盖的业务流程范围。CPM是一个架在SAP ERP标准的项目模块(SAP ERP-PS)和商务智能(SAP BO)之上的计划和分析工具;不过,在新版S/4 HANA以及S/4 HANA Cloud里,CPM已经成为标准功能。

![](项目型公司的商

来源:SAP网站

业务管理相关的IT系统主要有:

核心业务系统 —— 管理核心业务流程

  • 销售管理CRM系统
  • 项目管理ERP系统
  • 财务系统(和项目管理ERP可以属于一个套件)

辅助系统 —— 辅助业务流程

  • 合同管理系统
  • 资源管理系统
  • 商务智能报表系统

其他相关的应用系统 —— 支持体系,但是和业务系统有一定的相关性,可以建立系统集成关系

  • HR系统
  • 招聘系统
  • 外包采购系统
  • 差旅报销系统
  • 预算管理系统

其他工具系统,例如:协作工具、敏捷工具、生产平台(例如DevOps)、文档管理、知识管理、培训系统等等

将总体IT应用架构描绘示意如下:

CRM系统

用CRM系统覆盖上述流程,基于系统的支持,可以为经营管理提供如下重要信息:

  • 客户:维护客户信息,一个客户下可以有多个商机
  • 商机:管理商机相关信息,跟踪围绕商机采取的销售活动,其中商机金额和销售阶段(或者成单概率,例如:100%-已签单, 90%-合同流程中, 75%-已中标, 50%-赢面较大,25%-机会评估中)是开展销售控制的主要指标
  • 销售管道报表:总经理、销售负责人和财务负责人根据公司级或事业部级的汇总销售管道报表,推动销售达成,支持对签单及收入作出准确预测

商务合同系统

由于CRM系统主要处理客户、商机、管道的管理,可能不会覆盖到详细的合同、报价等流程,有些对这些流程的内控处理要求高的公司,会有专门的信息系统来管理这个过程。CRM软件和ERP软件多少都会覆盖到这个部分,企业可以根据实际情况来决定架构规划,其通常功能包括:

方案评估:向客户提交方案建议书或投标方案时,进行方案的技术评估、风险评估,按权限审批

投标和报价流程:处理投标的商务流程,投标报价按权限审批

合同审批:进单过程中,对合同(包括:法务条款TOB和工作内容文本SOW)的各级评审并按权限审批,例如:

  • 法务评审
  • 财务评审
  • 技术方案评审
  • 资源评审
  • 质量标准/风险评审
  • 其他合规性评审(例如数据安全、贸易限制等)

项目ERP系统(项目财务)

项目型ERP是专业服务项目型公司最核心的业务系统,实现了项目管理的财务业务一体化,从项目往上汇总,形成反映公司运营状况的财务信息。我将项目管理的端到端流程梳理如下:

项目型ERP所覆盖的功能主要包括:

  • 项目立项,建立WBS、资源计划、成本预算及项目计划
  • 安排项目资源(即人员)
  • 项目人员每周填报工作,通过方便的time sheet管理,归集项目直接人工成本
  • 其他成本、费用信息可以从财务系统中导入
  • 管理项目变更
  • 月度成本和收入确认
  • 月度进度更新,ETC/EAC成本滚动预测,相应更新项目预算
  • 项目里程碑确认和通知开票
  • 项目状态报表

“项目”是公司最小颗粒度的利润中心,是公司收入和利润的根本来源。从公司管理的角度,项目管理需要围绕下图的“项目财务模型”,在报价、合同以及项目执行的这三个环节,动态地关注项目成本和项目毛利(GP):

专业服务公司的大多数客户项目都是价格固定、按照工作范围(SOW)投入资源来交付,按里程碑开票收款,这类固定价格项目的期间收入确认原则一般采用“完工百分比(POC)”法,而数量相对较少的运维类项目采用“期间均摊法”确认收入,人天类项目(T&M)采用“按确认人天开票”确认收入。

POC方法要求项目过程中持续维护项目预算,按月归集并确认成本,从而确认收入。不仅如此,为了准确达成公司经营预算,及时发现并控制经营风险,因而,在项目执行中,项目经理及交付责任人(DO)每月开展滚动的项目财务预测显得尤其重要。

资源管理系统

“资源”是指通过投入时间进项目工作,可以转化为收入的专业人员,例如项目经理、咨询顾问、工程师等。资源管理系统的主要功能是:

  • 技能管理:管理每个资源的技能、技能类型分群等
  • 资源计划:相当于制造业的物料需求计划(MRP),将资源技能和项目需求进行匹配,综合管理:资源预留(根据销售或项目情况,book资源)、资源进项目和出项目的时间点预测、需求平衡等等
  • 资源管理执行:资源上项目、下项目的过程管理

软件公司采用的团队协作工具,例如Jira,也能很好地管理资源,并跟项目ERP和财务管理系统集成:

img财务系统

专业服务项目型公司的财务系统和企业标准财务软件并无太大区别,因而本文不再赘述。财务系统和前述的项目ERP系统可以是一个套件,例如SAP、Oracle,也可以分别部署,其覆盖的主要内容有:

  • 成本管理:包括成本中心、成本要素和成本对象的管理,从部门、项目、活动类型等多个维度,进行成本费用的归集和分析
  • 应收账管理:尤其关注半年以上账龄的应收账状态,以及坏账计提和回收
  • 总帐管理

管理分析报表

前述六个模块是运营管理的各个环节,这些运营系统数据统一注入企业数据仓库(EDW),通过商业智能平台,向管理者提供各种分析报表。

参考链接 ==> https://github.com/blockapps/blockapps-sol

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
contract FSM {

struct Transition {
uint state;
uint evt;
uint newState;
}

// expose the transitions to the outside world
Transition[] public transitions;

mapping (uint => uint) stateMachine;

function FSM(){
}

function handleEvent(uint _state, uint _event) returns (uint){
return stateMachine[calculateKey(_state,_event)];
}

function addTransition(uint _state, uint _event, uint _newState) {
stateMachine[calculateKey(_state, _event)] = _newState;
transitions.push(Transition(_state, _event, _newState));
}

function calculateKey(uint _state, uint _event) returns (uint){
return (_state * 1000) + _event;
}
}