• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 22
    • 下载费用:30 金币  

    重庆时时彩怎么做代理: 用于处理多个传感器的时序数据的方法和装置.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201210429532.8

    申请日:

    2012.10.31

    公开号:

    CN103794006A

    公开日:

    2014.05.14

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G07F 17/30申请日:20121031|||公开
    IPC分类号: G07F17/30 主分类号: G07F17/30
    申请人: 国际商业机器公司
    发明人: 陈晓艳; 黄胜; 王晨; 刘凯
    地址: 美国纽约阿芒克
    优先权:
    专利代理机构: 北京市金杜律师事务所 11256 代理人: 酆迅;李峥宇
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201210429532.8

    授权公告号:

    ||||||

    法律状态公告日:

    2016.12.21|||2014.06.11|||2014.05.14

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明涉及时序数据处理,公开一种用于处理来自多个传感器的时序数据的方法和装置,其中,所述多个传感器被划分成多个传感器组,每个时序数据包含一个时间戳和一个值,该值与该时间戳相关联,该方法包含:数据接收步骤,接收来自多个传感器的各个传感器的时序数据;数据分组步骤,将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组;第一存储步骤,在第一存储器的第一数据库存储时序数据,使得被分派到所述多个传感器组中的同一个传感器组的多个时序数据被存储在第一数据库的至少一个数据库记录中;数据重组步骤,从第一数据库中获取多个传感器的各个传感器的时序数据。第二存储步骤,在第二存储器的第二数据库存储时序数据,使得同一个传感器的多个时序数据被存储在第二数据库的至少一个数据库记录中。

    权利要求书

    权利要求书
    1.  一种用于处理来自多个传感器的时序数据的方法,其中,所述多个传感器被划分成多个传感器组,每个时序数据包含一个时间戳和一个值,该值与该时间戳相关联,该方法包含:
    数据接收步骤,接收来自多个传感器的各个传感器的时序数据;
    数据分组步骤,将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组;
    第一存储步骤,在第一存储器的第一数据库存储时序数据,使得被分派到所述多个传感器组中的同一个传感器组的多个时序数据被存储在第一数据库的至少一个数据库记录中;
    数据重组步骤,从第一数据库中获取多个传感器的每个传感器的时序数据;
    第二存储步骤,在第二存储器的第二数据库存储时序数据,使得同一个传感器的多个时序数据被存储在第二数据库的至少一个数据库记录中中。

    2.  权利要求1的方法,所述第二存储步骤进一步按时间戳存储时序数据。

    3.  权利要求1的方法,所述第二存储步骤进一步按值存储时序数据。

    4.  权利要求3的方法,进一步包含:计算来自每个传感器的值的概率分布函数PDF,并且
    所述按值存储时序数据包含:
    根据所计算的PDF,为每个传感器的值划分多个值范围;
    按所划分的值范围存储时序数据,使得一个数据库记录中包含属于同一个值范围的值对应的时序数据。

    5.  权利要求1至4的任何之一的方法,进一步包含:
    数据压缩步骤,针对每个传感器,对时序数据进行压缩,产生压缩的时序数据。

    6.  权利要求5的方法,其中,所述对时序数据进行压缩,包含以下的一个或多个:
    对时序数据中的时间戳进行压缩;
    对每个传感器的时序数据中的值进行线性压缩。

    7.  权利要求6的方法,其中,所述在第一存储器的第一数据库存储时序数据,包含在第一存储器的第一数据库存储压缩的时序数据。

    8.  权利要求6的方法,所述对时序数据进行压缩,包含对每个传感器的时序数据中的值进行线性压缩,所述在第二存储器的第二数据库存储时序数据,包含在第二存储器的第二数据库存储压缩的时序数据。

    9.  权利要求5的方法,进一步包含:
    查询接收步骤,接收对时序数据的查询;
    查询步骤,在第二存储器中执行对时序数据的查询。

    10.  权利要求9的方法,其中,所述查询步骤包含:
    查询转换步骤,将所接收的查询转换为对第二存储器中压缩的时序数据的查询;
    压缩数据查询步骤,执行对第二存储器中压缩的时序数据的查询,获得查询结果;
    解压步骤,将所获得的查询结果中压缩的时序数据进行解压。

    11.  一种用于处理来自多个传感器的时序数据的装置,其中,所述多个传感器被划分成多个传感器组,每个时序数据包含一个时间戳和一个值,该值与该时间戳相关联,该装置包含:
    数据接收???,被配置得用于接收来自多个传感器的各个传感器的时序数据;
    数据分组???,被配置得用于将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组;
    第一存储控制???,被配置得用于在第一存储器的第一数据库存储时序数据,使得被分派到所述多个传感器组中的同一个传感器组的多个时序数据被存储在第一数据库的至少一个数据库记录中;
    数据重组???,被配置得用于从第一数据库中获取多个传感器的每个传感器的时序数据;
    第二存储控制???,被配置得用于在第二存储器的第二数据库存储时序数据,使得同一个传感器的多个时序数据被存储在第二数据库的至少一个数据库记录中。

    12.  权利要求11的装置,所述第二存储控制??楸慌渲玫糜糜诮徊桨词奔浯链娲⑹毙蚴?。

    13.  权利要求11的装置,所述第二存储控制??楸慌渲玫糜糜诮徊桨粗荡娲⑹毙蚴?。

    14.  权利要求13的装置,进一步包含用于计算来自每个传感器的值的概率分布函数PDF的???,并且
    所述第二存储控制??楸唤徊脚渲玫糜糜冢?BR>根据所计算的PDF,为每个传感器的值划分多个值范围;
    按所划分的值范围存储时序数据,使得一个数据库记录中包含属于同一个值范围的值对应的时序数据。

    15.  权利要求11至14的任何之一的装置,进一步包含:
    数据压缩???,被配置得用于针对每个传感器,对时序数据进行压缩,产生压缩的时序数据。

    16.  权利要求15的装置,其中,所述数据压缩??榘韵碌囊桓龌蚨喔觯?BR>用于对时序数据中的时间戳进行压缩的???;
    用于对每个传感器的时序数据中的值进行线性压缩的???。

    17.  权利要求16的装置,其中,所述第一存储控制??楸唤徊脚渲玫糜糜谠诘谝淮娲⑵鞯牡谝皇菘獯娲⒀顾醯氖毙蚴?。

    18.  权利要求16的装置,其中,所述第二存储控制??楸唤徊脚渲玫糜糜谠诘诙娲⑵鞯牡诙菘獯娲⒀顾醯氖毙蚴?。

    19.  权利要求15的装置,进一步包含:
    查询接收???,被配置得用于接收对时序数据的查询;
    查询???,被配置得用于在第二存储器中执行对时序数据的查询。

    20.  权利要求19的装置,其中,所述查询??榘?BR>查询转换???,被配置得用于将所接收的查询转换为对第二存储器中压缩的时序数据的查询;
    压缩数据查询???,被配置得用于执行对第二存储器中压缩的时序数据的查询,获得查询结果;
    解压???,被配置得用于将所获得的查询结果中压缩的时序数据进行解压。

    说明书

    说明书用于处理多个传感器的时序数据的方法和装置
    技术领域
    本发明涉及时序数据处理,更具体地,涉及在数据库中存储来自传感器的时序数据。
    背景技术
    在各种工业应用中,需要处理来自大量传感器的海量时序数据-亦称“时间序列数据”(Time Series Data),例如股价波动、气温变化等等。时序数据包含时间戳和与时间戳相关联的值,例如包含来自传感器的采样时间和采样值。在能源系统、智能电网等应用中,往往部署数以千万计的传感器,这些传感器产生海量的时序数据,需要将它们持久地存储在数据库中以便查询。在持久存储时序数据之前,首先要从传感器实时接收时序数据,并在临时存储器的数据库中暂存所接收的时序数据。通常是按传感器组织暂存时序数据,这种方式虽然直截了当,但是对缓存的利用效率不高,在处理来自大量低频采样的传感器的海量时序数据时,尤其如此。
    发明内容
    针对现有技术的状况,本发明的一个目的是提供一种用于处理来自多个传感器的时序数据的改进的方法和装置。
    一方面,提供一种用于处理来自多个传感器的时序数据的方法,其中,所述多个传感器被划分成多个传感器组,每个时序数据包含一个时间戳和一个值,该值与该时间戳相关联,该方法包含:数据接收步骤,接收 来自多个传感器的各个传感器的时序数据;数据分组步骤,将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组;第一存储步骤,在第一存储器的第一数据库存储时序数据,使得第一数据库的各个数据库记录包含被分派到所述多个传感器组中的同一个传感器组的多个时序数据;数据重组步骤,从第一数据库中获取多个传感器的各个传感器的时序数据;第二存储步骤,在第二存储器的第二数据库存储时序数据,使得第二数据库的各个数据库记录包含同一个传感器的多个时序数据。
    另一方面,提供一种用于处理来自多个传感器的时序数据的装置,其中,所述多个传感器被划分成多个传感器组,每个时序数据包含一个时间戳和一个值,该值与该时间戳相关联,该装置包含:数据接收???,被配置得用于接收来自多个传感器的各个传感器的时序数据;数据分组???,被配置得用于将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组;第一存储控制???,被配置得用于在第一存储器的第一数据库存储时序数据,使得第一数据库的各个数据库记录包含被分派到所述多个传感器组中的同一个传感器组的多个时序数据;数据重组???,被配置得用于从第一数据库中获取多个传感器的各个传感器的时序数据;第二存储控制???,被配置得用于在第二存储器的第二数据库存储时序数据,使得第二数据库的各个数据库记录包含同一个传感器的多个时序数据。
    附图说明
    通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
    图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图;
    图2是按照本发明一个实施例的方法的示意性流程图;
    图3是按照本发明一个实施例的装置的示意性框图;
    图4示意性地表示来自传感器的时序数据的例子;
    图5A和5B示意性地表示按照本发明实施例、在第一存储器中存储来自多个传感器的时序数据的数据库记录;
    图6A和6B示意性地表示按照本发明一个实施例的用于第二存储器中存储时序数据的数据库记录;
    图7示意性地表示按照本发明另一个实施例的用于第二存储器中存储时序数据的数据库记录;
    图8是传感器的时序数据的一种图示。
    具体实施方式
    下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
    图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU101、RAM102、ROM103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦 合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
    所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“??椤被颉跋低场?。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
    可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
    计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任 何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
    计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
    可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
    下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
    也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
    也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
    附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个???、程序段或代码的一部分,所述???、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
    本发明涉及时序数据的处理,对时序数据的处理可以在图1所示的计算机系统100上执行。
    本发明的总体构思,是针对来自多个低频采样的传感器的时序数据的特点,首先以较高的效率暂存从多个传感器接收的时序数据,然后重组所暂存的时序数据,并按相应的数据结构永久性地存储时序数据。进一步,以压缩方式存储时序数据,由此降低存储时序数据所需的存储空间。
    下面参照附图,说明本发明的各种实施方式。
    首先参看图2。图2示意性地表示按照本发明一个实施例的用于处理来自多个传感器的时序数据的方法的流程图。
    图2所示的方法处理的时序数据,来自多个传感器(未予示出),例如来自1000个传感器。作为初始化步骤(未予示出),将所述多个传感 器划分成多个传感器组,例如,将1000个传感器划分成100个传感器组,每个传感器组包含10个传感器,记录传感器组与传感器之间的映射关系如下:
    G1={1,2,…10},…G10={91,92,…100},…G100={991,992,…1000}
    即传感器组G1包含传感器1、2、…10;传感器组G10包含传感器91、92、…100;传感器组G100包含传感器991、992、…1000。当然,这样的分组只是示例性的,在具体实践中,传感器的数量可能数以千万计,可以根据实际情况,例如根据传感器的采样频率,适当地配置分组参数,使每个传感器组包含更多的、例如数百乃至数千个传感器。
    图2所示的方法处理的时序数据,均包含一个时间和一个与时间戳关联的值。时间戳代表值的采样时间,简记为“TS”或“T”,与时间戳相关联的值也称采样值,简记为“V”。说明书中也用二元组“<时间戳,值>”来表示一对相互关联的时间戳和值,称为“时间戳-值对”。为了方便叙述,在不致引起混淆的情况下,以下也将传感器的时序数据包含的值称为“传感器的值”,将传感器的时序数据包含的时间或时间戳,称为“传感器的时间”。
    概括来说,如图2所示的方法包含以下步骤:数据接收步骤210、数据分组步骤220、第一存储步骤230、数据重组步骤240和第二存储步骤250。现在结合其它附图,详细说明各个步骤的操作。
    该方法的过程始于数据接收步骤210,该步骤接收来自多个传感器(未予示出)的各个传感器的时序数据。
    图4示意性地表示来自传感器的时序数据,其中的表411示意性地表示来自多个传感器的一部分时序数据,其中表头“ID”、“TS”和“V”所在栏的内容,分别是传感器标识符、传感器的时间戳和值。例如,第1 行表示标识符为“1”的传感器(传感器1)在时间“20120716.10:47:00”测量的温度值“32.0”。
    在步骤210后,执行数据分组步骤220,将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组。
    例如,将来自1000个传感器的各个传感器的时序数据分派到传感器组G1、G2、…G10。假设在某一时刻,分配到传感器组G1的时序数据如图4的表411所示。
    表411所示的时序数据,以及上述对传感器的分组,仅仅是示例性的。步骤210可以接收来自更多的传感器的时序数据,在将多个传感器划分成多个传感器组的情况下,每个被接收的时序数据都属于一个传感器组。
    在步骤220之后,执行第一存储步骤230,在第一存储器的第一数据库DB1存储时序数据,使得第一数据库的各个数据库记录包含被分派到所述多个传感器组中的同一个传感器组的多个时序数据。
    按照本发明一个实施例,第一存储器是一个用于临时存储数据的临时存储器,可以是易失性存储器,也可以是非易失性存储器。第一数据库例如可以是一个关系数据库(RDB)。
    下面参照图5A和5B,进一步说明步骤230的实现方式。
    图5A示意性地表示按照本发明一个实施例的数据库记录的结构。图5A所示的数据库记录包含:
    (1)组标识符(G_ID)501A,是一个数据库记录对应的传感器组的标识符。
    (2)数据部分504A,包含多个三元组<ID,V,T>,其中,ID表示传感器标识符,V和T分别表示传感器的值和时间戳,即传感器的时序数据中的值和时间戳??梢酝ü谑菘饧锹贾猩柚靡桓龆钔獾募剖?,表示数据部分504A所包含的三元组的个数。
    例如,假设一个数据库记录包含表411所示的分派到传感器组G1的时序数据,则该数据库记录可以表示为:
    {G1,<1,32.0,20120716.10:47:00>,...<10,32.2,20120716.10:47:40>}
    其中,G_ID=“G1”,三元组<1,32.0,20120716.10:47:00>表示传感器1(ID=1)、传感器1的时序数据中的值(V)“32.0”以及该值对应的时间戳(T)“20120716.10:47:00”。
    在该数据库记录中存储了来自多个传感器的时序数据。
    按照本发明一个实施例,在第一存储步骤230之前,可以对时序数据进行压缩,产生压缩的时序数据。相应地,在第一存储步骤中,所述在第一存储器的第一数据库存储时序数据,包含在第一存储器的第一数据库存储压缩的时序数据。
    对时序数据进行压缩,是指将原始时序数据转换成压缩的时序数据。而存储压缩的时序数据所需的存储空间,比存储原始时序数据所需的存储空间更小??梢圆捎孟钟屑际踔懈髦质菅顾醴椒?,对表411的时序数据进行压缩,产生压缩的时序数据。
    按照本发明一个实施例,所述对时序数据进行压缩,包含对时序数据中的时间戳进行压缩。
    图5B示意性地表示按照本发明一个实施例的用于以压缩方式存储数据的数据库记录的结构。图5B所示的数据库记录包含以下字段:
    (1)组标识符(G_ID)501,表示传感器组的标识符;
    (2)基准时间戳(Base_TS)502,表示一个基准时间;
    (3)点数据包(P_Blob)504,由多个多个三元组<ID,V,Δt>504_1构成。三元组<ID,V,Δt>中的“ID”和“V”的含义与图5A所示的三元组<I D,V,T>中的“ID”和“V”的含义分别相同,“Δt”是值“V”对应的时间戳与基准时间戳502之间的偏差量。由Δt和基准时间戳502,可以导出值V对应的时间戳。
    (4)计数器(P_Counter)503,表示三元组504_1的个数。例如,如果P_Counter503的值为10,则表示点数据包504包含10个三元组504_1。点数据包504中可容纳的三元组的个数,除了受限于数据库记录的最大长度,也与数据库记录中的数据或三元组中的数据被压缩的程度有关,数据压缩率越大,可容纳的三元组的个数越多。
    例如,假设一个数据库记录包含表411所示的分派到传感器组G1的时序数据,则图5B所示结构数据库记录可以表示为:
    {G1,20120716.10:47:00,10,P_Blob},其中
    P_Blob=<1,32.0,0>,<2,31.8,10>,<3,31.0,10>…<10,32.2,40>。
    与图5A所示的数据库记录相比,图5B所示的数据库记录的数据,是经过对时序数据中的时间戳进行压缩而产生压缩的时序数据。采用图5B所示的压缩方式,可以在一个数据库记录中存储更多的时序数据。
    需要指出的是,图5B所示的数据压缩方式只是示意性的,所属技术领域的技术人员应当明白,可以采用其他数据压缩方式,对图5A所示结 构的数据库记录的数据进行进一步压缩。对图5B所示结构的数据库记录的数据,也可以进行进一步压缩。
    按照本发明一个实施例,所述对时序数据进行压缩,包含对各个传感器的时序数据中的值进行线性压缩。对各个传感器的时序数据中的值进行线性压缩,可以减少所需存储的如图5A或5B所示的三元组的个数。
    为了避免影响对图2所示的过程的描述的连贯性,对传感器的值进行线性压缩的实施方式,将在后文将结合附图加以详细说明。
    需要指出的是,图5A和图5B所示的第一存储器中的每个数据库记录都唯一地对应一个传感器组;而一个传感器组,则可以对应多个图5A或图5B所示的数据库记录。
    来自多个传感器的时序数据,是按照时间顺序接收的。按照常规的方式,在永久性地存储时序数据永久地之前,要在临时存储器中按传感器存储所接收的时序数据,即按传感器在临时存储器的数据库记录中存储时序数据,其中,对应一个传感器的一个数据库记录中,只记录一个时序数据。在传感器数量大,采样频率低的应用中,需要大量的缓存空间才能支持这种存储方式。
    按照本发明实施例的方法,则按传感器组存储所接收的时序数据,其中,第一存储器中的第一数据库的每个数据库记录包含属于该数据库记录对应的传感器组的传感器的时序数据,换言之,该步骤将来自一个传感器组所属的多个传感器的时序数据存储在一个数据库记录中,这可以有效地利用数据库记录的最大长度,由此可以节省所需缓存的空间。
    此外,第一存储步骤230不但按传感器组存储所接收的时序数据,而且可以以压缩方式存储所接收的时序数据,从而可以节省存储空间,使得在一个数据库记录中能存储更多的时序数据。
    按照本发明一个实施例,可以通过在第一数据库的数据库记录中设置适当的字段,为数据库记录建立各种索引,例如:最大值索引,该索引包含数据库记录中的时序数据中的最大值与数据库记录之间的映射关系;最小值索引,该索引包含数据库记录中的时序数据中的最小值与数据库记录之间的映射关系;起始时间索引,该索引包含数据库记录中的时序数据中的最早时间戳与数据库记录之间的映射关系;结束时间索引,该索引包含数据库记录中的时序数据中的最晚时间戳与数据库记录之间的映射关系。上述索引可以用于对第一数据库上存储的时序数据进行各种检索。
    现在返回图2,在步骤230后,执行数据重组步骤240,从第一数据库中获取多个传感器的各个传感器的时序数据。
    例如,可以在用于存储来自传感器的时序数据的第一存储器充满时,或者在第一存储器开始存储时序数据后的预定时间,从第一数据库中获取多个传感器的各个传感器的时序数据。具体来说,可以按照传感器组与传感器之间的映射关系,从一个传感器所属的传感器组所在的数据库记录中,抽取该传感器的时序数据。
    转看图4,图中的表412示意性地表示数据重组步骤240从第一数据库获取的一个传感器的一部分时序数据。表412中的表头“TS”和“V”的含义与表411的相同,在此无须赘述。为了便于说明,假设表412所示的26个时序数据,是属于传感器组G10的传感器100的一部分时序数据。
    在数据重组步骤240之后,执行第二存储步骤250,在第二存储器的第二数据库DB2存储时序数据,使得同一个传感器的多个时序数据被存储在第二数据库的至少一个数据库记录中。
    第二存储器可以是非易失性存储器,例如磁盘、光盘等。第二数据库可以是关系数据库。
    第二数据库中的数据库记录可以用下面的表达式(1)表示:
    {ID,<V,T>,<V,T>,…}(1)其中,ID表示传感器标识符,多个二元组<V,T>表示属于该传感器标识符代表的传感器的多个时序数据。例如,假设第二数据库的一个数据库记录包含表412所示的时序数据,则该数据库记录的内容可以表示为:
    {G10,<3,20120806.10:00:00>,…<5,20120806.10:00:25>}其中,G10是传感器标识符,<3,20120806.10:00:00>分别代表表412中的第1行的时序数据,<5,20120806.10:00:25>代表最后一行的时序数据。
    需要指出的是,表达式(1)仅仅是示意性的。第二数据库的数据库记录可以包含更多的字段,数据库记录中存储的时序数据,可以包含比表412所示的更多或更少的时序数据,并且,一个传感器可以对应于多个存储其时序数据的数据库记录。所属技术领域的技术人员在具体实践中,可以针对可能的需要,例如对第二数据库进行检索的需要,对表达式(1)所示的结构作出各种修改,例如增加字段。
    按照本发明一个实施例,所述第二存储步骤250进一步包含:在第二存储器的第二数据库按时间戳存储时序数据?;谎灾?,在按传感器存储时 序数据的基础上进一步按时间存储时序数据,这可以方便以后在第二数据库中进行基于传感器和时间的检索。
    按照本发明一个实施例,在第二存储步骤250之前,甚至在第一步骤230之前,可以对时序数据进行压缩,产生压缩的时序数据。相应地,在第二存储步骤中,所述在第二存储器的第二数据库存储时序数据,包含在第二存储器的第二数据库存储压缩的时序数据。
    按照本发明一个实施例,所述对时序数据进行压缩,包含对时序数据中的时间戳进行压缩。
    图6A示意性地表示按照本发明一个实施例用于以压缩方式按时间戳存储时序数据的数据库记录的结构。图6A所示的数据库记录与图5B所示的数据库记录相比,除了传感器标识符601与组标识符501之间以及二元组<V,Δt>与三元组<ID,V,Δt>之间的差别外,其它部分基本相同。具体来说,包含以下字段:
    -传感器标识符(ID)601,表示一个传感器的标识符;
    -基准时间戳(Base_TS)602,表示一个基准时间;
    -计数器(V_Counter)603;
    -值数据包(V_Blob)604,由多个二元组<V,Δt>604_1构成,二元组<V,Δt>中的“V”表示值,“Δt”表示值“V”对应的时间戳与基准时间戳602之间的偏差量,由<V,Δt>和基准时间戳602,可以导出二元组<V,Δt>对应的<时间戳,值>对。
    计数器603的值表示二元组604_1的个数。
    例如,按照图6A所示的结构,可以在一个数据库记录中存储表412所示的时序数据,其内容可以示意性地表示如下:
    {100,20120816.10:00:00,26,<3,0>,<3.3,1>,<3.6,2>,…<5,25>}
    按照本发明一个实施例,所述对时序数据进行压缩,包含对各个传感器的时序数据中的值进行线性压缩。
    按照本发明一个实施例,可以通过在表达式(1)或图6A所示的结构的数据库记录中设置适当的字段,为数据库记录建立各种索引,例如:起始时间索引,该索引包含数据库记录中的时序数据中的最早时间戳与数据库记录之间的映射关系;结束时间索引,该索引包含数据库记录中的时序数据中的最晚时间戳与数据库记录之间的映射关系。上述索引可以用于对第二数据库上存储的时序数据进行基于时间的各种检索。
    按照本发明一个实施例,所述第二存储步骤250进一步包含:在第二存储器的第二数据库按值存储时序数据。
    按照本发明一个实施例,在第二存储步骤250之前,可以对时序数据进行压缩,产生压缩的时序数据。相应地,在第二存储步骤中,所述在第二存储器的第二数据库存储时序数据,包含在第二存储器的第二数据库存储压缩的时序数据。
    按照本发明一个实施例,所述对时序数据进行压缩,包含对时序数据中的时间戳进行压缩。
    图7示意性地表示按照本发明另一个实施例的用于以压缩方式按时间戳存储时序数据的数据库记录的结构。图7所示的数据库记录包含以下字段:
    -传感器标识符(ID)701,表示一个传感器的标识符;
    -值范围键(Range_Key)702,表示该数据库记录中存储的值的范围;
    -基准时间戳(Base_ST)704,表示一个基准时间;
    -时间戳数据包(TS_Blob)703,包含:
    -多个二元组<V,Δt>703_2,二元组<V,Δt>中的“V”表示值,“Δt”表示值“V”对应的时间戳与基准时间戳704之间的偏差量,因此,<V,Δt>和基准时间戳Base_TS704,可以表示二元组<V,Δt>对应的<时间戳,值>对。
    -计数器(TS_Counter)703_1,其值表示二元组703_2的个数。
    图7与图6A所示的数据库记录的结构的主要差别是,图7中包含一个值范围键(Range_Key)702字段,用于指示数据库记录中包含的时序数据的值的值范围。由于传感器在不同时间的值的差别可能很大,在数据库记录中限定所存储的时序数据的值的值范围,有助于提高在第二存储器中进行基于传感器和值的检索的速度。
    可以用各种方式划分来自传感器的时序数据中的值的值范围。以传感器100为例,假设该传感器的时序数据的值的范围为[-20,20],可以简单地把这个范围划分为20个值范围,即[-20,-18]、[-18,-16]…[16,18]、[18,20]。这种划分方式的缺点是,在实际情况中,传感器的值在每个值范围上的分布不均匀,就是说,传感器的值在有的值范围内很多,在有的值范围内很少。
    每个传感器的值,都有一定的分布规律??梢岳妹扛龃衅鞯闹档氖导史植?,来划分每个传感器的值的值范围。
    按照本发明一个实施例,图2所示的方法进一步包含:计算来自每个传感器的值的概率分布函数PDF(Probability DistributionFunction),相应地,所述在第二存储器的第二数据库按值存储时序数据包含:
    根据所计算的PDF,为每个传感器的值划分多个值范围;
    按所划分的值范围存储时序数据,使得一个数据库记录中包含属于同一个值范围的值对应的时序数据。
    按照本发明一个实施例,可以在第一存储步骤230之前,通过统计每个传感器的时序数据,计算每个传感器的时序数据的值的PDF。例如,通过统计来自传感器100的时序数据,可以计算出传感器100的值的概率分布函数PDF:
    f(x)=12πσe-(x-μ)22σ2,]]>μ=0,σ=6即,传感器100的值服从正态分布,其中,μ是传感器的值的期望值,和σ是标准差。
    根据所计算传感器100的值的概率分布函数PDF,按照下述公式,将概率分布函数所覆盖的采样范围分割K等分(这里设定K=20):
    &Integral;vivi+112πσe-(x-μ)22σ2dx=1K,]]>K=20其中,K为分割为具有相等概率的值范围的份数,vi为第i份的起始分割点,vi+1为第i份的终止分割点,同时也是i+1份的起始分割点。结果如表1所示。
    表1
    值范围键最小值最大值..................131.52.34
    142.343.18153.184.08164.085.04..................
    表1只是示意性地表示了20个值范围的其中的4个。其中,值范围键13对应的值范围为[1.5,2.34],即该值范围的最大值和最小值分别为2.34和1.5。类似地,值范围键14、15、16对应的值范围键分别为[2.34,3.18]、[3.18,4.08]、[4.08,5.04]。
    据此,可以按所划分的20个值范围存储传感器100的时序数据,使得一个数据库记录中包含属于同一个值范围的值对应的时序数据。例如,在图7所示一个数据库记录中,只存储属于值范围[1.5,2.34]的值对应的时序数据,就是说,每个二元组<V,Δt>中的值,都落在范围[1.5,2.34]内,相应地,值范围键702的值为13。
    在实际应用中,可以记录值范围键(Range_Key)与其代表的值范围之间的映射关系,以方便对第二数据库的基于值的查询。
    图8是一个传感器的时序数据的图示。现在参照附图8,说明线性压缩时序数据,生成压缩数据的例子。所属技术领域的技术人员知道,线性压缩(linear compression)是一种常用的数据压缩技术,现有技术中已经有各种线性压缩算法和相应的解压算法。
    图8示意性地表示了图4中的表412所示的时序数据。其中,横轴表示时间T,单位是秒,纵轴表示值V,图8中的26个点分别表示表412中的26个时序数据,其中,六个点P1、P2、P3、P4、P5和P6,分别表示表412中的第1、6、11、15、21和26行的时序数据,例如点P1的坐标为 (0,3),表示第1个时序数据,即<TS,V>=<2012-08-06.10:00:00.000,3>。这六个点的连线P1-P2、P2-P3、P3-P4、P34-P5和P5-P6构成一个连续的多边线。
    从图8可见,表412中第2、3、4、5个时序数据对应的点都落在连线P1-P2的附近,这表明,在预定的误差范围(例如0.2)内,可以对第1至6个时序数据进行线性压缩,即用点集{P1,P2}表示的时序数据,来代表第1个至第6个时序数据。
    按照这种方式,可以将表412中的26个时序数据压缩成六个点P1、P2、P3、P4、P5和P6所表示的时序数据。具体来说,用点集{P2,P3}表示的时序数据来代表第6个-第11个时序数据;用点集{P3,P4}表示的时序数据来代表第11个-第15个时序数据;用点集{P4,P5}表示的时序数据来代表第15个-第21个时序数据;用点集{P5,P6}表示的时序数据来代表第21个-第26个时序数据。点集{P1,P2,P3,P4,P5,P6}表示的时序数据,就是对表412中所示的时序数据的值进行线性压缩而生成的压缩的时序数据。
    例如,可以将该压缩的时序数据,存储在图6A所示的数据库记录中,结果如图6B所示。在图6B中,值数据包604中只存储有对表412中所示的时序数据的值进行线性压缩生成的压缩的时序数据{<3,0>,<4,5>,<3.5,10>,<2,14>,<3,20>,<5,25>}。
    类似地,可以在图7所示的时间戳数据包703中存储这样的压缩的时序数据。
    类似地,也可以在图5B所示的点数据包504中存储这样的压缩的时序数据。按照本发明一个实施例,可以在执行第一存储步骤230时或者之 前,对每个传感器的值进行线性压缩,在第一存储器的第一数据库存储压缩的时序数据。这样,在执行数据重组步骤240时,就可以直接从第一数据库中获取多个传感器的每个传感器的压缩的时序数据,从而可以在第二存储步骤250中,在第二存储器的第二数据库中存储所获取的压缩的时序数据。
    所属技术领域的技术人员知道,按照预定的线性压缩方案生成的压缩的时序数据,可以通过线性插值被解压。就上文所述的线性压缩方案来说,例如,通过在连线P1-P2上进行数据插值,就可以得到解压的第2、3、4、5个时序数据,所得到的解压的第2、3、4、5个时序数据与原始的第2、3、4、5个时序数据之间的误差,可以控制在预定的范围内,以至于可以忽略不计。
    以上描述的用于处理时序数据的方法的过程,涉及对时序数据的存储,包括在第一存储器中暂存时序数据,将第一存储器中暂存的时序数据,转存到第二存储器;然后,又在第一存储器中临时存储时序数据。采用以上各实施例所示的方法,既能提高用临时存储器暂存来自海量的低频传感器的时序数据的使用效率,也能既能提高永久性存储时序数据的存储器的使用效率,从而提高整个数据库系统的性能。需要指出的是,图2所示的方法中的步骤的次序,仅仅是示例性的,在实践中可以有很多变化因此,图2所示的各个步骤的顺序,并不构成对本发明的严格限定。此外,除上文举例说明的压缩时序数据的方式外,本发明可以采用各种其它数据压缩算法压缩时序数据,例如采用标量压缩方法压缩时序数据。
    在按照上述方法存储了时序数据后,可以响应对时序数据的查询请求,执行查询。按照本发明一个实施例,对时序数据的查询,总体上包含以下步骤。
    S1.查询接收步骤,接收对时序数据的查询。
    S2.查询步骤,在第二存储器中执行对时序数据的查询。
    所属技术领域的技术人员明白,时序数据的查询方式,在很大程度上取决于时序数据的存储方式,包括时序数据的压缩方式和存储压缩的时序数据的数据结构,在具体实现中,可以根据时序数据的存储方式设计相应的检索程序。
    就上述的查询步骤而言,在第二存储器中压缩的时序数据的情况下,按照本发明一个实施例,该查询步骤可以进一步包含以下步骤:
    S21.查询转换步骤,将所接收的查询转换为对第二存储器中压缩的时序数据的查询;
    S22.压缩数据查询步骤,执行对第二存储器中压缩的时序数据的查询,获得查询结果;
    S23.解压步骤,将所获得的查询结果中压缩的时序数据进行解压。
    可选地,还可以在第一存储器中以与在第二存储器中类似的方式执行对时序数据的查询。这是因为,虽然第一存储器的主要作用是暂存从传感器接收的时序数据,但是第一存储器暂存时序数据的时间周期可能长达数日,因此,取决于查询涉及的传感器的时间范围,有可能需要在第一存储器中执行对时序数据的查询。
    以上说明了本发明的用于处理时序数据的方法的各种实施方式。按照同一个发明构思,本发明还提供用于处理时序数据的装置。
    参看图3,该图示出按照本发明一个实施例的装置300的示意性框图。装置300用于处理来自多个传感器的时序数据,其中,所述多个传感器被划分成多个传感器组,每个时序数据包含一个时间戳和一个值,该值与该时间戳相关联,如图所示,装置300总体上包含:数据接收???10、数据分组???20、第一存储控制???30、数据重组???40和第二存储控制???50。
    数据接收???10被配置得用于接收来自多个传感器的各个传感器的时序数据。
    数据分组???20被配置得用于将接收的各个传感器的时序数据分派到所述多个传感器组中该个传感器所属的传感器组;
    第一存储控制???30被配置得用于在第一存储器的第一数据库存储时序数据,使得被分派到所述多个传感器组中的同一个传感器组的多个时序数据被存储在第一数据库的至少一个数据库记录中。
    数据重组???40被配置得用于从第一数据库中获取多个传感器的各个传感器的时序数据。
    第二存储控制???50被配置得用于在第二存储器的第二数据库存储时序数据,使得同一个传感器的多个时序数据被存储在第二数据库的至少一个数据库记录中。
    按照本发明一个实施例,所述第二存储控制???50被配置得用于进一步按时间戳存储时序数据。
    按照本发明一个实施例,所述第二存储控制???50被配置得用于进一步按值存储时序数据。
    按照本发明一个实施例,装置300进一步包含用于计算来自每个传感器的值的概率分布函数PDF的???未予示出),并且所述第二存储控制???50被进一步配置得用于:根据所计算的PDF,为每个传感器的值划分多个值范围;按所划分的值范围存储时序数据,使得一个数据库记录中包含属于同一个值范围的值对应的时序数据。
    按照本发明一个实施例,装置300进一步包含:数据压缩???未予示出),被配置得用于针对每个传感器,对时序数据进行压缩,产生压缩的时序数据。
    按照本发明一个实施例,所述数据压缩??榘韵碌囊桓龌蚨喔觯河糜诙允毙蚴葜械氖奔浯两醒顾醯哪??;用于对每个传感器的时序数据中的值进行线性压缩的???。
    按照本发明一个实施例,所述第一存储控制???30被进一步配置得用于在第一存储器的第一数据库存储压缩的时序数据。
    按照本发明一个实施例,所述第二存储控制???50被进一步配置得用于在第二存储器的第二数据库存储压缩的时序数据。
    按照本发明一个实施例,装置300,进一步包含:查询接收???未予示出),被配置得用于接收对时序数据的查询;查询???未予示出),被配置得用于在第二存储器中执行对时序数据的查询。
    按照本发明一个实施例,所述查询??榘翰檠荒??,被配置得用于将所接收的查询转换为对第二存储器中压缩的时序数据的查询;压缩数据查询???,被配置得用于执行对第二存储器中压缩的时序数据的查询,获得查询结果;解压???,被配置得用于将所获得的查询结果中压缩的时序数据进行解压。
    以上说明了本发明的用于处理时序数据的装置的各种实施方式。由于上文已经详细说明了本发明的用于处理时序数据的方法的各种实施方式,在对用于处理时序数据的装置的各种实施方式的说明中,省略了与对用于处理时序数据的方法的各种实施方式的说明中重复的、或者可以从中导出的内容。
    附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个???、程序段或代码的一部分,所述???、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
    以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

    关 键 词:
    用于 处理 传感器 时序 数据 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:用于处理多个传感器的时序数据的方法和装置.pdf
    链接地址://www.4mum.com.cn/p-6156825.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03