美文网首页
ROBIN项目实战3:Web服务平台内容数据结构设计随记

ROBIN项目实战3:Web服务平台内容数据结构设计随记

作者: 弦思非凡 | 来源:发表于2018-08-13 21:47 被阅读31次

    政府Web服务平台在多年的发展和完善过程中,正由数据集中朝平台集中方向发展,即数据和应用都向着省级集中。未来,由省级建设和管理的资源集中平台模式将逐步完成,市级及以下单位均通过省级平台集中和分享数据,实现全省数据资源的集约化管理,Web服务由信息发布的简单模式向在线办事、互动参与、个性化服务的智能服务方向发展。

    如今,政府Web服务大都采用静态信息发布形式,在内容展现、信息分享等方面存在诸多限制,不能满足“互联网+政务服务”信息化建设的快速发展需要。在平台建设和服务改进的双重压力下,Web服务建设正不断寻求突破,市场上短平快的内容管理系统模式已不能适应发展需要,政府部门Web服务建设应从长远发展考虑,规划未来Web服务大平台建设思路,明确开放式基础架构建设目标,分步实施,培养建设和运维团队,推进Web服务建设持续性发展。

    省级平台建设需要将省级及以下部门Web服务统一规划,统一实施安全管控及运维管理,集中进行软硬件基础平台建设,建立省级主题数据中心,市县级仅需关注具体服务业务内容,专注于提高服务内容质量和地区特色服务内容,更多的技术管理及功能开发由省级平台完成,符合政府部门信息一体化建设及数据集中的集约化发展要求。在此基础上,省级平台完成功能需求建设,实现Web服务功能“省级开发、多级使用、统一登录、全程访问”的服务格局,关注用户体验设计、关注知识化大数据分析、关注移动化多渠道发展、关注智能化综合性服务提供。

    就目前而言,Web服务最基础最关键的部分仍是内容服务,如信息公开、通知公告、宣传信息、互动问答等等。从系统底层设计角度考虑,首先要具备对基础内容服务完整功能设计,包括基础权限控制、内容版本控制、工作流管理等,其次要具备对接其他功能服务的开放性设计,后续可以很方便地扩展内容类型,第三要考虑和适应对外网数据传输要求,具备相应的数据传输控制、日志审计等功能。最后要具备大数据分析、个性化处理等基本数据项和设计指标。部分数据结构设计说明如下:

    • 实现多站点。通过站点隔离各级服务的独立性和特色化,与最终Web服务是否以站点或栏目的形式不相对应,也就是说,这个站点仅仅是信息隔离的实现形式,可以在后台实现和区分信息的集合,并不是说建立了站点,对外服务必须以站点的形式提供,也可以是栏目的形式,没有具体域名配置要求,可以无缝作为省级平台的一个具体栏目。同一个组织机构内,可以有多个站点,如省级区分内外网:Website(站点,每个站点从属一个机构Organization,同时绑定树形栏目Channel)、Template(模板,绑定站点Website、栏目Channel、内容节点Node)。

    • 实现虚拟化省市县三级机构。为实现后期的工作流及特色管理,按照实际组织机构情况,在系统中区分实际的工作组织机构,同办公模式相适应。Orgnization(组织机构,绑定部门Department)、Department(部门,包括用户User)、User(用户)

    • 实现灵活分类及统一化内容管理。主要数据表机构有Channel(栏目,树形结构)、Node(内容节点)。目前大部分内容系统将栏目与内容强制绑定,并依托栏目实现工作流转、访问权限等设置,实现了基于栏目的内容管理,通过分送和引用实现单条内容在多个栏目中分享。因此,设计中增强了内容的分发模式,将内容与栏目分离开来,不做强制绑定,增强内容在各栏目发布的灵活性。同时,将内容节点采用继承和扩展的方式,实现对任意内容扩展和支持:Node(内容节点,包括文档Document、图片Image、PDF、文件File、信息公开Infomation...)

    • 文档类型:Info,Images,News,Law,Ask,Link,,,其中Ask(咨询问题)中还可能分为业务咨询、投诉举报、网友留言等形式。在每个文档类型中,要考虑与其他文档类型的关联:标签关联tag_links, 添加关联add_links, 点赞关联like_links, 阅读关联view_links等等。

    • 内容审核基于站点Website,文档类型doc_type,文档类型中的分类doc_category(考虑去除),比如业务咨询和投诉举报,同属ASK内容,但是具有不同的审核流程。基于节点审核Node(Website,Workflow),文档版本控制Document(VersionControl),页面模板设置Page(Template)。

    • 实现支持用户组,如临时工作小组和项目组,相比角色概念,组更接近于现实并绑定权限:Group(User)

    • 在权限资源中分类管理:Role(User、Permission)、Permission、User,为降低权限设计复杂度,可以将Role由Group代理,因此权限仅仅与User、Group相关。

    • 权限控制:Permission(Range、Resource)

    • 数据可见范围:[Websites,Channels,Nodes,NodeType]

    • 用户相关范围:[Any,Creator,Departor,Orgnizator,Grouper]

    • 工作流控制:Workflow(state,transaction)

    • 内容版本控制:NodeVersion(Node、User)

    • 消息及缓存机制:Redis

    • 数据库选型:MySQL

    考虑对需要的模型数据版本管理,归档管理,工作流管理等基础管理需求。

    字段设计

    在数据库字段的设计中,有很多数据表中的字段是相同的,比如用户名、IP地址和文档标题等。对这些常出现,意义相同的字段采用统一标准,保证字段名称、字段类型、字段长度的一致性。

    • Username: 64字符。
    • IP: 考虑到IPv4为15字符,IPv6为40字符,IPv4-IPv6地址转换,总计46字符。
    • Title: 尽可能长度,255字符。
    • Content: TEXT类型。
    • id: int整型。

    以上设计将通过现有ROBIN项目实践,根据省级Web服务的实际需求和开发进展情况,真实反映项目基础数据结构设计思路,并不断进行改进和完善,最终形成完整的省级平台内容数据结构设计。

    相关文章

      网友评论

          本文标题:ROBIN项目实战3:Web服务平台内容数据结构设计随记

          本文链接:https://www.haomeiwen.com/subject/xprpbftx.html