一种基于心跳反馈数据周期的分层自适应处理方法与流程

文档序号:19320269发布日期:2019-12-04 00:27阅读:294来源:国知局
一种基于心跳反馈数据周期的分层自适应处理方法与流程

本发明涉及数据传输技术领域,尤其是一种基于心跳反馈数据周期的分层自适应处理方法。



背景技术:

随着互联网及终端设备的发展,越来越多的终端设备需要接入网络,实现实时的信息通讯;例如:手机上各app与服务器端的数据交换,各种硬件设备如电表、水表等数据自动上传;监测设备是否在线心跳检测等。这些终端设备,需长期进行与服务器端进行心跳的通讯,以确保设备是否在线、或是最新消息的获取。目前大部分的终端,是在终端设备按照设置的间隔时间进行数据的发送,再由服务器端反馈具体的业务数据响应。

随着越来越多终端设备上网,特别是后续的5g通讯技术的普及,大量终端设备上网;如果是在终端设备上设置间隔多长一次进行数据的发送,而没有一个统一的间隔发送时间的管理办法,有可能出现集中在某个时间段内,服务器端接收到大量请求的情况;而在另外的时间段,则出现空闲的情况。这种情况下,会使服务器所在的网络带宽出现突高突低的情况。服务器大量收到请求的时候,处理压力太大,会导致宕机的可能;而出现空闲的时候,则业务量太小,不能合理利用;所以需要有一种在不影响大量数据请求的情况下,对各终端的发送请求时间进行统一的管理,使各终端设备在均匀分布的时间内,发送数据,从而实现带宽、服务器资源的合理利用。



技术实现要素:

本发明解决的技术问题是提供一种基于心跳反馈数据周期的分层自适应处理方法,在不影响大量数据请求的情况下,对各终端的发送请求时间进行统一的管理,使各终端设备在均匀分布的时间内发送数据,实现带宽、服务器资源的合理利用。

本发明解决前述技术问题的技术方案是:

所述的方法是基于终端设备数据重要程度和历史数据构建分层次的间隔时间范围列表、一定时间范围的均匀分布随机数据获取方法;并且,终端设备与服务器端的通讯间约定接收到信息的时间、设备间隔发送的时间、未正确接收数据的数量;在接收到终端设备发送的数据时,准确获取约定的三个参数后;并根据规则不断调整各设备的间隔发送的时间;使用大量的设备,在基于网络正常的情况下,不断自适应调整发送数据的时间间隔层次,实现大规范终端设备的发送数据的均匀时间分布。

所述的方法具体包括以下步骤:

步骤1:基于终端设备的数据重要程度及历史数据,构建一个分层次的间隔时间范围列表,用于后续的各终端设备的间隔时间范围获取;

步骤2:构建一个基于一定时间范围的均匀分布随机数据获取方法,用于各终端设备的发送时间间隔的获取;

步骤3:在终端设备与服务器端的通讯过程,约定三个参数:接收到信息的时间、设备间隔发送的时间、未正确接收数据的数量(如都正确接收,显示为0);

步骤4:在接收到终端设备发送的数据时,准确获取约定的三个参数后;如果服务端按约定的时间内收到,则反馈回原来的设备间隔发送的时间;并在当时的服务器端,加上设备间隔发送的时间;再加上未正确接收数据的数量设置为0;同时加上需要获取的数据信息,反馈给终端设备;如果服务器端在接收到信息后,发现超过了约定的时间,则按规则把间隔时间调整为更短;或是发现接收到信息的时间超前了,则把间隔时间调整为更长;按新的设备间隔发送时间,获取接收到信息的时间,并设置未正确接收数据的数量为0,重新发送给终端设备;

步骤5:终端设备在接收到信息后,按约定的三个参数中的设备间隔发送时间,在指定的时间间隔内,再次发送数据到服务器端,同时附上服务器端的接收到信息的时间、未正确接收数据的数量;

步骤6:基于步骤4、步骤5中接收到信息的时间、设备间隔发送的时间、未正确接收数据的数量,不断调整各设备的间隔发送的时间;使用大量的设备,在基于网络正常的情况下,不断自适应调整发送数据的时间间隔层次;实现大规范终端设备的发送数据的均匀时间分布。

所述的步骤1具体包括以下步骤:

1)分析整个终端设备与服务器端的通讯类型,一种通讯类型形成一张分层次的间隔时间范围表;

2)在一种通讯类型范围内,基于历史的数据,分析原来按规定的设备间隔发送的时间内,各设备的反馈延迟时间分布情况;按延迟分布情况及终端设备的数量,设置间隔时间的层次;如果总的终端设备数量比较多,可把间隔时间设置得长一些,间隔范围可设置得大一些,使在这个时间范围内容纳更多的设备;对于在某个延迟时间内,涉及的设备比较少,可设置间隔时间短一些,间隔范围小一些;

3)终端设备与服务端的通讯记录不断进行更新,形成历史数据;在后续的运行过程中,对分层次的间隔时间范围列表不断按历史数据进行分析,不断进行优化;形成新的分层次的间隔时间范围列表,并更新到系统中。

所述的步骤2中,在获取了一个终端设备的发送数据间隔时间范围后,在这个时间范围内,随机获取发送时间;且随机的发送时间需为均匀分布的情况。

所述的步骤5中,服务器端直接获取数据进行判断流程的反馈是否存在误差,误差包括延迟或提前;延迟则终端设备提高发送数据的频率,以保证数据与服务器端的正常连接;提前则减少数据发送的数量;在分发终端设备发送数据时,也区分所在网络的稳定情况,实现服务器网络、资源的均匀利用。

所述的方法通过步骤2、3、4搭建相关的基础后,业务主要由终端设备发起,并按以下步骤,实现整个业务的流程:

1)终端设备发起请求,在携带的信息中,三个约定参数为空,没有相关的信息;

2)服务器端在接收到终端设备发起的请求后,服务器端获取通讯类型中分层次的间隔时间范围列表的默认的第一个数据,即间隔时间最短;在间隔时间范围内,通过均匀分布随机数据获取方法,获取下一次的发送请求间隔时间;并以这个随机数初始化下一次需要获取到终端设备发送过来的时间,设置未正确接收数据数量为0,并返回给终端设备;

3)终端设备在接收到服务器端返回的信息后,获取发送请求间隔时间;并在收到信息时进行计时,达到发送请求间隔时间后,再发送一条数据;数据携带发送请求间隔时间、下一次需要获取到终端设备发送过来的时间、未正确接收数据的数量,返回给服务器端;

4)服务器在正确接收到带有发送数据间隔时间、下一次需要获取到终端设备发送过来的时间、未正确接收数据的数量后,获取下一次需要获取到终端设备发送过来的时间,并与现在服务器端的系统日期进行比对,计算误差;通过误差在分层次的间隔时间范围列表中,获取下一个发送数据间隔时间;同时使用原来的接收到的发送数据间隔时间,在分层次的间隔时间范围列表,获取原来的发送数据间隔时间;如果前后两个时间范围是一样,则以原来的发送数据间隔时间,初始化下一次需要获取到终端设备发送过来的时间;并把未正确接收数量设置为0,并返回;如果通过误差获取的发送数据间隔时间范围与原来的发送数据间隔时间范围不一致,同时未正确接收数据的数量加1;如果未正确接收数据的数量未达到设定的阀值;则还是以原来的发送数据间隔时间,初始化下一次需要获取到终端设备发送过来的时间;并把已加1的未正确接收数据的数量,一起返回到终端设备;如果未正确接收数量达到设定的阀值,则以通过误差获取的发送数据间隔时间范围,通过均匀分布随机数生成方法,获取一个最新的发送数据间隔时间;并以这个最新的发送数据间隔时间,生成下一次需要获取到终端设备发送过来的时间;并把未正确接收数量设置为0,返回到终端设备;

5)终端设备在接收到下发信息后,再次接收并获取发送请求间隔时间,并在约定的时间后再次把发送请求间隔时间、下一次需要获取到终端设备发送过来的时间、未正确接收数据的数量,返回给服务器端;再次重复前述第4)步的业务流程。

本发明一台云主机,只需分配多个vpn用户,就可以实现多台内网主机服务的访问;不仅利用了云主机提供的优惠的外网ip进行固定访问,还为分布于多个不同的内网主机供了统一的外网访问入口;为中小型的内外网跨网服务访问提供了一种高效的、优惠的方法。

通过本发明的方法,只在上报与下发的报文中,增加数量很少的空间(6个字节)就可以实现大批量终端设备与服务器端通讯的周期分层自适应调整。对于网络不稳定的终端设备,通讯周期集中在频率比较高的层次;对于网络稳定的终端设备,通讯周期集中在频率比较低的层次。各层次间各设备的通讯,按均匀分布的间隔进行发送数据;保证大量的设备均匀地在各个时间内,向服务器端发送数据。服务器端也可以均匀地处理各报文数据。极大地分配了服务器端的网络带宽,最大效率地利用服务器端的计算资源;从而解决大批量终端设备进行通信时,无序的上报导致的网络带宽不够、服务器可能宕机的情况。

附图说明

下面结合附图对本发明进一步说明:

图1是本发明方法流程图。

具体实施方式

见图1所示,本发明的方法基本流程如下:

步骤1:基于终端设备的数据重要程度及历史数据,构建一个分层次的间隔时间范围列表,用于后续的各终端设备的间隔时间范围获取;

构建一个分层次的间隔时间范围列表,关键在于基于各条通讯的数据及历史数据,形成一个按业务的重要程度,合理分布的一个间隔时间范围列表;主要步骤为:

1)分析整个终端设备与服务器端的通讯类型,一种通讯类型形成一张分层次的间隔时间范围表。

2)在一种通讯类型范围内,基于历史的数据,分析原来按规定的设备间隔发送的时间内,各设备的反馈延迟时间分布情况;按延迟分布情况及终端设备的数量,设置间隔时间的层次。例如对于延迟时间在500毫秒以内的,如果总的终端设备数量比较多,可把间隔时间设置得长一些,间隔范围可设置得大一些,使在这个时间范围内容纳更多的设备。对于在某个延迟时间内,涉及的设备比较少,可设置间隔时间短一些,间隔范围小一些,以便能快速地与设备进行高频率的通讯,确认设备的通讯情况。

3)终端设备与服务端的通讯记录不断进行更新,形成历史数据。以上的分层次的间隔时间范围列表,在后续的运行过程中,不断按历史数据进行分析,不断进行优化;形成新的分层次的间隔时间范围列表,并更新到系统中。

步骤2:构建一个基于一定时间范围的均匀分布随机数据获取方法,用于各终端设备的发送时间间隔的获取;

由于终端设备的数量极大,各通讯类型、各反馈延迟时间,有一个层次的发送数据时间间隔范围;各终端设备需尽量在均匀分布的时间内进行发送数据,以避免数据集中在某一个时间段;所以在获取了一个终端设备的发送数据间隔时间范围后,在这个时间范围内,随机获取发送时间;且随机的发送时间需为均匀分布的情况;所以需构建一个基于一定时间范围的均匀分布随机数据获取方法。

步骤3:在终端设备与服务器端的通讯过程,约定三个参数:接收到信息的时间、设备间隔发送的时间、未正确接收数据的数量(如都正确接收,显示为0);

此三个参数终端发送时在服务器端处需要初始化;在终端设备上报数据时,需进行上传。三个参数中,设备间隔发送的时间,可按8位保存数据;接收到信息的时间,采用时间的毫秒数,需42位保存数据,需6个字节;但还有6位空闲,用于保存未正确接收数据的数量。按此规则,总共只需7个字节,就可以保存总的数据上报、下发。上报、下发过程保存此三个参数,目的是通过空间,以节省每个心跳过程中,需去查询设备的时间。通过以空间换时间,提高数据交换的效率。

步骤4:在接收到终端设备发送的数据时,准确获取约定的三个参数后;如果服务端按约定的时间内收到,则反馈回原来的设备间隔发送的时间;并在当时的服务器端,加上设备间隔发送的时间;再加上未正确接收数据的数量设置为0;同时加上需要获取的数据信息,反馈给终端设备。如果服务器端在接收到信息后,发现超过了约定的时间,则按规则把间隔时间调整为更短;或是发现接收到信息的时间超前了,则把间隔时间调整为更长;按新的设备间隔发送时间,获取接收到信息的时间,并设置未正确接收数据的数量为0,重新发送给终端设备;

步骤5:终端设备在接收到信息后,按约定的三个参数中的设备间隔发送时间,在指定的时间间隔内,再次发送数据到服务器端,同时附上服务器端的接收到信息的时间、未正确接收数据的数量;

服务器端直接获取数据进行判断流程的反馈是否存在误差,误差包括延迟或提前。延迟说明网络不稳定,需要终端设备提高发送数据的频率,以保证数据与服务器端的正常连接。提前说明网络正常且稳定,这样设备可以更低的频率进行发送数据,减少数据发送的数量。这样整个系统自适应终端设备是按服务器端接收信息的误差程度,按不同的间隔时间进行发送数据。在分发终端设备发送数据的同时,也区分所在网络的稳定情况,做到服务器网络、资源的均匀利用。

步骤6:基于步骤4、步骤5中接收到信息的时间、设备间隔发送的时间、未正确接收数据的数量,不断调整各设备的间隔发送的时间;使用大量的设备,在基于网络正常的情况下,不断自适应调整发送数据的时间间隔层次,从而实现大规范终端设备的发送数据的均匀时间分布,实现网络带宽、服务器资源的合理利用。

通过步骤2、3、4搭建相关的基础后,业务主要由终端设备发起,并按以下步骤,实现整个业务的流程:

1)终端设备发起请求,在携带的信息中,由于三个约定参数为空,所以没有相关的信息;

2)服务器端在接收到终端设备发起的请求后,由于三个约定参数为空,服务器端获取通讯类型中分层次的间隔时间范围列表的默认的第一个数据(间隔时间最短)。在间隔范围内,通过均匀分布随机数据获取方法,获取下一次的发送请求间隔时间;并以这个随机数初始化下一次需要获取到终端设备发送过来的时间,设置未正确接收数据数量为0,并返回给终端设备;

3)终端设备在接收到服务器端返回的信息后,获取发送请求间隔时间;并在收到信息时进行计时,达到发送请求间隔时间后,再发送一条数据。数据携带发送请求间隔时间、下一次需要获取到终端设备发送过来的时间、未正确接收数据的数量,返回给服务器端。

4)服务器在正确接收到带有发送数据间隔时间、下一次需要获取到终端设备发送过来的时间、未正确接收数据的数量后,获取下一次需要获取到终端设备发送过来的时间,并与现在服务器端的系统日期进行比对,计算误差。通过误差在分层次的间隔时间范围列表中,获取下一个发送数据间隔时间。同时使用原来的接收到的发送数据间隔时间,在分层次的间隔时间范围列表,获取原来的发送数据间隔时间。如果前后两个时间范围是一样,则以原来的发送数据间隔时间,初始化下一次需要获取到终端设备发送过来的时间;并把未正确接收数量设置为0,并返回。如果通过误差获取的发送数据间隔时间范围与原来的发送数据间隔时间范围不一致,同时未正确接收数据的数量加1;如果未正确接收数据的数量未达到一定的阀值,比如10次;则还是以原来的发送数据间隔时间,初始化下一次需要获取到终端设备发送过来的时间。并把已加1的未正确接收数据的数量,一起返回到终端设备。如果未正确接收数量达到一定的阀值,则以通过误差获取的发送数据间隔时间范围,通过均匀分布随机数生成方法,获取一个最新的发送数据间隔时间;并以这个最新的发送数据间隔时间,生成下一次需要获取到终端设备发送过来的时间;并把未正确接收数量设置为0,返回到终端设备。

5)终端设备在接收到下发信息后,再次接收并获取发送请求间隔时间,并在约定的时间后再次把发送请求间隔时间、下一次需要获取到终端设备发送过来的时间、未正确接收数据的数量,返回给服务器端;再次重复第4)步的业务流程。

6)整个业务流程主要在服务器端直接获取数据进行判断流程的反馈是否存在误差,如果误差数量不超过原来设置的发送请求间隔时间,继续以原来的发送请求间隔时间进行发送数据请求;如果误差数量超过原来的时间,则自适应获取最新的发送请求间隔时间;并更新为最新的发送请求间隔时间,不断优化。

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