一种海量数据文件高效持续受控共享分发方法及系统

文档序号:34375499发布日期:2023-06-07 22:18阅读:74来源:国知局
一种海量数据文件高效持续受控共享分发方法及系统

本发明涉及数据信息处理,尤其是涉及一种海量文件持续交换汇聚后准实时同步分发共享给多客户端的场景下如何及时发现新到的文件以及可以按照一定的设置规则过滤所需的文件给客户端发现和持续同步分发的系统及方法。


背景技术:

1、在气象水文等领域存在多种采集来源的观测数据,为了共享数据,通常由组织的特定部门收集然后分发,这些文件的文件名都是按照一定的业务规范的要求命名,包含着数据特征信息,这些文件会持续密集的到达采集服务器,到达文件的个数每小时达几百万乃至上千万的级别,同时由于使用这些数据的应用的时效性的要求,需要尽可能快的受控共享分发出去。通常采用的技术是网页段发布某一目录下对应的数据的业务含义,然后建立ftp服务器,给相应的应用客户端授权,应用端通过ftp的方式查找、挑选文件下载,或者应用客户端基于目录的全量下载应用时按照一定的文件名特征选择数据,存在时效性差、下载量大但是有效性和效率差的技术问题。如何能够及时发现需要的文件并自动同步分发到多客户端,是需要在传统的ftp技术的基础上进一步解决的技术问题。


技术实现思路

1、针对现有技术中存在的问题,本发明的目的在于提供一种海量数据文件高效持续受控共享分发方法及系统。

2、本发明包括:文件到达监控模块,以分布式监控服务的方式及时发现到达文件的相关信息,并保存到数据库中,为用户分发下载的过滤与控制提供基础信息;元数据设置模块,用于设置每一级目录下对应数据文件的元数据信息,将目录结构和每一级目录上元数据描述结合起来展示就形成了用户可以查看的数据资源目录;数据信息浏览模块,用户可以浏览数据资源目录,查找需要的数据的类别;共享权限与特征设置模块,设置要分发共享文件的客户端获取数据的权限和基于文件名称过滤的规则;数据分发客户端模块,定时查询当前用户的下载队列并给下载组件发指令持续下载相关的到达的共享文件。本发明实现了海量数据到达文件的自动的发现和受控的持续分发,管理员仅需要设置客户端的共享权限和特征即可。

3、本发明海量数据文件高效持续受控共享分发方法及系统,适用于一个数据库(包含一数据文件信息表、一用户表、一用户数据文件类别授权表、一用户数据文件请求特征表、一用户数据文件下载队列表、一监控服务配置表)以及一系列文件到达监控服务、一个数据文件分发客户端的系统,其步骤包括:

4、1)每个来源的数据文件到达一个文件服务器,文件服务器上安装有文件达到监控服务,实时监控到达的数据文件,文件达到监控服务将数据文件的元数据记录到数据文件信息表中;

5、2)将每一个文件服务器上的文件目录进行网络共享,在一台中央服务器上配置获得所有的共享目录,按照大类别聚合,形成一个包含所有文件资源的“虚拟目录”。元数据设置模块设置所述虚拟目录中每一级目录下对应数据文件的元数据信息,将目录结构和每一级目录上元数据描述结合起来展示就形成了用户可以查看的数据资源目录;

6、3)共享权限与特征设置模块根据用户表、用户数据文件类别授权表、用户数据文件请求特征表,获取每一用户可以共享分发的范围和文件名称特征;

7、4)中央服务器根据用户可共享分发的范围和文件名特征以及数据文件信息表中记录的文件信息,持续不断的向该用户的所属的用户数据文件下载队列表中添加该用户可以下载的文件信息,形成用户下载队列信息,根据用户下载队列信息形成下载指令;

8、用户安装数据分发客户端,登录后,客户端会持续从所述用户数据文件下载队列表中获取下载指令,并将对应文件下载到用户指定的位置,形成持续不断进行数据文件准实时分发的方法;

9、5)后端访问控制模块根据所述的下载队列信息,拦截该用户的可能非法下载操作,即有可能出现的超出当前用户现在权限范围内的下载指令。

10、本发明为了解决海量数据文件同步到达及时发现和高效同步共享分发的系统问题,不是在ftp下载的时候,才对文件进行过滤,也不是简单的共享特定的静态的数据文件,而是要随着文件的动态到达,能够高效的、持续的、动态的将文件共享出去。本发明可以随着文件的到达及时发现文件,存储到数据库中,建立文件的元数据信息,对文件的查找、过滤和授权在数据库中进行;文件发现时,为了提高效率,对于已经发现的文件移动到其他的已发现的目录下,这样保持目标文件下的文件数目保持最小的集合。在数据库获文件目录信息的基础上,根据用户设置的过滤特征,可以自动的为用户设置个性化的、专属的下载队列,实现对用户的精准服务。对于文件的分发共享,不需要用户通过ftp的方式人工去发现、过滤,而是在用户下载客户端中内嵌的ftp客户端功能,通过接受下载指令的方式来持续、自动、高效、受控的进行数据文件的准实时的共享下载,大大的提升了海量数据文件下分发共享的自动化水平和效率。

11、本发明的实施例的第一方面是提供文件文件到达监控服务。海量的气象水文数据文件是按照类别通过各种方法汇聚到几台物理服务器上,目录的层次代表分类的级别。可以通过网络目录映射的方式,将这些目录集中到一台服务器上做总的逻辑映射。对于海量的文件的来说,这种监控在每台物理服务器上安装文件到达监控,配置要监控的目录,通过定时循环检测或者结合操作系统对文件操作的回调函数的方式来实现对文件变化的监听。对于海量的文件的来说,这种监控的任务是繁重的,要配置多个服务,同时对已经发现的文件,从当前的监控目标目录移动到发现结果目录。当服务第一次运行或者重新启动时,需要对监控的目录做一次遍历,对目录下的文件进行记录;由于已发现的文件已经被移动到已发现结果目录下,这样的遍历会提高效率。

12、本发明的实施例的第二方面是确定用户共享分发的授权及规则。用户通过浏览数据资源目录,确定需要文件数据资源,申请资源获得数据分类权限。同时,可以在数据的某一级别上根据业务需要设置文件过滤规则,设置的规则包括文件名包含某字符串、文件名以某字符串开始、文件名以某字符串结束、文件后缀名以及上述条件的与、或的逻辑组合以及单独的正则表达式。在要获取的数据资源类别,进行资源的订阅,指定开始获取数据资源的时间。

13、本发明的实施例的第三方面是形成下载指令队列。用户订阅数据时指定的时间到达后,系统根据设置,定时检查设置共享的数据类别或者子类别是否在授权范围类别范围内,直接是授权类别或者是授权类别的子类别都可以,过滤掉不在授权范围内的类别;如果用户的类别授权有变化,当前的队列生成会停止生成。对于所述授权范围内的类别,周期性的从数据文件信息表中获取新到达的文件信息,并且校验是否符合文件名过滤规则,符合规则的加入到所述的用户数据文件下载队列表中,包括用户标识、文件的位置、文件名、扩展名、来源时间、到达时间信息记录、文件下载路径、下载状态(未下载、已下载、下载错误)、下载开始时间、下载结束时间、不成功重试次数、下载次数,形成面向每个用户的个性化的下载指令队列。

14、本发明的实施例的第四方面是形成持续不断进行数据文件准实时分发的方法。用户登录下载客户端后,设置下载文件存放目录。系统的后台会根据用户下载负荷的大小,设置多台下载ftp服务器,并监控下载负荷的大小。下载客户端周期性从服务器获取系统根据下载服务器负荷情况分配的具体的下载的服务器的地址信息、用户名、密码信息,以加密的方式传递到下载客户端,具有动态的负载均衡的能力。下载客户端从用户数据文件下载队列表周期性获取要下载的数据文件的指令,按照生成的顺序开始自动下载,记录下载的开始时间,状态为下载中;下载完成,状态为已下载。如果出现下载失败,则重试3次,均失败则记录状态为下载错误。

15、本发明的技术方案为:

16、一种海量数据文件高效持续受控共享分发方法,其步骤包括:

17、1)选取多个服务器作为接收数据的文件服务器,选取一服务器作为中央服务器;在每一所述文件服务器上部署一文件到达监控模块;在所述中央服务器上部署元数据设置模块、数据信息浏览模块、共享权限与特征设置模块、数据分发客户端模块;在所述中央服务器上设置一数据库,所述数据库包含一数据文件信息表、一用户表、一用户数据文件类别授权表、一用户数据文件请求特征表、一用户数据文件下载队列表;

18、2)所述文件服务器上的文件到达监控模块实时监控到达的数据文件,并将所述数据文件的元数据发送到所述数据文件信息表中;

19、3)将每一所述文件服务器上的文件目录进行网络共享,所述中央服务器对各共享目录进行聚合,形成一个包含所有文件资源的虚拟目录;所述元数据设置模块设置所述虚拟目录中每一级目录下对应数据文件的元数据信息,将目录结构和每一级目录上元数据描述结合形成一数据资源目录;数据信息浏览模块接收用户通过浏览所述数据资源目录所请求的文件数据资源,并将请求信息保存到所述用户数据文件请求特征表;

20、4)所述共享权限与特征设置模块根据用户表、用户数据文件类别授权表、用户数据文件请求特征表,设置每一用户的共享分发范围和过滤特征;

21、5)中央服务器根据用户对应的共享分发范围、过滤特征以及所述数据文件信息表,向该用户所属的用户数据文件下载队列表中添加该用户可下载的文件信息,形成用户下载队列信息;所述数据分发客户端模块根据用户下载队列信息形成下载指令;

22、6)该用户通过客户端接收所述下载指令,并将对应文件下载到指定位置。

23、进一步的,所述用户表中的信息包括用户id、用户姓名、所属单位、用户角色;所述用户数据文件类别授权表中的信息包括用户id、数据类别、对应文件目录;所述用户数据文件请求特征表中的信息包括用户id、数据类别id、是否正则表达式、表达式内容、表达式之间逻辑关系类型。

24、进一步的,形成所述用户下载队列信息的方法为:

25、31)所述中央服务器根据用户的标识,在所述用户数据文件类别授权表查询得到该用户被授权范围内的数据类别,根据该数据类别确定对应的共享分发范围;

26、32)根据该用户的标识,获取用户数据文件请求特征表中的过滤特征;

27、33)根据所获取的共享分发范围和过滤特征,循环递归检查设置共享的数据类别或者子类别是否在授权范围类别范围内,过滤掉不在授权范围内的数据类别;

28、34)对于所述授权范围内的数据类别,周期性的从所述数据文件信息表中获取新到达的文件信息,并且校验是否符合文件名过滤规则,将符合规则的文件信息加入到该用户的用户数据文件下载队列表中,形成该用户的所述用户下载队列信息。

29、进一步的,所述元数据包括文件名、扩展名、文件位置、文件大小、来源时间、到达时间信息、文件下载路径、所属类别。

30、进一步的,所述用户数据文件下载队列表中的信息包括用户id、文件id、下载状态、下载开始时间、下载结束时间、不成功重试次数、下载次数。

31、进一步的,所述数据库还包含一监控服务配置表;所述监控服务配置表中的信息包括监控服务id、监控配置路径。

32、进一步的,步骤6)中,用户登录客户端并设置下载文件存放目录;所述中央服务器根据下载负荷的大小设置多台ftp服务器,并监控下载负荷的大小;客户端周期性从所述中央服务器获取根据下载负荷分配更新后的ftp服务器的地址信息,获取待下载的文件。

33、一种海量数据文件高效持续受控共享分发系统,其特征在于,包括多个用于接收数据的文件服务器,一中央服务器;在每一所述文件服务器上部署一文件到达监控模块;在所述中央服务器上部署元数据设置模块、数据信息浏览模块、共享权限与特征设置模块、数据分发客户端模块;在所述中央服务器上设置一数据库,所述数据库包含一数据文件信息表、一用户表、一用户数据文件类别授权表、一用户数据文件请求特征表、一用户数据文件下载队列表;将每一所述文件服务器上的文件目录进行网络共享,所述中央服务器对各共享目录进行聚合,形成一个包含所有文件资源的虚拟目录;

34、所述文件到达监控模块,用于实时监控到达文件服务器上的数据文件,并将所述数据文件的元数据发送到所述数据文件信息表中;

35、所述元数据设置模块,用于设置所述虚拟目录中每一级目录下对应数据文件的元数据信息,将目录结构和每一级目录上元数据描述结合形成一数据资源目录;数据信息浏览模块接收用户通过浏览所述数据资源目录所请求的文件数据资源,并将请求信息保存到所述用户数据文件请求特征表;

36、所述共享权限与特征设置模块,用于根据用户表、用户数据文件类别授权表、用户数据文件请求特征表,设置每一用户的共享分发范围和过滤特征;

37、所述中央服务器根据用户对应的共享分发范围、过滤特征以及所述数据文件信息表,向该用户所属的用户数据文件下载队列表中添加该用户可下载的文件信息,形成用户下载队列信息;

38、所述数据分发客户端模块,用于根据用户下载队列信息形成下载指令。

39、一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。

40、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。

41、本发明的优点如下:

42、本发明能够帮助用户及时发现需要的文件,以及使用目录授权、允许客户端预先设置自己需要下载的文件的特征,从而实现根据到来的文件的特征准实时的高效发现和自动同步分发到多客户端。

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