数据处理方法、装置、设备及计算机可读存储介质与流程

文档序号:19906776发布日期:2020-02-11 14:35阅读:159来源:国知局
数据处理方法、装置、设备及计算机可读存储介质与流程

本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。



背景技术:

在智能检索(smartsearch)的交互中,用户可以先向服务器上传js对象简谱(javascriptobjectnotation,json)格式的查询计划,在用户利用已上传的查询计划进行数据查询时,服务器能够基于用户对查询计划中的参数所设置的真实变量进行数据查询。

已有的查询计划中,只有部分参数允许用户进行自定义和修改,例如查询条件和过滤条件等。随着业务需求的不断提升,以及用户对数据查询时服务器的动态配置能力的要求不断增加,现有的仅针对部分参数进行自定义和修改的查询计划,已经不能满足用户的需求。



技术实现要素:

本说明书一个或多个实施例提供了一种数据处理方法、装置、设备及计算机可读存储介质,能够在数据查询过程中,根据用户需求,利用业务类实例中的模板元数据修改动态业务对象,以生成用户所需的方法类实例。

本说明书一个或多个实施例提供的技术方案如下:

第一方面,提供了一种数据处理方法,包括:

接收查询计划,查询计划包括动态业务参数模板,动态业务参数模板包括动态业务参数、动态业务参数对应的占位符以及占位符的占位符默认值;

对查询计划中的动态业务参数模板进行反序列化,得到动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

根据动态业务对象和模板元数据,生成业务类实例,业务类实例用于根据接收的查询请求,修改动态业务对象,以生成查询请求对应的方法类实例。

第二方面,提供了一种数据处理方法,包括:

获取查询请求,查询请求包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值;

获取目标查询计划对应的业务类实例,业务类实例包括动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

根据模板元数据,将业务类实例中与目标占位符对应的目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象;

基于真实业务对象,生成方法类实例。

第三方面,提供了一种数据处理装置,包括:

查询计划接收模块,用于接收查询计划,查询计划包括动态业务参数模板,动态业务参数模板包括动态业务参数、动态业务参数对应的占位符以及占位符的占位符默认值;

反序列化处理模块,用于对查询计划中的动态业务参数模板进行反序列化,得到动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

业务类实例生成模块,用于根据动态业务对象和模板元数据,生成业务类实例,业务类实例用于根据接收的查询请求,修改动态业务对象,以生成查询请求对应的方法类实例。

第四方面,提供了一种数据处理装置,包括:

查询请求获取模块,用于获取查询请求,查询请求包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值;

业务类实例获取模块,用于获取目标查询计划对应的业务类实例,业务类实例包括动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

业务对象修改模块,用于根据模板元数据,将业务类实例中与目标占位符对应的目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象;

方法类实例生成模块,用于基于真实业务对象,生成方法类实例。

第五方面,提供了一种数据处理设备,设备包括:处理器以及存储有计算机程序指令的存储器;

处理器执行计算机程序指令时实现如第一方面或第二方面所述的数据处理方法。

第六方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或第二方面所述的数据处理方法。

根据上述的本说明书一个或多个实施例,由于在接收了查询计划之后,可以对动态业务参数模板进行反序列化处理,得到动态业务对象和模板元数据,并且根据动态业务对象和模板元数据生成了业务类实例,因此,在数据查询过程中,可以在获取查询请求后,获取查询请求对应的目标查询计划,以查找到目标查询计划对应的业务类实例,并利用业务类实例中的模板元数据和查询请求中的待设置的目标占位符以及目标占位符的占位符修改值,直接将目标占位符对应的目标动态业务对象的对象默认值替换为占位符修改值,得到真实业务对象,以生成方法类实例,从而能够简单、高效地完成对查询计划中动态业务对象的替换。并且,由于在本说明书一个或多个实施例中,仅在接收了查询计划之后,生成业务类实例时,对动态业务参数模板进行了一次反序列化处理,还能够降低由于反序列化带来的性能损耗,提高服务器的处理性能。

附图说明

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

图1是本说明书一个示例的查询系统的系统架构图;

图2是本说明书一个实施例的数据处理方法的流程示意图;

图3是本说明书一个实施例的业务类实例的结构示意图;

图4是本说明书另一个实施例的业务类实例的结构示意图;

图5是本说明书又一个实施例的业务类实例的结构示意图;

图6是本说明书再一个实施例的业务类实例的结构示意图;

图7是本说明书一个实施例的查询计划处理方法的流程示意图;

图8是本说明书另一个实施例的数据处理方法的流程示意图;

图9是本说明书一个实施例的方法类实例的结构示意图;

图10是本说明书一个实施例的查询请求处理方法的流程示意图;

图11是本说明书另一个实施例的查询请求处理方法的流程示意图;

图12是本说明书一个实施例的数据处理装置的结构示意图;

图13是本说明书另一个实施例的数据处理装置的结构示意图;

图14是本说明书一个实施例提供的数据处理设备的硬件结构示意图。

具体实施方式

下面将详细描述本说明书的各个方面的特征和示例性实施例,为了使本说明书的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本说明书进行进一步详细描述。应理解,此处所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。对于本领域技术人员来说,本说明书可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本说明书的示例来提供对本说明书更好的理解。

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

图1示出了本说明书一个示例的查询系统的系统架构图。如图1所示,该查询系统包括第一终端设备110、第二终端设备120和服务器130,其中,第一终端设备110由发送查询请求的用户所使用,用户可以向第一终端设备110输入查询请求,并通过第一终端设备110将查询请求发送给服务器130,第二终端设备120由上传查询计划的用户所使用,用户可以向第二终端设备120输入查询计划,并通过第二终端设备120将查询计划发送给服务器130,服务器130能够接收并存储查询计划,服务器130还能够接收查询请求,根据查询请求将查询计划中的参数设置为用户在查询请求中所设置的真实变量,并进行数据查询,获得数据查询结果。

在本说明书中,第一终端设备和第二终端设备具体可以是手机、平板电脑、个人电脑等,服务器可以是一种高性能的电子计算器,用于存储和处理数据。

下面,首先对本说明书一个或多个实施例提供的数据处理方法进行详细说明。

图2示出了本说明书一个实施例的数据处理方法的流程示意图。如图2所示,该数据处理方法包括:

s210、接收查询计划,其中,查询计划包括动态业务参数模板,动态业务参数模板包括动态业务参数、动态业务参数对应的占位符以及占位符的占位符默认值;

s220、对查询计划中的动态业务参数模板进行反序列化,得到动态业务对象和模板元数据,其中,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

s230、根据动态业务对象和模板元数据,生成业务类实例,其中,业务类实例用于根据接收的查询请求,修改动态业务对象,以生成查询请求对应的方法类实例。

在本说明书实施例中,由于在接收了查询计划之后,可以对动态业务参数模板进行反序列化处理,得到动态业务对象和模板元数据,并且根据动态业务对象和模板元数据生成了业务类实例,因此,在数据查询过程中,可以在获取查询请求后,根据查询请求修改动态业务对象,以生成查询请求对应的方法类实例,从而能够简单、高效地完成对查询计划中动态业务对象的替换。并且,由于在本说明书一个或多个实施例中,仅在接收了查询计划之后,生成业务类实例时,对动态业务参数模板进行了一次反序列化处理,还能够降低由于反序列化带来的性能损耗,提高服务器的处理性能。

本说明书实施例所述的数据处理方法,可以应用于图1中所示的服务器130,在服务器130接收到由第二终端设备120所发送的查询计划后,服务器130可以执行图2所示的数据处理方法。

在本说明书实施例的步骤s210中,服务器所接收到的查询计划和查询计划中所包括的动态业务参数模板与现有技术相同,在此不做赘述。

在本发明实施例中,动态业务参数模板所包括的动态业务参数可以为一个也可以为多个,每个动态业务参数分别一一对应地设置有一个占位符,每个占位符均具有各自的占位符默认值。

以一个具体示例为例进行说明,动态业务参数模板的格式可以为{"a":"{{x:1}}","b":"{{y:abc}}"}。其中,动态业务参数包括a和b,动态业务参数a的占位符为x,动态业务参数b的占位符为y,占位符x可以为数字类型,占位符x的占位符默认值为1,占位符y可以为字符串类型,占位符y的占位符默认值为abc。

在本发明实施例的步骤s220中,对查询计划中的动态业务参数模板进行反序列化,可以得到动态业务参数模板中的每个动态业务参数对应的动态业务对象和和每个动态业务对象对应的模板元数据。

具体地,针对动态业务参数模板中的每个动态业务参数,对查询计划中的动态业务参数模板进行反序列化得到动态业务对象和模板元数据的具体方法可以包括:

利用占位符默认值对动态业务参数进行反序列化处理,生成动态业务参数模板对应的动态业务对象,使动态业务参数的参数默认值为占位符默认值;

根据动态业务参数和占位符,生成动态业务参数和占位符的对应关系,作为动态业务对象对应的模板元数据。

其中,可以利用上述方法同时生成动态业务对象和动态业务对象对应的模板元数据,也可以按照预定顺序生成动态业务对象和动态业务对象对应的模板元数据,在此不做限制。

继续以动态业务参数模板为{"a":"{{x:1}}","b":"{{y:abc}}"}为例进行说明,动态业务参数模板包括两个动态业务参数a和b,因此,可以分别生成动态业务参数a对应的动态业务对象和动态业务参数b对应的动态业务对象,以及每个动态业务对象对应的模板元数据,从而得到动态业务对象集合{"a":1,"b":"abc"}和模板元数据集合{"extraparams":{"a":"x","b":"y"}}。

需要说明的是,在本发明实施例中,模板元数据可以表征动态业务参数和占位符的正向对应关系,也可以表征动态业务参数和占位符的反向对应关系,在此不做限制。

在本发明一些实施例的步骤s230中,根据动态业务对象和模板元数据生成业务类实例的具体方法可以包括:

根据动态业务对象和模板元数据进行封装处理,得到业务类实例。

如图3示出了本说明书一个实施例的业务类实例的结构示意图。如图3所示,对动态业务对象301、动态业务对象302、模板元数据303和模板元数据304直接进行封装后得到了业务类实例305。

此时,可以使模板元数据作为动态业务对象的一个属性进行封装,因此,在进行数据查询时,无需对业务类实例进行其他处理,即可以利用模板元数据对动态业务对象进行修改,能够提高处理效率,并且降低服务器的性能损耗。

在本发明另一些实施例的步骤s230中,根据动态业务对象和模板元数据生成业务类实例的具体方法还可以包括:

根据动态业务对象进行封装处理,得到业务对象实例;

根据业务对象实例和模板元数据进行封装处理,得到业务类实例。

如图4示出了本说明书另一个实施例的业务类实例的结构示意图。如图4所示,对动态业务对象401和动态业务对象402进行封装后得到了业务对象实例403,然后对业务对象实例403、模板元数据404和模板元数据405进行封装后得到了业务类实例406。

此时,可以使动态业务对象和模板元数据分离,使得动态业务对象更加无需感知到模板元数据及动态业务参数模板的存在。

在本发明一些实施例中,查询计划除了包括动态业务参数模板以外,还包括静态业务参数模板。其中,静态业务参数模板包括静态业务参数和静态业务参数的参数设置值。

具体地,动态业务参数模板和静态业务参数模板可以形成业务参数模板集合。

在这些实施例中,该数据处理方法还可以包括:

对查询计划中的静态业务参数模板进行反序列化,得到静态业务对象,静态业务对象包括静态业务参数和参数设置值。

此时,根据动态业务对象和模板元数据生成业务类实例的具体方法可以包括:

根据动态业务对象、静态业务对象和模板元数据,生成业务类实例。

其中,根据动态业务对象、静态业务对象和模板元数据生成业务类实例的具体方法与上述根据动态业务对象和模板元数据生成业务类实例的具体方法相似。

在本发明一些实施例中,可以对动态业务对象、静态业务对象和模板元数据直接进行封装处理,得到业务类实例。

如图5示出了本说明书又一个实施例的业务类实例的结构示意图。如图5所示,对动态业务对象501、静态业务对象502和模板元数据503直接进行封装后得到了业务类实例504。

在本发明另一些实施例中,可以先对动态业务对象和静态业务对象进行封装处理,得到业务对象实例,然后再根据业务对象实例和模板元数据进行封装处理,得到业务类实例。

如图6示出了本说明书再一个实施例的业务类实例的结构示意图。如图6所示,对动态业务对象601和静态业务对象602进行封装后得到了业务对象实例603,然后对业务对象实例603和模板元数据604进行封装后得到了业务类实例605。

在本说明书实施例中,基于上述的一个或多个实施例所生成的业务类实例,被存储于堆区中,即存储于类作用域下。

图7示出了本说明书一个实施例的查询计划处理方法的流程示意图。如图7所示,在服务器接收到第二终端设备上传的新的查询计划后,会对查询计划中的业务参数模板进行处理,其中,业务参数模板包括动态业务参数模板和静态业务参数模板。

具体地,服务器对于查询计划的处理方法可以包括如下步骤:

s701、获取查询计划中的业务参数模板集合;

s702、判断业务参数模板集合中是否存在动态业务参数模板,如果存在,则执行步骤s703,如果不存在,则执行步骤s706;

s703、提取动态业务参数模板中的一个未处理的动态业务参数;

s704、利用动态业务参数对应的占位符的占位符默认值对动态业务参数进行反序列化处理,得到动态业务参数对应的动态业务对象,并且根据动态业务参数和占位符的对应关系,生成动态业务对象对应的模板元数据;

s705、判断是否为动态业务参数模板中的最后一个动态业务参数,如果是,则执行步骤s706,如果不是,则执行步骤s703;

s706、判断业务参数模板集合中是否存在静态业务参数模板,如果存在,则执行步骤s707,如果不存在,则执行步骤s708;

s707、利用静态业务参数模板中的静态业务参数和静态业务参数的参数设置值,生成静态业务对象;

s708、基于动态业务对象、模板元数据和静态业务对象,生成业务类实例。

图8示出了本说明书另一个实施例的数据处理方法的流程示意图。如图8所示,该数据处理方法包括:

s810、获取查询请求,查询请求包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值;

s820、获取目标查询计划对应的业务类实例,业务类实例包括动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

s830、根据模板元数据,将业务类实例中与目标占位符对应的目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象;

s840、基于真实业务对象,生成方法类实例。

在本说明书实施例中,由于业务类实例包括动态业务对象和模板元数据,模板元数据用于表征动态业务参数和占位符的对应关系,因此,在数据查询过程中,可以在获取查询请求后,获取查询请求对应的目标查询计划,以查找到目标查询计划对应的业务类实例,并利用业务类实例中的模板元数据和查询请求中的待设置的目标占位符以及目标占位符的占位符修改值,直接将目标占位符对应的目标动态业务对象的对象默认值替换为占位符修改值,得到真实业务对象,以生成方法类实例,从而能够简单、高效地完成对查询计划中动态业务对象的替换。并且,由于在本说明书一个或多个实施例中,仅在接收了查询计划之后,生成业务类实例时,对动态业务参数模板进行了一次反序列化处理,还能够降低由于反序列化带来的性能损耗,提高服务器的处理性能。

本说明书实施例所述的数据处理方法,可以应用于图1中所示的服务器130,在服务器130接收到由第一终端设备110所发送的查询请求后,服务器130可以执行图8所示的数据处理方法。

在本说明书实施例的步骤s810中,服务器所接收到的查询请求可以包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值,其中,目标查询计划为查询计划名称,待设置的目标占位符为目标查询计划中所包括的用户需要设置真实变量的目标动态业务对象对应的占位符,目标占位符的占位符修改值与目标占位符的类型相同。

在服务器接收到查询请求后,可以对查询请求进行解析,从而得到查询请求中的目标查询计划、待设置的目标占位符和目标占位符的占位符修改值。同时,在解析之后,服务器能够确定目标查询计划对应的查询计划名称和目标查询计划对应的业务类实例名称。

在本说明书实施例的步骤s820中,服务器可以基于业务类实例名称在堆区中查找到目标查询计划对应的业务类实例。其中,业务类实例根据本说明书中一个或多个实施例所述的数据处理方法的方法生成。因此,业务类实例可以包括动态业务对象和模板元数据,动态业务对象可以包括动态业务参数和动态业务参数的参数默认值,其中,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系。

在本说明书一些实施例中,若业务类实例为直接对动态业务对象和模板元数据进行封装处理所得到的,则步骤s830可以具体包括:

在业务类实例中,确定目标查询计划所需的动态业务对象;

根据模板元数据,在目标查询计划所需的动态业务对象中,确定与目标占位符对应的目标动态业务对象;

将目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象。

具体地,在步骤s820之后,获取得到目标查询计划对应的业务类实例在堆区中的实例地址,并根据查询计划名称在方法区中找到目标查询计划对应的方法函数,然后,按照方法函数中所涉及到的业务参数的顺序,依次在实例地址对应的堆区中的业务类实例中,确定目标查询计划即方法函数所需的动态业务对象,再通过模板元数据在查询请求中查找是否有与动态业务对象对应的目标占位符,如果有则将其作为与目标占位符对应的目标动态业务对象,并在栈区即函数作用域中,将目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象。

因此,在本说明书实施例中,可以直接对动态业务对象的对象默认值进行快速修改,无需反复对动态业务参数模板进行反序列化,从而能够减少性能损耗,提高数据处理效率。

在这些实施例的步骤s840中,基于真实业务对象生成方法类实例的具体方法可以包括:

基于真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象,生成方法类实例。

具体地,可以在栈区中,基于业务类实例在堆区中的实例地址、真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象,生成方法类实例。

图9示出了本说明书一个实施例的方法类实例的结构示意图。如图9所示,方法类实例为在栈区中根据查询请求和动态业务参数模板为{"a":"{{x:1}}","b":"{{y:abc}}"}生成的实例。其中,查询请求中包括目标占位符x和目标占位符x的占位符修改值5。图9中的方法类实例901包括业务类实例在堆区中的实例地址所生成的指针902和目标查询计划对应的方法函数所需的真实业务对象903和动态业务对象904。

在本说明书另一些实施例中,若业务类实例为先对动态业务对象进行封装得到业务对象实例,然后再对业务对象实例和模板元数据进行封装处理所得到的,则步骤s830可以具体包括:

根据业务类实例中的动态业务对象,生成复制业务类实例;

根据目标模板元数据,通过反射将复制业务类实例中与目标占位符对应的目标动态业务对象的对象默认值替换为占位符修改值,得到修改后的真实业务对象。

具体地,在步骤s820之后,可以直接对业务类实例中的动态业务对象进行复制,生成复制业务类实例,并存储于堆区中,然后,根据目标模板元数据,通过反射修改静态变量的方式,将复制业务类实例中与目标占位符对应的目标动态业务对象的对象默认值替换为占位符修改值得到修改后的真实业务对象,从而得到包括了真实业务对象的修改后的复制业务类实例。

因此,在本说明书实施例中,可以直接对动态业务对象的对象默认值进行快速修改,无需反复对动态业务参数模板进行反序列化,从而能够减少性能损耗,提高数据处理效率。

在这些实施例中,基于所述真实业务对象生成方法类实例的具体方法可以包括:

基于真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象,生成方法类实例。

具体地,可以在得到修改后的复制业务类实例后,获取得到复制业务类实例在堆区中的实例地址,并根据查询计划名称在方法区中找到目标查询计划对应的方法函数,然后,按照方法函数中所涉及到的业务参数的顺序,依次在实例地址对应的堆区中的复制业务类实例中,确定目标查询计划即方法函数所需的真实业务对象和除真实业务对象以外的其他动态业务对象,最后,可以在栈区中,基于复制业务类实例在堆区中的实例地址、真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象,生成方法类实例。

在本说明书一些实施例中,业务类实例除了动态业务对象和模板元数据以外,还包括静态业务对象。其中,静态业务对象包括静态业务参数和参数设置值。

在这些实施例中,基于真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象生成方法类实例的具体方法还可以包括:

在业务类实例中,确定目标查询计划所需的静态业务对象;

基于真实业务对象、目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象和目标查询计划所需的静态业务对象,生成方法类实例。

其中,基于真实业务对象、目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象和目标查询计划所需的静态业务对象生成方法类实例的具体过程,与基于真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象生成方法类实例的具体过程相似,在此不再赘述。

图10示出了本说明书一个实施例的查询请求处理方法的流程示意图。如图10所示,在服务器接收到用户通过第一终端设备发送的调用目标查询计划的查询请求后,服务器会基于查询请求,生成目标查询计划对应的方法类实例。

具体地,服务器对于查询请求的处理方法可以包括如下步骤:

s1001、获取查询请求,查询请求包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值;

s1002、解析查询请求,确定目标查询计划对应的查询计划名称和目标查询计划对应的业务类实例名称;

s1003、利用业务类实例名称,查找目标查询计划对应的业务类实例;

s1004、获取业务类实例的实例地址;

s1005、利用查询计划名称查询目标查询计划对应的方法函数;

s1006、提取方法函数中未处理的业务参数;

s1007、判断在业务类实例地址对应的业务类实例中是否存在业务参数对应的模板元数据,如果存在,则执行步骤s1008,如果不存在,则执行步骤s1011;

s1008、根据模板元数据,在查询请求中查询是否有业务参数对应的目标占位符和占位符修改值,如果有,则执行步骤s1009,如果没有,则执行步骤s1010;

s1009、利用业务参数和占位符修改值,生成真实业务对象,然后执行步骤s1012;

s1010、获取业务类实例中业务参数对应的动态业务对象,然后执行步骤s1012;

s1011、获取业务类实例中业务参数对应的静态业务对象,然后执行步骤s1012;

s1012、判断是否为最后一个未处理的业务参数,如果是,则执行步骤s1013,如果不是,则执行步骤s1006;

s1013、基于所获取的真实业务对象、动态业务对象、静态业务对象和实例地址,生成方法类实例。

图11示出了本说明书另一个实施例的查询请求处理方法的流程示意图。如图11所示,在服务器接收到用户通过第一终端设备发送的调用目标查询计划的查询请求后,服务器会基于查询请求,生成目标查询计划对应的方法类实例。

具体地,服务器对于查询请求的处理方法可以包括如下步骤:

s1101、获取查询请求,查询请求包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值;

s1102、解析查询请求,确定目标查询计划对应的查询计划名称和目标查询计划对应的业务类实例名称;

s1103、利用业务类实例名称,查找目标查询计划对应的业务类实例;

s1104、利用业务类实例中的业务对象,生成复制业务类示例;

s1105、提取复制业务类示例中的未处理的业务对象;

s1106、在业务类实例中查询业务对象是否具有模板元数据,如果有,则执行步骤s1107,如果没有,则执行步骤s1109;

s1107、根据模板元数据,在查询请求查询是否有业务对象中的业务参数对应的目标占位符和占位符修改值,如果有,则执行步骤s1108,如果没有,则执行步骤s1109;

s1108、通过反射将复制业务类实例中的业务对象的对象默认值替换为占位符修改值,得到修改后的复制业务类实例,然后执行步骤s1109;

s1109、判断是否为最后一个未处理的业务对象,如果是,则执行步骤s1110,如果不是,则执行步骤s1105;

s1110、获取复制业务类实例的实例地址;

s1111、利用查询计划名称查询目标查询计划对应的方法函数;

s1112、在实例地址对应的复制业务类实例中,提取方法函数中的业务参数对应的业务对象;

s1113、基于业务对象和实例地址,生成方法类实例。

图12示出了本说明书一个实施例的数据处理装置的结构示意图。如图12所示,该数据处理装置1200可以包括:

查询计划接收模块1210,用于接收查询计划,查询计划包括动态业务参数模板,动态业务参数模板包括动态业务参数、动态业务参数对应的占位符以及占位符的占位符默认值;

反序列化处理模块1220,用于对查询计划中的动态业务参数模板进行反序列化,得到动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

业务类实例生成模块1230,用于根据动态业务对象和模板元数据,生成业务类实例,业务类实例用于根据接收的查询请求,修改动态业务对象,以生成查询请求对应的方法类实例。

在本说明书实施例中,由于在接收了查询计划之后,可以对动态业务参数模板进行反序列化处理,得到动态业务对象和模板元数据,并且根据动态业务对象和模板元数据生成了业务类实例,因此,在数据查询过程中,可以在获取查询请求后,根据查询请求修改动态业务对象,以生成查询请求对应的方法类实例,从而能够简单、高效地完成对查询计划中动态业务对象的替换。并且,由于在本说明书一个或多个实施例中,仅在接收了查询计划之后,生成业务类实例时,对动态业务参数模板进行了一次反序列化处理,还能够降低由于反序列化带来的性能损耗,提高服务器的处理性能。

本说明书实施例所述的数据处理装置,可以应用于图1中所示的服务器130中,在服务器130接收到由第二终端设备120所发送的查询计划后,服务器130可以通过图12所示的数据处理装置,进行数据处理。

在本说明书一些实施例中,业务类实例生成模块1230可以具体用于:

根据动态业务对象进行封装处理,得到业务对象实例,并根据业务对象实例和模板元数据进行封装处理,得到业务类实例。

此时,可以使动态业务对象和模板元数据分离,使得动态业务对象无需感知到模板元数据及动态业务参数模板的存在。

在本说明书另一些实施例中,业务类实例生成模块1230可以具体用于:

根据动态业务对象和模板元数据进行封装处理,得到业务类实例。

此时,可以使模板元数据作为动态业务对象的一个属性进行封装,因此,在进行数据查询时,无需对业务类实例进行其他处理,即可以利用模板元数据对动态业务对象进行修改,能够提高处理效率,并且降低服务器的性能损耗。

在本说明书一些实施例中,查询计划还包括静态业务参数模板,静态业务参数模板包括静态业务参数和静态业务参数的参数设置值。

在这些实施例中,反序列化处理模块1220还可以用于:

对查询计划中的静态业务参数模板进行反序列化,得到静态业务对象,静态业务对象包括静态业务参数和参数设置值。

在这些实施例中,业务类实例生成模块1230还可以具体用于:

根据动态业务对象、静态业务对象和模板元数据,生成业务类实例。

其中,根据动态业务对象、静态业务对象和模板元数据生成业务类实例的具体方法与上述根据动态业务对象和模板元数据生成业务类实例的具体方法相似,在此不做赘述。

图13示出了本说明书另一个实施例的数据处理装置的结构示意图。如图13所示,该数据处理装置1300可以包括:

查询请求获取模块1310,用于获取查询请求,查询请求包括目标查询计划、待设置的目标占位符和目标占位符的占位符修改值;

业务类实例获取模块1320,用于获取目标查询计划对应的业务类实例,业务类实例包括动态业务对象和模板元数据,动态业务对象包括动态业务参数和动态业务参数的参数默认值,参数默认值为占位符默认值,模板元数据用于表征动态业务参数和占位符的对应关系;

业务对象修改模块1330,用于根据模板元数据,将业务类实例中与目标占位符对应的目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象;

方法类实例生成模块1340,用于基于真实业务对象,生成方法类实例。

在本说明书实施例中,由于业务类实例包括动态业务对象和模板元数据,模板元数据用于表征动态业务参数和占位符的对应关系,因此,在数据查询过程中,可以在获取查询请求后,获取查询请求对应的目标查询计划,以查找到目标查询计划对应的业务类实例,并利用业务类实例中的模板元数据和查询请求中的待设置的目标占位符以及目标占位符的占位符修改值,直接将目标占位符对应的目标动态业务对象的对象默认值替换为占位符修改值,得到真实业务对象,以生成方法类实例,从而能够简单、高效地完成对查询计划中动态业务对象的替换。并且,由于在本说明书一个或多个实施例中,仅在接收了查询计划之后,生成业务类实例时,对动态业务参数模板进行了一次反序列化处理,还能够降低由于反序列化带来的性能损耗,提高服务器的处理性能。

本说明书实施例所述的数据处理装置,可以应用于图1中所示的服务器130,在服务器130接收到由第一终端设备110所发送的查询请求后,服务器130可以通过图12所示的数据处理装置,进行数据处理。

在本说明书一些实施例中,业务对象修改模块1330可以具体用于:

在业务类实例中,确定目标查询计划所需的动态业务对象,并且根据模板元数据,在目标查询计划所需的动态业务对象中,确定与目标占位符对应的目标动态业务对象,以将目标动态业务对象中的对象默认值替换为占位符修改值,得到修改后的真实业务对象。

因此,在本说明书实施例中,可以直接对动态业务对象的对象默认值进行快速修改,无需反复对动态业务参数模板进行反序列化,从而能够减少性能损耗,提高数据处理效率。

在本说明书另一些实施例中,业务对象修改模块1330可以具体用于:

根据业务类实例中的动态业务对象,生成复制业务类实例,并且根据目标模板元数据,通过反射将复制业务类实例中与目标占位符对应的目标动态业务对象的对象默认值替换为占位符修改值,得到修改后的真实业务对象。

因此,在本说明书实施例中,可以直接对动态业务对象的对象默认值进行快速修改,无需反复对动态业务参数模板进行反序列化,从而能够减少性能损耗,提高数据处理效率。

在本说明书实施例中,方法类实例生成模块1340可以具体用于:

基于真实业务对象和目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象,生成方法类实例。

在本说明书一些实施例中,业务类实例还包括静态业务对象,静态业务对象包括静态业务参数和参数设置值。

在这些实施例中,方法类实例生成模块1340还可以具体用于:

在业务类实例中,确定目标查询计划所需的静态业务对象,并且基于真实业务对象、目标查询计划所需的动态业务对象中除真实业务对象以外的其他动态业务对象和目标查询计划所需的静态业务对象,生成方法类实例。

图14示出了本说明书一个实施例提供的数据处理设备的硬件结构示意图。本说明书实施例所述的数据处理设备可以为服务器或者终端设备。如图14所示,数据处理设备1400包括输入设备1401、输入接口1402、中央处理器1403、存储器1404、输出接口1405、以及输出设备1406。其中,输入接口1402、中央处理器1403、存储器1404、以及输出接口1405通过总线1410相互连接,输入设备1401和输出设备1406分别通过输入接口1402和输出接口1405与总线1410连接,进而与数据处理设备1400的其他组件连接。

具体地,输入设备1401接收来自外部的输入信息,并通过输入接口1402将输入信息传送到中央处理器1403;中央处理器1403基于存储器1404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1404中,然后通过输出接口1405将输出信息传送到输出设备1406;输出设备1406将输出信息输出到信息处理设备1400的外部供用户使用。

也就是说,图14所示的数据处理设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现本说明书实施例描述的数据处理方法和装置。

本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本说明书实施例提供的数据处理方法。

以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本说明书的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上所述,仅为本说明书的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本说明书的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本说明书的保护范围之内。

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