CN114579215A - 一种程序执行逻辑和顺序的自动控制方法 - Google Patents
一种程序执行逻辑和顺序的自动控制方法 Download PDFInfo
- Publication number
- CN114579215A CN114579215A CN202210221715.4A CN202210221715A CN114579215A CN 114579215 A CN114579215 A CN 114579215A CN 202210221715 A CN202210221715 A CN 202210221715A CN 114579215 A CN114579215 A CN 114579215A
- Authority
- CN
- China
- Prior art keywords
- logic
- node
- sequence
- server
- nodes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000008569 process Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 11
- 230000008859 change Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供的一种程序执行逻辑和顺序的自动控制方法包括:设定程序执行的逻辑节点,获得逻辑节点设定;根据所述逻辑节点设定按照顺序执行所述逻辑节点。可随时调整处理逻辑和其执行顺序,更高的代码复用性;降低了人工成本,提高了工作效率。
Description
技术领域
本发明涉及网约车领域,尤其涉及一种程序执行逻辑和顺序的自动控制方法。
背景技术
随着网约车业务的快速发展,公司与越来越多的渠道合作,为各渠道提供的估价服务也各不相同,主要体现在估价服务的处理逻辑和顺序各不相同。每当公司为新接入的渠道提供估价服务,或者现有渠道要求修改估价服务时,现有技术不得不修改程序并发布上线。为此,如何能快速地为新渠道构建估价服务、迅速有效地满足现有渠道修改估价服务的处理逻辑要求,已成为软件研发人员解决的问题。
现有技术存在的缺点无法随渠道的要求变化而随时变化,必须修改程序并发布上线;发布上线会带来线上问题的风险;人工成功较高且效率较低;无法随时调整处理逻辑的执行顺序;代码复用性较低。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种程序执行逻辑和顺序的自动控制方法。
根据本发明的一个方面,提供了一种程序执行逻辑和顺序的自动控制方法包括:
设定程序执行的逻辑节点,获得逻辑节点设定;
根据所述逻辑节点设定按照顺序执行所述逻辑节点。
可选的,所述设定程序执行的逻辑节点具体包括:
获取目标渠道;获取期望的多个逻辑节点;在已经选择的所述逻辑节点上标记顺序号码,获得标记逻辑节点;保存所述标记逻辑节点,向服务器发送保存请求。
可选的,所述保存所述标记逻辑节点,向服务器发送保存请求之后还包括:
所述服务器接收保存请求,并校验渠道号、逻辑节点集合是否为空,逻辑节点执行顺序是否为数字;
服务器校验成功后,调用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、降低了人工成本,提高了工作效率。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种程序执行逻辑和顺序的自动控制方法,其特征在于,所述自动控制方法包括:
设定程序执行的逻辑节点,获得逻辑节点设定;
根据所述逻辑节点设定按照顺序执行所述逻辑节点。
2.根据权利要求1所述的一种程序执行逻辑和顺序的自动控制方法,其特征在于,所述设定程序执行的逻辑节点具体包括:
获取目标渠道;
获取期望的多个逻辑节点;
在已经选择的所述逻辑节点上标记顺序号码,获得标记逻辑节点;
保存所述标记逻辑节点,向服务器发送保存请求。
3.根据权利要求2所述的一种程序执行逻辑和顺序的自动控制方法,其特征在于,所述保存所述标记逻辑节点,向服务器发送保存请求之后还包括:
所述服务器接收保存请求,并校验渠道号、逻辑节点集合是否为空,逻辑节点执行顺序是否为数字;
服务器校验成功后,调用Redis的zadd命令,将所述渠道号、所述逻辑节点集合与执行顺序保存至Redis中。
4.根据权利要求1所述的一种程序执行逻辑和顺序的自动控制方法,其特征在于,所述根据所述逻辑节点设定按照顺序执行所述逻辑节点具体包括:
客户端APP向服务器发送估价服务请求,所述服务请求中包括渠道号;
从所述服务器请求中获取所述渠道号,并判断所述渠道号的值是否为空,如果为空,返回客户端错误信息;
所述服务器从Redis中通过zscan命令根据渠道号获取该渠道的节点集合信息;
Redis的zadd具备自动排序功能,将取出来的逻辑节点集合按照顺序排序;
循环得到的逻辑节点集合;
执行所述逻辑节点集合中的节点的逻辑;
逻辑节点在执行过程中遇到异常和/或错误,立即返回客户端错误信息,如果没有遇到异常和/或错误,判断是否还有下一个逻辑节点,如果有,继续执行;否则返回成功信息给客户端APP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210221715.4A CN114579215A (zh) | 2022-03-07 | 2022-03-07 | 一种程序执行逻辑和顺序的自动控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210221715.4A CN114579215A (zh) | 2022-03-07 | 2022-03-07 | 一种程序执行逻辑和顺序的自动控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579215A true CN114579215A (zh) | 2022-06-03 |
Family
ID=81773081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210221715.4A Pending CN114579215A (zh) | 2022-03-07 | 2022-03-07 | 一种程序执行逻辑和顺序的自动控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579215A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542047A (zh) * | 2011-12-28 | 2012-07-04 | 奇智软件(北京)有限公司 | 一种任务逻辑库生成方法和***、数据处理方法和*** |
CN104375425A (zh) * | 2014-09-22 | 2015-02-25 | 歌尔声学股份有限公司 | 基于表达式的制造执行***工序的逻辑配置方法及装置 |
WO2018137232A1 (zh) * | 2017-01-26 | 2018-08-02 | 华为技术有限公司 | 数据处理的方法、控制面节点和用户面节点 |
CN109218338A (zh) * | 2017-06-29 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 信息处理***、方法和装置 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及***、架构、设备、存储介质 |
CN111580896A (zh) * | 2020-05-04 | 2020-08-25 | 武汉众邦银行股份有限公司 | 一种基于原子化服务的链路调用方法 |
CN112130838A (zh) * | 2020-09-27 | 2020-12-25 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN113283891A (zh) * | 2021-05-13 | 2021-08-20 | 北京字跳网络技术有限公司 | 信息处理方法、装置和电子设备 |
CN113409153A (zh) * | 2020-03-16 | 2021-09-17 | 京东安联财产保险有限公司 | 业务流程管理***与业务流程处理方法、设备及存储介质 |
CN113780969A (zh) * | 2021-03-08 | 2021-12-10 | 北京京东振世信息技术有限公司 | 一种海关申报方法和*** |
-
2022
- 2022-03-07 CN CN202210221715.4A patent/CN114579215A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542047A (zh) * | 2011-12-28 | 2012-07-04 | 奇智软件(北京)有限公司 | 一种任务逻辑库生成方法和***、数据处理方法和*** |
CN104375425A (zh) * | 2014-09-22 | 2015-02-25 | 歌尔声学股份有限公司 | 基于表达式的制造执行***工序的逻辑配置方法及装置 |
WO2018137232A1 (zh) * | 2017-01-26 | 2018-08-02 | 华为技术有限公司 | 数据处理的方法、控制面节点和用户面节点 |
CN109218338A (zh) * | 2017-06-29 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 信息处理***、方法和装置 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及***、架构、设备、存储介质 |
CN113409153A (zh) * | 2020-03-16 | 2021-09-17 | 京东安联财产保险有限公司 | 业务流程管理***与业务流程处理方法、设备及存储介质 |
CN111580896A (zh) * | 2020-05-04 | 2020-08-25 | 武汉众邦银行股份有限公司 | 一种基于原子化服务的链路调用方法 |
CN112130838A (zh) * | 2020-09-27 | 2020-12-25 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN113780969A (zh) * | 2021-03-08 | 2021-12-10 | 北京京东振世信息技术有限公司 | 一种海关申报方法和*** |
CN113283891A (zh) * | 2021-05-13 | 2021-08-20 | 北京字跳网络技术有限公司 | 信息处理方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6247066B1 (en) | Compound document processing method | |
CN109831520A (zh) | 一种定时任务调度方法及相关装置 | |
CN108509556A (zh) | 数据迁移方法和装置、服务器、存储介质 | |
CN108628665A (zh) | 基于数据密集型科学工作流的任务调度与虚拟机整合方法 | |
CN112835714B (zh) | 云边环境中面向cpu异构集群的容器编排方法、***及介质 | |
CN101887410A (zh) | 文件转换装置、文件转换方法以及文件转换程序 | |
CN111817938A (zh) | 一种汽车can通讯矩阵编制的方法、***及存储介质 | |
Schimm | Generic linear business process modeling | |
CN114755984A (zh) | 一种自动化流程机器人的调度方法、调度***及自动化流程机器人 | |
US10768974B2 (en) | Specifying an order of a plurality of resources in a transaction according to distance | |
CN115860451A (zh) | 一种流程运行方法、装置、电子设备及存储介质 | |
CN114579215A (zh) | 一种程序执行逻辑和顺序的自动控制方法 | |
CN102214103A (zh) | 以功能单元为基础的任务程序的创建和执行方法及*** | |
CN112988280B (zh) | 一种配置数据处理方法及装置 | |
CN116661978B (zh) | 一种分布式的流程处理方法、装置及分布式业务流程引擎 | |
CN117369788A (zh) | 一种拖拽式业务逻辑编辑***方法 | |
CN114911715B (zh) | 一种形式化测试模型建模方法、***、计算机及存储介质 | |
CN116092494A (zh) | 语音交互方法、服务器和计算机可读存储介质 | |
CN109144486A (zh) | 一种无状态化的工作流程实现方法 | |
CN113051005B (zh) | 一种加载方法及装置 | |
CN115640278A (zh) | 一种数据库性能智能优化的方法及*** | |
CN113568921A (zh) | 一种面向地理信息数据生产更新的多人协同作业方法 | |
CN113139022A (zh) | 一种基于混合规则的企业物流数据按需融合方法 | |
CN114205837A (zh) | 5g核心网操作的排期方法、装置、计算设备与存储介质 | |
KR100323971B1 (ko) | 프로젝트일정관리시스템의문서관리및완료일정자동등록방법 |
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 |