[发明专利]一种面向多语言的高并发在线开发支撑方法有效
申请号: | 201810470192.0 | 申请日: | 2018-05-16 |
公开(公告)号: | CN110502212B | 公开(公告)日: | 2023-07-11 |
发明(设计)人: | 陈振宇;袁阳阳;韩奇;徐朱峰;张馨中;程翔;房春荣 | 申请(专利权)人: | 南京慕测信息科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/33;G06F9/50;G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 语言 并发 在线 开发 支撑 方法 | ||
1.一种面向多语言的高并发在线开发支撑方法,提供代码编辑器并可进行智能提示;对于JMeter测试提供表单式编辑界面;对后台请求进行负载均衡转发,使用Nginx来对后端请求进行转发,通过第三方分发算法Sticky在保证客户端WebSocket连接的基础上使得每台后端服务器的负载尽可能均衡,同时通过健康检查排除宕机的服务器,增强系统的容错性;实现基于Docker的代码执行机制,提供了统一的REST API,WebIDE后端通过调用该API实现运行工具的启动和停止,通过构建Docker镜像提供多种编程语言和项目类型的运行环境,能较为方便地进行扩展;开发异步队列服务管理实现分布式计算,提升系统性能。
2.根据权利要求1所述的一种面向多语言的高并发在线开发支撑方法,其中代码编辑器智能提示方法包括,
1)词法分析器使用状态转换图来识别单词符号,状态转换图使有限方向图,包含一个初态和至少一个终态,主要区分了分界符、运算符、单行注释、多行注释、标识符或关键字、数字串、非法字符的情况;
2)代码片段使用‘name’:{prefix:‘’,body:‘’}数据结构表示,其中name表示名称描述语句,prefix表示约定字符串,用于匹配用户输入,body为代码模板,需要事先自定义代码片段库,尽可能减少用户简单代码块的编辑以及重复复制粘贴操作。
3.根据权利要求1所述的一种面向多语言的高并发在线开发支撑方法,其中JMeter表单化展示包括,
1)JSON与XML相互转化,通过给用户提供表单化编辑测试计划的方式获得用户输入,再将JSON格式的用户输入转化为XML格式的测试脚本供测试程序执行,此外还实现了已存储的测试脚本在界面上的展示;
2)串行并行混杂的接口调用,JMeter表单式编辑作为独立的前端项目,在工作空间初始化过程中,需要依次实现获取工作空间码、获取文件内容、建立Socket通讯这三个步骤,其中获取文件内容这一步骤,需要同时发送两个请求以获取不同文件的内容。
4.根据权利要求1所述的一种面向多语言的高并发在线开发支撑方法,其中负载均衡转发方式包括,
1)利用阿里云的NAS文件存储服务保证多节点服务器上用户文件的一致性,通过将所有后端服务器上的工作空间都挂载到NAS文件系统实例,从而实现文件的共享和实时更新。
5.根据权利要求1所述的一种面向多语言的高并发在线开发支撑方法,其中基于Docker的代码执行机制包括,
1)WebIDE后端对统一的REST API封装的接口如下:
其中AsyncJobTool包装了对应工具的信息,CallBackClass定义了任务处理完毕时WebIDE的回调函数;
2)通过构建Docker镜像提供多种编程语言和项目类型的运行环境,包括Java、Python、Jmeter、Selenium,同时能够方便地进行扩展,只要构建符合数据约束的Docker镜像,即可无缝接入WebIDE中,数据约束包括:
a)日志和分数文件输出到统一文件
b)本地的分数计算结果符合已有JSON格式定义:
其中score和title的内容根据项目类型需要进行定义。
6.根据权利要求1所述的一种面向多语言的高并发在线开发支撑方法,其中异步队列服务管理包括,
1)操作原语的设计为集成到WebIDE平台的服务规定了统一的接口标准,满足操作原语要求的第三方服务才可以集成到平台上,操作原语包括服务的运行,停止和状态三种;
2)异步队列让进入WebIDE通信模块的服务得到管理,以消息或消息组为单位,接收下一个阶段分布式方案的调度,服务在执行后通过异步消息的方式通知队列,更新队列中原有消息或消息组;
3)分布式方案采用合理的负载均衡策略,分配异步队列中的消息或消息组至不同的服务器执行,具体服务通过容器镜像的方式运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京慕测信息科技有限公司,未经南京慕测信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810470192.0/1.html,转载请声明来源钻瓜专利网。