一种快速检索svn文档库的方法及系统
技术领域
1.本发明涉及信息处理技术领域,特别是涉及一种快速检索svn文档库的方法及系统。
背景技术:2.svn(subversion)是一个开放源代码的版本控制系统。在软件研发领域,通常用来存放应用源代码、文档库等资源文件,实现团队协同开发。目前svn对于资源文件管理的工作原理是,资源文件存储在svn服务器上,开发者需要对资源文件进行变更时,通常是需要安装svn客户端,通过svn客户端提供的资源文件目录浏览功能,将目标资源文件通过svn客户端检出到开发者所在的客户端机器上,然后对目标资源文件进行变更,再通过svn客户端将变更后的资源文件提交到svn服务器,从而完成对目标资源文件的变更和管理。
3.现有svn对于资源文件的管理,如果svn服务器上存储的资源文件数量不多,或者开发者很明确的知道需要变更的资源文件,是能够快速完成的。但是现有的svn服务器一般存储的资源文件都是海量的,而且开发者要变更的资源文件也不确定,如需要根据审计的要求查询含有某些关键字的文档,或查询文档内容是否含有关键字,目前的解决方式一般是把svn上全量的资源文件同步到开发者本地,进行本地化检索,通过搜索工具搜索关键字过滤出符合条件的文件名。这种方式存在以下的缺点:
4.1、存储消耗大:
5.svn服务器的资源文件数量多,对存储的要求比较大。而且一般情况下开发者本地机器的磁盘存储不是很大,无法一次性存储svn服务器上海量的资源文件。
6.2、检索时间较长、效率低下:
7.在开发者本地服务器上进行本地化检索,需要把目标文件同步到本地服务器。而svn服务器上的资源文件,通过svn客户端同步到开发者本地机器,同步的过程耗费的时间比较长。对于有多个svn库的情况,需要逐个svn库进行关键字的搜索。特别地,如果是对文档内容进行关键字检索,这种方式是对全量文档内容进行检索,效率十分低下。因此对svn资源文件检索的整体时间较长,效率低下。
8.3、自动化程度低:
9.资源文件的检索过程,需要人工通过svn客户端进行同步,然后手工操作搜索工具,输入关键字进行本地化检索。整个过程自动化程度较低。
技术实现要素:10.本发明提供一种快速检索svn文档库的方法及系统,解决现有技术的svn检索内存消耗较大、检索时间较长及自动化程度较低的问题。
11.本发明一个实施例提供一种快速检索svn文档库的方法,包括:
12.接收用户输入的关键词集合;其中,所述关键词集合至少包含一个关键词;
13.对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述
关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章;其中,文字信息包括:题目文字信息及内容文字信息。
14.进一步地,所述对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章,包括:
15.获取svn文档库中文章标题的题目文字信息,对所述题目文字信息进行分词,得到题目词语集合;
16.筛选所述关键词集合与所述题目词语集合的交集中词语的个数满足预设值的文章;
17.将所述文章进行本地存储。
18.进一步地,所述将所述文章进行本地存储之后,包括:
19.获取本地存储的文章的内容文字信息,对所述内容文字信息进行分词,得到内容词语集合;
20.筛选所述关键词集合与所述内容词语集合的交集中词语的个数满足预设值的文章。
21.进一步地,所述获取本地存储的文章的内容文字信息,包括:
22.通过开源的poi框架对office文档类文章进行内容解析,通过纯java类库对文本类文章进行内容解析。
23.进一步地,所述对获取到的svn文档库中文章的文字信息进行分词之前,还包括:
24.根据svn库的url地址、访问用户名和密码参数,基于svn提供的java类库svnkit对svn库远程检索。
25.本发明一个实施例提供一种快速检索svn文档库的系统,包括:
26.关键词集合获取模块,用于接收用户输入的关键词集合;其中,所述关键词集合至少包含一个关键词;
27.目标文章筛选模块,用于对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章;其中,文字信息包括:题目文字信息及内容文字信息。
28.进一步地,所述目标文章筛选模块,包括:
29.题目文字信息获取子模块,用于获取svn文档库中文章标题的题目文字信息,对所述题目文字信息进行分词,得到题目词语集合;
30.文章初筛选子模块,用于筛选所述关键词集合与所述题目词语集合的交集中词语的个数满足预设值的文章;
31.本地存储文章子模块,用于将所述文章进行本地存储。
32.进一步地,所述目标文章筛选模块,还包括:
33.内容文字信息获取子模块,用于获取本地存储的文章的内容文字信息,对所述内容文字信息进行分词,得到内容词语集合;
34.文章终筛选子模块,用于筛选所述关键词集合与所述内容词语集合的交集中词语的个数满足预设值的文章。
35.进一步地,所述内容文字信息获取子模块,还用于:通过开源的poi框架对office
文档类文章进行内容解析,通过纯java类库对文本类文章进行内容解析。
36.进一步地,所述的一种快速检索svn文档库的系统,还包括:
37.远程访问模块,用于根据svn库的url地址、访问用户名和密码参数,基于svn提供的java类库svnkit对svn库远程检索。
38.与现有技术相比,本发明实施例的有益效果在于:
39.本发明提供一种快速检索svn文档库的方法及系统,其中所述方法包括:接收用户输入的关键词集合;其中,所述关键词集合至少包含一个关键词;对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章;其中,文字信息包括:题目文字信息及内容文字信息。本发明采用远程检索svn文档库的实现方式,基于svn提供的java类库svnkit实现对svn库的远程检索,无需将svn库上海量的文档对象同步到本地服务器,能大大节省存储空间。本发明采用远程检索svn文档库的实现方式,无需将svn库上海量的文档对象同步到本地服务器,减少了海量文档同步的时间。同时,检索的过程是优先根据文件名进行关键字的过滤,再进行文件内容的关键字检查,避免对全量的文档进行内容检索。因此检索速度快、效率高。本发明采用全自动化的方式,通过svn检索系统,自动完成对目标svn库的检索,无需人工进行处理。整个过程自动化程度较高。
附图说明
40.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本发明某一实施例提供的一种快速检索svn文档库的方法的流程图;
42.图2是本发明另一实施例提供的一种快速检索svn文档库的方法的流程图;
43.图3是本发明又一实施例提供的一种快速检索svn文档库的方法的流程图;
44.图4是本发明某一实施例提供的一种svn检索系统结构图;
45.图5是本发明某一实施例提供的一种总控单元结构图;
46.图6是本发明某一实施例提供的第一检索模块结构图;
47.图7是本发明某一实施例提供的第二检索模块结构图;
48.图8是本发明某一实施例提供的一种快速检索海量svn文档库主流程图;
49.图9是本发明某一实施例提供的第一检索模块子流程图;
50.图10是本发明某一实施例提供的第二检索模块子流程图;
51.图11是本发明某一实施例提供的一种快速检索svn文档库的系统的装置图;
52.图12是本发明另一实施例提供的一种快速检索svn文档库的系统的装置图;
53.图13是本发明又一实施例提供的一种快速检索svn文档库的系统的装置图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
55.应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
56.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
57.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
58.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
59.第一方面。
60.本发明针对现有svn检索海量资源文件实现方案的缺点,提供了一种快速检索的方法,尤其是针对资源文件中的文档库,提供了一种快速检索海量svn文档库的方法及其系统。本发明在技术上首先采用远程检索的方式实现对目标文档库初次的快速文件名检索,其次对初次检索后的文件进行二次内容检索。本发明所述的一种快速检索海量svn文档库的方法及其系统,通过预先设置好搜索关键字、svn库等访问信息,远程检索svn服务器上的文档库,将符合关键字搜索条件的文档库自动同步到本地服务器,避免海量文档库的同步。同时,自动对已同步到本地服务器上的文档库,按照关键字进行文件内容解析。从而为开发者提供快速、高效的svn文档库检索的方式。
61.请参阅图1
‑
3,本发明一个实施例提供一种快速检索svn文档库的方法,包括:
62.s10、接收用户输入的关键词集合;其中,所述关键词集合至少包含一个关键词。
63.s20、对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章;其中,文字信息包括:题目文字信息及内容文字信息。
64.在某一具体实施方式中,s20、对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章,包括:
65.s21、获取svn文档库中文章标题的题目文字信息,对所述题目文字信息进行分词,得到题目词语集合。
66.s22、筛选所述关键词集合与所述题目词语集合的交集中词语的个数满足预设值的文章。
67.s23、将所述文章进行本地存储。
68.s24、获取本地存储的文章的内容文字信息,对所述内容文字信息进行分词,得到内容词语集合。
69.在某一具体实施方式中,所述获取本地存储的文章的内容文字信息,包括:通过开源的poi框架对office文档类文章进行内容解析,通过纯java类库对文本类文章进行内容解析。
70.s25、筛选所述关键词集合与所述内容词语集合的交集中词语的个数满足预设值的文章。
71.在某一具体实施方式中,所述的一种快速检索svn文档库的方法,还包括:
72.s11、根据svn库的url地址、访问用户名和密码参数,基于svn提供的java类库svnkit对svn库远程检索。
73.本发明提供了一种快速检索海量svn文档库的方法及其系统,主要有以下优点:
74.1、节省存储。
75.本发明采用远程检索svn文档库的实现方式,基于svn提供的java类库svnkit实现对svn库的远程检索,无需将svn库上海量的文档对象同步到本地服务器,能大大节省存储空间。
76.2、检索速度快、效率高。
77.本发明采用远程检索svn文档库的实现方式,无需将svn库上海量的文档对象同步到本地服务器,减少了海量文档同步的时间。同时,检索的过程是优先根据文件名进行关键字的过滤,再进行文件内容的关键字检查,避免对全量的文档进行内容检索。因此检索速度快、效率高。
78.3、检索自动化。
79.本发明采用全自动化的方式,通过svn检索系统,自动完成对目标svn库的检索,无需人工进行处理。整个过程自动化程度较高。
80.在某一具体实施例中,图4为svn检索系统结构图。如图4所示,一种快速检索海量svn文档库的方法及其系统,包括总控单元1、第一检索模块2和第二检索模块3。
81.总控单元1:检索系统的总控单元,负责完成svn检索功能的关键字参数配置、svn库配置和整个检索调度的全流程控制。总控单元发起检索调度时,采用循环调度的方式,针对每个svn库配置,分别调用所述第一检索模块2和第二检索模块3,完成单个svn库的检索,直到所有的svn库均完成检索。
82.第一检索模块2:主要进行快速文件名检索。采用远程检索的方式检索svn库,基于svn提供的java类库svnkit实现对svn库的远程检索,将符合关键字检索条件的svn文档库同步到本地服务器上指定的路径。
83.第二检索模块3:主要进行二次文件内容检索。采用自动化的方式解析第一检索模块检索出来的文件内容,并判断文档内容是否含有关键字。
84.图5为总控单元结构图。如图5所示,总控单元包括关键字配置模块11、svn库配置模块12。
85.关键字配置模块11:完成检索关键字的设置。系统支持设置多个关键字,svn检索时会针对系统已配置好的所有关键字进行解析。
86.svn库配置模块12:完成svn库的设置,如svn库的url地址、访问用户名和密码等参数。系统支持设置多个svn库地址,svn检索时会分别针对系统已配置好的svn库进行检索,直到所有的svn库都检索完成。
87.图6为第一检索模块结构图。如图6所示,第一检索模块包括文档库检索模块21、文档库同步模块22。
88.文档库检索模块21:主要进行快速文件名检索。通过远程检索的方式访问svn库,按照所述关键字配置模块11配置的检索关键字,检索目标svn库上所有匹配关键字的文档库,并返回文档库所在svn库上的路径信息。
89.文档库同步模块22:接收所述文档库检索模块21返回的文档库信息,通过文件读取的方式将svn库上的文档库同步到本地服务器上对应的目录下。
90.图7为第二检索模块结构图。如图7所示,第二检索模块包括文件内容解析模块31。
91.文件内容解析模块31:主要进行二次文件内容检索。读取所述文档库同步模块22同步到本地服务器指定目录的文件并解析文件内容,判断文档内容是否含有关键字。所述文件内容解析模块31,支持根据文件扩展名进行内容的解析。针对office文档类文件,采用开源的poi框架进行内容解析;针对文本类文件,采用纯java类库进行内容解析。
92.图8为快速检索海量svn文档库主流程图。如图8所示,流程说明如下:
93.流程s1:所述总控单元1,启动svn检索流程。
94.流程s2:系统加载所述关键字配置模块11配置的关键字信息。
95.流程s3:系统加载所述svn库配置模块12配置的svn库信息。系统针对每一个svn库单独启动一个独立的线程进行处理,调用流程s4和流程s5,直到所有的svn库都完成检索处理。
96.流程s4:第一检索模块子流程,主要实现远程检索svn库。根据svn库的url地址、访问用户名和密码参数,远程访问svn库。循环检索svn库上的文档对象,检查文档对象的文件名是否含有关键字,如果文件名包含关键字,则将此文档对象同步到本地服务器,直到svn库上所有的文档对象都检索完毕。
97.流程s5:第二检索模块子流程,主要实现本地文件内容解析。循环读取流程s4同步回来的文档对象,检查文件内容里是否含有关键字,如果文件内容包含关键字,记录相关的信息,直到本地服务器上所有的文档对象都解析完毕。
98.图9为第一检索模块子流程图。如图9所示,流程说明如下:
99.流程s41:根据svn库的url地址、访问用户名和密码参数,远程访问svn库。
100.流程s42:读取svn库上的一个文档对象
101.流程s43:检查该文档对象的文件名是否含有目标关键字,如包含目标关键字,则跳转到流程s44。否则回到流程s42。
102.流程s44:将含有目标关键字的文档对象,同步到svn检索系统所在的本地服务器上。直到该svn库上所有的文档对象均处理完成。
103.图10为第二检索模块子流程图。如图10所示,流程说明如下:
104.流程s51:读取svn检索系统所在本地服务器上,所述第一检索子模块2同步回来的一个文档对象,并进行文档内容解析。
105.流程s52:判断文档内容里是否含有目标关键字,如包含目标关键字,则跳转到流程s53。否则回到流程s51。
106.流程s53:将含有目标关键字的文档对象,记录到日志信息文件里。直到本地服务器上所有的文档对象均处理完成。
107.本发明提供了一种快速检索海量svn文档库的方法及其系统,本发明在技术上首先采用远程检索的方式实现对目标文档库初次的快速文件名检索,其次对初次检索后的文件进行二次内容检索。通过预先设置好搜索关键字、svn库等访问信息,远程检索svn服务器上的文档库,将符合关键字搜索条件的文档库自动同步到本地服务器,避免海量文档库的同步,减少文档同步时间,减少磁盘存储空间的消耗。同时,自动对已同步到本地服务器上
的文档库,按照关键字进行文件内容解析。从而为开发者提供快速、高效的svn文档库检索的方式。
108.第二方面。
109.请参阅图11
‑
13,本发明一个实施例提供一种快速检索svn文档库的系统,包括:
110.关键词集合获取模块10,用于接收用户输入的关键词集合;其中,所述关键词集合至少包含一个关键词。
111.目标文章筛选模块20,用于对获取到的svn文档库中文章的文字信息进行分词,得到文章词语集合,筛选所述关键词集合与所述文章词语集合的交集中词语的个数满足预设值的文章;其中,文字信息包括:题目文字信息及内容文字信息。
112.在某一具体实施方式中,所述目标文章筛选模块20,包括:
113.题目文字信息获取子模块21,用于获取svn文档库中文章标题的题目文字信息,对所述题目文字信息进行分词,得到题目词语集合。
114.文章初筛选子模块22,用于筛选所述关键词集合与所述题目词语集合的交集中词语的个数满足预设值的文章。
115.本地存储文章子模块23,用于将所述文章进行本地存储。
116.内容文字信息获取子模块24,用于获取本地存储的文章的内容文字信息,对所述内容文字信息进行分词,得到内容词语集合。
117.在某一具体实施方式中,所述内容文字信息获取子模块24,还用于:通过开源的poi框架对office文档类文章进行内容解析,通过纯java类库对文本类文章进行内容解析。
118.文章终筛选子模块25,用于筛选所述关键词集合与所述内容词语集合的交集中词语的个数满足预设值的文章。
119.在某一具体实施方式中,一种快速检索svn文档库的系统,还包括:
120.远程访问模块30,用于根据svn库的url地址、访问用户名和密码参数,基于svn提供的java类库svnkit对svn库远程检索。
121.第三方面。
122.本发明一个实施例提供一种电子装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述的快速检索svn文档库的方法。
123.第四方面。
124.本发明一个实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的快速检索svn文档库的方法。