一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链数据存储的工程订单结算方法及系统与流程

2021-11-24 21:21:00 来源:中国专利 TAG:


1.本发明属于电力交易管理领域,尤其涉及一种基于区块链数据存储的工程订单结算方法及系统。


背景技术:

2.传统的电力公司在工程实施过程中常常涉及到大量工程订单,并需要通过层层审核部门对这些工程订单的纸质单据进行审核完成结算,因此经常由于不同电力公司、不同工作部门的工程管理流程的差异影响工程订单的结算效率,也无法避免信息不共享、不透明,导致难以对工程订单进行溯源,难以及时发现交易异常的弊端。
3.区块链是一个去中心化的数据库,工程订单管理全过程的数据的上链存储通常只需要将数据上链即可解决上述弊端。但是区块链上的存储空间是极其宝贵和有限的,并且电力公司的工程订单涉及到海量的非结构化数据,目前的区块链节点还足以支持高容量数据流,直接上链存储会对区块链节点造成巨大的运算负担,导致无法满足工程订单结算的需求。


技术实现要素:

4.为了解决现有技术中存在的缺点和不足,本发明提出了一种基于区块链数据存储的工程订单结算方法,包括:
5.通过erp系统获取工程订单,提取工程订单中的结构化数据和非结构化数据,为工程订单生成区块链节点;
6.提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中;
7.根据结构化数据提取出工程订单涉及到的订单对象和订单类型,基于订单对象与订单类型对应的结算规则生成智能合约,基于内容存证方式将智能合约与结构化数据共同存储到区块链节点中;
8.当接收到工程订单结算请求时,根据存储的智能合约执行工程订单的结算,将工程订单的结算结果同步到erp系统。
9.可选的,所述提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中,包括:
10.当非结构化数据的类型为图片时,将图片进行灰度处理,将由灰度处理后图片中每个像素点的灰度值组成的矩阵作为非结构化数据的特征数据;
11.计算特征数据的哈希值,将图片在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
12.可选的,所述提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中,包括:
13.当非结构化数据的类型为工程文档时,查询erp系统中是否有预先存储的工程文
档对应的通用模板,若有通用模板,筛除文档与通用模板重合的部分,将筛除后的文档作为非结构化数据的特征数据;
14.计算特征数据的哈希值,将工程文档在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
15.可选的,所述提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中,包括:
16.当非结构化数据的类型为工程文档时,查询erp系统中是否有预先存储的工程文档对应的通用模板,若没有通用模板,通过将工程文档与erp系统中预先存储的关键词列表进行比对,提取出工程文档中的关键词作为特征数据;
17.计算特征数据的哈希值,将工程文档在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
18.可选的,所述当接收到工程订单结算请求时,根据存储的智能合约执行工程订单的结算,将工程订单的结算结果同步到erp系统,包括:
19.当接收到工程订单结算请求时,判断工程订单结算请求的发送发是否与订单对象一致,若不一致则拒绝工程订单结算请求;
20.若一致,基于智能合约对工程订单进行结算,根据工程订单的结算结果和智能合约执行完成时间,生成新的区块链节点;
21.将新的区块链节点上的内容同步至erp系统。
22.可选的,所述区块链节点通过erp网关接收待存储的结构化数据和非结构化数据。
23.可选的,所述区块链节点基于hyperledger fabric框架搭建。
24.本发明还基于同样的思路提出了一种基于区块链数据存储的工程订单结算系统,包括:
25.数据获取单元:用于通过erp系统获取工程订单,提取工程订单中的结构化数据和非结构化数据,为工程订单生成区块链节点;
26.第一处理单元:用于提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中;
27.第二处理单元:用于根据结构化数据提取出工程订单涉及到的订单对象和订单类型,基于订单对象与订单类型对应的结算规则生成智能合约,基于内容存证方式将智能合约与结构化数据共同存储到区块链节点中;
28.执行单元:用于当接收到工程订单结算请求时,根据存储的智能合约执行工程订单的结算,将工程订单的结算结果同步到erp系统。
29.本发明提供的技术方案带来的有益效果是:
30.将区块链应用到电力公司的工程订单结算流程中,实现各个电力公司的链上结算,减少了传统结算过程中涉及的大量纸质单据、线下交互和人工操作,提高了电力公司结算管理的效率,同时利用区块链技术去中心化、无法篡改的特点,解决了不同电力公司结算记录随以篡改的弊端,降低了结算风险。
31.此外,本发明提出的工程订单结算方法能够针对工程订单处理过程中涉及到的不同数据结构类型的特性,采用不同的数据处理及上链方式,从而筛除了冗余数据,节省了非结构化数据在区块链上的存储空间。
附图说明
32.为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本发明一实施例提出的基于区块链数据存储的工程订单结算方法的流程示意图;
34.图2为本发明一实施例提出的工程订单结算一体化平台的架构框图;
35.图3为本发明另一实施例提出的基于区块链数据存储的工程订单结算系统的结构框图。
具体实施方式
36.为使本发明的结构和优点更加清楚,下面将结合附图对本发明的结构作进一步地描述。
37.实施例一
38.如图1所述,本实施例提出了一种基于区块链数据存储的工程订单结算方法,包括:
39.s1:通过erp系统获取工程订单,提取工程订单中的结构化数据和非结构化数据,为工程订单生成区块链节点;
40.s2:提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中;
41.s3:根据结构化数据提取出工程订单涉及到的订单对象和订单类型,基于订单对象与订单类型对应的结算规则生成智能合约,基于内容存证方式将智能合约与结构化数据共同存储到区块链节点中;
42.s4:当接收到工程订单结算请求时,根据存储的智能合约执行工程订单的结算,将工程订单的结算结果同步到erp系统。
43.针对电力交易过程中的繁琐过程以及篡改风险,引入区块链技术实现去中心化交易。区块链技术脱胎于比特币,其“去中心化、去信任、无法篡改、透明开放、可追溯”的特点,如今逐渐应用于各行各业的价值交易和数据共享的应用场景中。将区块链应用到电力交易中,实现各个电力公司的链上交易,减少了传统电力交易结算过程中涉及的大量纸质单据、线下交互和人工操作,提高了电力公司交易管理的效率,同时利用区块链技术去中心化、无法篡改的特点,解决了不同电力公司结算记录随以篡改的弊端,降低了结算风险。并且本实施例能够针对工程订单处理过程中涉及到的不同数据结构类型的特性,采用不同的数据处理及上链方式,从而筛除了冗余数据,节省了非结构化数据在区块链上的存储空间。
44.本实施例所提出的电力交易订单处理方法基于图2所示的工程订单结算一体化平台实现,所述工程订单结算一体化平台包括内网服务器以及区块链平台两部分,内网服务器和所述区块链平台之间设置有防火墙,起到内外网隔离的作用。erp系统和电子签章系统均部署在参与交易的电力公司的内网服务器中,erp系统和电子签章系统之间通过服务总线实现业务信息的交互。本实施例所提出的工程订单结算方法基于上述工程订单结算一体化平台实现,工程订单经过电子签章系统的ca认证后上传至erp系统,在内网服务器中完成
结构化数据和非结构化数据的处理以及上链准备,并通过erp网关将待上链的内容上传至区块链平台中的区块链节点上,至此完成工程订单涉及的各类数据的存储。同时,内网服务器中还部署有电力公司财务数据库,将完成工程订单结算后的财务数据存储到电力公司的财务数据库中,所述财务数据库部署在云服务端的rds数据库,所述财务数据库和erp系统与云服务端之间的中间件基于tomcat8.x搭建财务数据库还存储有电力公司与其他外部公司的工程合同、售电合同等文件,在编写智能合约时,区块链平台将访问财务数据库中存储的与具体交易相关的合同文件,根据访问得到的数据生成智能合约。
45.在本实施例中,内网服务器通过负载均衡设置虚拟ip,根据业务的实际增长情况实现应用服务器的横向扩展,把位于同一数据中心的多台云服务器资源虚拟成一个高性能、高可用的应用服务池,再根据应用特性,将来自客户端的网络请求分发到云服务器池中,提高了内网服务器的可扩展性,提高了业务容量。
46.在本实施例中,内网服务器的应用包括接口层服务、数据存储服务以及业务流程服务,其中,接口层服务ocr发票自动识别集成接口、ca签章集成接口、文件服务器集成接口以及erp系统集成接口,数据存储服务包括基于mysql db的合同文件存储和财务数据存储,业务流程服务包括订单创建服务、用户权限管理、单据报审管理以及订单token追踪,上述应用开发采用java springboot mybatis的框架,前端使用jquery和ajax技术。
47.区块链平台通过erp网关与erp系统进行信息交互,erp网关能够提供xml转换服务作为与erp系统的接口服务,实现外部系统与区块链平台的数据接入与输出。本实施例中,区块链平台基于ibm和dah主导开发的开源区块链框架hyperledger fabric框架将区块链节点搭建为电网交易的私链。
48.在本实施例中,所述结构化数据包括工程订单涉及到的订单对象、订单类型、订单金额、财务凭证编码等具有预先定义结构的数据,这类数据通过具有统一的数据结构,因此上链后占用的区块链资源相对固定,因此本实施例中采用内容存证方式进行上链。同理,智能合约作为一种以信息化方式传播、验证或执行合同的计算机协议,通常功能不会很强大,而且采用规定的编程语言编译后的代码量都很小,占用的区块链资源同样比较少。因此,本实施例中结构化数据和智能合约均采用内容存证方式上链。所谓内容存证,就是指把要存储的内容直接放入到区块链之中。因为区块链上的公开透明性,所以上述内容直接上链就代表着这些内容都是公开的。
49.在实际的工程订单中,还存在大量的非结构化数据,本实施例中所述非结构化数据包括工程订单设计到的各类图片,如工程施工图纸、电力设备样机图片等,还包括工程实施过程中需要的各类工程文档,如施工标准文档、电力设备开发说明书等。非结构化数据由于数据结构不规则,数据容量也可大可小,因此上链后占用的区块链资源不固定,如果同样采用内容存证的方式上链有可能耗费大量区块链资源。因此,本实施例针对不同类型的非结构化数据进行不同的降维处理后再上链,具体包括:
50.当非结构化数据的类型为图片时,将图片进行灰度处理,将由灰度处理后图片中每个像素点的灰度值组成的矩阵作为非结构化数据的特征数据;
51.计算特征数据的哈希值,将图片在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
52.再将图片转化为灰度值组成的矩阵的过程中,在一定程度中实现了图片数据的降
维处理,降低了数据量。同时,将矩阵对应的哈希值存储到区块链节点中,进一步压缩数据占用的区块链容量的同时,也能根据哈希值验证区块链节点上存储的内容是否被非法篡改。
53.当非结构化数据的类型为工程文档时,查询erp系统中是否有预先存储的工程文档对应的通用模板,若有通用模板,筛除文档与通用模板重合的部分,将筛除后的文档作为非结构化数据的特征数据;计算特征数据的哈希值,将工程文档在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中;
54.若没有通用模板,通过将工程文档与erp系统中预先存储的关键词列表进行比对,提取出工程文档中的关键词作为特征数据;计算特征数据的哈希值,将工程文档在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
55.通过上述处理能够去除工程文档中的冗余数据,在一定程度中实现了工程文档数据的降维处理,降低了数据量。与非结构化数据的类型为图片时同理,将特征数据对应的哈希值存储到区块链节点中,进一步压缩数据占用的区块链容量的同时,也能根据哈希值验证区块链节点上存储的内容是否被非法篡改。
56.除此之外,本实施例中非结构化数据采用链接存证方式上链,链接存证相当于哈希存证基础上有添加了文件的存储地址,这样区块链上就存储了文件地址与文件数字指纹两个内容。这两个内容可以互相印证,使链上内容还包括了非结构化数据在erp系统中的原始存储地址,便于获取原始数据。对大容量非结构化数据,通过链接存证方式保存上链,即可以保障数据的完整性与不可篡改,又避免了大容量数据上链造成的系统拥堵与存储浪费。
57.在本实施例中,根据订单对象访问相应的内网服务器,通过文件服务器集成接口基于订单类型获取与订单对象签订的合同文件,基于合同文件中的规定的结算规则生成智能合约,所述智能合约由开发人员采用solidity等编程语言进行编写。
58.智能合约是规则公开透明、合约内的规则以及数据对外部可见的计算机协议程序,不会存在任何虚假或者隐藏的交易,因此赋予了区块链技术不可篡改的特性。基于智能合约对工程订单进行结算处理,解决了不同电力公司结算记录随以篡改的弊端。
59.为了进一步提高工程订单处理过程的安全性,本实施例当接收到工程订单结算请求时,判断工程订单结算请求的发送发是否与订单对象一致,若不一致则拒绝工程订单结算请求;若一致,基于智能合约对工程订单进行结算,根据工程订单的结算结果和智能合约执行完成时间,生成新的区块链节点;将新的区块链节点上的内容同步至erp系统。所述新的区块链节点上包含由上述工程订单结算结果,如报销金额、账面剩余金额等,同时新的区块链节点还带有基于智能合约执行完成时间生成的事件戳。此后,当获取到下一个工程订单时,在这个新的区块链节点上重复上述工程订单结算方法,从而实现工程订单数量过程的有效溯源。
60.实施例二
61.如图3所述,本实施例提出了一种基于区块链数据存储的工程订单结算系统5,包括:
62.数据获取单元51:用于通过erp系统获取工程订单,提取工程订单中的结构化数据和非结构化数据,为工程订单生成区块链节点;
63.第一处理单元52:用于提取与非结构数据的类型对应的特征数据,将特征数据基于链接存证方式存储到区块链节点中;
64.第二处理单元53:用于根据结构化数据提取出工程订单涉及到的订单对象和订单类型,基于订单对象与订单类型对应的结算规则生成智能合约,基于内容存证方式将智能合约与结构化数据共同存储到区块链节点中;
65.执行单元54:用于当接收到工程订单结算请求时,根据存储的智能合约执行工程订单的结算,将工程订单的结算结果同步到erp系统。
66.针对电力交易过程中的繁琐过程以及篡改风险,引入区块链技术实现去中心化交易。区块链技术脱胎于比特币,其“去中心化、去信任、无法篡改、透明开放、可追溯”的特点,如今逐渐应用于各行各业的价值交易和数据共享的应用场景中。将区块链应用到电力交易中,实现各个电力公司的链上交易,减少了传统电力交易结算过程中涉及的大量纸质单据、线下交互和人工操作,提高了电力公司交易管理的效率,同时利用区块链技术去中心化、无法篡改的特点,解决了不同电力公司结算记录随以篡改的弊端,降低了结算风险。并且本实施例能够针对工程订单处理过程中涉及到的不同数据结构类型的特性,采用不同的数据处理及上链方式,从而筛除了冗余数据,节省了非结构化数据在区块链上的存储空间。
67.本实施例所提出的电力交易订单处理方法基于图2所示的工程订单结算一体化平台实现,所述工程订单结算一体化平台包括内网服务器以及区块链平台两部分,内网服务器和所述区块链平台之间设置有防火墙,起到内外网隔离的作用。erp系统和电子签章系统均部署在参与交易的电力公司的内网服务器中,erp系统和电子签章系统之间通过服务总线实现业务信息的交互。本实施例所提出的工程订单结算方法基于上述工程订单结算一体化平台实现,工程订单经过电子签章系统的ca认证后上传至erp系统,在内网服务器中完成结构化数据和非结构化数据的处理以及上链准备,并通过erp网关将待上链的内容上传至区块链平台中的区块链节点上,至此完成工程订单涉及的各类数据的存储。同时,内网服务器中还部署有电力公司财务数据库,将完成工程订单结算后的财务数据存储到电力公司的财务数据库中,所述财务数据库部署在云服务端的rds数据库,所述财务数据库和erp系统与云服务端之间的中间件基于tomcat8.x搭建财务数据库还存储有电力公司与其他外部公司的工程合同、售电合同等文件,在编写智能合约时,区块链平台将访问财务数据库中存储的与具体交易相关的合同文件,根据访问得到的数据生成智能合约。
68.在本实施例中,内网服务器通过负载均衡设置虚拟ip,根据业务的实际增长情况实现应用服务器的横向扩展,把位于同一数据中心的多台云服务器资源虚拟成一个高性能、高可用的应用服务池,再根据应用特性,将来自客户端的网络请求分发到云服务器池中,提高了内网服务器的可扩展性,提高了业务容量。
69.在本实施例中,内网服务器的应用包括接口层服务、数据存储服务以及业务流程服务,其中,接口层服务ocr发票自动识别集成接口、ca签章集成接口、文件服务器集成接口以及erp系统集成接口,数据存储服务包括基于mysql db的合同文件存储和财务数据存储,业务流程服务包括订单创建服务、用户权限管理、单据报审管理以及订单token追踪,上述应用开发采用java springboot mybatis的框架,前端使用jquery和ajax技术。
70.区块链平台通过erp网关与erp系统进行信息交互,erp网关能够提供xml转换服务作为与erp系统的接口服务,实现外部系统与区块链平台的数据接入与输出。本实施例中,
区块链平台基于ibm和dah主导开发的开源区块链框架hyperledger fabric框架将区块链节点搭建为电网交易的私链。
71.在本实施例中,所述结构化数据包括工程订单涉及到的订单对象、订单类型、订单金额、财务凭证编码等具有预先定义结构的数据,这类数据通过具有统一的数据结构,因此上链后占用的区块链资源相对固定,因此本实施例中第一处理单元52采用内容存证方式进行上链。同理,智能合约作为一种以信息化方式传播、验证或执行合同的计算机协议,通常功能不会很强大,而且采用规定的编程语言编译后的代码量都很小,占用的区块链资源同样比较少。因此,本实施例中结构化数据和智能合约均采用内容存证方式上链。所谓内容存证,就是指把要存储的内容直接放入到区块链之中。因为区块链上的公开透明性,所以上述内容直接上链就代表着这些内容都是公开的。
72.在实际的工程订单中,还存在大量的非结构化数据,本实施例中所述非结构化数据包括工程订单设计到的各类图片,如工程施工图纸、电力设备样机图片等,还包括工程实施过程中需要的各类工程文档,如施工标准文档、电力设备开发说明书等。非结构化数据由于数据结构不规则,数据容量也可大可小,因此上链后占用的区块链资源不固定,如果同样采用内容存证的方式上链有可能耗费大量区块链资源。因此,本实施例第二处理单元53针对不同类型的非结构化数据进行不同的降维处理后再上链,具体用于:
73.当非结构化数据的类型为图片时,将图片进行灰度处理,将由灰度处理后图片中每个像素点的灰度值组成的矩阵作为非结构化数据的特征数据;
74.计算特征数据的哈希值,将图片在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
75.再将图片转化为灰度值组成的矩阵的过程中,在一定程度中实现了图片数据的降维处理,降低了数据量。同时,将矩阵对应的哈希值存储到区块链节点中,进一步压缩数据占用的区块链容量的同时,也能根据哈希值验证区块链节点上存储的内容是否被非法篡改。
76.当非结构化数据的类型为工程文档时,查询erp系统中是否有预先存储的工程文档对应的通用模板,若有通用模板,筛除文档与通用模板重合的部分,将筛除后的文档作为非结构化数据的特征数据;计算特征数据的哈希值,将工程文档在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中;
77.若没有通用模板,通过将工程文档与erp系统中预先存储的关键词列表进行比对,提取出工程文档中的关键词作为特征数据;计算特征数据的哈希值,将工程文档在erp系统中的存储地址与哈希值拼接,将拼接得到的字符串存储到区块链节点中。
78.通过上述处理能够去除工程文档中的冗余数据,在一定程度中实现了工程文档数据的降维处理,降低了数据量。与非结构化数据的类型为图片时同理,将特征数据对应的哈希值存储到区块链节点中,进一步压缩数据占用的区块链容量的同时,也能根据哈希值验证区块链节点上存储的内容是否被非法篡改。
79.除此之外,本实施例中非结构化数据采用链接存证方式上链,链接存证相当于哈希存证基础上有添加了文件的存储地址,这样区块链上就存储了文件地址与文件数字指纹两个内容。这两个内容可以互相印证,使链上内容还包括了非结构化数据在erp系统中的原始存储地址,便于获取原始数据。对大容量非结构化数据,通过链接存证方式保存上链,即
可以保障数据的完整性与不可篡改,又避免了大容量数据上链造成的系统拥堵与存储浪费。
80.在本实施例中,根据订单对象访问相应的内网服务器,通过文件服务器集成接口基于订单类型获取与订单对象签订的合同文件,基于合同文件中的规定的结算规则生成智能合约,所述智能合约由开发人员采用solidity等编程语言进行编写。
81.智能合约是规则公开透明、合约内的规则以及数据对外部可见的计算机协议程序,不会存在任何虚假或者隐藏的交易,因此赋予了区块链技术不可篡改的特性。基于智能合约对工程订单进行结算处理,解决了不同电力公司结算记录随以篡改的弊端。
82.为了进一步提高工程订单处理过程的安全性,本实施例中执行单元54用于当接收到工程订单结算请求时,判断工程订单结算请求的发送发是否与订单对象一致,若不一致则拒绝工程订单结算请求;若一致,基于智能合约对工程订单进行结算,根据工程订单的结算结果和智能合约执行完成时间,生成新的区块链节点;将新的区块链节点上的内容同步至erp系统。所述新的区块链节点上包含由上述工程订单结算结果,如报销金额、账面剩余金额等,同时新的区块链节点还带有基于智能合约执行完成时间生成的事件戳。此后,当获取到下一个工程订单时,在这个新的区块链节点上重复上述工程订单结算方法,从而实现工程订单数量过程的有效溯源。
83.上述实施例中的各个序号仅仅为了描述,不代表各部件的组装或使用过程中的先后顺序。
84.以上所述仅为本发明的实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献