CN107425938B - 一种即时通信中的大规模组织机构的实时同步方法 - Google Patents
一种即时通信中的大规模组织机构的实时同步方法 Download PDFInfo
- Publication number
- CN107425938B CN107425938B CN201710629635.1A CN201710629635A CN107425938B CN 107425938 B CN107425938 B CN 107425938B CN 201710629635 A CN201710629635 A CN 201710629635A CN 107425938 B CN107425938 B CN 107425938B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- timestamp
- organization
- tactful
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/067—Details of the timestamp structure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种即时通信中的大规模组织机构的实时同步方法,包括:客户端获取服务器的一个组织节点的数据;客户端将其对应的本地保存的策略时间戳和本地保存的该组织节点对应的物理时间戳发送给服务器;当该客户端存储于服务器的组织机构中:服务器首先判断该客户端传来的所述策略时间戳与服务器中存储的该客户端对应的策略时间戳是否一致,若不一致,服务器将新的策略时间戳传给该客户端;若一致,服务器再判断该客户端传来的所述物理时间戳与服务器中存储的该组织节点对应的物理时间戳是否一致,若不一致,服务器将新的物理时间戳和该组织节点的新数据传给该客户端。具有效率高、实时性高且减少客户端和服务器之间的数据交互量的特点。
Description
技术领域
本发明涉及即时通信领域,具体涉及一种即时通信中的大规模组织机构的实时同步方法。
背景技术
在即时通信领域,尤其是单位公司内部使用的即时通信,通常会使用组织机构来对员工进行分类管理,方便员工之间的通信和查找。
组织机构是指依法设立的机关、事业、企业、社团、及其他依法成立的单位,组织机构从组成上有两个基本实体元素:组织(部门)和人员(即用户),组织机构中的所有人员有其所属的组织,人员属于组织指的是:人员与组织之间建立了一种关系,这种关系是多对多的模型,即一个组织下会有多个人员,一个人员可以在多个组织下。
组织机构的管理都在后台服务器上进行,包括:结构的变更,比如将员工放进或移除其中一个组织;还包括:权限的变更,比如将普通员工的权限提高为高管或将高管降为普通员工。
在客户端使用过程中,当后台服务器对组织机构进行改变的时候,客户端应该能实时同步,即客户端获取后台服务器变更后的新数据。为了达到客户端和后台服务器组织机构实时同步的目的,现在多采用的处理方法有:第一种方法:后台服务器增加推送机制,将改变的内容主动推送给所有的客户端;第二种方法:在客户端每次重新登陆的时候,获取后台服务器每个组织节点的最新时间戳,从而获取最新的数据;第三种方法:每次获取一个组织节点下面内容的时候,都向服务器发送请求获取最新的数据。但是上述方法存在如下缺点:第一种方法在小规模的组织机构中可行,但是在大规模组织机构下将会给后台服务器带来巨大的压力;第二种方法在客户端使用过程中获取不到最新的数据,只有在重新登陆后才能获取到最新数据,实时性很低;第三种方法虽然达到了实时性的目的,但是性能低下,客户端和服务器之间交互数据量大,浪费资源。
发明内容
本发明针对现有技术的不足,提出了一种即时通信中的大规模组织机构的实时同步方法,针对大规模组织机构,具有效率高、实时性高且减少客户端和服务器之间的数据交互量的特点。
为解决上述技术问题,本发明采取的技术方案为:
本发明提出了一种即时通信中的大规模组织机构的实时同步方法,其特征在于,包括以下步骤:
(1)客户端获取服务器的一个组织节点的数据;
(2)客户端将其对应的本地保存的策略时间戳和本地保存的该组织节点对应的物理时间戳发送给服务器;
(3)服务器对该客户端是否存储于服务器的组织机构中进行判断,当该客户端存储于服务器的组织机构中时,执行以下操作:
a.服务器首先判断该客户端传来的所述策略时间戳与服务器中存储的该客户端对应的策略时间戳是否一致,若不一致,服务器将新的策略时间戳传给该客户端;若一致,执行步骤b;
b.服务器判断该客户端传来的所述物理时间戳与服务器中存储的该组织节点对应的物理时间戳是否一致,若不一致,服务器将新的物理时间戳和该组织节点的新数据传给该客户端。
进一步的,所述步骤b还包括:若该客户端传来的所述物理时间戳与服务器中存储的该组织节点对应的物理时间戳一致,则该客户端从本地获取该组织节点的数据。
进一步的,所述步骤(3)还包括:当该客户端不在服务器的组织机构中,该客户端结束同步。
进一步的,所述步骤(2)还包括:若该客户端本地没有物理时间戳和策略时间戳,将该客户端标识为-1。
进一步的,还包括步骤:所述标识为-1的客户端进行注册,获取服务器分配的策略时间戳和物理时间戳。
进一步的,服务器中的组织节点与所述物理时间戳的对应方法包括:服务器中的每一个组织节点对应一个物理时间戳,当所述服务器中的组织节点的数据改变时,所述服务器中该组织节点对应的物理时间戳相应发生改变。
进一步的,所述客户端与策略时间戳的对应方法包括:每一个客户端对应一个策略时间戳,当所述服务器中客户端的用户信息改变时,所述服务器中该客户端对应的所述策略时间戳相应发生改变。
进一步的,所述用户信息包括:用户的权限。
进一步的,所述步骤a还包括:当该客户端接收到新的策略时间戳时,清空本地所有数据,保存新的策略时间戳,从该组织节点中的根节点开始重新获取数据,完成同步。
进一步的,所述步骤b还包括:当该客户端接收到新的物理时间戳时,清空本地的该组织节点的数据,保存从服务器获取到的新的物理时间戳和该组织节点的新数据,完成同步。
本发明的有益效果为:本发明采用的这种大规模组织机构的同步方法,客户端与服务器通过策略时间戳和物理时间戳进行配对,再进行两种时间戳对应的数据的访问,并不需要直接进行数据的访问,有效地减轻了服务器的压力,减少了客户端和服务器交互的数据量,对于移动端设备减少了流量,同时在高效率的前提下,很好的保证了实时性。
附图说明
图1为本发明实时同步方法的流程示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明的技术方案,下面结合具体实施例对本发明作进一步的详细说明。下面描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
根据本发明的一些实施例,本发明提出了一种即时通信中的大规模组织机构的实时同步方法,本发明所述服务器包括:多个组织机构,每个所述组织机构包括:多个组织节点,每个组织节点包括:根节点和多个子节点,成树型结构拓扑展开,保存了多个客户端的用户数据。
根据本发明的实施例,图1为本发明实时同步方法的流程示意图,参照图1所示,本发明提出了一种即时通信中的大规模组织机构的实时同步方法,包括以下步骤。
(1)客户端开始获取服务器的一个组织节点下保存的数据;
(2)同时客户端将其自己本身对应的本地保存的策略时间戳和其本地保存的该组织节点对应的物理时间戳发送给服务器;
(3)服务器对该客户端是否存储于服务器的组织机构中进行判断:
当该客户端存储于服务器的组织机构中时,进行下述步骤a:服务器首先判断该客户端传来的所述策略时间戳与服务器中存储的该客户端对应的策略时间戳是否一致,若不一致,即服务器中存储的该客户端对应的策略时间戳发生改变,则服务器将新的策略时间戳传给该客户端,该客户端清空本地所有数据,保存新的策略时间戳,从该组织节点中的根节点开始重新获取数据,完成同步;若一致,再执行下述步骤b,对物理时间戳进行判断:
b.服务器判断该客户端传来的所述物理时间戳与服务器中存储的该组织节点对应的物理时间戳是否一致,若不一致,即服务器中存储的该组织节点对应的物理时间戳发生改变,则服务器将新的物理时间戳和该组织节点的新数据传给该客户端,该客户端清空本地的该组织节点的数据,保存从服务器获取到的新的物理时间戳和该组织节点的新数据;若一致,则该客户端直接从本地获取该组织节点的数据,即服务器中的所述策略时间戳和物理时间戳均未发生改变时,客户端不需要信息的同步更新,直接读取本地的数据即可。
根据本发明的一些实施例,所述步骤(3)中还包括:当该客户端不在服务器的组织机构中,该客户端造访服务器的进程直接返回给该客户端,该客户端结束同步。
根据本发明的一些实施例,所述步骤(2)中还包括:若该客户端本地没有物理时间戳和策略时间戳,将该客户端进行标识为-1,同时重新进行注册,获取服务器分配的策略时间戳和物理时间戳,同时将该客户端的数据发送给服务器进行存储,当服务器的数据进行改变时,该客户端能实时进行同步。
根据本发明的实施例,可以理解的是,本发明所述客户端与策略时间戳的对应方法包括:每一个客户端对应一个策略时间戳,当所述服务器中客户端的用户的权限发生改变时,所述服务器中该客户端对应的所述策略时间戳相应发生改变。
根据本发明的一些实施例,比如权限的变更,具体的如:服务器将普通员工的权限提高为高管或将高管降为普通员工时,所述服务器中该客户端用户对应的所述策略时间戳相应发生改变。
根据本发明的实施例,可以理解的是,本发明所述服务器中的组织节点与所述物理时间戳的对应方法包括:服务器中的每一个组织节点对应一个物理时间戳,当所述服务器中的组织节点下保存的数据发生增加、减少和改变时,所述服务器中该组织节点对应的物理时间戳相应发生改变。
根据本发明的一些实施例,比如客户端用户数量的改变,具体的,比如将员工放进或移除其中一个组织,所述服务器中该组织节点的对应物理时间戳相应发生改变。
发明人发现,本发明采用的这种大规模组织机构的同步方法,客户端与服务器通过策略时间戳和物理时间戳进行配对,再进行两种时间戳对应的数据的访问,并不需要直接进行数据的访问,有效地减轻了服务器的压力,减少了客户端和服务器交互的数据量,对于移动端设备减少了流量,同时在高效率的前提下,很好的保证了实时性。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型,同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。
Claims (8)
1.一种即时通信中的大规模组织机构的实时同步方法,其特征在于,包括以下步骤:
(1)客户端获取服务器的一个组织节点的数据;
(2)客户端将其对应的本地保存的策略时间戳和本地保存的该组织节点对应的物理时间戳发送给服务器,其中,服务器中的每一个组织节点对应一个物理时间戳,当所述服务器中的组织节点的数据改变时,所述服务器中该组织节点对应的物理时间戳相应发生改变,每一个客户端对应一个策略时间戳,当所述服务器中客户端的用户信息改变时,所述服务器中该客户端对应的所述策略时间戳相应发生改变;
(3)服务器对该客户端是否存储于服务器的组织机构中进行判断,当该客户端存储于服务器的组织机构中时,执行以下操作:
a.服务器首先判断该客户端传来的所述策略时间戳与服务器中存储的该客户端对应的策略时间戳是否一致,若不一致,服务器将新的策略时间戳传给该客户端;若一致,执行步骤b;
b.服务器判断该客户端传来的所述物理时间戳与服务器中存储的该组织节点对应的物理时间戳是否一致,若不一致,服务器将新的物理时间戳和该组织节点的新数据传给该客户端。
2.如权利要求1所述的实时同步方法,其特征在于,所述步骤b还包括:若该客户端传来的所述物理时间戳与服务器中存储的该组织节点对应的物理时间戳一致,则该客户端从本地获取该组织节点的数据。
3.如权利要求1所述的实时同步方法,其特征在于,所述步骤(3)还包括:当该客户端不在服务器的组织机构中,该客户端结束同步。
4.如权利要求1所述的实时同步方法,其特征在于,所述步骤(2)还包括:若该客户端本地没有物理时间戳和策略时间戳,将该客户端标识为-1。
5.如权利要求4所述的实时同步方法,其特征在于,还包括步骤:所述标识为-1的客户端进行注册,获取服务器分配的策略时间戳和物理时间戳。
6.如权利要求1所述的实时同步方法,其特征在于,所述用户信息包括:用户的权限。
7.如权利要求1所述的实时同步方法,其特征在于,所述步骤a还包括:当该客户端接收到新的策略时间戳时,清空本地所有数据,保存新的策略时间戳,从该组织节点中的根节点开始重新获取数据,完成同步。
8.如权利要求1所述的实时同步方法,其特征在于,所述步骤b还包括:当该客户端接收到新的物理时间戳时,清空本地的该组织节点的数据,保存从服务器获取到的新的物理时间戳和该组织节点的新数据,完成同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710629635.1A CN107425938B (zh) | 2017-07-28 | 2017-07-28 | 一种即时通信中的大规模组织机构的实时同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710629635.1A CN107425938B (zh) | 2017-07-28 | 2017-07-28 | 一种即时通信中的大规模组织机构的实时同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107425938A CN107425938A (zh) | 2017-12-01 |
CN107425938B true CN107425938B (zh) | 2019-04-16 |
Family
ID=60431414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710629635.1A Active CN107425938B (zh) | 2017-07-28 | 2017-07-28 | 一种即时通信中的大规模组织机构的实时同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107425938B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297529A (zh) * | 2013-06-06 | 2013-09-11 | 浙江大学 | 基于时间戳的树型结构数据同步方法 |
CN103812849A (zh) * | 2012-11-15 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种本地缓存更新方法、系统、客户端及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009516B (zh) * | 2006-01-26 | 2011-05-04 | 华为技术有限公司 | 一种进行数据同步的方法、系统及装置 |
CN101465885B (zh) * | 2009-01-06 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 一种sns浏览方法及提供sns浏览的设备 |
-
2017
- 2017-07-28 CN CN201710629635.1A patent/CN107425938B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812849A (zh) * | 2012-11-15 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种本地缓存更新方法、系统、客户端及服务器 |
CN103297529A (zh) * | 2013-06-06 | 2013-09-11 | 浙江大学 | 基于时间戳的树型结构数据同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107425938A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105472002B (zh) | 基于集群节点间即时拷贝的会话同步方法 | |
CN103442042B (zh) | 增量数据同步方法及系统 | |
CN107678776A (zh) | 多模块版本依赖关系构建方法、装置、服务器和存储介质 | |
CN104734915A (zh) | 一种复合多进程多线程的多网络并发动态仿真方法 | |
CN106506368B (zh) | 一种基于互联网的数据通信实现方法 | |
CN102045353A (zh) | 一种公有云服务的分布式网络安全控制方法 | |
CN104317957B (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN106453541A (zh) | 一种数据同步的方法、服务器以及数据同步系统 | |
CN108834179A (zh) | 调整心跳周期的方法、服务器和客户端 | |
CN103327075B (zh) | 基于标签交互的分布式社团发现方法 | |
Tian | A note on the fundamental limits of coded caching | |
CN108023932A (zh) | 一种基于Redis通用代理的实现方法、存储介质及电子设备 | |
CN101477386A (zh) | 一种定时器实现方法和装置 | |
CN110083504B (zh) | 分布式任务的运行状态监控方法及装置 | |
CN105871607A (zh) | 信息处理方法及服务平台 | |
CN100409621C (zh) | 一种在网管系统中实现逆向同步的方法 | |
CN107425938B (zh) | 一种即时通信中的大规模组织机构的实时同步方法 | |
CN101997701A (zh) | 数据处理方法及装置 | |
CN105635215A (zh) | 联系人信息的同步方法、装置及云服务器 | |
CN105915636A (zh) | 一种联系人信息的同步方法和装置 | |
CN103686668B (zh) | 数据更新方法、系统和设备 | |
CN103117883B (zh) | 一种分组设备运行状态同步方法 | |
EP2479942A1 (en) | Method and system for discovering ring network protection information | |
CN109710693A (zh) | 一种ldap域数据同步的递归实现方法及系统 | |
CN110324837A (zh) | 一种网络管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | "change of name, title or address" |
Address after: Room 2298, Yingying building, No.99, Tuanjie Road, yanchuangyuan, Jiangbei new district, Nanjing, Jiangsu Province Patentee after: Beixinyuan system integration Co., Ltd Address before: 211800 3 Rui Yun Road, Jiang Po Street, Pukou District, Jiangsu, Nanjing Patentee before: JIANGSU SHENZHOU XINYUAN SYSTEM ENGINEERING Co.,Ltd. |
|
CP03 | "change of name, title or address" |