文件存储系统更新下游系统的资源文件的URL的方法及装置与流程

文档序号:14860221发布日期:2018-07-04 06:45阅读:157来源:国知局
文件存储系统更新下游系统的资源文件的URL的方法及装置与流程

本发明涉及计算机网络及计算机软件领域,具体涉及一种文件存储系统更新下游系统的资源文件的url的方法及装置。



背景技术:

随着大型互联网架构系统的发展,文件存储系统受到了大家的青睐。在项目开发中,通常将文件的上传下载工作统一依赖到公用的文件存储系统,而下游系统只需在本地存储目标资源文件的url地址即可。这种方式虽然减少了开发人员对文件存储操作的开发,而且提升了开发效率,但是加重了系统之间的耦合度,即当文件存储系统发生变化时可能会影响到部分依赖其的下游系统,从而造成数据不一致等问题。

针对上述问题,现有技术中存在两种技术方案:

1、基于人工方式

当文件存储系统中资源文件的url地址发生变化时,人工通知下游系统进行数据清洗。

2、基于发布订阅的方式

下游系统首先向文件存储系统进行注册,当有文件存储系统中的文件资源url发生变更时,自动更新已注册的所有下游系统所用到的url。这种方式提升了数据更新的及时性。

然而,上述现有技术仍然存在以下技术问题:

1、由于人工方式效率低下,可能存在遗漏的情况造成脏数据。

2、基于发布订阅的方式,当有一个url发生变更时,同时向所有已注册的下游系统发送更新请求,但是,当url或者下游系统过多时会造成高并发,从而加重文件存储系统和下游系统的负担。

3、不能够选择性的清洗数据(一些不会被使用的脏数据即使不被更新也不会有影响),造成了不必要的开销。



技术实现要素:

有鉴于此,本发明的目的在于提供一种文件存储系统更新下游系统的资源文件的url的方法及装置,以解决现有技术中存在的上述问题。

本发明的技术方案在于提供一种文件存储系统更新下游系统的资源文件的url的方法,其中,所述下游系统在初始化时向所述文件存储系统的注册中心注册,注册内容包括所述下游系统的标识和令牌,所述方法包括:

接收所述下游系统对资源文件的请求,所述请求包括所述资源文件的url;

判断所述url是否是调用所述资源文件的当前url,若是,则向所述下游系统返回所述资源文件;

如果所述url不是调用所述资源文件的当前url,则从所述注册中心获取所述下游系统的令牌,若得到所述令牌,则利用所述令牌调用所述文件存储系统的url查询接口,并且根据预定的转换关系确定所述当前url,将所述下游系统记录的所述url更新为所述当前url。

可选地,所述注册内容保存在注册表中,所述下游系统的标识包括所述下游系统的域名,所述下游系统的令牌为所述标识加密后得到的字符串。

可选地,根据预定的转换关系确定所述当前url包括根据所述预设映射关系确定所接收的url对应的当前url。

可选地,根据预定的转换关系确定所述当前url包括根据所述资源文件的新旧url的对应关系表确定所述资源文件的当前url。

可选地,根据所述对应关系表确定所述资源文件的当前url还包括:利用负载均衡器并结合分片查询策略以及性能均衡策略对所述对应关系表进行查找,以确定所述资源文件的当前url。

本发明还提供一种文件存储系统更新下游系统的调用资源文件的url的装置,其中,所述下游系统在初始化时向所述文件存储系统的注册中心注册,注册内容包括所述下游系统的标识和令牌,所述装置包括:

请求接收模块,用于接收所述下游系统对资源文件的请求,所述请求包括所述资源文件的url;

地址判断模块,用于判断所述url是否是调用所述资源文件的当前url,若是,则向所述下游系统返回所述资源文件;

地址更新模块,用于如果所述url不是调用所述资源文件的当前url,则从所述注册中心获取所述下游系统的令牌,若得到所述令牌,则利用所述令牌调用所述文件存储系统的url查询接口,并且根据预定的转换关系确定所述当前url,将所述下游系统记录的所述url更新为所述当前url。

可选地,所述注册内容保存在注册表中,所述下游系统的标识包括所述下游系统的域名,所述下游系统的令牌为所述标识加密后得到的字符串。

可选地,所述地址更新模块还用于:根据所述预设映射关系确定所接收的url对应的当前url。

可选地,所述地址更新模块还用于:根据所述资源文件的新旧url的对应关系表确定所述资源文件的当前url。

可选地,所述地址更新模块还用于:利用负载均衡器并结合分片查询策略以及性能均衡策略对所述对应关系表进行查找,以确定所述资源文件的当前url。

通过本发明提供的文件存储系统更新下游系统的资源文件的url的方法及装置,能够在保证对下游系统中的脏数据进行数据清洗的基础上,有效提高了下游系统对文件存储系统资源调用的命中率。同时,本发明有效降低了url更新的即时性,避免了对url更新而产生的高并发问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明一实施例的文件存储系统更新下游系统的调用资源文件的url的方法的流程示意图;

图2为本发明一实施例的文件存储系统更新下游系统的调用资源文件的url的装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

在本文中,需要理解的是,所涉及的术语中:

下游系统:系统调用文件存储系统的接口,将资源文件上传,这种与文件存储系统存在依赖关系的系统为下游系统。

数据清洗:当主数据发生修改时,系统仍存在使用旧数据的地方,这种旧数据称为脏数据,将脏数据更新为有效数据的过程称为数据清洗。

示例性方法

下面参考图1对本发明示例性实施方式的文件存储系统更新下游系统的调用资源文件的url的方法进行介绍。

如图1所示,为本发明一实施方式的文件存储系统更新下游系统的调用资源文件的url的方法的流程图,该方法可以包括:

步骤s101:接收所述下游系统对资源文件的请求,所述请求包括所述资源文件的url;

步骤s102:判断所述url是否是调用所述资源文件的当前url,若是,则向所述下游系统返回所述资源文件;

步骤s103:如果所述url不是调用所述资源文件的当前url,则从所述注册中心获取所述下游系统的令牌,若得到所述令牌,则利用所述令牌调用所述文件存储系统的url查询接口,并且根据预定的转换关系确定所述当前url,将所述下游系统记录的所述url更新为所述当前url。

可选地,所述注册内容保存在注册表中,所述下游系统的标识包括所述下游系统的域名,所述下游系统的令牌为所述标识加密后得到的字符串。

可选地,根据预定的转换关系确定所述当前url包括根据所述预设映射关系确定所接收的url对应的当前url。

可选地,根据预定的转换关系确定所述当前url包括根据所述资源文件的新旧url的对应关系表确定所述资源文件的当前url。

可选地,根据所述对应关系表确定所述资源文件的当前url还包括:利用负载均衡器并结合分片查询策略以及性能均衡策略对所述对应关系表进行查找,以确定所述资源文件的当前url。

实施例

下面结合一个具体实施例对本发明进行具体描述,然而值得注意的是该具体实施例仅是为了更好地描述本发明,并不构成对本发明的不当限定。

首先,下游系统在初始化时需要向上游的文件存储系统的注册中心中进行注册。注册内容包括该下游系统的标识和在该下游系统中存储的一个令牌。该文件存储系统会为该下游系统开放一个更改下游系统中的资源文件的url的查询接口,该文件存储系统只有允许持有这个令牌的下游系统去调用该文件存储系统的该接口以查询该下游系统中的资源文件的url对应该文件存储系统中的资源文件url,这里的设计主要考虑一个安全问题,防止对文件存储系统进行恶意调用造成的安全问题。

在本发明一实施例中,注册内容保存在注册表中,并且该下游系统的标识包括该下游系统的域名,该下游系统的令牌为该标识加密后得到的字符串。

当该下游系统需要使用任一资源文件时,需要使用本地的url请求存储于该文件存储系统的对应资源文件。该文件存储系统会接收该下游系统对该资源文件的请求,其中该请求包括该资源文件的url。然后,判断该url是否是调用该资源文件的当前url,若是,则向该下游系统返回该资源文件。另外,在本发明一实施例中,根据该url还可以判断该资源文件是否有新版本,如果有新版本的该资源文件,则将新版本的该资源文件返回至该下游系统。

然而,如果该url不是调用该资源文件的当前url,则该下游系统从该注册中心获取该下游系统的令牌,在得到该令牌之后,利用该令牌调用文件存储系统的url查询接口,并且根据预定的转换关系确定该当前url。

在本发明一实施例中,根据预定的转换关系确定该当前url包括根据该预设映射关系确定所接收的url对应的当前url。

具体来说,如果该资源文件的新旧url存在对应的映射关系,那么就可以根据该映射关系确定该资源文件的当前url。

例如,资源文件(例如,图片文件)原本都存储在服务器a上,并且服务器a的ip地址为a’,那么该资源文件在该下游系统的url为a/abc.jpg。

当前若服务器a发生故障,需要将服务器a上的全部资源文件转移到服务器b中,其中,服务器b的ip地址为b’,那么需要将该下游系统的旧url更新为b’/abc.jpg就能调用该文件存储系统中的该资源文件。

换句话说,对于所有的旧url都存在这种将a’转换成b’的规律,那么只需建立该映射关系就可以将旧url的a’部分替换为b’即可。

另外,对于该预设映射关系还存在以下一种情况,那就是根据预定的转换关系确定该当前url包括根据该资源文件的新旧url的对应关系表确定该资源文件的当前url。

在本发明一实施例中,为了提高对对应关系表的查询效率,本发明还利用负载均衡器并结合分片查询策略以及性能均衡策略对该对应关系表进行查找,以确定所述资源文件的当前url。

具体来说,首先对该对应关系表进行分片,然后由不同的url查找服务对应不同的分片进行查找。由于对该对应关系表的分片是不均匀的,并且各个url查找服务是并行执行的,因此该负载均衡器采取性能均衡策略,不仅记录每个查找服务的当前性能,并且会将大分片分配给当前性能良好的服务,将小分片分配给当前性能较差的服务。当查找到新url时,通知其他服务停止查找,并返回这个新的url。

最后,该下游系统会根据确定的该当前url将本地保存的该url更新为当前url,并且该下游系统使用新url请求文件存储系统就能够获取到对应的资源文件。

图2为本发明一实施例的文件存储系统更新下游系统的调用资源文件的url的装置的结构示意图,其中,所述下游系统在初始化时向所述文件存储系统的注册中心注册,注册内容包括所述下游系统的标识和令牌,所述装置包括:

请求接收模块21,用于接收所述下游系统对资源文件的请求,所述请求包括所述资源文件的url;

地址判断模块22,用于判断所述url是否是调用所述资源文件的当前url,若是,则向所述下游系统返回所述资源文件;

地址更新模块23,用于如果所述url不是调用所述资源文件的当前url,则从所述注册中心获取所述下游系统的令牌,若得到所述令牌,则利用所述令牌调用所述文件存储系统的url查询接口,并且根据预定的转换关系确定所述当前url,将所述下游系统记录的所述url更新为所述当前url。

可选地,所述注册内容保存在注册表中,所述下游系统的标识包括所述下游系统的域名,所述下游系统的令牌为所述标识加密后得到的字符串。

可选地,所述地址更新模块23还用于:根据所述预设映射关系确定所接收的url对应的当前url。

可选地,所述地址更新模块23还用于:根据所述资源文件的新旧url的对应关系表确定所述资源文件的当前url。

可选地,所述地址更新模块23还用于:利用负载均衡器并结合分片查询策略以及性能均衡策略对所述对应关系表进行查找,以确定所述资源文件的当前url。

由于本发明提供的文件存储系统更新下游系统的调用资源文件的url的装置是上述方法对应的装置,故在此不再赘述。

通过本发明提供的文件存储系统更新下游系统的资源文件的url的方法及装置,能够在保证对下游系统中的脏数据进行数据清洗的基础上,有效提高了下游系统对文件存储系统资源调用的命中率。同时,本发明有效降低了url更新的即时性,避免了对url更新而产生的高并发问题。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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