专利名称:数据采集方法及装置、移动终端的制作方法
技术领域:
本发明涉及通讯领域,尤其涉及一种适用于包括多个数据采集单元的装置中的数据采集方法及装置、移动终端。
背景技术:
在已知的移动终端中,一个移动终端通常采用多个不同的数据采集单元,比如传感器,来获取外部的各种环境数据,从而保证运行在这个移动终端上的应用程序可以利用这些环境数据来实现某些功能。以智能手机为例,通常都包括用于采集重力加速度数据的重力加速度传感器,以便实现例如手机横竖屏切换、来电时翻动机身静音之类的功能;还可以包括用于采集方向数据的电子罗盘传感器,以便实现指南针之类的功能;还可以包括用于感应人脸远近信息的红外线传感器,以便实现打电话过程中屏幕及触摸屏自动关闭之类的功能等等。对于实现某一项功能的应用程序来说,可能需要同时使用多个传感器采集的数据来协作实现对应的功能。比如,为实现在用户打电话的时候关闭屏幕显示以及触摸屏的功能,以防止人脸接触触摸屏发生误触情况的应用程序,不仅需要红外线传感器采集的人脸远近信息的数据,还需要使用重力加速度传感器采集的重力加速度数据。也即只有在红外线传感器采集的人脸远近信息的数据代表用户的脸部接近了屏幕,同时重力加速度传感器采集的重力加速度数据代表手机是竖立形态时,才会触发关闭屏幕显示以及触摸屏的功倉泛。为了满足这类型应用程序对多个传感器采集的数据的需求,现有技术中存在一种数据采集方法,该方法主要包括各个传感器按照各自的采集频率采集数据;然后各个传感器判断本次采集的数据与前次采集的数据之差是否大于预定阀值,如果是,则上报给中间层;中间层从每个传感器上报的数据中挑选属于同一时刻或者相近时刻的一组或者多组数据提供给应用程序使用。但是,当一个应用程序在某一时刻需要多个传感器采集的数据时,采用上述数据采集方法可能就不能及时获得这一时刻每个传感器采集的实时的、准确的数据,而是获得了各个传感器在这一时刻的相近时刻的数据。这种数据不能满足一些对数据精确性要求较高的应用程序的需求,例如用于判断手机姿态以及运动轨迹的应用程序,需要在同一时间获取重力加速度传感器、电子罗盘传感器和陀螺仪传感器的数据,以便计算手机的姿态、方位和运动速度等信息,如果三个传感器的数据采集时间点并不是精确的同一时刻,则会导致该应用程序的计算出现误差。
发明内容
为了能够精确采集至少两个数据采集单元的多组在相同时刻的同步数据,本发明实施例提供了一种数据采集方法及装置、移动终端。—方面,本发明实施例提供了一种数据采集方法,用于包括多个数据采集单元的装置中,所述方法包括至少两个数据采集单元根据一采集起始时刻同时以各自的采集频率采集初步数据;根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。另一方面,本发明实施例提供了一种数据采集装置,用于包括多个数据采集单元的装置中,所述数据采集装置包括同步数据采集模块;所述多个数据采集单元中的至少两个数据采集单元,用于根据一采集起始时刻同时以各自的采集频率采集初步数据;所述同步数据采集模块,用于根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。再一方面,本发明实施例还提供了一种包括多个数据采集单元的移动终端,其还包括数据采集装置;所述数据采集装置包括同步数据采集模块;所述多个数据采集单元中的至少两个数据采集单元,用于根据一采集起始时刻同时以各自的采集频率采集初步数据;所述同步数据采集模块,用于根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。从以上技术方案可知,通过调整至少两个数据采集单元的采集起始时刻,并同时按照同步采集频率从所述至少两个数据采集单元采集的初步数据中抓取同步数据的方式, 获得了各个数据采集单元的多组同步数据,每组同步数据都是各个数据采集单元在相同时刻采集的准确数据,从而使得利用所述多组同步数据的应用程序可以避免误差的产生。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例一提供的数据采集方法的方法流程图;图2是本发明实施例二提供的数据采集方法的方法流程图;图3是本发明实施例三提供的数据采集装置的结构方框图;图4是本发明实施例三提供的同步采集频率选取模块的结构方框图。
具体实施例方式
6
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一请参考图1,其示出了本发明实施例一提供的数据采集方法的方法流程图。该数据采集方法可以用于包括多个数据采集单元的装置中。所述装置可以是诸如个人电脑、服务器之类的固定终端,也可以是诸如笔记本、平板电脑和手机之类的移动终端。该数据采集方法具体包括步骤102,至少两个数据采集单元根据一采集起始时刻同时以各自的采集频率采集初步数据;本文中的数据采集单元主要指各种传感器,显然在其它实施例中,数据采集单元也可以是按照一定频率采集数据的其它模块。本实施例中也主要以数据采集单元为传感器为例来进行详细描述,但不构成对其的限定。根据前述内容可知,有时一个应用程序会同时需要多个传感器在相同时刻采集的数据,这多个传感器可能是一个终端内所有的传感器,也可能是一个终端内所有的传感器中的一部分,这一部分传感器可以是两个、三个或者更多个传感器。为了能够采集到这至少两个传感器在相同时刻采集的数据,首先需要将这至少两个传感器的某个数据采集时刻都置为相同的时刻。通常情况下,此处是将这至少两个传感器第一次数据采集的时刻置为相同的时刻,也即可以设置一个采集起始时刻,然后这至少两个数据采集单元可以根据这个采集起始时刻同时开始以各自的采集频率采集初步数据。步骤104,根据一同步采集频率采集至少两个数据采集单元所采集的初步数据以得到同步数据。其中,同步采集频率为该至少两个数据采集单元各自的采集频率的公约数频率。在采集起始时刻之后,可以根据一同步采集频率采集每个传感器所采集的初步数据,此处的同步采集频率可以为每个传感器各自的采集频率的公约数频率,比如一个传感器的采集频率为100HZ,另一个传感器的采集频率为200HZ,再一个传感器的采集频率为 50HZ,则可以采用的同步采集频率为50HZ、25HZ、5HZ和2HZ中的任意一个。此时采集到的数据即为同步数据,而且每组同步数据中的各个传感器的数据都是在相同时刻的实时地、 精确地数据。这些同步数据可以提供给应用程序使用。至于具体选取哪个公约数作为公约数频率的数值时,本领域普通技术人员可以根据情况合理选择,在此不再赘述。优选的,可以选择数值较大的公约数作为公约数频率的数值。综上所述,本实施例一提供的数据采集方法通过调整至少两个数据采集单元的采集起始时刻,并同时按照同步采集频率从该至少两个数据采集单元采集的初步数据中抓取同步数据的方式,获得了各个数据采集单元的多组同步数据,每组同步数据都是各个数据采集单元在同一时刻的准确数据,从而使得利用该多组同步数据的应用程序可以避免误差的产生。实施例二请参考图2,其示出了本发明实施例二提供的数据采集方法的方法流程图。该数据采集方法可以用于包括多个数据采集单元的装置中。所述装置可以是诸如个人电脑、服务器之类的固定终端,也可以是诸如笔记本、平板电脑和手机之类的移动终端。该数据采集方法具体包括步骤201,在需要时注册多个数据采集单元中的至少两个数据采集单元作为待采集同步数据的数据采集单元;仍然以数据采集单元为传感器为例,由于在一个终端中,可能包括很多个传感器, 而应用程序在某一时刻需要的可能只是其中一部分传感器在相同时刻的精确数据。所以, 首先应用程序在需要时可以注册所有传感器中的全部或者部分作为待采集同步数据的数据采集单元。换句话说,被注册的待采集同步数据的数据采集单元是与获取应用程序需要的同步数据相关的传感器,对于终端中的其它传感器,应用程序可以不注册。比如,应用程序是一个游戏,该游戏被用户运行时,可以注册终端中的陀螺仪传感器、重力加速度传感器和红外传感器作为待采集同步数据的数据采集单元。步骤202,将应用程序注册的数据采集单元的工作模式设置为第二工作模式;由于传感器通常包括两种工作模式第一工作模式和第二工作模式,其中第一工作模式为传感器判断本次采集的数据与前次采集的数据之差是否大于预定阀值,如果是, 则本次采集的数据作为初步数据进行上报;反之,则不上报。第二工作模式为传感器每次采集的数据都作为初步数据进行上报。终端中为了减少CPU的工作量,通常对各个传感器默认采用第一工作模式。而在本实施例中,为了能够获取准确的数据,在应用程序注册一部分传感器之后,需要将应用程序注册的该部分传感器的工作模式都设置为第二工作模式, 也即将被注册的传感器的工作模式设置为每次采集的精确数据都作为初步数据上报的工作模式。步骤203,根据至少两个数据采集单元的初始化时间长度获取采集起始时刻;为了能够采集到被应用程序注册的至少两个传感器在相同时刻采集的数据,需要先将这至少两个传感器的某个数据采集时刻都置为相同的时刻。通常情况下,此处是将这至少两个传感器第一次数据采集的时刻置为相同的时刻,也即可以为被注册的传感器设置一个相同的采集起始时刻,以便这些传感器同时开始采集初步数据。具体地讲第一,获取每个传感器的初始化时间长度和初始化时间长度中最大的初始化时间长度。其中,初始化时间长度是指传感器从上电初始化开始到初始化完成并进行第一次数据采集的这段时间。对于不同的传感器,该初始化时间长度可以互不相同。第二,在获得每个传感器的初始化时间长度后,可以将未来的某一时刻作为采集起始时刻,该时刻通常不小于在当前时刻基础上向后延长步骤一中获取的最大的初始化时间长度得到的时刻。也即,该采集起始时刻可以是(当前时刻+最大的初始化时间长度) 的时刻,或者(当前时刻+最大的初始化时间长度)之后的时刻。比如,一个传感器的初始化时间长度是190ms,而另外一个传感器的初始化时间长度是120ms,可以将(当前时刻 +190ms)或者(当前时刻+200ms)的时刻作为采集起始时刻。在一个具体的实施例中,可以有一个预定时间长度,该预定时间长度为大于等于O的固定值,然后终端可以在获取到最大的初始化时间长度之后,自动将(当前时刻+最大的初始化时间长度+预定时间长度) 所指示的时刻作为采集起始时刻。步骤204,根据至少两个数据采集单元的采集频率选取同步采集频率;
此处的至少两个数据采集单元可以是指在步骤201中被应用程序注册的传感器。 为了选取同步采集频率,需要获取这些被注册的传感器的采集频率,有时还需要获取同步数据的需求频率。采集频率是传感器在第二工作模式下采集初步数据时的频率。需要说明的是,每个传感器的采集频率可能不止一个,此时可以获取该传感器的所有采集频率,此处的采集频率既可以指传感器的实际采集频率,也可以指传感器上报初步数据的频率。而同步数据的需求频率是同步数据被其它模块使用时所需要的频率,该频率可以由其它模块在同步数据采集之前指定。为了便于描述,本文中将这些模块称之为同步数据使用模块,该同步数据使用模块通常为应用程序。具体地讲,当只有一个应用程序需要使用同步数据时,需求频率即为该应用程序使用同步数据时需要的最低频率。而当有若干个应用程序需要使用同步数据时,可以先获取各个应用程序需要使用同步数据时所需要的最低频率,然后将各个最低频率的最小公倍数的数值作为需求频率的数值,比如,一个应用程序最低需要按照5HZ的频率使用同步数据,另一个应用程序最低需要按照IOHZ的频率使用同步数据,再一个应用程序最低需要按照50HZ的频率使用同步数据,则可以将50HZ作为需求频率。在获取每个传感器的采集频率之后,可以获取每个传感器的采集频率的数值的所有公约数,比如一个传感器的采集频率为400HZ,另一个传感器的采集频率为200HZ,再一个传感器的采集频率为100HZ,这些传感器的采集频率的数值的公约数为100、50、25、5、2 和I等。然后可以选取所有公约数中的任一个作为同步采集频率的数值。但在较优的方案中,在选取所有公约数中的一个为同步采集频率的数值时,可以结合参考同步数据的需求频率来进行更好地选取。也即选取所有公约数中不小于需求频率的数值的最小一个公约数作为同步采集频率的数值。具体地讲,可以筛选所有公约数中等于或者大于需求频率的公约数,然后选取筛选出的公约数中的最小的一个作为同步采集频率的值。比如同步数据的需求频率为50HZ,筛选出的公约数是100和50,则可以选取其中较小的一个50为同步采集频率的值。步骤205,至少两个数据采集单元根据采集起始时刻同时开始以各自的采集频率采集初步数据;被应用程序注册的至少两个传感器可以根据步骤203中获取的采集起始时刻同时开始以各自的采集频率采集初步数据。具体地讲第一,在获取采集起始时刻之后,可以根据采集起始时刻获取被应用程序注册的至少两个传感器的初始化时刻,获取的初始化时刻可以为在采集起始时刻基础上提前传感器各自的初始化时间长度得到的时刻。也即,可以获取每个传感器的初始化时刻为(采集起始时刻-对应于该传感器的初始化时间长度)。比如,在采集起始时刻为(当前时刻+200ms)时,可以获取初始化时间长度是190ms的传感器的初始化时刻为(当前时刻 +200ms-190ms)=(当前时刻+10ms);又可以获取初始化时间长度是120ms的传感器的初始化时刻为(当前时刻+200ms-120ms)=(当前时刻+80ms);第二,根据初始化时刻初始化被应用程序注册的至少两个传感器,当被应用程序注册的至少两个传感器在采集起始时刻同时完成初始化过程后,将会自动以各自的采集频率采集初步数据。比如,根据对各个传感器的初始化时刻可以启动相应的定时器,使得在(当前时刻+IOms)时开始初始化第一个传感器,在(当前时刻+80ms)时开始初始化第二个传感器。最终,每个传感器都在采集起始时刻完成了初始化过程并开始第一次数据采集。 需要说明的是,由于传感器通常在终端开机时就已经运行,此处的初始化一般都是将已经运行的相关传感器进行重新初始化的一个过程。还需要说明的是,使每个传感器同时从该采集起始时刻开始以各自的采集频率采集初步数据也可以采用其它方式。比如,有三个传感器,第一个传感器一直保持运行,第二个传感器的初始化时间长度是190ms,而第三个传感器的初始化时间长度是120ms。为了使这三个传感器同时在采集起始时刻开始采集数据,可以将第一个传感器采集数据过程中的某个数据采集时刻T为采集起始时刻,然后可以启动相应的定时器提前在(T-190ms)的时刻开始初始化第二个传感器,并在(T-120ms)的时刻开始初始化第三个传感器,这样在T时刻,这三个传感器也将同时开始以各自的采集频率采集初步数据。步骤206,按照同步采集频率采集至少两个数据采集单元所采集的初步数据以得到同步数据。在采集起始时刻之后,可以按照步骤204中选取的同步采集频率采集每个传感器采集的初步数据以得到同步数据。该同步数据可以提供给应用程序使用。当然,对应于步骤201至步骤202,应用程序在不需要同步数据时,可以释放被注册的传感器;被释放的传感器可以从第二工作模式再变回第一工作模式等等。综上所述,本实施例二提供的数据采集方法通过调整至少两个数据采集单元的采集起始时刻,并同时按照同步采集频率从该至少两个数据采集单元采集的初步数据中抓取同步数据的方式,获得了各个数据采集单元的多组同步数据,每组同步数据都是各个数据采集单元在同一时刻的准确数据,从而使得利用该多组同步数据的应用程序可以避免误差的产生。实施例三请参考图3,其示出了本发明实施例三提供的数据采集装置的结构方框图。所述数据采集装置30可以用于包括多个数据采集单元301的装置中,比如个人电脑、服务器之类的固定终端,或者诸如笔记本、平板电脑和手机之类的移动终端,该移动终端通常还包括多个同步数据使用模块302。所述数据采集装置30可以包括采集单元注册模块303、工作模式设定模块304、初始化时间获取模块305、起始时刻获取模块306、初始化时刻获取模块 307、初始化模块308、采集频率获取模块309、公约数获取模块310、同步采集频率选取模块 311和同步数据采集模块312。数据采集单元301用于按照一定的采集频率采集初步数据。数据采集单元301可以是移动终端中的各种传感器,此处的采集频率既可以指传感器的实际采集频率,也可以指传感器上报初步数据的频率。数据采集单元301通常包括两种工作模式第一工作模式, 判断本次采集的数据与前次采集的数据之差是否大于预定阀值,如果是,则将本次采集的数据作为初步数据进行上报;第二工作模式,每次采集的数据都作为初步数据进行上报。并且在通常情况下,数据采集单元301按照第一工作模式运行。同步数据使用模块302用于对各个数据采集单元301采集的同一时刻的数据进行使用或处理,该各个数据采集单元301采集的同一时刻的数据即为同步数据。同步数据使用模块302可以是应用程序。其中,同步数据由同步数据采集模块312提供。
采集单元注册模块303用于在同步数据使用模块302需要同步数据时,注册所有数据采集单元301中的全部或者部分作为待采集同步数据的数据采集单元301。由于在一个终端中可能包括很多个数据采集单元301,而同步数据使用模块302可能需要的是其中一部分数据采集单元301在同一时刻的精确数据。所以,同步数据使用模块302可以通过采集单元注册模块303注册所有数据采集单元301中的全部或者部分作为待采集同步数据的数据采集单元,待采集同步数据的数据采集单元是同步数据使用模块302需要获取同步数据相关的数据采集单元,对于该终端中的其它数据采集单元,同步数据使用模块302可以不注册。工作模式设定模块304用于将采集单元注册模块303注册的每个数据采集单元 301的工作模式设置从默认的第一工作模式设定为第二工作模式。该第二工作模式是指数据采集单元301将每次采集的数据都作为初步数据进行上报的工作模式。初始化时间获取模块305用于获取采集单元注册模块303注册的至少两个数据采集单元301的初始化时间长度和初始化时间长度中最大的初始化时间长度。其中,初始化时间长度是指传感器从上电初始化开始到初始化完成并进行第一次数据采集的这段时间。 对于不同的数据采集单元301,该初始化时间长度可以互不相同。起始时刻获取模块306用于获取所述采集起始时刻,所述采集起始时刻不小于在当前时刻基础上向后延长所述最大的初始化时间长度得到的时刻。初始化时刻获取模块307,用于获取采集单元注册模块303注册的至少两个数据采集单元301的初始化时刻,采集单元注册模块303注册的至少两个数据采集单元301的初始化时刻可以为在起始时刻获取模块306获取的采集起始时刻基础上提前数据采集单元301各自的初始化时间长度得到的时刻。初始化模块308用于根据初始化时刻获取模块307获取的初始化时刻初始化采集单元注册模块303注册的至少两个数据采集单元301。当采集单元注册模块303注册的至少两个数据采集单元301同时在起始时刻获取模块306获取的采集起始时刻完成初始化过程后,以各自的采集频率采集初步数据。采集频率获取模块309用于获取采集单元注册模块303注册的至少两个数据采集单元301的采集频率。采集频率是数据采集单元301在第二工作模式下采集初步数据时的频率。需要说明的是,每个传感器的采集频率可能不止一个,此时可以获取该传感器的所有采集频率,此处的采集频率既可以指传感器的实际采集频率,也可以指传感器上报初步数据的频率。公约数获取模块310用于获取采集频率获取模块330获取的至少两个数据采集单元301的采集频率的数值的所有公约数。同步采集频率选取模块311用于选取公约数获取模块310获取的所有公约数中的一个作为同步采集频率的数值。在一个具体的实施例中,该同步采集频率选取模块311又可以具体包括需求频率获取单元3112和同步采集频率确定单元3114,如图4所示。其中,需求频率获取单元3112用于获取同步数据的需求频率,该需求频率为同步数据使用模块302 使用同步数据时所需要的频率;同步采集频率确定单元3114用于选取公约数获取模块310 获取的公约数中不小于需求频率获取单元3112获取的需求频率的数值的最小一个公约数作为同步采集频率的数值。
由于可能同时有多个同步数据使用模块302需要使用同步数据,所以需求频率获取单元3112又可以具体包括有最低频率获取子单元和需求频率选取子单元(未具体示出)。其中,最低频率获取子单元用于获取各个同步数据使用模块302使用同步数据时所需要的最低频率;需求频率选取子单元用于选取最低频率获取子单元获取到的各个最低频率的数值的最小公倍数作为需求频率的数值。同步数据采集模块370用于根据同步采集频率选取模块311选取的同步采集频率采集每个数据采集单元301采集的初步数据以获取同步数据。在一个具体的实施例中,数据采集装置可以为智能手机,该智能手机包括陀螺仪传感器、重力加速度传感器、红外传感器和电子罗盘传感器,这四个传感器可以是四个数据采集单元301。该智能手机中运行的一个赛车游戏可以是一个同步数据使用模块302。当这个赛车游戏被用户触发运行后,这个赛车游戏可以利用采集单元注册模块303注册陀螺仪传感器和重力加速度传感器作为待采集同步数据的至少两个数据采集单元301,然后工作模式设定模块304将陀螺仪传感器和重力加速度传感器的工作模式从默认的第一工作模式设定为每次采集到数据都作为初步数据上报的第二工作模式。初始化时间获取模块305 可以获取到陀螺仪传感器的初始化时间长度为190ms,而重力加速度传感器的初始化时间长度为120ms,这两者之间的最大的初始化时间长度为190ms。假设预定时间长度为100ms, 则起始时刻获取模块306可以将(当前时刻+190ms+100ms)所指示的时刻作为采集起始时刻,而初始化时刻获取模块307则可以将(当前时刻+190ms+100ms-190ms)=(当前时刻+100ms)所指示的时刻作为陀螺仪传感器重新初始化的初始化时刻,同时将(当前时刻 +190ms+100ms-120ms)=(当前时刻+170ms)所指示的时刻作为重力加速度传感器重新初始化的初始化时刻。初始化模块308则启动相应的定时器使得陀螺仪传感器在(当前时刻 +100ms)所指示的时刻开始重新初始化,同时使得重力加速度传感器在(当前时刻+170ms) 所指示的时刻开始重新初始化。显然,陀螺仪传感器和重力加速度传感器都会在采集起始时刻同时完成初始化,并且开始以各自的采集频率开始采集初步数据。另一方面,在陀螺仪传感器和重力加速度传感器被注册以后,采集频率获取模块309可以获取到陀螺仪传感器的采集频率为100HZ,重力加速度传感器的采集频率为 200HZ。公约数获取模块310获得公约数频率的数值可以为1、2、4、5、10、20、25、50和100。 同步采集频率选取模块311中的需求频率获取单元3112获取到该赛车游戏需要以最低为 25HZ的需求频率来使用同步数据,则同步采集频率选取模块311中的同步采集频率确定单元3114选取25HZ作为同步采集频率。同步数据采集模块370可以在采集起始时刻之后, 利用该同步采集频率采集陀螺仪传感器和重力加速度传感器采集的初步数据从而获得同步数据。最后,该赛车游戏可以利用该同步数据计算游戏时的各种参数。当然,在该赛车游戏退出运行时,可以通过采集单元注册模块301注销对陀螺仪传感器和重力加速度传感器的注册,工作模式设定模块302可以将陀螺仪传感器和重力加速度传感器的工作模式从第二工作模式设定为原先默认的第一工作模式。综上所述,本实施例三提供的数据采集装置通过调整至少两个数据采集单元的采集起始时刻,并同时按照同步采集频率从该至少两个数据采集单元采集的初步数据中抓取同步数据的方式,获得了各个数据采集单元的多组同步数据,每组同步数据都是各个数据采集单元在同一时刻的准确数据,从而使得利用该多组同步数据的应用程序可以避免误差的产生。需要说明的是上述实施例提供的数据采集装置在实施例三中描述时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据采集终端与数据采集方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1权利要求
1.一种数据采集方法,用于包括多个数据采集单元的装置中,其特征在于,所述方法包括至少两个数据采集单元根据一采集起始时刻同时以各自的采集频率采集初步数据; 根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。
2.根据权利要求I所述的数据采集方法,其特征在于,所述至少两个数据采集单元根据一采集起始时刻同时以各自的采集频率采集初步数据之前,所述方法还包括获取所述至少两个数据采集单元的初始化时间长度和所述初始化时间长度中最大的初始化时间长度;获取所述采集起始时刻,所述采集起始时刻不小于在当前时刻基础上向后延长所述最大的初始化时间长度得到的时刻。
3.根据权利要求I或2所述的数据采集方法,其特征在于,所述至少两个数据采集单元根据所述采集起始时刻同时以各自的采集频率采集初步数据,具体包括获取所述至少两个数据采集单元的初始化时刻,所述至少两个数据采集单元的初始化时刻为在所述采集起始时刻基础上提前所述数据采集单元各自的初始化时间长度得到的时刻;根据所述初始化时刻初始化所述至少两个数据采集单元;所述至少两个数据采集单元在所述采集起始时刻同时完成初始化过程后,以各自的采集频率采集初步数据。
4.根据权利要求I至3任一所述的数据采集方法,其特征在于,所述根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据之前,所述方法还包括获取所述至少两个数据采集单元的采集频率;获取所述至少两个数据采集单元的采集频率的数值的所有公约数;选取所有公约数中的一个为所述同步采集频率的数值。
5.根据权利要求4所述的数据采集方法,其特征在于,所述选取所有公约数中的一个为所述同步采集频率的数值,具体包括获取所述同步数据的需求频率,所述需求频率为同步数据使用模块使用所述同步数据时所需要的频率;将所述公约数中不小于所述需求频率的数值的最小一个公约数作为所述同步采集频率的数值。
6.根据权利要求5所述的数据采集方法,其特征在于,所述获取所述同步数据的需求频率,具体包括获取各个同步数据使用模块使用所述同步数据时所需要的最低频率;将所述各个最低频率的数值的最小公倍数作为所述需求频率的数值。
7.一种数据采集装置,用于包括多个数据采集单元的装置中,其特征在于,所述数据采集装置包括同步数据采集模块;所述多个数据采集单元中的至少两个数据采集单元,用于根据一采集起始时刻同时以各自的采集频率采集初步数据;所述同步数据采集模块,用于根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。
8.根据权利要求7所述的数据采集装置,其特征在于,所述数据采集装置还包括 初始化时间获取模块和起始时刻获取模块;所述初始化时间获取模块,用于获取所述至少两个数据采集单元的初始化时间长度和所述初始化时间长度中最大的初始化时间长度;所述起始时刻获取模块,用于获取所述采集起始时刻,所述采集起始时刻不小于在当前时刻基础上向后延长所述最大的初始化时间长度得到的时刻。
9.根据权利要求8所述的数据采集装置,其特征在于,所述数据采集装置还包括 初始化时刻获取模块和初始化模块;所述初始化时刻获取模块,用于获取所述至少两个数据采集单元的初始化时刻,所述至少两个数据采集单元的初始化时刻为在所述采集起始时刻基础上提前所述数据采集单元各自的初始化时间长度得到的时刻;所述初始化模块,用于根据所述初始化时刻初始化所述至少两个数据采集单元; 所述至少两个数据采集单元,还用于在所述采集起始时刻同时完成初始化过程后,以各自的采集频率采集初步数据。
10.根据权利要求7至9任一所述的数据采集装置,其特征在于,所述数据采集装置还包括采集频率获取模块、公约数获取模块和同步采集频率选取模块;所述采集频率获取模块,用于获取所述至少两个数据采集单元的采集频率;所述公约数获取模块,用于获取所述至少两个数据采集单元的采集频率的数值的所有公约数;所述同步采集频率选取模块,用于选取所有公约数中的一个为所述同步采集频率的数值。
11.根据权利要求10所述的数据采集装置,其特征在于,所述同步采集频率选取模块包括需求频率获取单元和同步采集频率确定单元;所述需求频率获取单元,用于获取同步数据的需求频率,所述需求频率为同步数据使用模块使用所述同步数据时所需要的频率;所述同步采集频率确定单元,用于将所述公约数中不小于所述需求频率的数值的最小一个公约数作为所述同步采集频率的值。
12.根据权利要求11所述的数据采集装置,其特征在于,所述需求频率获取单元包括: 最低频率获取子单元和需求频率选取子单元;所述最低频率获取子单元,用于获取各个的同步数据使用模块使用所述同步数据时所需要的最低频率;所述需求频率选取子单元,用于选取所述各个最低频率的数值的最小公倍数作为所述需求频率的数值。
13.—种包括多个数据采集单元的移动终端,其特征在于,还包括数据采集装置;所述数据采集装置包括同步数据采集模块;所述多个数据采集单元中的至少两个数据采集单元,用于根据一采集起始时刻同时以各自的采集频率采集初步数据;所述同步数据采集模块,用于根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。
14.根据权利要求13所述的移动终端,其特征在于,所述数据采集装置还包括采集单元注册模块,用于注册所述多个数据采集单元中的全部或者部分作为同步数据使用模块使用时需要的所述至少两个数据采集单元。
15.根据权利要求14所述的移动终端,其特征在于,所述数据采集装置还包括初始化时间获取模块和起始时刻获取模块;所述初始化时间获取模块,用于获取所述至少两个数据采集单元的初始化时间长度和所述初始化时间长度中最大的初始化时间长度;所述起始时刻获取模块,用于获取所述采集起始时刻,所述采集起始时刻不小于在当前时刻基础上向后延长所述最大的初始化时间长度得到的时刻。
16.根据权利要求15所述的移动终端,其特征在于,所述数据采集装置还包括采集频率获取模块、公约数获取模块和同步采集频率选取模块;所述采集频率获取模块,用于获取所述至少两个数据采集单元的采集频率;所述公约数获取模块,用于获取所述至少两个数据采集单元的采集频率的数值的所有公约数;所述同步采集频率选取模块,用于选取所有公约数中的一个为所述同步采集频率的数值。
全文摘要
本发明实施例公开了一种数据采集方法及装置、移动终端。该数据采集方法可以用于包括多个数据采集单元的装置中,所述方法包括至少两个数据采集单元根据一采集起始时刻同时以各自的采集频率采集初步数据;根据一同步采集频率采集所述至少两个数据采集单元所采集的初步数据以得到同步数据;其中,所述同步采集频率为所述至少两个数据采集单元各自的采集频率的公约数频率。该数据采集方法及装置、移动终端通过调整至少两个数据采集单元的采集起始时刻,并同时按照同步采集频率从初步数据中抓取同步数据的方式,获得了多组各个数据采集单元在相同时刻采集的准确数据,从而使得利用该多组准确数据的应用程序可以避免误差的产生。
文档编号G01D21/02GK102607645SQ20121004416
公开日2012年7月25日 申请日期2012年2月24日 优先权日2012年2月24日
发明者陈磊 申请人:华为终端有限公司