数据存储系统及其方法和数据分析系统及其方法

文档序号:9929574阅读:369来源:国知局
数据存储系统及其方法和数据分析系统及其方法
【技术领域】
[0001] 本发明设及计算机和通信技术领域,尤其设及数据存储方法及装置和数据分析方 法及装置。
【背景技术】
[0002] 当大量、多种类数据实时传输并存储时,需要能够快速、有序地存储、从而方便快 速、有序地查询。现有技术中,存储的数据种类通常是预先设定好的,不能随意增加的新的 数据种类,即使新增加了,在存储时也会被认为是异常而被丢弃。
[0003] 例如,在大数据统计分析中,每时每刻都可能会有大量数据产生,统计的数据种类 可能会随着用户的需求的不同而变化,因此,要求能够更灵活地对数据种类进行增加或者 改变。但现有的数据统计分析工具在需要增加新的数据种类时,往往需要对统计分析工具 进行升级或重新安装,不仅服务器侧需要升级或重新安装,客户端侧也要进行相应的升级 或重新安装,运对于使用统计分析工具的用户(例如电子商务平台或者APP开发者)来说,比 较麻烦。如果重新安装,还可能存在不能将W往的数据导入新的统计分析工具中或者造成 某些数据的丢失的,因此,目前的统计分析工具缺少灵活性,不适应快速发展、变化的电商 经营者及APP开发者的需求,导致其统计分析结果只具有一定程度的参考价值,不能很大程 度上地依赖。因此,需要有一种灵活的数据存储机制。

【发明内容】

[0004] 为解决现有存在的技术问题,本发明提供一种数据存储系统及方法,其能将连续 不断的数据有序、快速地进行存储,并使得对存储的数据的查询更高效。
[0005] 为达到上述目的,本发明实施例的技术方案是运样实现的:
[0006] 根据本发明的一个方面,提供一种数据存储系统,其包括:数据获取装置,其适于 获取需要存储的数据;数据解析装置,其适于将所述数据获取装置获取的所述需要存储的 数据进行解析,获得需要存储的数据的特征并确定存储位置;元数据记录装置,其适于记录 所述需要存储的数据的元数据信息,所述元数据信息包括所述需要存储的数据的特征及存 储位置;W及数据存储装置,其适于基于所述元数据记录装置记录的元数据信息,将所述数 据解析装置解析出的数据存储在相应的存储位置。
[0007] 根据本发明的另一方面,提供一种数据存储方法,其包括:获取需要存储的数据; 对所述需要存储的数据进行解析,获得需要存储的数据的特征并确定其存储位置;记录所 述需要存储的数据的元数据信息,所述元数据信息包括所述需要存储的数据的特征及存储 位置;W及基于所记录的元数据信息,将所述解析出的数据存储在相应的存储位置。
[000引根据本发明的又一方面,提供一种数据查询装置,其适于对根据前面所述的数据 存储系统存储的数据进行查询,其包括:第一接收模块,其适于接收来自WEB前端的查询请 求,所述查询请求包含一个或多个查询条件和一个或多个显示参数;第二解析模块,其适于 基于所述数据存储系统的元数据记录装置中记录的元数据信息解析所述查询请求,获得解 析结果;查询机制建立模块,其适于基于所述第二解析模块的解析结果建立查询机制;第一 查询模块,其适于根据所建立的查询机制查询所述数据存储系统中的数据存储装置中的数 据,获得查询结果;第一存储模块,其适于存储所述查询结果,W及第一发送模块,其适于将 所述查询结果发送给所述W邸前端。
[0009]根据本发明又一方面,提供一种数据查询方法,其对根据前面所述的数据存储方 法存储的数据进行查询,其包括:获取来自WEB前端的查询请求,所述查询请求包含一个或 多个查询条件和一个或多个显示参数;基于被存储的数据的元数据信息,解析所述查询请 求中包含的查询条件和显示参数,获得解析结果;基于所述解析结果构建查询机制;基于所 构建的查询机制查询所述存储的数据,获取查询结果;W及将所述查询结果发送至所述WEB 前端。
[0010]根据本发明的又一方面,提供一种数据展现系统,其包括:显示装置,其位于WEB前 端,适于接收使用者对查询条件和显示参数的输入、W及显示基于所述查询条件和显示参 数所获得的查询结果;第二接收模块,其位于WEB服务器中,适于接收所述查询条件和显示 参数,并传送至根据前面所述的数据查询装置;根据前面所述的数据查询装置,适于根据所 述查询条件和显示参数,查询前面所述的数据存储系统中的数据存储装置存储的数据,获 得查询结果;W及获取模块,其位于WEB服务器中,适于从所述数据查询装置中获取所述查 询结果,并将所述查询结果发送至所述显示装置。
[0011] 根据本发明的又一方面,提供一种数据展现方法,包括:接收使用者输入的查询条 件和显示参数;根据所述查询条件和显示参数,采用前面所述的数据查询方法,查询根据前 面所述的数据存储方法存储的数据,获得查询结果;W及将所述查询结果发送至W邸前端进 行展现。
[0012] 根据本发明的又一方面,提供一种数据分析系统,其包括:数据采集系统,其适于 从客户端和/或服务器中采集数据,所述采集的数据包含根据用户需求而设置的多个数据 种类;数据传输系统,其适于将所述数据采集系统所采集的数据进行提取、转换并传输;根 据前面所述的数据存储系统,其适于将所述数据传输系统传输的数据进行存储、并记录相 应的元数据信息;W及根据前面所述的数据展现系统,其适于基于使用者输入的查询条件 和显示参数,查询所述数据存储系统存储的数据并获取查询结果,然后显示在W邸前端。
[0013] 根据本发明的又一方面,提供一种数据分析方法,其包括:从客户端和/或服务器 中采集数据,所述采集的数据包含根据用户需求而设置的多个数据种类;将所述采集的数 据进行提取、转换并传输;将所述传输的数据根据前面所述的数据存储方法进行存储、并记 录相应的元数据信息;W及根据前面所述的数据展现方法,基于使用者输入的查询条件和 显示参数,从所述存储的数据中获得查询结果并在W邸前端显示。
【附图说明】
[0014] 在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相 似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图W示例而 非限制的方式大体示出了本文中所讨论的各个实施例。
[0015] 图1示出了根据本发明的一种实施方式的数据存储系统的结构示意图;
[0016] 图2示出了根据本发明的一种实施方式的数据分析系统的结构示意图;W及
[0017] 图3示出了根据本发明的一种实施方式的数据解析装置的结构示意图;
[0018] 图4示出了根据本发明的一种实施方式的第二注册模块的结构示意图;
[0019] 图5示出了根据本发明的一种实施方式的存储位置选择模块的结构示意图;
[0020] 图6示出了根据本发明的一种实施方式的数据存储方法的流程图;
[0021] 图7示出了本发明的对新的自定义属性进行注册的方法的一种实施例的流程图;
[0022] 图8示出了本发明的为新的自定义属性选择用于存储的列的方法的一种实施例的 流程图;
[0023] 图9示出了根据本发明的一种实施方式的数据查询装置的结构示意图;
[0024] 图10示出了根据本发明的一种实施方式的数据查询方法的流程图;
[0025] 图11示出了根据本发明的一种实施方式的数据展现系统的结构示意图;
[0026] 图12示出了根据本发明的一种实施方式的显示装置的显示界面的例子;
[0027] 图13示出了根据本发明的一种实施方式的数据展现方法的流程图;W及
[0028] 图14示出了根据本发明的一种实施方式的数据分析方法的流程图。
【具体实施方式】
[0029] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可W W各种形式实现本公开而不应被运里阐述的实施例 所限制。相反,提供运些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0030] 在本发明中,使用本发明的数据存储系统及方法存储数据或者使用本发明的数据 分析系统及方法进行数据分析的公司或者人,统一称为"使用者",而对于使用"使用者"的 产品的人或者公司统一称为"用户"。
[0031] 本发明的数据存储系统及方法主要针对大量数据的采集且所采集的数据中包含 的数据种类会存在变化的情形。在运种情形下,对于解析出的新增加的数据种类的数据寻 找到恰当的存储位置,从而才能实现对所采集的大量数据分口别类地有序存储。已有的方 式是,对于数据种类的分类都已经事先设定好,该数据种类的存储位置也事先确定,当获取 到新数据时,判断所述新数据是否属于已确定的数据种类,如果属于,则存储在指定的位 置,如果不属于,则视为异常或错误而丢弃。运种存储方式不适应当采集的数据在后期有大 量新数据种类出现的情形。运里数据种类泛指可W作为一组数据而存储在一起的划分方 式。
[0032] 图1示出了根据本发明的一种实施方式的数据存储系统的结构示意图。如图1所 示,本发明的数据存储系统100包括数据获取装置110、数据解析装置120、元数据记录装置 130、W及数据存储装置140。
[0033] 其中,数据获取装置110适于获取需要存储的数据。运里,所述需要存储的数据为 从客户端或服务器侧所采集的数据经过转换、处理后需要进行存储的数据,例如所述需要 进行存储的数据已经被转换成JSON格式,由数据获取装置110所接收。另外,所述需要存储 的数据会随时间而不断变化,例如在大数据分析中,会有大量数据不断地被采集。运里数据 的变化不限于数据的数量的变化(增加或者删除),也包括数据种类的变化。例如当对新开 发的应用APP进行统计时,最开始可能只需要统计注册人数,随着所述APP的不断推广,则可 能增加对不同省份注册所述APP的人数的统计,还可能增加对注册所述APP的人数中男女性 别的统计等等,运时数据种类就从注册人数进一步细分出按地域划分的人数、W及按性别 划分的人数两个数据种类。在不同的阶段,根据不同的需求,可能会改变(包括增加和删除) 对不同种类的数据的采集,在运种情况下,采集的数据种类改变时,对应的存储也要求相应 地发生改变。
[0034] 所述需要存储的数据根据需要可W被分为多个类别,例如可W被分为第一类别和 第二类别。例如,在数据分析中,将所采集的数据分为事件类别和用户类别两大类别。运里 并不限定划分两个类别,可W根据需要不划分类别、或者划分为=个W上的类别等等。
[0035] 每个类别中还可W进一步包含一个或多个子类别,W对各个类别进行具体的区 分,例如,对于新开发的购买产品的应用APP,其事件类别可W进一步分为启动应用事件、注 册会员事件、浏览产品事件、购买产品事件、绑定银行卡事件等具体事件运些子类别。
[0036] 每个子类别可W分别具有多种属性,所述属性可W包括预置属性和/或自定义属 性。每种属性包含属性名及属性值,每种属性的属性值的数据类型都只能是一种数据类 型,而不能为两种或两种W上的数据类型,且数据类型是固定不变的,例如,本发明的数据 类型可W包括数字类型(numerical)、字符串类型(S化ing)、日期类型(data)、日期时间类 型(datatime)、布尔类型(boolean)、W及由字符串集合而形成的复合类型(Xist)等等。例 如,对于"购买产品"事件的一个事件属性"设备类型",其属性值只能为"苹果"、"立星"、"华 为"等字符串,如果所采集到的该属性的属性值为"12"运样一个数字,则该"12"的属性值则 被视为异常或错误。
[0037] 所述预置属性是某一数据类别下所有子类别都共同包含的属性,其被预先设定 好,例如其对应的属性值的数据类型W及存储位置都会预先在元数据记录装置130中记录 好,不能再被改变。例如,对于事件运一类别下的所有具体事件(即子类别),如果都需要获 取购买者使用的设备制造商、设备型号、省份、城市等属性的数据,则将运些属性都可W设 置为预置属性,运样,每当采集事件类别有关的数据时,对于所有具体事件,都会采集运些 属性的数据。
[0038] 自定义属性,是用户自己根据需要设置的,既可W在程序安装前就设置好,也可W 在程序安装之后再设置。对于在程序安装前设置好的自定义属性,其对应的的数据类型、W 及存储位置都已经事先确定(即后面提及的元数据信息已经事先记录好)。在程序安装之 后,可W根据需要添加、修改、或者删除自定义属性,从而增加了程序的灵活性。对于程序安 装之后设置的自定义属性,并没有事先做很多限制,例如并不限制其属性值对应的数据类 型、W及存储位置。对于每个自定义属性,其属性值的数据类型由第一次该自定义属性的属 性值的数据类型确定,一旦确定了数据类型,如果采集到的该自定义属性的属性值为其它 数据类型,则视为异常而被抛弃。而自定义属性的属性值的存储位置从数据存储装置140中 的可用存储空间中进行选择,在选定存储位置后,则该自定义属性的所有属性值都存储在 该存储位置。运样,可W将各类别下各个子类别的数据按照属性而存储在不同的存储位置。 对于自定义属性,例如在"买入黄金"运一事件中,"商品名称"、"店铺名称"、"商品类型"、 "商品价格"等都可W被设置为自定义属性。
[0039] 由于自定义属性的设置的灵活性,使得可W根据需求在任何时候对子类别的属性 进行设置,从而使得能够采集到想要的数据或者将数据进行想要的划分。
[0040] 同样地,本发明的数据类别、W及数据类别中的子类别也可W根据需要添加、删 除。
[0041] 由于本发明的数据类别、子类别、子类别的属性可能根据需要而变化(添加或者删 除),从而采集到的数据也会发生变化,对于运些基于类别、子类别、子类别的属性等被划分 成的诸多种类的数据如何有序地进行存储决定着能否充分利用所采集的数据,例如对于新 出现的自定义属性的存储位置的确定、对于已确定存储位置的自定义属性的不断增加的属 性值的存储等等都非常重要。
[0042] 由于数据获取装置110获取的数据可能具有不同的类别、子类别、属性等等特征, 为了对运些数据进行有序的存储,需要先由数据解析装置120对运些数据进行解析,例如解 析出运些数据的特征:类别、子类别、属性(预置属性和自定义属性)等等,然后根据运些数 据的特征,确定其在数据存储装置140中的存储位置,并在元数据记录装置130中将数据的 特征及存储位置运些信息记录成为元数据信息,运样,对于W后具有同样特征的数据则可 W根据元数据记录装置130中记录的相关的元数据信息,即可知道存储在数据存储装置140 中的相应位置。关于数据解析装置120将在后面结合例子详细说明。
[0043] 其中,元数据记录装置130可W是服务器中的存储设备,主要是用来存储元数据信 息。元数据记录装置130可W根据数据的类别而分成多个记录单元,例如,当数据类别包含 第一类别和第二类别时,可W将与第一类别数据有关的元数据信息记录在第一记录单元 中,将与第二类别数据有关的元数据信息记录在第二记录单元中。运样,也方便对不同类别 的数据的元数据信息的查找。当然,本发明不限定记录单元的划分,元数据记录装置130也 可W整体作为一个记录单元。另外,元数据信息可W包括不同类别的数据的元数据信息,还 可W包括不同类别的元数据之间的关系的元数据信息,还可W包括关于数据映射关系的元 数据信息等,本发明并不对此进行限定,可W根据需要采用适合的方式。例如,对于不同类 别的元数据记录可W通过一个或多个元数据表进行描述,多个元数据表之间相互关联。
[0044] 数据存储装置140可W由多种存储设备来实现,当存储大量数据时,也可W由服务 器来实现,例如存储服务器、Vertica数据库服务器。如前面所述,当需要存储的数据包含多 个类别时,可W将不同的类别分别存储在数据存储装置140中的不同存储单元,例如,当存 在两种类别的数据时,可W将第一类别数据存储在第一存储单元,将第二类别数据存储在 第二存储单元中,运样从类别上将数据分别存放,也方便后续的查询。运里,存储单元可W 是数据存储装置140中的不同的内部磁盘空间,也可W-个磁盘空间中不同部分,本发明对 此并不做任何限定。
[0045] 下面,W数据分析为例具体介绍本发明的数据存储系统。但需要说明的是,本发明 并不限于用于数据分析运一领域,其可W适用于任何需要对存在新的数据种类产生的大量 数据进行存储的情形。
[0046] 数据分析是指基于大规模数据而做出的统计和分析。在数据分析过程中需要采集 大量的数据并对其进行统计、分析,其中会设及大量数据的存储。数据分析可W根据不同的 标准进行划分,通常可W包括用于追踪或记录用户行为或业务过程的事件分析;用于分析 一个多步骤(包括至少两个W上步骤)过程中每一步的转化与流失情况的漏斗分析;用来分 析用户参与情况/活跃程度的留存分析;和分析用户对产品的依赖程度的回访频率分析等 等,本发明并不限于数据分析的类型,可W包括所述的运些数据分析类型中的一种或多种, 也可W包括除上面所列数据分析类型之外的其它数据分析类型。
[0047]图2示出了根据本发明的一种实施方式的数据分析系统的结构示意图。如图2所 示,本发明的数据分析系统200包括数据采集系统230、数据传输系统240、数据存储系统 100、W及数据展现系统260。
[004引其中,数据采集系统230适于从客户端210和/或服务器220侧采集数据。通常,数据 采集系统230从客户端210和/或服务器220侧的后端、或者前端和后端采集数据(一般只从 前端采集数据容易导致采集到的数据不全面),可W通过多种方式来实现:
[0049] 第一种方式是批量方式采集数据,即一次导入一批数据。通常是在客户端或服务 器中将一段时间的数据按照规定的数据格式写在一个文件中,然后将写好数据的文件上传 至数据采集系统230,数据采集系统对数据格式、内容进行校验,如果没有问题,则交付数据 传输系统240进行处理;
[0050] 第二种方式是通过在客户端或服务器中的LogAgent实时采集数据。LogAgent是独 立运行的进程,对指定目录中的日志文件进行追踪(Tail),将追踪到的内容发送至数据采 集系统230;
[0051 ]第S种方式是通过客户端210和服务器220侧的SDK实时采集数据,然后由SDK将采 集到的数据发送至数据采集系统230。
[0052] 通常,在不同的设备上可能会安装不同的SDK。例如,在使用IOS操作系统或安卓操 作系统的客户端210上安装Amlroid/IOS的SDK,在使用PC机的客户端210和服务器220上安 装化va/PHP/Py thon语言的SDK、在Web端安装JS语言的SDK。在实际中,数据采集系统230可 能通过运几种SDK同时获取数据。
[0053] 例如,化巾曰/?册/?八11〇11语言开发的SDK主要用来获取PC机端的数据,在后端处理 一个业务逻辑(比如用户购买行为)后,发送一条事件有关的数据记录(例如化ack记录,运 里化ack表示运个记录与事件有关)给数据采集系统230;在用户
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1