CN112527890A - 区块链数据同步方法、装置以及计算机设备 - Google Patents

区块链数据同步方法、装置以及计算机设备 Download PDF

Info

Publication number
CN112527890A
CN112527890A CN201910886983.6A CN201910886983A CN112527890A CN 112527890 A CN112527890 A CN 112527890A CN 201910886983 A CN201910886983 A CN 201910886983A CN 112527890 A CN112527890 A CN 112527890A
Authority
CN
China
Prior art keywords
transaction
information
block chain
application server
transaction request
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
Application number
CN201910886983.6A
Other languages
English (en)
Other versions
CN112527890B (zh
Inventor
李华敬
王鑫
张翘楚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910886983.6A priority Critical patent/CN112527890B/zh
Publication of CN112527890A publication Critical patent/CN112527890A/zh
Application granted granted Critical
Publication of CN112527890B publication Critical patent/CN112527890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种区块链数据同步方法,该方法包括:接收应用服务器产生的第一交易请求后,根据所述第一交易请求向区块链发起对应的第二交易请求,其中,所述第二交易请求与所述第一交易请求中的交易对象信息和交易量信息存在一一对应关系;接着,获取所述区块链执行所述第二交易请求对应的交易操作后所得到第二交易信息;再将所述第二交易信息转换成第一交易信息,并返回至所述应用服务器。本发明还提供一种区块链数据同步装置、计算机设备以及计算机可读存储介质。本发明可以有效解决应用服务器中产生的交易数据与区块链上的交易数据的之间的同步性较差的问题。

Description

区块链数据同步方法、装置以及计算机设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种区块链数据同步方法、装置、 计算机设备及计算机可读存储介质。
背景技术
随着区块链技术的发展,区块链也越来越广泛地应用到不同的领域。然而, 对于区块链的应用,大多数是作为账本用于存储交易记录。例如,将先应用数 据在对应的应用服务器中执行交易,得到交易信息,然后在区块链中新建一个 区块存储这项交易的交易信息。因此,现有技术中应用服务器中产生的交易数 据与区块链上的交易数据的之间的同步性较差。
发明内容
有鉴于此,本发明提出一种区块链数据同步方法、装置、计算机设备及计 算机可读存储介质,能够解决上述的应用服务器中产生的交易数据与区块链上 的交易数据的之间的同步性较差的问题。
首先,为实现上述目的,本发明提供一种区块链数据同步方法,所述方法 包括:
接收应用服务器产生的第一交易请求;根据所述第一交易请求向区块链发 起对应的第二交易请求,其中,所述第二交易请求与所述第一交易请求中的交 易对象信息和交易量信息存在一一对应关系;获取所述区块链执行所述第二交 易请求对应的交易操作后得到的第二交易信息;将所述第二交易信息转换成第 一交易信息,并返回至所述应用服务器。
优选地,通过所述应用服务器提供的API接口监测并接收所述应用服务器 中触发产生的所述第一交易请求。
优选地,所述根据所述第一交易请求向区块链发起对应的第二交易请求包 括:获取所述第一交易请求中的第一交易对象信息和第一交易量信息;根据所 述第一交易对象信息和所述第一交易量信息在信息对应表上获取对应的第二交 易对象信息和第二交易量信息,其中,所述信息对应表是预先创建的包括应用 服务器与区块链上的所有数据类别的对应表;根据所述第二交易对象信息和所 述第二交易量信息生成所述第二交易请求,然后将所述第二交易请求发送至区 块链。
优选地,所述方法还包括:监测所述区块链是否创建新区块;当监测到所 述区块链创建新区块时,获取所述新区块的第三交易信息;将所述第三交易信 息转换成第四交易信息;将所述第四交易信息发送至所述应用服务器。
优选地,所述监测所述区块链是否创建新区块包括:通过web3提供的API 接口实时获取所述区块链的区块信息;将获取到的区块信息与前一次获取的区 块信息进行比较,从而判断是否创建所述新区块。
优选地,所述获取所述新区块的第三交易信息包括:获取所述新区块的交 易哈希值;根据所述交易哈希值查询所述新区块上存储的第三交易信息。
优选地,所述将所述第三交易信息转换成第四交易信息包括:获取所述第 三交易信息中的第三交易对象信息和第三交易量信息;根据所述第三交易对象 信息和所述第三交易量信息在所述信息对应表上获取对应的第四交易对象信息 和第四交易量信息,并生成第四交易信息。
此外,为实现上述目的,本发明还提供一种区块链数据同步装置,所述装 置包括:
接收模块,用于接收应用服务器产生的第一交易请求;发送模块,用于根 据所述第一交易请求向区块链发起对应的第二交易请求,其中,所述第二交易 请求与所述第一交易请求中的交易对象信息和交易量信息存在一一对应关系; 获取模块,用于获取所述区块链执行所述第二交易请求对应的交易操作后得到 的第二交易信息;转换模块,用于将所述第二交易信息转换成第一交易信息, 并返回至所述应用服务器。
进一步地,本发明还提出一种计算机设备,所述计算机设备包括存储器、 处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算 机程序被所述处理器执行时实现如上述的区块链数据同步方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所 述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理 器执行,以使所述至少一个处理器执行如上述的区块链数据同步方法的步骤。
相较于现有技术,本发明所提出的区块链数据同步方法、装置、计算机设 备及计算机可读存储介质,能够接收应用服务器产生的第一交易请求后,根据 所述第一交易请求向区块链发起对应的第二交易请求,其中,所述第二交易请 求与所述第一交易请求中的交易对象信息和交易量信息存在一一对应关系;接 着,获取所述区块链执行所述第二交易请求对应的交易操作后所得到第二交易 信息;再将所述第二交易信息转换成第一交易信息,并返回至所述应用服务器。 通过以上方式,可以有效解决应用服务器中产生的交易数据与区块链上的交易 数据的之间的同步性较差的问题。
附图说明
图1是本发明一实施例的应用环境示意图;
图2是本发明区块链数据同步方法一具体实施例的流程示意图;
图3是图2步骤S202中的根据所述第一交易请求向区块链发起对应的第二 交易请求的过程的一具体实施例的流程示意图;
图4是基于图2的另一具体实施例的流程示意图;
图5是图4步骤S400的实现过程的一具体实施例的流程示意图;
图6是图4步骤S402中的获取所述新区块的第三交易信息的过程的一具体 实施例的流程示意图;
图7是图4步骤S404中的将所述第三交易信息转换成第四交易信息的过程 的一具体实施例的流程示意图;
图8是本发明计算机设备一可选的硬件架构的示意图;
图9是本发明区块链数据同步装置一实施例的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发 明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的, 而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数 量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该 特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域 普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时 应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
图1是本发明一实施例的应用环境示意图。参阅图1所示,所述计算机设备1 分别与应用服务器2以及区块链3连接,从所述游戏服务器2获取包括交易请求等 应用相关的数据,然后转换成符合区块链3存储格式的数据写入到所述区块链3; 以及从所述区块链3上获取区块数据,然后转换成所述应用服务器1上对应的应 用相关数据。在本实施例中,所述计算机设备1可以作为独立的功能模块分别连 接到所述应用服务器2和所述区块链3,然后实现所述应用服务器2与所述区块链 3之间的数据连接或者转换。当然,在其他实施例中,所述计算机设备1可以作 为所述应用服务器2或者所述区块链3上的部分功能模块,然后所述应用服务器2 与所述区块链3则可以直接连接,然后进行数据交互。
图2是本发明区块链数据同步方法一实施例的流程示意图。可以理解,本方 法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为 执行主体进行示例性描述。
如图2所示,所述区块链数据同步方法可以包括步骤S200~S206,其中:
步骤S200,接收应用服务器产生的第一交易请求。
具体地,所述计算机设备1与所述应用服务器2连接之后,可以通过所述应 用服务器2提供的API(Application Programming Interface,应用程序编程接口) 接口监测并接收所述应用服务器中触发产生的所述第一交易请求。在本实施例 中,所述应用服务器2提供一个用于给外接设备查看和获取交易请求的API接 口,然后所述计算机设备1连接到所述应用服务器2后通过所述API接口实时监 测查询所述应用服务器2是否触发了第一交易请求,并在触发了交易请求的情况 下,获取并接收所述第一交易请求。其中,所述第一交易请求是所述应用服务 器2中不同的用户账户之间关于商品数据的交易请求,包括用户账户与用户账 户,或者用户账户与***账户之间的商品数据交易请求。另外,所述应用服务 器2中的用户账户信息、商品数据和交易货币等应用数据是预先通过所述区块链 3所支持的智能合约方式被上链到所述区块链3的,其中,通过智能合约方式将 应用数据上链到区块链,属于常用技术,这里不做赘述。
步骤S202,根据所述第一交易请求向区块链发起对应的第二交易请求,其 中,所述第二交易请求与所述第一交易请求中的交易对象信息和交易量信息存 在一一对应关系。其中,所述交易对象信息包括买方账号、卖方账号和商品ID, 所述交易量信息包括交易数量和交易货币。
如图3所示,在一示例性的实施例中,步骤S202中的所述根据所述第一交易 请求向区块链发起对应的第二交易请求的过程,包括步骤S300~S304:
步骤S300,获取所述第一交易请求中的第一交易对象信息和第一交易量信 息。
步骤S302,根据所述第一交易对象信息和所述第一交易量信息在信息对应 表上获取对应的第二交易对象信息和第二交易量信息,其中,所述信息对应表 是预先创建的包括应用服务器与区块链上的所有数据类别的对应表。
步骤S304,根据所述第二交易对象信息和所述第二交易量信息生成所述第 二交易请求,然后将所述第二交易请求发送至区块链。
具体地,当所述计算机设备1接收到应用服务器2上产生的所述第一交易请 求之后,则获取所述第一交易请求中的第一交易对象信息和第一交易量信息, 然后在预先创建的信息对应表中获取对应于所述区块链3的第二交易对象信息 和第二交易量信息。在本实施例中,所述交易对象信息包括买方账号、卖方账 号和商品ID,所述交易量信息包括交易数量和交易货币,也就是说,所述计算 机设备1根据所述信息对应表中查询所述第一交易请求中的买方账号、卖方账 号、商品ID、交易数量和交易货币,然后转换成适用于区块链3数据格式的买方 账号、卖方账号、商品ID、交易数量和交易货币,即第二交易对象信息和第二 交易量信息。因此,生成符合所述区块链3数据格式的第二交易请求,然后发送 至所述区块链3。
步骤S204,获取所述区块链执行所述第二交易请求对应的交易操作后得到 的第二交易信息。
步骤S206,将所述第二交易信息转换成第一交易信息,并返回至所述应用 服务器。
具体地,所述区块链3接收到所述计算机设备1发送的第二交易请求之后, 则会根据所述第二交易请求执行交易过程。接着,所述计算机设备1还能够通 过所述API接口获取所述区块链3执行所述第二交易请求后得到的第二交易信 息。在本实施例中,所述交易信息,可以理解为交易结果的状态信息,例如交 易请求为:A账户将商品M转移至B账户,换取B账户的N个货币X;那么 交易信息则为A账户增加N个货币X,减少商品M,B账户增加商品M,减少N个货币X。
接着,所述计算机设备1再将所述第二交易信息转换成第一交易信息,在 本实施例中,由于所述第二交易信息描述的是所述区块链3上的账户、商品及 货币之间的交易信息,因此,所述计算机设备1根据所述信息对应表获取与所 述区块链3上的账户、商品及货币之间的交易信息对应的适用于所述应用服务 器2上的账户、商品及货币之间的交易信息,然后生成第一交易信息;然后将 所述第一交易信息返回至所述应用服务器2。也就是将所述应用服务器2上对 应账户执行商品数据的转移。
参阅图4所示,在一示例性的实施例中,本发明提供的区块链数据同步方 法,除了包括以上所述步骤S200~S206,还可以包括步骤S400~406:
步骤S400,监测所述区块链是否创建新区块。
如图5所示,在一示例性的实施例中,步骤S400的实现过程,可以包括步骤 S500~S502:
步骤S500,通过web3提供的API接口实时获取所述区块链的区块信息。
步骤S502,将获取到的区块信息与前一次获取的区块信息进行比较,从而 判断是否创建所述新区块。
具体地,所述计算机设备1通过web3接口技术与所述区块链3进行连接, 因此,所述计算机设备1还可以通过web3提供的所述区块链3的API接口实 时监测所述区块链3是否创建新区块。在本实施例中,所述计算机设备1周期 性获取所述区块链的区块信息,例如每0.01秒获取一次,然后,所述计算机设 备1将获取到的区块信息与前一次获取到的区块信息进行比较,然后判断区块 信息中包括的区块数量是否增加,从而判断出有创建所述新区块。
步骤S402,当监测到所述区块链创建新区块时,获取所述新区块的第三交 易信息。
如图6所示,在一示例性的实施例中,步骤S402中的获取所述新区块的第三 交易信息,可以包括步骤S600~S602:
步骤S600,获取所述新区块的交易哈希值。
步骤S602,根据所述交易哈希值查询所述新区块上存储的所述第三交易信 息。
具体地,由于所述区块链3创建新区块之后会将交易信息写入到所述新区块 的区块体并生成一个对应的交易哈希值,所述交易哈希值是与所述区块的交易 信息唯一对应的。因此,所述计算机设备1在监测到所述区块链3创建新区块时, 则进一步获取所述新区块的交易哈希值,然后根据所述交易哈希值查询所述新 区块上存储的第三交易信息。
步骤S404,将所述第三交易信息转换成第四交易信息。
步骤S406,将所述第四交易信息发送至所述应用服务器。
如图7所示,在一示例性的实施例中,步骤S404中的所述将所述第三交易信 息转换成第四交易信息,可以包括步骤S700~S702:
步骤S700,获取所述第三交易信息中的第三交易对象信息和第三交易量信 息。
步骤S702,根据所述第三交易对象信息和所述第三交易量信息在所述信息 对应表上获取对应的第四交易对象信息和第四交易量信息,并生成第四交易信 息。
具体地,当所述计算机设备1根据所述新区块的交易哈希值获取到所述第三 交易信息之后,则会进一步将所述第三交易信息转换成第四交易信息,然后发 送至所述应用服务器1以执行对应账号的商品数据转移。在本实施例中,所述计 算机设备1根据所述信息对应表中查询所述第三交易信息中的买方账号、卖方账 号、商品ID、交易数量和交易货币,然后转换成适用于所述应用服务器1的数据 格式的买方账号、卖方账号、商品ID、交易数量和交易货币,即第四交易对象 信息和第四交易量信息,因此得到符合所述应用服务器2的数据格式的第四交易 信息,然后发送至所述应用服务器2。所述应用服务器2则会根据所述第四交易 信息执行对应账号的商品数据转移。
从上文可知,本实施例所提出的区块链数据同步方法能够接收应用服务器 产生的第一交易请求后,根据所述第一交易请求向区块链发起对应的第二交易 请求,其中,所述第二交易请求与所述第一交易请求中的交易对象信息和交易 量信息存在一一对应关系;接着,获取所述区块链执行所述第二交易请求对应 的交易操作后所得到第二交易信息;再将所述第二交易信息转换成第一交易信 息,并返回至所述应用服务器。通过以上方式,可以有效解决应用服务器中产 生的交易数据与区块链上的交易数据的之间的同步性较差的问题。
此外,本发明还提供一种计算机设备,参阅图8所示,是本发明计算机设备 一可选的硬件架构的示意图。
本实施例中,所述计算机设备1可包括,但不仅限于,可通过***总线相互 通信连接存储器11、处理器12、网络接口13。所述计算机设备1通过网络接口13 连接网络(图8未标出),通过网络连接到区块链、应用服务器以及其他计算机设 备等(图8未标出)进行数据交互。所述网络可以是企业内部网(Intranet)、互联 网(Internet)、全球移动通讯***(Global System of Mobile communication, GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、 4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
需要指出的是,图8仅示出了具有组件11-13的计算机设备1,但是应理解的 是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介 质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机 访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、 电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性 存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述计算机设 备1的内部存储单元,例如该计算机设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述计算机设备1的外部存储设备,例如该计算机设备1 配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括 所述计算机设备1的内部存储单元也包括其外部存储设备。本实施例中,所述存 储器11通常用于存储安装于所述计算机设备1的操作***和各类应用软件,例如 挡板应用的程序代码,以及区块链数据同步装置200的程序代码等。此外,所述 存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常 用于控制所述计算机设备1的总体操作,例如执行数据交互或者通信相关的控制 和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代 码或者处理数据,例如运行所述区块链数据同步装置200的应用程序,这里不做 限制。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常 用于在所述计算机设备1与区块链、应用服务器以及其他计算机设备等之间建立 通信连接。
本实施例中,所述计算机设备1内安装并运行有区块链数据同步装置200时, 当所述区块链数据同步装置200运行时,能够接收应用服务器产生的第一交易请 求后,根据所述第一交易请求向区块链发起对应的第二交易请求,其中,所述 第二交易请求与所述第一交易请求中的交易对象信息和交易量信息存在一一对 应关系;接着,获取所述区块链执行所述第二交易请求对应的交易操作后所得 到第二交易信息;再将所述第二交易信息转换成第一交易信息,并返回至所述 应用服务器。通过以上方式,可以有效解决应用服务器中产生的交易数据与区 块链上的交易数据的之间的同步性较差的问题。
至此,己经详细介绍了本发明计算机设备的硬件结构和功能。下面,将基 于上述计算机设备,提出本发明的各个实施例。
参阅图9所示,是本发明区块链数据同步装置200一实施例的程序模块图。
本实施例中,所述区块链数据同步装置200包括一系列的存储于存储器11 上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发 明实施例的区块链数据同步功能。在一些实施例中,基于该计算机程序指令各 部分所实现的特定的操作,区块链数据同步装置200可以被划分为一个或多个模 块。例如,在图9中,所述区块链数据同步装置200可以被分割成接收模块201、 发送模块202、获取模块203、转换模块204和监测模块205。其中:
所述接收模块201,用于接收应用服务器产生的第一交易请求。
具体地,所述计算机设备与所述应用服务器连接之后,所述接收模块201 则可以通过所述应用服务器提供的API(Application Programming Interface,应 用程序编程接口)接口监测并接收所述应用服务器中触发产生的所述第一交易 请求。在本实施例中,所述应用服务器提供一个用于给外接设备查看和获取交 易请求的API接口,然后所述计算机设备连接到所述应用服务器后,所述接收 模块201则通过所述API接口实时监测查询所述应用服务器是否触发了第一交 易请求,并在触发了交易请求的情况下,获取并接收所述第一交易请求。其中, 所述第一交易请求是所述应用服务器中不同的用户账户之间关于商品数据的交 易请求,包括用户账户与用户账户,或者用户账户与***账户之间的商品数据交易请求。另外,所述应用服务器2中的用户账户信息、商品数据和交易货币 等应用数据预先通过所述区块链3所支持的智能合约方式被上链到所述区块链 3的,其中,通过智能合约方式将应用数据上链到区块链,属于常用技术,这 里不做赘述。
所述发送模块202,用于根据所述第一交易请求向区块链发起对应的第二 交易请求,其中,所述第二交易请求与所述第一交易请求中的交易对象信息和 交易量信息存在一一对应关系。其中,所述交易对象信息包括买方账号、卖方 账号和商品ID,所述交易量信息包括交易数量和交易货币。
在本实施例中,所述发送模块202首先获取所述第一交易请求中的第一交 易对象信息和第一交易量信息,然后根据所述第一交易对象信息和所述第一交 易量信息在信息对应表上获取对应的第二交易对象信息和第二交易量信息,其 中,所述信息对应表是预先创建的包括应用服务器与区块链上的所有数据类别 的对应表;最后根据所述第二交易对象信息和所述第二交易量信息生成第二交 易请求,然后将所述第二交易请求发送至区块链。
具体地,当所述接收模块201接收到应用服务器上产生的所述第一交易请 求之后,所述发送模块202则获取所述第一交易请求中的第一交易对象信息和 第一交易量信息,然后在预先创建的信息对应表中获取对应于所述区块链3的 第二交易对象信息和第二交易量信息。在本实施例中,所述交易对象信息包括 买方账号、卖方账号和商品ID,所述交易量信息包括交易数量和交易货币,也 就是说,所述发送模块202根据所述信息对应表中查询所述第一交易请求中的 买方账号、卖方账号、商品ID、交易数量和交易货币,然后转换成适用于区块 链3数据格式的买方账号、卖方账号、商品ID、交易数量和交易货币,即第二交易对象信息和第二交易量信息。因此,生成符合所述区块链数据格式的第二 交易请求,最后,所述发送模块202将所述第二交易请求发送至所述区块链。
所述获取模块203,用于获取所述区块链执行所述第二交易请求对应的交 易操作后所得到第二交易信息。
所述转换模块204,用于将所述第二交易信息转换成第一交易信息,并返 回至所述应用服务器。
具体地,所述区块链接收到所述发送模块202发送的第二交易请求之后, 则会根据所述第二交易请求执行交易过程。接着,所述获取模块203还能够通 过所述API接口获取所述区块链执行所述第二交易请求后得到的第二交易信 息。在本实施例中,所述交易信息,可以理解为交易结果的状态信息,例如交 易请求为:A账户将商品M转移至B账户,换取B账户的N个货币X;那么 交易信息则为A账户增加N个货币X,减少商品M,B账户增加商品M,减少N个货币X。
接着,所述转换模块204再将所述第二交易信息转换成第一交易信息,在 本实施例中,由于所述第二交易信息描述的是所述区块链上的账户、商品及货 币之间的交易信息,因此,所述转换模块204根据所述信息对应表获取与所述 区块链上的账户、商品及货币之间的交易信息对应的适用于所述应用服务器上 的账户、商品及货币之间的交易信息,然后生成第一交易信息;然后,再将所 述第一交易信息返回至所述应用服务器。也就是将所述应用服务器上对应账户 执行商品数据的转移。
所述监测模块205,用于监测所述区块链是否创建新区块。
在本实施例中,所述监测模块205通过web3提供的API接口实时获取所 述区块链的区块信息,然后将获取到的区块信息与前一次获取的区块信息进行 比较,从而判断是否创建新区块。
具体地,所述计算机设备通过web3接口技术与所述区块链进行连接,因此, 所述监测模块205还可以通过web3提供的所述区块链的API接口实时监测所述 区块链是否创建新区块。在本实施例中,所述监测模块205周期性获取所述区块 链的区块信息,例如每0.01秒获取一次,然后,所述监测模块205将获取到的区 块信息与前一次获取到的区块信息进行比较,然后判断区块信息中包括的区块 数量是否增加,从而判断出有创建所述新区块。
所述获取模块203,还用于当监测到所述区块链创建新区块时,获取所述 新区块的第三交易信息。
在本实施例中,所述获取模块203首先获取所述新区块的交易哈希值,然 后根据所述交易哈希值查询所述新区块上存储的第三交易信息。具体地,具体 地,由于所述区块链创建新区块之后会将交易信息写入到所述新区块的区块体 并生成一个对应的交易哈希值,所述交易哈希值是与所述区块的交易信息唯一 对应的。因此,所述监测模块205在监测到所述区块链创建新区块时,所述获 取模块203则进一步获取所述新区块的交易哈希值,然后根据所述交易哈希值 查询所述新区块上存储的第三交易信息。
所述转换模块204,还用于将所述第三交易信息转换成第四交易信息。
所述发送模块202,还用于将所述第四交易信息发送至所述应用服务器。
在本实施例中,所述转换模块204先获取所述第三交易信息中的第三交易 对象信息和第三交易量信息,然后根据所述第三交易对象信息和所述第三交易 量信息在所述信息对应表上获取对应的第四交易对象信息和第四交易量信息, 并生成第四交易信息。然后所述发送模块202将第四交易信息发送至所述应用 服务器执行交易过程。
具体地,当所述转换模块204根据所述新区块的交易哈希值获取到所述第 三交易信息之后,则会进一步将所述第三交易信息转换成第四交易信息,然后 所述发送模块202将所述第四交易信息发送至所述应用服务器以执行对应账号 的商品数据转移。在本实施例中,所述转换模块204根据所述信息对应表中查 询所述第三交易信息中的买方账号、卖方账号、商品ID、交易数量和交易货币, 然后转换成适用于所述应用服务器的数据格式的买方账号、卖方账号、商品ID、 交易数量和交易货币,即第四交易对象信息和第四交易量信息。因此得到符合 所述应用服务器的数据格式的第四交易信息,然后所述发送模块202将所述第 四交易信息发送至所述应用服务器,所述应用服务器则会根据所述第四交易信 息执行对应账号的商品数据转移。
从上文可知,所述计算机设备1能够接收应用服务器产生的第一交易请求 后,根据所述第一交易请求向区块链发起对应的第二交易请求,其中,所述第 二交易请求与所述第一交易请求中的交易对象信息和交易量信息存在一一对应 关系;接着,获取所述区块链执行所述第二交易请求对应的交易操作后所得到 第二交易信息;再将所述第二交易信息转换成第一交易信息,并返回至所述应 用服务器。通过以上方式,可以有效解决应用服务器中产生的交易数据与区块 链上的交易数据的之间的同步性较差的问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实 施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方 案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包 括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器, 或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利 用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运 用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种区块链数据同步方法,其特征在于,所述方法包括:
接收应用服务器产生的第一交易请求;
根据所述第一交易请求向区块链发起对应的第二交易请求,其中,所述第二交易请求与所述第一交易请求中的交易对象信息和交易量信息存在一一对应关系;
获取所述区块链执行所述第二交易请求对应的交易操作后得到的第二交易信息;
将所述第二交易信息转换成第一交易信息,并返回至所述应用服务器。
2.如权利要求1所述的区块链数据同步方法,其特征在于,通过所述应用服务器提供的API接口监测并接收所述应用服务器中触发产生的所述第一交易请求。
3.如权利要求1所述的区块链数据同步方法,其特征在于,所述根据所述第一交易请求向区块链发起对应的第二交易请求包括:
获取所述第一交易请求中的第一交易对象信息和第一交易量信息;
根据所述第一交易对象信息和所述第一交易量信息在信息对应表上获取对应的第二交易对象信息和第二交易量信息,其中,所述信息对应表是预先创建的包括应用服务器与区块链上的所有数据类别的对应表;
根据所述第二交易对象信息和所述第二交易量信息生成所述第二交易请求,并将所述第二交易请求发送至区块链。
4.如权利要求1所述的区块链数据同步方法,其特征在于,所述方法还包括:
监测所述区块链是否创建新区块;
当监测到所述区块链创建新区块时,获取所述新区块的第三交易信息;
将所述第三交易信息转换成第四交易信息;
将所述第四交易信息发送至所述应用服务器。
5.如权利要求4所述的区块链数据同步方法,其特征在于,所述监测所述区块链是否创建新区块包括:
通过web3提供的API接口实时获取所述区块链的区块信息;
将获取到的区块信息与前一次获取的区块信息进行比较,从而判断是否创建所述新区块。
6.如权利要求4或5所述的区块链数据同步方法,其特征在于,所述获取所述新区块的第三交易信息包括:
获取所述新区块的交易哈希值;
根据所述交易哈希值查询所述新区块上存储的所述第三交易信息。
7.如权利要求4或5所述的区块链数据同步方法,其特征在于,所述将所述第三交易信息转换成第四交易信息包括:
获取所述第三交易信息中的第三交易对象信息和第三交易量信息;
根据所述第三交易对象信息和所述第三交易量信息在所述信息对应表上获取对应的第四交易对象信息和第四交易量信息,并生成第四交易信息。
8.一种区块链数据同步装置,其特征在于,所述装置包括:
接收模块,用于接收应用服务器产生的第一交易请求;
发送模块,用于根据所述第一交易请求向区块链发起对应的第二交易请求,其中,所述第二交易请求与所述第一交易请求中的交易对象信息和交易量信息存在一一对应关系;
获取模块,用于获取所述区块链执行所述第二交易请求对应的交易操作后得到的第二交易信息;
转换模块,用于将所述第二交易信息转换成第一交易信息,并返回至所述应用服务器。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7任一项所述的区块链数据同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的区块链数据同步方法的步骤。
CN201910886983.6A 2019-09-19 2019-09-19 区块链数据同步方法、装置以及计算机设备 Active CN112527890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910886983.6A CN112527890B (zh) 2019-09-19 2019-09-19 区块链数据同步方法、装置以及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910886983.6A CN112527890B (zh) 2019-09-19 2019-09-19 区块链数据同步方法、装置以及计算机设备

Publications (2)

Publication Number Publication Date
CN112527890A true CN112527890A (zh) 2021-03-19
CN112527890B CN112527890B (zh) 2023-04-11

Family

ID=74974209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910886983.6A Active CN112527890B (zh) 2019-09-19 2019-09-19 区块链数据同步方法、装置以及计算机设备

Country Status (1)

Country Link
CN (1) CN112527890B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995344A (zh) * 2021-04-29 2021-06-18 杭州链城数字科技有限公司 区块链一体机及其内多节点的跨链方法、装置、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107993149A (zh) * 2017-12-18 2018-05-04 深圳前海微众银行股份有限公司 账户信息管理方法、***以及可读存储介质
CN108259594A (zh) * 2018-01-11 2018-07-06 杭州秘猿科技有限公司 一种基于区块链的数据交互***以及中继服务器
CN108492183A (zh) * 2018-03-29 2018-09-04 深圳前海微众银行股份有限公司 区块链的账户交易方法、***和计算机可读存储介质
US20180293556A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
CN109173266A (zh) * 2018-11-12 2019-01-11 网易(杭州)网络有限公司 跨游戏的虚拟资产的处理方法、装置、处理器及服务器
CN109559227A (zh) * 2018-11-29 2019-04-02 咪咕文化科技有限公司 一种跨区块链网络的交易方法、装置及存储介质
CN109857807A (zh) * 2019-01-10 2019-06-07 中钞***产业发展有限公司杭州区块链技术研究院 基于区块链的交易数据同步方法、装置、设备和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180293556A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
CN107993149A (zh) * 2017-12-18 2018-05-04 深圳前海微众银行股份有限公司 账户信息管理方法、***以及可读存储介质
CN108259594A (zh) * 2018-01-11 2018-07-06 杭州秘猿科技有限公司 一种基于区块链的数据交互***以及中继服务器
CN108492183A (zh) * 2018-03-29 2018-09-04 深圳前海微众银行股份有限公司 区块链的账户交易方法、***和计算机可读存储介质
CN109173266A (zh) * 2018-11-12 2019-01-11 网易(杭州)网络有限公司 跨游戏的虚拟资产的处理方法、装置、处理器及服务器
CN109559227A (zh) * 2018-11-29 2019-04-02 咪咕文化科技有限公司 一种跨区块链网络的交易方法、装置及存储介质
CN109857807A (zh) * 2019-01-10 2019-06-07 中钞***产业发展有限公司杭州区块链技术研究院 基于区块链的交易数据同步方法、装置、设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995344A (zh) * 2021-04-29 2021-06-18 杭州链城数字科技有限公司 区块链一体机及其内多节点的跨链方法、装置、存储介质

Also Published As

Publication number Publication date
CN112527890B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
CN108427705B (zh) 电子装置、分布式***日志查询方法及存储介质
KR102331631B1 (ko) 전력량계의 클록 동기화 방법, 장치, 컴퓨터 설비 및 저장 매체
CN101313495B (zh) 数据同步方法、***及装置
CN111091429A (zh) 电子票据标识分配方法及装置、电子票据生成***
WO2021031473A1 (zh) 基于多资产模型的区块链资产处理方法及相关设备
CN110690974B (zh) 基于区块链的数据验证方法、装置、设备及可读存储介质
CN110222535B (zh) 区块链配置文件的处理装置、方法及存储介质
EP1444845B1 (en) Identifying changed records in a file stored on an electronic token
CN109951514B (zh) 基于云存储的文件处理方法、***及计算机设备
CN110543488B (zh) 一种验证节点更新方法、装置及设备
CN110880147B (zh) 一种交易处理方法、相关设备及计算机存储介质
CN111258714B (zh) 一种区块链智能合约执行方法
EP4287102A1 (en) Cross-chain transaction processing method and apparatus, electronic device, and storage medium
CN104541248A (zh) 计算***对屏障命令的处理
CN112367164A (zh) 业务请求处理方法、装置、计算机设备和存储介质
CN112527890B (zh) 区块链数据同步方法、装置以及计算机设备
CN115408715A (zh) 基于区块链和ipfs的异构数据处理***、方法及设备
CN114637611A (zh) 基于消息队列的信息处理方法、装置及计算机设备
CN112231408B (zh) 数据集成方法及装置、电子设备、存储介质
CN114968822A (zh) 接口测试方法、装置、计算机设备及存储介质
US20060195834A1 (en) Method and system for availability checking on distributed objects
CN110059109B (zh) 数据查询的装置、方法及存储介质
US20080077693A1 (en) System and method for automatically generating a proxy interface object to communicate through a gateway software server to a remote software server
CN111324654A (zh) 接口调用方法、***、计算机设备及计算机可读存储介质
CN117032998B (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