数据处理方法、装置、电子设备及存储介质转让专利

申请号 : CN202110281451.7

文献号 : CN113051086B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王平涛

申请人 : 贝壳找房(北京)科技有限公司

摘要 :

本公开实施例公开了一种数据处理方法、装置、电子设备及存储介质,其中,方法包括:确定第三方系统传输业务数据的传输方式;在业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供接口平台将目标数据插入对应的消息队列;在业务数据的传输方式为HTTP方式时,将目标数据通过HTTP接口的方式发送给第三方系统,目标数据为EBS系统对业务数据进行处理得到的。本公开实施例可以实现EBS系统和第三方系统通过消息队列进行数据对接,使得EBS系统与第三方系统之间的数据交互方式更加多样。

权利要求 :

1.一种数据处理方法,其特征在于,应用在EBS系统上,所述EBS系统不具备直接接收消息队列的能力,所述方法包括:

确定第三方系统传输业务数据的传输方式;

在所述业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供所述接口平台将所述目标数据插入对应的消息队列,所述消息队列用于实现所述EBS系统和第三方系统之间的数据对接,所述业务数据的数据格式为JSON格式;

在所述业务数据的传输方式为HTTP方式时,将所述目标数据通过HTTP接口的方式发送给第三方系统;

其中,所述目标数据为所述EBS系统对所述业务数据进行处理得到的。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据HTTP协议头信息,确定用于处理所述业务数据的处理程序;

调用所述处理程序对所述业务数据进行处理,得到所述目标数据。

3.根据权利要求2所述的方法,其特征在于,所述根据HTTP协议头信息,确定用于处理所述业务数据的处理程序,包括:根据所述HTTP协议头信息中携带的接口代码和系统标识信息,从业务配置表中获取所述处理程序。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:创建所述业务配置表,所述业务配置表中记录有至少一个第三方系统的系统标识信息、接口代码、调用服务的服务类型、对应的处理程序。

5.根据权利要求1所述的方法,其特征在于,所述调用对应的发送消息的HTTP服务,包括:

根据所述业务数据对应的接口代码,获取所述第三方系统发布的对应的发送消息的HTTP服务的调用地址、服务名称;

基于所述调用地址和服务名称,调用所述对应的发送消息的HTTP服务。

6.根据权利要求5所述的方法,其特征在于,所述将目标数据通过HTTP接口发送给接口平台,包括:

输入消息集群地址、消息分类方式topic和所述目标数据,生成对应的目标消息;

通过对应的发送消息的服务,将所述目标消息通过HTTP接口发送给所述接口平台。

7.一种数据处理方法,其特征在于,应用在接口平台上,所述方法包括:监听第三方系统通过消息队列的方式传输的业务数据;

从所述消息队列中获取所述业务数据;

调用EBS系统发布的发送消息的HTTP服务,将所述业务数据通过HTTP接口传输给EBS系统;

监听所述EBS系统通过所述HTTP接口传输的目标数据,所述目标数据为所述EBS系统对所述业务数据进行处理得到的;

将所述目标数据插入消息队列,所述消息队列用于实现所述EBS系统和所述第三方系统之间的数据对接,所述EBS系统不具备直接接收消息队列的能力;

其中,所述业务数据的数据格式为JSON格式。

8.一种数据处理装置,其特征在于,应用在EBS系统上,所述EBS系统不具备直接接收消息队列的能力,所述装置包括:

第一确定模块,用于确定第三方系统传输业务数据的传输方式;

第一发送模块,用于在所述业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供所述接口平台将所述目标数据插入对应的消息队列,所述消息队列用于实现所述EBS系统和第三方系统之间的数据对接,所述业务数据的数据格式为JSON格式;

第二发送模块,用于在所述业务数据的传输方式为HTTP方式时,将所述目标数据通过HTTP接口的方式发送给所述第三方系统;

其中,所述目标数据为所述EBS系统对所述业务数据进行处理得到的。

9.一种数据处理装置,其特征在于,应用在接口平台上,所述装置包括:监听模块,用于监听第三方系统通过消息队列的方式传输的业务数据;

数据获取模块,用于从所述消息队列中获取所述业务数据;

第二发送模块,用于调用EBS系统发布的发送消息的HTTP服务,将所述业务数据通过HTTP接口传输给EBS系统;

第三监听模块,用于监听所述EBS系统通过所述HTTP接口传输的目标数据,所述目标数据为所述EBS系统对所述业务数据进行处理得到的;

数据插入模块,用于将所述目标数据插入消息队列,所述消息队列用于实现所述EBS系统和第三方系统之间的数据对接,所述EBS系统不具备直接接收消息队列的能力;

其中,所述业务数据的数据格式为JSON格式。

10.一种数据处理系统,其特征在于,所述系统包括EBS系统和接口平台;

所述EBS系统包括权利要求8所述的装置;

所述接口平台包括权利要求9所述的装置。

说明书 :

数据处理方法、装置、电子设备及存储介质

技术领域

[0001] 本公开涉及数据库技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。

背景技术

[0002] Oracle电子商务套件(E‑business suite,简称为EBS)系统的核心价值是对企业流程的管理和规范,例如,EBS系统可以与第三方系统进行数据交互和集成以实现对第三方
系统的数据处理。
[0003] 相关技术中,综合的面向服务的架构网关(Integrated Service‑Oriented Architecture Gateway,简称为ISG)是目前Oracle EBS系统提供的一个用于多系统集成的
面向服务的架构(Service‑Oriented Architecture,简称为SOA)框架,框架比较重,与EBS
系统之间的耦合比较紧密,因此不能通过灵活配置快速实现服务的发布和调用;此外,ISG
框架也不能支持目前比较流行的消息队列,如Kafka、MQ等,因此导致了EBS系统与第三方系
统之间的数据交互存在局限性。

发明内容

[0004] 本公开实施例所要解决的一个技术问题是:提供一种数据处理方法、装置、电子设备及存储介质。
[0005] 根据本公开实施例的一个方面,提供一种数据处理方法,应用在EBS系统上,所述方法包括:
[0006] 确定第三方系统传输业务数据的传输方式;
[0007] 在所述业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供所述接口平台将所述目标数据插入对
应的消息队列,所述消息队列用于实现所述EBS系统和所述第三方系统之间的数据对接;
[0008] 在所述业务数据的传输方式为HTTP方式时,将所述目标数据通过HTTP接口的方式发送给所述第三方系统;
[0009] 其中,所述目标数据为所述EBS系统对所述业务数据进行处理得到的。
[0010] 在本公开的又一实施方式中,所述方法还包括:
[0011] 根据HTTP协议头信息,确定用于处理所述业务数据的处理程序;
[0012] 调用所述处理程序对所述业务数据进行处理,得到所述目标数据。
[0013] 在本公开的又一实施方式中,所述根据HTTP协议头信息,确定用于处理所述业务数据的处理程序,包括:
[0014] 根据所述HTTP协议头信息中携带的接口代码和系统标识信息,从业务配置表中获取所述处理程序。
[0015] 在本公开的又一实施方式中,所述方法还包括:
[0016] 创建所述业务配置表,所述业务配置表中记录有至少一个第三方系统的系统标识信息、接口代码、调用服务的服务类型、对应的处理程序。
[0017] 在本公开的又一实施方式中,所述方法还包括:
[0018] 建立一个统一资源标识符URI资源服务;
[0019] 将所述URI资源服务确定为所述EBS系统对外提供服务的统一资源定位器URL地址。
[0020] 在本公开的又一实施方式中,所述调用对应的发送消息的HTTP服务,包括:
[0021] 根据所述业务数据对应的接口代码,获取所述第三方系统发布的对应的发送消息的HTTP服务的调用地址、服务名称;
[0022] 基于所述调用地址和服务名称,调用所述对应的发送消息的HTTP服务。
[0023] 在本公开的又一实施方式中,所述将目标数据通过HTTP接口发送给接口平台,包括:
[0024] 输入消息集群地址、消息分类方式topic和所述目标数据,生成对应的目标消息;
[0025] 通过对应的发送消息的服务,将所述目标消息通过HTTP接口发送给所述接口平台。
[0026] 在本公开的又一实施方式中,在所述业务数据的传输方式为消息队列的方式时,所述方法还包括:
[0027] 设置消息监听的消息过滤条件;
[0028] 通过所述消息过滤条件,控制所述接口平台对所述第三方系统的业务数据进行监听和消费。
[0029] 根据本公开实施例的又一个方面,提供一种数据处理方法,应用在接口平台上,所述方法包括:
[0030] 监听第三方系统通过消息队列的方式传输的业务数据;
[0031] 从所述消息队列中获取所述业务数据;
[0032] 调用EBS系统发布的发送消息的HTTP服务,将所述业务数据通过HTTP接口传输给EBS系统;
[0033] 监听所述EBS系统通过所述HTTP接口传输的目标数据,所述目标数据为所述EBS系统对所述业务数据进行处理得到的;
[0034] 将所述目标数据插入消息队列,所述消息队列用于实现所述EBS系统和所述第三方系统之间的数据对接。
[0035] 根据本公开实施例的又一个方面,提供一种数据处理装置,应用在EBS系统上,所述装置包括:
[0036] 第一确定模块,用于确定第三方系统传输业务数据的传输方式;
[0037] 第一发送模块,用于在所述业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供所述接口平台将
所述目标数据插入对应的消息队列,所述消息队列用于实现所述EBS系统和所述第三方系
统之间的数据对接;
[0038] 第二发送模块,用于在所述业务数据的传输方式为HTTP方式时,将所述目标数据通过HTTP接口的方式发送给所述第三方系统;
[0039] 其中,所述目标数据为所述EBS系统对所述业务数据进行处理得到的。
[0040] 在本公开的又一实施方式中,所述装置还包括:
[0041] 第二确定模块,用于根据HTTP协议头信息,确定用于处理所述业务数据的处理程序;
[0042] 处理模块,用于调用所述处理程序对所述业务数据进行处理,得到所述目标数据。
[0043] 在本公开的又一实施方式中,所述第二确定模块包括:
[0044] 第一获取子模块,用于根据所述HTTP协议头信息中携带的接口代码和系统标识信息,从业务配置表中获取所述处理程序。
[0045] 在本公开的又一实施方式中,所述装置还包括:
[0046] 配置模块,用于创建所述业务配置表,所述业务配置表中记录有至少一个第三方系统的系统标识信息、接口代码、调用服务的服务类型、对应的处理程序。
[0047] 在本公开的又一实施方式中,所述装置还包括:
[0048] 建立模块,用于建立一个统一资源标识符URI资源服务;
[0049] 第三确定模块,用于将所述URI资源服务确定为所述EBS系统对外提供服务的统一资源定位器URL地址。
[0050] 在本公开的又一实施方式中,所述第一发送模块包括:
[0051] 第二获取子模块,用于根据所述业务数据对应的接口代码,获取所述第三方系统发布的对应的发送消息的HTTP服务的调用地址、服务名称;
[0052] 调用子模块,用于基于所述调用地址和服务名称,调用所述对应的发送消息的HTTP服务。
[0053] 在本公开的又一实施方式中,所述第一发送模块包括:
[0054] 输入子模块,用于输入消息集群地址、消息分类方式topic和所述目标数据,生成对应的目标消息;
[0055] 发送子模块,用于通过对应的发送消息的服务,将所述目标消息通过HTTP接口发送给所述接口平台。
[0056] 在本公开的又一实施方式中,在所述业务数据的传输方式为消息队列的方式时,所述装置包括:
[0057] 过滤设置模块,用于设置消息监听的消息过滤条件;
[0058] 监听配置模块,用于通过所述消息过滤条件,控制所述接口平台对所述第三方系统的业务数据进行监听和消费。
[0059] 根据本公开实施例的又一个方面,提供一种数据处理装置,应用在接口平台上,所述装置包括:
[0060] 监听模块,用于监听第三方系统通过消息队列的方式传输的业务数据;
[0061] 数据获取模块,用于从所述消息队列中获取所述业务数据;
[0062] 第二发送模块,用于调用EBS系统发布的发送消息的HTTP服务,将所述业务数据通过HTTP接口传输给EBS系统;
[0063] 第三监听模块,用于监听所述EBS系统通过所述HTTP接口传输的目标数据,所述目标数据为所述EBS系统对所述业务数据进行处理得到的;
[0064] 数据插入模块,用于将所述目标数据插入消息队列,所述消息队列用于实现所述EBS系统和所述第三方系统之间的数据对接。
[0065] 根据本公开实施例的又一个方面,提供一种电子设备,包括:
[0066] 存储器,用于存储计算机程序;
[0067] 处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述第一个方面的数据处理方法。
[0068] 根据本公开实施例的又一个方面,提供一种电子设备,其特征在于,包括:
[0069] 存储器,用于存储计算机程序;
[0070] 处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述第二个方面的数据处理方法。
[0071] 根据本公开实施例的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一个方面的数据处理方法。
[0072] 根据本公开实施例的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述第二个方面的数据处理方法。
[0073] 根据本公开实施例的又一个方面,提供一种数据处理系统,所述系统包括EBS系统和接口平台;
[0074] 所述EBS系统包括上述第三个方面的装置;
[0075] 所述接口平台包括上述第四个方面的装置。
[0076] 基于本公开上述实施例提供的数据处理方法、装置以及电子设备、存储介质,在第三方系统传输业务数据的传输方式为HTTP方式时,可直接将对业务数据进行处理后得到的
目标数据通过HTTP接口发送给第三方系统;在第三方系统传输业务数据的传输方式为消息
队列的方式时,EBS系统可以调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发
送给接口平台,然后由接口平台将目标数据插入对应的消息队列,由此即可实现第三方系
统能通过监听消息队列监听到目标数据,实现了EBS系统能够通过消息队列与第三方系统
进行数据对接。由此,本公开实施例中EBS系统可以通过调用发送相应消息(如Kafka、MQ消
息)的HTTP服务,EBS系统与第三方系统之间的数据交互方式更加多样。
[0077] 下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

[0078] 构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
[0079] 参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0080] 图1为本公开的数据处理方法的一个实施例的流程图;
[0081] 图2A为本公开的数据处理方法的一个实施例的EBS系统和接口平台交互的流程图;
[0082] 图2B为本公开的数据处理方法的一个消息消费配置示意图;
[0083] 图2C为本公开的数据处理方法的一个发布服务的示意图;
[0084] 图2D为本公开的数据处理方法的一个调用服务的示意图;
[0085] 图2E为本公开的数据处理方法的定义统一URL地址的示意图;
[0086] 图2F为本公开的数据处理方法的一个应用场景示意图;
[0087] 图3为本公开的数据处理方法的又一个实施例的流程图;
[0088] 图4为本公开的数据处理方法的又一个实施例的流程图;
[0089] 图5为本公开的数据处理方法的一个实施例的流程图;
[0090] 图6为本公开的数据处理装置的一个实施例的结构示意图;
[0091] 图7为本公开的数据处理装置的又一个实施例的结构示意图;
[0092] 图8为本公开的数据处理装置的又一个实施例的结构示意图;
[0093] 图9为本公开的数据处理装置的一个实施例的结构示意图;
[0094] 图10为本公开一示意性实施例提供的电子设备的结构图。

具体实施方式

[0095] 现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本
公开的范围。
[0096] 同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0097] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0098] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0099] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0100] 本公开实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的
众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算
机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费
电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式
云计算技术环境,等等。
[0101] 计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组
件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/
服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链
接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本
地或远程计算系统存储介质上。
[0102] 本公开概述
[0103] 本公开实施例提供的技术方案用于EBS系统和第三方系统的数据对接,实现EBS系统可以通过多种交互方式,如Kafka消息、MQ消息、HTTP接口等,与第三方系统进行数据对
接。
[0104] 示例性实施例
[0105] 图1为本公开的数据处理方法的一个实施例的流程图;该数据处理方法可以应用在EBS系统上,如图1所示,该数据处理方法包括以下步骤:
[0106] 在步骤101中,确定第三方系统传输业务数据的传输方式。
[0107] 在一实施例中,EBS系统可以预先为第三方系统开放一个统一的应用程序接口(Application Programming Interface,简称为API),由此实现第三方系统的业务数据需
要通过HTTP接口传入,不同的第三方系统的不同业务数据可以通过不同的传输方式传输业
务数据,不同的第三方系统的不同业务数据可以通过http header里传入的参数进行区分。
[0108] 在一实施例中,第三方系统可以直接调用HTTP的post方法将业务数据传输给EBS系统(也即通过HTTP方式传输业务数据),由此EBS系统可以通过监听HTTP接口监听到业务
数据。
[0109] 在一实施例中,第三方系统也可以通过Kakfa消息或MQ消息将业务数据传输给EBS系统(也即通过消息队列传输业务数据),该消息可被接口平台监听,接口平台可调用EBS系
统发布的发送Kakfa消息或MQ消息的HTTP服务,将业务数据传输给EBS系统。需要说明的是,
由于EBS系统本身不具备直接接收消息队列的能力,因此在使用消息队列的方式传输数据
时,是由接口平台进行转接的(也即接口平台监听到Kakfa消息或MQ消息后,调用EBS系统发
布的发送Kakfa消息或MQ消息的HTTP服务,将业务数据传输给EBS系统)。
[0110] 参见图2F,第三方系统10可以有多个,例如签中、业财中台等,不同的第三方系统传输业务数据的方式也不相同,如果是通过HTTP接口的方式传输业务数据,则可以直接通
过调用HTTP的post方法将数据发送给EBS系统30,如果是通过Kakfa消息或MQ消息等消息队
列的方式传输业务数据,则接口平台20可监听到Kakfa消息或MQ消息,并且通过调用EBS系
统发布的发送Kakfa消息或MQ消息的HTTP服务将数据通过HTTP接口传输给EBS系统。其中,
EBS系统30中的系统管理模块用于对第三方系统的业务进行管理,服务管理模块用于对发
布的服务(例如,发送Kafka消息的HTTP服务)进行管理,审批流程管理模块用于对第三方系
统的业务数据的传输进行管理,服务设置模块用于对系统管理和服务管理的参数进行设
置。
[0111] 其中,对于第三方系统传输业务数据所采用的传输方式,EBS系统可以在与第三方系统建立连接后进行约定。在第三方系统传输业务数据的方式为消息队列的方式时,例如
通过Kafka消息传输业务数据时,EBS系统可通过Java语言、基于Spring‑Kafka开源组件实
现对第三方系统的Kafka消息消费监听的创建、停止、恢复功能以及发送Kafka消息功能。
[0112] 在一实施例中,数据格式设置为JSON格式是为了确保EBS系统进行处理。
[0113] 在一实施例中,通过HTTP接口监听到业务数据时,可根据HTTP头信息中的4个参数确定第三方系统,并确定传输业务数据的传输方式:
[0114] p_iface_code为接口代码,用于区分不同的业务接口;
[0115] p_source_code为调用系统(第三方系统)的标识信息,用于标识不同的调用方系统;
[0116] p_date_time为调用时间戳,用于指示监听业务数据的时间;
[0117] p_auth_key为服务名称+空格+调用系统代码+空格+调用时间,根据秘钥加密的加密结果。
[0118] 在一实施例中,由于对于第三方系统传输业务数据的方式,EBS系统在第三方系统与建立连接后即已约定好,因此根据第三方系统的系统标识信息,即可确定出第三方系统
传输业务数据的传输方式,在传输方式为消息队列的方式时执行步骤102,在传输方式为
HTTP方式时执行步骤103。
[0119] 在步骤102中,在业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供接口平台将目标数据插入对
应的消息队列。
[0120] 在一实施例中,消息队列为在消息的传输过程中保存消息的容器,消息可以有多种,本实施例以Kafka消息和MQ消息为例说明本实施例的技术方案,但是并不限定消息只能
为Kafka消息和MQ消息。
[0121] 在一实施例中,EBS系统接收到业务数据后,可对业务数据进行处理得到目标数据,然后即可在业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服
务,例如,调用发送Kafka消息的HTTP服务,即可将目标数据通过HTTP接口发送给接口平台。
接口平台获取到目标数据后,即可将目标数据插入对应的消息队列,需要目标数据的第三
方系统通过监听消息,即可获取到目标数据,由此实现了使用消息队列实现所述EBS系统和
所述第三方系统之间的数据对接。
[0122] 在步骤103中,在业务数据的传输方式为HTTP方式时,将目标数据通过HTTP接口的方式发送给第三方系统。
[0123] 在一实施例中,在第三方系统传输业务数据的传输方式为HTTP方式时,可直接将目标数据通过HTTP接口发送给第三方系统,而无需通过接口平台进行传输。
[0124] 上述步骤101~103,在第三方系统传输业务数据的传输方式为HTTP方式时,可直接将对业务数据进行处理后得到的目标数据通过HTTP接口发送给第三方系统;在第三方系
统传输业务数据的传输方式为消息队列的方式时,EBS系统可以调用对应的发送消息的
HTTP服务,将目标数据通过HTTP接口发送给接口平台,然后由接口平台将目标数据插入对
应的消息队列。由此,本公开实施例中EBS系统可以通过调用发送相应消息(如Kafka、MQ消
息)的HTTP服务,EBS系统与第三方系统之间的数据交互方式更加多样。
[0125] 为了更好地说明本申请的EBS系统和第三方系统的数据对接的方案,下面用另一个实施例说明。
[0126] 图2A为本公开的数据处理方法的一个实施例的EBS系统和接口平台交互的流程图,图2B为本公开的数据处理方法的一个消息消费配置示意图,图2C为本公开的数据处理
方法的一个发布服务的示意图,图2D为本公开的数据处理方法的一个调用服务的示意图,
图2E为本公开的数据处理方法的定义统一URL地址的示意图;本实施例以第三方平台通过
消息队列的方式传输业务数据时,EBS系统、第三方系统和接口平台之间如何进行交互来实
现数据对接为例进行示例性说明,如图2A所示,包括如下步骤:
[0127] 在步骤201中,接口平台监听第三方系统通过消息队列的方式传输的业务数据。
[0128] 在一实施例中,在第三方系统需要通过消息队列的方式传输业务数据时,第三方系统可对外发布消息,而接口平台通过监听消息可以实现消息的消费,进而将消息所携带
的业务数据通过发送消息的HTTP服务传输给EBS系统。
[0129] 在一实施例中,可以通过EBS界面设置消息监听的消息过滤条件;通过消息过滤条件,控制接口平台对第三方系统的业务数据进行监听和消费。参见图2B,通过EBS系统界面
配置完成后,开发人员即可通过“创建监听”按钮实现对此消息源进行监听,并可以通过“停
止监听”按钮实现对此消息源的停止监听,通过“恢复监听”按钮可以实现对消息的恢复监
听。通常,在第三方系统建立与EBS系统的连接时,也即,EBS系统需要消费第三方系统发布
的Kafka消息的时候,可通过触发“创建监听”按钮实现消息监听和消费;在第三方系统与
EBS系统之间不再进行数据对接时,可通过触发“停止监听”按钮实现消息监听和消费;在
EBS系统需要重新消费第三方系统发布的Kafka消息时,可通过触发“恢复监听”按钮实现消
息监听和消费。
[0130] 在一实施例中,接口平台是否需要监听消息队列中的业务数据,可以由EBS系统通过图2B所示的消息消费配置界面进行控制。
[0131] 在步骤202中,接口平台从消息队列中获取业务数据。
[0132] 在步骤203中,接口平台调用EBS系统发布的发送消息的HTTP服务,将业务数据通过HTTP接口传输给EBS系统。
[0133] 在一实施例中,为了实现本公开实施例,在EBS系统建立与第三方系统的连接后,用户即可在EBS系统发布服务的配置页面中为第三方系统发布服务,参见图2C,开发人员可
通过图2C所示的界面,为第三方系统发布发送消息的HTTP服务,图2C中,服务名称用于指示
所发布的服务的名称,例如服务名称为“发送Kafka消息的HTTP服务”,服务代码指示不同的
业务接口,系统名称用于指示不同的第三方系统,解析程序和处理程序用于指示对业务数
据进行处理的逻辑程序,通常用PL/SQL代码实现。
[0134] 在一实施例中,EBS系统发布服务之后,即可通过统一的URL地址指示给接口平台,由此接口平台可以通过调用对应的HTTP服务将第三方系统的业务数据通过HTTP接口发送
给EBS系统。
[0135] 在一实施例中,为了实现本公开实施例,参见图2E,开发人员可以通过rest接口操作Oracle数据库(Oracle REST Data Services,简称为ORDS)的RESTful服务模块建立一个
统一资源标识符(Uniform Resource Identifier,简称为URI)资源服务,然后将URI资源服
务确定为EBS系统对外提供服务的统一资源定位器(Uniform Resource Locator,URL)地
址,并且将该URL地址指示给第三方系统和接口平台。
[0136] 在一实施例中,EBS系统为所有第三方系统设置统一的URL地址,可以通过HTTP头信息中的p_iface_code(接口平台)、p_source_code(第三方系统的系统标识信息)、p_
date_time、p_auth_key区分不同的系统不同时间传输的不同的业务数据。
[0137] 在步骤204中,EBS系统监听HTTP接口传入的JSON格式的业务数据。
[0138] 在步骤205中,EBS系统根据HTTP协议头信息,确定用于处理业务数据的处理程序。
[0139] 在一实施例中,EBS系统根据HTTP协议头信息中的p_iface_code和p_source_code参数值,确定出用于处理第三方系统的业务数据的处理程序,其中,可以从业务配置表中获
取该处理程序,业务配置表可以在为第三方系统配置发布服务时建立。其中,业务配置表中
记录有至少一个第三方系统的系统标识信息、接口代码、调用服务的服务类型、对应的处理
程序,因此EBS系统可以根据协议头信息中的p_iface_code(接口代码)和p_source_code
(系统标识信息)的参数值确定出处理程序。
[0140] 在一实施例中,处理程序使用PL/SQL代码编写而成。
[0141] 在步骤206中,EBS系统调用处理程序对业务数据进行处理,得到目标数据。
[0142] 在步骤207中,EBS系统调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台。
[0143] 在一实施例中,为了实现本公开实施例,在EBS系统建立与第三方系统的连接后,第三方系统需要发布对应的服务以供EBS系统调用,参见图2D,图2D所示的界面为第三方系
统发布的供EBS系统调用的服务,图2D中,服务名称用于指示所发布的服务的名称,例如服
务名称为“发送Kafka消息的HTTP服务”,服务代码指示不同的业务接口,调用类型用于指示
服务的类型为HTTP服务,调用地址用于指示调用服务的地址。
[0144] 在一实施例中,通过图2D所示的服务调用界面,可通过服务调用参数获取要调用的HTTP服务,并将目标数据通过HTTP接口发送给接口平台。
[0145] 在步骤208中,接口平台监听EBS系统通过HTTP接口传输的目标数据。
[0146] 在步骤209中,接口平台将目标数据插入消息队列。
[0147] 在一实施例中,接口平台接收到EBS系统返回的目标数据之后,即可将目标数据通过对应的消息的方式(如Kafka消息)插入消息对列。第三方系统可以实时监听到消息队列
中的目标数据。
[0148] 上述步骤201~209通过在第三方系统传输业务数据的传输方式为消息队列的方式时,通过第三方系统、接口平台、EBS系统之间的交互,实现了第三方系统和EBS系统之间
通过消息队列的方式进行数据对接。由此,本公开实施例中EBS系统可以通过调用发送相应
消息(如Kafka、MQ消息)的HTTP服务,实现了和第三方系统通过消息队列进行数据对接,EBS
系统与第三方系统之间的数据交互方式更加多样。
[0149] 图3为本公开的数据处理方法的又一个实施例的流程图,本实施例通过EBS系统与第三方系统通过任意的传输方式进行数据对接为例进行示例性说明,如图3所示,包括如下
步骤:
[0150] 在步骤301中,根据HTTP协议头信息,确定用于处理业务数据的处理程序。
[0151] 在步骤302中,调用处理程序对业务数据进行处理,得到目标数据。
[0152] 为了实现本实施例,可以预先创建业务配置表,业务配置表中记录有至少一个第三方系统的系统标识信息、接口代码、调用服务的服务类型、对应的处理程序,由此,可以根
据HTTP协议头信息中携带的接口代码和系统标识信息,获取处理程序,然后执行处理程序,
即可得到目标数据。
[0153] 在步骤303中,在业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供接口平台将目标数据插入对
应的消息队列。
[0154] 在一实施例中,目标数据为EBS系统对业务数据进行处理得到的。
[0155] 在一实施例中,步骤301‑步骤303的具体实现方式可参见图2A所示实施例的步骤205‑步骤207的描述,这里不再详述。
[0156] 在步骤304中,在业务数据的传输方式为HTTP方式时,将目标数据通过HTTP接口的方式发送给第三方系统。
[0157] 在一实施例中,在第三方系统传输业务数据的传输方式为HTTP方式时,可直接将目标数据通过HTTP接口发送给第三方系统,而无需通过接口平台进行传输。
[0158] 上述步骤301~304,公开了EBS系统与第三方系统通过不同的传输方式(如Kafka、MQ消息、HTTP方式)实现数据对接,EBS系统与第三方系统之间的数据对接方式更加多样。
[0159] 图4为本公开的数据处理方法的又一个实施例的流程图,本实施例以EBS系统通过Kafka消息向第三方系统传输目标数据进行示例性说明,如图4所示,包括如下步骤:
[0160] 在步骤401中,根据业务数据对应的接口代码,获取第三方系统发布的对应的发送消息的HTTP服务的调用地址、服务名称。
[0161] 在步骤402中,基于调用地址和服务名称,调用对应的发送消息的HTTP服务。
[0162] 在一实施例中,可根据业务数据对应的接口代码获取第三方系统发布的发送消息的HTTP服务的调用地址、服务名称,参见图2D。
[0163] 在步骤403中,输入消息集群地址、消息分类方式topic和目标数据,生成对应的目标消息。
[0164] 在一实施例中,在需要通过消息队列的方式,如通过Kafka消息发送目标数据时,可以先将JSON格式的目标数据确定为Kafka消息题内容,通过传入3个参数:brokers(Kafka
集群地址)、topic(发送消息的topic)、data(消息体内容,也即目标数据),即可生成要发送
的目标消息。
[0165] 在步骤404中,通过对应的发送消息的服务,将目标消息通过HTTP接口发送给接口平台,以供接口平台将目标数据插入对应的消息队列,消息队列用于实现EBS系统和所述第
三方系统之间的数据对接。
[0166] 上述步骤401~404公开了EBS系统需要以Kafka或MQ消息队列的方式开放给第三方系统时,如何调用EBS系统发布的发送Kafka消息服务或发送MQ消息服务进行消息的发
送,实现了数据从EBS系统到第三方系统的对接。
[0167] 图5为本公开的数据处理方法的又一个实施例的流程图,该数据处理方法可以应用在接口平台上,在第三方系统的数据传输方式为消息队列的方式时,接口平台起到一个
数据承接的作用,如图5所示,该数据处理方法包括以下步骤:
[0168] 在步骤501中,监听第三方系统通过消息队列的方式传输的业务数据。
[0169] 在一实施例中,在第三方系统需要通过消息队列的方式传输业务数据时,第三方系统可对外发布消息,而接口平台通过监听消息可以实现消息的消费,进而将消息所携带
的数据通过发送消息的HTTP服务传输给EBS系统。
[0170] 在步骤502中,从消息队列中获取业务数据。
[0171] 在步骤503中,调用EBS系统发布的发送消息的HTTP服务,将业务数据通过HTTP接口传输给EBS系统。
[0172] 在步骤504中,监听EBS系统通过HTTP接口传输的目标数据,目标数据为EBS系统对业务数据进行处理得到的。
[0173] 在步骤505中,将目标数据插入消息队列,消息队列用于实现EBS系统和所述第三方系统之间的数据对接。
[0174] 在一实施例中,步骤501‑步骤505的具体实现方式可参见图2A中步骤201‑步骤203以及步骤208‑步骤209的描述,这里不再详述。
[0175] 上述步骤501~步骤505公开了在第三方系统的数据传输方式为消息队列时,接口平台如何起到数据承接的作用,帮助EBS系统和第三方系统之间实现数据对接。
[0176] 与前述数据处理方法的实施例相对应,本公开还提供了数据处理装置对应的实施例。
[0177] 图6为本公开的数据处理装置的一个实施例的结构示意图,该装置应用在EBS系统上,如图6所示,该装置包括:
[0178] 第一确定模块61,用于确定第三方系统传输业务数据的传输方式;
[0179] 第一发送模块62,用于在业务数据的传输方式为消息队列的方式时,调用对应的发送消息的HTTP服务,将目标数据通过HTTP接口发送给接口平台,以供接口平台将目标数
据插入对应的消息队列,消息队列用于实现EBS系统和所述第三方系统之间的数据对接;
[0180] 第二发送模块63,用于在业务数据的传输方式为HTTP方式时,将目标数据通过HTTP接口的方式发送给第三方系统;
[0181] 其中,所述目标数据为所述EBS系统对所述业务数据进行处理得到的。
[0182] 图7为本公开的数据处理装置的又一个实施例的结构示意图,如图7所示,在图6所示实施例的基础上,在一实施例中,装置还包括:
[0183] 第二确定模块64,用于根据HTTP协议头信息,确定用于处理业务数据的处理程序;
[0184] 处理模块65,用于调用处理程序对业务数据进行处理,得到目标数据。
[0185] 在一实施例中,第二确定模块64包括:
[0186] 第一获取子模块641,用于根据HTTP协议头信息中携带的接口代码和系统标识信息,获取处理程序。
[0187] 在一实施例中,装置还包括:
[0188] 配置模块66,用于创建业务配置表,业务配置表中记录有至少一个第三方系统的系统标识信息、接口代码、调用服务的服务类型、对应的处理程序。
[0189] 图8为本公开的数据处理装置的又一个实施例的结构示意图,如图8所示,在图6或图7所示实施例的基础上,在一实施例中,装置还包括:
[0190] 建立模块67,用于建立一个统一资源标识符URI资源服务;
[0191] 第三确定模块68,用于将URI资源服务确定为EBS系统对外提供服务的统一资源定位器URL地址。
[0192] 在一实施例中,第一发送模块62包括:
[0193] 第二获取子模块621,用于根据业务数据对应的接口代码,获取第三方系统发布的对应的发送消息的HTTP服务的调用地址、服务名称;
[0194] 调用子模块622,用于基于调用地址和服务名称,调用对应的发送消息的HTTP服务。
[0195] 在一实施例中,第一发送模块62包括:
[0196] 输入子模块623,用于输入消息集群地址、消息分类方式topic和目标数据,生成对应的目标消息;
[0197] 发送子模块624,用于通过对应的发送消息的服务,将目标消息通过HTTP接口发送给接口平台。
[0198] 在一实施例中,在业务数据的传输方式为消息队列的方式时,装置包括:
[0199] 过滤设置模块69,用于设置消息监听的消息过滤条件;
[0200] 监听配置模块70,用于通过消息过滤条件,控制接口平台对第三方系统的业务数据进行监听和消费。
[0201] 图9为本公开的数据处理装置的一个实施例的结构示意图,该装置应用在接口平台上,如图9所示,该装置包括:
[0202] 监听模块91,用于监听第三方系统通过消息队列的方式传输的业务数据;
[0203] 数据获取模块92,用于从消息队列中获取业务数据;
[0204] 第二发送模块93,用于调用EBS系统发布的发送消息的HTTP服务,将业务数据通过HTTP接口传输给EBS系统;
[0205] 第三监听模块94,用于监听EBS系统通过HTTP接口传输的目标数据,目标数据为EBS系统对业务数据进行处理得到的;
[0206] 数据插入模块95,用于将目标数据插入消息队列,消息队列用于实现EBS系统和所述第三方系统之间的数据对接。
[0207] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0208] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明
的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是
物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要
选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创
造性劳动的情况下,即可以理解并实施。
[0209] 下面,参考图10来描述根据本公开实施例的电子设备,其中可以集成本公开实施例实现方法的装置。图10为本公开一示意性实施例提供的电子设备的结构图,如图10所示,
电子设备10包括一个或多个处理器101、一个或多个计算机可读存储介质的存储器102,以
及存储在存储器上并可在处理器上运行的计算机程序。在执行存储器102的程序时,可以实
现上述数据处理方法。
[0210] 具体的,在实际应用中,该电子设备还可以包括输入装置103、输出装置104等部件,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。本领域技术人员可以
理解,图10中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多
或更少的部件,或者某些部件,或者不同的部件布置。其中:
[0211] 处理器101可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,通过运行或执行存储在存储器102内的软件程序和/或模块,以及
调用存储在存储器102内的数据,执行各种功能和处理数据,从而对该电子设备进行整体监
控。
[0212] 存储器102可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如
可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可
以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计
算机程序指令,处理器101可以运行程序指令,以实现上文的本公开的各个实施例的声源定
位方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信
号分量、噪声分量等各种内容。
[0213] 输入装置103可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆,光学或轨迹球信号输入。
[0214] 输出装置104可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置104可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出
设备等等。
[0215] 电子设备还可以包括给各个部件供电的电源,可以通过电源管理系统与处理器101逻辑相连,从而通过电源管理系统实现管理充电、放电,以及功耗管理等功能。电源还可
以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或
者逆变器、电源状态指示器等任意组件。
[0216] 当然,为了简化,图10中仅示出了该电子设备10中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还
可以包括任何其他适当的组件。
[0217] 除了上述方法和设备以外,本公开的实施例还可以是一个数据处理系统,其包括上述EBS系统和上述接口平台,上述EBS系统可以实现本说明书上述“示例性方法”部分中描
述的EBS系统所执行的数据处理方法;接口平台用于实现上述接口平台所执行的数据处理
方法。
[0218] 除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性
方法”部分中描述的根据本公开各种实施例的声源定位方法中的步骤。
[0219] 计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++
等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可
以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、
部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上
执行。
[0220] 此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中
描述的根据本公开各种实施例的声源定位方法中的步骤。
[0221] 计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红
外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子
(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器
(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只
读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0222] 以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的
各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作
用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
[0223] 本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例
而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部
分说明即可。
[0224] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序
在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光
盘等各种可以存储程序代码的介质。
[0225] 可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于方法的步骤的上述顺序仅是
为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说
明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括
用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公
开的方法的程序的记录介质。
[0226] 本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描
述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理
解本公开从而设计适于特定用途的带有各种修改的各种实施例。