公开/公告号CN103618781A
专利类型发明专利
公开/公告日2014-03-05
原文格式PDF
申请/专利权人 北京海泰方圆科技有限公司;
申请/专利号CN201310598396.X
发明设计人 高敬民;
申请日2013-11-22
分类号H04L29/08;H04L12/70;G06F17/30;
代理机构北京华夏正合知识产权代理事务所(普通合伙);
代理人韩登营
地址 100094 北京市海淀区东北旺西路8号中关村软件园9号楼国际软件大厦E座一层、二层
入库时间 2024-02-19 22:27:24
法律状态公告日
法律状态信息
法律状态
2017-09-15
授权
授权
2016-02-03
著录事项变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20131122
著录事项变更
2014-04-02
实质审查的生效 IPC(主分类):H04L29/08 申请日:20131122
实质审查的生效
2014-03-05
公开
公开
技术领域
本发明涉及一种文件传输方法,特别是指一种业务系统与电子文 件管理系统的文件传输方法。
背景技术
通常,业务系统与电子文件管理系统分别设置。业务系统为用户 提供相关业务,并生成相关的文件,电子文件管理系统具有业务系 统的接口,用于接收相关文件,并转换为电子文件管理系统所需要 的数据格式,例如数据表格的形式,在所配置的数据库中进行存储。
目前,业务系统与电子文件管理系统对接的时候,利用Http请 求的方式,完成系统与系统间的数据传输,该过程是将业务系统生 成的文件的属性信息文件与文件实体(或称为附件)分开请求传输。 这导致了属性信息与附件分开传输,无法保证数据的一致性。
另外,目前,当所传输的文件实体到达电子文件管理系统后,目 前电子文件管理系统则会即时执行相应的格式转换,存入数据库等 动作。电子文件管理系统分配较多的资源(包括CUP、内存等)以执 行所述格式转换与数据库的操作。当电子文件管理系统短时间接收 来自一个或多个业务系统的大量业务数据时,对电子文件管理系统 中的服务器会造成较大的压力。
发明内容
有鉴于此,本发明的主要目的在于提供一种业务系统与电子文件 管理系统的文件传输方法,以实现数据传输过程中的一致性以及在 大量业务数据传输时减小电子文件管理系统中的服务器的压力。
本发明提供的一种业务系统与电子文件管理系统的文件传输方 法,包括步骤:
A、业务系统将要发送的文件的属性信息文件、文件实体封装在 一文件夹下再封装入包,推送至电子文件管理系统;
B、电子文件管理系统通过一主表记录接收的各个包的信息;
C、电子文件管理系统定时轮循主表,根据主表的记录依次获取 到各个包并解包,将解包后的包括结构属性文件的保存路径信息保 存到从表中,将解包后的包括文件实体和文件属性信息文件的数据 包保存到临时目录中;
D、电子文件管理系统轮循从表,根据从表的记录获取到所述结 构属性文件并据此将解包后的数据包解析出文件实体和属性信息文 件;
E、将属性信息文件解析转换电子文件管理系统所需要的格式, 生成写表语句入库,根据属性信息中对应的文件路径属性信息获取 文件实体信息上传至电子文件管理系统的文件服务器。
由上,要发送的文件的属性信息文件、文件实体封装在一文件夹 下再封装入包进行传输,实现了数据传输过程中的一致性。
并且,从业务系统获取数据、解包数据包、封装数据入库,整个 过程异步处理,并不要求电子文件管理系统马上对接收的数据进行 处理,这在处理大数据量请求时能有效的分解电子文件管理系统中 的服务器压力。
其中,步骤B所述主表记录接收的各个包的信息包括:包括推送 者、包名称及在本地的存放路径。
其中,步骤C所述从表中存储的内容包括:所述结构属性文件保 存的路径信息、解包后数据包名称UUID。
其中,步骤C解包后还同时更新主表中记录的各个包的解包状 态。
其中,所述封装入包为封装入压缩包;所述解包为解压缩包。
由上可以看出,通过主表、从表可以实现从业务系统获取数据、 解压数据包、封装数据入库各个过程的异步处理,这在处理大数据 量请求时能有效的分解电子文件管理系统中的服务器压力。
附图说明
图1为业务系统与电子文件管理系统的文件传输的流程示意图;
图2为压缩包示意图;
图3为图2所示压缩包解压缩后的示意图。
具体实施方式
下面参见附图对本发明进行详细说明,如图1示出了业务系统与 电子文件管理系统的文件传输的流程示意图,该文件传输包括以下 步骤:
步骤10:当业务系统要向电子文件管理系统传输文件时,首先 业务系统按照一定的格式将所要发送的文件的属性信息封装成一属 性信息文件,如XML格式的文件,本例中属性信息文件为Meta.xml 文件,将Meta.xml文件与所要发送的文件(即文件实体)封装在一 个文件夹下再封装入压缩包,如zip包。
如图2示出了一个zip包的例子,zip包中可封装单文件或复合 文件,如图2(A)中封装单文件为FileLoc.doc文件,封装多文件的 图2(B)中的多文件示出了FileLoc.doc、FileLoc1.txt、 FileLoc2.xls、FileLoc3.xml,可见不同的文件也可以是不同类型 的文件。
其中,生成zip包时,zip包名PackageUUID为业务系统随机生 成。zip包中包含结构属性文件,本例中为FoldSettingXML.xml文 件,其是整个zip包内容的引导文件,其中,zip包名PackageUUID 与FoldSettingXML.xml中PackageUUID一致;FoldSettingXML.xml 文件里面记录有zip包中所封装的文件实体的类型、类目(目录)、 文件实体在zip包中的路径等信息,如下为FoldSettingXML.xml文 件具体内容的例子,示出了部分代码。其中记录了文件实体的名称、 类型、权限等。
<?xml version=″1.0″encoding=″UTF-8″?>
<PackageInfoManage
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xs:SchemaLocation=″FolderSetting.xsd″>
<!--数据包标识编号(UUID),用于唯一标识包-->
<PackageUUID>38C71948-A70B-4BE8-BC17-BDCBF5F9156A</Package UUID>
<!--数据包的文件类型(单文件、复合文件)-->
<FileType>单文件</FileType>
<!--数据包中文件所属类目、案卷的描述(具体格式标准参见电子 文件分类标准)-->
<FileCategory>公司资质-专利底稿</FileCategory>
<!--包元数据文件描述-->
<Metadata>Meta.xml</Metadata>
<!--数据包内置包文件的表示方式-->
<PackageFiles>
<File FileLoc=”33D6A748-1F1E-4220-A781-1E21A8D52C6D.doc”
UUID=″38C71948-A70B-4BE8-BC17-BDCBF5F9156A″Title=″专利
1″ParentFileUUID=″″Format=″doc″/>
</PackageFiles>
<!--包文件权限控制信息,所有可访问对象(组织、职级、用户) 标识-->
<Authorizers>
<Authorizer Name=″张三″ObjectType=”用户”ID=″zhangsan″/>
<Power>List</Power><!--浏览条目权限-->
<Power>Read</Power><!--阅读内容权限-->
<Power>Print</Power><!--打印内容权限-->
</Authorizers>
<!--数据包上传者信息-->
<Uploading Name=″OA管理系统″DateTime=″2013-10-03 14:23:12″/> </PackageInfoManage>
zip包中还封装有Files文件夹,Files文件夹里面包括属性信 息文件Meta.xml和文件实体。Files文件夹与FoldSettingXML.xml 平级。
如下示出了Meta.xml的结构的例子,示出了部分代码:
<?xml version=″1.0″encoding=″UTF-8″?>
<MetaRoot xs:SchemaLocation=″metadata.xsd″
xmlns:xs=″http://www.w3.org/2001/XMLSchema-instance″>
<!--采用UUID算法生成的文档标识。不给出时由转换服务自动生成 -->
<DocID>33D6A748-1F1E-4220-A781-1E21A8D52C6D</DocID>
<!--文档的标题。标题可以与文件名不同,可用于文档的检索。-->
<Title>专利1</Title>
<!--文档的作者。-->
<Author>张三</Author>
<!--文档的主题。用于将文档按照相同的主题分组,并可检索具有 相同主题的文档。-->
<Subject>相关专利底稿底稿</Subject>
<!--文档的摘要与注释。-->
<Abstract></Abstract>
<!--文档最近修改日期。-->
<ModDate>2013-10-02 13:13:02</ModDate>
<!--文档的分类。用于文档的检索和分组。-->
<DocUsage></DocUsage>
<!--关键字集合,每一个关键字用一个“关键字”元素来表达。-->
<Keywords>
<Keyword></Keyword>
</Keywords>
<!--用户自定义元数据集合。-->
<CustomDatas>
<CustomData Name=″IDENTIFIER″></CustomData><!--标识-->
<CustomData Name=″IDENTIFIER_TYPE″></CustomData><!--标识类 型-->
<CustomData Name=″IDENTIFIER_NAME″></CustomData><!--标识名 称-->
<CustomData Name=″IDENTIFIER_CODE″></CustomData><!--标识编 码-->
<CustomData Name=″PROVENANCE″></CustomData><!--来源-->
<CustomData Name=″TITLE″></CustomData><!--题名-->
<CustomData Name=″SUBJECT″></CustomData><!--主题-->
<CustomData Name=″DOCUMENT_NUMBER″></CustomData><!--文件编 号-->
<CustomData Name=″FORMAL_CHARACTERISTICS″></CustomData><!-- 形式特征-->
<CustomData Name=″QUANTITY_AND_UNIT″></CustomData><!--数量 及单位-->
<CustomData Name=″OPENLEVEL″></CustomData><!--文件开放等级 -->
<CustomData Name=″LANGUAGE″></CustomData><!--语种-->
<CustomData Name=″MANUSCRIPT_TYPE″></CustomData><!--稿本--> <CustomData Name=″ELECTRONIC_ATTRIBUTES″></CustomData><!-- 电子属性-->
<CustomData Name=″FORMAT_INFORMATION″></CustomData><!--格式 信息-->
<CustomData Name=″COMPUTER_FILE_NAME″></CustomData><!--计算 机文档名-->
<CustomData Name=″COMPUTER_FILE_SIZE″></CustomData><!--计算 机文档大小-->
<CustomData
Name=″DIGITIZATION_PARAMETERS″></CustomData><!--数字化参数 -->
<CustomData Name=″MANAGEMENT_ATTRIBUTES″></CustomData><!-- 管理属性-->
<CustomData Name=″ONLINE_LOCATION″></CustomData><!--在线位 置-->
<CustomData Name=″OFFLINE_STORAGE″></CustomData><!--离线存 储-->
<CustomData Name=″DIGITAL_RIGHTS″></CustomData><!--数字产权 -->
<CustomData Name=″BUSINESS_DESCRIPTION″></CustomData><!--业 务描述-->
……
</CustomDatas>
</MetaRoot>
步骤20:业务系统请求webservice服务推送zip包到电子文件 管理系统。电子文件管理系统接受推送的zip包并返回推送成功或 失败状态信息。
步骤30:当步骤20推送成功时,则电子文件管理系统将业务系 统推送信息,包括推送者、zip包名称及该zip包在电子文件管理系 统本地的存放路径等,保存到主表表A中,以对所接收的各个zip 包信息进行记录,如下示出了主表表A的表结构:
步骤40:电子文件管理系统定时轮循主表表A中所存储的各个 zip包的信息,根据主表表A中记录各个信息依次获取各个zip包名 称及zip包在本地的存放路径等。
步骤50:电子文件管理系统根据所获得的各个zip包本地存放 路径获得各个zip包,并将各个对应的zip包解压,将解压后的信 息,包括解压后数据包名称UUID、结构属性文件即FolderSettingXML 文件的本地保存路径等,保存到从表表B中,并将解包后的文件信 息,如图3示出的解包后包括的文件实体和文件属性信息保存到临 时目录中,同时更新主表A中记录的各个文件包的解压状态信息。 如下示出了从表表B的结构:
步骤60:电子文件管理系统定时轮循从表表B,根据从表表B 中记录的结构属性文件的保存路径,读取FolderSettingXML文件内 容(如上述FoldSettingXML.xml中的具体内容)来解析整个解压后 的数据包,获取文件实体和属性文件。
步骤70:将属性文件(如Meta.xml)解析,转换电子文件管理 系统所需要的格式,如数据字典的转换、保管期限的计算、权限的 分配等一一解析取得转换后的内容,生成写表语句入库,根据属性 信息中对应的文件路径属性信息获取文件实体信息,上传至电子文 件管理系统的文件服务器。其中,本步骤与现有技术处理方式相同, 不再赘述。
由上可以看出,本发明从业务系统获取数据、解压数据包、封装 数据入库,整个过程异步处理,并不要求电子文件管理系统马上对 接收的数据进行处理,这在处理大数据量请求时能有效的分解服务 器压力,同时通过文件实体与属性信息打包在一起发送,也保证了 数据的完整性和一致性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明, 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进 等,均应包含在本发明的保护范围之内。
机译: 信息处理设备,电子文件管理系统,电子文件管理系统和电子文件管理程序
机译: 电子文件管理系统,电子文件管理程序,电子文件管理系统
机译: 电子文件管理系统及电子文件管理系统的控制方法