《PDM系统中数据的查询方法及装置.pdf》由会员分享,可在线阅读,更多相关《PDM系统中数据的查询方法及装置.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102004800A43申请公布日20110406CN102004800ACN102004800A21申请号201010610445322申请日20101228G06F17/3020060171申请人北京数码大方科技有限公司地址100080北京市海淀区北京市海淀区知春路甲63号卫星大厦802室72发明人林巧明倪永全桓永兴74专利代理机构北京康信知识产权代理有限责任公司11240代理人吴贵明54发明名称PDM系统中数据的查询方法及装置57摘要本发明公开了一种PDM系统中数据的查询方法及装置。其中,该PDM系统中数据的查询方法包括获取所述PDM系统中的更新数据;根据所述更新数据更。
2、新索引数据库;通过全文搜索的方式查询所述索引数据库。通过本发明,能够提高PDM系统中数据的查询效率。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图1页CN102004813A1/1页21一种PDM系统中数据的查询方法,其特征在于,包括获取产品数据管理PDM系统中的更新数据;根据所述更新数据更新索引数据库;以及通过全文搜索的方式查询所述索引数据库。2根据权利要求1所述的PDM系统中数据的查询方法,其特征在于,通过触发器获取所述PDM系统中的更新数据。3根据权利要求1所述的PDM系统中数据的查询方法,其特征在于,在获取所述PDM系统中的更新数据之后,所述。
3、方法还包括将所述更新数据写入临时列表中,根据所述更新数据更新索引数据库包括利用所述临时列表中的更新数据更新所述索引数据库。4根据权利要求3所述的PDM系统中数据的查询方法,其特征在于,在将所述更新数据写入临时列表中之后,所述方法还包括加载可执行程序;根据所述更新数据更新索引数据库包括所述可执行程序定时根据所述临时列表中的更新数据更新所述索引数据库。5根据权利要求4所述的PDM系统中数据的查询方法,其特征在于,以任务计划的方式加载所述可执行程序。6根据权利要求1所述的PDM系统中数据的查询方法,其特征在于,根据所述更新数据更新索引数据库包括如果图纸全路径中中间对象的信息由变更,则更新所述索引数据。
4、库中的全路径信息和所述全路径信息对应的对象信息。7根据权利要求1所述的PDM系统中数据的查询方法,其特征在于,所述更新数据为图纸对象的更新数据。8一种PDM系统中数据的查询装置,其特征在于,包括获取模块,用于获取所述PDM系统中的更新数据;更新模块,用于根据所述更新数据更新索引数据库;以及查询模块,用于通过全文搜索的方式查询所述索引数据库。9根据权利要求8所述的PDM系统中数据的查询装置,其特征在于,还包括写入模块,用于在所述获取模块获取所述PDM系统中的更新数据之后,将所述更新数据写入临时列表中,其中,更新模块用于利用所述临时列表中的更新数据更新所述索引数据库。10根据权利要求8所述的PDM。
5、系统中数据的查询装置,其特征在于,还包括加载模块,用于在所述写入模块将所述更新数据写入临时列表中之后,加载可执行程序,其中,所述更新模块用于使所述可执行程序定时根据所述临时列表中的更新数据更新所述索引数据库。权利要求书CN102004800ACN102004813A1/6页3PDM系统中数据的查询方法及装置技术领域0001本发明涉及一种产品数据管理PRODUCTDATAMANAGE,简称为PDM系统中数据的查询方法及装置。背景技术0002PDM系统是典型的数据库应用系统,主要处理数据库中的数据信息。这些数据信息随着时间的推移将不断增多,这是企业宝贵的数据资源。当需要借鉴参考历史数据时,用户期望。
6、通过查询,可以获取到符合要求的数据,以避免资源浪费,做重复性工作。当系统软件不能快速搜索出用户期望的数据时,用户体验不友好,觉得查询速度非常慢,甚至出现“死机”现象,这严重影响系统的使用推广。特别地,在PDM系统与其他应用软件,如CAXAEB电子图版的集成中,用户只关心某些特定数据,如图纸信息,用户希望能列出图纸的所有借用信息情况以便参考,这就涉及到多字段复杂查询和嵌套查询,如何更快地展示用户所需数据,将影响产品的口碑和进一步推广,因此,查询效率至关重要。0003数据库系统是数据管理系统的核心,基于数据库的事务处理以及数据查询与分析处理是PDM系统的重要功能之一,而查询操作在各种数据库操作中所。
7、占据的比重最大,查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句,因此查询优化技术的重要性。但是否存在更为完美的解决这种性能的方案即不管数据库中有多少数据,有多少个字段,查询特定条件,如零件描述或者零件代号等所有字段中包含“GB”的数据,可以一次性很快地查询出来,让用户感觉很快无需“友好”的进度提示,这是大家都希望达到的理想目标。尽量增强用户好的体验,这在某种层面上基本能让用户接受。尤其在PDM与画图软件集成产品中,用户关心的只是图纸信息,如何很快将目标图纸快速检索出来的同时,列出图纸被引用路径,以便知道图纸变更可能影响的范围,这对用户非常有用,引用路径的查询,也是通常搜索中最。
8、耗时的操作,如能在集成中有效提高此操作的性能,将为集成产品创造更高的效益。0004目前PDM系统的查询,一股都是基于SQL语句直接从数据库实时获取,效率提高则主要依赖于查询策略优化。0005对象数据查询是每个应用信息系统必备的功能,其效率问题也比较常见,目前为止也有很多的优化方案或方法。最常见的是改善查询策略,进行查询优化,但几乎所有查询都是直接从数据库读取数据。0006在相关技术中提供了一种方法,该方法包括以下步骤00071首先查找数据库中符合条件的图纸对象信息。00082分析数据模型中可能与图纸发生关联关系的对象和数据库表,通过联合查询的方式查找与图纸有直接关联的对象,如零件、产品、文件夹。
9、等。00093递归查找与图纸直接关联的对象的父对象或者关联对象信息,直到找到最终产品或者文件夹为止。0010在查找过程中,尽量优化SQL查询语句,或者在数据库中,合理使用索引,也简化说明书CN102004800ACN102004813A2/6页4或避免对大型表进行重复的排序,使用的SQL语句尽量避免进行全表扫描,消除对大型表行数据的顺序存取等SQL语句级的优化。0011对于上述的方法,在一些数据库服务器上,索引可能失效或者因为频繁操作而使得读取效率降低,并且一个使用索引的查询可能不明不白地慢下来;并且在查询中,涉及到多表复合查询和递归查询,这增大了查询语句的困难和查询效率的降低。0012针对相。
10、关技术中PDM系统中数据的查询效率比较低的问题,目前尚未提出有效的解决方案。发明内容0013针对相关技术中PDM系统中数据的查询效率比较低的问题而提出本发明,为此,本发明的主要目的在于提供一种PDM系统中数据的查询方法及装置,以解决上述问题。0014为了实现上述目的,根据本发明的一个方面,提供了一种PDM系统中数据的查询方法。该PDM系统中数据的查询方法包括获取所述PDM系统中的更新数据;根据所述更新数据更新索引数据库;以及,通过全文搜索的方式查询所述索引数据库。0015进一步地,通过触发器获取所述PDM系统中的更新数据。0016进一步地,在获取所述PDM系统中的更新数据之后,所述方法还包括将。
11、所述更新数据写入临时列表中,根据所述更新数据更新索引数据库包括利用所述临时列表中的更新数据更新所述索引数据库。0017进一步地,在将所述更新数据写入临时列表中之后,所述方法还包括加载可执行程序;根据所述更新数据更新索引数据库包括所述可执行程序定时根据所述临时列表中的更新数据更新所述索引数据库。0018进一步地,以任务计划的方式加载所述可执行程序。0019进一步地,根据所述更新数据更新索引数据库包括如果图纸全路径中中间对象的信息由变更,则更新所述索引数据库中的全路径信息和所述全路径信息对应的对象信息。0020进一步地,所述更新数据为图纸对象的更新数据。0021为了实现上述目的,根据本发明的另一方。
12、面,提供了一种PDM系统中数据的查询装置。该PDM系统中数据的查询装置包括获取模块,用于获取所述PDM系统中的更新数据;更新模块,用于根据所述更新数据更新索引数据库;查询模块,用于通过全文搜索的方式查询所述索引数据库。0022进一步地,上述PDM系统中数据的查询装置还包括写入模块,用于在所述获取模块获取所述PDM系统中的更新数据之后,将所述更新数据写入临时列表中,其中,更新模块用于利用所述临时列表中的更新数据更新所述索引数据库。0023进一步地,上述PDM系统中数据的查询装置还包括加载模块,用于在所述写入模块将所述更新数据写入临时列表中之后,加载可执行程序,其中,所述更新模块用于使所述可执行程。
13、序定时根据所述临时列表中的更新数据更新所述索引数据库。0024通过本发明,采用获取所述PDM系统中的更新数据;根据所述更新数据更新索引数据库;以及,通过全文搜索的方式查询所述索引数据库的方法,解决了相关技术中PDM系统中数据的查询效率比较低的问题,进而达到了提高PDM系统中数据的查询效率效果。说明书CN102004800ACN102004813A3/6页5附图说明0025此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中0026图1是根据本发明实施例的PDM系统中数据的查询方法的流程图;0027图2。
14、是根据本发明实施例的PDM系统中数据的查询装置的示意图;以及0028图3是根据本发明的PDM系统中数据的查询装置的优选实施例的示意图。具体实施方式0029需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。0030图1是根据本发明实施例的PDM系统中数据的查询方法的流程图。0031如图1所示,该方法包括如下的步骤0032步骤S102,获取所述PDM系统中的更新数据。0033例如,可以通过触发器获取所述PDM系统中的更新数据。0034优选地,在获取所述PDM系统中的更新数据之后,所述方法还包括将所述更新数据写入临时列表中,根据。
15、所述更新数据更新索引数据库包括利用所述临时列表中的更新数据更新所述索引数据库。0035优选地,在将所述更新数据写入临时列表中之后,所述方法还包括加载可执行程序;根据所述更新数据更新索引数据库包括所述可执行程序定时根据所述临时列表中的更新数据更新所述索引数据库。0036优选地,以任务计划的方式加载所述可执行程序。0037步骤S104,根据所述更新数据更新索引数据库。0038优选地,根据所述更新数据更新索引数据库包括如果图纸全路径中中间对象的信息由变更,则更新所述索引数据库中的全路径信息和所述全路径信息对应的对象信息。0039步骤S106,通过全文搜索的方式查询所述索引数据库。0040优选地,所述。
16、更新数据为图纸对象的更新数据。0041针对PDM系统和画图软件集成中,主要针对图纸对象进行信息查询,并列出图纸引用全路径,现有的解决方案都是采用直接从数据库查询来进行,中间涉及多表联合查询和递归查询,搜索耗时较长用户感觉搜索很慢,等好几秒才列出搜索结果,本发明提供一种不直接从数据库查询,且能以更快的速度获取查询结果并得到图纸所有引用全路径的解决方案,且查询是进行多个字段的模糊匹配搜索。0042以下描述本发明的优选实施例。0043首先,通过触发器,明确获取所有数据主要是图纸对象变更操作增加、修改、删除,并获取变更数据,写入临时表中,并根据获取到的更新数据创建或更新索引数据库。如果是图纸全路径中中。
17、间对象的信息有变更操作,则要更新索引库中的全路径信息和全路径中对应的对象信息。此索引数据库将是未来数据查询的数据源,而不是直接从数据库获取。0044其次,以任务计划的方式加载EXE程序,该EXE程序定时根据临时表中的变更数据说明书CN102004800ACN102004813A4/6页6更新索引库。0045最后,通过全文搜索的方式查询索引数据库,获取查询结果。利用全文搜索技术获取数据将更快地获取到查询结果。0046例如,可以采用以下具体实现来实现0047如下以C版本和SQLSERVER数据库为例进行代码级的详细说明0048首先,在数据库上建立一个临时表,该表上记录变更对象图纸的KEY属性如CL。
18、ASSID和OBJECTID,记录变更包括数据记录的增加、修改和删除标志信息,如增加为1,修改为2,删除为3,并记录变更时间。0049分析所有与图纸有链接关系的对象及其相关的数据库表,如零件表、图纸表,图纸与零件的链接表,零件与零件的树状链接表,所有相关表中涉及到查询的字段,然后在数据库所有相关表上建立相应的触发器,当创建新对象后,把该对象的CLASSID、OBJECTID记录到临时表中对应字段,变更标志字段记录为1,并记录下对象的创建时间;类似地,当对象属性发生修改或者删除后,同样把变更对象的KEY属性也记录到临时表中,更改对象信息时,变更标志字段为2,删除对象时,该变更标志字段为3,同时记。
19、下变更时间。若是涉及到链接表,除了记下链接对象本身的信息外,还要记下链接对象上的父子对象CLASSID、OBJECTID信息。0050建立一个EXE程序,该程序的作用是扫描2中临时表中的对象数据,通过联合查询的方式把该表中的对象详细信息取出来,根据标志位信息,新建的图纸对象信息新建索引并添加到索引库;并查询出对象的全路径信息,此全路径信息也需要建立相应的索引;若图纸对象更新了数据信息,则把该更新信息也更新到索引库;若是链接对象更新,只须更新全路径中的对应信息,若图纸对象删除,则从索引库中删除所有涉及该对象的索引信息。同时系统将记录此次更新索引的时间。当索引更新完毕后,删除临时表中做过处理的数据。
20、,以避免垃圾数据存在。下一次执行此程序,程序会检查临时表中变更时间大于此次更新时间的数据,避免重复性工作,提高效率,建立索引和更新索引的方式可以利用LUCENENET全文检索服务器提供的API进行操作。0051在数据库所在的服务器端加载一个任务计划,该任务计划定期执行3中建立的EXE程序。执行的频率可以根据用户需求进行调整,如果用户需要实时查询,该EXE执行的时间间隔可以设置得短一些,如每分钟执行一次,如果不需要实时查询,可以设置为每天执行一次,这样可以把执行时间设置在深夜,以降低服务器的运行负荷。0052以上程序和配置都做好后,就可以进行全文搜索了。利用LUCENENET提供的API从其建立。
21、的索引库中取出符合条件的记录返回客户端,然后进行后续处理。0053利用传统的SQL语句也能达到查询出符合条件的数据的目的,当用户查询图纸名称、描述等多个字段含有某些特定条件的数据时,需要进行多个字段的模糊匹配搜索,如果再涉及到多表的联合查询,SQL语句复杂,或者当数据量很大时,将是一个相当耗时的操作,这样就没有本发明方法性能好毕竟本发明把数据库中重要数据做了索引,并且利用了具有更高查询效率的第三方全文搜索技术当然不排除未来DBMS数据库管理系统的查询优化器性能得到巨大改善,能很好地支持大数量复合查询而没有性能问题。0054另外,SQLSERVER2005和2008为应用程序和用户提供了对SQL。
22、SERVER表中基于字符的数据发出全文查询的功能。在可以对给定表运行全文查询之前,数据库管理员必须说明书CN102004800ACN102004813A5/6页7对表创建全文索引。另外,从SQLSERVER2008开始提供系统非索引字表。若要支持特定语言或商业应用场景,需要通过添加和删除非索引字也称为干扰词更改系统非索引字表,并且根据需要创建附加的非索引字表。但是,在一些数据库服务器上,索引可能失效或者因为频繁操作而使得读取效率降低,并且一个使用索引的查询可能不明不白地慢下来。另外,当数据库表更新大量数据后,需要删除并重建索引以提高查询速度,这在后续的维护工作上比本发明耗时耗力。0055通过以。
23、上实施例可以看出,PDM系统中数据查询不再直接从数据库中获取,而是根据触发器建立的变更数据,利用全文搜索技术创建索引库,并利用全文搜索技术获取查询结果,且索引库的更新不与数据更新同步,采用EXE定时执行方式更新索引库。0056进一步地,PDM系统利用全文搜索技术创建索引库、查询对象信息和引用全路径信息,采用EXE定时执行方式更新索引库。0057需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。0058根据本发明的实施例,提供了一种PDM系统中数据的查询装置。。
24、0059图2是根据本发明实施例的PDM系统中数据的查询装置的示意图。0060如图2所示,该PDM系统中数据的查询装置包括获取模块202、更新模块204和查询模块206。0061其中,获取模块202用于获取所述PDM系统中的更新数据;更新模块204用于根据所述更新数据更新索引数据库;查询模块206用于通过全文搜索的方式查询所述索引数据库。0062图3是根据本发明的PDM系统中数据的查询装置的优选实施例的示意图。0063如图3所示,上述PDM系统中数据的查询装置还包括写入模块208,用于在所述获取模块获取所述PDM系统中的更新数据之后,将所述更新数据写入临时列表中,其中,更新模块用于利用所述临时列。
25、表中的更新数据更新所述索引数据库。0064优选地,上述PDM系统中数据的查询装置还包括加载模块210,用于在所述写入模块将所述更新数据写入临时列表中之后,加载可执行程序,其中,所述更新模块用于使所述可执行程序定时根据所述临时列表中的更新数据更新所述索引数据库。0065从以上的描述中,可以看出,本发明可以提高PDM系统中数据的查询效率。进一步地,本发明解决了数据查询中涉及多字段模糊查询和对象引用全路径的效率问题,并且可以实现多个关键字的复合搜索;这样大大增强了用户使用系统的体验,更加体现了软件给用户带来的快捷的本质,节省了系统用户的时间,使得软件系统能够更好的应用与推广。0066显然,本领域的技。
26、术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。0067以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技说明书CN102004800ACN102004813A6/6页8术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN102004800ACN102004813A1/1页9图1图2图3说明书附图CN102004800A。