公开/公告号CN107425938A
专利类型发明专利
公开/公告日2017-12-01
原文格式PDF
申请/专利权人 江苏神州信源系统工程有限公司;
申请/专利号CN201710629635.1
申请日2017-07-28
分类号H04J3/06(20060101);
代理机构11254 北京连城创新知识产权代理有限公司;
代理人郝学江
地址 211800 江苏省南京市浦口区江埔街道瑞韵路3号
入库时间 2023-06-19 03:54:13
法律状态公告日
法律状态信息
法律状态
2019-04-16
授权
授权
2017-12-26
实质审查的生效 IPC(主分类):H04J3/06 申请日:20170728
实质审查的生效
2017-12-01
公开
公开
技术领域
本发明涉及即时通信领域,具体涉及一种即时通信中的大规模组织机构的实时同步方法。
背景技术
在即时通信领域,尤其是单位公司内部使用的即时通信,通常会使用组织机构来对员工进行分类管理,方便员工之间的通信和查找。
组织机构是指依法设立的机关、事业、企业、社团、及其他依法成立的单位,组织机构从组成上有两个基本实体元素:组织(部门)和人员(即用户),组织机构中的所有人员有其所属的组织,人员属于组织指的是:人员与组织之间建立了一种关系,这种关系是多对多的模型,即一个组织下会有多个人员,一个人员可以在多个组织下。
组织机构的管理都在后台服务器上进行,包括:结构的变更,比如将员工放进或移除其中一个组织;还包括:权限的变更,比如将普通员工的权限提高为高管或将高管降为普通员工。
在客户端使用过程中,当后台服务器对组织机构进行改变的时候,客户端应该能实时同步,即客户端获取后台服务器变更后的新数据。为了达到客户端和后台服务器组织机构实时同步的目的,现在多采用的处理方法有:第一种方法:后台服务器增加推送机制,将改变的内容主动推送给所有的客户端;第二种方法:在客户端每次重新登陆的时候,获取后台服务器每个组织节点的最新时间戳,从而获取最新的数据;第三种方法:每次获取一个组织节点下面内容的时候,都向服务器发送请求获取最新的数据。但是上述方法存在如下缺点:第一种方法在小规模的组织机构中可行,但是在大规模组织机构下将会给后台服务器带来巨大的压力;第二种方法在客户端使用过程中获取不到最新的数据,只有在重新登陆后才能获取到最新数据,实时性很低;第三种方法虽然达到了实时性的目的,但是性能低下,客户端和服务器之间交互数据量大,浪费资源。
发明内容
本发明针对现有技术的不足,提出了一种即时通信中的大规模组织机构的实时同步方法,针对大规模组织机构,具有效率高、实时性高且减少客户端和服务器之间的数据交互量的特点。
为解决上述技术问题,本发明采取的技术方案为:
本发明提出了一种即时通信中的大规模组织机构的实时同步方法,其特征在于,包括以下步骤:
(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,同时重新进行注册,获取服务器分配的策略时间戳和物理时间戳,同时将该客户端的数据发送给服务器进行存储,当服务器的数据进行改变时,该客户端能实时进行同步。
根据本发明的实施例,可以理解的是,本发明所述客户端与策略时间戳的对应方法包括:每一个客户端对应一个策略时间戳,当所述服务器中客户端的用户的权限发生改变时,所述服务器中该客户端对应的所述策略时间戳相应发生改变。
根据本发明的一些实施例,比如权限的变更,具体的如:服务器将普通员工的权限提高为高管或将高管降为普通员工时,所述服务器中该客户端用户对应的所述策略时间戳相应发生改变。
根据本发明的实施例,可以理解的是,本发明所述服务器中的组织节点与所述物理时间戳的对应方法包括:服务器中的每一个组织节点对应一个物理时间戳,当所述服务器中的组织节点下保存的数据发生增加、减少和改变时,所述服务器中该组织节点对应的物理时间戳相应发生改变。
根据本发明的一些实施例,比如客户端用户数量的改变,具体的,比如将员工放进或移除其中一个组织,所述服务器中该组织节点的对应物理时间戳相应发生改变。
发明人发现,本发明采用的这种大规模组织机构的同步方法,客户端与服务器通过策略时间戳和物理时间戳进行配对,再进行两种时间戳对应的数据的访问,并不需要直接进行数据的访问,有效地减轻了服务器的压力,减少了客户端和服务器交互的数据量,对于移动端设备减少了流量,同时在高效率的前提下,很好的保证了实时性。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型,同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。
机译: 在即时通信中发送会话消息的方法,即时通信客户端及其存储介质
机译: 星形通信中多路复用单词的同步方法,一种光纤通信网络
机译: 基于即时通信的数据同步方法及装置