前言、提纲及说明

请移步:《校友信息管理&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. shell中case的用法学习笔记

    这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 本文转自:http://www.jbxue.com/article ...

  2. What is Windows Clustering

    A cluster is a group of independent computer systems, referred to as nodes, working together as a un ...

  3. python 函数1

    一.背景 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处,如下 ...

  4. Django生产环境的部署-Apache-mod_wsgi

    httpd.conf配置 ServerSignature On ServerTokens Full Define APACHE24 Apache2.4 Define SERVER_BASE_DIR & ...

  5. gcc -D选项

    一.概念 gcc的-D选项可以定义宏,这是什么意思呢? C语言源程序中有#define定义的宏,可以起到替换.条件编译的功能:定义宏的方式是放在头文件或者C文件中.gcc提供了另外一种宏定义的方法,当 ...

  6. A simple test

        博士生课程报告       视觉信息检索技术                 博 士 生:施 智 平 指导老师:史忠植 研究员       中国科学院计算技术研究所   2005年1月   目 ...

  7. POJ2103 Jackpot

    Description The Great Dodgers company has recently developed a brand-new playing machine. You put a ...

  8. [原博客] HEOI2014 行记

    HEOI: 河北省信息学竞赛省队选拔赛 HEOI数据标程下载 百度盘 http://pan.baidu.com/s/1qWx7YAo 又到了一年一度的HEOI呢. 我果然还是太弱了呢. Day0 报到 ...

  9. 在ubuntu 10.04下编译ffmpeg

    最近准备研究ffmpeg-2.0.1. 那得先运行起来看看效果吧. 首先去官网下载源码: 然后 解压=> ./configure => make  OK . 1. 编译好后,发现没有ffp ...

  10. 【HDU 4352】 XHXJ's LIS (数位DP+状态压缩+LIS)

    XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...