CN104298718B - 一种基于soa的分布式图档系统 - Google Patents
一种基于soa的分布式图档系统 Download PDFInfo
- Publication number
- CN104298718B CN104298718B CN201410491949.6A CN201410491949A CN104298718B CN 104298718 B CN104298718 B CN 104298718B CN 201410491949 A CN201410491949 A CN 201410491949A CN 104298718 B CN104298718 B CN 104298718B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- distributed
- module
- client
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 20
- 239000000203 mixture Substances 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000000151 deposition Methods 0.000 claims description 4
- 239000012634 fragment Substances 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 16
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种基于SOA的分布式图档系统,该系统由客户端和分布式图档服务器模块组成;其中,分布式图档服务器模块在结构层次上划分为三层,分别为:客户端访问接口层,网络通信层,数据访问层;由位于客户端访问接口层的客户端接口模块,位于网络通信层的网络通信模块以及数据访问层的数据访问模块三部分依次连接组成。本发明通过分布式技术,对字符流进行分片分布式处理,解决传统FTP等服务器处理大文件等数据时,网络长连接、带宽拥塞问题。
Description
技术领域
本方明涉及采用SOA及分布式网络技术,实现图档文件共享的技术,对企业协同系统和知识管理系统的核心技术有比较现实意义。
背景技术
企业级的协同系统,如OA、知识管理系统、文件服务器、图档服务器有大量的二进制非结构化数据的应用,传统采用FTP文件服务器技术可以实现二进制非结构化数据,如文件、图档的上传、下载、浏览和简单的权限管理。但是由于企业级应用,需要把这些非结构化数据与企业应用中的存储在RDBMS关系数据库中大量结构化数据进行关联。FTP技术很难在数据库操作的事务中进行完整集成,造成图档数据与结构化数据往往会不一致;另外,传统的FTP服务器由于,动辄几十兆的图档文件较大,在数据分享时网络带宽、存储容量往往是制约图档系统性能的关键技术。本文介绍一种通过采用SOA架构技术和分布式网络技术设计实现的一种基于SOA的分布式图档系统技术,可以为图档共享技术提供一种全新的实现思路。
发明内容
传统的文档处理采用FTP服务,不利于集成在Web应用中。要集成在Web应用,必须从两个方面入手解决:一方面必须数据传问题,需要将文件二进制流在SOA架构WebService中通过Base64、CRC编码转换问字符流传输;另一方面在大文件等数据处理中要通过分布式技术,对字符流进行分片分布式处理,解决传统FTP等服务器处理文件时,网络长连接、带宽拥塞等问题。本发明提出了一种利用SOA架构,采取分布式网络、存储技术解决海量图档共享的技术,系统架构如图-1所示。
一种基于SOA的分布式图档系统,本发明特征在于,该系统由客户端和分布式图档服务器模块组成;其中,分布式图档服务器模块在结构层次上划分为三层,分别为:客户端访问接口层,网络通信层,数据访问层;由位于客户端访问接口层的客户端接口模块,位于网络通信层的网络通信模块以及数据访问层的数据访问模块三部分依次连接组成;
客户端利用客户端接口模块通过SOCKET方式与分布式图档服务器模块通信;客户端接口模块的的功能为:
1)二进制文件分片组包,对任意大小的二进制文件,按照可传输数据包大小进行分割,每个包1KB,超过1KB,对其进行分割;
2)按照通信协议进行组包,以TCP协议进行socket网络数据通信;客户端接口模块接收数据后,按通信协议进行解包,提供客户端使用;
3)客户端接口模块提供文件上传、文件下载、文件搜索功能;
网络通信模块提供网络传输,为客户端接口模块服务;
数据访问模块提供网络通讯模块所需的信息,其功能为:
1)完成数据的分布式存储,同一个文件的二进制数据分布在不同的存储位置进行存储,以文件ID和数据片ID做为索引进行数据访问;
2)完成分布式存储的数据访问,数据通讯包到达数据访问模块后,按照数据文件的ID和分片数据ID,先在主存储服务器中获取到存放数据片段的物理服务器host和存储位置,再去实际物理存放位置,实现分布式的数据片段的读/写。
本发明所述的文件二进制数据不能直接用于SOA的WebService字符流调用,需要将二进制数据转化为值为0-127的ASCII字符JSON格式,编码方式采用GZIP-2压缩,再用BASE64编码,或CRC编码;其中,对文件名称、文件创建时间、文件属性数据,需要与经过编码处理后的文件二进制数据一样用JSON格式编码。
本发明所述的分布式数据存储,指数据的分割存储,即同一个文件的二进制数据可以分布在不同的存储位置进行存储。
具体关键技术要点和内容如下:
二进制文件转为JSON字符流的处理技术说明:
文件二进制数据不能直接用于SOA的WebService字符流调用,必须采用一定的编码方式,将二机制数据转化为值为0-127的ASCII字符JSON格式,才能通过HTTP协议进行WebService传输数据。数据编码采用GZIP-2压缩,再用BASE64编码,CRC编码。
对文件名称、文件创建时间、文件属性等数据,需要与经过编码处理后的文件二进制数据用JSON格式编码。
图档二进制文件分布式存储:
随着IT存储成本的不断下降,图档服务器最重要的指标就是存储容量和检索速度。传统依靠单机的存储和检索在面对高并发流量、大容量内容时会遇到性能瓶颈。因此,针对图档文档的二进制文件存储,需要采用以下手段,从而实现了图档二进制文件的海量存储(兆T级)和高并发的检索能力:
分布式数据通信:将二进制文件通过分割算法,分割成有利于socket通信的数据包,通过分层设计方式进行网络分布式数据通信。分布式数据通信模块还要处理集群服务器的数据统一、数据传输的状态反馈问题。
分布式数据存储:分布式数据存储主要指两个层面,一个是指数据的分割存储,即同一个文件的二进制数据可以分布在不同的存储位置进行存储。
1.分布式图档服务器模块划分
1.1.服务器结构层次
分布式图档服务器在结构层次上划分为三层,分别为:客户端访问接口,网络通信层,数据访问层,其结构如图1所示。各层之间的接口调用示意如图2所示。
下边分别为各个模块的详细介绍。
1.2.客户端接口
客户端接口主要功能:
二进制文件分片组包,对任意大小的二进制文件,按照配置的可传输数据包大小进行分割,组包成一定长度的数据包(长度可配置);
按照通信协议组包,以TCP协议进行socket网络数据通信;接收数据后,按通信协议解包,提供客户端应用程序使用。
从分布式的后台文件存储对提供客户端应用文件上传、文件下载、文件搜索等功能。
1.2.1文件上传
文件上传的逻辑时序图如图3所示。
文件上传的流程图如图4所示。
具体的文件上传流程会进行一些校验,其校验流程流程如图5所示。
1.2.2文件下载
文件下载时序图如图6所示。
文件下载流程图如图7所示。
具体的下载过程中,会涉及到的校验流程如图8所示。
1.2.3文件搜索
文件搜索部分时序图如图9所示。
搜索功能的流程图如图10所示。
1.2.4文件管理
1.3.网络通信层
上传服务:fs_upload_file
入口参数:fs_auth[1]+fs_file[1]
下载服务:s_download_file
入口参数:fs_auth[1]+fs_file[1]
搜索服务:s_search_file
入口参数:fs_auth[1]+fs_filter[1]+fs_attribute[0..n]
文件管理:s_maintain_file
入口参数:fs_auth[1]+fs_operation[1]+fs_attribute[0..n]
文中仅列出各层需要暴露出来的接口,事实上各层还需要各自实现更多的支持函数,比如网络层需要负责对传递过来的数据结构进行解析,回填信息打包等,数据访问层需要对系统用户,存储库等的操作等,这里由于与系统边界的界定和接口的定义无关,就没有出现在文档中。
所有返回int的函数反馈0为成功否则失败,
react,rsize参见前面的说明。
如果rsize==0或react==NULL则系统仅反馈包头,当然设置了成功与否的flag。
1.4.数据访问层
数据访问层要解决分布式存储的数据访问,数据通讯包到达数据访问层后,按照数据文件的UID和分片数据ID,先在主存储服务器中获取到存放数据片段的物理服务器host和存储位置,再去实际物理存放位置,实现分布式的数据片段的读/写。分布式存储的逻辑示意图如图11所示。
其中主数据访问节点、多个分布式数据访问节点可部署在一台或多台的物理服务器上,形成分布式数据的存储集群。在集群中的每个数据访问节点上,可以存储多个数据片,以文件ID和数据片ID做为索引进行数据访问。
本发明通过分布式技术,对字符流进行分片分布式处理,解决传统FTP等服务器处理大文件等数据时,网络长连接、带宽拥塞等问题。
附图说明
图1是本发明分布式图档服务器的结构层次示意图;
图2是本发明分布式图档服务器的结构层各层之间的接口调用示意图;
图3是本发明的文件上传的逻辑时序图;
图4是本发明文件上传的流程图;
图5是本发明文件上传流程中的校验流程图;
图6是本发明的文件下载时序图;
图7是本发明的文件下载流程图;
图8是本发明的文件下载流程中的校验流程图;
图9是本发明文件搜索部分时序图;
图10是本发明文件搜索流程图;
图11是本发明分布式存储的逻辑示意图。
具体实施方式
一种基于SOA的分布式图档系统,本发明特征在于,该系统由客户端和分布式图档服务器模块组成;其中,分布式图档服务器模块在结构层次上划分为三层,分别为:客户端访问接口层,网络通信层,数据访问层;由位于客户端访问接口层的客户端接口模块,位于网络通信层的网络通信模块以及数据访问层的数据访问模块三部分依次连接组成;
客户端利用客户端接口模块通过SOCKET方式与分布式图档服务器模块通信;客户端接口模块的的功能为:
1)二进制文件分片组包,对任意大小的二进制文件,按照可传输数据包大小进行分割,每个包1KB,超过1KB,对其进行分割;
2)按照通信协议进行组包,以TCP协议进行socket网络数据通信;客户端接口模块接收数据后,按通信协议进行解包,提供客户端使用;
3)客户端接口模块提供文件上传、文件下载、文件搜索功能;
网络通信模块提供网络传输,为客户端接口模块服务;
数据访问模块提供网络通讯模块所需的信息,其功能为:
1)完成数据的分布式存储,同一个文件的二进制数据分布在不同的存储位置进行存储,以文件ID和数据片ID做为索引进行数据访问;
2)完成分布式存储的数据访问,数据通讯包到达数据访问模块后,按照数据文件的ID和分片数据ID,先在主存储服务器中获取到存放数据片段的物理服务器host和存储位置,再去实际物理存放位置,实现分布式的数据片段的读/写。
本发明所述的文件二进制数据不能直接用于SOA的WebService字符流调用,需要将二机制数据转化为值为0-127的ASCII字符JSON格式,编码方式采用GZIP-2压缩,再用BASE64编码,或CRC编码;其中,对文件名称、文件创建时间、文件属性数据,需要与经过编码处理后的文件二进制数据一样用JSON格式编码。
Claims (2)
1.一种基于面向服务的体系结构的分布式图档系统,其特征在于,该系统由客户端和分布式图档服务器模块组成;其中,分布式图档服务器模块在结构层次上划分为三层,分别为:客户端访问接口层,网络通信层,数据访问层;分布式图档服务器模块由位于客户端访问接口层的客户端接口模块,位于网络通信层的网络通信模块以及数据访问层的数据访问模块三部分依次连接组成;
客户端利用客户端接口模块通过套接字方式与分布式图档服务器模块通信;客户端接口模块的的功能为:
1)二进制文件分片组包,对任意大小的二进制文件,按照可传输数据包大小进行分割,每个包1KB,超过1KB,对其进行分割;
2)按照通信协议进行组包,以TCP协议进行套接字网络数据通信;客户端接口模块接收数据后,按通信协议进行解包,提供客户端使用;
3)客户端接口模块提供文件上传、文件下载、文件搜索功能;
网络通信模块提供网络传输,为客户端接口模块服务;
数据访问模块提供网络通讯模块所需的信息,其功能为:
1)完成数据的分布式存储,同一个文件的二进制数据分布在不同的存储位置进行存储,以文件ID和数据片ID做为索引进行数据访问;
2)完成分布式存储的数据访问,数据通讯包到达数据访问模块后,按照数据文件的ID和分片数据ID,先在主存储服务器中获取到存放数据片段的物理服务器host和存储位置,再去实际物理存放位置,实现分布式的数据片段的读/写。
2.根据权利要求所述的一种基于面向服务的体系结构的分布式图档系统,其特征在于,所述的文件二进制数据不能直接用于面向服务的体系结构的WebService字符流调用,需要将二进制数据转化为值为0-127的ASCII字符的JavaScript标记格式,编码方式采用一种基于UNIX的压缩方式格式进行压缩,再用BASE64编码,或CRC编码;其中,对文件名称、文件创建时间、文件属性数据,需要与经过编码处理后的文件二进制数据一样用JavaScript标记格式编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410491949.6A CN104298718B (zh) | 2014-09-23 | 2014-09-23 | 一种基于soa的分布式图档系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410491949.6A CN104298718B (zh) | 2014-09-23 | 2014-09-23 | 一种基于soa的分布式图档系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298718A CN104298718A (zh) | 2015-01-21 |
CN104298718B true CN104298718B (zh) | 2016-07-06 |
Family
ID=52318443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410491949.6A Active CN104298718B (zh) | 2014-09-23 | 2014-09-23 | 一种基于soa的分布式图档系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298718B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324297A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种消息处理方法及装置 |
CN114153790A (zh) * | 2022-02-10 | 2022-03-08 | 四川创智联恒科技有限公司 | 一种降低日志文件空间占用的方法、存储介质及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202736049U (zh) * | 2012-08-31 | 2013-02-13 | 广东万维博通信息技术有限公司 | 一种基于soa模式的档案管理系统 |
CN103942038A (zh) * | 2013-01-18 | 2014-07-23 | 上海共联通信信息发展有限公司 | 基于Intel Express和SOA的数据库开发系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070276951A1 (en) * | 2006-05-25 | 2007-11-29 | Nicholas Dale Riggs | Apparatus and method for efficiently and securely transferring files over a communications network |
-
2014
- 2014-09-23 CN CN201410491949.6A patent/CN104298718B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202736049U (zh) * | 2012-08-31 | 2013-02-13 | 广东万维博通信息技术有限公司 | 一种基于soa模式的档案管理系统 |
CN103942038A (zh) * | 2013-01-18 | 2014-07-23 | 上海共联通信信息发展有限公司 | 基于Intel Express和SOA的数据库开发系统 |
Non-Patent Citations (1)
Title |
---|
基于SOA知识文档管理系统的设计与实现;潘秀龙 等;《计算机应用》;20100630;第30卷(第 增刊1 期);第230-234页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104298718A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grover et al. | Hadoop Application Architectures: Designing Real-World Big Data Applications | |
CN108681569B (zh) | 一种数据自动分析系统及其方法 | |
US9426219B1 (en) | Efficient multi-part upload for a data warehouse | |
CN106980669A (zh) | 一种数据的存储、获取方法及装置 | |
CN106815338A (zh) | 一种大数据的实时存储、处理和查询系统 | |
US10120915B2 (en) | Integrated framework for secured data provisioning and management | |
KR20140100504A (ko) | 데이터 송수신 시스템 | |
CN103631820B (zh) | 分布式文件系统的元数据管理方法及设备 | |
CN102999584A (zh) | 电力gis跨平台空间数据服务方法及系统 | |
CN108848108A (zh) | 基于移动互联网+的创新项目pdca过程管理平台 | |
CN106709048A (zh) | 一种面向高性能计算的分布式数据组织方法 | |
CN108932588A (zh) | 一种前后端分离的水电站群优化调度系统及方法 | |
CN107276992A (zh) | 一种多数据源接入的方法及系统 | |
CN106446263A (zh) | 一种多媒体文件云存储平台及使用该云存储平台去冗的方法 | |
CN106453618A (zh) | 基于G‑Cloud云计算的遥感图像处理服务云平台系统 | |
US11818012B2 (en) | Online restore to different topologies with custom data distribution | |
US20220374404A1 (en) | Data Storage Using Roaring Binary-Tree Format | |
CN104461929B (zh) | 基于拦截器的分布式数据缓存方法 | |
CN104967660B (zh) | 一种面向多云架构的网络性能提升方法 | |
CN104298718B (zh) | 一种基于soa的分布式图档系统 | |
US20220121880A1 (en) | Managing and streaming a plurality of large-scale datasets | |
CN103488697A (zh) | 能自动收集和交换碎片化商业信息的系统及移动终端 | |
US11263026B2 (en) | Software plugins of data virtualization-based architecture | |
US20210374115A1 (en) | Virtual data source manager of data virtualization-based architecture | |
US10970316B1 (en) | Maintaining a class hierarchy of an object-oriented data model using shared columns and/or overflow tables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |