CN111427698A - 基于Azakban的数据同步方法、装置和计算机设备 - Google Patents
基于Azakban的数据同步方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111427698A CN111427698A CN202010224089.5A CN202010224089A CN111427698A CN 111427698 A CN111427698 A CN 111427698A CN 202010224089 A CN202010224089 A CN 202010224089A CN 111427698 A CN111427698 A CN 111427698A
- Authority
- CN
- China
- Prior art keywords
- data
- specified
- data synchronization
- azakban
- designated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本申请揭示了基于Azakban的数据同步方法,包括:将指定实例拆分成多个数据同步任务并行执行,一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板,以提高数据同步的效率。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban,执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。
Description
技术领域
本申请涉及到计算机领域,特别是涉及到基于Azakban的数据同步方法、装置和计算机设备。
背景技术
现有业内或产品大多是基于简单的调度如依赖Linux的crontab去进行自定义调度,或者是依赖于J2EE的springquatz或Timer等,工具的话会选择kettle进行任务定义后借助于windows的IIS去进行调度,重量级的调度平台也是一个选择,但是在hadoop领域,要满足多样性的描述性语言,能够进行进度跟踪、自定义的运行模式和事件通知,且能支持重试及运行任意命令,还没有一套完整的系统或方案,尤其是现有数据同步不能满足业务调用需求。
发明内容
本申请的主要目的为提供基于Azakban的数据同步方法,旨在解决现有数据同步不能满足业务调用需求的技术问题。
本申请提出一种基于Azakban的数据同步方法,包括:
判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;
若是,则生成所述指定时刻对应的时间戳;
将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;
根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;
启动所述Azakban完成所述指定实例的数据同步。
优选地,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动所述Azakban完成所述指定实例的数据同步的步骤,包括:
获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;
根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;
根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
优选地,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,所述根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤,包括:
判断所述调度状态位是否为暂停或中断;
若是,则删除执行所述调度状态位之前的数据传输痕迹;
判断所述调度状态位是否恢复为执行;
若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。
优选地,所述Azakban包括微服务springc loud封装的多线程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执行过数据统计而未请求过数据同步,或在历史调用痕迹中未查询到终端A,则当前时刻的调用均为首次调用。通过在首次调用时形成验证编码提高调用Azakban的安全性,防止恶意调用。且通过验证编码实现指定实例中拆分的各数据同步任务的数据汇总、日志的汇总等,方便对指定实例的数据监控。上述验证编码不仅包括终端身份信息还包括首次调用的时间信息,提高验证编码的唯一辨识性,防止混淆。本申请实施例的Azakban摒弃了原有的单线程调用接口,而是通过微服务封装了多线程接口,包括多个交换机以及多个Azakban根节点,通过消息队列的方式实现不同类型的工作流或实例的同步进行,提高数据处理效率。
进一步地,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动所述Azakban完成所述指定实例的数据同步的步骤S5,包括:
S50:获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;
S51:根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;
S52:根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;
S53:根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
本申请实施例中可将指定实例拆分成多个数据同步任务并行执行,以提高数据同步的效率。一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板。上述数据模板可通过前端vue开发一个可视化操作界面,并通过可视化操作界面的配置项目形成。具有hadoop、hive组件的机器作为Azakban的执行服务器,另部署Azakban web服务器。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban。通过在Azakban脚本中置入配置文件,并行执行的各节点分别对应的数据模块,分别根据配置文件中对应匹配的数据模块进行独立执行,互不干扰。执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。上述节点为shell节点,通过shell节点实现任务的具体功能,通过执行进度监控调度结果。并根据执行的情况会返回执行结果,如有异常,可以返回异常结果,记录日志,运维人员前端进行日志下载,方便查找问题。
进一步地,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,所述根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤S51,包括;
S510:判断所述调度状态位是否为暂停或中断;
S511:若是,则删除执行所述调度状态位之前的数据传输痕迹;
S512:判断所述调度状态位是否恢复为执行;
S513:若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。
本申请的调度方法设置了调度状态位,包括执行、中断或暂停中的一种或多种,以满足任务调度的需要。在任务调度的数据同步过程中,若遇到调度状态位为暂停或中断,则自动删除执行暂停或中断之前的数据同步,当再次启动执行时,重新从头到尾传输整个数据,避免接续传递的衔接错误率以及接续传递中数据比较确定接续传输起点的耗时,提高数据同步效率,节约30%的数据同步时间。并通过及时删除执行暂停或中断之前的数据同步,避免存储区存在杂数据片段。
进一步地,所述Azakban包括微服务springc loud封装的多线程API以及消息中间件,所述获取预配置的、与Azakban的指定节点对应的指定数据模板的步骤S50之前,包括:
S50a:获取所述指定实例包括的各数据同步任务;
S50b:按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;
S50c:依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。
本申请的消息队列遵循先进先出的原则,通过优化消息队列的排序可实现方便数据汇集或提高数据同步的成功率等作用。
进一步地,所述按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列的步骤S50b,包括:
S501:根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,y分别为各所述数据同步任务的数据量与传输耗时,第二相关系数中x,y分别为各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时,x,y分别为正数,n为大于1的自然数;
S502:将所述第一相关系数与所述第二相关系数按照预设权重得到排列分值;
S503:按照排列分值从大到小的顺序排布各所述数据同步任务,形成所述消息队列。
本申请通过考量数据量和调度状态位数量对传输耗时的影响,相关系数越大,表示对耗时影响越大,耗时越久。因为数据量和暂停或中断的调度状态位数量是影响传输耗时的相关量,只是正相关但不存在明确的相关关系方程,所以引入相关系数进行评估,相关系数大说明影响大。通过将耗时较大的数据同步任务优先安排,减少调度状态位数量对传输效率的影响,提高数据同步的成功率。上述调度状态位数量包括配置文件中配置的暂停和中断,也包括外部因素引起的暂停和中断,由于外部因素引起的暂停和中断对耗时长的数据传输的影响概率大,所以优先安排耗时较大的数据同步任务。多线程API中各线程传输数据任务的网络环境状态,影响数据传输速率。(x,y)为同一数据任务在不同传输耗时采集的数据,耗时为80mS,传输的数据量为1.2MB,则(x,y)表示为(1.2,80),整个数据任务的传输过程中,可采集多个(x,y),其中多个X的取值不同,多个y的取值也不同,符合正相关的规律,根据上述公式得到整个数据任务中数据量和传输耗时的正相关的关系,并得到不同数据任务的正相关系数,第一相关系数和第二相关系数的原理相似,不赘述。
本实施例通过在调度方法中增加实时数据认证,实现数据同步中的快捷调用Azakban进行数据同步的信息安全性,避免其他终端恶意调用Azakban,增加服务器的运行负荷。同一时刻支持不同终端通过不同线程进行调用Azakban。
参照图2,本申请一实施例的基于Azakban的数据同步装置,包括:
判断模块1,用于判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;
生成模块2,用于若指定时刻为指定终端在执行指定实例时的首次调用Azakban的时刻,则生成所述指定时刻对应的时间戳;
组合模块3,用于将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;
建立模块4,用于根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;
启动模块5,用于启动所述Azakban完成所述指定实例的数据同步。
上述首次调用通过查询历史访问痕迹得到,上述访问痕迹包括指定终端的身份信息以及指定实例的工作流类型进行综合判断。举例地,终端A当前执行的指定实例为数据同步,历史调用痕迹中终端A执行过数据统计而未请求过数据同步,或在历史调用痕迹中未查询到终端A,则当前时刻的调用均为首次调用。通过在首次调用时形成验证编码提高调用Azakban的安全性,防止恶意调用。且通过验证编码实现指定实例中拆分的各数据同步任务的数据汇总、日志的汇总等,方便对指定实例的数据监控。上述验证编码不仅包括终端身份信息还包括首次调用的时间信息,提高验证编码的唯一辨识性,防止混淆。本申请实施例的Azakban摒弃了原有的单线程调用接口,而是通过微服务封装了多线程接口,包括多个交换机以及多个Azakban根节点,通过消息队列的方式实现不同类型的工作流或实例的同步进行,提高数据处理效率。
进一步地,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动模块5,包括:
第一获取子模块,用于获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;
第二获取子模块,用于根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;
第三获取子模块,用于根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;
汇集子模块,用于根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
本申请实施例中可将指定实例拆分成多个数据同步任务并行执行,以提高数据同步的效率。一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板。上述数据模板可通过前端vue开发一个可视化操作界面,并通过可视化操作界面的配置项目形成。具有hadoop、hive组件的机器作为Azakban的执行服务器,另部署Azakban web服务器。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban。通过在Azakban脚本中置入配置文件,并行执行的各节点分别对应的数据模块,分别根据配置文件中对应匹配的数据模块进行独立执行,互不干扰。执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。上述节点为shell节点,通过shell节点实现任务的具体功能,通过执行进度监控调度结果。并根据执行的情况会返回执行结果,如有异常,可以返回异常结果,记录日志,运维人员前端进行日志下载,方便查找问题。
进一步地,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,第二获取子模块,包括:
第一判断单元,用于判断所述调度状态位是否为暂停或中断;
删除单元,用于若调度状态位为暂停或中断,则删除执行所述调度状态位之前的数据传输痕迹;
第二判断单元,用于判断所述调度状态位是否恢复为执行;
获取单元,用于若所述调度状态位恢复为执行,则重新获取所述指定节点依据所述指定数据模板返回的数据。
本申请的调度方法设置了调度状态位,包括执行、中断或暂停中的一种或多种,以满足任务调度的需要。在任务调度的数据同步过程中,若遇到调度状态位为暂停或中断,则自动删除执行暂停或中断之前的数据同步,当再次启动执行时,重新从头到尾传输整个数据,避免接续传递的衔接错误率以及接续传递中数据比较确定接续传输起点的耗时,提高数据同步效率,节约30%的数据同步时间。并通过及时删除执行暂停或中断之前的数据同步,避免存储区存在杂数据片段。
进一步地,所述Azakban包括微服务springc loud封装的多线程API以及消息中间件,启动模块5,包括:
第四获取子模块,用于获取所述指定实例包括的各数据同步任务;
形成子模块,用于按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;
匹配子模块,用于依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。
本申请的消息队列遵循先进先出的原则,通过优化消息队列的排序可实现方便数据汇集或提高数据同步的成功率等作用。
进一步地,所述形成子模块,包括:
计算单元,用于根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,y分别为各所述数据同步任务的数据量与传输耗时,第二相关系数中x,y分别为各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时,x,y分别为正数,n为大于1的自然数;
排列单元,用于将所述第一相关系数与所述第二相关系数按照预设权重得到排列分值;
形成单元,用于按照排列分值从大到小的顺序排布各所述数据同步任务,形成所述消息队列。
本申请通过考量数据量和调度状态位数量对传输耗时的影响,相关系数越大,表示对耗时影响越大,耗时越久。因为数据量和暂停或中断的调度状态位数量是影响传输耗时的相关量,只是正相关但不存在明确的相关关系方程,所以引入相关系数进行评估,相关系数大说明影响大。通过将耗时较大的数据同步任务优先安排,减少调度状态位数量对传输效率的影响,提高数据同步的成功率。上述调度状态位数量包括配置文件中配置的暂停和中断,也包括外部因素引起的暂停和中断,由于外部因素引起的暂停和中断对耗时长的数据传输的影响概率大,所以优先安排耗时较大的数据同步任务。多线程API中各线程传输数据任务的网络环境状态,影响数据传输速率。(x,y)为同一数据任务在不同传输耗时采集的数据,耗时为80mS,传输的数据量为1.2MB,则(x,y)表示为(1.2,80),整个数据任务的传输过程中,可采集多个(x,y),其中多个X的取值不同,多个y的取值也不同,符合正相关的规律,根据上述公式得到整个数据任务中数据量和传输耗时的正相关的关系,并得到不同数据任务的正相关系数,第一相关系数和第二相关系数的原理相似,不赘述。本实施例通过在调度方法中增加实时数据认证,实现数据同步中的快捷调用Azakban进行数据同步的信息安全性,避免其他终端恶意调用Azakban,增加服务器的运行负荷。同一时刻支持不同终端通过不同线程进行调用Azakban。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于Azakban的数据同步过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现基于Azakban的数据同步方法。
上述处理器执行上述基于Azakban的数据同步方法,包括:判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;若是,则生成所述指定时刻对应的时间戳;将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;启动所述Azakban完成所述指定实例的数据同步。
上述计算机设备,将指定实例拆分成多个数据同步任务并行执行,一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板,以提高数据同步的效率。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban,执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。
在一个实施例中,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,上述处理器启动所述Azakban完成所述指定实例的数据同步的步骤,包括:获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
在一个实施例中,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,上述处理器根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤,包括:判断所述调度状态位是否为暂停或中断;若是,则删除执行所述调度状态位之前的数据传输痕迹;判断所述调度状态位是否恢复为执行;若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。
在一个实施例中,所述Azakban包括微服务springc loud封装的多线程API以及消息中间件,上述处理器获取预配置的、与Azakban的指定节点对应的指定数据模板的步骤之前,包括:获取所述指定实例包括的各数据同步任务;按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。
在一个实施例中,上述处理器按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列的步骤,包括:根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,y分别为各所述数据同步任务的数据量与传输耗时,第二相关系数中x,y分别为各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时,x,y分别为正数,n为大于1的自然数;将所述第一相关系数与所述第二相关系数按照预设权重得到排列分值;按照排列分值从大到小的顺序排布各所述数据同步任务,形成所述消息队列。
在一个实施例中,所述Azakban脚本中置入配置文件,上述处理器根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据的步骤,包括:接收各节点分别对应的数据模板返回的数据;将各节点分别对应的数据模板返回的数据,依据所述配置文件中各数据模块的关联关系进行拼接,以汇集为所述指定数据同步任务的数据。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于Azakban的数据同步方法,包括:判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;若是,则生成所述指定时刻对应的时间戳;将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;启动所述Azakban完成所述指定实例的数据同步。
上述计算机可读存储介质,将指定实例拆分成多个数据同步任务并行执行,一个数据同步任务通过多个关联节点共同完成,每个节点对应一个数据模板,以提高数据同步的效率。为匹配上述框架结构,对封装Azakban基础的多线程API,重写了执行方法和调度方法,实现并行调用Azakban,执行完毕后根据相同的验证编码把各节点的数据汇集为指定数据同步任务的数据,并进一步汇集成指定实例的数据。
在一个实施例中,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,上述处理器启动所述Azakban完成所述指定实例的数据同步的步骤,包括:获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
在一个实施例中,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,上述处理器根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤,包括:判断所述调度状态位是否为暂停或中断;若是,则删除执行所述调度状态位之前的数据传输痕迹;判断所述调度状态位是否恢复为执行;若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。
在一个实施例中,所述Azakban包括微服务springc loud封装的多线程API以及消息中间件,上述处理器获取预配置的、与Azakban的指定节点对应的指定数据模板的步骤之前,包括:获取所述指定实例包括的各数据同步任务;按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。
在一个实施例中,上述处理器按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列的步骤,包括:根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,y分别为各所述数据同步任务的数据量与传输耗时,第二相关系数中x,y分别为各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时,x,y分别为正数,n为大于1的自然数;将所述第一相关系数与所述第二相关系数按照预设权重得到排列分值;按照排列分值从大到小的顺序排布各所述数据同步任务,形成所述消息队列。
在一个实施例中,所述Azakban脚本中置入配置文件,上述处理器根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据的步骤,包括:接收各节点分别对应的数据模板返回的数据;将各节点分别对应的数据模板返回的数据,依据所述配置文件中各数据模块的关联关系进行拼接,以汇集为所述指定数据同步任务的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于Azakban的数据同步方法,其特征在于,包括:
判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;
若是,则生成所述指定时刻对应的时间戳;
将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;
根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;
启动所述Azakban完成所述指定实例的数据同步。
2.根据权利要求1所述的基于Azakban的数据同步方法,其特征在于,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动所述Azakban完成所述指定实例的数据同步的步骤,包括:
获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;
根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;
根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;
根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
3.根据权利要求2所述的基于Azakban的数据同步方法,其特征在于,所述调度指令包括调度状态位,所述调度状态位包括暂停、执行或中断,所述根据调度指令获取所述指定节点依据指定数据模板返回的数据的步骤,包括:
判断所述调度状态位是否为暂停或中断;
若是,则删除执行所述调度状态位之前的数据传输痕迹;
判断所述调度状态位是否恢复为执行;
若是,则重新获取所述指定节点依据所述指定数据模板返回的数据。
4.根据权利要求2所述的基于Azakban的数据同步方法,其特征在于,所述Azakban包括微服务springc loud封装的多线程API以及消息中间件,所述获取预配置的、与Azakban的指定节点对应的指定数据模板的步骤之前,包括:
获取所述指定实例包括的各数据同步任务;
按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列;
依据所述消息队列分别为各所述数据同步任务分配节点并匹配线程。
5.根据权利要求4所述的基于Azakban的数据同步方法,其特征在于,所述按照预设规则将各所述数据同步任务在所述消息中间件中形成消息队列的步骤,包括:
根据分别计算各所述数据同步任务的数据量与传输耗时的第一相关系数,以及各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时的第二相关系数,其中,r为相关系数,n为成对数据(x,y)的数量,第一相关系数中x,y分别为各所述数据同步任务的数据量与传输耗时,第二相关系数中x,y分别为各所述数据同步任务中包括的暂停或中断的调度状态位数量与传输耗时,x,y分别为正数,n为大于1的自然数;
将所述第一相关系数与所述第二相关系数按照预设权重得到排列分值;
按照排列分值从大到小的顺序排布各所述数据同步任务,形成所述消息队列。
6.根据权利要求2所述的基于Azakban的数据同步方法,其特征在于,所述Azakban脚本中置入配置文件,根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据的步骤,包括:
接收各节点分别对应的数据模板返回的数据;
将各节点分别对应的数据模板返回的数据,依据所述配置文件中各数据模块的关联关系进行拼接,以汇集为所述指定数据同步任务的数据。
7.一种基于Azakban的数据同步装置,其特征在于,包括:
判断模块,用于判断指定时刻是否为指定终端在执行指定实例时的首次调用Azakban的时刻;
生成模块,用于若指定时刻为指定终端在执行指定实例时的首次调用Azakban的时刻,则生成所述指定时刻对应的时间戳;
组合模块,用于将所述指定终端对应的身份信息与所述指定时刻对应的时间戳组合为所述指定实例的验证编码;
建立模块,用于根据所述验证编码为所述指定实例匹配交换机以及Azakban根节点,以建立所述指定终端与所述Azakban的数据连接;
启动模块,用于启动所述Azakban完成所述指定实例的数据同步。
8.根据权利要求7所述的基于Azakban的数据同步装置,其特征在于,所述指定实例包括多个数据同步任务,一个数据同步任务映射为Azakban的多个节点,所述启动模块,包括:
第一获取子模块,用于获取预配置的、与所述Azakban的指定节点对应的指定数据模板,其中,所述指定节点包含于指定数据同步任务对应的Azakban的所有节点中的任意一个,所述指定数据同步任务属于所述指定实例中的多个数据同步任务中的任意一个;
第二获取子模块,用于根据调度指令获取所述指定节点依据所述指定数据模板返回的数据;
第三获取子模块,用于根据所述指定节点的数据获取过程,获取所述指定数据同步任务中所有节点分别对应的数据,并汇集为所述指定数据同步任务的数据;
汇集子模块,用于根据所述指定数据同步任务的数据汇集过程,汇集所有数据同步任务的数据,形成指定实例的同步数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224089.5A CN111427698B (zh) | 2020-03-26 | 2020-03-26 | 基于Azakban的数据同步方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224089.5A CN111427698B (zh) | 2020-03-26 | 2020-03-26 | 基于Azakban的数据同步方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427698A true CN111427698A (zh) | 2020-07-17 |
CN111427698B CN111427698B (zh) | 2022-11-15 |
Family
ID=71548800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010224089.5A Active CN111427698B (zh) | 2020-03-26 | 2020-03-26 | 基于Azakban的数据同步方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427698B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930529A (zh) * | 2020-10-09 | 2020-11-13 | 上海富友支付服务股份有限公司 | 基于消息队列及微服务的数据同步方法、模块及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807983A (zh) * | 2017-10-30 | 2018-03-16 | 辽宁大学 | 一种支持大规模动态图数据查询的并行处理框架及设计方法 |
CN109271447A (zh) * | 2018-09-04 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
US20190042303A1 (en) * | 2015-09-24 | 2019-02-07 | Wangsu Science & Technology Co.,Ltd. | Distributed storage-based file delivery system and method |
CN109743390A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN110062028A (zh) * | 2019-03-21 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 数据同步的方法、装置、计算机设备及计算机存储介质 |
CN110134430A (zh) * | 2019-04-12 | 2019-08-16 | 中国平安财产保险股份有限公司 | 一种数据打包方法、装置、存储介质和服务器 |
-
2020
- 2020-03-26 CN CN202010224089.5A patent/CN111427698B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190042303A1 (en) * | 2015-09-24 | 2019-02-07 | Wangsu Science & Technology Co.,Ltd. | Distributed storage-based file delivery system and method |
CN107807983A (zh) * | 2017-10-30 | 2018-03-16 | 辽宁大学 | 一种支持大规模动态图数据查询的并行处理框架及设计方法 |
CN109271447A (zh) * | 2018-09-04 | 2019-01-25 | 中国平安人寿保险股份有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
CN109743390A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN110062028A (zh) * | 2019-03-21 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 数据同步的方法、装置、计算机设备及计算机存储介质 |
CN110134430A (zh) * | 2019-04-12 | 2019-08-16 | 中国平安财产保险股份有限公司 | 一种数据打包方法、装置、存储介质和服务器 |
Non-Patent Citations (1)
Title |
---|
林晗: "异构融合平台上的数据流运行时系统研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930529A (zh) * | 2020-10-09 | 2020-11-13 | 上海富友支付服务股份有限公司 | 基于消息队列及微服务的数据同步方法、模块及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111427698B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445817B (zh) | 测试数据的处理方法、装置和系统 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
EP2503733A1 (en) | Data collecting method, data collecting apparatus and network management device | |
CN104065741A (zh) | 数据采集系统和数据采集方法 | |
CN102970104B (zh) | 一种获取数据的方法及服务器 | |
CN113268334B (zh) | Rpa机器人的调度方法、装置、设备以及存储介质 | |
CN103150324A (zh) | 一种基于链式处理的数据收集系统及其方法 | |
CN116302989A (zh) | 压力测试方法及系统、存储介质、计算机设备 | |
CN108959037A (zh) | 一种数据中心自动巡检方法及装置 | |
CN111427698B (zh) | 基于Azakban的数据同步方法、装置和计算机设备 | |
CN115329170A (zh) | 网页抓取方法、装置、设备以及存储介质 | |
CN107729207B (zh) | 一种应用程序主线程的监控方法及装置 | |
CN114595075A (zh) | 一种基于分布式调度的网络编排中异步任务执行方法 | |
CN110442439B (zh) | 任务进程处理方法、装置和计算机设备 | |
CN113746924B (zh) | 一种电网业务数据跨区传输方法及装置 | |
CN110838940A (zh) | 地下电缆巡检任务配置方法和装置 | |
CN108667649B (zh) | 一种故障排查方法、装置及服务器 | |
US20220309061A1 (en) | Mining machine management method and system | |
CN113472881B (zh) | 在线终端设备的统计方法和装置 | |
CN108874646A (zh) | 分析数据的方法和装置 | |
CN114021759A (zh) | 基于aiot和mr技术在数字工厂设备管理方法 | |
CN112686644A (zh) | 一种项目运行状态监测方法、系统、设备及存储介质 | |
CN113347045A (zh) | 一种告警消息处理方法及装置 | |
CN112434044A (zh) | 一种工业互联网平台监测数据传输交换方法和系统 | |
CN111475322A (zh) | 定位stuck线程的方法、装置、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220525 Address after: 518000 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd. Address before: Room 12G, Block H, 666 Beijing East Road, Huangpu District, Shanghai 200000 Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |