一种支撑分布式服务模型动态扩展的方法及系统与流程

文档序号:17089337发布日期:2019-03-13 23:15阅读:515来源:国知局
一种支撑分布式服务模型动态扩展的方法及系统与流程

一种动态扩展的方法及系统,特别涉及一种支撑分布式服务模型动态扩展的方法及系统。



背景技术:

请参照图1,传统软件产品开发流程中,模型驱动开发的产品流程如下:1、通过产品经理或需求经理分析客户要求,确定客户需求。2、开发设计人员根据需求,抽象出业务模型及相应的库表(数据)结构。3、在模型的基础上,驱动设计开发,完成各种模块的开发。4、需求变更导致模型的变更,从而需要开发的变更。5、通过测试验证,向客户交付产品。然而以上开发流程中存在如下问题:

1、互联网服务需求变动比较频繁,比如各种促销,慢减,推荐,积分等活动推广时,需要不断的修改模型,从而需要不停开发设计系统,开发成本比较高,资源利用率低。

2、面对海量的客户需求,系统不能通过简单的模型改动满足客户个性化要求。



技术实现要素:

本申请的目的在于克服上述问题或者至少部分地解决或缓解上述问题。

根据本申请的一个方面,提供了一种支撑分布式服务模型动态扩展的方法,包括如下步骤:s2:在model层抽象出公共的模型服务层,并将业务模型注册至所述模型服务层中;s4:所述模型服务层提供模型层面的服务;s6:在数据数据服务层,抽象出公共的数据服务,且将所述数据服务与所述模型服务对应。

可选地,所述型层面的服务包括:模型的扩展,模型的新增。

根据本申请的另一个方面,提供了一种支撑分布式服务模型动态扩展的系统,使用上述任意一项所述的支撑分布式服务模型动态扩展的方法。

根据本申请的另一个方面,提供了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。

根据本申请的另一个方面,提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。

根据本申请的另一个方面,提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。

本申请所提供的支撑分布式服务模型动态扩展的方法及系统,通过抽象出两层服务,模型服务和数据服务,从而有效的解决的模型扩展和数据扩展的问题,同时可以支撑分布式服务的业务扩展需要,为产品开发和有效的利用资源提供了一种解决方案,从而大大的提高了业务横向扩展的能力,以及降低开发成本。

根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。

附图说明

后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:

图1是传统软件产品开发流程示意图;

图2是本申请一实施例中动态扩展的方法的架构设计图;

图3是本申请一实施例中动态扩展的方法的架构设计图;

图4是本申请一实施例中动态扩展的方法的架构设计图;

图5是本申请一实施例中计算机设备的示意图;

图6是本申请一实施例中计算机可读存储介质的示意图。

具体实施方式

请参照图2-图3,本申请一实施例中,一种支撑分布式服务模型动态扩展的方法,其特征在于,包括如下步骤:s2:在model层抽象出公共的模型服务层,并将业务模型注册至所述模型服务层中;s4:所述模型服务层提供模型层面的服务;s6:在数据数据服务层,抽象出公共的数据服务,且将所述数据服务与所述模型服务对应。

在本申请一实施例中,所述型层面的服务包括:模型的扩展,模型的新增。

本申请还提供一种支撑分布式服务模型动态扩展的系统,使用上述任意一项所述的支撑分布式服务模型动态扩展的方法。

针对上述问题,要求我们在设计产品之初,就要考虑产品的可扩展性和可重复性使用。从而应对频繁变动的需求和客户各种个性化的要求。

在解决上述问题的过程中,我们很自然的想到通过模型扩展和数据扩展来解决问题,我们可以在建立模型的时候,冗余一些模型和数据,供后续需求变动使用,简单的说,我们通过冗余一些数据来应对将来可能的需求变动风险。同样还是在开发过程中解决需求或者设计阶段不可预知的问题。相信不少的系统是这样来解决问题的。

例如,当需求a提出时,我们可以通过模型和数据上面的部分冗余字段来满足业务上的需求变动,避免因为10%的需求变动,导致100%的工作量增加。通过这种方式,很好的满足a的要求,同时又不需要或者很少的的代码改动,实现平滑的需求变动,减少项目交付周期,提高客户满意度。

如图2所示,改动过的模型设计和数据设计能同时满足客户个性化和需求频繁变动的情形。

通过图2,我们可以了解到,通过冗余模型和数据可以解决需求变动的问题,实现扩展和需求变动问题的解决。但是真如我们所愿望的那样,平滑的解决掉现有的问题么。答案显然是否定的,所谓抛开具体的业务来谈架构是没有意义的。下面我们来谈下上述架构存在的问题。

当业务越来越复杂,各种个性化越来越多,就会导致冗余的模型和数据不够用,扩展困难。

如图3所示,随着用户越来越多,不可避免的会采用分布式微服务这种架构,原来集成在一块的各个业务模块会分割成不同的服务,这样会导致服务之间的模型共享比较困难。严重影响业务的开发。

那么如何解决分布式微服务下的模型扩展问题呢,我们可以运用微服务的思想来改造我们的应用服务,实现业务模型的共享。

如图4所示,首先我们可以在model层抽象出一个公共的模型服务层,所有的业务模型都需要注册到模型服务中,由模型服务提供模型层面的服务,包括模型的扩展,新增等操作。同时在数据服务层,抽象出一个公共的数据服务,和模型服务相对应,统一对外提供服务。统一的架构图如下:

为避免模型服务和数据服务与业务服务之间平行的调用关系,图4中业务服务调用模型或者数据服务用实心箭头标识。

通过抽象出两层服务,模型服务和数据服务,从而有效的解决的模型扩展和数据扩展的问题,同时可以支撑分布式服务的业务扩展需要,为产品开发和有效的利用资源提供了一种解决方案,从而大大的提高了业务横向扩展的能力,以及降低开发成本。

该方法解决了分布式系统中模型扩展的局限性,同时为分布式系统中模型的统一提供了一种解决方案,为互联网产品快速迭代开发和需求变更,有效的提供了一种方法,运用互联网中分布式微服务的思维,为产品模型动态扩展和产品能力的扩展提供一种思路。

本申请还提供了一种计算机设备(请参照图5),包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的方法。

本申请还提供了一种计算机可读存储介质(请参照图6),优选为非易失性可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现上述任意一项所述的方法。

本申请还提供了一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。

本申请中的方法的步骤虽然是按照数字顺序编号,但并不意味着各个步骤的执行顺序一定要按照数字的顺序进行。有些步骤之间可以是并列执行的关系,甚至可以颠倒顺序执行,都属于本申请所要求的保护的范围内。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetictape),软盘(英文:floppydisk),光盘(英文:opticaldisc)及其任意组合。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

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