CN114640659A - 一种云端编码辅助方法、装置、电子设备及存储介质 - Google Patents
一种云端编码辅助方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114640659A CN114640659A CN202210320210.3A CN202210320210A CN114640659A CN 114640659 A CN114640659 A CN 114640659A CN 202210320210 A CN202210320210 A CN 202210320210A CN 114640659 A CN114640659 A CN 114640659A
- Authority
- CN
- China
- Prior art keywords
- message
- format
- coded
- queue
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种云端编码辅助方法、装置、电子设备及存储介质,该方法包括:从本地客户端接收第一格式的通信消息,将第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列;从输入消息队列中获取第二格式的编码消息,基于第二格式的编码消息生成第二格式的响应消息;将第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列;从输出消息队列中获取第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成编码辅助。通过采用上述云端编码辅助方法、装置、电子设备及存储介质,解决了从云端获取编码辅助信息时响应速度慢的问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种云端编码辅助方法、装置、电子设备及存储介质。
背景技术
对于程序开发者而言,编写代码、修改代码、完善代码是工作中占比最高的几项活动,针对于此,在单机程序环境下对于不同的编程语言,已经有各种各样的本地集成开发环境(Integrated Development Environment,IDE)来支持相关的工作,然而,随着云计算的提出,各种桌面程序逐步被迁移到云端,被迁移到云端的集成开发环境称之为在线集成开发环境,在线集成开发环境有着可随时随地开发、无需搭建开发环境等优势。
然而,现有的在线集成开发环境较为简陋,存在从云端获取编码辅助信息时响应速度较慢的问题。
发明内容
有鉴于此,本申请的目的在于提供一种云端编码辅助方法、装置、电子设备及存储介质,以解决从云端获取编码辅助信息时响应速度较慢的问题。
第一方面,本申请实施例提供了一种云端编码辅助方法,包括:
从本地客户端接收第一格式的通信消息,将第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,输入消息队列为多生产者单消费者队列;
从输入消息队列中获取第二格式的编码消息,基于第二格式的编码消息生成第二格式的响应消息;
将第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列,输出消息队列为多生产者单消费者队列;
从输出消息队列中获取第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成编码辅助。
可选地,通信消息中包括多种消息;从本地客户端接收第一格式的通信消息,将第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,包括:确定通信消息的消息类型;若消息类型为编码消息,则对第一个格式的编码消息进行解析获取编码消息中的编码信息;按照第二格式的协议要求将编码信息封装成第二格式的编码消息放入输入消息队列。
可选地,确定通信消息的消息类型之后,还包括:若消息类型为心跳消息,则生成心跳响应消息,并将心跳响应消息放入输出消息队列;若消息类型为配置修改消息,则将配置修改消息发送至配置通道,配置通道为多生产者单消费者队列。
可选地,将配置修改消息发送至配置通道之后,还包括:将配置修改消息发送至配置服务器,以使配置服务器根据配置修改消息对配置信息进行修改。
可选地,从输入消息队列中获取第二格式的编码消息,基于第二格式的编码消息生成第二格式的响应消息,包括:不断向输入消息队列发送请求,获取第二格式的编码消息;对获取的第二格式的编码消息进行解析处理,获取编码信息;针对编码信息,生成响应消息。
可选地,响应消息包括多种不同类型的响应消息,将第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列之前,还包括:确定响应消息的消息类型;若消息类型为编码响应消息,则对第二个格式的编码响应消息进行解析获取编码响应消息中的编码响应信息,以按照第一格式的协议要求将编码响应信息封装成第一格式的编码响应消息放入输出消息队列。
可选地,确定响应消息的消息类型之后,还包括:若消息类型为初始化消息,则直接将初始化消息放入输出消息队列;若消息类型为读取配置消息,则将读取配置消息发送至配置通道,以从配置服务器中读取配置信息。
第二方面,本申请实施例还提供了一种云端编码辅助装置,所述装置包括:
输入模块,用于从本地客户端接收第一格式的通信消息,将第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,输入消息队列为多生产者单消费者队列;
生成模块,用于从输入消息队列中获取第二格式的编码消息,基于第二格式的编码消息生成第二格式的响应消息;
输出模块,用于将第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列,输出消息队列为多生产者单消费者队列;
发送模块,用于从输出消息队列中获取第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成编码辅助。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的云端编码辅助方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的云端编码辅助方法的步骤。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种云端编码辅助方法、装置、电子设备及存储介质,能够通过多个多生产者单消费者队列,对消息的传递过程进行合理规划与分配,提高消息处理的速度,与现有技术中的云端编码辅助方法相比,解决了从云端获取编码辅助信息时响应速度较慢的问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的云端编码辅助方法的流程图;
图2示出了本申请实施例所提供的云端编码辅助方法的处理流程的示意图;
图3示出了本申请实施例所提供的云端编码辅助装置的结构示意图;
图4示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
值得注意的是,在本申请提出之前,对于程序开发者而言,编写代码、修改代码、完善代码是工作中占比最高的几项活动,针对于此,在单机程序环境下对于不同的编程语言,已经有各种各样的本地集成开发环境(Integrated Development Environment,IDE)来支持相关的工作,然而,随着云计算的提出,各种桌面程序逐步被迁移到云端,被迁移到云端的集成开发环境称之为在线集成开发环境,在线集成开发环境有着可随时随地开发、无需搭建开发环境等优势。然而,现有的在线集成开发环境较为简陋,存在从云端获取编码辅助信息时响应速度较慢的问题。
基于此,本申请实施例提供了一种云端编码辅助方法,以提高从云端获取编码辅助信息时的响应速度。
这里,首先对本申请中涉及到的名词进行解释。
编码辅助系统:一套自动化的程序软件,主要用于辅助程序员编写代码的过程,对可能使用的单词给予提示,对潜在错误给出报警和修改建议,帮忙程序员完善已经完成的代码等。
分层服务提供程序(Language Server Protocol,LSP):由微软提出的用于编码辅助的通信协议,规范了传递消息的格式。
LSP服务端:符合LSP协议要求,提供代码辅助的服务端,是一个应用程序。
云端系统:在公有云或私有云上运行的系统,与传统单机软件的区别在于:用户访问和使用的文件、软件等都是通过网络来使用的,用户自己只需要可以上网即可。
API:一种单向调用方法,由调用方主动发起,被调用方响应结果。
websocket:一种双向通信的网络协议,通信双方都可以主动发消息给对方。
多生产者单消费者队列:可以由多方写入,但是只能由一方读取的消息通道。
请参阅图1,图1为本申请实施例所提供的一种云端编码辅助方法的流程图。如图1所示,本申请实施例提供的云端编码辅助方法,包括:
步骤S101,从本地客户端接收第一格式的通信消息,将第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列。
该步骤中,本地客户端可指安装有编码辅助系统的客户端,本地客户端用于向云端发送通信消息,以从云端获取辅助信息。
作为示例,本地客户端可以是网页浏览器,本地客户端可安装有编码辅助系统,以帮助程序开发者编写代码。
第一格式可指websocket协议格式。
通信消息可指本地客户端发送至云端的消息,通信消息用于向云端发送本地客户端的编码信息、以及配置修改信息,并与云端保持连接,通信消息包括多个不同类型的消息,通信消息包括但不限于以下项中的至少一项:心跳消息、编码消息以及配置修改消息。
心跳消息可指发送源发送到接收方的消息,让接收方确定发送源是否以及何时出现故障或终止。
通常,心跳消息从发送源启动时开始发送,直到发送源关闭,期间发送源会不间断的发送周期性或重复消息。当接收方在某个消息接收周期内未收到消息,接收方可能会认为发送源已经关闭、出现故障、或者当前不可用。心跳消息可能常被用于高可用性或容错处理的目的。
编码消息可指携带编码信息的消息,编码信息包括但不限于:目标代码的具体内容、请求辅助类型、目标代码的位置信息。
其中,目标代码是指进行代码补全、跳转定义或者重构的对象;请求辅助类型是指以何种方式对目标代码进行辅助,请求辅助类型包括但不限于:代码补全、定义跳转、重构;目标代码的位置信息是指目标代码所在文件的文件路径、目标代码在文件中的行号以及列号、光标的当前位置等位置信息。
配置修改消息可指对配置信息进行修改的消息,配置修改消息用于修改配置服务器的配置项。
作为示例,配置修改消息可以是切换代码的运行环境,也可以是切换所使用的程序语言,还可以是修改分析代码的级别,分析代码的级别可以是严格、标准或者宽松。
第二格式可指LSP格式。
输入消息队列可指LSP消息队列,输入消息队列用于存放LSP格式的消息,输入消息队列为多生产者单消费者队列。
下面参照图2来介绍云端编码辅助方法的处理流程。
图2示出了本申请实施例所提供的云端编码辅助方法的处理流程的示意图。
如图2所示,用户在网页浏览器上编写代码,并对编码信息进行websocket输入处理,得到websocket通信消息,将websocket通信消息发送至云端,云端从本地客户端接收websocket通信消息,对websocket通信消息进行websocket消息预处理,将websocket编码消息转换为LSP编码消息,然后放入LSP消息队列。
在一可选实施例中,通信消息中包括多种消息;执行步骤S101包括:确定通信消息的消息类型;若消息类型为编码消息,则对第一个格式的编码消息进行解析获取编码消息中的编码信息,按照第二格式的协议要求将编码信息封装成第二格式的编码消息放入输入消息队列。
这里,发送至云端的通信消息不仅包括编码消息,还包括其他类型的消息,需要先对消息类型进行判断。可通过Rust语言的模式匹配来对消息类型进行判断,Rust语言的模式匹配是现有技术,这里不再赘述。如图2所示,websocket消息预处理是根据通信消息的类型,将不同类型的消息分发至对应的队列或者通道中,websocket消息预处理的具体过程包括:判断通信消息的消息类型,如果确定是编码消息,则对websocket编码消息进行解析获取编码信息,然后将编码信息封装成LSP编码消息放入LSP消息队列。
在一可选实施例中,确定通信消息的消息类型之后,还包括:若消息类型为心跳消息,则生成心跳响应消息,并将心跳响应消息放入输出消息队列;若消息类型为配置修改消息,则将配置修改消息发送至配置通道,配置通道为多生产者单消费者队列。
具体的,通过Rust语言的模式匹配同样可以对心跳消息和配置修改消息进行区分。如图2所示,websocket消息预处理的具体过程还包括:判断通信消息的消息类型,如果确定通信消息是心跳消息,则生成心跳响应消息,以通知本地客户端连接正常,并将生成的心跳响应消息放入websocket消息队列;如果确定通信消息是配置修改消息,则将配置修改消息放入配置通道。
在一可选实施例中,将配置修改消息发送至配置通道之后,还包括:将配置修改消息发送至配置服务器,以使配置服务器根据配置修改消息对配置信息进行修改。
这里,配置通道可指多生产单消费者队列,用于存放配置修改消息。
具体的,如图2所示,将配置修改消息放入配置通道后,LSP配置服务器从配置通道获取配置修改消息,并根据配置修改消息对配置进行修改,达到更新配置的目的。
步骤S102,从输入消息队列中获取第二格式的编码消息,基于第二格式的编码消息生成第二格式的响应消息。
该步骤中,响应信息可指LSP响应消息,响应消息是LSP服务端针对编码消息生成的消息,响应信息包括但不限于:初始化消息、配置读取消息以及编码响应消息。
其中,初始化消息可指LSP初始化消息,初始化消息用于对LSP服务端进行初始化,这里,LSP服务端可以使用不同的编程语言,由于LSP服务端每次编码的环境可能是不一样的,因此,在LSP服务端启动时,需要根据初始化消息对LSP服务端的编码环境进行初始化,例如:初始化编码辅助的模式等级,初始化程序所使用的程序库。
配置读取消息可指读取配置的消息,配置读取消息用于从配置服务器读取当前的配置信息。
编码响应消息可指携带编码响应信息的消息,编码响应消息是与辅助请求对应的响应消息,编码响应消息用于实现编码辅助,编码响应消息包括协议头以及编码响应信息。作为示例,如果辅助请求是代码补全,则编码响应消息包括代码补全的内容,如果辅助请求是跳转到定义,则编码响应消息包括要跳转到的定义所在的文件以及定义在文件中的具体位置。
在本申请实施例中,如图2所示,LSP消息队列中已存放了LSP编码消息,需要对这些LSP编码消息进行处理,在处理过程中,首先通过LSP消息输入将LSP编码消息从LSP消息队列中读取出来,然后经由LSP输入发送至LSP服务端,以使LSP服务端根据读取到的消息进行相应的处理生成LSP响应消息。
在一可选实施例中,执行步骤S102包括:不断向输入消息队列发送请求,获取第二格式的编码消息;对获取的第二格式的编码消息进行解析处理,获取编码信息;针对编码信息,生成响应消息。
这里,无论输入消息队列中是否存放有消息,LSP消息输入都会不断向LSP消息队列发送请求,以获取LSP消息队列中的消息,然后对获取到的消息进行解析,去掉LSP协议头以获取编码信息,将编码信息经由LSP输入发送至LSP服务端,其中,LSP输入指的是LSP输入端口,LSP服务端对接收到的消息进行处理生成响应消息。其中,编码信息的具体内容可以是打开了哪个文件、删除了哪些内容、输入了哪些内容等。
步骤S103,将第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列。
该步骤中,输出消息队列可指websocket消息队列,输出消息队列用于存放websocket格式的消息,输出消息队列为多生产者单消费者队列。
在本申请实施例中,LSP服务端生成响应消息后,对响应消息进行LSP消息预处理,即将响应消息中的LSP编码响应消息转换为websocket编码响应消息,然后将websocket编码响应消息放入websocket消息队列。其中,LSP输出是按照LSP协议对响应消息进行封装获得LSP响应消息。
在一可选实施例中,响应消息包括多种不同类型的响应消息,将第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列之前,还包括:确定响应消息的消息类型;若消息类型为编码响应消息,则对第二个格式的编码响应消息进行解析获取编码响应消息中的编码响应信息,以按照第一格式的协议要求将编码响应信息封装成第一格式的编码响应消息放入输出消息队列。
这里,由于响应消息包括多种不同类型的响应消息,在将websocket编码响应消息放入websocket消息队列前,先要进行LSP消息预处理,LSP消息预处理包括确定响应消息的类型,将不同类型的响应消息分发至对应的队列或者通道中。LSP消息预处理的具体过程包括:确定响应消息的类型,如果响应消息为LSP编码响应消息,则对LSP编码响应消息进行解析,得到LSP编码响应消息中携带的编码响应信息,然后将编码响应信息封装成websocket编码响应消息,并放入websocket消息队列。
在一可选实施例中,确定响应消息的消息类型之后,还包括:若消息类型为初始化消息,则直接将初始化消息放入输出消息队列;若消息类型为读取配置消息,则将读取配置消息发送至配置通道,以从配置服务器中读取配置信息。
这里,LSP消息预处理的具体过程还包括:判断响应消息的消息类型,如果确定响应消息是初始化消息,则根据获取的配置信息对初始化消息进行自动处理,并将处理结果放入LSP消息队列,以被LSP服务端获取;如果确定响应消息是读取配置消息,则通过配置通道读取LSP配置服务器中的配置信息,并根据获取到的最新的配置信息重新对LSP服务端初始化。
步骤S104,从输出消息队列中获取第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成编码辅助。
该步骤中,通过消息响应输出不断从websocket消息队列中获取编码响应消息,然后将获取的编码响应消息经由websocket输出至本地客户端,以对用户编写的代码进行辅助支持。
需要说明的是,本申请具有如下有益效果:
第一、本申请采用websocket协议来实现本地客户端和云端应用的实时交互,并采用Rust语言来实现,能够缩短响应延迟,测量统计得到的平均延迟在100ms以内。现有技术中的平均延迟为几秒钟的量级。
第二、本申请多处采用了多生产者单消费者队列,保证了逻辑的清晰以及响应速度的提高。
第三、采用LSP标准协议,可以支持多种编程语言,例如:python、java、nodeJS等,只要有响应的LSP服务端,都可以直接替换,可以实现LSP相关的所有辅助功能,例如:代码补全、代码修改、代码完善。
第四、采用了中心化的LSP配置服务器,实现了配置的统一管理。
与现有技术中云端编码辅助方法相比,本申请能够能够通过多个多生产者单消费者队列,对消息的传递过程进行合理规划与分配,提高多用户下的消息处理速度,同时,能够通过websocket协议实现本地客户端与云端应用的实时交互,通过采用Rust语言来缩短响应延迟,基于LSP协议和LSP服务端为主体实现云端代码辅助,可以满足多种代码辅助的要求,解决了从云端获取编码辅助信息时响应速度较慢的问题。
基于同一发明构思,本申请实施例中还提供了与云端编码辅助方法对应的云端编码辅助装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述云端编码辅助方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3,图3为本申请实施例所提供的一种云端编码辅助装置的结构示意图。如图3中所示,所述云端编码辅助装置200包括:
输入模块201,用于从本地客户端接收第一格式的通信消息,将所述第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,所述输入消息队列为多生产者单消费者队列;
生成模块202,用于从输入消息队列中获取第二格式的编码消息,基于所述第二格式的编码消息生成第二格式的响应消息;
输出模块203,用于将所述第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列,所述输出消息队列为多生产者单消费者队列;
发送模块204,用于从输出消息队列中获取所述第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成通信消息的响应。
可选地,通信消息中包括多种不同类型的消息;输入模块201具体还用于:确定通信消息的消息类型;若消息类型为编码消息,则对第一个格式的编码消息进行解析获取编码消息中的编码信息;按照第二格式的协议要求将编码信息封装成第二格式的编码消息放入输入消息队列。
可选地,输入模块201具体还用于:若消息类型为心跳消息,则生成心跳响应消息,并将心跳响应消息放入输出消息队列;若消息类型为配置修改消息,则将配置修改消息发送至配置通道,配置通道为多生产者单消费者队列。
可选地,输入模块201具体还用于:将配置修改消息发送至配置服务器,以使配置服务器根据配置修改消息对配置信息进行修改。
可选地,生成模块202具体还用于:不断向输入消息队列发送请求,获取第二格式的编码消息;对获取的第二格式的编码消息进行解析处理,获取编码信息;针对编码信息,生成响应消息。
可选地,云端编码辅助装置200包括还包括响应消息预处理模块(图种未示出),响应消息预处理模块具体还用于:确定响应消息的消息类型;若消息类型为编码响应消息,则对第二个格式的编码响应消息进行解析获取编码响应消息中的编码响应信息,以按照第一格式的协议要求将编码响应信息封装成第一格式的编码响应消息放入输出消息队列。
可选地,响应消息预处理模块具体还用于:若消息类型为初始化消息,则直接将初始化消息放入输出消息队列;若消息类型为读取配置消息,则将读取配置消息发送至配置通道,以从配置服务器中读取配置信息。
请参阅图4,图4为本申请实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备300包括处理器310、存储器320和总线330。
所述存储器320存储有所述处理器310可执行的机器可读指令,当电子设备300运行时,所述处理器310与所述存储器320之间通过总线330通信,所述机器可读指令被所述处理器310执行时,可以执行如上述图1所示方法实施例中的云端编码辅助方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的云端编码辅助方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种云端编码辅助方法,其特征在于,包括:
从本地客户端接收第一格式的通信消息,将所述第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,所述输入消息队列为多生产者单消费者队列;
从输入消息队列中获取第二格式的编码消息,基于所述第二格式的编码消息生成第二格式的响应消息;
将所述第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列,所述输出消息队列为多生产者单消费者队列;
从输出消息队列中获取所述第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成编码辅助。
2.根据权利要求1所述的方法,其特征在于,所述通信消息中包括多种不同类型的消息;
所述从本地客户端接收第一格式的通信消息,将所述第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,包括:
确定通信消息的消息类型;
若消息类型为编码消息,则对所述第一格式的编码消息进行解析获取编码消息中的编码信息;
按照第二格式的协议要求将所述编码信息封装成第二格式的编码消息。
3.根据权利要求2所述的方法,其特征在于,所述确定通信消息的消息类型之后,还包括:
若消息类型为心跳消息,则生成心跳响应消息,并将所述心跳响应消息放入输出消息队列;
若消息类型为配置修改消息,则将所述配置修改消息发送至配置通道,所述配置通道为多生产者单消费者队列。
4.根据权利要求3所述的方法,其特征在于,所述将所述配置修改消息发送至配置通道之后,还包括:
将所述配置修改消息发送至配置服务器,以使配置服务器根据所述配置修改消息对配置信息进行修改。
5.根据权利要求1所述的方法,其特征在于,所述从输入消息队列中获取第二格式的编码消息,基于所述第二格式的编码消息生成第二格式的响应消息,包括:
不断向输入消息队列发送请求,获取第二格式的编码消息;
对获取的第二格式的编码消息进行解析处理,获取编码信息;
针对所述编码信息,生成响应消息。
6.根据权利要求1所述的方法,其特征在于,所述响应消息包括多种不同类型的响应消息;
所述将所述第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列之前,还包括:
确定响应消息的消息类型;
若消息类型为编码响应消息,则对所述第二格式的编码响应消息进行解析获取编码响应消息中的编码响应信息,以按照第一格式的协议要求将所述编码响应信息封装成第一格式的编码响应消息放入输出消息队列。
7.根据权利要求6所述的方法,其特征在于,所述确定响应消息的消息类型之后,还包括:
若消息类型为初始化消息,则直接将所述初始化消息放入输出消息队列;
若消息类型为读取配置消息,则将所述读取配置消息发送至配置通道,以从配置服务器中读取配置信息。
8.一种云端编码辅助装置,其特征在于,包括:
输入模块,用于从本地客户端接收第一格式的通信消息,将所述第一格式的通信消息中的编码消息转换为第二格式的编码消息放入输入消息队列,所述输入消息队列为多生产者单消费者队列;
生成模块,用于从输入消息队列中获取第二格式的编码消息,基于所述第二格式的编码消息生成第二格式的响应消息;
输出模块,用于将所述第二格式的响应消息中的编码响应消息转换为第一格式的编码响应消息放入输出消息队列,所述输出消息队列为多生产者单消费者队列;
发送模块,用于从输出消息队列中获取所述第一格式的编码响应消息,并将获取的编码响应消息发送至本地客户端完成编码辅助。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7中任一项所述的云端编码辅助方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7中任一项所述的云端编码辅助方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210320210.3A CN114640659B (zh) | 2022-03-29 | 2022-03-29 | 一种云端编码辅助方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210320210.3A CN114640659B (zh) | 2022-03-29 | 2022-03-29 | 一种云端编码辅助方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640659A true CN114640659A (zh) | 2022-06-17 |
CN114640659B CN114640659B (zh) | 2023-09-19 |
Family
ID=81950805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210320210.3A Active CN114640659B (zh) | 2022-03-29 | 2022-03-29 | 一种云端编码辅助方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640659B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442446A (zh) * | 2022-08-31 | 2022-12-06 | 中国长江三峡集团有限公司 | 一种工业互联网下微服务架构的工业通信管理系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109478138A (zh) * | 2016-05-12 | 2019-03-15 | 基底核公司 | 具有隐式并发控制的高性能服务的编程模型和解释运行时环境 |
CN111124541A (zh) * | 2019-12-25 | 2020-05-08 | 上海米哈游网络科技股份有限公司 | 一种配置文件的生成方法、装置、设备及介质 |
CN112559207A (zh) * | 2020-12-10 | 2021-03-26 | 南京丹迪克科技开发有限公司 | 基于消息队列和共享内存方式实现进程间数据交互的方法 |
CN112817583A (zh) * | 2021-04-19 | 2021-05-18 | 阿里云计算有限公司 | 一种代码编辑方法、装置、服务端、用户设备及存储介质 |
CN113259430A (zh) * | 2021-05-11 | 2021-08-13 | 京东数字科技控股股份有限公司 | 一种消息调用方法和装置、电子设备及存储介质 |
WO2021238287A1 (zh) * | 2020-05-29 | 2021-12-02 | 苏州浪潮智能科技有限公司 | 一种分布式系统主动推送的方法、系统、设备及介质 |
CN114089974A (zh) * | 2021-11-26 | 2022-02-25 | 北京百度网讯科技有限公司 | 云端代码开发系统、方法、装置、设备及存储介质 |
-
2022
- 2022-03-29 CN CN202210320210.3A patent/CN114640659B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109478138A (zh) * | 2016-05-12 | 2019-03-15 | 基底核公司 | 具有隐式并发控制的高性能服务的编程模型和解释运行时环境 |
CN111124541A (zh) * | 2019-12-25 | 2020-05-08 | 上海米哈游网络科技股份有限公司 | 一种配置文件的生成方法、装置、设备及介质 |
WO2021238287A1 (zh) * | 2020-05-29 | 2021-12-02 | 苏州浪潮智能科技有限公司 | 一种分布式系统主动推送的方法、系统、设备及介质 |
CN112559207A (zh) * | 2020-12-10 | 2021-03-26 | 南京丹迪克科技开发有限公司 | 基于消息队列和共享内存方式实现进程间数据交互的方法 |
CN112817583A (zh) * | 2021-04-19 | 2021-05-18 | 阿里云计算有限公司 | 一种代码编辑方法、装置、服务端、用户设备及存储介质 |
CN113259430A (zh) * | 2021-05-11 | 2021-08-13 | 京东数字科技控股股份有限公司 | 一种消息调用方法和装置、电子设备及存储介质 |
CN114089974A (zh) * | 2021-11-26 | 2022-02-25 | 北京百度网讯科技有限公司 | 云端代码开发系统、方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442446A (zh) * | 2022-08-31 | 2022-12-06 | 中国长江三峡集团有限公司 | 一种工业互联网下微服务架构的工业通信管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114640659B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
US7607128B2 (en) | Method and system for enabling a server application to be executed in the same virtual machine as a client application using direct object oriented programming method calls | |
CN106412086B (zh) | 一种利用协议描述文件自动生成通信代码的方法及系统 | |
CN109101228B (zh) | 应用程序的执行方法和装置 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
US10594840B1 (en) | Bot framework for channel agnostic applications | |
US9374417B1 (en) | Dynamic specification auditing for a distributed system | |
CN110389755B (zh) | 代码处理方法及装置、电子设备和计算机可读存储介质 | |
US11321090B2 (en) | Serializing and/or deserializing programs with serializable state | |
CN114640659A (zh) | 一种云端编码辅助方法、装置、电子设备及存储介质 | |
US20230252242A1 (en) | Question based chatbot generator from api specifications | |
CN113076209A (zh) | 通信方法、装置、电子设备及存储介质 | |
Kaewkasi | Docker for serverless applications: containerize and orchestrate functions using OpenFaas, OpenWhisk, and Fn | |
CN111258802A (zh) | 捕获应用程序崩溃信息的方法及相关设备 | |
CN114028801A (zh) | 基于云端的用户输入方法、装置、设备及存储介质 | |
CN116166457A (zh) | 数据处理方法及相关设备 | |
CN113220374A (zh) | 软件处理方法和装置 | |
CN107797793B (zh) | 一种构建代理服务器框架的方法和装置 | |
US11429400B2 (en) | User interface metadata from an application program interface | |
CN114615521A (zh) | 视频处理方法和装置、计算机可读存储介质、电子设备 | |
Nayyeri et al. | Pro ASP. NET SignalR: Real-Time Communication in. NET with SignalR 2.1 | |
CN115454421A (zh) | 低代码化接口的开发方法及装置 | |
CN110548285B (zh) | 游戏通信控制方法及装置、介质及电子设备 | |
Clark et al. | Tracing a paradigm for externalization: Avatars and the GPII Nexus | |
CN113791819A (zh) | 接口文档生成方法和装置、存储介质、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |