网页应用的数据处理方法和装置与流程

文档序号:11250889
网页应用的数据处理方法和装置与流程

本申请涉及互联网领域,具体而言,涉及一种网页应用的数据处理方法和装置。



背景技术:

在当前很多网页应用(即web应用)中前后台的数据交互都是使用JSON格式的数据,如图1所示,常规的web应用前后台交互可以通过如下步骤实现:

步骤S101:前端接收用户输入。

步骤S102:前端基于用户输入生成JSON对象,并向后台发送请求。

其中,该请求可以为查询请求,该JSON对象携带在请求中。

步骤S103:后台(如服务器)对数据进行解析,得到解析结果。

步骤S104:后台按照解析结果处理对应的后台业务。

步骤S105:处理后台业务完成将处理结果反馈。

但是,在开发DMS for MongoDB的时候,客户端页面接受用户输入的信息之后,将输入的信息按照BSON格式传输(即MongoDB中的数据类型)的时候,BSON超过了服务器端的处理范畴,例如,用户输入下述数据:

{id:”123”,date:ISODate(),

"Timestamp":Timestamp(1445571810,1),

"Minkey":MinKey,

"Maxkey":MaxKey}

上述数据由于属性超过了JSON的范畴,导致数据无法在前端和后台进行传输。

另外,在MongoDB自带的导入导出格式中采用冗余字段,并且MongoDB规定数据的Key不可以以$开头,例如,传输一个MinKey类型的数据是,不可以将{$minKey:1}作为一个MinKey的数据。这种办法的缺点非常明显,一是字段的冗余直接加深了文档的层次,二是不具备通用性,他能传递BSON数据的前提是MongoDB人为规定了普通数 据的Key不能以$开头,也就是他甚至无法传递{$haha:”haha”}这样的简单数据。

针对上述BSON数据无法在前后台进行传输的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种网页应用的数据处理方法和装置,以至少解决BSON数据无法在前后台进行传输的技术问题。

根据本申请实施例的一个方面,提供了一种网页应用的数据处理方法,该方法包括:网页应用的前端通过接收的第一信息生成第一对象,其中,所述第一对象的数据传输格式与所述网页应用的服务器的传输格式不匹配;所述网页应用的前端按照预先获取的转换信息,转换所述第一对象的数据传输格式得到第二对象,其中,所述第二对象的数据传输格式与所述服务器的传输格式匹配;所述网页应用的前端将所述第二对象发送至所述服务器。

根据本申请实施例的另一方面,还提供了一种网页应用的数据处理方法,该方法包括:服务器接收网页应用的前端发送的第二对象,其中,所述第二对象的数据传输格式与所述服务器的传输格式相匹配;所述服务器按照预先获取的转换信息,解析所述第二对象,得到所述第二对象携带的第一信息。

根据本申请实施例的另一方面,还提供了一种网页应用的数据处理装置,该装置设置在网页应用的前端,包括:接收单元,用于通过接收的第一信息生成第一对象,其中,所述第一对象的数据传输格式与所述网页应用的服务器的传输格式不匹配;转换单元,用于按照预先获取的转换信息,转换所述第一对象的数据传输格式得到第二对象,其中,所述第二对象的数据传输格式与所述服务器的传输格式匹配;发送单元,用于将所述第二对象发送至所述服务器。

根据本申请实施例的另一方面,还提供了一种网页应用的数据处理装置,该装置设置在网页应用的服务器上,包括:接收单元,用于接收网页应用的前端发送的第二对象,其中,所述第二对象的数据传输格式与所述服务器的传输格式相匹配;处理单元,用于所述服务器按照预先获取的转换信息,解析所述第二对象,得到所述第二对象携带的第一信息。

采用本申请上述实施例,在前端基于接收的第一信息生成第一对象之后,转换第一对象的数据传输格式,将其数据传输格式转换为服务器的传输格式,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可 以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据现有技术中web页面前后台交互的交互示意图;

图2是本申请实施例的一种网页应用的数据处理方法的计算机终端的硬件结构框图;

图3是根据本申请实施例的一种可选的网页应用的数据处理方法的流程图;

图4是根据本申请实施例的一种可选的网页应用前后台交互的示意图;

图5是根据本申请实施例的一种可选的网页应用的数据处理方法的流程图;

图6是根据本申请实施例的一种可选的网页应用的数据处理方法的流程图;

图7是根据本申请实施例的一种可选的网页应用的数据处理装置的示意图;

图8是根据本申请实施例的一种可选的网页应用的数据处理装置的示意图二;

图9是根据本申请实施例的一种可选的网页应用的数据处理装置的示意图三四;

图10是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的 任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,对本申请涉及的术语解释如下:

MongoDB:分布式文档存储数据库,可以为WEB应用(即网页应用)提供可扩展的高性能数据存储解决方案。该数据库支持的数据结构是bson格式,具体地,MongoDB使用BSON这种结构来存储数据和网络数据交换。

BSON:是一种类json的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型,其中,Date类型是日期类型,BinData是二进制类型。

JSON,即JavaScript Object Notation,是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

实施例1

根据本申请实施例,还提供了一种网页应用的数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是本申请实施例的一种网页应用的数据处理方法的计算机终端的硬件结构框图。如图2所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的网页应用的数据处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的网页应用的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中, 存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图3所示的网页应用的数据处理方法。图3是根据本申请实施例的一种可选的网页应用的数据处理方法的流程图。

步骤S302:网页应用的前端通过接收的第一信息生成第一对象,其中,第一对象的数据传输格式与网页应用的服务器的传输格式不匹配,该网页应用可以为web应用,web应用为可以通过web访问的应用程序,即通过用户浏览器上执行的程序。该网页应用的前端可以为安装该浏览器的终端,用户可以在该终端上输入第一信息;网页应用的服务器(或后台)用于处理该第一信息。

步骤S304:网页应用的前端按照预先获取的转换信息,转换第一对象的数据传输格式得到第二对象,其中,第二对象的数据传输格式与服务器的传输格式匹配;

步骤S306:网页应用的前端将第二对象发送至服务器。

采用本申请上述实施例,在前端基于接收的第一信息生成第一对象之后,转换第一对象的数据传输格式,将其数据传输格式转换为服务器的传输格式,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述实施例中的网页应用可以为分布式文档存储数据库MongoDB的网页应用,用户可以通过该网页应用的前端输入查询请求,以查询该MongoDB内的数据。

上述实施例中的第一对象可以为分布式文档存储数据库MongoDB的BSON对象,第二对象可以为允许被服务器解析的JSON对象。该预先获取的转换信息可以为预先设置的转换协议或通讯协议,该转换信息中记录有BSON对象的对象类型对应的类型格式。

下面结合图4对本申请上述实施例进行详细描述。

如图4所示,采用本申请实施例,分布式文档存储数据库MongoDB的网页前端可与后台进行交互,具体地可以通过如下方式进行交互:

步骤S401:网页应用的前端接收用户输入的第一信息。

其中,第一信息可以为查询分布式文档存储数据库MongoDB中数据的查询信息。

步骤S402:网页应用的前端基于第一信息生成BSON对象。

步骤S403:网页应用的前端将BSON对象按照预先获取的转换信息转换为JSON对象。

其中,可以按照预先获取的转换协议,将BSON对象的对象类型的格式转换为对应的类型格式。

步骤S404:网页应用的前端将JSON对象发送至后台服务器。

步骤S405:后台服务器按照预先获取的转换信息,对JSON对象进行解析。

具体地,后台服务器按照JSON对象的解析方式对JSON对象进行解析,得到JSON对象的值,然后按照预先获取的转换信息对JSON对象的值进行转换,得到携带在JSON对象中的第一信息。

步骤S406:后台服务器执行第一信息指示的后台业务,得到执行结果。

其中,第一信息指示的后台业务可以为存储、更新或者查询等业务,本申请对此不做限定。

步骤S407:后台服务器按照预先获取的转换信息将执行结果转换为第三对象。

其中,第三对象的数据传输格式符合分布式文档存储数据库MongoDB的网页应用的前端的传输格式。

步骤S408:后台服务器将第三对象返回至前端。

通过本申请的上述实施例,可以实现BSON格式的数据在前端和后台之间的通讯,采用该方式高效、完整地在前端和后端传输BSON格式的数据。

根据本申请的上述实施例,网页应用的前端按照预先获取的转换信息,转换第一对象的数据传输格式得到第二对象可以包括:前端查询预先获取的转换信息中,与对象类型对应的类型格式,其中,预先获取的转换信息中记录有对象类型与类型格式的对应关系;在查询到与对象类型对应的类型格式的情况下,前端将第一对象的数据传输格式转换为类型格式,得到第二对象。

具体地,在前端将第一对象的数据传输格式转换为类型格式之前,方法还包括:前端判断对象类型的数据传输格式是否与服务器的传输格式相匹配;前端将第一对象转换的数据格式转换为类型格式包括:若对象类型的数据传输格式与服务器的传输格式不匹配,则将第一对象的数据传输格式转换为类型格式。

由于BSON是一种类json的二进制形式的存储格式,BSON有JSON没有的一些数据类型,如Date和BinData类型,其中,Date类型是日期类型,BinData是二进制类型;同理,BSON也有JSON有的一些数据类型,如null类型。通过上述实施例,采用简单的数据冗余来区分各个BSON类型,并不会加深文档结构,并且上述实施例,适用任何BSON数据的传递,进一步地,上述实施例中,提供的仅将BSON有的且JSON没有的一些数据类型进行格式转换的方案,可以避免对BSON有且JSON也有的一些数据类型进行无效处理,从而减少了处理器的处理量,提高了处理速度。

具体地,如表1所示的转换信息中可以记录:对象类型和转换格式之间的对应关系。

表1

如表1所示,若对象类型为Binary二进制类型,则将格式转换为BinData(1,asdasaaaa),其中,该类型格式中的第一个字符串“1”表示二进制数据的类型,第二个字符串“asdasaaaa”表示是对二进制数据BASE64编码之后得到的字符串,其中的“”不属于字符串。

在表1中,Double表示双精度浮点型定义类型,是表示实型变量的一种变量类型;String表示字符串,具体地,最外层由两个双引号包裹,其中为了后台调用FastJSON解析时候能够正常解析,需要打上\字符,本文所有的文字都是转义之前的,程序中需要转义(即”\”content\””在程序中作为字符串书写的时候是”\\\”content\\\””),其中,FastJSON是用来解析JSON类型数据的工具。

上述表1中的Undefined类型为在高级程序设计语言设计应用程序时,用于指示变量尚未用单等号进行赋值,其对应的类型格式为:ObjectId对象ID ObjectId(2184129hj);Boolean数据类型,boolean变量存储为8位(1个字节)的数值形式,但只能是True或是False,其对应的类型格式为:true/false;Date类型:日期类型,其对应的类型格式为:ISODate(xxxxxxx),其中的“xxxxxxx”为日期,如19860123;RegExp正则表达式类型,其对应的类型格式为:RegExp(pattern,attr);JavaScript JavaScript是一种动态类型、弱类型、基于原型的语言,内置支持类型,其对应的类型格式为:function(){var a=\‘123\’+\”haha\”};Symbol(deprecate)符号(反对),其对应的类型格式为:Symbol(asfae),其中,中间的特殊字符需要前端转义,特殊字符如:“\-->\\”、“'-->\'”、以及“"-->\"”等,其中的“”不是特殊字符的组成部分。另外,32-bit Integer 32位整数类型对应的类型格式为:Number Int(123),其中的123为具体数值,64-bit Integer 64位整数类型对应的类型格式为NumberLong(123),其中的123为具体数值。Timestamp时间标识类型,对应的类型格式为:Timestamp(2738,1),其中的,类型格式中的第二个参数是一秒钟数几下,第一个参数是距离1970年多少下。

需要说明的是,表1中示出的MinKey和MaxKey类型的数据,无需做格外的转换。

上述表1是一种可选的转换信息的表现方式,但本申请不限于该表1的表现形式。

可选地,第一对象为BSON对象,转换第一对象的数据传输格式得到第二对象包括:将BSON对象转换为对应的JSON对象,得到JSON字符串,其中,JSON对象为第二对象。

在一个可选的实施例中,在于生成BSON对象之后,将BSON对象转换为对应的JSON字符串,按照JSON字符串的形式进行前端和后台的通信,然后在后台将其按照协议进行解析。

在另一个实现方式中,可以将BSON对象按照对应的类型格式进行转换,转换格式之后,将转换格式之后的JSON对象按照JSON字符串的形式进行前端和后台的通信。

转换协议详细说明如下:

在将前端的BSON格式数据转换为JSON对象的过程中:

BSON Object对象:{“ch”:”\”easd\””}就是子文档,和JSON Object一样,被大括号包裹。

BSON Array阵列:[a,b,c,d]和JSON Array一样,被中括号包裹。

上面这两种情况都可以被用来解析JSON类型数据的工具FASTJSON处理,这种类型的BSON对象与普通的JSON对象没有什么区别,在判断出,BSON对象的类型格式与服务器可以接收并解析的JSON对象的格式一致时,可以不对其进行格式转换。

在该实施例中,若BSON对象的类型格式与服务器的传输格式(和/解析格式)不一致时,按照预先获取的转换信息进行格式转换,将BSON对象的数据传输格式转换为对应的类型格式,并在传输过程中当作JSON String进行传输,服务器接收到该JSON String之后,在后台再对应进行解析)。

因为是按照JSON String的形式进行传输,所以全部数据类型最外层都套一层””(双引号),从而后台首先进行JSON解析的时候能够当成字符串在后台进行解析,进而可以根据上述的转换信息对JSON的值进行而分析出不同的Bson类型。

根据本申请的上述实施例,在网页应用的前端将第二对象发送至服务器之后,方法还包括:网页应用的前端接收服务器返回的第三对象,其中,第三对象中包括服务器执行第二对象得到的第二信息,第三对象的数据传输格式符合网页应用的客户端的传输格式。

可选地,网页应用为分布式文档存储数据库的网页应用。

其中,第三对象的数据传输格式符合分布式文档存储数据库MongoDB的网页应用 的前端的传输格式。

具体地,后台服务器转换执行结果,可以按照转换信息中记录的对象类型对应的类型标识进行转换,得到最终的数据结构是:

将通过上述转换得到的结果按照字符串的形式进行传输,如,这个数据结构通过FastJSON进行转换成字符串之后会发往前端。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

实施例2

根据本申请实施例,还提供了一种运行在硬件框图中的网页应用的数据处理方法,如图5所示,该方法包括:

步骤S501:服务器接收网页应用的前端发送的第二对象,其中,第二对象的数据传输格式与服务器的传输格式相匹配;

步骤S503:服务器按照预先获取的转换信息,解析第二对象,得到第二对象携带的第一信息。

采用本申请上述实施例,服务器接收前端发送的与服务器的传输格式相匹配的第 二对象,在接收到第二对象之后,解析第二对象,得到第二对象携带的第一信息,在该实施例中,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述实施例中的网页应用可以为分布式文档存储数据库MongoDB的网页应用,用户可以通过该网页应用的前端输入查询请求,以查询该MongoDB内的数据。

上述实施例中的第一对象可以为分布式文档存储数据库MongoDB的BSON对象,第二对象可以为允许被服务器解析的JSON对象。该预先获取的转换信息可以为预先设置的转换协议或通讯协议,该转换信息中记录有BSON对象的对象类型对应的类型格式。

根据本申请的上述实施例,在得到第二对象携带的第一信息之后,方法还可以包括:服务器执行第一信息指示的操作,得到第二信息;按照预先获取的转换信息,将第二信息生成第三对象,其中,第三对象的数据传输格式与网页应用的前端的传输格式相匹配;发送第三对象至网页应用的前端。

具体地,服务器按照预先获取的转换信息,解析第二对象,得到第二对象携带的第一信息包括:服务器将第二对象作为字符串,确定第二对象的值;在预先获取的转换信息中,服务器查询第二对象的值所属的类型格式;在查询到第二对象的值所属的类型格式的情况下,服务器按照类型格式解析第二对象中携带的第一信息。

如图6所示,该实施例可以通过如下步骤实现:

步骤S601:网页应用的前端接收用户输入的第一信息。

其中,第一信息可以为查询分布式文档存储数据库MongoDB中数据的查询信息。

步骤S602:网页应用的前端基于第一信息生成BSON对象。

步骤S603:网页应用的前端将BSON对象按照预先获取的转换信息转换为JSON对象。

其中,可以按照预先获取的转换协议,将BSON对象的对象类型的格式转换为对应的类型格式。

步骤S604:网页应用的前端将JSON对象发送至后台服务器。

上述步骤S601至步骤S604与上述实施例1中对应步骤的实现方法一致,在此不 再赘述。

步骤S605:后台服务器按照预先获取的转换信息,对JSON对象进行解析。

具体地,后台服务器将接收到的第二对象(JSON对象)作为字符串进行解析,获取该JSON对象对应的值,在获取JSON对象的值之后,可以从预先获取的转换信息查找到该JSON对象的值对应的类型格式,按照类型格式对其进行解析,具体的解析方式参见上述对于表1的描述,得到携带在JSON对象中的第一信息。

步骤S606:后台服务器执行第一信息指示的后台业务,得到执行结果。

其中,第一信息指示的后台业务可以为存储、更新或者查询等业务,本申请对此不做限定。

步骤S607:后台服务器按照预先获取的转换信息将执行结果(对应上述的第二信息)转换为第三对象。

其中,第三对象的数据传输格式符合分布式文档存储数据库MongoDB的网页应用的前端的传输格式。

具体地,后台服务器转换执行结果,得到最终的数据结构是

这个数据结构通过FastJSON进行转换成字符串之后会发往前端。

步骤S608:后台服务器将第三对象返回至前端。

通过本申请的上述实施例,可以实现BSON格式的数据在前端和后台之间的通讯,采用该方式高效、完整地在前端和后端传输BSON格式的数据。

可选地,上述实施例中的网页应用为分布式文档存储数据库的网页应用。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

实施例3

根据本申请实施例,还提供了一种用于实施上述网页应用的数据处理方法的网页应用的数据处理装置,如图7所示,该装置设置在网页应用的前端,包括:接收单元71、转换单元73和发送单元75。

其中,接收单元用于通过接收的第一信息生成第一对象,其中,第一对象的数据传输格式与网页应用的服务器的传输格式不匹配;

转换单元用于按照预先获取的转换信息,转换第一对象的数据传输格式得到第二对象,其中,第二对象的数据传输格式与服务器的传输格式匹配;

发送单元用于将第二对象发送至服务器。

采用本申请上述实施例,在前端基于接收的第一信息生成第一对象之后,转换第一对象的数据传输格式,将其数据传输格式转换为服务器的传输格式,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述实施例中的网页应用可以为分布式文档存储数据库MongoDB的网页应用,用户可以通过该网页应用的前端输入查询请求,以查询该MongoDB内的数据。

上述实施例中的第一对象可以为分布式文档存储数据库MongoDB的BSON对象,第二对象可以为允许被服务器解析的JSON对象。该预先获取的转换信息可以为预先设置的转换协议或通讯协议,该转换信息中记录有BSON对象的对象类型对应的类型格式。

其中,后台服务器可以按照JSON对象的解析方式对JSON对象进行解析,得到JSON对象的值,然后按照预先获取的转换信息对JSON对象的值进行转换,得到携带在JSON对象中的第一信息。

通过本申请的上述实施例,可以实现BSON格式的数据在前端和后台之间的通讯,采用该方式高效、完整地在前端和后端传输BSON格式的数据。

根据本申请的上述实施例,转换单元包括:查询模块,用于查询预先获取的转换信息中,与对象类型对应的类型格式,其中,预先获取的转换信息中记录有对象类型与类型格式的对应关系;转换模块,用于在查询到与对象类型对应的类型格式的情况下,将第一对象的数据传输格式转换为类型格式,得到第二对象。

具体地,装置还包括如图8所示的判断单元81,用于在前端将第一对象的数据传输格式转换为类型格式之前,前端判断对象类型的数据传输格式是否与服务器的传输格式相匹配。

转换模块包括:若对象类型的数据传输格式与服务器的传输格式不匹配,则将第一对象的数据传输格式转换为类型格式。

由于BSON是一种类json的二进制形式的存储格式,BSON有JSON没有的一些数据类型,如Date和BinData类型,其中,Date类型是日期类型,BinData是二进制类型;同理,BSON也有JSON有的一些数据类型,如null类型。通过上述实施例,采用简单的数据冗余来区分各个BSON类型,并不会加深文档结构,并且上述实施例,适用任何BSON数据的传递,进一步地,上述实施例中,提供的仅将BSON有的且JSON没有的一些数据类型进行格式转换的方案,可以避免对BSON有且JSON也有的一些数据类型进行无效处理,从而减少了处理器的处理量,提高了处理速度。

可选地,第一对象为BSON对象,转换单元包括:对象转换模块,用于将BSON对象转换为对应的JSON对象,得到JSON字符串,其中,JSON对象为第二对象。

在一个可选的实施例中,在于生成BSON对象之后,将BSON对象转换为对应的JSON字符串,按照JSON字符串的形式进行前端和后台的通信,然后在后台将其按照协议进行解析。

在另一个实现方式中,可以将BSON对象按照对应的类型格式进行转换,转换格式之后,将转换格式之后的JSON对象按照JSON字符串的形式进行前端和后台的通信。

转换协议详细说明如下:

在将前端的BSON格式数据转换为JSON对象的过程中:

BSON Object对象:{“ch”:”\”easd\””}就是子文档,和JSON Object一样,被大括号包裹。

BSON Array阵列:[a,b,c,d]和JSON Array一样,被中括号包裹。

上面这两种情况都可以被用来解析JSON类型数据的工具FASTJSON处理,这种类型的BSON对象与普通的JSON对象没有什么区别,在判断出,BSON对象的类型格式与服务器可以接收并解析的JSON对象的格式一致时,可以不对其进行格式转换。

在该实施例中,若BSON对象的类型格式与服务器的传输格式(和/解析格式)不一致时,按照预先获取的转换信息进行格式转换,将BSON对象的数据传输格式转换为 对应的类型格式,并在传输过程中当作JSON String进行传输,服务器接收到该JSON String之后,在后台再对应进行解析)。

因为是按照JSON String的形式进行传输,所以全部数据类型最外层都套一层””(双引号),从而后台首先进行JSON解析的时候能够当成字符串在后台进行解析,进而可以根据上述的转换信息对JSON的值进行而分析出不同的Bson类型。

具体地,装置还可以包括:返回单元,用于在网页应用的前端将第二对象发送至服务器之后,网页应用的前端接收服务器返回的第三对象,其中,第三对象中包括服务器执行第二对象得到的第二信息,第三对象的数据传输格式符合网页应用的客户端的传输格式。

其中,第三对象的数据传输格式符合分布式文档存储数据库MongoDB的网页应用的前端的传输格式。

具体地,后台服务器转换执行结果,得到最终的数据结构是

这个数据结构通过FastJSON进行转换成字符串之后会发往前端。

可选地,网页应用为分布式文档存储数据库的网页应用。

本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。

实施例4

根据本申请实施例,还提供了一种用于实施上述网页应用的数据处理方法的网页应用的数据处理装置,如图9所示,该装置设置在网页应用的服务器上,包括:接收单元91和处理单元93。

其中,接收单元,用于接收网页应用的前端发送的第二对象,其中,第二对象的数据传输格式与服务器的传输格式相匹配;

处理单元,用于服务器按照预先获取的转换信息,解析第二对象,得到第二对象携带的第一信息。

采用本申请上述实施例,服务器接收前端发送的与服务器的传输格式相匹配的第二对象,在接收到第二对象之后,解析第二对象,得到第二对象携带的第一信息,在该实施例中,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述实施例中的网页应用可以为分布式文档存储数据库MongoDB的网页应用,用户可以通过该网页应用的前端输入查询请求,以查询该MongoDB内的数据。

上述实施例中的第一对象可以为分布式文档存储数据库MongoDB的BSON对象,第二对象可以为允许被服务器解析的JSON对象。该预先获取的转换信息可以为预先设置的转换协议或通讯协议,该转换信息中记录有BSON对象的对象类型对应的类型格式。

根据本申请的上述实施例,装置还可以包括:执行单元,用于在得到第二对象携带的第一信息之后,执行第一信息指示的操作,得到第二信息;生成单元,用于按照预先获取的转换信息,将第二信息生成第三对象,其中,第三对象的数据传输格式与网页应用的前端的传输格式相匹配;发送单元,用于发送第三对象至网页应用的前端。

具体地,处理单元可以包括:确定模块,用于将第二对象作为字符串,确定第二对象的值;查询模块,用于在预先获取的转换信息中,查询第二对象的值所属的类型格式;解析单元,用于在查询到第二对象的值所属的类型格式的情况下,按照类型格式解析第二对象中携带的第一信息。

本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。

实施例5

本申请的实施例可以提供一种计算机终端或服务器,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行网页应用的数据处理方法中以下步骤:

步骤S2:网页应用的前端通过接收的第一信息生成第一对象,其中,第一对象的数据传输格式与网页应用的服务器的传输格式不匹配;

步骤S4:网页应用的前端按照预先获取的转换信息,转换第一对象的数据传输格式得到第二对象,其中,第二对象的数据传输格式与服务器的传输格式匹配;

步骤S6:网页应用的前端将第二对象发送至服务器。

采用本申请上述实施例,在前端基于接收的第一信息生成第一对象之后,转换第一对象的数据传输格式,将其数据传输格式转换为服务器的传输格式,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述实施例中的网页应用可以为分布式文档存储数据库MongoDB的网页应用,用户可以通过该网页应用的前端输入查询请求,以查询该MongoDB内的数据。

在本实施例中,上述计算机终端可以执行网页应用的数据处理方法中以下步骤:

步骤S1:服务器接收网页应用的前端发送的第二对象,其中,第二对象的数据传输格式与服务器的传输格式相匹配;

步骤S3:服务器按照预先获取的转换信息,解析第二对象,得到第二对象携带的第一信息。

采用本申请上述实施例,服务器接收前端发送的与服务器的传输格式相匹配的第二对象,在接收到第二对象之后,解析第二对象,得到第二对象携带的第一信息,在该实施例中,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

可选地,图10是根据本申请实施例的一种计算机终端的结构框图。如图10所示, 该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1001、存储器1003、以及传输装置1005。

其中,存储器1003可用于存储软件程序以及模块,如本申请实施例中的网页应用的数据处理方法对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的网页应用的数据处理方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1005用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图10所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

实施例6

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的网页应用的数据处理方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

步骤S2:网页应用的前端通过接收的第一信息生成第一对象,其中,第一对象的数据传输格式与网页应用的服务器的传输格式不匹配;

步骤S4:网页应用的前端按照预先获取的转换信息,转换第一对象的数据传输格式得到第二对象,其中,第二对象的数据传输格式与服务器的传输格式匹配;

步骤S6:网页应用的前端将第二对象发送至服务器。

采用本申请上述实施例,在前端基于接收的第一信息生成第一对象之后,转换第一对象的数据传输格式,将其数据传输格式转换为服务器的传输格式,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述实施例中的网页应用可以为分布式文档存储数据库MongoDB的网页应用,用户可以通过该网页应用的前端输入查询请求,以查询该MongoDB内的数据。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

步骤S1:服务器接收网页应用的前端发送的第二对象,其中,第二对象的数据传输格式与服务器的传输格式相匹配;

步骤S3:服务器按照预先获取的转换信息,解析第二对象,得到第二对象携带的第一信息。

采用本申请上述实施例,服务器接收前端发送的与服务器的传输格式相匹配的第二对象,在接收到第二对象之后,解析第二对象,得到第二对象携带的第一信息,在该实施例中,使用转换格式后的第二对象在前端和后台服务器之间传输。通过上述实施例,BSON格式数据可转换为JSON格式的数据,使用JSON格式的数据在前端和服务器之间进行传输,服务器可以正确接收并解析该转换后的JSON格式的数据,解决了现有技术中BSON数据无法在前后台进行传输的问题,实现了网页应用的信息在前端和后台之间正确且高效的传输。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它 的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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