本技术涉及数据处理,尤其涉及一种数据处理方法、系统及存储介质。
背景技术:
1、用户使用电子设备的过程中,用户行为使得电子设备的窗口内容、网络状态、地理位置、运动状态等发生变化,产生了设备事件,设备事件包括窗口内容变化事件、网络状态变化事件、地理位置变化事件、运动状态变化事件等。上述设备事件之间可能存在因果关系,即一些设备事件可能导致另一些设备事件发生。例如,用户进入一个地理围栏后,该用户操作电子设备执行了付款操作;上述进入地理围栏事件引发后续付款事件(即窗口内容变化事件)的发生。该进入地理围栏事件可以称为原因事件,该窗口内容变化事件称为结果事件,原因事件和结果事件构成了因果样本。从海量设备事件中提取具有因果关系的设备事件构成因果样本,能够用于训练事件预测模型。事件预测模型基于电子设备上已发生的设备事件预测电子设备上将发生的设备事件,为电子设备侧提供参考,使电子设备侧提供与该结果相关的推送服务。
2、目前,采用通用的数据模型,如结构化查询语言(structured query language,sql)数据库模型构建设备事件中的各特征的属性,由于不同事件类型的设备事件的事件内容不同,比如窗口内容变化事件包含三个特征来反映窗口内容变化,网络状态变化事件包括五个特征来反映网络状态变化,所以sql数据库模型将不同事件类型的设备事件分开存储,比如窗口内容变化事件存储于数据表a中,网络状态变化事件存储于数据表b中。这就导致如果一个因果样本中同时涉及查询窗口内容变化事件和网络状态变化事件,则需要跨表查询以及关联计算,导致因果样本的构建效率较低。
技术实现思路
1、本技术提供一种数据处理方法、系统及存储介质,能够解决因果样本构建效率低的问题,提高因果样本构建效率。
2、第一方面,本技术提供一种数据处理方法,应用于服务器,服务器包括待训练的目标事件预测模型,目标事件预测模型用于基于电子设备上已发生的设备事件预测电子设备上将发生的设备事件以触发电子设备进行信息推送,设备事件包括电子设备按事件类型划分的窗口内容变化事件、网络状态变化事件、地理位置变化事件以及运动状态变化事件中的至少一种。该方法中,服务器获取用于训练事件预测模型的多个因果样本的结构特点信息;其中,每个因果样本包括多个设备事件,每个因果样本的结构特点信息包括:因果样本中的每个设备事件结构化处理后得到多个特征项。多个特征项包括:设备事件的用户标识、设备事件的事件发生时刻以及设备事件的事件内容。其中,事件内容包含至少一个特征数据,且不同事件类型的设备事件的事件内容中包含的特征数据的数据类型不同;
3、根据因果样本的结构特点信息,设置因果样本的属性;其中,因果样本中,用户标识的属性是字符串,事件发生时刻的属性是时间戳以及事件内容的属性是对象;其中,因果样本的属性用于确定设备事件对应的多个特征项中的每个特征项的存储类型。
4、其中,上述待训练的目标事件预测模型也可以是待选型的事件预测算法。
5、本方案中,服务器将包含多个不同数据类型的特征数据的事件内容的属性设置为对象,使得事件内容中的各个特征数据被关联。那么在查询事件内容中的多个特征数据时,不必分别查询各个特征数据再对查询结果做关联计算,而是先查询事件内容,再查询事件内容中的各个特征数据。因此在构建包含事件内容的因果样本时,构建效率更高。
6、在第一方面的另一种可能的设计方式中,该方法还包括:服务器按照设置的因果样本的属性,将电子设备采集的设备事件存储至原始数据表中,其中,原始数据表包括多个字段,多个字段包括用户标识字段、事件发生时刻字段和事件内容字段,用户标识字段用于存储属性是字符串的用户标识,事件发生时刻字段用于存储属性是时间戳的事件发生时刻,事件内容字段用于存储属性是对象的事件内容。
7、该设计方式下,按照设置的因果样本的属性,将电子设备采集的设备事件存储至原始数据表包括:把属性是字符串的用户标识存在用户标识字段里,把属性是时间戳的事件发生时刻存在事件发生时刻字段里,把属性是对象的事件内容存在事件内容字段里。也就是说事件内容中的各个特征数据被存储于同一个字段中,那么在查询时通过查询事件内容字段可查询到事件内容中的所有特征数据,而不必先单独查询各个特征数据再对查询结果做关联计算,因此查询效率更高。查询得到的设备事件能被用于构建用来训练上述待训练目标事件预测模型的目标因果样本,因此构建因果样本的效率更高。
8、在第一方面的另一种可能的设计方式中,该方法还包括:服务器获取查询语句,查询语句用于从原始数据表中查询组成目标因果样本的设备事件。若查询语句指示查询事件内容字段中的至少一个特征数据,则服务器先根据事件内容字段查询事件内容,再从事件内容中查询至少一个特征数据,得到包含至少一个特征数据的设备事件。
9、该设计方式下,通过将事件内容的属性设为对象实现了在针对事件内容查询时,不必分别查询事件内容中的各个特征数据再做关联计算,而是能先查询所有特征数据,再从所有特征数据中查询某个或某些特征数据,这样查询效率更高。
10、在第一方面的另一种可能的设计方式中,在设置因果样本的属性之前,该方法还包括:从每个设备事件中获取描述事件内容的多个特征数据的数据类型。上述事件内容的属性是对象,包括:如果存在任一设备事件中,描述事件内容的多个特征数据中任意两个特征数据的数据类型不同,则服务器以对象作为每个设备事件的事件内容的属性。
11、该设计方式下,通过将事件内容的属性设为对象实现了在针对事件内容查询时,不必分别查询事件内容中的各个特征数据再做关联计算,而是能先查询所有特征数据,再从所有特征数据中查询某个或某些特征数据,这样查询效率更高。
12、在第一方面的另一种可能的设计方式中,该方法还包括:服务器获取用户标识的数据类型以及事件发生时刻的数据类型。上述用户标识的属性为字符串,包括:服务器根据用户标识的数据类型为字符串,确定用户标识的属性为字符串。上述事件发生时刻的属性为时间戳,包括:服务器根据事件发生时刻的数据类型为时间戳,确定事件发生时刻的属性为时间戳。
13、该设计方式下,服务器还获取了用户标识和事件发生时刻这两个特征项的数据类型,由于这两个特征项不包括多个特征数据,所以可提取特征项的数据类型作为该数据项对应的属性。在存储时,用户标识对应的单个数据被存储于用户标识字段中,且单个数据的数据类型是字符串,那么其属性也是字符串,以及事件发生时刻对应的单个数据被存储于事件发生时刻字段中,且单个数据的数据类型是时间戳。
14、在第一方面的另一种可能的设计方式中,事件内容为wi-fi状态事件内容,描述wi-fi状态事件内容的特征数据包括wi-fi名称、wi-fi事件类型、wi-fi强度和wi-fi基础服务集。上述从设备事件中获取描述事件内容的多个特征数据的数据类型,包括:获取wi-fi名称、wi-fi事件类型、wi-fi强度和wi-fi基础服务集的数据类型,得到wi-fi名称对应的数据类型为时间戳,wi-fi事件类型对应的数据类型为字符串,wi-fi强度对应的数据类型为整型以及wi-fi基础服务集的数据类型为字符串。上述如果存在任一设备事件中,描述事件内容的多个特征数据中任意两个特征数据的数据类型不同,则以对象作为每个设备事件的事件内容的属性,包括:wi-fi状态事件的wi-fi名称、wi-fi事件类型、wi-fi强度和wi-fi基础服务集中,wi-fi名称的数据类型、wi-fi事件类型的数据类型和wi-fi强度的数据类型各不相同,确定以对象作为设备事件的wi-fi状态事件内容的属性。
15、以设备事件的事件内容为wi-fi状态事件内容为例,先获取事件内容中各个特征数据的数据类型,在特征数据有多个,且存在任意两个特征数据的数据类型不同的情况下,将wi-fi状态事件内容的属性确定为对象。那么wi-fi状态事件内容中的wi-fi名称、wi-fi事件类型、wi-fi强度和wi-fi基础服务集可被存储于属性为对象的wi-fi状态事件内容字段中,在查询任一特征数据时,先查询wi-fi状态事件内容字段,再查询wi-fi状态事件内容字段中的某个特征数据使得查询效率更高。
16、在第一方面的另一种可能的设计方式中,查询语句包括查询列表和至少一个判断式,查询列表包括至少一个待查询特征项的名称以及每个待查询特征项中至少一个待查询特征数据的名称,至少一个待查询特征项包括用户标识、事件发生时刻、事件内容中的至少一项;至少一个判断式包括第一判断式和/或第二判断式,第一判断式用于指示判断事件内容是否存在,第二判断式用于指示判断特征项与常数的大小关系。上述先根据事件内容字段查询事件内容,再从事件内容中查询至少一个特征数据,得到包含至少一个特征数据的设备事件,包括:服务器从原始数据表中查询待查询事件内容的名称对应的至少一个第一事件内容,再从第一事件内容中查询待查询特征数据的名称指示的事件内容字段中的至少一个第一特征数据,然后从至少一个第一特征数据中筛选符合至少一个判断式的至少一个目标特征数据,得到包括至少一个目标特征数据的设备事件。
17、该设计方式下,获取查询语句后,可直接通过查询事件内容字段查询到事件内容中的所有特征数据,而不必先单独查询各个特征数据再对查询结果做关联计算,因此查询效率更高。其中事件内容字段是通过查询语句中的待查询事件内容的名称查询到的。
18、在第一方面的另一种可能的设计方式中,该方法还包括:为特征项设置常数和操作符,常数和操作符用于与特征项组成判断式。
19、除了根据因果样本的结构特点构建各个特征项的属性之外,服务器还为各个特征项设置了常数和操作符,用于和特征项组成判断式,通过判断式可以对原始数据表中的数据进行筛选。
20、在第一方面的另一种可能的设计方式中,特征项的属性是对象,为特征项设置常数和操作符,包括:从第一判断式中提取常数和操作符,得到的操作符包括exist,常数包括布尔值。特征项的属性是字符串或时间戳,为特征项设置常数和操作符,包括:从第二判断式中提取常数和操作符,得到的常数包括字符串、数值、布尔值、时间戳、枚举的至少一种,操作符包括<、>、=、<=、>=或in的至少一种。如果查询语句包括多个第一判断式或多个第二判断式,或者包括第一判断式和第二判断式,则操作符还包括and、or、not。
21、该设计方式下,根据特征项的具体的属性,为特征项设置常数和操作符,由于本方案设置了对象属性,所以针对对象属性设置有用于构建第一判断式的操作符exist,以及布尔值false、true。第一判断式可以由用于查询事件内容的待查询事件内容的名称、操作符和布尔值构建,或者由其他的属性为对象的字段与操作符、布尔值构建。通过设置的常数和操作符,能够构建第一判断式对原始数据表中的数据进行筛选。
22、在第一方面的另一种可能的设计方式中,该方法还包括:构建用于表示查询同一个特征项的待查询特征数据的名称和字段的名称之间的映射关系;根据映射关系将查询语句中的待查询特征数据的名称转换为能够从原始数据表中查询到字段的名称,从而查询待查询特征数据的名称指示的字段。
23、该设计方式下,通过建立映射关系使得不必直接以字段的名称进行构建查询语句,而是以待查询特征项的名称构建查询语句,针对电子设备侧和服务器侧的字段的名称不同的情况,以待查询特征项的名称构建查询语句可以适配在服务器侧和电子设备侧查询设备事件。这样便不必考虑因为底层的存储介质和结构不同导致字段的名称不同时查询语句需要适应性变化的问题,因此查询更稳定,且支持原始数据表更多种存储形式。
24、第二方面,本技术提供一种服务器,包括:处理器、通信模块和用于存储处理器可执行指令的存储器,服务器通过通信模块接收电子设备发送的设备事件,处理器被配置为执行指令时,使得服务器实现如第一方面及其任一种可能的设计方式所述的方法。
25、第三方面,本技术提供一种数据处理系统,包括:服务器和电子设备,服务器用于向电子设备发送采样任务。电子设备用于向服务器发送根据采样任务采集的设备事件。服务器用于在接收到电子设备发送的设备事件之后,执行如第一方面及其任一种可能的设计方式所述的方法。
26、第四方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
27、第五方面,本技术提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的方法。
28、第六方面,本技术实施例提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。接口电路可读取电子设备中存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得电子设备执行如第一方面及其任一种可能的设计方式所述的方法。
29、可以理解地,上述提供的第二方面的电子设备,第三方面的数据处理系统,第四方面的计算机可读存储介质,第五方面的计算机程序产品,以及第六方面的芯片系统所能达到的有益效果,可参考第一方面及其任一种可能的实施方式中的有益效果,此处不再赘述。