[发明专利]一种基于数据双写的票据同步方法及终端有效
申请号: | 202110801225.7 | 申请日: | 2021-07-15 |
公开(公告)号: | CN113505178B | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 陈庸凯;刘盈;黄荣明;王航宇 | 申请(专利权)人: | 福建博思软件股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/23;G06F16/245 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林振杰 |
地址: | 350000 福建省福州市闽侯县上街镇科技东路*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 票据 同步 方法 终端 | ||
本发明公开了一种基于数据双写的票据同步方法及终端,接收票据写入请求,若需要新增票据则将票据写入第一对账表,同时异步写入主表,若需要变更票据则将票据写入第二对账表,同时异步写入变更表,因此每次写入票据都将会存入对账表和查询库表中,票据写入查询库之前都会使用代理组件进行缓冲,从而有效降低查询库的负载;通过判断第一对账表与主表是否存在差集,将遗漏的数据插入主表,通过判断第二对账表与变更表是否存在差集,将遗漏的数据插入变更表,将插入数据后的变更表合并至主表,保证查询库数据的完整性和准确性;因此通过数据双写并自动对账的方法,能够相对实时地查询到新增的业务数据,提高查询效率和票据同步的实时性。
技术领域
本发明涉及数据库技术领域,特别涉及一种基于数据双写的票据同步方法及终端。
背景技术
目前为了实现票据的同步,通常采用两种同步方法:
一种是解析抽取数据库的binlog,并将关注的数据同步至查询库。但是binlog解析相对复杂,解析抽取数据的成本较高,且不同数据库的binlog格式不一样,导致产品设计上无法统一方案;非税电子票据系统涉及到的数据库主要有Oracle、Mysql、HBase等,查询库可以与生产库同类型,亦有其他列式的数据库,比如ClickHouse、DorisDB、TiDb等,因此在技术选型上,无法提供通用的方案和技术。
另一种是日终增量抽取数据库的新增业务数据及变更数据,插入或者更新至查询库。通过日终抽取数据进行同步的方法相对简单,通过结合一定的业务规则,增量同步数据至查询库;但是同步的实时性较低,系统需要T+1的时间才能查询到昨日的数据变更情况,且当数据库数据量巨大时,同步耗费非常大,容易造成生产库的查询瓶颈。
发明内容
本发明所要解决的技术问题是:提供一种基于数据双写的票据同步方法及终端,能够提高票据同步的实时性,并减少票据同步的压力。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于数据双写的票据同步方法,包括步骤:
接收票据写入请求,获取所述票据写入请求的请求类型,若所述请求类型为新增票据,则将票据写入第一对账表,同时将票据异步缓冲至代理组件后写入查询库主表,若所述请求类型为变更票据,则将票据写入第二对账表,同时将票据异步缓冲至代理组件后写入查询库变更表;
判断所述第一对账表与所述主表是否存在第一差集,若是,则将所述第一差集对应的第一对账表的票据插入所述主表;
判断所述第二对账表与所述变更表是否存在第二差集,若是,则将所述第二差集对应的第二对账表的票据插入所述变更表;
将更新后的所述变更表合并至更新后的所述主表。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种基于数据双写的票据同步终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收票据写入请求,获取所述票据写入请求的请求类型,若所述请求类型为新增票据,则将票据写入第一对账表,同时将票据异步缓冲至代理组件后写入查询库主表,若所述请求类型为变更票据,则将票据写入第二对账表,同时将票据异步缓冲至代理组件后写入查询库变更表;
判断所述第一对账表与所述主表是否存在第一差集,若是,则将所述第一差集对应的第一对账表的票据插入所述主表;
判断所述第二对账表与所述变更表是否存在第二差集,若是,则将所述第二差集对应的第二对账表的票据插入所述变更表;
将更新后的所述变更表合并至更新后的所述主表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建博思软件股份有限公司,未经福建博思软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110801225.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置