CN106777293A - 数据存储和查找方法及装置 - Google Patents

数据存储和查找方法及装置 Download PDF

Info

Publication number
CN106777293A
CN106777293A CN201611250181.9A CN201611250181A CN106777293A CN 106777293 A CN106777293 A CN 106777293A CN 201611250181 A CN201611250181 A CN 201611250181A CN 106777293 A CN106777293 A CN 106777293A
Authority
CN
China
Prior art keywords
data
key
request
storage
type
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
Application number
CN201611250181.9A
Other languages
English (en)
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611250181.9A priority Critical patent/CN106777293A/zh
Publication of CN106777293A publication Critical patent/CN106777293A/zh
Pending legal-status Critical Current

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

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

Abstract

本发明公开了一种数据存储和查找方法及装置,所述方法包括:接收数据存储请求,确定请求存储的数据的数据类型;若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储;数据键值对包含数据键和数据值,接收数据查找请求,确定请求查找的数据的数据类型;若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。利用本方案,通过将数据类型为链表的数据按照数据键值对的方式以链表顺序进行存储,以便在查找时,可以根据链表顺序进行查找。利用链表本身具有顺序的特性,极大的提高了查找的速度,节省查找时花费的时间和终端设备的开销。

Description

数据存储和查找方法及装置
技术领域
本发明涉及计算机软件领域,具体涉及一种数据存储和查找方法及装置。
背景技术
在处理数据时,涉及到对数据的存储、查找等多方面的相关操作。数据的存储方式会影响到数据查找时的速度、效率等。尤其在数据量比较大的情况下,在大量的存储数据中进行数据查找时,会花费更多的时间和处理器的开销,以及影响到后续的数据处理等操作。
例如,将数据按照在已存储数据的末尾追加存储的方式进行存储。在查找时,需要将数据按照存储的顺序从头至尾进行查找,若存储的数据有5000个时,最差的情况可能需要进行5000次的查找,才能找到数据。花费的时间和处理器的开销会非常大,查找的速度慢,效率低下。因此,需要一种数据存储和查找方法,有效的提高数据查找的速度和效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据存储和查找方法及装置。
根据本发明的一个方面,提供了一种数据存储和查找方法,其包括:
接收数据存储请求,确定请求存储的数据的数据类型;
若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储,数据键值对包含数据键和数据值;
接收数据查找请求,确定请求查找的数据的数据类型;
若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。
根据本发明的另一方面,提供了一种数据存储和查找装置,其包括:
存储请求模块,适于接收数据存储请求,确定请求存储的数据的数据类型;
存储模块,适于若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储,数据键值对包含数据键和数据值;
查找请求模块,适于接收数据查找请求,确定请求查找的数据的数据类型;
查找模块,适于若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。
根据本发明提供的数据存储和查找方法及装置,接收数据存储请求,确定请求存储的数据的数据类型;若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储。接收数据查找请求,确定请求查找的数据的数据类型;若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。通过将数据类型为链表的数据按照数据键值对方式以链表顺序进行存储,以便在查找时,可以根据链表顺序进行查找。利用链表本身具有顺序的特性,极大的提高了查找的速度,节省查找时花费的时间和终端设备的开销。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的数据存储和查找方法的流程示意图;
图2示出了根据本发明另一个实施例的数据存储和查找方法的流程示意图;
图3示出了根据本发明一个实施例的数据存储和查找装置的功能框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的数据存储和查找方法的流程示意图。如图1所示,数据存储和查找方法具体包括如下步骤:
步骤S101,接收数据存储请求,确定请求存储的数据的数据类型。
接收数据存储请求后,先确定该请求存储的数据的数据类型。请求存储的数据的数据类型可能存在多种多样,如链表数据类型、哈希数据类型、set数据类型、zset数据类型、key-value数据类型、超时key-value数据类型等。其中,链表数据类型的数据与其他各种数据类型不同之处在于链表数据类型的数据具有前后顺序,而其他各种数据类型不具有前后顺序。本发明主要针对数据类型为链表数据类型的数据存储请求进行处理。
步骤S102,判断请求存储的数据的数据类型是否为链表。
在确定请求存储的数据的数据类型后,判断请求存储的数据的数据类型是否为链表,若是,执行步骤S103。否则,本方法结束,不做处理。
步骤S103,将数据以数据键值对的方式按照链表顺序进行存储。
存储时,将请求存储的数据以数据键值对的方式进行存储。其中,数据键值对中包含了数据键和数据值,即Key和Value。数据值为链表中的数据,数据键可以为链表中的顺序,如1、2、3、4等;或者还可以为预先设置的用于标识链表中数据的特定值,此处不做限定。
同时,在存储时,数据存储的顺序按照链表本身的前后顺序进行存储。为记录链表顺序,在数据键中除记录当前数据的数据键,还记录当前数据的前一数据的数据键、当前数据的后一数据的数据键。如当前数据的数据键为3,当前数据的前一数据的数据键为2,当前数据的后一数据的数据键为4,当前数据的数据键可以记录为3-2-4;通过数据键可以很清楚的了解到数据的顺序为2、3、4;或者当前数据的数据键为1,当前数据没有前一数据,当前数据的后一数据的数据键为2,当前数据的数据键可以记录为1-X-2;通过数据键可以很清楚的了解到数据的顺序为1、2;或者当前数据的数据键为5,当前数据没有后一数据,当前数据的前一数据的数据键为4,当前数据的数据键可以记录为5-4-X;通过数据键可以很清楚的了解到数据的顺序为4、5。上述举例说明中,数据键第一位为当前数据的数据键,第二位为当前数据的前一数据的数据键,第三位为当前数据的后一数据的数据键,之间通过“-”进行连接,当前一数据的数据键或后一数据的数据键不存在时,用“X”代替。在具体记录时,关于当前数据的数据键、当前数据的数据键的前一数据的数据键和后一数据的数据键的记录方式、连接方式等,可以根据实施情况进行设置,此处不做限定。
步骤S104,接收数据查找请求,确定请求查找的数据的数据类型。
接收数据查找请求,确定请求查找的数据的数据类型。请求查找的数据可以为如链表数据类型、哈希数据类型、set数据类型、zset数据类型、key-value数据类型、超时key-value数据类型等。此处的数据类型均为广义的数据类型,即符合该数据类型特点的数据,而不是仅仅限定为数据类型定义为具体的如List、Hash Table等的数据类型。
步骤S105,判断请求查找的数据的数据类型是否为链表。
在确定请求查找的数据的数据类型后,判断请求查找的数据的数据类型是否为链表,若是,执行步骤S106。否则,本方法结束,不做处理。本发明主要针对数据类型为链表数据类型的数据查找请求进行处理。
此处所指的链表为广义的链表,即符合链表特征,数据间具有顺序限定的所有数据类型。如步骤S103存储方式的链表类型。数据间通过数据键标明了数据间的顺序。这种数据的数据类型也符合本步骤判断的链表。
步骤S106,根据链表顺序,获取对应的数据值。
由于链表数据类型本身的顺序特性,数据间具有前后顺序关系。因此根据链表顺序,可以快速的获取到对应的数据值。根据请求查找的数据中的顺序关系和接收到的数据查找请求,如请求查找的数据包括数据键1-X-2,数据值a;数据键2-1-3,数据值b;数据键3-2-4,数据值c;数据键4-3-5,数据值d;数据键5-4-X,数据值e。数据查找请求为查找数据键为3的请求,可以根据请求查找的数据间的顺序,执行依次向后或向前的操作,来获取到数据键为3的数据值。以上为举例说明,实施时根据具体情况进行设置,此处不做限定。
需要说明的是,此处,不限定步骤S101-S103与步骤S104-S106的前后执行顺序。步骤S101-S103为数据存储步骤,步骤S104-S106为数据查找步骤,步骤S101-S103与步骤S104-S106在接收到相应的请求后,执行对应的步骤。
根据本发明提供的数据存储和查找方法,接收数据存储请求,确定请求存储的数据的数据类型;若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储。确定请求查找的数据的数据类型;若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。通过将数据类型为链表的数据按照数据键值对方式以链表顺序进行存储,以便在查找时,可以根据链表顺序进行查找。利用链表本身具有顺序的特性,极大的提高了查找的速度,节省查找时花费的时间和终端设备的开销。
图2示出了根据本发明另一个实施例的数据存储和查找方法的流程示意图。如图2所示,数据存储和查找方法具体包括如下步骤:
步骤S201,接收数据存储请求,确定请求存储的数据的数据类型。
步骤S202,判断请求存储的数据的数据类型是否为链表。
步骤S203,将数据以数据键值对的方式按照链表顺序进行存储。
以上步骤可参考图1中步骤S101-S103的描述,在此不再赘述。
步骤S204,统计请求存储的数据的元信息,将元信息以数据键值对的方式进行存储。
统计请求存储的数据的元信息,其中,元信息包括如数据个数、数据长度等信息,将元信息所包括的信息进行存储。存储时,以数据键值对的方式,如数据键标明要存储的信息,数据值存储具体的数据;具体的如数据键为size,数据值为5,标明数据个数为5个等。具体存储的元信息可以根据实际情况进行设置,此处不做限定。
步骤S205,接收数据查找请求,确定请求查找的数据的数据类型。
接收数据查找请求,确定请求查找的数据的数据类型。如请求查找的数据可以为如链表数据类型、哈希数据类型、set数据类型、zset数据类型、key-value数据类型、超时key-value数据类型等。此处的数据类型均为广义的数据类型,即符合该数据类型特点的数据,而不是仅仅限定为数据类型定义为具体的如List、Hash Table等的数据类型。
步骤S206,判断请求查找的数据的数据类型是否为链表。
在确定请求查找的数据的数据类型后,判断请求查找的数据的数据类型是否为链表,若是,执行步骤S207。否则,本方法结束,不做处理。本发明主要针对数据类型为链表数据类型的数据查找请求进行处理。
步骤S207,根据链表顺序,执行向前或向后查找的操作,获取待查找数据的数据键及其对应的数据值。
若数据查找请求中携带有待查找数据的数据键,如请求查找的数据包括数据键1-X-2,数据值a;数据键2-1-3,数据值b;数据键3-2-4,数据值c;数据键4-3-5,数据值d;数据键5-4-X,数据值e。数据查找请求中携带有待查找数据的数据键为3,若在查找时并不清楚请求查找的数据中的任何顺序,可以先查看请求查找的数据开始位置的数据键1-X-2,再执行依次向后查找的操作。再次查看数据键2-1-3,可以得知数据键3为本次数据键2的后一数据,执行向后查找操作即可获取到数据键3及其对应的数据值c;或者在查找时已经获取到数据键2-1-3,根据数据键中所标明的顺序,可以执行向后查找的操作,获取到数据键3及其对应的数据值c;或者在查找时已经获取到数据键4-3-5,根据数据键中所标明的顺序,可以执行向前查找的操作,获取到数据键3及其对应的数据值c。
进一步,若数据查找请求中携带有待查找数据的链表顺序序号时,步骤S207还可以进一步替换为根据待查找数据的链表顺序序号,获取待查找数据的数据键及其对应的数据值(图中未示出)。如请求查找的数据本身具有顺序,第1个数据的数据键1-X-2,数据值a;第2个数据的数据键2-1-3,数据值b;第3个数据的数据键3-2-4,数据值c;第4个数据的数据键4-3-5,数据值d;第5个数据的数据键5-4-X,数据值e。数据查找请求中携带有待查找数据的链表顺序序号为4,可以直接从请求查找的数据中获取第4个数据的数据键4-3-5,及其对应的数据值d。
以上为举例说明,实施时根据具体情况进行设置,此处不做限定。
根据本发明提供的数据存储和查找方法,在存储时可以进一步存储请求存储的数据的元信息,方便用户对请求存储的数据的相关信息如数据个数、数据长度等更了解,以便执行对数据的相关操作。同时,根据数据查找请求所携带的信息不同,可以根据链表顺序,执行向前或向后查找的操作,获取待查找数据的数据键及其对应的数据值,或者根据待查找数据的链表顺序序号,获取待查找数据的数据键及其对应的数据值。充分利用链表本身具有顺序的特性,极大的提高了查找的速度,节省查找时花费的时间和终端设备的开销。
图3示出了根据本发明一个实施例的数据存储和查找装置的功能框图。如图3所示,数据存储和查找装置包括如下模块:
存储请求模块310,适于接收数据存储请求,确定请求存储的数据的数据类型。
存储请求模块310接收数据存储请求后,先确定该请求存储的数据的数据类型。请求存储的数据的数据类型可能存在多种多样,如链表数据类型、哈希数据类型、set数据类型、zset数据类型、key-value数据类型、超时key-value数据类型等。其中,链表数据类型的数据与其他各种数据类型不同之处在于链表数据类型的数据具有前后顺序,而其他各种数据类型不具有前后顺序。本发明主要针对数据类型为链表数据类型的数据存储请求进行处理。
存储模块320,适于若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储。
存储请求模块310确定请求存储的数据的数据类型后,若请求存储的数据的数据类型为链表,存储模块320对请求存储的数据进行存储。存储时,存储模块320将请求存储的数据以数据键值对的方式进行存储。其中,数据键值对中包含了数据键和数据值,即Key和Value。数据值为链表中的数据,数据键可以为链表中的顺序,如1、2、3、4等;或者存储模块320还可以为预先设置的用于标识链表中数据的特定值,此处不做限定。
同时,存储模块320在存储时,数据存储的顺序按照链表本身的前后顺序进行存储。为记录链表顺序,存储模块320在数据键中除记录当前数据的数据键,还记录当前数据的前一数据的数据键、当前数据的后一数据的数据键。如当前数据的数据键为3,当前数据的前一数据的数据键为2,当前数据的后一数据的数据键为4,存储模块320将当前数据的数据键可以记录为3-2-4;通过数据键可以很清楚的了解到数据的顺序为2、3、4;或者当前数据的数据键为1,当前数据没有前一数据,当前数据的后一数据的数据键为2,存储模块320将当前数据的数据键可以记录为1-X-2;通过数据键可以很清楚的了解到数据的顺序为1、2;或者当前数据的数据键为5,当前数据没有后一数据,当前数据的前一数据的数据键为4,存储模块320将当前数据的数据键可以记录为5-4-X;通过数据键可以很清楚的了解到数据的顺序为4、5。上述举例说明中,数据键第一位为当前数据的数据键,第二位为当前数据的前一数据的数据键,第三位为当前数据的后一数据的数据键,存储模块320将之间通过“-”进行连接,当前一数据的数据键或后一数据的数据键不存在时,存储模块320用“X”代替。在具体记录时,关于当前数据的数据键、当前数据的数据键的前一数据的数据键和后一数据的数据键的记录方式、连接方式等,可以根据实施情况进行设置,此处不做限定。
进一步,存储模块320还适于统计请求存储的数据的元信息,其中,元信息包括如数据个数、数据长度等信息。存储模块320将元信息以数据键值对的方式进行存储。存储时,存储模块320以数据键值对的方式,如数据键标明要存储的信息,数据值存储具体的数据;具体的如数据键为size,数据值为5,标明数据个数为5个等。存储模块320存储的元信息可以根据实际情况进行设置,此处不做限定。
查找请求模块330,适于接收数据查找请求,确定请求查找的数据的数据类型。
查找请求模块330接收数据查找请求,确定请求查找的数据的数据类型。请求查找的数据可以为如链表数据类型、哈希数据类型、set数据类型、zset数据类型、key-value数据类型、超时key-value数据类型等。此处的数据类型均为广义的数据类型,即符合该数据类型特点的数据,而不是仅仅限定为数据类型定义为具体的如List、Hash Table等的数据类型。
查找模块340,适于若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。
查找请求模块330在确定请求查找的数据的数据类型后,若请求查找的数据的数据类型为链表,查找模块340根据链表顺序,获取对应的数据值。此处所指的链表为广义的链表,即符合链表特征,数据间具有顺序限定的所有数据类型。
由于链表数据类型本身的顺序特性,数据间具有前后顺序关系。因此查找模块340根据链表顺序,可以快速的获取到对应的数据值。查找模块340根据请求查找的数据中的顺序关系和接收到的数据查找请求,如请求查找的数据包括数据键1-X-2,数据值a;数据键2-1-3,数据值b;数据键3-2-4,数据值c;数据键4-3-5,数据值d;数据键5-4-X,数据值e。数据查找请求为查找数据键为3的请求,查找模块340可以根据请求查找的数据间的顺序,执行依次向后或向前的操作,来获取到数据键为3的数据值。
查找模块340进一步适于根据链表顺序,执行向前或向后查找的操作,以获取待查找数据的数据键及其对应的数据值。若数据查找请求中携带有待查找数据的数据键,如请求查找的数据包括数据键1-X-2,数据值a;数据键2-1-3,数据值b;数据键3-2-4,数据值c;数据键4-3-5,数据值d;数据键5-4-X,数据值e。数据查找请求中携带有待查找数据的数据键为3,若在查找时并不清楚请求查找的数据中的任何顺序,查找模块340可以先查看请求查找的数据开始位置的数据键1-X-2,再执行依次向后查找的操作。查找模块340再次查看数据键2-1-3,可以得知数据键3为本次数据键2的后一数据,查找模块340执行向后查找操作即可获取到数据键3及其对应的数据值c;或者在查找时查找模块340已经获取到数据键2-1-3,根据数据键中所标明的顺序,查找模块340可以执行向后查找的操作,获取到数据键3及其对应的数据值c;或者查找模块340在查找时已经获取到数据键4-3-5,根据数据键中所标明的顺序,查找模块340可以执行向前查找的操作,获取到数据键3及其对应的数据值c。
查找模块340进一步适于根据待查找数据的链表顺序序号,获取待查找数据的数据键及其对应的数据值。若数据查找请求中携带有待查找数据的链表顺序序号,如请求查找的数据本身具有顺序,第1个数据的数据键1-X-2,数据值a;第2个数据的数据键2-1-3,数据值b;第3个数据的数据键3-2-4,数据值c;第4个数据的数据键4-3-5,数据值d;第5个数据的数据键5-4-X,数据值e。数据查找请求中携带有待查找数据的链表顺序序号为4,查找模块340可以直接从请求查找的数据中获取第4个数据的数据键4-3-5,及其对应的数据值d。
以上为举例说明,实施时根据具体情况进行设置,此处不做限定。
根据本发明提供的数据存储和查找装置,接收数据存储请求,确定请求存储的数据的数据类型;若请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储。在存储时还可以进一步存储请求存储的数据的元信息,方便用户对请求存储的数据的相关信息如数据个数、数据长度等更了解,以便执行对数据的相关操作。接收数据查找请求,确定请求查找的数据的数据类型;若请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。同时,根据数据查找请求所携带的信息不同,可以根据链表顺序,执行向前或向后查找的操作,获取待查找数据的数据键及其对应的数据值,或者根据待查找数据的链表顺序序号,获取待查找数据的数据键及其对应的数据值。充分利用了链表本身具有顺序的特性,极大的提高了查找的速度,节省查找时花费的时间和终端设备的开销。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据存储和查找装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种数据存储和查找方法,包括:
接收数据存储请求,确定请求存储的数据的数据类型;
若所述请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储,所述数据键值对包含数据键和数据值;
接收数据查找请求,确定请求查找的数据的数据类型;
若所述请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。
2.根据权利要求1所述的方法,其中,所述数据键记录有:
当前数据的数据键,以及
前一数据的数据键和/或后一数据的数据键。
3.根据权利要求1或2所述的方法,其中,所述数据查找请求携带有待查找数据的数据键;
所述根据链表顺序,获取对应的数据值进一步包括:根据链表顺序,执行向前或向后查找的操作,以获取待查找数据的数据键及其对应的数据值。
4.根据权利要求1所述的方法,其中,所述数据查找请求携带有待查找数据的链表顺序序号;
所述根据链表顺序,获取对应的数据值进一步包括:根据待查找数据的链表顺序序号,获取待查找数据的数据键及其对应的数据值。
5.根据权利要求1-4任一项所述的方法,若所述请求存储的数据的数据类型为链表,所述方法还包括:
统计请求存储的数据的元信息,将元信息以数据键值对的方式进行存储。
6.一种数据存储和查找装置,包括:
存储请求模块,适于接收数据存储请求,确定请求存储的数据的数据类型;
存储模块,适于若所述请求存储的数据的数据类型为链表,则将数据以数据键值对的方式按照链表顺序进行存储,所述数据键值对包含数据键和数据值;
查找请求模块,适于接收数据查找请求,确定请求查找的数据的数据类型;
查找模块,适于若所述请求查找的数据的数据类型为链表,则根据链表顺序,获取对应的数据值。
7.根据权利要求6所述的装置,其中,所述数据键记录有:
当前数据的数据键,以及
前一数据的数据键和/或后一数据的数据键。
8.根据权利要求6或7所述的装置,其中,所述数据查找请求携带有待查找数据的数据键;
所述查找模块进一步适于:根据链表顺序,执行向前或向后查找的操作,以获取待查找数据的数据键及其对应的数据值。
9.根据权利要求6所述的装置,其中,所述数据查找请求携带有待查找数据的链表顺序序号;
所述查找模块进一步适于:根据待查找数据的链表顺序序号,获取待查找数据的数据键及其对应的数据值。
10.根据权利要求6-8任一项所述的装置,其中,所述存储模块还适于:统计请求存储的数据的元信息,将元信息以数据键值对的方式进行存储。
CN201611250181.9A 2016-12-29 2016-12-29 数据存储和查找方法及装置 Pending CN106777293A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611250181.9A CN106777293A (zh) 2016-12-29 2016-12-29 数据存储和查找方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611250181.9A CN106777293A (zh) 2016-12-29 2016-12-29 数据存储和查找方法及装置

Publications (1)

Publication Number Publication Date
CN106777293A true CN106777293A (zh) 2017-05-31

Family

ID=58927987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611250181.9A Pending CN106777293A (zh) 2016-12-29 2016-12-29 数据存储和查找方法及装置

Country Status (1)

Country Link
CN (1) CN106777293A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101643A (zh) * 2018-08-21 2018-12-28 智久(厦门)机器人科技有限公司上海分公司 数据信息表的构建、抗伪点全局匹配方法、装置及机器人

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890675A (zh) * 2011-07-18 2013-01-23 阿里巴巴集团控股有限公司 一种数据存储和查找的方法及装置
CN103106222A (zh) * 2011-11-15 2013-05-15 阿里巴巴集团控股有限公司 定时器的处理方法及装置
CN103995848A (zh) * 2014-05-06 2014-08-20 百度在线网络技术(北京)有限公司 图片搜索方法及装置
CN104346347A (zh) * 2013-07-25 2015-02-11 深圳市腾讯计算机系统有限公司 数据存储方法、装置、服务器及系统
CN104809135A (zh) * 2014-01-27 2015-07-29 腾讯科技(深圳)有限公司 一种数据存取方法及装置
CN105302889A (zh) * 2015-10-16 2016-02-03 北京奇虎科技有限公司 数据存储结构的转换方法及装置
CN105389334A (zh) * 2015-10-16 2016-03-09 北京奇虎科技有限公司 数据存储结构的转换方法及装置
CN106202548A (zh) * 2016-07-25 2016-12-07 网易(杭州)网络有限公司 数据存储方法、查找方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890675A (zh) * 2011-07-18 2013-01-23 阿里巴巴集团控股有限公司 一种数据存储和查找的方法及装置
CN103106222A (zh) * 2011-11-15 2013-05-15 阿里巴巴集团控股有限公司 定时器的处理方法及装置
CN104346347A (zh) * 2013-07-25 2015-02-11 深圳市腾讯计算机系统有限公司 数据存储方法、装置、服务器及系统
CN104809135A (zh) * 2014-01-27 2015-07-29 腾讯科技(深圳)有限公司 一种数据存取方法及装置
CN103995848A (zh) * 2014-05-06 2014-08-20 百度在线网络技术(北京)有限公司 图片搜索方法及装置
CN105302889A (zh) * 2015-10-16 2016-02-03 北京奇虎科技有限公司 数据存储结构的转换方法及装置
CN105389334A (zh) * 2015-10-16 2016-03-09 北京奇虎科技有限公司 数据存储结构的转换方法及装置
CN106202548A (zh) * 2016-07-25 2016-12-07 网易(杭州)网络有限公司 数据存储方法、查找方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101643A (zh) * 2018-08-21 2018-12-28 智久(厦门)机器人科技有限公司上海分公司 数据信息表的构建、抗伪点全局匹配方法、装置及机器人

Similar Documents

Publication Publication Date Title
CN112559554B (zh) 一种查询语句优化方法及装置
CN110728578A (zh) 区块链交易的并行执行方法、系统及存储介质
WO2014058711A1 (en) Creation of inverted index system, and data processing method and apparatus
US10217052B2 (en) Evaluating feature vectors across disjoint subsets of decision trees
CN104731828A (zh) 一种跨领域文档相似度计算方法及装置
CN106648568B (zh) 在表格上添加复选框的方法和装置
CN107480260A (zh) 大数据实时分析方法、装置、计算设备及计算机存储介质
CN109857853A (zh) 基于电子书的搜索方法、电子设备及计算机存储介质
CN106777293A (zh) 数据存储和查找方法及装置
CN108897865A (zh) 分布式集群的索引副本数量评估方法及装置
CN104376126A (zh) 在Linux驱动中绑定内核符号的方法及装置
US20140337672A1 (en) Reducing false-positive errors in a software change-impact analysis
CN107515916A (zh) 数据查询的性能优化方法及装置
US10761847B2 (en) Linear feedback shift register for a reconfigurable logic unit
CN109684632A (zh) 一种自然语义理解的方法、装置、计算设备
CN106776775A (zh) 并发主从同步方法及装置
CN102930200B (zh) 进程识别方法、装置和终端设备
CN102945342B (zh) 进程识别方法、装置和终端设备
CN105224649A (zh) 一种数据处理方法和装置
CN106570023A (zh) 一种爬虫系统自定义去重的方法及装置
CN109756231A (zh) 循环移位处理装置及方法
CN101650689A (zh) 一种非易失性数据的存储和检索方法及装置
CN104715065B (zh) 一种长查询词的搜索方法和装置
CN103106283B (zh) 去重处理方法及装置
CN110737465B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531