学习笔记-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. IDEA中进行远程调试springboot项目

    1.以debug的模式启动Springboot项目 命令  java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8888,suspe ...

  2. Scrapy爬取伯乐在线的所有文章

    本篇文章将从搭建虚拟环境开始,爬取伯乐在线上的所有文章的数据. 搭建虚拟环境之前需要配置环境变量,该环境变量的变量值为虚拟环境的存放目录 1. 配置环境变量 2.创建虚拟环境 用mkvirtualen ...

  3. HPS—虚拟地址映射

    HPS 如何对FPGA外设进行操作?hardware:在Qsys中将外设连接到AXI bridge上software:映射外设物理地址到到应用程序可以操作的虚拟地址,应用程序通过得到的虚拟地址入口控制 ...

  4. Multisim 如何添加文本 如何编辑文本字体

    1.在Multisim中如何添加文本 方法1)Place -> Text 方法2)Ctrl+T 2.如何修改字体的大小及颜色

  5. 解决tomcat控制台乱码问题

    问题原因:编码不一致,tomcat启动后默认编码UTF-8,而windows的默认编码是GBK.所以只需配置启动tomcat后为GBK编码即可. 做法:找到路径 $xxx$\apache-tomcat ...

  6. MVVM架构的理解

    摘自维基百科 MVVM(Model–view–viewmodel)是一种软件架构模式. MVVM有助于将图形用户界面的开发与业务逻辑或后端逻辑(数据模型)的开发分离开来,这是通过置标语言或GUI代码实 ...

  7. Linux list_head

    在linux kernel里面链表应用非常广泛. 我们在应用程序中,定义一个链表结构通常要包含数据域,如下: typedef struct _listNode{ int data; struct _l ...

  8. 每天进步一点点------Altium Designer PCB设计规则中英对照

    Electrical(电气规则) Clearance:安全间距规则 Short Circuit:短路规则 UnRouted Net:未布线网络规则 UnConnected Pin:未连线引脚规则 Ro ...

  9. wix在使用heat自动生成wxs时添加windows服务组件

    最近需要给安装包增加一个windows服务组件,按照我的理解,我以为只需要Product.wxs加一段如下的标签就可以了 <Componet Id="myservice"&g ...

  10. C++:打开一个文件夹下一系列的文件

    可以用MFC的CFileFind类: FILE *pFile=NULL; CFileFind cff; CString fstr="C:\\page\\*.*"//所以用文件和文件 ...