CN110908640B - 实现业务功能的方法和脚本引擎 - Google Patents

实现业务功能的方法和脚本引擎 Download PDF

Info

Publication number
CN110908640B
CN110908640B CN201911171846.0A CN201911171846A CN110908640B CN 110908640 B CN110908640 B CN 110908640B CN 201911171846 A CN201911171846 A CN 201911171846A CN 110908640 B CN110908640 B CN 110908640B
Authority
CN
China
Prior art keywords
expression
script
grammar
business
function
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
Application number
CN201911171846.0A
Other languages
English (en)
Other versions
CN110908640A (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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN201911171846.0A priority Critical patent/CN110908640B/zh
Publication of CN110908640A publication Critical patent/CN110908640A/zh
Application granted granted Critical
Publication of CN110908640B publication Critical patent/CN110908640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Abstract

本公开提出一种实现业务功能的方法和脚本引擎,涉及计算机领域。本公开对于用户基于配置的语法规则编写的业务逻辑的脚本,能够自动解析并生成相应的语法树以及表达式,根据业务逻辑组合各个表达式形成可执行的表达式对象,最终实现业务逻辑相应的业务功能,降低业务功能实现难度,缩短开发周期。并且,语法规则可配置为接近自然语言的高级语言,支持中文,熟悉语法规则的普通业务人员可以根据业务需求自行编写脚本,不再需要专业的程序开发和测试人员。

Description

实现业务功能的方法和脚本引擎
技术领域
本公开涉及计算机领域,特别涉及一种实现业务功能的方法和脚本引擎。
背景技术
目前基于计算机程序实现某种业务功能时,产品部门提出业务需求,开发人员基于业务需求进行程序开发,测试人员测试开发的程序,如果测试通过,再将程序发布上线。
发明内容
发明人发现,相关技术的业务功能开发难度比较大,涉及到的人员比较多,而且需要专业的程序开发和测试人员,业务功能开发周期也比较长。
本公开对于用户基于配置的语法规则编写的业务逻辑的脚本,能够自动解析并且生成相应的语法树以及表达式,根据业务逻辑组合各个表达式形成可执行的表达式对象,最终实现业务逻辑相应的业务功能,降低业务功能实现难度,缩短开发周期。并且,语法规则可配置为接近自然语言的高级语言,支持中文,熟悉语法规则的普通业务人员可以根据业务需求自行编写脚本,不再需要专业的程序开发和测试人员。
本公开的一些实施例提出一种实现业务功能的方法,包括:
获取基于配置的语法规则编写的业务逻辑的脚本;
对所述脚本进行词法解析和语法解析,以生成相应的语法树;
遍历所述语法树,基于所述语法规则,针对所述语法树的每个节点生成相应的表达式;
根据所述业务逻辑组合各个表达式形成可执行的表达式对象,以实现所述业务逻辑相应的业务功能。
在一些实施例中,所述语法规则是可配置的,所述语法规则包括变量类型、运算符、内置函数、自定义函数、功能模板。
在一些实施例中,还包括:提供编写业务逻辑的脚本的可视化环境,以使得用户在可视化环境中通过拖拽方式编写业务逻辑的脚本,所述可视化环境包括可拖拽的资源。
在一些实施例中,所述可拖拽的资源包括变量库、函数库、功能模板库中的一项或多项。
在一些实施例中,对所述脚本进行词法解析和语法解析包括:
通过词法解析器将所述脚本的字符流转换成单词序列;
通过语法解析器分析所述单词序列以确定其语法结构;
根据所述语法结构生成所述脚本相应的语法树。
在一些实施例中,在生成表达式之前还包括:对所述语法树中每个节点涉及的变量和参数类型进行校验,如果校验通过,再生成所述部分相应的表达式。
在一些实施例中,还包括:测试所述表达式对象,以验证所述业务逻辑相应的业务功能。
本公开的一些实施例提出一种实现业务功能的脚本引擎,包括:
语法规则单元,用于配置语法规则;
脚本单元,用于提供编写业务逻辑的脚本的可视化环境;
解析单元,用于对编写的脚本进行词法解析和语法解析,以生成相应的语法树;
表达式单元,用于遍历所述语法树,基于所述语法规则,针对所述语法树中各个节点生成相应的表达式;
功能单元,用于根据所述业务逻辑组合各个表达式形成可执行的表达式对象,以实现所述业务逻辑相应的业务功能。
本公开的一些实施例提出一种实现业务功能的脚本引擎,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一些实施例所述的实现业务功能的方法。
本公开的一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一些实施例所述的实现业务功能的方法的步骤。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,
显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实现业务功能的脚本引擎(简称“脚本引擎”)的一些实施例的示意图。
图2为本公开实现业务功能的方法的一些实施例的示意图。
图3示出一种示例性的编写脚本的可视化环境示意图。
图4示出一种示例性的语法树示意图。
图5示出一种示例性的表达式结构示意图。
图6为本公开实现业务功能的脚本引擎(简称“脚本引擎”)的另一些实施例的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
图1为本公开实现业务功能的脚本引擎(简称“脚本引擎”)的一些实施例的示意图。
如图1所示,脚本引擎10包括:语法规则单元11、脚本单元12、解析单元13、表达式单元14和功能单元15。其中,语法规则单元11,用于配置和记录语法规则。脚本单元12,用于提供编写业务逻辑的脚本的可视化环境。解析单元13,用于对编写的脚本进行词法解析和语法解析,以生成相应的语法树。解析单元13包括词法解析器131和语法解析器132。解析器例如可以基于ANTLR(Another Tool for Language Recognition,另一种语言识别工具)实现,ANTLR是解析器的生成器,根据输入自动生成语法树并可视化的显示出来的开源语法分析器。表达式单元14,用于遍历语法树,基于语法规则,针对语法树中各个节点生成相应的表达式。功能单元15,用于根据业务逻辑组合各个表达式形成表达式对象,以实现业务逻辑相应的业务功能。下面结合业务功能实现过程描述各个单元的详细功能。
图2为本公开实现业务功能的方法的一些实施例的示意图。
如图2所示,该实施例的方法包括:步骤21-25,可选的,还可以包括步骤26。
在步骤21,用户配置自己的语法规则,脚本引擎10(语法规则单元11)记录配置的语法规则。
语法规则是可配置的,不同的用户可以配置不同的语法规则。语法规则包括变量类型、运算符、内置函数、自定义函数和功能模板等内容以及这些内容的表示方式(如中文、英文、符号等)。变量类型包括数值型、字符型、布尔型(Boolean,包括真或假两种数值),日期型,还包括数组变量,包括定长和不定长数组等。运算符主要包括基本算术运算符(如+,-,*,/等)、逻辑运算符(如AND,OR,NOT等)和比较运算符(如>,<,=等)。函数主要包括字符类函数(如SUBSTRING、TRIM等)、日期类函数(如DATE、SYSTEMDATE等)、数学函数(如RANDOM、LOG等)、统计类函数、数组类函数(如MAX、SUM等)、转换类函数(如TOSTRING、TONUMBER等)等。模板主要包括循环模板(WHILE)和条件模板(IF)。
下面以条件模板(或称“条件表达式”)为例说明语法规则。条件表达式(也即IF表达式)由IF(也可以定义成中文“如果”)关键字,条件表达式,THEN(也可以定义成中文“那么”)关键字,逻辑代码块,ENDIF(也可以定义成中文“结束如果”)关键字组成。其中,条件表达式支持AND,OR,NOT等逻辑表达式,逻辑表达式中可支持+,-,*,/等算术表达式,算术表达式中可以填入变量,变量支持字母,数字,中文和下划线的任意组合。逻辑代码块可以是赋值语句、返回(RETURN)语句、IF或者WHILE等定义的表达式,可以进行层层嵌套使用。
在步骤22,用户基于配置的语法规则编写业务逻辑的脚本,脚本引擎10(脚本单元12)获取用户编写的脚本。
脚本引擎10提供编写业务逻辑的脚本的可视化环境,可视化环境包括可拖拽的资源,可拖拽的资源例如包括变量库、内置函数库、功能模板库等,使得用户在可视化环境中通过拖拽方式编写业务逻辑的脚本。
图3示出一种示例性的编写脚本的可视化环境,右侧是可拖拽的资源,例如变量库,包括用户.姓名,用户.年龄,用户.性别,用户.工作年限等用户相关的变量,左侧是脚本的编写工作区,用户编写脚本时,如果用到右侧的资源,则将右侧的资源拖拽到左侧的编写工作区,例如,将右侧的“用户.工作年限”变量拖拽到左侧的编写工作区,还可以通过快捷键“Alt+?”进行变量的提示,不需要用户逐字逐句地写入该变量,这样不容易出错。可视化环境的上面还可以设置各种功能按钮,如,导出、单元测试、批量测试、保存、更新版本、全屏等。
例如,一个关于程序员资历评定的业务功能,其业务逻辑是:如果用户的工作年限大于3并且用户的专业是软件工作,那么就可以给用户设置一个资深程序员的标签。参见图3左侧部分的编写工作区,针对该业务逻辑编写的脚本如下:
1:IF‘用户.工作年限’>3.0AND‘用户.专业’=“软件工程”
2:THEN‘用户.标签’=“资深程序员”
3:ENDIF
在步骤23,脚本引擎10(解析单元13)对脚本进行词法解析和语法解析,以生成相应的语法树。
其中,对脚本进行词法解析和语法解析包括:通过词法解析器将脚本的字符流转换成单词序列;通过语法解析器分析单词序列以确定其语法结构;根据语法结构生成脚本相应的语法树。
词法解析器(Lexer)的工作是分析量化那些本来毫无意义的字符流,将他们翻译转换成离散的单词序列(每个单词也就是一个个Token),这些单词包括关键字,标识符,符号(symbols)和操作符等,供语法解析器使用。词法解析过程中,如果出现词法错误,会提示词法错误。例如,针对如下脚本,假设配置的词法规则未定义“&”,当脚本中出现“&”时,词法解析器会提示“【词法错误】未定义词法:&”。
1:IF‘用户.工作年限’>3.0&&‘用户.专业’=“软件工程”
2:THEN‘用户.标签’=“资深程序员”
3:ENDIF
语法解析器(Parse)相对于词法解析器(Lexer)来说,关注所生成的单词的语法意义及其与上下文之间的关系,将各个单词组织起来,并转换成为目标语言语法规则所允许的序列。例如,针对如下脚本,假设配置的语法规则规定变量由单引号引起来的,如果用户输入的变量是双引号引起来的,不符合配置的语法规则,就会报语法错误,提示“【语法错误】不合法的输入变量“用户.标签””。
1:IF‘用户.工作年限’>3.0&&‘用户.专业’=“软件工程”
2:THEN“用户.标签”=“资深程序员”
3:ENDIF
脚本经过词法解析和语法解析被生成相应的语法树。图4示出一种示例性的语法树,是“程序员资历评定”脚本对应的语法树,其第一层次包括依次出现的关键词(如IF、AND、THEN、ENDIF),第二层次包括条件表达式以及逻辑代码等,如用户.工作年限、用户.专业、用户.标签等部分涉及到的脚本逻辑。
在步骤24,脚本引擎10(表达式单元14)遍历语法树,基于语法规则,针对语法树中各个节点生成相应的表达式。
以图4所示的语法树为例,中序遍历这棵语法树,最左下方的部分,第一个节点是“用户.工作年限”,通过定义的规则我们会识别出它是一个变量,第二个节点是“>”,通过定义的规则我们会识别它是一个比较操作符,第三个节点是“3”,通过定义的规则我们会识别出它是一个数字常量,确认这三个节点的具体类型后,识别出语法树的这些节点是一个比较逻辑,因此生成一个比较表达式(设为比较表达式1,ComExpression1)。比较表达式由左表达式、比较符和右表达式组成。比较表达式1是由变量表达式(Variable)、比较符、常量表达式(Constant)组成。
在生成表达式之前,还对语法树中每个部分涉及的变量和参数类型进行校验,如果校验通过,再生成部分相应的表达式。例如,在生成表达式之前,验证变量“用户.工作年限”是否存在,由于比较表达式左/右表达式的类型必须一致,因此还需要进行参数类型匹配性的校验,如果验证不通过,可以提示相应的错误信息,使得用户改正,如果验证通过,就会生成对应的表达式。
接着,参考比较表达式1的生成过程,继续中序遍历语法树的其他节点,还会依次生成比较表达式2(ComExpression2,对应用户.专业’=“软件工程”部分),和表达式(AndExpression,对应AND部分),那么表达式(ThenExpression)及其赋值表达式(AssignExpression,对应设置用户标签部分),以及如果表达式(IFExpression)。图5示出最终的表达式结构示意图,包括各个表达式以及它们的逻辑关系。
其中,每种类别的表达式都会实现表达式接口IExpression,该接口实现了一个用来执行表达式逻辑的方法IValue execute(Map<String,IValue>context),Map<String,IValue>表示变量的名字及其值。以比较表达式为例,首先会执行比较表达式左边的变量表达式,变量表达式执行execute方法会从上下文context中获取变量的值,比较表达式右边的常量表达式执行会生成对应的一个常量值,整个比较表达式执行execute方法会将左/右表达式执行的结果根据比较符进行比较,最后返回比较的结果。
在步骤25,脚本引擎10(功能单元15)根据业务逻辑组合各个节点表达式形成可执行的表达式对象,以实现业务逻辑相应的业务功能。业务功能可以是平台内置的,或者用户自定义的。
组合各个表达式形成可执行表达式对象包括:根据定义的语法规则和业务逻辑(该业务逻辑可通过脚本或语法树体现,语法树中各个节点的逻辑关系对应各个表达式的逻辑关系),组合各个表达式形成可直接执行的表达式对象(可以是二进制文件),以实现业务逻辑相应的业务功能。
在步骤26,脚本引擎10测试表达式对象,以验证业务逻辑相应的业务功能。测试通过的表达式对象,还可以导出,任何应用引入该表达式对象就可以执行该表达式对象,实现业务逻辑相应的业务功能。使用简单、方便、可扩展性强、执行效率高。
测试数据1:
序号 字段名 字段值
1 用户.专业 软件工程
2 用户.工作年限 3
测试数据1的测试结果1:
序号 字段名 字段值
1 用户.专业 软件工程
2 用户.工作年限 3
3 用户.标签 资深程序员
测试数据2:
序号 字段名 字段值
1 用户.专业 软件工程
2 用户.工作年限 1
测试数据2的测试结果2:
Figure BDA0002288915110000081
Figure BDA0002288915110000091
测试表明:表达式对象实现了预定的业务逻辑:如果用户的工作年限大于3并且用户的专业是软件工作,那么就可以给用户设置一个资深程序员的标签。
上述实施例,对于用户基于配置的语法规则编写的业务逻辑的脚本,能够自动解析并生成相应的语法树以及表达式,根据业务逻辑组合各个表达式形成可执行的表达式对象,最终实现业务逻辑相应的业务功能,降低业务功能实现难度,缩短开发周期,降低了发布风险。并且,语法规则可配置为接近自然语言的高级语言,如领域特定语言(domain-specific language,DSL),可支持中文,熟悉语法规则的普通业务人员(非专业程序人员)可以根据业务需求自行编写脚本,不再需要专业的程序开发和测试人员,完全解放开发和测试人员,节省了人力成本。此外,脚本语言采用预编译模式,将脚本编译后的表达式对象保存,执行时直接执行编译后的表达式对象,非常高性能。并且编译后的表达式对象可导出,通过引入导出的软件包可以在任何项目中执行,扩展性极好。
本公开的实现业务功能的方案可以应用于风险决策等业务场景中的业务逻辑以及业务功能的实现。
图6为本公开实现业务功能的脚本引擎(简称“脚本引擎”)的另一些实施例的示意图。
如图6所示,该实施例的脚本引擎60包括:存储器61以及耦接至该存储器61的处理器62,处理器62被配置为基于存储在存储器61中的指令,执行前述任意一些实施例中的实现业务功能的脚本方法。
其中,存储器61例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
脚本引擎60还可以包括输入输出接口63、网络接口64、存储接口65等。这些接口63,64,65以及存储器61和处理器62之间例如可以通过总线66连接。其中,输入输出接口63为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口64为各种联网设备提供连接接口。存储接口65为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (8)

1.一种实现业务功能的方法,其特征是,包括:
提供编写业务逻辑的脚本的可视化环境,所述可视化环境包括可拖拽的资源,所述可拖拽的资源包括中文表达的变量库、函数库、功能模板库中的一项或多项;
获取用户在可视化环境中通过拖拽方式基于配置的语法规则编写的业务逻辑的脚本,所述语法规则被配置为接近自然语言的高级语言,不同的用户可以配置不同的语法规则;
对所述脚本进行词法解析和语法解析,以生成相应的语法树;
遍历所述语法树,基于所述语法规则,将所述语法树中相关联的多个节点生成相应的表达式,其中,每种类别的表达式实现表达式接口,所述表达式接口实现了一个用来执行表达式逻辑的方法;
根据所述语法规则和所述业务逻辑组合各个表达式形成可执行的表达式对象,以实现所述业务逻辑相应的业务功能。
2.根据权利要求1所述的方法,其特征是,所述语法规则是可配置的,所述语法规则包括变量类型、运算符、内置函数、自定义函数、功能模板。
3.根据权利要求1所述的方法,其特征是,对所述脚本进行词法解析和语法解析包括:
通过词法解析器将所述脚本的字符流转换成单词序列;
通过语法解析器分析所述单词序列以确定其语法结构;
根据所述语法结构生成所述脚本相应的语法树。
4.根据权利要求1所述的方法,其特征是,在生成表达式之前还包括:
对所述语法树中每个节点涉及的变量和参数类型进行校验,如果校验通过,再生成所述部分相应的表达式。
5.根据权利要求1所述的方法,其特征是,还包括:
测试所述表达式对象,以验证所述业务逻辑相应的业务功能。
6.一种实现业务功能的脚本引擎,其特征是,包括:
语法规则单元,用于配置语法规则,所述语法规则被配置为接近自然语言的高级语言,不同的用户可以配置不同的语法规则;
脚本单元,用于提供编写业务逻辑的脚本的可视化环境,所述可视化环境包括可拖拽的资源,所述可拖拽的资源包括中文表达的变量库、函数库、功能模板库中的一项或多项;
解析单元,用于获取用户在可视化环境中通过拖拽方式基于配置的语法规则编写的业务逻辑的脚本,对编写的脚本进行词法解析和语法解析,以生成相应的语法树;
表达式单元,用于遍历所述语法树,基于所述语法规则,将所述语法树中相关联的多个节点生成相应的表达式,其中,每种类别的表达式实现表达式接口,所述表达式接口实现了一个用来执行表达式逻辑的方法;
功能单元,用于根据所述语法规则和所述业务逻辑组合各个表达式形成可执行的表达式对象,以实现所述业务逻辑相应的业务功能。
7.一种实现业务功能的脚本引擎,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-5中任一项所述的实现业务功能的方法。
8.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-5中任一项所述的实现业务功能的方法的步骤。
CN201911171846.0A 2019-11-26 2019-11-26 实现业务功能的方法和脚本引擎 Active CN110908640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911171846.0A CN110908640B (zh) 2019-11-26 2019-11-26 实现业务功能的方法和脚本引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911171846.0A CN110908640B (zh) 2019-11-26 2019-11-26 实现业务功能的方法和脚本引擎

Publications (2)

Publication Number Publication Date
CN110908640A CN110908640A (zh) 2020-03-24
CN110908640B true CN110908640B (zh) 2022-06-07

Family

ID=69819532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911171846.0A Active CN110908640B (zh) 2019-11-26 2019-11-26 实现业务功能的方法和脚本引擎

Country Status (1)

Country Link
CN (1) CN110908640B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767038B (zh) * 2020-06-28 2023-05-26 烟台东方威思顿电气有限公司 一种脚本化的智能电表事件判断解析方法
CN111930383A (zh) * 2020-06-30 2020-11-13 广西东信易联科技有限公司 一种基于轻量规则的业务处理引擎及业务系统的处理方法
CN111984247A (zh) * 2020-09-11 2020-11-24 得到(天津)文化传播有限公司 一种业务处理方法、装置和电子设备
CN112162921B (zh) * 2020-09-15 2023-08-25 广州市方瞳科技有限责任公司 一种工业自动化测试与控制系统
CN112269566B (zh) * 2020-11-03 2022-09-02 支付宝(杭州)信息技术有限公司 脚本生成处理方法、装置、设备及系统
CN112379872A (zh) * 2020-11-05 2021-02-19 上海汇付数据服务有限公司 一种规则引擎系统
CN112532517B (zh) * 2020-11-05 2022-04-05 东北大学 基于领域特定语言实现ospf协议配置综合方案
CN112395268A (zh) * 2020-11-12 2021-02-23 中国人寿保险股份有限公司 一种复杂条件规则的可视化配置方法和装置
CN112394922B (zh) * 2020-12-02 2022-02-22 成都新希望金融信息有限公司 决策配置方法、业务决策方法和决策引擎系统
CN112784143B (zh) * 2020-12-29 2023-12-29 金蝶软件(中国)有限公司 基于可视化计算引擎的数据处理方法、系统和计算机设备
CN113032604B (zh) * 2021-05-28 2021-09-17 航天宏图信息技术股份有限公司 一种遥感影像处理方法、装置、电子设备及存储介质
CN113535148B (zh) * 2021-07-22 2023-07-21 北京奇艺世纪科技有限公司 一种源代码的生成方法、装置及电子设备
CN114968219A (zh) * 2022-05-09 2022-08-30 中国三峡建工(集团)有限公司 一种基于可视化拖拽式逻辑分析脚本的构建方法
CN115268924B (zh) * 2022-06-10 2023-05-02 知学云(北京)科技股份有限公司 一种基于aPaaS平台的公式计算引擎服务方法及系统
CN115617322A (zh) * 2022-09-29 2023-01-17 联通智网科技股份有限公司 定制脚本运行方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634940A (zh) * 2008-07-25 2010-01-27 苏州市蜗牛电子有限公司 通过脚本开发电脑游戏的方法
CN103870308A (zh) * 2012-12-13 2014-06-18 杭州勒卡斯广告策划有限公司 一种数据处理方法及装置
CN103885879A (zh) * 2014-03-26 2014-06-25 卡斯柯信号有限公司 用于联锁软件自动测试平台系统的脚本解析方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282373A1 (en) * 2013-03-15 2014-09-18 Trinity Millennium Group, Inc. Automated business rule harvesting with abstract syntax tree transformation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634940A (zh) * 2008-07-25 2010-01-27 苏州市蜗牛电子有限公司 通过脚本开发电脑游戏的方法
CN103870308A (zh) * 2012-12-13 2014-06-18 杭州勒卡斯广告策划有限公司 一种数据处理方法及装置
CN103885879A (zh) * 2014-03-26 2014-06-25 卡斯柯信号有限公司 用于联锁软件自动测试平台系统的脚本解析方法

Also Published As

Publication number Publication date
CN110908640A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110908640B (zh) 实现业务功能的方法和脚本引擎
Chen et al. A survey of compiler testing
Tufano et al. On learning meaningful code changes via neural machine translation
Gosain et al. Static analysis: A survey of techniques and tools
Katz et al. Towards neural decompilation
CN104899147B (zh) 一种面向安全检查的代码静态分析方法
US8156474B2 (en) Automation of software verification
Brett et al. Rewriting-based runtime verification for alternation-free HyperLTL
US7917899B2 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
CN103577168A (zh) 测试用例创建系统及方法
US10303467B2 (en) Target typing-dependent combinatorial code analysis
US9311077B2 (en) Identification of code changes using language syntax and changeset data
WO2015130675A2 (en) Apparatus and method for testing computer program implementation against a design model
CN112131120B (zh) 一种源代码缺陷检测方法及装置
CN112765031A (zh) 一种群智化漏洞挖掘任务的分解方法
Zhong et al. Inferring bug signatures to detect real bugs
Negrini et al. Twinning automata and regular expressions for string static analysis
Ortin et al. Cnerator: A Python application for the controlled stochastic generation of standard C source code
Zengler et al. Encoding the Linux kernel configuration in propositional logic
EP3872663B1 (en) Method and device for symbolic analysis of a software program
CN114691197A (zh) 代码分析方法、装置、电子设备和存储介质
Wang et al. A platform-specific code smell alert system for high performance computing applications
Grigorev et al. String-embedded language support in integrated development environment
Hackman et al. mel-model extractor language for extracting facts from models
Taentzer What algebraic graph transformations can do for model transformations

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
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant