一种对开源框架扩展配置中心持久化方法及服务器与流程

文档序号:36263101发布日期:2023-12-06 01:30阅读:23来源:国知局
一种对开源框架扩展配置中心持久化方法及服务器与流程

本技术框架扩展持久化领域,尤其涉及一种对开源框架扩展配置中心持久化方法及服务器。


背景技术:

1、开源框架是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

2、现有技术中,是对开源框架的源码做出改造,使其和配置中心进行通讯。

3、然而,现有技术违背了设计模式中六大原则之一开闭原则,开闭原则即设计的软件实体应该能够在不修改原有代码的情况下进行扩展。也就是说,当需求发生变化时,应该通过添加新的代码来实现新的功能,而不是修改已有的代码。


技术实现思路

1、本技术提供了一种对开源框架扩展配置中心持久化方法及服务器,用于在符合开闭原则的条件下,实现与配置中心通讯的持久化。

2、第一方面,本技术提供了一种对开源框架扩展配置中心持久化方法,服务器根据第一类生成与该第一类相关的第一对象;该服务器利用转换方法将该第一对象转换成当前实例,该转换方法由该服务器通过开源框架的接口调用得到;该服务器根据该当前实例创建第二对象;该服务器对该第二对象相关的第二类使用第一初始化方法得到初始化数据源;该服务器将该初始化数据源注册到全部规则数据源中得到写入数据源;该服务器将该写入数据源写入到配置信息中;该服务器从配置中心读取该配置信息。

3、通过采用上述技术方案,服务器根据第一类生成与第一类相关的第一对象,利用转换方法将第一对象转换成当前实例,根据当前实例创建第二对象,对第二对象相关的第二类使用第一初始化方法得到初始化数据源,将初始化数据源注册到全部规则数据源中得到写入数据源,将写入数据源写入到配置信息中,从配置中心读取配置信息,在符合开闭原则的条件下,实现了与配置中心通讯的持久化。

4、结合第一方面的一些实施例,在一些实施例中,服务器对该第二对象相关的第二类进行初始化得到初始化数据源之前,该方法还包括:该服务器搜索该开源框架的扩展点及关于该扩展点的全部第三类;该服务器创建该第二对象相关的第二类;该服务器利用该第二类实现该第三类的接口;该服务器利用第三类的接口从该第二类中确定第一初始化方法。

5、通过采用上述技术方案,服务器搜索开源框架的扩展点及关于扩展点的全部第三类,创建第二对象相关的第二类,利用第二类实现第三类的接口,最后利用第三类的接口从第二类中确定第一初始化方法,提高了得到初始化数据源的效率。

6、结合第一方面的一些实施例,在一些实施例中,服务器将该初始化数据源注册到全部规则数据源中得到写入数据源之前,该方法还包括:该服务器创建独占锁类;该服务器根据该独占锁类生成与该独占锁类相关的独占锁对象;该服务器判断是否获取到该独占锁对象;若该服务器获取到该独占锁对象,则执行该服务器将该初始化数据源注册到全部规则数据源中得到写入数据源步骤;若该服务器没有获取到该独占锁对象,则执行该服务器判断是否获取到该独占锁对象步骤。

7、通过采用上述技术方案,在初始化操作之前加入独占锁对象,当服务器获取到独占锁对象之后才开始进行初始化操作,有效防止了并发问题的产生。

8、结合第一方面的一些实施例,在一些实施例中,该服务器没有获取到该独占锁对象,则执行该服务器判断是否获取到该独占锁对象步骤之后,该方法还包括:该服务器确定第一初始化数据源注册到规则数据源的注册时间超过阈值;该服务器将第一初始化数据源的注册顺序延后。

9、通过采用上述技术方案,在确定第一初始化数据源注册到规则数据源的注册时间超过阈值的情况下,服务器将第一初始化数据源的注册顺序延后,减少注册时间,提高了注册的效率。

10、结合第一方面的一些实施例,在一些实施例中,服务器将该初始化数据源注册到全部规则数据源中得到写入数据源,具体包括:该服务器驱根据若干该初始化数据源在预设优先级表中的栏目确定若干该初始化数据源的优先级;该服务器根据该初始化数据源的优先级进行从大到小的排序,得到排序结果;该服务器根据该排序结果依次执行该服务器将该初始化数据源注册到全部规则数据源中得到写入数据源步骤。

11、通过采用上述技术方案,服务器在进行初始化数据源注册到全部规则数据源中步骤之前,先根据若干该初始化数据源在预设优先级表中的栏目确定若干该初始化数据源的优先级,再根据该初始化数据源的优先级进行从大到小的排序,得到排序结果;最后服务器根据该排序结果依次执行该服务器将该初始化数据源注册到全部规则数据源中得到写入数据源步骤,先将优先级高的初始化数据源优先注册,并且按照优先级顺序进行注册,提高了注册的效率。

12、结合第一方面的一些实施例,在一些实施例中,服务器根据该独占锁类生成与该独占锁类相关的独占锁对象之后,该方法还包括:该服务确定该独占锁对象中的大锁,该大锁为该独占锁对象中粒度大于预设粒度的独占锁对象,该粒度为该独占锁对象在工作时获取资源的大小或范围;该服务器对该大锁中能够拆分的第一大锁进行拆分。

13、通过采用上述技术方案,服务确定该独占锁对象中的大锁,然后服务器对该大锁中能够拆分的第一大锁进行拆分,在注册过程中使用粒度较小的独占锁,避免注册步骤发生拥堵,提高了注册的效率。

14、结合第一方面的一些实施例,在一些实施例中,服务器将该初始化数据源注册到全部规则数据源中得到写入数据源,具体包括:该服务器创建数据源注册器,该数据源注册器中有包含全部该规则数据源的列表;该服务器定义一个包含注册方法的规则数据源接口;该服务器使用该注册方法将该初始化数据源添加到该列表中的全部该规则数据源,得到该写入数据源。

15、通过采用上述技术方案,服务器创建数据源注册器,利用注册方法将初始化数据源添加到数据源注册器包含的列表中的全部规则数据源,提高了开源框架的可拓展性。

16、结合第一方面的一些实施例,在一些实施例中,服务器利用转换方法将该第一对象转换成当前实例,具体包括:该服务器通过开源框架的接口调用转换方法;该服务器利用该转换方法将该第一对象转换成当前实例。

17、通过采用上述技术方案,服务器通过开源框架的接口调用转换方法,为服务器将第一对象转换成当前实例提供了转换方法,提高了将第一对象转换为当前实例的效率。

18、结合第一方面的一些实施例,在一些实施例中,服务器根据该当前实例创建第二对象之前,该方法还包括:该服务器调用读取方法来读取该当前实例。

19、通过采用上述技术方案,服务器采用读取方法来读取当前实例,提高了服务器读取当前实例的效率。

20、第二方面,本技术实施例提供了一种对开源框架扩展配置中心持久化服务器,该服务器包括:生成模块,用于服务器根据第一类生成与该第一类相关的第一对象;

21、转换模块,用于该服务器利用转换方法将该第一对象转换成当前实例,该转换方法由该服务器通过开源框架的接口调用得到;

22、创建模块,用于该服务器根据该当前实例创建第二对象;

23、初始化模块,用于该服务器对该第二对象相关的第二类使用第一初始化方法得到初始化数据源;

24、注册模块,用于该服务器将该初始化数据源注册到全部规则数据源中得到写入数据源;

25、写入模块,用于该服务器将该写入数据源写入到配置信息中;

26、读取模块,用于该服务器从配置中心读取该配置信息。

27、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

28、1、本技术提供了一种对开源框架扩展配置中心持久化方法,服务器根据第一类生成与第一类相关的第一对象,利用转换方法将第一对象转换成当前实例,根据当前实例创建第二对象,对第二对象相关的第二类使用第一初始化方法得到初始化数据源,将初始化数据源注册到全部规则数据源中得到写入数据源,将写入数据源写入到配置信息中,从配置中心读取配置信息,在符合开闭原则的条件下,实现了与配置中心通讯的持久化。

29、2、本技术提供了一种对开源框架扩展配置中心持久化方法,服务器搜索开源框架的扩展点及关于扩展点的全部第三类,创建第二对象相关的第二类,利用第二类实现第三类的接口,最后利用第三类的接口从第二类中确定第一初始化方法,提高了得到初始化数据源的效率。

30、3、本技术提供了一种对开源框架扩展配置中心持久化方法,在初始化操作之前加入独占锁对象,当服务器获取到独占锁对象之后才开始进行初始化操作,有效防止了并发问题的产生。

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