一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种提取word文档结构化信息的方法及装置与流程

2022-08-31 03:04:22 来源:中国专利 TAG:


1.本发明涉及非结构化数据治理技术领域,具体地说,是涉及一种提取word文档结构化信息的方法及装置。


背景技术:

2.非结构化数据一般指的是文档,图片,视频,音频等,通常在企业中,这样的非结构化数据资源更大,占企业数据的80%以上,并且以较快的速度增长,但是,目前这块数据都没有被好好的利用起来。如果没有工具、算法来分析这些海量数据,企业非结构化数据的巨大价值将无法体现与应用。
3.现有技术采用人工方法将word从非结构化数据转化为结构话数据,但仅对于word文档数量较小,如数量《10时,可以较好的获得结构化信息。然而,当文档数量很大,如几十甚至几百个时,这种人工方法将不再适用,同时还会消耗大量的人力、时间资源,而且不能批量化处理,且不能对结构化信息进一步的处理;且现有方法也没有将word文档进行有效的存储,不利于后期的数据挖掘、信息检索。


技术实现要素:

4.本发明的目的在于提供一种提取word文档结构化信息的方法及装置,以解决现有方法处理大量word时候,会消耗大量的人力物力,且不能批量处理,不能对提取的机构化数据进行进一步的处理,不利于后期数据挖掘及信息检索的问题。
5.为了解决上述问题,本发明提供如下技术方案:一种提取word文档结构化信息的方法包括以下步骤:s1、读取word文档判断其是doc格式还是docx格式;s2、根据步骤s1中word的格式通过apache poi函数提取其结构化信息;s3、根据步骤s2的结构化信息进行段落索引判断;s4、根据步骤s3的段落索引提取word文档的title、author、abstract、keywords并以key-value对的形式写入到resmap中;s5、将步骤s4的resmap转换为json格式,然后写入mysql数据库。
6.现有技术是利用现有的word解析工具如jacob、poi、aspose.words等,提取word的元数据信息,同时将word文档中的文本内容转换为txt文本,但是无法自动化识别识别文本中的内容,例如:word文档的标题是什么,摘要是什么等结构化的信息,需要人工提取相关信息;或者解析得到的数据并没有存储到关系数据库中,仍然是非结构化数据或半结构化数据,并没有形成一套从非结构化数据到结构化数据的方法流程。
7.本发明使用apache poi提取doc和docx两种格式word文档的title、author、abstract、keywords,并将提取的信息存储为json文件,最后将json写入到mysql数据库,实现word文档从非结构化到结构化的存储,形成了一套从非结构化数据到结构化数据的方法流程。
8.进一步的,步骤s1中读取word文档的具体过程为:将输入的word文档转换为字节输入流。
9.进一步的,步骤s1中判断其是doc格式还是docx格式的具体过程为:根据输入文档后缀判断文档是doc格式还是docx格式。
10.进一步的,步骤s2中word的格式为doc格式时,结构化信息的提取过程为:通过aapache poi的hwpfdocument类和wordextractor创建doc文档的提取器extr,调用extr的getparagraphtext()函数获得doc文档的各段落内容,并存储在列表paratext中。
11.进一步的,步骤s2中word的格式为docx格式时,结构化信息的提取过程为:通过aapache poi的xwpfdocument类创建docx实例,调用docx的getparagraphs()函数获得docx格式文档的各段落内容,并存储在列表str中。
12.进一步的,步骤s3的具体过程为:遍历列表paratext和列表列表str中各段落并通过其前缀是否为“摘要”或“关键词”/“关键字”,获得abstractparaindex、keywordsparagindex索引号。
13.进一步的,步骤s4的具体过程为:提取word文档的标题即title;title应满足以下规则:标题占一个完整段落且是第一个段落;提取word文档的作者author;在title段落和abstract之间的段落就是作者信息;提取word文档的摘要abstract;abstract段落索引abstractparaindex对应的段落就是摘要内容;提取word文档的关键词keywords;keywords段落索引keywordsparagindex对应的段落就是关键词内容。
14.进一步的,步骤s5中写入mysql数据库的具体过程为:将json按照title、author、abstract、keywords字段进行存储。
15.一种提取word文档结构化信息的装置包括存储器:用于存储可执行指令;处理器:用于执行所述存储器中存储的可执行指令,实现一种提取word文档结构化信息的方法。
16.与现有技术相比,本发明具有以下有益效果:(1)本发明使用apache poi提取doc和docx两种格式word文档的title、author、abstract、keywords,并将提取的信息存储为json文件,最后将json写入到mysql数据库,实现word文档从非结构化到结构化的存储,形成了一套从非结构化数据到结构化数据的方法流程。
17.(2)本发明将word文档转化为结构化数据并存入mysql数据库中,为深入挖掘word文档的蕴藏价值打下了基础,并为较好地解决word文档存储难、利用难的问题,还可以方便后续快速sql检索、查找文档等后续应用,发挥海量非结构化word文档的潜藏价值。
18.(3)本发明形成了一套从非结构化数据到结构化数据的方法流程,将减少企业在处理word类型数据类型管理的花费的人力资源成本,极大提升公司数据的业务质量、效率;可以提高数据治理产品对非结构化数据的治理能力,提高产品竞争力,扩大产品市场占有率。
附图说明
19.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1为本发明的流程示意图。图2为实施例2的word文档首页截图。
具体实施方式
20.为了使本发明的目的、技术方案和优点更加清楚,下面将结合图1对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
21.对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
22.apache poi:是apache软件基金会的开源项目,使用java编写的免费开源的跨平台的java api。可以用来读取、创建和修改microsoft excel文件,还可以用于读取、创建、修改microsoft word和microsoft powerpoint文件。
23.word文档:即由microsoft office word(微软公司的文字处理应用程序)生成的文件。目前主要有doc文档和docx文档两种格式。
24.doc文档:即doc格式文件,由microsoft office word2003生成的文件。
25.docx文档:即docx格式文件,是microsoft office word 2007及以上版本的文档扩,使用docx取代doc。而且docx文件比doc文件所占用空间更小。
26.结构化数据:结构化数据指的是在一个记录文件里面以固定格式存在的数据。它通常包括rdd和表格数据。结构化的数据是指可以用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行尾单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。
27.非结构化数据:是指信息没有一定预先定义好的数据模型或者没有一个预先定义的方式来组织。非结构化数据一般指文字型数据,但是数据中有很多诸如时间、数字等信息。相对于传统的在数据库中或标记好的文件,由于他们的非特征性和歧义性,会更难理解。包括所有格式的办公文档、word文档、图片、pdf、ppt、xml、html、各类报表、图像和音频/视频信息等。
28.半结构化数据:半结构化数据是结构化数据的一种形式,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分割语义元素以及对记录和字段进行分层。因此,它也被称为自描述的结构。包括日志文件、xml文档、json文档、email等。
29.json: javascript对象表示法(javascript object notation)是一种轻量级的数据交换格式。json采用完全独立于语言的文本格式,是一种理想的数据交换语言。实际上,json就是一串字符串,只不过元素会使用特定的符号标注,很多api接口的返回信息都是json格式的。
30.关系型数据库(relational database):是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。常见的关系数据库oracel、db2、mysql、microsoft sql server、microsoft access等。
31.实施例1如图1所示,一种提取word文档结构化信息的方法通过apache poi提取doc和docx格式的word文档内容,提取word文档的结构化信息,并存储为json,最后将json数据按照特定字段写入到mysql数据库中,解决特定word文档内容格式的结构化信息的批量提取的问题;其具体过程如下:第1步,文档读取:将输入的word文档转换为字节输入流(fileinputstream)。
32.第2步,格式判断:根据输入文档后缀判断文档是doc格式还是docx格式。
33.第3步, doc格式文档结构化信息提取:通过aapache poi的hwpfdocument类和wordextractor创建doc文档的提取器extr,调用extr的getparagraphtext()函数获得doc文档的各段落内容(没有提取页眉页脚内容),并存储在列表paratext中;第4步,在第3步基础上进行段落索引判断:假设待提取的信息在文档前10个段落中。遍历列表paratext中各段落并通过其前缀是否为“摘要”或“关键词”/“关键字”,获得abstractparaindex、keywordsparagindex段落索引号。
34.第5步,在第4步基础上,结构化信息提取:将word文档的title、author、abstract、keywords以key-value对的形式写入到resmap中。
35.提取word文档的标题即title:title应满足以下规则:标题占一个完整段落且是第一个段落;提取word文档的作者author:在title段落和abstract之间的段落就是作者信息;提取word文档的摘要abstract: abstract段落索引abstractparaindex对应的段落就是摘要内容;提取word文档的关键词keywords:keywords段落索引keywordsparagindex对应的段落就是关键词内容。
36.第6步,docx格式文档结构化信息提取:通过aapache poi的xwpfdocument类创建docx实例,调用docx的getparagraphs()函数获得docx格式文档的各段落内容(没有提取页眉页脚内容),并存储在列表str中。
37.第7步,在第6步基础上进行段落索引判断:遍历列表str中各段落并通过其前缀是否为“摘要”或“关键词”/“关键字”,获得abstractparaindex、keywordsparagindex索引号。
38.第8步,在第7步基础上,结构化信息提取:将word文档的title、author、abstract、keywords以key-value对的形式写入到resmap中。
39.提取word文档的标题即title:title应满足以下规则:标题占一个完整段落且是第一个段落;提取word文档的作者author:在title段落和abstract之间的段落就是作者信息;提取word文档的摘要abstract: abstract段落索引abstractparaindex对应的段落就是摘要内容;
提取word文档的关键词keywords:keywords段落索引keywordsparagindex对应的段落就是关键词内容。
40.第9步,json格式:将resmap转换为json格式。
41.第10步,把文档的json写入mysql数据库:将json按照title、author、abstract、keywords字段进行存储,即完成某个非结构化文本向结构化数据的转换。
42.通过上述方案,能降低企业非结构化word文档结构化信息提取及存储投入的人力成本,提高企业非结构化数据的数据治理能力,挖掘word文档蕴藏的巨大价值,同时也为了提高本司数据治理产品的市场竞争力。
43.实施例2通过本发明的方法提取下列文档的结构化信息:a.word文档首页,如图2所示;b.json存储结构化信息{"title":"空间碎片撞击航天器生存力评估","author":"胡迪奇1,庞宝君1,迟润强1,宋张弛2,吴昊1(1. 哈尔滨工业大学空间碎片高速撞击研究中心 150080 哈尔滨,2. 北京航天自动控制研究所 100854 北京)","abstract":"摘要:本文对比了目前国内外主要的航天器风险评估软件,分析了各软件的优缺点,提出一种基于射线法的空间碎片撞击航天器生存力评估方法,给出了空间碎片环境下影响航天器生存力的关键因素和建模方法。阐述了基于虚外墙法的航天器敏感性分析方法和航天器易损性分析方法的具体方案,重点分析了导致航天器功能型部组件功能降阶的分析方法,提出建立部件的效能衰减与物理毁伤程度的衰减函数来表征功能型部组件功能降阶的办法,并给出了射线法模拟碎片云的具体方法,提出了一种基于专家知识推理的系统生存力评估方法。","keywords":"关键字:空间碎片;超高速撞击;射线法;生存力。"}实施例3实现本发明的代码片段如下://结构化信息提取,即title, author, abstract, keywords
ꢀꢀꢀꢀꢀꢀꢀꢀ
map《string, string》 resmap = new linkedhashmap《string, string》();
ꢀꢀꢀꢀꢀꢀꢀꢀ
//摘要段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀ
int abstractparagindex = 0;
ꢀꢀꢀꢀꢀꢀꢀꢀ
//关键字段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀ
int keywordsparagindex = 0;
ꢀꢀꢀꢀꢀꢀꢀꢀ
file file = new file(filepath);
ꢀꢀꢀꢀꢀꢀꢀꢀ
inputstream is;
ꢀꢀꢀꢀꢀꢀꢀꢀ
//提取word文件信息
ꢀꢀꢀꢀꢀꢀꢀꢀ
try {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
is = new fileinputstream(file);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (filepath.endswith(".doc")) { //处理后缀为doc的word文档
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
string temp = "";
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
hwpfdocument doc = new hwpfdocument(is);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//创建word提取器
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
wordextractor extr = new wordextractor(doc);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获取段落,同时去页眉页脚
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
string[] paratext = extr.getparagraphtext();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//关闭word提取器
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
extr.close();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得title内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("title", paratext[0].substring(0,paratext[0].lastindexof(linesep)));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//提取abstract、keywords的段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (int j = 1; j 《10; j ) { //此处"10"是个假设值,即文档首页最多10个段落
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获取段落内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
paragraphtext = paratext[j];
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (paragraphtext.startswith("摘要")) { //判断"摘要"段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
abstractparagindex = j;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
} else if (paragraphtext.startswith("关键词") || paragraphtext.startswith("关键字")) { //判断"关键字/词"段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
keywordsparagindex = j;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
break;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得author内容,作者和作者信息可能占两个或两个以上段落
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (int k = 1; k 《 abstractparagindex; k ) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
temp = paratext[k].substring(0, paratext[0].lastindexof(linesep));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("author", temp);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得abstract内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("abstract", paratext[abstractparagindex].substring(0,paratext[abstractparagindex].lastindexof(linesep)));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得keywords内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("keywords",paratext[keywordsparagindex].substring(0,paratext[keywordsparagindex].lastindexof(linesep)));
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
} else if (filepath.endswith(".docx")) { //处理后缀为docx的word文档
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
string temp = "";
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
xwpfdocument docx = new xwpfdocument(is);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获取段落,同时去页眉页脚
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
list《xwpfparagraph》 str = docx.getparagraphs();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得title内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("title", str.get(0).gettext());
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//提取abstract、keywords的段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (int j = 1; j 《 10; j ) { //此处"10"是一个假设值,即文档首页最多10个段落
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获取段落内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
paragraphtext = str.get(j).gettext();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//提取abstract、keywords的段落索引
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (paragraphtext.startswith("摘要")) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
abstractparagindex = j;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
} else if (paragraphtext.startswith("关键词") || paragraphtext.startswith("关键字")) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
keywordsparagindex = j;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
break;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得author内容,作者和作者信息可能占两个或两个以上段落
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
for (int k = 1; k 《 abstractparagindex; k ) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
temp = str.get(k).gettext();
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("author", temp);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得abstract内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("abstract", str.get(abstractparagindex).gettext());
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
//获得keywords内容
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
resmap.put("keywords",str.get(keywordsparagindex).gettext());
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
} catch (ioexception e) {
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
e.printstacktrace();
ꢀꢀꢀꢀꢀꢀꢀꢀ
}
ꢀꢀꢀꢀꢀꢀꢀꢀ
//转换为json字符串
ꢀꢀꢀꢀꢀꢀꢀꢀ
jsonstringresult = json.tojsonstring(resmap);实施例4一种提取word文档结构化信息的装置包括存储器:用于存储可执行指令;处理器:用于执行所述存储器中存储的可执行指令,实现一种提取word文档结构化信息的方法。
[0044]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过
其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0045]
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0046]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0047]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0048]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献