CN112383441A - 基于区块链的数据处理方法、数据库上链系统及节点设备 - Google Patents
基于区块链的数据处理方法、数据库上链系统及节点设备 Download PDFInfo
- Publication number
- CN112383441A CN112383441A CN202011419794.7A CN202011419794A CN112383441A CN 112383441 A CN112383441 A CN 112383441A CN 202011419794 A CN202011419794 A CN 202011419794A CN 112383441 A CN112383441 A CN 112383441A
- Authority
- CN
- China
- Prior art keywords
- uplink
- data
- database
- processing method
- block chain
- 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.)
- Granted
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
技术领域
本申请属于区块链技术领域,尤其涉及一种基于区块链的数据处理方法、数据库上链系统、区块链节点设备及计算机可读存储介质。
背景技术
随着区块链技术的快速发展,目前有很多应用系统采用区块链来存储数据。在采用区块链存储数据时,需要通过数据库上链系统将原有数据库中的数据上传至区块链中,将数据从原有数据库上传至区块链的过程即为数据的上链过程。
现有的数据库上链系统在对数据执行数据上链操作时,若某条数据上链失败,则数据库上链系统会立即对该条数据进行重新上链,这样在区块链短时无法提供服务的情况下容易造成数据过度重试的情况,不仅浪费数据上链系统的处理器资源,而且降低了数据上链的成功率。
发明内容
有鉴于此,本申请实施例提供了一种基于区块链的数据处理方法、数据库上链系统、区块链节点设备及计算机可读存储介质,以解决现有的数据库上链系统所采用的数据上链方法在区块链短时无法提供服务的情况下容易造成数据过度重试的情况,不仅浪费数据上链系统的处理器资源,而且降低了数据上链的成功的技术问题。
第一方面,本申请实施例提供一种基于区块链的数据处理方法,应用于数据库上链系统,所述数据处理方法包括:
检测区块链的工作状态;
若所述工作状态为正常状态,则获取上链失败队列中的各条待上链数据的上链信息;
若基于所述上链失败队列中的第一待上链数据的上链信息确定所述第一待上链数据能够重新上链,则对所述第一待上链数据重新执行数据上链操作,直至所述第一待上链数据上链成功或者达到所述第一待上链数据的第一重试上链次数阈值。
可选的,所述数据库上链系统包括多个扫描检测单元和多个数据上链单元;
相应的,所述检测区块链的工作状态,包括:
所述多个扫描检测单元基于预设时间间隔或者在预设的时间点尝试获取分布式锁;
获取到分布式锁的第一扫描检测单元检测所述区块链的工作状态;
相应的,所述获取上链失败队列中的各条待上链数据的上链信息,包括:
所述第一扫描检测单元获取上链失败队列中的各条所述待上链数据的上链信息;
所述第一扫描检测单元向所述多个数据上链单元中的第一数据上链单元发送各条所述待上链数据的上链信息,所述第一数据上链单元用于对所述待上链数据执行数据上链操作。
可选的,所述第一扫描检测单元向所述多个数据上链单元中的第一数据上链单元发送各条所述待上链数据的上链信息,包括:
所述第一扫描检测单元采用直接调用或者消息队列传输的方式向所述第一数据上链单元发送各条所述待上链数据的上链信息。
可选的,在所述多个扫描检测单元基于预设时间间隔或者在预设的时间点尝试获取分布式锁之后,所述数据处理方法还包括:
未获取到所述分布式锁的第二扫描检测单元进入休眠状态,并基于预设时间间隔或者在预设的时间点重新尝试获取所述分布式锁。
可选的,在所述检测区块链的工作状态之后,所述数据处理方法还包括:
若所述工作状态为异常状态,则输出第一故障提示信息,所述第一故障提示信息用于提示所述区块链的工作状态为异常状态。
可选的,所述数据处理方法还包括:
从数据库中读取待上链数据以及所述待上链数据对应的数据编号;
向区块链节点设备上传从数据库中读取出的各条所述待上链数据对应的数据上链请求和数据编号;
若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且未达到所述第二待上链数据的第二重试上链次数阈值,则向所述区块链节点设备上传所述第二待上链数据对应的数据编号和重新生成的所述数据上链请求,直至所述第二待上链数据上链成功或者达到所述第二重试上链次数阈值。
可选的,所述数据处理方法还包括:
将从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号关联存储至待上链队列中;
相应的,所述向区块链节点设备从数据库中读取出的上传所述待上链数据对应的数据上链请求和数据编号,包括:
运行多个线程,通过所述多个线程向所述区块链节点设备上传从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号。
可选的,在所述向区块链节点设备上传从数据库中读取出的各条所述待上链数据对应的数据上链请求和数据编号之后,所述数据处理方法还包括:
若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且所述第二待上链数据的重试上链次数达到所述第二重试上链次数阈值,则将所述第二待上链数据与所述第二待上链数据对应的数据编号关联存储至所述上链失败队列中,以及设置所述第二待上链数据的重试上链次数为0。
可选的,所述数据处理方法还包括:
接收第一客户端发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号;
向所述区块链节点设备发送所述数据查询请求;
接收所述区块链节点设备基于所述待查询数据对应的数据编号返回的所述待查询数据对应的数据上链请求;
从所述待查询数据对应的数据上链请求中解析出所述待查询数据,并向所述第一客户端发送所述待查询数据。
可选的,所述数据处理方法还包括:
确定所述数据库中已被读取的待上链数据对应的数据编号中的最大值;
将所述最大值发送至所述区块链节点设备。
第二方面,本申请实施例提供一种基于区块链的数据处理方法,应用于区块链节点设备,所述数据处理方法包括:
若接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号,则向所述数据库上链系统返回上传成功指示。
可选的,在所述接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号之后,所述数据处理方法还包括:
对所述待上链数据对应的数据上链请求进行编码,得到所述待上链数据对应的数据上链请求的编码值;
将所述待上链数据对应的数据上链请求与所述待上链数据对应的数据上链请求的编码值关联存储在第一存储区域;
将所述待上链数据对应的数据上链请求的编码值与所述待上链数据对应的数据编号关联存储在智能合约中。
可选的,在所述将所述待上链数据对应的数据上链请求的编码值与所述待上链数据对应的数据编号关联存储在智能合约中之后,所述数据处理方法还包括:
接收数据库上链系统发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号;
基于所述待查询数据对应的数据编号,从所述智能合约中获取所述待查询数据对应的数据上链请求的编码值;
基于所述待查询数据对应的数据上链请求的编码值,从所述第一存储区域获取所述待查询数据对应的数据上链请求;
向所述数据库上链系统发送所述待查询数据对应的数据上链请求。
可选的,所述数据处理方法还包括:
接收所述数据库上链系统发送的所述数据库中已被读取的待上链数据对应的数据编号中的最大值;
将所述最大值存储至智能合约中。
第三方面,本申请实施例提供一种数据库上链系统,包括:
状态检测单元,用于检测区块链的工作状态;
扫描检测单元,用于若所述工作状态为正常状态,则获取上链失败队列中的各条待上链数据的上链信息;
数据上链单元,用于若基于所述上链失败队列中的第一待上链数据的上链信息确定所述第一待上链数据能够重新上链,则对所述第一待上链数据重新执行数据上链操作,直至所述第一待上链数据上链成功或者达到所述第一待上链数据的第一重试上链次数阈值。
第四方面,本申请实施例提供一种数据库上链系统,所述数据库上链系统包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意可选方式所述的数据处理方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意可选方式所述的数据处理方法。
第六方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在数据库上链系统上运行时,使得数据库上链系统执行上述第一方面或第一方面的任意可选方式所述的数据处理方法。
第七方面,本申请实施例提供一种区块链节点设备,包括:
信息反馈单元,用于若接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号,则向所述数据库上链系统返回上传成功指示。
第八方面,本申请实施例提供一种区块链节点设备,所述区块链节点设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第二方面或第二方面的任意可选方式所述的数据处理方法。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面或第二方面的任意可选方式所述的数据处理方法。
第十方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在区块链节点设备上运行时,使得区块链节点设备执行上述第二方面或第二方面的任意可选方式所述的数据处理方法。
实施本申请实施例提供的一种基于区块链的数据处理方法、数据库上链系统、区块链节点设备、计算机可读存储介质及计算机程序产品具有以下有益效果:
本申请实施例提供的数据处理方法,由于上链失败的待上链数据被存储在上链失败队列中,因此本申请实施例在检测到区块链当前的工作状态为正常状态时,才从上链失败队列中读取各条待上链数据的上链信息,以及在基于上链信息确定待上链数据能够重新上链的情况下,才对待上链数据重新执行数据上链操作,从而能够提高数据上链的成功率;同时,由于为每条待上链数据提供了第一重试上链次数阈值次重试机会,因此在待上链数据当次上链时的重试上链次数达到第一重试上链次数阈值后便不再对其重新执行数据上链操作,从而在提高数据上链的成功率的同时,还可以避免对数据上链系统的处理器资源造成浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于区块链的数据处理方法所涉及的系统的示意性架构图;
图2为本申请实施例提供的一种基于区块链的数据处理方法的示意性流程图;
图3为本申请另一实施例提供的一种基于区块链的数据处理方法的示意性流程图;
图4为本申请又一实施例提供的一种基于区块链的数据处理方法的示意性流程图;
图5为本申请又一实施例提供的一种基于区块链的数据处理方法的示意性流程图;
图6为本申请又一实施例提供的一种基于区块链的数据处理方法的示意性流程图;
图7为本申请实施例提供的一种数据库上链系统的结构示意图;
图8为本申请另一实施例提供的一种数据库上链系统的结构示意图;
图9为本申请实施例提供的一种区块链节点设备的结构示意图;
图10为本申请另一实施例提供的一种区块链节点设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
请参阅图1,图1为本申请实施例提供的一种基于区块链的数据处理方法所涉及的系统的示意性架构图。如图1所示,本申请实施例提供的数据处理方法所涉及的系统可以包括:数据库10、数据库上链系统20及区块链。
其中,数据库10可以为任一应用系统的原有数据库。作为示例而非限定,应用系统的原有数据库可以为非分布式数据库。数据库10中通常存储有应用系统在被使用过程中产生的各种数据。由于不同应用系统可能会使用不同类型的数据库,因此本申请实施例不对数据库10的类型做特别限定。
区块链包括至少一个区块链节点设备301,该至少一个区块链节点设备301维护一个区块链网络,该区块链网络作为信息存储的基础,用于存储业务系统需要的一系列信息或数据。上述业务系统可以为图1中的数据库上链系统20。
其中,各个区块链节点设备301之间可以进行相互通信。每个区块链节点设备301中可以部署有智能合约。
本申请实施例中,数据库上链系统20可以与数据库10以及区块链节点设备301进行通信。例如,数据库上链系统20可以从数据库10中读取待上链数据,并将读取到的待上链数据上传至区块链节点设备301中进行存储。
在本申请的一个实施例中,数据库上链系统20可以包括若干个相同的扫描检测单元和若干个相同的数据上链单元。数据库上链系统20可以将需要上链的数据通过上述上链单元进行上链,并通过上述扫描检测单元定时对上链失败记录进行扫描检测,该扫描检测的步骤如下:
步骤A、所有的扫描检测单元等待到达预设的时间节点或时间间隔;
步骤B、所有的所述扫描检测单元均尝试获取分布式锁,获取到分布式锁的扫描检测单元进行后续逻辑,未获取到分布式锁的扫描检测单元进入休眠状态,返回步骤A;
步骤C、获取到分布式锁的扫描检测单元对区块链的状态进行检测,如果区块链本身出现不可用的情况,则此时无法进行上链操作,扫描后重上链的步骤也无法执行,则扫描检测单元记录相关情况并进行报警,并返回步骤A;如果区块链正常,则逐条扫描上链失败的记录,通过扫描存储上链信息的数据库获得记录的上链状态、尝试上链次数以及上链失败的原因,判断是否能够重新上链;如果当前的记录符合重新上链的要求,扫描检测单元将记录传输给上链单元尝试重新上链,直到上链成功或达到出错阈值次数;如果当前的记录不符合重新上链的要求,则直接扫描下一条上链失败的记录,直到所有上链失败的记录扫描完毕,返回步骤A。
进一步的,扫描检测单元将记录传输给数据上链单元时通过直接调用或者消息队列传输的方式。
进一步的,数据库10中可以存储包含业务数据的区块链交易序列化内容,在重新上链时将该序列化交易内容反交易化后发送至区块链进行重新上链。
进一步的,扫描检测单元为多个。
以下对本申请实施例提供的数据处理方法进行详细说明:
请参阅图2,图2为本申请实施例提供的一种基于区块链的数据处理方法的示意性流程图。如图2所示,数据处理方法可以包括S21~S23,详述如下:
S21:数据库上链系统检测区块链的工作状态。
本申请实施例中,数据库上链系统可以将上链失败的待上链数据存储至上链失败队列中,该上链失败队列中存储的各条待上链数据可以相当于上述的上链失败记录。作为示例而非限定,在一个具体实现方式中,数据库上链系统可以将上链失败的待上链数据与该待上链数据对应的数据编号关联存储至上链失败队列中,后续再对上链失败队列中的待上链数据进行重新上链。
其中,待上链数据对应的数据编号可以通过待上链数据所属的数据表的标识以及待上链数据在其所属的数据表中的存储顺序来表示。其中,数据表的标识可以是数据表的名称或编号等。作为示例而非限定,待上链数据所属的数据表可以是数据库10中的数据表。
在本申请的一个具体实施例中,发送失败队列中存储的数据还可以是待上链数据对应的包含业务数据的区块链交易序列化内容,数据库上链系统在对待上链数据执行上链操作时,可以从发送失败队列中获取上述区块链交易序列化内容,并将该区块链交易序列化内容反序列化后得到待上链数据。
在具体应用中,数据上链失败可能是由于区块链工作异常造成的,因此,本申请实施例中,数据库上链系统在对上链失败队列中的待上链数据进行重新上链时,可以先检测区块链当前的工作状态。
作为示例而非限定,数据库上链系统检测区块链当前的工作状态可以是:检测各个区块链节点设备当前的工作状态。具体地,若所有区块链节点设备当前的工作状态均为正常状态,则可以认为区块链当前的工作状态为正常状态;若至少有一个区块链节点设备当前的工作状态为异常状态,则可以认为区块链当前的工作状态为异常状态。
S22:数据库上链系统若检测到所述工作状态为正常状态,则获取上链失败队列中的各条待上链数据的上链信息。
本申请实施例中,数据上链系统在将上链失败的待上链数据与其对应的数据编号存储至上链失败队列中的同时,还可以将上链失败的待上链数据的上链信息与其对应的数据编号关联存储在状态信息表中,该状态信息表可以相当于上述步骤C中的存储上链信息的数据库。
其中,上链信息可以包括但不限于上链状态、重试上链次数及上链失败原因。上链状态包括已上链或未上链,通常,上链失败队列中存储的各条待上链数据的上链状态为未上链。上链失败队列中的各条待上链数据的重试上链次数的初始值为0,数据库上链系统每对上链失败队列中的某条待上链数据执行一次上链操作,便将该待上链数据的重试上链次数加1。
因此,数据库上链系统在检测到区块链当前的工作状态为正常状态时,可以基于上链失败队列中的各条待上链数据对应的数据编号,从状态信息表中读取上链失败队列中的各条待上链数据的上链信息。数据库上链系统获取到上链失败队列中的各条待上链数据的上链信息后,可以基于每条待上链数据的上链信息,逐条判断上链失败队列中的每条待上链数据是否能够重新上链。
在一种可能的方式中,数据库上链系统若确定上链失败队列中的某条待上链数据(如第一待上链数据)能够重新上链,则执行S23。
在另一种可能的实现方式中,数据库上链系统若确定上链失败队列中的某条待上链数据(如第三待上链数据)无法重新上链,则对上链失败队列中的下一条待上链数据进行上述判断操作和/或后续的数据上链操作,直至检测完上链失败队列中的所有待上链数据。
本实施例通过对上链失败队列中的各条待上链数据的上链信息进行检测,只对上链失败队列中能够重新上链的待上链数据执行数据上链操作,不对无法重新上链的待上链数据执行数据上链操作,从而可以避免对处理器的资源造成浪费,提高数据上链的成功率。
S23:若基于所述上链失败队列中的第一待上链数据的上链信息确定所述第一待上链数据能够重新上链,则对所述第一待上链数据重新执行数据上链操作,直至所述第一待上链数据上链成功或者达到所述第一待上链数据的第一重试上链次数阈值。
作为示例而非限定,数据库上链系统对第一待上链数据重新执行数据上链操作具体可以包括:数据库上链系统生成第一待上链数据对应的数据上链请求,并向区块链节点设备上传第一待上链数据对应的数据上链请求和数据编号。
本申请实施例中,数据上链请求是区块链节点设备能够识别的一种数据增改指令,其用于请求将待上链数据上传至区块链节点设备。
数据上链请求中通常包括一个用于存储待上链数据的字段。数据库上链系统在判断第一待上链数据能够重新上链后,可以将第一待上链数据存储至数据上链请求中对应的字段中,得到第一待上链数据对应的数据上链请求,并向区块链节点设备上传第一待上链数据对应的数据上链请求和数据编号。
本申请实施例中,数据库上链系统向区块链节点设备上传了第一待上链数据对应的数据上链请求和数据编号后,若区块链节点设备接收到了数据库上链系统上传的第一待上链数据对应的数据上链请求和数据编号,则区块链节点设备会向数据库上链系统返回一个针对第一待上链数据的上传成功指示,该上传成功指示用于告知数据库上链系统该待上链数据上链成功。
因此,作为示例而非限定,在本申请的一个实施例中,数据库上链系统若在上传了第一待上链数据对应的数据上链请求和数据编号之后的预设时长内接收到了区块链节点设备返回的针对第一待上链数据的上传成功指示时,则数据库上链系统可以认为第一待上链数据上链成功。
在本申请的另一个实施例中,数据库上链系统若在上传了第一待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到区块链节点设备返回的针对第一待上链数据的上传成功指示,则数据库上链系统可以认为第一待上链数据上链失败。此时数据库上链系统若检测到第一待上链数据的重试上链次数小于第一重试上链次数阈值,则数据库上链系统重新对第一待上链数据执行数据上链操作,直至第一待上链数据上链成功或者第一待上链数据的重试上链次数达到第一重试上链次数阈值。
其中,第一重试上链次数阈值可以根据实际需求设置,此处不做限制,例如,第一重试上链次数阈值可以为3。本实施例中的第一重试上链次数阈值可以相当于上述步骤C中的出错阈值次数。
需要说明的是,发送失败队列中的每条待上链数据的重试上链次数的初始值可以为0,数据库上链系统在对发送失败队列中的待上链数据执行数据上链操作时,会对待上链数据的重试上链次数进行记录,具体的,数据库上链系统每对发送失败队列中的每条待上链数据执行一次重新上链操作,便将该条待上链数据的重试上链次数加1。
以上可以看出,由于上链失败的待上链数据被存储在上链失败队列中,因此本申请实施例在检测到区块链当前的工作状态为正常状态时,才从上链失败队列中读取各条待上链数据的上链信息,以及在基于上链信息确定待上链数据能够重新上链的情况下,才对待上链数据重新执行数据上链操作,从而能够提高数据上链的成功率;同时,由于为每条待上链数据提供了第一重试上链次数阈值次重试机会,因此在待上链数据当次上链时的重试上链次数达到第一重试上链次数阈值后便不再对其重新执行数据上链操作,从而在提高数据上链的成功率的同时,还可以避免对数据上链系统的处理器资源造成浪费。
在本申请的又一个实施例中,为了防止整个数据库上链系统宕机导致系统不可用,数据库上链系统可以包括多个扫描检测单元和多个数据上链单元。
基于此,S21具体可以包括以下步骤:
所述多个扫描检测单元基于预设时间间隔或者在预设的时间点尝试获取分布式锁;
获取到分布式锁的第一扫描检测单元检测区块链当前的工作状态。
相应地,上述获取上链失败队列中的各条待上链数据的上链信息的步骤具体可以包括以下步骤:
所述第一扫描检测单元获取上链失败队列中的各条待上链数据的上链信息,并将各条所述待上链数据的上链信息传输至其中一个所述数据上链单元,以使所述数据上链单元对所述待上链数据执行数据上链操作。
本实施例中,在需要执行数据上链操作时,多个扫描检测单元可以基于预设时间间隔尝试获取分布式锁;或者多个扫描检测单元可以在预设的时间点尝试获取分布式锁。其中,预设时间间隔以及预设的时间点均可以根据时间需求设置,此处不做限制。
分布式锁用于对扫描检测单元的工作状态进行限制,只有获取到分布式锁的扫描检测单元才能正常工作,而未获取到分布式锁的扫描检测单元无法正常工作,且分布式锁一次只能被一个扫描检测单元获取到。
本实施例中,获取到分布式锁的第一扫描检测单元将各条待上链数据的上链信息传输至其中一个数据上链单元后,该数据上链单元对各条待上链数据执行如S23所述的数据上链操作,具体请参考S23的相关描述,此处不再赘述。
在具体应用中,获取到分布式锁的第一扫描检测单元可以采用直接调用或者消息队列传输的方式将各条待上链数据的上链信息传输至其中一个数据上链单元。
在本申请的另一个实施例中,未获取到分布式锁的第二扫描检测单元可以进入休眠状态,并且可以基于预设时间间隔重新尝试获取分布式锁;或者可以在预设的时间点重新尝试获取分布式锁。
以上可以看出,由于本实施例使用了独立的扫描检测单元,因此相较于传统方式减少了逻辑的复杂度;由于设置了多个扫描检测单元和数据上链单元,因此可以防止由于单个单元宕机导致的整体系统的不可用的情况;另外,由于扫描检测单元结合了分布式锁技术,因此保证了同一时间只有一个扫描检测单元能够执行相应的逻辑操作,防止多个扫描检测单元同时执行逻辑操作导致的数据重发问题,在执行逻辑操作的扫描检测单元宕机情况下,会有其他扫描检测单元获取分布式锁执行相应的逻辑操作,从而增强了整体系统的可用性。
在本申请的又一个实施例中,在S21之后,数据处理方法还可以包括:
若所述工作状态为异常状态,则输出第一故障提示信息;所述第一故障提示信息用于提示所述区块链的工作状态异常。
本实施例中,数据库上链系统在检测到区块链当前的工作状态为异常状态时,数可以输出第一故障提示信息,以提示管理员区块链当前的工作状态为异常状态,从而可以避免数据库上链系统在区块链节点设备异常时做无用功。
请参阅图3,图3为本申请另一实施例提供的一种基于区块链的数据处理方法的示意性流程图。如图3所示,相对于图2对应的实施例,本实施例提供的数据处理方法还可以包括S31~S35,详述如下:
S31:数据库上链系统从数据库中读取待上链数据以及所述待上链数据对应的数据编号。
本申请实施例中的数据库可以是任一应用系统的原有数据库。
通常,应用系统的原有数据库在存储应用系统产生的各条数据时,会按照各条数据的存储顺序依次为各条数据进行编号,每条数据对应的数据编号各不相同,数据编号可以对数据库中存储的数据进行唯一标识。
在具体应用中,数据库通常会包括多个数据表,为了对不同数据表中的数据进行区分,在本申请的一个实施例中,数据对应的数据编号可以通过数据所属的数据表的标识以及数据在其所属的数据表中的存储顺序来表示。其中,数据表的标识可以是数据表的名称或编号等。示例性的,名称为A的数据表中存储的第3个数据对应的数据编号可以为A3,名称为A的数据表中存储的第4个数据对应的数据编号可以为A4。
本申请实施例中,待上链数据可以是数据库中存储的任意一条数据。数据库上链系统可以根据数据编号从小到大的顺序依次从数据库中读取待上链数据。在具体应用中,数据库上链系统从数据库中读取出的待上链数据可以为一条,也可以为多条,此处不对其进行限制。
在本申请的一个实施例中,数据库上链系统可以采用Java数据库连接(JavaDatabase Connectivity,JDBC)从数据库中读取待上链数据。其中,JDBC是Java语言中用来规范应用程序如何来访问数据库的应用程序编程接口,其提供了诸如查询或更新数据库中数据的方法。由于JDBC为最基础的数据库数据读取方式,因此其适用于各种类型的数据库,从而提高了数据库上链系统的兼容性。
S32:数据库上链系统生成从数据库中读取出的各条所述待上链数据对应的数据上链请求。
本申请实施例中,数据上链请求是区块链节点设备能够识别的一种数据增改指令,数据上链请求中通常包括一个用于存储待上链数据的字段。数据库上链系统从数据库中读取出各条待上链数据后,将每条待上链数据分别存储至数据上链请求中对应的字段中,得到每条待上链数据各自对应的数据上链请求。
S33:数据库上链系统向区块链节点设备上传从数据库中读取出的各条所述待上链数据对应的数据上链请求和数据编号。
数据库上链系统得到从数据库中读取出的每条待上链数据各自对应的数据上链请求后,向区块链节点设备上传从数据库中读取出的每条待上链数据对应的数据上链请求和数据编号。
在本申请的另一个实施例中,为了提高待上链数据的安全性,防止待上链数据被恶意篡改或伪造,数据库上链系统生成每条待上链数据各自对应的数据上链请求后,还可以对每条待上链数据各自对应的数据上链请求进行数字签名,得到每条待上链数据对应的数据上链请求的签名信息,并向区块链节点设备发送待上链数据对应的数据上链请求的签名信息和数据编号。
基于此,区块链节点设备接收到待上链数据对应的数据上链请求的签名信息和数据编号后,可以对每条待上链数据对应的数据上链请求的签名信息进行验签,以获取每条待上链数据对应的数据上链请求。
S34:区块链节点设备若接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号,则向所述数据库上链系统返回上传成功指示。
本申请实施例中,数据库上链系统向区块链节点设备上传了待上链数据对应的数据上链请求和数据编号后,若区块链节点设备接收到了数据库上链系统上传的待上链数据对应的数据上链请求和数据编号,则区块链节点设备会向数据库上链系统返回一个针对该待上链数据的上传成功指示,该上传成功指示用于告知数据库上链系统该待上链数据上链成功。
S35:若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且未达到所述第二待上链数据的第二重试上链次数阈值,则向所述区块链节点设备上传所述第二待上链数据对应的数据编号和重新生成的所述数据上链请求,直至所述第二待上链数据上链成功或者达到所述第二重试上链次数阈值。
本申请实施例中,为了提高数据上链的容错率,进而提高数据上链的整体成功率,可以为从数据库中读取出的每条待上链数据提供第二重试上链次数阈值次上链机会。其中,第二重试上链次数阈值可以与第一重试上链次数阈值相同,也可以与第一重试上链次数阈值不同,具体可以根据实际需求设置。
数据库上链系统在执行数据上链操作时,会对每条待上链数据的重试上链次数进行记录。具体的,数据库上链系统从数据库中读取出待上链数据后会将待上链数据的重试上链次数设置为0;或者数据库上链系统将待上链数据存入上链失败队列中后会将待上链数据的重试上链次数重置为0。之后,数据库上链系统每对某条待上链数据执行一次重新上链操作,便将该待上链数据的重试上链次数加1。
数据库上链系统在向区块链节点设备上传了从数据库中读取出的某条待上链数据(例如第二待上链数据)对应的数据上链请求和数据编号之后的预设时长内,若未接收到区块链节点设备返回的针对第二待上链数据的上传成功指示,则说明第二待上链数据未上链成功,此时,数据库上链系统判断第二待上链数据当前的重试上链次数是否小于第二重试上链次数阈值,若第二待上链数据当前的重试上链次数小于第二重试上链次数阈值(即未达到第二重试上链次数阈值),则数据库上链系统重新生成第二待上链数据对应的数据上链请求,并向区块链节点设备上传第二待上链数据对应的数据编号和重新生成的数据上链请求,直至第二待上链数据上链成功或者第二待上链数据的重试上链次数达到上链次数阈值之后,数据库上链系统才对下一条待上链数据执行数据上链操作,同时,数据库上链系统可以将上链失败的待上链数据存储至上链失败队列中。即上链失败队列中存储的待上链数据是从数据库中读取出的待上链数据中上链失败的待上链数据。
其中,预设时长可以根据实际需求设置,此处不做限制。
以上可以看出,本申请实施例提供的数据处理方法,通过设置第二重试上链次数阈值,即为从数据库中获取到的每条待上链数据提供第二重试上链次数阈值次上链机会,这样,当第二待上链数据未上链成功且第二待上链数据的重试上链次数小于第二重试上链次数阈值时,数据库上链系统可以重新对第二待上链数据执行数据上链操作,直至第二待上链数据上链成功或者第二待上链数据的重试上链次数达到第二重试上链次数阈值,从而可以提高数据上链的容错率,进而提高数据上链的整体成功率。
请参阅图4,图4为本申请另一实施例提供的一种基于区块链的数据处理方法的示意性流程图。如图4所示,相对于图3对应的实施例,本实施例在S32之后,还包括S36,详述如下:
S36:数据库上链系统将从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号关联存储至待上链队列中。
由于数据的上链过程通常存在一定的延时,且大量数据在同一时间上链效率较低,对处理器的资源利用率也较低,因此,本实施例中,数据库上链系统在生成从数据库中读取出的各条待上链数据对应的数据上链请求后,可以将从数据库中读取出的各条待上链数据对应的数据上链请求和数据编号关联存储至预先创建的待上链队列中。
相应的,本实施例中,S33具体包括以下步骤:
数据库上链系统运行多个线程,通过所述多个线程向所述区块链节点设备上传从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号。
本实施例中,当发送队列中存储有待上链数据对应的数据上链请求和数据编号时,数据库上链系统便可以运行多个线程,通过多个线程向区块链节点设备上传发送队列中存储的待上链数据对应的数据上链请求和数据编号。其中,数据库上链系统运行的多个线程的数量可以根据实际需求设置。
本实施例中,由于数据库上链系统生成待上链数据对应的数据上链请求后,并非直接对待上链数据执行数据上链操作,而是先将待上链数据对应的数据上链请求和数据编号缓存至待上链队列中,后续再采用多个线程对待上链队列中的待上链数据执行数据上链操作,从而避免了大量数据在同一时间上链;且通过多个线程执行数据上链操作,相对于传统的数据上链方法对待上链数据进行逐条上链而言,提高了数据上链效率以及处理器的资源利用率。
请参阅图5,图5为本申请又一实施例提供的一种基于区块链的数据处理方法的示意性流程图。如图5所示,相对于图3或图4对应的实施例,本实施例在S33之后,还包括S37,详述如下:
S37:若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且所述第二待上链数据的重试上链次数达到所述第二重试上链次数阈值,则将所述第二待上链数据与所述第二待上链数据对应的数据编号关联存储至所述上链失败队列中,以及设置所述第二待上链数据的重试上链次数为0。
本实施例中,数据库上链系统在向区块链节点设备上传了某条待上链数据(例如第二待上链数据)对应的数据上链请求和数据编号之后的预设时长内,若未接收到区块链节点设备返回的针对第二待上链数据的上传成功指示,则说明第二待上链数据未上链成功,此时,数据库上链系统若检测到第二待上链数据当前的重试上链次数大于或等于第二重试上链次数阈值(即达到第二重试上链次数阈值),则数据库上链系统将第二待上链数据与第二待上链数据对应的数据编号关联存储至上链失败队列中,并将第二待上链数据的重试上链次数重置为0,后续再对上链失败队列中存储的待上链数据执行数据上链操作(即S31~S35对应的操作),这样在提高数据上链的容错率和整体成功率的同时,又不会对其他数据的上链过程造成影响,从而提高了数据上链的整体效率。
在本申请的又一个实施例中,当上链失败队列中存储有上链失败的待上链数据时,数据库上链系统还可以输出第二故障提示信息,该第二故障提示信息用于提示数据库上链系统的管理员数据库上链系统出现故障,以便管理员及时对故障进行修复。在故障修复完成后,数据库上链系统可以从上链失败队列中读取待上链数据,并对待上链数据执行数据上链操作。
需要说明的是,本申请实施例中,S37和S35为两个并列的步骤,数据库上链系统不会同时执行S35和S37。
请参阅图6,图6为本申请又一实施例提供的一种基于区块链的数据处理方法的示意性流程图。如图6所示,相对于图3至图5对应的实施例,本实施例在S34之后,还包括S38~S310,详述如下:
S38:区块链节点设备对所述待上链数据对应的数据上链请求进行编码,得到所述待上链数据对应的数据上链请求的编码值。
本实施例中,为了提高智能合约中的数据的查询效率以及降低智能合约的存储压力,区块链节点设备接收到待上链数据对应的数据上链请求和数据编号后,对各条待上链数据对应的数据上链请求进行编码(即对待上链数据对应的数据上链请求进行压缩),得到各条待上链数据对应的数据上链请求的编码值。
在具体应用中,区块链节点设备对数据上链请求进行编码时所采用的编码方式可以根据实际需求设置,此处不做限制。示例性的,区块链节点设备可以采用哈希(hash)编码方式对各条待上链数据对应的数据上链请求进行编码,进而得到各条待上链数据对应的数据上链请求的hash值。
S39:区块链节点设备将所述待上链数据对应的数据上链请求与所述待上链数据对应的数据上链请求的编码值关联存储在第一存储区域。
S310:区块链节点设备将所述待上链数据对应的数据上链请求的编码值与所述待上链数据对应的数据编号关联存储在智能合约中。
其中,第一存储区域为区块链节点设备中的普通存储区域。
本实施例中,由于待上链数据对应的数据上链请求的编码值和数据编号为轻量型数据,因此,将各条待上链数据对应的数据上链请求的编码值与数据编号关联存储在智能合约中,将各条待上链数据对应的数据上链请求与数据上链请求的编码值存储在第一存储区域,从而可以降低智能合约的存储压力,提高智能合约中的数据的查询效率。
需要说明的是,本实施例中,中继链节点设备可以同时执行S39和S310。
请继续参阅图6,在本申请的又一个实施例中,在S310之后,数据的处理方法还可以包括S311~S318,详述如下:
S311:数据库上链系统接收第一客户端发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号。
本实施例中,当用户想要查询存储在区块链节点设备中的数据时,用户可以通过其终端上安装的应用客户端(例如第一客户端)向数据库上链系统发送数据查询请求,该数据查询请求中携带有待查询数据对应的数据编号,该数据编号指待查询数据在应用系统的原有数据库中的数据编号。
S312:数据库上链系统向所述区块链节点设备发送所述数据查询请求。
数据库上链系统接收到第一客户端发送的数据查询请求后,向区块链节点设备发送该数据查询请求。
S313:区块链节点设备接收数据库上链系统发送的数据查询请求。
S314:区块链节点设备基于所述待查询数据对应的数据编号,从所述智能合约中获取所述待查询数据对应的数据上链请求的编码值。
S315:区块链节点设备基于所述待查询数据对应的数据上链请求的编码值,从所述第一存储区域获取所述待查询数据对应的数据上链请求。
S316:区块链节点设备向所述数据库上链系统发送所述待查询数据对应的数据上链请求。
区块链节点设备接收到数据库上链系统发送的数据查询请求后,从该数据查询请求中解析出待查询数据对应的数据编号,并基于该待查询数据对应的数据编号,先从智能合约中获取与该待查询数据对应的数据编号关联的该待查询数据对应的数据上链请求的编码值,再基于该待查询数据对应的数据上链请求的编码值,从第一存储区域中获取该待查询数据对应的数据上链请求,之后,区块链节点设备将该待查询数据对应的数据上链请求发送至数据库上链系统。
S317:数据库上链系统接收所述区块链节点设备基于所述待查询数据对应的数据编号返回的所述待查询数据对应的数据上链请求。
S318:数据库上链系统从所述待查询数据对应的数据上链请求中解析出所述待查询数据,并向所述第一客户端发送所述待查询数据。
数据库上链系统接收到区块链节点设备返回的待查询数据对应的数据上链请求后,从该待查询数据对应的数据上链请求中解析出待查询数据,并将解析出的待查询数据发送至第一客户端。
在本申请的又一个实施例中,为了实现对数据库中新增数据的上链,同时避免对数据库中原有数据的重复上链,可以在数据库中设置一个触发器,该触发器可以在数据库中有新增的待上链数据时,对新增的待上链数据进行记录。
基于此,数据库上链系统在完成对数据库中原有待上链数据的上链后,可以每隔预设时间间隔对触发器进行一次检测,以检测是否有新增的待上链数据。数据库上链系统检测到触发器中记录有新增的待上链数据时,可以读取触发器中记录的新增的待上链数据,并对新增的待上链数据执行数据上链操作。
进一步的,数据库上链系统每次从数据库中读取待上链数据后,可以对数据库中已被读取的待上链数据对应的数据编号中的最大值进行记录,并可以将该最大值发送至区块链节点设备。
区块链节点设备可以将该最大值存储至智能合约中。
这样,当数据库上链系统下一次从数据库中读取数据时,可以先从区块链节点设备中获取数据库中已被读取的待上链数据对应的数据编号中的最大值,并从数据编号为该最大值与1之和的待上链数据开始,按照数据编号值从小到大的顺序依次读取触发器记录的新增的待上链数据,从而可以避免数据的重复上链。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的数据处理方法,本发明实施例进一步给出实现上述方法实施例的数据库上链系统的实施例。
请参阅图7,图7为本申请实施例提供的一种数据库上链系统的结构示意图。本申请实施例中,数据库上链系统包括的各单元用于执行图2至图6对应的实施例中的相应步骤。具体请参阅图2至图6以及图2至图6对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。如图7所示,数据库上链系统70包括:状态检测单元71、扫描检测单元72及数据上链单元73。其中:
状态检测单元71用于检测区块链的工作状态。
扫描检测单元72用于若所述工作状态为正常状态,则获取上链失败队列中的各条待上链数据的上链信息。
数据上链单元73用于若基于所述上链失败队列中的第一待上链数据的上链信息确定所述第一待上链数据能够重新上链,则对所述第一待上链数据重新执行数据上链操作,直至所述第一待上链数据上链成功或者达到所述第一待上链数据的第一重试上链次数阈值。
可选的,所述数据库上链系统包括多个扫描检测单元和多个数据上链单元;相应的,状态检测单元71具体用于:
所述多个扫描检测单元基于预设时间间隔或者在预设的时间点尝试获取分布式锁;
获取到分布式锁的第一扫描检测单元检测所述区块链的工作状态。
相应的,获取到分布式锁的扫描检测单元72具体用于:获取上链失败队列中的各条所述待上链数据的上链信息,向所述多个数据上链单元中的第一数据上链单元发送各条所述待上链数据的上链信息,所述第一数据上链单元用于对所述待上链数据执行数据上链操作。
可选的,扫描检测单元72具体用于:采用直接调用或者消息队列传输的方式向所述第一数据上链单元发送各条所述待上链数据的上链信息。
可选的,未获取到分布式锁的扫描检测单元72具体用于:进入休眠状态,并基于预设时间间隔或者在预设的时间点重新尝试获取所述分布式锁。
可选的,数据库上链系统70还包括第一提示信息输出单元。
若所述工作状态为异常状态,则输出第一故障提示信息,所述第一故障提示信息用于提示所述区块链的工作状态为异常状态。
可选的,数据库上链系统70还包括数据读取单元。数据上链单元73具体可以包括:请求生成单元和第一数据发送单元。其中:
数据读取单元用于从数据库中读取待上链数据以及所述待上链数据对应的数据编号。
请求生成单元用于生成从数据库中读取出的各条所述待上链数据对应的数据上链请求。
第一数据发送单元用于向区块链节点设备上传从数据库中读取出的各条所述待上链数据对应的数据上链请求和数据编号。
第一数据处理单元74还用于若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且未达到所述第二待上链数据的第二重试上链次数阈值,则向所述区块链节点设备上传所述第二待上链数据对应的数据编号和重新生成的所述数据上链请求,直至所述第二待上链数据上链成功或者达到所述第二重试上链次数阈值。
可选的,数据库上链系统70还包括第一存储单元。
第一存储单元用于将从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号关联存储至待上链队列中。
相应的,第一数据发送单元具体用于:
运行多个线程,通过所述多个线程向所述区块链节点设备上传从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号。
可选的,数据库上链系统70还包括第二存储单元。
第二存储单元用于若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且所述第二待上链数据的重试上链次数达到所述第二重试上链次数阈值,则将所述第二待上链数据与所述第二待上链数据对应的数据编号关联存储至所述上链失败队列中,以及设置所述第二待上链数据的重试上链次数为0。
可选的,数据库上链系统70还包括第一接收单元、第二数据发送单元、第二接收单元及第三数据发送单元。其中:
第一接收单元用于接收第一客户端发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号。
第二数据发送单元用于向所述区块链节点设备发送所述数据查询请求。
第二接收单元用于接收所述区块链节点设备基于所述待查询数据对应的数据编号返回的所述待查询数据对应的数据上链请求。
第三数据发送单元用于从所述待查询数据对应的数据上链请求中解析出所述待查询数据,并向所述第一客户端发送所述待查询数据。
可选的,数据库上链系统70还包括:第一确定单元和第四数据发送单元。其中:
第一确定单元用于确定所述数据库中已被读取的待上链数据对应的数据编号中的最大值。
第四数据发送单元用于将所述最大值发送至所述区块链节点设备。
图8为本申请另一实施例提供的一种数据库上链系统的结构示意图。如图8所示,该实施例提供的数据库上链系统8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如数据处理程序。处理器80执行所述计算机程序82时实现上述各个数据处理方法实施例中的步骤,例如图2所示的S21、S22及S23。或者,所述处理器80执行所述计算机程序82时实现上述各数据库上链系统实施例中各模块/单元的功能,例如图7所示单元71~73的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述数据库上链系统8中的执行过程。例如,所述计算机程序82可以被分割成状态检测单元、扫描检测单元及数据上链单元,各单元具体功能请参阅图2对应的实施例中的相关描述,此处不赘述。
所述数据库上链系统可包括但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是数据库上链系统8的示例,并不构成对数据库上链系统8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述数据库上链系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述数据库上链系统8的内部存储单元,例如数据库上链系统8的硬盘或内存。所述存储器81也可以是所述数据库上链系统8的外部存储设备,例如所述数据库上链系统8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述数据库上链系统8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述数据库上链系统所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
请参阅图9,图9为本申请实施例提供的一种区块链节点设备的结构示意图。本申请实施例中,区块链节点设备包括的各单元用于执行图2至图6对应的实施例中的相应步骤。具体请参阅图2至图6以及图2至图6对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。如图9所示,区块链节点设备90包括:信息反馈单元91。其中:
信息反馈单元91用于若接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号,则向所述数据库上链系统返回上传成功指示。
可选的,区块链节点设备90还包括:编码单元、第三存储单元及第四存储单元。其中:
编码单元用于对所述待上链数据对应的数据上链请求进行编码,得到所述待上链数据对应的数据上链请求的编码值;
第三存储单元用于将所述待上链数据对应的数据上链请求与所述待上链数据对应的数据上链请求的编码值关联存储在第一存储区域;
第四存储单元用于将所述待上链数据对应的数据上链请求的编码值与所述待上链数据对应的数据编号关联存储在智能合约中。
可选的,区块链节点设备90还包括:第三接收单元、第一查询单元、第二查询单元及第六数据发送单元。其中:
第三接收单元用于接收数据库上链系统发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号。
第一查询单元用于基于所述待查询数据对应的数据编号,从所述智能合约中获取所述待查询数据对应的数据上链请求的编码值。
第二查询单元用于基于所述待查询数据对应的数据上链请求的编码值,从所述第一存储区域获取所述待查询数据对应的数据上链请求。
第六数据发送单元用于向所述数据库上链系统发送所述待查询数据对应的数据上链请求。
可选的,区块链节点设备90还包括:第四接收单元和第五存储单元。其中:
第四接收单元用于接收所述数据库上链系统发送的所述数据库中已被读取的待上链数据对应的数据编号中的最大值。
第五存储单元用于将所述最大值存储至智能合约中。
图10为本申请另一实施例提供的一种区块链节点设备的结构示意图。如图10所示,该实施例提供的区块链节点设备10包括:处理器100、存储器101以及存储在所述存储器101中并可在所述处理器100上运行的计算机程序102,例如数据处理程序。处理器100执行所述计算机程序102时实现上述各个数据处理方法实施例中的步骤,例如图3所示的S24。或者,所述处理器100执行所述计算机程序102时实现上述各区块链节点设备实施例中各模块/单元的功能,例如图9所示单元91的功能。
示例性的,所述计算机程序102可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器101中,并由处理器100执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序102在所述区块链节点设备10中的执行过程。例如,所述计算机程序102可以被分割成信息反馈单元,各单元具体功能请参阅图3对应的实施例中的相关描述,此处不赘述。
所述区块链节点设备可包括但不仅限于,处理器100、存储器101。本领域技术人员可以理解,图10仅仅是区块链节点设备10的示例,并不构成对区块链节点设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述区块链节点设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器100可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器101可以是所述区块链节点设备10的内部存储单元,例如区块链节点设备10的硬盘或内存。所述存储器101也可以是所述区块链节点设备10的外部存储设备,例如所述区块链节点设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器101还可以既包括所述区块链节点设备10的内部存储单元也包括外部存储设备。所述存储器101用于存储所述计算机程序以及所述区块链节点设备所需的其他程序和数据。所述存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现上述数据处理方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在数据库上链系统或区块链节点设备上运行时,使得数据库上链系统或区块链节点设备执行时实现可实现上述数据处理方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述数据库上链系统或区块链节点设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参照其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (20)
1.一种基于区块链的数据处理方法,应用于数据库上链系统,其特征在于,所述数据处理方法包括:
检测区块链的工作状态;
若所述工作状态为正常状态,则获取上链失败队列中的各条待上链数据的上链信息;
若基于所述上链失败队列中的第一待上链数据的上链信息确定所述第一待上链数据能够重新上链,则对所述第一待上链数据重新执行数据上链操作,直至所述第一待上链数据上链成功或者达到所述第一待上链数据的第一重试上链次数阈值。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据库上链系统包括多个扫描检测单元和多个数据上链单元;
相应的,所述检测区块链的工作状态,包括:
所述多个扫描检测单元基于预设时间间隔或者在预设的时间点尝试获取分布式锁;
获取到分布式锁的第一扫描检测单元检测所述区块链的工作状态;
相应的,所述获取上链失败队列中的各条待上链数据的上链信息,包括:
所述第一扫描检测单元获取上链失败队列中的各条所述待上链数据的上链信息;
所述第一扫描检测单元向所述多个数据上链单元中的第一数据上链单元发送各条所述待上链数据的上链信息,所述第一数据上链单元用于对所述待上链数据执行数据上链操作。
3.根据权利要求2所述的数据处理方法,其特征在于,所述第一扫描检测单元向所述多个数据上链单元中的第一数据上链单元发送各条所述待上链数据的上链信息,包括:
所述第一扫描检测单元采用直接调用或者消息队列传输的方式向所述第一数据上链单元发送各条所述待上链数据的上链信息。
4.根据权利要求2所述的数据处理方法,其特征在于,在所述多个扫描检测单元基于预设时间间隔或者在预设的时间点尝试获取分布式锁之后,所述数据处理方法还包括:
未获取到所述分布式锁的第二扫描检测单元进入休眠状态,并基于预设时间间隔或者在预设的时间点重新尝试获取所述分布式锁。
5.根据权利要求1~4任一项所述的数据处理方法,其特征在于,在所述检测区块链的工作状态之后,所述数据处理方法还包括:
若所述工作状态为异常状态,则输出第一故障提示信息,所述第一故障提示信息用于提示所述区块链的工作状态为异常状态。
6.根据权利要求1~4任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
从数据库中读取待上链数据以及所述待上链数据对应的数据编号;
向区块链节点设备上传从数据库中读取出的各条所述待上链数据对应的数据上链请求和数据编号;
若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且未达到所述第二待上链数据的第二重试上链次数阈值,则向所述区块链节点设备上传所述第二待上链数据对应的数据编号和重新生成的所述数据上链请求,直至所述第二待上链数据上链成功或者达到所述第二重试上链次数阈值。
7.根据权利要求6所述的数据处理方法,其特征在于,所述数据处理方法还包括:
将从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号关联存储至待上链队列中;
相应的,所述向区块链节点设备从数据库中读取出的上传所述待上链数据对应的数据上链请求和数据编号,包括:
运行多个线程,通过所述多个线程向所述区块链节点设备上传从数据库中读取出的所述待上链数据对应的数据上链请求和数据编号。
8.根据权利要求6所述的数据处理方法,其特征在于,在所述向区块链节点设备上传从数据库中读取出的各条所述待上链数据对应的数据上链请求和数据编号之后,所述数据处理方法还包括:
若在上传了第二待上链数据对应的数据上链请求和数据编号之后的预设时长内未接收到所述区块链节点设备返回的上传成功指示,且所述第二待上链数据的重试上链次数达到所述第二重试上链次数阈值,则将所述第二待上链数据与所述第二待上链数据对应的数据编号关联存储至所述上链失败队列中,以及设置所述第二待上链数据的重试上链次数为0。
9.根据权利要求6所述的数据处理方法,其特征在于,所述数据处理方法还包括:
接收第一客户端发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号;
向所述区块链节点设备发送所述数据查询请求;
接收所述区块链节点设备基于所述待查询数据对应的数据编号返回的所述待查询数据对应的数据上链请求;
从所述待查询数据对应的数据上链请求中解析出所述待查询数据,并向所述第一客户端发送所述待查询数据。
10.根据权利要求6所述的数据处理方法,其特征在于,所述数据处理方法还包括:
确定所述数据库中已被读取的待上链数据对应的数据编号中的最大值;
将所述最大值发送至所述区块链节点设备。
11.一种基于区块链的数据处理方法,应用于区块链节点设备,其特征在于,所述数据处理方法包括:
若接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号,则向所述数据库上链系统返回上传成功指示。
12.根据权利要求11所述的数据处理方法,其特征在于,在所述接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号之后,所述数据处理方法还包括:
对所述待上链数据对应的数据上链请求进行编码,得到所述待上链数据对应的数据上链请求的编码值;
将所述待上链数据对应的数据上链请求与所述待上链数据对应的数据上链请求的编码值关联存储在第一存储区域;
将所述待上链数据对应的数据上链请求的编码值与所述待上链数据对应的数据编号关联存储在智能合约中。
13.根据权利要求12所述的数据处理方法,其特征在于,在所述将所述待上链数据对应的数据上链请求的编码值与所述待上链数据对应的数据编号关联存储在智能合约中之后,所述数据处理方法还包括:
接收数据库上链系统发送的数据查询请求;其中,所述数据查询请求中携带有待查询数据对应的数据编号;
基于所述待查询数据对应的数据编号,从所述智能合约中获取所述待查询数据对应的数据上链请求的编码值;
基于所述待查询数据对应的数据上链请求的编码值,从所述第一存储区域获取所述待查询数据对应的数据上链请求;
向所述数据库上链系统发送所述待查询数据对应的数据上链请求。
14.根据权利要求11至13任一项所述的数据处理方法,其特征在于,还包括:
接收所述数据库上链系统发送的所述数据库中已被读取的待上链数据对应的数据编号中的最大值;
将所述最大值存储至智能合约中。
15.一种数据库上链系统,其特征在于,包括:
状态检测单元,用于检测区块链的工作状态;
扫描检测单元,用于若所述工作状态为正常状态,则获取上链失败队列中的各条待上链数据的上链信息;
数据上链单元,用于若基于所述上链失败队列中的第一待上链数据的上链信息确定所述第一待上链数据能够重新上链,则对所述第一待上链数据重新执行数据上链操作,直至所述第一待上链数据上链成功或者达到所述第一待上链数据的第一重试上链次数阈值。
16.一种数据库上链系统,其特征在于,所述数据库上链系统包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述的数据处理方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的数据处理方法。
18.一种区块链节点设备,其特征在于,包括:
信息反馈单元,用于若接收到数据库上链系统发送的待上链数据对应的数据上链请求和数据编号,则向所述数据库上链系统返回上传成功指示。
19.一种区块链节点设备,其特征在于,所述区块链节点设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求11至14任一项所述的数据处理方法。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求11至14任一项所述的数据处理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128389.7A CN111030846A (zh) | 2019-11-18 | 2019-11-18 | 一种基于区块链的数据上链异常重试方法 |
CN2019111283897 | 2019-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112383441A true CN112383441A (zh) | 2021-02-19 |
CN112383441B CN112383441B (zh) | 2023-04-18 |
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 Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911128389.7A Pending CN111030846A (zh) | 2019-11-18 | 2019-11-18 | 一种基于区块链的数据上链异常重试方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111030846A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986915A (zh) * | 2021-10-13 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 一种数据存证方法及装置 |
WO2022199567A1 (zh) * | 2021-03-26 | 2022-09-29 | 中兴通讯股份有限公司 | 数据处理方法、设备和存储介质 |
CN115442269A (zh) * | 2022-09-01 | 2022-12-06 | 中国银行股份有限公司 | 一种基于区块链的网络联通性监控方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694898A (zh) * | 2020-06-12 | 2020-09-22 | 中国银行股份有限公司 | 一种区块链交易池模型及上链交易数据交互系统 |
CN112070497B (zh) * | 2020-09-09 | 2023-07-18 | 上海万向区块链股份公司 | 基于智能合约设计的关联交易重排方法、系统及介质 |
CN113609196A (zh) * | 2021-06-23 | 2021-11-05 | 云南昆钢电子信息科技有限公司 | 一种区块链上链自动化系统及方法 |
CN114629927A (zh) * | 2022-02-28 | 2022-06-14 | 重庆市先进区块链研究院 | 一种针对区块链溯源平台数据上链改进的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110029621A1 (en) * | 2009-06-10 | 2011-02-03 | Toshiyuki Kamiya | Mail server system and congestion control method |
CN106254100A (zh) * | 2016-07-27 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种数据容灾方法、装置和系统 |
US20180365114A1 (en) * | 2017-06-20 | 2018-12-20 | Eliot Horowitz | Systems and methods for optimization of database operations |
CN109636388A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市智税链科技有限公司 | 区块链网络中的数据处理方法、装置、介质及电子设备 |
CN110070444A (zh) * | 2019-04-25 | 2019-07-30 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种区块链交易流程管理方法及相关装置 |
CN110222085A (zh) * | 2019-05-07 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种存证数据的处理方法、装置及存储介质 |
US20190342422A1 (en) * | 2017-03-28 | 2019-11-07 | Alibaba Group Holding Limited | Service processing and consensus method and device |
CN111352996A (zh) * | 2020-02-26 | 2020-06-30 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的数据共享方法、装置、设备及介质 |
-
2019
- 2019-11-18 CN CN201911128389.7A patent/CN111030846A/zh active Pending
-
2020
- 2020-11-17 CN CN202011419794.7A patent/CN112383441B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110029621A1 (en) * | 2009-06-10 | 2011-02-03 | Toshiyuki Kamiya | Mail server system and congestion control method |
CN106254100A (zh) * | 2016-07-27 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种数据容灾方法、装置和系统 |
US20190342422A1 (en) * | 2017-03-28 | 2019-11-07 | Alibaba Group Holding Limited | Service processing and consensus method and device |
US20180365114A1 (en) * | 2017-06-20 | 2018-12-20 | Eliot Horowitz | Systems and methods for optimization of database operations |
CN109636388A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市智税链科技有限公司 | 区块链网络中的数据处理方法、装置、介质及电子设备 |
CN110070444A (zh) * | 2019-04-25 | 2019-07-30 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种区块链交易流程管理方法及相关装置 |
CN110222085A (zh) * | 2019-05-07 | 2019-09-10 | 北京奇艺世纪科技有限公司 | 一种存证数据的处理方法、装置及存储介质 |
CN111352996A (zh) * | 2020-02-26 | 2020-06-30 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的数据共享方法、装置、设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022199567A1 (zh) * | 2021-03-26 | 2022-09-29 | 中兴通讯股份有限公司 | 数据处理方法、设备和存储介质 |
CN113986915A (zh) * | 2021-10-13 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 一种数据存证方法及装置 |
CN115442269A (zh) * | 2022-09-01 | 2022-12-06 | 中国银行股份有限公司 | 一种基于区块链的网络联通性监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112383441B (zh) | 2023-04-18 |
CN111030846A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383441B (zh) | 基于区块链的数据处理方法、数据库上链系统及节点设备 | |
CN110795257B (zh) | 处理多集群作业记录的方法、装置、设备及存储介质 | |
US9189229B2 (en) | Self-diagnosing processes using quick response codes | |
CN111143163B (zh) | 数据监控方法、装置、计算机设备和存储介质 | |
CN110554930B (zh) | 一种数据存储方法及相关设备 | |
US20090164718A1 (en) | Disk array device control method | |
CN103259797B (zh) | 数据文件传输方法及平台 | |
CN111694797A (zh) | 一种文件上传及解析方法、装置、服务器及介质 | |
CN111199353B (zh) | 一种测试方法及测试系统 | |
US20070174462A1 (en) | Reporting information to a network | |
CN110908910B (zh) | 一种基于区块链的测试监控方法、装置及可读存储介质 | |
CN110471790B (zh) | 计算机设备、产品及其数据任务的处理方法和装置 | |
CN105825641A (zh) | 一种业务报警方法和装置 | |
JPH05298215A (ja) | 欠落データ検出再送方法 | |
CN114327981A (zh) | 一种功能安全机制的安全校验系统、方法及装置 | |
CN112965735B (zh) | 模型更新方法、装置、设备及计算机可读介质 | |
CN114092211A (zh) | 核算数据的处理方法、电子设备和可读存储介质 | |
CN112131180B (zh) | 数据上报方法、装置以及存储介质 | |
CN104573519A (zh) | 文件扫描方法和系统 | |
CN111585844B (zh) | 基于验证码的测试方法、系统、服务器及存储介质 | |
CN112203264B (zh) | 一种应用于设备组的设备配对方法及设备组中的设备 | |
CN116720818B (zh) | 基于区块链的仓储处理方法、装置、计算机设备 | |
CN113596005B (zh) | 设备的绑定方法、装置、系统、存储介质及电子装置 | |
WO2022247422A1 (zh) | 资源队列管理接口的验证方法、电子设备、存储介质 | |
CN116881135A (zh) | 一种基于分组连接的集成式测试参数反馈方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |