本发明专利技术提供了一种数据双写方法及装置,适用于大数据技术领域,该方法包括:在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;在接收到单元数据库反馈的写入成功通知后,将数据的关系数据写入网关路由信息缓存;在接收到网关路由信息缓存反馈的写入成功通知后,将关系数据写入网关路由信息表,且不等待网关路由信息数据库反馈;通过异步进程查询单元数据库中状态为待同步的数据对应的关系数据是否在网关路由信息表中写成功;若写成功,更新单元数据库中数据的状态;若未写成功,将关系数据补充写入网关路由信息表,在补充写成功时,更新单元数据库中数据的状态。本发明专利技术可以提高数据双写的效率和成功率。率。率。
【技术实现步骤摘要】
数据双写方法及装置
[0001]本专利技术涉及大数据
,尤其涉及一种数据双写方法及装置。
技术介绍
[0002]在分布式系统中,由于数据按照某一种维度分散在多个单元数据库,不可避免的,在交易服务入口处,需要有网关路由信息来告诉交易数据在哪个单元数据库。例如,银行系统通常按照客户号为中心进行分单元,即客户号及同一客户号下的其他实体比如账号、卡号都要分到同一个单元,那么就需要在网关路由信息中维护客户号与帐号,或者客户号与卡号的对应关系,这样才能保证账号交易或者卡号交易才能在入口处判断出来该去哪个单元。
[0003]从而也引出这样一个问题:当有新的账号、卡号产生或者有账号、卡号逻辑删除时,需要同步在网关路由中维护客户号与帐号,或者客户号与卡号的对应关系。通常网关路由信息在全量数据库(缓存),而实体客户号、卡号、账号在单元数据库,这样就需要同时操作不同的数据库并且需要都成功,这样就会造成大量的分布式事物,从而降低并发性,导致效率低下。
技术实现思路
[0004]本专利技术实施例提出一种数据双写方法,用以实现数据双写,提高数据双写的效率和成功率,该方法包括:
[0005]在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;
[0006]在接收到单元数据库反馈的写入成功通知后,将数据的关系数据写入网关路由信息缓存;
[0007]在接收到网关路由信息缓存反馈的写入成功通知后,将数据的关系数据写入网关路由信息数据库中的网关路由信息表,且不等待网关路由信息数据库反馈;
[0008]通过异步进程查询单元数据库中状态为待同步的数据对应的关系数据是否在网关路由信息表中写成功;
[0009]若写成功,更新单元数据库中数据的状态为已更新;
[0010]若未写成功,将数据的关系数据补充写入网关路由信息表,在补充写成功时,更新单元数据库中数据的状态为已更新。
[0011]本专利技术实施例提出一种数据双写装置,用以实现数据双写,提高数据双写的效率和成功率,该装置包括:
[0012]写入单元数据库模块,用于在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;
[0013]写入缓存模块,用于在接收到单元数据库反馈的写入成功通知后,将数据的关系数据写入网关路由信息缓存;
[0014]写入网关路由信息数据库模块,用于在接收到网关路由信息缓存反馈的写入成功
通知后,将数据的关系数据写入网关路由信息数据库中的网关路由信息表,且不等待网关路由信息数据库反馈;
[0015]数据写成功查询模块,用于通过异步进程查询单元数据库中状态为待同步的数据对应的关系数据是否在网关路由信息表中写成功;若写成功,更新单元数据库中数据的状态为已更新;若未写成功,将数据的关系数据补充写入网关路由信息表,在补充写成功时,更新单元数据库中数据的状态为已更新。
[0016]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据双写方法。
[0017]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据双写方法。
[0018]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据双写方法。
[0019]在本专利技术实施例中,在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;在接收到单元数据库反馈的写入成功通知后,将数据的关系数据写入网关路由信息缓存;在接收到网关路由信息缓存反馈的写入成功通知后,将数据的关系数据写入网关路由信息数据库中的网关路由信息表,且不等待网关路由信息数据库反馈;通过异步进程查询单元数据库中状态为待同步的数据对应的关系数据是否在网关路由信息表中写成功;若写成功,更新单元数据库中数据的状态为已更新;若未写成功,将数据的关系数据补充写入网关路由信息表,在补充写成功时,更新单元数据库中数据的状态为已更新。在上述过程中,在写单元数据库信息的同时也写网关路由信息缓存,再写网关路由信息数据库,但不等待网关路由信息数据库反馈,而是通过异步进程来查询网关路由信息表是否写成功,如果写成功则不做处理,如果没写成功则将数据的关系数据补充写入网关路由信息表,在补充写成功时,更新单元数据库中数据的状态为已更新。这样就避免了大量的分布式事物,提高了数据双写的效率;同时,对于写网关路由信息表不成功这种小概率事件,通过异步进程的方式补偿来确保成功,提高了数据双写成功率。
附图说明
[0020]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0021]图1为本专利技术实施例中数据双写方法的流程图一;
[0022]图2为本专利技术实施例中数据双写方法的流程图二;
[0023]图3为本专利技术实施例中在数据双写时对读请求的处理流程;
[0024]图4为本专利技术实施例中在数据双写时对更新请求的处理流程一;
[0025]图5为本专利技术实施例中在数据双写时对更新请求的处理流程二;
[0026]图6为本专利技术实施例中异步进程的流程图;
[0027]图7为本专利技术实施例中数据双写装置的示意图一;
[0028]图8为本专利技术实施例中数据双写装置的示意图二;
[0029]图9为本专利技术实施例中计算机设备的示意图。
具体实施方式
[0030]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0031]在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
[0032]图1为本专利技术实施例中数据双写方法的流程图一,如图1所示,该方法包括:
[0033]步骤101,在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;
[0034]步骤102,在接收到单元数据库反馈的写入成功通知后,将数据的关系数据写入网关路由信息缓存;<本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据双写方法,其特征在于,包括:在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;在接收到单元数据库反馈的写入成功通知后,将数据的关系数据写入网关路由信息缓存;在接收到网关路由信息缓存反馈的写入成功通知后,将数据的关系数据写入网关路由信息数据库中的网关路由信息表,且不等待网关路由信息数据库反馈;通过异步进程查询单元数据库中状态为待同步的数据对应的关系数据是否在网关路由信息表中写成功;若写成功,更新单元数据库中数据的状态为已更新;若未写成功,将数据的关系数据补充写入网关路由信息表,在补充写成功时,更新单元数据库中数据的状态为已更新。2.如权利要求1所述的方法,其特征在于,通过异步进程查询单元数据库中状态为待同步的数据对应的关系数据是否在网关路由信息表中写成功,包括:轮询提取单元数据库中状态为待同步的数据的键值;通过键值查询对应的关系数据在网关路由信息表是否写成功。3.如权利要求1所述的方法,其特征在于,还包括:在接收到删除请求后,将删除请求中的数据在网关路由信息表对应的关系数据打标为不使用,且不在网关路由信息数据库中进行删除。4.如权利要求1所述的方法,其特征在于,还包括:在接收到读请求时,读取读请求中的数据在网关路由信息缓存中对应的关系数据,若网关路由信息缓存中没有所述对应的关系数据,读取网关路由信息表,并将网关路由信息表所述对应的关系数据放入网关路由信息缓存;在接收到更新请求时,基于更新请求中的数据对应的关系数据的类型,进行更新操作。5.如权利要求4所述的方法,其特征在于,基于更新请求中的数据对应的关系数据的类型,进行更新操作,包括:若网关路由信息缓存中存储的关系数据满足第一条件,基于更新请求中的数据对应的关系数据,更新网关路由信息缓存,然后更新网关路由信息表;所述第一条件为关系数据为键值与数据值结构,且在预设时长内收到的读请求的数量大于第一阈值,且在预设时长内收到的更新请求的数量小于第二阈值:若网关路由信息缓存中存储的关系数据满足第二条件,删除网关路由信息缓存中更新请求中的数据对应的关系数据的历史数据,基于更新请求中的数据对应的关系数据,更新网关路由信息表;所述第二条件在预设时长内收到的更新请求的数量大于第三阈值。6.如权利要求4所述的方法,其特征在于,还包括:若网关路由信息缓存中存储的关系数据满足第二条件,将接收到的读请求与更新请求串行执行。7.一种数据双写装置,其特征在于,包括:写入单元数据库模块,用于在接收到写请求后,将数据写入单元数据库,将写入的数据的状态标记为待同步;写入缓存模块,用于在接收到单元数据库反馈的写入成功通知后,将数据的关系数据
写入网关路由信息缓存;写入网...
【专利技术属性】
技术研发人员:姜俊秀,赵书祥,宋子晨,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。