CN103532827A - 一种通过扩展xmpp协议实现通信录功能的***和方法 - Google Patents

一种通过扩展xmpp协议实现通信录功能的***和方法 Download PDF

Info

Publication number
CN103532827A
CN103532827A CN201310395634.7A CN201310395634A CN103532827A CN 103532827 A CN103532827 A CN 103532827A CN 201310395634 A CN201310395634 A CN 201310395634A CN 103532827 A CN103532827 A CN 103532827A
Authority
CN
China
Prior art keywords
message
xmpp
address book
module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310395634.7A
Other languages
English (en)
Inventor
张庚
刘革
齐幸辉
丁慧霞
夏猛
汪洋
苏斓
陈莹莹
李�杰
陈厢
陈广
胡成岗
田阳
杨莹
马文学
穆青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HEBEI FAR EAST HARRIS COMMUNICATIONS CO Ltd
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Sichuan Electric Power Co Ltd
Original Assignee
HEBEI FAR EAST HARRIS COMMUNICATIONS CO Ltd
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
State Grid Sichuan Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HEBEI FAR EAST HARRIS COMMUNICATIONS CO Ltd, State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI, State Grid Sichuan Electric Power Co Ltd filed Critical HEBEI FAR EAST HARRIS COMMUNICATIONS CO Ltd
Priority to CN201310395634.7A priority Critical patent/CN103532827A/zh
Publication of CN103532827A publication Critical patent/CN103532827A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种通过扩展XMPP协议实现通信录功能的***和方法,该***包括:XMPP消息处理模块,用于解析和封装扩展的XMPP消息;界面显示模块,用于展示数据信息;成员管理模块,管理通信录中成员的信息;导入导出模块,用于导入或导出XML文件;同步更新模块,用于更新通信录数据;以及分别与通信类业务模块端和服务器端传输数据的接口。本发明将企业组织架构、好友和用户存储的联系人整合到通信录中,丰富用户的操作;较基于标准XMPP协议实现的通信录,本通信录中的成员信息更加丰富;改进个人通信录中数据组织方式,采用联系人信息包含在分组信息中的数据组织方式,降低数据冗余。

Description

一种通过扩展XMPP协议实现通信录功能的***和方法
技术领域
本发明属于计算机网络通信技术领域,尤其涉及一种基于XMPP协议来实现通信录相关功能的***和方法。
背景技术
IM(Instant Message,即时通信)是一种用于实时交流的互联网应用,主要用于日常生活中人们之间的沟通与联系。近年来,即时通信在越来越多的企业中得到应用,提高了员工的工作效率,快速解决沟通问题。
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。这个协议允许网络上任何用户向其他用户发送即时消息。XMPP具有公开性、良好的扩展性、分布式、安全性等特点,开发人员可以很方便的对其进行扩展,实现新的功能。
基于标准XMPP实现的即时通信客户端具有通信录功能,该通信录能够显示好友及其状态。通信录支持好友间的消息发送、文件传送、群聊等功能。
基于标准XMPP实现的即时通信客户端只提供最基本的通信录功能,还存在一定缺陷:通信录中好友的信息过少,需要对其扩展,增加更多的信息;通信录中仅有个人好友,没有企业组织结构,无法满足企业即时通信的需求;在通信录中增加非好友,非好友不能进行即时通信,但可以保存一些用户输入的信息,可以用这些信息进行打电话、发短信、发电子邮件等操作。
发明内容
为了克服上述现有技术的不足,本发明提供一种较好融合企业通信录和个人通信录的***和方法,对XMPP做了进一步的扩展和定义,增强了通信录的功能。
为了实现上述发明目的,本发明采取如下技术方案:
本发明的一方面,提供一种通过扩展XMPP协议实现通信录功能的***,其特征在于,该***包括:
XMPP消息处理模块,用于解析和封装扩展的XMPP消息;
界面显示模块,用于展示数据信息;
成员管理模块,管理通信录中成员的信息;
导入导出模块,用于导入或导出XML文件;
同步更新模块,用于更新通信录数据;以及
分别与通信类业务模块端和服务器端传输数据的接口;
所述通信录包括企业组织架构和个人通信录;所述个人通信录包括好友和用户存储的联系人。
优选地,所述扩展的XMPP消息中,实现通信录功能的消息均命名为“contacts”,命名空间为“com.iq.contacts”;该实现通信录功能的消息包括该消息的类型。
优选地,所述企业组织架构采用多级树状结构组织数据;所述个人通信录分两级显示,包括分组及组下的成员。
本发明的另一方面,提供一种通过扩展XMPP协议实现通信录功能的方法,其特征在于:所述通信录包括企业组织架构和个人通信录;所述个人通信录包括好友和用户存储的联系人该方法包括以下步骤:
A.客户端向服务器发送请求信息;
B.服务器解析该请求信息,并执行相关操作;
C.服务器将数据组织成扩展的XMPP消息返回给客户端;
D.客户端接收服务器返回的消息,更新本地数据库并在UI界面上显示。
优选地,所述步骤A中发送的请求信息包括扩展的XMPP消息;该步骤包括:
XMPP消息处理模块将用户的修改操作封装成扩展的XMPP消息;
该消息通过加解密模块和底层传输模块传输至服务器。
优选地,所述扩展的XMPP消息中,实现通信录功能的消息都命名为“contacts”,命名空间为“com.iq.contacts”;该实现通信录功能的消息包括该消息的类型。
优选地,所述步骤D包括:
XMPP消息处理模块接收并解析服务器传来的消息;
界面显示模块展示解析后的数据;
同步更新模块更新本地数据库。
优选地,所述企业组织架构采用多级树状结构组织数据,XMPP消息处理模块将树状结构的数据从扩展的XMPP消息中解析出来,存储在本地数据库中并刷新通信录中的企业组织架构部分;
所述个人通信录分两级显示,包括分组及组下的成员,组和组不能相互嵌套;XMPP消息处理模块解析得到的个人通信录数据中包括成员信息及分组信息,分别将这两种信息存入本地数据库中,并刷新通信录中的个人通信录部分。
与现有技术相比,本发明的有益效果在于:
1.将企业组织架构、好友和用户存储的联系人整合到通信录中,丰富用户的操作;
2.较基于标准XMPP协议实现的通信录,本通信录中的成员信息更加丰富;
3.改进个人通信录中数据组织方式,采用联系人信息包含在分组信息中的数据组织方式,降低数据冗余。
附图说明
图1是本发明通信录***构成示意图;
图2是本发明通信录业务与其它业务的关系示意图;
图3是本发明实施例中客户端获取通信录流程图;
图4是本发明实施例中添加好友操作流程;
图5是本发明实施例中接受好友请求操作流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示,通信录包含XMPP消息处理模块、界面显示模块、成员管理模块、导入导出模块、同步更新模块,同时提供与通信类业务和数据传输的接口。XMPP消息处理模块负责消息的接收和发送,并提供协议的解析和封装功能,将用户提供的数据和请求转换为XMPP消息,同时解析来自服务器的消息和响应;界面显示模块负责把客户端获得的数据呈现给用户;成员管理模块负责成员的增加、删除、修改和权限管理;导入导出模块负责将通信录导出成XML文件或者将XML文件导入到通信录;同步更新模块负责定时更新通信录数据。
如图2所示,通信录中包括企业组织架构和个人通信录。企业组织架构呈现方式为多级树状结构,能够显示单位组织信息及成员信息,企业组织架构由企业管理员创建,用户只能查看,不能修改;个人通信录中包含多个组,每个组中存在一个或多个成员,成员包括成员名称信息和成员属性信息,用户自己创建并维护个人通信录。
如图2所示,个人通信录中的成员既可以是好友,也可以是用户存储的联系人。好友之间可以相互订阅状态和发送即时消息;联系人仅是用户保存的一些输入信息,可以利用这些信息来打电话、发短信、发邮件等,但不能订阅对方状态和发送即时消息。
企业组织架构和个人通信录的数据都保存在服务器端,客户端保留一个通信录的最新备份。客户端登录时,首先将备份数据组织成通信录呈现给用户,之后向服务器请求新的通信录数据,将得到的通信录数据存储在客户端本地数据库中,并刷新界面显示。
一、扩展XMPP协议
客户端根据用户的不同操作产生相应的指令,并将指令封装成扩展的XMPP消息发送给服务器。实现通信录功能的消息都是name为“contacts”,namespace为“com.iq.contacts”的扩展XMPP消息实现。每个消息都包含一个确定的消息类型,用来对应特定的指令。
下面以客户端发送增加联系人消息为例来说明客户端和服务器通过扩展XMPP协议进行交互的流程。
第一步,用户操作通信录,执行增加联系人操作。
第二步,客户端根据用户的操作和输入的数据产生扩展XMPP消息并发送至服务器端,消息类型为增加联系人,消息中包含用户分组、用户名、电话等信息。
第三步,服务器收到并解析客户端发来的消息,判断是个人通信录请求,消息类型是增加联系人。
第四步,服务器解析增加联系人消息,获取联系人数据,并存储在服务器端数据库中。
第五步,服务器将更新后的数据组织成扩展的XMPP消息并返回result响应给客户端。
第六步,客户端收到服务器发来的消息,解析出联系人数据,存储到本地数据库中并更新通信录界面。
二、获取通信录
客户端登录后要向服务器获取通信录,获取通信录的流程如图3所示。
客户端首先利用本地数据库中存储的通信录备份生成通信录,同时向服务器发送获取通信录请求,包括请求企业组织架构和个人通信录。
服务器收到消息后,分别根据企业组织架构和个人通信录的请求在数据库中获取相应数据。
服务器将获取到的数据组织成扩展的XMPP消息,分别向客户端返回企业组织架构响应和个人通信录响应。
企业组织架构采用多级树状结构组织数据,客户端将树状结构的数据从扩展的XMPP消息中解析出来,存储在本地数据库中并刷新通信录中的企业组织架构部分。
个人通信录分两级显示,仅显示分组及组下的成员,组和组不能相互嵌套。客户端解析得到的个人通信录数据中包括成员信息及分组信息,分别将这两种信息存入本地数据库中,并刷新通信录中的个人通信录部分。
三、个人通信录操作
基于标准XMPP协议实现的通信录仅实现了个人通信录功能,分两级显示。但其数据采用分组信息包含在联系人信息中的组织方式,当分组较少且联系人较多时会产生较大数据冗余。
本发明对个人通信录的数据组织方式做了改进,采用联系人信息包含在分组信息中的数据组织方式,降低数据冗余。
个人通信录中的成员可以是好友,也可以是用户存储的联系人。好友之间可以相互订阅状态和发送即时消息;联系人仅是用户保存的一些输入信息,可以利用这些信息来打电话、发短信、发邮件等,但不能订阅对方状态和发送即时消息。
个人通信录的操作主要指成员和分组的增删改查操作,还包括组拆分和合并、成员移动和复制、加联系人为好友、拉黑好友与黑名单好友恢复等特殊操作。
如图4所示,下面是个人通信录实现加联系人为好友的操作流程:
第一步,用户在个人通信录中选择一个联系人,想要加对方为好友。
第二步,客户端发送认证信息,验证用户想要加的好友是否存在。
第三步,客户端收到服务器返回的响应。如果认证成功,则向对方发送加好友请求;如果认证失败,提示用户加好友失败。
第四步,在发送加好友请求完成后,等待对方确认。这时可以向对方发送即时消息,但不能订阅对方状态。
如图5所示,下面是客户端收到加好友请求后的操作流程:
第一步,客户端收到加好友请求后,首先选择是否同意加对方为好友。如果拒绝加对方为好友,则向对方发送拒绝加好友的响应。
第二步,如果同意加对方为好友,客户端提示用户是否将好友关联到已有联系人。
第三步,如果用户选择将好友关联到已有联系人,则提示用户选择一个联系人并关联;如果用户不想将好友关联到已有联系人,则在个人通信录中新建一个好友。
第四步,向对方发送同意加好友响应。这时既可以看到对方状态也可以给对方发送即时消息。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

Claims (8)

1.一种通过扩展XMPP协议实现通信录功能的***,其特征在于,该***包括:
XMPP消息处理模块,用于解析和封装扩展的XMPP消息;
界面显示模块,用于展示数据信息;
成员管理模块,管理通信录中成员的信息;
导入导出模块,用于导入或导出XML文件;
同步更新模块,用于更新通信录数据;以及
分别与通信类业务模块端和服务器端传输数据的接口;
所述通信录包括企业组织架构和个人通信录;所述个人通信录包括好友和用户存储的联系人。
2.如权利要求1所述的***,其特征在于,所述扩展的XMPP消息中,实现通信录功能的消息均命名为“contacts”,命名空间为“com.iq.contacts”;该实现通信录功能的消息包括该消息的类型。
3.如权利要求1所述的***,其特征在于,所述企业组织架构采用多级树状结构组织数据;所述个人通信录分两级显示,包括分组及组下的成员。
4.一种通过扩展XMPP协议实现通信录功能的方法,其特征在于:所述通信录包括企业组织架构和个人通信录;所述个人通信录包括好友和用户存储的联系人该方法包括以下步骤:
A.客户端向服务器发送请求信息;
B.服务器解析该请求信息,并执行相关操作;
C.服务器将数据组织成扩展的XMPP消息返回给客户端;
D.客户端接收服务器返回的消息,更新本地数据库并在UI界面上显示。
5.如权利要求4所述的方法,其特征在于:所述步骤A中发送的请求信息包括扩展的XMPP消息;该步骤包括:
XMPP消息处理模块将用户的修改操作封装成扩展的XMPP消息;
该消息通过加解密模块和底层传输模块传输至服务器。
6.如权利要求4或5所述的方法,其特征在于:所述扩展的XMPP消息中,实现通信录功能的消息都命名为“contacts”,命名空间为“com.iq.contacts”;该实现通信录功能的消息包括该消息的类型。
7.如权利要求4所述的方法,其特征在于:所述步骤D包括:
XMPP消息处理模块接收并解析服务器传来的消息;
界面显示模块展示解析后的数据;
同步更新模块更新本地数据库。
8.如权利要求4所述的方法,其特征在于:所述企业组织架构采用多级树状结构组织数据,XMPP消息处理模块将树状结构的数据从扩展的XMPP消息中解析出来,存储在本地数据库中并刷新通信录中的企业组织架构部分;
所述个人通信录分两级显示,包括分组及组下的成员,组和组不能相互嵌套;XMPP消息处理模块解析得到的个人通信录数据中包括成员信息及分组信息,分别将这两种信息存入本地数据库中,并刷新通信录中的个人通信录部分。
CN201310395634.7A 2013-09-03 2013-09-03 一种通过扩展xmpp协议实现通信录功能的***和方法 Pending CN103532827A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310395634.7A CN103532827A (zh) 2013-09-03 2013-09-03 一种通过扩展xmpp协议实现通信录功能的***和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310395634.7A CN103532827A (zh) 2013-09-03 2013-09-03 一种通过扩展xmpp协议实现通信录功能的***和方法

Publications (1)

Publication Number Publication Date
CN103532827A true CN103532827A (zh) 2014-01-22

Family

ID=49934519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310395634.7A Pending CN103532827A (zh) 2013-09-03 2013-09-03 一种通过扩展xmpp协议实现通信录功能的***和方法

Country Status (1)

Country Link
CN (1) CN103532827A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941556A (zh) * 2017-04-20 2017-07-11 青岛海信移动通信技术股份有限公司 融合通信联系人信息的确定方法及装置
CN112152905A (zh) * 2015-02-16 2020-12-29 钉钉控股(开曼)有限公司 通讯方法、装置及移动设备
CN113489634A (zh) * 2021-06-16 2021-10-08 中企链信(北京)科技有限公司 一种企业间协同即时通讯扩展方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080130A1 (en) * 2004-10-08 2006-04-13 Samit Choksi Method that uses enterprise application integration to provide real-time proactive post-sales and pre-sales service over SIP/SIMPLE/XMPP networks
CN101197018A (zh) * 2007-12-28 2008-06-11 宇龙计算机通信科技(深圳)有限公司 一种通讯录的排序方法及***
CN102404290A (zh) * 2010-09-10 2012-04-04 杭州世导通讯有限公司 一种通过扩展xmpp协议实现虚拟总机业务层关联的***和方法
CN102594845A (zh) * 2012-03-29 2012-07-18 东南大学 一种基于xmpp协议的即时消息传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080130A1 (en) * 2004-10-08 2006-04-13 Samit Choksi Method that uses enterprise application integration to provide real-time proactive post-sales and pre-sales service over SIP/SIMPLE/XMPP networks
CN101197018A (zh) * 2007-12-28 2008-06-11 宇龙计算机通信科技(深圳)有限公司 一种通讯录的排序方法及***
CN102404290A (zh) * 2010-09-10 2012-04-04 杭州世导通讯有限公司 一种通过扩展xmpp协议实现虚拟总机业务层关联的***和方法
CN102594845A (zh) * 2012-03-29 2012-07-18 东南大学 一种基于xmpp协议的即时消息传输方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈武: "基于XMPP的企业级即时通信***的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112152905A (zh) * 2015-02-16 2020-12-29 钉钉控股(开曼)有限公司 通讯方法、装置及移动设备
CN106941556A (zh) * 2017-04-20 2017-07-11 青岛海信移动通信技术股份有限公司 融合通信联系人信息的确定方法及装置
CN106941556B (zh) * 2017-04-20 2020-08-04 青岛海信移动通信技术股份有限公司 融合通信联系人信息的确定方法及装置
CN113489634A (zh) * 2021-06-16 2021-10-08 中企链信(北京)科技有限公司 一种企业间协同即时通讯扩展方法

Similar Documents

Publication Publication Date Title
CN102664871B (zh) 一种智能终端通讯录的处理方法
US9615223B2 (en) Electronic messaging technology
US7720920B2 (en) Client side based data synchronization and storage
CA2544837C (en) Synchronization and merge engines
CN106850788B (zh) 面向多源异构地理信息资源的集成框架及集成方法
CN102202102B (zh) 基于云计算架构的网络服务聚合***及其聚合方法
US10122665B2 (en) Distributed synchronization data in a message management service
US20050044235A1 (en) System, computer product and method for enabling wireless data synchronization
CN101098313B (zh) 一种邮件转发方法及***
CN101188625B (zh) 一种实现资讯内容订阅的方法及***
CN105809356A (zh) 一种基于应用集成云平台的信息***资源管理方法
US20140129511A1 (en) On-demand viewing of a report with security permissions
CN103136658A (zh) 自动聚集联系人信息
CN102769640B (zh) 用户信息的更新方法、服务器以及***
CN101682648A (zh) 在多实体标识情况中管理实体数据
CN102111347A (zh) 融合通信***中基于多协议即时消息的处理方法和***
CN110213156B (zh) 一种跨中心群组即时通信方法和***
CN105162697A (zh) 一种微博***及其数据控制方法
US20140156763A1 (en) Person centric feeds and direct messaging in business systems
CN105207885B (zh) 在会话界面中展示用户信息的方法及装置
CN103873518A (zh) 多终端同步获取增强通讯录的方法、***与Web服务器
CN103532827A (zh) 一种通过扩展xmpp协议实现通信录功能的***和方法
CN101645788A (zh) 一种在企业即时通讯工具中设置企业信息的***及方法
CN102158429A (zh) 一种基于社区平台的群组通讯方法及***
CN101808170B (zh) 一种网络电话本***的服务器和实现网络电话本的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140122