CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)
学习笔记-2
CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)
解决什么问题?
让发票信息记录到区块链的情况下减少发票信息泄露
链上有什么数据?
发行发票事件信息(发票标识,发票信息和发行发票事件发票转移信息)
在子区块链上:发票事件信息(开票事件信息和发票报销事件信息)
子区块链:在每个区块链节点中分配一个区块链设备,用于承载与该发票标识对应的子区块链
如何上链?
发行发票事件--->
发行发票事件上链请求(发票标识)--->
每个区块链节点分配区块链设备(承载与该发票标识对应的子区块链)--->
发行发票事件信息记录在所述子区块链上
发票事件(开票事件/发票报销事件)--->
带有发票标识的发票事件上链请求(发票事件信息(开票事件信息/发票报销事件信息))--->
发票事件信息记录在所述子区块链上
其中:
信息上链方式
- 发行发票事件信息包括发票信息和发行发票事件发票转移信息, 所述将发行发票事件上链请求中的发行发票事件信息记录在所述子区块链上。具体包括:
- 在所述子区块链上记录一个区块
- 所述区块包括区块主体和区块头
- 所述区块主体包括发票信息和发行发票事件发票转移信息
- 所述区块头包括对所述发票信息和发行发票事件发票转移信息进行摘要运算得到的摘要值
- 将带有发票标识的发票事件上链请求中的发票事件信息,记录在所述子区块链上,具体包括:
- 如果所述发票事件上链请求是开票事件上链请求,从所述开票事件上链请求获取开票单位名称和报销单位名称;当获取的开票单位名称和报销单位名称的组合具有预先对应的子区块链时,将所述开票事件上链请求中的发票标识对应的子区块链中已记录的发行发票事件信息重新记录到所述预先对应的子区块链;将该开票事件上链请求中的开票事件信息,记录到所述预先对应的子区块链。
- 如果所述发票事件上链请求是发票报销事件上链请求,从所述发票报销事件上链请求获取开票单位名称和报销单位名称; 当获取的开票单位名称和报销单位名称的组合具有预先对应的子区块链时,将该发票报销事件上链请求中的发票报销事件信息,记录到所述预先对应的子区块链。
发票区块链记录装置
包括:
- 分配单元,用于响应于接收到发行发票事件上链请求,基于发行发票事件上链请求中包含的发票标识,在每个区块链节点中分配一个区块链设备,用于承载与该发票标识对应的子区块链。
- 第一记录单元,用于将发行发票事件上链请求中的发行发票事件信息记录在所述子区块链上。
- 第二记录单元,用于响应于接收到任何带有该发票标识的发票事件上链请求,将该发票事件上链请求中的发票事件信息,记录在所述子区块链上。
其中,所述发票事件上链请求包括开票事件上链请求和发票报销事件上链请求,所述发票事件信息包括开票事件信息和发票报销事件信息。
区块链设备分配
- 分配区块链设备: 基于该区块链节点中各区块链设备的未占用存储空间和中央处理单元CPU处理能力,分配区块链设备。具体包括:
- 基于该区块链节点中各区块链设备的未占用存储空间,确定各区块链设备的第一分数;
- 基于该区块链节点中各区块链设备的CPU处理能力,确定各区块链设备的第二分数;
- 基于第一分数和第二分数,将各区块链设备的第一分数和第二分数的加权和,确定为各区块链设备的总分数;
- 基于各区块链设备的总分数,分配总分数最高的区块链设备,用于承载与该发票标识对应的子区块链。
专利优势
考虑到开票单位开出发票时,甚至于发行单位发行该发票时,该发票可能关联的环节是固定的,例如,发票发行后涉及开票环节、报销环节等,因此,对于这一发票,需要记录发行发票信息、开票信息、发票报销信息等,涉及发票发行单位、开票单位、员工、发票报销单位等。只有发票可能关联到的这些环节会关心发票上链信息,把各个发票的信息都统一上链到一条区块链上,容易信息泄露,且无关的单位也不会关心。因此,本公开实施例将区块链分成多个子区块链存储,每个子区块链只存储特定发票标识所关联的发票上链信息。当接收到发行发票事件上链请求时,基于发票标识,分配一个子区块链,将发行发票事件信息记录在所述子区块链上。当后续接收到任何带有该发票标识的发票事件上链请求(例如开票事件上链请求、发票报销事件上链请求)时,将相关发票事件信息,也记录在所述子区块链上。因此,一条子区块链只记载利益相关方的发票上链信息,不记载其它方的发票上链信息,大大减少了发票信息泄露的可能性,而且子区块链数目可以随意扩展,达到性能无上限的目的。
CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)的更多相关文章
- 未来-区块链-IBM:IBM 区块链技术开发社区
ylbtech-未来-区块链-IBM:IBM 区块链技术开发社区 1.返回顶部 1. 开始学习 IBM Blockchain 101:开发人员快速入门指南 这篇快速入门指南适合不熟悉区块链技术,希望快 ...
- cpp 区块链模拟示例(四) 区块链工作量证明
本文主要在之前的区块链原形上添加了工作量证明,并且为后继的交易功能做好准备. 上一个章节我们已经创建了区块链的基本原形,但是区块的哈希计算和加入太过于简单,如果按照这种速度添加区块那么区块链估计一个小 ...
- 区块链+AI将给区块链带来怎样的改变?
区块链和人工智能技术都是互联网时代最新.最热的技术,不仅可以改变我们生活,还能产生巨大的财富,为此国家大力支持发展,科技巨头们也纷纷布局.那区块链与人工智能结合,对区块链技术而言会产生什么样的化学反应 ...
- [币严区块链]ETH搭建节点区块数据同步的三种模式:full、fast、light
ETH 全节点Archive(归档)模式数据量增长图 上述图表可通过链接查看:https://etherscan.io/chartsync/chainarchive 通过上表,可以看到截止2019年 ...
- [CB] 支付宝区块链的应用- 区块链发票医保理赔.
全国第一单区块链理赔.发票开出:1分钟报销 区块链技术和概念随着比特币等虚拟电子货币的兴起而尽人皆知,但是区块链的用途可不仅仅只玩币,尤其是在“矿难”到来之后,区块链正在向更多应用领域渗透.最 ...
- 一、Bitcoin比特币与BlockChain区块链技术
一.比特币历史 2008 年 10 月 31 日,一个网名叫中本聪(英文翻译过来滴)的家伙发布比特币唯一的白皮书:<Bitcoin:A Peer-to-PeerElectronic Cash S ...
- 001-Bitcoin比特币与BlockChain区块链技术
一.比特币历史 2008 年 10 月 31 日,一个网名叫中本聪(英文翻译过来滴)的家伙发布比特币唯一的白皮书:<Bitcoin:A Peer-to-PeerElectronic Cash S ...
- 区块链(Blockchain)
一 .什么是区块链? 区块链(Blockchain)是由节点参与的分布式数据库系统[1],它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger).它是比特币的一个重要概念,完整比特币区 ...
- 用Python从零开始创建区块链
本文主要内容翻译自Learn Blockchains by Building One 本文原始链接,转载请注明出处. 作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一 ...
随机推荐
- Python 多任务(线程) day2 (2)
同步 1.概念 :同步就是协同步调,按预定的先后次序运行 互斥锁 当多个线程几乎同时修改某一共享数据的时候,需要运行同步控制,最简单的同步机制是引入互斥锁.某个线程要更改共享数据时,先将其锁定,此时资 ...
- VS2017 + Windows10编译C++ MongoDB驱动
转载地址:https://blog.csdn.net/sqcfj/article/details/86716831 mongoDB有两个接口库:mongo-c-driver和mongo-cxx-dri ...
- THINKPHP 模板上传图片--后台接收图片
模板 {extend name="public/base" /} {block name="body"} <div class="row&quo ...
- python如何将自己写的代码打包供他人使用
背景: 利用setuptools来实现,所以先安装setuptools,其实Python2.7.9及之后的版本都自带安装setuptools了,无需在另外安装 如果没有安装setuptools的直接下 ...
- 1012 The Best Rank
1012 The Best Rank 1. 注意点 一名同学同样排名下的科目优先级问题 不同同学分数相同时排名相同,注意 排名不是 1 1 2 3 4 这种, 而是 1 1 3 4 5 注意到有些同学 ...
- 概率dp poj2096
/** dp求期望的题. 题意:一个软件有s个子系统,会产生n种bug. 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中. 求找到所有的n种bug,且每个子系统都找到bug,这样 ...
- Codeforces 1315A Dead Pixel (水题)
Screen resolution of Polycarp's monitor is a×ba×b pixels. Unfortunately, there is one dead pixel at ...
- Java查询数据库
创建数据库 创建 user 数据库 创建 teacher 数据库 teacher表的user_id列与user表的id列建立一对多连接,user_id作为外键. Java编程查询数据库 向user数据 ...
- layui+ajax+select
1.看效果 2.前端代码 <div class="layui-form-item"> <label class="layui-form-label&qu ...
- 前端之HTML基础篇
HTML基础篇 目录 本章内容: 简介 1. ...