处理响应数据的方法、设备、客户端设备和电子设备与流程

文档序号:11250911阅读:352来源:国知局
处理响应数据的方法、设备、客户端设备和电子设备与流程

本发明涉及业务数据的处理,以及更具体来说,涉及一种用于处理响应数据的方法、用于处理响应数据的设备、客户端设备和电子设备。



背景技术:

在诸如终端设备或服务器的电子设备中设置有各种业务。所述业务可以向其他电子设备请求数据并获取返回的响应数据。

例如,可以根据不同业务,使用http(hypertexttransferprotocol,超文本传输协议)请求访问服务器,以获取数据。http是用于从网页服务器传输超文本到本地浏览器的传输协议。从服务器返回来的数据可以是json(javascriptobjectnotation)数据。json是一种轻量级的数据交换格式。例如,可以将所返回的json数据存储在mysql数据库的表中。mysql是一种关系型数据库管理系统。通常,不同的业务需要不同接口请求,并返回不同格式的响应数据。

所返回的响应数据有时可能不能直接满足业务请求方的要求。在现有技术中,通常针对每种业务单独设置业务接口,以处理返回的响应数据。

此外,当返回的响应数据发生变化时,可能需要重新设计、编写和生成整个程序。

因此,需要提供一种新的技术方案,针对上述现有技术中的至少一个技术问题进行改进。



技术实现要素:

本发明的一个目的是提供一种用于用于处理响应数据的新技术方案。

根据本发明的第一方面,提供了一种用于处理响应数据的方法,包括:接收响应数据;基于配置文件,利用利用配置文件中指定的类,动态生成业务数据对象,其中,所述配置文件还包括响应数据中的第一字段与要生成的业务数据对象中的第二字段的对应关系,所述业务数据对象中的内容是在进行处理时基于配置文件生成的;从响应数据获取第一字段的业务值;以及基于配置文件将第一字段的业务值设置到业务数据对象中的相应第二字段。

优选地,所述响应数据是来自服务器的响应数据,以及所述方法还包括:使用http请求向服务器请求响应数据。

优选地,所述响应数据是json数据字符串。

优选地,所述业务数据对象是java业务数据对象。

优选地,所述配置文件是xml文件。

优选地,所述响应数据包括第一字段和第一字段的业务值。

优选地,所述配置文件还包括第二字段的格式信息,以及所述方法还包括:基于所述第二字段的格式信息转换所述业务值。

优选地,所述方法还包括:将设置后的业务数据对象返回给业务调用方,以供其使用。

根据本发明的第二方面,提供了一种用于处理响应数据的设备,包括:用于接收响应数据的装置;用于基于配置文件利用利用配置文件中指定的类动态生成业务数据对象的装置,其中,所述配置文件还包括响应数据中的第一字段与要生成的业务数据对象中的第二字段的对应关系,所述业务数据对象中的内容是在进行处理时基于配置文件生成的;用于从响应数据获取第一字段的业务值的装置;以及用于基于配置文件将第一字段的业务值设置到业务数据对象中的相应第二字段的装置。

根据本发明的第三方面,提供了一种客户端设备,包括根据实施例所述的用于处理响应数据的设备,或者被设计成用于执行根据实施例所述的用于处理响应数据的方法中的操作。

根据本发明的第四方面,提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令在所述电子设备运行时控制所述处理器执行根据实施例所述的用于处理响应数据的方法中的操作。

根据本发明的一个实施例,可以提高处理响应数据的效率。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是根据本发明的一个实施例的用于处理响应数据的方法的示意性流程图。

图2是根据本发明的一个实施例的客户端设备的示意性框图。

图3是根据本发明的一个实施例的电子设备的示意性框图。

图4是可以应用根据本发明的实施例的网络系统的例子的示意图。

图5是根据本发明的一个实施例的例子的示意图。

图6是xml配置文件的一个例子。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

下面,参照附图描述根据本发明的各个实施例和例子。

<方法>

图1示出了根据本发明的一个实施例的用于处理响应数据的方法的示意性流程图。

如图1所示,在步骤s1100,接收响应数据。可以使用http请求向服务器请求响应数据。所述响应数据可以是来自服务器的响应数据。例如,所述响应数据是json数据字符串。

例如,一个业务请求包括:唯一的请求id(业务标识)和多个业务参数(例如,开始日期、结束日期等)。服务器端根据不同的业务标识进行业务处理并返回响应数据。所返回的响应数据例如是json字符串式。下面是json字符串的例子,它包括:响应的字段名(例如“imei_app_down_up_btn_click_pv”)、字段类型(例如“yyyy-mm-ddhh:mm”)、业务值(例如“9667”)等。

在步骤s1200,基于配置文件,利用利用配置文件中指定的类,动态生成业务数据对象。

这里,所述配置文件还包括响应数据中的第一字段与要生成的业务数据对象中的第二字段的对应关系。所述配置文件例如是xml文件。这里,第一字段指的是响应数据中的字段。响应数据可以包括一个或多个第一字段。第二字段指的是要映射给业务请求方的字段,它可以是一个或多个第二字段。

例如,所述xml文件可以包括响应数据中的第一字段(名)、响应数据中的字段类型、所要生成的对象中的第二字段(名)、第一字段和第二字段之间的格式转换信息等。图6是xml文件的一个例子。

例如,第一字段“imei_app_down_up_btn_click_pv”被映射到所生成的对象中的第二字段“ravimeiappdownupbtnclickpv”。这里,还可以基于接口标识(例如,id=“106651”),为不同的接口选择配置文件中的不同配置信息。

此外,为了简化配置信息,可以将通用的配置信息抽出来放入到单独的公共配置项目中。例如,上面id=“root”的项目是公共配置项目。当需要使用公共配置项目时,可以指定该公共配置项目作为父配置信息。

与现有技术不同,所述业务数据对象中的内容是在进行处理时基于配置文件生成的。在这里,利用了允许在程序运行时动态构建对象的编程语言的特性。例如,配置文件中所指定的类是这种编程语言所编写的类,它允许动态生成对象。例如,所述编程语言可以是java语言。在这种情况下,所述类是java类。所述业务数据对象是java业务数据对象。

在步骤s1300,从响应数据获取第一字段的业务值。这里,所述响应数据包括第一字段和第一字段的业务值。

例如,所述配置文件还包括第二字段的格式信息。基于所述第二字段的格式信息转换所述业务值。这样可以满足业务请求方的要求。

在步骤s1400,基于配置文件将第一字段的业务值设置到业务数据对象中的相应第二字段。

将设置后的业务数据对象返回给业务调用方,以供其使用。

在上述实施例中,利用了编程语言可以动态产生对象的特性来处理响应数据。这样,可以利用配置文件满足不同业务的数据请求需求。这可以提高效率。

此外,当接口或数据发生变化时,可以简单地通过修改配置文件来适应这种变化。这提高了系统的灵活性。

<设备>

本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中本领域技术人员很容易基于上面公开的方法,产生一种用于处理响应数据的设备,所述设备包括用于执行根据所述实施例的用于处理响应数据的方法中的各个操作。例如,所述设备包括:用于接收响应数据的装置;用于基于配置文件利用利用配置文件中指定的类动态生成业务数据对象的装置,其中,所述配置文件还包括响应数据中的第一字段与要生成的业务数据对象中的第二字段的对应关系,所述业务数据对象中的内容是在进行处理时基于配置文件生成的;用于从响应数据获取第一字段的业务值的装置;以及用于基于配置文件将第一字段的业务值设置到业务数据对象中的相应第二字段的装置。

例如,所述用于处理响应数据的设备可以是诸如服务器或终端设备的电子设备中的部件或者所述电子设备中的诸如应用软件的客户端设备中的部件。

<客户端设备>

图2示出了根据本发明的一个实施例的客户端设备的示意性框图。

如图2所示,客户端设备2000包括上面所述的用于处理响应数据的设备2010。

所述客户端设备例如是电子设备中的应用。

另外,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以直接设计出期望的产品。从这个方面来说,在这个实施例中,还提供了一种客户端设备,它被设计成用于执行图1所述的方法中的操作。

本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由应当来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。

<电子设备>

可以在电子设备中实现根据本发明的各个实施例。所述电子设备例如是笔记本电脑、智能手机、平板电脑、服务器等。

图3示出了根据本发明的一个实施例的电子设备的示意性框图。

如图3所示,电子设备3000可以包括处理器3010、存储器3020、接口装置3030、通信装置3040、显示装置3050、输入装置3060、扬声器3070、麦克风3080,等等。

处理器3010例如可以是中央处理器cpu、微处理器mcu等。存储器3020例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括usb接口、耳机接口等。

通信装置3040例如能够进行有有线或无线通信。

显示装置3050例如是液晶显示屏、触摸显示屏等。输入装置3060例如可以包括触摸屏、键盘等。用户可以通过扬声器3070和麦克风3080输入/输出语音信息。

图3所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。

在这个实施例中,所述存储器3020用于存储指令,所述指令用于控制所述处理器3010进行操作以执行前面参照图1所述的用于处理响应数据的方法中的操作。本领域技术人员应当理解,尽管在图3中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器3010和存储装置3020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

<例子>

图4是可以应用根据本发明的实施例的网络系统的例子的示意图。图5是根据本发明的一个实施例的例子的示意图。

如图4所示,终端设备4020、4030和服务器4040、4050通过网络相互连接。可以在终端设备4020、4030和服务器4040、4050中的任何一个中实现根据上述实施例的技术方案。

在图5中,以终端设备4020和服务器4040为例说明了根据本发明的实施例的一个例子。

如图5所示,终端设备4020中的业务请求方向服务器请求数据。终端设备4020可以包含多个业务请求方。终端设备4020向服务器4040发送http数据请求。

服务器4040在接收到http数据请求后处理该请求并生成http响应数据。所述http响应数据例如是json数据。

服务器4040将http响应数据发送给终端设备4020。

终端设备4020在接收到响应数据后,可以使用单例模式处理所述数据。

例如,终端设备4020加载xml配置文件。终端设备4020可以基于配置文件中的接口标识确定所要加载的配置信息。终端设备4020基于配置文件中的配置信息,使用配置文件中所指定的类,动态生成业务数据对象,例如,java业务数据对象。这里,业务数据对象中的内容不是预先设置的或者预先编译生成的。所述业务数据对象中的内容是在进行处理时基于配置文件生成的。

接着,根据所述配置文件,将响应数据中的业务值设置到业务数据对象中的相应字段中。所述配置文件包括响应数据中的字段与要生成的业务数据对象中的字段的对应关系。

这里,配置文件可以是关键词/值对的形式的数据。这样,当使用配置信息时,可以快速地从配置文件获得配置信息。

可以对所设置的业务数据对象进行再加工或处理,以存储到数据库中,供应用系统使用。

这里,通过使用配置文件,在调用接口以获得返回的响应数据时,不需要针对每一个接口重复编写类似的解析代码。这可以提高效率。可选地,可以使应用程序更简洁,通用性更高。

本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

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