今日任务:
1.研究web server关键技术:批量导入、日志记录功能、XCAP
2.下午通讯录方案评审
实际:
批量导入导出完成
企业通讯录批量导入:部门数据有层级关系,所以先批量插入再批量更新
收获:
1.批量插入:
insert into DepartmentInfo (ID, DepartmentName, ParentID, IsRoot, Remark) vlaues
(1, 'xxx', 'xx3', 0,'xxx'), (1, 'xxx', 'xx3', 0,'xxx'), (1, 'xxx', 'xx3', 0,'xxx');
2.批量更新:
DepartmentInfo
ID DepartmentName ParentID IsRoot Remark
1 总经办 0
2 市场部 0
3 研发部 0
4 开发一部 1 研发部
5 中国市场部 1 市场部
把这样的表变成下面的样子
依据Remark找到ParentID
ID DepartmentName ParentID IsRoot Remark
1 总经办 0
2 市场部 0
3 研发部 0
4 开发一部 3 1
5 中国市场部 2 1
SQL: update DepartmentInfo inner join (select ID, DepartmentName from DepartmentInfo) b set DepartmentID = b.ID, Remark = '' where Remark = b.DepartmentName;
3.关于方案
通讯录: a. 在UCS网管删除企业通讯录的管理员时,提示用户:该操作会删除企业通讯录所有的信息
b.客户端第一次获取通讯录信息时,分两次发送GET,第一次携带用户的Sip号码,server端 检测用户的合法性,并返回用户自己的信息,第二次GET所有企业通讯录的信息。好处是安=全、便于实现
c.设计方案要考虑到所有涉及到的网元的影响,如网管、客户端的配置影响、可操作的影响;
d.由客户端进行显示和操作权限的控制
c.遗留问题:企业通讯录管理员,添加企业通讯录信息与批量导入通讯录信息时,用户数据的有效性检测。
呈现: a. 状态呈现的权限控制应该由客户端执行。状态呈现服务器给客户端下发全部企业成员的状态。
b. 如果用户集体掉线,如何预防状态通知的消息风暴? 本次设计没有考虑,在设计文档的遗留问题中加入此问题。后期的完善设计中考虑风暴控制方案。如加入时间限制,时间可以通过配置
c. 基于状态呈现的业务控制有哪些? 目前对不在线的用户可以发起语音呼叫,但是不能发送即时消息。
d. 状态订阅的周期是多长时间? 订阅周期由subscribe消息的expires字段决定,实现时可以尽量延长订阅周期,减少消息交互次数
客户端管理:
a.IMP板出厂是否有客户端版本。 答复:默认有,也可以没有。
b. 提供二维码保存在本地按钮或者直接支持邮件发送 答复:暂时提供保存到本地按钮。
c. 客户端发布描述信息 答复:xxx确定客户端发布打包格式,包括版本描述及MD5值。
d. 提供服务器地址下载版本功能。 答复:预留接口,可以从固定服务器检测下载最新客户端。
设计方案时需要考虑以下几点:
对于其它网元的影响,包括接口、实现、配置、操作等
对于可能有多种应用场景的情况,为了保证可用性、友好性,一定不要限定一种实现方式,可以在方案中列出多种实现方式以应对不同场景的需求
多站在用户(包括测试组、企业用户、公众消费者用户)的角度考虑设计,考虑用户的使用感受、操作习惯、便利性、友好性等
分享到:
相关推荐
ARM Linux交叉编译工具链,arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
在编译高级版本的GCC时,通常需要这些高精度数学库来确保正确性和效率,特别是在处理浮点和复数运算时。 在编译和安装这些库的过程中,开发者通常会执行以下步骤: 1. 解压缩每个文件:使用命令行工具如`tar -xvjf ...
javax.servlet.jsp.jstl-api-1.2.1.jar
SVN客户端官方汉化包 LanguagePack_1.10.0.28176-x64-zh_CN.msiSVN客户端官方汉化包 LanguagePack_1.10.0.28176-x64-zh_CN.msi
TortoiseSVN-1.8.5.25224-x64-svn-1.8.8 中文语言包
64位centos按装下按装64位oracle时,centos系统缺少的rpm包,附件内存放着以下rpm按装包: libaio-0.3.105-2.x86_64.rpm libaio-devel-0.3.105-2.i386.rpm libaio-devel-0.3.105-2.x86_64.rpm libaio-devel-0.3.106-...
用户可以直接在文件和文件夹上右键点击,使用诸如"Check out"(检出)、"Commit"(提交)、"Update"(更新)等SVN命令,而无需离开熟悉的文件管理环境。1.8.3版本是TortoiseSVN的一个稳定版本,提供了多项改进和新...
TortoiseSVN是一款在Windows环境下非常流行的Subversion(SVN)版本控制系统客户端,它提供了图形化的用户界面,使得用户可以方便地进行版本控制操作。这个“TortoiseSVN-1.8.3.24901-win32-svn-1.8.4 简体中文语言...
jquery.i18n.properties-1.0.9.js 下载
TortoiseSVN-1.7.5.22551-x64-svn-1.7.3 英文安装包(64位)
TortoiseSVN是一款在Windows操作系统上广泛使用的版本控制系统客户端,专为Subversion(简称SVN)设计。这个安装包是TortoiseSVN的1.8.4.24972版本,针对32位Windows系统,同时包含了一个中文语言包,使得中文用户...
oracle客户端和驱动,instantclient-basic-windows.x64-11.2.0.4.0和instantclient-odbc-windows.x64-11.2两个压缩包,需要一起使用,使用时解压这2个包,注意2个包解压后的所有文件必须放在一个目录下,假设是D:\...
javax.ws.rs-api-2.0.jar
在配置CORS过滤器时,首先需要将这两个库添加到项目的类路径中。然后,你需要在Web应用的配置文件(如`web.xml`)中定义一个Filter,这个Filter负责处理CORS请求。以下是一个简单的配置示例: ```xml <filter-...
libvirt-client-0.10.2-29.el6_5.7.x86_64.rpm libvirt-python-0.10.2-29.el6_5.7.x86_64.rpm lzo-2.03-3.1.el6.x86_64.rpm lzop-1.02-0.9.rc1.el6.x86_64.rpm memcached-1.4.4-3.el6.x86_64.rpm mod_wsgi-3.2-3.el6...
这两个库在处理XML数据时提供了丰富的功能,尤其是在进行XML解析、操作和XPath查询时。 DOM4J是Java的一个开源XML处理库,它的全称是“Document Object Model for Java”。它提供了灵活和强大的API来处理XML文档,...
// 在下文中上传文件至数据库时,将对这里改写 item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+" "); } catch (Exception e) { out.println(e); } } else { throw ...
Oracle Instant Client是一款轻量级的数据库连接工具,用于在不安装完整Oracle Database的情况下与Oracle数据库进行交互。这个软件包主要用于开发和运行连接Oracle数据库的应用程序,支持多种编程语言,如C、C++、...
在Android开发中,有时我们需要处理各种网络操作,例如图片上传。在这种情况下,依赖正确的库是至关重要的。在提供的标题和描述中提到了三个关键的Java Archive (JAR) 文件,它们是Apache Commons项目的一部分,分别...
例如,`<sqlMap>`元素用于包含具体的SQL语句,`<select>`、`<insert>`、`<update>`和`<delete>`元素则分别用于定义查询、插入、更新和删除操作。通过引入sql-map-2.dtd,XML编辑器可以提供代码补全和错误检查,提高...