一种基于账号的跨系统数据同步方法及系统与流程

文档序号:11230252阅读:595来源:国知局
一种基于账号的跨系统数据同步方法及系统与流程

本发明涉及数据同步处理技术领域,主要应用于系统间的数据同步,具体涉及一种基于账号的跨系统的数据同步方法及系统。



背景技术:

随着互联网业务在各行各业的逐步开展与实施,行业间的交互从线下走到了线上,线上不同组织系统间的数据同步及时性与可靠性越来越被系统设计人员看重。

目前不同的互联网企业之间如果开展业务合作,首先要做的便是彼此间账号信息的关联。由于涉及不同企业间的数据同步,常用的数据同步方式有:

其一是基于实时数据接口之间的数据传递,这种方式传递的实时性高,效果比较好,但需要系统间提供可靠的网络及系统资源;

其二是基于第一种方案的补充机制,系统间通过轮询的方式对变更数据进行接口拉取,以保障不同系统之间的数据不丢失,但针对业务规模比较庞大的系统,轮询每个业务的增量数据在系统性能和效率上,无疑要付出高额的代价。例如,现今,基于电商资源整合的运营平台,他们需要为商家提供在不同电商平台上的对接服务,如国内的淘宝、京东,国外的ebay、amazon等,这些电商平台均提供商家合作api,运营平台可以对接不同电商平台的api来帮助商家提供资源一体化管理,运营平台需要不间断地通过api拉取各电商平台的相关数据,如订单、财务、库存等。伴随着用户量的增加,如何提升数据同步效率、控制数据拉取丢失率、保障同步系统可靠性的解决方案十分重要。



技术实现要素:

为解决现有技术的局限性和不足,本发明目的是,提供一种基于账号的跨系统数据同步方法及系统,通过绑定跨系统的账号与有同步需求的业务,形成基于账号的业务数据同步任务,按照不同业务的同步需求配置同步执行时间,使不同账号在不同业务场景内定时执行业务数据的同步,实现不同账号的数据同步个性化定制,支持系统间业务数据同步的差异化;通过将同步任务的规划、执行及监控划分,形成独立的同步规划系统、同步执行系统及同步监控系统,形成以处理同步任务为核心的系统,有效抵抗用户量增长带来的系统压力。

通过定时任务将全量账号进行数据同步而导致的效率降低、数据通过可靠性降低、系统扩展性弱的问题;其中,所述全量账号是指所管理的全部第三方系统的账号;

本发明的技术方案如下:一种基于账号的跨系统数据同步系统,包括两个系统:同步规划系统和同步执行系统;

所述同步规划系统包括账号规划同步子系统、业务规划同步子系统(同步任务的创建)、规划任务发布子系统(同步任务的发布及分配)、规划检查子系统(识别处理分配异常及执行异常):

所述执行系统主要负责执行同步规划系统分配出的任务,保证系统整体执行的高效性,同步执行系统采用分布式的多点部署方式,对于规划系统中防止异常丢失的情况。

所述账号规划同步子系统用于检测平台内状态变更的账号,并将这些发生变更的账号数据发送给业务规划同步子系统,业务规划同步子系统根据账户绑定的业务情况进行具体业务规划的开启和中止;

所述业务规划同布子系统是根据账号开通的业务服务数据,为相应的业务创建以时间为维度的规划任务,创建完毕后再根据账号的数据动态设定下一次需要规划的时间;

所述规划任务发布子系统是将规划出的任务分配到执行系统进行任务执行操作,期间由于异常丢失的任务由规划检查子系统检测并重新发布。

所述同步执行系统主要负责执行同步规划系统分配出的任务,保证系统整体执行的高效性,执行系统采用分布式的多点部署方式,对于规划系统中防止异常丢失的情况。

在所述同步规划系统和同步执行系统的基础上,还包括同步规划任务库、同步执行任务库、同步监控系统;同步规划系统按照规划周期,定期地从同步规划任务库中提取需要做执行规划的同步任务,经规划完毕的同步执行任务存储在执行任务库中,待到达执行时间时,同步规划系统从同步执行任务库中抓取同步执行任务,并发送至同步规划执行系统完成同步执行任务的实施;每一次的同步执行任务规划过程和同步执行任务实施过程中的运行数据,均上传至同步监控系统;

所述同步规划任务库,用于存放与跨系统账号相关联的、有业务数据同步需求、待规划执行的任务;

所述同步执行任务库,用于存放已完成执行规划的同步任务;

所述同步监控系统,用于定期收集所有规划系统和规划执行系统的运行情况,对规划和执行同步数据过程中的异常做预警操作,实时控制规划系统与执行系统,包括系统起停、任务状态实时调整、任务分配。

在所述同步规划系统和同步执行系统的基础上,还包括规划任务库、执行任务库、同步监控系统;规划系统按照规划周期,定期地从规划任务库中提取需要做执行规划的同步任务,经规划完毕的同步执行任务存储在执行任务库中,待到达执行时间时,规划系统从执行任务库中抓取同步执行任务,并发送至规划执行系统完成同步执行任务的实施;每一次的执行任务规划过程和执行任务实施过程中的运行数据,均上传至监控系统;

所述规划任务库,用于存放与跨系统账号相关联的、有业务数据同步需求、待规划执行的任务;

所述执行任务库,用于存放已完成执行规划的同步任务;

所述同步监控系统,用于定期收集所有规划系统和规划执行系统的运行情况,对规划和执行同步数据过程中的异常做预警操作,实时控制规划系统与执行系统,包括系统起停、任务状态实时调整、任务分配;

一种基于账号的跨系统数据同步方法,其特征在于通过绑定跨系统的账号与有同步需求的业务,形成基于账号的业务数据同步任务,按照不同业务的同步需求配置同步执行时间,使不同账号在不同业务场景内定时执行业务数据的同步,实现不同账号的数据同步个性化定制,支持系统间业务数据同步的差异化,具体步骤包括:

步骤1:建立跨系统的用户账号与有数据同步需求的业务之间的关联:在数据同步覆盖的业务场景中,为每一个账号创建与业务相关的同步规划任务,形成与账号绑定的业务同步规划任务,并将同步规划任务放入同步规划任务库中;

所述同步规划任务指明需要定期同步更新数据的任务类型,存储在规划任务库中;

步骤2:当达到同步规划任务需进行执行的时间点时,即过一个业务数据同步规划周期,同步规划任务系统触发数据同步执行任务的创建;

当达到同步执行任务需进行规划的时间点时,即过一个业务数据同步规划周期,同步规划系统触发数据同步执行任务的创建,具体为:业务规划同步子系统从规划任务库中提取“未执行”的规划任务,并按照规划任务,对规划任务的即将执行进行初始化,包括具体任务内容及期望执行时间的初始化,经规划后的同步执行任务放入执行任务库中;

其中,所述具体任务内容指明任务编号、同步执行任务类型、任务信息、任务执行状态;

所述期望执行时间是指某一项同步任务的即将执行的时间;

特别地,针对规划系统实施的任务规划过程及本次规划时间段内出现的相关异常,将定期同步录入监控系统中,统一进行数据归档;

特别地,数据同步执行任务的创建按照具体需求,创建一个或多个;

步骤3:由同步规划任务系统发布及分配同步执行任务:当时间达到同步执行任务的期望时间点,同步规划任务系统中规划任务发布子系统从执行任务库中,提取所有“期望执行时间在当前时间点”且“任务执行状态为待执行”的同步执行任务,并向同步规划任务系统中同步执行系统发布任务,通知进行数据同步任务执行;

步骤4:同步执行系统获取到规划系统发送的同步执行任务,按照任务的具体内容,在指定时刻完成数据同步;同步执行系统在执行任务的过程中,将同步任务的执行情况定期同步至同步规划任务系统中监控系统进行数据归档;

特别地,在数据同步任务执行过程中,若遇到异常导致同步需要暂时停止,更新同步执行任务的期望时间,待到更新后的期望时间点后,再次执行数据同步;

特别地,如若在分布式环境中,同步执行系统分布在多个节点上,每个节点上的同步执行系统将当前节点正在执行的任务编号发送给规划检查子系统,由规划检查子系统对执行系统中的任务状态和规划系统维护的任务状态核对,如果节点存在任务丢失情况则将对应任务重新发布到执行系统。

特别地,在数据同步任务执行过程中,若遇到异常导致同步需要暂时停止,更新同步执行任务的期望时间,待到更新后的期望时间点后,再次执行数据同步;

特别地,规划系统和规划执行系统的所有运行情况均由监控系统实时采集;同时,监控系统不仅对规划和执行同步数据过程中的异常做预警操作;也实时控制规划系统与执行系统,包括系统起停、任务状态实时调整、任务分配;

步骤5:当步骤四的数据同步任务执行完毕,同步规划任务系统记录本次数据同步任务的结束时间;

步骤6:按照业务数据同步周期,当进入在下一个规划期时,同步规划任务系统继续按照步骤2的方法,规划同步任务的执行。

进一步,在步骤1所述为每一个账号创建与业务相关的同步规划任务过程中,涉及到的信息包括对接系统的关联账号信息、数据同步的业务类型、业务数据同步规划周期、同步规划任务的启停状态;

其中,所述业务数据同步规划周期,用于指明从规划任务库中提取规划任务,做执行时间和任务信息的规划周期;

所述规划任务的启停状态,包括未执行、暂停、已执行,用于标识同步规划任务在当前时刻的执行状态;当出现执行异常的情况,通过设置规划任务的启停状态,控制规划任务的暂停和重试。

进一步,步骤2的具体流程为:业务规划同步子系统从规划任务库中提取“未执行”的规划任务,并按照规划任务,对规划任务的即将执行进行初始化,包括具体任务内容及期望执行时间的初始化,经规划后的同步执行任务放入执行任务库中;

数据同步执行任务的创建按照具体需求,创建一个或多个;针对规划系统实施的任务规划过程及本次规划时间段内出现的相关异常,将定期同步录入监控系统中,统一进行数据归档;

其中,所述具体任务内容指明任务编号、同步执行任务类型、任务信息、任务执行状态;所述期望执行时间是指某一项同步任务的即将执行的时间。

进一步,在所述步骤4中,如若是在分布式环境中,同步执行系统分布在多个节点上,每个节点上的同步执行系统将当前节点正在执行的任务编号发送给规划检查子系统,由规划检查子系统对同步执行系统中的任务状态和规划系统维护的任务状态核对,如节点存在任务丢失情况则将对应任务重新发布到同步执行系统。

有益效果

(1)本发明以跨系统的账号为基础,通过将账号与有同步需求的业务进行绑定,使业务数据的同步执行能按照业务当前同步执行的需求,实施规划、执行及监控,支持不同账号在不同业务场景内定时、自动地同步数据,实现多系统间数据同步的定制化,并提高不同账号在执行数据同步过程中的完整性和灵活性;

(2)本发明通过将数据同步的规划、执行及监控过程独立划分,使数据同步任务不仅实现整体系统结构的水平扩展性,也能抵抗用户量增长带来的系统压力;

(3)本发明以系统间账号为单位,在同步任务规划和同步任务执行过程中,通过实时收集、记录和监控每一个账号的每一次业务数据的同步情况,保证对异常及故障的发生过程、发源地的快捷及准确定位;

附图说明

图1为本发明实施例中一种基于账号的跨系统的数据同步系统结构图;

图2为本发明实施例中同步规划系统的结构图;

图3为本发明实施例中基于账号的跨系统的数据同步方法实施流程图;

图4为本发明实施例中基于规划和执行时间的数据同步执行过程展示图。

具体实施例

为了让本技术领域的人能够更好的理解本申请实例中的技术方案,下面结合附图对本申请实施中的本发明的技术方案做进一步的说明。

图1为本发明实施例中一种基于账号的跨系统的数据同步系统结构图,具体包括规划任务库101、执行任务库102、同步规划系统103、同步执行系统104、同步监控系统105;其中规划系统按照规划周期,定期地从规划任务库中提取需要做执行规划的同步任务,经规划完毕的同步执行任务存储在执行任务库中,待到达执行时间时,规划系统从执行任务库中抓取同步执行任务,并发送至规划执行系统完成同步执行任务的实施;每一次的执行任务规划过程和执行任务实施过程中的运行数据,均上传至监控系统。

所述规划任务库101用于存放与跨系统账号相关联的、有业务数据同步需求、待规划执行的任务;

所述执行任务库102用于存放已完成执行规划的同步任务;

所述同步规划系统103,一方面通过检索账号,为有新业务同步需求的账号,创建与账号绑定的规划任务;另一方面按照规划周期,定期地根据规划任务库中的任务,创建相关规划任务的执行任务,并对执行任务在未来时刻的实施做规划;

具体包括账号规划同步子系统103-1、业务规划同步子系统103-2(同步任务的创建)、规划任务发布子系统103-3(同步任务的发布及分配)、规划检查子系统103-4(识别处理分配异常及执行异常);

所述同步执行系统104:对规划系统规划出的同步执行任务进行实施,定时将自己正在执行的同步任务上报给规划系统进行核对,防止有任务丢失;

所述同步监控系统105:定期收集所有规划系统和规划执行系统的运行情况,对规划和执行同步数据过程中的异常做预警操作,保障系统能够稳定高效的运行。

参见图2为本发明实施例中同步规划系统的结构图,其中,所述账号规划同步子系统103-1用于检测同步状态变更的账号(同步状态包括有新的业务同步需求、停止某几项业务同步、关闭所有的业务同步),并将这些发生变更的账号数据发送给业务规划同步子系统,业务规划同步子系统根据账户绑定的业务情况进行具体业务规划的开启和中止;

所述业务规划同步子系统103-2负责同步执行任务的创建;根据账号开通的业务服务数据,为相应的业务创建以时间为维度的规划任务,创建完毕后再根据账号的数据动态设定下一次需要规划的时间;

所述规划任务发布子系统103-3负责将同步执行任务对外发布至同步执行系统104;在发布过程中,因异常而丢失的任务由规划检查子系统103-4检测并重新发布;

图3为本发明实施例中一种基于账号的跨系统的数据同步方法实施流程图,通过绑定跨系统的账号与有同步需求的业务,形成基于账号的业务数据同步任务,按照不同业务的同步需求配置同步执行时间,使不同账号在不同业务场景内定时执行业务数据的同步,实现不同账号的数据同步个性化定制,支持系统间业务数据同步的差异化,具体包括:

步骤301:建立跨系统的用户账号与有数据同步需求的业务之间的关联:在数据同步覆盖的业务场景中,为每一个账号创建与业务相关的同步规划任务,形成与账号绑定的业务同步规划任务,并将同步规划任务放入规划任务库中;

在创建过程中涉及到的信息具体包括:对接系统的关联账号信息、数据同步的业务类型、业务数据同步规划周期、同步规划任务的启停状态;

所述同步规划任务指明了需要定期执行同步更新数据的任务类型,存储在规划任务库101中;

所述业务数据同步规划周期,用于指明从规划任务库中提取规划任务,做执行时间和任务信息的规划周期;

所述规划任务的启停状态,包括未执行、暂停、已执行,用于标识同步规划任务在当前时刻的执行状态;当出现执行异常的情况,通过设置规划任务的启停状态,控制任务的暂停和重试;

步骤302:当达到同步执行任务需进行规划的时间点时,即过一个业务数据同步规划周期,同步规划系统103触发数据同步执行任务的创建,具体为:业务规划同步子系统103-2从规划任务库中提取“未执行”的规划任务,并按照规划任务,对规划任务的即将执行进行初始化,包括具体任务内容及期望执行时间的初始化,经规划后的同步执行任务放入执行任务库102中;

其中,所述具体任务内容指明任务编号、同步执行任务类型、任务信息、任务执行状态;

所述期望执行时间是指某一项同步任务的即将执行的时间;

特别地,针对同步规划系统103实施的任务规划过程及本次规划时间段内出现的相关异常,将定期同步录入监控系统105中,统一进行数据归档;

特别地,数据同步执行任务的创建按照具体需求,创建一个或多个;

步骤303:由规划系统103发布及分配同步执行任务:当时间达到同步执行任务的期望时间点,规划任务发布子系统103-3从执行任务库中,提取所有“期望执行时间在当前时间点”且“任务执行状态为待执行”的同步执行任务,并向同步执行系统104发布任务,通知进行数据同步任务执行;

步骤304:同步执行系统104获取到规划系统发送的同步执行任务,按照任务的具体内容,在指定时刻完成数据同步;执行系统在执行同步任务的过程中,将任务的执行情况定期同步至监控系统105进行数据归档;

特别地,采用分布式的方法,同步执行系统分布在多个节点上,每个节点上的同步执行系统将当前节点正在执行的任务编号发送给规划检查子系统103-4,由规划检查子系统103-4对执行系统104中的任务状态和规划系统103维护的任务状态核对,如节点存在任务丢失情况则将对应任务重新发布到执行系统104。

特别地,在数据同步任务执行过程中,若遇到异常导致同步需要暂时停止,更新同步执行任务的期望时间,待到更新后的期望时间点后,再次执行数据同步;

步骤305:当步骤四的数据同步任务执行完毕,同步规划系统记录本次数据同步任务的结束时间;

步骤306:按照业务数据同步周期,当进入在下一个规划期时,同步规划系统继续按照步骤二的方法,规划同步任务的执行;

图4为本发明实施例中基于规划和执行时间的数据同步执行过程展示图;在本发明实施例的同步执行展示图中,将规划时间和执行时间分为两个时间维度,其中纵轴为规划时间,用于记录规划任务的规划频率,比如9:00,9:30,10:00;横轴为执行时间,用于记录某一个同步执行任务的期望执行时间,比如9:00,9:30,10:00,10:30。

在同步执行任务创建前,根据系统数据同步覆盖的业务场景为每一个账号创建相应的同步规划任务,比如:商品、订单的数据需要进行跨系统的数据同步,那么就为一个账号创建对应的商品同步规划任务和订单同步规划任务;系统根据每个账户设定的业务数据同步间隔对规划任务的下一次规划时间进行刷新;在本发明实施例中,建立用户账号和“订单同步”规划任务的关联,并将“订单同步”规划任务存储在规划任务库中,当达到“订单同步”规划时刻,创建该任务的具体执行信息,比如“拉取9:00-9:30的amazon订单,实现系统间的订单同步”,期望执行时间是9:00;

当横轴“执行时间”达到“拉取9:00-9:30的amazon订单”的期望执行时间,即9:00,执行任务“拉取9:00-9:30的amazon订单”从执行任务库中提取,发送至执行系统进行执行操作,如果任务执行中遇到异常情况需要暂停一段时间(如10分钟)后再执行,那么当前执行任务的期望时间将会更新到9:10,下一次当时间过了9:10,该执行任务将会被规划系统提取出做二次执行。

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