基于Azakban的数据同步方法、装置和计算机设备制造方法及图纸

技术编号:24937486 阅读:30 留言:0更新日期:2020-07-17 20:50
本申请揭示了基于Azakban的数据同步方法,包括:将指定实例拆分成多个数据同步任务并行执行,一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板,以提高数据同步的效率。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban,执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。

【技术实现步骤摘要】
基于Azakban的数据同步方法、装置和计算机设备
本申请涉及到计算机领域,特别是涉及到基于Azakban的数据同步方法、装置和计算机设备。
技术介绍
现有业内或产品大多是基于简单的调度如依赖Linux的crontab去进行自定义调度,或者是依赖于J2EE的springquatz或Timer等,工具的话会选择kettle进行任务定义后借助于windows的IIS去进行调度,重量级的调度平台也是一个选择,但是在hadoop领域,要满足多样性的描述性语言,能够进行进度跟踪、自定义的运行模式和事件通知,且能支持重试及运行任意命令,还没有一套完整的系统或方案,尤其是现有数据同步不能满足业务调用需求。
技术实现思路
本申请的主要目的为提供基于Azakban的数据同步方法,旨在解决现有数据同步不能满足业务调用需求的技术问题。本申请提出一种基于Azakban的数据同步方法,包括:判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;若是,则生成所述指定时刻对应的时间戳;将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;启动所述Azakban完成所述指定实例的数据同步。优选地,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动所述Azakban完成所述指定实例的数据同步的步骤,包括:获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。优选地,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,所述根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤,包括:判断所述调度状态位是否为暂停或中断;若是,则删除执行所述调度状态位之前的数据传输痕迹;判断所述调度状态位是否恢复为执行;若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。优选地,所述Azakban包括微服务springcloud封装的多线程API以及消息中间件,所述获取预配置的、与Azakban的指定节点对应的指定数据模板的步骤之前,包括:获取所述指定实例包括的各数据同步任务;按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。优选地,所述按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列的步骤,包括:根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,y分别为各所述数据同步任务的数据量与传输耗时,第二相关系数中x,y分别为各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时,x,y分别为正数,n为大于1的自然数;将所述第一相关系数与所述第二相关系数按照预设权重得到排列分值;按照排列分值从大到小的顺序排布各所述数据同步任务,形成所述消息队列。优选地,所述Azakban脚本中置入配置文件,根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据的步骤,包括:接收各节点分别对应的数据模板返回的数据;将各节点分别对应的数据模板返回的数据,依据所述配置文件中各数据模块的关联关系进行拼接,以汇集为所述指定数据同步任务的数据。本申请还提供了一种基于Azakban的数据同步装置,包括:判断模块,用于判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;生成模块,用于若指定时刻为指定终端在执行指定实例时的首次调用Azakban的时刻,则生成所述指定时刻对应的时间戳;组合模块,用于将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;建立模块,用于根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;启动模块,用于启动所述Azakban完成所述指定实例的数据同步。本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。本申请将指定实例拆分成多个数据同步任务并行执行,一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板,以提高数据同步的效率。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban,执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。附图说明图1本申请一实施例的基于Azakban的数据同步方法流程示意图;图2本申请一实施例的基于Azakban的数据同步装置结构示意图;图3本申请一实施例的计算机设备内部结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。参照图1,本申请一实施例的基于Azakban的数据同步方法,包括:S1:判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;S2:若是,则生成所述指定时刻对应的时间戳;S3:将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;S4:根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;S5:启动所述Azakban完成所述指定实例的数据同步。上述首次调用通过查询历史访问痕迹得到,上述访问痕迹包括指定终端的身份信息以及指定实例的工作流类型进行综合判断。举例地,终端A当前执行的指定实例为数据同步,历史调用痕迹中终端A执行过数据统计而未本文档来自技高网...

【技术保护点】
1.一种基于Azakban的数据同步方法,其特征在于,包括:/n判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;/n若是,则生成所述指定时刻对应的时间戳;/n将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;/n根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;/n启动所述Azakban完成所述指定实例的数据同步。/n

【技术特征摘要】
1.一种基于Azakban的数据同步方法,其特征在于,包括:
判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;
若是,则生成所述指定时刻对应的时间戳;
将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;
根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;
启动所述Azakban完成所述指定实例的数据同步。


2.根据权利要求1所述的基于Azakban的数据同步方法,其特征在于,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动所述Azakban完成所述指定实例的数据同步的步骤,包括:
获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;
根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;
根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;
根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。


3.根据权利要求2所述的基于Azakban的数据同步方法,其特征在于,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,所述根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤,包括:
判断所述调度状态位是否为暂停或中断;
若是,则删除执行所述调度状态位之前的数据传输痕迹;
判断所述调度状态位是否恢复为执行;
若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。


4.根据权利要求2所述的基于Azakban的数据同步方法,其特征在于,所述Azakban包括微服务springcloud封装的多线程API以及消息中间件,所述获取预配置的、与Azakban的指定节点对应的指定数据模板的步骤之前,包括:
获取所述指定实例包括的各数据同步任务;
按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;
依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。


5.根据权利要求4所述的基于Azakban的数据同步方法,其特征在于,所述按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列的步骤,包括:
根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,...

【专利技术属性】
技术研发人员:王永亮
申请(专利权)人:平安医疗健康管理股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1