资源配置与回收方法和资源配置与回收系统的制作方法

文档序号:7822256阅读:199来源:国知局
资源配置与回收方法和资源配置与回收系统的制作方法
【专利摘要】本发明提出了一种资源配置与回收方法和一种资源配置与回收系统,其中,资源配置与回收方法包括:根据接收到的更新命令,更新服务端的配置信息;将获取的更新后的配置信息同步更新到所有访问服务端的客户端;其中,服务端、客户端和数据库使用同一套底层代码,以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。通过本发明的技术方案,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置和进行连接的自动回收,提升维护与整合系统的效率。
【专利说明】资源配置与回收方法和资源配置与回收系统

【技术领域】
[0001]本发明涉及终端【技术领域】,具体而言,涉及一种资源配置与回收方法和一种资源配置与回收系统。

【背景技术】
[0002]一般的信息系统都具有大量的配置文件,以及重复冗余的数据库和重复冗余的缓存。比如,一般系统都分开发、测试、生产等几个环境,不同的环境对应不同的配置文件,而一般系统都会有几个子系统,每个子系统都有自己的数据库和缓存的实现方式,而且,各个子系统的数据库和缓存的实现方式基本都不相同,这就造成对各系统的维护和整合变得十分麻烦。
[0003]因此需要一种新的技术方案,可以便捷地进行资源配置和进行连接的回收,提升维护与整合系统的效率。


【发明内容】

[0004]本发明正是基于上述问题,提出了一种新的技术方案,可以便捷地进行资源配置和进行连接的回收,提升维护与整合系统的效率。
[0005]有鉴于此,本发明的一方面提出了一种资源配置与回收方法,包括:根据接收到的更新命令,更新服务端的配置信息;将获取的更新后的所述配置信息同步更新到所有访问所述服务端的客户端;其中,所述服务端、所述客户端和所述数据库使用同一套底层代码,以及所述客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。
[0006]在该技术方案中,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置,提升维护与整合系统的效率,实现了配置集中化管理。另外,服务端、客户端和数据库使用同一套底层代码,可以使得在进行配置更改时十分方便,减小了出错几率。以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面,从而完成资源的自动回收,提升回收效率。
[0007]在上述技术方案中,优选地,在所述将更新后的所述配置信息同步更新到所有访问所述服务端的客户端之前,还包括:对所述服务端的所述配置信息进行监听,以供检测所述服务端的所述配置信息是否发生更新。
[0008]在该技术方案中,可以使用预设的监听机制对服务端的配置信息进行实时监听,以便及时检测到更新的配置信息,从而便于进一步将更新后的配置信息同步到访问本服务器的各个客户端。
[0009]在上述技术方案中,优选地,所述配置信息包括数据库配置地址和/或缓存配置地址。
[0010]在该技术方案中,配置信息为数据库配置地址和/或缓存配置地址,当然,也可以是根据需要除此之外的其他配置信息。
[0011]在上述技术方案中,优选地,还包括:在将所述配置信息同步更新到所有访问所述服务端的所述客户端的同时,根据更新后的所述数据库配置地址和/或所述缓存配置地址,为所述服务端确定新的数据库和/或缓存池。
[0012]在该技术方案中,在为客户端更新数据库配置地址和/或缓存配置地址之后,可以根据更新后的数据库配置地址和/或缓存配置地址进行寻址,以为该服务端配置与更新后的数据库配置地址和/或缓存配置地址对应的数据库和/或缓存池。
[0013]在上述技术方案中,优选地,还包括:在所述确定新的数据库和/或缓存池之后,根据新的所述数据库和/或新的所述缓存池自动释放的连接,连接所述服务端与新的所述数据库和/或新的所述缓存池。
[0014]在该技术方案中,数据库和/或缓存池可以主动获取和自动释放连接,以便方便快捷地连接至目标服务端,从而大大提升了资源配置的效率。其中,所有的配置约束管理、所有数据库、所有缓存池都使用同一套底层代码,以减少代码冗余,便于系统的维护和升级。
[0015]本发明的另一方面提出了一种资源配置与回收系统,包括:更新单元,根据接收到的更新命令,更新服务端的配置信息;同步更新单元,将获取的更新后的所述配置信息同步更新到所有访问所述服务端的客户端;其中,所述服务端、所述客户端和所述数据库使用同一套底层代码,以及所述客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。
[0016]在该技术方案中,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置,提升维护与整合系统的效率,实现了配置集中化管理。另外,服务端、客户端和数据库使用同一套底层代码,可以使得在进行配置更改时十分方便,减小了出错几率。以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面,从而完成资源的自动回收,提升回收效率。
[0017]在上述技术方案中,优选地,还包括:监听单元,在所述将更新后的所述配置信息同步更新到所有访问所述服务端的客户端之前,对所述服务端的所述配置信息进行监听,以供检测所述服务端的所述配置信息是否发生更新。
[0018]在该技术方案中,可以使用预设的监听机制对服务端的配置信息进行实时监听,以便及时检测到更新的配置信息,从而便于进一步将更新后的配置信息同步到访问本服务器的各个客户端。
[0019]在上述技术方案中,优选地,所述配置信息包括数据库配置地址和/或缓存配置地址。
[0020]在该技术方案中,配置信息为数据库配置地址和/或缓存配置地址,当然,也可以是根据需要除此之外的其他配置信息。
[0021]在上述技术方案中,优选地,还包括:确定单元,在将所述配置信息同步更新到所有访问所述服务端的所述客户端的同时,根据更新后的所述数据库配置地址和/或所述缓存配置地址,为所述服务端确定新的数据库和/或缓存池。
[0022]在该技术方案中,在为客户端更新数据库配置地址和/或缓存配置地址之后,可以根据更新后的数据库配置地址和/或缓存配置地址进行寻址,以为该服务端配置与更新后的数据库配置地址和/或缓存配置地址对应的数据库和/或缓存池。
[0023]在上述技术方案中,优选地,还包括:连接单元,在所述确定新的数据库和/或缓存池之后,根据新的所述数据库和/或新的所述缓存池自动释放的连接,连接所述服务端与新的所述数据库和/或新的所述缓存池。
[0024]在该技术方案中,数据库和/或缓存池可以主动获取和自动释放连接,以便方便快捷地连接至目标服务端,从而大大提升了资源配置的效率。其中,所有的配置约束管理、所有数据库、所有缓存池都使用同一套底层代码,以减少代码冗余,便于系统的维护和升级。
[0025]通过以上技术方案,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置,提升维护与整合系统的效率,实现了配置集中化管理。另外,服务端、客户端和数据库使用同一套底层代码,可以使得在进行配置更改时十分方便,减小了出错几率。以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面,从而完成资源的自动回收,提升回收效率。

【专利附图】

【附图说明】
[0026]图1示出了根据本发明的一个实施例的资源配置与回收方法的流程图;
[0027]图2示出了根据本发明的一个实施例的资源配置与回收系统的框图。

【具体实施方式】
[0028]为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0029]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0030]图1示出了根据本发明的一个实施例的资源配置与回收方法的流程图。
[0031]如图1所示,根据本发明的一个实施例的资源配置与回收方法,包括:
[0032]步骤102,根据接收到的更新命令,更新服务端的配置信息。
[0033]步骤104,将获取的更新后的所述配置信息同步更新到所有访问所述服务端的客户端;其中,所述服务端、所述客户端和所述数据库使用同一套底层代码,以及所述客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。
[0034]在该技术方案中,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置,提升维护与整合系统的效率,实现了配置集中化管理。另外,服务端、客户端和数据库使用同一套底层代码,可以使得在进行配置更改时十分方便,减小了出错几率。以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面,从而完成资源的自动回收,提升回收效率。
[0035]在上述技术方案中,优选地,在步骤104之前,还包括:对所述服务端的所述配置信息进行监听,以供检测所述服务端的所述配置信息是否发生更新。
[0036]在该技术方案中,可以使用预设的监听机制对服务端的配置信息进行实时监听,以便及时检测到更新的配置信息,从而便于进一步将更新后的配置信息同步到访问本服务器的各个客户端。
[0037]在上述技术方案中,优选地,所述配置信息包括数据库配置地址和/或缓存配置地址。
[0038]在该技术方案中,配置信息为数据库配置地址和/或缓存配置地址,当然,也可以是根据需要除此之外的其他配置信息。
[0039]在上述技术方案中,优选地,还包括:在将所述配置信息同步更新到所有访问所述服务端的所述客户端的同时,根据更新后的所述数据库配置地址和/或所述缓存配置地址,为所述服务端确定新的数据库和/或缓存池。
[0040]在该技术方案中,在为客户端更新数据库配置地址和/或缓存配置地址之后,可以根据更新后的数据库配置地址和/或缓存配置地址进行寻址,以为该服务端配置与更新后的数据库配置地址和/或缓存配置地址对应的数据库和/或缓存池。
[0041]在上述技术方案中,优选地,还包括:在所述确定新的数据库和/或缓存池之后,根据新的所述数据库和/或新的所述缓存池自动释放的连接,连接所述服务端与新的所述数据库和/或新的所述缓存池。
[0042]在该技术方案中,数据库和/或缓存池可以主动获取和自动释放连接,以便方便快捷地连接至目标服务端,从而大大提升了资源配置的效率。其中,所有的配置约束管理、所有数据库、所有缓存池都使用同一套底层代码,以减少代码冗余,便于系统的维护和升级。
[0043]图2示出了根据本发明的一个实施例的资源配置与回收系统的框图。
[0044]如图2所示,根据本发明的一个实施例的资源配置与回收系统200,包括:更新单元202,根据接收到的更新命令,更新服务端的配置信息;同步更新单元204,将获取的更新后的所述配置信息同步更新到所有访问所述服务端的客户端;其中,所述服务端、所述客户端和所述数据库使用同一套底层代码,以及所述客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。
[0045]在该技术方案中,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置,提升维护与整合系统的效率,实现了配置集中化管理。另外,服务端、客户端和数据库使用同一套底层代码,可以使得在进行配置更改时十分方便,减小了出错几率。以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面,从而完成资源的自动回收,提升回收效率。
[0046]在上述技术方案中,优选地,还包括:监听单元206,在所述将更新后的所述配置信息同步更新到所有访问所述服务端的客户端之前,对所述服务端的所述配置信息进行监听,以供检测所述服务端的所述配置信息是否发生更新。
[0047]在该技术方案中,可以使用预设的监听机制对服务端的配置信息进行实时监听,以便及时检测到更新的配置信息,从而便于进一步将更新后的配置信息同步到访问本服务器的各个客户端。
[0048]在上述技术方案中,优选地,所述配置信息包括数据库配置地址和/或缓存配置地址。
[0049]在该技术方案中,配置信息为数据库配置地址和/或缓存配置地址,当然,也可以是根据需要除此之外的其他配置信息。
[0050]在上述技术方案中,优选地,还包括:确定单元208,在将所述配置信息同步更新到所有访问所述服务端的所述客户端的同时,根据更新后的所述数据库配置地址和/或所述缓存配置地址,为所述服务端确定新的数据库和/或缓存池。
[0051 ] 在该技术方案中,在为客户端更新数据库配置地址和/或缓存配置地址之后,可以根据更新后的数据库配置地址和/或缓存配置地址进行寻址,以为该服务端配置与更新后的数据库配置地址和/或缓存配置地址对应的数据库和/或缓存池。
[0052]在上述技术方案中,优选地,还包括:连接单元210,在所述确定新的数据库和/或缓存池之后,根据新的所述数据库和/或新的所述缓存池自动释放的连接,连接所述服务端与新的所述数据库和/或新的所述缓存池。
[0053]在该技术方案中,数据库和/或缓存池可以主动获取和自动释放连接,以便方便快捷地连接至目标服务端,从而大大提升了资源配置的效率。其中,所有的配置约束管理、所有数据库、所有缓存池都使用同一套底层代码,以减少代码冗余,便于系统的维护和升级。
[0054]本发明的技术方案是基于Zookeeper技术来实现配置管理,并基于Zookeeper的watch (监听)机制保证系统能及时地变更当前配置,同时还涉及了 Commons pool (数据库连接池)技术,更是基于继承和封装完成JDBC(Java Data Base Connectvity,Java数据库连接)层面连接的自动获取和关闭。在本发明的技术方案中,使用了本封装常用增删改查方法和Jedis pool技术,并基于Threadlocal (多线程程序)实现来连接的获取、闭包回调或者PO面向切面完成资源的自动回收,以及还可以在通过基于Zookeeper的watch机制获取最新的配置信息后,初始化对应的数据库或者缓存池。
[0055]通过上述技术方案,可以取得以下技术效果:
[0056](I)配置修改不需要启动应用即可生效;
[0057](2)数据库以连接池提供服务,并提供获取和自动释放连接的方法;
[0058](3)数据库操作提供公共的增删改查方法以供其他应用调用;
[0059](4)缓存以池的方式提供服务,并提供获取和自动释放连接的方法;
[0060](5)数据库、缓存配置地址修改后,应用可以更换对应的数据库和缓存服务。
[0061]另外,在该技术方案中,所有的配置约束管理、所有数据库、所有缓存池都使用同一套底层代码,以减少代码冗余,便于系统的维护和升级。本发明已经成功应用于搜狐plus、搜狐白社会、搜狐passport、搜狐博客、畅捷通工作圈等应用。
[0062]以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以将服务端更新的配置信息自动同步更新到访问该服务端的每个客户端,使对系统的配置修改可以立即生效,而不必再对每个客户端的相关配置信息逐个更新,从而可以便捷地进行资源配置,提升维护与整合系统的效率,实现了配置集中化管理。另外,服务端、客户端和数据库使用同一套底层代码,可以使得在进行配置更改时十分方便,减小了出错几率。以及客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面,从而完成资源的自动回收,提升回收效率。
[0063]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种资源配置与回收方法,其特征在于,包括: 根据接收到的更新命令,更新服务端的配置信息; 将获取的更新后的所述配置信息同步更新到所有访问所述服务端的客户端; 其中,所述服务端、所述客户端和所述数据库使用同一套底层代码,以及所述客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。
2.根据权利要求1所述的资源配置与回收方法,其特征在于,在所述将更新后的所述配置信息同步更新到所有访问所述服务端的客户端之前,还包括: 对所述服务端的所述配置信息进行监听,以供检测所述服务端的所述配置信息是否发生更新。
3.根据权利要求1或2所述的资源配置与回收方法,其特征在于,所述配置信息包括数据库配置地址和/或缓存配置地址。
4.根据权利要求3所述的资源配置与回收方法,其特征在于,还包括: 在将所述配置信息同步更新到所有访问所述服务端的所述客户端的同时,根据更新后的所述数据库配置地址和/或所述缓存配置地址,为所述服务端确定新的数据库和/或缓存池。
5.根据权利要求4所述的资源配置与回收方法,其特征在于,还包括: 在所述确定新的数据库和/或缓存池之后,根据新的所述数据库和/或新的所述缓存池自动释放的连接,连接所述服务端与新的所述数据库和/或新的所述缓存池。
6.一种资源配置与回收系统,其特征在于,包括: 更新单元,根据接收到的更新命令,更新服务端的配置信息; 同步更新单元,将获取的更新后的所述配置信息同步更新到所有访问所述服务端的客户端; 其中,所述服务端、所述客户端和所述数据库使用同一套底层代码,以及所述客户端的数据库和缓存池通过Threadlocal技术进行连接的获取、闭包回调和面向切面。
7.根据权利要求6所述的资源配置与回收系统,其特征在于,还包括: 监听单元,在所述将更新后的所述配置信息同步更新到所有访问所述服务端的客户端之前,对所述服务端的所述配置信息进行监听,以供检测所述服务端的所述配置信息是否发生更新。
8.根据权利要求6或7所述的资源配置与回收系统,其特征在于,所述配置信息包括数据库配置地址和/或缓存配置地址。
9.根据权利要求8所述的资源配置与回收系统,其特征在于,还包括: 确定单元,在将所述配置信息同步更新到所有访问所述服务端的所述客户端的同时,根据更新后的所述数据库配置地址和/或所述缓存配置地址,为所述服务端确定新的数据库和/或缓存池。
10.根据权利要求9所述的资源配置与回收系统,其特征在于,还包括: 连接单元,在所述确定新的数据库和/或缓存池之后,根据新的所述数据库和/或新的所述缓存池自动释放的连接,连接所述服务端与新的所述数据库和/或新的所述缓存池。
【文档编号】H04L29/08GK104486393SQ201410746490
【公开日】2015年4月1日 申请日期:2014年12月8日 优先权日:2014年12月8日
【发明者】郝学武 申请人:畅捷通信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1