CN110019212B - 一种数据处理方法、装置及数据库服务器 - Google Patents

一种数据处理方法、装置及数据库服务器 Download PDF

Info

Publication number
CN110019212B
CN110019212B CN201711225369.2A CN201711225369A CN110019212B CN 110019212 B CN110019212 B CN 110019212B CN 201711225369 A CN201711225369 A CN 201711225369A CN 110019212 B CN110019212 B CN 110019212B
Authority
CN
China
Prior art keywords
record
primary key
processing
key name
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
CN201711225369.2A
Other languages
English (en)
Other versions
CN110019212A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201711225369.2A priority Critical patent/CN110019212B/zh
Publication of CN110019212A publication Critical patent/CN110019212A/zh
Application granted granted Critical
Publication of CN110019212B publication Critical patent/CN110019212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据处理方法、装置及数据库服务器,数据处理方法包括:获取数据处理请求,该数据处理请求中携带对与待处理数据相关的至少一条记录中各记录的处理方式;根据数据处理请求中与待处理数据相关的第一记录中的主键名称及主键值,从已存储的记录中查找第一记录;判断数据处理请求中与待处理数据相关的预设处理信息中是否包括第一记录中的非主键名称;若是,则从第一记录中提取非主键名称的取值;根据非主键名称及非主键名称的取值,从已存储的记录中查找与待处理数据相关的第二记录;按照对第一记录的处理方式对第一记录进行处理,并按照对第二记录的处理方式对第二记录进行处理。通过本方案可以提高数据的处理效率。

Description

一种数据处理方法、装置及数据库服务器
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据处理方法、装置及数据库服务器。
背景技术
针对云计算对于大规模分布式服务和分布式存储的需求,特别是在超大规模和高并发的应用场景下,使用传统的关系数据库来存储和查询数据已经暴露出很多难以克服的问题,例如需要很高的实时插入性能;需要海量的存储能力,同时还需要非常快的查询检索速度等。基于上述需求,非关系型数据库NoSQL应运而生,NoSQL用于超大规模数据的存储,具有高可扩展性、分布式计算、低成本等特点。NoSQL主要可以分为列存储、文档存储和图形存储等类型。其中,列存储类型,如Cassandra、HBase、Riak等,以拥有非常灵活的数据模型和弹性集群扩展能力等优势在网络社交云计算方面得以广泛应用。
在列存储类型的NoSQL数据模型中,数据库服务器以例如列表的方式对数据进行记录,并使用一个主键来唯一标识化一条记录。在进行数据处理时,应用端基于数据的基本属性向数据库服务器发送数据处理请求,数据库服务器在接收到数据处理请求后,查找将数据的基本属性作为主键的记录,对该记录进行处理。
但是,在实际情况中,与一个数据相关的记录往往存在多条,在进行数据处理时,需要应用端针对每一条记录向数据库服务器发送数据处理请求,也就是,应用端在请求处理之前,需要获知每一条记录的主键,这样,使得不仅应用端的实现复杂,而且应用端与数据库服务器的交互数据较多、消耗较大,大大影响数据处理的效率。
发明内容
本发明实施例的目的在于提供一种数据处理方法、装置及数据库服务器,以提高数据处理的效率。具体技术方案如下:
第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:
获取数据处理请求,其中,所述数据处理请求中携带对与待处理数据相关的至少一条记录中个记录的处理方式,所述数据处理请求中包括与所述待处理数据相关的第一记录中的主键名称、主键值以及与所述待处理数据相关的预设处理信息;
根据所述主键名称及所述主键值,从已存储的记录中查找所述第一记录;
判断所述预设处理信息中是否包括所述第一记录中的非主键名称;
若是,则从所述第一记录中提取所述非主键名称的取值;
根据所述非主键名称及所述非主键名称的取值,从已存储的记录中查找与所述待处理数据相关的第二记录,其中,所述第二记录中的主键名称为所述第一记录中的所述非主键名称、所述第二记录中的主键值为所述第一记录中所述非主键名称的取值;
按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,并按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理。
可选的,在所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称之前,所述方法还包括:
提取所述预设处理信息中的预设位参数;
判断所述预设位参数是否为预设标识;
若是,则执行所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称。
可选的,在所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称之后,所述方法还包括:
若否,则按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理。
可选的,在所述从所述第一记录中提取所述非主键名称的取值之前,所述方法还包括:
保存所述预设处理信息中所述第一记录中的所述非主键名称;
在所述从所述第一记录中提取所述非主键名称的取值之后,所述方法还包括:
更新已存储的所述非主键名称的取值;
所述按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理,包括:
根据所述预设处理信息中的所述非主键名称、以及更新后的所述非主键名称的取值,确定对所述第二记录进行处理的数据参数;
基于所述数据参数,对所述第二记录进行处理。
可选的,所述处理方式包括:更新操作及删除操作;
所述按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,包括:
若所述数据处理请求中携带的对所述第一记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第一记录进行更新;
若所述数据处理请求中携带的对所述第一记录的处理方式为删除操作,则删除所述第一记录;
所述按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理,包括:
若所述数据处理请求中携带的对所述第二记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第二记录进行更新;
若所述数据处理请求中携带的对所述第二记录的处理方式为删除操作,则删除所述第二记录。
第二方面,本发明实施例提供了一种数据处理装置,所述装置包括:
获取模块,用于获取数据处理请求,其中,所述数据处理请求中携带对与待处理数据相关的至少一条记录中各记录的处理方式,所述数据处理请求中包括与所述待处理数据相关的第一记录中的主键名称、主键值以及与所述待处理数据相关的预设处理信息;
第一查找模块,用于根据所述主键名称及所述主键值,从已存储的记录中查找所述第一记录;
判断模块,用于判断所述预设处理信息中是否包括所述第一记录中的非主键名称;
提取模块,用于若所述判断模块的判断结果为是,则从所述第一记录中提取所述非主键名称的取值;
第二查找模块,用于根据所述非主键名称及所述非主键名称的取值,从已存储的记录中查找与所述待处理数据相关的第二记录,其中,所述第二记录中的主键名称为所述第一记录中的所述非主键名称、所述第二记录中的主键值为所述第一记录中所述非主键名称的取值;
处理模块,用于按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,并按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理。
可选的,所述提取模块,还用于提取所述预设处理信息中的预设位参数;
所述判断模块,还用于判断所述预设位参数是否为预设标识;若是,则执行所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称。
可选的,所述处理模块,还用于:
若所述判断模块的判断结果为否,则按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理。
可选的,所述装置还包括:
保存模块,用于保存所述预设处理信息中所述第一记录中的所述非主键名称;
更新模块,用于更新已存储的所述非主键名称的取值;
所述处理模块,具体还用于:
根据所述预设处理信息中的所述非主键名称、以及更新后的所述非主键名称的取值,确定对所述第二记录进行处理的数据参数;
基于所述数据参数,对所述第二记录进行处理。
可选的,所述处理方式包括:更新操作及删除操作;
所述处理模块,具体用于:
若所述数据处理请求中携带的对所述第一记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第一记录进行更新;
若所述数据处理请求中携带的对所述第一记录的处理方式为删除操作,则删除所述第一记录;
若所述数据处理请求中携带的对所述第二记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第二记录进行更新;
若所述数据处理请求中携带的对所述第二记录的处理方式为删除操作,则删除所述第二记录。
第三方面,本发明实施例提供了一种数据库服务器,包括处理器和存储器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如第一方面所述的任一方法步骤。
本发明实施例提供的数据处理方法、装置及数据库服务器,数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的数据处理方法的流程示意图;
图2为本发明另一实施例的数据处理方法的流程示意图;
图3为本发明一实施例的数据处理装置的结构示意图;
图4为本发明又一实施例的数据处理装置的结构示意图;
图5为本发明实施例的数据库服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以应用于各种列存储类型的NoSQL,例如Cassandra、HBase、Riak等,这里不做具体限定。以Cassandra为例,Cassandra的存储机制为:一条记录插入Cassandra时,会存储在内存memtable中,当存储量超过了memtable的设定存储容量,将memtable中的数据全部发送至磁盘sstable中,而sstable的属性为可读,不能对存储的记录进行修改,只能增加一条记录,通过时间戳来标记这条记录是最新的,最后,在多个sstable做合并时,新的记录会覆盖旧的记录。Cassandra的数据模型中使用一个主键来唯一标识化一条记录,即一个主键对应一条记录。
基于上述存储机制和数据模型,如果按照列表的方式对与数据相关的信息进行记录,一条记录如表1所示,其中,partition_key表示该条记录所存储的分区的分区键,JobID为对该条记录进行处理的ID号,algorithmtype为运算类型的数值,priority为该条记录的优先级,status为该条记录的运行状态,partition_key和JobID共同组成该条记录的主键,当要将该条记录的status字段从等待wait更新为运行中running,则可以通过数据更新命令,向memtable中新插入一条记录,如表2所示。
表1
partition_key JobID algorithmtype priority status
21 6623abf_7d6321 1000 50 wait
表2
partition_key JobID algorithmtype priority status
21 6623abf_7d6321 Null Null running
因此,按照上述存储机制,在进行记录的更新时,不需要通过主键去查询该条记录,而是直接向memtable中插入新的记录。
但是,如果与一个数据相关的记录存在多条,例如与数据相关的记录既包括表1,也包括表3,其中,统一资源定位符URL为该条记录的网页地址,process为该条记录的运行进度,algorithmtype和JobID共同组成表3所示记录的主键。
表3
algorithmtype JobID priority URL process
如果需要完成数据的更新,需要对表1所示记录的status进行更新,还需要对表3所示记录的process进行更新,目前Cassandra的存储机制要完成数据的更新,需经过如下步骤:
第一步,数据库服务器接收应用端发送的包含partition_key和JobID的更新请求,根据partition_key和JobID,更新表1所示的status字段;
第二步,数据库服务器通过partition_key和JobID从表1中查询获得algorithmtype,并给应用端反馈algorithmtype;
第三步,数据库服务器接收应用端发送的包含algorithmtype和JobID的更新请求,根据algorithmtype和JobID,更新表3所示的process字段。
从上述步骤中可以看出,数据的更新流程包括了一次查询操作、两次更新操作和三次交互通讯,操作的步骤较多,实现复杂,随着记录的增多,操作的实现更为复杂,且网络交互消耗较大,导致数据处理的效率较低。
为了提高数据处理的效率,本发明实施例提供了一种数据处理方法、装置及数据库服务器。下面,首先对本发明实施例所提供的数据处理方法进行介绍。
本发明实施例所提供的一种数据处理方法的执行主体可以为数据库服务器,即存储有数据的记录的数据库,或者可以为存储有数据的记录的数据库侧的控制器,执行主体中至少包括具有数据处理能力的核心处理芯片。实现本发明实施例所提供的一种数据处理方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路的至少一种方式。
如图1所示,为本发明实施例所提供的一种数据处理方法,该数据处理方法包括如下步骤:
S101,数据库服务器获取由应用端发送的数据处理请求。
其中,数据处理请求用于请求对与待处理数据相关的至少一条记录进行处理,因此,数据处理请求中携带有对于待处理数据相关的至少一条记录中各记录的处理方式,处理方式可以为更新操作、删除操作、插入操作、查询操作等处理操作中的一种,数据处理请求由应用端发送,主要完成原始主操作,即主业务逻辑,用于指示待处理数据的主要属性信息及预设方式,因此,该数据处理请求中至少可以包括对各记录的处理方式、与待处理数据相关的某一条记录的主键名称、主键值以及与该待处理数据相关的预设处理信息,预设处理信息中包括待处理的记录的主键名称,例如,如果只对第一记录进行处理,则预设处理信息中只包括第一记录的主键名称;如果还要对第二记录进行处理,则预设处理信息中还包括第二记录的主键名称;如果还要对第三记录进行处理,则预设处理信息中还包括第三记录的主键名称,等等。数据处理请求可以是DML(Data Manipulation Language,数据操纵语言)语句的形式,也可以是普通的指令形式,例如包含有第一记录的主键名称及其主键值以及预设处理信息的驱动指令;预设处理信息可以为函数的形式,还可以为携带了第一记录的主键名称和/或非主键名称的通知信息。由于应用端可以直接获得数据的基本属性及基本属性的取值,例如,与待处理数据相关的记录所存储的分区及分区号等,而数据库服务器中至少有一条记录的主键名称为该基本属性、且主键值为该基本属性的取值,则可以将该记录记为第一记录,则数据处理请求中至少可以包括与待处理数据相关的第一记录中的主键名称、主键值及与待处理数据相关的预设处理信息。
S102,数据库服务器根据数据处理请求中的主键名称及主键值,从已存储的记录中查找第一记录。
由于数据处理请求中包括了与待处理数据相关的第一记录中的主键名称和主键值,因此,数据库服务器可以从已存储的记录中查找到该第一记录,对第一记录进行处理,或者基于该第一记录查找其他记录,对查找到的所有记录进行处理。
S103,数据库服务器判断预设处理信息中是否包括第一记录中的非主键名称,若是,则执行S104至S106。
预设处理信息主要完成辅助操作,即次业务逻辑,也就是指明进行处理的记录的具体信息。由于预设处理信息中包括待处理的记录的主键名称,如果包括了第一记录中的非主键名称,则说明不仅要对第一记录进行处理,还需要对与待处理数据相关的其他记录进行处理;如果仅包括第一记录中的主键名称,则说明仅对第一记录进行处理,即可以根据数据处理请求,按照预设方式对第一记录进行处理,也就是说,若数据库服务器判断预设处理信息中不包括第一记录中的非主键名称,则执行:
按照数据处理请求中携带的对第一记录的处理方式对第一记录进行处理。
S104,数据库服务器从第一记录中提取该非主键名称的取值。
如果预设处理信息中包括了第一记录中的非主键名称,则可以确定需要对以第一记录中的非主键名称作为主键的记录进行处理,由于预设处理信息中非主键名称的取值未知,可以直接从第一记录中提取非主键名称的取值。如果预设方式为插入操作,由于数据处理请求中包含了所要插入的信息及对应的值,因此,可以不需要额外的操作来获得预设处理信息所需的取值。
S105,数据库服务器根据非主键名称及非主键名称的取值,从已存储的记录中查找与待处理数据相关的第二记录。
其中,第二记录中的主键名称为第一记录中的非主键名称、第二记录中的主键值为第一记录中非主键名称的取值。在从第一记录中提取出非主键名称的取值后,数据库服务器可以从已存储的记录中去查找主键名称、主键值与第一记录的非主键名称、非主键名称的取值相同的记录,该记录即为除了第一记录以外需要进行处理的另一条记录。
S106,按照数据处理请求中携带的对第一记录的处理方式对第一记录进行处理,并按照数据处理请求中携带的对第二记录的处理方式对第二记录进行处理。
数据处理请求中携带了对与待处理数据相关的第一记录的处理方式,则可以对第一记录进行处理;并且携带了对待处理数据相关的第二记录的处理方式,则可以对第二记录进行处理。处理方式可以包括更新操作、删除操作、插入操作或者查询操作中的一种或多种。例如,对第一记录的处理方式为更新操作,对第二记录的处理方式为查询和删除操作。又例如,对第一记录和第二记录的处理方式均为删除操作。又例如,对第一记录和第二记录的处理方式均为更新操作。又例如,对第一记录的处理方式为查询操作,对第二记录的处理方式为更新操作。又例如,对第一记录的处理方式为更新操作,对第二记录的处理方式为删除操作。又例如,对第一记录的处理方式为删除操作,对第二记录的处理方式为更新操作。
S106具体可以通过如下步骤实现:
若数据处理请求中携带的对第一记录的处理方式为更新操作,则根据更新操作中的更新参数,对第一记录进行更新;
若数据处理请求中携带的对第一记录的处理方式为删除操作,则删除第一记录;
若数据处理请求中携带的对第二记录的处理方式为更新操作,则根据更新操作中的更新参数,对第二记录进行更新;
若数据处理请求中携带的对第二记录的处理方式为删除操作,则删除第二记录。
例如,数据处理请求中包括:主键名称为partition_key和JobID,主键值为partition_key=21、JobID=6623abf_7d6321的第一记录,对第一记录的处理方式为对第一记录中的status进行更新操作,将status更新为running,则可以按照处理方式,将第一记录中的status更新为running;基于第一记录的主键值partition_key=21、JobID=6623abf_7d6321,通过从第一记录中提取得到非主键名称algorithmtype的取值为Null,数据处理请求中携带的对第二记录的处理方式为对第二记录中的process进行更新操作,将process更新为99,则可以按照处理方式,将第二记录中的process更新为99。
再例如,数据处理请求中包括:主键名称为partition_key和JobID,主键值为partition_key=21、JobID=6623abf_7d6321的第一记录,对第一记录的处理方式为对第一记录进行删除操作,则可以按照处理方式对第一记录进行删除处理;基于第一记录的主键值partition_key=21、JobID=6623abf_7d6321,通过从第一记录中提取得到非主键名称algorithmtype的取值为Null,数据处理请求中携带的对第二记录的处理方式为对第二记录进行删除操作,则可以按照处理方式对主键值algorithmtype为Null的第二记录进行删除处理。
数据库服务器在从第一记录中提取非主键名称的取值之前,可以执行:保存预设处理信息中第一记录中的非主键名称。
这样,在从第一记录中提取非主键名称的取值之后,则可以执行:更新已存储的非主键名称的取值。
因此,基于已存储的内容,对第二记录进行处理的步骤可以包括:
根据预设处理信息中的非主键名称以及更新后的非主键名称的取值,确定对第二记录进行处理的数据参数;
基于该数据参数,对第二记录进行处理。
其中,数据参数为对第二记录中的非主键进行具体操作的参数。在一些实际情况下,通过数据处理请求中所携带的对第二记录进行操作的处理方式,只能够知道对第二记录需要进行更新或删除等操作,但是,需要具体对第二记录中哪一个非主键进行处理是未知的,需要根据第二记录的主键名称、主键值,确定对第二记录的哪一个非主键进行具体操作的数据参数。并且,在下次获取到相同的数据处理请求时,由于已存储相应的第二记录的主键名称,可以直接实现对第二记录的处理,而不需要再去第一记录中提取,因此,可以进一步提高数据处理的效率。
当然,如果预设处理信息中还包括除第一记录和第二记录以外的其他记录的主键名称,则可以根据第一记录和/或第二记录的主键值,得到该记录的主键值,根据预设处理信息即可完成处理。
应用本实施例,数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。相较于上述表1至表3对应的目前Cassandra的存储机制要完成数据的更新的步骤,以数据库服务器中存储有两条记录为例,应用端需要向数据库服务器发送两次数据处理请求、并且数据库服务器与应用端之间需要进行三次交互,然而,在本实施例中,数据库服务器仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。
基于图1所示实施例,本发明实施例还提供了一种数据处理方法,如图2所示,该数据处理方法包括如下步骤:
S201,数据库服务器获取应用端发送的数据处理请求,提取预设处理信息。
S202,数据库服务器提取预设处理信息中的预设位参数。
S203,如果预设位参数为预设标识,则数据库服务器根据数据处理请求中包括的与待处理数据相关的第一记录中的主键名称及主键值,从已存储的记录中查找第一记录。
由于Cassandra本身支持自定义函数功能,预设处理信息可以为函数形式,但是Cassandra的函数中部分不支持动态加载,因此,为了区别于Cassandra的函数,在预设处理信息中增加一标志位,通过对预设位参数的获取,判断该预设位参数是否为预设标识,来判断预设处理信息是否支持动态加载,在支持动态加载的前提下,才能实现对多个记录的处理,否则就只能对第一记录进行处理。这样,保证了运行的正确性,以防止与Cassandra数据库的传统函数相矛盾,导致运行失败。预设标识为表示支持动态加载的一标识,无具体含义,例如FTYPE,如果预设位参数为FTYPE、且为1,则说明数据库服务器支持动态加载,如果预设位参数不为FTYPE、或者FTYPE为0,则说明数据库服务器不支持动态加载,即不可运行如S204至S207的步骤,而是按照原流程对数据进行处理。
S204,数据库服务器判断预设处理信息中是否包括第一记录中的非主键名称,若是则执行S205至S207,否则执行S208。
S205,数据库服务器从第一记录中提取非主键名称的取值。
S206,数据库服务器根据非主键名称及非主键名称的取值,从已存储的记录中查找待处理数据相关的的第二记录。
S207,数据库服务器按照数据处理请求中携带的对第一记录的处理方式对第一记录进行处理,并按照数据处理请求中携带的对第二记录的处理方式对第二记录进行处理。
S208,数据库服务器按照数据处理请求中携带的对第一记录的处理方式对第一记录进行处理。
应用本实施例,数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。并且,通过对预设处理信息中的预设位参数进行判断,在预设位参数为预设标识的前提下,才可以实现对多个记录的处理,保证了对多条记录进行协作处理的正常运行。
下面,以处理的预设方式为更新操作为例,对本发明实施例的数据处理方法进行介绍。
第一记录如表4所示,其中,partition_key和JobID为第一记录的主键名称,algorithmtype、priority和status为第一记录的非主键名称。
表4
partition_key JobID algorithmtype priority status
第二记录如表5所示,其中,algorithmtype和JobID为第二记录的主键名称,priority、URL和process为第二记录的非主键名称。
表5
algorithmtype JobID priority URL process
数据库服务器根据获取的应用端发送的数据处理请求,已知partition_key和JobID的主键值,并且携带有将表4中的非主键status的取值更新为running的处理方式和对表5进行更新的处理方式。
数据处理请求为DML语句形式,具体为:
Update table1using some_function(FTYPE,algorithmtype,99,JobID)setstatus=‘running’where partition_key=21and JobID=‘6623abf_7d6321’。
其中,预设处理信息为函数形式,即some_function(FTYPE,algorithmtype,99,JobID),预设处理信息的具体操作如下:
some_function(int nFlag,int arg1,int arg2,string id)
{
Update table2set process=arg2where algorithmtype=arg1and JobID=id;
}
则数据处理方法可以包括如下步骤:
第一步,数据库服务器获取应用端发送的数据处理请求,并解析预设处理信息,由于预设处理信息中的第一个参数为FTYPE,则可动态加载,确定执行第二步。
第二步,由于预设处理信息中包含了第一记录(table1)的非主键名称,因此,数据库服务器根据第一记录的已知主键值,从第一记录中提取非主键名称algorithmtype的取值Null,并将JobID=‘6623abf_7d6321’和algorithmtype=‘Null’传入预设处理信息中。
第三步,数据库服务器按照数据处理请求中携带的对第一记录的处理方式,可直接对第一记录进行更新操作,即将主键名称partition_key的主键值为21且主键名称JobID的主键值为6623abf_7d6321的第一记录中的非主键status的取值更新为running。
第四步,数据库服务器通过将JobID=‘6623abf_7d6321’和algorithmtype=‘Null’传入预设处理信息中,生成预设处理信息中对第二记录(table2)进行处理的数据参数,该数据参数为非主键process=99,则基于该数据参数,可以实现对第二记录进行更新操作,即将主键名称algorithmtype的主键值为Null且主键名称JobID的主键值为6623abf_7d6321的第二记录中的非主键process的取值更新为99。
通过本方案,数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。
相应于上述数据处理方法实施例,本发明实施例提供了一种数据处理装置,如图3所示,该数据处理装置可以包括:
获取模块310,用于获取数据处理请求,其中,所述数据处理请求中携带对与待处理数据相关的至少一条记录中各记录的处理方式,所述数据处理请求中包括与所述待处理数据相关的第一记录中的主键名称、主键值以及与所述待处理数据相关的预设处理信息;
第一查找模块320,用于根据所述主键名称及所述主键值,从已存储的记录中查找所述第一记录;
判断模块330,用于判断所述预设处理信息中是否包括所述第一记录中的非主键名称;
提取模块340,用于若所述判断模块330的判断结果为是,则从所述第一记录中提取所述非主键名称的取值;
第二查找模块350,用于根据所述非主键名称及所述非主键名称的取值,从已存储的记录中查找与所述待处理数据相关的第二记录,其中,所述第二记录中的主键名称为所述第一记录中的所述非主键名称、所述第二记录中的主键值为所述第一记录中所述非主键名称的取值;
处理模块360,用于按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,并按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理。
可选的,所述提取模块340,还可以用于提取所述预设处理信息中的预设位参数;
所述判断模块330,还可以用于判断所述预设位参数是否为预设标识;若是,则执行所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称。
可选的,所述处理模块360,还可以用于:
若所述判断模块330的判断结果为否,则按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理。
可选的,所述处理方式包括:更新操作及删除操作;
所述处理模块360,具体可以用于:
若所述数据处理请求中携带的对所述第一记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第一记录进行更新;
若所述数据处理请求中携带的对所述第一记录的处理方式为删除操作,则删除所述第一记录;
若所述数据处理请求中携带的对所述第二记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第二记录进行更新;
若所述数据处理请求中携带的对所述第二记录的处理方式为删除操作,则删除所述第二记录。
应用本实施例,数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。
基于图3所示实施例,本发明实施例还提供了一种数据处理装置,如图4所示,该数据处理装置可以包括:
获取模块410,用于获取数据处理请求,其中,所述数据处理请求中携带对与待处理数据相关的至少一条记录中各记录的处理方式,所述数据处理请求中包括与所述待处理数据相关的第一记录中的主键名称、主键值以及与所述待处理数据相关的预设处理信息;
第一查找模块420,用于根据所述主键名称及所述主键值,从已存储的记录中查找所述第一记录;
判断模块430,用于判断所述预设处理信息中是否包括所述第一记录中的非主键名称;
保存模块440,用于若所述判断模块430的判断结果为是,则保存所述预设处理信息中所述第一记录中的所述非主键名称;
提取模块450,用于若所述判断模块430的判断结果为是,则从所述第一记录中提取所述非主键名称的取值;
更新模块460,用于更新已存储的所述非主键名称的取值;
第二查找模块470,用于根据所述非主键名称及所述非主键名称的取值,从已存储的记录中查找与所述待处理数据相关的第二记录,其中,所述第二记录中的主键名称为所述第一记录中的所述非主键名称、所述第二记录中的主键值为所述第一记录中所述非主键名称的取值;
处理模块480,用于按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,并按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理。
可选的,所述处理模块480,具体可以用于:
根据所述预设处理信息中的所述非主键名称、以及更新后的所述非主键名称的取值,确定对所述第二记录进行处理的数据参数;
根据所述数据参数,对所述第二记录进行处理。
应用本实施例,数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。并且,在下次获取到相同的数据处理请求时,由于已存储相应的第二记录的主键名称,可以直接实现对第二记录的处理,而不需要再去第一记录中提取,因此,可以进一步提高数据处理的效率。
本发明实施例还提供了一种数据库服务器,如图5所示,包括处理器501、和存储器502,其中,
存储器502,用于存放计算机程序;
处理器501,用于执行存储器502上所存放的程序时,实现本发明实施例提供的数据处理方法。
本实施例中,处理器通过读取存储器中存储的计算机程序,并通过运行该计算机程序,能够实现:数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,相应于上述实施例所提供的数据处理方法,本发明实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器执行时,实现本发明实施例提供的数据处理方法。
本实施例中,计算机可读存储介质存储有在运行时执行本发明实施例所提供的数据处理方法的应用程序,因此能够实现:数据库服务器通过对获取的数据处理请求中的预设处理信息进行判断,如果预设处理信息中包括了第一记录中的非主键名称,则说明对待处理数据的处理不仅需要对与待处理数据相关的第一记录进行处理还需要对与待处理数据相关的其他记录进行处理,因此,可以从第一记录中提取非主键名称的取值,由于第二记录的主键名称为第一记录的非主键名称、第二记录的主键值为第一记录的非主键名称的取值,因此,根据第一记录的非主键名称和非主键名称的取值,可以确定第二记录。这样,基于数据处理请求,可以实现对第一记录和第二记录的处理,从而达到对数据进行处理的目的。仅需要获取应用端发送的一个数据处理请求,通过对多条记录进行处理的协作机制,即可实现数据处理,而不需要应用端分别针对每条记录发送多个数据处理请求,避免了应用端获取每条记录的主键值的负担,同时减小了网络交互的消耗,从而提高了数据处理的效率。
对于数据库服务器以及计算机可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、数据库服务器及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种数据处理方法,其特征在于,所述方法包括:
获取数据处理请求,其中,所述数据处理请求中携带对与待处理数据相关的至少一条记录中各记录的处理方式,所述数据处理请求中包括与所述待处理数据相关的第一记录中的主键名称、主键值以及与所述待处理数据相关的预设处理信息,所述预设处理信息中包括待处理的记录的主键名称;
根据所述主键名称及所述主键值,从已存储的记录中查找所述第一记录;
判断所述预设处理信息中是否包括所述第一记录中的非主键名称;
若是,则从所述第一记录中提取所述非主键名称的取值;
根据所述非主键名称及所述非主键名称的取值,从已存储的记录中查找与所述待处理数据相关的第二记录,其中,所述第二记录中的主键名称为所述第一记录中的所述非主键名称、所述第二记录中的主键值为所述第一记录中所述非主键名称的取值;
按照所述数据处理请求中携带的、对所述第一记录的处理方式对所述第一记录进行处理,并按照所述数据处理请求中携带的、对所述第二记录的处理方式对所述第二记录进行处理。
2.根据权利要求1所述的方法,其特征在于,在所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称之前,所述方法还包括:
提取所述预设处理信息中的预设位参数;
判断所述预设位参数是否为预设标识;
若是,则执行所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称。
3.根据权利要求1所述的方法,其特征在于,在所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称之后,所述方法还包括:
若否,则按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理。
4.根据权利要求1所述的方法,其特征在于,在所述从所述第一记录中提取所述非主键名称的取值之前,所述方法还包括:
保存所述预设处理信息中所述第一记录中的所述非主键名称;
在所述从所述第一记录中提取所述非主键名称的取值之后,所述方法还包括:
更新已存储的所述非主键名称的取值;
所述按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理,包括:
根据所述预设处理信息中的所述非主键名称、以及更新后的所述非主键名称的取值,确定对所述第二记录进行处理的数据参数;
基于所述数据参数,对所述第二记录进行处理。
5.根据权利要求1-4任一所述的方法,其特征在于,所述处理方式包括:更新操作及删除操作;
所述按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,包括:
若所述数据处理请求中携带的对所述第一记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第一记录进行更新;
若所述数据处理请求中携带的对所述第一记录的处理方式为删除操作,则删除所述第一记录;
所述按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理,包括:
若所述数据处理请求中携带的对所述第二记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第二记录进行更新;
若所述数据处理请求中携带的对所述第二记录的处理方式为删除操作,则删除所述第二记录。
6.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取数据处理请求,其中,所述数据处理请求中携带对与待处理数据相关的至少一条记录中各记录的处理方式,所述数据处理请求中包括与所述待处理数据相关的第一记录中的主键名称、主键值以及与所述待处理数据相关的预设处理信息,所述预设处理信息中包括待处理的记录的主键名称;
第一查找模块,用于根据所述主键名称及所述主键值,从已存储的记录中查找所述第一记录;
判断模块,用于判断所述预设处理信息中是否包括所述第一记录中的非主键名称;
提取模块,用于若所述判断模块的判断结果为是,则从所述第一记录中提取所述非主键名称的取值;
第二查找模块,用于根据所述非主键名称及所述非主键名称的取值,从已存储的记录中查找与所述待处理数据相关的第二记录,其中,所述第二记录中的主键名称为所述第一记录中的所述非主键名称、所述第二记录中的主键值为所述第一记录中所述非主键名称的取值;
处理模块,用于按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理,并按照所述数据处理请求中携带的对所述第二记录的处理方式对所述第二记录进行处理。
7.根据权利要求6所述的装置,其特征在于,所述提取模块,还用于提取所述预设处理信息中的预设位参数;
所述判断模块,还用于判断所述预设位参数是否为预设标识;若是,则执行所述判断所述预设处理信息中是否包括所述第一记录中的非主键名称。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,还用于:
若所述判断模块的判断结果为否,则按照所述数据处理请求中携带的对所述第一记录的处理方式对所述第一记录进行处理。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
保存模块,用于保存所述预设处理信息中所述第一记录中的所述非主键名称;
更新模块,用于更新已存储的所述非主键名称的取值;
所述处理模块,具体还用于:
根据所述预设处理信息中的所述非主键名称、以及更新后的所述非主键名称的取值,确定对所述第二记录进行处理的数据参数;
基于所述数据参数,对所述第二记录进行处理。
10.根据权利要求6-9任一所述的装置,其特征在于,所述处理方式包括:更新操作及删除操作;
所述处理模块,具体用于:
若所述数据处理请求中携带的对所述第一记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第一记录进行更新;
若所述数据处理请求中携带的对所述第一记录的处理方式为删除操作,则删除所述第一记录;
若所述数据处理请求中携带的对所述第二记录的处理方式为更新操作,则根据所述更新操作中的更新参数,对所述第二记录进行更新;
若所述数据处理请求中携带的对所述第二记录的处理方式为删除操作,则删除所述第二记录。
11.一种数据库服务器,其特征在于,包括处理器和存储器,其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201711225369.2A 2017-11-29 2017-11-29 一种数据处理方法、装置及数据库服务器 Active CN110019212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711225369.2A CN110019212B (zh) 2017-11-29 2017-11-29 一种数据处理方法、装置及数据库服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711225369.2A CN110019212B (zh) 2017-11-29 2017-11-29 一种数据处理方法、装置及数据库服务器

Publications (2)

Publication Number Publication Date
CN110019212A CN110019212A (zh) 2019-07-16
CN110019212B true CN110019212B (zh) 2021-06-18

Family

ID=67186626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711225369.2A Active CN110019212B (zh) 2017-11-29 2017-11-29 一种数据处理方法、装置及数据库服务器

Country Status (1)

Country Link
CN (1) CN110019212B (zh)

Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732096B1 (en) * 2001-07-30 2004-05-04 Ncr Corporation Optimizing an aggregate join query
CN1556482A (zh) * 2003-12-31 2004-12-22 中兴通讯股份有限公司 一种用于实现数据库多表查询的数据处理方法
CN1869991A (zh) * 2006-06-30 2006-11-29 南京联创科技股份有限公司 基于动态代理的数据访问对象模式的实现方法
CN101046821A (zh) * 2006-03-31 2007-10-03 Sap股份公司 通用数据库操纵器
CN101546311A (zh) * 2008-03-27 2009-09-30 天津德智科技有限公司 回收站的数据处理方法及数据处理装置
US7631019B2 (en) * 2007-05-31 2009-12-08 Red Hat, Inc. Distributing data across different backing data stores
CN103019960A (zh) * 2012-12-03 2013-04-03 华为技术有限公司 分布式缓存方法及系统
CN103107985A (zh) * 2012-12-04 2013-05-15 百度在线网络技术(北京)有限公司 一种云端认证方法、系统及装置
CN103403714A (zh) * 2011-03-17 2013-11-20 阿玛得斯两合公司 处理复合查询的系统和方法
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
CN103473239A (zh) * 2012-06-08 2013-12-25 腾讯科技(深圳)有限公司 一种非关系型数据库数据更新方法和装置
CN103514201A (zh) * 2012-06-27 2014-01-15 阿里巴巴集团控股有限公司 一种非关系型数据库的数据查询方法和装置
CN103544323A (zh) * 2013-11-08 2014-01-29 中国农业银行股份有限公司 一种数据更新方法和装置
CN103631910A (zh) * 2013-11-26 2014-03-12 烽火通信科技股份有限公司 一种分布式数据库多列复合查询的系统及方法
CN103793401A (zh) * 2012-10-30 2014-05-14 国际商业机器公司 建立多个数据库表的共享索引的方法及装置
CN104111955A (zh) * 2013-04-22 2014-10-22 中国银联股份有限公司 一种面向Hbase数据库的复合查询方法
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN104376025A (zh) * 2013-08-16 2015-02-25 华为技术有限公司 分布式数据库的数据存储方法和装置
CN104572644A (zh) * 2013-10-10 2015-04-29 北京大学 数据库更新装置和数据库更新方法
CN104657430A (zh) * 2015-01-28 2015-05-27 武汉烽火众智数字技术有限责任公司 一种数据采集的方法和系统
CN104731644A (zh) * 2015-03-12 2015-06-24 用友网络科技股份有限公司 子对象操作方法与子对象操作装置
CN104794130A (zh) * 2014-01-20 2015-07-22 华为技术有限公司 一种表间关联查询方法和装置
CN105468728A (zh) * 2015-11-20 2016-04-06 北京先进数通信息技术股份公司 一种获取截面数据的方法和系统
CN105745642A (zh) * 2014-03-31 2016-07-06 华为技术有限公司 查询数据的处理方法和装置
CN105760395A (zh) * 2014-12-18 2016-07-13 华为技术有限公司 一种数据处理的方法、装置及系统
CN106227894A (zh) * 2016-08-24 2016-12-14 中国农业银行股份有限公司 一种数据分页查询方法和装置
CN106528844A (zh) * 2016-11-24 2017-03-22 腾讯科技(深圳)有限公司 一种数据请求方法及装置和数据存储系统
CN107330119A (zh) * 2017-07-14 2017-11-07 掌阅科技股份有限公司 缓存数据处理方法、电子设备、计算机存储介质

Patent Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732096B1 (en) * 2001-07-30 2004-05-04 Ncr Corporation Optimizing an aggregate join query
CN1556482A (zh) * 2003-12-31 2004-12-22 中兴通讯股份有限公司 一种用于实现数据库多表查询的数据处理方法
CN101046821A (zh) * 2006-03-31 2007-10-03 Sap股份公司 通用数据库操纵器
CN1869991A (zh) * 2006-06-30 2006-11-29 南京联创科技股份有限公司 基于动态代理的数据访问对象模式的实现方法
US7631019B2 (en) * 2007-05-31 2009-12-08 Red Hat, Inc. Distributing data across different backing data stores
CN101546311A (zh) * 2008-03-27 2009-09-30 天津德智科技有限公司 回收站的数据处理方法及数据处理装置
CN103403714A (zh) * 2011-03-17 2013-11-20 阿玛得斯两合公司 处理复合查询的系统和方法
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
CN103473239A (zh) * 2012-06-08 2013-12-25 腾讯科技(深圳)有限公司 一种非关系型数据库数据更新方法和装置
CN103514201A (zh) * 2012-06-27 2014-01-15 阿里巴巴集团控股有限公司 一种非关系型数据库的数据查询方法和装置
CN103793401A (zh) * 2012-10-30 2014-05-14 国际商业机器公司 建立多个数据库表的共享索引的方法及装置
CN103793401B (zh) * 2012-10-30 2016-12-21 国际商业机器公司 建立多个数据库表的共享索引的方法及装置
CN103019960A (zh) * 2012-12-03 2013-04-03 华为技术有限公司 分布式缓存方法及系统
CN103107985A (zh) * 2012-12-04 2013-05-15 百度在线网络技术(北京)有限公司 一种云端认证方法、系统及装置
CN104111955A (zh) * 2013-04-22 2014-10-22 中国银联股份有限公司 一种面向Hbase数据库的复合查询方法
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN104376025A (zh) * 2013-08-16 2015-02-25 华为技术有限公司 分布式数据库的数据存储方法和装置
CN104572644A (zh) * 2013-10-10 2015-04-29 北京大学 数据库更新装置和数据库更新方法
CN103544323A (zh) * 2013-11-08 2014-01-29 中国农业银行股份有限公司 一种数据更新方法和装置
CN103631910A (zh) * 2013-11-26 2014-03-12 烽火通信科技股份有限公司 一种分布式数据库多列复合查询的系统及方法
CN104794130A (zh) * 2014-01-20 2015-07-22 华为技术有限公司 一种表间关联查询方法和装置
CN105745642A (zh) * 2014-03-31 2016-07-06 华为技术有限公司 查询数据的处理方法和装置
CN105760395A (zh) * 2014-12-18 2016-07-13 华为技术有限公司 一种数据处理的方法、装置及系统
CN104657430A (zh) * 2015-01-28 2015-05-27 武汉烽火众智数字技术有限责任公司 一种数据采集的方法和系统
CN104731644A (zh) * 2015-03-12 2015-06-24 用友网络科技股份有限公司 子对象操作方法与子对象操作装置
CN105468728A (zh) * 2015-11-20 2016-04-06 北京先进数通信息技术股份公司 一种获取截面数据的方法和系统
CN106227894A (zh) * 2016-08-24 2016-12-14 中国农业银行股份有限公司 一种数据分页查询方法和装置
CN106528844A (zh) * 2016-11-24 2017-03-22 腾讯科技(深圳)有限公司 一种数据请求方法及装置和数据存储系统
CN107330119A (zh) * 2017-07-14 2017-11-07 掌阅科技股份有限公司 缓存数据处理方法、电子设备、计算机存储介质

Also Published As

Publication number Publication date
CN110019212A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN101727465B (zh) 分布式列存储数据库索引建立、查询方法及装置与系统
WO2017092470A1 (zh) 数据存储方法和装置
WO2015110062A1 (zh) 一种分布式数据存储方法、装置和系统
WO2018036549A1 (zh) 分布式数据库查询方法、装置及管理系统
CN107977396B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
WO2017096892A1 (zh) 索引构建方法、查询方法及对应装置、设备、计算机存储介质
KR20170123336A (ko) 파일 조작 방법 및 장치
CN106874281B (zh) 实现数据库读写分离的方法和装置
CN108875077B (zh) 数据库的列存储方法、装置、服务器及存储介质
CN109857723B (zh) 基于可扩容数据库集群的动态数据迁移方法及相关设备
CN110597852A (zh) 数据处理方法、装置、终端及存储介质
CN111339171A (zh) 数据查询的方法、装置及设备
CN109388659B (zh) 数据存储方法、装置和计算机可读存储介质
CN111858760A (zh) 一种异构数据库的数据处理方法及装置
CN111914020A (zh) 数据同步方法及装置、数据查询方法及装置
CN110019212B (zh) 一种数据处理方法、装置及数据库服务器
CN110765125B (zh) 一种存储数据的方法及装置
CN111061719B (zh) 数据收集方法、装置、设备和存储介质
CN108984720B (zh) 基于列存储的数据查询方法、装置、服务器及存储介质
CN107180072B (zh) 一种时序数据的处理方法及装置
CN114637759B (zh) 数据查询方法、电子设备、存储介质
JP7105717B2 (ja) 情報処理装置、抽出方法、およびプログラム
CN111881091B (zh) 数据存储方法、装置、电子设备及存储介质
CN113961637B (zh) 一种基于数据库的数据融合方法、系统和电子设备
WO2016197924A1 (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
GR01 Patent grant
GR01 Patent grant