一种区块链服务系统转让专利

申请号 : CN201810175063.9

文献号 : CN108416577B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何鑫铭

申请人 : 上海汉得信息技术股份有限公司

摘要 :

本申请的目的是提供一种区块链服务系统,本申请提供一种区块链服务系统,所述服务系统包括:容器层级模块、账本层级模块和对接层级模块,其中,所述容器层级模块用于对区块链的节点客户端进行管理;所述账本层级模块用于基于所述区块链的节点客户端的请求将账本数据进行上链,并记录对应的区块链世界状态信息;所述对接层级模块用于提供对接接口,以将所述容器层级模块和所述账本层级模块中的数据传输至业务应用,并对所述容器层级模块和所述账本层级模块进行日志监控。从而通过该服务系统,可以在开发符合自己业务需求的区块链业务应用,为自己的业务系统应用区块链技术的不可篡改性、可追溯性。

权利要求 :

1.一种区块链服务系统,其中,所述服务系统包括:

容器层级模块、账本层级模块和对接层级模块,其中,所述容器层级模块用于对区块链的节点客户端进行管理;

所述账本层级模块用于基于所述区块链的节点客户端的请求将账本数据进行上链,并记录对应的区块链世界状态信息;

所述对接层级模块用于提供对接接口,以将所述容器层级模块和所述账本层级模块中的数据传输至业务应用,并对所述容器层级模块和所述账本层级模块进行日志监控;

其中,所述账本层级模块包括:

数据层、应用层和合约层,其中,所述应用层用于基于所述区块链的节点客户端的请求将账本数据通过智能合约上链到节点所在的联盟链,并对区块链上的组织属于不同分联盟链上的多个区块链进行跨链集成;

所述数据层用于将所述区块链中的数据保存至区块链节点本地文档数据库,并配合所述合约层中的明细数据转存至关系型数据库中,其中,所述区块链中的数据包括应用层中上链的账本数据、区块链世界状态信息和交易记录;

所述合约层用于基于用户的请求确定智能合约,并将所述智能合约在所述服务系统上进行发布或升级,将安装上链的智能合约存储至所述用户对应的区块链节点上。

2.根据权利要求1所述的服务系统,其中,所述容器层级模块包括:

容器管理层和设施管理层,其中,所述容器管理层用于支持容器编排工具进行容器编排、管理;

所述设施管理层用于基于容器的节点基础设施管理及监控,其中,所述基础设施包括客户端。

3.根据权利要求1所述的服务系统,其中,所述服务系统包括安全模块,其中,所述安全模块用于将所述账本数据转换为对应的哈希数据,其中,所述账本数据包括资产登记、抵押、融资及放款交易中任一种或任几种组合。

4.根据权利要求1所述的服务系统,其中,所述应用层用于第一区块链上的发起申请组织将执行所述合约层中的合约的通信请求发送至第二区块链上的组织,其中,所述第一区块链上的组织和所述第二区块链上的组织属于不同分联盟链且属于同一公共联盟链;

接收到所述通信请求的所述第二区块链上的组织向所述第二区块链上的其他组织收集签名;

将收集签名的结果通过所述发起申请组织对应的公钥进行加密,将加密后的数据转换为对应的哈希数据后传输至所述公共联盟链。

5.根据权利要求1所述的服务系统,其中,所述对接层级模块包括:

底层对接层、应用对接服务层、监控层和展现层,其中,

所述底层对接层用于通过SDK为所述应用层提供封装后的底层操作;

所述应用对接服务层用于通过应用接口服务网关为所述业务应用提供应用接口,以将所述容器层级模块和所述账本层级模块中的数据传输至所述业务应用;

所述监控层用于对所述容器层级模块和所述账本层级模块进行日志监控,并对所述服务系统所进行的服务及接口状态进行监控;

所述展现层用于基于查询请求显示区块链状态信息,其中,所述区块链状态信息包括区块的信息和区块事务的信息。

6.根据权利要求5所述的服务系统,其中,所述展现层用于基于图形化区块链管理及区块链页面显示所述区块链状态信息,并将所述区块链实时的区块事务信息以滚屏方式显示至所述区块链页面。

7.根据权利要求5所述的服务系统,其中,所述展现层用于基于区块链的区块的标识信息或区块事务的标识信息的查询请求显示对应的区块的信息或区块事务信息,其中,所述区块的信息包括区块高度、区块的标识信息及区块对应的事务列表。

8.根据权利要求1所述的服务系统,所述容器层级模块用于基于客户端的选取节点操作确定用于区块链服务的代理节点,并基于所述客户端的创建请求为所述客户端创建服务节点,基于其他客户端的选取节点操作将所述服务节点作为其他客户端用于区块链服务的代理节点。

9.根据权利要求1所述的服务系统,所述服务系统用于基于所述客户端的创建区块链请求进行区块链的创建,将创建的区块链加入所述服务系统,并以消息中间件的方式通知所述客户端。

说明书 :

一种区块链服务系统

技术领域

[0001] 本申请涉及计算机领域,尤其涉及一种区块链服务系统。

背景技术

[0002] 区块链技术在金融、银行等各大领域得到了日益广泛的应用。区块链技术是利用块链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。由于企业应用往往会涉及到多方集成,复杂的业务逻辑,需要区块链的架构能够方便部署和运维,根据不同业务需求开发满足需求的区块链服务架构。

发明内容

[0003] 本申请的一个目的是提供一种区块链服务系统,能够更容易部署和运维,能够方便与企业业务系统集成,使企业快速方便的应用区块链技术服务。
[0004] 根据本申请的一个方面,提供了一种区块链服务系统,其中,所述服务系统包括:
[0005] 容器层级模块、账本层级模块和对接层级模块,其中,所述容器层级模块用于对区块链的节点客户端进行管理;
[0006] 所述账本层级模块用于基于所述区块链的节点客户端的请求将账本数据进行上链,并记录对应的区块链世界状态信息;
[0007] 所述对接层级模块用于提供对接接口,以将所述容器层级模块和所述账本层级模块中的数据传输至业务应用,并对所述容器层级模块和所述账本层级模块进行日志监控。
[0008] 进一步地,所述容器层级模块包括:
[0009] 容器管理层和设施管理层,其中,所述容器管理层用于支持容器编排工具进行容器编排、管理;
[0010] 所述设施管理层用于基于容器的节点基础设施管理及监控,其中,所述基础设施包括客户端。
[0011] 进一步地,所述账本层级模块包括:
[0012] 数据层、应用层和合约层,其中,所述应用层用于基于所述区块链的节点客户端的请求将账本数据通过智能合约上链到节点所在的联盟链,对区块链上的组织属于不同分联盟链上的多个区块链进行跨链集成;
[0013] 所述数据层用于将所述区块链中的数据保存至区块链节点本地文档数据库,并配合所述合约层中的明细数据转存至关系型数据库中,其中,所述区块链中的数据包括应用层中上链的账本数据、区块链世界状态信息和交易记录;
[0014] 所述合约层用于基于用户的请求确定智能合约,并将所述智能合约在所述服务系统上进行发布或升级,将安装上链的智能合约存储至所述用户对应的区块链节点上。
[0015] 进一步地,所述服务系统包括安全模块,其中,所述安全模块用于将所述账本数据转换为对应的哈希数据。
[0016] 进一步地,所述应用层用于第一区块链上的发起申请组织将执行所述合约层中的合约的通信请求发送至第二区块链上的组织,其中,所述第一区块链上的组织和所述第二区块链上的组织属于不同分联盟链且属于同一公共联盟链;
[0017] 接收到所述通信请求的所述第二区块链上的组织向所述第二区块链上的其他组织收集签名;
[0018] 将收集签名的结果通过所述发起申请组织对应的公钥进行加密,将加密后的数据转换为对应的哈希数据后传输至所述公共联盟链。
[0019] 进一步地,所述对接层级模块包括:
[0020] 底层对接层、应用对接服务层、监控层和展现层,其中,
[0021] 所述底层对接层用于通过SDK为所述应用层提供封装后的底层操作;
[0022] 所述应用对接服务层用于通过应用接口服务网关为所述业务应用提供应用接口,以将所述容器层级模块和所述账本层级模块中的数据传输至所述业务应用;
[0023] 所述监控层用于对所述容器层级模块和所述账本层级模块进行日志监控,并对所述服务系统所进行的服务及接口状态进行监控;
[0024] 所述展现层用于基于查询请求显示区块链状态信息,其中,所述区块链状态信息包括区块的信息和区块事务的信息。
[0025] 进一步地,所述展现层用于基于图形化区块链管理及区块链页面显示所述区块链状态信息,并将所述区块链实时的区块事务信息以滚屏方式显示至所述区块链页面。
[0026] 进一步地,所述展现层用于基于区块链的区块的标识信息或区块事务的标识信息的查询请求显示对应的区块的信息或区块事务信息,其中,所述区块的信息包括区块高度、区块的标识信息及区块对应的事务列表。
[0027] 进一步地,所述容器层级模块用于基于客户端的选取节点操作确定用于区块链服务的代理节点,并基于所述客户端的创建请求为所述客户端创建服务节点,基于其他客户端的选取节点操作将所述服务节点作为其他客户端用于区块链服务的代理节点。
[0028] 进一步地,所述服务系统用于基于所述客户端的创建区块链请求进行区块链的创建,将创建的区块链加入所述服务系统,并以消息中间件的方式通知所述客户端。
[0029] 与现有技术相比,本申请提供一种区块链服务系统,所述服务系统包括:容器层级模块、账本层级模块和对接层级模块,其中,所述容器层级模块用于对区块链的节点客户端进行管理;所述账本层级模块用于基于所述区块链的节点客户端的请求将账本数据进行上链,并记录对应的区块链世界状态信息;所述对接层级模块用于提供对接接口,以将所述容器层级模块和所述账本层级模块中的数据传输至业务应用,并对所述容器层级模块和所述账本层级模块进行日志监控。从而通过该服务系统,可以在区块链上进行数字资产的全生命周期的管理,基于区块链的不可篡改性、可追溯性,极大的增强资产的公信力。

附图说明

[0030] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0031] 图1示出根据本申请的一个方面提供的一种区块链服务系统结构示意图。
[0032] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0033] 下面结合附图对本申请作进一步详细描述。
[0034] 在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0035] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0036] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0037] 图1示出根据本申请的一个方面提供的一种区块链服务系统结构示意图,所述服务系统包括:容器层级模块1、账本层级模块2和对接层级模块3,其中,所述容器层级模块1用于对区块链的节点客户端进行管理;所述账本层级模块2用于基于所述区块链的节点客户端的请求将账本数据进行上链,并记录对应的区块链世界状态信息;所述对接层级模块3用于提供对接接口,以将所述容器层级模块和所述账本层级模块中的数据传输至业务应用,并对所述容器层级模块和所述账本层级模块进行日志监控。从而通过该服务系统,可以在区块链上进行数字资产的全生命周期的管理,基于区块链的不可篡改性、可追溯性,极大的增强资产的公信力。也能够更容易部署和运维,以方便与企业业务系统集成,使企业快速方便的应用区块链技术服务。
[0038] 具体地,所述容器层级模块1用于对区块链的节点客户端进行管理;在此,节点客户端包括加入区块链的企业,容器层级模块1用于对加入区块链的各家企业进行管理,进一步,所述容器层级模块1包括:容器管理层11和设施管理层12,其中,所述容器管理层11用于支持容器编排工具进行容器编排、管理;所述设施管理层12用于基于容器的节点基础设施管理及监控,其中,所述基础设施包括客户端。在本申请一实施例中,容器层级模块1为应用最底层,包括区块链服务系统、区块链核心系统应用的最小单元,基于docker进行全容器化管理。其中,容器管理层11可支持集成k8s、rancher的容器编排工具进行容器编排、管理,以支持上层应用图形化对容器进行操作管理,如区块链平台的各级管理员可以通过容器管理方便地新建区块链上节点;设施管理层12基于容器的节点基础设施管理、监控。
[0039] 具体地,所述账本层级模块2用于基于所述区块链的节点客户端的请求将账本数据进行上链,并记录对应的区块链世界状态信息;在此,所述账本层级模块2包括:应用层21、数据层22和合约层23,其中,所述应用层21用于基于所述区块链的节点客户端的请求将账本数据通过智能合约上链到节点所在的联盟链,并对区块链上的组织属于不同分联盟链上的多个区块链进行跨链集成;所述数据层22用于将所述区块链中的数据保存区块链节点本地文档至数据库,并配合所述合约层中的明细数据转存至关系型数据库中,其中,所述区块链中的数据包括应用层中上链的账本数据、区块链世界状态信息和交易记录;所述合约层23基于用户的请求确定智能合约,并将所述智能合约在所述服务系统上进行发布或升级,将安装上链的智能合约存储至所述用户对应的区块链节点上。
[0040] 在本申请一实施例中(以企业应收资产应用为例),应用层21基于所述区块链的节点客户端的请求将账本数据进行上链,其中,账本数据可为应收资产,根据客户端企业的需求,将按照应收资产的入链规则、融资抵押以及智能合约等将应收资产进行上链,并进行全生命周期的管理。同时,可对区块链上的组织属于同一联盟链上的多个区块链进行跨链集成,在业务规则允许的情况下,在保证区块链信任体系完整性的前提下,可将在不同分联盟链但同在一公共联盟链上的多个区块链进行跨链集成,比如A链和B链上的所有组织都在一个公共的联盟链上,A联盟链上只保存了A链的数据,则可将B链的数据也通过公共联盟链集成到A链上。
[0041] 在本申请一实施例中,数据层22包含了两部分,一部分是状态数据库,以用于记录区块链世界状态,即区块链上每个组织的平衡账本。另一部分是包含了所有交易记录,在区块链参与成员(节点客户端)中都有相同的记录,提供可追溯和不可篡改特性。
[0042] 在本申请一实施例中,合约层23可提供企业智能合约的编写模板,允许企业根据业务需求开发智能合约,并在区块链服务系统上发布或升级智能合约。安装上链的智能合约保存在区块链节点上,可以由区块链调用执行。
[0043] 具体地,所述对接层级模块3用于提供对接接口,以将所述容器层级模块1和所述账本层级模块2中的数据传输至业务应用,并对所述容器层级模块1和所述账本层级模块2进行日志监控。在本申请一实施例中,所述对接层级模块3包括:底层对接层31、应用对接服务层32、监控层33和展现层34,其中,所述底层对接层31用于通过SDK为所述应用层21提供封装后的底层操作;所述应用对接服务层32用于通过应用接口服务网关为所述业务应用提供应用接口,以将所述容器层级模块1和所述账本层级模块2中的数据传输至所述业务应用;所述监控层33用于对所述容器层级模块1和所述账本层级模块2进行日志监控,并对所述服务系统所进行的服务及接口状态进行监控;所述展现层34用于基于查询请求显示区块链状态信息,其中,所述区块链状态信息包括区块的信息和区块事务的信息。
[0044] 在此,底层对接层31利用超级账本fabric提供的Node版本SDK,封装成上层区块链管理平台需要的对超级账本fabric的各种底层操作,并且对对接Node SDK的接口服务也作为微服务节点,方便区块链管理端调用。应用对接服务层32可以提供区块链组织、频道、账户、证书、智能合约、区块链应用(DAPP)、隐私、监管等管理服务,同时通过服务网关(api gateway)为上层业务应用提供api接口,以打通底层区块链平台与上层业务应用,使得上层业务应用无需关心区块链底层技术。区块链管理模块提供业务系统快速接入区块链能力、区块链运维能力以及监管接入能力等核心功能,微服务架构平台的中心化管理服务可以通过微服务的注册中心直接找到需要调度/管理的区块链客户端节点。监控层33基于日志管理,对整个区块链服务平台以及底层区块链系统进行日志监控;基于容器的基础设施监控;基于微服务监控工具进行区块链服务平台的调用链监控,并进行各服务、接口状态服务。展现层34基于技术栈的设计框架,搭建图形化区块链的管理平台和搭建区块链浏览器,查询区块以及区块事务信息。区块链浏览器中同时列出每个智能合约对应的背书节点、共识节点。
[0045] 在本申请一实施例中,所述展现层34用于基于图形化区块链管理及区块链页面显示所述区块链状态信息,并将所述区块链实时的区块事务信息以滚屏方式显示至所述区块链页面。进一步地,所述展现层34用于基于区块链的区块的标识信息或区块事务的标识信息的查询请求显示对应的区块的信息或区块事务信息,其中,所述区块的信息包括区块高度、区块的标识信息及区块对应的事务列表。在此,在区块链浏览器中可查询区块链平台上总的区块高度、总事务数等区块链状态,区块链实时发生的事务以滚屏的方式显示至区块链浏览器上,还可以根据区块链事务标识(ID)或区块标识(ID)查询区块链上的具体某一笔事务或某个区块详情,其中,区块详情保护区块高度、区块ID以及该区块详细事务列表。
[0046] 在本申请一实施例中,所述服务系统包括安全模块4,其中,所述安全模块4用于将所述账本数据转换为对应的哈希数据,其中,在应收资产管理应用中,所述账本数据包括资产登记、抵押、融资及放款交易中任一种或任几种组合。在此,由于金融应用对数据安全风险的强管控和高要求,为保证区块链技术的数据安全风险,需要将上链的数据转为原始数据的哈希值,保证原始数据的不可还原。通过校对原始数据的哈希值与区块链上数据的哈希值,保证交易数据的不可篡改性。同时,链上资产的登记、抵押、融资、放款交易等账本数据都携带原始数据的哈希值,从而可以从每一笔交易向上追溯,直至原始数据入链的交易明细。同时,定期将区块链上的哈希数据进一步求默克尔数根,将根哈希值同步至公有链以太坊上,进而增强了区块链平台的公信力。除此之外,提供了多层CA认证系统,以保证联盟链中所有的参与者都是已验证,非验证的交易会被直接拒绝,并使用TLS协议保证通信的安全性。
[0047] 在本申请一实施例中,所述应用层21的跨连需求支持的具体方式为:第一区块链上的发起申请组织将执行所述合约层中的合约的通信请求发送至第二区块链上的组织,其中,所述第一区块链上的组织和所述第二区块链上的组织属于不同分联盟链且属于同一公共联盟链;接收到所述通信请求的所述第二区块链上的组织向所述第二区块链上的其他组织收集签名;将收集签名的结果通过所述发起申请组织对应的公钥进行加密,将加密后的数据转换为对应的哈希数据后传输至所述联盟链。在此,本申请所述的服务系统可用于跨链集成,例如,有两个区块链,第一区块链A和第二区块链B,A链和B链上的所有组织在一个公共的联盟链上,联盟链上的数据只保存哈希值,A链上的组织可以发起执行智能合约的通信请求给B链上的某个组织,B链上某个组织接收到请求后,需要向B链上所有组织收集签名,收集后能够正常执行智能合约并通过原通信渠道将结果用A链上的发起申请组织的公钥加密后返回,同时将数据做哈希运算上传至公共联盟链上,进一步提供鉴权。
[0048] 在本申请一实施例中,所述容器层级模块1用于基于客户端的选取节点操作确定用于区块链服务的代理节点,并基于所述客户端的创建请求为所述客户端创建服务节点,基于其他客户端的选取节点操作将所述服务节点作为其他客户端用于区块链服务的代理节点。在此,本申请所述的服务系统可进行区块链节点代理运营,通过设定系统代理组织的方式,将需要代理的企业作为代理组织的子账户,实现一个代理组织包含多个实体企业的形式,同时,企业账户的私钥保存在系统代理组织节点容器中,也可以保存至企业管理的移动终端中,所属权属于企业。基于客户端企业的创建请求为每个企业用户选择系统节点作为自己区块链应用的代理节点。另外,每个开放到企业应用商店的区块链节点提供方可以新建自己的节点为其他选择应用自己发布区块链应用的客户企业,提供代理节点。本申请所述的区块链服务系统具备多链能力,允许每个组织创建、加入并管理多条区块链,每个区块链的数据是物理隔离。
[0049] 在本申请一实施例中,所述服务系统用于基于所述客户端的创建区块链请求进行区块链的创建,将创建的区块链加入所述服务系统,并以消息中间件的方式通知所述客户端。在此,上层业务系统向该服务系统发起区块链创建、加入请求,该服务系统向底层区块链平台发起区块链创建、加入等事务。上层业务系统与该服务系统之间通过用户自定义方式进行异步结果通知,该服务系统与区块链客户端通过消息中间件的形式进行异步结果通知。
[0050] 通过本申请所述的区块链服务系统,可以在区块链上进行包括数字资产的全生命周期的管理,基于区块链的不可篡改性、可追溯性,极大的增强资产的公信力。需要说明的是,在本申请实施例中,是以数字资产保全应用为例,在区块链上还可以进行包括但不现有数字资产的全生命周期的管理。
[0051] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
[0052] 需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0053] 另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
[0054] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。