CN111159515B - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111159515B CN111159515B CN201911122281.7A CN201911122281A CN111159515B CN 111159515 B CN111159515 B CN 111159515B CN 201911122281 A CN201911122281 A CN 201911122281A CN 111159515 B CN111159515 B CN 111159515B
- Authority
- CN
- China
- Prior art keywords
- bit vector
- bit
- user
- target
- vector
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 239000013598 vector Substances 0.000 claims abstract description 723
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 36
- 230000006835 compression Effects 0.000 description 21
- 238000007906 compression Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 9
- 230000000737 periodic effect Effects 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/951—Indexing; Web crawling techniques
-
- 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/9532—Query formulation
-
- 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/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据处理方法、装置及电子设备,涉及计算机领域。该方法包括:响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述标识信息与所述目标用户相对应;根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息。本公开能够将用户操作数据转换为位向量,提高了数据处理效率和数据安全性,防止用户隐私泄露。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据处理方法、数据处理装置、计算机存储介质及电子设备。
背景技术
随着计算机技术的迅速发展,计算机存储和数据处理广泛应用于各行各业。同时随着数据***式增长,若通过人工统计的方式从数据库中获取某个用户在某个时间段的操作信息是异常困难的。
目前,想要获取计费数据中某个用户在某段时间的操作信息,只能利用用户的ID信息从数据库中根据时间属性列进行检索。当根据操作相似性查询用户的相似用户时,需要事先定义相似用户的判定标准,然后检索每一个用户在给定时间区间内的操作信息,并同给定用户进行相似性比较。而对计费数据进行挖掘处理,仍然需要先检索部分甚至全部的用户数据,然后根据挖掘需求进行挖掘计算。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的实施例提供了一种数据处理方法、数据处理装置、计算机存储介质及电子设备,进而至少在一定程度上可以提高数据处理效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种数据处理方法,包括:
响应第一用户的查询请求,响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述标识信息与所述目标用户相对应;根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息。
根据本公开实施例的一个方面,提供了一种数据处理装置,包括:获取模块,用于响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述标识信息与所述目标用户相对应;运算模块,用于根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息。
在本公开的一些实施例中,基于前述方案,所述位向量包括各时间粒度内的用户操作信息。
在本公开的一些实施例中,基于前述方案,所述运算模块配置为:获取第一用户标识和第一时间区间,根据所述第一用户标识和所述第一时间区间从所述位向量表中获取与所述第一用户标识对应的第一目标位向量;对所述第一目标位向量进行统计,以获取所述第一用户标识对应的用户在所述第一时间区间内进行操作的次数。
在本公开的一些实施例中,基于前述方案,所述运算模块配置为:获取第二用户标识、待比对用户标识和第二时间区间;根据所述第二用户标识、所述待比对用户标识和所述第二时间区间从所述位向量表中获取与所述第二用户标识对应的第二目标位向量和与所述待比对用户标识对应的待比对目标位向量;将所述第二目标位向量与所述待比对目标位向量依次进行异或运算和非运算,以获取比对目标位向量;对所述比对目标位向量进行统计,以获取所述第二用户标识对应的用户和所述比对用户标识对应的用户在所述第二时间区间内的操作相似性。
在本公开的一些实施例中,基于前述方案,所述运算模块包括:信息获取单元,用于获取第三用户标识、第四用户标识、相似性阈值和第三时间区间;位向量获取单元,用于根据所述第三用户标识、所述第四用户标识和第三时间区间从所述位向量表中获取与所述第三用户标识对应的第三目标位向量和与所述第四用户标识对应的第四目标位向量;相似度获取单元,用于对所述第四目标位向量进行移位操作以获取移位目标位向量,并对所述移位目标位向量和所述第三目标位向量进行相似性判断,以获取相似度;比较单元,用于将所述相似度与所述相似性阈值进行比较,并根据比较结果判断在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作是否存在影响。
在本公开的一些实施例中,基于前述方案,所述相似度获取单元配置为:按照移位单元将所述第四目标位向量向左移位,以获取所述移位目标位向量;将所述第三目标位向量和所述移位目标位向量依次进行异或运算和非运算,以获取相似性目标位向量;对所述相似性目标位向量进行统计,以获取所述相似度。
在本公开的一些实施例中,基于前述方案,所述比较单元配置为:当所述相似度大于或等于所述相似性阈值时,判定在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作存在影响;当所述相似度小于所述相似性阈值时,重复执行上述实施例所述的方法,直至所述第四目标位向量向左移位的位数达到移位阈值。
在本公开的一些实施例中,基于前述方案,所述运算模块配置为:获取第五用户标识、第一操作模式位向量、第一操作模式周期和第四时间区间;根据所述第五用户标识和所述第四时间区间从所述位向量表中获取与所述第五用户标识对应的第五目标位向量;根据所述第一操作模式位向量的位数将所述第五目标位向量转换为多个依序排列的第一子位向量,分别对所述第一操作模式位向量和各所述第一子位向量进行相似性判断,以获取子相似度;根据各所述第一子位向量的排序和所述子相似度确定序列位向量,并获取所述序列位向量的重复周期;当所述重复周期与所述第一操作模式周期相同时,判定所述第五用户标识对应的用户的操作行为在所述第四时间区间内具有周期性。
在本公开的一些实施例中,基于前述方案,所述运算模块配置为:获取第六用户标识、第二操作模式位向量、异常阈值和第五时间区间;根据所述第六用户标识和所述第五时间区间从所述位向量表中获取与所述第六用户标识对应的第六目标位向量,其中所述第六用户标识对应的用户的操作具有周期性;根据所述第二操作模式位向量的位数将所述第六目标位向量切分为多个第二子位向量;将所述第二操作模式位向量中各位的数据与各所述第二子位向量对应位的数据分别进行比对,以获取异常计数;当所述异常计数大于或等于所述异常阈值时,判定所述第六用户标识对应的用户的操作行为在所述第五时间区间内存在异常。
在本公开的一些实施例中,基于前述方案,所述数据处理装置还包括:位向量表生成模块,用于根据所述用户的操作数据生成用户操作数据表,并根据所述用户操作数据表生成与所述用户操作数据表关联的位向量表,所述用户包括目标用户;位向量表更新模块,用于在监听到所述用户操作数据表中的用户操作数据发生变化时,对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量。
在本公开的一些实施例中,所述用户操作数据表中设置有触发器;基于前述方案,所述位向量表更新模块配置为:监听所述用户操作数据表;在所述用户操作数据表中的数据发生变化时,通过所述触发器触发对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量。
在本公开的一些实施例中,基于前述方案,所述位向量表更新模块配置为:从所述用户操作数据表中确定发生变化的用户操作数据所对应的目标用户标识;根据所述目标用户标识从所述位向量表中获取与所述目标用户标识对应的第一位向量,并将变化后的用户操作数据映射以得到第二位向量;将所述第一位向量和所述第二位向量进行或操作,以获取第三位向量;将所述第一位向量替换为所述第三位向量,以对所述位向量表中的位向量进行更新。
在本公开的一些实施例中,基于前述方案,所述位向量为压缩位向量,所述压缩位向量的第一位为标志位,当所述标志位为1时,所述第一位之后的剩余位为没有压缩的位向量;当所述标志位为0时,所述第一位之后的剩余位为被压缩的连续的0的数量。
在本公开的一些实施例中,基于前述方案,所述数据处理装置还包括:获取模块,用于获取压缩向量和待处理位向量对应的查询区间,所述查询区间包括起始位数和终止位数;解压模块,用于根据所述压缩位向量的位数将所述压缩向量切分为多个压缩位向量,依次对所述压缩位向量进行解压,以获取位数大于所述起始位数的解压位向量;截位模块,用于将所述解压位向量中位数大于所述起始位数的向量值作为所述待处理位向量中的向量值;补位模块,用于在所述向量值的数量小于所述终止位数与所述起始位数的差值,则对所述解压位向量相邻的压缩位向量进行解压,以获取所述待处理位向量中剩余位的向量值。
根据本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例所述的数据处理方法。
根据本公开实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述实施例所述的数据处理方法。
在本公开的一些实施例所提供的技术方案中,响应第一用户的查询请求,获取与目标用户的操作数据相关的位向量表;然后根据查询请求中的标识信息和时间信息从位向量表中获取目标位向量,通过对目标位向量进行逻辑处理以获取目标信息。本公开的技术方案能够通过将用户操作数据转换为位向量,提高数据处理效率、减少资源浪费。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的技术方案的示例性***架构的示意图;
图2示意性示出了根据本公开的一个实施例的数据处理方法的流程示意图;
图3示意性示出了根据本公开的一个实施例的更新位向量表的流程示意图;
图4示意性示出了根据本公开的一个实施例的基于位向量统计用户操作次数的流程示意图;
图5示意性示出了根据本公开的一个实施例的基于位向量判断用户操作相似性的流程示意图;
图6示意性示出了根据本公开的一个实施例的基于位向量判断用户操作之间影响关系的流程示意图;
图7示意性示出了根据本公开的一个实施例的基于位向量的用户行为周期性判断的流程示意图;
图8示意性示出了根据本公开的一个实施例的基于位向量进行异常操作判断的流程示意图;
图9示意性示出了根据本公开的一个实施例的对压缩位向量进行解压的流程示意图;
图10示意性示出了根据本公开的一个实施例的数据处理装置的框图;
图11示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本公开实施例的技术方案的示例性***架构的示意图。
如图1所示,***架构100可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。比如服务器103可以是多个服务器组成的服务器集群等。终端设备101可以是诸如笔记本、台式机、智能手机等带有显示屏幕的终端设备。
在本公开的一个实施例中,用户在终端设备101的显示屏幕上进行各类操作,终端设备101能够将用户操作对应的指令通过网络102发送至服务器103,服务器103接收到指令后能够对该指令进行响应,同时分析用户操作,根据用户操作数据构建用户操作数据表,同时生成与用户操作数据表关联的位向量表;在构建用户操作数据表和位向量表后,服务器103监听用户操作数据表,当用户操作数据表中的用户操作数据发生变化时,可以对变化后的用户操作数据进行映射,以更新位向量表中的位向量。在终端设备101或者服务器103或者与服务器103连接的其他设备需要对用户操作行为进行查询、挖掘时,例如查询给定的目标用户在查询时间区间内是否对账户进行过操作、查询在查询时间区间内是否存在与给定的目标用户存在相似操作行为的其他用户、挖掘给定的目标用户的操作模式在查询时间区间内是否具有周期性、在给定的目标用户存在周期性操作行为的基础上判断用户在查询时间区间内是否存在异常操作,等等,可以根据标识信息和时间信息从位向量表中获取与标识信息对应的目标位向量,通过对目标位向量进行逻辑处理以获取目标信息。相应地,目标信息包括目标用户在查询时间区间内进行操作的次数、在查询时间区间内与目标用户的操作行为存在相似操作行为的其他用户、在查询时间区间内目标用户的用户操作行为的周期性、存在周期性操作行为的目标用户在查询时间区间内是否存在异常操作等,其中目标用户为与标识信息对应的用户。本公开实施例的技术方案能够通过将用户操作数据转换为位向量,提高数据处理效率、减少资源耗费。
需要说明的是,本公开实施例所提供的数据处理方法一般由服务器执行,相应地,数据处理装置一般设置于服务器中。但是,在本公开的其它实施例中,也可以由终端设备执行本公开实施例所提供的数据处理方法。
在本领域的相关技术中,从计费数据库中查询某个用户在某段时间的操作信息,通常利用用户的ID等标识信息从数据库中根据时间进行检索,以获得用户在该段时间内的操作信息。但是当从计费数据库中检索一个或多个用户在不同时间区间的操作信息并进行聚集时,由于同一个用户在不同时间的操作数据很有可能分布在不同的存储节点,即使在用户数据上已经建有索引,但是仍然需要消耗大量的检索时间。
鉴于相关技术中存在的问题,本公开实施例首先提出了一种数据处理方法,以下对本公开实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本公开的一个实施例的数据处理方法的流程图,该数据处理方法可以由服务器来执行,该服务器可以是图1中所示的服务器103。参照图2所示,该数据处理方法至少包括步骤S210至步骤S220,详细介绍如下:
在步骤S210中,响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述标识信息与所述目标用户相对应。
在本公开的一个实施例中,在本公开的一个实施例中,该查询请求可以为一查询用户发起的,用于对目标用户的操作数据进行查询的请求。目标用户为进行具体操作并生成操作数据的用户,目标用户可以是一个用户,也可以是多个用户。获取查询请求后,可以根据查询请求中的标识信息及时间信息获取与标识信息对应的目标用户的操作数据,并对其进行处理,但是由于目标用户的操作数据的数据量庞大,如果直接对目标用户的操作数据进行处理,数据处理效率很低,精准度也差,因此在本公开实施例中,可以根据目标用户的操作数据生成用户操作数据表,并根据用户操作数据表生成与用户操作数据表关联的位向量表,进而通过对位向量表中的位向量进行处理以获得目标信息。
在本公开的一个实施例中,根据目标用户的操作数据生成用户操作数据表,并根据用户操作数据表生成与用户操作数据表关联的位向量表,具体可以是:用户通过在终端设备101上进行操作,例如在购物平台上通过点击相应控件进行商品浏览、下单、付款、分享等操作,在聊天界面上通过点击相应控件进行消息发送、分享、编辑、删除等操作,等等,终端设备101接收到用户的操作后,将该操作对应的指令发送至服务器103,服务器103接收到指令后进行相应反馈,并对用户操作行为进行分析,根据用户的操作行为构建用户操作数据表,该用户操作数据表可以是一个K-V数据表,其中的键可以是用户的用户标识,例如用户注册时生成的用户ID、用户身份证号码等与用户唯一关联的信息;值可以是用户进行操作后产生的数据,例如支出金额、购买次数、充值金额、充值次数等等。在根据用户操作行为构建用户操作数据表的同时,还可以创建一位向量表,该位向量表与用户操作数据表相关联,其中所记录的数据为根据用户操作数据映射而得,并且该位向量表中只需记录用户标识和与用户标识对应的位向量即可。位向量是由连续的若干个0/1序列构成的二进制序列,位向量的长度是位向量中0和1的数目,位向量中的每一个0或1称为位,例如,01011为长度为5的位向量。表1示出了位向量表的结构,如表1所示:
表1用户操作位向量表
User | B[0,12) |
a | 110011011100 |
c | 100101100011 |
d | 101110110101 |
e | 010001000111 |
其中,B[s,e)表示在时间区间[s,e)内的根据目标用户的操作数据映射得到的位向量,s表示开始时间,e表示结束时间;a、c、d、e为用户标识,对应的110011011100、100101100011、101110110101和010001000111分别为用户a、用户c、用户d和用户e的操作数据映射得到的位向量;各个位向量的长度为12。
在本公开的一个实施例中,位向量表可以通过SQL语句进行创建,在创建时,位向量表的名称和时间粒度必须同时进行设定,其中位向量表的名称可以根据用户操作数据表确定,由bitsVector_table_name指定,例如当用户操作数据表的名称为buy_record_tab,则与其关联的位向量表的名称可以为bitsVector_buy_record_tab,若不指定值,则缺省值为“用户操作数据表名_bvt”,例如buy_record_tab_bvt。时间粒度为位向量中每一位的时间属性,其表示一段时间,位向量中的每一位即为用户在该段时间内的用户操作行为,时间粒度可以设置为一天、一小时、一分钟等等,如表1中的时间粒度为一小时,当然也可以将时间粒度设置为其它值,本公开实施例对此不做具体限定。设置时间粒度的目的是根据需求合理控制位向量的空间使用、查询准确度和查询需求之间的关系,如果在需要进行精准的查询结果且不考虑空间使用的情况下,可以将时间粒度设定为较小的数值,如一分钟;当仅需要粗糙地查询结果时,可以将时间粒度设定为较大的数值。在确定了时间粒度后,可以根据用户的操作时间将用户操作数据映射为位向量,例如将时间粒度设置为一小时,那么一天的位向量长度为24,当用户在2点-3点的时间区间中进行了操作,那么可以将位向量中与2点-3点对应的位设置为1,表示该用户在这一小时的时间粒度内进行过操作,值得注意的是,如果用户在某个时间粒度内进行了多次操作,则无法在对应的位中展示出来,这时可以通过减小时间粒度进行解决。进一步地,位向量长度还可以根据时间区间的大小和时间粒度的比值确定,使用length表示。如表1所示,给出了四个用户a、c、d、e在12个小时内将操作映射得到的位向量,各用户的时间区间大小为12小时,而时间粒度为1小时,则length=12/1=12。
在本公开的一个实施例中,可以通过ALTER TABLE语句对位向量表进行修改,ALTER TABLE语句使用同样的谓词对位向量表进行修改,如只修改period值的话,之前的数据失效;如修改位向量表名,则可保留旧数据,并将新数据存入新的位向量表中。位向量表中位向量的长度可以根据需要设置,当用户操作对应的时间超过位向量表中位向量支持的时间时,可以重新建立新的位向量表来应对。
进一步地,位向量表中除了包含用户标识、与用户标识对应的用户操作数据之外,还可以通过在位向量表中添加列用于记录用户的其它操作信息,例如操作类型、操作对应的交易金额、操作对应的支付方式等等,具体地,可以增加一个位向量记录用户的操作类型,1代表消费,0代表充值;可以增加一个位向量记录用户的交易金额,1代表消费超100元,0代表消费未超100元;可以增加一个位向量记录用户的支付方式,1代表非现金支付,0代表现金支付。在位向量表中添加列记录用户的其它操作信息时,可以不用在用户操作数据表中增加列以记录与用户操作对应的操作数据,这样不仅记录了用户操作信息,还可以避免因在用户操作数据表中添加列导致的用户操作数据表维护代价高的问题。
在本公开的一个实施例中,在构建好用户操作数据表和与用户操作数据表关联的位向量表后,可以监听用户操作数据表,当用户操作数据表中的用户操作数据发生变化时,触发更新位向量表中的位向量。具体地,可以在用户操作数据表中设置触发器,当用户进行新的操作时,用户操作数据表中的用户操作数据会发生变化,进而通过触发器触发对变化后的用户操作数据进行映射形成位向量,并根据该位向量对位向量表进行更新。
图3示出了更新位向量表的流程示意图,如图3所示,更新位向量表的流程至少包括步骤S301-步骤S304,具体地:
在步骤S301中,从用户操作数据表中确定与发生变化的用户操作数据所对应的目标用户标识。
在本公开的一个实施例中,在用户操作数据表中的用户操作数据发生变化时,可以确定发生变化的用户操作数据所对应的目标用户标识,进而根据目标用户标识可以获取位向量表中与该目标用户标识对应的位向量,并对其进行更新。
在步骤S302中,根据目标用户标识从位向量表中获取与目标用户标识对应的第一位向量,并将变化后的用户操作数据映射以得到第二位向量。
在本公开的一个实施例中,获取目标用户标识后,可以将其与位向量表中的用户标识进行匹配,当位向量表中存在与目标用户标识匹配的用户标识后,将对应的位向量提取出来,该位向量即为第一位向量,同时可以对变化后的用户操作数据进行映射获得第二位向量。举例而言,目标用户标识为12345,根据该目标用户标识可以获取其所对应的第一位向量为010000000000,该第一位向量的长度为12,时间粒度为1h,表示目标用户在12小时内的第1h-第2h之间进行过一次操作,若目标用户在第4h-第5h这一小时内再次进行了操作,那么可以得到映射后的第二位向量为000010000000。
在步骤S303中,将第一位向量和第二位向量进行或操作,以获取第三位向量。
在本公开的一个实施例中,获取与目标用户标识对应的变化前的第一位向量和变化后的第二位向量后,可以对第一位向量和第二位向量进行整合,以获取第三位向量。其中,该整合操作具体地可以是对第一位向量和第二位向量进行或(|)操作,以步骤S302中的第一位向量和第二位向量为例,第三位向量=(010000000000)|(000010000000)=010010000000,用于表示目标用户标识对应的用户在第1h-第2h及第4h-第5h分别进行过操作。
在步骤S304中,将第一位向量替换为第三位向量,以对位向量表中的位向量进行更新。
在本公开的一个实施例中,获取第三位向量后,可以用第三位向量替换第一位向量,以实现对位向量表的更新。
在本公开的一个实施例中,可以采用NewBit函数生成新的位向量值,该函数可以接收四个参数,分别为:开始统计用户操作的时间(即位向量表生成的时间)、用户提前指定的时间粒度、用户更新操作的时间和发生操作的用户标识,NewBit函数先将该用户的位向量值读出,然后与用户更新操作映射得到的位向量进行或操作,以得到新的位向量,最后将新的位向量写回位向量表。该NewBit函数可以是触发器的函数、用户自定义函数,也可以是数据库引擎的***函数,本公开实施例对此不做具体限定,可以根据实际需要选择合适的函数更新位向量表。
在步骤S220中,根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息。
在本公开的一个实施例中,在获取标识信息和时间信息后,可以根据标识信息和时间信息从位向量表中获取目标位向量,进而根据目标位向量获取目标信息。在本公开的实施例中,目标信息包括用户在查询时间区间内进行操作的次数、在查询时间区间内其他用户的操作与目标用户的操作是否相似、在查询时间区间内用户操作行为之间的相互影响关系、在查询时间区间内用户操作行为的周期性、具有周期性操作行为的用户在查询时间区间内是否存在异常操作。
在本公开的一个实施例中,根据目标位向量获取目标信息的具体方式是对目标位向量进行逻辑处理,该逻辑处理包括位向量的基本运算和基本操作。位向量的基本运算包括与、或、非、异或,分别使用&、|、~和^表示,在本公开实施例中,可以采用不同的运算对位向量进行处理以获取不同的目标信息,其中,与、或、异或运算都是二目运算,与、或和异或运算分别在如下情况下返回结果1,即两个位都为1、任意一个位为1和有且仅有一个位为1,其余情况返回结果0;非运算为单目运算,在操作位为0的情况下返回结果1,否则返回结果0。位向量的基本操作是移位,在本公开实施例中使用>>和<<表示移位操作,如表示向右移动两位,移位后最左两位补0,得到的位向量为001100110111。这里需要强调的是,位向量的基本运算和移位操作可以被计算机底层很好地支持,并被计算机十分快速的完成。由于直接对用户操作数据表进行查询获得的数据是直接暴露给外界的,使得用户数据不能得到保护,增加了用户隐私泄露的风险,而本公开实施例中将用户操作数据映射形成位向量,基于位向量进行相应处理,避免了将用户操作数据直接暴露给外界,因此可以提高用户数据的安全性,避免用户隐私泄露。
在本公开的一个实施例中,针对位向量的一个关键操作是计数,用Count表示,如函数返回的就是在时间区间[s,e)内a用户对应的位向量中1的数目。在本公开的实施例中,Count函数可以通过移位操作快速完成,具体算法步骤为:将位向量B[s,e)作为输入位向量,先获取位向量B[s,e)的长度及第一位,将位向量B[s,e)的第一位与1进行与运算,将与运算的结果作为初始统计值;接着将位向量B[s,e)向右移位获取其第二位,将第二位与1进行与运算,并用与运算的结果对初始统计值进行更新,重复上述步骤,直至获取位向量B[s,e)的最后一位与1进行与运算的结果,该结果即为Count()函数的返回值。
在本公开的一个实施例中,对应目标信息的具体分类,本公开实施例的数据处理任务有五个:(1)操作统计;(2)操作相似性;(3)操作影响关系;(4)周期性判断;(5)异常操作判断。
针对任务(1),图4示出了基于位向量统计用户操作次数的流程示意图,如图4所示,该流程至少包括步骤S401-S402,具体地:
在步骤S401中,获取第一用户标识和第一时间区间,根据第一用户标识和第一时间区间从位向量表中获取与第一用户标识对应的第一目标位向量。
在本公开的一个实施例中,在位向量表中可以记录多个用户标识及与各用户标识对应的位向量,在获取第一用户标识和第一时间区间后,可以将第一用户标识与位向量表中的用户标识进行匹配,当位向量表中存在第一用户标识时,根据第一时间区间和位向量表的时间粒度确定与第一用户标识对应的位向量,并将其标记为第一目标位向量。
在步骤S402中,对第一目标位向量进行统计,以获取第一用户标识对应的用户在第一时间区间内进行操作的次数。
在本公开的一个实施例中,获取第一目标位向量之后,可以采用Count()函数对其进行统计,也就是统计第一目标位向量中1的数量,以获取第一用户标识对应的用户在第一时间区间内进行操作的次数。例如以表1中的用户a为例,想要获取用户a在时间区间[0,5)内的操作情况,首先可以获取用户a在时间区间[0,5)上的第一目标位向量11001,然后采用Count()函数对第一目标位向量11001进行统计,可以获得说明用户a在时间区间[0,5)内至少进行过3次操作;最后返回统计结果3。
针对任务(2),图5示出了基于位向量判断用户操作相似性的流程示意图,如图5所示,该流程至少包括步骤S501-S504,具体地:
在步骤S501中,获取第二用户标识、待比对用户标识和第二时间区间。
在本公开的一个实施例中,首先可以获取目标用户的用户标识,其他用户的用户标识及要查询的时间区间,然后根据该时间区间内目标用户的操作位向量和其他用户的操作位向量判断目标用户的操作和其他用户的操作是否存在相似性。在本公开的实施例中,将目标用户的用户标识标记为第二用户标识,将其他用户的用户标识标记为待比对用户标识,将要查询的时间区间标记为第二时间区间,其中,待比对用户标识可以为一个用户标识,也可以为多个用户标识。
在步骤S502中,根据第二用户标识、待比对用户标识和第二时间区间从位向量表中获取与第二用户标识对应的第二目标位向量和与待比对用户标识对应的待比对目标位向量。
在本公开的一个实施例中,在获取第二用户标识、待比对用户标识和第二时间区间后,可以分别将第二用户标识、待比对用户标识分别与位向量表中的用户标识进行匹配,以获取第二时间区间内的与第二用户标识对应的第二目标位向量和与待比对用户标识对应的待比对目标位向量。
在步骤S503中,将第二目标位向量与待比对目标位向量依次进行异或运算和非运算,以获取比对目标位向量。
在本公开的一个实施例中,获取第二目标位向量和待比对目标位向量后,可以将第二目标位向量与各待比对目标位向量进行运算,以获取二者之间的相似性。首先可以将第二目标位向量与待比对目标位向量依次进行异或运算和非运算,以获取比对目标位向量;然后对比对目标位向量进行统计,以获取二者之间的相似性。
以表1中的用户a、c、d为例,判断用户c和用户a、d在时间区间[0,12)内的操作相似性,首先获取用户c、a、d在时间区间[0,12)上的位向量,分别为 接着将用户c的位向量分别与用户a、d的位向量进行异或运算,即
然后对异或运算后的结果进行非运算,即/> 即比对目标位向量为/>和/>
在步骤S504中,对比对目标位向量进行统计,以获取第二用户标识对应的用户和待比对用户标识对应的用户在第二时间区间内的操作相似性。
在本公开的一个实施例中,在获取比对目标位向量后,可以根据Count()函数对比对目标位向量进行统计,以获得第二用户标识对应的用户和待比对用户标识对应的用户在第二时间区间内的操作相似性。经过统计可得,由此可以确定,在时间区间[0,12)内,用户d与用户c的操作相似性大于用户a与用户c的操作相似性。
在本公开的一个实施例中,还可以通过计算在给定时间区间内相似操作占全部操作的比例来细化相似性度量,如在第二时间区间内,用户c和用户a相似操作的比例为3/12,而用户c和用户d相似操作的比例为6/12,很明显,用户c和用户d在操作行为上更加相似。
有了用户操作相似性的定义和查询操作后,就可以利用该操作对用户进行聚类,即根据操作相似性对用户进行聚类,相似用户划分到同一个类里,不同用户划分到不同类里。聚类后的结果可以用作数据的预处理过程,以加快其它分析的处理速度;也可以提供给用户画像作为用户的一类行为特征,帮助更好地了解用户。
针对任务(3),图6示出了基于位向量判断用户操作之间影响关系的流程示意图,如图6所示,该流程至少包括步骤S601-S604,具体地:
在步骤S601中,获取第三用户标识、第四用户标识、相似性阈值和第三时间区间。
在本公开的一个实施例中,想要确定两个或多个用户在某一时间区间内的操作是否存在影响关系,首先需要确定用户标识和要查询的时间区间,然后获取一相似性阈值,根据该相似性阈值判断两个用户的操作行为是否相似,进而确定两个用户的操作行为是否存在相互影响的关系。
在步骤S602中,根据第三用户标识、第四用户标识和第三时间区间从位向量表中获取与第三用户标识对应的第三目标位向量和与第四用户标识对应的第四目标位向量。
在本公开的一个实施例中,获取第三用户标识和第四用户标识后,分别将第三用户标识和第四用户标识与位向量表中的用户标识进行匹配,以获取第三时间区间内与第三用户标识对应的第三目标位向量和与第四用户标识对应的第四目标位向量。
在步骤S603中,对第四目标位向量进行移位操作以获取移位目标位向量,并对移位目标位向量和第三目标位向量进行相似性判断,以获取相似度。
在本公开的一个实施例中,一个用户的操作对另一个用户的操作的影响可能是同步的,也可能是有延迟的,因此在确定影响关系时,可以对第四目标位向量进行移位操作,然后判断第三目标位向量与移位后的第四目标位向量的相似性,并获取二者之间的相似度。具体地,首先可以按照移位单元将第四目标位向量向左移位,以获取移位目标位向量;接着将第三目标位向量与移位目标位向量依次进行异或运算和非运算,以获取相似性目标位向量;最后通过Count()函数对相似性目标位向量进行统计,以获取第三目标位向量和第四目标位向量之间的相似度。其中,移位单元是每次进行移位操作时发生变化的位的数量,例如可以是1、2等等,只要是小于位向量长度的任意整数即可。另外,可以设置一移位阈值,当移位操作达到移位阈值时,则停止移位操作,判定第三用户标识对应的用户的操作对第四用户标识对应的用户的操作不存在影响。
在步骤S604中,将相似度与相似性阈值进行比较,并根据比较结果判断在第三时间区间内第三用户标识对应的用户的操作对第四用户标识对应的用户的操作是否存在影响。
在本公开的一个实施例中,获取第三目标位向量和移位目标位向量的相似度后,可以将该相似度与相似性阈值进行比较,根据比较结果判断第三用户标识对应的用户的操作对第四用户标识对应的用户的操作是否存在影响。具体地,当相似度大于或等于相似性阈值时,判定在第三时间区间内第三用户标识对应的用户的操作对第四用户标识对应的用户的操作存在影响;当相似度小于相似性阈值时,对第四目标位向量再进行移位操作,并计算移位后的位向量与第三目标位向量的相似度,判断该相似度与相似性阈值的大小关系,若相似度小于相似性阈值,则重复上述步骤,直至第四目标位向量向左移位的位数达到移位阈值。
在本公开的一个实施例中,当两个或多个用户的操作存在相互影响关系时,返回移位操作的次数,即一个用户的操作影响另一个用户的时间延迟;当两个或多个用户的操作不存在相互影响关系时,返回移位阈值。
以表1中的用户a、d为例,给定的时间区间分别是[3,8)和[4,9),相似性阈值α=4,移位阈值γ=3。根据时间区间和用户标识,可以获取用户a在时间区间[3,8)内操作的第三目标位向量为001101,用户d在时间区间[4,9)内操作的第四目标位向量为110110,对第四目标位向量进行移位操作,并计算移位目标位向量与第三目标位向量的相似度,可以得到说明用户a的操作行为可能会影响用户d,影响的延迟在1h左右。同相似性判断类似,影响关系也不是强成立的,但是,这种影响关系应该是由某种外界因素导致,如某种新产品上线;也可能这种影响关系完全偶然,即两个用户在没有任何外界因素影响的情况下产生了相似的消费行为。如果在计费数据中,两个用户间这种偶然的影响经常性出现,即在一个用户对购买了某些商品后,另一个用户也常常购买了这些商品,而两个用户之间并没有任何联系,也可以对这种影响关系加以利用。当发现一个用户对账户进行操作,可以预测另一个用户也有极大可能对账户进行操作,进而提高对应用户的了解程度。
针对任务(4),用户的操作行为可能会具有一定的周期性,如每隔一个星期进行一次充值,每充值一次会紧跟着消费两次等等。分析用户的操作上的周期性有利于更好地了解用户的操作习惯,进而对用户进行更加准确地画像。图7示出了基于位向量的用户行为周期性判断的流程示意图,如图7所示,该流程至少包括步骤S701-S705,具体地:
在步骤S701中,获取第五用户标识、第一操作模式位向量、第一操作模式周期和第四时间区间。
在本公开的一个实施例中,为了判断用户的操作在某一时间区间内是否具有周期性,需要获取用户的用户标识和时间区间,即第五用户标识和第四时间区间,同时需要获取操作模式位向量,根据该操作模式位向量判断第四时间区间内的用户操作是否为该操作模式的重复,另外还可以获取第一操作模式周期,用以判断用户操作的周期性是否符合预设的操作模式周期。
在步骤S702中,根据第五用户标识和第四时间区间从位向量表中获取与第五用户标识对应的第五目标位向量。
在本公开的一个实施例中,可以将第五用户标识与位向量表中的用户标识进行匹配,以获取第四时间区间内第五用户标识对应的用户的第五目标位向量,并以该第五目标位向量为基准,进行周期性分析。
在步骤S703中,根据第一操作模式位向量的位数将第五目标位向量转换为多个依序排列的第一子位向量,分别对第一操作模式位向量和各第一子位向量进行相似性判断,以获取子相似度。
在本公开的一个实施例中,如果第五用户标识对应的用户的操作具有周期性,那么第五目标位向量经过处理后所获得新的位向量中必然包含多个第一操作模式位向量,因此第五目标位向量的长度必然大于第一操作模式位向量的长度,在进行周期性判断时,可以将第五目标位向量根据第一操作模式位向量的长度转换为多个依序排列的第一子位向量,然后对第一操作模式位向量和各第一子位向量进行相似性判断,以获取与各第一子位向量对应的子相似度。
在本公开的一个实施例中,以用户a在时间区间[0,12)内的操作对应的位向量110011011100为例,给定第一操作模式位向量110,其长度(位数)为3,根据第一操作模式位向量的长度对用户a对应的位向量进行转换,可以得到第一子位向量:110、100、001、011、110、101、011、111、110和100,接着将第一操作模式位向量分别与各第一子位向量进行相似性判断,能够获取子相似度,依次为:3、2、0、1、3、1、1、2、3、2。
在步骤S704中,根据各第一子位向量的排序和子相似度确定序列位向量,并获取所述序列位向量的重复周期。
在本公开的一个实施例中,根据与各第一子位向量对应的子相似度可以确定一序列位向量,在形成序列位向量的过程中,只有相似度为3时才说明第一子位向量与第一操作模式位向量完全相同,相似度为0、1、2时,说明第一子位向量与第一操作模式位向量不同,当第一子位向量与第一操作模式位向量完全相同时,序列位向量中的对应位置为1,当第一子位向量与第一操作模式位向量不相同时,序列位向量中的对应位置为0。以步骤S703中的例子为例,由子相似度组成的序列位向量为1000100010,该序列位向量的前八位为10001000,为1000的循环,说明第一操作模式是以4小时为周期重复出现的。
在步骤S705中,当重复周期与第一操作模式周期相同时,判定第五用户标识对应的用户的操作行为在第四时间区间内具有周期性。
在本公开的一个实施例中,用户a在时间区间[0,12)内的操作是以4小时为周期重复出现的,给定的第一操作模式周期也为4,说明用户a的操作在时间区间[0,12)内是具有周期性的。进一步地,可以确定周期性的开始时间是第0小时,结束时间是第10小时。
针对任务(5),异常操作是指用户操作行为上出现了不同于往常的操作,快速检测异常可以帮助***快速发现异常的操作,确定该操作是否为用户本人操作,如果不是用户本人操作,可以及时采取措施减少用户损失。本公开实施例中的异常判断建立在周期性判断的基础上,即用户之前的操作存在周期性,当出现不满足周期性特点的操作时,即将其定义为异常操作。
图8示出了基于位向量进行异常操作判断的流程示意图,如图8所示,该流程至少包括步骤S801-S805,具体地:
在步骤S801中,获取第六用户标识、第二操作模式位向量、异常阈值和第五时间区间。
在本公开的一个实施例中,为了确定用户的操作是否存在异常,首先需要根据用户标识获取与该用户标识对应的位向量,接着根据该位向量判断用户的操作是否存在周期性,然后在用户操作具有周期性的基础上判断用户操作是否存在异常,最后将结果返回。为便于理解,将本步骤中获取的用户标识记为第六用户标识,操作模式位向量记为第二操作模式位向量,时间区间记为第五时间区间,同时获取判断异常操作的异常阈值。
在步骤S802中,根据第六用户标识和第五时间区间从位向量表中获取与第六用户标识对应的第六目标位向量,其中第六用户标识对应的用户的操作具有周期性。
在本公开的一个实施例中,通过将第六用户标识与位向量表中的用户标识进行匹配,以获取与第六用户标识对应的位于第五时间区间内的第六目标位向量。获取第六目标位向量后,可以根据图7所示的步骤S703-S704对第六目标位向量进行处理,并根据处理结果判断第六用户标识对应的用户的操作在第五时间区间内是否存在周期性。只有在用户操作存在周期性的基础上,才能判断用户操作中是否存在异常操作,对于不存在周期性的用户操作,很难从中确定是否存在异常操作。
在步骤S803中,根据第二操作模式位向量的位数将第六目标位向量切分为多个第二子位向量。
在本公开的一个实施例中,为了判断用户操作中的哪个操作不符合周期性,并确定用户操作存在异常,需要根据第二操作模式位向量的位数将第六目标位向量切分为多个第二子位向量,以用户a在时间区间[0,12)内的操作对应的位向量110011011100为例,给定第二操作模式位向量为1100,那么可以将用户a对应的位向量分为多个第二子位向量,分别为:1100、1101和1100。
在步骤S804中,将第二操作模式位向量中各位的数据与各第二子位向量对应位的数据分别进行比对,以获取异常计数。
在本公开的一个实施例中,以用户e在时间区间[0,12)内的操作对应的位向量为例,给定的第二操作模式位向量BM=0100,异常阈值β=2。首先对用户e的操作是否具有周期性进行判断,根据步骤S703-S704计算可知,用户e的操作在第0小时至第8小时具有周期性,第二操作模式是以4小时为周期重复,从/>也可以看出操作在第0小时至第8小时具有周期性,证明在前两个第二子位向量0100中不存在异常,因此需要对第三个第二子位向量1111进行分析,判断是否存在异常。在判断时,将第二操作模式位向量中各位的数据与第二子位向量对应位的数据分别进行比对,具体地,对于第三个第二子位向量,其第一位为1,而第二操作模式位向量的第一位为0,二者不同,因此异常计数置为1;第二子位向量第二位为1,第二操作模式位向量的第二位为1,二者相同,因此异常计数仍为1;第二子位向量第三位为1,第二操作模式位向量的第三位为0,二者不同,因此异常计数置为2;第二子位向量第四位为1,第二操作模式位向量的第四位为0,二者不同,因此异常计数置为3。
在步骤S805中,当异常计数大于或等于异常阈值时,判定第六用户标识对应的用户的操作行为在第五时间区间内存在异常。
在本公开的一个实施例中,以步骤S804的例子为例,异常计数为3,异常阈值为2,异常计数大于异常阈值,说明第六用户标识对应的用户的操作行为在第五时间区间内存在异常。在判定用户的操作行为出现异常时,可以向***发出警告,使***采取相应措施,比如冻结用户的账户等,避免对用户财产造成损失。
在本公开的一个实施例中,本公开实施例公开的数据处理方法可以用于多个领域,例如医疗领域、金融领域、服务领域等等。以电子钱包的使用为例,用户在网购时会使用电子钱包进行支付,当电子钱包中的钱用完时会对电子钱包进行充值,用户对电子钱包的每一次充值或者消费都属于用户操作行为,在用户进行操作的时候,***会将用户操作数据存储到用户操作数据表中,比如A用户在2019年10月1日17:00进行了一笔交易,购买了一套价值800元的护肤品,那么***会将A用户的消费行为、消费金额、消费时间等信息记录到用户操作数据表中,当用户操作数据表中的数据发生变化时,触发器触发对新数据的映射,以更新与用户操作数据表关联的位向量表。位向量表中记录有用户标识和与用户标识对应的位向量,位向量中的每一位记录了用户在对应时间区间是否进行了操作。根据该位向量表,用户分析部门可以从中获取目标用户的位向量,通过对目标用户的位向量进行分析可以获取目标用户在某一时间区间内的操作次数;还可以对目标用户和其他用户的位向量进行分析,判断是否存在操作行为与目标用户的操作行为相似的用户,以对用户进行聚类,并进一步研究每一类用户的操作行为,例如同类用户的操作是否存在相互影响关系;另外还可以基于位向量表进行数据挖掘,例如通过对目标用户的位向量进行分析,判断目标用户在某一时间区间的操作行为是否存在周期性,在存在周期性的基础上,还可以判断目标用户的操作行为是否存在异常,在判定存在异常时,可以及时发出警告,通过***控制目标用户的电子钱包的使用,避免不必要的损失。
在本公开的一个实施例中,由于位向量为0和1组成的二进制序列,其中0的占比较大,因此可以对位向量进行压缩,提高存储空间的利用率。在本公开的实施例中,采用σ表示压缩后的位向量,其中p个位为一组,p的具体大小可以由用户根据位向量中0的数量进行设置,来控制压缩效果,例如可以将p设置为8、16、32等等,为了便于理解,下文将以p=8为例进行说明。当p=8时,压缩向量的一个组为包含8个位的位向量,其中第一位为标志位,即指示该组后面的7个位所表达的意义,若第一位为1,表示后面的7位表示是没有经过压缩的位向量;若第一位为0,表示后面的7位是用来进行计数,记录压缩的连续的0的数目,例如压缩位向量1000100中,第一位为1,表面后面的7位000100为没有经过压缩的位向量;压缩位向量0000100中,第一位为0,表面后面的7位000100为压缩的连续的0的数量,共计4个0。
举例说明本公开实施例中压缩位向量的过程,存在一位向量B[0,51)=001001000000000000000000000000000000000000001100011,其中前7位中存在1,因此压缩向量σ的第一组的第一位为1,表示没有压缩,剩下的7位与B[0,7)相同,即σ的第一组为10010010;接下来的第8位至第43位全部为0,因此σ的第二组的第一位为0,剩下的7位用来记录压缩的0的个数,B[7,44)中0的数量为37,表示为二进制为100101,转换为7位二进制为0100101,那么σ的第二组为00100101;最后的第44位至第50位存在1,所以σ的第三组的第一位为1,剩下的7位与B[44,51)相同,即σ的第三组为11100011,即将B[0,51)压缩所形成的压缩向量为100100100010010111100011。
通过分析可知,压缩前的位向量为51位,压缩后的位向量为24,压缩比为24/51=0.47。压缩比和两个方面有关,位向量中的连续的0的数目和压缩位向量中设置的组大小,其中位向量中的连续的0的数目和用户的操作有关,这个并不受人为控制,而组大小可以根据数据进行调整,以提供较好的压缩效果,如发现数据中连续的0的数目比较多,可以将p设为较大的值,如p=64,来使用一个组表示更多的连续的0,提高压缩效果。
在本公开的一个实施例中,当需要在压缩位向量上进行操作时,可以先从数据库中将压缩位向量读取出来,然后进行解压,进而得到相应的位向量,并基于位向量进行数据处理。图9示出了对压缩位向量进行解压的流程示意图,如图9所示,在步骤S901中,获取压缩向量和待处理位向量对应的查询区间,该查询区间包括起始位数和终止位数;在步骤S902中,根据压缩位向量的位数将压缩向量切分为多个压缩位向量,依次对压缩位向量进行解压,以获取位数大于起始位数的解压位向量;在步骤S903中,将解压位向量中位数大于起始位数的向量值作为待处理位向量中的向量值;在步骤S904中,若向量值的数量小于终止位数与起始位数的差值,则对解压位向量相邻的压缩位向量进行解压,以获取待处理位向量中剩余位的向量值。下面通过实例对图9所示的解压过程进行说明,例如给定待处理位向量的查询区间为第40小时到第50小时,即在时间粒度为1小时的条件下,起始位数为40,终止位数为50,同时获取压缩向量B[0,51);接着可以根据预设的组大小对压缩向量进行扫描,将压缩向量切分为多个压缩位向量,例如预设的组大小为8位,即压缩位向量的长度为8,那么可以将压缩向量切分为多个长度为8的压缩位向量;然后依次对各个压缩位向量进行解压,例如第一组压缩位向量为10010010,其第一位为1,说明其后的七位没有进行压缩,所以第一组存储了待处理位向量的前7位,由于7小于起始位数40,所以第一组压缩位向量不包含B[40,51)中的位;第二组压缩位向量为00100101,其第一位为0,说明其后的七位为压缩的连续的0的数量,共计37个0,第一组中的七位与第二组包含的0的数量共计44位,大于起始位数40,说明第二组压缩位向量包含B[40,51)中的前四位,具体为0000;由于B[40,51)中包含十一位,因此还需要继续对第三组压缩位向量进行解压,第三组压缩位向量为11100011,其第一位为1,表示没有进行压缩,所以可以直接读取后面的7位作为B[40,51)的后七位,最终得到B[40,51)=00001100011。值得注意的是,如果压缩向量后还有其它压缩位向量,可以直接忽略,因为已经得到B[40,51)的值。
本公开实施例通过将用户操作数据映射为对应时间的位向量,可以实现用户操作相关的查询,如上述实施例中提到的任务和目标结果,因为位向量的基本运算和基本操作可以被计算机底层极好的支持,使得数据处理效率提升,能够快速返回结果。在快速查询的基础上,还可以利用位向量进行数据挖掘,如周期性判断和异常操作判断等等。本公开实施例中的数据处理方法,能够提高数据处理效率和准确率,为用户分析部门提供较好的数据支持,也可以作为其它数据查询或数据挖掘工作的预处理过程,提高处理效率。另外,由于位向量中并没有体现具体地时间、地点及操作涉及的具体金额,所以本公开实施例中的数据处理方法可以很好地保护用户的隐私,避免用户隐私的泄露。进一步地,在存储时可以对位向量进行压缩存储,进而可以节省大量的存储空间,避免了位向量较大导致的存储空间不足、数据处理效率降低的问题。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的数据处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的数据处理方法的实施例。
图10示意性示出了根据本公开的一个实施例的数据处理装置的框图。
参照图10所示,根据本公开的一个实施例的数据处理装置1000,包括:获取模块1001和运算模块1002。
其中,表获取模块1001,用于响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述标识信息与所述用户标识相对应;运算模块1002,用于根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息。
在本公开的一个实施例中,所述位向量包括各时间粒度内的用户操作信息。
在本公开的一个实施例中,所述运算模块1002配置为:获取第一用户标识和第一时间区间,根据所述第一用户标识和所述第一时间区间从所述位向量表中获取与所述第一用户标识对应的第一目标位向量;对所述第一目标位向量进行统计,以获取所述第一用户标识对应的用户在所述第一时间区间内进行操作的次数。
在本公开的一个实施例中,所述运算模块1002配置为:获取第二用户标识、待比对用户标识和第二时间区间;根据所述第二用户标识、所述待比对用户标识和所述第二时间区间从所述位向量表中获取与所述第二用户标识对应的第二目标位向量和与所述待比对用户标识对应的待比对目标位向量;将所述第二目标位向量与所述待比对目标位向量依次进行异或运算和非运算,以获取比对目标位向量;对所述比对目标位向量进行统计,以获取所述第二用户标识对应的用户和所述比对用户标识对应的用户在所述第二时间区间内的操作相似性。
在本公开的一个实施例中,所述运算模块1002包括:信息获取单元,用于获取第三用户标识、第四用户标识、相似性阈值和第三时间区间;位向量获取单元,用于根据所述第三用户标识、所述第四用户标识和第三时间区间从所述位向量表中获取与所述第三用户标识对应的第三目标位向量和与所述第四用户标识对应的第四目标位向量;相似度获取单元,用于对所述第四目标位向量进行移位操作以获取移位目标位向量,并对所述移位目标位向量和所述第三目标位向量进行相似性判断,以获取相似度;比较单元,用于将所述相似度与所述相似性阈值进行比较,并根据比较结果判断在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作是否存在影响。
在本公开的一个实施例中,所述相似度获取单元配置为:按照移位单元将所述第四目标位向量向左移位,以获取所述移位目标位向量;将所述第三目标位向量和所述移位目标位向量依次进行异或运算和非运算,以获取相似性目标位向量;对所述相似性目标位向量进行统计,以获取所述相似度。
在本公开的一个实施例中,所述比较单元配置为:当所述相似度大于或等于所述相似性阈值时,判定在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作存在影响;当所述相似度小于所述相似性阈值时,重复执行上述实施例所述的方法,直至所述第四目标位向量向左移位的位数达到移位阈值。
在本公开的一个实施例中,所述运算模块1002配置为:获取第五用户标识、第一操作模式位向量、第一操作模式周期和第四时间区间;根据所述第五用户标识和所述第四时间区间从所述位向量表中获取与所述第五用户标识对应的第五目标位向量;根据所述第一操作模式位向量的位数将所述第五目标位向量转换为多个依序排列的第一子位向量,分别对所述第一操作模式位向量和各所述第一子位向量进行相似性判断,以获取子相似度;根据各所述第一子位向量的排序和所述子相似度确定序列位向量,并获取所述序列位向量的重复周期;当所述重复周期与所述第一操作模式周期相同时,判定所述第五用户标识对应的用户的操作行为在所述第四时间区间内具有周期性。
在本公开的一个实施例中,所述运算模块1002配置为:获取第六用户标识、第二操作模式位向量、异常阈值和第五时间区间;根据所述第六用户标识和所述第五时间区间从所述位向量表中获取与所述第六用户标识对应的第六目标位向量,其中所述第六用户标识对应的用户的操作具有周期性;根据所述第二操作模式位向量的位数将所述第六目标位向量切分为多个第二子位向量;将所述第二操作模式位向量中各位的数据与各所述第二子位向量对应位的数据分别进行比对,以获取异常计数;当所述异常计数大于或等于所述异常阈值时,判定所述第六用户标识对应的用户的操作行为在所述第五时间区间内存在异常。
在本公开的一个实施例中,所述数据处理装置1000还包括:位向量表生成模块,用于根据所述用户的操作数据生成用户操作数据表,并根据所述用户操作数据表生成与所述用户操作数据表关联的位向量表,所述用户包括目标用户;位向量表更新模块,用于在监听到所述用户操作数据表中的用户操作数据发生变化时,对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量。
在本公开的一个实施例中,所述用户操作数据表中设置有触发器;所述位向量表更新模块配置为:监听所述用户操作数据表;在所述用户操作数据表中的数据发生变化时,通过所述触发器触发对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量。
在本公开的一个实施例中,所述位向量表更新模块配置为:从所述用户操作数据表中确定发生变化的用户操作数据所对应的目标用户标识;根据所述目标用户标识从所述位向量表中获取与所述目标用户标识对应的第一位向量,并将变化后的用户操作数据映射以得到第二位向量;将所述第一位向量和所述第二位向量进行或操作,以获取第三位向量;将所述第一位向量替换为所述第三位向量,以对所述位向量表中的位向量进行更新。
在本公开的一个实施例中,所述位向量为压缩位向量,所述压缩位向量的第一位为标志位,当所述标志位为1时,所述第一位之后的剩余位为没有压缩的位向量;当所述标志位为0时,所述第一位之后的剩余位为被压缩的连续的0的数量。
在本公开的一个实施例中,所述数据处理装置1000还包括:获取模块,用于获取压缩向量和待处理位向量对应的查询区间,所述查询区间包括起始位数和终止位数;解压模块,用于根据所述压缩位向量的位数将所述压缩向量切分为多个压缩位向量,依次对所述压缩位向量进行解压,以获取位数大于所述起始位数的解压位向量;截位模块,用于将所述解压位向量中位数大于所述起始位数的向量值作为所述待处理位向量中的向量值;补位模块,用于在所述向量值的数量小于所述终止位数与所述起始位数的差值,则对所述解压位向量相邻的压缩位向量进行解压,以获取所述待处理位向量中剩余位的向量值。
图11示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
需要说明的是,图11示出的电子设备的计算机***1100仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,计算机***1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理,实现上述实施例中所述的图像标注方法。在RAM 1103中,还存储有***操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input/Output,I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本公开的***中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的图像处理装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述位向量中的每一位为所述目标用户在时间粒度对应的时间段内的用户操作行为,所述标识信息与所述目标用户相对应;
根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息;
其中,所述位向量为压缩位向量,所述压缩位向量包括多组位向量,每组位向量中位的数量相同,每组位向量中位的数量与所述位向量中连续的0的数目呈正比,针对每组位向量,第一位为标志位,当所述标志位为1时,所述第一位之后的剩余位为没有压缩的位向量,当所述标志位为0时,所述第一位之后的剩余位为被压缩的连续的0的数量;
所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,包括:
获取所述标识信息对应的压缩位向量,以及所述时间信息相匹配的待处理位向量对应的查询区间,所述查询区间包括起始位数和终止位数;
根据所获取到的压缩位向量的位数将所获取到的压缩位向量切分为多个压缩位向量,依次对所述多个压缩位向量进行解压,以获取位数大于所述起始位数的解压位向量;
将所述解压位向量中位数大于所述起始位数的向量值作为所述待处理位向量中的向量值;
若所述向量值的数量小于所述终止位数与所述起始位数的差值,则对所述解压位向量相邻的压缩位向量进行解压,以获取所述待处理位向量中剩余位的向量值。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,通过对所述目标位向量进行逻辑处理以获取目标信息,包括:
获取第一用户标识和第一时间区间,根据所述第一用户标识和所述第一时间区间从所述位向量表中获取与所述第一用户标识对应的第一目标位向量;
对所述第一目标位向量进行统计,以获取所述第一用户标识对应的用户在所述第一时间区间内进行操作的次数。
3.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,通过对所述目标位向量进行逻辑处理以获取目标信息,包括:
获取第二用户标识、待比对用户标识和第二时间区间;
根据所述第二用户标识、所述待比对用户标识和所述第二时间区间从所述位向量表中获取与所述第二用户标识对应的第二目标位向量和与所述待比对用户标识对应的待比对目标位向量;
将所述第二目标位向量与所述待比对目标位向量依次进行异或运算和非运算,以获取比对目标位向量;
对所述比对目标位向量进行统计,以获取所述第二用户标识对应的用户和所述比对用户标识对应的用户在所述第二时间区间内的操作相似性。
4.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,通过对所述目标位向量进行逻辑处理以获取目标信息,包括:
获取第三用户标识、第四用户标识、相似性阈值和第三时间区间;
根据所述第三用户标识、所述第四用户标识和第三时间区间从所述位向量表中获取与所述第三用户标识对应的第三目标位向量和与所述第四用户标识对应的第四目标位向量;
对所述第四目标位向量进行移位操作以获取移位目标位向量,并对所述移位目标位向量和所述第三目标位向量进行相似性判断,以获取相似度;
将所述相似度与所述相似性阈值进行比较,并根据比较结果判断在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作是否存在影响。
5.根据权利要求4所述的数据处理方法,其特征在于,所述对所述第四目标位向量进行移位操作以获取移位目标位向量,并对所述移位目标位向量和所述第三目标位向量进行相似性判断,以获取相似度,包括:
按照移位单元将所述第四目标位向量向左移位,以获取所述移位目标位向量;
将所述第三目标位向量和所述移位目标位向量依次进行异或运算和非运算,以获取相似性目标位向量;
对所述相似性目标位向量进行统计,以获取所述相似度。
6.根据权利要求5所述的数据处理方法,其特征在于,所述将所述相似度与相似性阈值进行比较,并根据比较结果判断在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作是否存在影响,包括:
当所述相似度大于或等于所述相似性阈值时,判定在所述第三时间区间内所述第三用户标识对应的用户的操作对所述第四用户标识对应的用户的操作存在影响;
当所述相似度小于所述相似性阈值时,重复执行权利要求5所述的方法,直至所述第四目标位向量向左移位的位数达到移位阈值。
7.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,通过对所述目标位向量进行逻辑处理以获取目标信息,包括:
获取第五用户标识、第一操作模式位向量、第一操作模式周期和第四时间区间;
根据所述第五用户标识和所述第四时间区间从所述位向量表中获取与所述第五用户标识对应的第五目标位向量;
根据所述第一操作模式位向量的位数将所述第五目标位向量转换为多个依序排列的第一子位向量,分别对所述第一操作模式位向量和各所述第一子位向量进行相似性判断,以获取子相似度;
根据各所述第一子位向量的排序和所述子相似度确定序列位向量,并获取所述序列位向量的重复周期;
当所述重复周期与所述第一操作模式周期相同时,判定所述第五用户标识对应的用户的操作行为在所述第四时间区间内具有周期性。
8.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,通过对所述目标位向量进行逻辑处理以获取目标信息,包括:
获取第六用户标识、第二操作模式位向量、异常阈值和第五时间区间;
根据所述第六用户标识和所述第五时间区间从所述位向量表中获取与所述第六用户标识对应的第六目标位向量,其中所述第六用户标识对应的用户的操作具有周期性;
根据所述第二操作模式位向量的位数将所述第六目标位向量切分为多个第二子位向量;
将所述第二操作模式位向量中各位的数据与各所述第二子位向量对应位的数据分别进行比对,以获取异常计数;
当所述异常计数大于或等于所述异常阈值时,判定所述第六用户标识对应的用户的操作行为在所述第五时间区间内存在异常。
9.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
根据用户的操作数据生成用户操作数据表,并根据所述用户操作数据表生成与所述用户操作数据表关联的位向量表,所述用户包括目标用户;
在监听到所述用户操作数据表中的用户操作数据发生变化时,对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量。
10.根据权利要求9所述的数据处理方法,其特征在于,所述用户操作数据表中设置有触发器;
所述在监听到所述用户操作数据表中的用户操作数据发生变化时,对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量,包括:
监听所述用户操作数据表;
在所述用户操作数据表中的数据发生变化时,通过所述触发器触发对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量。
11.根据权利要求9所述的数据处理方法,其特征在于,所述在监听到所述用户操作数据表中的用户操作数据发生变化时,对变化后的用户操作数据进行映射,以更新所述位向量表中的位向量,包括:
从所述用户操作数据表中确定发生变化的用户操作数据所对应的目标用户标识;
根据所述目标用户标识从所述位向量表中获取与所述目标用户标识对应的第一位向量,并将变化后的用户操作数据映射以得到第二位向量;
将所述第一位向量和所述第二位向量进行或操作,以获取第三位向量;
将所述第一位向量替换为所述第三位向量,以对所述位向量表中的位向量进行更新。
12.一种数据处理装置,其特征在于,包括:
获取模块,用于响应于查询请求,获取与目标用户的操作数据相关的位向量表;其中所述查询请求包括标识信息和时间信息,所述位向量表包括用户标识和与所述用户标识对应的位向量,所述位向量中的每一位为所述目标用户在时间粒度对应的时间段内的用户操作行为,所述标识信息与所述目标用户相对应;
运算模块,用于根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,对所述目标位向量进行逻辑处理以获取目标信息;
其中,所述位向量为压缩位向量,所述压缩位向量包括多组位向量,每组位向量中位的数量相同,每组位向量中位的数量与所述位向量中连续的0的数目呈正比,针对每组位向量,第一位为标志位,当所述标志位为1时,所述第一位之后的剩余位为没有压缩的位向量,当所述标志位为0时,所述第一位之后的剩余位为被压缩的连续的0的数量;
所述根据所述标识信息和所述时间信息从所述位向量表中获取目标位向量,包括:
获取所述标识信息对应的压缩位向量,以及所述时间信息相匹配的待处理位向量对应的查询区间,所述查询区间包括起始位数和终止位数;
根据所获取到的压缩位向量的位数将所获取到的压缩位向量切分为多个压缩位向量,依次对所述多个压缩位向量进行解压,以获取位数大于所述起始位数的解压位向量;
将所述解压位向量中位数大于所述起始位数的向量值作为所述待处理位向量中的向量值;
若所述向量值的数量小于所述终止位数与所述起始位数的差值,则对所述解压位向量相邻的压缩位向量进行解压,以获取所述待处理位向量中剩余位的向量值。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至11中任一项所述的数据处理方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911122281.7A CN111159515B (zh) | 2019-11-15 | 2019-11-15 | 数据处理方法、装置及电子设备 |
PCT/CN2020/117623 WO2021093472A1 (zh) | 2019-11-15 | 2020-09-25 | 数据处理方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911122281.7A CN111159515B (zh) | 2019-11-15 | 2019-11-15 | 数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159515A CN111159515A (zh) | 2020-05-15 |
CN111159515B true CN111159515B (zh) | 2024-05-28 |
Family
ID=70555961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911122281.7A Active CN111159515B (zh) | 2019-11-15 | 2019-11-15 | 数据处理方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111159515B (zh) |
WO (1) | WO2021093472A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159515B (zh) * | 2019-11-15 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及电子设备 |
CN111724148B (zh) * | 2020-06-22 | 2024-03-22 | 深圳前海微众银行股份有限公司 | 一种基于区块链***的交易广播方法及节点 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559274A (zh) * | 2013-11-05 | 2014-02-05 | 中国联合网络通信集团有限公司 | 车况信息查询方法和装置 |
CN104011673A (zh) * | 2011-12-30 | 2014-08-27 | 英特尔公司 | 向量频率压缩指令 |
CN104765790A (zh) * | 2015-03-24 | 2015-07-08 | 北京大学 | 一种数据查询的方法和装置 |
CN107545021A (zh) * | 2017-05-10 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种数据存储方法及装置 |
CN107851108A (zh) * | 2015-06-23 | 2018-03-27 | 微软技术许可有限责任公司 | 使用位向量搜索索引的匹配文档 |
CN108829572A (zh) * | 2018-05-30 | 2018-11-16 | 北京奇虎科技有限公司 | 用户登录行为的分析方法及装置 |
CN109657890A (zh) * | 2018-09-14 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种转账欺诈的风险确定方法及装置 |
CN109687991A (zh) * | 2018-09-07 | 2019-04-26 | 平安科技(深圳)有限公司 | 用户行为识别方法、装置、设备及存储介质 |
CN110019331A (zh) * | 2017-09-08 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种基于结构化查询语言的查询数据库的方法和装置 |
CN110111167A (zh) * | 2018-02-01 | 2019-08-09 | 北京京东尚科信息技术有限公司 | 一种确定推荐对象的方法和装置 |
CN110223093A (zh) * | 2018-03-02 | 2019-09-10 | 北京京东尚科信息技术有限公司 | 一种商品推介的方法和装置 |
CN110365748A (zh) * | 2019-06-24 | 2019-10-22 | 深圳市腾讯计算机***有限公司 | 业务数据的处理方法和装置、存储介质及电子装置 |
CN110362700A (zh) * | 2019-06-17 | 2019-10-22 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9002903B2 (en) * | 2013-03-15 | 2015-04-07 | Wisconsin Alumni Research Foundation | Database system with data organization providing improved bit parallel processing |
CN105373614B (zh) * | 2015-11-24 | 2018-09-28 | 中国科学院深圳先进技术研究院 | 一种基于用户账号的子用户识别方法及*** |
US10425353B1 (en) * | 2017-01-27 | 2019-09-24 | Triangle Ip, Inc. | Machine learning temporal allocator |
CN108989383B (zh) * | 2018-05-31 | 2021-08-27 | 创新先进技术有限公司 | 数据处理方法和客户端 |
CN111159515B (zh) * | 2019-11-15 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及电子设备 |
-
2019
- 2019-11-15 CN CN201911122281.7A patent/CN111159515B/zh active Active
-
2020
- 2020-09-25 WO PCT/CN2020/117623 patent/WO2021093472A1/zh active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011673A (zh) * | 2011-12-30 | 2014-08-27 | 英特尔公司 | 向量频率压缩指令 |
CN103559274A (zh) * | 2013-11-05 | 2014-02-05 | 中国联合网络通信集团有限公司 | 车况信息查询方法和装置 |
CN104765790A (zh) * | 2015-03-24 | 2015-07-08 | 北京大学 | 一种数据查询的方法和装置 |
CN107851108A (zh) * | 2015-06-23 | 2018-03-27 | 微软技术许可有限责任公司 | 使用位向量搜索索引的匹配文档 |
CN107545021A (zh) * | 2017-05-10 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种数据存储方法及装置 |
CN110019331A (zh) * | 2017-09-08 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种基于结构化查询语言的查询数据库的方法和装置 |
CN110111167A (zh) * | 2018-02-01 | 2019-08-09 | 北京京东尚科信息技术有限公司 | 一种确定推荐对象的方法和装置 |
CN110223093A (zh) * | 2018-03-02 | 2019-09-10 | 北京京东尚科信息技术有限公司 | 一种商品推介的方法和装置 |
CN108829572A (zh) * | 2018-05-30 | 2018-11-16 | 北京奇虎科技有限公司 | 用户登录行为的分析方法及装置 |
CN109687991A (zh) * | 2018-09-07 | 2019-04-26 | 平安科技(深圳)有限公司 | 用户行为识别方法、装置、设备及存储介质 |
CN109657890A (zh) * | 2018-09-14 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 一种转账欺诈的风险确定方法及装置 |
CN110362700A (zh) * | 2019-06-17 | 2019-10-22 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN110365748A (zh) * | 2019-06-24 | 2019-10-22 | 深圳市腾讯计算机***有限公司 | 业务数据的处理方法和装置、存储介质及电子装置 |
Non-Patent Citations (1)
Title |
---|
宋焕章等.《计算机原理与设计(上册)中央处理机[M]》.国防科技大学出版社,2000,(第第1版版),第51页-第53页. * |
Also Published As
Publication number | Publication date |
---|---|
WO2021093472A1 (zh) | 2021-05-20 |
CN111159515A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200202449A1 (en) | Risk identification model building and risk identification | |
CN112148987B (zh) | 基于目标对象活跃度的消息推送方法及相关设备 | |
CN115526363A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN111666304B (zh) | 数据处理装置、数据处理方法、存储介质与电子设备 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
US10255300B1 (en) | Automatically extracting profile feature attribute data from event data | |
CN116823409B (zh) | 一种基于目标搜索数据的智能筛选方法及*** | |
CN111159515B (zh) | 数据处理方法、装置及电子设备 | |
CN114817651B (zh) | 数据存储方法、数据查询方法、装置和设备 | |
CN115935185A (zh) | 一种推荐模型的训练方法及装置 | |
CN112287111B (zh) | 一种文本处理方法和相关装置 | |
CN117390011A (zh) | 报表数据处理方法、装置、计算机设备和存储介质 | |
CN111325614A (zh) | 电子对象的推荐方法、装置和电子设备 | |
AU2018214157A1 (en) | A novel multiclass architecture for experience targeting using bayesian approach | |
CN112632384B (zh) | 针对应用程序的数据处理方法、装置、电子设备和介质 | |
CN114925275A (zh) | 产品推荐方法、装置、计算机设备及存储介质 | |
EP4113313A1 (en) | Control method, information processing device, and control program | |
CN112561412B (zh) | 目标对象标识的确定方法、装置、服务器及存储介质 | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN113722593A (zh) | 事件数据处理方法、装置、电子设备和介质 | |
CN113946755A (zh) | 基于关联规则的信息推送方法、装置、设备及存储介质 | |
CN111125362A (zh) | 一种异常文本确定方法、装置、电子设备和介质 | |
CN114820073A (zh) | 运营策略的推送方法、装置、电子设备和存储介质 | |
CN117539948A (zh) | 基于深度神经网络的业务数据检索方法及装置 | |
CN113641479A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |