CN110471614B - 一种存储数据的方法、检测终端的方法及装置 - Google Patents

一种存储数据的方法、检测终端的方法及装置 Download PDF

Info

Publication number
CN110471614B
CN110471614B CN201810439642.XA CN201810439642A CN110471614B CN 110471614 B CN110471614 B CN 110471614B CN 201810439642 A CN201810439642 A CN 201810439642A CN 110471614 B CN110471614 B CN 110471614B
Authority
CN
China
Prior art keywords
terminal
data
track data
track
address
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
Application number
CN201810439642.XA
Other languages
English (en)
Other versions
CN110471614A (zh
Inventor
张威
胡健超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810439642.XA priority Critical patent/CN110471614B/zh
Publication of CN110471614A publication Critical patent/CN110471614A/zh
Application granted granted Critical
Publication of CN110471614B publication Critical patent/CN110471614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请是关于一种存储数据的方法、检测终端的方法及装置,属于通信领域。所述方法包括:获取最近N天内被探测出的各终端的第一轨迹数据,终端的第一轨迹数据至少包括所述终端的第一地址、探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间,N为大于或等于1的整数;对所述各终端的第一轨迹数据的格式进行转换,得到所述各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量;存储所述各终端的第二轨迹数据。所述装置包括:获取模块、转换模块和存储模块。本申请能够节省存储空间。

Description

一种存储数据的方法、检测终端的方法及装置
技术领域
本申请涉及通信领域,特别涉及一种存储数据的方法、检测终端的方法及装置。
背景技术
为了建立平安社会,目前可以在各地布置探针,该探针可以对其周围用户随身携带的手机等终端进行探测。探针在探到其周围出现的终端时会采集一条wifi(无线保真)数据,该wifi数据至少包括该终端的地址信息、该探针的地址信息和采集时间、然后将该wifi数据发送给服务端。
服务端可以接收布置在各地探针发送的wifi数据,并存储该wifi数据。服务端存储的wifi数据可以应用于安防领域等。其中在安防领域中可以帮助公安人员查找犯罪嫌疑人,例如,假设需要查找在某段时间内犯罪嫌疑人是否在某个区域出现过,则可以确定位于该区域内的探针的地址信息;从服务端查找包括确定的探针的地址信息且采集时间位于该段时间内的wifi数据,显示获取的wifi数据,这样公安人员可以通过查看获取的wifi数据中包括的终端的地址信息,以确定犯罪嫌疑人是否在该段时间内在该区域出现。
发明人在实现本申请的过程中,发现上述方式至少存在如下缺陷:
目前探针采集的wifi数据的数据量都较大,另外,在各地都布置探针,这样需要在服务端设置大量的存储空间来存储wifi数据。
发明内容
为了节省存储空间,本申请实施例提供了一种存储数据的方法、检测终端的方法及装置。所述技术方案如下:
根据本申请实施例的第一方面,提供一种存储数据的方法,所述方法包括:
获取最近N天内被探测出的各终端的第一轨迹数据,终端的第一轨迹数据至少包括所述终端的第一地址、探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间,N为大于或等于1的整数;
对所述各终端的第一轨迹数据的格式进行转换,得到所述各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量;
存储所述各终端的第二轨迹数据。
可选的,所述获取最近N天内被探测出的各终端的第一轨迹数据,包括:
获取至少一个探测设备中的每个探测设备在最近N天内探测出的各终端的第一数据,探测设备探测出的终端的第一数据至少包括所述终端的第一地址、所述探测设备的第二地址和所述探测设备探测出所述终端的第一探测时间;
将第i天内探测出的各终端的第一数据划分成M个数据集合,i=1、2……N,M为大于1的整数,且同一终端的第一数据被划分到同一数据集合;
将第j个数据集合中的同一终端的各第一数据聚合成所述终端的第一轨迹数据,j=1、2……M。
可选的,所述将第i天内探测出的各终端的第一数据划分成M个数据集合,包括:
计算目标终端的第一数据包括的第一地址的哈希值,所述目标终端为第i天内被探测出的任一终端;
计算所述哈希值对M的余数,根据所述余数将所述目标终端的第一数据划分到一个数据集合中。
可选的,所述对所述各终端的第一轨迹数据的格式进行转换,包括:
将目标终端的第一轨迹数据包括的字符类型的第一地址转换为数据类型的第三地址,所述目标终端为被探测出的任一终端;
将所述目标终端的第一轨迹数据包括的字符类型的设备地址转换为数据类型的设备编号;
将所述目标终端的第一轨迹数据包括的日期类型的第一探测时间转换为数据类型的第二探测时间。
可选的,所述存储转换后得到的每条第二数据,包括:
将所述第j个数据集合中的各终端的第二轨迹数据存储在文件中,将所述第i天对应的日期设置为所述文件对应的日期;
将所述文件存储在分布式文件系统HDFS中。
根据本申请实施例的第二方面,提供一种检测终端的方法,所述方法包括:
获取任务信息,所述任务信息包括任务开始时间、任务结束时间和任务区域;
获取位于所述任务开始时间对应的第一日期到所述任务结束时间对应的第二日期内的各终端的第二轨迹数据,所述终端的第二轨迹数据是通过对所述终端的第一轨迹数据进行格式转换后得到的,所述终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量,所述终端的第一轨迹数据包括所述终端的第一地址,在所述第一日期至所述第二日期的时间段内探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间;
根据所述各终端的第二轨迹数据,确定出现在所述任务区域内的终端。
可选的,所述根据所述各终端的第二轨迹数据,确定出现在所述任务区域内的终端,包括:
对同一终端的第二轨迹数据进行聚合,得到所述终端的运动轨迹,所述运动轨迹为按探测到所述终端的时间排序后的各探测量设备的设备编号序列;
获取所述任务区域的内各目标探测设备的目标设备编号;
获取目标运动轨迹,在所述目标运动轨迹中位于所述任务开始时间和所述任务结束时间之间的设备编号中包括至少一个目标设备编号,将所述目标运动轨迹对应的终端确定为出现在所述任务区域内的终端。
根据本申请实施例的第三方面,提供一种存储数据的装置,所述装置包括:
获取模块,用于获取最近N天内被探测出的各终端的第一轨迹数据,终端的第一轨迹数据至少包括所述终端的第一地址、探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间,N为大于或等于1的整数;
转换模块,用于对所述各终端的第一轨迹数据的格式进行转换,得到所述各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量;
存储模块,用于存储所述各终端的第二轨迹数据。
可选的,所述获取模块包括:
获取单元,用于获取至少一个探测设备中的每个探测设备在最近N天内探测出的各终端的第一数据,探测设备探测出的终端的第一数据至少包括所述终端的第一地址、所述探测设备的第二地址和所述探测设备探测出所述终端的第一探测时间;
划分单元,用于将第i天内探测出的各终端的第一数据划分成M个数据集合,i=1、2……N,M为大于1的整数,且同一终端的第一数据被划分到同一数据集合;
聚合单元,用于将第j个数据集合中的同一终端的各第一数据聚合成所述终端的第一轨迹数据,j=1、2……M。
可选的,所述划分单元,用于:
计算目标终端的第一数据包括的第一地址的哈希值,所述目标终端为第i天内被探测出的任一终端;
计算所述哈希值对M的余数,根据所述余数将所述目标终端的第一数据划分到一个数据集合中。
可选的,所述转换模块包括:
第一转换单元,用于将目标终端的第一轨迹数据包括的字符类型的第一地址转换为数据类型的第三地址,所述目标终端为被探测出的任一终端;
第二转换单元,用于将所述目标终端的第一轨迹数据包括的字符类型的设备地址转换为数据类型的设备编号;
第三转换单元,用于将所述目标终端的第一轨迹数据包括的日期类型的第一探测时间转换为数据类型的第二探测时间。
可选的,所述存储模块包括:
第一存储单元,用于将所述第j个数据集合中的各终端的第二轨迹数据存储在文件中,将所述第i天对应的日期设置为所述文件对应的日期;
第二存储单元,用于将所述文件存储在分布式文件系统HDFS中。
根据本申请实施例的第四方面,提供一种检测终端的装置,所述装置包括:
获取模块,用于获取任务信息,所述任务信息包括任务开始时间、任务结束时间和任务区域;获取位于所述任务开始时间对应的第一日期到所述任务结束时间对应的第二日期内的各终端的第二轨迹数据,所述终端的第二轨迹数据是通过对所述终端的第一轨迹数据进行格式转换后得到的,所述终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量,所述终端的第一轨迹数据包括所述终端的第一地址,在所述第一日期至所述第二日期的时间段内探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间;
确定模块,用于根据所述各终端的第二轨迹数据,确定出现在所述任务区域内的终端。
可选的,所述确定模块包括:
聚合单元,用于对同一终端的第二轨迹数据进行聚合,得到所述终端的运动轨迹,所述运动轨迹为按探测到所述终端的时间排序后的各探测量设备的设备编号序列;
获取单元,用于获取所述任务区域的内各目标探测设备的目标设备编号;获取目标运动轨迹,在所述目标运动轨迹中位于所述任务开始时间和所述任务结束时间之间的设备编号中包括至少一个目标设备编号,将所述目标运动轨迹对应的终端确定为出现在所述任务区域内的终端。
根据本申请实施例的第五方面,提供一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器加载并执行,以实现第一方面、第一方面的任一种可选的方法、第二方面或第二方面的任一种可选的方法的指令。
本申请实施例提供的技术方案可以包括以下有益效果:
通过获取探测出的各终端的第一数据,根据各终端的第一数据,聚合出各终端的第一轨迹数据,将各终端的第一轨迹数据转换为数据量较小的第二轨迹数据,然后再存储各终端的第二轨迹数据,从而可以减小存储数据所需要的存储空间,节省了存储空间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的一种网络架构示意图;
图2是本申请实施例提供的一种存储数据的方法流程图;
图3-1是本申请实施例提供的另一种存储数据的方法流程图;
图3-2是本申请实施例提供的一种存储数据流程的示意框图;
图4-1是本申请实施例提供的一种检测终端的方法流程图;
图4-2是本申请实施例提供的另一种检测终端的方法流程图;
图4-3是本申请实施例提供的一种获取数据流程的示意框图;
图4-4是本申请实施例提供的一种运动轨迹的示意图;
图5-1是本申请实施例提供的一种存储数据的装置结构示意图;
图5-2是本申请实施例提供的一种检测终端的装置结构示意图;
图6是本申请实施例提供的一种装置结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
参见图1,本申请实施例提供了一种系统架构,包括:
KAFKA1、HDFS2、服务端3、HBase4和多个探测设备5,该多个探测设备5分别布置在不同地区。服务端3可以为一服务器或由多个服务器组成的服务器集群。
探测设备5可以用于探测其附近出现的终端,得到该终端的第一数据,该第一数据至少包括该终端的第一地址、探测设备5的第二地址和第一探测时间,向KAFKA1发送该终端的第一数据。探测设备5可以探针等设备。
可选的,终端可以为手机等。终端通常会周期地广播wifi探测信号,以探测其附近的wifi接入点,该wifi探测信号包括终端的第一地址。
探测设备5可以接收该wifi探测信号,在接收到该wifi探测信号时确定探测到该终端,获取该wifi探测信号中的第一地址和该探测设备5的第二地址,将当前时间作为第一探测时间,从而得到至少包括该第一地址、该第二地址和该第一探测时间的第一数据,即得到该终端的第一数据。
KFAKF1,用于接收各探测设备5探测到的各终端的第一数据,将第一数据存储在HBase4中。
服务端3,用于从HBase4中获取每个探测设备5在最近N天内探测出的各终端的第一数据;根据各终端的第一数据形成各终端的第一轨迹数据,终端的第一轨迹数据至少包括该终端的第一地址、探测到该终端的各探测设备5的第二地址和各探测设备5探测该终端的第一探测时间;对各终端的第一轨迹数据的格式进行转换,得到各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于其第一轨迹数据的数据量;然后将各终端的第二轨迹数据存储在HDFS2中。
参见图2,本申请实施例提供了一种存储数据的方法,所述方法包括:
步骤201:获取最近N天内被探测出的各终端的第一轨迹数据,该终端的第一轨迹数据至少包括该终端的第一地址、探测该终端的各探测设备的第二地址和各探测设备探测出该终端的第一探测时间,N为大于或等于1的整数。
步骤202:对各终端的第一轨迹数据的格式进行转换,得到各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于该终端的第一轨迹数据的数据量;
步骤203:存储各终端的第二轨迹数据。
在本申请实施例中,通过获取探测出的各终端的第一数据,根据各终端的第一数据,聚合出各终端的第一轨迹数据,将各终端的第一轨迹数据转换为数据量较小的第二轨迹数据,然后再存储各终端的第二轨迹数据,从而可以减小存储数据所需要的存储空间,节省了存储空间。
参见图3-1,本申请实施例提供了一种存储数据的方法,该方法可以应用于图1所示的系统架构中,且该方法的执行主体可以为服务端,包括:
步骤301:获取至少一个探测设备中的每个探测设备在最近N天内探测出的各终端的第一数据,N为大于或等于1的整数。
对于每个探测设备,该探测设备探测出的终端的第一数据至少包括该终端的第一地址、该探测设备的第二地址和该探测设备探测出该终端的第一探测时间。
可选的,终端的第一数据的格式可以为(mac,devNo,collectTime),其中mac为第一地址,devNo为探测设备的第二地址,collectTime为探测设备探测到终端的第一探测时间。
可选的,终端的第一地址可以包括终端的MAC(Media Access Control,介质访问控制)地址和/或IP(Internet Protocol,网络之间互连的协议)地址等,探测设备的第二地址可以包括探测设备的MAC地址和/或IP地址等。该探测设备可以为探针等,该终端可以为手机等移动终端。
该至少一个探测设备布置在各个地区,终端可以不断向其附近广播用于发现wifi接入点的wifi探测信号,该wifi探测信号至少包括该终端的第一地址。
对于每个探测设备,该探测设备可以实时接收出现在其附近的终端广播的wifi探测信号;在接收到某个wifi探测信号时确定探测到广播该wifi探测信号的终端,获取该wifi探测信号中的第一地址和该探测设备的第二地址,将当前时间作为第一探测时间,从而得到至少包括该第一地址、该第二地址和该第一探测时间的第一数据,即得到该终端的第一数据;然后向KAFKA发送该终端的第一数据。
KAFKA可以接收每个探测设备在探测到终端的第一数据时发送终端的第一数据,并将接收的终端的第一数据存储在HBase中。
在本步骤中,可以从HBase中获取每个探测设备在最近N天内探测出的各终端的第一数据。
可选的,在本步骤中,参见图3-2,当服务端启动后第一次获取终端的第一数据时,N可以为大于1的整数,即获取最近大于一天内各探测设备探测出的各终端的第一数据。
当服务端启动之后,N可以等于1,即在第二次可以获取最近一天内各探测设备探测出的各终端的第一数据,或在第二次之后的每次可以获取最近一天内各探测设备探测出的各终端的第一数据。
可选的,可以在每天固定的时间点获取最近一天内各探测设备探测出的各终端的第一数据。例如,固定的时间点可以为晚上10点、11点或12点等。假设固定的时间点为晚上12点,即在每天晚上的10点获取前一天晚上12点到当天晚上12点的一天内各探测设备探测出的各终端的第一数据。
步骤302:将第i天内探测出的各终端的第一数据划分成M个数据集合,i=1、2……N,M为大于1的整数,且同一终端的第一数据被划分到同一数据集合。
由于各终端的第一数据中包括第一探测时间,因此可以根据各终端的第一数据中包括的第一探测时间,将第i天内探测出的各终端的第一数据聚合在一起,这样得到分别在每天内探测出的各终端的第一数据。
本步骤可以通过如下3021至3022的步骤,将每天内探测出的各终端的第一数据划分成M个数据集合,分别为:
3021:计算目标终端的第一数据包括的第一地址的哈希值,该目标终端为第i天内被探测出的任一终端。
目标终端的的第一地址为字符类型的地址,可以将目标终端的第一地址输入到预设的哈希算法中,通过该哈希算法计算出目标终端对应的哈希值。
由于目标终端的各第一数据中包括的第一地址相同,所以根据各第一数据包括的第一地址计算出的目标终端对应的哈希值均相同。
3022:根据数值M计算目标终端对应的哈希值的余数x,根据该余数据x将目标终端的第一数据划分该M个数据集合中的某个数据集合中。
计算目标终端对应的哈希值的余数x,x=hash%M,其中,hash为目标终端对应的哈希值,%为求余运算,x的取值为0、1、2……M-1中的某个值,然后将目标终端对应的哈希值划分到第x+1个数据集合中。
由于根据目标终端的不同第一数据包括的第一地址计算出的目标终端对应的哈希值均相同,所以在本步骤中可以将目标终端的不同第一数据划分到同一数据集合中。
按上述3021至3022的步骤,将第i天内探测出的每个终端的第一数据划分到不同的数据集合中。
步骤303:对于该M个数据集合中的第j个数据集合,将第j个数据集合中的同一终端的各第一数据聚合成终端的第一轨迹数据,j=1、2……M。
终端的第一轨迹数据至少包括终端的第一地址、探测该终端的各探测设备的第二地址和各探测设备探测出该终端的第一探时间等。
可选的,终端的第一轨迹数据的格式可以为{mac[(devNo,collectTime),(devNo,collectTime)……(devNo,collectTime)]}。
例如,参见下表1,表1所示了第j个数据集合中的某个终端的6条第一数据,该6条第一数据包括的终端的第一地址均为“b0958edb4b45”,将该6条第一数据聚合成终端的第一轨迹数据。该第一轨迹数据包括该终端的第一地址“b0958edb4b45”,探测到该终端的探测设备的第二地址和该探测设备探测到该终端的第一探测时间等。该第一轨迹数据可以反映该终端在第j天内的运动轨迹。
可选的,在实际实现时,该第一轨迹数据可以为{b0958edb4b45,[(14306073X0037F7EEDA1,2018-2-6-1-20-16),(14306073X0037F7EEDA2,2018-2-6-3-15-20),(14306073X0037F7EEDA3,2018-2-6-5-16-27),(14306073X0037F7EEDA4,2018-2-6-8-50-59),(14306073X0037F7EEDA5,2018-2-6-10-45-56),(14306073X0037F7EEDA6,2018-2-6-12-25-30)]}
表1
Figure GDA0001710760130000101
Figure GDA0001710760130000111
步骤304:对于第j个数据集合中的每个终端,将该终端的第一轨迹数据的格式进行转换,得到该终端的第二轨迹数据,终端的第二轨迹数据的数据量小于终端的第一轨迹数据的数据量。
终端的第一轨迹数据中的第一地址为字符类型,在本步骤中可以将字符类型的第一地址转换为数据类型的第三地址,字符类型的第一地址的数据量大于数据类型的第三地址的数据量,该数据类型可以为长整型或整型。其中,字符类型的第一地址的数据量大于长整型的第三地址的数据量,长整型的第三地址的数据量大于整型的第三地址的数据量。
终端的第一轨迹数据中的第二地址也为字符类型,在本步骤中可以将字符类型的第二地址转换为数据类型的设备编号,该数据类型可以为整型。
终端的第一轨迹数据中的第一探测时间为日期类型,在本步骤中可以将日期类型的第一探测时间转换为数据类型的第二探测时间,日期类型的第一探测时间的数据量大于数据类型的第二探测时间的数据量,该数据类型可以为长整型或整型。其中,日期类型的第一探测时间的数据量大于长整型的第二探测时间的数据量,长整型的第二探测时间的数据量大于整型的第二探测时间的数据量。
本步骤可以通过如下3041至3043的步骤来实现,分别为:
3041:将目标终端的第一轨迹数据包括的字符类型的第一地址转换为数据类型的第三地址,目标终端为第j个数据集合中被探测出的任一终端。
字符类型的第一地址是由多个16进制的数值组成,通常第一地址包括偶数个16进制的数值。
在本步骤中,可以将第一地址划分成多个数组,每个数组包括两位16进制的数值,根据每个数组包括的两位16进制的数值,分别计算每个数组对应的数字,该数字为整型,将每个数组对应的数字组成一个数字类型的第三地址。
可选的,对于每个数组,计算该数组对应的数字的操作可以为:将该数组中的第一个16进制的数值与数值16相乘得到乘积值,将该乘积值与该数组中的第二个16进制的数值相加得到该数组对应的数字。
例如,对于第一地址b0958edb4b45,可以将该第一地址划分成六个数组,分别为[b0],[95],[8e],[db],[4b]和[45]。
对于数组[b0],数组[b0]对应的数字176=b×16+0=11×16+0。
对于数组[95],数组[95]对应的数字149=9×16+5。
对于数组[8e],数组[8e]对应的数字142=8×16+e=8×16+14。
对于数组[db],数组[db]对应的数字219=d×16+b=13×16+11。
对于数组[4b],数组[4b]对应的数字075=4×16+b=4×16+11。
对于数组[45],数组[45]对应的数字069=4×16+5。
将数组[b0]对应的数字176,数组[95]对应的数字149,数组[8e]对应的数字142,数组[db]对应的数字219,数组[4b]对应的数字075以及数组[45]对应的数字069组成一个数字类型的第三地址,该第三地址为176149142219075069。
3042:将目标终端的第一轨迹数据包括的字符类型的第二地址转换为数据类型的设备编号。
在不同地区布置的各探测设备是已知的设备,因此可以事先为每个探测设备编号得到每个探测设备的设备编号,该设备编号可以为整型的数字。然后将每个探测设备的第二地址和设备编号存储在第二地址与设备编号的对应关系中。
在本步骤中,可以根据目标终端的第一轨迹数据包括的每个字符类型的第二地址,从第二地址与设备编号的对应关系中获取每个第二地址对应的设备编号。
例如,参见下表2所示的第二地址与设备编号的对应关系,假设目标终端的第一轨迹数据中包括的第二地址,分别为14306073X0037F7EEDA1、14306073X0037F7EEDA2、14306073X0037F7EEDA3、14306073X0037F7EEDA4、14306073X0037F7EEDA5和14306073X0037F7EEDA6。
然后根据14306073X0037F7EEDA1、14306073X0037F7EEDA2、14306073X0037F7EEDA3、14306073X0037F7EEDA4、14306073X0037F7EEDA5和14306073X0037F7EEDA6,分别从如表2所示的第二地址与设备编号的对应有关系中查找出14306073X0037F7EEDA1对应的设备编号为1、14306073X0037F7EEDA2对应的设备编号为2、14306073X0037F7EEDA3对应的设备编号为3、14306073X0037F7EEDA4对应的设备编号为4、14306073X0037F7EEDA5对应的设备编号为5和14306073X0037F7EEDA6对应的设备编号为6。
表2
第二地址(字符类型) 设备编号(整型)
14306073X0037F7EEDA1 1
14306073X0037F7EEDA2 2
14306073X0037F7EEDA3 3
14306073X0037F7EEDA4 4
14306073X0037F7EEDA5 5
14306073X0037F7EEDA6 6
3043:将目标终端的第一轨迹数据包括的日期类型的第一探测时间转换为整型的第二探测时间。
对于目标终端的第一轨迹数据包括的每个日期类型的第一探测时间,使用时间戳转换工具对该第一探测时间进行转换,得到长整型或整型的第一时间,可以直接将该长整型或整型的第一时间作为第二探测时间。这样得到目标终端的第二轨迹数据包括目标终端的第三地址、探测到目标终端的各探测设备的设备编号和各探测设备探测目标终端的第二探测时间。
例如,在步骤303中列举的实例中,终端的第一轨迹数据包括第一探测时间2018-2-6-1-20-16、2018-2-6-3-15-20、2018-2-6-5-16-27、2018-2-6-8-50-59、2018-2-6-10-45-56和2018-2-6-12-25-30。
使用时间戳转换工具分别对该六个第一探测时间进行转换,转换得到第一探测时间2018-2-6-1-20-16对应的长整型或整型的第一时间为1517851267,并可以将第一时间1517851267作为第二探测时间;转换得到第一探测时间2018-2-6-3-15-20对应的长整型或整型的第一时间为1517858120,并可以将第一时间1517858120作为第二探测时间;转换得到第一探测时间2018-2-6-5-16-27对应的长整型或整型的第一时间为1517865387,并可以将第一时间1517865387作为第二探测时间;转换得到第一探测时间2018-2-6-8-50-59对应的长整型或整型的第一时间为1517878259,并可以将第一时间1517878259作为第二探测时间;转换得到第一探测时间2018-2-6-10-45-56对应的长整型或整型的第一时间为1517885156,并可以将第一时间1517885156作为第二探测时间;以及转换得到第一探测时间2018-2-6-12-25-30对应的长整型或整型的第一时间为15157891130,并可以将第一时间15157891130作为第二探测时间。
其中,第一时间中的前三位数字变化幅度较小,如果两个第一探测时间之间的时间差较小,对该两个第一探测时间进行转换后得到两个第一时间,该两个第一时间的前三位数字可能相同。如果两个第一探测时间之间的时间差较大,对该两个第一探测时间进行转换后得到两个第一时间,该两个第一时间的前三位数字可能不同。
例如,对于第一探测时间2018-2-6-1-20-16和2018-2-1-15-3-2,该两个第一探测时间之间的时间差较小,第一探测时间2018-2-6-1-20-16对应的长整型或整型的第一时间为1517851267,第一探测时间2018-2-1-15-3-2对应的长整型或整型的第一时间为1517468582,转换后得到的该两个第一时间的前三位数字均为151。
对于第一探测时间2018-2-6-1-20-16和2017-11-2-10-3-2,该两个第一探测时间之间的时间差较大,第一探测时间2018-2-6-1-20-16对应的长整型或整型的第一时间为1517851267,第一探测时间2017-11-2-10-3-2对应的长整型或整型的第一时间为1509588182,转换后得到的该两个第一时间的前三位数字不同。
可选的,可以预设一个数字集合,该数字集合中包括多个预设数字,且每个预设数字少于三位。可以事先设置每个预设数字对应一个前三位数字。
例如,预设的数字集合中包括五个预设数字,分别为1、2、3、4和5。预设数字1对应前三位数字150,预设数字2对应前三位数字151,预设数字3对应前三位数字152,预设数字4对应前三位数字153,预设数字4对应前三位数字154,以及预设数字5对应前三位数字154。
为了进一步减小第二探测时间的数据量,对于第一探测时间对应的第一时间,可以获取第一时间的前三位数字对应的预设数字,使用该预设数字替换该第一时间的前三位数字得到第二时间,将该第二时间作为第一探测时间对应的第二探测时间。
例如,对于第一探测时间2018-2-6-1-20-16对应的第一时间1517851267,获取前三位数字151对应的预设数字2,使用预设数字2替换第一时间1517851267中的前三位数字151,得到第二时间为27851267,将第二时间27851267作为第二探测时间。
同理得到第一探测时间2018-2-6-3-15-20对应的第二探测时间为27858120,第一探测时间2018-2-6-5-16-27对应的第二探测时间为27865387,第一探测时间2018-2-6-8-50-59对应的第二探测时间为27878259,第一探测时间2018-2-6-10-45-56对应的第二探测时间为27885156,第一探测时间2018-2-6-12-25-30对应的第二探测时间为57891130。
这样得到该终端的第二轨迹数据为{176149142219075069,[(1,27851267),(2,27858120),(3,27865387),(4,27878259),(5,27885156),(6,57891130)]}。
步骤305:将第j个数据集合中的各终端的第二轨迹数据存储在文件中,将第i天对应的日期设置为该文件对应的日期,将该文件存储在HDFS中。
在本申请实施例中,获取最近N天内探测出的各终端的第一数据,根据各终端的第一数据,聚合出第i天内各终端的第一轨迹数据,将各终端的第一轨迹数据转换为数据量较小的第二轨迹数据,然后再存储各终端的第二轨迹数据,从而可以减小存储数据所需要的存储空间。另外,直接存储了终端的第二轨迹数据,由于终端的第二轨迹数据已包括终端的运动轨迹,这样在后续进行碰撞检测时,可以提高碰撞检测的效率。
参见图4-1,本申请实施例提供了一种检测终端的方法,该方法的执行主体可以为图1所示的实施例中的服务端,包括:
步骤410:获取任务信息,该任务信息包括任务开始时间、任务结束时间和任务区域。
步骤420:获取位于该任务开始时间对应的第一日期到该任务结束时间对应的第二日期内的各终端的第二轨迹数据。
其中,终端的第二轨迹数据是通过对终端的第一轨迹数据进行格式转换后得到的,终端的第二轨迹数据的数据量小于终端的第一轨迹数据的数据量,终端的第一轨迹数据包括终端的第一地址,在第一日期至第二日期的时间段内探测终端的各探测设备的第二地址和各探测设备探测出终端的第一探测时间。
步骤430:根据各终端的第二轨迹数据,确定出现在任务区域内的终端。
在本申请实施例中,由于终端的第二轨迹数据是通过对终端的第一轨迹数据进行格式转换得到的,使得第二轨迹数据的数据量小于第一轨迹数据的数据量,这样在存储终端的第二轨迹数据时可以减小所需要的存储空间。由于终端的第二轨迹数据包括终端的运动轨迹,检测终端时可以省去组成运动轨迹的操作,可以提高检测的效率。
参见图4-2,对于图4-1所示的方法,其实现的详细过程可以包括如下流程:
步骤401:获取任务信息,该任务信息包括任务开始时间、任务结束时间和任务区域。
该任务信息可以是用户输入的任务信息。任务开始时间包括第一日期、小时、分钟和秒等部分组成,任务结束时间包括第二日期、小时、分钟和秒等部分组成。
例如,假设任务开始时间为2018-2-1-12-30-29,包括第一日期2018-2-1、12时、30分钟和29秒;以及,任务结束时间为2018-2-6-13-20-23,包括第二日期2018-2-6、13时、20分钟、23秒。
可选的,服务端中包括多个服务器,该服务端中的M个服务器可以获取该任务信息,每个服务器可以生成一个工作标识,将该任务信息对应的任务标识和生成的工作标识对应保存在一个统一的任务标识与工作标识的对应关系中。
可选的,每个服务器在获取到该任务信息后,还可以校验该任务信息的合法性,在校验出合法时执行如下步骤。
步骤402:获取位于该任务开始时间对应的第一日期到该任务结束时间对应的第二日期内的各终端的第二轨迹数据。
其中,服务端的内存中可以保存有最近N天内产生的各终端的第二轨迹数据。且服务端可以在每天的开始将前一天产生的各终端的第二轨迹数据从HDFS中加载到内存中,并从内存中删除最早的一天内产生的各终端的第二轨迹数据。为了便于说明,将该最近N最早的一天的日期称为第三日期,将前一天的日期称为第四日期,即服务器的内存中保存有第三日期至第四日期内产生的各终端的第二轨迹数据,
参见图4-3,服务端的内存包括M个内存空间,分别为内存空间RDD1、RDD2……RDDM;每天的第二轨迹数据分别存储在M个文件中,分别为文件File1、File2……FileM。该M个文件中的每个文件对应一个内存空间,每个文件分别存储在各自对应的内存空间中,即文件File1存储在内存空间RDD1中,文件File2存储在内存空间RDD2中……文件FileM存储在内存空间RDDM中。
在本步骤中,如果第一日期和第二日期位于第三日期至第四日期内,则直接获取位于服务端的该M个内存空间中的各终端的第二轨迹数据。如果第一日期早于第三日期,则从HDFS中获取从第一日期至第三日期的每天对应的M个文件,将每天对应的M个文件中的每个文件分别存储在各自对应的内存空间中。
如果第二日期晚于第四日期,则从KAFKA中获取当天探测到的各终端的第一数据,根据各终端的第一数据获取到各终端的第一轨迹数据,对各终端的第一轨迹数据的格式进行转换,得到各终端的第二轨迹数据,并根据各终端的第一地址将各终端的第二轨迹数据存储在相应的内存空间中。
可选的,对于每个终端,可以对该终端的第一地址进行哈希运算,得到该终端的哈希值,计算该终端的哈希值与M之间的余数x,将该终端的第二轨迹数据存储在第x+1个内存空间中。
其中,需要说明的是,同一终端的第二轨迹数据被存储在同一内存空间中。
步骤403:对同一终端在不同日期内的第二轨迹数据进行聚合,得到该终端的运动轨迹,该终端的运动轨迹为根据各探测设备对应的第一探测时间对各探测设备的设备编号进行排序后的设备编号序列。
对于每个内存空间,在该内存空间中对同一终端的第二轨迹数据进行聚合,得到该终端的运动轨迹。参见图4-4所示的一终端的运动轨迹,该运动轨迹包括各探测设备的设备编号和各探测设备探测该终端的第二探测时间,即该运动轨迹为根据第二探测时间排序后的设备编号序列。
可选的,该M个内存空间中的每个内存空间对应的上述M个服务器中的一个服务器。对于每个服务器,该服务器可以根据其对应的内存空间中存储的数据,执行步骤403、如下步骤404和步骤405的操作。
步骤404:获取该任务区域内的各目标探测设备的目标设备编号。
事先保存有区域与设备编号的对应关系,该对应关系中保存有区域和各区域内的各探测设备的设备编号之间的对应关系。
在本步骤中,可以根据该任务区域,从区域与设备编号的对应关系中获取位于该任务区域内的各目标探测设备的目标设备编号。
步骤405:获取目标运动轨迹,目标运动轨迹中位于任务开始时间和任务结束时间内的设备编号序列中包括至少一个目标设备编号,将获取的目标运动轨迹对应的终端确定为出现在任务区域内的终端。
可选的,该M个服务器中的每个服务器获取到出现在任务区域内的终端。在本步骤中,可以将每个服务器获取的终端合并后显示给用户。
可选的,在检测终端的过程中,还可以查询任务执行的进度。其中,可以根据任务标识,从任务标识与工作标识的对应关系中查找出对应的M个工作标识,从该M个工作标识中的每个工作标识对应的服务器中查询任务执行的进度,如果每个服务器的执行的进度都为100%,则整个任务执行完毕。
还可以将出现在任务区域内的各终端的第三地址转换为第一地址,然后显示获取的各终端的第一地址。
在本申请实施例中,由于每个终端的第二轨迹数据中包括终端在一天内的运动轨迹,这样可以快速将终端在多天内的第二轨迹数据进行聚合就可以得到终端的运动轨迹,从而能够快速检测出现在任务区域内的终端,提高了检测效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
参见图5-1,本申请实施例提供了一种存储数据的装置500,所述装置500包括:
获取模块501,用于获取最近N天内被探测出的各终端的第一轨迹数据,终端的第一轨迹数据至少包括所述终端的第一地址、探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间,N为大于或等于1的整数;
转换模块502,用于对所述各终端的第一轨迹数据的格式进行转换,得到所述各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量;
存储模块503,用于存储所述各终端的第二轨迹数据。
可选的,所述获取模块501包括:
获取单元,用于获取至少一个探测设备中的每个探测设备在最近N天内探测出的各终端的第一数据,探测设备探测出的终端的第一数据至少包括所述终端的第一地址、所述探测设备的第二地址和所述探测设备探测出所述终端的第一探测时间;
划分单元,用于将第i天内探测出的各终端的第一数据划分成M个数据集合,i=1、2……N,M为大于1的整数,且同一终端的第一数据被划分到同一数据集合;
聚合单元,用于将第j个数据集合中的同一终端的各第一数据聚合成所述终端的第一轨迹数据,j=1、2……M。
可选的,所述划分单元,用于:
计算目标终端的第一数据包括的第一地址的哈希值,所述目标终端为第i天内被探测出的任一终端;
计算所述哈希值对M的余数,根据所述余数将所述目标终端的第一数据划分到一个数据集合中。
可选的,所述转换模块502包括:
第一转换单元,用于将目标终端的第一轨迹数据包括的字符类型的第一地址转换为数据类型的第三地址,所述目标终端为被探测出的任一终端;
第二转换单元,用于将所述目标终端的第一轨迹数据包括的字符类型的设备地址转换为数据类型的设备编号;
第三转换单元,用于将所述目标终端的第一轨迹数据包括的日期类型的第一探测时间转换为数据类型的第二探测时间。
可选的,所述存储模块503包括:
第一存储单元,用于将所述第j个数据集合中的各终端的第二轨迹数据存储在文件中,将所述第i天对应的日期设置为所述文件对应的日期;
第二存储单元,用于将所述文件存储在分布式文件系统HDFS中。
在本申请实施例中,通过获取探测出的各终端的第一数据,根据各终端的第一数据,聚合出各终端的第一轨迹数据,将各终端的第一轨迹数据转换为数据量较小的第二轨迹数据,然后再存储各终端的第二轨迹数据,从而可以减小存储数据所需要的存储空间,节省了存储空间。
参见图5-2,本申请实施例提供了一种检测终端的装置510,所述装置510包括:
获取模块511,用于获取任务信息,所述任务信息包括任务开始时间、任务结束时间和任务区域;获取位于所述任务开始时间对应的第一日期到所述任务结束时间对应的第二日期内的各终端的第二轨迹数据,终端的第二轨迹数据是通过对所述终端的第一轨迹数据进行格式转换后得到的,所述终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量,所述终端的第一轨迹数据包括所述终端的第一地址,在所述第一日期至所述第二日期的时间段内探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间;
确定模块512,用于根据所述各终端的第二轨迹数据,确定出现在所述任务区域内的终端。
可选的,所述确定模块512包括:
聚合单元,用于对同一终端的第二轨迹数据进行聚合,得到所述终端的运动轨迹,所述运动轨迹为按探测到所述终端的时间排序后的各探测量设备的设备编号序列;
获取单元,用于获取所述任务区域的内各目标探测设备的目标设备编号;获取目标运动轨迹,在所述目标运动轨迹中位于所述任务开始时间和所述任务结束时间之间的设备编号中包括至少一个目标设备编号,将所述目标运动轨迹对应的终端确定为出现在所述任务区域内的终端。
在本申请实施例中,由于各终端的第二轨迹数据中包括终端的运动轨迹,这样可以快速将终端在不同时间的第二轨迹数据进行聚合就可以得到终端的运动轨迹,从而能够快速检测出现在任务区域内的终端,提高了检测效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示出了本发明一个示例性实施例提供的装置600的结构框图。该装置600可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。装置600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,装置600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的存储数据的方法或检测终端的方法。
在一些实施例中,装置600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置装置600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在装置600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在装置600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在装置600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位装置600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源609用于为装置600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,装置600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以装置600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测装置600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对装置600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在装置600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在装置600的侧边框时,可以检测用户对装置600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置装置600的正面、背面或侧面。当装置600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在装置600的前面板。接近传感器616用于采集用户与装置600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与装置600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与装置600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对装置600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种存储数据的方法,其特征在于,所述方法包括:
获取最近N天内被探测出的各终端的第一轨迹数据,终端的第一轨迹数据至少包括所述终端的第一地址、探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间,N为大于或等于1的整数;
将目标终端的第一轨迹数据包括的字符类型的第一地址转换为数据类型的第三地址,所述目标终端为被探测出的任一终端;
将所述目标终端的第一轨迹数据包括的字符类型的设备地址转换为数据类型的设备编号;
将所述目标终端的第一轨迹数据包括的日期类型的第一探测时间转换为数据类型的第二探测时间,得到所述各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量;
存储所述各终端的第二轨迹数据。
2.如权利要求1所述的方法,其特征在于,所述获取最近N天内被探测出的各终端的第一轨迹数据,包括:
获取至少一个探测设备中的每个探测设备在最近N天内探测出的各终端的第一数据,探测设备探测出的终端的第一数据至少包括所述终端的第一地址、所述探测设备的第二地址和所述探测设备探测出所述终端的第一探测时间;
将第i天内探测出的各终端的第一数据划分成M个数据集合,i=1、2……N,M为大于1的整数,且同一终端的第一数据被划分到同一数据集合;
将第j个数据集合中的同一终端的各第一数据聚合成所述终端的第一轨迹数据,j=1、2……M。
3.如权利要求2所述的方法,其特征在于,所述将第i天内探测出的各终端的第一数据划分成M个数据集合,包括:
计算目标终端的第一数据包括的第一地址的哈希值,所述目标终端为第i天内被探测出的任一终端;
计算所述哈希值对M的余数,根据所述余数将所述目标终端的第一数据划分到一个数据集合中。
4.如权利要求2所述的方法,其特征在于,所述存储所述各终端的第二轨迹数据,包括:
将所述第j个数据集合中的各终端的第二轨迹数据存储在文件中,将所述第i天对应的日期设置为所述文件对应的日期;
将所述文件存储在分布式文件系统HDFS中。
5.一种检测终端的方法,其特征在于,所述方法包括:
获取任务信息,所述任务信息包括任务开始时间、任务结束时间和任务区域;
获取位于所述任务开始时间对应的第一日期到所述任务结束时间对应的第二日期内的各终端的第二轨迹数据,所述终端的第二轨迹数据是通过对所述终端的第一轨迹数据进行格式转换后得到的,所述终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量,所述终端的第一轨迹数据包括所述终端的第一地址,在所述第一日期至所述第二日期的时间段内探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间;
对同一终端的第二轨迹数据进行聚合,得到所述终端的运动轨迹,所述运动轨迹为按探测到所述终端的时间排序后的各探测量设备的设备编号序列;
获取所述任务区域的内各目标探测设备的目标设备编号;
获取目标运动轨迹,在所述目标运动轨迹中位于所述任务开始时间和所述任务结束时间之间的设备编号序列中包括至少一个目标设备编号,将所述目标运动轨迹对应的终端确定为出现在所述任务区域内的终端。
6.一种存储数据的装置,其特征在于,所述装置包括:
获取模块,用于获取最近N天内被探测出的各终端的第一轨迹数据,终端的第一轨迹数据至少包括所述终端的第一地址、探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间,N为大于或等于1的整数;
转换模块,用于对所述各终端的第一轨迹数据的格式进行转换,得到所述各终端的第二轨迹数据,终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量;
存储模块,用于存储所述各终端的第二轨迹数据;
其中,所述转换模块包括:
第一转换单元,用于将目标终端的第一轨迹数据包括的字符类型的第一地址转换为数据类型的第三地址,所述目标终端为被探测出的任一终端;
第二转换单元,用于将所述目标终端的第一轨迹数据包括的字符类型的设备地址转换为数据类型的设备编号;
第三转换单元,用于将所述目标终端的第一轨迹数据包括的日期类型的第一探测时间转换为数据类型的第二探测时间。
7.如权利要求6所述的装置,其特征在于,所述获取模块包括:
获取单元,用于获取至少一个探测设备中的每个探测设备在最近N天内探测出的各终端的第一数据,探测设备探测出的终端的第一数据至少包括所述终端的第一地址、所述探测设备的第二地址和所述探测设备探测出所述终端的第一探测时间;
划分单元,用于将第i天内探测出的各终端的第一数据划分成M个数据集合,i=1、2……N,M为大于1的整数,且同一终端的第一数据被划分到同一数据集合;
聚合单元,用于将第j个数据集合中的同一终端的各第一数据聚合成所述终端的第一轨迹数据,j=1、2……M。
8.如权利要求7所述的装置,其特征在于,所述划分单元,用于:
计算目标终端的第一数据包括的第一地址的哈希值,所述目标终端为第i天内被探测出的任一终端;
计算所述哈希值对M的余数,根据所述余数将所述目标终端的第一数据划分到一个数据集合中。
9.如权利要求7所述的装置,其特征在于,所述存储模块包括:
第一存储单元,用于将所述第j个数据集合中的各终端的第二轨迹数据存储在文件中,将所述第i天对应的日期设置为所述文件对应的日期;
第二存储单元,用于将所述文件存储在分布式文件系统HDFS中。
10.一种检测终端的装置,其特征在于,所述装置包括:
获取模块,用于获取任务信息,所述任务信息包括任务开始时间、任务结束时间和任务区域;获取位于所述任务开始时间对应的第一日期到所述任务结束时间对应的第二日期内的各终端的第二轨迹数据,终端的第二轨迹数据是通过对所述终端的第一轨迹数据进行格式转换后得到的,所述终端的第二轨迹数据的数据量小于所述终端的第一轨迹数据的数据量,所述终端的第一轨迹数据包括所述终端的第一地址,在所述第一日期至所述第二日期的时间段内探测所述终端的各探测设备的第二地址和所述各探测设备探测出所述终端的第一探测时间;
确定模块,用于根据所述各终端的第二轨迹数据,确定出现在所述任务区域内的终端;
其中,所述确定模块包括:
聚合单元,用于对同一终端的第二轨迹数据进行聚合,得到所述终端的运动轨迹,所述运动轨迹为按探测到所述终端的时间排序后的各探测量设备的设备编号序列;
获取单元,用于获取所述任务区域的内各目标探测设备的目标设备编号;获取目标运动轨迹,在所述目标运动轨迹中位于所述任务开始时间和所述任务结束时间之间的设备编号中包括至少一个目标设备编号,将所述目标运动轨迹对应的终端确定为出现在所述任务区域内的终端。
CN201810439642.XA 2018-05-09 2018-05-09 一种存储数据的方法、检测终端的方法及装置 Active CN110471614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810439642.XA CN110471614B (zh) 2018-05-09 2018-05-09 一种存储数据的方法、检测终端的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810439642.XA CN110471614B (zh) 2018-05-09 2018-05-09 一种存储数据的方法、检测终端的方法及装置

Publications (2)

Publication Number Publication Date
CN110471614A CN110471614A (zh) 2019-11-19
CN110471614B true CN110471614B (zh) 2023-07-14

Family

ID=68503783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810439642.XA Active CN110471614B (zh) 2018-05-09 2018-05-09 一种存储数据的方法、检测终端的方法及装置

Country Status (1)

Country Link
CN (1) CN110471614B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124291B (zh) * 2019-12-09 2023-05-30 北京金山云网络技术有限公司 分布式存储系统的数据存储处理方法、装置、电子设备
CN111125013B (zh) * 2019-12-26 2023-03-17 北京锐安科技有限公司 一种数据入库方法、装置、设备及介质
CN114489491A (zh) * 2021-12-30 2022-05-13 北京云测信息技术有限公司 一种数据加载的方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747464A (zh) * 2014-01-17 2014-04-23 北京赢销通软件技术有限公司 一种移动终端运动轨迹分析系统
CN106225783A (zh) * 2016-08-18 2016-12-14 厦门中莘光电科技有限公司 用于轨迹探测的四象限硅基光电探测器
CN106500706A (zh) * 2015-09-06 2017-03-15 中兴通讯股份有限公司 一种导航的方法和终端
CN106507329A (zh) * 2015-09-07 2017-03-15 阿里巴巴集团控股有限公司 一种无线局域网接入设备及探测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747464A (zh) * 2014-01-17 2014-04-23 北京赢销通软件技术有限公司 一种移动终端运动轨迹分析系统
CN106500706A (zh) * 2015-09-06 2017-03-15 中兴通讯股份有限公司 一种导航的方法和终端
CN106507329A (zh) * 2015-09-07 2017-03-15 阿里巴巴集团控股有限公司 一种无线局域网接入设备及探测方法
CN106225783A (zh) * 2016-08-18 2016-12-14 厦门中莘光电科技有限公司 用于轨迹探测的四象限硅基光电探测器

Also Published As

Publication number Publication date
CN110471614A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN108063981B (zh) 设置直播间的属性的方法和装置
CN108924737B (zh) 定位方法、装置、设备及计算机可读存储介质
CN110841285B (zh) 界面元素的显示方法、装置、计算机设备及存储介质
CN110278464B (zh) 显示榜单的方法和装置
CN108717432B (zh) 资源查询方法及装置
CN110674022A (zh) 行为数据获取方法、装置及存储介质
CN109922356B (zh) 视频推荐方法、装置和计算机可读存储介质
CN111127509B (zh) 目标跟踪方法、装置和计算机可读存储介质
CN112084811B (zh) 身份信息的确定方法、装置及存储介质
CN111177137B (zh) 数据去重的方法、装置、设备及存储介质
CN110147503B (zh) 信息发布方法、装置、计算机设备和存储介质
CN111125436B (zh) 数据管理方法、装置及系统
CN111104402A (zh) 查找数据的方法、装置、电子设备及介质
CN109102811B (zh) 音频指纹的生成方法、装置及存储介质
CN110471614B (zh) 一种存储数据的方法、检测终端的方法及装置
CN112052354A (zh) 视频推荐方法、视频展示方法、装置及计算机设备
CN111385525B (zh) 视频监控方法、装置、终端及系统
CN111192072A (zh) 用户分群方法及装置、存储介质
CN112612539B (zh) 数据模型卸载方法、装置、电子设备及存储介质
CN110737692A (zh) 一种检索数据的方法、建立索引库的方法及装置
CN111064657B (zh) 关注账户分组的方法、装置、系统
CN111008083B (zh) 页面通信方法、装置、电子设备及存储介质
CN111428080B (zh) 录像文件的存储方法、搜索方法及装置
CN111611414B (zh) 车辆检索方法、装置及存储介质
CN112597417B (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