CN114077631A - 一种区块链应用***中间件的数据交互方法及中间件*** - Google Patents

一种区块链应用***中间件的数据交互方法及中间件*** Download PDF

Info

Publication number
CN114077631A
CN114077631A CN202010829799.0A CN202010829799A CN114077631A CN 114077631 A CN114077631 A CN 114077631A CN 202010829799 A CN202010829799 A CN 202010829799A CN 114077631 A CN114077631 A CN 114077631A
Authority
CN
China
Prior art keywords
block chain
application system
blockchain
machine instruction
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010829799.0A
Other languages
English (en)
Inventor
赵建良
冷杰武
石睿
卞一洋
朱薪宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
City University of Hong Kong CityU
Original Assignee
City University of Hong Kong CityU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by City University of Hong Kong CityU filed Critical City University of Hong Kong CityU
Priority to CN202010829799.0A priority Critical patent/CN114077631A/zh
Publication of CN114077631A publication Critical patent/CN114077631A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本文提供了一种区块链应用***中间件的数据交互方法及中间件***,其中,方法包括:将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令;对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息;将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。本文能够实现不同区块链应用***与不同硬件设备之间的互联,实现链上与链下的高效结合,使得区块链应用***对硬件设备的操作更加便捷。

Description

一种区块链应用***中间件的数据交互方法及中间件***
技术领域
本文涉及区块链领域,尤其涉及一种区块链应用***中间件的数据交互方法及中间件***。
背景技术
实现区块链的过程中,因为各个区块链应用***标准参差不齐,不仅给开发者带来了高昂的开放成本,不利于区块链的实现,而且还会增加代码逻辑漏洞出现的几率,降低实现安全性。底层设备与区块链应用***的信息交互一直是困扰行业的难题,区块链应用***多样化、参数不一致以及底层设备的多样性等使得底层设备与区块链应用***难以进行交互,信息上链(即信息存储于区块链应用***)难度大。
发明内容
本文用于解决现有技术中区块链应用***标准不一致,使得底层设备与区块链应用***之间存在难以交互、信息上链困难的问题。
为了解决上述技术问题,本文的第一方面提供一种区块链应用***中间件的数据交互方法,包括:
将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令;
对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息;
将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。
进一步实施例中,将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令,包括:
识别从所述区块链应用***接收的操作命令,确定硬件设备标识;
根据所述硬件设备标识,查询所述硬件设备的机器指令生成规则;
根据查询出的所述机器指令生成规则,生成所述硬件设备识别的机器指令。
进一步实施例中,对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息,包括:
获取满足所述区块链应用***的信息格式;
按所述区块链应用***的信息格式对所述制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息。
进一步实施例中,将所述机器指令发送至所述硬件设备之前还包括:
对所述机器指令做加密处理,将加密处理后的机器指令发送至所述硬件设备。
进一步实施例中,将所述区块链信息发送至所述区块链应用***之前还包括:
对所述区块链信息进行加密处理,将加密处理后的区块链信息发送至所述区块链应用***。
对所述硬件设备上传的制造数据进行数据格式转换之前还包括:
对多个硬件设备上传的制造数据进行分类处理,得到分类数据;
对所述硬件设备上传的制造数据进行数据格式转换进一步为:对所述分类信息进行数据格式转换。
进一步实施例中,区块链应用***中间件的数据交互方法还包括:
监测所述硬件设备对所述机器指令的执行情况及所述区块链信息的上传情况,若第一预定时间段内所述硬件设备未执行所述机器指令和/或第二预定时间段内未完成所述区块链信息的上传,则根据预置规则进行操作。
本文第二方面提供一种中间件***,包括:
指令转换模块,用于将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令;
数据转换模块,对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息;
通信模块,用于将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。
本文第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一项所述的区块链应用***的数据交互方法。
本文还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现前述任一项所述的区块链应用***的数据交互方法。
本文提供的区块链应用***中间件的数据交互方法及中间件***,通过在区块链应用***及硬件设备之间设置中间件,由中间件将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令;对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息;将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***,能够实现不同区块链应用***与不同硬件设备之间的互联,实现链上与链下的高效结合,使得区块链应用***对硬件设备的操作更加便捷。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例区块链应用***中间件的数据交互方法的第一流程图;
图2示出了本文实施例操作命令转换过程的流程图;
图3示出了本文实施例制造数据格式转换过程的流程图;
图4示出了本文实施例区块链应用***中间件的数据交互方法的第二流程图;
图5示出了本文实施例区块链应用***中间件的数据交互方法的第三流程图;
图6示出了本文实施例区块链应用***中间件的数据交互方法的第四流程图;
图7示出了本文实施例中间件***的第一结构图;
图8示出了本文实施例中间件***的第二结构图;
图9示出了本文实施例中间件***的第三结构图;
图10示出了本文具体实施例区块链应用***的结构图;
图11示出了本文具体实施例交互***的交互过程的流程图;
图12示出了本文实施例计算机设备的结构图。
附图符号说明:
110、120、130、210、220、230、310、320、410、420、430、440、510、520、530、540、610、620、630、640、S1~S5、步骤;
710、指令转换模块;
720、数据转换模块;
730、通信模块;
740、加密解密模块;
750、分类模块;
760、监测模块;
1010、区块链应用***;
1020、中间件***;
1030、硬件设备;
1202、计算机设备;
1204、处理器;
1206、存储器;
1208、驱动机构;
1210、输入/输出模块;
1212、输入设备;
1214、输出设备;
1216、呈现设备;
1218、图形用户接口;
1220、网络接口;
1222、通信链路;
1224、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
现有技术中,实现区块链的过程中,因为各个区块链***标准参差不齐,不仅给开发者带来了高昂的开放成本,不利于区块链的实现,而且还会增加代码逻辑漏洞出现的几率,降低实现安全性。底层设备与区块链的信息交互一直是困扰行业的难题,区块链***多样化、参数不一致以及设备的多样性等使得底层设备与区块链难以进行交互,信息上链难度大。
基于此,本文提供一种区块链应用***中间件的数据交互方法,如图1所示,图1示出了本文实施例的区块链应用***中间件的数据交互方法的流程图,中间件连接区块链应用***及硬件设备,用于对区块链应用***及硬件设备之间的交互进行处理,本实施例能够解决因现有技术中区块链应用***标准不一致,使底层设备与区块链应用***之间存在难以交互、信息上链困难的问题。具体的,区块链应用***中间件的数据交互方法包括:
步骤110,将从区块链应用***接收的操作命令转换为硬件设备识别的机器指令。
本文所述区块链应用***具有不可伪造、全程留痕、可以追溯、公开透明等特点,包括公有链应用***、私有链应用***及联盟链应用***,例如为现有的Ethereum(以太坊,)、Fabric、Corda、EOS、FISCO BCOS等区块链应该***。
本步骤于实施之前还包括:接收区块链应用***发送的用于操作硬件设备的操作命令。该操作命令可由用户登录区块链应用***的方式进行下达,还可按照程序规定进行下达,本文对此不作限定。操作命令用于对硬件设备进行操作,包括但不限于开启、关闭等等。另外,该操作命令会存储于区块链应用***中的区块中(具体存储过程参见后续实施例中区块链信息的存储过程,此处不再详述),从而能够保证操作的真实性与有效性。硬件设备例如为PLC(Programmable Logic Controller,可编程逻辑控制器)等现场可操作设备,不同的硬件设备存在着异构型,每个不同厂商的硬件设备对应不同的操作规则。机器指令为可直接控制硬件设备识别并执行的指令,以二进制的形式表示,通常由操作码和操作数两部分组成,不同硬件设备可接受的机器指令可相同也可不同,本文对此不作限定。
步骤120,对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息。
制造数据为硬件设备工作时产生的与制造的相关信息,例如工作时间、生产产品批号、产品编号等等,本文对制造数据具体不作限定,只要是硬件设备工作时产生的数据均可作为本文所述的制造数据。区块链信息为区块链应用***能够识别认可的信息,通过中间件对制造数据进行数据格式转换,能够减轻区块链应用***的数据处理压力,提高区块链应用***的服务能力。
步骤130,将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。实施时,例如采用opc(OLE for process control,应用于过程控制的OLE)、modbus(modbus protocol,串行通信协议)等通讯协议对机器指令及区块链信息进行传输,本文对具体通讯协议不作限定。
将机器指令发送至硬件设备,以便硬件设备根据机器指令进行操作,实现区块链应用***对硬件设备的控制。
将区块链应用***发送至区块链应用***,由区块链应用***记录硬件设备工作过程中产生的数据,以方便后续进行溯源,例如由用户或者生产方查询生产过程数据以验证产品是否有质量问题等等。
本文可应用于任何硬件设备与区块链有交互的场景,例如工业现场(例如零件加工生产与制造等)控制场景,本文对具体的应用场景不做限定。本文无需对现有的硬件设备及区块链应用***进行改变,就能够实现不同区块链应用***与不同硬件设备之间的互联,实现链上与链下的高效结合,使得区块链应用***对硬件设备的操作更加便捷。
本文一实施例中,如图2所示,上述步骤110将从区块链应用***接收的操作命令转换为硬件设备识别的机器指令,包括:
步骤210,识别从区块链应用***接收的操作命令,确定硬件设备标识。
具体的,操作命令中至少包括硬件设备标识,硬件设备标识用于唯一定位硬件设备,硬件设备标识例如为数字、字符、字母、符号等的组合,本文对此不作具体限定。
步骤220,根据硬件设备标识,查询硬件设备的机器指令生成规则。
其中,中间件中存储有硬件设备标识及其机器指令生成规则之间的对应关系,同类型硬件设备对应的机器指令生成规则相同,如下表1所示,S、D、M表示不同的硬件设备,001、002表示为硬件设备编号,通过在对应关系中查找硬件设备标识的方式能够确定硬件设备机器指令的生成规则。
表1
Figure BDA0002637522870000071
步骤230,根据查询出的机器指令生成规则,生成硬件设备识别的机器指令。
机器指令生成规则中规定了机器指令的生成方式,根据查询出的机器指令生成规则能够得到硬件设备识别的机器指令。
本文一实施例中,如图3所示,上述步骤120对硬件设备上传的制造数据进行数据格式转换,得到满足区块链应用***格式需求的区块链信息,包括:
步骤310,获取满足区块链应用***的信息格式。
中间件可连接多个区块链应用***及多个硬件设备,其中,硬件设备与区块链应用***之间存在连接关系,实施时,可通过硬件设备与区块链应用***之间的连接关系获取满足区块链应用***的信息格式,不同区块链应用***的信息格式可以相同,也可以不同,本文对此不作限定。具体实施时,区块链应用***信息格式可参考现有的区块链数据格式规范。
步骤320,按区块链应用***的信息格式对制造数据进行数据格式转换,得到满足区块链应用***格式需求的区块链信息。
数据格式转换例如将一布尔类型数据转换为明文数据,本文对数据格式转换具体内容不作限定,具体做何转换由制造数据及区块链应用***信息格式确定。
本文一实施例中,为了保证区块链应用***与硬件设备之间传输数据的安全性,如图4所示,区块链应用***中间件的数据交互方法包括:
步骤410,接收区块链应用***发送的操作命令,接收硬件设备上传的制造数据。
步骤420,将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令。
步骤430,对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息。
步骤440,对机器指令做加密处理,将加密处理后的机器指令发送至硬件设备,将区块链信息发送至区块链应用***。
一些实施方式中,中间件***通过与硬件设备相连的控制***(例如PLC)将机器指令发送至硬件设备。中间件***先将加密后的机器指令发送至与硬件设备相连的控制***,由该控制***中的解密模块对加密后的机器指令进行解密,将解密得到的机器指令发送至硬件设备。
其它实施方式中,硬件设备接收到加密后的机器指令之后,先利用其自身的解密模块对加密后的机器指令进行解密,解密后执行机器指令。加密解密算法由中间件与硬件设备预先约定,例如可以选用哈希算法加密、对称加密技术加密、非对称加密技术加密,加密处理具体过程可参考现有技术,本文对使用的加密算法不作具体限定。
本实施例通过对机器指令进行加密处理,能够实现对机器指令进行保护,防止机器指令泄露,进而防止硬件设备的攻击操作。
进一步的,为了保证硬件设备上传至中间件的制造数据的安全性,硬件设备先对制造数据做加密处理,接着将加密后的制造数据上传至中间件。中间件接收到加密制造数据后,先对接收到的加密制造做解密处理,然后对解密得到的制造数据进行数据格式转换,得到满足区块链应用***格式需求的区块链信息。
进一步的,为了保证中间件传输至区块链应用***的区块链信息的安全性,上述步骤440将区块链信息发送至区块链应用***之前还包括:
对区块链信息进行加密处理,将加密处理后的区块链信息发送至区块链应用***。同样,中间件与区块链应用***预先约定区块链信息的加密算法,例如可以选用哈希算法加密、对称加密技术加密、非对称加密技术加密,本文对使用的加密算法不作具体限定。
区块链应用***接收到加密后的区块链信息之后,先利用其自身的解密模块对加密后的区块链信息进行解密处理,然后对区块链信息进行分布存储。实施时,区块链应用***会先准备存储区块链信息,然后将准备的区块链信息分散在基础框架中的节点上,具体的,存储的过程可以分为如下六个步骤:
1)创建数据分片,对存储的区块链信息进行分片处理,得到数据块。
2)加密数据库,对数据块进行加密处理,以保证数据所有者拥有对数据的完全控制权。
3)为数据块生成哈希,对加密后的数据块做哈希处理,得到唯一哈希值,实施时,采用的哈希算法包括但不限于MD5(MD5 Message-Digest Algorithm,MD5消息摘要算法)和SHA(Secure Hash Algorithm,安全散列算法)等。
4)分发哈希值,将哈希值分发至区块链应用***中的节点。
5)节点记账,区块链应用***中节点存储哈希值,实施时,节点还会存储分片位置等。
以上仅为举例说明区块链应用***存储区块链信息的过程,本文对区块链应用***存储信息的过程不作限定。
本实施例通过对区块链信息进行加密处理,能够保证生成区块链信息的制造数据的安全,防止信息传输过程中泄露。
本文一实施例中,为了便于区块链应用***存储区块链信息及日后对区块链信息进行分析,如图5所示,区块链应用***中间件的数据交互方法包括:
步骤510,将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令。
步骤520,对多个硬件设备上传的制造数据分类处理,得到分类数据。
具体实施时,可根据制造数据类型(例如产品类型)对其对应的区块链信息进行分类,本文对具体分类方法不作限定。
步骤530,对分类数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息。
步骤540,将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。
本文一实施例中,为了保证区块链应用***中间件数据交互方法的正常执行,如图6所示,区块链应用***中间件的数据交互方法包括:
步骤610,将从区块链应用***接收的操作命令转换为硬件设备识别的机器指令。
步骤620,对硬件设备上传的制造数据进行数据格式转换,得到满足区块链应用***格式需求的区块链信息。
步骤630,将机器指令发送至硬件设备,将区块链信息发送至区块链应用***。
步骤640,监测硬件设备对机器指令的执行情况及区块链信息的上传情况,若第一预定时间段内硬件设备未执行机器指令和/或第二预定时间段内未完成区块链信息的上传,则根据预置规则进行操作。实施时,为了便于后续分析,还记录错误操作,并发送给用户或管理员,以便通知用户或管理员及时处理。
本文所述的第一预定时间及第二预定时间可根据实际情况进行设定,例如第一预定时间可根据硬件设备平均执行机器指令时间确定,第二预定时间可根据区块链信息平均上传时间确定,本文对第一预定时间及第二预定时间具体取值不作限定。
预置规则用于当中间件与硬件设备及区块链应用***交互出现问题时,及时解决或处理问题,包括但不限于:若第一预定时间内硬件设备未执行机器指令,则将该机器指令分配至另一相似硬件设备(具有相同的机器指令)或另一相同硬件设备,或者等待一段时间再重新下发机器指令,或者发送提示信息给管理者等等,提示信息例如为硬件设备执行出现故障、区块链应用***未能及时更新数据等等。具体实施时,预置规则可包括多个处理方案,每一处理方案均设置有优先级别,按优先级别从高到低的顺序逐一实施处理方案,若处理方案未执行成功,则执行下一优先级别的处理方案,该优先级别可根据实际情况进行设定,且预置规则可以进行动态更新。
基于同一发明构思,本文还提供一种中间件***,中间件***解决问题的原理与区块链应用***中间件数据交互方法相同,重复之处参见区块链应用***中间件数据交互方法,本文对此不再详述。中间件***可对接不同区块链应用***与不同硬件设备,具体的,如图7所示,中间件***包括:
指令转换模块710,用于将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令。其中,区块链***包括但不限于Ethereum(以太坊,)、Fabric、Corda、EOS、FISCO BCOS等区块链应该***。操作命令用于对硬件设备进行操作,包括但不限于开启、关闭等等。硬件设备例如为PLC(Programmable Logic Controller,可编程逻辑控制器)等现场可操作设备。机器指令为可直接控制硬件设备识别并执行的指令,以二进制的形式表示,通常由操作码和操作数两部分组成,不同硬件设备可接受的机器指令可相同也可不同,本文对此不作限定。
数据转换模块720,对所述硬件设备上传的制造数据进行数据格式转换(数据格式转换例如将一布尔类型数据转换为明文数据),得到满足所述区块链应用***格式需求的区块链信息。其中,制造数据为硬件设备工作时产生的与制造的相关信息,例如工作时间、生产地、生产产品批号、产品编号等等。区块链信息为区块链应用***能够识别认可的信息,通过中间件对制造数据进行转换,能够减轻区块链应用***的数据处理压力,提高区块链应用***的服务能力。
通信模块730,用于将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。通信模块730可采用opc、modbus等通讯协议对机器指令及区块链信息进行传输,本文对具体通讯协议不作限定。
具体实施时,中间件***可以通过逻辑电路实现,且运行于智能终端,例如计算机设备、平板电脑等设备中,或者以功能模块的方式由软件实现各模块的功能,运行于所述智能终端上,本文对中间件***具体实施方式不做限定。
一些实施方式中,指令转换模块710将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令的过程包括:识别从所述区块链应用***接收的操作命令,确定硬件设备标识,其中,操作命令中至少包括硬件设备标识,硬件设备标识用于唯一定位硬件设备,硬件设备标识例如为数字、字符、字母、符号等的组合,本文对此不作具体限定;根据所述硬件设备标识,查询所述硬件设备的机器指令生成规则;机器指令生成规则中规定了机器指令的生成方式,根据查询出的机器指令生成规则能够得到硬件设备识别的机器指令。
一些实施方式中,数据转换模块720对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息的过程包括:获取满足所述区块链应用***的信息格式;按所述区块链应用***的信息格式对所述制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息。
本文一实施例中,中间件***还包括:时间触发接口(与硬件设备及区块链应用***的连接接口),当接口实例化后(即在接口中写入连接函数后)通过时间触发接口实现制造数据的自动读取及区块链信息的实时反馈。
本文一实施例中,为了保证中间件向区块链应用***及硬件设备发送信息的安全性,如图8所示,本文所述的中间件***还包括:
加密解密模块740,用于将所述机器指令发送至所述硬件设备之前对所述机器指令做加密处理,由通信模块730将加密处理后的机器指令发送至所述硬件设备。硬件设备接收到加密后的机器指令之后,先利用其自身的解密模块对加密后的机器指令进行解密,解密后执行机器指令。
加密解密模块740还用于将所述区块链信息发送至所述区块链应用***之前对所述区块链信息进行加密处理,由通信模块730将加密处理后的区块链信息发送至所述区块链应用***。区块链应用***接收到加密后的区块链信息之后,先利用其自身的解密模块对加密后的区块链信息进行解密处理,然后对区块链信息进行分布存储。
加密解密模块740与硬件设备、区块链应用***预先约定加密算法,所采用的加密算法包括但不限哈希算法、对称加密技术、非对称加密技术等等,加密处理具体过程可参考现有技术。
本文一实施例中,为了便于区块链应用***存储区块链信息及日后对区块链信息进行分析,如图9所示,中间件***还包括:
分类模块750,用于对多个硬件设备上传的制造数据分类处理,得到分类数据。具体实施时,可根据制造数据类型(例如产品类型)对其对应的区块链信息进行分类,本文对具体分类方法不作限定。
进一步的,数据转换模块720用于对分类数据进行格式转换,得到满足区块链格式需求的区块链信息。
本实施例通过预先对多个硬件设备上传的制造数据进行分类处理,能够便于用户从区块链***中查询制造数据,减少后续数据分析的处理。
本文一实施例中,为了保证区块链应用***中间件数据交互方法的正常执行,中间件***还包括:
监测模块760(如图9所示),用于监测所述硬件设备对所述机器指令的执行情况及所述区块链信息的上传情况,若第一预定时间段内所述硬件设备未执行所述机器指令和/或第二预定时间段内未完成所述区块链信息的上传,则确定中间件执行有误,根据预置规则进行操作。实施时,为了便于后续分析,还记录错误操作,并发送给用户或管理员,已通知用户或管理员及时处理。
本实施例所述的第一预定时间及第二预定时间可根据实际情况进行设定,例如第一预定时间可根据硬件设备平均执行机器指令时间确定,第二预定时间可根据区块链信息平均上传时间确定,本文对第一预定时间及第二预定时间具体取值不作限定。
预置规则用于当中间件与硬件设备及区块链应用***交互出现问题时,及时解决或处理问题,包括但不限于:若第一预定时间内硬件设备未执行机器指令,则将该机器指令分配至另一相似硬件设备(具有相同的机器指令)或另一相同硬件设备,或者等待一段时间再重新下发机器指令,或者发送提示信息给管理者等等,提示信息例如为硬件设备执行出现故障、区块链应用***未能及时更新数据等等。具体实施时,预置规则可包括多个处理方案,每一处理方案均设置有优先级别,按优先级别从高到低的顺序逐一实施处理方案,若处理方案未执行成功,则执行下一优先级别的处理方案,该优先级别可根据实际情况进行设定,且预置规则可以进行动态更新,可利用强化学习等进行学习以更新预置规则。
本文提供的中间件***,能够实现不同区块链应用***与不同硬件设备之间的互联,实现链上与链下的高效结合,使得区块链应用***对硬件设备的操作更加便捷。
本文一实施例中,还提供一种交互***,如图10所示,包括:区块链应用***1010、中间件***1020及硬件设备1030,中间件***1020用于实现区块链应用***1010对硬件设备1030的控制以及区块链应用***1010对硬件设备1030产生的制造数据进行存储,具体的,如图11所示,交互***的交互过程包括:
步骤S1,区块链应用***1010发送硬件设备1030的操作命令至中间件***1020,其中,该操作命令中包括硬件设备标识D001。
步骤S2,中间件***1020接收操作命令,识别操作命令从而确定硬件设备标识,根据硬件设备标识从表2中查询硬件设备的机器指令生成规则,得到规则1,根据查询出的规则1,生成硬件设备识别的机器指令,将机器指令加密后发送至相应硬件设备1030。
表2
Figure BDA0002637522870000131
Figure BDA0002637522870000141
步骤S3,硬件设备1030接收区块链应用***1010发送的加密后的机器指令,按预先约定的解密算法对加密后的机器指令做解密处理,得到机器指令,根据解密得到的机器指令控制硬件设备1030执行。
步骤S4,硬件设备1030执行过程中会产生制造数据,根据硬件设备中加密解密模块对制造数据进行加密处理,将加密制造数据发送至中间件***1020,其中,制造数据包括工作时间、生产产品批号、产品编号。
步骤S5,中间件***1020接收硬件设备1030发送的加密制造数据后,执行如下操作:
首先,对加密制造数据进行解密处理得到制造数据;
然后,对多个硬件设备1030的制造数据进行分类处理,得到分类信息;
接着,根据区块链应用***1010所需信息格式对分类信息进行数据格式转换,得到满足区块链应用***1010所需信息格式的区块链信息;
最后,对区块链信息做加密处理,将加密处理后的区块链信息发送至区块链应用***1010。
步骤S6,区块链应用***1010接收到中间件***1020发送的加密区块信息后,先对中间件***1020发送的信息做解密处理得到区块链信息,然后通过区块链应用***1010中区块链节点以投票验证的方式完成区块链信息的存储。
本实施例可应用于各种控制硬件设备及硬件设备制造数据上链的场景,能够通过中间件***实现不同区块链应用***与不同硬件识别的互联,实现链上及链下的高效结合。
本文所述的区块链应用***中间件的数据交互方法、中间件***以及交互***,能够实现如下技术效果:
1)实现不同区块链应用***与不同机械设备的互联,实现区块链软件与设备硬件联通;
2)降低因各个区块链应用***标准参差不齐导致高昂的成本;
3)通过对发送至硬件设备的机器指令及发送至区块链应用***的区块链信息进行加密,能够提升信息传输的安全性,避免传输过程导致的信息泄露;
4)区块链信息的上链与机器指令的下达更加便捷,减轻区块链应用***及硬件设备的处理压力。
本文一实施例中,还提供一种计算机设备,如图12所示,计算机设备1202可以包括一个或多个处理器1204,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1202还可以包括任何存储器1206,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一实施方式中,存储器1206上存储有可在处理器1204上运行的计算机程序,处理器1204执行计算机程序时实现前述任一实施例所述的区块链应用***的数据交互方法。非限制性的,比如,存储器1206可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1202的固定或可移除部件。在一种情况下,当处理器1204执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1202可以执行相关联指令的任一操作。计算机设备1202还包括用于与任何存储器交互的一个或多个驱动机构1208,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备1202还可以包括输入/输出模块1210(I/O),其用于接收各种输入(经由输入设备1212)和用于提供各种输出(经由输出设备1214))。一个具体输出机构可以包括呈现设备1216和相关联的图形用户接口(GUI)1218。在其他实施例中,还可以不包括输入/输出模块1210(I/O)、输入设备1212以及输出设备1214,仅作为网络中的一台计算机设备。计算机设备1202还可以包括一个或多个网络接口1220,其用于经由一个或多个通信链路1222与其他设备交换数据。一个或多个通信总线1224将上文所描述的部件耦合在一起。
通信链路1222可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1222可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本文一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行实现前述任一实施例所述的区块链应用***的数据交互方法。
本文一实施例中,还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行实现前述任一实施例所述的区块链应用***的数据交互方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。

Claims (10)

1.一种区块链应用***中间件的数据交互方法,其特征在于,包括:
将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令;
对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息;
将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。
2.如权利要求1所述的方法,其特征在于,将从所述区块链应用***接收的操作命令转换为硬件设备识别的机器指令,包括:
识别从所述区块链应用***接收的操作命令,确定硬件设备标识;
根据所述硬件设备标识,查询所述硬件设备的机器指令生成规则;
根据查询出的所述机器指令生成规则,生成所述硬件设备识别的机器指令。
3.如权利要求1所述的方法,其特征在于,对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息,包括:
获取满足所述区块链应用***的信息格式;
按所述区块链应用***的信息格式对所述制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息。
4.如权利要求1所述的方法,其特征在于,将所述机器指令发送至所述硬件设备之前还包括:
对所述机器指令做加密处理,将加密处理后的机器指令发送至所述硬件设备。
5.如权利要求1所述的方法,其特征在于,将所述区块链信息发送至所述区块链应用***之前还包括:
对所述区块链信息进行加密处理,将加密处理后的区块链信息发送至所述区块链应用***。
6.如权利要求1所述的方法,其特征在于,对所述硬件设备上传的制造数据进行数据格式转换之前还包括:
对多个硬件设备上传的制造数据进行分类处理,得到分类数据;
对所述硬件设备上传的制造数据进行数据格式转换进一步为:对所述分类信息进行数据格式转换。
7.如权利要求1所述的方法,其特征在于,还包括:
监测所述硬件设备对所述机器指令的执行情况及所述区块链信息的上传情况,若第一预定时间段内所述硬件设备未执行所述机器指令和/或第二预定时间段内未完成所述区块链信息的上传,则根据预置规则进行操作。
8.一种中间件***,其特征在于,包括:
指令转换模块,用于将从区块链应用***接收的操作命令转换为硬件设备识别的机器指令;
数据转换模块,对所述硬件设备上传的制造数据进行数据格式转换,得到满足所述区块链应用***格式需求的区块链信息;
通信模块,用于将所述机器指令发送至所述硬件设备,将所述区块链信息发送至所述区块链应用***。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的区块链应用***中间件的数据交互方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的区块链应用***中间件的数据交互方法。
CN202010829799.0A 2020-08-18 2020-08-18 一种区块链应用***中间件的数据交互方法及中间件*** Pending CN114077631A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010829799.0A CN114077631A (zh) 2020-08-18 2020-08-18 一种区块链应用***中间件的数据交互方法及中间件***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010829799.0A CN114077631A (zh) 2020-08-18 2020-08-18 一种区块链应用***中间件的数据交互方法及中间件***

Publications (1)

Publication Number Publication Date
CN114077631A true CN114077631A (zh) 2022-02-22

Family

ID=80281424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010829799.0A Pending CN114077631A (zh) 2020-08-18 2020-08-18 一种区块链应用***中间件的数据交互方法及中间件***

Country Status (1)

Country Link
CN (1) CN114077631A (zh)

Similar Documents

Publication Publication Date Title
CN111543031B (zh) 用于控制和/或监控装置的方法和控制***
US8612762B2 (en) Communications apparatus, communications system, and method of setting certificate
US20140173688A1 (en) Method and System for Providing Device-Specific Operator Data for an Automation Device in an Automation Installation
US20050160259A1 (en) Digital certificate management system, apparatus and software program
CN109587142B (zh) 一种面向业务流的数据安全接入模块和设备
CN112070516A (zh) 产品的溯源方法、装置和区块链***
US20230006821A1 (en) Cryptographic feature licensing
CN108536522A (zh) 一种智能表单应用方法及***
US8832446B2 (en) Secure data transfer in an automation network
EP3667526A1 (en) Rapid file authentication on automation devices
US11231958B2 (en) Method and control system for controlling and/or monitoring devices
CN114077631A (zh) 一种区块链应用***中间件的数据交互方法及中间件***
CN116707782A (zh) 密码批量自动化更改方法、装置、电子设备及存储介质
CN112583594A (zh) 数据处理方法、采集设备和网关、可信平台及存储介质
CN112005535B (zh) 用于保护自动化部件的方法
CN113611013B (zh) 一种数据中转方法、***以及装置
CN112379889B (zh) 一种ic远程自助烧录方法与***
CN104486323A (zh) 一种pos终端安全受控的联网激活方法及装置
CN110808943B (zh) 客户端连接应急管理方法、客户端及计算机可读存储介质
CN113497795A (zh) 生产设备的访问控制方法、设备控制器及云服务***
EP4175220A1 (en) Secure provisioning of devices in industrial automation systems
KR102334896B1 (ko) 키 자동 갱신형 조인방법, 장치 및 프로그램
CN102761849A (zh) 一种短信网络管理方法及装置
US20220137601A1 (en) Certificate Management Integrated into a Plant Planning Tool
CN113722137A (zh) 用于共享工业智能设备故障修复方案的方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination