一种基于HDFS的税务文件共享系统及实现方法与流程

文档序号:18561388发布日期:2019-08-30 23:20阅读:323来源:国知局
一种基于HDFS的税务文件共享系统及实现方法与流程

本发明涉及税务技术领域,具体地说是一种基于hdfs的税务文件共享系统及实现方法。



背景技术:

随着云计算和移动互联网技术的快速发展,基于云存储的网盘技术得到了很大程度的应用。通过使用网盘,用户可以方便的共享自己的文件,并能快速的对数据进行备份和恢复,规避可能发生的数据危险。

随着金税三期工程的推广和税务大数据平台的建立,统一了全国征管数据标准和口径,实现了全国征管数据大集中,金税三期工程采用“应用省级集中,生产数据省局落地,然后集中到总局”的模式,因此税务机构对内部文件共享系统有着极大的需求。

由于目前的云存储服务大多是商业化产品,对国家税务信息化建设来说,存在如下显著的缺陷:

(1)、现有的云存储服务需要依托第三方提供的数据中心设施,将数据托管给第三方,通过公有云、私有云或混合云形式对数据进行按需存取操作,这种非完全自主的管理模式存在泄密的风险;

(2)、第三方提供的存储服务平台价格高昂,对上层用户完全透明,缺乏可靠性保障。

综上所述,如何能够更加精细地对税局文件进行管理,充分提高税局内部文件的安全性,提高各部门、各税务人员的文件共享的效率成为了亟待解决的问题。

专利号为cn108985915a的专利文献公开了一种财税共享系统,包括出纳客户端、财务客户端和税务客户端;出纳客户端为企业出纳提供上传、打印、查询票据服务,企业出纳通过出纳客户端上传业务票据的照片到服务平台、打印条码、扫码枪扫描条码打印凭证;财务客户端使用者从财务客户端接单,实时处理会计业务并将结果交由出纳客户端确认。但是该技术方案不能精细地对税局文件进行管理,充分提高税局内部文件的安全性,提高各部门、各税务人员的文件共享的效率。

专利号为cn107943958a的专利文献公开了一种个税主数据共享系统及方法,通过横向共享模块利用数据库复制方式,将核心个税系统生产的法人主数据复制至个税系统,通过共享服务将法人主数据共享至个税系统内部各子系统;通过共享服务和数据库复制方式,将个税系统的自然人主数据复制至纳税服务平台,通过共享服务向核心个税系统发布主数据接口;总分共享模块通过数据库复制方式将总税务系统待共享主数据同步至目标分税务系统;调用主数据更新记录统一分发服务,将主数据变化记录数据通过消息队列下发至目标税务系统缓存。该技术方案利用共享服务和数据库复制方式保证个税主数据横向共享实时性;通过消息队列和数据库复制方式,保证总税务系统和分税务系统间个税主数据的实时性,但是不能精细地对税局文件进行管理,充分提高税局内部文件的安全性,提高各部门、各税务人员文件共享的效率。



技术实现要素:

本发明的技术任务是提供一种基于hdfs的税务文件共享系统及实现方法,来解决如何能够更加精细地对税局文件进行管理,充分提高税局内部文件的安全性,提高各部门、各税务人员文件共享的效率的问题。

本发明的技术任务是按以下方式实现的,一种基于hdfs的税务文件共享系统,该系统包括,

至少一个web客户端,用于通过浏览器访问部署在服务器端的采用bs架构的网盘系统并通过web页面显示;web客户端的功能模块包括文件管理模块、系统管理模块和分享管理模块;

至少一个第三方应用系统,用于通过服务器端部署大数据集群系统;第三方应用系统包括至少一个大数据集群系统、至少一个集群管理模块、至少一个接口管理模块和至少一个文档转换系统;大数据集群系统用于实现云存储中多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问性能;集群管理模块用于大数据集群系统中集群的管理;接口管理模块用于大数据集群系统中集群接口的管理;文档转换系统用于将word、excel、ppt、txt的文件转换为pdf文件并将pdf文件发送到大数据集群系统中;

至少一个服务器端,用于部署网盘系统,并通过服务器端部署大数据集群系统;服务器端包括至少一个数据库;数据库用于存储文件管理模块、系统管理模块和分享管理模块的数据,文件管理模块、系统管理模块和分享管理模块通过dao数据访问对象访问数据库;数据库的数据加密采用kerberos权限验证技术。

作为优选,所述文件管理模块用于管理网盘系统中的文件,文件管理模块包括目录管理子模块、文件管理子模块和文件预览子模块;目录管理子模块用于管理目录文件;文件管理子模块用于管理文件;文件预览子模块用于文件的预览;

所述系统管理模块用于设置系统参数;系统管理模块包括用户管理子模块和权限管理子模块;用户管理子模块用于设置用户参数并管理用户信息;权限管理子模块用于设置用户的权限参数并管理用户的权限;

所述分享管理模块用于管理网盘系统中税务文件的共享;分享管理模块包括分享管理子模块、分享给网盘用户子模块以及公开分享子模块。

更优地,该系统采用java、javascript语言进行开发;bs架构采用loushang6、springmvc、spring、mybatis的框架;大数据集群系统由hdfs、hbase存储文件和逻辑目录组成;数据库采用oracle;服务器端采用tomcat或weblogic的主流中间件服务器。

一种基于hdfs的税务文件共享系统的实现方法,该实现方法具体步骤如下:

s1、将上述一种基于hdfs的税务文件共享系统通过服务器端部署hadoop集群,实现云存储中多个存储设备之间的协同工作,使多个存储设备对外提供同一服务并提供更大、更强、更好的数据访问性能;

s2、步骤s1中的基于hdfs的税务文件共享系统中的数据库采用kerberos权限验证技术,保证网盘系统中数据库不会被未授权的用户所访问;

s3、通过多数据备份技术保证网盘系统中的数据库不会丢失,保证云存储自身的安全和稳定;

s4、通过动态负载均衡技术将每次用户连接指派到负载最低的服务器端,实现高效服务;

s5、用户利用web客户端或移动客户端上的浏览器访问步骤s1中的基于hdfs的税务文件共享系统,用户将文件上传至个人网盘,对文件进行重命名、移动、复制、删除的文件操作,同时将自己的文件分享给除用户本人以外的用户,通过web页面上实现文件管理和文件分享,完成文件上传、文件下载、文件分享、文件在线预览、大文件断点续传以及重复文件md5秒传。

作为优选,所述文件上传的过程如下:

(1)、web客户端前端获取文件大小;

(2)、web客户端前端想服务器端发出获取用户限额的请求;

(3)、服务器端计算大数据集群系统(hdfs集群系统)的用户限额并返回用户限额到web客户端前端,web客户端前端根据服务器端返回的用户限额的情况判断大数据集群系统的用户是否满额:

①、若是,则返回至步骤(2);

②、若否,则下一步执行步骤(4);

(4)、web客户端前端上传文件至服务器端,服务器端上传文件至大数据集群系统;

(5)、文件上传完成后,大数据集群系统更新用户限额并发送至服务器端;

(6)、大数据集群系统返回上传结束的消息到服务器端,服务器端返回上传结束的消息到web服务前端。

作为优选,所述文件下载的过程如下:

(1)、web客户端前端向服务器端发送下载文件请求;

(2)、服务器端向大数据集群系统发送下载文件请求;

(3)、大数据集群系统返回文件读写流到服务器端;

(4)、服务器端返回文件读写流到web客户端前端;

(5)、web客户端前端从大数据集群系统下载文件;

(6)、文件下载完成,大数据集群系统返回下载文件结束的消息到web客户端前端。

作为优选,所述文件分享的过程如下:

(1)、web客户端前端向服务器端发送分享文件请求;

(2)、服务器端获取分享类型和分享对象并返回分享类型到web客户端前端;

(3)、web客户端前端将请求所选分享对象发送到服务器端;

(4)、服务器端绑定分享文件和分享对象并返回分享成功的消息到web客户端前端。

作为优选,所述文件在线预览的过程如下:

(1)、服务器端通过第三方应用系统的openoffice工具,将word、excel、ppt、txt的文件转换为pdf文件;

(2)、服务器端通过swftools将pdf文件转换成swf格式的文件;

(3)、web客服端的前端通过flexpaper文档组件在web页面上进行展示。

作为优选,所述大文件断点续传的过程如下:

(1)、在准备上传文件之前,先将大文件分成相同大小的文件块并编号;

(2)、开启多个线程同时上传多个文件块到服务器端;

(3)、在发送每个文件块之前,先向服务器端查询,该文件块是否已经上传过:

①、若该文件块已经成功上传,则跳过该文件块的上传;

②、若该文件块未上传或者未完全上传,则执行步骤(4);

(4)、上传该文件块;

(5)、当web客户端上传完所有的文件块之后,通知服务器端合并所有的文件块。

其中,断点是在上传过程中,将一个要上传的文件分成了多个部分,使用多个并发线程进行多个部分的上传,当某个时间点,由于某种原因,任务被暂停,此时上传暂停的位置就是断点;此时已经成功上传的部分将会被服务器保存;续传就是当用户再次继续上传之前未完成的文件时,系统不会重新上传之前已经成功上传的部分,而是直接从之前暂停的部分开始上传。

作为优选,所述重复文件md5秒传的过程如下:

(1)、在文件上传之初,将本地文件进行hash计算,得出文件指纹;

(2)、将文件指纹数据上传到服务器端;

(3)、服务器端将文件指纹和现存的文件指纹进行比对,并返回比对结果给web客户端;

(4)、web客户端获取比对结果,并比对是否成功:

①、若比对成功,则说明服务器端已经有同样的文件存在,下一步执行步骤(5);

②、若比对不成功,则跟普通上传一样,通过http的方式,将文件上传到服务器端;

(5)、直接将文件名、文件指纹及文件标识符上传到服务器端,而服务端在接受到之后,将文件名存放在客户的名下,文件则是映射到原有文件的路径中,返回秒传成功信息。

本发明的基于hdfs的税务文件共享系统及实现方法具有以下优点:

(一)、本发明充分发挥大数据平台的优势,利用大数据和大数据安全技术,为税务部门文件安全和共享提供了技术支撑;

(二)、本发明实现了文本、图片、音乐、视频等各类文件的分布式存储,实现了文件上传、下载、移动、复制、删除、转存等网盘文件操作,实现了多种类型的文件在线预览,实现了按税务人员、税务机构、岗位、公开分享等多种文件及文件夹共享方式,实现了大文件断点续传以及实现了重复文件秒传;

(三)、本发明利用税务行业基于大数据基础平台,并在此基础上开发web访问层对外提供服务,将大数据基础平台通过服务器部署hadoop集群,实现云存储中多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问性能;数据加密采用kerberos权限验证技术保证云存储中的数据不会被未授权的用户所访问;通过多数据备份技术保证云存储中的数据不会丢失,保证云存储自身的安全和稳定;通过动态负载均衡技术将每次用户连接指派到负载最低的服务器,实现系统的高效服务;同时任何一个授权用户都可以登录到系统享受独立的网盘服务,通过web页面,用户可对文件夹进行管理,对文件进行上传、下载、分享等功能;

(四)本发明实现了安全可靠,自主可控的大数据文件存储服务,同时能够方便快捷完成文件管理操作,实现简单多样的文件共享服务,提高税局内部的文件共享效率。

附图说明

下面结合附图对本发明进一步说明。

附图1为基于hdfs的税务文件共享系统结构框图;

附图2为web客户端的结构框图;

附图3为文件上传的流程示意图;

附图4为文件下载的流程示意图;

附图5为文件分享的流程示意图。

具体实施方式

参照说明书附图和具体实施例对本发明的一种基于hdfs的税务文件共享系统及实现方法作以下详细地说明。

实施例1:

如附图1所示,本发明的基于hdfs的税务文件共享系统,其结构主要包括web客户端、第三方应用系统和服务器端。web客户端用于通过浏览器访问部署在服务器端的采用bs架构的网盘系统并通过web页面显示;如附图2所示,web客户端的功能模块包括文件管理模块、系统管理模块和分享管理模块;文件管理模块用于管理网盘系统中的文件,文件管理模块包括目录管理子模块、文件管理子模块和文件预览子模块;目录管理子模块用于管理目录文件;文件管理子模块用于管理文件;文件预览子模块用于文件的预览;系统管理模块用于设置系统参数;系统管理模块包括用户管理子模块和权限管理子模块;用户管理子模块用于设置用户参数并管理用户信息;权限管理子模块用于设置用户的权限参数并管理用户的权限;分享管理模块用于管理网盘系统中税务文件的共享;分享管理模块包括分享管理子模块、分享给网盘用户子模块以及公开分享子模块。第三方应用系统用于通过服务器端部署大数据集群系统;第三方应用系统包括大数据集群系统、集群管理模块、接口管理模块和文档转换系统;大数据集群系统用于实现云存储中多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问性能;集群管理模块用于大数据集群系统中集群的管理;接口管理模块用于大数据集群系统中集群接口的管理;文档转换系统用于将word、excel、ppt、txt的文件转换为pdf文件并将pdf文件发送到大数据集群系统中;服务器端用于部署网盘系统,并通过服务器端部署大数据集群系统;服务器端包括数据库;数据库用于存储文件管理模块、系统管理模块和分享管理模块的数据,文件管理模块、系统管理模块和分享管理模块通过dao数据访问对象访问数据库;数据库的数据加密采用kerberos权限验证技术。该系统采用java、javascript语言进行开发;bs架构采用loushang6、springmvc、spring、mybatis的框架;大数据集群系统由hdfs、hbase存储文件和逻辑目录组成;数据库采用oracle;服务器端采用tomcat或weblogic的主流中间件服务器。

实施例2:

本发明的基于hdfs的税务文件共享系统的实现方法,该实现方法具体步骤如下:

s1、将实施例1中的一种基于hdfs的税务文件共享系统通过服务器端部署hadoop集群,实现云存储中多个存储设备之间的协同工作,使多个存储设备对外提供同一服务并提供更大、更强、更好的数据访问性能;

s2、步骤s1中的基于hdfs的税务文件共享系统中的数据库采用kerberos权限验证技术,保证网盘系统中数据库不会被未授权的用户所访问;

s3、通过多数据备份技术保证网盘系统中的数据库不会丢失,保证云存储自身的安全和稳定;

s4、通过动态负载均衡技术将每次用户连接指派到负载最低的服务器端,实现高效服务;

s5、用户利用web客户端或移动客户端上的浏览器访问步骤s1中的基于hdfs的税务文件共享系统,用户将文件上传至个人网盘,对文件进行重命名、移动、复制、删除的文件操作,同时将自己的文件分享给除用户本人以外的用户,通过web页面上实现文件管理和文件分享,完成文件上传、文件下载、文件分享、文件在线预览、大文件断点续传以及重复文件md5秒传。

如附图3所示,文件上传的过程如下:

(1)、web客户端前端获取文件大小;

(2)、web客户端前端想服务器端发出获取用户限额的请求;

(3)、服务器端计算大数据集群系统(hdfs集群系统)的用户限额并返回用户限额到web客户端前端,web客户端前端根据服务器端返回的用户限额的情况判断大数据集群系统的用户是否满额:

①、若是,则返回至步骤(2);

②、若否,则下一步执行步骤(4);

(4)、web客户端前端上传文件至服务器端,服务器端上传文件至大数据集群系统;

(5)、文件上传完成后,大数据集群系统更新用户限额并发送至服务器端;

(6)、大数据集群系统返回上传结束的消息到服务器端,服务器端返回上传结束的消息到web服务前端。

如附图4所示,文件下载的过程如下:

(1)、web客户端前端向服务器端发送下载文件请求;

(2)、服务器端向大数据集群系统发送下载文件请求;

(3)、大数据集群系统返回文件读写流到服务器端;

(4)、服务器端返回文件读写流到web客户端前端;

(5)、web客户端前端从大数据集群系统下载文件;

(6)、文件下载完成,大数据集群系统返回下载文件结束的消息到web客户端前端。

如附图5所示,文件分享的过程如下:

(1)、web客户端前端向服务器端发送分享文件请求;

(2)、服务器端获取分享类型和分享对象并返回分享类型到web客户端前端;

(3)、web客户端前端将请求所选分享对象发送到服务器端;

(4)、服务器端绑定分享文件和分享对象并返回分享成功的消息到web客户端前端。

文件在线预览的过程如下:

(1)、服务器端通过第三方应用系统的openoffice工具,将word、excel、ppt、txt的文件转换为pdf文件;

(2)、服务器端通过swftools将pdf文件转换成swf格式的文件;

(3)、web客服端的前端通过flexpaper文档组件在web页面上进行展示。

大文件断点续传的过程如下:

(1)、在准备上传文件之前,先将大文件分成相同大小的文件块并编号;

(2)、开启多个线程同时上传多个文件块到服务器端;

(3)、在发送每个文件块之前,先向服务器端查询,该文件块是否已经上传过:

①、若该文件块已经成功上传,则跳过该文件块的上传;

②、若该文件块未上传或者未完全上传,则执行步骤(4);

(4)、上传该文件块;

(5)、当web客户端上传完所有的文件块之后,通知服务器端合并所有的文件块。

其中,断点是在上传过程中,将一个要上传的文件分成了多个部分,使用多个并发线程进行多个部分的上传,当某个时间点,由于某种原因,任务被暂停,此时上传暂停的位置就是断点;此时已经成功上传的部分将会被服务器保存;续传就是当用户再次继续上传之前未完成的文件时,系统不会重新上传之前已经成功上传的部分,而是直接从之前暂停的部分开始上传。

重复文件md5秒传的过程如下:

(1)、在文件上传之初,将本地文件进行hash计算,得出文件指纹;

(2)、将文件指纹数据上传到服务器端;

(3)、服务器端将文件指纹和现存的文件指纹进行比对,并返回比对结果给web客户端;

(4)、web客户端获取比对结果,并比对是否成功:

①、若比对成功,则说明服务器端已经有同样的文件存在,下一步执行步骤(5);

②、若比对不成功,则跟普通上传一样,通过http的方式,将文件上传到服务器端;

(5)、直接将文件名、文件指纹及文件标识符上传到服务器端,而服务端在接受到之后,将文件名存放在客户的名下,文件则是映射到原有文件的路径中,返回秒传成功信息。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1