SN号段高速打印防重方法、计算机设备及存储介质技术

技术编号:36558358 阅读:13 留言:0更新日期:2023-02-04 17:13
本发明专利技术公开了一种SN号段高速打印防重方法、计算机设备及存储介质,包括:SN号段打印完成后,将完成数据写入redis缓存数据库;写入redis缓存数据库成功后,再写入写数据库;数据库同步,写数据库将已打印数据同步到读数据库;SN号段打印请求查询读数据库中未打印数据;读数据库返回未打印数据;未打印数据一致性判断;读数据库返回未打印数据后,再与redis缓存数据库中的数据进行比对,判断读数据库所返回的未打印数据是否已打印;处理返回结果,防止重复打印。本发明专利技术利用redis缓存数据库单线程的技术特征,在SN号段打印数据获取速度高于读、写数据库同步速度时,将redis缓存数据库作为数据是否最新的校验节点,有效防止SN号段数据重复打印。数据重复打印。数据重复打印。

【技术实现步骤摘要】
SN号段高速打印防重方法、计算机设备及存储介质


[0001]本专利技术涉及工业生产领域SN号段高速打印
,具体涉及一种SN号段高速打印防重方法、计算机设备及存储介质。

技术介绍

[0002]数据库主从架构的主从复制是一个异步的复制过程。就是一台或多台数据库(slave,即从库)从另一台数据库(master,即主库)进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。在单机应用的时候看起来没有问题,但是,在企业的生产环境中,在很多情况下都会有复制延迟的问题。如:
[0003]1)、在某些部署环境中,从库所在的机器性能要比主库所在的机器性能差。此时,如果机器的资源不足的话,就会影响从库同步的效率;
[0004]2)、从库充当了主库,一般情况下,主要写的压力在于主库,那么从库会提供一部分读的压力,而如果从库的查询压力过大的话,从库的查询消耗了大量的CPU资源,那么必不可少的就会影响同步的速度;
[0005]3)、大事务执行,如果主库的一个事务执行了10分钟,而binlog的写入必须要等待事务完成之后,才会传入从库,那么,此时在开始执行的时候就已经延迟了;
[0006]4)、当主库的TPS并发非常高的时候,产生的DDL数量超过了一个线程所能承受的范围的时候,那么也可能带来延迟。
[0007]这些情形均会导致主从数据库存在特定时间内的数据不一致的情况。
[0008]工业生产系统数据库架构可能会使用主从架构及读写分离技术,存在高并发场景,在数据高速写入的同时即会出现上述四种情况,特别是上述情况4)中TPS并发非常高的情况,而产生数据同步延时。

技术实现思路

[0009]为了解决上述
技术介绍
中提出的问题,本专利技术的目的在于提供一种SN号段高速打印防重方法、计算机设备及存储介质,采用redis缓存数据库的单线程的特性,将redis缓存数据库作为数据校验节点,判断主、从数据库是否一致,从业务逻辑层面解决工业生产系统中数据库主从架构且读写分离状态下SN号段高速打印号段重复的问题。
[0010]为实现上述目的,本专利技术提供如下技术方案:
[0011]一种SN号段高速打印防重方法,在读写分离架构中实施,具体步骤如下:
[0012]步骤S100:SN号段打印完成后,将完成数据写入缓存数据库;
[0013]步骤S200:写入缓存数据库成功后,再写入写数据库;
[0014]步骤S300:数据库同步,写数据库将已打印数据同步到读数据库;
[0015]步骤S400:SN号段打印请求查询读数据库中未打印数据;
[0016]步骤S500:读数据库返回未打印数据;
[0017]步骤S600:未打印数据一致性判断;读数据库返回未打印数据后,再与redis缓存
数据库中的数据进行比对,判断读数据库所返回的未打印数据是否已打印;
[0018]步骤S700:处理返回结果,若未打印,则执行打印任务;若已打印,则进行系统提示返回已打印,防止重复打印。
[0019]进一步地技术方案是:所述缓存数据库为redis缓存数据库。
[0020]进一步地技术方案是:
[0021]一种计算机设备,包括存储器、处理器以及存储在存储器中并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上所述一种SN号段高速打印防重方法的步骤。
[0022]进一步地技术方案是:
[0023]一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上所述一种SN号段高速打印防重方法的步骤。
[0024]与现有技术相比,本专利技术的有益效果是:
[0025]本专利技术利用redis缓存数据库单线程的技术特征,在SN号段打印数据获取速度高于读、写数据库同步速度时,将redis缓存数据库作为数据是否最新的校验节点,能够有效防止SN号段数据重复打印。
附图说明
[0026]图1为本专利技术实施例中一种传统SN号段高速打印方法的流程图;
[0027]图2为本专利技术实施例中运用一种传统SN号段高速打印方法的示例图;
[0028]图3为本专利技术实施例中一种SN号段高速打印方法的流程图;
[0029]图4为本专利技术实施例中运用一种SN号段高速打印方法的示例图。
具体实施方式
[0030]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0031]在一个实施例中,一种传统SN号段高速打印方法,当工业生产系统执行SN号段高速打印业务时,执行步骤如图1所示:
[0032]步骤1:SN号段打印完成后,将完成数据写入数据库;
[0033]步骤2:数据库同步,写数据库将已打印数据同步到读数据库;
[0034]步骤3:SN号段打印请求查询读数据库中未打印数据;
[0035]步骤4:读数据库返回未打印数据;
[0036]步骤5:处理返回结果,对未打印执行打印任务,对已打印则进行系统提示。
[0037]在一个具体的实施例中,运用上述实施例中的一种传统SN号段高速打印方法,如图2所示:
[0038]在读写分离架构中M数据库为写数据库,N数据库为读数据库。
[0039]A请求的数据(0

100号段号已打印完成)写入M数据库。假定写入M数据库的数据同步到N数据库需要10ms,在数据库同步的过程中,B请求由于读写分离技术查询N数据库(0

100号段是否打印),此时,M数据库的数据(0

100号段已打印完成)还未完全同步到N数据库,从而导致B请求未查询到最新数据(0

100号段已打印完成),还是老数据(0

100号段未打印),此种,情况下就发生了标签重打。
[0040]一般业务场景,如果发生数据延迟可以重复请求刷新来解决业务问题,但是标签条码如果打印重复,则好比一个人的身份证号出现了重复,无法唯一确认,会导致产品无法唯一确定,在生产上是一种非常严重的事故。
[0041]解决行业内有存在减少延时的各种方法,可以通过如下方式:
[0042]a1)、业务的持久化层的实现采用分库架构,让不同的业务请求分散到不同的数据库服务上,分散单台机器的压力;
[0043]a2)、使用更好的硬件设备,比如cpu,ssd等,但是这种方法一般对于公司而言不太能接受,原因也很简单,会增加公司的成本;
[0044]a3)、从库配置方面修改相关配置参数来提高数据同步效率,或者防止数据丢失。
[0045]但是,这些方式仅仅是减少或者缩短了数据同步时的延时时间,并没有完全消除本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SN号段高速打印防重方法,在读写分离架构中实施,其特征在于,具体步骤如下:步骤S100:SN号段打印完成后,将完成数据写入缓存数据库;步骤S200:写入缓存数据库成功后,再写入写数据库;步骤S300:数据库同步,写数据库将已打印数据同步到读数据库;步骤S400:SN号段打印请求查询读数据库中未打印数据;步骤S500:读数据库返回未打印数据;步骤S600:未打印数据一致性判断;读数据库返回未打印数据后,再与redis缓存数据库中的数据进行比对,判断读数据库所返回的未打印数据是否已打印;步骤S700:处理返回结果,若未打印...

【专利技术属性】
技术研发人员:徐媛汪浩
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

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

1