CN110661852B - 云环境中的业务处理方法及装置 - Google Patents
云环境中的业务处理方法及装置 Download PDFInfo
- Publication number
- CN110661852B CN110661852B CN201910839161.2A CN201910839161A CN110661852B CN 110661852 B CN110661852 B CN 110661852B CN 201910839161 A CN201910839161 A CN 201910839161A CN 110661852 B CN110661852 B CN 110661852B
- Authority
- CN
- China
- Prior art keywords
- service
- plug
- server
- mode
- execution
- 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
Images
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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]
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及云计算领域,具体公开了一种云环境中的业务处理方法及装置,包括:服务端接收业务请求;调用为业务请求所指示业务配置的插件,插件中定义了业务的执行方式和业务所对应的业务执行数据,执行方式为命令方式或脚本方式,业务执行数据指示了按照命令方式实现业务所要调用的命令,或指示了按照脚本方式实现业务所要下载的脚本文件;在所调用的插件中进行消息封装,获得业务消息;向云主机发送业务消息,以使云主机按照业务消息所指示的业务执行数据并按照业务消息所指示执行方式实现业务。有效解决了现有技术中因将业务处理逻辑部署于云主机中所造成更新量大且更新占用大量网络资源的问题。
Description
技术领域
本公开涉及云计算技术领域,具体涉及一种云环境中的业务处理方法及装置。
背景技术
云环境中设有多个云主机,各云主机受控于云环境中的服务端。云环境中业务处理过程为:当有外部进行业务调用时,由服务端接收业务请求,并将业务请求发送至云主机,由云主机执行对应的业务。
基于此种业务处理过程,因而需要将云环境中业务的业务处理逻辑部署在云主机上,即在云主机中安装对应进行业务处理的应用程序,即agent程序。
而由于将业务处理逻辑部署于云主机中,当新增业务或者业务处理逻辑变更之后,需要对应进行各个云主机中agent程序更新。而由于云环境中云主机的数量非常多,一方面更新量大,另一方面,各个云主机中agent程序同时更新占用了云环境中大量网络资源,从而容易造成云环境中的生产故障。
由上可知,现有技术中因云环境中业务处理过程所导致业务更新时更新量大且占用过多挽留过资源的问题还有待解决。
发明内容
为了解决现有技术因云环境中业务处理过程所导致业务更新时更新量大且占用过多挽留过资源的问题,本公开的实施例提供了一种云环境中的业务处理方法及装置。
其中,本申请所采用的技术方案为:
第一方面,一种云环境中的业务处理方法,所述云环境包括服务端和受控于所述服务端的若干云主机,所述方法包括:
服务端接收业务请求;
调用为所述业务请求所指示业务配置的插件,所述插件中定义了所述业务的执行方式和所述业务所对应的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用的命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;
在所调用的插件中进行消息封装,获得业务消息,通过所述业务消息指示所述业务的执行方式和所述业务的业务执行数据;
向云主机发送所述业务消息,以使所述云主机按照所述业务消息所指示的所述业务执行数据并按照所述业务消息所指示执行方式实现所述业务。
第二方面,一种云环境中的业务处理方法,所述云环境包括服务端和受控于所述服务端的若干云主机,所述方法包括:
云主机接收所述服务端发送的业务消息,所述服务端在接收到业务请求之后,根据为所述业务请求所指示业务配置的插件进行消息封装获得所述业务消息,所述业务消息指示了所述插件所定义所述业务的执行方式和所述业务的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用得命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;
解析所述业务消息确定所述业务的执行方式和业务执行数据;
根据所确定的所述业务执行数据,按照所确定所述执行方式实现所述业务。
第三方面,一种云环境中的业务处理装置,所述装置应用于服务端,所述云环境包括所述服务端和若干云主机,所述装置包括:
业务请求接收模块,用于接收业务请求;
插件调用模块,用于调用为所述业务请求所指示业务配置的插件,所述插件中定义了所述业务的执行方式和所述业务所对应的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用的命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;
封装模块,用于在所调用的插件中进行消息封装,获得业务消息,通过所述业务消息指示所述业务的执行方式和所述业务的业务执行数据;
发送模块,用于向云主机发送所述业务消息,以使所述云主机按照所述业务消息所指示的所述业务执行数据并按照所述业务消息所指示执行方式实现所述业务。
第四方面,一种云环境中的业务处理装置,应用于云环境中的云主机,所述云环境包括服务端和受控于所述服务端的若干云主机,所述装置包括:
接收模块,用于接收所述服务端发送的业务消息,所述服务端在接收到业务请求之后,根据为所述业务请求所指示业务配置的插件进行消息封装获得所述业务消息,所述业务消息指示了所述插件所定义所述业务的执行方式和所述业务的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用得命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;
解析模块,用于解析所述业务消息确定所述业务的执行方式和业务执行数据;
业务执行模块,用于根据所确定的所述业务执行数据,按照所确定所述执行方式实现所述业务。
在本公开的技术方案中,提供了一种基于插件的业务开发和业务处理方法,由于业务所对应的插件存储于服务端中,相当于将业务对应的业务处理逻辑部署于服务端,而云主机中并未部署业务处理逻辑,从而如果需要新增业务或者需要进行更新时,仅对应地在服务端新增业务所对应的插件或者更新插件即可,而不需要在云主机中进行更新。可以有效解决现有技术中因将业务处理逻辑部署于云主机中所造成更新量大且更新占用大量网络资源的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是示例性示出的一种装置的框图;
图2是根据一示例性实施例示出的一种云环境中的业务处理方法的流程图;
图3是图2对应实施例的步骤330在一实施例中的流程图;
图4是根据一实施例示出的服务端中插件更新的流程图;
图5是根据另一实施例示出的一种云环境中的业务处理方法的流程图;
图6是图5对应实施例中步骤550在一实施例中的流程图;
图7是图6对应实施例的步骤551在一实施例中的流程图;
图8是图5对应实施例中步骤550在另一实施例中的流程图;
图9是根据一示例性实施例示出的一种云环境中的业务处理装置的框图;
图10是根据另一示例性实施例示出的一种云环境中的业务处理装置的框图;
图11是根据一示例性实施例示出的一种电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1根据一示例性实施例示出的一种装置200的框图。装置200可以作为本公开的执行主体,例如作为云环境中的服务端或者云主机,对应实现本公开服务端或者云主机所执行云环境中的业务处理方法。当然,本公开的方法并不限于以装置200作为执行主体实现,其他具备处理能力的电子设备也可以作为本公开的执行主体,用于实现本公开的云环境中的业务处理方法。
需要说明的是,该装置200只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该装置也不能解释为需要依赖于或者必须具有图1中示出的示例性的装置200中的一个或者多个组件。
该装置200的硬件结构可因配置或者性能的不同而产生较大的差异,如图3所示,装置200包括:电源210、接口230、至少一存储器250、以及至少一处理器270。
其中,电源210用于为装置200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制装置200上的各硬件设备以及应用程序253,以实现处理器270对海量数据255的计算与处理,其可以是Windows ServerTM、MacOS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对装置200的一系列计算机可读指令。数据255可以是存储于磁盘中的样本文本、标签数据等。
处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的装置200将通过处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成云环境中的业务处理的方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
图2是根据一示例性实施例示出的一种云环境中的业务处理方法的流程图,该方法由图1所示实施环境中的服务端执行,云环境包括服务端和受控于服务端的若干云主机。如图2所示,该方法至少包括以下步骤:
步骤310,服务端接收业务请求。
云环境,又称为云平台,云环境面向用户提供公用化的互联网基础设施服务。在云环境中,通过类似于VPS主机的虚拟化技术,在每一台主机上虚拟出过个类似独立主机的部分,实现单机多用户,每个部分都可以做单独的操作系统。所独立出类似独立主机的部分即被称为云主机。
在云环境中用于统一进行云主机管理与调度的部分即被称作对应于云主机的服务端。云主机的工作受控于服务端。例如在服务端接收到外部设备发送的业务请求之后,根据该业务请求向云主机下发指令,由云主机为外部设备实现该业务请求所指示的业务。
由于云环境面向用户提供公用化的互联网基础设施服务,那么,在想要借助于云环境实现业务的设备即为外部设备。在外部设备想要借助于云环境实现某一业务时,对应的向云环境发送业务请求。
在云环境中,由服务端接收外部所发送业务请求的接收,然后根据所接收到的业务请求进行云主机的调度,控制云主机实现所请求的业务。
可以理解的是,业务请求指示了外部设备所请求实现的业务。业务例如:磁盘挂载、EIP(Enterprise Information Portal,企业信息门户)配置、软件安装(例如安装etcd、安装日志云agent、安装HIDS(Host-based Intrusion Detection System,主机型入侵检测系统))等。
步骤330,调用为业务请求所指示业务配置的插件,插件中定义了业务的执行方式和业务所对应的业务执行数据,执行方式为命令方式或脚本方式,业务执行数据指示了按照命令方式实现业务所要调用的命令,或指示了按照脚本方式实现业务所要下载的脚本文件。
在本公开的云环境中,以插件的方式进行云环境中业务的开发,并将为业务所开发的插件存储于服务端。在插件中,定义了业务的具体实现,至少包括:业务的执行方式(命令方式或者脚本方式)和对应于执行方式的业务执行数据,该业务执行数据指示了按照命令方式实现业务时所需要调用的命令或者按照脚本方式实现业务时所需要请求的脚本文件。
因而,服务端在接收到业务请求之后,根据业务请求调用该业务请求所指示业务的插件。
步骤350,在所调用的插件中进行消息封装,获得业务消息,通过业务消息指示业务的执行方式和业务的业务执行数据。
由于业务的具体执行由云主机实现,而在云主机中并未部署业务的处理逻辑,因而,服务端在所调用的插件中进行消息封装,以将实现业务的业务消息下发至云主机。
所进行的消息封装,即是将业务所对应插件中所定义执行方式以及业务执行数据转换成和云主机约定的信息格式(例如一个字符串,不同位数代表不同参数,如1-13位是taskld,14-24位为执行方式:command|script|download)。
步骤370,向云主机发送业务消息,以使云主机按照业务消息所指示的业务执行数据并按照业务消息所指示执行方式实现业务。
云主机在接收到服务端所发送的业务消息后,对应进行业务消息解析,从而确定实现业务的业务执行方式以及业务对应的业务执行数据,进而根据业务消息所指示的业务执行数据并按照业务消息所指示的执行方式实现业务。
具体而言,在业务消息所指示的执行方式为命令方式时,云主机对应地按照业务消息的指示,调用操作系统中的命令并执行,从而实现业务。云主机调用业务消息中所指示的命令并执行的过程即为业务的执行过程。进一步的,在执行完成之后,从标准输出和错误输出中获取执行结果,并将结果反馈至服务端。
在业务消息所指示的执行方式为脚本方式时,云主机向服务端请求业务消息所指示的脚本文件,例如磁盘挂载脚本、主机初始化脚本等,然后在云主机自身的操作系统中运行脚本文件中的脚本,并通过脚本的执行来对应实现业务。云主机向服务端请求脚本文件,并在自身操作系统中运行脚本文件的过程即为业务的执行过程。
进一步的,由于不同的操作系统中可运行的脚本类型不同,例如在Linux操作系统中运行shell脚本,在Windows操作系统中运行powershell脚本,每种类型的操作系统仅能运行对应规定类型的脚本,在云主机根据业务消息向服务端请求脚本文件之前,云主机根据自身操作系统的类型确定所要请求脚本文件的类型,从而对应地向服务端发起脚本文件请求。
在一实施例中,在服务端部署有文件服务器,该文件服务器用于存储云环境中的资源,例如安装包、脚本文件(比如磁盘挂载脚本、主机初始化脚本),从而向云主机提供文件下载服务,即云主机在需要对应的文件时,可以对应地向文件服务器请求下载。
现有技术中,云环境中的业务处理逻辑部署于云主机中。在服务端接收到业务请求之后,将业务请求下发到云主机,然后云主机根据自身中部署的业务所对应的处理逻辑执行业务。如果业务的业务处理逻辑有更新或者新增业务处理逻辑时,则需要对应进行各云主机中业务处理逻辑的更新或者新增。而由于云环境中云主机数量众多,一方面,更新时更新量大;另一方面,各个云主机中的业务逻辑同时进行更新占用了云环境中大量网络资源,容易造成云环境中的生产故障。
而在本公开的技术方案中,提供了一种区别于现有技术中云环境中的业务处理方法。首先,在本公开的技术方案中,以插件的方式进行云环境中业务的开发,并将为业务所开发的插件存储于服务端,而在云主机中并不部署各业务的业务处理逻辑。从而,在服务端接收到业务请求后,对应调用自身所存储业务对应的插件,并根据插件中所定义的业务的具体实现向云主机发送业务消息,以使云主机按照业务消息的指示执行业务。
由上可知,本公开的云主机中未部署复杂的业务处理逻辑,云主机仅负责与服务端进行通信、调用操作系统中的命令、在执行命令后返回结果、下载文件、执行脚本。即在业务的执行过程中,云主机仅提供三种最基础的操作:执行系统命令、执行脚本和下载文件,且在业务的执行过程中,云主机仅仅执行系统命令、执行脚本,而并不知道所执行系统命令以及脚本对应于哪一业务。实现了云主机的轻量化,而这些基础操作都是跨操作系统支持的,而不需要对应为不同操作系统进行业务逻辑的开发。
由于在本公开的技术方案中,业务所对应的插件存储于服务端中,相当于将业务对应的业务处理逻辑部署于服务端,而云主机中并未部署业务处理逻辑,从而如果需要新增业务或者需要进行更新时,仅对应地在服务端新增业务所对应的插件或者更新插件即可,而不需要在云主机中进行更新。可以有效避免现有技术中因将业务处理逻辑部署于云主机中所造成更新量大且更新占用大量网络资源的问题。
在一实施例中,如图3所示,步骤330,包括:
步骤331,根据业务请求中的业务标识查询获得业务标识所关联插件。
插件,又称外挂,是一种遵循一定规范的应用程序接口编写出来的程序。其可以运行在程序规定的操作系统中,例如Windows操作系统、Linux操作系统,插件通过调用操作系统所提供的函数库或者数据来运行。
换言之,在本公开的技术方案中,通过插件来替换了用于实现业务的agent应用程序,从而,不需要在每一云主机上安装agent应用程序,而仅仅在云主机需要执行业务时,将业务所对应的插件下发到云主机,以此避免在业务所对应的业务处理逻辑变更时批量更新云主机中的agent应用程序。以此,在服务端实现了插件式的业务开发,保证业务正常实现的同时,也避免了在云主机中应用程序的不断更新。
可以理解的是,在服务端中为实现业务所存储的插件是与业务相对应的,因而,在服务端中插件是与所要实现业务的业务标识相关联存储的。
对于外部设备所发送的业务请求,该业务请求中指示了对应所需要实现的业务,即通过业务的业务标识来标识所需要实现的业务。从而,服务端即可根据业务请求中的业务标识来对应获取该业务标识所对应的插件。
步骤333,调用所查询获得的插件。
在一实施例中,步骤370之后,该方法还包括:
接收云主机在根据业务执行数据并按照执行方式执行后所反馈的执行结果。
如上描述,业务执行数据包括所要调用的系统命令,或者所要调用的脚本。对于业务执行数据为所要调用的系统命令时,执行方式对应为命令执行方式;对于业务执行数据为所要调用的脚本时,执行方式对应为脚本方式。
也即是说,在云主机接收到服务端发送的业务消息之后,按照业务消息调用操作系统中的命令并执行(即是按照命令执行方式进行执行),或者按照业务消息中所指示需要下载的脚本文件,从而服务端中下载获取对应的脚本文件,并运行脚本。
而不管是调用命令并执行,还是运行所下载脚本文件中的脚本,均是为了实现业务,而且均有对应的执行结果。而该执行结果即用于指示业务是否成功实现。一方面,通过云主机所进行执行结果的反馈,从而服务端可以及时地获知业务的执行情况,即是否执行完成,或者执行失败,从而采取相应的应对措施。例如在云主机执行失败时,服务端重新指定其它的云主机执行该任务。
另一方面,由于由服务端作为云环境中对外的窗口,统一接收业务请求,并将业务请求分配至云环境中的云主机执行。通过云主机所反馈的执行结果,服务端可以向发起请求的外部设备反馈业务的执行结果,例如向外部设备反馈业务请求所指示的业务已执行完成。
在一实施例中,如图4所示,该方法还包括:
步骤410,接收为业务所对应插件配置的插件更新文件。
步骤430,通过插件更新文件替换服务端为插件所存储的插件文件,实现插件的更新。
在业务对应的处理逻辑发生变化时,需要对应进行插件的更新。而该插件更新文件即为更新后插件的配置文件。换言之,业务对应的处理逻辑发生变化时,为该业务开发对应的用于实现所更新的处理逻辑的插件,所开发的插件即作为业务所对应插件配置的插件更新文件。从而,在开发完成插件更新文件之后,由插件的开发方将插件更新文件上传至服务端中进行存储。
在具体实施例中,可以通过版本号来确定插件所对应的插件更新文件,换言之,在服务端接收到相同插件标识的文件时,通过版本号来确定所接收到文件是否为插件所对应的插件更新文件。
在另一实施例中,为保证插件更新的顺利进行,在通过插件更新文件替换服务端中为插件所存储的插件文件之前,服务端检测当前云环境中是否存在执行该插件所对应的业务的云主机,如果存在,则直至云环境中该插件所对应的业务被云主机执行完成后,才对应通过插件更新文件进行替换;反之,如果不存在,则可以直接根据插件更新文件进行替换。
将该插件更新文件替换服务端中为业务所存储的插件文件,即实现了插件的更新。
可以理解的,由于业务的执行方式包括脚本方式,如果业务对应的处理逻辑所发生的变化包括实现业务所需脚本文件的变更,在通过插件更新文件替换服务端中为该业务所存的插件的同时,对应将变更后的脚本文件上传至服务端中进行存储。
在另一实施例中,当云环境中新增业务后,对应地将为所新增业务开发的插件存储至服务端即可,当然,如果该新增业务需要按照脚本方式执行时,则对应地将实现该新增业务的脚本文件存储至服务端中。
图5是根据另一实施例示出的一种云环境中的业务处理方法,云环境包括服务端和受控于服务端的若干云主机,如图5所示,该方法包括:
步骤510,云主机接收服务端发送的业务消息,服务端在接收到业务请求之后,根据为业务请求所指示业务配置的插件进行消息封装获得业务消息,业务消息指示了插件所定义业务的执行方式和业务的业务执行数据,执行方式为命令方式或脚本方式,业务执行数据指示了按照命令方式实现业务所要调用得命令,或指示了按照脚本方式实现业务所要下载的脚本文件。
在本公开的技术方案中,云主机仅与服务端进行通信。在具体实施例中,云主机与服务端之间的通信可以采用Socket通信、http请求通信或者RPC请求通信,在此不进行具体限定。在一具体实施例中,为保证较高的通信效率,云主机与服务端采用Socket通信,而且Socket通信可以满足长连接的需要。
步骤530,解析业务消息确定业务的执行方式和业务执行数据。
步骤550,根据所确定的业务执行数据,按照所确定执行方式实现业务。
在一实施例中,执行方式为脚本方式,业务执行数据指示了实现业务所要下载的脚本文件,如图6所示,步骤550包括:
步骤551,向服务端请求脚本文件。
其中,对于脚本方式的业务执行数据指示了实现业务所需要下载的脚本文件标识。从而,在云主机解析确定所需要下载的脚本文件之后,对应向服务端请求业务执行数据中所指示的脚本文件。
在具体实施例中,服务端中对应配置文件服务器,该文件服务器即用于存储脚本文件、插件等。则在步骤551中,云主机所进行的脚本文件请求即是向服务端中的文件服务器进行脚本文件请求。步骤553,接收服务端下发的脚本文件。
步骤555,执行脚本文件,通过执行脚本文件实现业务。
由于云主机可以做单独的操作系统,从而,在接收到服务端下发的脚本文件之后,云主机可以在自身的操作系统中运行脚本文件中的脚本,即实现了执行业务所对应的处理逻辑。
在一实施例中,如图7所示,步骤551包括:
步骤610,根据云主机自身操作系统的类型确定所要请求脚本文件的类型,所确定类型的脚本文件能够在云主机的操作系统中被执行。
由于脚本文件中的脚本是在云主机中的操作系统执行,而且不同的操作系统所执行的脚本类型存在差异,从而,为了保证脚本的顺利执行,云主机在向服务端请求脚本文件之前,根据自身操作系统的类型来确定自身操作系统上可运行脚本的类型,所确定的类型即为所要请求脚本文件的类型。进而对应向服务器请求对应类型的脚本文件。
步骤630,向服务端请求所确定类型的脚本文件。
在另一实施例中,执行方式为命令方式,业务执行数据指示了实现任务所要调用的命令,如图8所示,步骤550包括:
步骤710,调用业务执行数据所指示的命令。
其中,业务执行数据中所指示实现任务所要调用的命令为云主机中操作系统中的命令。从而,云主机可以直接根据业务执行数据的指示进行对应命令的调用。
在具体实施例中,为了保证插件的通用性,在业务执行数据中为实现业务所指示需要调用的命令为操作系统中的基础命令。对于操作系统而言,基础命令是跨平台支持的,换言之,相同的基础命令可以在不同的操作系统中被调用,从而,可以保证插件可以适用于操作系统不同的云主机。
步骤730,执行命令,通过执行命令实现业务。
对于命令执行方式而言,在云主机执行完命令后,从标准输出和错误输出中获得执行结果,并将该执行结果反馈至服务端。其中,该执行结果指示了业务是否成功执行。
在本公开的技术方案中,对于云主机而言,不管是命令方式进行业务实现,还是脚本方式进行业务实现,云主机仅仅是基于自身的操作系统进行基本操作,所进行的基本操作包括执行系统命令、执行脚本、下载脚本文件,而在业务的实现过程中,由于云主机中并未部署实现业务的处理逻辑,云主机并不知晓所调用执行的命令是对应于哪一业务,或者并不知晓所运行的脚本文件中的脚本是对应于哪一业务,从而实现了云主机的轻量化。
下述为本公开装置实施例,可以用于执行本公开上述装置200执行的云环境中的业务处理方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开云环境中的业务处理方法实施例。
图9是根据一示例性实施例示出的一种云环境中的业务处理装置的框图,该云环境中的业务处理装置可以配置于图1的装置200中,云环境包括服务端和受控于服务端的若干云主机,装置应用于服务端,执行以上方法实施例中任一所示的云环境中的业务处理方法的全部或者部分步骤。如图9所示,该云环境中的业务处理装置包括但不限于:
业务请求接收模块810,用于接收业务请求。
插件调用模块830,用于调用为业务请求所指示业务配置的插件,插件中定义了业务的执行方式和业务所对应的业务执行数据,执行方式为命令方式或脚本方式,业务执行数据指示了按照命令方式实现业务所要调用的命令,或指示了按照脚本方式实现业务所要下载的脚本文件。
封装模块850,用于在所调用的插件中进行消息封装,获得业务消息,通过业务消息指示业务的执行方式和业务的业务执行数据。
发送模块870,用于向云主机发送业务消息,以使云主机按照业务消息所指示的业务执行数据并按照业务消息所指示执行方式实现业务。
上述装置中各个模块的功能和作用的实现过程具体详见上述由服务端所执行云环境中的业务处理方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图1的处理器270所执行的存储在存储器250中的程序。
在一实施例中,插件调用模块830包括:
查询单元,用于根据业务请求中的业务标识查询获得业务标识所关联插件。
调用单元,用于调用所查询获得的插件。
在一实施例中,云环境中的业务处理装置还包括:
执行结果接收模块,用于接收云主机在根据业务执行数据并按照执行方式执行后所反馈的执行结果。
在一实施例中,云环境中的业务处理装置还包括:
插件更新文件接收模块,用于接收为业务所对应插件配置的插件更新文件。
替换模块,用于通过插件更新文件替换服务端为插件所存储的插件文件,实现插件的更新。
上述装置中各个模块/单元的功能和作用的实现过程具体详见上述由服务端所执行云环境中的业务处理方法中对应步骤的实现过程,在此不再赘述。
图10是根据另一示例性实施例示出的一种云环境中的业务处理装置的框图,该云环境中的业务处理装置可以配置于图1的装置200中,云环境包括服务端和受控于服务端的若干云主机,装置应用于云主机,执行以上由云主机所执行方法实施例中任一所示的云环境中的业务处理方法的全部或者部分步骤。如图10所示,该云环境中的业务处理装置包括但不限于:
接收模块910,用于接收服务端发送的业务消息,服务端在接收到业务请求之后,根据为业务请求所指示业务配置的插件进行消息封装获得业务消息,业务消息指示了插件所定义业务的执行方式和业务的业务执行数据,执行方式为命令方式或脚本方式,业务执行数据指示了按照命令方式实现业务所要调用得命令,或指示了按照脚本方式实现业务所要下载的脚本文件。
解析模块930,用于解析业务消息确定业务的执行方式和业务执行数据。
业务执行模块950,用于根据所确定的业务执行数据,按照所确定执行方式实现业务。
上述装置中各个模块的功能和作用的实现过程具体详见上述由云主机所实现云环境中的业务处理方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图1的处理器270所执行的存储在存储器250中的程序。
在一实施例中,执行方式为脚本方式,业务执行数据指示了实现业务所要下载的脚本文件,业务执行模块950包括:
请求单元,用于向服务端请求脚本文件。
脚本文件接收单元,用于接收服务端下发的脚本文件。
脚本执行单元,用于执行脚本文件,通过执行脚本文件实现业务。
在一实施例中,请求单元,包括:
类型确定单元,用于根据云主机自身操作系统的类型确定所要请求脚本文件的类型,所确定类型的脚本文件能够在云主机的操作系统中被执行。
脚本文件请求单元,用于向服务端请求所确定类型的脚本文件。
在另一实施例中,执行方式为命令方式,业务执行数据指示了实现任务所要调用的命令,业务执行模块950,包括:
命令调用单元,用于调用业务执行数据所指示的命令。
命令执行单元,用于执行命令,通过执行命令实现业务。
上述装置中各个模块/单元的功能和作用的实现过程具体详见上述由云主机所实现云环境中的业务处理方法中对应步骤的实现过程,在此不再赘述。
可选的,本公开还提供一种电子设备,该电子设备可以作为云环境中的服务端或者云主机,该电子设备可以执行以上方法实施例中任一所示的云环境中的业务处理方法的全部或者部分步骤,云环境包括服务端和受控于服务端的若干云主机。如图11所示,电子设备包括:
处理器1001;及
存储器1002,存储器1002上存储有计算机可读指令,计算机可读指令被处理器1001执行时实现以上方法实施中任一项的方法。
其中,可执行指令被处理器1001执行时实现以上任一实施例中的方法。其中可执行指令比如是计算机可读指令,在处理器1001执行时,处理器通过与存储器之间所连接的通信线/总线1003读取存储于存储器中的计算机可读指令。
该实施例中的装置的处理器执行操作的具体方式已经在有关该云环境中的业务处理方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上任一方法实施例中的方法。其中计算机可读存储介质例如包括计算机程序的存储器250,上述指令可由装置200的处理器270执行以实现上述任一实施例中的云环境中的业务处理方法。
该实施例中的处理器执行操作的具体方式已经在有关该云环境中的业务处理方法的实施例中执行了详细描述,此处将不做详细阐述说明。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种云环境中的业务处理方法,其特征在于,所述云环境包括服务端和受控于所述服务端的若干云主机,所述方法包括:
服务端接收业务请求;
调用为所述业务请求所指示业务配置的插件,所述插件中定义了所述业务的执行方式和所述业务所对应的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用的命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;业务对应的插件存储于所述服务端中,并在需要新增业务或者需要进行更新时,在所述服务端新增业务对应的插件或者更新业务对应的插件;
在所调用的插件中进行消息封装,获得业务消息,通过所述业务消息指示所述业务的执行方式和所述业务的业务执行数据;
向云主机发送所述业务消息,以使所述云主机按照所述业务消息所指示的所述业务执行数据并按照所述业务消息所指示执行方式实现所述业务。
2.根据权利要求1所述的方法,其特征在于,所述调用为所述业务请求所指示业务配置的插件,包括:
根据所述业务请求中的业务标识查询获得所述业务标识所关联插件;
调用所查询获得的所述插件。
3.根据权利要求1所述的方法,其特征在于,所述向云主机发送所封装的业务消息之后,所述方法还包括:
接收所述云主机在根据所述业务执行数据并按照所述执行方式执行后所反馈的执行结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收为所述业务所对应插件配置的插件更新文件;
通过所述插件更新文件替换所述服务端为所述插件所存储的插件文件,实现所述插件的更新。
5.一种云环境中的业务处理方法,其特征在于,所述云环境包括服务端和受控于所述服务端的若干云主机,所述方法包括:
云主机接收所述服务端发送的业务消息,所述服务端在接收到业务请求之后,根据为所述业务请求所指示业务配置的插件进行消息封装获得所述业务消息,所述业务消息指示了所述插件所定义所述业务的执行方式和所述业务的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用得命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;业务对应的插件存储于所述服务端中,并在需要新增业务或者需要进行更新时,在所述服务端新增业务对应的插件或者更新业务对应的插件;
解析所述业务消息确定所述业务的执行方式和业务执行数据;
根据所确定的所述业务执行数据,按照所确定所述执行方式实现所述业务。
6.根据权利要求5所述的方法,其特征在于,所述执行方式为脚本方式,所述业务执行数据指示了实现所述业务所要下载的脚本文件,所述根据所确定的所述业务执行数据,按照所确定所述执行方式实现所述业务,包括:
向所述服务端请求所述脚本文件;
接收所述服务端下发的所述脚本文件;
执行所述脚本文件,通过执行所述脚本文件实现所述业务。
7.根据权利要求6所述的方法,其特征在于,所述向所述服务端请求所述脚本文件,包括:
根据所述云主机自身操作系统的类型确定所要请求脚本文件的类型,所确定类型的所述脚本文件能够在所述云主机的操作系统中被执行;
向所述服务端请求所确定所述类型的所述脚本文件。
8.根据权利要求5所述的方法,其特征在于,所述执行方式为命令方式,所述业务执行数据指示了实现所述业务 所要调用的命令,所述根据所确定的所述业务执行数据,按照所确定所述执行方式实现所述业务,包括:
调用所述业务执行数据所指示的命令;
执行所述命令,通过执行所述命令实现所述业务。
9.一种云环境中的业务处理装置,所述装置应用于服务端,其特征在于,所述云环境包括所述服务端和若干云主机,所述装置包括:
业务请求接收模块,用于接收业务请求;
插件调用模块,用于调用为所述业务请求所指示业务配置的插件,所述插件中定义了所述业务的执行方式和所述业务所对应的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用的命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;业务对应的插件存储于所述服务端中,并在需要新增业务或者需要进行更新时,在所述服务端新增业务对应的插件或者更新业务对应的插件;
封装模块,用于在所调用的插件中进行消息封装,获得业务消息,通过所述业务消息指示所述业务的执行方式和所述业务的业务执行数据;
发送模块,用于向云主机发送所述业务消息,以使所述云主机按照所述业务消息所指示的所述业务执行数据并按照所述业务消息所指示执行方式实现所述业务。
10.一种云环境中的业务处理装置,应用于云环境中的云主机,其特征在于,所述云环境包括服务端和受控于所述服务端的若干云主机,所述装置包括:
接收模块,用于接收所述服务端发送的业务消息,所述服务端在接收到业务请求之后,根据为所述业务请求所指示业务配置的插件进行消息封装获得所述业务消息,所述业务消息指示了所述插件所定义所述业务的执行方式和所述业务的业务执行数据,所述执行方式为命令方式或脚本方式,所述业务执行数据指示了按照命令方式实现所述业务所要调用得命令,或指示了按照脚本方式实现所述业务所要下载的脚本文件;业务对应的插件存储于所述服务端中,并在需要新增业务或者需要进行更新时,在所述服务端新增业务对应的插件或者更新业务对应的插件;
解析模块,用于解析所述业务消息确定所述业务的执行方式和业务执行数据;
业务执行模块,用于根据所确定的所述业务执行数据,按照所确定所述执行方式实现所述业务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910839161.2A CN110661852B (zh) | 2019-09-05 | 2019-09-05 | 云环境中的业务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910839161.2A CN110661852B (zh) | 2019-09-05 | 2019-09-05 | 云环境中的业务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661852A CN110661852A (zh) | 2020-01-07 |
CN110661852B true CN110661852B (zh) | 2023-02-03 |
Family
ID=69037980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910839161.2A Active CN110661852B (zh) | 2019-09-05 | 2019-09-05 | 云环境中的业务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110661852B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737835A (zh) * | 2020-12-25 | 2021-04-30 | 北京浪潮数据技术有限公司 | 一种云主机业务管理方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099739A (zh) * | 2014-05-15 | 2015-11-25 | 中国移动通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN105262614A (zh) * | 2015-09-08 | 2016-01-20 | 北京思特奇信息技术股份有限公司 | 一种基于服务插件的业务处理方法及其系统 |
CN107465548A (zh) * | 2017-08-17 | 2017-12-12 | 北京云纵信息技术有限公司 | 代码的部署方法和装置 |
CN110149409A (zh) * | 2019-06-04 | 2019-08-20 | 平安科技(深圳)有限公司 | 云主机元数据服务管理方法、系统、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599497B2 (en) * | 2017-04-26 | 2020-03-24 | International Business Machines Corporation | Invoking enhanced plug-ins and creating workflows having a series of enhanced plug-ins |
-
2019
- 2019-09-05 CN CN201910839161.2A patent/CN110661852B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099739A (zh) * | 2014-05-15 | 2015-11-25 | 中国移动通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN105262614A (zh) * | 2015-09-08 | 2016-01-20 | 北京思特奇信息技术股份有限公司 | 一种基于服务插件的业务处理方法及其系统 |
CN107465548A (zh) * | 2017-08-17 | 2017-12-12 | 北京云纵信息技术有限公司 | 代码的部署方法和装置 |
CN110149409A (zh) * | 2019-06-04 | 2019-08-20 | 平安科技(深圳)有限公司 | 云主机元数据服务管理方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110661852A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413288B (zh) | 应用部署方法、装置、服务器及存储介质 | |
JP6058628B2 (ja) | マルチノードアプリケーションのデプロイメント・システム | |
CN112416524A (zh) | 基于docker和kubernetes离线的跨平台的CI/CD的实现方法及装置 | |
CN110505162B (zh) | 消息传输方法、装置及电子设备 | |
US9753758B1 (en) | Building of virtual servers in a cloud via non-structured strings | |
CN111045854B (zh) | 用于管理服务容器的方法、设备和计算机可读介质 | |
WO2019056187A1 (zh) | 应用部署方法、装置及系统 | |
CN110058894B (zh) | 在混合云中执行应用的方法、设备和计算机程序产品 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN113778477B (zh) | 文件处理方法及装置、计算机可读存储介质、电子设备 | |
CN104750528A (zh) | 一种Android程序中的组件管理方法和装置 | |
CN106775916B (zh) | 减小应用安装包的方法、装置及电子设备 | |
CN114968477A (zh) | 容器热迁移方法及容器热迁移装置 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
CN113468067B (zh) | 应用程序的调试方法、装置、电子设备和计算机可读介质 | |
CN110661852B (zh) | 云环境中的业务处理方法及装置 | |
EP3872630A2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
CN113448655A (zh) | C标准动态库的调用方法与装置 | |
CN110365839B (zh) | 关机方法、装置、介质及电子设备 | |
CN109375946B (zh) | 一种管理节点包管理器的组件包的方法及系统 | |
WO2023083071A1 (zh) | 视图交互方法、装置、电子设备及计算机可读介质 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
CN114237684A (zh) | 组件管理系统、方法、装置、电子设备及存储介质 | |
CN107423096A (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 |