一种调整本地通讯录并映射微信企业号通讯录的同步方法与流程

文档序号:15845733发布日期:2018-11-07 08:59阅读:2321来源:国知局
一种调整本地通讯录并映射微信企业号通讯录的同步方法与流程

本发明涉及网络通讯领域,特别是本地通讯录与微信企业号之间的同步方法。

背景技术

传统的企业号第三方服务开发,其通讯录数据是直接保存在腾讯企业号服务器,日常维护以及查询是以直接调用腾讯的通讯录api进行的,本地就算也有保存通讯录数据,也仅是以数据备份的性质来保存的,同时,微信企业号有规则规定不能删除有成员的部门。

然而此方式具有以下几个缺点,数据源在微信企业号端,属于外网,进行数据获取和维护的时候,必须经过公网网络,这势必会耗费过多的带宽,而且当网络环境不好的情况下,会因为响应速度慢甚至调用失败引发各种各样的问题;同时,在微信企业号端进行维护,当进行自定义或者开发一些更加个性化的功能会比较复杂或者低效。

针对以上的问题,而后尝试在本地端对通讯录数据进行修改,如果想把数据源转移到服务提供商本地的服务器,要确保企业号的各项功能服务正常使用,必须要做到本地服务器上的通讯录数据,和企业号服务器上的通讯录数据严格对等,最直接的做法就是,每处理一个通讯录数据修改事件,都是先更改本地的数据,然后马上同步修改企业号上面的,但这种方式往往会因为网络异常或者服务故障等未知因素而造成同步处理的断链,一但两边数据脱节了,数据就一直处于不同步的状态。



技术实现要素:

为解决上述技术问题,本发明的目的是提供一种能够调整本地通讯录并映射到微信企业号通讯录,使得两边数据严格对等的同步方法。

本发明采用的技术方案是:

一种调整本地通讯录并映射微信企业号通讯录的同步方法,包括以下步骤:

a、在本地自定义通讯录结构;

b、在本地根据通讯录结构写入成员数据;

c、触发本地通讯录同步到微信企业号通讯录的映射指令;

d、微信企业号根据映射指令建立映射任务;

e、微信企业号根据映射任务建立备份分组;

f、打包当前微信企业号通讯录中全量的成员数据,并将全量的成员数据转移到备份分组;

g、本地向微信企业号发起增量数据映射的异步任务通知,本地与微信企业号建立数据同步通道;

h、微信企业号根据异步任务通知建立通讯录结构映射任务;

i、本地生成本地通讯录结构数据;

j、将本地通讯录结构数据映射到微信企业号上;

k、微信企业号建立通讯录成员数据映射任务;

l、本地生成本地通讯录成员数据;

m、将本地通讯录成员数据映射到微信企业号上并且按照通讯录结构将通讯录成员数据进行分组;

n、微信企业号建立备份分组成员同步任务;

o、清理备份分组中不属于本地通讯录成员数据的多余的成员数据。

在步骤c中检测到本地通讯录结构或者成员数据是否存在变化,若是,则触发本地通讯录同步到微信企业号通讯录的映射指令;

或者,定时触发本地通讯录同步到微信企业号通讯录的映射指令。

所述步骤d中微信企业号根据映射指令建立映射任务,判断映射任务是否建立成功,若成功,则进入步骤e,若失败,则重新建立或者退出程序。

所述步骤k中,在微信企业号建立通讯录成员数据映射任务前,获取通讯录结构映射任务的回调结果,判断是否成功将本地通讯录结构数据映射到微信企业号上,若成功,则在微信企业号建立通讯录成员数据映射任务,若失败,则返回步骤h。

所述步骤k中,记录失败的次数,并且预设样本次数n1,当失败的次数超过样本次数n1,则退出程序。所述步骤n中,在微信企业号建立备份分组成员同步任务前,获取通讯录成员数据映射任务的回调结果,判断是否成功将本地通讯录成员数据映射到微信企业号上,若成功,则在微信企业号建立备份分组成员同步任务,若失败,则返回步骤l。

所述步骤n中,记录失败的次数,并且预设样本次数n2,当失败的次数超过样本次数n2,则退出程序。

所述步骤i中本地生成的本地通讯录结构数据为csv格式文件。

所述步骤l中本地生成的本地通讯录成员数据为csv格式文件。

本发明的有益效果:

本发明的同步方法,在本地对通讯录进行修改,自定义通讯录结构,并且按照此通讯录结构写入成员数据,本地触发同步到微信公众号的映射指令,由于微信公众号的特性,先建立备份分组,打包当前微信企业号通讯录中全量的成员数据,并将全量的成员数据转移到备份分组,保证能够对微信企业号中的通讯录结构进行修改,能够移出微信企业号中不属于本地通讯录结构的分组,排除了在全量覆盖过程中会出现冲突的障碍,本地将本地通讯录结构数据映射到微信公众号中;此时再将本地通讯录成员数据映射到微信公众号中,并且按照通讯录结构数据进行分组,最后清理备份分组中不属于本地通讯录成员数据的多余的成员数据;本设计通过本地查询和维护数据速度更快,性能更好,成功率更高;同时能够保证本地与微信企业号两边数据一致,灵活性更好,通过对本地通讯录结构调整或者自定义从而作用到远程微信企业号通讯录上。

附图说明

下面结合附图对本发明的具体实施方式做进一步的说明。

图1是本发明的总流程图。

图2是本发明的查询本地通讯录的流程图。

具体实施方式

如图1、图2所示,本设计包括以下步骤:

a、在本地自定义通讯录结构;

b、在本地根据通讯录结构写入成员数据;

c、触发本地通讯录同步到微信企业号通讯录的映射指令;

d、微信企业号根据映射指令建立映射任务;

e、微信企业号根据映射任务建立备份分组;

f、打包当前微信企业号通讯录中全量的成员数据,并将全量的成员数据转移到备份分组;

g、本地向微信企业号发起增量数据映射的异步任务通知,本地与微信企业号建立数据同步通道;

h、微信企业号根据异步任务通知建立通讯录结构映射任务;

i、本地生成本地通讯录结构数据;

j、将本地通讯录结构数据映射到微信企业号上;

k、微信企业号建立通讯录成员数据映射任务;

l、本地生成本地通讯录成员数据;

m、将本地通讯录成员数据映射到微信企业号上并且按照通讯录结构将通讯录成员数据进行分组;

n、微信企业号建立备份分组成员同步任务;

o、清理备份分组中不属于本地通讯录成员数据的多余的成员数据。

其中,步骤a中,根据用户业务需要,在本地电脑端可进行对通讯录结构的自定义,本地自定义通讯录结构更为灵活,快捷,可操作空间大。

在步骤b中,在本地将数据按照自定义的通讯录结构写入成员数据,可提供批量导入,导入模板,数据写入更快速,操作更为简单。

在步骤c中,检测到本地通讯录结构或者成员数据是否存在变化,若是,则触发本地通讯录同步到微信企业号通讯录的映射指令;

或者,定时触发本地通讯录同步到微信企业号通讯录的映射指令,此处可以在空闲时间触发,具体可由编程者自己指定触发条件,从而可以在网络被占用少,能够顺畅传输时触发。

在步骤d中,微信企业号后台程序接收指令,建立数据映射任务,判断映射任务是否建立成功,若成功,则进入步骤e,若失败,则重新建立或者退出程序。

在步骤f中,获取微信企业号通讯录中当前的全量成员数据,在发起异步增量同步任务前完成备份打包,并将全量成员数据转移到备份分组。

在步骤h中,微信企业号处理增量数据映射的异步任务通知,并回调处理结果,接收到处理结果后,发起通讯录结构的映射任务。

在步骤i中,获取本地通讯录结构数据,生成全量的通讯录结构数据,此处本地生成的本地通讯录结构数据为csv格式文件。

在步骤j中,向微信企业号发起全量通讯录结构覆盖的异步任务,把本地通讯录结构完整映射到微信企业号上。

在步骤k中,在微信企业号建立通讯录成员数据映射任务前,获取通讯录结构映射任务的回调结果,判断是否成功将本地通讯录结构数据映射到微信企业号上,若成功,则在微信企业号建立通讯录成员数据映射任务,若失败,则返回步骤h;同时,记录失败的次数,并且预设样本次数n1,当失败的次数超过样本次数n1,则退出程序。

在步骤l中,获取本地通讯录的所有成员数据以及每个成员的所属本地分组信息,生成异步增量同步任务所需要的文件;其中,本地生成的本地通讯录成员数据为csv格式文件。

在步骤m中,微信企业号发起增量同步成员数据异步任务,把本地通讯录的所有成员数据映射到对应通讯录分组结构里;

在步骤n中,在微信企业号建立备份分组成员同步任务前,获取通讯录成员数据映射任务的回调结果,判断是否成功将本地通讯录成员数据映射到微信企业号上,若成功,则在微信企业号建立备份分组成员同步任务,若失败,则返回步骤l;步骤n中,记录失败的次数,并且预设样本次数n2,当失败的次数超过样本次数n2,则退出程序;

在步骤o中,调用微信企业号接口获取"备份"分组下的所有成员数据,并进行迭代清理;

在本地对通讯录进行修改,自定义通讯录结构,并且按照此通讯录结构写入成员数据,本地触发同步到微信公众号的映射指令,由于微信公众号的特性,先建立备份分组,打包当前微信企业号通讯录中全量的成员数据,并将全量的成员数据转移到备份分组,保证能够对微信企业号中的通讯录结构进行修改,能够移出微信企业号中不属于本地通讯录结构的分组,排除了在全量覆盖过程中会出现冲突的障碍,本地将本地通讯录结构数据映射到微信公众号中;此时再将本地通讯录成员数据映射到微信公众号中,并且按照通讯录结构数据进行分组,最后清理备份分组中不属于本地通讯录成员数据的多余的成员数据;本设计通过本地查询和维护数据速度更快,性能更好,成功率更高;同时能够保证本地与微信企业号两边数据一致,灵活性更好,通过对本地通讯录结构调整或者自定义从而作用到远程微信企业号通讯录上。

以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。

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