数据报文的发送、接收方法、配网方法及相关装置和系统

文档序号:1835152 发布日期:2021-11-12 浏览:43次 >En<

阅读说明:本技术 数据报文的发送、接收方法、配网方法及相关装置和系统 (Data message sending and receiving methods, network distribution method, related device and system ) 是由 陈熙彩 于 2020-04-27 设计创作,主要内容包括:本发明公开了一种数据报文的发送方法、接收方法、配网方法及相关装置和系统。所述方法包括:对待发送的至少一个数据报文,判断所述至少一个数据报文中是否存在第一类数据报文,所述第一类数据报文为有效负载全为0或全为1且在该至少一个数据报文中的数量占比超过预设的阈值的数据报文;若存在,则发送第二类数据报文并指示所发送的第二类数据报文在所有数据报文中的位置,第二类数据报文为至少一个数据报文中除了所述第一类数据报文之外的数据报文。本发明选择不发送第一类数据报文且发送第二类数据报文,使得可发送的数据报文的数量大大减少,可节约带宽资源,减少了报文分组出错的几率,同时也提升了传输效率。(The invention discloses a data message sending method, a data message receiving method, a network distribution method, a related device and a related system. The method comprises the following steps: judging whether a first type of data message exists in at least one data message to be sent, wherein the first type of data message is a data message of which the effective load is all 0 or all 1 and the quantity proportion in the at least one data message exceeds a preset threshold value; and if the data message exists, sending a second type data message and indicating the position of the sent second type data message in all the data messages, wherein the second type data message is the data message except the first type data message in at least one data message. The invention selects not to send the first type data message and sends the second type data message, so that the quantity of the data messages which can be sent is greatly reduced, the bandwidth resource can be saved, the probability of packet error is reduced, and the transmission efficiency is improved.)

数据报文的发送、接收方法、配网方法及相关装置和系统

技术领域

本发明涉及数据传输领域,特别涉及一种数据报文的发送方法、接收方法、配网方法及相关装置和系统。

背景技术

智能物联网中,智能移动终端需要进行配网操作,将配网信息编码到WIFI数据包中发送给被控制的智能设备,配网信息包含WIFI的服务集标识(SSID,Service SetIdentifier)和密码,以便智能设备通过监听报文获得WIFI的SSID和密码与智能移动终端连接到同一WIFI网络中。

传统的包长配网使用的编码方式,是优先将一个有效负载(payload)数据完整地编码入数据包中,再将多余的比特(bit)数据用以编码该数据包所属的序号(index),使用这种方法,在编码空间受限的情况下,甚至会出现编码空间无法容纳index情况,或者可能将使用分组的方式,将若干要发送的字节划为一个分组,分为多个分组来发送。

一方面,传统的包长编码方式,在发送的分组较多,报文出现后发先至的情况下,智能设备端会将收到的数据算错分组,其结果就是CRC校验失败,最终导致配网失败。分组的数目越多,算错分组的可能性也会越大。另外一方面,较多的分组,对于执行配网操作的移动终端的小程序来说,由于其发包能力严重受限,会造成较严重的资源耗费,传输效率也不是很高。亟需一种较高效的数据编码和发送方式。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据报文的发送方法、接收方法、配网方法及相关装置和系统。

第一方面,本发明实施例提供一种数据报文的发送方法,包括:

对待发送的至少一个数据报文,判断所述至少一个数据报文中是否存在第一类数据报文,所述第一类数据报文为有效负载全为0或全为1且在所述至少一个数据报文中的数量占比超过预设的阈值的数据报文;

若存在,则发送第二类数据报文并指示所发送的第二类数据报文在所述至少一个数据报文中的位置,所述第二类数据报文为所述至少一个数据报文中除了所述第一类数据报文之外的数据报文。

在一个或一些可能的实施例中,所述待发送的至少一个数据报文,分为若干个分组,所述每个分组中的数据报文通过下述方式编码得到:

根据数据报文的编码空间的大小,以及数据报文在分组内索引所占空间大小,确定数据报文内有效负载数据可用空间大小;

根据每个有效负载数据的总大小和所述有效负载数据可用空间大小,确定每个分组中包含的数据报文的数量;

在每个数据报文的编码空间中,填充每个数据报文包含所述数据报文的索引,并在填充完毕索引后剩余的编码空间填充有效负载数据的对应部分,直至完成所述分组内所有数据报文的填充。

在一个或一些可能的实施例中,指示所发送的第二类数据报文在所有数据报文中的位置,包括:

发送第二类数据报文所在分组的分组帧;所述分组帧用于指示当前发送的分组的序号;

根据所述分组帧的序号以及所述每个数据报文在分组内索引,指示第二数据报文在所有数据报文中的位置。

在一个或一些可能的实施例中,在判断存在有效负载数据全为1的第一类数据报文情况下,所述发送第二类数据报文之前,还包括:

对所有数据报文的有效负载数据进行取反的操作;所述取反的操作是将每个数据报文有效负载数据中每个bit位的0更改为1,以及1更改为0;

重新确定经过取反操作后的数据报文中的第一类数据报文和第二类数据报文;

发送极性帧,所述极性帧用于指示接收到所述数据报文的设备将接收到的数据报文的有效负载数据进行取反的操作。

在一个或一些可能的实施例中,所述方法还包括:

当所述第一类数据报文的有效负载数据全为1时,对有效负载数据全为0的数据报文进行取反的操作;或当所述第一类数据报文的有效负载数据全为0时,对有效负载数据全为1的数据报文进行取反操作;所述取反的操作是将每个数据报文的有效负载数据中每个比特由0更改为1,以及由1更改为0;

针对取反操作的数据报文发送对应的极性帧,用于指示接收到所述数据报文的设备将接收到的数据报文进行取反的操作。

第二方面,本发明实施例提供一种数据报文的接收方法,包括:

接收第二类数据报文和第二数据报文在所有数据报文中的位置的指示信息;

根据所述第二数据报文在所有数据报文中的位置,确定未发送的第一类数据报文的在所有数据报文中的位置;

根据第一类数据报文的位置和所述第一类数据报文预先约定的数值,以及接收到第二类数据报文及对应的位置,还原所有数据报文。

第三方面,本发明实施例提供一种数据报文的发送方法,包括:

对待发送的至少一个数据报文,判断所述至少一个数据报文中是否存在第三类数据报文,所述第三类数据报文的有效负载中0或1的数量占比超过预设的阈值;

若存在,则对所述第三类数据报文中的有效负载进行分割,分别得到有效负载全为0的第四类数据报文和有效负载全为1的第四类数据报文,并记录各比特在分割前的有效负载中的位置;

发送有效负载中的比特在分割前有效负载中的数量占比未超过预设的阈值的第四类数据报文,并指示所发送的第四类数据报文的有效负载在分割前的有效负载中的位置。

第四方面,一种数据报文的接收方法,包括:

接收第四类数据报文,以及所述第四类数据报文的有效负载在分割前的有效负载中的位置信息;

根据所述位置信息,确定未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置;

根据接收到的第四类数据报文的有效负载,以及所述未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置,还原分割前的有效负载;

根据分割前的有效负载,还原包含所述分割前有效负载的第三数据报文。

第五方面,本发明实施例提供一种配网的方法,包括:在移动终端连接WIFI网络后,广播数据报文,以便智能设备根据该数据报文中的配网信息连接所述WIFI网络;其中,所述广播数据报文的步骤采用如前述的数据报文的发送方法。

第六方面,本发明实施例提供一种智能物联网内通信的方法,所述物联网内任两个设备之间采用如前述的数据报文的发送方法发送报文。

第七方面,本发明实施例提供一种数据报文的发送装置,包括:

判断模块,用于对待发送的所有数据报文,判断所述所有数据报文中是否存在第一类数据报文,所述第一类数据报文为全为0或全为1且在所有数据报文中的数量占比超过预设的阈值的数据报文;

发送模块,用于发送第二数据报文;所述第二类数据报文为所述所有数据报文中除了所述第一类数据报文之外的数据报文;

指示模块,用于指示所述第二类数据报文在所有数据报文中的位置。

第八方面,本发明实施例提供一种数据报文的接收装置,包括:

接收模块,用于接收第二类数据报文和第二数据报文在所有数据报文中的位置的指示信息;

位置确定模块,用于根据所述第二数据报文在所有数据报文中的位置,确定未发送的第一类数据报文的在所有数据报文中的位置;

数据还原模块,用于根据第一类数据报文的位置和所述第一类数据报文预先约定的数值,以及接收到第二类数据报文及对应的位置,还原所有数据报文。

第九方面,本发明实施例提供一种数据报文的发送装置,包括:

判断模块,用于对待发送的至少一个数据报文,判断所述至少一个数据报文中是否存在第三类数据报文,所述第三类数据报文的有效负载中0或1的数量占比超过预设的阈值;

分割模块,用于当判断模块确定存在时,对所述第三类数据报文中的有效负载进行分割,分别得到有效负载全为0的第四类数据报文和有效负载全为1的第四类数据报文,并记录各比特在分割前的有效负载中的位置;

发送模块,用于发送有效负载中的比特在分割前有效负载中的数量占比未超过预设的阈值的第四类数据报文,并指示所发送的第四类数据报文的有效负载在分割前的有效负载中的位置。

第十方面,本发明实施例提供一种数据报文的接收装置,包括:

接收模块,用于接收第四类数据报文,以及所述第四类数据报文的有效负载在分割前的有效负载中的位置信息;

确定模块,用于根据所述位置信息,确定未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置;

数据还原模块,用于根据接收到的第四类数据报文的有效负载,以及所述未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置,还原分割前的有效负载;根据分割前的有效负载,还原包含所述分割前有效负载的第三数据报文。

第十一方面,本发明实施例提供一种配网的装置,包括:广播模块;所述广播模块,用于在移动终端连接WIFI网络后,广播数据报文,以便智能设备根据该数据报文中的配网信息连接所述WIFI网络;其中,所述广播数据报文的步骤采用前述数据报文的发送方法。

第十二方面,本发明实施例提供一种物联网内通信终端,包括:数据报文发送模块,所述数据报文发送模块采用前述的数据报文的发送方法发送报文。

第十三方面,本发明实施例提供一种数据报文的传输系统,包括:

数据报文发送端设备,用于对待发送的所有数据报文,判断所述所有数据报文中是否存在第一类数据报文,所述第一类数据报文为全为0或全为1且在所有数据报文中的数量占比超过预设的阈值的数据报文;若存在,则发送第二类数据报文并指示所发送的第二类数据报文在所有数据报文中的位置;所述第二类数据报文为所述所有数据报文中除了所述第一类数据报文之外的数据报文;

数据报文接收端设备,用于接收第二类数据报文和第二数据报文在所有数据报文中的位置的指示信息;根据所述第二数据报文在所有数据报文中的位置,确定未发送的第一类数据报文的在所有数据报文中的位置;根据第一类数据报文的位置和所述第一类数据报文预先约定的数值,以及接收到第二类数据报文及对应的位置,还原所有数据报文。

第十四方面,本发明实施例提供一种移动终端,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机指令,所述指令被处理器执行时能够实现如前述的数据报文的发送方法。

第十五方面,本发明实施例提供一种智能设备,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机指令,所述指令被处理器执行时能够实现如前述的数据报文的发送方法。

第十六方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时能够实现前述数据报文的发送方法,或能够实现前述数据报文的接收方法,或能够实现前述配网的方法,或能够实现前述智能物联网内通信的方法。

本发明实施例提供的上述技术方案的有益效果至少包括:

本发明实施例提供的数据报文的发送方法、接收方法、配网方法及相关装置和系统,对于待发送的所有数据报文,判断该数据报文中是否存在第一类数据报文,第一类报文是有效负载全为0或全为1的且数量占比超过预设阈值的数据报文,如果存在,则发送除了第一类数据报文之外的数据报文,并且指示所要发送的数据报文在所有数据报文中的位置,以便数据接收端根据默认收到的第一类数据报文和实际收到的第一类数据报文及其实际位置,得到所有的数据报文。本发明实施例在判断存在第一类数据报文后,选择不发送第一类数据报文且发送第二类数据报文,使得可发送的数据报文的数量大大减少,与现有技术中发送所有的数据报文的方案相比,可节约带宽资源,减少了报文分组出错的几率,同时也提升了传输效率。

进一步地,本发明实施例采用新的编码方式,即在每个数据报文的编码空间中,填充每个数据报文包含的数据报文的索引,并在填充完毕索引后剩余的编码空间填充payload的对应部分,直至完成所述分组内所有数据报文的填充,也就是在有限的编码空间内,优先考虑index的填充,再将payload数据按照剩下空间的大小划分多个分组进行发送,这样可保证在数据报文先发后至,后发先至的情况下,不会因为index而算错分组,并且,根据payload的bit位的顺序进行分组,分组的数目是相对固定的,并不会因为待发送数据的数量的增加而增加,也是的分组的数量相对较少,提高了数据报文的发送和接收的准确性,是一种较鲁棒的数据通信方式。

进一步地,本发明实施例还可以根据payload全为1或者全为0数据报文的数量占比情况,选择将全部数据报文进行数据取反,或者部分数据报文进行数据取反,并针对性发送极性帧的情况,可以进一步优化发送的流程,减少可发的数据量,提升数据报文发送和接收的效率和准确性。

本发明实施例提供的另一种数据报文的发送方法,针对有效负载中0或1的数量占比超过预设阈值的情形,对有效负载进行了分割,得到负载全为0或全为1的第四类数据报文,然后发送有效负载占比较小的那部分并指示其在分割前的有效负载中的位置,在数据报文接收端,利用接收到的第四类数据报文和位置信息,还原未发送的那些数据报文,并最终还原第三类数据报文,也可使得可发送的数据报文的数量大大减少,可节约带宽资源,减少了报文分组出错的几率,同时也提升了传输效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例提供的数据报文的发送方法的流程图;

图2为16个数据的情况下传统的数据报文的编码方式的示意图;

图3A~3C为本发明实施例提供的16个数据在6bit编码空间的情况下,分为3个分组的编码示意图;

图4为32个数据的情况下传统的数据报文的编码方式的示意图;

图5A~5B为本发明实施例提供的32个数据在6bit编码空间的情况下,分为2个分组的编码示意图;

图6为本发明实施例提供的数据报文的接收方法的流程图;

图7为本发明实施例提供的用于传输0~7的数据报文的编码和分组的示意图;

图8为本发明实施例提供的涉及物联网的包长编码配网的场景下的配网过程流程图;

图9为本发明实施例提供的移动终端的APP的界面示意图;

图10为本发明实施例提供的另一种数据报文的发送方法的流程图;

图11为本发明实施例提供的数据报文的接收方法的流程图;

图12为本发明实施例提供的数据报文的发送装置的结构框图;

图13为本发明实施例提供的数据报文的接收装置的结构框图;

图14为本发明实施例提供的另一种数据报文的发送装置的结构框图;

图15为本发明实施例提供的另一种数据报文的接收装置的结构框图;

图16为本发明实施例提供的数据报文的传输系统的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为了更好地说明本发明实施例提供的数据报文的发送方法、接收方法、配网方法和智能物联网内通信的方法及装置和系统,首先对本发明实施例所涉及的网络架构进行简单的说明,本发明实施例基于数据报文发送端和数据报文接收端,在不同的具体的场景下,上述数据报文发送端和数据报文接收端可能为多种不同的设备和/或终端,例如上述通信可能发生在局域网或广域网中,所涉及的数据报文的发送端和数据报文的接收端可能为各种移动终端,个人PC,工业级服务器等,例如在智能物联网的细分领域智能家居领域,配网的场景下,上述数据报文的发送端为移动终端,接收数据报文的是被控制的智能家居设备;而在其他场景下,例如局域网的通信的场景下,则数据报文发送端和数据报文的接收端则可能是各种电脑、移动终端手机或者其他设备等。又例如在移动支付的场景下,则数据报文的发送端可能是发起的支付的移动终端设备,而数据报文的接收端可能是各种具有扫描功能的条码扫描枪等。本领域技术人员可根据本发明实施例披露的技术方案,将其实施至任何可能的技术场景中。

为了解决现有数据报文分组较多,报文可能出现的错误接收、传输资源耗费、传输效率较低的问题,本发明实施例提供了一种数据报文的发送方法,对于数据发送端来说,参照图1所示,其至少执行下述步骤:

S11、对待发送的至少一个数据报文,判断至少一个数据报文中是否存在第一类数据报文;第一类数据报文为全为0或全为1且在该至少一个数据报文中的数量占比超过预设的阈值的数据报文;若存在,则执行下述步骤S12;

S12、发送第二类数据报文并指示所发送的第二类数据报文在该至少一个数据报文中的位置。

第二类数据报文为该至少一个数据报文中除了所述第一类数据报文之外的数据报文。

本发明实施例并不限定待发送的数据报文的数量。

在上述步骤S11中,如果第一类数据报文为全为1的数据,则第二类数据报文就包含下述两种数据报文:一种是全为0的数据,另一种是部分bit位为0部分bit位为1的数据报文。

反过来,如果第一类数据报文为全为0的数据,则第二类数据报文就包含下述两种数据报文:一种是全为1的数据,另一种是部分bit位为0部分bit位为1的数据报文。

上述步骤S12中,只发送第二类数据报文并指示第二类数据报文在所有数据报文中的位置,而不发送第一类数据报文,数据接收端可根据接收到的第二数据报文及其位置信息,确定出第一类数据报文在所有数据报文中的位置,由于第一类数据报文的数据(全为1或者全为0)是通信双方预先设置好的,因此,可以根据第一类数据报文的预先约定好的数据、接收到的第二类数据报文以及第一类数据报文和第二数据报文在所有数据报文中的位置,还原所有数据报文。

本发明实施例提供的上述数据报文的发送方法,在判断存在第一类数据报文后,不发送第一类数据报文而发送第二类数据报文,使得可发送的数据报文的数量大大减少,与现有技术中发送所有的数据报文的方案相比,可节约带宽资源,减少报文分组出错的几率,提升了传输效率。

如前述,传统的包长配网使用的编码方式,是优先将一个有效负载(payload)数据完整地编码入数据包中,再将多余的bit数用以编码该数据包所属的序号(index),其编码的方式参照图2所示,图2中,每个payload占据6bit的空间,如果还有多余的编码空间,再承载index。

参照图2所示,每个数据报文都是完全承载了其所有的payload,每个数据报文中都包含一个完整的payload,以及一个序列(index)字段(受制于包长所能表示范围的限制,index字段往往不能表达绝对的序列,只能表示相对的序列,比如分组1-4这样的分组内的相对序列),在数据报文的编码空间受限的情况下,比如编码空间的比特数和有效负载数据的比特数一致的情况下,则上述表1的数据报文的编码发送完全不适用,因为payload已经用掉了所有的bit位,没有bit位可供容纳index字段。

没有index,或者编码空间不足以容纳index字段,会使得编码后的数据报文缺乏指示其分组内顺序的index或者指示信息简化,在数据报文接收端,则由于报文的先发后到,或者后发先到的情况导致无法最终获得正确的数据的可能性大大增加,在某些场景下,需要一种鲁棒性高的数据发送方式。

基于此,本发明实施例还提出一种优化的数据报文的编码方式,将所有数据报文分为若干分组,与传统方式不同的是,在数据报文的编码过程中:

根据每个数据报文的编码空间的大小,以及每个数据报文在分组内索引所占空间大小,确定每个数据报文内有效负载数据payload可用空间大小;

根据每个payload的总大小和所述payload可用空间大小,确定每个分组中包含的数据报文的数量;

在每个数据报文的编码空间中,填充每个数据报文包含的数据报文的索引,并在填充完毕索引后剩余的编码空间填充payload的对应部分,直至完成所述分组内所有数据报文的填充。

并且,数据报文发送端通过发送第二类数据报文所在分组的分组帧,该分组帧用于指示当前发送的分组的序号,从而接收端可知晓当前即将接收的数据报文所在的分组,数据报文的发送根据分组帧的序号以及每个数据报文在分组内的索引(用于指示在对应分组内的相对位置),最终指示第二数据报文在所有数据报文中的位置。

每个数据包中都优先保证index有足够的空间,剩余空间再容纳payload中的一部分,参照图3A~3C中的例子,将6bit的payload分为3个数据报文发送,分别是bit0~bit1一个分组,bit2~bit3一个分组,bit4~bit5一个分组,每个分组内16个数据报文。在该方案中,在编码空间总共为6个bit的情况下,用其中的4个bit来做index,解决了现有技术中没有编码空间以容纳index的问题,将数据报文中剩余的2个bit拿来传输payload的对应部分,第一分组内的数据报文分别传输16个payload的bit0-bit1,第二分组内的数据报文分别传输16个payload的bit2-bit3,第三分组内的数据报文分别传输16个payload的bit4-bit5。

再以编码空间为8bit为例,按照传统的编码方式,其分组和编码的方式如图4所示,32个数据报文被分为了8个分组,每个分组内是4个数据报文。每个分组的数据报文发送之前,需要发送对应的分组帧。

按照本发明实施例优化后的编码方式,上述payload,分成两个分组帧发送,第一个分组内,数据报文发送32个payload的前3个bit,即bit0~bit2,在第二个分组内,数据报文发送32个payload的后3个bit,即bit3~bit5。两个分组分别参照图5A和图5B;在每个分组内,都有32个数据报文,图5A所示的是发送payload中bit0~bit2这部分的分组的数据报文,图5B所示的是发送payload中bit3~bit5这部分的分组的数据报文。在两个分组之前,分别发送分组帧1和分组帧2。

上述方案可提升数据接收的正确率,并且,由于是根据payload的bit位的顺序进行分组,分组的数目是相对固定的,并不会因为待发送数据的数量的增加而增加。例如待发送数据为8个bit,一般按照2个bit一组来分组的话也只有4组,相对于传统编码方式在数据量大的时候的十来个分组的情况,本方案的分组数也不会大大增加。较少的分组数降低了设备端接收的包被划错分组的可能性,从而提高了数据接收的成功率。

本发明实施例提供的上述数据报文的编码和分组方式,与传统的编码的方式相比较,一定程度上存在数据报文总数量的增加和数据发送时间增加的问题,因此,在具体实施时,可根据实际需求选择是否采用上述编码方式还是沿用传统的编码方式。

在一个或一些可能的实施例中,为了进一步简化双方对第一类数据报文的约定方式,通信双方可默认未接收的所有数据报文中payload都是全为0的数据,在这种情况下,当所有数据报文中,payload全为1的数据报文占比超过预设的阈值的情况下,比如这类数据报文占比超过60%时,可将这类的数据报文判定为第一类数据报文,因为通信双方默认未接收的所有数据报文中payload都是全为0的数据,因此,在本发明实施例中,还可以对所有数据报文的payload进行取反的操作;取反的操作是指将每个数据报文payload中每个bit位的0更改为1,以及将1更改为0。

例如数据报文payload为“111”,取反后为“000”,又例如payload为“000”,则取反后为“111”,payload为“001”,取反后为“110”。

取反之后,payload的全为1的数据变成了占比超过60%的数据报文,即第一类数据报文,然后按照上述S11~S12的步骤,重新确定经过取反操作后的数据报文中的第一类数据报文和第二类数据报文;然后发送第二类数据报文并指示其在所有数据报文中的位置。

除了正常发送数据报文之外,还需要发送极性帧,极性帧用于指示接收到数据报文的设备将接收到的数据报文的payload进行取反的操作。也就是说,接收端会将接收到的数据报文的payload进行取反,还原之前的原始数据。

在一个或一些可能的实施例中,为了进一步减少需要发送的第二类数据报文的数量,则在上述步骤S11即判断第一类数据报文的payload全为1时,对所有数据报文中payload全为0的数据报文进行取反的操作,或当第一类数据报文的payload全为0时,对payload全为1的数据报文进行取反操作,这样,可以对局部的数据报文进行取反操作,增加第一类数据报文的数量,进一步减少第二类数据报文的发送工作量,但在需要针对已进行取反操作的数据报文发送对应的极性帧,该极性帧用于指示接收到数据报文的设备将接收到的数据报文进行取反的操作,以还原原始的数据。

需要说明的是,上述方式虽然会减少对应数据报文的发送,但相对增加极性帧的发送量,因此,在另一些可能的实施例中,还可以根据数据报文中payload全为1和payload全为0的比例,选择对部分分组作为整体进行数值取反,换言之,以分组为单位,将整个分组内的数据报文进行数值取反,这样可以针对一个分组发送对应的极性帧。以达到既减少了第二类数据报文的数量,又减少了极性帧的发送量的目的。

本发明实施例还提供了与上述数据报文的发送方法所对应的数据报文的接收方法,该方法适用于数据报文的接收端,参照图6所示,该数据报文的接收方法包括以下步骤:

S61、接收第二类数据报文和第二数据报文在所有数据报文中的位置的指示信息;

S62、根据第二数据报文在所有数据报文中的位置,确定未发送的第一类数据报文的在所有数据报文中的位置;

S63、根据第一类数据报文的位置和第一类数据报文预先约定的数值,以及接收到第二类数据报文及对应的位置,还原所有数据报文。

对于接收到极性帧的情形,数据报文的接收端还可以根据接收到的极性帧所指示的发生取反操作的数据报文,在还原所有数据报文后,再根据该极性帧进行对应的取反操作,最终还原所有的数据报文的原始数据。

为了更好地说明本发明提供的上述数据报文的发送方法和数据报文的接收方法,本发明实施例结合两个具体的实施例进行说明。

实施例一:

以待发送数据为0、1、2、3、4、5、6和7这8个数据,以数据报文能够编码的范围为6个bit为例,其数据报文的编码和分组的示意图参照图7所示。

将6个bit中的4个拿来编码数据包的绝对位置,将剩余的2个bit用来编码payload。以数字7(二进制为0b00000111)为例,在一个完整payload为8个bit的情况下,需要分为4组,分别为0b00、0b00、0b01和0b11这样8个数字,按照4组拆分后,8个数据总共需要8*4=32个片段来完成传输,即总共需要发送32次才能发送完。

发送端设备(例如移动终端等)的小程序(例如APP)第一次发送分组0,共8个报文,接着分别发送分组1,分组2,分组3。

对于分组后需要发送的数据报文,从图7中可以观察到里面大量都是payload为全零的数据,而只有少部分数据报文不是。

因此,基于每组中payload非全零的数据报文与所有数据报文的数量占比,其超过了一定的门限值(例如60%)。

剩下的payload为非全0的数据报文,如果在图7中加以标识的话,可以看到只有分组2中有4个payload为非全零的数据报文(用填充浅灰标识),而分组3中有6个payload为非全零的数据报文(用填充深灰标识),则一共10个payload为非全零的数据报文。

对于这种全零数据占多数的情况,例如超过60%的情况,认为是第一类数据报文,接收端设备会默认收到的是这种数据,这类数据报文并不用实际发送。

有一种假设,如果是payload为全1的数据报文占多数的情况(例如超过60%的阈值),可标记为异常极性数据,在发送前将所有数据取反,即将数据报文的payload中的1改为0,0改为1,同时需要发送一个极性帧给接收端设备,接收端设备收到数据报文后根据该极性帧,把数据报文中的payload颠倒过来,以还原真实的原始数据。

发送端设备只需要发送payload非全零那个或那些数据报文,因此通过这样编码后,总共只需要发送10个数据包,而非所有的32个数据包,大大节约了发送总次数。发送端设备可以跳过分组0和分组1,直接发送分组帧3,接着发送浅灰色标识的4个数据,再发送分组帧4,接着发送深灰色标识的6个数据。

在一轮数据发送结束后,发送端设备会发送一个结束帧,接收端设备在收到该结束帧后,默认没有实际收到的数据都是0,从而结束本轮数据报文的发送。如果之前接收过极性帧,那么接收端设备会把所有收到的所有数据报文中的payload数据取反,以还原原始数据。

实施例二:

在本发明实施例二中,涉及物联网的包长编码配网的场景,在该场景中,由移动终端例如手机的APP将WIFI网络的SSID和密码编码到UDP报文中,通过广播包,或组播报文发送。

参照图8所示,其大体流程的步骤如下:

S81、手机侧的APP连接WIFI;

S82、APP发配网UDP数据包,循环发送SSID和PASSWORD。

APP发送配网UDP数据包的过程,可采用前述数据报文的编码方法,即对每个数据报文来说,优先填充index部分,剩下的bit位,再用于填充payload数据的部分,以此决定分组数量。在payload数据全为1或全为0数量占比较多的情况下,选择不发送这部分数据包,而发送那些payload非全零的数据包,必要时,进行数据取反并发送对应的极性帧,具体实施过程可参照前述数据报文的发送方法和数据报文的接收方法,在此不再赘述。

S83、智能设备监听网络中的所有报文,通过UDP包获取到SSID和对应的密码;

智能设备例如可以是各种可实现特定功能的设备,比如常见的家电设备例如电视、空调、热水器等等。或者办公设备,比如投影设备、扫描仪、打印机等等。

S84、智能设备根据获取到的SSID和对应的密码,与WIFI路由器连接,实现手机与智能设备处于同一WIFI网络内。

S85、手机APP可以通过如图9所示的界面添加同一WIFI网络中的各种智能设备,以便通过路由器实现对智能设备的智能控制。

在待发送的数据报文中,还有一类数据报文,其有效负载并不完全为0或者为1,而是大部分为0,小部分为1,或者大部分为1,小部分为0的情况,针对这类数据报文,同样可以采用与前述数据报文的发送方法类似的方法,以减少实际发送的数据报文的数量,节约带宽资源,提升传输效率。

针对这类方案,本发明实施例提供了另一种数据报文的发送方法,参照图10所示,包括下述步骤:

S101、对待发送的至少一个数据报文,判断所述至少一个数据报文中是否存在第三类数据报文,所述第三类数据报文的有效负载中0或1的数量占比超过预设的阈值;若存在,执行步骤S102;否则,执行步骤S104;

S102、对第三类数据报文中的有效负载进行分割,分别得到有效负载全为0的第四类数据报文和有效负载全为1的第四类数据报文,并记录各比特在分割前的有效负载中的位置;

S103、发送有效负载中的比特在分割前有效负载中的数量占比未超过预设的阈值的第四类数据报文,并指示所发送的第四类数据报文的有效负载在分割前的有效负载中的位置。

S104、结束流程。

举例子来说,某一个数据报文的有效负载为“1111111111111111111001”,由于从各比特的数量占比来看,绝大多数是1,少数是0,其中比特为1的数量占比超过了90%,则认为该数据报文是第三类数据报文,针对这类数据报文,可以将其少数是0的比特剥离出来,也就是将有效负载一分为二,分别得到有效负载的比特全为1和有效负载的比特全为0的两个第四类数据报文,记录各比特在分割前的有效负载中的位置,以便后续数据报文的接收端还原未发送的部分。

后续发送数据报文时,针对第三类数据报文,将只发送有效负载中数量占比比较小的那部分比特,比如上面的例子,只发送分割后有效负载全为0的部分并指示这些全为0的比特在原来未分割的有效负载中的位置。这样就可以达到少发送数据报文,节约带宽和提高数据报文发送效率的目的。

相对应的,对于数据报文的接收端来说,其数据报文的接收方法,参照图11所示,包括下述步骤:

S111、接收第四类数据报文,以及所述第四类数据报文的有效负载在分割前的有效负载中的位置信息;

S112、根据位置信息,确定未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置;

S113、根据接收到的第四类数据报文的有效负载,以及未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置,还原分割前的有效负载;

S114、根据分割前的有效负载,还原包含分割前有效负载的第三类数据报文。

利用上述步骤S111~S114,数据报文的接收端就可以还原未接收到的有效负载的那部分,最终还原整个第三类数据报文。

本领域的技术人员可以想见,在具体实施过程中,上述不同方式的数据报文的发送方法在某些情形下可以同时运用,也就是说,在判断待发送的数据报文包含第一类数据报文和/或第三类数据报文时,可以选择对应的数据报文的发送方法,或者同时使用这两种数据报文的发送方法,都能够实现减少数据报文的发送数量,节约带宽,以及减少报文分组出错的几率,提升传输效率的目的。

本发明实施例还提供了一种配网的方法,该方法包括:在移动终端连接WIFI网络后,广播数据报文,以便智能设备根据该数据报文中的配网信息连接所述WIFI网络;所述广播数据报文的步骤采用前述数据报文的发送方法。

本发明实施例还提供了一种智能物联网内通信的方法,所述物联网内任两个设备之间采用前述数据报文的发送方法发送报文。

基于同一发明构思,本发明实施例还提供了一种数据报文的发送装置、数据报文的接收装置和终端及系统,由于这些装置和终端所解决问题的原理与前述数据报文的发送方法、数据报文的接收方法相似,因此该装置和客户端及系统的实施可以参见前述方法的实施,重复之处不再赘述。

本发明实施例提供一种数据报文的发送装置,参照图12所示,包括:

判断模块121,用于对待发送的所有数据报文,判断所述所有数据报文中是否存在第一类数据报文,所述第一类数据报文为全为0或全为1且在所有数据报文中的数量占比超过预设的阈值的数据报文;

发送模块122,用于发送第二数据报文;所述第二类数据报文为所述所有数据报文中除了所述第一类数据报文之外的数据报文;

指示模块123,用于指示所述第二类数据报文在所有数据报文中的位置。

本发明实施例提供一种数据报文的接收装置,参照图13所示,包括:

接收模块131,用于接收第二类数据报文和第二数据报文在所有数据报文中的位置的指示信息;

位置确定模块132,用于根据第二数据报文在所有数据报文中的位置,确定未发送的第一类数据报文的在所有数据报文中的位置;

数据还原模块133,用于根据第一类数据报文的位置和第一类数据报文预先约定的数值,以及接收到第二类数据报文及对应的位置,还原所有数据报文。

本发明实施例提供了一种配网的装置,包括:广播模块;所述广播模块,用于在移动终端连接WIFI网络后,广播数据报文,以便智能设备根据该数据报文中的配网信息连接所述WIFI网络;所述广播数据报文的步骤采用前述数据报文的发送方法。

本发明实施例提供一种数据报文的发送装置,参照图14所示,包括:

判断模块141,用于对待发送的至少一个数据报文,判断所述至少一个数据报文中是否存在第三类数据报文,所述第三类数据报文的有效负载中0或1的数量占比超过预设的阈值;

分割模块142,用于当判断模块确定存在时,对所述第三类数据报文中的有效负载进行分割,分别得到有效负载全为0的第四类数据报文和有效负载全为1的第四类数据报文,并记录各比特在分割前的有效负载中的位置;

发送模块143,用于发送有效负载中的比特在分割前有效负载中的数量占比未超过预设的阈值的第四类数据报文,并指示所发送的第四类数据报文的有效负载在分割前的有效负载中的位置。

本发明实施例提供的一种数据报文的接收装置,参照图15所示,包括:

接收模块1501,用于接收第四类数据报文,以及所述第四类数据报文的有效负载在分割前的有效负载中的位置信息;

确定模块1502,用于根据所述位置信息,确定未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置;

数据还原模块1503,用于根据接收到的第四类数据报文的有效负载,以及所述未发送的第四类数据报文中的有效负载在分割前的有效负载中的位置,还原分割前的有效负载;根据分割前的有效负载,还原包含所述分割前有效负载的第三数据报文。

本发明实施例提供了一种物联网内通信终端,包括:数据报文发送模块,所述数据报文发送模块采用前述数据报文的发送方法发送报文。

本发明实施例提供了一种数据报文的传输系统,参照图16所示,包括:

数据报文发送端设备161,用于对待发送的所有数据报文,判断所述所有数据报文中是否存在第一类数据报文,所述第一类数据报文为全为0或全为1且在所有数据报文中的数量占比超过预设的阈值的数据报文;若存在,则发送第二类数据报文并指示所发送的第二类数据报文在所有数据报文中的位置;所述第二类数据报文为所述所有数据报文中除了所述第一类数据报文之外的数据报文;

数据报文接收端设备162,用于接收第二类数据报文和第二数据报文在所有数据报文中的位置的指示信息;根据所述第二数据报文在所有数据报文中的位置,确定未发送的第一类数据报文的在所有数据报文中的位置;根据第一类数据报文的位置和所述第一类数据报文预先约定的数值,以及接收到第二类数据报文及对应的位置,还原所有数据报文。

本发明实施例还提供了一种移动终端,该移动终端包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机指令,所述指令被处理器执行时能够实现如前述的数据报文的发送方法。

本发明实施例还提供了一种智能设备,包括:存储器、处理器及存储于存储器上并可在处理器上运行的计算机指令,所述指令被处理器执行时能够实现前述数据报文的接收方法。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时能够实现如前述数据报文的发送方法,或能够实现前述数据报文的接收方法,或能够实现前述配网的方法,或能够实现前述的智能物联网内通信的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据传输时的波束确定方法及装置、存储介质、UE、基站

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!