数据结构的建立方法与处理方法

文档序号:6563306阅读:164来源:国知局
专利名称:数据结构的建立方法与处理方法
技术领域
本发明关于一种数据结构的建立方法与处理方法,特别关于一种利用树状结构数据的建立方法与处理方法。
背景技术
随着信息产业的进步,各类型的数据数字化之后存储于数据库中,而使用者可经由下达适当的判断条件,在数据库中找寻到数据或是让数据库依据判断条件自动地送出数据。另一方面,由于因特网的发达与普及,使用者亦能在终端机通过网络存取或操作数据库服务器中的数据。
如图1所示,一终端机11与一服务端12通过网络14而连线,并以超文字传输协定(Hyper Text Transfer Protocol,HTTP)进行数据交换。另外,一数据库13设置于服务器12上或与服务器12连线。于此结构下,使用者可利用终端机11操作视窗浏览器,来筛选与修改数据库13中的数据。
如图2所示,使用者可于终端机的视窗浏览器上选取要查询的条件项目如日期、作者、产品名称等等(步骤S01)。然后输入各条件项目的条件陈述(例如date>20050221、authority=Eric、product=car、product=bike或priority=high等等),藉以自数据库中找出符合这些条件陈述的数据(步骤S02)。接着,终端机将这些条件陈述组合成判断条件,且将判断条件转换为HTTP中的资源定位器(Uniform Resource Locator,URL)(步骤S03)。然后终端机将这些条件陈述夹杂在URL中传送至服务器(步骤S04)。服务器从URL中将判断条件提取出来(步骤S05),并且判断数据库是否有符合判断条件的数据(步骤S06)。若有,则判断结果为真。接着,服务器将判断结果传回至终端机,终端机表示搜寻结果以供使用者查阅(步骤S07)。另外,服务器可将本次的判断条件以URL中的格式存储于数据库中(步骤S08)。当使用者再次使用数据库时,数据库所记录的前次操作产生的判断条件与URL可通过服务器表示于终端机。使用者可选取其中的一判断条件,以命令服务器自数据库读取出上一次查询所下达的判断条件(步骤S09)。接着服务器如同前述步骤处理已载入的URL。如此一来,使用者可以方便地于不同时间使用同一判断条件来查询或操作数据库。
然而,若使用者更改前述判断条件中的一个条件项目时,在步骤S03至步骤S08中,终端机必须要重新产生判断条件于URL中,且服务器亦必须再一次依据更新后的判断条件查询数据库。更新后的判断条件亦可存储于数据库中,以供使用者再次查询。然而,这两个判断条件之间具有逻辑关系,若仅以URL方式记录判断条件,则无法记录此逻辑关系。由于此方式较不具备结构性,亦使得处理判断条件的程序较不容易撰写。另一方面,在步骤S09中虽然可经由程序读取出前次判断条件,但是以URL方式记录的判断条件则无法提供使用者来修改条件项目与内容。

发明内容
有鉴于上述课题,本发明提供一种能够表现出各条件陈述间的逻辑关系的树状结构数据的建立方法与处理方法。
本发明提供一种具有逻辑关系的树状结构数据的建立方法。首先,增加一节点于一树状结构数据中以记录一条件陈述。而后,判断次一条件陈述与已记录于该树状结构数据中的条件陈述间的一逻辑关系。当上述所判断的逻辑关为“与”(AND)关系时,在树状结构数据中附加另一节点于该节点之下以记录该次一条件陈述。反之,当逻辑关为“或”(OR)关系时,在树状结构数据中附加另一节点于该节点的父节点之下以记录次一条件陈述。
本发明提供一种使用具有条件陈述的树状结构数据的处理方法。首先,读取一树状结构数据的一节点所记录的一条件陈述与该节点的至少一子节点所记录的另一条件陈述。依据该节点的条件陈述与子节点的条件陈述的“与”(AND)关系而产生一判断条件,其中当该节点具有多个子节点时,判断条件还依据这些子节点的条件陈述的“或”(OR)关系而产生。
本发明提供一种判断条件的处理方法。首先,记录一条件陈述于一树状结构数据的一节点中。而后,判断一次一条件陈述与已记录于树状结构数据中的该节点的条件陈述间的一逻辑关系。当上述所判断的逻辑关系为“与”(AND)关系时,在树状结构数据中新增另一节点于该节点之下以记录次一条件陈述。反之,当上述所判断的逻辑关系为“或”(OR)关系时,在树状结构数据中新增另一节点于该节点的父节点之下以记录次一条件陈述。传送树状结构数据至一服务器,并于服务器读取树状结构数据的该节点所记录的条件陈述与该节点的至少一子节点所记录的另一条件陈述。于服务器依据该节点的条件陈述与子节点的条件陈述的“与”(AND)关系而产生一判断条件,其中当该节点具有多个子节点时,判断条件还依据该多个子节点的条件陈述的“或”(OR)关系而产生。
承上所述,因依本发明的具有逻辑关系的树状结构数据的建立方法与处理方法中,多个条件陈述依据彼此间的逻辑关系而分别放置于树状结构数据中的父子节点或是兄弟节点,因此条件陈述可结构化地记录于树状结构数据中,并可将各条件陈述之间的逻辑关系以节点间的连接方式记录,并使得判断条件的程序较容易撰写与维护。


图1为表示公知判断条件的处理方法所应用的系统的区块图;图2为表示公知判断条件的处理方法的示意图;图3为表示依本发明一实施例的判断条件的处理方法的流程图;图4为表示依本发明一实施例的判断条件的处理方法中,建立具有逻辑关系的树状结构数据的流程图;图5为表示依本发明一实施例的判断条件的处理方法中,树状结构数据被建立过程的一示意图;图6为表示依本发明一实施例的判断条件的处理方法中,树状结构数据被建立过程的一示意图;图7为表示依本发明一实施例的判断条件的处理方法中,处理具有逻辑关系的树状结构数据的流程图;以及图8为表示依本发明一实施例的判断条件的处理方法中,具有逻辑关系的树状结构数据被建立与处理的示意图。
元件符号说明11终端机12服务端13数据库14网络2树状结构数据
20根节点21-2n节点CS1-CSn条件陈述具体实施方式
以下将参照相关附图,说明依本发明一实施例的具有逻辑关系的树状结构数据的建立方法与处理方法。
于本实施例中,一使用者于一终端机前操作一视窗浏览器,并于该视窗浏览器中下达判断条件。一服务器与终端机连线并接收使用者下达的判断条件来搜寻一数据库,或是服务器依据判断条件来执行传送数据或发出电子邮件的操作。
图3为处理终端使用者所下达的判断条件的处理方法。使用者先于终端机的视窗浏览器上选取要查询的条件项目(步骤S11)。然后再输入各条件项目的条件陈述(步骤S12),藉以自数据库中找出符合条件陈述的数据。接着,终端机先将条件陈述数据建立成具有逻辑关系的树状结构数据(步骤S13)。若上述的两条件陈述的关系为“与”(AND)关系,则将两条件陈述存储于树状结构数据中并分别为父子节点中的条件陈述。反之,若二条件陈述的关系为“或”(OR)关系,则将两条件陈述存储于树状结构数据中分别为兄弟节点中的条件陈述。然后,终端机将该树状结构数据所存储的条件陈述传送至远端的服务器(步骤S14)。接着,服务器接收并读取该树状结构数据所存储的条件陈述。依据各个父子节点与兄弟节点所对应的条件陈述,将条件陈述组合为判断条件(步骤S15),并且判断数据库是否有符合判断条件的数据(步骤S16)。若数据库有符合判断条件的数据,则判断结果为真(true)。若数据库没有符合判断条件的数据,则判断结果为否(false)。接着,服务器将上述的判断结果传回至终端机,终端机表示判断结果,以供使用者查阅(步骤S17)。此外,服务器可将树状结构数据存储于数据库中(步骤S18)。若使用者下次再操作数据库时仍有相同的判断条件时,数据库所记录的前一次操作产生的判断条件与树状结构数据可通过服务器表示于终端机,使用者可选取其中的一判断条件,以命令服务器直接载入存储于数据库的树状结构数据(步骤S19),接着服务器如同前述步骤处理已载入的树状结构数据。
请参考图3与图4,步骤S13还包含图4的步骤S21-S26,各步骤所建立不同的树状结构数据如图5与图6所示。首先,终端机设定一树状结构数据的一根节点(步骤S21)。记录有条件陈述的节点附加于根节点或根节点的接续节点之下。接着终端机增加一节点于树状结构数据中的根节点之下,其中节点记录一条件陈述CS1(步骤S22)。终端机判断节点的次一条件陈述CS2与已记录于树状结构数据中的各节点所记录的条件陈述间的一逻辑关系(步骤S23),以确认条件陈述间的逻辑关系为“与”(AND)关系或“或”(OR)关系。由于次一条件陈述CS2仅和条件陈述CS1有相对关系,故于步骤S23中仅判断次一条件陈述CS2和条件陈述CS1的逻辑关系。“”当两条件陈述的逻辑关系为“与”(AND)关系时(如图5所示),终端机在树状结构数据2中附加节点22于节点21之下,以在节点22记录次一条件陈述CS2(步骤S24)。在此实施例中,节点21与节点22为父子节点,亦即节点22附加于节点21之下。
反之,当两条件陈述的逻辑关系为“或”(OR)关系时(如图6所示),终端机在树状结构数据2中的节点22与节点21皆位于根节点20之下,以记录次一条件陈述CS1与次一条件陈述CS2(步骤S25)。在此实施例中,节点21与节点22互为兄弟节点,亦即节点22与节点21皆同等位于根节点20之下。接着,终端机判断是否尚有待处理的条件陈述CS3-CSn(步骤S26)。若终端机有待处理的条件陈述,则再次回到步骤S23。步骤S23-S26会再依序逐一处理条件陈述CS3-CSn。
请参考图7,其步骤S31-S34为图3的步骤S15的细部分解步骤。请配合参考图5,服务器自根节点20开始寻访树状结构数据2的第一个记录有条件陈述的节点(步骤S31)。接着,服务器读取节点21所连接的节点22(节点21的子节点)的一条件陈述CS2(步骤S32)。服务器依据节点21的一条件陈述CS1与节点22的条件陈述CS2的“与”(AND)关系而产生一判断条件(步骤S33)。由于根节点20为一特殊的节点,其并没有记录条件陈述,所以仅在处理根节点20时,判断条件仅依据子节点的条件陈述而产生。另外,当根节点20具有多个子节点时(如图6所示),判断条件还依据这些子节点21、22的条件陈述CS1、CS2的“或”(OR)关系而产生。接着,服务器判断是否仍有尚未寻访的节点于树状结构数据中(步骤S34),若有则返回至步骤S32并寻访下一节点直到每一个节点都寻访过。寻访节点的优先顺序是同一层的节点先寻访,然后再寻访下一层的节点,亦即是先广后深的寻访方式。
上述的步骤S32至步骤S34中,可经由循环或是递回函式实现。若以递回函式实现的话,递回函式于寻访现行节点时读取现行节点的子节点的条件陈述(步骤S32),并依据此节点与子节点之间的逻辑关系而产生判断条件(步骤S33)。接着再呼叫此递回函式,以寻访下一节点(步骤S34)。
为使本实施例的特征更加明显,以下以图8举例进行说明。当使用者已经选取好要查询的条件项目,并针对各条件项目下达条件陈述CS1-CS6与条件陈述之间的逻辑关系时,此时终端机建立树状结构数据2以记录条件陈述CS1-CS6。在树状结构数据的建立过程中,终端器先建立根节点20,然后再建立节点21以记录条件陈述CS1。接着,终端机判断出条件陈述CS1和条件陈述CS2是“与”(AND)关系,因而在节点21之下建立节点22以记录条件陈述CS2。然后终端机判断出仍有条件陈述尚未记录于树状结构数据2中,于是继续处理下一条件陈述CS3。
在处理条件陈述CS3时,终端器判断出条件陈述CS3和已记录于树状结构数据2中的条件陈述CS2是“与”(AND)关系。因此终端器在记录有条件陈述CS2的节点22之下建立节点23,以记录条件陈述CS3。然后终端机继续处理下一条件陈述CS4。在处理条件陈述CS4时,终端器判断出条件陈述CS4和已记录于树状结构数据2中的条件陈述CS3是“或”(OR)关系,所以终端器在记录有条件陈述CS3的节点23的父节点22之下建立节点24以记录条件陈述CS4。换句话说,节点23与节点24为节点22的子节点,而节点23与节点24互为兄弟节点,然后终端机如同前述处理方式再建立节点2n,以记录条件陈述CSn。
当树状结构数据2建立完毕之后就被传送至服务器端,于此特别说明的是,树状结构数据已广泛应用于现今的程序之中,而且传送树状结构数据的程序执行码可由JAVA、ASP、PHP或CGI等技术实现。
所有的条件陈述之间的逻辑关系可以经由如图8所示的树状结构数据表示。服务器从根节点20开始寻访,并读取根节点20的子节点21的条件陈述CS1。接着,服务器依据子节点21的条件陈述CS1产生一判断条件。服务器判断出仍有尚未寻访的节点21-26于树状结构数据中,而返回至步骤S32并寻访下一节点21。
当服务器寻访到节点21时,其读取节点21的子节点22所记录的条件陈述CS2。然后,服务器依据条件陈述CS1、CS2的“与”(AND)关系产生判断条件,接着,服务器判断出树状结构数据仍有未寻访的节点22-26,因而又返回寻访下一节点22。服务器寻访节点22并读取其子节点23、24的条件陈述CS3、CS4。由于节点22具有二个子节点23、24,所以服务器除了依据条件陈述CS2和CS3的“与”(AND)关系与条件陈述CS2和CS4的“与”(AND)关系之外,还依据条件陈述CS3和CS4的“或”(OR)关系产生判断条件,并将此次的判断条件附加于前次的判断条件之后。此外,服务器寻访各节点而产生的判断条件的内容为图8的(data>20050221)&(authority=Eric)&(((product=car)&(priority=high)&(customer=Q))|(product=bike))),其中「&」为前述所提的“与”(AND)关系,而「|」为前述所提的“或”(OR)关系。
接着,服务器依照前述的方式依序寻访树状结构中其他节点。于此特别注意的是,由于是先广后深的寻访方式,所以寻访完节点23之后,会先寻访条件陈述的节点24而不会先寻访节点25。经由前述处理之后,使用者下达的搜寻条件可完全恢复。经由步骤S31至步骤S34处理之后,各个条件陈述CS1-CS6重组于判断条件之中,接着服务器依据判断条件自一数据库搜寻数据。
在本实施例中,树状结构数据的各个节点对应使用者所设定的一个条件陈述,各个节点可具有一选取值SEL以记录使用者是否选取此条件陈述。若使用者有选取此条件项目,选取值SEL为「启用(enable)」。反之,若使用者未选取此条件项目,选取值SEL为「禁用(disable)」。当使用者命令服务器载入前次的树状结构数据之后,使用者可于终端机修改选取的条件陈述。因此于步骤S32中服务器必须要判断现行节点的子节点的选取值SEL是否为「enable」,以读取子节点的条件陈述。
另外,再以图8的树状结构数据为例。若使用者将条件陈述CS3改为不选取,亦即是使用者设定的判断条件为(条件陈述CS1AND条件陈述CS2AND条件陈述CS4),则节点23的选取值SEL被修正为「disable」,其他节点的选取值SEL仍为「enable」。此时,服务器于寻访节点21时判断出节点22的选取值SEL为「enable」,以读取条件陈述CS2。当寻访到节点22时,服务器判断出节点23的选取值SEL为「disable」,因此服务器不读取条件陈述CS3。由于在步骤S32-S34中,服务器亦不再寻访节点23以后的节点,因此节点25、26亦不会被读取与处理,只有节点24的条件陈述CS4会被处理,最后服务器可自树状结构数据2将条件陈述组合为使用者修改后的判断条件。
综上所述,因依本发明的具有逻辑关系的树状结构数据的建立与处理方法中,多个条件陈述依据彼此间的逻辑关系分别放置于树状结构数据的父子0节点、或兄弟节点,因此条件陈述可结构化地记录于树状结构数据之中,并可将各条件陈述之间的逻辑关系依据节点之间的连接方式记录,使得判断条件的程序较容易撰写与维护。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。
权利要求
1.一种具有逻辑关系的树状结构数据的建立方法,包含记录一条件陈述于一树状结构数据的一节点中;判断一次一条件陈述与已记录于该树状结构数据中的该节点的该条件陈述之间的一逻辑关系;当该逻辑关系为“与”(AND)关系时,在该树状结构数据中新增另一节点,并于该节点之下记录该次一条件陈述;以及当该逻辑关系为“或”(OR)关系时,在该树状结构数据中新增另一节点,并于该节点的父节点之下以记录该次一条件陈述。
2.如权利要求1所述的树状结构数据的建立方法,还包含设定该树状结构数据中的一根节点;以及附加记录该条件陈述的该节点于该根节点之下。
3.如权利要求1所述的树状结构数据的建立方法,其中该条件陈述的“与”(AND)与“或”(OR)关系用于搜寻一数据库中的数据。
4.一种使用具有条件陈述的树状结构数据的处理方法,包含读取一树状结构数据中的一节点所记录的一条件陈述与该节点的至少一子节点所记录的另一条件陈述;以及依据该节点的该条件陈述与该子节点的该条件陈述的“与”(AND)关系而产生一判断条件,其中当该节点具有多个子节点时,该判断条件还依据该多个子节点的该多个条件陈述的“或”(OR)关系而产生。
5.如权利要求4所述的使用具有条件陈述的树状结构数据的处理方法,其中该节点具有一选取值,以记录该条件陈述是否被选取。
6.如权利要求5所述的使用具有条件陈述的树状结构数据的处理方法,其中该读取步骤当该节点的该选取值为启用时,读取该节点的该条件陈述。
7.如权利要求5所述的使用具有条件陈述的树状结构数据的处理方法,其中该读取步骤当该节点的该选取值为非启用时,不读取该节点以及该节点的子节点以下的条件陈述。
8.一种判断条件的处理方法,包含记录一条件陈述于一树状结构数据中的一节点中;判断一次一条件陈述与已记录于该树状结构数据中的该节点的该条件陈述间的一逻辑关系,其中当该逻辑关系为“与”(AND)关系时,在该树状结构数据中新增另一节点于该节点之下以记录该次一条件陈述,及当该逻辑关系为“或”(OR)关系时,在该树状结构数据中新增另一节点于该节点的父节点之下以记录该次一条件陈述;传送该树状结构数据至一服务器;于该服务器读取该树状结构数据中的该节点所记录的该条件陈述与该节点的至少一子节点所记录的另一条件陈述;以及于该服务器依据该节点的该条件陈述与该子节点的该条件陈述的“与”(AND)关系而产生一判断条件,其中当该节点具有多个子节点时,该判断条件还依据该多个子节点的该多个条件陈述的“或”(OR)关系而产生。
9.如权利要求8所述的判断条件的处理方法,还包含设定该树状结构数据中的一根节点;以及附加记录有该条件陈述的该节点于该根节点之下。
10.如权利要求8所述的判断条件的处理方法,其中该多个条件陈述的“与”(AND)关系及“或”(OR)关系用于搜寻一数据库中的数据。
全文摘要
一种具有逻辑关系的树状结构数据的建立方法。首先,增加一节点于一树状结构数据中以记录一条件陈述。而后,判断次一条件陈述与已记录于该树状结构数据中的条件陈述间的一逻辑关系。当上述所判断的逻辑关系为“与”(AND)关系时,在树状结构数据中附加另一节点于该节点之下,以记录该次一条件陈述。反之,当上述所判断的逻辑关系为“或”(OR)关系时,在树状结构数据中附加另一节点于该节点的父节点之下,以记录次一条件陈述。
文档编号G06F17/30GK1920833SQ200610153620
公开日2007年2月28日 申请日期2006年9月12日 优先权日2006年9月12日
发明者张广义 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1