文件上注的方法、装置及存储介质与流程

未命名 09-16 阅读:80 评论:0


1.本技术涉及卫星技术领域,特别是涉及一种文件上注的方法、装置及存储介质。


背景技术:

2.遥控技术和遥测技术已经广泛应用于卫星技术领域,地面系统通过遥控信道将遥控数据以遥控帧的形式上传至卫星系统,卫星系统通过遥测信道将遥测数据以遥测帧的形式下行至地面系统。
3.遥控应用除上述功能外,还具有其它功能。例如,遥控应用接收到地面系统上传的注入指令后,能够将该注入指令传输至综合管理应用,并且遥控应用在获得与多个应用和/或多个设备对应的状态数据包后(其中,注入指令包含配置文件,配置文件可以按一定的数据长度被划分为多个状态数据包),能够将与多个应用和/或多个设备对应的状态数据包发送至综合管理应用,从而综合管理应用能够将与多个应用和/或多个设备的状态数据包发送至总线管理应用。
4.但是,现有的综合管理应用在向总线管理应用发送状态数据包时,并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,这也就使得综合管理应用需要同时处理多个线程,操作步骤过多且操作过程较为繁琐。
5.针对上述的现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本公开的实施例提供了一种文件上注的方法、装置及存储介质,以至少解决现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
7.根据本公开实施例的一个方面,提供了一种文件上注的方法,应用于卫星系统,卫星系统包括综合管理应用以及分别与综合管理应用连接的遥控应用以及与综合管理应用连接的总线管理应用,包括:综合管理应用接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令,其中注入指令包括用于更新多个应用和/或多个设备的状态数据包,状态数据包用于指示与多个应用和/或多个设备对应的状态数据信息;综合管理应用确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令;综合管理应用确定注入指令包含第二标志位的情况下,执行用于指示
向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败状态数据包的第三标志位注入至注入指令,其中第三标志位与第一标志位对应;在将用于指示写入失败的第三标志位注入至注入指令的情况下,判定是否将状态数据包发送完毕;在确定已将状态数据包发送完毕的情况下,将用于指示成功写入的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程;以及在确定未将状态数据包发送完毕的情况下,结束第二处理线程,并继续执行第一处理线程。
8.根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
9.根据本公开实施例的另一个方面,还提供了一种文件上注的装置,应用于卫星系统,卫星系统包括综合管理应用以及分别与综合管理应用连接的遥控应用以及与综合管理应用连接的总线管理应用,包括:第一注入模块,用于接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令,其中注入指令包括用于更新多个应用和/或多个设备的状态数据包,状态数据包用于指示与多个应用和/或多个设备对应的状态数据信息;第二注入模块,用于确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令;第三注入模块,用于确定注入指令包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败状态数据包的第三标志位注入至注入指令,其中第三标志位与第一标志位对应;判定模块,用于在将用于指示写入失败的第三标志位注入至注入指令的情况下,判定是否将状态数据包发送完毕;第四注入模块,用于在确定已将状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程;以及结束模块,用于在确定未将状态数据包发送完毕的情况下,结束第二处理线程,并继续执行第一处理线程。
10.根据本公开实施例的另一个方面,还提供了一种文件上注的装置,应用于卫星系统,卫星系统包括综合管理应用以及分别与综合管理应用连接的遥控应用以及与综合管理应用连接的总线管理应用,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:综合管理应用接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令,其中注入指令包括用于更新多个应用和/或多个设备的状态数据包,状态数据包用于指示与多个应用和/或多个设备对应的状态数据信息;综合管理应用确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令;综合管理应用确定注入指令包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至注入指令;在将用于指示写入失败的第三标志位注入至注入指令的情况下,判定是否将状态数据包发送完毕;在确定已将状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程;以及在确定未将状态数据包发送完毕的情况下,结束第二处理线程,并继续执行第一处理线程。
11.本技术公开了一种文件上注的方法,首先,初始化模块对接收到的指令进行初始化处理,并将用于指示写入失败的第一标志位注入之注入指令。然后,在注入指令包含第一
标志位的情况下,文件接收模块执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入之注入指令。此外,在注入指令包含第二标志位的情况下,文件发送模块执行第二处理线程,并将用于指示成功发送状态数据包的第三标志位注入至注入指令。进一步地,在注入指令包含第三标志位的情况下,文件发送模块判定是否将状态数据包发送完毕。在确定已将状态数据包发送完毕的情况下,文件发送模块将用于指示成功发送的状态数据包的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程。最后,在确定没有将状态数据包发送完毕的情况下,执行模块结束第二处理线程,并继续执行第一处理线程。
12.由于本公开的技术方案中,综合管理应用利用第一标志位(即用于指示写入失败)、第二标志位(即用于指示成功接收状态数据包)、第三标志位(即用于指示写入失败)和第四标志位(即用于指示成功写入)将遥控应用上注注入指令的过程、用于指示接收状态数据包的第一处理线程和用于指示发送状态数据包的第二处理线程结合到了一起,因此原本并行运行的多个线程可以通过第一标志位、第二标志位、第三标志位和第四标志位关联起来。从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。进而解决了现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
附图说明
13.此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
14.图1示出了根据本公开实施例1的第一个方面所述的卫星遥控遥测系统的示意图;
15.图2a示出了根据本公开实施例1的第一个方面所述的卫星系统的硬件架构的示意图;
16.图2b示出了根据本公开实施例1的第一个方面所述的硬件架构的示意图;
17.图3示出了根据本公开实施例1的第一个方面所述的处理器模块的示意图;
18.图4示出了根据本公开实施例1的第一个方面所述的文件上注的方法流程示意图;
19.图5示出了根据本公开实施例1的第一个方面所述的初始化模块对注入指令进行初始化处理的方法流程示意图;
20.图6示出了根据本公开实施例1的第一个方面所述的判定模块执行判定线程的示意图;
21.图7示出了根据本公开实施例1的第一个方面所述的文件接收模块执行第一处理线程的方法流程示意图;
22.图8示出了根据本公开实施例1的第一个方面所述的文件发送模块在第一周期执行第二处理线程的流程图;
23.图9a示出了根据本公开实施例1的第一个方面所述的文件发送模块在第二周期执行第二处理线程时的情况1的流程示意图;
24.图9b示出了根据本公开实施例1的第一个方面所述的文件发送模块在第二周期执行第二处理线程时的情况2的流程示意图;
25.图9c示出了根据本公开实施例1的第一个方面所述的文件发送模块在第二周期执行第二处理线程时的情况3的流程示意图;
26.图9d示出了根据本公开实施例1的第一个方面所述的文件发送模块在第二周期执行第二处理线程时的情况4的流程示意图;
27.图10示出了根据本实施例2的第一个方面所述的基于综合管理应用上述文件的装置;以及
28.图11示出了根据本实施例2的第一个方面所述的文件上注的装置。
具体实施方式
29.为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
30.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.实施例1
32.根据本实施例提供了一种文件上注的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
33.图1示出了根据本实施例所述的卫星遥控遥测系统的示意图。该系统包括:地面系统20以及卫星系统10,其中地面系统20通过分包遥控的方式,经由地面系统20与卫星系统10之间的遥控信道向卫星系统10发送遥控应用数据。此外,卫星系统10接收地面系统20发送的遥控应用数据,并且通过分包遥测的方式,经由卫星系统10与地面系统20之间的遥测信道向地面系统20传输遥测数据。
34.图2a进一步示出了图1中卫星系统10的硬件架构的示意图。参考图2a所示,卫星系统10包括综合电子系统,综合电子系统包括:处理器、存储器、总线管理模块以及通信接口。其中存储器与处理器连接,从而处理器可以访问存储器,读取存储器存储的程序指令,从存储器读取数据或者向存储器写入数据。总线管理模块与处理器连接,并且还与例如can总线等总线连接。从而处理器可以通过总线管理模块所管理的总线,同与总线连接的星载设备进行通信。此外,处理器还经由通信接口与相机、星敏感器、测控应答机以及数传设备等设备通信连接。本领域普通技术人员可以理解,图2a所示的结构仅为示意,其并不对上述电子
装置的结构造成限定。例如,卫星系统10还可包括比图2a中所示更多或者更少的组件,或者具有与图2a所示不同的配置。
35.图2b进一步示出了图1中地面系统20的硬件架构的示意图。参考图2b所示,地面系统20可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、用于通信功能的传输装置以及输入/输出接口。其中存储器、传输装置以及输入/输出接口通过总线与处理器连接。除此以外,还可以包括:与输入/输出接口连接的显示器、键盘以及光标控制设备。本领域普通技术人员可以理解,图2b所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,地面系统20还可包括比图2b中所示更多或者更少的组件,或者具有与图2b所示不同的配置。
36.应当注意到的是,图2a和图2b中示出的一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
37.图2a和图2b中示出的存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的基于配置信息的遥测方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用的基于配置信息的遥测方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器
38.此处需要说明的是,在一些可选实施例中,上述图2a和图2b所示的设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。
39.图3是根据本技术实施例所述的处理器模块110的示意图。参考图3所示,处理器模块110中包括初始化模块和执行模块,并且初始化模块与执行模块连接。其中,初始化模块用于对注入指令进行初始化处理,执行模块用于对注入指令进行处理。
40.并且在执行模块中还设置有判定模块、文件接收模块和文件发送模块,判定模块与文件接收模块连接,文件接收模块与文件发送模块连接。其中,判定模块用于判定第一标志位是否被注入到注入指令中,文件接收模块用于执行第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令。文件发送模块用于执行第二处理线程,并将用于指示写入失败的第三标志位注入至注入指令。并且其中,第一标志位与第三标志位对应。即,判定模块执行完判定线程后,文件接收模块执行第一处理线程,然后文件发送模块执行第二处理线程。
41.在上述运行环境下,根据本实施例的第一个方面,提供了一种方法,该方法例如由图3中的处理器模块110实现。图4示出了该方法的流程示意图,参考图4所示,该方法包括:
42.s402:接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令,其中注入指令包括用于更新多个应用和/或多个设备的配置文件,配置文件包括用于指示与多个应用和/或多个设备对应的状态数据包;
43.s404:确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令;
44.s406:确定注入指令包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至注入指令,其中第三标志位与第一标志位对应;
45.s408:在将用于指示写入失败的第三标志位注入至注入指令的情况下,判定是否将状态数据包发送完毕;
46.s410:在确定已将状态数据包发送完毕的情况下,将用于指示写入成功第四标志位注入至注入指令,并结束第一处理线程和第二处理线程;以及
47.s412:在确定未将状态数据包发送完毕的情况下,结束第二处理线程,并继续执行第一处理线程。
48.卫星系统10中设置有综合管理应用、遥控应用和总线管理应用。其中,综合管理应用分别与遥控应用以及总线管理应用通信连接。其中,遥控应用将由地面系统上行的注入指令发送至综合管理应用。此外,综合管理应用能够将注入指令发送至总线管理应用。
49.此外,由于注入指令包含配置文件,配置文件可以按一定的数据长度被划分为多个状态数据包,因此执行模块每隔1s周期性地执行一次,即执行模块中的判定模块每隔1s周期性地执行判定线程、执行模块中的文件接收模块每隔1s周期性地执行第一处理线程以及执行模块中的文件发送模块每隔1s周期性地执行第二处理线程。例如,表1示出了执行模块、判定模块、文件接收模块以及文件发送模块的时间信息。
50.表1
[0051][0052]
参考表1所示,例如,执行模块在3:00:01时开始第一次开始执行、在3:00:02时开始第二次开始执行、在3:00:03时开始第三次开始执行以及在3:00:04时开始第四次开始执行。由上述可知,执行模块每隔1s周期性地执行。
[0053]
与此对应的是,判定模块在3:00:01.100时开始第一次开始判定、在3:00:02.100时开始第二次开始判定、在3:00:03.100时开始第三次判定以及在3:00:04.100时开始第四次判定。由上述可知,判定模块也是每隔1s周期性地进行判定。
[0054]
此外,文件接收模块(即第一处理线程)在3:00:01.300时开始第一次接收状态文件、在3:00:02.300时开始第二次接收状态文件、在3:00:03.300时开始第三次接收状态文件以及在3:00:03.300时开始第四次接收状态文件。由上述可知,文件接收模块也是每隔1s周期性的接收文件。
[0055]
进一步地,文件发送模块(即第二处理线程)在3:00:01.500时开始第一次发送状态文件、在3:00:02.500时开始第二次发送状态文件、在3:00:03.500时开始第三次发送状态文件以及在3:00:03.500时开始第四次发送状态文件。由上述可知,文件发送模块也是每
隔1s周期性地发送文件。
[0056]
由上述可知,在状态数据包并没有全部被发送至总线管理应用的情况下,执行模块需要每隔1s周期性地将所有的状态数据包发送完毕。
[0057]
但是,本领域技术人员应当清楚,上述只是示例性的说明了判定模块、文件接收模块和文件发送模块处理各自的线程时所用的时间。判定模块、文件接收模块和文件发送模块实际所用的时间,卫星系统10可根据实际情况自行设定。
[0058]
基于此,处理器模块110中的初始化模块接收到由遥控应用发送的注入指令后,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令(s402)。其中,注入指令包括与多个应用和/或多个设备对应的配置文件,并且配置文件中包括用于指示与多个应用和/或多个设备对应的状态数据包。
[0059]
具体地,图5是根据本技术实施例所述的初始化模块对注入指令进行初始化处理的方法流程示意图。参考图5所示初始化模块接收到由遥控应用发送的注入指令后,启动初始化处理线程。首先,初始化模块判断是否接收到由遥控应用发送的注入指令。在确定已经接收到由遥控应用发送的注入指令的情况下,执行第一标志位的注入操作;在确定未收到由遥控应用发送的注入指令的情况下,结束初始化处理。初始化模块如果未接收到由遥控应用发送的注入指令,则说明遥控应用存在故障或遥控应用与综合管理应用之间的通信存在故障,从而使得处理器模块110不能接收到注入指令。
[0060]
表2示出了注入指令的数据格式。
[0061]
表2
[0062][0063]
参考表1所示,与字节序号11~14对应的参数含义为注入起始地址,与字节序号11~14对应的类型和码型是原码;与字节序号15~252对应的参数含义是写入数据内容(即配置文件),与字节序号15~252对应的类型和码型是原码;与字节序号253~254对应的参数含义是校验和,与字节序号253~254对应的类型和码型是原码。
[0064]
表3示出了状态数据包的数据格式。
[0065]
表3
[0066][0067][0068]
参考表3所示,与字节序号11~14对应的参数代号为tmt901,与字节序号11~14对应的参数含义为接收块地址,与字节序号11~14对应的处理公式单位为与tmt902对应的块地址;与字节序号15对应的参数代号为tmt902,与字节序号15对应的参数含义为接收状态,与字节序号15对应的处理公式单位为文件成功接收与否,即0xaa表示失败,0x55表示成功;与字节序号16~19对应的参数代号为tmt903,与字节序号16~19对应的参数含义为发送块地址,与字节序号16~19对应的处理公式单位为与tmt904对应的块地址;与字节序号20对应的参数代号为tmt904,与字节序号20对应的参数含义为发送状态,与字节序号20对应的处理公式单位为文件发送与否,即0xaa表示失败,0x55表示成功。
[0069]
然后,初始化模块在进行完初始化处理后,判定模块需要进一步判断第一标志位是否被注入到注入指令。图6是根据本技术实施例所述的判定模块执行判定线程的示意图。参考图6所示,在注入指令中包含第一标志位的情况下,文件接收模块执行第一处理线程(即接收状态数据包的线程);在注入指令中不包含第一标志位的情况下,判定模块结束线程,因此文件接收模块不执行第一处理线程,文件发送模块不执行第二处理线程。
[0070]
此外,由上述表2和表3可知,字节序号为15~252所对应的参数含义为配置文件,配置文件中包含多个状态数据包。文件接收模块需要依次接收多个状态数据包中的每个状态数据包,然后文件发送模块发送由文件接收模块传输的多个状态数据包中的每个状态数据包。
[0071]
因此,文件接收模块确定注入指令包含第一标志位的情况下,执行用于接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令
(s404)。具体地,图7是根据本技术实施例所述的文件接收模块执行第一处理线程的方法流程示意图。参考图7所示,尽管判定模块接收到了由遥控应用发送的注入指令,但是由于注入指令的格式可能发生错误,使得注入指令中不存在状态数据包,因此文件接收模块需要进一步判定是否接收到设置于注入指令内的状态数据包。在文件接收模块判定已经接收到状态数据包的情况下,则将用于指示成功接收状态数据包的第二标志位注入至注入指令;在文件接收模块判定未接收到状态数据包的情况下,则结束第一处理线程。即,文件接收模块没有接收到状态数据包时,文件转发送模块无法发送当前的状态数据包。
[0072]
此外,文件发送模块需要进一步确定注入指令是否包含第二标志位。在文件发送模块确定包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至注入指令(s406)。
[0073]
文件发送模块在将第三标志位注入至注入指令后,需要进一步判定发送状态数据包的数量是否大于状态数据包的总数量(即是否将全部状态数据包均发送完毕)(s408)。若已发送的状态数据包的数量大于状态数据包的总数量,则说明所有的状态数据包都已经发送完毕;若已发送的状态数据包的数量小于状态数据包的总数量,则说明还有部分状态数据包没有被发送,因此执行模块需要继续处理剩余的状态数据包。
[0074]
进一步地,在已发送的状态数据包的数量大于状态数据包的总数量的情况下,将用于指示写入成功的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程(s410)即,此时文件发送模块已经将所有的状态数据包发送完毕。
[0075]
在已发送的状态数据包的数量小于状态数据包的总数量的情况下,结束第二处理线程,并由文件发送模块继续执行第一处理线程,直至所有的状态数据包被发送至总线管理应用(s412)。
[0076]
例如,配置文件中包含2个状态数据包,分别是第一状态数据包和第二状态数据包,并且第一状态数据包的优先级大于第二状态数据包的优先级。因此,执行模块先处理第一状态数据包,然后在处理第二状态数据包。
[0077]
初始化线程:参考图3和图5所示,初始化模块判定是否接收到注入指令,若初始化模块接收到注入指令,则需要进一步判定注入指令的指令长度和指令格式是否校验通过;若初始化模块判定没有接收到注入指令,则直接结束初始化操作。
[0078]
进一步地,在注入指令的指令长度和指令格式校验均通过的情况下,初始化模块打开设置于注入指令中的配置文件,并根据配置文件的数据量大小计算需要传输的状态数据报的总数量。例如,默认每个状态数据包的包长度为16bits,而需要传输的配置文件的数据量为256bits。因此需要传输的状态数据包的总数为16个。在注入指令的指令长度和指令格式校验不通过的情况下,直接结束初始化操作。
[0079]
此外,初始化模块计算完需要传输的状态数据包的总数量之后,查询判定重复发送的注入指令的次数,并判定重复发送的注入指令的次数是否大于默认的重复发送注入指令的次数。在重复发送的注入指令的次数大于默认的重复发送注入指令的次数的情况下,将用于指示写入失败的第一标志位注入到注入指令,并结束初始化线程;在重复发送的注入指令的次数小于默认的重复发送注入指令的次数的情况下,令重复发送的注入指令的次数等于默认的重复发送注入指令的次数,并将用于指示写入失败的第一标志位注入至注入指令,然后结束初始化线程。
[0080]
例如,遥控应用重复发送了2次相同的注入指令,初始化模块默认的重复发送注入指令的次数为3次。因此,初始化模块判定遥控应用重复发送注入指令的次数(即遥控应用重复发送了2次)小于初始化模块默认的重复发送注入指令的次数(即初始化模块默认重复发送次数为3次)。则初始化模块令重复发送注入指令的次数等于3次。
[0081]
此外,参考上述表1及与表1对应的描述可知,执行模块是每隔1s周期性地发送状态数据包。因此,文件接收模块在第一周期内先接收第一状态数据包,文件发送模块发送第一状态数据包。然后,文件接收模块在第二周期再接收第二状态数据包,文件发送模块在发送第二状态数据包。
[0082]
1.第一周期。
[0083]
第一处理线程:在判定模块判定第一标志位已经被注入到注入指令中后,文件接收模块执行第一处理线程。图7是根据本技术实施例所述的文件接收模块在第一周期执行第一处理线程的流程图。参考图7所示,首先,文件接收模块判断是否接收到第一状态数据包。在接收到第一状态数据包的情况下,对第一状态数据包的包长度和类型标识进行校验;在未接收到第一状态数据包的情况下,结束第一处理线程。
[0084]
在第一状态数据包的包长度和类型标识校验均通过的情况下,文件接收模块保存写入状态信息并保存写入块地址信息,并将用于指示成功接收第一状态数据包的第二标志位注入到注入指令中,最后结束第一处理线程;在第一状态数据包的包长度和类型标识校验未通过的情况下,结束第一处理线程。
[0085]
第二处理线程:图8是根据本技术实施例所述的文件发送模块在第一周期执行第二处理线程的流程图。参考图8所示,首先,文件发送模块判定已发送的状态数据包的数量是否大于0。由于在发送第一状态数据包前未发送过同一配置文件内的其他状态数据包,因此文件发送模块取第一状态数据包发送,并将状态数据包的发送计数加1。即,原有的状态数据包的发送计数为0,现在的状态数据包的发送计数为1。
[0086]
然后,文件发送模块将用于指示写入失败的第三标志位注入至注入指令。
[0087]
进一步地,文件发送模块判定已发送的状态数据包的数量是否大于状态数据包的总数量。由于已发送的状态数据包的数量为1,状态数据包的总数量为2,因此文件发送模块直接结束第二处理线程。
[0088]
2.第二周期。
[0089]
由于第三标志位是用于指示写入失败的标志位,且第三标志位与第一标志位对应,即执行模块并没有将全部的状态数据包都发送给总线管理应用,因此参考图6所示,判定模块确定第一标志位(即第三标志位)被注入到注入指令后时,文件接收模块立即开始执行第一处理线程(即接收第二状态数据包)。
[0090]
第一处理处理线程:在判定模块判定第一标志位已经被注入到注入指令中后,文件接收模块执行第一处理线程。参考图7所示,首先,文件接收模块判断是否接收到第二状态数据包。在接收到第二状态数据包的情况下,对第二状态数据包的包长度和类型标识进行校验;在未接收到第二状态数据包的情况下,结束第一处理线程。
[0091]
在第二状态数据包的包长度和类型标识校验均通过的情况下,文件接收模块保存写入状态信息并保存写入块地址信息,并将用于指示成功接收第二状态数据包的第二标志位注入到注入指令中,最后结束第一处理线程;在第二状态数据包的包长度和类型标识校
验未通过的情况下,结束第一处理线程。
[0092]
第二处理线程:首先,文件发送模块判断已发送的状态数据包的数量是否大于0。由于在第一周期已经发送过第一状态数据包,因此文件发送模块确定已发送的状态数据包的数量大于0。
[0093]
然后,文件发送模块判断注入指令是否包含第二标志位。
[0094]
情况1:图9a是根据本技术实施例所述的文件发送模块在第二周期执行第二处理线程时的情况1的流程示意图。参考图9a所示,在包含第二标志位的情况下,文件发送模块判定第二状态数据包是否已保存写入状态信息和写入块地址信息。在第二状态数据包已保存写入状态信息和写入块地址信息的情况下,取第二状态数据包发送,并将已发送的状态数据包的计数加1。
[0095]
然后,将第三标志位注入至注入指令。进一步地,文件发送模块判定已发送的状态数据包的数量是否大于或等于状态数据包的总数量。由于已发送的状态数据包的数量为2,而状态数据包的总数量也为2,因此已发送的状态数据包的数量等于状态数据包的总数量。则文件发送模块将用于指示写入成功的第四标志位注入至注入指令,并结束第二处理线程。
[0096]
情况2:图9b是根据本技术实施例所述的文件发送模块在第二周期执行第二处理线程时的情况2的流程示意图。参考图9b所示,在包含第二标志位的情况下,文件发送模块判定第二状态数据包是否保存写入状态信息和写入块地址信息。
[0097]
在第二状态数据包未保存写入状态信息和写入块地址信息的情况下,文件发送模块需要进一步判定重复发送第一状态数据包的次数是否小于默认重复发送第一状态数据包的次数(即与默认重复发送注入指令的次数相同,为3次)。
[0098]
在重复发送第一状态数据包的次数小于默认重复发送第一状态数据包的次数的情况下,重新发送第一状态数据包,并令重发第一状态数据包的计数加1。
[0099]
然后,文件发送模块将第三标志位注入到注入指令中。进一步地,文件发送模块判定已发送的状态数据包的数量是否大于状态数据包的总数量。由于已发送的状态数据包的数量为1,而状态数据包的总数量为2,因此已发送的状态数据包的数量不大于状态数据包的总数量。则文件发送模块结束第二处理线程。
[0100]
情况3:图9c是根据本技术实施例所述的文件发送模块在第二周期执行第二处理线程时的情况3的流程示意图。参考图9c所示,在包含第二标志位的情况下,文件发送模块判定第二状态数据包是否保存写入状态信息和写入块地址信息。
[0101]
在第二状态数据包未保存写入状态信息和写入块地址信息的情况下,文件发送模块需要进一步判定重复发送第一状态数据包的次数是否小于默认重复发送第一状态数据包的次数(即与默认重复发送注入指令的次数相同,为3次)。
[0102]
在重复发送第一状态数据包的次数大于默认重复发送第二状态数据包的次数的情况下,令重复发送第一状态数据包的次数等于0。并取第二状态数据包发送,并使得发送计数加1(即发送计数等于2)。
[0103]
然后,文件发送模块将第三标志位注入至注入指令。进一步地,文件发送模块判定已发送的状态数据包的数量是否大于状态数据包的总数量。由于已发送的状态数据包的数量为2,而状态数据包的总数量也为2,因此已发送的状态数据包的数量等于状态数据包的
总数量。则文件发送模块将用于指示写入成功的第四标志位注入至注入指令,并结束第二处理线程。
[0104]
情况4:图9d是根据本技术实施例所述的文件发送模块在第二周期执行第二处理线程时的情况4的流程示意图。参考图9d所示,在不包含第二标志位的情况下,直接将第三标志位注入至注入指令。进一步地,文件发送模块判定已发送的状态数据包的数量是否大于状态数据包的总数量。由于已发送的状态数据包的数量为1,而状态数据包的总数量为2,因此已发送的状态数据包的数量小于状态数据包的总数量。则文件发送模块结束第二处理线程。
[0105]
进一步地,虽然在第二周期后,执行模块已经将第一状态数据包和第二状态数据包都发送至总线管理应用。但是由于执行模块在未将所有状态数据包发送至总线管理应用时,不知道所要发送的状态数据包的数量,并且执行模块需要保证将全部的状态数据包都发送至总线管理应用,因此执行模块在发送完所有的状态数据包后,需要再由判定模块执行判定线程、文件接收模块执行第一处理线程以及文件发送模块执行第二处理线程。
[0106]
3.第三周期。
[0107]
参考情况1和情况3。
[0108]
判定线程:判定模块判定用于指示写入失败的第一标志位(即第三标志位)是否被注入到注入指令。由于用于指示写入成功的第四标志位被注入到注入指令中,因此判定模块判定用于指示写入失败的第一标志位(即第三标志位)没有被注入到注入指令。即,用于指示写入失败的第一标志位与用于指示写入成功的第四标志位不对应。因此,判定模块直接结束判定线程。
[0109]
进一步地,参考图3所示,由于判定线程已结束,因此文件接收模块不可能进行第一处理线程,文件发送模块也不可能进行第二处理线程。即表示,所有的状态数据包都已发送完毕。
[0110]
参考情况2和情况4。
[0111]
由于在第二周期,情况2和情况4为重新发送第一状态数据包,因此在第三周期,执行模块需要再把第二状态数据包发送给总线管理应用。操作过程参考上述第二周期内执行模块的操作。
[0112]
经过上述第一周期、第二周期和第三周期的操作后,所有的状态数据包都已经被发送至总线管理应用。
[0113]
此外,值得注意的是,本领域技术人员应当明确,上述只是示例性的将第一状态数据包作为第一个发送的状态数据包,并将第二状态数据包作为第二个发送的状态数据包,状态数据包的发送顺序并不以此为限。
[0114]
正如背景技术中所述,现有的综合管理应用在向总线管理应用发送状态数据包时,并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,这也就使得综合管理应用需要同时处理多个线程,操作步骤过多且操作过程较为繁琐。
[0115]
有鉴于此,综合管理应用利用第一标志位(即用于指示写入失败)、第二标志位(即用于指示成功接收状态数据包)、第三标志位(即用于指示写入失败)和第四标志位(即用于指示成功写入)将遥控应用上注注入指令的过程、用于指示接收状态数据包的第一处理线
程和用于指示发送状态数据包的第二处理线程结合到了一起,因此原本并行运行的多个线程可以通过第一标志位、第二标志位、第三标志位和第四标志位关联起来。从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。进而解决了现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
[0116]
可选地,综合管理应用接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令的操作,包括:综合管理应用接收由遥控应用发送的注入指令,并校验注入指令的指令长度和指令格式;在注入指令的指令长度和指令格式校验通过的情况下,打开所述配置文件,并根据配置文件的数据量大小计算需要发送的状态数据包的数量;以及在注入指令的指令长度和指令格式校验不通过的情况下,结束初始化处理。
[0117]
进一步可选地,在打开配置文件,并根据配置文件的数据量大小计算需要发送的状态数据包的数量后的操作,包括:计算由遥控应用重复发送注入指令的次数,并判定重复发送注入指令的次数是否大于预设的默认重复发送注入指令的次数;在重复发送注入指令的次数大于预设的默认重复发送注入指令的次数的情况下,将用于指示写入失败的第一标志位注入至注入指令,并结束初始化处理;以及在重复发送注入指令的次数小于预设的默认重复发送注入指令的次数的情况下,令重复发送注入指令的次数等于预设的默认重复发送注入指令的次数,并将用于指示写入失败的第一标志位注入至注入指令,结束初始化处理。
[0118]
具体地,参考图5所示,初始化模块需要先对注入指令进行初始化处理。
[0119]
首先,初始化模块需要先判定是否接收到注入指令。若没有接收到注入指令,则说明遥控应用于综合管理应用之间的通信存在故障,因此初始化模块直接结束初始化线程;若接收到注入指令,则初始化模块需要进一步校验注入指令的指令长度和指令格式。
[0120]
例如,参考表2所示,注入指令的指令长度为254bits,注入指令的指令格式需要与表2中的字节序号所划分的指令格式一致。
[0121]
进一步地,若注入指令的指令长度和指令格式校验未通过,则初始化模块直接结束初始化线程;若注入指令的指令长度和指令格式校验通过,则初始化模块判定重复发送注入指令的次数是否大于默认的重复发送注入指令的次数。
[0122]
在重复发送注入指令的次数大于默认的重复发送注入指令的次数的情况下,令重复发送注入指令的次数等于默认重复发送注入指令的次数,并将用于指示写入失败的第一标志位注入至注入指令,然后结束初始化线程;在重复发送注入指令的次数小于默认的重复发送注入指令的次数的情况下,直接结束初始化线程。
[0123]
由上述操作可知,无论重复发送注入指令的次数与默认的重复发送注入指令的次数的大小如何,初始化模块均使得重复发送注入指令的次数为相对较大的值,从而为后续重复发送状态数据包提供了必要基础。
[0124]
从而,初始化模块通过对注入指令进行初始化处理的操作,达到了能够为后续接
收状态数据包及发送状态数据包提供必要基础的技术效果。
[0125]
可选地,综合管理应用确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令的操作,包括:综合管理应用确定接收到状态数据包的情况下,对状态数据包的包长度和类型识别进行校验;在校验通过的情况下,保存状态数据包的写入状态信息和状态数据包的写入块地址信息,并将用于指示成功接收状态数据包的第二标志位注入至注入指令,结束第一处理线程,其中写入状态信息和写入块地址信息包含于状态数据包中;以及在校验未通过的情况下,结束第一处理线程。
[0126]
具体地,参考图6所示,首先,执行模块中的判定模块需要先判定第一标志位是否被注入到注入指令中。在第一标志位已经被注入到注入指令中的情况下,文件接收模块开始执行第一处理线程,结束判定线程;在第一标志位未被注入到注入指令的情况下,结束判定线程。
[0127]
然后,参考图7所示,文件接收模块需要进一步判定是否接收到状态数据包。若已经接收到状态数据包,则需要进一步校验状态数据包的包长度和类型标识是否通过。若未接收到状态数据包,则结束第一处理线程。
[0128]
进一步地,在状态数据包的包长度和类型标识校验通过的情况下,保存状态数据包的写入状态信息和写入块地址信息;在状态数据包的包长度和类型标识校验未通过的情况下,直接结束第一处理线程。
[0129]
例如,参考表2和表3所示,状态数据包的包长度为16bits,与序号7~8对应的含义为类型识别。因此,文件接收模块需要判定状态数据包的包长度是否为16bits,且与序号7~8对应的类型和码型是否是9004h。进一步地,若状态数据包的包长度是16bits,且与序号7~8对应的类型和码型是9004h,则文件接收模块需要保存与字节序号11~14对应的写入块地址和与字节序号15对应的写入状态。
[0130]
此外,参考表1可知,文件接收模块每隔1s周期性地接收多个状态数据包中的1个状态数据包,直至所有的状态数据包都被发送至总线管理应用。
[0131]
从而,文件接收模块通过周期性地接收多个状态数据包中的每个状态数据包的操作,达到了为文件发送模块发送相应的状态数据包提供必要基础的技术效果。
[0132]
可选地,综合管理应用确定注入指令包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程的操作,包括:综合管理应用判断向总线管理应用发送的状态数据包的计数是否大于0;在向总线管理应用发送的状态数据包的计数大于0的情况下,判定注入指令是否包含第二标志位;以及在向总线管理应用发送的状态数据包的计数小于0的情况下,发送第一个状态数据包,对状态数据包的发送计数加1,并将用于指示写入失败的第三标志位注入至注入指令。
[0133]
可选地,在向总线管理应用发送状态数据包的计数大于0的情况下,判定注入指令是否包含第二标志位的操作,包括:在注入指令包含第二标志位的情况下,判断是否成功保存写入状态和写入块地址;以及在注入指令不包含第二标志位的情况下,将第三标志位注入至注入指令。
[0134]
可选地,在注入指令包含第二标志位的情况下,判断是否成功保存写入状态和写入块地址的操作,包括:在成功保存写入状态和写入块地址的情况下,发送下一计数的状态
数据包,对状态数据包的发送计数加1,并将第三标志位注入至注入指令;以及在未成功保存写入状态和写入块地址的情况下,判定重复发送当前的状态数据包的次数是否小于默认重复发送状态数据包的次数,其中默认重复发送状态数据包的次数等于默认重复发送注入指令的次数。
[0135]
进一步可选地,在未成功保存写入状态和写入块地址的情况下,判定重复发送状态数据包的次数是否大于重复发送注入指令的次数的操作,包括:在重复发送状态数据包的次数小于默认重复发送状态数据包的次数的情况下,重新发送当前计数的状态数据包,对重复发送状态数据包的计数加1,并将第三标志位注入至注入指令;以及在重复发送状态数据包的次数大于默认重复发送状态数据包的次数的情况下,令重复发送状态数据包的计数等于0,发送下一计数的状态数据包,对状态数据包的发送计数加1,并将第三标志位注入至注入指令。
[0136]
具体地,参考图9a、图9b、图9c和图9d所示,
[0137]
步骤1:文件发送模块需要进一步判断已经向总线管理应用发送的状态数据包的计数是否大于0。
[0138]
步骤2:在向总线管理应用发送的状态数据包的计数大于0的情况下,判定注入指令是否包含第二标志位(即是否成功接收到状态数据包);在向总线管理应用发送的状态数据包的计数小于0的情况下,发送第一个状态数据包(即上述的第一状态数据包),然后对状态数据包的发送计数加1,并将第三标志位注入至注入指令。
[0139]
步骤3:文件发送模块在判定注入指令包含第二标志位(即成功接收到状态数据包)的情况下,进一步判断是否成功保存写入状态信息和写入块地址信息;文件发送模块在判定注入指令不包含第二标志位(即成功接收到状态数据包)的情况下,将第三标志位注入至注入指令。
[0140]
步骤4:在成功保存写入状态信息和写入块地址信息的情况下,发送下一技术的状态数据包,对状态数据包的发送计数加1,并将第三标志位注入至注入指令;在未成功保存写入状态信息和写入块地址信息的情况下,判定重复发送当前的状态数据包的次数是否小于默认重复发送状态数据包的次数。
[0141]
步骤5:在重复发送当前的状态数据包的次数小于默认重复发送状态数据包的次数的情况下,重新发送当前计数的状态数据包,对重复发送状态数据包的计数加1,并将第三标志位注入至注入指令;
[0142]
从而,文件发送模块通过向总线管理应用发送状态数据包的操作,达到了能够便于总线管理应用及时将状态数据包传输给相应的设备和/或应用的技术效果。
[0143]
从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。进而解决了现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
[0144]
此外,参考图1所示,根据本实施例的第三个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
[0145]
从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。进而解决了现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
[0146]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0147]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0148]
实施例2
[0149]
图10示出了根据本实施例的第一个方面所述的基于综合管理应用上述文件的装置1000,该装置1000与根据实施例1的第一个方面所述的方法相对应。参考图10所示,该装置1000包括:第一注入模块1010,用于接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令,其中注入指令包括用于更新多个应用和/或多个设备的状态数据包,状态数据包用于指示与多个应用和/或多个设备对应的状态数据信息;第二注入模块1020,用于确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令;第三注入模块1030,用于确定注入指令包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至注入指令,其中第三标志位与第一标志位对应;判定模块1040,用于在将用于指示写入失败的第三标志位注入至注入指令的情况下,判定是否将状态数据包发送完毕;第四注入模块1050,用于在确定已将状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程;以及结束模块1060,用于在确定未将状态数据包发送完毕的情况下,结束第二处理线程,并继续执行第一处理线程。
[0150]
可选地,第一注入模块1010,包括:第一校验模块,用于接收由遥控应用发送的注入指令,并校验注入指令的指令长度和指令格式;第一计算模块,用于在注入指令的指令长度和指令格式校验通过的情况下,打开所述配置文件,并根据配置文件的数据量大小计算需要发送的状态数据包的数量;以及第一结束子模块,用于在注入指令的指令长度和指令格式校验不通过的情况下,结束初始化处理。
[0151]
可选地,装置1000还包括:第二计算模块,用于计算由遥控应用重复发送注入指令
的次数,并判定重复发送注入指令的次数是否大于预设的默认重复发送注入指令的次数;第二结束子模块,用于在重复发送注入指令的次数大于预设的默认重复发送注入指令的次数的情况下,将用于指示写入失败的第一标志位注入至注入指令,并结束初始化处理;以及第三结束子模块,用于在重复发送注入指令的次数小于预设的默认重复发送注入指令的次数的情况下,令重复发送注入指令的次数等于预设的默认重复发送注入指令的次数,并将用于指示写入失败的第一标志位注入至注入指令,结束初始化处理。
[0152]
可选地,第三注入模块1020,包括:第二校验模块,用于确定接收到状态数据包的情况下,对状态数据包的包长度和类型识别进行校验;第四结束子模块,用于在校验通过的情况下,保存状态数据包的写入状态信息和状态数据包的写入块地址信息,并将用于指示成功接收状态数据包的第二标志位注入至注入指令,结束第一处理线程,其中写入状态信息和写入块地址信息包含于状态数据包中;以及第五结束模块,用于在校验未通过的情况下,结束第一处理线程。
[0153]
可选地,第三注入模块1030,包括:第一判断模块,用于判断向总线管理应用发送的状态数据包的计数是否大于0;第二判断模块,用于在向总线管理应用发送的状态数据包的计数大于0的情况下,判定注入指令是否包含第二标志位;以及第三注入子模块,用于在向总线管理应用发送的状态数据包的计数小于0的情况下,发送第一个状态数据包,对状态数据包的发送计数加1,并将用于指示写入失败的第三标志位注入至注入指令。
[0154]
可选地,第二判断模块,包括:第三判断模块,用于在注入指令包含第二标志位的情况下,判断是否成功保存写入状态和写入块地址;以及第一注入子模块,用于在注入指令不包含第二标志位的情况下,将第三标志位注入至注入指令。
[0155]
可选地,第三判断模块,包括:第二注入子模块,用于在成功保存写入状态和写入块地址的情况下,发送下一计数的状态数据包,对状态数据包的发送计数加1,并将第三标志位注入至注入指令;以及第四判断模块,用于在未成功保存写入状态和写入块地址的情况下,判定重复发送当前的状态数据包的次数是否小于默认重复发送状态数据包的次数,其中默认重复发送状态数据包的次数等于默认重复发送注入指令的次数。
[0156]
可选地,第四判断模块,包括:第三注入子模块,用于在重复发送状态数据包的次数小于默认重复发送状态数据包的次数的情况下,重新发送当前计数的状态数据包,对重复发送状态数据包的计数加1,并将第三标志位注入至注入指令;以及第四注入子模块,用于在重复发送状态数据包的次数大于默认重复发送状态数据包的次数的情况下,令重复发送状态数据包的计数等于0,发送下一计数的状态数据包,对状态数据包的发送计数加1,并将第三标志位注入至注入指令。
[0157]
从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。进而解决了现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
[0158]
实施例3
[0159]
图11示出了根据本实施例的第一个方面所述的文件上注的装置1100,该装置1100
与根据实施例1的第一个方面所述的方法相对应。参考图11所示,该装置1100包括:处理器1110;以及存储器1120,与处理器1110连接,用于为处理器1110提供处理以下处理步骤的指令:接收由遥控应用发送的注入指令,对注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至注入指令,其中注入指令包括用于更新多个应用和/或多个设备的状态数据包,状态数据包用于指示与多个应用和/或多个设备对应的状态数据信息;确定注入指令包含第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收状态数据包的第二标志位注入至注入指令;确定注入指令包含第二标志位的情况下,执行用于指示向总线管理应用发送状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至注入指令,其中第三标志位与第一标志位对应;在将用于指示写入失败的第三标志位注入至注入指令的情况下,判定是否将状态数据包发送完毕;在确定已将状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注入至注入指令,并结束第一处理线程和第二处理线程;以及在确定未将状态数据包发送完毕的情况下,结束第二处理线程,并继续执行第一处理线程。
[0160]
从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。进而解决了现有技术中存在的综合管理应用并没有将接收与多个应用和/或多个设备对应的状态数据包的过程、发送与多个应用和/或多个设备对应的状态数据包的过程以及遥控应用上注注入指令的过程结合起来,使得综合管理应用需要同时处理多个线程,因此操作步骤过多且操作过程较为繁琐的技术问题。
[0161]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0162]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0163]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0164]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0165]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0166]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0167]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种文件上注的方法,应用于卫星系统,所述卫星系统包括综合管理应用以及分别与所述综合管理应用连接的遥控应用以及与所述综合管理应用连接的总线管理应用,其特征在于,包括:接收由遥控应用发送的注入指令,对所述注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至所述注入指令,其中所述注入指令包括与多个应用和/或多个设备对应的配置文件,所述配置文件包括用于指示与所述多个应用和/或所述多个设备对应的状态数据包;确定所述注入指令包含所述第一标志位的情况下,执行用于指示接收所述状态数据包的第一处理线程,并将用于指示成功接收所述状态数据包的第二标志位注入至所述注入指令;确定所述注入指令包含所述第二标志位的情况下,执行用于指示向总线管理应用发送所述状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至所述注入指令,其中所述第三标志位与所述第一标志位对应;在将用于指示写入失败的第三标志位注入至所述注入指令的情况下,判定是否将所述状态数据包发送完毕;在确定已将所述状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注入至所述注入指令,并结束所述第一处理线程和所述第二处理线程;以及在确定未将所述状态数据包发送完毕的情况下,结束第二处理线程,并继续执行所述第一处理线程。2.根据权利要求1所述的方法,其特征在于,接收由遥控应用发送的注入指令,对所述注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至所述注入指令的操作,包括:接收由所述遥控应用发送的注入指令,并校验所述注入指令的指令长度和指令格式;在所述注入指令的指令长度和指令格式校验通过的情况下,打开所述配置文件,并根据所述配置文件的数据量大小计算需要发送的状态数据包的数量;以及在所述注入指令的指令长度和指令格式校验不通过的情况下,结束所述初始化处理。3.根据权利要求2所述的方法,其特征在于,在打开所述配置文件,并根据所述配置文件的数据量大小计算需要发送的状态数据包的数量后的操作,包括:计算由所述遥控应用重复发送所述注入指令的次数,并判定重复发送所述注入指令的次数是否大于预设的默认重复发送所述注入指令的次数;在重复发送所述注入指令的次数大于预设的默认重复发送所述注入指令的次数的情况下,将用于指示写入失败的第一标志位注入至所述注入指令,并结束所述初始化处理;以及在重复发送所述注入指令的次数小于预设的默认重复发送所述注入指令的次数的情况下,令重复发送所述注入指令的次数等于预设的默认重复发送所述注入指令的次数,并将用于指示写入失败的第一标志位注入至所述注入指令,结束所述初始化处理。4.根据权利要求1所述的方法,其特征在于,确定所述注入指令包含所述第一标志位的情况下,执行用于指示接收状态数据包的第一处理线程,并将用于指示成功接收所述状态数据包的第二标志位注入至所述注入指令的操作,包括:
确定接收到所述状态数据包的情况下,对所述状态数据包的包长度和类型识别进行校验;在校验通过的情况下,保存所述状态数据包的写入状态信息和所述状态数据包的写入块地址信息,并将用于指示成功接收所述状态数据包的第二标志位注入至所述注入指令,结束所述第一处理线程,其中所述写入状态信息和所述写入块地址信息包含于所述状态数据包中;以及在校验未通过的情况下,结束所述第一处理线程。5.根据权利要求1所述的方法,其特征在于,确定所述注入指令包含所述第二标志位的情况下,执行用于指示向总线管理应用发送所述状态数据包的第二处理线程的操作,包括:判断向所述总线管理应用发送的所述状态数据包的计数是否大于0;在向所述总线管理应用发送的所述状态数据包的计数大于0的情况下,判定所述注入指令是否包含所述第二标志位;以及在向所述总线管理应用发送的所述状态数据包的计数小于0的情况下,发送第一个所述状态数据包,对所述状态数据包的发送计数加1,并将用于指示写入失败的第三标志位注入至所述注入指令,其中在向所述总线管理应用发送所述状态数据包的计数大于0的情况下,判定所述注入指令是否包含所述第二标志位的操作,包括:在所述注入指令包含所述第二标志位的情况下,判断是否成功保存所述写入状态信息和所述写入块地址信息;以及在所述注入指令不包含所述第二标志位的情况下,将所述第三标志位注入至所述注入指令。6.根据权利要求5所述的方法,其特征在于,在所述注入指令包含所述第二标志位的情况下,判断是否成功保存所述写入状态信息和所述写入块地址信息的操作,包括:在成功保存所述写入状态信息和所述写入块地址信息的情况下,发送下一计数的状态数据包,对所述状态数据包的发送计数加1,并将所述第三标志位注入至所述注入指令;以及在未成功保存所述写入状态信息和所述写入块地址信息的情况下,判定重复发送当前的所述状态数据包的次数是否小于默认重复发送所述状态数据包的次数,其中默认重复发送所述状态数据包的次数等于默认重复发送所述注入指令的次数。7.根据权利要求6所述的方法,其特征在于,在未成功保存所述写入状态和所述写入块地址的情况下,判定重复发送所述状态数据包的次数是否大于重复发送所述注入指令的次数的操作,包括:在重复发送所述状态数据包的次数小于默认重复发送所述状态数据包的次数的情况下,重新发送当前计数的状态数据包,对重复发送所述状态数据包的计数加1,并将所述第三标志位注入至所述注入指令;以及在重复发送所述状态数据包的次数大于默认重复发送所述状态数据包的次数的情况下,令重复发送所述状态数据包的计数等于0,发送下一计数的状态数据包,对所述状态数据包的发送计数加1,并将所述第三标志位注入至所述注入指令。8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行
时由处理器执行权利要求1至7中任意一项所述的方法。9.一种文件上注的装置,应用于卫星系统,所述卫星系统包括综合管理应用以及分别与所述综合管理应用连接的遥控应用以及与所述综合管理应用连接的总线管理应用,其特征在于,包括:第一注入模块,用于接收由遥控应用发送的注入指令,对所述注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至所述注入指令,其中所述注入指令包括用于更新多个应用和/或多个设备的状态数据包,所述状态数据包用于指示与所述多个应用和/或所述多个设备对应的状态数据信息;第二注入模块,用于确定所述注入指令包含所述第一标志位的情况下,执行用于指示接收所述状态数据包的第一处理线程,并将用于指示成功接收所述状态数据包的第二标志位注入至所述注入指令;第三注入模块,用于确定所述注入指令包含所述第二标志位的情况下,执行用于指示向总线管理应用发送所述状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至所述注入指令,其中所述第三标志位与所述第一标志位对应;判定模块,用于在将用于指示写入失败的第三标志位注入至所述注入指令的情况下,判定是否将所述状态数据包发送完毕;第四注入模块,用于在确定已将所述状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注入至所述注入指令,并结束所述第一处理线程和所述第二处理线程;以及结束模块,用于在确定未将所述状态数据包发送完毕的情况下,结束第二处理线程,并继续执行所述第一处理线程。10.一种文件上注的装置,应用于卫星系统,所述卫星系统包括综合管理应用以及分别与所述综合管理应用连接的遥控应用以及与所述综合管理应用连接的总线管理应用,其特征在于,包括:处理器;以及存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:综合管理应用接收由遥控应用发送的注入指令,对所述注入指令进行初始化处理,并将用于指示写入失败的第一标志位注入至所述注入指令,其中所述注入指令包括用于更新多个应用和/或多个设备的状态数据包,所述状态数据包用于指示与所述多个应用和/或所述多个设备对应的状态数据信息;综合管理应用确定所述注入指令包含所述第一标志位的情况下,执行用于指示接收所述状态数据包的第一处理线程,并将用于指示成功接收所述状态数据包的第二标志位注入至所述注入指令;综合管理应用确定所述注入指令包含所述第二标志位的情况下,执行用于指示向总线管理应用发送所述状态数据包的第二处理线程,并将用于指示写入失败的第三标志位注入至所述注入指令,其中所述第三标志位与所述第一标志位对应;在将用于指示写入失败的第三标志位注入至所述注入指令的情况下,判定是否将所述状态数据包发送完毕;在确定已将所述状态数据包发送完毕的情况下,将用于指示写入成功的第四标志位注
入至所述注入指令,并结束所述第一处理线程和所述第二处理线程;以及在确定未将所述状态数据包发送完毕的情况下,结束第二处理线程,并继续执行所述第一处理线程。

技术总结
本申请公开了文件上注的方法、装置及存储介质,包括:综合管理应用利用第一标志位、第二标志位、第三标志位和第四标志位将遥控应用上注注入指令的过程、用于指示接收状态数据包的第一处理线程和用于指示发送状态数据包的第二处理线程结合到了一起,因此原本并行运行的多个线程可以通过第一标志位、第二标志位、第三标志位和第四标志位关联起来。从而,综合管理应用仅需要处理经过关联后的一个完整的新线程,就能够实现想总线管理应用发送状态数据包的功能,因此操作步骤更少且操作过程变得更加简单。加简单。加简单。


技术研发人员:闫晓亮 段海洋 韩雍博 王佳增 张扬雨
受保护的技术使用者:银河航天(北京)通信技术有限公司
技术研发日:2023.01.12
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐