CN116932838B - 基于数据库的数据查询、更新、存储方法和装置 - Google Patents
基于数据库的数据查询、更新、存储方法和装置 Download PDFInfo
- Publication number
- CN116932838B CN116932838B CN202311178614.4A CN202311178614A CN116932838B CN 116932838 B CN116932838 B CN 116932838B CN 202311178614 A CN202311178614 A CN 202311178614A CN 116932838 B CN116932838 B CN 116932838B
- Authority
- CN
- China
- Prior art keywords
- character string
- string
- target
- bits
- candidate
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000013500 data storage Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 16
- 238000012216 screening Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (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
本申请公开了一种基于数据库的数据查询、更新、存储方法和装置,涉及数据处理技术领域,包括:解析针对待查询对象的查询请求中的第一对象属性字符串;确定第一对象属性字符串的N个比特位中的目标比特位和非目标比特位,并获取目标比特位对应的第一字符串构成的第一集合,以及获取非目标比特位对应的字符掩码构成的第二集合,根据第一集合和第二集合在候选数据库中确定出与查询请求匹配的目标字符串,目标字符串与第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同;第一字符串通过将第一对象属性字符串中的目标比特位的二进制值设置为目标值确定;字符掩码通过将第一对象属性字符串中的非目标比特位的二进制值设置为目标值确定。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种基于数据库的数据查询、更新、存储方法和装置。
背景技术
在数据库中,通常通过数据表中的一个数据字段来存储对象的一个对象特征,并且可以根据该数据字段的布尔型变量来区分对象特征的属性状态,在对象存在多个对象特征的情况下,一般通过数据表中的多个数据字段来分别存储对象的多个对象特征。
但是,每个对象特征通过一个独立的数据字段存储,会增加数据表中的数据字段的数量,从而增加了数据表在数据库中的占用空间;而且当需要查询具有多个对象特征的对象时,需要从每个数据字段中获取对象的对象特征的属性状态信息,每个对象特征的属性状态信息都需要进行查询条件的匹配,进而需要设置冗长的查询语句,通过冗长的查询语句在数据库中进行数据查询的过程中,还需要针对查询语句中每个数据中表征多个对象特征的多个数据字段进行查询,导致数据查询的算力消耗大,且明显降低数据查询效率。
针对相关技术中,通过多个数据字段存储对象的多个特征属性会占用数据库中较多存储资源,进而导致数据查询效率低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于数据库的数据查询、更新、存储方法和装置,以至少降低在数据中存储对象的多个特征属性的存储资源消耗,且进一步提升数据查询效率。
根据本申请实施例的一个实施例,提供了一种基于数据库的数据查询方法,包括:响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
根据本申请实施例的另一个实施例,提供了一种基于数据库的数据更新方法,包括:响应于针对第三对象属性字符串的更新请求,解析所述更新请求中的第二对象属性字符串,其中,所述第三对象属性字符串为待更新对象未更新之前的对象属性字符串,所述第二对象属性字符串包含N个比特位,不同所述比特位关联所述对待更新对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第二对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第二对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将所述第二对象属性字符串中对应的目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第二对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;根据所述第一集合和所述第二集合对所述待更新对象的第三对象属性字符串进行更新。
根据本申请实施例的一个实施例,还提供了一种基于数据库的数据存储方法,包括:确定目标对象的第四对象属性字符串,所述第四对象属性字符串包含N个比特位,不同所述比特位关联所述目标对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;将所述第四对象属性字符串作为候选字符串存储至候选数据库中;其中,所述候选数据库用于上述基于数据库的数据查询方法中。
根据本申请实施例的一个实施例,还提供了一种基于数据库的数据查询装置,包括:第一响应模块,用于响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;第一确定模块,用于确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的第一非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;第二确定模块,用于根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
根据本申请实施例的一个实施例,还提供了一种基于数据库的数据更新装置,包括:第二响应模块,用于响应于针对第三对象属性字符串的更新请求,解析所述更新请求中的第二对象属性字符串,其中,所述第三对象属性字符串为待更新对象未更新之前的对象属性字符串,所述第二对象属性字符串包含N个比特位,不同所述比特位关联所述待更新对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;第三确定模块,用于确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第二对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第二对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将所述第二对象属性字符串中对应的目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第二对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;更新模块,用于根据所述第一集合和所述第二集合对所述第三对象属性字符串进行更新。
根据本申请实施例的一个实施例,还提供了一种基于数据库的数据存储装置,包括:第四确定模块,用于确定目标对象的第四对象属性字符串,所述第四对象属性字符串包含N个比特位,不同所述比特位关联所述目标对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;存储模块,用于将所述第四对象属性字符串作为候选字符串存储至候选数据库中。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法。
根据本申请实施例的又一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的方法。
在本申请实施例中,由于将对象的多个对象特征存储在一个二进制对象属性字符串中,即将对象的多个对象特征存储在一个字段中,进而减少了候选数据库中存储空间的占用;以及由于将对象的多个对象特征存储在一个二进制对象属性字符串中,因此,可以通过第一对象属性字符串来表示用户的查询请求,在接收到查询请求的情况下,通过获取一个字段中存储的对象属性字符串即可获取候选对象的多个对象特征,减少了获取候选对象的对象特征的次数,减少了多个字段之间的逻辑运算和连接操作,进而提高了数据查询效率,进一步地,将查询请求中的第一对象属性字符串划分为第一集合和第二集合,以及根据每个候选对象的对象属性字符串、第一集合、第二集合在候选数据库中确定出与所述查询请求匹配的目标字符串,可以快速进行多个比特位的对象特征的匹配和筛选,解决了现有技术中,通过多个数据字段存储对象的多个特征属性会占用数据库中较多的存储资源,进而导致数据查询效率低的问题,减少了多个字段之间的逻辑运算和连接操作,从而提高了查询效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种基于数据库的数据存储、查询、更新方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的基于数据库的数据存储方法的流程图;
图3是根据本申请实施例的基于数据库的数据查询方法的流程图;
图4是根据本申请实施例的基于数据库的数据更新方法的流程图;
图5是本申请实施例的查询条件的输入界面的示意图;
图6是本申请实施例的查询结果的示意图;
图7是根据本申请示例性实施例的基于数据库的数据查询方法的流程图;
图8是根据本申请实施例的一种基于数据库的数据存储装置的结构框图;
图9是根据本申请实施例的一种基于数据库的数据查询装置的结构框图;
图10是根据本申请实施例的一种基于数据库的数据更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元;“多个”表示两个或两个以上。
本申请实施例所提供的方法实施例可以在计算机终端或者类似的运算装置或云平台或独立的物理服务器或软件平台中执行,其中,上述软件平台通过一个或者多个服务器进行运行。以运行在计算机终端上为例,图1是本申请实施例的一种基于数据库的数据存储、查询、更新方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了解决数据存储开销,本申请实施例中,用一个包含多个比特位的字符串(下文中称之为“对象属性字符串”)存储目标对象的对象特征的属性状态,具体地,本申请实施例中用一个包含N个比特位的对象属性字符串对目标对象的N个对象特征进行标识,并在每个比特位上用二进制值表示对应的对象特征的属性状态,即N个比特位中每个比特位与目标对象的一个对象特征关联,不同比特位关联的对象特征不同,比特位上的二进制值指示该比特位关联的对象特征的属性状态;进而本申请实施例中可以用一个对象属性字符串对目标对象的N个对象特征的属性状态进行存储,相较于现有技术而言极大减少了数据的存储开销,尤其是在车联网、智能驾驶、物联网、云计算、大数据等领域的海量数据的处理中,更为明显地减少了数据存储的开销;更进一步,在通过前述方式存储对象属性字符串后,则可以基于一个对象属性字符串进行N个对象特征的属性状态查询,极大的减少数据查询时的计算消耗以提升查询效率。
作为一种实施例,N为大于1的整数,本申请实施例对N的值不做具体限定,本申请实施例的N值可以但不局限于为2n,其中n为大于1的整数,如N可以为4、8、16、32或64等;如针对目标对象的包含N个比特位的第一对象属性字符串表示为“bnbn-1...b1”,其中,bn、bn-1、...、b1对应的比特位分别关联目标对象的第N个、第N-1个、...、第1个对象特征,bn、bn-1、...、b1为二进制值(即0或1),bn、bn-1、...、b1的具体值表征其对应的比特位关联的对象属性的属性状态;用i(i为大于0且不大于N的整数)作为比特位在第一对象属性字符串中的位置标志,其中,bi为1时可表示该目标对象的第i个对象特征的属性状态为第一属性状态,b1为0时可表示该目标对象的第i个对象特征的属性状态为第二属性状态等。
本申请实施例中对目标对象的类型及目标对象的对象特征不做限定,本领域的技术人员可根据实际需求设置,如目标对象可以但不限于是人、物品、车辆、设备或动物等中的任意一种或多种;
在目标对象为人时,目标对象的对象特征可以但不限于为性别、年龄、婚姻状态、工作地址等;在对象特征为性别时,则性别这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为男,女;在对象特征为年龄的情况下,年龄这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为大于X岁,小于等于X岁;在对象特征为婚姻状态的情况下,婚姻状态这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为已婚、未婚;在对象特征为工作地址的情况下,工作地址这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为位于X地区、不位于X地区。
在目标对象为车辆时,目标对象的对象属性可以但不限于是车辆的颜色、厂家、型号等;在对象特征为颜色的情况下,颜色这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为X颜色,非X颜色;在对象特征为厂家的情况下,厂家这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为X厂家,非X厂家;在对象特征为型号的情况下,型号这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为X型号、非X型号。
在目标对象为设备时,目标对象的对象属性可以但不限于是设备的颜色、联网状态、更新状态等;在对象特征为颜色的情况下,颜色这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为X颜色,非X颜色;在对象特征为联网状态的情况下,联网状态这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为联网,非联网;在对象特征为更新状态的情况下,更新状态这一对象特征的属性状态中的第一属性状态和第二属性状态可以分别为已更新、未更新。
需要说明的是,本实施例中的目标对象的数据包括但不限于:车联网、物联网、智能驾驶、云计算、区块链、大数据等领域的数据,车联网领域中的数据包括但不限于:车辆数据、用户数据、天气数据;智能驾驶领域的数据包括但不限于:路况数据、预测数据;云计算领域中的数据包括但不限于:用户数据、应用程序数据、***配置数据;区块链领域中的数据包括但不限于:交易记录和数据。大数据领域中的数据包括但不限于:用户数据、多媒体数据等。
本申请实施例提供的数据存储方法中将目标对象的多个对象特征存储在一个对象属性字符串中,相对于每个标识位使用单独的字段存储,可以极大地减少存储空间的占用。例如,使用一个int类型字段可以表示32个不同的对象特征,而只占用一个字段的存储空间。
而且通过对象属性字符串支持多个比特位,可以轻松地添加、删除或修改标识位,而不需要修改数据库表的结构。即将目标对象的对象特征存储在一个对象属性字符串中,具有较好的扩展性和灵活性,适应不断变化的需求。
更进一步的,相对于使用单独的字段存储,使用对象属性字符串来表示多个对象特征可以简化数据表结构,提高数据模型的可读性和可理解性。使得在数据库查询和数据分析时更加直观和方便。
以下分别对本申请实施例提供的数据存储、查询和更新方法进行详细说明。
在本实施例中提供了一种基于数据库的数据存储方法,图2是根据本申请实施例的基于数据库的数据存储方法的流程图,该流程包括如下步骤:
步骤S202,确定目标对象的第四对象属性字符串,所述第四对象属性字符串包含N个比特位,不同所述比特位关联所述目标对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
其中,关于第四对象属性字符串的设置方式可参考前述对象属性字符串的说明,此处不再重复叙述;为便于理解,此处给出一个车辆的第四对象属性字符串的示例,该示例中设置N为4,即第四对象属性字符串有四个比特位,且按照从右向左的顺序字符串中的第一个比特位至第四个比特位关联(即表示)的对象特征分别为“颜色”、“厂家”、“型号”、“发动机类型”,“颜色”的第一属性状态和第二属性状态分别为“X颜色”和“非X颜色”,“厂家”的第一属性状态和第二属性状态分别为“X厂家生产”和“非X厂家生产”,“型号”的第一属性状态和第二属性状态分别为“X型号”和“非X型号”,“发动机类型”的第一属性状态和第二属性状态分别为“第一发动机类型”和“第二发动机类型”;则可以在从右向左的第一个比特位上用二进制值中的1表示为X颜色,0表示非X颜色;在从右向左的第二个比特位上用二进制值中的1表示为X厂家生产,0表示非X厂家生产;在从右向左的第三个比特位上用二进制值中的1表示为X型号,0表示非X型号;在从右向左的第四个比特位上用二进制值中的1表示为第一发动机类型,0表示第二发动机类型;进而若目标对象为车辆,且该车辆的对象特征为X颜色、非X厂家生产、X型号、第二发动机类型的情况下,则该车辆的第四对象特征字符串为0101。
步骤S204,将所述第四对象属性字符串作为候选字符串存储至候选数据库中。
需要说明的是,本申请实施例中的候选数据库除了用于存储目标对象的多个对象特征的属性状态外,还可以用于基于数据库的数据查询方法和数据更新方法中。
基于同一发明构思,在本实施例中还提供了一种基于数据库的数据查询方法,该数据查询方法可以基于前述候选数据库实现,图3是根据本申请实施例的基于数据库的数据查询方法的流程图,应用于上述计算机终端,该流程包括如下步骤:
步骤S302,响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
作为一种实施例,上述第一对象属性字符串根据查询请求对应的查询条件确定的,即查询条件中可以指示一个或多个对象特征的属性状态,进而在步骤S302中可以根据查询条件指示的至少一个对象特征的属性状态确定第一对象属性字符串;例如,对象属性字符串中从右到左的第一个比特位关联颜色特征,第二个比特位关联厂家特征,第三个比特位关联更新特征,第四个比特位关联联网特征,在查询请求为“查询X颜色,非X厂家,未更新,已联网的设备”的情况下,确定查询条件为“X颜色、非X厂家、未更新、已联网”,其中“X颜色、非X厂家、未更新、已联网”分别为查询请求针对“颜色特征、厂家特征、更新特征、联网特征”这四个对象特征指示的属性状态,故而可以基于该查询条件确定第一对象属性字符串为1001。
步骤S304,确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位。
具体地,上述目标值可以是二进制值中的“1”,上述非目标值可以是二进制值中的“0”,第一集合可以理解为“二进制值为“1”的比特位对应的第一字符串的集合”;第二集合可以理解为“二进制值为“0”的比特位对应的字符掩码的集合”;举例来讲,在第一对象属性字符串为1001的情况下,则将1001中从左到右的第一个和第四个比特位确定为目标比特征,将1001中从左到右的第二个和第三个比特位确定为非目标比特征;
进一步地,在步骤S304中确定出N个比特位中的目标比特位和非目标比特位之后,针对每个目标比特征:可以将第一对象属性字符串中对应该目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值,得到该目标比特位对应的第一字符串;如第一对象属性字符串为1001的情况下,则针对1001中从右到左的第一个比特位上的目标比特位而言,可以得到该目标比特位对应的第一字符串为0001,针对1001中从右到左的第四个比特位上的目标比特位而言,可以得到该目标比特位对应的第一字符串为1000,进而得到第一集合为{1000,0001};
针对每个非目标比特位:可以将所述第一对象属性字符串中该非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值,得到该非目标比特位对应的字符掩码;如第一对象属性字符串为1001的情况下,则针对1001中从右到左的第二个比特位上的非目标比特位而言,可以得到该非目标比特位对应的字符掩码为0010,针对1001中从右到左的第三个比特位上的非目标比特位而言,可以得到该非目标比特位对应的字符掩码为0100,进而得到第二集合为{0100,0010}。
需要说明的是,上述非目标比特位还需要根据查询请求对应的查询条件确定,例如,对象属性字符串中从右到左的第一比特位关联颜色特征,第二比特位关联厂家特征,第三比特位关联更新特征,第四比特位关联联网特征,在查询条件为查询X颜色,未更新,已联网的设备的情况下,第一对象属性字符串为1001,由于查询条件仅包括查询第三比特位对应的对象特征,所以此时非目标比特位为第三比特位,不包含第二比特位,此时第二集合中的字符掩码仅包括:0100。
步骤S306,根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
需要说明的是,上述目标字符串用于指示与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同的字符串,即满足查询请求对应的查询条件的字符串,候选数据库中的目标对象的对象特征可以以对象属性字符串的形式保存,也可以以十进制的形式保存。
在以十进制的形式保存的情况下,获取目标对象的对象属性字符串,并将所述对象属性字符串转换成十进制形式。
通过上述步骤,由于将对象的多个对象特征存储在一个二进制对象属性字符串中,因此,可以通过第一对象属性字符串来表示用户的查询请求,在接收到查询请求的情况下,通过获取一个字段中存储的对象属性字符串即可获取候选对象的多个对象特征,减少了获取候选对象的对象特征的次数,减少了多个字段之间的逻辑运算和连接操作进而提高了数据查询效率,解决了现有技术中,通过多个数据字段存储对象的多个特征属性占用数据库中较多的存储空间,进而导致数据查询效率低的问题。
上述基于数据库的数据查询方式有很多种,本申请实施例提供了一种实现方式:
将所述第一集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串;以及将所述第二集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第二匹配字符串;根据第一匹配字符串和第二匹配字符串,确定所述目标字符串;其中,第一匹配字符串与第一对象属性字符串中一个或多个目标比特位的二进制值相同,第二匹配字符串与第一对象属性字符串中一个或多个非目标比特位的二进制值相同。
举例来讲,在上述第一对象属性字符串为“1001”的情况下,第一匹配字符串可以为“1011”,也可以为“1101”,还可以为“1001”,即第一匹配字符串中从右到左中的第一比特位与第四比特位中的二进制数值至少和第一对象属性字符串中从右到左中的第一比特位与第四比特位中的二进制数值相同,第一匹配字符串中从右到左中的第二比特位与第三比特位中的二进制数值可以和第一对象属性字符串中从右到左中的第二比特位与第三比特位中的二进制数值可以相同或不相同。
第二匹配字符串可以为“1001”,也可以为“0001”,还可以为“1000”,即第二匹配字符串中从右到左中的第二比特位与第三比特位中的二进制数值至少和第一对象属性字符串中从右到左中的第二比特位与第三比特位中的二进制数值相同,第二匹配字符串中从右到左中的第一比特位与第四比特位中的二进制数值可以和第一对象属性字符串中从右到左中的第一比特位与第四比特位中的二进制数值可以相同或不相同。
通过上述实施方式,可以获取与所述第一对象属性字符串对应的目标比特位的二进制值相同的第一匹配字符串,以及与所述第一对象属性字符串对应的非目标比特位的二进制值相同的第二匹配字符串,进而根据第一匹配字符串和第二匹配字符串确定目标字符串,即通过上述实施方式可以快速地确定目标字符串。
本申请实施例中还给出了一种根据第一匹配字符串和第二匹配字符串确定目标字符串的方式,具体如下步骤:
步骤1:将所述第一集合中的所有第一字符串进行或运算,得到第二字符串;将第二字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串;
具体的,将所述第二字符串分别与候选字符串进行与运算,得到第一参考字符串;根据第一参考字符串和所述第二字符串的相似度,确定所述候选字符串是否是第一匹配字符串。
进一步地,在所述第一参考字符串与所述第二字符串一致的情况下,确定所述候选字符串是第一匹配字符串;在所述第一参考字符串与所述第二字符串不一致的情况下,确定所述候选字符串不是第一匹配字符串;其中,第一参考字符串和第二字符串一致表征:第一参考字符串和第二字符串中各对应位置上的比特位的二进制值相同。
举例来讲,在第一对象字符串为“1001”且候选字符串为“1011”的情况下,可以确定第一集合包括“1000”和“0001”两个第一字符串,将1000和0001做或运算,得到第二字符串“1001”,将“1001”与“1011”做与运算,得到第一参考字符串“1001”,由于第一参考字符串“1001”与第二字符串“1001”相同,则确定候选字符串对应的对象特征符合第一比特位对应的对象特征以及第四比特位对应的对象特征,即候选字符串是第一匹配字符串。
步骤2:将所述第二集合中的所有字符掩码进行或运算,得到第三字符串;将第三字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串。
具体地,将所述第三字符串与候选字符串进行与运算,得到第二参考字符串;根据所述第二参考字符串确定候选字符串是否是第二匹配字符。
进一步地,在所述第二参考字符串与预设字符串一致的情况下,确定所述候选字符串是第二匹配字符串;在所述第二参考字符串与所述预设字符串不一致的情况下,确定所述候选字符串不是第二匹配字符串。
上述预设字符串可以理解为所有比特位的二进制值均为0的字符串,也可以是十进制值为0的数值。即上述第二参考字符串与预设字符串一致表征:第二参考字符串中各对应位置上的比特位的二进制值均为0,或,第二参考字符串对应的十进制值为0。
举例来讲,在第一对象字符串为“1001”且候选字符串为“1011”的情况下,可以确定第二比特位对应的“0000”的字符掩码为“0010”和第三比特位对应的“0000”的字符掩码为“0100”;将“0100”和“0010”做或运算,得到第三字符串“0110”,将“0110”与“1011”做与运算,得到第二参考字符串“0010”,此时第二参考字符串与预设字符串“0000”不一致,说明候选字符串不是第二匹配字符串。
需要说明的是,对象特征对应的字符掩码可以理解为:在第一对象字符串中该对象特征对应的比特位上的值为1,其他比特位为0,即为该对象特征的字符掩码。如具有4个比特位的第一对象字符串中从右往左的第二比特位表示颜色,则颜色这一对象特征的字符掩码就是0010。
在另一个实施例中,对象特征对应的字符掩码还可以理解为:在第一对象字符串中该对象特征对应的比特位上的值为0,其他比特位为1,即为该对象特征的字符掩码。如具有4个比特位的第一对象字符串中从右往左的第二比特位表示颜色,则颜色这一对象特征的掩码就是1101。
步骤3:确定所述第一匹配字符串和所述第二匹配字符串中的相同字符串,将所述相同字符串确定为所述目标字符串。
为便于理解,此处针对步骤3给出几个具体示例:
示例1)该示例中第一匹配字符串包括1001和1011,第二匹配字符串包括1001,则可以确定1001为目标字符串。
示例2)该示例中第一匹配字符串包括1001和1011,第二匹配字符串包括1101,则可以候选数据库中不存在目标字符串。
示例3)该示例中第一匹配字符串包括1001和1011,且候选数据库中不存在第二匹配字符串,则确定候选数据库中不存在目标字符串。
示例4)该示例中第二匹配字符串包括1001且不存在第一匹配字符串,则确定候选数据库中不存在目标字符串。
本申请实施例中,直接基于多个字符串的位运算来进行查询,可以快速进行多个标识位的匹配和筛选,相较于比对多个字段进行比较更高效。
需要说明的是,将所述相同字符串确定为所述目标字符串之后,所述方法还包括:确定所述目标字符串对应的查询对象,将所述查询对象反馈至发送查询请求的终端。
为便于理解,此处给出两个具体示例:
1)在目标字符串的数量为1个,且该目标字符串为车辆1的对应的对象属性字符串的情况下,则可以确定该目标字符串对应的查询对象为车辆1,进而将车辆1的标识信息反馈至发送查询请求的终端,或将车辆1的标识信息和该目标字符串反馈给发送查询请求的终端。
2)在目标字符串的数量为3个,且该3个目标字符串分别为车辆1、车辆2和车辆3对应的对象属性字符串的情况下,则确定该3个目标字符串对应的查询对象为车辆1、车辆2、车辆3,进而将车辆1、车辆2、车辆3的标识信息反馈至发送查询请求的终端,或将车辆1、车辆2和车辆3的标识信息以及各车辆对应的目标字符串反馈给发送查询请求的终端。
需要说明的是,上述终端可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。
本申请实施例还提供了一种更新对象的特征属性对应的字符串的方式,如图4所示,图4是根据本申请实施例的基于数据库的数据更新方法的流程图,具体步骤如下:
步骤S402:响应于针对第三对象属性字符串的更新请求,解析所述更新请求中的第二对象属性字符串,其中,所述第三对象属性字符串为待更新对象未更新之前的对象属性字符串,所述第二对象属性字符串包含N个比特位,不同所述比特位关联所述待更新对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
举例来讲,假设将第三对象属性字符串“1001”更新为第二对象属性字符串“1011”。
步骤S404:确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第二对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第二对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将所述第二对象属性字符串中对应的目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第二对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
举例来讲,将上述“1011”拆分为“1000”、“0000”、“0010”、“0001”,并将“1000”、“0010”、“0001”划分为第一集合,以及将“0000”对应的字符掩码“0100”划分为第二集合。
步骤S406:根据所述第一集合和所述第二集合对所述第三对象属性字符串进行更新。
通过上述实施例,由于待更新对象的对象特征存储在一个对象属性字符串中,因此,在对对象属性字符串更新时,仅需对一个字段中的数据进行更新,相较于对多个字段中的数据进行更新,提高了更新效率。
上述步骤S406可以通过以下步骤实现对象属性字符串的更新,具体的:
步骤S4061:将所述第一集合中的所有第一字符串进行或运算,得到第二字符串;
举例来讲,将上述第一集合中的“1000”、“0010”、“0001”进行或运算,得到第二字符串“1011”。
步骤S4062:将所述第二集合中的所有字符掩码进行或运算,得到第三字符串;
举例来讲,将上述第二集合中的“0100”进行或运算,得到第三字符串“0100”。
步骤S4063:对所述第三字符串执行取反操作,得到第四字符串;
举例来讲,将上述第三字符串“0100”进行取反操作,得到第四字符串“1011”。
步骤S4064:将所述第二字符串与所述第三对象属性字符串进行或运算,以得到第五字符串;
举例来讲,将上述第二字符串“1011”与第三对象属性字符串“1001”进行或运算,以得到第五字符串“1011”。
步骤S4065:将所述第四字符串与所述第五字符串进行与运算,得到第六字符串,以将所述第三对象属性字符串更新为所述第六字符串。
举例来讲,将上述第四字符串“1011”与第五字符串“1011”进行与运算,得到“1011”,进而实现将第三对象属性字符串“1001”更新为第二对象属性字符串“1011”。
需要说明的是,还可以通过以下方式更新对象的对象属性字符串:确定待更新特征属性对应的第二对象属性字符串,直接将候选数据库中的第三对象属性字符串更新为第二对象属性字符串。
为了更好的理解上述基于数据库的数据存储、查询、更新方法的过程,以下再结合可选实施例对上述基于数据库的数据存储、查询、更新方法进行说明,但不用于限定本申请实施例的技术方案。
需要说明的是,本申请实施例可以应用于云平台、大数据平台、车联平台等平台中。
本申请实施例中通过数值类型(例如,int类型)的字段来支持32位不同Boolean标识位的扩展,即32位中的每一比特位都可以设为1或0,例如,用1来表示一种含义(如true、男),0表示相反的含义(false、女)。因此,一个具有二值的对象特征可以存储为int中32位中的某一比特位,即一个int值可以最多存储32个对象特征。
可选地,本申请实施例中可以通过以下方式确定对象特征的掩码:
1)确定对象特征对应的比特位,将对象特征对应的比特位的值设置为1,其他比特位的值设置为0,以获取对象特征的掩码,如果第二比特位表示是否有车,该对象特征的掩码是0000 0000 0000 0000 0000 0000 0000 0010;
2)确定对象特征对应的比特位,将对象特征对应的比特位的值设置为0,其他比特位的值设置为1,以获取对象特征的掩码,如果第二比特位表示是否有车,该对象特征的掩码是1111 1111 1111 1111 1111 1111 1111 1101。
本申请实施例提供了一种对象特征的存储方式,举例说明,该示例中对象属性字符串包含4个比特位,且该对象属性字符串中从右向左的第一个比特位、第二个比特位、第三个比特位分别关联对象特征“颜色、厂家、型号”;且“颜色”的第一属性状态和第二属性状态分别为“X颜色”和“非X颜色”,“厂家”的第一属性状态和第二属性状态分别为“X厂家生产”和“非X厂家生产”,“型号”的第一属性状态和第二属性状态分别为“X型号”和“非X型号”,用二进制值中的1和0分别表示各对象特征的第一对象属性状态和第二对象属性状态;且该对象属性字符串中从右向左的第四个比特位未关联任何对象特征,则可以将第四个比特位上的二进制值设置未0;则分别用如下字符串表征各对象特征的属性状态:
颜色(第一比特位):X颜色:0001;非X颜色:0000;
厂家(第二比特位):X厂家生产:0010;非X厂家生产:0000;
型号(第三比特位):X型号:0100;非X型号:0000;
若一个目标对象的“颜色、厂家和型号”的分别为“X颜色、非X厂家生产、X型号”则将每一个对象特征对应的字符串做或操作,即将“X颜色、非X厂家生产、X型号”分别对应的字符串“0001、0000、0100”做或操作:0001|0000|0100=0101;进而因此,通过“0101”这一字符串作为该目标对象对应的对象属性字符串以存储该目标对象多个对象特征的属性状态(即X颜色、非X厂家生产、X型号),还可以将“0101”对应的int值(即数字“5”)存储。
本申请实施例还提供了一种int值的解析方式,具体的:
通过以下方式将存储在int值(相当于上述实施例中的第四对象属性字符串)中的多个对象特征解析成每个对象特征对应的字符串:将int值和对应的某个对象特征的掩码做与操作,在计算结果是掩码本身的情况下,表示是掩码所表示的含义,结果为0表示相反的含义。
举例来讲,在数据库中存储的int值为5的情况下,将int值转换为二进制数值0101后,通过确定0101与0001的与运算结果是否等于0001,来确定目标对象的颜色是否为X颜色;在数据库中存储的对象属性字符串为“0101”的情况下,直接通过确定0101与0001的与运算结果是否等于0001,来确定目标对象的颜色是否为X颜色,具体的:等于0001表示目标对象的颜色是X颜色,否则目标对象的颜色不是X颜色。
由于int值是存储到数据库的,因此,存在根据某个或某几个特征属性对int值进行查询的情况,因此,本申请实施例还提供了一种查询逻辑的实现方式:
获取查询条件,并将查询条件分成两部分:标志值为1的集合(相当于上述实施例中的第一集合)和标志值为0的集合。对于标志值为1的集合,所有标志的字符串做或操作,得到结果a,结果a再和int值做与操作,根据计算结果是否为a确定对象是否符合标志值为1对应的对象特征;对于标志值为0的集合,获取对象特征对应的掩码(对象特征对应的掩码的集合相当于上述实施例中的第二集合),将所有掩码做或操作,再与int值做与操作,根据计算结果是否为0确定对象是否符合标志值为0对应的对象特征。
举例来讲,在目标对象的int值(相当于上述实施例中的候选字符串)为5(即0101)的情况下,查询目标对象是否为非X型号、非X厂家生产、X颜色:
非X型号对应的字符串为:0000;
非X厂家生产对应的字符串为:0000;
X颜色对应的字符串为:0001;
其中,标志值为1的集合包含X颜色对应的字符串“0001”(相当于上述实施例中的第一字符串),标志值为0的集合包含:非X厂家生产对应的字符串“0000”和非X型号对应的字符串“0000”。
步骤1:将标志值为1的集合中所有的第一字符串做或操作,得到第二字符串0001,并将第二字符串与int值做与操作:
0001&0101=0001;
得到第一参考字符串“0001”,由于第一参考字符串与第二字符串一致,确定目标对象符合X颜色这个条件。
步骤2:将标志值为0的集合的所有标志的掩码做或操作,得到第三字符串,第三字符串与int值做与操作:
厂家对应的掩码为:0100;
型号对应的掩码为:0010;
所有对象特征的掩码做或操作:0100|0010=0110;
将“0110”与int值做与操作:0101&0110=0100;
得到第二参考字符串“0100”,由于第二参考字符串不为0,表示目标对象不符合非X型号、非X厂家生产这个条件。
其中,标志集合的或操作可以在程序里完成,其中,SQL语句可以表示为如下:
"where sign & flagTrueSet=flagTureSet and sign & flagFalseSet=0";
上述代码用于是将标志值为1的集合和int值进行按位与操作,并将结果与标志值为0的集合进行按位或操作,然后判断结果是否等于0。
其中,"wheresign"用于查询具有非零值的sign字段的数据。
需要说明的是,上述“sign”可以理解为上述int值;“flagTrueSet”可以理解为上述“第二字符串”,“flagFalseSet”可以理解为上述第三字符串。
本申请实施例,需要用户提供具体的SQL查询操作说明和用户操作界面可以确定查询结果。根据提供的信息,假设用户操作界面包括以下内容,如图5所示:第一对象特征、第二对象特征、第三对象特征,得到的查询结果可以如图6所示,其中,在目标对象为车辆的情况下,图6中的对象特征信息可以为车龄、发动机类型、车辆类型等信息,举例来讲,在目标对象为车辆,且对象特征信息为车龄的情况下,对象1对应的车龄可以为1年,对象2对应的车龄可以为2年,对象3对应的车龄可以为3年;在目标对象为车辆,且对象特征信息为发动机类型的情况下,对象1对应的发动机类型可以为柴油发动机类型,对象2的发动机类型可以为汽油发动机类型,对象3的发动机类型可以为混合动力发动机类型;在目标对象为车辆,且对象特征信息为车辆类型的情况下,对象1对应的车辆类型可以为轿车,对象2的车辆类型可以为跑车,对象3的车辆类型可以为SUV。
查询界面:提供用户输入条件的界面,包括 sign 字段的值、flagTrueSet 和flagFalseSet 的值等。
查询按钮:用户点击该按钮来执行查询操作。
查询结果展示界面:展示符合查询条件的数据结果。
用户在操作界面上输入查询条件后,点击查询按钮执行查询操作。程序将根据输入的条件生成对应的SQL查询语句,并将查询结果展示在查询结果展示界面上。具体的SQL查询语句应根据用户的操作界面和需求来编写。
本申请实施例还提供了一种更新目标对象的int值的方案,具体的:
步骤1:将更新后的int值分为两部分:标志值为1的集合(相当于上述实施例中数据更新方法中的第一集合)和标志值为0的集合;
步骤2:将标志为1的集合内的所有的第一字符串做或操作,得到第二字符串,第二字符串再与int值做或操作,得到第五字符串;
步骤3:将标志位0的集合内的所有标志的掩码做或操作,得到第三字符串;第三字符串取反,得到第四字符串,第四字符串再与第五字符串做与操作,得到更新后的int值(相当于上述实施例中的第六字符串)。
上述更新方法对应的SQL语句形式如下:
UPDATE table_name SET sign = (sign | flagTrueSet) & flagFalseSet;
其中,flagTrueSet表示标志值为1的集合的所有标志做按位或操作的结果(相当于上述实施例中的第二字符串),flagFalseSet表示标志值为0的集合的所有标志的掩码做按位或操作的结果(相当于上述实施例中的第三字符串)。以上SQL语句的含义是将标志值为1的集合与原来的值进行按位或操作,然后与标志值为0的集合的按位取反结果进行按位与操作。
本申请实施例还提供了另外一种SQL语句的写法:
UPDATE table_name SET sign = (sign | flagTrueSet) - ((sign |flagTrueSet) & flagFalseSet);
上述SQL通过将标志值为1的集合与原来的值进行按位或操作,然后通过按位与操作从结果中减去标志值为0的集合的掩码。
本申请实施例还提供了一种查询方法,查询过程的整体逻辑如图7所示,具体步骤如下:
步骤S701:定义数据库模型:Manufacture;
需要说明的是,上述步骤S701可以通过以下方式实现:将目标对象的特征属性组织成二维表格的形式,表格中的每一行表示一个目标对象,每一列表示一个目标对象的对象属性字符串,通过主键和外键来建立目标对象和对象属性字符串之间的关系。
步骤S702:定义数据库模型:ManufactureDO;
标识位对象是一种用于表示某个状态或条件的对象。在本申请实施例中,定义每个标识位对象来表示目标对象的多个对象特征,标识位对象可以是一个布尔值。例如,从右到左定义每一个标识位对象关联的对象特征。
步骤S703:定义查询参数:ManufactureQuery;
查询参数通常包括要查询的数据库、要查询的二维表格、查询条件等信息。
需要说明的是,本申请实施例对上述步骤S701至步骤S703的执行顺序不做限定。
步骤S704:在接收到查询请求或者更新请求的情况下,根据查询请求或者更新请求处理标识位;
即将标识位映射成SQL语句,采用位运算方式处理标识位。
步骤S705:确定查询请求或更新请求对应的字符串(可以理解为每个第一对象属性字符串和第二对象属性字符串);
步骤S706:根据查询请求对应的字符串生成查询条件;
步骤S707:根据查询条件和查询参数拼接查询语句;
步骤S708:基于查询语句执行查询操作;
步骤S709:返回查询操作对应的查询结果;
步骤S710:根据更新请求对应的字符串(相当于上述实施例中的第三对象属性字符串)生成更新字段;
步骤S711:根据更新字段和查询参数拼接查询语句;
步骤S712:基于查询语句执行更新操作;
步骤S713:返回更新操作对应的更新结果。
为了更好说明int值的解析逻辑,本申请实施例给出一段伪代码示例:
//假设有一个整数变量sign代表int值。
int sign = 6;//二进制表示为0110。
//基于int类型的sign字段解析出signTrueResult、signFalseResult,根据比特位的值进行处理,将paramMap作为参数进行sql拼接。
Map<String, Object> paramMap = super.toParamMap();if (null != sign){ paramMap.put("signTrueResult", sign.signTrueMaskBitORResult());paramMap.put("signFalseResult", sign.signFalseMaskBitORResult());}。
//将所有值为true(或所有值为false)的标志的掩码做位或操作(相当于上述实施例中的将所述第一集合中的所有第一字符串进行或运算)。
//@param is Positive true表示将所有值为true的标志的掩码做位或操作,false表示将所有值为false的标识的掩码做位或操作(相当于上述实施例中的将所述第二集合中的所有字符掩码进行或运算)。
private Long maskBitORResult(boolean isPositive) { Long value = 0L;for (int pos = 1;pos <= signArray.length;pos++) { if (signArray[pos - 1] !=null && (isPositive ? signArray[pos - 1] : !signArray[pos - 1])) { value |=getBitMask(pos);}}return value;}。
//获取所有值为true的标记对应的掩码按位或操作的结果(相当于上述实施例中的第二字符串)。
public Long signTrueMaskBitORResult() {return maskBitORResult(true);}。
//获取所有值为false的标记对应的掩码按位或操作的结果(相当于上述实施例中的第三字符串)。
public Long signFalseMaskBitORResult() {return maskBitORResult(false);}。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
本申请实施例中还提供了一种基于数据库的数据查询装置的结构框图,图8是根据本申请实施例的一种基于数据库的数据查询装置的结构框图;如图8所示,包括:
第一响应模块82,用于响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
第一确定模块84,用于确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的第一非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
第二确定模块86,用于根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
通过上述步骤,在本申请实施例中,由于将对象的多个对象特征存储在一个二进制对象属性字符串中,即将对象的多个对象特征存储在一个字段中,进而减少了候选数据库中存储空间的占用;以及由于将对象的多个对象特征存储在一个二进制对象属性字符串中,因此,可以通过第一对象属性字符串来表示用户的查询请求,在接收到查询请求的情况下,通过获取一个字段中存储的对象属性字符串即可获取候选对象的多个对象特征,减少了获取候选对象的对象特征的次数,减少了多个字段之间的逻辑运算和连接操作,进而提高了数据查询效率,进一步地,将查询请求中的第一对象属性字符串划分为第一集合和第二集合,以及根据每个候选对象的对象属性字符串、第一集合、第二集合在候选数据库中确定出与所述查询请求匹配的目标字符串,可以快速进行多个比特位的对象特征的匹配和筛选,解决了现有技术中,在通过多个数据字段存储对象的多个特征属性的情况下,会占用数据库中较多的存储空间且数据查询效率低的问题,减少了多个字段之间的逻辑运算和连接操作,从而提高了查询效率。
在一个示例性实施例中,第二确定模块86,用于将所述第一集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串,其中,所述第一匹配字符串与所述第一对象属性字符串中至少一个目标比特位的二进制值相同;以及将所述第二集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第二匹配字符串,其中,所述第二匹配字符串与所述第一对象属性字符串中至少一个非目标比特位的二进制值相同;根据第一匹配字符串和第二匹配数据字符串,确定所述目标数据字符串。
在一个示例性实施例中,第二确定模块86,用于将所述第一集合中的所有第一字符串进行或运算,得到第二字符串;将第二字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串;将所述第二集合中的所有字符掩码进行或运算,得到第三字符串;将第三字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串。
在一个示例性实施例中,第二确定模块86,用于对所述各个候选字符串进行如下操作:将所述第二字符串与候选字符串进行与运算,得到第一参考字符串;根据第一参考字符串和所述第二字符串的相似度,确定所述候选字符串是否是第一匹配字符串。
在一个示例性实施例中,第二确定模块86,用于响应于所述第一参考字符串与所述第二字符串一致,确定所述候选字符串是第一匹配字符串;响应于所述第一参考字符串与所述第二字符串不一致,确定所述候选字符串不是第一匹配字符串。
在一个示例性实施例中,第二确定模块86,用于对所述各个候选字符串进行如下操作:将所述第三字符串与候选字符串进行与运算,得到第二参考字符串;根据所述第二参考字符串确定候选字符串是否是第二匹配字符串。
在一个示例性实施例中,第二确定模块86,用于响应于所述第二参考字符串与预设字符串一致,确定所述候选字符串是第二匹配字符串;响应于所述第二参考字符串与所述预设字符串不一致情况下,确定所述候选字符串不是第二匹配字符串。
在一个示例性实施例中,第二确定模块86,用于确定所述第一匹配字符串和所述第二匹配字符串中的相同字符串;将所述相同字符串确定为所述目标字符串。
在一个示例性实施例中,第一响应模块82,还用于确定所述查询请求对应的查询条件;根据所述查询条件指示的至少一个对象特征的属性状态,确定所述第一对象属性字符串。
本申请实施例中还提供了一种基于数据库的数据更新装置的结构框图,图9是根据本申请实施例的一种基于数据库的数据更新装置的结构框图;如图9所示,包括:
第二响应模块92,用于响应于针对第三对象属性字符串的更新请求,解析所述更新请求中的第二对象属性字符串,其中,所述第三对象属性字符串为待更新对象未更新之前的对象属性字符串,所述第二对象属性字符串包含N个比特位,不同所述比特位关联所述待更新对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
第三确定模块94,用于确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第二对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第二对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将所述第二对象属性字符串中对应的目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第二对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
更新模块96,用于根据所述第一集合和所述第二集合对所述第三对象属性字符串进行更新。
在一个示例性实施例中,更新模块96,用于将所述第一集合中的所有第一字符串进行或运算,得到第二字符串,以及将所述第二集合中的所有字符掩码进行或运算,得到第三字符串;根据所述第二字符串、所述第三字符串对所述第三对象属性字符串进行更新。
在一个示例性实施例中,更新模块96,用于对所述第三字符串执行取反操作,得到第四字符串;将所述第二字符串与所述第三对象属性字符串进行或运算,以得到第五字符串;将所述第四字符串与所述第五字符串进行与运算,得到第六字符串,以将所述第三对象属性字符串更新为所述第六字符串。
本申请实施例中还提供了一种基于数据库的数据存储装置的结构框图,图10是根据本申请实施例的一种基于数据库的数据存储装置的结构框图;如图10所示,包括:
第四确定模块1002,用于确定目标对象的第四对象属性字符串,所述第四对象属性字符串包含N个比特位,不同所述比特位关联所述目标对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
存储模块1004,用于将所述第四对象属性字符串作为候选字符串存储至候选数据库中。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
S2,确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
S3,根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
S2,确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
S3,根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种基于数据库的数据查询方法,其特征在于,包括:
响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
2.根据权利要求1所述的基于数据库的数据查询方法,其特征在于,所述候选数据库中包括多个候选字符串,根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,包括:
将所述第一集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串,其中,所述第一匹配字符串与所述第一对象属性字符串中至少一个目标比特位的二进制值相同;以及
将所述第二集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第二匹配字符串,其中,所述第二匹配字符串与所述第一对象属性字符串中至少一个非目标比特位的二进制值相同;
根据第一匹配字符串和第二匹配字符串,确定所述目标字符串。
3.根据权利要求2所述的基于数据库的数据查询方法,其特征在于,将所述第一集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串,包括:将所述第一集合中的所有第一字符串进行或运算,得到第二字符串;将第二字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串;
将所述第二集合分别和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第二匹配字符串,包括:将所述第二集合中的所有字符掩码进行或运算,得到第三字符串;将第三字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串。
4.根据权利要求3所述的基于数据库的数据查询方法,其特征在于,将第二字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串,包括:
对所述各个候选字符串进行如下操作:
将所述第二字符串与候选字符串进行与运算,得到第一参考字符串;
根据第一参考字符串和所述第二字符串的相似度,确定所述候选字符串是否是第一匹配字符串。
5.根据权利要求4所述的基于数据库的数据查询方法,其特征在于,根据第一参考字符串和所述第二字符串的相似度,确定所述候选字符串是否是第一匹配字符串,包括:
响应于所述第一参考字符串与所述第二字符串一致,确定所述候选字符串是第一匹配字符串;
响应于所述第一参考字符串与所述第二字符串不一致,确定所述候选字符串不是第一匹配字符串。
6.根据权利要求3所述的基于数据库的数据查询方法,其特征在于,将第三字符串和各个候选字符串进行匹配,从所述各个候选字符串中筛选出第一匹配字符串,包括:
对所述各个候选字符串进行如下操作:
将所述第三字符串与候选字符串进行与运算,得到第二参考字符串;
根据所述第二参考字符串确定候选字符串是否是第二匹配字符串。
7.根据权利要求6所述的基于数据库的数据查询方法,其特征在于,根据所述第二参考字符串确定候选字符串是否是第二匹配字符串,包括:
响应于所述第二参考字符串与预设字符串一致,确定所述候选字符串是第二匹配字符串;
响应于所述第二参考字符串与所述预设字符串不一致,确定所述候选字符串不是第二匹配字符串。
8.根据权利要求2至7任一项所述的基于数据库的数据查询方法,其特征在于,根据第一匹配字符串和第二匹配字符串,确定所述目标字符串,包括:
将所述第一匹配字符串和所述第二匹配字符串中的相同字符串,确定为所述目标字符串。
9.根据权利要求2-7任一项所述的基于数据库的数据查询方法,其特征在于,解析所述查询请求中的第一对象属性字符串,包括:
确定所述查询请求对应的查询条件;
根据所述查询条件指示的至少一个对象特征的属性状态,确定所述第一对象属性字符串。
10.一种基于数据库的数据更新方法,其特征在于,包括:
响应于针对第三对象属性字符串的更新请求,解析所述更新请求中的第二对象属性字符串,所述第二对象属性字符串包含N个比特位,不同所述比特位关联待更新对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第二对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第二对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将所述第二对象属性字符串中对应的目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第二对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
根据所述第一集合和所述第二集合对所述第三对象属性字符串进行更新。
11.根据权利要求10所述的基于数据库的数据更新方法,其特征在于,根据所述第一集合和所述第二集合对所述第三对象属性字符串进行更新,包括:
将所述第一集合中的所有第一字符串进行或运算,得到第二字符串,以及
将所述第二集合中的所有字符掩码进行或运算,得到第三字符串;
根据所述第二字符串、所述第三字符串对所述第三对象属性字符串进行更新。
12.根据权利要求11所述的基于数据库的数据更新方法,其特征在于,根据所述第二字符串、所述第三字符串对所述第三对象属性字符串进行更新,包括:
对所述第三字符串执行取反操作,得到第四字符串;
将所述第二字符串与所述第三对象属性字符串进行或运算,以得到第五字符串;
将所述第四字符串与所述第五字符串进行与运算,得到第六字符串,将所述第三对象属性字符串更新为所述第六字符串。
13.一种基于数据库的数据存储方法,其特征在于,包括:
确定目标对象的第四对象属性字符串,所述第四对象属性字符串包含N个比特位,不同所述比特位关联所述目标对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
将所述第四对象属性字符串作为候选字符串存储至候选数据库中,其中,所述候选数据库用于权利要求1至9任一项所述的基于数据库的数据查询方法。
14.一种基于数据库的数据查询装置,其特征在于,包括:
第一响应模块,用于响应于针对待查询对象的查询请求,解析所述查询请求中的第一对象属性字符串,其中,所述第一对象属性字符串包含N个比特位,不同所述比特位关联所述待查询对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
第一确定模块,用于确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第一对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第一对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将第一对象属性字符串中对应的目标比特位的二进制值设置为目标值,将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第一对象属性字符串中对应的第一非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
第二确定模块,用于根据所述第一集合和所述第二集合,在候选数据库中确定出与所述查询请求匹配的目标字符串,其中,所述目标字符串与所述第一对象属性字符串中至少部分对应位置的比特位上的二进制值相同。
15.一种基于数据库的数据更新装置,其特征在于,包括:
第二响应模块,用于响应于针对第三对象属性字符串的更新请求,解析所述更新请求中的第二对象属性字符串,所述第二对象属性字符串包含N个比特位,不同所述比特位关联待更新对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
第三确定模块,用于确定所述N个比特位中的目标比特位和非目标比特位,并获取所述目标比特位对应的第一字符串构成的第一集合,以及获取所述非目标比特位对应的字符掩码构成的第二集合,其中,所述目标比特位是所述第二对象属性字符串中二进制值为目标值的比特位,所述非目标比特位是所述第二对象属性字符串除目标比特位之外的比特位;所述第一字符串通过将所述第二对象属性字符串中对应的目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;所述字符掩码通过将所述第二对象属性字符串中对应的非目标比特位的二进制值设置为目标值,以及将其它比特位的二进制值设置为非目标值确定;
更新模块,用于根据所述第一集合和所述第二集合对所述第三对象属性字符串进行更新。
16.一种基于数据库的数据存储装置,其特征在于,包括:
第四确定模块,用于确定目标对象的第四对象属性字符串,所述第四对象属性字符串包含N个比特位,不同所述比特位关联所述目标对象的不同对象特征,所述比特位上的二进制值指示所述比特位关联的对象特征的属性状态,所述N为大于1的整数;
存储模块,用于将所述第四对象属性字符串作为候选字符串存储至候选数据库中,其中,所述候选数据库用于权利要求1至9任一项所述的基于数据库的数据查询方法。
17.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法,或者,权利要求10至12任一项中所述的方法,或者,权利要求13所述的方法。
18.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法,或者,权利要求10至12任一项中所述的方法,或者,权利要求13所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178614.4A CN116932838B (zh) | 2023-09-13 | 2023-09-13 | 基于数据库的数据查询、更新、存储方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178614.4A CN116932838B (zh) | 2023-09-13 | 2023-09-13 | 基于数据库的数据查询、更新、存储方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932838A CN116932838A (zh) | 2023-10-24 |
CN116932838B true CN116932838B (zh) | 2023-11-24 |
Family
ID=88377364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311178614.4A Active CN116932838B (zh) | 2023-09-13 | 2023-09-13 | 基于数据库的数据查询、更新、存储方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932838B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744963A (zh) * | 2014-01-06 | 2014-04-23 | 北京国双科技有限公司 | 目标页面转化的处理方法和装置 |
EP3208708A1 (en) * | 2016-02-22 | 2017-08-23 | Samsung Electronics Co., Ltd. | Data extraction method and apparatus |
CN110516118A (zh) * | 2019-08-13 | 2019-11-29 | 出门问问(武汉)信息科技有限公司 | 一种字符串匹配方法、设备及计算机存储介质 |
CN111459978A (zh) * | 2020-03-20 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 查询方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7307551B2 (en) * | 2005-08-30 | 2007-12-11 | International Business Machines Corporation | Delimiter lookup using processor permutation instruction |
US11341190B2 (en) * | 2020-01-06 | 2022-05-24 | International Business Machines Corporation | Name matching using enhanced name keys |
-
2023
- 2023-09-13 CN CN202311178614.4A patent/CN116932838B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744963A (zh) * | 2014-01-06 | 2014-04-23 | 北京国双科技有限公司 | 目标页面转化的处理方法和装置 |
EP3208708A1 (en) * | 2016-02-22 | 2017-08-23 | Samsung Electronics Co., Ltd. | Data extraction method and apparatus |
CN110516118A (zh) * | 2019-08-13 | 2019-11-29 | 出门问问(武汉)信息科技有限公司 | 一种字符串匹配方法、设备及计算机存储介质 |
CN111459978A (zh) * | 2020-03-20 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 查询方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
UCLA网络加速器路由表快速查找改进模型;孟繁杰, 刘庆文, 胡, 张铁壁;计算机工程与应用(第27期);全文 * |
基于最佳路径搜索的二进制协议格式关键词边界确定方法;闫小勇;李青;;计算机应用(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116932838A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093698B2 (en) | Method and apparatus and computer device for automatic semantic annotation for an image | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN111782216A (zh) | 页面生成方法、服务器和存储介质 | |
CN110866029B (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN110727857A (zh) | 针对业务对象识别***的关键特征的方法及装置 | |
CN111460232A (zh) | 功能模块的查找方法、装置、终端和计算机可读存储介质 | |
CN114416900A (zh) | 一种轨迹停留点分析的方法和装置 | |
CN107861750A (zh) | 一种标签管理方法、标签管理装置及智能终端 | |
CN112800197A (zh) | 一种目标故障信息的确定方法和装置 | |
CN113183759A (zh) | 一种仪表盘字符的显示方法及装置 | |
CN110990008B (zh) | 更新页面的方法、装置、存储介质以及电子设备 | |
CN112860953A (zh) | 图数据库的数据导入方法、装置、设备及存储介质 | |
CN109785867B (zh) | 双录流程配置方法、装置、计算机设备和存储介质 | |
CN114511085A (zh) | 实体属性值的识别方法、装置、设备、介质及程序产品 | |
CN110955712A (zh) | 基于多数据源的开发api处理方法及装置 | |
CN110737662B (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
CN116932838B (zh) | 基于数据库的数据查询、更新、存储方法和装置 | |
CN106779899A (zh) | 恶意订单识别方法及装置 | |
CN110275880A (zh) | 数据分析方法、装置、服务器及可读存储介质 | |
CN114860806A (zh) | 区块链的数据查询方法、装置、计算机设备和存储介质 | |
CN111641518A (zh) | 基于异质网络的社群划分方法、装置、计算机设备及介质 | |
CN113076316B (zh) | 一种信息关系映射的分析方法、装置、设备及存储介质 | |
CN110704726B (zh) | 基于神经网络的数据推送方法、及其相关设备 | |
US11714804B2 (en) | Method and apparatus for managing link related to keyword advertisement | |
CN115242638B (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 |