欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 处理报文的系统、方法、电子设备以及可读存储介质独创技术45894字

处理报文的系统、方法、电子设备以及可读存储介质

2021-02-01 16:09:23

处理报文的系统、方法、电子设备以及可读存储介质

  技术领域

  本发明涉及通信技术领域,特别是涉及一种处理报文的系统、方法、电子设备以及可读存储介质。

  背景技术

  随着通信技术的快速发展,多种传统的线下任务在通信技术的支持下,逐渐转至线上开展。以金融领域的跨境转账任务为例,区域A的银行a可以通过通信技术向区域B的银行b发起转账任务。为便于理解,区域A的银行a可以向第一中间机构发送转账任务的报文,第一中间机构将该转账任务的报文转发至第二中间机构,第二中间机构再将该转账任务的报文转发至区域B的银行b,使得银行b可以确认银行a发起的转账任务。

  虽然通信技术的发展使得众多任务可以在线上开展,但是通过上述示例可见,目前的一些任务在线上开展期间,业务流程较为繁琐。并且对于直接参与业务的双方而言,业务在不同中间机构之间的流转并不透明。为此,在区块链技术产生之后,技术人员尝试借助区块链技术开展任务。但是对于用户而言,区块链技术的技术门槛较高,技术难度较大,用户在利用区块链技术开展任务期间,与区块链系统的交互操作复杂。

  发明内容

  本发明实施例的目的在于提供一种处理报文的系统、方法、电子设备以及可读存储介质,旨在降低区块链系统的交互复杂性,提高用户使用区块链系统的便捷性。具体技术方案如下:

  在本发明实施例的第一方面,提供一种处理报文的系统,所述系统包括:

  报文兼容转换系统,用于接收第一非目标报文,并根据所述第一非目标报文中的报文字段生成目标报文,以及将所述目标报文发送给目标报文收发系统,其中,所述目标报文和所述第一非目标报文用于请求执行相同的目标任务,所述目标报文和所述第一非目标报文具有不同的报文格式;

  所述目标报文收发系统,用于接收所述报文兼容转换系统发送的所述目标报文,并根据所述目标报文,获得与所述目标任务对应的子任务集合,以及将所述子任务集合中包括的子任务发送给区块链系统,以通过所述区块链系统执行所述子任务,其中,所述子任务集合中包括一个或多个子任务。

  在本发明实施例的第二方面,提供一种处理报文的方法,所述方法包括:

  目标报文收发系统接收目标报文,所述目标报文用于请求执行目标任务;

  所述目标报文收发系统根据所述目标报文,获得与所述目标任务对应的子任务集合,所述子任务集合中包括一个或多个子任务;

  所述目标报文收发系统将所述一个或多个子任务发送给区块链系统,以通过所述区块链系统执行所述一个或多个子任务。

  在本发明实施例的第三方面,提供另一种处理报文的方法,所述方法包括:

  报文兼容转换系统接收第一非目标报文,并根据所述第一非目标报文中的报文字段生成目标报文,所述目标报文和所述第一非目标报文用于请求执行相同的目标任务,所述目标报文和所述第一非目标报文具有不同的报文格式;

  所述报文兼容转换系统将所述目标报文发送给目标报文收发系统,以通过所述目标报文收发系统获得与所述目标任务对应的子任务集合,以便区块链系统执行所述子任务集合中的各个子任务。

  在本发明实施例的第四方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

  所述存储器,用于存放计算机程序;

  所述处理器,用于执行存储器上所存放的程序时,实现本发明任一实施例所提供的处理报文的方法。

  在本发明实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的处理报文的方法。

  相比于现有技术,本发明在用户(即业务方)与区块链系统之间部署报文兼容转换系统和目标报文收发系统,用户可以基于其现行的报文协议向报文兼容转换系统发送非目标报文,换言之,用户可以在不更改其现行报文协议的情况下,将其现行报文协议下的报文(即所述非目标报文)发送给报文兼容转换系统,以请求执行目标任务。报文兼容转换系统在接收到用户发送的非目标报文后,根据非目标报文中的报文字段生成目标报文,并将目标报文发送给目标报文收发系统。目标报文收发系统在接收到目标报文后,获得与目标任务对应的子任务集合,以及将所述子任务集合中包括的子任务发送给区块链系统,以通过所述区块链系统执行子任务。

  可见本发明中,用户不需要直接对区块链系统复杂的接口进行操作。一方面,本发明将区块链系统的复杂接口封装成较为简单的目标报文协议,以便于用户可以通过发送目标报文从而实现对区块链系统接口的操作。另一方面,本发明通过进一步部署报文兼容转换系统,使得用户还可以在不更改其现行报文协议的情况下,将其现行报文协议下的报文(即所述非目标报文)发送给报文兼容转换系统,以请求执行目标任务。

  如此,用户不会感知到区块链系统的复杂性,而通过目标报文收发系统,或者通过报文兼容转换系统和目标报文收发系统,便捷地使用区块链系统,享受区块链系统的优越性能,实现目标任务的执行。可见,本发明有利于降低区块链系统的交互复杂性,提高用户使用区块链系统的便捷性。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

  图1是本发明一实施例提出的处理报文的系统的示意图;

  图2是本发明一实施例提出的处理报文的方法的流程示意图;

  图3是本发明另一实施例提出的处理报文的方法的流程示意图;

  图4是本申请另一实施例提出的处理报文的方法的流程示意图;

  图5是本申请另一实施例提出的处理报文的方法的流程示意图;

  图6是本申请另一实施例提出的处理报文的方法的流程示意图;

  图7是本发明另一实施例提出的处理报文的系统的示意图;

  图8是本发明一实施例提出的电子设备的示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  随着通信技术的发展,多种传统的线下任务在通信技术的支持下,逐渐转至线上开展。然而目前的一些任务在线上开展期间,业务流程较为繁琐。并且对于直接参与业务的双方而言,业务在不同中间机构之间的流转并不透明。为此,在区块链技术产生之后,技术人员尝试借助区块链技术开展任务。但是对于用户而言,区块链技术的技术门槛较高,技术难度较大,用户在利用区块链技术开展任务期间,与区块链系统的交互操作过于复杂。

  为此,本发明通过以下多个实施例提出处理报文的系统、方法、电子设备以及可读存储介质,旨在降低区块链系统的交互复杂性,提高用户使用区块链系统的便捷性。

  参考图1,图1是本发明一实施例提出的处理报文的系统的示意图。如图1所示,该报文处理系统包括:报文兼容转换系统和目标报文收发系统。

  其中,报文兼容转换系统用于接收第一非目标报文,并根据所述第一非目标报文中的报文字段生成目标报文(也即将第一非目标报文转换为目标报文),以及将所述目标报文发送给目标报文收发系统,其中,所述目标报文和所述第一非目标报文用于请求执行相同的目标任务,所述目标报文和所述第一非目标报文具有不同的报文格式。

  其中,目标报文收发系统,用于接收所述报文兼容转换系统发送的所述目标报文,并根据所述目标报文,获得与所述目标任务对应的子任务集合,以及将所述子任务集合中包括的子任务发送给区块链系统,以通过所述区块链系统执行所述子任务,其中,所述子任务集合中包括一个或多个子任务。

  需要说明的是,本发明中,报文兼容转换系统和目标报文收发系统属于软件系统。在一些具体实施方式中,报文兼容转换系统和目标报文收发系统可以部署在用户侧的计算机中。在另一些具体实施方式中,报文兼容转换系统和目标报文收发系统也可以部署在服务器集群中,该服务器集群专门用于对接多个用户,为各个用户提供以下服务:将用户发送的非目标报文转换为目标报文、将目标报文解析成子任务集合、以及将子任务集合中的子任务发送给区块链系统执行。在另一些具体实施方式中,报文兼容转换系统可以部署在用户端的计算机中,目标报文收发系统可以部署在服务器集群中。

  可见,本发明中报文兼容转换系统和目标报文收发系统在硬件上的部署方式较为灵活,本发明对报文兼容转换系统和目标报文收发系统在硬件上的具体部署方式不做限定。

  需要说明的是,本发明中所提及的区块链系统由多个计算机节点运行和维护,这些计算机节点中可能包括用户侧的计算机,也可能包括上述服务器集群中的服务器。对于这些计算机节点具体包括哪些计算机,本发明不做限定。

  本发明中,目标报文是指:目标报文收发系统能直接处理的报文,目标报文的报文格式符合目标报文收发系统的处理逻辑。与目标报文相对的非目标报文可以理解为:目标报文收发系统不能直接处理的报文,非目标报文的报文格式不符合目标报文收发系统的处理逻辑。

  为便于理解,假设某一报文收发系统连接区块链系统,该报文收发系统用于接收SMT报文(“SMT”是为了技术人员便于理解本发明而示意性给出的示例名称),该报文收发系统可以对SMT报文进行解析和处理,则该报文收发系统可以被视为一个目标报文收发系统,相应地,SMT报文可以视为该目标报文收发系统对应的目标报文。而SWIFT报文(“SWIFT”是为了便于技术人员理解本发明而示意性给出的示例名称)的报文格式不同于SMT报文的报文格式,SWIFT报文不能直接被目标报文收发系统解析和处理,则SWIFT报文可以被视为一种非目标报文。

  如图1所示,报文兼容转换系统可以接收用户发送的第一非目标报文,其中,用户发送的第一非目标报文可以是用户基于其现行报文协议下的报文,用户不必将其现行报文协议更改为目标报文对应的报文协议,因此本发明在实施期间,用户可以在继续沿用其现行报文协议的情况下实现对区块链系统的使用,一方面使得用户不需要感知区块链系统的复杂性,降低用户使用区块链系统的技术门槛。另一方面,如果将本法发明应用至金融领域,用户(例如银行、金融机构、企业等)可以便捷地借助区块链系统开展业务,通过区块链技术让每个用户可以公平地参与市场,公开的数据对所有市场参与者公开,不公开的数据只有约定共享方才可见,有效保护了不同用户间的交易隐私性。

  如图1所示,报文兼容转换系统在接收到第一非目标报文之后,会根据第一非目标报文的报文字段生成目标报文,并将生成的目标报文发送给目标报文收发系统。目标报文收发系统在接收到目标报文之后,会根据目标报文获得相应的子任务集合,以及将子任务集合中包括的子任务发送给区块链系统,以通过区块链系统执行子任务。对于上述过程的具体实施方式,可参见下述方法实施例中的具体介绍,本发明在此暂不赘述。

  此外,如图1所示,目标报文收发系统还用于获得所述区块链系统执行所述一个或多个子任务后所生成的一个或多个执行结果。其中,每个执行结果表征一个子任务是否执行成功。目标报文收发系统还用于将一个或多个执行结果整合为最终执行结果,并将该最终执行结果发送给报文兼容转换系统。其中,最终执行结果表征上述目标任务是否执行成功。如图1所示,报文兼容转换系统在接收到最终执行结果之后,还用于生成第二非目标报文,并将该第二非目标报文发送给上述第一非目标报文的发送方,其中,第二非目标报文表征上述最终执行结果,第二非目标报文与上述第一非目标报文具有相同的报文格式。对于上述过程的具体实施方式,可参见下述方法实施例中的具体介绍,本发明在此暂不赘述。

  需要说明的是,本发明中通过目标报文收发系统对一个或多个执行结果进行整合,得到表征目标任务是否成功执行的最终执行结果,并将最终执行结果发送给报文兼容转换系统,一方面不必在两个系统之间传输各个执行结果,有利于减少两个系统之间的数据传输量,有效节约网络开销;另一方面,由于各个子任务以及各个子任务的执行结果是系统内部数据,用户通常不关注这些数据,用户通常更关注其目标任务是否执行成功,因此将最终执行结果反馈给用户,可以恰好满足用户需求,有利于提高用户体验。

  此外,本发明中通过报文兼容转换系统生成用于表征最终执行结果的第二非目标报文,然后将第二非目标报文反馈给第一非目标报文的发送方(即用户),由于第二非目标报文的报文格式与第一非目标报文的报文格式相同,因此用户在接收到第二非目标报文之后,可以基于其现行报文协议,解析出第二非目标报文中表征的最终执行结果。可见,本发明在实施期间,用户获取最终执行结果的方式也没有被复杂化,用户为了使用区块链系统,不需要对用户应用程序做复杂地调整。

  需要说明的是,在本发明的另一些实施方式中,目标报文收发系统也可以将各个执行结果全部发送给报文兼容转换系统。报文兼容转换系统再将各个执行结果封装成第二非目标报文,并将第二非目标报文发送给上述第一非目标报文的发送方。

  参考图2,图2是本发明一实施例提出的处理报文的方法的流程示意图,如图2所示,该方法包括以下步骤:

  步骤S21:目标报文收发系统接收目标报文,所述目标报文用于请求执行目标任务。

  如前所述,目标报文是指:目标报文收发系统能直接处理的报文,目标报文的报文格式符合目标报文收发系统的处理逻辑。为便于理解,假设某一报文收发系统连接区块链系统,该报文收发系统用于接收SMT报文(“SMT”是为了便于技术人员理解本发明而示意性给出的示例名称),该报文收发系统可以对SMT报文进行解析和处理,则该报文收发系统可以被视为一个目标报文收发系统,相应地,SMT报文可以视为该目标报文收发系统对应的目标报文。

  如图1所示,在本发明的一些具体实施方式中,目标报文收发系统可以从报文兼容转换系统接收目标报文。如图3所示,在本发明的另一些具体实施方式中,目标报文收发系统可以连接用户端,用户端向目标报文收发系统发送目标报文,换言之,目标报文收发系统可以直接从用户端接收目标报文。其中,用户端是指运行在用户计算机中的用户应用程序。

  本发明中,目标报文可以包括:报文头、报文正文以及报文尾。

  示例地,报文头中包括但不限于以下信息:发送者地址、机构标识、唯一识别代码、任务标识、流程标识、报文版本号等字段。其中,发送者地址,是用于区分不同发送者身份的信息。机构标识,是将本发明应用于金融领域后,用于区分不同金融机构(例如银行、证券公司、保险公司、信托管理公司、基金管理公司)的标识。唯一识别代码是用于区分不同目标报文的信息,相当于目标报文的身份信息,不同目标报文的唯一识别代码互不相同。任务标识是用于表征目标任务的任务类型的信息。流程标识是用于表征目标任务在整个总任务流程中的位置,例如流程标识可以是5-2,表示总任务流程包括5个任务,目标任务是这5个任务中的第2个任务。报文版本号用于表征目标报文的版本。示例地,报文正文中包括目标任务的任务参数,报文正文的内容主要与目标任务相关。示例地,报文尾中包括但不限于加密信息和扩展信息。

  步骤S22:所述目标报文收发系统根据所述目标报文,获得与所述目标任务对应的子任务集合,所述子任务集合中包括一个或多个子任务。

  其中,子任务集合中包括的全部子任务在被区块链系统执行之后所达到的执行效果,是所述目标任务期望达到的执行效果。

  本发明在具体实现时,不同的目标任务对应不同的子任务集合。换言之,不同的目标任务对应的子任务数量可能不同,不同的目标任务对应的子任务类型也可能不同。为便于理解,假设某一个目标报文用于请求执行的目标任务是凭证交易,目标报文收发系统在接收到该目标报文之后,获得与该目标任务对应的子任务集合,该子任务集合中包括:交易A、交易B、交易C以及交易D等四个子任务。假设另一个目标报文用于请求执行的目标任务是债券回购,目标报文收发系统在接收到该目标报文之后,获得与该目标任务对应的子任务集合,该子任务集合中包括:交易X、交易Y以及交易Z等三个子任务。

  如前所述,目标报文中可以包括任务标识和任务参数,其中任务标识表征目标任务的任务类型。目标报文收发系统在执行上述步骤S22时,可以根据所述目标报文中包括的任务标识,从多种生成策略中确定该任务标识对应的目标生成策略,并基于该目标生成策略和所述目标报文中的任务参数,生成与所述目标任务的任务类型相对应的子任务集合,其中,多种生成策略分别对应不同的任务标识。

  本发明在具体实现时,目标报文收发系统中可以包括多个执行器模块,多个执行器模块分别对应不同的任务标识,多个执行器模块分别用于执行不同的生成策略。换言之,多个执行器模块分别用于执行不同的生成策略,从而对不同任务类型的目标报文进行解析,以生成相应的子任务集合。此外,多个执行器模块还分别对应有各自的子任务集合模板,子任务集合模板中包括一个或多个子任务模板,每个子任务模板中预留有任务参数填充位置,执行器模块在解析目标报文时,可以将目标报文中的任务参数填入子任务模板的任务参数填充位置处。

  具体实施期间,目标报文收发系统在接收到目标报文之后,根据该目标报文中的任务标识,从多个执行器模块中确定该任务标识对应的执行器模块。确定出的执行器模块基于其预设的生成策略,从目标报文中解析出各个任务参数,并将解析出的任务参数填入子任务模板的相应任务参数填充位置处。该执行器模块对应的各个子任务模板被填充任务参数之后,组成子任务集合。

  步骤S23:所述目标报文收发系统将所述一个或多个子任务发送给区块链系统,以通过所述区块链系统执行所述一个或多个子任务。

  本发明中,通过多个计算机节点运行和维护所述区块链系统,目标报文收发系统将子任务发送给区块链系统,实际上是将子任务发送给运行区块链系统的计算机节点。具体实现时,运行目标报文收发系统的计算机可以预先配置计算机节点的地址,目标报文收发系统按照预先配置的计算机节点地址,将子任务发送给相应的计算机节点。

  本发明中,在子任务集合中包括多个子任务的情况下,多个子任务之间具有时序关系。其中,子任务之间的时序关系表征了各个子任务在区块链系统中的先后执行顺序。本发明中,目标任务的类型不同,相应的时序关系也不相同。换言之,各个子任务之间的时序关系与目标任务的类型相对应。本发明通过限定各个子任务之间的时序关系,使得子任务的执行顺序符合目标任务实际业务需求。

  在本发明的一些具体实施方式中,目标报文收发系统在执行上述步骤S23时,可以按照所述多个子任务之间的时序关系,将所述多个子任务依次发送给所述区块链系统,以通过所述区块链系统依次执行所述多个子任务。

  示例地,假设某一个目标报文用于请求执行的目标任务是凭证交易,目标报文收发系统在接收到该目标报文之后,通过执行上述步骤S22,获得与该目标任务对应的子任务集合,该子任务集合中包括:交易A、交易B、交易C以及交易D等四个子任务,这四个子任务之间的时序关系为:交易A、交易B、交易C、交易D串行执行。

  如此,目标报文收发系统首先将交易A发送给区块链系统执行,当区块链系统将交易A的执行结果成功返回给目标报文收发系统之后,换言之,当目标报文收发系统接收到区块链系统返回的交易A的执行结果之后,目标报文收发系统将交易B发送给区块链系统执行。当目标报文收发系统接收到区块链系统返回的交易B的执行结果之后,目标报文收发系统将交易C发送给区块链系统执行。当目标报文收发系统接收到区块链系统返回的交易C的执行结果之后,目标报文收发系统将交易D发送给区块链系统执行。

  或者示例地,假设某一个目标报文用于请求执行的目标任务是债券认购,目标报文收发系统在接收到该目标报文之后,通过执行上述步骤S22,获得与该目标任务对应的子任务集合,该子任务集合中包括:交易W、交易X、交易Y以及交易Z等四个子任务,这四个子任务之间的时序关系为:首先执行交易W、接着可并行执行交易X和交易Y,最后执行交易Z。

  如此,目标报文收发系统首先将交易W发送给区块链系统执行,当目标报文收发系统接收到区块链系统返回的交易W的执行结果之后,目标报文收发系统将交易X和交易Y发送给区块链系统执行。当目标报文收发系统接收到区块链系统返回的交易X和交易Y的执行结果之后,目标报文收发系统将交易Z发送给区块链系统执行。

  在本发明的另一些具体实施方式中,目标报文收发系统在执行上述步骤S23时,也可以将所述多个子任务及其之间的时序关系发送给所述区块链系统,以通过所述区块链系统按照所述时序关系依次执行所述多个子任务。具体地,目标报文收发系统可以将多个子任务及其之间的时序关系发送给一个计算机节点,该计算机节点是用于运行区块链系统的计算机节点,该计算机节点在接收到多个子任务及其之间的时序关系之后,根据该时序关系控制多个子任务的执行顺序。

  此外,在一些业务场景中,目标任务在区块链系统中的执行需要借助于合约。因此在这些业务场景中,目标报文收发系统所获得的子任务集合中的一个子任务用于发布合约,该合约是多个预设合约中与所述目标任务对应的预设合约。

  示例地,假设某一个目标报文用于请求执行的目标任务是凭证交易,目标报文收发系统在接收到该目标报文之后,通过执行上述步骤S22,获得与该目标任务对应的子任务集合,该子任务集合中包括:交易A、交易B、交易C以及交易D等四个子任务,其中交易A用于发布合约。并且,目标报文收发系统中预先存储有多个预设合约,不同的预设合约分别对应不同的目标任务。目标报文收发系统从多个预设合约中确定凭证交易(即本示例中的目标任务)所对应的预设合约。目标报文收发系统还可以从目标报文中获取任务参数,并将获得的任务参数填入刚确定的预设合约中。如此,该预设合约被填充任务参数后,上述交易A可以将该合约发布至区块链系统。

  参考图4,图4是本申请另一实施例提出的处理报文的方法的流程示意图。如图4所示,该方法除了包括步骤S21至步骤S23以外,还包括以下步骤:

  步骤S24:所述目标报文收发系统获得所述区块链系统执行所述一个或多个子任务后所生成的一个或多个执行结果,每个执行结果表征一个子任务是否执行成功。

  具体实现时,运行区块链系统的计算机节点可以将执行结果发送给目标报文收发系统,如此,目标报文收发系统获得执行结果。

  步骤S25:所述目标报文收发系统根据所述目标任务的任务类型,将所述一个或多个执行结果整合为最终执行结果,所述最终执行结果表征所述目标任务是否执行成功。

  本发明中,在根据各个子任务的执行结果判断目标任务是否执行成功时,不同类型的目标任务对应不同的判断标准。例如某一些类型的目标任务要求其全部子任务均必须执行成功,在全部子任务均执行成功的条件下,该目标任务才能被视为执行成功。如此,在每个子任务的执行结果均表征该子任务执行成功的情况下,目标报文收发系统将各个执行结果整合成最终执行结果,该最终执行结果表征目标任务执行成功。而在某些子任务的执行结果表征该子任务执行失败的情况下,目标报文收发系统将各个执行结果整合成最终执行结果,该最终执行结果表征目标任务执行失败。

  例如另一些类型的目标任务不要求其所有子任务均必须执行成功,而在至少存在一个子任务执行成功的条件下,该目标任务既可以被视为执行成功。如此,只要存在一个子任务的执行结果表征该子任务执行成功,则目标报文收发系统可以将各个执行结果整合成最终执行结果,该最终执行结果表征目标任务执行成功。而在所有子任务的执行结果均表征子任务执行失败的情况下,目标报文收发系统将各个执行结果整合成最终执行结果,该最终执行结果表征目标任务执行失败。

  步骤S26:所述目标报文收发系统将所述最终执行结果发送给结果接收方。

  如图1和图3所示,本发明在具体实现时,目标报文收发系统将最终执行结果封装为目标报文的形式,并将封装成的目标报文发送给结果接收方。其中,结果接收方可以是上述步骤S21中的目标报文的发送方,例如可以是图1中的报文兼容转换系统,也可以是图3中的用户端。

  需要说明的是,在本发明的另一些实施方式中,目标报文收发系统也可以将各个执行结果全部封装成目标报文,并将封装成的目标报文发送给报文兼容转换系统。如此,使得报文兼容转换系统再将该目标报文转换为第二非目标报文,并将第二非目标报文发送给用户端。

  参考图5,图5是本申请另一实施例提出的处理报文的方法的流程示意图。如图5所示,该方法包括以下步骤:

  步骤S51:报文兼容转换系统接收第一非目标报文,并根据所述第一非目标报文中的报文字段生成目标报文,所述目标报文和所述第一非目标报文用于请求执行相同的目标任务,所述目标报文和所述第一非目标报文具有不同的报文格式。

  如前所述,非目标报文是相对于目标报文的概念,非目标报文可以理解为:目标报文收发系统不能直接处理的报文,非目标报文的报文格式不符合目标报文收发系统的处理逻辑。

  为便于理解,假设某一报文收发系统连接区块链系统,该报文收发系统用于接收SMT报文(“SMT”是为了便于技术人员理解本发明而示意性给出的示例名称),该报文收发系统可以对SMT报文进行解析和处理,则该报文收发系统可以被视为一个目标报文收发系统,相应地,SMT报文可以视为该目标报文收发系统对应的目标报文。而SWIFT报文(“SWIFT”是为了便于技术人员理解本发明而示意性给出的示例名称)的报文格式不同于SMT报文的报文格式,SWIFT报文不能直接被目标报文收发系统解析和处理,则SWIFT报文可以被视为一种非目标报文。

  本发明在具体实现时,报文兼容转换系统中包括多个报文格式转换器,多个报文格式转换器分别用于实现不同协议类型的非目标报文与目标报文之间的转换。报文兼容转换系统在根据第一非目标报文中的报文字段生成目标报文时,具体地,所述多个报文格式转换器中的相应报文格式转换器,根据所述第一非目标报文中的报文字段生成目标报文,其中,所述相应报文格式转换器是用于实现所述第一非目标报文与所述目标报文之间的转换的报文格式转换器。

  为便于理解,例如报文格式转换器1用于实现SWIFT报文与SMT报文之间的转换,报文格式转换器2用于实现IMIX报文与SMT报文之间的转换。其中,SMT报文为目标报文,SWIFT报文和IMIX报文为非目标报文。当用户端发来SWIFT报文时,报文格式转换器1根据SWIFT报文中的报文字段生成SMT报文。换言之,不同的报文格式转换器分别用于将不同类型的非目标报文转换为目标报文。

  或者例如,报文格式转换器1用于实现SWIFT报文的第001种报文格式与SMT报文的第001种报文格式之间的转换,报文格式转换器2用于实现SWIFT报文的第002种报文格式与SMT报文的第002种报文格式及第003种报文格式之间的转换。换言之,不同的报文格式转换器分别用于将非目标报文的不同报文格式转换为目标报文的相应报文格式。其中,不同的报文格式分别对应不同的业务类型。

  本发明通过部署多个报文格式转换器,分别用于实现不同协议类型的非目标报文与目标报文的转换,一方面使得本发明具有更广泛地适用性,能够支持多种协议类型的非目标报文与目标报文的转换,支持不同协议类型的不同用户群体,分别借助不同的报文格式转换器实现报文格式转换,从而可以实现对区块链系统的使用。

  另一方面,由于不同协议类型的报文可以被转换为相同协议类型的目标报文,再通过目标报文收发系统将目标报文解析为子任务集合,并通过区块链系统执行子任务,因此使得不同协议类型的报文之间开展相互协作等成为可能。换言之,支持不同协议类型的不同用户在不调整各自的协议类型的情况下,可以通过本发明,实现在区块链系统中的相互协作和相互交易。可见本发明不仅简化了用户与区块链系统之间的交互复杂性,而且还使得支持不同协议类型的不同用户在区块链系统中的相互交易成为可能。

  为便于理解,例如SWIFT报文可被报文格式转换器1转换为SMT报文,例如IMIX报文可被报文格式转换器2转换为SMT报文。则支持SWIFT报文协议的银行和支持IMIX报文协议的证券公司之间可以利用本发明,实现在区块链系统上的相互交易。

  本发明中,报文格式转换器在将非目标报文转换为目标报文时,具体可以读取非目标报文中的部分或全部报文字段,并按照目标报文所要求的报文格式,将读取的报文字段封装成目标报文。

  为便于理解,假设SMT报文的第1-第10个字节作为报文头,报文头的第1和2个字节用于填充发送者地址,报文头的第3和第4个字节用于填充机构标识,报文头的第5个字节用于填充任务标识。又假设SWIFT报文的第5和第6个字节用于填充发送者地址,SWIFT报文的第7和第8个字节用于填充机构标识,SWIFT报文的正文中记录有任务类型。如此,报文格式转换器1在将SWIFT报文转换为SMT报文时,从SWIFT报文的第5和第6个字节处读取发送者地址,并将读取的发送者地址填入SMT报文的第1和2个字节处。报文格式转换器1从SWIFT报文的第7和第8个字节处读取机构标识,并将读取的机构标识填入SMT报文的第3和4个字节处。此外,报文格式转换器1还从SWIFT报文的正文中读取任务类型,并根据任务类型确定相应的任务标识,以及将确定出的任务标识填入SMT报文的第5个字节处。

  步骤S52:所述报文兼容转换系统将所述目标报文发送给目标报文收发系统,以通过所述目标报文收发系统获得与所述目标任务对应的子任务集合,以便区块链系统执行所述子任务集合中的各个子任务。

  具体实现时,报文兼容转换系统中的相应报文格式转换器在生成目标报文后,将目标报文发送给目标报文收发系统。如此。目标报文收发系统后续向报文兼容转换系统返回消息时(例如最终执行结果),可以将消息直接返回给报文兼容转换系统中的相应报文格式转换器。

  对于目标报文收发系统在接收到目标报文后的具体处理方式,可参加上文中的方法实施例,本发明在此不再赘述。

  参考图6,图6是本申请另一实施例提出的处理报文的方法的流程示意图。如图6所示,该方法除了包括步骤S51和步骤S52之外,还包括以下步骤:

  步骤S53:所述报文兼容转换系统接收所述目标报文收发系统发送的最终执行结果,所述最终执行结果表征所述目标任务是否执行成功。

  其中,目标报文收发系统发送的最终执行结果封装在目标报文中,如图1所示。换言之,报文兼容转换系统接收目标报文收发系统发送的目标报文,该目标报文中封装有最终执行结果。

  如前所述,在本发明的一些具体实施方式中,报文兼容转换系统中可以包括多个报文格式转换器,在上述步骤S52中,多个报文格式转换器中的相应报文格式转换器向目标报文收发系统发送了目标报文,在步骤S53中,该相应报文格式转换器接收目标报文收发系统返回的目标报文,该目标报文中封装有最终执行结果。

  步骤S54:所述报文兼容转换系统生成第二非目标报文,并将所述第二非目标报文发送给所述第一非目标报文的发送方,其中,所述第二非目标报文表征所述最终执行结果,所述第二非目标报文与所述第一非目标报文具有相同的报文格式。

  在本发明的一些具体实施方式中,相应报文格式转换器在接收到目标报文收发系统返回的目标报文后,将该目标报文转换为相应协议类型的非目标报文,该非目标报文中封装有最终执行结果。

  参考图7,图7是本发明另一实施例提出的处理报文的系统的示意图。图7中,以SMT报文是目标报文、SWIFT报文和IMIX报文为非目标报文为例,如图7所示,该系统包括报文兼容转换系统和目标报文收发系统。

  其中,报文兼容转换系统中包括多个报文格式转换器,多个报文格式转换器分别用于实现不同协议类型的非目标报文与目标报文之间的转换。目标报文收发系统包括管理模块和多个执行器模块,多个执行器模块分别用于对不同任务类型的目标报文进行解析,管理模块记录了各个执行器模块与任务标识之间的对应关系,并在接收到目标报文后,根据目标报文中的任务标识,将目标报文分配给相应的执行器模块进行解析。

  如图7所示,不同的用户端分别连接不同的报文格式转换器,多个报文格式转换器均与目标报文收发系统的管理模块连接。报文格式转换器在接收到用户端发送的非目标报文后,将非目标报文转换为目标报文(具体转换方式请参见上文,此处不再赘述),并将目标报文发送给目标报文收发系统的管理模块。管理模块在接收到报文格式转换器发送的目标报文后,根据目标报文中包含的任务标识,确定目标任务的任务类型,从而将目标报文分配给相应的执行器模块。执行器模块获得目标报文后,将目标报文解析成子任务集合(具体解析方式请参见上文,此处不再赘述),并使得区块链系统依次执行子任务集合中的各个子任务。

  如图7所示,一些支持目标报文协议(即目标报文对应的报文协议)的用户端,可以直接与目标报文收发系统的管理模块连接,管理模块在接收到用户端发来的目标报文后,按照与上文同样的方式对目标报文进行分配。

  本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。

  所述存储器803,用于存放计算机程序;

  所述处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:

  目标报文收发系统接收目标报文,所述目标报文用于请求执行目标任务;

  所述目标报文收发系统根据所述目标报文,获得与所述目标任务对应的子任务集合,所述子任务集合中包括一个或多个子任务;

  所述目标报文收发系统将所述一个或多个子任务发送给区块链系统,以通过所述区块链系统执行所述一个或多个子任务。

  或者,处理器801用于执行存储器803上所存放的程序时,实现如下步骤:

  报文兼容转换系统接收第一非目标报文,并根据所述第一非目标报文中的报文字段生成目标报文,所述目标报文和所述第一非目标报文用于请求执行相同的目标任务,所述目标报文和所述第一非目标报文具有不同的报文格式;

  所述报文兼容转换系统将所述目标报文发送给目标报文收发系统,以通过所述目标报文收发系统获得与所述目标任务对应的子任务集合,以便区块链系统执行所述子任务集合中的各个子任务。

  或者,处理器801用于执行存储器803上所存放的程序时,实现本发明以上其他方法实施例所提供的处理报文的方法步骤。

  上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

  通信接口用于上述电子设备与其他设备之间的通信。

  存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

  上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

  在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的处理报文的方法。

  在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的处理报文的方法。

  在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

  需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

  本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

《处理报文的系统、方法、电子设备以及可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)