一种即时通讯系统组织架构快速更新的方法与流程

文档序号:11253774阅读:806来源:国知局
一种即时通讯系统组织架构快速更新的方法与流程

本发明涉及一种即时通讯系统组织架构快速更新的方法,属于计算机数据交互领域。



背景技术:

目前市场上存在的企业即时通信系统更新组织架构机制,基本采用下载完整组织架构方式,即客户端首次登录到服务器上下载组织架构文件,等组织架构文件下载完成后才能正常使用。此外,服务器组织架构维护变更,客户端需要等到下一个更新周期完成后才能显示最新数据。

在网络环境拥堵的情况,大组织架构文件容量一般很大,下载到本地需要更多的时间,若此时客户端查看组织架构,会显示为空白界面。有可能在下载过程中,用户应用程序切到后台,手机操作系统杀掉应用程序进程,下次应用程序需要重新下载,过程有可能又被杀掉,如此反复循环。如果仅用按需拉取,用户偶尔网络断开,本地没有组织架构,此时无法查看到未拉取过数据。



技术实现要素:

针对现有技术的不足,本发明的技术方案提供了一种即时通讯系统组织架构快速更新的方法,用于解决在绝大部分网络环境下,大组织架构刷新缓慢问题。

本发明的技术方案包括一种即时通讯系统组织架构快速更新的方法,其特征在于,该方法包括:无组织架构的更新,根据用户点击的界面组织架构面版,从服务器获取对应一级部门列表并在用户界面进行加载和显示;部分组织架构的更新,获取用户交互信息,进而获取用户唯一标识,根据用户标识下载完整的组织架构并在用户界面进行加载和显示;本地完整组织架构的更新,当用户本地数据有完整的组织架构数据时,加载本地组织架构数据并异步更新组织架构下节点数据;完整组织架构的更新,每隔固定时间从服务器下载更新数据,使用独立线程对组织结构进行更新,并在更新时暂停客户端其他线程。

根据所述的即时通讯系统组织架构快速更新的方法,其中无组织架构的更新包括:s21,当客户端首次登录并根据用户所点击的组织架构面版,客户端对本地数据进行检查,若不存在本地数据,则向服务器发送获取一级部门列表的请求;s22,进一步,检查一级部门的子部门及用户信息,若不存在,则调用服务器接口获取对应一级部门的子部门及用户信息,并将子部门及用户信息返回用户界面进行加载和显示;s23,根据用户所点击的组织架构面版,循环执行所述步骤s21和s23,完成对用户所点击的组织架构面版对应的一级部门及其子部门和用户信息进行加载和显示。

在一个优选的实施方案中,该方法还包括:每次用户重新登录时,向服务器检查组织架构所缺失的组织架构数据,并对所缺失的组织架构数据进行异步更新直至组织架构完整。

根据所述的即时通讯系统组织架构快速更新的方法,其中部分组织架构的更新包括:s41,获取历史与客户端交互信息,解析交互信息获取用户唯一标识;s42,获取客户端更新列表,进一步,获取客户端未更新的组织架构;s43,将未更新的组织架构进行异步更新,直至客户端的组织架构完整。

根据所述的即时通讯系统组织架构快速更新的方法,其中本地完整组织架构的更新包括:s51,当客户端首次登录并根据用户所点击的组织架构面版时,客户端对本地数据进行检查,若存在本地数据,则从本地获取所有组织框架数据;s52,在客户端加载并显示对应的组织框架,进一步异步更新组织框架的节点数据。

根据所述的即时通讯系统组织架构快速更新的方法,其中完整组织架构的更新还包括:s61,使服务器每隔固定时间生成组织架构更新数据,客户端使用独立线程在指定时间段从服务器获取组织架构更新数据;s62,将更新任务添加至客户端工作线程列表,其中客户端的工作线程为顺序执行;s63,执行更新任务的线程时,暂停其他客户端工作线程,直至更新结束。

根据所述的即时通讯系统组织架构快速更新的方法,其中步骤s63还包括:

将更新任务中的新数据库文件路径封装进更新任务的数据结构,放入组织架构数据库操作对象的任务队列,使用组织架构数据库操作对象执行线程获取该任务并关闭旧数据库连接,进而将新数据库文件覆盖老数据库,重新连接上数据库。

本发明的有益效果为:有效的降低用户等待组织架构显示时间,同时偶尔网络中断不影响组织架构浏览,服务器更新组织架构客户端能马上更新。

附图说明

图1所示为根据本发明实施方式的总体流程图;

图2所示为根据本发明实施方式的本地不存在组织架构更新时序图;

图3所示为根据本发明实施方式的本地不存在完整组织架构更新时序图;

图4所示为根据本发明实施方式的本地已存在完整组织架构更新时序图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的即时通讯系统组织架构快速更新的方法适用于企业通讯工具的实时更新。

图1所示为根据本发明实施方式的总体流程图。其包括:对客户端本地及客户端本省的组织架构进行检查及对比,检查之后采用相应我的更新方式进行更新。

其中的更新方式包括无组织架构的更新,根据用户点击的界面组织架构面版,从服务器获取对应一级部门列表并在用户界面进行加载和显示;部分组织架构的更新,获取用户交互信息,进而获取用户唯一标识,根据用户标识下载完整的组织架构并在用户界面进行加载和显示;本地完整组织架构的更新,当用户本地数据有完整的组织架构数据时,加载本地组织架构数据并异步更新组织架构下节点数据;完整组织架构的更新,每隔固定时间从服务器下载更新数据,使用独立线程对组织结构进行更新,并在更新时暂停客户端其他线程。

图2所示为根据本发明实施方式的本地不存在组织架构更新时序图。用户首次登录成功后,点击界面组织架构面版,此时界面向底层获取一级部门列表,底层检查本地数据库组织架构没有数据,调用服务器接口获取一级部门列表,服务器返回后显示到界面。

用户展开某个一级部门,流程跟上述一样,界面向底层获取该部门的子部门和用户,底层检查本地数据库该一级部门没有子部门和用户,调用服务器接口获取该部门的子部门和用户,服务器返回后显示到界面。

界面下来获取部门的子部门和用户时,底层都将执行相同流程,检查数据库没有该部门的子部门和用户时会向服务器获,然后返回给界面。

此外每天用户第一次上线,底层都会启动独立线程去更新完整组织架构,由于有以上机制保障,更新时间长短不影响用户正常使用。

图3所示为根据本发明实施方式的本地不存在完整组织架构更新时序图。

为了确保用户正在下载完整组织架构时,可以正常收发消息,收到消息可以正常显示对方的帐号和姓名,查看对方资料时可以正常显示对方个人信息,底层收到新消息时,消息体中带了发送者用户id(唯一标识),此时底层向数据库获取该用户id的个人信息,数据库查无此用户id信息,调用服务器接口获取该用户信息,服务器返回后底层组织架构好信息返回给界面显示。

通过以上的机制,客户端即使不下载完整组织架构,也可以使用即时通讯基础功能,但实践发现手机偶尔出现网络断线,如进入电梯,为了尽可能保证用户能正常浏览器组织架构,有度客户端增加了下载完整组织架构机制。

图4所示为根据本发明实施方式的本地已存在完整组织架构更新时序图。

用户点击界面组织架构面版,此时界面向底层获取一级部门列表,底层检查本地数据库组织架构不为空,直接从数据库获取一级部门列表返回给界面显示,因此用户即使在断网情况下也可以正常浏览组织架构。

如果在有网情况下,底层将本地数据抛回给界面后,还异步向服务器更新此部门节点数据,如果服务器组织架构已更新,底层将最新数据再次抛给界面,界面更新最新数据,如此一来,服务器任何时候修改组织架构,在有网的情况下,客户端都可以马上更新。

本发明的技术方案还包括完整组织架构更新机制。其包括:

组织架构数据库操作对象拥有自己的任务队列和执行线程,所有组织架构数据库操均封装为串行操作,因此其他模块线程向本对象获取数据时,先将请求放入队列,并阻塞自己等待执行结果。

组织架构数据库操作对象执行线程顺序执行队列中的任务,对数据库进行操作(如:增、删、改、替换新数据库等),执行完成后激发等待事件,其他模块线程被唤醒,获取操作结果后继续执行。

服务器每隔5分钟生成一个组织架构文件,客户端每天首次上线,底层启动独立线程下载更新组织架构文件,下载时先将组织架构文件保存到临时目录,避免影响客户端现在业务响应。

最新组织架构文件下载完整后,告知组织架构数据库操作对象替换最新数据库文件,将新数据库文件路径封装进任务的数据结构,放入组织架构数据库操作对象的任务队列,组织架构数据库操作对象执行线程获取该任务,关闭老数据库连接,将新数据库文件覆盖老数据库,重新连接上数据库。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1