【技术实现步骤摘要】
一种动态优化的多线程数据同步方法及系统
本专利技术涉及数据处理
,并且更具体地,涉及一种动态优化的多线程数据同步方法及系统。
技术介绍
对于管理企业会员、保障会员权益的综合业务系统,主要包含客户端、服务端、门户网站、微信端等子系统。会员系统的数据来源是CRM(客户关系管理)系统,数据同步过程大致分为三步:第一步,当CRM系统数据库中的数据发生新增、删除、修改操作时,数据库触发器自动处理,在增量数据表中插入一条数据;第二步,数据同步中转服务,定期从增量数据表中查询数据,并调用会员系统“数据导入接口”实现批量数据同步;第三步,“数据导入接口”接收批量数据后,进行数据清洗、数据保存等操作。本专利技术是为优化第二步的数据同步性能而提出的方法。会员系统所需的数据分为不同类型,主要有“会员权益”、“会员权益包”、“会员权益包与会员权益关系”、“会员”、“会员与会员权益关系”等。数据同步存在先后顺序依赖,如必须先同步“会员权益”、“会员权益包”数据后,才能同步“会员权益包与会员权益关系”数据等。增量数据表中的数据不易区分数据 ...
【技术保护点】
1.一种动态优化的多线程数据同步方法,其特征在于,所述方法包括:/n主线程按照预设的时间间隔阈值,根据待同步数据中每个地区的地区标识确定每个地区对应的地区数据条数;/n主线程根据每个地区对应的地区数据条数,按照预设的子线程分配策略为每个地区分配对应的子线程;/n每个子线程根据已分配地区对应的地区数据条数,按照预设的同步策略进行数据同步。/n
【技术特征摘要】
1.一种动态优化的多线程数据同步方法,其特征在于,所述方法包括:
主线程按照预设的时间间隔阈值,根据待同步数据中每个地区的地区标识确定每个地区对应的地区数据条数;
主线程根据每个地区对应的地区数据条数,按照预设的子线程分配策略为每个地区分配对应的子线程;
每个子线程根据已分配地区对应的地区数据条数,按照预设的同步策略进行数据同步。
2.根据权利要求1所述的方法,其特征在于,所述主线程根据每个地区对应的地区数据条数,按照预设的子线程分配策略为每个地区分配对应的子线程,包括:
当存在未分配子线程的地区时,判断该地区对应的地区数据条数是否小于等于预设的数据同步条数阈值;若是,则创建单独处理该地区的子线程;反之,则标记该地区为需合并处理的地区;以及
当存在需合并处理的地区时,根据需合并处理的地区的对应的数据条数,创建合并处理的子线程,以为每个地区分配对应的子线程。
3.根据权利要求1所述的方法,其特征在于,所述每个子线程根据已分配地区对应的地区数据条数,按照预设的同步策略进行数据同步,包括:
每个子线程将对应的已分配地区标记为正在处理状态;
根据待同步数据的编号选取预设的数据同步条数阈值的数据,若选取的数据条数大于预设选取条数阈值,则直接调用接口同步数据,实现一次数据同步。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在每个子线程将对应的已分配地区标记为正在处理状态之前,判断该子线程对应的所有地区的处理状态;若不存在已经为正在处理状态的地区,则将该子线程对应的已分配地区标记为正在处理状态;反之,则直接结束此次数据同步。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当该次数据同步成功时,若该次同步的数据条数小于预设的数据同步条数阈值,则表示数据已全部同步完成,将该子线程对应的已分配地区标记为未处理状态;
当该次数据同步成功时,若该次同步的数据条数大于等于预设的数据同步条数阈值,则判断是否满足地区个数是否大于1且同步成功次数大于已分配的地区个数;若满足,则表示存在数据积压,将该子线程对应的已分配地区标记为未处理状态,并立即结束当前线程,由主线程重新调度分配独立处理子线程;若不满足,则重新根据待同步数据的编号重新选取预设的数据同步条数阈值的数据,以进行下一次的数据同步。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若选取的数据条数大于预设选取条数阈值,则表示数据已全部同步完成,将该子线程对应的已分配地区标记为未处理状态。
7.一种动态优化的多线程数据同步系统,其特征在于,所述系统...
【专利技术属性】
技术研发人员:熊林欣,朱兴,陈晶鑫,吕婉莹,徐锦子,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。