CN109636304B - 业务***的发布方法及装置、存储介质、电子装置 - Google Patents
业务***的发布方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN109636304B CN109636304B CN201811271437.3A CN201811271437A CN109636304B CN 109636304 B CN109636304 B CN 109636304B CN 201811271437 A CN201811271437 A CN 201811271437A CN 109636304 B CN109636304 B CN 109636304B
- Authority
- CN
- China
- Prior art keywords
- service
- determining
- systems
- service system
- business
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种业务***的发布方法及装置、存储介质、电子装置,其中,该方法包括:确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;根据所述多个业务***中业务***之间的依赖关系建立有向图;根据所述有向图确定所述多个业务***的发布顺序。通过本发明,解决了相关技术中不能确定多个业务***的发布顺序的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种业务***的发布方法及装置、存储介质、电子装置。
背景技术
相关技术中,一个完整的业务功能通常需要几十个业务***来支撑,甚至上百、上千的业务***相互协调合作完成相应的功能。业务***在运行时存在相互的依赖关系,比如A,B两个***,A在执行某个功能时,需要调用B***来获取一些结果,称之为A和B之间存在依赖关系,即A依赖B,表示为:A->B。
相关技术中,在上线某个业务功能时,需要发布相互依赖的多个业务***,如,B***发布完成之后,A***才能发布,如果A发布时,B还未发布,A***会因为B***的变更未上线,导致A在调用B***执行功能时异常,影响线上的现有业务。现有技术的方案中,在发布阶段并不考虑***间的依赖关系,通过后续排查和***回滚来解决异常,如A发布完成后,发现线上业务异常,排查发现和B***有发布依赖关系,B***本次也需要发布,A***发布回滚,延迟发布,如公开号为CN107678936A的申请文件,公开了一种业务***预先稽查方法,在业务***发布上线后,发生故障后快速回滚。另外一个方案是人为来确定,如有两个***之间存在发布依赖关系,A->B,A***无法B***什么时候发布完成,在准备发布A***时,通过人为频繁的去确认B***是否发发布完成,然后在A***依赖几十个***的情况,工作量巨大。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种业务***的发布方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种业务***的发布方法,包括:确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;根据所述多个业务***中业务***之间的依赖关系建立有向图;根据所述有向图确定所述多个业务***的发布顺序。
可选的,根据所述业务***中每个业务***之间的依赖关系建立有向图包括:根据对外接口的调用方向确定业务***组合的依赖关系,其中,所述业务***组合由采用所述对外接口进行通信的两个业务***组成;统计所有业务***组合的依赖关系,并根据所述依赖关系建立所述有向图。
可选的,根据对外接口的调用方向确定业务***组合的依赖关系包括:确定所述多个业务***中第一业务***的第一对外接口;在所述多个业务***中确定一个或多个调用所述第一对外接口的第二业务***,其中,所述业务***组合由所述第一业务***和所述第二业务***组成;将所述第二业务***作为调用***,所述第一业务***作为被调用***,建立所述第一业务***与所述第二业务***之间的依赖关系。
可选的,根据所述依赖关系建立所述有向图包括:将所述第二业务***作为起点,所述第一业务***作为终点,所述依赖关系作为关联函数,建立所述有向图的有向边。
可选的,根据所述有向图确定所述多个业务***的发布顺序包括:统计所述有向图的所有有向边;使用所述有向边的方向建立约束条件,其中,所述约束条件用于表征在前提条件存在的情况下,才能实现目标结果,所述前提条件和所述目标结果为一对存在依赖关系的业务***组合;将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序。
可选的,在将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序之后,所述方法还包括:按照所述发布顺序依次发布所述业务***组合中的业务***。
可选的,按照所述发布顺序依次发布所述业务***组合中的业务***包括:解析所述约束条件,确定待发布的目标业务***是否存在前提条件;在所述目标业务***存在前提条件时,等待所述前提条件对应的业务***发布,在确定所述前提条件对应的业务***发布完成后,发布所述目标业务***;在所述目标业务***不存在前提条件时,发布所述目标业务***,在发布完成后,通知目标结果对应的业务***。
可选的,确定所述前提条件对应的业务***发布完成包括:确定是否接收到所述前提条件对应的业务***发送的通知消息,其中,所述通知消息用于指示所述前提条件对应的业务***已经发布完成;在接收到所述通知消息时,确定所述前提条件对应的业务***发布完成,在未接收到所述通知消息时,确定所述前提条件对应的业务***未发布完成。
可选的,根据所述有向图确定所述多个业务***的发布顺序包括:解析所述有向图,得到所述有向图中的孤立点和有向边;按照所述有向边的连通方向,确定每条有向边的起点和终点;在所述多个业务***中确定在所有有向边中仅作为终点的第一元素,在所述多个业务***中确定在所有有向边中在第一有向边中作为终点,同时在第二有向边中作为起点的第二元素,在所述多个业务***中确定在所有有向边中仅作为起点的第三元素;确定所述第一元素的发布顺序为最高级,确定所述第二元素的发布顺序为次高级,确定所述第三元素的发布顺序为最低级。
可选的,确定目标业务的多个业务***包括之一:确定第一应用程序的目标业务与多个第二应用程序关联的多个业务***;确定第一应用程序的目标业务应用在多个不同服务器上的多个业务***。
可选的,所述目标业务包括以下至少之一:点餐业务、转账业务、会话业务、理财业务、红包业务、视频业务。
根据本发明的另一个实施例,提供了一种业务***的发布装置,包括:第一确定模块,用于确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;建立模块,用于根据所述多个业务***中业务***之间的依赖关系建立有向图;第二确定模块,用于根据所述有向图确定所述多个业务***的发布顺序。
可选的,所述建立模块包括:确定单元,用于根据对外接口的调用方向确定业务***组合的依赖关系,其中,所述业务***组合由采用所述对外接口进行通信的两个业务***组成;建立单元,用于统计所有业务***组合的依赖关系,并根据所述依赖关系建立所述有向图。
可选的,所述确定单元包括:第一确定子单元,用于确定所述多个业务***中第一业务***的第一对外接口;第二确定子单元,用于在所述多个业务***中确定一个或多个调用所述第一对外接口的第二业务***,其中,所述业务***组合由所述第一业务***和所述第二业务***组成;第一建立子单元,用于将所述第二业务***作为调用***,所述第一业务***作为被调用***,建立所述第一业务***与所述第二业务***之间的依赖关系。
可选的,所述建立单元包括:第二建立子单元,用于将所述第二业务***作为起点,所述第一业务***作为终点,所述依赖关系作为关联函数,建立所述有向图的有向边。
可选的,所述第二确定模块包括:统计单元,用于统计所述有向图的所有有向边;建立单元,用于使用所述有向边的方向建立约束条件,其中,所述约束条件用于表征在前提条件存在的情况下,才能实现目标结果,所述前提条件和所述目标结果为一对存在依赖关系的业务***组合;确定单元,用于将所述约束条件的逻辑顺序确定为所述业务***组合中两个业务***的发布顺序。
可选的,所述装置还包括:发布模块,用于在所述第二确定模块将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序之后,按照所述发布顺序依次发布所述业务***组合中的业务***。
可选的,所述第二确定模块包括:解析单元,用于解析所述有向图,得到所述有向图中的孤立点和有向边;第一确定单元,用于按照所述有向边的连通方向,确定每条有向边的起点和终点;第二确定单元,用于在所述多个业务***中确定在所有有向边中仅作为终点的第一元素,在所述多个业务***中确定在所有有向边中在第一有向边中作为终点,同时在第二有向边中作为起点的第二元素,在所述多个业务***中确定在所有有向边中仅作为起点的第三元素;第三确定单元,用于确定所述第一元素的发布顺序为最高级,确定所述第二元素的发布顺序为次高级,确定所述第三元素的发布顺序为最低级。
可选的,所述第一确定模块包括之一:第一确定单元,用于确定第一应用程序的目标业务与多个第二应用程序关联的多个业务***;第二确定单元,用于确定第一应用程序的目标业务应用在多个不同服务器上的多个业务***。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,确定目标业务的多个业务***,根据所述多个业务***中业务***之间的依赖关系建立有向图,根据所述有向图确定所述多个业务***的发布顺序,进而按照发布顺序来发布目标业务的业务***,解决了相关技术中不能确定多个业务***的发布顺序的技术问题,可以根据发布顺序自动发布一个目标业务的多个业务***,避免了***回滚和人工干预,提高了发布业务***的效率,减少了***异常。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种业务***的发布移动终端的硬件结构框图;
图2是根据本发明实施例的一种业务***的发布方法的流程图;
图3是本发明实施例的点餐业务的执行流程图;
图4是本发明实施例的点餐业务中业务***的依赖关系图;
图5是本发明实施例的有向图的示意图;
图6是根据本发明实施例的业务***的发布装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种业务***的发布移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种业务***的发布方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种业务***的发布方法,图2是根据本发明实施例的一种业务***的发布方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定目标业务的多个业务***,其中,多个业务***中的每个业务***分别对应目标业务的一个功能;
步骤S204,根据多个业务***中业务***之间的依赖关系建立有向图;
步骤S206,根据有向图确定多个业务***的发布顺序。
通过上述步骤,确定目标业务的多个业务***,根据所述多个业务***中业务***之间的依赖关系建立有向图,根据所述有向图确定所述多个业务***的发布顺序,进而按照发布顺序来发布目标业务的业务***,解决了相关技术中不能确定多个业务***的发布顺序的技术问题,可以根据发布顺序自动发布一个目标业务的多个业务***,避免了***回滚和人工干预,提高了发布业务***的效率,减少了***异常。
本实施例中,目标业务可以是应用程序(app)的所有功能,也可以是应用程序上的一个功能模块,该目标业务可以但不限于为:点餐业务、转账业务、会话业务、理财业务、红包业务、视频业务等。确定目标业务的多个业务***包括之一:确定第一应用程序的目标业务与多个第二应用程序关联的多个业务***,如使用即时通讯软件(如,微信)的账号登录视频软件(如,腾讯视频),视频网站的登录过程中需要调用即时通讯软件的账号和密钥,所以需要调用即时通讯软件的管理账号的业务***等;确定第一应用程序的目标业务应用在多个不同服务器上的多个业务***,在目标业务为点餐业务时,在用户使用的点餐业务时,需要使用到多个业务***,如支付***、用户身份***、商家的数据***、中间平台的管理和营销***等,各个***对应的服务器分别设置在不同的服务器上。
本实施例以目标业务为点餐业务进行举例说明,图3是本发明实施例的点餐业务的执行流程图,包括四个业务***,分别为:点餐中心、商品中心、营销中心、餐台中心,其中,点餐中心:支撑口碑点餐C端业务,负责点餐列表业务咨询、点餐加减购物车,点餐下单确认页,点餐下单支付等功能。商品中心:负责商品,包括菜口的管理和咨询服务,针对商品购买和点餐提供商品和菜品的咨询能力。营销中心:负责用户买单(商品购买、点餐、在线买单等)环节享受优惠能力的咨询。餐台中心:负责点餐业务中餐台的管理维护和咨询能力。餐台信息的添加,修改,删除和查询能力,同时提供餐台的开台和清台能力。
根据各个***在使用过程中的调用关系,形成业务***之间的依赖关系,图4是本发明实施例的点餐业务中业务***的依赖关系图,其中,点餐中心是用户面的业务***,依赖营销中心和商品中心、餐台中心,营销中心也依赖商品中心。
在本实施例中,有向图是可以表征目标业务的所有业务***的相互依赖的图,根据业务***中每个业务***之间的依赖关系建立有向图包括:
S11,根据对外接口的调用方向确定业务***组合的依赖关系,其中,业务***组合由采用对外接口进行通信的两个业务***组成;
可选的,根据对外接口的调用方向确定业务***组合的依赖关系包括:确定多个业务***中第一业务***的第一对外接口;在多个业务***中确定一个或多个调用第一对外接口的第二业务***,其中,业务***组合由第一业务***和第二业务***组成;将第二业务***作为调用***,第一业务***作为被调用***,建立第一业务***与第二业务***之间的依赖关系。
S12,统计所有业务***组合的依赖关系,并根据依赖关系建立有向图。
图5是本发明实施例的有向图的示意图,如图5所示,包括A~I,一共9个元素,分别是一个业务***,其中,AB,AC,DF,EG等相互形成依赖关系,I为孤立点,不与其他元素形成依赖关系。在此以AB业务***组合进行说明,B元素定义有对外接口,用于A元素工作是调用,该对外接口的调用方向为A元素调用B元素,所以AB业务***组合的依赖关系为A元素依赖B元素,同时,B元素可以被D元素调用,A元素也可以调用C、F元素等,统计所有元素的依赖关系,即可形成有向图。其中,I元素是一个即不调用其他元素,也不被其他元素调用的元素,是有向图中的一个孤立点。
在本实施例的可选实施方式中,根据依赖关系建立有向图包括:将第二业务***作为起点,第一业务***作为终点,依赖关系作为关联函数,建立有向图的有向边。以图5为例进行说明,如AB元素,A为起点,B为终点,关联函数(可以理解为关联的含义)为A依赖B,A->B为有向图的一个有向边,多个有向边组成了完整的有向图。
在本实施例中,根据有向图确定多个业务***的发布顺序包括:
S21,统计有向图的所有有向边;
S22,使用有向边的方向建立约束条件,其中,约束条件用于表征在前提条件存在的情况下,才能实现目标结果,前提条件和目标结果为一对存在依赖关系的业务***组合;如AB两个业务***,约束条件用于保证在A发布之前,B已经发布完成了,从而避免A业务***异常。
S23,将约束条件的逻辑顺序确定为业务***组合中业务***的发布顺序。根据约束条件的逻辑顺序,确定的业务***的发布顺序为先发布前提条件对应的业务***,再发布目标结果对应的业务***,也即,先发布被调用的业务***,再发布调用的业务***。
可选的,在将约束条件的逻辑顺序确定为业务***组合中业务***的发布顺序之后,还包括:按照发布顺序依次发布业务***组合中的业务***。在本实施例的一个实施方式中,按照发布顺序依次发布业务***组合中的业务***包括:
S31,解析约束条件,确定待发布的目标业务***是否存在前提条件;以图5为例进行说明,在待发布的目标业务***为A时,A不存在前提条件,在待发布的目标业务***为B时,存在前提条件:A,D。
S32,在目标业务***存在前提条件时,等待前提条件对应的业务***发布,在确定前提条件对应的业务***发布完成后,发布目标业务***;在目标业务***不存在前提条件时,发布目标业务***,在发布完成后,通知目标结果对应的业务***。可选的,可以通过业务***间的通知消息来确定是否发布完成,确定前提条件对应的业务***发布完成包括:确定是否接收到前提条件对应的业务***发送的通知消息,其中,通知消息用于指示前提条件对应的业务***已经发布完成;在接收到通知消息时,确定前提条件对应的业务***发布完成,在未接收到通知消息时,确定前提条件对应的业务***未发布完成。
可选的,根据有向图确定多个业务***的发布顺序包括:
S41,解析有向图,得到有向图中的孤立点和有向边;如图5所示,I元素为孤立点,其他元素均可形成有向边。
S42,按照有向边的连通方向,确定每条有向边的起点和终点;如图5中的AB有向边中,A为起点,B为终点,BH有向边中,B为起点,H为终点等。
S43,在多个业务***中确定在所有有向边中仅作为终点的第一元素,在多个业务***中确定在所有有向边中在第一有向边中作为终点,同时在第二有向边中作为起点的第二元素,在多个业务***中确定在所有有向边中仅作为起点的第三元素;在图5中,C、F、H、G为第一元素,B为第二元素,A、D、E为第三元素。
S44,确定第一元素的发布顺序为最高级,确定第二元素的发布顺序为次高级,确定第三元素的发布顺序为最低级。在发布过程中,优先发布最高级的第一元素,然后第二元素,最后第三元素,由于孤立点的元素的发布时机并不影响其他元素,因此,孤立点没有发布顺序,可以随机发布。
在一个示例中,本次待发布的目标业务***为A,D,F,H,根据关联关系,有向图有3条有向边,分别为:A->F,D->F,D->H,在开始发布时:A等待,D等待,F和H优先发布,如果F发布完成,F通知A和D,由于A的前提条件只有F,所以A在确定F发布完成后可以发布,(而D的前提条件为F和H,所有需要在收到通知F和H的通知消息后,才能发布),D收到通知,因为同时依赖了H,需要等待H也发布完成后才能发布,H发布完成后,通知D,D再发布。
可选地,上述步骤的执行主体可以为客户端或服务器等,客户端可以是移动终端,PC等,服务器可以是代码发布服务器,业务***的推送服务器等,或应用于目标业务的服务器,如餐饮软件的服务器,打车软件的服务器等,但不限于此。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种业务***的发布装置,可以是终端或服务器,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的业务***的发布装置的结构框图,可以应用在客户端或服务器中,如图6所示,该装置包括:第一确定模块60,建立模块62,第二确定模块64,其中,
第一确定模块60,用于确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;
建立模块62,用于根据所述多个业务***中业务***之间的依赖关系建立有向图;
第二确定模块64,用于根据所述有向图确定所述多个业务***的发布顺序。
可选的,所述建立模块包括:确定单元,用于根据对外接口的调用方向确定业务***组合的依赖关系,其中,所述业务***组合由采用所述对外接口进行通信的两个业务***组成;建立单元,用于统计所有业务***组合的依赖关系,并根据所述依赖关系建立所述有向图。
所述确定单元包括:第一确定子单元,用于确定所述多个业务***中第一业务***的第一对外接口;第二确定子单元,用于在所述多个业务***中确定一个或多个调用所述第一对外接口的第二业务***,其中,所述业务***组合由所述第一业务***和所述第二业务***组成;第一建立子单元,用于将所述第二业务***作为调用***,所述第一业务***作为被调用***,建立所述第一业务***与所述第二业务***之间的依赖关系。
所述建立单元包括:第二建立子单元,用于将所述第二业务***作为起点,所述第一业务***作为终点,所述依赖关系作为关联函数,建立所述有向图的有向边。
所述第二确定模块包括:统计单元,用于统计所述有向图的所有有向边;建立单元,用于使用所述有向边的方向建立约束条件,其中,所述约束条件用于表征在前提条件存在的情况下,才能实现目标结果,所述前提条件和所述目标结果为一对存在依赖关系的业务***组合;确定单元,用于将所述约束条件的逻辑顺序确定为所述业务***组合中两个业务***的发布顺序。
所述装置还包括:发布模块,用于在所述第二确定模块将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序之后,按照所述发布顺序依次发布所述业务***组合中的业务***。
所述第二确定模块包括:解析单元,用于解析所述有向图,得到所述有向图中的孤立点和有向边;第一确定单元,用于按照所述有向边的连通方向,确定每条有向边的起点和终点;第二确定单元,用于在所述多个业务***中确定在所有有向边中仅作为终点的第一元素,在所述多个业务***中确定在所有有向边中在第一有向边中作为终点,同时在第二有向边中作为起点的第二元素,在所述多个业务***中确定在所有有向边中仅作为起点的第三元素;第三确定单元,用于确定所述第一元素的发布顺序为最高级,确定所述第二元素的发布顺序为次高级,确定所述第三元素的发布顺序为最低级。
所述第一确定模块包括之一:第一确定单元,用于确定第一应用程序的目标业务与多个第二应用程序关联的多个业务***;第二确定单元,用于确定第一应用程序的目标业务应用在多个不同服务器上的多个业务***。
需要说明的是,终端和服务器仅是方案在执行主体上的差异,上述识别终端中的各个示例和可选方案同样适应在服务器中,并产生相同的技术效果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;
S2,根据所述多个业务***中业务***之间的依赖关系建立有向图;
S3,根据所述有向图确定所述多个业务***的发布顺序。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;
S2,根据所述多个业务***中业务***之间的依赖关系建立有向图;
S3,根据所述有向图确定所述多个业务***的发布顺序。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种业务***的发布方法,其特征在于,包括:
确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;
根据所述多个业务***中业务***之间的依赖关系建立有向图,其中,所述依赖关系基于对外接口的调用方向确定;
根据所述有向图确定所述多个业务***的发布顺序;
所述根据所述有向图确定所述多个业务***的发布顺序,包括:
解析所述有向图,得到所述有向图中的孤立点和有向边;
按照所述有向边的连通方向,确定每条有向边的起点和终点;
在所述多个业务***中确定在所有有向边中仅作为终点的第一元素,在所述多个业务***中确定在所有有向边中在第一有向边中作为终点,同时在第二有向边中作为起点的第二元素,在所述多个业务***中确定在所有有向边中仅作为起点的第三元素;
确定所述第一元素的发布顺序为最高级,确定所述第二元素的发布顺序为次高级,确定所述第三元素的发布顺序为最低级,所述孤立点对应的发布顺序为随机发布,所述第二元素在收到所述第一元素发布完成通知后发布,所述第三元素在收到所述第二元素发布完成通知后发布。
2.根据权利要求1所述的方法,其特征在于,根据所述业务***中每个业务***之间的依赖关系建立有向图包括:
根据对外接口的调用方向确定业务***组合的依赖关系,其中,所述业务***组合由采用所述对外接口进行通信的两个业务***组成;
统计所有业务***组合的依赖关系,并根据所述依赖关系建立所述有向图。
3.根据权利要求2所 述的方法,其特征在于,根据对外接口的调用方向确定业务***组合的依赖关系包括:
确定所述多个业务***中第一业务***的第一对外接口;
在所述多个业务***中确定一个或多个调用所述第一对外接口的第二业务***,其中,所述业务***组合由所述第一业务***和所述第二业务***组成;
将所述第二业务***作为调用***,所述第一业务***作为被调用***,建立所述第一业务***与所述第二业务***之间的依赖关系。
4.根据权利要求3所 述的方法,其特征在于,根据所述依赖关系建立所述有向图包括:
将所述第二业务***作为起点,所述第一业务***作为终点,所述依赖关系作为关联函数,建立所述有向图的有向边。
5.根据权利要求1所述的方法,其特征在于,根据所述有向图确定所述多个业务***的发布顺序包括:
统计所述有向图的所有有向边;
使用所述有向边的方向建立约束条件,其中,所述约束条件用于表征在前提条件存在的情况下,才能实现目标结果,所述前提条件和所述目标结果为一对存在依赖关系的业务***组合;
将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序。
6.根据权利要求5所述的方法,其特征在于,在将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序之后,所述方法还包括:
按照所述发布顺序依次发布所述业务***组合中的业务***。
7.根据权利要求6所述的方法,其特征在于,按照所述发布顺序依次发布所述业务***组合中的业务***包括:
解析所述约束条件,确定待发布的目标业务***是否存在前提条件;
在所述目标业务***存在前提条件时,等待所述前提条件对应的业务***发布,在确定所述前提条件对应的业务***发布完成后,发布所述目标业务***;在所述目标业务***不存在前提条件时,发布所述目标业务***,在发布完成后,通知目标结果对应的业务***。
8.根据权利要求7所述的方法,其特征在于,确定所述前提条件对应的业务***发布完成包括:
确定是否接收到所述前提条件对应的业务***发送的通知消息,其中,所述通知消息用于指示所述前提条件对应的业务***已经发布完成;
在接收到所述通知消息时,确定所述前提条件对应的业务***发布完成,在未接收到所述通知消息时,确定所述前提条件对应的业务***未发布完成。
9.根据权利要求1所述的方法,其特征在于,确定目标业务的多个业务***包括之一:
确定第一应用程序的目标业务与多个第二应用程序关联的多个业务***;
确定第一应用程序的目标业务应用在多个不同服务器上的多个业务***。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述目标业务包括以下至少之一:点餐业务、转账业务、会话业务、理财业务、红包业务、视频业务。
11.一种业务***的发布装置,其特征在于,包括:
第一确定模块,用于确定目标业务的多个业务***,其中,所述多个业务***中的每个业务***分别对应所述目标业务的一个功能;
建立模块,用于根据所述多个业务***中业务***之间的依赖关系建立有向图,其中,所述依赖关系基于对外接口的调用方向确定;
第二确定模块,用于根据所述有向图确定所述多个业务***的发布顺序;
所述第二确定模块包括:
解析单元,用于解析所述有向图,得到所述有向图中的孤立点和有向边;
第一确定单元,用于按照所述有向边的连通方向,确定每条有向边的起点和终点;
第二确定单元,用于在所述多个业务***中确定在所有有向边中仅作为终点的第一元素,在所述多个业务***中确定在所有有向边中在第一有向边中作为终点,同时在第二有向边中作为起点的第二元素,在所述多个业务***中确定在所有有向边中仅作为起点的第三元素;
第三确定单元,用于确定所述第一元素的发布顺序为最高级,确定所述第二元素的发布顺序为次高级,确定所述第三元素的发布顺序为最低级,所述孤立点对应的发布顺序为随机发布,所述第二元素在收到所述第一元素发布完成通知后发布,所述第三元素在收到所述第二元素发布完成通知后发布。
12.根据权利要求11所述的装置,其特征在于,所述建立模块包括:
确定单元,用于根据对外接口的调用方向确定业务***组合的依赖关系,其中,所述业务***组合由采用所述对外接口进行通信的两个业务***组成;
建立单元,用于统计所有业务***组合的依赖关系,并根据所述依赖关系建立所述有向图。
13.根据权利要求12所 述的装置,其特征在于,所述确定单元包括:
第一确定子单元,用于确定所述多个业务***中第一业务***的第一对外接口;
第二确定子单元,用于在所述多个业务***中确定一个或多个调用所述第一对外接口的第二业务***,其中,所述业务***组合由所述第一业务***和所述第二业务***组成;
第一建立子单元,用于将所述第二业务***作为调用***,所述第一业务***作为被调用***,建立所述第一业务***与所述第二业务***之间的依赖关系。
14.根据权利要求13所 述的装置,其特征在于,所述建立单元包括:
第二建立子单元,用于将所述第二业务***作为起点,所述第一业务***作为终点,所述依赖关系作为关联函数,建立所述有向图的有向边。
15.根据权利要求11所述的装置,其特征在于,所述第二确定模块包括:
统计单元,用于统计所述有向图的所有有向边;
建立单元,用于使用所述有向边的方向建立约束条件,其中,所述约束条件用于表征在前提条件存在的情况下,才能实现目标结果,所述前提条件和所述目标结果为一对存在依赖关系的业务***组合;
确定单元,用于将所述约束条件的逻辑顺序确定为所述业务***组合中两个业务***的发布顺序。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
发布模块,用于在所述第二确定模块将所述约束条件的逻辑顺序确定为所述业务***组合中业务***的发布顺序之后,按照所述发布顺序依次发布所述业务***组合中的业务***。
17.根据权利要求11所述的装置,其特征在于,所述第一确定模块包括之一:
第一确定单元,用于确定第一应用程序的目标业务与多个第二应用程序关联的多个业务***;
第二确定单元,用于确定第一应用程序的目标业务应用在多个不同服务器上的多个业务***。
18.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至10任一项中所述的方法。
19.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811271437.3A CN109636304B (zh) | 2018-10-29 | 2018-10-29 | 业务***的发布方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811271437.3A CN109636304B (zh) | 2018-10-29 | 2018-10-29 | 业务***的发布方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109636304A CN109636304A (zh) | 2019-04-16 |
CN109636304B true CN109636304B (zh) | 2021-04-06 |
Family
ID=66066861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811271437.3A Active CN109636304B (zh) | 2018-10-29 | 2018-10-29 | 业务***的发布方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109636304B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489219B (zh) * | 2019-08-05 | 2022-05-03 | 北京字节跳动网络技术有限公司 | 一种调度功能对象的方法、装置、介质和电子设备 |
CN111813440B (zh) * | 2020-07-21 | 2024-04-19 | 北京千丁互联科技有限公司 | 一种多线程应用发布方法及装置 |
CN111930448B (zh) * | 2020-09-23 | 2020-12-25 | 南京梦饷网络科技有限公司 | 用于服务发布的方法、电子设备和存储介质 |
CN113179329B (zh) * | 2021-05-24 | 2023-07-18 | 深圳平安智汇企业信息管理有限公司 | 服务发布方法及装置、服务器、存储介质 |
CN113468248B (zh) * | 2021-09-06 | 2021-12-21 | 天津中新智冠信息技术有限公司 | 数据统计方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576980A (zh) * | 2009-06-15 | 2009-11-11 | 用友软件股份有限公司 | 业务项目顺序的设置方法和装置 |
CN106487912A (zh) * | 2016-10-26 | 2017-03-08 | 北京荣之联科技股份有限公司 | 多服务应用的管理与发布方法及装置 |
CN106548331A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种确定发布顺序的方法及装置 |
CN108595316A (zh) * | 2018-04-20 | 2018-09-28 | 星环信息科技(上海)有限公司 | 分布式应用的生命周期管理方法、管理器、设备和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133996B2 (en) * | 2014-04-22 | 2018-11-20 | International Business Machines Corporation | Object lifecycle analysis tool |
CN104361073A (zh) * | 2014-11-12 | 2015-02-18 | 河海大学 | 面向用户视图的过程依赖关系分析方法 |
CN108134766B (zh) * | 2016-12-01 | 2020-12-18 | 阿里巴巴集团控股有限公司 | 一种服务发布的方法、装置、***、服务器及客户端 |
-
2018
- 2018-10-29 CN CN201811271437.3A patent/CN109636304B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101576980A (zh) * | 2009-06-15 | 2009-11-11 | 用友软件股份有限公司 | 业务项目顺序的设置方法和装置 |
CN106548331A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种确定发布顺序的方法及装置 |
CN106487912A (zh) * | 2016-10-26 | 2017-03-08 | 北京荣之联科技股份有限公司 | 多服务应用的管理与发布方法及装置 |
CN108595316A (zh) * | 2018-04-20 | 2018-09-28 | 星环信息科技(上海)有限公司 | 分布式应用的生命周期管理方法、管理器、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109636304A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636304B (zh) | 业务***的发布方法及装置、存储介质、电子装置 | |
CN108897854B (zh) | 一种超时任务的监控方法和装置 | |
CN103346974A (zh) | 一种业务流程的控制方法及网络设备 | |
CN105306277A (zh) | 消息队列的消息调度方法及消息调度装置 | |
CN107527222B (zh) | 信息处理方法和装置及*** | |
CN105095977A (zh) | 一种订单分配方法及装置 | |
CN106096926B (zh) | 事件处理方法、装置、电子装置和存储介质 | |
CN111127181A (zh) | 一种凭证记账方法和装置 | |
CN105847231A (zh) | 服务发布方法、装置及*** | |
CN110297815A (zh) | 数据库管理方法、装置、终端及计算机可读存储介质 | |
CN111666539A (zh) | 一种房地产资源管理方法、装置、服务器及存储介质 | |
CN105160540A (zh) | 一种基于线上到线下的服务推广***和方法 | |
CN115641180A (zh) | 一种请求处理的方法、相关装置及设备 | |
CN112948081A (zh) | 延时处理任务的方法、装置、设备以及存储介质 | |
CN112363838A (zh) | 数据处理方法及装置、存储介质、电子装置 | |
CN107730380B (zh) | 联名账户处理方法、***及服务器 | |
CN113056761A (zh) | 支付平台管理方法、设备、支付平台以及计算机存储介质 | |
CN111461599B (zh) | 模式状态的切换方法和装置、存储介质、电子装置 | |
CN110544104B (zh) | 帐号的确定方法、装置、存储介质及电子装置 | |
CN112286662B (zh) | 基于共享资源的任务推送方法、装置、设备及存储介质 | |
CN116341692A (zh) | 坐席分配方法、装置以及存储介质 | |
CN116263926A (zh) | 基于区块链的对账方法、装置和*** | |
CN112799797A (zh) | 一种任务管理的方法和装置 | |
CN111210349A (zh) | 虚拟资产的转托管方法、装置、电子设备和存储介质 | |
WO2018191518A1 (en) | System and method for parsing a natural language communication from a user and automatically generating a response |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |