CN102479244A - 以容器暂存目标数据与未查找数据的查找***及其方法 - Google Patents
以容器暂存目标数据与未查找数据的查找***及其方法 Download PDFInfo
- Publication number
- CN102479244A CN102479244A CN2010105825820A CN201010582582A CN102479244A CN 102479244 A CN102479244 A CN 102479244A CN 2010105825820 A CN2010105825820 A CN 2010105825820A CN 201010582582 A CN201010582582 A CN 201010582582A CN 102479244 A CN102479244 A CN 102479244A
- Authority
- CN
- China
- Prior art keywords
- data
- container
- target data
- search
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种以容器(container)暂存目标数据与未查找数据的查找***及其方法,其通过在查找目标数据时,一并查找出项目数据,并将查找出的项目数据储存到容器中,之后,当容器包含被查找的目标数据时,直接由容器中获取目标数据的技术手段,从而达成减少等待时间并减少查找程序所使用的资源的技术功效。
Description
技术领域
本发明涉及一种数据查找***及其方法,特别是指一种以容器暂存目标数据与未查找数据的查找***及其方法。
背景技术
目前数据查找的方案主要是通过数据库完成,而事实上,也有不使用数据库完成数据查找的方案,例如使用一个或多个文件记录数据,并在该些文件中进行数据查找。
不论是使用数据库、文件或是其他储存方式来记录数据来提供数据查找的功能,数据查找的功能占据了程序的执行过程中的大量时间,也就是说,若应用程序需要进行数据查找,则应用程序在执行的过程中,最花费时间的部分是在等待数据查找的功能查找出所需要的数据。
某些数据查找程序,例如字词释义的查找程序、网页数据的查找程序等,数据查找是最常被使用的功能。而这些数据查找程序在查找提供给使用者浏览的数据时,容易同时产生多个相关数据查找的需求,如此,使用者需要等待到所有数据查找的需求都完成后才可以浏览完整的数据,这往往造成使用者等待的时间超出可以接受的范围。
事实上,这些相关数据查找需求往往是相同数据表或文件中的不同字段的数据,也就是说,使用者在等待浏览完整数据的过程中,数据查找程序会对相同数据表或文件进行数次查找,这样的情况花费了不需要的时间。
综上所述,可知现有技术中长期以来一直存在多次查找多个相关数据而导致等待时间过长的问题,因此有必要提出改进的技术手段,来解决此一问题。
发明内容
有鉴于现有技术存在多次查找多个相关数据而导致等待时间过长的问题,本发明于是提供一种以容器(container)暂存目标数据与未查找数据的查找***及其方法,其中:
本发明所提供的以容器暂存目标数据与未查找数据的查找***,至少包含:容器判断模块,用以于目标数据被查找时,判断储存目标数据的容器是否已被建立,其中,容器包含至少一个元素;容器建立模块,用以于容器判断模块判断容器未被建立后,建立容器;数据查找模块,用以于容器建立模块建立容器后,查找储存于各元素中的项目数据,其中,项目数据其中之一为目标数据;数据储存模块,用以储存各项目数据至各元素中;数据获取模块,用以由容器中获取该目标数据。
本发明所提供的以容器暂存目标数据与未查找数据的查找方法,其步骤至少包括:当目标数据被查找时,判断储存目标数据的容器是否已被建立,容器包含至少一个元素;判断容器已被建立后,由容器中获取目标数据;判断容器未被建立后,执行:建立该容器、查找储存于各元素中的项目数据,项目数据其中之一为目标数据、储存各项目数据至各元素中、由容器中获取目标数据等步骤。
本发明所提供的***与方法如上,与现有技术之间的差异在于本发明通过在查找目标数据时,一并查找出项目数据,并将查找出的项目数据储存到容器中,之后,当容器包含被查找的目标数据时,直接由容器中获取目标数据,借以解决现有技术所存在的问题,并可以达成减少等待时间并减少查找程序所使用的资源的技术功效。
附图说明
图1为本发明所提的以容器暂存目标数据与未查找数据的查找***架构图。
图2为本发明所提的以容器暂存目标数据与未查找数据的查找方法流程图。
图3为本发明实施例所提的数据传递时序图。
图4为本发明实施例所提的数据传输对象的程序码示意图。
【主要元件符号说明】
110内存 120容器判断模块
130容器建立模块 150数据查找模块
160数据储存模块 170数据获取模块
300程序码 400数据库
500查找程序
具体实施方式
以下将配合图式及实施例来详细说明本发明的特征与实施方式,内容足以使任何本领域技术人员能够轻易地充分理解本发明解决技术问题所应用的技术手段并据以实施,借此实现本发明可达成的功效。
本发明可以在需要查找目标数据时,查找出目标数据以及与目标数据相关的关联数据,并使用特定的容器(container)暂存目标数据以及关联数据,使得后续需要查找关联数据时,可以直接由容器中获取,而不需要再次进行查找。其中,目标数据与关联数据通常被储存在同一个数据表或同一个文件中的同一笔记录(record)的不同字段中,但本发明并不以此为限。
本发明所提的目标数据为使用者欲查询的数据,例如,在使用者查找字词的释义数据时,释义数据中预设包含的发音符号、词性、说明文字、例句等数据都可以是本发明所提的目标数据,又如,在使用者通过下拉式选单或核取方块(checkbox)选择至数据表中进行查找的字段时,被选择的字段中的数据即为本发明所提的目标数据。
本发明所提的容器通常以对象(object)的方式实做,例如数据传输对象(Data Transfer Object,DTO),或是其他使用者自订的对象等。容器中定义有一个或多个元素(elememt),每一个元素具有一个元素名称,且一个元素可以储存一种数据类型(data type)的数据,例如字串(string)类型的数据、整数(integer)类型的数据等,但本发明并不以此为限。
值得一提的是,容器与储存目标数据/关联数据的数据表或文件为一对一的对应关系,也就是说,在本发明至储存目标数据/关联数据的数据表或文件查找目标数据与关联数据后,会使用相对应的容器储存被查找出的目标数据与关联数据,例如,本发明可以至数据表「Card」中的「ID」字段查找目标数据及由「code」字段查找关联数据后,使用与数据表「Card」对应的容器「CardForm」中的「ID」元素储存被查找出的目标数据以及使用容器「CardForm」中的「code」元素储存被查找出的关联数据,但本发明并不以此为限。
以下先以「图1」本发明所提的以容器暂存目标数据与未查找数据的查找***的***架构图来说明本发明的***运作。如「图1」所示,本发明的***含有容器判断模块120、容器建立模块130、数据查找模块150、数据储存模块160以及数据获取模块170。
容器判断模块120负责在目标数据被查找时,先判断储存目标数据的容器是否已在内存110中被建立。一般而言,容器判断模块120依据容器是否为NULL来判断容器是否已被建立于内存110中,但本发明并不以此为限。
容器建立模块130负责在容器判断模块120判断内存110中尚未建立储存目标数据的容器后,在内存110中建立储存目标数据的容器。
数据查找模块150负责在容器建立模块130建立储存目标数据的容器后,查找可以被储存到容器的各个元素中的项目数据。数据查找模块150查找项目数据的数据库400可以储存在远端,其中,数据查找模块150所查找出的项目数据包含被查找的目标数据以及一个或多个关联数据。
数据查找模块150可以至储存目标数据的文件或数据表中查找目标数据以及关联数据,也就是说,数据查找模块150在查找到符合查询条件的目标数据后,不会只读取目标数据,而是会读取包含目标数据的一笔记录。数据查找模块150所读取出的该笔记录会包含多个字段,目标数据即为其中一个字段的数据,而其他字段的数据即为关联数据。其中,本发明所提的查询条件系依据使用者欲进行目标数据的查找而输入的查询数据产生,例如,当使用者进行释义数据的查找,则查询条件即为至记录字词的字段查找与查询数据相同的字词或是查找包含查询数据的字词,又如,使用者欲查找数据表中的某个字段超过28的所有记录,则查询条件即为该字段中的数据大于28等,但本发明所提的查询条件并不以上述为限。
数据查找模块150也可以先侦测储存目标数据的容器所包含的元素,接着在查找到符合查询条件的目标数据后,会依据侦测到的元素的元素名称,由包含目标数据的一笔记录中,读取出与所侦测出的元素相对应的目标数据以及关联数据。
特别值得一提的是,若容器所包含的元素所储存的关联数据与目标数据在不同的数据表中,数据查找模块150可以依照预先建立的元素名称与数据表及数据表中的字段名称的对应关系,修改原先用来进行数据库查找的查询语法,使得经过修改的查询语法被执行后可以查找出储存到容器所包含的所有元素中的项目数据。例如,容器中包含储存数据表「En2Ch」中的「explain」字段的元素以及数据表「En2En」中的「explain」字段的元素,如此,当原始的查询语法为「select explain from En2Ch」时,数据查找模块150可以利用预先建立的对应表查找到数据表「En2Ch」与数据表「En2En」的连结关系,假设连结关系为数据表「En2Ch」中的「word」字段与数据表「En2En」中的「word」相同,则数据查找模块150便可以将原始的查询语法修改为「select En2Ch.explain,En2En.explain from En2Ch,En2En whereEn2Ch.word=En2En.word」,如此,在执行经过修改的查询语法后,将可以查找出可以储存到容器的所有元素的项目数据。
数据储存模块160负责将数据查找模块150所查找出的项目数据储存到容器建立模块130所建立的容器的各个元素中。一般而言,数据储存模块160会将字段名称与元素的元素名称对应的目标数据以及关联数据储存到至元素中。其中,字段名称与元素名称的对应关系例如字段名称与元素名称相同,或是元素名称包含字段名称等,但本发明并不以此为限。
数据获取模块170负责在由容器中获取目标数据。数据获取模块170会在容器判断模块120判断出内存110中已存在储存目标数据的容器后,由容器中获取目标数据;数据获取模块170也会在数据储存模块160将数据查找模块150所查找出的项目数据储存到容器建立模块130所建立的容器中后,由容器中获取目标数据。
接着以一个实施例来解说本发明的运作***与方法,并请参照「图2」本发明所提的以容器暂存目标数据与未查找数据的查找方法的方法流程图与「图3」本发明所提的数据传递时序图。在本实施例中,假设本发明应用在字词释义的查找程序500中,但本发明并不以此为限。
当使用者不了解字词「example」的涵义时,使用者可以在包含本发明的字词释义查找程序的使用者界面中输入字词「example」,借以查找字词「example」的说明文字(步骤220)。在本实施例中,字词「example」的说明文字即为本发明所提的目标数据,但本发明所提的目标数据并不以字词的说明文字为限。
在使用者输入字词「example」后,容器判断模块120可以判断储存目标数据的容器是否已被建立于内存110中(步骤230)。在本实施例中,假设字词释义的查找程序500使用名称为「WordDTO」的数据传输对象作为容器,而数据传输对象「WordDTO 」包含「word」、「part_of_speech」、「pronunciation」、「explain」、「sentence」、「variation」、「synonymous_word 」以及「antisense_word」等元素。如此,容器判断模块120会判断内存110中是否存在元素「word」储存字词「example」的数据传输对象「WordDTO」。其中,数据传输对象「WordDTO」的程序码300如「图4」所示,但本发明并不以此为限。
若容器判断模块120判断储存目标数据的容器已被建立于内存110中,在本实施例中,也就是容器判断模块120判断内存110中已存在使用元素「word」储存字词「example」的数据传输对象「WordDTO」,则数据获取模块170可以直接由容器中获取目标数据(步骤280)。在本实施例中,数据获取模块170可以直接由元素「word」储存字词「example」的数据传输对象「WordDTO」的元素「explain」中读取出字词「example」的说明文字,使得字词释义的查找程序500的使用者界面可以显示出字词「example」的说明文字。
反之,当容器判断模块120判断内存110中未建立储存目标数据的容器,在本实施例中,也就是容器判断模块120判断内存110中不存在使用元素「word」储存字词「example」的数据传输对象「WordDTO」,则容器建立模块130可以在内存110中建立容器(步骤250)。在本实施例中,容器建立模块130会在内存110中建立能够储存字词「example」的释义数据的数据传输对象「WordDTO」。
在容器建立模块130建立容器(步骤250)后,数据查找模块150可以查找能够储存于元素中的项目数据(步骤260)。在本实施例中,假设数据查找模块150会连线到远端的数据库400,并传送查询指令至数据库400,借以在储存字词的数据表中查找字词「example」的音标、词性、说明文字、例句、变化型、同义词以及反义词等项目数据,其中,字词「example」的说明文字即为本发明所提的目标数据,字词「example」的音标、词性、例句、变化型、同义词以及反义词为本发明所提的关联数据。
在数据查找模块150查找储存于元素中的项目数据(步骤260)后,数据储存模块160可以储存项目数据至容器建立模块130所建立的容器的元素中(步骤270)。在本实施例中,数据储存模块160会比对数据表中储存字词「example」的音标、词性、说明文字、例句、变化型、同义词以及反义词的字段名称以及数据传输对象「WordDTO」包含的元素的元素名称,并将各个字段中的数据分别储存到字段名称与元素名称相同的元素中,也就是说,若数据表分别以字段名称为「part_of_speech」、「pronunciation」、「explain」、「sentence」、「variation」、「synonymous_word」以及「antisense_word」的字段储存字词「example」的音标、词性、说明、例句、变化型、同义词以及反义词,则字词「example」的音标、词性、说明、例句、变化型、同义词以及反义词将分别被储存容器的「part_of_speech」、「pronunciation」、「explain」、「sentence」、「variation」、「synonymous_word」以及「antisense_word」等元素中,但数据储存模块160将各字段的数据储存到各元素中的方式并不以上述为限。
在数据储存模块160储存项目数据至容器建立模块130所建立的容器的元素中(步骤270)后,数据获取模块170可以由容器建立模块130所建立的容器中获取目标数据(步骤280)。在本实施例中,数据获取模块170可以由元素「word」储存字词「example」的数据传输对象「WordDTO」的元素「explain」中读取出字词「example」的说明文字,使得字词释义查找程序的使用者界面可以显示出字词「example」的说明文字。
而后,若使用者欲查找字词「example」的同义词(步骤220),则容器判断模块120将会判断出内存110中已建立储存字词「example」的同义词的数据传输对象「WordDTO」,如此,数据获取模块170便可以直接由内存110所储存的数据传输对象「WordDTO」的元素「synonymous word」中获取目标数据(步骤280),也就是字词「example」的同义词,使得字词释义的查找程序500不需要再次进行查找便可以在使用者界面中显示字词「example」的同义词。
综上所述,可知本发明与现有技术之间的差异在于具有在查找目标数据时,一并查找出项目数据,并将查找出的项目数据储存到容器中,之后,当容器包含被查找的目标数据时,直接由容器中获取目标数据的技术手段,借由此一技术手段可以解决现有技术所存在多次查找多个相关数据而导致等待时间过长的问题,进而达成减少等待时间并减少查找程序所使用的资源的技术功效。
再者,本发明的以容器暂存目标数据与未查找数据的查找方法,可实现于硬件、软件或硬件与软件的组合中,亦可在计算机***中以集中方式实现或以不同元件散布于若干互连的计算机***的分散方式实现。
虽然本发明所提供的实施方式如上,但是所述的内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中的技术人员,在不脱离本发明所公开的精神和范围的前提下,对本发明的实施的形式上及细节上作些许的更动润饰,均属于本发明的专利保护范围。本发明的专利保护范围,仍须以所附的权利要求书所界定者为准。
Claims (8)
1.一种以容器暂存目标数据与未查找数据的查找方法,其特征在于,该查找方法至少包含下列步骤:
当一目标数据被查找时,判断储存该目标数据的一容器是否已被建立,该容器包含至少一元素;
判断该容器已被建立后,由该容器中获取该目标数据;及
判断该容器未被建立后,执行下列步骤:
建立该容器;
查找储存于各该元素中的各项目数据,该些项目数据其中之一为该目标数据;
储存各该项目数据至各该元素中;及
由该容器中获取该目标数据。
2.如权利要求1所述的以容器暂存目标数据与未查找数据的查找方法,其特征在于,该查找储存于各该元素中的各项目数据的步骤为至储存该目标数据的文件或数据表中查找该目标数据及与该目标数据相关的至少一关联数据,该储存各该项目数据至各该元素中的步骤为储存字段名称与该些元素的元素名称对应的该目标数据及各该关联数据至该些元素中。
3.如权利要求1所述的以容器暂存目标数据与未查找数据的查找方法,其特征在于,该查找储存于各该元素中的各项目数据的步骤为侦测该些元素,并查找与该些元素对应的各该项目数据。
4.如权利要求1所述的以容器暂存目标数据与未查找数据的查找方法,其特征在于,该查找储存于各该元素中的各该项目数据的步骤为至远端数据库查找该些项目数据。
5.一种以容器暂存目标数据与未查找数据的查找***,其特征在于,该查找***至少包含:
一容器判断模块,用以于一目标数据被查找时,判断储存该目标数据的一容器是否已被建立,其中,该容器包含至少一元素;
一容器建立模块,用以于该容器判断模块判断该容器未被建立后,建立该容器;
一数据查找模块,用以于该容器建立模块建立该容器后,查找储存于各该元素中的各项目数据,其中,该些项目数据其中之一为该目标数据;
一数据储存模块,用以储存各该项目数据至各该元素中;及
一数据获取模块,用以由该容器中获取该目标数据。
6.如权利要求5所述的以容器暂存目标数据与未查找数据的查找***,其特征在于,该项目数据包含该目标数据及与该目标数据相关的至少一关联数据,该数据查找模块是至储存该目标数据的文件或数据表中查找该目标数据及与各该关联数据,该数据储存模块是储存字段名称与该些元素的元素名称对应的该目标数据及各该关联数据至该些元素中。
7.如权利要求5所述的以容器暂存目标数据与未查找数据的查找***,其特征在于,该数据查找模块更用以侦测该容器所包含的该些元素,借以查找与该些元素对应的各该项目数据。
8.如权利要求5所述的以容器暂存目标数据与未查找数据的查找***,其特征在于,该数据查找模块是至远端数据库查找该些项目数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105825820A CN102479244A (zh) | 2010-11-30 | 2010-11-30 | 以容器暂存目标数据与未查找数据的查找***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105825820A CN102479244A (zh) | 2010-11-30 | 2010-11-30 | 以容器暂存目标数据与未查找数据的查找***及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102479244A true CN102479244A (zh) | 2012-05-30 |
Family
ID=46091892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105825820A Pending CN102479244A (zh) | 2010-11-30 | 2010-11-30 | 以容器暂存目标数据与未查找数据的查找***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102479244A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021875A (zh) * | 2007-03-22 | 2007-08-22 | 金蝶软件(中国)有限公司 | 面向对象的数据库访问方法及*** |
CN101067820A (zh) * | 2007-06-08 | 2007-11-07 | 北京大学 | 预取对象的方法 |
CN101576921A (zh) * | 2009-06-15 | 2009-11-11 | 用友软件股份有限公司 | 数据查询***和数据查询引擎装置 |
CN101582079A (zh) * | 2009-06-23 | 2009-11-18 | 用友软件股份有限公司 | 一种对象查询方法和装置 |
CN101639839A (zh) * | 2008-07-30 | 2010-02-03 | 中兴通讯股份有限公司 | 一种基于临时表的多归档文件查询方法 |
CN101819596A (zh) * | 2010-04-28 | 2010-09-01 | 烽火通信科技股份有限公司 | 一种基于内存的xml脚本缓存容器 |
-
2010
- 2010-11-30 CN CN2010105825820A patent/CN102479244A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021875A (zh) * | 2007-03-22 | 2007-08-22 | 金蝶软件(中国)有限公司 | 面向对象的数据库访问方法及*** |
CN101067820A (zh) * | 2007-06-08 | 2007-11-07 | 北京大学 | 预取对象的方法 |
CN101639839A (zh) * | 2008-07-30 | 2010-02-03 | 中兴通讯股份有限公司 | 一种基于临时表的多归档文件查询方法 |
CN101576921A (zh) * | 2009-06-15 | 2009-11-11 | 用友软件股份有限公司 | 数据查询***和数据查询引擎装置 |
CN101582079A (zh) * | 2009-06-23 | 2009-11-18 | 用友软件股份有限公司 | 一种对象查询方法和装置 |
CN101819596A (zh) * | 2010-04-28 | 2010-09-01 | 烽火通信科技股份有限公司 | 一种基于内存的xml脚本缓存容器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100565515C (zh) | 一种中文自动应答方法及*** | |
CN101398858B (zh) | 一种基于本体学习的Web服务语义提取方法 | |
US20090254514A1 (en) | Handling requests for data stored in database tables | |
CN109947770A (zh) | 一种数据库查询方法、终端设备及存储介质 | |
CN108446115A (zh) | 一种代码复用的方法及装置 | |
CN102760165A (zh) | 一种使用位图索引的全文检索方法和装置 | |
US20110066937A1 (en) | Method and system for handling non-presence of elements or attributes in semi-structured data | |
CN102902768B (zh) | 文件内容搜索显示方法及*** | |
CN110580255A (zh) | 一种存储并检索数据的方法以及*** | |
CN102609455B (zh) | 一种实现汉语同音字检索的方法 | |
CN102346765A (zh) | 一种查询内存数据的方法及装置 | |
CN113704575A (zh) | 解析XML与Java文件的SQL方法、装置、设备及存储介质 | |
CN109656942B (zh) | 存储sql语句的方法、装置、计算机设备及存储介质 | |
CN116719843A (zh) | 数据库***的查询方法、存储介质及设备 | |
CN106202423A (zh) | 一种文件排序方法和设备 | |
CN101446975B (zh) | 一种文件定位方法、装置 | |
CN102479244A (zh) | 以容器暂存目标数据与未查找数据的查找***及其方法 | |
US20090234838A1 (en) | System, method, and/or apparatus for subset discovery | |
US6839716B1 (en) | Method and system for building a dataset | |
CN103136304B (zh) | 条目的处理方法和装置 | |
CN102214175A (zh) | 依据字词相关性生成例句的***及其方法 | |
CN101576897A (zh) | 文件内容检索***及方法 | |
US7953714B2 (en) | Method for maintaining parallelism in database processing using record identifier substitution assignment | |
CN106484706B (zh) | 用于分布式***的执行过程化sql语句的方法和设备 | |
CN104424334A (zh) | Xml文档节点的构建方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120530 |