CN107169032B - 数据库操作方法及数据库服务器 - Google Patents

数据库操作方法及数据库服务器 Download PDF

Info

Publication number
CN107169032B
CN107169032B CN201710248138.7A CN201710248138A CN107169032B CN 107169032 B CN107169032 B CN 107169032B CN 201710248138 A CN201710248138 A CN 201710248138A CN 107169032 B CN107169032 B CN 107169032B
Authority
CN
China
Prior art keywords
data structure
operated
type
data
module
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
CN201710248138.7A
Other languages
English (en)
Other versions
CN107169032A (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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201710248138.7A priority Critical patent/CN107169032B/zh
Publication of CN107169032A publication Critical patent/CN107169032A/zh
Application granted granted Critical
Publication of CN107169032B publication Critical patent/CN107169032B/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/25Integrating or interfacing systems involving database management systems

Landscapes

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

Abstract

本发明实施例提供一种数据库操作方法及数据库服务器,该方法包括:接收客户端发送的、待操作数据结构对应的操作指令,所述待操作数据结构中包括所述待操作数据结构的类型;在所述待操作数据结构中获取所述待操作数据结构的类型;根据所述操作指令和所述待操作数据结构的类型,确定操作接口;根据所述操作接口,对所述待操作数据结构进行操作。在数据库支持集合数据结构的基础上,用户无需学习大量的操作指令即可方便的对数据结构进行操作,简化用户操作。

Description

数据库操作方法及数据库服务器
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据库操作方法及数据库服务器。
背景技术
内存数据库redis基于内存的形式进行数据存储,内存数据库redis的成本高、宕机数据容易丢失。
在现有技术中,为了降低数据库成本、并提高数据存储的可靠性,在redis数据库的基础上进行扩展,得到可持久化非关系性数据库。目前,可持久化关系型数据库包括levelDB、rocksDB、ledisDB、及SSDB数据库等。其中,levelDB及rocksDB数据库只能存储KV数据结构。ledisDB及SSDB数据库可以存储KV数据结构和集合数据结构,集合数据结构包括链表、哈希、set等,集合数据结构中每一种类型的数据结构均对应不同的操作接口,例如,链表对应的修改接口与哈希对应的修改接口不同,因此,在levelDB及rocksDB数据库中,需要扩展redis的原生接口,使得用户在对数据库进行操作时,需要学习多个扩展接口对应的命令,导致用户学习的成本较高。
发明内容
本发明实施例提供一种数据库操作方法及数据库服务器,在数据库支持集合数据结构的基础上,用户无需学习大量的操作指令即可方便的对数据结构进行操作,简化用户操作。
第一方面,本发明实施例提供一种数据库操作方法,包括:
接收客户端发送的、待操作数据结构对应的操作指令,所述待操作数据结构中包括所述待操作数据结构的类型;
在所述待操作数据结构中获取所述待操作数据结构的类型;
根据所述操作指令和所述待操作数据结构的类型,确定操作接口;
根据所述操作接口,对所述待操作数据结构进行操作。
在一种可能的实施方式中,在所述待操作数据结构中获取所述待操作数据结构的类型,包括:
若所述待操作数据结构为KV数据结构,则在所述待操作数据结构的value中获取所述待操作数据结构的类型;
若所述待操作数据结构为集合数据结构,则获取所述待操作数据结构的元信息,并在所述元信息中的value中获取所述待操作数据结构的类型。
在另一种可能的实施方式中,所述待操作数据结构为集合数据结构,所述操作指令中还包括待操作数据信息的标识;相应的,根据所述操作接口,对所述待操作数据结构进行操作,包括:
根据所述待操作数据结构的标识和所述待操作数据信息的标识,确定查找标识;
根据所述查找标识,确定所述待操作数据信息;
根据所述操作接口,对所述待操作数据信息进行操作。
在另一种可能的实施方式中,根据所述操作接口,对所述待操作数据信息进行操作,包括:
在所述待操作信息的key中获取所述待操作数据结构的类型;
判断所述待操作信息中数据结构的类型与所述待操作数据结构的元信息中的数据结构的类型是否相同;
若是,则根据所述操作接口,对所述待操作数据信息进行操作;
若否,则向所述客户端发送操作异常通知。
在另一种可能的实施方式中,接收客户端发送的、待操作数据结构对应的操作指令之前,还包括:
接收所述客户端发送的创建指令,所述创建指令中包括所述待操作数据结构的标识和所述待操作数据结构的类型;
确定所述创建指令对应的当前数据库;
判断所述当前数据库中是否包括所述待操作数据结构的标识对应的数据结构;
若是,则向所述客户端发送创建异常通知;
若否,则确定所述待操作数据结构的类型对应的创建接口,并根据所述创建接口创建所述待操作数据结构。
在另一种可能的实施方式中,所述待操作数据结构的类型包括:KV类型、链表类型、哈希类型、set类型。
第二方面,本发明实施例提供一种数据库服务器,包括接收模块、获取模块、第一确定模块及操作模块,其中,
所述接收模块用于,接收客户端发送的、待操作数据结构对应的操作指令,所述待操作数据结构中包括所述待操作数据结构的类型;
所述获取模块用于,在所述待操作数据结构中获取所述待操作数据结构的类型;
所述第一确定模块用于,根据所述操作指令和所述待操作数据结构的类型,确定操作接口;
所述操作模块用于,根据所述操作接口,对所述待操作数据结构进行操作。
在一种可能的实施方式中,所述获取模块具体用于:
若所述待操作数据结构为KV数据结构,则在所述待操作数据结构的value中获取所述待操作数据结构的类型;
若所述待操作数据结构为集合数据结构,则获取所述待操作数据结构的元信息,并在所述元信息中的value中获取所述待操作数据结构的类型。
在另一种可能的实施方式中,所述待操作数据结构为集合数据结构,所述操作指令中还包括待操作数据信息的标识;相应的,所述操作模块具体用于:
根据所述待操作数据结构的标识和所述待操作数据信息的标识,确定查找标识;
根据所述查找标识,确定所述待操作数据信息;
根据所述操作接口,对所述待操作数据信息进行操作。
在另一种可能的实施方式中,所述操作模块具体用于:
在所述待操作信息的key中获取所述待操作数据结构的类型;
判断所述待操作信息中数据结构的类型与所述待操作数据结构的元信息中的数据结构的类型是否相同;
若是,则根据所述操作接口,对所述待操作数据信息进行操作;
若否,则向所述客户端发送操作异常通知。
在另一种可能的实施方式中,所述数据库服务器还包括第二确定模块、判断模块、发送模块和创建模块,其中,
所述接收模块还用于,在所述接收模块接收客户端发送的、待操作数据结构对应的操作指令之前,接收所述客户端发送的创建指令,所述创建指令中包括所述待操作数据结构的标识和所述待操作数据结构的类型;
所述第二确定模块用于,确定所述创建指令对应的当前数据库;
所述判断模块用于,判断所述当前数据库中是否包括所述待操作数据结构的标识对应的数据结构;
所述发送模块用于,在所述判断模块判断所述当前数据库中包括所述待操作数据结构的标识对应的数据结构时,向所述客户端发送创建异常通知;
所述创建模块用于,在所述判断模块判断所述当前数据库中不包括所述待操作数据结构的标识对应的数据结构时,确定所述待操作数据结构的类型对应的创建接口,并根据所述创建接口创建所述待操作数据结构。
在另一种可能的实施方式中,所述待操作数据结构的类型包括:KV类型、链表类型、哈希类型、set类型。
本发明实施例提供的数据库操作方法及数据库服务器,在数据结构中包括数据结构的类型,这样,在接收到客户端发送的、待操作数据结构对应的操作指令之后,可以在所述待操作数据结构中获取所述待操作数据结构的类型,根据所述操作指令和所述待操作数据结构的类型,确定操作接口,并根据所述操作接口,对所述待操作数据结构进行操作。在上述过程中,在数据库可以支持集合数据结构的基础上,用户无需学习大量的操作指令即可方便的对数据结构进行操作,简化用户操作,进而提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据库操作方法的应用场景示意图;
图2为本发明实施例提供的数据库操作方法的流程示意图;
图3为本发明实施例提供的对集合数据结构操作方法的流程示意图;
图4为本发明实施例提供的创建数据结构方法的流程示意图;
图5为本发明实施例提供的数据库服务器的结构示意图一;
图6为本发明实施例提供的数据库服务器的结构示意图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的数据库操作方法的应用场景示意图。请参见图1,包括多个客户端(分别记为101-1至101-N)和数据库服务器102。客户端对应的终端设备可以为手机、电脑、电视等设备。数据库服务器102中包括多个数据库,每一个数据库中包括多个数据结构,该多个数据结构中可以包括KV数据结构和集合数据结构,KV数据结构和集合数据结构中均包括数据结构的类型。例如,可以用“S”表示KV数据结构的类型、用“L”表示链表数据结构的类型、用“H”表示哈希数据结构的类型等。不同类型的数据结构对应不同的操作接口,当用户对不同类型的数据结构进行操作时,数据库服务器调用对应的操作接口对数据结构进行相应的操作。
在本申请中,对于同一种操作(例如插入操作、更新操作、删除操作等),不同类型的数据结构的操作指令相同,例如,链表数据结构的更新指令与哈希数据结构的更新指令相同,在数据库服务器接收到操作指令之后,数据服务器根据需要操作的数据结构中包括的数据结构的类型,调用对应的操作接口对该数据结构进行操作。在本申请中,在数据库可以支持集合数据结构的基础上,用户无需学习大量的操作指令即可方便的对数据结构进行操作。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的概念在不同的实施例中不进行重复说明。
图2为本发明实施例提供的数据库操作方法的流程示意图。该方法的执行主体可以为数据库服务器,请参见图2,该方法可以包括:
S201、接收客户端发送的、待操作数据结构对应的操作指令,待操作数据结构中包括待操作数据结构的类型。
在数据库服务器中包括多个数据库,每一个数据库中包括多个数据结构。在用户的操作权限范围内,用户可以在客户端对数据库中的任意一个数据结构进行操作。在本发明实施例中,在任何一个数据库中,任意两个数据结构的key均不相同。
可选的,用户通过在客户端数据操作指令实现对数据结构进行操作。可选的,操作指令可以为插入指令、删除指令、更新指令等。可选的,操作指令中可以包括待操作数据结构的标识。待操作数据结构为数据库中的任意一个数据结构。
S202、在待操作数据结构中获取待操作数据结构的类型。
本发明实施例中的数据结构中包括数据结构的类型。可选的,可以通过数字、字母等表示数据结构的类型。例如,可以用“S”表示KV数据结构的类型、用“L”表示链表数据结构的类型、用“H”表示哈希数据结构的类型等。当然,在实际应用过程中,可以根据实际需要设置各个数据结构的类型的表示方式。
可选的,对于KV数据结构,数据结构的类型可以设置在KV数据结构的value中。例如,本发明实施例中的KV数据结构可以如表1所示:
表1
Figure BDA0001271220370000061
需要说明的是,表1只是以示例的形式示意KV数据结构,并非对KV数据结构中包括的内容的限定,在实际应用过程中,还可以根据实际需要设置KV数据结构中包括的内容,本发明实施例对此不作具体限定。
可选的,对于集合数据结构,数据结构的类型可以设置在集合数据结构的元信息的value中、及集合数据结构的数据信息的key中。
例如,本发明实施例中的集合数据结构中的元信息可以如表2所示:
表2
Figure BDA0001271220370000071
需要说明的是,表2只是以示例的形式示意集合数据结构中的元信息,并非对元信息中包括的内容的限定,在实际应用过程中,还可以根据实际需要设置元信息中包括的内容,本发明实施例对此不作具体限定。
例如,本发明实施例中的集合数据结构中的数据信息可以如表3所示:
表3
Figure BDA0001271220370000072
需要说明的是,表3只是以示例的形式示意集合数据结构中的数据信息,并非对数据信息中包括的内容的限定,在实际应用过程中,还可以根据实际需要设置数据信息中包括的内容,本发明实施例对此不作具体限定。
可选的,可以根据如下可行的实现方式获取待操作数据结构的类型:若待操作数据结构为KV数据结构,则在待操作数据结构的value中获取待操作数据结构的类型。若待操作数据结构为集合数据结构,则获取待操作数据结构的元信息,并在元信息中的value中获取待操作数据结构的类型。
S203、根据操作指令和待操作数据结构的类型,确定操作接口。
在本发明实施例中,针对相同类型的操作,不同类型的数据结构对应的操作接口不同。例如,数据结构的类型和操作接口的对应关系可以如表4所示:
表4
Figure BDA0001271220370000081
可选的,可以确定操作指令对应的操作类型,并根据操作指令对应的操作类型和待操作数据结构的类型,确定操作接口。
S204、根据操作接口,对待操作数据结构进行操作。
在确定得到操作接口之后,可以通过调用操作接口实现对待操作数据结构进行操作。
本发明实施例提供的数据库操作方法,在数据结构中包括数据结构的类型,这样,在接收到客户端发送的、待操作数据结构对应的操作指令之后,可以在所述待操作数据结构中获取所述待操作数据结构的类型,根据所述操作指令和所述待操作数据结构的类型,确定操作接口,并根据所述操作接口,对所述待操作数据结构进行操作。在上述过程中,在数据库可以支持集合数据结构的基础上,用户无需学习大量的操作指令即可方便的对数据结构进行操作,简化用户操作,进而提高用户体验。
在图2所示实施例的基础上,可选的,在集合数据结构中包括多个数据信息,在用户对集合数据结构操作时,通常为对数据信息的操作,例如,在集合数据结构中增加数据信息、更新数据信息、删除数据信息等。下面,通过图3所示的实施例,对数据库服务器对集合数据结构进行操作的过程进行详细说明。
图3为本发明实施例提供的对集合数据结构操作方法的流程示意图。请参见图3,该方法可以包括:
S301、根据待操作数据结构的标识和待操作数据信息的标识,确定查找标识。
在图3所示的实施例中,当用户需要对集合数据结构中的数据信息进行操作时,可以在操作指令中携带待操作数据结构的标识和待操作数据信息的标识,以指示数据库服务器对待操作数据结构中的待操作数据信息进行操作。
请参见表3,集合数据集结构中数据信息的key中通常包括数据结构的标识和数据信息的标识,因此,数据库服务器可以根据待操作数据结构的标识和待操作数据信息的标识,确定查找标识,以使数据库服务器可以根据查找标识获取待操作数据信息。
S302、根据查找标识,确定待操作数据信息。
S303、在待操作信息的key中获取待操作数据结构的类型。
在正常情况下,一个集合数据结构的元信息中包括的数据结构的类型、应该与数据信息中包括的数据结构的类型相同。但是,在实际应用过程中,当用户对数据库中的数据进行误操作、或者数据库被恶意攻击时,可能会导致一个集合数据结构的元信息中包括的数据结构的类型、与数据信息中包括的数据结构的类型不同。
S304、判断待操作信息中数据结构的类型与待操作数据结构的元信息中的数据结构的类型是否相同。
若是,则执行S305。
若否,则执行S306。
S305、根据操作接口,对待操作数据信息进行操作。
若待操作信息中数据结构的类型与待操作数据结构的元信息中的数据结构的类型相同,则说明用户对待操作数据信息的操作正常,且待操作数据信息也是安全的,因此,数据库服务器可以根据操作接口,对待操作数据信息进行操作。
S306、向客户端发送操作异常通知。
若待操作信息中数据结构的类型与待操作数据结构的元信息中的数据结构的类型不相同,则说明用户对待操作数据信息的操作异常,或者待操作数据信息中存在安全隐患,因此,数据库服务器可以向客户端发送操作异常通知,以提醒用户无法对待操作数据信息进行正常操作。
在图3所示的实施例中,通过在用户对集合数据结构中的数据信息进行操作的过程中,通过对数据信息中的数据结构的类型进行验证,以确定用户可以对集合数据结构中的数据信息进行正确、安全的操作,进而提高了数据库操作的安全性。
在上述任意一个实施例的基础上,为了确定同一数据库中任意两个数据结构的key(数据结构的标识)均不相同,可选的,可以通过如下可行的实现方式创建数据结构。具体的,请参见图4所示的实施例。需要说明的是,数据库服务器创建任意一个数据结构的方法类型,下面,以创建待操作数据结构的过程为例,对创建数据结构的方法进行详细说明。
图4为本发明实施例提供的创建数据结构方法的流程示意图。请参见图4,该方法可以包括:
S401、接收客户端发送的创建指令,创建指令中包括待操作数据结构的标识和待操作数据结构的类型。
在用户需要在数据库中创建数据结构时,用户首先在客户端选择一个当前数据库。例如,用户可以在客户端输入select db1,以实现选择一个当前数据库。需要说明的是,在用户选择当前数据库之后,用户请求的所有操作则在当前数据库中进行操作。
在用户选择完当前数据库之后,用户可以在客户端向数据库服务器发送创建指令,并在创建指令中携带待操作数据结构的标识和待操作数据结构的类型。
S402、确定创建指令对应的当前数据库。
可选的,数据库将用户在S401之前选择的数据库确定为当前数据库。
S403、判断当前数据库中是否包括待操作数据结构的标识对应的数据结构。
若是,则执行S404。
若否,则执行S405。
S404、向客户端发送创建异常通知。
若判断当前数据库中包括待操作数据结构的标识,则说明当前数据库中已经存在待操作数据结构的标识对应的数据结构。为了避免在当前数据库中创建key相同的两个数据结构,则数据库服务器向客户端发送创建异常通知,以提醒用户创建失败,当然,还可以提醒用户修改创建指令中包括的待操作数据结构的标识。
S405、确定待操作数据结构的类型对应的创建接口,并根据创建接口创建待操作数据结构。
若判断当前数据库中不包括待操作数据结构的标识,则可以确定待操作数据结构的类型对应的创建接口,并根据创建接口创建待操作数据结构。当然,在创建完成待操作数据结构之后,还可以向客户端发送创建成功的响应消息。
在图4所示的实施例中,在创建数据结构时,通过判断当前数据库中是否已经存在待操作数据结构的标识对应的数据结构,可以保证当前数据库中任意两个数据结构的key均不相同。
图5为本发明实施例提供的数据库服务器的结构示意图一。请参见图5,该数据库服务器包括接收模块11、获取模块12、第一确定模块13及操作模块14,其中,
所述接收模块11用于,接收客户端发送的、待操作数据结构对应的操作指令,所述待操作数据结构中包括所述待操作数据结构的类型;
所述获取模块12用于,在所述待操作数据结构中获取所述待操作数据结构的类型;
所述第一确定模块13用于,根据所述操作指令和所述待操作数据结构的类型,确定操作接口;
所述操作模块14用于,根据所述操作接口,对所述待操作数据结构进行操作。
本发明实施例提供的数据库服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述获取模块12具体用于:
若所述待操作数据结构为KV数据结构,则在所述待操作数据结构的value中获取所述待操作数据结构的类型;
若所述待操作数据结构为集合数据结构,则获取所述待操作数据结构的元信息,并在所述元信息中的value中获取所述待操作数据结构的类型。
在另一种可能的实施方式中,所述待操作数据结构为集合数据结构,所述操作指令中还包括待操作数据信息的标识;相应的,所述操作模块14具体用于:
根据所述待操作数据结构的标识和所述待操作数据信息的标识,确定查找标识;
根据所述查找标识,确定所述待操作数据信息;
根据所述操作接口,对所述待操作数据信息进行操作。
在另一种可能的实施方式中,所述操作模块14具体用于:
在所述待操作信息的key中获取所述待操作数据结构的类型;
判断所述待操作信息中数据结构的类型与所述待操作数据结构的元信息中的数据结构的类型是否相同;
若是,则根据所述操作接口,对所述待操作数据信息进行操作;
若否,则向所述客户端发送操作异常通知。
图6为本发明实施例提供的数据库服务器的结构示意图二。在图5所示实施例的基础上,请参见图6,所述数据库服务器还包括第二确定模块15、判断模块16、发送模块17和创建模块18,其中,
所述接收模块11还用于,在所述接收模块11接收客户端发送的、待操作数据结构对应的操作指令之前,接收所述客户端发送的创建指令,所述创建指令中包括所述待操作数据结构的标识和所述待操作数据结构的类型;
所述第二确定模块15用于,确定所述创建指令对应的当前数据库;
所述判断模块16用于,判断所述当前数据库中是否包括所述待操作数据结构的标识对应的数据结构;
所述发送模块17用于,在所述判断模块16判断所述当前数据库中包括所述待操作数据结构的标识对应的数据结构时,向所述客户端发送创建异常通知;
所述创建模块18用于,在所述判断模块16判断所述当前数据库中不包括所述待操作数据结构的标识对应的数据结构时,确定所述待操作数据结构的类型对应的创建接口,并根据所述创建接口创建所述待操作数据结构。
在另一种可能的实施方式中,所述待操作数据结构的类型包括:KV类型、链表类型、哈希类型、set类型。
本发明实施例提供的数据库服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。

Claims (10)

1.一种数据库操作方法,其特征在于,包括:
接收客户端发送的、待操作数据结构对应的操作指令,所述待操作数据结构中包括所述待操作数据结构的类型;
在所述待操作数据结构中获取所述待操作数据结构的类型;
根据所述操作指令和所述待操作数据结构的类型,确定操作接口;
根据所述操作接口,对所述待操作数据结构进行操作;
其中,所述待操作数据结构为集合数据结构,所述操作指令中还包括待操作数据信息的标识;相应的,根据所述操作接口,对所述待操作数据结构进行操作,包括:
根据所述待操作数据结构的标识和所述待操作数据信息的标识,确定查找标识;
根据所述查找标识,确定所述待操作数据信息;
根据所述操作接口,对所述待操作数据信息进行操作。
2.根据权利要求1所述的方法,其特征在于,在所述待操作数据结构中获取所述待操作数据结构的类型,包括:
若所述待操作数据结构为KV数据结构,则在所述待操作数据结构的value中获取所述待操作数据结构的类型;
若所述待操作数据结构为集合数据结构,则获取所述待操作数据结构的元信息,并在所述元信息中的value中获取所述待操作数据结构的类型。
3.根据权利要求1所述的方法,其特征在于,根据所述操作接口,对所述待操作数据信息进行操作,包括:
在待操作数据信息的key中获取所述待操作数据结构的类型;
判断所述待操作数据信息中数据结构的类型与所述待操作数据结构的元信息中的数据结构的类型是否相同;
若是,则根据所述操作接口,对所述待操作数据信息进行操作;
若否,则向所述客户端发送操作异常通知。
4.根据权利要求1或2所述的方法,其特征在于,接收客户端发送的、待操作数据结构对应的操作指令之前,还包括:
接收所述客户端发送的创建指令,所述创建指令中包括所述待操作数据结构的标识和所述待操作数据结构的类型;
确定所述创建指令对应的当前数据库;
判断所述当前数据库中是否包括所述待操作数据结构的标识对应的数据结构;
若是,则向所述客户端发送创建异常通知;
若否,则确定所述待操作数据结构的类型对应的创建接口,并根据所述创建接口创建所述待操作数据结构。
5.根据权利要求1或2所述的方法,其特征在于,所述待操作数据结构的类型包括:KV类型、链表类型、哈希类型、set类型。
6.一种数据库服务器,其特征在于,包括接收模块、获取模块、第一确定模块及操作模块,其中,
所述接收模块用于,接收客户端发送的、待操作数据结构对应的操作指令,所述待操作数据结构中包括所述待操作数据结构的类型;
所述获取模块用于,在所述待操作数据结构中获取所述待操作数据结构的类型;
所述第一确定模块用于,根据所述操作指令和所述待操作数据结构的类型,确定操作接口;
所述操作模块用于,根据所述操作接口,对所述待操作数据结构进行操作;
其中,所述待操作数据结构为集合数据结构,所述操作指令中还包括待操作数据信息的标识;相应的,所述操作模块具体用于:
根据所述待操作数据结构的标识和所述待操作数据信息的标识,确定查找标识;
根据所述查找标识,确定所述待操作数据信息;
根据所述操作接口,对所述待操作数据信息进行操作。
7.根据权利要求6所述的数据库服务器,其特征在于,所述获取模块具体用于:
若所述待操作数据结构为KV数据结构,则在所述待操作数据结构的value中获取所述待操作数据结构的类型;
若所述待操作数据结构为集合数据结构,则获取所述待操作数据结构的元信息,并在所述元信息中的value中获取所述待操作数据结构的类型。
8.根据权利要求6所述的数据库服务器,其特征在于,所述操作模块具体用于:
在所述待操作数据信息的key中获取所述待操作数据结构的类型;
判断所述待操作数据信息中数据结构的类型与所述待操作数据结构的元信息中的数据结构的类型是否相同;
若是,则根据所述操作接口,对所述待操作数据信息进行操作;
若否,则向所述客户端发送操作异常通知。
9.根据权利要求6所述的数据库服务器,其特征在于,所述数据库服务器还包括第二确定模块、判断模块、发送模块和创建模块,其中,
所述接收模块还用于,在所述接收模块接收客户端发送的、待操作数据结构对应的操作指令之前,接收所述客户端发送的创建指令,所述创建指令中包括所述待操作数据结构的标识和所述待操作数据结构的类型;
所述第二确定模块用于,确定所述创建指令对应的当前数据库;
所述判断模块用于,判断所述当前数据库中是否包括所述待操作数据结构的标识对应的数据结构;
所述发送模块用于,在所述判断模块判断所述当前数据库中包括所述待操作数据结构的标识对应的数据结构时,向所述客户端发送创建异常通知;
所述创建模块用于,在所述判断模块判断所述当前数据库中不包括所述待操作数据结构的标识对应的数据结构时,确定所述待操作数据结构的类型对应的创建接口,并根据所述创建接口创建所述待操作数据结构。
10.根据权利要求6所述的数据库服务器,其特征在于,所述待操作数据结构的类型包括:KV类型、链表类型、哈希类型、set类型。
CN201710248138.7A 2017-04-17 2017-04-17 数据库操作方法及数据库服务器 Active CN107169032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710248138.7A CN107169032B (zh) 2017-04-17 2017-04-17 数据库操作方法及数据库服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710248138.7A CN107169032B (zh) 2017-04-17 2017-04-17 数据库操作方法及数据库服务器

Publications (2)

Publication Number Publication Date
CN107169032A CN107169032A (zh) 2017-09-15
CN107169032B true CN107169032B (zh) 2020-06-23

Family

ID=59849281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710248138.7A Active CN107169032B (zh) 2017-04-17 2017-04-17 数据库操作方法及数据库服务器

Country Status (1)

Country Link
CN (1) CN107169032B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109983B (zh) * 2017-12-29 2021-11-09 北京京东尚科信息技术有限公司 一种操作Redis数据库的方法和装置
CN109981767A (zh) * 2019-03-20 2019-07-05 浪潮商用机器有限公司 Hana数据库访问方法、装置、系统、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014207737A1 (en) * 2013-06-24 2014-12-31 Rotem Achi Achi Cdbms (cloud database management system) distributed logical unit repository

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110087709A1 (en) * 2009-10-12 2011-04-14 Ramani Sriram Methods and system for dynamic database content persistence and information management
CN104267932B (zh) * 2014-08-12 2017-11-07 广州华多网络科技有限公司 数据库操作方法、装置及服务器
CN104573115B (zh) * 2015-02-04 2019-03-22 北京慧辰资道资讯股份有限公司 支持多类型数据库操作的集成接口的实现方法及系统
CN105468717B (zh) * 2015-11-20 2020-11-10 北京百度网讯科技有限公司 数据库操作方法和装置
CN106055590A (zh) * 2016-05-23 2016-10-26 环球大数据科技有限公司 基于大数据及图数据库的电力网络数据处理方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014207737A1 (en) * 2013-06-24 2014-12-31 Rotem Achi Achi Cdbms (cloud database management system) distributed logical unit repository

Also Published As

Publication number Publication date
CN107169032A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN110737658B (zh) 数据分片存储方法、装置、终端及可读存储介质
US10999721B2 (en) Communication identifier binding processing method and terminal
CN109408132A (zh) 一种配置文件处理方法及服务器、用户终端、存储介质
CN107169032B (zh) 数据库操作方法及数据库服务器
CN103747010A (zh) 一种通过移动终端控制pc的方法、系统及装置
CN109495874B (zh) Profile下载的方法和装置
CN111600794B (zh) 服务器切换方法、终端、服务器及存储介质
EP3506599B1 (en) Method for synchronizing contact information, apparatus and medium
EP2544474A1 (en) Method and device for processing service command information
US20140108579A1 (en) Method and apparatus for processing message
CN105376636A (zh) 填写验证码的方法、辅助方法、智能电视及智能移动终端
CN110674168A (zh) 一种缓存键异常检测方法、装置、存储介质以及终端
CN106557262B (zh) 一种数据处理方法及装置
CN115563134A (zh) 一种交互方法、装置、电子设备、计算机可读介质
CN114928610A (zh) 数据更新的通知方法、数据处理方法、装置、设备和介质
CN114020311A (zh) 固件升级方法、装置及电子设备
CN109800229B (zh) 数据访问方法及相关设备
CN110012040B (zh) 一种移动终端中多状态的挂件更新方法及系统
CN111258896A (zh) 自动化造数断点续造方法、装置及计算机可读存储介质
CN110839101A (zh) 一种基于黑名单的呼叫策略方法
US11323482B2 (en) Methods, systems, and media for protecting computer systems from user-created objects
CN110175305B (zh) 数据处理方法、装置、计算机设备和存储介质
CN111770361B (zh) 图片处理方法、装置、设备及计算机可读存储介质
EP4148577A2 (en) Method and apparatus of responding to client fault detection with update operation, electronic device, and storage medium
CN113590580A (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