CN115314536B - 远程执行命令方法及装置、存储介质、计算机设备 - Google Patents
远程执行命令方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN115314536B CN115314536B CN202210925450.6A CN202210925450A CN115314536B CN 115314536 B CN115314536 B CN 115314536B CN 202210925450 A CN202210925450 A CN 202210925450A CN 115314536 B CN115314536 B CN 115314536B
- Authority
- CN
- China
- Prior art keywords
- command
- information
- client
- return
- file
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000006835 compression Effects 0.000 claims abstract description 68
- 238000007906 compression Methods 0.000 claims abstract description 68
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及计算机技术领域,公开了一种远程执行命令方法及装置、存储介质、计算机设备,该方法包括:接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果;对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。本申请实现了无需配置公钥文件即可执行远程命令。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种远程执行命令方法及装置、存储介质、计算机设备。
背景技术
随着分布式服务的发展,特别是云计算的大力推动,远程调用已经成为常态。业界常见的远程执行命令的方式有通过使用ssh协议来远程登录执行命令。该方式需要配置两台机器之间的ssh免密认证问题,即配置生成公钥文件,随着运维规模的提升,响应的公钥文件也会随之增长,如果公钥文件大小达到3G以上,将很难打开编辑,从而影响远程命令的执行。因此,需要一种无需配置公钥文件即可执行远程命令的方法。
发明内容
有鉴于此,本申请提供了一种远程执行命令方法及装置、存储介质、计算机设备,实现了无需配置公钥文件即可执行远程命令。
根据本申请的一个方面,提供了一种远程执行命令方法,所述方法包括:
接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;
根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果;
对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述执行结果包括数据代码,所述对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,包括:
根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容;
通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译。
可选地,所述得到返回信息序列化压缩文件之后,所述方法还包括:
接收所述返回信息序列化压缩文件的发送截至时间;
判断将所述返回信息序列化压缩文件发送至所述客户端的时间是否超出所述发送截至时间;
若超出所述发送截至时间,则取消发送所述返回信息序列化压缩文件。
可选地,根据所述命令参数及所述命令返回类型,编译命令标准代码,包括:
根据所述命令参数及所述命令返回类型,获取执行命令代码模板;
将所述命令参数及所述命令返回类型转换为标准格式的命令代码,并将所述命令代码填入所述执行命令代码模板,得到所述命令标准代码。
可选地,所述根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果,具体包括:
若所述远程调用命令包括多个,则分别对每个所述远程调用命令对应的所述命令参数以及所述命令返回类型,编译每个所述远程调用命令的命令标准代码,并对每条所述命令标准代码进行命令类型标注;
执行每条所述命令标准代码,并获得包含所述命令类型标注的执行结果。
可选地,所述根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端,包括:
根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端,包括:
依据预设命令类型对应的发送优先级以及每个所述返回信息序列化压缩文件对应的所述命令类型标注,确定每个所述返回信息序列化压缩文件的发送次序;
根据所述客户端接口信息,按发送次序依次发送所述返回信息序列化压缩文件。
根据本申请的另一方面,提供了一种远程执行命令装置,所述装置包括:
信息接收模块,接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;
代码编译模块,根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果;
信息发送模块,对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述装置还包括:序列化压缩模块,用于:
根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容;
通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译。
可选地,所述信息发送模块,还用于:
接收所述返回信息序列化压缩文件的发送截至时间;
判断将所述返回信息序列化压缩文件发送至所述客户端的时间是否超出所述发送截至时间;
若超出所述发送截至时间,则取消发送所述返回信息序列化压缩文件。
可选地,所述代码编译模块,还用于:
根据所述命令参数及所述命令返回类型,获取执行命令代码模板;
将所述命令参数及所述命令返回类型转换为标准格式的命令代码,并将所述命令代码填入所述执行命令代码模板,得到所述命令标准代码。
可选地,所述代码编译模块,还用于:
若所述远程调用命令包括多个,则分别对每个所述远程调用命令对应的所述命令参数以及所述命令返回类型,编译每个所述远程调用命令的命令标准代码,并对每条所述命令标准代码进行命令类型标注;
执行每条所述命令标准代码,并获得包含所述命令类型标注的执行结果。
可选地,所述信息发送模块,还用于:
根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述信息发送模块,还用于:
依据预设命令类型对应的发送优先级以及每个所述返回信息序列化压缩文件对应的所述命令类型标注,确定每个所述返回信息序列化压缩文件的发送次序;
根据所述客户端接口信息,按发送次序依次发送所述返回信息序列化压缩文件。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述远程执行命令方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述远程执行命令方法。
借由上述技术方案,本申请提供的一种远程执行命令方法及装置、存储介质、计算机设备,首先接收客户端调用远程执行命令的请求信息,其中,前述信息包括需要调用的命令参数、命令返回类型以及前述客户端接口信息。接着,根据前述命令参数及前述命令返回类型,在服务端编译并执行命令标准代码,获得执行结果。最后,对前述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据前述客户端接口信息将前述返回信息序列化压缩文件发送至客户端,为此,用户在客户端发送用于调用远程命令的请求信息后,服务端即根据请求信息编译命令标准代码,并执行前述命令标准代码得到执行结果,然后将前述执行结果序列化压缩再发送至客户端,整个过程实现了无需公钥文件即调用远程执行命令。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种远程执行命令方法的流程示意图;
图2示出了本申请实施例提供的另一种远程执行命令方法的流程示意图;
图3示出了本申请实施例提供的一种结合客户端与服务端的远程执行命令方法的流程示意图;
图4示出了本申请实施例提供的一种远程执行命令装置的结构示意图;
图5示出了本申请实施例提供的另一种远程执行命令装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种远程执行命令方法,如图1所示,该方法包括:
步骤101,接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息。
在本申请上述实施例中,客户端可以根据实际场景需求,向服务端发送调用远程执行命令的请求信息,例如在一种应用场景中,客户端可以向服务端发送一个携带有股票代码的请求信息,并请求返回该股票的实时数据。其中。前述请求信息包括命令参数、命令返回类型以及前述客户端接口信息,用于服务端在收到请求信息后,响应并执行命令得到执行结果,并将执行结果返回客户端
步骤102,根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果。
在本申请上述实施例中,接着,服务端根据步骤101中接收到的前述命令参数及前述返回参数,定义用于执行的远程调用命令,即编译并执行由根据前述命令参数及命令返回结果得到的命令标准代码,最终获得执行结果,用于向前述客户端返回,使客户端得到相关信息。
步骤103,对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
在本申请上述实施例中,最后,对步骤102中的执行结果进行序列化压缩,并得到返回信息序列化压缩文件,然后根据步骤101中接收到的前述客户端接口信息,将前述返回信息序列化压缩文件发送至客户端,为此,通过客户端远程调用命令,将客户端需求的信息返回至客户端。
在本申请实施例中,可选地,步骤103中所述执行结果包括数据代码,所述对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,包括:
步骤103-1,根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容。
步骤103-2,通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译。
在上述实施例中,首先,proto编译器根据前述执行结果的数据代码定义proto源文件,为此将前述数据代码转换为对应的存储类内容。
接着,proto编译器将步骤103-1定义的proto源文件中存储类内容转换为二进制序列串,从而得到返回信息序列化压缩文件。
为此,通过proto编译器序列化后的前述返回信息序列化压缩文件体积很小,能够有效负载,在移动应用程序等有限宽带场景中显得很重要。同时与采用文本格式的JSON相比,采用二进制格式的proto源文件在速度上可以达到JSON格式文件的5倍。其中,前述proto源文件定义了服务端和客户端的约定,根据proto源文件,服务端将生成服务基类、消息和完整的客户端代码,通过在服务端和服务端之间共享proto源文件,可以从端到端生成消息和客户端代码。而客户端的代码生成消除了客户端和服务端的重复消息,并创建了一个强类型的客户端,无需编写客户端代码,因此可以在许多服务的应用程序中节省大量开发时间。
最后当客户端收到前述返回信息序列化压缩文件后,即对前述返回信息序列化压缩文件进行解压和转译,将前述二进制序列串转换为可识别结果参数,并将前述可识别结果参数填充于可视化界面的相应位置进行显示,以此获得相关信息。
通过应用本实施例的技术方案,首先接收客户端调用远程执行命令的请求信息,其中,前述请求信息包括命令参数、命令返回类型以及前述客户端接口信息。然后,根据前述命令参数及前述命令返回类型,编译并执行命令标准代码,获得前述命令标准代码在服务端的执行结果。最后,对前述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据前述客户端接口信息将前述返回信息序列化压缩文件发送至前述客户端,在此过程中,客户端实现了无需配置公钥文件即可执行远程命令。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种远程执行命令方法,如图2所示,该方法包括:
步骤201,接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息。
步骤202,若所述远程调用命令包括多个,则分别对每个所述远程调用命令对应的所述命令参数以及所述命令返回类型,编译每个所述远程调用命令的命令标准代码,并对每条所述命令标准代码进行命令类型标注。
在本申请上述实施例中,首先服务端接收客户端调用远程执行命令的请求信息,其中,前述客户端发送的请求信息中包括命令参数、命令返回类型及前述客户端接口信息。
如果客户端发送多个远程调用命令,那么则分别针对每个前述远程调用命令的前述命令参数以及前述命令返回类型,编译每个前述远程调用命令对应的命令标准代码,并对每条前述命令标准码的命令类型进行标注。
可选地,编译命令标准代码可以通过以下方式实现:根据所述命令参数及所述命令返回类型,获取执行命令代码模板;将所述命令参数及所述命令返回类型转换为标准格式的命令代码,并将所述命令代码填入所述执行命令代码模板,得到命令标准代码。
在上述实施例中,首先根据步骤201中接收的前述命令参数及前述命令返回类型,获得执行命令代码模板,然后将前述命令参数及前述命令返回类型转换为标准格式的命令代码,接着将前述命令代码填入前述执行命令代码模板,最终获得前述命令标准代码,用于在服务端执行并获得执行结果,从而发送至客户端。
步骤203,执行每条所述命令标准代码,并获得包含所述命令类型标注的执行结果。
在上述实施例中,服务端执行步骤202确定的前述命令标注代码,并最终获得含有前述命令类型标注的执行结果。
为此,客户端和服务端可以实现批量操作化,客户端可以同时发出多个请求,统一发送至服务端,服务端也可以批量返回结果,借此实现流式数据传输。
步骤204,根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容;通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译。
在上述实施例中,首先,proto编译器根据前述执行结果的数据代码定义proto源文件,为此将前述数据代码转换为对应的存储类内容。接着,proto编译器将前述定义的proto源文件中存储类内容转换为二进制序列串,从而得到返回信息序列化压缩文件。当客户端收到前述返回信息序列化压缩文件后,即对前述返回信息序列化压缩文件进行解压和转译,将前述二进制序列串转换为可识别结果参数,并将前述可识别结果参数填充于可视化界面的相应位置进行显示,以此获得相关信息。
步骤205,接收所述返回信息序列化压缩文件的发送截至时间;判断将所述返回信息序列化压缩文件发送至所述客户端的时间是否超出所述发送截至时间。
步骤206,若超出所述发送截至时间,则取消发送所述返回信息序列化压缩文件。
步骤207,若未超出所述发送截至时间,则根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端。
在上述实施例中,首先,服务端接收前述返回信息序列化压缩文件的发送截至时间,然后服务端判断将前述返回信息序列化压缩文件发送至前述客户端的时间是否超出所述发送截至时间。如果服务端判断超出了前述发送截至时间,则取消发送前述返回信息序列化压缩文件。如果服务端判断未超出前述发送截至时间,则根据步骤201接收到的前述客户端接口信息以及步骤202中的命令类型标注将前述返回信息序列化压缩文件发送至所述客户端。
为此,服务端允许客户端制定他们愿意等待的远程调用命令完成时间,该期限被发送到服务端,服务端可以决定在超出了期限时采取行动,例如,服务端可以在超时时取消发送需要返回的执行结果的返回信息序列化压缩文件。通过服务端调用截至时间和取消操作有助于实施资源使用限制。
可选地,步骤207具体包括:依据预设命令类型对应的发送优先级以及每个所述返回信息序列化压缩文件对应的所述命令类型标注,确定每个所述返回信息序列化压缩文件的发送次序;根据所述客户端接口信息,按发送次序依次发送所述返回信息序列化压缩文件。
在上述实施例中,依据预设的命令类型对应的发送优先级以及每个前述返回信息序列化压缩文件所对应的前述命令类型标注,以此来确定每个前述返回信息序列化压缩文件的发送次序。
接着,根据前述客户端的接口信息,按照前述发送次序依次发送前述返回信息序列化压缩文件。
为此,服务端可以根据客户端对返回信息的优先级要求,有顺序的将返回结果发送至客户端,灵活多变,可以用应用于多种场景。
通过应用本实施例的技术方案,首先接收客户端调用远程执行命令的请求信息,其中,前述请求信息包括命令参数、命令返回类型以及前述客户端接口信息。接着,根据前述命令参数及前述命令返回类型,编译并执行命令标准代码,获得前述命令标准代码在服务端的执行结果。最后,对前述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据前述客户端接口信息将前述返回信息序列化压缩文件发送至前述客户端,如图3所示,为此,通过服务端接收远程调用命令的请求信息,然后根据请求信息编译并执行命令标准代码得到执行结果,服务端再将执行结果序列化压缩,最后将返回信息序列化压缩文件发送至客户端,在此过程中,实现了无需配置公钥文件即可执行远程命令。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种远程命令执行装置,如图4所示,该装置包括:
信息接收模块31,接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;
代码编译模块32,根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果;
信息发送模块33,对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述信息发送模块33,还用于:
接收所述返回信息序列化压缩文件的发送截至时间;
判断将所述返回信息序列化压缩文件发送至所述客户端的时间是否超出所述发送截至时间;
若超出所述发送截至时间,则取消发送所述返回信息序列化压缩文件。
可选地,所述代码编译模块32,还用于:
根据所述命令参数及所述命令返回类型,获取执行命令代码模板;
将所述命令参数及所述命令返回类型转换为标准格式的命令代码,并将所述命令代码填入所述执行命令代码模板,得到所述命令标准代码。
可选地,所述代码编译模块32,还用于:
若所述远程调用命令包括多个,则分别对每个所述远程调用命令对应的所述命令参数以及所述命令返回类型,编译每个所述远程调用命令的命令标准代码,并对每条所述命令标准代码进行命令类型标注;
执行每条所述命令标准代码,并获得包含所述命令类型标注的执行结果。
可选地,所述信息发送模块33,还用于:
根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述信息发送模块33,还用于:
依据预设命令类型对应的发送优先级以及每个所述返回信息序列化压缩文件对应的所述命令类型标注,确定每个所述返回信息序列化压缩文件的发送次序;
根据所述客户端接口信息,按发送次序依次发送所述返回信息序列化压缩文件。
进一步的,作为图1方法的具体实现,本申请实施例提供了另一种数据切换装置,如图5所示,该装置包括:
信息接收模块41,接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;
代码编译模块42,根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果;
信息发送模块43,对所述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
序列化压缩模块44,根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容;通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译。
可选地,所述信息发送模块43,还用于:
接收所述返回信息序列化压缩文件的发送截至时间;
判断将所述返回信息序列化压缩文件发送至所述客户端的时间是否超出所述发送截至时间;
若超出所述发送截至时间,则取消发送所述返回信息序列化压缩文件。
可选地,所述代码编译模块42,还用于:
根据所述命令参数及所述命令返回类型,获取执行命令代码模板;
将所述命令参数及所述命令返回类型转换为标准格式的命令代码,并将所述命令代码填入所述执行命令代码模板,得到所述命令标准代码。
可选地,所述代码编译模块42,还用于:
若所述远程调用命令包括多个,则分别对每个所述远程调用命令对应的所述命令参数以及所述命令返回类型,编译每个所述远程调用命令的命令标准代码,并对每条所述命令标准代码进行命令类型标注;
执行每条所述命令标准代码,并获得包含所述命令类型标注的执行结果。
可选地,所述信息发送模块43,还用于:
根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端。
可选地,所述信息发送模块43,还用于:
依据预设命令类型对应的发送优先级以及每个所述返回信息序列化压缩文件对应的所述命令类型标注,确定每个所述返回信息序列化压缩文件的发送次序;
根据所述客户端接口信息,按发送次序依次发送所述返回信息序列化压缩文件。
需要说明的是,本申请实施例提供的一种远程执行命令装置所涉及各功能单元的其他相应描述,可以参考图1至图3方法中的对应描述,在此不再赘述。
基于上述如图1至图3所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图3所示的远程执行命令方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图3所示的方法,以及图4及图5所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图3所示的远程执行命令方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。首先接收客户端调用远程执行命令的请求信息,其中,前述请求信息包括命令参数、命令返回类型以及前述客户端接口信息。接着,根据前述命令参数及前述命令返回类型,编译并执行命令标准代码,获得前述命令标准代码在服务端的执行结果。最后,对前述执行结果进行序列化压缩,得到返回信息序列化压缩文件,并根据前述客户端接口信息将前述返回信息序列化压缩文件发送至前述客户端,为此,通过服务端接收远程调用命令的请求信息,然后根据请求信息编译并执行命令标准代码得到执行结果,服务端再将执行结果序列化压缩,最后将返回信息序列化压缩文件发送至客户端,在此过程中,实现了无需配置公钥文件即可执行远程命令。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (9)
1.一种远程执行命令方法,其特征在于,所述方法包括:
接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;
根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果,其中,所述执行结果包括数据代码;
根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容,所述proto源文件定义客户端与服务端的约定,所述proto源文件共享于服务端与服务端之间;
通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译;
根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述得到返回信息序列化压缩文件之后,所述方法还包括:
接收所述返回信息序列化压缩文件的发送截至时间;
判断将所述返回信息序列化压缩文件发送至所述客户端的时间是否超出所述发送截至时间;
若超出所述发送截至时间,则取消发送所述返回信息序列化压缩文件。
3.根据权利要求1所述的方法,其特征在于,根据所述命令参数及所述命令返回类型,编译命令标准代码,包括:
根据所述命令参数及所述命令返回类型,获取执行命令代码模板;
将所述命令参数及所述命令返回类型转换为标准格式的命令代码,并将所述命令代码填入所述执行命令代码模板,得到所述命令标准代码。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果,具体包括:
若所述远程调用命令包括多个,则分别对每个所述远程调用命令对应的所述命令参数以及所述命令返回类型,编译每个所述远程调用命令的命令标准代码,并对每条所述命令标准代码进行命令类型标注;
执行每条所述命令标准代码,并获得包含所述命令类型标注的执行结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端,包括:
根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端。
6.根据权利要求5所述的方法,其特征在于,所述根据所述命令类型标注及所述客户端接口信息,将包含所述命令类型标注的所述返回信息序列化压缩文件发送至所述客户端,包括:
依据预设命令类型对应的发送优先级以及每个所述返回信息序列化压缩文件对应的所述命令类型标注,确定每个所述返回信息序列化压缩文件的发送次序;
根据所述客户端接口信息,按发送次序依次发送所述返回信息序列化压缩文件。
7.一种远程执行命令装置,其特征在于,所述装置包括:
信息接收模块,用于接收客户端调用远程执行命令的请求信息,其中,所述请求信息包括命令参数、命令返回类型及所述客户端接口信息;
代码编译模块,用于根据所述命令参数及所述命令返回类型,编译并执行命令标准代码,获得所述命令标准代码在服务端的执行结果,其中,所述执行结果包括数据代码;
序列化压缩模块,用于根据所述数据代码定义proto源文件,其中,所述proto源文件包括与所述数据代码对应的存储类内容,所述proto源文件定义客户端与服务端的约定,所述proto源文件共享于服务端与服务端之间;
所述序列化压缩模块,还用于通过proto编译器将所述proto源文件中存储类内容转换为二进制序列串,得到返回信息序列化压缩文件,以使所述客户端接收到所述返回信息序列化压缩文件后,对所述返回信息序列化压缩文件进行解压和转译;
信息发送模块,用于根据所述客户端接口信息将所述返回信息序列化压缩文件发送至所述客户端。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述远程执行命令的方法。
9.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述远程执行命令的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925450.6A CN115314536B (zh) | 2022-08-03 | 2022-08-03 | 远程执行命令方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210925450.6A CN115314536B (zh) | 2022-08-03 | 2022-08-03 | 远程执行命令方法及装置、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314536A CN115314536A (zh) | 2022-11-08 |
CN115314536B true CN115314536B (zh) | 2024-02-02 |
Family
ID=83859727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210925450.6A Active CN115314536B (zh) | 2022-08-03 | 2022-08-03 | 远程执行命令方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115314536B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209076A (zh) * | 2011-06-03 | 2011-10-05 | 用友软件股份有限公司 | 服务端与客户端之间的交互方法和交互系统 |
CN103778248A (zh) * | 2014-02-18 | 2014-05-07 | 成都致云科技有限公司 | 高效自描述的复杂数据对象序列化方法 |
CN106506565A (zh) * | 2017-01-04 | 2017-03-15 | 上海上讯信息技术股份有限公司 | 一种远程命令执行方法及设备 |
WO2017167103A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种远程命令的处理方法和装置 |
CN108200080A (zh) * | 2018-01-19 | 2018-06-22 | 深圳神州数码云科数据技术有限公司 | 一种远程服务通信方法 |
CN111880802A (zh) * | 2020-07-03 | 2020-11-03 | 深圳市欢太科技有限公司 | 一种编译方法、电子设备及计算机可读存储介质 |
CN111935101A (zh) * | 2020-07-16 | 2020-11-13 | 北京首汽智行科技有限公司 | 一种客户端与服务器之间的通信协议设计方法 |
CN112395096A (zh) * | 2019-08-13 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 远程函数调用的处理方法、装置、电子设备及存储介质 |
CN113434147A (zh) * | 2021-06-25 | 2021-09-24 | 北京达佳互联信息技术有限公司 | 基于ProtoBuf协议的消息解析方法及装置 |
CN114398191A (zh) * | 2021-12-23 | 2022-04-26 | 杭州安恒信息技术股份有限公司 | 远程服务调用方法、系统、计算机设备及存储介质 |
CN114625353A (zh) * | 2020-12-14 | 2022-06-14 | 电科云(北京)科技有限公司 | 模型框架代码生成系统及方法 |
-
2022
- 2022-08-03 CN CN202210925450.6A patent/CN115314536B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209076A (zh) * | 2011-06-03 | 2011-10-05 | 用友软件股份有限公司 | 服务端与客户端之间的交互方法和交互系统 |
CN103778248A (zh) * | 2014-02-18 | 2014-05-07 | 成都致云科技有限公司 | 高效自描述的复杂数据对象序列化方法 |
WO2017167103A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种远程命令的处理方法和装置 |
CN106506565A (zh) * | 2017-01-04 | 2017-03-15 | 上海上讯信息技术股份有限公司 | 一种远程命令执行方法及设备 |
CN108200080A (zh) * | 2018-01-19 | 2018-06-22 | 深圳神州数码云科数据技术有限公司 | 一种远程服务通信方法 |
CN112395096A (zh) * | 2019-08-13 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 远程函数调用的处理方法、装置、电子设备及存储介质 |
CN111880802A (zh) * | 2020-07-03 | 2020-11-03 | 深圳市欢太科技有限公司 | 一种编译方法、电子设备及计算机可读存储介质 |
CN111935101A (zh) * | 2020-07-16 | 2020-11-13 | 北京首汽智行科技有限公司 | 一种客户端与服务器之间的通信协议设计方法 |
CN114625353A (zh) * | 2020-12-14 | 2022-06-14 | 电科云(北京)科技有限公司 | 模型框架代码生成系统及方法 |
CN113434147A (zh) * | 2021-06-25 | 2021-09-24 | 北京达佳互联信息技术有限公司 | 基于ProtoBuf协议的消息解析方法及装置 |
CN114398191A (zh) * | 2021-12-23 | 2022-04-26 | 杭州安恒信息技术股份有限公司 | 远程服务调用方法、系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115314536A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10009303B2 (en) | Message push method and apparatus | |
CN100578942C (zh) | 用于压缩以结构化定义语言表达的无线应用程序的系统和方法 | |
US8676949B2 (en) | Methods for interfacing with a virtualized computing service over a network using a lightweight client | |
CN112615822B (zh) | 一种消息处理方法、装置、计算设备及可读存储介质 | |
CN103873692A (zh) | 一种分享资源的方法、装置及系统 | |
CA2511916A1 (en) | System and method of building wireless component applications | |
CN113079216B (zh) | 一种云应用的实现方法、装置、电子设备及可读存储介质 | |
CN112135186B (zh) | 基于小程序的投屏方法、装置、设备及存储介质 | |
JP2011002905A (ja) | 送信装置、その制御方法、プログラム及び情報処理システム | |
CN105141567A (zh) | 终端应用和服务端的交互数据处理方法及系统、交互方法 | |
CN113971110A (zh) | 接口测试方法、装置、设备与计算机可读存储介质 | |
CN112121411A (zh) | 震动控制方法、装置、电子设备和计算机可读存储介质 | |
CN107332854B (zh) | 一种报文序列化协商方法及服务提供设备 | |
CN112328356B (zh) | Android与Windows的互通方法、装置、存储介质及计算机设备 | |
CN112154417A (zh) | 经由仿真网络通信信道在应用的单机版本和基于Web的版本之间共享代码库 | |
CN115314536B (zh) | 远程执行命令方法及装置、存储介质、计算机设备 | |
CN111258902B (zh) | 基于SockJS服务器的性能测试方法和性能测试系统 | |
CN112511631A (zh) | 智能设备的控制系统和方法 | |
CN113760561A (zh) | 一种数据处理方法和装置 | |
CN112631638B (zh) | 终端应用更新方法、装置、存储介质及电子设备 | |
CN114301970A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
KR20050030372A (ko) | 그래픽 아이콘이 포함된 단문 메시지 통신 시스템 | |
CN113992641A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Cheng et al. | An adaptive mobile application development framework | |
JP2007122647A (ja) | プログラムデータ提供方法、プログラムデータ提供システム及びプログラムデータ提供装置 |
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 |