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

一种基于TCP的嵌入式平台文件加载方法

文献发布时间:2023-06-19 11:14:36


一种基于TCP的嵌入式平台文件加载方法

技术领域

本发明涉及雷达信号处理技术领域。更具体地,涉及一种基于TCP的嵌入式平台文件加载方法,服务器和客户端。

背景技术

雷达信号处理是雷达系统的重要组成部分,其主要功能是对雷达回波信号进行实时处理,实现目标探测和跟踪。出于计算复杂度和计算效率考虑,处理过程中所需的参数和波形文件,通常被事先产生好并保存在存储芯片中,信号处理平台上电后再将这些文件加载至应用软件。由于系统实时性要求,雷达信号处理一般采用嵌入式平台实现,所以需要在嵌入式平台上进行文件加载。

传统的雷达信号处理嵌入式平台文件加载方法,一种是将参数及波形文件直接作为应用软件代码的一部分固化在存储芯片中,这种方法会导致应用软件规模过大,超过存储芯片容量,同时固化完成后也很难对加载文件进行更改和补充;另一种是利用雷达数传网络,将参数及波形文件以雷达控制字的形式下发,通过信号处理应用软件进行转存,这种方法的缺点是传输速率低,协议开销大,流程复杂。

发明内容

本发明的目的在于提供一种基于TCP(Transmission Control Protocol)的嵌入式平台文件加载方法。以解决现有技术存在的问题中的至少一个。

为达到上述目的,本发明采用下述技术方案:

第一方面,本发明提供一种基于TCP的嵌入式平台文件加载方法,应用于服务器,包括:

S100、监听客户端建立连接;

S102、接收所述客户端发送的请求信息,如果所述请求信息大小为0,代表客户端主动断开连接,执行步骤S108;

当所述请求信息大小不为0时,所述请求信息包括:文件请求信息和文件加载状态信息;

当所述请求信息为文件请求信息时执行步骤S104,当所述请求信息为文件加载状态信息时执行步骤S106;

S104、解析所述客户端发送的请求信息,从中获得文件的名称,根据文件的名称读取所述文件的文件大小和文件内容,将文件大小和文件内容发送给所述客户端,继续执行所述步骤S102;

S106、解析所述客户端发送的请求信息,从中获得文件的加载状态,并将该状态值显示在终端或者输出到文件,继续执行所述步骤S102;

S108、关闭本次连接,并重新监听来自其它客户端的连接,为其它客户端提供文件加载服务。

在一个具体实施例中,所述S100包括

在PowerPC平台上创建TCP Socket,作为发送文件的服务器,被动监听来自客户端的连接。

在一个具体实施例中,所述S104包括:

S1040:根据所述获得的文件的名称,在本地目录中搜索该文件,并向客户端发送字节信息,当文件不存在时,所述字节信息发送完毕后,执行步骤S102;当文件存在时,所述字节信息发送完毕后,执行步骤S1042;

S1042、读取文件内容,并发送给所述客户端,单次读取和发送的最大长度为N字节,如果该文件超过N字节,则分多次读取并发送,直到发送完文件的所有内容,然后执行步骤S102。

第二方面,本发明还提供了一种基于TCP的嵌入式平台文件加载方法,应用于客户端,包括:

S200、主动与服务器建立连接;

S202、与所述服务器建立连接成功后,向服务器发送文件请求信息;

S204、接收所述服务器发送的文件大小和文件内容,接收该文件内容完毕后,如果要批量加载多个文件,则执行步骤S202继续加载其它文件,否则执行S206;

S206、加载完所有文件后,向所述服务器发送加载状态信息,表示本次文件加载的完成情况,发送加载状态完毕后,执行步骤S208;

S208、发送完加载状态后,主动断开与所述服务器的连接,本次文件加载过程结束。

在一个具体实施例中,所述S200包括:

在DSP平台上创建TCP Socket,作为请求文件的客户端,并主动与服务器建立连接。

在一个具体实施例中,所述S204包括:

S2040:发送文件名成功后,开始接收服务器发送的文件大小信息,当文件大小为0时,代表该文件在服务器端不存在,此时如果要批量加载多个文件,则执行步骤S202继续加载其它文件,否则执行步骤S206;当文件大小非0时,执行步骤S2042;

S2042:接收文件内容并保存在目的空间,在接收文件内容时需要对目的空间进行保护,当待接收文件大小不超过所述目的空间时,利用目的空间接收文件内容,单次最多接收M字节,循环接收直到接收总大小为文件大小为止;

当待接收文件大小超过目的空间时,利用预留的M字节空间重复接收文件内容,直到接收总大小为文件大小为止;接收该文件内容完毕后,如果要批量加载多个文件,则执行步骤S202继续加载其它文件,否则执行步骤S206。

第三方面,本发明还提供了一种服务器,所述服务器包括:

监听模块,用于监听客户端建立连接;

文件请求接收模块,用于接收所述客户端发送的请求信息;当所述请求信息大小不为0时,所述请求信息包括:文件请求信息和文件加载状态信息;

请求信息解析模块,用于解析所述客户端发送的请求信息,从中获得文件的名称和文件的加载状态,并根据文件的名称读取所述文件的文件大小和文件内容;

信息发送模块,用于将文件大小和文件内容发送给所述客户端,将所述加载状态的状态值显示在终端或者输出到文件。

第四方面,本发明还提供了一种客户端,所述客户端包括:

连接建立模块,用于主动与服务器建立连接;

文件请求模块,用于向服务器发送文件请求信息;

文件接收模块,用于接收所述服务器发送的文件大小和文件内容;

状态信息发送模块,用于在加载完所有文件后,向所述服务器发送加载状态信息。

本发明的有益效果如下:

本发明提供了一种基于TCP(Transmission Control Protocol)的嵌入式平台文件加载方法,该方法在TCP的基础上自定义传输协议,减少了传输协议开销,极大地提高了文件加载速度。并且在客户端与服务器建立连接后,一次连接中可以批量加载多个文件,降低了加载多个文件时的协议开销和流程复杂度。

附图说明

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

图1示出根据本申请的一个实施例的应用于服务器的基于TCP的嵌入式平台文件加载方法原理图。

图2示出根据本申请的一个实施例的应用于客户端的基于TCP的嵌入式平台文件加载方法原理图。

图3示出根据本申请的一个实施例的基于TCP的嵌入式平台文件加载方法示意图。

具体实施方式

为使本发明的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

本发明公开了一种基于TCP的嵌入式平台文件加载方法,如图3所示,该方法包括两部分——运行于PowerPC(Performance Optimization With Enhanced RISCPerformance Computing)平台的服务器和运行于DSP(Digtal Signal Processor)平台的客户端。具体的,首先创建服务器TCP Socket和客户端TCP Socket,并建立二者之间的连接;然后客户端向服务器发送文件名称,服务器接收到文件名称后再将文件大小和文件内容发送给客户端,以此循环直到将所有文件加载完毕;接着客户端发送加载状态,并主动断开连接,服务器关闭连接后继续监听其它客户端的加载请求。该方法在TCP的基础上自定义传输协议,极大地减少了传输协议开销,并且实现了批量传输功能,进一步降低了加载多个文件时的协议开销和流程复杂度,从而解决了雷达信号处理嵌入式平台加载文件速度慢的问题。

第一实施例

如图1所示,本发明的一个实施例公开了一种基于TCP的嵌入式平台文件加载方法,应用于服务器,包括:

S100、监听客户端建立连接;

在一个具体实施例中,所述S100包括

在PowerPC平台上创建TCP Socket(套接字),作为发送文件的服务器,将发送缓存大小设置为65536字节,并被动监听来自客户端的连接。具体的,TCP:TransmissionControl Protocol传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。

S102、接收所述客户端发送的请求信息;如果所述请求信息大小为0,代表客户端主动断开连接,执行步骤S108。当所述请求信息大小不为0时,所述请求信息包括:文件请求信息和文件加载状态信息;

当所述请求信息为文件请求信息时执行步骤S104,当所述请求信息为文件加载状态信息时执行步骤S106;

在一个具体的实施例中,如果信息大小为128字节,代表客户端发送了文件请求信息。该信息的前4字节为标记位,数据类型为无符号整型(unsigned int),后124字节为信息的具体内容。当标记位的值为0xEEEEEEEE时,代表客户端请求文件加载,执行步骤S104;当标记位的值为0xDDDDDDDD时,代表客户端只是发送文件加载状态信息,执行步骤S106;当标记位的值为其它数值时,代表网络异常,执行步骤S108。

S104、解析所述客户端发送的请求信息,从中获得文件的名称,根据文件的名称读取所述文件的文件大小和文件内容,将文件大小和文件内容发送给所述客户端,继续执行所述步骤S102。

在一个具体实施例中,所述S104包括:

S1040:根据所述获得的文件的名称,在本地目录中搜索该文件,并向客户端发送8字节信息,其中前4字节是标记位,数据类型为unsigned int,值为0xFFFFFFFF,后4字节为该文件的大小信息,数据类型为unsigned int。当文件不存在时,后4字节被设置为0,所述字节信息发送完毕后,执行步骤S102;当文件存在时,后4字节被设置为文件的实际大小,所述字节信息发送完毕后,执行步骤S1042;

S1042、读取文件内容,并发送给所述客户端,单次读取和发送的最大长度为N字节,在一个具体实施例中,所述N等于65536,即单次读取和发送的最大长度为65536字节,如果该文件超过65536字节,则分多次读取并发送,直到发送完文件的所有内容,然后执行步骤S102。

S106、解析所述客户端发送的请求信息,从后124字节中获得文件的加载状态,并将该状态值显示在终端或者输出到文件;以供开发人员确定本次加载是否成功,然后执行步骤S102。

S108、关闭本次连接,并重新监听来自其它客户端的连接,为其它客户端提供文件加载服务。

第二实施例

如图2所示,本发明的一个实施例还公开了一种基于TCP的嵌入式平台文件加载方法,应用于客户端,包括:

S200、主动与服务器建立连接;

在一个具体实施例中,所述S200还包括:

在DSP平台上创建TCP Socket,作为请求文件的客户端,将接收缓存大小设置为65536字节,并主动与服务器Socket建立连接。

S202、与所述服务器建立连接成功后,向服务器发送包含文件名称的请求信息;具体的,该请求信息大小为128字节。前4字节为标记位,数据类型为unsigned int,值为0xEEEEEEEE,后124字节为文件名称,数据类型为字符型(char)。发送完成后执行步骤S204。

S204、接收所述服务器发送的文件大小和文件内容,接收该文件内容完毕后,如果要批量加载多个文件,则执行步骤S202继续加载其它文件,否则执行S206;

在一个具体实施例中,所述S204包括:

S2040:发送文件名成功后,开始接收服务器发送的文件大小信息,具体的,该信息大小为8字节,前4字节为标记位,数据类型为unsigned int,值为0xFFFFFFFF,后4字节为文件大小,数据类型为unsigned int。当文件大小为0时,代表该文件在服务器端不存在,此时如果要批量加载多个文件,则执行步骤S202继续加载其它文件,否则执行步骤S206;当文件大小非0时,执行步骤S2042;

S2042:接收文件内容并保存在目的空间,在接收文件内容时需要对目的空间进行保护,当待接收文件大小不超过所述目的空间时,利用目的空间接收文件内容,单次最多接收M字节,具体的,M等于65536,即单次最多接收65536字节,循环接收直到接收总大小为文件大小为止;

当待接收文件大小超过所述目的空间时,利用预留的65536字节空间重复接收文件内容,直到接收总大小为文件大小为止;接收该文件内容完毕后,如果要批量加载多个文件,则执行步骤S202继续加载其它文件,否则执行步骤S206。

S206、加载完所有文件后,向所述服务器发送加载状态信息,表示本次文件加载的完成情况,具体的,该信息大小为128字节,前4字节为标记位,数据类型为unsigned int,值为0xDDDDDDDD,后124字节为状态信息,数据类型为有符号整型(int),加载成功时状态信息为0,加载失败时状态信息为非0值。发送加载状态完毕后,执行步骤S208;

S208、发送完加载状态后,主动断开与所述服务器的连接,本次文件加载过程结束。

本发明提出了一种基于TCP(Transmission Control Protocol)的嵌入式平台文件加载方法,该方法在TCP的基础上自定义传输协议,极大地减少了传输协议开销,并且实现了批量传输功能,进一步降低了加载多个文件时的协议开销和流程复杂度,从而解决了雷达信号处理嵌入式平台加载文件速度慢的问题。

第三实施例

本发明的一个实施例还公开了一种服务器,所述服务器包括:

监听模块,用于监听客户端建立连接;

文件请求接收模块,用于接收所述客户端发送的请求信息;当所述请求信息大小不为0时,所述请求信息包括:文件请求信息和文件加载状态信息;

请求信息解析模块,用于解析所述客户端发送的请求信息,从中获得文件的名称和文件的加载状态,并根据文件的名称读取所述文件的文件大小和文件内容;

信息发送模块,用于将文件大小和文件内容发送给所述客户端,将所述加载状态的状态值显示在终端或者输出到文件。

第四实施例

本发明的一个实施例还公开了一种客户端,所述客户端包括:

连接建立模块,用于主动与服务器建立连接;

文件请求模块,用于向服务器发送文件请求信息;

文件接收模块,用于接收所述服务器发送的文件大小和文件内容;

状态信息发送模块,用于在加载完所有文件后,向所述服务器发送加载状态信息。

本发明提出了一种基于TCP(Transmission Control Protocol)的嵌入式平台文件加载方法,该方法在TCP的基础上自定义传输协议,极大地减少了传输协议开销,并且实现了批量传输功能,进一步降低了加载多个文件时的协议开销和流程复杂度,从而解决了雷达信号处理嵌入式平台加载文件速度慢的问题。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

相关技术
  • 一种基于TCP的嵌入式平台文件加载方法
  • 一种基于WPF技术生成及加载特定项目文件的方法
技术分类

06120112854304