CN112764730A - 一种业务对象监控方法及装置 - Google Patents
一种业务对象监控方法及装置 Download PDFInfo
- Publication number
- CN112764730A CN112764730A CN202110049721.1A CN202110049721A CN112764730A CN 112764730 A CN112764730 A CN 112764730A CN 202110049721 A CN202110049721 A CN 202110049721A CN 112764730 A CN112764730 A CN 112764730A
- Authority
- CN
- China
- Prior art keywords
- service
- operation result
- code
- business
- database
- 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 38
- 238000012544 monitoring process Methods 0.000 title claims abstract description 36
- 238000013515 script Methods 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000012806 monitoring device Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- 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/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种业务对象监控方法及装置。所述方法包括:获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。本申请实施例可以提高脚本任务执行效率,减少脚本任务对系统资源的占用。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种业务对象监控方法及装置。
背景技术
Java从JDK 1.8开始,Nashorn取代Rhino(JDK 1.6,JDK1.7)成为Java的嵌入式JavaScript引擎。Nashorn完全支持ECMAScript 5.1规范以及一些扩展。它使用基于JSR292的新语言特性,其中包含在JDK 7中引入的invokedynamic,将JavaScript编译成Java字节码。与先前的Rhino实现相比,这带来了2~10倍的性能提升。
目前,部分逻辑代码需要在宿主系统中实现,例如,针对一个数据计算,需要在宿主系统编写该数据计算对应的脚本代码,然而,如果后续发生变更或者需要频繁的修改逻辑,就需要对宿主系统的代码进行部分修改,代码修改量较大,并且对于一个公司每次上线更新系统,都存在一定的风险,且需要耗费大量的人力成本。
发明内容
本申请提供一种业务对象监控方法及装置,以解决现有技术中在宿主代码中执行脚本代码的方式代码修改量大,且存在一定风险耗费了大量人力成本的问题。
为了解决上述问题,本申请实施例提供了一种业务对象监控方法,应用于代码宿主系统,该方法包括:
获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;
在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;
运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;
在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
可选地,所述获取用户编写的针对业务对象的业务代码,包括:
基于与所述业务对象对应的调度线程根据预先设置的时间策略,调取所述业务代码;
所述时间策略包括时间周期策略和指定时间点策略中的任一种。
可选地,所述根据所述数据库标识,获取所述业务对象对应的业务数据,包括:
根据所述数据库标识,确定与所述业务对象对应的目标数据库;
调用与所述目标数据库对应的API接口,从所述目标数据库中获取所述业务对象对应的业务数据。
可选地,所述运行所述业务代码,对所述业务数据进行运算处理,得到运算结果,包括:
基于预先设置的脚本执行器根据所述业务数据和所述业务代码的代码逻辑,依次执行所述业务代码,得到所述运算结果;
对所述运算结果进行封装处理,生成并输出所述运算结果对应的封装包。
可选地,所述在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息,包括:
确定所述运算结果是否触发设定阈值;
在确定所述运算结果未触发所述设定阈值的情况下,结束所述业务代码对应的调度任务,并记录所述运算结果;
在确定所述运算结果触发所述设定阈值的情况下,生成所述业务对象对应的报警提示信息,并将所述报警提示信息发送给运营人员。
为了解决上述技术问题,本申请实施例还提供了一种业务对象监控装置,应用于代码宿主系统,该装置包括:
业务代码获取模块,用于获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;
业务数据获取模块,用于在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;
运算结果获取模块,用于运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;
报警信息生成模块,用于在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
可选地,所述业务代码获取模块包括:
业务代码调取单元,用于基于与所述业务对象对应的调度线程根据预先设置的时间策略,调取所述业务代码;
所述时间策略包括时间周期策略和指定时间点策略中的任一种。
可选地,所述业务数据获取模块包括:
目标数据库确定单元,用于根据所述数据库标识,确定与所述业务对象对应的目标数据库;
业务数据获取单元,用于调用与所述目标数据库对应的API接口,从所述目标数据库中获取所述业务对象对应的业务数据。
可选地,所述运算结果获取模块包括:
运算结果获取单元,用于基于预先设置的脚本执行器根据所述业务数据和所述业务代码的代码逻辑,依次执行所述业务代码,得到所述运算结果;
运算结果输出单元,用于对所述运算结果进行封装处理,生成并输出所述运算结果对应的封装包。
可选地,所述报警信息生成模块包括:
运算结果确定单元,用于确定所述运算结果是否触发设定阈值;
运行结果记录单元,用于在确定所述运算结果未触发所述设定阈值的情况下,结束所述业务代码对应的调度任务,并记录所述运算结果;
报警信息发送单元,用于在确定所述运算结果触发所述设定阈值的情况下,生成所述业务对象对应的报警提示信息,并将所述报警提示信息发送给运营人员。
与现有技术相比,本申请包括以下优点:
本申请实施例提供了一种业务对象监控方法及装置,通过获取用户编写的针对业务对象的业务代码,其中,业务代码中包含有业务对象对应的数据库标识,在接收到业务代码对应的运行指令之后,根据数据库标识,获取业务对象对应的业务数据,运行业务代码,对业务数据进行运算处理,得到运算结果,在运算结果不满足预设条件的情况下,生成业务对象对应的报警提示信息。本申请实施例通过将宿主系统与脚本代码进行分离,在脚本代码出现问题时,无需涉及宿主程序停服、更新程序等一系列操作,从而可以减少业务人员修改的代码量,节省了较多的时间和人力成本。
附图说明
图1为本申请实施例提供的一种业务对象监控方法的步骤流程图;
图2为本申请实施例提供的另一种业务对象监控方法的步骤流程图;
图3为本申请实施例提供的一种业务对象监控装置的结构示意图;
图4为本申请实施例提供的另一种业务对象监控装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了本申请实施例提供的一种业务对象监控方法的步骤流程图,该业务对象监控方法可以应用于代码宿主系统,如图1所示,该业务对象监控方法具体可以包括如下步骤:
步骤101:获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识。
本申请实施例可以应用于将宿主系统与脚本代码分离,通过宿主系统调取脚本代码实现对业务对象的监控的场景中。
业务对象是指需要进行监控的对象,在本实施例中,业务对象可以为产品线上的进件量等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
业务代码是指由业务人员预先为业务对象编写的脚本代码,该业务代码的运行可以实现对业务对象的相应数据的运算,例如,计算某个时段内进件量总数等。
在本实施例中,业务代码可以为JavaScript脚本代码,也可以为python脚本代码、shell脚本代码等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
当然,也可以预先在代码宿主系统中设置不同脚本代码对应的脚本执行器,结合业务代码的代码类型可以选择对应的脚本执行器执行业务代码。
数据库标识是指用于存储于业务对象关联的数据的数据库的标识,在本示例中,数据库标识可以是由业务人员预先为数据库设置的数字标识,如数据库1、数据库2、数据库3等,数据库标识也可以是由业务人员预先为数据库设置的英文字符标识,如数据库a、数据库b和数据c等,数据库标识还可以为其它形式的标识,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在本示例中,用户可以预先编写业务对象对应的业务代码,用户知道业务对象的业务数据所存储的数据库,在编写业务代码时,可以由用户在业务代码中编写业务对象的业务数据对应的数据库标识。
在需要对业务对象进行监控时,可以调取用户编写的针对业务对象的业务代码,并对业务代码进行分析,以获取业务代码中包含的数据库标识。
在获取到用户编写的针对业务对象的业务代码之后,执行步骤102。
步骤102:在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据。
运行指令是指用于运行业务代码的指令,即执行业务代码的指令。
业务数据是指监控业务对象所需的业务数据。
在代码宿主系统接收到用户编写的针对业务对象的业务代码之后,可以由调度服务发送业务代码对应的执行请求,脚本执行器在接收到业务代码的执行请求之后,可以根据配置拉取到需要执行的脚本报文,脚本执行器解析脚本代码(即业务代码)并执行,此时,可以根据业务代码中的数据库标识获取业务对象对应的业务数据。
在根据数据库标识获取到业务对象对应的业务数据之后,执行步骤103。
步骤103:运行所述业务代码,对所述业务数据进行运算处理,得到运算结果。
在本实施例中,运算处理可以包括数据计算处理、数据合并处理和数据逻辑判断等处理,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在获取到业务对象对应的业务数据之后,可以运行业务代码,并对业务数据进行运算处理,以得到业务数据对应的运算结果。
在运行业务代码并对业务数据进行运算处理得到运算结果之后,执行步骤104。
步骤104:在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
预设条件是指由业务人员预先设置的用于判定业务对象对应的运算结果是否满足报警的条件。
在得到业务对象对应的运算结果之后,可以判断运算结果是否满足预设条件。
若运算结果满足预设条件,此时,可以结束业务对象的本次调取业务,并记录本次的运算结果。
若运算结果不满足预设条件,此时,可以生成业务对象对应的报警提示信息。例如,业务对象以产品线的进件量为例,在需要对产品线的进件量进行监控时,首先,可以设定某个产品线每个时段的进件量,当进件量低于平均值(阈值)时进行预警,或者有暴增的时候也可以预警。并且存在不同的产品线规则不同的情况。针对上述情况,通过JavaScript脚本实现主要的逻辑判断,如果需要调整某个产品的规则只需要更改脚本即可,如果一个脚本无法满足,就拆分成多个脚本进行针对性监控。这样即使业务变化再快,监控也可以随时调整。
本申请实施例通过将宿主系统与脚本代码进行分离,在脚本代码出现问题时,无需涉及宿主程序停服、更新程序等一系列操作,从而可以减少业务人员修改的代码量,节省了较多的时间和人力成本。
本申请实施例提供的业务对象监控方法,通过获取用户编写的针对业务对象的业务代码,其中,业务代码中包含有业务对象对应的数据库标识,在接收到业务代码对应的运行指令之后,根据数据库标识,获取业务对象对应的业务数据,运行业务代码,对业务数据进行运算处理,得到运算结果,在运算结果不满足预设条件的情况下,生成业务对象对应的报警提示信息。本申请实施例通过将宿主系统与脚本代码进行分离,在脚本代码出现问题时,无需涉及宿主程序停服、更新程序等一系列操作,从而可以减少业务人员修改的代码量,节省了较多的时间和人力成本。
实施例二
参照图2,示出了本申请实施例提供的另一种业务对象监控方法的步骤流程图,该业务对象监控方法可以应用于代码宿主系统,如图2所示,该业务对象监控方法具体可以包括如下步骤:
步骤201:基于与所述业务对象对应的调度线程根据预先设置的时间策略,调取所述业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识。
本申请实施例可以应用于将宿主系统与脚本代码分离,通过宿主系统调取脚本代码实现对业务对象的监控的场景中。
业务对象是指需要进行监控的对象,在本实施例中,业务对象可以为产品线上的进件量等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
业务代码是指由业务人员预先为业务对象编写的脚本代码,该业务代码的运行可以实现对业务对象的相应数据的运算,例如,计算某个时段内进件量总数等。
在本实施例中,业务代码可以为JavaScript脚本代码,也可以为python脚本代码、shell脚本代码等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
当然,也可以预先在代码宿主系统中设置不同脚本代码对应的脚本执行器,结合业务代码的代码类型可以选择对应的脚本执行器执行业务代码。
数据库标识是指用于存储于业务对象关联的数据的数据库的标识,在本示例中,数据库标识可以是由业务人员预先为数据库设置的数字标识,如数据库1、数据库2、数据库3等,数据库标识也可以是由业务人员预先为数据库设置的英文字符标识,如数据库a、数据库b和数据c等,数据库标识还可以为其它形式的标识,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在本示例中,用户可以预先编写业务对象对应的业务代码,用户知道业务对象的业务数据所存储的数据库,在编写业务代码时,可以由用户在业务代码中编写业务对象的业务数据对应的数据库标识。
时间策略可以包括时间周期策略和指定时间点策略等策略中的至少一种,其中,时间周期策略是指设定时间周期的策略,如以一天为一个周期,或以10小时为一个周期等。指定时间点策略即为指定时刻的策略,如指定上午10:00,或指定下午15:00等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在本实施例中,可以采用多线程执行的方式以保证每个脚本代码的执行效率。
在需要对业务对象进行监控时,可以基于与业务对象对应的调度线程根据预先设置的时间策略,调取业务对象对应的业务代码,并对业务代码进行解析,以获取业务代码中包含的业务对象对应的数据库标识。
在调取业务代码之后,执行步骤202。
步骤202:根据所述数据库标识,确定与所述业务对象对应的目标数据库。
目标数据库是指用于存储与业务对象关联的业务数据的数据库。
在本示例中,目标数据库的数量可以为一个,也可以为多个,具体地,可以根据实际情况而定,本实施例对此不加以限制。
在调取业务代码之后,可以由调度线程发起业务代码对应的执行请求,并由调度线程将配置传递给脚本执行器,脚本执行器接收到执行请求后,可以根据代码配置拉取到需要执行的脚本报文(即业务代码),脚本执行器对业务代码进行解析并执行,此时,可以根据数据库标识确定与业务对象对应的目标数据库。
在根据数据库标识确定与业务对象对应的目标数据库之后,执行步骤203。
步骤203:调用与所述目标数据库对应的API接口,从所述目标数据库中获取所述业务对象对应的业务数据。
在代码宿主系统中封装了大量的API(Application Programming Interface,应用程序编程接口)接口,运营人员只需专注于数据的使用,无需了解数据如何获取。目前主要数据来源包括数据库和日志,运营人员可以直接在JavaScript上下文中进行API引用相关数据API获取到想要的数据,然后使用JavaScript语言编写脚本对数据进行计算、合并、逻辑判断。
在确定与业务对象对应的目标数据库之后,可以调用与目标数据库对应的API接口从目标数据库中获取业务对象对应的业务数据。
在调用与目标数据库对应的API接口从目标数据库中获取到业务对象对应的业务数据之后,执行步骤204。
步骤204:基于预先设置的脚本执行器根据所述业务数据和所述业务代码的代码逻辑,依次执行所述业务代码,得到所述运算结果。
运算处理可以包括数据计算处理、数据合并处理和数据逻辑判断等处理,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在获取到业务对象对应的业务数据之后,可以脚本执行器根据业务数据和业务代码的代码逻辑依次执行业务代码,以得到业务数据对应的运算结果,具体地,在通过脚本执行器通过API接口获取业务对象对应的业务数据之后,可以根据脚本代码(即业务代码)的上下文按顺序执行脚本逻辑,得到相应的运算结果。
在基于脚本执行器根据业务数据和业务代码的代码逻辑依次执行业务代码,得到运算结果之后,执行步骤205。
步骤205:对所述运算结果进行封装处理,生成并输出所述运算结果对应的封装包。
在得到运算结果之后,可以将运算结果以json数据形式传输运算结果,具体地,可以对运算结果进行封装处理,生成运算结果对应的封装数据包,并通过脚本执行器输出该封装包。
步骤206:确定所述运算结果是否触发设定阈值。
设定阈值是指由业务人员预先设置的用于判断业务对象对应的运算结果是否满足业务要求的阈值,对于设定阈值的具体数值可以根据业务需求而定,本实施例对此不加以限制。
在某些示例中,设定阈值可以为一个具体数值,例如,设定阈值为一个最大值,在运算结果大于该设定阈值时,则表示运算结果触发设定阈值等。设定阈值也可以为一个最小值,在运算结果小于该设定阈值时,则表示运算结果触发设定阈值等。
在某些示例中,设定阈值也可以为一个数值范围,例如,设定阈值为一个最大值和一个最小值形成的数值范围,此时,在运算结果处于该数值范围内时,则表示运算结果未触发设定阈值,而在运算结果处于该数值范围外时,则表示运算结果触发设定阈值等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在获取到业务数据的运算结果之后,可以确定运算结果是否触发设定阈值。
在确定运算结果触发设定阈值时,执行步骤208,而在确定运算结果未触发设定阈值时,则执行步骤207。
步骤207:在确定所述运算结果未触发所述设定阈值的情况下,结束所述业务代码对应的调度任务,并记录所述运算结果。
在确定运算结果未触发设定阈值的情况下,则结束业务代码的本次调度业务,并记录业务对象对应的运算结果以及执行业务代码的过程中生成的日志。
步骤208:在确定所述运算结果触发所述设定阈值的情况下,生成所述业务对象对应的报警提示信息,并将所述报警提示信息发送给运营人员。
在确定运算结果触发设定阈值的情况下,可以生成业务对象对应的报警提示信息,并将报警提示信息发送给运用人员,具体地,若运算结果触发阈值,可以异步调起消息服务将运行结果加工后以不同的形式发送给运营人员。从而可以使运营人员随时调整JavaScript脚本逻辑,无需重新编译、重启服务等技术手段便可实现监控底层逻辑的变更。
当然,在本实施例中,除了可以使用javaScript作为脚本语言以外,还可以使用python、shell等语言,当然基于javaScript无需在服务器安装特定的运行环境,java环境本身就可以支持。例如选择python作为主要的脚本开发语言,则需要服务器安装相关的运行环境,并且需要注意python2和python3的区别。
本申请实施例提供的业务对象监控方法,通过获取用户编写的针对业务对象的业务代码,其中,业务代码中包含有业务对象对应的数据库标识,在接收到业务代码对应的运行指令之后,根据数据库标识,获取业务对象对应的业务数据,运行业务代码,对业务数据进行运算处理,得到运算结果,在运算结果不满足预设条件的情况下,生成业务对象对应的报警提示信息。本申请实施例通过将宿主系统与脚本代码进行分离,在脚本代码出现问题时,无需涉及宿主程序停服、更新程序等一系列操作,从而可以减少业务人员修改的代码量,节省了较多的时间和人力成本。
实施例三
参照图3,示出了本申请实施例提供的一种业务对象监控装置的结构示意图,该业务对象监控装置可以应用于代码宿主系统,如图3所示,该业务对象监控装置300具体可以包括如下模块:
业务代码获取模块310,用于获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;
业务数据获取模块320,用于在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;
运算结果获取模块330,用于运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;
报警信息生成模块340,用于在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
本申请实施例提供的业务对象监控模块,通过获取用户编写的针对业务对象的业务代码,其中,业务代码中包含有业务对象对应的数据库标识,在接收到业务代码对应的运行指令之后,根据数据库标识,获取业务对象对应的业务数据,运行业务代码,对业务数据进行运算处理,得到运算结果,在运算结果不满足预设条件的情况下,生成业务对象对应的报警提示信息。本申请实施例通过将宿主系统与脚本代码进行分离,在脚本代码出现问题时,无需涉及宿主程序停服、更新程序等一系列操作,从而可以减少业务人员修改的代码量,节省了较多的时间和人力成本。
实施例四
参照图4,示出了本申请实施例提供的另一种业务对象监控装置的结构示意图,该业务对象监控装置可以应用于代码宿主系统,如图4所示,该业务对象监控装置400具体可以包括如下模块:
业务代码获取模块410,用于获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;
业务数据获取模块420,用于在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;
运算结果获取模块430,用于运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;
报警信息生成模块440,用于在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
可选地,所述业务代码获取模块410包括:
业务代码调取单元411,用于基于与所述业务对象对应的调度线程根据预先设置的时间策略,调取所述业务代码;
所述时间策略包括时间周期策略和指定时间点策略中的任一种。
可选地,所述业务数据获取模块420包括:
目标数据库确定单元421,用于根据所述数据库标识,确定与所述业务对象对应的目标数据库;
业务数据获取单元422,用于调用与所述目标数据库对应的API接口,从所述目标数据库中获取所述业务对象对应的业务数据。
可选地,所述运算结果获取模块430包括:
运算结果获取单元431,用于基于预先设置的脚本执行器根据所述业务数据和所述业务代码的代码逻辑,依次执行所述业务代码,得到所述运算结果;
运算结果输出单元432,用于对所述运算结果进行封装处理,生成并输出所述运算结果对应的封装包。
可选地,所述报警信息生成模块440包括:
运算结果确定单元441,用于确定所述运算结果是否触发设定阈值;
运行结果记录单元442,用于在确定所述运算结果未触发所述设定阈值的情况下,结束所述业务代码对应的调度任务,并记录所述运算结果;
报警信息发送单元443,用于在确定所述运算结果触发所述设定阈值的情况下,生成所述业务对象对应的报警提示信息,并将所述报警提示信息发送给运营人员。
本申请实施例提供的业务对象监控模块,通过获取用户编写的针对业务对象的业务代码,其中,业务代码中包含有业务对象对应的数据库标识,在接收到业务代码对应的运行指令之后,根据数据库标识,获取业务对象对应的业务数据,运行业务代码,对业务数据进行运算处理,得到运算结果,在运算结果不满足预设条件的情况下,生成业务对象对应的报警提示信息。本申请实施例通过将宿主系统与脚本代码进行分离,在脚本代码出现问题时,无需涉及宿主程序停服、更新程序等一系列操作,从而可以减少业务人员修改的代码量,节省了较多的时间和人力成本。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
另外地,本申请实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的业务对象监控方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种业务对象监控方法和一种业务对象监控装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种业务对象监控方法,应用于代码宿主系统,其特征在于,包括:
获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;
在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;
运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;
在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
2.根据权利要求1所述的方法,其特征在于,所述获取用户编写的针对业务对象的业务代码,包括:
基于与所述业务对象对应的调度线程根据预先设置的时间策略,调取所述业务代码;
所述时间策略包括时间周期策略和指定时间点策略中的任一种。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据库标识,获取所述业务对象对应的业务数据,包括:
根据所述数据库标识,确定与所述业务对象对应的目标数据库;
调用与所述目标数据库对应的API接口,从所述目标数据库中获取所述业务对象对应的业务数据。
4.根据权利要求1所述的方法,其特征在于,所述运行所述业务代码,对所述业务数据进行运算处理,得到运算结果,包括:
基于预先设置的脚本执行器根据所述业务数据和所述业务代码的代码逻辑,依次执行所述业务代码,得到所述运算结果;
对所述运算结果进行封装处理,生成并输出所述运算结果对应的封装包。
5.根据权利要求1所述的方法,其特征在于,所述在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息,包括:
确定所述运算结果是否触发设定阈值;
在确定所述运算结果未触发所述设定阈值的情况下,结束所述业务代码对应的调度任务,并记录所述运算结果;
在确定所述运算结果触发所述设定阈值的情况下,生成所述业务对象对应的报警提示信息,并将所述报警提示信息发送给运营人员。
6.一种业务对象监控装置,应用于代码宿主系统,其特征在于,包括:
业务代码获取模块,用于获取用户编写的针对业务对象的业务代码;其中,所述业务代码中包含有所述业务对象对应的数据库标识;
业务数据获取模块,用于在接收到所述业务代码对应的运行指令之后,根据所述数据库标识,获取所述业务对象对应的业务数据;
运算结果获取模块,用于运行所述业务代码,对所述业务数据进行运算处理,得到运算结果;
报警信息生成模块,用于在所述运算结果不满足预设条件的情况下,生成所述业务对象对应的报警提示信息。
7.根据权利要求6所述的装置,其特征在于,所述业务代码获取模块包括:
业务代码调取单元,用于基于与所述业务对象对应的调度线程根据预先设置的时间策略,调取所述业务代码;
所述时间策略包括时间周期策略和指定时间点策略中的任一种。
8.根据权利要求6所述的装置,其特征在于,所述业务数据获取模块包括:
目标数据库确定单元,用于根据所述数据库标识,确定与所述业务对象对应的目标数据库;
业务数据获取单元,用于调用与所述目标数据库对应的API接口,从所述目标数据库中获取所述业务对象对应的业务数据。
9.根据权利要求6所述的装置,其特征在于,所述运算结果获取模块包括:
运算结果获取单元,用于基于预先设置的脚本执行器根据所述业务数据和所述业务代码的代码逻辑,依次执行所述业务代码,得到所述运算结果;
运算结果输出单元,用于对所述运算结果进行封装处理,生成并输出所述运算结果对应的封装包。
10.根据权利要求6所述的装置,其特征在于,所述报警信息生成模块包括:
运算结果确定单元,用于确定所述运算结果是否触发设定阈值;
运行结果记录单元,用于在确定所述运算结果未触发所述设定阈值的情况下,结束所述业务代码对应的调度任务,并记录所述运算结果;
报警信息发送单元,用于在确定所述运算结果触发所述设定阈值的情况下,生成所述业务对象对应的报警提示信息,并将所述报警提示信息发送给运营人员。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110049721.1A CN112764730A (zh) | 2021-01-14 | 2021-01-14 | 一种业务对象监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110049721.1A CN112764730A (zh) | 2021-01-14 | 2021-01-14 | 一种业务对象监控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764730A true CN112764730A (zh) | 2021-05-07 |
Family
ID=75700536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110049721.1A Pending CN112764730A (zh) | 2021-01-14 | 2021-01-14 | 一种业务对象监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764730A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045576A (zh) * | 2015-06-29 | 2015-11-11 | 用友优普信息技术有限公司 | 业务单据中计算公式的管理方法及装置 |
CN110825488A (zh) * | 2019-09-29 | 2020-02-21 | 山东中创软件工程股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111414376A (zh) * | 2020-03-02 | 2020-07-14 | 中国建设银行股份有限公司 | 一种数据预警方法和装置 |
-
2021
- 2021-01-14 CN CN202110049721.1A patent/CN112764730A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045576A (zh) * | 2015-06-29 | 2015-11-11 | 用友优普信息技术有限公司 | 业务单据中计算公式的管理方法及装置 |
CN110825488A (zh) * | 2019-09-29 | 2020-02-21 | 山东中创软件工程股份有限公司 | 一种业务处理方法、装置及电子设备和存储介质 |
CN111414376A (zh) * | 2020-03-02 | 2020-07-14 | 中国建设银行股份有限公司 | 一种数据预警方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9256517B1 (en) | Display of aggregated stack traces in a source code viewer | |
US8332845B2 (en) | Compile timing based on execution frequency of a procedure | |
US7716652B2 (en) | System and methods for tracing transactions | |
US8370816B2 (en) | Device, method and computer program product for evaluating a debugger script | |
CN111083225A (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
CN109194606B (zh) | 攻击检测系统、方法、计算机设备及存储介质 | |
EP3591485B1 (en) | Method and device for monitoring for equipment failure | |
JP2002082926A (ja) | 分散アプリケーション試験・運用管理システム | |
CN111026601A (zh) | Java应用系统的监控方法、装置、电子设备及存储介质 | |
CN110515808B (zh) | 数据库监控方法、装置、计算机设备及存储介质 | |
CN107045475B (zh) | 测试方法和装置 | |
US20180143897A1 (en) | Determining idle testing periods | |
CN108089978B (zh) | 一种分析asp.net应用软件性能及故障的诊断方法 | |
CN108153654B (zh) | 一种日志收集方法及装置 | |
US20140196053A1 (en) | Thread-agile execution of dynamic programming language programs | |
CN114398179B (zh) | 一种跟踪标识的获取方法、装置、服务器及存储介质 | |
US8769505B2 (en) | Event information related to server request processing | |
CN112764730A (zh) | 一种业务对象监控方法及装置 | |
CN111240728A (zh) | 应用程序更新方法、装置、设备和存储介质 | |
CN115774612A (zh) | 一种基于线程的程序执行过程剖析方法和系统 | |
US6983453B2 (en) | Method and system for obtaining performance data from software compiled with or without trace hooks | |
US20180373512A1 (en) | Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal | |
KR101828156B1 (ko) | 트랜잭션 모니터링 시스템 및 그 동작방법 | |
US9489235B2 (en) | Request processing system, method and program product | |
CN111488230A (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 |