引擎系统、请求处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:39325964 阅读:11 留言:0更新日期:2023-11-12 16:04
本申请公开了一种请求处理方法,包括:接收页面获取请求;对所述页面获取请求进行处理,得到所述页面获取请求对应的JSON报文;调用基于混编语言的引擎系统执行如下步骤:将JSON报文转换为对应的混编语言代码,以及对所述混编语言代码进行解析,得到抽象语法树,其中,所述混编语言代码包括至少两种编码语言代码;执行所述抽象语法树,得到所述页面获取请求对应的页面请求结果。求对应的页面请求结果。求对应的页面请求结果。

【技术实现步骤摘要】
引擎系统、请求处理方法、装置、计算机设备及存储介质


[0001]本申请涉及互联网
,尤其涉及一种引擎系统、请求处理方法、装置、计算机设备及存储介质。

技术介绍

[0002]互联网技术中编程语言的品类繁多,各种编码语言都具有各自的优势与缺陷。比如,针对脚本语言引擎,以Groovy引擎为例,使用起来需要严格按照Groovy语言规范编写执行或引擎内容,语言规范与风格偏向Java语言,用户使用体验笨重。虽然该引擎的语法与Java语法类似,对于后端同学编程人员来说学习起来成本不大,但是对于前端编程人员来说就比较陌生。又比如,针对JS语言引擎,以Java自带的JS引擎为例,使用是纯JS语法,语法适用面非常广,前后端的编程人员都能快速掌握,门槛低。但是采用JS语言进行编程时也会存在一些缺陷,比如,数字类型的精度缺失问题。

技术实现思路

[0003]有鉴于此,现提供一种基于混编语言的引擎系统、请求处理方法、装置、计算机设备及存储介质,以解决现有中的单一编程语言引擎在编程过程中会存在一些缺陷的问题。
[0004]本申请提供了一种引擎系统,所述引擎系统包括引擎应用层及引擎执行层,其中:
[0005]所述引擎应用层,用于将JSON报文将所述JSON报文切分为多个逻辑单元;将多个所述逻辑单元分别映射成对应的代码模块;以及将多个代码模块拼接成混编语言代码,其中,所述混编语言代码包括至少两种编码语言代码;
[0006]所述引擎应用层,还用于对所述混编语言代码进行词法分析,以将所述混编语言代码转换为对应的令牌流;以及对所述令牌流进行语法分析,得到所述抽象语法树;
[0007]所述引擎执行层,用于循环遍历所述抽象语法树中包含的多个节点,获取多个所述节点对应的系统级别接口;以及通过每一个节点对应的系统级别接口执行每一个节点对应的代码段,得到执行结果。
[0008]本申请还提供了一种请求处理方法,所述方法包括:
[0009]接收页面获取请求;
[0010]对所述页面获取请求进行处理,得到所述页面获取请求对应的JSON报文;
[0011]调用基于混编语言的引擎系统执行如下步骤:
[0012]将JSON报文转换为对应的混编语言代码,以及对所述混编语言代码进行解析,得到抽象语法树,其中,所述混编语言代码包括至少两种编码语言代码;
[0013]执行所述抽象语法树,得到所述页面获取请求对应的页面请求结果。
[0014]可选地,所述将JSON报文转换为对应的混编语言代码包括:
[0015]将所述JSON报文切分为多个逻辑单元;
[0016]将多个所述逻辑单元分别映射成对应的代码模块;
[0017]将多个代码模块拼接成所述混编语言代码。
[0018]可选地,所述对所述混编语言代码进行解析,得到抽象语法树包括:
[0019]对所述混编语言代码进行词法分析,以将所述混编语言代码转换为对应的令牌流;
[0020]对所述令牌流进行语法分析,得到所述抽象语法树。
[0021]可选地,所述混编语言代码包括Java语言代码及JS语言代码,所述对所述混编语言代码进行解析,得到抽象语法树包括:
[0022]在对所述混编语言代码的解析过程中,将所述混编语言代码中的JS语言代码解析成符合Java虚拟机可执行模式的类型,将所述混编语言代码中的Java语言代码解析成Java语言对应的类加载器加载系统内存中拥有的java代码类的类型。
[0023]可选地,所述将所述混编语言代码中的JS语言代码解析成符合Java虚拟机可执行模式的类型包括:
[0024]获取JS语言对应的类加载器,使用所述类加载器加载JS类,并在完成JS类加载后,通过预设的JS引擎将所述JS语言代码转换成符合Java虚拟机可执行模式的类型。
[0025]可选地,所述执行所述抽象语法树,得到所述页面获取请求对应的页面请求结果包括:
[0026]循环遍历所述抽象语法树中包含的多个节点,获取多个所述节点对应的系统级别接口;
[0027]通过每一个节点对应的系统级别接口执行每一个节点对应的代码段,得到所述页面获取请求对应的页面请求结果。
[0028]本申请还提供了一种请求处理装置,包括:
[0029]接收模块,用于接收页面获取请求;
[0030]处理模块,用于对所述页面获取请求进行处理,得到所述页面获取请求对应的JSON报文;
[0031]调用模块,用于调用基于混编语言的引擎系统执行如下步骤:将JSON报文转换为对应的混编语言代码,以及对所述混编语言代码进行解析,得到抽象语法树,其中,所述混编语言代码包括至少两种编码语言代码;执行所述抽象语法树,得到所述页面获取请求对应的页面请求结果。
[0032]本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0033]本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0034]本申请实施例提供的引擎系统、请求处理方法、装置、计算机设备及存储介质,可以包括以下技术效果:
[0035]通过融合了多种单一引擎系统的功能,从而可以将脚本语言、java语言进行混编,并与js语言进行融合,让脚本语言执行逻辑编码,java语言执行系统功能,让js语言执行数据处理,纯js语言的脚本可以扩展成其他脚本语言类型,实现逻辑一致,并且达到让前端编程人员可以进行js层面的数据处理工作,让后端编程人员进行java层面的复杂逻辑与系统交互工作,学习成本低,并且简单明了。
附图说明
[0036]图1为本申请实施例的应用环境示意图;
[0037]图2为本申请所述的基于混编语言的引擎系统的架构图;
[0038]图3为本申请所述的引擎系统中的引擎应用层及引擎执行层的功能示意图;
[0039]图4为本申请所述的混编语言代码的转换过程示意流程图;
[0040]图5为本申请的混编语言代码与抽象语法树的转换示意图;
[0041]图6示意性示出了根据本申请实施例的请求处理方法的流程图;
[0042]图7为混编语言代码中包含有Java语言代码时的对请求进行处理的流程示意图;
[0043]图8为混编语言代码中包含有JS语言代码时的对请求进行处理的流程示意图;
[0044]图9为本申请所述的请求处理装置的程序模块图;
[0045]图10为本申请实施例提供的执行请求处理方法的计算机设备的硬件结构示意图。
具体实施方式
[0046]以下结合附图与具体实施例进一步阐述本申请的优点。
[0047]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种请求处理方法,其特征在于,所述方法包括:接收页面获取请求;对所述页面获取请求进行处理,得到所述页面获取请求对应的JSON报文;调用基于混编语言的引擎系统执行如下步骤:将JSON报文转换为对应的混编语言代码,以及对所述混编语言代码进行解析,得到抽象语法树,其中,所述混编语言代码包括至少两种编码语言代码;执行所述抽象语法树,得到所述页面获取请求对应的页面请求结果。2.根据权利要求1所述的请求处理方法,其特征在于,所述将JSON报文转换为对应的混编语言代码包括:将所述JSON报文切分为多个逻辑单元;将多个所述逻辑单元分别映射成对应的代码模块;将多个代码模块拼接成所述混编语言代码。3.根据权利要求1所述的请求处理方法,其特征在于,所述对所述混编语言代码进行解析,得到抽象语法树包括:对所述混编语言代码进行词法分析,以将所述混编语言代码转换为对应的令牌流;对所述令牌流进行语法分析,得到所述抽象语法树。4.根据权利要求1所述的请求处理方法,其特征在于,所述混编语言代码包括Java语言代码及JS语言代码,所述对所述混编语言代码进行解析,得到抽象语法树包括:在对所述混编语言代码的解析过程中,将所述混编语言代码中的JS语言代码解析成符合Java虚拟机可执行模式的类型,将所述混编语言代码中的Java语言代码解析成Java语言对应的类加载器加载系统内存中拥有的java代码类的类型。5.根据权利要求4所述的请求处理方法,其特征在于,所述将所述混编语言代码中的JS语言代码解析成符合Java虚拟机可执行模式的类型包括:获取JS语言对应的类加载器,使用所述类加载器加载JS类,并在完成JS类加载后,通过预设的JS引擎将所述JS语言代码转换成符合Java虚拟机可执行模式的类型。6.根据权利要求1至5任一项所述的请求处理方法,其特征在于,所述执行所述抽象语法树,得到所述页面获取...

【专利技术属性】
技术研发人员:刘洋宏李俊玮胡佳瑶
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1