CN107657059A - 基于区块链应用系统的数据同步方法、中间件及系统 - Google Patents

基于区块链应用系统的数据同步方法、中间件及系统 Download PDF

Info

Publication number
CN107657059A
CN107657059A CN201710983083.4A CN201710983083A CN107657059A CN 107657059 A CN107657059 A CN 107657059A CN 201710983083 A CN201710983083 A CN 201710983083A CN 107657059 A CN107657059 A CN 107657059A
Authority
CN
China
Prior art keywords
block chain
data
bottom block
chain
change
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
Application number
CN201710983083.4A
Other languages
English (en)
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201710983083.4A priority Critical patent/CN107657059A/zh
Publication of CN107657059A publication Critical patent/CN107657059A/zh
Pending legal-status Critical Current

Links

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/25Integrating or interfacing systems involving database management systems
    • 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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供了一种基于区块链应用系统的数据同步方法、区块链中间件、基于区块链应用系统的数据同步系统,涉及数据处理技术领域。所述方法包括封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口;在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步数据库的一致性;存储所述底层区块链的底层块内的交易数据信息。本发明通过搭建区块链中间件来提供对底层区块链的统一访问API,同时建立一个同步数据库来实现将底层区块链内的数据直接映射到同步数据库中,实现了应用系统通过查询同步数据库来完成各自的业务需求。

Description

基于区块链应用系统的数据同步方法、中间件及系统
技术领域
本发明关于数据处理技术领域,特别是关于区块链应用系统的访问技术,具体的讲是一种基于区块链应用系统的数据同步方法、区块链中间件、基于区块链应用系统的数据同步系统。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
基于区块链技术的应用系统一般采用块的方式存储交易数据,每个块具有相同的数据结构,且其数据结构相对简单,通过将各块串行起来形成了不断增长的区块链。虽然区块链技术的底层也提供了进行数据操作的接口,但这些接口都比较简单,存储在块内的交易信息基本整体以字符串的形式存在,需要应用程序频繁解析字符串数据信息。
目前,现有技术中广泛使用关系数据库系统。当遇到以区块链技术为核心实现的应用系统时,对于块内数据的访问就会遇到各种不适,不仅是开发模式的不适应,还面临着区块链数据访问不能提供类似数据库的高可用性等问题。另一方面,基于区块链技术的应用系统是一个异步系统,链上数据的变化并不会主动通知到关联的上层应用,只有通过上层应用主动查询数据时才会发现数据的变化,导致实时交互反应不及时。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
有鉴于此,本发明提供了一种基于区块链应用系统的数据同步方法、区块链中间件、基于区块链应用系统的数据同步系统,通过搭建区块链中间件来提供对底层区块链的统一访问API,同时建立一个同步数据库来实现将底层区块链内的数据直接映射到同步数据库中,实现了应用系统通过查询同步数据库来完成各自的业务需求。
为了实现上述目的,本发明提供了一种基于区块链应用系统的数据同步方法,所述方法包括:
封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口;
在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步数据库的一致性;
存储所述底层区块链的底层块内的交易数据信息。
在本发明的优选实施方式中,所述交易数据信息包括区块高度的变化、交易处理的结果、链上数据合约的变化。
在本发明的优选实施方式中,所述方法还包括:
在交易上链前调用createTransactionRawHex()计算交易哈希值;
调用signAndSendTxn()对交易进行签名并且发送至所述底层区块链。
在本发明的优选实施方式中,所述方法还包括:
调用registerListener()监听所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化;
调用getBlockNumber()实时获取块高度。
在本发明的优选实施方式中,所述方法还包括:
当监听到所述底层区块链的区块高度的变化交易处理的结果、链上数据合约的变化时,输出通知信息。
本发明的目的之一是,提供了一种区块链中间件,所述区块链中间件包括API、同步数据库以及数据同步模块;
其中,所述API,用于封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口;
所述数据同步模块,用于在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步数据库的一致性;
所述同步数据库,用于存储所述底层区块链的底层块内的交易数据信息。
在本发明的优选实施方式中,所述交易数据信息包括区块高度的变化、交易处理的结果、链上数据合约的变化。
在本发明的优选实施方式中,所述API包括:
哈希值计算模块,用于在交易上链前调用createTransactionRawHex()计算交易哈希值;
签名发送模块,用于调用signAndSendTxn()对交易进行签名并且发送至所述底层区块链。
在本发明的优选实施方式中,所述API还包括:
注册监听模块,用于调用registerListener()监听所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化;
块高度获取模块,用于调用getBlockNumber()实时获取块高度。
在本发明的优选实施方式中,所述区块链中间件还包括事件通知模块,用于当所述API监听到所述底层区块链的区块高度的变化交易处理的结果、链上数据合约的变化时,输出通知信息。
本发明的目的之一是,提供了一种基于区块链应用系统的数据同步系统,所述数据同步系统包括区块链应用系统以及区块链中间件。
本发明的有益效果在于,提供了一种基于区块链应用系统的数据同步方法、区块链中间件、基于区块链应用系统的数据同步系统,通过搭建区块链中间件来提供对底层区块链的统一访问API,同时建立一个同步数据库来实现将底层区块链内的数据直接映射到同步数据库中,实现了应用系统通过查询同步数据库来完成各自的业务需求。利用此系统,当底层区块链上的关键事件发生时,将这些事件即时通知给关联的上层应用,上层应用捕获到这些事件通知后,可以通过查询同步数据库来及时更新其业务处理状态,实现了交易的同步处理。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于区块链应用系统的数据同步系统的结构示意图;
图2为本发明实施例提供的一种区块链中间件的结构框图;
图3为本发明实施例提供的一种区块链中间件的实施方式二的结构框图;
图4为本发明实施例提供的一种区块链中间件中API的结构框图;
图5为本发明实施例提供的一种基于区块链应用系统的数据同步方法的流程图;
图6为本发明提供的具体实施例中基于区块链应用系统的数据同步系统的示意图;
图7为本发明提供的具体实施例中API的接口示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
基于区块链技术的应用系统,因为区块链独特的块链式数据结构,相对于日常广泛使用的关系数据库来言,其数据不易访问,且无法满足数据查询统计等功能。并且区块链典型的异步交互特征,使得应用系统必须不停地主动向区块链发起查询才能获得最新的状态信息,区块链内部数据状态的变化不会主动通知外部应用系统,使得实时交互困难,内外部数据不同步。
有鉴于此,本发明提供一种基于区块链应用系统的数据同步系统,图1为本发明实施例提供的一种基于区块链应用系统的数据同步系统的结构示意图,请参阅图1,本发明提供的数据同步系统包括:区块链应用系统100以及区块链中间件200。
图2为本发明实施例提供的一种区块链中间件的结构框图,请参阅图2,本发明提供的区块链中间件200包括API201、同步数据库203以及数据同步模块202。
其中,所述API应用程序编程接口,用于封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口。
在本发明中,将访问底层区块链的通讯接口封装成API,方便外部应用程序进行调用,既可以屏蔽调用底层程序的复杂性,使应用开发人员集中于其业务本身的开发,又可以提高了程序的复用度,避免开发人员重复开发调用接口。同时,可以在API层增加调试信息,避免直接修改区块链内核程序,方便程序调试。
图4为本发明实施例提供的一种区块链中间件中API的结构框图,请参阅图4,所述API包括:
哈希值计算模块2011,用于在交易上链前调用createTransactionRawHex()计算交易哈希值;
签名发送模块2012,用于调用signAndSendTxn()对交易进行签名并且发送至所述底层区块链;
注册监听模块2013,用于调用registerListener()监听所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化;
块高度获取模块2014,用于调用getBlockNumber()实时获取块高度。
请参阅图2,所述数据同步模块202,用于在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步库数据的一致性。
所述同步数据库,用于存储所述底层区块链的底层块内的交易数据信息。
也即,本发明面对底层区块数据不易访问的特点,通过建立同步数据库来存储底层的区块数据。交易上链处理成功后,在区块链中间件层进行数据同步更新处理,将同步数据库中数据表内的数据更新为和底层块内交易数据一致。
在本发明的其他实施方式中,在区块链中间件层也可以提供一些对数据库访问的公共API接口,共外部程序使用来读取数据。值得注意的是,同步数据库内的数据只能由中间件程序根据交易的处理结果进行更新,外部应用程序不可以直接更新同步数据库的数据,只能进行查询访问。这样才能保证同步数据库和区块链数据的一致性。
数据同步模块实现了把从底层不易访问的区块数据结构转化为日常广泛使用的数据库形式。为了实现同步,必须在每笔交易上链成功时把最新的交易数据写入同步数据库,或者区块的最新变化反映到同步数据库中。
如上所述即为本发明提出的一种基于区块链应用系统的数据同步系统,通过搭建区块链中间件来提供对底层区块链的统一访问API,同时建立一个同步数据库来实现将底层区块链内的数据直接映射到同步数据库中,实现了应用系统通过查询同步数据库来完成各自的业务需求。
图3为本发明实施例提供的一种区块链中间件的实施方式二的结构框图,请参阅图3,在实施方式二中,所述区块链中间件还包括:
事件通知模块204,用于当所述API监听到所述底层区块链的区块高度的变化交易处理的结果、链上数据合约的变化时,输出通知信息。
区块链应用系统的一个很大特征是异步交互,链上数据合约的变化,区块链高度的变化,发起的交易处理的结果,如何通知区块链应用系统进行数据更新或者相应的处理?本发明的区块链中间件通过API的观察者模式来实现注册监听器和触发。区块链应用系统在API中创建注册监听模块,监听合约的变化,交易的完成,链高度的变化。区块链中间件收到新的区块信息后,读取最新区块上的交易,找到数据发生变化的智能合约,从区块链上读取这些智能合约的最新状态,将这些数据写入数据库,然后区块链中间件输出通知信息,将相关的合约,最新高度,交易处理结果通知给外部程序,由外部程序进行后续处理。
要实现同步就必须遵循制定的公共规则,API是实现交易上链的统一交互接口,数据同步模块实现了从底层区块数据到传统数据库信息的同步,事件通知模块是为了进一步实现内部数据向外部应用层的同步。
如上所述即为本发明提出的一种区块链中间件,为解决异步交互的问题,通过在区块链中间件的API中设置注册监听模块,当底层区块链上的关键事件发生时,将这些事件即时通知给关联的上层应用,上层应用捕获到这些事件通知后,可以通过查询同步数据库来及时更新其业务处理状态,实现了交易的同步处理。
此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在介绍了本发明示例性实施方式的区块链中间件以及基于区块链应用系统的数据同步系统之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。
图5为本发明实施例提供的一种基于区块链应用系统的数据同步方法的流程图,请参阅图5,该方法包括:
S101:封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口。
在本发明中,将访问底层区块链的通讯接口封装成API,方便外部应用程序进行调用,既可以屏蔽调用底层程序的复杂性,使应用开发人员集中于其业务本身的开发,又可以提高了程序的复用度,避免开发人员重复开发调用接口。同时,可以在API层增加调试信息,避免直接修改区块链内核程序,方便程序调试。
S102:在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步数据库的一致性;
S103:存储所述底层区块链的底层块内的交易数据信息。
也即,本发明面对底层区块数据不易访问的特点,通过建立同步数据库来存储底层的区块数据。交易上链处理成功后,在区块链中间件层进行数据同步更新处理,将同步数据库中数据表内的数据更新为和底层块内交易数据一致。
如上所述即为本发明提出的一种基于区块链应用系统的数据同步系统,通过搭建区块链中间件来提供对底层区块链的统一访问API,同时建立一个同步数据库来实现将底层区块链内的数据直接映射到同步数据库中,实现了应用系统通过查询同步数据库来完成各自的业务需求。
在本发明的一种实施方式中,所述步骤S101还包括:
S201:在交易上链前调用createTransactionRawHex()计算交易哈希值;
S202:调用signAndSendTxn()对交易进行签名并且发送至所述底层区块链;
S203:调用registerListener()监听所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化;
S204:调用getBlockNumber()实时获取块高度。
在本发明的其他实施方式中,该方法还包括:
S104:当所述API监听到所述底层区块链的区块高度的变化交易处理的结果、链上数据合约的变化时,输出通知信息。
区块链应用系统的一个很大特征是异步交互,链上数据合约的变化,区块链高度的变化,发起的交易处理的结果,如何通知区块链应用系统进行数据更新或者相应的处理?本发明的区块链中间件通过API的观察者模式来实现注册监听器和触发。区块链应用系统在API中创建注册监听模块,监听合约的变化,交易的完成,链高度的变化。区块链中间件收到新的区块信息后,读取最新区块上的交易,找到数据发生变化的智能合约,从区块链上读取这些智能合约的最新状态,将这些数据写入数据库,然后区块链中间件输出通知信息,将相关的合约,最新高度,交易处理结果通知给外部程序,由外部程序进行后续处理。
如上所述即为本发明提出的一种区块链中间件,为解决异步交互的问题,通过在区块链中间件的API中设置注册监听模块,当底层区块链上的关键事件发生时,将这些事件即时通知给关联的上层应用,上层应用捕获到这些事件通知后,可以通过查询同步数据库来及时更新其业务处理状态,实现了交易的同步处理。
下面通过本发明提供的具体实施例,结合本发明的附图,详细介绍本发明的技术方案。图6为本发明提供的具体实施例中基于区块链应用系统的数据同步系统的示意图,请参阅图6,本发明提出了一种基于区块链应用系统的同步机制,通过搭建区块链中间件来完成对底层区块链的统一访问。其内容主要包括如下三个方面:
图7为本发明提供的具体实施例中API的接口示意图,交易上链前调用createTransactionRawHex()计算交易Hash值,然后通过调用signAndSendTxn()对交易进行签名并且上送给区块链。registerListener()是应用服务程序在中间件注册监听器,监听的内容包括区块高度的变化,交易处理的结果,链上数据合约的变化等。getBlockNumber()用来实时获取目前最新的块高度。
区块链应用系统的一个很大特征是异步交互,链上数据合约的变化,区块链高度的变化,发起的交易处理的结果,如何通知区块链应用系统进行数据更新或者相应的处理?本发明的区块链中间件通过API的观察者模式来实现注册监听器和触发。区块链应用系统在API中创建注册监听模块,监听合约的变化,交易的完成,链高度的变化。区块链中间件收到新的区块信息后,读取最新区块上的交易,找到数据发生变化的智能合约,从区块链上读取这些智能合约的最新状态,将这些数据写入数据库,然后区块链中间件输出通知信息,将相关的合约,最新高度,交易处理结果通知给外部程序,由外部程序进行后续处理。
面对底层区块数据不易访问的特点,通过建立同步数据库来存储底层的区块数据。交易上链处理成功后,在中间件层进行数据同步更新处理,将表内的数据更新为和块内交易数据一致。在中间件层也可以提供一些对数据库访问的公共API接口,共外部程序使用来读取数据。值得注意的是,同步数据库内的数据只能由中间件程序根据交易的处理结果进行更新,外部应用程序不可以直接更新同步数据库的数据,只能进行查询访问。这样才能保证同步数据库和区块链数据的一致性。
综上所述,本文提出了一种基于区块链应用系统的数据同步方法、区块链中间件、基于区块链应用系统的数据同步系统,通过搭建区块链中间件来提供对底层区块链的统一访问API,同时建立一个同步数据库来实现将底层区块链内的数据直接映射到同步数据库中,实现了应用系统通过查询同步数据库来完成各自的业务需求。
为解决异步交互的问题,可以通过在区块链中间件注册监听机制,当底层区块链上的关键事件发生时,将这些事件即时通知给关联的上层应用,上层应用捕获到这些事件通知后,可以通过查询同步数据库来及时更新其业务处理状态,实现了交易的同步处理。
相对于直接访问底层区块数据,通过同步数据库的方式无疑会额外增加交易的开销,但是从数据访问的高可用性,比如数据的统计查询,按某关键栏位字段的查询,多栏位字段的组合条件查询,多表联合查询等功能,支持多交易并发查询等,这些功能和性能是单纯的直接访问底层区块链难以提供的。并且区块链系统的异步特征,无法提供主动通知的功能。因此为了实现上述功能,这些资源的开销是不可避免的。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持系统或便携式系统、平板型系统、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子系统、网络PC、小型计算机、大型计算机、包括以上任何系统或系统的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理系统来执行任务。在分布式计算环境中,程序模块可以位于包括存储系统在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员可以知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (11)

1.一种区块链中间件,其特征是,所述区块链中间件包括API、同步数据库以及数据同步模块;
其中,所述API,用于封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口;
所述数据同步模块,用于在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步数据库的一致性;
所述同步数据库,用于存储所述底层区块链的底层块内的交易数据信息。
2.根据权利要求1所述的区块链中间件,其特征是,所述交易数据信息包括区块高度的变化、交易处理的结果、链上数据合约的变化。
3.根据权利要求1所述的区块链中间件,其特征是,所述API包括:
哈希值计算模块,用于在交易上链前调用createTransactionRawHex()计算交易哈希值;
签名发送模块,用于调用signAndSendTxn()对交易进行签名并且发送至所述底层区块链。
4.根据权利要求2所述的区块链中间件,其特征是,所述API还包括:
注册监听模块,用于调用registerListener()监听所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化;
块高度获取模块,用于调用getBlockNumber()实时获取块高度。
5.根据权利要求3所述的区块链中间件,其特征是,所述区块链中间件还包括事件通知模块,用于当所述API监听到所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化时,输出通知信息。
6.一种基于区块链应用系统的数据同步系统,其特征是,所述数据同步系统包括区块链应用系统以及如权利要求1至5任意一项所述的区块链中间件,所述区块链中间件包括API、同步数据库以及数据同步模块;
其中,所述API,用于封装对所述区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口;
所述数据同步模块,用于在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步库数据的一致性;
所述同步数据库,用于存储所述底层区块链的底层块内的交易数据信息。
7.一种通过权利要求6所述的基于区块链应用系统的数据同步系统进行数据同步方法,其特征是,所述方法包括:
封装对区块链应用系统的底层区块链的访问以及对所述同步数据库的访问,提供所述底层区块链访问的统一接口;
在上链交易成功时,将所述底层区块链的底层块内的交易数据信息更新至所述同步数据库中,以保持所述底层区块链和所述同步库数据的一致性;
存储所述底层区块链的底层块内的交易数据信息。
8.根据权利要求7所述的方法,其特征是,所述交易数据信息包括区块高度的变化、交易处理的结果、链上数据合约的变化。
9.根据权利要求7所述的方法,其特征是,所述方法还包括:
在交易上链前调用createTransactionRawHex()计算交易哈希值;
调用signAndSendTxn()对交易进行签名并且发送至所述底层区块链。
10.根据权利要求9所述的方法,其特征是,所述方法还包括:
调用registerListener()监听所述底层区块链的区块高度的变化、交易处理的结果、链上数据合约的变化;
调用getBlockNumber()实时获取块高度。
11.根据权利要求10所述的方法,其特征是,所述方法还包括:当监听到所述底层区块链的区块高度的变化交易处理的结果、链上数据合约的变化时,输出通知信息。
CN201710983083.4A 2017-10-20 2017-10-20 基于区块链应用系统的数据同步方法、中间件及系统 Pending CN107657059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710983083.4A CN107657059A (zh) 2017-10-20 2017-10-20 基于区块链应用系统的数据同步方法、中间件及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710983083.4A CN107657059A (zh) 2017-10-20 2017-10-20 基于区块链应用系统的数据同步方法、中间件及系统

Publications (1)

Publication Number Publication Date
CN107657059A true CN107657059A (zh) 2018-02-02

Family

ID=61117843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710983083.4A Pending CN107657059A (zh) 2017-10-20 2017-10-20 基于区块链应用系统的数据同步方法、中间件及系统

Country Status (1)

Country Link
CN (1) CN107657059A (zh)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920523A (zh) * 2018-06-04 2018-11-30 深圳乐信软件技术有限公司 区块链上数据查询方法、装置、设备、系统及介质
CN108960824A (zh) * 2018-06-22 2018-12-07 杨俊佳 基于区块链的移动终端
CN109063109A (zh) * 2018-07-27 2018-12-21 电子科技大学 一种基于以太坊的数据查询系统
CN109361565A (zh) * 2018-11-08 2019-02-19 国网黑龙江省电力有限公司信息通信公司 基于区块链的数据中心监测管理系统
CN109376146A (zh) * 2018-10-26 2019-02-22 陕西医链区块链集团有限公司 一种基于区块链的搜索引擎系统及方法
CN109408594A (zh) * 2018-10-26 2019-03-01 陕西医链区块链集团有限公司 一种基于区块链的跨链数据检索系统及方法
CN109446273A (zh) * 2018-12-04 2019-03-08 深圳前海环融联易信息科技服务有限公司 区块链的数据同步方法、装置、计算机设备及存储介质
CN109542945A (zh) * 2018-10-19 2019-03-29 平安科技(深圳)有限公司 区块链数据统计分析方法、装置及存储介质
CN109739485A (zh) * 2018-12-29 2019-05-10 杭州趣链科技有限公司 一种多区块链底层统一调度解决方法
CN109857724A (zh) * 2019-02-12 2019-06-07 众安信息技术服务有限公司 基于区块链实现支持多种数据库的方法及设备
CN110162559A (zh) * 2019-04-13 2019-08-23 山东公链信息科技有限公司 一种基于通用json同步和异步数据api接口调用的区块链处理方法
CN110245134A (zh) * 2019-04-26 2019-09-17 石化盈科信息技术有限责任公司 一种应用于搜索服务的增量同步方法
CN110263014A (zh) * 2019-05-15 2019-09-20 广州致链科技有限公司 面向时序型数据的区块链存储系统及方法
CN110297689A (zh) * 2019-05-06 2019-10-01 百度在线网络技术(北京)有限公司 智能合约执行方法、装置、设备及介质
CN110309163A (zh) * 2019-06-28 2019-10-08 杭州复杂美科技有限公司 区块链关系型数据库维护方法和数据查询方法
CN110391996A (zh) * 2018-04-18 2019-10-29 贵州白山云科技股份有限公司 一种区块链接入装置、系统、方法及计算机设备
CN110458709A (zh) * 2018-04-28 2019-11-15 腾讯科技(深圳)有限公司 资源转移信息的传输方法和装置、存储介质、电子装置
CN110620819A (zh) * 2019-09-20 2019-12-27 中国银行股份有限公司 区块链交互方法、装置、计算机设备及可读存储介质
WO2020001108A1 (zh) * 2018-06-29 2020-01-02 阿里巴巴集团控股有限公司 基于区块链的数据处理方法和装置
CN110659264A (zh) * 2019-09-26 2020-01-07 联想(北京)有限公司 用于计算系统的业务处理方法、装置和计算系统
CN110706797A (zh) * 2019-09-16 2020-01-17 重庆华医康道科技有限公司 一种医疗机构的医疗数据实时上链的方法
CN110727655A (zh) * 2019-09-10 2020-01-24 连连银通电子支付有限公司 一种区块链的影子数据库构建方法、装置、设备及介质
WO2020019368A1 (zh) * 2018-07-27 2020-01-30 杨俊佳 区块链数据处理方法
CN111241205A (zh) * 2020-04-26 2020-06-05 北京启迪区块链科技发展有限公司 基于联盟区块链底层可信数据同步方法、网络结构及服务器
WO2020140672A1 (zh) * 2019-01-03 2020-07-09 深圳壹账通智能科技有限公司 基于区块链的资产数据处理方法、系统和存储介质
CN111949726A (zh) * 2020-06-07 2020-11-17 中信银行股份有限公司 一种基于区块链的关系型数据库同步方法及同步系统
CN112328690A (zh) * 2020-11-12 2021-02-05 星矿科技(北京)有限公司 一种高效的区块链访问方法
CN112560052A (zh) * 2020-11-30 2021-03-26 深圳前海益链网络科技有限公司 一种基于区块链的储能数据管理方法及相关装置
CN112700558A (zh) * 2020-12-23 2021-04-23 深圳信息职业技术学院 一种基于区块链技术的车辆识别方法、系统及电子设备
WO2021164204A1 (zh) * 2020-02-17 2021-08-26 深圳壹账通智能科技有限公司 区块链数据授权方法、装置、设备及计算机可读存储介质
WO2022027530A1 (zh) * 2020-08-05 2022-02-10 西安电子科技大学 一种基于区块链的高性能防篡改数据库的构建方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506493A (zh) * 2016-10-27 2017-03-15 摩登大道时尚电子商务有限公司 基于区块链平台的数据处理方法
CN106874393A (zh) * 2017-01-13 2017-06-20 北京众享比特科技有限公司 基于区块链的业务数据同步方法及系统、数据库系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506493A (zh) * 2016-10-27 2017-03-15 摩登大道时尚电子商务有限公司 基于区块链平台的数据处理方法
CN106874393A (zh) * 2017-01-13 2017-06-20 北京众享比特科技有限公司 基于区块链的业务数据同步方法及系统、数据库系统

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391996A (zh) * 2018-04-18 2019-10-29 贵州白山云科技股份有限公司 一种区块链接入装置、系统、方法及计算机设备
CN110458709B (zh) * 2018-04-28 2022-12-30 腾讯科技(深圳)有限公司 资源转移信息的传输方法和装置、存储介质、电子装置
CN110458709A (zh) * 2018-04-28 2019-11-15 腾讯科技(深圳)有限公司 资源转移信息的传输方法和装置、存储介质、电子装置
CN108920523A (zh) * 2018-06-04 2018-11-30 深圳乐信软件技术有限公司 区块链上数据查询方法、装置、设备、系统及介质
CN108960824A (zh) * 2018-06-22 2018-12-07 杨俊佳 基于区块链的移动终端
WO2019242037A1 (zh) * 2018-06-22 2019-12-26 杨俊佳 基于区块链的移动终端
AU2019295818B2 (en) * 2018-06-29 2021-10-07 Advanced New Technologies Co., Ltd. Block chain-based data processing method and device
WO2020001108A1 (zh) * 2018-06-29 2020-01-02 阿里巴巴集团控股有限公司 基于区块链的数据处理方法和装置
US10949447B2 (en) 2018-06-29 2021-03-16 Advanced New Technologies Co., Ltd. Blockchain-based data synchronizing and data block parsing method and device
CN109063109A (zh) * 2018-07-27 2018-12-21 电子科技大学 一种基于以太坊的数据查询系统
WO2020019368A1 (zh) * 2018-07-27 2020-01-30 杨俊佳 区块链数据处理方法
CN109542945B (zh) * 2018-10-19 2023-09-22 平安科技(深圳)有限公司 区块链数据统计分析方法、装置及存储介质
CN109542945A (zh) * 2018-10-19 2019-03-29 平安科技(深圳)有限公司 区块链数据统计分析方法、装置及存储介质
CN109376146A (zh) * 2018-10-26 2019-02-22 陕西医链区块链集团有限公司 一种基于区块链的搜索引擎系统及方法
CN109408594A (zh) * 2018-10-26 2019-03-01 陕西医链区块链集团有限公司 一种基于区块链的跨链数据检索系统及方法
CN109361565A (zh) * 2018-11-08 2019-02-19 国网黑龙江省电力有限公司信息通信公司 基于区块链的数据中心监测管理系统
CN109446273B (zh) * 2018-12-04 2022-07-22 深圳前海环融联易信息科技服务有限公司 区块链的数据同步方法、装置、计算机设备及存储介质
CN109446273A (zh) * 2018-12-04 2019-03-08 深圳前海环融联易信息科技服务有限公司 区块链的数据同步方法、装置、计算机设备及存储介质
CN109739485A (zh) * 2018-12-29 2019-05-10 杭州趣链科技有限公司 一种多区块链底层统一调度解决方法
WO2020140672A1 (zh) * 2019-01-03 2020-07-09 深圳壹账通智能科技有限公司 基于区块链的资产数据处理方法、系统和存储介质
CN109857724B (zh) * 2019-02-12 2022-12-02 众安信息技术服务有限公司 基于区块链实现支持多种数据库的方法及设备
CN109857724A (zh) * 2019-02-12 2019-06-07 众安信息技术服务有限公司 基于区块链实现支持多种数据库的方法及设备
CN110162559B (zh) * 2019-04-13 2020-07-10 山东公链信息科技有限公司 一种基于通用json同步和异步数据api接口调用的区块链处理方法
CN110162559A (zh) * 2019-04-13 2019-08-23 山东公链信息科技有限公司 一种基于通用json同步和异步数据api接口调用的区块链处理方法
CN110245134B (zh) * 2019-04-26 2021-07-06 石化盈科信息技术有限责任公司 一种应用于搜索服务的增量同步方法
CN110245134A (zh) * 2019-04-26 2019-09-17 石化盈科信息技术有限责任公司 一种应用于搜索服务的增量同步方法
CN110297689A (zh) * 2019-05-06 2019-10-01 百度在线网络技术(北京)有限公司 智能合约执行方法、装置、设备及介质
CN110297689B (zh) * 2019-05-06 2021-09-14 百度在线网络技术(北京)有限公司 智能合约执行方法、装置、设备及介质
CN110263014A (zh) * 2019-05-15 2019-09-20 广州致链科技有限公司 面向时序型数据的区块链存储系统及方法
CN110309163A (zh) * 2019-06-28 2019-10-08 杭州复杂美科技有限公司 区块链关系型数据库维护方法和数据查询方法
CN110727655A (zh) * 2019-09-10 2020-01-24 连连银通电子支付有限公司 一种区块链的影子数据库构建方法、装置、设备及介质
CN110727655B (zh) * 2019-09-10 2022-03-15 连连银通电子支付有限公司 一种区块链的影子数据库构建方法、装置、设备及介质
CN110706797B (zh) * 2019-09-16 2022-03-04 重庆华医康道科技有限公司 一种医疗机构的医疗数据实时上链的方法
CN110706797A (zh) * 2019-09-16 2020-01-17 重庆华医康道科技有限公司 一种医疗机构的医疗数据实时上链的方法
CN110620819A (zh) * 2019-09-20 2019-12-27 中国银行股份有限公司 区块链交互方法、装置、计算机设备及可读存储介质
CN110659264B (zh) * 2019-09-26 2022-09-23 联想(北京)有限公司 用于计算系统的业务处理方法、装置和计算系统
CN110659264A (zh) * 2019-09-26 2020-01-07 联想(北京)有限公司 用于计算系统的业务处理方法、装置和计算系统
WO2021164204A1 (zh) * 2020-02-17 2021-08-26 深圳壹账通智能科技有限公司 区块链数据授权方法、装置、设备及计算机可读存储介质
CN111241205A (zh) * 2020-04-26 2020-06-05 北京启迪区块链科技发展有限公司 基于联盟区块链底层可信数据同步方法、网络结构及服务器
CN111949726A (zh) * 2020-06-07 2020-11-17 中信银行股份有限公司 一种基于区块链的关系型数据库同步方法及同步系统
WO2022027530A1 (zh) * 2020-08-05 2022-02-10 西安电子科技大学 一种基于区块链的高性能防篡改数据库的构建方法
CN112328690A (zh) * 2020-11-12 2021-02-05 星矿科技(北京)有限公司 一种高效的区块链访问方法
CN112560052A (zh) * 2020-11-30 2021-03-26 深圳前海益链网络科技有限公司 一种基于区块链的储能数据管理方法及相关装置
CN112700558B (zh) * 2020-12-23 2022-08-12 深圳信息职业技术学院 一种基于区块链技术的车辆识别方法、系统及电子设备
CN112700558A (zh) * 2020-12-23 2021-04-23 深圳信息职业技术学院 一种基于区块链技术的车辆识别方法、系统及电子设备

Similar Documents

Publication Publication Date Title
CN107657059A (zh) 基于区块链应用系统的数据同步方法、中间件及系统
US8635250B2 (en) Methods and systems for deleting large amounts of data from a multitenant database
CN103077246B (zh) 一种基于Netty的大屏可视化平台数据推送系统
CN107678865A (zh) 基于交易分组的区块链的验证方法以及系统
CN109597842A (zh) 数据实时计算方法、装置、设备及计算机可读存储介质
CN105335389B (zh) 一种业务可视化方法及系统
CN102323894B (zh) 企业分布式应用间实现非阻塞方式相互调用的系统及方法
CN106156119A (zh) 一种分布式事务通信方法、系统及装置
CN105389325A (zh) 内容搜索方法和实施内容搜索方法的电子装置
CN106649488B (zh) 多数据源交互接口的调用方法及装置
CN108595316A (zh) 分布式应用的生命周期管理方法、管理器、设备和介质
CN107506218A (zh) 一种配置文件的管理方法及管理系统
CN109756461A (zh) 一种基于netty的远程过程调用方法
CN109684036A (zh) 一种容器集群管理方法、存储介质、电子设备及系统
CN107196772A (zh) 一种广播消息的方法及装置
CN108021583A (zh) 页面加载方法、页面操作指令的处理方法及客户端
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
CN108762913A (zh) 服务处理方法及装置
CN109033124A (zh) 一种数据迁移的方法及装置
CN107833051A (zh) 一种数据统计方法以及系统
CN109213493A (zh) 容器部署方法、特殊资源管理终端及可读存储介质
CN108712462A (zh) 一种连接建立方法、装置以及设备
CN114489997A (zh) 定时任务调度方法、装置、设备和介质
CN110084035A (zh) 用于在发生拒绝时建议响应指南的电子设备和方法
CN108197002A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180202