在线专利分析软件开发的关键技术及实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t本文系江苏省高等学校大学生实践创新训练计划2007年立项项目“面向企、№创新服务的专利分析软件的设计与关键技术研究”和“企 业创新服务联合实验室”的研究成果之一。
万方数据
JISHU囫 XIANDAI TUSHU QINGBAO
②查看专利的基本信息(包括16条专利的特征项、专利 的摘要信息和全文信息);
2(Department of Information Management,Nanjing University,Nanjing 210093,China)
【Abstract】This paper discusses the solutions to the key technologies of online patent analysis software,i.e.technologies
总第171期2008年 第1 1期
(1)数据库表文件的组织与存储
原始的专利数据库只有一张大表,表中存放了专
利的所有信息。为了提高检索与分析的速度,根据实
际需求对原始专利数据表进行分割,并形成了如图4
所示的最终数据库表的组织方式。
罔㈤ 雾蠹㈡憋黪爨 PK lI{
沪Kltlt|
})z棚
卜—_t— |pPKK 1]z5‘lilxll
圄匝现代图书情报技术 万方数据
用户指标选择界i{I_f分析流穰弊耐结果展示界嘶
父甄操作
图2 用户分析操作流程图 中,可视化实现功能封装在Chart项目中,而数据操作 (对分析模块而言就是数据分析过程)由数据库中的 存储过程实现,分析组件(即针对分层分析的Analyse 和针对个性化分析的Divi—Analyse项目)只是负责对 用户输入的检验与逻辑组配,并向绘图组件(Chart项 目)传输参数,提出绘图请求。
万方数据
索引以及全文索引,如表l所示。这些索引都建立在
pattzb表上。
表1数据库索引
类型
。 名称。曩o。。渗豪豺的攀段
主键PK—pattzb
Id
聚集索引是所有索引中效率最高的,但是每张数 据表中只允许建立一个聚集索引。大量的实验表明, 在主分类号字段上建立索引所带来的效益最好,但是 聚集索引必须与基础数据表处于同一文件组中。表1 中的主键、普通索引、组合索引均属于非聚集索引。与 聚集索引相比,非聚集索引可能在检索的速度上稍逊 一筹,但它的要求没有前者严格,允许在同一张数据表 中多次建立,因此它的覆盖面更为广泛。通过不断的 实践,笔者在申请时间、地区、申请号、审定公告号以及 行政区划编码字段上建立非聚集索引。另外,笔者又 针对经常组合使用的数据列例如申请日期和专利类型 等,建立了组合索引,以便进一步提高查询速度。对于 针对中文文本字段的词语检索来说,全文索引无疑可 以大大提高检索的效率。SQL Server全文检索引擎在 面向中文文本的全文索引和检索方面体现出卓越的性 能,同时支持多种检索途径。根据实际检索与分析需 求,笔者在发明人、申请人、专利名称以及主申请人地 址字段上建立了全文索引。
Key Technologies and Implementation of the Online Patent Analysis Software
Cen Yonghual’2 Wang Xuefenl Fu Zhichen91 1(School of Economics and Management,Nanjing University of Science and Technology,Nanjing 210094,China)
图3分层分析设计流程 (2)参数传递方式的设计 分析模块中必须要解决的一个技术难题,就是如 何将参数数据从分析界面传递到结果展示界面。 ASP.NET提供了多种页面间参数传递的方式,除了传 统的Post与Get方式之外,较为常见的还有Session、 Server.Transfer等方式。前两种实现方式简单,但是适 宜传递值少、安全性要求不高的情况;Session方式会消 耗服务器资源,在参数数据量较大时可能影响服务器 性能;Server.Transfer实现起来较为复杂,但它是面向 对象的,而且是直接在服务器内部传递参数,不通过网 络传输,安全性较高。结合实际的参数传输需求,本项 目选择采用Server.Transfer方式来实现页面问的参数 传递。考虑到分析界面是变动的,而结果展示界面是 不变的,所传递的参数类型也是一样的,为达到实现参 数顺利传递的目的,在项目开发过程中为所有分析界 面建立一个统一的接口(IAnalysisPage)。 1.3 面向检索与分析的数据库与SQL优化设计 在参考文献[1]、[2]的基础上,本文主要从数据 库表文件的组织与存储、索引的建立、SQL语句的设计 三方面进行了优化设计。
⑥尽量使用“>=”,不要使用“>”; ⑦在对两张表进行连接操作时,应尽量先使用子查询,以 减少进行连接的数据量,尽量避免直接进行数据表的连接; ⑧关于时间(sqrq)的条件限制,一般放在where条件的 最后面(效率越低的越放在后面); ⑨注意系统自带的一些函数的使用,比如在进行分页 时,SQL Server 2005提供了一种ROW—NUMBER()。这些函 数的效率一般比自己编写的程序要高很多。 (4)组合检索的实现 可以将组合检索的连接词、检索项、检索词存入一 个二维数组构成的矩阵中,对此进行字符串的拼接,最 终生成SQL语句。
L。j!!!竺
15 Illll 昏flh
14 flh dIssdm
sqh
■N 匿
¨ 耕|ren
『P
ssfq豫rq;h
融善/自|。
sdggJ ^‘懈gr sqrt yxqx
12 znh z8qH{z
3 砖jx
g!gl> gll fI【r
1H’sh·(H}r
鞠鬃j瓣辅黼露:|||||i
pK,FKI Ⅲ
sqh H11Il
,为了减少随着专利数量的增加对检索效率的影 响,提高数据库存储空间的效率,采用对专利数据进行 物理上分区存储的技术。在数据库中创建了两个自定 义文件组,即SECOND和THIRD文件组,前者存放除 pattzb表外的其他数据表,后者存放索引。
(2)索引的建立 数据库中主要建立了三类索引:聚集索引,非聚集
2数据可视化技术方案的设计
2.1基于Web的可视化模式及选择 网络环境下的可视化实现模式通常可分为三类:
服务器端可视化、客户端可视化和混合式的客户端/服 务器端可视化¨。。
(1)服务器端可视化指的是所有的可视化步骤都 是在服务器端进行,客户端只负责接收和浏览可视化 结果。这种模式对客户端要求低,但缺少交互性,用户 无法参与并控制可视化的形成过程。
竺||l|
{l≈一 i...}銎竺竺盥呻 ~ຫໍສະໝຸດ Baidu|| ∽一 .;}^¨二U描
图1 组合检索时序图 为增加用户体验,检索模块中设计了“检索历史” 功能。该功能的目的是记录用户的检索行为,快速导 航到检索结果,在重复检索时可使用户避免重复操作。 (2)检索算法的设计 专利信息的检索涉及到一系列算法的应用,这里 以组合检索模块为例。在组合检索中,系统为用户提 供了7个检索项和3种检索连接词(与、或、非),理想 状态下,用户可以无限制的组配检索项以及它们之间 的检索连接词来实现检索。为了达到向用户提供最多 检索条件以满足检索中任意组配和选择不同检索项顺 序的需求,本软件采用矩阵来设置“Where”条件后的 参数,该矩阵是一个5行3列的二维数组,第一列到第 三列依次存放“检索连接词”、“检索项”和“检索词”。 当用户提交检索请求时,系统就将用户的输入依次存 放人该数组中,并循环扫描数组,去除检索词为空的 行,并根据检索项选择是采用“LIKE%%”的模糊匹配 检索方式还是CONTAINS的全文检索方式。 1.2分析模块的设计 (1)分析模块的功能设计 分析模块包括分层分析模块与个性化分析模块,为 了达到使“用户能以最少的操作获得其满意的效果”的 目的,本项目设计的用户分析操作流程如图2所示。 在此基础上,根据分析过程的具体实现需要,以分 层分析为例,分析流程设计如图3所示。在分析模块
Database optimization
Data visualization
除了构建和实现一套有效的分析指标体系和数据处理与分析方案,在线专利分析软件的开发还必须解决面 向大规模专利数据检索和分析的数据库优化、面向分析结果展示的可视化、服务器负载平衡、信息安全等技术问 题。其中,在实际项目的开发过程中,数据库检索与分析优化和可视化技术是需要解决问题的关键和难点问题所 在,本文仅就这两种技术的设计方案与实现加以论述。
总第1 71期2008年第1 1期
在线专利分析软件开发的关键技术及实现术
岑咏华卜2王雪芬1 傅志诚1 1(南京理工大学经济管理学院 南京210094) 2(南京大学信息管理系 南京210093)
【摘要】以项目研究实践为基础,对在线专利分析软件研发过程中涉及的数据库检索与分析的优化和可视化等关 键技术进行方案设计,并对软件系统进行具体实现,对系统运行的效果进行分析和展示。 【关键词】在线专利分析数据库优化可视化 【分类号】TP391
③查看专利发明人、申请人的相关信息; ④导出专利数据,可以以Excel与XML两种形式导出; ⑤查看检索历史。 为提高检索的准确率,系统在检索时均采用了全 文检索技术。在检索模块中,各个检索方式的流程相 似,在此以组合检索为例,使用UML的时序图来描述
天盟国匿鐾慧骂匮翟因圈匿圈 其检索流程。具体如图1所示: n
黔
nzf favsqh nvs
{;J811
{翔
r:};Ⅲl oIlyq
翳,,
smsgph
zylxqlyq s‘lrq
图4数据库结构
其中,图4中的pattzb表(专利特征表)和patnrb 表(专利内容信息表)是对原有数据库表垂直分割的 结果,分割的依据是前者包含的字段是分析和检索模 块中经常使用的专利字段属性;后者包含的字段使用 频率不高,只有在检索后查看详细信息时才会用到。 图4中所示的其他表dqnum、ipcnum、countrynum是作 为辅助表存在的;存储的是衍生数据,也就是根据表中 的原有字段所计算出来的统计数据。这些统计数据分 别是面向国家、地区、专利类型以及专利的主分类号的 7统计结果。它们在专利分析中经常用到,而且更新的 频率不高。当然,在专利数据文件更新时,它们也会在 触发器的作用下及时更新,以保证数据库状态的一致 性。此外,图4中的国别(gb)、地区(dq)以及行政区 划代码(postcode)字段是本项目根据分析与检索的实 际需求而额外添加的。
of database optimization and data visualization,implements the system,and analyzes the running results based on system
experiments.
【Keywords】Online patent analysis
(3)SQL语句的设计 在设计存储过程时,为提高检索与分析的效率,结 合现有的SQL语句的优化策略,通过大量的实验研究, 主要从下面几个方面考虑SQL语句的优化: ①尽量避免反复访问同一张或几张表,尤其是数据量较 大的表,可以考虑先根据务件提取数据到临时表中,然后再 做连接查询运算: ②尽量避免使用游标,如果游标操作的数据超过l万 行,那么就应该改写;如果使用了游标,就要尽量避免在游标 循环中再进行表连接的操作; ③充分应用索引,注意where子句写法,根据索引顺序、 范围大小来确定条件子句的前后顺序;
JISHU圃 Xl ANDAI 1’USHU QINGBAO
④不要在where子句中的“=”左侧进行函数、算术运算 或其他表达式运算,否则系统将可能无法正确使用索引;
⑤尽量使用exists代替select count(1)来判断是否存在 记录,count函数只有在统计表中所有行数时使用,而且 count(1)比count(¥)更有效率;
1 数据库检索与分析技术方案的设计
1.1检索模块的设计 (1)检索功能的设计 ,为了向用户提供多途径的检索人口和快速的检索结果,该模块的基本功能应包括: ①用户通过简单检索、高级组合检索、表格检索以及在此基础上的二次检索查询数据库,得到需要的专利信息,同时获知
专利数量等数据;
收稿日期:2008—08—15 收修改稿日期:2008—09一OI
万方数据
JISHU囫 XIANDAI TUSHU QINGBAO
②查看专利的基本信息(包括16条专利的特征项、专利 的摘要信息和全文信息);
2(Department of Information Management,Nanjing University,Nanjing 210093,China)
【Abstract】This paper discusses the solutions to the key technologies of online patent analysis software,i.e.technologies
总第171期2008年 第1 1期
(1)数据库表文件的组织与存储
原始的专利数据库只有一张大表,表中存放了专
利的所有信息。为了提高检索与分析的速度,根据实
际需求对原始专利数据表进行分割,并形成了如图4
所示的最终数据库表的组织方式。
罔㈤ 雾蠹㈡憋黪爨 PK lI{
沪Kltlt|
})z棚
卜—_t— |pPKK 1]z5‘lilxll
圄匝现代图书情报技术 万方数据
用户指标选择界i{I_f分析流穰弊耐结果展示界嘶
父甄操作
图2 用户分析操作流程图 中,可视化实现功能封装在Chart项目中,而数据操作 (对分析模块而言就是数据分析过程)由数据库中的 存储过程实现,分析组件(即针对分层分析的Analyse 和针对个性化分析的Divi—Analyse项目)只是负责对 用户输入的检验与逻辑组配,并向绘图组件(Chart项 目)传输参数,提出绘图请求。
万方数据
索引以及全文索引,如表l所示。这些索引都建立在
pattzb表上。
表1数据库索引
类型
。 名称。曩o。。渗豪豺的攀段
主键PK—pattzb
Id
聚集索引是所有索引中效率最高的,但是每张数 据表中只允许建立一个聚集索引。大量的实验表明, 在主分类号字段上建立索引所带来的效益最好,但是 聚集索引必须与基础数据表处于同一文件组中。表1 中的主键、普通索引、组合索引均属于非聚集索引。与 聚集索引相比,非聚集索引可能在检索的速度上稍逊 一筹,但它的要求没有前者严格,允许在同一张数据表 中多次建立,因此它的覆盖面更为广泛。通过不断的 实践,笔者在申请时间、地区、申请号、审定公告号以及 行政区划编码字段上建立非聚集索引。另外,笔者又 针对经常组合使用的数据列例如申请日期和专利类型 等,建立了组合索引,以便进一步提高查询速度。对于 针对中文文本字段的词语检索来说,全文索引无疑可 以大大提高检索的效率。SQL Server全文检索引擎在 面向中文文本的全文索引和检索方面体现出卓越的性 能,同时支持多种检索途径。根据实际检索与分析需 求,笔者在发明人、申请人、专利名称以及主申请人地 址字段上建立了全文索引。
Key Technologies and Implementation of the Online Patent Analysis Software
Cen Yonghual’2 Wang Xuefenl Fu Zhichen91 1(School of Economics and Management,Nanjing University of Science and Technology,Nanjing 210094,China)
图3分层分析设计流程 (2)参数传递方式的设计 分析模块中必须要解决的一个技术难题,就是如 何将参数数据从分析界面传递到结果展示界面。 ASP.NET提供了多种页面间参数传递的方式,除了传 统的Post与Get方式之外,较为常见的还有Session、 Server.Transfer等方式。前两种实现方式简单,但是适 宜传递值少、安全性要求不高的情况;Session方式会消 耗服务器资源,在参数数据量较大时可能影响服务器 性能;Server.Transfer实现起来较为复杂,但它是面向 对象的,而且是直接在服务器内部传递参数,不通过网 络传输,安全性较高。结合实际的参数传输需求,本项 目选择采用Server.Transfer方式来实现页面问的参数 传递。考虑到分析界面是变动的,而结果展示界面是 不变的,所传递的参数类型也是一样的,为达到实现参 数顺利传递的目的,在项目开发过程中为所有分析界 面建立一个统一的接口(IAnalysisPage)。 1.3 面向检索与分析的数据库与SQL优化设计 在参考文献[1]、[2]的基础上,本文主要从数据 库表文件的组织与存储、索引的建立、SQL语句的设计 三方面进行了优化设计。
⑥尽量使用“>=”,不要使用“>”; ⑦在对两张表进行连接操作时,应尽量先使用子查询,以 减少进行连接的数据量,尽量避免直接进行数据表的连接; ⑧关于时间(sqrq)的条件限制,一般放在where条件的 最后面(效率越低的越放在后面); ⑨注意系统自带的一些函数的使用,比如在进行分页 时,SQL Server 2005提供了一种ROW—NUMBER()。这些函 数的效率一般比自己编写的程序要高很多。 (4)组合检索的实现 可以将组合检索的连接词、检索项、检索词存入一 个二维数组构成的矩阵中,对此进行字符串的拼接,最 终生成SQL语句。
L。j!!!竺
15 Illll 昏flh
14 flh dIssdm
sqh
■N 匿
¨ 耕|ren
『P
ssfq豫rq;h
融善/自|。
sdggJ ^‘懈gr sqrt yxqx
12 znh z8qH{z
3 砖jx
g!gl> gll fI【r
1H’sh·(H}r
鞠鬃j瓣辅黼露:|||||i
pK,FKI Ⅲ
sqh H11Il
,为了减少随着专利数量的增加对检索效率的影 响,提高数据库存储空间的效率,采用对专利数据进行 物理上分区存储的技术。在数据库中创建了两个自定 义文件组,即SECOND和THIRD文件组,前者存放除 pattzb表外的其他数据表,后者存放索引。
(2)索引的建立 数据库中主要建立了三类索引:聚集索引,非聚集
2数据可视化技术方案的设计
2.1基于Web的可视化模式及选择 网络环境下的可视化实现模式通常可分为三类:
服务器端可视化、客户端可视化和混合式的客户端/服 务器端可视化¨。。
(1)服务器端可视化指的是所有的可视化步骤都 是在服务器端进行,客户端只负责接收和浏览可视化 结果。这种模式对客户端要求低,但缺少交互性,用户 无法参与并控制可视化的形成过程。
竺||l|
{l≈一 i...}銎竺竺盥呻 ~ຫໍສະໝຸດ Baidu|| ∽一 .;}^¨二U描
图1 组合检索时序图 为增加用户体验,检索模块中设计了“检索历史” 功能。该功能的目的是记录用户的检索行为,快速导 航到检索结果,在重复检索时可使用户避免重复操作。 (2)检索算法的设计 专利信息的检索涉及到一系列算法的应用,这里 以组合检索模块为例。在组合检索中,系统为用户提 供了7个检索项和3种检索连接词(与、或、非),理想 状态下,用户可以无限制的组配检索项以及它们之间 的检索连接词来实现检索。为了达到向用户提供最多 检索条件以满足检索中任意组配和选择不同检索项顺 序的需求,本软件采用矩阵来设置“Where”条件后的 参数,该矩阵是一个5行3列的二维数组,第一列到第 三列依次存放“检索连接词”、“检索项”和“检索词”。 当用户提交检索请求时,系统就将用户的输入依次存 放人该数组中,并循环扫描数组,去除检索词为空的 行,并根据检索项选择是采用“LIKE%%”的模糊匹配 检索方式还是CONTAINS的全文检索方式。 1.2分析模块的设计 (1)分析模块的功能设计 分析模块包括分层分析模块与个性化分析模块,为 了达到使“用户能以最少的操作获得其满意的效果”的 目的,本项目设计的用户分析操作流程如图2所示。 在此基础上,根据分析过程的具体实现需要,以分 层分析为例,分析流程设计如图3所示。在分析模块
Database optimization
Data visualization
除了构建和实现一套有效的分析指标体系和数据处理与分析方案,在线专利分析软件的开发还必须解决面 向大规模专利数据检索和分析的数据库优化、面向分析结果展示的可视化、服务器负载平衡、信息安全等技术问 题。其中,在实际项目的开发过程中,数据库检索与分析优化和可视化技术是需要解决问题的关键和难点问题所 在,本文仅就这两种技术的设计方案与实现加以论述。
总第1 71期2008年第1 1期
在线专利分析软件开发的关键技术及实现术
岑咏华卜2王雪芬1 傅志诚1 1(南京理工大学经济管理学院 南京210094) 2(南京大学信息管理系 南京210093)
【摘要】以项目研究实践为基础,对在线专利分析软件研发过程中涉及的数据库检索与分析的优化和可视化等关 键技术进行方案设计,并对软件系统进行具体实现,对系统运行的效果进行分析和展示。 【关键词】在线专利分析数据库优化可视化 【分类号】TP391
③查看专利发明人、申请人的相关信息; ④导出专利数据,可以以Excel与XML两种形式导出; ⑤查看检索历史。 为提高检索的准确率,系统在检索时均采用了全 文检索技术。在检索模块中,各个检索方式的流程相 似,在此以组合检索为例,使用UML的时序图来描述
天盟国匿鐾慧骂匮翟因圈匿圈 其检索流程。具体如图1所示: n
黔
nzf favsqh nvs
{;J811
{翔
r:};Ⅲl oIlyq
翳,,
smsgph
zylxqlyq s‘lrq
图4数据库结构
其中,图4中的pattzb表(专利特征表)和patnrb 表(专利内容信息表)是对原有数据库表垂直分割的 结果,分割的依据是前者包含的字段是分析和检索模 块中经常使用的专利字段属性;后者包含的字段使用 频率不高,只有在检索后查看详细信息时才会用到。 图4中所示的其他表dqnum、ipcnum、countrynum是作 为辅助表存在的;存储的是衍生数据,也就是根据表中 的原有字段所计算出来的统计数据。这些统计数据分 别是面向国家、地区、专利类型以及专利的主分类号的 7统计结果。它们在专利分析中经常用到,而且更新的 频率不高。当然,在专利数据文件更新时,它们也会在 触发器的作用下及时更新,以保证数据库状态的一致 性。此外,图4中的国别(gb)、地区(dq)以及行政区 划代码(postcode)字段是本项目根据分析与检索的实 际需求而额外添加的。
of database optimization and data visualization,implements the system,and analyzes the running results based on system
experiments.
【Keywords】Online patent analysis
(3)SQL语句的设计 在设计存储过程时,为提高检索与分析的效率,结 合现有的SQL语句的优化策略,通过大量的实验研究, 主要从下面几个方面考虑SQL语句的优化: ①尽量避免反复访问同一张或几张表,尤其是数据量较 大的表,可以考虑先根据务件提取数据到临时表中,然后再 做连接查询运算: ②尽量避免使用游标,如果游标操作的数据超过l万 行,那么就应该改写;如果使用了游标,就要尽量避免在游标 循环中再进行表连接的操作; ③充分应用索引,注意where子句写法,根据索引顺序、 范围大小来确定条件子句的前后顺序;
JISHU圃 Xl ANDAI 1’USHU QINGBAO
④不要在where子句中的“=”左侧进行函数、算术运算 或其他表达式运算,否则系统将可能无法正确使用索引;
⑤尽量使用exists代替select count(1)来判断是否存在 记录,count函数只有在统计表中所有行数时使用,而且 count(1)比count(¥)更有效率;
1 数据库检索与分析技术方案的设计
1.1检索模块的设计 (1)检索功能的设计 ,为了向用户提供多途径的检索人口和快速的检索结果,该模块的基本功能应包括: ①用户通过简单检索、高级组合检索、表格检索以及在此基础上的二次检索查询数据库,得到需要的专利信息,同时获知
专利数量等数据;
收稿日期:2008—08—15 收修改稿日期:2008—09一OI