CN104112000A - 一种基于机床物联网的邮箱调度方法 - Google Patents
一种基于机床物联网的邮箱调度方法 Download PDFInfo
- Publication number
- CN104112000A CN104112000A CN201410329330.5A CN201410329330A CN104112000A CN 104112000 A CN104112000 A CN 104112000A CN 201410329330 A CN201410329330 A CN 201410329330A CN 104112000 A CN104112000 A CN 104112000A
- Authority
- CN
- China
- Prior art keywords
- mailbox
- pointer
- emergency
- team
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及物联网领域中任务间的通信方法,具体地说是一种基于机床物联网的邮箱调度方法。针对传统邮箱通信机制在邮箱被阻塞时不能实时更新邮件以及无法优先处理紧急故障信息的问题,本发明设计了一种基于物联网的邮箱数据结构,并对普通邮件和紧急邮件到来时做不同的数据处理。本发明实现了机床物联网汇聚节点对邮箱中不同优先级邮件的实时调度,解决了传统邮箱通信机制在邮箱被阻塞时无法更新邮件的问题,同时实现了紧急故障信息的优先处理。
Description
技术领域
本发明涉及物联网领域中任务间的通信方法,具体地说是一种基于机床物联网的邮箱调度方法。
背景技术
传统机床传感器网络由于使用线缆连接传感器与控制器,常常会带来线缆折断,传感器布置困难等问题。通过使用基于无线传感器网络的机床物联网系统可以解决上述问题(如图1所示):机床物联网中的传感器节点可以通过无线的方式将采集到的传感信息发送给汇聚节点;汇聚节点将原始数据经过处理之后发送到本地局域网或GPRS网络上。在这一过程中,汇聚节点主要通过邮箱完成任务之间的通信和同步:射频中断处理程序通过邮箱将数据包的地址发送给数据处理任务;数据处理任务处理完原始数据之后,将新数据包的地址通过两个不同的邮箱分别发给网口发送任务以及GPRS发送任务。邮箱通过循环队列存储4字节邮件,具有开销低、效率高等优点。
但是传统的邮箱机制也存在某些缺点:当邮箱里存满邮件时,无法将新数据覆盖到旧数据上;邮件在优先级上没有差异,邮箱只能通过先入先出方式处理邮件。先入先出方式根据邮件到达邮箱的时间顺序发送邮件,实现起来比较简单:邮箱从队列首部的邮件开始发送邮件,同时将后接收的邮件依次放在循环队列的尾部。虽然先入先出方式在时序上保证了普通邮件的公平性,但无法兼顾带有突发故障信息的紧急邮件。如果按照先入先出的方式处理这些紧急邮件,可能由于它们正处于队列的尾部而使状态监测系统不能实时响应突发故障。所以,需要改进传统的邮箱机制使得这些需要优先处理的邮件能够“插队”到邮箱队列的队首。当负责邮件接收的任务由于某种原因阻塞时,邮箱会被邮件填满而不能继续接收新消息,这时,传统的邮箱机制会丢弃这些新消息,但是对于状态监测系统来说,新数据要比老数据实时性更强,更有价值。以机床物联网中的GPRS网络为例,由于GPRS传输的不稳定性,负责同步数据的邮箱可能由于邮件已满而无法继续接收射频中断服务程序发送的新数据。这时如果不能及时将汇聚节点接收到的新数据覆盖到邮箱中的旧数据上,那么当GPRS网络恢复时,网络另一端的上位机收到的监测数据将会是时效性较低的旧数据。为了解决上述两类问题,发明一种基于机床物联网的邮箱调度方法变得尤为重要。
发明内容
针对现有技术中的不足之处,本发明要解决的技术问题是提供一种基于机床物联网的邮箱调度方法,实现邮箱已满时新数据对旧数据的覆盖更新,同时能够优先处理采集到的紧急故障信息。
本发明为实现上述目的所采用的技术方案是:一种基于机床物联网的邮箱调度方法,包括以下步骤:
当普通邮件到来时,判断邮箱数组是否填满;如果邮箱数组未填满,则以先进先出的方式处理新邮件;如果邮箱数组已填满,则更新邮箱中到达时间最早的普通邮件为新邮件,在邮箱中没有紧急邮件的情况下入队指针和出队指针指向新邮件的后一个位置,在邮箱中有紧急邮件的情况下入队指针和出队指针指向需要优先处理的紧急邮件;
当紧急邮件到来时,出队指针先向前移动一个位置,随后紧急邮件被放入出队指针对应的邮箱数组元素中,出队指针的紧急邮件标志位置建立紧急标志,判断邮箱数组是否填满;如果邮箱数组未填满,则邮件总数自加一次;如果邮箱数组已填满,则入队指针指向出队指针所在的位置,以使入队指针指向紧急邮件出队之后邮箱留出的空位;
数据包处理任务读取邮箱中的邮件。
所述以先进先出的方式接收新邮件,包括以下步骤:
把新邮件放入入队指针对应的数组元素中,相应位置的邮件到达时间被更新为系统的当前时间,入队指针对应的紧急邮件标志位消除紧急标志,同时将入队指针向后移动一位,邮件总数自加一次。
所述数据包处理任务读取邮箱中的邮件,包括以下步骤:
当数据包处理任务从邮箱中读取邮件时出队指针指向即将出队的邮件,处理任务直接读取出队指针对应的数组元素的邮件,同时出队指针指向的紧急邮件标志位置清除,邮件总数自减一次。出队指针向前移动一个位置以指向下一个需要出栈的邮件。
本发明具有以下优点及有益效果:
1.实现了机床物联网对于突发性故障的优先响应。当机床出现某种突发性故障时,包含突发性故障信息的紧急邮件将会被插入到当前邮件队列队首之前。如果此时邮箱已满,紧急邮件仍将替换位于邮箱队首前一个位置的邮件。
2.实现了机床物联网中普通邮件在阻塞状况下的LRU邮箱调度算法,使邮箱满时新到来的普通邮件可以替换到达时间最早的普通邮件,保证了邮箱中传感数据的时效性,从而使系统能够实时监测机床的运行状态。
3.实现了利用循环数组队列存储邮件内容,邮件到达时间,以及紧急邮件的标志位,并通过移动in_point指针和out_point指针进行邮件的入队和出队操作。基于上述数据结构设计的物联网邮箱具有查找快,效率高,系统开销小等优点,适合应用于实时嵌入式系统中。
附图说明
图1为机床物联网组织结构图;
图2为普通邮件在阻塞状况下的LUR邮箱调度算法流程图;
图3为紧急邮件到达时的邮箱调度算法流程图;
图4为邮件接收算法流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明以物联网任务通信中的邮箱为研究对象,设计相应的结构体;设计普通邮件在阻塞状况下的LRU邮箱调度算法以实时更新旧的普通邮件数据;设计紧急邮件到达时的邮箱调度算法以保证监测系统能够优先处理这些信息;设计邮件接收算法以读取邮箱中的普通邮件和紧急邮件。
基于机床物联网的邮箱结构体mailbox主要包含以下成员变量:邮件入队指针in_point(指向队尾邮件的后一个位置);邮件出队指针out_point(指向队首邮件);邮箱现存邮件总数total;邮箱最多能够容纳的邮件数max;存放4字节数据包地址的数组msg[max];存放邮件到达时间的数组tick[max];存放邮件紧急标志位的数组flag[max]。
如图2所示,普通邮件在阻塞状况下的LRU邮箱调度算法是在邮箱数组填满邮件(包括紧急邮件)的情况下利用最近最少使用算法(LRU)实现新普通邮件对于旧普通邮件的覆盖。当邮箱每接收到一个新的普通邮件时,它会把这个邮件放入入队指针对应的数组元素msg[in_point]中,相应位置的邮件到达时间tick[in_point]被更新为系统的当前时间。紧急邮件标志位flag[in_point]也随之清零,同时将入队指针in_point会向后移动一位,邮件总数total自加一次。当total等于max时,证明此时邮箱已被填满,如果有新进入的普通邮件,则需要更新邮箱中最近最少使用的普通邮件为新邮件。由于邮箱内的邮件只会被取出邮箱时被“使用”一次,所以在邮箱里的所有邮件都可以认为使用次数为0。由此可见,邮箱中到达时间最早的普通邮件即为“最近最少使用”的普通邮件。按照数据发送任务对于普通邮件接收的时序要求,普通邮件在邮箱里依照“先入先出”(FIFO)的原则排列顺序,那么出队指针应指向最早到达邮箱的邮件(队首邮件),入队指针应指向最晚到达邮箱的邮件(队尾邮件)的后一个位置。由于邮箱的数据结构实质上是一个循环数组队列,所以在邮箱阻塞时入队指针与出队指针重合。因为新邮件的到达时间一定是所有邮件里最晚的,故入队指针应该指向新邮件的后一个位置;同时按照FIFO原则,这个位置存储的邮件也为此时邮箱中到达时间最早的邮件。所以在旧邮件被替换为新邮件之后,如果邮箱中没有紧急邮件,则算法需要更新出队指针out_point和入队指针in_point为新邮件的后一个位置。如果存在紧急邮件,根据紧急邮件的调度算法,此时出队指针和入队指针已经同时指向了需要优先处理的紧急邮件,故无需改变这两个指针的位置。
当数控机床发生某种突发性故障时,机床某些重要部件的物理信息如温度、振动等会发生大幅度的波动,从而使物联网汇聚节点收到的传感数据大于预先设置的安全阈值。为了能使监测系统优先处理突发性故障信息,射频中断服务程序会将这个数据包作为紧急邮件发送给邮箱。如图3所示,当邮箱接收到紧急邮件时,它需要将这个邮件“插队”到邮箱的队首使其能够优先出队。在算法的具体实现上,邮箱出队指针out_point先向前移动一个位置,随后紧急邮件被放入出队指针对应的数组元素msg[out_point]中,同时存放紧急标志位的数组元素flag[out_point]置1以表明邮件的性质。最后算法需要判断邮箱是否已满:当邮箱未满时(total<max),邮件总数total自加一次;当邮箱装满邮件时(total=max),in_point需要指向out_point所在的位置,以使入队指针指向紧急邮件出队之后邮箱留出的空位。
如图4所示,当数据包处理任务从邮箱中读取邮件时,由于此时出队指针out_point指向即将出队的邮件,所以处理任务直接读取msg[out_point]中存储的邮件即可,同时flag[out_point]置0以清除对应邮件的紧急标志位,邮件总数total也应自减一次。出队指针out_point随后向前移动一个位置以指向下一个需要出栈的邮件。
Claims (3)
1.一种基于机床物联网的邮箱调度方法,其特征在于,包括以下步骤:
当普通邮件到来时,判断邮箱数组是否填满;如果邮箱数组未填满,则以先进先出的方式处理新邮件;如果邮箱数组已填满,则更新邮箱中到达时间最早的普通邮件为新邮件,在邮箱中没有紧急邮件的情况下入队指针和出队指针指向新邮件的后一个位置,在邮箱中有紧急邮件的情况下入队指针和出队指针指向需要优先处理的紧急邮件;
当紧急邮件到来时,出队指针先向前移动一个位置,随后紧急邮件被放入出队指针对应的邮箱数组元素中,出队指针的紧急邮件标志位置建立紧急标志,判断邮箱数组是否填满;如果邮箱数组未填满,则邮件总数自加一次;如果邮箱数组已填满,则入队指针指向出队指针所在的位置,以使入队指针指向紧急邮件出队之后邮箱留出的空位;
数据包处理任务读取邮箱中的邮件。
2.根据权利要求1所述的一种基于机床物联网的邮箱调度方法,其特征在于,所述以先进先出的方式处理新邮件,包括以下步骤:
把新邮件放入入队指针对应的数组元素中,相应位置的邮件到达时间被更新为系统的当前时间,入队指针对应的紧急邮件标志位消除紧急标志,同时将入队指针向后移动一位,邮件总数自加一次。
3.根据权利要求1所述的一种基于机床物联网的邮箱调度方法,其特征在于,所述数据包处理任务读取邮箱中的邮件,包括以下步骤:
当数据包处理任务从邮箱中读取邮件时出队指针指向即将出队的邮件,处理任务直接读取出队指针对应的数组元素的邮件,同时出队指针指向的紧急邮件标志位置清除,邮件总数自减一次。出队指针向前移动一个位置以指向下一个需要出栈的邮件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410329330.5A CN104112000A (zh) | 2014-07-11 | 2014-07-11 | 一种基于机床物联网的邮箱调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410329330.5A CN104112000A (zh) | 2014-07-11 | 2014-07-11 | 一种基于机床物联网的邮箱调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104112000A true CN104112000A (zh) | 2014-10-22 |
Family
ID=51708791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410329330.5A Pending CN104112000A (zh) | 2014-07-11 | 2014-07-11 | 一种基于机床物联网的邮箱调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104112000A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110380953A (zh) * | 2019-06-27 | 2019-10-25 | 中国航空工业集团公司雷华电子技术研究所 | 一种邮件的数据结构及其发送、接收方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101711386A (zh) * | 2007-04-24 | 2010-05-19 | 丹吉尔股份有限公司 | 在外部和/或本地电子邮件服务器和/或无线设备之间同步电子邮件消息 |
CN101951348A (zh) * | 2010-09-17 | 2011-01-19 | 北京百纳科创信息技术有限公司 | 一种邮件推送系统及其推送方法 |
CN103412755A (zh) * | 2013-08-16 | 2013-11-27 | 深圳东原电子有限公司 | 一种硬件实时操作系统 |
CN103559045A (zh) * | 2013-11-21 | 2014-02-05 | 青岛大学 | 一种硬件实时操作系统 |
-
2014
- 2014-07-11 CN CN201410329330.5A patent/CN104112000A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101711386A (zh) * | 2007-04-24 | 2010-05-19 | 丹吉尔股份有限公司 | 在外部和/或本地电子邮件服务器和/或无线设备之间同步电子邮件消息 |
CN101951348A (zh) * | 2010-09-17 | 2011-01-19 | 北京百纳科创信息技术有限公司 | 一种邮件推送系统及其推送方法 |
CN103412755A (zh) * | 2013-08-16 | 2013-11-27 | 深圳东原电子有限公司 | 一种硬件实时操作系统 |
CN103559045A (zh) * | 2013-11-21 | 2014-02-05 | 青岛大学 | 一种硬件实时操作系统 |
Non-Patent Citations (1)
Title |
---|
苏宪利等: "《基于RT-thread的机床物联网系统设计与实现》", 《组合机床与自动化加工技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110380953A (zh) * | 2019-06-27 | 2019-10-25 | 中国航空工业集团公司雷华电子技术研究所 | 一种邮件的数据结构及其发送、接收方法 |
CN110380953B (zh) * | 2019-06-27 | 2021-10-22 | 中国航空工业集团公司雷华电子技术研究所 | 一种邮件的发送、接收方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2507951B1 (en) | An apparatus and a method of receiving and storing data packets controlled by a central controller | |
EP2461527B1 (en) | Route switching device and data cashing method thereof | |
CN106130930B (zh) | 一种数据帧预入队处理的装置及方法 | |
US9407581B2 (en) | Distributed processing of data frames by multiple adapters using time stamping and a central controller | |
CA2361895A1 (en) | Fifo-based network interface supporting out-of-order processing | |
CN105376129B (zh) | 一种1394总线事务层-链路层数据包发送电路及方法 | |
CN108462654B (zh) | 增强型gjb289a总线通信管理和调度方法 | |
US20130311609A1 (en) | An apparatus and a method for receiving and forwarding data packets | |
US8050265B2 (en) | Multicast data packet switching method | |
CN102662908A (zh) | 对片上多核系统中的高速接口进行控制的方法及系统 | |
EP2507952A1 (en) | An assembly and a method of receiving and storing data while saving bandwidth by controlling updating of fill levels of queues | |
CN101699795A (zh) | 一种报文拥塞处理方法及系统 | |
CN102143006A (zh) | 通讯设备中的接口拓扑控制方法、系统及装置 | |
CN108664335B (zh) | 通过代理进行队列通信的方法与装置 | |
CN101022414B (zh) | 一种报文转发的方法和装置 | |
CN103685065A (zh) | 一种基于时间的通信调度方法 | |
CN101232508B (zh) | 加速多生成树协议网络拓扑收敛的方法及设备 | |
CN105450520A (zh) | 报文处理方法和装置、建立聚合隧道的方法和装置 | |
CN104112000A (zh) | 一种基于机床物联网的邮箱调度方法 | |
CN104618152A (zh) | 一种会话表老化方法及系统 | |
EP1094637A3 (en) | IEEE 1394 bus interface | |
CN102710524B (zh) | 一种多协议网络报文传输保序系统的实现方法 | |
CN105656814B (zh) | 一种sdn网络转发系统与方法 | |
CN102299861B (zh) | 一种报文流量控制方法 | |
CN105072048A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141022 |
|
WD01 | Invention patent application deemed withdrawn after publication |