技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统架构 --> 博客系统的结构简述

博客系统的结构简述

浏览:3005次  出处信息

    前几年开始大量流行博客,连要饭的都更博,博客火得就剩一个字――火!有人要搞博客,自然玩程序的就要跟进,搞出各种博客系统来,什么wordpress、zblog等等。界面大同小异,基本的东西就那么一点,今天这篇文章就大体总结一下博客系统的结构。我们先来说说博客系统的特征:

    1、基于web用户界面

    2、以分类的形式组织博客记录

    3、可定制的页面模板

    4、评论、反响链接以及引用

    5、为相关软件提供web服务接口

    6、支持多媒体文件上传

    基本上所有的博客系统都有以上的这些功能,然后在这些功能的基础上进行扩展的。

    下面讲讲最重要的数据模型

    数据模型定义了存储在系统中的对象类型,以及这些对象的关系,下面罗列了基本的博客系统的对象模型。

    用户(users):一个博客系统可以有多个用户,每个用户可能拥有多个博客,也可能没有博客。

    博客(blogs):一个服务器可以有多个博客也可以只有一个博客,每个用户可能有0~n个博客,但一个博客至少有 一个用户。

    博客记录(blog record):博客的最重要组成部分,由一个或多个作者所写。

    分类(category):每个博客都有一套分类,每条博客记录都可以指定一个分类。博客记录可以属于多个分类,也可以属于一个分类。而分类可以为树状分类(就是有父级子集的分类系统)。

    模板(template):博客外观是由一套模板组成,通过模板语言来展现博客页面。

    资源(resource):比如:压缩包、图片、视频等,用户可以在博客记录或博客中使用它们。

    偏好(settings):每个博客都有一套参数选项,来做博客的个性化设置。

    经过上面的表述基本上一个博客所需要的东西就都有啦。如果要其他的系统就要看开发者个人喜好了,比如友情链接等。

    接下来就详细讲一下最重要的博客记录的数据结构。

    id:博客记录的唯一标识

    固定链接(permalink):固定url,便于搜索查找和用户访问。

    标题(title):博客记录的题目。

    内容(content):不用说啦,正文。

    摘要(summary):博客记录内容的简单描述。

    链接(link):如果博客记录是转发的,该属性就记录的原文的url

    状态(status):博客发布过程中的状态,如:草稿、已审核、已发布。

    发布时间(published):博客记录的发布时间。

    更新时间(updated):博客记录最后更新时间。

    作者(authors):创建博客记录的人。

    参数(config):博客记录可能游戏参数,比如:博客语言、是否可以评论、博客记录所需插件等。

    博客记录大体上就是这样了,接下来描述一下和博客记录有关的数据。

    分类(ctegory):博客记录可能属于一个或多个分类。这个可以在具体设计时,根据需要来做。

    附件(attachments):在发布博客记录时,用户上传的多媒体文件。比如:压缩包、图片、视频等。

    评论(comments):访客和博客记录发布者的互动,主要就是通过评论来进行的。

    反响链接(trackbacks):其他博客可能在自己博客上写了一些东西,并在其间有些文字响应你的博客记录,接着他会发给你一个反响链接。反向链接协议是由MovableType作者设计的,可以使一个博客服务器通知另一个博客服务器,它的博客记录中引用来自该服务器的博客记录。这个通知就是反向链接,博涵题目、摘要、url、博客名称。

    引用(referrers):如果其他网站通过链接到你的博客记录来响应你的博客,你的博客服务器能从web请求或web服务器日志中捕获这些引用url。通过它你可以知道哪些网站提到或链接到你的博客记录。

    最后,简单讲一下用户、权限以及博客组。

    阅读者(reader):阅读一个或多个博客。大多数博客系统设置为任何人。

    评论者(commenter):为一个或多个博客添加评论。大多数博客允许任何人评论,有些则是限制有相关权限的人评论。

    编辑者(editor):可在一个或多个博客上建立、编辑和发布博客记录。

    作者(author):作者允许在一个或多个博客上建立博客记录,但不能发布。有可能拥有博客记录分类的设置权限。

    管理员(admin):可以管理博客的分类、页面模板、书签、附属资源等。

    博客系统大概就是这个样子啦。具体实现就是看开发者的设计和开发功力啦。

建议继续学习:

  1. 使用PHP创建一个面向对象的博客    (阅读:4067)
  2. 个人订阅的10佳博客与相关介绍    (阅读:3520)
  3. 为什么创业公司需要写博客?    (阅读:2688)
  4. 随记:关于职业规划,交互设计及写博客    (阅读:2397)
  5. 门户、论坛、博客、SNS,网站模式的辨析    (阅读:2319)
  6. 为什么你应该(从现在开始就)写博客    (阅读:1886)
  7. UGC与高手    (阅读:1786)
  8. 评论《博客的精神》    (阅读:1728)
  9. 到底是博客,还是社区?    (阅读:1715)
  10. 互动、关系以及博客为什么不能做社区    (阅读:1692)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1