CN102647344A - 嵌入式分布式系统中报文发送方法 - Google Patents
嵌入式分布式系统中报文发送方法 Download PDFInfo
- Publication number
- CN102647344A CN102647344A CN2012100898858A CN201210089885A CN102647344A CN 102647344 A CN102647344 A CN 102647344A CN 2012100898858 A CN2012100898858 A CN 2012100898858A CN 201210089885 A CN201210089885 A CN 201210089885A CN 102647344 A CN102647344 A CN 102647344A
- Authority
- CN
- China
- Prior art keywords
- task
- message
- application module
- distribution system
- transmitting method
- 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
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络通信技术。本发明解决了现有嵌入式分布式系统中报文交互效率低下的问题,提供了一种嵌入式分布式系统中报文发送方法,其技术方案可概括为:首先创建一个比所有上层应用模块任务的优先级低的发送调度任务,然后上层应用模块任务在准备好待发送的报文时,释放全局的同步信号量,唤醒发送调度任务,系统再根据优先级对发送调度任务进行调度后,发送调度任务唤醒报文发送任务,最后报文发送任务发送待发送的报文。本发明的有益效果是:提高了报文发送效率,适用于嵌入式分布式系统。
Description
技术领域
本发明涉及网络通信技术,特别涉及网络通信设备的嵌入式分布式系统中报文发送方法的技术。
背景技术
在嵌入式分布式软件开发过程中,为了使各分布式部件间能够协调、高效的运行。内部报文的交互必不可少。而在实时的嵌入式系统中,执行效率和灵活性是我们关注的因素之一,如果内部分布式部件间报文的交互效率低下,必然会影响到上层应用模块的性能,而交由上层应用模块来容忍这样的效率,必然带来应用模块的复杂度;在嵌入式分布式系统中,内部报文的交互是相当频繁的,其报文交互效率的高低直接影响设备的性能。现有技术中,报文发送任务一般优先级较高,所以如果上层应用模块有报文发送,就会调度报文发送任务,报文发送任务会频繁的占用处理器资源进行任务切换,而任务切换会损失系统的效率,所以在这种机制下报文的发送效率低下。
发明内容
本发明的目的就是克服目前嵌入式分布式系统中报文交互效率低下的缺点,提供一种嵌入式分布式系统中报文发送方法。
本发明解决所述技术问题,采用的技术方案是,提供一种嵌入式分布式系统中报文发送方法,包括以下步骤:
步骤1.创建一个比所有上层应用模块任务的优先级低的发送调度任务;
步骤2.上层应用模块任务在准备好待发送的报文时,释放全局的同步信号量,唤醒发送调度任务;
步骤3.系统根据优先级对发送调度任务进行调度后,发送调度任务唤醒报文发送任务;
步骤4.报文发送任务发送步骤2中待发送的报文。
具体的,步骤2中,所述全局同步信号为全局的二进制信号。
进一步的,步骤2和步骤3之间还包括以下步骤:
步骤5.系统判断是否超过设定的时间阈值后,发送调度任务没有得到调度,如是,则自动唤醒报文发送任务并进入步骤4,否则进入步骤3。
具体的,步骤5中,所述设定的时间阈值在30-120秒之间。
具体的,步骤2包括以下步骤:
步骤21.上层应用模块任务在需要发送报文时,将报文添加到报文发送队列中;
步骤22.释放全局同步信号,用于唤醒发送调度任务,此时发送调度任务处于准备状态。
再进一步的,步骤2和步骤3之间还包括以下步骤:
步骤6.系统判断报文发送队列是否已满,如是,则系统自动唤醒报文发送任务并进入步骤4,否则进入步骤3。
再进一步的,所述方法还包括以下步骤:步骤7.系统为上层应用模块任务提供唤醒报文发送任务的接口,若上层应用模块任务未选择唤醒报文发送任务则进入步骤3,若上层应用模块任务选择唤醒报文发送任务则唤醒报文发送任务并进入步骤4。
具体的,步骤4中,报文发送任务发送报文发送队列中的所有报文。
本发明的有益效果是,通过上述嵌入式分布式系统中报文发送方法,由于发送调度任务为低优先级,必须在上层应用模块对应的任务已处理完毕且系统空闲时才能获得处理器资源从而唤醒高优先级的报文发送任务,进而发送报文,避免了任务频繁切换时损失系统的处理效率,即提高了报文发送效率,且在系统空闲下来就立即进行发送,避免在时间上的浪费,提高了嵌入式系统的效率。
附图说明
图1是本发明实施例的报文发送流程图。
具体实施方式
下面结合实施例及附图,详细描述本发明的技术方案。
本发明的嵌入式分布式系统中报文发送方法中,首先创建一个低优先级的发送调度任务,用于唤醒应用模块的报文发送任务,即该发送调度任务的优先级比所有上层应用模块任务的优先级都低,系统还要创建一个较高优先级的报文发送任务,然后在上层应用模块任务在准备好待发送的报文时,释放一个全局的同步信号量,用于唤醒发送调度任务,此时由于发送调度任务为低优先级,因此发送调度任务处于准备状态,但由于发送调度任务的优先级较低,所以不能保证被唤醒的发送调度任务立即可以调度。当所有上层应用模块任务调度完毕后,且系统空闲时,系统根据优先级对发送调度任务进行调度,发送调度任务才能得到处理器资源开始执行,从而唤醒报文发送任务,最后报文发送任务发送报文。
实施例
本发明实施例的报文发送流程图参见图1。本实施例的嵌入式分布式系统中报文发送方法,包括以下步骤:
步骤101,创建一个比所有上层应用模块任务的优先级低的发送调度任务。
步骤102,上层应用模块任务在准备好待发送的报文时,释放全局的同步信号量,唤醒发送调度任务。本步骤中,全局的同步信号量为二进制信号量,在上层应用模块任务需要发送报文时,先将报文添加到报文发送队列中,再释放该全局的同步信号量,用于唤醒发送调度任务,此时由于发送调度任务为低优先级,因此发送调度任务处于准备状态。
步骤103,统根据优先级对发送调度任务进行调度后,发送调度任务唤醒报文发送任务;
这里由于有可能出现系统持续繁忙状态时,造成发送调度任务由于优先级低会得不到处理器资源去运行,导致报文发送任务无法被调度去发送报文,因此为了优化本发明的实施效果可以在步骤B与C之间加入如下步骤:系统可以时刻判断是否超过设定的时间阈值后,发送调度任务没有得到调度,如是,则自动唤醒报文发送任务并进入步骤104,否则进入步骤103。该设定的时间阈值可以为30-120秒之间的范围,例如设定为90秒,该具体值可以根据具体的系统资源情况进行设置。
优选地,本发明实施例的嵌入式分布式系统中报文发送方法也可以加入如下步骤:系统为上层应用模块任务提供唤醒报文发送任务的接口,若上层应用模块任务未选择唤醒报文发送任务则进入步骤103,若上层应用模块任务选择唤醒报文发送任务则唤醒报文发送任务并进入步骤104。
优选地,本发明实施例的嵌入式分布式系统中报文发送方法也可以加入如下步骤:如是,则系统自动唤醒报文发送任务并进入步骤4,否则进入步骤3。
当然,也可以同时加入上述三个步骤以更好的避免系统持续繁忙而无法发出报文的情况。
步骤104,报文发送任务发送报文发送队列中的所有报文。
在分布式路由器中(以vxWorks操作系统为例),如上层应用模块组播的任务优先级为120,分布式数据库的任务优先级为50,在没有本发明的机制下,组播用户会频繁调用分布式数据库发送任务,此时报文是一个一个发送到目的分布式部件上的;而使用本发明的任务调度机制后,只有当组播用户退出后,分布式数据库的发送调度任务才会唤醒发送任务,所以报文是批量下发的,报文发送效率得到大大的提高。
Claims (8)
1.嵌入式分布式系统中报文发送方法,其特征在于,包括以下步骤:
步骤1.创建一个比所有上层应用模块任务的优先级低的发送调度任务;
步骤2.上层应用模块任务在准备好待发送的报文时,释放全局的同步信号量,唤醒发送调度任务;
步骤3.系统根据优先级对发送调度任务进行调度后,发送调度任务唤醒报文发送任务;
步骤4.报文发送任务发送步骤2中待发送的报文。
2.如权利要求1所述的嵌入式分布式系统中报文发送方法,其特征在于,步骤2中,所述全局的同步信号量为二进制信号量。
3.如权利要求1所述的嵌入式分布式系统中报文发送方法,其特征在于,步骤2和步骤3之间还包括以下步骤:
步骤5.系统判断是否超过设定的时间阈值后,发送调度任务没有得到调度,如是,则自动唤醒报文发送任务并进入步骤4,否则进入步骤3。
4.如权利要求4所述的嵌入式分布式系统中报文发送方法,其特征在于,所述设定的时间阈值在30-120秒之间。
5.如权利要求1-4任一项所述的嵌入式分布式系统中报文发送方法,其特征在于,步骤2包括以下步骤:
步骤21.上层应用模块任务在需要发送报文时,将报文添加到报文发送队列中;
步骤22.释放全局同步信号,唤醒发送调度任务,发送调度任务进入准备状态。
6.如权利要求5所述的嵌入式分布式系统中报文发送方法,其特征在于,步骤2和步骤3之间还包括以下步骤:
步骤6.系统判断报文发送队列是否已满,如是,则系统自动唤醒报文发送任务并进入步骤4,否则进入步骤3。
7.如权利要求5所述的嵌入式分布式系统中报文发送方法,其特征在于,还包括以下步骤:
步骤7.系统为上层应用模块任务提供唤醒报文发送任务的接口,若上层应用模块任务未选择唤醒报文发送任务则进入步骤3,若上层应用模块任务选择唤醒报文发送任务则唤醒报文发送任务并进入步骤4。
8.如权利要求5所述的嵌入式分布式系统中报文发送方法,其特征在于,步骤4中,报文发送任务发送报文发送队列中的所有报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210089885.8A CN102647344B (zh) | 2012-03-30 | 2012-03-30 | 嵌入式分布式系统中报文发送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210089885.8A CN102647344B (zh) | 2012-03-30 | 2012-03-30 | 嵌入式分布式系统中报文发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102647344A true CN102647344A (zh) | 2012-08-22 |
CN102647344B CN102647344B (zh) | 2014-12-10 |
Family
ID=46659928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210089885.8A Active CN102647344B (zh) | 2012-03-30 | 2012-03-30 | 嵌入式分布式系统中报文发送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102647344B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399096A (zh) * | 2018-02-08 | 2018-08-14 | 合肥国轩高科动力能源有限公司 | 一种电池管理系统多任务调度时序监控方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143761A1 (en) * | 2005-12-15 | 2007-06-21 | Yong Deng | Task scheduler system and method for managing tasks in an embedded system without a real time operating system |
CN101226487A (zh) * | 2008-01-30 | 2008-07-23 | 中国船舶重工集团公司第七〇九研究所 | 基于嵌入式Linux操作系统的内核级线程库的实现方法 |
CN101604259A (zh) * | 2009-06-10 | 2009-12-16 | 深圳市共进电子有限公司 | 一种基于嵌入式系统的多进程同步调度的方法 |
CN101695045A (zh) * | 2009-09-27 | 2010-04-14 | 中兴通讯股份有限公司 | 用于实现以太网报文发送的方法及装置 |
US20110088037A1 (en) * | 2009-10-13 | 2011-04-14 | Roman Glistvain | Single-stack real-time operating system for embedded systems |
CN102043667A (zh) * | 2010-11-25 | 2011-05-04 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式操作系统的任务调度方法 |
CN102200929A (zh) * | 2010-03-26 | 2011-09-28 | 迈普通信技术股份有限公司 | 任务间异步通信的处理方法及多任务异步通信处理系统 |
-
2012
- 2012-03-30 CN CN201210089885.8A patent/CN102647344B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143761A1 (en) * | 2005-12-15 | 2007-06-21 | Yong Deng | Task scheduler system and method for managing tasks in an embedded system without a real time operating system |
CN101226487A (zh) * | 2008-01-30 | 2008-07-23 | 中国船舶重工集团公司第七〇九研究所 | 基于嵌入式Linux操作系统的内核级线程库的实现方法 |
CN101604259A (zh) * | 2009-06-10 | 2009-12-16 | 深圳市共进电子有限公司 | 一种基于嵌入式系统的多进程同步调度的方法 |
CN101695045A (zh) * | 2009-09-27 | 2010-04-14 | 中兴通讯股份有限公司 | 用于实现以太网报文发送的方法及装置 |
US20110088037A1 (en) * | 2009-10-13 | 2011-04-14 | Roman Glistvain | Single-stack real-time operating system for embedded systems |
CN102200929A (zh) * | 2010-03-26 | 2011-09-28 | 迈普通信技术股份有限公司 | 任务间异步通信的处理方法及多任务异步通信处理系统 |
CN102043667A (zh) * | 2010-11-25 | 2011-05-04 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式操作系统的任务调度方法 |
Non-Patent Citations (2)
Title |
---|
李慧等: "VxWorks下基于多任务调度的分析和研究", 《微机发展》 * |
武华等: "基于VxWorks的多任务程序涉及", 《计算机技术与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399096A (zh) * | 2018-02-08 | 2018-08-14 | 合肥国轩高科动力能源有限公司 | 一种电池管理系统多任务调度时序监控方法及系统 |
CN108399096B (zh) * | 2018-02-08 | 2021-06-11 | 合肥国轩高科动力能源有限公司 | 一种电池管理系统多任务调度时序监控方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102647344B (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105657639B (zh) | 双模设备及其实现同时通信的方法 | |
CN101142568B (zh) | 用于调度设备管理的系统和方法 | |
CN101453716B (zh) | 基于短信应用网关的短信下发调度系统 | |
CN103425225B (zh) | 便携数据设备操作系统中的应用程序装置及其运行方法 | |
CN101604264B (zh) | 超级计算机的任务调度方法及系统 | |
CN101621833B (zh) | 一种报文流量控制方法和基站控制器 | |
CN103248583B (zh) | 一种基于有限深度的先进先出报文队列管理方法及装置 | |
CN103532823A (zh) | 物联网消息处理方法、装置及系统 | |
CN102110022B (zh) | 基于优先级调度的传感器网络嵌入式操作系统 | |
CN101578832A (zh) | 用于向无线设备传送系统状态信息变化的装置和方法 | |
CN102520936A (zh) | 一种在Android上实现Socket通讯服务共享的方法 | |
CN102223655A (zh) | 移动通信的底层多线程数据传输方法 | |
CN106550438A (zh) | 限制定期唤醒的方法及系统、移动设备 | |
CN102609307A (zh) | 多核多线程双操作系统网络设备及其控制方法 | |
CN109298775A (zh) | 一种终端设备及任务处理方法 | |
CN104853440A (zh) | 一种rrc状态机实现方法及装置 | |
CN104346563A (zh) | 一种信息处理的方法及电子设备 | |
CN107329842B (zh) | 基于Qt信号槽机制的获取数据的方法及终端 | |
CN101917687B (zh) | 一种短信下发方法和短信中心 | |
CN105094990A (zh) | 一种高效的实现大规模数据交换的系统及其方法 | |
CN102595565A (zh) | 集群通信系统及该系统的寻呼方法、网络侧设备及终端 | |
CN101841490A (zh) | 一种即时通讯系统中共享信息的发布方法及系统 | |
CN103582149A (zh) | Volte的资源调度方法及装置 | |
CN102647344B (zh) | 嵌入式分布式系统中报文发送方法 | |
CN108462650B (zh) | 一种基于tte交换机的输出单元 |
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 |