CN114640385B - 一种基于北斗通信系统的数据传输方法及电子设备 - Google Patents
一种基于北斗通信系统的数据传输方法及电子设备 Download PDFInfo
- Publication number
- CN114640385B CN114640385B CN202210130771.7A CN202210130771A CN114640385B CN 114640385 B CN114640385 B CN 114640385B CN 202210130771 A CN202210130771 A CN 202210130771A CN 114640385 B CN114640385 B CN 114640385B
- Authority
- CN
- China
- Prior art keywords
- data
- sending
- queue
- information
- received
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/03—Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种基于北斗通信系统的数据传输方法及电子设备,涉及北斗信息传输的技术领域,该方法包括获取用户操作信息和目标设备发送的外来数据,将已收信息加入数据列队;生成外发数据并确定外发数据的发送级别;将已收信息生成的外发数据加入回执列队;将用户操作信息生成的外发数据的属性信息加入待发列队;当发送列队为空且待发列队不存在状态为发送中的外发数据时,从数据列队选取第一对象,从回执列队选取第二对象,判断第一对象等待时间是否早于第二对象;若不早于,则将第二对象剪切到发送列队;若早于,则将第一对象复制到发送列队;基于北斗通信系统发送频率将发送列队中外发数据发送给目标设备。本申请具有提高通信效率的效果。
Description
技术领域
本申请涉及北斗信息传输的技术领域,尤其是涉及一种基于北斗通信系统的数据传输方法、装置、电子设备及介质。
背景技术
北斗卫星导航系统是我国自行研制的全球卫星导航系统,具备短报文通信能力,解决了在现有通信方式无法使用时进行数据传输的问题。因此,北斗卫星导航系统在各行各业均得到了广泛应用。
目前,在航运领域使用北斗通信时,岸端与船端之间进行通信,岸端向目标设备发送数据,同时目标设备也向岸端发送数据,从而双方实现通信。但由于目标设备的数量较多且发送的数据较为复杂,在通信过程中处理器的运算效率较低,从而导致通信效率较低。
发明内容
为了提高通信效率,本申请提供一种基于北斗通信系统的数据传输方法及电子设备。
第一方面,本申请提供一种基于北斗通信系统的数据传输方法,采用如下的技术方案:
一种基于北斗通信系统的数据传输方法,包括:
获取用户操作信息和目标设备发送的外来数据,所述外来数据包括已收回执和已收信息,将所述已收信息加入数据列队中;
基于所述用户操作信息、所述已收信息分别生成对应的外发数据,并确定由所述用户操作信息生成的外发数据的发送级别;
将由所述已收信息生成的外发数据作为发送回执,并加入回执列队中;
将由所述用户操作信息生成的外发数据作为发送信息,且将所述发送信息的属性信息加入待发列队中,并更新所述发送信息的状态为待发送,将所述发送信息处理为满足通讯容量限制的至少一个子数据,并加入所述数据列队中;
每当所述发送列队为空,且所述待发列队不存在状态为发送中的外发数据时,根据所述待发列队中存储的属性信息从所述数据列队中依序选取状态为待发送的、发送级别最高且等待时间最早的一个外发数据作为第一对象,从所述回执列队中依序选取等待时间最早的一个外发数据作为第二对象,判断所述第一对象的等待时间是否早于所述第二对象的等待时间;
若所述第一对象的等待时间不早于所述第二对象的等待时间,则将所述回执列队内的所述第二对象剪切到所述发送列队中;
若所述第一对象的等待时间早于所述第二对象的等待时间,则将所述数据列队内的所述第一对象复制到所述发送列队中;
基于北斗通信系统的发送频率,将所述发送列队中的外发数据按照入队时间发送给所述目标设备。
通过采用上述技术方案,确定由用户操作信息生成的外发数据的发送级别,对数据进行分级发送能够保证级别高的消息优先发送。将发送信息处理为满足通讯容量限制的至少一个子数据,以保证发送信息能够通过北斗通信系统进行发送。将已收信息加入数据列队中,将由已收信息生成的外发数据作为发送回执加入回执列队中,将由用户操作信息生成的外发数据作为发送信息,且将发送信息的属性信息加入待发列队中,将发送信息加入数据列队中。将不同种类的数据储存至不同的列队中,且部分列队仅存储属性信息,能够提高处理器的读取速度,最终提高处理器的运算效率。
在另一种可能实现的方式中,所述方法还包括:
每当所述发送信息被加入所述发送列队时,记录所述发送信息的加入次数,并判断所述加入次数是否达到设定次数,若未达到所述设定次数,基于所述发送信息计算重发时刻,若达到所述设定次数,则更新所述待发列队中的所述发送信息的状态为发送失败;
每当达到所述重发时刻时,将所述数据列队内的所述外发数据中未被删除的子数据复制到所述发送列队中;
每当收到所述目标设备发来的所述外来数据时,判断所述外来数据是否为关于所述发送信息的已收回执,若是关于所述发送信息的已收回执,则根据所述已收回执判断所述外发数据的子数据是否被完整接收,若被完整接收,则更新所述待发列队中所述发送信息的状态为发送完成,并取消所述重发时刻;若未被完整接收,则根据所述已收回执确定所述发送信息中已被接收的子数据,并删除所述数据列队中已被接收的子数据。
通过采用上述技术方案,每当发送信息被加入发送列队时,记录发送信息的加入次数,并判断加入次数是否达到设定次数,若未达到设定次数,则基于发送信息计算重发时刻,若达到设定次数,则更新待发列队中的发送信息的状态为发送失败。通过设置加入次数,以使得发送信息能够进行重发和补发,进而提高目标设备对发送数据的接收成功率。但加入次数需小于预设次数,通过限制加入次数进而限制发送信息的重发和补发次数,防止未发送成功的发送信息一直占用通信信道,从而耽误其他发送信息发送。
在另一种可能实现的方式中,所述判断所述外来数据是否为关于所述发送信息的已收回执,之后还包括:
若不为关于所述发送信息的已收回执,则判断所述已收信息的各个子数据是否被完整接收,若未被完整接收,则更新所述已收信息的状态为接收中,并在第一次接收所述已收信息的第一次子数据时计算所述已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在所述回执列队中加入表示接收成功的发送回执,并更新所述已收信息的状态为接收成功,并取消所述重接时刻;
每当所述重接时刻到达且接收次数未达到所述设定次数时,根据接收到的子数据判断在所述已收信息中所需补发的子数据,在所述回执列队中加入所述所需补发的子数据的发送回执;
每当所述重接时刻到达且所述接收次数达到所述设定次数时,更新所述已收信息的状态为接收失败。
通过采用上述技术方案,接收目标设备发送的外来数据,若不为关于发送信息的已收回执,则作为接收端判断已收信息的各个子数据是否被接收完整,若未被完整接收,则适用于作为发送端的重发、补发机制;若被完整接收,则在回执列队中加入表示接收成功的发送回执,并更新已收信息的状态为接收成功且取消重接时刻。通过发送回执和目标设备进行通信,以使得目标设备能够基于发送回执确定数据是否发送成功。
在另一种可能实现的方式中,所述方法还包括:
每当所述发送信息的最后一个未被接收的子数据被加入所述发送列队时,记录所述发送信息的被发次数;
每当所述发送列队为空,且所述待发列队存在状态为发送中的外发数据时,根据所述待发列队存储的属性信息从所述数据列队中依序选取发送级别最高、等待时间最早、被发次数最低且不大于设定值的一个外发数据作为第三对象,再从所述回执列队中选取等待时间最早的一个外发数据作为第四对象,判断所述第三对象的等待时间是否早于所述第四对象的等待时间;
若所述第三对象的等待时间不早于所述第四对象的等待时间,则将所述第四对象剪切到所述发送列队中;
若所述第三对象的等待时间早于所述第四对象的等待时间,则根据所述第三对象的子数据发送记录从所述数据列队内选出顺接所述子数据发送记录的子数据,并在对所述子数据中写入既定标记的同时将所述子数据复制到所述发送列队中,并更新所述子数据发送记录,所述子数据发送记录的初始值为零;
每当接收的所述外来数据是所述已收信息时,判断所述已收信息是否包括所述既定标记,若包括所述既定标记,则判断所述已收信息各个子数据是否接收齐全,若未接收齐全,则更新所述已收信息的状态为预接收,若接收齐全,则更新所述已收信息的状态为接收成功;若未包括所述既定标记,则执行以下步骤:判断所述已收信息的各个子数据是否被完整接收,若未被完整接收,则更新所述已收信息的状态为接收中,并在第一次接收所述已收信息的第一次子数据时计算所述已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在所述回执列队中加入表示接收成功的发送回执,并更新所述已收信息的状态为接收成功。
通过采用上述技术方案,作为发送端时,每当发送列队为空,且待发列队存在状态为发送中的外发数据时,基于发送级别、等待时间以及被发次数选择外发数据,并加入到发送列队中。在不打破重发、补发机制的情况下充分利用空闲通信信道,以使得通信信道的利用率提高。作为接收端时,判断已收信息是否包括既定标记,若包括既定标记,则说明已收信息是通过空闲通信信道发送至,若未包括既定标记,则判断已收信息的各个子数据是否被接收完整,若未被完整接收,则适用于作为发送端的重发、补发机制。对空闲通信信道的利用,有效提高了数据的发送效率。
在另一种可能实现的方式中,所述方法还包括:
每当将所述外来数据加入所述数据列队时,将所述外来数据的属性信息加入接收列队中;
每当所述发送列队为空,所述待发列队不存在状态为发送中和待发送的外发数据,且所述回执列队中不存在所述发送回执时,根据所述接收列队内所述已收信息的属性信息从所述数据列队中依序选择状态为接收中或预接收的且重收权重最小的,以及接收时间最早的一个已收信息作为第五对象,根据所述接收列队内已收信息的属性信息从所述数据列队中依序选择状态为接收成功、重收权重最小且不大于设定权重的,以及接收时间最早的一个已收信息作为第六对象,比较所述第五对象和所述第六对象的重收权重的大小;
若所述第五对象的重收权重小于等于所述第六对象的重收权重,则根据所述第五对象的接收情况生成所述发送回执,并将所述发送回执加入所述发送列队中,同时令所述第五对象的重收权重等于当前数值加上第一阈值;
若所述第五对象的重收权重大于所述第六对象的重收权重,则基于所述第六对象的接收情况生成所述发送回执并将所述发送回执加入所述发送列队中,同时令所述第六对象的重收权重等于当前数值加上第二阈值,其中所述重收权重的初始值为零,所述第二阈值大于所述第一阈值。
通过采用上述技术方案,每当发送列队为空,待发列队不存在状态为发送中和待发送的外发数据,且回执列队中不存在发送回执时,说明待发列队和回执列队中不存在需要进行发送的消息。选择第五对象和第六对象,第五对象为状态为接收中或预接收的且重收权重最小的,以及接收时间最早的一个已收信息,第六对象为状态为接收成功、重收权重最小且不大于设定权重的,以及接收时间最早的一个已收信息。比较第五对象和第六对象的重收权重的大小,生成发送回执,并利用空闲通信信道对目标设备发送,有效提高了目标设备接收发送回执的可能性,同时节约了的发送通信信道。通过重收权重的更新以使得能够更大可能发送由第六对象生成的发送回执,因为第六对象对应的已收消息的状态为接收成功,通过多次发送第六对象生成的发送回执,进而提高目标设备收到表示成功接收已收消息的发送回执的成功率。
在另一种可能实现的方式中,所述方法还包括:
每当所述发送回执被加入所述回执列队时,基于所述发送回执判断所述回执列队中是否存在属于同一来源和同一数据的旧发送回执;
若是,则用所述发送回执替换所述旧发送回执;
若否,则将所述发送回执加入所述回执列队中。
通过采用上述技术方案,每当发送回执被加入回执列队时,基于发送回执判断回执列队中是否存在属于同一来源和同一数据的旧发送回执,若是,则用发送回执替换旧发送回执,以确保回执列队中的发送回执为最新回执,从而使得目标设备能够基于最新的发送回执进行重发和补发,减少因发送重复数据而占用通信信道的情况发生。
在另一种可能实现的方式中,各个所述重发时刻计算公式如下:
TF1=T+∆T+(N-1)*H1+W1+H2+W2;
TFi=TFi-1+(N-1)*H1+W1+H2+W2;
式中,TF1为第1次重发时刻,TFi为第i次重发时刻,TFi-1为第i-1次重发时刻i∈[2,n];n为设定次数;T为当前时刻;∆T为发送信息在首发时的时间间隔;N为外发数据中子数据的总数;H1为发送频率,H2为目标设备的发射频率,W1为在发射时段产生的误差修正常数,W2为在接收时段产生的误差修正常数;
各个所述重接时刻计算公式如下:
TJ1=T3+(N-S)*H1+W1;
TJi=TJi-1+(N-1)*H1+W1+H2+W2;
式中,TJ1为第1次重接时刻,TJi为第i次重接时刻,TJi-1为第i-1次重接时刻,i∈[2,n];T3为首次接收到已收信息中子数据的时刻;N为已收信息中子数据的总数;S为首次接收到的已收信息中子数据对应的序号。
通过采用上述技术方案,计算重发时刻和重接时刻,且重发时刻包括了的发送频率和目标设备的发送频率,以及考虑的时间误差,从而使得对重发时刻和重接时刻的计算合理且可靠,有效地保证了重发和补发过程不被打断,提高了数据传输的效率。
在另一种可能实现的方式中,所述将所述发送信息处理为满足通讯容量限制的至少一个子数据,包括:
判断由所述用户操作信息生成的发送信息是否超出所述通讯容量限制;
若超出所述通讯容量限制,则将所述发送信息拆分为多个子数据,且每个子数据不超出所述通讯容量限制;
若未超出所述通讯容量限制,则将所述发送信息作为一个子数据。
通过采用上述技术方案,判断用户操作信息生成的发送信息是否超出通讯容量限制,且对超出通讯容量限制的发送信息进行拆分,将发送信息拆分为多个子数据,从而满足北斗通信系统的通信条件。
在另一种可能实现的方式中,所述确定由所述用户操作信息生成的外发数据的发送级别,包括:
当由所述用户操作信息生成的外发数据包含第一等级的标记时,将所述外发数据的发送等级确定为第一等级;
当由所述用户操作信息生成的外发数据包含第二等级的标记时,将所述外发数据的发送等级确定为第二等级;
当由所述用户操作信息生成的外发数据包含第三等级的标记时,将所述外发数据的发送等级确定为第三等级。
通过采用上述技术方案,基于用户操作信息确定外发数据的发送等级,便于对数据进行分级发送,且保证了级别高的消息能够优先发送。
第二方面,本申请提供一种基于北斗通信系统的数据传输装置,采用如下的技术方案:
一种基于北斗通信系统的数据传输装置,包括:
获取模块,用于所述外来数据包括已收回执和已收信息,将所述已收信息加入数据列队中;
第一生成模块,用于基于所述用户操作信息、所述已收信息分别生成对应的外发数据,并确定由所述用户操作信息生成的外发数据的发送级别;
第一加入模块,用于将由所述已收信息生成的外发数据作为发送回执,并加入回执列队中;
第二加入模块,用于将由所述用户操作信息生成的外发数据作为发送信息,且将所述发送信息的属性信息加入待发列队中,并更新所述发送信息的状态为待发送,将所述发送信息处理为满足通讯容量限制的至少一个子数据,并加入所述数据列队中;
第一选取模块,用于每当所述发送列队为空,且所述待发列队不存在状态为发送中的外发数据时,根据所述待发列队中存储的属性信息从所述数据列队中依序选取状态为待发送的、发送级别最高且等待时间最早的一个外发数据作为第一对象,从所述回执列队中依序选取等待时间最早的一个外发数据作为第二对象,判断所述第一对象的等待时间是否早于所述第二对象的等待时间;
第一剪切模块,用于当所述第一对象的等待时间不早于所述第二对象的等待时间时,将所述回执列队内的所述第二对象剪切到所述发送列队中;
第一复制模块,用于当所述第一对象的等待时间早于所述第二对象的等待时间时,将所述数据列队内的所述第一对象复制到所述发送列队中;
发送模块,用于基于北斗通信系统的发送频率,将所述发送列队中的外发数据按照入队时间发送给所述目标设备。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于:执行根据第一方面任一种可能的实现方式所示的一种基于北斗通信系统的数据传输方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,包括:存储有能够被处理器加载并执行实现第一方面任一种可能的实现方式所示的一种基于北斗通信系统的数据传输方法的计算机程序。
综上所述,本申请包括以下至少一种有益技术效果:
1.确定由用户操作信息生成的外发数据的发送级别,对数据进行分级发送能够保证级别高的消息优先发送。将发送信息处理为满足通讯容量限制的至少一个子数据,以保证发送信息能够通过北斗通信系统进行发送。将已收信息加入数据列队中,将由已收信息生成的外发数据作为发送回执加入回执列队中,将由用户操作信息生成的外发数据作为发送信息,且将发送信息的属性信息加入待发列队中,将发送信息加入数据列队中。将不同种类的数据储存至不同的列队中,且部分列队仅存储属性信息,能够提高处理器的读取速度,最终提高处理器的运算效率;
2.每当发送信息被加入发送列队时,记录发送信息的加入次数,并判断加入次数是否达到设定次数,若未达到设定次数,则基于发送信息计算重发时刻,若达到设定次数,则更新待发列队中的发送信息的状态为发送失败。通过设置加入次数,以使得发送信息能够进行重发和补发,进而提高目标设备对发送数据的接收成功率。但加入次数需小于预设次数,通过限制加入次数进而限制发送信息的重发和补发次数,防止未发送成功的发送信息一直占用通信信道,从而耽误其他发送信息发送。
附图说明
图1是本申请实施例的一种基于北斗通信系统的数据传输方法的流程示意图。
图2是本申请实施例的一种基于北斗通信系统的数据传输装置的流程示意图。
图3是本申请实施例的一种电子设备的结构示意图。
具体实施方式
以下结合附图1-3对本申请作进一步详细说明。
本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本申请实施例作进一步详细描述。
本申请实施例提供了一种基于北斗通信系统的数据传输方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制,如图1所示,该方法包括步骤S101、步骤S102、步骤S103、步骤S104、步骤S105、步骤S106、步骤S107以及步骤S108,其中,
步骤S101,获取用户操作信息和目标设备发送的外来数据,将已收信息加入数据列队中。
其中,外来数据包括已收回执和已收信息。
对于本申请实施例,电子设备获取用户操作信息,用户操作信息可以是用户输入的文本信息,也可以是用户录入的语音信息,在此不做限定。例如:电子设备获取到的用户操作信息为:给船舶1444258发送一条分为3个子数据且优先级为一般消息的数据1。电子设备获取到的目标设备发送的外来数据为:船舶1444259发送的包含3个子数据的数据4。电子设备将已收消息和已收回执加入数据列队中,数据列队中存放已收消息的完整消息内容。
步骤S102,基于用户操作信息、已收信息分别生成对应的外发数据,并确定由用户操作信息生成的外发数据的发送级别。
对于本申请实施例,电子设备基于用户操作信息和已收信息生成外发数据,基于用户操作信息生成的外发数据与基于已收信息生成的外发数据不相同。电子设备基于用户操作信息生成外发数据后,并确定外发数据的发送级别,用户操作信息中包含外发数据的发送级别,以步骤S101为例:数据1的优先级为一般消息。
步骤S103,将由已收信息生成的外发数据作为发送回执,并加入回执列队中。
对于本申请实施例,电子设备将由已收信息生成的外发数据作为发送回执,发送回执为电子设备接收到目标设备发送的已收信息后生成的信息,若电子设备未接收完整已收信息,则生成的发送回执为未接收完成的数据的标号数组,例如:2、3、4;若电子设备接收完整已收信息,则生成的发送回执为表示接收完成的消息,例如:OK,也可以是其他形式表示接收完成的消息,例如:完成,在此不做限定。将不同种类的消息加入对应种类的列队中,能够提高处理器的读取速度,最终提高处理器的运算效率。
步骤S104,将由用户操作信息生成的外发数据作为发送信息,且将发送信息的属性信息加入待发列队中,并更新发送信息的状态为待发送,将发送信息处理为满足通讯容量限制的至少一个子数据,并加入数据列队中。
对于本申请实施例,电子设备将由用户操作信息生成的外发数据作为发送信息,以步骤S101为例:电子设备基于用户操作信息生成的外发数据为数据1,将数据1作为发送信息,并将数据1的状态为待发送。电子设备将数据1的属性信息加入待发列队中,其中,属性信息包括数据1的地址信息、接收数据1的目标设备、数据1的状态、发送级别以及操作次数和预操作次数等。例如:数据1的地址信息:岸端459543;接收数据1的目标设备:船舶1444258;数据1的状态:待发送;数据1的发送级别:一般消息;数据1的操作次数:0次;数据1的预操作次数:1次。
电子设备将发送信息处理为满足通讯容量限制的至少一个子数据,进而满足北斗通信条件,电子设备将至少一个子数据加入数据列队中,其中,数据列队中不仅包含子数据,数据列队中也包含发送信息的部分属性信息。例如:数据列队中包含数据1的3个子数据,还包含数据1的地址信息和子数据的标号等。
步骤S105,每当发送列队为空,且待发列队不存在状态为发送中的外发数据时,根据待发列队中存储的属性信息从数据列队中依序选取状态为待发送的、发送级别最高且等待时间最早的一个外发数据作为第一对象,从回执列队中依序选取等待时间最早的一个外发数据作为第二对象,判断第一对象的等待时间是否早于第二对象的等待时间。
对于本申请实施例,在电子设备发送消息的过程中,发送消息最初进入北斗通信系统的时间为创建时间,当发送消息首次被发送时,发送消息的等待时间为创建时间,当发送消息的状态为发送失败后,如需再次重新发送时,发送消息的等待时间为当前时间。在电子设备接收外来数据的过程中,外来数据的等待时间为创建时间。
每当发送列队为空,且待发列队不存在状态为发送中的外发数据时,说明当前通信信道为空,电子设备根据待发列队存储的属性信息从数据列队中依序选取状态为待发送的、发送级别最高且等待时间最早的一个外发数据作为第一对象。例如:待发列队中存在数据1、数据2以及数据3的属性信息:数据1:待发送、一般消息、12:00;数据2:待发送、紧急消息、12:00;数据3:待发送、紧急消息、10:00;电子设备确定数据1、数据2以及数据3的状态均为待发送,紧接着电子设备选取级别最高的外发数据,数据2和数据3相对于数据1的发送级别较高,进一步电子设备基于等待时间选取第一对象,数据3的等待时间为10:00,相较于数据2的等待时间12:00更早,因此电子设备选取的第一对象为数据3。
电子设备选取第一对象的同时,从回执列队中依序选取等待时间最早的一个外发数据作为第二对象。例如:回执列队中存在数据4的发送回执和数据5的发送回执:数据4的发送回执:11:00;数据5的发送回执:12:00。电子设备基于等待时间选取第二对象,数据4的发送回执的等待时间早于数据5的发送回执的等待时间,因此电子设备选取的第二对象为数据4的发送回执。
电子设备判断第一对象的等待时间是否早于第二对象的等待时间,对于本实施例,第一对象的等待时间为10:00,第二对象的等待时间为11:00,10:00早于11:00,则说明第一对象的等待时间早于第二对象的等待时间。
在另一种可以实现的方式中,电子设备也可以通过等待时长选取第一对象和第二对象。例如:电子设备选取第一对象时,假设当前时间为12:05,电子设备进一步基于等待时间选取第一对象时,数据2的等待时长为:12:05-12:00=00:05,数据3的等待时长为:12:05-10:00=2:05,数据3的等待时长比数据2的等待时长更长一些,因此电子设备确定第一对象为数据3。电子设备选取第二对象时,数据4的发送回执的等待时长为:12:05-11:00=1:05,数据5的发送回执的等待时长为:12:05-12:00=00:05,数据4的发送回执的等待时长比数据5的发送回执的等待时长更长一些,因此电子设备确定第二对象为数据4的发送回执。
电子设备基于发送级别和等待时间确定第一对象和第二对象,能够很大程度地保证级别高的消息优先发送。
步骤S106,若第一对象的等待时间不早于第二对象的等待时间,则将回执列队内的第二对象剪切到发送列队中。
对于本申请实施例,假设第一对象的等待时间为9:00,第二对象的等待时间为8:00,则电子设备确定第一对象的等待时间不早于等二对象的等待时间,电子设备将回执列队内的第二对象剪切到发送列队中,即将回执列队中的第二对象删除,对回执列队及时地进行更新。
步骤S107,若第一对象的等待时间早于第二对象的等待时间,则将数据列队内的第一对象复制到发送列队中。
对于本申请实施例,以步骤S105为例,第一对象的等待时间早于第二对象的等待时间,电子设备将数据列队的第一对象复制到发送列队中,即不删除数据列队的第一对象,以便于后续进行重发和补发。
步骤S108,基于北斗通信系统的发送频率,将发送列队中的外发数据按照入队时间发送给目标设备。
对于本申请实施例,对于基于用户操作信息生成的发送信息来说,入队时间为数据列队中的发送信息在从待发送状态变为发送中状态的时刻,且入队时间不会因为对发送信息进行重发和补发而发生变化;对于基于已收信息生成的发送回执来说,入队时间为电子设备接收已收信息的时刻。以步骤S105为例,假设将数据3从待发送状态变为发送中状态的时刻为10:01,电子设备接收数据4的时刻为10:10,数据3的入队时间比数据4的发送回执的入队时间早,则电子设备先将数据3发送至目标设备。
本申请实施例的一种可能的实现方式,方法还包括步骤S109(图中未示出)、步骤S110(图中未示出)以及步骤S111(图中未示出),其中,
步骤S109,每当发送信息被加入发送列队时,记录发送信息的加入次数,并判断加入次数是否达到设定次数,若未达到设定次数,则基于发送信息计算重发时刻,若达到设定次数,则更新待发列队中的发送信息的状态为发送失败。
对于本申请实施例,每当发送信息被加入发送列队中,电子设备记录发送信息的加入次数,例如:发送信息第一次加入发送列队中时,加入次数为1次;若需要对发送信息进行重发,则发送信息需要再次加入发送列队中,电子设备确定加入次数为2次;若对发送信息重发后需要进行补发,则发送信息需要再次加入发送列队中,电子设备确定加入次数为3次。
电子设备判断加入次数是否达到预设次数,其中,预设次数为用于自定义次数,通过用户自定义设定次数以使得在通信过程中能够达到用户所需求的消息接收率。假设设定次数为3次,则当前的加入次数达到设定次数,电子设备更新待发列队中的发送消息的状态为发送失败,将发送消息的状态更新为发送失败后说明不再对发送消息进行重发和补发。假设设定次数为4次,则当前的加入次数未达到设定次数,则电子设备基于发送信息计算重发时刻,以使得对发送消息再次进行重发或补发。
步骤S110,每当达到重发时刻时,将数据列队内的外发数据中未被删除的子数据复制到发送列队中。
对于本申请实施例,每当达到重发时刻时,电子设备将数据列队的外发数据中未被删除的子数据复制到发送列队中,不删除待发列队中的数据。例如:数据1包含子数据2、子数据2以及子数据3,当达到重发时刻时,数据列队的数据1中未被删除的子数据为子数据2,则电子设备将数据2复制到发送列队中,以使得电子设备对子数据2进行补发。
步骤S111,每当收到目标设备发来的外来数据时,判断外来数据是否为关于发送信息的已收回执,若是关于发送信息的已收回执,则根据已收回执判断外发数据的子数据是否被完整接收,若被完整接收,则更新待发列队中发送信息的状态为发送完成,并取消重发时刻;若未被完整接收,则根据已收回执确定发送信息中已被接收的子数据,并删除数据列队中已被接收的子数据。
对于本申请实施例,每当收到目标设备发来的外来数据时,电子设备判断外来数据是否为关于发送信息的已收回执。例如:假设电子设备收到关于数据1的已收回执,且已收回执为OK,则说明数据1被完整接收,电子设备更新待发列队中数据1的状态为发送完成,并取消重发时刻,不再需要对数据1进行重发或者补发,将数据1储存至消息池中。
在另一种可以实现的方式中,电子设备重发数据1且在发送子数据1时,收到关于数据1的已收回执,且已收回执为OK,则电子设备可以删除发送列队中数据1的子数据2和子数据3,以使得停止数据1的重发,进而一定程度地减少了通信信道,减少的通信信道可以用于发送其他消息,有效提高了发送效率。
假设电子设备收到关于数据1的已收回执,且已收回执为子数据2,则说明数据1未被完整接收,以步骤S110为例,电子设备确定子数据1和子数据3已被接收,则电子设备删除数据列队中数据1的子数据1和子数据3,电子设备将数据2复制到发送列队中,以使得电子设备对子数据2进行补发。
在另一种可以实现的方式中,电子设备重发数据1且在发送子数据1时,收到关于数据1的已收回执,且已收回执为子数据2,则电子设备可以删除发送列队中数据1的子数据3,以使得停止数据1中子数据3的补发,进而一定程度地减少了通信信道,减少的通信信道可以用于发送其他消息,有效提高了发送效率。
本申请实施例的一种可能的实现方式,方法还包括步骤S112(图中未示出)、步骤S113(图中未示出)以及步骤S114(图中未示出),步骤S114可以在步骤S111之后执行,其中,
步骤S112,若不为关于发送信息的已收回执,则判断已收信息的各个子数据是否被完整接收,若未被完整接收,则更新已收信息的状态为接收中,并在第一次接收已收信息的第一次子数据时计算已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在回执列队中加入表示接收成功的发送回执,并更新已收信息的状态为接收成功,并取消重接时刻。
对于本申请实施例,电子设备可以作为接收端,接收目标设备发送的外来数据。若电子设备判断外来数据不为关于发送消息的已收回执,则说明外来数据为目标设备发送的已收信息,例如:电子设备接收到数据4。电子设备判断数据4的各个子数据是否被完整接收,假设数据4包括子数据1、子数据2以及子数据3,电子设备判断数据4的子数据1、子数据2以及子数据3是否均接收到。
若电子设备只接收到子数据1,则更新数据4的状态为接收中,并在接收到子数据1的时候计算第一次重接时刻及其余的重接时刻,以便于确定在重接时刻是否接收到数据4中未接收到的子数据2和子数据3。
若子数据1、子数据2以及子数据3电子设备均接收到,则说明数据4被完整接收,电子设备在回执列队中加入数据4的发送回执,且发送回执为表示数据4接收成功的OK,并更新数据4的状态为接收成功且取消重接时刻,将数据4储存至消息池中。
步骤S113,每当重接时刻到达且接收次数未达到设定次数时,根据接收到的子数据判断在已收信息中所需补发的子数据,在回执列队中加入所需补发的子数据的发送回执。
对于本申请实施例,每当重接时刻到达且接收次数未达到设定次数时,以步骤S112为例,假设重接时刻到达时接收次数为2次,设定次数为3次,则接收次数未达到设定次数,数据4未接收完整,电子设备需要告知目标设备进行重发或者补发,假设电子设备接收到数据4的子数据1和子数据2,未接收到子数据3,电子设备生成发送回执,将未收到数据4中子数据3的发送回执加入回执列队中,以便于电子设备将此发送回执发送至目标设备,从而使目标设备补发子数据3。
步骤S114,每当重接时刻到达且接收次数达到设定次数时,更新已收信息的状态为接收失败。
对于本申请实施例,每当重接时刻到达且接收次数达到设定次数时,以步骤S113为例,假设重接时刻到达时接收次数为3次,达到设定次数3次,则说明目标设备不会再对数据4进行重发和补发,电子设备更新数据4的状态为接收失败。
本申请实施例的一种可能的实现方式,方法还包括步骤S115(图中未示出)、步骤S116(图中未示出)、步骤S117(图中未示出)、步骤S118(图中未示出)以及步骤S119(图中未示出),其中,
步骤S115,每当发送信息的最后一个未被接收的子数据被加入发送列队时,记录发送信息的被发次数。
对于本申请实施例,假设电子设备向目标设备发送数据1,数据1包括子数据1、子数据2以及子数据3,数据1中的子数据1和子数据2均加入过发送列队中,且子数据1和子数据2均发送完成,将数据1的子数据3加入发送列队中进行发送后,则说明数据1已经完整的被发送,电子设备记录数据1的被发次数为1次。
步骤S116,每当发送列队为空,且待发列队存在状态为发送中的外发数据时,根据待发列队存储的属性信息从数据列队中依序选取发送级别最高、等待时间最早、被发次数最低且不大于设定值的一个外发数据作为第三对象,再从回执列队中选取等待时间最早的一个外发数据作为第四对象,判断第三对象的等待时间是否早于第四对象的等待时间。
对于本申请实施例,每当发送列队为空,且待发列队存在状态为发送中的外发数据时,说明当前的外发数据已经完成发送,但还未达到计算的重发时刻且还未收到关于外发数据的已收回执,则当前北斗通信系统中存在一段空闲时间,且在空闲时间内存在空闲通信信道。电子设备为了利用空闲时间内的空闲通信信道,根据待发列队存储的属性信息从数据列队中依序选取发送级别最高、等待时间最早、被发次数最低且不大于设定值的一个外发数据作为第三对象。例如:待发列队中存在数据1、数据2以及数据3的属性信息:数据1:一般消息、11:00,被发次数2次;数据2:紧急消息、12:00,被发次数3次;数据3:紧急消息、10:00,被发次数4次;假设被发次数的设定值为3次,电子设备选取级别最高的外发数据,数据2和数据3的级别最高,紧接着电子设备基于等待时间选取第三对象,数据3的等待时间早于数据2的等待时间,但数据3的被发次数大于设定值4次,则电子设备将数据2确定为第三对象。
电子设备选取第三对象的同时,从回执列队中依序选取等待时间最早的一个外发数据作为第四对象。例如:回执列队中存在数据4的发送回执和数据5的发送回执:数据4的发送回执:11:00;数据5的发送回执:12:00。电子设备基于等待时间选取第四对象,数据4的发送回执的等待时间早于数据5的发送回执的等待时间,因此电子设备选取的第四对象为数据4的发送回执。
电子设备判断第三对象的等待时间是否早于第四对象的等待时间,对于本实施例,第三对象的等待时间为12:00,第四对象的等待时间为11:00,12:00不早于11:00,则说明第三对象的等待时间不早于第四对象的等待时间。
在另一种可以实现的方式中,电子设备在确定第三对象和第四对象过程中,若数据列队中不存在被发次数小于设定值的紧急消息,则电子设备按照上述方法从数据列队中获取一条一般消息作为第三对象,从回执列队中获取一条外发数据作为第四对象,电子设备判断第三对象的等待时间是否早于第四对象的等待时间。若数据列队中不存在被发次数小于设定值的紧急消息和一般消息,则电子设备直接按照上述方法从回执列队中获取一条外发数据作为第四对象。
在另一种可以实现的方式中,电子设备确定第三对象和第四对象过程中,若回执列队中不存在外发数据,则从数据列队中依序选取被发次数最低且等待时间最早的一个外发数据作为第三对象。从接收列队中依序选取被发次数最小且状态为接收中或者预接收的、等待时间最早的且优先级最高的已收消息作为第四对象。
步骤S117,若第三对象的等待时间不早于第四对象的等待时间,则将第四对象剪切到发送列队中。
对于本申请实施例,以步骤S116为例,第三对象的等待时间不早于第四对象的等待时间,若第四对象为回执列队中的外发数据,则电子设备将回执列队内的第四对象剪切到发送列队中,即将回执列队中的第四对象删除,对回执列队及时地进行更新。在另一种可以实现的方式中,若第四对象为接收列队中的已收消息,则根据第四对象的接收情况生成发送回执,并将发送回执加入发送列队中。
步骤S118,若第三对象的等待时间早于第四对象的等待时间,则根据第三对象的子数据发送记录从数据列队内选出顺接子数据发送记录的子数据,并在对子数据中写入既定标记的同时将子数据复制到发送列队中,并更新子数据发送记录。
其中,子数据发送记录的初始值为零。
对于本申请实施例,假设第三对象的等待时间为8:00,第四对象的等待时间为9:00,则电子设备确定第三对象的等待时间早于等四对象的等待时间,电子设备确定第三对象的子数据发送记录。例如:假设第三对象为数据1,数据1包括子数据1、子数据2以及子数据3,电子设备还未发送子数据1,则数据1的子数据发送记录为0,电子设备次发送数据1中的子数据时,从数据列队中选取顺接子数据发送记录0的子数据,即子数据1,对子数据1中写入既定标记,其中,既定标记用于表示数据1的子数据1是利用空闲时间内的空闲通信信道发送的数据。既定标记可以用0和1进行表示,例如:将写入既定标记的子数据1标记为1,未写入既定标记的子数据标记为0,既定标记也可以用其它特定的数字进行标注,还可以采用其它形式的标记符号进行标注,在此不做限定。将标记后的子数据1复制到发送列队中,并更新数据1的子数据发送记录为1,电子设备下一次发送数据1中的子数据时,从数据列队中选取顺接子数据发送记录1的子数据,即子数据2。
步骤S119,每当接收的外来数据是已收信息时,判断已收信息是否包括既定标记,若包括既定标记,则判断已收信息各个子数据是否接收齐全,若未接收齐全,则更新已收信息的状态为预接收,若接收齐全,则更新已收信息的状态为接收成功;若未包括既定标记,则执行以下步骤:判断已收信息的各个子数据是否被完整接收,若未被完整接收,则更新已收信息的状态为接收中,并在第一次接收已收信息的第一次子数据时计算已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在回执列队中加入表示接收成功的发送回执,并更新已收信息的状态为接收成功。
对于本申请实施例,每当电子设备接收的外来数据是已收消息时,电子设备判断已收消息是否包括既定标记,若包括既定标记,则说明已收消息是目标设备利用空闲时间的空闲通信信道发送的消息,电子设备判断已收消息各个子数据是否接受齐全。假设电子设备接受到包含既定标记的数据4,数据4包括子数据1、子数据2以及子数据3,电子设备当前接收到子数据1和子数据2,未接收到子数据3,则说明数据4的各个子消息未接收齐全,则电子设备更新数据4的状态为预接收。假设电子设备当前接收到子数据1、子数据2以及子数据3,则说明数据4的各个子消息接收齐全,则电子设备更新数据4的状态为接收成功,将数据4储存至消息池中。
若未包括既定标记,则电子设备判断已收信息各个子数据是否被完整接收,假设电子设备接受到未包含既定标记的数据5,数据5包括子数据1、子数据2以及子数据3,电子设备当前接收到子数据1和子数据2,未接收到子数据3,则说明数据5的各个子消息未接收齐全,则电子设备更新数据5的状态为接收中,并在接收子数据1时计算数据5第一次重接时刻及其余的重接时刻,以便于确定在重接时刻是否接收到数据5中未接收到的子数据3。假设电子设备当前接收到子数据1、子数据2以及子数据3,则说明数据5的各个子消息接收齐全,电子设备在回执列队中加入数据5的发送回执,且发送回执为表示数据5接收成功的OK,并更新数据5的状态为接收成功,将数据5储存至消息池中。
本申请实施例的一种可能的实现方式,方法还包括步骤S120(图中未示出)、步骤S121(图中未示出)、步骤S122(图中未示出)以及步骤S123(图中未示出),其中,
步骤S120,每当将外来数据加入数据列队时,将外来数据的属性信息加入接收列队中。
对于本申请实施例,假设电子设备接收到目标设备发送的数据4,则电子设备将数据4的属性信息加入接收列队中。例如:数据4的地址信息:船舶1444259;接收数据4的电子设备:岸端459543;数据4的状态:接收中;数据4的发送级别:一般消息;数据4的操作次数:0次;数据4的预操作次数:1次。
步骤S121,每当发送列队为空,待发列队不存在状态为发送中和待发送的外发数据,且回执列队中不存在发送回执时,根据接收列队内已收信息的属性信息从数据列队中依序选择状态为接收中或预接收的且重收权重最小的,以及接收时间最早的一个已收信息作为第五对象,根据接收列队内已收信息的属性信息从数据列队中依序选择状态为接收成功、重收权重最小且不大于设定权重的,以及接收时间最早的一个已收信息作为第六对象,比较第五对象和第六对象的重收权重的大小。
对于本申请实施例,每当发送列队为空,待发列队不存在状态为发送中和待发送的外发数据,且回执列队中不存在发送回执时,说明待发列队和回执列队中不存在需要进行发送的消息,电子设备根据接收列队内已收信息的属性信息从数据列队中依序选择状态为接收中或预接收的且重收权重最小的,以及接收时间最早的一个已收信息作为第五对象。例如:接收列队中存在数据4、数据5以及数据6的属性信息:数据4:接收中、重收权重2、12:00;数据5:预计收、重收权重3、11:00;数据6:预接收、重收权重4、10:00;数据7:接收成功、重收权重2、10:00;数据8:接收成功、重收权重1、10:00;数据9:接收失败、重收权重4、11:00。电子设备确定数据4、数据5以及数据6的状态均为接受中或者预接收,紧接着电子设备选取重收权重最小的已收信息,数据4的重收权重最小,则电子设备选取的第五对象为数据4。
电子设备选取第五对象的同时,根据接收列队内已收信息的属性信息从数据列队中依序选择状态为接收成功、重收权重最小且不大于设定权重的,以及接收时间最早的一个已收信息作为第六对象。电子设备确定数据7和数据8的状态为接收成功,紧接着电子设备选取重收权重最小且不大于设定权重的已收信息,假设设定权重为3,数据7和数据8的重收权重均小于设定权重,但数据8的重收权重小于数据7放入重收权重,则电子设备选取的第六对象为数据8。
电子设备比较第五对象和第六对象的重收权重的大小,对于本实施例,第五对象的重收权重2大于第六对象的重收权重1。
步骤S122,若第五对象的重收权重小于等于第六对象的重收权重,则根据第五对象的接收情况生成发送回执,并将发送回执加入发送列队中,同时令第五对象的重收权重等于当前数值加上第一阈值。
对于本申请实施例,假设第五对象的重收权重为1小于第六对象的重收权重3,则电子设备根据第五对象生成发送回执,由于第五对象对应的已收信息均为接收中或者预接收状态,则生成的发送回执可以是关于电子设备对第五对象的接收情况。以步骤S121为例:发送回执可以是数据4中未接收到的子数据的标号,也可以是表示数据4中子数据接收完成的消息。
电子设备将根据第五对象生成的发送回执加入发送列队中,同时令第五对象的重收权重等于当前数值加上第一阈值。以步骤S121为例:电子设备将根据数据4生成的发送回执加入发送列队中,假设第一阈值为1,则数据4的当前重收权重为3。
步骤S123,若第五对象的重收权重大于第六对象的重收权重,则基于第六对象的接收情况生成发送回执并将发送回执加入发送列队中,同时令第六对象的重收权重等于当前数值加上第二阈值。
其中,重收权重的初始值为零,第二阈值大于第一阈值。
对于本申请实施例,以步骤S121为例,第五对象的重收权重2大于第六对象的重收权重1,电子设备基于数据8的接收情况生成发送回执,数据8的接收状态为接收成功,基于数据8生成的发送回执为OK,电子设备将基于数据8生成的发送回执加入发送列队中,同时令第六对象的重收权重等于当前数值加上第二阈值。以步骤S121为例:电子设备将根据数据8生成的发送回执加入发送列队中,假设第二阈值为2,则数据8的当前重收权重为3。
通过第一阈值和第二阈值更新重收权重,使得电子设备能够更大可能发送由第六对象生成的发送回执,因为第六对象对应的已收消息的状态为接收成功,通过多次发送第六对象生成的发送回执,进而提高目标设备收到表示电子设备成功接收已收消息的发送回执的成功率。
本申请实施例的一种可能的实现方式,方法还包括步骤S124(图中未示出)、步骤S125(图中未示出)以及步骤S126(图中未示出),其中,
步骤S124,每当发送回执被加入回执列队时,基于发送回执判断回执列队中是否存在属于同一来源和同一数据的旧发送回执。
对于本申请实施例,每当发送回执被加入回执列队时,电子设备基于发送回执判断是否存在属于同一来源和同一数据的旧发送回执。例如:电子设备接收到船舶1444258发送的关于数据1的发送回执,则电子设备判断回执列队中是否存在属于船舶1444258关于数据1的旧发送回执,以便于及时的更新回执列队。
步骤S125,若是,则用发送回执替换旧发送回执。
对于本申请实施例,以步骤S124为例,若电子设备判断存在属于船舶1444258关于数据1的旧发送回执,例如:回执列队中存在船舶1444258的关于数据1的旧发送回执,且旧发送回执为子数据2和子数据3未接收到,当前船舶1444258的关于数据1的发送回执为子数据3未接收到,则电子设备用发送回执替换旧发送回执,以便于电子设备只对子数据3进行补发。将发送回执加入发送列队后,电子设备基于最新的发送回执对数据1中未接收到的子数据进行补发或停止对数据1进行重发或补发,减少发送多余的子数据的情况发生,有效减少了通信信道的浪费。
步骤S126,若否,则将发送回执加入回执列队中。
对于本申请实施例,以步骤S124为例,若电子设备判断不存在属于船舶1444258关于数据1的旧发送回执,则将当前属于船舶1444258关于数据1的发送回执加入回执列队中,以便于将发送回执加入发送列队后,电子设备基于发送回执对数据1中未接收到的子数据进行补发或停止对数据1进行重发或补发。
本申请实施例的一种可能的实现方式,各个重发时刻计算公式如下:
TF1=T+∆T+(N-1)*H1+W1+H2+W2;
TFi=TFi-1+(N-1)*H1+W1+H2+W2;
式中,TF1为第1次重发时刻,TFi为第i次重发时刻,TFi-1为第i-1次重发时刻i∈[2,n];n为设定次数;T为当前时刻;∆T为发送信息在首发时的时间间隔;N为外发数据中子数据的总数;H1为发送频率,H2为目标设备的发射频率,W1为在发射时段产生的误差修正常数,W2为在接收时段产生的误差修正常数;
各个重接时刻计算公式如下:
TJ1=T3+(N-S)*H1+W1;
TJi=TJi-1+(N-1)*H1+W1+H2+W2;
式中,TJ1为第1次重接时刻,TJi为第i次重接时刻,TJi-1为第i-1次重接时刻,i∈[2,n];T3为首次接收到已收信息中子数据的时刻;N为已收信息中子数据的总数;S为首次接收到的已收信息中子数据对应的序号。
对于本申请实施例,假设电子设备发送数据1,数据1包括子数据1、子数据2以及子数据3,则外发数据中子数据的总数N为3。假设当前时刻T为12:00,发送信息在首发时的时间间隔∆T为10秒。电子设备的发送频率H1为1分钟,目标设备的发射频率H2为5分钟。假设在发射时段产生的误差修正常数W1为5秒,在接收时段产生的误差修正常数W2为5秒。假设设定次数n为3次。
假设电子设备接收目标设备发送的数据4,数据4包括子数据1、子数据2以及子数据3,则外发数据中子数据的总数N为3。假设首次接收到数据4中子数据的时刻T3为8:00,首次接收到的数据4中子数据对应的序号S为2。
电子设备计算重发时刻:
TF1=T+∆T+(N-1)*H1+W1+H2+W2=12:00+10秒+(3-1)*1分钟+5秒+5分钟+5秒=12:07:20;
TF2=TF1+(N-1)*H1+W1+H2+W2=12:07:20+(3-1)*1分钟+5秒+5分钟+5秒=12:14:30;
TF3=TF2+(N-1)*H1+W1+H2+W2=12:14:30+(3-1)*1分钟+5秒+5分钟+5秒=12:21:40。
电子设备计算重接时刻:
TJ1=T3+(N-S)*H1+W1=8:00+(3-2)*1分钟+5秒=8:01:05;
TJ2=TJ1+(N-1)*H1+W1+H2+W2=8:01:05+(3-1)*1分钟+5秒+5分钟+5秒=8:08:15;
TJ3=TJ2+(N-1)*H1+W1+H2+W2=8:08:15+(3-1)*1分钟+5秒+5分钟+5秒=8:15:25。
通过计算重发时刻和重接时刻,以使得电子设备在发送外发数据和接收外接数据时对重发和重接有衡量标准。在计算过程中存在固定时间间隔(N-1)*H1+W1+H2+W2,固定时间间隔结合了电子设备的发送频率和目标设备的发送频率,将两端的发送频率均包含在内,以使得电子设备的发送时刻能够和目标设备的接收时刻相对应,减少在电子设备在发送过程中和接收过程中混乱的情况。通过误差修正常数使得电子设备在接收和发送数据中等待时间较长,提高发送和接收的成功率,且误差修正常数包含了在通信过程中北斗通信系统所产生的误差,使得整个通信过程更加的可行且有条不紊。
本申请实施例的一种可能的实现方式,步骤S104中将发送信息处理为满足通讯容量限制的至少一个子数据,包括步骤S1041(图中未示出)、步骤S1042(图中未示出)以及步骤S1043(图中未示出),其中,
步骤S1041,判断由用户操作信息生成的发送信息是否超出通讯容量限制。
对于本申请实施例,由于电子设备发送由用户操作生成的发送消息时,电子设备也需要发送发送消息的部分属性信息,例如:既定标记、表示发送消息的状态的标记以及子数据的发送记录等,这部分属性信息在通过北斗通信系统发送过程中也需要占用部分通讯容量。假设北斗通信系统的通讯容量为75个字节,1个英文占用1个字节,1个汉字占用2个字节,若由用户操作信息生成的发送信息为80个字节,则发送信息超出通讯容量限制,无法直接进行正常发送;假设发送消息的每个子数据的部分属性信息需要占用17个字节,若由用户操作信息生成的发送信息为58个字节,加上属性信息需要占用的17个字节共为75个字节,则发送信息未超出通讯容量限制,发送信息可以直接通过北斗通信系统中的通信信道进行正常发送。
步骤S1042,若超出通讯容量限制,则将发送信息拆分为多个子数据。
其中,每个子数据不超出通讯容量限制。
对于本申请实施例,若由用户操作信息生成的发送信息为290个字节,则发送信息超出通讯容量限制,则将发送信息拆分为多个子数据,以步骤S1041为例,拆分过程中电子设备可以先读取58个字节,形成子数据1,以此类推,得到子数据2、子数据3、子数据4以及子数据5。电子设备还可以读取发送信息的总数,对发送信息采用二分法进行拆分,直至拆分后的所有子数据均不超出58个字节。电子设备也可以采用其它方式进行拆分,在此不做限定。通过将发送信息拆分为不超出通讯容量限制的子数据,以使得发送信息能够正常通过北斗通信系统完整的发送。
步骤S1043,若未超出通讯容量限制,则将发送信息作为一个子数据。
对于本申请实施例,若由用户操作信息生成的发送信息为50个字节,则发送信息未超出通讯容量限制,则电子设备将发送信息作为一个子数据。进而使得北斗通信系统能对发送信息进行正常发送。
本申请实施例的一种可能的实现方式,步骤S102中确定由用户操作信息生成的外发数据的发送级别,包括步骤S1021(图中未示出)、步骤S1022(图中未示出)以及步骤S1023(图中未示出),其中,
步骤S1021,当由用户操作信息生成的外发数据包含第一等级的标记时,将外发数据的发送等级确定为第一等级。
对于本申请实施例,当由用户操作信息生成的外发数据包含第一等级的标记时,电子设备将外发数据的发送等级确定为第一等级,第一等级的外发数据为紧急消息。
步骤S1022,当由用户操作信息生成的外发数据包含第二等级的标记时,将外发数据的发送等级确定为第二等级。
对于本申请实施例,当由用户操作信息生成的外发数据包含第二等级的标记时,电子设备将外发数据的发送等级确定为第二等级,第二等级的外发数据为一般消息。
步骤S1023,当由用户操作信息生成的外发数据包含第三等级的标记时,将外发数据的发送等级确定为第三等级。
对于本申请实施例,当由用户操作信息生成的外发数据包含第三等级的标记时,电子设备将外发数据的发送等级确定为第三等级,第三等级的外发数据为不紧急消息。
通过对外发数据等级的划分,能够保证外发数据级别高的消息优先发送,有效提高了通信效率。
上述实施例从方法流程的角度介绍一种基于北斗通信系统的数据传输方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种基于北斗通信系统的数据传输装置,具体详见下述实施例。
本申请实施例提供一种基于北斗通信系统的数据传输装置20,如图2所示,该一种基于北斗通信系统的数据传输装置20具体可以包括:
获取模块201,用于获取用户操作信息和目标设备发送的外来数据,外来数据包括已收回执和已收信息,将已收信息加入数据列队中;
第一生成模块202,用于基于用户操作信息、已收信息分别生成对应的外发数据,并确定由用户操作信息生成的外发数据的发送级别;
第一加入模块203,用于将由已收信息生成的外发数据作为发送回执,并加入回执列队中;
第二加入模块204,用于将由用户操作信息生成的外发数据作为发送信息,且将发送信息的属性信息加入待发列队中,并更新发送信息的状态为待发送,将发送信息处理为满足通讯容量限制的至少一个子数据,并加入数据列队中;
第一选取模块205,用于每当发送列队为空,且待发列队不存在状态为发送中的外发数据时,根据待发列队中存储的属性信息从数据列队中依序选取状态为待发送的、发送级别最高且等待时间最早的一个外发数据作为第一对象,从回执列队中依序选取等待时间最早的一个外发数据作为第二对象,判断第一对象的等待时间是否早于第二对象的等待时间;
第一剪切模块206,用于当第一对象的等待时间不早于第二对象的等待时间时,将回执列队内的第二对象剪切到发送列队中;
第一复制模块207,用于当第一对象的等待时间早于第二对象的等待时间时,将数据列队内的第一对象复制到发送列队中;
发送模块208,用于基于北斗通信系统的发送频率,将发送列队中的外发数据按照入队时间发送给目标设备。
本申请实施例的一种可能的实现方式,装置20还包括:
第一记录模块,用于每当发送信息被加入发送列队时,记录发送信息的加入次数,并判断加入次数是否达到设定次数,当未达到设定次数时,基于发送信息计算重发时刻,当达到设定次数时,更新待发列队中的发送信息的状态为发送失败。
第二复制模块,用于每当达到重发时刻时,将数据列队内的外发数据中未被删除的子数据复制到发送列队中。
第一判断模块,用于每当收到目标设备发来的外来数据时,判断外来数据是否为关于发送信息的已收回执,当是关于发送信息的已收回执时,根据已收回执判断外发数据的子数据是否被完整接收,当被完整接收时,更新待发列队中发送信息的状态为发送完成,并取消重发时刻;当未被完整接收时,根据已收回执确定发送信息中已被接收的子数据,并删除数据列队中已被接收的子数据。
本申请实施例的一种可能的实现方式,装置20还包括:
第二判断模块,用于当不为关于发送信息的已收回执时,判断已收信息的各个子数据是否被完整接收,若未被完整接收,则更新已收信息的状态为接收中,并在第一次接收已收信息的第一次子数据时计算已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在回执列队中加入表示接收成功的发送回执,并更新已收信息的状态为接收成功,并取消重接时刻。
第三判断模块,用于每当重接时刻到达且接收次数未达到设定次数时,根据接收到的子数据判断在已收信息中所需补发的子数据,在回执列队中加入所需补发的子数据的发送回执。
更新模块,用于每当重接时刻到达且接收次数达到设定次数时,更新已收信息的状态为接收失败。
本申请实施例的一种可能的实现方式,装置20还包括:
第二记录模块,用于每当发送信息的最后一个未被接收的子数据被加入发送列队时,记录发送信息的被发次数。
第二选取模块,用于每当发送列队为空,且待发列队存在状态为发送中的外发数据时,根据待发列队存储的属性信息从数据列队中依序选取发送级别最高、等待时间最早、被发次数最低且不大于设定值的一个外发数据作为第三对象,再从回执列队中选取等待时间最早的一个外发数据作为第四对象,判断第三对象的等待时间是否早于第四对象的等待时间。
第二剪切模块,用于当第三对象的等待时间不早于第四对象的等待时间,则将第四对象剪切到发送列队中。
第三选取模块,用于当第三对象的等待时间早于第四对象的等待时间时,根据第三对象的子数据发送记录从数据列队内选出顺接子数据发送记录的子数据,并在对子数据中写入既定标记的同时将子数据复制到发送列队中,并更新子数据发送记录,子数据发送记录的初始值为零。
第四判断模块,用于每当接收的外来数据是已收信息时,判断已收信息是否包括既定标记,当包括既定标记时,判断已收信息各个子数据是否接收齐全,当未接收齐全时,更新已收信息的状态为预接收,当接收齐全时,更新已收信息的状态为接收成功;若未包括既定标记,则执行以下步骤:判断已收信息的各个子数据是否被完整接收,当未被完整接收时,更新已收信息的状态为接收中,并在第一次接收已收信息的第一次子数据时计算已收信息第一次重接时刻及其余的重接时刻,当被完整接收时,在回执列队中加入表示接收成功的发送回执,并更新已收信息的状态为接收成功。
本申请实施例的一种可能的实现方式,装置20还包括:
第三加入模块,用于每当将外来数据加入数据列队时,将外来数据的属性信息加入接收列队中。
第四选取模块,用于每当发送列队为空,待发列队不存在状态为发送中和待发送的外发数据,且回执列队中不存在发送回执时,根据接收列队内已收信息的属性信息从数据列队中依序选择状态为接收中或预接收的且重收权重最小的,以及接收时间最早的一个已收信息作为第五对象,根据接收列队内已收信息的属性信息从数据列队中依序选择状态为接收成功、重收权重最小且不大于设定权重的,以及接收时间最早的一个已收信息作为第六对象,比较第五对象和第六对象的重收权重的大小。
第二生成模块,用于当第五对象的重收权重小于等于第六对象的重收权重时,根据第五对象的接收情况生成发送回执,并将发送回执加入发送列队中,同时令第五对象的重收权重等于当前数值加上第一阈值。
第三生成模块,用于当第五对象的重收权重大于第六对象的重收权重时,基于第六对象的接收情况生成发送回执并将发送回执加入发送列队中,同时令第六对象的重收权重等于当前数值加上第二阈值,其中重收权重的初始值为零,第二阈值大于第一阈值。
本申请实施例的一种可能的实现方式,装置20还包括:
第五判断模块,用于每当发送回执被加入回执列队时,基于发送回执判断回执列队中是否存在属于同一来源和同一数据的旧发送回执。
替换模块,用于当是时,用发送回执替换旧发送回执。
第四加入模块,用于当否时,将发送回执加入回执列队中。
本申请实施例的一种可能的实现方式,第二加入模块204在将发送信息处理为满足通讯容量限制的至少一个子数据时,具体用于:
判断由用户操作信息生成的发送信息是否超出通讯容量限制;
若超出通讯容量限制,则将发送信息拆分为多个子数据,且每个子数据不超出通讯容量限制;
若未超出通讯容量限制,则将发送信息作为一个子数据。
本申请实施例的一种可能的实现方式,第一生成模块202在确定由用户操作信息生成的外发数据的发送级别时,具体用于:
当由用户操作信息生成的外发数据包含第一等级的标记时,将外发数据的发送等级确定为第一等级;
当由用户操作信息生成的外发数据包含第二等级的标记时,将外发数据的发送等级确定为第二等级;
当由用户操作信息生成的外发数据包含第三等级的标记时,将外发数据的发送等级确定为第三等级。
在本申请实施例中,第一生成模块202、第二生成模块以及第三生成模块可以是相同的生成模块,也可以是不同的生成模块,还可以是部分相同的生成模块。第一加入模块203、第二加入模块204、第三加入模块以及第四加入模块可以是相同的加入模块,也可以是不同的加入模块,还可以是部分相同的加入模块。第一选取模块205、第二选取模块、第三选取模块以及第四选取模块可以是相同的选取模块,也可以是不同的选取模块,还可以是部分相同的选取模块。第一剪切模块206和第二剪切模块可以是相同的剪切模块,也可以是不同的剪切模块。第一复制模块207和第二复制模块可以是相同的复制模块,也可以是不同的复制模块。第一判断模块、第二判断模块、第三判断模块、第四判断模块以及第五判断模块可以是相同的判断模块,也可以是不同的判断模块,还可以是部分相同的判断模块。第一记录模块和第二记录模块可以是相同的记录模块,也可以是不同的记录模块。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中提供了一种电子设备,如图3所示,图3所示的电子设备30包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备30还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备30的结构并不构成对本申请实施例的限定。
处理器301可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合。例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的应用程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,本申请实施例中,电子设备确定由用户操作信息生成的外发数据的发送级别,对数据进行分级发送能够保证级别高的消息优先发送。电子设备将发送信息处理为满足通讯容量限制的至少一个子数据,以保证发送信息能够通过北斗通信系统进行发送。电子设备将已收信息加入数据列队中,将由已收信息生成的外发数据作为发送回执加入回执列队中,将由用户操作信息生成的外发数据作为发送信息,且将发送信息的属性信息加入待发列队中,将发送信息加入数据列队中。将不同种类的数据储存至不同的列队中,且部分列队仅存储属性信息,能够提高处理器的读取速度,最终提高处理器的运算效率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种基于北斗通信系统的数据传输方法,其特征在于,包括:
获取用户操作信息和目标设备发送的外来数据,所述外来数据包括已收回执和已收信息,将所述已收信息加入数据列队中;
基于所述用户操作信息、所述已收信息分别生成对应的外发数据,并确定由所述用户操作信息生成的外发数据的发送级别;
将由所述已收信息生成的外发数据作为发送回执,并加入回执列队中;
将由所述用户操作信息生成的外发数据作为发送信息,且将所述发送信息的属性信息加入待发列队中,并更新所述发送信息的状态为待发送,将所述发送信息处理为满足通讯容量限制的至少一个子数据,并加入所述数据列队中;
每当发送列队为空,且所述待发列队不存在状态为发送中的外发数据时,所述发送列队为将所述外发数据发送给所述目标设备的列队,根据所述待发列队中存储的属性信息从所述数据列队中依序选取状态为待发送的、发送级别最高且等待时间最早的一个外发数据作为第一对象,从所述回执列队中依序选取等待时间最早的一个外发数据作为第二对象,判断所述第一对象的等待时间是否早于所述第二对象的等待时间;
若所述第一对象的等待时间不早于所述第二对象的等待时间,则将所述回执列队内的所述第二对象剪切到所述发送列队中;
若所述第一对象的等待时间早于所述第二对象的等待时间,则将所述数据列队内的所述第一对象复制到所述发送列队中;
基于北斗通信系统的发送频率,将所述发送列队中的外发数据按照入队时间发送给所述目标设备。
2.根据权利要求1所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述方法还包括:
每当所述发送信息被加入所述发送列队时,记录所述发送信息的加入次数,并判断所述加入次数是否达到设定次数,若未达到所述设定次数,则基于所述发送信息计算重发时刻,若达到所述设定次数,则更新所述待发列队中的所述发送信息的状态为发送失败;
每当达到所述重发时刻时,将所述数据列队内的所述外发数据中未被删除的子数据复制到所述发送列队中;
每当收到所述目标设备发来的所述外来数据时,判断所述外来数据是否为关于所述发送信息的已收回执,若是关于所述发送信息的已收回执,则根据所述已收回执判断所述外发数据的子数据是否被完整接收,若被完整接收,则更新所述待发列队中所述发送信息的状态为发送完成,并取消所述重发时刻;若未被完整接收,则根据所述已收回执确定所述发送信息中已被接收的子数据,并删除所述数据列队中已被接收的子数据。
3.根据权利要求2所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述判断所述外来数据是否为关于所述发送信息的已收回执,之后还包括:
若不为关于所述发送信息的已收回执,则判断所述已收信息的各个子数据是否被完整接收,若未被完整接收,则更新所述已收信息的状态为接收中,并在第一次接收所述已收信息的第一次子数据时计算所述已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在所述回执列队中加入表示接收成功的发送回执,并更新所述已收信息的状态为接收成功,并取消所述重接时刻;
每当所述重接时刻到达且接收次数未达到所述设定次数时,根据接收到的子数据判断在所述已收信息中所需补发的子数据,在所述回执列队中加入所述所需补发的子数据的发送回执;
每当所述重接时刻到达且所述接收次数达到所述设定次数时,更新所述已收信息的状态为接收失败。
4.根据权利要求1所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述方法还包括:
每当所述发送信息的最后一个未被接收的子数据被加入所述发送列队时,记录所述发送信息的被发次数;
每当所述发送列队为空,且所述待发列队存在状态为发送中的外发数据时,根据所述待发列队存储的属性信息从所述数据列队中依序选取发送级别最高、等待时间最早、被发次数最低且不大于设定值的一个外发数据作为第三对象,再从所述回执列队中选取等待时间最早的一个外发数据作为第四对象,判断所述第三对象的等待时间是否早于所述第四对象的等待时间;
若所述第三对象的等待时间不早于所述第四对象的等待时间,则将所述第四对象剪切到所述发送列队中;
若所述第三对象的等待时间早于所述第四对象的等待时间,则根据所述第三对象的子数据发送记录从所述数据列队内选出顺接所述子数据发送记录的子数据,并在对所述子数据中写入既定标记的同时将所述子数据复制到所述发送列队中,并更新所述子数据发送记录,所述子数据发送记录的初始值为零;
每当接收的所述外来数据是所述已收信息时,判断所述已收信息是否包括所述既定标记,若包括所述既定标记,则判断所述已收信息各个子数据是否接收齐全,若未接收齐全,则更新所述已收信息的状态为预接收,若接收齐全,则更新所述已收信息的状态为接收成功;若未包括所述既定标记,则执行以下步骤:判断所述已收信息的各个子数据是否被完整接收,若未被完整接收,则更新所述已收信息的状态为接收中,并在第一次接收所述已收信息的第一次子数据时计算所述已收信息第一次重接时刻及其余的重接时刻,若被完整接收,则在所述回执列队中加入表示接收成功的发送回执,并更新所述已收信息的状态为接收成功。
5.根据权利要求4所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述方法还包括:
每当将所述外来数据加入所述数据列队时,将所述外来数据的属性信息加入接收列队中;
每当所述发送列队为空,所述待发列队不存在状态为发送中和待发送的外发数据,且所述回执列队中不存在所述发送回执时,根据所述接收列队内所述已收信息的属性信息从所述数据列队中依序选择状态为接收中或预接收的且重收权重最小的,以及接收时间最早的一个已收信息作为第五对象,根据所述接收列队内已收信息的属性信息从所述数据列队中依序选择状态为接收成功、重收权重最小且不大于设定权重的,以及接收时间最早的一个已收信息作为第六对象,比较所述第五对象和所述第六对象的重收权重的大小;
若所述第五对象的重收权重小于等于所述第六对象的重收权重,则根据所述第五对象的接收情况生成所述发送回执,并将所述发送回执加入所述发送列队中,同时令所述第五对象的重收权重等于当前数值加上第一阈值;
若所述第五对象的重收权重大于所述第六对象的重收权重,则基于所述第六对象的接收情况生成所述发送回执并将所述发送回执加入所述发送列队中,同时令所述第六对象的重收权重等于当前数值加上第二阈值,其中所述重收权重的初始值为零,所述第二阈值大于所述第一阈值。
6.根据权利要求1-5任意一项所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述方法还包括:
每当所述发送回执被加入所述回执列队时,基于所述发送回执判断所述回执列队中是否存在属于同一来源和同一数据的旧发送回执;
若是,则用所述发送回执替换所述旧发送回执;
若否,则将所述发送回执加入所述回执列队中。
7.根据权利要求3所述的一种基于北斗通信系统的数据传输方法,其特征在于:
各个所述重发时刻计算公式如下:
TF1=T+∆T+(N-1)*H1+W1+H2+W2;
TFi=TFi-1+(N-1)*H1+W1+H2+W2;
式中,TF1为第1次重发时刻,TFi为第i次重发时刻,TFi-1为第i-1次重发时刻i∈[2,n];n为设定次数;T为当前时刻;∆T为发送信息在首发时的时间间隔;N为外发数据中子数据的总数;H1为发送频率,H2为目标设备的发射频率,W1为在发射时段产生的误差修正常数,W2为在接收时段产生的误差修正常数;
各个所述重接时刻计算公式如下:
TJ1=T3+(N-S)*H1+W1;
TJi=TJi-1+(N-1)*H1+W1+H2+W2;
式中,TJ1为第1次重接时刻,TJi为第i次重接时刻,TJi-1为第i-1次重接时刻,i∈[2,n];T3为首次接收到已收信息中子数据的时刻;N为已收信息中子数据的总数;S为首次接收到的已收信息中子数据对应的序号。
8.根据权利要求1-5任意一项所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述将所述发送信息处理为满足通讯容量限制的至少一个子数据,包括:
判断由所述用户操作信息生成的发送信息是否超出所述通讯容量限制;
若超出所述通讯容量限制,则将所述发送信息拆分为多个子数据,且每个子数据不超出所述通讯容量限制;
若未超出所述通讯容量限制,则将所述发送信息作为一个子数据。
9.根据权利要求1-5任意一项所述的一种基于北斗通信系统的数据传输方法,其特征在于,所述确定由所述用户操作信息生成的外发数据的发送级别,包括:
当由所述用户操作信息生成的外发数据包含第一等级的标记时,将所述外发数据的发送等级确定为第一等级;
当由所述用户操作信息生成的外发数据包含第二等级的标记时,将所述外发数据的发送等级确定为第二等级;
当由所述用户操作信息生成的外发数据包含第三等级的标记时,将所述外发数据的发送等级确定为第三等级。
10.一种电子设备,所述电子设备为应用在船端或岸端,其特征在于,其包括:
一个或者多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1~9任一项所述的一种基于北斗通信系统的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130771.7A CN114640385B (zh) | 2022-02-12 | 2022-02-12 | 一种基于北斗通信系统的数据传输方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130771.7A CN114640385B (zh) | 2022-02-12 | 2022-02-12 | 一种基于北斗通信系统的数据传输方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640385A CN114640385A (zh) | 2022-06-17 |
CN114640385B true CN114640385B (zh) | 2022-12-06 |
Family
ID=81946753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210130771.7A Active CN114640385B (zh) | 2022-02-12 | 2022-02-12 | 一种基于北斗通信系统的数据传输方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640385B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591720A (zh) * | 2016-03-07 | 2016-05-18 | 北斗天汇(北京)科技有限公司 | 一种大容量高速度的北斗数据传输的方法及系统 |
CN106059848A (zh) * | 2016-05-06 | 2016-10-26 | 南京大学 | 基于北斗短报文通信的电力数据采集传输处理系统和方法 |
CN109873688A (zh) * | 2019-02-15 | 2019-06-11 | 西安勺子智能科技有限公司 | 一种北斗通信和移动通信自适应的数据传输方法 |
CN111404649A (zh) * | 2020-03-05 | 2020-07-10 | 中国科学院重庆绿色智能技术研究院 | 一种支持多发送端的北斗消息反馈与重传方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442395B (zh) * | 2013-08-26 | 2016-02-24 | 北京车网互联科技股份有限公司 | 一种基于连接池技术的北斗数据发送系统及其方法 |
US9451514B1 (en) * | 2015-02-26 | 2016-09-20 | M87, Inc. | Methods and apparatus for efficiently communicating time varying data |
CN104980209B (zh) * | 2015-06-24 | 2017-10-31 | 上海普适导航科技股份有限公司 | 一种基于北斗实时反馈的动态信息发送和调节方法 |
CN106712837A (zh) * | 2017-02-03 | 2017-05-24 | 北京子午精航科技有限公司 | 一种基于北斗卫星导航系统的通信节点及其通信方法 |
CN110300384A (zh) * | 2019-07-01 | 2019-10-01 | 北京讯腾智慧科技股份有限公司 | 一种基于北斗卫星通信的应急通信方法及系统 |
CN111770459B (zh) * | 2020-06-18 | 2021-12-10 | 中国人民解放军国防科技大学 | 一种北斗短报文通信网与互联网融合的实现方法与系统 |
-
2022
- 2022-02-12 CN CN202210130771.7A patent/CN114640385B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591720A (zh) * | 2016-03-07 | 2016-05-18 | 北斗天汇(北京)科技有限公司 | 一种大容量高速度的北斗数据传输的方法及系统 |
CN106059848A (zh) * | 2016-05-06 | 2016-10-26 | 南京大学 | 基于北斗短报文通信的电力数据采集传输处理系统和方法 |
CN109873688A (zh) * | 2019-02-15 | 2019-06-11 | 西安勺子智能科技有限公司 | 一种北斗通信和移动通信自适应的数据传输方法 |
CN111404649A (zh) * | 2020-03-05 | 2020-07-10 | 中国科学院重庆绿色智能技术研究院 | 一种支持多发送端的北斗消息反馈与重传方法及系统 |
Non-Patent Citations (2)
Title |
---|
Liu Yinhua ; Li Xiaohui ; Ruan Jun ; Zhang Huijun ; Yang Lin.The analysis of Differential Code Bias of BeiDou satellite navigation system.《2014 IEEE International Frequency Control Symposium (FCS)》.2014, * |
基于GNSS共视的远程时间频率溯源的性能提升方法研究;王晔;《工程科技Ⅱ辑》;20181215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114640385A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516054B2 (en) | Message handling | |
CN111786748B (zh) | 数据重传方法和系统、网卡、装置、服务器和存储介质 | |
CN109714409B (zh) | 一种消息的管理方法和系统 | |
RU2008131794A (ru) | Гибкая схема сегментации для систем связи | |
CN111698175B (zh) | 一种用于网关的报文收发方法及系统 | |
CN103491170B (zh) | 电子邮件到达消息提醒的方法及系统 | |
CN114039703B (zh) | 数据传输方法、装置、设备和介质 | |
US20130191484A1 (en) | Mail transfer system, mail gateway and data store server | |
CN111416823A (zh) | 一种数据传输方法和装置 | |
EP3582425A1 (en) | Technique for storing softbits | |
CN103684707A (zh) | 服务端、用户端消息传输处理方法、消息传输方法及系统 | |
US6581175B1 (en) | Apparatus and method of requesting retransmission of a message across a network | |
US10992583B1 (en) | Opportunistic packet retransmissions | |
CN106911485B (zh) | 用于可靠组播传输数据的方法及设备 | |
CN114786216A (zh) | 应用层数据传输方法、装置、设备及介质 | |
CN112230880B (zh) | 一种数据传输控制方法、装置、fpga及介质 | |
CA2562182C (en) | Method for handling communications over a non-permanent communication link | |
CN114640385B (zh) | 一种基于北斗通信系统的数据传输方法及电子设备 | |
CN103647622A (zh) | 一种实现跨机房数据传输的方法、装置和系统 | |
CN113098978B (zh) | 一种数据传输方法、装置及介质 | |
CN110247808B (zh) | 信息发送方法、装置、设备及可读存储介质 | |
CN112399470A (zh) | LoRa通信方法、LoRa网关、LoRa系统、计算机可读存储介质 | |
CN114928573B (zh) | 一种数据的传输方法及系统 | |
CN103384219A (zh) | 电子邮件发送方法及系统 | |
US11929834B2 (en) | Redundant communication apparatus, method, and program |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221025 Address after: Room 303, No. 3, Weishan Road, Binhai New Area Development Zone, Tianjin, 300000 Applicant after: Tianjin COSCO Marine Bulk Transportation Digital Technology Co.,Ltd. Address before: 510032 room 904, No. 162, Gangqian Avenue South, Nansha District, Guangzhou City, Guangdong Province (only for office use) Applicant before: COSCO marine bulk cargo transportation Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |