发明内容
针对相关技术的在不同的终端与不同的语言服务器进行数据处理时,需要定义不同的接口,耗费大量时间和人力成本的问题,尚未提出有效的解决方案。为此本发明的主要目的在于提供一种数据处理方法及装置以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据处理方法。该方法包括:获取终端发送的第一通讯请求;根据第一通讯请求调用核心库,在核心库中获取语言服务器所对应识别的第二通讯请求;将第二通讯请求发送给语言服务器;获取由语言服务器根据第二通讯请求进行操作处理后而获取到的第一文件,其中,第一文件包括操作处理后得到的处理结果;根据第一文件进行重组处理,以获取终端所对应识别的第二文件;向终端发送第二文件。
进一步地,在获取终端发送的第一通讯请求之前,方法还包括:定义接口参数,其中,接口参数包括URI地址、变量类型、变量名以及访问修饰符。
进一步地,获取终端发送的第一通讯请求的步骤包括:调用接口参数;获取终端按照接口参数输入的第一通讯请求的参数,以获取第一通讯请求。
进一步地,第一通讯请求的参数包括URI地址、变量类型、变量名以及访问修饰符,其中,根据接收到的第一通讯请求调用核心库,以获取语言服务器所对应识别的第二通讯请求的步骤包括:调用核心库对第一通讯请求的参数进行拼接和转制处理,以获取语言服务器所对应识别的第二通讯请求。
进一步地,对接收到的第一通讯请求进行转换处理,以获取语言服务器所对应识别的第二通讯请求的步骤包括:对第一通讯请求进行转换处理,以获取语言服务器所对应识别的第三通讯请求;对第三通讯请求进行加密处理,以得到第二通讯请求。
根据本发明的另一方面,提供了一种数据处理装置。该装置包括:第一获取模块,用于获取终端发送的第一通讯请求;第一调取模块,用于根据第一通讯请求调用核心库,在核心库中获取语言服务器所对应识别的第二通讯请求;第一发送模块,用于将第二通讯请求发送给语言服务器;第二获取模块,用于获取由语言服务器根据第二通讯请求进行操作处理后而获取到的第一文件,其中,第一文件包括操作处理后得到的处理结果;重组模块,用于根据第一文件进行重组处理,以获取终端所对应识别的第二文件;第二发送模块,用于向终端发送第二文件。
进一步地,装置还包括:第一处理模块,用于定义接口参数,其中,接口参数包括URI地址、变量类型、变量名以及访问修饰符。
进一步地,第一获取模块包括:第二调取模块,用于调用接口参数;第三获取模块,用于获取终端按照接口参数输入的第一通讯请求的参数,以获取第一通讯请求。
进一步地,第一调取模块包括:第二处理模块,用于调用核心库对第一通讯请求的参数进行拼接和转制处理,以获取语言服务器所对应识别的第二通讯请求。
进一步地,重组模块还包括:第一转换模块,用于对第一通讯请求进行转换处理,以获取语言服务器所对应识别的第三通讯请求;加密模块,用于对第三通讯请求进行加密处理,以得到第二通讯请求。
本发明提供的数据处理方法及装置,通过调用核心库,将不同终端的请求转变成不同语言服务器所对应识别的请求,然后将语言服务器处理后的文件转换成不同终端所对应识别的文件,解决了现有技术中在不同的终端与不同的语言服务器进行数据处理时,需要定义不同的接口,耗费大量时间和人力成本的相关技术问题,实现了在多终端不同语言与多平台不同语言之间进行数据处理时,节约开发的时间和人力成本的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的数据处理方法的流程图。如图1所示,该数据处理方法包括如下步骤:
步骤S102,获取终端发送的第一通讯请求。
步骤S104,根据第一通讯请求调用核心库,以获取语言服务器所对应识别的第二通讯请求。
步骤S106,将第二通讯请求发送给语言服务器。
步骤S108,获取由语言服务器根据第二通讯请求进行操作处理后而获取到的第一文件,其中,第一文件包括操作处理后得到的处理结果。
步骤S110,根据第一文件进行重组处理,以获取终端所对应识别的第二文件。
步骤S112,向终端发送第二文件。
采用本申请提供的数据处理方法,通过获取终端发送的第一通讯请求,然后根据接收到的第一通讯请求调用核心库,在获取语言服务器所对应识别的第二通讯请求之后,将第二通讯请求发送给语言服务器,在语言服务器根据第二通讯请求进行处理后,获取语言服务器处理后返回的第一文件并对其进行重组处理,将重组后终端所对应识别的第二文件发送到终端,以实现终端与语言服务器的数据处理。本申请提供的数据处理的方法,通过调用核心库,将不同终端的请求转变成不同语言服务器所对应识别的请求,然后将语言服务器处理后的文件转换成不同终端所对应识别的文件,解决了现有技术中在不同的终端与不同的语言服务器进行数据处理时,需要定义不同的接口,耗费大量时间和人力成本的相关技术问题,实现了在多终端不同语言与多平台不同语言之间进行通信处理时,节约开发的时间和人力成本的效果。
其中,操作处理可以包括:下载处理、读写处理、更新处理以及交互处理等。
图2是根据图1所示的数据处理方法的流程示意图。图3是根据图2所示的数据处理方法的结构示意图。图4是根据图2所示的数据处理方法的核心库的结构示意图。
如图2、图3和图4所示,本实施例提供了一套Middle Ware SDK(即SoftwareDevelopment Kit)软件开发包,然后定义了一套接口参数并编写Core Libraries库(即核心库)。使用不同编程语言的不同终端,按照上述接口参数输入请求参数(即上述实施例中的第一通讯请求),通过SDK调用Core Libraries中的库方法,将上述请求参数转变成不同语言语言服务器所能识别的请求,即上述实施例中的第二通讯请求,然后将该第二通讯请求发送到语言服务器;当语言服务器处理该第二通讯请求之后,将处理得到的第一文件发送给中间件SDK,中间件SDK调用核心库重组第二文件并返回与终端定义好的终端能够识别的xml文本或Json字符串的第二文件,并可以绑定携带相关的数字内容。具体地,该方法包括如下步骤:
(1)当终端需要与不同语言服务器进行数据处理时,向中间件软件开发包发送进行数据处理的第一通讯请求。具体地,终端调用Middle Ware SDK(即中间件软件开发包)中的接口参数,然后根据接口参数写入输入第一通讯请求的参数。其中,参数可以包括参数类型、参数个数及参数名称。如:scheme,domain(即域),port(即端口号),path(即语言服务器项目路径),querystring等。
具体地,可以将Middle Ware SDK嵌入在终端的应用开发IDE(IntegratedDevelop Environment,即集成开发环境)中。
(2)中间件软件开发包接收不同语言终端发来的第一通讯请求,其中,如图2、图3以及图4所示,不同的语言终端包括使用JAVA语言的Andriod终端、使用Objective-c语言的Ios终端、使用C/C++语言的Symbian以及使用C#语言的WindowsPhone。
(3)中间件软件开发包将不同语言终端发来的请求根据不同语言的语言服务器转换成其可以识别的第二通讯请求,其中,第二通讯请求可以是HTTP Requst或其他Content-type的Requst请求,不同的语言服务器包括如图2和图3所示的PHP语言服务器、Java语言服务器以及Asp.Net语言服务器。
具体地,中间件软件开发包通过调用Core Libraries中的库方法,可以对终端输入的各种参数以及调用的各种接口方法进行转换,以使得不同的语言终端的IDE输入的参数转制成语言服务器可以支持的语言代码,以利于语言服务器做出响应。
(4)中间件软件开发包将不同的语言服务器可以识别的第二通讯请求发送到各个语言服务器。
(5)当语言服务器处理完第二通讯请求之后,返回xml文本或者Json字符串格式的第一文件给中间件软件开发包。
其中,当不同语言的语言服务器,接收到由中间件SDK转制来的语言服务器可以识别的终端请求后,语言服务器对该请求进行内部处理,然后将处理后的xml文本或者Json字符串给终端,如果处理后的文件中包含有数字内容,可以携带相应的数字内容返回给终端。
(6)语言服务器返回的文本通过中间件SDK通过调用核心库对第一文件进行处理,可以是重新组织xml或者Json字符串格式的文本,重新合并xml的父子层数以及各节点的值,然后将处理后的第二文件返回给终端。例如,对xml进行转换时,参数和语言服务器返回响应的描述可以参见表1和表2。
| 节点标识 |
父节点标识 |
数量 |
类型 |
描述 |
| Response |
XHRDBOSS |
1 |
|
响应结果 |
| RspCode |
Response |
1 |
String<10Bytes> |
响应编码 |
| RspDesc |
Response |
1 |
String<500Bytes> |
响应描述 |
| IsSucuess |
XHRDBOSS |
1 |
String<10Bytes> |
操作是否成功 |
表1返回参数
| RspCode |
RspDesc |
描述 |
| 200 |
操作成功 |
|
| 400 |
参数非法或不足 |
|
| 401 |
查找会员绑定设备出错 |
|
| 402 |
终端没有绑定会员 |
|
| 403 |
订单不存在 |
|
| 405 |
订单已成功 |
|
| 600 |
其他 |
|
表2服务端口返回响应编码和响应描述
优选地,核心库可以包括接口封装层。
根据本申请的上述实施例,在获取终端发送的第一通讯请求之前,该方法还可以包括:定义接口参数,其中,接口参数包括URI地址、变量类型、变量名以及访问修饰符。
在本申请的上述实施例中,获取终端发送的第一通讯请求的步骤可以包括:调用接口参数;获取终端按照接口参数输入的第一通讯请求的参数,以获取第一通讯请求。
根据本申请的上述实施例,第一通讯请求的参数可以包括URI地址、变量类型、变量名以及访问修饰符,其中,根据接收到的第一通讯请求调用核心库,以获取语言服务器可以识别的第二通讯请求的步骤包括:调用核心库对第一通讯请求的参数进行拼接和转制处理,以获取语言服务器可以识别的第二通讯请求。
其中,在本申请的上述实施例中,对URI请求进行转换包括如下步骤:
(a)当不同终端不同的语言通过代码发请求时,可以根据定义好的接口参数输入参数,具体地,在客户端的IDE中调用方法输入参数:请求的GET/POST方式、scheme、IP地址、端口号、平台项目路径、请求的父节点表示、请求的子节点表示、父子关系层数、请求参数类型、请求参数名称以及请求参数个数。(b)由中间件软件包调用Core Libararies(即核心库),进行字符串的拼接及转制,从而生成一个中间URI地址。例如:baseURL=http://219.141.223.61:7001/web的请求:
Get
baseURL/boss/rechargeCallBack.do?method=callback&ExchangeId=1&Money=1&TerminalSpec=1&TerminalId=1& Status=1&Remark=1
在上述请求中,不仅需要baseURL一个参数,还需要诸如ExchangeId,TerminalId等其他参数。在调用核心库中接口参数中如“finalUrl=finalString.put(”ExchangeId”,”170936”);”的方法就可以输入参数,然后通过调用核心库中的方法,将这些散的字符串拼接成语言服务器可以识别的且规定好的接口。这样,终端和语言服务器都按照接口参数编写,会节省时间,提高数据处理的效率。
在本申请的上述方法实施例中,对变量进行转换的方法包括如下步骤:通过调用SDK中的Core Libararies,可以通过输入新定义的变量类型、变量名,中间件SDK根据输入的新定义的变量类型、变量名可以生成多平台支持的变量格式,并且自适应个语言服务器的写法区别。
在本申请的上述实施例中,对方法及类进行转换包括如下步骤:通过调用SDK中的Core Libararies,只需要输入新定义的方法的访问修饰符、返回值类型、方法名、方法输入参数类型、参数名称以及方法中的商业逻辑,SDK根据上述参数可生成多个不同语言服务器支持的方法内容格式,并且自适应多个语言服务器的需求。
例如:中间件SDK接收到如下参数,“访问修饰符”,“返回值”,“方法名”,“传入值”,“传入值类型”,“是否static”。
Objective-C:
-(void)insertObject:(id)anObject atIndex:(NSInteger)index
(1)方法修饰符
-代表此方法是实体方法,必须先生成类实例,通过实例才能调用该方法。
+代表此方法是类的静态方法,可以直接调用,而不用生成类实例。
(2)参数类型
id与NSInteger分别是两个参数anObject和index的类型。
(3)方法签名
本例中,insertObject和atIndex组成了该方法的签名关键字。
此处举例如下:
分别对应:<修饰符><返回类型><名字>(<参数列表>)<方法块>
不同终端根据中间件SDK的接口参数将不同语言的相同的方法中的参数传入中间件SDK中,中间件SDK调用核心库将上述参数转换成不同语言平台能够识别的语言类型。
根据本申请的上述数据处理方法实施例,在获取终端发送的第一通讯请求之前,方法还可以包括:根据接口参数判断当前网络环境是否存在WIFI网络服务器,其中,如果当前网络环境中存在WIFI网络服务器,则通过WIFI网络进行数据处理;如果当前网络环境中不存在WIFI网络服务器,则进行当前不存在WIFI网络服务器的弹窗反馈。
具体地,通过调用Middle Ware SDK开发包中的接口参数,判断当前的网络环境是否存在WIFI网络服务器,在存在WIFI网络服务器的情况下,通过WIFI网络进行数据传输;在不存在WIFI网络服务器的情况下,对此次请求进行Toast或者Alert Dialog等弹窗反馈,以向终端提示当前网络环境中不存在WIFI网络服务器,请终端确认是否在没有WIFI网络的情况下继续进行数据传输。当前在移动互联网应用中,进行数据传输时运营商会根据传输的3G/4G流量进行扣费。有时终端与语言服务器需要大容量数字文件内容的传输,这样会产生大量的3G/4G流量,由此会带来大量的扣费,但是运营商不会对WIFI流量收费。本申请的数据处理方法实施例在通过Middle Ware SDK的转换功能模块将终端的请求进行转换之前,还包括判断当前的网络环境是否存在WIFI网络服务器的步骤,这样如果当前网络中存在WIFI网络且终端通过WIFI网络进行数据传输则可以大大的节省3G/4G流量,进而减少流量扣费。
在本申请的上述实施例中,在调用接口参数的步骤之后,该方法还可以包括:根据接口参数通过多线程或超线程的传输方式进行数据传输;或按照多线程或超线程的传输方式通过断点续传的方式进行数据传输。
具体地,在数据传输时,终端通过使用Middle Ware SDK开发包中的模块方法,可以选择是否添加Multi-Thread Download(多线程)方式下载;针对配置比较高的语言服务器,还可以选择Hyper Threading Download(超线程)方式下载。语言服务器通常同时与多个终端连接,不同的终端共享带宽,如果N个用户终端的优先级都相同,那么每个用户连接到该语言服务器上的实际带宽就是语言服务器带宽的N分之一。在本申请的上述实施例中,通过进行数据传输时提供的多线程或超线程的下载方式,提高了整体数字文件的下载速度。
具体地,在本申请的另一个方法实施例中,用户在按照多线程或超线程进行数据传输时,可以通过Middle Ware SDK中提供的断点续传方法进行数据传输。例如,在客户端软件FTP下载或上传时,将下载或上传任务(如:一个文件或一个压缩包)人为的划分为几个子数据包,每一个子数据包采用一个线程进行上传或下载,当网络发生故障时,可以继续上传或下载已经开始上传或下载的子数据包,而没有必要重新开始整个任务的上传或下载。这样可以节省数据传输的时间,提高数据传输的速度。
优选地,在Middle Ware SDK中,还预留有为语言服务器提供CDN(即ContentDelivery Network,即内容分发网络)加速的接口方法。通过调用此方法,可以使语言服务器在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,这样用户可以就近取得所需的内容,提高了用户访问网站的响应速度。在MiddleWare SDK为语言服务器提供CDN的接口方法,可以从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均而带来的网站响应速度慢等问题,提高了用户访问网站的响应速度。
根据本申请的上述方法的实施例,对接收到的第一通讯请求进行转换处理,以获取语言服务器可以识别的第二通讯请求的步骤还可以包括:对第一通讯请求进行转换处理,以获取语言服务器可以识别的第三通讯请求;对第三通讯请求进行加密处理,以得到第二通讯请求。
具体地,当开终端发送第一通讯请求时,出于安全性的考虑,通过中间件SDK的接口参数,在对第一通讯请求进行转换处理获取语言服务器可以识别的第三通讯请求后,对第三通讯请求的字符串进行MD5或DRM加密以形成第二通讯请求。优选地,在语言服务器返回的第一文件具有数字版权的限制的情况下,通过Middle Ware SDK可以对第一文件进行DRM加密,以保证版权的保密性。其中,第一通讯请求可以是http请求的字符串。优选地,终端发送到中间件上的第一通讯请求可以是加密后的通讯请求,中间件将加密后的第一通讯请求解密,然后对该解密后的通讯请求进行转换以获取第三通讯请求,之后将第三通讯请求加密以获取第二通讯请求,最后将第二通讯请求发送到语言服务器上。
优选地,如图2和图3所示,本申请的上述实施例也提供了WIFI环境判断、多线程下载、断点续传、CDN加速以及数字文件安全加密等其他增强功能,使通信传输的信息更快,更安全,更人性化。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本申请的数据处理装置的结构示意图。图6是根据图4的数据处理装置的结构示意图。
如图5和图6所示,该装置包括:第一获取模块10,用于获取终端发送的第一通讯请求;第一调取模块30,用于根据第一通讯请求调用核心库,以获取语言服务器可以识别的第二通讯请求;第一发送模块50,用于将第二通讯请求发送给语言服务器;第二获取模块70,用于获取由服务器根据第二通讯请求进行操作处理后而获取到的第一文件,其中,第一文件包括操作处理后得到的处理结果;重组模块90,用于根据第一文件进行重组处理,以获取终端可以识别的第二文件;第二发送模块110,用于向终端发送第二文件。
采用本申请提供的数据处理装置,通过第一获取模块10、第一调取模块30、第一发送模块50、第二获取模块70、重组模块90以及第二发送模块110,根据获取到的终端发送的第一通讯请求调用核心库,然后将获取到的语言服务器可以识别的第二通讯请求发送给语言服务器,在语言服务器根据第二通讯请求进行处理后,获取语言服务器处理后返回的第一文件并对其进行重组处理,并将重组后的第二文件发送到终端,实现终端与语言服务器的数据处理,本申请提供的数据处理的装置,通过调用核心库,将不同终端的请求转变成不同语言服务器可以识别的请求,然后将语言服务器处理后的文件转换成不同终端可以识别的文件,解决了现有技术中在不同的终端与不同的语言服务器进行数据处理时,需要定义不同的接口,耗费大量时间和人力成本的相关技术问题,实现了在多终端不同语言与多平台不同语言之间进行数据处理时,节约开发的时间和人力成本的效果。
如图6所示,在上述实施例中,不同的语言终端包括使用JAVA语言的Andriod终端、使用Objective-c语言的Ios终端、使用C/C++语言的Symbian以及使用C#语言的WindowsPhone,不同的语言服务器包括PHP语言服务器、Java语言服务器以及Asp.Net语言服务器。
根据本申请的上述实施例,装置还可以包括:第一处理模块,用于定义接口参数,其中,接口参数包括URI地址、变量类型、变量名以及访问修饰符。
在本申请的上述实施例中,第一获取模块10可以包括:第二调取模块,用于调用接口参数;第三获取模块,用于获取终端按照接口参数输入的第一通讯请求的参数,以获取第一通讯请求。
根据本申请的上述实施例,第一调取模块30还可以包括:第二处理模块,用于调用核心库对第一通讯请求的参数进行拼接和转制处理,以获取语言服务器可以识别的第二通讯请求。
在本发明的数据处理装置的实施例中,该装置还可以包括:第一检测模块,用于根据接口参数判断当前网络环境是否存在WIFI网络服务器;第一通讯模块,用于在当前网络环境中存在WIFI网络服务器的情况下,通过WIFI网络进行数据处理;第三处理模块,用于在当前网络环境中不存在WIFI网络服务器的情况下,进行当前不存在WIFI网络服务器的弹窗反馈。
根据本申请的上述实施例,第一获取模块10还可以包括:第二通讯模块,用于根据接口参数通过多线程或超线程的传输方式进行数据传输;或第三通讯模块,用于按照多线程或超线程的传输方式通过断点续传的方式进行数据传输。
优选地,重组模块90还可以包括:第一转换模块,用于对第一通讯请求进行转换处理,以获取语言服务器可以识别的第三通讯请求;加密模块,用于对第三通讯请求进行加密处理,以得到第二通讯请求。
从以上的描述中,可以看出,本发明提供的数据处理方法及装置实现了如下技术效果:本发明提供的数据处理的方法及装置的实施例在终端IDE上嵌入了一套中间件SDK,并且在不同语言和不同的语言服务器进行通信处理转换时,通过调用核心库可以对不同语言的请求、方法、语言服务器返回的xml或Json字符串做转换,而不需要重新定义接口,可以有效的节省开发时间和人力成本。并且通过一些辅助的增强功能,使得不同版本的语言终端与平台进行数据处理时,更快,更安全,更高效。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。