发明内容
本申请实施例提供一种业务处理的方法、装置、电子设备及介质,本申请实施例用于解决相关技术中存在的因为第三方服务器分配的业务资源不足所导致业务处理效率不高的问题。
其中,根据本申请实施例的一个方面,提供的一种业务处理的方法,其特征在于,应用于转换服务器,包括:
根据获取到的业务指令,从业务服务器处获取业务数据,所述业务数据为具备第一数据结构的数据;
基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,得到待发送数据,所述转换模型为基于从第三方服务器处采集的信息生成的;
将所述待发送数据发送给所述第三方服务器,并得到所述第三方服务器回传的返回数据。
可选地,在基于本申请上述方法的另一个实施例中,检测在所述第三方服务器中存在的数据定义语言DDL信息;
根据检测到的所述DDL信息的属性,将所述DDL信息进行对齐;
基于所述已对齐DDL信息,生成所述转换模型。
可选地,在基于本申请上述方法的另一个实施例中,所述DDL信息包括各类数据结构的字段名称,字段标签以及字段类型。
可选地,在基于本申请上述方法的另一个实施例中,所述基于所述已对齐DDL信息,生成所述转换模型,包括:
获取转换模型模板,所述转换模型模板中包含有字段位,所述字段位对应于字段名称,字段标签以及字段类型;
将所述已对齐DDL信息对应填充至所述转换模型模板中的字段位,生成所述转换模型。
可选地,在基于本申请上述方法的另一个实施例中,所述基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,包括:
将具备所述第一数据结构的业务数据输入至所述转换模型;
利用所述转换模型,将所述业务数据的第一字段名称转换为第二字段名称;以及,将所述业务数据的第一字段标签转换为第二字段标签;以及,将所述业务数据的第一字段类型转换为第二字段类型。
可选地,所述将所述待发送数据发送给所述第三方服务器,包括:
协程调度接收所述第二数据结构的所述待发送数据;
并行将所述待发数据打包发送给所述第三方服务器。
可选地,所述得到所述第三方服务器回传的返回数据,包括:
将所述第二数据结构的所述返回数据进行拆包;
协程调度接收拆包处理后的所述返回数据。
可选地,所述得到所述第三方服务器回传的返回数据,还包括:
将所述返回数据发送到所述转换模型,并行将所述返回数据的所述第二数据结构同时转换为所述第一数据结构,得到所述预处理数据;
将所述预处理数据发送给所述协程实例;
利用所述协程实例将所述预处理数据发给所述协程调度进行处理。
可选地,所述得到所述第三方服务器回传的返回数据,还包括:
若接收到协程实例发送的终止指令,确定所述返回数据对应的业务终止。
可选地,所述基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,包括:
基于转换模型,并行将所述业务数据的第一数据结构同时转换为所述第二数据结构。
可选地,所述第一数据结构为对应于PHP语言的数据结构,所述第二数据结构为对应于ES语言的数据结构。
其中,根据本申请实施例的一个方面,提供的一种业务处理的方法,其特征在于,应用于转换服务器,包括:
获取模块,被配置为根据获取到的业务指令,从业务服务器处获取业务数据,所述业务数据为具备第一数据结构的数据;
转换模块,被配置为基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,得到待发送数据,所述转换模型为基于从第三方服务器处采集的信息生成的;
发送模块,被配置为将所述待发送数据发送给所述第三方服务器,并得到所述第三方服务器回传的返回数据。
根据本申请实施例的又一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
显示器,用于与所述存储器显示以执行所述可执行指令从而完成上述任一所述业务处理的方法的操作。
根据本申请实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述业务处理的方法的操作。
本申请中,在当获取到用于处理目标业务的第一业务指令时,从第三方服务器处获取适配于第三方服务器的,具备第一数据结构的数据的业务数据,并基于从第三方服务器处采集的数据定义语言DDL信息生成的转换模型,将业务数据的第一数据结构转换为第二数据结构,得到待发送数据,再利用待发送数据处理目标业务,得到业务数据后,将业务数据返回给第三方服务器。通过应用本申请的技术方案,可以在接收到处理业务的指令时,可以在自身的业务服务器处进行业务处理,并在得到业务数据后将该数据的数据结构转换为可以适配于第三方服务器的待发送数据,并将该待发送数据发送给第三方服务器。从而可以避免在第三方服务器进行业务处理时,由于分配资源有限所导致的无法同时处理大量业务数据的问题。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明的是,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
下面结合图1-图4来描述根据本申请示例性实施方式的用于进行业务处理的方法。需要注意的是,下述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
如图1所示,为本申请提供的一种业务数据的处理场景的系统架构示意图100。
其中,第三方服务器可以为NetSuite系统,其中该NetSuite系统为在第三方服务器106上部署的系统,
具体的,可以应用于如图1所示的应用环境中。其中,用户端102通过网络与转换处理服务器104进行通信,转换处理服务器104可以通过网络还分别与若干个业务服务器108进行通信。本申请通过转换处理服务器104、业务服务器108以及第三方服务器106提供一站式的业务处理服务。
进一步的,用户端102可以通过对接转换处理服务器104发起业务数据的处理指令,由转换处理服务器104统一调用业务服务器108进行业务数据的数据结构转换。其中,用户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,转换处理服务器104、业务服务器108、第三方服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请还提出一种业务处理的方法、装置、目标终端及介质。
图2示意性地示出了根据本申请实施方式的一种业务处理的方法的流程示意图。如图2所示,该方法包括:
S101,根据获取到的业务指令,从业务服务器处获取业务数据,业务数据为具备第一数据结构的数据。
同样的,本申请也不对目标业务进行具体限定,也即其可以为任意类型的业务。例如可以为财报数据业务,也可以为财务数据校验等等。
可以理解的,当开发人员想要在目标业务系统上处理业务时,通常需要首先向第三方服务器发送业务处理请求,并在其分配的业务资源基础上处理对应的业务。然而,对于高数量的业务处理场景下,每次在第三方服务器中处理业务的方式通常会出现因为第三方服务器分配的业务资源不足所导致业务处理效率不高。
基于上述存在的问题,本申请在获取到用于处理目标业务的业务指令之后,即可以向该业务服务器请求获取用于处理该目标业务的业务数据,其中,该业务数据为具备第一数据结构的数据。例如可以为对应于ES语言数据结构的业务数据。
更进一步的,本申请中的第三方服务器可以为部署有某个系统的服务器(例如可以为具有NetSuite系统的服务器)。
S102,基于转换模型,将业务数据的第一数据结构转换为第二数据结构,得到待发送数据,转换模型为基于从第三方服务器处采集的信息生成的。
由于业务服务器与第三方服务器之间通常采用不同语言的业务系统架构,因此本申请还可以预先建立有一个可以将数据结构进行转换的转换模型,可以理解的,该转换模型可以将业务数据的字段名,字段标签,字段类别等等参数进行转换,从而实现将业务数据的第一数据结构转换为可以适配于第三方服务器的第二数据结构的待发送数据。
需要说明的是,本申请中不对第三方服务器进行具体限定,一种方式中,其可以为NetSuite服务器,其中,NetSuite系统是一套集CRM、ERP、项目管理bai及电子商务功能于一体的系统。
进一步的,对于财务报告系统来说,NetSuite系统可以作为收入核算,业务数据校验,财报数据源,以及审计等用途。需要说明的是,为了在NetSuite系统中生成数据,NetSuite系统提供了基于suitescript的基于ES标准的脚本语言作为开发工具。可以理解的,开发人员通常需要使用这个语言来对NetSuite系统进行业务处理。
其中,本申请可以通过第三方服务器的脚本语言中存在的多个DDL信息确定各类数据结构的字段参数,从而根据该字段参数将第一数据结构转换为对应数据类型的第二数据结构。需要说明的是,
对于字段参数来说,可以包括各类数据结构字段的字段名,字段标签,字段类别的接口,本申请除了可以获取数据类型本身的字段信息以外还可以获取字段中的子列表的字段信息,通过这类接口可以完整的获取到所有数据类型的字段信息。并以此建立转换模型。
例如,本申请可以首先获取一个空白的转换模型模板,其中该模型中可以包括对应字段的命名空间,类名,数据类型名称,PHP DOC,属性,子类型等字段位,再根据预先获得的用于转换成第二数据结构的多个字段信息,将模板中的字段位进行一个或多个的替换,将替换完的模板字符串写入到与转换模型同名的模型文件中。
S103,将待发送数据发送给第三方服务器,并得到第三方服务器回传的返回数据。
具体的,将待发送数据发送给第三方服务器,包括:协程调度接收第二数据结构的待发送数据,并行将待发数据打包发送给第三方服务器,其中,协程调度为转换服务器中的调度器,通过打包发送给第三方服务器的方式,可以提高处理速度,提高处理效率。
进一步的,本申请可以从业务服务器中得到处理目标业务的业务数据后,将得到的业务数据经过数据结构转换后再发送给第三方服务器。从而避免了相关技术中存在的,对于高数量的业务处理场景下,每次在第三方服务器中处理业务的方式通常会出现因为第三方服务器分配的业务资源不足所导致业务处理效率不高的问题。
可以理解的,由于业务服务器与第三方服务器之间需要经常进行业务数据的双向传输,因此在后续业务服务器需要存储在第三方服务器的数据时(返回数据),可以首先由转换服务器接收第三方服务器发送的返回数据,并基于转换模型,将返回数据的数据结构转换为第一数据结构,得到预处理数据后,再将预处理数据发送给业务服务器。
需要说明的是,本申请中的返回数据的数据内容应该与待发送数据的数据内容不相同。可以理解的,当转换服务器将待发送数据发送给第三方服务器之后,第三方服务器必然会对该待发送数据进行对应的业务处理,因此即会导致待发送数据的数据内容发生变化。
本申请中,在当获取到用于处理目标业务的第一业务指令时,从第三方服务器处获取适配于第三方服务器的,具备第一数据结构的数据的业务数据,并基于从第三方服务器处采集的数据定义语言DDL信息生成的转换模型,将业务数据的第一数据结构转换为第二数据结构,得到待发送数据,再利用待发送数据处理目标业务,得到业务数据后,将业务数据返回给第三方服务器。通过应用本申请的技术方案,可以在接收到处理业务的指令时,可以在自身的业务服务器处进行业务处理,并在得到业务数据后将该数据的数据结构转换为可以适配于第三方服务器的待发送数据,并将该待发送数据发送给第三方服务器。从而可以避免在第三方服务器进行业务处理时,由于分配资源有限所导致的无法同时处理大量业务数据的问题。
可选的,在本申请一种可能的实施方式中,第三方服务器为NetSuite第三方服务器。
又一种可能的实施方式中,第一数据结构为对应于PHP语言的数据结构,第二数据结构为对应于ES语言的数据结构。
可选的,在本申请一种可能的实施方式中,在S101(从业务服务器处获取业务数据)之前,可以通过下述步骤实现:
检测在第三方服务器中存在的数据定义语言DDL信息;
根据检测到的DDL信息的属性,将DDL信息进行对齐;
基于已对齐DDL信息,生成转换模型。
获取转换模型模板,转换模型模板中包含有字段位,字段位对应于字段名称,字段标签以及字段类型;
将已对齐DDL信息对应填充至转换模型模板中的字段位,生成转换模型。
可选的,本申请中的DDL信息包括各类数据结构的字段名称,字段标签以及字段类型。
进一步的,本申请中的转换模型模板可以为一个空白的转换模型模板,其中该模板模型中可以包含有多个字段位,可以理解的,该字段位即记录有各类数据结构的对应字段名称,字段标签以及字段类型等。从而可以实现将输入至该模型的数据由第一数据结构转换为第二数据结构。
可选的,数据定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。本申请中的DDL信息可以是对数据库内部的对象进行创建,删除,修改等的操作语言。一种方式中,DDL信息可以只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。
进一步可选的,对于转换数据的数据结构来说,其通常需要至少转换该数据的字段名称,字段标签以及字段类型。因此,本申请中的DDL信息可以包括各类数据结构的字段名称,字段标签以及字段类型。例如对于第二数据结构为PHP语言的数据结构来说,DDL信息即可以包括PHP语言数据结构对应的字段名称,字段标签以及字段类型。从而在后续实现将第一数据结构的数据的字段名称,字段标签以及字段类型转换为PHP语言数据结构对应的字段名称,字段标签以及字段类型。也即实现将第一数据结构的业务数据转换为第二数据结构的待发送数据。
同样可选的,对于例如对于第二数据结构为JAVA语言的数据结构来说,DDL信息即可以包括JAVA语言数据结构对应的字段名称,字段标签以及字段类型。从而在后续实现将第一数据结构的数据的字段名称,字段标签以及字段类型转换为JAVA语言数据结构对应的字段名称,字段标签以及字段类型。也即实现将第一数据结构的业务数据转换为第二数据结构的待发送数据。
举例来说,本申请可以首先获取一个转换模型模板(即可以为空白的转换模型),其中该模型中可以包括对应字段的字段名称,字段类型,字段标签,PHP DOC,属性,子类型等字段位,再根据预先获得的用于转换成第二数据结构的多个字段信息(即各类数据结构对应的DDL信息),将模板中的字段位进行一个或多个的替换,从而实现将DDL信息对应填充至转换模型模板中的字段位,得到转换模型。
可选的,在本申请一种可能的实施方式中,在S102(基于转换模型,将业务数据的第一数据结构转换为第二数据结构)中,可以通过下述步骤实现:
将具备第一数据结构的业务数据输入至转换模型;
利用转换模型,将业务数据的第一字段名称转换为第二字段名称;以及,将业务数据的第一字段标签转换为第二字段标签;以及,将业务数据的第一字段类型转换为第二字段类型。
进一步可选的,本申请在基于转换模型,将业务数据的第一数据结构转换为第二数据结构,包括:
基于转换模型,并行将业务数据的第一数据结构同时转换为第二数据结构。
进一步的,本申请在接收业务服务器发送的业务数据之后,可以调用转换服务器中的协程调度接收该业务数据,并利用转换模型,并行将多个业务数据的第一数据结构同时转换为第二数据结构,从而得到对应的多个具备第二数据结构的待发送数据。更进一步的,为了避免分批将多个具备第二数据结构的待发送数据发送给第三方服务器所导致的耗费第三方服务器较长接收时间的问题,本申请可以利用在转换服务器搭建的协程实例将多个待发送数据进行打包后,统一发送给第三方服务器。
进一步可选的,对于转换数据的数据结构的方式来说,其通常需要至少转换该数据的字段名称,字段标签以及字段类型。因此,本申请中的DDL信息可以包括各类数据结构的字段名称,字段标签以及字段类型。例如对于第二数据结构为PHP语言的数据结构来说,DDL信息即可以包括PHP语言数据结构对应的字段名称,字段标签以及字段类型。从而在后续实现将第一数据结构的数据的字段名称,字段标签以及字段类型转换为PHP语言数据结构对应的字段名称,字段标签以及字段类型。也即实现利用转换模型将第一数据结构的业务数据转换为第二数据结构的待发送数据。
同样可选的,对于例如对于第二数据结构为ES语言的数据结构来说,DDL信息即可以包括ES语言数据结构对应的字段名称,字段标签以及字段类型。从而在后续实现将第一数据结构的数据的字段名称,字段标签以及字段类型转换为ES语言数据结构对应的字段名称,字段标签以及字段类型。也即实现利用转换模型将第一数据结构的业务数据转换为第二数据结构的待发送数据。
进一步的,由于业务服务器与第三方服务器之间通常采用不同语言的业务系统架构,因此为了保证第三方服务器可以准确的发送第一业务指令对应的业务数据,本申请需要将业务数据输入至转换模型,从而得到可以适配于第三方服务器的待发送数据,并将该待发送数据发送给第三方服务器。
例如对于第三方服务器为NetSuite系统来说,其仅可以识别并处理NetSuite指令的事件。而对于业务服务器来说,其生成的指令有可能为非NetSuite指令的其他语言指令(例如ES语言指令),因此,本申请需要将该其他语言指令(例如ES语言指令)输入至转换模型,从而得到可以适配于第三方服务器的NS指令,并将该NS指令发送给第三方服务器,以使部署在第三方服务器的NetSuite系统可以根据该NS指令,提取自身数据库中对应的业务数据(即业务数据)并发送给业务服务器。
可选的,在本申请一种可能的实施方式中,在S101(从业务服务器处获取业务数据)之后,可以通过下述步骤实现:
将业务数据按照目标业务的业务类型切分为至少一个子业务数据;
若确定至少一个子业务数据对应于多个不同的数据结构,基于转换模型,将至少一个子业务数据的第一数据结构分别转换为不同的第二数据结构。
一种方式中,当第三方服务器需要接收多种数据结构的业务数据时,本申请还可以按照业务数据的业务类型等因素,将业务数据按照目标业务的业务类型切分为至少一个子业务数据。并在确定每种子业务数据可以对应于多种数据结构时,即可将该多个子业务数据分别输入至转换模型中,以使转换模型将该多个子业务数据分别转换为不同的第二数据结构。例如可以将第一子业务数据转换为PHP语言对应的数据结构,以及将第二子业务数据转换为ES语言对应的数据结构等等。
进一步可选的,本申请中从业务服务器处获取业务数据,包括:
对业务数据进行配置处理,配置处理包括对业务数据中的表数据、元数据和字段数据进行过滤以及去重操作。
进一步的,本申请在得到将一个或多个业务数据后,可以对该业务数据中的表数据、元数据和字段数据进行过滤以及去重操作。从而保证后续进行数据结构转换时,可以避免无谓对重复数据进行数据转换而导致的耗费服务器资源的问题。
可选的,本申请在将返回数据发送给第三方服务器之后,还包括:
接收第三方服务器发送的返回数据;
基于转换模型,将返回数据的数据结构转换为第一数据结构,得到预处理数据;
将预处理数据发送给业务服务器。
同样的,由于业务服务器与第三方服务器之间需要经常进行业务数据的双向传输,因此在后续业务服务器需要存储在第三方服务器的数据时(返回数据),可以首先由转换服务器接收第三方服务器发送的返回数据,并基于转换模型,将返回数据的数据结构(例如可以为第二数据结构)转换为第一数据结构,得到预处理数据后,再将预处理数据发送给业务服务器。
可以理解的,该实施例同样是为了解决业务服务器与第三方服务器通常采用不同语言的业务系统架构,因此本申请还可以预先建立有一个可以将数据结构进行转换的转换模型,可以理解的,该转换模型可以将返回数据的字段名,字段标签,字段类别等等参数进行转换,从而实现将返回数据的第二数据结构转换为可以适配于业务服务器的第一数据结构的预处理数据。
进一步,本申请得到第三方服务器回传的返回数据包括:将第二数据结构的返回数据进行拆包,协程调度接收拆包处理后的返回数据。
得到第三方服务器回传的返回数据,还包括:将返回数据发送到转换模型,并行将返回数据的第二数据结构同时转换为第一数据结构,得到预处理数据,系统将预处理数据发送给协程实例,利用协程实例将预处理数据发给协程调度进行处理,协程调度将接收到的预处理数据打包发送第三方服务器,并进行前述操作。
其中,得到第三方服务器回传的返回数据也可以执行终止操作,具体的,协程调度接收拆包处理后的返回数据,此时,协程调度若接收到协程实例发送的终止指令,协程调度结束操作流程,并确定返回数据对应的业务终止
在接收第三方服务器发送的返回数据之后,还包括:
若接收到协程实例发送的终止指令,确定返回数据对应的业务终止,协程实例为转换服务器搭建的实例。
可以理解的,当转换服务器在接收到第三方服务器发送的返回数据之后,一旦接收到协程实例生成的终止指令时,即可确定返回数据对应的业务终止。从而不再进行后续业务处理。
进一步可选的,本申请在接收第三方服务器发送的返回数据,包括:
协程调度接收返回数据,协程调度为转换服务器中的调度器;
将返回数据发送到转换模型,并行将返回数据的第二数据结构同时转换为第一数据结构,得到预处理数据;
将预处理数据发送给协程实例;
利用协程实例将预处理数据进行打包后发送给业务服务器。
进一步可选的,本申请在接收第三方服务器发送的返回数据之后,还包括:
进一步的,本申请在接收第三方服务器发送的返回数据之后,可以调用转换服务器中的协程调度接收该返回数据,并利用转换模型,并行将多个返回数据的第二数据结构同时转换为第一数据结构,从而得到对应的多个具备第一数据结构的预处理数据。更进一步的,为了避免分批将多个具备第一数据结构的预处理数据发送给业务服务器所导致的耗费业务服务器较长接收时间的问题,本申请可以利用在转换服务器搭建的协程实例将多个预处理数据进行打包后,统一发送给业务服务器。
进一步而言,如图3以及图4所示,其中图3为本申请提出的业务处理方法的系统流程图。图4为本申请提出的一种业务处理的方法流程图,由图4可以看出,本申请首先需要检测在第三方服务器中存在的各类数据结构的DDL信息,然后获取转换模型模板,并将DDL信息对应填充至转换模型模板中的字段位,得到转换模型,再获取到用于处理目标业务的业务指令后,从业务服务器处获取具备第一数据结构的业务数据。
进一步的,本申请可以将具备第一数据结构的业务数据输入至换模型后,利用转换模型,将业务数据的第一字段名称转换为第二字段名称;以及,将业务数据的第一字段标签转换为第二字段标签;以及,将业务数据的第一字段类型转换为第二字段类型,得到具备第二数据结构的待发送数据。更进一步的,本申请可以将对业务数据进行配置处理,配置处理包括对业务数据中的表数据、元数据和字段数据进行过滤以及去重操作。并在接收到第三方服务器发送的返回数据时,并基于转换模型,将返回数据的数据结构转换为第一数据结构,得到预处理数据后,将该预处理数据发送给业务服务器。
本申请中,在当获取到用于处理目标业务的第一业务指令时,从第三方服务器处获取适配于第三方服务器的,具备第一数据结构的数据的业务数据,并基于从第三方服务器处采集的数据定义语言DDL信息生成的转换模型,将业务数据的第一数据结构转换为第二数据结构,得到待发送数据,再利用待发送数据处理目标业务,得到业务数据后,将业务数据返回给第三方服务器。通过应用本申请的技术方案,可以在接收到处理业务的指令时,可以在自身的业务服务器处进行业务处理,并在得到业务数据后将该数据的数据结构转换为可以适配于第三方服务器的待发送数据,并将该待发送数据发送给第三方服务器。从而可以避免在第三方服务器进行业务处理时,由于分配资源有限所导致的无法同时处理大量业务数据的问题。
在本申请的另外一种实施方式中,如图5所示,本申请还提供一种业务处理的装置。其中,该装置包括获取模块201,转换模块202,发送模块203,其中,
获取模块,被配置为根据获取到的业务指令,从业务服务器处获取业务数据,所述业务数据为具备第一数据结构的数据;
转换模块,被配置为基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,得到待发送数据,所述转换模型为基于从第三方服务器处采集的信息生成的;
发送模块,被配置为将所述待发送数据发送给所述第三方服务器,并得到所述第三方服务器回传的返回数据。
本申请中,在当获取到用于处理目标业务的第一业务指令时,从第三方服务器处获取适配于第三方服务器的,具备第一数据结构的数据的业务数据,并基于从第三方服务器处采集的数据定义语言DDL信息生成的转换模型,将业务数据的第一数据结构转换为第二数据结构,得到待发送数据,再利用待发送数据处理目标业务,得到业务数据后,将业务数据返回给第三方服务器。通过应用本申请的技术方案,可以在接收到处理业务的指令时,可以在自身的业务服务器处进行业务处理,并在得到业务数据后将该数据的数据结构转换为可以适配于第三方服务器的待发送数据,并将该待发送数据发送给第三方服务器。从而可以避免在第三方服务器进行业务处理时,由于分配资源有限所导致的无法同时处理大量业务数据的问题。
可选的,在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为检测在所述第三方服务器中存在的数据定义语言DDL信息;
获取模块201,被配置为根据检测到的所述DDL信息的属性,将所述DDL信息进行对齐;
获取模块201,被配置为基于所述已对齐DDL信息,生成所述转换模型。
可选的,在本申请的另一种实施方式中,所述DDL信息包括各类数据结构的字段名称,字段标签以及字段类型。
可选的,在本申请的另一种实施方式中,所述基于所述已对齐DDL信息,生成所述转换模型,包括:
获取模块201,被配置为获取转换模型模板,所述转换模型模板中包含有字段位,所述字段位对应于字段名称,字段标签以及字段类型;
获取模块201,被配置为将所述已对齐DDL信息对应填充至所述转换模型模板中的字段位,生成所述转换模型。
可选的,在本申请的另一种实施方式中,所述从业务服务器处获取业务数据,包括:
获取模块201,被配置为对所述业务数据进行配置处理,所述配置处理包括对所述业务数据中的表数据、元数据和字段数据进行过滤以及去重操作。
可选的,在本申请的另一种实施方式中,所述将所述待发送数据发送给所述第三方服务器,并得到所述第三方服务器回传的返回数据之后,还包括:
获取模块201,被配置为接收所述第三方服务器发送的返回数据;
获取模块201,被配置为基于转换模型,将所述待发送数据的第二数据结构转换为第一数据结构,得到预处理数据;
获取模块201,被配置为将所述预处理数据发送给业务服务器。
可选的,在本申请的另一种实施方式中,获取模块201,包括
获取模块201,被配置为所述接收所述第三方服务器发送的返回数据之后,还包括:
获取模块201,被配置为若接收到协程实例发送的终止指令,确定所述返回数据对应的业务终止,所述协程实例为所述转换服务器搭建的实例。
可选的,在本申请的另一种实施方式中,获取模块201,包括:
获取模块201,被配置为协程调度接收所述待发送数据,所述协程调度为所述转换服务器中的调度器;
获取模块201,被配置为将所述待发送数据发送到所述转换模型,并行将所述待发送数据的所述第二数据结构同时转换为所述第一数据结构,得到所述预处理数据;
获取模块201,被配置为将所述预处理数据发送给协程实例;
获取模块201,被配置为利用所述协程实例将所述预处理数据进行打包后发送给所述业务服务器。
可选的,在本申请的另一种实施方式中,获取模块201,包括:
获取模块201,被配置为基于转换模型,并行将所述业务数据的第一数据结构同时转换为所述第二数据结构。
可选的,在本申请的另一种实施方式中,所述第一数据结构为对应于PHP语言的数据结构,所述第二数据结构为对应于ES语言的数据结构。
图6是根据一示例性实施例示出的一种电子设备的逻辑结构框图。例如,电子设备300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备300可以包括以下一个或多个组件:处理器301和存储器302。
处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的互动特效标定方法。
在一些实施例中,电子设备300还可选包括有:外围设备接口303和至少一个外围设备。处理器301、存储器302和外围设备接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口303相连。具体地,外围设备包括:射频电路304、触摸显示屏305、摄像头306、音频电路307、定位组件308和电源309中的至少一种。
外围设备接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。在一些实施例中,处理器301、存储器302和外围设备接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和外围设备接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏305是触摸显示屏时,显示屏305还具有采集在显示屏305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器301进行处理。此时,显示屏305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏305可以为一个,设置电子设备300的前面板;在另一些实施例中,显示屏305可以为至少两个,分别设置在电子设备300的不同表面或呈折叠设计;在再一些实施例中,显示屏305可以是柔性显示屏,设置在电子设备300的弯曲表面上或折叠面上。甚至,显示屏305还可以设置成非矩形的不规则图形,也即异形屏。显示屏305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件306用于采集图像或视频。可选地,摄像头组件306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器301进行处理,或者输入至射频电路304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器301或射频电路304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路307还可以包括耳机插孔。
定位组件308用于定位电子设备300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件308可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源309用于为电子设备300中的各个组件进行供电。电源309可以是交流电、直流电、一次性电池或可充电电池。当电源309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备300还包括有一个或多个传感器310。该一个或多个传感器310包括但不限于:加速度传感器311、陀螺仪传感器312、压力传感器313、指纹传感器314、光学传感器315以及接近传感器316。
加速度传感器311可以检测以电子设备300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器311可以用于检测重力加速度在三个坐标轴上的分量。处理器301可以根据加速度传感器311采集的重力加速度信号,控制触摸显示屏305以横向视图或纵向视图进行用户界面的显示。加速度传感器311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器312可以检测电子设备300的机体方向及转动角度,陀螺仪传感器312可以与加速度传感器311协同采集用户对电子设备300的3D动作。处理器301根据陀螺仪传感器312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器313可以设置在电子设备300的侧边框和/或触摸显示屏305的下层。当压力传感器313设置在电子设备300的侧边框时,可以检测用户对电子设备300的握持信号,由处理器301根据压力传感器313采集的握持信号进行左右手识别或快捷操作。当压力传感器313设置在触摸显示屏305的下层时,由处理器301根据用户对触摸显示屏305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器314用于采集用户的指纹,由处理器301根据指纹传感器314采集到的指纹识别用户的身份,或者,由指纹传感器314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器314可以被设置电子设备300的正面、背面或侧面。当电子设备300上设置有物理按键或厂商Logo时,指纹传感器314可以与物理按键或厂商Logo集成在一起。
光学传感器315用于采集环境光强度。在一个实施例中,处理器301可以根据光学传感器315采集的环境光强度,控制触摸显示屏305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏305的显示亮度;当环境光强度较低时,调低触摸显示屏305的显示亮度。在另一个实施例中,处理器301还可以根据光学传感器315采集的环境光强度,动态调整摄像头组件306的拍摄参数。
接近传感器316,也称距离传感器,通常设置在电子设备300的前面板。接近传感器316用于采集用户与电子设备300的正面之间的距离。在一个实施例中,当接近传感器316检测到用户与电子设备300的正面之间的距离逐渐变小时,由处理器301控制触摸显示屏305从亮屏状态切换为息屏状态;当接近传感器316检测到用户与电子设备300的正面之间的距离逐渐变大时,由处理器301控制触摸显示屏305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对电子设备300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器304,上述指令可由电子设备300的处理器320执行以完成上述业务处理的方法,该方法包括:根据获取到的业务指令,从业务服务器处获取业务数据,所述业务数据为具备第一数据结构的数据;基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,得到待发送数据,所述转换模型为基于从第三方服务器处采集的信息生成的;将所述待发送数据发送给所述第三方服务器,并得到所述第三方服务器回传的返回数据。可选地,上述指令还可以由电子设备300的处理器320执行以完成上述示例性实施例中所涉及的其他步骤。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种应用程序/计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备300的处理器320执行,以完成上述业务处理的方法,该方法包括:根据获取到的业务指令,从业务服务器处获取业务数据,所述业务数据为具备第一数据结构的数据;基于转换模型,将所述业务数据的第一数据结构转换为第二数据结构,得到待发送数据,所述转换模型为基于从第三方服务器处采集的信息生成的;将所述待发送数据发送给所述第三方服务器,并得到所述第三方服务器回传的返回数据。可选地,上述指令还可以由电子设备300的处理器320执行以完成上述示例性实施例中所涉及的其他步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。