CN112051988A - 模块处理方法、装置及服务器 - Google Patents
模块处理方法、装置及服务器 Download PDFInfo
- Publication number
- CN112051988A CN112051988A CN202010968055.7A CN202010968055A CN112051988A CN 112051988 A CN112051988 A CN 112051988A CN 202010968055 A CN202010968055 A CN 202010968055A CN 112051988 A CN112051988 A CN 112051988A
- Authority
- CN
- China
- Prior art keywords
- function module
- target function
- virtual resource
- module
- data processing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 274
- 238000012545 processing Methods 0.000 claims abstract description 185
- 238000004806 packaging method and process Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 528
- 238000005538 encapsulation Methods 0.000 claims description 15
- 238000012508 change request Methods 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开关于一种模块处理方法、装置及服务器,包括:获取虚拟资源应用服务的目标功能模块的特征信息;目标功能模块用于在直播过程中对虚拟资源进行数据处理,特征信息表征目标功能模块在对虚拟资源进行数据处理过程中与其他功能模块的依赖关系;在特征信息满足预设条件的情况下,对目标功能模块进行封装,以生成目标功能模块对应的第一进程,第一进程用于在直播过程中对虚拟资源进行第一数据处理,预设条件为特征信息表征目标功能模块在对虚拟资源进行数据处理过程中依赖于所述其他功能模块。本公开能够提高虚拟资源应用服务变更的灵活性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种模块处理方法、装置及服务器。
背景技术
目前,虚拟资源应用服务通常由许多功能模块组成,比如,宠物应用服务涉及基础信息、榜单、社交、背包、任务和经验等功能模块。每个功能模块都可以实现该宠物应用服务的一个功能,且这些功能模块之间可以存在依赖关系,比如,宠物应用服务中,榜单功能模块可以调用基础信息功能模块,以实现宠物榜单排列的功能。
相关技术中,通常采用代码依赖的方式对这些功能模块进行处理,然而,代码依赖的方式虽然代码逻辑简单直接,但是多个功能模块的代码互相耦合在一起,若某个功能模块的逻辑变更,需要对整个应用服务的应用程序接口(Application ProgrammingInterface,API)集群进行部署更新。
这样,涉及变更的实例比较多,变更周期长,从而导致虚拟资源应用服务变更灵活性比较差。
发明内容
本公开提供一种模块处理方法、装置及服务器,以至少解决相关技术中由于多个功能模块的代码互相耦合在一起,而导致虚拟资源应用服务变更灵活性比较差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种模块处理方法,包括:
获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与其他功能模块的依赖关系;
在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
可选的,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块,所述特征信息包括所述第一对外接口信息,所述第一对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的调用关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的第一对外接口信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述第一对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务中的其他功能模块调用的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,所述对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤之后,所述方法还包括:
在获取到所述其他功能模块中的功能模块调用所述目标功能模块的调用请求的情况下,对所述调用请求进行封装;
对封装后的调用请求进行序列化,生成字节流;其中,所述字节流用于向所述第一进程请求调用所述目标功能模块;
将所述字节流发送给所述第一进程,由所述第一进程响应所述字节流,以调用所述目标功能模块。
可选的,所述特征信息包括所述业务变更信息,所述业务变更信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的关联关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的业务变更信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程;
其中,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
可选的,所述对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤之后,所述方法还包括:
在获取到对所述目标功能模块的业务变更请求的情况下,退出所述第一进程,以对所述目标功能模块进行业务变更。
可选的,所述其他功能模块包括所述虚拟资源应用服务外的功能模块,所述特征信息包括所述目标功能模块的第二对外接口信息,所述第二对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务外的功能模块的调用关系或数据处理关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的第二对外接口信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述第二对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务外的功能模块调用的情况下,或者,在所述第二对外接口信息表明所述目标功能模块对所述虚拟资源的数据处理与所述虚拟资源应用服务外的功能模块的数据处理存在异步处理的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,所述方法还包括:
在所述特征信息不满足所述预设条件的情况下,将所述目标功能模块封装至所述虚拟资源应用服务中的其他功能模块对应的第二进程;
其中,所述第二进程用于在直播过程中对所述虚拟资源进行第二数据处理。
可选的,所述第一数据处理为依赖于其他进程的数据处理,所述第二数据处理为不依赖于其他进程的数据处理。
根据本公开实施例的第二方面,提供一种模块处理装置,包括:
获取模块,被配置为执行获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与其他功能模块的依赖关系;
第一封装模块,被配置为执行在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
可选的,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块,所述获取模块,具体被配置为执行获取所述目标功能模块的第一对外接口信息;其中,所述特征信息包括所述第一对外接口信息,所述第一对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的调用关系;
所述第一封装模块,具体被配置为执行在所述第一对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务中的其他功能模块调用的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,所述装置还包括:
第二封装模块,被配置为执行在获取到所述其他功能模块中的功能模块调用所述目标功能模块的调用请求的情况下,对所述调用请求进行封装;
序列化模块,被配置为执行对封装后的调用请求进行序列化,生成字节流;其中,所述字节流用于向所述第一进程请求调用所述目标功能模块;
发送模块,被配置为执行将所述字节流发送给所述第一进程,由所述第一进程响应所述字节流,以调用所述目标功能模块。
可选的,所述获取模块,具体被配置为执行获取所述目标功能模块的业务变更信息;其中,所述特征信息包括所述业务变更信息,所述业务变更信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的关联关系;
所述第一封装模块,具体被配置为执行在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程;
其中,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
可选的,所述装置还包括:
退出模块,被配置为执行在获取到对所述目标功能模块的业务变更请求的情况下,退出所述第一进程,以对所述目标功能模块进行业务变更。
可选的,所述其他功能模块包括所述虚拟资源应用服务外的功能模块,所述获取模块,具体被配置为执行获取所述目标功能模块的第二对外接口信息;所述特征信息包括所述目标功能模块的第二对外接口信息,所述第二对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务外的功能模块的调用关系或数据处理关系;
所述第一封装模块,具体被配置为执行在所述第二对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务外的功能模块调用的情况下,或者,在所述第二对外接口信息表明所述目标功能模块对所述虚拟资源的数据处理与所述虚拟资源应用服务外的功能模块的数据处理存在异步处理的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,所述装置还包括:
第三封装模块,具体被配置为执行在所述特征信息不满足所述预设条件的情况下,将所述目标功能模块封装至所述虚拟资源应用服务中的其他功能模块对应的第二进程;
其中,所述第二进程用于在直播过程中对所述虚拟资源进行第二数据处理。
可选的,所述第一数据处理为依赖于其他进程的数据处理,所述第二数据处理为不依赖于其他进程的数据处理。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第一方面中任一项所述的模块处理方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行第一方面中任一项所述的模块处理方法:
根据本公开实施例的第五方面,提供一种计算机程序产品,包括:可执行指令,当所述可执行指令在计算机上运行时,使得计算机能够执行第一方面中任一项所述的模块处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过获取虚拟资源应用服务在直播过程中对虚拟资源进行数据处理的目标功能模块的特征信息,并在目标功能模块的特征信息表明该目标功能模块对所述虚拟资源进行数据处理过程中依赖于其他功能模块的情况下,对该目标功能模块进行封装,以生成该目标功能模块对应的第一进程。如此,通过对依赖于其他功能模块的目标功能模块进行服务化处理,后续若需要变更该目标功能模块,则只需要变更该目标功能模块的相关内容,这样可以避免由于该目标功能模块的代码依赖关系复杂而导致需要对整个虚拟资源应用服务的API集群进行部署更新的情况发生,从而可以提高虚拟资源应用服务变更的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种模块处理方法的流程图;
图2是宠物应用服务中各功能模块的依赖关系示意图;
图3是根据一示例性实施例示出的一种模块处理装置的框图;
图4是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种模块处理方法的流程图,如图1所示,所述模块处理方法用于服务器中,包括以下步骤。
在步骤S101中,获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与其他功能模块的依赖关系;
在步骤S102中,在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
在步骤S101中,所述虚拟资源应用服务为虚拟资源应用程序的服务,其设置在服务器中,具体是为虚拟资源应用程序提供服务的进程。虚拟资源应用服务中的虚拟资源可以为宠物、虚拟农场等,以下实施例中,虚拟资源将以宠物为例进行详细说明。
比如,针对客户端的宠物应用程序,服务器可以设置宠物应用服务的进程,其目的是为客户端的宠物应用程序在直播过程中为宠物提供服务。该宠物应用服务包括多个功能模块,每个功能模块用于在直播过程中对宠物进行数据处理,以提供相应的服务,比如,为宠物建立社交关系,以为宠物提供社交服务,更新投喂给宠物的口粮,以为宠物提供榜单服务等。
该宠物应用服务通常可以包括至少两个功能模块,参见图2,图2是宠物应用服务中各功能模块的依赖关系示意图,如图2所示,该宠物应用服务可以包括榜单模块、社交模块、基础信息模块、背包模块、经验模块和任务模块。这些功能模块之间通常以代码依赖的方式进行处理,即在一功能模块调用另一功能模块,以访问另一功能模块的相关内容时,直接通过该功能模块与另一功能模块的代码依赖关系,对另一功能模块进行调用。
同时,该宠物应用服务中功能模块可以通过API接口与客户端依赖,也就是说,客户端可以通过API接口调用该宠物应用服务,以访问该宠物应用服务的相关内容,比如,针对宠物应用程序,在直播过程中,客户端可以通过API接口调用宠物应用服务的基础信息模块,以提供宠物信息展示服务,即向客户端展示宠物的基础信息。
并且,该宠物应用服务中功能模块也可以与虚拟资源应用服务外的功能模块进行依赖,所述虚拟资源应用服务外的功能模块相对于虚拟资源应用服务本身提供的内部服务外,其可以称之为外部服务,即该宠物应用服务中功能模块可以与外部服务进行依赖,其与外部服务依赖的方式存在三种。第一种为,外部服务可以通过数据协议调用该宠物应用服务,以访问该宠物应用服务中功能模块的相关内容。第二种为,该宠物应用服务中功能模块也可以通过数据协议调用外部服务,以访问外部服务的相关内容,比如,针对宠物应用服务中背包模块,其可以调用外部服务,以获取背包中相关物品信息。第三种为,该宠物应用服务中功能模块可以异步处理外部服务消息,比如,针对宠物应用服务中任务模块,其可以异步处理点赞、评论以及送礼等外部服务消息,以实现宠物应用服务的点赞、评论以及送礼等任务。其中,所述外部服务指的是不属于该宠物应用服务所涉及的服务范畴。
所述目标功能模块可以为虚拟资源应用服务中任一功能模块,其用于在直播过程中对虚拟资源进行数据处理。
由于该宠物应用服务中每个功能模块与其他功能模块的依赖关系不同,因此,对于该宠物应用服务中每个功能模块,均具备其相应的特征信息。针对目标功能模块,其特征信息可以表征目标功能模块在对宠物进行数据处理过程中与其他功能模块的依赖关系。
其中,可以有多种信息表征目标功能模块在对宠物进行数据处理过程中与其他功能模块的依赖关系。比如,功能模块之间的依赖关系可以采用对外接口来表征,目标功能模块的特征信息可以包括对外接口信息,且可以通过获取目标功能模块的对外接口信息来获取目标功能模块的特征信息,在对外接口信息表明存在目标对外接口时,则可以确定该目标功能模块依赖于其他功能模块,目标对外接口为目标功能模块依赖于其他功能模块的对外接口。
其中,对外接口信息可以包括两种,分别为第一对外接口信息和第二对外接口信息,第一对外接口信息为目标功能模块与宠物应用服务中的功能模块进行依赖的对外接口的信息,即进程内调用的接口信息,第二对外接口信息为目标功能模块与外部服务进行依赖的对外接口的信息,即进程间调用的接口信息。
目标功能模块依赖于宠物应用服务中的其他功能模块指的是在对宠物进行数据处理过程中其他功能模块调用目标功能模块,以进行相应的服务,即目标功能模块不是单一的功能模块,其依赖于宠物应用服务中的其他功能模块,为宠物提供服务。在该种场景下,该目标对外接口为其他功能模块调用目标功能模块的对外接口。
目标功能模块依赖于外部服务指的是在对宠物进行数据处理过程中外部服务调用目标功能模块,或者该目标功能模块可以异步处理外部服务的消息。在该种场景下,目标对外接口为外部服务调用目标功能模块的对外接口或者与外部服务进行异步处理的对外接口。
当然,也可以监控其他功能模块调用目标功能模块的调用请求,以确定该目标功能模块的第一对外接口信息和第二对外接口信息,在监控到其他功能模块调用目标功能模块的调用请求时,或者在目标功能模块异步处理外部服务的消息时,可以确定该目标功能模块依赖于其他功能模块。
针对如图2所示的宠物应用服务中的基础信息模块,依赖服务多且多样化,包括API接口获取宠物信息向客户端展示,任务模块根据宠物信息处理任务流程,社交模块查询宠物信息建立社交关系,其依赖关系复杂。针对榜单模块、社交模块和经验模块,被依赖的服务主要是API接口,其依赖关系简单。
可以确定目标功能模块的特征信息是否表征该目标功能模块在对宠物进行数据处理过程中依赖于其他功能模块,若是,则对该目标功能模块进行封装,以生成该目标功能模块对应的进程。其中,目标功能模块为宠物应用服务中的多个功能模块中任一功能模块,即可以对宠物应用服务中的每个功能模块进行相应判断,以确定是否进行服务化处理。
如图2所示,针对宠物应用服务中的基础信息模块,由于该功能模块在对宠物进行数据处理过程中依赖于其他功能模块,比如,依赖于任务模块,任务模块需要从该基础信息模块获取宠物信息以处理任务流程,依赖于社交模块,社交模块需要从基础信息模块查询宠物信息以建立社交关系,还依赖于背包模块和任务模块,背包模块和任务模块均需要从基础信息模块那里获取宠物信息以进行相应的服务。
其中,该目标功能模块对应的第一进程相对于宠物应用服务的第二进程来说,是一个新的进程,也就是说,对该目标功能模块进行封装生成第一进程之后,针对宠物应用服务,在直播过程中,其包括多个进程,以共同为宠物提供服务。
若否,即所述特征信息不满足所述预设条件,则可以不单独对该目标功能模块进行封装,即不单独对该目标功能模块进行服务化处理,将目标功能模块封装至虚拟资源应用服务中的其他功能模块对应的第二进程。
又比如,功能模块之间的依赖关系可以采用业务变更信息来表征,所述特征信息可以包括业务变更信息,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
也就是说,在目标功能模块存在业务变更的情况下,由于变更时需要退出宠物应用服务的整个进程,即需要退出目标功能模块和其他功能模块的整个进程,以对目标功能模块进行修改,在此时,目标功能模块与其他功能模块是通过进程进行关联的。
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联的情况下,即特征信息不满足预设条件的情况下,将目标功能模块封装至虚拟资源应用服务中的其他功能模块对应的第二进程。
其中,第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,第二进程用于在直播过程中对所述虚拟资源进行第二数据处理,所述第一数据处理为依赖于其他进程的数据处理,所述第二数据处理为不依赖于其他进程的数据处理。也就是说,第一进程在对虚拟资源进行数据处理过程中会被其他进程调用,即在数据处理过程中会依赖于其他进程的数据,而第二进程在对虚拟资源进行数据处理过程中不会被其他进程调用,而通常只有进程间调用或者调用其他进程,即在数据处理过程中不会依赖于其他进程的数据。
本实施例中,通过获取虚拟资源应用服务在直播过程中对虚拟资源进行数据处理的目标功能模块的特征信息,并在目标功能模块的特征信息表明该目标功能模块对所述虚拟资源进行数据处理过程中依赖于其他功能模块的情况下,对该目标功能模块进行封装,以生成该目标功能模块对应的第一进程。如此,通过对依赖于其他功能模块的目标功能模块即不是单一的功能模块进行服务化处理,之后,若需要变更该目标功能模块,则只需要变更该目标功能模块的相关内容,这样可以避免由于该目标功能模块的代码依赖关系复杂而导致需要对整个虚拟资源应用服务的API集群进行部署更新的情况发生,从而可以提高虚拟资源应用服务变更的灵活性。
并且,基于功能模块的特征信息,分别评估宠物应用服务中每个功能模块是否需要进行服务化处理,可以合理评估需要进行服务化处理的功能模块,避免将所有功能模块进行服务化处理带来服务维护的复杂性以及降低系统稳定性的问题。
可选的,基于实施例一,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块,步骤S101具体包括:
获取所述目标功能模块的第一对外接口信息;其中,所述特征信息包括所述第一对外接口信息,所述第一对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的调用关系;
相应的,在目标功能模块的特征信息通过第一对外接口信息来表征时,步骤S102具体包括:
在所述第一对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务中的其他功能模块调用的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的进程。
目标功能模块的第一对外接口信息可以包括目标功能模块的对外接口类型和对外接口数量。
在宠物应用服务中,功能模块的调用可以包括多种,具体可以包括:被其他功能模块调用、调用其他功能模块、被外部服务调用、调用外部服务以及与其他外部服务异步处理。
相应的,功能模块的对外接口类型可以包括多种,第一种,API接口,该API接口与客户端的宠物应用程序连接,其调用方式为API调用方式。
第二种,直接调用接口,该直接调用接口的调用方式通过变量参数传递信息,也就是说,该对外接口为宠物应用服务中功能模块之间的依赖接口。且根据信息传递方式,直接调用接口的类型又可以分为其他功能模块调用目标功能模块和目标功能模块调用其他功能模块的对外接口,若信息传递方向为变量参数从其他功能模块传递至目标功能模块的输入,则对外接口为其他功能模块调用目标功能模块的接口,若信息传递方向为变量参数从目标功能模块的输出传递至其他功能模块,则对外接口为目标功能模块调用其他功能模块的接口。
第三种,间接调用接口,该间接调用接口可以为传输机制远程调用(RPC,RemoteProcedure Call)接口,其调用方式为GRPC协议调用方式,用于调用外部服务或者被外部服务调用。
可以获取目标功能模块的对外接口类型,若该目标功能模块的对外接口类型包括直接调用接口,且直接调用接口中包括其他功能模块调用目标功能模块的对外接口,也就是说,其他功能模块调用目标功能模块的对外接口数量大于0,则该目标功能模块的第一对外接口信息表明该目标功能模块依赖于宠物应用服务中的其他功能模块,即确定该目标功能模块不是单一的功能模块,需要对其进行服务化处理。
本实施例中,通过获取目标功能模块的第一对外接口信息,并依据第一对外接口信息确定目标功能模块是否是单一的功能模块,若否,则对目标功能模块进行服务化处理即可,其评估方式简单可靠。
可选的,基于实施例一,所述步骤S102之后,所述方法还包括:
在获取到所述其他功能模块中的功能模块调用所述目标功能模块的调用请求的情况下,对所述调用请求进行封装;
对封装后的调用请求进行序列化,生成字节流;其中,所述字节流用于向所述第一进程请求调用所述目标功能模块;
将所述字节流发送给所述第一进程,由所述第一进程响应所述字节流,以调用所述目标功能模块。
本实施例中,在对目标功能模块进行服务化处理,生成宠物应用服务中一个新的独立进程之后,宠物应用服务可以对应至少两个进程,分别包括目标功能模块对应的第一进程,以及宠物应用服务中除目标功能模块之外的其他功能模块对应的第二进程。
功能模块之间的调用方式可以包括两种,一种是进程内调用,即直接在进程内进行直接调用,若进程内包括多个功能模块,则进程内的功能模块即可以采用该种调用方式对该进程内的其他功能模块进行调用。具体的,在进程内,若获取到一功能模块调用另一功能模块的调用请求,获取该调用请求中的输入参数;将该输入参数传递给该另一功能模块,以调用该另一功能模块,调用后,若有输出参数返回,即将该输出参数直接返回给该一功能模块即可。
另一种是进程间调用,即通过预设协议如GRPC协议进行调用,若第二进程中的其他功能模块中的功能模块需要调用该目标软件模块,则可以采用该种调用方式对目标软件模块进行调用。
具体的,对该调用请求进行封装;对封装后的调用请求进行序列化,生成字节流;之后,将该字节流通过RPC接口发送给第一进程,由第一进程响应该字节流,将该字节流进行反序列化和解封装,以得到调用请求,并调用该目标软件模块。之后,在需要返回调用结果的情况下,将调用结果进行封装和序列化,生成另一字节流,通过RPC接口返回给第二进程,由第二进程对字节流进行反序列化和解封装,以将调用结果返回给调用该目标功能模块的功能模块。
本实施例中,在对所述目标软件模块进行服务化处理之后,若需要调用所述目标软件模块,则采用进程间调用方式对所述目标软件模块进行调用即可,其调用方式简单。
可选的,所述其他功能模块包括所述虚拟资源应用服务外的功能模块,所述特征信息包括所述目标功能模块的第二对外接口信息,所述第二对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务外的功能模块的调用关系或数据处理关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的第二对外接口信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述第二对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务外的功能模块调用的情况下,或者,在所述第二对外接口信息表明所述目标功能模块对所述虚拟资源的数据处理与所述虚拟资源应用服务外的功能模块的数据处理存在异步处理的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
本实施例中,所述第二对外接口信息中也可以包括目标功能模块的对外接口类型和对外接口数量。
可以获取目标功能模块的对外接口类型,若该目标功能模块的对外接口类型包括间接调用接口,且间接调用接口中包括外部服务调用目标功能模块的对外接口,或者包括目标功能模块异步处理外部服务消息的对外接口,也就是说,依赖外部服务数大于0或者被依赖的外部服务的部署方式表明目标功能模块与外部服务存在依赖关系,则该目标功能模块的第二对外接口信息表明该目标功能模块依赖于外部服务,需要对其进行服务化处理。
比如,针对宠物应用服务中的背包模块,其依赖外部服务数量较多,需要对其进行服务化处理。又比如,针对宠物应用服务中的任务模块,其被依赖的外部服务的部署方式为与目标功能模块异步处理的方式,即任务模块可以异步处理外部服务的消息,需要对其进行服务化处理。
本实施例中,通过获取目标功能模块的第二对外接口信息,并依据第二对外接口信息确定目标功能模块是否依赖于外部服务,若否,则对目标功能模块进行服务化处理即可,其评估方式简单可靠。
可选的,所述步骤S101包括:
获取所述目标功能模块的业务变更信息;其中,所述特征信息包括所述业务变更信息,所述业务变更信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的关联关系;
所述步骤S102包括:
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程;
其中,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
本实施例中,功能模块之间的依赖关系可以采用业务变更信息来表征,所述特征信息可以包括业务变更信息,所述业务变更信息表征该目标功能模块后续是否有变更需求。
在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
也就是说,在目标功能模块存在业务变更的情况下,由于变更时需要退出宠物应用服务的整个进程,即需要退出目标功能模块和其他功能模块的整个进程,以对目标功能模块进行修改,在此时,目标功能模块与其他功能模块是通过进程进行关联的。
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联的情况下,即特征信息不满足预设条件的情况下,将目标功能模块封装至虚拟资源应用服务中的其他功能模块对应的第二进程。
另外,根据业务逻辑变更和业务扩展变更,业务变更信息可以包括业务逻辑变动性参数和业务需求可扩展性参数。
其中,功能模块的业务逻辑变动性参数指的是该功能模块的业务逻辑是否变更频繁的参数,比如,针对宠物应用服务,其任务模块的任务策略多,且变更频繁,任务模块的业务逻辑变动性参数可以设置为1,而其榜单模块的逻辑稳定,策略相对稳定,该榜单模块的业务逻辑变动性参数可以设置为0。
功能模块的业务需求可扩展性参数指的是该功能模块的业务需求是否需要保持扩展的参数,比如,针对宠物应用服务,与背包模块异步处理的服务较多,因此需求变更较多,需要保持可扩展性,因此,该背包模块的业务需求可扩展性参数可以设置为1,而其基础信息模块是存储宠物的基础信息,业务需求变更频率不高,因此,该基础信息模块的业务需求可扩展性参数可以设置为0。
可以通过获取目标功能模块的业务逻辑变动性参数和业务需求可扩展性参数,来获取目标功能模块的业务变更信息。
在目标功能模块的业务逻辑变动性参数表明该目标功能模块存在业务逻辑变更的情况下,和/或,在目标功能模块的业务需求可扩展性参数表明该目标功能模块存在业务需求变更的情况下,也可以对该目标功能模块进行服务化处理。
比如,如图2所示,背包模块的业务需求变更较多,需要保持可扩展性,且业务逻辑变更频繁,因此,需要进行服务化处理。
任务模块由于任务类型众多,导致依赖外部服务比较多,业务逻辑变更点多,任务策略变更频繁,因此,需要进行服务化处理,以支持业务逻辑变更时,避免过多服务需要部署更新,从而可以减少变更周期,使应用服务可以快速迭代上线。
可选的,步骤S102之后,所述方法还包括:
在获取到对所述目标功能模块的业务变更请求的情况下,退出所述第一进程,以对所述目标功能模块进行业务变更。
之后,在对目标功能模块进行变更时,在获取到对目标功能模块的业务变更请求的情况下,只需退出该目标功能模块对应的第一进程,并对该目标功能模块的代码进行迭代更新即可,从而可以使宠物应用服务快速迭代上线。
并且,可以避免对与该目标功能模块具有依赖关系的其他功能模块以及API接口进行部署更新,即可以避免对整个宠物应用服务的API集群进行部署更新的情况发生,因此无需关闭宠物应用服务的其他进程,不会影响宠物应用服务的其他功能使用。
本实施例中,通过将宠物应用服务中不是单一的目标功能模块进行服务化处理,生成一个新的进程,后续若需要变更该目标功能模块,则只需要变更该目标功能模块的相关内容,这样可以避免由于该目标功能模块的代码依赖关系复杂而导致需要对整个宠物应用服务的API集群进行部署更新的情况发生,从而可以提高宠物应用服务变更的灵活性。
并且,可以减少变更的实例,减少变更周期,使宠物应用服务可以快速迭代上线。在目标功能模块进行变更时还可以避免带上其他功能模块有问题代码上线。
图3是根据一示例性实施例示出的一种模块处理装置的框图。参照图3,该装置包括获取模块301和第一封装模块302。
获取模块301,被配置为执行获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述其他功能模块的依赖关系;
第一封装模块302,被配置为执行在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
可选的,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块,所述获取模块301,具体被配置为执行获取所述目标功能模块的第一对外接口信息;其中,所述特征信息包括所述第一对外接口信息,所述第一对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的调用关系;
所述第一封装模块302,具体被配置为执行在所述第一对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务中的其他功能模块调用的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,所述装置还包括:
第二封装模块,被配置为执行在获取到所述其他功能模块中的功能模块调用所述目标功能模块的调用请求的情况下,对所述调用请求进行封装;
序列化模块,被配置为执行对封装后的调用请求进行序列化,生成字节流;其中,所述字节流用于向所述第一进程请求调用所述目标功能模块;
发送模块,被配置为执行将所述字节流发送给所述第一进程,由所述第一进程响应所述字节流,以调用所述目标功能模块。
可选的,所述获取模块301,具体被配置为执行获取所述目标功能模块的业务变更信息;其中,所述特征信息包括所述业务变更信息,所述业务变更信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的关联关系;
所述第一封装模块302,具体被配置为执行在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程;
其中,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
可选的,所述装置还包括:
退出模块,被配置为执行在获取到对所述目标功能模块的业务变更请求的情况下,退出所述第一进程,以对所述目标功能模块进行业务变更。
可选的,所述其他功能模块包括所述虚拟资源应用服务外的功能模块,所述获取模块,具体被配置为执行获取所述目标功能模块的第二对外接口信息;所述特征信息包括所述目标功能模块的第二对外接口信息,所述第二对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务外的功能模块的调用关系或数据处理关系;
所述第一封装模块,具体被配置为执行在所述第二对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务外的功能模块调用的情况下,或者,在所述第二对外接口信息表明所述目标功能模块对所述虚拟资源的数据处理与所述虚拟资源应用服务外的功能模块的数据处理存在异步处理的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,所述装置还包括:
第三封装模块,具体被配置为执行在所述特征信息不满足所述预设条件的情况下,将所述目标功能模块封装至所述虚拟资源应用服务中的其他功能模块对应的第二进程;
其中,所述第二进程用于在直播过程中对所述虚拟资源进行第二数据处理。
可选的,所述第一数据处理为依赖于其他进程的数据处理,所述第二数据处理为不依赖于其他进程的数据处理。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种服务器的框图,包括处理组件401,其进一步包括一个或多个处理器,以及由存储器402所代表的存储器资源,用于存储可由处理组件401的执行的指令,例如应用程序。存储器402中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件401被配置为执行指令,以执行下列过程:
获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与其他功能模块的依赖关系;
在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
可选的,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块,处理组件401具体被配置为执行:
获取所述目标功能模块的第一对外接口信息;其中,所述特征信息包括所述第一对外接口信息,所述第一对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的调用关系;
在所述第一对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务中的其他功能模块调用的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,处理组件401还被配置为执行:
在获取到所述其他功能模块中的功能模块调用所述目标功能模块的调用请求的情况下,对所述调用请求进行封装;
对封装后的调用请求进行序列化,生成字节流;其中,所述字节流用于向所述第一进程请求调用所述目标功能模块;
将所述字节流发送给所述第一进程,由所述第一进程响应所述字节流,以调用所述目标功能模块。
可选的,处理组件401还被配置为执行:
获取所述目标功能模块的业务变更信息;其中,所述特征信息包括所述业务变更信息,所述业务变更信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的关联关系;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程;
其中,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
可选的,处理组件401还被配置为执行:
在获取到对所述目标功能模块的业务变更请求的情况下,退出所述第一进程,以对所述目标功能模块进行业务变更。
可选的,所述其他功能模块包括所述虚拟资源应用服务外的功能模块,处理组件401还被配置为执行:
获取所述目标功能模块的第二对外接口信息;所述特征信息包括所述目标功能模块的第二对外接口信息,所述第二对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务外的功能模块的调用关系或数据处理关系;
在所述第二对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务外的功能模块调用的情况下,或者,在所述第二对外接口信息表明所述目标功能模块对所述虚拟资源的数据处理与所述虚拟资源应用服务外的功能模块的数据处理存在异步处理的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
可选的,处理组件401还被配置为执行:
在所述特征信息不满足所述预设条件的情况下,将所述目标功能模块封装至所述虚拟资源应用服务中的其他功能模块对应的第二进程;
其中,所述第二进程用于在直播过程中对所述虚拟资源进行第二数据处理。
服务器400还可以包括一个电源组件403被配置为执行服务器400的电源管理,一个有线或无线网络接口404被配置为将服务器400连接到网络,和一个输入输出(I/O)接口405。服务器400可以操作基于存储在存储器402的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM等。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器402,上述指令可由服务器400的处理组件401执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种模块处理方法,其特征在于,包括:
获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与其他功能模块的依赖关系;
在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
2.根据权利要求1所述的模块处理方法,其特征在于,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块,所述特征信息包括所述目标功能模块的第一对外接口信息,所述第一对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的调用关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的第一对外接口信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述第一对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务中的其他功能模块调用的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
3.根据权利要求2所述的模块处理方法,其特征在于,所述对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤之后,所述方法还包括:
在获取到所述其他功能模块中的功能模块调用所述目标功能模块的调用请求的情况下,对所述调用请求进行封装;
对封装后的调用请求进行序列化,生成字节流;其中,所述字节流用于向所述第一进程请求调用所述目标功能模块;
将所述字节流发送给所述第一进程,由所述第一进程响应所述字节流,以调用所述目标功能模块。
4.根据权利要求1所述的模块处理方法,其特征在于,所述特征信息包括业务变更信息,所述业务变更信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块的关联关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的业务变更信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述业务变更信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程;
其中,在所述业务变更信息表征所述目标功能模块存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块存在关联,在所述业务变更信息表征所述目标功能模块不存在业务变更的情况下,确定所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务中的其他功能模块不存在关联。
5.根据权利要求1或4所述的模块处理方法,其特征在于,所述对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤之后,所述方法还包括:
在获取到对所述目标功能模块的业务变更请求的情况下,退出所述第一进程,以对所述目标功能模块进行业务变更。
6.根据权利要求1所述的模块处理方法,其特征在于,所述其他功能模块包括所述虚拟资源应用服务外的功能模块,所述特征信息包括所述目标功能模块的第二对外接口信息,所述第二对外接口信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与所述虚拟资源应用服务外的功能模块的调用关系或数据处理关系;
所述获取虚拟资源应用服务的目标功能模块的特征信息的步骤包括:
获取所述目标功能模块的第二对外接口信息;
所述在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程的步骤包括:
在所述第二对外接口信息表明所述目标功能模块在对所述虚拟资源进行数据处理过程中被所述虚拟资源应用服务外的功能模块调用的情况下,或者,在所述第二对外接口信息表明所述目标功能模块对所述虚拟资源的数据处理与所述虚拟资源应用服务外的功能模块的数据处理存在异步处理的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程。
7.根据权利要求1所述的模块处理方法,其特征在于,所述方法还包括:
在所述特征信息不满足所述预设条件的情况下,将所述目标功能模块封装至所述虚拟资源应用服务中的其他功能模块对应的第二进程;
其中,所述第二进程用于在直播过程中对所述虚拟资源进行第二数据处理。
8.一种模块处理装置,其特征在于,包括:
获取模块,被配置为执行获取虚拟资源应用服务的目标功能模块的特征信息;其中,所述目标功能模块用于在直播过程中对虚拟资源进行数据处理,所述特征信息表征所述目标功能模块在对所述虚拟资源进行数据处理过程中与其他功能模块的依赖关系,所述其他功能模块包括所述虚拟资源应用服务中的其他功能模块和/或所述虚拟资源应用服务外的功能模块;
第一封装模块,被配置为执行在所述特征信息满足预设条件的情况下,对所述目标功能模块进行封装,以生成所述目标功能模块对应的第一进程,其中,所述第一进程用于在直播过程中对所述虚拟资源进行第一数据处理,所述预设条件为特征信息表征目标功能模块在对所述虚拟资源进行数据处理过程中依赖于所述其他功能模块。
9.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的模块处理方法。
10.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至7中任一项所述的模块处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010968055.7A CN112051988B (zh) | 2020-09-15 | 模块处理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010968055.7A CN112051988B (zh) | 2020-09-15 | 模块处理方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112051988A true CN112051988A (zh) | 2020-12-08 |
CN112051988B CN112051988B (zh) | 2024-10-25 |
Family
ID=
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929643A (zh) * | 2012-11-09 | 2013-02-13 | 北京中电普华信息技术有限公司 | 一种开发j2ee应用的方法及系统 |
CN104967689A (zh) * | 2015-06-30 | 2015-10-07 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
CN107070751A (zh) * | 2017-04-17 | 2017-08-18 | 中国铁塔股份有限公司 | 一种监控系统 |
CN107479898A (zh) * | 2017-08-28 | 2017-12-15 | 荆门程远电子科技有限公司 | 一种基于移动平台的三维虚拟地球的系统架构 |
CN107547215A (zh) * | 2016-06-23 | 2018-01-05 | 中兴通讯股份有限公司 | 一种网络管理方法及子网管理器 |
CN107577937A (zh) * | 2017-09-01 | 2018-01-12 | 深信服科技股份有限公司 | 一种应用程序保护方法及系统 |
US20180359161A1 (en) * | 2016-06-22 | 2018-12-13 | Yang Bai | Service-oriented modular system architecture |
CN110187902A (zh) * | 2019-04-15 | 2019-08-30 | 中国平安人寿保险股份有限公司 | 基于spring boot的项目改造方法、装置、设备及存储介质 |
US20190294477A1 (en) * | 2018-03-22 | 2019-09-26 | Amazon Technologies, Inc. | Adoption of existing virtual computing resources into logical containers for management operations |
CN110471651A (zh) * | 2019-07-31 | 2019-11-19 | 北京速通科技有限公司 | 一种基于c++实现控制反转的方法及服务端 |
CN110516917A (zh) * | 2019-08-02 | 2019-11-29 | 安徽易百互联科技有限公司 | 应用系统模块化集成的方法 |
CN111124613A (zh) * | 2019-12-20 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 虚拟化资源的服务化实现方法、装置、设备及存储介质 |
CN111142910A (zh) * | 2019-12-27 | 2020-05-12 | 郑州信大捷安信息技术股份有限公司 | 一种面向多界面的资源调配处理方法及系统 |
CN111414193A (zh) * | 2020-02-26 | 2020-07-14 | 平安银行股份有限公司 | 基于微服务框架的业务系统的实现方法及相关装置 |
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929643A (zh) * | 2012-11-09 | 2013-02-13 | 北京中电普华信息技术有限公司 | 一种开发j2ee应用的方法及系统 |
CN104967689A (zh) * | 2015-06-30 | 2015-10-07 | 北京奇虎科技有限公司 | 一种数据处理方法和装置 |
US20180359161A1 (en) * | 2016-06-22 | 2018-12-13 | Yang Bai | Service-oriented modular system architecture |
CN107547215A (zh) * | 2016-06-23 | 2018-01-05 | 中兴通讯股份有限公司 | 一种网络管理方法及子网管理器 |
CN107070751A (zh) * | 2017-04-17 | 2017-08-18 | 中国铁塔股份有限公司 | 一种监控系统 |
CN107479898A (zh) * | 2017-08-28 | 2017-12-15 | 荆门程远电子科技有限公司 | 一种基于移动平台的三维虚拟地球的系统架构 |
CN107577937A (zh) * | 2017-09-01 | 2018-01-12 | 深信服科技股份有限公司 | 一种应用程序保护方法及系统 |
US20190294477A1 (en) * | 2018-03-22 | 2019-09-26 | Amazon Technologies, Inc. | Adoption of existing virtual computing resources into logical containers for management operations |
CN110187902A (zh) * | 2019-04-15 | 2019-08-30 | 中国平安人寿保险股份有限公司 | 基于spring boot的项目改造方法、装置、设备及存储介质 |
CN110471651A (zh) * | 2019-07-31 | 2019-11-19 | 北京速通科技有限公司 | 一种基于c++实现控制反转的方法及服务端 |
CN110516917A (zh) * | 2019-08-02 | 2019-11-29 | 安徽易百互联科技有限公司 | 应用系统模块化集成的方法 |
CN111124613A (zh) * | 2019-12-20 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 虚拟化资源的服务化实现方法、装置、设备及存储介质 |
CN111142910A (zh) * | 2019-12-27 | 2020-05-12 | 郑州信大捷安信息技术股份有限公司 | 一种面向多界面的资源调配处理方法及系统 |
CN111414193A (zh) * | 2020-02-26 | 2020-07-14 | 平安银行股份有限公司 | 基于微服务框架的业务系统的实现方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
代伟: "《数据驱动赤铁矿磨矿过程运行优化控制》", 30 November 2017, 中国矿业大学出版社, pages: 118 - 119 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019233201B2 (en) | Resource configuration method and apparatus, terminal, and storage medium | |
CN110557357B (zh) | 一种远程过程调用协议自适应方法、相关装置及服务器 | |
CN106797400B (zh) | 用于使得能够经由服务层访问第三方服务的系统和方法 | |
US8112475B2 (en) | Managing data delivery based on device state | |
CN111611091A (zh) | 一种业务对象的服务调用方法、装置及介质 | |
CN109582684A (zh) | 一种本地缓存数据的更新方法、装置、服务器及存储介质 | |
WO2022104555A1 (zh) | 基于mqtt协议的通信方法及设备 | |
EP3720094A1 (en) | Information processing method, apparatus, device and system | |
CN110753129A (zh) | 消息传输方法、系统、装置、设备及计算机可读存储介质 | |
CN112632566A (zh) | 漏洞扫描方法和装置、存储介质及电子设备 | |
CN107291744A (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN113656164B (zh) | 任务执行方法、系统、电子设备及计算机存储介质 | |
CN113726579A (zh) | 一种电力物联网通信协议插件的实现方法及装置 | |
CN110647634B (zh) | 媒体资源的查找方法、装置、存储介质及电子装置 | |
CN113221522A (zh) | 报表生成方法、装置、系统、电子设备及存储介质 | |
CN106357654B (zh) | 远程过程调用方法、装置及通信系统 | |
CN115550354A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN112051988A (zh) | 模块处理方法、装置及服务器 | |
CN112051988B (zh) | 模块处理方法、装置及服务器 | |
CN109669793B (zh) | 中间件进程内对象调用方法 | |
CN115914319A (zh) | 一种虚拟现实设备的远程管理方法和系统 | |
CN113242313B (zh) | 数据同步方法、系统、装置、服务器及存储介质 | |
CN112631638B (zh) | 终端应用更新方法、装置、存储介质及电子设备 | |
CN114900387A (zh) | 设备的跨平台融合接入方法、系统、网关及存储介质 | |
CN111726417B (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 |