一种用于高精度实时控制的异构平台同步通信方法
【专利摘要】本发明属于通信方法,具体涉及一种用于高精度实时控制的异构平台同步通信方法。一种用于高精度实时控制的异构平台同步通信方法,包括以下步骤:步骤1:客户端发送数据的过程;步骤2:客户端接收数据的过程;上述两个步骤是并行进行的。本发明的显著效果是:1、能够完成异构平台间服务端对多客户端的控制处理。2、由于在发送接收数据时服务端对每一个需要发送或接收数据的客户端都要进行同步,因此可以同时对多个客户端同步发送或接收数据。目前已实现一个服务端对七个客户端实现同步控制,但理论上可以实现一个服务端对无穷多个客户端实现同步控制。
【专利说明】一种用于高精度实时控制的异构平台同步通信方法
【技术领域】
[0001]本发明属于通信方法,具体涉及一种用于高精度实时控制的异构平台同步通信方法。
【背景技术】
[0002]目前脉冲受力工程中,大多数测试实验设备采用电液伺服加载控制,多采用人工控制或半自动控制方式处理加载控制和采集数据。而在热核聚变中使用的大型负载结构中很多组件是非标件,没有现成可以使用的加载工具,不仅要求测试精度高、控制过程稳定,而且加载和采集多使用不同的设备和操作系统(如附图1所示),二者之间不能进行有效通信。为了实现跨平台通信,需要解决Windows环境和Linux环境在编程语言的函数实现、获取对象的状态和通信机制等细节上的差异。采用现有的传输控制协议(TCP)的流套接字(Socket),无法保证跨平台通信中大量的负荷加载和采集数据能准确有序地传输到服务端。
[0003]跨平台操作中另一个难点是保持服务端和多客户端的同步。为了实现多通道数据高精度采集和稳定控制,需要实时处理试件的应力、应变、力和变形等测量信号,以及负载测试试验中的加载控制信号。实验过程中加载和数据采集之间的不同步,会对实验结果的分析处理带来很大障碍。如何实现服务端响应多客户端的请求以及同步控制多工作节点,保证大数据量的有序传输,这些都是同步控制中需要解决的难点。
【发明内容】
[0004]本发明的目的在于提供一种能够在不同操作系统之间进行数据传输的高精度实时控制的通信方法。
[0005]本发明的技术方案如下:一种用于高精度实时控制的异构平台同步通信方法,包括以下步骤:
[0006]步骤1:客户端发送数据的过程;
[0007]步骤2:客户端接收数据的过程;
[0008]上述两个步骤是并行进行的。
[0009]如上所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其中,客户端发送数据过程包括下述步骤:
[0010]步骤1.K Windows客户端Ni向Linux服务端请求同步信号;
[0011]步骤1.2、Linux服务端向Windows客户端Ni反馈同步信号;
[0012]步骤1.3、Windows客户端Ni向Linux服务端发送数据。
[0013]如上所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤1.1包括:
[0014]步骤1.1.1、客户端Ni的同步请求信号经过0.S.转换,首先预定义客户端请求信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流,
[0015]步骤1.1.2、请求发送给服务端,数据流通过缓存由二进制读写器写入特定的单元数据,服务端再由二进制读写器读出该单元数据解析出客户端发送的请求消息。
[0016]如上所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤1.2包括:
[0017]步骤1.2.1、服务端产生同步请求信号经过0.S.转换,首先预定义服务端的请求信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流,
[0018]步骤1.2.2、确认请求并反馈给客户端Ni,数据流通过缓存由二进制读写器写入特定的单元数据,客户端Ni利用二进制读写器读出该单元数据解析出服务端发送的请求消息。
[0019]如上所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤1.3包括:
[0020]步骤1.3.1、客户端Ni发送的数据经过0.S.转换,首先预定义客户端发送数据的数据结构,传送利用传输控制协议TCP的流套接字Socket将同步数据转换为可靠的、面向连接的数据流。
[0021]步骤1.3.2、数据发送给服务端,数据流通过缓存由二进制读写器写入特定的单元数据,服务端再由二进制读写器读出该单元数据解析出客户端发送的数据。
[0022]如上所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤2包括
[0023]步骤2.1、Linux服务端向Windows客户端Ni请求同步信号;
[0024]步骤2.2、Windows客户端Ni向Linux服务端反馈同步信号;
[0025]步骤2.3、Windows客户端Ni向Linux服务端接收数据。
[0026]如上所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤2.1包括:
[0027]步骤2.1.1、服务端产生同步请求信号经过0.S.转换,首先预定义服务端产生的同步请求信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流,
[0028]步骤2.1.2、确认请求并发送给客户端Ni,数据流通过缓存由二进制读写器写入特定的单元数据,客户端Ni利用二进制读写器读出该单元数据解析出服务端发送的请求消息。
[0029]如上所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤2.2包括:
[0030]步骤2.2.1、客户端Ni的同步信号经过0.S.转换,首先预定义客户端的同步信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流。
[0031]步骤2.2.2、确认请求并反馈给服务端,数据流通过缓存由二进制读写器写入特定的单元数据,服务端再由二进制读写器读出该单元数据解析出客户端反馈的请求消息。
[0032]如上所述的一种用于高精度实时控制的异构平台同步通信方法,其中,所述的步骤2.3包括:
[0033]步骤2.3.1、服务端发送的数据经过0.S.转换,首先预定义服务端发送数据的数据结构,传送利用传输控制协议TCP的流套接字Socket将同步数据转换为可靠的、面向连接的数据流。
[0034]步骤2.3.2、数据发送给客户端Ni,数据流通过缓存由二进制读写器写入特定的单元数据,客户端Ni再由二进制读写器读出该单元数据解析出服务端发送的数据。
[0035]本发明的显著效果是:1、通信处理程序设计成多线程方式,一旦客户端发起连接请求就启动一个线程来专门处理,针对不同的请求,通过解析请求的数据类别转入相应的处理过程。使用这种方法,能够完成异构平台间服务端对多客户端的控制处理。
[0036]2、由于在发送接收数据时服务端对每一个需要发送或接收数据的客户端都要进行同步,因此可以同时对多个客户端同步发送或接收数据。目前已实现一个服务端对七个客户端实现同步控制,但理论上可以实现一个服务端对无穷多个客户端实现同步控制。
【专利附图】
【附图说明】
[0037]图1同步控制通信连接示意图;
[0038]图2客户端发送数据流程示意图;
[0039]图3客户端接收数据流程示意图。
【具体实施方式】
[0040]一种用于高精度实时控制的异构平台同步通信方法,包括以下步骤:
[0041]步骤1:客户端发送数据的过程;
[0042]步骤2:客户端接收数据的过程。
[0043]上述两个步骤是并行进行的。
[0044]所述的客户端发送数据过程包括下述步骤:
[0045]步骤1.1> Windows客户端Ni向Linux服务端请求同步信号;
[0046]步骤1.2、Linux服务端向Windows客户端Ni反馈同步信号;
[0047]步骤1.3、Windows客户端Ni向Linux服务端发送数据。
[0048]所述的步骤1.1包括:
[0049]步骤1.1.1、客户端Ni的同步请求信号经过0.S.转换。首先预定义客户端请求信号数据结构,利用传输控制协议(TCP)的流套接字(Socket)将同步请求信号转换为可靠的、面向连接的数据流。
[0050]步骤1.1.2、请求发送给服务端。数据流通过缓存由二进制读写器写入特定的单元数据(消息结构体),服务端再由二进制读写器读出该单元数据解析出客户端发送的请求消息。
[0051]所述的步骤1.2包括:
[0052]步骤1.2.1、服务端产生同步请求信号经过0.S.转换。首先预定义服务端的请求信号数据结构,利用传输控制协议(TCP)的流套接字(Socket)将同步请求信号转换为可靠的、面向连接的数据流。
[0053]步骤1.2.2、确认请求并反馈给客户端Ni。数据流通过缓存由二进制读写器写入特定的单元数据(消息结构体),客户端Ni利用二进制读写器读出该单元数据解析出服务端发送的请求消息。
[0054]所述的步骤1.3包括:
[0055]步骤1.3.1、客户端Ni发送的数据经过0.S.转换。首先预定义客户端发送数据的数据结构,传送利用传输控制协议(TCP)的流套接字(Socket)将同步数据转换为可靠的、面向连接的数据流。
[0056]步骤1.3.2、数据发送给服务端。数据流通过缓存由二进制读写器写入特定的单元数据(消息结构体),服务端再由二进制读写器读出该单元数据解析出客户端发送的数据。
[0057]所述的步骤2包括
[0058]步骤2.1、Linux服务端向Windows客户端Ni请求同步信号;
[0059]步骤2.2、Windows客户端Ni向Linux服务端反馈同步信号;
[0060]步骤2.3、Windows客户端Ni向Linux服务端接收数据。
[0061]所述的步骤2.1包括:
[0062]步骤2.1.1、服务端产生同步请求信号经过0.S.转换。首先预定义服务端产生的同步请求信号数据结构,利用传输控制协议(TCP)的流套接字(Socket)将同步请求信号转换为可靠的、面向连接的数据流。
[0063]步骤2.1.2、确认请求并发送给客户端Ni。数据流通过缓存由二进制读写器写入特定的单元数据(消息结构体),客户端Ni利用二进制读写器读出该单元数据解析出服务端发送的请求消息。
[0064]所述的步骤2.2包括:
[0065]步骤2.2.1、客户端Ni的同步信号经过0.S.转换。首先预定义客户端的同步信号数据结构,利用传输控制协议(TCP)的流套接字(Socket)将同步请求信号转换为可靠的、面向连接的数据流。
[0066]步骤2.2.2、确认请求并反馈给服务端。数据流通过缓存由二进制读写器写入特定的单元数据(消息结构体),服务端再由二进制读写器读出该单元数据解析出客户端反馈的请求消息。
[0067]所述的步骤2.3包括:
[0068]步骤2.3.1、服务端发送的数据经过0.S.转换。首先预定义服务端发送数据的数据结构,传送利用传输控制协议(TCP)的流套接字(Socket)将同步数据转换为可靠的、面向连接的数据流。
[0069]步骤2.3.2、数据发送给客户端Ni。数据流通过缓存由二进制读写器写入特定的单元数据(消息结构体),客户端Ni再由二进制读写器读出该单元数据解析出服务端发送的数据。
[0070]当服务端已和某一客户端建立通信后,不再接收其他客户端的请求,为了保证数据能够准确有序地传输,每次传输时将数据分解为若干个固定大小(例如1K)的数据包。每次发送数据和接收数据前,重复数据接收过程和发送过程的步骤1.1至步骤1.3以及步骤2.1至步骤2.3,使得数据的接收和发送能连续地进行,直到通信断开。
【权利要求】
1.一种用于高精度实时控制的异构平台同步通信方法,其特征在于:包括以下步骤: 步骤1:客户端发送数据的过程; 步骤2:客户端接收数据的过程; 上述两个步骤是并行进行的。
2.如权利要求1所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:客户端发送数据过程包括下述步骤: 步骤1.1> Windows客户端Ni向Linux服务端请求同步信号; 步骤1.2、Linux服务端向Windows客户端Ni反馈同步信号; 步骤1.3、Windows客户端Ni向Linux服务端发送数据。
3.如权利要求2所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤1.1包括: 步骤1.1.1、客户端Ni的同步请求信号经过0.S.转换,首先预定义客户端请求信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流, 步骤1.1.2、请求发送给服务端,数据流通过缓存由二进制读写器写入特定的单元数据,服务端再由二进制读写器读出该单元数据解析出客户端发送的请求消息。
4.如权利要求2所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤1.2包括: 步骤1.2.1、服务端产生同步请求信号经过0.S.转换,首先预定义服务端的请求信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流, 步骤1.2.2、确认请求并反馈给客户端Ni,数据流通过缓存由二进制读写器写入特定的单元数据,客户端Ni利用二进制读写器读出该单元数据解析出服务端发送的请求消息。
5.如权利要求2所述的所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤1.3包括: 步骤1.3.1、客户端Ni发送的数据经过0.S.转换,首先预定义客户端发送数据的数据结构,传送利用传输控制协议TCP的流套接字Socket将同步数据转换为可靠的、面向连接的数据流, 步骤1.3.2、数据发送给服务端,数据流通过缓存由二进制读写器写入特定的单元数据,服务端再由二进制读写器读出该单元数据解析出客户端发送的数据。
6.如权利要求1所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤2包括 步骤2.l、Linux服务端向Windows客户端Ni请求同步信号; 步骤2.2、Windows客户端Ni向Linux服务端反馈同步信号; 步骤2.3、Windows客户端Ni向Linux服务端接收数据。
7.如权利要求6所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤2.1包括: 步骤2.1.1、服务端产生同步请求信号经过0.S.转换,首先预定义服务端产生的同步请求信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流, 步骤2.1.2、确认请求并发送给客户端Ni,数据流通过缓存由二进制读写器写入特定的单元数据,客户端Ni利用二进制读写器读出该单元数据解析出服务端发送的请求消息。
8.如权利要求6所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤2.2包括: 步骤2.2.1、客户端Ni的同步信号经过0.S.转换,首先预定义客户端的同步信号数据结构,利用传输控制协议TCP的流套接字Socket将同步请求信号转换为可靠的、面向连接的数据流, 步骤2.2.2、确认请求并反馈给服务端,数据流通过缓存由二进制读写器写入特定的单元数据,服务端再由二进制读写器读出该单元数据解析出客户端反馈的请求消息。
9.如权利要求6所述的一种用于高精度实时控制的异构平台同步通信方法,其特征在于:所述的步骤2.3包括: 步骤2.3.1、服务端发送的数据经过0.S.转换,首先预定义服务端发送数据的数据结构,传送利用传输控制协议TCP的流套接字Socket将同步数据转换为可靠的、面向连接的数据流, 步骤2.3.2、数据发送给客户端Ni,数据流通过缓存由二进制读写器写入特定的单元数据,客户端Ni再由二进制读写器读出该单元数据解析出服务端发送的数据。
【文档编号】H04L1/16GK104253837SQ201310263294
【公开日】2014年12月31日 申请日期:2013年6月27日 优先权日:2013年6月27日
【发明者】廖敏, 张锦华, 侯炳林, 李鹏远, 张博, 王敏 申请人:核工业西南物理研究院, 中国国际核聚变能源计划执行中心