CN110110007A - 数据管理方法及相关产品 - Google Patents
数据管理方法及相关产品 Download PDFInfo
- Publication number
- CN110110007A CN110110007A CN201910297512.1A CN201910297512A CN110110007A CN 110110007 A CN110110007 A CN 110110007A CN 201910297512 A CN201910297512 A CN 201910297512A CN 110110007 A CN110110007 A CN 110110007A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- stored
- database
- index mark
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例涉及数据处理技术领域,具体公开了一种数据管理方法及相关产品,包括:接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至ES数据库;接收数据获取请求,提取所述数据获取请求的标识信息;在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。本申请实施例有利于提高数据获取速度。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种数据管理方法及相关产品。
背景技术
随着科学技术的飞速发展,网络源源不断的产生新的数据,当产生新数据后,需将一些重要数据存储,以备后续使用,目前,一般将数据存储到Oracle数据库中进行保存,当后续需要使用该数据时,可以向Oracle数据库发起数据获取请求,在该数据获取请求中携带数据标识,依据该数据标识在Oracle数据库中遍历存储的数据,获取该数据标识对应的数据,实现对存储数据的调用,但是,当Oracle数据库中存储有海量数据时,遍历数据库的时间较长,响应数据请求缓慢。
现有技术中,从Oracle数据库获取数据的速度慢、方式单一、效率低、用户体验差。
发明内容
本申请实施例提供了一种数据管理方法及相关产品,分层存储数据信息,将索引标识同步至ES数据库,提高数据获取的速度。
第一方面,本申请实施例提供一种数据管理方法,该方法包括:
接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;
获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至所述ES数据库;
接收数据获取请求,提取所述数据获取请求的标识信息;
在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
第二方面,本申请实施例提供一种数据管理装置,该装置包括:
存储单元,用于接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;
同步单元,用于获取所述待存储数据信息在所述Oracle数据库中的索引标识,将所述索引标识同步至ES数据库;
接收单元,用于接收数据获取请求,提取所述数据获取请求的标识信息;
提取单元,用于在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
第三方面,本申请实施例提供一种数据管理装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第一方面所述的方法中的步骤的指令。
第四方面,本申请实施例提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一方面所述的方法。
实施本申请实施例,具有如下有益效果:
可以看出,在本申请实施例中,首先按照预设存储规则将待存储数据存储至Oracle数据库,并将存储至Oracle数据库所采用的索引标识同步至ES数据库,在接收到数据获取请求时,先从ES数据库中获取与该数据获取请求对应的索引标识,然后,依据该索引标识在Oracle数据库获取与该数据获取请求对应的数据信息,从而实现快速访问Oracle数据库,提高调取数据的速度,提高用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种数据管理方法的网络架构示意图;
图1B为本申请实施例提供的一种数据管理方法的流程示意图;
图1C为本申请实施例提供的一种存储待存储数据的结构示意图;
图1D为本申请实施例提供的一种同步索引标识的示意图;
图1E为本申请实施例提供的一种分层存储数据的示意图;
图1F为本本申请实施例提供的一种分层存储索引标识的示意图;
图2为本申请实施例提供的另一种数据管理方法的流程示意图;
图3为本申请实施例提供的一种数据管理装置的结构示意图;
图4为本申请实施例提供的一种数据管理装置的功能单元组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中的数据管理装置可以包括智能手机(如Android手机、iOS手机、WindowsPhone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(Mobile InternetDevices,简称:MID)或穿戴式设备等,上述数据管理装置仅是举例,而非穷举,包含但不限于上述数据管理装置,例如还可以包括:智能车载终端、计算机设备等等。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
Oracle数据库,一种关系型数据库,采用关系模型来组织数据的数据库,其关系模型指的就是二维表格模型,故Oracle关系型数据库由二维表及其之间的联系所组成的一个数据组织;ES数据库,一种非关系型数据库,存储理念以键值对存储,且结构不固定,每一个元组有不一样的字段,每个元组可以根据需要增加自己的键值对,不局限于固定的结构,减少时间和空间的开销;用户可以根据需求添加自己需要的字段。
优缺点比较:从非关系型数据库中获取数据信息时,不需像关系型数据库中获取数据时,需对多个表进行关联查询。仅需要根据id取出相应的value就可以查询数据信息,查询速度快。由于非关系型数据库存在很少的约束,很难提供像关系型数据库所提供的where这种对于字段属性值情况的查询,故只适合存储一些较为简单的数据,例如,存储索引标识;对于需要进行较复杂查询的数据、逻辑关系较复杂的数据信息,需要存放在关系型数据库。
首先,参阅图1A,图1A为一种数据管理方法的网络架构示意图,该网络架构图包括:客户端10、数据管理装置20,Oracle数据库30以及ES数据库40,其中,Oracle数据库30和ES数据库40为一封装组件,其中:
客户端10,用于向数据管理装置20发送数据存储请求;
数据管理装置20,用于接收数据存储请求,提取该数据存储请求中的待存储数据信息,按照预设存储规则将该待存储数据信息存储至Oracle数据库30;
数据管理装置20,还用于获取将该待存储数据信息在至Oracle数据库30中的第一索引标识,将该第一索引标识同步至ES数据库40;
客户端10,还用于向数据管理装置20发送数据获取请求;
数据管理装置20,还用于在接收到数据获取请求时,提取该数据获取请求对应的标识信息,从ES数据库40中获取与该标识信息对应的第二索引标识;
数据管理装置20,还用于从Oracle数据库30中提取与所述第二索引标识对应的数据信息。
可以看出,在本申请实施例中,在数据管理装置中封装好Oracle数据库和ES数据库,基于该封装组件,在存储数据信息时,先按照预设存储规则将待存储数据存储至Oracle数据库,并将存储至Oracle数据库所采用的索引标识同步至ES数据库,在接收到数据获取请求时,先从ES数据库中获取与该数据获取请求对应的索引标识,然后,依据该索引标识在Oracle数据库获取与该数据获取请求对应的数据信息,充分利用ES数据库可快速查询索引标识的特点,从而实现快速访问Oracle数据库,提高数据的获取速度,提高用户体验。
参阅图1B,图1B为本申请实施例提供的一种数据管理方法,该方法应用于数据管理系统,该数据管理系统包括数据管理装置以及Oracle数据库和ES数据库的封装组件,该方法包括如步骤S101~S104中所示的内容:
步骤S101、所述数据管理装置接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至所述Oracle数据库。
其中,该数据存储请求可以为针对任意客户数据信息的存储请求,该数据信息包含若干项数据信息,具体包括客户ID(例如,注册账号或者会员号)、银行卡信息(例如,银行卡号、开户行、开户类型)、信用等级、身份信息(如,年龄、职业)。
其中,该数据存储请求携带待存储数据信息。
可选的,按照预设存储规则将所述待存储数据信息存储至所述Oracle数据库的实现过程可以为:对所述待存储数据信息中的各项数据信息进行关键词识别,确定每项数据信息对应的关键词集群;将属于同一关键词集群的数据信息划分到同一数据维度,得到多个数据维度;获取所述多个数据维度中每个数据维度相对于所述待存储数据信息的重要等级;将重要等级最高的数据维度作为根节点,将所述多个数据维度中除重要等级最高的数据维度之外的其他数据维度作为子节点创建第一树模型;将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上,其中,所述节点包括所述第一树模型的根节点和子节点;将存储数据信息后的第一树模型存储至所述Oracle数据库。
具体来讲,首先预设关键词集群,每个关键词集群中包含若干个关键词,例如,预设身份信息关键词集群,其可以包括关键词:“姓名”、“性别”、“身份证号”、“身高”、“体重”,等等,在对各项数据信息进行关键词识别时,需对识别到的关键词进行属性分析,确定每个关键词的源属性,即源信息,判断该源属性对应的关键词集群,将该源属性对应的关键词集群作为该关键词对应的关键词集群,例如,识别出的关键词为138×××8733时,确定其对应的源属性为电话号码,再如,识别出的关键词为“张三”时,确定其对应的源属性为姓名,故在确定各项信息对应的关键词集群后,将属于同一个关键词集群的各项数据信息划分到同一数据维度,得到多个数据维度;例如,将“姓名”、“性别”、“身份证号”对应的数据信息划分到身份信息维度。
进一步地,获取所述多个数据维度中每个数据维度相对于所述待存储数据信息的重要等级的实现过程可以为:获取各个数据维度的标识信息,确定该标识信息是否具有唯一性,依据该标识信息是否具有唯一性确定每个数据维度的重要等级,其重要等级可以划分为高和低,如标识信息具有唯一性,确定该数据维度的重要等级为高,否则确定该数据维度的重要等级为低。举例来说,对于客户来说,客户ID和客户的身份证号的标识作用均具有唯一性,故其对应的重要等级为高,本申请中以客户ID作为具有唯一性的数据维度为例作具体说明,并不做唯一限定。可以看出,本申请构建的第一树模型与现有的随机森林算法构建的决策树模型相比,本申请中的子节点之间无重要性排序,即子节点处存储的数据信息之间无耦合关系。
进一步地,将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上的实现过程可以为:确定所述多个数据维度中每个数据维度对应的主题域;获取该主题域中主题数量;获取该主题域中每个主题对应的待存储数据信息的数量,确定该主题域中待存数据信息的数量最多的第一主题;以所述主题数量为行数,以所述第一主题对应的待存储数据信息的数量作为列数,创建该主题域对应的Excel表;将该主题域对应的待存储数据信息添加到所述Excel表中;将添加数据信息后的Excel表挂接在每个数据维度对应的节点处。
具体来讲,结合数据仓库理念,预先设置数据维度与主题域的对应关系,依据该对应关系获取每个数据维度对应的主题域,每个主题域中包含至少一个主题,每个主题在该数据维度下对应至少一项数据信息,举例来说,如数据维度为银行卡维度时,其对应的主题域为银行卡,该主题域中主题包括卡号、开户行、银行卡类型(例如,借记卡、信用卡、储蓄卡),等,故可以主题的数量为Excel表的行数,获取每个主题对应的待存储数据信息的数量,以待存储数据信息的最大数量作为Excel表的行数,构建Excel表,可以理解的是,如该Excel表中第一行存储的待存储数据信息和第二行存储的待存储数据信息之间存在依赖关系时,在将相关待存储数据信息添加至第一行和第二行时,将存在依赖关系的数据信息添加在该Excel表的同一列,以在获取数据信息时,从该列中提取出一份完整的数据信息。
举例来说,如图1C所示,数据维度包括客户ID维度、身份信息维度、申请信息维度以及银行卡信息维度,故以客户ID作为根节点,将ID号存储在该根节点处的Excel表,分别以身份信息维度、申请信息维度以及银行卡信息维度作为子节点,创建第一树模型,并将各个数据维度对应的待存储数据信息存储在各个节点处的Excel表,由于每张银行卡的卡号和开户行存在依赖关系,所以存储银行卡维度节点对应的数据信息时,将每张银行卡的卡号和开户行存储在Excel表的同一列,如第一列,表明该列数据信息为每张银行卡的完整信息。
步骤S102、所述数据管理装置获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至所述ES数据库。
可选的,获取所述待存储数据信息在所述Oracle数据库中的第一索引标识具体包括:获取每个节点的Excel表的主键信息,将该主键信息作为每个节点的索引标识,得到存储该待存储数据信息存储的索引标识;然后,将每个节点的索引标识存储在对应的节点处,以每个节点的索引标识构建与索引标识对应的第二树模型,如图1D所示,将与索引标识对应的树模型同步至ES数据库。
步骤S103、所述数据管理装置在接收到数据获取请求时,提取所述数据获取请求的标识信息,从所述ES数据库中获取与所述标识信息对应的第二索引标识。
可选的,从所述ES数据库中获取与所述标识信息对应的第二索引标识的实现过程可以为:遍历ES数据库中所有树模型的根节点,确定与该标识信息对应的第一根节点,遍历第一根节点所在的第一树模型的所有子节点,确定与该标识信息对应的第一子节点,读取第一根节点以及第一子节点处存储的索引标识,得到与所述标识信息对应的索引标识,可将第一根节点的索引标识作为一级索引标识,将第一子节点的索引标识作为二级索引标识。
步骤S104、在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,所述数据管理装置从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
可选的,第二索引标识中包括以及索引标识和二级索引标识,该二级索引标识为该一级索引标识的子索引标识,基于该一级索引标识,确定Oracle数据库中与该一级索引标识对应的树模型,基于该二级索引标识,确定该树模型中与该二级索引标识对应的子节点,提取该子节点存储的Excel表,从该Excel表中提取与该数据获取请求对应的数据信息。
可以看出,在本申请实施例中,基于Oracle数据库和ES数据库的封装组件,在将待存储数据存储至Oracle数据库时,将该待存储数据的索引标识存储至ES数据库,当接收到数据访问请求时,先在ES数据库中查询该数据访问请求的索引标识,再基于该索引标识从Oracle数据库获取对应的数据信息,由于ES数据库的访问速度快,所以,提高了数据的访问速度而且按照分层存储的方式将数据存储,所以,在获取数据时,无需遍历数据库中的所有数据,只需在对应层查询对应的数据,进一步提高从数据库中获取数据的速度,提高用户体验。
在一可能的示例中,在将存储数据信息后的树模型存储至所述Oracle数据库后,所述方法还包括:
获取所述Oracle数据库中已存储的树模型的数量;
在所述数量大于1时,将所述Oracle数据库已存储的数据信息分层存储。
可选的,在上述可能的示例中,将所述Oracle数据库已存储的数据信息分层存储的实现过程可以为:将所述Oracle数据库中已存储的树模型的根节点存放在同一数据存储层;确定所述已存储的树模型中每个树模型上各个子节点对应的主题域,将同一主题域的至少一个子节点存放在同一数据存储层,将不存在相同主题域的子节点单独存放在一数据存储层。如图1E所示,将客户1和客户2的客户ID,即两个树模型的根节点存放在第一数据存储层,两个树模型为同一主题域的子节点存放在同一数据存储层,如将银行卡存储、申请信息、身份信息分别存放在第二数据存储层。在对数据分层存储后,建立主题域与数据存储层的映射关系,以便依据主题域可查找出该主题域下的数据信息所在的数据存储层。
进一步地,在对已存储的数据信息分层存储之前,预先对数据存储层进行空间分配,其分配过程包括如下步骤:获取每个数据存储层待存储的数据维度;获取该数据维度对应的数据信息类型;获取该数据信息类型对应的存储概率,该存储概率为存储数据信息的所有客户中,存储有该数据维度对应的数据信息的客户在所有客户中的占比;根据该数据类型以及该存储概率计算每个数据存储层所需的存储空间;例如,数据维度为身份信息维度,该身份信息的数据信息类型包含面部图像,相比于其他的数据维度,该数据维度下的数据信息占空间较大,所以,预先划分出一个内存空间较大的数据存储层,以完全存储该数据维度下的数据信息,所以,对数据存储层预先划分存储空间,从而合理利用该存储资源,提高存储利用率。
每个数据存储层所需的存储空间的计算公式如下:
其中,Sj为第j个数据存储层所需的存储空间,pj为第j个数据存储层对应的数据信息类型的存储概率,N为当前时刻在第j个数据存储层存储数据信息的客户数量,Mj为每个客户第j个数据存储层中所需的存储空间,Sj为j个数据存储层中存储的数据信息中的字符数量,aij为该数据信息中第i个图片的像素宽度,bij为该数据信息中第i个图片的像素高度,ki为第i个图片中每个像素点所占的字节大小,n为第j个数据存储层中存储的数据信息中的图片数量,其中,当i=0时,表示不存在图片,即a0j=b0j=k0=0,i和j均为大于1的整数。
进一步地,在对Oracle数据库存储的数据信息进行分层存储后,获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至所述ES数据库的实现过程可以为:获取每个节点的Excel表的主键信息,将该主键信息作为每个节点的索引标识,得到该待存储数据信息的第一索引标识,然后,将每个节点的索引标识存储在对应的节点处,以每个节点的索引标识构建与索引标识对应的第三树模型,并将第三树模型按照Oracle数据库分层存储数据信息的方式将第三树模型上的索引标识分层存储,如图1F所示,将分层存储后的树模型同步至ES数据库。
可以理解的是,基于Oracle数据库分层存储数据信息以及ES数据库分层存储索引标识的方式,从ES数据库中获取与所述标识信息对应的第二索引标识的实现过程可以为:遍历ES数据库中第一数据存储层中的所有根节点,查询与标识信息对应的第一根节点,得到第一根节点对应的一级索引标识,然后,确定该标识信息对应的主题域,确定树模型中与该主题域对应的数据存储层,在该数据存储层中查询与该标识信息对应的二级索引标识,将该一级索引标识和二级索引标识组合得到该标识信息对应的第二索引标识。
进一步地,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息的实现过程可以为:在根节点的数据存储层中查询与一级索引标识对应的根节点;基于所述根节点,确定所述根节点所在的树模型;确定二级索引标识对应的主题域;确定所述树模型中所述主题域对应的数据存储层;获取所述数据存储层中的子节点处挂接的Excel表,从该Excel表中提取提取与所述第二索引标识对应的数据信息。故通过分层存储,在从Oracle数据库调取数据时,无需遍历Oracle数据库,只需在相应的数据存储层中查询与数据获取请求对应的数据信息,从而实现快速调取数据,提高了数据的访问速度。
在一可能的示例中,所述方法还包括:
在从所述ES数据库中未获取到与所述标识信息对应的索引标识时,所述数据管理装置检测在预设时长内是否向所述Oracle数据库中增添数据信息;
如是,所述数据管理装置将增添的数据信息的索引标识更新至所述ES数据库,在接收到所述ES数据库反馈的确认字符ACK时,基于所述数据获取请求的标识信息,从所述ES数据库中重新获取与所述标识信息对应的第二索引标识。
在上述可能的示例中,由于Oracle数据库和ES数据库的数据同步存在时间差,故在未获取到标识信息对应的索引标识,且在预设时间内存存信息的增添时,先执行同步操作,再从ES数据库获取索引标识,确保数据同步的一致性。
参阅图2,图2为本申请实施例提供的另一种数据管理方法,该方法应用于数据管理系统,该数据管理系统包括数据管理装置以及Oracle数据库和ES数据库的封装组件,该方法包括如步骤S201~S206中所示的内容:
步骤S201、所述数据管理装置接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至所述Oracle数据库。
步骤S202、所述数据管理装置获取所述Oracle数据库中已存储的树模型的数量,在所述数量大于1时,将所述Oracle数据库已存储的数据信息分层存储。
步骤S203、所述数据管理装置获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,按照分层存储方式将第一索引标识同步至所述ES数据库。
步骤S204、所述数据管理装置接收数据获取请求,提取所述数据获取请求的标识信息。
步骤S205、所述数据管理装置从ES数据库中获取与所述标识信息对应的第二索引标识。
步骤S206、所述数据管理装置从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
需要说明的是,图2所示的方法的各个步骤的具体实现过程可参见上述图1B所述方法的具体实现过程,在此不再叙述。
可以看出,在本申请实施例中,通过Oracle数据库和ES数据库的封装组件,将Oracle数据库中的索引标识同步至ES数据库,在接收到数据获取请求时,通过ES的快速获取数据的方式得到该数据获取请求对应的索引标识,在通过该索引标识在Oracle数据库中获取对应的数据信息,从而提高了数据的访问速度,提高用户体验。
与上述图1B、图2、所示的实施例一致的,请参阅图3,图3为本申请实施例提供的一种数据管理装置300的结构示意图,如图3所示,该数据管理装置300包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;
获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至ES数据库;
接收数据获取请求,提取所述数据获取请求的标识信息;
在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
在一可能的示例中,在按照预设存储规则将所述待存储数据信息存储至Oracle数据库时,上述程序具体用于执行以下步骤的指令:
对所述待存储数据信息中的各项数据信息进行关键词识别,确定每项数据信息对应的关键词集群;
将属于同一关键词集群的数据信息划分到同一数据维度,得到多个数据维度;
获取所述多个数据维度中每个数据维度相对于所述待存储数据信息的重要等级;
将重要等级最高的数据维度作为根节点,将所述多个数据维度中除重要等级最高的数据维度之外的其他数据维度作为子节点创建预设的树模型;
将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上,其中,所述节点包括所述树模型的根节点和子节点;
将存储数据信息后的树模型存储至Oracle数据库。
在一可能的示例中,在将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上时,上述程序具体用于执行以下步骤的指令:
确定所述多个数据维度中每个数据维度对应的主题域;
获取该主题域中主题数量;
获取该主题域中每个主题对应的待存储数据信息的数量,确定该主题域中待存数据信息的数量最多的第一主题;
以所述主题数量为行数,以所述第一主题对应的待存储数据信息的数量作为列数,创建该主题域对应的Excel表;
将该主题域对应的待存储数据信息添加到所述Excel表中;
将添加数据信息后的Excel表挂接在每个数据维度对应的节点处。
在一可能的示例中,在将存储数据信息后的树模型存储至Oracle数据库后,上述程序还用于执行以下步骤的指令:
获取Oracle数据库中已存储的树模型的数量;
在所述数量大于1时,将所述Oracle数据库已存储的数据信息分层存储。
在一可能的示例中,在将所述Oracle数据库已存储的数据信息分层存储时,上述程序具体用于执行以下步骤的指令:
将所述Oracle数据库中已存储的树模型的根节点存放在同一数据存储层;
确定所述已存储的树模型中每个树模型上各个子节点对应的主题域,将属于同一主题域的至少一个子节点存放在同一数据存储层,将不存在相同主题域的子节点单独存放在一数据存储层。
在一可能的示例中,当所述第二索引标识包括一级索引标识、二级索引标识时,在从所述Oracle数据库中提取与所述索引标识对应的数据信息时,上述程序具体用于执行以下步骤的指令:
在根节点的数据存储层中查询与所述一级索引标识对应的根节点;
基于所述根节点,确定所述根节点所在的树模型;
确定所述二级索引标识对应的主题域;
确定所述树模型中所述主题域对应的数据存储层;
获取所述数据存储层中的子节点处挂接的Excel表,从该Excel表中提取提取与所述第二索引标识对应的数据信息。
在一可能的示例中,上述程序还具体用于执行以下步骤的指令:
在从所述ES数据库中未获取到与所述标识信息对应的第二索引标识时,检测在预设时长内是否向所述Oracle数据库中增添数据信息;
如是,将增添的数据信息的索引标识更新至所述ES数据库,在接收到所述ES数据库反馈的确认字符ACK时,基于所述数据获取请求的标识信息,从所述ES数据库中重新获取与所述标识信息对应的第二索引标识。
参阅图4,图4示出了上述实施例中所涉及的数据管理装置400的一种可能的功能单元组成框图,数据管理装置400包括:存储单元410、同步单元420、接收单元430、提取单元440,其中:
存储单元410,用于接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;
同步单元420,用于获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至ES数据库;
接收单元430,用于接收数据获取请求,提取所述数据获取请求的标识信息;
提取单元440,用于在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
在一可能的示例中,在按照预设存储规则将所述待存储数据信息存储至Oracle数据库时,存储单元410,具体用于:对所述待存储数据信息中的各项数据信息进行关键词识别,确定每项数据信息对应的关键词集群;将属于同一关键词集群的数据信息划分到同一数据维度,得到多个数据维度;获取所述多个数据维度中每个数据维度相对于所述待存储数据信息的重要等级;将重要等级最高的数据维度作为根节点,将所述多个数据维度中除重要等级最高的数据维度之外的其他数据维度作为子节点创建预设的树模型;将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上,其中,所述节点包括所述树模型的根节点和子节点;将存储数据信息后的树模型存储至所述Oracle数据库。
在一可能的示例中,在将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上时,存储单元410,具体用于:确定所述多个数据维度中每个数据维度对应的主题域;获取该主题域中主题数量;获取该主题域中每个主题对应的待存储数据信息的数量,确定该主题域中待存数据信息的数量最多的第一主题;以所述主题数量为行数,以所述第一主题对应的待存储数据信息的数量作为列数,创建该主题域对应的Excel表;将该主题域对应的待存储数据信息添加到所述Excel表中;将添加数据信息后的Excel表挂接在每个数据维度对应的节点处。
在一可能的示例中,数据管理装置400还包括划分单元450,在将存储数据信息后的树模型存储至Oracle数据库后,用于获取Oracle数据库中已存储的树模型的数量;在所述数量大于1时,将所述Oracle数据库已存储的数据信息分层存储。
在一可能的示例中,在将所述Oracle数据库已存储的数据信息分层存储时,划分单元450,具体用于:将所述Oracle数据库中已存储的树模型的根节点存放在同一数据存储层;确定所述已存储的树模型中每个树模型上各个子节点对应的主题域,将属于同一主题域的至少一个子节点存放在同一数据存储层,将不存在相同主题域的子节点单独存放在一数据存储层。
在一可能的示例中,当所述第二索引标识包括一级索引标识、二级索引标识时,在从所述Oracle数据库中提取与所述索引标识对应的数据信息时,提取单元440,具体用于:在根节点的数据存储层中查询与所述一级索引标识对应的根节点;基于所述根节点,确定所述根节点所在的树模型;确定所述二级索引标识对应的主题域;确定所述树模型中所述主题域对应的数据存储层;获取所述数据存储层中的子节点处挂接的Excel表,从该Excel表中提取提取与所述第二索引标识对应的数据信息。
在一可能的示例中,数据管理装置400,还包括更新单元460,用于:在从所述ES数据库中未获取到与所述标识信息对应的第二索引标识时,检测在预设时长内是否向所述Oracle数据库中增添数据信息;如是,将增添的数据信息的索引标识更新至所述ES数据库,在接收到所述ES数据库反馈的确认字符ACK时,基于所述数据获取请求的标识信息,从所述ES数据库中重新获取与所述标识信息对应的第二索引标识。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于存储计算机程序,其中,该计算机程序被处理器执行,以实现如上述方法实施例中记载的任何一种数据管理方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种数据管理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据管理方法,其特征在于,所述方法包括:
接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;
获取所述待存储数据信息在所述Oracle数据库中的第一索引标识,将所述第一索引标识同步至ES数据库;
接收数据获取请求,提取所述数据获取请求的标识信息;
在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
2.根据权利要求1所述的方法,其特征在于,所述按照预设存储规则将所述待存储数据信息存储至Oracle数据库具体包括:
对所述待存储数据信息中的各项数据信息进行关键词识别,确定每项数据信息对应的关键词集群;
将属于同一关键词集群的数据信息划分到同一数据维度,得到多个数据维度;
获取所述多个数据维度中每个数据维度相对于所述待存储数据信息的重要等级;
将重要等级最高的数据维度作为根节点,将所述多个数据维度中除重要等级最高的数据维度之外的其他数据维度作为子节点创建预设的树模型;
将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上,其中,所述节点包括所述树模型的根节点和子节点;
将存储数据信息后的树模型存储至Oracle数据库。
3.根据权利要求2所述的方法,其特征在于,所述将所述多个数据维度各自对应的待存储数据信息存储在对应的节点上具体包括:
确定所述多个数据维度中每个数据维度对应的主题域;
获取该主题域中主题数量;
获取该主题域中每个主题对应的待存储数据信息的数量,确定该主题域中待存数据信息的数量最多的第一主题;
以所述主题数量为行数,以所述第一主题对应的待存储数据信息的数量为列数,创建该主题域对应的Excel表;
将该主题域对应的待存储数据信息添加到所述Excel表中;
将添加数据信息后的Excel表挂接在每个数据维度对应的节点处。
4.根据权利要求2或3所述的方法,其特征在于,所述在将存储数据信息后的树模型存储至Oracle数据库后,所述方法还包括:
获取Oracle数据库中已存储的树模型的数量;
在所述数量大于1时,将所述Oracle数据库已存储的数据信息分层存储。
5.根据权利要求4所述的方法,其特征在于,所述将所述Oracle数据库已存储的数据信息分层存储具体包括:
将所述Oracle数据库中已存储的树模型的根节点存放在同一数据存储层;
确定所述已存储的树模型中每个树模型上各个子节点对应的主题域,将属于同一主题域的至少一个子节点存放在同一数据存储层,将不存在相同主题域的子节点单独存放在一数据存储层。
6.根据权利要求5所述的方法,其特征在于,当所述第二索引标识包括一级索引标识、二级索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息具体包括:
在根节点的数据存储层中查询与所述一级索引标识对应的根节点;
基于所述根节点,确定所述根节点所在的树模型;
确定所述二级索引标识对应的主题域;
确定所述树模型中所述主题域对应的数据存储层;
获取所述数据存储层中的子节点处挂接的Excel表,从该Excel表中提取提取与所述第二索引标识对应的数据信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在从所述ES数据库中未获取到与所述标识信息对应的第二索引标识时,检测在预设时长内是否向所述Oracle数据库中增添数据信息;
如是,将增添的数据信息的索引标识更新至所述ES数据库,在接收到所述ES数据库反馈的确认字符ACK时,基于所述数据获取请求的标识信息,从所述ES数据库中重新获取与所述标识信息对应的第二索引标识。
8.一种数据管理装置,其特征在于,所述装置包括:
存储单元,用于接收数据存储请求,提取所述数据存储请求中的待存储数据信息,按照预设存储规则将所述待存储数据信息存储至Oracle数据库;
同步单元,用于获取所述待存储数据信息在所述Oracle数据库中的索引标识,将所述索引标识同步至ES数据库;
接收单元,用于接收数据获取请求,提取所述数据获取请求的标识信息;
提取单元,用于在从所述ES数据库中获取到与所述标识信息对应的第二索引标识时,从所述Oracle数据库中提取与所述第二索引标识对应的数据信息。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行权利要求1-7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,其用于存储计算机程序,其中,所述计算机程序被处理器执行,以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910297512.1A CN110110007A (zh) | 2019-04-15 | 2019-04-15 | 数据管理方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910297512.1A CN110110007A (zh) | 2019-04-15 | 2019-04-15 | 数据管理方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110110007A true CN110110007A (zh) | 2019-08-09 |
Family
ID=67483922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910297512.1A Pending CN110110007A (zh) | 2019-04-15 | 2019-04-15 | 数据管理方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110007A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914020A (zh) * | 2020-06-18 | 2020-11-10 | 北京旷视科技有限公司 | 数据同步方法及装置、数据查询方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014141802A1 (ja) * | 2013-03-12 | 2014-09-18 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
CN107807932A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于路径枚举的层级数据管理方法和系统 |
CN108717432A (zh) * | 2018-05-11 | 2018-10-30 | 腾讯科技(深圳)有限公司 | 资源查询方法及装置 |
CN109086409A (zh) * | 2018-08-02 | 2018-12-25 | 泰康保险集团股份有限公司 | 微服务数据处理方法、装置、电子设备及计算机可读介质 |
-
2019
- 2019-04-15 CN CN201910297512.1A patent/CN110110007A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014141802A1 (ja) * | 2013-03-12 | 2014-09-18 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
CN107807932A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于路径枚举的层级数据管理方法和系统 |
CN108717432A (zh) * | 2018-05-11 | 2018-10-30 | 腾讯科技(深圳)有限公司 | 资源查询方法及装置 |
CN109086409A (zh) * | 2018-08-02 | 2018-12-25 | 泰康保险集团股份有限公司 | 微服务数据处理方法、装置、电子设备及计算机可读介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914020A (zh) * | 2020-06-18 | 2020-11-10 | 北京旷视科技有限公司 | 数据同步方法及装置、数据查询方法及装置 |
WO2021253688A1 (zh) * | 2020-06-18 | 2021-12-23 | 北京旷视科技有限公司 | 数据同步方法及装置、数据查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110006A (zh) | 数据管理方法及相关产品 | |
US10579827B2 (en) | Event processing system to estimate unique user count | |
US9507807B1 (en) | Meta file system for big data | |
CN104424287B (zh) | 数据查询方法和装置 | |
CN103810224B (zh) | 信息持久化和查询方法及装置 | |
WO2017067117A1 (zh) | 数据查询方法和装置 | |
CN103020078B (zh) | 分布式实时数据库数据层次索引方法 | |
WO2015027425A1 (zh) | 存储数据的方法和装置 | |
CN109299157B (zh) | 一种分布式大单表的数据导出方法及装置 | |
CN111026874A (zh) | 知识图谱的数据处理方法及服务器 | |
CN103248677B (zh) | 互联网行为分析系统及其工作方法 | |
CN103856462B (zh) | 一种会话的管理方法及系统 | |
CN110471900A (zh) | 数据处理方法及终端设备 | |
CN106126583A (zh) | 一种分布式图数据库的集群强一致性处理方法及系统 | |
CN104391908B (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
CN103678550A (zh) | 一种基于动态索引结构的海量数据实时查询方法 | |
CN104298785A (zh) | 一种众搜资源搜索方法 | |
CN103902548B (zh) | 一种访问数据库的系统和方法及注册、订票、网购系统 | |
CN110134698A (zh) | 数据管理方法及相关产品 | |
CN107070645A (zh) | 比较数据表的数据的方法和系统 | |
US20110179013A1 (en) | Search Log Online Analytic Processing | |
CN104636368B (zh) | 数据检索方法、装置及服务器 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN108509545A (zh) | 一种文章的评论处理方法及系统 | |
CN110119396A (zh) | 数据管理方法及相关产品 |
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 |