CN113987335A - 一种数据收集方法及装置、电子设备、存储介质 - Google Patents
一种数据收集方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN113987335A CN113987335A CN202111146612.8A CN202111146612A CN113987335A CN 113987335 A CN113987335 A CN 113987335A CN 202111146612 A CN202111146612 A CN 202111146612A CN 113987335 A CN113987335 A CN 113987335A
- Authority
- CN
- China
- Prior art keywords
- data
- class
- data table
- sequencer
- target
- 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
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种数据收集方法及装置、电子设备、存储介质,涉及计算机技术领域,能够有效提高数据收集接口的开发效率。所述方法包括:接收数据收集请求,数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;根据数据表标识以及预先建立的动态创建类,创建与目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。本发明适用于数据的收集。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据收集方法及装置、电子设备、存储介质。
背景技术
随着大数据和人工智能技术的发展,针对不同用户的各种个性化、多样化服务层出不穷。为了能够更好地针对不同用户提供更好的服务,常常需要收集很多相关的用户数据,并基于这些用户数据进行相应的处理分析,例如购物网站服务器可以收集不同用户的商品浏览信息、购物信息等,以便向用户推荐其所需商品。
相关技术中的用户数据收集,通常是研发工程师根据每一个需要数据收集的具体业务场景,开发出与该业务场景对应的数据收集接口。当业务场景变换时,就要重新开发对应的数据收集接口,因此,工程师会浪费很多时间在接口开发上,大大降低了开发效率。
发明内容
有鉴于此,本发明实施例提供一种数据收集方法及装置、电子设备、存储介质,能够有效提高数据收集接口的开发效率。
第一方面,本发明实施例提供一种数据收集方法,包括:
接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;
根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;
基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
可选的,所述根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类包括:
所述动态创建类的实例化对象,根据所述数据表标识获取所述目标数据表的数据结构信息;
所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类。
可选的,所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类之前,所述方法还包括:
所述动态创建类的实例化对象,根据所述数据表标识,获取目标数据表的拆分规则信息和数据对应关系信息;
所述动态创建类的实例化对象,根据拆分规则信息创建拆分规则类,根据所述数据对应关系信息创建数据对应关系类,以根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分;
所述基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表包括:基于所述数据持久化模型类、所述拆分规则类、所述数据对应关系类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
可选的,所述根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分包括:
通过所述拆分规则类的实例化对象,将所述目标数据表按照预设拆分规则拆分为至少两个数据单位,所述数据单位包括数据分表和/或数据子库;
通过所述数据关系对应类的实例化对象,记录所述目标数据表中的各数据条目与该数据条目所属数据单位的对应关系。
可选的,所述序列化器类还用于对接收到的所述被收集数据进行数据校验,所述数据持久化模型类具体用于在所述被收集数据通过校验的情况下,将所述格式转换数据保存于所述目标数据表中。
可选的,所述基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表包括:
通过所述序列化器类的实例化对象,对接收到的所述被收集数据进行数据校验和格式转换;
在校验通过的情况下,利用所述数据持久化模型类的实例化对象,将所述格式转换数据存储到所述目标数据表中。
可选的,所述方法还包括:当所述被收集数据的数据属性发生变化时,根据所述数据属性的变化调整所述目标数据表的数据结构;
所述根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类包括:根据所述数据表标识以及预先建立的动态创建类,创建与调整后的所述目标数据表对应的数据持久化模型类以及序列化器类。
可选的,所述接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识包括:
通过预设数据收集接口,接收至少两种所述数据收集请求,各所述数据收集请求对应的被收集数据分别保存在不同的目标数据表中,各所述目标数据表对应不同的数据表标识。
可选的,所述第一格式为适于进行数据传输的数据格式,所述第二格式为适于在内存中进行数据处理的数据格式。
第二方面,本发明的实施例还提供一种数据收集装置,所述装置包括:
接收单元,用于接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;
创建单元,用于根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;
存储单元,用于基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
可选的,所述创建单元包括:
获取子单元,用于所述动态创建类的实例化对象,根据所述数据表标识获取所述目标数据表的数据结构信息;
创建子单元,用于所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类。
可选的,所述装置还包括:
所述获取子单元,还用于所述动态创建类的实例化对象,根据所述数据表标识,获取目标数据表的拆分规则信息和数据对应关系信息;
所述创建子单元,还用于所述动态创建类的实例化对象,根据拆分规则信息创建拆分规则类;
所述创建单元还包括拆分子单元,用于根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分;
所述存储单元具体用于:基于所述数据持久化模型类、所述拆分规则类、所述数据对应关系类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
可选的,所述拆分子单元具体用于:
通过所述拆分规则类的实例化对象,将所述目标数据表按照预设拆分规则拆分为至少两个数据单位,所述数据单位包括数据分表和/或数据子库;
通过所述数据关系对应类的实例化对象,记录所述目标数据表中的各数据条目与该数据条目所属数据单位的对应关系。
可选的,所述序列化器类还用于对接收到的所述被收集数据进行数据校验,所述数据持久化模型类具体用于在所述被收集数据通过校验的情况下,将所述格式转换数据保存于所述目标数据表中。
可选的,所述存储单元具体用于:
通过所述序列化器类的实例化对象,对接收到的所述被收集数据进行数据校验和格式转换;
在校验通过的情况下,利用所述数据持久化模型类的实例化对象,将所述格式转换数据存储到所述目标数据表中。
可选的,所述装置还包括:
调整单元,用于当所述被收集数据的数据属性发生变化时,根据所述数据属性的变化调整所述目标数据表的数据结构;
所述创建单元,具体用于:根据所述数据表标识以及预先建立的动态创建类,创建与调整后的所述目标数据表对应的数据持久化模型类以及序列化器类。
可选的,所述接收单元具体用于:
通过预设数据收集接口,接收至少两种所述数据收集请求,各所述数据收集请求对应的被收集数据分别保存在不同的目标数据表中,各所述目标数据表对应不同的数据表标识。
可选的,所述第一格式为适于进行数据传输的数据格式,所述第二格式为适于在内存中进行数据处理的数据格式。
第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明实施例提供的任一种数据收集方法。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明实施例提供的任一种数据收集方法。
本发明的实施例提供的数据收集方法及装置、电子设备、存储介质,能够接收数据收集请求,该数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,由于序列化器类能够将接收到的被收集数据由第一格式转换为第二格式,得到格式转换数据,而数据持久化模型类能够将该格式转换数据保存于目标数据表中,这样就能基于创建出的数据持久化模型类以及序列化器类,将接收到的被收集数据存入目标数据表。这样一来,无论应用场景如何变换,都能够根据不同应用场景下接收到的数据收集请求,动态灵活地创建与该数据收集请求及应用场景对应的数据持久化模型类和序列化器类,并通过该数据持久化模型类和序列化器类顺利将接收到的被收集数据存入对应的目标数据表,无需技术人员对数据收集接口进行耗时且复杂的开发工作,因此能够大大提升开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的数据收集方法的一种流程图;
图2为本发明的实施例提供的数据收集装置的一种结构示意图;
图3为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种数据收集方法,能够有效提高数据收集接口的开发效率。
如图1所示,本发明的实施例提供一种数据收集方法,包括:
S11,接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;
具体而言,在日常工作和生活当中,经常需要将各个业务场景下的数据进行收集以及存储,以方便后续进行追溯以及使用,例如,用户在购物网站的退货数据信息,购物数据信息,浏览商品信息;公司销售部门统计的各种销售物品的型号,数量,价格等信息;学校统计的各学生的身高,体重,各学科成绩的信息,这些数据都可以存储到本地电脑或者服务器上。
针对不同的业务场景,数据的格式各不相同,相应的,需要存储于数据库不同的数据表中。可选的,各数据表既可以位于同一个数据库中,也可以位于不同的数据库中。举例而言,在对学生的信息进行收集这一特定的业务场景下,处理器在接收到信息收集请求时,为了方便进行存储,可以根据数据收集请求中携带的用于保存这些信息的目标数据表的数据表标识,来查找相应的目标数据表。为便于说明,例如在收集学生信息业务场景下,目标数据表的数据表标识为A。
S12,根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;
具体而言,处理器在获取到目标数据表的数据表标识A之后,可以基于预先建立的动态创建类,例如可以为ORM(Object Relational Mapping,对象关系映射)动态创建模型类,创建与上述业务场景相对应的数据持久化模型类以及序列化器类。针对前述的业务场景,该步骤中创建的序列化器类可以用于将接收到的被收集数据进行格式转换,以便于进行后续的数据处理步骤。数据持久化模型可以用于在完成处理步骤之后,将处理后的数据存储至目标数据表A中。
S13,基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
步骤S12中创建了数据持久化模型类以及序列化器类之后,本步骤中,可以利用数据持久化模型类以及序列化器类创建对应的实例化对象,以便将接收到的所述被收集数据存入所述目标数据表。可选的,在本发明的一个实施例中,也可以对数据持久化模型类和/或序列化器类进行继承、派生等,并利用继承、派生得到的类将接收到的所述被收集数据存入所述目标数据表。
本发明的实施例提供的数据收集方法,能够接收数据收集请求,该数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,由于序列化器类能够将接收到的被收集数据由第一格式转换为第二格式,得到格式转换数据,而数据持久化模型类能够将该格式转换数据保存于目标数据表中,这样就能基于创建出的数据持久化模型类以及序列化器类,将接收到的被收集数据存入目标数据表。这样一来,无论应用场景如何变换,都能够根据不同应用场景下接收到的数据收集请求,动态灵活地创建与该数据收集请求及应用场景对应的数据持久化模型类和序列化器类,并通过该数据持久化模型类和序列化器类顺利将接收到的被收集数据存入对应的目标数据表,无需技术人员对数据收集接口进行耗时且复杂的开发工作,因此能够大大提升开发效率。
具体而言,步骤S11中,数据收集请求可以是客户端向服务器发送的、请求服务器对客户端发送的数据进行收集的请求。客户端的应用场景不同,则向服务器发送的数据的具体数据结构也不同。相应的,服务端也可以将这些不同应用场景下的数据存入不同的数据表。本发明的实施例中,为了标识被收集数据应该被存入哪个数据表,可以在数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识。
接收到数据收集请求后,可以在步骤S12中根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类。其中,动态创建类可以是一个预先建立的类,该类的主要功能是根据需要动态创建其他类,例如动态创建数据持久化模型类、序列化器类等。为了实现动态创建其他类的功能,在本发明的一个实施例中,动态创建类内部可以封装有各种相关功能的函数和/或变量。可选的,在本发明的一个实施例中,可以利用动态创建类建立一个或多个实例化对象,得到动态创建类的实例化对象,并通过该实例化对象具体实现其他类的动态创建。
举例而言,在本发明的一个实施例中,步骤S12中根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类具体可以包括:所述动态创建类的实例化对象,根据所述数据表标识获取所述目标数据表的数据结构信息;所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类。
具体而言,基于前述的举例,动态创建类的实例化对象可以通过该动态创建类中封装的相关函数,获取数据收集请求中携带的目标数据表的数据表标识,例如数据表标识A,并根据数据表标识A进一步获取到目标数据表的数据结构信息。所述数据结构信息可以为在数据表中存储、组织数据的具体方式,例如是何种类型的数据表、包括哪些属性或字段等。数据结构可以指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,合适的数据结构可以带来更高的运行或者存储效率。可选的,在本发明的一个实施例中,可以将数据结构信息以抽象类的形式呈现,例如,可以根据数据结构信息分别生成数据持久化模型抽象类和序列化器抽象类,以便动态创建类的实例化对象利用该数据持久化模型抽象类和序列化器抽象类,创建对应的数据持久化模型类以及序列化器类。这里所谓的抽象类为可以被其他类继承的基类,抽象类本身不能直接实例化为对象。
本发明的实施例中,目标数据表的数据结构信息是与实际的业务场景相适应的,针对各个不同的业务场景,其对应的数据结构信息也是不相同的。在此基础上,动态创建类可以基于当前实际的业务场景确定相应的数据结构信息,然后根据此数据结构信息创建与实际的业务场景相适应的数据持久化模型类以及所述序列化器类。
前文已经提到,序列化器类可以用于将接收到的被收集数据由第一格式转换为第二格式,得到格式转换数据,数据持久化模型类可以用于将格式转换数据保存于目标数据表中。在本发明的一个实施例中,所述第一格式可以为适于进行数据传输的数据格式,例如JSON,XML等,所述第二格式可以为适于在内存中进行数据处理的数据格式,这样就能够将经过一定距离传输来的被收集数据从便于传输的格式转换为便于在内存中进行数据处理的格式,经过数据处理后再存储。数据处理的具体方法例如可以包括数据校验、数据清洗等。
进一步地,为了能够提高数据搜索或查询速度,在本发明的一个实施例中,可以将目标数据表进行更精细地划分,以便能够在较小的范围内进行数据搜索或查询。为此,可选的,在本发明的一个实施例中,在所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类之前,本发明的实施例提供的数据收集方法还可以包括:所述动态创建类的实例化对象,根据所述数据表标识,获取目标数据表的拆分规则信息和数据对应关系信息;所述动态创建类的实例化对象,根据拆分规则信息创建拆分规则类,根据所述数据对应关系信息创建数据对应关系类,以根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分。其中,拆分规则信息可以用于描述对目标数据表进行怎样地拆分,例如可以将目标数据表中的数据按照不同年龄进行拆分,或者按照不同籍贯进行拆分,或者按照数据产生的不同时间进行拆分等。拆分后得到的各已拆分数据表的数据结构与原目标数据的数据结构相同,只是数据量相对减小。动态创建类的实例化对象可以根据这些拆分规则信息,创建对应的拆分规则类。
可选的,数据对应关系信息可以包括一个数据的数据标识与该数据所属的已拆分数据表的对应关系,例如,数据R的数据标识为data3,编号为sn1007,而编号为sn1007的数据存储在第11个已拆分数据表中等。本发明的实施例中,动态创建类的实例化对象可以根据这些拆分规则信息,创建对应的拆分规则类。
创建了拆分规则类、数据对应关系类后,本发明的一个实施例中,步骤S13所述基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表具体可以包括:基于所述数据持久化模型类、所述拆分规则类、所述数据对应关系类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
具体而言,动态创建类的实例化对象可以根据数据表标识A,获取目标数据表的拆分规则信息,该拆分规则信息与当前实际业务场景的数据表结构信息相适应。不同业务场景下的待收集数据,例如购物网站中的浏览数据信息,相比于微信朋友圈中的数据,具有不同的存储形式,因而也适用于不同的拆分规则。同理,不同业务场景下的待收集数据中的数据对应关系信息也是不相同的。在此基础上,动态创建类的实例化对象根据具体业务场景对应的拆分规则信息创建拆分规则类,然后根据具体业务场景对应的数据对应关系信息创建数据对应关系类,并根据所述拆分规则类和所述数据对应关系类对目标数据表进行拆分,能够灵活适应于不同的业务场景。因此,采用上述方式创建的数据对应关系类和序列化器类,结合前述的数据持久化模型类和拆分规则类,能够对不同业务场景下的数据信息进行适应性处理和存储。
可选的,在本发明的一个实施例中,可以将拆分规则信息和数据对应关系信息分别以抽象类的形式呈现,例如,可以生成拆分规则信息抽象类以及数据对应关系抽象类,以便动态创建类的实例化对象利用拆分规则信息抽象类创建拆分规则信息类,并利用数据对应关系抽象类创建数据对应关系类。这里所谓的抽象类为可以被其他类继承的基类,抽象类本身不能直接实例化为对象。
可选的,在本发明的一个实施例中,所述根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分可以包括:通过所述拆分规则类的实例化对象,将所述目标数据表按照预设拆分规则拆分为至少两个数据单位,所述数据单位包括数据分表和/或数据子库;通过所述数据关系对应类的实例化对象,记录所述目标数据表中的各数据条目与该数据条目所属数据单位的对应关系。
具体而言,仍然基于前述的举例进行说明,通过所述拆分规则类的实例化对象可以对目标数据表A中的小学生信息数据表按照学生的姓名,体重,身高,年龄,语文成绩,数学成绩等字段信息进行垂直划分为多个数据分表,可选的,也可以将目标数据表A按照上述方式划分为多个数据子库,从而便于进行存储。通过数据关系对应类的实例化对象,能够记录所述目标数据表A中的各数据条目与该数据条目所属数据单位的对应关系,以防止出现混淆,进而避免了存储过程可能出现的错误,同时由于通过对数据表进行拆分也有效缩小了目标数据的搜索范围,因此也有利于提高数据搜索或查询的响应速度。在对拆分规则类进行确定时,可以将各项字段对应的数据类型考虑在内,如小学生的年龄字段,语文成绩字段,数学成绩字段的数据为整型数据,身高和体重字段数据为浮点型数据,姓名字段的数据为字符型数据。
在前述实施例中,序列化器类可以用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,数据持久化模型类可以用于将所述格式转换数据保存于目标数据表中,但本发明的实施例不限于此。在本发明的其他实施例中,也可以对接收到的数据进行相应的数据处理。例如,在进行数据收集时,可能面对多种应用场景,采集多种规格的数据,数据传输的过程中也可能受到多种干扰,为了保证数据收集的质量,在本发明的一个实施例中,序列化器类还可以用于对接收到的所述被收集数据进行数据校验,基于此,数据持久化模型类具体用于在所述被收集数据通过校验的情况下,将所述格式转换数据保存于所述目标数据表中。可选的,既可以先进行数据格式转换操作,再进行数据校验操作,也可以先进行数据校验操作,再进行数据格式转换操作。
在此基础上,相应的,步骤S13中基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表具体可以包括:通过所述序列化器类的实例化对象,对接收到的所述被收集数据进行数据校验和格式转换;在校验通过的情况下,利用所述数据持久化模型类的实例化对象,将所述格式转换数据存储到所述目标数据表中。这样,采用序列化器类和数据持久化模型类的实例化对象,能够对被收集数据进行数据校验,以降低数据的错误率,并进行格式转换,获得更适合后续处理的格式转换数据,然后在经过处理之后,在目标数据表中进行存储。
本实施例中,在序列化器类在接收到具体业务场景的数据之后,通过序列化器类对被收集的数据进行数据校验。这样就能将数据在传输的过程中,受各种干扰(如脉冲干扰,随机噪声干扰和人为干扰等)影响产生的差错纠正或剔除。可选的,数据校验方法例如可以包括奇偶校验、循环冗余校验以及校验和等。
进一步地,为了提高数据收集接口的适应性,进一步提高数据收集接口的开发效率,在本发明的一个实施例中,所述本发明的实施例提供的数据收集方法还可以包括:当所述被收集数据的数据属性发生变化时,根据所述数据属性的变化调整所述目标数据表的数据结构;所述根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类包括:根据所述数据表标识以及预先建立的动态创建类,创建与调整后的所述目标数据表对应的数据持久化模型类以及序列化器类。
具体而言,在被收集收据的数据属性发生变化时,数据的属性包括字段内容或其他内容的更改,增添,删除中的至少一种。例如,学生信息表中增加了家庭住址信息字段,则为了便于在目标数据表A中进行存储,可以根据数据属性的更改,对目标数据表A的数据结构,拆分规则以及数据对应关系进行相应调整。然后依据预先建立的动态创建类,创建与调整后的目标数据表对应的数据持久化模型类以及序列化器类,以便与变更后的业务场景相适应。这样,即使随着时间的延续和业务的更迭,被收集数据的数据属性有所改变,也无需技术人员对此一一进行代码调整,从而进一步提高了开发效率。
为了提高数据收集接口的集成度,也为了提高收据收集效率,可选的,在本发明的一个实施例中,步骤S11中接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识具体可以包括:通过预设数据收集接口,接收至少两种所述数据收集请求,各所述数据收集请求对应的被收集数据分别保存在不同的目标数据表中,各所述目标数据表对应不同的数据表标识。这样,就可以利用同一个数据收集接口相应多种数据收集请求,收集多种数据。例如,对于微信程序的数据收集接口,就可以分别进行聊天数据收集、公众号数据收集、朋友圈数据收集、支付业务数据收集等,各类数据分别对应不同的目标数据表。可选的,在本发明的一个实施例中,可以采用多线程的方式实现上述数据的收集。
下面通过一个具体的实施例来对本发明的实施例提供的数据收集方法进行详细的说明。
本实施例提供的数据收集方法的应用场景为收集软件界面功能点击数据,该方法可以包括:
步骤一:建立数据收集业务场景对应的数据持久化模型,示例性的,该数据持久化模型具体可以如表1所示。
表1
对应抽象数据持久化模型类代码:
步骤二:对数据持久化模型进行垂直分表,每个分表的表结构完全一致,且应保证模型参数只增不减。
示例性的,数据持久化模型的一种分表示例可以如表2所示。
表2
示例性的,分表规则模型可以如表3所示。
表3
对应抽象类代码如下所示:
示例性的,数据对应关系模型可以如表4所示。
表4
对应数据对应关系类代码如下所示:
步骤三:建立动态创建ORM模型类,实现动态创建模型类。
实现代码如下:
步骤四:建立动态创建ORM模型的序列化器类,实现动态创建模型类的序列化器类。
实现代码如下所示:
根据给的模型类名动态创建该模型的序列化器类
步骤五:业务代码研发,包括以下步骤:
(1)获取数据收集接口的请求参数,判断请求参数中是否包含数据持久化模型名称以及是否合法,若不包含数据持久化模型名称或者数据持久化模型名称不合法,则返回错误提示码。
(2)根据数据持久化模型名称、当前月份动态创建数据持久化模型类、数据持久化模型类的序列化器类。
(3)根据获取到的请求参数和创建好的序列化器类,实例化数据持久化模型类的序列化器类实例。
(4)使用数据持久化模型的序列化器类实例,进行参数校验,通过则继续向下进行数据持久化操作,不通过则返回参数校验错误提示码。
(5)使用多线程及分布式锁实现数据持久化操作。数据持久化包含数据收集参数记录持久化、分表规则记录持久化、数据对应关系记录持久化三部分。首先,生成分表规则记录;其次,生成数据收集参数记录并持久化;再次生成全量数据对应关系记录;最后将未持久化的记录数据持久化到对应的数据表中。
(6)返回数据收集成功提示码。
第二方面,本发明实施例提供一种数据收集装置,能够有效提高数据收集接口的开发效率。
如图2所示,本发明的实施例提供的数据收集装置2,包括:
接收单元21,用于接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;
创建单元22,用于根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;
存储单元23,用于基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
本发明的实施例提供的数据收集装置,能够接收数据收集请求,该数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,由于序列化器类能够将接收到的被收集数据由第一格式转换为第二格式,得到格式转换数据,而数据持久化模型类能够将该格式转换数据保存于目标数据表中,这样就能基于创建出的数据持久化模型类以及序列化器类,将接收到的被收集数据存入目标数据表。这样一来,无论应用场景如何变换,都能够根据不同应用场景下接收到的数据收集请求,动态灵活地创建与该数据收集请求及应用场景对应的数据持久化模型类和序列化器类,并通过该数据持久化模型类和序列化器类顺利将接收到的被收集数据存入对应的目标数据表,无需技术人员对数据收集接口进行耗时且复杂的开发工作,因此能够大大提升开发效率。
可选的,创建单元22包括:
获取子单元,用于所述动态创建类的实例化对象,根据所述数据表标识获取所述目标数据表的数据结构信息;
创建子单元,用于所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类。
可选的,所述装置还包括:
所述获取子单元,用于所述动态创建类的实例化对象,根据所述数据表标识,获取目标数据表的拆分规则信息和数据对应关系信息;
所述创建子单元,用于所述动态创建类的实例化对象,根据拆分规则信息创建拆分规则类;
所述创建单元还包括拆分子单元,用于根据所述数据对应关系信息创建数据对应关系类,以根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分;
存储单元23具体用于:基于所述数据持久化模型类、所述拆分规则类、所述数据对应关系类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
可选的,所述拆分子单元具体用于:
通过所述拆分规则类的实例化对象,将所述目标数据表按照预设拆分规则拆分为至少两个数据单位,所述数据单位包括数据分表和/或数据子库;
通过所述数据关系对应类的实例化对象,记录所述目标数据表中的各数据条目与该数据条目所属数据单位的对应关系。
可选的,所述序列化器类还用于对接收到的所述被收集数据进行数据校验,所述数据持久化模型类具体用于在所述被收集数据通过校验的情况下,将所述格式转换数据保存于所述目标数据表中。
可选的,存储单元23具体用于:
通过所述序列化器类的实例化对象,对接收到的所述被收集数据进行数据校验和格式转换;
在校验通过的情况下,利用所述数据持久化模型类的实例化对象,将所述格式转换数据存储到所述目标数据表中。
可选的,所述装置还包括:
调整单元,用于当所述被收集数据的数据属性发生变化时,根据所述数据属性的变化调整所述目标数据表的数据结构;
创建单元22,具体用于:根据所述数据表标识以及预先建立的动态创建类,创建与调整后的所述目标数据表对应的数据持久化模型类以及序列化器类。
可选的,接收单元21具体用于:
通过预设数据收集接口,接收至少两种所述数据收集请求,各所述数据收集请求对应的被收集数据分别保存在不同的目标数据表中,各所述目标数据表对应不同的数据表标识。
可选的,所述第一格式为适于进行数据传输的数据格式,所述第二格式为适于在内存中进行数据处理的数据格式。
第三方面,本发明实施例提供一种电子设备,能够有效提高数据收集接口的开发效率。
如图3所示,本发明的实施例提供的一种电子设备,可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的数据收集方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种数据收集方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据收集方法,其特征在于,包括:
接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;
根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;
基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类包括:
所述动态创建类的实例化对象,根据所述数据表标识获取所述目标数据表的数据结构信息;
所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类。
3.根据权利要求2所述的方法,其特征在于,所述动态创建类的实例化对象,根据所述数据结构信息,创建所述数据持久化模型类以及所述序列化器类之前,所述方法还包括:
所述动态创建类的实例化对象,根据所述数据表标识,获取目标数据表的拆分规则信息和数据对应关系信息;
所述动态创建类的实例化对象,根据拆分规则信息创建拆分规则类,根据所述数据对应关系信息创建数据对应关系类,以根据所述拆分规则类和所述数据对应关系类对所述目标数据表进行拆分;
所述基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表包括:基于所述数据持久化模型类、所述拆分规则类、所述数据对应关系类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
4.根据权利要求3所述的方法,其特征在于,所述根据所述拆分规则模型类和所述数据对应关系类对所述目标数据表进行拆分包括:
通过所述拆分规则类的实例化对象,将所述目标数据表按照预设拆分规则拆分为至少两个数据单位,所述数据单位包括数据分表和/或数据子库;
通过所述数据关系对应类的实例化对象,记录所述目标数据表中的各数据条目与该数据条目所属数据单位的对应关系。
5.根据权利要求1所述的方法,其特征在于,所述序列化器类还用于对接收到的所述被收集数据进行数据校验,所述数据持久化模型类具体用于在所述被收集数据通过校验的情况下,将所述格式转换数据保存于所述目标数据表中。
6.根据权利要求5所述的方法,其特征在于,所述基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表包括:
通过所述序列化器类的实例化对象,对接收到的所述被收集数据进行数据校验和格式转换;
在校验通过的情况下,利用所述数据持久化模型类的实例化对象,将所述格式转换数据存储到所述目标数据表中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
当所述被收集数据的数据属性发生变化时,根据所述数据属性的变化调整所述目标数据表的数据结构;
所述根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类包括:根据所述数据表标识以及预先建立的动态创建类,创建与调整后的所述目标数据表对应的数据持久化模型类以及序列化器类。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识包括:
通过预设数据收集接口,接收至少两种所述数据收集请求,各所述数据收集请求对应的被收集数据分别保存在不同的目标数据表中,各所述目标数据表对应不同的数据表标识。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一格式为适于进行数据传输的数据格式,所述第二格式为适于在内存中进行数据处理的数据格式。
10.一种数据收集装置,其特征在于,包括:
接收单元,用于接收数据收集请求,所述数据收集请求中携带用于保存被收集数据的目标数据表的数据表标识;
创建单元,用于根据所述数据表标识以及预先建立的动态创建类,创建与所述目标数据表对应的数据持久化模型类以及序列化器类,其中,所述序列化器类用于将接收到的所述被收集数据由第一格式转换为第二格式,得到格式转换数据,所述数据持久化模型类用于将所述格式转换数据保存于所述目标数据表中;
存储单元,用于基于所述数据持久化模型类以及所述序列化器类,将接收到的所述被收集数据存入所述目标数据表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146612.8A CN113987335A (zh) | 2021-09-28 | 2021-09-28 | 一种数据收集方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111146612.8A CN113987335A (zh) | 2021-09-28 | 2021-09-28 | 一种数据收集方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987335A true CN113987335A (zh) | 2022-01-28 |
Family
ID=79737150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111146612.8A Pending CN113987335A (zh) | 2021-09-28 | 2021-09-28 | 一种数据收集方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987335A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117390101A (zh) * | 2023-10-16 | 2024-01-12 | 上海易立德信息技术股份有限公司 | 一种数据可持久化方法以及可持久化系统 |
-
2021
- 2021-09-28 CN CN202111146612.8A patent/CN113987335A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117390101A (zh) * | 2023-10-16 | 2024-01-12 | 上海易立德信息技术股份有限公司 | 一种数据可持久化方法以及可持久化系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353037B (zh) | 一种题目生成方法、装置以及计算机可读存储介质 | |
CN112104642B (zh) | 一种异常账号确定方法和相关装置 | |
CN109978629A (zh) | 一种广告投放方法、装置、电子设备及存储介质 | |
CN110727782A (zh) | 问答语料生成方法及系统 | |
CN111680079A (zh) | 一种将Json数据转换为字典数据的方法、装置及电子设备 | |
CN110837549B (zh) | 一种信息处理方法、装置及存储介质 | |
CN110209780B (zh) | 一种问题模板生成方法、装置、服务器及存储介质 | |
CN113987335A (zh) | 一种数据收集方法及装置、电子设备、存储介质 | |
CN115174250A (zh) | 网络资产安全评估方法、装置、电子设备及存储介质 | |
CN110652728A (zh) | 一种游戏资源管理方法、装置、电子设备及存储介质 | |
WO2024120218A1 (zh) | 一种数据推荐方法、装置及电子设备 | |
CN111523030B (zh) | 报盘信息推荐方法、装置及计算机可读存储介质 | |
CN113961590A (zh) | 一种多源数据融合方法、装置及电子设备 | |
CN110580212B (zh) | 应用程序的数据导出方法、装置、电子设备及存储介质 | |
CN114064695A (zh) | 一种资产信息筛选方法、装置、电子设备及存储介质 | |
CN114065005A (zh) | 一种系统配置优化参数方法、装置、电子设备及存储介质 | |
CN112328871A (zh) | 一种基于rpa模块的回复生成方法、装置、设备及存储介质 | |
CN107644103A (zh) | 一种可追溯信息来源的信息存储的方法和系统 | |
CN107609871B (zh) | 支付轨迹重现方法、装置、系统、电子设备、存储介质 | |
CN111870937B (zh) | 一种数据处理方法、模拟服务器及时效性应用 | |
CN114116877B (zh) | 一种数据转换的方法、装置、计算机设备和介质 | |
CN114064739B (zh) | 阅卷优化方法、装置、电子设备及可读存储介质 | |
Chunrong et al. | Design and Implementation of Reading System Based on Improved Personalized Recommendation Hybrid Algorithm | |
CN114329019A (zh) | 一种向用户电子设备上桌面推荐壁纸的推荐方法及装置 | |
CN111353816A (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 |