学习笔记-2

CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)

解决什么问题?

让发票信息记录到区块链的情况下减少发票信息泄露

链上有什么数据?

  • 发行发票事件信息(发票标识,发票信息和发行发票事件发票转移信息)

  • 在子区块链上:发票事件信息(开票事件信息和发票报销事件信息)

子区块链:在每个区块链节点中分配一个区块链设备,用于承载与该发票标识对应的子区块链

如何上链?

发行发票事件--->发行发票事件上链请求(发票标识)--->每个区块链节点分配区块链设备(承载与该发票标识对应的子区块链)--->发行发票事件信息记录在所述子区块链上

发票事件(开票事件/发票报销事件)--->带有发票标识的发票事件上链请求(发票事件信息(开票事件信息/发票报销事件信息))--->发票事件信息记录在所述子区块链上

其中:

信息上链方式

  • 发行发票事件信息包括发票信息和发行发票事件发票转移信息, 所述将发行发票事件上链请求中的发行发票事件信息记录在所述子区块链上。具体包括:

    • 在所述子区块链上记录一个区块
    • 所述区块包括区块主体和区块头
    • 所述区块主体包括发票信息和发行发票事件发票转移信息
    • 所述区块头包括对所述发票信息和发行发票事件发票转移信息进行摘要运算得到的摘要值
  • 将带有发票标识的发票事件上链请求中的发票事件信息,记录在所述子区块链上,具体包括:
    • 如果所述发票事件上链请求是开票事件上链请求,从所述开票事件上链请求获取开票单位名称和报销单位名称;当获取的开票单位名称和报销单位名称的组合具有预先对应的子区块链时,将所述开票事件上链请求中的发票标识对应的子区块链中已记录的发行发票事件信息重新记录到所述预先对应的子区块链;将该开票事件上链请求中的开票事件信息,记录到所述预先对应的子区块链。
    • 如果所述发票事件上链请求是发票报销事件上链请求,从所述发票报销事件上链请求获取开票单位名称和报销单位名称; 当获取的开票单位名称和报销单位名称的组合具有预先对应的子区块链时,将该发票报销事件上链请求中的发票报销事件信息,记录到所述预先对应的子区块链。

发票区块链记录装置

包括:

  • 分配单元,用于响应于接收到发行发票事件上链请求,基于发行发票事件上链请求中包含的发票标识,在每个区块链节点中分配一个区块链设备,用于承载与该发票标识对应的子区块链。
  • 第一记录单元,用于将发行发票事件上链请求中的发行发票事件信息记录在所述子区块链上。
  • 第二记录单元,用于响应于接收到任何带有该发票标识的发票事件上链请求,将该发票事件上链请求中的发票事件信息,记录在所述子区块链上。

其中,所述发票事件上链请求包括开票事件上链请求和发票报销事件上链请求,所述发票事件信息包括开票事件信息和发票报销事件信息。

区块链设备分配

  • 分配区块链设备: 基于该区块链节点中各区块链设备的未占用存储空间和中央处理单元CPU处理能力,分配区块链设备。具体包括:

    • 基于该区块链节点中各区块链设备的未占用存储空间,确定各区块链设备的第一分数;
    • 基于该区块链节点中各区块链设备的CPU处理能力,确定各区块链设备的第二分数;
    • 基于第一分数和第二分数,将各区块链设备的第一分数和第二分数的加权和,确定为各区块链设备的总分数;
    • 基于各区块链设备的总分数,分配总分数最高的区块链设备,用于承载与该发票标识对应的子区块链。

专利优势

考虑到开票单位开出发票时,甚至于发行单位发行该发票时,该发票可能关联的环节是固定的,例如,发票发行后涉及开票环节、报销环节等,因此,对于这一发票,需要记录发行发票信息、开票信息、发票报销信息等,涉及发票发行单位、开票单位、员工、发票报销单位等。只有发票可能关联到的这些环节会关心发票上链信息,把各个发票的信息都统一上链到一条区块链上,容易信息泄露,且无关的单位也不会关心。因此,本公开实施例将区块链分成多个子区块链存储,每个子区块链只存储特定发票标识所关联的发票上链信息。当接收到发行发票事件上链请求时,基于发票标识,分配一个子区块链,将发行发票事件信息记录在所述子区块链上。当后续接收到任何带有该发票标识的发票事件上链请求(例如开票事件上链请求、发票报销事件上链请求)时,将相关发票事件信息,也记录在所述子区块链上。因此,一条子区块链只记载利益相关方的发票上链信息,不记载其它方的发票上链信息,大大减少了发票信息泄露的可能性,而且子区块链数目可以随意扩展,达到性能无上限的目的。

CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)的更多相关文章

  1. 未来-区块链-IBM:IBM 区块链技术开发社区

    ylbtech-未来-区块链-IBM:IBM 区块链技术开发社区 1.返回顶部 1. 开始学习 IBM Blockchain 101:开发人员快速入门指南 这篇快速入门指南适合不熟悉区块链技术,希望快 ...

  2. cpp 区块链模拟示例(四) 区块链工作量证明

    本文主要在之前的区块链原形上添加了工作量证明,并且为后继的交易功能做好准备. 上一个章节我们已经创建了区块链的基本原形,但是区块的哈希计算和加入太过于简单,如果按照这种速度添加区块那么区块链估计一个小 ...

  3. 区块链+AI将给区块链带来怎样的改变?

    区块链和人工智能技术都是互联网时代最新.最热的技术,不仅可以改变我们生活,还能产生巨大的财富,为此国家大力支持发展,科技巨头们也纷纷布局.那区块链与人工智能结合,对区块链技术而言会产生什么样的化学反应 ...

  4. [币严区块链]ETH搭建节点区块数据同步的三种模式:full、fast、light

    ETH  全节点Archive(归档)模式数据量增长图 上述图表可通过链接查看:https://etherscan.io/chartsync/chainarchive 通过上表,可以看到截止2019年 ...

  5. [CB] 支付宝区块链的应用- 区块链发票医保理赔.

    全国第一单区块链理赔.发票开出:1分钟报销     区块链技术和概念随着比特币等虚拟电子货币的兴起而尽人皆知,但是区块链的用途可不仅仅只玩币,尤其是在“矿难”到来之后,区块链正在向更多应用领域渗透.最 ...

  6. 一、Bitcoin比特币与BlockChain区块链技术

    一.比特币历史 2008 年 10 月 31 日,一个网名叫中本聪(英文翻译过来滴)的家伙发布比特币唯一的白皮书:<Bitcoin:A Peer-to-PeerElectronic Cash S ...

  7. 001-Bitcoin比特币与BlockChain区块链技术

    一.比特币历史 2008 年 10 月 31 日,一个网名叫中本聪(英文翻译过来滴)的家伙发布比特币唯一的白皮书:<Bitcoin:A Peer-to-PeerElectronic Cash S ...

  8. 区块链(Blockchain)

    一 .什么是区块链? 区块链(Blockchain)是由节点参与的分布式数据库系统[1],它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger).它是比特币的一个重要概念,完整比特币区 ...

  9. 用Python从零开始创建区块链

    本文主要内容翻译自Learn Blockchains by Building One 本文原始链接,转载请注明出处. 作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一 ...

随机推荐

  1. [Luogu]小Z的AK计划

    Description Luogu2107 Solution 一开始打了一个60分的暴力DP,结果一分都没得--本地调了好久才发现是没开long long. 由于我的DP方程没有任何性质,就是一个01 ...

  2. 【转载】Java容器的线程安全

    转自:http://blog.csdn.net/huilangeliuxin/article/details/12615507 同步容器类 同步容器类包括Vector和Hashtable(二者是早期J ...

  3. JS高级---面向对象的编程思想(贪吃蛇梳理)

    面向对象的编程思想(贪吃蛇梳理) 模拟贪吃蛇游戏,做的项目 地图: 宽,高,背景颜色,因为小蛇和食物都是相对于地图显示的, 这里小蛇和食物都是地图的子元素, 随机位置显示, 脱离文档流的, 地图也需要 ...

  4. IntelliJ IDEA 2017.3尚硅谷-----忽略大小写提示

  5. 关于使用阿里云MAVEN镜像仓库

    由于国内的某些不可明确的原因 国内连接google的时候十分慢,使得看github上的项目十分慢,这里我们可以修改build.gradle下的文件来使用阿里云仓库同步 会更快: // Top-leve ...

  6. ftrace使用

    前段时间遇到个问题,有个后继音频数据处理线程调度不及时导致音频输出延迟,音视频不同步. 因此从系统上入手,采用ftrace进行debug,来看有哪些线程会去抢占音频数据处理线程. ftrace 提供了 ...

  7. P2P头部平台退出后,普通人如何避开投资理财的“雷区”?

    编辑 | 于斌 出品 | 于见(mpyujian) 近期,P2P市场上不断传来不利消息,引起市场轩然大波,也打乱了投资者投资计划,是继续坚持自己的选择还是另择它路? 18日,陆金所作为千亿头部平台,宣 ...

  8. django 创建管理员用户

    7.2 create 创建管理员用户: python manage.py run server python manage.py createsuperuser password :123456789 ...

  9. [Jenkins] Jenkins的启动停止并修改默认端口

    在Win系统下面,经常使用Jenkins今天自动化测试工作,但是在搭建的时候还是有些坑 1.选择性安装: 一般会选择windows,会下载一个压缩包,然后step by step就可以安装成功,这个方 ...

  10. 清空表单 autocomplete="off"

    清空表单 autocomplete="off" <form action="/sm/baziqiming.aspx" method="post& ...