收藏 分销(赏)

IM即时通信综合项目关键技术专项方案.docx

上传人:精**** 文档编号:2954735 上传时间:2024-06-12 格式:DOCX 页数:15 大小:471.41KB
下载 相关 举报
IM即时通信综合项目关键技术专项方案.docx_第1页
第1页 / 共15页
IM即时通信综合项目关键技术专项方案.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述
第一章 技术方案 1. 2. 3. 3.1. 工程概述 Ø 工程名: Ø 建设单位及项目责任人: 3.1.1. 工程背景 伴随移动互联网爆发式发展,手机上沟通变得越来越关键,即时通讯作为当今互联网时代一个关键通信手段,互联网时代人、企业等已基础接收和习惯即时通讯带来多种便捷服务,多种即时通讯工具、聊天软件应用也如雨后春笋层出不穷,用户也越来越习惯利用在手机APP中植入即时通讯功效服务进行在线即时聊天互动,获取产品或服务信息,或进行人和人之间沟通互动,目前四川电信经过主动探索实践,在移动互联网领域也创新地开发出部分行业重量级业务应用,对即时通讯能力服务需求很紧迫,无专属即时沟通工具,买家和卖家间无即时沟通,订单及物流通知未立即送达;QQ、微信等第三方即时通讯工具,只能处理交流问题,而无法对用户体验和平台无缝性带来帮助,没有和本身产品线进行深度集成,应用需求无法真正满足。 所以建立一套统一IM平台和专属聊天产品,对应用推广和发展有很关键意义。 3.1.2. 需求概述 鉴于电信自主运行应用对IM即时通讯能力服务有对应集成需求,需要构建一套云即时通讯服务平台,为需要IM即时通讯应用提供基础即时通讯能力服务,支持嵌入到电信自主运行开发业务应用中提供即时通讯服务,实现即时通讯基础服务能力平台化、SDK类型丰富化,支持多应用接入。 同时基于IM即时通讯平台能够定制一套专属于自己IM通讯软件,对数据保密性、安全性和功效多样性全部能很好满足。 3.2. 建设目标及标准 构建一套云即时通讯服务平台,为需要IM即时通讯应用提供基础即时通讯能力服务。同时基于IM即时通讯平台能够定制一套专属于自己IM通讯软件,对数据保密性、安全性和功效多样性全部能很好满足。 1.1. 1.2. 3.2.1. 总体建设标准 1 2 3 4 5 6 7 8 9 10 11 11.1 11.2 11.2.1 11.2.1.1 系统可用性标准 系统可用性(Availability)是用来衡量一个平台系统能提供连续服务能力,它表示是在给定时间系统或系统某一能力在特定环境中能够满意工作概率。 采取优异技术和方法,满足和适应移动互联网技术更新速度,在满足开发时间节点要求下,满足用户交互体验和功效需求,采取智能化处理特色,满足运行管理效率要求。 在系统运行当中可能会影响到系统可用性原因: 1.操作人员和组织 其实这个地方平台在使用中管理员,她是否重视运维?组织是否已经认识平台带来价值,把平台可用性看成自己一个关键能力来看待。是否把面向用户业务能力和运维很好对接?是否建立起用户质量组织文化。 2.业务步骤 业务管理平台步骤梳理多个角色自己关系和职责。我们第一个要去看这个步骤在面对故障是否起到了主动作用,比如说能够确保故障信息正确送达,同时确保处理人角色和职责是清楚。其次不停去检验步骤是否能够自动化驱动,而非人为驱动。人是不可靠之源!我们最终期望形成是一个自动化、标准化步骤,这么步骤不轻易被异化,且能确保预期实施结果一致。 3.后期运维技术 很多时候大家看到技术是运维技术,其实恰恰相反对于业务来说,对其高可用影响,所以在其中需要遵照很多标准,有部分标准需要有普适参考价值。比如说服务降级、过载保护、服务公共化等等。这些方法论是否已经融入到研发和运维架构设计之中。业务功效需求优先,而非可运维性优先,可运维性最终就是业务质量。 4.业务管理 把你平台业务能力标准化,你能够转换成我们多个业务指标,比如说质量、可用性、用户体验、用户满意度、成本,有了这些业务导向性指标,才能把IT能力和业务愈加好对接起来。不然很轻易在组织内,形成运行维护共同认识,而非发明价值部门。这一点还有一个关键性,就是让维护人员也要足够认识到,她们能力直接和业务相关,需要增强业务敏感度。 在系统运行当中为了保障系统可用性所采取策略: 1.故障发生前,建立运维质量仪表盘 我们一定要建立运维数据看板,这个看板数据而且要在业务、测试和运维人员对平台情况达成一致,让大家足够重视这份数据,这么数据便有了推进力。提议这个地方关键数据指标不要太多,因为包含到多个团体,大家不能够一致了解,尤其是传达成管理层,太多指标,轻易失去关注焦点。 通行做法,就是用可用性来做运维数据看板。可用性计算方法有简单方法,也有复杂方法。简单方法就是在监控系统中搞部分探针来模拟用户监控,最终我们能得出故障时长和可用性时间,这么我们能够建立天天、每七天、每个月、每Q可用性,能够做到分业务、分服务(更细粒度)等等;复杂方法在模拟数据基础上,能够把事件系统统计时间数据拿过来作为评定标准。另外能够把可用性上升到质量层面,这个里面包含到评定维度(成本、用户体验、满意度)就更多了,数据获取起源也变得更多,有些是来自于客服系统,有些是来自于舆情监控,有些是来自于运维容量系统,有些是来自于事件系统等等,不过最终展现指标就是一个---质量。 2.故障发生前,设定技术准则和要求 运维需要和研发建立整体技术标准和规范要求。所以从保障系统可用性角度来说,我们需要设定一个路线图,最终服务于这个平台运行可用性。比如说之前我提到影响系统原因里面讲到了先做标准化,然后做公共服务化、最终服务无状态化。运维一定要把标准化作为关键要务来推进,建立标准化运维环境,建立标准化技术栈,建立标准化高可用方法论,最终这个业务可用性一定是有确保。 3.故障发生时,恢复是第一要务 故障发生时候,恢复必需是确保系统可用性所必需要时刻记住。 在故障当下,定位故障原因是大忌,这往往让故障时长变得不可控,因为会直接影响MTTR(平均修复时间),影响用户业务使用。用部分标准标准去隔离故障,比如说服务器重启,链路禁用,DNS切换等等。 4.故障发生后即时排查和复盘问题 每一次故障发生后,运维人需要牵头去复盘故障,刚刚说了我们恢复是第一要务,所以故障根本原因我们可能还不知道,此时就需要运维、测试和研发一起仔细去看整个故障过程,看看到底哪儿有什么问题?基础上也是从刚才说四个方面来评定。不停审阅我们运维能力和IT能力,说“故障是运维最好老师”原因也在于此,它能够不停驱使我们走向更高成熟度。 11.2.1.2 系统可维护性标准 系统采取集中布署便于集中维护,提供分权分级权限管理机制,不一样系统模块,不一样任务能够设置不一样数据操作、统计和监控查看分析权限。系统采取构件化设计思想,系统框架和业务逻辑分离,含有开放体系结构。 系统功效模块均采取插件式方法架构,易于修改,对某一个功效模块修改,通常不影响系统其它功效正常运行;系统分析、调度更多采取是配置模式,易于扩展,新增服务时对系统修改较少,仅需调整配置文件参数即可;系统含有方便且可定时实施、分析结果业务测试功效。 11.2.1.3 系统可靠性标准 系统可靠性指在要求条件下和给定时间内平台能正确运行概率。系统可靠性用下列四个标准来判定:平台在运行过程中不为故障所破坏或停止;平台业务步骤结果不包含由故障所引发错误;平台对实施业务时间不能超出一定程度;平台运行在许可网络内。系统可靠性保障关键表现在以下两个方面: Ø 系统采取增量备份和全备份相结合方法定时备份关键系统数据; Ø 系统应含有良好并行处理机制,对存取冲突竞争含有有效仲裁和加锁机制,充足确保事务处理完整性,并降低系统I/O 开销,提升并发用户查询和存取性能。 11.2.1.4 系统可扩展性标准 可扩展性是软件设计关键标准之一,它以添加新功效或修改完善现有功效来考虑软件未来成长。可扩展性是软件拓展系统能力。 系统采取成熟框架开发接口服务和后台管理,前端APP可采取Native和HTML5代码混合实现,整体采取分层设计。支持开闭标准设计思想,便于系统灵活配置和布署;支持插件技术, 便于系统纵向延伸和对新技术接入。 良好可扩展性设计应该许可更多业务功效在必需时能够被插入到合适位置中。这么做目标是为了应对未来可能需要进行修改,而造成代码被过分工程化地开发。可扩展性能够经过软件框架来实现:动态加载插件、顶端有抽象接口认真设计类层次结构、有用回调函数结构和功效很有逻辑而且可塑性很强代码结构。 3.2.2. Android-SDK目标 实现android用户端接入集成即时通讯基础服务提供对应SDK。提供android用户端登录、消息通知、会话、消息、通知、群聊、临时会话讨论组相关功效接口。 3.2.3. IOS-SDK目标 为实现iOS用户端接入集成即时通讯基础服务提供对应SDK。提供iOS用户端登录、消息通知、会话、消息、通知、群聊、临时会话讨论组相关功效接口。 3.2.4. PC-SDK目标 为实现PC H5页面接入集成即时通讯基础服务提供对应SDK。提供PC用户端登录、消息通知、会话、消息、通知、群聊、临时会话讨论组相关功效接口。 3.3. 系统架构 依据对需求分析和系统目标总结,本方案采取面向服务体系结构技术来构建统一IM即时通信平台,软件能够分布式布署在服务器集群上,实现对海量并发通信实时转发。 3.3.1. 系统架构设计 11.3 11.3.1 11.3.1.1 系统架构图 系统采取多层体系架构:分层设计实现“高内聚、低耦合”,易于控制、易于扩展,分为数据层、服务层、接口层、应用层,具体说明以下: Ø 数据层:提供持久化数据存放和数据服务,包含即时通信消息数据、用户及关系数据、平台基础数据等,使用mysql来进行持久化。 Ø 服务层:整个平台关键层,为平台提供即时通讯基础服务能力,使用SOA框架来构建系统服务,使用kakfa来进行信息转发,同时为了提升并发能力,使用redis来进行数据缓存。 Ø 接口层:向第三方业务应用提供即时通讯基础服务能力集成用户端SDK接口(包含:android\ios\pc)和服务器端SDK接口。 Ø 应用层:为需要集成即时通讯基础服务能力第三方应用。 11.3.1.2 SOA框架 采取SOA架构(面向服务架构),它能够依据需求经过网络对松散耦合粗粒度应用组件进行分布式布署、组合和使用。服务层是SOA基础,能够直接被应用调用,从而有效控制系统中和软件代理交互人为依靠性,能更快速、更可靠、更具重用性架构整个业务系统。 3.3.2. 系统软件架构 Ø 高可用架构,高并发消息处理。 Ø 使用高性能互联网中间件:Redis,Kafka,Cassandra,Zookeeper。 Ø 移动消息和移动场景深度优化,兼顾消息可靠性和效率。 Ø 原生移动端SDK优化,APP完美集成。 Ø 基于XMPP协议及成熟Mina通信架构,性能稳定、效率高; Ø 业务逻辑Module基于总线设计方法,经过插件及总线驱动扩展业务Module; Ø 数据接入采取hibernate持久化架构,能够接入多个主流数据库; Ø 整个系统设计开发基于标准J2EE 技术,使用标准HTML, JSP, SOAP, JDBC等技术; Ø 支持TCP、UDP、HTTP多个协议; Ø 外部系统接入基于SOA体系架构,含有良好扩展性能。 3.3.3. 消息发送拓扑 3.4. 系统功效设计 3.4.1. 基础IM服务能力 11.4 11.4.1 11.4.1.1 注册 要使用IM通信功效,首先必需注册成为IM平台用户,所以IM通信平台提供用户注册功效呢,注册用户只是IM通信平台用户,不是属于任何业务系统用户,所以需要和应用系统用户关联起来,需要接入应用进行用户关联。 11.4.1.2 登录 IM通信登录功效,就是用户上线功效,IM平台依据用户在线状态进行消息分发。假如用户登录,即用户上线,则IM平台才会将消息发送给用户。所以应用系统使用IM通信平台需要经过平台提供登录接口,登录到IM通信平台,同时平台会为每个用户生成一个会话token,作为通信凭证。 11.4.1.3 单聊 点对点聊天,IM平台单聊支持发送文本消息,图片消息,许可发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地位位置发送。假如是移动端还支持语音发送,语音聊天和视频聊天。 11.4.1.4 群聊 多对多聊天,支持用户和群里其它用户进行聊天,支持发送文本消息,图片消息,表情消息;许可发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地理位置发送。假如是移动端还支持语音发送,和语音聊天。 11.4.1.5 讨论组 特殊群组,临时群会话,用户能够邀请自己好友进入讨论组进行群聊,创建讨论组用户支持删除修改操作,被邀请用户能够退出讨论组,支持群聊全部聊天功效。 11.4.1.6 已发送消息回执 即时通讯消息发送,当消息发送到对端用户后,提供已发送消息回执机制,确保即时通讯消息可靠发送到对方。 11.4.1.7 即时通讯消息 即时通讯消息支持支持发送文本消息,图片消息,许可发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地理位置发送。假如是移动端还支持语音发送,和语音聊天。 11.4.1.8 好友管理 好友管理提供对好友添加,修改基础信息,删除,拉入很名单功效,同时也提供对好友申请同意、拒绝和忽略操作 11.4.1.9 群组管理 群组管理提供用户对本身群组新建、修改、解散功效,同时也提供用户搜索群组,申请入群和退出群组功效。 3.4.2. 产品功效 11.4.2 11.4.2.1 注册 该软件提供注册功效分为两部分注册,一部分是产品本身业务范围内用户注册,一部分是调用IM通信平台接口注册成为通信平台用户。在IM通信平台注册成功后,需要将平台返回用户id和产品业务内用户进行关联,才能为后续功效提供服务。 11.4.2.2 登录 该软件提供登录功效分为两部分登录,一部分是产品本身登录,一部分是当用户在产品登录成功后再调用IM通信平台接口登录上通信平台。用户两部分登录成功后就能够在软件中使用聊天功效。 11.4.2.3 个人信息管理 用户登录成功后能够进入个人中心对自己信息进行管理,比如修改昵称,或修改个人头像,同时也许可修改个人登录密码。 11.4.2.4 单聊 软件支持点对点聊天,当用户登录成功后,能够看见自己好友列表,假如用户想和某位好友聊天只需关键点击该好友就能够进入聊天页面。支持发送文本消息,图片消息,许可发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地位位置发送。还支持语音发送,语音聊天和视频聊天。 11.4.2.5 群聊 软件支持群聊功效。当用户登录成功后,能够看见自己群组列表。用户能够点击自己加入群组进入群里面和群其它组员进行聊天。群聊支持发送文本消息,图片消息,许可发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地位位置发送。还支持语音发送,语音聊天。 11.4.2.6 已发送消息回执 当用户发送消息后,假如接收方在线,则通信平台会将消息投递到对方,此时平台会给发送发发送一条消息已送达消息回执。假如接收方没在线,则会将消息投递到对方离线消息队列中,并向发送方发送一条已送达消息回执。 11.4.2.7 即时通讯消息 Android用户端 发送即时通讯消息支持文字、语音、图片、地理位置、表情消息发送和接收,同时也提供发送附件功效。 IOS用户端 发送即时通讯消息支持文字、语音、图片、地理位置、表情消息发送和接收,同时也提供发送附件功效。 PC用户端 发送即时通讯消息支持文字、图片、表情消息发送和接收,同时也提供发送附件功效。 移动端消息传输采取压缩二进制流,消息传输效率高,移动弱网络优化,确保移动网络下消息必达 底层基于长连接技术实现,结合Android和IOS平台推送能力,支持消息即时推送。同时提供未读消息提醒。 11.4.2.8 好友管理 好友管理关键是提供用户对自己好友管理功效。包含添加好友,删除好友,将好友拉入黑名单,修改好友备注,已经好友申请消息管理功效。 Ø 好友添加:用户能够经过好友电话号码或好友昵称来搜索好友,电话号码搜索是唯一结果,好友昵称是多结果。用户能够点击添加好友,先对方发送好友申请消息。 Ø 删除好友:假如是移动端则在好友列表滑动要删除好友,就会有删除按钮出现,点击删除按钮就会提醒是否删除,点击是将删除好友,点击否取消删除 Ø 拉入黑名单:假如是移动端则在好友列表滑动要拉入黑名单好友,就会有黑名单按钮出现,点击黑名单按钮就会提醒是否将好友加入黑名单,点击是将好友拉入黑名单,点击否取消操作。当好友被拉入黑名单后将不能接收好友发送消息。 Ø 修改好友:在好友列表,点击好友,进入好友具体信息界面,在该界面右上角有设置按钮,点击进入就能够对好友进行备注修改。 Ø 好友申请消息:当有用户提交好友申请时,你将会收到好友申请消息,此时你就能够进行同意或拒绝操作。 11.4.2.9 群组管理 群组管理提供用户对本身群组新建、修改、解散功效,同时也提供用户搜索群组,申请入群和退出群组功效。 Ø 创建群组:用户能够依据自己需要进行群组创建,每个用户拥有4个群创建权限。 Ø 群组修改:群创建者能够对群名字进行修改。 Ø 群组解散:群创建能够在不需要群时,进行群解散操作。 Ø 群组申请:用户怎样想加入群组,能够先经过群名称或群id进行搜索,当搜索出来后,用户能够点击申请入群,等候群创建者同意。 Ø 退出群组:一般用户能够直接点击退出群组功效退出群组,创建者假如想退出则需要向将群转让给群里某位组员,然后才能退出群组。 3.5. 系统运行环境需求 3.5.1. 平台硬件需求 系统能力决定原因关键有两个方面,一个是架构设计,一个是系统硬件能力。基于本系统架构设计,我们对系统能力和硬件做了以下评定: 序号 每日活跃用户数 服务器数 服务器配置 其它 1 10万 5台 3台16核128G, 2台16核32G 数据库服务器需要配置SSD,同时配置足够存放空间来存放日志 2 20万 7台 5台16核128G, 2台16核32G 数据库服务器需要配置SSD,同时配置足够存放空间来存放日志 3 50万 9台 7台16核128G,2台16核32G 数据库服务器需要配置SSD,同时配置足够存放空间来存放日志 4 100万 13台 11台16核128G, 2台16核32G 数据库服务器需要配置SSD,同时配置足够存放空间来存放日志 5 200万 23台 21台16核128G,2台16核32G 数据库服务器需要配置SSD,同时配置足够存放空间来存放日志 3.5.2. 系统安全要求 11.5 11.5.1 11.5.2 11.5.2.1 应用层防护肯定性 信息安全正如木桶理论所描术那样,WEB应用系统安全程序并不取决于我们在某一个方面安全投入巨大,而在于我们是否针对脆弱防护御点采取了有效方法。 WEB应用系统防护需要采取专业针对应用层。 11.5.2.2 阻断应用攻击 攻击防护方面要求专业WEB应用防护设备进行防护,能经过对输入内容过滤及请求过滤实现对WEB站点保护。能有效预防跨站脚本攻击、SQL注入等常见攻击。同时还需要有强大可定制功效,针对WEB应用系统站点特征进行定制安全策略,从而最大程序防护WEB站点。 11.5.2.3 屏蔽安全隐患 为了预防服务端敏感信息泄露需要经过有效技术手段对现有网站敏感信息进行屏蔽,如备份文件下载、敏感数据库下载,管理后台外网尝试等,另外要求能屏蔽编写程序过程中遗留下程序注释,对服务犯错信息进行有效屏蔽。 完善事件处理 1. 事件检验 n 针对WEB应用系统,采取 WEB应用扫描器进行一次WEB系统全方面OWASP TOP 10检测,能够帮助用户充足了解WEB应用存在安全隐患,建立安全可靠WEB应用服务,改善并提升应用系统抗各类WEB应用攻击能力。 2.事中警告 针对各类攻击行为及异常访问行为,实时告警并经过各类方法通知给安 全管理员,便于快速处理安全事件。 3.事后分析 经过系统内部告警日志,实现对攻击源定位分析,同时提供各类统计 分析,方便掌握整个应用系统动态安全情况及运行状态。 11.5.2.4 软件配置提议 序号 系统软件名称 软件版本 备注 1 操作系统 CentOS 7 64位 2 数据库 MySQL 5.7版 3 TOMCAT tomcat8.0+ 4 运行版本 JDK7.0+
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服