业务处理方法、装置及网络设备与流程

文档序号:16855689发布日期:2019-02-12 23:15阅读:165来源:国知局
业务处理方法、装置及网络设备与流程

本发明涉及互联网技术领域,具体涉及业务处理技术领域,尤其涉及一种业务处理方法、一种业务处理装置、一种用于业务处理的网络设备。



背景技术:

数据源(datasource)是数据的来源,具体是指用于提供数据的器件或媒介。数据源可包括但不限于:数据库、数据库服务器及存储器等等。数据源通常会作为业务处理过程的输入端,许多的业务处理场景并不是以单一数据源作为输入端的,而是同时对多个数据源进行组合使用来作为输入端。针对多数据源组合使用作为输入端的场景,现有技术采用侵入式方法来实现多数据源的组合,即当需要多数据源组合进行输入时,需要修改数据输入的代码,添加多数据源组合的业务逻辑;这种修改与添加会对业务代码造成侵入性,并且会影响业务处理的灵活性,不利于提升业务处理的效率及智能性。



技术实现要素:

本发明实施例提供一种业务处理方法、装置、存储介质及网络设备,避免对业务代码造成侵入性,提升业务处理的灵活性及效率。

一方面,本发明实施例提供一种业务处理方法,包括:

获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源;

获取所述业务的输入配置,所述输入配置包括组合表达式;

按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据;

输出所述目标输入数据以对所述目标输入数据进行业务处理。

另一方面,本发明实施例提供一种业务处理装置,包括:

数据获取单元,用于获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源;

配置获取单元,用于获取所述业务的输入配置,所述输入配置包括组合表达式;

组合单元,用于按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据;

业务处理单元,用于输出所述目标输入数据以对所述目标输入数据进行业务处理。

再一方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述指令适于由处理器加载并执行如下方法:

获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源;

获取所述业务的输入配置,所述输入配置包括组合表达式;

按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据;

输出所述目标输入数据以对所述目标输入数据进行业务处理。

再一方面,本发明实施例提供一种用于业务处理的网络设备,包括:

处理器,适于实现一条或一条以上指令;以及,

计算机存储介质,所述计算机存储介质存储有一条或一条以上指令,所述一条或一条以上指令适于由所述处理器加载并执行如下方法:

获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源;

获取所述业务的输入配置,所述输入配置包括组合表达式;

按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据;

输出所述目标输入数据以对所述目标输入数据进行业务处理。

本发明实施例通过组合表达式将来自多个数据源的原始输入数据进行组合转换形成目标输入数据,再对目标输入数据进行业务处理;在业务处理过程中,多个输入数据源的组合采用非侵入式方法基于组合表达式实现,无需修改业务代码或业务逻辑,将数据源与组合表达式分开表示,清晰直观;并且在需要增删数据源或修改数据源的组合方式时,只需要更改组合表达式即可实现,业务处理的灵活性较高,且业务处理的效率及智能性均较高。

附图说明

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

图1为现有技术的业务处理系统的架构示意图;

图2为本发明实施例提供的一种业务处理系统的架构示意图;

图3为本发明实施例提供的采用笛卡尔乘积表达式进行输入数据组合的过程示意图;

图4为本发明实施例提供的一种业务处理方法的流程图;

图5为本发明实施例提供的一种设置界面的示意图;

图6为本发明实施例提供的另一种业务处理方法的流程图;

图7为本发明实施例提供的一种业务处理装置的结构示意图;

图8为本发明实施例提供的一种用于业务处理的网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例的相关技术提及,许多的业务处理场景并不是以单一数据源作为输入端的,而是同时对多个数据源进行组合使用来作为输入端;例如:在对应用程序进行评测的业务场景中,需要从多个数据源获取针对同一应用程序的评测内容,如可通过爬虫从网络数据库中获得评测页面,或从本地数据库中获取专业人员手动编辑形成的评测内容文件,或从应用程序的官网服务器中下载的官方评测内容等等,此时数据源包括网络数据库、本地数据库及官网服务器;这些数据源的数据被组合作为输入数据,并被统一进行业务处理以实现对该应用程序的评测。针对多数据源组合使用作为输入端的场景,现有技术采用侵入式方法来实现多数据源的组合;所谓侵入式是指在现代软件架构中,业务逻辑层的功能在框架中实现时需要修改业务代码或添加业务逻辑,在一定程度上会影响业务代码。请参见图1所示的业务处理系统的架构,该系统包括业务逻辑层,该业务逻辑层的输入端包括:数据库、消息队列、网络接口等多数据源;当需要多数据源组合进行输入时,需要修改数据输入的代码,添加多数据源组合的业务逻辑;这种修改与添加会对业务代码造成侵入性,且很不直观。并且,在需要新增输入数据源或修改已有数据源的组合方式时,需要再次修改数据输入的代码;这样会影响业务处理的灵活性,不利于提升业务处理的效率及智能性。

基于此,本发明实施例提供一种业务处理方案,该方案采用非侵入式方法来实现多数据源的组合;所谓非侵入式是指在现代软件架构中,业务逻辑层的功能在框架中实现时相关业务功能的增删、修改都不影响业务代码。请参见图2所示的业务处理系统的架构;该系统将框架与业务相分离,该系统包括:数据流框架及业务逻辑层;其中,数据流框架是一套稳定的框架系统,此处的框架(framework)是指为解决一个开放性问题而设计的具有一定约束性的支撑结构,在此结构上可以根据具体问题扩展,安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。数据流框架负责将所有业务串接起来,并提供基础服务。业务逻辑层的结构是变化的,根据不同的业务处理场景而定,负责执行具体的业务处理工作。

如图2所示,业务逻辑层包括输入端及业务处理插件,其中,输入端包括:数据库、消息队列、网络接口等多数据源,用于为业务处理提供原始输入数据。业务处理插件用于执行具体的业务处理工作。

图2所示的数据流框架可以是架设于终端、服务器等网络设备中,用于对终端、服务器等网络设备所涉及的业务处理过程进行支撑。该数据流框架包括:

(1)数据输入层:用于对多个数据源的数据进行归一化处理。由于各个数据源中数据结构可能是异构的,即各个数据源的数据结构存在差异,为了方便对数据进行组合,数据输入层会将各个数据源的数据转成统一的结构。数据输入的业务逻辑可通过迭代器实现,一个数据源对应一个迭代器。迭代器用于遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址,例如:某个数据源对应的迭代器用于获取该数据源中的数据。数据输入层中所输入的各数据源的数据可以看作是一个有序序列,但该有序序列的长度是未知的,因此可调用迭代器接口函数next()实现按需计算下一个数据,即按需依次获取输入的数据。可见,迭代器采用惰性计算方式,只有在需要返回下一个数据时才会计算输入值,这样可减少计算量。

(2)组合表达式引擎:用于根据业务所配置的组合表达式,在不侵入到输入的业务逻辑的前提下,对多数据源的输入数据进行组合。组合表达式引擎位于数据输入层及业务处理层的中间,可通过使用下述运算符中的一个或多个,无侵入式的对输入数据源进行组合;此处的运算符包括:

①求和运算符“+”,用于将两个或多个同类型的数据源进行叠加。

当数据量大,数据源会分库分表,使用“+”配置求和运算表达式,可以将数据库中的所有分库和分表进行组合形成统一的输入。具体地,若来自于两个或多个数据源中的数据属于相同的数据类型,例如数据m来自于数据源m,数据n来自于数据源n,如果数据m和数据n属于相同的数据类型,二者具有完全相同的字段结构,那么数据m和数据n适用于采用求和运算表达式进行组合。具体实现中,依次遍历每个数据源的迭代器,返回每一个数据源中的数据。

举例来说,设数据m=[1,2,3,4],数据n=[a,b,c],那么组合表达式引擎采用求和运算表达式“m+n”对数据m和数据n进行组合的过程可表示为:[1,2,3,4]+[a,b,c]=[1,2,3,4,a,b,c]。

②笛卡尔乘积运算符“*”,用于将两组或多组不同类型的数据组合在一起。

具体地,若来自于两个或多个数据源中的数据属于不同的数据类型,例如数据m来自于数据源m,数据n来自于数据源n,如果数据m和数据n属于不同的数据类型,二者的字段结构不一样,那么数据m和数据n适用于采用笛卡尔乘积表达式进行组合。

举例来说,设数据m=[1,2,3,4],数据n=[a,b,c],那么组合表达式引擎采用笛卡尔乘积表达式“m*n”对数据m和数据n进行组合的过程可表示为:[(1,a),(1,b),(1,c),(2,a),(2,b),(2,c),(3,a),(3,b),(3,c),(4,a),(4,b),(4,c)]。再举例来说,以采用笛卡尔乘积表达式对三个数据进行组合的过程可参见图3所示。

③添加固定元素运算符“merge”,通常用于补充输入源中缺少的固定字段,直接添加到输入的数据中。

举例来说,设数据m=[{a=1},{a=2},{a=3}],数据n=[{b=0,c=4}],那么组合表达式引擎采用添加固定元素表达式“mmergen”对数据m和数据n进行组合的过程可表示为:[{a=1},{a=2},{a=3}]merge[{b=0,c=4}]=[{a=1,b=0,c=4},{a=2,b=0,c=4},{a=3,b=0,c=4}]。

需要说明的是,上述运算符可以组合使用,例如组合表达式为:input1*input2+input3*input4,此处,input代表数据源,一般地input1和input3属于相同的数据类型,二者数据结构一致;input2和input4属于相同的数据类型,二者数据结构一致。再如组合表达式为:(input1+input2).merge({“foo”=“bar”});组合表达式引擎将input1和input2的数据叠加后,再插入常量;等效于input1.merge({“foo”=“bar”})+input2.merge({“foo”=“bar”})。

组合表达式引擎位于数据输入层和数据处理层之间,用于将组合表达式作用于数据输入层的多个数据源,将多个数据源中的输入数据进行组合形成最终的输入数据并提供给数据处理层进行业务处理。

(3)数据处理层(又可称为业务处理层)。

经过组合表达引擎组合后的输入数据会流向数据处理层,数据处理层会调用业务逻辑层的多个业务处理插件,来对输入数据进行具体的处理,此处的处理可包括但不限于:数据清洗、数据转换、数据分析等等。

(4)数据输出层。经过数据处理层处理形成的数据又可被输出至多个数据源中,既扩充了数据源中的数据,又可作为其他业务处理的原始输入数据。

图2所示的业务处理系统的工作原理为:在业务处理时根据业务需要从业务逻辑层的多个数据源中获得原始输入数据,该原始输入数据流入数据流框架中的数据输入层中;组合表达式引擎采用预置的组合表达式对数据输入层中的原始输入数据进行组合形成目标输入数据;目标输入数据被流向至数据处理层,由数据处理层调用业务处理插件对目标输入数据进行业务处理;最后,业务处理形成的数据由数据输出层输出至业务逻辑层的多个数据源中;或者,业务处理形成的数据被发送至其他设备进行远程执行等等。

本发明实施例通过组合表达式将来自多个数据源的原始输入数据进行组合转换形成目标输入数据,再对目标输入数据进行业务处理;在业务处理过程中,多个输入数据源的组合采用非侵入式方法基于组合表达式实现,无需修改业务代码或业务逻辑,将数据源与组合表达式分开表示,清晰直观;并且在需要增删数据源或修改数据源的组合方式时,只需要更改组合表达式即可实现,业务处理的灵活性较高,且业务处理的效率及智能性均较高。

基于上述业务处理系统的实施例的描述,本发明实施例提供一种业务处理方法,该方法可应用于图2所示的数据流框架。请参见图4,该方法可包括以下步骤s101-s104:

s101,获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源。

s102,获取所述业务的输入配置,所述输入配置包括组合表达式。

步骤s101-s102中,数据源可包括但不限于:数据库、消息队列、网络接口等等。第一数据源是指上述任一个数据源,第二数据源是除第一数据源之外的任一数据源。请一并参见图5所示的设置界面,在图5所示界面可用于进行数据源及输入配置的设置;根据业务的需要可预先确定输入数据源,例如业务需要对第一数据源(数据源1)中的数据及第二数据源(数据源2)中的数据进行处理,则可在图5所示界面中创建输入数据源包括数据源1及数据源2。原始输入数据包括来自于这些输入数据源的数据,本实施例原始输入数据包括第一数据及第二数据。业务的输入配置也可以预先根据业务需要设定,例如:某业务需要对第一数据源及第二数据源的数据进行处理,组合表达式则用于将第一数据源的第一数据及第二数据源的第二数据进行组合。如图5所示,组合表达式可以根据实际情况进行设置,例如若第一数据与第二数据为相同类型的数据,那么组合表达式可以包括求和运算表达式;或者若第一数据与第二数据为不同类型的数据,那么组合表达式可以包括笛卡尔乘积表达式;或者若需要在第一数据中添加第二数据,或需要在第二数据中添加第一数据,那么组合表达式可以包括添加固定元素表达式。

s103,按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据。

s104,输出所述目标输入数据以对所述目标输入数据进行业务处理。

步骤s103-s104中,可以采用图2所示的组合表达式引擎将所述组合表达式作用于原始输入数据,即可将第一数据与第二数据进行组合得到目标输入数据。目标输入数据被输出至图2所示的数据处理层中,由数据处理层调用业务插件对目标输入数据进行业务处理;例如:可调用于数据清洗的业务插件对目标输入数据进行清洗;再如:可调用数据分析的业务插件对目标输入数据进行分析等等。

本发明实施例通过组合表达式将来自多个数据源的原始输入数据进行组合转换形成目标输入数据,再对目标输入数据进行业务处理;在业务处理过程中,多个输入数据源的组合采用非侵入式方法基于组合表达式实现,无需修改业务代码或业务逻辑,将数据源与组合表达式分开表示,清晰直观;并且在需要增删数据源或修改数据源的组合方式时,只需要更改组合表达式即可实现,业务处理的灵活性较高,且业务处理的效率及智能性均较高。

基于上述业务处理系统的实施例的描述,本发明实施例提供另一种业务处理方法,该方法可应用于图2所示的数据流框架。请参见图6,该方法可包括以下步骤s201-s207:

s201,监测业务的输入接口,所述输入接口用于实现来自一个或多个数据源的数据的输入。

s202,当监测到所述输入接口中存在数据输入时,调用迭代器接口函数获取所输入的原始输入数据。

步骤s201-s202描述的是获取业务的原始输入数据的过程。业务的输入接口可以是指图2所示的数据流框架中的数据输入层。每一个数据源对应一个迭代器;依次调用每个输入数据源对应的迭代器接口函数获取原始输入数据;例如:根据业务需要确定输入数据源包括第一数据源和第二数据源;可调用第一数据源对应的迭代器接口函数next()函数获取第一数据,再调用第二数据源对应的迭代器接口函数获取第二数据。原始输入数据则是由第一数据和第二数据组成的有序序列。

s203,获取所述业务的输入配置,所述输入配置包括组合表达式。所述组合表达式包括以下任一种或多种:求和运算表达式、笛卡尔乘积表达式及添加固定元素表达式。

s204,按照预置数据结构对所述原始输入数据中的第一数据和第二数据进行归一化处理。

s205,按照所述组合表达式对归一化处理后的第一数据及第二数据进行组合得到目标输入数据。

步骤s204-s205是按照组合表达式对原始输入数据进行组合的过程。由于第一数据源与第二数据源中数据结构可能是异构的,即第一数据和第二数据的数据结构存在差异,为了方便对数据进行组合需要对第一数据和第二数据进行归一化处理,将二者转成统一的结构。本发明实施例的统一的结构可包括多个数据字段,即统一的结构是指由多个数据字段拼接形成的结构。归一化处理后的第一数据和第二数据可以被传递至组合表达式引擎中,由组合表达式引擎将组合表达式作用于该第一数据和第二数据以进行组合得到目标输入数据。

在一种实施方式中,若所述组合表达式包括求和运算表达式;则步骤s205可包括以下步骤s11-s12:

s11,判断归一化处理后的第一数据及第二数据是否属于相同的数据类型;此处相同的数据类型是指第一数据与第二数据具有完全相同的字段结构。

s12,若二者属于相同的数据类型,调用组合表达式引擎对所述归一化处理后的第一数据及第二数据进行求和运算得到所述目标输入数据。

步骤s11-s12中,设第一数据=[1,2,3,4],第二数据=[a,b,c],那么组合的过程可表示为:[1,2,3,4]+[a,b,c]=[1,2,3,4,a,b,c];即目标输入数据=[1,2,3,4,a,b,c]。

在另一种实施方式中,若所述组合表达式包括笛卡尔乘积表达式;则步骤s205可包括以下步骤s21-s22:

s21,判断归一化处理后的第一数据及第二数据是否属于相同的数据类型。

s22,若二者属于不同的数据类型,则调用组合表达式引擎对所述归一化处理后的第一数据及第二数据之间的笛卡尔乘积运算形成所述目标输入数据。

步骤s21-s22中,此处不同的数据类型是指第一数据的字段结构与第二数据的字段结构不同。例如,设第一数据=[1,2,3,4],第二数据=[a,b,c],那么组合的过程可表示为:[(1,a),(1,b),(1,c),(2,a),(2,b),(2,c),(3,a),(3,b),(3,c),(4,a),(4,b),(4,c)];即目标输入数据=[(1,a),(1,b),(1,c),(2,a),(2,b),(2,c),(3,a),(3,b),(3,c),(4,a),(4,b),(4,c)]。

在再一种实施方式中,若所述组合表达式包括添加固定元素表达式;则步骤s205可包括以下步骤s31-s32:

s31,根据所述添加固定元素表达式获取添加指示,所述添加指示包括:按正向顺序添加或按反向顺序添加。

s32,按照所述添加指示调用组合表达式引擎对归一化处理后的第一数据及第二数据进行添加组合形成所述目标输入数据。

步骤s31-s32中,若所述第一数据先于所述第二数据被获取,则所述正向顺序是指从第一数据至第二数据的顺序,所述反向顺序是指从第二数据至第一数据的顺序。那么,在一种实施方式中,若所述添加指示为按正向顺序添加,则步骤s32包括:调用所述组合表达式引擎将归一化处理后的第二数据添加至归一化处理后的第一数据之后形成所述目标输入数据。

举例来说,设第一数据=[{a=1},{a=2},{a=3}],第二数据=[{b=0,c=4}],那么二者按照正向顺序进行添加组合的过程可表示为:[{a=1},{a=2},{a=3}]merge[{b=0,c=4}]=[{a=1,b=0,c=4},{a=2,b=0,c=4},{a=3,b=0,c=4}];则目标输入数据=[{a=1,b=0,c=4},{a=2,b=0,c=4},{a=3,b=0,c=4}]。

在另一种实施方式中,若所述添加指示为按反向顺序添加,则步骤s32包括:调用所述组合表达式引擎将归一化处理后的第一数据添加至归一化处理后的第二数据之后形成所述目标输入数据。

举例来说,设第一数据=[{a=1},{a=2},{a=3}],第二数据=[{b=0,c=4}],那么二者按照反向顺序进行添加组合的过程可表示为:[{b=0,c=4}]merge[{a=1},{a=2},{a=3}]=[{b=0,c=4,a=1},{b=0,c=4,a=2},{b=0,c=4,a=3}];则目标输入数据=[{b=0,c=4,a=1},{b=0,c=4,a=2},{b=0,c=4,a=3}]。

s206,输出所述目标输入数据以对所述目标输入数据进行业务处理。

s207,若检测到所述原始输入数据和/或所述输入配置发生变化,按照变化后的输入配置包含的组合表达式重新对原始输入数据进行转换得到新的目标输入数据,并输出新的目标输入数据以对所述新的目标输入数据进行业务处理。

原始输入数据发生变化可包括以下情况:新增输入的数据源和/或减少输入的数据源;输入配置发生变化可包括以下情况:新增组合表达式或组合表达式发生变更。步骤s207中,在发生变化时可采用图2所示的组合表达式引擎重新对原始输入数据进行获取、组合转换等处理得到新的目标输入数据,再重新对目标输入数据进行业务处理即可;在发生变化时整个业务处理逻辑简单、高效。

本发明实施例通过组合表达式将来自多个数据源的原始输入数据进行组合转换形成目标输入数据,再对目标输入数据进行业务处理;在业务处理过程中,多个输入数据源的组合采用非侵入式方法基于组合表达式实现,无需修改业务代码或业务逻辑,将数据源与组合表达式分开表示,清晰直观;并且在需要增删数据源或修改数据源的组合方式时,只需要更改组合表达式即可实现,业务处理的灵活性较高,且业务处理的效率及智能性均较高。

基于上述业务处理方法的实施例的描述,本发明实施例还提供一种业务处理装置,该装置可以是运行于终端或服务器中的一个计算机程序(包括程序代码),具体可以是能够实现图2所示的业务处理系统的相应能力的一个计算机程序;并且该装置可以被应用于上述图4和图6所示的业务处理方法中,以用于执行业务处理方法中的相应步骤。请参见图7,该装置可包括:

数据获取单元101,用于获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源;

配置获取单元102,用于获取所述业务的输入配置,所述输入配置包括组合表达式;

组合单元103,用于按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据;

业务处理单元104,用于输出所述目标输入数据以对所述目标输入数据进行业务处理。

可选地,所述组合单元103具体用于:

按照预置数据结构对所述原始输入数据中的第一数据和第二数据进行归一化处理;

按照所述组合表达式对归一化处理后的第一数据及第二数据进行组合得到目标输入数据;其中,所述组合表达式包括以下任一种或多种:求和运算表达式、笛卡尔乘积表达式及添加固定元素表达式。

可选地,若所述组合表达式包括求和运算表达式;则所述组合单元103具体用于:

判断归一化处理后的第一数据及第二数据是否属于相同的数据类型;

若二者属于相同的数据类型,调用组合表达式引擎对所述归一化处理后的第一数据及第二数据进行求和运算得到所述目标输入数据。

可选地,若所述组合表达式包括笛卡尔乘积表达式;则所述组合单元103具体用于:

判断归一化处理后的第一数据及第二数据是否属于相同的数据类型;

若二者属于不同的数据类型,则调用组合表达式引擎对所述归一化处理后的第一数据及第二数据之间的笛卡尔乘积运算形成所述目标输入数据。

可选地,若所述组合表达式包括添加固定元素表达式;则所述组合单元103具体用于:

根据所述添加固定元素表达式获取添加指示,所述添加指示包括:按正向顺序添加或按反向顺序添加;

按照所述添加指示调用组合表达式引擎对归一化处理后的第一数据及第二数据进行添加组合形成所述目标输入数据。

可选地,若所述第一数据先于所述第二数据被获取,则所述正向顺序是指从第一数据至第二数据的顺序,所述反向顺序是指从第二数据至第一数据的顺序;若所述添加指示为按正向顺序添加,则所述组合单元103具体用于:调用所述组合表达式引擎将归一化处理后的第二数据添加至归一化处理后的第一数据之后形成所述目标输入数据;

若所述添加指示为按反向顺序添加,则所述组合单元103具体用于:调用所述组合表达式引擎将归一化处理后的第一数据添加至归一化处理后的第二数据之后形成所述目标输入数据。

可选地,所述数据获取单元101具体用于:

监测业务的输入接口,所述输入接口用于实现来自一个或多个数据源的数据的输入;

当监测到所述输入接口中存在数据输入时,调用迭代器接口函数获取所输入的原始输入数据。

可选地,所述组合单元103还用于若检测到所述原始输入数据和/或所述输入配置发生变化,按照变化后的输入配置包含的组合表达式重新对原始输入数据进行转换得到新的目标输入数据,所述业务处理单元104还用于输出新的目标输入数据以对所述新的目标输入数据进行业务处理。

可选地,所述业务处理包括以下任一种或多种:数据清洗处理、数据分析处理及数据结构的转换处理。

本发明实施例通过组合表达式将来自多个数据源的原始输入数据进行组合转换形成目标输入数据,再对目标输入数据进行业务处理;在业务处理过程中,多个输入数据源的组合采用非侵入式方法基于组合表达式实现,无需修改业务代码或业务逻辑,将数据源与组合表达式分开表示,清晰直观;并且在需要增删数据源或修改数据源的组合方式时,只需要更改组合表达式即可实现,业务处理的灵活性较高,且业务处理的效率及智能性均较高。

基于上述实施例,本发明实施例还提供了一种用于业务处理的网络设备。具体实现中,本发明实施例中描述的网络设备可以是终端或服务器;此处的终端可包括但不限于台式计算机、移动电话、膝上型计算机、平板计算机之类的其它便携式设备。该网络设备的内部结构可包括处理器、网络接口及计算机存储介质。其中,服务器内的处理器、通信接口及计算机存储介质可通过总线或其他方式连接,在本发明实施例所示图8中以通过总线连接为例。

通信接口是实现网络设备与外部设备之间进行交互和信息交换的媒介。处理器(或称cpu(centralprocessingunit,中央处理器))是网络设备的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;计算机存储介质(memory)是服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括网络设备的内置存储介质,当然也可以包括网络设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了网络设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。

在一个实施例中,所述计算机存储介质存储有一条或一条以上指令,处理器加载并执行计算机存储介质中存放的一条或一条以上指令,以实现上述图4或图6所示方法流程中的相应步骤;具体实现中,网络设备内置图2所示的业务处理系统的架构,且计算机存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:

获取业务的原始输入数据,所述原始输入数据至少包括第一数据及第二数据,所述第一数据来自于第一数据源,所述第二数据来自于第二数据源;

获取所述业务的输入配置,所述输入配置包括组合表达式;

按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据;

输出所述目标输入数据以对所述目标输入数据进行业务处理。

在一种实施方式中,计算机存储介质中的一条或一条以上指令由处理器加载并执行所述按照所述组合表达式对所述原始输入数据进行转换得到目标输入数据的步骤时,具体执行如下步骤:

按照预置数据结构对所述原始输入数据中的第一数据和第二数据进行归一化处理;

按照所述组合表达式对归一化处理后的第一数据及第二数据进行组合得到目标输入数据;其中,所述组合表达式包括以下任一种或多种:求和运算表达式、笛卡尔乘积表达式及添加固定元素表达式。

在另一种实施方式中,若所述组合表达式包括求和运算表达式;则计算机存储介质中的一条或一条以上指令由处理器加载并执行所述按照所述组合表达式对归一化处理后的第一数据及第二数据进行组合得到目标输入数据的步骤时,具体执行如下步骤:

判断归一化处理后的第一数据及第二数据是否属于相同的数据类型;

若二者属于相同的数据类型,调用组合表达式引擎对所述归一化处理后的第一数据及第二数据进行求和运算得到所述目标输入数据。

再一种实施方式中,若所述组合表达式包括笛卡尔乘积表达式;则计算机存储介质中的一条或一条以上指令由处理器加载并执行所述按照所述组合表达式对归一化处理后的第一数据及第二数据进行组合得到目标输入数据的步骤时,具体执行如下步骤:

判断归一化处理后的第一数据及第二数据是否属于相同的数据类型;

若二者属于不同的数据类型,则调用组合表达式引擎对所述归一化处理后的第一数据及第二数据之间的笛卡尔乘积运算形成所述目标输入数据。

再一种实施方式中,若所述组合表达式包括添加固定元素表达式;则计算机存储介质中的一条或一条以上指令由处理器加载并执行所述按照所述组合表达式对归一化处理后的第一数据及第二数据进行组合得到目标输入数据的步骤时,具体执行如下步骤:

根据所述添加固定元素表达式获取添加指示,所述添加指示包括:按正向顺序添加或按反向顺序添加;

按照所述添加指示调用组合表达式引擎对归一化处理后的第一数据及第二数据进行添加组合形成所述目标输入数据。

再一种实施方式中,若所述第一数据先于所述第二数据被获取,则所述正向顺序是指从第一数据至第二数据的顺序,所述反向顺序是指从第二数据至第一数据的顺序;

若所述添加指示为按正向顺序添加,则计算机存储介质中的一条或一条以上指令由处理器加载并执行按照所述添加指示调用组合表达式引擎对归一化处理后的第一数据及第二数据进行添加组合形成所述目标输入数据的步骤时,具体执行如下步骤:调用所述组合表达式引擎将归一化处理后的第二数据添加至归一化处理后的第一数据之后形成所述目标输入数据;

若所述添加指示为按反向顺序添加,则计算机存储介质中的一条或一条以上指令由处理器加载并执行按照所述添加指示调用组合表达式引擎对归一化处理后的第一数据及第二数据进行添加组合形成所述目标输入数据的步骤时,具体执行如下步骤:调用所述组合表达式引擎将归一化处理后的第一数据添加至归一化处理后的第二数据之后形成所述目标输入数据。

再一种实施方式中,计算机存储介质中的一条或一条以上指令由处理器加载并执行所述获取业务的原始输入数据的步骤时,具体执行如下步骤:

监测业务的输入接口,所述输入接口用于实现来自一个或多个数据源的数据的输入;

当监测到所述输入接口中存在数据输入时,调用迭代器接口函数获取所输入的原始输入数据。

再一种实施方式中,计算机存储介质中的一条或一条以上指令由处理器加载还执行如下步骤:

若检测到所述原始输入数据和/或所述输入配置发生变化,按照变化后的输入配置包含的组合表达式重新对原始输入数据进行转换得到新的目标输入数据,并输出新的目标输入数据以对所述新的目标输入数据进行业务处理。

其中,所述业务处理包括以下任一种或多种:数据清洗处理、数据分析处理及数据结构的转换处理。

本发明实施例通过组合表达式将来自多个数据源的原始输入数据进行组合转换形成目标输入数据,再对目标输入数据进行业务处理;在业务处理过程中,多个输入数据源的组合采用非侵入式方法基于组合表达式实现,无需修改业务代码或业务逻辑,将数据源与组合表达式分开表示,清晰直观;并且在需要增删数据源或修改数据源的组合方式时,只需要更改组合表达式即可实现,业务处理的灵活性较高,且业务处理的效率及智能性均较高。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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