The embodiment of the present disclosure discloses a script operation method, device, electronic device and storage medium. According to the script operation method of one embodiment, the features include: determining the dependency relationship between statements in the script; dividing at least part of the statements in the script into multiple groups according to the dependency relationship, so that there is no dependency relationship between any statement in any of the groups and any statement in any of the groups. The plurality of groups are executed in parallel.
【技术实现步骤摘要】
脚本运行方法、装置、电子设备及存储介质
本公开涉及计算机领域,具体地,涉及一种脚本运行方法、装置、电子设备及存储介质。
技术介绍
脚本(script)是一种可在特定的运行环境(runtimeenvironment)中运行的文件。例如,JavaScript脚本文件(后缀为.js)的运行环境包括浏览器环境和非浏览器环境(比如Node.js、MongoDB),SQL脚本文件(后缀为.sql)的运行环境包括MYSQL,SQLServer,Oracle等。脚本文件的内容是以解释性语言撰写的一条条的语句。运行脚本文件时,由解释器(interpreter)从第一条语句开始读一条解释一条,如果是指令性语句则去运行,运行完后再读下一条语句,即边解释边运行。由于脚本文件运行的这种特点,所以在脚本文件包含很多语句的情况下,运行脚本文件会很耗时。
技术实现思路
本公开要解决的技术问题在于,在脚本文件包含很多语句的情况下,运行脚本文件会很耗时。根据本公开的一个方面,一种脚本运行方法包括:确定脚本内的语句之间的依赖关系;根据依赖关系将语句分组,使得组之间没有依赖关系;并行执行组。在一个实施方式中 ...
【技术保护点】
1.一种脚本运行方法,其特征在于,包括:确定脚本内的语句之间的依赖关系;根据所述依赖关系将所述语句分组,使得所述组之间没有依赖关系;并行执行所述组。
【技术特征摘要】
1.一种脚本运行方法,其特征在于,包括:确定脚本内的语句之间的依赖关系;根据所述依赖关系将所述语句分组,使得所述组之间没有依赖关系;并行执行所述组。2.根据权利要求1所述的方法,其特征在于,还包括:根据所述依赖关系将所述组中的所述语句分为子组,使得所述子组之间没有依赖关系;并行执行所述子组。3.根据权利要求1或2所述的方法,其特征在于,所述确定脚本内的语句之间的依赖关系包括:确定每个所述语句的输入和/或输出;两两比较所述语句的输入和/或输出,判断其中一个所述语句的输入与另一个所述语句的输出的交集是否不为空、或者其中一个所述语句的输出与另一个所述语句的输出的交集是否不为空;当判断结果为是时,确定所述两个语句之间具有依赖关系。4.根据权利要求3所述的方法,其特征在于,所述确定每个所述语句的输入和/或输出,包括:通过语法分析器生成每个所述语句的语法树;以及遍历所述语法树,确定每个所述语句的输入和/或输出。5.根据权利要求3所述的方法,其特征在于,所述确定每个所述语句的输入和输出,包括:通过语法分析器生成每个所述语句的语法树;将所述语法树转化为查询块,确定每个所述语句的输入和/或输出。6.一种脚本运行装置,其特征在于,包括:依赖关系确定模块,用于确定脚本内的语句之间的依赖关系;分组模块,用于根据所述依赖关系确定模块所确定的依赖关系将所述语句分组,使得所述组之间没有依赖关系;并行执行模块,用于并行执行根据所述分组模块所分的所述组。7....
【专利技术属性】
技术研发人员:关振宇,朱家强,
申请(专利权)人:拉卡拉支付股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。