CN112231741A - 基于区块链系统的数据处理方法、装置、介质及电子设备 - Google Patents

基于区块链系统的数据处理方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN112231741A
CN112231741A CN202011462393.XA CN202011462393A CN112231741A CN 112231741 A CN112231741 A CN 112231741A CN 202011462393 A CN202011462393 A CN 202011462393A CN 112231741 A CN112231741 A CN 112231741A
Authority
CN
China
Prior art keywords
node
routing table
service
blockchain
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011462393.XA
Other languages
English (en)
Other versions
CN112231741B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011462393.XA priority Critical patent/CN112231741B/zh
Publication of CN112231741A publication Critical patent/CN112231741A/zh
Application granted granted Critical
Publication of CN112231741B publication Critical patent/CN112231741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请的实施例提供了一种基于区块链系统的数据处理方法、装置、介质及电子设备。该区块链系统包括记账节点网络和业务节点网络,以及连接在记账节点网络和业务节点网络之间的代理节点,该数据处理方法包括:接收认证授权中心颁发的节点证书,该节点证书中包含有节点类型和区块链主题标识;若目标节点所对应的区块链主题与区块链主题标识相匹配,则与目标节点的关联节点建立连接,该关联节点所对应的区块链主题与目标节点所对应的区块链主题相同;在与关联节点建立连接之后,根据与关联节点之间的交互维护目标节点的节点路由表;基于所述节点类型和节点路由表对区块链系统中的数据进行处理。本申请实施例的技术方案可以有效提高区块数据的安全性。

Description

基于区块链系统的数据处理方法、装置、介质及电子设备
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种基于区块链系统的数据处理方法、装置、介质及电子设备。
背景技术
相关技术中提出的区块链系统通常是由多个对等的节点组成的一个节点网络,网络中的节点通过点对点的方式进行连接,然而这种区块链系统不能有效地对区块数据进行隔离,降低了区块数据的安全性。
发明内容
本申请的实施例提供了一种基于区块链系统的数据处理方法、装置、介质及电子设备,进而至少在一定程度上可以有效提高区块数据的安全性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种基于区块链系统的数据处理方法,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述数据处理方法由所述区块链系统中的目标节点执行,所述数据处理方法包括:接收认证授权中心颁发的节点证书,所述节点证书中包含有节点类型和区块链主题标识,所述节点类型用于指示采用所述节点证书的节点被指定为记账节点、业务节点或代理节点;若所述目标节点所对应的区块链主题与所述区块链主题标识相匹配,则与所述目标节点的关联节点建立连接,所述关联节点所对应的区块链主题与所述目标节点所对应的区块链主题相同;在与所述关联节点建立连接之后,根据与所述关联节点之间的交互维护所述目标节点的节点路由表;基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理。
根据本申请实施例的一个方面,提供了一种基于区块链系统的数据处理装置,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述数据处理装置设置在所述区块链系统中的目标节点内,所述数据处理装置包括:接收单元,配置为接收认证授权中心颁发的节点证书,所述节点证书中包含有节点类型和区块链主题标识,所述节点类型用于指示采用所述节点证书的节点被指定为记账节点、业务节点或代理节点;连接建立单元,配置为在所述目标节点所对应的区块链主题与所述区块链主题标识相匹配时,与所述目标节点的关联节点建立连接,所述关联节点所对应的区块链主题与所述目标节点所对应的区块链主题相同;第一处理单元,配置为在与所述关联节点建立连接之后,根据与所述关联节点之间的交互维护所述目标节点的节点路由表;第二处理单元,配置为基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理。
在本申请的一些实施例中,基于前述方案,所述数据处理装置还包括:获取单元,配置为获取所述目标节点所对应区块链中的创世区块,将所述创世区块中所包含的区块链主题作为所述目标节点所对应的区块链主题,所述创世区块中包含的区块链主题是所述区块链系统中的区块链在启动时写入所述创世区块中的,且所述区块链主题具有唯一性。
在本申请的一些实施例中,基于前述方案,所述第一处理单元配置为:在与所述关联节点建立连接之后,与所述关联节点交换节点证书进行验证,以验证所述目标节点对应的区块链主题与所述关联节点对应的区块链主题是否相同;若对所述关联节点的节点证书验证通过,则获取所述关联节点的节点路由表;根据所述关联节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表。
在本申请的一些实施例中,基于前述方案,所述第一处理单元配置为:根据所述关联节点的节点路由表中所包含的节点信息,与所述关联节点的节点路由表中的指定节点建立连接;在与所述指定节点建立连接之后,与所述指定节点交换节点证书进行验证,在验证通过之后,获取所述指定节点的节点路由表;根据所述指定节点的信息,以及所述指定节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表。
在本申请的一些实施例中,基于前述方案,若所述节点类型指示采用所述节点证书的目标节点被指定为业务节点,则所述目标节点的节点路由表中包含有其它业务节点的信息和代理节点的信息;所述第二处理单元配置为:在需要将产生的交易信息发送至所述记账节点网络中时,根据所述节点路由表与至少一个代理节点建立连接;将所述交易信息发送给建立连接的代理节点,以使所述代理节点将所述交易信息转发至所述记账节点网络。
在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:在与所述至少一个代理节点建立连接之后,若预定时长内与所述至少一个代理节点没有数据交互,则断开与所述至少一个代理节点的连接。
在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:根据所述目标节点的节点路由表,与至少两个其它业务节点建立连接;与所述至少两个其它业务节点之间同步从代理节点接收到的区块头数据。
在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:根据所述目标节点的节点路由表,周期性的选择至少两个其它业务节点建立连接,以周期性地更新所连接到的其它业务节点。
在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:若获取到区块头数据,则根据所述区块头数据向所述代理节点请求获取与所述区块头数据对应的区块体数据。
在本申请的一些实施例中,基于前述方案,若所述节点类型指示采用所述节点证书的目标节点被指定为代理节点,则所述目标节点的节点路由表中包含有业务节点的信息和记账节点的信息;所述第二处理单元配置为:根据所述目标节点的节点路由表,与至少一个记账节点建立连接;将接收到的来自于业务节点的交易信息转发给建立连接的记账节点,并将从建立连接的记账节点中获取到的区块头数据转发给业务节点,以及在业务节点与建立连接的记账节点之间转发业务节点发送的数据索要请求及记账节点反馈的区块体数据。
在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:根据所述目标节点的节点路由表,周期性的选择至少一个记账节点建立连接,以周期性地更新所连接到的记账节点。
在本申请的一些实施例中,基于前述方案,若所述节点类型指示采用所述节点证书的目标节点被指定为记账节点,则所述目标节点的节点路由表中至少包含有其它记账节点的信息;所述第二处理单元配置为执行以下至少一个动作:接收代理节点转发的来自于业务节点的交易信息,对所述交易信息进行校验,并在校验通过之后广播给其它记账节点;将生成的区块头数据广播给代理节点,以使所述代理节点将所述区块头数据转发给业务节点;接收代理节点转发的来自于业务节点的数据索要请求,将所述数据索要请求对应的区块体数据通过所述代理节点发送给所述业务节点。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的基于区块链系统的数据处理方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的基于区块链系统的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的基于区块链系统的数据处理方法。
在本申请的一些实施例所提供的技术方案中,通过将区块链系统分为记账节点网络和业务节点网络,使得能够将区块链系统的记账过程与业务处理过程进行分离,进而既能够通过去中心化的记账节点子网络来维护全量的数据区块,保证了数据区块的安全性,同时也能够通过业务节点网络来实现灵活的数据访问。
同时,目标节点通过接收认证授权中心颁发的节点证书,且在目标节点所对应的区块链主题与节点证书中包含的区块链主题标识相匹配时,与目标节点的关联节点建立连接,然后根据与关联节点之间的交互维护目标节点的节点路由表,并基于节点路由表和节点证书中包含的节点类型对区块链系统中的数据进行处理,使得能够通过节点证书中包含的节点类型及区块链主题标识有效的对节点进行管理,实现了对记账节点网络和业务节点网络的隔离,进而能够保证记账节点网络中的区块数据的安全性,并且也能够通过节点证书中的节点类型灵活地调整各节点的角色,提高了区块链系统的拓扑结构的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了区块链网络的结构示意图。
图2示出了区块链中各区块的连接关系示意图。
图3示出了生成一个区块的过程示意图。
图4至图6示出了本申请实施例所应用的区块链系统的体系构架图。
图7示出了根据本申请的一个实施例的电子发票系统的示意图。
图8示出了根据本申请的一个实施例的区块链系统的数据处理方法的流程图。
图9示出了根据本申请的一个实施例的区块链系统的结构图。
图10示出了根据本申请的一个实施例的区块链系统的数据处理装置的框图。
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
参见图1所示的区块链网络,该区块链网络中可以包括多个节点101,多个节点101可以是形成区块链网络的各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图2所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3所示,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
Figure DEST_PATH_IMAGE001
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其它节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其它节点,由其它节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
区块链网络中各个节点可以是服务器,也可以是终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
前述的云计算是指IT基础设施的交付和使用模式,具体指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
基于区块链技术,本申请的实施例提出了一种区块链系统的体系架构。如图4所示,该区块链系统包括记账节点网络2和业务节点网络1。记账节点网络2包括对数据区块进行共识并将数据区块记录到区块链上的记账节点21。业务节点网络1包括业务节点11,业务节点11可以对记账节点记录到区块链上的数据区块进行验证,或者可以向记账节点请求相应的交易数据。
具体的,业务节点11对记账节点记录到区块链上的数据区块进行验证可以包括以下步骤:记账节点网络中的一个记账节点21利用特定于该记账节点的密钥,基于要添加到区块链上的一个数据区块中所要包括的交易信息,生成签名;记账节点21将交易信息和生成的签名加入数据区块,添加到区块链上;记账节点21将该签名发往业务节点网络中的业务节点,业务节点根据特定于该记账节点的密钥对该签名进行签名验证,以实现业务节点11对记账节点记录到区块链上的数据区块进行验证。记账节点网络中的记账节点负责向区块链记录数据区块,业务节点网络中的业务节点负责见证记账节点记录的结果。具体地,记账节点基于要添加到区块链上的一个数据区块中所要包括的交易信息,生成签名,然后将交易信息和生成的签名加入数据区块,进行上链。并将该签名发往业务节点网络中的业务节点,使业务节点根据特定于该记账节点的密钥对该签名进行签名验证。业务节点网络中的业务节点通过验证区块上记账节点签名可以对全网的交易数据进行见证。记账节点网络虽然拥有垄断的记账权,但是因为数据区块有了代表记账者身份的数字签名,所以一切行为都是公开可追溯的。如果记账节点集体作恶,那么业务节点网络中的全部节点都将保留有具体记账节点作恶的证据。相比传统中心化系统和私有链,本申请实施例中系统的运转是更加透明的;而相比传统的去中心化方案,本方案是更可控也更便于可监管的。
在本申请的一个实施例中,记账节点网络2和业务节点网络1之间可以通过代理节点12连接,代理节点12可以是业务节点网络1的一个业务节点,其负责将记账节点21要向业务节点11传递的信息传递给业务节点11。业务节点11是产生各种需上链的交易数据的交易方的终端,也可以是从记账节点网络2中查询交易数据的终端。业务节点11产生的交易数据在通过代理节点12传输至记账节点21,然后经过共识后记录到区块链上,有利于交易数据的统一处理和监管,而业务节点11也可以通过记账节点21经由代理节点12发送来的信息进行交易数据上链的监督和见证,这在某些既需要统一监管、但又怕监管的节点集体作弊因而需要监督的场景中有十分重要的意义。
在图1所示的结构中,业务节点网络1采用P2P(Peer to Peer,对等网络)网络模式。P2P网络是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式,即“点对点”或者“端对端”网络。其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。因此,在业务节点网络1中,当代理节点12接收到从记账节点21传递过来的消息后,向周围的业务节点11进行传播,周围的业务节点11接收到该消息,再向其周围的业务节点11传递,达到了该消息在业务节点网络1的每个业务节点11之间的传播。
图5示出了本申请实施例所应用的另一种区块链系统的体系构架。该体系构架与图4中所示的体系构架不同之处在于:在业务节点网络1中没有采取P2P网络模式,而是采取广播网络的模式。具体地,代理节点12在接收到从记账节点21传递过来的消息后,将该消息广播到业务节点网络1中的其它业务节点11。这样,也实现了该消息在业务节点网络1的每个业务节点11之间的传播。
图6示出了本发明实施例所应用的另一种区块链系统的体系构架。该体系构架与图4所示的体系构架不同之处在于:其记账节点网络2分成了多个分支记账节点网络。每个分支记账节点网络可以负责某一种类型的交易信息的记录。例如,某一企业可能具有供应链金融业务,可能需要将供销过程中产生的合同信息、货款赊欠等信息记录到区块链上,同时该企业还要开具发票,也要把开票信息、发票报销信息等记录到区块链上。这时,为了有利于记账节点被同一部门监管的需要,可能记录供应链金融业务交易的记账节点和记录发票流转过程中的交易的记账节点要分属于不同部门。例如,记录供应链金融业务交易的记账节点是银行设置的记账终端,而记录发票流转过程中的交易的记账节点是国税局设置的记账终端。而供应链金融业务交易和记录发票流转过程中的交易可能也最终会记录在不同分支的记账节点网络上。这时,代理节点12要根据从业务节点11发来的交易信息中携带的交易类型,将该交易信息发送到与该交易类型对应的分支记账节点网络中。
需要说明的是,在图4至图6所示的区块链系统的体系构架中,代理节点12位于业务节点网络1中,在本申请的其它实施例中,代理节点12也可以位于共识节点网络2中,或者独立于业务节点网络1和共识节点网络2。
图4至6所示的区块链系统的体系架构可以应用在电子发票的应用场景中,以下详细进行阐述:
在本申请的一个实施例中,记账节点网络中的记账节点可以是各个税务总局终端,比如由部署在多个地区的税务总局终端分别作为一个记账节点来构成记账节点网络。业务节点网络中的各个业务节点可以是地方税局终端、开票代理服务商终端、开票企业终端、个人用户终端等。
具体而言,在图7所示的电子发票系统中,可以包括业务层、路由代理层和共识网络(记账网络)层。其中,业务层即为业务节点网络,其中包含了各个业务节点,比如可以是处于税务专网中的地方税局;处于公有云中的开票服务商、报销服务商、企业等;处于私有云中的支付服务商、流转服务商、企业等。
路由代理层中包含了代理节点,代理节点提供了路由服务、证书缓存和认证服务、P2P服务等功能,路由代理层起到对业务层和共识网络层的隔离作用,具体参照前述实施例的技术方案。可选地,路由代理层中的代理节点可以处于税务专网中。共识网络(记账网络)层即为记账节点网络,其中包含了多个区块链,当然在本申请的其它实施例中,共识网络(记账网络)层中也可以包含一个区块链。
在本申请的一个实施例中,电子发票系统中的共识网络(记账网络)中可以包含多个区块链,这多个区块链可以按照时间序列进行分链,比如同一个业务按照时间进行分链,其中业务参与方一致,并且两个区块链采用相同的CA(Certificate Authority,认证授权)中心作为发票业务体系的认证和授权方。当然,在本申请的一个实施例中,可以按照不同的业务进行分链,比如业务A对应一条区块链、业务B对应一条区块链,并且业务之间还可以跨链交互。
在本申请的一个实施例中,为了实现对包含记账节点网络和业务节点网络的区块链系统的有效管理,本申请的实施例提供了如下的解决方案:
图8示出了根据本申请的一个实施例的区块链系统的数据处理方法的流程图,该区块链系统的结构可以如图4至图6所示,其中包括记账节点网络和业务节点网络,以及连接在记账节点网络和业务节点网络之间的代理节点。图8所示的区块链系统的数据处理方法可以由目标节点来执行,该目标节点可以是整个区块链系统中的任意一个节点。
具体地,参照图8所示,该区块链系统的数据处理方法至少包括步骤S810至步骤S840,详细介绍如下:
在步骤S810中,接收认证授权中心颁发的节点证书,该节点证书中包含有节点类型和区块链主题标识,该节点类型用于指示采用节点证书的节点被指定为记账节点、业务节点或代理节点。
在本申请的一个实施例中,区块链系统中的节点可以在启动前从认证授权(即CA)中心获取CA中心颁发的节点证书。该节点证书中的节点类型会指示节点的角色,即该节点是作为记账节点、还是业务节点、或者是代理节点。同时节点证书中的区块链主题标识也规定了节点允许参与的区块链的主题标识,进而可以实现节点与不同区块链之间的隔离。
在步骤S820中,若目标节点所对应的区块链主题与区块链主题标识相匹配,则与目标节点的关联节点建立连接,该关联节点所对应的区块链主题与目标节点所对应的区块链主题相同。
在本申请的一个实施例中,目标节点所对应的区块链主题可以是目标节点当前所参与的区块链的主题,比如目标节点当前获取到的区块数据所对应的区块链主题。具体而言,区块链在启动时,可以将该链的具有唯一性的区块链主题写入创世区块中,那么目标节点可以获取对应的区块链中的创世区块,然后将创世区块中所包含的区块链主题作为目标节点所对应的区块链主题。
在步骤S830中,在与关联节点建立连接之后,根据与关联节点之间的交互维护目标节点的节点路由表。
在本申请的一个实施例中,目标节点在与关联节点建立连接之后,可以与关联节点交换节点证书进行验证,具体是验证目标节点对应的区块链主题与关联节点对应的区块链主题是否相同,如果对关联节点的节点证书验证通过,即目标节点对应的区块链主题与关联节点对应的区块链主题相同,则获取关联节点的节点路由表,然后根据关联节点的节点路由表中所包含的节点信息,更新目标节点的节点路由表。
需要说明的是,各节点的节点路由表中存储有与节点相关的其它节点的信息,如地址信息等。具体而言,业务节点的节点路由表中可以包含有其它业务节点的信息和代理节点的信息;代理节点的节点路由表中包含有业务节点的信息和记账节点的信息;记账节点的节点路由表中至少包含有其它记账节点的信息,还可以包含有代理节点的信息。
在本申请的一个实施例中,目标节点根据关联节点的节点路由表中所包含的节点信息,更新目标节点的节点路由表的过程,具体可以是根据关联节点的节点路由表中所包含的节点信息,与关联节点的节点路由表中的指定节点建立连接,在与指定节点建立连接之后,与指定节点交换节点证书进行验证,在验证通过之后,获取指定节点的节点路由表,然后根据指定节点的信息,以及指定节点的节点路由表中所包含的节点信息,更新目标节点的节点路由表。
在该实施例的技术方案中,目标节点可以根据分别与关联节点的节点路由表中的指定节点建立连接,其中的指定节点可以根据目标节点的节点类型来确定,比如若目标节点是业务节点,那么指定节点可以是其它业务节点和代理节点;若目标节点是代理节点,那么指定节点可以是业务节点和记账节点;若目标节点是记账节点,那么指定节点可以是其它记账节点和代理节点等。可选地,目标节点与指定节点交换节点证书进行验证的过程具体可以是验证目标节点对应的区块链主题与该指定节点对应的区块链主题是否相同,如果目标节点对应的区块链主题与该指定节点对应的区块链主题相同,那么说明验证通过。
继续参照图8所示,在步骤S840中,基于节点类型和节点路由表,对区块链系统中的数据进行处理。
在本申请的实施例中,由于节点类型的不同,节点进行数据处理的过程也不相同,具体地,以下分别从业务节点、代理节点和记账节点的角度进行详细阐述:
在本申请的一个实施例中,如果节点类型指示采用节点证书的目标节点被指定为业务节点,那么目标节点的节点路由表中包含有其它业务节点的信息和代理节点的信息。在这种情况下,目标节点基于节点类型和节点路由表,对区块链系统中的数据进行处理的过程可以是:在需要将产生的交易信息发送至记账节点网络中时,根据节点路由表与至少一个代理节点建立连接,然后将交易信息发送给建立连接的代理节点,以使代理节点将交易信息转发至记账节点网络。比如,目标节点可以根据节点路由表中包含的代理节点的信息来与代理节点建立连接,为了保证发送交易信息的稳定性,目标节点可以与两个或者两个以上的代理节点建立连接,并向这些建立连接的代理节点发送交易信息。
在本申请的一个实施例中,如果目标节点是业务节点,那么目标节点在与至少一个代理节点建立连接之后,若预定时长内与至少一个代理节点没有数据交互,则可以断开与该至少一个代理节点的连接,以减少对通信资源的占用。
在本申请的一个实施例中,如果目标节点是业务节点,那么目标节点还可以根据目标节点的节点路由表,与至少两个其它业务节点建立连接,然后与至少两个其它业务节点之间同步从代理节点接收到的区块头数据。其中,代理节点发送给业务节点的区块头数据来自于记账节点网络,具体地,记账节点网络中的记账节点在根据交易信息生成区块数据并共识上链之后,可以将区块头数据发送给代理节点,由代理节点转发给业务节点,进而业务节点可以在业务节点网络之间同步区块头数据。
在本申请的一个实施例中,如果目标节点是业务节点,那么目标节点可以根据目标节点的节点路由表,周期性的选择至少两个其它业务节点建立连接,以周期性地更新所连接到的其它业务节点。比如同一时间可以保持若干个与其它业务节点之间的连接,然后过一段时间,重新更换所连接的其它业务节点,这样可以避免一直连接相同的业务节点而导致出现女巫攻击的问题。
在本申请的一个实施例中,如果目标节点是业务节点,那么目标节点在获取到区块头数据之后,可以根据区块头数据向代理节点请求获取与区块头数据对应的区块体数据。具体而言,目标节点获取的区块头数据可以是从其它业务节点同步过来的,也可以是从代理节点接收到的。并且,目标节点可以根据区块头数据向代理节点请求获取与自身相关的区块体数据。
在本申请的一个实施例中,如果节点类型指示采用节点证书的目标节点被指定为代理节点,那么目标节点的节点路由表中包含有业务节点的信息和记账节点的信息。在这种情况下,目标节点基于节点类型和节点路由表,对区块链系统中的数据进行处理的过程可以是:根据目标节点的节点路由表,与至少一个记账节点建立连接;将接收到的来自于业务节点的交易信息转发给建立连接的记账节点,并将从建立连接的记账节点中获取到的区块头数据转发给业务节点,以及在业务节点与建立连接的记账节点之间转发业务节点发送的数据索要请求及记账节点反馈的区块体数据。即代理节点的主要功能是在业务节点与记账节点之间进行数据的中转。
在本申请的一个实施例中,如果目标节点是业务节点,那么目标节点可以根据目标节点的节点路由表,周期性的选择至少一个记账节点建立连接,以周期性地更新所连接到的记账节点。该实施例的技术方案同样可以避免出现女巫攻击的问题。
在本申请的一个实施例中,如果节点类型指示采用节点证书的目标节点被指定为记账节点,那么目标节点的节点路由表中至少包含有其它记账节点的信息。在这种情况下,目标节点基于节点类型和节点路由表,对区块链系统中的数据进行处理的过程可以是:接收代理节点转发的来自于业务节点的交易信息,然后对交易信息进行校验,并在校验通过之后广播给其它记账节点,以便于后续由提案节点生成区块并进行共识上链处理。并且目标节点也可以将记账节点网络中生成的区块头数据广播给代理节点,以使代理节点将区块头数据转发给业务节点。同时,目标节点也可以接收代理节点转发的来自于业务节点的数据索要请求,然后将数据索要请求对应的区块体数据通过代理节点发送给业务节点。
综上,本申请实施例的技术方案主要是在分层的区块链系统中,将P2P节点分为记账节点、代理节点和业务节点,并且根据这三种节点角色,基于不同的证书权限实现网络分层,进而使得不同角色之间的网络流量相隔离。如图9所示,根据不同节点的角色来实现记账节点网络和业务节点网络的分层区块链系统,具体过程如下:
在本申请的一个实施例中,P2P节点在启动前,需要从CA获得给该节点所颁发的节点证书,在该节点证书中写入了两类额外的信息:该证书所代表的节点类型(即是业务节点、代理节点还是记账节点);该证书允许接入的P2P网络的topic id(主题标识)。
在本申请的一个实施例中,当区块链启动时,将该链的topic id写入创世块中,比如topic id=a1b2c3等,其中每一条链的topic id不重复。
在本申请的一个实施例中,当P2P节点启动时,需要读取自身的证书,然后进行校验,即判断本节点的创世块中的topic id和证书中所允许的topic id是否相等,如果相等,则可以启动;如果不相同,可能是获取到了其它链上的证书来启动本链的节点,这种情况是不允许的。
在本申请的一个实施例中,当P2P节点允许启动后,P2P节点可以配置1到多个与自己处于同一个topic的节点作为种子节点(即前述实施例中的关联节点),当P2P节点启动后可以第一时间与种子节点相连接,并获取对方的P2P路由表。
在本申请的一个实施例中,P2P节点之间建立连接时,首先建立一个TCP(Transmission Control Protocol,传输控制协议)连接进行简单握手,随后交换证书进行验证,检查对方证书是否与自己所加入的topic所匹配。
在本申请的一个实施例中,P2P路由表可以分为3个部分:业务节点表、代理节点表和记账节点表。
其中,业务节点的P2P路由表中只需存储业务节点表和代理节点表,其中的记账节点表的数据无法获得,表为空表。当业务节点有业务交易需要上链时,可以与2个以上的代理节点建立连接(当然也可以是与1个代理节点建立连接),如果长时间无交易业务,则可以缓慢放弃与代理节点之间的连接,以减少对资源的占用,但会一直维持代理节点表,直到有业务要继续上链才恢复与代理节点的连接。同时,每个业务节点可以与其它业务节点采取循环有限连接的方式,即同一时间保持10-15个(数值仅为示例)与其它业务节点之间的连接,并定期释放连接,然后尝试连接P2P路由表中其它的业务节点,避免女巫攻击。
在业务节点网络内,业务节点之间可以广播自身区块头的最新高度,互相索要最新的区块头数据,该数据是全网公开的。业务节点发起的上链交易可以通过P2P连接发送给任意一个代理节点,并且业务节点在得到某个高度h的区块头数据后,可以有序向代理节点索要高度h的区块体中与自己有关的数据。
代理节点的P2P路由表中可以存储记账节点表(其中可以包含全部的记账节点),以及业务节点表(其中可以仅包含部分业务节点)。由于业务节点的数量较多,代理节点可以仅为业务节点提供少量其它业务节点的地址信息,更多业务节点的地址信息可以由业务节点自行交换获得。并且,代理节点也不主动连接业务节点,只是等待业务节点的连接,同时代理节点可以主动随机连接有限个记账节点,且定期释放连接轮换连接其它记账节点,以避免女巫攻击。
同时,代理节点需要向记账节点获取最新区块头数据,然后向业务节点提供最新区块头数据,但不从业务节点同步区块头数据。并且代理节点在接收到业务节点向其发送的上链交易信息、并对交易信息做一定校验后,转发给其当前所连接的记账节点,其中代理节点不获取具体交易数据。此外,代理节点在接收到业务节点向其发送的区块数据索要请求之后,将该索要请求转发给记账节点,当接收到记账节点返回的结果之后再转发给业务节点。
记账节点的P2P路由表中包含有记账节点表和代理节点表。记账节点不主动连接代理节点,也不连接业务节点。同时,记账节点的共识层中还维护着当前参与共识的节点,共识模块会要求记账节点连接所有当前参与共识的节点。即记账节点会与全部的共识节点进行连接,但是记账节点之间则仅为部分连接,当然记账节点之间也可以全部连接。
记账节点会向其它记账节点以及代理节点广播最新区块头高度,以及提供区块头数据。并且,当记账节点从代理节点接收到上链交易信息后,会对上链交易信息进行校验,当校验成功后加入交易池,并广播给所有与之连接的记账节点。同时,记账节点在从代理节点接收到区块数据索取请求之后,基于该索要请求向代理节点返回相应的数据。
本申请上述实施例的技术方案使得业务节点网络中的流量不影响到记账节点网络的流量状态和稳定性,有效保证共识网络的高效运行。同时,由于分层网络基于证书中的topic分层,因此可以更加有效隔离恶意节点向记账节点网络的连接,除了依靠网络结构以及代理节点的校验判断逻辑之外,相关节点还可以直接拒绝非自身topic的P2P连接。而通过由证书启动节点,以及将topic id写入创世块中,使得安全逻辑更加完备,外部节点可有效信任分层区块链,并且每个节点可以基于证书权限等来改变自己的角色,拓扑结构更加灵活。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于区块链系统的数据处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的基于区块链系统的数据处理方法的实施例。
图10示出了根据本申请的一个实施例的基于区块链系统的数据处理装置的框图,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述数据处理装置设置在所述区块链系统中的目标节点内。
参照图10所示,根据本申请的一个实施例的基于区块链系统的数据处理装置1000,包括:接收单元1002、连接建立单元1004、第一处理单元1006和第二处理单元1008。
其中,接收单元1002配置为接收认证授权中心颁发的节点证书,所述节点证书中包含有节点类型和区块链主题标识,所述节点类型用于指示采用所述节点证书的节点被指定为记账节点、业务节点或代理节点;连接建立单元1004配置为在所述目标节点所对应的区块链主题与所述区块链主题标识相匹配时,与所述目标节点的关联节点建立连接,所述关联节点所对应的区块链主题与所述目标节点所对应的区块链主题相同;第一处理单元1006配置为在与所述关联节点建立连接之后,根据与所述关联节点之间的交互维护所述目标节点的节点路由表;第二处理单元1008配置为基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理。
在本申请的一些实施例中,基于前述方案,所述数据处理装置1000还包括:获取单元,配置为获取所述目标节点所对应区块链中的创世区块,将所述创世区块中所包含的区块链主题作为所述目标节点所对应的区块链主题,所述创世区块中包含的区块链主题是所述区块链系统中的区块链在启动时写入所述创世区块中的,且所述区块链主题具有唯一性。
在本申请的一些实施例中,基于前述方案,第一处理单元1006配置为:在与所述关联节点建立连接之后,与所述关联节点交换节点证书进行验证,以验证所述目标节点对应的区块链主题与所述关联节点对应的区块链主题是否相同;若对所述关联节点的节点证书验证通过,则获取所述关联节点的节点路由表;根据所述关联节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表。
在本申请的一些实施例中,基于前述方案,第一处理单元1006配置为:根据所述关联节点的节点路由表中所包含的节点信息,与所述关联节点的节点路由表中的指定节点建立连接;在与所述指定节点建立连接之后,与所述指定节点交换节点证书进行验证,在验证通过之后,获取所述指定节点的节点路由表;根据所述指定节点的信息,以及所述指定节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表。
在本申请的一些实施例中,基于前述方案,若所述节点类型指示采用所述节点证书的目标节点被指定为业务节点,则所述目标节点的节点路由表中包含有其它业务节点的信息和代理节点的信息;第二处理单元1008配置为:在需要将产生的交易信息发送至所述记账节点网络中时,根据所述节点路由表与至少一个代理节点建立连接;将所述交易信息发送给建立连接的代理节点,以使所述代理节点将所述交易信息转发至所述记账节点网络。
在本申请的一些实施例中,基于前述方案,第二处理单元1008还配置为:在与所述至少一个代理节点建立连接之后,若预定时长内与所述至少一个代理节点没有数据交互,则断开与所述至少一个代理节点的连接。
在本申请的一些实施例中,基于前述方案,第二处理单元1008还配置为:根据所述目标节点的节点路由表,与至少两个其它业务节点建立连接;与所述至少两个其它业务节点之间同步从代理节点接收到的区块头数据。
在本申请的一些实施例中,基于前述方案,第二处理单元1008配置为:根据所述目标节点的节点路由表,周期性的选择至少两个其它业务节点建立连接,以周期性地更新所连接到的其它业务节点。
在本申请的一些实施例中,基于前述方案,第二处理单元1008还配置为:若获取到区块头数据,则根据所述区块头数据向所述代理节点请求获取与所述区块头数据对应的区块体数据。
在本申请的一些实施例中,基于前述方案,若所述节点类型指示采用所述节点证书的目标节点被指定为代理节点,则所述目标节点的节点路由表中包含有业务节点的信息和记账节点的信息;第二处理单元1008配置为:根据所述目标节点的节点路由表,与至少一个记账节点建立连接;将接收到的来自于业务节点的交易信息转发给建立连接的记账节点,并将从建立连接的记账节点中获取到的区块头数据转发给业务节点,以及在业务节点与建立连接的记账节点之间转发业务节点发送的数据索要请求及记账节点反馈的区块体数据。
在本申请的一些实施例中,基于前述方案,第二处理单元1008配置为:根据所述目标节点的节点路由表,周期性的选择至少一个记账节点建立连接,以周期性地更新所连接到的记账节点。
在本申请的一些实施例中,基于前述方案,若所述节点类型指示采用所述节点证书的目标节点被指定为记账节点,则所述目标节点的节点路由表中至少包含有其它记账节点的信息;第二处理单元1008配置为执行以下至少一个动作:接收代理节点转发的来自于业务节点的交易信息,对所述交易信息进行校验,并在校验通过之后广播给其它记账节点;将生成的区块头数据广播给代理节点,以使所述代理节点将所述区块头数据转发给业务节点;接收代理节点转发的来自于业务节点的数据索要请求,将所述数据索要请求对应的区块体数据通过所述代理节点发送给所述业务节点。
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input /Output,I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (15)

1.一种基于区块链系统的数据处理方法,其特征在于,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述数据处理方法由所述区块链系统中的目标节点执行,所述数据处理方法包括:
接收认证授权中心颁发的节点证书,所述节点证书中包含有节点类型和区块链主题标识,所述节点类型用于指示采用所述节点证书的节点被指定为记账节点、业务节点或代理节点;
若所述目标节点所对应的区块链主题与所述区块链主题标识相匹配,则与所述目标节点的关联节点建立连接,所述关联节点所对应的区块链主题与所述目标节点所对应的区块链主题相同;
在与所述关联节点建立连接之后,根据与所述关联节点之间的交互维护所述目标节点的节点路由表;
基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理。
2.根据权利要求1所述的基于区块链系统的数据处理方法,其特征在于,所述数据处理方法还包括:
获取所述目标节点所对应区块链中的创世区块;
将所述创世区块中所包含的区块链主题作为所述目标节点所对应的区块链主题,所述创世区块中包含的区块链主题是所述区块链系统中的区块链在启动时写入所述创世区块中的,且所述区块链主题具有唯一性。
3.根据权利要求1所述的基于区块链系统的数据处理方法,其特征在于,根据与所述关联节点之间的交互维护所述目标节点的节点路由表,包括:
在与所述关联节点建立连接之后,与所述关联节点交换节点证书进行验证,以验证所述目标节点对应的区块链主题与所述关联节点对应的区块链主题是否相同;
若对所述关联节点的节点证书验证通过,则获取所述关联节点的节点路由表;
根据所述关联节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表。
4.根据权利要求3所述的基于区块链系统的数据处理方法,其特征在于,根据所述关联节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表,包括:
根据所述关联节点的节点路由表中所包含的节点信息,与所述关联节点的节点路由表中的指定节点建立连接;
在与所述指定节点建立连接之后,与所述指定节点交换节点证书进行验证,在验证通过之后,获取所述指定节点的节点路由表;
根据所述指定节点的信息,以及所述指定节点的节点路由表中所包含的节点信息,更新所述目标节点的节点路由表。
5.根据权利要求1所述的基于区块链系统的数据处理方法,其特征在于,若所述节点类型指示采用所述节点证书的目标节点被指定为业务节点,则所述目标节点的节点路由表中包含有其它业务节点的信息和代理节点的信息;
基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理,包括:
在需要将产生的交易信息发送至所述记账节点网络中时,根据所述节点路由表与至少一个代理节点建立连接;
将所述交易信息发送给建立连接的代理节点,以使所述代理节点将所述交易信息转发至所述记账节点网络。
6.根据权利要求5所述的基于区块链系统的数据处理方法,其特征在于,所述数据处理方法还包括:
在与所述至少一个代理节点建立连接之后,若预定时长内与所述至少一个代理节点没有数据交互,则断开与所述至少一个代理节点的连接。
7.根据权利要求5所述的基于区块链系统的数据处理方法,其特征在于,所述数据处理方法还包括:
根据所述目标节点的节点路由表,与至少两个其它业务节点建立连接;
与所述至少两个其它业务节点之间同步从代理节点接收到的区块头数据。
8.根据权利要求7所述的基于区块链系统的数据处理方法,其特征在于,根据所述目标节点的节点路由表,与至少两个其它业务节点建立连接,包括:
根据所述目标节点的节点路由表,周期性的选择至少两个其它业务节点建立连接,以周期性地更新所连接到的其它业务节点。
9.根据权利要求5所述的基于区块链系统的数据处理方法,其特征在于,所述数据处理方法还包括:
若获取到区块头数据,则根据所述区块头数据向所述代理节点请求获取与所述区块头数据对应的区块体数据。
10.根据权利要求1所述的基于区块链系统的数据处理方法,其特征在于,若所述节点类型指示采用所述节点证书的目标节点被指定为代理节点,则所述目标节点的节点路由表中包含有业务节点的信息和记账节点的信息;
基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理,包括:
根据所述目标节点的节点路由表,与至少一个记账节点建立连接;
将接收到的来自于业务节点的交易信息转发给建立连接的记账节点,并将从建立连接的记账节点中获取到的区块头数据转发给业务节点,以及在业务节点与建立连接的记账节点之间转发业务节点发送的数据索要请求及记账节点反馈的区块体数据。
11.根据权利要求10所述的基于区块链系统的数据处理方法,其特征在于,根据所述目标节点的节点路由表,与至少一个记账节点建立连接,包括:
根据所述目标节点的节点路由表,周期性的选择至少一个记账节点建立连接,以周期性地更新所连接到的记账节点。
12.根据权利要求1所述的基于区块链系统的数据处理方法,其特征在于,若所述节点类型指示采用所述节点证书的目标节点被指定为记账节点,则所述目标节点的节点路由表中至少包含有其它记账节点的信息;
基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理,包括以下至少一种:
接收代理节点转发的来自于业务节点的交易信息,对所述交易信息进行校验,并在校验通过之后广播给其它记账节点;
将生成的区块头数据广播给代理节点,以使所述代理节点将所述区块头数据转发给业务节点;
接收代理节点转发的来自于业务节点的数据索要请求,将所述数据索要请求对应的区块体数据通过所述代理节点发送给所述业务节点。
13.一种基于区块链系统的数据处理装置,其特征在于,所述区块链系统包括记账节点网络和业务节点网络,以及连接在所述记账节点网络和所述业务节点网络之间的代理节点,所述数据处理装置设置在所述区块链系统中的目标节点内,所述数据处理装置包括:
接收单元,配置为接收认证授权中心颁发的节点证书,所述节点证书中包含有节点类型和区块链主题标识,所述节点类型用于指示采用所述节点证书的节点被指定为记账节点、业务节点或代理节点;
连接建立单元,配置为在所述目标节点所对应的区块链主题与所述区块链主题标识相匹配时,与所述目标节点的关联节点建立连接,所述关联节点所对应的区块链主题与所述目标节点所对应的区块链主题相同;
第一处理单元,配置为在与所述关联节点建立连接之后,根据与所述关联节点之间的交互维护所述目标节点的节点路由表;
第二处理单元,配置为基于所述节点类型和所述节点路由表,对所述区块链系统中的数据进行处理。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的基于区块链系统的数据处理方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的基于区块链系统的数据处理方法。
CN202011462393.XA 2020-12-14 2020-12-14 基于区块链系统的数据处理方法、装置、介质及电子设备 Active CN112231741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011462393.XA CN112231741B (zh) 2020-12-14 2020-12-14 基于区块链系统的数据处理方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011462393.XA CN112231741B (zh) 2020-12-14 2020-12-14 基于区块链系统的数据处理方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN112231741A true CN112231741A (zh) 2021-01-15
CN112231741B CN112231741B (zh) 2021-03-19

Family

ID=74124515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011462393.XA Active CN112231741B (zh) 2020-12-14 2020-12-14 基于区块链系统的数据处理方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN112231741B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112396423A (zh) * 2021-01-20 2021-02-23 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备及存储介质
CN112532753A (zh) * 2021-02-09 2021-03-19 腾讯科技(深圳)有限公司 区块链系统的数据同步方法、装置、介质及电子设备
CN113347630A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种基于区块链的通信方法
CN113364693A (zh) * 2021-08-11 2021-09-07 国网电子商务有限公司 一种基于类型属性信息的区块链数据分发方法及系统
CN113518005A (zh) * 2021-06-22 2021-10-19 腾讯科技(深圳)有限公司 一种区块共识方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733855A (zh) * 2017-08-31 2018-02-23 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
CN108540536A (zh) * 2018-03-16 2018-09-14 深圳前海微众银行股份有限公司 基于区块链的网络海量业务处理方法、设备及存储介质
CN109635585A (zh) * 2018-12-07 2019-04-16 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、代理节点和介质
CN109948371A (zh) * 2019-03-07 2019-06-28 深圳市智税链科技有限公司 为区块链节点发放身份证书的方法及相关装置
CN110535872A (zh) * 2019-09-12 2019-12-03 腾讯科技(深圳)有限公司 在区块链网络中处理数据请求的方法和装置
CN110602234A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 区块链网络节点管理方法、装置、设备以及存储介质
CN111556120A (zh) * 2020-04-23 2020-08-18 财付通支付科技有限公司 基于区块链的数据处理方法、装置、存储介质及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733855A (zh) * 2017-08-31 2018-02-23 中国科学院信息工程研究所 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
CN108540536A (zh) * 2018-03-16 2018-09-14 深圳前海微众银行股份有限公司 基于区块链的网络海量业务处理方法、设备及存储介质
CN109635585A (zh) * 2018-12-07 2019-04-16 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、代理节点和介质
CN109948371A (zh) * 2019-03-07 2019-06-28 深圳市智税链科技有限公司 为区块链节点发放身份证书的方法及相关装置
CN110535872A (zh) * 2019-09-12 2019-12-03 腾讯科技(深圳)有限公司 在区块链网络中处理数据请求的方法和装置
CN111010382A (zh) * 2019-09-12 2020-04-14 腾讯科技(深圳)有限公司 在区块链网络中处理数据请求的方法和装置
CN110602234A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 区块链网络节点管理方法、装置、设备以及存储介质
CN111556120A (zh) * 2020-04-23 2020-08-18 财付通支付科技有限公司 基于区块链的数据处理方法、装置、存储介质及设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112396423A (zh) * 2021-01-20 2021-02-23 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备及存储介质
CN112396423B (zh) * 2021-01-20 2021-04-13 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备及存储介质
CN112532753A (zh) * 2021-02-09 2021-03-19 腾讯科技(深圳)有限公司 区块链系统的数据同步方法、装置、介质及电子设备
CN112532753B (zh) * 2021-02-09 2021-05-07 腾讯科技(深圳)有限公司 区块链系统的数据同步方法、装置、介质及电子设备
CN113347630A (zh) * 2021-06-01 2021-09-03 永旗(北京)科技有限公司 一种基于区块链的通信方法
CN113518005A (zh) * 2021-06-22 2021-10-19 腾讯科技(深圳)有限公司 一种区块共识方法、装置、设备及存储介质
CN113364693A (zh) * 2021-08-11 2021-09-07 国网电子商务有限公司 一种基于类型属性信息的区块链数据分发方法及系统

Also Published As

Publication number Publication date
CN112231741B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112232823B (zh) 区块链系统的交易处理方法、装置、介质及电子设备
CN112231741B (zh) 基于区块链系统的数据处理方法、装置、介质及电子设备
CN112000976B (zh) 区块链系统的认证管理方法、装置、介质及电子设备
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
CN111028023B (zh) 基于区块链系统的税务管理方法、装置、介质及电子设备
CN109658097B (zh) 区块链系统的认证管理方法、装置、介质及电子设备
CN112287031B (zh) 区块链系统的数据同步方法、装置、可读介质及电子设备
CN112291376B (zh) 区块链系统中的数据处理方法及相关设备
KR102569409B1 (ko) 가상 분산 원장 네트워크를 위한 시스템 및 방법
CN112532753B (zh) 区块链系统的数据同步方法、装置、介质及电子设备
CN109379381B (zh) 区块链系统的数据管理方法、装置、介质及电子设备
CN112231414B (zh) 区块链系统的数据同步方法、装置、可读介质及电子设备
CN116150260A (zh) 区块链系统的数据处理方法、装置、介质及电子设备
CN114567643A (zh) 跨区块链的数据流转方法、装置及相关设备
CN112565104B (zh) 区块链系统的流量控制方法、装置、介质及电子设备
Xiao et al. A multi-blockchain architecture supporting cross-blockchain communication
WO2023082883A1 (zh) 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品
CN116186749A (zh) 基于区块链的业务处理方法、装置、电子设备和可读介质
CN116186786A (zh) 基于区块链的业务处理方法、装置、电子设备和可读介质
CN116233139A (zh) 区块链系统的数据处理方法、装置、介质及电子设备
CN113836573B (zh) 基于分布式存储的用户信息处理方法及装置
CN112926981B (zh) 用于区块链的交易信息处理方法、装置、介质及电子设备
WO2024164550A1 (zh) 区块链数据处理方法、装置、设备及存储介质
WO2024103856A1 (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN116232625A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038134

Country of ref document: HK