业务的统一开发方法和设备与流程

文档序号:13718004阅读:132来源:国知局
技术领域本公开的实施例总体上涉及软件开发领域,更具体地涉及业务的统一开发方法和设备。

背景技术:
通常,软件开发以业务为对象,针对每个业务进行单独开发。例如,将每个业务作为一个整体单独进行开发,并且调用相应业务层组件和数据层组件。不同业务由于产品形态和业务规则的不同,存在非常多的区别,因而业务之间一般无法直接合并开发。然而,随着业务数量的不断增长,业务所需的开发资源也在不断增加。例如,当每个业务产品具有10个主要模型时,10个业务产品就需要设计总共10×10个模型,需要庞大的开发人员和精力,并且使得后续的维护和更新都变得非常繁重。因此,现有的软件开发效率较低、并且占用开发资源。因此,如何实现业务的统一开发,并且提高业务的开发效率,成为一个亟需解决的问题。

技术实现要素:
针对上述问题,本公开的各实施例提出了一种针对业务的统一开发方法及设备。根据本公开的一个方面,公开了一种业务的统一开发方法,该方法包括:将多个业务中的每个业务拆分成多个业务组件;对已拆分的所有业务组件进行去重,生成去重后的业务组件集;以及对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用。根据本公开的另一个方面,公开了一种业务的统一开发设备,该设备包括:拆分模块,用于将多个业务中的每个业务拆分成多个业务组件;去重模块,用于对已拆分的所有业务组件进行去重,生成去重后的业务组件集;以及组合模块,用于对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用。根据本公开的又一个方面,公开了一种业务的统一开发设备,该设备包括:存储器;以及处理器,其中该处理器被配置为:将多个业务中的每个业务拆分成多个业务组件;对已拆分的所有业务组件进行去重,生成去重后的业务组件集;以及对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用。本公开的示例性实施例提供的示例性解决方案可以带来以下技术效果中的至少一种:通过将业务拆分为各个业务组件,实现了业务组件级的划分,并且生成去重后的业务组件集以供,然后通过四层架构的划分和组合调用,能够提高业务的开发效率,有效地节省了开发资源。附图说明结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例。在附图中:图1是图示根据本公开的实施例的统一开发方法100的流程图;图2是图示根据本公开的实施例的软件开发的四层架构200的示例图;以及图3是图示根据本公开的实施例的统一开发设备300的框图。具体实施方式以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制发明的范围。参考图1,其图示了根据本公开的实施例的业务的统一开发方法100的流程图。统一开发是指通过整合多个业务来实现不同业务的统一合并开发。本文所描述的统一开发方法100可以应用于各种平台上的软件开发,包括但不限于Windows平台、Linux平台、Mac平台、嵌入式Linux平台或WindowsCE平台等。本文所描述的统一开发方法100可以使用各种语言进行开发,包括但不限于VB,C#,HTML,JAVA,PHP等。方法100以步骤102开始,在步骤102中,将多个业务中的每个业务拆分成多个业务组件。不同的业务虽然无法直接合并,但是业务之间往往存在很多相同或相似功能的模型,将各个业务拆分成业务组件之后,发现有很大部分(例如,70%以上)的业务组件存在交集。因此,多个业务之间存在合并的潜在优势。本文所描述的业务指代能够通过软件开发的任何业务。可选地,业务为订单业务和/或支付业务,例如,电子商务和智能交通系统中的订单业务和/或支付业务,不同的订单业务或支付业务之间比较类似,并且它们的相似功能也较多。在一个实施例中,订单是由乘客使用计算机或移动装置中的应用程序而生成用车请求,包括但不限于出租车订单、快车订单、专车订单、顺风车订单等。在另一个实施例中,支付是用户使用计算机或移动装置中的应用程序而执行电子商务的支付过程,例如对于购物网站或者用车服务中的支付。其中,移动装置是指各种拥有接入互联网能力、搭载各种操作系统(例如iOS、Android、WindowsPhone等)、可根据用户需求定制各种功能的终端设备,包括但不限于智能手机、平板电脑、智能可穿戴设备等。在一个实施例中,将多个业务中的每个业务拆分成多个业务组件可以包括:按照四层架构对每个业务进行拆分,其中所述四层架构从上至下包括:应用层、模型层、数据处理层以及数据层。其中,应用层包括各种产品级的业务应用,模型层包括由应用层直接调用的各种策略模型,数据处理层包括提供实时数据交互和处理的模型,而数据层包括用于提供各种基础数据的模型。在另一个实施例中,其中所述四层架构中每层架构对其下一层架构进行组合调用,例如,应用层调用模型层。方法100继续进行到步骤104,对已拆分的所有业务组件进行去重,生成去重后的业务组件集。通过对所有业务组件的去重,减少了相同的业务组件的重复开发。该业务组件集包含了所有业务中去重后的所有组件,既满足了对业务开发所需的所有业务调用,又减少了待开发的业务组件的总数量。在一个实施例中,对已拆分的所有业务组件进行去重,生成去重后的业务组件集可以包括:将所有业务组件中功能相同的业务组件进行去重,生成去重后的业务组件集。例如,对拆分后的所有业务组件进行分析,将功能相同或相似的业务组件进行合并,只保留其中一份相同的业务组件,并将该业务组件加入业务组件集中以供多个业务进行调用。可选地,每个业务组件可以提供应用程序接口(API)以供调用。方法100继续进行到步骤106,对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用。例如,在四层架构体系中,其中对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用可以包括:应用层可以对模型层上的业务组件进行组合,模型层可以对数据处理层上的业务组件进行组合,以及数据处理层可以对数据层上的业务组件进行组合,以生成针对特定业务的调用。作为示例,某个软件项目包括三个业务,分别为业务1、业务2和业务3,其中业务1包括业务组件A、B、C、D,业务2包括业务组件A、B、C、E、F,业务3包括业务组件A、E、F、G。在方法100的步骤102之后,拆分后的业务组件包括业务组件A、B、C、D、A、B、C、E、F、A、E、F、G。在方法的步骤104执行去重操作之后,去重后的业务组件集中包括业务组件A、B、C、D、E、F、G,通过去重,避免了5个业务(例如,A、B、C、E、F)组件的重发开发。在方法100的步骤106中,对业务组件集(A、B、C、D、E、F、G)中的多个业务组件进行组合,以生成针对特定业务的调用,例如,当需要开发业务2时,对业务组件集(A、B、C、D、E、F、G)中的五个业务组件(A、B、C、E、F)进行组合调用。方法100通过对各个业务进行拆分,使得功能相同的业务组件进行合并,生成了包含所有业务组件的业务组件集,并且通过对业务组件集中业务组件的调用,通过选择业务组件集中的若干业务组件进行排列组合调用,能够生成针对特定业务的开发。通过本公开的方法100所实现的开发效果与各个业务独立开发效果一样,因此,方法100在实现相同开发效果的基础上,有效地节约了开发资源。在一个实施例中,方法100可选地还可以包括步骤108(未示出),对于所述多个业务之外的新增业务,判断是否需要新的业务组件;当不需要新的业务组件时,直接复用现有的业务组件集中的业务组件;以及当需要新的业务组件时,新增新的业务组件,并且与业务组合集中的业务组件进行组合。在另一个实施例中,当存在新的业务组件时,将所述新的业务组件添加到所述业务组件集中,从而使得更新后的业务组件集能够满足新业务的调用需求。因此,方法100还实现了对业务的增量开发,使得业务组件集可以不断地被更新,从而满足后续的业务开发的调用。图2是图示根据本公开的实施例的软件开发的四层架构200的示例图。图2的示例是针对智能交通软件开发的示例,然而,本公开的统一开发方法并不限于智能交通类软件的开发,还可以用于其他任何软件开发项目。如图2所示,四层架构体系从上到下依次包括应用层202、模型层204、数据处理层206以及数据层208。在四层架构200中,应用层202包括各种业务应用,例如智能交通业务中的出租车业务、专车业务、顺风车业务等。其中应用层202通过策略统一接口,对接各个业务线。模型层204包括由应用层直接调用的各种策略模型,例如包括订单分配、运营策略、动态调价、引导策略和营销策略等,其中订单分配模型可以包括抢单模型和指派模型。数据处理层206包括提供实时数据交互和处理的模型,例如包括抢单策略计算、全局优化、指派策略计算、司乘关系计算、乘客模型、司机模型、订单模型等。数据层208包括用于提供各种基础数据的模型,例如顺风车模型、目的地订单模型、行驶方位模型、组合订单模型、用户价值模型、用户偏好模型、实施环境模型(诸如订单价值和成交率估计)等。在四层架构200中,对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用,例如应用层202对模型层上的业务组件进行组合调用,模型层204对数据处理层206上的业务组件进行组合调用,以及数据处理层206对数据层208上的业务组件进行组合调用,以生成针对特定业务的调用。例如,专车业务调用订单分配模型,订单分配调用抢单模型或指派模型,继而调用抢单策略计算、全局优化、和/或指派策略计算等,并最终调用相应的数据层208中的基础数据业务组件,从而实现针对出租车业务的统一开发调用。图3是图示了根据本公开的实施例的业务的统一开发设备300的框图。该设备300包括:拆分模块302,用于将多个业务中的每个业务拆分成多个业务组件;去重模块304,用于对已拆分的所有业务组件进行去重,生成去重后的业务组件集;以及组合模块306,用于对业务组件集中的多个业务组件进行组合,以生成针对特定业务的调用。在一个实施例中,其中业务为订单业务或支付业务。在一个实施例中,其中拆分装置302还用于:按照四层架构对每个业务进行拆分,其中四层架构从上至下包括:应用层、模型层、数据处理层以及数据层。在另一个实施例中,其中四层架构中每层架构对其下一层架构进行组合调用。在一个实施例中,其中去重装置304还用于:将所有业务组件中功能相同的业务组件进行去重,生成去重后的业务组件集。在一个实施例中,其中组合装置306还用于:应用层对模型层上的业务组件进行组合,以生成针对特定业务的调用。在另一个实施例中,其中组合装置306还用于:模型层对数据处理层上的业务组件进行组合,并且数据处理层对数据层上的业务组件进行组合,以生成针对特定业务的调用。在一个实施例中,设备300还包括判断装置308(未示出),用于对于多个业务之外的新增业务,判断是否需要新的业务组件;当不需要新的业务组件时,直接复用现有的业务组件集中的业务组件;以及当需要新的业务组件时,新增新的业务组件,并且与业务组合集中的业务组件进行组合。在另一个实施例中,其中判断装置308还用于:当存在新的业务组件时,将新的业务组件添加到业务组件集中。应当理解,以上统一开发设备可以利用各种方式来实现。例如,在某些实施例中,以上统一开发设备可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本公开的实施例的设备和装置不仅可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如固件)来实现。应当注意,尽管在上文的详细描述中提及了设备300的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1