基于实时云计算架构的云测控系统及方法与流程

文档序号:33642913发布日期:2023-03-29 02:37阅读:82来源:国知局
基于实时云计算架构的云测控系统及方法与流程

1.本发明涉及航天测控与云计算结合的领域,更为具体的,涉及一种基于实时云计算架构的云测控系统及方法。


背景技术:

2.随着航天发射任务与日俱增,在轨运行的卫星数量呈成倍增长。同时,以及随着军民融合政策的推进和实施,国防军工航天逐渐向民用商业的拓展,商业航天蓬勃发展,5g技术进展迅速,我国在构建天地一天化网络方面也取得重大进展。这一切都对原有的航天测运控系统提出了越来越高的要求,新一代地面测运控系统发展不仅具有多目标,多任务,高带宽,低延时,高速率,网络化等技术特征,还需有信息资源开发共享、统一管理、统一调度的特点,并日益注重资源整合与高效使用。传统技术方案难以适应发展需求。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,提供一种基于实时云计算架构的云测控系统及方法,实现了软硬件通用化,实现了测控技术云化,可以使资源重复利用、降低开发和维护成本、加快迭代速度等。
4.本发明的目的是通过以下方案实现的:
5.一种基于实时云计算架构的云测控系统,包括实时、非实时分离处理模块、传输模块和测控数据线程间零拷贝模块;
6.所述实时、非实时分离处理模块包括fpga类型的智能加速卡,利用fpga控制数据收发准确性,同时在fpga的上行发送设置缓存大小,用以缓冲加速卡与cpu之间的数据传输;将捕获和译码放到fpga类型的智能网卡上,利用fpga并行计进行捕获和译码,卸载cpu的压力;
7.所述传输模块包括第一数据结构模块、数据同步模块和实时性保证处理模块;
8.所述测控数据线程间零拷贝模块包括大页循环队列和第二数据结构模块,通过大页循环队列和第二数据结构结合实现测控数据线程间零拷贝。
9.进一步地,在所述实时、非实时分离处理模块中,将非实时性数据调制、解调、数据帧生成以及数据上报至cpu处理。
10.进一步地,在所述第一数据结构模块的设计上,包括加速器id、计数器、时间戳和数据长度;其中,加速器id用于区分不同的加速资源信息,确定数据的来源;计数器用于对数据进行连续计数,下行数据计数由射频前端设备进行填入,在云平台一侧进行检测;上行数据计数由云平台一侧填入,在加速卡和射频前端进行检测;双侧数据根据检测情况判断是否有丢包现象,并进行告警上报;时间戳用于确定时间信息,在数据接收的时候打上接收时间戳,在数据发送的时候打上发送时间戳;数据长度,用于适应不同长度的数据传输。
11.进一步地,在所述数据同步模块的设计上,设置了低水位线和高水位线二个变量检测来完成数据收发同步,用于保证cpu和加速资源之间数据可靠性和实时性。
12.进一步地,所述实时性保证处理模块,包括对cpu侧的调制、解调、数据收发过程进行如下处理:孤立某个cpu核,关闭其上的调度和中断,让关键线程绑定到核上,用于保证时延波动最小;设置该关键线程数据收发网卡排队优先级最高,用于保证数据实时性;采用dma方式实现cpu和智能加速卡之间的数据传输,用于加快速度;单独分配内存映射,用于避免由于内存抢占导致时间波动。
13.进一步地,在所述大页循环队列的设计上,使用大页分配并通过内存池给应用程序分配内存资源;在初始化阶段,内存池从大页获取内存资源,在程序运行阶段,应用程序通过内存池直接获取内存资源,且由内存池负责内存管理,从而使数据时延可靠,不会出现抢占内存导致的数据波动。
14.进一步地,在第二数据结构的设计上,包括数据类型、数据长度和流水号,数据类型用于说明当前步骤的数据类型;数据长度用于说明数据段的有效长度;流水号用于说明当前pipeline中所处理的步骤。
15.进一步地,所述设置了低水位线和高水位线二个变量检测来完成数据收发同步,包括如下检测过程:检测程序发现加速卡缓存数据低于水位线的时候,每次发送2包数据;当数据缓存处于低水位线和高水位线之间,每次发送一包数据;当数据缓存高于高水位线的时候,暂停发送数据。
16.进一步地,基于所述第二数据结构的设计,包括:当前处理理线程收到处理信号以后,直接根据当前线程计数器读取循环队列里面的位置,采用指针的方式指向该队列的数据,不用拷贝数据直接进行计算;基于指针操作,计算数据也直接会修改循环队列里内存的数据,不用拷贝,计算完成以后,修改对应的流水号id,然后发送信号到下一线程处理,整个过程不会进行测控数据重复拷贝。
17.一种基于实时云计算架构的云测控方法,基于如上任一所述的基于实时云计算架构的云测控系统,还包括如下步骤:
18.s1,数据收发下放到fpga加速资源里面实现,其利用fpga保证数据延时可控,并且在fpga加速资源里面打时间标签,用于保证后续处理对时间精度的需求;
19.s2,捕获算法在数据接收处理完成以后直接传递给捕获模块进行计算,捕获模块计算完成以后,将捕获结果一起传给cpu的数据同步模块;
20.s3,数据同步模块在接收下行数据的同时,把数据调制模块产生的上行数据发往加速资源;
21.s4,解调模块接收到捕获的数据以后进行解调处理,解调包括码同步、载波同步、位同步,采用多线程处理,其多线程的线程间数据传递采用所述测控数据线程间零拷贝模块完成;
22.s5,把解调数据发送给fpga加速资源进行译码处理;
23.s6,译码完成以后,发送给cpu组成数据帧发送到应用系统。
24.本发明的有益效果包括:
25.(1)本发明技术方案提供的测控数据处理架构,通过该架构能满足传统的测控技术对实时性、数据流大的要求,颠覆了传统的测控架构,且该架构还可以在私有云计算平台上运行。
26.(2)通过本发明的实时、非实时分离处理技术方案,解决了cpu延时大、处理能力弱
的问题。
27.(3)通过本发明的数据结构、线程处理优化方案和数据同步方案,可以保障cpu和加速资源之间的可靠性和实时性。
28.(4)利用本发明在线程间设计合理的传输数据结构和大页缓存方案,实现线程间的零拷贝,大大提高了吞吐量和实时性。
29.(5)本发明实现了软硬件通用化、测控技术云化,可以使资源重复利用,降低开发和维护成本,加快迭代速度等。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
31.图1为本发明实施例的实时、非实时性进行分区处理架构;
32.图2为本发明实施例的数据结构示意图;
33.图3为本发明实施例的数据同步示意图;
34.图4为本发明实施例的测控数据线程间零拷贝示意图。
具体实施方式
35.本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
36.鉴于背景中的问题,本发明技术构思中采用云计算架构,开展了基于实时云计算的虚拟基带池技术研究,形成云化的航天地面测运控系统,可提高地面系统综合利用效率,降低运营成本,顺应时代潮流,推动了航天产业的创新和升级,开创新的商业模式。未来军事航天装备和商业航天军民融合技术发展的必然趋势。但是,但是,本发明的发明人进一步思考后发现,由于测控算法数据流量大、占用资源多、实时性要求强,简单的使用云计算架构带来的便利性又无法满足测控体系的要求。
37.因此,进一步思考后,本发明技术方案提出一种基于实时云计算架构的新的云测控系统,旨在利用基于云计算架构的云测控技术,解决在云架构下的上述技术问题,实现全面的测控云化。
38.本发明技术方案包括实时、非实时分离处理模块,传输模块,测控数据线程间零拷贝模块。
39.在实时、非实时分离处理模块中,为满足在云计算架构下测控对实时性要求高、计算量量大的特点,设计了如图1所示的测控算法实时、非实时性进行分区处理架构。从图1中可知,对于实时性要求非常高的数据收发,放到fpga类型的智能加速卡,利用fpga时间控制数据收发准确性。同时fpga的上行发送设置缓存大小,用以缓冲加速卡与cpu之间的数据传输。计算量大的捕获和译码放到带有fpga类型的智能网卡上,利用fpga并行计算的优势,进行快速捕获和译码,全面卸载cpu的压力。非实时性的数据调制、解调、数据帧生成以及数据上报模块cpu处理,充分利用cpu的多核技术。
40.在传输模块中,加速资源与cpu之间传输数据,由于cpu调度的问题,会造成延时波动,如果数据在一定时间范围内,没有传输到智能加速网卡,会导致加速资源缓存区空,导致丢包问题。为了解决该技术问题,进行了如下设计:
41.设计数据结构,如图2所示,包括加速器id、计数器、时间戳、数据长度。其中,加速器id用于区分不同的加速资源信息,确定数据的来源。计数器用于对数据进行连续计数,下行数据计数由射频前端设备进行填入,在云平台一侧进行检测;上行数据计数由云平台一侧填入,在加速卡和射频前端进行检测。双侧数据根据检测情况可以知道是否有丢包现象,并进行告警上报。时间戳用于确定时间信息,由于加速资源时间比较准确可靠,在数据接收的时候会打上接收时间戳,在数据发送的时候会打上发送时间戳,以便进行准确的延时检测。数据长度,用于适应不同长度的数据传输。
42.在数据同步设计上,为了保证加速资源数据缓存维持在合适的位置,设置了低水位线和高水位线二个变量检测来完成数据收发同步。保证cpu和加速资源之间数据可靠性和实时性。其检测过程如下:检测程序发现加速卡缓存数据低于水位线的时候,每次发送2包数据;当数据缓存处于低水位线和高水位线之间,每次发送一包数据;当数据缓存高于高水位线的时候,暂停发送数据。如图3所示。
43.在实时性保证设计上,虽然系统进行了实时性、非实时性分离处理,但是在cpu一侧任然有大量的多线程并行计算需求,提高cpu侧的计算实时性很有必要。为此对cpu侧的调制、解调、数据收发等模块进行如下设计:
44.1)孤立某个cpu核,关闭其上的调度和中断,让关键线程绑定到核上,保证时延波动最小。
45.2)设置该线程数据收发网卡排队优先级最高,保证数据实时性。
46.3)采用dma方式实现cpu和智能加速卡之间的数据传输,加快速度。
47.5)单独分配内存映射,避免由于内存抢占导致时间波动。
48.在测控数据线程间零拷贝模块中,测控数据在cpu侧采用pipeline多线程的进行数据处理的时候,不同线程之间涉及到数据传输,由于测控数据量大,如果采用队列等方式会涉及到数据大量的传输和拷贝过程,增加cpu的负荷同时大大加大了延时。为了解决该问题,发明了测控数据线程间零拷贝技术,通过大页循环队列和对应的数据结构结合实现该功能,如图4所示。
49.对于传统的使用malloc()函数分配内存的方案存在以下问题:
50.(1)malloc()存在lazy allocate的问题,即在程序运行执行到malloc()函数时,系统并不会在该语句位置分配内存,而是推迟到程序第一次使用该内存的时候才真正分配内存;
51.(2)malloc()是从大小为4kb的内存页中获取内存资源的,对于对内存资源需求很大的协议栈来说,这会产生大量的换页操作,降低系统性能;
52.(3)malloc()需要和free()配对使用,在大规模应用程序开发中,内存管理难度大,很浪费时间。
53.为了避免malloc()产生的开销,使用大页分配,并通过内存池的给应用程序分配内存资源,在初始化阶段,内存池从大页获取足够的内存资源,在程序运行阶段,应用程序通过内存池直接获取内存资源,且由内存池负责内存管理,使数据时延可靠,不会出现抢占
内存导致的数据波动。申请的大页缓存组成如图4所示的循环队列,供系统使用。
54.在数据结构设计上,有了大页循环队列,解决了重复申请释放内存的问题,为了实现测控数据零拷贝技术,需要设计合理的数据结构来支撑,如图4所示,数据类型用于说明当前步骤的数据float、int、double等;数据长度用于说明数据段的有效长度;流水号用于说明当前pipeline中所处理的步骤。
55.当前处理理线程收到处理信号以后,直接根据当前线程计数器读取循环队列里面的位置,采用指针的方式指向该队列的数据,不用拷贝数据直接进行计算。由于指针操作,计算数据也直接会修改循环队列里内存的数据,不用拷贝,计算完成以后,修改对应的流水号id,然后发送信号到下一线程处理,整个过程不会进行测控数据重复拷贝。
56.如图1所示,基于本发明技术方案的整个架构算法分成实时性部分和非实时性部分,并分开按照如下方式进行部署:
57.数据收发下放到fpga加速资源里面,可以严格的保证数据延时可控,并且在fpga加速资源里面打时间标签,保证后续处理对时间精度的需求。
58.捕获算法计算量大、占用资源多、时间要求短,在数据接收处理完成以后直接传递给捕获模块进行计算,尽量减少延时,捕获完成以后,把捕获结果一起传给cpu的数据同步模块。
59.数据同步模块采用dma、核绑定技术、特定的数据结构和同步技术保证了加速资源和cpu间可靠低延时的传输,在接收下行数据的同时,把数据调制模块产生的上行数据发往加速资源。
60.解调模块接收到捕获的数据以后,进行解调处理,解调分了码同步、载波同步、位同步等多个过程,采用的是多线程处理,其线程间数据传递采用了如图4所示的零拷贝技术,大大降低了延时。
61.由于译码比较占用资源,需要大量的并行计算,最后把解调数据发送给fpga加速资源进行译码处理。
62.译码完成以后,发送给cpu组成数据帧发送到应用系统。
63.需要说明的是,在本发明权利要求书中所限定的保护范围内,以下实施例均可以从上述具体实施方式中,例如公开的技术原理,公开的技术特征或隐含公开的技术特征等,以合乎逻辑的任何方式进行组合和/或扩展、替换。
64.实施例1
65.一种基于实时云计算架构的云测控系统,包括实时、非实时分离处理模块、传输模块和测控数据线程间零拷贝模块;
66.所述实时、非实时分离处理模块包括fpga类型的智能加速卡,利用fpga控制数据收发准确性,同时在fpga的上行发送设置缓存大小,用以缓冲加速卡与cpu之间的数据传输;将捕获和译码放到fpga类型的智能网卡上,利用fpga并行计进行捕获和译码,卸载cpu的压力;
67.所述传输模块包括第一数据结构模块、数据同步模块和实时性保证处理模块;
68.所述测控数据线程间零拷贝模块包括大页循环队列和第二数据结构模块,通过大页循环队列和第二数据结构结合实现测控数据线程间零拷贝。
69.实施例2
70.在实施例1的基础上,在所述实时、非实时分离处理模块中,将非实时性数据调制、解调、数据帧生成以及数据上报至cpu处理。
71.实施例3
72.在实施例1的基础上,在所述第一数据结构模块的设计上,包括加速器id、计数器、时间戳和数据长度;其中,加速器id用于区分不同的加速资源信息,确定数据的来源;计数器用于对数据进行连续计数,下行数据计数由射频前端设备进行填入,在云平台一侧进行检测;上行数据计数由云平台一侧填入,在加速卡和射频前端进行检测;双侧数据根据检测情况判断是否有丢包现象,并进行告警上报;时间戳用于确定时间信息,在数据接收的时候打上接收时间戳,在数据发送的时候打上发送时间戳;数据长度,用于适应不同长度的数据传输。
73.实施例4
74.在实施例1的基础上,在所述数据同步模块的设计上,设置了低水位线和高水位线二个变量检测来完成数据收发同步,用于保证cpu和加速资源之间数据可靠性和实时性。
75.实施例5
76.在实施例1的基础上,所述实时性保证处理模块,包括对cpu侧的调制、解调、数据收发过程进行如下处理:孤立某个cpu核,关闭其上的调度和中断,让关键线程绑定到核上,用于保证时延波动最小;设置该关键线程数据收发网卡排队优先级最高,用于保证数据实时性;采用dma方式实现cpu和智能加速卡之间的数据传输,用于加快速度;单独分配内存映射,用于避免由于内存抢占导致时间波动。
77.实施例6
78.在实施例1的基础上,在所述大页循环队列的设计上,使用大页分配并通过内存池给应用程序分配内存资源;在初始化阶段,内存池从大页获取内存资源,在程序运行阶段,应用程序通过内存池直接获取内存资源,且由内存池负责内存管理,从而使数据时延可靠,不会出现抢占内存导致的数据波动。
79.实施例7
80.在实施例1的基础上,在第二数据结构的设计上,包括数据类型、数据长度和流水号,数据类型用于说明当前步骤的数据类型;数据长度用于说明数据段的有效长度;流水号用于说明当前pipeline中所处理的步骤。
81.实施例8
82.在实施例4的基础上,所述设置了低水位线和高水位线二个变量检测来完成数据收发同步,包括如下检测过程:检测程序发现加速卡缓存数据低于水位线的时候,每次发送2包数据;当数据缓存处于低水位线和高水位线之间,每次发送一包数据;当数据缓存高于高水位线的时候,暂停发送数据。
83.实施例9
84.在实施例7的基础上,基于所述第二数据结构的设计,包括:当前处理理线程收到处理信号以后,直接根据当前线程计数器读取循环队列里面的位置,采用指针的方式指向该队列的数据,不用拷贝数据直接进行计算;基于指针操作,计算数据也直接会修改循环队列里内存的数据,不用拷贝,计算完成以后,修改对应的流水号id,然后发送信号到下一线程处理,整个过程不会进行测控数据重复拷贝。
85.实施例10
86.一种基于实时云计算架构的云测控方法,基于如实施例1~实施例7任一所述的基于实时云计算架构的云测控系统,还包括如下步骤:
87.s1,数据收发下放到fpga加速资源里面实现,其利用fpga保证数据延时可控,并且在fpga加速资源里面打时间标签,用于保证后续处理对时间精度的需求;
88.s2,捕获算法在数据接收处理完成以后直接传递给捕获模块进行计算,捕获模块计算完成以后,将捕获结果一起传给cpu的数据同步模块;
89.s3,数据同步模块在接收下行数据的同时,把数据调制模块产生的上行数据发往加速资源;
90.s4,解调模块接收到捕获的数据以后进行解调处理,解调包括码同步、载波同步、位同步,采用多线程处理,其多线程的线程间数据传递采用所述测控数据线程间零拷贝模块完成;
91.s5,把解调数据发送给fpga加速资源进行译码处理;
92.s6,译码完成以后,发送给cpu组成数据帧发送到应用系统。
93.描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
94.根据本发明实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
95.作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
96.本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
97.上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
98.除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1