一种面向网关设备的http数据请求方法、设备及介质与流程

文档序号:23391996发布日期:2020-12-22 13:58阅读:99来源:国知局
一种面向网关设备的http数据请求方法、设备及介质与流程

本发明涉及工业自动化控制技术领域,特别指一种面向网关设备的http数据请求方法、设备及介质。



背景技术:

工业互联网平台利用网关设备实现通信协议的互联,网关设备采用标准的工业网络协议与多种智能设备建立通信,从而实现不同设备的无缝集成。网关设备的应用场合十分广泛,可一站式接入现场的智能设备,实现数据采集、分析处理和综合监控。网关设备涵盖市场上主流的以太网通讯协议和plc专有协议,可以消除绝大多数用户在多协议通讯上的困扰。

超文本传输协议(英文:hypertexttransferprotocol,缩写:http)是一种用于分布式、协作式和超媒体信息系统的应用层协议。http协议是建立在tcp协议上的应用层协议,协议的本质是请求和应答,即对于http协议来说,服务器给一次响应后整个请求就结束了,这是http请求最大的特点,也是由于这个特点,http请求无法做到的是服务器向客户端主动推送数据。但由于基于网关设备的http协议的广泛应用,存在使用http协议去获取实时数据或者历史数据的需求。

因此,如何提供一种面向网关设备的http数据请求方法、设备及介质,实现网关设备利用http协议获取服务器的实时数据或者历史数据,成为一个亟待解决的问题。



技术实现要素:

本发明要解决的技术问题,在于提供一种面向网关设备的http数据请求方法、设备及介质,实现网关设备利用http协议获取服务器的实时数据或者历史数据。

第一方面,本发明提供了一种面向网关设备的http数据请求方法,包括如下步骤:

步骤s10、网关设备与服务器建立tcp套接字连接;

步骤s20、网关设备向服务器发送登录请求进行身份验证,并接收服务器返回的guid码;

步骤s30、网关设备基于所述guid码向服务器发送http数据请求报文;

步骤s40、网关设备获取服务器发送的数据。

进一步地,所述步骤s10具体为:

网关设备的第一http模块与服务器的第二http模块通过三次握手建立tcp套接字连接,并设定tcp连接模式为短连接模式或者长连接模式。

进一步地,所述步骤s20具体为:

网关设备通过tcp套接字向服务器发送携带认证数据的登录请求,服务器接收所述登录请求,并判断服务器预先存储的认证数据与登录请求携带的认证数据是否一致,若是,则身份验证通过,服务器向网关设备发送guid码,并存储所述guid码;若否,则身份验证不通过,结束流程。

进一步地,所述步骤s30具体:

网关设备通过tcp套接字向服务器发送所述guid码以及http数据请求报文;所述http数据请求报文用于请求实时数据或者历史数据。

进一步地,所述步骤s30中,所述http数据请求报文包括请求行、请求头部、第一空行以及请求数据;

所述请求行包括请求方法、请求地址以及协议版本;所述请求头部为请求报文的附加信息;所述第一空行为请求头部结束的分隔符。

进一步地,所述步骤s40具体包括:

步骤s41、服务器接收网关设备发送的所述guid码以及http数据请求报文,并判断网关设备发送的所述guid码与存储的guid码是否一致,若是,则进入步骤s42;若否,则结束流程;

步骤s42、服务器解析所述http数据请求报文,从实时数据库拷贝实时数据或者从历史数据库拷贝历史数据,将拷贝的实时数据或者历史数据写入响应消息,并将所述响应消息通过tcp套接字发送给网关设备;

步骤s43、网关设备解析接收的所述响应消息得到服务器的实时数据或者历史数据。

进一步地,所述步骤s42中的响应消息包括状态行、响应头部、第二空行以及响应数据;

所述状态行包括协议版本、状态码以及状态码描述;所述响应头部为响应消息的附加信息;所述响应数据用于存放返回给网关设备的实时数据或者历史数据。

进一步地,还包括:

步骤s50、服务器判断所述tcp连接模式为短连接模式还是长连接模式,若是短连接模式,则服务器通过四次挥手断开与网关设备的tcp套接字连接;若是长连接模式,则服务器经过预设时长后,通过四次挥手断开与网关设备的tcp套接字连接。

第二方面,本发明提供了一种面向网关设备的http数据请求设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。

第三方面,本发明提供了一种面向网关设备的http数据请求介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

1、通过网关设备与服务器建立tcp套接字连接后,网关设备向服务器发送包括包括请求行、请求头部、第一空行以及请求数据的http数据请求报文,服务器对接收的http数据请求报文进行解析后,向网关设备返回包括状态行、响应头部、第二空行以及响应数据的响应消息,网关设备解析响应消息得到实时数据或者历史数据;若tcp连接模式为长连接模式,在预设时长内网关设备和服务器可一直进行交互,即服务器主动向网关设备推送数据,实现网关设备利用http协议获取服务器的实时数据或者历史数据,服务器也可以利用http协议获取网关设备的实时数据或者历史数据。

2、通过网关设备向服务器发送登录请求进行身份验证,身份验证通过后服务器向网关设备发送guid码,网关设备以guid码作为每次数据请求的key,极大的提升了数据请求的安全性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1是本发明一种面向网关设备的http数据请求方法的流程图。

图2是本发明一种面向网关设备的http数据请求设备的结构示意图。

图3是本发明一种面向网关设备的http数据请求介质的结构示意图。

图4是本发明http数据请求报文的结构示意图。

具体实施方式

本申请实施例通过提供一种面向网关设备的http数据请求方法、设备及介质,实现网关设备利用http协议获取服务器的实时数据或者历史数据。

请参照图1至图4所示:

实施例一

本实施例提供一种面向网关设备的http数据请求方法,包括如下步骤:

步骤s10、网关设备与服务器建立tcp套接字连接;网关设备与服务器通过互联网或者局域网进行连接;服务器设有一实时数据库以及一历史数据库;

步骤s20、网关设备向服务器发送登录请求进行身份验证,并接收服务器返回的guid码;

步骤s30、网关设备基于所述guid码向服务器发送http数据请求报文;每次请求的数据不超过2000个点;

步骤s40、网关设备获取服务器发送的数据。

所述步骤s10具体为:

网关设备的第一http模块与服务器的第二http模块通过三次握手建立tcp套接字连接,并设定tcp连接模式为短连接模式或者长连接模式;网关设备与服务器默认通过80端口建立tcp套接字连接;三次握手的过程中不传输数据,等握手完毕后网关设备和服务器才正式传输数据。套接字(socket)就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。

所述步骤s20具体为:

网关设备通过tcp套接字向服务器发送携带认证数据的登录请求,服务器接收所述登录请求,并判断服务器预先存储的认证数据与登录请求携带的认证数据是否一致,若是,则身份验证通过,服务器向网关设备发送guid码,并存储所述guid码;若否,则身份验证不通过,结束流程。guid码即全局唯一标识符,是一种由算法生成的二进制长度为128位的数字标识符,例如6f9619ff-8b86-d011-b42d-00c04fc964ff,作为每次数据请求的key。

所述步骤s30具体:

网关设备通过tcp套接字向服务器发送所述guid码以及http数据请求报文;所述http数据请求报文用于请求实时数据或者历史数据,请求实时数据时需要受用户管理模块的管理,请求历史数据时需要经过异常监测模块的检测。

所述步骤s30中,所述http数据请求报文包括请求行、请求头部、第一空行以及请求数据;

所述请求行包括请求方法、请求地址以及协议版本;所述请求头部为请求报文的附加信息,例如接收请求的服务器地址、发送请求的应用程序名称、制定与连接相关的属性、服务器可以发送的编码格式、服务器可以发送的数据压缩格式及服务器可以发送的语言;所述第一空行为请求头部结束的分隔符;所述请求数据是可选部分,例如采用get方法的tcp链接没有请求数据,而采用post方法的tcp链接有请求数据。

所述步骤s40具体包括:

步骤s41、服务器接收网关设备发送的所述guid码以及http数据请求报文,并判断网关设备发送的所述guid码与存储的guid码是否一致,若是,则进入步骤s42;若否,则结束流程;

步骤s42、服务器解析所述http数据请求报文,从实时数据库拷贝实时数据或者从历史数据库拷贝历史数据,将拷贝的实时数据或者历史数据写入响应消息,并将所述响应消息通过tcp套接字发送给网关设备;

步骤s43、网关设备解析接收的所述响应消息得到服务器的实时数据或者历史数据。

所述步骤s42中的响应消息包括状态行、响应头部、第二空行以及响应数据;

所述状态行包括协议版本、状态码以及状态码描述;所述响应头部为响应消息的附加信息,例如服务器应用程序的名称和版本、响应正文的类型、响应正文的长度、响应正文使用的编码、使用的数据压缩格式及响应正文使用的语言;所述响应数据用于存放返回给网关设备的实时数据或者历史数据。

还包括:

步骤s50、服务器判断所述tcp连接模式为短连接模式还是长连接模式,若是短连接模式,则服务器通过四次挥手断开与网关设备的tcp套接字连接,网关设备被动关闭连接,释放tcp套接字连接;若是长连接模式,则服务器经过预设时长后,通过四次挥手断开与网关设备的tcp套接字连接。

所述三次握手和四次挥手均为现有技术,三次握手与四次挥手分别对应tcp连接建立过程与断开过程。

三次握手的目的是建立可靠的通信信道:

第一次握手:网关设备什么都不能确认;服务器确认了对方发送正常;

第二次握手:网关设备确认了:自己发送、接收正常,对方发送、接收正常;服务器确认了:自己接收正常,对方发送正常;

第三次握手:网关设备确认了:自己发送、接收正常,对方发送、接收正常;服务器确认了:自己发送、接收正常,对方发送接收正常;即三次握手就能确认双发收发功能都正常。

四次挥手即连接终止协议,流程如下:1、tcp客户端发送一个fin,用来关闭客户到服务器的数据传送。2、服务器收到这个fin,它发回一个ack,确认序号为收到的序号加1。和syn一样,一个fin将占用一个序号。3、服务器关闭客户端的连接,发送一个fin给客户端。4、客户端发回ack报文确认,并将确认序号设置为收到序号加1。

基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例二。

实施例二

本实施例提供了一种面向网关设备的http数据请求设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。

由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。

基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例三。

实施例三

本实施例提供一种面向网关设备的http数据请求介质,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

1、通过网关设备与服务器建立tcp套接字连接后,网关设备向服务器发送包括包括请求行、请求头部、第一空行以及请求数据的http数据请求报文,服务器对接收的http数据请求报文进行解析后,向网关设备返回包括状态行、响应头部、第二空行以及响应数据的响应消息,网关设备解析响应消息得到实时数据或者历史数据;若tcp连接模式为长连接模式,在预设时长内网关设备和服务器可一直进行交互,即服务器主动向网关设备推送数据,实现网关设备利用http协议获取服务器的实时数据或者历史数据,服务器也可以利用http协议获取网关设备的实时数据或者历史数据。

2、通过网关设备向服务器发送登录请求进行身份验证,身份验证通过后服务器向网关设备发送guid码,网关设备以guid码作为每次数据请求的key,极大的提升了数据请求的安全性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1