CN111030846A - 一种基于区块链的数据上链异常重试方法 - Google Patents
一种基于区块链的数据上链异常重试方法 Download PDFInfo
- Publication number
- CN111030846A CN111030846A CN201911128389.7A CN201911128389A CN111030846A CN 111030846 A CN111030846 A CN 111030846A CN 201911128389 A CN201911128389 A CN 201911128389A CN 111030846 A CN111030846 A CN 111030846A
- Authority
- CN
- China
- Prior art keywords
- uplink
- block chain
- scanning detection
- scanning
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明公开一种基于区块链的数据上链异常重试方法,该方法使用独立的扫描检测模块,相较于传统的出现异常立即重试的方式减少了逻辑的复杂度,模块职责分别,可以防止现有方案由于服务宕机导致的部分数据上链中断丢失的情况;通过分布式锁的控制,使得多个水平的扫描检测服务中仅有一个服务对数据上链失败的记录或数据进行检测扫描,决定是否重新上链,后续上链的过程是通过上链服务并发进行的,避免了分布式无锁环境下的重复发送行为,提升了上链过程的整体效率和可靠性。
Description
技术领域
本发明涉及基于区块链的数据上链领域,尤其涉及一种基于区块链的数据上链异常重试方法。
背景技术
区块链技术,区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,是比特币、以太币等数字货币的底层技术。通俗一点说,区块链技术就指一种全民参与记账的方式。区块链上的交易确认由区块链上的所有节点共识完成,共识成功后打包写入区块。区块链维护一个公共的账本,用于存储区块链网络上所有交易,所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。那么谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿里在记。这种方式,我们就称它为区块链技术。由于区块链技术将账本由每个节点进行保存,对单一节点的账本修改不被其他节点所认可,通过该机制保证区块链中的数据是不可篡改的,存储数据到区块链中数据本身不会有被修改的风险。但是现在调用区块链服务时可能由于网络或其他原因出现的上链失败的情况。
传统的数据上链场景一般采用同步上链的方式,同步上链的场景由于上链的速度较为缓慢,与其他业务流程处理速度不匹配,会限制整体系统的吞吐能力。通过异步上链可以进行一个持续的延时数据消费,达到最终的数据上链目的。在现有方案中,上链异常时一般即时处理,立刻进行数据的重新上链,这样的行为在区块链短时无法提供服务的情况下容易造成数据过度重试的情况,如果在上链逻辑过程中服务宕机则需要考虑重启后处理之前上链流程进行一半的数据,导致处理逻辑较为复杂。
发明内容
针对现有技术的不足,本发明提出一种基于区块链的数据上链异常重试方法,通过使用扫描检测这个逻辑行为作为一个资源进行独占,而使上链行为在分布式环境下一直并发进行。具体技术方案如下:
一种基于区块链的数据上链异常重试方法,其特征在于,区块链底层由各区块链节点组成,维护一个区块链网络,所述的区块链网络作为信息存储的基础,用于存储业务系统需要的一系列信息或数据;所述的业务系统包括若干个相同的上链模块和若干个相同的扫描检测模块,所述的业务系统将需要上链的数据通过所述的上链模块进行上链,并通过所述的扫描检测模块定时对上链失败记录进行扫描,所述的扫描检测的步骤如下:
S1:所有的扫描检测模块等待到达预设的时间节点或时间间隔;
S2:所有的所述的扫描检测模块均尝试获取分布式锁,获取到分布式锁的扫描检测模块进行后续逻辑,未获取到分布式锁的扫描检测模块则进入休眠状态,返回S1;
S3:获取到分布式锁的扫描检测模块对区块链的状态进行检测,如果区块链本身出现不可用的情况,则此时无法进行上链操作,扫描后重上链的步骤也无法执行,则扫描检测模块记录相关情况并进行报警,并返回S1;如果区块链正常,则逐条扫描上链失败的记录,通过扫描存储上链信息的数据库获得记录的上链状态、尝试上链次数以及上链失败的原因,判断是否能够尝试重新上链;如果当前的记录符合重新上链的要求,扫描检测模块将记录传输给上链模块尝试重新上链,直到上链成功或达到出错阈值次数;如果当前的记录不符合重新上链的要求,则直接扫描下一条上链失败的记录,直到所有上链失败的记录扫描完毕,返回S1。
进一步地,扫描检测模块将记录传输给上链模块时通过直接调用或消息队列传输的方式。
进一步地,数据库中存储包含业务数据的区块链交易序列化内容,在重新上链时将该序列化交易反序列化后发送至区块链进行尝试上链。
进一步地,所述的扫描检测模块为多个。
本发明的有益效果如下:
(1)本发明的基于区块链的数据上链异常重试方法使用了独立的扫描检测模块,相较于传统的出现异常立即重试的方式减少了逻辑的复杂度,模块职责分别,可以防止现有方案由于服务宕机导致的部分数据上链中断丢失的情况。
(2)本发明的上链模块和扫描检测模块在使用时水平部署若干份,防止由于单个模块宕机导致的整体系统的不可用。
(3)本发明的扫描检测模块结合了分布式锁技术,保证了同一时间只有一个扫描检测模块进行逻辑处理,防止多扫描检测模块同时执行导致的数据重发,在执行逻辑的扫描模块宕机情况下,会有其他扫描检测模块获取分布式锁进行逻辑执行,提供了整体系统的可用性。
附图说明
图1为本发明的基于区块链的上链重试方法的扫描检测并重上链的流程图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
区块链上的信息由于其不可篡改的特性可以保证数据本身可信,将数据保存到区块链中之后可以防止记录后续被修改,能够保证存储的安全性。使用区块链来存储数据时可能会因为网络或其他原因导致上链失败,此时需要有一个机制来将上链失败的记录进行重新上链的操作,从而在网络波动或其他情况下实现较高的上链成功率。
本发明的基于区块链的数据上链异常重试方法,区块链底层由各区块链节点组成,维护一个区块链网络,区块链网络作为信息存储的基础,用于存储业务系统需要的一系列信息或数据;业务系统包括若干个相同的上链模块和若干个相同的扫描检测模块,业务系统将需要上链的数据通过上链模块进行上链,并通过扫描检测模块定时对上链失败记录进行扫描,扫描检测的步骤如下(如图1所示):
S1:所有的扫描检测模块等待到达预设的时间节点或时间间隔;
S2:所有的扫描检测模块均尝试获取分布式锁,获取到分布式锁的扫描检测模块进行后续逻辑,未获取到分布式锁的扫描检测模块则进入休眠状态,返回S1;
S3:获取到分布式锁的扫描检测模块对区块链的状态进行检测,如果区块链本身出现不可用的情况,则此时无法进行上链操作,扫描后重上链的步骤也无法执行,则扫描检测模块记录相关情况并进行报警,并返回S1;如果区块链正常,则逐条扫描上链失败的记录,通过扫描存储上链信息的数据库获得记录的上链状态、尝试上链次数以及上链失败的原因,判断是否能够尝试重新上链;如果当前的记录符合重新上链的要求,扫描检测模块将记录传输给上链模块尝试重新上链,直到上链成功或达到出错阈值次数;如果当前的记录不符合重新上链的要求,则直接扫描下一条上链失败的记录,直到所有上链失败的记录扫描完毕,返回S1。
优选地,扫描检测模块将记录传输给上链模块时通过直接调用或消息队列传输的方式。数据库中存储包含业务数据的区块链交易序列化内容,在重新上链时将该序列化交易反序列化后发送至区块链进行尝试上链。
扫描检测模块为多个,防止其中一个模块异常关闭后整体扫描检测功能的不可使用。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (4)
1.一种基于区块链的数据上链异常重试方法,其特征在于,区块链底层由各区块链节点组成,维护一个区块链网络,所述的区块链网络作为信息存储的基础,用于存储业务系统需要的一系列信息或数据;所述的业务系统包括若干个相同的上链模块和若干个相同的扫描检测模块,所述的业务系统将需要上链的数据通过所述的上链模块进行上链,并通过所述的扫描检测模块定时对上链失败记录进行扫描,所述的扫描检测的步骤如下:
S1:所有的扫描检测模块等待到达预设的时间节点或时间间隔;
S2:所有的所述的扫描检测模块均尝试获取分布式锁,获取到分布式锁的扫描检测模块进行后续逻辑,未获取到分布式锁的扫描检测模块则进入休眠状态,返回S1。
S3:获取到分布式锁的扫描检测模块对区块链的状态进行检测,如果区块链本身出现不可用的情况,则此时无法进行上链操作,扫描后重上链的步骤也无法执行,则扫描检测模块记录相关情况并进行报警,并返回S1;如果区块链正常,则逐条扫描上链失败的记录,通过扫描存储上链信息的数据库获得记录的上链状态、尝试上链次数以及上链失败的原因,判断是否能够尝试重新上链;如果当前的记录符合重新上链的要求,扫描检测模块将记录传输给上链模块尝试重新上链,直到上链成功或达到出错阈值次数;如果当前的记录不符合重新上链的要求,则直接扫描下一条上链失败的记录,直到所有上链失败的记录扫描完毕,返回S1。
2.根据权利要求1所述的基于区块链的数据上链异常重试方法,其特征在于,扫描检测模块将记录传输给上链模块时通过直接调用或消息队列传输的方式。
3.根据权利要求1所述的基于区块链的数据上链异常重试方法,其特征在于,数据库中存储包含业务数据的区块链交易序列化内容,在重新上链时将该序列化交易反序列化后发送至区块链进行尝试上链。
4.根据权利要求1所述的基于区块链的数据上链异常重试方法,其特征在于,所述的上链模块和扫描检测模块均为多个。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128389.7A CN111030846A (zh) | 2019-11-18 | 2019-11-18 | 一种基于区块链的数据上链异常重试方法 |
CN202011419794.7A CN112383441B (zh) | 2019-11-18 | 2020-11-17 | 基于区块链的数据处理方法、数据库上链系统及节点设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128389.7A CN111030846A (zh) | 2019-11-18 | 2019-11-18 | 一种基于区块链的数据上链异常重试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111030846A true CN111030846A (zh) | 2020-04-17 |
Family
ID=70200530
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911128389.7A Pending CN111030846A (zh) | 2019-11-18 | 2019-11-18 | 一种基于区块链的数据上链异常重试方法 |
CN202011419794.7A Active CN112383441B (zh) | 2019-11-18 | 2020-11-17 | 基于区块链的数据处理方法、数据库上链系统及节点设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011419794.7A Active CN112383441B (zh) | 2019-11-18 | 2020-11-17 | 基于区块链的数据处理方法、数据库上链系统及节点设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111030846A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679812A (zh) * | 2020-06-10 | 2020-09-18 | 深圳前海微众银行股份有限公司 | 业务处理方法、装置、设备及计算机可读存储介质 |
CN111694898A (zh) * | 2020-06-12 | 2020-09-22 | 中国银行股份有限公司 | 一种区块链交易池模型及上链交易数据交互系统 |
CN112070497A (zh) * | 2020-09-09 | 2020-12-11 | 上海万向区块链股份公司 | 基于智能合约设计的关联交易重排方法、系统及介质 |
CN113590354A (zh) * | 2021-07-30 | 2021-11-02 | 工银科技有限公司 | 基于区块链的信息推送方法、装置、设备、介质和程序产品 |
CN113609196A (zh) * | 2021-06-23 | 2021-11-05 | 云南昆钢电子信息科技有限公司 | 一种区块链上链自动化系统及方法 |
CN114629927A (zh) * | 2022-02-28 | 2022-06-14 | 重庆市先进区块链研究院 | 一种针对区块链溯源平台数据上链改进的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134376A (zh) * | 2021-03-26 | 2022-09-30 | 中兴通讯股份有限公司 | 数据处理方法、设备和存储介质 |
CN113986915A (zh) * | 2021-10-13 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 一种数据存证方法及装置 |
CN115442269A (zh) * | 2022-09-01 | 2022-12-06 | 中国银行股份有限公司 | 一种基于区块链的网络联通性监控方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4767336B2 (ja) * | 2009-06-10 | 2011-09-07 | 株式会社日立製作所 | メールサーバシステム及び輻輳制御方法 |
CN106254100B (zh) * | 2016-07-27 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 一种数据容灾方法、装置和系统 |
CN107395659B (zh) * | 2017-03-28 | 2021-08-24 | 创新先进技术有限公司 | 一种业务受理及共识的方法及装置 |
US10866868B2 (en) * | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
CN109636388B (zh) * | 2018-12-07 | 2024-02-23 | 深圳市智税链科技有限公司 | 区块链网络中的数据处理方法、装置、介质及电子设备 |
CN110070444A (zh) * | 2019-04-25 | 2019-07-30 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种区块链交易流程管理方法及相关装置 |
CN110222085B (zh) * | 2019-05-07 | 2021-06-22 | 北京奇艺世纪科技有限公司 | 一种存证数据的处理方法、装置及存储介质 |
CN111352996B (zh) * | 2020-02-26 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的数据共享方法、装置、设备及介质 |
-
2019
- 2019-11-18 CN CN201911128389.7A patent/CN111030846A/zh active Pending
-
2020
- 2020-11-17 CN CN202011419794.7A patent/CN112383441B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679812A (zh) * | 2020-06-10 | 2020-09-18 | 深圳前海微众银行股份有限公司 | 业务处理方法、装置、设备及计算机可读存储介质 |
CN111694898A (zh) * | 2020-06-12 | 2020-09-22 | 中国银行股份有限公司 | 一种区块链交易池模型及上链交易数据交互系统 |
CN112070497A (zh) * | 2020-09-09 | 2020-12-11 | 上海万向区块链股份公司 | 基于智能合约设计的关联交易重排方法、系统及介质 |
CN113609196A (zh) * | 2021-06-23 | 2021-11-05 | 云南昆钢电子信息科技有限公司 | 一种区块链上链自动化系统及方法 |
CN113590354A (zh) * | 2021-07-30 | 2021-11-02 | 工银科技有限公司 | 基于区块链的信息推送方法、装置、设备、介质和程序产品 |
CN114629927A (zh) * | 2022-02-28 | 2022-06-14 | 重庆市先进区块链研究院 | 一种针对区块链溯源平台数据上链改进的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112383441B (zh) | 2023-04-18 |
CN112383441A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111030846A (zh) | 一种基于区块链的数据上链异常重试方法 | |
CN110597907B (zh) | 跨区块链的数据信息同步方法、装置、设备及介质 | |
US9189348B2 (en) | High availability database management system and database management method using same | |
CN111371892A (zh) | 高并发分布式消息推送系统及方法 | |
CN110231995B (zh) | 一种基于Actor模型的任务调度方法、装置及存储介质 | |
US20060146848A1 (en) | Server queuing system and method | |
US20110173495A1 (en) | Method and System for Reliable Intersystem Message Notification | |
FR2561009A1 (fr) | Systemes de traitement de donnees comportant au moins deux unites de traitement de donnees ayant chacune acces aux memes donnees | |
CN110704490A (zh) | 一种基于智能合约的业务数据处理方法和装置 | |
CN109523378B (zh) | 一种保持交易一致性的方法、装置及系统 | |
CN108958984A (zh) | 基于ceph的双活同步在线热备方法 | |
CN112925614B (zh) | 一种分布式事务处理方法、装置、介质和设备 | |
CN108519920A (zh) | 一种调度重试方法及装置 | |
CN113132160B (zh) | 一种客户端节点的网络亚健康状态的检测方法和系统 | |
US6185702B1 (en) | Method and system for process state management using checkpoints | |
CN112596801B (zh) | 事务处理方法、装置、设备、存储介质、数据库 | |
CN111464621A (zh) | 分布式系统异步通信中消息发送与接收的数量检测方法 | |
CN108647105A (zh) | 系统切换过程中的幂等控制方法、装置及系统 | |
CN110941622A (zh) | 一种数据处理方法及装置 | |
CN104158843B (zh) | 分布式文件存储系统的存储单元失效检测方法及装置 | |
CN111190754B (zh) | 一种区块链事件通知方法及区块链系统 | |
CN106776153A (zh) | 作业控制方法及服务器 | |
US8078911B2 (en) | Error recovery for application-level intermediaries | |
CN116149932A (zh) | 软件系统状态的检测方法、装置及电子设备 | |
JPH07105808B2 (ja) | トークン・リング・システム制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200417 |