首页> 中国专利> 一种程序执行逻辑和顺序的自动控制方法

一种程序执行逻辑和顺序的自动控制方法

摘要

本发明提供的一种程序执行逻辑和顺序的自动控制方法包括:设定程序执行的逻辑节点,获得逻辑节点设定;根据所述逻辑节点设定按照顺序执行所述逻辑节点。可随时调整处理逻辑和其执行顺序,更高的代码复用性;降低了人工成本,提高了工作效率。

著录项

  • 公开/公告号CN114579215A

    专利类型发明专利

  • 公开/公告日2022-06-03

    原文格式PDF

  • 申请/专利权人 首约科技(北京)有限公司;

    申请/专利号CN202210221715.4

  • 发明设计人 赵东辉;

    申请日2022-03-07

  • 分类号G06F9/448;G06F9/54;G06F8/36;

  • 代理机构北京世誉鑫诚专利代理有限公司;

  • 代理人李世端

  • 地址 100010 北京市朝阳区枣营路甲3号2幢6016室

  • 入库时间 2023-06-19 15:32:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-03

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及网约车领域,尤其涉及一种程序执行逻辑和顺序的自动控制方法。

背景技术

随着网约车业务的快速发展,公司与越来越多的渠道合作,为各渠道提供的估价服务也各不相同,主要体现在估价服务的处理逻辑和顺序各不相同。每当公司为新接入的渠道提供估价服务,或者现有渠道要求修改估价服务时,现有技术不得不修改程序并发布上线。为此,如何能快速地为新渠道构建估价服务、迅速有效地满足现有渠道修改估价服务的处理逻辑要求,已成为软件研发人员解决的问题。

现有技术存在的缺点无法随渠道的要求变化而随时变化,必须修改程序并发布上线;发布上线会带来线上问题的风险;人工成功较高且效率较低;无法随时调整处理逻辑的执行顺序;代码复用性较低。

发明内容

鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种程序执行逻辑和顺序的自动控制方法。

根据本发明的一个方面,提供了一种程序执行逻辑和顺序的自动控制方法包括:

设定程序执行的逻辑节点,获得逻辑节点设定;

根据所述逻辑节点设定按照顺序执行所述逻辑节点。

可选的,所述设定程序执行的逻辑节点具体包括:

获取目标渠道;获取期望的多个逻辑节点;在已经选择的所述逻辑节点上标记顺序号码,获得标记逻辑节点;保存所述标记逻辑节点,向服务器发送保存请求。

可选的,所述保存所述标记逻辑节点,向服务器发送保存请求之后还包括:

所述服务器接收保存请求,并校验渠道号、逻辑节点集合是否为空,逻辑节点执行顺序是否为数字;

服务器校验成功后,调用Redis的zadd命令,将所述渠道号、所述逻辑节点集合与执行顺序保存至Redis中。

可选的,所述根据所述逻辑节点设定按照顺序执行所述逻辑节点具体包括:

客户端APP向服务器发送估价服务请求,所述服务请求中包括渠道号;

从所述服务器请求中获取所述渠道号,并判断所述渠道号的值是否为空,如果为空,返回客户端错误信息;

所述服务器从Redis中通过zscan命令根据渠道号获取该渠道的节点集合信息;

Redis的zadd具备自动排序功能,将取出来的逻辑节点集合按照顺序排序;

循环得到的逻辑节点集合;

执行所述逻辑节点集合中的节点的逻辑;

逻辑节点在执行过程中遇到异常和/或错误,立即返回客户端错误信息,如果没有遇到异常和/或错误,判断是否还有下一个逻辑节点,如果有,继续执行;否则返回成功信息给客户端APP。

本发明提供的一种程序执行逻辑和顺序的自动控制方法包括:设定程序执行的逻辑节点,获得逻辑节点设定;根据所述逻辑节点设定按照顺序执行所述逻辑节点。可随时调整处理逻辑和其执行顺序,更高的代码复用性;降低了人工成本,提高了工作效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的设定程序执行的逻辑节点流程图;

图2为本发明实施例提供的根据所述逻辑节点设定按照顺序执行所述逻辑节点的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。

下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。

该发明中对于逻辑节点的定义:在估价服务中,有很多彼此之间关系不大的子逻辑,诸如判断是否关城、判断下单坐标是否在城市范围内、判断是否在城市中开通了目标车型、豪华车映射处理、设置默认车型、查询估算时长和里程、查询高速费等等。以上这些业务逻辑是原子的(在业务上不能再进一步拆分),且由独立的代码片段负责处理,我们将这些独立的代码片段通过Eclipse编程工具抽象成接口,形成具有特定调用方式和返回值特征的原子服务,这些原子服务称之为逻辑节点。

本发明是一种可以自动控制程序执行逻辑和顺序的方案。该发明分为逻辑节点设定部分和逻辑节点使用部分。逻辑节点设定部分主要作用是:为渠道定义哪些逻辑节点参与估价服务的处理、定义逻辑节点的处理顺序;逻辑节点使用部分主要作用是:根据渠道的逻辑节点设定,灵活、依序执行逻辑节点。

如图1所示,逻辑节点设定部分的步骤如下:

步骤一:在页面上选择目标渠道;

步骤二:在页面上选择期望的多个逻辑节点;

步骤三:在页面上为已选择的逻辑节点输入顺序号码,顺序号码是1/2/3/4...这样的数字,数字越小,节点越优先执行;

步骤四:点击保存按钮,向服务器发送保存请求;

保存请求包括渠道号(channel_num)、逻辑节点集合(members)、逻辑节点执行顺序(score)等核心参数;

步骤五:服务器接收保存请求,并校验渠道号、逻辑节点集合是否为空,逻辑节点执行顺序是否为数字;

步骤六:服务器校验成功后,调用Redis的zadd命令,将渠道号、逻辑节点集合与执行顺序保存至Redis中,具体调用方式为:zadd(channel_num,member,score);

保存后的数据格式如下:

[

{1,"checkIsCloseCityService","判断是否关城的逻辑节点"},

{2,"checkRangeService","判断下单坐标是否在城市范围内的逻辑节点"},

{3,"checkLuxuryCarService","豪华车映射处理的逻辑节点"},

{4,"searchLBSService","查询估算时长和里程的逻辑节点"},

.......

]

步骤七:返回成功信息给页面。

如图2所示,逻辑节点使用部分的步骤如下:

步骤一:客户端APP向服务器发送估价服务请求,请求中带有渠道号(channel_num)核心信息。

步骤二:服务器从请求中获取渠道号,并判断其值是否为空,为空则返回客户端错误信息。

步骤三:服务器从Redis中通过zscan命令根据渠道号(channel_num)获取该渠道的节点集合信息,具体调用方式为zscan(channel_num,0);由于Redis的zadd具备自动排序功能,故取出来的节点集合已具备顺序特征。

步骤四:循环上一步得到的节点集合。

步骤五:执行节点的逻辑。

步骤六:逻辑节点在执行过程中一旦遇到异常或者错误,则立即返回客户端错误信息,如果没有遇到异常或者错误。

步骤七:判断是否还有下一个逻辑节点,有则重复执行步骤五、六、七;否则执行步骤八。

步骤八:返回成功信息给客户端APP。

有益效果:

1、估价服务无需修改程序,可随渠道要求的变化而迅速改变处理逻辑;

2、可随时调整处理逻辑和其执行顺序;

3、更高的代码复用性;

4、降低了人工成本,提高了工作效率。

以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号