CN108920219A - 一种基于开放平台的业务处理方法及装置 - Google Patents

一种基于开放平台的业务处理方法及装置 Download PDF

Info

Publication number
CN108920219A
CN108920219A CN201810555012.9A CN201810555012A CN108920219A CN 108920219 A CN108920219 A CN 108920219A CN 201810555012 A CN201810555012 A CN 201810555012A CN 108920219 A CN108920219 A CN 108920219A
Authority
CN
China
Prior art keywords
business
open platform
file
ecbl
service request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810555012.9A
Other languages
English (en)
Other versions
CN108920219B (zh
Inventor
姜飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201810555012.9A priority Critical patent/CN108920219B/zh
Publication of CN108920219A publication Critical patent/CN108920219A/zh
Application granted granted Critical
Publication of CN108920219B publication Critical patent/CN108920219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供了一种基于开放平台的业务处理方法及装置,该方法可以:在所述开放平台上创建编译工具包;通过所提供的业务端API接收来自外部的第三方业务端的业务定义文件;通过所述编译工具包对所述业务定义文件进行编译,获得相对应的业务处理程序;通过所提供的用户端API接收来自外部的至少一个用户终端的至少一个业务请求;通过所述业务处理程序分别对每一个所述业务请求进行处理。该装置包括:创建单元、业务端传输单元、编译单元、用户端传输单元和业务处理单元。本方案能够提高第三方业务端利用开放平台实现业务的稳定性。

Description

一种基于开放平台的业务处理方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种基于开放平台的业务处理方法及装置。
背景技术
开放平台是指软件***通过公开其应用程序编程接口(API)或函数(function),使外部的程序可以增加该软件***的功能或使用该软件***的资源,而不需要更改该软件***的源代码。第三方业务端通过开放平台提供的API,可以利用开放平台的资源实现相应的业务。
目前,第三方业务端在利用开放平台实现业务时,第三方业务端通过开放平台提供的多个API与开放平台进行数据交互,以实现相应业务的处理。
针对目前第三方业务端利用开放平台实现业务的方法,对相应业务进行处理的主要处理逻辑位于第三方业务端,这样开放平台需要为第三方业务端提供大量API,以满足业务处理过程中第三方业务端与开放平台频繁进行数据交互的需求。由于开放平台所提供API数量较多,且各个API被调用的次数较多,如果有一个API调用失败便会导致业务处理失败,因此现有第三方业务端利用开放平台实现业务的稳定性较低。
发明内容
本发明实施例提供了一种基于开放平台的业务处理方法及装置,能够提高第三方业务端利用开放平台实现业务的稳定性。
第一方面,本发明实施例提供了一种基于开放平台的业务处理方法,应用于开放平台,包括:
在所述开放平台上创建编译工具包;
通过所提供的业务端API接收来自外部的第三方业务端的业务定义文件;
通过所述编译工具包对所述业务定义文件进行编译,获得相对应的业务处理程序;
通过所提供的用户端API接收来自外部的至少一个用户终端的至少一个业务请求;
通过所述业务处理程序分别对每一个所述业务请求进行处理。
可选地,
所述通过所述编译工具包对所述业务定义文件进行编译获得相对应的业务处理程序,包括:
获取所述业务定义文件包括的至少一个特定行业语言ECBL定义文件;
通过所述编译工具包分别对每一个所述ECBL定义文件进行编译,获得相对应的JVM字节码;
对获得的各个所述JVM字节码进行关联,获得所述业务处理程序。
可选地,
每一个所述ECBL定义文件包括:变量类型、属性、实体、集合、映射、分值判断、循环、过程调用、科学计算和任务中的任意一个或多个。
可选地,
所述通过所述编译工具包分别对每一个所述ECBL定义文件进行编译,获得相对应的JVM字节码,包括:
针对每一个所述ECBL定义文件,通过所述编译工具包依次对所述ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,获得与所述ECBL定义文件相对应的JVM字节码。
可选地,
在所述通过所述业务处理程序分别对每一个所述业务请求进行处理之后,进一步包括:
针对每一个所述业务请求,获取所述业务处理程序对所述业务请求进行处理而获得的业务端数据,并通过所述业务端API将所述业务端数据发送给所述第三方业务端。
可选地,
在所述通过所述业务处理程序分别对每一个所述业务请求进行处理之后,进一步包括:
针对每一个所述业务请求,获取所述业务处理程序对所述业务请求进行处理而获得的用户端数据,并通过所述用户端API将所述用户端数据发送给相对应的所述用户终端。
第二方面,本发明实施例还提供了一种基于开放平台的业务处理装置,应用于开放平台,包括:创建单元、业务端传输单元、编译单元、用户端传输单元和业务处理单元;
所述创建单元,用于在所述开放平台上创建编译工具包;
所述业务端传输单元,用于通过所述开放平台提供的业务端API接收来自外部的第三方业务端的业务定义文件;
所述编译单元,用于通过所述创建单元创建的所述编译工具包,对所述业务端传输单元接收到的所述业务定义文件进行编译,获得相对应的业务处理程序;
所述用户端传输单元,用于通过所述开放平台提供的用户端API接收来自外部的至少一个用户端的至少一个业务请求;
所述业务处理单元,用于通过所述编译单元获得的所述业务处理程序,分别对所述用户端传输单元接收到的每一个所述业务请求进行处理。
可选地,
所述编译单元,用于获取所述业务定义文件包括的至少一个特定行业语言ECBL定义文件,通过所述编译工具分别对每一个所述ECBL定义文件进行编译获得相对应的JVM字节码,并对获得的各个所述JVM字节码进行关联,获得所述业务处理程序。
可选地,
所述编译单元,在执行通过所述编译工具分别对每一个所述ECBL定义文件进行编译获得相对应的JVM字节码,具体用于:
针对每一个所述ECBL定义文件,通过所述编译工具包依次对所述ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,获得与所述ECBL定义文件相对应的JVM字节码。
可选地,
所述业务端传输单元,进一步用于针对每一个所述业务请求,获取所述业务处理单元通过所述业务处理程序对所述业务请求进行处理而获得的业务端数据,并通过所述业务端API将所述业务端数据发送给所述第三方业务端。
可选地,
所述用户端传输单元,进一步用于针对每一个所述业务请求,获取所述业务处理单元通过所述业务处理程序对所述业务请求进行处理而获得的用户端数据,并通过所述用户端API将所述用户端数据发送给相对应的所述用户终端。
本发明实施例提供的基于开放平台的业务处理方法及装置,在开放平台上创建编译工具包后,第三方业务端可以通过开放平台提供的业务端API向开放平台发送业务定义文件,开放平台可以通过编译工具包对接收到的业务定义文件进行编译,获得相对应的业务处理程序,之后各个用户终端可以通过开放平台提供的用户端API向开放平台发送业务请求,开放平台可以通过所获得的业务处理程序对接收到的各个业务请求进行处理。由此可见,第三方业务端通过发送业务定义文件,可以将业务处理程序部署在开放平台上,这样业务处理过程中开放平台与第三方业务端无需进行频繁的数据交互,从而可以减少业务处理过程中对API进行调用的次数,降低由于API调用失败导致业务处理失败事件发生的概率,进而可以提高第三方业务端利用开放平台实现业务的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种基于开放平台的业务处理方法的流程图;
图2是本发明一个实施例提供的另一种基于开放平台的业务处理方法的流程图;
图3是本发明一个实施例提供的一种基于开放平台的业务处理装置所在设备的示意图;
图4是本发明一个实施例提供的一种基于开放平台的业务处理装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于开放平台的业务处理方法,应用于开放平台,该方法可以包括以下步骤:
步骤101:在开放平台上创建编译工具包;
步骤102:通过所提供的业务端API接收来自外部的第三方业务端的业务定义文件;
步骤103:通过编译工具包对业务定义文件进行编译,获得相对应的业务处理程序;
步骤104:通过所提供的用户端API接收来自外部的至少一个用户终端的至少一个业务请求;
步骤105:通过业务处理程序分别对每一个业务请求进行处理。
本发明实施例提供了一种基于开放平台的业务处理方法,在开放平台上创建编译工具包后,第三方业务端可以通过开放平台提供的业务端API向开放平台发送业务定义文件,开放平台可以通过编译工具包对接收到的业务定义文件进行编译,获得相对应的业务处理程序,之后各个用户终端可以通过开放平台提供的用户端API向开放平台发送业务请求,开放平台可以通过所获得的业务处理程序对接收到的各个业务请求进行处理。由此可见,第三方业务端通过发送业务定义文件,可以将业务处理程序部署在开放平台上,这样业务处理过程中开放平台与第三方业务端无需进行频繁的数据交互,从而可以减少业务处理过程中对API进行调用的次数,降低由于API调用失败导致业务处理失败事件发生的概率,进而可以提高第三方业务端利用开放平台实现业务的稳定性。
可选地,如图1所示,步骤103通过编译工具包对业务定义文件进行编译获得相对应的业务处理程序,在执行该步骤时具体可以按照如下方式进行:
获取业务定义文件包括的至少一个ECBL(特定行业语言)定义文件;
通过编译工具包分别对每一个ECBL定义文件进行编译,获得相对应的JVM(Java虚拟机)字节码;
对获得的各个JVM字节码进行关联,获得业务处理程序。
在本发明实施例中,ECBL是一套描述第三方业务逻辑流程的定义领域语言(DSL),该语言通常采用XML、DTD等技术实现,具有规范性、扩展性和自描述性的特点。一个或多个ECBL定义文件可以形成ECBL工程,ECBL工程即为用于对业务逻辑进行定义的业务定义文件,其中,业务逻辑从ECBL工程所包括的主ECBL定义文件开始执行。
通过在开放平台上创建编译工具包,当第三方业务端将包括有一个或多个ECBL定义文件的业务定义文件发送给开放平台之后,开放平台可以通过编译工具包对接收到的各个ECBL定义文件进行即时编译,获得可以运行的JVM字节码,因此第三方发布业务时无需进行长时间等待,可以即时实现业务的发布,从而可以提升业务发布方的使用满意的。
另外,创建于开放平台上的编译工具包在对ECBL定义文件进行即时编译后,可以使编译获得的JVM字节码即时生效,无需对开放平台所包括的各个分布式节点进行逐个重启,从而可以提升开放平台的运行效率,进一步提升了用户以及业务发布方的使用满意度。
可选地,第三方业务端发送给开放平台的每一个ECBL定义文件均包括有变量类型、属性、实体、集合、映射、分值判断、循环、过程调用、科学计算和任务中的任意一个或多个。
包括有变量类型、属性、实体、集合、映射、分值判断、循环、过程调用、科学计算和任务等多个参数的ECBL定义文件,可以全面地对业务的逻辑进行定义,因此无需对开放平台上各个API进行具体定义来实现业务逻辑,使得开放平台上各个API可以适用于不同的业务,从而开放平台仅需提供少数API便可以实现不同的业务,保证开放平台具有较高的运行稳定性。
可选地,在通过编译工具包对ECBL定义文件进行编译以获得相对应的JVM字节码时,可以通过编译工具包依次对ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,最终获得与该ECBL定义文件相对应的JVM字节码。
通过编译工具包依次对ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,使得编译生成的JVM字节码具有正确的文法、语法、语义,并保证JVM字节码中没有可以对开放平台安全性造成威胁的内容,从而可以保证由各个JVM字节码所组成的业务处理程序能够正常对业务请求进行处理,进而保证业务处理的稳定性。
可选地,如图1所示,在步骤105通过业务处理程序分别对每一个业务请求进行处理之后,针对每一个被处理的业务请求,如果通过业务处理程序对该业务请求进行处理的处理结果中包括有业务端数据,则开放平台可以通过业务端API将处理结果中包括的业务端数据发送给第三方业务端。
开放平台在利用业务处理程序对业务请求进行处理后,如果处理结果中包括有需要发送给第三方业务端的业务端数据,开放平台可以通过相应地业务端API将业务端数据发送给第三方业务端,从而该业务处理方法可以适用于业务处理过程中需要开放平台与第三方业务端进行数据交互的业务,提升了该业务处理方法的适用性。
可选地,如图1所示,在步骤105通过业务处理程序分别对每一个业务请求进行处理之后,针对每一个被处理的业务请求,如果通过业务处理程序对该业务请求进行处理的处理结果中包括有用户端数据,则开放平台可以通过用户端API将处理结果中包括的用户端数据发送给相对应的用户终端。
开放平台在利用业务处理程序对业务请求进行处理后,如果处理结果中包括有需要发送给用户终端的用户端数据,开放平台可以通过相应地用户端API将用户端数据发送给相应地用户终端,从而该业务处理方法可以适用于业务处理过程中需要开放平台与用户终端进行数据交互的业务,进一步提升了该业务处理方法的适用性。
下面以电子商务行业的开放平台为例,对本发明实施例提供的基于开放平台的业务处理方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:
步骤201:在开放平台上创建编译工具包。
在本发明实施例中,针对每一个第三方业务端所要发布的每一个业务,在开放平台上为该业务创建一个相对应的编译工具包。
例如,商家A需要在电子商务的开放平台X上发布一个促销活动B,则需要在开放平台X上创建与该促销活动B相对编译工具包。比如在开放平台X创建与促销活动B相对应的编译工具包ecbl-server.jar。
步骤202:接收第三方业务端通过业务端API发送的各个ECBL定义文件。
在本发明实施例中,开放平台提供有一个或多个业务端API,第三方业务端可以通过业务端API将业务定义文件包括的多个ECBL定义文件发送给开放平台。其中,第三方业务端所发送的ECBL定义文件的文件格式可以是XML格式。
例如,商家A利用第三方业务端A,通过开放平台X提供的业务端API将对应于促销活动B的各个ECBL定义文件发送到开放平台X,其中,第三方业务端A所发送的各个ECBL定义文件分别为ecbl-sample01.xml、ecbl-sample02.xml、ecbl-sample03.xml等。
步骤203:通过编译工具包对各个ECBL定义文件进行编译,获得相对应的JVM字节码。
在本发明实施例中,开放平台在接收到第三方业务端发送的各个ECBL定义文件后,通过步骤201中创建的编译工具包分别对每一个ECBL定义文件进行编译,获得相对应的JVM字节码。其中,开放平台在通过编译工具包对ECBL定义文件进行编译时,依次对ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,最终获得经过代码优化的JVM字节码。
例如,开放平台X通过编译工具包ecbl-server.jar对ECBL定义文件ecbl-sample01.xml依次进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,获得ECBL定义文件ecbl-sample01.xml对应于的JVM字节码JVM Code01,同理,开放平台X通过编译工具包ecbl-server.jar对其他ECBL定义文件进行编译,获得其他ECBL定义文件对应的JVM字节码。
步骤204:对各个JVM字节码相关联,获得相对应的业务处理程序。
在本发明实施例中,开放平台在通过编译工具包将各个ECBL定义文件编译为相对应的JVM字节码后,根据相应业务的处理逻辑对各个JVM字节码相关联,将关联后的各个JVM字节码作为相应业务的业务处理程序。
例如,根据促销活动B的参与规则,对ecbl-sample01.xml、ecbl-sample02.xml、ecbl-sample03.xml等ECBL定义文件对应的JVM Code01、JVM Code02、JVM Code03等多个JVM字节码相关联,获得促销活动B对应的业务处理程序B。
步骤205:接收用户终端通过用户端API发送的业务请求。
在本发明实施例中,开放平台提供有一个或多个用户端API,用户终端可以通过用户端API向开放平台发送业务请求。
例如,用户C要参加促销活动B,用户C触发用户终端C,用户终端C通过开放平台X提供的用户端API向开放平台X发送业务请求C。
步骤206:通过业务处理程序对业务请求进行处理。
在本发明实施例中,开放平台在接收到用户终端发送的业务请求后,通过相对应的业务处理程序对接收到的业务请求进行处理。
例如,开放平台X在接收到业务请求C后,通过业务处理程序B对业务请求C进行处理,以判断用户C是否满足参加促销活动B的条件。
步骤207:开放平台向第三方业务端和/或用户终端发送结果数据。
在本发明实施例中,根据第三方业务端所发布业务的逻辑,在通过业务处理程序对业务请求进行处理后,可以将处理结果中包括的业务端数据发送给相应的第三方业务端,还可以将处理结果中包括的用户端数据发送给相应的用户终端。
例如,开放平台X在通过业务处理程序B对业务请求C进行处理后,确定用户C满足参加促销活动B的条件,之后通过业务端API向第三方业务端A发送业务端数据A,以指示用户C满足参加促销活动B的条件,并通过用户端API向用户终端C发送用户端数据C,以告知用户C其参加促销活动B成功。
如图3、图4所示,本发明实施例提供了一种基于开放平台的业务处理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的基于开放平台的业务处理装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的基于开放平台的业务处理装置,包括:创建单元401、业务端传输单元402、编译单元403、用户端传输单元404和业务处理单元405;
创建单元401,用于在开放平台上创建编译工具包;
业务端传输单元402,用于通过开放平台提供的业务端API接收来自外部的第三方业务端的业务定义文件;
编译单元403,用于通过创建单元401创建的编译工具包,对业务端传输单元402接收到的业务定义文件进行编译,获得相对应的业务处理程序;
用户端传输单元404,用于通过开放平台提供的用户端API接收来自外部的至少一个用户端的至少一个业务请求;
业务处理单元405,用于通过编译单元403获得的业务处理程序,分别对用户端传输单元404接收到的每一个业务请求进行处理。
可选地,在图4所示基于开放平台的业务处理装置的基础上,
编译单元403,用于获取业务定义文件包括的至少一个特定行业语言ECBL定义文件,通过编译工具分别对每一个ECBL定义文件进行编译获得相对应的JVM字节码,并对获得的各个JVM字节码进行关联,获得业务处理程序。
可选地,在图4所示基于开放平台的业务处理装置的基础上,
编译单元403,在执行通过编译工具分别对每一个ECBL定义文件进行编译获得相对应的JVM字节码,具体用于:
针对每一个ECBL定义文件,通过编译工具包依次对ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,获得与ECBL定义文件相对应的JVM字节码。
可选地,在图4所示基于开放平台的业务处理装置的基础上,
业务端传输单元402,进一步用于针对每一个业务请求,获取业务处理单元通过业务处理程序对业务请求进行处理而获得的业务端数据,并通过业务端API将业务端数据发送给第三方业务端。
可选地,在图4所示基于开放平台的业务处理装置的基础上,
用户端传输单元404,进一步用于针对每一个业务请求,获取业务处理单元通过业务处理程序对业务请求进行处理而获得的用户端数据,并通过用户端API将用户端数据发送给相对应的用户终端。
需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例提供的基于开放平台的业务处理方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例提供的基于开放平台的业务处理方法。
综上所示,本发明各个实施例提供的基于开放平台的业务处理方法及装置,至少具有如下有益效果:
1、在本发明实施例中,在开放平台上创建编译工具包后,第三方业务端可以通过开放平台提供的业务端API向开放平台发送业务定义文件,开放平台可以通过编译工具包对接收到的业务定义文件进行编译,获得相对应的业务处理程序,之后各个用户终端可以通过开放平台提供的用户端API向开放平台发送业务请求,开放平台可以通过所获得的业务处理程序对接收到的各个业务请求进行处理。由此可见,第三方业务端通过发送业务定义文件,可以将业务处理程序部署在开放平台上,这样业务处理过程中开放平台与第三方业务端无需进行频繁的数据交互,从而可以减少业务处理过程中对API进行调用的次数,降低由于API调用失败导致业务处理失败事件发生的概率,进而可以提高第三方业务端利用开放平台实现业务的稳定性。
2、在本发明实施例中,通过在开放平台上创建编译工具包,当第三方业务端将包括有一个或多个ECBL定义文件的业务定义文件发送给开放平台之后,开放平台可以通过编译工具包对接收到的各个ECBL定义文件进行即时编译,获得可以运行的JVM字节码,因此第三方发布业务时无需进行长时间等待,可以即时实现业务的发布,从而可以提升业务发布方的使用满意的。
3、在本发明实施例中,创建于开放平台上的编译工具包在对ECBL定义文件进行即时编译后,可以使编译获得的JVM字节码即时生效,无需对开放平台所包括的各个分布式节点进行逐个重启,从而可以提升开放平台的运行效率,进一步提升了用户以及业务发布方的使用满意度。
4、在本发明实施例中,包括有变量类型、属性、实体、集合、映射、分值判断、循环、过程调用、科学计算和任务等多个参数的ECBL定义文件,可以全面地对业务的逻辑进行定义,因此无需对开放平台上各个API进行具体定义来实现业务逻辑,使得开放平台上各个API可以适用于不同的业务,从而开放平台仅需提供少数API便可以实现不同的业务,保证开放平台具有较高的运行稳定性。
5、在本发明实施例中,通过编译工具包依次对ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,使得编译生成的JVM字节码具有正确的文法、语法、语义,并保证JVM字节码中没有可以对开放平台安全性造成威胁的内容,从而可以保证由各个JVM字节码所组成的业务处理程序能够正常对业务请求进行处理,进而保证业务处理的稳定性。
6、在本发明实施例中,设置于开放平台上的编译工具包可以即时对ECBL定义文件进行编译,方便业务的发布和修改,在复杂业务逻辑情况下可以提升程序运行效率。
7、在本发明实施例中,第三方业务端通过发送ECBL定义文件来发布业务,无需对开放平台所提供开发接口进行频率升级,避免开发接口升级带来的开放平台规则频繁变动,保障了开放平台的规范性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于开放平台的业务处理方法,应用于所述开放平台,其特征在于,在所述开放平台上创建编译工具包,还包括:
通过所提供的业务端API接收来自外部的第三方业务端的业务定义文件;
通过所述编译工具包对所述业务定义文件进行编译,获得相对应的业务处理程序;
通过所提供的用户端API接收来自外部的至少一个用户终端的至少一个业务请求;
通过所述业务处理程序分别对每一个所述业务请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述通过所述编译工具包对所述业务定义文件进行编译获得相对应的业务处理程序,包括:
获取所述业务定义文件包括的至少一个特定行业语言ECBL定义文件;
通过所述编译工具包分别对每一个所述ECBL定义文件进行编译,获得相对应的JVM字节码;
对获得的各个所述JVM字节码进行关联,获得所述业务处理程序。
3.根据权利要求2所述的方法,其特征在于,
每一个所述ECBL定义文件包括:变量类型、属性、实体、集合、映射、分值判断、循环、过程调用、科学计算和任务中的任意一个或多个。
4.根据权利要求2所述的方法,其特征在于,所述通过所述编译工具包分别对每一个所述ECBL定义文件进行编译,获得相对应的JVM字节码,包括:
针对每一个所述ECBL定义文件,通过所述编译工具包依次对所述ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,获得与所述ECBL定义文件相对应的JVM字节码。
5.根据权利要求1至4中任一所述的方法,其特征在于,在所述通过所述业务处理程序分别对每一个所述业务请求进行处理之后,进一步包括:
针对每一个所述业务请求,获取所述业务处理程序对所述业务请求进行处理而获得的业务端数据,并通过所述业务端API将所述业务端数据发送给所述第三方业务端。
6.根据权利要求1至4中任一所述的方法,其特征在于,在所述通过所述业务处理程序分别对每一个所述业务请求进行处理之后,进一步包括:
针对每一个所述业务请求,获取所述业务处理程序对所述业务请求进行处理而获得的用户端数据,并通过所述用户端API将所述用户端数据发送给相对应的所述用户终端。
7.一种基于开放平台的业务处理装置,应用于所述开放平台,其特征在于,包括:创建单元、业务端传输单元、编译单元、用户端传输单元和业务处理单元;
所述创建单元,用于在所述开放平台上创建编译工具包;
所述业务端传输单元,用于通过所述开放平台提供的业务端API接收来自外部的第三方业务端的业务定义文件;
所述编译单元,用于通过所述创建单元创建的所述编译工具包,对所述业务端传输单元接收到的所述业务定义文件进行编译,获得相对应的业务处理程序;
所述用户端传输单元,用于通过所述开放平台提供的用户端API接收来自外部的至少一个用户端的至少一个业务请求;
所述业务处理单元,用于通过所述编译单元获得的所述业务处理程序,分别对所述用户端传输单元接收到的每一个所述业务请求进行处理。
8.根据权利要求7所述的装置,其特征在于,
所述编译单元,用于获取所述业务定义文件包括的至少一个特定行业语言ECBL定义文件,通过所述编译工具分别对每一个所述ECBL定义文件进行编译获得相对应的JVM字节码,并对获得的各个所述JVM字节码进行关联,获得所述业务处理程序。
9.根据权利要求8所述的装置,其特征在于,
所述编译单元,在执行通过所述编译工具分别对每一个所述ECBL定义文件进行编译获得相对应的JVM字节码,具体用于:
针对每一个所述ECBL定义文件,通过所述编译工具包依次对所述ECBL定义文件进行文法检查、语法分析、语义分析、安全检查、中间代码生成和代码优化,获得与所述ECBL定义文件相对应的JVM字节码。
10.根据权利要求7至9中任一所述的装置,其特征在于,
所述业务端传输单元,进一步用于针对每一个所述业务请求,获取所述业务处理单元通过所述业务处理程序对所述业务请求进行处理而获得的业务端数据,并通过所述业务端API将所述业务端数据发送给所述第三方业务端;
和/或,
所述用户端传输单元,进一步用于针对每一个所述业务请求,获取所述业务处理单元通过所述业务处理程序对所述业务请求进行处理而获得的用户端数据,并通过所述用户端API将所述用户端数据发送给相对应的所述用户终端。
CN201810555012.9A 2018-06-01 2018-06-01 一种基于开放平台的业务处理方法及装置 Active CN108920219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810555012.9A CN108920219B (zh) 2018-06-01 2018-06-01 一种基于开放平台的业务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810555012.9A CN108920219B (zh) 2018-06-01 2018-06-01 一种基于开放平台的业务处理方法及装置

Publications (2)

Publication Number Publication Date
CN108920219A true CN108920219A (zh) 2018-11-30
CN108920219B CN108920219B (zh) 2021-09-07

Family

ID=64409684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810555012.9A Active CN108920219B (zh) 2018-06-01 2018-06-01 一种基于开放平台的业务处理方法及装置

Country Status (1)

Country Link
CN (1) CN108920219B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857377A (zh) * 2019-01-07 2019-06-07 平安科技(深圳)有限公司 一种api编排方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307860A1 (en) * 2010-06-09 2011-12-15 Hong Seong Park Simulation-based interface testing automation system and method for robot software components
CN102750469A (zh) * 2012-05-18 2012-10-24 北京邮电大学 一种基于开放平台的安全检测***及其检测方法
CN103685193A (zh) * 2012-09-20 2014-03-26 腾讯科技(深圳)有限公司 一种第三方应用接入开放平台的方法及开放平台接入***
US20150026044A1 (en) * 2013-07-07 2015-01-22 Gaonic Ltd. Method, protocol and system for universal sensor communication
CN105912468A (zh) * 2016-04-11 2016-08-31 华为软件技术有限公司 开放平台运行脚本的方法和开放平台***
CN106971099A (zh) * 2016-11-09 2017-07-21 阿里巴巴集团控股有限公司 一种编程接口调用权限的控制方法及装置
CN107222524A (zh) * 2017-05-08 2017-09-29 广州智淘信息科技有限公司 一种开放式应用服务集成框架

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307860A1 (en) * 2010-06-09 2011-12-15 Hong Seong Park Simulation-based interface testing automation system and method for robot software components
CN102750469A (zh) * 2012-05-18 2012-10-24 北京邮电大学 一种基于开放平台的安全检测***及其检测方法
CN103685193A (zh) * 2012-09-20 2014-03-26 腾讯科技(深圳)有限公司 一种第三方应用接入开放平台的方法及开放平台接入***
US20150026044A1 (en) * 2013-07-07 2015-01-22 Gaonic Ltd. Method, protocol and system for universal sensor communication
CN105912468A (zh) * 2016-04-11 2016-08-31 华为软件技术有限公司 开放平台运行脚本的方法和开放平台***
CN106971099A (zh) * 2016-11-09 2017-07-21 阿里巴巴集团控股有限公司 一种编程接口调用权限的控制方法及装置
CN107222524A (zh) * 2017-05-08 2017-09-29 广州智淘信息科技有限公司 一种开放式应用服务集成框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李余琨 等: "支持开放的API接口的增强型业务", 《计算机工程与应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857377A (zh) * 2019-01-07 2019-06-07 平安科技(深圳)有限公司 一种api编排方法及装置
CN109857377B (zh) * 2019-01-07 2023-08-25 平安科技(深圳)有限公司 一种api编排方法及装置

Also Published As

Publication number Publication date
CN108920219B (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
Jespersen et al. Session types for Rust
US7391735B2 (en) Parsing messages with multiple data formats
CN101452386B (zh) 使用正向推理链执行基于上下文模型的策略的方法及策略引擎
CN111736954B (zh) 多智能合约虚拟机实现方法、多智能合约虚拟机及***
CN109976761A (zh) 软件开发工具包的生成方法、装置及终端设备
WO1998002809A1 (en) Method and apparatus for asynchronously calling and implementing objects
WO2020259417A1 (zh) 一种区块链的数据解析方法及装置
US6751798B1 (en) Method and apparatus for performing distributed object calls using proxies and memory allocation
CN109196476A (zh) 共享垃圾收集器的不同类型图之间的无缝高性能互操作性
CN113132371A (zh) 报文转换的方法、装置、计算机可读存储介质与处理器
CN112667287A (zh) 规则文件的创建方法、装置、设备及计算机可读存储介质
CN101499015A (zh) 一种高级语言转换成其它高级语言的方法及转换器
CN108304164A (zh) 一种业务逻辑的开发方法及开发***
US7890548B2 (en) Automation process system and method to upgrade from non-unicode transformation support to unicode data transformation support
CN108920219A (zh) 一种基于开放平台的业务处理方法及装置
CN113434147A (zh) 基于ProtoBuf协议的消息解析方法及装置
WO2024109167A1 (zh) 程序代码处理方法及装置
US20100011283A1 (en) Minimizing the copying of an extensible markup language (xml) tree when referencing tree nodes during extensible stylesheet language transformations (xslt) processing
CN106484375B (zh) 一种指令块加载方法、软交换设备及***
CN101882066B (zh) 创建具体类的实现方法
CN110427476A (zh) 涉及区块链的知识问答关联数据处理方法及其装置
CN108509553A (zh) 一种项目文件生成方法及平台
CN115098158A (zh) Sdk打包方法和装置、计算机设备及存储介质
CN114938397A (zh) 一种基于kaitai的高效率协议解包组包方法、***和可读存储介质
KR20070061212A (ko) Owl-s와 웹 서비스를 이용한 bpel4ws 생성시스템 및 그 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province

Applicant after: INSPUR SOFTWARE Co.,Ltd.

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant before: INSPUR SOFTWARE Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant