数据写入方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:36691871 阅读:14 留言:0更新日期:2023-02-27 20:00
本申请涉及一种数据写入方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:接收到待写入数据后,获取数据库队列的第一初始数据量;若第一初始数据量小于数据库队列的队列深度,将待写入数据写入数据库队列,并将数据库队列中的数据写入数据库;若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据量小于文件队列的队列深度,则将待写入数据写入文件队列,将文件队列中的数据写入业务文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将业务文件中的数据写入数据库。采用本方法能够提高数据写入的效率。效率。效率。

【技术实现步骤摘要】
数据写入方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种数据写入方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]随着金融行业对数据时效性和准确性的高要求,在全天候的业务需求中,数据写入的能力对保证IT系统的全天候业务连续性具有重要作用。
[0003]现有的数据写入方法,往往采用基于主从结构的数据库数据复制技术来实现数据库数据的同步。然而这种数据写入方式,仅主数据库能够提供读写操作,从数据库提供只读能力,在主数据库出现异常宕库时,需要手动进行主从数据库的切换,存在数据写入效率不高的问题。

技术实现思路

[0004]基于此,有必要针对传统数据写入效率不高的问题,提供一种能够提高数据写入效率的数据写入方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]第一方面,本申请提供了一种数据写入方法。所述方法包括:
[0006]接收到待写入数据后,获取数据库队列的第一初始数据量;
[0007]若第一初始数据量小于数据库队列的队列深度,将待写入数据写入数据库队列,并将数据库队列中的数据写入数据库;
[0008]若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据量小于文件队列的队列深度,则将待写入数据写入文件队列,将文件队列中的数据写入业务文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将业务文件中的数据写入数据库。
[0009]在其中一个实施例中,将数据库队列中的数据写入数据库,包括:
[0010]获取将待写入数据写入到数据库队列的第一写入时长;
[0011]检测数据库队列的当前数据量;
[0012]基于第一写入时长或者数据库队列的当前数据量,将数据库队列中的数据批量写入到数据库。
[0013]在其中一个实施例中,将文件队列中的数据写入业务文件,包括:
[0014]获取将待写入数据写入到文件队列的第二写入时长;
[0015]检测文件队列的当前数据量;
[0016]基于第二写入时长或者文件队列的当前数据量,将文件队列中的数据批量写入到业务文件。
[0017]在其中一个实施例中,数据写入方法还包括:
[0018]在批量写入失败的情况下,将数据库队列中的数据按照先进先出顺序依次写入到数据库中,并获取每个数据的单笔写入结果;
[0019]获取单笔写入结果为失败的目标数据,尝试再次将目标数据写入到数据库中,在尝试第一预设次数仍失败的情况下,则将目标数据写入到第一失败文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将第一失败文件中的数据写入数据库。
[0020]在其中一个实施例中,基于第一写入时长或者数据库队列的当前数据量,将数据库队列中的数据批量写入到数据库,包括:
[0021]在第一写入时长大于第一预设时长时,或者,在数据库队列的当前数据量大于第一预设数量时,将数据库队列中的数据批量写入到数据库。
[0022]在其中一个实施例中,数据写入方法还包括:
[0023]在批量写入失败的情况下,尝试再次将文件队列中的数据写入到业务文件中,在尝试第二预设次数仍写入失败的情况下,则将文件队列中的数据写入到第二失败文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将第二失败文件中的数据写入数据库。
[0024]第二方面,本申请还提供了一种数据写入装置。所述装置包括:
[0025]获取模块,用于接收到待写入数据后,获取数据库队列的第一初始数据量;
[0026]第一写入模块,用于若第一初始数据量小于数据库队列的队列深度,将待写入数据写入数据库队列,并将数据库队列中的数据写入数据库;
[0027]第二写入模块,用于若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据量小于文件队列的队列深度,则将待写入数据写入文件队列,将文件队列中的数据写入业务文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将业务文件中的数据写入数据库。
[0028]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0029]接收到待写入数据后,获取数据库队列的第一初始数据量;
[0030]若第一初始数据量小于数据库队列的队列深度,将待写入数据写入数据库队列,并将数据库队列中的数据写入数据库;
[0031]若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据量小于文件队列的队列深度,则将待写入数据写入文件队列,将文件队列中的数据写入业务文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将业务文件中的数据写入数据库。第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0032]接收到待写入数据后,获取数据库队列的第一初始数据量;
[0033]若第一初始数据量小于数据库队列的队列深度,将待写入数据写入数据库队列,并将数据库队列中的数据写入数据库;
[0034]若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据量小于文件队列的队列深度,则将待写入数据写入文件队列,将文件队列中的数据写入业务文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将业务文件中的数据写入数据库。
[0035]第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0036]接收到待写入数据后,获取数据库队列的第一初始数据量;
[0037]若第一初始数据量小于数据库队列的队列深度,将待写入数据写入数据库队列,并将数据库队列中的数据写入数据库;
[0038]若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据量小于文件队列的队列深度,则将待写入数据写入文件队列,将文件队列中的数据写入业务文件,并在数据库队列中的数据量小于数据库队列的队列深度时,通过数据库队列将业务文件中的数据写入数据库。
[0039]上述数据写入方法、装置、计算机设备、存储介质和计算机程序产品,通过在接收到待写入数据后,获取数据库队列的第一初始数据量,若第一初始数据量小于数据库队列的队列深度,即数据库队列未满的情况下,将待写入数据写入到数据库队列中暂存,能够在待写入数据的数据量较大时缓解系统写入数据库的压力,再将数据库队列中的数据写入数据库,有利于提高待写入数据的写入效率;若数据库队列的队列深度等于第一初始数据量,获取文件队列的第二初始数据量,若第二初始数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据写入方法,其特征在于,所述方法包括:接收到待写入数据后,获取数据库队列的第一初始数据量;若所述第一初始数据量小于所述数据库队列的队列深度,将所述待写入数据写入所述数据库队列,并将所述数据库队列中的数据写入数据库;若所述数据库队列的队列深度等于所述第一初始数据量,获取文件队列的第二初始数据量,若所述第二初始数据量小于文件队列的队列深度,则将所述待写入数据写入文件队列,将所述文件队列中的数据写入业务文件,并在所述数据库队列中的数据量小于所述数据库队列的队列深度时,通过所述数据库队列将所述业务文件中的数据写入所述数据库。2.根据权利要求1所述的方法,其特征在于,将所述数据库队列中的数据写入数据库,包括:获取将所述待写入数据写入到所述数据库队列的第一写入时长;检测所述数据库队列的当前数据量;基于所述第一写入时长或者所述数据库队列的当前数据量,将所述数据库队列中的数据批量写入到所述数据库。3.根据权利要求1所述的方法,其特征在于,所述将所述文件队列中的数据写入业务文件,包括:获取将所述待写入数据写入到所述文件队列的第二写入时长;检测所述文件队列的当前数据量;基于所述第二写入时长或者所述文件队列的当前数据量,将所述文件队列中的数据批量写入到业务文件。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在批量写入失败的情况下,将数据库队列中的数据按照先进先出顺序依次写入到数据库中,并获取每个数据的单笔写入结果;获取单笔写入结果为失败的目标数据,尝试再次将所述目标数据写入到数据库中,在尝试第一预设次数仍失败的情况下,则将所述目标数据写入到第一失败文件,并在所述数据库队列中的数据量小于所述数据库队列的队列深度时,通过所述数据库队列将所述第一失败文件中的数据写入所述数据库。5.根据权利要求2所述的方法,其特征在于,所述基于所述第一写入时长或者...

【专利技术属性】
技术研发人员:孙海英唐俊军刘乐张振兵李蒙蒙宋龙飞石明
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1