CN108038213A - 一种数据处理的方法、客户端、服务器及系统 - Google Patents
一种数据处理的方法、客户端、服务器及系统 Download PDFInfo
- Publication number
- CN108038213A CN108038213A CN201711393984.4A CN201711393984A CN108038213A CN 108038213 A CN108038213 A CN 108038213A CN 201711393984 A CN201711393984 A CN 201711393984A CN 108038213 A CN108038213 A CN 108038213A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- preset format
- acquisition request
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
数据处理的方法、客户端、服务器及系统,调用与控件类型相对应的控件操作方式提取数据,并格式化成预设格式数据包发送给服务器;服务器端通过统一的数据接口接收数据,将预设格式数据包生成对应的库表映射对象实例并自动赋值再存储至数据库表中。在将预设格式数据包发送给服务器进行存储时,不需要再为不同的页面或数据设置不同的接口,一方面解决了针对不同页面不同交易需要写大量接口的问题,简化了单次对数据库中多张表进行读写操作所带来的繁琐的手工赋值问题,提升了开发效率。另一方面,统一处理无需每次都对服务端代码再次更改,只需进行少量规则的配置,可让开发人员专注于页面的设计,及时快速响应页面需求的变更,适应敏捷开发的需要。
Description
技术领域
本发明涉及软件技术领域,特别涉及一种数据处理的方法、客户端、服务器及系统。
背景技术
随着企业信息化建设的深入,依靠应用系统来管理的数据越来越多。在使用应用系统管理数据时,需要通过应用系统的页面将数据提交到后台服务器,经过运算处理后,再将需要保存的数据存放到数据库里的一张数据表或几张数据表中。
在现有技术中,经常会需要通过应用系统的页面录入大量数据,在不同的应用场景下,应用系统的页面并不相同,录入的数据也需要保存到数据库的不同数据表中。同样的,在将这些保存的数据显示到不同的页面上时,又需要不同的接口来进行赋值显示。
因此,现有技术中,在不同的应用场景下,需要通过不同的页面处理不同的数据,这就需要为不同的数据设置不同的接口,通过不同的接口将不同的数据保存到不同的数据表,导致对数据的录入操作非常繁琐复杂,并且容易出现错误。
发明内容
有鉴于此,本发明提供了一种数据处理的方法、客户端、服务器及系统,可以简化数据的录入操作,降低出错概率。
为实现上述目的,本发明提供如下技术方案:
一种数据处理的方法,包括:
接收来自应用系统的页面的数据;
识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;
将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。
优选地,还包括:
接收来自所述应用系统的页面的数据获取请求,并将所述数据获取请求发送给所述服务器;所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
从服务器中获取与所述数据获取请求相对应的所述预设格式数据包;
识别发送所述数据获取请求的页面的控件类型,调用与发送所述数据获取请求的页面的所述控件类型相对应的控件操作方式将所述预设格式数据包加载到发送所述数据获取请求的页面中。
一种数据处理的方法,包括:
通过统一的数据处理接口接收来自客户端的预设格式数据包;所述预设格式数据包是所述客户端对应用系统的页面发送的数据进行组包生成的,且所述预设格式数据包中包含有发送所述数据的页面的标识;
调用规则解析引擎,根据发送所述数据的页面的标识,获取与发送所述数据的页面相对应的保存规则,依据所述保存规则的类型对所述预设格式数据包进行解析并生成库表映射对象实例,调用ORM对象关系映射引擎对生成的所述库表映射对象实例进行赋值,将所述库表映射对象实例的数据存储到对应的数据表中。
优选地,还包括:
通过统一的数据处理接口接收来自所述客户端的数据获取请求;所述数据获取请求是所述应用系统的页面发送给所述客户端的,且所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
调用所述规则解析引擎,根据发送所述数据获取请求的页面的标识,获取与发送所述数据获取请求的页面相对应的提取规则,根据所述提取规则从对应的数据表中提取所述库表映射对象实例的数据,依据所述提取规则的类型将提取的所述库表映射对象实例的数据进行格式化处理,生成预设格式数据包,并将生成的所述预设格式数据包发送给所述客户端。
一种数据处理的客户端,包括:
数据接收模块,用于接收来自应用系统的页面的数据;
调用模块,用于识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;
发送模块,用于将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。
优选地,还包括:
请求接收模块,用于接收来自所述应用系统的页面的数据获取请求,并将所述数据获取请求发送给所述服务器;所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
获取模块,用于从服务器中获取与所述数据获取请求相对应的所述预设格式数据包;
加载模块,用于识别发送所述数据获取请求的页面的控件类型,调用与发送所述数据获取请求的页面的所述控件类型相对应的控件操作方式将所述预设格式数据包加载到发送所述数据获取请求的页面中。
一种数据处理的服务器,包括:
预设格式数据包接收模块,用于通过统一的数据处理接口接收来自客户端的预设格式数据包;所述预设格式数据包是所述客户端对应用系统的页面发送的数据进行组包生成的,且所述预设格式数据包中包含有发送所述数据的页面的标识;
存储模块,用于调用规则解析引擎,根据发送所述数据的页面的标识,获取与发送所述数据的页面相对应的保存规则,依据所述保存规则的类型对所述预设格式数据包进行解析并生成库表映射对象实例,调用ORM对象关系映射引擎对生成的所述库表映射对象实例进行赋值,将所述库表映射对象实例的数据存储到对应的数据表中。
优选地,还包括:
数据获取请求接收模块,用于通过统一的数据处理接口接收来自所述客户端的数据获取请求;所述数据获取请求是所述应用系统的页面发送给所述客户端的,且所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
提取模块,用于调用所述规则解析引擎,根据发送所述数据获取请求的页面的标识,获取与发送所述数据获取请求的页面相对应的提取规则,根据所述提取规则从对应的数据表中提取所述库表映射对象实例的数据,依据所述提取规则的类型将提取的所述库表映射对象实例的数据进行格式化处理,生成预设格式数据包,并将生成的所述预设格式数据包发送给所述客户端。
一种数据处理的系统,包括上述任意一项所述的客户端和上述任意一项所述的服务器。
通过本申请提供的数据处理的方法、客户端、服务器及系统,接收来自应用系统的页面的数据;识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。可见,本申请实施例提供的技术方案,可以根据页面的控件类型提取页面发送的数据,并将提取的数据组包成预设格式数据包,在将预设格式数据包通过统一的数据处理接口发送给服务器进行存储时,不需要再为不同的数据设置不同的接口,可以简化数据的录入操作,降低出错概率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一具体实施例提供的数据处理的方法的流程示意图;
图2是本发明第二具体实施例提供的数据处理的方法的流程示意图;
图3是现有技术中的数据处理方式的示意图;
图4是本申请实施例提供的数据处理方式的示意图;
图5是本发明第三具体实施例提供的数据处理的客户端的结构示意图;
图6是本发明第四具体实施例提供的数据处理的服务器的结构示意图;
图7是本发明实施例提供的数据处理的系统的组成示意图。
具体实施方式
相关术语解释:
ORM:对象关系映射(Object Relational Mapping,简称ORM),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换,从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”;
预设格式数据包:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript(Standard ECMA-262 3rd Edition-December 1999)的一个子集,JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等),这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成(网络传输速度);
Memcached系统:Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度;
Redis系统:redis是一个key-value存储系统,和Memcached类似,它支持存储的value类型相对更多;
Mybatis框架:MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架,MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索,MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的普通对象映射成数据库中的记录;
页面解析引擎:它有页面扫描、页面控件类型识别、控件取赋值处理、页面控件样式调整、赋值延时处理、数据拼装及解析处理功能;
规则解析引擎:它是一个后台整体架构,它提供对前台数据处理服务的接口,按照一定的方式解析规则库中定义的规则,对前台发送过来的需要保存的预设格式数据包进行解析,以及对需要向前台发送的数据进行拼装处理成JSON格式,对库表映射实例进行赋值操作,并调用库表映射引擎进行数据存取等;
ORM对象关系映射引擎:它由数据库表映射类以及对这些类进行增删改查的统一处理类组成,包括单个表操作以及批量表操作方式;
数据存储库:数据的保存位置,一般为数据库;
规则缓存区:它在服务程序启动的时候,将规则配置库中的规则读取到内存中(视规则量大小采用简单的缓冲处理,或是使用memcached,radis等专用缓存系统);
存取规则配置库:它保存的是前台控件数据和后台库表数据的一一对应关系,以及数据处理类型方式等,根据存和取的方式不同,在存的时候,会以保存的库表及字段为目标配置存储规则,在取的时候,会按前面台面控件ID为目标配置提取规则。
本发明提供了一种数据处理的方法、客户端、服务器及系统,能够简化数据的录入操作,降低出错概率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明第一具体实施例提供的数据处理的方法的流程示意图。
本发明第一具体实施例提供的数据处理的方法,包括以下步骤:
S101:接收来自应用系统的页面的数据;
S102:识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;
本申请实施例中,在页面端,对于一些控件如select控件、text控件、checkbox控件等简单标准控件的数据提取以及赋值操作有时需要采用不同的函数取赋值,而对于一些复杂的控件或是自定义控件,需要采用特殊的方式进行取赋值。而在硬编码的时候,已预先知道当前控件的类型,直接调用相应的取赋值函数即可。因此在客户端的页面解析引擎中,增加控件类型识别步骤,在对页面所有的控件进行扫描后,识别控件类型,再调用相应的方式进行控件取赋值。在对页面控件进行赋值时,对一些自定义的复杂控件,由于页面效率的原因,会将从服务器取得的数据进行缓存,在需要加载的时候再进行加载。
S103:将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。
在本申请实施例中,在对页面的数据进行保存时,可以利用客户端的页面解析引擎对页面(或指定的子页面)进行扫描,对需要保存数据的各类页面的控件类型进行识别,再按相应的控件操作方式提取数据,组成预设格式数据包,并发送给后台的服务器。
在本申请实施例中,预设格式数据包可以包括JSON格式数据包,还可以有XML格式数据包,字符串格式数据包、二进制格式数据包等。
优选地,本申请实施例提供的技术方案,页面在需要加载数据时,还可以包括:
接收来自所述应用系统的页面的数据获取请求,并将所述数据获取请求发送给所述服务器;所述数据获取请求中包含有发送所述数据获取请求的页面的标识;从服务器中获取与所述数据获取请求相对应的所述预设格式数据包;识别发送所述数据获取请求的页面的控件类型,调用与发送所述数据获取请求的页面的所述控件类型相对应的控件操作方式将所述预设格式数据包加载到发送所述数据获取请求的页面中。
在本申请实施例中,客户端的页面解析引擎在接收到服务器发送的预设格式数据包后,根据数据以及页面控件的类型,再对控件进行一一赋值,特殊控件进行延时处理,以及页面样式的调整处理等操作。
通过本申请提供的数据处理的方法,接收来自应用系统的页面的数据;识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。可见,本申请实施例提供的技术方案,可以根据页面的控件类型提取页面发送的数据,并将提取的数据组包成预设格式数据包,在将预设格式数据包通过统一的数据处理接口发送给服务器进行存储时,不需要再为不同的数据设置不同的接口,可以简化数据的录入操作,降低出错概率。
请参阅图2,图2是本发明第二具体实施例提供的数据处理的方法的流程示意图。
本发明第二具体实施例提供的数据处理的方法,包括以下步骤:
S201:通过统一的数据处理接口接收来自客户端的预设格式数据包;所述预设格式数据包是所述客户端对应用系统的页面发送的数据进行组包生成的,且所述预设格式数据包中包含有发送所述数据的页面的标识;
S201:调用规则解析引擎,根据发送所述数据的页面的标识,获取与发送所述数据的页面相对应的保存规则,依据所述保存规则的类型对所述预设格式数据包进行解析并生成库表映射对象实例,调用ORM对象关系映射引擎对生成的所述库表映射对象实例进行赋值,将所述库表映射对象实例的数据存储到对应的数据表中。
在本申请实施例中,后台服务器接收到数据后,由规则解析引擎根据页面的ID编号(或以及子页面ID标识)从存取规则缓存服务器(缓存服务器在服务启动时会从存取规则配置库中获取规则保存在内存中)中获取对应页面的的保存规则,并根据规则新生成库表映射对象实例,然后将接收的数据赋值给这些实例,再调用数据库表映射引擎将数据一一存到相应的表中。
在服务器端,对数据进行保存时,规则解析引擎的流程可以为:1)接收客户端的预设格式数据包并解析保存到hashtable结构中。2)根据所接收的页面标识ID(以及页面子ID)从规则缓存区获取所有需要保存的表,表字段,以及字段处理规则函数。3)根据字段规则函数将hashtable结构中的数据进行处理。4)将每个表的表字段以及处理后的数据一一对应保存到另一hashtable结构中。5)调用ORM对象映射引擎,将表名以及处理后的hashtable结构数据发送给它,生成对象实例,并给对象属性赋值。6)调用ORM引擎将对象数据映射到数据库中。
优选地,本申请实施例提供的技术方案,页面在需要加载数据时,还可以包括:
通过统一的数据处理接口接收来自所述客户端的数据获取请求;所述数据获取请求是所述应用系统的页面发送给所述客户端的,且所述数据获取请求中包含有发送所述数据获取请求的页面的标识;调用所述规则解析引擎,根据发送所述数据获取请求的页面的标识,获取与发送所述数据获取请求的页面相对应的提取规则,根据所述提取规则从对应的数据表中提取所述库表映射对象实例的数据,依据所述提取规则的类型将提取的所述库表映射对象实例的数据进行格式化处理,生成预设格式数据包,并将生成的所述预设格式数据包发送给所述客户端。
本申请实施例中,在对页面进行赋值操作时,由页面向服务器提交获取数据请求,服务器端接收到请求后,由规则解析引擎根据页面的ID编号(或以及子页面ID标识)从存取规则缓存服务器中获取对应页面的提取规则,解析得到需提取数据的数据库表列表,再调用数据库表映射引擎,同时提供查询条件,将数据从数据库表获取出来,然后,规则解析引擎再根椐规则生成页面所需的预设格式数据包发送给前端页面。
在对数据进行提取时,规则解析引擎的处理流程可以为:1)服务接口接受请求,验证必要字段,如页面ID,查询条件(一般为主键ID)。2)根据页面ID(以及页面子ID)从规则缓存区获取对应的所有的取数规则。3)解析这些规则获取所有的需要查询的表,并生成表对象实例,并赋查询条件(如主键ID)。4)调用ORM对象映射引擎,批量查询所有的这些表的数据。5)根据每条数据的规则类型对查询到的每个字段的数据进行相应的处理,结果为控件ID(key):处理后的数据(value)的key-value对。6)对特殊控件的数据进行特殊处理,再把所有处理后的数据组装成JSON格式发往前台页面。
存取规则配置方式如下表1所示:
表1
表1中的存取规则配置的原理为保存前台控件ID和后台表字段的一一对应关系,以及它们的处理逻辑类型,存和取的目标不一样,有时候单个控件的值需要保存到多个表字段中,因此需要对存和取设置不同的规则,以使目标位置为唯一不重复。
现有技术中,对前端页面表单数据的提交以及后端服务器数据的保存,一般在数据量较小的时候采用的是硬编码的形式,即在保存数据时,对要保存的每一个控件进行逐个取值,拼组成JSON数据发往后台,后台根据和前端约定的规则将这些数据一一存到相应的表中;在向前台页面赋值时,根据接口设定从不同的库表中将数据取出来后再发往前台,前台根据约定的格式将这些数据逐个赋值给页面上的控件进行显示。这种方式是一种一对一对一的方式,需要根据不同的页面,写不同的接口,处理不同的数据库表进行保存(如图3所示)。
本方案服务器端的主要部分是规则解析引擎,它主要是根据数据库中所配规则,按规则所指定类型对数据包进行解析,按规则所指定存储表生成数据库表对象,调用ORM对象关系映射引擎对库表对象赋值并存储至数据库中。在取数时就是按规则从数据库中取数,按规则格式化生成发给客户端的数据包。为异构页面大量数据的保存和提取赋值提供了一整套的解决方法,在前台,后台,以前数据库对象映射上都提供了统一的处理方式,无需再进行手工硬编码(如图4所示)。
本方案所提及的ORM对象映射引擎,当前类似的处理方式为mybatis框架,它的处理过程为(其中MappedStatement对象是指将SQL的配置信息加载成为一个个内存中的实体对象,包括了传入参数映射配置、执行的SQL语句和结果映射配置):
(A)根据SQL的ID查找对应的MappedStatement对象;
(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数;
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果;
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果;
(E)释放连接资源;
(F)返回处理结果将最终的处理结果返回。
Mybatis提供了相当强大的功能,它的配置相当灵活,几乎可以适用所有的情况,但是在使用上会稍显复杂,它对每一个数据库表的增删改查处理都需要在XML配置文件中进行配置,因而也增加了在特定场景下的处理步骤。
而本方案中实现了一个定制的轻量级的ORM对象映射引擎,它和mybatis中需要在XML中写SQL通用模板语句不同,它应用了高级程序语言(如JAVA,C#)中的一些特性如反射、属性等,从而对实体对象进行取赋值处理,并自动生成标准SQL语句,因此无需再在XML文件中进行配置,增加了提供统一的默认按数据库表主键进行存取方式,如标准的按主键查询流程可以如下:1)新建一个Model对象,并给Model对象的对应主键字段赋值;2)ORM查询接口接收这个对象为参数,定位到对应的命名空间的该Model类;3)应用反射、属性等方式得到对应的表名以及主键字段名;4)根据表名,字段名,以及对象值,生成查询语句并提交到数据库;5)将取到的数据按约定的格式返回给调用方。
同时,mybatis只是提供了对象到数据库表的数据映射,在这之前还需要给对象的各属性进行一一赋值,在数据量大的时候这些赋值操作也相当繁琐,每一次对数据进行增添、删除、修改和查询操作时,都需要涉及到大量的数据表,并且基本上为重复的操作。
而本方案提供的ORM引擎提供预设格式数据包(或hashtable表数据)转实体赋值的处理,进一步实现全流程的自动化存取;另一方面,本ORM引擎提供批量查询方法,一次可以查询多个表的数据,可以减少数据库连接次数。
请参阅图5,图5是本发明第三具体实施例提供的数据处理的客户端的结构示意图。
本发明第三具体实施例提供的数据处理的客户端,包括:
数据接收模块1,用于接收来自应用系统的页面的数据;
调用模块2,用于识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;
发送模块3,用于将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。
优选地,还可以包括:
请求接收模块,用于接收来自所述应用系统的页面的数据获取请求,并将所述数据获取请求发送给所述服务器;所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
获取模块,用于从服务器中获取与所述数据获取请求相对应的所述预设格式数据包;
加载模块,用于识别发送所述数据获取请求的页面的控件类型,调用与发送所述数据获取请求的页面的所述控件类型相对应的控件操作方式将所述预设格式数据包加载到发送所述数据获取请求的页面中。
本申请实施例提供的数据处理的客户端,可以采用上述方法实施例中的数据处理的方法,具体功能可以参照上述方法实施例中的步骤描述,此处不再赘述。
请参阅图6,图6是本发明第四具体实施例提供的数据处理的服务器的结构示意图。
本发明第四具体实施例提供的数据处理的服务器,包括:
预设格式数据包接收模块4,用于通过统一的数据处理接口接收来自客户端的预设格式数据包;所述预设格式数据包是所述客户端对应用系统的页面发送的数据进行组包生成的,且所述预设格式数据包中包含有发送所述数据的页面的标识;
存储模块5,用于调用规则解析引擎,根据发送所述数据的页面的标识,获取与发送所述数据的页面相对应的保存规则,依据所述保存规则的类型对所述预设格式数据包进行解析并生成库表映射对象实例,调用ORM对象关系映射引擎对生成的所述库表映射对象实例进行赋值,将所述库表映射对象实例的数据存储到对应的数据表中。
优选地,还可以包括:
数据获取请求接收模块,用于通过统一的数据处理接口接收来自所述客户端的数据获取请求;所述数据获取请求是所述应用系统的页面发送给所述客户端的,且所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
提取模块,用于调用所述规则解析引擎,根据发送所述数据获取请求的页面的标识,获取与发送所述数据获取请求的页面相对应的提取规则,根据所述提取规则从对应的数据表中提取所述库表映射对象实例的数据,依据所述提取规则的类型将提取的所述库表映射对象实例的数据进行格式化处理,生成预设格式数据包,并将生成的所述预设格式数据包发送给所述客户端。
本申请实施例提供的数据处理的服务器,可以采用上述方法实施例中的数据处理的方法,具体功能可以参照上述方法实施例中的步骤描述,此处不再赘述。
本申请还提供一种数据处理的系统,包括上述任意一项所述的客户端和上述任意一项所述的服务器。
本申请实施例提供的数据处理的系统,主要由页面解析引擎,规则解析引擎,ORM对象关系映射引擎,存取规则配置库,规则缓存服务器,存储服务器(数据库)组成,整体架构如图7所示,在客户端中设置有页面解析引擎,在后台的服务器中设置有规则解析引擎,ORM对象关系映射引擎,以及存取配置规则。
本方案涉及的是一种对不同结构页面的涉及大量数据存储到许多张数据库表中以及从许多张表中提取数据到不同页面进行赋值显示的统一处理方案。它主要包括前端页面的页面解析引擎,后台服务端的规则解析引擎,ORM对象关系映射引擎,以及存取配置规则这四个部分。在前台页面引擎中需要识别不同的控件类型,在后台处理时需要对不同的规则类型进行解析,因此在增加新的控件类型时,以及增加新的规则类型时需要对代码进行修改。
由上所述,本方案接收来自应用系统页面的对数据进行存储的请求;进行页面扫描,识别发送数据的页面的控件及类型,调用与控件类型相对应的控件操作方式提取数据,并格式化成数据包发送给服务器;服务器端通过统一的数据接口接收数据,并调用规则解析引擎按照数据库中所配置的规则对数据包进行解析,通过ORM对象关系映射引擎将预设格式数据包生成对应的库表映射对象实例并自动赋值再存储至数据库表中。一方面在将预设格式数据包发送给服务器进行存储时,不需要再为不同的页面或数据设置不同的接口,一方面解决了针对不同页面不同交易需要写大量接口的问题,简化了单次对数据库中多张表进行读写操作所带来的繁琐的手工赋值问题,提升了开发效率。另一方面,统一处理无需每次都对服务端代码再次更改,只需进行少量规则的配置,可让开发人员专注于页面的设计,及时快速响应页面需求的变更,适应敏捷开发的需要。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据处理的方法,其特征在于,包括:
接收来自应用系统的页面的数据;
识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;
将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收来自所述应用系统的页面的数据获取请求,并将所述数据获取请求发送给所述服务器;所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
从服务器中获取与所述数据获取请求相对应的所述预设格式数据包;
识别发送所述数据获取请求的页面的控件类型,调用与发送所述数据获取请求的页面的所述控件类型相对应的控件操作方式将所述预设格式数据包加载到发送所述数据获取请求的页面中。
3.一种数据处理的方法,其特征在于,包括:
通过统一的数据处理接口接收来自客户端的预设格式数据包;所述预设格式数据包是所述客户端对应用系统的页面发送的数据进行组包生成的,且所述预设格式数据包中包含有发送所述数据的页面的标识;
调用规则解析引擎,根据发送所述数据的页面的标识,获取与发送所述数据的页面相对应的保存规则,依据所述保存规则的类型对所述预设格式数据包进行解析并生成库表映射对象实例,调用ORM对象关系映射引擎对生成的所述库表映射对象实例进行赋值,将所述库表映射对象实例的数据存储到对应的数据表中。
4.根据权利要求3所述的方法,其特征在于,还包括:
通过统一的数据处理接口接收来自所述客户端的数据获取请求;所述数据获取请求是所述应用系统的页面发送给所述客户端的,且所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
调用所述规则解析引擎,根据发送所述数据获取请求的页面的标识,获取与发送所述数据获取请求的页面相对应的提取规则,根据所述提取规则从对应的数据表中提取所述库表映射对象实例的数据,依据所述提取规则的类型将提取的所述库表映射对象实例的数据进行格式化处理,生成预设格式数据包,并将生成的所述预设格式数据包发送给所述客户端。
5.一种数据处理的客户端,其特征在于,包括:
数据接收模块,用于接收来自应用系统的页面的数据;
调用模块,用于识别发送所述数据的页面的控件类型,调用与发送所述数据的页面的所述控件类型相对应的控件操作方式提取所述数据;
发送模块,用于将提取的所述数据组包成预设格式数据包,并将所述预设格式数据包通过统一的数据处理接口发送给服务器进行存储;所述预设格式数据包中包含有发送所述数据的页面的标识。
6.根据权利要求5所述的客户端,其特征在于,还包括:
请求接收模块,用于接收来自所述应用系统的页面的数据获取请求,并将所述数据获取请求发送给所述服务器;所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
获取模块,用于从服务器中获取与所述数据获取请求相对应的所述预设格式数据包;
加载模块,用于识别发送所述数据获取请求的页面的控件类型,调用与发送所述数据获取请求的页面的所述控件类型相对应的控件操作方式将所述预设格式数据包加载到发送所述数据获取请求的页面中。
7.一种数据处理的服务器,其特征在于,包括:
预设格式数据包接收模块,用于通过统一的数据处理接口接收来自客户端的预设格式数据包;所述预设格式数据包是所述客户端对应用系统的页面发送的数据进行组包生成的,且所述预设格式数据包中包含有发送所述数据的页面的标识;
存储模块,用于调用规则解析引擎,根据发送所述数据的页面的标识,获取与发送所述数据的页面相对应的保存规则,依据所述保存规则的类型对所述预设格式数据包进行解析并生成库表映射对象实例,调用ORM对象关系映射引擎对生成的所述库表映射对象实例进行赋值,将所述库表映射对象实例的数据存储到对应的数据表中。
8.根据权利要求7所述的服务器,其特征在于,还包括:
数据获取请求接收模块,用于通过统一的数据处理接口接收来自所述客户端的数据获取请求;所述数据获取请求是所述应用系统的页面发送给所述客户端的,且所述数据获取请求中包含有发送所述数据获取请求的页面的标识;
提取模块,用于调用所述规则解析引擎,根据发送所述数据获取请求的页面的标识,获取与发送所述数据获取请求的页面相对应的提取规则,根据所述提取规则从对应的数据表中提取所述库表映射对象实例的数据,依据所述提取规则的类型将提取的所述库表映射对象实例的数据进行格式化处理,生成预设格式数据包,并将生成的所述预设格式数据包发送给所述客户端。
9.一种数据处理的系统,其特征在于,包括如权利要求5-6中任意一项所述的客户端和如权利要求7-8中任意一项所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711393984.4A CN108038213A (zh) | 2017-12-21 | 2017-12-21 | 一种数据处理的方法、客户端、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711393984.4A CN108038213A (zh) | 2017-12-21 | 2017-12-21 | 一种数据处理的方法、客户端、服务器及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038213A true CN108038213A (zh) | 2018-05-15 |
Family
ID=62100415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711393984.4A Pending CN108038213A (zh) | 2017-12-21 | 2017-12-21 | 一种数据处理的方法、客户端、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038213A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062965A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 大数据分析系统、服务器、数据处理方法和存储介质 |
CN109117609A (zh) * | 2018-08-31 | 2019-01-01 | 中国农业银行股份有限公司 | 一种请求拦截方法及装置 |
CN109473178A (zh) * | 2018-11-12 | 2019-03-15 | 北京懿医云科技有限公司 | 医疗数据整合的方法、系统、设备及存储介质 |
CN109885577A (zh) * | 2019-03-11 | 2019-06-14 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110737436A (zh) * | 2019-09-05 | 2020-01-31 | 深圳平安通信科技有限公司 | 转码方法、装置及计算机可读存储介质 |
CN110889013A (zh) * | 2019-11-22 | 2020-03-17 | 北京锐安科技有限公司 | 一种基于xml的数据关联方法、装置、服务器及存储介质 |
CN111488729A (zh) * | 2020-04-28 | 2020-08-04 | 山东浪潮通软信息科技有限公司 | 数据处理系统及方法 |
CN111881220A (zh) * | 2020-06-22 | 2020-11-03 | 北京城市网邻信息技术有限公司 | 列表存储下的数据操作方法、装置、电子设备和存储介质 |
CN112445391A (zh) * | 2019-09-05 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种服务数据生成方法、装置和计算机可读存储介质 |
CN112598508A (zh) * | 2020-12-28 | 2021-04-02 | 中国农业银行股份有限公司 | 征信数据使用方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354696A (zh) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | 基于电信领域共享信息模型的数据整合与应用服务系统 |
CN102207978A (zh) * | 2011-06-30 | 2011-10-05 | 北京新媒传信科技有限公司 | 数据库访问方法和系统 |
CN102254024A (zh) * | 2011-07-27 | 2011-11-23 | 国网信息通信有限公司 | 海量数据处理系统及方法 |
US20140136936A1 (en) * | 2012-11-09 | 2014-05-15 | Microsoft Corporation | Spreadsheet functions to call rest api sources |
CN104991921A (zh) * | 2015-06-26 | 2015-10-21 | 北京奇虎科技有限公司 | 一种数据查询方法、客户端和服务器 |
US20160373543A1 (en) * | 2015-06-16 | 2016-12-22 | Comcast Cable Communications, Llc | Caching of Metadata Objects |
CN106325870A (zh) * | 2016-08-25 | 2017-01-11 | 金蝶软件(中国)有限公司 | 一种动态表单api接口的实现方法及装置 |
-
2017
- 2017-12-21 CN CN201711393984.4A patent/CN108038213A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354696A (zh) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | 基于电信领域共享信息模型的数据整合与应用服务系统 |
CN102207978A (zh) * | 2011-06-30 | 2011-10-05 | 北京新媒传信科技有限公司 | 数据库访问方法和系统 |
CN102254024A (zh) * | 2011-07-27 | 2011-11-23 | 国网信息通信有限公司 | 海量数据处理系统及方法 |
US20140136936A1 (en) * | 2012-11-09 | 2014-05-15 | Microsoft Corporation | Spreadsheet functions to call rest api sources |
US20160373543A1 (en) * | 2015-06-16 | 2016-12-22 | Comcast Cable Communications, Llc | Caching of Metadata Objects |
CN104991921A (zh) * | 2015-06-26 | 2015-10-21 | 北京奇虎科技有限公司 | 一种数据查询方法、客户端和服务器 |
CN106325870A (zh) * | 2016-08-25 | 2017-01-11 | 金蝶软件(中国)有限公司 | 一种动态表单api接口的实现方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062965B (zh) * | 2018-06-28 | 2023-04-18 | 平安科技(深圳)有限公司 | 大数据分析系统、服务器、数据处理方法和存储介质 |
CN109062965A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 大数据分析系统、服务器、数据处理方法和存储介质 |
CN109117609A (zh) * | 2018-08-31 | 2019-01-01 | 中国农业银行股份有限公司 | 一种请求拦截方法及装置 |
CN109473178A (zh) * | 2018-11-12 | 2019-03-15 | 北京懿医云科技有限公司 | 医疗数据整合的方法、系统、设备及存储介质 |
CN109885577A (zh) * | 2019-03-11 | 2019-06-14 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110737436A (zh) * | 2019-09-05 | 2020-01-31 | 深圳平安通信科技有限公司 | 转码方法、装置及计算机可读存储介质 |
CN112445391B (zh) * | 2019-09-05 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 一种服务数据生成方法、装置和计算机可读存储介质 |
CN112445391A (zh) * | 2019-09-05 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种服务数据生成方法、装置和计算机可读存储介质 |
CN110889013A (zh) * | 2019-11-22 | 2020-03-17 | 北京锐安科技有限公司 | 一种基于xml的数据关联方法、装置、服务器及存储介质 |
CN111488729A (zh) * | 2020-04-28 | 2020-08-04 | 山东浪潮通软信息科技有限公司 | 数据处理系统及方法 |
CN111488729B (zh) * | 2020-04-28 | 2023-10-13 | 浪潮通用软件有限公司 | 数据处理系统及方法 |
CN111881220A (zh) * | 2020-06-22 | 2020-11-03 | 北京城市网邻信息技术有限公司 | 列表存储下的数据操作方法、装置、电子设备和存储介质 |
CN111881220B (zh) * | 2020-06-22 | 2024-07-12 | 北京城市网邻信息技术有限公司 | 列表存储下的数据操作方法、装置、电子设备和存储介质 |
CN112598508A (zh) * | 2020-12-28 | 2021-04-02 | 中国农业银行股份有限公司 | 征信数据使用方法及系统 |
CN112598508B (zh) * | 2020-12-28 | 2024-01-19 | 中国农业银行股份有限公司 | 征信数据使用方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038213A (zh) | 一种数据处理的方法、客户端、服务器及系统 | |
JP4814628B2 (ja) | データ・アクセス・レイヤー・クラス・ジェネレータ | |
US7895226B2 (en) | System and method for translating and executing update requests | |
CN106326381B (zh) | 基于MapDB构建的HBase数据检索方法 | |
US6704723B1 (en) | Method and system for providing business intelligence information over a computer network via extensible markup language | |
US7526769B2 (en) | Message translation and parsing of data structures in a distributed component architecture | |
CN104252501B (zh) | 一种执行数据库操作命令的计算设备和方法 | |
US11321315B2 (en) | Methods and systems for database optimization | |
US20090157596A1 (en) | System for converting message data into relational table format | |
US20210256079A1 (en) | Adapting database queries for data virtualization over combined database stores | |
WO2022057357A1 (zh) | 数据查询方法及装置、数据库系统 | |
CN105335482B (zh) | 面向海量分布式数据库的批量插入方法 | |
CN113254519A (zh) | 多源异构数据库的访问方法、装置、设备和存储介质 | |
CN109144950A (zh) | 业务数据的存储方法和装置 | |
CN112667598A (zh) | 基于业务需求变化的数据模型快速构建系统 | |
US20050080759A1 (en) | Transparent interface to a messaging system from a database engine | |
WO2024108638A1 (zh) | 一种基于分片索引的自适应查询方法和装置 | |
CN105528424B (zh) | 大数据环境下实现数据持久化的系统及方法 | |
CN116010428A (zh) | 一种数据血缘分析方法和装置 | |
US8621085B2 (en) | Methods, systems, and computer program products for managing and utilizing connections between an application server and an enterprise information system based on a daytona architecture | |
US20040172382A1 (en) | System and method for generating a request for information about selected objects | |
EP3436988B1 (en) | "methods and systems for database optimisation" | |
US12093276B1 (en) | Emulating a non-relational database on a relational database with a distributed data store | |
US20050267881A1 (en) | Methods and systems for data storage | |
CN117112551A (zh) | 报表生成方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180515 |