集群部署前置机的方法、装置和***
技术领域
本发明涉及计算机互联网领域,具体而言,涉及一种集群部署前置机的方法、装置和***。
背景技术
现有技术提供的前端客户端与后台服务器之间进行业务操作的过程中,可以通过提供一个位于前端客户端和后台服务器之间的前置机来实现一种安全验证服务,本领域技术人员可以获知的是该前置机具有网络通信、报文认证和加密的特点。
基于上述***,在本领域中,可以将上述***结构应用于银行交易服务的过程中。具体的,在银行为了拓展自己业务范畴的情况下,可以将转账、支付、退货等银企直连类型业务功能开放给使用前端客户端的商户使用。
为了方便使用前端客户端的商户和银行提供的后台服务器之间的业务数据进行交互,银行会为使用前端客户端的商户提供一种安装在前端客户端的应用软件,而与该安装在前端客户端的应用软件相对应的设备,通常称之为“前置机”。该前置机位于前端客户端与后台服务器之间,用于实现网络通信、报文认证、加密等功能。
在前端客户端与后台服务器进行数据交互的过程当中,前端客户端只需要将报文明文发送至前置机,前置机与后台服务器之间实现的网络通信、报文认证、加密等具体业务,都在前置机的后台自动完成。从而使得前端客户端和后台服务器之间的报文通信过程变得更加便捷。这样,降低了前端客户端的开发难度,缩短了开发周期,方便使用前端客户端的商户接入银行提供的银企直连服务。
具体的,基于图1所示的示例可知,为了使得商户的前端客户端与银行提供的后台服务器具有更便捷的数据交互,现有技术提供了应用场景为单点部署的前置机。这种单点部署的前置机通常只有加密,加签的功能。使用前端客户端的商户通过部署服务器,连接单个前置机,从而与银行提供的后台服务器相连。
例如图1所示的示例应用在银行交互***中,银行出于提高数据交互的安全性的目的,银行后台服务器会颁发一个与前置机匹配的证书或者密钥。颁发的与前置机相匹配的证书或者密钥一般只允许在一台前端服务器上安装,并且对该证书或者密钥设置唯一的用户名和密码。使用前端客户端的商户在将报文明文发送至前端机的时候,需要同时发送该用户名和密码。
进一步的,可以结合图2来描述图1所示***的业务流程,如图2所示,部署服务器通过前置机与银行提供的后台服务器的流程包括:首先,用户发送对部署服务器的操作请求,部署服务器收到用户发送的请求后,组织报文明文。然后前置机接收前端客户端组织的报文明文和与前置机对应的用户名、密码。前置机对用户名、密码进行验证,通过后,将加签后的报文发送至后台服务器。
在上述使用单点部署前置机的方案中,对于交易量小的商户而言是一种很好的选择,该单点部署的前置机方案可以降低部署服务器的开发成本,缩短部署服务器的开发周期。但是对于交易量大的商户而言,***的容量和可用性更为重要,任何单点故障都会影响交易正常进行,从而影响商户的业务处理和业务扩展。由于单点部署前置机的方案在大量交易的情况下,会导致单点部署致前置机负载过大,操作效率低的状况发生。因此,无法适用于交易量大的商户。
针对上述现有技术提供的单点部署前置机的方案在进行大数据交互的过程中,由于前置机负载过大会导致交互效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种集群部署前置机的方法、装置和***,以至少解决点部署前置机导致的前置机负载过大会导致交互效率的技术问题。
根据本发明实施例的一个方面,提供了一种集群部署前置机的方法,包括:接收用户操作请求;从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道;基于用户操作请求生成操作报文;使用用户操作请求对应的访问通道将操作报文发送至对应的前置机;接收前置机返回的报文处理结果,其中,通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果。
根据本发明实施例的另一方面,还提供了一种集群部署前置机的装置,包括:接收模块,用于接收用户操作请求;确定模块,用于从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道;报文生成模块,用于基于用户操作请求生成操作报文;发送模块,用于使用用户操作请求对应的访问通道将操作报文发送至对应的前置机;接收模块,用于接收前置机返回的报文处理结果,其中,通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果。
根据本发明实施例的另一方面,还提供了一种集群部署前置机的***,包括:前端客户端,用于生成用户操作请求;前置机集群,包括多个前置机;部署服务器,分别与前端客户端和前置机集群中的每个前置机建立通信关系,用于接收用户操作请求,在从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道之后,使用用户操作请求对应的访问通道将基于用户操作请求生成的操作报文发送至对应的前置机;报文处理服务器,与前置机集群中的每个前置机建立通信关系,用于接收对应的前置机转发的操作报文,并生成报文处理结果。
在本发明实施例中,采用接收用户操作请求;从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道;基于用户操作请求生成操作报文;使用用户操作请求对应的访问通道将操作报文发送至对应的前置机;接收前置机返回的报文处理结果,其中,通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果的方式,通过接收模块,用于接收用户操作请求;确定模块,用于从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道;报文生成模块,用于基于用户操作请求生成操作报文;发送模块,用于使用用户操作请求对应的访问通道将操作报文发送至对应的前置机;接收模块,用于接收前置机返回的报文处理结果,其中,通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果,达到了集群部署前置机的目的,进而解决了点部署前置机导致的前置机负载过大会导致交互效率的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的单点部署前置机的***的结构示意图;
图2是根据现有技术的单点部署前置机的工作流程图;
图3是根据本发明实施例一的集群部署前置机的***的结构示意图;
图4根据本发明实施例二的集群部署前置机的方法的流程示意图;
图5根据本发明实施例二的一种可选的集群部署前置机的方法的流程示意图;
图6根据本发明实施例二的一种可选的集群部署前置机的方法的流程示意图;
图7根据本发明实施例二的一种集群部署前置机的工作流程图;
图8是根据本发明实施例三的集群部署前置机的装置的示意图;
图9根据本发明实施例二的一种可选的集群部署前置机的示意图;以及
图10根据本发明实施例二的一种可选的集群部署前置机的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在其最基本的配置中,图3是根据本发明实施例一的集群部署前置机的***的结构示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算***解释为对图3所示的任一组件或其组合具有任何依赖或需求。
如图3所示,本申请提供的集群部署前置机的***可以包括:前端客户端10、前置机集群12、部署服务器14和报文处理服务器16。
其中前端客户端10,用于生成用户操作请求;前置机集群12,包括多个前置机122;部署服务器14,分别与前端客户端和前置机集群中的每个前置机建立通信关系,用于接收用户操作请求,在从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道之后,使用用户操作请求对应的访问通道将基于用户操作请求生成的操作报文发送至对应的前置机;报文处理服务器16,与前置机集群中的每个前置机建立通信关系,用于接收对应的前置机转发的操作报文,并生成报文处理结果。
分析可知,本申请上述实施例一中,部署服务器获取到用户操作请求后,读取存储在部署服务器的前置机路由表,从该表中获取前置机集群中满足预设条件的前置机,从而确定执行该操作请求所对应的前置机,并通过确认与该前置机对应的访问通道。基于用户操作请求生成的操作报文,使用与用户操作请求所对应的访问通道,将操作报文发送至对应的前置机。该前置机在接收到操作报文后,将操作报文转发至报文处理***,从而获取到报文处理***生成的报文处理结果。最后将报文处理结果发送至部署服务器当中。显而易见的,上述方案通过使用部署服务器中的前置机路由表来确定当前用户操作请求对应的访问通道,该访问通道指向前置机集群中一个唯一的目标前置机,由此,通过上述方案可以准确定位前置机集群中的一个前置机来完成大数据的交互操作,从而解决了现有技术中单点部署前置机的方案在进行大数据交互的过程中,由于前置机负载过大会导致交互效率低的问题,达到了提高前置机处理交互操作数据的效率。
本申请上述实施例一的实施方式可以在部署服务器上运用。在实施过程中,上述实施例一中的部署服务器的一种实施方式,可以是商户为了使用前置机集群所使用的部署服务器,下面就以该部署服务器为例对上述事实里进行详细描述。
上述实施例一中的部署服务器在接收到交易信息(即交易类型,交易金额等相关信息)之后,部署服务器首先读取存储在部署服务器中的前置机路由表。根据前置机路由表中记录的前置机信息,获取到满足预设条件的前置机,为交易提供一条部署服务器与前置机之间的访问通道。同时部署服务器根据前置机路由表内记录的前置机参数,对交易信息进行处理生成交易报文。通过部署服务器生成的交易报文通过之前获取到的访问通道发送至对应的前置机当中。该前置机接收到操作报文,将交易报文转发至银行的后台服务器,获取到交易报文处理结果后,将该处理结果发送回部署服务器。上述示例中的前置机路由表可以加载在前置机路由器中运行。
本申请上述部署服务器在实现从前置机路由表中确定满足预设条件的前置机的功能之前,还可以实现创建前置机路由表的功能,此处的前置机路由表记录前置机集群中每个前置机的前置机信息,前置机信息至少包括如下任意一个或多个数据字段:前置机的访问地址、前置机的路由比例、前置机的开关状态和前置机参数,其中,前置机的路由比例用于表征当前前置机比较前置路由表中其他前置机的访问优先级,前置机参数包括用于区分每个前置机的特定属性,前置机的开关状态用于表征前置机是否允许访问。
上述部署服务器可以在前置机路由表中设置一个或多个数据字段,上述在前置机路由表中设置的一个或多个如前置机信息可以包括,前置机的路由比例,前置机的开关状态和前置机参数。
本申请上述部署服务器在实现前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道的功能时,此处的部署服务器还可以通过扫描前置机路由表中的每条前置机信息,读取前置机集群中每个前置机的路由比例;选择路由比例最大或者路由比例超过预定阈值的前置机作为满足预设条件的前置机;从前置机路由表中读取满足预设条件的前置机的访问地址,获取用户操作请求对应的访问通道。
上述部署服务器,在读取部署服务器中的前置机路由表时,首先对前置机路由表内与前置机集群内的每台前置机对应的前置机的路由比例进行读取。然后,比较前置机的路由比例数值,设定与前置机的路由比例值最大的或者与前置机的路由比例值超过预定阈值相对应的前置机作为满足预设条件的前置机,最后部署服务器从前置机路由表中读取与上述满足预设条件的前置机相对应的访问地址,获取进行数据交互操作的访问通道。
本申请上述部署服务器在实现基于用户操作请求生成操作报文的功能时,此处的部署服务器还可以判断用户操作请求对应的访问通道的前置机信息中是否包含前置机参数;在用户操作请求对应的访问通道的前置机信息中包含前置机参数的情况下,在将前置机参数加载至用户操作请求之后,对加载了前置机参数的用户操作请求进行报文组装,生成操作报文;在用户操作请求对应的访问通道的前置机信息中不包含前置机参数的情况下,对用户操作请求进行报文组装,生成操作报文。
上述部署服务器,根据对应的访问通道的前置机信息中的前置机参数,来生成操作报文。当与访问通道的前置机信息中包含前置机参数时,部署服务器根据前置机参数对用户操作请求的报文进行组装,生成操作报文。当与访问通道的前置机信息中不包含前置机参数时,直接对用户操作请求进行报文组装,生成操作报文。结合本实施例二在实际中的运用,当前置机参数是与对应的前置机相对应的用户名和密码时,部署服务器会将读取到的用户名和密码加到报文的前端、后端或者报文中的任意位置,从而生成操作报文发送至该前端机。
在部署服务器在实现使用用户操作请求对应的访问通道将操作报文发送至对应的前置机的功能之后,本申请上述前置机集群可以实现如下功能:
前置机接收操作报文;前置机验证操作报文中的前置机参数,其中,前置机参数包括:前置机用户名和前置机密码;在前置机验证前置机参数成功的情况下,前置机转发操作报文至报文处理***;在前置机验证前置机参数失败的情况下,丢弃操作报文;
前置机集群中的前置机通过对将接收到的操作报文的前置机用户名和前置机密码进行验证,如果接收到的操作报文中的前置机用户名和前置机密码与该前置机相匹配,验证成功的情况下,则该前置机转发操作报文至报文处理***;如果接收到的操作报文中的前置机用户名和前置机密码与该前置机不匹配,验证失败的情况下,则该前置机丢弃操作报文。
根据上述实施例一在实际运用的过程中,前置机的验证方法不只局限于前置机用户名和前置机密码进行验证的方式。还可以通过其他方式,包括:指纹验证,声音验证,面部识别验证等安全验证方式。
在本申请上述报文处理服务器通过接收到操作报文的前置机转发操作报文至报文处理***之后,报文处理服务器可以实现如下功能来获取到报文处理***生成的报文处理结果的功能:
报文处理***接收到操作报文的前置机转发的操作报文;报文处理***对操作报文进行操作处理,生成报文处理结果;报文处理***将报文处理结果返回给前置机,并通过前置机返回给前端用户。
上述报文处理服务器对接收到的操作报文的前置机转发的操作报文进行处理,并对该处理的结果生成报文处理结果,将生成的报文处理结果通过原转发操作报文的前置机返回给部署服务器。
本申请上述部署服务器在实现基于用户操作请求生成操作报文的功能时,此处的部署服务器还可以通过预设前置机路由表中每个前置机的路由比例数值,来初始化前置机路由表中记录的每个前置机的路由比例;动态调整前置机路由表中记录的每个前置机的路由比例的功能,实现该功能的步骤包括:
获取每个前置机的历史通信记录,历史通信记录包括前置机的通信成功率;使用每个前置机的通信成功率来动态修改每个前置机的路由比例数值;其中,在任意一个或多个前置机的路由比例值小于等于关闭阈值的情况下,将路由比例值小于等于关闭阈值的前置机的开关状态自动修改为禁止访问的工作状态。
上述部署服务器,可以实现对其前置机路由表的前置机的路由比例设置功能。首先,可以对前置路由表中的前置机的路由比例值设置一个初始值。随着使用,部署服务器可以根据每个前置机的历史通信记录中的通信成功率来修改与之对应的前置机路由表中的前置机的路由比例数值。当某一个前置机的路由比例值小于或等于预先设置的关闭阈值时,部署服务器将自动把该前置机对应的前置路由表中的前置机的开关状态修改为关,该前置机进入禁止部署服务器访问的工作状态。根据上述方法,可以避免前置机处理交互操作数据的成功率低、软件或者硬件出现故障导致前置机处理交互操作数据的效率低的问题。
实施例2
根据本发明实施例二,还提供了一种可以用于实施上述***实施例二的方法实施例二,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图4是根据本发明实施例二的集群部署前置机的方法的流程示意图。
如图4所示,该方法可以应用在图3所示的部署服务器中,从该部署服务器的角度对本申请集群部署前置机的方法的实施过程进行详细描述,可以包括如下步骤:
步骤S40,接收用户操作请求。
上述步骤S40中,接收到的用户操作请求内容可以包括报文明文,用于记录用户操作的执行动作,例如操作类型、操作内容等。
步骤S42,从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道。上述示例中的前置机路由表可以加载在前置机路由器中运行。
上述步骤S42中,前置客户端在组装报文之前,需要先访问存储于部署服务器中的前置机路由表,以获取一条可用的通道访问。该前置机路由表用于记录每个前置机的多个属性,每个属性记录前置机的特定内容,从而构成前置机列表,前置机列表中的每条记录对应一个与前置机通讯的访问通道。
步骤S44,基于用户操作请求生成操作报文。
上述步骤S44实现的方案中,在通过实施例二中的部署服务器确定用户操作请求对应的访问通道之后,可以通过部署服务器来实现基于操作请求的报文组装功能,生成操作报文。
此处需要说明的是,报文组装过程可以直接对操作请求进行报文组装,也可以将加载了前置机的特定属性参数之后的操作请求进行报文组装。
步骤S46,使用用户操作请求对应的访问通道将操作报文发送至对应的前置机。
步骤S48,接收前置机返回的报文处理结果,其中,通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果。
本申请上述实施例二中,部署服务器获取到用户操作请求后,读取存储在部署服务器的前置机路由表,从该表中获取前置机集群中满足预设条件的前置机,从而确定执行该操作请求所对应的前置机,并通过确认与该前置机对应的访问通道。基于用户操作请求生成的操作报文,使用与用户操作请求所对应的访问通道,将操作报文发送至对应的前置机。该前置机在接收到操作报文后,将操作报文转发至报文处理***,从而获取到报文处理***生成的报文处理结果。最后将报文处理结果发送至部署服务器当中。显而易见的,上述方案通过使用部署服务器中的前置机路由表来确定当前用户操作请求对应的访问通道,该访问通道指向前置机集群中一个唯一的目标前置机,由此,通过上述方案可以准确定位前置机集群中的一个前置机来完成大数据的交互操作,从而解决了现有技术中单点部署前置机的方案在进行大数据交互的过程中,由于前置机负载过大会导致交互效率低的问题,达到了提高前置机处理交互操作数据的效率。
本申请上述实施例二所提供的步骤S40至步骤S48可以在部署服务器上运用,实施过程中,在上述实施例二中的部署服务器的一种实施方式,可以是商户为了使用前置机集群所使用的部署服务器,下面就以该部署服务器为例对上述事实里进行详细描述。
上述实施例二中的部署服务器在接收到交易信息(即交易类型,交易金额等相关信息)之后,部署服务器首先读取存储在部署服务器中的前置机路由表。根据前置机路由表中记录的前置机信息,获取到满足预设条件的前置机,为交易提供一条部署服务器与前置机之间的访问通道。同时部署服务器根据前置机路由表内记录的前置机参数,对交易信息进行处理生成交易报文。通过部署服务器生成的交易报文通过之前获取到的访问通道发送至对应的前置机当中。该前置机接收到操作报文,将交易报文转发至银行的后台服务器,获取到交易报文处理结果后,将该处理结果发送回部署服务器。
优选地,如图5所示,本申请上述实施例二中,在步骤S42实现从前置机路由表中确定满足预设条件的前置机的功能之前,还可以执行如下实施步骤:
步骤S41,创建前置机路由表,前置机路由表记录前置机集群中每个前置机的前置机信息,前置机信息至少包括如下任意一个或多个数据字段:前置机的访问地址、前置机的路由比例、前置机的开关状态和前置机参数,其中,前置机的路由比例用于表征当前前置机比较前置机路由表中其他前置机的访问优先级,前置机参数包括用于区分每个前置机的特定属性,前置机的开关状态用于表征前置机是否允许访问。
上述步骤S41实现的方案中,可以在前置机路由表中设置一个或多个数据字段,上述在前置机路由表中设置的一个或多个如前置机信息可以包括,前置机的路由比例,前置机的开关状态和前置机参数。这些数据字段的设置方法,可以参照表1。
表1:
结合本申请上述实施例二,以前置机集群中内有4台前置机为例,结合表1,对前置机信息的设置方法及内容进行详细说明:
前置机的访问地址:前置机的访问地址分别与每个前置机相对应,部署服务器通过前置机的访问地址,可以直接访问所对应的前置机。前置机的访问地址具体可以设置为:http://192.168.0.1、https://front_end_processor.com或者//processor1等。
前置机的路由比例:前置机的路由比例分别与每个前置机相对应,通过前置机的路由比例值,来表示当前前置机与部署服务器前置机路由表中其他前置机的访问优先级。在上述实施例二中,部署服务器会根据前置机的路由比例值,选择与路由比例值较大对应的前置机作为满足预设条件的前置机。其中,前置机的路由比例还可以根据前置机的负载和前置机处理交互操作数据的效率进行动态调节,以避免由于某个前置机负载过大导致的交互效率低的问题。结合本实施例二在实际中的运用,当某一台前置机与部署服务器或者报文处理服务器处理交互操作时的交互失败率高时,则调低与该前置机在部署服务器前置机路由表中路由比例的数值,以降低前置机的访问优先级。
前置机的开关状态:前置机的开关状态与每个前置机相对应。通过在部署服务器中的前置机路由表的前置机的开光状态中设置“开”或“关”,实现对对应的前置机状态的标记。结合本实施例二在实际中的运用,当某一台前置机出现软件或者硬件故障,或者前置机与部署服务器或者报文处理服务器处理交互操作时的交互失败率高于超过预定阈值时,可以调整部署服务器中的前置机路由表内与之对应的前置机的开关状态为“关”,此时,该前置机便不再提供与部署服务器的访问通道。
前置机参数:前置机参数内记录的是实现部署服务器与前置机之间数据的交互操作的必须的参数。前置机参数与每个前置机相对应,前置机参数的内容可以包括前置机用户名,前置机密码,前置机在银行服务端的签到会话等信息。结合本实施例二在实际中的运用,前置机参数可以用于进行前置机验证的账户密码验证信息,会话验证信息,指纹验证信息,声音验证信息,面部识别验证信息等安全验证信息。前置机参数也可以是与每个前置机相对应独特的通讯频段信息。前置机参数还可以是与每个前置机相对应的对文字加密或者对文字解密的方法。在部署服务器与前置机的交互过程当中,部署服务器必须借助与该前置机对应的前置机参数来通过验证,从而实现数据的交互操作。
优选地,结合图6所示,本申请上述实施例二提供的方案中,步骤S42实现的从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道的方案,可以通过如下步骤来详细实现:
步骤S421,通过扫描前置机路由表中的每条前置机信息,读取前置机集群中每个前置机的路由比例;
步骤S423,选择路由比例最大或者路由比例超过预定阈值的前置机作为满足预设条件的前置机;
步骤S425,从前置机路由表中读取满足预设条件的前置机的访问地址,获取用户操作请求对应的访问通道。
上述步骤中的部署服务器,在读取部署服务器中的前置机路由表时,首先对前置机路由表内与前置机集群内的每台前置机对应的前置机的路由比例进行读取。然后,比较前置机的路由比例数值,设定与前置机的路由比例值最大的或者与前置机的路由比例值超过预定阈值相对应的前置机作为满足预设条件的前置机,最后部署服务器从前置机路由表中读取与上述满足预设条件的前置机相对应的访问地址,获取进行数据交互操作的访问通道。
优选地,结合上述实施例二,步骤S44实现的基于用户操作请求生成操作报文的方案可以通过如下步骤实现:
步骤S441,判断用户操作请求对应的访问通道的前置机信息中是否包含前置机参数。
其中,步骤S443,在用户操作请求对应的访问通道的前置机信息中包含前置机参数的情况下,在将前置机参数加载至用户操作请求之后,对加载了前置机参数的用户操作请求进行报文组装,生成操作报文。
步骤S445,在用户操作请求对应的访问通道的前置机信息中不包含前置机参数的情况下,对用户操作请求进行报文组装,生成操作报文。
上述部署服务器根据对应的访问通道的前置机信息中的前置机参数,来生成操作报文。当与访问通道的前置机信息中包含前置机参数时,部署服务器根据前置机参数对用户操作请求的报文进行组装,生成操作报文。当与访问通道的前置机信息中不包含前置机参数时,直接对用户操作请求进行报文组装,生成操作报文。结合本实施例二在实际中的运用,当前置机参数是与对应的前置机相对应的用户名和密码时,部署服务器会将读取到的用户名和密码加到报文的前端、后端或者报文中的任意位置,从而生成操作报文发送至该前端机。
优选地,本申请上述实施例二中,在步骤S46使用用户操作请求对应的访问通道将操作报文发送至对应的前置机之后,还可以执行如下实施步骤:
步骤S4701,前置机接收操作报文;
步骤S4703,前置机验证操作报文中的前置机参数,其中,前置机参数包括:前置机用户名和前置机密码;
步骤S4705,在前置机验证前置机参数成功的情况下,前置机转发操作报文至报文处理***;
步骤S4707,在前置机验证前置机参数失败的情况下,丢弃操作报文;
上述步骤S4701至步骤S4707,可以运行在前置机中。前置机通过对将接收到的操作报文的前置机用户名和前置机密码进行验证,如果接收到的操作报文中的前置机用户名和前置机密码与该前置机相匹配,验证成功的情况下,则该前置机转发操作报文至报文处理***;如果接收到的操作报文中的前置机用户名和前置机密码与该前置机不匹配,验证失败的情况下,则该前置机丢弃操作报文。
根据上述实施例二在实际运用的过程中,前置机的验证方法不只局限于前置机用户名和前置机密码进行验证的方式。还可以通过其他方式,包括:指纹验证,声音验证,面部识别验证等安全验证方式。
其中,在执行完成上述步骤S4701至步骤S4707后,部署服务器还可以通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果的实施步骤:
步骤S4709,报文处理***接收到操作报文的前置机转发的操作报文。
步骤S4711,报文处理***对操作报文进行操作处理,生成报文处理结果。
步骤S4713,报文处理***将报文处理结果返回给前置机,并通过前置机返回给前端用户。
上述步骤S4709至S4713,可以运用在报文处理服务器中。报文处理服务器对接收到的操作报文的前置机转发的操作报文进行处理,并对该处理的结果生成报文处理结果,将生成的报文处理结果通过原转发操作报文的前置机返回给部署服务器。
优选地,在本申请上述实施例二中,在步骤S41创建前置机路由表之后,还可以执行如下实施步骤:
步骤S411,通过预设前置机路由表中每个前置机的路由比例数值,来初始化前置机路由表中记录的每个前置机的路由比例。
步骤S413,动态调整前置机路由表中记录的每个前置机的路由比例。
该步骤S413提供的方案可以包括如下方案:
步骤S4131,获取每个前置机的历史通信记录,历史通信记录包括前置机的通信成功率。
步骤S4133,使用每个前置机的通信成功率来动态修改每个前置机的路由比例数值。
在一种优选方案中,在任意一个或多个前置机的路由比例值小于等于关闭阈值的情况下,将路由比例值小于等于关闭阈值的前置机的开关状态自动修改为禁止访问的工作状态。
上述步骤S411至步骤S413可以实现对部署服务器中前置机路由表的前置机的路由比例的设置方法。首先,可以对前置路由表中的前置机的路由比例值设置一个初始值。随着使用,部署服务器可以根据每个前置机的历史通信记录中的通信成功率来修改与之对应的前置机路由表中的前置机的路由比例数值。当某一个前置机的路由比例值小于或等于预先设置的关闭阈值时,部署服务器将自动把该前置机对应的前置路由表中的前置机的开关状态修改为关,该前置机进入禁止部署服务器访问的工作状态。根据上述方法,可以避免前置机处理交互操作数据的成功率低、软件或者硬件出现故障导致前置机处理交互操作数据的效率低的问题。
图7是上述实施例二的交易流程图,下面结合图7和图3,就本申请上述方法实施例二应用在银行交易过程中为例,对本申请上述实施例二的业务流程进行详细说明:
步骤A,前端客户端的操作用户向部署服务器发出操作请求。结合本申请应用在银行交易过程的应用环境中,前端客户端的操作用户向部署服务器提出操作申请可以是交易申请请求。
此处需要详细说明的是,银行为了提高交易过程的安全性,一般会提供一个与前置机相对应的证书或者密钥,这里的密钥就可以是通常所指的USB Key(在USB Key的密钥验证通过之后,启动当前前置机工作),本申请银行提供的证书或密钥可以安装在对应的前置机上,作为启动前置机的必要条件。
步骤B,部署服务器根据内置的前置机路由表中的前置机的路由比例,确定路由比例最大的前置机并获取该前置机的前置机访问地址和前置机参数。其中,前置机参数的内容可以包括前置机用户名、前置机密码等用于进行前置机验证的信息。
步骤C,判断与该前置机对应的前置机路由表内是否有前置机参数,如果没有前置机参数,则执行步骤E。
步骤D,如果与该前置机对应的前置机路由表内有前置机参数,则部署服务器加载前置机参数。其中,可以将前置机参数加载在操作报文之前或者之后。
步骤E,部署服务器根据步骤C或者步骤D组装操作报文并将操作报文发送至上述前置机。
步骤F,该前置机对接收到的操作报文内的前置机用户名和前置机密码进行验证,如果验证成功,则进入步骤G,如果验证失败,前置机丢弃该操作报文。
步骤G,前置机对操作报文进行加签后转发给银行端的后台服务器。
步骤H,后台服务器根据操作报文进行处理,并按照原路径返回后台服务器对操作报文的处理结果。
需要说明的是,对于前述的各方法实施例二,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例二均属于优选实施例二,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例二的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例二的方法。
实施例3
图8是根据本发明实施例三的集群部署前置机的装置的示意图。如图8所示,该装置可以包括:接收模块101、确定模块103、报文生成模块105、发送模块107和接收模块109。
其中,接收模块101,用于接收用户操作请求;确定模块103,用于从前置机路由表中获取前置机集群中满足预设条件的前置机,确定用户操作请求对应的访问通道;报文生成模块105,用于基于用户操作请求生成操作报文;发送模块107,用于使用用户操作请求对应的访问通道将操作报文发送至对应的前置机;接收模块109,用于接收前置机返回的报文处理结果,其中,通过接收到操作报文的前置机转发操作报文至报文处理***,来获取到报文处理***生成的报文处理结果。
本申请上述实施例三中,部署服务器通过接受模块获取到用户操作请求后,读取存储在部署服务器的前置机路由表,从该表中获取前置机集群中满足预设条件的前置机,通过确定模块确定执行该操作请求所对应的前置机,并通过确认与该前置机对应的访问通道。报文生成模块基于用户操作请求生成的操作报文,使用与用户操作请求所对应的访问通道,将操作报文通过发送模块发送至对应的前置机。该前置机在通过接收模块接收到操作报文后,将操作报文转发至报文处理***,从而获取到报文处理***生成的报文处理结果。最后将报文处理结果发送至部署服务器当中。显而易见的,上述方案通过使用部署服务器中的前置机路由表来确定当前用户操作请求对应的访问通道,该访问通道指向前置机集群中一个唯一的目标前置机,由此,通过上述方案可以准确定位前置机集群中的一个前置机来完成大数据的交互操作,从而解决了现有技术中单点部署前置机的方案在进行大数据交互的过程中,由于前置机负载过大会导致交互效率低的问题,达到了提高前置机处理交互操作数据的效率。
本申请上述实施例三所提供的各个模块可以在部署服务器上运用,实施过程中,在上述实施例三中的部署服务器的一种实施方式,可以是商户为了使用前置机集群所使用的部署服务器,下面就以该部署服务器为例对上述事实里进行详细描述。
上述实施例三中的部署服务器在接收到交易信息(即交易类型,交易金额等相关信息)之后,部署服务器首先读取存储在部署服务器中的前置机路由表。根据前置机路由表中记录的前置机信息,获取到满足预设条件的前置机,为交易提供一条部署服务器与前置机之间的访问通道。同时部署服务器根据前置机路由表内记录的前置机参数,对交易信息进行处理生成交易报文。通过部署服务器生成的交易报文通过之前获取到的访问通道发送至对应的前置机当中。该前置机接收到操作报文,将交易报文转发至银行的后台服务器,获取到交易报文处理结果后,将该处理结果发送回部署服务器。
此处需要说明的是,上述接收模块101、确定模块103、报文生成模块105、发送模块107和接收模块109对应于实施例二中的步骤S40至步骤S48,五个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的部署服务器14中,可以通过软件实现,也可以通过硬件实现。
优选地,如图9所示,本申请上述装置在通过确定模块完成从前置机路由表中确定满足预设条件的前置机的功能之前,装置还可以包括:创建模块102。
其中,创建模块102,用于创建前置机路由表,前置机路由表记录前置机集群中每个前置机的前置机信息,前置机信息至少包括如下任意一个或多个数据字段:前置机的访问地址、前置机的路由比例、前置机的开关状态和前置机参数,其中,前置机的路由比例用于表征当前前置机比较前置路由表中其他前置机的访问优先级,前置机参数包括用于区分每个前置机的特定属性,前置机的开关状态用于表征前置机是否允许访问。
上述创建模块的实现方案中,可以通过创建模块在前置机路由表中设置一个或多个数据字段,上述在前置机路由表中设置的一个或多个如前置机信息可以包括,前置机的路由比例,前置机的开关状态和前置机参数。
此处需要说明的是,上述创建模块102对应于实施例二中的步骤S41,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的部署服务器14中,可以通过软件实现,也可以通过硬件实现。
优选地,如图10所示,本申请上述装置实施例三中的确定模块103可以包括:读取模块1031、选择模块1033和获取模块1035。
其中,读取模块1031,用于通过扫描前置机路由表中的每条前置机信息,读取前置机集群中每个前置机的路由比例;
其中,选择模块1033,用于选择路由比例最大或者路由比例超过预定阈值的前置机作为满足预设条件的前置机;
其中获取模块1035,用于从前置机路由表中读取满足预设条件的前置机的访问地址,获取用户操作请求对应的访问通道。
上述确定模块的实现方案中,部署服务器在通过读取模块读取部署服务器中的前置机路由表时,首先对前置机路由表内与前置机集群内的每台前置机对应的前置机的路由比例进行读取。然后,通过选择模块比较前置机的路由比例数值,设定与前置机的路由比例值最大的或者与前置机的路由比例值超过预定阈值相对应的前置机作为满足预设条件的前置机,最后部署服务器通过获取模块从前置机路由表中读取与上述满足预设条件的前置机相对应的访问地址,获取进行数据交互操作的访问通道。
此处需要说明的是,上述读取模块1031、选择模块1033和获取模块1035对应于实施例二中的步骤S421至步骤S425,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的部署服务器14中,可以通过软件实现,也可以通过硬件实现。
优选地,本申请上述装置实施例三中,报文生成模块105还可以包括:判断模块1051、第一子生成模块1053和第二子生成模块1055。
其中,判断模块1051,用于判断用户操作请求对应的访问通道的前置机信息中是否包含前置机参数;
其中,第一子生成模块1053,用于在用户操作请求对应的访问通道的前置机信息中包含前置机参数的情况下,在将前置机参数加载至用户操作请求之后,对加载了前置机参数的用户操作请求进行报文组装,生成操作报文;
其中,第二子生成模块1055,用于在用户操作请求对应的访问通道的前置机信息中不包含前置机参数的情况下,对用户操作请求进行报文组装,生成操作报文。
在用户操作请求对应的访问通道的前置机信息,通过判断模块对前置机信息中是否包含前置机参数进行判断,在包含前置机参数的情况下,在将前置机参数加载至用户操作请求之后,通过第一子生成模块对加载了前置机参数的用户操作请求进行报文组装,生成操作报文;在用户操作请求对应的访问通道的前置机信息中不包含前置机参数的情况下,通过第二子生成模块对用户操作请求进行报文组装,生成操作报文。
上述部署服务器根据对应的访问通道的前置机信息中的前置机参数,来生成操作报文。当与访问通道的前置机信息中包含前置机参数时,部署服务器根据前置机参数对用户操作请求的报文进行组装,生成操作报文。当与访问通道的前置机信息中不包含前置机参数时,直接对用户操作请求进行报文组装,生成操作报文。结合本实施例三在实际中的运用,当前置机参数是与对应的前置机相对应的用户名和密码时,部署服务器会将读取到的用户名和密码加到报文的前端、后端或者报文中的任意位置,从而生成操作报文发送至该前端机。
一种可选方案中,在通过发送模块完成使用用户操作请求对应的访问通道将操作报文发送至对应的前置机的功能之后,前置机接收通过报文生成模块生成的操作报文,前置机验证操作报文中前置机参数的前置机用户名和前置机密码。在前置机验证前置机参数成功的情况下,前置机转发操作报文至报文处理***;在前置机验证前置机参数失败的情况下,丢弃操作报文。
另一种可选方案中,通过接收到操作报文的前置机转发操作报文至报文处理***之后,报文处理***根据接收到操作报文的前置机转发的操作报文后,对操作报文进行操作处理,生成报文处理结果。报文处理***将报文处理结果返回给前置机,并通过前置机返回给前端用户。
此处需要说明的是,上述判断模块1051、第一子生成模块1053和第二子生成模块1055对应于实施例二中的步骤S441至步骤S445,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的部署服务器14中,可以通过软件实现,也可以通过硬件实现。
优选地,本申请上述装置实施例三中,在通过创建模块102完成创建前置机路由表的方案之后,装置还包括:初始化模块1021、动态调整模块1023、子获取模块1025和动态修改模块1027。
其中,初始化模块1021,用于通过预设前置机路由表中每个前置机的路由比例数值,来初始化前置机路由表中记录的每个前置机的路由比例;
其中,动态调整模块1023,用于动态调整前置机路由表中记录的每个前置机的路由比例,动态调整模块包括:
其中,子获取模块1025,用于获取每个前置机的历史通信记录,历史通信记录包括前置机的通信成功率;
其中,动态修改模块1027,用于使用每个前置机的通信成功率来动态修改每个前置机的路由比例数值,其中,在任意一个或多个前置机的路由比例值小于等于关闭阈值的情况下,将路由比例值小于等于关闭阈值的前置机的开关状态自动修改为禁止访问的工作状态。
通过上述模块,可以实现对部署服务器中前置机路由表的前置机的路由比例的设置方法。首先,通过初始化模块可以对前置路由表中的前置机的路由比例值设置一个初始值。随着使用,部署服务器运用动态调整模块根据通过子获取模块后获取的每个前置机的历史通信记录中的通信成功率来修改与之对应的前置机路由表中的前置机的路由比例数值。当某一个前置机的路由比例值小于或等于预先设置的关闭阈值时,部署服务器将自动把该前置机对应的前置路由表中的前置机的开关状态修改为关,该前置机进入禁止部署服务器访问的工作状态。根据上述方法,可以避免前置机处理交互操作数据的成功率低、软件或者硬件出现故障导致前置机处理交互操作数据的效率低的问题。
此处需要说明的是,上述初始化模块1021、动态调整模块1023、子获取模块1025和动态修改模块1027对应于实施例二中的步骤S411至步骤S413,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的部署服务器14中,可以通过软件实现,也可以通过硬件实现。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。