CN109413064A - 单网卡VxWorks系统与多主机间应用层协议报文处理方法 - Google Patents
单网卡VxWorks系统与多主机间应用层协议报文处理方法 Download PDFInfo
- Publication number
- CN109413064A CN109413064A CN201811242059.6A CN201811242059A CN109413064A CN 109413064 A CN109413064 A CN 109413064A CN 201811242059 A CN201811242059 A CN 201811242059A CN 109413064 A CN109413064 A CN 109413064A
- Authority
- CN
- China
- Prior art keywords
- data
- hosts
- vxworks system
- application layer
- layer protocol
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了单网卡VxWorks系统与多主机间应用层协议报文处理方法,依据VxWorks系统提供的任务优先级,保证数据的接收不会丢失;根据IP地址不同进行数据分类,将数据分解成多个不同子数据块;使用信号量保证数据的并行处理,缩小数据处理范围;本发明方法数据结构与处理逻辑清晰,能够方便快速区分和定位VxWorks任务异常的对应通信对象与数据,便于问题追踪定位,为问题解决提供帮助,从而加快了产品研发的进度。该方法在实际产品开发中取得了效果较好。
Description
技术领域
本发明涉及嵌入式操作系统相关技术领域,具体来说,涉及单网卡VxWorks系统与多主机间应用层协议报文处理方法。
背景技术
嵌入式技术领域中,VxWorks系统是一种实时性嵌入式操作系统,具有较好的实时性,应用于军工领域较多。可裁剪是嵌入式系统重要特点,操作系统一般运行在特定的硬件平台上,并且与多个主机间进行网络通信,实现系统设备间的协议报文交互,最终完成系统设备间行为理解。然而带多网卡的硬件平台比单网卡的硬件平台费用要昂贵。因此,在满足需求前提下,单网卡VxWorks系统与多个主机间进行网络通信,是一种较好、较为经济的硬件平台配置。然而,当需要与VxWorks系统进行交互的主机单元越多,出现报文协议结构差异性越大,对于VxWorks系统应用层报文处理越复杂。目前,VxWorks系统调试手段有限,当处理接收到网络数据时VxWorks任务出现异常,很难快速追踪和定位问题,对产品的研发周期会带来一定影响。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出单网卡VxWorks系统与多主机间应用层协议报文处理方法。
本发明的技术方案是这样实现的:
单网卡VxWorks系统与多主机间应用层协议报文处理方法,包括以下步骤:
S1:定义包括 S1~Sn的n个信号量S、包括R0~Rn的n+1个任务函数R、包括ID1~IDn的n个不同IP地址标识ID、包括B1~Bn的n种不同的数据队列B;
S2:完成n+1个任务函数R初始化,其中:R0用于接收网口数据,为双亲节点,其任务优先级大于为兄弟节点的R1~Rn;
S3:当网卡接收数据时,任务函数R0根据对方主机IP地址,标识出唯一的地址IDx,并在当前R0循环中,给出对应信号量Sx,完成数据分类;其中:0≤x≤n;
S4:当R1~Rn中对应任务Rx获得信号量Sx时,判断当前报文长度L:当L大于0时,将当前报文进行数据存储到数据队列Bx;其中:0≤x≤n;
S5:对步骤S4存储数据队列Bx进行对应报文解析,完成对方主机IP地址为IDx的协议所需操作T;
S6:当步骤S5解析完毕一包后,判断数据队列Bx中下一包数据长度是否大于0,当小于等于0则结束本次报文解析。
进一步的,步骤S4中,判断当前报文长度L:当L小于等于0时则跳过步骤S5和步骤S6,继续等待信号量S。
进一步的,步骤S6中,判断数据队列Bx中下一包数据长度是否大于0,当大于0则对下一包数据执行步骤S5进行数据处理。
进一步的,其中:n的值等于VxWorks系统进行通信的IP地址数量。
进一步的,步骤S5中;T包括T1~Tm。
本发明的有益效果:依据VxWorks系统提供的任务优先级,保证数据的接收不会丢失;根据IP地址不同进行数据分类,将数据分解成多个不同子数据块;使用信号量保证数据的并行处理,缩小数据处理范围;本发明方法数据结构与处理逻辑清晰,能够方便快速区分和定位VxWorks任务异常的对应通信对象与数据,便于问题追踪定位,为问题解决提供帮助,从而加快了产品研发的进度。该方法在实际产品开发中取得了效果较好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明单网卡VxWorks系统与多主机间应用层协议报文处理方法的基本流程框图;
图2是根据本发明单网卡VxWorks系统与多主机间应用层协议报文处理方法的各子流程框图;
图3是根据本发明单网卡VxWorks系统与多主机间应用层协议报文处理方法中树型报文数据分类与数据处理模型示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1和图3所示,根据本发明实施例的单网卡VxWorks系统与多主机间应用层协议报文处理方法,依据VxWorks系统提供的任务优先级,保证数据的接收不会丢失;根据IP地址不同进行数据分类,将数据分解成多个不同子数据块;使用信号量保证数据的并行处理,缩小数据处理范围;包括以下步骤:
VxWorks系统镜像加载起来后,执行应用程序,开始设置系统时间戳,并完成本机网卡IP设置;
S1:定义包括 S1~Sn的n个信号量S、包括R0~Rn的n+1个任务函数R、包括ID1~IDn的n个不同IP地址标识ID、包括B1~Bn的n种不同的数据队列B;
S2:完成n+1个任务函数R初始化,其中:R0用于接收网口数据,为双亲节点,其任务优先级大于为兄弟节点的R1~Rn;
S3:当网卡接收数据时,任务函数R0根据对方主机IP地址,标识出唯一的地址IDx,并在当前R0循环中,使用VxWorks系统提供的semGive函数给出对应信号量Sx,完成数据分类;其中:0≤x≤n;
如图2和图3所示,子流程中:
S4:当R1~Rn中对应任务Rx获得信号量Sx时,判断当前报文长度L:当L大于0时,将当前报文进行数据存储到数据队列Bx;其中:0≤x≤n;
S5:对步骤S4存储数据队列Bx进行对应报文解析,完成对方主机IP地址为IDx的协议所需操作T;
S6:当步骤S5解析完毕一包后,判断数据队列Bx中下一包数据长度是否大于0,当小于等于0则结束本次报文解析。
本实施例中,步骤S4中,判断当前报文长度L:当L小于等于0时则跳过步骤S5和步骤S6,继续等待信号量S。
本实施例中,步骤S6中,判断数据队列Bx中下一包数据长度是否大于0,当大于0则对下一包数据执行步骤S5进行数据处理。
本实施例中,其中:n的值等于VxWorks系统进行通信的IP地址数量。
本实施例中,步骤S5中;T包括T1~Tm,其中T对应树型结构中的子孙节点。
由此可见,借助于本发明的上述技术方案,依据VxWorks系统提供的任务优先级,保证数据的接收不会丢失;根据IP地址不同进行数据分类,将数据分解成多个不同子数据块;使用信号量保证数据的并行处理,缩小数据处理范围;本发明方法数据结构与处理逻辑清晰,能够方便快速区分和定位VxWorks任务异常的对应通信对象与数据,便于问题追踪定位,为问题解决提供帮助,从而加快了产品研发的进度。该方法在实际产品开发中取得了效果较好。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.单网卡VxWorks系统与多主机间应用层协议报文处理方法,其特征在于,包括以下步骤:
S1:定义包括 S1~Sn的n个信号量S、包括R0~Rn的n+1个任务函数R、包括ID1~IDn的n个不同IP地址标识ID、包括B1~Bn的n种不同的数据队列B;
S2:完成n+1个任务函数R初始化,其中:R0用于接收网口数据,为双亲节点,其任务优先级大于为兄弟节点的R1~Rn;
S3:当网卡接收数据时,任务函数R0根据对方主机IP地址,标识出唯一的地址IDx,并在当前R0循环中,给出对应信号量Sx,完成数据分类;其中:0≤x≤n;
S4:当R1~Rn中对应任务Rx获得信号量Sx时,判断当前报文长度L:当L大于0时,将当前报文进行数据存储到数据队列Bx;其中:0≤x≤n;
S5:对步骤S4存储数据队列Bx进行对应报文解析,完成对方主机IP地址为IDx的协议所需操作T;
S6:当步骤S5解析完毕一包后,判断数据队列Bx中下一包数据长度是否大于0,当小于等于0则结束本次报文解析。
2.根据权利要求1所述的单网卡VxWorks系统与多主机间应用层协议报文处理方法,其特征在于,步骤S4中,判断当前报文长度L:当L小于等于0时则跳过步骤S5和步骤S6,继续等待信号量S。
3.根据权利要求1所述的单网卡VxWorks系统与多主机间应用层协议报文处理方法,其特征在于,步骤S6中,判断数据队列Bx中下一包数据长度是否大于0,当大于0则对下一包数据执行步骤S5进行数据处理。
4.根据权利要求1所述的单网卡VxWorks系统与多主机间应用层协议报文处理方法,其特征在于,其中:n的值等于VxWorks系统进行通信的IP地址数量。
5.根据权利要求1所述的单网卡VxWorks系统与多主机间应用层协议报文处理方法,其特征在于,步骤S5中;T包括T1~Tm。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811242059.6A CN109413064B (zh) | 2018-10-24 | 2018-10-24 | 单网卡VxWorks系统与多主机间应用层协议报文处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811242059.6A CN109413064B (zh) | 2018-10-24 | 2018-10-24 | 单网卡VxWorks系统与多主机间应用层协议报文处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109413064A true CN109413064A (zh) | 2019-03-01 |
CN109413064B CN109413064B (zh) | 2021-04-27 |
Family
ID=65469028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811242059.6A Active CN109413064B (zh) | 2018-10-24 | 2018-10-24 | 单网卡VxWorks系统与多主机间应用层协议报文处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109413064B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753584A (zh) * | 2010-01-09 | 2010-06-23 | 东方电子股份有限公司 | VxWorks系统下提高智能变电站快速报文处理速度的方法 |
CN101872317A (zh) * | 2010-07-16 | 2010-10-27 | 山东中创软件工程股份有限公司 | VxWorks多任务同步与通信方法 |
EP2034408A3 (en) * | 2007-09-21 | 2010-11-10 | Mitel Networks Corporation | Centralized polling service |
CN102571559A (zh) * | 2011-12-12 | 2012-07-11 | 北京交控科技有限公司 | 基于时间触发的网络报文发送方法 |
CN107273141A (zh) * | 2017-07-10 | 2017-10-20 | 无锡走向智能科技有限公司 | 嵌入式实时操作系统 |
CN107992370A (zh) * | 2017-11-28 | 2018-05-04 | 上海机电工程研究所 | VxWorks平台多任务软件框架实现方法 |
-
2018
- 2018-10-24 CN CN201811242059.6A patent/CN109413064B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2034408A3 (en) * | 2007-09-21 | 2010-11-10 | Mitel Networks Corporation | Centralized polling service |
CN101753584A (zh) * | 2010-01-09 | 2010-06-23 | 东方电子股份有限公司 | VxWorks系统下提高智能变电站快速报文处理速度的方法 |
CN101872317A (zh) * | 2010-07-16 | 2010-10-27 | 山东中创软件工程股份有限公司 | VxWorks多任务同步与通信方法 |
CN102571559A (zh) * | 2011-12-12 | 2012-07-11 | 北京交控科技有限公司 | 基于时间触发的网络报文发送方法 |
CN107273141A (zh) * | 2017-07-10 | 2017-10-20 | 无锡走向智能科技有限公司 | 嵌入式实时操作系统 |
CN107992370A (zh) * | 2017-11-28 | 2018-05-04 | 上海机电工程研究所 | VxWorks平台多任务软件框架实现方法 |
Non-Patent Citations (1)
Title |
---|
王宝欣,谢华,王金龙,彭霖: "基于vxWorks的仿真记录软件架构分析", 《电脑知识与技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109413064B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763440B (zh) | 一种报文转发的方法和装置 | |
CN107005435B (zh) | 一种网络服务描述符上架方法及装置 | |
CN101820359B (zh) | 一种网络设备的故障处理方法和设备 | |
CN105574109A (zh) | 一种数据库同步方法、同步设备及系统 | |
CN109062681A (zh) | 一种周期性循环任务的执行方法、系统、装置及存储介质 | |
CN105893323A (zh) | 一种读数据的方法及设备 | |
CN105847108A (zh) | 容器间的通信方法及装置 | |
CN103051470A (zh) | 一种集群及其磁盘心跳的控制方法 | |
CN106878072A (zh) | 一种报文传输方法和装置 | |
CN104038384A (zh) | 一种基于gbf的追踪溯源系统及其工作方法 | |
CN101771548A (zh) | 文件同步方法及系统 | |
CN108667732A (zh) | 一种报文转发方法及装置 | |
CN105959078A (zh) | 一种集群时间同步方法、集群及时间同步系统 | |
CN105429946A (zh) | 一种基于sdn虚拟交换机的防伪造ip的系统及方法 | |
CN103995901B (zh) | 一种确定数据节点失效的方法 | |
CN105991371A (zh) | 一种故障检测方法及装置 | |
CN104243473B (zh) | 一种数据传输的方法以及装置 | |
CN109413064A (zh) | 单网卡VxWorks系统与多主机间应用层协议报文处理方法 | |
AT512665A1 (de) | Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem | |
CN102123079B (zh) | 一种事务报文处理方法和装置 | |
CN105975276B (zh) | 分布式构建系统及方法 | |
CN107306289A (zh) | 一种基于云计算的负载均衡方法及设备 | |
CN106254236A (zh) | 一种基于tcp事件的多服务器主从机工作方法 | |
CN104184729A (zh) | 一种报文处理方法和装置 | |
CN109062758A (zh) | 一种服务器系统宕机处理方法、系统、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |