一、如何根据客户需求做方案?
1、理解问题。
承约商应该用自己的方式来表明对客户的问题或需求的理解,这一部分等同于需求分析说明,在识别需求时就应该完成
2、提出解决方案
针对需求和分析结果,承约商或项目团队提出和制定问题解决、相关功能实现的技术方案。而且,方案必须使客户认识到整个系统的设计、开发、集成的方式和方法是合理的、富有逻辑性的、可实现的,满足客户合理需求的方案。如果承约商不能满足客户要求,或者无法满足客户不合理、不恰当的需求,应当在项目建议书中说明,或提出替换选择。
例如,一个网络系统集成项目,客户提出集成商必须提供电源设计、采购和安装,可能由于集成商没有专项技术或费用太大而提出异议,确认无法完成的原因和理由。但不同情况承约商应该仔细分析,考虑后而定,以免丧失机会。
二、数据需求分析包括什么?
数据需求分析
1
、写出系统的任务和特点
2
、要实现的功能模块和作用
3、
系统结构图
4
、采用的数据库
5
、开发运行环境
"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。在软件工程当中的"需求分析"就是确定要计算机"做什么",要达到什么样的效果。
三、数据安全需求的特点?
有三个最基本的特性:可用性、完整性和机密性。
可用性是指数据随时能够获取、随时可用,不会由于硬件故障等问题,导致数据无法读取。
完整性是指数据在整个交易过程中没有遭受恶意篡改和非授权的访问,保障数据是最原本的样子。
机密性指的是数据全程加密,不会遭受窃听,也不会被未授权的人访问到,数据是安全的。我们通常讲的信息安全保护,保护的就是数据的这三个最基本的特性。
四、数据需求分析怎么写?
数据需求分析就写当时的一个数据分析的一些情况,然后表明了一种怎样的观点?
五、图书馆值班方案?
为了确保图书馆的安全和正常运营,需要制定一套值班方案。该方案应包括值班人员的职责和安排、应急处理措施、安全检查和巡逻等内容。
值班人员需对进出馆人员进行登记、检查、引导和管理,保证图书馆秩序和安全。同时,要加强对馆内设施、设备和资料的保护,做好防火、防盗、防雷等安全措施。
在遇到突发事件时,值班人员需要迅速反应并采取有效措施,确保师生生命财产安全。
六、数据采集方案?
数据采集的方案主要包括以下几个步骤:
1.需求分析,确定采集的数据类型及数量、所处的环境及采集的难易程度等;
2.技术选型,根据不同的环境,选择合适的采集技术;
3.系统设计,确定整个采集方案的软件和硬件结构;
4.数据安全,对采集的数据进行保护,确保数据安全有效;
5.联调测试,对采集方案进行全面的测试。
七、数据备份方案?
1、完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。
2、事务日志备份 事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。
3、差异备份 也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。
4、文件备份 数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。
八、数据运营如何梳理数据埋点需求?
数据分析数据治理入门分享-转载渭河数分星球嘉宾SpaceLion的文章(四年互联网大厂数据科学经验),未经许可不能转载
1、前言
看到这个标题可能有的同学会有疑惑,为什么我作为数据分析师还需要去管数据治理的活,这个不是会有专门的同学去做吗?
确实,在很多大厂,数据开发和数据分析职能都是分开的,数分的同学一开始拿到的表就是已经清洗过的宽表,BI看板搭建就是写几条sql配置一下,日志埋点的工作都会交给产品来完成。但是很多中小公司是不具备这种条件的,尤其是很多初期的创业公司,在产品架构尚未完善,团队分工不够明确的情况下,很多时候日志埋点,数据清洗的工作都会落到数据分析同学的身上。
在择业的时候,遇到这种分工尚未明确的项目,可能有一部分同学就直接放弃了,有的同学可能会说:我想专精数据分析,不想在数据治理上花时间,我找一个分工明确的团队就行了,如果职能分工不明确,说明这个项目的老板不懂数据等等诸如此类的。当然这也是没问题的,人的精力是有限的,追求知识的深度那必定会导致广度的不足。
不过从我个人的角度来看的话,这样可能就会使我个人的择业范围受限,只能选择一些数据建设相对较好的团队。另一方面,如果能够懂得一些数据治理的方法,那么在一些场景下也能够给数据分析工作带来一些便利性,包括能够让数据分析人员更好地定义口径,在复杂的统计任务中通过埋点和数仓来解决问题等。例如,一个刚刚搭建起来没多久的电商APP,想要分析用户点击下单之前上一个页面来自于哪里,假设我只在应用层面解决,那我可能需要把用户的点击事件按照时间排序,再进行清洗计算,费时费力。但是这个时候如果我通过埋点解决这个问题,让程序在用户的点击事件日志上加入一个refer字段,记录了上一个页面的url,这样无论是统计分析,还是搭建后续的BI能力,都能够快速解决
因此本篇随笔的目的就是分享一些本人在数据治理方面的入门经验,希望能给到一些完全没接触过数据治理的同学一些帮助。
2、数据治理链路以及数分同学参与的环节
国际数据管理协会DAMA对数据管理的主题分类可以分为以下几种类型:数据治理、数据架构、数据建模和设计、数据存储和操作、数据安全、数据集成和互操作、文件和内容管理、参考数据和主数据、数据仓库和商务智能、元数据、数据质量。而对于这些工作的从层次划分,网上有各种不同的概念,毕竟不同的公司架构不太一样,我们在这里引用《大数据之路:阿里巴巴大数据实践》书中的数据体系。整个架构分为四个层次:数据采集层,数据计算层,数据服务层,数据应用层。
1、数据采集层:包括日志收集,数据库,数据同步;
2、数据计算层:包括离线数据计算,数据仓库,实时数据
3、数据服务层:基本上就到了我们比较熟悉的环节,包括数分同学平时能拿到进行分析的mysql数据源,hive数据源,数仓的cube等等,数分同学的大部分工作,可能就是拿着这些数据源去做数据应用层的东西,不管是统计分析还是数据建模。
4、数据应用层:这里就是到了一些应用层的数据,对线上产品的,对内部系统的等等
在整条链路中,一些纯技术向的,涉及线上开发的内容是不用数分的同学参与的,一般数分的同学可能参与的环节主要在日志埋点和数仓设计两部分,参与的深度视实际需求会有灵活的变化。
3、日志埋点
3.1 数分同学参与日志埋点工作的优势
在日志收集环节,数据分析师可能会参与到日志埋点工作当中,有些尚没有实际工作经验的同学可能不太清楚,线上产出的原始数据都是json或者双逗号分割等不同类型的的字符串,其中定义了每一个字段的key-value,需要经过清洗才能够变成我们常用的数据表格式。那么一般数据分析师要做的就是配合产品运营,定义清楚每一条日志的上报机制,以及对应的key-value含义。
有的同学会讲这个东西不是应该产品自己来搞吗?没错一个基础能力强的产品确实是能够承担埋点的工作,并且产品功能是他设计的,他比谁都更清楚功能上线之后他想要知道哪些信息,对应所需要埋哪些点。但是有的时候一些产品虽然懂得功能设计和交互,但是却不太懂数据,他们想要的可能是一个抽象的概念,比如功能上线之后他想知道用户的活跃,用户的漏斗转化,此时如果没有专门的数分同学参与,那么产品估计就会去找开发,开发可能更了解底层架构,但是不了解业务,如果没有定义清楚日志上报机制和含义,那么可能就会出现这样一种情况:
产品上了一个促销活动的页面希望知道用户的PV,以及页面带来的GMV,开发随便埋了一个服务端日志,只要用户发送了访问页面请求就记录一条,结果数分同学统计出来发现PV量巨大,但是GMV少的可怜,于是产品疯狂优化交互,但是GMV依旧没有什么提升。最后经过多方排查发现,原因是由于前端页面加载问题导致很多用户虽然请求了链接,但是页面素材却加载不出来,而PV统计的是服务端日志,也许后面的转化其实还可以,但数据口径的差异导致了整个问题的误判。
以上这个例子是我编的,但是参考了一些工作当中踩过的坑点,我们可以发现在产品或者技术自身能力不够强的时候,把埋点全权交给他们就容易出现数据统计口径不明确的问题。而反过来看,数据埋点也是要为业务服务的,最好是通过需求和数据指标反推需要什么埋点,这就决定了数据分析的同学在这个环节当中有着很大的参与空间,其意义在于:
1、明确埋点机制对应的数据指标口径,避免业务分析的偏差。
2、帮助数分同学了解底层架构,拓展业务分析当中的思路。
3、数分同学可以自主增加便于分析的日志埋点,提升效率。
3.2 日志埋点的经验分享
埋点的方法根据每个公司使用的数据服务不同也有很大差异,我个人将埋点方法分为两类:全埋点,代码埋点。代码埋点又分为前端和服务端埋点。
全埋点就是部署了一些sdk,能够把APP的所有行为全部记录下来,然后由分析人员自定义关键事件,直接圈选分析。使用这种方法一般是接入了一些外部的数据服务供应商的系统,比如神策之类的,优点是你想怎么定义都行,无需重新开发,缺点就是这么多数据占用空间大不能存太久,也只适合一些轻量级的项目分析,我自己是没用过这种方法。
代码埋点顾名思义就是需要让开发把一些关键事件信息的返回写到代码里面去,需要预先定义好在什么场景下,返回一些什么字段,这个就是我们最常用的一种方式。
前端埋点主要是在APP客户端,或者网页页面当中,触发了一些关键素材时返回日志,比如页面加载,素材图片的加载,按钮的点击之类的。这类埋点上报会受到页面改版,网络等问题的影响,会有一些误差;服务端埋点指的是成功请求了一个服务器接口时返回日志,这种日志通常是最准确的,比如下单,播放视频等,请求成功了就是成功了,不受前端改版等问题的影响。
设计埋点的时候我一般遵循这几个步骤:
第一步肯定是要跟产品运营对齐,看一遍产品文档,新功能页面做了什么改动,新增改动了什么功能,是否需要添加前端或服务端埋点;然后再明确这个功能上线之后要看哪些核心的数据,分别需要在前端和服务端埋一些什么内容,确保功能上线能够统计到对应的数据。输出好需要哪些字段之后,需要跟开发对齐,在什么情况下上报,字段都能不能上报,可能有些字段是记录不了的要怎么处理,这些明确了之后才能进入开发。
对于日志字段的设计,个人的经验是可以按照几个大类进行梳理:
维度 | 信息 | 备注 |
日志基础信息 | 日志唯一标识,日志id,事件id,事件类型等 | 用作日志的分区字段 |
页面信息 | 名称,title,模块,链接等 | 一般前端需要的较多 |
用户基础信息 | 用户id,设备信息(设备号,型号),操作系统(语言,版本),网络信息(ip等),应用信息(版本,包体信息)等等 | 有些敏感信息不一定能获取到,用户明文账号等信息注意加密 |
时间信息 | 日志上报时间,上传时间,更新时间,创建时间 | 如果是一次性的事件则记录上报时间即可,但是如果记录对象是可累积更新状态的,例如订单等,则需要记录不同状态的时间 |
业务关键信息 | 比如如果关注用户增长,就可以记录点击来源,渠道等信息,如果关注用户的停留消费,那可以记录时长,下单金额;如果是有用户跟另一个对象交互的日志,比如用户-物品,用户-视频,那就需要记录商品id,视频id等等 | 这块不是公共参数,可以根据业务的不同定义去定义 |
拓展字段 | 可以留出一个空的desc或者info字段,未来业务有新增需求的时候,可以在这个字段当中以json字符串的形式进行拓展 |
以这样的标准去写埋点文档,就有利于拉齐大家对埋点的认知,从而更高效,准确的沟通。核心的逻辑是从产品对UI的理解过渡到数据指标的设计然后到具体的开发环节,所以需要三方都要听得懂
最后成型的埋点文档应该长下面这样
日志基础信息 | 页面信息 | 具体字段 | UI图 | |||
事件 | 事件类型 | 名称 | 模块 | 记录字段 | 记录值 | |
首页浏览 | page_view | 首页 | 曝光 | 公共字段 | 包含用户id,设备号,时间页面id等 | 首页ui图 |
游戏id | 如果首页属于某个游戏或者某个商品 |
4、数据仓库
4.1数分同学参与数仓的优势
数据仓库一般跟数据存储,数据安全这些职能是绑定的,所以大部分工作会落到数据开发的同学身上。不过这种情况是在数据体系已经有一定沉淀的基础上,如果是从零到一的数据仓库搭建,数据分析同学的参与空间也是很大的。
数据开发的同学擅长将数据仓库设计的高效,可拓展,可维护,但是在服务层和应用层当中要结合业务进行设计,比如对于一个短视频产品,数开的同学能够做到让上数十亿条数据的用户-视频维度的事实表清洗任务时长缩短一半,但是到了服务层以上,需要定义一些“近30天用户活跃天数”,“近90天用户观看时长”的时候,数据开发的同学可能就会不知道怎么去设计能更加贴合业务了,此时就需要数分的同学参与进来。
4.2 数仓设计的经验分享
数据仓库一般分为:
1、ODS层(数据准备层):包含业务的原始日志,是直接接入数据源的部分。
2、DWD层(数据明细层):将DW层(DWD,DWM,DWS)与业务层(ODS)隔开的部分,在数据字段的定义上与ODS层保持相同的颗粒度,但是会把ODS层的原始JSON等字符串日志进行解析变成数据库表,同时会做一些空值填补等数据清洗操作。
3、DWM层(数据中间层):在DWD的基础上做轻微的聚合,计算出相应的统计指标,例如假设对于一个短视频产品,DWD层记录的是,用户-创作者-作品-时长的维度数据,并且当一个用户多次观看同一个视频,可能会产生多条记录,那么在DWM层可能会根据业务需要把表聚合为用户-创作者-时长的维度数据,每一对用户-创作者的只会对应一条记录。
4、DWS层(数据服务层):在DWM的基础上整合的主题数据表,例如上面说的用户-创作者-时长的中间表,可能会根据业务需要被聚合为用户主题表:用户-总时长-创作者人数....;创作者主题表:创作者-用户数-总时长......;这里的数据维度通常就已经是具有业务含义的数据指标了
5、ADS层(数据应用层):这里主要是给提供给产品或者数据分析的表,比如BI展示的数据指标表,以及一些为了方便快速分析预聚合好的数据表,其数据指标自定义程度也会更高,比如”近90天观看视频数”等等。
通俗地说,数据仓库从下层往上层设计的过程就是一个不断group by的过程,从多条明细group by成一条,从N个维度group by成一两个维度如何选择维度,以及要group by出哪些指标,就是数据分析同学发挥作用的地方。一般ODS,DWD这两个维度可以不需要数分同学参与,数据开发的同学保证数仓的准确性和稳定性即可,但是到了DWM层数据分析的同学就可以适当参与进来。比如此时DWM层待聚合的维度有20个左右,包括用户id,创作者id,视频信息,用户的机型设备IP这些,那么数分的同学就可以结合平时的分析经验挑选需要聚合哪些维度,比如IP,机型,如果在分析当中并不是一个主要的维度,那么在DWM层当中就无需保留,那么假设数分的同学平时要经常统计“活跃设备数”这样的指标,那么设备ID就需要在DWM层保留下来。
设计数据仓库的过程这里介绍Kimball的维度建模步骤:
1、选择业务过程:这个步骤通俗地讲就是业务场景,比如在某个直播产品当中,我们定义一条用户的核心业务路径定义为观看直播-付费充值-礼物打赏,那么最初的事实表就需要确定是单一场景的观看直播行为表,还是观看直播-付费充值两个场景叠加的表。
2、声明粒度:确定主键,比如在上述的观看直播行为表中,我们选择用户作为粒度。
3、确认维度:根据关联分析的常用维度挑选字段,比如以用户为粒度的表中,我们通常会关注用户看了哪些主播,在什么渠道下看的,看的什么类型,那维度就需要包含主播id,渠道来源,直播品类,核心考量的就是业务相关性。
4、确认事实:也就是确定业务的度量指标,比如观看直播场景下,业务需要关注时长,PV,那么就需要在聚合的过程中把这两个指标计算出来。
如果按这个过程无限拓展,数仓的维度是可以拆出非常多的,常用的模式有:
模式 | 特点 | 维护难度 | 使用广泛度 |
星形模式 | 以事实表为中心,全部的维表直连在事实表上 | 低 | 高 |
雪花模式 | 维度表可以拥有其他的维度表 | 高 | 低 |
星座模式 | 基于多张事实表,共享维度信息 | 高 | 高 |
无论是哪种,其实核心都是要在存储空间和业务便捷性当中找到一个平衡点,维度表越多,分析的便利性就更强,但是同时增加了存储成本;维度设计的简单,数仓运行更高效,但是可能每次做稍微复杂的分析都要从最底层的表开始用起,降低分析效率。这一块工作是需要数据分析和数据开发的同学长期共建的,数分同学提供业务视角的建议,数开的同学提供技术上的方案,单一方我觉得都很难把这块做好。
5、数据治理-数据分析共同进化
其实分享了这么多,其实核心都是希望能够给数分的同学提供一些跳出数据分析框架解决问题的思路,如果能够了解一些数据治理的基础方法,在一些关键的节点上就可以寻求数据开发的帮助。例如你在分析用户路径的过程中发现了一个很关键的行为,比如用户在浏览3次以上商品详情页之后,购买率会提升10%,那么是不是可以设计对应的埋点,在每次用户曝光商品时,让开发同学记录当天已曝光该商品的次数,产品也可以直接读取这个数据做对应的干预策略;又例如某个视频产品的数仓以前只有简单的用户-创作者-视频维度的事实表,结果最近运营总是提需求看不同MCN机构的数据表现,那我们是不是可以给数仓的同学提需求增加对应的字段或者设计新的事实表和维度表,方便后续的BI能力搭建。
反过来说,数据开发的同学也能得到业务经验的反哺,我发现商品曝光次数是一个非常关键的行为,那么我在下次打其他埋点的时候,也可以建议产品加上这个数据;我发现业务方经常看A维度数据不看B维度的数据,那我也可以设计一些更加便捷的维度表给他们用。
整体来说,我觉得对于数据治理这项工作,数分和数开的同学是一个相辅相成,共同进化的合作关系,如果未来大家在做项目的时候,遇到了需要自己参与到数据治理工作当中的情况,希望本文可以给到大家一些启发。
九、需求评审后怎么写技术方案?
序列标注,说话有思路,有逻辑思维
十、造船企业安全培训需求及方案?
造船企业安全培训的需求是非常重要的,因为船舶制造和维修过程中存在着许多潜在的安全风险。为了确保员工的安全和减少事故发生的可能性,以下是一个可能的方案:造船企业需要进行全面的安全培训。造船企业的工作环境复杂且危险,涉及到大型机械设备、高处作业、电气设备等,如果员工没有接受过适当的安全培训,可能会面临伤亡和事故的风险。安全培训可以帮助员工了解和掌握正确的操作方法、紧急情况下的应对措施以及预防事故的基本知识。安全培训的内容可以包括但不限于以下几个方面:1. 机械设备操作培训:培训员工正确、安全地操作各种船舶制造和维修所需的机械设备,包括起重机、焊接设备等。2. 高处作业安全培训:培训员工在高处作业时的安全措施和防护措施,包括使用安全带、脚手架等。3. 电气设备安全培训:培训员工正确使用和维护电气设备,了解电气安全知识和防止电气事故的方法。4. 紧急情况应对培训:培训员工在火灾、漏油等紧急情况下的应对措施和逃生方法。通过这些安全培训,造船企业可以提高员工的安全意识和技能水平,减少事故发生的可能性,保障员工的生命安全和公司的正常运营。