这篇文章主要围绕网页设计师如何向客户推销设计理念和网页设计师如何向客户推销设计理念呢展开,旨在为您提供一份详细的参考资料。我们将全面介绍网页设计师如何向客户推销设计理念的优缺点,解答网页设计师如何向客
这篇文章主要围绕网页设计师如何向客户推销设计理念和网页设计师如何向客户推销设计理念呢展开,旨在为您提供一份详细的参考资料。我们将全面介绍网页设计师如何向客户推销设计理念的优缺点,解答网页设计师如何向客户推销设计理念呢的相关问题,同时也会为您带来3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念、【译】向客户推销响应式设计、专业设计师对网页设计的思考、为网页设计师准备的10个在线的HTML5设计工具的实用方法。
本文目录一览:- 网页设计师如何向客户推销设计理念(网页设计师如何向客户推销设计理念呢)
- 3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念
- 【译】向客户推销响应式设计
- 专业设计师对网页设计的思考
- 为网页设计师准备的10个在线的HTML5设计工具
网页设计师如何向客户推销设计理念(网页设计师如何向客户推销设计理念呢)
介绍
我们,设计师遇到各种各样的客户来安抚。他们中的一些人变得非常友好和支持,他们把自由交给了这个项目,还有其他你可能需要知道的重要东西。但有些人对他们的要求更加具体,并且更愿意将自由置于束缚之下。无论我们与谁合作,底线都是一样的:想法不会自我推销。关键是要适应“销售策略”以适应客户。这些是每个网页设计师必须具备的软技能!
这里有一些提示,您可以动员起来将设计出售给您的客户。
1.了解你的客户:开始说话
销售的第一条规则是了解你的客户。这就是所有魔法发生的地方。它总是从一串对话开始。诀窍是不要让线程变冷。在项目开始时,尽可能多地收集有关客户的信息。这将在未来帮助您更好地了解对您的客户真正重要的内容。你可以询问他们的城市,(经典的对话开始),天气,或者他们的喜好等等。如果你点击了正确的按钮,你会惊讶于一次简单的对话可以揭示你客户的设计偏好,当然,除非你是福尔摩斯。当你说话时会发生以下情况:
您将更清楚地了解客户在您的设计中更喜欢什么。
友好的交谈可以建立信任。一旦你的客户开始信任你,限制就会瓦解,让位于你正在处理的项目的相当大的自由。
一旦客户对与您合作感到满意,您的推销工作就完成了80%。他们会开始更认真地对待你的设计,谁知道呢,他们的下一个项目可能会在他们身上印上你的名字。
与客户建立关系是向他们推销设计理念的基本前提。它总是让他们倾听并更积极地回应你的想法。
2.做好功课:获得信誉
设计中的决策可能有点挑战性。这不像在公式中加入变量来得到正确的答案。因此,总是有出错的余地。这就是为什么你需要对你所做的一切都有一个答案,因为担心会有问题!
设计业务要求您所做的每一个UI/UX移动都存在逻辑推理。您选择的调色板或单页布局偏好需要有一个原因。用具体的统计数据支持你的想法是要走的路。一点点研究会有很长的路要走。始终建议您完全了解您将要提出的惊人解决方案,因为这大大减少了歪曲思维过程的机会。这样,您可以让数据自己说话。客户很少与数据争论。
然而,当数据不足时,大玩家就派上用场了。获得可信度的另一种方法是从市场上公认的名字中举出例子。将此视为对阻力最小的路径的简单破解。如果您的想法在某种程度上与Google的想法一致,那么这绝对应该是您推销策略的一部分。这个小信息可以打开你从未想过存在的大门。最重要的是,客户会有很多疑问,您需要准备好所有答案,以便在工作日顺利进行设计销售!
3.了解趋势:面向未来的设计
不要只是做一个伟大的设计师,要做一个聪明的人。我们碰巧生活在一个除了变化之外,没有什么是不变的世界。在设计方面,改变是推动旅行的动力。
下次您进行设计干预时,请进行快速趋势研究。让自己了解市场的大趋势,并找出那些会坚持下去的趋势。您可以将它们合并到您的设计中并使其发挥作用。开箱即用的思考是一种天赋,但聪明的思考是一种后天习得的品味。无论您做什么,请记住,前所未有的风险与经过深思熟虑的风险之间存在差异。你肯定需要避免前者。
如果你仔细观察,你会发现存在着两大类设计师,潮流引领者和潮流追随者。你想成为谁?
4.介绍,介绍,介绍
即使是最好的、开创性的、屡获殊荣的想法,也需要一个好的展示来让它们脱颖而出。这就是为什么,为了有效地推销你的设计理念,你需要的不仅仅是一些草图或文字。
考虑制作一个宣传台,以吸引客户想象力的方式传达您的想法。确保他们了解全局。在与客户交谈时,请确保将所有内容放在上下文中。使用模型模板,分发设计样本,加倍努力。这将帮助客户想象最终设计将模拟什么。你的工作原型越接近现实生活中的设计功能,你就越接近达成交易。
5.不要低估你的客户:接受批评
在一个没有绝对性的职业中,批评是丰富的。您的工作可能是您的领地,但您需要记住,您被雇用来解决问题。以及您执行此操作的效率如何衡量转化率。您的客户可能没有所有的设计知识,但他们确切地知道他们想要什么以及他们想要什么。因此,最好始终保持领先地位并提出您的设计理念,而不要过于防守。
您的客户需要知道您正在提炼他们的想法并引导他们取得最佳成果,而不是将其视为挑战。因此,带着一丝技巧踩踏将是一个好主意。与其回答“我认为不需要此更改”,不如将其调低为“虽然您建议的更改是完全可行的,但如果您重新检查,您可能会发现它已经满足这些要求我提交的那个。”
接受设计反馈的方式对其最终验收至关重要。您会发现自己处于这样一种情况:积极的态度、对细节的关注以及解决所有痛点的愚蠢能力将确保客户比其他方式更容易接受您的最终设计版本。
小提示:你和你的客户站在同一边,不要把它当作挑战。
- 概括
- 对于设计,您需要牢记两点:
- 少即是多
- 展示总比讲述好
- 尽管“销售”的想法可能会让你畏缩,但它是一个里程碑,可以让你的设计脱颖而出。话虽如此,您需要相信自己的设计和直觉,才能度过最糟糕的时期。
上海网页设计师是怎么做出能够体现潮流趋势的网页呢?
近几年,随着互联网的发展,越来越多的企业都开始将重心放在网页设计上,他们希望通过网页设计来提升企业的形象,把企业的独特性以及服务展现给更多的潮流消费者。那么,在上海这个国际大都...
网页设计师如何在职业生涯中健康完好的生存下来
身体才是ge命的本钱,以人为本有这么一家设计公司,XX设计在公司里设有,桌球台,滑板,等健身及娱乐器材,提供给员工闲时锻炼放松和娱乐,不定时组织公司团建活动,把全体成员的身心健...
UX、UI和网页设计师有什么区别?
你知道你对设计感兴趣,但你仍然不知道它对你未来的职业意味着什么。你已经开始了你的研究,但你可能仍然不确定这一切意味着什么。您应该是UX、UI还是网页设计师?你不知道吗?不用担心...
做一个有洞察力的网页设计师非常重要
我们都知道营销人员要有市场洞察力和文案策划要有消费者洞察力,但很多人不知道洞察力对设计师也很重要。你能看出以下两种设计的区别吗?这是修改前后AirbnbAPP愿望清单浏览界面截...
七个令人抓狂的网页设计师
有时候,当我怀着极大的期待打开一些网站时,它们的存在简直就是一场设计灾难!相信我,你看到他们会抓狂的。从莫名其妙的链接丢失到糟糕的可用性,本文将分享一些错误的设计,可以让人在瞬...
延伸阅读
3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念
在线工具推荐:三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务
定义 3D 渲染可视化及其用途
3D 可视化是一种艺术形式。这是一个机会。这是进步。借助 3D 纹理渲染,设计师可以将三维数字模型贴上逼真的纹理图像,创建对象的逼真图像,包括纹理、照明、阴影等效果。
为什么沟通对设计很重要
真正高质量的沟通的好处包括理解产品设计意图、有效协作和客户满意度。优化决策、提高效率和支持营销工作也很重要。人为因素在任何领域都至关重要,但 3D 可视化可以更好的帮助设计师有效、清晰地传达他的建筑设计理念。
3D 渲染可视化如何显示设计的比例、比例、纹理、颜色和照明等效果3D
可视化准确反映了不同元素之间的大小和空间关系,通过包括人物、家具或其他可识别的物体,观众可以轻松了解空间的规模和比例。
- 质地:3D 渲染允许设计师将超逼真的纹理应用于项目中的表面,例如墙壁、地板和家具。这些纹理传达了不同材料(如砖、木材、混凝土或织物)的手感和外观。
- 颜色:3D 可视化可以显示准确的色彩再现,显示不同颜色在设计中如何相互作用和互补。
照明:3D 渲染可以模拟自然和人工照明条件,使设计师能够展示空间在不同照明场景下的外观。
帮助受众更好地理解和欣赏您的设计
在考虑 3D 可视化工作室为您的客户提供的好处时,我们首先想到的是客户的想象力。它有助于想象内部视觉效果。它还有助于了解空间的触觉质量以及不同材料如何影响整体氛围。不要忘记了解颜色选择对空间整体情绪和美学的影响。最后一点是了解照明在空间中的作用,例如,它如何强调某些特征或创造某种情绪。
3D 渲染可视化可以帮助您说明设计的功能和可用性
3D 渲染可视化如何显示设计的移动、交互和性能
考虑 3D 渲染效率的以下几个方面:
- 运动:设计师演示了公共空间中的行人流量或停车场中的交通流量。
- 相互作用:3D 可视化工作室的专业人士有机会展示办公室工作人员如何使用共享工作空间,或者客户如何与零售业的产品和展示进行交互。
- 生产力:3D 渲染有助于展示设计的性能特征,例如能源效率、结构完整性或声学效果。设计师使用模拟和可视化来展示建筑设计在不同条件下的表现,例如极端天气条件或重载。
帮助受众看到您的设计的好处和价值
您的受众可以通过多种方式看到好处。首先是提高理解力。您的受众更容易理解您的设计的好处和优势,使其更有可能获得批准和采用。
这使得项目审批过程更容易,因为利益相关者可以看到您的设计的实际好处和价值,从而减少不确定性和疑虑。
下一步是优化设计:通过可视化图像的这些方面,您可以识别潜在的问题或需要改进的领域,从而帮助您改进和优化设计。反过来,这可以提高设计的整体价值和有效性,从而提高客户和最终用户的满意度。
第二点是有效的沟通:3D 可视化弥合了技术术语和外行理解之间的差距,使您的受众更容易掌握复杂的概念。这种改进的沟通可以带来更好的协作和更有成效的讨论,最终达到或超出预期。
让我们继续考虑情感联系:高质量的 3D 渲染可以唤起情感并营造出真实感,让您的观众感受到与您的设计的联系。这种情感联系可能会增加设计的感知价值,从而提高利益相关者和客户的参与度和支持度。最后,让我们提一下营销:通过 3D 可视化展示优势和价值,您可以创建引人入胜的营销材料,这些材料可用于产生兴趣并吸引潜在客户、投资者或最终用户。这最终可以带来更多的商机和更成功的项目可视化结果。
3D 渲染可视化如何显示设计的氛围、风格和基调的示例
氛围和风格非常重要,尤其是在建筑渲染中,因为它们会给人留下第一印象。
通过在 3D 渲染中准确模拟自然光和人工光,您可以创建设计的氛围和氛围。不同的照明条件、强度和色温传达了各种情感,并创造了正确的色调,从温暖舒适到冷酷精致。
借助 3D 建筑可视化,您可以展示设计中使用的材料的纹理、颜色和饰面。
将景观和环境集成到 3D 可视化中可以创建上下文并进一步增强设计的氛围。
通过选择正确的摄像机角度和构图,您可以强调最重要的方面,并为观众创造更具吸引力和身临其境的体验。
将后处理技术和视觉效果应用于 3D 建筑渲染可以增强设计的整体氛围、风格和基调。
这如何帮助你的受众感受到你的设计的影响和意图
在所有优势中,良好的氛围和风格可以帮助您作为专业人士尽可能清楚地传达您的想法。例如,这些选项有助于传达空间的风格——质朴、现代、极简主义或工业。准确表示材料还可以让您的受众更好地了解您设计的触觉品质和美学。
通过选择正确的物体和布置,您可以创造一个和谐而有凝聚力的空间,反映预期的愿景。
说到景观美化,郁郁葱葱的花园、水景或城市景观可以传达不同的情绪和基调,使您的结果更相关并吸引您的观众。
调整颜色渐变、增加景深或加入雾或雨等大气元素可能会为您的项目创建更具表现力和令人难忘的视觉表现。
通过使用 3D 建筑可视化来传达项目的氛围、风格和基调,您可以为观众创造更具吸引力和身临其境的体验,帮助他们更好地理解和欣赏您的愿景。
如何实现你的目标
通过遵循我们上面给出的提示,您将能够有效地使用 3D 渲染来传达您的概念、吸引您的观众并创建一个更成功和协作的过程。虚拟现实对客户来说是一种非常身临其境的体验,几乎可以将任何创造性的解决方案变为现实。在此基础上,您需要一款用于3D模型纹理渲染的工具。DreamTexture.js自动纹理化开发包 是面向 three.js 开发者的 3D 模型纹理自动生成与设置开发包,可以为 webGL 应用增加 3D 模型的快速自动纹理化能力,用户只需输入提示词就可以快速的生成纹理贴图,可以很好的满足设计师的工作需求,下面是使用自动纹理开发包渲染的3D模型示例:案例1:
图一为原始模型, 图二图三为贴图后的模型。提示词:city, Realistic , cinematic , Front view ,Game scene graph
案例 2:
图一为原始模型, 图二图三为贴图后的模型。提示词:car, Realistic , photography , hyper quality , high detail , high resolution , Unreal Engine , Side view案例 3:
图一为原始模型, 图二图三为贴图后的模型。图二提示词:Realistic , photography, bottle, porcelain图三:将''porcelain''换为''glass''
转载:3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念
【译】向客户推销响应式设计
设计并开发的网站能够友好的支持移动设备,已经成为当今网页设计的一个重要趋势。
它的重要性体现在我和客户交谈时,几乎所有的客户都把“支持移动设备”作为网站重新设计的第一要务。
去年年底,我开始给一家销售加工木材产品的公司做新设计。在讨论的一开始,我就把话题转到支持移动设备和响应式设计。通常,这个话题很受欢迎,但这次例外了,就像客户所抱怨的:
我们的客户不会使用手机来访问我们的网站。
我已经不止一次的从我的潜在客户那儿听到类似的回应了。我也和许多公司交谈过,但这些公司都严重低估了通过手机或是移动设备来访问他们公司网站的人数。通常情况下,看下流量统计就能让他们看清移动设备对他们网站流量的影响。但是当我看到这个特殊客户的分析报告时,我惊呆了。
2%。这就是当时来自移动设备的用户数量。就这么多!
在结束这个故事之前,我最终和这个客户合作然后重新设计的他们的网站,并且那个网站现在完全是响应式的。在设计师如何推销响应式网站上,它给了我们一个有趣的启示:当我们认为应该推行一种大家公认的最佳实践的解决方案时,客户的需求往往不是显而易见的。
明确他们是否真的需要一种移动网站体验
本文的标题,“向客户推销响应式设计”听起来可能像一个阴险的销售人员试图说服客户购买他们不需要的东西。这不是我想提倡的。因此,这个过程的第一步应该明确客户是否真的需要你给出的解决方案。
当你需要为一个不支持移动设备的网站做响应式的设计时,你需要从大局着手。 做一些流量报表统计我们的客户端是否吸引移动用户。如果移动流量接近浏览器客户端流量,那么可能他们现在不太需要一个移动网站体验—特别是网站没有其他问题的情况下。
如果一个网站组织运行良好,比如说它转化率高,设计也很吸引人,并且有很好的用户体验(至少在桌面环境上如此),但是移动用户占比却难以置信的低,那么重新设计或者重构网站仅仅为了让他变得响应性是没有任何经济意义的。
你可能会反驳说,虽然占比很小的访客获得很差的体验是无法接受的,但是我可以通过开发一个响应式设计来解决这个问题。站在设计师的角度我表示欣赏这种观点,但是我也理解业务方面的形势。无论你和什么公司谈合作,为了取悦仅仅2%的客户而进行响应式设计是很难被接受的。所以你不能只看流量统计,而且需要思考更多而不单单是响应性设计相关的好处。
尝试解决其他问题
显然,支持移动设备还不是一个足够诱人的理由让我们的客户去重新设计他们的网站,其他的问题同样也会阻碍用户。 其中有两个主要问题,在网站的视觉设计上,设计过时和设计不贴合当前的营销,还有缺乏内容管理系统(CMS)的或是缺乏网站更新工具。那么,针对这些问题我提出一些个人的建议。
花点时间重新设计过的网站会给用户带来一种全新的视觉体验和感受,同时也能改善了网站的美观和易用性。 我们会把网站提高到目前的水平并且接入CMS(此处指的是发布系统),CMS能够帮助我们解决网站更新的问题。
当我和客户谈到这个建议和接下来要做的步骤时,我提到说我们可以让网站变得响应式,就像我们重构了它一样。不出所料, 客户询问了这样做是否必要或是这是否需要额外的花费(这不是废话嘛)。这里最关键的一点是我将用户引导到响应式设计的好处上,而不仅仅是支持移动设备。
关注更多,不仅限手机
当我们谈论响应式设计的时候,我们往往只关注手机。因为手机和以往我们设计的主战场-桌面屏幕太不一样了。创造一个在桌面到手机上,用户体验很好的网站,是一个很好的方式去体现响应式设计的灵活性和健壮性。但对这个客户而言,手机用户看起来不是很多。好在响应式设计不仅限于手机。
在和客户交谈之后,我发现他们经常被顾客投诉说他们的网站看起来“太小了”。原因是因为网站是多年前设计的,设计宽度固定在800 x 600像素分辨率。当用户使用现在典型的大屏幕去访问网站,会发现网站的列宽实在是太窄了,左右两边出现了大量的空白。既便如此,这家公司仍然还一定量的用户仍在使用旧的、低分辨率的显示器。所以 仅仅是把网站做得大一点不是一个对的解决方案。其实这家公司需要的是一个大小屏幕都能适应的网站。这个问题绝对能通过响应式设计解决。
我并没有将注意力集中在手机和其他小屏幕上,我像客户解释说响应式设计可以让我们有效地在主流的大屏幕、旧笔记本和低分辨率的老屏幕上展示我们的网站。
当我分别用笔记本和大显示器向客户展示一个使用响应式设计的网站时,他们激动的告诉我们他们对网站的不满(太小)已经很多年了,但是他们的前设计师告诉他们,如果要支持使用旧电脑的用户,他们除了为这些最低标准的用户做设计外别无选择。
响应式设计能解决这个问题,响应式设计使得我们的客户与我们达成更多共识,因为它解决了他们的老大难问题(网站太小), 在没有解决这个问题之前,他们甚至认为没必要解决这个问题(支持移动设备)。
立足未来,而不是现在
当我和客户谈论响应式设计时,我极少使用 “支持移动(mobile support)”这个术语,因为它只会让客户联想到手机,或是平板电脑。 我更倾向于使用“支持多种设备(multi-device support)”,它包括了更广泛的设备和屏幕尺寸,这更符合我们真实的设计和开发。
响应式设计的优点之一是它不再只关注当下的设备和屏幕尺寸。因为一个响应式的网站的布局能够适应任何尺寸的屏幕,这是一种未来友好型的方法。 大家都希望网站能够在未来依然表现良好,即使有新的设备和屏幕尺寸进入市场,出现在客户面前。 换句话说,即使网站现在没有吸引大量的移动客户,但它很可能在未来发生。响应式方法能够确保那些移动访客能获得优化后的体验。
客户对它能否吸引移动访客仍然保持怀疑,但是他们仍然接受了响应式设计,因为它解决了其他问题。另外,因为我们必须重构网站,所以同时让它响应式是有商业价值的。 尝试将现有的非响应式网站响应式化的代价是昂贵的,任务更是艰巨的,而在设计过程的早期就考虑响应式,实现起来就容易得多,特别是当它作为工作流程的核心部分,我们就是这样做的。这样的工作流程帮助我们确保这个响应式方法在技术上和经济上都是可行的。
随着项目的不断推进,我们明白一旦网站上线,我们必须紧紧盯着流量,来证明我们关于移动流量缺乏的说法。
打破常规
2%的流量来自移动设备用户是一个非常低的占比,我第一次看到的时候还一度怀疑它的准确性。
这个特别的公司没有商场或面向公共客户销售。它是一家B2B公司,和一些指定地区的分销商和代理商共事。 这个客户认为当地移动用户数量很低,大多数都是通过电脑来访问,而不是通过手机。
我承认这家公司移动用户的数量水平比较低 (在我们维护的网站中,绝大多数都只有30%的移动用户,除了为数不多的几个超过了50%) 。 我感觉这里一定有地方不对,我的直觉告诉我移动设备的体验差是其中原因之一。我推测是因为移动用户体验的缺乏让移动用户望而却步了。
当时我没有和客户提我的这个想法,不过随着时间的推移和新设备的不断涌现,来自移动流量的已经从2%攀升到了17%。尽管如此,这个网站获得的移动流量还是低于其他许多网站获得的,不过它指数型的增长让人无法忽视它。
唯一能解释快速增长的原因就是网站的响应性。不是人口原因也不是因为市场变化了。 唯一的不同就是网站在移动设备上展示的方式。改进的体验促进了流量的增长。这也是我推行响应性的理由之一,即使流量统计数据有推荐其他的方式。
解决问题
作为专业人员我们不仅要能解决客户告诉我们的问题,还要解决客户还未意识到的问题。
在网站的设计过程中,我们团队解决了客户提出的一系列的问题,包括过时的设计和缺乏CMS。我们针对这些问题提出的解决方案是客户没有意识到的— 缺乏移动访客源于缺乏支持 — 证明了我们的响应式设计方法有用,即使流量统计数据没有表示我们需要它。我们知道响应式设计能够修正在大屏幕和小显示器上的布局, 同意也能扭转网站移动访客流量过低的问题,这已经被我们证明是正确的。
2%到18%的增长可能归结于实际顾客曾经一直坚持用桌面电脑,但是现在转向使用移动设备。这些用户可能会在不同场合选择不同的设备访问网站,我确信他们在设备上会得到不错的体验了。
增长的另一个原因毫无疑问应该是新业务。 正如电影 Field of Dreams 说的那样: “If you build it, they will come.” 如果网站不支持移动设备,那么移动访客注意到之后会马上离开, 再也不会回来. 这也是用户数量低的原因之一。但是如果网站不再将移动访客赶走(意思是网站的移动体验还不错),那么访客来了就不会马上离开。 否则,用户还是会找到他们寻找的信息,可能还会再次访问,或是告诉朋友有该内容的其他网站。支持移动鼓励了用户使用移动设备(Mobile support encourages mobile use)。
通过解决客户提出的问题,包括客户没有提及的,让我们能够推行响应式设计方法。改进后的体验使得移动用户大大增加,同样公司从网站获取到的用户数据也增加了。
总结
推销响应式设计和推销其他任何东西一样。一切都是为了解决问题。
在这里,我们强调了响应式设计的好处超过了潜在客户所说的仅仅支持移动设备的好处。这里有一些关键点是我们在讨论”对一个没有明显需要移动支持的的网站进行响应式设计的价值“时总结的:
- 我们应该尽量支持各种不同的屏幕尺寸,特别是我们讨论响应式设计时通常不考虑的,包括最新的高分辨率的桌面显示器和老旧的小屏幕低分辨率的显示器。
- 随着市场中出现越来越多新的移动设备和更多的屏幕尺寸,会有更多的移动用户来访问网站,因此网站应该做好长远的规划,面向未来。
- 通过做这件事,我们可以节约时间、金钱,还能降低技术复杂度,我们应该把它作为设计过程的一部分,而不是在网站建设好后再去填补它。
原文:http://www.smashingmagazine.com/2013/10/30/selling-responsive-website-design/
作者:Jeremy Girard
专业设计师对网页设计的思考
我们看到五彩缤纷的网站,有时候会想,这样的网站是如何诞生的。尤其是那些超脱于物外,让人惊艳的网站,为什么和普通的网站差距如此之大。事实上,虽然在互联网上网站无处不在,而做出一个让人心动的的网站却并非易事,专业设计师对网页设计大概需要这个几个过程。
确定网站目标
一个网站拿起来不加思考就去做是不可取的,首先你要确定要做一个什么样的网站,这个网站最早是由用户提出来,他们会根据同行网站或者一些看起来不错的网站做参考。
如果对于用户这样的要求,百分之百的照搬,那么做出的网站四平八稳,无可挑剔,但是不过是百花丛中的一朵而已,根本没有什么鲜亮之处。
好的网站,应该这样,有用户的希望,也有网站设计自己的技术在内,在二者之间,达到一个平衡点,让对方满意,又显示出了网站建设公司高超的设计技术。
做到这一点,也不是太难的事情,确定网站目标,静下心思考,有了方向,然后进入下一步。
绘制草稿
网站是一门技术,把抽象的东西变成现实的概念,也许在心中有了网站的大概影子,进行具体设计的时候,并非事事如意,毕竟网站设计语言和想象中的完全是两码事,而且各自在心中会有不同的构思图,有时候,和用户之前的沟通,语言和草稿比较,前者可能耗费时间,而且越解释越乱,相对草稿更有说服力,而且绘制草稿,就等于构建大的框架结构,这一个过程,是落实到网站建设最为重要的一步。
分阶段做网站设计
越是庞大的网站,设计局越复杂,而有效保证网站设计质量的一个好方法,那就是分段进行,把看似庞大的设计,分割成不同的小段,然后一个一个完成,或者是分工给不同的团队,这样既加快了网站建设速度,也能保证把最擅长的表现出来。
分阶段设计,可以这样理解,对于简单的网站来说,我们可以通过草图,构建网站整体设计思路,当用户对这个比较满意的时候,也许有些人说,这也需要用户参与,显得有一些被动,不过,每一个阶段都让用户看到,这样可以避免在初期阶段设计思路与用户期望产生分歧,从而导致最后的纠纷,发现越早,损失越小。有时候在设计之外的争吵比设计之内更让人心焦。
当双方满意之后,可以按照这个草图进行延伸拓展,然后通过图片、视频、文字进行添枝加叶,这是以逐渐完善的阶段,一个像样的网站已经跃然眼前。
当网站基本落成之后,还需要最为重要的一步,就像一篇文章写完之后,需要重新复核一下,看段落、语句有没有问题,有没有错别字,也许对自己的技术是自信的,但是往往一些低级的错误,会瞬间陷入困境之中,完善网站设计,这是一个重要的步骤。
善于倾听
网站已经落地为安了,基本上就算完工了,而加上善于倾听,则是最为中肯忠告,在整个网站设计中,占据主导地位的是设计者,为了设计一个惊艳的作品,他们不希望受到外界的干扰,但是那是艺术,不是用来营销的网站。
所以,网站制作过程中,停下来,听听各方的声音,取长补短,群体智慧,总会发现短处,当然,这个过程是没有必要盲目执行,而是有一个判断力,看看对方说的是否真的有意义,善于吸收,善于总结,敢于拒绝,经过这个过程设计出的网站更显得独具一格。
一个惊艳的网站设计,经历了波折,也许更能打动人,当然,最为重要的是,大多数的网站都是在无风无浪中设计出来的,那么,保持高水准的设计,还有一个好方法,那就是适当休息一下,慢工出细活,这也是一个诀窍!
百度竞价关键词出价技巧有哪些?
一、关键词出价策略百度竞价推广中,根据不同的产品、不同地域的消费水平,我们可以通过调整关键词出价的方式进行控制成本。1、对于竞争激烈的词我们可以将价格调低一些,比如原本是10元...
网站标题和关键词的关系是什么?
网站的标题就是用户搜索的词汇或者短语。在搜索引擎中,一个页面通常由两个部分组成:网页主体(即内容)与链接指向的部分。而这两个部分是相互的。那么如何让这两部分的权重都提升呢?这就...
seo短视频优化攻略
一、短视频优化攻略之标题:标题是吸引用户的关键因素,所以一定要重视起来。1、关键词的选取短视频内容中要包含有用户搜索词,并且这个关键词在标题中出现的频次要高。2、内容的布局围绕...
企业网站如何快速被搜索引擎收录
对SEO推广很多人并不陌生,很多站长遇到类似的问题,就是网站的排名没有,特别是一个刚刚接手的新站,网站排名都没有。因此,要怎样才可实现新站排名和收录增长?下面小编将与大家分享下...
企业网站制作需要做策划方案吗?
移动互联网的快速发展,手机网站在近几年也开始赶上潮流了。企业为跟上时代的步伐,也为自己建设手机网站,主要的目的是可以通过手机网站让更多人知道企业,提高企业的知名度。任何事情前都...
延伸阅读
为网页设计师准备的10个在线的HTML5设计工具
1) Google – Web Designer
2) SpriteBox
3) Xray
4) Chrome – Ajax Animation
一个 HTML5 的强大的基于 Web 的动画套件,原本是考虑作为可在线使用的 Flash 替代品,但目前其已经完全支持离线模式。
5) Wix
6) Dunked
7) HTML5 Audio Maker
8) Speakker
9) Sketchtoy
10) SVG to Canvas
今天关于网页设计师如何向客户推销设计理念和网页设计师如何向客户推销设计理念呢的分享就到这里,希望大家有所收获,若想了解更多关于3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念、【译】向客户推销响应式设计、专业设计师对网页设计的思考、为网页设计师准备的10个在线的HTML5设计工具等相关知识,可以在本站进行查询。
如果您想了解为宣传和推销自己的品牌,特别推荐个人独立博客制作方法的相关知识,那么本文是一篇不可错过的文章,我们将对为宣传推广业务和产品而举办的产品推介会进行全面详尽的解释,并且为您提供关于BlogHub 上线了,开源独立博客推荐站,一起来发现更多有趣的灵魂、hexo实战:(二)个人独立博客豪华装修合集、Oracle体系结构详解,转载文章,个人觉得写得简洁易懂,特别推荐、SAE/CloudFoundry 个人独立博客Blog4j 发布的有价值的信息。
本文目录一览:- 为宣传和推销自己的品牌,特别推荐个人独立博客制作方法(为宣传推广业务和产品而举办的产品推介会)
- BlogHub 上线了,开源独立博客推荐站,一起来发现更多有趣的灵魂
- hexo实战:(二)个人独立博客豪华装修合集
- Oracle体系结构详解,转载文章,个人觉得写得简洁易懂,特别推荐
- SAE/CloudFoundry 个人独立博客Blog4j 发布
为宣传和推销自己的品牌,特别推荐个人独立博客制作方法(为宣传推广业务和产品而举办的产品推介会)
在媒体时代,每个人都想宣传自己,推销自己的品牌。在平台上,平台会倒塌;在平台上,平台赚的比你多。很多人决定不依靠平台独立运作。独立博客的负担越来越重。本文将为自主品牌新手分享“如何打造独立博客”,宣传推广自己的产品和服务,逐步开拓和拓展品牌市场……
独立博客制作方法
百度搜索了一些博客制作软件,博客制作教程相关的站点,编辑们没有仔细检查过博客制作软件所说的内容,因为博客制作软件对于这篇文章的撰写没有任何意义,如果是ftp软件的上传程序,就不可能通过这个关键词进行搜索。独立博客制作教程,方法是一个内容,具体描述如下:
1、注册博客域名。
从广域网等租赁网站购买域名,使用com作为后缀。域名使用自己的品牌词或与网站主题相关的关键词。拼写短,缩写长。简而言之,当你一眼看到域名时,知道什么是博客。
2、租用博客空间。
阿里云可以租一台虚拟主机,独立IP的正常价格约为300元,在共享IP活动期间仅需几元,可以根据需要进行选择。有文件压缩、解压、301、404、默认首页等操作,一般的网页空间500m-800足以供博客使用,以后可以根据实际情况进行替换。
3、上传博客程序。
主流博客程序,如wp和emlog,选择相应的ftp工具上传。可以在后台选择和替换主题模板。它们是免费的。充电时间长,功能齐全。
4、优化和调整程序代码、内容和图片。
上传程序后,需要对原始代码进行简化和静态处理,删除一些广告内容,删除冗余目录以进行代码优化。同时对应博客logo和图片的替换,都被自己制作的好图片所替代。
5、发布博客文章。
优帮云认为自品牌自主博客推广以来,大多以文本为基础,将自己的观点表达出来,浏览到相应的目标群体,引起共鸣,粉丝是品牌推广的核心目标,只有大量的用户,才能得到更多的转化。
6、搜索引擎优化博客。
SEO博客,主要是优化博客,内外兼备。文章质量的内部控制,内部链接,外部链注重高平台,相关性强。很多方法只是听和说,没有实际的实践,所以没有发言权,只有在内容上才能说清淡、质和量。质量如何?如何测量?只有一句话:多读书,多写字,多压迫自己,少写字,然后关上门写字。写不出来?明天将没有食物。看看你能不能把它写出来。
这些是个人如何创建独立博客的方法和过程。在来自媒体的路上,你过去做搬运工赚钱。现在你必须把其他的技术和想法转移到你的头脑中去赚钱。如果你不能移动它们,你就不必赚钱,诚实地去工作。
BlogHub 上线了,开源独立博客推荐站,一起来发现更多有趣的灵魂
缘起
离我在 2013 年第一次搭建博客已经过了好多年了,但惭愧的是这两年才开始认真写博客, 不久前我终于开发了自己的独立博客 Shidenggui''s Blog。
在维护博客的过程中,我认识了很多朋友,每次偶遇他人的博文,有时觉得原来世界上竟有人可以这样生活、 原来有人跟我的想法那么接近。
我常常想,那么多有趣、好玩的独立博客,该如何被我们发现呢?这就是 BlogHub 的起源。
诞生
灵感的火花
最近一段时间,独立开发者社区的小伙伴群里都在讨论独立博客的种种痛点,包括图床、评论、访问速度、流量等问题。而此时我正好开发完自己的博客,苦恼于搜索引擎的收录和宣传,也在和认识的小伙伴们交换友链。在这个过程中,我认识了很多新朋友,也发现原来还有那么多有意思的独立博客,以前的我竟一无所知。
付诸行动
在中文互联网质量不断下滑、越加封闭的现在,仅存的独立博主们依旧保持着互联网最开始的开放、自由的精神,默默产出高质量的思考,有没有可能做一个中文独立博客聚合站,聚合大家的文章,让大家有机会发现更多有趣的博主,认识更多的朋友呢?
在一开始我非常幸运的发现了 timqian 维护的 chinese-independent-blogs 项目, 这样初期数据源问题就解决了。
而去过我博客的朋友会发现,BlogHub 的样式跟我的博客网站很像。 这不是偶然,一开始为了开发速度,复用了我的博客 90% 的代码。整体基于 Javascript,采用了 Nextjs 和 Nestjs 以及 GraphQL。
最后就是起名了,不久前知道了 DIYgod 的 RSSHub,非常喜欢 Hub 这个单词所代表的的互联互通之意,BlogHub 因此诞生了
在购买域名的过程中,幸运的发现了 .fun 后缀。选择开源,选择聚合独立博客,不就是为了认识更多朋友、有更多的小伙伴一起来玩,在这个过程中享受乐趣吗?
因为上面几点的帮助,所以仅仅开发了不到一周,bloghub.fun 就上线了。
希望
「子曰:有朋自远方来,不亦说乎」
希望 BlogHub 也能让大家发现更多有趣的灵魂,结交更多的朋友。
尾声
bloghub 项目初级雏形,后面还有很多需要改善的地方,代码开源在github.com/shidenggui/bloghub
对此有兴趣的朋友可以加入Telegram 群组 · 微信群组 ,一起来交流。
文章首发于公众号 「食灯鬼」及个人博客 shidenggui.com
hexo实战:(二)个人独立博客豪华装修合集
前言
上次介绍了使用 Hexo+GitHub Pages,零成本搭建一个专属自己的独立博客网站。我觉得那篇文章是没有入门门槛的,不管你是什么行业,只要想打造个人 IP,又不太想受博客平台约束,那么读完后动手操作一下也能轻松完成。
而这次呢,上篇也说了 Hexo 会出三篇内容,这里就要在前者基础上做进一步升级,将完成下面七个主要的博客常用功能。
指标
- Hexo 如何安装 Butterfly 主题并配置?
- Hexo 如何创建页面和添加文章?
- Hexo 如何添加第三方评论系统?
- Butterfly 主题如何添加站内搜索?
- Butterfly 主题如何添加百度统计?
- Butterfly 主题如何添加文章置顶功能?
- Butterfly 主题如何配置 RSS 和 404 页面?
- 如何配合 Typora 完成 md 的同步与本地备份?
主题添加与配置
Hexo 官网专门有一个栏目的主题列表,这里我选的 “butterfly”,首先拉取主题代码到 themes 目录下,然后在 Hexo 的配置中启动主题。
拉取主题包
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
启动主题
theme: butterfly
基础配置
基础配置主要是设置网站的标题、描述、SEO、菜单等项,下面我就列出 hexo 的 config(根目录下_config.yml),和主题 Butterfly 的 config(themes 的 Butterfly 下_config.yml),并注释相关项的简介仅供参考。
hexo_config.yml
title: ZERO开发 #网站标题
subtitle: 一个独立开发者的博客 #网站副标题
description: 公众号:ZERO开发 #网站描述
keywords: 技术博客、独立开发者、PHP开发、Pthon开发、人工智能、物联网、游戏开发
author: 北桥苏 #您的名字
language: zh-CN #网站使用的语言
timezone: #网站时区。Hexo 默认使用您电脑的时区
# URL 网址
## 如果您的网站存放在子目录中,
## 例如 http://yoursite.com/blog,则请将您的 url
## 设为 http://yoursite.com/blog 并把 root 设为 /blog/。
url: http://z11r00.github.io
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
# Directory 目录配置
source_dir: source #源文件夹,这个文件夹用来存放内容。
public_dir: public #公共文件夹,这个文件夹用于存放生成的站点文件。
tag_dir: tags #标签文件夹
archive_dir: archives #归档文件夹
category_dir: categories #分类文件夹
code_dir: downloads/code #nclude code 文件夹
i18n_dir: :lang #国际化(i18n)文件夹
skip_render: #跳过指定文件的渲染,您可使用 glob 表达式来匹配路径。
# Writing 文章
new_post_name: :title.md # 新建文章默认文件名
default_layout: post # 默认布局
titlecase: false # Transform title into titlecase
external_link: true # 在新标签中打开一个外部链接,默认为true
filename_case: 0 #转换文件名,1代表小写;2代表大写;默认为0,意思就是创建文章的时候,是否自动帮你转换文件名,默认就行,意义不大。
render_drafts: false #是否渲染_drafts目录下的文章,默认为false
post_asset_folder: false #启动 Asset 文件夹
relative_link: false #把链接改为与根目录的相对位址,默认false
future: true #显示未来的文章,默认false
syntax_highlighter: highlight.js
highlight: #代码块的设置
enable: true
line_number: true
auto_detect: false
tab_replace:
prismjs:
preprocess: true
line_number: true
tab_replace: ''''
# Category & Tag 分类和标签的设置
default_category: uncategorized #默认分类
category_map: #分类别名
tag_map: #标签别名
# 全局日期格式化
date_format: YYYY-MM-DD
time_format: HH:mm:ss
updated_option: ''mtime''
pagination_dir: page #分页目录
## 插件index,用于显示分页和排序配置
index_generator:
path: ''''
per_page: 5 # 0.关闭分页功能 >0.每页条数
order_by:
top: -1 # 置顶排序: -1.倒序 1.正序
date: -1 # 日期排序: -1.倒序 1.正序
# 主题启动配置
theme: butterfly
# Deployment github部署配置
deploy:
type: git
repository: https://github.com/z11r00/z11r00.github.io
branch: main
##hexo-generator-search搜索插件配置
search:
path: search.xml
field: post
format: html
limit: 10000
## rss配置
feed:
type: atom
path: atom.xml
limit: 20
## rss位置
rss: /atom.xml
hexo_butterfly_config.yml
nav:
logo: /img/logo.png # 导航栏左侧LOGO
display_title: true
fixed: true # 是否置顶导航栏
## 菜单图标配置
Home: / || fas fa-home
Archives: /archives/ || fas fa-archive
Tags: /tags/ || fas fa-tags
Categories: /categories/ || fas fa-folder-open
List||fas fa-list:
Music: /music/ || fas fa-music
Movie: /movies/ || fas fa-video
Link: /link/ || fas fa-link
About: /about/ || fas fa-heart
# Menu 菜单跳转配置
menu:
首页: / || fas fa-home
时间轴: /archives/ || fas fa-archive
标签: /tags/ || fas fa-tags
分类: /categories/ || fas fa-folder-open
#清单||fa fa-heartbeat:
#音乐: /music/ || fas fa-music
#照片: /Gallery/ || fas fa-images
#电影: /movies/ || fas fa-video
友链: /link/ || fas fa-link
关于: /about/ || fas fa-heart
# Code Blocks (代碼相關)
# --------------------------------------
highlight_theme: light # darker / pale night / light / ocean / mac / mac light / false
highlight_copy: true # copy button
highlight_lang: true # show the code language
highlight_shrink: false # true: shrink the code blocks / false: expand the code blocks | none: expand code blocks and hide the button
highlight_height_limit: false # unit: px
code_word_wrap: false # 代码是否自动换行
# Social Settings (社交圖標設置)
social:
fab fa-github: https://github.com/z11r00 || Github || ''#24292e''
fas fa-envelope: 2652364582@qq.com || Email || ''#4a7dbe''
fas fa-rss: /atom.xml || RSS
# Image (圖片設置)
# --------------------------------------
# Favicon(網站圖標)
favicon: /img/favicon.png
# Avatar (頭像)
avatar:
img: /img/avatar.png
effect: false
# 是否禁用所有跳转页的顶部图片
disable_top_img: true
# 首页图
index_img: /img/index_img.jpg
# 所有页面的默认顶部图
default_top_img: /img/default_top_img.jpeg
# 归档(时间线)页面顶部图
archive_img: /img/archive_img.jpg
# 标签页面顶部图
tag_img:
# The banner image of tag page
# format:
# - tag name: xxxxx
tag_per_img:
# 分类页面顶部图
category_img:
# The banner image of category page
# format:
# - category name: xxxxx
category_per_img:
## 封面配置
cover:
# display the cover or not (是否顯示文章封面)
index_enable: true
aside_enable: true
archives_enable: true
# the position of cover in home page (封面顯示的位置)
# left/right/both
position: both
(當沒有設置cover時,默認的封面顯示)
default_cover:
- https://i.loli.net/2020/05/01/gkihqEjXxJ5UZ1C.jpg
# Replace Broken Images (替換無法顯示的圖片)
error_img:
flink: /img/friend_404.gif
post_page: /img/404.jpg
# 404 页面配置
error_404:
enable: true
subtitle: ''Page Not Found''
background: /img/404.jpg
## 文章配置
post_meta:
page: # Home Page
date_type: created # created or updated or both 主頁文章日期是創建日或者更新日或都顯示
date_format: date # date/relative 顯示日期還是相對日期
categories: true # true or false 主頁是否顯示分類
tags: false # true or false 主頁是否顯示標籤
label: true # true or false 顯示描述性文字
post:
date_type: both # created or updated or both 文章頁日期是創建日或者更新日或都顯示
date_format: date # date/relative 顯示日期還是相對日期
categories: true # true or false 文章頁是否顯示分類
tags: true # true or false 文章頁是否顯示標籤
label: true # true or false 顯示描述性文字
# 锚点配置
anchor:
# when you scroll, the URL will update according to header id.
auto_update: false
# Click the headline to scroll and update the anchor
click_to_scroll: false
# figcaption (圖片描述文字)
photofigcaption: false
# 复制功能的配置
# copyright: Add the copyright information after copied content (複製的內容後面加上版權信息)
copy:
enable: true # 是否开启网站复制权限
copyright:
enable: false # 是否开启复制版权信息添加
limit_count: 50 # 字数限制,当复制文字大于这个字数限制时,将在复制的内容后面加上版权信息
# Post
# --------------------------------------
# toc (文章的目錄配置)
toc:
post: true
page: false
number: true
expand: false
style_simple: false
scroll_percent: true
# 文章版权设置
post_copyright:
enable: true
decode: false
author_href:
license: CC BY-NC-SA 4.0
license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/
# Sponsor/reward 文章打赏
reward:
enable: true
text: 打赏一下~
QR_code:
- img: /img/qrcode/wechat_trade.jpg
link:
text: 微信
- img: /img/qrcode/alipay_trade.jpg
link:
text: 支付宝
# 文章编辑器配置
# Easily browse and edit blog source code online.
post_edit:
enable: false
# url: https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name/
# For example: https://github.com/jerryc127/butterfly.js.org/edit/main/source/
url:
# 文章推荐配置
related_post:
enable: true
limit: 6 # Number of posts displayed
date_type: created # or created or updated 文章日期顯示創建日或者更新日
# post_pagination (分頁)
# value: 1 || 2 || false
# 1: The ''next post'' will link to old post
# 2: The ''next post'' will link to new post
# false: disable pagination
post_pagination: 1
# Displays outdated notice for a post (文章過期提醒)
noticeOutdate:
enable: false
style: flat # style: simple/flat
limit_day: 500 # When will it be shown
position: top # position: top/bottom
message_prev: It has been
message_next: days since the last update, the content of the article may be outdated.
# Footer Settings(页尾设置)
# --------------------------------------
footer:
owner:
enable: true
since: 2017
custom_text: Copyright© ZERO开发-独立开发者的日常总结<br/><a href="https://beian.miit.gov.cn/" target="_blank">赣ICP备16002525号-1</a>
# copyright: true # Copyright of theme and framework
copyright: false
# aside (側邊欄)
# --------------------------------------
aside:
enable: true
hide: false
button: true
mobile: true # display on mobile
position: left # left or right
display:
archive: true
tag: true
category: true
card_author:
enable: true
description:
button:
enable: true
icon: fas fa-video
text: 关注我
link: https://space.bilibili.com/286666708/
card_announcement:
enable: true
content: 微信公众号:ZERO开发,致力于为猿友们提供有价值的内容
card_recent_post:
enable: true
limit: 5 # if set 0 will show all
sort: date # date or updated
sort_order: # Don''t modify the setting unless you know how it works
card_categories:
enable: true
limit: 8 # if set 0 will show all
expand: none # none/true/false
sort_order: # Don''t modify the setting unless you know how it works
card_tags:
enable: true
limit: 40 # if set 0 will show all
color: false
orderby: random # Order of tags, random/name/length
order: 1 # Sort of order. 1, asc for ascending; -1, desc for descending
sort_order: # Don''t modify the setting unless you know how it works
card_archives:
enable: true
type: monthly # yearly or monthly
format: MMMM YYYY # eg: YYYY年MM月
order: -1 # Sort of order. 1, asc for ascending; -1, desc for descending
limit: 8 # if set 0 will show all
sort_order: # Don''t modify the setting unless you know how it works
card_webinfo:
enable: true
post_count: true
last_push_date: true
sort_order: # Don''t modify the setting unless you know how it works
card_post_series:
enable: true
series_title: false # The title shows the series name
orderBy: ''date'' # Order by title or date
order: -1 # Sort of order. 1, asc for ascending; -1, desc for descending
# busuanzi count for PV / UV in site
# 訪問人數
busuanzi:
site_uv: true
site_pv: true
page_pv: true
# Time difference between publish date and now (網頁運行時間)
# Formal: Month/Day/Year Time or Year/Month/Day Time
runtimeshow:
enable: false
publish_date:
# Aside widget - 最新评论
newest_comments:
enable: true
sort_order: # Don''t modify the setting unless you know how it works
limit: 6
storage: 10 # unit: mins, save data to localStorage
avatar: true
# Bottom right button (右下角按鈕)
# --------------------------------------
# Conversion between Traditional and Simplified Chinese (簡繁轉換)
translate:
enable: false
# The text of a button
default: 繁
# the language of website (1 - Traditional Chinese/ 2 - Simplified Chinese)
defaultEncoding: 2
# Time delay
translateDelay: 0
# The text of the button when the language is Simplified Chinese
msgToTraditionalChinese: ''繁''
# The text of the button when the language is Traditional Chinese
msgToSimplifiedChinese: ''簡''
# Read Mode (閲讀模式)
readmode: true
# Local search (hexo-generator-search创建搜索)
local_search:
enable: true
# Preload the search data when the page loads.
preload: false
# Show top n results per article, show all results by setting to -1
top_n_per_article: 1
# Unescape html strings to the readable one.
unescape: false
CDN:
# Docsearch
docsearch:
enable: false
appId:
apiKey:
indexName:
option:
# Share System (分享)
# --------------------------------------
# Share.js
# https://github.com/overtrue/share.js
sharejs:
enable: true
sites: weibo,wechat,qq,facebook,twitter
# AddToAny
# https://www.addtoany.com/
addtoany:
enable: false
item: facebook,twitter,wechat,sina_weibo,facebook_messenger,email,copy_link
# Comments System (评论系统)
# --------------------------------------
# 评论配置
comments:
# Up to two comments system, the first will be shown as default
# Choose: Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Twikoo/Giscus/Remark42/Artalk
use: gitalk # Valine,Disqus
text: true # Display the comment name next to the button
# lazyload: The comment system will be load when comment element enters the browser''s viewport.
# If you set it to true, the comment count will be invalid
lazyload: true
count: false # Display comment count in post''s top_img
card_post_count: false # Display comment count in Home Page
# disqus
# https://disqus.com/
disqus:
shortname:
apikey: # For newest comments widget
# Alternative Disqus - Render comments with Disqus API
# DisqusJS 評論系統,可以實現在網路審查地區載入 Disqus 評論列表,兼容原版
# https://github.com/SukkaW/DisqusJS
disqusjs:
shortname:
apikey:
option:
# livere (來必力)
# https://www.livere.com/
livere:
uid:
# gitalk
# https://github.com/gitalk/gitalk
gitalk:
client_id: Ov23…………1C6fM
client_secret: 4304…………44433f77352
repo: z11r00.github.io
owner: z11r00
admin: z11r00
option:
# Analysis (第三方统计配置)
# --------------------------------------
# Baidu Analytics
# https://tongji.baidu.com/web/welcome/login
baidu_analytics: 74270…………………………………………
# Advertisement
# --------------------------------------
# Google Adsense (谷歌廣告)
google_adsense:
enable: false
auto_ads: true
js: https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js
client:
enable_page_level_ads: true
# Verification (站長驗證)
# --------------------------------------
site_verification:
# - name: google-site-verification
# content: xxxxxx
# - name: baidu-site-verification
# content: xxxxxxx
创建菜单页面
页面包括标签页(tags)、分类页(categories)、友链页(link)、关于页(about),当然也可以自行添加,比如音乐电影之类。不过添加这种页面方式都大同小异,以下以标签页举例。
运行命令
hexo new page tags
编辑 MD
运行命令后,会在 source 下根据 butterfly 模板生成对应的 md 文件,tags 就是 tags,不过要将 md 文件的 type 修改为对应的类型,类型见上。
title: 标签页
date: 2024-05-02 21:01:24
type: "tags"
Page(页面)front-matter
title: 页面名称
date: 创建日期
type: (tags,link,categories这三个页面需要配置)
comments: (是否需要显示评论,默认true)
description: 用于SEO优化
top_img: (设置顶部图)
mathjax: (数学公式显示是否支持)
katex: (Tex公式显示是否支持)
创建文章写文章,可以通过命令创建,也可以在 source/_posts 目录下,自行新建 markedown 文件,因为命令也是在_posts 文件夹下新建。运行命令hexo new "文章的大标题"
Post(文章)front-mattertitle: CentOS7下Tomcat启动慢的原因及解决方案
date: 2017-12-02 21:01:24
description:文章描述,用于做SEO优化的
keywords: 文章SEO关键词
top_img: 文章顶部图
cover: 文章缩略图(封面图)
toc: true (是否显示文章目录)
toc_number: true (是否显示文章目录的标识数字)
copyright: true (是否显示版权)
mathjax: (数学公式显示是否支持)
katex: (Tex公式显示是否支持)
hide: false (是否隐藏当前文章)
comments: true #是否可评论
toc: true #是否显示文章目录
categories: "云服务器" #分类
tags: #标签
- centOS
- tomcat
站内搜索添加
站内搜索,我是采用的 hexo-generator-search 插件解决方案,安装完插件,然后配置一下,最后用 hexo 清理再生成一下全站静态,同时在根目录也会生成一个 search.xml,用于做字符串模糊匹配的。
插件安装
npm install hexo-generator-search --save
添加或配置
-config(hexo配置)
search:
path: search.xml
field: post
format: html
limit: 10000
-butterfly-config(butterfly主题配置)
local_search:
enable: true
preload: false
CDN:
清理与生成
hexo clean && hexo g
评论系统添加
第三方评论系统我这里使用的是 Gitalk ,Gitalk 是一个基于 GitHub Issue 和 Preact 开发的评论插件。使用 GitHub 登陆,能支持多国语言,至于他的原理,其他博主有介绍。这里就不展开了,如果有时间以后可能会整体介绍一下常用的第三方评论系统,因为我还是希望评论能支持多种方式登陆的,目前没有找到合适的就先选择 Gitalk。
注册应用账号
获取参数
注册成功后拿到 “Client ID” 和 “Client secrets”(点击生成再复制),其中注意的是 Homepage URL 要设置为 用户名.github.io 精确到 https 的地址。Authorization callback URL 填写注册的域名,如果绑定了个性化域名就填自己的域名,也是要精确到 https 的位置。
修改 Butterfly 配置
打开 butterfly 主题的配置文件,第一个找到 “gitalk” 项,将上面复制的 client id 和 client secrets 粘贴。第二个找到 “comments”,将 use 配置为 "gitalk",当然也可以用 valine、Disqus 之类的第三方评论系统。
comments:
use: # 使用的第三方评论系统名称
text: true # 是否在按钮旁显示评论名称
# If you set it to true, the comment count will be invalid
lazyload: false # 是否设置评论窗为懒加载
count: true # 是否设置评论数统计
card_post_count: true # 是否将评论数显示到首页
gitalk:
client_id: # github应用ID
client_secret: # github应用密钥
repo: 用户名.github.io
owner: 用户名
admin: 用户名
博客仓库设置
进入仓库,点击 “Settings”,找到 “Features”, 将 “Issues” 勾选。
文章置顶功能添加
打开 hexo 配置文件 _config.yml,如果前面有 per_page 的关闭,使用的是 hexo-generator-index 插件排序,可以自定义序号和日期排序。如何要置顶文章,只需在文章 md 的 front-matter 里添加一个 top 参数,数值自定。文章列表会出现一个钉子图标,要看到效果则要 hexo 先清理再生成。
添加配置
index_generator:
path: ''''
per_page: 5 # 每页条数
order_by:
top: -1 # 置顶: -1.倒序 1.顺序
date: -1 # 日期: -1.倒序 1.顺序
md 文章设置
清理与生成
hexo clean && hexo g
RSS 配置
对于 RSS 输出功能,需要安装 hexo-generator-feed 插件。最后使用 hexo 清理再生成,博客根目录就会生成 atom.xml
插件安装
npm install hexo-generator-feed --save
添加配置
feed:
type: atom
path: atom.xml
limit: 20
设置 RSS 地址
rss: /atom.xml
设置 404 页面
在 hexo 的_config.yml 找到或添加 error_404,设置开启,分别添加标题和背景图。
error_404:
enable: true
subtitle: ''Page Not Found''
background: /img/404.jpg
添加百度统计
先登陆或注册百度统计平台,找到 “使用设置” -> “代码获取” -> “新版统计代码获取”,然后会看到一段 js 代码,只需要复制如下的一个 32 位长度的字符串。最后将该字符串粘贴到 butterfly 的 config.yml 中的 baidu_analytics 中,部署后一天就可以在后台查看统计报表了。
MarketDown 用法
关于新建的文章,我希望本地能备份一份,有 md 文件和图片,方便上传到其他平台博客。那要怎么做呢,这里我用一个免费的 md 工具 ——Typora 为例。
创建文件和文件夹
创建一个以文章标题的文件夹,里面再分别创建一 img 文件夹和同文章标题的 md 文件,img 下再创建一个与文章标题同名的文件夹。
Typora 设置
依次找到 “文件” -> “偏好设置” -> "图像" , 将插入图片时的下拉选中 “复制到指定路径”,填入下面的值。./img/${filename}/
第二步找到 “格式” -> "图像" -> “设置图片根目录”,选择 markdown 文件同级的目录,最后复制图片时就会复制到 img 下的文章同名目录下。
为什么要这样设置?因为 Hexo 的图片在打包前都是在主题包 /source/img 里,而为了方便本地能按文章存储,也方便将本地的文章图片直接丢到 img 下,然后 md 文件放到_post 中。打包之后就能以仓库图片展示,而且按文章分类存储,以后删除起来也一目了然。
写在最后
这次的优化看起来好像是面面俱到了,但其实关于 Hexo 主题还有更细节的处理。比如可以添加博客看板精灵,酷炫的动态大背景,还有鼠标跟随或点击特效等等。但是我这博客目前定位主要以内容为主,所以暂时就就演示了,当然,如果有用户喜欢也可以马上加上去的。最后呢,就是三部曲的第二篇结束了,那下次就自然地要开始进入 Hexo 章最后一篇。现在是计划介绍一下怎么让博客被各大搜索引擎收录,以及一些推广心得等等。具体的详细内容未定,更新时间也还不知道,因为在等我那个小游戏的软著下来,下来后我一定要好好写一篇软著申请避坑的文章,可实在是太难等了!(我是一个持续摸索个人副业的普通程序员,关注我,和你一起探索更多可能。——ZERO 开发)
Oracle体系结构详解,转载文章,个人觉得写得简洁易懂,特别推荐
转载文章,个人觉得写得简洁易懂,特别推荐
原文地址:http://www.cnblogs.com/chengxiao/p/5904783.html
Oracle体系结构详解
对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的。同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专业人员来讲,这些都是必备知识了),一般的技术人员如果对其有较深入的了解,也是大有益处的,毕竟技术思想很多时候都是相通的嘛。本文就从不同维度,如Oracle的内存结构,进程结构,存储结构等方面做相应描述。
目录
一、什么是Oracle数据库?
二、交互流程
三、实例内存结构和进程结构
四、Oracle存储结构
五、总结
首先我们来说说基础的概念吧
一、什么是Oracle数据库?
众所周知,Oracle DataBase是一款关系型数据库管理系统(不了解何谓关系型数据库的童鞋自行google,baidu),同类的产品还有mySql,sqlServer等,很多时候,我们会把那个承载我们核心数据的系统笼统地成为数据库服务器,但从严格意义上来讲Oracle DataBase是由两个部分组成:
实例:实例是数据库启动时初始化的一组进程和内存结构
数据库:数据库则指的是用户存储数据的一些物理文件
正因为如此我们一般才会说 关闭和启动实例,加载卸载数据库,就是这个道理。
从实例和数据库的概念上来看,我们能知道,实例暂时的,它不过是一组逻辑划分的内存结构和进程结构,它会随着数据库的关闭而消失,而数据库它其实就是一堆物理文件(控制文件,数据文件,日志文件等等),它是永久存在的(除非磁盘损坏)。数据库和实例通常是一对一的,这种结构我们成为单实例体系结构;当然还有一些复杂的分布式的结构,一个数据库可以对多个实例,像Oracle的RAC(有兴趣的童鞋可以了解下)。
二、交互流程
下面是从网上找的一张图,描述了单实例体系结构大致的交互流程
1.用户和用户进程交互
用户进程可以是一般的客户端软件,像Oracle的sqlplus,sql developer,或者是一些驱动程序等等都属于用户进程。
2.用户进程和服务器进程交互
服务器进程有时会称为前台进程,当然是相对于后台进程(后面会提到的数据库写入器,日志写入器等)来说的,服务器进程的主要作用就是处理连接到当前实例的用户进程的请求,对客户端发来的sql进行执行并返回执行结果。在专有服务器结构中,用户进程和服务器进程是一对一的,也就是说,当监听程序监听到客户端来了一个请求,会为其分配一个对应的服务器进程。还有一种结构为共享服务器,这种结构就不是一个用户进程对应一个服务器进程了,会通过调度程序进行协调处理,关于共享服务器连接,本文就不在赘述了。
3.服务器进程和实例进程交互
4.实例和数据库进程交互
上面描述了一些我们在进行数据库连接操作的时候,大致的交互流程是什么样的。下面,我们就来看看Oracle 的实例内存结构
三、实例内存结构和进程结构
(由于内存结构和进程结构关系较紧密,进程会作用到对应的内存区域,比如数据库写入器作用到数据库缓冲区缓存中,日志写入器会作用到日志缓冲区,所以内存结构和进程结构会相互配合地进行描述)
oracle实例内存结构由两部分组成SGA(系统全局区)和PGA(用户全局区)组成,SGA是一块共享的内存区域,也是最大的一块内存区域;PGA则是用户会话专有的内存区域,每个会话在服务器端都有一块专有的内存区域就是PGA。本文主要对SGA进行分析描述。SGA组成如下
数据库缓冲区缓存&数据库写入器
缓冲区缓存 是Oracle用来执行sql 的工作区域,在更新数据时,用户会话不会直接去更新磁盘上的数据,想想,如果允许这么做,那么频繁的磁盘IO对于系统性能的影响是毁灭性的。所以,实际的处理流程是这样的:
1 |
|
我们来看这么一条简单的查询语句,oracle是如何处理的。首先,当用户提交了该条sql语句,由对应的用户进程(比如我们常用的sql developer)将其发送给服务器,监听程序监听到该条请求,会为其建立一个对应的服务器进程,然后服务器进程会先扫描缓冲区中有没有包含关键行("东方不败")的数据块,如果有,这就算一次缓存命中了,然后相关行会传输到PGA进行进一步处理,最终经过格式化后展示给用户;如果没有命中,那么服务器进程会首先将对应行复制到缓冲区内,然后再返回给客户端。
DML(insert,update,delete)操作同理,加入用户发送一条update语句,服务进程依然先去扫描缓冲区,如果缓存命中,则直接更新,数据变脏;如果没有命中,由服务器进程将对应数据块先从磁盘上复制到缓冲区内,再进行更新操作。
脏缓冲区
如果缓冲区存储的块和磁盘上的块不一致,该缓冲区就叫做“脏缓冲区”,脏缓冲区最终会由数据库写入器(DBWn)写入到磁盘中去。
数据库写入器(DBWn)
数据库写入器是Oracle的一个后台进程,所谓后台进程是相对于前台进程(服务器进程)来讲的。DBWn的"n"意味着一个实例是可以有多个数据库写入器的。
作用:简而言之,DBWn的作用就是将变脏了的缓冲区从数据库缓冲区缓存中写入到磁盘中的数据文件中去。
数据库缓冲区缓存这块内存区域和数据库写入器这块是比较重要的概念,别的数据库产品像mySql也都有对应的实现,只不过叫法不一样罢了。了解这块的时候,要时刻意识到会话是不会直接更新磁盘数据的,会话的更新,插入,删除包括查询等都是先作用到缓冲区上,随后,DBWn会将其中的脏缓冲区转储到磁盘上去。
DBWn什么时候写入?
DBWn是个比较懒的进程,它会尽可能少的进行写入,在以下四种情况它会执行写入:
a.没有任何可用缓冲区(不得不写啊)
b.脏缓冲区过多
c.3秒超时(最晚3秒会执行一次写入)
d.遇到检查点,即checkPoint(检查点),检查点是个Oracle事件,遇到检查点,DBWn会执行写入。比如实例有序关闭的时候会有检查点,DBWn会将所有脏缓冲区写入到磁盘上去的,这很容易理解,要保持数据文件的一致性。
注意:
从上述DBWn的几个写入时机,我们能意识到,DBWn的写入不是直接依赖于会话的更新操作的。不是一有脏缓冲区,它就执行写入。而且,DBWn执行写入跟commit操作也没有任何关系,不要以为commit操作的影响结果会实时流入到磁盘中去。
DBWn采用极懒算法进行写入,原因我们应该要清楚:频繁的磁盘IO对系统的压力很大,如果DBWn很积极地去写入磁盘,那对系统性能的影响就太大了,换个角度想,如果DBWn很勤快的写磁盘,那么数据库缓冲区存在的意义也就不大了。
当然,讲到这儿,我们可能会意识到一个问题,DBWn如此懒地进行数据转储,如果在某一时刻,数据库缓冲区缓存内存在着大量的脏缓冲区(生产环境中,这是常态),也就是有大量的未commit和已commit的数据还在内存中,没有持久化到磁盘中,然后突然系统断电了,这种情况下,数据是不是就丢掉了?数据当然不会丢失,这就引出了重做日志(redo log)的概念,接下来,我们就来谈谈对应重做日志的内存结构和后台进程。
日志缓冲区&日志写入器
当我们执行一些DML操作(insert,update,delete),数据块发生改变了,产生的变更向量则会写入到重做日志文件中去。有了这些记录,当系统由于断电等因素突然宕掉,数据库缓冲区缓存内的大量脏数据还没来得及写入到数据文件中去,在重新启动的时候,会有一个实例恢复的过程,在此过程中就应用了重做日志记录来使数据保持一致;或者数据库遭遇了物理损坏,比如磁盘损坏了,此时可以通过Oracle的备份恢复工具(如RMAN)进行数据恢复,原理就是 提取备份集-->应用重做日志文件中的变更记录。
日志缓冲区
日志缓冲区是一块比较小的内存区域,它是用来短期存储将写入到磁盘中的重做日志文件中的变更向量的。
日志缓冲区存在的意义依然是为了减少磁盘IO,减少用户的等待时间,试想下,如果每一次用户DML操作都要进行等待重做记录被写入到磁盘中去,体验会有多差劲。
日志写入器(LGWR)
顾名思义,日志写入器(LGWR)就是把日志缓冲区内的内容写入到磁盘的重做日志文件中去,相比数据库写入器(DBWn),日志写入器就勤快多了。
以下三种情况LGWR会执行写入:
a.commit时写入
前面提过,DBWn的写入和commit没有任何关系,如果commit时数据库没有任何记录,那数据就真的丢失了,Oracle 的重做日志就是为了保证数据安全而存在的,commit时,会话会先挂起,等待LGWR将这些记录写入到磁盘上的重做日志文件中,才会通知用户提交完成。所以,LGWR在commit时执行写入,是为了确保事务永不丢失。
b.日志缓冲区的占用率达到1/3。
c.DBWn要写入脏缓冲区前
这个写入是为了数据回滚考虑的。DBWn完全可能写入还没提交的事务(参照上面提到的写入时机),那如何保证事务回滚呢?
首先要知道,DBWn除了写入实际的数据,还会写入撤销数据(不了解的同学可参考我的另一篇博文中对于撤销段的描述 Oracle闪回技术详解。)简单说,事务回滚需要撤销数据,在写入撤销数据前,会先写入针对撤销数据的日志记录(有点绕),若用户要进行事务回滚,就可以应用这些日志记录来构造撤销数据,然后进行回滚。
我们对这两块最重要的内存区域和对应的后台进程做个总结:
数据库缓冲区缓存和日志缓冲区都是为了提高性能,避免频繁IO而存在的。日志缓冲区相比数据库缓冲区缓存要小的多,并且不能进行自动管理,对于日志缓冲区的修改需要重启实例,数据库缓冲区缓存可进行自动管理。作用在数据库缓冲区缓存上的DBWn进程,为了避免频繁的磁盘IO导致系统性能下降,会尽可能少地执行写入,且DBWn的写入和commit操作没有任何关系;
而作用在日志缓冲区上的LGWR进程,则会非常积极地进行写入,一般情况下,它几乎是实时地将重做日志记录转储到磁盘中去。LGWR是Oracle体系结构中最大的瓶颈之一。DML的速度不可能超过LGWR将变更向量写入磁盘的速度。
我们在来看下其他的内存区域和后台进程
共享池
共享池是最复杂的SGA结构,它有许多子结构,我们来看看常见的几个共享池组件:
1.库缓存:库缓存这块内存区域会按已分析的格式缓存最近执行的代码,这样,同样的sql代码多次执行的时候,就不用重复地去进行代码分析,可以很大程度上提高系统性能。
2.数据字典缓存:存储oracle中的对象定义(表,视图,同义词,索引等数据库对象),这样在分析sql代码的时候,就不用频繁去磁盘上读取数据字典中的数据了
3.PL/SQL区:缓存存储过程、函数、触发器等数据库对象,这些对象都存储在数据字典中,通过将其缓存到内存中,可以在重复调用的时候提高性能。
大池:大池是个可选的内存区域,前面我们提到专有服务器连接和共享服务器连接,如果数据库采用了共享服务器连接模式,则要使用到大池;RMAN(Oracle的高级备份恢复工具)备份数据也需要大池。
JAVA池
Oracle 的很多选项使用java写的,Java池用作实例化Java对象所需的堆空间
流池
从重做日志中提取变更记录的进程 和 应用变更记录的进程会用到流池(如实例不正常关闭,譬如断电导致实例关闭,在重启时,Oracle会自动执行实例恢复过程,在此过程需要提取重做日志记录和应用重做日志两个动作)
以上列举了Oracle常见的内存结构,要注意的是,上面列举的内存区域,除了日志缓冲区是固定的,不能动态调整也不能进行自动管理外,其他内存区域都可以进行动态调整,也可以进行自动管理。
在说说Oracle 的几个后台进程(DBWn和LGWR较重要,前面已做了了解,在此不再赘述)
SMON(System Monitor):安装和打开数据库,实例恢复也是由此进程完成的
PMON(Process Monitor):进程监视器,主要监视服务器进程。前面提到过,专有服务器体系模式下,用户进程和服务器进程是一对一的关系,如果某个会话发生异常,PMON会销毁对应的服务器进程,回滚未提交的事务,并回收会话专有的PGA内存区域。
CKPT(Checkpoint Process):CKPT负责发起检查点信号,手动设置检查点的语法:
1 |
|
检查点可强制DBWn写入脏缓冲区,当数据库崩溃后,由于大量脏缓冲区未写入数据文件,在重新启动时,需要由SMON进行实例恢复,实例恢复需要提取和应用重做日志记录,提取的位置就是从上次检查点发起的位置开始的(检查点之前的数据已经被强制写入到数据文件中去了),这个位置称为RBA(redo byte address),CKPT会不断将这个位置更新到控制文件中去(以确定实例恢复需要从哪儿开始提取日志记录)。
MMON(Manageability Monitor)
数据库的自我监视和自我调整的支持进程。实例在运行中,会收集大量有关实例活动和性能的统计数据,这些数据会收集到SGA中,MMON定期从SGA中捕获这些统计数据,并将其写入到数据字典中,便于后续对这些快照进行分析。(默认情况,MMON每隔一个小时收集一次快照)
ARCn(Archiver)
归档进程,这个进程是可选的,如果数据库配置为归档模式,这个进程就是必须的。所谓归档,就是将重做日志文件永久保存(生产库一般都会配置为归档模式)到归档日志文件中。归档日志文件和重做日志文件作用是一样的,只不过重做日志文件会不短被重写,而归档日志文件则保留了关于数据更改的完整的历史记录。
至此,Oracle基础的内存结构和进程结构我们已大概了解,来看下完成的进程和内存的交互情况,可以根据前面的理解将整个交互流程串联一下。
四、Oracle存储结构
针对Oracle存储结构将分别从物理存储结构和逻辑存储结构两个维度来进行阐述。
物理存储结构
所谓外部文件,意味着这些文件从严格意义上来讲并不属于Oracle数据库的一部分。
控制文件:
控制文件虽小,但作用重大,它包含指向数据库其余部分的指针(包括重做日志文件,数据文件,归档日志文件等的位置),存储重要的序列号和时间戳,存储RMAN备份的详细信息。控制文件一旦受损,那实例会立马终止,一般对数据文件的保护采用多路复用机制,就是冗余多份在不同物理位置。
重做日志文件
重做日志文件的作用在讲解内存和进程结构的时候有提到过,重做日志按时间顺序存储应用于数据库的一连串的变更向量(包含联机重做日志文件和归档日志文件)。由SMON在数据库启动时自动执行的实例恢复 和 磁盘损坏所要求的提取备份恢复都会应用到重做日志进行相应的数据恢复
重做日志文件也建议进行多路复用,一个数据库至少要有两组重做日志文件。一组供LGWR进行写入,日志文件是固定大小,业务高峰期会很快写满,写满之后会切换到第二组上,在配置为归档模式的数据库中,这时由归档进程(ARCn)开始将第一组的内容进行归档备份,如此循环地进行写入和归档。需要注意的是,在归档进程还未对当前组的日志归档完毕前,是不允许LGWR对其进行重写的。
数据文件
数据文件存储着实际的数据,DBWn会将数据库缓冲区中的内容写入到这类文件中去,数据文件的大小和数量是不受限制的。Oracle从10g开始,创建一个数据库至少需要两个数据文件,一个用于SYSTEM表空间,该表空间用来存储数据字典;一个用于SYSAUX表空间,这个表空间用来存储一些数据字典的辅助数据。
数据文件由一个个的Oracle块组成,这是Oracle的I/O基础单元,与操作系统块是不同的概念,Oracle块要比操作系统块大,这当然有处于性能的一些考虑,但我们考虑这样一种情况,当用户使用操作系统命令进行数据文件的备份的时候(假设1个Oracle块=8个操作系统块),已经复制了4个操作系统块,然后CPU被DBWn抢占了,DBWn又重新对这个Oracle块进行了更新,这时,当复制命令又得到了CPU时间去复制剩余的4个块的时候,就造成了整个Oracle块的数据不一致,所以,这也是在执行这种备份(用户自行备份)的时候,需要做一些额外处理,比如将表空间置为备份模式的原因。当然,使用RMAN是不存在这样的问题的,RMAN的备份机制是肯定可以得到数据一致的块的。(这块内容作了解即可)
对于数据文件的保护,一般可进行定期备份,或者使用RAID也可以。
实例参数文件
这个文件存储了数据库所需的一些参数设置,比如各个内存区域的大小,可允许的最大进程数,最大会话数,控制文件的位置,数据库的名称等等,参数文件也是实例启动时首先要加载的文件。
口令文件
一般称为外部口令文件。一般的用户名和口令是存放在数据字典中,不会存放在这个文件中。在一些特殊场景下,比如实例还未启动,这时,我可能需要以管理员的身份登入系统去执行一些恢复或者启动操作,然而此时,数据字典由于实例还没启动是不存在的,这时就需要外部口令文件进行用户身份的验证。
归档日志文件
ARCn将联机重做日志文件会备份归档到这类文件中去,归档日志文件保留了数据更改的完整历史信息。
逻辑存储结构
Oracle将其物理结构从逻辑存储结构中抽象出来,物理机构是系统管理员能看到的,逻辑结构则是用户所能感知到的。比较典型的逻辑结构就是 "段"和"表空间"。
段:
段就是包含所有数据的逻辑结构,比较典型的段就是"表",称为表段,还有索引段,撤销段等等。
表空间
表空间从逻辑上是多个段的结合,在物理上是多个数据文件的集合,相当于在段和数据文件的对应中加入了一个中间层来解决这种多对多的关系。
在早期的一些数据库设计中,段和数据文件是一对一的关系,一个段一个数据文件,这种设计有很多弊端,首先,段的数量是不固定的,有可能一个系统中上千张表,那就得需要上千个数据文件,系统管理员要管理这么多文件肯定会抓狂的;还有一种情况就是某些历史表可能特别大,大到底层系统对单个文件的限制,用一个数据文件去承载的话肯定是不行的。表空间则完美解决了这样的问题。
还有一些逻辑结构如区间和Oracle块(Oracle块前面有提到过,区间则为块的集合),下面通过一张图对Oracle的存储结构进行整体的宏观的认识,进一步加深些理解
五、总结
本文博主对Oracle的体系结构做了相对全面的介绍,包括内存结构,进程结构,存储结构等等,相信大家对其全貌也有了基本的了解。当然由于博主本人也并非Oracle 专业人员(虽曾今亦有过成为DBA的念头),也由于本人觉得对于体系结构的学习一览全貌即可,未必要深入到每一个点,故对某些概念没有做特别深入的解读,还有一些如实例恢复的过程,数据库启动的各个阶段,动态参数和静态参数等等也未提及,后续有时间会追加上的。谢谢捧场。今天是初入博客园的第二篇博文,后续也会持续更新博客的,希望各位多多捧场
SAE/CloudFoundry 个人独立博客Blog4j 发布
Blog4j是一个用Java实现的, 简洁的, 高效的个人独立博客.
可运行在SAE / CloudFoundry 等云平台, 也可运行在标准servlet容器(如jetty..)
没有使用臃肿的SSH流, 但自己构建了一个简洁高效的替代者--Run框架, 使博客运行达到最高性能, 最低耗能!
特点:
- 文章分类基于标签形式, 便于管理, 查找.
- 用markdown写作, 不再关心杂乱的HTML标签, 专心写作!
- 缓存页面
- 高性能, 低耗能
- 主题支持
- 文章置顶
- 页面支持
- 第三方评论
- 相关文章.....
把Blog4j部署到Cloud Foundry
今天的关于为宣传和推销自己的品牌,特别推荐个人独立博客制作方法和为宣传推广业务和产品而举办的产品推介会的分享已经结束,谢谢您的关注,如果想了解更多关于BlogHub 上线了,开源独立博客推荐站,一起来发现更多有趣的灵魂、hexo实战:(二)个人独立博客豪华装修合集、Oracle体系结构详解,转载文章,个人觉得写得简洁易懂,特别推荐、SAE/CloudFoundry 个人独立博客Blog4j 发布的相关知识,请在本站进行查询。
本文标签: