CN112925648A - 业务策略的发布方法和装置 - Google Patents

业务策略的发布方法和装置 Download PDF

Info

Publication number
CN112925648A
CN112925648A CN202110317809.7A CN202110317809A CN112925648A CN 112925648 A CN112925648 A CN 112925648A CN 202110317809 A CN202110317809 A CN 202110317809A CN 112925648 A CN112925648 A CN 112925648A
Authority
CN
China
Prior art keywords
issuing
logic
service
equipment
strategy
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.)
Granted
Application number
CN202110317809.7A
Other languages
English (en)
Other versions
CN112925648B (zh
Inventor
江绍宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110317809.7A priority Critical patent/CN112925648B/zh
Publication of CN112925648A publication Critical patent/CN112925648A/zh
Application granted granted Critical
Publication of CN112925648B publication Critical patent/CN112925648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本说明书实施例提供了一种业务策略的发布方法和装置。根据该实施例的方法,首先获取用户输入的业务策略数据;然后将业务策略发布请求提供给管理时系统中的设备,由所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;其中所述调度树是根据业务策略发布流程预先抽象得到的,所述调度树的中间节点为分析节点,所述分析节点包括各发布状态对应的判断规则,所述调度树的叶子节点包括版本创建逻辑的执行节点和发布执行逻辑的执行节点。

Description

业务策略的发布方法和装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及业务策略的发布方法和装置。
背景技术
在应用服务不断推陈出新的过程中,会有各种各样的业务策略层出不穷,例如产品定义策略、营销活动策略、风控策略等。另外随着业务规模的持续增长,后台系统集群的规模也越来越大,如何高效、低成本地将业务策略发布上线是企业面临的通用问题。
发明内容
本说明书一个或多个实施例描述了一种业务策略的发布方法和装置,以便于高效、低成本地实现业务策略发布。
根据第一方面,提供了一种业务策略的发布方法,包括:
获取用户输入的业务策略数据;
将业务策略发布请求提供给管理时系统中的设备,由所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;
其中所述调度树是根据业务策略发布流程预先抽象得到的,所述调度树的中间节点为分析节点,所述分析节点包括各发布状态对应的判断规则,所述调度树的叶子节点包括版本创建逻辑的执行节点和发布执行逻辑的执行节点;
所述版本创建逻辑包括将所述业务策略数据存储至目标存储空间;
所述发布执行逻辑包括通知运行时系统中的设备从所述目标存储空间下载并加载所述业务策略数据。
在一个实施例中,所述获取用户输入的业务策略数据包括:
向第一用户提供策略管理界面;
获取所述第一用户通过所述策略管理界面输入的业务策略数据并保存至管理时系统的数据库。
在另一个实施例中,所述获取用户输入的业务策略数据还包括:
向第二用户提供策略审核界面,所述策略审核界面展示所述业务策略数据;
获取所述第二用户通过所述策略审核界面输入的审核结果,如果审核通过,则继续执行所述将业务策略发布请求提供给管理时系统中的设备。
在一个实施例中,所述将业务策略发布请求提供给管理时系统中的设备包括:
将业务策略发布请求提供给管理时系统中当前抢占分布式锁的设备。
在另一个实施例中,该方法还包括:
通过心跳保持机制检测所述当前抢占分布式锁的设备状态以维护分布式锁状态;
记录发布状态以便于抢占分布式锁的设备发生变化时,当前抢占分布式锁的设备依据当前发布状态执行对应的执行节点。
在一个实施例中,在由所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点之前,还包括:
基于预设的前置校验规则,对所述业务策略数据进行校验;
若校验成功,则触发所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;若校验失败,则依据预设的失败规则进行处理。
在另一个实施例中,所述依据调度树和当前发布状态执行对应的执行节点包括:
依据当前发布状态逐层执行分析节点得到命中的执行节点;
执行命中的执行节点。
在一个实施例中,将所述业务策略数据存储至目标存储空间包括:将所述业务策略数据压缩为特定版本的文件包,并上传至文件服务器以获得http源;
所述通知运行时系统中的设备从所述目标存储空间下载所述业务策略数据包括:将所述http源的信息发送给运行时系统中的设备上运行的点对点P2P文件客户端;其中,所述运行时系统中的设备集群组成P2P文件分发网络。
在另一个实施例中,所述叶子节点还包括业务确认逻辑的执行节点、回滚逻辑的执行节点以及容错逻辑的执行节点中的至少一种;
所述业务确认逻辑包括对业务策略数据的效果进行风险监测,并将监测结果提供给第三用户;
所述回滚逻辑包括通知运行时系统中的设备下载并加载上一版本的业务策略数据;
所述容错逻辑包括若接收到运行时系统中低于预设比例阈值的设备反馈所述业务策略数据加载失败的信息,则忽略所述加载失败的信息。
在一个实施例中,所述当前发布状态包括当前发布批次;
若依据当前发布状态执行发布执行逻辑的执行节点,则通知运行时系统中所述当前发布批次对应的设备。
根据第二方面,提供了一种业务策略的发布装置,包括:
产品操作层单元,被配置为获取用户输入的业务策略数据;
智能调度层单元,被配置为将业务策略发布请求提供给管理时系统中的设备;调度管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;
其中所述调度树是根据业务策略发布流程预先抽象得到的,所述调度树的中间节点为分析节点,所述分析节点包括各发布状态对应的判断规则,所述调度树的叶子节点包括版本创建逻辑的执行节点和发布执行逻辑的执行节点;
所述版本创建逻辑包括将所述业务策略数据存储至目标存储空间;
所述发布执行逻辑包括通知运行时系统中的设备从所述目标存储空间下载并加载所述业务策略数据。
在一个实施例中,所述产品操作层单元包括:
策略管理模块,被配置为向第一用户提供策略管理界面;获取所述第一用户通过所述策略管理界面输入的业务策略数据并保存至管理时系统的数据库。
在另一个实施例中,所述产品操作层单元还包括:
策略审核模块,被配置为向第二用户提供策略审核界面,所述策略审核界面展示所述业务策略数据;获取所述第二用户通过所述策略审核界面输入的审核结果,如果审核通过,则将业务策略发布请求提供给管理时系统中的设备。
在一个实施例中,所述智能调度层单元包括:
启动模块,被配置为将业务策略发布请求提供给管理时系统中当前抢占分布式锁的设备。
在另一个实施例中,所述启动模块,具体被配置为通过心跳保持机制检测所述当前抢占分布式锁的设备状态以维护分布式锁状态;记录发布状态以便于抢占分布式锁的设备发生变化时,当前抢占分布式锁的设备依据当前发布状态执行对应的执行节点。
在一个实施例中,所述智能调度层单元包括:
校验模块,被配置为基于预设的前置校验规则,对所述业务策略数据进行校验;
调度模块,被配置为若所述校验模块的校验结果为校验成功,则依据调度树和当前发布状态确定对应的执行节点;若所述校验模块的校验结果为校验失败,则依据预设的失败规则进行处理。
在另一个实施例中,所述智能调度层单元包括:
调度模块,被配置为依据当前发布状态逐层执行分析节点得到命中的执行节点。
在一个实施例中,还包括核心发布层单元,所述核心发布层单元包括:
版本创建模块,被配置为在所述命中的执行节点为版本创建逻辑时,将所述业务策略数据压缩为特定版本的文件包,并上传至文件服务器以获得http源;
发布执行模块,被配置为在所述命中的执行节点为发布执行逻辑时,将所述http源的信息发送给运行时系统中的设备上运行的点对点P2P文件客户端;其中,所述运行时系统中的设备集群组成P2P文件分发网络。
在另一个实施例中,所述叶子节点还包括业务确认逻辑的执行节点、回滚逻辑的执行节点以及容错逻辑的执行节点中的至少一种;
所述核心发布层单元还包括以下模块中的至少一种:
业务确认模块,被配置为在所述命中的执行节点为业务确认逻辑时,对业务策略数据的效果进行风险监测,并将监测结果提供给第三用户;
回滚模块,被配置为在所述命中的执行节点为回滚逻辑时,通知运行时系统中的设备下载并加载上一版本的业务策略数据;
容错模块,被配置为在所述命中的执行节点为容错逻辑时,若接收到运行时系统中低于预设比例阈值的设备反馈所述业务策略数据加载失败的信息,则忽略所述加载失败的信息。
在一个实施例中,所述当前发布状态包括当前发布批次;
所述调度模块,被配置为若依据当前发布状态命中发布执行逻辑的执行节点,则通知运行时系统中所述当前发布批次对应的设备。
根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的方法和装置,本公开基于预先将业务策略发布流程抽象得到的调度树,使得管理时系统中的设备能够在获取到业务策略发布请求后,依据当前发布状态执行调度树中对应的执行节点,包括业务策略数据的版本创建逻辑和发布执行逻辑,从而实现业务策略发布的自动化。用户仅需要输入业务策略数据即可,无需推进业务策略的发布流程,节约了人力成本,提高了效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本公开一实施例提供的系统架构的示意图;
图2示出了根据一个实施例的业务策略的发布方法的流程图;
图3示出了根据一个实施例的获取用户输入的业务策略数据的方法流程图;
图4示出了根据一个实施例的实现步骤203的具体方法流程图;
图5示出了根据一个实施例的调度树的组成示意图;
图6示出了根据一个实施例的业务策略的发布装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
目前绝大多数的平台在进行业务策略的发布时,面临的主要问题包括:需要配置人员逐批触发和推进业务策略的发布流程。这必然耗费了大量的人力,成本高且效率低下。
在本说明书中则提供了一种自动化的业务策略发布方法。为了方便对本公开的理解,首先对本公开所涉及的系统架构进行简单描述。如图1中所示,该系统架构主要包括:管理时系统和运行时系统。
其中管理时系统是发布平台的管理系统,主要负责管理整个业务策略的发布流程,同时也是面向用户(在本公开中涉及的用户均是业务策略发布的管理或配置人员),由用户直接操作使用的系统。在管理时系统中可以包括至少一个设备,例如服务器、具有较强计算能力的计算机设备等等。图1中以m个设备构成的集群为例,m为正整数。
运行时系统是发布平台的目标系统,也就是在业务策略发布过程中会实际记载业务策略数据并生效的系统。在运行时系统中同样可以包括至少一个设备,通常是服务器,且以设备集群形式存在。如图1中以n个设备构成的集群为例。
另外在该系统架构中,还可以包括数据库、文件服务器等其他设备,在图1中均示意性示出。具体功能将在后续实施例中详述。
图2示出根据一个实施例的业务策略的发布方法的流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。特别地,可以由图1中所示的管理时系统中的设备执行。如图2所示,该方法包括:
步骤201,获取用户输入的业务策略数据。
步骤203,将业务策略发布请求提供给管理时系统中的设备,由管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点。其中调度树是根据业务策略发布流程预先抽象得到的,调度树的中间节点为分析节点,分析节点包括各发布状态对应的判断规则,调度树的叶子节点至少包括版本创建逻辑的执行节点和发布执行逻辑的执行节点。
其中,版本创建逻辑包括将业务策略数据存储至目标存储空间。
发布执行逻辑包括通知运行时系统中的设备从目标存储空间下载并加载业务策略数据。
由以上流程可以看出,本公开基于预先将业务策略发布流程抽象得到的调度树,使得管理时系统中的设备能够在获取到业务策略发布请求后,依据当前发布状态执行调度树中对应的执行节点,包括业务策略数据的版本创建逻辑和发布执行逻辑,从而实现业务策略发布的自动化。用户仅需要输入业务策略数据即可,无需推进业务策略的发布流程,节约了人力成本,提高了效率。
下面描述图2所示的各个步骤的执行方式。
首先结合实施例对步骤201即“获取用户输入的业务策略数据”进行详细描述。
图3示出了根据一个实施例的获取用户输入的业务策略数据的方法流程图,如图3中所示,该方法可以包括以下步骤:
步骤301:向第一用户提供策略管理界面。
步骤303:获取第一用户通过策略管理界面输入的业务策略数据并保存至管理时系统的数据库。
上述的第一用户可以是诸如业务策略运营人员。业务策略运营人员可以在策略管理界面上创建、编辑业务策略数据。其中业务策略数据是针对不同业务场景或形势的发展要求,指定出的特定应对方案的相关数据。例如可以是风控策略数据、营销策略数据等等。其中风控策略可以是诸如“对1分钟内发生支付100次的用户进行账号禁用的控制”。营销策略可以是诸如“8点开奖;一等奖1个,概率1%;二等奖3个,概率3%”。
更进一步地,在很多场景下业务策略运营人员制定出业务策略数据之后,需要提交业务策略审核人员审核。因此,作为一种优选的实施方式,可以进一步执行以下步骤。
步骤305:向第二用户提供策略审核界面,以展示上述业务策略数据。
上述的第二用户可以是诸如业务策略审核人员,通常可以是业务策略运营人员的主管。
步骤307:获取第二用户通过策略审核界面输入的审核结果,如果审核通过,则继续执行图2中的步骤203;否则转至步骤301,由第一用户重新输入业务策略数据或者对业务策略数据进行修改。
另外若审核未通过,除了由第一用户重新输入业务策略数据或者对业务策略数据进行修改之外,也可以直接结束当前的业务策略的发布流程。当用户调整或修改业务策略数据后,重新开始新的业务策略的发布流程。
下面结合实施例对步骤203即“将业务策略发布请求提供给管理时系统中的设备,由管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点”进行详细描述。
图4示出了根据一个实施例的实现步骤203的具体方法流程图,如图4中所示,可以包括以下步骤:
步骤401:将业务策略发布请求提供给管理时系统中当前抢占分布式锁的设备。
在本步骤中可以启动一个定时任务,定时轮询业务策略发布请求。该定时任务随着后台应用启动而启动,且永远驻留后台执行。
如果管理时系统中仅具有一台设备,或者由管理时系统中设备集群的设定设备来执行业务策略发布处理,则直接将该业务策略发布请求提供给该一台设备或者设定设备。
但由于通常情况下管理时系统中设备是以集群形式存在的,为了保证性能,在本公开实施例中可以采用抢占分布式锁的方式确定执行业务策略发布处理的设备。分布式锁是控制分布式系统之间访问共享资源的一种方式,即需要分布式系统的设备之间互斥来防止彼此干扰。
管理时系统中的设备中执行业务策略发布处理的应用启动后,都会尝试抢占分布式锁。抢占成功的设备会在锁数据中记录本设备的IP地址,确保执行业务策略发布只在本设备执行,同时通过心跳保持机制持续占锁。具体地,抢占分布式锁的设备每隔一段时间采用心跳保持机制通知其他设备“已抢占锁”。
一旦抢占分布式锁的设备宕机,分布式锁将进入无主状态,管理时系统中的其他设备重新尝试抢占锁。其他设备抢占成功后,业务策略发布处理迁移至该新的抢占成功的设备执行。
作为定时任务而言,可以通过心跳保持机制检测当前抢占分布式锁的设备状态以维护分布式锁状态。并且记录发布状态以便于抢占分布式锁的设备发生变化时,当前抢占分布式锁的设备依据当前发布状态执行对应的执行节点。
也就是说,定时任务需要记录业务策略的发布状态,即发布到哪个阶段的具体状态信息。一旦发生抢占分布式锁的设备发生变更,新的抢占分布式锁的设备就能够依据当前发布状态接续处理业务策略的发布流程。
步骤403:基于预设的前置校验规则,对所述业务策略数据进行校验;如果校验成功,则执行407;否则,执行步骤405。
本步骤中涉及的校验处理是可选的步骤。本公开提供了可进行前置校验的机制,具体采用的前置校验内容可以是诸如时间窗口校验、紧急发布校验、参数格式校验等等。本公开对具体的校验内容并不加以限制。
步骤405:依据预设的失败规则进行处理。
关于校验失败的处理可以预先通过失败规则进行设置,例如设置为给用户提示,即校验失败则将校验失败的结果提示给用户,停止当前的业务策略发布流程。
步骤407:依据调度树和当前分布状态确定对应的执行节点。
在本公开中预先根据业务策略发布流程抽象得到调度树。调度树是由各节点构成的树形结构,其中,中间节点为分析节点,叶子节点为执行节点。如图5中所示。需要说明的是,图5中所示的层次数量和节点数量均是示意性的,并不产生限制作用。
分析节点包括各发布状态对应的判断规则,执行节点包括业务策略发布过程中需要执行的各种逻辑。通过当前发布状态在调度树中经过分析节点的判断规则,能够最终命中一个执行节点,从而执行该执行节点对应的逻辑。
由于分析节点所采用的判断规则可能会发生变化,且变化的频率较高,因此可以将分析节点的判断规则存储为外部可变的动态配置信息,使得通过修改该配置信息即可实现判断规则的修改。
步骤409:执行确定的执行节点,包括版本创建逻辑、发布执行逻辑、业务确认逻辑、回滚逻辑或容错逻辑。
其中,版本创建逻辑包括将业务策略数据存储至目标存储空间。
具体地,目标存储空间可以是数据库或者集中式文件存储服务器,这种情况下运行时系统中的设备可以从数据库或集中式文件存储服务器中获取业务策略数据。
发布执行逻辑包括通知运行时系统中的设备从所述目标存储空间下载并加载所述业务策略数据。
如果在版本创建逻辑中目标存储空间是数据库或集中式文件存储服务,则运行时系统中的设备从数据库或集中式文件存储服务器下载并加载业务策略数据。
但这种方式在运行时系统中设备规模较大时,容易导致与数据库或集中式文件存储服务器的连接数过大,网络带宽会迅速耗尽,甚至引发连接风暴。
因此,本公开提供了一种优选的实施方式,即在发布执行逻辑中将业务策略数据压缩为特定版本的文件包,并上传至文件服务器以获得http源。在发布执行逻辑中该http源作为入参提供给运行时系统中的设备使用。在运行时系统的各设备中均安装并运行有P2P(点对点)文件客户端,P2P文件客户端可以依据http源的信息下载业务策略数据的文件包。由于运行时系统组成P2P文件分发网络,已下载文件包的设备也同时作为其他设备的下载源,实现了文件包的高效分发下载,解决了集中式存储所引发的网络带宽耗尽和连接风暴的问题。
也就是说,业务策略数据的文件包首先作为要分发的数据被上传到文件服务器(Seeder)。在P2P文件分发网中,运行有P2P文件客户端的运行时系统中的设备(即内容分发网络中的Peer)是分批下载业务策略数据的文件包的。首台设备可以从文件服务器下载,在下载后也同时能够为其他设备提供下载服务。在服务器端可以存在一个追踪器(Tracker),每个设备加载业务策略数据的文件包后都更新自己的状态至Tracker,其他设备通过向Tracker查询就可以获取到从哪些服务器和设备上能够下载业务策略数据的文件包,并基于诸如就近策略等下载业务策略数据的文件包。
经过实验比对后发现,使用上述P2P文件分发网络的方式加载业务策略数据比集中式文件存储方式的加载耗时减少了约30倍。
更进一步地,对于运行时系统中的设备数量众多的情况下,业务策略的发布执行可以分批进行。即在上述步骤407中可以依据分批执行的设置信息确定当前批次所对应的运行时系统中的设备信息。那么在发布执行逻辑中就触发当前批次所对应的运行时系统中的设备下载并加载业务策略数据的文件包。
其中分批执行的配置信息可以是固定配置,也可以由第一用户在输入业务策略数据时一并输入。
业务确认逻辑包括对业务策略数据的效果进行风险监测,并将监测结果提供给第三用户。
在业务确认逻辑中主要是获取运行时系统中设备对业务策略加载的反馈状况。在本公开实施例中在业务确认逻辑中增加了风险监测功能,对业务策略数据的效果进行风险监测,并提供给第三用户,例如专门的监测人员或者策略运营人员。由第三方用户进行观察和确认。
其中在进行风险监测时可以采用多种监测方式,例如采用流式计算技术实时分析业务和技术的核心监控指标在业务策略的发布期间是否存在异常,将业务确认效果缩减至秒级别的时延。且这种自动的风险监测方式无需依赖人为监测,用户仅需要观察异常的监测结果即可,降低了人力成本。
回滚逻辑包括通知运行时系统中的设备下载并加载上一版本的业务策略数据。
容错逻辑包括若接收到运行时系统中低于预设比例阈值的设备反馈业务策略数据加载失败的信息,则忽略加载失败的信息。在很多业务场景下是允许少量运行时系统中的设备出现业务策略数据加载失败的情况的,例如1万台设备中允许10台设备业务策略数据加载失败。那么在此范围内存在的业务策略数据加载失败的情况可以对其进行忽略;否则可以进行上报等处理。
其中业务策略数据加载失败可以包括诸如业务策略数据加载超时、下载失败、加载异常等等。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种业务策略的发布装置。图6示出根据一个实施例的业务策略的发布装置的示意性框图。可以理解,该装置可以通过任何具有计算、处理能力的装置、设备、平台和设备集群来实现。特别地,可以通过管理时系统中的设备来实现。如图6所示,该装置600可以包括:产品操作层单元610和智能调度层单元620,还可以包括核心发布层单元630。其中各组成单元的主要功能如下:
产品操作层单元610,被配置为获取用户输入的业务策略数据。
智能调度层单元620,被配置为将业务策略发布请求提供给管理时系统中的设备;调度管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点。
其中调度树是根据业务策略发布流程预先抽象得到的,调度树的中间节点为分析节点,分析节点包括各发布状态对应的判断规则,调度树的叶子节点包括版本创建逻辑的执行节点和发布执行逻辑的执行节点。
上述的版本创建逻辑包括将业务策略数据存储至目标存储空间。
发布执行逻辑包括通知运行时系统中的设备从目标存储空间下载并加载业务策略数据。
作为一种优选的实施方式,产品操作层单元610可以包括策略管理模块611,还可以进一步包括策略审核模块612。
策略管理模块611,被配置为向第一用户提供策略管理界面;获取第一用户通过策略管理界面输入的业务策略数据并保存至管理时系统的数据库。
上述的第一用户可以是诸如业务策略运营人员。业务策略运营人员可以在策略管理界面上创建、编辑业务策略数据。
策略审核模块612,被配置为向第二用户提供策略审核界面,策略审核界面展示业务策略数据;获取第二用户通过策略审核界面输入的审核结果,如果审核通过,则将业务策略发布请求提供给管理时系统中的设备。
上述的第二用户可以是诸如业务策略审核人员。如果审核未通过,则可以提示第一用户重新输入业务策略数据或者对业务策略数据进行修改;也可以直接结束当前的业务策略的发布流程。
作为一种可实现的方式,智能调度层单元620可以包括启动模块621,还可以包括校验模块622和调度模块623。
其中上述启动模块621可以启动一个定时任务,定时轮询业务策略发布请求。该定时任务随着后台应用启动而启动,且永远驻留后台执行。
如果管理时系统中仅具有一台设备,或者由管理时系统中设备集群的设定设备来执行业务策略发布处理。但由于通常情况下管理时系统中设备是以集群形式存在的,为了保证性能,在本公开实施例中可以采用抢占分布式锁的方式确定执行业务策略发布处理的设备。这种情况下,启动模块621,被配置为将业务策略发布请求提供给管理时系统中当前抢占分布式锁的设备。
作为一种优选的实施方式,启动模块621,可以具体被配置为通过心跳保持机制检测当前抢占分布式锁的设备状态以维护分布式锁状态;记录发布状态以便于抢占分布式锁的设备发生变化时,当前抢占分布式锁的设备依据当前发布状态执行对应的执行节点。
管理时系统中的设备中执行业务策略发布处理的应用启动后,都会尝试抢占分布式锁。抢占成功的设备会在锁数据中记录本设备的IP地址,确保执行业务策略发布只在本设备执行,同时通过心跳保持机制持续占锁。具体地,抢占分布式锁的设备每隔一段时间采用心跳保持机制通知其他设备“已抢占锁”。
一旦抢占分布式锁的设备宕机,分布式锁将进入无主状态,管理时系统中的其他设备重新尝试抢占锁。其他设备抢占成功后,业务策略发布处理迁移至该新的抢占成功的设备执行。
校验模块622,被配置为基于预设的前置校验规则,对业务策略数据进行校验。
具体采用的前置校验内容可以是诸如时间窗口校验、紧急发布校验、参数格式校验等等。本公开对具体的校验内容并不加以限制。
调度模块623,被配置为若校验模块622的校验结果为校验成功,则依据调度树和当前发布状态确定对应的执行节点;若校验模块622的校验结果为校验失败,则依据预设的失败规则进行处理。例如设置为给用户提示,即校验失败则将校验失败的结果提示给用户,停止当前的业务策略发布流程。
作为一种优选的实施方式,调度模块623,被配置为依据当前发布状态逐层执行分析节点得到命中的执行节点。
在本公开中预先根据业务策略发布流程抽象得到调度树。调度树是由各节点构成的树形结构,其中,中间节点为分析节点,叶子节点为执行节点。分析节点包括各发布状态对应的判断规则,执行节点包括业务策略发布过程中需要执行的各种逻辑。通过当前发布状态在调度树中经过分析节点的判断规则,能够最终命中一个执行节点,从而执行该执行节点对应的逻辑。
由于分析节点所采用的判断规则可能会发生变化,且变化的频率较高,因此可以将分析节点的判断规则存储为外部可变的动态配置信息,使得通过修改该配置信息即可实现判断规则的修改。
作为一种优选的实施方式,当前发布状态可以包括当前发布批次。相应地,调度模块623,可以被配置为若依据当前发布状态命中发布执行逻辑的执行节点,则通知运行时系统中当前发布批次对应的设备。
作为一种可实现的方式,核心发布层单元630可以包括:
版本创建模块631,被配置为在命中的执行节点为版本创建逻辑时,将业务策略数据压缩为特定版本的文件包,并上传至文件服务器以获得http源。
发布执行模块632,被配置为在命中的执行节点为发布执行逻辑时,将http源的信息发送给运行时系统中的设备上运行的点对点P2P文件客户端;其中,运行时系统中的设备集群组成P2P文件分发网络。
除了上述版本创建逻辑和发布执行逻辑之外,上述叶子节点还可以包括业务确认逻辑的执行节点、回滚逻辑的执行节点以及容错逻辑的执行节点中的至少一种。
相应地,核心发布层单元630还包括以下模块中的至少一种:
业务确认模块633,被配置为在命中的执行节点为业务确认逻辑时,对业务策略数据的效果进行风险监测,并将监测结果提供给第三用户。
回滚模块634,被配置为在命中的执行节点为回滚逻辑时,通知运行时系统中的设备下载并加载上一版本的业务策略数据。
容错模块635,被配置为在命中的执行节点为容错逻辑时,若接收到运行时系统中低于预设比例阈值的设备反馈业务策略数据加载失败的信息,则忽略加载失败的信息。
由以上对装置的描述可以看出,上述装置实际上在软件层面分为了三层:产品操作层、智能调度层和核心发布层。对于整个系统而言,在软件层面还包括策略加载层和存储中间件。
其中策略加载层主要对应于运行时系统中的设备的软件实现。即运行时系统中的设备通过P2P客户端构成P2P文件分发网络以实现业务策略数据的下载、加载。具体过程在上述实施例中已经描述。
存储中间件主要包括诸如数据库、缓存、P2P文件服务、消息队列等。上述的数据库主要用以存储从第一用户获取的业务策略数据。管理时系统中的设备从数据库读取业务策略数据后,将业务策略数据加载至缓存,并压缩成文件包,上传至P2P文件服务(即对应上述实施例中的文件服务器)。运行时系统中的设备从文件服务器或者其他已下载业务策略数据的文件包的设备下载业务策略数据的文件包,在缓存中进行解压和加载。然后将加载执行结果反馈给管理时系统中的设备,反馈结果可以发送至上述消息队列中。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2、图3或图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2、图3或图4所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (21)

1.业务策略的发布方法,包括:
获取用户输入的业务策略数据;
将业务策略发布请求提供给管理时系统中的设备,由所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;
其中所述调度树是根据业务策略发布流程预先抽象得到的,所述调度树的中间节点为分析节点,所述分析节点包括各发布状态对应的判断规则,所述调度树的叶子节点包括版本创建逻辑的执行节点和发布执行逻辑的执行节点;
所述版本创建逻辑包括将所述业务策略数据存储至目标存储空间;
所述发布执行逻辑包括通知运行时系统中的设备从所述目标存储空间下载并加载所述业务策略数据。
2.根据权利要求1所述的方法,其中,所述获取用户输入的业务策略数据包括:
向第一用户提供策略管理界面;
获取所述第一用户通过所述策略管理界面输入的业务策略数据并保存至管理时系统的数据库。
3.根据权利要求2所述的方法,其中,所述获取用户输入的业务策略数据还包括:
向第二用户提供策略审核界面,所述策略审核界面展示所述业务策略数据;
获取所述第二用户通过所述策略审核界面输入的审核结果,如果审核通过,则继续执行所述将业务策略发布请求提供给管理时系统中的设备。
4.根据权利要求1所述的方法,其中,所述将业务策略发布请求提供给管理时系统中的设备包括:
将业务策略发布请求提供给管理时系统中当前抢占分布式锁的设备。
5.根据权利要求4所述的方法,该方法还包括:
通过心跳保持机制检测所述当前抢占分布式锁的设备状态以维护分布式锁状态;
记录发布状态以便于抢占分布式锁的设备发生变化时,当前抢占分布式锁的设备依据当前发布状态执行对应的执行节点。
6.根据权利要求1所述的方法,其中,在由所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点之前,还包括:
基于预设的前置校验规则,对所述业务策略数据进行校验;
若校验成功,则触发所述管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;若校验失败,则依据预设的失败规则进行处理。
7.根据权利要求1所述的方法,其中,所述依据调度树和当前发布状态执行对应的执行节点包括:
依据当前发布状态逐层执行分析节点得到命中的执行节点;
执行命中的执行节点。
8.根据权利要求1所述的方法,其中,将所述业务策略数据存储至目标存储空间包括:将所述业务策略数据压缩为特定版本的文件包,并上传至文件服务器以获得http源;
所述通知运行时系统中的设备从所述目标存储空间下载所述业务策略数据包括:将所述http源的信息发送给运行时系统中的设备上运行的点对点P2P文件客户端;其中,所述运行时系统中的设备集群组成P2P文件分发网络。
9.根据权利要求1所述的方法,其中,所述叶子节点还包括业务确认逻辑的执行节点、回滚逻辑的执行节点以及容错逻辑的执行节点中的至少一种;
所述业务确认逻辑包括对业务策略数据的效果进行风险监测,并将监测结果提供给第三用户;
所述回滚逻辑包括通知运行时系统中的设备下载并加载上一版本的业务策略数据;
所述容错逻辑包括若接收到运行时系统中低于预设比例阈值的设备反馈所述业务策略数据加载失败的信息,则忽略所述加载失败的信息。
10.根据权利要求1所述的方法,其中,所述当前发布状态包括当前发布批次;
若依据当前发布状态执行发布执行逻辑的执行节点,则通知运行时系统中所述当前发布批次对应的设备。
11.业务策略的发布装置,包括:
产品操作层单元,被配置为获取用户输入的业务策略数据;
智能调度层单元,被配置为将业务策略发布请求提供给管理时系统中的设备;调度管理时系统中的设备依据调度树和当前发布状态执行对应的执行节点;
其中所述调度树是根据业务策略发布流程预先抽象得到的,所述调度树的中间节点为分析节点,所述分析节点包括各发布状态对应的判断规则,所述调度树的叶子节点包括版本创建逻辑的执行节点和发布执行逻辑的执行节点;
所述版本创建逻辑包括将所述业务策略数据存储至目标存储空间;
所述发布执行逻辑包括通知运行时系统中的设备从所述目标存储空间下载并加载所述业务策略数据。
12.根据权利要求11所述的装置,其中,所述产品操作层单元包括:
策略管理模块,被配置为向第一用户提供策略管理界面;获取所述第一用户通过所述策略管理界面输入的业务策略数据并保存至管理时系统的数据库。
13.根据权利要求12所述的装置,其中,所述产品操作层单元还包括:
策略审核模块,被配置为向第二用户提供策略审核界面,所述策略审核界面展示所述业务策略数据;获取所述第二用户通过所述策略审核界面输入的审核结果,如果审核通过,则将业务策略发布请求提供给管理时系统中的设备。
14.根据权利要求11所述的装置,其中,所述智能调度层单元包括:
启动模块,被配置为将业务策略发布请求提供给管理时系统中当前抢占分布式锁的设备。
15.根据权利要求14所述的装置,其中,所述启动模块,具体被配置为通过心跳保持机制检测所述当前抢占分布式锁的设备状态以维护分布式锁状态;记录发布状态以便于抢占分布式锁的设备发生变化时,当前抢占分布式锁的设备依据当前发布状态执行对应的执行节点。
16.根据权利要求11所述的装置,其中,所述智能调度层单元包括:
校验模块,被配置为基于预设的前置校验规则,对所述业务策略数据进行校验;
调度模块,被配置为若所述校验模块的校验结果为校验成功,则依据调度树和当前发布状态确定对应的执行节点;若所述校验模块的校验结果为校验失败,则依据预设的失败规则进行处理。
17.根据权利要求11所述的装置,其中,所述智能调度层单元包括:
调度模块,被配置为依据当前发布状态逐层执行分析节点得到命中的执行节点。
18.根据权利要求17所述的装置,还包括核心发布层单元,所述核心发布层单元包括:
版本创建模块,被配置为在所述命中的执行节点为版本创建逻辑时,将所述业务策略数据压缩为特定版本的文件包,并上传至文件服务器以获得http源;
发布执行模块,被配置为在所述命中的执行节点为发布执行逻辑时,将所述http源的信息发送给运行时系统中的设备上运行的点对点P2P文件客户端;其中,所述运行时系统中的设备集群组成P2P文件分发网络。
19.根据权利要求18所述的装置,其中,所述叶子节点还包括业务确认逻辑的执行节点、回滚逻辑的执行节点以及容错逻辑的执行节点中的至少一种;
所述核心发布层单元还包括以下模块中的至少一种:
业务确认模块,被配置为在所述命中的执行节点为业务确认逻辑时,对业务策略数据的效果进行风险监测,并将监测结果提供给第三用户;
回滚模块,被配置为在所述命中的执行节点为回滚逻辑时,通知运行时系统中的设备下载并加载上一版本的业务策略数据;
容错模块,被配置为在所述命中的执行节点为容错逻辑时,若接收到运行时系统中低于预设比例阈值的设备反馈所述业务策略数据加载失败的信息,则忽略所述加载失败的信息。
20.据权利要求17所述的装置,其中,所述当前发布状态包括当前发布批次;
所述调度模块,被配置为若依据当前发布状态命中发布执行逻辑的执行节点,则通知运行时系统中所述当前发布批次对应的设备。
21.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
CN202110317809.7A 2021-03-25 2021-03-25 业务策略的发布方法和装置 Active CN112925648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110317809.7A CN112925648B (zh) 2021-03-25 2021-03-25 业务策略的发布方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110317809.7A CN112925648B (zh) 2021-03-25 2021-03-25 业务策略的发布方法和装置

Publications (2)

Publication Number Publication Date
CN112925648A true CN112925648A (zh) 2021-06-08
CN112925648B CN112925648B (zh) 2024-01-12

Family

ID=76175957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110317809.7A Active CN112925648B (zh) 2021-03-25 2021-03-25 业务策略的发布方法和装置

Country Status (1)

Country Link
CN (1) CN112925648B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785640A (zh) * 2022-06-23 2022-07-22 奇秦科技(北京)股份有限公司 一种物联网网关集群组件设计方法
CN115878648A (zh) * 2023-02-22 2023-03-31 成都成电医星数字健康软件有限公司 数据逻辑时序自动调整方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829160A (zh) * 2005-03-01 2006-09-06 联想(北京)有限公司 一种混合策略加载系统及实现策略管理的方法
CN102523291A (zh) * 2011-12-16 2012-06-27 北京邮电大学 实现移动对等网络流媒体体验质量策略管理的模型架构
CN103248521A (zh) * 2013-04-28 2013-08-14 华为技术有限公司 一种业务策略规则配置的方法、装置及通信系统
CN103260193A (zh) * 2012-02-17 2013-08-21 中国移动通信集团广东有限公司 策略控制装置与方法
CN104486421A (zh) * 2014-12-18 2015-04-01 上海斐讯数据通信技术有限公司 一种无线业务系统云平台业务策略管理的实现方法
US20160142331A1 (en) * 2014-11-14 2016-05-19 Xpliant Packet scheduling using hierarchical scheduling process with priority propagation
US20200136898A1 (en) * 2018-10-24 2020-04-30 Cox Communications, Inc. Systems and Methods for Network Configuration Management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829160A (zh) * 2005-03-01 2006-09-06 联想(北京)有限公司 一种混合策略加载系统及实现策略管理的方法
CN102523291A (zh) * 2011-12-16 2012-06-27 北京邮电大学 实现移动对等网络流媒体体验质量策略管理的模型架构
CN103260193A (zh) * 2012-02-17 2013-08-21 中国移动通信集团广东有限公司 策略控制装置与方法
CN103248521A (zh) * 2013-04-28 2013-08-14 华为技术有限公司 一种业务策略规则配置的方法、装置及通信系统
US20160142331A1 (en) * 2014-11-14 2016-05-19 Xpliant Packet scheduling using hierarchical scheduling process with priority propagation
CN104486421A (zh) * 2014-12-18 2015-04-01 上海斐讯数据通信技术有限公司 一种无线业务系统云平台业务策略管理的实现方法
US20200136898A1 (en) * 2018-10-24 2020-04-30 Cox Communications, Inc. Systems and Methods for Network Configuration Management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高原;顾文杰;彭晖;陈鹏;季学纯;: "基于调度树的分布式文件系统数据流调度算法研究", 江苏科技信息, no. 27 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785640A (zh) * 2022-06-23 2022-07-22 奇秦科技(北京)股份有限公司 一种物联网网关集群组件设计方法
CN115878648A (zh) * 2023-02-22 2023-03-31 成都成电医星数字健康软件有限公司 数据逻辑时序自动调整方法、装置、电子设备及存储介质
CN115878648B (zh) * 2023-02-22 2023-05-05 成都成电医星数字健康软件有限公司 数据逻辑时序自动调整方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112925648B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
WO2020253347A1 (zh) 一种容器集群管理方法、装置及系统
US8819701B2 (en) Cloud computing monitoring and management system
US7844969B2 (en) Goal-oriented predictive scheduling in a grid environment
US9003389B2 (en) Generating an encoded package profile based on executing host processes
US9454469B2 (en) Cloud-based test execution
US9602599B2 (en) Coordinating application migration processes
US20100153482A1 (en) Cloud-Based Automation of Resources
US20080196107A1 (en) Centralized Configuration Data Management For Distributed Clients
US10505881B2 (en) Generating message envelopes for heterogeneous events
CN112035228A (zh) 一种资源调度方法及装置
CN112925648B (zh) 业务策略的发布方法和装置
US9973306B2 (en) Freshness-sensitive message delivery
US10372572B1 (en) Prediction model testing framework
CN113064744A (zh) 任务处理方法、装置、计算机可读介质及电子设备
CN111367629A (zh) 一种延时任务处理方法及装置
CN116155771A (zh) 网络异常测试方法、装置、设备、存储介质和程序
US20090089772A1 (en) Arrangement for scheduling jobs with rules and events
US20170068706A1 (en) Event-stream searching using compiled rule patterns
CN115694699A (zh) 时延参数采集方法、装置、电子设备及存储介质
CN114006815B (zh) 云平台节点的自动化部署方法、装置、节点及存储介质
CN112825525A (zh) 用于处理事务的方法和装置
CN111082964B (zh) 一种配置信息的分发方法和装置
CN111722917A (zh) 性能测试任务的资源调度方法、装置和设备
US20240069961A1 (en) Batch functions framework
CN116962523B (zh) 一种数据上传方法、装置、计算机设备及存储介质

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