CN103268258A - 一种卫星地面遥控发令安全控制方法 - Google Patents
一种卫星地面遥控发令安全控制方法 Download PDFInfo
- Publication number
- CN103268258A CN103268258A CN2013101526221A CN201310152622A CN103268258A CN 103268258 A CN103268258 A CN 103268258A CN 2013101526221 A CN2013101526221 A CN 2013101526221A CN 201310152622 A CN201310152622 A CN 201310152622A CN 103268258 A CN103268258 A CN 103268258A
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- priority
- remote control
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Radio Relay Systems (AREA)
Abstract
一种卫星地面遥控发令安全控制方法,对地面遥控前端软件的所有任务进行梳理,并定义为任务类型;归纳所有任务的各种属性,设计一个能够表示所有任务的通用数据结构;为每个优先级建立相应的任务队列;对所有任务中的每项任务所利用的资源进行识别,将被至少两项任务利用的资源定义为关键资源,将与同一关键资源相关的多项任务定义为冲突任务;为每项任务设计相应的处理程序,并采用关键段Critical Section技术对关键资源进行访问控制。本发明能够有效解决多任务并行时产生的冲突,确保型号测试过程中上行遥控指令通道的安全可靠,从而满足自动化测试的需要。
Description
技术领域
本发明涉及一种卫星地面遥控发令安全控制方法,属于卫星系统级测试领域,用于确保地面遥控发令的安全性。
背景技术
在卫星地面测试系统中,遥控指令的发送是由遥控子系统来完成的。其中,遥控前端软件是整个遥控子系统的控制核心,运行在遥控前端计算机上,协同基带设备、通道设备、指令卡、加解密机、遥测前端计算机等测试设备实现了遥控指令的可靠发送。
随着卫星平台的发展,科学技术的进步和型号任务的增加,对卫星地面测试系统的能力要求越来越高。为了支持更多的指令类型,兼容不同的加密方法,并满足自动化测试的需要,遥控子系统的软硬件设备也在不断的进行升级。然而,一次次升级也让遥控前端软件的结构越来越复杂,且工作模式也由以前的单任务串行模式,逐渐演变成了现在的多任务并行模式,从而引入了新的问题。
以前,遥控前端软件的任务主要有本地发送遥控指令、远程发送遥控指令、本地设置软件状态(如取消大环比对、指令禁止解禁、重新加载指令表)、本地管理遥控设备(如加解密机复位、通道切换)和遥控密钥更换。因为测试的自动化程度不高,两个相邻任务之间都留有一定的时间间隔,所以软件始终工作在单任务串行模式下,保证了发令的安全性。
现在,遥控前端软件的任务在原有的基础上又新增了远程设置软件状态和远程管理遥控设备,并且遥控密钥更换操作又细分为主动更换密钥和被动更换密钥两种方式。由于实现了自动化测试,整个卫星地面测试系统都在高效的运行,遥控前端软件收到的任务之间不但衔接的非常紧密,而且会经常出现任务重叠的情况,即一项任务还没有结束,另一项任务就已经到来,或者同时收到多项任务的情况。因为软件研制初期并没有考虑多任务并行的情况,所以没有设计相应的安全控制策略,当任务重叠出现时,例如在指令发送过程中进行通道切换或重新加载指令表,就会产生冲突,因此遥控前端软件原有的工作机制已经不能满足当前自动化测试的需要。
发明内容
本发明技术解决问题:克服现有技术的不足,针对遥控前端软件多任务并行工作的新需求,提供一种卫星地面遥控发令安全控制方法,该方法能够有效解决多任务并行时产生的冲突,确保型号测试过程中上行遥控指令通道的安全可靠,从而满足自动化测试的需要。
本发明的技术解决方案是:一种卫星地面遥控发令安全控制方法,实现步骤如下:
(1)对地面遥控前端软件的所有任务进行梳理,并定义为任务类型;所述任务类型是指一条或若干条遥控指令或地面设备的操作指令;
(2)归纳所有任务的各种属性,设计一个能够表示所有任务的通用数据结构;
(3)对所有任务定义优先级,并按优先级对所有任务进行排序,为每个优先级建立相应的任务队列;
(4)对所有任务中的每项任务所利用的资源进行识别,将被至少两项任务利用的资源定义为关键资源,将与同一关键资源相关的多项任务定义为冲突任务;
(5)为每项任务设计相应的处理程序,并采用关键段Critical Section技术对关键资源进行访问控制;
(6)地面遥控子系统运行过程中,当收到远程发来或本地生成的任务时,首先判断步骤(1)中的任务的类型,然后根据步骤(2)定义的通用数据结构生成任务对象,最后根据步骤(3)中任务的优先级将任务对象放入相应的任务队列,并启动任务分发程序;
当有新任务入队或某项任务执行完毕时,会启动任务分发程序;该任务分发程序在主线程中运行,由于采用了中断机制来触发,相比查询机制大大降低了系统CPU占用率;任务分发程序将判断地面遥控子系统当前正在执行的任务的状态,按照步骤(4)的定义在确保不发生冲突的前提下尽可能多的从任务队列中取出任务并启动步骤(5)中设计的相应的处理程序;同时为了保证能够快速及时的响应高优先级任务,规定任务出队的顺序为优先级的先高后低,且高优先级任务运行时禁止启动低优先级任务,之前已经启动的除外;从而实现卫星地面遥控发令安全控制。
本发明与现有技术相比的优点在于:
(1)本发明所提出的安全控制方法能够对遥控前端软件收到的各项任务进行统一的调度和管理,一方面解决了多任务并行时产生的冲突,并对软件实际运行过程中可能出现的问题进行了妥善的处理,确保了遥控发令的安全;另一方面加强了共享资源的访问控制,在保证安全的前提下让尽可能多的任务并行执行(例如遥控通道切换和重新加载指令表并行),并对任务进行了优先级控制,提高了软件运行的效率。
(2)自2010年10月起,本发明已经在7个通信卫星型号测试中得以应用,遥控前端软件共计运行超过6000小时,发送指令700,000条以上,未出现任何异常。
附图说明
图1为本发明方法总体实现流程图;
图2为本发明中任务分发程序的工作原理图。
具体实施方式
下面结合实例对本发明做进一步说明。
如图1所示,本发明的具体实现步骤如下:
1.对遥控前端软件的所有任务进行梳理,并定义为任务类型。为了简化问题,突出重点,此处仅选择了几项有代表性的任务。主要包括远程发送遥控指令、被动更换密钥、本地重新加载指令表、远程管理设备连接和本地设置指令明密状态等。这是根据具体的卫星任务来定义,没有具体标准,可以为任何任务,本领域技术人员均可以定义实现,本发明只是举个例子。
2.归纳任务的各种属性,设计一个能够表示所有任务的通用数据结构。各种属性包括:名称、标识、参数、来源、是否禁止等,也是根据具体的卫星任务来定义,没有具体标准,本领域技术人员均可以定义实现,本发明只是举个例子。
3.对所有任务定义优先级,并按优先级对所有任务进行排序,为每个优先级建立相应的任务队列;可以自定义,具体任务具体定义优先级。
在本发明实施例中:被动更换密钥任务对实时性要求较高,收到任务后必须快速响应,故授予1级优先权,对应的任务队列为队列1;其它各项任务具有相同的优先级,执行的顺序取决于收到任务的先后,故授予2级优先权,对应的任务队列为队列2。
表1任务优先级列表
任务标识 | 优先级 |
TID_KEY_CHANGE_PASSIVE | 1 |
TID_CMD_SEND_REMOTE | 2 |
TID_CMDTAB_RELOAD_LOCAL | 2 |
TID_DEV_CONN_REMOTE | 2 |
TID_ENCRY_SET_LOCAL | 2 |
4.对每项任务所利用的资源进行识别,将被至少两项任务利用的资源定义为关键资源,将与同一关键资源相关的多项任务定义为冲突任务。
这是根据具体的卫星任务来识别,没有具体标准,根据实际任务情况来进行,本领域技术人员均可以实现,本发明只是举个例子。
在本发明实施例中:由上表可以看出,被动更换密钥、远程发送遥控指令和远程管理设备连接三项任务因关键资源遥控设备而互为冲突任务;远程发送遥控指令和本地重新加载指令表两项任务因关键资源指令表而互为冲突任务;远程发送遥控指令和本地设置指令明密状态两项任务因关键资源发令配置而互为冲突任务。
表2任务资源列表
任务标识 | 资源 |
TID_KEY_CHANGE_PASSIVE | 遥控设备 |
TID_CMD_SEND_REMOTE | 遥控指令表、发令配置、遥控设备 |
TID_CMDTAB_RELOAD_LOCAL | 遥控指令表 |
TID_DEV_CONN_REMOTE | 遥控设备 |
TID_ENCRY_SET_LOCAL | 发令配置 |
5.为每项任务设计相应的处理程序,并采用Critical Section技术对关键资源进行访问控制。遥控前端软件实际运行过程中,每一项任务都是在一个独立的线程中执行的,为了避免多项冲突任务同时访问关键资源而导致软件异常,必须进行线程同步。Critical Section是一种常用的线程同步技术,它能够保证多个线程互斥的访问关键资源,如果有多项任务试图同时访问关键资源,那么在某一项任务获得关键资源的使用权后,其它所有试图访问该资源的任务处理线程将被挂起,并一直持续到获得使用权的任务释放使用权。
6.地面遥控子实际运行过程中,当收到远程发来或本地生成的任务时,首先判断任务的类型,然后根据预先定义的通用数据结构生成任务对象,最后根据任务的优先级将对象放入相应的任务队列,并启动任务分发程序。
例如当遥控前端软件收到远程客户端的遥控指令请求时,首先判断任务类型为远程发送遥控指令,然后创建任务对象,将任务名称赋值为指令名称,任务标识赋值为TID_CMD_SEND_REMOTE,任务参数赋值为相关指令信息,任务来源赋值为客户端代号,是否禁止则取决于系统当前的遥控指令禁止配置,最后查明该任务的优先级为2,将任务对象放入任务队列2。
7.地面遥控子实际运行过程中,当有新任务入队或某项任务执行完毕时,会启动任务分发程序。该程序在主线程中运行,由于采用了中断机制来触发,相比查询机制大大降低了系统CPU占用率。任务分发程序将判断系统当前正在执行的任务的状态,在确保不发生冲突的前提下尽可能多的从任务队列中取出任务并启动相应的处理程序,同时为了保证能够快速及时的响应高优先级任务,规定任务出队的顺序为先高后低(优先级)且高优先级任务运行时禁止启动低优先级任务(之前已经启动的除外)。
本发明实施例中共有2级优先级,其任务分发程序的工作原理如图2所示,具体流程如下:
(1)判断优先级较高的任务队列(队列1)是否为空,若为空则转至第(5)步,否则转至第(2)步。
(2)判断队列1中的首项任务是否与当前正在执行的任务冲突,若有冲突则终止任务分发,否则转至第(3)步。
(3)取出队列1中的首项任务。
(4)启动该任务相应的处理程序,然后转至第1步。
(5)判断优先级次高的任务队列(队列2)是否为空,若为空则终止任务分发(本例中没有优先级更低的队列,故终止任务分发,否则继续按由高到低的顺序遍历其余任务队列),否则转至第(6)步。
(6)判断当前是否有更高优先级的任务在运行,若有则终止任务分发,否则转至第(7)步。
(7)判断队列2中的首项任务是否与当前正在执行的任务冲突,若有冲突则终止任务分发,否则转至第(8)步。
(8)取出队列2中的首项任务。
(9)启动该任务相应的处理程序,然后转至第(5)步。
以上步骤的实施,一方面解决了多任务并行时产生的冲突,并对遥控前端软件实际运行过程中可能出现的问题进行了妥善的处理,确保了遥控发令的安全;另一方面加强了共享资源的访问控制,在保证安全的前提下让尽可能多的任务并行执行(例如遥控通道切换和重新加载指令表并行),并对任务进行了优先级控制,提高了软件运行的效率。
本发明中未作详细描述的内容属本领域技术人员的公知技术。
Claims (1)
1.一种卫星地面遥控发令安全控制方法,其特征在于实现步骤如下:
(1)对地面遥控前端软件的所有任务进行梳理,并定义为任务类型;所述任务类型是指一条或若干条遥控指令或地面设备的操作指令;
(2)归纳所有任务的各种属性,设计一个能够表示所有任务的通用数据结构;
(3)对所有任务定义优先级,并按优先级对所有任务进行排序,为每个优先级建立相应的任务队列;
(4)对所有任务中的每项任务所利用的资源进行识别,将被至少两项任务利用的资源定义为关键资源,将与同一关键资源相关的多项任务定义为冲突任务;
(5)为每项任务设计相应的处理程序,并采用关键段Critical Section技术对关键资源进行访问控制;
(6)地面遥控子系统运行过程中,当收到远程发来或本地生成的任务时,首先判断步骤(1)中的任务的类型,然后根据步骤(2)定义的通用数据结构生成任务对象,最后根据步骤(3)中任务的优先级将任务对象放入相应的任务队列,并启动任务分发程序;
当有新任务入队或某项任务执行完毕时,会启动任务分发程序;该任务分发程序在主线程中运行,任务分发程序将判断地面遥控子系统当前正在执行的任务的状态,按照步骤(4)的定义在确保不发生冲突的前提下尽可能多的从任务队列中取出任务并启动步骤(5)中设计的相应的处理程序;同时为了保证能够快速及时的响应高优先级任务,规定任务出队的顺序为优先级的先高后低,且高优先级任务运行时禁止启动低优先级任务,之前已经启动的除外;从而实现卫星地面遥控发令安全控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310152622.1A CN103268258B (zh) | 2013-04-27 | 2013-04-27 | 一种卫星地面遥控发令安全控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310152622.1A CN103268258B (zh) | 2013-04-27 | 2013-04-27 | 一种卫星地面遥控发令安全控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103268258A true CN103268258A (zh) | 2013-08-28 |
CN103268258B CN103268258B (zh) | 2016-08-10 |
Family
ID=49011890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310152622.1A Active CN103268258B (zh) | 2013-04-27 | 2013-04-27 | 一种卫星地面遥控发令安全控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268258B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462188A (zh) * | 2014-10-23 | 2015-03-25 | 北京空间飞行器总体设计部 | 一种航天器智能任务规划的测试方法和系统 |
CN104618311A (zh) * | 2013-11-05 | 2015-05-13 | 中国空间技术研究院 | 遥控数据转换方法 |
CN105137929A (zh) * | 2015-07-31 | 2015-12-09 | 上海卫星工程研究所 | 适用于卫星型号的通用化程控系统 |
CN105159170A (zh) * | 2015-08-27 | 2015-12-16 | 莱诺斯科技(北京)有限公司 | 一种适用于多星并行测试的控制台系统 |
CN105871539A (zh) * | 2016-03-18 | 2016-08-17 | 华为技术有限公司 | 一种密钥处理方法及装置 |
CN108366383A (zh) * | 2017-12-29 | 2018-08-03 | 杭州雄伟科技开发股份有限公司 | 冲突调度方法、装置及系统 |
CN108710506A (zh) * | 2018-05-31 | 2018-10-26 | 北京智行者科技有限公司 | 车辆的指令处理方法 |
CN114035910A (zh) * | 2020-09-09 | 2022-02-11 | 东华大学 | 一种缩短应急响应时间的双平行机调度方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111912412B (zh) * | 2020-06-05 | 2021-04-23 | 中国空间技术研究院 | 面向应用的异构星座天地一体化任务规划方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415559B1 (en) * | 1999-03-23 | 2008-08-19 | International Business Machines Corporation | Data processing systems and method for processing work items in such systems |
CN102074103A (zh) * | 2010-11-01 | 2011-05-25 | 航天东方红卫星有限公司 | 一种通用遥控前端 |
CN102830951A (zh) * | 2012-07-20 | 2012-12-19 | 航天东方红卫星有限公司 | 一种敏捷卫星多参数指令上注处理方法 |
-
2013
- 2013-04-27 CN CN201310152622.1A patent/CN103268258B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415559B1 (en) * | 1999-03-23 | 2008-08-19 | International Business Machines Corporation | Data processing systems and method for processing work items in such systems |
CN102074103A (zh) * | 2010-11-01 | 2011-05-25 | 航天东方红卫星有限公司 | 一种通用遥控前端 |
CN102830951A (zh) * | 2012-07-20 | 2012-12-19 | 航天东方红卫星有限公司 | 一种敏捷卫星多参数指令上注处理方法 |
Non-Patent Citations (5)
Title |
---|
付长东等: "面向对象的分布式测控系统", 《计算机系统应用》, no. 5, 15 May 1997 (1997-05-15), pages 2 - 5 * |
刘栋: "某型无人机地面飞控站的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技II辑》, no. 06, 15 June 2007 (2007-06-15), pages 39 - 40 * |
吴大愚: "航天器自主运行软件开发框架和自主规划调度的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 07, 15 July 2009 (2009-07-15), pages 51 - 53 * |
王磊 袁利: "卫星综合软件的体系结构研究", 《空间控制技术与应用》, vol. 36, no. 1, 15 February 2010 (2010-02-15), pages 31 - 35 * |
胡艳熊等: "引入虚拟特征参数的混合实时任务调度及应用", 《计算机应用研究》, vol. 30, no. 4, 28 November 2012 (2012-11-28), pages 1004 - 1006 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618311B (zh) * | 2013-11-05 | 2017-12-12 | 中国空间技术研究院 | 遥控数据转换方法 |
CN104618311A (zh) * | 2013-11-05 | 2015-05-13 | 中国空间技术研究院 | 遥控数据转换方法 |
CN104462188A (zh) * | 2014-10-23 | 2015-03-25 | 北京空间飞行器总体设计部 | 一种航天器智能任务规划的测试方法和系统 |
CN104462188B (zh) * | 2014-10-23 | 2017-09-12 | 北京空间飞行器总体设计部 | 一种航天器智能任务规划的测试方法和系统 |
CN105137929A (zh) * | 2015-07-31 | 2015-12-09 | 上海卫星工程研究所 | 适用于卫星型号的通用化程控系统 |
CN105137929B (zh) * | 2015-07-31 | 2018-02-06 | 上海卫星工程研究所 | 适用于卫星型号的通用化程控系统 |
CN105159170A (zh) * | 2015-08-27 | 2015-12-16 | 莱诺斯科技(北京)有限公司 | 一种适用于多星并行测试的控制台系统 |
CN105159170B (zh) * | 2015-08-27 | 2018-03-09 | 莱诺斯科技(北京)股份有限公司 | 一种适用于多星并行测试的控制台系统 |
CN105871539A (zh) * | 2016-03-18 | 2016-08-17 | 华为技术有限公司 | 一种密钥处理方法及装置 |
CN108366383A (zh) * | 2017-12-29 | 2018-08-03 | 杭州雄伟科技开发股份有限公司 | 冲突调度方法、装置及系统 |
CN108710506A (zh) * | 2018-05-31 | 2018-10-26 | 北京智行者科技有限公司 | 车辆的指令处理方法 |
CN114035910A (zh) * | 2020-09-09 | 2022-02-11 | 东华大学 | 一种缩短应急响应时间的双平行机调度方法 |
CN114035910B (zh) * | 2020-09-09 | 2024-05-10 | 东华大学 | 一种缩短应急响应时间的双平行机调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103268258B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268258A (zh) | 一种卫星地面遥控发令安全控制方法 | |
CN106033373B (zh) | 一种云计算平台中虚拟机资源调度方法和调度系统 | |
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
CN105589751B (zh) | 一种物理资源调度方法及装置 | |
CN104063279B (zh) | 任务调度方法、装置和终端 | |
CN112527489B (zh) | 一种任务调度方法、装置、设备及计算机可读存储介质 | |
CN109445944A (zh) | 一种基于dpdk的网络数据采集处理系统及其方法 | |
US9430285B2 (en) | Dividing and parallel processing record sets using a plurality of sub-tasks executing across different computers | |
CN108182108A (zh) | 一种定时任务集群及其执行方法 | |
KR20090024256A (ko) | 비파괴 시간에 실행하도록 컴퓨터 마이크로-작업을 스케쥴링하는 방법, 시스템 및 장치 | |
CN107515785A (zh) | 一种内存管理方法及装置 | |
CN106034120B (zh) | 一种多进程访问可信应用的方法和系统 | |
CN105138310A (zh) | 一种并发访问控制方法和系统 | |
CN106371903A (zh) | 飞机机载可信计算平台的任务调度方法 | |
CN102662740A (zh) | 非对称多核系统及其实现方法 | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
US20240202024A1 (en) | Thread processing methods, scheduling component, monitoring component, server, and storage medium | |
US20170052891A1 (en) | Multi-core processor system and method for managing a shared cache in the multi-core processor system | |
CN112148480A (zh) | 基于多线程的任务处理方法、装置、设备及存储介质 | |
CN101770398A (zh) | 一种操作系统内核 | |
CN101976203B (zh) | 并行化仿真多线程管理方法 | |
CN105446812A (zh) | 一种多任务调度配置方法 | |
CN105933136B (zh) | 一种资源调度方法及系统 | |
CN106412088A (zh) | 一种数据同步方法及终端 | |
CN102508720B (zh) | 一种提高前处理模块和后处理模块效率的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |