结合语法树和数据加密的前后端代码交互方法及系统与流程

文档序号:37067597发布日期:2024-02-20 21:20阅读:18来源:国知局
结合语法树和数据加密的前后端代码交互方法及系统与流程

本发明涉及代码交互,尤其涉及一种结合语法树和数据加密的前后端代码交互方法及系统。


背景技术:

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、对于所述语法树的每一个节点,通过识别常量表达式节点,计算对应的常量值,使用所述常量值替换所述常量表达式节点,得到所述优化语法树,将所述命令脚本输入至所述优化语法树,得到所述语法解析结果。

31、在一种可选的实施方式中,

32、所述根据所述语法解析结果,所述数据终端通过预先引入的用户数据和动态策略规则对所述语法解析结果进行用户验证,若未通过用户验证则禁止访问,若通过所述用户验证,则发放访问令牌并对所述语法解析结果做出响应,生成返回数据包括:

33、创建用户角色列表,对所述用户角色列表中的每个角色信息定义对应的权限,将所述角色信息与用户进行关联,并为登录的用户动态分配角色;

34、获取用户对应的角色,对所述后端服务器中的资源设置控制访问规则,根据所述控制访问规则,结合所述用户对应的角色和所述动态策略规则进行权限验证;

35、若通过验证,则为用户颁发令牌,并对所述语法解析结果做出对应的响应,返回数据包,若未通过验证,则返回禁止访问。

36、在一种可选的实施方式中,

37、所述根据所述访问控制规则,结合所述用户对应的角色和所述动态策略规则进行权限验证包括:

38、根据验证系统的需求,引入角色属性信息,确定所述角色属性信息对所述控制访问规则的影响因数,在用户登录时,收集所述用户的身份信息,并收集需要的角色属性信息,根据所述影响因数确定所述角色属性信息与所述控制访问规则的映射关系;

39、获取动态策略规则,并确定可以在运行时修改的控制访问规则,记为动态访问规则,设置管理接口,系统管理员根据所述管理接口以及验证系统的需求对所述动态访问规则进行对应的调整,得到实时验证系统;

40、根据所述实时验证系统,结合所述角色属性信息与所述控制访问规则的映射关系,实现对所述用户对应的角色的验证。

41、在一种可选的实施方式中,

42、所述基于所述返回数据,根据加密传输策略将所述返回数据传输至所述后端服务器,所述后端服务器对所述返回数据进行拆封并传输至前端服务器包括:

43、根据所述返回数据,配置https协议,选择对称加密库,通过所述对称加密库,验证所述返回数据的大小,若所述返回数据大于预设的数据阈值,则将所述返回数据分为大小相等的数据块,根据预先选择的加密模式对所述数据块通过随机生成的密钥进行加密操作,并将加密后的数据块通过https协议传输至所述后端服务器;

44、若所述返回数据不大于所述数据阈值,则直接根据预选选择的加密模式对所述返回数据通过随机生成的密钥进行加密,并将加密后的返回数据通过https协议传输至所述后端服务器;

45、所述后端服务器通过所述通信接口接收所述加密后的返回数据,对所述加密后的返回数据进行解密并通过预设的api接口将解密后的返回数据传送至所述前端服务器。

46、本发明实施例的第二方面,提供一种结合语法树和数据加密的前后端代码交互系统,包括:

47、第一单元,用于基于数据终端通信协议建立数据终端通信接口,并在图形化界面中嵌入代码编辑器和代码解析器,通过所述代码编辑器将用户操作保存为命令脚本,并将所述命令脚本发送至预先构建的后端服务器;

48、第二单元,用于根据所述命令脚本,结合所述后端服务器,选择词法分析器和语法分析器,根据所述词法分析器对所述命令脚本进行分析,得到语法规则和词法单元,根据所述语法规则和词法单元,结合所述语法分析器生成语法树,通过预设的语法优化算法对所述语法树进行优化,得到语法解析结果,并将所述语法解析结果发送至数据终端;

49、第三单元,用于根据所述语法解析结果,所述数据终端通过预先引入的用户数据和动态策略规则对所述语法解析结果进行用户验证,若通过所述用户验证,则发放访问令牌并对所述语法解析结果做出响应,生成返回数据,基于所述返回数据,根据加密传输策略将所述返回数据传输至所述后端服务器,所述后端服务器对所述返回数据进行封装并传输至前端服务器。

50、本发明实施例的第三方面,

51、提供一种电子设备,包括:

52、处理器;

53、用于存储处理器可执行指令的存储器;

54、其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述所述的方法。

55、本发明通过语法树和数据加密,确保用户生成的命令脚本和返回数据在传输和存储过程中的机密性和安全性,通过用户验证,确保只有授权用户可以执行命令并访问系统资源,通过语法树优化和加密传输策略,提高了系统的性能和响应速度,综上,本发明结合了前端用户操作、语法解析、用户验证和数据传输的多个关键技术,以实现数据的安全交互和用户友好性,同时提供了高度可扩展性,可以适应不同的业务需求和安全要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1