System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及代码交互,尤其涉及一种结合语法树和数据加密的前后端代码交互方法及系统。
技术介绍
1、从软件架构来讲,程序都可以划分为多个部分,所述部分也可以称为端,比如手机端、浏览器端、客户端、服务器端,每一端的内部都自成体系,端与端通过接口进行通信,靠近用户的一端习惯上称为前端,另一端称为后端。在开发需要前后端交互的功能时,每一端都要编写数据通信和数据转换的代码。
2、相关技术中,cn109861945a公布了一种分布式代码运行及交互安全方法及其系统,包括客户端浏览器或应用(接口)和web或其他类型的服务器,在服务器中设置有加密文件系统、和函数调用拦截插件模块和加密模块,客户端浏览器或应用(接口)向服务器发出代码动态安全执行请求,文件系统请求加密模块进行编码加密生成代码密文;加密模块进行密文编码转换后返回给操作系统;服务器先向加密模块提出对代码运行结果进行密文编码转换请求;服务器将未转换的代码运行结果的密文与可显示或应用(接口)可处理的代码运行结果的密文融合,融合结果发送到浏览器或应用(接口)。
3、cn113821557a,公开了一种web页面与后端进行数据交互的方法,包括步骤:a.设置一个用于接收前端ajax请求的处理模块;b.将每个ajax请求所需要执行的sql语句配置在xml文件中,并为每一个sql语句设置一个id;c.前端通过所述处理模块向后端发起ajax请求,后端根据请求中sql语句的id,在xml文件中找到对应的目标sql语句,执行目标sql语句并返回响应结果。
4、综上,现有
技术实现思路
1、本专利技术实施例提供一种结合语法树和数据加密的前后端代码交互方法及系统,用于在实现前后端代码交互的同时,优化代码并对传输数据进行加密。
2、本专利技术实施例的第一方面,提供一种结合语法树和数据加密的前后端代码交互方法,包括:
3、基于数据终端通信协议建立数据终端通信接口,并在图形化界面中嵌入代码编辑器和代码解析器,通过所述代码编辑器将用户操作保存为命令脚本,并将所述命令脚本发送至预先构建的后端服务器;
4、根据所述命令脚本,结合所述后端服务器,选择词法分析器和语法分析器,根据所述词法分析器对所述命令脚本进行分析,得到语法规则和词法单元,根据所述语法规则和词法单元,结合所述语法分析器生成语法树,通过预设的语法优化算法对所述语法树进行优化,得到语法解析结果,并将所述语法解析结果发送至数据终端;
5、根据所述语法解析结果,所述数据终端通过预先引入的用户数据和动态策略规则对所述语法解析结果进行用户验证,若通过所述用户验证,则发放访问令牌并对所述语法解析结果做出响应,生成返回数据,基于所述返回数据,根据加密传输策略将所述返回数据传输至所述后端服务器,所述后端服务器对所述返回数据进行封装并传输至前端服务器。
6、在一种可选的实施方式中,
7、所述基于数据终端通信协议建立数据终端通信接口包括:
8、通过数据终端天线的定向调整和修改网络设置,实现数据终端通信硬件建立通信连接;
9、根据所述通信连接,对遥测数据进行封装,将封装后的遥测数据发送至数据终端,接收数据终端的响应信号并确认所述遥测数据完整性,若所述遥测数据完整则所述通信连接建立成功,生成数据终端通信接口,否则失败,并重复操作;
10、其中,根据所述通信连接,对遥测数据进行封装包括:
11、创建数据包头,根据所述遥测数据的类型和数量,在数据包中定义数据字段;
12、将实际遥测数据填充至所述数据字段中,并计算数据包的冗余校验值;
13、根据所述冗余校验值,结合所述数据包头和所述数据字段,并基于数据终端通信协议添加起始标识符和结束标识符,得到封装数据包。
14、在一种可选的实施方式中,
15、所述根据所述通信接口,在图形化界面中嵌入代码编辑器和代码解析器,通过所述代码编辑器将用户操作保存为命令脚本,并将所述命令脚本发送至后端服务器包括:
16、根据系统需求选择代码编辑器,根据选择的代码编辑器,根据文档说明在项目文件中引入所述代码编辑器的相关文件;
17、在所述图形化界面中创建容器,通过所述相关文件将所述代码编辑器与所述容器进行关联,初始化所述代码编辑器,根据所述代码编辑器,监听用户输入,并根据所述用户输入暂时保存对应的脚本,并记为命令脚本;
18、根据所述命令脚本,当用户进行保存操作时,所述代码编辑器将所述命令脚本保存至数据库中,同时将所述命令脚本发送至所述后端服务器中。
19、在一种可选的实施方式中,
20、所述通过选择的词法分析器分析器对所述命令脚本进行分析,得到语法规则和词法单元,根据所述语法规则和词法单元,结合语法分析器声生成语法树,通过预设的语法优化算法对所述语法树进行优化,得到语法解析结果,并将所述语法解析结果发送至数据终端包括:
21、根据预先构建的后端服务器,通过所述后端服务器中的api接口接收所述命令脚本,将所述命令脚本加入至异步任务队列中,对所述命令脚本进行异步解析;
22、根据所述后端服务器,结合所述异步解析对应的规则,选择词法分析器和语法分析器,根据所述词法分析器,结合所述命令脚本的脚本语言,定义语法规则,根据所述命令脚本的代码包含的标识符、运算符和常量,将所述命令脚本分解为词法单元,根据所述语法分析器,结合所述词法单元和所述语法规则,将所述语法规则作为连接边,将所述词法单元作为节点,构建所述语法树;
23、根据所述语法树,结合预设的语法优化算法,通过去除所述语法树中的多余节点对所述语法树进行优化,得到优化语法树,根据所述优化语法树,对所述命令脚本进行语义识别,得到所述语法解析结果,所述后端服务器通过所述数据终端通信接口将所述语法解析结果发送至所述数据终端。
24、在一种可选的实施方式中,
25、所述通过去除所述语法树中的多余节点对所述语法树进行优化,得到优化语法树,根据所述优化语法树,对所述命令脚本进行语义识别,得到所述语法解析结果包括:
26、根据所述语法树,选择遍历算法,遍历所述语法树的全部节点;
27、对于所述语法树的每一个节点,根据优化规则,识别非必须节点并对其进行删除;
28、检查所述语法树中相邻的同类型节点,并将所述相邻的同类型节点进行合并,识别所述语法树中不影响语义的中间节点,通过直接连接所述中间节点对应的父节点和子节点,删除所述中间节点;
29、根据所述优化语法树,识别所述语法树中的空的循环语句和不可达代码,并进行删除;
30、对于所述语法树的每一个节点,通过识别常量表达式节点,计算对应的常量值,使用所述常本文档来自技高网...
【技术保护点】
1.结合语法树和数据加密的前后端代码交互方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于数据终端通信协议建立数据终端通信接口包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述通信接口,在图形化界面中嵌入代码编辑器和代码解析器,通过所述代码编辑器将用户操作保存为命令脚本,并将所述命令脚本发送至后端服务器包括:
4.根据权利要求1所述的方法,其特征在于,所述通过选择的词法分析器分析器对所述命令脚本进行分析,得到语法规则和词法单元,根据所述语法规则和词法单元,结合语法分析器声生成语法树,通过预设的语法优化算法对所述语法树进行优化,得到语法解析结果,并将所述语法解析结果发送至数据终端包括:
5.根据权利要求4所述的方法,其特征在于,所述通过去除所述语法树中的多余节点对所述语法树进行优化,得到优化语法树,根据所述优化语法树,对所述命令脚本进行语义识别,得到所述语法解析结果包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述语法解析结果,所述数据终端通过预先引入的用户数据和动态策略规
7.根据权利要求6所述的方法,其特征在于,所述根据所述访问控制规则,结合所述用户对应的角色和所述动态策略规则进行权限验证包括:
8.根据权利要求1所述的方法,其特征在于,所述基于所述返回数据,根据加密传输策略将所述返回数据传输至所述后端服务器,所述后端服务器对所述返回数据进行拆封并传输至前端服务器包括:
9.一种结合语法树和数据加密的前后端代码交互系统,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
...【技术特征摘要】
1.结合语法树和数据加密的前后端代码交互方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于数据终端通信协议建立数据终端通信接口包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述通信接口,在图形化界面中嵌入代码编辑器和代码解析器,通过所述代码编辑器将用户操作保存为命令脚本,并将所述命令脚本发送至后端服务器包括:
4.根据权利要求1所述的方法,其特征在于,所述通过选择的词法分析器分析器对所述命令脚本进行分析,得到语法规则和词法单元,根据所述语法规则和词法单元,结合语法分析器声生成语法树,通过预设的语法优化算法对所述语法树进行优化,得到语法解析结果,并将所述语法解析结果发送至数据终端包括:
5.根据权利要求4所述的方法,其特征在于,所述通过去除所述语法树中的多余节点对所述语法树进行优化,得到优化语法树,根据所述优...
【专利技术属性】
技术研发人员:王鑫,李春茂,
申请(专利权)人:苏州捷讯云联数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。