发明内容
本申请提供了一种基于位置的服务中更新数据的方法及系统,以解决以固定频率更新数据浪费资源的问题。
为了解决上述问题,本申请公开了一种基于位置的服务中更新数据的方法,包括:
服务端初始以默认频率更新监控端的数据;
服务端接收用户终端发送的某一时刻的频率参数;
检测所述频率参数,当检测到所述某一时刻的频率参数发生变化时,根据所述频率参数和默认频率计算数据更新的动态频率;
服务端以动态频率更新监控端的数据。
优选的,所述频率参数,包括加速度、角速度、惯导参数和直线速度;
检测所述频率参数,当检测到所述某一时刻频率参数发生变化时,根据所述频率参数和默认频率计算数据更新的动态频率,包括:
检测到所述某一时刻的频率参数与前一时刻的频率参数相比,超过了预置范围;
根据所述频率参数计算用户终端下一时刻的位置;
根据用户终端下一时刻的位置和默认频率计算动态频率。
优选的,根据所述频率参数计算用户终端下一时刻的位置,包括:
根据所述频率参数计算用户终端下一时刻的速度;
根据用户终端下一时刻的速度计算用户终端下一时刻的位置。
优选的,根据所述频率参数计算用户终端下一时刻的速度,包括:
将所述角加速度与惯导参数相乘再除以单位时间的计算结果,作为用户终端下一时刻的角度;
将加速度与直线速度的乘积对所述用户终端下一时刻的角度取整再除以单位时间,作为计算用户终端下一时刻的速度。
优选的,根据用户终端下一时刻的速度计算用户终端下一时刻的位置,包括:
将用户终端下一时刻的速度与用户终端下一时刻的角度相乘再除以单位时间的计算结果,计算用户终端下一时刻的位置。
优选的,所述根据用户终端下一时刻的位置和默认频率计算动态频率,包括:
将用户终端下一时刻的位置与默认频率相乘的计算结果作为动态频率。
相应的,本申请还公开了一种基于位置的服务中更新数据的系统,包括:
初始更新数据模块,用于服务端初始以默认频率更新监控端的数据;
接受频率参数模块,用于服务端接收用户终端发送的某一时刻的频率参数;
计算动态频率模块,用于当检测到所述某一时刻的频率参数发生变化时,根据所述频率参数和默认频率计算数据更新的动态频率;
动态更新数据模块,用于服务端以动态频率更新监控端的数据。
优选的,所述频率参数,包括加速度、角速度、惯导参数和直线速度;
所述计算动态频率模块,包括:
检测子模块,用于检测到所述某一时刻的频率参数与前一时刻的频率参数相比,超过了预置范围;
计算位置子模块,用于根据所述频率参数计算用户终端下一时刻的位置;
计算动态频率子模块,用于根据用户终端下一时刻的位置和默认频率计算动态频率。
优选的,所述计算位置子模块,包括:
计算速度单元,用于根据所述频率参数计算用户终端下一时刻的速度;
计算位置单元,用于根据用户终端下一时刻的速度计算用户终端下一时刻的位置。
优选的,所述计算速度单元,包括:
计算角度子单元,用于将所述角加速度与惯导参数相乘再除以单位时间的计算结果,作为用户终端下一时刻的角度;
计算速度子单元,用于将加速度与直线速度的乘积对所述用户终端下一时刻的角度取整再除以单位时间,作为计算用户终端下一时刻的速度。
与现有技术相比,本申请包括以下优点:
本申请所述的方法及系统最初服务端以默认频率更新监控端的数据,当检测到用户终端发送的某一时刻的频率参数发送变化时,可以根据所述频率参数和默认频率计算数据更新的动态频率,并以动态频率更新监控端的数据。本申请可以根据用户终端的频率参数动态的改变数据更新的频率,无需人工参与,具有实时性,减少服务端计算数据的资源消耗,并且可以减少监控端数据无意义的更新对带宽资源的浪费。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
现有技术中服务端首先接收用户终端在当前时刻的位置、速度、加速度和角速度等数据,然后对上述数据进行处理。并且,服务端会以某一固定频率发送数据给监控端。
如果用户终端长时间的没有移动,或者移动速度很慢,那么传送给服务端的数据可能没有变化,或者变化很小。那么服务端相应处理完的数据就可能没有变化,或者变化很小,此时服务端对相应数据的处理就会造成资源的浪费,并且用所述没有变化,或者变化很小的处理后的数据,来更新监控端的数据,还会造成带宽资源的浪费。
本申请提供了一种基于位置的服务中更新数据的方法及系统,可以根据用户终端的频率参数动态的改变数据更新的频率,无需人工参与,具有实时性,减少服务端计算数据的资源消耗,并且可以减少监控端数据无意义的更新对带宽资源的浪费。
参照图2,给出了本申请实施例所述一种基于位置的服务中更新数据的方法流程图。
本申请提供了一种基于位置的服务中更新数据的方法,包括:
步骤11,服务端初始以默认频率更新监控端的数据;
系统在初始时会设置一个默认频率,服务端接收用户终端的数据并处理后,会在初始时以默认频率更新监控端的数据。
步骤12,服务端接收用户终端发送的某一时刻的频率参数;
由于LBS系统的服务是建立在位置的基础上的,很多数据具有实效性的要求,因此服务端会不断的接收到用户终端发送的某一时刻的数据,所述数据中包括频率参数,当然也可以包括该用户所处的位置等数据。这个过程中,用户终端也可以以某一固定频率发送数据给服务端。
步骤13,检测所述频率参数,当检测到所述某一时刻的频率参数发生变化时,根据所述频率参数和默认频率计算数据更新的动态频率;
服务端接收到用户终端发送的数据后,会检测数据中的频率参数,如果检测到所述某一时刻的频率参数发生变化,就可以通过接收的频率参数和预设的默认频率,计算得到一个动态频率,这个动态频率就是服务端与监控端更新数据的新频率。如果所述某一时刻的频率参数没有发生变化,则继续以默认频率更新监控端的数据。
其中,所述检测到所述某一时刻的频率参数发生变化,例如,某一时刻的频率参数与它前一时刻的频率参数不相等。或者某一时刻的频率参数与它前一时刻的频率参数相比,超过了某一预定的数值范围。
步骤14,服务端以动态频率更新监控端的数据。
上述步骤中计算得到了数据更新的动态频率,因此服务端会以所述动态频率更新监控端的数据。
服务端接下来会以计算得到的动态频率更新监控端的数据,直到再次检测到某一时刻的频率参数发生变化,重新计算出一个新的动态频率时,服务端会以该新的动态频率更新监控端的数据。
参照图3,给出了本申请实施例所述一种基于位置的服务中更新数据的方法中计算动态频率流程图。
具体的,所述频率参数包括加速度、角速度、惯导参数和直线速度;
在具体实施中,所述频率参数还可以包括角速度数量积等。上述频率参数有用户终端采集并发送到服务端。
所述步骤13,检测所述频率参数,当检测到所述某一时刻频率参数发生变化时,根据所述频率参数和默认频率计算数据更新的动态频率,包括:
步骤131,检测到所述某一时刻的频率参数与前一时刻的频率参数相比,超过了预置范围;
上述频率参数包括加速度、角速度、惯导参数和直线速度,以及角速度数量积等。当检测到频率参数中的任一参数发生变化,即检测到频率参数中的任一参数在某一时刻与它前一时刻相比,超过了预置范围。
其中,预置范围是预先设定的数值范围。当预置范围为0是,上述步骤可以认为是:检测到所述某一时刻的频率参数与前一时刻的频率参数不相等。
例如,用户终端在时刻A的加速度是a,但是用户终端在时刻A-1的加速度是b,预置范围是±2。若a-b=3>+2,或a-b=-3<-2,则加速度在时刻A与它的前一时刻A-1相比,超过了预置范围±2,则需要后续计算动态频率。若a-b=1<+2,或a-b=-1>-2,则加速度在时刻A与它的前一时刻A-1相比,没有超过预置范围±2,则不需要后续计算动态频率,可以继续以默认频率更新数据。
步骤132,根据所述频率参数计算用户终端下一时刻的位置;
上步骤中检测到所述某一时刻的频率参数与前一时刻的频率参数相比,超过了预置范围后,首先要通过所述频率参数计算用户终端下一时刻的位置。
其中,本申请所述下一时刻的位置是下一时刻的可能位置,并不限定用户终端下一时刻一定在计算出的位置。
具体可以包括:
步骤1321,根据所述频率参数计算用户终端下一时刻的速度;
步骤1322,根据用户终端下一时刻的速度计算用户终端下一时刻的位置。
步骤133,根据用户终端下一时刻的位置和默认频率计算动态频率。
在计算得到用户终端下一时刻的位置后,可以与默认频率共同计算得到所述动态频率。
下面论述具体实施中的一种计算动态频率的方法。
参照图4,给出了本申请优选实施例所述一种基于位置的服务中更新数据的方法流程图。
假设,服务端在A时刻接收到用户终端的频率参数,其中角加速度为a,惯导参数为b,加速度为c,直线速度为d,单位时间为L,默认频率为X。
其中,单位时间L,可以代表1s、1ms等,本申请对此不做限定。A时刻的下一时刻A+1,就是指A时刻后经过单位时间L,就是A+1时刻。
首先要计算用户终端在A+1时刻的角度α;
步骤301,将所述角加速度与惯导参数相乘再除以单位时间的计算结果,作为用户终端下一时刻的角度。
具体计算公式如:α=(a*b)/L
其中,α为用户终端下一时刻的角度。
例如,服务端的默认频率为2s-1,即每秒更新2次监控端的数据。某用户的用户终端发送的频率参数为角加速度为0.2,惯导参数为2,加速度为0.3,直线速度为5(此处不一一列举各频率参数的单位)。单位时间为1s。
则A+1时刻的角度α=(a*b)/L=(0.2*2)/1=0.4。
下面继续使用本例。
其次要计算用户终端在A+1时刻的速度β;
步骤302,将加速度与直线速度的乘积对所述用户终端下一时刻的角度取整再除以单位时间,作为计算用户终端下一时刻的速度。
具体计算公式如:β=((c*d)%α)/L
其中,β为用户终端下一时刻的速度。%代表取整,即(c*d)%α代表c和d的乘积除以α的计算结果取其中的整数部分。
A+1时刻的速度β=((c*d)%α)/L=((0.3*5)%0.4)/1=3。
其中,(3*5)%4)=15%4=3.75,取其中3.75的整数部分即取3作为计算结果。
再次要计算用户终端在A+1时刻的位置B;
步骤303,将用户终端下一时刻的速度与用户终端下一时刻的角度相乘再除以单位时间的计算结果,计算用户终端下一时刻的位置。
具体计算公式如:B=(α*β)%L
其中,B为用户终端下一时刻的位置。
A+1时刻的位置B=(α*β)%L=(0.4*3)%1=1.2。
最后要计算用户终端的动态频率Y。
步骤304,将用户终端下一时刻的位置与默认频率相乘的计算结果作为动态频率。
具体计算公式如:Y=B*X
其中,Y为用户终端的动态频率。
动态频率Y=B*X=1.2*2=2.4s-1。
则服务端根据计算得到的动态频率,以每10秒24次的频率更新监控端的数据。
另一种情况,如果用户终端长时间没有移动,则频率参数均为0,那么依据频率参数计算的用户终端下一刻的位置也不会移动,则B=0,那么Y=B*X=0。此时服务端不需要更新监控端的数据。
其中,本申请所述用户终端的位置(例如,用户终端下一时刻的位置B)是该用户终端的空间坐标位置。具体实施中可以使用地理坐标表示(经纬度),也可以使用二维坐标或三维坐标表示,本申请对此不做限定。
综上所述,本申请所述的方法及系统最初服务端以默认频率更新监控端的数据,当检测到用户终端发送的某一时刻的频率参数发送变化时,可以根据所述频率参数和默认频率计算数据更新的动态频率,并以动态频率更新监控端的数据。本申请可以根据用户终端的频率参数动态的改变数据更新的频率,无需人工参与,具有实时性,减少服务端计算数据的资源消耗,并且可以减少监控端数据无意义的更新对带宽资源的浪费。
具体实施中本申请可以用于各种基于位置的服务系统中。例如,出租车公司通过基于位置的服务系统可以监控出租车的速度、行驶里程、是否违规等信息,就可以应用本申请所述的方法,在同时监控多辆出租车时,能够节约服务端的资源,提高贷款的利用率。
本申请还可以用于现有的一些基于位置的服务的相关手机软件中,它可以根据用户手机传输的数据,监控用户的位置及相关位置周边的餐饮、娱乐等设施,为用户提供相关服务。
参照图5,给出了本申请实施例所述一种基于位置的服务中更新数据的系统结构图。
相应的,本申请还提供了一种基于位置的服务中更新数据的系统,包括:
初始更新数据模块11,用于服务端初始以默认频率更新监控端的数据;
接受频率参数模块12,用于服务端接收用户终端发送的某一时刻的频率参数;
计算动态频率模块13,用于当检测到所述某一时刻的频率参数发生变化时,根据所述频率参数和默认频率计算数据更新的动态频率;
动态更新数据模块14,用于服务端以动态频率更新监控端的数据。
具体的,所述频率参数包括,加速度、角速度、惯导参数和直线速度;
所述计算动态频率模块13,包括:
检测子模块131,用于检测到所述某一时刻的频率参数与前一时刻的频率参数相比,超过了预置范围;
计算位置子模块132,用于根据频率参数计算用户终端下一时刻的位置;
计算动态频率子模块133,用于根据用户终端下一时刻的位置和默认频率计算动态频率。
参照图6,给出了本申请实施例所述一种基于位置的服务中更新数据的系统中计算位置子模块结构图。
优选的,所述计算位置子模块132,包括:
计算速度单元1321,用于根据所述频率参数计算用户终端下一时刻的速度;
计算位置单元1322,用于根据用户终端下一时刻的速度计算用户终端下一时刻的位置。
优选的,所述计算速度单元1321,包括:
计算角度子单元13211,用于将所述角加速度与惯导参数相乘再除以单位时间的计算结果,作为用户终端下一时刻的角度;
计算速度子单元13212,用于将加速度与直线速度的乘积对所述用户终端下一时刻的角度取整再除以单位时间,作为计算用户终端下一时刻的速度。
优选的,所述计算位置单元1322,还用于将用户终端下一时刻的速度与用户终端下一时刻的角度相乘再除以单位时间的计算结果,计算用户终端下一时刻的位置。
优选的,所述计算动态频率子模块133,还用于将用户终端下一时刻的位置与默认频率相乘的计算结果作为动态频率。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种基于位置的服务中更新数据的方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。