本发明涉及无线通讯领域,尤其涉及一种数据传输方法及装置。
背景技术:
LoRa技术是一种超长距离低功耗数据传输技术,具有低功耗、远距离和数据发送量小的特点,基本可以满足智能表在无线通讯领域的要求,而基于广域网超长距离低功耗数据传输技术(LongRange Wide Area Network,LoRaWAN)的标准协议可以保证不同厂家不同产品型号的智能表在大范围通讯过程中的互通性。
图1为现有技术LoRaWAN标准协议系统构架图,如图1所示,每个区域部署一个基站Gateway12,该基站Gateway12安装有一个通信模块,该通信模块可以通过一个固定的频段与基站Gateway12覆盖范围内的多个智能表11进行数据传输。在某个时间段内,多个智能表11同时向该频段传输数据,就有可能出现同一频段使用冲突而数据不能发送成功的问题。
技术实现要素:
本发明提供了一种数据传输方法及装置,用以解决现有技术中在某个时间段内,多个智能表同时向同一频段传输数据,就有可能出现同一频段使用冲突而数据不能发送成功的问题。
为了解决上述问题,本发明提供了一种数据传输方法,如果所述智能表识别到存在待传输的数据包,该方法包括:
A1:根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,其中所述至少两个频段中任意两个频段不同;
B1:采用所述第一频段发送所述数据包;并判断通过所述第一频段未接收到所述数据包发送成功的确认信息时,将所述第一频段标识为被占用;
C1:判断自身保存的每个频段是否都被占用,如果否,返回步骤A1;如果是,选择第二频段,采用所述第二频段发送所述数据包。
进一步地,所述通过所述第一频段未接收到所述数据包发送成功的确认信息包括:
当通过所述第一频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述第一频段未接收到所述数据包发送成功的确认信息。
进一步地,判断所述发送失败次数是否达到设定的次数阈值,如果否,所述方法还包括:
继续采用所述第一频段发送所述数据包。
进一步地,如果通过所述第二频段未接收到所述数据包发送成功的确认信息,所述方法还包括:
继续采用所述第二频段发送所述数据包。
进一步地,如果通过所述第二频段接收到所述数据包发送成功的确认信息,所述方法还包括:
将智能表中保存的每个频段标识为未被占用。
进一步地,如果通过所述第二频段接收到所述数据包发送成功的确认信息,所述方法还包括:
将所述第二频段更新到发送成功记录中;并记录该数据包发送成功的时间点;
所述根据自身保存的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段包括:
计算当前时间及所述发送成功记录总保存的数据包发送成功的时间点的差值,判断所述差值是否小于设定的时间阈值;
如果是,选择所述未被占用的第一频段。
进一步地,预先获取并保存入网成功的至少两个频段的信息的过程包括:
A2:针对自身保存的至少两个频段的信息及每个频段是否入网成功的信息,选择未入网的频段,采用该未入网的频段向基站发送入网请求;
B2:如果通过该未入网的频段接收到入网成功响应信息,则将该未入网的频段保存到入网成功的频段的信息中,并标识所述未入网的频段入网成功,判断是否每个频段都入网成功,如果否,返回步骤A2。
进一步地,如果通过该未入网的频段未接收到入网成功响应信息,所述方法还包括:
当通过所述未入网的频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述未入网的频段未接收到所述数据包发送成功的确认信息,将所述未入网的频段标识为入网不成功频段。
本发明提供了一种数据传输装置,所述装置包括:
选择模块,用于如果所述智能表识别到存在待传输的数据包,根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,其中所述至少两个频段中任意两个频段不同;
发送模块,用于采用所述第一频段发送所述数据包;
第一判断标识模块,判断通过所述第一频段未接收到所述数据包发送成功的确认信息时,将所述第一频段标识为被占用;
判断模块,用于判断自身保存的每个频段是否都被占用;如果否,返回选择模块;如果是,触发第一选择发送模块;
第一选择发送模块,用于选择第二频段,采用所述第二频段发送所述数据包。
进一步地,所述第一判断标识模块包括:
更新单元,用于当通过所述第一频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
判断确定单元,用于判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述第一频段未接收到所述数据包发送成功的确认信息。
进一步地,所述判断确定单元,还用于判断所述发送失败次数是否达到设定的次数阈值,如果否,触发发送模块。
进一步地,所述第一选择发送模块,还用于:
如果通过所述第二频段未接收到所述数据包发送成功的确认信息,继续采用所述第二频段发送所述数据包。
进一步地,所述装置还包括:
标识模块,用于如果通过所述第二频段接收到所述数据包发送成功的确认信息,将智能表中保存的每个频段标识为未被占用。
进一步地,所述装置还包括:
更新记录模块,用于如果通过所述第二频段接收到所述数据包发送成功的确认信息,将所述第二频段更新到发送成功记录中;并记录该数据包发送成功的时间点;
所述选择模块包括:
计算判断单元,用于计算当前时间及所述发送成功记录总保存的数据包发送成功的时间点的差值,判断所述差值是否小于设定的时间阈值;如果是,触发选择单元;
选择单元,用于选择所述未被占用的第一频段。
进一步地,所述装置还包括:
第二选择发送模块,用于针对自身保存的至少两个频段的信息及每个频段是否入网成功的信息,选择未入网的频段,采用该未入网的频段向基站发送入网请求;
保存判断模块,用于如果通过该未入网的频段接收到入网成功响应信息,则将该未入网的频段保存到入网成功的频段的信息中,并标识所述未入网的频段入网成功,判断是否每个频段都入网成功,如果否,返回第二选择发送模块。
进一步地,所述装置还包括:
更新模块,用于当通过所述未入网的频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
第二判断标识模块,用于判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述未入网的频段未接收到所述数据包发送成功的确认信息,将所述未入网的频段标识为入网不成功频段。
本发明提供一种数据传输方法及装置,如果所述智能表识别到存在待传输的数据包,该方法包括:A1:根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,其中所述至少两个频段中任意两个频段不同;B1:采用所述第一频段发送所述数据包;并判断通过所述第一频段未接收到所述数据包发送成功的确认信息时,将所述第一频段标识为被占用;C1:判断自身保存的每个频段是否都被占用,如果否,返回步骤A1;如果是,选择第二频段,采用所述第二频段发送所述数据包。由于本发明实施例中的智能表中保存有至少两个频段的信息,即智能表可以基于两至少两个频段与基站进行数据传输,当智能表选择一个频段进行数据包的发送不成功时,即该频段被其他智能表占用时,可以选择第二频段进行数据包的发送,因此可以有效地避免因频段使用冲突而引起的数据不能发送成功的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术低功耗广域网LoRaWAN标准协议系统构架图;
图2为本发明实施例1提供的数据传输方法的示意图;
图3为本发明实施例1提供的一种基于LoRaWAN标准协议的系统示意图;
图4为本发明实施例1提供的另一种基于LoRaWAN标准协议的系统示意图;
图5为本发明实施例2提供的一种数据传输方法的流程图;
图6为本发明实施例8提供的一种数据传输方法的入网流程图;
图7为本发明实施例提供的一种数据传输的装置结构图。
具体实施方式
为解决因频段使用冲突而引起的数据不能发送成功的问题,本发明实施例提供了一种数据传输方法及装置。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图2为本发明实施例提供的一种数据传输方法的示意图,该方法包括以下步骤:
S201:根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,其中所述至少两个频段中任意两个频段不同。
本发明实施例提供的一种数据传输方法应用于智能表,所述智能表中预先保存有入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,其中所述至少两个频段中任意两个频段不同。其中该智能表中保存的至少两个频段的信息可以是人为预先配置到智能表中的,也可以智能表通过与其所在范围内的基站进行数据传输获取并保存的频段的信息。
其中一个基站可以安装多个不同频段的通讯模块,因此该至少两个频段的信息可以是同一基站中安装的至少两个不同的通讯模块的频段的信息,也可以是至少两个基站中,每个基站中安装有一个通讯模块,其中基站中安装的通信模块的频段不同。智能表也支持多个频段通讯模块,一个智能表也可以安装多个不同频段的通讯模块,从而可以采用对应的频段进行数据包的传输。
所述智能表中安装的每个通讯模块的频段和所述基站中安装的每个通讯模块的频段可以是一一对应的。至少基站中安装的每个通讯模块的频段的信息都保存在了智能表中。
如果在进行数据包的发送时,第一次发送某一数据包时,此时智能表并不知道每个频段是否被占用,此时可以将每个频段标识为未被占用,在进行第一频段的选择时,可以任意选择一个即可。
S202:采用所述第一频段发送所述数据包;并判断通过所述第一频段未接收到所述数据包发送成功的确认信息时,将所述第一频段标识为被占用。
所述采用第一频段发送所述数据包的过程属于现有技术,本发明实施例中不做赘述。智能表采用第一频段进行数据包的发送后,如果第一频段未被占用,则该数据包将会被发送给基站,并且基站还会向智能表返回该数据包发送成功的响应信息。但如果该第一频段被其他智能表占用,则该数据包无法发送给基站,智能表也就没办法接收到基站针对该数据包返回的响应信息。因此为了准确的识别出该第一频段是否被占用,可以根据是否通过所述第一频段未接收到所述数据包发送成功的确认信息来判断。
具体的,智能表采用第一频段进行数据包的发送后,启动定时器,判断该定时器的定时时长内是否接收到基站发送的所述数据包发送成功的响应信息,从而确定所述第一频段是否被占用。
当选择了某一频段进行数据包的发送后,如果通过该频段不能成功发送数据包,说明该频段当前被其他智能表使用,此时可以将该频段标识为被占用。
S203:判断自身保存的每个频段是否都被占用,如果否,返回步骤S201;如果是,进行步骤S204。
S204:选择第二频段,采用所述第二频段发送所述数据包。
智能表中保存有至少两个频段的信息,如果智能表通过每个频段都进行了数据的发送,但是都没有接收到基站返回的数据包发送成功的响应信息,则说明每个频段都被占用的。为了保证该数据包的成功发送,智能表需要选择一个第二频段进行数据包的发送。如果当前存在未被占用的频段,则可以在未被占用的频段中选择一个进行数据包的发送。
所述选择第二频段可以为在被占用的所有频段中任意选择,也可以根据预设的规则进行选择,所述预设的规则可以是根据频段的高低进行选择,例如所述智能表在未被占用的频段中将最高频段选择为第二频段。
具体地,在本发明实施例中可以在基站中部署两个不同频段的通讯模块,从而实现数据的传输。图3为本发明实施例提的一种基于LoRaWAN标准协议的系统构架示意图,如图3所示,智能表包括主控模块31和无线通讯模块Node模块32,所述主控模块31用于控制采集信息,所述Node模块32安装在智能表上,可以与主控模块31进行数据交互。LoRaWAN标准协议系统架构图中,还包括基站Gateway33和网络侧设备,其中无线通讯模块Node模块32和基站Gateway33都为支持多频段的硬件,基站Gateway33中设置有第一频段模块331和第二频段模块332,第一频段模块331和第二频段模块332为不同频段的模块。网络侧设备包括网络服务器NServer34、应用服务器AServer35和运营系统36。
如图3所示的具体的数据传输过程为:智能表在与网络侧设备进行数据交互时,智能表上的主控模块31对数据包进行加密,Node模块32采用第一频段模块331对应的第一频段将数据包发送给基站Gateway33,当通过所述第一频段未接收到发送成功的确认信息时,选择第二频段模块332对应的第二频段将数据包发送给基站Gateway33,基站Gateway33只是一个中转站,不对数据包进行任何处理,基站Gateway33的第二频段模块332在接收到数据包后,将所述数据包发送给网络服务器NServer34,网络服务器NServer34将所述数据包发送给应用服务器AServer35,应用服务器AServer35将所述数据包发送给运营系统36,运营系统36进行数据包解密。
所述智能表上的主控模块31对数据包进行加密和运营系统36进行数据包解密的过程属于现有技术,本发明实施例中不做赘述。
在本发明实施例中也可以部署两个基站,每个基站中部署一个通讯模块,这两个通讯模块的频段不同,从而实现数据的传输。图4为本发明实施例提的另一种基于LoRaWAN标准协议的系统构架示意图,区别于图3,图4中包括第一频段基站Gateway431和第二频段基站Gateway432,第一频段基站Gateway431部署有第一频段的通讯模块、第二频段基站Gateway432部署有第二频段的通讯模块,第一频段和第二频段为不同的频段。
如图4所示的具体的数据传输过程为:智能表在与网络侧设备进行数据交互时,智能表上的主控模块41对数据包进行加密,Node模块42采用第一频段基站Gateway431对应的第一频段将数据包发送给第一频段,当通过所述第一频段未接收到发送成功的确认信息时,选择第二频段基站Gateway432对应的第二频段将数据包发送给第二频段,第一频段基站Gateway431和第二频段基站Gateway432只是中转站,不对数据包进行任何处理,第二频段基站Gateway432的第二频段在接收到数据包后,将所述数据包发送给网络服务器NServer44,网络服务器NServer44将所述数据包发送给应用服务器AServer45,应用服务器AServer45将所述数据包发送给运营系统46,运营系统46进行数据包解密。
所述智能表上的主控模块41对数据包进行加密和运营系统46进行数据包解密的过程属于现有技术,本发明实施例中不做赘述。
由于本发明实施例中的智能表中保存有至少两个频段的信息,即智能表可以基于两至少两个频段与基站进行数据传输,当智能表选择一个频段进行数据包的发送不成功时,即该频段被其他智能表占用时,可以选择第二频段进行数据包的发送,因此可以有效地避免因频段使用冲突而引起的数据不能发送成功的问题。
实施例2:
智能表在通过第一频段发送数据包后,启动定时器,判断在定时器的定时时长内是否接收到基站发送的所述数据包发送成功的响应信息,只要未接收该发送成功的响应信息,即可认为未接收到该数据包发送成功的确认信息,此时智能表可以选择第二频段进行数据包的发送。
但是在基站和智能表在基于LoRa传输数据包时,很可能会受到外界环境的影响,而导致发送不成功,例如基站与智能表之间存在隔档等,但是外界环境是会发生变化的。因此为了避免由于外界环境的干扰导致数据发送不成功,在上述实施例的基础上,在本发明实施例中,
所述通过所述第一频段未接收到所述数据包发送成功的确认信息包括:
当通过所述第一频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述第一频段未接收到所述数据包发送成功的确认信息。
在智能表中预先保存该设定的次数阈值,其中所述设定的次数阈值可以为1次、2次或5次等。
智能表在通过第一频段发送数据包后,启动定时器,判断在定时器的定时时长内是否接收到基站发送的所述数据包发送成功的响应信息,只要未接收该发送成功的响应信息,即可认为未接收到该数据包发送成功的确认信息,但是数据传输过程中受外界环境影响比较大,为了避免由于外界环境的干扰导致数据发送不成功,本发明实施例中,
判断所述发送失败次数是否达到设定的次数阈值,如果否,所述方法还包括:
继续采用所述第一频段发送所述数据包。
下面以一个具体的实施例说明,图5为本发明实施例提供的一种数据传输方法的流程图,如图5所示的所述方法包括以下步骤:
S501:如果所述智能表识别到存在待传输的数据包,根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,采用第一频段发送数据包。
智能表在通过第一频段发送数据包后,启动定时器。
S502:判断是否收到所述第一频段发送成功的响应信息,如果是,进行S507,如果否,进行S503。
所述智能表判断在定时器的定时时长内是否接收到基站的所述第一频段发送的所述数据包发送成功的响应信息,所述定时器的定时时长在智能表中预先保存,其中所述定时器的定时时长可以为5秒、10秒或15秒等。
S503:更新所述第一频段的发送失败次数,判断失败次数是否达到设定的次数阈值,如果是,进行S504,如果否,进行S501。
所述智能表判断所述发送失败次数是否达到设定的次数阈值,如果是,则所述智能表确定通过所述第一频段未接收到所述数据包发送成功的响应信息。
如果否,则所述智能表继续采用第一频段发送数据包。
所述设定的次数阈值在智能表中预先保存,通过判断所述发送失败次数是否达到设定的次数阈值,可以避免外界环境的干扰导致发送不成功的情况,其中所述设定的次数阈值可以为1次、2次或5次等。
S504:确定通过所述第一频段未接收到所述数据包发送成功的确认信息。将第一频段标识为被占用。
智能表采用第一频段进行数据包的发送后,如果第一频段未被占用,则该数据包将会被发送给基站,并且基站还会向智能表返回该数据包发送成功的响应信息。但如果该第一频段被其他智能表占用,则该数据包无法发送给基站,智能表也就没办法接收到基站针对该数据包返回的响应信息。因此为了准确的识别出该第一频段是否被占用,可以根据是否通过所述第一频段未接收到所述数据包发送成功的确认信息来判断。
具体的,智能表采用第一频段进行数据包的发送后,启动定时器,判断该定时器的定时时长内是否接收到基站发送的所述数据包发送成功的响应信息,从而确定所述第一频段是否被占用。
当选择了某一频段进行数据包的发送后,如果通过该频段不能成功发送数据包,说明该频段当前被其他智能表使用,此时可以将该频段标识为被占用。
S505:判断自身保存的每个频段是否都被占用,如果否,返回S501,如果是,进行S506。
S506:选择第二频段,采用所述第二频段发送所述数据包。
智能表中保存有至少两个频段的信息,如果智能表通过每个频段都进行了数据的发送,但是都没有接收到基站返回的数据包发送成功的响应信息,则说明每个频段都被占用的。为了保证该数据包的成功发送,智能表需要选择一个第二频段进行数据包的发送。如果当前存在未被占用的频段,则可以在未被占用的频段中选择一个进行数据包的发送。
所述选择第二频段可以为在被占用的所有频段中任意选择,也可以根据预设的规则进行选择,所述预设的规则可以是根据频段的高低进行选择,例如所述智能表在被占用的频段中将最高频段选择为第二频段。
S507:向频段传输数据结束。
本发明实施例在智能表中预先保存有设定的次数阈值,发送失败次数在未达到设定的次数阈值时,所述智能表采用所述第一频段发送数据包,从而避免了由于外界环境的干扰导致数据发送不成功。
实施例3:
如果智能表在被占用的每个频段中选择第二频段发送数据包后,为了使数据包发送成功,在上述各实施例的基础上,本发明实施例中,
如果通过所述第二频段未接收到所述数据包发送成功的确认信息,所述方法还包括:
继续采用所述第二频段发送所述数据包。
如果每个频段都标记为被占用,说明在进行该数据包的发送时,该智能表可以进行数据发送的每个频段都被占用了,但是为了实现该数据包的发送,智能表可以继续采用第二频段发送该数据包,该第二频段可以为最后一次发送该数据包时采用的频段。当然如果每个频段都标记为被占用,为了实现该数据包的发送,智能表也可以在标记为被占用的每个频段信息中任意选择一个频段,采用该频段进行数据包的发送,直到该数据包发送成功。当然,如果每个频段都标记为被占用,智能表选择了一个频段进行数据包发送时,如果采用该频段发送了几次还是没有发送成功,当然也可以重新选择其他的频段继续发送,只要最后能够将该数据包发送成功即可。
在本发明实施例中,如果通过所述第二频段接收到所述数据包发送成功的确认信息,所述方法还包括:
将智能表中保存的每个频段标识为未被占用。
如果通过所述第二频段接收到所述数据包发送成功的确认信息,则说明所述智能表发送所述数据包成功,将智能表中保存的每个频段标识为未被占用,方便继续进行其他数据包的发送。
在本发明实施例中只要通过某一频段将数据包发送成功,则为了便于下次数据包的发送,将每个频段标识为未被占用。
实施例4:
为了提高数据包的发送成功率,在上述各实施例的基础上,本发明实施例中,
如果通过所述第二频段接收到所述数据包发送成功的确认信息,所述方法还包括:
将所述第二频段更新到发送成功记录中;并记录该数据包发送成功的时间点;
所述根据自身保存的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段包括:
计算当前时间及所述发送成功记录总保存的数据包发送成功的时间点的差值,判断所述差值是否小于设定的时间阈值;
如果是,选择所述未被占用的第一频段。
所述智能表中保存有成功记录,所述成功记录中保存有上次进行数据包发送时,数据包发送成功时采用的频段信息和发送成功的时间。上次进行数据包发送时采用的频段的信息记录到了成功记录中,并且上次进行数据包发送后,每个频段标识为了未被占用。
则在本次进行数据包的发送时,还可以通过计算当前时间及所述发送成功记录中总保存的数据包发送成功的时间点的差值,判断所述差值是否小于设定的时间阈值,如果该差值小于设定的时间阈值,则说明在上次进行数据包发送后很快进行本次数据包的发送,因为时间间隔很短,因此上次发送成功的频段可能还没有被其他智能表占用,因此本次进行数据包发送时,还可以继续使用该频段。因为上次进行数据包发送时,成功发送该数据包的频段信息记录在成功记录中了,因此在本次进行数据包的发送时,可以根据成功记录中保存的频段信息,选择第一频段。
但如果该差值不小于设定的时间阈值,说明相邻两次进行数据包发送时间间隔相对来说比较大,上次成功发送的频段很可能已经被占用了,因此在选择时可以不参考该成功记录中保存的频段信息。当然该差值不小于设定的时间阈值时,在进行第一频段选择时,也可以将该成功记录中保存的频段确定为第一频段。
所述智能表通过某一频段发送数据包成功后,通过该频段接收到所述数据包发送成功的确认信息,将该频段更新到成功记录中,并记录采用该频段发送数据包成功的时间点,以便下次数据包发送时进行频段选择时参考,因此可以在一定程度上保证第一次选择的频段就能成功发送数据包,节省了智能表的资源,提高了数据包的发送成功率。
实施例5:
在上述各实施例的基础上,智能表预先保存有入网成功的至少两个频段的信息。预先获取并保存入网成功的至少两个频段的信息的过程包括:
A2:针对自身保存的至少两个频段的信息及每个频段是否入网成功的信息,选择未入网的频段,采用该未入网的频段向基站发送入网请求;
B2:如果通过该未入网的频段接收到入网成功响应信息,则将该未入网的频段保存到入网成功的频段的信息中,并标识所述未入网的频段入网成功,判断是否每个频段都入网成功,如果否,返回步骤A2。
智能表中可以部署有多个频段的通讯模块,当其被安装后,智能表根据每个频段进行入网操作,如果入网成功,则说明后续进行数据包的发送时,可以采用该频段。
具体的,如果智能表中保存有多个频段的信息,智能表被安装后,在每个频段下都未入网成功,则任意选择一个未入网的频段,采用该未入网的频段向基站发送入网请求,如果通过该未入网的频段接收到入网成功响应信息,则将该未入网的频段保存到入网成功的频段的信息中,并标识所述未入网的频段入网成功,依次针对每个未入网的频段进行入网操作,直到在每个频段下都入网成功。
但是可能会存在智能表中部署有某一频段的通讯模块,但是基站中并未部署该频段的通讯模块,因此在该频段下智能表将入网失败。但是后续也许会增加新的基站,新增加的基站部署有该频段的通讯模块,或者在原有基站中增加了该频段的通讯模块,因此后续智能表就可以使用该频段进行数据包的发送了。但是因为智能表中保存的入网成功的频段的信息中没有该频段的信息,因此在本发明实施例中该预先获取并保存入网成功的至少两个频段的信息的过程可以周期性的进行,例如可以每一年,或者每半年进行一次等。
图6为本发明实施例提供的一种数据传输方法的入网流程图,如图6所示,智能表自身保存了未入网的两个频段的信息,其中第三频段和第四频段为两个不同的频段。如图6所示入网流程包括以下步骤:
S601:如果智能表中保存的多个频段的信息,在多个频段下都未入网成功,选择一个未入网的频段,采用该未入网的频段向基站发送入网请求。
所述选择一个未入网的频段可以在未入网成功的所有频段中任意选择,也可以根据预设的规则进行选择,所述预设的规则可以是根据频段的高低进行选择,例如所述智能表在未入网成功的所有频段中将最高频段选择为该未入网的频段。
所述采用该未入网的频段向基站发送入网请求的过程属于现有技术,本发明实施例不做赘述。
智能表在通过所述该未入网的频段发送入网请求后,启动定时器。
S602:判断是否接收到所述该未入网的频段的入网成功响应信息;如果是,进行S605,如果否,进行S603;
所述智能表判断在定时器的第二定时时长内是否接收到基站的所述该未入网的频段发送的所述入网成功响应信息,所述定时器的第二定时时长在智能表中预先保存,其中所述定时器的第二定时时长可以为5秒、10秒或15秒等。
S603:更新所述该未入网的频段的发送失败次数,判断失败次数是否达到设定的次数阈值,如果是,进行S604;如果否,将该频段作为未入网频段,进行S601中采用该未入网的频段向基站发送入网请求的过程。
所述智能表判断失败次数是否达到设定的次数阈值,如果是,则所述智能表确定通过所述该未入网的频段未接收到入网成功确认信息。
如果否,则所述智能表继续采用所述该未入网的频段向基站发送入网请求。
所述设定的次数阈值在智能表中预先保存,通过判断所述发送失败次数是否达到设定的次数阈值,可以避免外界环境的干扰导致发送不成功的情况,其中所述设定的次数阈值可以为1次、2次或5次等。
S604:确定通过所述该未入网的频段未接收到入网成功确认信息,将所述该未入网的频段标识为入网不成功频段。
智能表采用所述该未入网的频段向基站发送入网请求后,如果所述该未入网的频段可入网成功,则该入网请求会被发送给基站,并且基站还会向智能表返回该入网请求的入网成功响应信息。但如果所述该未入网的频段不可以入网成功,则该入网请求无法发送给基站,智能表也就没办法接收到基站针对该入网请求返回的入网成功响应信息。因此为了准确的识别出所述该未入网的频段是否可以入网成功,可以根据是否通过所述该未入网的频段未接收到入网成功响应信息来判断。
具体的,智能表采用所述该未入网的频段发送入网请求后,启动定时器,判断该定时器的第二定时时长内是否接收到基站针对该入网请求返回的入网成功响应信息,从而确定所述该未入网的频段是否可以入网成功。
所述某一未入网的频段是否可以入网成功,由基站中是否保存有该未入网的频段的信息来决定,如果基站中保存有该未入网的频段的信息,则该未入网的频段可以入网成功。
当选择某一未入网的频段向基站发送入网请求后,如果通过所述该未入网的频段不能成功发送入网请求,说明该未入网频段不可以入网成功,此时该未入网的频段标识为入网不成功频段。
S605:将所述该未入网的频段保存到入网成功的频段的信息中,并标识所述该未入网的频段入网成功。
当选择某一未入网的频段向基站发送入网请求后,如果通过所述该未入网的频段能够成功发送入网请求,说明该未入网频段可以入网成功,此时标识所述该未入网的频段入网成功。
S606:判断是否每个频段都入网成功,如果否,返回S601,如果是,进行S607。
S607:入网流程结束。
所述智能表判断自身保存的每个频段都入网成功,则入网流程结束。
由于本发明实施例中的智能表中将保存未入网的多个频段进行入网,如果未入网的至少两个频段能够入网成功,即智能表可以基于至少两个频段与基站进行数据传输,当智能表选择一个频段进行数据包的发送不成功时,即该频段被其他智能表占用时,可以选择其他频段进行数据包的发送,因此可以有效地避免因频段使用冲突而引起的数据不能发送成功的问题。
图7为本发明实施例提供的一种数据传输的装置结构图。
本发明实施例提供了一种数据传输装置,所述装置包括:
选择模块71,用于如果所述智能表识别到存在待传输的数据包,根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,其中所述至少两个频段中任意两个频段不同;
发送模块72,用于采用所述第一频段发送所述数据包;
第一判断标识模块73,判断通过所述第一频段未接收到所述数据包发送成功的确认信息时,将所述第一频段标识为被占用;
判断模块74,用于判断自身保存的每个频段是否都被占用;如果否,返回选择模块;如果是,触发第一选择发送模块;
第一选择发送模块75,用于选择第二频段,采用所述第二频段发送所述数据包。
所述第一判断标识模块73包括:
更新单元731,用于当通过所述第一频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
判断确定单元732,用于判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述第一频段未接收到所述数据包发送成功的确认信息。
所述判断确定单元732,还用于判断所述发送失败次数是否达到设定的次数阈值,如果否,触发发送模块。
所述第一选择发送模块75,还用于:
如果通过所述第二频段未接收到所述数据包发送成功的确认信息,继续采用所述第二频段发送所述数据包。
所述装置还包括:
标识模块76,用于如果通过所述第二频段接收到所述数据包发送成功的确认信息,将智能表中保存的每个频段标识为未被占用。
所述装置还包括:
更新记录模块77,用于如果通过所述第二频段接收到所述数据包发送成功的确认信息,将所述第二频段更新到发送成功记录中;并记录该数据包发送成功的时间点;
所述选择模块71包括:
计算判断单元711,用于计算当前时间及所述发送成功记录总保存的数据包发送成功的时间点的差值,判断所述差值是否小于设定的时间阈值;如果是,触发选择单元;
选择单元712,用于选择所述未被占用的第一频段。
所述装置还包括:
第二选择发送模块78,用于针对自身保存的至少两个频段的信息及每个频段是否入网成功的信息,选择未入网的频段,采用该未入网的频段向基站发送入网请求;
保存判断模块79,用于如果通过该未入网的频段接收到入网成功响应信息,则将该未入网的频段保存到入网成功的频段的信息中,并标识所述未入网的频段入网成功,判断是否每个频段都入网成功,如果否,返回第二选择发送模块。
所述装置还包括:
更新模块710,用于当通过所述未入网的频段未接收到所述数据包发送成功的响应信息时,更新发送失败次数;
第二判断标识模块713,用于判断所述发送失败次数是否达到设定的次数阈值,如果是,确定通过所述未入网的频段未接收到所述数据包发送成功的确认信息,将所述未入网的频段标识为入网不成功频段。
本发明提供一种数据传输方法及装置,如果所述智能表识别到存在待传输的数据包,该方法包括:A1:根据自身保存的入网成功的至少两个频段的信息和每个频段当前是否被占用的信息,选择未被占用的第一频段,其中所述至少两个频段中任意两个频段不同;B1:采用所述第一频段发送所述数据包;并判断通过所述第一频段未接收到所述数据包发送成功的确认信息时,将所述第一频段标识为被占用;C1:判断自身保存的每个频段是否都被占用,如果否,返回步骤A1;如果是,选择第二频段,采用所述第二频段发送所述数据包。由于本发明实施例中的智能表中保存有至少两个频段的信息,即智能表可以基于两至少两个频段与基站进行数据传输,当智能表选择一个频段进行数据包的发送不成功时,即该频段被其他智能表占用时,可以选择第二频段进行数据包的发送,因此可以有效地避免因频段使用冲突而引起的数据不能发送成功的问题。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。