摘 要:如今已经进入信息大数据的时代,生活与信息的联系日益紧密,人们对信息的分享和传播速率有了更高的要求。为了高效利用信息以及快速掌握所需信息,需建立一个智能的安全文件共享系统。为了提升工作效率以及节省成本,本文借助于Python语言,设计了一个分布式文件共享系统。
关键词:Python语言;分布式文件;智能自动化;系统构建
中图分类号:TP311.52 文献标识码:A 文章编号:2096-4706(2018)11-0023-03
Design and Analysis of Distributed Shared System in Python Language
XIONG Hui
(Sichuan Vocational and Technical College,Suining 629000,China)
Abstract:Now we have entered the era of information big data,life and information are increasingly closely linked,people have higher requirements for information sharing and dissemination rate. In order to make efficient use of information and quickly grasp the required information,it is necessary to establish an intelligent and file sharing system. In order to improve work efficiency and save cost,this paper designs a distributed file sharing system with the help of Python language.
Keywords:Python language;distributed file;intelligent automation;system construction
0 引 言
2018年已经进入大数据时代,信息利用越来越受到各界的重视。信息的分享、传播速度的提高可以提升工作速率,并降低人们的工作成本。[1]借助于Python语言提升信息利用率,设计分布式系统,建立一个文件共享的平台必不可少。这也是人们在进行交流与协作时不可或缺的重要途径。[2,3]在大数据时代,人们的生活、思维方式已经离不开大数据,用大数据解决问题是常用的手段之一。[2-5]在信息化的今天,人们的工作和学习也离不开信息的交互与传递。单位OA系统、微信、QQ及电子信箱等通讯工具是日常传递、接收文件信息的主要信息化方式;FTP技术和云空间等技术则在信息共享方面带来更大的便利;U盘等硬件的拷贝分享也仍然有很强的适用性,尤其在保密性质文件的传递与接收上,其能够脱网分享,更有利于确保文件的完整性与安全性。[6,7]本文所研究的基于Python语言设计的分布式文件共享系统能够有效补充上述多种方式,利用该语言,结合大数据技术,能够将共享系统与数据处理相结合[2,5]。该系统内的所有团队成员既是数据发布者,又是数据接收者,各成员可将需要分享的数据添加到系统的共享环境内,当有其他成员需要相关内容时,只需要通过关键词或内容主题词搜索就可以快捷地实现内容的查找和获得。[8]
1 分布式文件共享系统的设计思路
当局域网内含有多台服务器,而多台服务器含有共享文件,又分布于不同的服务器时,就会增加管理难度以及降低用户的体验效果,而分布式文件系统可以解决这一难题,它可通过管理不同的服务器,将文件集中管理,共建一个目录体系。对于使用者来说,所有文件在一个地方,并且只需访问一个目录,即可查找到所需文件夹,并不需要掌握文件的实际物理位置。需要指出的是,文件分布于加入该文件共享环境中的各台独立的计算机,而不是所有可检索的共享文件存在于一个固定的服务器。
共享系统中的全部用户既能从数据中获得所需信息,又能分享有价值的信息。为达到此目的,可采用如下思路进行设计:(1)对系统中的全部用户进行接入、身份、权限等设置,并为其设置对应的共享文件夹,再由系统向共享环境内的其他成员自动分享文件夹,达到对文件夹内容进行共享的目的;(2)共享环境中的用户可从搜索入口检索该信息环境覆盖下的全部计算机共享文件夹,准确高速地定位信息,快速掌握所需信息。
分布式文件共享实现了没有集中控制的部分,是一个分散的分布式网络,并且各节点间的链接交流是多样化的,如松散的联接、广播通知式联接、动态的联接和紧密的联接等。
1.1 分布式文件共享系统的独立计算机
用于分布式文件共享系统的独立计算机应先安装客户端软件,目的是实现以下功能:(1)建立的共享系统能够对共享文件夹中的目录结构进行快速查询。要为用户开通可在共享文件夹中设置计算机的权限,确保客户端能够对共享文件夹中的目录结构进行自动扫描,再将扫描到的信息状态向用户计算机进行反馈,以达到实时更新共享文件夹的目的;(2)在建立的共享系统中,用户文件夹的共享方式如下。客户端可以将共享文件夹以HTTP协议的形式进行信息的展示和交流共享,实现信息文件的共享,方便所需用户的使用。HTTP协议的服务平台搭建简单且安全。仅需配有浏览器,在运行环境跨平台时,无需下载软件支持即可完成。
这样当用户访问此共享文件夹时,就开始定向到包含共享文件网络的位置,而用户只要了解自己所需文件目录就可以完成共享和访问共享资源。
1.2 搜索计算机的配置
共享系统的服务器端是为了方便对各个客户端共享文件的收集,方便服务器端的保存和分类,为用户检索提供快速、便捷和高效的文件搜索入口,实现文件共享的利用高效化。当用户在共享目录中输入所需信息的关键词时,搜索入口能进行快速检索,得出反馈结果,储存在指定地址和下载的文件系统中。
共享系统的主要优势是不必专门配置专属服务器,在特定的局域网中,不需要再配置专用服务器,系统中共享的庞大数据就能够满足各个子系统及成员的数据需求。用户对自身所拥有的信息进行分析,将可共享的信息向系统中传递,设置为可共享,供他人自主获取所需信息,同时用户还能够保留原版信息文件,确保本人拥有对上传后的共享文件的更新权,使系统中的信息能够与自身计算机中的信息保持同步更新,而且Python语法简洁清晰,是纯粹的自由软件。从现实的角度看共享服务器,其大幅度地提升了工作效率,降低了工作成本,从而使生活更加便捷和高效。
2 分布式文件共享系统主要功能的实现
在上述分析中,论述了系统设计思路,主要讨论研究了文件共享系统的主要功能模块的实现。围绕信息的收集,采用Python语言,创建HTTP服务器,以及从信息的发送与接收、搜索引擎核心功能的架构等方面展开设计,分层式处理使每一层都有自己的数据库。Python语言是具有可解释性,能够为跨平台对象提供服务,支持网络服务,具有动态语义的一种高级程序,也是分布式文件共享系统设计中适用性很高的一种语言程序。
2.1 全面扫查指定目录,从中获取所需文件或文件夹
客户端软件能够让用户对共享文件夹的目录结构进行全面扫查,实现共享目录中的信息收集和检索分类,利用客户端将收集来的信息保存为特定的文件,并且当所收集的文件出现改动或新增减的情况时,对此文件进行重新检索和分类收集,重新定义文件内容,做到及时更新,让用户的体验感升级,让用户使用的数据更精确和科学。
2.1.1 目录全面扫查与目录信息保存的实现
Python语言为用户提供了一个getfilelist函数,能够帮助用户实现全面扫查目录的目的。设计好函数语言后,即可开始全面扫查共享目录中覆盖的全部文件和文件夹,并对目录结构按照具体检索内容在指定文件中进行分类存储。在存储过程中,可将本机对应的IP地址设置为文件名,为服务器端的自动辨识提供便利,使用getfilelist函数遍历指定目录,收集目录信息,可以做到更有条理、更快速、更准确。
可以用于getfilelist函数遍历指定目录,当运用Creat File函数生成索引文件时,可传入用户设置的共享目录中,并且生成以自身IP地址为名的共享文件,最终上传到服务器。在运用函数生成的目录检索时,可以将共享文件转化为URL的形式,这样就更方便于用户的检索和下载。
2.1.2 目录变化
注意目录的变化,当共享文件出现增删等改动情况时,此类文件就需要进行再次检索和分类收集,相应程序就要重新定义文件内容,及时更新,形成新的共享文件目录,方便了信息的更新并且提高了用户接触信息的准确性、科学性。
2.2 创建HTTPServer目录
创建目录的同时,采用Web形式对指定目录提供共享服务,在系统中,各计算机均属于信息分享独立的服务器,从而采用比较方便的HTTP超文本传输协议。
利用Python语言建立HTTP服务,可将服务器设置在客户端中,再将用户共享的所有文件夹放置在该范围内,以便于其他用户在HTTP协议框架下方便地使用并下载所需的共享文件。
2.3 使用共享目录结构
加入分布式共享的计算机会在共享系统客户端程序自动检索引用共享目录,共享文件夹与文件可以生成一个索引文件,发送到服务器端,这样能够使检索方便、快捷。
运用Python语言传输文件需分成两部分实现,一部分工作由存储分布式文件共享的客户端完成,客户端需要将指定共享文件发送至服务器端;另一部分工作则由搜索服务器完成,负责接收文件,再把文件储存在指定位置。
2.3.1 客户端
设计客户端时需要考虑如下因素:发送文件对象、发送文件内容、发送文件方式。服务器端发送文件的函数为sendfile。每次目录索引函数生成后,该函数就会被调用,以确保服务器端能够准确、实时和动态地接收目录索引文件。
2.3.2 服务器端
服务器端的实现需要实时观察监测指定端口,在客户端发出文件搜索信息时,便可快速触发相应功能,对所需文件进行准确、快速地接收和传递,以实现分布式文件共享系统的运用。
2.4 实现分布式文件共享检索
建立主服务器搜索引擎,向服务器提供共享目录索引文件,再由服务器显示搜索反馈。利用Python的文本处理功能,加入分布式共享系统的计算机只需要在浏览器中输入关键词,搜索关键字传入Python后,会由服务器从各用户机共享的索引目录中检查包含索引目录的有效文件,发现符合搜索条件的结果时,服务器会自动显示。
3 结 论
综上,采用Python语言实现了分布式文件共享系统的设计。所有用户各自安装一个系统客户端即可分享文件,而使用者可以利用搜索功能进行文件的接收和下载。信息的相互传递与接收加速了信息的发展,大大提高了工作效率,也极大地节约了成本。该系统比以往的OA系统、QQ、邮箱、微信等通讯工具和云空间、FTP站点、U盘等信息交流工具更直观、安全和快捷。但是当前共享系统只能通过文件名的检索来搜索,还不够完善,因此,我们应继续对其进行应用的研究和扩展,使之适应社会的发展,满足人民日益增加的信息需求。
参考文献:
[1] 朱亚林.基于Python的分布式文件共享系统的实现 [J].智能计算机与应用,2015,5(4):26-29.
[2] 杨阳.分布式数控系统文件共享技术的研究与实现 [D].沈阳:中国科学院研究生院(沈阳计算技术研究所),2015.
[3] 谢廷俊.学校分布式文件共享系统的设计与实现 [J].电脑编程技巧与维护,2015(5):17-18+21.
[4] 肖旻,陈行.基于Python语言编程特点及应用之探讨 [J].电脑知识与技术,2014,10(34):8177-8178.
[5] 杨红星.云平台跨域分布式共享文件系统的设计与实现 [D].杭州:浙江大学,2015.
[6] 狄博,王晓丹.基于Python语言的面向对象程序设计课程教学 [J].计算机工程与科学,2014,36(S1):122-125.
[7] 齐鹏,李隐峰,宋玉伟.基于Python的Web数据采集技术 [J].电子科技,2012,25(11):118-120.
[8] 向锋. 一种基于P2P的分布式文件共享系统的设计与实现 [D].成都:电子科技大学,2010.
作者简介:熊辉(1981.12-),女,汉族,四川遂宁人,硕士研究生,讲师。研究方向:计算机软件(软件开发与数据库技术)。