一种确定智能终端数据发送时间的方法、装置及系统与流程

文档序号:12693144阅读:300来源:国知局
一种确定智能终端数据发送时间的方法、装置及系统与流程

本发明涉及物联网处理技术领域,尤其涉及一种确定智能终端数据发送时间的方法、装置及系统。



背景技术:

2012年以来,“大数据”一词越来越多地被提及,随着“大数据”成为时下最火热的行业词汇,大数据需要通过快速获取、处理、分析和提取有价值的、海量、多样化的数据为基础,从而获得有价值的方案。大数据的意义或作用归根到底就四个字:辅助决策。利用大数据分析,能够总结经验、发现规律、预测趋势,这些都可以为辅助决策服务。我们掌握的数据信息越多,我们的决策才能更加科学、精确、合理。

而数据的产生除了来自社交网络,网站,电子商务网站,邮箱外,还来自于智能手机,各种传感器,物联网内的各设备,智能可穿戴设备等智能终端。例如在智能家居解决方案中,为了使得智能家居能够更好的为用户服务,大数据的定时收集成为一个必然,但当一个家庭整屋都布置智能家居时,由于产品过多,如果同时上电,考虑到同一厂家的产品定时周期一致,则网络会导致周期性拥堵,尤其如zigbee系统一般只有250kbps带宽。现有技术中一般是通过增加网络带宽来解决拥堵问题,但带宽的增加也意味着各方面成本的增加,那么,如何在原有系统带宽的情况下,避免数据发送周期相同而造成的拥堵呢?



技术实现要素:

本发明提供一种一种确定智能终端数据发送时间的方法、装置及系统,用以解决现有技术中存在智能终端发送数据周期相同而造成网络拥堵的问题。

本发明智能终端数据发送时间的确定方法,包括:

S100获取智能终端上电的时间点、所述智能终端的MAC地址及数据发送周期;

S200根据所述智能终端的MAC地址,结合所述数据发送周期进行运算,获得时间余数;

S300根据所述时间余数、所述智能终端的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间。

MAC(Media Access Control,介质访问控制)地址,也叫硬件地址,长度是48比特(6字节)。考虑到所有智能终端都会拥有自己的MAC地址,而MAC地址的后几位具有一定的随机性,每个终端的MAC地址都不一样,因此我们可以通过MAC地址的随机性来随机化具体的发送时间,从而使得数据的发送时间错开,自然也不会造成网络的拥堵。

进一步地,所述步骤S200包括:

S210根据获取的所述智能终端的MAC地址,获取所述智能终端MAC地址的至少后8位的值;

S220将所述智能终端MAC地址的至少后8位的值与所述周期数进行整除,所得的余数作为时间余数。

MAC地址分为前24位和后24位,前24位用来区分不同的厂家,后24位则是用来区分同一厂家产品的标识。考虑到同一厂家的产品的数据发送周期一般是相同的,因此,我们可直接取该智能终端MAC地址的至少后8位来参与运算,随机化具体的数据发送时间。

进一步地,还包括步骤:

S150根据所述智能终端上电的时间点,获取所述智能终端上电的时间点中的毫秒数;

所述步骤S220包括:

S221取所述智能终端MAC地址的至少后8位的值与所述上电的时间点中的毫秒数的和,再与所述周期数进行整除,所得的余数作为时间余数。

通过采用毫秒数与MAC地址相结合来随机化数据发送时间,由于毫秒数也具有一定的随机性,因此,两者的结合使得获得的数据发送时间更具有随机性,从而完美错开了数据发送时间,避免了网络拥堵。且这个随机是真正的随机,而电脑中自己产生的随机数实际为伪随机数。

进一步地,所述步骤S210包括:

S211根据获取的所述智能终端的MAC地址,获取所述智能终端MAC地址的后24位的值;

所述步骤S220包括:

S225将所述智能终端MAC地址的后24位的值与所述周期数进行整除,所得的余数作为时间余数

进一步地,所述步骤S300包括步骤:

S310根据所述上电的时间点及所述时间余数,确定所述智能终端上电后首次发送数据的时间;

S320根据所述智能终端上电后首次发送数据的时间及所述智能终端发送数据的周期,获得所述智能终端在断电前发送数据的时间。

本发明还公开了一种确定智能终端数据发送时间的装置,包括获取模块、运算模块及分析处理模块,所述分析处理模块分别与所述获取模块、运算模块相连,所述运算模块与所述获取模块相连,其中:所述获取模块获取智能终端上电的时间点、所述智能终端的MAC地址及数据发送周期;所述运算模块根据获取的所述智能终端的MAC地址,结合所述数据发送周期进行运算,获得时间余数;所述分析处理模块根据所述时间余数、所述智能终端的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间。

进一步地,所述运算模块包括取值子模块、与所述取值子模块相连的运算子模块,其中:所述取值子模块根据所述获取模块获取的所述智能终端的MAC地址,获得所述智能终端MAC地址的至少后8位的值;所述运算子模块将所述智能终端MAC地址的至少后8位的值与所述周期数进行整除,所得的余数作为时间余数。

进一步地,所述取值子模块根据所述智能终端上电的时间点,获取所述智能终端上电的时间点中的毫秒数;所述运算子模块运算出所述智能终端MAC地址的至少后8位的值与所述上电的时间点中的毫秒数的和,再将运算获得的和值与所述周期数进行整除,所得的余数作为时间余数。

进一步地,所述分析处理模块根据所述上电的时间点及所述确定的时间数,确定所述智能终端上电后首次发送数据的时间;所述分析处理模块根据所述智能终端上电后首次发送数据的时间及所述智能终端发送数据的周期,获得所述智能终端在断电前发送数据的时间。

此外,本发明还提供一种确定智能终端数据发送时间的系统,包括以上所述的智能终端数据发送时间的确定装置、智能终端、及服务器,所述确定装置分别与所述智能终端、所述服务器相连,且所述智能终端上电后与所述服务器建立通信连接,其中:所述数据发送时间的确定装置获取所述智能终端上电的时间点、所述智能终端的MAC地址及数据发送周期;所述数据发送时间的确定装置根据获取的所述智能终端的MAC地址,结合所述数据发送周期进行运算,获得时间余数;所述数据发送时间的确定装置根据所述时间余数、所述智能终端的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间;所述智能终端根据所述数据发送时间的确定装置获得的所述数据发送的时间向所述服务器发送数据。

随着大数据时代的到来,大数据的定时收集成为必然。面对众多的智能终端,若其数据发送周期一致,那么同时上电的话,则必然会引起网络的周期性拥堵。而通过本发明的方法来确定作为数据发送方的智能终端的数据发送时间,使得各智能终端发送数据的时间具有较大随机性,从而错开了定期发送周期,避免了网络的周期性拥堵。关于如何避免网络拥堵,人们较为容易想到的是增加网络带宽,但随之而来的成本也大大增加了。而本发明方法使得各智能终端发送数据的时间不一样则可巧妙避开网络拥堵,且经济适用。对于如何错开各智能终端定期发送数据的时间,人们较为容易想到的是分组发送,也就是说将各智能终端进行分组,然后依次错开发送。而本发明的方法充分利用各智能终端的MAC地址独一无二的特定,MAC地址的独特与随机性从而使得由MAC地址来决定的具体数据发送时间也具有随机性。由于每个智能终端都有自己的MAC地址,因此也无需额外编号区分,充分利用各智能终端的“身份证”,让他们各自具体的发送时间由自己的“身份证”来决定,完美的避免了周期性拥堵。进一步的,除了利用各智能终端的MAC地址外,还结合智能终端上电的时间点中的毫秒数,由于毫秒数也具有一定的随机性,那么由MAC地址和毫秒数共同决定的数据发送时间也就更加具有随机性,效果更好。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种确定智能终端数据发送时间的方法实施例一流程图;

图2为本发明一种确定智能终端数据发送时间的方法实施例二流程图;

图3为本发明一种确定智能终端数据发送时间的装置实施例框图;

图4为本发明一种确定智能终端数据发送时间的系统实施例示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明公开了一种确定智能终端数据发送时间的方法,实施例一如图1所示,包括:

S100获取智能终端上电的时间点、所述智能终端的MAC地址及数据发送周期;

S200根据所述智能终端的MAC地址,结合所述数据发送周期进行运算,获得时间余数;

S300根据所述时间余数、所述智能终端的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间。

本发明的方法可应用于众多物联网场景,比如,智能家居,为了使得智能家居能够更好的为用户服务,大数据的定时收集成为一个必然,由于产品过多,如果同时上电,考虑到同一厂家的产品定时周期一致,则网络会导致周期性拥堵。又如,大型的监控系统,分布的各个监控设备定期也会发送采集的监控数据。本发明通过对作为数据发送方的智能终端的MAC地址与发送周期进行运算获得一个时间余数,然后再结合该智能终端上电时间与发送周期即可确定出该智能终端数据发送的时间。由于每个智能终端都有唯一一个MAC地址,在物联网场景中,各智能终端的MAC地址各不相同,因此取各智能终端的MAC地址来参与数据发送时间的运算具有一定的随机性,由此可以避免各智能终端或设备周期发送时间一致导致系统拥堵的问题。这里的智能终端上电的时间点,是指该智能终端接通电源可以工作的时间点。

在上述实施例中,所述步骤S200包括:

S210根据获取的所述智能终端的MAC地址,获取所述智能终端MAC地址的至少后8位的值;

S220将所述智能终端MAC地址的至少后8位的值与所述周期数进行整除,所得的余数作为时间余数。

MAC地址,长度是48位,分为前24位和后24位,前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。由此可见相同厂家的话,前24位是一样的,只有后24位才是同一厂家产品进行区分的。而对于后24位,同一厂家在同一阶段生产的产品所分配的MAC地址的后24位中,越靠前的部分越容易相同,因此我们一般取MAC地址中至少包含后8位的值,比如MAC地址的后8位、后9位、后10位……。甚至取整个MAC地址的值亦可。当然,由于同一厂家的前24位相同,为了便于计算,较佳的,一般取后8位、后9位、后10位……后24位来计算。

由于MAC地址长度是48个二进制位组成(一般用12个十六进制位来写),在与数据发送周期数T的整除过程中,我们需要采用相同的进制来计算,一般的,需要将MAC地址转化为十进制来进行运算。例如,获取的智能终端A的上电的时间点为07:15:24.36(7点15分24秒36毫秒)、某智能终端的MAC地址为08-00-27-00-B4-31(通常用16进制表示)、该智能终端A数据发送周期为60S;在获取到这些数据后,我们取该MAC地址的后24位来参与运算,也就是说取00-B4-31,我们先将其转化为十进制数据,00B431转为十进制为46129,假如获取到的智能终端数据发送周期为60S,那么,46129被60进行整除后所得的余数49即为时间余数。鉴于该智能终端上电的时间点为07:15:24.36,关于智能终端数据发送时间我们一般精确到秒即可,前面我们已获取到数据发送周期为60S(1分钟),故可选择上电后的每分钟的49S发送数据。也就是上电后首次发送数据的时间为7点15分49秒,第二次为7点16分49秒,第三次为7点17分49秒……。

接着上述的例子,在同样的上电情况下,相同的厂家生产的智能终端一般数据发送周期也一致,如果智能终端A2的后24位MAC地址值与数据发送周期整除后获得的余数为20,那么该智能终端上电后在每分钟的20秒发送数据,也就是说该智能终端A2首次发送数据的时间点为7点16分20秒,第二次为7点17分20秒,第三次为7点18分20秒……。如果具有相同数据发送周期的智能终端A3在相同的上电情况下,若经运算获得的时间余数为31,那么该智能终端A3在上电后的每分钟的31秒发送数据。也就是说该智能终端A3首次发送数据的时间点为7点15分31秒,第二次为7点16分31秒,第三次为7点17分31秒……。由此可见,通过本发明的方法来确定智能终端的数据发送时间则可以将各智能终端发送时间错开,如此,即可避免具有相同数据发送周期的智能终端在相同上电情况下会同时发送数据造成周期性拥堵的问题。

同样的上电情况下,如果智能终端B数据发送周期为120S(两分钟),经计算获得的时间余数为65,那么上电后首次发送数据的时间为7点16分5秒(相当于7点15分65秒),第二次为7点18分5秒,第三次为7点20分5秒……,以此类推。同样的的情况下,如果智能终端C数据发送周期为30S(半分钟),经计算获得的时间余数为19,那么上电后首次发送数据的时间为7点16分19秒,第二次为7点16分49秒,第三次为7点17分19秒,第四次为7点17分49秒……,以此类推。

对于首次发送数据的时间点,我们会根据上电时间点和获得的时间余数来确定,时间余数一般用来表示秒数,由于数据发送时间点一般精确到秒即可,因此我们可以忽略上电时间点的毫秒数,比如,上电时间点为E(小时):F(分):G(秒)上电,经运算获得的时间余数为T,那么,如同上述举例所示,数据首次发送时间点是根据判断获得的时间余数T是否大于上电时间点的秒数G,若T>G,则首次发送数据的时间点为:E(小时):F(分):T(秒)。如果小于或等于,则首次发送数据的时间点为:E(小时):F+1(分):T(秒)。当然,也可不用判断T与G的大小,将首次发送数据的时间点约定为:E(小时):F(分):T(秒),本发明不限于举例所述的各种首次发送数据时间点的约定方法,任何根据上电时间和时间余数来确定的上电后首次发送数据的时间点的方法均在本发明方法的保护范围之内。后续的数据发送点,则在前一次数据发送时间点的基础上往后推一个数据发送周期即可。

较佳的,上述实施例中所述步骤S210包括:

S211根据获取的所述智能终端的MAC地址,获取所述智能终端MAC地址的后24位的值;

且所述步骤S220包括:

S225将所述智能终端MAC地址的后24位的值与所述周期数进行整除,所得的余数作为时间余数。

这里选用MAC地址的后24位的值是由于MAC地址的后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。因此对于较为庞大的物联网系统,我们可以扩大MAC地址选取的位数,选用MAC地址的后24位可以区分同一厂家的任意产品。由于选用的后24位的MAC地址值不同,因此获得的时间余数也不一样,那么作为数据发送方的智能终端发送数据的时间也会不一样,由此可以避免数据发送造成的拥堵,缓解了带宽的压力。

较佳的,在上述实施例1的基础上,所述步骤S300包括步骤:

S310根据所述上电的时间点及所述时间余数,确定所述智能终端上电后首次发送数据的时间;

S320根据所述智能终端上电后首次发送数据的时间及所述智能终端发送数据的周期,获得所述智能终端在断电前发送数据的时间。

本发明方法的另一实施例,如图2所示,包括步骤:

S100获取智能终端上电的时间点、所述智能终端的MAC地址及数据发送周期;

S150根据所述智能终端上电的时间点,获取所述智能终端上电的时间点中的毫秒数;

S210根据获取的所述智能终端的MAC地址,获取所述智能终端MAC地址的至少后8位的值;

S221取所述智能终端MAC地址的至少后8位的值与所述上电的时间点中的毫秒数的和,再与所述周期数进行整除,所得的余数作为时间余数;

S300根据所述时间余数、所述智能终端的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间。

这里假设智能家居发送数据的周期都为60秒。智能家居产品上电后,我们立即获取上电的时间,我们去最后毫秒数,比如上电时间为12:30:45.53,其中45为秒,53为毫秒,即使同时上电,也只会造成小时、分、秒的相同,而毫秒具有一定的随机性,我们定义毫秒为X,MAC地址为48位,我们取最后8位为Y,我们定义T为(X+Y)被60整除后的余数,则T为一个在[0,60)的整数。每个智能家居产品都会有一个自己的T,而T会有相当大的随机性。(注意:我们没有采用电脑自己产生的随机数,因为电脑产生的随机数是伪随机数,事实上不是真正的随机,本专利应用的方法是真正的随机)比如,智能产品1的T为23,则这个只能产品在每分钟的23秒向服务器发送收集的数据。智能产品1的T为47,则这个只能产品在每分钟的47秒向服务器发送收集的数据。本实施例方法通过一定的方法产生随机性来减轻云的突发事件的带宽问题。

基于相同的技术构思,本发明实施例还提供一种装置,该装置可执行上述方法实施例。本发明实施例提供的装置如图3所示,包括获取模块100、运算模块200及分析处理模块300,所述分析处理模块300分别与所述获取模块100、运算模块200相连,所述运算模块200与所述获取模块100相连,其中:所述获取模块100获取智能终端上电的时间点、所述智能终端的MAC地址及数据发送周期;所述运算模块200根据获取的所述智能终端的MAC地址,结合所述数据发送周期进行运算,获得时间余数;所述分析处理模块300根据所述时间余数、所述智能终端的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间。

较佳的,在上述实施例的基础上,所述运算模块200包括取值子模块210、与所述取值子模块210相连的运算子模块220,其中:所述取值子模块210根据所述获取模块100获取的所述智能终端的MAC地址,获得所述智能终端MAC地址的至少后8位的值;所述运算子模块220将所述智能终端MAC地址的至少后8位的值与所述周期数进行整除,所得的余数作为时间余数。

较佳的,上述实施例中,所述取值子模块210根据所述智能终端上电的时间点,获取所述智能终端上电的时间点中的毫秒数;所述运算子模块220运算出所述智能终端MAC地址的至少后8位的值与所述上电的时间点中的毫秒数的和,再将运算获得的和值与所述周期数进行整除,所得的余数作为时间余数。

在上述装置的实施例一基础上,所述分析处理模块300根据所述上电的时间点及所述确定的时间数,确定所述智能终端上电后首次发送数据的时间;所述分析处理模块300根据所述智能终端上电后首次发送数据的时间及所述智能终端发送数据的周期,获得所述智能终端在断电前发送数据的时间。

本发明实施例还提供了一种确定智能终端数据发送时间的系统,该系统可执行上述实施例提供的确定智能终端数据发送时间的方法,具体的,系统示意图如图4所示,包括前面实施例所述的智能终端数据发送时间的确定装置10、智能终端20、及服务器30,所述数据发送时间的确定装置10分别与所述智能终端20、所述服务器30相连,且所述智能终端20上电后与所述服务器30建立通信连接,其中:所述数据发送时间的确定装置10获取所述智能终端20上电的时间点、所述智能终端20的MAC地址及数据发送周期;所述数据发送时间的确定装置10根据获取的所述智能终端20的MAC地址,结合所述数据发送周期进行运算,获得时间余数;所述数据发送时间的确定装置10根据所述时间余数、所述智能终端20的数据发送周期及所述智能终端上电的时间点,确定所述智能终端数据发送的时间;所述智能终端20根据所述数据发送时间的确定装置10获得的所述数据发送的时间向所述服务器30发送数据。

该系统内包含的前述实施例中确定数据发送时间的装置,可以集成在数据接收方的服务器上,也可以独立于外,只是与服务器和智能终端连接,该连接可以是有线或无线连接,主要是要与服务器和智能终端能进行通信,从而确定控制各智能终端的数据发送时间。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1