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

一种基于区块链的工控设备控制方法及装置、系统与流程

2022-04-09 10:18:11 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的工控设备控制方法及装置、系统。


背景技术:

2.工控设备,全称为工业自动化控制设备,改变了需要通过纯人工方式进行工业生产活动的状况,大幅提高了工业生产的效率,已经成为工业生产活动中必不可少的设备。
3.在相关技术中,在借助工控设备进行工业生产时,通常由技术人员对工控设备直接进行操作,或者由技术人员通过机房中部署的计算机对工控设备进行控制,以实现对工控设备的操作。


技术实现要素:

4.有鉴于此,本说明书一个或多个实施例提供一种基于区块链的工控设备控制方法及装置、系统。
5.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
6.根据本说明书一个或多个实施例的第一方面,提出了一种基于区块链的工控设备控制系统,包括:
7.终端设备,基于用户的操作生成针对所述工控设备的控制交易,所述控制交易中包含所述用户的身份信息和所述工控设备的设备标识;
8.区块链系统,接收所述终端设备发送的所述控制交易,并执行所述控制交易所调用的智能合约,以在所述智能合约根据所述身份信息和所述设备标识判定所述用户具有针对所述工控设备的操作权限的情况下,向链下透传针对所述工控设备的控制指令;
9.所述工控设备,用于执行与所述控制指令对应的操作。
10.根据本说明书一个或多个实施例的第二方面,提出了一种基于区块链的工控设备控制方法,应用于区块链系统,包括:
11.接收终端设备针对工控设备发起的控制交易;所述控制交易基于用户的操作生成,且包含所述用户的身份信息和所述工控设备的设备标识;
12.执行所述控制交易所调用的智能合约,以在通过所述智能合约根据所述身份信息和所述设备标识判定所述用户具有针对所述工控设备的操作权限的情况下,生成针对所述工控设备的控制指令;
13.向链下透传所述控制指令,以指示所述工控设备执行与所述控制指令对应的操作。
14.根据本说明书一个或多个实施例的第三方面,提出了一种基于区块链的工控设备控制装置,应用于区块链系统,包括:
15.接收单元,接收终端设备针对工控设备发起的控制交易;所述控制交易基于用户的操作生成,且包含所述用户的身份信息和所述工控设备的设备标识;
16.执行单元,执行所述控制交易所调用的智能合约,以在通过所述智能合约根据所述身份信息和所述设备标识判定所述用户具有针对所述工控设备的操作权限的情况下,生成针对所述工控设备的控制指令;
17.透传单元,向链下透传所述控制指令,以指示所述工控设备执行与所述控制指令对应的操作。
18.根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括:
19.处理器;
20.用于存储处理器可执行指令的存储器;
21.其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
22.根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面所述方法的步骤。
附图说明
23.图1是一示例性实施例提供的一种基于区块链的工控设备控制系统的示意图。
24.图2是一示例性实施例提供的一种基于区块链的工控设备控制方法的流程图。
25.图3是一示例性实施例提供的一种基于区块链的工控设备控制方法的交互图。
26.图4是一示例性实施例提供的一种设备的结构示意图。
27.图5是一示例性实施例提供的一种基于区块链的工控设备控制装置的框图。
具体实施方式
28.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
29.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
30.工业生产活动中用到的各种工控设备,通常配备有相应的使用说明书,记录了不同的操作规范。操作人员需要熟读其使用说明书,掌握相应的操作规范后,才可以安全且准确地对工控设备进行控制,进而通过各种工控设备实现不同产品的生产。
31.上述对工控设备的控制方式,不仅需要操作人员掌握工控设备的操作规范,对操作人员的要求较高,而且需要操作人员与工控设备位于同一物理位置,无法实现针对工控设备的远程控制。除此之外,该方式还无法对工控设备的操作权限进行限制,一旦工控设备被无关人员操作,极易造成设备损坏,甚至出现生产事故。
32.针对上述问题,本说明书提出了一种基于区块链的工控设备控制系统,通过该控制系统,即便未掌握操作规范的用户也可以通过远程控制的方式,对工控设备进行操作。而
且该系统对工控设备进行了权限控制,唯有具有针对工控设备的操作权限的用户,才可以通过上述远程控制的方式对工控设备进行操作。
33.图1为本说明书一示例性实施例示出的一种基于区块链的工控设备控制系统。如图1所示,该系统可以包括:
34.终端设备11,基于用户的操作生成针对所述工控设备的控制交易,所述控制交易中包含所述用户的身份信息和工控设备13的设备标识;
35.区块链系统12,接收终端设备11发送的所述控制交易,并执行所述控制交易所调用的智能合约,以在所述智能合约根据所述身份信息和所述设备标识判定所述用户具有针对所述工控设备13的操作权限的情况下,向链下透传针对工控设备13的控制指令;
36.工控设备13,用于执行与所述控制指令对应的操作。
37.在本说明书中,为了实现针对工控设备的远程控制和权限控制,引入了终端设备11和区块链系统12。用户可以对终端设备11进行操作,以生成针对工控设备13的控制交易,并发送至区块链系统12。区块链系统12在接收到控制交易后,即可调用并执行相应的智能合约,以根据控制交易中包含的用户的身份信息和工控设备13的设备标识,确定该用户是否具有针对工控设备13的操作权限,若有,则生成针对工控设备13的控制指令,并向链下透传。在此基础上,工控设备即可采用任一种链下交互方式获取该控制指令,以执行与该控制指令对应的操作。
38.不难看出,本说明书一方面通过终端设备11与区块链系统12配合的方式,实现了对工控设备13的远程控制;另一方面,通过区块链系统12中部署的智能合约,实现了对工控设备13的权限控制。除此之外,还需强调的是,由于整个控制流程经由区块链系统12处理,必然在区块链系统12中保留有对工控设备13进行远程控制和权限判定的记录信息,例如,可以在区块链系统的世界状态,或者智能合约的合约状态中,记录远程控制或和权限判定的相关信息。在此基础上,若工控设备13发生故障或造成生产事故,便可以通过区块链系统中记录的相关信息进行追溯,或者说追责,避免了相关技术中由于控制过程未被记录,而无法进行后续追溯的问题。
39.在本说明书中,区块链系统12在生成针对工控设备13的控制指令后,可以通过多种方式向链下透传该控制指令。
40.在一实施例中,由于时下的大多数工控设备仍需要通过其所装配的物理受控结构进行操作,例如,工控设备中可以包含若干实体按钮,技术人员可以通过触发各个实体按钮,对工控设备进行操作。因此,在本说明书的控制系统中,还可以包括装配有物理控制结构的操作设备14,以通过该物理控制结构对工控设备13进行控制。具体的,操作设备14可以在获取到区块链系统12透传的控制指令的情况下,驱动操作设备14上装配的物理控制结构,以通过该物理控制结构触发工控设备13上装配的物理受控结构。而工控设备13在检测到该物理受控结构被触发的情况下,即可执行与该物理受控结构对应的操作。
41.举例而言,操作设备14可以为一iot(internet of things,物联网)设备,其装配的物理控制结构可以为一机械臂。在此基础上,当iot设备获取到控制指令后,即可驱动该机械臂,以触发工控设备13上类似于实体按钮一类的物理受控结构,进而控制工控设备13执行相应的操作。当然,该举例仅是示意性的,在实际应用中,该操作设备14可以为任意类型的电子设备,只需该电子设备装配有用于触发工控设备13上的物理受控结构的物理控制
结构即可,操作设备14具体为何种设备可以由本领域技术人员根据实际情况确定,本说明书对此不作限制。相类似的,上述机械臂和实体按钮也是示例性的,物理控制结构和物理受控结构具体为何种结构,也可以由本领域技术人员根据实际需求确定,本说明书对此不作限制。
42.在另一实施例中,由于时下的大部分工控设备无法直接通过互联网与其他设备进行交互,但存在部分工控设备可以通过类似于局域网等其他网络进行数据传输,因此,在本说明书中,还可以包含一转发设备15。在该情况下,转发设备15分别与区块链系统12所处的网络、工控设备13所处的网络连接,且区块链系统12所处的网络与工控设备13所处的网络相互隔离。在此基础上,当转发设备15从区块链系统12所处的网络中获取到向链下透传的控制指令后,即可通过工控设备13所处的网络将该控制指令转发至工控设备13。工控设备13接收到转发设备15发送的控制指令后,即可执行与该控制指令对应的操作。
43.举例而言,转发设备15可以为一pc(personal computer,个人电脑)。该pc一方面可以连接至互联网,另一方面可以与工控设备13处于同一局域网中。在此基础上,当pc从互联网中获取到区块链系统12生成的控制指令后,即可通过局域网将该控制指令转发至工控设备13,以使工控设备13执行与该控制指令对应的操作。当然,该举例仅是示意性的,在实际应用中,该转发设备15可以为任意类型的电子设备,只需该电子设备分别处于区块链系统12所处的网络和工控设备13所处的网络即可,转发设备15具体为何种设备可以由本领域技术人员根据实际情况确定,本说明书对此不作限制。
44.在又一实施例中,由于也存在少数工控设备具备连接互联网的能力,因此,本说明书中的工控设备13可能与区块链系统12处于同一网络中。在该实施例的一种情况下,终端设备11在生成控制交易时,可以在控制交易中添加工控设备13的网络地址,以使得区块链系统12在生成控制指令后,可以根据控制交易中包含的网络地址,将生成的控制指令发送至工控设备13。在该实施例的另一种情况下,可以预先在智能合约的合约账户中存储各个工控设备的设备标识与网络地址的对应关系,在此基础上,区块链系统12可以根据工控设备13的设备标识,从已存储的对应关系中确定出工控设备13的网络地址,以根据该网络地址将控制指令发送至工控设备13。
45.在本实施例中,也可以不采用由区块链系统12主动向工控设备13发送控制指令的方式,向链下透传控制指令,也可以由工控设备13对区块链系统12进行监听,进而获取用于指示自身执行操作的控制指令。例如,工控设备13可以在监听到包含自身的设备标识的情况下,获取包含该设备标识的控制指令,以根据该控制指令执行相应的操作。
46.需要声明的是,在包含操作设备14和转发设备15的实施例中,操作设备14或转发设备15也可以通过主动对区块链系统12进行监听的方式,从区块链系统12处获取控制指令;当然,也可以由区块链系统12在生成控制指令的情况下,向操作设备14或转发设备15发送控制指令,操作设备14和转发设备15具体如何获取控制指令,可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
47.在本公开中,区块链系统12可以通过多种方式,实现针对工控设备13的权限控制。
48.在一实施例中,具有针对工控设备13的操作权限的目标用户可以与区块链系统12中,具有针对智能合约的调用权限的目标区块链账户进行绑定。那么,区块链系统12在接收到控制交易后,首先需要确定发送控制交易的用户与哪一目标区块链账户绑定,再通过确
定的目标区块链账户调用相应的智能合约,以判断该用户是否具有对工控设备13的操作权限。
49.举例而言,各个目标区块链账户中可以记录有与自身绑定的目标用户的公钥,那么,终端设备11在生成控制交易时,可以基于用户的私钥生成数字签名,并添加至该控制交易中,以使区块链系统12在接收到该控制交易后,即可读取其中的数字签名,并通过各个目标区块链账户中记录的公钥对该数字签名进行验签。其中,在基于任一目标区块链账户的公钥验签成功的情况下,便可以通过该任一目标区块链账户调用相应的智能合约,以通过执行该智能合约的方式确定用户是否具有针对该工控设备13的操作权限。
50.在实际应用中,在各个目标区块链账户中,可能存在部分目标区块链账户绑定了多个目标用户。对于这一类目标区块链账户,还需进一步判断请求调用相应智能合约的用户数量是否达到预设数量。其中,唯有在请求调用该智能合约的用户为该目标区块链账户绑定的目标用户、且请求调用智能合约的数量达到预设数量的情况下,才调用智能合约,以通过执行智能合约确定用户是否具有针对工控设备13的操作权限。
51.承接上述举例,一方面,目标区块链账户中可以预先记录有至少一个目标用户的公钥;另一方面,终端设备11在生成控制交易时,可以获取请求对工控设备13进行控制的多个用户分别对应的数字签名,并将获取到的数字签名添加至控制交易中。在此基础上,区块链系统12在接收到该控制交易后,即可读取控制交易中包含的数字签名,并判断数字签名的数量是否达到预设数量、以及读取到的数字签名是否能通过目标区块链账户中记录的目标用户的公钥验签。若数量达到预设数量、读取到的数字签名能通过目标用户的公钥验签,则通过目标区块链账户调用相应的智能合约,以判断用户是否具有针对工控设备13的操作权限。
52.需要声明的是,“在何种情况下,才认定读取到的数字签名通过验签”可以由本领域技术人员根据实际情况确定,本说明书对此不作限制。例如,在一种情况下,可以在读取到的所有数字签名均通过目标用户的公钥验签,才判定读取到的数字签名通过验签;再例如,在另一种情况下,可以在读取到的数字签名中,存在预设数量的数字签名通过目标用户的公钥验签,便判定为读取到的数字签名通过验签。
53.在实际应用中,用户可能仅具有针对工控设备13执行某一项操作的操作权限。因此,终端设备11在生成控制交易时,可以在其中添加与需要指示工控设备13执行的操作对应的控制指令的指令标识。在此基础上,区块链系统12在获取到控制交易后,即可读取其中包含的指令标识,以在执行智能合约进行权限判定时,根据控制交易中包含的身份信息、设备标识和指令标识,判断用户是否具有针对工控设备13执行与该指令标识对应的操作的操作权限。若是,则生成用于指示工控设备13执行与该指令标识对应的操作的控制指令。需要声明的是,用于权限判定的身份信息,既可以为相应用户的数字签名,也可以为区别于数字签名的其他信息,如身份标识符、身份描述信息等。
54.在另一实施例中,可以通过直接调用合约账户的方式,执行相应的智能合约。例如,区块链系统12可以预先在智能合约的合约账户中定义关于工控设备13的权限控制信息,而终端设备11则可以在生成控制交易时,在控制交易中添加与所要调用的智能合约的合约账户对应的账户地址,那么,区块链系统12在接收到控制交易后,即可读取其中包含的账户地址,以确定出与控制交易调用的智能合约对应的合约账户,并通过执行智能合约的
方式,根据合约账户中定义的权限控制信息,以及控制交易中包含的身份信息和设备标识,确定用户是否具有针对工控设备13的操作权限。
55.在本实施例中,也可以对请求对工控设备13进行控制的用户数量进行约束,唯有在请求对工控设备13进行控制的用户数量到达预设数量时,才调用并执行相应的智能合约,以判断用户是否具有针对工控设备13的操作权限。在实际操作中,可以通过数字签名判断用户是否具有针对工控设备13的操作权限。具体的,终端设备11在生成控制交易时,可以将请求对工控设备13进行控制的用户的数字签名、以及需要调用的智能合约所对应的合约账户的账户地址,添加至控制交易中,而区块链系统12在接收到控制交易后,即可读取其中包含的合约账户的账户地址,并判断数字签名是否达到预设数量;若是,则进一步根据读取到的账户地址调用并执行与上述合约账户对应的智能合约,以判断与读取到的各个数字签名对应的用户是否具有针对工控设备13的操作权限,例如,合约账户记录的权限控制消息中可以包含具有针对工控设备13的操作权限的目标用户的公钥,那么,区块链系统12即可基于从权限控制信息中获取具有操作权限的目标用户的公钥,并基于获取到的公钥对读取到的数字签名进行验签,若读取到的数字签名中,存在预设数量的数字签名被验签成功,则可以判定请求发起控制交易的用户具有针对工控设备13的操作权限。
56.由上述介绍可知,本说明书中的智能合约,一方面需要判断用户是否具有针对工控设备13的操作权限,另一方面,则需要在确定用户具有针对工控设备13的操作权限时,生成针对工控设备13的控制指令。而在实际应用中,具有针对工控设备13的操作权限的用户,可能被允许执行针对工控设备13的所有操作,也可能仅被允许对工控设备13执行某些具体的操作。因此,在本说明书中,区块链系统12可以通过不同的执行逻辑完成权限判定和指令生成两个操作。
57.在一实施例中,具有针对工控设备13的操作权限的用户,被允许执行针对工控设备13的所有操作。在该实施例中,区块链系统12在执行控制交易调用的智能合约的过程中,可以优先执行该智能合约的权限验证逻辑,以判断用户是否具有针对工控设备13的操作权限,若确定用户具有针对工控设备13的操作权限,则进一步执行智能合约中包含的指令生成逻辑,以根据控制交易中包含的指令标识,生成针对工控设备13的、与该指令标识对应的控制指令。应当理解的是,本实施例相当于是优先确定用户是否具有针对工控设备13的操作权限,且在确定用户具有该操作权限的情况下,再确定需要针对工控设备13执行哪一操作。
58.在另一实施例中,具有针对工控设备13的操作权限的用户,仅被允许对工控设备13执行某些具体的操作。在该实施例中,区块链系统12在执行控制交易调用的智能合约的过程中,可以优先执行该智能合约中包含的指令确认逻辑,以根据控制交易中包含的指令标识确定用户需要对工控设备13执行的目标操作;在确定出目标操作后,再执行智能合约中包含的权限验证逻辑,以验证用户是否具有针对工控设备13执行目标操作的操作权限;若验证结果表明用户具有针对工控设备13执行目标操作的权限,则进一步调用智能合约中包含的指令生成逻辑,以生成用于指示工控设备13执行目标操作的控制指令。
59.应当理解的是,本实施例相当于是优先确定出用户需要针对工控设备13执行的目标操作,再判断用户是否具有针对工控设备13执行该目标操作的权限,且在确定用户具有针对工控设备13执行目标操作的权限的情况下,再生成相应的控制指令。相较于上一实施
例,本实施例是以指令为单位为用户配置工控设备13的操作权限,对工控设备13的权限控制更具针对性。
60.在本说明书中,终端设备11可以为任一类型的电子设备,例如,可以为智能手机、平板电脑等移动终端,也可以为智能手表、ar眼镜等便携式设备,还可以是智能电视、pc(personal computer,个人电脑)等固定终端。应当理解的是,只需能够与区块链系统12进行交互的终端设备均可作为本说明书中的终端设备11,该终端设备11具体为何种电子设备,可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
61.在本说明书中,区块链系统12可以搭载于传统的区块链架构,即区块链系统中的所有节点均通过在相应实体设备上部署区块链代码而形成,大多数情况下,每个节点均对应于一个实体设备。区块链系统12也可以搭载于区块链技术中的baas(blockchain as a service)架构,即区块链系统中的所有节点均通过云服务在云端实现的虚拟机上部署区块链代码而形成,区块链节点无需一一对应于相应的实体设备。
62.在本说明书中,工控设备13可以为任意类型的在工业生产活动中使用的设备。例如,可以为工业生产活动过程中常见的传送带及其配套设备、负责对产品包装的打包设备、负责对产品进行切割的切割设备。当然,该举例仅是示意性的,本说明书中的工控设备13具体为何种设备,可由本领域技术人员根据实际应用确定,本说明书对此不作限制。
63.由上述技术方案可知,在本说明书的控制系统中,用户只需对终端设备进行操作,以向区块链系统发送控制交易,即可指示区块链系统向链下透传针对工控设备的控制指令。在此基础上,工控设备只需根据区块链系统下发的控制指令,便可以执行与用户发起的控制交易对应的操作,即可以通过远程控制的方式实现针对工控设备的控制,避免了相关技术中需要用户与工控设备处于同一物理位置,才能够对工控设备进行操控的问题。
64.除此之外,由于本说明书是通过区块链系统生成针对工控设备的控制指令,使得用户对工控设备进行控制的过程被记录于区块链中,例如,可以记录有请求对工控设备进行控制的用户的信息;再例如,可以记录有生成针对工控设备的控制指令的时间等等。在此基础上,凭借区块链技术不可篡改的特性,能够保证可以对工控设备的控制过程进行后续追溯,避免了相关技术在发生生产事故、或设备损坏时无法进行追溯的问题。
65.在相关技术中,通常由用户直接对工控设备进行操作,或者由用户通过机房对工控设备进行操作。前者未对工控设备进行权限控制,任何能够接近工控设备的用户均可对工控设备进行操作;而后者基于门禁等方式进行权限控制,权限控制较为简单,例如,任一具有权限的用户可以凭借主观意愿带领其他用户进入机房。在本说明书中,则由区块链系统通过执行智能合约的方式,验证用户是否具有针对工控设备的操作权限,且仅在工控设备具有操作权限的情况下,生成控制指令。换言之,本说明书是依赖于区块链系统中部署的智能合约对工控设备进行权限控制,相较于相关技术中的权限控制方式,更加严谨,不具有权限的用户通常难以越过权限验证,对工控设备进行控制,避免了相关技术中由于权限控制较为简单,导致无关人员越过权限验证对工控设备进行操作的问题。
66.进一步的,本说明书中的区块链系统可以基于目标区块链账户对各个用户的操作权限进行控制。在该情况下,无需所有的用户均注册区块链账户,即可通过区块链系统完成对工控设备的控制,例如,某一企业中的员工可以公用同一目标区块链账户,对工控设备进行控制。在实际操作中,目标区块链账户中可以记录有若干允许对智能合约进行调用的目
标用户的公钥,而区块链系统在接收到控制交易后,即可基于目标区块链账户中记录的公钥,对控制交易中包含的数字签名进行验签,唯有在验签成功的情况下,才能够调用智能合约,以验证用户是否具有针对工控设备的操作权限。换言之,本说明书在权限验证之前,还验证了用户是否具有权限调用相应的智能合约,相当于进行了两次验证,严格了对工控设备进行控制的条件。
67.再进一步的,本说明书还对请求对工控设备的进行控制的用户数量进行了限制,唯有在数量达到预设数量的情况下,才允许调用相应的智能合约,以进一步验证用户是否具有针对工控设备执行某一操作的操作权限。可见,本说明书还可以通过对用户数量进行限制的方式,进一步严格对工控设备进行控制的条件。
68.本说明书还提出了一种基于区块链的工控设备控制方法,该方法应用于上述系统中的区块链系统。在该方法中,大多操作方式已在上文对控制系统的介绍中阐述清楚,因此,在该方法中,不再对相关内容进行重复介绍,相关内容均可参照上文对系统的介绍,在后文中不再赘述。
69.图2为本说明书一示例性实施例示出的一种基于区块链的工控设备控制方法的流程图。该方法应用于区块链系统,如图2所示,该方法可以包括以下步骤:
70.步骤202,接收终端设备针对工控设备发起的控制交易;所述控制交易基于用户的操作生成,且包含所述用户的身份信息和所述工控设备的设备标识。
71.如上所述,用户可以对终端设备进行操作,以生成针对工控设备的控制交易,并发送至区块链系统。区块链系统在接收到控制交易后,即可调用并执行相应的智能合约,以根据控制交易中包含的用户的身份信息和工控设备的设备标识,确定该用户是否具有针对工控设备的操作权限,若有,则向生成针对工控设备的控制指令,并向链下透传。
72.如上所述,区块链系统在生成针对工控设备的控制指令后,可以通过多种方式向链下透传该控制指令。例如,区块链系统可以将控制指令发送至操作设备,以使操作设备根据控制指令驱动所装配的物理控制结构,进而触发工控设备上装配的物理受控结构;其中,工控设备在该物理受控结构被触发的情况下,即可执行与控制指令对应的操作。再例如,区块链系统与工控设备所处的网络可能相互隔离,而在区块链系统与工控设备之间可能存在一转发设备,且该转发设备分别与区块链系统、工控设备处于同一网络;在该情况下,可以将控制指令发送至该转发设备,以使转发设备通过与工控设备同处的网络,将控制指令发送给工控设备,那么,工控设备即可执行与接收到的控制指令对应的操作。又例如,工控设备可能与区块链系统同处于一个网络中,那么,区块链系统即可根据控制交易中包含的网络地址,将生成的控制指令发送至工控设备,或者,在控制交易中不包含网络地址的情况下,区块链系统可以根据工控设备的设备标识,从智能合约的合约账户中存储的各个工控设备的设备标识与网络地址的对应关系中,确定出工控设备的网络地址,以基于确定出的网络地址将生成的控制指令发送至工控设备。
73.步骤204,执行所述控制交易所调用的智能合约,以在通过所述智能合约根据所述身份信息和所述设备标识判定所述用户具有针对所述工控设备的操作权限的情况下,生成针对所述工控设备的控制指令。
74.如上所述,智能合约的调用权限可以属于目标区块链账户,该目标区块链账户中记录有至少一个目标用户的公钥。在此基础上,区块链系统在接收到控制交易后,即可读取
控制交易中包含的数字签名,以通过目标区块链账户中记录的目标用户的公钥对控制交易中包含的数字签名进行验签,若验签成功,则调用智能合约,验证用户是否具有针对工控设备的操作权限。在该情况下,还可以对用户数量进行限制。具体的,区块链系统还可以判断从控制交易中读取到的数字签名的数量是否达到预设数量,其中,在数量达到预设数量、且读取到的数字签名由记录的目标用户的公钥验证成功的情况下,则通过目标区块链账户调用智能合约,以进一步根据控制交易中包含的身份信息和设备标识,判断用户是否具有针对工控设备的操作权限。
75.如上所述,用户可能仅具有针对工控设备执行某一项操作的操作权限。因此,终端设备在生成控制交易时,可以在其中添加一指令标识。在此基础上,区块链系统在获取到控制交易后,即可读取其中包含的指令标识,以在执行智能合约进行权限判定时,根据控制交易中包含的身份信息、设备标识和指令标识,判断用户是否具有针对工控设备执行与该指令标识对应的操作的操作权限。若是,则生成用于指示工控设备执行与该指令标识对应的操作的控制指令。
76.如上所述,本说明书还可以通过直接调用合约账户的方式,执行相应的智能合约。例如,区块链系统可以预先在智能合约的合约账户中定义关于工控设备的权限控制信息,而终端设备则可以在生成控制交易时,在控制交易中添加与所要调用的智能合约的合约账户对应的账户地址,那么,区块链系统在接收到控制交易后,即可读取其中包含的账户地址,以确定出与控制交易调用的智能合约对应的合约账户,并通过执行智能合约的方式,根据合约账户中定义的权限控制信息,以及控制交易中包含的身份信息和设备标识,确定用户是否具有针对工控设备的操作权限。
77.如上所述,在通过直接调用合约账户的方式,执行智能合约时,也可以对请求对工控设备进行控制的用户数量进行约束。在该情况下,区块链系统在获取到控制交易后,即可读取控制交易中包含的合约账户的账户地址、以及对应于不同用户的数字签名,并判断数字签名的数量是否达到预设数量;若是,则执行与所述合约账户对应的智能合约,以判断与各个数字签名对应的用户是否具有针对所述工控设备的操作权限。
78.步骤206,向链下透传所述控制指令,以指示所述工控设备执行与所述控制指令对应的操作。
79.如上所述,在本说明书中,具有针对工控设备的操作权限的用户,可能被允许执行针对工控设备的所有操作,也可能仅被允许对工控设备执行某些具体的操作。例如,在用户被允许执行针对工控设备的所有操作的情况下,区块链系统在执行控制交易调用的智能合约的过程中,可以优先执行该智能合约的权限验证逻辑,以判断用户是否具有针对工控设备的操作权限,若确定用户具有针对工控设备的操作权限,则进一步执行智能合约中包含的指令生成逻辑,以根据控制交易中包含的指令标识,生成针对工控设备的、与该指令标识对应的控制指令。再例如,在用户仅被允许执行针对工控设备的某些操作的情况下,区块链系统在接收到控制交易后,可以优先执行控制交易所调用的智能合约中包含的指令确认逻辑,以根据控制交易中包含的指令标识确定用户需要对工控设备执行的目标操作,然后,可以进一步执行智能合约中包含的权限验证逻辑,以验证用户是否具有对工控设备执行目标操作的操作权限;若是,则执行智能合约中包含的指令生成逻辑,以生成用于指示工控设备执行目标操作的控制指令。
80.由上述技术方案可知,在本说明书的控制系统中,用户只需对终端设备进行操作,以向区块链系统发送控制交易,即可指示区块链系统向链下透传针对工控设备的控制指令。在此基础上,工控设备只需根据区块链系统下发的控制指令,便可以执行与用户发起的控制交易对应的操作,即可以通过远程控制的方式实现针对工控设备的控制,避免了相关技术中需要用户与工控设备处于同一物理位置,才能够对工控设备进行操控的问题。
81.除此之外,由于本说明书是通过区块链系统生成针对工控设备的控制指令,使得用户对工控设备进行控制的过程被记录于区块链中。在此基础上,凭借区块链技术不可篡改的特性,能够保证可以对工控设备的控制过程进行后续追溯,避免了相关技术在发生工业事故、或设备损坏时无法进行追溯的问题。
82.下面,以通过区块链账户对工控设备进行权限控制为例,对本说明书的技术方案进行介绍。在该实施例中,将用户使用的智能手机作为上述系统中的终端设备、将可以对工控设备中的实体按钮进行触发的iot设备作为上述操作设备。
83.图3为本说明书一示例性实施例示出的一种基于区块链的工控设备控制方法的交互图。
84.如图3所示,该方法可以包括以下步骤:
85.步骤301,智能手机基于用户操作生成控制交易。
86.在本实施例中,可以预先在智能手机中部署区块链系统的客户端代码,以使得智能手机能够通过运行该客户端代码的方式,与区块链系统进行交互。
87.在实际操作中,用户可以在智能手机中选取或输入设备标识、指令标识等相关信息,以使得智能手机能够基于这些信息生成控制交易。除了这些信息以外,智能手机还可以获取请求对工控设备进行控制的用户的数字签名,作为相应用户的身份信息,并添加至控制交易中。当然,控制交易中还可以包含其他身份信息,如用户的唯一身份标识符等。
88.举例而言,假设用户1需要对工控设备a执行x操作,那么,用户可以在自身所持有的智能手机中选取设备标识“a”、指令标识“x”。而智能手机可以基于用户选取的这些信息生成针对工控设备a执行x操作的控制交易。进一步假设对工控设备a执行x操作,存在用户数量的限制,那么,用户1可以与具有对工控设备a执行x操作的权限的其他用户协商,以获得其他用户的数字签名,在此基础上,智能手机即可将获取到的其他用户的数字签名和用户1的数字签名添加至控制交易中,以用于区块链系统的权限验证。
89.步骤302,智能手机将生成的控制交易发送至区块链系统。
90.智能手机在生成控制交易后,即可将控制交易发送至区块链系统,以由区块链系统根据该控制交易生成针对工控设备的控制指令。
91.步骤303,区块链系统读取控制交易中包含的数字签名的数量是否达到预设数量;若是,则跳转至步骤304。
92.在本实施例中,区块链系统在接收到控制交易后,首先需要判断发起请求的用户是否具有调用智能合约的权限,而在确定用户具有调用智能合约的权限的情况下,再进一步判断用户是否具有针对工控设备的操作权限。
93.本实施例可以预先在区块链系统中存储有用户与区块链账户的绑定关系,以使得区块链系统在接收到控制交易后,可以根据控制交易中包含的用户的身份信息,确定其所对应的目标区块链账户,而在确定目标区块链账户后,即可根据目标区块链账户中预先设
定的门限值(即上述预设数量),以及预先存储的(具有针对与目标区块链账户对应的智能合约的调用权限的)各个目标用户的公钥,确定该控制交易是否可以调用与目标区块链账户对应的智能合约。
94.承接上述举例,区块链系统在获取到控制交易后,可以读取其中包含的用户1的身份信息,并根据该身份信息确定与其绑定的目标区块链账户。假设确定的目标区块链账户为账户u,且该账户中记录了:门限值3,以及用户1、2、3、4分别对应的公钥1’、2’、3’、4’。那么,区块链系统首先需要判断控制交易中读取到的数字签名的数量是否超过3个,若是,则通过存储的公钥1’、2’、3’、4’对读取到的数字签名进行验签。进一步假设控制交易中正好包含3个数字签名,且分别基于用户1的私钥1”、用户2的私钥2”、用户3的私钥3”生成,那么,区块链系统可以通过公钥1’、2’、3’对控制交易中包含的数字签名进行验签,在验签成功后,即可允许控制交易调用与账户u对应的智能合约u。
95.步骤304,区块链系统基于目标区块链账户中预存的目标用户的公钥对读取到的数字签名进行验签;若验签成功,则跳转至步骤305。
96.在本实施例中,控制交易中的数字签名验签成功,相当于完成了“用户是否具有针对智能合约的调用权限”的验证。在此基础上,即可进一步判断用户是否具有针对工控设备的操作权限。
97.步骤305,区块链系统通过目标区块链账户调用相应的智能合约,以根据控制交易中包含的设备标识、指令标识和所述目标区块链账户中预存的权限控制信息,判断用户是否具有针对工控设备执行与指令标识对应的操作的操作权限;若是,则跳转至步骤306。
98.在本实施例中,区块链账户中可以预存有针对各个工控设备的权限控制信息,以使得区块链系统在接收到控制交易的情况下,可以根据预存的权限控制信息确定用户是否具有针对某一工控设备执行某一操作的权限。
99.承接上述举例,假设目标区块链账户中预存的权限控制信息如下表1所示:
[0100][0101]
表1
[0102]
表1中关于工控设备a的一栏表示:用户1、2、3、4具有向工控设备a下发指令标识为x的控制指令的权限;用户1、3具有向工控设备a下发指令标识为y的控制指令的权限。表1中关于其他工控设备的权限控制信息的含义也是类似,在此不再赘述。
[0103]
在该举例中,当确定接收到的控制交易可以调用智能合约u时,区块链系统即可通过账户u调用智能合约u,并执行智能合约u,以验证用户是否有权限向工控设备a下发指令标识为x的控制指令。由表1可知,用户1、2、3、4具有向工控设备a下发指令标识为x的控制指
令的权限,而控制交易中包含用户1、2、3的数字签名,因此,可以确定联名发起控制交易的用户具有向工控设备a下发指令标识为x的控制指令的权限。在此基础上,即可生成相应的控制指令,以指示工控设备a执行与指令标识x对应的操作。
[0104]
步骤306,区块链系统基于目标区块链账户中预存的工控设备与iot设备的对应关系,确定出与控制交易中包含的设备标识对应的目标iot设备。
[0105]
在本实施例中,将iot设备作为上文所述的操作设备,以通过iot设备上的物理结构对工控设备上的实体按钮进行触发。在实际操作中,可以预先在区块链系统中存储工控设备与iot设备的对应关系,以在需要生成针对某一工控设备的控制指令时,可以基于预存的对应关系确定应当将控制指令透传至哪一链下设备。
[0106]
步骤307,区块链系统基于目标iot设备的设备标识,以及控制指令中读取的设备标识和指令标识生成控制指令。
[0107]
承接上述举例,假设根据预存的对应关系确定:负责对工控设备a进行操作的iot设备为iot设备a。那么,区块链系统在实际生成控制指令时,可以基于该iot设备a的设备标识“a”、工控设备a的设备标识“a”、控制指令“x”生成控制指令。
[0108]
步骤308,iot设备从区块链系统处监听到针对自身所控制的工控设备的控制指令。
[0109]
在本实施例中,可以由iot设备主动监听区块链系统生成的控制指令,以确定是否存在针对自身所负责的工控设备的控制指令。
[0110]
承接上述举例,iot设备即可在区块链系统处监听到针对工控设备a的控制指令,并在获取到该控制指令后,对工控设备a进行操作。
[0111]
步骤309,iot设备基于监听到的控制指令,驱动自身装配的物理结构对自身所控制的工控设备上的实体按钮进行触发。
[0112]
在一般情况下,iot设备指的是与所处环境进行交互的物联网设备,而在本实施例中,iot设备所要交互的环境即是:所负责的工控设备。在实际操作中,工控设备可以触发自身装配的物理结构对工控设备上的实体按钮进行触发,以使工控设备执行与控制指令对应的操作。
[0113]
承接上述举例,假设iot设备a为装配有若干机械臂的控制设备,而工控设备a为装配有传送带的传送设备,其中,若干机械臂分别与传送设备上的各个实体按钮对应,以在iot设备驱动任一机械臂时,可以触发工控设备a上的相应实体按钮,进而使工控设备a执行相应的操作。进一步假设指令标识x对应的控制指令为:驱动工控设备a上的传送带开始运行。那么,iot设备a在监听到控制指令后,即可根据其中包含的设备标识a确定出自身装配的“用于对工控设备a进行操作的多个机械臂”,再根据其中包含的指令标识x,从多个机械臂中确定出本次操作所需的驱动的机械臂。在此基础上,即可驱动最终确定出的机械臂,以对工控设备a上用于驱动传送带运行的实体按钮进行触发。
[0114]
步骤310,工控设备在实体按钮被触发的情况下,执行与该实体按钮对应的操作。
[0115]
需要声明的是,本实施例在任一次判断为否的情况下,区块链系统均不会生成针对工控设备的控制指令。在该情况下,还可以进一步向发起控制交易的智能手机返回响应信息,以告知并未生成针对工控设备的控制指令。
[0116]
由上述技术方案可知,通过本实施例的技术方案,用户可以通过区块链系统向iot
设备下发控制指令,以指示iot设备对自身所负责的工控设备进行操作,可以实现针对工控设备的远程控制,避免了相关技术中需要用户与工控设备处于同一物理位置,才能够对工控设备进行控制的问题。
[0117]
进一步的,本实施例中的各个用户可以在控制交易中添加自身的数字签名,以联名的形式向区块链系统请求对工控设备进行控制。而区块链系统则可以优先判定发起请求的用户数量是否达到预设数量、以及发起请求的用户是否为可以调用相应智能合约的目标用户,若是,则进一步执行智能合约以判定发起请求的用户是否具有针对工控设备的操作权限。换言之,在本实施例中,若需要对工控设备进行控制,用户需要通过“智能合约的调用权限”、“工控设备的操作权限”两重验证,唯有在两重验证均通过的情况下,才生成针对工控设备的控制指令。可见,本实施例对工控设备的操作权限进行了严格控制,避免了相关技术中仅通过门禁等较为简单的方式实现针对工控设备的权限控制,而导致不具有操作权限的用户对工控设备进行操作的情况。
[0118]
图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0119]
请参考图5,基于区块链的工控设备控制装置可以应用于如图4所示的设备中,以实现本说明书的技术方案。其中,该基于区块链的工控设备控制装置可以包括:
[0120]
接收单元501,接收终端设备针对工控设备发起的控制交易;所述控制交易基于用户的操作生成,且包含所述用户的身份信息和所述工控设备的设备标识;
[0121]
执行单元502,执行所述控制交易所调用的智能合约,以在通过所述智能合约根据所述身份信息和所述设备标识判定所述用户具有针对所述工控设备的操作权限的情况下,生成针对所述工控设备的控制指令;
[0122]
透传单元503,向链下透传所述控制指令,以指示所述工控设备执行与所述控制指令对应的操作。
[0123]
可选的,透传单元503被进一步用于:
[0124]
将所述控制指令发送至操作设备,以使所述操作设备根据所述控制指令驱动所装配的物理控制结构,触发所述工控设备上装配的物理受控结构;
[0125]
其中,所述工控设备在所述物理受控结构被触发的情况下,执行与所述控制指令对应的操作。
[0126]
可选的,透传单元503被进一步用于:
[0127]
将所述控制指令发送至与所述区块链系统处于同一网络下的转发设备,以使所述转发设备通过与所述网络不同的其他网络转发至所述工控设备;其中,所述区块链系统和所述工控设备所处的网络相互隔离。
[0128]
可选的,透传单元503被进一步用于:
[0129]
根据所述控制交易中包含的网络地址,将所述控制指令发送至所述工控设备;或
者,
[0130]
根据所述工控设备的设备标识,从所述智能合约的合约账户中存储的各个工控设备的设备标识与网络地址的对应关系中,确定出所述工控设备的网络地址,并基于确定出的网络地址将所述控制指令发送至所述工控设备。
[0131]
可选的,所述智能合约的调用权限属于目标区块链账户,所述目标区块链账户中记录有至少一个目标用户的公钥;执行单元502被进一步用于:
[0132]
读取所述控制交易中包含的数字签名;
[0133]
若读取到的数字签名的数量达到预设数量,且读取到的数字签名由所述目标用户的公钥验证成功,则通过所述目标区块链账户调用所述智能合约,以根据所述身份信息和所述设备标识,判定所述用户是否具有针对所述工控设备的操作权限。
[0134]
可选的,
[0135]
还包括:读取单元504,还用于读取所述控制交易中包含的指令标识;
[0136]
执行单元502被进一步用于:根据所述身份信息、所述设备标识和所述指令标识,判定所述用户是否具有对所述工控设备执行与所述指令标识对应的操作的操作权限。
[0137]
可选的,执行单元502被进一步用于:
[0138]
根据所述控制交易中包含的合约地址,确定与所述控制交易调用的智能合约对应的合约账户;
[0139]
执行所述智能合约,以根据所述合约账户中定义的权限控制信息、所述控制交易中包含的身份信息和设备标识,确定所述用户是否具有针对所述工控设备的操作权限。
[0140]
可选的,执行单元502被进一步用于:
[0141]
读取所述控制交易中包含的合约账户的账户地址、以及对应于不同用户的数字签名,并判断数字签名的数量是否达到预设数量;若是,则执行与所述合约账户对应的智能合约,以判断与各个数字签名对应的用户中,是否存在所述预设数量的用户具有针对所述工控设备的操作权限。
[0142]
可选的,执行单元502被进一步用于:
[0143]
执行所述控制交易所指示的智能合约中包含的权限验证逻辑,并在验证结果表明所述用户具有针对所述工控设备的操作权限的情况下,执行所述智能合约中包含的指令生成逻辑,以根据所述控制交易中包含的指令标识,生成针对所述工控设备的、与所述指令标识对应的控制指令。
[0144]
可选的,执行单元502被进一步用于:
[0145]
执行所述控制交易所调用的智能合约中包含的指令确认逻辑,以根据所述控制交易中包含的指令标识确定所述用户需要对所述工控设备执行的目标操作;
[0146]
执行所述智能合约中包含的权限验证逻辑,以验证所述用户是否具有对所述工控设备执行所述目标操作的操作权限;若是,则执行所述智能合约中包含的指令生成逻辑,以生成用于指示所述工控设备执行所述目标操作的控制指令。
[0147]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的
任意几种设备的组合。
[0148]
在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0149]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0150]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0151]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0152]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0153]
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0154]
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0155]
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
再多了解一些

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

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

相关文献