一种信息通信方法、装置及系统的制作方法

文档序号:10597266阅读:371来源:国知局
一种信息通信方法、装置及系统的制作方法
【专利摘要】本发明提供了一种信息通信方法、装置及系统,该方法包括:核心端利用其与web前端进行信息通信的请求队列通道,获取web前端发来的服务请求方的访问请求,且该访问请求中包括业务信息和服务提供方的唯一服务标识;从数据库中获取唯一服务标识对应的服务访问地址;利用其与适配器端进行信息通信的请求队列通道,将服务访问地址和业务信息发送给适配器端。由于适配器端可以将核心端发来的业务信息转发至服务访问地址对应的服务提供方,故服务提供方可以对该业务信息进行处理,从而完成服务请求方和服务提供方的信息通信,这一实现过程无需人为操作,可以自动完成。因此,本方案能够自动进行服务间的信息通信。
【专利说明】
_种信息通信方法、装置及系统
技术领域
[0001]本发明涉及计算机技术领域,特别涉及一种信息通信方法、装置及系统。【背景技术】
[0002]随着软件技术的迅速发展,各种软件产品应运而生。为满足业务需要,各公司或单位通常会采购多种软件产品,以同时应用多种服务。当各服务之间需要交互信息时,需要进行不同服务间的相互调用。
[0003]目前,一般由工作人员通过线下人为操作以调用其他服务,从而实现不同服务间的信息通信。
[0004]可以看出,由于需要通过人为操作进行信息通信,故现有的实现方式不能自动进行服务间的信息通信。
【发明内容】

[0005]本发明提供了一种信息通信方法、装置及系统,能够自动进行服务间的信息通信。
[0006]为了达到上述目的,本发明是通过如下技术方案实现的:
[0007]第一方面,本发明提供了一种信息通信方法,应用于核心端,预先确定与外部web 前端进行信息通信的第一请求队列通道,以及与外部适配器端进行信息通信的第二请求队列通道,还包括:
[0008]S1:利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求,且所述访问请求中包括业务信息和外部服务提供方的唯一服务标识;
[0009]S2:从外部数据库中获取所述唯一服务标识对应的服务访问地址;
[0010]S3:利用所述第二请求队列通道,将所述服务访问地址和所述业务信息发送给所述适配器端。
[0011]进一步地,所述访问请求中还包括:所述服务请求方的服务商识别码;
[0012]在S3之前还包括:从所述数据库中确定所述唯一服务标识对应的访问权限,且所述访问权限中包括至少一种服务商识别码;判断所述服务请求方的服务商识别码是否在所述访问权限中,若是,执行S3。
[0013]进一步地,在S3之前还包括:预先确定与所述web前端进行信息通信的第一响应队列通道,以及与所述适配器端进行信息通信的第二响应队列通道;从所述数据库中获取所述唯一服务标识对应的超时阈值;[〇〇14]在S1中,利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求时,还包括:记录当前的请求获取时间;
[0015]在S3之后还包括:基于所述请求获取时间,判断在达到所述超时阈值时,是否获取到所述适配器端利用所述第二响应队列通道发来的所述服务提供方的返回信息,若否,生成所述访问请求对应的请求失败响应报文,并利用所述第一响应队列通道将所述请求失败响应报文发送给所述web前端。
[0016]进一步地,在S3之前还包括:利用计数器记录所述服务访问地址的获取次数,在获取所述服务访问地址时,所述获取次数自加1,在接收到所述服务访问地址对应的返回信息时,所述获取次数自减1;从所述数据库中获取所述唯一服务标识对应的最大并发数;判断所述服务访问地址的获取次数是否小于所述最大并发数,若是,执行S3。
[0017]进一步地,在S1之后还包括:通过解析所述访问请求,确定所述访问请求对应的通信协议;以及利用所述第二请求队列通道将所述通信协议发送给所述适配器端,其中,
[0018]所述通信协议包括:Web Service、MQ(Message Queue)和FTP(File Transfer Protocol,文件传输协议)中的任意一种。[〇〇19]第二方面,本发明提供了一种核心端,包括:
[0020]确定单元,用于确定与外部web前端进行信息通信的第一请求队列通道,以及与外部适配器端进行信息通信的第二请求队列通道;
[0021]第一获取单元,用于利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求,且所述访问请求中包括业务信息和外部服务提供方的唯一服务标识;
[0022]第二获取单元,用于从外部数据库中获取所述唯一服务标识对应的服务访问地址;
[0023]发送单元,用于利用所述第二请求队列通道,将所述服务访问地址和所述业务信息发送给所述适配器端。[〇〇24] 进一步地,该核心端还包括:第一处理单元;
[0025]所述访问请求中还包括:所述服务请求方的服务商识别码;
[0026]所述第一处理单元,用于从所述数据库中确定所述唯一服务标识对应的访问权限,且所述访问权限中包括至少一种服务商识别码;判断所述服务请求方的服务商识别码是否在所述访问权限中,若是,触发所述发送单元。[〇〇27] 进一步地,该核心端还包括:第二处理单元;[〇〇28] 所述确定单元,还用于确定与所述web前端进行信息通信的第一响应队列通道,以及与所述适配器端进行信息通信的第二响应队列通道;
[0029]所述第一获取单元,还用于在利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求时,记录当前的请求获取时间;
[0030]所述第二获取单元,还用于从所述数据库中获取所述唯一服务标识对应的超时阈值;
[0031]所述第二处理单元,用于基于所述请求获取时间,判断在达到所述超时阈值时,是否获取到所述适配器端利用所述第二响应队列通道发来的所述服务提供方的返回信息,若否,生成所述访问请求对应的请求失败响应报文,并利用所述第一响应队列通道将所述请求失败响应报文发送给所述web前端。[0〇32] 进一步地,该核心端还包括:计数单元和第三处理单元;
[0033]所述第二获取单元,还用于从所述数据库中获取所述唯一服务标识对应的最大并发数;
[0034]所述计数单元,用于利用计数器记录所述服务访问地址的获取次数,在获取所述服务访问地址时,所述获取次数自加1,在接收到所述服务访问地址对应的返回信息时,所述获取次数自减1;
[0035]所述第三处理单元,用于判断所述服务访问地址的获取次数是否小于所述最大并发数,若是,触发所述发送单元。[0〇36]进一步地,所述第一处理单元,还用于通过解析所述访问请求,确定所述访问请求对应的通信协议,其中,
[0037]所述通信协议包括:Web Service、MQ和FTP中的任意一种;
[0038]所述发送单元,还用于利用所述第二请求队列通道,将所述通信协议发送给所述适配器端。[〇〇39]第三方面,本发明提供了一种信息通信系统,包括:
[0040]上述任一所述的核心端,以及数据库、web前端、适配器端、用于所述核心端和所述 web前端进行信息通信的第一请求队列通道、用于所述核心端和所述适配器端进行信息通信的第二请求队列通道、至少一个服务请求方和至少一个服务提供方;
[0041]所述web前端,用于接收所述服务请求方发送的包括唯一服务标识和业务信息的访问请求;以及利用所述第一请求队列通道,将所述访问请求发送给所述核心端;
[0042]所述数据库,用于存储每一个所述服务提供方的唯一服务标识和服务访问地址;
[0043]所述适配器端,用于利用所述第二请求队列通道,获取所述核心端发来的服务访问地址和业务信息;以及将所述业务信息发送给所述服务访问地址对应的服务提供方。
[0044]进一步地,所述web前端包括:至少一种服务访问接口,其中,
[0045]所述至少一种服务访问接口包括:Web Service通信协议服务访问接口、MQ通信协议服务访问接口、FPT通信协议服务访问接口中的任意一种或多种;
[0046]所述web前端,具体用于利用任一所述服务访问接口,接收所述服务请求方发送的访问请求,且所述访问请求中包括的业务信息为XML(ExtensibleMarkup Language,可扩展标记语言)格式的业务报文字符串;通过添加预先确定好的报头,和/或,报尾对所述业务报文字符串进行封装;将包括封装后的业务报文字符串的所述访问请求添加至所述第一请求队列通道中;
[0047]所述适配器端,还用于利用所述第二请求队列通道,获取所述核心端发来的所述访问请求对应的通信协议;具体用于利用预先确定好的该通信协议对应的处理流程,将所述封装后的业务报文字符串发送给所述服务访问地址对应的服务提供方。[0〇48] 进一步地,所述web前端包括:服务注册接口;
[0049]所述web前端,还用于利用所述服务注册接口,接收所述服务提供方发来的服务注册信息;以及将所述服务注册信息保存至所述数据库中,其中,
[0050]所述服务注册信息包括:所述服务提供方的唯一服务标识和服务访问地址,[0051 ]或,
[0052]唯一服务标识和服务访问地址,和,服务名称、服务描述、服务商名称、服务商识别码、包括至少一种服务商识别码的访问权限、超时阈值、最大并发数、支持的通信协议中的任意一种或多种。[〇〇53]进一步地,所述web前端、所述核心端和所述适配器端的逻辑部署构架的部署模式包括:集中部署模式、分布部署模式和混合部署模式中的任意一种,其中,[〇〇54]所述集中部署模式用于将所述web前端、所述核心端和所述适配器端部署在同一服务器中;所述分布部署模式用于将所述web前端、所述核心端和所述适配器端分别部署在不同服务器中;所述混合部署模式用于将所述web前端,与,所述核心端和所述适配器端部署在不同服务器中;
[0055]所述逻辑部署构架,与,所述至少一个服务请求方和所述至少一个服务提供方的部署结构包括:B/S(Br〇WSer/Server,浏览器/服务器)结构。[〇〇56]本发明提供了一种信息通信方法、装置及系统,核心端利用其与web前端进行信息通信的请求队列通道,获取web前端发来的服务请求方的访问请求,且该访问请求中包括业务信息和服务提供方的唯一服务标识;从数据库中获取唯一服务标识对应的服务访问地址;利用其与适配器端进行信息通信的请求队列通道,将服务访问地址和业务信息发送给适配器端。由于适配器端可以将核心端发来的业务信息转发至服务访问地址对应的服务提供方,故服务提供方可以对该业务信息进行处理,从而完成服务请求方和服务提供方的信息通信,这一实现过程无需人为操作,可以自动完成。因此,本发明能够自动进行服务间的信息通信。【附图说明】
[0057]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[〇〇58]图1是本发明一实施例提供的一种信息通信方法的流程图;
[0059]图2是本发明一实施例提供的另一种信息通信方法的流程图;
[0060]图3是本发明一实施例提供的一种核心端的示意图;[0061 ]图4是本发明一实施例提供的另一种核心端的示意图;
[0062]图5是本发明一实施例提供的一种信息通信系统的示意图。【具体实施方式】[〇〇63]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0064]如图1所示,本发明实施例提供了一种信息通信方法,应用于核心端,可以包括以下步骤:[〇〇65]步骤101:预先确定与外部web前端进行信息通信的第一请求队列通道,以及与外部适配器端进行信息通信的第二请求队列通道。[〇〇66]步骤102:利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求,且所述访问请求中包括业务信息和外部服务提供方的唯一服务标识。
[0067]步骤103:从外部数据库中获取所述唯一服务标识对应的服务访问地址。
[0068]步骤104:利用所述第二请求队列通道,将所述服务访问地址和所述业务信息发送给所述适配器端。
[0069]本发明实施例提供了一种信息通信方法,核心端利用其与web前端进行信息通信的请求队列通道,获取web前端发来的服务请求方的访问请求,且该访问请求中包括业务信息和服务提供方的唯一服务标识;从数据库中获取唯一服务标识对应的服务访问地址;利用其与适配器端进行信息通信的请求队列通道,将服务访问地址和业务信息发送给适配器端。由于适配器端可以将核心端发来的业务信息转发至服务访问地址对应的服务提供方, 故服务提供方可以对该业务信息进行处理,从而完成服务请求方和服务提供方的信息通信,这一实现过程无需人为操作,可以自动完成。因此,本发明实施例能够自动进行服务间的信息通信。
[0070]在本发明的一个实施例中,为了限制非授权服务请求方对相应服务提供方的非法调用,可以设置每一个服务提供方的访问权限,所以,
[0071]所述访问请求中还包括:所述服务请求方的服务商识别码;
[0072]在步骤104之前进一步包括:从所述数据库中确定所述唯一服务标识对应的访问权限,且所述访问权限中包括至少一种服务商识别码;判断所述服务请求方的服务商识别码是否在所述访问权限中,若是,执行步骤104。
[0073]例如,服务请求方A的服务商识别码为001,而服务提供方B的唯一服务标识对应的访问权限中,包括的服务商识别码为003和005。可以看出,001不包括在该访问权限中,说明服务请求方A无权调用服务提供方B。这一实现方式可以避免服务提供方被非法调用。
[0074]在本发明的一个实施例中,为了保证系统运行的高可靠性、高稳定性,可以提供服务粒度的超时控制,所以,
[0075]在步骤104之前进一步包括:预先确定与所述web前端进行信息通信的第一响应队列通道,以及与所述适配器端进行信息通信的第二响应队列通道;从所述数据库中获取所述唯一服务标识对应的超时阈值;[〇〇76]在步骤102中,利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求时,进一步包括:记录当前的请求获取时间;
[0077]在步骤104之后进一步包括:基于所述请求获取时间,判断在达到所述超时阈值时,是否获取到所述适配器端利用所述第二响应队列通道发来的所述服务提供方的返回信息,若否,生成所述访问请求对应的请求失败响应报文,并利用所述第一响应队列通道将所述请求失败响应报文发送给所述web前端。
[0078]因此,基于确定的超时阈值和请求获取时间,若核心端在达到超时阈值时始终未收到服务提供方的返回信息,则说明可能存在系统异常、服务提供方无响应、适配器端工作异常等问题,从而导致服务请求方的访问请求处理失败,故可以对该服务请求方进行通知, 以便于工作人员及时发现问题并解决问题。
[0079]在本发明的一个实施例中,为了保证系统运行的高可靠性,可以提供服务粒度的流量控制,所以,
[0080]在步骤104之前进一步包括:利用计数器记录所述服务访问地址的获取次数,在获取所述服务访问地址时,所述获取次数自加1,在接收到所述服务访问地址对应的返回信息时,所述获取次数自减1;从所述数据库中获取所述唯一服务标识对应的最大并发数;判断所述服务访问地址的获取次数是否小于所述最大并发数,若是,执行步骤104。
[0081]由于任一服务提供方被同时过多调用时,可能会造成系统瘫痪、服务提供方处理访问请求不及时等情况,故需对服务调用的最大并发数进行控制,以保证服务调用流程的正常运行。
[0082]在本发明的一个实施例中,为了能够针对不同通信协议的访问请求,匹配相同通信协议的处理流程以处理服务请求方的访问请求,所以,[0〇83] 在步骤102之后进一步包括:通过解析所述访问请求,确定所述访问请求对应的通信协议;以及利用所述第二请求队列通道将所述通信协议发送给所述适配器端,其中, [〇〇84] 所述通信协议包括:Web Service、MQ和FTP中的任意一种。[〇〇85]基于任一通信协议的访问请求,适配器端需要匹配相同通信协议的处理流程以支持服务调用。故核心端可以通过解析访问请求,以确定其对应的通信协议,并将确定出的通信协议发送给适配器端,以保证服务调用的正常进行。
[0086]如图2所示,本发明一个实施例提供了另一种信息通信方法,该方法以实际应用的服务间信息通信为例,具体包括以下步骤:[〇〇87] 步骤201:创建消息队列通道。
[0088]详细地,在本发明实施例中,可以利用消息队列工具创建消息队列通道,且创建的消息队列通道可以包括下述6种:
[0089] (a)第一请求队列通道:Queue_FrontToMule_Request,用于将信息由web前端传递至核心端;[〇〇9〇] (b)第一响应队列通道:Queue_FrontToMule_Response,用于将信息由核心端返回至web前端;[〇〇91 ] (c)第一死信通道:Queue_FrontToMule_Death,用于存放web前端和核心端间的信息传递过程中的死链和垃圾信息;
[0092] (d)第二请求队列通道:Queue_MuleToAdapter_Request,用于将信息由核心端传递至适配器端;
[0093] (e)第二响应队列通道:Queue_MuleToAdapter_Response,用于将信息由适配器端返回至核心端;
[0094] (f)第二死信通道:Queue_MuleToAdapter_Death,用于存放核心端和适配器端间的信息传递过程中的死链和垃圾信息。[〇〇95]在本发明一个实施例中,若无需服务提供方返回信息,以及无需处理死链和垃圾信息,所创建的消息队列通道也可以仅包括第一请求队列通道和第二请求队列通道,同样可以完成服务请求方对服务提供方的调用。
[0096]在本发明一个实施例中,针对不同的实际需求,如考虑灵活性、部署便捷性、运维情况等,web前端、核心端和适配器端的逻辑部署构架,可以为集中部署模式、分布部署模式和混合部署模式中的任意一种。[〇〇97] 详细地,集中部署模式可以用于将web前端、核心端和适配器端部署在同一服务器中。这一部署模式至少可以具有部署简单、运维方便、整体横向扩展无需了解内部系统及接入系统之间的关系等优点。[〇〇98] 详细地,分布部署模式可以用于将web前端、核心端和适配器端分别部署在不同服务器中。这一部署模式至少可以具有整体系统稳定性高、系统故障隔离、独立的后台适配器更新方便等优点。
[0099]详细地,混合部署模式可以用于将web前端,与,核心端和适配器端部署在不同服务器中。这一部署模式可以综合上述两种部署模式的优点。
[0100]在本发明一个实施例中,针对上述任一逻辑部署构架,该逻辑部署构架与服务请求方和服务提供方的部署结构可以为B/S结构。明显地,服务请求方和服务提供方的个数通常不止一个,且同一服务在不同系统中可以为服务提供方和服务请求方中的任意一种。 [〇1〇1] 在本发明一个实施例中,web前端可以为以Java为基础的B/S结构的Web Service 接口;核心端可以为以Mule为技术支持的消息解析模块;适配器端可以为以Mule为技术支持的消息发送模块;各消息队列通道可以为以MQ为支持的进行消息传递的通道。[〇1〇2]步骤202:web前端利用服务注册接口,接收服务提供方发来的服务注册信息,并将接收到的服务注册信息保存至数据库中。
[0103]详细地,web前端可以包括一个对外统一的服务注册接口,每一个服务提供方均可以通过该服务注册接口,预先进行服务注册。例如,服务提供方可以通过服务注册接口,将自身对应的服务注册信息发送给web前端,且web前端可以将全部的服务注册信息保存至数据库中,以便于核心端可以对任一服务注册信息进行查询或调用。
[0104]为了实现服务请求方对服务提供方的调用,服务注册信息至少可以包括服务提供方的唯一服务标识和服务访问地址。其中,该唯一服务标识可以为具有唯一性的服务编码。
[0105]在本发明一个实施例中,为了满足服务调用过程中的各种实用情况,如避免服务的非法调用、服务调用无响应或响应时间过长、系统繁忙等,该服务注册信息还可以包括: 服务提供方的服务名称、服务描述、服务商名称、服务商识别码、包括至少一种服务商识别码的访问权限、超时阈值、最大并发数、支持的通信协议中的任意一种或多种。
[0106]其中,针对任一服务提供方,通过设置的访问权限中的全部服务商识别码,可以有效避免其他服务商识别码对应的服务请求方调用该服务提供方。此外,为了便于授权的服务请求方进行服务调用,服务提供方通常可以支持多种通信协议,故服务请求方可以通过任一通信协议对应的处理流程以成功调用服务。
[0107]步骤203:数据库对web前端接收到的全部服务注册信息进行存储。[〇1〇8]步骤204:web前端利用服务访问接口,接收服务请求方发来的访问请求。
[0109]详细地,web前端可以包括至少一种对外统一的服务访问接口,每一个服务请求方均可以通过任一服务访问接口,发送访问请求以调用服务。
[0110]在本发明一个实施例中,由于可以基于多种通信协议以成功调用服务,故web前端包括的服务访问接口至少可以包括:Web Service通信协议服务访问接口、MQ通信协议服务访问接口、FPT通信协议服务访问接口中的任意一种或多种。其中,从任一通信协议服务访问接口输入的访问请求,在后续操作过程中,需要利用该通信协议对应的处理流程以调用服务。
[0111]详细地,Web Service技术的传输层协议可以为HTTP、HTTPS,版本可以为S0AP1.1、 S0AP1.2,请求响应方式可以支持同步和异步调用,该技术可扩展性强,与业务系统运行平台和开发语言无关,可以提供多种安全策略。MQ技术可以提供接收消息、分发消息的功能, 请求响应方式可以支持异步调用,且适用于异步、大并发的实际应用场景。
[0112]在本实施例中,请求响应方式可以为异步调用。
[0113]在本发明一个实施例中,服务请求方发来的访问请求可以包括:业务信息、服务请求方的服务商识别码、需调用的服务提供方的唯一服务标识。
[0114]在本实施例中,为便于系统识别,业务信息可以为XML格式的业务报文字符串。
[0115]在本发明一个实施例中,XML格式的业务报文字符串的实现代码可以如下所示:
[0116]<?xml vers1n = "l.0"encoding = "UTF-8"?>
[0117]〈service xmlns = 〃http://www?gzds?gov?cn/spec/〃xmlns:xsi = 〃http:// www.w3.0rg/2001/XMLSchema-1nstance”>
[0118]〈head〉
[0119] <tran_id>C00.SB.SPHM.ZGCZ.Get</tran_id>
[0120]<channel_id>C000AHXQZ</channel_id>
[0121] <tran_seq>eea4ff11269045068f421dd</tran_seq>
[0122]<tran_date>20160523</tran_date>
[0123]<tran_time>083231475</tran_time>
[0124]〈/head〉
[0125] <body><![CDATA[Hello World]]></body>
[0126] </service)
[0127]上述XML格式的业务报文字符串中,可以利用[CDATA[]]填写服务请求方需要传递给服务提供方的实际消息内容,而其他的标签为系统内部存储流程需要的参数。
[0128] web前端在接收到访问请求时,可以对其中的业务信息进行有效性校验,如仅识别 XML格式的业务报文字符串。
[0129]步骤205:web前端对访问请求中的业务信息进行封装,并将包括封装后的业务信息的访问请求添加至第一请求队列通道中。
[0130]由上可知,业务信息中不仅包含服务请求方需要传递给服务提供方的实际消息内容,还包含系统内部存储流程需要的参数。为了能够使业务信息作为一个整体进行传递,以使核心端在接收到该业务信息时无需读取业务信息中的详细内容,故web前端对访问请求中的业务信息进行封装。
[0131]详细地,web前端可以将预先确定好的报头,和/或,报尾,添加至业务信息中,以对业务信息进行封装。其中,web前端预先确定好的报头和报尾可以被核心端识别。
[0132]在本实施例中,web前端可以将服务请求方的访问请求添加至第一请求队列通道中进行排队,排队成功时,该访问请求可以被推送至核心端。
[0133]此外,web前端在利用第一请求队列通道将访问请求发送至核心端时,可以在相应响应队列,即第一响应队列通道等待消息返回。比如,服务提供方可以在完成处理该访问请求时,将相应的处理完成状态通过第一响应队列通道返回至web前端,从而再由web前端返回至服务请求方。
[0134]在本发明一个实施例中,对于创建的请求队列通道,还可以预先确定相应的信息排队时间阈值。例如,在web前端将服务请求方的访问请求添加至第一请求队列通道中之后,若该访问请求的排队持续时长超过该信息排队时间阈值,则可以将该访问请求存放至第一死信队列通道中。在一种可能的实现方式中,核心端可以定期对第一死信队列通道中存放的全部死链及垃圾信息进行统一处理。
[0135]步骤206:核心端利用第一请求队列通道,获取web前端发来的服务请求方的访问请求,并记录当前的请求获取时间。
[0136]针对服务请求方的访问请求,当该访问请求的处理时间过长或无响应时,为了能够及时返回相应的处理状态信息以通知服务请求方,故核心端可以在接收到该访问请求时记录当前的请求获取时间。
[0137]在本发明一个实施例中,核心端也可以在将访问请求添加到第二请求队列通道时,将当前时间记录为请求获取时间。请求获取时间的记录方式不同时,预先设置的相应超时阈值也可以有所变动。
[0138]步骤207:核心端从数据库中获取唯一服务标识对应的服务访问地址、访问权限、 超时阈值、最大并发数。
[0139]针对接收到的访问请求,根据其中的服务提供方的唯一服务标识,核心端可以从数据库中获取该唯一服务标识对应的多项信息:服务访问地址、访问权限、超时阈值、最大并发数。[〇14〇]步骤208:核心端判断服务请求方的服务商识别码是否在访问权限中,若是,执行步骤209,否则,结束当前流程。
[0141]详细地,服务提供方的访问权限可以包括:至少一种服务商识别码。
[0142]为了确定服务请求方是否有权调用该服务提供方,故根据访问请求中的服务请求方的服务商识别码,可以判断服务提供方的访问权限中是否存在该服务商识别码。当判断结果为存在时,说明服务请求方有权调用该服务提供方,并继续执行当前流程。
[0143]步骤209:核心端判断服务访问地址的获取次数是否小于最大并发数,若是,执行步骤210,否则,暂停当前流程,并再次执行步骤209。
[0144]为了保证系统稳定,可以限定调用服务提供方的次数不超过设定的最大并发数。 详细地,核心端可以利用计数器记录服务访问地址的获取次数,在获取服务访问地址时,计数器自加1,在接收到服务访问地址对应的返回信息时,计数器自减1。
[0145]若核心端判断出服务访问地址的获取次数不小于最大并发数,则对当前的访问请求暂停处理,并再次执行判断操作,直至判断出服务访问地址的获取次数小于最大并发数时,继续执行后续操作。
[0146]详细地,针对核心端的判断结果为否这一请求,可以预先确定再次进行判断操作的时间间隔。当判断结果为否时开始计时,并在达到这一时间间隔对应的时间时再次进行判断操作,如此循环,直至判断结果为是时,执行步骤210。
[0147]除了设定上述时间间隔,在本发明一个实施例中,由于核心端可以利用计时器实时准确的记录服务访问地址的获取次数,故当核心端检测到计时器记录的获取次数小于设定的最大并发数时,可以再次执行步骤209,或者直接执行步骤210。
[0148]步骤210:核心端通过解析访问请求,确定访问请求对应的通信协议,并将通信协议、服务访问地址和业务信息添加至第二请求队列通道中。
[0149]如上所述,通信协议可以为Web Service、MQ和FTP中的任意一种。例如,通过web前端的Web Servi ce通信协议服务访问接口输入的访问请求,对应的通信协议为Web Service,则适配器端需要调用Web Service这一通信协议对应的处理流程,将业务信息发送给服务访问地址对应的服务提供方。
[0150]在本发明一个实施例中,核心端还可以从数据库中获取服务提供方支持的通信协议,以在确定出访问请求对应的通信协议时,判断服务提供方是否支持该通信协议。
[0151]在本发明一个实施例中,核心端可以根据确定的通信协议,对业务信息进行报文属性更新,并将更新后的业务信息添加至第二请求队列通道中,以将其通过适配器端发送至服务提供方。
[0152]此外,除了上述的访问授权、报文属性更新、最大并发数控制、通信协议类型判断, 核心端还可以对业务信息进行加密解密、业务流水日志记录等处理。例如,通过记录业务流水日志,以保存消息传递明细,从而可以便于进行流程查询、排除等处理。
[0153]核心端在将通信协议、服务访问地址和业务信息发送至适配器端时,可以在相应响应队列,即第二响应队列通道等待消息返回。
[0154]步骤211:适配器端利用第二请求队列通道,获取核心端发来的通信协议、服务访问地址和业务信息,利用预先确定好的该通信协议对应的处理流程,将业务信息发送给服务访问地址对应的服务提供方。
[0155]详细地,按照功能用途分类,适配器端可以业务适配器和协议适配器两种。其中, 业务适配器可以供核心端调用,并自实现业务服务,可用于本地化特色的应用业务处理和业务创新;协议适配器主要用于对服务提供方支持的通信协议进行适配,对服务提供方的服务接口进行实际调用。
[0156]在本实施例中,可以选用协议适配器。详细地,适配器端可以预先确定每一种通信协议对应的处理流程,并在确定出服务请求方的通信协议时,利用该通信协议对应的处理流程,将服务请求方的业务信息发送给服务访问地址对应的服务提供方,以使服务提供方处理该业务信息。
[0157]服务提供方在完成处理业务信息时,可以生成返回信息,如返回信息可以为业务信息是否被成功处理的状态信息。服务提供方可以将该返回信息依次经过适配器端、第二响应队列通道、核心端、第一响应队列通道、web前端,最终发送给服务请求方。
[0158]因此,在本发明实施例中,通过web前端、核心端、适配器端及各消息队列通道的联合作用,可以实现服务请求方对服务提供方的调用,从而自动完成服务间的信息通信。这一实现方式解决了服务之间不能统一管理及相互调用的技术问题,有益于提高工作人员对所有服务或项目的把控能力,增强企业工作效率和办事能力等。
[0159]步骤212:基于请求获取时间,在达到超时阈值时,且在确定出未获取到适配器端利用第二响应队列通道发来的服务提供方的返回信息时,核心端生成访问请求对应的请求失败响应报文,并利用第一响应队列通道将请求失败响应报文发送给web前端。
[0160]由于核心端在将服务请求方的访问请求成功发送给适配器端时,可以在第一响应队列通道等待该访问请求对应的返回信息。当接收到该返回信息时,可以将其经web前端发送给服务请求方。若一直未接收到该返回信息,则第一响应队列持续等待,且基于上述核心端记录的请求获取时间,直至达到超时阈值时,核心端可以进行判断。核心端经判读并确定未接收到返回信息时,可以根据服务请求方的访问请求,生成对应的请求失败响应报文,并将其经web前端通知服务请求方。此外,第一响应队列可以结束对该返回信息的等待,且在该返回信息延迟到达时拒绝接收。
[0161]此外,无论传递返回信息,还是发送失败响应报文,核心端可以对相应的业务流水日志进行记录并保存。
[0162]在本发明实施例中,除了可以将服务请求方的访问请求发送至服务提供方以进行处理之外,还可以对访问请求进行权限控制、超时控制、最大并发数控制、返回消息传递等处理。这一实现方式能够实现服务间的信息通信,以及有益于保证系统运行的可靠性和稳定性,且适用于服务调用的实际应用场景。
[0163]如图3所示,本发明一个实施例提供了一种核心端30,包括:
[0164]确定单元301,用于确定与外部web前端进行信息通信的第一请求队列通道,以及与外部适配器端进行信息通信的第二请求队列通道;
[0165]第一获取单元302,用于利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请求,且所述访问请求中包括业务信息和外部服务提供方的唯一服务标识;
[0166]第二获取单元303,用于从外部数据库中获取所述唯一服务标识对应的服务访问地址;
[0167]发送单元304,用于利用所述第二请求队列通道,将所述服务访问地址和所述业务信息发送给所述适配器端。
[0168]在本发明一个实施例中,请参考图4,该核心端30还可以包括:第一处理单元401;
[0169]所述访问请求中还包括:所述服务请求方的服务商识别码;[〇17〇]所述第一处理单元401,用于从所述数据库中确定所述唯一服务标识对应的访问权限,且所述访问权限中包括至少一种服务商识别码;判断所述服务请求方的服务商识别码是否在所述访问权限中,若是,触发所述发送单元304。
[0171]在本发明一个实施例中,请参考图4,该核心端30还可以包括:第二处理单元402; [〇172]所述确定单元301,进一步用于确定与所述web前端进行信息通信的第一响应队列通道,以及与所述适配器端进行信息通信的第二响应队列通道;[〇173]所述第一获取单元302,进一步用于在利用所述第一请求队列通道,获取所述web 前端发来的外部服务请求方的访问请求时,记录当前的请求获取时间;[〇174]所述第二获取单元303,进一步用于从所述数据库中获取所述唯一服务标识对应的超时阈值;
[0175]所述第二处理单元402,用于基于所述请求获取时间,判断在达到所述超时阈值时,是否获取到所述适配器端利用所述第二响应队列通道发来的所述服务提供方的返回信息,若否,生成所述访问请求对应的请求失败响应报文,并利用所述第一响应队列通道将所述请求失败响应报文发送给所述web前端。
[0176]在本发明一个实施例中,请参考图4,该核心端30还可以包括:计数单元403和第三处理单元404;
[0177]所述第二获取单元303,进一步用于从所述数据库中获取所述唯一服务标识对应的最大并发数;
[0178]所述计数单元403,用于利用计数器记录所述服务访问地址的获取次数,在获取所述服务访问地址时,所述获取次数自加1,在接收到所述服务访问地址对应的返回信息时, 所述获取次数自减1;[〇179]所述第三处理单元404,用于判断所述服务访问地址的获取次数是否小于所述最大并发数,若是,触发所述发送单元304。
[0180]在本发明一个实施例中,请参考图4,所述第一处理单元401,进一步用于通过解析所述访问请求,确定所述访问请求对应的通信协议,其中,
[0181]所述通信协议包括:Web Service、MQ和FTP中的任意一种;
[0182]所述发送单元304,进一步用于利用所述第二请求队列通道,将所述通信协议发送给所述适配器端。
[0183]如图5所示,本发明实施例提供了一种信息通信系统,包括:
[0184]上述任一所述的核心端30,以及数据库40、web前端50、适配器端60、用于所述核心端30和所述web前端50进行信息通信的第一请求队列通道、用于所述核心端30和所述适配器端60端进行信息通信的第二请求队列通道、至少一个服务请求方70和至少一个服务提供方80;
[0185]所述web前端50,用于接收所述服务请求方70发送的包括唯一服务标识和业务信息的访问请求;以及利用所述第一请求队列通道,将所述访问请求发送给所述核心端30;
[0186]所述数据库40,用于存储每一个所述服务提供方80的唯一服务标识和服务访问地址;
[0187]所述适配器端60端,用于利用所述第二请求队列通道,获取所述核心端30发来的服务访问地址和业务信息;以及将所述业务信息发送给所述服务访问地址对应的服务提供方80。
[0188]在本发明一个实施例中,所述web前端50包括:至少一种服务访问接口,其中,[〇189] 所述至少一种服务访问接口包括:Web Service通信协议服务访问接口、MQ通信协议服务访问接口、FPT通信协议服务访问接口中的任意一种或多种;[〇19〇]所述web前端50,具体用于利用任一所述服务访问接口,接收所述服务请求方70发送的访问请求,且所述访问请求中包括的业务信息为XML格式的业务报文字符串;通过添加预先确定好的报头,和/或,报尾对所述业务报文字符串进行封装;将包括封装后的业务报文字符串的所述访问请求添加至所述第一请求队列通道中;
[0191]所述适配器端60端,进一步用于利用所述第二请求队列通道,获取所述核心端30 发来的所述访问请求对应的通信协议;具体用于利用预先确定好的该通信协议对应的处理流程,将所述封装后的业务报文字符串发送给所述服务访问地址对应的服务提供方80。
[0192]在本发明一个实施例中,所述web前端50包括:服务注册接口;
[0193]所述web前端50,进一步用于利用所述服务注册接口,接收所述服务提供方80发来的服务注册信息;以及将所述服务注册信息保存至所述数据库40中,其中,
[0194]所述服务注册信息包括:所述服务提供方80的唯一服务标识和服务访问地址,
[0195]或,
[0196]唯一服务标识和服务访问地址,和,服务名称、服务描述、服务商名称、服务商识别码、包括至少一种服务商识别码的访问权限、超时阈值、最大并发数、支持的通信协议中的任意一种或多种。[〇197]在本发明一个实施例中,所述web前端50、所述核心端30和所述适配器端60端的逻辑部署构架的部署模式包括:集中部署模式、分布部署模式和混合部署模式中的任意一种, 其中,
[0198] 所述集中部署模式用于将所述web前端50、所述核心端30和所述适配器端60端部署在同一服务器中;所述分布部署模式用于将所述web前端50、所述核心端30和所述适配器端60端分别部署在不同服务器中;所述混合部署模式用于将所述web前端50,与,所述核心端30和所述适配器端60端部署在不同服务器中;
[0199]所述逻辑部署构架,与,所述至少一个服务请求方70和所述至少一个服务提供方 80的部署结构包括:B/S结构。
[0200]上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0201]综上所述,本发明的各个实施例至少具有如下有益效果:
[0202]1、本发明实施例中,核心端利用其与web前端进行信息通信的请求队列通道,获取 web前端发来的服务请求方的访问请求,且该访问请求中包括业务信息和服务提供方的唯一服务标识;从数据库中获取唯一服务标识对应的服务访问地址;利用其与适配器端进行信息通信的请求队列通道,将服务访问地址和业务信息发送给适配器端。由于适配器端可以将核心端发来的业务信息转发至服务访问地址对应的服务提供方,故服务提供方可以对该业务信息进行处理,从而完成服务请求方和服务提供方的信息通信,这一实现过程无需人为操作,可以自动完成。因此,本发明实施例能够自动进行服务间的信息通信。[〇2〇3]2、本发明实施例中,通过web前端、核心端、适配器端及各消息队列通道的联合作用,可以实现服务请求方对服务提供方的调用,从而自动完成服务间的信息通信。这一实现方式解决了服务之间不能统一管理及相互调用的技术问题,有益于提高工作人员对所有服务或项目的把控能力,增强企业工作效率和办事能力等。
[0204]3、本发明实施例中,除了可以将服务请求方的访问请求发送至服务提供方以进行处理之外,还可以对访问请求进行权限控制、超时控制、最大并发数控制、返回消息传递等处理。这一实现方式能够实现服务间的信息通信,以及有益于保证系统运行的可靠性和稳定性,且适用于服务调用的实际应用场景。[〇2〇5]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃.....”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0206]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。[〇2〇7]最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、 等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种信息通信方法,其特征在于,应用于核心端,预先确定与外部web前端进行信息 通信的第一请求队列通道,以及与外部适配器端进行信息通信的第二请求队列通道,还包 括:S1:利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问请 求,且所述访问请求中包括业务信息和外部服务提供方的唯一服务标识;S2:从外部数据库中获取所述唯一服务标识对应的服务访问地址;S3:利用所述第二请求队列通道,将所述服务访问地址和所述业务信息发送给所述适 配器端。2.根据权利要求1所述的方法,其特征在于,所述访问请求中还包括:所述服务请求方的服务商识别码;在S3之前进一步包括:从所述数据库中确定所述唯一服务标识对应的访问权限,且所 述访问权限中包括至少一种服务商识别码;判断所述服务请求方的服务商识别码是否在所 述访问权限中,若是,执行S3;和/或,在S3之前进一步包括:预先确定与所述web前端进行信息通信的第一响应队列通道,以 及与所述适配器端进行信息通信的第二响应队列通道;从所述数据库中获取所述唯一服务 标识对应的超时阈值;在S1中,利用所述第一请求队列通道,获取所述web前端发来的外部服务请求方的访问 请求时,进一步包括:记录当前的请求获取时间;在S3之后进一步包括:基于所述请求获取时间,判断在达到所述超时阈值时,是否获取 到所述适配器端利用所述第二响应队列通道发来的所述服务提供方的返回信息,若否,生 成所述访问请求对应的请求失败响应报文,并利用所述第一响应队列通道将所述请求失败 响应报文发送给所述web前端;和/或,在S3之前进一步包括:利用计数器记录所述服务访问地址的获取次数,在获取所述服 务访问地址时,所述获取次数自加1,在接收到所述服务访问地址对应的返回信息时,所述 获取次数自减1;从所述数据库中获取所述唯一服务标识对应的最大并发数;判断所述服务 访问地址的获取次数是否小于所述最大并发数,若是,执行S3。3.根据权利要求1或2所述的方法,其特征在于,在S1之后进一步包括:通过解析所述访问请求,确定所述访问请求对应的通信协议;以 及利用所述第二请求队列通道将所述通信协议发送给所述适配器端,其中,所述通信协议包括:Web Service、MQ和文件传输协议FTP中的任意一种。4.一种核心端,其特征在于,包括:确定单元,用于确定与外部web前端进行信息通信的第一请求队列通道,以及与外部适 配器端进行信息通信的第二请求队列通道;第一获取单元,用于利用所述第一请求队列通道,获取所述web前端发来的外部服务请 求方的访问请求,且所述访问请求中包括业务信息和外部服务提供方的唯一服务标识; 第二获取单元,用于从外部数据库中获取所述唯一服务标识对应的服务访问地址;发送单元,用于利用所述第二请求队列通道,将所述服务访问地址和所述业务信息发送给所述适配器端。5.根据权利要求4所述的核心端,其特征在于,进一步包括:第一处理单元;所述访问请求中还包括:所述服务请求方的服务商识别码;所述第一处理单元,用于从所述数据库中确定所述唯一服务标识对应的访问权限,且 所述访问权限中包括至少一种服务商识别码;判断所述服务请求方的服务商识别码是否在 所述访问权限中,若是,触发所述发送单元;和/或,进一步包括:第二处理单元;所述确定单元,进一步用于确定与所述web前端进行信息通信的第一响应队列通道,以 及与所述适配器端进行信息通信的第二响应队列通道;所述第一获取单元,进一步用于在利用所述第一请求队列通道,获取所述web前端发来 的外部服务请求方的访问请求时,记录当前的请求获取时间;所述第二获取单元,进一步用于从所述数据库中获取所述唯一服务标识对应的超时阈 值;所述第二处理单元,用于基于所述请求获取时间,判断在达到所述超时阈值时,是否获 取到所述适配器端利用所述第二响应队列通道发来的所述服务提供方的返回信息,若否, 生成所述访问请求对应的请求失败响应报文,并利用所述第一响应队列通道将所述请求失 败响应报文发送给所述web前端;和/或,进一步包括:计数单元和第三处理单元;所述第二获取单元,进一步用于从所述数据库中获取所述唯一服务标识对应的最大并 发数;所述计数单元,用于利用计数器记录所述服务访问地址的获取次数,在获取所述服务 访问地址时,所述获取次数自加1,在接收到所述服务访问地址对应的返回信息时,所述获 取次数自减1;所述第三处理单元,用于判断所述服务访问地址的获取次数是否小于所述最大并发 数,若是,触发所述发送单元。6.根据权利要求4或5所述的核心端,其特征在于,所述第一处理单元,进一步用于通过解析所述访问请求,确定所述访问请求对应的通 信协议,其中,所述通信协议包括:Web Service、MQ和文件传输协议FTP中的任意一种;所述发送单元,进一步用于利用所述第二请求队列通道,将所述通信协议发送给所述 适配器端。7.—种信息通信系统,其特征在于,包括:如权利要求4至6中任一所述的核心端,以及数据库、web前端、适配器端、用于所述核心 端和所述web前端进行信息通信的第一请求队列通道、用于所述核心端和所述适配器端进 行信息通信的第二请求队列通道、至少一个服务请求方和至少一个服务提供方;所述web前端,用于接收所述服务请求方发送的包括唯一服务标识和业务信息的访问请求;以及利用所述第一请求队列通道,将所述访问请求发送给所述核心端;所述数据库,用于存储每一个所述服务提供方的唯一服务标识和服务访问地址;所述适配器端,用于利用所述第二请求队列通道,获取所述核心端发来的服务访问地 址和业务信息;以及将所述业务信息发送给所述服务访问地址对应的服务提供方。8.根据权利要求7所述的信息通信系统,其特征在于,所述web前端包括:至少一种服务访问接口,其中,所述至少一种服务访问接口包括:Web Service通信协议服务访问接口、MQ通信协议服 务访问接口、文件传输协议FPT通信协议服务访问接口中的任意一种或多种;所述web前端,具体用于利用任一所述服务访问接口,接收所述服务请求方发送的访问 请求,且所述访问请求中包括的业务信息为可扩展标记语言XML格式的业务报文字符串;通 过添加预先确定好的报头,和/或,报尾对所述业务报文字符串进行封装;将包括封装后的 业务报文字符串的所述访问请求添加至所述第一请求队列通道中;所述适配器端,进一步用于利用所述第二请求队列通道,获取所述核心端发来的所述 访问请求对应的通信协议;具体用于利用预先确定好的该通信协议对应的处理流程,将所 述封装后的业务报文字符串发送给所述服务访问地址对应的服务提供方。9.根据权利要求7所述的信息通信系统,其特征在于,所述web前端包括:服务注册接口;所述web前端,进一步用于利用所述服务注册接口,接收所述服务提供方发来的服务注 册信息;以及将所述服务注册信息保存至所述数据库中,其中,所述服务注册信息包括:所述服务提供方的唯一服务标识和服务访问地址,或,唯一服务标识和服务访问地址,和,服务名称、服务描述、服务商名称、服务商识别码、 包括至少一种服务商识别码的访问权限、超时阈值、最大并发数、支持的通信协议中的任意 一种或多种。10.根据权利要求7至9中任一所述的信息通信系统,其特征在于,所述web前端、所述核心端和所述适配器端的逻辑部署构架的部署模式包括:集中部署 模式、分布部署模式和混合部署模式中的任意一种,其中,所述集中部署模式用于将所述web前端、所述核心端和所述适配器端部署在同一服务 器中;所述分布部署模式用于将所述web前端、所述核心端和所述适配器端分别部署在不同 服务器中;所述混合部署模式用于将所述web前端,与,所述核心端和所述适配器端部署在 不同服务器中;所述逻辑部署构架,与,所述至少一个服务请求方和所述至少一个服务提供方的部署 结构包括:浏览器/服务器B/S结构。
【文档编号】H04L29/08GK105959385SQ201610406810
【公开日】2016年9月21日
【申请日】2016年6月6日
【发明人】李云震
【申请人】浪潮软件集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1