具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
鉴于区块链技术存在上述优质特性,越来越多的数据被存储至区块链。
然而,区块链技术仅能够保证数据本身的安全性,即保证数据不被篡改且公开透明,却无法保证数据内容(即数据所代表的内容/所表达的含义)的安全性,例如,区块链技术无法识别出区块链交易中记录的违法交易。这使得区块链技术保证了数据本身安全性的同时,便利了不安全内容的传播。
随着市场监管的不断严格,对区块链中保存的数据进行内容安全检查显得尤为重要。
在区块链技术中,数据通常需要优先被编码为区块链交易,再发送至区块链节点,以由区块链节点与所属区块链网络中的其他节点进行共识后,将该区块链交易保存至各个区块链节点维护的区块链中。
在相关技术中,由于数据被编码为区块链交易后,无法确定数据的内容。因此,通常在数据被编码为区块链交易之前进行内容安全检查,例如,在业务系统中对业务数据进行内容安全检查,并在检查通过后,再将该业务数据编码为区块链交易,进而将其保存至区块链中。
然而,在实际情况中,区块链技术通常由专门的提供方提供,例如,该提供方可以为致力于区块链技术的科技公司,而区块链技术的使用方通常不具备研发和维护区块链系统的能力,例如,该使用方可以为购物平台或银行。可见,在区块链技术使用方的业务系统中进行内容安全检查,对于区块链技术的提供方而言,是不可控的:一方面,提供方无法保证使用方采用的内容安全检查标准是否与自身所采用的标准一致;另一方面,无法保证数据在内容安全检查后、在数据被编码为区块链交易之前,是否再次被改动,即无法保证接收到的区块链交易与进行内容安全检查的数据的一致性。应当理解的是,对于区块链技术使用方,被存储至区块链中的数据通常与其利益密切相关,若数据的内容安全检查由其主导,将无法保证内容安全检查的可靠性。
有鉴于此,为了使区块链数据的内容安全检查对于区块链技术提供方可控,进而保证内容安全检查的可靠性,本申请提出了一种区块链交易的内容检查方法。
图1为本说明书一示例性实施例示出的一种区块链交易的内容检查方法的流程图。该方法应用于区块链系统的网关设备,该方法可以包括以下步骤:
步骤102,响应于业务系统发送的区块链交易,获取交易解析规则。
鉴于相关技术中“由于数据的内容安全检查在区块链技术使用方的业务系统中进行,导致内容安全检查对于区块链技术提供方不可控”的问题。本说明书不再在业务系统中进行内容安全检查,而是在业务系统将业务数据编码为区块链交易,并将该区块链交易发送至区块链系统的网关设备之后,再在网关设备处对区块链交易进行内容安全检查。应当理解的是,区块链技术提供方负责运维区块链系统,在区块链系统的网关设备中进行内容安全检查,对于区块链技术的提供方而言是可控的。
需要声明的是,本说明书中的区块链系统指的是区块链技术提供方负责运维的至少一个区块链网络构成的系统。该区块链系统的网关设备负责区块链系统内外的数据传输,例如,可以负责区块链技术使用方的业务系统与区块链系统之间的数据交互。其中,可以为区块链系统中的各个区块链网络分别配置部署一网关设备,也可以仅为区块链系统部署唯一的网关设备,还可以为区块链系统中的每一区块链节点部署一网关设备。具体如何为区块链系统部署网关设备可以根据实际需求确定,本说明书对此不作限制。
本说明书中的区块链技术使用方可以为任一机构,例如,可以为银行、公司、政府机构等,此时,上述业务系统即为该任一机构的业务系统;区块链技术使用方也可以为负责多个机构与区块链系统进行数据交互的数据交互平台的维护方,此时,该数据交互平台即为上述业务系统;区块链技术使用方还可以为个人用户,此时,上述业务系统可以为该个人用户用于与区块链系统进行数据交互的客户端。当然,上述举例仅是示意性的,应当理解的是,任何能够与区块链系统的网关设备进行数据交互的设备或设备集群均可视为本说明书中的业务系统,本说明书对业务系统的具体形式不作限制。
相对应的,本说明书中的业务数据指的是上述任一业务系统中产生或使用的数据,通常为与该任一业务系统所负责业务相关的数据。当然,也可以为与其业务不相关的数据。具体为何种数据,本说明书对此不作限制,只是将业务系统用于编码为区块链交易的数据统称为业务数据。
为了对业务数据编码形成的区块链交易进行内容安全检查,本说明书预先配置了交易解析规则。该交易解析规则用于对区块链交易进行解析,以得到能够用于内容安全检查的待检测数据。该待检测数据可用于确定上文所述的数据内容,确定的数据内容表达了相应业务的具体含义,举例而言,确定的数据内容可以为“用户A向用户B购买了物品1”等。在实际应用中,交易解析规则可以由掌握“区块链交易编码规则”相关知识的专业人员预先配置。
在本说明书中,预先配置的交易解析规则可以根据实际需求存储于不同的存储空间中。
在一实施例中,预先配置的交易解析规则可以保存于网关设备的本地存储空间。在该实施例中,网关设备在接收到区块链交易的情况下,可以直接从本地存储空间中获取交易解析规则,具有较高的交易解析规则获取效率。
在另一实施例中,预先配置的交易解析规则可以保存于数据库网关设备中。在该实施例中,当网关设备接收到业务系统发送的区块链交易时,可以向数据库网关设备发送针对交易解析规则的获取请求,以使数据库网关设备响应于该获取请求,将交易解析规则返回。
步骤104,根据获取到的交易解析规则对所述区块链交易进行解析,以得到所述区块链交易中包含的待检测数据。
在本说明书中,用于将区块链交易解析为待检测数据所采用的交易解析规则,通常与区块链交易所采用的交易格式相关。而在区块链技术中,同一区块链网络中的区块链交易通常采用统一的交易格式,不同区块链网络中的区块链交易通常采用不同的交易格式,例如,区块链网络X中的区块链交易采用交易格式1,区块链网络Y中的区块链交易采用交易格式2。可见,用于解析区块链交易的交易解析规则应当与区块链交易所存储的区块链网络相关。
在一实施例中,可以在区块链系统中部署唯一的区块链网络,且该区块链网络中保存的区块链交易采用统一的特定交易格式,在该情况下,可以针对该特定交易格式配置唯一确定的交易解析规则。在此基础上,当业务系统需要将业务数据保存至该区块链网络时,可以优先在本地将待存储业务数据编码为采用上述特定交易格式的区块链交易;网关设备在接收到该区块链交易之后,即可基于上述唯一的交易解析规则将该区块链交易解析为待检测数据,进而对解析得到的待检测数据进行内容安全检查。
在该实施例中,由于仅配置了唯一的交易解析规则,使得网关设备在接收到区块链交易时,只需基于唯一的交易解析规则对其进行解析即可,通过提高解析效率,提高了内容安全检查的效率。
在另一实施例中,可以在区块链系统中部署多个区块链网络,且多个区块链网络中的区块链交易采用了不同的交易格式。在该情况下,可以为每一区块链网络分别配置一交易解析规则,以用于解析相应区块链网络对应的区块链交易。需要声明的是,此处相应区块链网络对应的区块链交易指的是:按照该区块链网络所采用的交易格式进行编码的区块链交易。承接上述举例进行介绍,例如,当区块链系统中包含区块链网络X和Y时,由于区块链网络X中的区块链交易采用交易格式1,那么,可以针对交易格式1配置一交易解析规则1’,以用于解析需要被上链至区块链网络X的区块链交易;由于区块链网络Y采用交易格式2,那么,可以针对交易格式2配置一交易解析规则2’,以用于解析需要被上链至区块链网络Y的区块链交易。
在该实施例中,当业务系统存在业务数据上链需求时,需要优先根据待存储业务数据所要上链的目标区块链网络,将待存储业务数据编码为相应交易格式的区块链交易,并在为该区块链交易添加目标区块链网络所对应的网络标识后,发送至区块链系统的网关设备;网关设备在接收到区块链交易后,即可基于区块链交易中包含的网络标识,确定该区块链交易在区块链系统中对应的目标区块链网络(即确定接收到的区块链交易需要被上链至区块链系统中的哪一区块链网络);在确定目标区块链网络之后,网关设备即可从若干预设交易解析规则中,确定出与该目标区块链网络对应的目标解析规则;该目标解析规则与目标区块链网络中的区块链交易所采用的交易格式相匹配,用于对采用该交易格式的区块链交易进行解析。
继续承接上述举例对该过程进行介绍,假设业务系统准备将待存储业务数据上链至区块链网络X,业务系统即可将待存储业务数据编码为采用交易格式1的区块链交易,并在编码得到的区块链交易中添加区块链网络X的网络标识“X”之后,发送至网关设备;网关设备在接收到该区块链交易后,即可根据网络标识“X”确定该区块链交易与区块链系统中的区块链网络X对应,进而从预先配置的交易解析规则1’和交易解析规则2’中,确定出与该区块链网络X对应的交易解析规则1’,基于此,即可通过交易解析规则1’对接收到的区块链交易进行解析。
需要强调的是,尽管在上述介绍中,由网关设备执行确定目标解析规则的操作,但在交易解析规则被存储至数据库网关设备的情况下,确定目标解析规则的操作可以由数据库网关设备执行。当然,在该情况下,也可以由数据库网关设备将所有预设交易解析规则返回至网关设备,再由网关设备确定目标解析规则。
在本说明书中,区块链交易中包含的数据可以为与传统区块链交易中包含的数据一致,也可以与传统区块链交易中包含的数据不同。
在一实施例中,本说明书中的区块链交易可以如传统区块链交易,仅包含相应业务的原始数据。具体的,业务系统在确定待存储业务数据后,可以将该待存储业务数据的原始数据编码为区块链交易,并将其转发至网关设备;网关设备在接收到该区块链交易之后,可以基于相应的交易解析规则将接收到的区块链交易转换为相应业务的原始数据。在此基础上,即可将转换得到的原始数据确定为待检测数据,以用于内容安全检查。
在该实施例中,交易解析规则中记录了区块链交易与业务原始数据之间的转换逻辑。在转换得到相应业务的原始数据之后,还可以进一步确定该原始数据的数据内容,即确定出原始数据所代表的内容(或说所表达的含义),以进行内容安全检查。
在另一实施例中,本说明书中的区块链交易可以与传统区块链交易不同,除了包含相应业务的原始数据以外,还可以进一步包含相应业务的含义数据,该含义数据可以被直接解析为相应业务的描述信息,以进行内容安全检查。在实际操作中,业务系统在确定待存储业务数据之后,可以先基于待存储业务数据总结出相应业务的描述信息,再对待存储业务数据和该描述信息进行编码。其中,区块链交易中由该描述信息编码得到的部分即为上述含义数据。
在该实施例中,交易解析规则中记录了相应区块链交易的交易格式,以及信息转换逻辑。其中,网关设备可以基于交易解析规则中的交易格式,从接收到的区块链交易所包含的数据中确定出上述含义数据;而信息转换逻辑则用于在确定出含义数据后,将确定的含义数据转换为相应业务的描述信息,进而将转换得到的描述信息作为待检测数据,以进行内容安全检查。
在大多情况下,同一区块链交易中的数据通过同一转换逻辑转换得到,即该实施例中区块链交易所包含的相应业务的原始数据、相应业务的含义数据均通过同一转换逻辑转换得到。因此,该实施例中的交易解析规则所包含的信息转换逻辑,还可以用于将区块链交易中包含的相应业务的原始数据转换为编码前的待存储业务数据(即编码为区块链交易之前相应业务的原始数据)。当然,为了保证含义数据的安全性,也可以采用独立的信息转换逻辑用于实现描述信息与含义数据的相互转换。具体的,如何在交易解析规则中配置针对含义数据的信息转换逻辑,可以由本领域技术人员根据实际需求确定,在此不作限制。
需要声明的是,相应业务的描述信息可以理解为上文所提及的数据内容,具体阐述了相应业务的具体内容。可见,在该实施例中,由于区块链交易中包含相应业务的含义数据,使得网关设备可以直接基于该含义数据转换得到描述信息进行内容安全检查,大幅提高了内容安全检查的效率;且由于基于该含义数据转换得到的描述信息,由编码前的待存储业务数据总结得到,使得该描述信息能够准确阐述相应业务的具体内容,进而提高内容安全检查的准确度。
举例而言,假设与一区块链交易相关的业务为:一次购物交易。那么,该区块链交易中包含的购物交易的原始数据记录的为:用户A将数额为X的资产转移给用户B;用户B将物品Y交由用户A。若基于该原始数据进行内容安全检查,仅能够知晓用户A与用户B之间的交互过程,但无法知晓交互背后的具体含义,通常难以进行内容安全检查;或者,仅能够由网关设备推断其背后的含义,进而进行内容安全检查,导致内容安全检查的结果不准确,例如,由于推断得到的含义本身不准确导致检测结果不准确;再例如,由于无法准确确定含义,导致无法确定相应的内容安全规则(或说,内容安全标准),进而使得内容安全检查不准确。而在该实施例中,该区块链交易中还包括含义数据,例如,该含义数据转换得到的描述信息可以为:用户A花费数额为X的资产向用户B购买了物品Y,即该描述信息明确阐述了用户A与用户B之间交互背后的具体含义。在此基础上,网关设备即可基于该具体含义,将与购物相关的内容安全规则用于本次内容安全检查。例如,确定本次购物中涉及的物品Y是否为危险品;再例如,判断数额X是否严重超过物品Y的价值,进而确定是否存在非法交易。可见,通过在区块链交易中加入含义数据,大幅提高了内容安全检查的效率和准确率。当然,上述举例仅是示意性的,含义数据中所包含的内容可以根据实际需求确定,在本说明书中不作限制。例如,还可以包含相应业务的具体应用场景,如在上述购物交易对应的含义数据中还可以包括:该购物交易为线下交易或线上交易等内容。
进一步的,还可以基于区块链交易中包含的原始数据对其所包含的含义数据进行验证,以确保该区块链交易中的原始数据和含义数据相匹配。具体的,可以基于上述方法将区块链交易中的原始数据转换为未编码为区块链交易前的待存储业务数据、将区块链交易中的含义数据转换为描述信息,进而判断该描述信息记录的是否为该待存储业务数据的具体含义。
通过原始数据对含义数据进行验证的方式,能够有效避免区块链技术使用方出于自身利益对业务系统中生成含义数据的过程进行人为干预。例如,区块链技术使用方可能为了避免内容安全检查识别出区块链交易中的违法交易记录,将正常交易的描述信息编码成含义数据添加于该区块链交易中,若网关设备采用了本实施例的方法,即可确定出区块链交易中的原始数据与含义数据不匹配,进而拒绝将该区块链交易保存至区块链系统中。
步骤106,对解析得到的待检测数据进行内容安全检查。
在一实施例中,内容安全检查的操作可由网关设备自主执行。例如,可以预先在网关设备中部署内容安全规则,以在对接收到的区块链交易进行解析并得到待检测数据后,基于预先部署的内容安全规则对该待检测数据进行内容安全检查。
在另一实施例中,内容安全检查的操作可由独立的设备执行。例如,在网关设备通过交易解析规则对接收到的区块链交易进行解析后,可以将解析得到的待检测数据发送至内容安全服务器,以由内容安全服务器基于保存的内容安全规则对接收到的待检测数据进行内容安全检查。在该情况下网关设备只需接收内容安全服务器返回的内容安全检查结果即可,而无需执行内容安全检查的步骤,减少了对本地处理资源的占用。
在实际应用中,由于内容安全检查的操作本身较为复杂,例如,大多涉及确定业务的相关领域、匹配内容安全规则等操作。因此,通常由专门的内容安全服务器执行内容安全检查的操作。具体的,可以在内容安全服务器中预设若干内容安全规则,以便内容安全服务器基于待检查数据的相关信息匹配用于本次内容安全检查的目标内容安全规则。当然,若是采用在网关设备执行内容安全检查操作的方式,也可以在网关设备中预设若干内容安全规则,以便对不同种类的待检测数据进行内容安全检查。举例而言,若干内容安全规则具体可以为:针对购物场景的内容安全规则、针对会议记录的内容安全规则等,具体的,可由本领域技术人员根据实际需求设定,本说明书对此不作限制。
步骤108,在检查通过的情况下,将所述区块链交易发送至所述区块链系统。
在网关设备确定接收到的区块链交易通过内容安全检查的情况下,即可将该区块链交易发送并存储至区块链系统。具体的,可以将该区块链交易发送至所需上链的区块链网络中的任一节点,以由该任一节点与所属区块链网络中的其他节点对该区块链交易进行共识,并在共识通过后,将该区块链交易存储至各个区块链节点维护的区块链中。在本说明书中,可以根据实际需求采用不同的区块链共识算法,例如,可以采用PBFT(PracticalByzantine Fault Tolerance,实用拜占庭容错算法);也可以采用POW(Proof Of Work,工作量证明算法),本说明书对此不作限制。
应当理解的是,内容安全规则并非始终保持不变,常因法律的修正、市场规范的调整等因素发生改变。因此,在本说明中,除了在将区块链交易存储至区块链系统时,对区块链交易进行内容安全检查以外,还可以进一步在将已上链交易发送至链下设备时,对区块链交易进行内容安全检查。
举例而言,网关设备在接收到针对区块链系统中的已上链交易的查询请求时,可以获取该已上链交易和相应的交易解析规则,以根据获得到的交易解析规则对获取到的已上链交易进行解析,进而得到该已上链交易中对应的待检测数据。在此基础上,即可对解析得到的待检测数据进行内容安全检查,且仅在检查通过的情况下,将该已上链交易发送至上述查询请求的发送方。
在实际操作中,在对待检测数据进行内容安全检查之前,还需获取相应的内容安全规则。应当理解的是,在上述已上链交易被上链后,内容安全规则可能已经被更新。因此,在接收到针对上述已上链交易的查询请求的情况下,还可以包括获取更新后内容安全规则的操作。其中,该更新后内容安全规则与该已上链交易上链时用于内容安全检查的内容安全规则不同。
在确定被请求的已上链交易不符合内容安全规则的情况下,除了拒绝将已上链交易发送至查询请求的发送方以外,还可以进一步删除区块链系统中的该已上链交易,以减少不安全内容对存储空间的占用。
需要声明的是,在已上链交易被请求时的内容安全检查操作与数据上链时的内容安全检查操作基本一致,具体操作流程可参照上文介绍,在此不再赘述。
除此之外,本说明书中的技术方案既可以应用于区块链技术的传统架构,即区块链网络中的所有节点均通过在相应实体设备上部署区块链代码而形成,大多数情况下,每个节点均对应于一个实体设备;本说明书的技术方案也可以应用于区块链技术中的BaaS(Blockchain as a Service)架构,即区块链网络中的所有节点均通过云服务在云端实现的虚拟机上部署区块链代码而形成,区块链节点无需一一对应于相应的实体设备。
由上述技术方案可知,本说明书基于区块链交易的交易格式预先配置了交易解析规则,使得网关设备在接收到区块链交易时,能够通过预先配置的交易解析规则从区块链交易中解析出用于内容安全检查的待检测数据,实现了业务数据在上链过程中的内容安全检查。应当理解的是,由于本说明书中的内容安全检查操作在数据被上链的过程中进行,对于区块链技术的提供方而言是可控的,避免了相关技术中,由于内容安全检查操作不可控,而导致内容安全检查结果不可靠的问题。
进一步的,本说明书中的区块链交易中除了包含相应业务的原始数据以外,还可以进一步包含相应业务的含义数据。其中,该含义数据由相应业务的描述信息转换得到。在此基础上,区块链系统的网关设备即可将区块链交易包含的含义数据转换为相应业务的描述信息,以通过该描述信息对区块链交易进行内容安全检查。应当理解的是,由于该描述信息阐明了相应业务的具体含义,使得网关设备无需自行确定相应业务的具体含义,能够大幅提高内容安全检查的效率。除此之外,网关设备自行确定相应业务的具体含义,通常与实际含义偏差较大,可见,通过在区块链交易中加入含义数据,还可以进一步提高内容安全检查的准确率。
再进一步的,除了在将待存储业务数据上链至区块链系统时进行内容安全检查之外,本说明书还可以在接收针对已上链交易的查询请求时,对被请求的已上链交易进行内容安全检查。若已上链交易未通过内容安全检查,网关设备拒绝将该已上链交易发送至查询请求的发送方。通过该方法,即便内容安全规则发生改变时,也能够在被请求时确定出不符合更新后内容安全规则的已上链交易,进而避免不安全内容的传播。
本说明书还提出了另一种区块链交易的内容检查方法,在下一实施例中着重介绍了如何在区块链系统中的已保存区块链交易被请求时,进行内容安全检查。需要声明的是,在该实施例中内容安全检查的操作方式,与上一实施例基本一致,如“获取交易解析规则”的操作、如“解析区块链交易以得到待检测数据”的操作等,仅是进行内容安全检查的时机不同。因此,在下一实施例中,不再对相关内容进行详细阐述,具体操作方式均可参照上一实施例的介绍,在下文中不再赘述。
图2为本说明书一示例性实施例示出的另一种区块链交易的内容检查方法的流程图。该方法应用于区块链系统的网关设备,该方法可以包括以下步骤:
步骤202,响应于针对任一区块链交易的查询请求,从所述区块链系统中获取所述任一区块链交易。
在本实施例中,区块链系统中包含若干已上链的区块链交易。当任一对象需要获取已上链的任一区块链交易时,即可向区块链系统的网关设备发送针对该任一区块链交易的查询请求。网关设备在接收到查询请求后,可以从区块链系统中获取该任一区块链交易,以进行内容安全检查。同时,还需获取预先配置的交易解析规则,以从该任一区块链交易中解析得到用于内容安全检查的待检测数据。
步骤204,获取交易解析规则,并根据获取到的交易解析规则对所述任一区块链交易进行解析,以得到所述任一区块链交易中包含的待检测数据。
如上所述,预先配置的交易解析规则可以根据实际需求存储于不同的存储空间中。在一种情况下,预先配置的交易解析规则可以保存于网关设备的本地存储空间中,网关设备在接收到区块链交易的情况下,可以直接从本地存储空间中获取交易解析规则,具有较高的交易解析规则获取效率。在另一种情况下,预先配置的交易解析规则可以保存于数据库网关设备中,当网关设备接收到业务系统发送的区块链交易时,可以向数据库网关设备发送针对交易解析规则的获取请求,以使数据库网关设备响应于该获取请求,将交易解析规则返回。
如上所述,区块链系统中可以部署有唯一的区块链网络,且该区块链网络中所保存的区块链交易采用统一的特定交易格式,在该情况下,可以预先针对该特定交易格式配置唯一确定的交易解析规则。在此基础上,即可基于该唯一的交易解析规则对上述任一区块链交易进行解析,以得到待检测数据。
如上所述,区块链系统中可以部署有多个区块链网络,且多个区块链网络中的区块链交易采用了不同的交易格式。在该情况下,可以为每一区块链网络分别配置一交易解析规则,以用于解析相应区块链网络对应的区块链交易。在此基础上,网关设备在接收到查询请求时,可以优先基于查询请求中包含的网络标识确定保存有该任一区块链交易的目标区块链网络,再从若干预设交易解析规则中确定出与该目标区块链网络相对应的目标解析规则,进而通过该目标解析规则对上述任一区块链交易进行解析,以得到用于内容安全检查的待检测数据。其中,目标解析规则与目标区块链网络中的区块链交易所采用的交易格式相匹配。
如上所述,区块链系统中已上链的区块链交易可以如传统区块链交易,仅包含相应业务的原始数据。网关设备在获取到上述任一区块链交易之后,可以基于相应的交易解析规则将该任一区块链交易转换为相应业务的原始数据。在此基础上,即可将转换得到的原始数据确定为待检测数据,以用于内容安全检查。
如上所述,区块链系统中已上链的区块链交易可以与传统区块链交易不同,除了包含相应业务的原始数据以外,还可以进一步包含相应业务的含义数据,该含义数据可以被直接解析为相应业务的描述信息,以进行内容安全检查。在该实施例中,交易解析规则中记录了相应区块链交易的交易格式,以及信息转换逻辑。其中,网关设备可以基于交易解析规则中的交易格式,从上述任一区块链交易所包含的数据中确定出上述含义数据;而信息转换逻辑则用于在确定出含义数据后,将确定的含义数据转换为相应业务的描述信息,进而将转换得到的描述信息作为待检测数据,以进行内容安全检查。
如上所述,还可以基于上述任一区块链交易中包含的原始数据对其所包含的含义数据进行验证,以确保该任一区块链交易中的原始数据和含义数据相匹配。具体的,可以基于上述方法将该任一区块链交易中的原始数据转换为未编码为该任一区块链交易前的待存储业务数据、将该任一区块链交易中的含义数据转换为描述信息,进而判断该描述信息记录的是否为该待存储业务数据的具体含义。
如上所述,内容安全检查的操作可由网关设备自主执行,也可以由独立的内容安全服务器执行。
步骤206,对解析得到的待检测数据进行内容安全检查,以在检查通过的情况下,将所述任一区块链交易返回至所述查询请求的发送方。
在本实施例中,上述任一区块链交易在所包含的待检测数据通过内容安全检查的情况下,被存储至区块链系统。应当理解的是,在上述任一区块链交易被上链后,内容安全规则可能已经被更新。因此,在接收到针对上述查询请求的情况下,还可以包括获取更新后内容安全规则的操作。该更新后内容安全规则与该任一区块链交易上链时用于内容安全检查的内容安全规则不同。
如上所述,在确定上述任一区块链交易不符合内容安全规则的情况下,除了拒绝将该任一区块链交易发送至查询请求的发送方以外,还可以进一步删除区块链系统中的该任一区块链交易,以减少不安全内容对存储空间的占用。当然,在确定上述任一区块链交易符合内容安全规则的情况下,即可将该任一区块链交易返回至上述查询请求的发送方。
由上述技术方案可知,本说明书中的网关设备在接收到针对已上链的任一区块链交易的查询请求的情况下,可以在获取该任一区块链交易的情况下,通过预先配置的交易解析规则对该任一区块链交易进行内容安全检查。其中,在该任一区块链交易通过内容安全检查时,将该任一区块链交易发送至查询请求的发送方;而在未通过内容安全检查时,拒绝将该任一区块链交易发送至查询请求的发送方。可见,通过本说明书的技术方案,能够有效避免不安全内容的传播。
进一步的,网关设备在接收到查询请求时用于内容安全检查的内容安全规则,与相应区块链交易上链时用于内容安全检查的内容安全规则不同。使得即便内容安全规则发生变化,也能够准确识别出区块链交易中包含的不安全内容。
下面,以区块链系统中部署有多个区块链网络,且由内容安全服务器对待检测数据进行内容安全检查为例,对本说明书的技术方案进行介绍。
图3为本说明书一示例性实施例示出的一种区块链交易上链过程中的内容检查方法的交互图。如图3所示,该方法可以包括以下步骤:
步骤301,业务系统基于待存储业务数据,确定出相关业务的描述信息。
在本实施例中,当业务系统存在业务数据需要被存储至区块链时,即可将相应的业务数据确定为待存储业务数据,该待存储业务数据通常仅包含相应业务的原始数据。
为了方便内容安全检查,业务系统还可以基于该待存储业务数据进一步确定相关业务的描述信息。通常而言,由于业务系统对自身所负责业务具有较高的熟悉度,因此,由其确定的描述信息通常能够较为准确地表达相应业务数据的具体含义。当然,为了进一步提高描述信息的准确度,该描述信息还可以由该业务系统的运维人员人工审核。
步骤302,业务系统将待存储业务数据以及描述信息编码为区块链交易。
在确定待存储业务数据及其描述信息后,即可将其编码为区块链交易。在实际操作中,业务系统需要优先确定该待存储业务数据需要被存储至区块链系统中的哪一区块链网络,即目标区块链网络,以根据目标区块链网络所采用的交易格式对待存储业务数据及其描述信息进行编码。换言之,业务系统编码得到的区块链交易,与目标区块链网络中包含的区块链交易采用同一交易格式。
为了方便理解,举例说明,假设区块链系统中包含的多个区块链网络,以及各个区块链网络所采用的交易格式如下表1所示:
若现在业务系统确定的待存储业务数据为业务M的原始数据,且需要将其存储至区块链网络X,那么,业务系统可以在确定业务M的描述信息m后,将业务M的原始数据和描述信息m编码为:采用格式1的区块链交易M’。其中,区块链交易M’中由业务M的描述信息m编码得到的部分即为含义数据m’。
步骤303,业务系统为区块链交易添加目标区块链网络的网络标识。
承接上述举例,业务系统在编码得到区块链交易M’后,即可在区块链交易M’中添加区块链网络X的网络标识“X”。
步骤304,业务系统将区块链交易发送至区块链系统的网关设备。
步骤305,网关设备基于区块链交易中包含的网络标识确定目标区块链网络。
承接上述举例,网关设备在接收到区块链交易M’后,即可通过其所包含的网络标识“X”确定需要将该区块链交易M’存储至区块链网络X,即目标区块链网络为区块链网络X。
步骤306,网关设备基于确定的目标区块链网络从若干预设交易解析规则中确定出目标解析规则。
在本实施例中,根据各个区块链网络所采用的交易格式预先配置有相应的交易解析规则。承接上述举例,预先配置的交易解析规则与各个区块链网络所采用的交易格式的对应关系可参考下表2:
由表2可知,与区块链网络X相匹配的交易解析规则为规则1’,那么在目标区块链网络为区块链网络X的情况下,即可将规则1’确定为目标解析规则。
需要声明的是,虽然在上述步骤中,优先基于网络标识X确定目标区块链网络为区块链网络X,再基于目标区块链网络确定目标解析规则为规则1’。但在实际操作中,也可以直接基于网络标识X确定目标解析规则为规则1’。具体如何操作,可由本领域技术人员根据实际需求确定。
步骤307,网关设备根据目标解析规则中包含的交易格式确定出区块链交易中的含义数据。
承接上述举例,本步骤即可基于确定的规则1’中包含的交易格式确定出区块链交易M’中包含的含义数据m’。
步骤308,网关设备根据目标解析规则中包含的信息转换逻辑将含义数据转换为相应业务的描述信息。
承接上述举例,在上一步骤确定出含义数据m’后,可以进一步根据目标解析规则中包含的信息转换逻辑将含义数据m’转换为业务M的描述信息m,并将描述信息m作为用于内容安全检查的待检测数据。
步骤309,网关设备将转换得到的描述信息发送至内容安全服务器。
步骤310,内容安全服务器基于接收到的描述信息,从预设的若干内容安全规则中确定出目标内容安全规则。
在内容安全服务器中可以预先配置若干内容安全规则,以用于对不同业务的相关数据进行内容安全检查。例如,可以配置与购物相关的内容安全规则,其中规定了哪些为非法物品等内容;再例如,还可以配置与会议记录相关的内容安全规则,其中规定了哪些言论为危险言论等内容。
承接上述举例,内容安全服务器在接收到网关设备发送的描述信息m之后,即可基于描述信息m确定相对应的内容安全规则,即目标内容安全规则,以用于内容安全检查。例如,当在描述信息m中检测到类似购买、付款等关键词时,即可将与购物相关的内容安全规则确定为目标内容安全规则;再例如,当在描述信息m中检测到类似会议、交流等关键词时,即可将与会议相关的内容安全规则确定为目标内容安全规则。
步骤311,内容安全服务器通过目标内容安全规则对接收到的描述信息进行内容安全检查。
承接上述举例,假设业务M记录了一次购物交易,其原始记录了:用户A向用户B转移了数额为E的资产,用户B将物品F转移给了用户A;其描述信息m记录了:用户A花费数额为E的资产向用户B购买了物品F。那么,即可确定与购物相关的内容安全规则为目标内容安全规则。此时,内容安全服务器即可通过将描述信息m与目标内容安全规则进行比较,以确定其是否通过内容安全检查,例如,可以将物品F与目标内容安全规则中记录的危险物品进行对比,当确定物品F为危险物品时,确定描述信息m未通过内容安全检查。进一步的,当确定F不为危险物品时,还可以进一步根据目标内容安全规则中记录的各类物品的均价,判断数额为E的资产是否与物品F的实际价值相差较大,若相差较大则确定存在非法交易,判定描述信息m未通过内容安全检查,若相差不大则确定不存在非法交易,判定描述信息m通过内容安全检查。
需要声明的是,本实施例仅是以由内容安全服务器负责内容安全检查为例,在实际情况中,该步骤也可以由网关设备执行。
步骤312,内容安全服务器将内容安全检查结果发送至网关设备。
步骤313A,网关设备在确定内容安全检查结果为通过的情况下,将区块链交易发送至目标区块链网络。
承接上述举例,当确定内容安全服务器返回的检查结果为通过的情况下,即可将区块链交易M’发送至区块链网络X。在实际操作中,可以发送至区块链网络X中的任一节点,以由其与区块链网络X中的其他节点进行共识并通过后,将区块链交易M’存储至区块链网络X中所有节点维护的区块链中。
步骤313B,网关设备在确定内容安全检查结果为不通过的情况下,不将区块链交易发送至目标区块链网络。
承接上述举例,当确定内容安全服务器返回的检查结果为不通过的情况下,网关设备不将区块链交易M’发送至区块链系统。进一步的,可以将内容安全检查结果返回至业务系统,以告知业务系统并未将区块链交易M’存储至区块链系统。
由上述技术方案可知,本说明书中的网关设备可以基于接收到的区块链交易,获取相应的交易解析规则,并通过获取的交易解析规则对该区块链交易进行解析,以得到相应业务的数据内容,进而在数据上链过程中,实现对区块链交易的内容安全检查,避免了相关技术中由于区块链交易被编码后无法确定相应业务的数据内容,而导致无法对区块链交易进行内容安全检查的问题。
进一步的,通过在区块链交易中加入与待存储业务数据相关的含义数据,使得本说明书能够通过解析该含义数据,获取与待存储业务数据相关的描述信息。该描述信息阐明了相应业务数据的具体含义,能够大幅提高内容安全检查的准确率和效率。
图4为本说明书一示例性实施例示出的一种区块链交易查询过程中的内容检查方法的交互图。如图4所述,该方法可以包括以下步骤:
步骤401,业务系统向网关设备发送查询请求。
在本实施例中,以业务系统作为区块链交易的请求方为例进行介绍。当业务系统需要查询任一已上链区块链交易时,即可将该任一已上链区块链交易作为目标区块链交易,并向网关设备发送针对该目标区块链交易的查询请求。
以将已上链的区块链交易M’作为目标区块链交易为例,业务系统即可将区块链交易M’的交易标识“M’”,以及存储有区块链交易M’的区块链网络X的网络标识“X”加入到查询请求中,并将该查询请求发送至区块链系统的网关设备。
步骤402,网关设备基于查询请求中包含的网络标识确定目标区块链网络。
承接上述举例,即可在本步骤中基于网络标识“X”确定出存储有区块链交易M’的目标区块链网络为区块链网络X。
步骤403,网关设备基于查询请求中包含的网络标识从若干预设交易解析规则中确定出目标解析规则。
承接上述举例,即可在本步骤中基于网络标识“X”从如表2所示的对应关系中,确定出区块链交易M’对应的交易解析规则为规则1’。
步骤404,网关设备基于查询请求中包含的交易标识从目标区块链网络中获取目标区块链交易。
承接上述举例,在确定目标区块链网络为区块链网络X后,即可基于区块链交易M’的交易标识“M’”从区块链网络X中获取区块链交易M’。
步骤405,网关设备根据目标解析规则中包含的交易格式确定出区块链交易中的含义数据。
步骤406,网关设备根据目标解析规则中包含的信息转换逻辑将含义数据转换为相应业务的描述信息。
步骤407,网关设备将转换得到的描述信息发送至内容安全服务器。
步骤408,内容安全服务器基于接收到的描述信息,从预设的若干内容安全规则中确定出目标内容安全规则。
步骤409,内容安全服务器通过目标内容安全规则对接收到的描述信息进行内容安全检查。
步骤410,内容安全服务器将内容安全检查结果发送至网关设备。
步骤405-步骤410的操作方式可参照上一实施例中相关步骤的介绍,在本实施例中不再赘述。
与上一实施例的差别仅在于:在本实施例中确定的目标安全规则可能与上一实施例中确定的目标安全规则不同,即目标安全规则可能发生了更新。例如,在与购物相关的安全规则,可能新增了若干种禁止买卖的物品等。
步骤411A,网关设备在确定内容安全检查结果为通过的情况下,将获取的目标区块链交易发送业务系统。
承接上述举例,当确定内容安全服务器返回的检查结果为通过的情况下,即可将区块链交易M’发送至业务系统。
步骤411B,网关设备在确定内容安全检查结果为不通过的情况下,不将获取的目标区块链交易发送至业务系统。
承接上述举例,当确定内容安全服务器返回的检查结果为不通过的情况下,即可拒绝将区块链交易M’发送至业务系统。
进一步的,还可以将区块链网络X中存储的区块链交易M’删除。
由上述技术方案可知,本说明书可以在接收到针对任一已上链区块链交易的查询请求时,对该任一已上链区块链交易进行内容安全检查。不难理解的是,内容安全的监管制度总是在变化的,相应的,用于内容安全检查的内容安全规则也会随之不断更新。可以,在已上链区块链交易被请求时进行内容安全检查,能够避免由于内容安全规则更新而导致不安全数据被请求方获取的情况。
图5是一示例性实施例提供的一种电子设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成区块链交易的内容检查装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,在软件实施方式中,该区块链交易的内容检查装置可以包括:
获取单元601,响应于业务系统发送的区块链交易,获取交易解析规则;
解析单元602,根据获取到的交易解析规则对所述区块链交易进行解析,以得到所述区块链交易中包含的待检测数据;
检查单元603,对解析得到的待检测数据进行内容安全检查;
发送单元604,在检查通过的情况下,将所述区块链交易发送至所述区块链系统。
可选的,获取单元601进一步用于:
从本地存储空间中获取所述交易解析规则;或者,
向数据库网关设备发送针对所述交易解析规则的获取请求,以使所述数据库网关设备响应于接收到的获取请求,将所述交易解析规则返回。
可选的,获取单元601进一步用于:
基于所述区块链交易包含的网络标识,确定所述区块链交易在所述区块链系统上对应的目标区块链网络;其中,所述区块链系统上部署有多个区块链网络;
从若干预设交易解析规则中,确定出与所述目标区块链网络所对应的目标解析规则;
其中,所述目标解析规则与所述目标区块链网络中的区块链交易所采用的交易格式相匹配。
可选的,解析单元602进一步用于:
根据所述交易解析规则将所述区块链交易转换为相应业务的原始数据;
将转换得到的原始数据确定为所述待检测数据。
可选的,所述区块链交易中包含:相应业务的原始数据,以及相应业务的含义数据;解析单元602进一步用于:
根据所述交易解析规则中包含的交易格式,从所述区块链交易包含的数据中确定出所述含义数据;
根据所述交易解析规则中包含的信息转换逻辑将确定出的含义数据转换为相应业务的描述信息,以将所述描述信息确定为所述待检测数据。
可选的,检查单元603进一步用于:
将解析得到的待检测数据发送至内容安全服务器,以由所述内容安全服务器基于所保存的内容安全规则对接收到的待检测数据进行内容安全检查;
接收所述内容安全服务器返回的内容安全检查结果。
可选的,还包括:
响应单元605,响应于针对所述区块链交易的查询请求,获取已上链的所述区块链交易和所述交易解析规则;
解析单元602还用于:根据获取到的交易解析规则对获取到的区块链交易进行解析,以得到所述区块链交易中包含的待检测数据;
检查单元603还用于:对解析得到的待检测数据进行内容安全检查,以在检查通过的情况下,将所述区块链交易返回至所述查询请求的发送方。
可选的,获取单元601进一步用于:
获取更新后内容安全规则;所述更新后内容安全规则与所述区块链交易上链时用于内容安全检查的内容安全规则不同,用于在接收到所述查询请求的情况下,对所述待检测数据进行内容安全检查。
请参考图7,在软件实施方式中,该区块链交易的内容检查装置可以包括:
获取单元701,响应于针对任一区块链交易的查询请求,从所述区块链系统中获取所述任一区块链交易;
解析单元702,获取交易解析规则,并根据获取到的交易解析规则对所述任一区块链交易进行解析,以得到所述任一区块链交易中包含的待检测数据;
检查单元703,对解析得到的待检测数据进行内容安全检查,以在检查通过的情况下,将所述任一区块链交易返回至所述查询请求的发送方。
可选的,获取单元701进一步用于:
从本地存储空间中获取所述交易解析规则;或者,
向数据库网关设备发送针对所述交易解析规则的获取请求,以使所述数据库网关设备响应于接收到的获取请求,将所述交易解析规则返回。
可选的,还包括:
确定单元704,基于所述查询请求中包含的网络标识,确定所述区块链系统中保存有所述任一区块链交易的目标区块链网络;
获取单元701进一步用于:从所述目标区块链网络中获取所述任一区块链交易;
解析单元702进一步用于:从若干预设交易解析规则中,确定出与所述目标区块链网络对应的目标解析规则;所述目标解析规则与所述目标区块链网络中的区块链交易所采用的交易格式相匹配。
可选的,解析单元702进一步用于:
根据获取到的交易解析规则将所述任一区块链交易解析为相应业务的原始数据;
将解析得到的原始数据确定为所述任一区块链交易中包含的待检测数据。
可选的,所述任一区块链交易中包含:相应业务的原始数据,以及相应业务的含义数据;解析单元702进一步用于:
根据所述交易解析规则中包含的交易格式,从所述任一区块链交易包含的数据中确定出所述含义数据;
根据所述交易解析规则中包含的信息转换逻辑将确定出的含义数据转换为相应业务的描述信息,以将所述描述信息确定为所述待检测数据。
可选的,检查单元703进一步用于:
将解析得到的待检测数据发送至内容安全服务器,以由所述内容安全服务器基于所保存的内容安全规则对接收到的待检测数据进行内容安全检查;
接收所述内容安全服务器返回的内容安全检查结果。
可选的,
所述任一区块链交易在所包含的待检测数据通过内容安全检查的情况下,被存储至所述区块链系统;
其中,所述网关设备将所述任一区块链交易上链时与接收到针对所述任一区块链交易的查询请求时,用于内容安全检查的内容安全规则不同。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。