基于AS2的数据接收、发送、交互方法和客户端与流程

文档序号:26095704发布日期:2021-07-30 18:05阅读:509来源:国知局
基于AS2的数据接收、发送、交互方法和客户端与流程

本公开涉及数据传输技术领域,特别是一种基于as2的数据接收、发送、交互方法和客户端。



背景技术:

在互联网edi(electronicdatainterchange,电子数据交换)领域,如何安全可靠的传输商业文档,是最受关注的问题。edi作为商业或行政事务处理的国际标准,其通讯多数情况下都是为b2b(business-to-business,企业对企业)的商业行为来进行考量,所以在edi领域通过ssl、s/mime加密报文等技术来最大限度的保障通讯的安全可靠。

与此同时,在企业内、企业间通信的场景下,由于技术和商业模式的发展变的多样性,如何消除技术壁垒让接入变的更加简单、快速是edi平台首要考虑的问题。as2(applicabilitystatement2,适用声明)协议基于http/https和smime的安全报文传输协议是目前业内较为流行的企业电子商业数据交换协议。



技术实现要素:

发明人发现,由于没有通用协议客户端,且协议相对较为复杂,即使采用商业软件客户端进行通信,后端业务系统对接同样是比较复杂的过程。

本公开的一个目的在于提高基于as2协议的交互的便捷性和灵活性。

根据本公开的一些实施例的一个方面,提出一种基于as2的数据接收方法,包括:as2交互客户端接收as2协议报文;从报文头中获取源节点标识和目标节点标识;从注册至的业务服务池中获取业务服务信息,其中,业务服务信息包括报文协议类型;as2交互客户端在注册当前接收服务时,向业务服务池注册当前接收服务,并提供业务服务信息;根据业务服务信息处理as2协议报文的报文内容,获取有效载荷;根据业务服务信息封装有效载荷,以便提供给业务系统。

在一些实施例中,根据业务服务信息处理as2协议报文的报文内容包括:解压缩报文内容;从证书管理中心获取证书和私钥;根据私钥解密解压缩后的报文内容;根据证书执行签名验证。

在一些实施例中,基于as2的数据接收方法还包括:根据报文头信息确定报文是否为mdn(messagedispositionnotification,消息处置通知)报文;在报文为mdn报文的情况下,在获取有效载荷后,执行mic(messagesintegritycheck,消息完整性校验)。

在一些实施例中,基于as2的数据接收方法还包括:接收来自业务系统的as2接收服务发布请求;根据发布请求在证书管理中心中验证证书的有效性;在验证通过的情况下,将当前接收服务注册至业务服务池;as2交互客户端发布当前接收服务。

在一些实施例中,将当前接收服务注册至业务服务池包括:向业务服务池提供源节点标识、目标节点标识和报文协议类型以便业务服务池存储。

在一些实施例中,发布请求中包括源节点标识、目标节点标识和报文协议类型。

在一些实施例中,基于as2的数据接收方法还包括:在需要卸载接收服务的情况下,关闭as2交互客户端提供的接收服务;向业务服务池发送注销指令,以便业务服务池删除对应接收服务的业务服务信息。

通过这样的方法,能够根据在注册接收业务时在业务服务池中提供所需信息,并根据接收的报文查找业务服务池,进而根据提取到的信息执行报文处理,从而为业务系统提供满足需求的有效载荷,方便业务系统基于as2协议进行便捷、灵活的数据接收。

根据本公开的一些实施例的一个方面,提出一种基于as2的数据发送方法,包括:as2交互客户端接收来自业务系统的数据发送请求,数据发送请求中包括待发送的报文内容;获取预存的数据配置信息,其中,配置信息中包括报文封装协议;as2交互客户端在注册当前接收mdn服务时,向配置中心提供配置信息;根据数据接收方的配置信息处理待发送的报文内容,生成as2协议报文;发送as2协议报文。

在一些实施例中,基于as2的数据发送方法还包括:在完成封装待发送的报文内容后,计算并存储消息完整性校验mic信息。

在一些实施例中,基于as2的数据发送方法还包括:在未查询到数据接收方的配置信息的情况下,执行错误告警。

在一些实施例中,根据数据接收方的配置信息处理待发送的报文内容包括:根据配置信息中的封装协议处理报文;获取数据接收方的as2证书,基于数据接收方的as2证书加密封装后的报文;获取数据接收方的私钥,基于数据接收方的私钥对加密后的报文签名;压缩完成签名后的报文,获取as2协议报文。

在一些实施例中,发送as2协议报文包括:获取数据接收方的安全套接层ssl证书;根据ssl证书发送as2协议报文。

在一些实施例中,基于as2的数据发送方法还包括:接收来自业务系统的as2接收消息处置通知mdn服务;将配置信息注册至配置中心,配置信息中包括报文封装协议和数据接收方配置信息;验证证书的有效性;在确定证书有效的情况下,as2交互客户端发布as接收mdn服务。

在一些实施例中,基于as2的数据发送方法还包括:在需要卸载接收mdn服务的情况下,as2交互客户端取消发布的对应接收mdn服务;向配置中心发送注销指令,以便配置中心注销对应mdn接收服务的配置信息;关闭as2接收mdn服务。

通过这样的方法,能够根据在注册发送业务时在配置中心留存所需信息,并执行报文发送时获取对应的信息来对报文进行处理,从而生成满足业务需求的as2协议报文,方便业务系统基于as2协议进行便捷、灵活的数据发送。

根据本公开的一些实施例的一个方面,提出一种基于as2的数据交互方法,包括:上文中提到的任意一种基于as2的数据接收方法;和,上文中提到的任意一种基于as2的数据发送方法。

通过这样的方法,能够在接收、发送业务注册时,分别在客户端执行所需信息的存储,以便在业务触发下提取到对应的信息,从而对报文进行对应处理,方便业务系统基于as2协议进行便捷、灵活的数据收发。

根据本公开的一些实施例的一个方面,提出一种as2交互客户端,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中提到的任意一种方法。

这样的客户端能够在接收、发送业务注册时,分别执行所需信息的存储,以便在业务触发下提取到对应的信息,从而对报文进行对应处理,方便业务系统基于as2协议进行便捷、灵活的数据收发。

根据本公开的一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中提到的任意一种方法的步骤。

通过执行这样的计算机可读存储介质上的指令,能够在接收、发送业务注册时,分别执行所需信息的存储,以便在业务触发下提取到对应的信息,从而对报文进行对应处理,方便业务系统基于as2协议进行便捷、灵活的数据收发。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:

图1为本公开的基于as2的数据接收方法的一些实施例的流程图。

图2为本公开的基于as2的数据接收方法的另一些实施例的流程图。

图3为本公开的基于as2的数据接收方法的注册过程的一些实施例的流程图。

图4为本公开的基于as2的数据发送方法的一些实施例的流程图。

图5为本公开的基于as2的数据发送方法的另一些实施例的流程图。

图6为本公开的基于as2的数据发送方法的注册过程的一些实施例的流程图。

图7为本公开的as2交互客户端的一些实施例的示意图。

图8为本公开的as2交互客户端的另一些实施例的示意图。

具体实施方式

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

本公开的基于as2的数据接收方法的一些实施例的流程图如图1所示。

在步骤101中,as2交互客户端接收as2协议报文。在一些实施例中,as2交互客户端通过互联网获取来自对端的as2协议报文。在一些实施例中,as2协议报文可以为mdn报文。

在步骤102中,as2交互客户端从as2协议报文头中获取源节点标识(如as2id)和目标节点标识。在一些实施例中,还可以根据报文头信息report-type=disposition-notification判断收到的报文是否为mdn报文。

在步骤103中,从注册至的业务服务池中获取业务服务信息,业务服务信息包括报文协议类型。在一些实施例中,as2交互客户端在注册当前接收服务时,向业务服务池注册当前接收服务,并提供业务服务信息。在一些实施例中,在注册时,可以向业务服务池提供报文协议类型、源节点标识和目的节点标识,进而通过标识匹配的方式得到报文协议类型。

在步骤104中,根据业务服务信息处理as2协议报文的报文内容,获取有效载荷payload。在一些实施例中,对于报文内容的处理可以包括解压、解密以及签名验证。

在步骤105中,根据业务服务信息封装有效载荷,从而封装成业务系统所需的报文格式,进而提供给业务系统。

通过这样的方法,能够根据在注册接收业务时在业务服务池中提供所需信息,并根据接收的报文查找业务服务池,进而根据提取到的信息执行报文处理,从而为业务系统提供满足需求的有效载荷,方便业务系统基于as2协议进行便捷、灵活的数据接收。

在一些实施例中,在处理报文内容的过程中,可以先解压缩报文内容;进而从证书管理中心获取证书和私钥,根据私钥解密解压缩后的报文内容,根据证书执行签名验证。在一些实施例中,可以根据源地址、目的地址在证书管理中心中查询所需证书和私钥。在一些实施例中,可以将业务系统需要的证书、私钥预先存储于证书管理中心中,以交互双方的标识作为所以,以便快速查找、获取证书和私钥。

通过这样的方法,可以基于证书管理中心中存储的证书、私钥进行报文处理,在满足as2协议的同时,提高集成度,免去了人工配置的负担,提高了报文处理效率。

在一些实施例中,在根据报文头信息确定报文为mdn报文的情况下,在获取有效载荷payload后,需要执行mic,从而满足基于as2协议的交互过程,保证交互的可靠性。

本公开的基于as2的数据接收方法的另一些实施例的流程图如图2所示。在基于as2的数据接收方法的执行过程中,可以包括报文接收21、配置22、报文处理23、业务服务24、证书管理25以及服务管理26共六部分。

在报文接收21中,as2交互客户端接收来自网络的as2协议报文。根据as2协议报文的报文头信息as2-from和as2-to分别获取发送方as2id(源节点标识)和接收方as2id(目的节点标识)。在一些实施例中,还可以根据报文头信息report-type=disposition-notification判断报文是否为mdn报文。

在配置22中,从服务管理26中获取业务服务信息。在一些实施例中,若如没有对应的业务服务信息,则报错。在一些实施例中,业务服务信息为通过注册过程中新建商家业务服务接口获取。

在报文处理23中,根据报文内容,对报文进行解压缩、解密、签名验证等处理,所需的证书、私钥从负责证书管理25的证书管理中心获取。

在业务服务24中,保存处理完成的payload。在报文为mdn报文的情况下,还需验证mic。根据业务服务信息,获得协议类型,按协议类型对报文进行封装,并将封装后的信息发送至需要该报文的业务系统。

在一些实施例中,业务系统在使用as2接收服务之前,需要在as2交互客户端进行注册,使客户端具备于源、目的端匹配的as2接收功能。本公开的基于as2的数据接收方法的注册过程的一些实施例的流程图如图3所示。

在步骤301中,客户端接收来自业务系统的as2接收服务发布请求。在一些实施例中,as2接收服务发布请求中包括配置信息,具体包括源节点标识、目的节点标识,还可以包括协议类型,如rpc(remoteprocedurecallprotocol,远程过程调用协议)、mq(messagequeuing,消息队列)、http(hypertexttransferprotocoloversocketlayer,超文本传输协议)/https(hypertexttransferprotocoloversecuresocketlayer,超文本传输安全协议)协议等。

在步骤302中,根据发布请求在证书管理中心中验证证书的有效性。在一些实施例中,可以在证书管理中心验证证书是否存在、是否在有效期等。在验证通过的情况下,继续执行接下来的步骤,否则,拒绝当前服务的发布。

在步骤303中,在验证通过的情况下,将当前接收服务注册至业务服务池。发布的内容可以包括源节点标识、目的节点标识,以及是否为mdn。在一些实施例中,发布的内容可以包括报文协议类型。在一些实施例中,由源节点标识+目的节点标识+是否为mdn可以构成唯一key,可以作为对其他内容的索引。

在步骤304中,as2交互客户端发布当前接收服务。在一些实施例中,通常as2协议url配置为全局统一,如有特殊要求,可在配置信息中设置。

通过这样的方法,能够实现基于as2协议的接收服务的自动注册和发布,达到快速与对端对接的目的,提高处理效率。

在一些实施例中,当服务使用完成,需要卸载as2报文接收服务的情况下,关闭as2交互客户端提供的接收服务,并向业务服务池发送注销指令,以便业务服务池删除对应接收服务的业务服务信息,从而完成自动注销,进一步降低对接多商家进行交互时管理的复杂度,也有利于服务的隔离,提高安全性,降低池中存储的资源量,提高处理效率。

本公开的基于as2的数据发送方法的一些实施例的流程图如图4所示。

在步骤401中,as2交互客户端接收来自业务系统的数据发送请求,数据发送请求中包括待发送的报文内容。在一些实施例中,当业务系统需要进行报文发送时,要先将报文内容提供给as2交互客户端。

在步骤402中,获取预存的数据配置信息,其中,配置信息中包括报文封装协议。在一些实施例中,as2交互客户端在注册当前接收mdn服务时,可以向配置中心提供配置信息。配置信息可以为默认信息,也可以为用户自主配置的信息。在一些实施例中,as2交互客户端可以根据业务系统提供的源节点标识、目的节点标识查询预存的配置信息。在一些实施例中,在未查询到数据接收方的配置信息的情况下,执行错误告警。

在步骤403中,根据数据接收方的配置信息处理待发送的报文内容,生成as2协议报文。在一些实施例中,处理操作可以包括封装、加密以及压缩。

在步骤404中,向网络发送as2协议报文。

通过这样的方法,能够根据在注册发送业务时在配置中心留存所需信息,并执行报文发送时获取对应的信息来对报文进行处理,从而生成满足业务需求的as2协议报文,方便业务系统基于as2协议进行便捷、灵活的数据发送。

在一些实施例中,基于as2的数据发送方法还包括:在完成封装待发送的报文内容后,计算并存储mic信息,从而满足基于as2协议的交互过程,保证交互的可靠性。

在一些实施例中,根据数据接收方的配置信息处理待发送的报文内容可以包括:根据配置信息中的封装协议处理报文;获取数据接收方的as2证书,基于数据接收方的as2证书加密封装后的报文;获取数据接收方的私钥,基于数据接收方的私钥对加密后的报文签名;压缩完成签名后的报文,获取as2协议报文。

通过这样的方法,可以基于证书管理中心中存储的证书、私钥进行报文处理,在满足as2协议的同时,提高集成度,免去了人工配置的负担,提高了报文处理效率。

在一些实施例中,在需要基于ssl证书进行报文发送的情况下,还可以在步骤404前,获取数据接收方的安全套接层ssl证书,进而根据ssl证书发送as2协议报文,从而进一步提高了安全性,也满足基于as2协议的传输的各种需求,有利于推广应用。

本公开的基于as2的数据发送方法的另一些实施例的流程图如图5所示。在基于as2的数据发送方法的执行过程中,可以包括报文准备51、协议路由52、报文封装53、发送54、配置中心管理55以及证书管理56共六部分。

在报文准备51中,as2交互客户端接收来自业务系统的数据发送请求。

在协议路由52中,获取合作伙伴配置信息,如果请求中包含自定义配置则使用自定义配置,如没有则从配置中心获取,如果均没有配置报错。在配置中心管理55中,可以选择从web端注册默认商家配置信息,配置中心根据该默认信息,或用户自定义配置家配置信息。

在报文封装53中,根据配置信息和从证书管理56部分获取的证书对原始报文进行封装、加密、签名、压缩等操作。在一些实施例中,还可以存储压缩完成的报文,计算并存储mic信息。

在发送54中,发送报文。在一些实施例中,在需要基于ssl证书进行报文发送的情况下,还可以从证书管理中心获取商家ssl证书,进而根据ssl证书发送as2协议报文。

在一些实施例中,业务系统在使用as2发送服务之前,需要在as2交互客户端进行注册,使客户端具备于源、目的端匹配的as2发送功能。本公开的基于as2的数据发送方法的注册过程的一些实施例的流程图如图6所示。

在步骤601中,接收来自业务系统的as2接收mdn服务,准备进行服务发布。业务系统可以提供源节点和目的节点的节点标识。在一些实施例中,服务注册过程可以参考报文接收服务的注册过程。

在步骤602中,将配置信息注册至配置中心,配置信息中包括报文封装方案(协议)和数据接收方配置信息。

在步骤603中,验证证书的有效性。在一些实施例中,若接收方(目的节点)配置的是https,需要同时验证ssl证书。

在步骤604中,在确定证书有效的情况下,as2交互客户端发布as接收mdn服务

通过这样的方法,能够实现基于as2协议的发送服务的自动注册和发布,提高处理效率。

在一些实施例中,当服务使用完成,需要卸载as2报文发送服务的情况下,as2交互客户端取消发布的对应接收mdn服务;向配置中心发送注销指令,以便配置中心注销对应mdn接收服务的配置信息;关闭as2接收mdn服务,从而完成自动注销,进一步降低对接多商家进行交互时管理的复杂度,也有利于服务的隔离,提高安全性,降低池中存储的资源量,提高处理效率。

在一些实施例中,本公开提出一种基于as2的数据交互方法,可以包括上文中提到的任意一种基于as2的数据接收方法,以及上文中提到的任意一种基于as2的数据发送方法。通过这样的方法,能够实现基于as2协议进行的自动注册、自动发布以及多协议适配的路由、解析、转换作业流程;能通过业务系统发布的接收服务和发送服务,自适应发布相关流程和服务,达到快速接入商家的目的,结合服务注册中心、服务配置中心、证书管理中心让业务服务、协议服务、服务配置隔离,降低集群管理复杂度,且实现可自定义服务配置。

在一些实施例中,同一个as2交互客户端可以执行基于as2的数据发送方法,也可以执行基于as2的数据接收方法,针对的对端(合作商家或对侧商家)可以相同或不同。通过这样的方法,通过单个客户端能够实现发送、接收功能的发布,进一步提高了集成能力,降低集群管理的复杂度。

本公开as2交互客户端的一个实施例的结构示意图如图7所示。as2交互客户端包括存储器701和处理器702。其中:存储器701可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中基于as2的数据发送、接收或交互方法的对应实施例中的指令。处理器702耦接至存储器701,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器702用于执行存储器中存储的指令,能够方便业务系统基于as2协议进行便捷、灵活的数据收发。

在一个实施例中,还可以如图8所示,as2交互客户端800包括存储器801和处理器802。处理器802通过bus总线803耦合至存储器801。该as2交互客户端800还可以通过存储接口804连接至外部存储装置805以便调用外部数据,还可以通过网络接口806连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。

在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够方便业务系统基于as2协议进行便捷、灵活的数据收发。

在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现基于as2的数据发送、接收或交互方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1