CN114048370A - 基于Python的归档文件处理、存储及一站式管理平台 - Google Patents
基于Python的归档文件处理、存储及一站式管理平台 Download PDFInfo
- Publication number
- CN114048370A CN114048370A CN202111461459.8A CN202111461459A CN114048370A CN 114048370 A CN114048370 A CN 114048370A CN 202111461459 A CN202111461459 A CN 202111461459A CN 114048370 A CN114048370 A CN 114048370A
- Authority
- CN
- China
- Prior art keywords
- data
- document
- management
- filing
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000000605 extraction Methods 0.000 claims abstract description 37
- 238000010586 diagram Methods 0.000 claims abstract description 20
- 238000007405 data analysis Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 6
- 230000008676 import Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 15
- 238000013461 design Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 12
- 239000013589 supplement Substances 0.000 claims description 9
- 238000013508 migration Methods 0.000 claims description 8
- 230000005012 migration Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012552 review Methods 0.000 claims description 2
- 238000013479 data entry Methods 0.000 claims 1
- 238000012827 research and development Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 87
- 230000008901 benefit Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于Python的归档文件处理、存储及一站式管理平台,涉及计算机文件处理技术领域。本发明包括电子文档归档管理系统、数据中心、一站式采购管理平台、档案馆;电子文档归档管理系统用于对电子文档进行整理、存储、移交接收管理、接受监控;电子文档归档管理系统与一站式采购管理平台之间通过标准数据接口相连,实现与一站式采购管理平台的无缝结合。本发明使用Rational建模工具建立系统类图和时序图来描述系统整体架构和业务逻辑,选择轻量级Flask框架模型进行研发,采用文档型数据库MongoDB解决大并发量和数据服务器的读写压力,为今后大数据分析提供保障提出pyPDF方法解决PDF元数据提取功能。
Description
技术领域
本发明属于计算机文件处理技术领域,特别是涉及基于Python的归档文件处理、存储及一站式管理平台。
背景技术
随着高校信息化建设的高速发展,越来越多的电子文档出现在日常的工作中,PDF作为电子文档归档的首选格式,在文件格式的保存完整性方面和平台兼容性方面有显著的优势。本电子文档归档管理系统的研发主旨是将采购管理平台的文档管理与档案归档管理过程合并成一个整体,解决电子文档流转过程中信息化管理缺失的情况,同时提出一种对电子文档元数据自动提取来代替传统的手工提取元数据,并且建立索引库,为大数据分析奠定了基础,同时为学校今后的工作决策提供依据;
国内对元数据提取的相关探索起步较晚,主要研究方向也集中在基于正则表达式和基于规则的元数据提取的相关研究。2001年贺亚锋首次将元数据提取的相关研究带入到中国,主要对两种常用的基于网站的元数据的自动生成进行了介绍,并对ROADS元数据编辑器和MeatWeb元数据生成器做的使用和原理进行了深入的阐释。
2004年,王守芳提出了如何从HTML文件中提取元数据的方案。该方案主要是基于规则模板,通过对HTML文档进行分词,配合使用归约算法实现元数据的自动提取。该方法虽然对元数据提取的准确性却并不太高,但基本可以实现HTML文档元数据的自动提取。
2007年,于江德首次将条件随机场应用在中文论文的元数据提取上,该方法主要通过利用论文中换行符、回车符等标志性符号对论文内容进行分割,然后应用条件随机场对分割内容进行元数据抽取。该方法对于学术论文的论文头中的元数据的提取具有比较高的准确度,可以高达90%,但是该方法也局限于论文的头部进行元数据的提取操作。
2017年杜秋霞为了地名文化遗产的保护将隐马尔可夫模型应用在提取文献中的地名元数据上。该方法主要通过对电子文档的地名关键词的标注,然后对文本进行分割,进而对元数据进行提取。该方法可以对文献中的地名进行比较细粒度的抽取,相比传统地名提取的准确度明显提升,但该方法却无法对消失的地名准确的进行抽取。
发明内容
本发明提供了基于Python的归档文件处理、存储及一站式管理平台,解决了以上问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明的基于Python的归档文件处理、存储及一站式管理平台,包括电子文档归档管理系统、数据中心、一站式采购管理平台、档案馆;
所述电子文档归档管理系统用于对电子文档进行整理、存储、移交接收管理、接受监控,具体包括项目文档整理模块、移交接收管理模块、系统管理模块;所述电子文档归档管理系统与一站式采购管理平台之间通过标准数据接口相连,防止信息“孤岛”产生,实现与一站式采购管理平台的无缝结合,进行数据的调取或共享;所述电子文档归档管理系统与数据中心之间通过数据交互中心的标准接口进行数据传输的保存和备份;所述电子文档归档管理系统通过部门归档专员利用项目文档整理模块进行文档发导入、资料补录、纸质文档扫描;所述电子文档归档管理系统通过项目执行人进行资料补录和文档导入;所述电子文档归档管理系统通过档案审批人员进行档案的移交接受审批处理;所述电子文档归档管理系统通过档案馆对整个电子文档的归档管理进行监控以及归档项目的查询;所述电子文档归档管理系统通过系统管理员利用系统管理模块进行用户权限设置、系统后台配置以及外部接口设置;
所述一站式采购管理平台主要用于包括Word、Excel、JEPG以及纸质文档的文件的个人单独处理过程,过程包括项目创建、文档整理、分配;
所述数据中心采用数据库服务器的形式存在,用于电子文档归档管理系统中数据的存储与备份。
进一步地,所述一站式采购管理平台设置有文档导入功能、监督审查机制以及电子文档数据的提取功能;所述文档导入功能保证项目执行期间文档实时保存;所述监督审查机制保证上传电子文档的准确性,避免项目后期返工的情况;所述电子文档数据的提取功能,解决了目前针对海量数据缺乏大数据分析的情况,使电子文档的管理和归档管理涵盖整个文档生命周期。
进一步地,当需要增加新的文档属性项时,只需由系统管理员通过系统后台配置即可,无需修改系统程序和数据结构。
进一步地,所述电子文档归档管理系统分为项目文档整理、检索与设计、移交接收管理和系统管理四个功能区;
所述项目文档整理包括文档导入、文档补充、项目信息补录、删除文档、文档格式转换以及文档元数据提取;所述文档导入包括自动导入、人工录入、本地导入;
所述检索与设计包括归档任务进度查询、电子文档查询、数据统计以及报表管理,所述报表管理包含模板管理;
所述移交接收管理包括预审、资料移交审核以及归档内容审核;
所述系统管理包括用户和权限配置、文件扩展属性管理以及各类标准接口配置。
进一步地,所述数据中心采用MongoDB半结构化的非关系型数据库,具有分布式存储架构,使数据之间分散存储更容易扩展,数据库不需要事先定义数据字段,可随时自定义写入数据的格式,采用NoSQL催大量元化数据存储运算与高并发访问具有更显著的效果,所述数据库采用1主节点+1副节点+1仲裁节点的基本架构,以减轻数据库服务器的访问压力,并同时提升容灾能力。
进一步地,所述主节点和副节点设置均属于数据节点,当有“数据写入”请求时,由主节点接受并处理,然后通过“同步机制”将同步到副节点上,当有“数据读取”请求时根据主节点访问数量控制设置,将读取压力转移至副节点上,所述仲裁节点仅在主节点出现异常需要切换时具备投票权,不保存数据。
进一步地,所述文档导入具体是通过前台应用操作通过EJB类调用文件模型操作类的具体方法,数据库返回对应的项目列表,对项目列表内的项目文件进行锁定操作,调取文件模型操作类的Lock()方法,所述前台应用根据界面操作选择锁定后的项目,调取文件模型操作类的Move()迁移方法,对项目列表内的对象迁移至归档任务库。
进一步地,所述资料补录具体是由前台应用通过EJB层调取文件模型操作类的ReInput()方法,同时利用对象模型类显示对应的操作界面,并写入至数据库中;所述本地导入具体是由前台应用通过EJB层调取文件模型操作类的LocalImport()方法,本地导入数据直接写入归档任务库;所述移交接收具体是由前台应用通过EJB层验证用户身份权限,同时调取归档任务操作类的check()方法,若操作成功则返回审批意见信息并写入归档任务库,等待后续的归档完成操作,否则返回驳回信息并告知原因;最后通过使用UML建模工具IBM Rational Architect绘制系统主要功能模块的时序图和类图,自动生成系统框架代码。
进一步地,所述文档元数据提取具体通过以下步骤实现:
S01、从归档任务库里获得文件;
S02、文件检测:用于检测在MongoDB的多个数据文档集合中是否已有存储;
S03、文件处理,用于确定多个数据文档集合中为存储待存储文件,基于所述待存储文件的预设属性信息,将待存储文件存储于相应的数据文档集合中;
S04、元数据提取并更新,用于获得所述存储文件的当前元数据信息,更新至MongoDB的元数据文档集合。
进一步地,基于Python的PyPDF2来解决所述文档元数据提取的功能,利用PyPDF2对PDF进行提取元数据和图片、拆分或合并等基本操作,同时编写脚本计划定期对完成对PDF文档和元数据的备份操作,所述PyPDF2可在任何Python平台上进行运行,且不依赖于气体外部库的配合,可完全在StringIO对象而不是文件流上工作,允许在内存中进行PDF操作提高执行效率。
本发明相对于现有技术包括有以下有益效果:
本发明为学校提供了一个功能完整,数据安全,高效,顺畅的一体化归档平台,为解决学校归档业务全部流程信息化的最终目的打下了基础;本发明提高PDF元数据提取技术的精准度,解决目前的元数据的提取不够全面,不利于资源搜索的效率;本发明利用非关系型数据库大大提升系统响应时间、吞吐率、并发用户数等方面的性能,通过利用模型驱动工程思想建立系统的对象模型,使用Rational建模工具建立系统类图和时序图来描述系统整体架构和业务逻辑,选择轻量级Flask框架模型进行研发,采用文档型数据库MongoDB解决大并发量和数据服务器的读写压力,为今后大数据分析提供保障提出pyPDF方法解决PDF元数据提取功能。最终解决了电子文档流转最后归档环节缺乏信息化管理的问题。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于Python的归档文件处理、存储及一站式管理平台的系统结构图;
图2为基于本发明一站式管理平台处理的文档的整个生命周期原理流程图;
图3为主节点、副节点、仲裁节点与应用程序的关系原理图;
图4为文档迁移导入模块序列图;
图5为本发明对文档元素进行提取过程的步骤流程图;
图6为本发明自定义的数据对象操作方法的原理图;
图7为尝试导入单个PDF文档验证程序的可行性和元数据提取准确度的代码运行界面图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明利用模型驱动工程思想建立系统的对象模型,使用Rational建模工具建立系统类图和时序图来描述系统整体架构和业务逻辑,选择轻量级Flask框架模型进行研发,采用文档型数据库MongoDB解决大并发量和数据服务器的读写压力,为今后大数据分析提供保障提出pyPDF方法解决PDF元数据提取功能。最终解决了电子文档流转最后归档环节缺乏信息化管理的问题;研究对比目前流行提取PDF元数据的各种方式,结合实际需求提出一种最适合本课题的提取方法。通过对Flask框架的学习,以模型驱动工程的思想设计实现一款基于Python的能够自动、高效、准确的提取PDF中元数据的电子文档归档管理系统;
请参阅图1-7所示,本发明的基于Python的归档文件处理、存储及一站式管理平台,包括电子文档归档管理系统、数据中心、一站式采购管理平台、档案馆;
电子文档归档管理系统用于对电子文档进行整理、存储、移交接收管理、接受监控,具体包括项目文档整理模块、移交接收管理模块、系统管理模块;电子文档归档管理系统与一站式采购管理平台之间通过标准数据接口相连,防止信息“孤岛”产生,实现与一站式采购管理平台的无缝结合,进行数据的调取或共享;电子文档归档管理系统与数据中心之间通过数据交互中心的标准接口进行数据传输的保存和备份;电子文档归档管理系统通过部门归档专员利用项目文档整理模块进行文档发导入、资料补录、纸质文档扫描;电子文档归档管理系统通过项目执行人进行资料补录和文档导入;电子文档归档管理系统通过档案审批人员进行档案的移交接受审批处理;电子文档归档管理系统通过档案馆对整个电子文档的归档管理进行监控以及归档项目的查询;电子文档归档管理系统通过系统管理员利用系统管理模块进行用户权限设置、系统后台配置以及外部接口设置;
如图1-2所示,客户端和服务端的具体控制过程详细说明如下:
如图2所示:归档管理功能一并纳入一站式采购平台且做进一步的完善。第一,增加文档数据导入功能,保证项目执行期间文档实时保存;第二,增加监督审核机制,保证上传电子文档的准确性,避免项目后期返工的情况;第三,增加电子文档元数据提取功能,解决目前针对海量数据缺乏大数据分析的情况;这样电子文档管理和归档管理就涵盖了整个文档生命周期;
原先的一站式采购平台的归档流程是采购部门专员将各类材料根据项目分类扫描上传到对应的项目文档库,然后分配给财务归档和档案馆归档,在项目完成后发起归档任务,通过调卷审核使文档入受控库受控,同时在本部门资料库中复制一份便于资料人员进行查阅;
输入数据 | 数据处理 | 数据存储 | 输出数据 |
归档的纸制文件 | 扫描数据导入 | ||
补录的纸制文件 | 扫描数据导入 | 文件列表 | |
项目信息 | 元数据提取 | 文件元数据存储 | |
案卷信息 | 过程监控与察看 | 归档过程信息列表 | |
审批意见 | 归档审批 | 过程及监控信息 | 查询审批结果信息 |
电子文件 | 音频,视频,图片 | 非结构化存储 | 各种报表 |
补充归档的电子文件 | 数据导出 | 归档结果列表 | 归档后数据统计与查询 |
表1:电子文件归档管理系统的I/O数据及操作表
如图1所示,系统设计架构注意事项:
(1)系统以形成一体化的信息高度集成为基准,设计标准数据接口防止信息“孤岛”的产生,做到与一站式管理平台的无缝结合。
(2)系统对数据库管理要采取必要的定期自动数据备份、防灾预案和数据恢复等措施;在数据传输方面要充分利用校园数据交互中心的标准接口,确保系统数据的安全性、可靠性和一致性;对所有用户的权限必须要有有效的管控机制(如:归档角色、审批权限)。
(3)系统后台配置灵活,需要增加新的文档属性项时只要通过系统后台配置即可,无需修改系统程序和数据结构。
系统分为项目文档整理、检索与统计、移交接收管理和系统管理四个功能区:
(1)“项目文档整理”包含6项子功能:文档导入(自动导入、人工录入、本地导入),文档补充,项目信息补录,删除文档,文档格式转换,文档元数据提取。
(2)“检索与统计”包含4项子功能:归档任务进度查询,电子文档查询,数据统计,报表管理(包含模板管理)。
(3)“移交接收管理”包含3项子功能:预审,资料移交审核,归档内容审核。
(4)“系统管理”包含3项子功能:用户和权限配置,文件扩展属性管理,各类标准接口配置。
一站式采购管理平台主要用于包括Word、Excel、JEPG以及纸质文档的文件的个人单独处理过程,过程包括项目创建、文档整理、分配;
数据中心采用数据库服务器的形式存在,用于电子文档归档管理系统中数据的存储与备份。
其中,一站式采购管理平台设置有文档导入功能、监督审查机制以及电子文档数据的提取功能;文档导入功能保证项目执行期间文档实时保存;监督审查机制保证上传电子文档的准确性,避免项目后期返工的情况;电子文档数据的提取功能,解决了目前针对海量数据缺乏大数据分析的情况,使电子文档的管理和归档管理涵盖整个文档生命周期。
其中,当需要增加新的文档属性项时,只需由系统管理员通过系统后台配置即可,无需修改系统程序和数据结构。
其中,电子文档归档管理系统分为项目文档整理、检索与设计、移交接收管理和系统管理四个功能区;
项目文档整理包括文档导入、文档补充、项目信息补录、删除文档、文档格式转换以及文档元数据提取;所述文档导入包括自动导入、人工录入、本地导入;
检索与设计包括归档任务进度查询、电子文档查询、数据统计以及报表管理,所述报表管理包含模板管理;
移交接收管理包括预审、资料移交审核以及归档内容审核;
系统管理包括用户和权限配置、文件扩展属性管理以及各类标准接口配置。
如图3所示,在大数据背景下,要求应用系统具有高性能、弱事务的特性,因此数据结构需要以横向扩展的方式进行分布式存储,数据模式多元化,数据相对独立存在。通过功能业务分析电子文档归档系统并非事务性系统,为了使本系统在扩展性、并发处理和读/写方面更有优势,而且需要考虑到系统后期的升级与功能扩展,摒弃使用传统关系数据库,采用MongoDB半结构化的非关系型数据库,它有着分布式的存储架构,这样数据之间分散存储更容易扩展,数据库不需要事先定义数据字段,可以随时自定义写入数据的格式。NoSQL来处理大量多元化数据存储运算与高并发访问有更显著的效果。数据库采用1主节点+1副节点+1仲裁节点的基本架构,以减轻数据服务器的访问压力,同时提升容灾能力,具体部署如下:
将主节点和副节点都设置属于数据节点,因此都是用来保存完整数据,当有“数据写入”请求时由主节点接受并且处理,然后通过“同步机制”将同步到副节点上,当有“数据读取”请求时根据主节点访问数量控制设置,将读取压力转移至副节点。仲裁节点只在主节点出现异常需要切换时具备投票权,不保存数据,对服务器配置不用很高。
设置Oplog(即操作记录,它是数据同步的关键设置)大小,在MongoDB配置文件的oplogSizeMB参数(一般为硬盘容量的5%),切记不要设置的太小,不然在大量数据操作后,可能导致数据尚未同步到副节点,Oplog就满了。Oplog会触发两种状态:第一是初始化,当需要增加一个副节点或是同步无响应的情况下,该节点Oplog会初始化并从主节点或其他副节点进行完整数据复制(整个数据文件和Oplog)。第二是同步,节点会对比自己和其他节点的状态,选择数据比本节点更完整的节点作为数据源并开始同步,当然也可以命令指定同步源
db.adminCommand({replSyncFrom:”hostname<:port>”})
“心跳机制”是节点之间确认是否在线,“选举机制”是为了一旦主机点软硬件、网络出现异常时,在所有可以成为主节点的副节点中通过投票,使其变为主节点延续服务器的正常工作。
根据模型驱动工程的思想方法,首先建立系统的对象模型,接着通过对象模型建立系统类集,并对每个类都定义属性和操作方法。
下表所示将本系统分成一共20个类,按操作功能可分为4大类:
(1)ModelManager属于EJB类,封装的组件为前台与服务端的交互提供数据访问接口。
(2)公共类(ConDefiner),它主要封装了基本查询、第三方插件调用和翻页等方法,前台只需要实例化这个类就能继承并使用。
(3)对象抽象类:将实体类AmObject类作为系统Model类的基类,Model类就是把数据库的字段映射为你类中各个对象的属性,为模型操作类提供数据来源。
(4)数据操作抽象类:将AmObjectDAO类作为数据操作类的基类,除了从父类AmObject继承的一些通用对象数据操作,还自定义特殊的数据对象操作方法。如图6所示。
表2:自定义特殊的数据对象操作方法对应类说明表
如图4所示,文档迁移导入设计思路:根据前台应用操作通过EJB类调用文件模型操作类的具体方法,数据库返回对应的项目列表。对项目列表内的项目文件进行锁定操作,调取文件模型操作类的Lock()方法。前台应用根据界面操作选择锁定后的项目,调取文件模型操作类的Move()迁移方法,对项目列表内的对象迁移至归档任务库,如果迁移未成功的文件仍保存在项目资料库,文档迁移导入模块序列图如图4所示;
图3:文档迁移导入主要业务逻辑表
数据补录的设计思想:前台应用通过EJB层调取文件模型操作类的ReInput()方法,同时利用对象模型类显示对应的操作界面,并写入到数据库。本地导入的设计思想:前台应用通过EJB层调取文件模型操作类的LocalImport()方法,本地导入数据直接写入归档任务库。移交接收的设计思想:前台应用通过EJB层验证用户身份权限,同时调取归档任务操作类的Check()方法,如果操作成功则返回审批意见信息并写入归档任务库,等待后续的归档完成操作,否则返回驳回信息并告知原因。
最后通过使用UML建模工具IBM Rational Architect绘制系统主要功能模块的时序图和类图,自动生成系统框架代码。
如图5所示,在进入审核流程之前的“数据导入/录入”功能设计一个“文档迁移数据转换接口”,同时该接口还作为与一站式采购管理平台及其他业务系统之间标准接口。该接口利用Flask框架的核心库Werkzeug的Cookies和Session组件解决多个用户快速响应客户端推送过来的访问请求,提高用户访问速度。同时,系统采用HTML页面和数据绑定模式,使用knockout.js(一个基于MVVM模式的JavaScript库),通过将UI和基础JavaScript模型绑定,做到模型和UI同步更新。通过调用Jinja2提高系统安全,将变量名中含HTML自动转义,但如果是安全的变量名则利用|safe过滤器标记为安全,这样能够很好控制外部的脚本攻击,而且也避免全部转义所带来的资源占用。
其中,文档元数据提取具体通过以下步骤实现:
S01、从归档任务库里获得文件;
S02、文件检测:用于检测在MongoDB的多个数据文档集合中是否已有存储;
S03、文件处理,用于确定多个数据文档集合中为存储待存储文件,基于所述待存储文件的预设属性信息,将待存储文件存储于相应的数据文档集合中;
S04、元数据提取并更新,用于获得所述存储文件的当前元数据信息,更新至MongoDB的元数据文档集合。
综上,本发明在设计MongoDB时预设多个数据文档集合以及至少一个元数据文档集合,接收到待存储文件后,根据文档的分类属性检测这多个数据文档集合确实未存储该待存储文件,将其存储到对应的数据文档集合,并将该待存储文件的元数据信息更新到元数据文档集合,本发明通过对文件分类存储,还能够实现对大文件的存储,且便于通过增加数据文档集合实现系统水平扩展。
其中,基于Python的PyPDF2来解决所述文档元数据提取的功能,利用PyPDF2对PDF进行提取元数据和图片、拆分或合并等基本操作,同时编写脚本计划定期对完成对PDF文档和元数据的备份操作,所述PyPDF2可在任何Python平台上进行运行,且不依赖于气体外部库的配合,可完全在StringIO对象而不是文件流上工作,允许在内存中进行PDF操作提高执行效率。
首先,通过pig install pycharm PyPDF2安装此模块“PyPDF2”。然后导入模块“import PyPDF2”和“import sys”,通过定义一个变量,将pdf文件路径赋值给变量。调用open()用‘rb’二进制方式读取文件,读取的内容传给PyPDF2.PdfFileReader(),初始化一个PdfFileReader对象。利用PdfFileReader对象的getDocumentInfo()方法得到pdf文件元数据,接着利用for语句遍历字典的键值对。此时docInfo的实例包含了大部分信息,可以使用这些属性从文档中获取所需的其余元数据,将这些数据存放至数据库以备将来使用。尝试导入单个PDF文档验证程序的可行性和元数据提取准确度,结果如下图7所示。最后,添加OptionParser方法使脚本只解析我指定的文件元数据,同时完善代码将提取到的元数据按一定的格式显示,部分代码如下所示:
有益效果:
本发明为学校提供了一个功能完整,数据安全,高效,顺畅的一体化归档平台,为解决学校归档业务全部流程信息化的最终目的打下了基础;本发明提高PDF元数据提取技术的精准度,解决目前的元数据的提取不够全面,不利于资源搜索的效率;本发明利用非关系型数据库大大提升系统响应时间、吞吐率、并发用户数等方面的性能,通过利用模型驱动工程思想建立系统的对象模型,使用Rational建模工具建立系统类图和时序图来描述系统整体架构和业务逻辑,选择轻量级Flask框架模型进行研发,采用文档型数据库MongoDB解决大并发量和数据服务器的读写压力,为今后大数据分析提供保障提出pyPDF方法解决PDF元数据提取功能。最终解决了电子文档流转最后归档环节缺乏信息化管理的问题。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.基于Python的归档文件处理、存储及一站式管理平台,其特征在于,包括电子文档归档管理系统、数据中心、一站式采购管理平台、档案馆;
所述电子文档归档管理系统用于对电子文档进行整理、存储、移交接收管理、接受监控,具体包括项目文档整理模块、移交接收管理模块、系统管理模块;所述电子文档归档管理系统与一站式采购管理平台之间通过标准数据接口相连,防止信息“孤岛”产生,实现与一站式采购管理平台的无缝结合,进行数据的调取或共享;所述电子文档归档管理系统与数据中心之间通过数据交互中心的标准接口进行数据传输的保存和备份;所述电子文档归档管理系统通过部门归档专员利用项目文档整理模块进行文档发导入、资料补录、纸质文档扫描;所述电子文档归档管理系统通过项目执行人进行资料补录和文档导入;所述电子文档归档管理系统通过档案审批人员进行档案的移交接受审批处理;所述电子文档归档管理系统通过档案馆对整个电子文档的归档管理进行监控以及归档项目的查询;所述电子文档归档管理系统通过系统管理员利用系统管理模块进行用户权限设置、系统后台配置以及外部接口设置;
所述一站式采购管理平台主要用于包括Word、Excel、JEPG以及纸质文档的文件的个人单独处理过程,过程包括项目创建、文档整理、分配;
所述数据中心采用数据库服务器的形式存在,用于电子文档归档管理系统中数据的存储与备份。
2.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述一站式采购管理平台设置有文档导入功能、监督审查机制以及电子文档数据的提取功能;所述文档导入功能保证项目执行期间文档实时保存;所述监督审查机制保证上传电子文档的准确性,避免项目后期返工的情况;所述电子文档数据的提取功能,解决了目前针对海量数据缺乏大数据分析的情况,使电子文档的管理和归档管理涵盖整个文档生命周期。
3.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,当需要增加新的文档属性项时,只需由系统管理员通过系统后台配置即可,无需修改系统程序和数据结构。
4.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述电子文档归档管理系统分为项目文档整理、检索与设计、移交接收管理和系统管理四个功能区;
所述项目文档整理包括文档导入、文档补充、项目信息补录、删除文档、文档格式转换以及文档元数据提取;所述文档导入包括自动导入、人工录入、本地导入;
所述检索与设计包括归档任务进度查询、电子文档查询、数据统计以及报表管理,所述报表管理包含模板管理;
所述移交接收管理包括预审、资料移交审核以及归档内容审核;
所述系统管理包括用户和权限配置、文件扩展属性管理以及各类标准接口配置。
5.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述数据中心采用MongoDB半结构化的非关系型数据库,具有分布式存储架构,使数据之间分散存储更容易扩展,数据库不需要事先定义数据字段,可随时自定义写入数据的格式,采用NoSQL催大量元化数据存储运算与高并发访问具有更显著的效果,所述数据库采用1主节点+1副节点+1仲裁节点的基本架构,以减轻数据库服务器的访问压力,并同时提升容灾能力。
6.根据权利要求5所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述主节点和副节点设置均属于数据节点,当有“数据写入”请求时,由主节点接受并处理,然后通过“同步机制”将同步到副节点上,当有“数据读取”请求时根据主节点访问数量控制设置,将读取压力转移至副节点上,所述仲裁节点仅在主节点出现异常需要切换时具备投票权,不保存数据。
7.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述文档导入具体是通过前台应用操作通过EJB类调用文件模型操作类的具体方法,数据库返回对应的项目列表,对项目列表内的项目文件进行锁定操作,调取文件模型操作类的Lock()方法,所述前台应用根据界面操作选择锁定后的项目,调取文件模型操作类的Move()迁移方法,对项目列表内的对象迁移至归档任务库。
8.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述资料补录具体是由前台应用通过EJB层调取文件模型操作类的ReInput()方法,同时利用对象模型类显示对应的操作界面,并写入至数据库中;所述本地导入具体是由前台应用通过EJB层调取文件模型操作类的LocalImport()方法,本地导入数据直接写入归档任务库;所述移交接收具体是由前台应用通过EJB层验证用户身份权限,同时调取归档任务操作类的check()方法,若操作成功则返回审批意见信息并写入归档任务库,等待后续的归档完成操作,否则返回驳回信息并告知原因;最后通过使用UML建模工具IBM RationalArchitect绘制系统主要功能模块的时序图和类图,自动生成系统框架代码。
9.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,所述文档元数据提取具体通过以下步骤实现:
S01、从归档任务库里获得文件;
S02、文件检测:用于检测在MongoDB的多个数据文档集合中是否已有存储;
S03、文件处理,用于确定多个数据文档集合中为存储待存储文件,基于所述待存储文件的预设属性信息,将待存储文件存储于相应的数据文档集合中;
S04、元数据提取并更新,用于获得所述存储文件的当前元数据信息,更新至MongoDB的元数据文档集合。
10.根据权利要求1所述的基于Python的归档文件处理、存储及一站式管理平台,其特征在于,基于Python的PyPDF2来解决所述文档元数据提取的功能,利用PyPDF2对PDF进行提取元数据和图片、拆分或合并等基本操作,同时编写脚本计划定期对完成对PDF文档和元数据的备份操作,所述PyPDF2可在任何Python平台上进行运行,且不依赖于气体外部库的配合,可完全在StringIO对象而不是文件流上工作,允许在内存中进行PDF操作提高执行效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111461459.8A CN114048370A (zh) | 2021-12-02 | 2021-12-02 | 基于Python的归档文件处理、存储及一站式管理平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111461459.8A CN114048370A (zh) | 2021-12-02 | 2021-12-02 | 基于Python的归档文件处理、存储及一站式管理平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048370A true CN114048370A (zh) | 2022-02-15 |
Family
ID=80212107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111461459.8A Withdrawn CN114048370A (zh) | 2021-12-02 | 2021-12-02 | 基于Python的归档文件处理、存储及一站式管理平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048370A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617805A (zh) * | 2022-10-31 | 2023-01-17 | 北京安怀信科技股份有限公司 | 一种基于元模型进行系统工程数字化建模系统及方法 |
CN115794733A (zh) * | 2022-11-11 | 2023-03-14 | 南京维拓科技股份有限公司 | 一种工业设计中设计文档管理的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401886A (zh) * | 2013-08-20 | 2013-11-20 | 江苏君立华域信息安全技术有限公司 | 一种信息安全攻防对抗的实现方法 |
CN110019048A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 基于MongoDB的文件处理方法、装置、系统及服务器 |
-
2021
- 2021-12-02 CN CN202111461459.8A patent/CN114048370A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401886A (zh) * | 2013-08-20 | 2013-11-20 | 江苏君立华域信息安全技术有限公司 | 一种信息安全攻防对抗的实现方法 |
CN110019048A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 基于MongoDB的文件处理方法、装置、系统及服务器 |
Non-Patent Citations (1)
Title |
---|
黄昇: "基于Python的高校电子文档管理系统", 《计算机系统应用》, vol. 30, no. 4, 13 April 2021 (2021-04-13), pages 69 - 76 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617805A (zh) * | 2022-10-31 | 2023-01-17 | 北京安怀信科技股份有限公司 | 一种基于元模型进行系统工程数字化建模系统及方法 |
CN115794733A (zh) * | 2022-11-11 | 2023-03-14 | 南京维拓科技股份有限公司 | 一种工业设计中设计文档管理的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chandra | BASE analysis of NoSQL database | |
US8078582B2 (en) | Data change ordering in multi-log based replication | |
WO2022179008A1 (zh) | 基于区块链的供应链金融AI DaaS算法仓库平台 | |
US10402486B2 (en) | Document conversion, annotation, and data capturing system | |
CN101853288A (zh) | 基于文档实时监控可配置的全文检索服务系统 | |
CN114048370A (zh) | 基于Python的归档文件处理、存储及一站式管理平台 | |
US20230161945A1 (en) | Automatic two-way generation and synchronization of notebook and pipeline | |
JP2022031625A (ja) | 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN102323930B (zh) | 对数据库系统中的数据变更进行镜像 | |
JP7509704B2 (ja) | 文書整理支援システム及びコンピュータプログラム | |
Zheng | Database as a service-current issues and its future | |
Pettit et al. | The MySQL Workshop: A practical guide to working with data and managing databases with MySQL | |
Niu | Optimization of teaching management system based on association rules algorithm | |
US11341159B2 (en) | In-stream data load in a replication environment | |
Wisswani et al. | Message oriented middleware for library’s metadata exchange | |
Lee et al. | Hands-On Big Data Modeling: Effective database design techniques for data architects and business intelligence professionals | |
Antony et al. | Professional Hadoop | |
CN114490568A (zh) | 跨领域数据库的整合、迁移方法和系统 | |
CN117422054B (zh) | 一种支持多任务多文档生产的数据协同管理方法与装置 | |
EP4254245A1 (en) | Access control to electronic datasets | |
Jejić et al. | Defining Software Architecture Modalities Based on Event Sourcing Architecture Pattern | |
Ignat | Large-scale trustworthy distributed collaboration | |
Li et al. | The Incremental Updating Method of Economics Teaching Resource Database Data | |
Xie et al. | Digital personalized healthcare web archive collection and storage model based on soft computing and edge-driven multimodal system | |
Li et al. | Design and Implementation of Survey and Design Enterprise File Sorting System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220215 |
|
WW01 | Invention patent application withdrawn after publication |