CN113239070A - 数据查询方法、装置及电子设备 - Google Patents
数据查询方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113239070A CN113239070A CN202110679146.3A CN202110679146A CN113239070A CN 113239070 A CN113239070 A CN 113239070A CN 202110679146 A CN202110679146 A CN 202110679146A CN 113239070 A CN113239070 A CN 113239070A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- relational database
- query
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013500 data storage Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000012216 screening Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请是关于一种数据查询方法、装置及电子设备。该方法包括:在获取到关系型数据库的数据查询请求后,在非关系型数据库中根据数据类型和目标键值,获取目标值;其中,目标字段预先存储于非关系型数据库,目标字段包括目标键值和目标值;根据目标值,获得目标字段对应的目标ID;其中,目标ID预先存储于非关系型数据库,并与目标字段串对应;根据目标ID,在关系型数据库获取对应的全量数据。本申请的方法,可以利用目标字段,精准查询目标字段的相关数据,且查询速度快、效率高,解决了在关系型数据库无法对该类字段无法精确查找的问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据查询方法、装置及电子设备。
背景技术
JSON(JavaScript Object Notation)是一种与编程语言无关的、轻量级的数据存储格式,其采用完全独立于编程语言的文本格式来存储和表示数据。JSON以其易用性被广泛应用。例如,在开发设计中,针对一部分不关心内容的数据,在某个字段可以用JSON字符串的样式存储在MySQL(MySQL是一个关系型数据库管理系统)数据库。
在后期如果想筛选该字段,通常是通过MySQL数据库提供的like关键字的形式去进行模糊查询。然而,这样的查询方式,无法精确查找该字段中的数据。
发明内容
为克服相关技术中存在的问题,本申请提供一种数据查询方法、装置及电子设备,能够在数据库中精准查询某字段的相关数据。
本申请第一方面提供一种数据查询方法,其包括:
在获取到关系型数据库的数据查询请求后,在非关系型数据库中根据数据类型和目标键值,获取对应的目标值;其中,目标字段预先存储于非关系型数据库,所述目标字段包括所述目标键值和对应的所述目标值;
根据所述目标值,获得所述目标字段对应的目标ID;其中,所述目标ID预先存储于所述非关系型数据库,并与所述目标字段对应;
根据所述目标ID,在所述关系型数据库获取对应的数据。
在其中一个实施例中,所述数据查询请求根据在查询界面输入的查询字段生成。
在其中一个实施例中,所述目标ID预先存储于所述非关系型数据库,并与所述目标字段对应,包括:
预先获取所述关系型数据库中存储的主键ID及对应的目标字段;
根据所述主键ID,在所述非关系型数据库中对应存储形成所述目标ID。
在其中一个实施例中,所述方法还包括:
预先存储附加数据于所述非关系型数据库;
根据所述附加数据、所述数据类型和所述目标键值,获取符合预设附加范围的所述目标值。
在其中一个实施例中,所述非关系型数据库包括MySQL数据库,所述非关系型数据库包括MongoDB数据库,所述目标字段包括目标JSON字符串。
本申请第二方面提供一种数据查询装置,其包括:
数据存储模块,用于将目标字段和对应的数据类型预先存储于非关系型数据库,所述目标字段包括目标键值和目标值;
目标值获取模块,用于在获取到关系型数据库的数据查询请求后,在所述非关系型数据库中根据所述数据类型和所述目标键值,获取对应的所述目标值;
目标ID获取模块,用于根据所述目标值,获得所述目标字段对应的目标ID;其中,所述目标ID预先存储于所述非关系型数据库,并与所述目标字段对应;
数据获取模块,用根据所述目标ID,在所述关系型数据库获取对应的数据。
在其中一个实施例中,所述装置还包括:
查询配置模块,用于配置查询界面,以根据在所述查询界面输入的查询字段生成所述数据查询请求。
在其中一个实施例中,所述装置还包括:
附加数据存储模块,用于预先存储附加数据于所述非关系型数据库;
所述目标值获取模块用于根据所述附加数据、所述数据类型和所述目标键值,获取符合预设附加范围的所述目标值。
本申请第三方面提供了一种电子设备,包括:处理器和存储器;所述存储器,用于存储可执行代码;所述处理器,用于通过调用所述可执行代码,以执行如上述任一实施例中的数据查询方法。
本申请第四方面提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述任一实施例中的数据查询方法。
本申请的数据查询方法,为了实现在关系型数据库中精准查询JSON字符串等这类目标字段的相关数据,通过在非关系型数据库中预先存储目标字段,根据数据类型和目标键值,获取目标值;再根据目标值,获得对应的目标ID;根据目标ID,即可在关系型数据库中获得对应的全量数据。这样的设计,可以利用目标字段,精准查询目标字段的相关数据,且查询速度快、效率高,解决了在关系型数据库无法对该类字段无法精确查找的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1为本申请一实施例中的数据查询方法的流程示意图;
图2为本申请另一实施例中的数据查询方法的流程示意图;
图3为本申请一实施例中数据查询装置的结构示意图;
图4为本申请一实施例中数据查询装置的另一结构示意图;
图5为本申请一实施例中电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
相关技术中,基于MySQL数据库的关系型数据库的特性,在对JSON字符串的字段进行查询时,只能采用like关键字的形式去进行模糊查询。然而,这样的查询方式,无法精确查找该字段中的数据。
针对上述问题,本申请实施例提供一种数据查询方法、装置及电子设备,能够在数据库中精准查询某字段的相关数据。
为了便于理解本申请实施例方案,以下结合附图详细描述本申请实施例的技术方案。
请参阅图1,图1是本申请一实施例示出的数据查询方法的流程示意图。
如图1所示,本申请的一实施例中,提供一种数据查询方法,其包括:
步骤S110,在获取到关系型数据库的数据查询请求后,在非关系型数据库中根据数据类型和目标键值,获取对应的目标值;其中,目标字段预先存储于非关系型数据库,目标字段包括目标键值和对应的目标值。
在其中一个实施例中,目标字段包括目标JSON字符串,目标JSON字符串包括目标键值和目标值。相关技术中,目标JSON字符串存储于关系型数据库中,例如MySQL数据库中。由于关系型数据库即MySQL数据库不具备精确查询的功能,本实施例中,将目标字段另外再同步存储于非关系型数据库中,通过非关系型数据库的精准查询从而解决关系型数据库只能模糊查询的问题。
在一实施例中,非关系型数据库为MongoDB数据库。目标JSON字符串在存储于MySQL数据库的同时,预先再同步存储于MongoDB数据库中。相比于作为关系型数据库的MySQL数据库,MongoDB数据库是基于分布式文件存储的数据库,与MySQL数据库为不同类型的数据库,从而具有不同的数据查询特性。通过将目标JSON字符串同时存储于不同类型的数据库中,使MongoDB数据库作为MySQL数据库的辅助查询手段进行目标JSON字符串的查询。
在一实施例中,目标JSON字符串的数据结构为{key1:value1,key2:value2,...}的键值对结构。其中,key为键值,代表对象的属性,value为对应的值。可以理解,目标JSON字符串包括目标键值和目标值,目标键值与目标值具有对应的映射关系,通过目标键值即可找到对应的目标值。进一步的,由于MySQL数据库中存储的数据类型众多,不同的数据类型亦可以包括同一目标JSON字符串,为了精准找到对应类型的目标JSON字符串,通过对目标JSON字符串标记数据类型,从而可以确保精准查询。在一个实施例,数据类型与对应的目标JSON字符串一并存储于MongoDB数据库中。
步骤S120,根据目标值,获得目标字段对应的目标ID;其中,目标ID预先存储于非关系型数据库,并与目标字段对应。相关技术中,在关系型数据库中进行数据存储时,例如使用MySQL数据库建表时,一般会创建自增字段,并将自增字段作为主键。在一实施例中,自增字段为自增ID,每一自增ID互不相同。自增ID即为对应的主键ID,通过将自增ID作为主键时,可以提高MySQL数据库的存储效率。相关技术中,主键ID用于标识数据的存储节点,该节点具有对应存储的全量数据。也就是说,全量数据即为当前主键ID对应的节点在表中对应的所有的数据。因此,主键ID的获取至关重要,只有获取了主键ID,才可以查找对应的数据。在本实施例中,目标ID即为主键ID。
进一步的,本实施例中,目标ID预先存储于非关系型数据库,并与目标字段对应;因此,目标值作为目标字段中的一部分,在查找到目标值后,根据目标值,即可获得目标字段对应的目标ID,从而获得主键ID。通过在非关系型数据库,例如MongoDB数据库预先存储目标键值和目标值,即可根据目标键值精准查询获得目标值,继而根据目标值获取目标ID。这样的设计,弥补了MySQL数据库无法精准查询获得目标值的缺陷。
步骤S130,根据目标ID,在关系型数据库获取对应的数据。
可以理解,获得目标ID,即获得主键ID。根据主键ID,在MySQL数据库获取主键ID所在节点对应的数据。在其中一个实施例中,获取对应的数据可以是主键ID对应的全量数据。
需要了解的是,同一个目标字段可以出现于不同的主键ID所对应的节点下的数据中。由于关系型数据库本身只能进行模糊查询,无法精确查找到目标字段的目标值,从而无法获得对应的目标ID,继而无法筛选出对应的全量数据。综上,本申请的数据查询方法,为了实现在关系型数据库中精准查询目标字段的相关数据,通过在非关系型数据库中预先存储目标字段,根据数据类型和目标键值,获取目标值;再根据目标值,获得对应的目标ID;根据目标ID,即可在关系型数据库中获得对应的全量数据。这样的设计,可以利用目标字段,精准查询目标字段的相关数据,且查询速度快、效率高,解决了在关系型数据库无法对该类字段无法精确查找的问题。
在一实施例中,目标字段包括目标JSON字符串,关系型数据库为MySQL数据库,非关系型数据库为MongoDB数据库。参加图2,结合本实施例为例,进一步介绍本申请的数据查询方法。
参见图2,该数据查询方法,包括:
步骤S210,预先将目标JSON字符串及对应的数据类型及目标ID存储于MongoDB数据库中;其中,目标JSON字符串包括目标值和目标键值。
相关技术中,在MySQL数据库中进行本地存储的数据包括主键ID和JSON字符串。可以理解,根据主键ID,即可获取该主键ID所在节点对应的全量数据。然而,开发人员无法直接获知MySQL数据库的主键ID和JSON字符串的目标值,为了解决这一技术问题,本申请的方法预先将MySQL的JSON字符串作为目标JSON字符串,将主键ID作为目标ID,并将目标JSON字符串、及对应的数据类型及目标ID存储于MongoDB数据库中。
可以理解,MySQL数据库的主键ID即为本申请的MongoDB数据库中的目标ID,MySQL数据库的JSON字符串即为MongoDB数据库中的目标JSON字符串。为了便于后续步骤获得目标ID,在一实施例中,预先获取MySQL数据库中存储的主键ID及对应的目标JSON字符串;根据主键ID,在MongoDB数据库中对应存储形成目标ID。基于主键ID是在MySQL数据库通过自增获得,MongoDB数据库在同步存储目标JSON字符串时,同步复制存储主键ID,形成MongoDB数据库的_id字段,即目标ID。
为了便于理解,以MySQL数据库中的JsonContent列作为目标JSON字符串进行示例。例如,MySQL数据库中的目标JSON字符串的存储内容是{“type”:“001”,“name”:“zhangsan”},主键ID为699763。也就是说,数据类型type为001,目标键值为name,目标值为zhangsan。目标JSON字符串对应的主键ID为699763。相应地,如下表1所示,将目标JSON字符串及对应的数据类型和目标ID存储于MongoDB数据库中。
表1:
根据上表可知,MongoDB数据库将MySQL数据库中的主键ID和对应的目标JSON字符串及数据类型均同步关联于同一表中,使各元素形成对应的关联关系。
可以理解,本申请中,只需要将目标JSON字符串及对应的数据类型及目标ID存储于MongoDB数据库中,这样的设计,一方面,额外的存储并不会占据较多的系统内存,另一方面,可以通过MongoDB数据库的存储和查询功能对MySQL数据库的模糊查询进行方案补偿,即可以精确查找获得JSON字符串的目标值,继而获得目标ID,即主键ID,从而获得MySQL数据库中所需的全量数据。
为了进一步缩小数据的查询范围,在一实施例中,本申请的方法还包括:预先存储附加数据于MongoDB数据库;根据附加数据、数据类型和目标键值,获取符合预设附加范围的目标值。也就是说,相对于获取全量数据,为了进一步缩小全量数据中的数据范围,提高筛选效率,可以预先在MongoDB数据库中进一步存储附加数据,以便后续根据预设附加范围进行筛选,以在全量数据中获得符合预设附加范围的相关数据。例如,在一实施例中,附加数据为年龄(age)。为例便于理解,结合上述目标JSON字符串{“type”:“001”,“name”:“zhangsan”}为例,在一实施例中,在存储目标JSON字符串于MongoDB数据库的同时,将zhangsan(即姓名为张三的用户)的年龄作为附加数据同步存储于MongoDB数据库中。例如zhangsan的年龄为20,当设定的预设附加范围为18岁至30岁的用户,则zhangsan的年龄符合预设附加范围,其属于可供筛选获得的数据。相反地,如果zhangsan的年龄为40岁,则不符合预设附加范围的年龄范围,从而不会筛选获得,从而缩小数据获取范围,提高筛选效率。当然,预设附加范围可以根据查找目标进行对应调整,并不固定。
当然,在其他实施例中,本申请的附加数据不仅限于年龄,还可以是其他类型的附加数据,例如地理位置、性别、身高等。针对不同类型的附加数据,对应的预设附加范围亦相应变化。通过将一个或多个不同类型的附加数据与对应的目标JSON字符串预先一并存储于MongoDB数据库,从而以便后续根据对应的预设附加范围进行范围筛选,减少不必要的数据显示,便于开发人员查看数据。
步骤S220,根据数据类型、目标值和目标键值的关联关系,预先配置目标值的查询界面。
为了便于快速获取目标值,在一实施例中,预先配置可视化的查询界面,以便后续步骤可以通过查询界面输入数据类型和目标键值,获得对应的目标值。结合表1和下表2所示,下表2即为一实施例中的查询界面。通过预先配置查询界面,便于后续步骤230可以在配置好的查询界面中分别输入数据类型type和目标键值key,即可获得对应的目标值value。
表2:
Type | Name(即Value) | Key |
001 | 姓名: | name |
可以理解,通过预先构建上述可视化的查询界面,便于开发人员直观地发起查询和显示查询结果。
进一步地,由于用户名相同者不止一人,例如由多人的姓名均为zhangsan(张三),可以通过设置范围,从而进行筛选。当需要进行范围查找时,还可以在上述表2的查询界面增加预设附加范围,从而进一步缩小查询范围。例如,当附加数据为年龄时,查询界面可以调整为下表3所示,这样的设计,从而过滤掉无用数据,保留符合预设附加范围的数据。
表3:
Type | Value | Key | Age/预设附加范围 |
可以理解,作为预先操作的步骤,步骤S210和步骤S220可以不分先后顺序进行,也可同步进行。
步骤S230,根据在查询界面输入的查询字段生成数据查询请求,获取目标值。
基于MySQL数据库无法进行字段精确查找的问题,当需要在MySQL数据库找到相关数据时,通过在查询界面输入查询字段,即可生成MySQL数据库对应的查询请求,继而请求在MongoDB数据库中获取目标值。其中,本实施例中,输入的查询字段为数据类型和目标键值;从而生成对应的目标值的数据查询请求。在一实施例中,输入的查询字段还包括预设附加范围,从而生成符合预设附加范围的目标值的数据查询请求。即根据对查询结果的范围的需求,输入不同的查询字段,以获得对应的查询结果。
步骤S240,根据目标值,获得目标JSON字符串在MongoDB数据库中对应的目标ID。
可以理解,目标ID与目标JSON字符串具有对应关系,每一目标JSON字符串均具有对应的目标ID。而同一目标JSON字符串可以对应不同的目标ID。因此,根据目标值,获取的MongoDB数据库中对应的目标ID可以不仅限于一个。例如,当具有多个相同姓名的用户,例如姓名均为zhangsan时,该目标JSON字符串所对应的目标ID可能不同。本申请中,通过获取目标值,例如目标值为zhangsan,即可对应筛选出所有zhangsan的目标ID,继而实现精准查询各目标ID对应的在MySQL数据库的全量数据。
步骤S250,根据目标ID,获得在MySQL数据库对应的全量数据。
根据查询MongoDB数据库所获得的一个或多个目标ID,基于MongoDB数据库的目标ID即为MySQL数据库的主键ID,继而获得在MySQL数据库对应的主键ID。根据各主键ID,分别获得MySQL数据库中对应的全量数据的相关记录,实现数据的精准查询。
综上,本实施例的数据查询方法,可以通过在MongoDB数据库预先存储目标JSON字符串及对应的数据类型及目标ID,根据预先配置的查询界面,即可在可视化的查询界面直观地根据数据类型及目标键值,生成MySQL数据库的数据查询请求,从而请求获得在MongoDB数据库存储的对应的目标值,继而根据目标值获得在MongoDB数据库中对应的目标ID。根据目标ID即可获得在MySQL数据库的主键ID,继而获得对应的全量数据,实现直观、快速、高效且精准地数据查询;与此同时,还可以通过在MongoDB数据库预先存储与目标JSON字符串对应的附加数据,从而根据预设附加范围进一步进行范围查询,缩小数据查询范围,筛除无关数据,提高查询效率。这样的设计,可以将MySQL数据库中存储的JSON字符串的“死”数据变活,通过MongoDB数据库的基于内存的nosql数据库的特性,对字段是JSON字符串的数据查询速度明显提高,而且也可以解决关系型数据库无法对该类字段无法精确查找和范围查找的问题。
与前述应用功能实现方法实施例相对应,本申请还提供了一种数据查询装置、电子设备及相应的实施例。
图3是本申请实施例示出的数据查询装置的结构示意图。
参见图3,本申请一实施例的数据查询装置400包括:数据存储模块410,目标值获取模块420、目标ID获取模块430及数据获取模块440,其中:
数据存储模块410,用于将目标字段和对应的数据类型预先存储于非关系型数据库,目标字段包括目标键值和目标值;
目标值获取模块420用于根据数据类型和目标键值,获取目标值。
目标ID获取模块430用于在获取到关系型数据库的数据查询请求后,在非关系型数据库中根据目标值,获得目标字段对应的目标ID;其中,目标ID预先存储于非关系型数据库,并与目标字段对应。
数据获取模块440用根据目标ID,在关系型数据库获取对应的数据。
参见图4,进一步地,在一实施例中,本申请的装置还包括查询配置模块450,用于配置查询界面,以根据在查询界面输入的查询字段生成数据查询请求。在一实施例中,本申请的装置还包括ID同步存储模块460,ID同步存储模块460用于预先获取关系型数据库中存储的主键ID及对应的目标字段;根据主键ID,在非关系型数据库中对应存储形成目标ID。在一实施例中,本申请的装置还包括附加数据存储模块470,附加数据存储模块470用于预先存储附加数据于非关系型数据库;所述目标值获取模块420用于根据附加数据、数据类型和目标键值,获取符合预设附加范围的目标值。
在一实施例中,本申请的目标字段包括目标JSON字符串,非关系型数据库可以是MongoDB数据库,关系型数据库可以是MySQL数据库。
本申请的数据查询装置,通过数据存储模块410将目标JSON字符串和对应的数据类型预先存储于MongoDB数据库,及通过ID同步存储模块460预先将目标JSON字符串在MySQL数据库的主键ID在MongoDB数据库对应形成目标ID,并通过查询配置模块450预先构建查询界面,使得后续目标值获取模块420可以通过查询界面,根据数据类型和目标键值,获取目标值,继而使目标ID获取模块430根据目标值获取对应的目标ID;最后使数据获取模块440根据目标ID在MySQL数据库获取对应的数据。这样的设计,弥补MySQL数据库无法精确获得目标值而导致的无法获得主键ID的缺陷,实现对目标值和目标ID的精确查询;同时,还可以通过附加数据存储模块470在MongoDB数据库预先存储附加数据,从而便于使目标值获取模块420进一步根据附加数据、数据类型和目标键值,获取符合预设附加范围的目标值,从而实现范围查询,提高查询效率。
如图5所示,数据查询装置500包括存储器510和处理器520。
处理器520可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器510可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器520或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器510可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器510可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器510上存储有可执行代码,当可执行代码被处理器520处理时,可以使处理器520执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种数据查询方法,其特征在于,包括:
在获取到关系型数据库的数据查询请求后,在非关系型数据库中根据数据类型和目标键值,获取对应的目标值;其中,目标字段预先存储于非关系型数据库,所述目标字段包括所述目标键值和对应的所述目标值;
根据所述目标值,获得所述目标字段对应的目标ID;其中,所述目标ID预先存储于所述非关系型数据库,并与所述目标字段对应;
根据所述目标ID,在关系型数据库获取对应的数据。
2.根据权利要求1所述的方法,其特征在于:
所述数据查询请求根据在查询界面输入的查询字段生成。
3.根据权利要求1所述的方法,其特征在于,所述目标ID预先存储于所述非关系型数据库,并与所述目标字段对应,包括:
预先获取所述关系型数据库中存储的主键ID及对应的目标字段;
根据所述主键ID,在所述非关系型数据库中对应存储形成所述目标ID。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
预先存储附加数据于所述非关系型数据库;
根据所述附加数据、所述数据类型和所述目标键值,获取符合预设附加范围的所述目标值。
5.根据权利要求1至3中任一项所述的方法,其特征在于:
所述非关系型数据库包括MySQL数据库,所述非关系型数据库包括MongoDB数据库,所述目标字段包括目标JSON字符串。
6.一种数据查询装置,其特征在于,包括:
数据存储模块,用于将目标字段和对应的数据类型预先存储于非关系型数据库,所述目标字段包括目标键值和对应的目标值;
目标值获取模块,用于在获取到关系型数据库的数据查询请求后,在所述非关系型数据库中根据所述数据类型和所述目标键值,获取对应的所述目标值;
目标ID获取模块,用于根据所述目标值,获得所述目标字段对应的目标ID;其中,所述目标ID预先存储于所述非关系型数据库,并与所述目标字段对应;
数据获取模块,用根据所述目标ID,在所述关系型数据库获取对应的数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
查询配置模块,用于配置查询界面,以根据在所述查询界面输入的查询字段生成所述数据查询请求。
8.根据权利要求6至7任一项所述的装置,其特征在于,所述装置还包括:
附加数据存储模块,用于预先存储附加数据于所述非关系型数据库;
所述目标值获取模块用于根据所述附加数据、所述数据类型和所述目标键值,获取符合预设附加范围的所述目标值。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-5中任一项所述的方法。
10.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679146.3A CN113239070A (zh) | 2021-06-18 | 2021-06-18 | 数据查询方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679146.3A CN113239070A (zh) | 2021-06-18 | 2021-06-18 | 数据查询方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113239070A true CN113239070A (zh) | 2021-08-10 |
Family
ID=77140457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679146.3A Pending CN113239070A (zh) | 2021-06-18 | 2021-06-18 | 数据查询方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239070A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153659A (zh) * | 2021-11-29 | 2022-03-08 | 众和空间(北京)科技有限责任公司 | 一种数据的双模式存储及同步系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262969A (zh) * | 2019-06-13 | 2019-09-20 | 泰康保险集团股份有限公司 | 报表测试方法、装置、电子设备及计算机可读存储介质 |
CN111190929A (zh) * | 2019-12-27 | 2020-05-22 | 四川师范大学 | 数据存储查询方法、装置、电子设备及存储介质 |
CN111522850A (zh) * | 2020-04-23 | 2020-08-11 | 京东数字科技控股有限公司 | 一种数据对象的存储和查询方法、装置、设备和存储介质 |
CN111930780A (zh) * | 2020-10-12 | 2020-11-13 | 上海冰鉴信息科技有限公司 | 数据查询方法及系统 |
CN112883030A (zh) * | 2021-02-19 | 2021-06-01 | 南京苏宁软件技术有限公司 | 数据收集方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-18 CN CN202110679146.3A patent/CN113239070A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262969A (zh) * | 2019-06-13 | 2019-09-20 | 泰康保险集团股份有限公司 | 报表测试方法、装置、电子设备及计算机可读存储介质 |
CN111190929A (zh) * | 2019-12-27 | 2020-05-22 | 四川师范大学 | 数据存储查询方法、装置、电子设备及存储介质 |
CN111522850A (zh) * | 2020-04-23 | 2020-08-11 | 京东数字科技控股有限公司 | 一种数据对象的存储和查询方法、装置、设备和存储介质 |
CN111930780A (zh) * | 2020-10-12 | 2020-11-13 | 上海冰鉴信息科技有限公司 | 数据查询方法及系统 |
CN112883030A (zh) * | 2021-02-19 | 2021-06-01 | 南京苏宁软件技术有限公司 | 数据收集方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153659A (zh) * | 2021-11-29 | 2022-03-08 | 众和空间(北京)科技有限责任公司 | 一种数据的双模式存储及同步系统 |
CN114153659B (zh) * | 2021-11-29 | 2022-09-20 | 众和空间(北京)科技有限责任公司 | 一种数据的双模式存储及同步系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9317541B2 (en) | Apparatus, systems, and methods for batch and realtime data processing | |
US11030247B2 (en) | Layered graph data structure | |
US7634465B2 (en) | Indexing and caching strategy for local queries | |
US20200226133A1 (en) | Knowledge map building system and method | |
CN109508420B (zh) | 一种知识图谱属性的清洗方法及装置 | |
US9299098B2 (en) | Systems for generating a global product taxonomy | |
US20130091138A1 (en) | Contextualization, mapping, and other categorization for data semantics | |
CN110134681B (zh) | 数据存储与查询方法、装置、计算机设备及存储介质 | |
CN113220659B (zh) | 一种数据迁移的方法、系统、电子装置和存储介质 | |
CN110399359B (zh) | 一种数据回溯方法、装置及设备 | |
CN104182459B (zh) | 用于将内容呈现给用户的系统和方法 | |
CN113672977A (zh) | 隐私数据处理方法和装置 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
JP2002099561A (ja) | データ変換方法およびデータ変換システム並びに記憶媒体 | |
CN112084291A (zh) | 信息推荐方法及装置 | |
CN113239070A (zh) | 数据查询方法、装置及电子设备 | |
CN113407565B (zh) | 跨库数据查询方法、装置和设备 | |
US11531706B2 (en) | Graph search using index vertices | |
JP2019109782A (ja) | クエリ生成プログラム、クエリ生成方法およびクエリ生成装置 | |
CN116483829A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN111008198A (zh) | 业务数据获取方法、装置、存储介质、电子设备 | |
CN111159214B (zh) | 一种api的访问方法、装置、电子设备及存储介质 | |
CN109840259B (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
US20170177672A1 (en) | Flexible text searching for data objects of object notation |
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 |