CN106951063B - 数据管理方法和使用缓存的设备 - Google Patents

数据管理方法和使用缓存的设备 Download PDF

Info

Publication number
CN106951063B
CN106951063B CN201610909373.XA CN201610909373A CN106951063B CN 106951063 B CN106951063 B CN 106951063B CN 201610909373 A CN201610909373 A CN 201610909373A CN 106951063 B CN106951063 B CN 106951063B
Authority
CN
China
Prior art keywords
data
buffer
sensor
application
sensor data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610909373.XA
Other languages
English (en)
Other versions
CN106951063A (zh
Inventor
李宗旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN106951063A publication Critical patent/CN106951063A/zh
Application granted granted Critical
Publication of CN106951063B publication Critical patent/CN106951063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/011Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dermatology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Neurosurgery (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

提供一种数据管理方法和使用缓存的设备。一种数据管理方法包括:基于与应用请求的数据关联的请求信息,为应用分配缓冲器;将对应于请求信息的传感器数据存储在缓冲器中;以及将存储在缓冲器中的传感器数据传递到应用。

Description

数据管理方法和使用缓存的设备
本申请要求于2016年1月6日提交到韩国知识产权局的第10-2016-0001439号韩国专利申请的权益,该申请的全部公开内容出于所有目的通过引用包含于此。
技术领域
下面的描述涉及使用缓冲的数据管理方法。下面的描述还涉及使用缓存的数据管理设备。
背景技术
基于各种类型的传感器,正在提供通过应用从各种传感器接收的数据来提供信息的装置和应用。在固件系统中,例如,这些装置被构造成使应用能够直接控制传感器来收集数据并且管理用于存储数据的存储器。应用会发觉难以获知另一个应用收集的数据的类型和接收收集的数据的传感器。因此,实现通用固件系统的装置不能适于整体上有效管理装置中的数据和电力。
发明内容
提供本发明内容以简化形式引入对以下在具体实施方式中进一步描述的构思的选择。本发明内容不旨在识别要求保护的主题的关键特征或基本特征,也不旨在用作确定要求保护主题的范围的辅助。
在一个总体方面,一种数据管理方法包括:基于与应用请求的数据关联的请求信息,为应用分配缓冲器;将对应于请求信息的传感器数据存储在缓冲器中;以及将存储在缓冲器中的传感器数据传递到应用。
请求信息可包括含应用请求的数据的类型、将对数据执行的处理的类型和数据的数量中的至少一个。
存储的步骤可包括:基于对应传感器的特性信息和请求信息将对应于请求信息的传感器数据存储在缓冲器中。
特性信息可包括传感器的类型、传感器的采样率和传感器的分辨率中的至少一个。
缓冲器可包括至少一行和至少一个通道。
缓冲器可包括第一行和第二行,可在第一行中先前接收并存储的传感器数据被传递到应用的同时,在第二行中接收并存储传感器数据。
缓冲器可包括第一通道和第二通道,在第一通道中对第一传感器数据执行第一处理并且存储所得的经处理的第一传感器数据,在第二通道中对第二传感器数据执行第二处理并且存储所得的经处理的第二传感器数据。
缓冲器可包括用于存储第一传感器生成的第一传感器数据的第一缓冲器和用于存储第二传感器生成的第二传感器数据的第二缓冲器。
数据管理方法还可包括将第一缓冲器和第二缓冲器同步。
同步的步骤可包括:在对应于预设比率的数据量被存储在第一缓冲器中之后对应于预设比率的数据量被存储在第二缓冲器中之前,丢弃在第一缓冲器中接收的数据。
同步的步骤可包括:在对应于预设比率的数据量被存储在第一缓冲器中之后对应于预设比率的数据量被存储在第二缓冲器中之前,将第一缓冲器中接收的数据存储在备用缓冲器中。
数据管理方法还可包括:生成被构造成基于传感器数据来生成辅助数据的虚拟传感器。
虚拟传感器可被构造成基于应用的输出来生成辅助数据。
数据管理方法还可包括:为请求辅助数据的第二应用分配第二缓冲器;将辅助数据存储在第二缓冲器中;以及将存储在第二缓冲器中的辅助数据传递到第二应用。
数据管理方法还可包括:基于应用处理传感器数据的执行时间和应用的执行时间限制来控制处理器的操作速度。
控制操作速度的步骤可包括:通过测量应用用来以当前操作速度处理传感器数据的时间来获取执行时间;响应于执行时间被确定为小于执行时间限制,减小处理器的操作速度;以及响应于执行时间被确定为大于执行时间限制,增大处理器的操作速度。
数据管理方法还可包括:在传递到应用之前,基于请求信息来处理传感器数据。
处理可包括对传感器数据执行过滤、延迟、微分、插值和抽取中的至少一个。
传递的步骤可包括响应于缓冲器中的传感器数据的累积量满足应用请求的数据量,将存储在缓冲器中的传感器数据传递到应用。
在另一个总体方面,在非暂态计算机可读介质上实施一种计算机程序,计算机程序被构造成控制处理器来执行上述的方法。
在另一个总体方面,一种数据管理设备包括:缓冲器管理器,被构造成基于与应用请求的数据关联的请求信息,为应用分配缓冲器;传感器管理装置,被构造成将对应于请求信息的传感器数据存储在缓冲器中;以及处理装置,被构造成将存储在缓冲器中的传感器数据传递到应用。
数据管理设备还可包括存储器,所述存储器被构造成存储处理装置将执行的指令。
请求信息可包括含应用请求的数据的类型、将对数据执行的处理的类型和数据的数量中的至少一个。
存储的步骤可包括基于传感器的特性信息和请求信息将对应于请求信息的传感器数据存储在缓冲器中。
缓冲器可包括至少一行和至少一个通道。
缓冲器可包括用于存储第一传感器生成的第一传感器数据的第一缓冲器和用于存储第二传感器生成的第二传感器数据的第二缓冲器。
缓冲器管理装置可被进一步构造成将第一缓冲器和第二缓冲器同步。
处理装置可被进一步构造成生成被构造成基于传感器数据来生成辅助数据的虚拟传感器。
数据管理设备还可包括速度控制装置,速度控制装置被构造成基于应用处理传感器数据的执行时间和应用的执行时间限制来控制处理装置的操作速度。
处理装置可被进一步构造成基于请求信息来处理传感器数据。
在另一个总体方面,一种数据管理方法包括:生成被构造成基于测得的传感器数据来生成辅助数据的虚拟传感器;为请求辅助数据的应用分配缓冲器;将辅助数据存储在缓冲器中;以及将存储在缓冲器中的辅助数据传递到应用。
虚拟传感器可被构造成基于请求测得的传感器数据的另一应用的输出来生成辅助数据。
在另一个总体方面,一种电子装置包括:传感器,被构造成输出与生物信号关联的传感器数据;以及数据管理设备,被构造成基于传感器数据向用户提供生物计量信息,所述数据管理设备包括:缓冲器管理装置,被构造成基于与应用请求的数据关联的请求信息,为应用分配缓冲器;传感器管理装置,被构造成将对应于请求信息的传感器数据存储在缓冲器中;以及处理装置,被构造成将存储在缓冲器中的传感器数据传递到应用。
电子装置还可包括存储器,存储器被构造成存储将由处理装置执行的指令。
在另一个总体方面,一种数据管理方法包括:从传感器接收传感器特性信息;从应用接收各个应用请求信息;基于传感器特性信息和各个应用请求信息,为每个应用分配一个或多个缓冲器;将从传感器接收的传感器数据存储在缓冲器中;以及将存储在缓冲器中的传感器数据分别传递到应用。
存储的步骤可包括:基于传感器特性信息和各个应用请求信息,确定哪个应用正订阅哪个传感器的对应传感器数据;以及将对应传感器数据存储在为应用分配的缓冲器中。
数据管理方法还可包括:基于各个应用请求信息,生成每个应用的处理链;以及使用处理链,处理与各个应用请求信息对应的传感器数据,其中,存储的步骤包括:将经处理的各个传感器数据存储在对应于应用请求信息的所选择缓冲器中。
分配的步骤可包括:基于各个应用请求信息,确定为各应用分配的缓冲器的类型,以及可基于缓冲器中包括的行和通道的数量,确定缓冲器的类型。
在另一个总体方面,一种数据管理设备包括:传感器管理装置,被构造成生成被构造成基于传感器数据来生成辅助数据的虚拟传感器;缓冲器管理装置,被构造成为请求辅助数据的应用分配缓冲器;传感器管理装置,被构造成将辅助数据存储在缓冲器中;以及处理装置,被构造成将存储在缓冲器中的辅助数据传递到应用。
传感器数据可表示生物信号。
虚拟传感器可被构造成基于请求传感器数据的另一应用的输出来生成辅助数据。
数据管理设备还可包括存储器,存储器被构造成存储将由处理装置执行的指令。
虚拟传感器可用从另一虚拟传感器接收的另一辅助数据来得到辅助数据,所述另一虚拟传感器基于传感器数据来得到所述另一辅助数据。
根据下面的具体实施方式、附图和权利要求书,将清楚其他特征和方面。
附图说明
图1示出数据管理设备的示例。
图2示出处理和存储传感器数据的示例。
图3示出缓冲器分配和数据传递的示例。
图4示出缓冲器的示例。
图5示出同步的示例。
图6示出数据保存的示例。
图7示出虚拟传感器的生成的示例。
图8示出控制处理器的速度的示例。
图9示出数据管理设备的另一个示例。
图10示出诸如数据管理设备的处理器的示例。
图11示出电子装置的示例。
图12示出数据管理方法的示例。
图13示出数据管理方法的示例。
图14示出数据管理方法的示例。
在整个附图和具体实施方式中,相同的参考标号表示相同的元件。附图可不成比例,为了清晰、图示和方便起见,可夸大附图中元件的相对大小、比例和描绘。
具体实施方式
提供下面的具体实施方式是为了辅助读者获得对这里描述的方法、设备、和/或系统的全面理解。然而,对于本领域的普通技术人员而言,将清楚这里描述的方法、设备、和/或系统的各种改变、修改和等同形式。这里描述的操作的顺序只是示例,不限于这里阐述的顺序,而是可如本领域的普通技术人员将清楚的那样改变,除了这些操作必须以一定次序发生外。另外,为了更加清晰和简明,可省去对本领域的普通技术人员熟知的功能和构造的描述。
这里描述的特征可以以不同形式来实施,将不被理解为局限于这里描述的示例。相反,已经提供这里描述的示例,使得本公开将是彻底和完全的,并将本公开的全部范围传达给本领域的普通技术人员。
下文中,参照附图详细描述这些示例,其中,附图中的类似参考标号指代类似元件。要理解,尽管这里可使用术语“第一”、“第二”等来描述各种元件,但这些元件应该不受这些术语限制。这些术语只是用于将一个元件与另一个区分开,诸如出于识别目的。例如,在不脱离本公开的教导的情况下,第一元件也可被称为第二元件,类似地,第二元件也可被称为第一元件。
图1示出数据管理设备的示例。数据管理设备110向应用130提供与应用130的数据请求对应的传感器数据。数据管理设备110在存储器中分配用于各应用130的缓冲器并且将从传感器120接收的传感器数据存储到缓冲器中。当与应用130的请求或要求对应的传感器数据被收集到缓冲器中时,数据管理设备110随后将存储在缓冲器中的传感器数据传递到应用130。
在一示例中,可通过电子装置实施例中包括的硬件模块来实现数据管理设备110、传感器120和应用130。在此示例中,电子装置可以是便携式计算装置(例如,智能电话、平板个人计算机(PC)和膝上型计算机)、或可穿戴装置(例如,智能手表、智能带和智能手环)。然而,这些只是电子装置的示例,在其他示例中,适当地使用其他电子装置。传感器120测量用户的生物信号。应用130基于从传感器120接收到的生物信号,提供关于用户身体状态的信息。
数据管理设备110基于来自应用130的请求信息,确定应用130的要求。例如,应用130使用请求信息来指定所需数据并且将所需数据宣告给数据管理设备110,以为数据管理设备110限定哪个信息应该从哪个传感器120提供到哪个应用130。请求信息包括关于例如应用130请求的数据的类型、将对数据执行的处理的类型和数量的数量的信息。然而,这些只是请求信息的示例,并且可选地在示例中使用表征应用130将使用的数据的方面的其他信息。数据的类型指示输出所需数据的是哪个传感器或哪种类型的传感器。应用130能够基于数据的类型来确定将接收数据的传感器。数据的数量指示待传递的所存储数据的数据数量。基于数据数量,应用130能够确定一次应该预备接收的数据数量或者关于请求多少数据的限制。例如,还通过对于各缓冲器而言的样本数量或对于各缓冲器而言的样本大小来指示数据数量。此数量有助于调节从传感器120到应用130中的数据流。在一示例中,应用130初始地将请求信息注册到数据管理设备110中,然后响应于请求信息的改变来更新请求信息。
数据管理设备110基于请求信息在存储器中为各应用130分配缓冲器,然后将应用130所需的数据存储在对应的缓冲器中。例如,当应用APP1发送对加速度信息的请求时,数据管理设备110将从加速度传感器(诸如,加速计)接收的加速度数据存储在对应于应用APP1的缓冲器中,以便将其提供到应用APP1。例如,数据管理设备110可独立于应用APP1可针对传感器数据执行的处理来分配缓冲器并且存储测得的传感器数据。
数据管理设备110基于传感器120的特性信息,识别对应于请求信息的传感器数据。在一示例中,特性信息包括传感器的类型、传感器的采样率和传感器的分辨率中的至少一种。数据管理设备110基于应用130的请求信息和传感器120的特性信息,将与对应应用的请求信息对应的传感器数据存储在用于该应用的缓冲器中。当收集到预定应用请求的传感器数据的数量时,数据管理设备110将传感器数据传递到预定应用。要理解,存储在缓冲器中的传感器数据的传递包括例如传递缓冲器和传递指示存储传感器数据的缓冲器的地址的信息(诸如,指针)。然而,在其他示例中使用提供访问传感器数据的其他方法,以有助于应用130访问累积在缓冲器中的信息。
传感器120包括例如传感器S1至传感器Sm,如图1的示例中所示。传感器120检测数据管理设备110内部和外部的各种目标。在一示例中,传感器120包括例如被构造成感测处理器内的温度的传感器、被构造成感测电池的荷电状态(SoC)的传感器、心电图(ECG)传感器、光电血管容积图(PPG)传感器、阻抗传感器、加速度传感器和梯度传感器中的至少一个。这里,ECG传感器记录用户心脏的电活动,PPG传感器提供器官的体积测量。然而,这些传感器只是收集用户或用户周围的数据的传感器的示例,在其他示例中使用其他传感器。传感器120通过各种数字接口与数据管理设备110的处理器通信。传感器120中的每个输出传感器数据,然后,将传感器数据传递到数据管理设备110,供进一步使用和分析。
应用130包括例如图1的示例中所示的应用APP1至应用APPm。应用130基于它们从数据管理设备110接收的传感器数据,将各种信息提供到用户。例如,应用130基于用户的生物信号来提供信息。应用130通过如以上进一步讨论地使用请求信息指定所需数据,从数据管理设备110接收所需数据。数据管理设备110识别对应于请求信息的传感器数据并且将传感器数据提供到应用130。数据管理设备110分配各应用130专用的缓冲器,并且将对应于请求信息的传感器数据存储在对应的缓冲器中。
数据管理设备110以统一方式管理应用130所使用的数据,从而增加使用便利度并且有助于应用130的操作,因此减少用于执行应用130的资源(诸如,电力)的量。例如,数据管理设备110基于应用130的执行时间限制来调节处理器的速度,以减少执行应用130的功耗。
在一示例中,数据管理设备110基于传感器数据,生成被构造成生成辅助数据(secondary data)的虚拟传感器。辅助数据是基于传感器数据另外生成的并且包括通过传感器数据中指示的信息的改变或变换而得到的信息的数据。因此,辅助数据是通过分析和处理原始传感器数据而得到出的数据。因此,通过对传感器120输出的传感器数据执行预设操作来生成辅助数据。例如,基于加速度传感器、脉搏波传感器和ECG传感器的传感器数据来生成被构造成生成血压值的虚拟血压传感器。虚拟传感器与实际存在的传感器120的不同在于,它仅仅是被模拟的。例如,这种虚拟传感器的构造可按模块形式被存储在数据管理设备110中或者包括数据管理设备110的电子装置的存储器中。随后,还进一步详细地描述虚拟传感器。例如,数据管理设备110可独立于应用可对虚拟传感器数据执行的处理,生成、分配缓冲器并且存储这种统一的传感器数据。
数据管理设备110响应于从应用130接收的请求来处理传感器数据。例如,数据管理设备110去除传感器数据中的噪声并且存储被去除了噪声的传感器数据。这种经处理后的数据可比原始数据更为有用,因为在不存在噪声的情况下,可更容易地识别重要信息。另外,当应用130请求多个传感器的数据时,数据管理设备110将从多个传感器接收的数据同步。这种同步有可能有助于使用对时间敏感或需要实时出现的数据的方面。随后,还进一步详细地描述传感器数据的处理和同步。类似于上文,在一示例中,数据管理设备110可对传感器数据执行这种处理并且独立于这些应用对传感器数据执行的处理,执行这种同步。
图2示出处理和存储传感器数据的示例。参照图2的示例,传感器210输出传感器数据并且缓冲器220存储经处理的传感器数据。在传感器210和缓冲器220之间,发生传感器数据的处理,用于生成经处理的传感器数据。例如,应用请求使用请求信息来请求对预定传感器数据的处理。例如,应用请求非经处理状态下的第一传感器数据还有经处理状态下的第二传感器数据。在一示例中,基于来自物理传感器的各个原始加速度数据和ECG数据,应用通过将先前加速度数据和原始ECG数据一起考虑以得到用户没有移动时用户的ECG,测量用户没有移动时用户的ECG。在这个示例中,支持性地应用加速度数据,以有助于理解ECG数据,因此,相比于ECG数据的所需数量,加速度数据的所需数量相对较小。因此,应用请求对加速度数据执行1/2抽取,使得不必像待采样的ECG数据一样频繁地进行加速度数据采样,抽取过滤信号以减少失真。对传感器数据的处理包括例如过滤、延迟、微分、插值和抽取。这些处理步骤是以各种方式变换和分析原始传感器数据以提高数据的质量和可靠性从而有助于减少失真和噪声的信号处理步骤。在一示例中,可向同一传感器数据应用多个处理过程。另外,可按各种次序向传感器数据应用多个处理过程。这些次序取决于数据的属性。因此,针对每个应用来管理传感器数据的处理过程。将应用于传感器数据的一个或多个处理过程也被称为例如针对该传感器数据的处理链。针对处理链请求的传感器数据的每项来生成处理链,以适于特定数据项的方式来处理该数据。例如,响应于应用的注册,分配用于该应用的缓冲器并且生成用于对应缓冲器的处理链。
图3示出缓冲器分配和数据传递的示例。参照图3的示例,为第一应用分配缓冲器350,为第二应用分配缓冲器360、370、380和390。缓冲器350存储传感器310的未经处理的传感器数据。缓冲器360存储传感器310的经传感器处理的传感器数据。缓冲器370、380和390还存储传感器320的经处理的传感器数据。对缓冲器370、380和390中的每个中存储的传感器数据执行不同处理。如以上讨论的,各种传感器数据的性质指示将要使用哪些类型的处理或者哪些类型的处理可用于该类型的数据。例如,传感器320的被应用抽取的传感器数据被存储在缓冲器370中,传感器320的被应用过滤的传感器数据被存储在缓冲器380中,传感器320的被应用延迟的传感器数据被存储在缓冲器390中。如以上说明的,基于请求信息,确定每个应用请求的数据的类型和将对数据执行的处理的类型,这有助于通过识别数据的特性和其他相关信息来管理数据缓存。
图4示出缓冲器的示例。参照图4,为第一应用分配第一缓冲器,为第二应用分配第二缓冲器。第一缓冲器包括第一行430和第二行440。第二缓冲器包括第一通道450、第二通道460、第三通道470和第四通道480。第一缓冲器将传感器数据提供到第一应用并且第二缓冲器将传感器数据提供到第二应用。
第一行430和第二行440交替地存储和传递数据。例如,在第一时间间隔中,第一行430存储从传感器410接收的数据,第二行440将存储在第二行440中的数据传递到应用。另外,在第二时间间隔中,第一行430将存储在第一行430中的数据传递到应用,第二行440将从传感器420接收的数据存储在第二行440中。因此,第一行430和第二行440轮流进行存储和传递数据,使得每次两行中确有一行执行这些功能中的一个。通过向缓冲器应用多行数据传递,可防止数据传输的延迟和数据损失。
传感器410的经处理的传感器数据被存储在第一通道450中,传感器420的经处理的传感器数据被存储在第二通道460至第四通道480中。在图4的示例中,可对第一通道450至第四通道480中的每个中存储的多个传感器数据执行不同的处理操作。例如,传感器410的被应用抽取的传感器数据被存储在第一通道450中。通过抽取处理,相比于其他通道(例如,第二通道460至第四通道480),更少量的样本可被存储在第一通道450中。另外,传感器420的被应用过滤的传感器数据被存储在第二通道460中,传感器420的被应用微分的传感器数据被存储在第三通道470中,并且传感器420的被应用延迟的传感器数据被存储在第四通道480中。通过向缓冲器应用多通道结构,可向同一传感器数据分派不同属性。
在一示例中,请求信息包括与应用所请求缓冲器的类型关联的信息。因此,应用通过使用请求信息来指定所需缓冲器的类型。例如,应用通过请求信息请求要分配的多行缓冲器或多通道缓冲器。以上,相对于图4的示例,提出这些类型的缓冲器的示例。另外,应用通过请求信息指定行的所需数量和/或通道的所需数量。通过指定这些所需数量,可以有助于定义对于正在缓存的数据而言最佳的缓存方法。因此,通过利用请求信息指定缓冲器的类型,可更便利且有效地执行应用的数据管理和应用的设计。
图5示出同步的示例。图5的示例示出存储第一传感器数据的时序和存储第二传感器数据的时序。第一传感器数据被存储在第一缓冲器中并且第二传感器数据被存储在第二缓冲器中。即使两个传感器被设计成具有相同的采样率,实际的采样率也会由于各种原因(例如,时钟漂移)而有所不同。数据管理设备通过补偿采样率之间出现的差异将两个传感器同步。数据管理设备通过丢弃超过预设比率的采样偏差来补偿采样率之间的差异。例如,当应用向第一传感器和第二传感器请求被设计成具有预设比率的样本的第一传感器数据和第二传感器数据时,在具有超过所述比率的数据被存储在第一缓冲器和第二缓冲器中之后,数据管理设备丢弃第一缓冲器或第二缓冲器中接收的数据。因此,当第一传感器的实际采样率高于第二传感器的实际采样率时,在对应于预设比率的数据的数量被存储在第一缓冲器中之后对应于预设比率的数据数量被存储在第二缓冲器中之前,数据管理设备丢弃第一缓冲器中接收的数据。通过以此方式管理接收到的数据,便于同步。
在图5中,在时间t1之前,接收第一传感器数据7次并且接收第二传感器数据5次。因此,在时间t1,7个样本510被存储在第一缓冲器中并且5个样本520被存储在第二缓冲器中。另外,从时间t1到时间t2,又接收第一传感器数据和第二传感器数据两次。因此,在时间t2,第一缓冲器包括预先存储的7个样本530和另外存储的2个样本540,并且7个总样本550被存储在第二缓冲器中。当应用请求第一传感器数据和第二传感器数据使得第一传感器数据和第二传感器数据之间的样本数量比率将对应于1:1的比率时,数据管理设备丢弃超过1:1比率的样本,以便同步。通过进行此丢弃,应用获取基于1:1比率同步的传感器数据。
在时间t2和时间t3,将样本530和样本550传递到应用。应用使用在时间t2和时间t3累积的样本530和样本550来执行操作。然而,丢弃在执行应用操作的同时在第一缓冲器和第二缓冲器中接收的样本。简言之,时间间隔560中(诸如,时间t2和时间t3之间)接收的样本被丢弃。在时间t3,重新开始数据接收。因此,在时间t3之后接收的第一传感器数据被存储在第一缓冲器中并且在时间t3之后接收的第二传感器数据被存储在第二缓冲器中。然而,可通过使用另外的缓冲器来防止数据损失。例如,可使用以上提到的多行方法来防止数据损失,使得在缓冲器正在传递其内容的同时,另一个缓冲器接收原本将被丢弃和损失的数据。
图6示出数据保存的示例。图6的示例示出存储第一传感器数据的时序和存储第二传感器数据的时序。选择这些时序以有助于在存储期间保存数据。例如,使用双行缓冲器进行数据保存。第一传感器数据被存储在缓冲器1-1中,缓冲器1-2被用作备用存储器。另外,第二传感器数据被存储在缓冲器2-1中,缓冲器2-2被用作备用存储器。这些备用存储缓冲器充当可有助于当其他缓冲器被另外占用时管理数据接收。
举例来说,当第一传感器的实际采样率高于第二传感器的实际采样率时,在对应于预设比率的数据的数量被存储在缓冲器1-1中之后对应于预设比率的数据的数量被存储在缓冲器2-1中之前,缓冲器1-1中接收的数据被存储在用作备用缓冲器的缓冲器1-2中。
在此示例中,假设应用请求第一传感器数据和第二传感器数据的数量对应于1:1的比率。在这个示例中,应用请求均具有与缓冲器的大小或更大大小对应的数量的第一传感器数据和第二传感器数据。在图6的示例中,在时间t1出现之前,接收7次第一传感器数据并且接收5次第二传感器数据。因此,在时间t1,7个样本610被存储在缓冲器1-1中,5个样本620被存储在缓冲器2-1中。从时间t1和时间t2起,接收2次第一传感器数据和第二传感器数据。在这个示例中,另外从第一传感器接收的样本640被存储在缓冲器1-2中,从第二传感器接收的样本被存储在缓冲器2-1中。通过使用这种方法,7个样本650被存储在第二缓冲器中。
由于在时间t2存储数量与缓冲器的大小对应的第一传感器数据和第二传感器数据,因此样本630和样本650被传递到应用,供应用使用。在这个示例中,与额外样本对应的样本640也被传递到应用。当应用成功接收全部样本630、样本640和样本650时,随后缓冲器1-1、缓冲器1-2、缓冲器2-1和缓冲器2-2被初始化。
应用使用样本630、样本640和样本650执行操作。在应用执行操作时接收的样本被存储在缓冲器1-1和缓冲器2-1中。从时间t2和时间t3起,接收2次第一传感器数据,而接收1次第二传感器数据。因此,在时间t3,两个样本660被存储在缓冲器1-1中并且一个样本670被存储在缓冲器2-1中。使用备用缓冲器,可将传感器数据的两项或更多项同步,而没有数据损失。
图7示出虚拟传感器的生成的示例。参照图7的示例,第一应用基于传感器730的传感器数据来生成输出数据。如以上更深入讨论的,传感器数据被存储在缓冲器中,以按预设间隔被传递到第一应用,并且进行处理,之后被存储在缓冲器中。以上,更详细地讨论了缓存的各种其他方面。第一应用通过用于生成经处理的传感器数据和未经处理的传感器数据的操作来生成输出数据。当第一应用是例如血压测量应用时,第一应用基于加速度传感器、脉搏波传感器和ECG传感器的传感器数据来生成血压数据。在此示例中,请求信息包括与输出数据的类型关联的信息。例如,这种请求信息以有助于管理和处理传感器数据的方式来表征传感器数据。因此,第一应用使用请求信息来指定输出数据的类型。例如,第一应用指定输出数据将被识别为血压数据。然后,数据管理设备基于输出数据的类型来生成虚拟传感器710。当第一应用的输出数据的类型是血压数据时,数据管理设备生成例如虚拟血压传感器。这种虚拟血压传感器累积物理传感器提供的原始数据并且组合和分析这种数据,以使访问虚拟传感器的应用能够处理虚拟传感器生成的数据,就好像被设计成直接感测血压的实际传感器一样。
虚拟传感器710基于被第一应用缓存和处理的输出数据来生成辅助数据。传感器数据是实际传感器730生成的数据,辅助数据是用于模拟传感器的虚拟传感器710生成的数据。如上,辅助数据是基于传感器另外生成的数据,因此包括通过传感器数据中指示的信息的改变和对传感器数据执行的其他处理操作而得到的信息。因此,通过将基于传感器数据进行的操作来生成辅助数据。例如,通过对传感器数据执行预设操作来生成输出数据,通过管理输出数据的预设处理操作来生成辅助数据。例如,通过预设应用(诸如,第一应用)对辅助数据执行操作。虚拟传感器不同于传感器730并且虚拟传感器的构造和性质可按存储器模块的形式进行存储,用于复制给定种类的传感器的功能,而没有在实体上包括这种传感器。数据管理装置可基于这种构造和性质信息来生成或再生并且实现虚拟传感器。
以与用于原始传感器数据的方式类似的方式来使用辅助数据。例如,基于应用的请求信息,将辅助数据存储在缓冲器中,随后将其传递到应用。虚拟传感器710改变输出数据的属性,使得输出数据被用作传感器数据。另外,虚拟传感器710对输出数据执行预设处理。例如,虚拟传感器710处理输出数据,使得输出数据具有预设的采样率和预设的分辨率。然而,这些只是示例并且在其他示例中使用输出数据的其他类型的处理。例如,数据管理设备基于应用的请求信息来调节虚拟传感器710的采样率和分辨率。虚拟传感器710与特性信息关联。由数据管理设备适当地调节虚拟传感器710的这种特性信息。例如,使用虚拟传感器710的特性信息来指定虚拟传感器710的类型、虚拟传感器710的采样率和虚拟传感器710的分辨率中的至少一个。因此,虚拟传感器710的特性信息有助于从虚拟传感器710进行接收。
因此,数据管理设备基于虚拟传感器710的特性信息和应用的请求信息,将辅助数据提供到应用。举例来说,当第二应用请求血压数据并且虚拟传感器710像虚拟血压传感器一样操作时,数据管理设备通过缓冲器750将虚拟传感器710的辅助数据传递到第二应用,如以上进一步讨论的。以这种方式,虚拟传感器710向第二应用提供信息,就好像它是实际的专用血压传感器一样。辅助数据设置有其他传感器的传感器数据。例如,第三应用请求血压数据和加速度数据二者。虚拟传感器710像血压传感器一样操作,传感器720像加速度传感器一样操作。血压数据在进行适当处理之后通过缓冲器760被传递到第三应用,与传感器720的传感器数据对应的加速度数据在进行适当处理之后通过缓冲器770被传递到第三应用。数据管理设备通过适当地调节虚拟传感器710的采样率来使虚拟传感器710和传感器720同步。另外,数据管理设备通过在对应于预设比率的数据被存储在用于虚拟传感器710的第一缓冲器和用于传感器720的第二缓冲器中之后丢弃第一缓冲器或第二缓冲器中接收的数据将虚拟传感器710和传感器720同步。
图8示出控制处理器的速度的示例。如以上公开的,数据管理设备管理针对应用的数据,因此出于所需目的,适当地调节处理器的速度。用于驱动处理器的功耗根据处理器速度的减小而减小。例如,当用于处理对应操作的处理器的速度减半时,用于对应操作的能量的量也减半。参照图8的示例,将处理器的速度调节成在级2和级4之间变化的级别。处理器的速度包括处理器的操作时钟。根据级别的增加,处理器的速度增加并且功耗减小。由处理器执行应用。应用具有用于处理传感器数据的执行时间限制。因此,在执行时间限制内处理传感器数据。时间t1、时间t3、时间t5、时间t7和时间t9中的每个指示应用从缓冲器接收数据的时间点。时间t2、时间t4、时间t6、时间t8和时间t10中的每个指示完成对之前从缓冲器接收的传感器数据的处理的时间点。应用从缓冲器接收数据并且完成传感器数据的处理的时间段也被称为例如执行时间。通过测量应用在当前操作速度下处理传感器数据所用时间来获取执行时间。当没有对传感器数据执行处理时,处理器一般在1级下操作。
数据管理设备基于用于处理传感器数据的应用的执行时间和应用的执行时间限制来控制处理器的操作速度。当执行时间比执行时间限制短时,数据管理设备减小处理器的操作速度。在图8的示例中,时间t1和时间t2之间的第一执行时间比执行时间限制短,因此,处理器的操作速度从4级降至3级。另外,时间t3和时间t4之间的第二执行时间比执行时间限制短,处理器的操作速度从3级降至2级。
另外,当执行时间超过执行时间限制时,数据管理设备增大操作速度。在图8的示例中,当时间t5和时间t6之间的第三执行时间超过执行时间限制时,处理器的操作速度从2级升至3级。当执行时间超过执行时间限制并且操作速度增大时,处理器的操作速度被确定为与最近增大的值对应的操作速度。数据管理设备通过确定处理器的操作速度来减小功耗,使得功耗将被最小化为落入可接受范围内。
图9示出数据管理设备的示例。参照图9,数据管理设备900包括存储器910和处理器920。然而,这些仅是示例元件,其他示例可包括作为数据管理设备900的部分的其他元件。例如,存储器910存储将由处理器920实现的指令,其中,指示器致使处理器基于与应用请求的数据关联的请求信息为应用分配缓冲器,以将对应于请求信息的传感器数据存储在缓冲器中,并且将存储在缓冲器中的传感器数据传递到应用。另外,在存储器910中为将使用的应用分配缓冲器。处理器920可使用存储在存储器910中的指令,执行数据管理操作。另外,处理器920执行各种应用。由于这里可应用以上描述,因此为了简要起见,省略与存储器910和处理器920相关的重复描述。仅仅举例来说,数据管理设备900可被构造成实现这里讨论的数据管理设备中的任一个或任何组合,但实施例不限于此。类似陈述应用于通篇公开的其他数据管理设备,因为这里提出的示例不旨在是限制性的。
图10示出处理器的示例。参照图10,处理器1000包括传感器管理模块或传感器管理装置1010、处理模块或处理装置1020、缓冲器管理模块或缓冲器管理装置1030、感测模块或感测装置1040和速度控制模块或速度控制装置1050。处理器1000使用传感器管理装置1010、处理装置1020、缓冲器管理装置1030、感测装置1040和速度控制装置1050来执行数据管理。传感器管理装置1010、处理装置1020、缓冲器管理装置1030、感测装置1040和速度控制装置1050中的每个可被实现为各个硬件模块(诸如,专用处理器)。虽然图10将处理器1000呈现为包括独立地执行处理器1000执行的数据管理处理中涉及的操作的许多分立的结构器件或元件,但本领域的普通技术人员应该清楚,这些分立的结构器件或元件执行的操作可被分配,由限定的器件元件以不同方式执行。例如,处理器1000可以是被构造成执行用图10中示出的各分立的结构器件或元件描述的所有操作的单个结构元件。
传感器管理装置1010识别通过传感器收集的传感器数据。传感器管理装置1010验证是否存在订阅传感器数据的应用。当存在订阅传感器数据的应用时,传感器管理装置1010请求感测装置1040递送传感器数据。感测装置1040请求传感器发送传感器数据并且接收传感器数据。感测装置1040将接收到的传感器数据传递到传感器管理装置1010。传感器管理装置1010在将处理被执行时基于请求信息将传感器数据传递到处理装置1020。当不需要处理传感器数据时,传感器管理装置1010将未经处理的传感器数据直接传递到缓冲器管理装置1030。
处理装置1020基于请求信息针对每个应用生成处理链。处理装置1020通过向传感器数据应用处理链来获取经处理的传感器数据并且将经处理的传感器数据传递到缓冲器管理装置1030。
缓冲器管理装置1030为每个应用分配缓冲器,并且将经处理的传感器数据或未处理的传感器数据存储在为每个应用分配的缓冲器中。当收集到在注册过程中应用使用请求信息而请求的传感器数据的数量时,缓冲器管理装置1030通过向速度控制装置1050宣告收集到该传感器数据的数量来记录当前时间并且基于应用的执行时间历史来设置最佳处理器速度。另外,当收集到在注册过程中应用通过请求信息而请求的传感器数据的数量时,缓冲器管理装置1030将收集到的传感器数据传递到应用。缓冲器管理装置1030在应用完成了对应于传感器数据的任务时释放缓冲器。缓冲器管理装置1030向速度控制装置1050宣告应用完成了任务。速度控制装置1050更新执行时间,以更新最佳处理器速度。
图11示出电子装置的示例。参照图11,电子装置1100包括处理器1110、传感器1120和存储器1130。处理器1110、传感器1120和存储器1130可通过总线1140相互通信,或者可通过另一种方法(诸如,无线地)通信。传感器1120输出各种传感器数据。例如,传感器1120输出与用户的生物信号关联的传感器数据。另外,传感器1120感测例如处理器1110的温度、电池的荷电状态(SOC)、用户的ECG,感测用户的脉搏波、用户的身体阻抗、加速度和梯度。然而,这些只是示例,传感器1120可获取其他适当信息。例如,传感器1120基于各种可用方案来生成传感器数据。如以上进一步讨论的,传感器数据被存储在存储器1130中的分配缓冲器中。
处理器1110包括参照图1至图10描述的至少一个装置,或者执行参照图1至图10和图12至图14描述的至少一种方法,或者其任何组合。处理器1110执行应用并且控制电子装置1100。用于执行应用的指令被存储在存储器1130中。电子装置1100通过输入和输出装置连接到外部装置(例如,PC和网络)以执行数据交换。
在示例中,电子装置1100是便携式装置(例如,智能电话、平板PC和便携式计算机)、或可穿戴装置(例如,智能手表、智能带和智能项链)。然而,这些只是示例,在其他示例中,电子装置1100可以是不同的便携式装置。电子装置1100基于通过传感器1120测量的用户的生物信号,向用户提供与身体状态关联的各种信息。
图12示出数据管理方法的示例。
参照图12,在操作1210中,该方法基于与应用请求的数据关联的请求信息为应用分配缓冲器。例如,数据管理设备(诸如,以上讨论的数据管理设备中的任一个)基于与应用请求的数据关联的请求信息为应用分配缓冲器。在操作1220中,该方法基于请求信息来处理传感器数据。例如,数据管理设备基于请求信息来处理传感器数据。在操作1230中,该方法将对应于请求信息的传感器数据存储在缓冲器中。例如,数据管理设备将对应于请求信息的传感器数据存储在缓冲器中。在操作1240中,该方法使缓冲器同步。例如,数据管理设备使缓冲器同步。在操作1250中,该方法将存储在缓冲器中的传感器数据传递到应用。例如,数据管理设备将存储在缓冲器中的传感器数据传递到应用。在操作1260中,该方法控制处理器的操作速度。例如,数据管理设备控制处理器的操作速度。
图13示出数据管理方法的另一个示例。操作图13,在操作1310中,该方法生成虚拟传感器,虚拟传感器被构造成基于传感器数据来生成辅助数据。例如,数据管理设备(诸如,以上讨论的数据管理设备中的任一个)基于传感器数据来生成被构造成生成辅助数据的虚拟传感器。在操作1320中,该方法为请求辅助数据的第二应用分配第二缓冲器。例如,数据管理设备为请求辅助数据的第二应用分配第二缓冲器。在操作1330中,该方法将辅助数据存储在第二缓冲器中。例如,数据管理设备将辅助数据存储在第二缓冲器中。在操作1340中,该方法将存储在第二缓冲器中的辅助数据传递到第二应用。例如,数据管理设备将存储在第二缓冲器中的辅助数据传递到第二应用。
图14示出数据管理方法的又一个示例。参照图14,在操作1410中,该方法从传感器接收传感器特性信息。例如,数据管理设备(诸如,以上讨论的数据管理设备中的任一个)从传感器接收传感器特性信息。在操作1420中,该方法从应用接收应用请求信息。例如,数据管理设备从应用接收应用请求信息。在操作1430中,该方法基于传感器特性信息和应用请求信息为应用分配缓冲器。例如,数据管理设备基于传感器特性信息和应用请求信息为应用分配缓冲器。在操作1440中,该方法将从传感器接收的传感器数据存储在缓冲器中。例如,数据管理设备将从传感器接收的传感器数据存储在缓冲器中。在操作1450中,该方法将存储在缓冲器中的传感器数据传递到应用。例如,数据管理设备将存储在缓冲器中的传感器数据传递到应用。
执行这里针对图1至图14描述的操作的图1至图14中示出的设备、单元、模块、装置和其他组件是用硬件组件实现的。硬件组件的示例包括控制器、传感器、发生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、和本领域的普通技术人员已知的任何其他电子组件。在一个示例中,硬件组件是用计算硬件(例如,用一个或多个处理器或计算机)实现的。处理器或计算机是用一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或能够以限定方式响应于并且执行指令以实现期望结果的本领域的普通技术人员已知的任何其他装置或装置的组合)实现的。在一个示例中,处理器或计算机包括,或者连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件执行指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用),以执行这里针对图1至图14描述的操作。硬件组件还响应于指令或软件的执行来访问、操纵、处理、创建并且存储数据。为了简便起见,单数术语“处理器”或“计算机”可用于描述这里描述的示例,但在其他示例中,使用多个处理器或计算机,或者处理器或计算机包括多个处理元件、或多种类型的处理元件、或这二者。在一个示例中,硬件组件包括多个处理器,并且在另一个示例中,硬件组件包括处理器和控制器。硬件组件具有不同处理构造中的任一个或多个,这些构造的示例包括单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多进程、单指令多数据(SIMD)多进程、多指令单数据(MISD)多进程和多指令多数据(MIMD)多进程。
执行这里针对图1至图14描述的操作的图1至图14中示出的方法是用计算硬件(例如,用一个或多个处理器或计算机)执行的,如上所述执行用于执行这里描述的操作的指令或软件。
用于控制处理器或计算机以实现硬件组件并且执行如上所述的方法的指令或软件被编写为计算机程序、代码段、指令或其任何组合,用于独立地或一齐地指示或构造处理器或计算机,使其像机器或专用计算机一样操作,执行如上所述的硬件组件和方法所执行的操作。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码(诸如,编译器产生的机器代码)。在另一个示例中,指令或软件包括由处理器或计算机使用翻译器执行的较高级代码。本领域的普通技术编程人员可容易地基于附图中示出的框图和流程图和说明书中的对应描述来编写指令或软件,所述描述公开了用于执行如上所述的硬件组件和方法执行的操作的算法。
用于控制处理器或计算机来实现硬件组件并且执行如上所述方法的指令或软件和任何关联的数据、数据文件和数据结构被记录、存储、或固定在一个或多个非暂态计算机可读存储介质的里面或上面。非暂态计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、闪存存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、磁带、软盘、磁-光数据存储装置、光学数据存储装置、硬盘、固态盘和本领域的普通技术人员已知的能够将指令或软件和任何关联的数据、数据文件和数据结构以非暂态方式存储并且将指令或软件和任何关联的数据、数据文件和数据结构提供到处理器或计算机使得处理器或计算机可执行指令的任何装置。在一个示例中,指令或软件和任何关联的数据、数据文件和数据结构被分布于联网的计算机系统,使得由处理器或计算机以分布方式存储、访问和执行指令和软件和任何关联的数据、数据文件和数据结构。
虽然本公开包括具体示例,但本领域的普通技术人员将清楚,在不脱离权利要求书及其等同物的精神和范围的情况下,在这些示例中可进行形式和细节上的各种变化。这里描述的示例将被视为只是描述含义的,而不是出于限制目的。对每个示例中的特征或方面的描述将被视为可应用于其他示例中的类似特征或方面。如果所描述技术以不同次序执行,和/或如果所描述系统、构架、装置或电路中的组件以不同方式组合,和/或被其他组件或它们的等同物取代或补充,则可实现合适的结果。因此,本公开的范围不受具体实施方式限定,而是受权利要求书及其等同物限定,并且在权利要求书及其等同物的范围内的所有变形将被理解为被包括在本公开中。

Claims (30)

1.一种数据管理方法,包括:
基于与应用请求的数据关联的请求信息,为应用分配缓冲器,其中,缓冲器包括用于存储第一传感器生成的第一传感器数据的第一缓冲器和用于存储第二传感器生成的第二传感器数据的第二缓冲器;
将对应于请求信息的传感器数据存储在缓冲器中;
将第一缓冲器和第二缓冲器同步;以及
将存储在缓冲器中的传感器数据传递到应用,
其中,同步的步骤包括:丢弃第一缓冲器在第一时间间隔中接收的数据,或者将第一缓冲器在第一时间间隔中接收的数据存储在备用缓冲器中,其中,第一时间间隔是在第一数量的第一传感器数据被存储在第一缓冲器中之后直到第二数量的第二传感器数据被存储在第二缓冲器中之前的时间间隔,其中,第一数量与第二数量之间的比率对应于预设比率。
2.根据权利要求1所述的数据管理方法,其中,请求信息包括包含应用请求的数据的类型、将对数据执行的处理的类型和数据的数量中的至少一个。
3.根据权利要求1所述的数据管理方法,其中,存储的步骤包括:基于对应传感器的特性信息和请求信息将对应于请求信息的传感器数据存储在缓冲器中。
4.根据权利要求3所述的数据管理方法,其中,特性信息包括传感器的类型、传感器的采样率和传感器的分辨率中的至少一个。
5.根据权利要求1所述的数据管理方法,其中,每个缓冲器包括至少一行和至少一个通道。
6.根据权利要求5所述的数据管理方法,其中,每个缓冲器包括第一行和第二行,以及
在第一行中先前接收并存储的传感器数据被传递到应用的同时,在第二行中接收并存储传感器数据。
7.根据权利要求5所述的数据管理方法,其中,每个缓冲器包括第一通道和第二通道,在第一通道中对第一传感器数据执行第一处理并且存储所得的经处理的第一传感器数据,在第二通道中对第二传感器数据执行第二处理并且存储所得的经处理的第二传感器数据。
8.根据权利要求1所述的数据管理方法,还包括:
生成被构造成基于传感器数据来生成辅助数据的虚拟传感器。
9.根据权利要求8所述的数据管理方法,其中,虚拟传感器被构造成基于应用的输出来生成辅助数据。
10.根据权利要求8所述的数据管理方法,还包括:
为请求辅助数据的第二应用分配第三缓冲器;
将辅助数据存储在第三缓冲器中;以及
将存储在第三缓冲器中的辅助数据传递到第二应用。
11.根据权利要求1所述的数据管理方法,还包括:
基于应用处理传感器数据的执行时间和应用的执行时间限制来控制处理器的操作速度。
12.根据权利要求11所述的数据管理方法,其中,控制操作速度的步骤包括:
通过测量应用用来以当前操作速度处理传感器数据的时间来获取执行时间;
响应于执行时间被确定为小于执行时间限制,减小处理器的操作速度;以及
响应于执行时间被确定为大于执行时间限制,增大处理器的操作速度。
13.根据权利要求1所述的数据管理方法,还包括:
在传递到应用之前,基于请求信息来处理传感器数据。
14.根据权利要求13所述的数据管理方法,其中,处理包括对传感器数据执行过滤、延迟、微分、插值和抽取中的至少一个。
15.根据权利要求1所述的数据管理方法,其中,传递的步骤包括:响应于缓冲器中的传感器数据的累积量满足应用请求的数据量,将存储在缓冲器中的传感器数据传递到应用。
16.一种存储计算机程序的非暂态计算机可读介质,计算机程序被构造成控制处理器来执行根据权利要求1所述的方法。
17.一种数据管理设备,包括:
缓冲器管理装置,被构造成基于与应用请求的数据关联的请求信息,为应用分配缓冲器,其中,缓冲器包括用于存储第一传感器生成的第一传感器数据的第一缓冲器和用于存储第二传感器生成的第二传感器数据的第二缓冲器;
传感器管理装置,被构造成将对应于请求信息的传感器数据存储在缓冲器中;以及
处理装置,被构造成将存储在缓冲器中的传感器数据传递到应用,
其中,缓冲器管理装置被进一步构造成将第一缓冲器和第二缓冲器同步,
其中,缓冲器管理装置被进一步构造成:丢弃第一缓冲器在第一时间间隔中接收的数据,或者将第一缓冲器在第一时间间隔中接收的数据存储在备用缓冲器中,其中,第一时间间隔是在第一数量的第一传感器数据被存储在第一缓冲器中之后直到第二数量的第二传感器数据被存储在第二缓冲器中之前的时间间隔,其中,第一数量与第二数量之间的比率对应于预设比率。
18.根据权利要求17所述的数据管理设备,还包括:
存储器,被构造成存储处理装置将执行的指令。
19.根据权利要求17所述的数据管理设备,其中,请求信息包括包含应用请求的数据的类型、将对数据执行的处理的类型和数据的数量中的至少一个。
20.根据权利要求17所述的数据管理设备,其中,传感器管理装置被进一步构造成:基于传感器的特性信息和请求信息将对应于请求信息的传感器数据存储在缓冲器中。
21.根据权利要求17所述的数据管理设备,其中,缓冲器包括至少一行和至少一个通道。
22.根据权利要求17所述的数据管理设备,其中,处理装置被进一步构造成生成被构造成基于传感器数据来生成辅助数据的虚拟传感器。
23.根据权利要求17所述的数据管理设备,还包括速度控制装置,速度控制装置被构造成基于应用处理传感器数据的执行时间和应用的执行时间限制来控制处理装置的操作速度。
24.根据权利要求17所述的数据管理设备,其中,处理装置被进一步构造成基于请求信息来处理传感器数据。
25.一种电子装置,包括:
传感器,包括第一传感器和第二传感器,并被构造成输出与生物信号关联的传感器数据;以及
数据管理设备,被构造成基于传感器数据通过应用向用户提供生物计量信息,数据管理设备包括:
缓冲器管理装置,被构造成基于与应用请求的数据关联的请求信息,为应用分配缓冲器,其中,缓冲器包括用于存储第一传感器生成的第一传感器数据的第一缓冲器和用于存储第二传感器生成的第二传感器数据的第二缓冲器;
传感器管理装置,被构造成将对应于请求信息的传感器数据存储在缓冲器中;以及
处理装置,被构造成将存储在缓冲器中的传感器数据传递到应用,
其中,缓冲器管理装置被进一步构造成将第一缓冲器和第二缓冲器同步,
其中,缓冲器管理装置被进一步构造成:丢弃第一缓冲器在第一时间间隔中接收的数据,或者将第一缓冲器在第一时间间隔中接收的数据存储在备用缓冲器中,其中,第一时间间隔是在第一数量的第一传感器数据被存储在第一缓冲器中之后直到第二数量的第二传感器数据被存储在第二缓冲器中之前的时间间隔,其中,第一数量与第二数量之间的比率对应于预设比率。
26.根据权利要求25所述的电子装置,还包括:
存储器,被构造成存储将由处理装置执行的指令。
27.一种数据管理方法,包括:
从传感器接收传感器特性信息;
从应用接收各个应用请求信息;
基于传感器特性信息和各个应用请求信息,为每个应用分配多个缓冲器,其中,针对每个应用,所述多个缓冲器包括用于存储第一传感器生成的第一传感器数据的第一缓冲器和用于存储第二传感器生成的第二传感器数据的第二缓冲器;
将从传感器接收的传感器数据存储在缓冲器中;
针对每个应用,将第一缓冲器和第二缓冲器同步;以及
将存储在缓冲器中的传感器数据分别传递到应用,
其中,同步的步骤包括:丢弃第一缓冲器在第一时间间隔中接收的数据,或者将第一缓冲器在第一时间间隔中接收的数据存储在备用缓冲器中,其中,第一时间间隔是在第一数量的第一传感器数据被存储在第一缓冲器中之后直到第二数量的第二传感器数据被存储在第二缓冲器中之前的时间间隔,其中,第一数量与第二数量之间的比率对应于预设比率。
28.根据权利要求27所述的数据管理方法,其中,存储的步骤包括:
基于传感器特性信息和各个应用请求信息,确定哪个应用订阅哪个传感器的对应传感器数据;以及
将对应传感器数据存储在为应用分配的缓冲器中。
29.根据权利要求27所述的数据管理方法,还包括:
基于各个应用请求信息,生成每个应用的处理链;以及
针对每个处理链,处理与各个应用请求信息对应的传感器数据,
其中,存储的步骤包括:将经处理的各个传感器数据存储在对应于各个应用请求信息的所选择缓冲器中。
30.根据权利要求27所述的数据管理方法,其中,分配的步骤包括:基于各个应用请求信息,确定为每个应用分配的缓冲器的类型,以及
基于缓冲器中包括的行和通道的数量,确定缓冲器的类型。
CN201610909373.XA 2016-01-06 2016-10-19 数据管理方法和使用缓存的设备 Active CN106951063B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160001439A KR102525295B1 (ko) 2016-01-06 2016-01-06 데이터 관리 방법 및 장치
KR10-2016-0001439 2016-01-06

Publications (2)

Publication Number Publication Date
CN106951063A CN106951063A (zh) 2017-07-14
CN106951063B true CN106951063B (zh) 2021-09-14

Family

ID=56883574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610909373.XA Active CN106951063B (zh) 2016-01-06 2016-10-19 数据管理方法和使用缓存的设备

Country Status (5)

Country Link
US (1) US10761770B2 (zh)
EP (1) EP3190523B1 (zh)
JP (1) JP6831688B2 (zh)
KR (1) KR102525295B1 (zh)
CN (1) CN106951063B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747048B2 (en) * 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol
JP6351805B1 (ja) * 2017-07-14 2018-07-04 ヤフー株式会社 プログラム、および端末装置の制御方法
WO2019070675A1 (en) * 2017-10-03 2019-04-11 Rutgers, The State University Of New Jersey TRACKING INFORMATION FLOW BASED ON VALUES IN PROGICIELS
JP6558452B1 (ja) * 2018-02-13 2019-08-14 オムロン株式会社 品質チェック装置、品質チェック方法及びプログラム
JP6477935B1 (ja) * 2018-02-13 2019-03-06 オムロン株式会社 前処理判定装置、前処理判定方法及びプログラム
CN112861143A (zh) * 2019-11-28 2021-05-28 京东方科技集团股份有限公司 访问控制方法、装置、设备及存储介质
KR20240072390A (ko) * 2022-11-16 2024-05-24 아주대학교산학협력단 데이터 수집 및 관리 방법, 이를 수행하기 위한 기록 매체 및 데이터 수집 및 관리 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158474A (zh) * 2010-01-15 2011-08-17 iBAHN综合控股公司 虚拟用户接口
CN103810237A (zh) * 2012-11-13 2014-05-21 国际商业机器公司 数据管理方法和系统

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0354625A (ja) * 1989-07-24 1991-03-08 Hitachi Ltd 集合型磁気ディスク装置
DE19945614C1 (de) * 1999-09-23 2000-12-28 Bosch Gmbh Robert Verfahren zur Datenübertragung zwischen einem Steuergerät für Rückhalteeinrichtungen und Sensoren
US6683889B1 (en) 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
US7359321B1 (en) * 2002-01-17 2008-04-15 Juniper Networks, Inc. Systems and methods for selectively performing explicit congestion notification
JP2005031826A (ja) * 2003-07-09 2005-02-03 Hitachi Ltd センサデバイスおよびその制御方法
CN1839369A (zh) 2003-08-20 2006-09-27 皇家飞利浦电子股份有限公司 动态存储缓冲器
US7328433B2 (en) 2003-10-02 2008-02-05 Intel Corporation Methods and apparatus for reducing memory latency in a software application
US9231886B2 (en) * 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
CN2862193Y (zh) * 2005-07-18 2007-01-24 北京友高教育科技有限公司 数据采集系统
US7609708B2 (en) * 2005-10-04 2009-10-27 Intel Corporation Dynamic buffer configuration
JP2007235217A (ja) 2006-02-27 2007-09-13 Fujitsu Access Ltd 同期/非同期変換装置およびクロック制御方法
CN101410805B (zh) * 2006-04-07 2013-03-27 高通股份有限公司 传感器接口以及与之有关的方法和设备
JP4574600B2 (ja) * 2006-08-25 2010-11-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 ゲートウェイ装置、データ集約装置、データ集約システム、データ送信方法、及びプログラム
US20080063004A1 (en) * 2006-09-13 2008-03-13 International Business Machines Corporation Buffer allocation method for multi-class traffic with dynamic spare buffering
US9189195B2 (en) 2006-10-16 2015-11-17 Sandel Avionics, Inc. Integrity monitoring
US8028286B2 (en) * 2006-11-30 2011-09-27 Oracle America, Inc. Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors
US7724756B2 (en) * 2007-12-10 2010-05-25 Alcatel-Lucent Input/output buffer controller for optimized memory utilization and prevention of packet under-run errors
US8661407B2 (en) 2008-06-26 2014-02-25 Microsoft Corporation Framework for programming embedded system applications
US8683472B2 (en) * 2009-09-01 2014-03-25 International Business Machines Corporation Adjusting thread priority to optimize computer system performance and the utilization of computer system resources
JP5340186B2 (ja) * 2010-01-21 2013-11-13 アラクサラネットワークス株式会社 パケット中継装置及びパケットを中継する方法
DE102010062567A1 (de) * 2010-12-07 2012-06-14 Robert Bosch Gmbh Verfahren, Sensormodul und System zur Datenübertragung
US8572421B2 (en) 2011-04-05 2013-10-29 Apple Inc. Adjusting device performance based on processing profiles
US8780120B2 (en) 2011-10-02 2014-07-15 Microsoft Corporation GPU self throttling
US10248184B2 (en) * 2011-11-09 2019-04-02 Qualcomm Incorporated Sensor API framework for cloud based applications
JP5831207B2 (ja) * 2011-12-21 2015-12-09 富士通株式会社 携帯端末装置、携帯端末装置の制御プログラム及び制御方法
JP2013162258A (ja) * 2012-02-03 2013-08-19 Omron Corp 無線通信ノード、ゲーム実行装置、仲介装置
US9462632B2 (en) * 2012-07-17 2016-10-04 Qualcomm Incorporated Concurrent data streaming using various parameters from the same sensor
KR101460404B1 (ko) * 2012-09-04 2014-11-12 포항공과대학교 산학협력단 사용자 중심의 상황정보 관리 장치 및 그 방법
JP6048030B2 (ja) * 2012-09-21 2016-12-21 富士通株式会社 携帯端末装置の制御方法、制御プログラム、携帯端末装置
KR102023991B1 (ko) 2012-11-12 2019-09-23 삼성전자주식회사 생체 신호 전송기, 생체 신호 수신기, 및 생체 신호 송수신 방법
US10649607B2 (en) * 2012-12-28 2020-05-12 Facebook, Inc. Re-ranking story content
US9015378B2 (en) * 2013-05-15 2015-04-21 Google Inc. Determining sensor information in the background on a mobile device
US10139253B2 (en) * 2014-04-30 2018-11-27 Google Llc Adjustment of interrupt timestamps of signals from a sensor based on an estimated sampling rate of the sensor
US20170052736A1 (en) * 2014-05-23 2017-02-23 Hewlett Packard Enterprise Development Lp Read ahead buffer processing
TWI538515B (zh) * 2014-10-31 2016-06-11 晶相光電股份有限公司 影像感測裝置與缺陷像素檢測與補償方法
US10501152B2 (en) * 2014-12-30 2019-12-10 CENTRO PER GLI STUDI DI TECNICA NAVALE-CETENA S.p.A. Structural monitoring system of the hull of a ship integrated with a navigation decision support system
US9467150B2 (en) * 2015-03-02 2016-10-11 Sandisk Technologies Llc Dynamic clock rate control for power reduction
US10051060B2 (en) * 2015-12-04 2018-08-14 International Business Machines Corporation Sensor data segmentation and virtualization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158474A (zh) * 2010-01-15 2011-08-17 iBAHN综合控股公司 虚拟用户接口
CN103810237A (zh) * 2012-11-13 2014-05-21 国际商业机器公司 数据管理方法和系统

Also Published As

Publication number Publication date
US10761770B2 (en) 2020-09-01
JP6831688B2 (ja) 2021-02-17
JP2017123158A (ja) 2017-07-13
KR102525295B1 (ko) 2023-04-25
US20170192717A1 (en) 2017-07-06
EP3190523A1 (en) 2017-07-12
EP3190523B1 (en) 2021-06-09
CN106951063A (zh) 2017-07-14
KR20170082254A (ko) 2017-07-14

Similar Documents

Publication Publication Date Title
CN106951063B (zh) 数据管理方法和使用缓存的设备
EP3664093B1 (en) Semiconductor memory device employing processing in memory (pim) and method of operating the semiconductor memory device
EP3698294B1 (en) Machine learning runtime library for neural network acceleration
CN105260404B (zh) 存储时间序列数据的方法和装置
CN107346351A (zh) 用于基于源代码中定义的硬件要求来设计fpga的方法和系统
CN108075851B (zh) 用于同步时钟的设备和方法
US20160132414A1 (en) Simulation device and distribution simulation system
JPS58501921A (ja) チヤネル動作の測定のための方法及び装置
US20130151795A1 (en) Apparatus and method for controlling memory
EP3193258B1 (en) Memory apparatus including multiple buffers and method of driving memory including multiple buffers
US8244941B2 (en) Real time data interface
US5204965A (en) Data processing system using stream stores
US10912494B2 (en) Sensor signal reconstruction in a sensor hub
JP2022526473A (ja) 情報を取得するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
JP2006309315A (ja) データ記録装置ならびにデータ記録装置を備えた検査装置および制御装置
CN109416660A (zh) 对计算机程序指令的并发执行序列的执行时间的无锁测量
CN109697767A (zh) 数据处理方法、相关设备及计算机存储介质
CN111061518B (zh) 基于驱动节点的数据处理方法、系统、终端设备和存储介质
Wu et al. Hadoop-EDF: Large-scale distributed processing of electrophysiological signal data in hadoop MapReduce
US8156295B2 (en) Four-slot asynchronous communication mechanism with decreased latency
EP0214037B1 (en) System and method for data processing
KR20180135800A (ko) 병렬 처리 기반의 생체 신호 처리 방법과 그 장치
JP6381270B2 (ja) 情報処理装置、情報処理方法、システム
KR102668951B1 (ko) 임베디드 시스템
EP3985507A1 (en) Electronic device and method with scheduling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant