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

技术编号:39645381 阅读:7 留言:0更新日期:2023-12-09 11:13
一种对开源框架扩展配置中心持久化方法及服务器,在该方法中,服务器根据第一类生成与第一类相关的第一对象;服务器利用转换方法将第一对象转换成当前实例;服务器根据当前实例创建第二对象;服务器对第二对象相关的第二类使用第一初始化方法得到初始化数据源;服务器将初始化数据源注册到全部规则数据源中得到写入数据源;服务器将写入数据源写入到配置信息中;服务器从配置中心读取配置信息,在符合开闭原则的条件下,实现了与配置中心通讯的持久化

【技术实现步骤摘要】
一种对开源框架扩展配置中心持久化方法及服务器


[0001]本申请框架扩展持久化领域,尤其涉及一种对开源框架扩展配置中心持久化方法及服务器


技术介绍

[0002]开源框架是面向分布式

多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由

流量控制

流量整形

熔断降级

系统自适应过载保护

热点流量防护等多个维度来帮助开发者保障微服务的稳定性

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

[0004]然而,现有技术违背了设计模式中六大原则之一开闭原则,开闭原则即设计的软件实体应该能够在不修改原有代码的情况下进行扩展

也就是说,当需求发生变化时,应该通过添加新的代码来实现新的功能,而不是修改已有的代码


技术实现思路

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0022]结合第一方面的一些实施例,在一些实施例中,服务器根据该当前实例创建第二对象之前,该方法还包括:该服务器调用读取方法来本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种对开源框架扩展配置中心持久化方法,其特征在于,包括:服务器根据第一类生成与所述第一类相关的第一对象;所述服务器利用转换方法将所述第一对象转换成当前实例,所述转换方法由所述服务器通过开源框架的接口调用得到;所述服务器根据所述当前实例创建第二对象;所述服务器对所述第二对象相关的第二类使用第一初始化方法得到初始化数据源;所述服务器将所述初始化数据源注册到全部规则数据源中得到写入数据源;所述服务器将所述写入数据源写入到配置信息中;所述服务器从配置中心读取所述配置信息
。2.
根据权利要求1所述的方法,其特征在于,所述服务器对所述第二对象相关的第二类进行初始化得到初始化数据源之前,所述方法还包括:所述服务器搜索所述开源框架的扩展点及关于所述扩展点的全部第三类;所述服务器创建所述第二对象相关的第二类;所述服务器利用所述第二类实现所述第三类的接口;所述服务器利用第三类的接口从所述第二类中确定第一初始化方法
。3.
根据权利要求1所述的方法,其特征在于,所述服务器将所述初始化数据源注册到全部规则数据源中得到写入数据源之前,所述方法还包括:所述服务器创建独占锁类;所述服务器根据所述独占锁类生成与所述独占锁类相关的独占锁对象;所述服务器判断是否获取到所述独占锁对象;若所述服务器获取到所述独占锁对象,则执行所述服务器将所述初始化数据源注册到全部规则数据源中得到写入数据源步骤;若所述服务器没有获取到所述独占锁对象,则执行所述服务器判断是否获取到所述独占锁对象步骤
。4.
根据权利要求3所述的方法,其特征在于,所述若所述服务器没有获取到所述独占锁对象,则执行所述服务器判断是否获取到所述独占锁对象步骤之后,所述方法还包括:所述服务器确定第一初始化数据源注册到规则数据源的注册时间超过阈值;所述服务器将第一初始化数据源的注册顺序延后
。5.
根据权利要求1所述的方法,其特征在于,所述服务器将所述初始化数据源注册到全部规则数据源中得到写入数据源,具体包括:所述服务器驱根据若干所述初始化数据源在预设优先级表中的栏目确定若干所述初始化数据源的优先级;所述服务器根据所述初始化数据源的优先级进行...

【专利技术属性】
技术研发人员:秦庆庆
申请(专利权)人:中设数字技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1