精华内容
下载资源
问答
  • 基于招聘信息挖掘信管专业核心能力需求分析-以开发工程师为例 ,张志清,胡竹青,[目的/意义]以市场需求为导向,通过对网络招聘数据进行分析,发现信息管理与信息系统专业社会需求特点和能力要求,为人才培养和
  • 地理素养的核心构成和主要特点

    千次阅读 2014-12-10 12:13:39
    新一轮地理课程改革把地理素养置于地理课程目标的核心地位。因此,统一认识和准确把握地理素养内涵与特质,对于促进学生全面发展具有十分重要意义。 一、地理素养内涵与组成 地理素养是指学习者经过地理...

    素养教育已成为21世纪国际教育发展的重大课题和紧迫任务。新一轮地理课程改革把地理素养置于地理课程目标的核心地位。因此,统一认识和准确把握地理素养的内涵与特质,对于促进学生的全面发展具有十分重要的意义。

    一、地理素养的内涵与组成

    地理素养是指学习者经过地理学习后所养成的比较稳定的心理品格,包括地理知识、地理观点、地理方法、地理能力、地理态度、地理情感等构成要素(见图1)。一般来说,地理素养表现在三个层面上:物质层面,指地理学习者在地理学习中表现出来的学习行为;精神层面,指地理学习者的个性特征和心理品质,包括地理学习动机、地理学习意志、地理学习态度等;社会层面,指地理学习者所带有的一定社会属性,表现为社会倾向、文化水准、品德素养等。


    1 地理素养的构成

    图1可以反映出以下四方面内容。(1)地理素养的构成要素(地理知识、地理方法、地理能力、地理态度、地理情感等)之间相互影响、相互联系。(2)地理素养是一个复合性概念,是一个统一的整体。任何一种尺度的划分都会破坏地理素养的整体结构。但为了说明问题的方便,笔者依据地理素养的内容,把地理素养分为地理科学素养、地理人文素养和地理技术素养三个部分。实际上,这三个部分也是相互包含的。(3)地理科学素养、地理人文素养和地理技术素养三个部分也都或多或少地包含地理素养的构成要素。(4)地理素养构成要素论其重要性并不处于同一层面之中,它们在构筑地理素养过程中的职能也不是完全等同的。

    (一)地理科学素养

    地理学是一门旨在解释地区特征以及人类和事物在地球上出现、发展和分布情况的科学。[1](290)它不仅包括以人地关系地域系统为核心的特有知识体系,也蕴涵有区域比较、区域综合与分析、观察、野外实践等独特的思维方法和研究方法,此外它还包含了地理学家在探索地球表层过程中所表现出来的科学精神和科学态度。因此,地理科学素养是公众科学素养的重要组成部分,它既具备了公众科学素养的共性特征,也融合了地理学科的个性特征。笔者依据地理学科的特点、学生的心理发展水平和未来社会的需求,把地理科学素养的构成划分为地理科学知识、地理科学能力、地理科学方法、地理科学品质和地理科学意识五个组成部分。[2]

    1.地理科学知识

    地理科学知识是地理科学素养的基础,是养成地理科学能力、地理科学方法和地理科学品质的载体。地理科学知识指以人地关系为核心的地理基础知识,如地理术语、地理概念、地理现象、地理空间分布、地理过程、地理因果关系、地理特征、地理规律、地理科学史等内容。总体来说,地理科学知识涵盖了以下几个问题的内容:“它在哪里?它是什么样子的?它为什么在那里?它是什么时候发生的?它产生了什么作用?怎样使它有利于人类和自然环境?”[1](290)

    2.地理科学能力

    地理科学能力是学生智力、能力与地理学科的有机结合,是地理科学素养的核心。地理科学能力既应该包括一般科学能力,也应该包括地理学科特有的科学能力。美国《国家地理标准》将地理能力目标确定为培养五项核心地理技能:(1)提出地理问题的技能;(2)收集地理问题的技能;(3)整理地理问题的技能;(4)分析地理问题的技能;(5)回答地理问题的技能。虽然这五项地理技能与地理学家的科学研究过程基本吻合,但应该说突出反映了一般科学能力,并没有真正体现地理学科特色。尽管地理思维、想象、观察等能力的培养要求已蕴涵在五项核心技能当中,但仍不利于突出地理科学能力的培养重点。我们试图依据《地理教育国际宪章》提到的地理学的几个核心问题,对应给出具有地理学科特色的相应能力:(1)空间定位能力;(2)区域差异的比较与概括能力;(3)空间相互作用的分析概括能力;(4)空间分布格局的觉察能力;(5)地理过程的简单预测与合理想象能力。

    3.地理科学方法

    地理科学方法是人们在认识地理科学对象,以及作用于地理科学对象过程中所采用的方法、途径和手段,地理科学思想方法是其核心。科学方法教育已经逐渐成为各国基础教育的重要支撑。地理科学方法教育是学生学习地理科学知识的必要条件,也是学生自我发展和自我完善的必然需要,更是地理科学素养养成的重要基础。地理科学方法中包含了科学研究的一般方法,如比较、分类、归纳、演绎、分析、综合等,但在地理科学素养的养成中,更要侧重培养具有地理学科特色的科学方法,如地理观察、地理实地考察或野外调查、区域综合分析、区位比较、地理实验等方法。

    4.地理科学品质

    地理科学品质包括地理科学精神、地理科学态度以及对地理科学的兴趣、情感和动机等。其中地理科学精神是地理科学素养的重要表现形式,它对学生从事地理科学认识活动起着指导和制约的作用,力图让学生领悟与感受地理学家在科学探索和科学研究过程中所表现出来的思想品质和崇高精神。地理科学精神是指在地理科学研究和交流过程中逐渐地、自然地形成的约束科学家行为的价值规范或准则,即实事求是,崇尚理性,尊重实践,不固守传统,不迷信权威,勇于探索,勇于创新,敢于坚持真理,谦虚、谨慎,不怕困难和挫折,善于团结合作,乐于思想交流,遵守科学的职业道德等。归纳起来,地理科学精神包括地理科学研究中的理性精神、求实精神、合作精神、批判精神、奉献精神和创新精神。地理科学态度是指个体对地理科学现象和本质作出的反应,它具有理智、情感和行为倾向三种成分。

    5.地理科学意识

    地理科学意识指社会群体或个人对地理科学的思想认识和觉悟程度。它包括正确的地理科学观、地理科学技术观以及正确理解和应用地理科学与技术、社会的相互关系等内容。地理科学意识是正确认识地理科学价值、合理运用地理科学技术的关键,因此是地理科学素养中不可或缺的重要内容。

    地理科学素养的上述组成之间并不是孤立的、分离的,各种构成彼此互相渗透、互相作用、互相联系,构成了地理科学素养的主体。其中地理科学知识和地理科学能力属于智力因素,而地理科学方法、地理科学品质、地理科学意识属于非智力因素。地理科学知识是地理科学素养的基础,也是地理科学能力发展、地理科学方法运用、地理科学品质养成的载体,地理科学知识的质和量决定着地理科学能力、地理科学方法、地理科学品质发展的深度和广度。地理科学能力是地理科学素养的核心,也是沟通和联系地理科学知识、地理科学方法、地理科学品质、地理科学意识的桥梁和纽带。地理科学方法、地理科学品质和地理科学意识是地理科学素养的重要表现形式,能够为地理科学知识的学习、地理科学技能的培养“解放思想”、导引方向。

    (二)地理人文素养

    地理人文素养主要包括人文地理知识和地理学科中的人文精神两个部分。人文地理知识主要包括人口、聚落、文化、宗教、经济、旅游、人地关系等相关内容。地理学科中的人文精神是指有关“人对自然的基本态度”方面的内容,主要包括全球意识、“尊重自然、人要与自然和谐共处”的意识、“人口道德”意识、“资源道德”意识、“环境道德”意识、国家意识、地理美等内容。(见图2)。


    2 地理人文素养的构成

    (三)地理技术素养

    地理技术素养是指对地理技术的正确辨别、全面理解与综合应用的能力,它包括地理技术知识、地理技术能力和地理技术观点三个部分(详见图3)。需要指出的是,地理技术素养的专业性很强,对于不同阶段的学习者要求的广度与深度应有所不同。

    1.地理技术知识

    地理技术知识是地理技术素养的基础,也是养成地理技术能力和地理技术观点的重要载体。近年来,地理学在工程技术领域获得了突破性的进展,在拓宽地理学应用领域的同时,也给中学地理素养教育增添了新的内容。地理技术知识主要包括3S技术,即地理信息系统(GIS)、全球定位系统(GPS)、遥感(RS);水土流失、沙尘暴、大气污染、水污染等环境问题的防治技术;景观生态设计;不同区域尺度多维要素的规划技术;地震、火山、台风、洪涝、干旱等灾害的预测、防治技术;地理多媒体教学技术;等等。

    2.地理技术能力

    地理技术能力是地理技术素养的核心,是对地理技术知识的深化与应用。图3地理技术素养的构成地理技术能力主要包括:(1)运用3S技术进行地理信息处理的能力;(2)运用区域规划知识进行城乡规划、旅游规划的能力;(3)对水土流失、沙尘暴、大气污染、水污染等环境问题进行防治的能力;(4)对地震、火山、台风、洪涝、干旱等灾害进行预测与防治的能力;(5)利用地理多媒体技术制作地理课件的能力;(6)正确选择并运用地理技术的能力。


    图3 地理技术素养的构成

    3.地理技术观点

    地理技术观点是地理技术素养的重要表现形式,它主要包括:(1)知晓地理技术的正面和负面影响;(2)明晰地理技术与地理科学、社会的关系。

    二、地理素养的特点

    地理学是研究地理环境以及人类活动与地理环境相互关系的一门科学。它的特点在于:具有广泛的研究范围、丰富的研究方法、综合性的研究内容,因此,从开始它便以其独特的研究视角赢得了广泛的生存空间。受地理学科性质的影响,地理素养与其他学科素养相比有共性也有差异。归纳起来,地理素养具有综合性、空间性、动态性、终身性、现实性和实践性等多方面的基本特点。

    (一)地理素养具有综合性

    综合性是地理素养的显著特点。第一,地理素养在内容上是综合的。地理素养不仅涉及了位置、地形、气候、动植物等自然地理内容,而且包括人口、聚落、工农业等人文地理的内容,还包括了各种要素之间的相互联系与作用,更重要的是强调了人地协调、可持续发展等密切关联的综合性内容。第二,地理素养在构成要素上具有综合性。地理素养的构成要素包括知识、能力、方法、情感态度与价值观等,其中地理知识是养成地理素养的基本前提、地理能力能够促进地理知识的内化与迁移、地理方法和地理情感态度与价值观能够引导地理素养的价值取向。综上所述,在中学地理素养教育过程中要注意挖掘地理素养的综合性,以发展学生综合分析和解决地理问题的能力。

    (二)地理素养具有空间性

    从某种程度上讲,地理素养的研究范围具有三维的特点。地理素养中不仅包含空间分布、地理规律、地理特征等具有空间属性的地理知识,而且包含区域综合分析与比较、空间辨别力、空间想象力、空间观点等地理能力和观点要素。因此说,地理素养具有一定的空间性。

    (三)地理素养具有动态性

    地理素养的养成是一个动态实施的过程,这包括两个方面的含义。一是发展性,地理素养的养成不是一蹴而就的,而是要经由一个逐渐培育、逐渐养成的动态过程。虽然地理素养具有一定的阶段性特征,但任何一个阶段都不是地理素养培养的终点。二是过程性,地理素养与地理素质的一个主要区别在于地理素养更侧重地理知识、地理能力、地理方法等养成的过程,其次才是获取地理知识、地理能力、地理方法等的结果。这说明地理素养的养成是一个长期的、反复的、渐进的动态过程。

    (四)地理素养具有终身性

    地理素养是在已有经验的基础上生成的比较稳定的心理品格,对个体的终身发展具有独特作用。一方面,地理素养具有一定的长效性,能够长期对个体未来生活产生持续的影响。另一方面,地理素养具有一定的有用性,地理素养中的可持续发展观念、读图析图绘图能力、国家意识、全球意识、地理美感等对个体的终身发展有用。因此说,地理素养具有终身性。

    (五)地理素养具有现实性

    地理素养对个体的生活具有特别的指导意义。地理素养中不仅包含地理与民居、地理与服饰、地理与交通、地理与饮食、地理与旅游等方面的内容,而且包含了野外实践、实地考察等方面的内容,与个体日常生活密切联系,体现了一定的现实性。因此,在中学地理素养教育中要加强地理素养的培养,以加强个体对社会生活的适应能力。

    (六)地理素养具有实践性

    野外实践和实地考察是养成地理素养的重要途径。通过实践活动,个体可以亲身体验和感受自然界的和谐、感受各种生态问题,从而获得大量丰富的真实的可靠的感性材料和直接经验,进而加深个体对自然界的理解、人地和谐的认同及对各种生态问题的感悟。因此说,地理素养来源于实践,又付诸实践,具有一定的实践性。

    综上所述,地理素养是一个集成概念,同时也呈现出多元化特征。因此,地理素养的养成要综合考虑地理科学素养、地理人文素养、地理技术素养等多方面因素,只有这样,才能使学生养成现代公民必备的地理素养。

    展开全文
  • 1、一个优秀互联网产品团队成员必须具备的核心能力有哪些? 第一,通过分享交流获取方法论能力。我们缺乏产品交流文化,每个产品人员往往蜷缩在自己产品线上默默无闻写需求文档,画流程图,概念设计,...

    1、一个优秀的互联网产品团队成员必须具备的核心能力有哪些?

    第一,通过分享交流获取方法论的能力。我们缺乏产品的交流文化,每个产品人员往往蜷缩在自己的产品线上默默无闻的写需求文档,画流程图,概念设计,原型设计,产品设计。等到产品上线后,可用性测试,易用性测试,然后营销人员找移动等渠道资源将产品推出去。这样做或许赚到了钱,但这个产品抓住了多少用户?会有多少忠实的用户像等候《巫妖王之怒》那样等着我们的版本升级?我们不懂暴雪的设计理念,我们也无从知晓暴雪对用户的心理行为如何分析,更谈不上魔兽世界的用户体验设计,我们当然也就设计不出《巫妖王之怒》。我们闭塞,我们不知道外面的世界曾有那么多伟大的产品是如何影响到了用户生活的方方面面,而我们只想完成工作。这一切的源头就是缺少这种交流文化,无论是内部交流,还是外聘专家,我们都显的薄弱。试问,哪位从事产品的童鞋不想坐下来听听偷菜游戏的产品设计是如何抓住用户的行为开展设计的?哪位从事产品的童鞋不想知道《植物大战僵尸》看起来很弱智的游戏设计是如何风靡世界的?而这些又有几位同事不埋头于自己的工作去找寻原因呢?建立一个分享交流的机制,分享每位团队人员或者外聘专家的专业的素质,在分享当中很多方法论就学到了,很多团队成员因为分享成长了也得到了分享的成就感。

    第二,学习模仿能力。QQ农场火了,QQ影音风靡了,QQ邮箱你我都离不开了。小马哥的模仿能力空前,有人说这些应用仅仅是依托强大的QQ客户端而蚕食了开心网,暴风影音以及网易的蛋糕,那么QQ医生,qq软件管理等应用从推出以来一直被人抱怨,反而将更多的用户推给360。所谓成也QQ,败也QQ,学不好竞争对手的产品只能将更多的忠实用户推给竞争对手,学好竞争对手的产品并超越它现在的产品功能你才能占据市场超越对手。企鹅产品的一贯路线都是先学习后超越。在学习的过程中,通过对同类产品的研究学习将对手产品的优缺点一一竞品分析,做到产品的硬指标(用户的核心需求)无可挑剔,仅此企鹅便打败超越了市场上绝大多数的对手。反思我们在产品设计工作中,经常缺乏这类学习精神,有几位产品经理能够同时说出5种以上同类产品的优缺点?腾讯内部交流会上,也经常拿这样一个标准来要求每个产品经理。如果每个产品经理在产品汇报会上不能说出5个以上同类产品的优缺点,不能说出自己产品在同类产品中哪些优势,哪些劣势,对劣势的改进思路的话,那么就请让出自己的位子。当然这样的传言是否是真我无从考察,但从这点可以表现出腾讯对产品的认真态度,学习态度,这一点也是我们需要学习模仿的精神,我们需要像腾讯一样先学会模仿别人如何做好,再去做到超越和卓越。我们现在往往还没做好基础的就想着去标新立异了,因为能力没达到而去做只能事倍功半。

    第三,创新能力。这一点是在第一第二的基础上,如果前两点没做好,做这一点是白费。学习学的好便是优秀,而到达卓越就离不开创新。大凡伟大的公司都是在创新之路上走向霸主的地位。从IBM,微软,谷歌,苹果这些伟大公司的发展痕迹来看,她们每一次转身都带来了it界的震动,这种震动对传统的挑战,对科技的推进,对人类文化的推动无一不靠创新的产品来实现。当个人计算机,windows7系统,谷歌搜索,iphone等成为科技进步的标志词的时候,我们每个人都在无意识的为这些伟大公司在构建不倒金字塔的过程中心甘情愿的砌墙填瓦。这就是创新的魅力。也是产品能力的制高点,在完成了学习和超越后,必须思考创新。

    2.一个优秀的互联网团队有哪些特点?

    第一,团队成员把从事的工作当成事业,充满了对成功的渴望。我们现在的团队弥漫着一种浑浑噩噩等吃混喝的不好气氛,工作做的好不好好像事不关己,只要完成了拿到了工资好坏不是关心的,严重缺乏事业心。相反如果把自己的工作当成今后实现人生的价值,那就会积极向上,忽视短期的个人得失,充满斗志的去做事儿,这样才会有责任感内驱力耐心去做枯燥乏味的工作。如何让大家把从事的工作当成事业?现在很多同事怀疑自己的能力,从事的行业环境和公司。怀疑多了自然就不会当自己的工作作为事业来做。因此公司在培训员工工作技能的同时,可以通过考核转变员工思维模式,比如奖励那些积极向上,视个人工作为奋斗事业的人或者行为来塑造积极向上的思维模式;惩罚那些浑浑噩噩混吃等喝的人或行为来剔除掉不良的风气和思维模式。

    第二,以目标为导向,拥有吸引人的激励和晋升体系。人才寻找公司的标准无外乎三点,行业的发展空间,个人的成长空间和薪资待遇。首选前两点,前两点是第三点的前提。我们团队所处的行业不错,这一点无须担心,但我们缺乏以目标导向吸引人才的激励和晋升体系。如果我们拥有一套完整的激励和晋升体系,积极向上的员工都会为了目标和激励去完善所要求的技能,讲的实在点是每个人都有奔头,自然知道努力朝方向走。

    第三,容易达成共识的价值观,思维方式和沟通语言。团队的战斗力表现在效率上,而我们的精力过多的花费在了说服,沟通甚至是安抚上,一个简单的事情就要很长的周期,而互联网将就的是快,在我们慢节拍的工作内耗当中丧失了机会,而一个战斗力强的团队培养的价值观,思维方式和沟通语言降低了沟通的成本。这一点阿里巴巴做的最好。

    转载于:https://www.cnblogs.com/sunflower627/p/5192503.html

    展开全文
  • 云解析技术通过配置多节点...基于当下ISP服务纷繁复杂以及地区性异化等特点,对于网站解析线路划分便展现出了其独到优势,由于不同地区ISP服务商选择不同,将网站解析根据南北不同地区对服务商线路比重进行

    云解析技术通过配置多节点服务器解决了传统单节点服务器无可奈何的负载过高与洪水攻击等问题,然而飞速更迭的网络环境显然无法满足止步于这点小的技术跨越,新一代的智能云解析系统迅速登上了域名解析的舞台。

    相比于云解析技术,智能云解析正如其字面意思,在解析系统的智能化方面实现了很大的提升与拓展,其中首要的新功能便是解析线路的智能分配

    基于当下ISP服务的纷繁复杂以及地区性异化等特点,对于网站解析的线路划分便展现出了其独到的优势,由于不同地区的ISP服务商选择不同,将网站的解析根据南北不同地区对服务商线路比重进行重新规划和调整便可以显著提升不同地域用户访问网站的速率。

    其次智能云解析为了加强解析系统的稳定性,添加了宕机监测与切换功能

    大型政企为了保证网站的稳定运行,往往会置办多台服务器同时在解析系统上进行A记录负载均衡以保证单一服务器的调用负载不至过高。但即便如此,仍存在服务器长期工作产生故障等问题。

    为了避免服务器停滞带来的网站瘫痪,智能云解析系统可以按设置进行小时乃至分钟级的宕机监测任务,当监测到宕机现象时,可以将解析快速切换到预先配置的备用服务器上,以维持网站的可用性,保证用户可以继续通过原域名访问到正常运行的备用服务器。

    最后,智能云解析进一步优化了防护功能,增加了流量清洗功能

    针对异常访问流量,不再以以往听之任之的态度,仅凭借本身的高通量来消解大规模恶意流量带来的负面影响,而是制定流量监测规则,对来访流量进行有针对性的监测并对恶意流量及时进行清洗。

    流量的监控与清洗功能不但为净化网站流量、降低有效访问延迟起到了关键性作用,同时还提供数据报表功能,让网站管理员通过复盘解析系统的数据收集便可总结出网站的受访情况,及时对解析策略进行有效的调整,以进一步优化不同用户的访问体验。

    由于互联网用户对网站解析速度、解析智能化、解析稳定性的需求日渐加强,同时IPv6地址的铺展也对解析提出了支持AAAA记录的要求,传统的单节点解析系统逐渐被淘汰,云解析乃至智能云解析正日渐成为网站解析的常态化、标准化配置。

    好马配好鞍,想要建立优质的网站,打通通向互联网大平台的甬道,配置一个专业、稳定、高效的解析系统自会起到事半功倍的成效。

    展开全文
  • 我国秘书职业的特点

    2020-12-17 16:35:20
    我国秘书职业的特点以挖掘自身潜藏的能力核心,致力于为你提供最实用的我国秘书职业的特点,赶快来下载...该文档为我国秘书职业的特点,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • TiDB的核心原理深入研究

    千次阅读 2018-11-26 16:32:10
    TIDB要解决问题: 1. 兼容mysql 2. 分布式存储,扩展能力强。 3. 支持OLTP ...TiDB Server 负责处理 SQL 请求,随着业务增长,可以简单添加 TiDB Server 节点,提高整体处理能力,提供更高吞...

    TIDB要解决问题:

    1. 兼容mysql

    2. 分布式存储,扩展能力强。

    3. 支持OLTP

    4. 可以直接利用TiSpark做实时分析。

    5. 稳定的高可用性

    6. 无阻塞在线DDL

    TIDB特点

    1. 水平扩展:包括计算能力和存储能力。TiDB Server 负责处理 SQL 请求,随着业务的增长,可以简单的添加 TiDB Server 节点,提高整体的处理能力,提供更高的吞吐。TiKV 负责存储数据,随着数据量的增长,可以部署更多的 TiKV Server 节点解决数据 Scale 的问题。PD 会在 TiKV 节点之间以 Region 为单位做调度,将部分数据迁移到新加的节点上。

    2. 高可用:TiDB/TiKV/PD 这三个组件都能容忍部分实例失效,不影响整个集群的可用性

    TiDB 集群主要分为三个组件:

    TiDB Server

    TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD 找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。 TiDB Server 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如LVS、HAProxy 或 F5)对外提供统一的接入地址。

    PD Server

    Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁移等);三是分配全局唯一且递增的事务 ID。

    PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署 3 个节点。

    TiKV Server

    TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range (从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 Raft 协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 Raft Group,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。

    如何存储?

    • 能否支持跨数据中心的容灾?
    • 写入速度是否够快?
    • 数据保存下来后,是否方便读取?
    • 保存的数据如何修改?如何支持并发的修改?
    • 如何原子地修改多条记录?

    这些问题每一项都非常难,但是要做一个优秀的数据存储系统,必须要解决上述的每一个难题。 为了解决数据存储问题,我们开发了 TiKV 这个项目。接下来我向大家介绍一下 TiKV 的一些设计思想和基本概念。

    Key-Value

    作为保存数据的系统,首先要决定的是数据的存储模型,也就是数据以什么样的形式保存下来。TiKV 的选择是 Key-Value 模型,并且提供有序遍历方法。简单来讲,可以将 TiKV 看做一个巨大的 Map,其中 Key 和 Value 都是原始的 Byte 数组,在这个 Map 中,Key 按照 Byte 数组总的原始二进制比特位比较顺序排列。 大家这里需要对 TiKV 记住两点:

    1. 这是一个巨大的 Map,也就是存储的是 Key-Value pair
    2. 这个 Map 中的 Key-Value pair 按照 Key 的二进制顺序有序,也就是我们可以 Seek 到某一个 Key 的位置,然后不断的调用 Next 方法以递增的顺序获取比这个 Key 大的 Key-Value

    讲了这么多,有人可能会问了,这里讲的存储模型和 SQL 中表是什么关系?在这里有一件重要的事情要说四遍:

    这里的存储模型和 SQL 中的 Table 无关! 这里的存储模型和 SQL 中的 Table 无关! 这里的存储模型和 SQL 中的 Table 无关! 这里的存储模型和 SQL 中的 Table 无关!

    现在让我们忘记 SQL 中的任何概念,专注于讨论如何实现 TiKV 这样一个高性能高可靠性的巨大的(分布式的) Map。

    RocksDB

    任何持久化的存储引擎,数据终归要保存在磁盘上,TiKV 也不例外。但是 TiKV 没有选择直接向磁盘上写数据,而是把数据保存在 RocksDB 中,具体的数据落地由 RocksDB 负责。这个选择的原因是开发一个单机存储引擎工作量很大,特别是要做一个高性能的单机引擎,需要做各种细致的优化,而 RocksDB 是一个非常优秀的开源的单机存储引擎,可以满足我们对单机引擎的各种要求,而且还有 Facebook 的团队在做持续的优化,这样我们只投入很少的精力,就能享受到一个十分强大且在不断进步的单机引擎。当然,我们也为 RocksDB 贡献了一些代码,希望这个项目能越做越好。这里可以简单的认为 RocksDB 是一个单机的 Key-Value Map。

    Raft

    好了,万里长征第一步已经迈出去了,我们已经为数据找到一个高效可靠的本地存储方案。俗话说,万事开头难,然后中间难,最后结尾难。接下来我们面临一件更难的事情:如何保证单机失效的情况下,数据不丢失,不出错?简单来说,我们需要想办法把数据复制到多台机器上,这样一台机器挂了,我们还有其他的机器上的副本;复杂来说,我们还需要这个复制方案是可靠、高效并且能处理副本失效的情况。听上去比较难,但是好在我们有 Raft 协议。Raft 是一个一致性算法,它和 Paxos 等价,但是更加易于理解。这里是 Raft 的论文,感兴趣的可以看一下。本文只会对 Raft 做一个简要的介绍,细节问题可以参考论文。另外提一点,Raft 论文只是一个基本方案,严格按照论文实现,性能会很差,我们对 Raft 协议的实现做了大量的优化,具体的优化细节可参考我司首席架构师 tangliu 同学的这篇文章。

    Raft 是一个一致性协议,提供几个重要的功能:

    1. Leader 选举
    2. 成员变更
    3. 日志复制

    TiKV 利用 Raft 来做数据复制,每个数据变更都会落地为一条 Raft 日志,通过 Raft 的日志复制功能,将数据安全可靠地同步到 Group 的多数节点中。

    https://pingcap.com/images/blog-cn/raft-rocksdb.png

    到这里我们总结一下,通过单机的 RocksDB,我们可以将数据快速地存储在磁盘上;通过 Raft,我们可以将数据复制到多台机器上,以防单机失效。数据的写入是通过 Raft 这一层的接口写入,而不是直接写 RocksDB。通过实现 Raft,我们拥有了一个分布式的 KV,现在再也不用担心某台机器挂掉了。

    Region

    对于一个 KV 系统,将数据分散在多台机器上有两种比较典型的方案:一种是按照 Key 做 Hash,根据 Hash 值选择对应的存储节点;另一种是分 Range,某一段连续的 Key 都保存在一个存储节点上。TiKV 选择了第二种方式,将整个 Key-Value 空间分成很多段,每一段是一系列连续的 Key,我们将每一段叫做一个 Region,并且我们会尽量保持每个 Region 中保存的数据不超过一定的大小(这个大小可以配置,目前默认是 64mb)。每一个 Region 都可以用 StartKey 到 EndKey 这样一个左闭右开区间来描述。

    https://pingcap.com/images/blog-cn/region.png

    • 以 Region 为单位,将数据分散在集群中所有的节点上,并且尽量保证每个节点上服务的 Region 数量差不多
    • 以 Region 为单位做 Raft 的复制和成员管理

    先看第一点,数据按照 Key 切分成很多 Region,每个 Region 的数据只会保存在一个节点上面。我们的系统会有一个组件来负责将 Region 尽可能均匀的散布在集群中所有的节点上,这样一方面实现了存储容量的水平扩展(增加新的结点后,会自动将其他节点上的 Region 调度过来),另一方面也实现了负载均衡(不会出现某个节点有很多数据,其他节点上没什么数据的情况)。同时为了保证上层客户端能够访问所需要的数据,我们的系统中也会有一个组件记录 Region 在节点上面的分布情况,也就是通过任意一个 Key 就能查询到这个 Key 在哪个 Region 中,以及这个 Region 目前在哪个节点上。

    对于第二点,TiKV 是以 Region 为单位做数据的复制,也就是一个 Region 的数据会保存多个副本,我们将每一个副本叫做一个 Replica。Replica 之间是通过 Raft 来保持数据的一致(终于提到了 Raft),一个 Region 的多个 Replica 会保存在不同的节点上,构成一个 Raft Group。其中一个 Replica 会作为这个 Group 的 Leader,其他的 Replica 作为 Follower。所有的读和写都是通过 Leader 进行,再由 Leader 复制给 Follower。 大家理解了 Region 之后,应该可以理解下面这张图:

    https://pingcap.com/images/blog-cn/raft-region.png

    我们以 Region 为单位做数据的分散和复制,就有了一个分布式的具备一定容灾能力的 KeyValue 系统,不用再担心数据存不下,或者是磁盘故障丢失数据的问题。这已经很 Cool,但是还不够完美,我们需要更多的功能。

    • 如何计算?

    理解了 SQL 到 KV 的映射方案之后,我们可以理解关系数据是如何保存的,接下来我们要理解如何使用这些数据来满足用户的查询需求,也就是一个查询语句是如何操作底层存储的数据。 能想到的最简单的方案就是通过上一节所述的映射方案,将 SQL 查询映射为对 KV 的查询,再通过 KV 接口获取对应的数据,最后执行各种计算。 比如 Select count(*) from user where name="TiDB"; 这样一个语句,我们需要读取表中所有的数据,然后检查 Name 字段是否是 TiDB,如果是的话,则返回这一行。这样一个操作流程转换为 KV 操作流程:

    • 构造出 Key Range:一个表中所有的 RowID 都在 [0, MaxInt64) 这个范围内,那么我们用 0 和 MaxInt64 根据 Row 的 Key 编码规则,就能构造出一个 [StartKey, EndKey) 的左闭右开区间
    • 扫描 Key Range:根据上面构造出的 Key Range,读取 TiKV 中的数据
    • 过滤数据:对于读到的每一行数据,计算 name="TiDB" 这个表达式,如果为真,则向上返回这一行,否则丢弃这一行数据
    • 计算 Count:对符合要求的每一行,累计到 Count 值上面 这个方案肯定是可以 Work 的,但是并不能 Work 的很好,原因是显而易见的:
    1. 在扫描数据的时候,每一行都要通过 KV 操作同 TiKV 中读取出来,至少有一次 RPC 开销,如果需要扫描的数据很多,那么这个开销会非常大
    2. 并不是所有的行都有用,如果不满足条件,其实可以不读取出来
    3. 符合要求的行的值并没有什么意义,实际上这里只需要有几行数据这个信息就行

    如何避免上述缺陷也是显而易见的,首先我们需要将计算尽量靠近存储节点,以避免大量的 RPC 调用。其次,我们需要将 Filter 也下推到存储节点进行计算,这样只需要返回有效的行,避免无意义的网络传输。最后,我们可以将聚合函数、GroupBy 也下推到存储节点,进行预聚合,每个节点只需要返回一个 Count 值即可,再由 tidb-server 将 Count 值 Sum 起来。 这里有一个数据逐层返回的示意图:

    https://pingcap.com/images/blog-cn/dist-query.png

    下面这个图列出了重要的模块以及调用关系:

    https://pingcap.com/images/blog-cn/tidb-core.png

    用户的 SQL 请求会直接或者通过 Load Balancer 发送到 tidb-server,tidb-server 会解析 MySQL Protocol Packet,获取请求内容,然后做语法解析、查询计划制定和优化、执行查询计划获取和处理数据。数据全部存储在 TiKV 集群中,所以在这个过程中 tidb-server 需要和 tikv-server 交互,获取数据。最后 tidb-server 需要将查询结果返回给用户。

    如何调度?

    • 如何保证同一个 Region 的多个 Replica 分布在不同的节点上?更进一步,如果在一台机器上启动多个 TiKV 实例,会有什么问题?
    • TiKV 集群进行跨机房部署用于容灾的时候,如何保证一个机房掉线,不会丢失 Raft Group 的多个 Replica?
    • 添加一个节点进入 TiKV 集群之后,如何将集群中其他节点上的数据搬过来?
    • 当一个节点掉线时,会出现什么问题?整个集群需要做什么事情?如果节点只是短暂掉线(重启服务),那么如何处理?如果节点是长时间掉线(磁盘故障,数据全部丢失),需要如何处理?
    • 假设集群需要每个 Raft Group 有 N 个副本,那么对于单个 Raft Group 来说,Replica 数量可能会不够多(例如节点掉线,失去副本),也可能会 过于多(例如掉线的节点又回复正常,自动加入集群)。那么如何调节 Replica 个数?
    • 读/写都是通过 Leader 进行,如果 Leader 只集中在少量节点上,会对集群有什么影响?
    • 并不是所有的 Region 都被频繁的访问,可能访问热点只在少数几个 Region,这个时候我们需要做什么?
    • 集群在做负载均衡的时候,往往需要搬迁数据,这种数据的迁移会不会占用大量的网络带宽、磁盘 IO 以及 CPU?进而影响在线服务?

    这些问题单独拿出可能都能找到简单的解决方案,但是混杂在一起,就不太好解决。有的问题貌似只需要考虑单个 Raft Group 内部的情况,比如根据副本数量是否足够多来决定是否需要添加副本。但是实际上这个副本添加在哪里,是需要考虑全局的信息。整个系统也是在动态变化,Region 分裂、节点加入、节点失效、访问热点变化等情况会不断发生,整个调度系统也需要在动态中不断向最优状态前进,如果没有一个掌握全局信息,可以对全局进行调度,并且可以配置的组件,就很难满足这些需求。因此我们需要一个中心节点,来对系统的整体状况进行把控和调整,所以有了 PD 这个模块。

    问题有两大类:

    作为一个分布式高可用存储系统,必须满足的需求,包括四种:

    • 副本数量不能多也不能少
    • 副本需要分布在不同的机器上
    • 新加节点后,可以将其他节点上的副本迁移过来
    • 节点下线后,需要将该节点的数据迁移走

    作为一个良好的分布式系统,需要优化的地方,包括:

    • 维持整个集群的 Leader 分布均匀
    • 维持每个节点的储存容量均匀
    • 维持访问热点分布均匀
    • 控制 Balance 的速度,避免影响在线服务
    • 管理节点状态,包括手动上线/下线节点,以及自动下线失效节点

    满足第一类需求后,整个系统将具备多副本容错、动态扩容/缩容、容忍节点掉线以及自动错误恢复的功能。满足第二类需求后,可以使得整体系统的负载更加均匀、且可以方便的管理。

    为了满足这些需求,首先我们需要收集足够的信息,比如每个节点的状态、每个 Raft Group 的信息、业务访问操作的统计等;其次需要设置一些策略,PD 根据这些信息以及调度的策略,制定出尽量满足前面所述需求的调度计划;最后需要一些基本的操作,来完成调度计划。

    我们先来介绍最简单的一点,也就是调度的基本操作,也就是为了满足调度的策略,我们有哪些功能可以用。这是整个调度的基础,了解了手里有什么样的锤子,才知道用什么样的姿势去砸钉子。

    上述调度需求看似复杂,但是整理下来最终落地的无非是下面三件事:

    • 增加一个 Replica
    • 删除一个 Replica
    • 将 Leader 角色在一个 Raft Group 的不同 Replica 之间 transfer

    刚好 Raft 协议能够满足这三种需求,通过 AddReplica、RemoveReplica、TransferLeader 这三个命令,可以支撑上述三种基本操作。

    调度依赖于整个集群信息的收集,简单来说,我们需要知道每个 TiKV 节点的状态以及每个 Region 的状态。TiKV 集群会向 PD 汇报两类消息:

    每个 TiKV 节点会定期向 PD 汇报节点的整体信息

    TiKV 节点(Store)与 PD 之间存在心跳包,一方面 PD 通过心跳包检测每个 Store 是否存活,以及是否有新加入的 Store;另一方面,心跳包中也会携带这个 Store 的状态信息,主要包括:

    • 总磁盘容量
    • 可用磁盘容量
    • 承载的 Region 数量
    • 数据写入速度
    • 发送/接受的 Snapshot 数量(Replica 之间可能会通过 Snapshot 同步数据)
    • 是否过载
    • 标签信息(标签是具备层级关系的一系列 Tag)

    每个 Raft Group 的 Leader 会定期向 PD 汇报信息

    每个 Raft Group 的 Leader 和 PD 之间存在心跳包,用于汇报这个 Region 的状态,主要包括下面几点信息:

    • Leader 的位置
    • Followers 的位置
    • 掉线 Replica 的个数
    • 数据写入/读取的速度

    PD 不断的通过这两类心跳消息收集整个集群的信息,再以这些信息作为决策的依据。除此之外,PD 还可以通过管理接口接受额外的信息,用来做更准确的决策。比如当某个 Store 的心跳包中断的时候,PD 并不能判断这个节点是临时失效还是永久失效,只能经过一段时间的等待(默认是 30 分钟),如果一直没有心跳包,就认为是 Store 已经下线,再决定需要将这个 Store 上面的 Region 都调度走。但是有的时候,是运维人员主动将某台机器下线,这个时候,可以通过 PD 的管理接口通知 PD 该 Store 不可用,PD 就可以马上判断需要将这个 Store 上面的 Region 都调度走。

    PD 收集了这些信息后,还需要一些策略来制定具体的调度计划。

    一个 Region 的 Replica 数量正确

    当 PD 通过某个 Region Leader 的心跳包发现这个 Region 的 Replica 数量不满足要求时,需要通过 Add/Remove Replica 操作调整 Replica 数量。出现这种情况的可能原因是:

    • 某个节点掉线,上面的数据全部丢失,导致一些 Region 的 Replica 数量不足
    • 某个掉线节点又恢复服务,自动接入集群,这样之前已经补足了 Replica 的 Region 的 Replica 数量多过,需要删除某个 Replica
    • 管理员调整了副本策略,修改了 max-replicas 的配置

    一个 Raft Group 中的多个 Replica 不在同一个位置

    注意第二点,『一个 Raft Group 中的多个 Replica 不在同一个位置』,这里用的是『同一个位置』而不是『同一个节点』。在一般情况下,PD 只会保证多个 Replica 不落在一个节点上,以避免单个节点失效导致多个 Replica 丢失。在实际部署中,还可能出现下面这些需求:

    • 多个节点部署在同一台物理机器上
    • TiKV 节点分布在多个机架上,希望单个机架掉电时,也能保证系统可用性
    • TiKV 节点分布在多个 IDC 中,希望单个机房掉电时,也能保证系统可用

    这些需求本质上都是某一个节点具备共同的位置属性,构成一个最小的容错单元,我们希望这个单元内部不会存在一个 Region 的多个 Replica。这个时候,可以给节点配置 lables 并且通过在 PD 上配置 location-labels 来指明哪些 lable 是位置标识,需要在 Replica 分配的时候尽量保证不会有一个 Region 的多个 Replica 所在结点有相同的位置标识。

    副本在 Store 之间的分布均匀分配

    前面说过,每个副本中存储的数据容量上限是固定的,所以我们维持每个节点上面,副本数量的均衡,会使得总体的负载更均衡。

    Leader 数量在 Store 之间均匀分配

    Raft 协议要读取和写入都通过 Leader 进行,所以计算的负载主要在 Leader 上面,PD 会尽可能将 Leader 在节点间分散开。

    访问热点数量在 Store 之间均匀分配

    每个 Store 以及 Region Leader 在上报信息时携带了当前访问负载的信息,比如 Key 的读取/写入速度。PD 会检测出访问热点,且将其在节点之间分散开。

    各个 Store 的存储空间占用大致相等

    每个 Store 启动的时候都会指定一个 Capacity 参数,表明这个 Store 的存储空间上限,PD 在做调度的时候,会考虑节点的存储空间剩余量。

    控制调度速度,避免影响在线服务

    调度操作需要耗费 CPU、内存、磁盘 IO 以及网络带宽,我们需要避免对线上服务造成太大影响。PD 会对当前正在进行的操作数量进行控制,默认的速度控制是比较保守的,如果希望加快调度(比如已经停服务升级,增加新节点,希望尽快调度),那么可以通过 pd-ctl 手动加快调度速度。

    当通过 pd-ctl 手动下线节点后,PD 会在一定的速率控制下,将节点上的数据调度走。当调度完成后,就会将这个节点置为下线状态。

    了解了上面这些信息后,接下来我们看一下整个调度的流程。

    PD 不断的通过 Store 或者 Leader 的心跳包收集信息,获得整个集群的详细数据,并且根据这些信息以及调度策略生成调度操作序列,每次收到 Region Leader 发来的心跳包时,PD 都会检查是否有对这个 Region 待进行的操作,通过心跳包的回复消息,将需要进行的操作返回给 Region Leader,并在后面的心跳包中监测执行结果。注意这里的操作只是给 Region Leader 的建议,并不保证一定能得到执行,具体是否会执行以及什么时候执行,由 Region Leader 自己根据当前自身状态来定。

    展开全文
  • 微前端的核心价值

    2020-12-05 16:41:05
    很多中小型控制台大多没有产品自由组合能力的诉求。产品能力只能算是微前端的能力的一种延伸。 玉伯提到: 今天看各 BU 的业务问题,微前端的前提,还是得有主体应用,然后才有微组件或微...
  • 项目的特点;项目管理的定义 ;项目管理的特征;项目管理的主要内容;项目管理的主要内容;项目管理的主要内容;8.2 CRM项目管理概述;CRM项目及特点;CRM项目及特点;CRM项目管理的核心 ;CRM项目管理的核心 ;CRM项目团队的...
  • 敏捷开发的特点

    2020-09-06 21:03:01
    敏捷绝非某一种特定开发方法,它只是一种应对快速变化需求一种软件开发能力。敏捷本身只包含了《敏捷软件开发宣言》和《敏捷软件十二条原则》两份文档。敏捷相信,只要符合这两份文档开发方法,就能让开发...
  • 基层管理区别于中层管理和高层管理的特点是以执行为主 基层管理者的自身角色可以体现在学习者、模范者、建设者和培训者四种身份上 基层管理者官不大,责任却一点也不小。所以,并不是谁都可以当基层管理者的。...
  • C语言的特点与缺点

    2020-01-29 19:07:32
    C语言的特点可以概括如下: 1. C语言简洁、紧凑、灵活。C语言的核心内容很少,只有32个关键字,9种控制语句;程序书写格式自由,压缩了一切不必要的成分。 2. 表达方式简练、实用。C语言有一套强有力的运算符,达44...
  • 因此,从这一意义上说,学生自主学习是远程教育的核心理念 然而,强调学生自主学习这一理念,决不意味否定教师作用或者说削弱教师作用。从成功远程教育来看,可以得到这样启示:学生自主学习是基于远程...
  • **一、萌芽阶段 ** ...出色宣传手段、引导传播的能力。很多不错开源项目因为这一点不够,始终默默无闻 。 足够好协作机制。虽然开源社区通常有较为成熟玩法,但是做得不够好项目比比皆是。 友...
  • 如何评价B端产品经理的能力

    千次阅读 2021-04-16 22:37:42
    最近经常思考这个问题,如何评价B端产品经理的能力。根据我反复揣测,大概能归类为以下四个方面。 1.能不能用生意视角看业务 好生意最大特点是2个原则,其一是高利润,其二是可持续。 B端产品经理可能...
  • 软件工程师的核心竞争力是什么

    千次阅读 2019-04-30 09:52:32
    软件工程师是软件项目重要的组成人员,从设计、...我思考过这些答案,觉得答案挺好,但是还没有突出核心竞争力,没有展现软件工程师的特点。 例如技术和代码的能力,这个是属于基础能力;天赋和激情哪个行业都需...
  • 在实时检测和自动控制单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯出现,使交通得以...
  • Go 语言的核心优势

    2019-07-28 11:49:33
    Go语言,作为编程语言的后生,站在巨人的肩膀上,吸收了其他一些编程语言的特点。 Go 编程语言是一个开源项目,它使程序员更具生产力。Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它...
  • 研究发现,网球运动技术特点,其核心训练应主要集中于腰腹力量耐力、腰腹部肌肉神经肌肉控制能力以及肩关节稳定性和爆发力;加强核心力量训练对网球运动中力量传导、身体姿势、运动技能和技术动作起着稳定...
  • 该项目的目的是探索基于能力的系统的理论基础和概念可能性。 所研究的结石的主要特点是硬膜功能的引入。 与可以从环境中捕获任何东西的普通功能相比, stoic函数不能从环境中捕获功能或非stoic函数。 从这个意义上...
  • 结合多核心处理器特点,按照硬件资源以及任务模式对星务管理系统传统任务划分方法进行优化,将单一处理器任务集中处理模式分解为主、协处理器双核任务处理模式.与哈尔滨工业大学试验卫星三号星载计算机功能...
  • 本文结合“旅游英语”课的特点,以国内外任务型及参与式教学研究成果为理论基础,分析以案例展示为核心的旅游英语课堂教学模式,旨在激发学生学习的能动性,培养学生自主学习能力,提高学生专业英语技能和综合运用...
  • 新一代的核心路由器除要具有强大计算和处理能力外,还要具有高稳定、高可靠、高安全等特点,而IPv6技术出现、光通信技术迅速普及以及MPLS技术成为主流,要求新一代高端路由器不仅具有更大容量交换网络,同时...
  • GO-3-go语言的核心特性

    2020-11-21 21:12:10
    Go语言,作为编程语言的后生,站在巨人的肩膀上,吸收了其他一些编程语言的特点。 Go 编程语言是一个开源项目,它使程序员更具生产力。Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写...
  • 企业竞争力模型,无疑要看迈克尔波特的文章,从企业竞争、行业竞争至国家竞争,都有成熟的竞争理论。 同多数IT公司一样,监理公司核心竞争力仍然是创新与复制... 结合信息化监理项目的特点,创新方面表现为走服务一...
  • c++三大特点

    2021-02-23 08:04:15
    继承:继承是类之间关系,这种关系使对象可以继承另外一类对象特征和能力。继承避免公用代码重复开发,减少代码和数据冗余 多态:多态可以简单概括为“一个函数,多种方法”,程序在运行时才决定调用函数时...
  • 你身边有哪些特别优秀的人,都有什么共同的特点?通过身边厉害的人为例,总结他们都有的个人能力提升清单,然后快速复用。实现个人爆发式成长的从零到一,这里总结为三个部分:打基础,学技巧,抓核心。ps:很多时候,...
  • 不知不觉间,一向以高大上形象示人云计算也开始慢慢为普通人所熟知,那么今天我就在这里分析一下云计算平台最核心的五项技术: 1、云服务器 云服务器提供简单高效,处理能力可弹性伸缩计算服务,支持国内...
  • 餐饮外卖行业的特点盘点

    千次阅读 2014-06-19 14:49:38
    外卖业务的核心是线下能力和为此匹配技术能力 线下能力包括领导者管理能力和一线人员执行力。管理学有个观点:一个人能够有效直接管理人数是7,当队伍越来越大,就需要组织化结构化。人数少情况下,战略方向...
  • Dubbo核心功能

    2019-09-18 16:10:00
    Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源 Java RPC 分布式服务框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。她最大的特点是按照...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,802
精华内容 720
关键字:

核心能力的特点