掌桥专利:专业的专利平台
掌桥专利
首页

一种基于无入侵式对接的数据交换方法及设备

文献发布时间:2024-04-18 19:59:31


一种基于无入侵式对接的数据交换方法及设备

技术领域

本说明书涉及数据交互技术领域,尤其涉及一种基于无入侵式对接的数据交换方法及设备。

背景技术

在多个数据终端设备之间,为任意两个终端设备建立数据通信临时互连通路的过程称为数据交换。当前随着经济社会与科技的高速发展,用户的智能化需求不断提升,因此进行数据交换的场景已经涉及到工业领域、生活领域以及商业领域等各个领域,因此对于数据交换是当前生产生活中的一项重要技术手段。

现有的传统的数据交换方式如API接口、消息队列、WebSockets、数据交换平台、微服务架构、ETL工具等存在数据安全性的问题即可能在数据传输过程中被窃听或篡改,且由于不同系统之间使用的数据格式可能不同,使得不同系统间的数据格式不兼容导致数据交换双方无法正常读取和处理数据。且基于API接口或消息队列等方式进行数据交换时当数据交换量过多时会存在延迟,导致数据交换双方无法及时获取到最新的数据。此外,传统的数据交换方式需要对已有的系统进行修改或调整后才能够进行使用,侵入式修改的方式容易造成已有系统的不稳定或无法兼容的问题。

发明内容

为了解决上述技术问题,本说明书一个或多个实施例提供了一种基于无入侵式对接的数据交换方法及设备。

本说明书一个或多个实施例采用下述技术方案:

本说明书一个或多个实施例提供一种基于无入侵式对接的数据交换方法,方法包括:

对数据拥有端的区块链账户进行虚拟化,获得所述数据请求端所对应的数据拥有代理端;

根据所述数据拥有代理端与数据请求端之间的分布式数据交换引擎,对所述数据请求端的身份信息进行认证操作;其中,所述认证操作包括:身份认证、权限认证;

若所述数据请求端通过认证,则基于所述分布式数据交换引擎对所述数据请求端的当前授权许可信息进行解析校验,获得解析结果,通过所述数据拥有代理端对所述解析结果进行重构获得查询语句;

通过所述数据拥有代理端的预置数据调用方式,查询到与所述查询语句相对应的待交换数据;其中,所述数据调用方式为基于本体的数据访问与无侵入式相结合的数据调用方式;

对所述待交换数据基于所述数据请求端的公钥进行加密,以将加密后的数据返回所述数据请求端。

可选地,在本说明书一个或多个实施例中,对数据拥有端的区块链账户进行虚拟化,获得所述数据请求端所对应的数据拥有代理端,具体包括:

获取所述数据拥有端注册在区块链上的区块链账户,以对所述区块链账户进行虚拟化获得对应的虚拟账户;

将所述虚拟账户在所述区块链上进行注册,以将通过注册的虚拟账户所对应的区块链节点作为所述数据请求端所对应的数据拥有代理端。

可选地,在本说明书一个或多个实施例中,根据所述数据拥有代理端与数据请求端之间的分布式数据交换引擎,对所述数据请求端的身份信息进行认证操作之前,所述方法还包括:

根据所述分布式数据交换引擎与已有数据端的数据交换需求与数据交换标准,确定当前数据交换的数据主体格式;其中,所述数据主体格式用于规定基本数据信息;其中,所述基本数据信息包括:数据名称、数据类型、数据长度、数据编码、数据内容;

根据所述数据主体格式定义当前数据交换的本体知识与映射规则;

根据所述本体知识确定所述数据拥有端的数据本体,以基于所述数据本体所对应的数据库结构,建立虚拟数据库,以便基于所述映射规则将所述数据本体与所述虚拟数据库进行连接获得虚拟数据资源描述框架图。

可选地,在本说明书一个或多个实施例中,根据所述数据拥有代理端与数据请求端之间的分布式数据交换引擎,对所述数据请求端的身份信息进行认证操作,具体包括:

通过所述数据主体格式定义所述数据请求端的授权申请信息,以便所述分布式数据交换引擎基于所述授权申请信息,对所述数据请求端进行身份认证与权限认证;

若认证通过则分布式数据交换引擎向所述数据请求端发送授权许可信息;其中,所述授权许可信息包括:申请访问数据的数据令牌、数据请求端的身份信息。

可选地,在本说明书一个或多个实施例中,基于所述分布式数据交换引擎对所述数据请求端的当前授权许可信息进行解析校验之前,所述方法还包括:

将所述数据请求端的当前授权许可信息发送到所述数据拥有代理端;其中,所述当前授权许可信息包括:申请访问数据的当前数据令牌、数据请求端的当前身份信息;

基于所述数据拥有代理端将所述当前授权许可信息转发到所述分布式数据交换引擎。

可选地,在本说明书一个或多个实施例中,基于所述分布式数据交换引擎对所述数据请求端的当前授权许可信息进行解析校验,获得解析结果,通过所述数据拥有代理端对所述解析结果进行重构获得查询语句,具体包括:

基于所述分布式数据交换引擎对所述当前授权许可信息进行校验;

若确定所述当前授权许可信息未通过校验,则返回错误日志;

若确定所述当前授权许可信息通过校验,则基于所述数据拥有代理端确定与所述数据令牌相对应的请求信息,以将所述请求信息与所述数据请求端的当前身份信息作为解析结果;

通过所述数据拥有代理端的预置查询语句框架,将所述解析结果进行重组获得初始查询语句,并将所述初始查询语句基于所述虚拟数据库的数据格式进行转换获得查询语句;其中,所述初始查询语句为SPARQL查询语句。

可选地,在本说明书一个或多个实施例中,通过所述数据拥有代理端的预置数据调用方式,查询到与所述查询语句相对应的待交换数据,具体包括:

基于当前数据交换的本体知识与映射规则对所述数据请求端的查询语句进行语义推理,确定所述数据请求端的数据访问范围;

根据所述数据访问范围确定所述数据拥有端中对应的数据本体,以获取与所述对应的数据本体相对应的数据存储层,以将所述数据存储层与预置OBDA数据访问接口进行连接;

通过所述预置OBDA数据访问接口查询所述数据存储层中与所述查询语句相对应的元数据,以基于元数据进行细粒度的数据提取,获取与所述查询语句相对应的待交换数据;

其中,通过所述数据拥有代理端的预置数据调用方式,查询到与所述查询语句相对应的待交换数据之前,所述方法还包括:

基于所述数据拥有代理端将所述数据请求端的身份信息在区块链上进行识别,若识别通过则通过所述数据拥有代理端的预置数据调用方式,查询到与所述查询语句相对应的待交换数据。

可选地,在本说明书一个或多个实施例中,对所述待交换数据基于所述数据请求端的公钥进行加密,以将加密后的数据返回所述数据请求端之前,所述方法还包括:

将所述待交换数据在分布式信息系统中进行注册标识,并生成对应的标识码,以便将所述对应的标识码作为处理后的待交换数据进行数据传输;其中,所述分布式信息系统为Handle系统。

可选地,在本说明书一个或多个实施例中,对所述待交换数据基于所述数据请求端的公钥进行加密,以将加密后的数据返回所述数据请求端之后,所述方法还包括:

基于所述数据请求端的私钥对所述加密后的数据进行解密获得所述待交换数据;

通过所述数据标准对所述数据请求端的待交换数据进行映射,获得属于所述数据请求端的数据标准的待交换数据。

本说明书一个或多个实施例提供一种基于无入侵式对接的数据交换设备,设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:执行上述任一所述的方法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过分布式数据交换引擎与数据拥有代理端实现数据请求端以及数据拥有端的数据传输,避免了现有数据传输需要对已有的数据请求端与数据拥有端进行侵入式调整所带来的效率低且安全性低的问题,也降低了数据交换的成本与风险。基于区块链实现授权验证,保证数据交换的安全性和可信度,同时使用用户在区块链上的公钥进行加解密,保证数据传输过程中的安全性和机密性。此外,基于本体的数据访问与无侵入式相结合的数据调用方式进行数据调用且数据不离本体,使得数据拥有端能够通过语义推理对根据制定的数据主体格式生成的细粒度数据进行精确的控制,实现数据拥有端灵活地控制数据的访问权限,提高了数据的利用价值。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本说明书实施例提供的一种基于无入侵式对接的数据交换方法的流程图;

图2为本说明书实施例提供的一种基于无入侵式对接的数据交换设备的内部结构示意图。

具体实施方式

本说明书实施例提供一种基于无入侵式对接的数据交换方法及设备。

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

如图1所示,本说明书一个或多个实施例中提供了一种基于无入侵式对接的数据交换方法,方法包括:

S101:对数据拥有端的区块链账户进行虚拟化,获得所述数据请求端所对应的数据拥有代理端。

为了能够处理分布式数据交换引擎和已有端系统之间的数据交换与数据处理,需要在建立分布式交换引擎与数据拥有端进行无侵入对接时建立媒介,因此本说明书实施例中首先对数据拥有端的区块链账户进行虚拟化,从而获得数据请求端所对应的数据拥有端。具体地,在本说明书一个或多个实施例中,对数据拥有端的区块链账户进行虚拟化,获得数据请求端所对应的数据拥有代理端,具体包括以下过程:首先,获取数据拥有端注册在区块链上的区块链账户,以对区块链账户进行虚拟化获得对应的虚拟账户。然后将虚拟账户在区块链上进行登录,从而将通过登录的虚拟账户所对应的区块链节点作为数据拥有端所对应的数据拥有代理端。其中,还需要说明的是数据调用服务嵌入到了数据拥有代理端中,因此后续步骤在数据拥有代理端接收到数据请求端的数据请求之后对数据请求端的请求进行处理,对数据请求端携带的数据令牌进行验证,验证通过后才将请求内容转发给嵌入的数据调用服务,然后将调用的数据利用数据请求端的公钥进行加密,使得只有数据请求端的私钥才能进行解密获得数据。

S102:根据所述数据拥有代理端与数据请求端之间的分布式数据交换引擎,对所述数据请求端的身份信息进行认证操作;其中,所述认证操作包括:身份认证、权限认证。

为了确保数据交换的可信性,本说明书实施例中根据数据拥有代理端与数据请求端之间的分布式数据交换引擎,对数据请求端的身份信息进行认证操作。其中,需要说明的是认证操作包括:身份认证与权限认证。进一步地,在本说明书一个或多个实施例中,根据数据拥有代理端与数据请求端之间的分布式数据交换引擎,对数据请求端的身份信息进行认证操作之前,方法还包括以下过程:

根据分布式数据交换引擎与已有数据端的数据交换需求与数据交换标准,确定当前数据交换的数据主体格式。其中,需要说明的是数据主体格式用于规定基本数据信息,而基本数据信息包括:数据名称、数据类型、数据长度、数据编码、数据内容等信息。然后根据数据主体格式定义当前数据交换的本体知识与映射规则。以便于根据本体知识确定出数据拥有端的数据本体,进而基于数据本体所对应的数据库结构,构建出虚拟数据库,从而基于映射规则将数据本体与虚拟数据库进行连接获得虚拟数据资源描述框架图。

此外,还需要说明的是数据拥有代理端的数据调用服务按照启动以及访问顺序可以划分为:输入层、身份认证层、应用层、API层、身份验证层、核心层、访问控制层、数据存储层这八层。而建立数据主体格式即为输入层中制定的适用于大部分数据主体的标准,从而规定数据的名称、类型、长度、编码和内容含义等。除此之外在本说明书其他实施例中,输入层还会根据制定的数据主体格式也就是数据标准来实现构建本体知识和规则,定义和描述实体属性、关系及其语义关系,编写映射规则,定义如何将数据主体的数据转换成本体中对应的实体、属性和语义关系,同时,在初始化阶段,输入层会1:1复制数据主体的数据库结构,建立一个新的数据为空的虚拟数据库,用于数据填入后的查询。

具体地,为了保证数据请求端身份的合法性提高数据交换的可信度。在本说明书一个或多个实施例中,根据数据拥有代理端与数据请求端之间的分布式数据交换引擎,对数据请求端的身份信息进行认证操作,具体包括以下过程:

首先通过数据主体格式定义数据请求端的授权申请信息,以便分布式数据交换引擎基于所述授权申请信息,对数据请求端进行身份认证与权限认证;若认证通过则分布式数据交换引擎向数据请求端发送授权许可信息。其中,需要说明的是授权许可信息包括:申请访问数据的数据令牌、数据请求端的身份信息。通过进行认证操作确保了只有通过身份认证的用户才可以进行数据访问请求和执行相应的操作,提高了无入侵式对接的安全性。还需要说明的是,认证操作对应于数据调用服务中的身份认证层,身份认证层负责认证确认数据请求端与数据拥有代理端的身份及数据访问权限,这是进行无侵入对接的第一道关卡,确保只有经过身份认证的用户才可以进行数据访问请求和执行相应的操作。

S103:若所述数据请求端通过认证,则基于所述分布式数据交换引擎对所述数据请求端的当前授权许可信息进行解析校验,获得解析结果,通过所述数据拥有代理端对所述解析结果进行重构获得查询语句。

如果基于上述步骤S102中的认证操作确定数据请求端通过了认证,那么可以基于分布式数据交换引擎对数据请求端的当前授权许可信息进行解析,以便获得解析结果,进而通过数据拥有代理端对解析结果进行重构以便将其转换为虚拟数据库可以理解并处理的查询语句。

具体地,为了判断数据请求端的当前可授权许可信息是否可信,在本说明书一个或多个实施例中,基于分布式数据交换引擎对所述数据请求端的当前授权许可信息进行解析校验之前,方法还包括:

身份验证层保证基于数据请求端当前授权许可信息对数据请求端进行数据交换,本说明书实施例中会在数据请求端将当前授权许可信息发送到数据拥有代理端后;基于数据拥有代理端将当前授权许可信息转发到分布式数据交换引擎,以便于分布式数据交换引擎对其进行解析和验证。其中,需要说明的是,当前授权许可信息包括:申请访问数据的当前数据令牌、数据请求端的当前身份信息。

具体地,在本说明书一个或多个实施例中,基于分布式数据交换引擎对数据请求端的当前授权许可信息进行解析校验,获得解析结果,通过数据拥有代理端对所述解析结果进行重构获得查询语句,具体包括以下过程:

首先基于分布式数据交换引擎对当前授权许可信息进行校验,如果能够确定当前授权许可信息未通过校验,则返回错误日志。反之如果确定当前授权许可信息通过校验,则基于数据拥有代理端确定与数据令牌相对应的请求信息,以将请求信息与数据请求端的当前身份信息作为解析结果。然后通过数据拥有代理端的预置查询语句框架,将解析结果进行重组获得初始查询语句,并将初始查询语句基于虚拟数据库的数据格式进行转换获得查询语句;其中,初始查询语句为SPARQL查询语句。

此外,还需要说明的是:将初始查询语句基于虚拟数据库的数据格式进行转换获得查询语句时,通过API层提供的接口将请求信息以及SPARQL语句传递给身份验证层,而身份验证层是可信无侵入对接的第一道锁,同时也是第二道关卡,每当接收到数据请求端发送的请求后,对包含数据请求端请求信息的数据令牌以及数据请求端的身份信息进行验证,验证通过后才能允许数据请求端进入核心层,同时将数据请求端的请求信息传递给核心层,数据拥有代理端进行初始查询语句转换过程对应于上述数据调用服务中的核心层,核心层是整个数据调用服务的关键部分负责对请求信息进行翻译、优化和执行查询,核心层会与初始化阶段形成的虚拟数据库进行交互,将SPARQL查询语句转换成虚拟数据库能够理解并处理的查询语句,通过初始化时的映射将本体中的术语与虚拟数据库进行连接,转化为用户可见的虚拟RDF图,在进行数据查询前会将查询语句发送给访问控制层,访问控制层经过允许后将数据填充到虚拟数据库中,实现对虚拟数据库的查询操作。

S104:通过所述数据拥有代理端的预置数据调用方式,查询到与所述查询语句相对应的待交换数据;其中,所述数据调用方式为基于本体的数据访问与无侵入式相结合的数据调用方式。

通过语义推理对根据制定的数据标准生成的细粒度数据进行精确的控制,使数据拥有者能够灵活地控制数据的访问权限,提高数据的利用价值。本说明书实施例中通过数据拥有代理端的预置数据调用方式,查询到与询语句相对应的待交换数据。其中,需要说明的是数据调用方式为基于本体的数据访问与无侵入式相结合的数据调用方式。而具体地,在本说明书一个或多个实施例中,通过数据拥有代理端的预置基于本体的数据访问与无侵入式相结合的数据调用方式,查询到与查询语句相对应的待交换数据,具体包括以下过程:

基于当前数据交换的本体知识与映射规则对所述数据请求端的查询语句进行语义推理,确定所述数据请求端的数据访问范围;

首先根据数据访问范围确定数据拥有端中对应的数据本体,以获取与对应的数据本体相对应的数据存储层,以将数据存储层与预置OBDA数据访问接口进行连接。然后通过预置OBDA数据访问接口查询数据存储层中与查询语句相对应的元数据,以基于元数据进行细粒度的数据提取,获取与查询语句相对应的待交换数据。

其中,通过数据拥有代理端的预置数据调用方式,查询到与查询语句相对应的待交换数据之前,方法还包括:在确定需要进行数据交换时,数据拥有代理端内数据调用服务的身份认证层会将数据请求端的身份信息在区块链上进行识别,如果识别通过则通过数据拥有代理端的预置数据调用方式,查询到与查询语句相对应的待交换数据。其中,还需要说明的是获取与查询语句相对应的待交换数据的过程与数据调用服务中的访问控制层相对应,其中访问控制层是隔绝数据拥有端与外部进行交互的,相当于访问控制层是访问数据拥有端数据的二道锁也是可信无侵入式系统对接的第三道防护关卡,管理外部对数据主体的访问控制,在接收到核心层的请求后,利用语义推理和无侵入式数据访问对数据存储层的数据进行细粒度的精确控制,确保只有授权的用户才可以访问数据主体数据,并根据访问控制策略对用户的查询和操作进行限制和授权,访问控制层接收到数据请求后会同时执行语义推理和无侵入式数据访问,语义推理通过定义的实体属性、关系和用户权限信息,推断出数据请求端是否可以访问待交换数据,对于数据请求端所要访问的数据进行细粒度的划分,只显示数据请求端所能够查看的数据,对于没有权限的数据会返回权限的判定信息,无侵入式数据访问会根据请求的信息进行实时的访问配置,通过配置ODBC数据源和使用基于元数据的数据提取进行调用数据,通过配置数据源的方式,将数据主体的数据存储层作为数据源,并与OBDA数据访问接口衔接,集成ODBC数据源调用后,访问配置模块可以在查询和操作数据之前,确保只有经过授权的用户可以通过ODBC数据源访问和操作特定数据,基于元数据的数据提取根据元数据定义的数据结构、来源、规则、策略配置和控制数据抓取,有选择地抓取特定数据,供访问控制层验证和实施访问控制,这样实现了对数据的精确定制化访问控制。

进一步地,还需要说明的是数据拥有代理端的数据调用服务中,数据存储层与访问控制层是协同工作的,用于对数据主体的实际数据进行存储和管理,大多数情况下数据存储层是由数据拥有端进行提供的,保证数据不离本地。通过层层配合,避免数据访问时不可控的问题,实现数据的安全性和隐私保护,并为数据交换提供语义支撑。

S105:对所述待交换数据基于所述数据请求端的公钥进行加密,以将加密后的数据返回所述数据请求端。

为了保证数据交换的安全性和可信度,本说明书实施例中会使用数据请求端在区块链上的公钥和私钥对数据进行加解密,保证数据传输过程中的安全性和机密性。即本说明书实施例中会对待交换数据根据数据请求端的公钥进行加密,从而将加密后的数据返回数据请求端实现对于数据交换安全性传输的目的。

进一步地,由于数据交换过程中可信的交互环境主要是依托于区块链进行实现的,在进行无侵入式系统对接的数据交换时大量的数据请求认证会造成区块链运行过载,因此为了解决该问题在本说明书一个或多个实施例中,对待交换数据基于数据请求端的公钥进行加密,以将加密后的数据返回所述数据请求端之前,方法还包括以下过程:

将待交换数据在分布式信息系统中进行注册标识,并生成对应的标识码,以便将对应的标识码作为处理后的待交换数据进行数据传输。其中,需要说明的是分布式信息系统为Handle系统。也就是说利用handle标识解析服务的标识符来进行标识和解析数据实现数据不上链,以便于在数据拥有端进行数据共享时,将数据在handle系统中进行注册标识,并生成对应的标识码。而对于数据请求端可以在进行数据请求时将请求的信息利用将数据在handle系统中进行注册标识,并生成对应的标识码。例如:对交换的数据Data1进行标识注册,标识码格式生成标识码为:82.5821./1045.123.customer。然后,数据交换过程中,通过handle标识码的方式来参与。这样相比起大量数据直接上链的方式,要减少不少区块链的存储压力,节约区块链上宝贵的存储资源。并且对数据进行标识的方式参与数据交换,也避免了原始数据离开数据拥有端的本地服务,进一步地保证了数据的主权性和安全性。

进一步地,在获得解密的原始数据后会出现数据内容可能不符合自己系统的数据标准,因此在本说明书一个或多个实施例中,对待交换数据基于数据请求端的公钥进行加密,以将加密后的数据返回数据请求端之后,方法还包括以下数据映射的过程:

首先基于数据请求端的私钥对加密后的数据进行解密获得所述待交换数据。然后通过数据标准对所述数据请求端的待交换数据进行映射,获得属于所述数据请求端的数据标准的待交换数据。此处需要说明的是:每个数据请求端在进行数据交换前,都需要在分布式数据交换引擎进行注册,同时分布式数据交换引擎会将该数据请求端的信息在区块链上进行注册,数据请求端在注册成功后进行分布式数据交换引擎,需要将自己系统的数据标准输入到分布式数据交换引擎中,这样就实现了数据请求端在数据拥有端获得相应的请求数据之后,分布式数据交换引擎会自动的将数据转化成用户自己系统的数据标准。

如图2所示,本说明书实施例提供了一种基于无入侵式对接的数据交换设备,设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:执行上述任一所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

相关技术
  • 一种适用于钢桁梁桁片快速定位安装及精确调整的施工方法
  • 一种燃料电池弱片筛选及定位方法
  • 一种基于运行暖机工况的燃料电池膜电极弱片筛选方法
技术分类

06120116517809