CN105700950B - 一种数据通信方法及装置 - Google Patents
一种数据通信方法及装置 Download PDFInfo
- Publication number
- CN105700950B CN105700950B CN201410689775.4A CN201410689775A CN105700950B CN 105700950 B CN105700950 B CN 105700950B CN 201410689775 A CN201410689775 A CN 201410689775A CN 105700950 B CN105700950 B CN 105700950B
- Authority
- CN
- China
- Prior art keywords
- target
- ability
- agency
- service
- capability
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供一种数据通信方法及服务器,其中的方法可包括:当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;调度所述目标能力代理从所述执行消息队列提取所述目标执行参数实现所述目标业务能力,并将实现结果返回至所述目标服务进程。本发明通过设置各个预设能力代理实现各种业务能力,可以减轻处理器的负载。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种数据通信方法及装置。
背景技术
在互联网技术中,前端需要实现的服务功能都是由后台服务程序进行控制,后台服务程序具有分散性和独立性,通常一个服务功能对应一个独立的服务进程,例如修改用户信息的服务功能和拉去用户列表的服务功能分别由两个独立的服务进程进行控制。通常一个服务进程需要实现多种业务能力才能对一个服务功能进行控制,例如,修改用户信息服务功能对应的服务进程,需要实现写日志的业务能力、远程更新的业务能力以及进行UDP协议数据包传送的业务能力等等。通常现有技术中,当一个服务进程需要实现某种业务能力时,都是由服务进程抢占接口资源运行实现,当部署的服务进程数量较大,每一个服务进程又需要实现多种业务能力,每一种业务能力又需要服务进程抢占接口资源运行实现,通常会导致处理器负载重。
发明内容
本发明实施例提供一种数据通信方法及装置,通过设置各个预设能力代理实现各种业务能力,可以减轻处理器的负载。
本发明第一方面提供一种数据通信方法,可包括:
当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;
调度所述目标能力代理从所述执行消息队列提取所述目标执行参数实现所述目标业务能力,并将实现结果返回至所述目标服务进程。
本发明第三方面提供一种数据通信装置,可包括:
获取模块,用于当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
选取模块,用于从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
挂载模块,用于将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;
调度返回模块,用于调度所述目标能力代理从所述执行消息队列提取所述目标执行参数实现所述目标业务能力,并将实现结果返回至所述目标服务进程。
实施本发明实施例,具有如下有益效果:
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据通信方法的流程图;
图2为本发明实施例提供的另一种数据通信方法的流程图;
图3为本发明实施例提供的又一种数据通信方法的流程图;
图4为本发明实施例提供的一种数据通信方法的能力模型图;
图5为本发明实施例提供的一种数据通信装置的结构示意图;
图6为本发明实施例提供的另一种数据通信装置的结构示意图;
图7为本发明实施例提供的一种调度返回模块的结构示意图;
图8为本发明实施例提供的一种调度单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的目标服务进程需要实现的业务能力可以有多种,实现每一种业务能力的实现方法都可以采用本发明实施例提供的数据通信方法进行实现。即是从至少一个预设能力代理中选取与需要实现的业务能力相对应的能力代理,例如需要实现的业务能力包括写日志和发送UDP协议数据包,则从至少一个预设能力代理中选取用于写日志的能力代理和用于发送UDP协议数据包的能力代理。一个能力代理对应实现一种业务能力,所有的服务进程需要实现该业务能力时只需要将执行参数挂载到相应的能力代理的执行消息队列即可,能力代理从执行消息队列提取执行参数实现相应的业务能力。
本发明实施例的数据通信方法适用于互联网后台运行的服务进程,通常一台性能比较好的机器,比如8个CPU,16G内存以及2块千兆的网卡,一般部署的服务进程数量比较多,每一个服务进程均需要实现多种业务能力,例如会写日志、发送UDP协议数据包以及远程更新等等,若每一个服务进程需要实现相应的业务能力时,均抢占接口资源运行实现,则会导致机器负载重,不同CPU之间软中断CPU切换频率快,无法合理整体调度机器的接口资源。针对此问题,本发明实施例提供一种数据通信方法,在机器上安装至少一个预设能力代理,每一个预设能力代理实现一种业务能力,所有的服务进程需要实现某种业务能力时,只需要将服务进程中实现该业务能力的执行参数挂载至相应的能力代理的执行消息队列即可,能力代理按照执行消息队列的顺序依次实现该能力代理所对应的业务能力,并将实现结果返回至服务进程。
下面将结合附图1-附图4,对本发明实施例提供的数据通信方法进行详细介绍。
请参见图1,为本发明实施例提供的一种数据通信方法的流程图;该方法可包括以下步骤S100-步骤S103。
S100,当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
具体实施例中,目标服务进程可以是互联网后台运行的任意一个服务进程。当运行目标服务进程时,目标服务进程需要实现的业务能力可以有多种,任意一种业务能力均可以称作目标业务能力,实现每一种业务能力均可以按照本发明的数据通信方法进行实现。需要说明的是,业务能力可以有多种,例如,发送UDP协议数据包、写日志以及进行配置更新等等。
S101,从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
具体实施例中,运行互联网后台服务进程的机器预先安装至少一个预设能力代理,一个预设能力代理利用预分配的接口资源实现一种业务能力,预分配的接口资源可以是服务接口,例如UDP端口,TCP端口,磁盘IO端口等等。至少一个预设能力代理的数量即是所有服务进程需要实现的业务能力种类。
当获取目标服务进程需要实现的目标业务能力后,即从至少一个预设能力代理中选取与目标业务能力相对应的目标能力代理,例如,若目标业务能力为写日志,则从至少一个预设能力代理中选取用于实现写日志的目标能力代理。
S102,将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;
具体实施例中,每一个预设能力代理均有一个执行消息队列,该执行消息队列包括至少一个服务进程中实现该预设能力代理对应的业务能力的执行参数。将目标服务进程中实现所述目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列。例如,若目标业务能力为写日志,目标能力代理为用于写日志的能力代理,将目标服务进程中实现写日志目标业务能力的目标执行参数挂载至用于写日志的能力代理的执行消息队列,目标执行参数可以是写日志的文件标识以及需要写日志的内容,该执行消息队列包括至少一个服务进程中实现写日志目标业务能力的执行参数,执行参数可以是各个服务进程需要写日志的文件标识以及写日志的内容。
S103,调度所述目标能力代理从所述执行消息队列提取所述目标执行参数实现所述目标业务能力,并将实现结果返回至所述目标服务进程。
具体实施例中,目标能力代理的执行消息队列包含各个服务进程实现目标业务能力的执行参数,因此目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。需要说明的是,实现结果的具体存在形式根据目标业务能力而定,例如,目标业务能力为写日志,则实现结果为是否写日志成功,目标业务能力为配置更新,则实现结果为更新后的配置项。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
请参见图2,为本发明实施例提供的另一种数据通信方法的流程图;目标执行参数包括所述目标服务进程中实现所述目标业务能力的目标参数配置和所述目标服务进程标识;该方法可包括以下步骤S200-步骤S204。
S200,当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
S201,从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
S202,将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;
本实施例的步骤S200-步骤S202可参见图1所示实施例的步骤S100-步骤S102,在此不赘述。
S203,调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置,并利用所述目标参数配置实现所述目标业务能力;
具体实施例中,目标执行参数包括目标服务进程中实现目标业务能力的目标参数配置和目标服务进程标识,实现目标业务能力的方式可以是调度目标能力代理从执行消息队列中提取目标执行参数中的目标参数配置,利用目标参数配置实现目标业务能力,例如目标参数配置可以是写日志的文件标识和写日志的内容,目标能力代理可以利用写日志的目标文件标识查找到写日志的目标文件,并在写日志的目标文件中写入写日志的内容,从而实现写日志的目标业务能力。
S204,根据所述目标执行参数中的所述目标服务进程标识将实现结果通过返回消息队列返回给所述目标服务进程。
具体实施例中,目标执行参数中还包括目标服务进程标识,目标服务进程标识用于标识执行消息队列中目标执行参数的所属目标服务进程,以便于将实现结果返回至对应的目标服务进程。可选的,将实现结果返回至目标服务进程的方式也可以是通过返回消息队列的形式返回。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
请参见图3,为本发明实施例提供的又一种数据通信方法的流程图;该方法可包括以下步骤S300-步骤S306。
S300,当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
S301,从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
S302,将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;
本实施例的步骤S300-步骤S302可参见图1所示实施例的步骤S100-步骤S102,在此不赘述。
S303,调度所述目标能力代理利用预分配的目标接口资源与对应的远程外部服务接口建立网络连接;
具体实施例中,所实现的目标业务能力可以是通过与远程外部服务接口之间进行数据通信从而实现的业务能力。远程外部服务接口是通过远程服务的形式安装在远程的机器上,是远程的服务进程对外提供的统一服务接口,可以通过网络协议进行请求传递,实现业务能力和做出应答。相应的,本端也为各个能力代理预分配了接口资源,本端的能力代理均通过预分配的接口资源与对应的远程外部服务接口之间建立网络连接,并与对应的远程外部服务接口进行访问请求,实现各种业务能力。
调度目标能力代理利用预分配的目标接口资源与对应的远程外部服务接口之间建立网络连接,目标接口资源与目标能力代理是对应的,例如,目标能力代理是用于发送UDP协议数据包的能力代理,则目标接口资源为UDP端口。
S304,调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置;
具体实施例中,调度目标能力代理从执行消息队列中提取目标执行参数中的目标参数配置,目标参数配置即是目标服务进程中需要实现目标业务能力的配置参数。
S305,基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述对应的远程外部服务接口进行数据通信,以实现所述目标业务能力。
具体实施例中,由于是通过远程的形式实现各种业务能力,因此基于与对应的远程外部服务接口之间的网络连接和目标参数配置,利用目标能力代理与对应的远程外部服务接口之间进行数据通信,从而实现目标业务能力。
具体的,目标能力代理的种类可以有多种,在此以三种可选的目标能力代理与对应的远程外部服务接口进行数据通信过程作为举例进行说明:
在第一种可选的实施方式中,所述目标能力代理包括用于实现写日志目标业务能力的能力代理,所述目标参数配置包括写日志的目标文件标识和写日志的内容,所述对应的远程外部服务接口为远程写日志端口;
基于与所述远程写日志端口之间的所述网络连接,利用所述目标能力代理通过所述远程写日志端口查找所述目标文件标识对应的目标文件;
利用所述目标能力代理在所述目标文件中写入所述写日志的内容。
具体实施例中,写日志的目标文件标识可以是写日志的目标文件命名,写日志的内容可以是需要写入目标文件的内容。目标能力代理本身已经打开了所有需要写日志的文件,因此目标能力代理通过远程写日志端口直接找到目标文件标识所标识的目标文件,将写日志的内容写入目标文件即可。
在第二种可选的实施方式中,所述目标能力代理包括用于实现发送UDP协议数据包目标业务能力的能力代理,所述目标参数配置包括需要发送的UDP协议数据包,所述对应的远程外部服务接口为远程UDP端口;
基于与所述远程UDP端口之间的所述网络连接,利用所述目标能力代理通过UDP协议,将所述需要发送的UDP协议数据包发送至所述远程UDP端口。
具体实施例中,当目标服务进程需要发送UDP协议数据包到某个远程UDP端口,则将需要发送的UDP协议数据包挂载至用于发送UDP协议数据包的目标能力代理的执行消息队列,基于与远程UDP端口之间的网络连接,利用目标能力代理保证不丢失的情况下把需要发送的UDP协议数据包通过UDP协议发送到远程UDP端口。
在第三种可选的实施方式中,所述目标能力代理包括用于实现配置更新目标业务能力的能力代理,所述目标参数配置包括需要进行更新的配置项,所述对应的远程外部服务接口为远程同步更新端口;
基于与所述远程同步更新端口之间的所述网络连接,利用所述目标能力代理从所述远程同步更新端口同步所述需要进行更新的配置项。
具体实施例中,当目标服务进程需要进行配置文件被更新时,则将需要进行更新的配置项挂载至用于实现配置更新的目标能力代理的执行消息队列,目标能力代理通过与远程同步更新端口之间的网络连接同步需要进行更新的配置项。
S306,根据所述目标执行参数中的所述目标服务进程标识将实现结果通过返回消息队列返回给所述目标服务进程。
本实施例的步骤S306可参见图2所示实施例的步骤S204,在此不赘述。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
请参见图4,为本发明实施例提供的一种数据通信方法的能力模型图,如图所示,该能力模型图中包括安装远程外部服务接口的网络服务器Web server、登录服务器Logserver,能力代理模型Capability Model中的业务Server组件中运行多个服务进程,各个服务进程需要实现的各种业务能力的执行参数均挂载至相应的能力代理的执行消息队列,一个能力代理均有一个执行消息队列,如图所示用于写日志的能力代理对应写日志队列,该能力代理与Log server的远程写日志端口之间进行数据通信,从而实现写日志的业务能力。如图所示,Capability Model中还包括负载均衡HA队列以及与该队列对应的能力代理,超时重发队列以及与该队列对应的能力代理。各个能力代理可以通过与远程外部服务接口之间的数据通信,从而实现各种业务能力。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
下面将结合附图5-附图8,对本发明实施例提供的数据通信装置进行详细介绍。
请参阅图5,为本发明实施例提供的一种数据通信装置的结构示意图;该数据通信装置可包括:获取模块100、选取模块101、挂载模块102以及调度返回模块103。
获取模块100,用于当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
具体实施例中,目标服务进程可以是互联网后台运行的任意一个服务进程。当运行目标服务进程时,目标服务进程需要实现的业务能力可以有多种,任意一种业务能力均可以称作目标业务能力,实现每一种业务能力均可以按照本发明的数据通信方法进行实现。需要说明的是,业务能力可以有多种,例如,发送UDP协议数据包、写日志以及进行配置更新等等。
选取模块101,用于从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
具体实施例中,运行互联网后台服务进程的机器预先安装至少一个预设能力代理,一个预设能力代理利用预分配的接口资源实现一种业务能力,预分配的接口资源可以是服务接口,例如UDP端口,TCP端口,磁盘IO端口等等。至少一个预设能力代理的数量即是所有服务进程需要实现的业务能力种类。
当获取目标服务进程需要实现的目标业务能力后,选取模块101即从至少一个预设能力代理中选取与目标业务能力相对应的目标能力代理,例如,若目标业务能力为写日志,则选取模块101从至少一个预设能力代理中选取用于实现写日志的目标能力代理。
挂载模块102,用于将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数;
具体实施例中,每一个预设能力代理均有一个执行消息队列,该执行消息队列包括至少一个服务进程中实现该预设能力代理对应的业务能力的执行参数。挂载模块102将目标服务进程中实现所述目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列。例如,若目标业务能力为写日志,目标能力代理为用于写日志的能力代理,将目标服务进程中实现写日志目标业务能力的目标执行参数挂载至用于写日志的能力代理的执行消息队列,目标执行参数可以是写日志的文件标识以及需要写日志的内容,该执行消息队列包括至少一个服务进程中实现写日志目标业务能力的执行参数,执行参数可以是各个服务进程需要写日志的文件标识以及写日志的内容。
调度返回模块103,用于调度所述目标能力代理从所述执行消息队列提取所述目标执行参数实现所述目标业务能力,并将实现结果返回至所述目标服务进程。
具体实施例中,目标能力代理的执行消息队列包含各个服务进程实现目标业务能力的执行参数,因此调度返回模块103调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。需要说明的是,实现结果的具体存在形式根据目标业务能力而定,例如,目标业务能力为写日志,则实现结果为是否写日志成功,目标业务能力为配置更新,则实现结果为更新后的配置项。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
请参阅图6,为本发明实施例提供的另一种数据通信装置的结构示意图,如图所示,该数据通信装置包括获取模块100、选取模块101、挂载模块102、调度返回模块103和调度连接模块104;其中,获取模块100、选取模块101、挂载模块102以及调度返回模块103请参照图5的描述,在此不再赘述。
调度连接模块104,用于调度所述目标能力代理利用预分配的目标接口资源与对应的远程外部服务接口建立网络连接;
具体实施例中,所实现的目标业务能力可以是通过与远程外部服务接口之间进行数据通信从而实现的业务能力。远程外部服务接口是通过远程服务的形式安装在远程的机器上,是远程的服务进程对外提供的统一服务接口,可以通过网络协议进行请求传递,实现业务能力和做出应答。相应的,本端也为各个能力代理预分配了接口资源,调度连接模块104调度本端的能力代理均通过预分配的接口资源与对应的远程外部服务接口之间建立网络连接,并与对应的远程外部服务接口进行访问请求,实现各种业务能力。
调度连接模块104调度目标能力代理利用预分配的目标接口资源与对应的远程外部服务接口之间建立网络连接,目标接口资源与目标能力代理是对应的,例如,目标能力代理是用于发送UDP协议数据包的能力代理,则目标接口资源为UDP端口。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
请参阅图7,为本发明实施例提供的一种调度返回模块的结构示意图,如图所示,调度返回模块103包括调度单元1030和返回单元1031。
调度单元1030,用于调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置,并利用所述目标参数配置实现所述目标业务能力;
具体实施例中,目标执行参数包括目标服务进程中实现目标业务能力的目标参数配置和目标服务进程标识,实现目标业务能力的方式可以是调度单元1030调度目标能力代理从执行消息队列中提取目标执行参数中的目标参数配置,利用目标参数配置实现目标业务能力,例如目标参数配置可以是写日志的文件标识和写日志的内容,目标能力代理可以利用写日志的目标文件标识查找到写日志的目标文件,并在写日志的目标文件中写入写日志的内容,从而实现写日志的目标业务能力。
返回单元1031,用于根据所述目标执行参数中的所述目标服务进程标识将实现结果通过返回消息队列返回给所述目标服务进程。
具体实施例中,目标执行参数中还包括目标服务进程标识,目标服务进程标识用于标识执行消息队列中目标执行参数的所属目标服务进程,以便于将实现结果返回至对应的目标服务进程。可选的,返回单元1031将实现结果返回至目标服务进程的方式也可以是通过返回消息队列的形式返回。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
请参阅图8,为本发明实施例提供的一种调度单元的结构示意图,如图所示,调度单元1030包括调度提取子单元10300和数据通信子单元10301;
所述调度提取子单元10300,用于调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置;
具体实施例中,调度提取子单元10300调度目标能力代理从执行消息队列中提取目标执行参数中的目标参数配置,目标参数配置即是目标服务进程中需要实现目标业务能力的配置参数。
数据通信子单元10301,用于基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述对应的远程外部服务接口进行数据通信,以实现所述目标业务能力。
具体实施例中,由于是通过远程的形式实现各种业务能力,因此基于与对应的远程外部服务接口之间的网络连接和目标参数配置,数据通信子单元10301利用目标能力代理与对应的远程外部服务接口之间进行数据通信,从而实现目标业务能力。
可选的,所述目标能力代理包括用于实现写日志目标业务能力的能力代理,所述目标参数配置包括写日志的目标文件标识和写日志的内容,所述对应的远程外部服务接口为远程写日志端口;
所述数据通信子单元具体用于基于与所述远程写日志端口之间的所述网络连接,利用所述目标能力代理通过所述远程写日志端口查找所述目标文件标识对应的目标文件;
所述数据通信子单元还用于利用所述目标能力代理在所述目标文件中写入所述写日志的内容。
具体实施例中,写日志的目标文件标识可以是写日志的目标文件命名,写日志的内容可以是需要写入目标文件的内容。目标能力代理本身已经打开了所有需要写日志的文件,因此数据通信子单元利用目标能力代理通过远程写日志端口直接找到目标文件标识所标识的目标文件,将写日志的内容写入目标文件即可。
可选的,所述目标能力代理包括用于实现发送UDP协议数据包目标业务能力的能力代理,所述目标参数配置包括需要发送的UDP协议数据包,所述对应的远程外部服务接口为远程UDP端口;
所述数据通信子单元具体用于基于与所述远程UDP端口之间的所述网络连接,利用所述目标能力代理通过UDP协议,将所述需要发送的UDP协议数据包发送至所述远程UDP端口。
具体实施例中,当目标服务进程需要发送UDP协议数据包到某个远程UDP端口,则将需要发送的UDP协议数据包挂载至用于发送UDP协议数据包的目标能力代理的执行消息队列,基于与远程UDP端口之间的网络连接,数据通信子单元利用目标能力代理保证不丢失的情况下把需要发送的UDP协议数据包通过UDP协议发送到远程UDP端口。
可选的,所述目标能力代理包括用于实现配置更新目标业务能力的能力代理,所述目标参数配置包括需要进行更新的配置项,所述对应的远程外部服务接口为远程同步更新端口;
所述数据通信子单元具体用于基于与所述远程同步更新端口之间的所述网络连接,利用所述目标能力代理从所述远程同步更新端口同步所述需要进行更新的配置项。
具体实施例中,当目标服务进程需要进行配置文件被更新时,则将需要进行更新的配置项挂载至用于实现配置更新的目标能力代理的执行消息队列,数据通信子单元利用目标能力代理通过与远程同步更新端口之间的网络连接同步需要进行更新的配置项。
本发明实施例,将需要实现的各种业务能力分配至各个预设能力代理进行实现,一个预设能力代理对应一种业务能力,当运行目标服务进程时,获取目标服务进程需要实现的目标业务能力,然后将目标服务进程中实现该目标业务能力的目标执行参数挂载至目标能力代理的执行消息队列,该执行消息队列包括至少一服务进程中实现该目标业务能力的执行参数,再调度目标能力代理从执行消息队列提取目标执行参数实现目标业务能力,并将实现结果返回至目标服务进程。本发明中通过设置各个预设能力代理实现各种业务能力,在各个服务进程需要实现目标业务能力时,不需要各个服务进程单独运行实现,而是交由专门设置的实现该目标业务能力的目标能力代理实现,因此可以减轻处理器的负载。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,附图5-附图8所示数据通信装置的模块或单元对应的程序可存储在终端设备或服务器的可读存储介质内,并被该终端设备或服务器中的至少一个处理器执行,以实现上述数据通信方法,该方法包括图1至图4中各方法实施例所述的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种数据通信方法,其特征在于,包括:
当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数,所述目标执行参数包括所述目标服务进程中实现所述目标业务能力的目标参数配置和所述目标服务进程标识;
调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置,并利用所述目标参数配置实现所述目标业务能力;
根据所述目标执行参数中的所述目标服务进程标识将实现结果通过返回消息队列返回给所述目标服务进程。
2.如权利要求1所述的方法,其特征在于,所述一个所述预设能力代理对应一种业务能力包括:一个所述预设能力代理采用预分配的接口资源实现一种业务能力。
3.如权利要求1所述的方法,其特征在于,所述调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置,并利用所述目标参数配置实现所述目标业务能力之前,还包括:
调度所述目标能力代理利用预分配的目标接口资源与对应的远程外部服务接口建立网络连接;
所述调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置,并利用所述目标参数配置实现所述目标业务能力,包括:
调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置;
基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述对应的远程外部服务接口进行数据通信,以实现所述目标业务能力。
4.如权利要求3所述的方法,其特征在于,所述目标能力代理包括用于实现写日志目标业务能力的能力代理,所述目标参数配置包括写日志的目标文件标识和写日志的内容,所述对应的远程外部服务接口为远程写日志端口;
所述基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述对应的远程外部服务接口进行数据通信,以实现所述目标业务能力,包括:
基于与所述远程写日志端口之间的所述网络连接,利用所述目标能力代理通过所述远程写日志端口查找所述目标文件标识对应的目标文件;
利用所述目标能力代理在所述目标文件中写入所述写日志的内容。
5.如权利要求3所述的方法,其特征在于,所述目标能力代理包括用于实现发送UDP协议数据包目标业务能力的能力代理,所述目标参数配置包括需要发送的UDP协议数据包,所述对应的远程外部服务接口为远程UDP端口;
所述基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述对应的远程外部服务接口进行数据通信,以实现所述目标业务能力,包括:
基于与所述远程UDP端口之间的所述网络连接,利用所述目标能力代理通过UDP协议,将所述需要发送的UDP协议数据包发送至所述远程UDP端口。
6.如权利要求3所述的方法,其特征在于,所述目标能力代理包括用于实现配置更新目标业务能力的能力代理,所述目标参数配置包括需要进行更新的配置项,所述对应的远程外部服务接口为远程同步更新端口;
所述基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述远程外部服务接口进行数据通信,以实现所述目标业务能力,包括:
基于与所述远程同步更新端口之间的所述网络连接,利用所述目标能力代理从所述远程同步更新端口同步所述需要进行更新的配置项。
7.一种数据通信装置,其特征在于,包括:获取模块、选取模块、挂载模块以及调度返回模块,所述调度返回模块包括调度单元和返回单元;
获取模块,用于当运行目标服务进程时,获取所述目标服务进程需要实现的目标业务能力;
选取模块,用于从至少一个预设能力代理中选取与所述目标业务能力相对应的目标能力代理,一个所述预设能力代理对应一种业务能力;
挂载模块,用于将所述目标服务进程中实现所述目标业务能力的目标执行参数挂载至所述目标能力代理的执行消息队列,所述执行消息队列包括至少一个服务进程中实现所述目标业务能力的执行参数,所述目标执行参数包括所述目标服务进程中实现所述目标业务能力的目标参数配置和所述目标服务进程标识;
调度单元,用于调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置,并利用所述目标参数配置实现所述目标业务能力;
返回单元,用于根据所述目标执行参数中的所述目标服务进程标识将实现结果通过返回消息队列返回给所述目标服务进程。
8.如权利要求7所述的装置,其特征在于,所述一个所述预设能力代理对应一种业务能力包括:一个所述预设能力代理采用预分配的接口资源实现一种业务能力。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
调度连接模块,用于调度所述目标能力代理利用预分配的目标接口资源与对应的远程外部服务接口建立网络连接;
所述调度单元包括调度提取子单元和数据通信子单元;
所述调度提取子单元,用于调度所述目标能力代理从所述执行消息队列中提取所述目标执行参数中的所述目标参数配置;
数据通信子单元,用于基于所述网络连接和所述目标参数配置,利用所述目标能力代理与所述对应的远程外部服务接口进行数据通信,以实现所述目标业务能力。
10.如权利要求9所述的装置,其特征在于,所述目标能力代理包括用于实现写日志目标业务能力的能力代理,所述目标参数配置包括写日志的目标文件标识和写日志的内容,所述对应的远程外部服务接口为远程写日志端口;
所述数据通信子单元具体用于基于与所述远程写日志端口之间的所述网络连接,利用所述目标能力代理通过所述远程写日志端口查找所述目标文件标识对应的目标文件;
所述数据通信子单元还用于利用所述目标能力代理在所述目标文件中写入所述写日志的内容。
11.如权利要求9所述的装置,其特征在于,所述目标能力代理包括用于实现发送UDP协议数据包目标业务能力的能力代理,所述目标参数配置包括需要发送的UDP协议数据包,所述对应的远程外部服务接口为远程UDP端口;
所述数据通信子单元具体用于基于与所述远程UDP端口之间的所述网络连接,利用所述目标能力代理通过UDP协议,将所述需要发送的UDP协议数据包发送至所述远程UDP端口。
12.如权利要求9所述的装置,其特征在于,所述目标能力代理包括用于实现配置更新目标业务能力的能力代理,所述目标参数配置包括需要进行更新的配置项,所述对应的远程外部服务接口为远程同步更新端口;
所述数据通信子单元具体用于基于与所述远程同步更新端口之间的所述网络连接,利用所述目标能力代理从所述远程同步更新端口同步所述需要进行更新的配置项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410689775.4A CN105700950B (zh) | 2014-11-25 | 2014-11-25 | 一种数据通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410689775.4A CN105700950B (zh) | 2014-11-25 | 2014-11-25 | 一种数据通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105700950A CN105700950A (zh) | 2016-06-22 |
CN105700950B true CN105700950B (zh) | 2019-11-22 |
Family
ID=56941935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410689775.4A Active CN105700950B (zh) | 2014-11-25 | 2014-11-25 | 一种数据通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105700950B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656760B (zh) * | 2016-12-28 | 2018-02-06 | 广州赛意信息科技股份有限公司 | 一种基于消息队列的消息传递方法及系统 |
CN112866403B (zh) * | 2021-02-02 | 2022-07-29 | 世邦通信股份有限公司 | 一种通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545788A (zh) * | 2001-08-21 | 2004-11-10 | ����ɭ�绰�ɷ�����˾ | 用于服务等级协议检查的具有代理业务能力服务器的安全网关 |
CN1614965A (zh) * | 2004-11-26 | 2005-05-11 | 北京邮电大学 | 统一业务终端系统为业务调度能力服务器的方法 |
CN101097527A (zh) * | 2006-06-27 | 2008-01-02 | 中国银联股份有限公司 | 一种应用进程的流程调度方法及系统 |
CN103197955A (zh) * | 2011-12-16 | 2013-07-10 | 辉达公司 | 处理系统中动态生成的任务的信令、排序和执行 |
-
2014
- 2014-11-25 CN CN201410689775.4A patent/CN105700950B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545788A (zh) * | 2001-08-21 | 2004-11-10 | ����ɭ�绰�ɷ�����˾ | 用于服务等级协议检查的具有代理业务能力服务器的安全网关 |
CN1614965A (zh) * | 2004-11-26 | 2005-05-11 | 北京邮电大学 | 统一业务终端系统为业务调度能力服务器的方法 |
CN101097527A (zh) * | 2006-06-27 | 2008-01-02 | 中国银联股份有限公司 | 一种应用进程的流程调度方法及系统 |
CN103197955A (zh) * | 2011-12-16 | 2013-07-10 | 辉达公司 | 处理系统中动态生成的任务的信令、排序和执行 |
Also Published As
Publication number | Publication date |
---|---|
CN105700950A (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107172187B (zh) | 一种负载均衡系统和方法 | |
CN106301829B (zh) | 一种网络业务扩容的方法和装置 | |
CN109391649A (zh) | 页面加载的方法、装置和系统 | |
CN105162883B (zh) | 网络负载均衡处理系统及其方法和装置 | |
RU2009130915A (ru) | Способ и система для создания ит-ориентированных серверных сетевых приложений | |
CN104346198B (zh) | 信息处理装置、服务器装置、信息处理方法和存储设备 | |
CN110178342A (zh) | Sdn网络的可扩缩应用级别监视 | |
Kalita | Socket programming | |
CN104010039A (zh) | 一种基于WebSocket的多雷达远程监控系统及方法 | |
CN102195803B (zh) | 数据通信方法和数据通信系统 | |
CN109639782A (zh) | 消息发送平台、方法 | |
CN106445705A (zh) | 基于RabbitMQ和Socket.io的平台级联方法和系统 | |
US20130290453A1 (en) | System and method for a connector being able to adapt to newer features introduced to a messaging provider with only configuration changes | |
CN105580334A (zh) | 一种数据传输方法、终端和服务器 | |
US9871848B1 (en) | Integration engine for communications between source and target applications | |
CN103248670A (zh) | 计算机网络环境下的连接管理 | |
CN112698838B (zh) | 多云容器部署系统及其容器部署方法 | |
CN109582458A (zh) | 资源信息加载方法、装置、存储介质及处理器 | |
CN109547524A (zh) | 基于物理网的用户行为存储方法、装置、设备及存储介质 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN110287266A (zh) | 一种分布式系统及数据处理方法 | |
CN105700950B (zh) | 一种数据通信方法及装置 | |
CN103425486A (zh) | 使用同步服务器端脚本的远程卡内容管理的方法和系统 | |
CN103368872A (zh) | 数据包转发系统和方法 | |
CN107508787A (zh) | 一种任务执行方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |