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

工业场景多端异构数据融合方法及系统

文献发布时间:2023-06-19 19:30:30


工业场景多端异构数据融合方法及系统

技术领域

本发明涉及远程服务调用技术领域,具体地,涉及工业场景多端异构数据融合方法及系统,更为具体地,涉及一种标准的客户端工具,支持应用服务端多样、交互数据结构不统一的工业场景,能广泛应用于多端异构数据的服务调用。

背景技术

随着用户对前端的要求的提高,对一个易用、灵活、高效的前端开发框架的需求也越来越强烈。信融项目因此应运而生,旨在解决开发技术复杂、跨系统展示困难、多屏融合能力欠缺、前端后端不能分离、界面风格不统一、开发工作量大等问题。

信融项目作为一个前端的框架,需要与后端项目进行数据的交互。而在远程服务调用的过程中,为了将该交互过程规范化、简明化,同时兼容不同的业务模式、服务场景、后台框架,亟需开发一套能够在不同工业场景下,访问后台服务的、统一规范的、高效灵活的客户端。

专利文献107633075A(申请号:201710872072.9)公开了一种多源异构数据融合平台及融合方法,融合平台包括数据采集单元、数据存储单元、数据标准化单元、用户画像构建单元、知识图谱构建单元和可视化单元;数据采集单元用于采集多源异构数据;数据存储单元用于对多源异构数据进行缓存;数据标准化单元对多源异构数据进行词法、语法和/或语义分析,得到标准化文本数据;用户画像构建单元利用量化出的学生标签构建学生的用户画像;知识图谱构建单元构建学生的知识图谱、老师的知识图谱和课程的知识图谱,并将课程的知识图谱、学生的知识图谱和老师的知识图谱进行关联,得到以学生为中心的课程联系、社交关系和师生关系;可视化单元对以学生为中心的课程联系、社交关系和师生关系进行显示。

常见的远程服务调用方式有RPC(Remote Produce Call)和REST方式,前者采用TCP作为底层传输协议,速度快,效率高;后者HTTP协议,是一种应用层协议,且规定了网络传输的请求格式、响应格式、资源定位和操作的方式等。由于信融平台需要在不同的工业场景中应用,所以需要在API层面进行封装。限制了开发语言的RPC方式被淘汰,采用了跨语言、跨平台的HTTP协议作为统一客户端工具的远程调用标准。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种工业场景多端异构数据融合方法及系统。实现了前端应用按照统一方式调用后端异构数据服务的特性。

根据本发明提供的一种工业场景多端异构数据融合方法,包括:

步骤S1:利用网关服务器登记远程服务的上下文信息;

步骤S2:配置网关服务器的CORS策略;

步骤S3:基于封装的JS SDK在前端发起HTTP请求;

步骤S4:网关服务器根据远程服务上下文信息进行寻址发现服务,并发起调用;

步骤S5:网关服务器获取服务响应数据后,按照预设格式封装响应数据,供服务调用方在服务响应回调处理函数中使用。

优选地,所述远程服务的上下文信息包括:服务端应用唯一标识、远程服务的唯一标识、服务协议类型和服务目标地址;

所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务协议类型是后端服务使用的协议,包括HTTP和TCP;

所述服务目标地址是后端服务所在主机的IP地址和端口号。

优选地,所述CORS策略包括:

Access-Control-Allow-Origin:允许指定的IP进行跨域访问;

Access-Control-Max-Age:表示在预设时间内不需要重复校验当前请求的跨域访问权限;

Access-Control-Allow-Methods:表示允许跨域请求的HTTP方法,包括GET、POST、PUT和DELETE;

Access-Control-Allow-Headers:表示访问请求中允许携带的Header信息。

优选地,所述步骤S3采用:基于封装的JS SDK在前端发起HTTP请求,请求参数包括服务端应用唯一标识、远程服务的唯一标识、服务请求参数以及服务响应回调处理函数;

所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务请求参数是结构统一的JSON结构,包括数据区,标准属性区和扩展数据区;

所述响应回调函数是处理后端返回数据的业务代码,对于不同项目、不同后端返回的数据在回调函数中自定义运算,返回和请求参数统一的格式的JSON数据。

优选地,所述步骤S4采用:网关服务器根据服务端应用唯一标识、远程服务的唯一标识进行寻址发现服务,并根据服务协议类型进行转换,遵循服务提供方的协议发起调用。

优选地,所述网关服务器根据服务端应用唯一标识、远程服务的唯一标识进行寻址发现服务采用:根据服务端应用唯一标识、远程服务的唯一标识,获取远程服务全要素信息;

所述根据服务协议类型进行转换是指网关服务器使用服务提供方的协议,解析组织前端HTTP请求的参数,发起服务调用。

优选地,所述步骤S5采用:网关服务器获取服务响应数据后,按照固定的JSON格式封装响应数据,供服务调用方在服务响应回调处理函数中使用;

服务响应数据封装是指网关服务器将服务调用结果放置在结构统一的JSON结构的数据区,并在标准属性区设置服务请求状态码,调用提示信息。

根据本发明提供的一种工业场景多端异构数据融合系统,包括:

模块M1:利用网关服务器登记远程服务的上下文信息;

模块M2:配置网关服务器的CORS策略;

模块M3:基于封装的JS SDK在前端发起HTTP请求;

模块M4:网关服务器根据远程服务上下文信息进行寻址发现服务,并发起调用;

模块M5:网关服务器获取服务响应数据后,按照预设格式封装响应数据,供服务调用方在服务响应回调处理函数中使用。

优选地,所述远程服务的上下文信息包括:服务端应用唯一标识、远程服务的唯一标识、服务协议类型和服务目标地址;

所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务协议类型是后端服务使用的协议,包括HTTP和TCP;

所述服务目标地址是后端服务所在主机的IP地址和端口号。

优选地,所述CORS策略包括:

Access-Control-Allow-Origin:允许指定的IP进行跨域访问;

Access-Control-Max-Age:表示在预设时间内不需要重复校验当前请求的跨域访问权限;

Access-Control-Allow-Methods:表示允许跨域请求的HTTP方法,包括GET、POST、PUT和DELETE;

Access-Control-Allow-Headers:表示访问请求中允许携带的Header信息。与现有技术相比,本发明具有如下的有益效果:

1、本发明采用规范化的远程服务的调用方法,解决了传统服务调用方式面对多类工业异构数据服务时方式混乱、参数复杂的不足,有效地提升了开发过程中服务调用的效率,并利用网关技术融合转换异构潜在的用户试用数据价值;

2、本发明实现安全地操作数据资源,提供了便捷的操作,个性化处理异构服务端数据;

3、本发明针对不同的项目中异构的数据结构和多样的服务端开发框架,搭建一个统一规范的客户端,指定一套使用标准,以满足不同工业场景下的需求;

4、本发明提供的异构数据融合方法针对不同协议类型的服务进行统一登记,简化前端应用调用方式,前端应用可以统一使用HTTP协议请求后端不同协议的服务;

5、本发明封装了标准的JS SDK,服务调用方式简洁统一,处理服务响应的方式也是统一的;

6、本发明中网关服务器的协议转换能力是开放、可扩展的,能够满足工业场景下使用的MQTT、ICE等通讯协议。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为工业场景多端异构数据融合系统示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

实施例1

根据本发明提供的一种工业场景多端异构数据融合方法,如图1所示,包括:

步骤S1:利用网关服务器登记远程服务的上下文信息;所述远程服务的上下文信息包括:服务端应用唯一标识(APPID)、远程服务的唯一标识(SID)、服务协议类型(TYPE)和服务目标地址(URL);

具体地,所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务协议类型是后端服务使用的协议,包括HTTP和TCP;

所述服务目标地址是后端服务所在主机的IP地址和端口号。

步骤S2:配置网关服务器的CORS策略,允许跨域访问;

具体地,具体地,所述CORS策略包括:

Access-Control-Allow-Origin:允许指定的IP进行跨域访问;

Access-Control-Max-Age:表示在多少秒内不需要重复校验当前请求的跨域访问权限;

Access-Control-Allow-Methods:表示允许跨域请求的HTTP方法,包括GET、POST、PUT和DELETE;

Access-Control-Allow-Headers:表示访问请求中允许携带哪些Header信息。

步骤S3:基于封装的JS SDK在前端发起HTTP请求;,请求参数包括服务端应用唯一标识、远程服务的唯一标识、服务请求参数以及服务响应回调处理函数;

所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务请求参数是结构统一的JSON结构,包括数据区,标准属性区和扩展数据区;

所述响应回调函数是处理后端返回数据的业务代码,对于不同项目、不同后端返回的数据在回调函数中自定义运算,返回和请求参数统一的格式的JSON数据。

步骤S4:网关服务器根据服务端应用唯一标识、远程服务的唯一标识进行寻址发现服务,并根据服务协议类型进行转换,遵循服务提供方的协议发起调用。

具体地,所述网关服务器根据服务端应用唯一标识、远程服务的唯一标识进行寻址发现服务采用:根据服务端应用唯一标识、远程服务的唯一标识,获取远程服务全要素信息;

所述根据服务协议类型进行转换是指网关服务器使用服务提供方的协议,解析组织前端HTTP请求的参数,发起服务调用。

步骤S5:网关服务器获取服务响应数据后,按照预设格式封装响应数据,供服务调用方在服务响应回调处理函数中使用。

具体地,所述步骤S5采用:网关服务器获取服务响应数据后,按照固定的JSON格式封装响应数据,供服务调用方在服务响应回调处理函数中使用;

服务响应数据封装是指网关服务器将服务调用结果放置在结构统一的JSON结构的数据区,并在标准属性区设置服务请求状态码,调用提示信息。

根据本发明提供的一种工业场景多端异构数据融合系统,包括:

模块M1:利用网关服务器登记远程服务的上下文信息;所述远程服务的上下文信息包括:服务端应用唯一标识(APPID)、远程服务的唯一标识(SID)、服务协议类型(TYPE)和服务目标地址(URL);

具体地,所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务协议类型是后端服务使用的协议,包括HTTP和TCP;

所述服务目标地址是后端服务所在主机的IP地址和端口号。

模块M2:配置网关服务器的CORS策略,允许跨域访问;

具体地,具体地,所述CORS策略包括:

Access-Control-Allow-Origin:允许指定的IP进行跨域访问;

Access-Control-Max-Age:表示在多少秒内不需要重复校验当前请求的跨域访问权限;

Access-Control-Allow-Methods:表示允许跨域请求的HTTP方法,包括GET、POST、PUT和DELETE;

Access-Control-Allow-Headers:表示访问请求中允许携带哪些Header信息。

模块M3:基于封装的JS SDK在前端发起HTTP请求;,请求参数包括服务端应用唯一标识、远程服务的唯一标识、服务请求参数以及服务响应回调处理函数;

所述服务端应用唯一标识是服务调用方传入的项目名称,网关服务器能够根据应用标识自动发现服务端应用的地址;

所述远程服务的唯一标识指明需要调用的后端服务的名称;

所述服务请求参数是结构统一的JSON结构,包括数据区,标准属性区和扩展数据区;

所述响应回调函数是处理后端返回数据的业务代码,对于不同项目、不同后端返回的数据在回调函数中自定义运算,返回和请求参数统一的格式的JSON数据。

模块M4:网关服务器根据服务端应用唯一标识、远程服务的唯一标识进行寻址发现服务,并根据服务协议类型进行转换,遵循服务提供方的协议发起调用。

具体地,所述网关服务器根据服务端应用唯一标识、远程服务的唯一标识进行寻址发现服务采用:根据服务端应用唯一标识、远程服务的唯一标识,获取远程服务全要素信息;

所述根据服务协议类型进行转换是指网关服务器使用服务提供方的协议,解析组织前端HTTP请求的参数,发起服务调用。

模块M5:网关服务器获取服务响应数据后,按照预设格式封装响应数据,供服务调用方在服务响应回调处理函数中使用。

具体地,所述模块M5采用:网关服务器获取服务响应数据后,按照固定的JSON格式封装响应数据,供服务调用方在服务响应回调处理函数中使用;

服务响应数据封装是指网关服务器将服务调用结果放置在结构统一的JSON结构的数据区,并在标准属性区设置服务请求状态码,调用提示信息。

实施例2

实施例2是实施例1的优选例

如图1所示,本发明提供了一种工业场景多端异构数据融合方法,包括如下步骤:

步骤S1:在网关服务器中注册各异构数据服务的上下文信息。具体地:

步骤S1中在网关服务器管理界面中录入后端异构数据服务的上下文信息,包括服务所属应用的标识(APPID)、服务标识(SID)、服务协议类型(TYPE)、服务目标地址(URL)。服务的上下文信息如下所示:

“BSMS,S_BS_AP_01,HTTP,10.25.10.32:9080/service”。

步骤S2:配置网关服务器的CORS策略,允许跨域访问。具体地:

步骤S2中配置的CORS策略包括Access-Control-Allow-Origin、Access-Control-Max-Age、Access-Control-Allow-Methods和Access-Control-Allow-Headers。

步骤S2中Access-Control-Allow-Origin配置前端应用的IP地址或域名,Access-Control-Max-Age配置为7200(两小时),Access-Control-Allow-Methods配置为GET和POST,Access-Control-Allow-Headers配置为x-token。

步骤S3:服务调用方基于封装的JS SDK在前端发起HTTP请求,请求参数必须包括:应用标识(APPID)、服务标识(SID)、服务请求参数,服务响应回调处理函数。

步骤S3中服务调用方实际向网关服务器发起HTTP请求,调用时的请求参数中的应用标识和服务标识为步骤1中登记的服务信息,例如:BSMS,S_BS_AP_01。服务请求参数是需要传入到服务S_BS_AP_01中的数据,服务响应回调处理函数是处理S_BS_AP_01返回结果数据的业务逻辑语句。

步骤S4:网关服务器根据应用标识、服务标识进行寻址发现服务,并根据服务协议类型进行转换,遵循服务提供方的协议,发起调用

步骤S4中网关服务器接收到前端服务请求时、根据应用标识和服务标识查找完整的服务信息。例如根据BSMS,S_BS_AP_01查找到该服务的协议类型是HTTP,服务地址是10.25.10.32:9080/service。然后向目标地址发起HTTP请求。

步骤S5:网关服务器获取后台服务响应数据后,包装转化为格式统一的结果,供前端应用使用。

步骤S5中网关服务器获取后端异构服务的响应数据后,需要将格式各异的后台数据包装转化为格式统一的数据传递到步骤3中的服务响应回调处理函数中。

实施例3

实施例3是实施例1和/或实施例2的优选例

利用本发明面向某钢铁企业生产经营场景,以“融合展示某产线设备状态和产线的钢产量”为例,说明工业场景下多端异构数据融合的实现方式。

(1)开发人员在网关服务器管理界面中注册后台系统的服务信息,分别为BSMS,S_BS_AP_01,HTTP,10.25.10.32:9080/service和BIQS,S_QE_AX_01,TCP,10.25.10.41:65322。其中,BSMS是经营业务系统,S_BS_AP_01是经营系统中的服务,可以查询指定产线的钢产量,服务协议是HTTP,服务目标地址是10.25.10.32:9080/service。BIQS是生产业务系统,S_QE_AX_01是生产系统中的服务,可以查询指定产线下的设备状态,服务协议是TCP,服务目标地址是10.25.10.41:65322。

(2)网关服务器配置CORS策略,允许部署了前端应用的服务器进行跨域访问,例如前端应用的服务器的IP是10.25.10.21。配置网关服务器的Access-Control-Allow-Origin为10.25.10.21。

(3)前端应用中引入JS SDK工具库,使用SDK提供的API发起服务调用。例如请求产线QT04的钢产量,应E.send(‘BSMS’,’S_BS_AP_01’,‘QT04’,callback1),请求QT04产线的设备状态,应E.send(‘BIQS’,‘S_QE_AX_01’,’QT04’,callback2)。其中,callback1和callback2分别为对应服务响应数据处理函数,处理函数的参数是网关服务器包装后的格式统一的数据。

(4)网关服务器接受到两个服务请求后,查询到对应的服务地址,根据协议类型,使用HTTP和TCP客户端向后台服务器发起请求,请求中包含了服务需要的参数信息产线QT04。

(5)网关服务器获取到后台服务的请求结果后,包装成格式统一的响应数据,例如获取到产线产量信息后,将其存储在数据区后,设置请求状态码为0,表示调用成功。

(6)前端应用在服务响应数据处理函数中,可解析使用后台的响应数据,回调函数callback1和callback2中的参数即为包装后的响应数据,前端应用可以根源业务需要融合使用。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

技术分类

06120115929916