`
JerryWang_SAP
  • 浏览: 1044306 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Hyperledger(超级账本)的worldstate和SAP CRM的CRMD_CUMULAT_H

阅读更多

Hyperledger fabric是基于区块链技术的一个开源项目,由Linux基金会于2015年发起,目的是推进区块链数字技术和交易验证的发展和落地。

 

 

 

Hyperledger由多个区块构成了一个有序链表,每个区块里包含多条交易(trasanction,缩写为tx)。Jerry在学习账本的数据结构时,发现一个有趣的现象:上图中WorldState(世界状态)的设计目的,是为了提升性能。比如,有一个channel里共发生了1千次交易,为了获取该channel的当前状态值,需要沿着区块链的首块出发执行这1千次交易,有点像SAP HANA内存数据库实时计算的思路。
而Hyperledger Fabric选择了在每次新交易处理完后,都同步更新一个称之为levelDB的数据库。这样每次查询当前状态时,无需遍历区块链每个区块重复执行交易,只需要查询该levelDB数据库即可。

 

 


这个levelDB的概念和CRM里的订单抬头的很多字段,比如总价,毛重(Gross weight)等等设计思路是一样的。
比如我在ID为IMU的产品主数据里维护了1个ST的单位重50KG,那么下图订单包含了两个行项目,一共8个ST,毛重50 × 8 = 400KG。

 

 

这个400KG是存储在表CRMD_CUMULAT_H的GROSS_WEIGHT字段。

 

 


顾名思义,这个字段的值是从另一张存放行项目明细信息的表CRMD_PRODUCT_I里的GROSS_WEIGHT累加而来的,这也是这张表的部分名称CUMULAT的由来:(cumulate累积)

 


每次行项目里产品数量发生变化时,会触发one order框架的回调函数,更新CRMD_CUMULAT_H的GROSS_WEIGHT.

 


最后数据更新通过CRM_CUMULAT_H_UPDATE_DU写回到CRMD_CUMULAT_H里。CRMD_CUMULAT_H扮演的角色同Hyperledger Fabric里的levelDB相同。

 

 

 

 

 

 

 

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 

 
 
0
0
分享到:
评论

相关推荐

    SAP CRM 常用表.pdf

    - CRMD_ORDERADM_H:这是商业交易的表头信息,尽管它不存储交易负责人信息,但可以通过CRM_ORDER_INDEX表进行关联。 - CRMD_CUSTOMER_H:这是商业交易表头级别上的额外站点详细信息。 - CRMC_PROC_TYPE:这是商业...

    ERP系统信息化资料:CRMD_ORDER_处理支持请求(关键用户).doc

    ERP系统信息化资料:CRMD_ORDER_处理支持请求(关键用户).doc

    SAP 各模块常用表

    - `CRMD_LINEITEM_H`:服务订单行项目,包含订单中的具体服务。 以上表格只是SAP庞大数据库中的冰山一角,实际应用中还有更多细分领域的特定表格。SAP系统的灵活性和扩展性使得企业可以根据自身需求定制化表结构,...

    中央暖通服务商操作CRM系统流程图.doc

    同样通过"CRMD_BUS2000116",但输入内部物业联系单对应代码"ZG04",输入必要的客户信息,如"苏宁潜在客户"和"结算日期",然后保存。 2. **内部预算控制单(报价单)** - 创建内部预算控制单需在商机处于"Z20 售后...

    中央暖通CRM服务商合同操作流程指导.docx

    操作者需通过事务代码“CRMD_BUS2000116”进入系统,选择“创建——机会——售后自我拓展商机”,填写苏宁潜在客户、工程业务对接人、结算日期、阶段和状态等信息,最后确认创建。 2. 内部物业联系单:适用于集团...

    sap 各模块常用关系表清单

    - `CRMD_ORDERHDR`:服务订单,记录服务项目的详细信息。 8. **供应链管理 (SCM - Supply Chain Management)**: - `APO-MAT`:高级计划与优化中的物料数据。 - `APO-DP`:需求规划数据,预测未来需求。 - `APO...

    如果将数据库表创建事务代码

    例如,如果你需要访问`CRMD_ORDERADM_H`这张表,就在SE16中输入该表名并查询。 2. **追踪事务代码** - 在选择了数据库表后,不要关闭当前窗口。在新的窗口中输入事务代码SE93,这将打开"自定义事务代码"(Maintain...

    Pacemaker入门手册_Clusters_from_Scratch借鉴.pdf

    通过crmd工具,用户可以查看和修改集群配置,实现对资源的动态管理。 总的来说,《Pacemaker入门手册》为读者提供了一条清晰的学习路径,涵盖了从集群基础到高级特性的全面知识,对于希望构建和维护高可用性环境的...

    工作流activiti修正少jar的问题

    它提供了强大的流程建模、执行和监控能力,支持复杂的业务流程定义,使得开发者能够方便地构建和管理业务流程。 在描述中提到的问题,可能是因为下载的资源包不完整,缺少了一些必要的JAR文件,导致运行时出现类找...

    idcmmv精选designflow华为软件简要研发流程管理体系.pdf

    - **Etc.**:其他关键角色如配置管理人员(CMO)、MEPG(Methodology, Engineering Process Group)、CRMD(Customer Relationship Management Department)等,共同协作确保项目成功。 IPD-CMMV3.0 Design Flow...

    Delphi2007进销存源代码

    在"神马CRMD2007"这个压缩包中,可能包含了以下内容: - **源代码文件**:.pas或.dpr等扩展名的文件,这些是Delphi的源代码文件,包含了程序的逻辑和实现。 - **数据库文件**:可能有.dbf、.mdb或其它类型的数据库...

    redhat7双机配置文档

    Last change: Wed Nov 9 08:17:06 2016 by hacluster via crmd on node1 Stack: corosync Current DC: node1 (version 1.1.13-10.el7-44eb2dd) - partition with quorum 2 nodes and 0 resources configured On...

Global site tag (gtag.js) - Google Analytics