CN101216827A - 智能卡中数据库的查询方法及装置 - Google Patents

智能卡中数据库的查询方法及装置 Download PDF

Info

Publication number
CN101216827A
CN101216827A CNA2007103043418A CN200710304341A CN101216827A CN 101216827 A CN101216827 A CN 101216827A CN A2007103043418 A CNA2007103043418 A CN A2007103043418A CN 200710304341 A CN200710304341 A CN 200710304341A CN 101216827 A CN101216827 A CN 101216827A
Authority
CN
China
Prior art keywords
querying condition
querying
operand
classification
sequence
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.)
Granted
Application number
CNA2007103043418A
Other languages
English (en)
Other versions
CN101216827B (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 Watchdata Co ltd
Original Assignee
Beijing WatchData System 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 WatchData System Co Ltd filed Critical Beijing WatchData System Co Ltd
Priority to CN2007103043418A priority Critical patent/CN101216827B/zh
Publication of CN101216827A publication Critical patent/CN101216827A/zh
Application granted granted Critical
Publication of CN101216827B publication Critical patent/CN101216827B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种智能卡中数据库的查询方法及装置,涉及数据库查询技术,为提高查询速度而发明。所述方法包括:对查询条件进行分类;将分类结果进行排序,得到查询条件序列;根据所述查询条件序列,生成操作数;按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。所述装置包括:分类单元,排序单元,操作数生成单元以及运算单元。本发明能够提高数据库的查询速度。

Description

智能卡中数据库的查询方法及装置
技术领域
本发明涉及智能卡技术,尤其涉及一种在智能卡数据库中的查询方法及装置。
背景技术
随着智能卡技术的不断发展,智能卡的硬件工艺水平也不断的增长,例如以CPU为例,智能卡的CPU从智能卡技术发展初期的8位,发展到广为使用的16位。智能卡的存储容量也由最初的几十字节,发展到现在的几十K、上百K字节。
在智能卡硬件工艺发展的同时,智能卡的片上操作***也不断的成熟与完善,这就使得应用于传统计算机上的数据库技术,延伸到了智能卡的片上操作***中,这也为更丰富的移动数据服务提供了一个崭新的实现平台。数据查询技术是数据库的核心技术之一。
对于智能卡的数据库查询技术而言,位图索引(Bitmap Index,BMI)技术是应用最为广泛的一种。传统的基于位图索引技术的数据库查询方法包括如下步骤:
1)将用户输入的数据库查询技术转化成复杂的逻辑运算表达式;
2)利用正则表达式,对所述逻辑运算表达式进行逻辑优先级处理,以确定各BMI之间的相关性,及优先级,得到多个BMI位串;
3)将目标数据表内同一记录集上生成的多个BMI位串,按照经逻辑优先级处理后的逻辑运算表达式进行相应的逻辑位运算,如与运算,或运算,或者是非运算操作等,得到最终的查询结果,显示给用户。
但是,现有技术中基于位图索引技术进行数据库查询的过程中,存在如下问题:
1)在步骤(2)中,利用正则表达式对逻辑运算表达式进行相应处理的时候,由于正则表达式的处理过于复杂,因此,利用上述的算法,耗用了智能卡操作***中大量的CPU资源和内存资源,从而降低了查询的速度;
2)在步骤(3)中,在对BMI位串进行逻辑位运算的时候,需要在智能卡内,保存每步逻辑位运算的计算结果,并将保存的结果再进行最后的运算,才能得到最终的查询结果。因此,在保存每步逻辑位运算的计算结果的时候,占用了智能卡的内存空间,浪费了智能卡的资源。
发明内容
本发明提供了一种智能卡中数据库的查询方法及装置,利用本发明所述的方法及装置,能够提高查询速度。
本发明一种智能卡中数据库的查询方法采用以下技术方案:
一种智能卡中数据库的查询方法,包括如下步骤:
对查询条件进行分类;
将分类结果进行排序,得到查询条件序列;
根据所述查询条件序列,生成操作数;
按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。
其中,所述对查询条件进行分类的步骤具体为:
按照“可能包含的查询条件”、“必须包含的查询条件”、“不能包含的查询条件”将所述查询条件进行分类。
其中,所述对分类结果进行排序,得到查询条件序列的步骤具体为:
定义“不能包含的查询条件”分类中,各查询条件所对应的逻辑位操作类型为“非”操作;
定义“可能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“或”操作;
定义“必须包含的查询条件”以及“不能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“与”操作;
定义“可能包含的查询条件”、“必须包含的查询条件”以及“不能包含的查询条件”三个分类之间的逻辑位操作类型为“与”操作;
排列与所述三种逻辑位操作类型相对应的三类查询条件,得到查询条件序列。
其中,所述排列与所述三种逻辑位操作类型相对应的三类查询条件的步骤具体为:
按照进行“或”、“与”、“非”逻辑位操作的顺序,排列分别与所述三种逻辑位操作类型相对应的分类,得到查询条件序列:
(“可能包含的查询条件”、“必须包含的查询条件”、“不能包含的查询条件”)。
其中,根据所述查询条件序列,生成操作数的步骤具体为:
在所述查询条件序列中,根据是否为定义的“不能包含的查询条件”分类中各查询条件所对应的逻辑位操作类型,生成第一操作数;
在所述查询条件序列中,根据每两个查询条件之间的逻辑位运算关系,生成第二操作数。
其中,所述第一操作数和第二操作数的位数,与智能卡操作***中CPU的位数相同;若所述第一操作数或第二操作数小于所述智能卡操作***中CPU的位数,不足的位用0补足。
其中,所述生成第一操作数的步骤为:
在所述查询条件序列中,用1表示进行“非”逻辑位运算的查询条件;用0表示进行其他类型逻辑位运算的查询条件;
所述生成第二操作数的步骤为:
在所述查询条件序列中,用“1”表示每两个查询条件之间进行的“或”运算,用“0”表示每两个查询条件之间进行的“与”运算。
其中,所述按照所述操作数确定的运算规则,对所述查询条件序列进行运算的步骤具体为:
按照第一操作数确定的运算规则,对“不能包含的查询条件”分类的各查询条件进行“非”运算,得到“不能包含的查询条件”分类中各查询条件的运算结果;
按照第二操作数确定的运算规则,对“可能包含的查询条件”分类的各查询条件进行“或”运算,得到“可能包含的查询条件”分类的运算结果;并与“必须包含的查询条件”分类的各查询条件,以及按照第一操作数运算获得的“不能包含的查询条件”分类中各查询条件的运算结果进行“与”运算。
本发明所述的智能卡中数据库的查询方法,首先对用户输入的查询条件进行分类,得到查询条件序列,并根据在查询条件序列中各查询条件或各查询条件之间的逻辑位操作类型,得到第一操作数和第二操作数。通过得到的第一操作数和第二操作数所定义的运算规则,对查询条件序列进行计算,最终得到查询结果。这样,就避免了现有技术数据库查询技术中需要利用正则表达式进行的复杂运算。因此,本发明的方法大大提高了CPU的处理速度,加快了查询的速度。
本发明智能卡数据库的查询装置采用以下技术方案:
一种智能卡数据库的查询装置,包括:
分类单元,用于对查询条件进行分类;
序列生成单元,用于对分类结果进行排序,得到查询条件序列;
操作数生成单元,用于根据所述查询条件序列,生成操作数;
运算单元,用于按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。
其中,所述序列生成单元包括:
第一操作类型定义模块,用于定义“不能包含的查询条件”分类中,各查询条件所对应的逻辑位操作类型为“非”操作;
第二操作类型定义模块,用于定义“可能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“或”操作;
第三操作类型定义模块,用于定义“必须包含的查询条件”以及“不能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“与”操作;
第四操作类型定义模块,用于定义“可能包含的查询条件”、“必须包含的查询条件”以及“不能包含的查询条件”三个分类之间的逻辑位操作类型为“与”操作;
排序单元,用于排列与所述三种逻辑位操作类型相对应的三类查询条件,得到查询条件序列,并将所述查询条件序列送入运算单元。
其中,所述操作数生成单元包括:
第一操作数生成单元,用于在查询条件序列中,根据是否为定义的“不能包含的查询条件”分类中各查询条件所对应的逻辑位操作类型,生成第一操作数;
第二操作数生成单元,用于在查询条件序列中,根据定义的每两个查询条件之间的逻辑位运算关系,生成第二操作数。
其中,所述第一操作数和第二操作数的位数,与智能卡操作***中CPU的位数相同;若所述第一操作数或第二操作数小于所述智能卡操作***中CPU的位数,不足的位用0补足。
其中,运算单元按照第一操作数确定的运算规则,对“不能包含的查询条件”分类的各查询条件进行“非”运算,得到“不能包含的查询条件”分类中各查询条件的运算结果;
按照第二操作数确定的运算规则,对“可能包含的查询条件”分类的各查询条件进行“或”运算,得到“可能包含的查询条件”分类的运算结果;并与“必须包含的查询条件”分类的各查询条件,以及按照第一操作数运算获得的“不能包含的查询条件”分类中各查询条件的运算结果进行“与”运算。
本发明所述的智能卡中数据库的查询装置,首先由分类单元对用户输入的查询条件进行分类,并由排序单元对所述查询条件进行排序,得到查询条件序列;并根据在查询条件序列中各查询条件或各查询条件之间的逻辑位操作类型,由操作数生成单元分别得到第一操作数和第二操作数。通过得到的第一操作数和第二操作数所定义的运算规则,对查询条件进行计算,最终由运算单元得到查询结果。这样,就避免了现有技术数据库查询技术中需要利用正则表达式进行的复杂运算。因此,本发明的方法大大提高了CPU的处理速度,加快了查询的速度。
附图说明
图1是本发明智能卡中数据库的查询方法的流程图;
图2是本发明智能卡中数据库的查询方法具体流程图;
图3是本发明智能卡中数据库的查询装置的结构图;
图4是本发明智能卡中数据库的查询装置的具体结构图。
具体实施方式
为使本发明技术方案的优点更加清楚,下面结合附图对本发明做进一步的详细说明。
为了解决现有技术数据库查询技术中,需要利用正则表达式进行的复杂运算,而导致查询速度降低的问题,本发明提供了一种在智能卡中数据库的查询方法。如图1所示,所述方法包括:
S1:对查询条件进行分类;
S2:将分类结果进行排序,得到查询条件序列;
S3:根据所述查询条件序列,生成操作数;
S4:按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。
本发明所述的智能卡中数据库的查询方法,首先对用户输入的查询条件进行分类,得到查询条件序列,并根据在查询条件序列中各查询条件或各查询条件之间的逻辑位操作类型,得到第一操作数和第二操作数。通过得到的第一操作数和第二操作数所定义的运算规则,对查询条件序列进行计算,最终得到查询结果。这样,就避免了现有技术数据库查询技术中,需要利用正则表达式进行的复杂运算。因此,本发明的方法大大提高了CPU的处理速度,加快了查询的速度。
此外,利用本发明所述的方法,对查询条件进行分类,并利用生成的操作数进行操作,得到最终的运算结果,占用内存资源少,进一步的提高了查询的速度。
下面以查询条件为BMI为例,详细说明本发明所述方法的实现过程。
在本发明中,设定智能卡芯片的CPU位数为W,用户输入的查询条件BMI个数为N。鉴于智能卡应用的特殊性,设定N≤W。
T1:分析输入的查询条件BMI,将输入的查询条件BMI按照“可能包含的BMI”、“必须包含的BMI”、“不能包含的BMI”将查询条件BMI进行分类。
在此,“可能包含的BMI”是指当用户同时输入多个的查询条件BMI,可能包含的某几个查询条件;“必须包含的BMI”是指,查询条件BMI中全部都包含的查询条件;“不能包含的BMI”,则是指在输入的查询条件BMI中不能包含的查询条件。
经分析得出,在查询条件中,“可能包含的BMI”为n1个,“必须包含的BMI”为n2个,“不能包含的BMI”为n3个,其中,N=n1+n2+n3
在此,用如下的方式表示对BMI的分类结果:
n1:BMIi1,BMIi2,……BMIin1
n2:BMIj1,BMIj2,……BMIjn2
n3:BMIk1,BMIk2,……BMIkn3
T2:定义所述“不能包含的BMI”分类中,各BMI所对应的逻辑位操作类型,以及三种分类中各BMI之间的逻辑位操作类型。
在本发明的实施例中,将“不能包含的BMI”的各BMI所对应的逻辑位运算类型定义为进行逻辑“非”操作。
同时,定义“可能包含的BMI”分类中,各查询条件之间的逻辑位操作类型为“或”操作;定义“必须包含的BMI”以及“不能包含的BMI”分类中,各查询条件之间的逻辑位操作类型为“与”操作。
当然,还可采用其他方式对各种分类的各BMI所对应的逻辑位操作类型进行定义。
T3:定义“可能包含的BMI”、“必须包含的BMI”、“不能包含的BMI”三个分类之间的逻辑位操作类型为“与”操作。
T4:将按照上述方式定义的三种类型的BMI进行排序。
在具体应用中,可按照任意的顺序对上述三种类型的查询条件BMI进行排序。
在本发明中,为了保证三种类型逻辑位操作的优先级相同,保证查询速度,按照如表1的方式对三种类型的BMI组合进行排序。
表1
  或操作n1 与操作n2   非操作n3
按照表1所示的顺序,得到排序后的BMI序列BMIS
BMIS:(BMIi1,BMIi2,……BMIin1)(BMIj1,BMIj2,……BMIjn2)(BMIk1,BMIk2,……BMIkn3)。
T5:按照T2中定义的三类BMI中,各BMI的逻辑位操作类型,得到第一操作数OP1。
第一操作数的生成规则如下:在所述查询条件序列中,根据是否为定义的“不能包含的查询条件”分类中各查询条件所对应的逻辑位操作类型,生成第一操作数。
针对本发明,在所述BMIS中,用1表示需要进行“非”操作的BMI所对应的逻辑位操作类型,用0表示不需要进行“非”操作的BMI。当然还可用其他的方式对上述的逻辑为操作类型进行定义,只要能区分开是否为“非”操作即可。
为了操作方便,按照上述的规则,从BMIS的低位开始(也可从高位开始定义),分别对BMIS中的各BMI进行定义,得到操作数OP1。OP1(左低位右高位)的格式如下:
BMIS:(BMIi1,BMIi2,……BMIin1)(BMIj1,BMIj2,……BMIjn2)(BMIk1,BMIk2,……BMIkn3)
OP1:
Figure S2007103043418D00081
T6:在所述查询条件序列中,根据每两个查询条件之间的逻辑位运算关系,生成第二操作数OP2。
在本发明中,用1表示查询条件序列中前后两个BMI之间进行“或”运算,用0表示前后两个BMI之间进行“与”运算。各分类之间的逻辑运算关系为进行“与”运算,也即进行“或”运算的分类的计算结果,要分别与进行“与”运算的各查询条件,以及进行了“非”运算的各查询条件之间再进行“与”运算。
按照上述的规则,从BMIS的低位开始(也可从高位开始定义),得到操作数OP2。
BMIS:(BMIi1,BMIi2,……BMIin1)(BMIj1,BMIj2,……BMIjn2)(BMIk1,BMIk2,……BMIkn3)
OP2:
Figure S2007103043418D00082
由于OP2描述的是查询序列中,两个查询条件之间的关系。当只有一个查询条件时是没有意义的,因此第一个查询条件对应的位恒置0,利用OP2进行运算时,该位对应为无操作。
通过上面的分析可以看出,OP1和OP2的位数均为W,与智能卡中CPU的位数相同,这就保证了利用本发明的方法进行查询的速度。因此,若得到的OP1和OP2的位数,与智能卡中CPU的位数不同,则用0补足。
T7:将BMIS和OP1、OP2送入到智能卡操作***中的运算单元,利用OP1和OP2确定的运算规则,对BMIS进行运算,得到最终的查询结果BMIend。具体如下:
T71:对BMIS先用OP1所确定的运算规则进行计算,即对各个查询条件BMIk1,BMIk2,……BMIkn3,分别进行“非”运算,得到各个查询条件的计算结果,表示形式如下:
BMI k 1 ‾ , BMI k 2 ‾ , BMI k 2 ‾ , · · · · · · BMI kn 3 ‾ , BMI kn 3 ‾
T72:对BMIS按照OP2确定的规则,对(BMIi1,BMIi2,……BMIin1)进行“或”运算,得到结果BMI11
T73:然后,将BMI11、BMIj1、BMIj2……BMIjn2 BMI k 1 ‾ , BMI k 2 ‾ · · · · · · BMI kn 3 ‾ 之间进行“与”运算,得到最终的查询结果。
Figure S2007103043418D00093
通过执行上述过程,避免了复杂的正则表达式的运算,快速的得到了最终的查询结果。同时,通过将进行“或”运算的分类的计算结果,分别与进行“与”运算分类中的各个查询条件,以及进行“非”运算后的“不能包含的查询条件”分类中的各个查询条件进行“与”运算,避免了现有技术中需要不断的将每两个查询条件的计算结果进行保存的步骤,节约了内存的占用,提高了查询的速度。
下面以一个具体的例子描述以下上述方法的具体实施过程。
假设当前有BMI序列BMIS包括BMI1,BMI2,BMI3,BMI4,BMI5,BMI6,BMI7。对所述BMI进行分类,假设其中“可能包含的BMI”的有BMI3、BMI7,“必须包含的BMI”的有BMI2、BMI6,“不包含的BMI”有BMI1、BMI4、BMI5,求此BMI序列的逻辑操作结果。
1)将BMIS分类排序得出操作序列:(BMI3BMI7)(BMI2BMI6)(BMI1BMI4BMI5),并确定n1为2,n2为2,n3为3,N=n1+n2+n3=7。
2)根据BMIS各BMI以及相互之间的逻辑操作,生成操作数OP1和OP2,具体编码见下表所示:
  N   n1   n2   n3
  BMI   BMI3   BMI7   BMI2   BMI6   BMI1   BMI4   BMI5
  OP1   0   0   0   0   1   1   1
  OP2   0   1   0   0   0   0   0
假定当前智能卡CPU的位数W=8,将OP1、OP2补足为8位,则可得出OP1,用十六进制表示为:0x70(二进制表示为:01110000,不足8位时,在高位补0),OP2的十六进制表示为:0x02(二进制表示为:00000010,不足8位时,在高位补0)。
将BMI序列BMIS和OP1、OP2送入运算模块进行运算,得出最终结果BMIend
本发明所述的方法不仅仅局限于应用在智能卡的数据库查询中,还可应用在其他领域中的数据库查询技术。
与本发明所述的智能卡中数据库的查询方法相对应,本发明还提供了一种智能卡中数据库的查询装置。
如图3所示,所述智能卡中数据库的查询装置包括如下模块:
分类单元,用于对查询条件进行分类;
序列生成单元,用于对分类结果进行排序,得到查询条件序列;
操作数生成单元,用于根据所述查询条件序列,生成操作数;
运算单元,用于按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。
本发明所述的智能卡中数据库的查询装置,首先由分类单元对用户输入的查询条件进行分类,并由排序单元对所述查询条件进行排序,得到查询条件序列;并根据在查询条件序列中各查询条件或各查询条件之间的逻辑位操作类型,由操作数生成单元分别得到第一操作数和第二操作数。通过得到的第一操作数和第二操作数所定义的运算规则,对查询条件进行计算,最终由运算单元得到查询结果。这样,就避免了现有技术数据库查询技术中需要利用正则表达式进行的复杂运算。因此,本发明的方法大大提高了CPU的处理速度,加快了查询的速度。
如图4所示,所述序列生成单元包括:
第一操作类型定义模块,用于定义“不能包含的查询条件”分类中,各查询条件所对应的逻辑位操作类型。
在本发明中,将“不能包含的查询条件”分类中,各查询条件所对应的逻辑位操作类型定义为“非”运算。
第二操作类型定义模块,用于定义“可能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“或”操作。
第三操作类型定义模块,用于定义“必须包含的查询条件”以及“不能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“与”操作。
第四操作类型定义模块,用于定义“可能包含的查询条件”、“必须包含的查询条件”以及“不能包含的查询条件”三个分类之间的逻辑位操作类型为“与”操作。
排序单元,用于按照一定的顺序,排列与所述三种逻辑位操作类型相对应的三类查询条件,得到查询条件序列,并将所述查询条件序列送入到运算单元中。
为了提高查询速度,所述排序单元在排列顺序的时候,按照进行“或”、“与”、“非”逻辑位操作的顺序进行排序,得到查询条件序列:(“可能包含的查询条件”、“必须包含的查询条件”、“不能包含的查询条件”)。
所述操作数生成单元包括:
第一操作数生成单元,用于在查询条件序列中,根据是否为定义的“不能包含的查询条件”分类中各查询条件所对应的逻辑位操作类型,生成第一操作数。
在所述查询条件序列中,用1表示进行“非”逻辑位运算的查询条件;用0表示其它的查询条件。按照上述的方式,得到第一操作数。
第二操作数生成单元,用于在查询条件序列中,根据定义的每两个查询条件之间的逻辑位运算关系,生成第二操作数。
在所述查询条件序列中,用“0”表示“每两个查询条件之间进行的“与”运算;用“1”表示每两个查询条件之间进行的“或”运算,同时,第一个查询条件对应的位置0。按照上述的方式,得到第二操作数。
为进一步提高查询速度,所述第一操作数和第二操作数的位数,与智能卡操作***中CPU的位数相同,若第一操作数和第二操作数少于所述智能卡的CPU位数,则在第一操作数和第二操作数中用0补足。
在运算单元计算最终的查询结果时,首先按照第一操作数确定的运算规则,对“不能包含的查询条件”分类的各查询条件进行“非”运算,得到“不能包含的查询条件”分类中各查询条件的运算结果。再按照第二操作数确定的运算规则,对“可能包含的查询条件”分类的各查询条件进行“或”运算,得到“可能包含的查询条件”分类的运算结果;并与“必须包含的查询条件”分类的各查询条件,以及按照第一操作数运算获得的“不能包含的查询条件”分类中各查询条件的运算结果进行“与”运算。
综上所述,利用本发明所述的装置,根据定义的各BMI的逻辑位操作类型,以及各BMI之间的逻辑位操作类型,对各BMI进行排序所得到的BMIS,以及由第一、第二操作单元生成的OP1和OP2,所述的运算单元能够快速的计算出最终的查询结果,避免了现有的数据库查询技术中,需要利用正则表达式进行复杂的逻辑运算的麻烦。
当然,本发明的实施例还可有很多种,在不背离本发明的实施例精神及其实质的情况下,本领域技术人员当可根据本发明的实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的实施例所附的权利要求的保护范围。

Claims (13)

1.一种智能卡中数据库的查询方法,其特征在于包括如下步骤:
对查询条件进行分类;
将分类结果进行排序,得到查询条件序列;
根据所述查询条件序列,生成操作数;
按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。
2.根据权利要求1所述的智能卡中数据库的查询方法,其特征在于,所述对查询条件进行分类的步骤具体为:
按照“可能包含的查询条件”、“必须包含的查询条件”、“不能包含的查询条件”将所述查询条件进行分类。
3.根据权利要求1所述的智能卡中数据库的查询方法,其特征在于,所述对分类结果进行排序,得到查询条件序列的步骤具体为:
定义“不能包含的查询条件”分类中,各查询条件所对应的逻辑位操作类型为“非”操作;
定义“可能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“或”操作;
定义“必须包含的查询条件”以及“不能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“与”操作;
定义“可能包含的查询条件”、“必须包含的查询条件”以及“不能包含的查询条件”三个分类之间的逻辑位操作类型为“与”操作;
排列与所述三种逻辑位操作类型相对应的三类查询条件,得到查询条件序列。
4.根据权利要求3所述的智能卡中数据库的查询方法,其特征在于,所述排列与所述三种逻辑位操作类型相对应的三类查询条件的步骤具体为:
按照进行“或”、“与”、“非”逻辑位操作的顺序,排列分别与所述三种逻辑位操作类型相对应的分类,得到查询条件序列:
(“可能包含的查询条件”、“必须包含的查询条件”、“不能包含的查询条件”)。
5.根据权利要求3所述的智能卡中数据库的查询方法,其特征在于,根据所述查询条件序列,生成操作数的步骤具体为:
在所述查询条件序列中,根据是否为定义的“不能包含的查询条件”分类中各查询条件所对应的逻辑位操作类型,生成第一操作数;
在所述查询条件序列中,根据每两个查询条件之间的逻辑位运算关系,生成第二操作数。
6.根据权利要求5所述的智能卡中数据库的查询方法,其特征在于,所述第一操作数和第二操作数的位数,与智能卡操作***中CPU的位数相同;若所述第一操作数或第二操作数小于所述智能卡操作***中CPU的位数,不足的位用0补足。
7.根据权利要求5或6所述的智能卡中数据库的查询方法,其特征在于,所述生成第一操作数的步骤为:
在所述查询条件序列中,用1表示进行“非”逻辑位运算的查询条件;用0表示进行其他类型逻辑位运算的查询条件;
所述生成第二操作数的步骤为:
在所述查询条件序列中,用“1”表示每两个查询条件之间进行的“或”运算,用“0”表示每两个查询条件之间进行的“与”运算。
8.根据权利要求1或5所述的智能卡中数据库的查询方法,其特征在于,所述按照所述操作数确定的运算规则,对所述查询条件序列进行运算的步骤具体为:
按照第一操作数确定的运算规则,对“不能包含的查询条件”分类的各查询条件进行“非”运算,得到“不能包含的查询条件”分类中各查询条件的运算结果;
按照第二操作数确定的运算规则,对“可能包含的查询条件”分类的各查询条件进行“或”运算,得到“可能包含的查询条件”分类的运算结果;
将所述“可能包含的查询条件”分类的运算结果、“必须包含的查询条件”分类的各查询条件、按照第一操作数运算获得的“不能包含的查询条件”分类中各查询条件的运算结果进行“与”运算。
9.一种智能卡数据库的查询装置,其特征在于,所述装置包括:
分类单元,用于对查询条件进行分类;
序列生成单元,用于对分类结果进行排序,得到查询条件序列;
操作数生成单元,用于根据所述查询条件序列,生成操作数;
运算单元,用于按照所述操作数确定的运算规则,对所述查询条件序列进行运算,得到查询结果。
10.根据权利要求9所述的智能卡中数据库的查询装置,其特征在于,所述序列生成单元包括:
第一操作类型定义模块,用于定义“不能包含的查询条件”分类中,各查询条件所对应的逻辑位操作类型为“非”操作;
第二操作类型定义模块,用于定义“可能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“或”操作;
第三操作类型定义模块,用于定义“必须包含的查询条件”以及“不能包含的查询条件”分类中,各查询条件之间的逻辑位操作类型为“与”操作;
第四操作类型定义模块,用于定义“可能包含的查询条件”、“必须包含的查询条件”以及“不能包含的查询条件”三个分类之间的逻辑位操作类型为“与”操作;
排序单元,用于排列与所述三种逻辑位操作类型相对应的三类查询条件,得到查询条件序列,并送入运算单元。
11.根据权利要求9所述的智能卡中数据库的查询装置,其特征在于,所述操作数生成单元包括:
第一操作数生成单元,用于在查询条件序列中,根据是否为定义的“不能包含的查询条件”分类中各查询条件所对应的逻辑位操作类型,生成第一操作数;
第二操作数生成单元,用于在查询条件序列中,根据定义的每两个查询条件之间的逻辑位运算关系,生成第二操作数。
12.根据权利要求11所述的智能卡中数据库的查询装置,其特征在于,
所述第一操作数和第二操作数的位数,与智能卡操作***中CPU的位数相同;若所述第一操作数或第二操作数小于所述智能卡操作***中CPU的位数,不足的位用0补足。
13.根据权利要求11或12所述的智能卡中数据库的查询装置,其特征在于,运算单元按照第一操作数确定的运算规则,对“不能包含的查询条件”分类的各查询条件进行“非”运算,得到“不能包含的查询条件”分类中各查询条件的运算结果;
按照第二操作数确定的运算规则,对“可能包含的查询条件”分类的各查询条件进行“或”运算,得到“可能包含的查询条件”分类的运算结果;并与“必须包含的查询条件”分类的各查询条件,以及按照第一操作数运算获得的“不能包含的查询条件”分类中各查询条件的运算结果进行“与”运算。
CN2007103043418A 2007-12-27 2007-12-27 智能卡中数据库的查询方法及装置 Expired - Fee Related CN101216827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007103043418A CN101216827B (zh) 2007-12-27 2007-12-27 智能卡中数据库的查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007103043418A CN101216827B (zh) 2007-12-27 2007-12-27 智能卡中数据库的查询方法及装置

Publications (2)

Publication Number Publication Date
CN101216827A true CN101216827A (zh) 2008-07-09
CN101216827B CN101216827B (zh) 2010-06-30

Family

ID=39623259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007103043418A Expired - Fee Related CN101216827B (zh) 2007-12-27 2007-12-27 智能卡中数据库的查询方法及装置

Country Status (1)

Country Link
CN (1) CN101216827B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262675A (zh) * 2011-08-12 2011-11-30 北京握奇数据***有限公司 数据库查询方法及智能卡

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262675A (zh) * 2011-08-12 2011-11-30 北京握奇数据***有限公司 数据库查询方法及智能卡

Also Published As

Publication number Publication date
CN101216827B (zh) 2010-06-30

Similar Documents

Publication Publication Date Title
CN106202032B (zh) 一种面向微博短文本的情感分析方法及其***
CN103279478B (zh) 一种基于分布式互信息文档特征提取方法
CN109388712A (zh) 一种基于机器学习的行业分类方法及终端设备
TWI759688B (zh) 一種異常交易節點的檢測方法及裝置
CN110851598B (zh) 文本分类方法、装置、终端设备及存储介质
CN110297879B (zh) 一种基于大数据的数据去重的方法、装置及存储介质
CN103294817A (zh) 一种基于类别分布概率的文本特征抽取方法
CN112883190A (zh) 文本分类方法、装置、电子设备及存储介质
CN103617203B (zh) 基于查询驱动的蛋白质-配体绑定位点预测方法
CN105893380A (zh) 一种改良的文本分类特征选择方法
CN112883730B (zh) 相似文本匹配方法、装置、电子设备及存储介质
CN113961473A (zh) 数据测试方法、装置、电子设备及计算机可读存储介质
CN110110035A (zh) 数据处理方法和装置以及计算机可读存储介质
CN108664653A (zh) 一种基于K-means的医疗消费客户自动分类方法
CN114491047A (zh) 多标签文本分类方法、装置、电子设备及存储介质
CN112084308A (zh) 用于文本类型数据识别的方法、***及存储介质
CN113886708A (zh) 基于用户信息的产品推荐方法、装置、设备及存储介质
CN113435308B (zh) 文本多标签分类方法、装置、设备及存储介质
CN110399432A (zh) 一种表的分类方法、装置、计算机设备及存储介质
CN105787004A (zh) 一种文本分类方法及装置
CN101216827B (zh) 智能卡中数据库的查询方法及装置
CN115049446A (zh) 商户识别方法、装置、电子设备及计算机可读介质
CN104699707A (zh) 一种聚类数据的方法和装置
CN104778205A (zh) 一种基于异构信息网络的移动应用排序和聚类方法
CN112579781A (zh) 文本归类方法、装置、电子设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee after: BEIJING WATCHDATA Co.,Ltd.

Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd.

CP01 Change in the name or title of a patent holder
DD01 Delivery of document by public notice

Addressee: Patent of Beijing grip Data Co.,Ltd. The person in charge

Document name: Patent termination notice

DD01 Delivery of document by public notice
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100630

Termination date: 20211227

CF01 Termination of patent right due to non-payment of annual fee