CN109857751A - 基于区块链的跨平台数据更新方法、装置和计算机设备 - Google Patents
基于区块链的跨平台数据更新方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN109857751A CN109857751A CN201910063926.8A CN201910063926A CN109857751A CN 109857751 A CN109857751 A CN 109857751A CN 201910063926 A CN201910063926 A CN 201910063926A CN 109857751 A CN109857751 A CN 109857751A
- Authority
- CN
- China
- Prior art keywords
- block
- chain
- data
- node
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 6
- 241000238876 Acari Species 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于区块链的跨平台数据更新方法、装置和计算机设备。该方法包括:接收区块节点基于相应业务平台发送的数据更新请求;所述数据更新请求携带了目标区块;将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作;监听是否接收到新的数据更新请求;若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理;根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将所述目标区块分别写入对应的链内账本。采用本方法能够提高共用数据安全性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于区块链的跨平台数据更新方法、装置和计算机设备。
背景技术
随着企业规模增大,同一企业往往具有多种业务平台,而多个业务平台有时需要共用相同的业务数据(以下简称“共用数据”)。例如,当用户在某个业务平台注册登录时,该业务平台存储用户的注册信息,为了减少用户的注册操作,该企业提供的其他一个或多个业务平台允许采用相同的注册信息直接登录。然而传统方式通过将共用数据存储至公共存储器实现多业务平台之间的数据共享。这种方式使得共用数据的安全性降低,一旦公共存储器出现故障,则影响多个业务平台的运行。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高共用数据安全性的基于区块链的跨平台数据更新方法、装置和计算机设备。
一种基于区块链的跨平台数据更新方法,所述方法包括:接收区块节点基于相应业务平台发送的数据更新请求;所述数据更新请求携带了目标区块;将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作;监听是否接收到新的数据更新请求;若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理;根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将所述目标区块分别写入对应的链内账本。
在其中一个实施例中,所述接收区块节点基于相应业务平台发送的数据更新请求之前,还包括:获取基础镜像文件,获取各个区块节点的网段信息;根据所述网段信息,向每个网段的区块节点返回对应的访问端口信息;接收每个区块节点通过对应网段的访问端口发送的区块参数;根据所述基础镜像文件及所述区块参数,生成各网段对应的目标镜像文件;将多个目标镜像文件分别发送至对应网段的区块节点,使所述区块节点基于预存储的自动化部署脚本启动所述目标镜像文件,实现目标镜像服务的部署。
在其中一个实施例中,所述接收区块节点基于相应业务平台发送的数据更新请求,包括:接收多个区块节点基于相应业务平台并发发送的数据更新请求;所述数据更新请求携带了更新数据和时间戳;根据所述时间戳,将第一时间顺序的数据更新请求标记为目标更新请求,对其他时间顺序的数据更新请求进行暂缓处理;将所述目标更新请求携带的更新数据标记为目标数据;根据所述目标数据生成对应的目标区块。
在其中一个实施例中,所述将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作,包括:将所述目标区块广播至所述区块节点所在区块链内其他每个区块节点;使其他每个区块节点获取所述目标区块中携带了前一区块的区块哈希码,并对获取到的区块哈希码与预存储的前一区块的区块哈希码进行一致性校验;采集各区块节点返回的一致性校验结果;所述根据入链预操作的执行结果向每个区块节点发送入链指令,包括:若存在半数以上区块节点返回的一致性校验结果为校验通过,向每个区块节点发送入链指令。
在其中一个实施例中,所述若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理,包括:若接收到新的数据更新请求,将发出所述新的数据更新请求的区块节点标记为暂缓节点,向所述暂缓节点返回错误标识码;当接收到所述暂缓节点根据错误标识码重新发送的数据更新请求时,检测所述目标区块是否写入所述链内账本;所述重新发送的数据更新请求携带了更新区块;若是,将所述更新区块广播至其他区块节点,使各区块节点将所述更新区块写入所述链内账本;否则,返回所述向发出所述新的数据更新请求返回错误标识码的步骤。
在其中一个实施例中,所述若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理,包括:获取所述新的数据更新请求携带的更新数据;对所述更新数据进行缓存;检测所述目标区块是否写入所述链内账本;若是,根据缓存的更新数据生成对应的更新区块,将所述更新区块广播至其他区块节点,使各区块节点将所述更新区块写入所述链内账本;否则,返回所述检测所述目标区块是否写入所述链内账本的步骤。
一种基于区块链的跨平台数据更新装置,所述装置包括:更新请求处理模块,用于接收区块节点基于相应业务平台发送的数据更新请求;所述数据更新请求携带了目标区块;将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作;并发请求处理模块,用于监听是否接收到新的数据更新请求;若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理;更新数据共享模块,用于根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将所述目标区块分别写入对应的链内账本。
在其中一个实施例中,所述装置还包括区块链部署模块,用于获取基础镜像文件,获取各个区块节点的网段信息;根据所述网段信息,向每个网段的区块节点返回对应的访问端口信息;接收每个区块节点通过对应网段的访问端口发送的区块参数;根据所述基础镜像文件及所述区块参数,生成各网段对应的目标镜像文件;将多个目标镜像文件分别发送至对应网段的区块节点,使所述区块节点基于预存储的自动化部署脚本启动所述目标镜像文件,实现目标镜像服务的部署。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意一个实施例中提供的基于区块链的跨平台数据更新方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意一个实施例中提供的基于区块链的跨平台数据更新方法的步骤。
上述基于区块链的跨平台数据更新方法、装置和计算机设备,区块节点可以基于相应业务平台发送数据更新请求;将所述数据更新请求携带的目标区块广播至其他区块节点,可以使其他区块节点对目标区块进行入链预操作;在此期间对是否接收到新的数据更新请求进行监听,可以在接收到新的数据更新请求时,及时对所述新的数据更新请求进行暂缓处理;根据入链预操作的执行结果,可以向每个区块节点发送入链指令;根据入链指令,每个区块节点可以将所述目标区块分别写入对应的链内账本。由于针对需要共享数据的多个业务平台分别部署对应的区块节点,某个区块节点停止运行不会影响其他业务平台的区块节点,可以提高共用数据安全性;此外,在数据更新过程中接收到另一业务平台的数据更新请求,按照预设规则对新数据更新请求进行暂缓处理,在保证每个数据更新请求均得以响应的情况下可以很好的解决多业务平台并发更新数据的冲突问题。
附图说明
图1为一个实施例中基于区块链的跨平台数据更新方法的应用场景图;
图2为一个实施例中基于区块链的跨平台数据更新方法的流程示意图;
图3为一个实施例中区块链部署的步骤的流程示意图;
图4为一个实施例中对新数据更新请求暂缓处理的步骤的流程示意图;
图5为一个实施例中基于区块链的跨平台数据更新装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于区块链的跨平台数据更新方法,可以应用于如图1所示的应用环境中。其中,多个区块节点102与服务器104通过网络进行通信。其中,区块节点102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。每个区块节点102对应一种业务平台。当用户基于某种业务平台发送了数据更新操作,相应区块节点102向服务器104发送数据更新请求。数据更新请求携带了目标区块。服务器104将目标区块广播至全网其他区块节点102,使其他区块节点102对目标区块进行入链预操作。在执行入链预操作期间,服务器104实时监听是否接收到新的数据更新请求。如果接收到新的数据更新请求,按照预设规则对这个新的数据更新请求进行暂缓处理。服务器104接收每个区块节点102返回的入链预操作的执行结果,若半数以上区块节点102的执行结果为入链通过,则服务器104向每个区块节点102发送入链指令,使每个区块节点102将目标区块分别真正写入对应的链内账本。上述数据更新过程,针对需要共享数据的多个业务平台分别部署对应的区块节点,某个区块节点停止运行不会影响其他业务平台的区块节点,可以提高共用数据安全性;此外,在数据更新过程中接收到另一业务平台的数据更新请求,按照预设规则对新数据更新请求进行暂缓处理,在保证每个数据更新请求均得以响应的情况下可以很好的解决多业务平台并发更新数据的冲突问题。
在一个实施例中,如图2所示,提供了一种基于区块链的跨平台数据更新方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收区块节点基于相应业务平台发送的数据更新请求;数据更新请求携带了目标区块。
每个业务平台部署有各自的区块节点,并在区块节点上部署了区块链服务,如配置共识机制、区块链通道、智能合约等。多个区块节点连接形成区块链。通过服务器控制区块节点间进行数据同步,进而实现多个业务平台之间的数据共享。
终端基于业务平台发送的数据更新请求,对应的区块节点获取前一区块的哈希码,基于更新后的数据生成当前的哈希码,利用上述两个哈希码以及更新后的数据生成目标区块。目标区块为包含区块头和区块主体的数据包。其中,区块头包括时间戳、前一区块的哈希码等;区块主体包括更新后的数据。
步骤204,将目标区块广播至其他区块节点;使其他区块节点对目标区块进行入链预操作。
服务器将目标区块广播至全网其他区块节点。容易理解,发出数据更新请求的区块节点与接收目标区块广播的其他区块节点共同构成区块链,区块链中不同区块节点对应的业务平台之间需要进行数据共享。接收到目标区块广播的每个区块节点基于共识机制分别对目标区块执行入链预操作,如对目标区块进行哈希码一致性校验、完整性校验等。例如,当业务平台1需要进行数据更新时,将更新后的数据(记作第一目标数据)发送至区块节点1,区块节点1基于第一目标数据生成第一区块,将第一区块广播至区块链内其他区块节点,如区块节点2、区块节点3等。区块节点2以及区块节点3等基于共识机制分别对第一区块进行共识运算,以判断第一区块中包含的前一区块的哈希码与本地存储的前一区块的哈希码是否一致。若是,将入链预操作的执行结果标记为入链通过。否则,将入链预操作的执行结果标记为入链失败。区块节点将入链预操作的执行结果反馈至服务器。
步骤206,监听是否接收到新的数据更新请求。
在服务器将目标区块广播至其他区块节点期间或者在其他区块节点进行入链预操作期间,有可能再次接收到新的数据更新请求。该新的数据更新请求可以仍来自区块节点1,也可以来自其他区块节点。例如,在上述举例中,在区块节点3将第一区块写入链内账本之前,服务器又接收到区块节点2发送的数据更新请求。区块节点2发送的数据更新请求携带了第二区块。
步骤208,若接收到新的数据更新请求,对新的数据更新请求进行暂缓处理。
对于上述在将目标区块写入区块链之前接收到新的数据更新请求的情况,传统的基于分布式锁原理,向其中一个业务平台分配数据更新权限。然而,如果采用“分布式锁”的方式,可能会造成数据冲突问题。例如,在允许的时间精度内用户基于业务平台1发生数据更新,将更新后的目标数据写入区块节点1。由于存在网络延迟,在服务器将目标数据广播至其他区块节点的过程中,有可能用户基于业务平台2也发生了数据更新,根据分布式锁原理,由于区块节点1抢占了数据更新权限,则用户在区块节点2的发生的数据变更会被目标数据覆盖。
为了解决上述问题,本实施例服务器具有对多个数据更新请求的响应机制,如对后面接收到的新的数据更新请求进行暂缓处理,可以保证基于每个业务平台在任何时机能够对共用数据进行更新。
步骤210,根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将目标区块分别写入对应的链内账本。
服务器对多个区块节点返回的入链预操作的执行结果进行统计,得到执行结果为入链通过的区块节点的数量。若为入链通过的区块节点的数量超过区块链包含区块节点的总数的一半,则服务器向区块节点中每个区块节点发送至入链指令,使各区块节点将目标区块真正写入链内账本,从而实现数据共享。
本实施例中,区块节点可以基于相应业务平台发送数据更新请求;将数据更新请求携带的目标区块广播至其他区块节点,可以使其他区块节点对目标区块进行入链预操作;在此期间对是否接收到新的数据更新请求进行监听,可以在接收到新的数据更新请求时,及时对新的数据更新请求进行暂缓处理;根据入链预操作的执行结果,可以向每个区块节点发送入链指令;根据入链指令,每个区块节点可以将目标区块分别写入对应的链内账本。由于针对需要共享数据的多个业务平台分别部署对应的区块节点,某个区块节点停止运行不会影响其他业务平台的区块节点,可以提高共用数据安全性;此外,在数据更新过程中接收到另一业务平台的数据更新请求,按照预设规则对新数据更新请求进行暂缓处理,在保证每个数据更新请求均得以响应的情况下可以很好的解决多业务平台并发更新数据的冲突问题。
在一个实施例中,如图3所示,接收区块节点基于相应业务平台发送的数据更新请求之前,还包括区块链部署的步骤,具体包括:
步骤302,获取基础镜像文件,获取各个区块节点的网段信息。
步骤304,根据网段信息,向每个网段的区块节点返回对应的访问端口信息。
服务器预先为不同的网段开通可以访问服务器的网络端口;区块节点将自身的网段信息发送到服务器中,使服务器确定该区块节点访问服务器的访问端口。
步骤306,接收每个区块节点通过对应网段的访问端口发送的区块参数。
步骤308,根据基础镜像文件及区块参数,生成各网段对应的目标镜像文件。
区块参数包括区块节点所在服务器的服务地址、暴露端口及其信息以及区块节点的peer级别等信息。在确定到访问服务器的访问端口后,区块节点将自身的区块参数发送至服务器中,服务器获得该区块参数后,执行配置文件生成工具,生成配置相关配置文件。
预先上传自动化部署脚本至区块节点中,在区块节点发送区块参数至服务器后,区块节点执行该自动化部署脚本,从服务器上拉取基础镜像文件以及由服务器生成的配置文件,根据配置文件以及基础镜像文件生成目标镜像文件。
步骤310,将多个目标镜像文件分别发送至对应网段的区块节点,使区块节点基于预存储的自动化部署脚本启动目标镜像文件,实现目标镜像服务的部署。
在区块链部署过程中,由于区块链的组件模块比较多,组织和运行起来比较繁琐,特别在涉及到分布式跨网段部署的时候。每个参与区块链的机构成员为了安全性能上的考虑,参与区块链的机构成员在设置区块节点时,自建的网络往往对外屏蔽,此时每个网段、甚至每个区块节点都需要事先准备好一份镜像文件。当区块节点的数量较多,同时区块节点又处于不同网段的时候,逐一对区块节点部署镜像文件的工作量巨大,部署效率低,且极容易出现错误。
本实施例中,根据区块节点的网段确定与服务器的访问端口,通过访问端口从服务器中拉取与区块节点对应的配置文件以及基础镜像文件,从而根据配置文件以及基础镜像文件生成目标镜像文件,实现自动化部署目标镜像服务,极大地降低了人工拉取镜像文件的出错概率,由于只需准备基础镜像文件,有效减少部署以及维护成本,提高镜像文件部署效率,且在镜像文件的部署过程中,每个区块节点对应的机构网络仍是对外屏蔽的,有效保证网络的安全性。
在一个实施例中,接收区块节点基于相应业务平台发送的数据更新请求,包括:接收多个区块节点基于相应业务平台并发发送的数据更新请求;数据更新请求携带了更新数据和时间戳;根据时间戳,将第一时间顺序的数据更新请求标记为目标更新请求,对其他时间顺序的数据更新请求进行暂缓处理;将目标更新请求携带的更新数据标记为目标数据;根据目标数据生成对应的目标区块。
若预设时长内有多个业务平台并发更新数据,服务器按照上述方式对后面接收到的新的数据更新请求进行暂缓处理。预设时长可以是服务器自接收到数据更新请求至将目标区块广播至其他区块节点的时间长度,也可以是自服务器接收到数据更新请求至各区块节点将目标区块写入链内账本的时间长度。
服务器根据多个数据更新请求分别携带的时间戳,确定数据更新请求的相应顺序。具体的,将第一时间顺序的数据更新请求筛选作为需要及时响应处理的唯一数据更新请求。对于其他时间顺序的数据更新请求,服务器按照上述方式进行暂缓处理。
本实施例中,对并发的数据更新请求进行响应排序,可在保证每个数据更新请求均得以响应的情况下很好的解决多业务平台并发更新数据的冲突问题。
在一个实施例中,将目标区块广播至其他区块节点;使其他区块节点对目标区块进行入链预操作,包括:将目标区块广播至区块节点所在区块链内其他每个区块节点;使其他每个区块节点获取目标区块中携带了前一区块的区块哈希码,并对获取到的区块哈希码与预存储的前一区块的区块哈希码进行一致性校验;采集各区块节点返回的一致性校验结果;根据入链预操作的执行结果向每个区块节点发送入链指令,包括:若存在半数以上区块节点返回的一致性校验结果为校验通过,向每个区块节点发送入链指令。
在一个实施例中,如图4所示,若接收到新的数据更新请求,对新的数据更新请求进行暂缓处理,即对新数据更新请求暂缓处理的步骤,包括:
步骤402,若接收到新的数据更新请求,将发出新的数据更新请求的区块节点标记为暂缓节点,向暂缓节点返回错误标识码。
错误标识码可以是用于表征暂缓处理的特定字符或字符串。暂缓节点在接收到错误标识码后,可以重新广播对应的更新区块,直至将更新区块写入链内账本。
步骤404,当接收到暂缓节点根据错误标识码重新发送的数据更新请求时,检测目标区块是否写入链内账本;重新发送的数据更新请求携带了更新区块。
步骤406,若是,将更新区块广播至其他区块节点,使各区块节点将更新区块写入链内账本。
步骤408,否则,返回向发出新的数据更新请求返回错误标识码的步骤。
在将错误标识发送至暂缓节点后,服务器实时检测目标区块是否已经写入链内账本。如果在目标区块还没写入链内账本之前接收到暂缓节点重新发送的数据更新请求或者其他区块节点发送的新的数据更新请求,依旧按照上述方式对接收到的重新发送的数据更新请求及新的数据更新请求进行暂缓处理。
若目标区块已经写入链内账本,服务器等待新的数据跟新请求,并可以及时响应新的数据更新请求,即按照上述方式将接收到的新的数据更新请求携带的更新区块写入链内账本。
本实施例中,在数据更新过程中接收到另一业务平台的数据更新请求时,向发出新的数据更新请求的区块节点返回错误标识码,使其在接收到错误标识码后,可以重新广播对应的更新区块,从而可在保证每个数据更新请求均得以响应的情况下很好的解决多业务平台并发更新数据的冲突问题。
在一个实施例中,若接收到新的数据更新请求,对新的数据更新请求进行暂缓处理,包括:获取新的数据更新请求携带的更新数据;对更新数据进行缓存;检测目标区块是否写入链内账本;若是,根据缓存的更新数据生成对应的更新区块,将更新区块广播至其他区块节点,使各区块节点将更新区块写入链内账本;否则,返回检测目标区块是否写入链内账本的步骤。
在将目标区块写入区块链后,区块节点发送的更新区块中包含的前一区块的哈希码已经发送变化。为了保证数据更新成功,服务器获取新的数据更新请求携带的更新区块,在更新区块中提取更新数据,并对更新数据进行缓存,以便在将目标区块写入区块链后基于更新数据重新生成具有正确哈希码的更新区块。对更新数据进行缓存,使得每个区块节点无需反复广播同一数据,可以节省区块节点计算资源。
例如,在区块节点3将第一区块写入链内账本之前,区块节点3又接收区块节点2广播的第二区块以及区块节点1广播的第三区块,则先将第二区块携带的第一更新数据及第三区块携带的第二更新数据缓存起来。当第一区块写入链内账本时,若根据时间戳先接收到第二区块,则服务器再基于第一更新数据重新生成第二区块,将重新生成的第二区块广播至其他区块节点;按照上述方式重新生成第三区块并对重新生成的第三区块进行广播。
本实施例中,在新的数据更新请求携带的更新区块中提取更新数据,并对更新数据进行缓存,不仅可以保证数据更新成功,还可节省区块节点计算资源。
应该理解的是,虽然图2~图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2~图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于区块链的跨平台数据更新装置,包括:更新请求处理模块502、并发请求处理模块504和更新数据共享模块506,其中:
更新请求处理模块502,用于接收区块节点基于相应业务平台发送的数据更新请求;数据更新请求携带了目标区块;将目标区块广播至其他区块节点;使其他区块节点对目标区块进行入链预操作。
并发请求处理模块504,用于监听是否接收到新的数据更新请求;若接收到新的数据更新请求,对新的数据更新请求进行暂缓处理。
更新数据共享模块506,用于根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将目标区块分别写入对应的链内账本。
在一个实施例中,该装置还包括区块链部署模块508,用于获取基础镜像文件,获取各个区块节点的网段信息;根据网段信息,向每个网段的区块节点返回对应的访问端口信息;接收每个区块节点通过对应网段的访问端口发送的区块参数;根据基础镜像文件及区块参数,生成各网段对应的目标镜像文件;将多个目标镜像文件分别发送至对应网段的区块节点,使区块节点基于预存储的自动化部署脚本启动目标镜像文件,实现目标镜像服务的部署。
在一个实施例中,更新请求处理模块502还用于接收多个区块节点基于相应业务平台并发发送的数据更新请求;数据更新请求携带了更新数据和时间戳;根据时间戳,将第一时间顺序的数据更新请求标记为目标更新请求,对其他时间顺序的数据更新请求进行暂缓处理;将目标更新请求携带的更新数据标记为目标数据;根据目标数据生成对应的目标区块。
在一个实施例中,更新请求处理模块502还用于将目标区块广播至区块节点所在区块链内其他每个区块节点;使其他每个区块节点获取目标区块中携带了前一区块的区块哈希码,并对获取到的区块哈希码与预存储的前一区块的区块哈希码进行一致性校验;采集各区块节点返回的一致性校验结果;根据入链预操作的执行结果向每个区块节点发送入链指令,包括:若存在半数以上区块节点返回的一致性校验结果为校验通过,向每个区块节点发送入链指令。
在一个实施例中,并发请求处理模块504还用于若接收到新的数据更新请求,将发出新的数据更新请求的区块节点标记为暂缓节点,向暂缓节点返回错误标识码;当接收到暂缓节点根据错误标识码重新发送的数据更新请求时,检测目标区块是否写入链内账本;重新发送的数据更新请求携带了更新区块;若是,将更新区块广播至其他区块节点,使各区块节点将更新区块写入链内账本;否则,返回向发出新的数据更新请求返回错误标识码的步骤。
在一个实施例中,并发请求处理模块504还用于获取新的数据更新请求携带的更新数据;对更新数据进行缓存;检测目标区块是否写入链内账本;若是,根据缓存的更新数据生成对应的更新区块,将更新区块广播至其他区块节点,使各区块节点将更新区块写入链内账本;否则,返回检测目标区块是否写入链内账本的步骤。
关于基于区块链的跨平台数据更新装置的具体限定可以参见上文中对于基于区块链的跨平台数据更新方法的限定,在此不再赘述。上述基于区块链的跨平台数据更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储更新数据。该计算机设备的网络接口用于与外部终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的跨平台数据更新方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的基于区块链的跨平台数据更新方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体详细,但并不能因此理解为对发明专利范围的限制。应指出的是,对本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链的跨平台数据更新方法,所述方法包括:
接收区块节点基于相应业务平台发送的数据更新请求;所述数据更新请求携带了目标区块;
将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作;
监听是否接收到新的数据更新请求;
若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理;
根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将所述目标区块分别写入对应的链内账本。
2.根据权利要求1所述的方法,其特征在于,所述接收区块节点基于相应业务平台发送的数据更新请求之前,还包括:
获取基础镜像文件,获取各个区块节点的网段信息;
根据所述网段信息,向每个网段的区块节点返回对应的访问端口信息;
接收每个区块节点通过对应网段的访问端口发送的区块参数;
根据所述基础镜像文件及所述区块参数,生成各网段对应的目标镜像文件;
将多个目标镜像文件分别发送至对应网段的区块节点,使所述区块节点基于预存储的自动化部署脚本启动所述目标镜像文件,实现目标镜像服务的部署。
3.根据权利要求1所述的方法,其特征在于,所述接收区块节点基于相应业务平台发送的数据更新请求,包括:
接收多个区块节点基于相应业务平台并发发送的数据更新请求;所述数据更新请求携带了更新数据和时间戳;
根据所述时间戳,将第一时间顺序的数据更新请求标记为目标更新请求,对其他时间顺序的数据更新请求进行暂缓处理;
将所述目标更新请求携带的更新数据标记为目标数据;
根据所述目标数据生成对应的目标区块。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作,包括:
将所述目标区块广播至所述区块节点所在区块链内其他每个区块节点;使其他每个区块节点获取所述目标区块中携带了前一区块的区块哈希码,并对获取到的区块哈希码与预存储的前一区块的区块哈希码进行一致性校验;
采集各区块节点返回的一致性校验结果;
所述根据入链预操作的执行结果向每个区块节点发送入链指令,包括:
若存在半数以上区块节点返回的一致性校验结果为校验通过,向每个区块节点发送入链指令。
5.根据权利要求1所述的方法,其特征在于,所述若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理,包括:
若接收到新的数据更新请求,将发出所述新的数据更新请求的区块节点标记为暂缓节点,向所述暂缓节点返回错误标识码;
当接收到所述暂缓节点根据错误标识码重新发送的数据更新请求时,检测所述目标区块是否写入所述链内账本;所述重新发送的数据更新请求携带了更新区块;
若是,将所述更新区块广播至其他区块节点,使各区块节点将所述更新区块写入所述链内账本;
否则,返回所述向发出所述新的数据更新请求返回错误标识码的步骤。
6.根据权利要求1所述的方法,其特征在于,所述若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理,包括:
获取所述新的数据更新请求携带的更新数据;
对所述更新数据进行缓存;
检测所述目标区块是否写入所述链内账本;
若是,根据缓存的更新数据生成对应的更新区块,将所述更新区块广播至其他区块节点,使各区块节点将所述更新区块写入所述链内账本;
否则,返回所述检测所述目标区块是否写入所述链内账本的步骤。
7.一种基于区块链的跨平台数据更新装置,所述装置包括:
更新请求处理模块,用于接收区块节点基于相应业务平台发送的数据更新请求;所述数据更新请求携带了目标区块;将所述目标区块广播至其他区块节点;使所述其他区块节点对目标区块进行入链预操作;
并发请求处理模块,用于监听是否接收到新的数据更新请求;若接收到新的数据更新请求,对所述新的数据更新请求进行暂缓处理;
更新数据共享模块,用于根据入链预操作的执行结果向每个区块节点发送入链指令,使每个区块节点将所述目标区块分别写入对应的链内账本。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括区块链部署模块,用于获取基础镜像文件,获取各个区块节点的网段信息;根据所述网段信息,向每个网段的区块节点返回对应的访问端口信息;接收每个区块节点通过对应网段的访问端口发送的区块参数;根据所述基础镜像文件及所述区块参数,生成各网段对应的目标镜像文件;将多个目标镜像文件分别发送至对应网段的区块节点,使所述区块节点基于预存储的自动化部署脚本启动所述目标镜像文件,实现目标镜像服务的部署。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910063926.8A CN109857751A (zh) | 2019-01-23 | 2019-01-23 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
PCT/CN2019/093183 WO2020151181A1 (zh) | 2019-01-23 | 2019-06-27 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910063926.8A CN109857751A (zh) | 2019-01-23 | 2019-01-23 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857751A true CN109857751A (zh) | 2019-06-07 |
Family
ID=66895934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910063926.8A Pending CN109857751A (zh) | 2019-01-23 | 2019-01-23 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109857751A (zh) |
WO (1) | WO2020151181A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543488A (zh) * | 2019-09-11 | 2019-12-06 | 深圳市网心科技有限公司 | 一种验证节点更新方法、装置及设备 |
CN110989934A (zh) * | 2019-12-05 | 2020-04-10 | 达闼科技成都有限公司 | 区块链节点数据存储方法、区块链系统及区块链节点 |
WO2019170177A3 (en) * | 2019-06-28 | 2020-04-30 | Alibaba Group Holding Limited | System and method for updating data in blockchain |
CN111182527A (zh) * | 2019-12-27 | 2020-05-19 | 深圳市云伽智能技术有限公司 | Ota固件升级方法、装置、终端设备及其存储介质 |
US10693629B2 (en) | 2019-06-28 | 2020-06-23 | Alibaba Group Holding Limited | System and method for blockchain address mapping |
WO2020151181A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
CN112016922A (zh) * | 2020-08-22 | 2020-12-01 | 王红建 | 应用于区块链金融和在线支付的信息安全防护方法及设备 |
CN112434311A (zh) * | 2020-11-05 | 2021-03-02 | 德州职业技术学院(德州市技师学院) | 一种区块链数据加密共享方法和系统 |
CN113535855A (zh) * | 2021-07-28 | 2021-10-22 | 卫宁健康科技集团股份有限公司 | 基于区块链的主数据管理方法、系统、计算机设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395353A (zh) * | 2017-04-24 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
WO2018177235A1 (zh) * | 2017-03-28 | 2018-10-04 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
WO2018184485A1 (zh) * | 2017-04-06 | 2018-10-11 | 中国移动通信有限公司研究院 | 数字证书的管理方法、装置、非易失性可读存储介质及服务终端 |
CN109213900A (zh) * | 2018-09-18 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 一种区块链的数据修改方法、装置、设备和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430064B (zh) * | 2017-03-30 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 区块链系统、消息处理方法及存储介质 |
CN108650223A (zh) * | 2018-04-02 | 2018-10-12 | 江苏中控安芯信息安全技术有限公司 | 一种网络设备点对点可信认证方法及系统 |
CN108881231A (zh) * | 2018-06-21 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种集群系统中同步账户信息的方法、装置和存储介质 |
CN109257334B (zh) * | 2018-08-21 | 2021-04-09 | 广州杰赛科技股份有限公司 | 一种基于区块链的数据上链系统、方法及存储介质 |
CN109857751A (zh) * | 2019-01-23 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
-
2019
- 2019-01-23 CN CN201910063926.8A patent/CN109857751A/zh active Pending
- 2019-06-27 WO PCT/CN2019/093183 patent/WO2020151181A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018177235A1 (zh) * | 2017-03-28 | 2018-10-04 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
WO2018184485A1 (zh) * | 2017-04-06 | 2018-10-11 | 中国移动通信有限公司研究院 | 数字证书的管理方法、装置、非易失性可读存储介质及服务终端 |
CN107395353A (zh) * | 2017-04-24 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
CN109213900A (zh) * | 2018-09-18 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 一种区块链的数据修改方法、装置、设备和介质 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020151181A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
WO2019170177A3 (en) * | 2019-06-28 | 2020-04-30 | Alibaba Group Holding Limited | System and method for updating data in blockchain |
CN111164586A (zh) * | 2019-06-28 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 用于更新区块链中的数据的系统和方法 |
US10693629B2 (en) | 2019-06-28 | 2020-06-23 | Alibaba Group Holding Limited | System and method for blockchain address mapping |
US10715322B2 (en) | 2019-06-28 | 2020-07-14 | Alibaba Group Holding Limited | System and method for updating data in blockchain |
US10931449B2 (en) | 2019-06-28 | 2021-02-23 | Advanced New Technologies Co., Ltd. | System and method for updating data in blockchain |
CN111164586B (zh) * | 2019-06-28 | 2023-07-04 | 创新先进技术有限公司 | 用于更新区块链中的数据的系统和方法 |
CN110543488B (zh) * | 2019-09-11 | 2022-06-07 | 深圳市迅雷网络技术有限公司 | 一种验证节点更新方法、装置及设备 |
CN110543488A (zh) * | 2019-09-11 | 2019-12-06 | 深圳市网心科技有限公司 | 一种验证节点更新方法、装置及设备 |
CN110989934A (zh) * | 2019-12-05 | 2020-04-10 | 达闼科技成都有限公司 | 区块链节点数据存储方法、区块链系统及区块链节点 |
CN110989934B (zh) * | 2019-12-05 | 2023-08-25 | 达闼机器人股份有限公司 | 区块链节点数据存储方法、区块链系统及区块链节点 |
CN111182527A (zh) * | 2019-12-27 | 2020-05-19 | 深圳市云伽智能技术有限公司 | Ota固件升级方法、装置、终端设备及其存储介质 |
CN111182527B (zh) * | 2019-12-27 | 2022-07-26 | 深圳市云伽智能技术有限公司 | Ota固件升级方法、装置、终端设备及其存储介质 |
CN112016922A (zh) * | 2020-08-22 | 2020-12-01 | 王红建 | 应用于区块链金融和在线支付的信息安全防护方法及设备 |
CN112434311A (zh) * | 2020-11-05 | 2021-03-02 | 德州职业技术学院(德州市技师学院) | 一种区块链数据加密共享方法和系统 |
CN113535855A (zh) * | 2021-07-28 | 2021-10-22 | 卫宁健康科技集团股份有限公司 | 基于区块链的主数据管理方法、系统、计算机设备及介质 |
CN113535855B (zh) * | 2021-07-28 | 2024-01-26 | 卫宁健康科技集团股份有限公司 | 基于区块链的主数据管理方法、系统、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020151181A1 (zh) | 2020-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857751A (zh) | 基于区块链的跨平台数据更新方法、装置和计算机设备 | |
CN108206830B (zh) | 漏洞扫描方法、装置、计算机设备和存储介质 | |
CN112073269B (zh) | 区块链网络测试方法、装置、服务器及存储介质 | |
CN109634810A (zh) | 基于Fabric的区块链业务平台和运行方法 | |
CN111628886B (zh) | 私有云环境下组建区块链网络的方法、装置、计算机设备 | |
CN109788032A (zh) | 镜像文件的获取方法、装置、计算机设备和存储介质 | |
CN110784495B (zh) | 基于区块链的大数据集群系统的发现与配置信息管理方法 | |
CN112291298B (zh) | 异构系统的数据传输方法、装置、计算机设备和存储介质 | |
CN108833521A (zh) | 消息推送方法、装置、系统、计算机设备和存储介质 | |
CN111698315B (zh) | 针对区块的数据处理方法、数据处理装置及计算机设备 | |
CN110138876B (zh) | 任务部署方法、装置、设备及平台 | |
CN110309051A (zh) | 管理测试用例的方法、系统、设备及存储介质 | |
CN110909079A (zh) | 数据交换同步方法、系统、装置、服务器和存储介质 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN110602169A (zh) | 服务调用方法、装置、计算机设备和存储介质 | |
CN112910723B (zh) | 边缘终端管理方法、装置、设备及存储介质 | |
CN105208058A (zh) | 基于web会话共享的信息交互系统 | |
CN110597541A (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN109981739A (zh) | 基于区块链的会话数据处理方法、装置、设备及介质 | |
CN103259866A (zh) | 一种多点传输dns区文件的方法和系统 | |
CN109446762A (zh) | 云平台访问方法、装置、计算机设备和存储介质 | |
CN112799970B (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN114579473B (zh) | 应用测试方法、装置、设备及存储介质 | |
CN113010600B (zh) | 一种基于区块链的数据管理系统、方法、相关设备及介质 | |
CN112291299B (zh) | 基于AI Station推理平台的同步方法、装置、设备及存储介质 |
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 |