前言、提纲及说明

请移步:《校友信息管理&SNS互动平台之前言、目录及说明》(博客园地址:http://www.cnblogs.com/s6cn/p/3516876.html

一、系统的要求

分析《校友信息管理&SNS互动平台之用户需求及总体设计》,客户对该平台有如下要求:

  • 考虑整个校园资源计划的接口特性,与其它系统如毕业生就业信息管理系统、校园一卡通等系统进行连接。
  • 在系统功能上,要实现校友信息的网络化、智能化、系统化。
  • 采用“框架+组件”的分层系统架构,预留WebServer标准接口。系统兼容性和可持续扩展性强,既可整合目前已投入使用的系统,又能满足不断变化的需求,节约成本。
  • 后台系统支持大数据量(百万级)的查询,报表生成,导入,导出操作,响应时间不超过2秒。
  • 前台支持多用户(万级)并发访问互动系统,响应时间不超过1秒。
  • 百万级校友重复信息的自动筛选、合并。
  • 百万级校友电子邮件和手机短信的个性化发送。

首先介绍一下该系统的几个特别要求。

1、百万级校友重复信息的自动筛选、合并。

该校校友信息基本数据的来源较多,分别来自于原有信息系统数据、校友工作部门收集的数据、院系提供的校友信息、各地方校友会收集的校友信息、教务管理部门提供的学生注册信息、学生就业部门提供的学生就业信息,这些信息出现重复的概率是100%,而每个渠道得到的信息都有部分利用价值并且没有一个关键的能统一识别的字段。

该系统要求能全部导入所有来源基础数据,系统中设置一个功能——一键去重(类似于QQ通讯录的一键去重),最初接触到这个功能有点摸不着头脑。我们经过大量的数据分析,以及校友工作同志与程序员、系统构架师的反复沟通,这一个重要的功能得以实现,但该功能对数据库的处理能力以及系统业务逻辑的处理能力要求很高。

该功能的实现思路和技术路线将在后续文章《校友信息管理&SNS互动平台之百万级重复用户信息的整理与合并》中详细阐述。

2、百万级校友电子邮件和手机短信的个性化发送

校友工作部门将定期和不定期的向全体校友或部分校友发放电子杂志,在校友生日等纪念日自动发放祝福邮件和手机短信,在重大节假日或重要活动前向全体或特定校友发放祝福邮件或手机短信。要求每一封电子邮件、每一条手机短信都是个性化的,如包含收信人称谓等特定信息。

该功能对系统批量处理数据能力也是一个挑战,实现思路和技术路线将在后续文章《校友信息管理&SNS互动平台之个性化邮件群发》和《校友信息管理&SNS互动平台之个性化手机短信群发》中详细阐述。

二、系统是C/S,还是B/S?

关于这两种模式的优缺点大家都很清楚,我在这里就省略了。

校友信息管理系统对数据处理能力要求特别高,可能经常性出现百万级数据的导入、到处和整理。

国内目前校友信息管理系统,大部分系统采用的是SNS前台(截止发文日暂未发现完全使用第三方API接入的SNS互动社区)采用B/S,校友信息管理采用C/S——也就是校友数据库管理软件(即便如此,截止发文日暂未发现类似于客户提出的一键去重功能)。也有部分系统完全采用B/S模式开发,但阉割了校友信息整理等对数据处理能力要求较高的功能。

在与客户沟通后,为了系统部署、维护和使用的便利,该系统采用“B/S+win系统服务组件”模式开发。也就是系统所有用户(包括管理员和校友)全部采取B/S接入,满足用户使用、维护升级的便利;对于需要特大数据处理的功能,开发win系统服务组件,保障系统性能。

三、编程语言是Java,PHP,还是ASP.NET?

基于三种平台的优劣我也不讨论了,仅从客户使用环境以及系统特点做选择。

由于该系统业务逻辑处理较多,集合几种开发语言的特点,我们给出了几种方案的组合:

  • 前台PHP+后台JAVA
  • 前台PHP+后台ASP.NET
  • 全部JAVA
  • 全部ASP.NET

由于客户所在单位目前服务器都是windows2008,信息化管理人员对于Java又不熟悉,又希望采取同一种开发语言,所以选择了全站采用ASP.NET开发。

该系统前台网站主要是SNS互动平台,生成静态页面就不太可能,如果采用WebForm,为了友好的URL,需要做伪静态处理,所以最后直接选择了ASP.NET MVC。

四、系统框架及简要介绍

1、S6CN公共组件(S6CN.Components),包括缓存管理、函数扩展、配置管理、多数据库支持组件、富编辑器封装组件、多语言支持组件、基于Log4net的日志扩展、邮件发送组件(支持HTML格式和附件)、 MVC相关扩展(如自定义皮肤等)。

2、业务无关的公共框架(S6CN.Framework),基于依赖注入(Unity)的公共框架,实现“框架+组件”的“魔方”分层系统架构。

3、权限控制组件(S6CN.Passport)。

4、校友信息管理及SNS互动社区应用程序(S6CN.AIMS),分为前台SNS应用、后台校友信息数据库应用、后台SNS管理应用(包括第三方API接入)。

5、微信公众平台应用(S6CN.Weixin)。

6、校友总会网站以及校友分会网站集群应用(S6CN.CMS、S6CN.SiteHub)

用户需求和框架就简要介绍到这里,后面的文章将逐个剖析。

校友信息管理&SNS互动平台之技术框架选择的更多相关文章

  1. 校友信息管理&SNS互动平台之前言、目录及说明

    开篇 刚刚主持完成了某985大学(为了保密和避免广告嫌疑,此处不指出具体大学的名称)的“校友信息管理系统&SNS互动平台”大型项目,本着总结经验,技术共享的原则,本系列文章将全面介绍该项目的需 ...

  2. 校友信息管理系统&SNS互动平台之用户需求及概要设计

    前言.提纲及说明: 请移步:<校友信息管理&SNS互动平台之前言.目录及说明>(博客园地址:http://www.cnblogs.com/s6cn/p/3516876.html) ...

  3. 对话 CTO〡用声音在一起,听荔枝 CTO 丁宁聊 UGC 声音互动平台的技术世界 原创 王颖奇 极客公园 2018-12-01

    https://mp.weixin.qq.com/s/jfHFXZpzbAEbHKkCMSev6w 对话 CTO〡用声音在一起,听荔枝 CTO 丁宁聊 UGC 声音互动平台的技术世界 原创 王颖奇 极 ...

  4. 品友互动大数据平台的技术演化 https://www.sohu.com/a/191202836_99982360

    品友互动大数据平台的技术演化

  5. 基于.NET平台常用的框架技术整理

    个人整理 部分收藏于:http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线 ...

  6. App技术框架

    一.App技术框架的类型 图1 三种App技术框架之间的关系 目前App的技术框架基本分为三种(图1): (1)Native App:互动型,iOS.Android.WP各一套,而且要维护历史版本,要 ...

  7. 你得知道这3个最基础的APP技术框架

    出处:优设网作者:信籽链接:http://www.uisdc.com/3-basic-app-technical-framework 信籽(手淘设计师):不知道大家有没有遇到过这种情景,当你做好一个设 ...

  8. 【毕业设计】基于Android的家校互动平台开发(内含完整代码和所有文档)——爱吖校推(你关注的,我们才推)

    ☆ 写在前面 之前答应大家的毕业答辩之后把所有文档贡献出来,现在答辩已过,LZ信守承诺,把所有文档开源到了GitHub(这个地址包含所有的代码和文档以及PPT,外层为简单的代码).还望喜欢的朋友们,不 ...

  9. p2p平台详细运营框架

    市场拓展部1.负责完成公司市场销售.市场拓展.费用控制等年度目标任务,并负责将目标责任制分解落实,确保各项工作目标得以实现.2.对营销政策.市场及同业营销动态等方面进行调研分析,及时调整营销策略和计划 ...

随机推荐

  1. javascript 事件多次绑定和删除

    同一个事件绑定多个事件处理程序(适合自己写)IE: 添加: 对象.attachEvent("on事件名","处理程序/函数名"); 执行顺序从后向前 删除: 对 ...

  2. HTML实体

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. javascript获取url参数的方法

    发布:thatboy   来源:Net     [大 中 小] 本文介绍下,在javascript中取得url中某一个参数的方法,这里分享一个小例子,供大家学习参考下.本文转自:http://www. ...

  4. mysql开启日志记录慢查询

    1.查看mysql配置 2.利用set (variables)命令设置变量 set global log_slow_queries = ON;/*(必须带上global)*/ set global s ...

  5. Ubuntu15.10 编译VLC Android(安卓)过程记录

    持续更新中... 最后一次修改于 2016-03-20 15:33:45 1.必要库的安装 除基本编译环境(gcc.g++等外),需要额外安装如下的库(用于下载必要的依赖文件) (1)JDK 推荐安装 ...

  6. USB驱动能力有限

    笔者用USB接一个单片机最小系统,再从单片机最小系统引出电源线接一个数字电路模块.当后边两部分的功率较大时,就会引起USB电压的下降,甚至到3V左右.电压的下降就会使单片机或者数字电路部分芯片不能正常 ...

  7. Java2_Java泛型

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  8. C语言程序设计做题笔记之C语言基础知识(下)

    C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...

  9. Wordpress 网站搭建及性能监控方法详解!

    前言 说到 Wordpress,大家往往想到的是博客,其实,如今的 WordPress 已经成为全球使用量最多的开源 CMS 系统.并且,如果你有一定的技术基础稍加改动,就可以搭建出新闻网站.企业网站 ...

  10. WordPress 全方位优化指南(下)

    上一篇 WordPress 全方位性能优化指南(上)主要从网站性能指标.优化缓存.MySQL 等方面给大家介绍了如何进行 WordPress 性能优化,但还远远不够,毕竟像 WordPress 这样的 ...