文档库 最新最全的文档下载
当前位置:文档库 › 基于asp net 的O2O平台设计与实现

基于asp net 的O2O平台设计与实现

一、快速开发运行环境

操作系统:Windows Server 2008

数据库:SqlServer2008(主业务库),MySql5.0+(集成于第三方的Discuz!X 系列开源)

开发语言:https://www.wendangku.net/doc/53657365.html, (C#)缓存:本地缓存+Memcached (第三方分布式缓存)

数据库通信层:Entity FrameWork 和CodeFirst

源码管理工具:SVN 优点:方便进行版本管理,根据运营项目的特点,版本控制比较严格。还有一种是使用TFS,但是TFS 控制粒度比较细,操作繁琐,适用于大型项目。而SVN 相对来说更灵巧点。

二、系统业务技术背景

根据O2O 业务变化的多样性,我们这里针对少儿服务领域作为示例。少儿服务更多的是孩子的父母通过O2O 平台检索适合自己孩子的少儿服务课程,并通过对机构信息对比最终挑选出合适的机构。多样化的培训机构以及多样化的课程类型,就需要我们将这些类型进行数据结构化——能够通过简易后台控制生成多类型,并可作为检索条件。互联网网站的访问70%在于读,如果每次读都连接数据库,当访问量过大时,对于数据库来说它的线程资源将会成为一个瓶颈;因此我们这里用到缓存,我们将数据量小并且基本不变的一些结构化数据作为本地缓存

来减少数据库读写频率,另一部分数据流

量大,且分散,修改频度小,并且可控的数据我们使用Memcached 来缓存。由于用到了第三方开源论坛,就需要我们的分布式站点能够达到单点登陆能力,因此需要一个统一的基本用户管理中心。程序机制如下:

三、系统基础机构模型

当前采用的是经典的三层架构;

View 层,Bll (业务逻辑)层,Dao 层如图1所示:

1.View 层负责整理收集并处理与用户交互的数据,将其整理成Bll 层业务传输对象;

2.Bll 层根据特定接口获得对象,进行

复杂的业务处理,比如:修改信息是否修改缓存,订单通知,订单状态更新等等;注意Bll 对外公开的方法最好是依赖于接口的,可以降低系统耦合度,即使是以后系统升级Bll 层提升成Web 服务,只用做简单调整即可。Bll 层将业务整理成数据持久化对象推送至Dao 层。

3.Dao 层根据特定接口获得Bll 层的持久化对象,通过EntityFrameWork 和CodeFirst 机制储数据操作结果、返回数据检索结果等。(注:这里链接的数据库指的是SqlServer)

四、 基于https://www.wendangku.net/doc/53657365.html, 的CodeFirst

Code first 首先让您定义域模型,而不是使用基于XML 的edmx 文件。即使采用Model First 或Database First 来生成代码,开发者也必需使用设计器或类生成器来辅助工作。而使用Code First 您可以直接通过使用POCO 类来定义域模型,而无需依赖于EF 框架。Code First 可以通过构建的类模型推断出大量信息。你也可以提供额外的配置,进一步描述有关模型的信息或者是覆写Code Firstr 推断的信息。这

基于https://www.wendangku.net/doc/53657365.html, 的O2O 平台设计与实现

韩 磊 同济大学 上海 200092

图1 O2O

的系统基础机构模型

图2 O2O 网站功能结构图

种配置也是用代码来定义的,不需要XML 文件或设计器。

平台引入Code first 是为了提高面向对象的优雅性,以及Code fist 的强大的关系配置,可以使代码的可读性提高,并且代码的耦合度相对也降低。

五、基于https://www.wendangku.net/doc/53657365.html, 的Memcached

针对一个高质量的网站缓存是非常重要的,许多Web 应用都将数据保存到RDBMS 中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS 的负担加重、数据库响应恶化、 网站显示延迟等重大影响。这时就该memcached 大显身手了。memcached 是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web 应用的速度、 提高可扩展性。集群式的Memcached 对于高访问量的网站来说,将是一条高铁快速。可以让不同主机上的多个用户同时访问,因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生。

六、 系统功能设计

1.系统详细设计

(1)针对孩子父母1)良好的用户体验,操作简单是王道:首页布局,父母来这里寻找什么,我们

就要推荐什么,推荐一定要根据热门分类优先级进行模块化划分。最好包含有聊天式的搜索格式,显的更有人性化。

2)O2O 重在于根据地理位置,课程分类,关键词等搜索,能够垂直精确的检索到自己有意向的课程,可以根据价格,人气,信誉等进行排序。设计时要考虑到多人并发程序处理,因为此处非常消耗数据库资源。

3)根据家长父母习惯对比性心理,在课程的详情页面要醒目展示出价格,地理位置,服务图片,信誉度等。根据互联网用户特性,QQ 和旺旺已经成为必备沟通工具,父母在遇到有意向的课程服务时,会产生进一步的与商家互动沟通的欲望,集成商家的通讯工具也是必备功能。

4)家长对于已经所选目标的课程服务,进行线上预约。预约后,根据商家的确认合作回馈,家长可以对于线下的服务进行线上跟踪评价。用舆论制约商家。也能够使更好的课程服务得到稳定的传播。

(2)针对入驻商家1)商家入驻为了识别其真伪以及后期管理和建立与平台信任感,需要商家进行认证。

2)在认证通过后,商家根据自己线下开设的课程,将资料提交至平台进行发布,展示自己的课程形象。并可在平台上进行指定的营销规则内传播。

3)某些教育服务商家是连锁模式课程授课地点存在于不同的区域,那么就要允许商家多地理位置选择,并允许地图定位等。

4)有一定规模的商家更渴望,会产生多人接待客服模式,因此就产生多个即时通联系方式类似于淘宝的店小二模式。即商家添加多个即时通联系方式。并展现在课程中。

5)当商家课程被预约时,需要给其展现出预约用户和课程的记录。方便商家在特定权限对预约课程管理。

2.网站功能结构图

根据系统详细设计绘制图2功能机构图。

相关文档