CN111507732B - 用于识别相似轨迹的系统和方法 - Google Patents
用于识别相似轨迹的系统和方法 Download PDFInfo
- Publication number
- CN111507732B CN111507732B CN201910092756.6A CN201910092756A CN111507732B CN 111507732 B CN111507732 B CN 111507732B CN 201910092756 A CN201910092756 A CN 201910092756A CN 111507732 B CN111507732 B CN 111507732B
- Authority
- CN
- China
- Prior art keywords
- hash
- characters
- track
- character
- tracks
- 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
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000003860 storage Methods 0.000 claims description 46
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 46
- 230000006870 function Effects 0.000 description 34
- 238000012545 processing Methods 0.000 description 33
- 238000012986 modification Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000011112 process operation Methods 0.000 description 4
- 230000029305 taxis Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000009849 deactivation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Traffic Control Systems (AREA)
Abstract
一种识别相似轨迹的方法,所述方法包括从一个或以上用户终端获得至少两个轨迹,每个轨迹具有所述一个或以上用户终端的至少两个位置表示;所述方法还包括基于所述至少两个位置表示,分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包含至少一个字母的文本字符串;所述方法还包括通过局部敏感哈希从所述至少两个轨迹中识别出相似轨迹。
Description
技术领域
本申请一般涉及用于在线-离线服务的系统和方法,尤其涉及用于识别在线-离线运输服务中的欺诈活动的系统和方法。
背景技术
利用因特网技术的在线-离线运输服务,例如在线出租车服务,由于其便利性,其应用变得越来越广泛。提供在线-离线服务的系统可以从请求者(例如,乘客)处获得服务订单,并将服务订单发送到服务提供者的终端(例如,司机)。服务提供者完成服务订单后,与订单相关联的信息可以被发送到提供在线-离线服务的系统(例如,系统中的服务器),并且还可以被系统用来识别欺诈活动。当前系统可以使用LCSS(最长通用子序列)方法来识别欺诈活动,其基于每两个订单的地理坐标来计算每两个订单之间的相似性,以确定这两个订单是否已涉及欺诈活动。然而,这种方法耗时并且由于其计算过程中涉及的大量计算而不适合用于识别大数据量的相似轨迹。另外,这种方法对地理坐标过于敏感。因此,需要开发一种用于确定欺诈活动的新方法和系统以克服这些问题。
发明内容
根据本申请的第一方面,提供了一种识别相似轨迹的系统。所述系统包括至少一个存储介质,包括一组指令;以及至少一个处理器与所述至少一个存储介质通信。当执行所述指令时,所述至少一个处理器用于从一个或以上用户终端获得至少两个轨迹,每个轨迹具有所述一个或以上用户终端的至少两个位置表示;基于所述至少两个位置表示,分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包含至少一个字母的文本字符串;以及通过局部敏感哈希从所述至少两个轨迹中识别出相似轨迹对。
在一些实施例中,为通过局部敏感哈希,从所述至少两个轨迹中识别出所述相似轨迹对,所述至少一个处理器用于使用哈希算法将所述至少两个哈希字符串分别转换成至少两个二进制字符串。
在一些实施例中,为了获得所述至少两个二进制字符串,所述至少一个处理器用于对于所述至少两个哈希字符串中的每一个,从所述哈希字符串中选择至少两个目标哈希字符;以及使用所述哈希算法,将所述至少两个目标哈希字符分别转化为至少两个二进制字符,所述至少两个二进制字符构成一个二进制字符串。
在一些实施例中,为了通过局部敏感哈希从所述至少两个轨迹识别所述相似轨迹对,所述至少有一个处理器用于计算所述至少两个二进制字符串中任意两个之间的海明距离;以及在所述至少两个轨迹中,识别海明距离小于阈值的两个轨迹作为所述相似轨迹对。
在一些实施例中,所述至少一个处理器还用于确定与所述相似轨迹对相关联的一个或以上车辆之间的关系。
在一些实施例中,所述至少有一个处理器还用于:识别所述相似轨迹对后,确定所述一个或以上与所述相似轨迹对相关的车辆是相同的。
在一些实施例中,所述至少两个位置表示中的每一个是一对地理坐标或物理地址。
在一些实施例中,所述局部敏感哈希是simhash算法或minhash算法。
根据本申请的第二方面,提供了一种识别相似轨迹的系统。所述系统包括获取模块,从一个或以上用户终端获得至少两个轨迹,每个轨迹具有所述一个或以上用户终端的至少两个位置表示;一个或多个哈希工具,用于基于所述至少两个位置表示,分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包含至少一个字母的文本字符串;以及确定模块,用于并通过局部敏感哈希从所述至少两个轨迹中识别出相似轨迹对。
根据本申请的第三方面,提供了一种识别相似轨迹的装置。在一些实施例中,所述装置包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质用于存储计算机指令,所述至少一个处理器用于执行所述计算机指令以实现以上所述的方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质存储有用于识别相似轨迹的计算机指令,当所述计算机指令被处理器执行时,实现如以上所述的方法。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的符号表示相同的部件,其中:
图1是根据本申请的一些实施例示出的示例性在线-离线服务系统的示意图;
图2是根据本申请的一些实施例示出的在线-离线服务系统中的示例性计算设备的示意图;
图3示出根据本申请的一些实施例的在线-离线服务系统中的示例性移动设备的示意图;
图4A是根据本申请的一些实施例所示的示例性处理引擎的框图;
图4B是根据本申请的一些实施例示出的示例性第二哈希工具的框图;
图5A是根据本申请的一些实施例示出的用于识别一对相似轨迹的示例性过程的流程图;
图5B是根据本申请的一些实施例示出的用于确定与一对相似轨迹相关联的一个或以上车辆之间的关系的示例性过程的流程图;
图5C示出根据本申请的一些实施例的用于获得二进制字符串的示例性过程的流程图;以及
图6示出根据本申请的一些实施例的用于识别相似轨迹的示例性过程的流程图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变。在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”和/或“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
此外,虽然本申请中披露的系统和方法主要涉及在线-离线运输服务,还应该理解,这仅是一个示例性实施例。本申请的系统或方法可以应用于任何其他类型的在线-离线服务。例如,本申请的系统和方法还可应用于包括陆地、海洋、航空航天等或其任意组合的不同运输系统。所述运输系统的交通工具可以包括出租车、私家车、顺风车、公交车、火车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶的车辆等或其任意组合。运输系统还可以包括任何适用于管理和/或分配的运输系统,例如,用于传输和/或接收快递的系统。本申请的系统和方法的应用场景可以包括网页、浏览器插件、客户端、定制系统、企业内部分析系统、人工智能机器人等,或其任意组合。
在本申请中,术语“乘客”、“请求者”、“服务请求者”和“客户”可互换使用,以指可请求或预订服务的个人、实体或工具。同样地,本申请描述的“司机”、“提供者”、“供应者”、“服务提供者”、“服务者”、“服务方”等也是可以互换的,是指提供服务或者协助提供服务的个人、工具或者其他实体等。本申请中的词语“用户”可以指代可以请求服务、订购服务、提供服务或促进提供服务的个体、实体或工具。例如,用户可以是乘客、司机、操作者等或其任意组合。在本申请中,术语“乘客”和“乘客终端”可以互换使用,且术语“司机”和“司机终端”可以互换使用。
术语“哈希函数”,“哈希算法”可以互换使用。
本申请中,术语“服务请求”是指由乘客、请求者、服务请求者、用户、司机、提供者、服务提供者、供应者等发起的请求或者其任何组合。所述服务请求可以被乘客、请求者、服务请求者、客户、司机、提供者、服务提供者、供应者中的任一个接收。所述服务请求可以是收费的或免费的。如这里所使用的,“请求”也可以被称为“订单”,并且“服务请求”也可以被称为“服务订单”。
本申请中使用的定位技术可以包括全球定位系统(Global Positioning System,GPS)、全球卫星导航系统(Global Navigation Satellite System,GLONASS)、北斗导航系统(Compass Navigation System,COMPASS)、伽利略定位系统、准天顶卫星系统(Quasi-Zenith Satellite System,QZSS)、无线保真(Wireless Fidelity,WiFi)定位技术等或其任意组合。以上定位技术中的一个或以上可以在本申请中交换使用。
本申请的一个方面提供了用于确定相似轨迹以确定欺诈活动的在线系统和方法。该系统可以将轨迹(例如,第一轨迹和第二轨迹)哈希成文本字符串,将文本字符串哈希成二进制字符串,并确定确定的二进制字符串之间的海明距离。在确定海明距离不大于预设阈值时,系统可以将轨迹(例如,第一轨迹和第二轨迹)确定为相似轨迹,并且将与轨迹相关联的活动(例如,司机的服务提供活动)确定为欺诈活动。
值得注意的是,在线在线运输服务,如在线出租车,是一种仅在互联网后时代扎根的新型服务形式。它为使用者和服务提供者提供了仅在后互联网时代才可实现的技术方案。在互联网时代之前,当一个使用者(例如,乘客)在街道上需要一辆出租车时,出租车预定请求和接受只可在乘客和一个看见该乘客的出租车司机之间发生。如果乘客通过电话呼叫一辆出租车,出租车预定请求和接受只能在该乘客和服务提供者(例如,出租车公司或代理)之间发生。然而,在线的出租车呼叫允许请求服务的用户实时和自动的将服务请求分配给远离用户的大量个人服务提供者(例如出租车)。它同时允许至少两个服务提供者同时地和实时地对该服务请求进行响应。同时,在现代社会,出租车服务已经成为了巨大规模的产业。成百万的乘客每天通过在线出租车预定平台搭乘出租车。只有通过互联网的帮助才使得对乘客搭乘出租车的行为的研究成为可。相应地,通过一个乘客的在线出租车预定行为进行出租车预定的预测也是起源于后互联网时代的一种新型服务形式。
图1是根据本申请的一些实施例示出的示例性在线-离线服务系统100的示意图。例如,在线-离线服务系统100可以是用于运输服务的在线运输服务平台,例如出租车呼叫、代驾服务、快车、拼车、公交车服务、司机雇佣和班车服务。在线-离线服务系统100可以是在线平台,包括服务器110、网络120、请求者终端130、提供者终端140和存储设备150。该服务器110可包含一处理引擎112。
在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在请求者终端130,提供者终端140和/或存储设备150中的信息和/或数据。又例如,所述服务器110可以连接请求者终端130、提供者终端140和/或存储设备150,以访问所存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在本申请中的图2描述的包含了一个或以上组件的计算设备200上执行。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与服务请求相关的信息和/或数据以执行本申请描述的一个或以上功能。例如,处理引擎112可以基于至少两个训练的子端点区域来执行与在线-离线服务的服务请求相关联的确定推荐信息(例如,推荐驾驶路线、估计到达时间)。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,在线-离线服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140和存储设备150)可以经由网络120将信息和/或数据发送到在线-离线服务系统100中的其他组件。例如,服务器110可以通过所述网路120从请求者终端130接收服务请求。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络130可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通信(NFC)网络等或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,例如,基站和/或互联网交换点120-1、120-2等。在线-离线服务系统100的一个或以上组件可以通过它们连接到网络120,以在它们之间交换数据和/或信息。
在一些实施例中,请求者可以是请求者终端130的用户。在一些实施例中,请求者终端130的用户可以是除请求者之外的其他人。例如,请求者终端130的用户A可以使用请求者终端130来发送针对用户B的服务请求,或者从服务器110接收服务和/或信息或指令。在一些实施例中,提供者可以是提供者终端140的用户。在一些实施例中,提供者终端140的使用者可以为除该提供者之外的其他人。例如,提供者终端140的用户C可以为用户D通过提供者终端140接收服务请求和/或从服务器110处接收信息或指令。在一些实施例中,“请求者”和“请求者终端”可互换使用,“提供者”和“提供者终端”可互换使用。
在一些实施例中,请求者终端130可以包括移动设备130-1、平板电脑130-2、便携式计算机130-3、汽车的内置设备130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、RiftConTM、FragmentsTM、Gear VRTM等。在一些实施例中,机动车辆内置设备包括机载计算机或机载电视等。在一些实施例中,请求者终端130可以是带有定位技术的设备,用于定位请求者和/或请求者终端130的位置。
在一些实施例中,提供者终端140可以是与请求者终端130相似或相同的设备。在一些实施例中,提供者终端140可以是带有定位技术的设备,用于定位提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以与其他定位设备通信来确定请求者、请求者终端130、提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以将定位信息发送到服务器110。
存储设备150可以存储数据和/或指令。在一些实施例中,存储设备150可以存储从请求者终端130和/或提供者终端140获得的数据。例如,存储设备150可以存储从提供者终端140获得的至少两个轨迹。如这里所使用的,对象(例如,车辆)的轨迹(或被称为运动路径)可以被定义为在一个时间范围内获得的对象的位置序列。示例性运动路径可包括运动路径(VMP)。位置可以表示为地理坐标,其可以包括经度坐标和纬度坐标。时间范围可以是对应于轨迹的起始位置的开始时间点与对应于轨迹的到达位置的到达时间点之间的时间间隔。在时间范围内,可以通过嵌入提供者终端140中的位置感测服务来获得对象的位置,并将其发送到存储设备150。
在一些实施例中,存储设备150可以存储服务器110用来执行或用来完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备150可包括大容量存储器、可移动存储器、挥发性读写内存、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备150可以连接到网络120,以与在线-离线服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140)通信。在线-离线服务系统100中的一个或以上组件可以经由网络120访问存储设备150中存储的数据或指令。在一些实施例中,存储设备150可以直接连接到在线-离线服务系统100(例如,服务器110、请求者终端130、提供者终端140)中的一个或以上组件或与之通信。在一些实施例中,存储设备150可以是服务器110的一部分。
在一些实施例中,在线-离线服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140)可以访问存储设备150。在一些实施例中,当满足一个或以上条件时,在线-离线服务系统100的一个或以上组件可以读取和/或修改与请求者,提供者和/或公众有关的信息。例如,在完成一个服务后,服务器110可以读取和/或修改一个或以上用户的信息。又例如,当从请求者终端130接收到服务请求时,提供者终端140可以访问与所述请求者相关的信息,但提供者终端140无法修改请求者的相关信息。
在一些实施例中,可以通过请求服务来实现在线-离线服务系统100的一个或以上组件的信息交换。服务请求的对象可以为任何产品。在一些实施方案中,产品可以是有形产品或非物质产品。有形产品可包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、奢侈品等,或其任何组合。非物质产品可以包括服务产品、金融产品、知识产品、互联网产品等,或其任何组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等或其任意组合。移动互联网产品可以用于移动终端,程序,系统等的软件或其任何组合。移动终端可以包括平板计算机、膝上型计算机、移动电话、个人数字助理(PDA)、智能手表、POS设备、车载计算机、车载电视、可穿戴设备等或其任意组合。例如,产品可以是在计算机或移动电话上使用的任一软件和/或应用。该软件和/或应用程序可以与社交、购物、交通、娱乐、学习、投资等,或其任意组合相关。在一些实施例中,所述与运输有关系统软件和/或应用程序可以包括出行软件和/或应用程序、车辆调度软件和/或应用程序、地图软件和/或应用程序等。在车辆调度软件和/或应用程序中,车辆可以是马、马车、人力车(例如,独轮手推车、脚踏车、三轮车等)、汽车(例如,出租车、公交车、私人汽车等)、列车、地铁、船舶、飞行器(例如,飞机、直升机、航天飞机、火箭、热气球等)或其任意组合。
应当注意,图1中所示的应用场景仅用于说明目的,并非旨在限制本申请的范围。例如,在线-离线系统100可以用作导航系统。导航系统可以包括用户终端(例如,请求者终端130或提供者终端140)和服务器(例如,服务器110)。用户可以经由用户终端输入目标位置(例如,开始位置、目的地)和/或开始时间。因此,导航系统可以根据本申请中描述的过程和/或方法,基于目标位置和/或开始时间确定推荐信息(例如,推荐驾驶路线、ETA)。
{{38}}图2是根据本申请的一些实施例所示的一个计算设备200的示例性硬件和软件的示意图。服务器110、请求者终端130和/或提供者终端140可以安装在计算设备200上。例如,处理引擎112可以在计算设备200上实施并执行本申请所披露的处理引擎112的功能。
计算设备200可以是通用计算机或专用计算机;两者都可用于实现本申请的在线-离线系统。计算设备200可以用于实现如本文所述的在线-离线服务的任何组件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。图中为了方便起见只绘制了一台计算机,但是本实施例所描述的提供在线-离线服务所需要的信息的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,以分散系统的处理负荷。
例如,计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器,用于执行程序指令。示例性计算设备可以包括内部通信总线210,程序存储和不同形式的数据存储,包括例如盘270,和只读存储器(ROM)230,或随机存取存储器(RAM)240,用于由计算设备处理和/或发送的各种数据文件。示例性计算设备也可以包括储存于ROM 230、RAM 240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括I/O组件260,支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。
仅仅是为了说明,图2中仅示出了一个CPU和/或处理器。还可以考虑多个CPU和/或处理器;因此,由本申请中描述的一个CPU和/或处理器执行的操作和/或方法步骤也可以由多个CPU和/或处理器联合或单独执行。例如,如果在本申请中,计算设备200的CPU和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
图3示出根据本申请的一些实施例的在线-离线服务系统中的示例性移动设备的示意图。
如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360并由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从处理引擎112和/或存储设备150接收和呈现与服务请求(例如,开始位置、目的地)相关联的信息。用户与信息流的交互可以通过I/O 350实现,并通过网络120提供给处理引擎112和/或在线-离线服务系统100的其他组件。
本领域普通技术人员将理解,当在线-离线服务系统100的元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当请求者终端130处理任务时,例如进行确定,识别或选择对象,请求者终端130可以在其处理器中操作逻辑电路以处理这样的任务。当请求者终端130向服务器110发出服务请求时,服务请求者终端130的处理器可以生成编码服务请求的电信号。请求者终端130的处理器然后可以将电信号发送到输出端口。如果请求者终端130经由有线网络与处理引擎112通信,则所述输出端口可以物理地连接到线缆,该线缆可以进一步将电信号传输到服务器110的输入端口。如果请求者终端130经由无线网络与服务器110通信,请求者终端130的输出端口可以是一个或以上天线,其可以将电信号转换为电磁信号。类似地,提供者终端140可以通过其处理器中的逻辑电路的操作来处理任务,并且经由电信号或电磁信号从服务器110接收指令和/或服务请求。在如请求者终端130、提供者终端140电子设备和/或服务器110的电子设备中,当电子设备的处理器处理一指令时,处理器发送一指令和/或执行一动作,该指令和/或动作经由电信号传导。例如,当处理器从存储介质(例如存储设备150)检索或保存数据时,它可以向存储介质的读/写设备发送电信号,该读/写设备可以在存储介质中读取或写入结构化数据。该结构化数据可以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或至少两个不连续的电信号。
图4A是根据本申请的一些实施例所示的示例性处理引擎112的框图。处理引擎112获取模块410,第一哈希工具420,第二哈希工具430,和确定模块440.
获取模块410可以获得至少两个轨迹。获取模块410可以从在线-离线服务系统100中的一个或以上其他组件获得至少两个轨迹。例如,获取模块410可以通过网络120从存储设备150获得轨迹。又例如,获取模块410可以从一个或以上用户终端(例如,一个或以上提供者终端140)获得轨迹。
所述至少两个轨迹可以对应于至少两个对象(例如,车辆),并且可以由一个或以上的司机使用在线-离线服务系统100的一个或以上注册用户(例如,司机)来报告。例如,所述至少两个轨迹可以包括第一轨迹和第二轨迹。第一个用户使用第一注册用户报告第一轨迹。第二轨迹可以由第二用户使用第二注册用户报告。这里应该注意,第一注册用户和第二注册用户可以由同一用户或不同用户(例如,司机)注册。
轨迹的时间范围可以至少部分地重叠。在一些实施例中,轨迹可以对应于相同的时间范围。也就是说,轨迹的时间范围完全重叠。例如,第一轨迹和第二轨迹都可以对应于1818年9月27日晚上10:00:00和1818年9月27日晚上11:00:00之间的时间范围。在一些实施例中,轨迹可以对应于不同的时间范围,并且时间范围中的较短的时间范围可以至少部分地与时间范围中的较长的那些重叠。
至少两个轨迹中的每一个可以包括至少两个位置表示(例如,地理坐标或物理地址)。例如,至少两个轨迹中的每一个可包括地理坐标序列。例如,轨迹可以表示如下:
Tm=(第一个地理坐标、第二个地理坐标、第三个地理坐标、......第i个地理坐标...第n地理坐标)
Tm表示至少两个轨迹中的第m个轨迹。m是不小于1的整数。*
Tm可以包括并由第一地理坐标、第二地理坐标、第三地理坐标和第n地理坐标的n地理坐标定义。*
ith表示定义轨迹Tm的n地理坐标中的ith地理坐标。*
在一些实施例中,定义轨迹的地理坐标可以按时间顺序排列。在这种情况下,第一地理坐标可以对应于与轨迹Tm的开始位置相对应的时间点。当提供者终端140获取车辆的地理位置(或被称为地理坐标)时,第i个地理坐标可以对应于第i个时间点。第n个地理坐标可以对应于提供者终端140完成服务请求的服务请求的时间点,例如,当提供者终端140或相应的车辆到达请求者设置的目的地的时间点。*
在一些实施例中,轨迹Tm的地理坐标可以以随机方式排列。
在一些实施例中,获取模块410可以将获得的轨迹发送到第一哈希工具420。
第一哈希工具420可以基于至少两个位置表示分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包括至少一个字母的文本字符串。第一哈希工具420可以通过使用第一哈希函数(或被称为第一哈希计算,或第一哈希技术)将获得的轨迹的地理坐标哈希成第一哈希字符。第一哈希字符可是文本字符,包括一个或以上的字母和数值。在一些实施例中,第一哈希字符可包括至少一个字母。在一些实施例中,第一哈希字符可以仅由字母组成,并且可以不包括任何数字。第一哈希函数可以是将地理坐标转换为文本字符的任何函数。仅作为示例,第一哈希函数可以是采用geohash坐标系的geohash函数。如这里所使用的,geohash坐标系(地理坐标系统)是指将空间分层地划分成网格形的系统。例如,空间可以被划分为包括第一桶状结构和第二桶状结构的至少两个桶状结构。每个桶状结构可以进一步细分为多个子桶状结构,依此类推,创建桶状结构的层次结构。例如,第一桶状结构被分成子桶状结构,包括子桶状结构1-1和子桶状结构1-2。在一些实施例中,geohash的属性是具有长的相同的geohash前缀的两个位置彼此接近。同样,接近的位置通常共享一个类似的前缀。但是,并不总能保证两个接近的位置共享一个长的共同的前缀(当它们位于两个边界框的扩展边缘附近时)。
第一哈希字符可以表示地球上的边界框(例如,桶状结构或子桶状结构)。它提供了具有任意精度的空间层次结构:通过从字符串末尾删除字符,可以降低精度(即,表示更大的区域);也就是说,geohash字符越长,字符所代表的边界框越小。例如,位于子桶状结构1-1中的兴趣点可以由子桶状结构1-1或第一桶状结构表示,取决于所需的精度水平(即容忍误差),子桶状结构1-1提供最高精度,第一桶状结构提供可用的最低水平的桶状结构精度。
在一些实施例中,对于每个轨迹,第一哈希工具420可以对轨迹的每个地理坐标执行第一哈希操作以获得地理坐标的第一哈希字符。所获得的地理坐标的第一哈希字符可构成轨迹的第一哈希字符串。例如,第一哈希工具420可以在第一轨迹的地理坐标上执行第一哈希函数以获得第一轨迹的第一哈希字符串。同样地,第一哈希工具420可以对第二轨迹的地理坐标执行第一哈希操作以获得第二轨迹的第一哈希字符串。轨迹的第一哈希字符串可以表示如下Fm=(第一个第一哈希字符、第二个第一哈希字符、第三个第一哈希字符、...、第i个第一哈希字符...、第n个第一哈希字符)Fm可以表示轨迹Tm的第一哈希字符串。第i个第一哈希字符可代表轨迹Tm的第i个地理坐标的第一哈希字符。m、I、m、可以表示不小于1的整数。仅作为示例,n可以是8,轨迹Tm的第一哈希字符串可以由8个字母和/或值组成。
在一些实施例中,第一哈希工具420可发送第一哈希字符串,例如,第一轨迹的第一哈希字符串和第二轨迹的第一哈希字符串到第二哈希工具430。
第二哈希工具430可以使用哈希算法将至少两个哈希字符串分别变换为至少两个二进制字符串。
在一些实施例中,第二哈希工具430可以预处理第一哈希字符并将预处理的第一哈希字符变换为第二哈希字符。在一些实施例中,对于每个轨迹,第二哈希工具430可以从轨迹的第一哈希字符串中选择一些第一哈希字符。所选择的第一哈希字符可被称为目标第一哈希字符。
在一些实施例中,对于每个轨迹,第二哈希工具430可以通过消除轨迹的第一哈希字符串中的至少一些重复的第一哈希字符来选择目标第一哈希字符。例如,对于某个轨迹,第一个第一哈希字符、第二个第一哈希字符、第三个第一哈希字符可相同,第二哈希工具430可以消除三个第一哈希字符,或三个哈希字符中的任何两个,或三个哈希字符中的任何一个。
对于每个轨迹,在选择目标第一哈希字符之后,第二哈希工具430可以将每个目标第一哈希字符哈希变成第二哈希字符。第二哈希字符可以是二进制字符,其包括两个值(例如,“1”和“0”)。第二哈希函数(或被称为第二哈希计算)可以是将文本字符变换为二进制字符的任何函数。仅作为示例,第二哈希函数可以是simhash函数,其可以快速估计两组的相似程度。又例如,第二哈希函数可以是minhash函数。
在一些实施例中,为了将每个目标第一哈希字符哈希成第二哈希字符,第二哈希工具430可以给目标第一哈希字符中的每个字母或值分配一个第二哈希字符。目标第一哈希字符的第二哈希字符可以由分配给目标第一哈希字符中的字母和/或值的第二哈希字符组成。例如,目标第一哈希字符可以是“xyx”,包括三个字母:两个“x”和一个“y”。第二哈希工具430可以给字母“x”分配第二哈希字符“10”,给字母“y”分配第二哈希字符“01”。那么,目标第一哈希字符“xyx”的第二哈希字符可以是“10 01 10”。
在一些实施例中,某个轨迹中的所有目标第一哈希字符的第二哈希字符可以组成轨迹的第二哈希字符串。轨迹的第二哈希字符串可表示如下:Sm=(第一个第二哈希字符、第二个第二哈希字符、第三个第二哈希字符、...、第i个第二哈希字符、第(i+a)个第二哈希字符...、第n个第二哈希字符)。Sm可以表示轨迹Tm的第二哈希字符串,其可以是来自轨迹Tm的第一哈希字符串Fm的哈希。m、i、n可以是不小于1的整数。a可以是大于1的整数。如所示,轨迹Tm的第二哈希字符串可以包括(n-a)第二字符,包括第一个第二哈希字符、第二个第二哈希字符、第三个第二哈希字符、第i个第二哈希字符、第(i+a)个第二哈希字符、......和第n个第二哈希字符。第i个第二哈希字符可以是第i个目标第一哈希字符的第二哈希字符。第(i+1)个和第(i+a-1)个第一哈希字符被删除了,导致Sm不具有与其对应的第二哈希字符。在一些实施例中,第二哈希工具430输出的第二哈希字符串可具有相同的长度。在一些实施例中,Sm的长度可以是64字符或128字符。
在一些实施例中,第二哈希工具430可以发送第二哈希字符串,例如,第一轨迹的第二哈希字符串和第二轨迹的第二哈希字符串到确定模块440。
确定模块440可以通过局部敏感哈希在至少两个轨迹中识别一对相似轨迹。在一些实施例中,确定模块440可以计算至少两个二进制字符串中的任何两个之间的海明距离,并且在至少两个轨迹中识别海明距离小于阈值的一对轨迹,作为相似轨迹对。
在一些实施例中,确定模块440可以计算从第二哈希工具430发送的至少部分轨迹之间的轨迹相似性。
为了确定轨迹之间的相似性,确定模块440可以确定轨迹之间的海明距离。如这里所使用的,两个相等长度的串之间的海明距离是相应符号不同的位置的数量。
在一些实施例中,确定模块440可以从第二哈希工具430发送的轨迹中选择每两个轨迹,并通过计算这两个轨迹之间的海明距离来确定这两个轨迹之间的相似性。在一些实施例中,确定模块可以从第二哈希工具430发送的轨迹中选择目标轨迹,并通过确定目标轨迹和其余任一个轨迹之间的海明距离来确定目标轨迹与每个其余轨迹之间的相似性。
在一些实施例中,确定模块440可以进一步将所确定的两个轨迹的海明距离与阈值进行比较。阈值可以是存储在在线-离线服务系统100的一个或以上组件中的预设值。当所确定的两个轨迹的海明距离不小于阈值时,确定模块440可以将这两个轨迹确定为正常轨迹,没有涉及欺诈活动。当所确定的两个轨迹的海明距离小于阈值时,确定模块440可以确定这两个轨迹是异常轨迹,其中涉及一些欺诈活动。示例性欺诈活动可以包括,例如,一个司机使用在线-离线服务系统100的多个注册用户来响应服务请求,多个司机共享同一车辆以响应服务请求的等。
在一些实施例中,确定模块440可以确定与异常轨迹相关联的注册用户,并对其实施某些处罚。例如,确定模块440可以停用与异常轨迹相关联的注册用户中的至少一个。在一些实施例中,确定模块440可以停用与异常轨迹相关联的注册用户中的至少一个一段时间,例如,一周、一个月、一年等。在一些实施例中,确定模块440可以永久地停用与异常轨迹相关联的注册用户中的至少一个。
确定模块440还可以向任何其他设备发送指示注册用户的去激活的信号。例如,确定模块440可以通过网络120向提供者终端140发送指示注册用户的去激活的信号。又例如,确定模块440还可以向服务器110发送指示注册用户的去激活的信号,服务器110还可以将信号发送到提供者提供者终端终端140。在一些实施例中,确定模块440可以通过合适的通信协议将所述信号发送到任何设备(例如,超文本传输协议(HTTP)、地址解析协议(ARP)、动态主机配置协议(DHCP)、文件传输协议(FTP)等)。
处理引擎112中的模块可以通过有线连接或无线连接而互相连接或互相通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一个可以被分成两个或以上单元。例如,第一哈希工具420和第二哈希工具430可以组合为单个模块,其既可以从获取模块410获得轨迹,也可以将轨迹哈希为第一哈希字符,并将第一哈希字符哈希为第二哈希字符。又例如,处理引擎112可包括用于存储轨迹,第一哈希字符和第二哈希字符的存储模块(未示出)。作为另一示例,处理引擎112中的模块可以分别包括存储单元(未示出)。
图4B示出根据本申请的一些实施例的示例性第二哈希工具430的框图。第二哈希工具430可包括选择单元431和哈希单元432。
第二哈希工具430可以从哈希字符串中选择至少两个目标哈希字符。在一些实施例中,对于从第一哈希工具420获得的每个第一哈希字符串,选择单元431可以从第一哈希字符串中选择目标第一哈希字符。选择单元431可以通过消除轨迹的第一哈希字符串中的重复第一哈希字符中的至少一些来选择目标第一哈希字符。例如,对于某个轨迹,第一个第一哈希字符、第二个第一哈希字符、第三个第一哈希字符可相同,第二哈希工具430可以消除三个第一哈希字符,或三个哈希字符中的任何两个,或三个哈希字符中的任何一个。仅作为示例,选择单元431可以消除第二个第一哈希字符,和第三个第一哈希字符,保留轨迹的第一个第一哈希字符。当轨迹,例如,第二轨迹不包括重复的第一哈希字符,选择单元431可以将第一哈希字符串中的所有字符确定为第二轨迹的第一哈希字符串的目标第一哈希字符。
在一些实施例中,在消除某些轨迹的一个或以上第一哈希字符之后,选择单元431可以进一步消除其余轨迹的第一哈希字符的一个或以上,以确保获取模块410获得的轨迹对应的第二哈希字符串具有相同的长度,这是确定模块440确定轨迹的第二哈希字符串的海明距离所要求的。例如,获取模块410可以获得第一轨迹的第一哈希字符串和第二轨迹的第一哈希字符串。消除了第一轨迹的第二个第一哈希字符、第三个第一哈希字符后,选择单元431可以进一步消除第二轨迹的第一哈希字符串中的两个第一哈希字符。仅作为示例,选择单元431可以消除第二轨迹的第一哈希字符串中的第二个第一哈希字符、第三个第一哈希字符。
在此应该注意,第二哈希工具430的上述描述是出于说明性目的而提供的,并不旨在限制本申请的目的。在一些实施例中,当第二哈希工具430获得对应于多于两个轨迹的多于两个第一哈希字符串时,例如,第一轨迹、第二轨迹和第三轨迹,选择单元431可以首先消除第一轨迹的第一哈希字符串中第一数量的第一哈希字符以及第三轨迹的第一哈希字符串中第二数量的第一哈希字符。然后,选择单元431可以基于第一轨迹第一哈希字符串中第一数量的第一哈希字符以及第二轨迹第一哈希字符串的二数量的第一哈希字符,进一步消除第一轨迹的第一哈希字符串中第三数量的第一哈希字符、第二轨迹的第一哈希字符串中第四数量的第一哈希字符以及第三轨迹第一哈希字符串中第五数量的第一哈希字符。第一数、第二数、第三数、第四数和第五数可以相同或不同。
例如,选择单元431可以首先消除第一轨迹的第一哈希字符串中的第一个第一哈希字符以及消除在第二轨迹的第一哈希字符串中的第二个第一哈希字符。然后,选择单元431可以消除第一轨迹的第一哈希字符串中的第二个第一哈希字符,在第二轨迹的第一哈希字符串中的第一个第一哈希字符,在第三轨迹的第一哈希字符串中的第一个第一哈希字符,和在第三轨迹的第一哈希字符串中的第二个第一哈希字符。这样,第一轨迹的第一哈希字符串,第二轨迹的第一哈希字符串和第三轨迹的第一哈希字符串具有相同的长度。
又例如,选择单元431可以首先消除第一轨迹的第一哈希字符串中的第一个第一哈希字符和第二个第一哈希字符以及消除第二轨迹的第一哈希字符串中的第二个第一哈希字符。然后,选择单元431可以消除第二轨迹的第一哈希字符串中的第一个第一哈希字符,在第三轨迹的第一哈希字符串中的第一个第一哈希字符,以及第三轨迹的第一哈希字符串中的第二个第一哈希字符。这样,第一轨迹的第一哈希字符串,第二轨迹的第一哈希字符串和第三轨迹的第一哈希字符串具有相同的长度。
在一些实施例中,选择单元431可以将轨迹的目标第一哈希字符发送到哈希单元432。
哈希单元432可以使用哈希算法将至少两个目标哈希字符分别变换为至少两个二进制字符,构成一个二进制字符串的至少两个二进制字符
例如,对于每个轨迹,哈希单元432可以将每个目标第一哈希字符哈希变为第二哈希字符。第二哈希字符可以是二进制字符,其包括两个值(例如,“1”和“0”)。第二哈希函数可以是将文本字符转换为二进制字符的任何函数。仅作为示例,第二哈希函数可以是simhash函数,其可以快速估计两组二进制字符的相似程度。又例如第二哈希函数可是一个minhash函数。
在一些实施例中,为了将每个目标第一哈希字符进哈希成为第二哈希字符,哈希单元432可以给目标第一哈希字符中的每个字母或值分配一个第二哈希字符。构成目标第一哈希字符的字母或数值的第二哈希字符可以组成该目标第一哈希字符的第二哈希字符。例如,目标第一哈希字符可以是“OK”。哈希单元432可以为字母“O”分配二进制值“11”、字母“K”分配二进制值“10”,那么,前述目标第一哈希字符的第二哈希字符“OK”可以是“1110”。
应当注意,关于第二哈希工具430的上述描述是出于说明的目的而提供的,并非旨在限制本申请的范围。对于本领域技术人员而言,在本申请内容的指导下,可作出各种各样的种变化和修改。但是,那些变化与修改不会脱离本申请的范围。例如,当有超过两个第一哈希字符串时,在每个第一哈希字符串中消除重复的第一哈希字符后,选择单元431可以随机方式消除第一哈希字符串中的第一哈希字符,使得所有的第一哈希字符串具有相同的长度。
图5A示出根据本申请的一些实施例的用于识别一对相似轨迹的示例性过程的流程图。如这里所使用的,两个注册用户之间的关系可以表明两个注册用户是否对应于同一车辆。
在一些实施例中,过程500的至少一部分可以在在线-离线服务系统100中实现,如图1所示。在一些实施例中,过程500中的一个或以上操作可以由处理引擎112执行。如图3所示,在一些实施例中,过程500中的一个或以上操作可以移动设备上实现。在一些实施例中,过程500中的一个或以上操作可以以指令的形式存储在存储设备150和/或另一个存储设备中,并且调用和/或执行。例如,可以由如上面在图1中所示的在线-离线服务系统100中的服务器110上搭载的处理引擎112实现。以下所示过程的操作仅出于说明的目的。在一些实施例中,可以利用未描述的一个或以上附加操作和/或没有讨论的一个或以上操作来完成过程500。另外,如图5A所示和下面描述的过程操作的顺序不是限制性的。
在510中,获取模块410可以从一个或以上用户终端获得至少两个轨迹。至少两个轨迹中的每一个可具有一个或以上用户终端的至少两个位置表示。一个用户终端的每个位置表示可以表示为地理坐标或物理地址。
至少两个轨迹可以包括第一注册用户的第一轨迹和第二注册用户的第二轨迹。在一些实施例中,第一注册用户和第二注册用户可以由相同的司机或两个不同的司机注册。在一些实施例中,第一注册用户和第二注册用户可以由驾驶一个车辆的一个司机在两个终端上登录,第一注册用户和第二注册用户对应于该车辆。在一些实施例中,第一注册用户和第二注册用户可以由驾驶两个不同车辆(例如,分别为第一车辆和第二车辆)的两个司机分别在两个终端上登录。第一注册用户和第二注册用户可分别对应于第一车辆和第二车辆。第一轨迹和第二轨迹中的任何一个都可以包括至少两个地理坐标,地理坐标可以使例如,经度坐标和纬度坐标。
在520中,第一哈希工具420可以基于至少两个位置表示分别获得至少两个哈希字符串,其中,所述哈希字符串是包含至少一个字母的文本字符串。
第一哈希工具420可以基于第一注册用户的第一轨迹,第二注册用户的第二轨迹和第一哈希函数获得第一轨迹的第一哈希字符串和第二轨迹的第一哈希字符串。第一哈希函数可以是将地理坐标转换为文本字符的任何函数。仅作为示例,第一哈希函数可以是geohash函数。第一轨迹的第一哈希字符串可是第一轨迹的geohash字符串。第二轨迹的第一哈希字符串可是第二轨迹的geohash字符串。对于第一轨迹,第一哈希工具420可以对第一轨迹的每个地理坐标进行geohash,以获得地理坐标的geohash字符。构成第一轨迹的至少两个地理坐标的geohash字符可以构成第一轨迹的geohash字符串。同样地,第一哈希工具420可以对第二轨迹的每个地理坐标进行geohash,以获得地理坐标的geohash字符。地理坐标的geohash字符可以构成第二轨迹的geohash字符串。在一些实施例中,第一轨迹的geohash字符串和/或第二轨迹的geohash字符串可包括至少一个字母。在一些实施例中,第一轨迹的geohash字符串和/或第二轨迹的geohash字符串可以仅包括字母,不包括任何数字。
在530中,确定模块440可以通过局部敏感哈希在至少两个轨迹中识别一对相似轨迹。局部敏感哈希可包括simhash计算或minhash计算。识别该对相似轨迹的详细描述可以在别处找到,例如,图5B及其描述,并且在此不再重复。
应注意,以上关于过程500的描述仅出于说明性目的,并不意欲限制本申请之范围。对于熟习此项技术者,可在不背离本申请之原则的情况下对上述方法和系统之应用形式及细节作出各种修改和改变。然而,此些变化和修改亦落于本申请之范围内。例如,过程500可以进一步包括用于产生指示第一注册用户和第二注册用户对应于同一车辆的信号的操作,以及用于停用第一注册用户和第二注册用户中的至少一个的操作。
图5B示出根据本申请的一些实施例的用于确定与一对相似轨迹相关联的一个或以上车辆之间的关系的示例性过程的流程图。如图1所示,可以在在线-离线服务系统100中实现过程504的至少一部分。在一些实施例中,过程504中的一个或以上操作可以由第二哈希工具430执行,其可以由处理引擎112执行。在一些实施例中,过程504中的一个或以上操作可以在移动设备上实现,如图3所示。在一些实施例中,过程504中的一个或以上操作可以以指令的形式存储在存储设备150和/或另一个存储设备中,并且被调用和/或执行。例如,如上面图5B中所示,可以由搭载在在线-离线服务系统100中的服务器110上的处理引擎112实现。以下所示过程的操作仅出于说明的目的。在一些实施例中,可以利用未描述的一个或以上附加操作和/或没有讨论的一个或以上操作来完成过程504。另外,图5B所示和下面描述的过程操作的顺序不是限制性的。
在540中,第二哈希工具430可以使用哈希算法将至少两个哈希字符串分别变换为至少两个二进制字符串。第二哈希工具430可以使用第二哈希函数(或称为第二哈希算法)将第一轨迹的第一哈希字符串变换为第一轨迹的第二哈希字符串,将第二轨迹的第一哈希字符串转换为第二轨迹的第二哈希字符串。第二哈希函数可以是将文本字符变换为二进制字符的任何函数。仅作为示例,第二哈希函数可以是simhash函数。第一轨迹的第二哈希字符串可是第一轨迹的simhash字符串。第二轨迹的第二哈希字符串可是第二轨迹的simhash字符串。获得第一轨迹的simhash字符串和第二轨迹的simhash字符串的详细描述可以在图5C及其描述中找到,并且在此不再重复。
在550中,确定模块440可以计算至少两个二进制字符串中的任何两个之间的海明距离。确定模块440可以确定第一轨迹的simhash字符串与第二轨迹的simhash字符串之间的海明距离。
在560中,确定模块440可以识别具有小于阈值的海明距离的一对轨迹,作为所述至少两个轨迹中的相似轨迹对。确定模块440可以将在操作550中确定的海明距离与阈值进行比较。在确定第一轨迹的simhash字符串与第二轨迹的simhash字符串之间的海明距离小于阈值时,确定模块440可以确定第一轨迹和第二轨迹之间的相似性相对较高,并且将第一轨迹和第二轨迹识别为一对相似轨迹。在确定第一轨迹的simhash字符串与第二轨迹的simhash字符串之间的海明距离不小于阈值时,确定模块440可以确定第一轨迹和第二轨迹之间的相似性相对较低。
在570中,确定模块440可以确定与该对相似轨迹相关联的一个或以上车辆之间的关系。在一些实施例中,确定模块440可以直接确定与该对相似轨迹相关联的一个或以上车辆之间的关系。例如,确定模块440可以在识别出相似轨迹对时确定与该对相似轨迹相关联的一个或以上车辆是相同的。在一些实施例中,确定模块440可以首先确定与相似轨迹相关联的注册用户之间的关系,基于该关系,确定模块440可以确定与该对相似轨迹相关联的一个或以上车辆之间的关系。确定模块440可以基于所确定的第一轨迹和第二轨迹之间的相似性来确定第一注册用户和第二注册用户之间的关系。例如,确定模块440可以确定第一注册用户和第二注册用户是否对应于同一车辆。当第一轨迹和第二轨迹之间的相似性相对较高时,确定模块440可以确定第一注册用户和第二注册用户对应于同一车辆。否则,确定模块440可以确定第一注册用户和第二注册用户对应于不同的车辆。
图5C示出根据本申请的一些实施例的用于获得二进制字符串的示例性过程的流程图。如图1所示,可以在在线-离线服务系统100中实现过程505的至少一部分。在一些实施例中,过程505中的一个或以上操作可以由第二哈希工具430执行,其可以由处理引擎112执行。在一些实施例中,如图3所示,过程505中的一个或以上操作可以在移动设备上实现。在一些实施例中,过程505中的一个或以上操作可以以指令的形式存储在存储设备150和/或另一个存储设备中,并且被调用和/或执行。例如,如上面在图1中所示,可以由在线-离线服务系统100中的服务器110上搭载的处理引擎112实现。以下所示过程的操作仅出于说明的目的。在一些实施例中,可以利用未描述的一个或以上附加操作和/或没有讨论的一个或以上操作来完成过程505。另外,如图5C所示和下面描述的过程操作的顺序不是限制性的。
在541中,选择单元431可以从哈希字符串中选择至少两个目标哈希字符。选择单元431可以从轨迹的第一哈希字符串中选择一个或以上目标第一哈希字符。例如,选择单元431可以从第一轨迹的第一哈希字符串选择一个或以上目标第一哈希字符。又例如,选择单元431可以从第二轨迹的第一哈希字符串中选择一个或以上目标第一哈希字符。选择单元431可以通过消除轨迹的第一哈希字符串中的至少一些重复的第一哈希字符,以从轨迹的第一哈希字符串中选择目标第一哈希字符。例如,对于某个轨迹,第一个第一哈希字符、第二个第一哈希字符、第三个第一哈希字符可相同,第二哈希工具430可以消除三个第一哈希字符,或三个哈希字符中的任何两个,或三个哈希字符中的任何一个。仅作为示例,选择单元431可以消除第二个第一哈希字符,和第三个第一哈希字符,保留轨迹中的第一个第一哈希字符。当轨迹,例如,第二轨迹不包括重复的第一哈希字符,选择单元431可以将第一哈希字符串中的所有字符确定为第二轨迹的第一哈希字符串的目标第一哈希字符。
在542中,哈希单元432可以使用哈希算法将至少两个目标哈希字符分别变换为至少两个二进制字符,构成一个二进制字符串。对于每个目标第一哈希字符,哈希单元432可以对目标第一哈希字符执行第二哈希函数以获得目标第一哈希字符的第二哈希字符。在一些实施例中,为了将每个目标第一哈希字符哈希成第二哈希字符,第二哈希工具430可以给目标第一哈希字符中的每个字母或值分配一个第二哈希字符。组成目标第一哈希字符的字母或数值的第二哈希字符可以组成目标第一哈希字符的第二哈希字符。例如,目标第一哈希字符可以是“OK”。哈希单元432可以为字母“O”分配二进制值“11”、字母“K”分配二进制值“10”,那么,该目标第一哈希字符“OK”的第二哈希字符可是“1110”。
应注意,上述关于过程505的描述仅出于说明性目的,并不意欲限制本申请的范围。对于熟习此项技术者,可在不背离本申请之原则的情况下对上述方法和系统之应用形式及细节作出各种修改和改变。然而,此些变化和修改亦落于本申请之范围内。例如,过程505还可以包括用于存储所选择的目标第一哈希字符的操作。
图6示出根据本申请的一些实施例的用于识别相似轨迹的示例性过程的流程图。过程600可以由在线-离线服务系统100执行。例如,过程600可以实现为存储在存储ROM 230或RAM 240中的一组指令(例如,应用程序)。处理器220可以执行该组指令,并且当执行该指令时,可以将其配置为执行该过程600。以下所示过程的操作仅出于说明的目的。在一些实施例中,可以利用未描述的一个或以上附加操作和/或没有讨论的一个或以上操作来完成过程600。另外,如图6所示和下面描述的过程操作的顺序不是限制性的。
在610中,获取模块410可以获取由至少两个司机报告的至少两个车辆运动路径,所述至少两个车辆运动路径包括由第一司机报告的第一车辆运动路径(VMP)和由第二司机报告的第二车辆运动路径。获取模块410可以从在线-离线服务系统100的一个或以上组件(例如,存储器150)获得至少两个运动路径。第一运动路径可以包括表示第一VMP的经度和纬度的第一组值。第二运动路径可以包括表示第二VMP的经度和纬度的第二组值。在一些实施例中,第一组值中的每一个和第二组值中的每一个可具有相同的长度。
在620中,第一哈希工具420可以使用geohash技术,变换所述第一车辆运动路径的第一组值到第一geohash字符串,变换第二车辆运动路径的第二组值到第二geohash字符串。第一哈希工具420可以将第一VMP的第一组值的每个值变换为geohash字符。第一VMP的第一组值的geohash字符可以构成第一VMP的第一组geohash字符串。同样地,第一哈希工具420可以将第二VMP的第二组值的每个值变换为geohash字符。第二VMP的第二组值的geohash字符可以构成第二VMP的第二geohash字符串。在一些实施例中,第一VMP的第一geohash字符串中的每个geohash字符和第二VMP的第二geohash字符串中的每个geohash字符具有相同的长度。例如,第一VMP的第一geohash字符串中的每个geohash字符和第二VMP的第二geohash字符串中的每个geohash字符可以包括8个值。
在630中,在所述第一geohash字符串中删除一个或以上geohash字符,以获得修改后的第一geohash字符串,或者在所述第二geohash字符串中删除一个或以上geohash字符。在一些实施例中,geohash字符串中的一个或以上geohash字符(例如,第一VMP的第一个geohash字符串和/或第二个VMP的第二个geohash字符串)可以是重复的。第二哈希工具430可以消除重复字符中的至少一部分。第二哈希工具430可以消除第一VMP的第一geohash字符串和/或第二VMP的第二geohash字符串中的重复字符,这样第一个VMP的第一个geohash字符串中没有重复的字符,并且第二个VMP的第二个geohash字符串中没有重复字符。第二哈希工具430可以消除第一VMP的第一geohash字符串和/或第二VMP的第二geohash字符串中的重复字符使得第一VMP的第一geohash字符串中的剩余字符数和第二VMP的第二geohash字符串中的剩余字符数相同。也就是说,在消除操作之后,第一VMP第一geohash字符串和第二VMP的第二geohash字符串具有相同的长度。
在640中,第二哈希工具430可以使用simhash计算或minhash计算,将修改后的第一geohash字符串转换为第一64/128字符二进制字符串,并将修改后的第二geohash字符串转换为第二64/128字符二进制字符串。对于第一geohash字符串中的每个geohash字符,第二哈希工具430可以将geohash字符转换为simhash字符。第一geohash字符串中geohash字符的simhash字符可以是二进制字符串,其长度可以是64/128字符。同样地,对于第二geohash字符串中的每个geohash字符,第二哈希工具430可以将geohash字符转换为simhash字符。第二geohash字符串中geohash字符的simhash字符可以组成二进制字符串,其长度可以是64/128字符。
在650中,确定模块440可以使用局部敏感的哈希(LSH)计算来识别第一VMP和第二VMP是否具有小于预设海明距离阈值X的海明距离。预设海明距离阈值X可以由用户通过在线-离线服务系统100中的一个或以上组件来设置。
应注意,上述关于过程600的描述仅出于说明性目的,并不意欲限制本申请的范围。对于本领域普通技术人员来说,在不背离本申请原则的前提下,可以对上述方法及系统的应用进行各种形式和细节的改进和改变。然而,此些变化和修改亦落于本申请之范围内。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特性可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、设备或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括面向对象程序设计语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化程序设计语言如C程序设计语言、Visual Basic、Fortran1703、Perl、COBOL 1702、PHP、ABAP,动态程序设计语言如Python、Ruby和Groovy,或其他程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网络(LAN)或广域网路(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (14)
1.一种识别相似轨迹的方法,包括:
从一个或以上用户终端获得至少两个轨迹,每个轨迹具有所述一个或以上用户终端的至少两个位置表示;
基于所述至少两个位置表示,分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包含至少一个字母的文本字符串;
对于所述至少两个哈希字符串中的每一个,通过消除所述哈希字符串中的重复哈希字符中的至少一些来选择至少两个目标哈希字符;
使用哈希算法,将所述至少两个目标哈希字符分别转化为至少两个二进制字符,所述至少两个二进制字符构成一个二进制字符串,进而实现通过局部敏感哈希从所述至少两个轨迹中识别出相似轨迹对。
2.根据权利要求1所述的方法,其特征在于,为了通过局部敏感哈希从所述至少两个轨迹识别所述相似轨迹对,所述方法包括:
计算所述至少两个二进制字符串中任意两个之间的海明距离;以及
在所述至少两个轨迹中,识别海明距离小于阈值的两个轨迹作为所述相似轨迹对。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述方法包括:
确定与所述相似轨迹对相关联的一个或以上车辆之间的关系。
4.根据权利要求3所述的方法,其特征在于,所述方法包括:
识别所述相似轨迹对后,确定所述一个或以上与所述相似轨迹对相关的车辆是相同的。
5.根据权利要求1所述的方法,其特征在于,所述至少两个位置表示中的每一个是一对地理坐标或物理地址。
6.根据权利要求5的方法,其特征在于,所述局部敏感哈希是simhash算法或minhash算法。
7.一种识别相似轨迹的系统,其特征在于,所述系统包括:
获取模块,从一个或以上用户终端获得至少两个轨迹,每个轨迹具有所述一个或以上用户终端的至少两个位置表示;
一个或多个哈希工具,用于基于所述至少两个位置表示,分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包含至少一个字母的文本字符串;
对于所述至少两个哈希字符串中的每一个,通过消除所述哈希字符串中的重复哈希字符中的至少一些来选择至少两个目标哈希字符;
使用哈希算法,将所述至少两个目标哈希字符分别转化为至少两个二进制字符,所述至少两个二进制字符构成一个二进制字符串,以及
确定模块,用于通过局部敏感哈希从所述至少两个轨迹中识别出相似轨迹对。
8.一种用于识别相似轨迹的系统,其特征在于,所述系统包括至少一个存储介质以及至少一个处理器;
所述至少一个存储介质用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令,当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器用于:
从一个或以上用户终端获得至少两个轨迹,每个轨迹具有所述一个或以上用户终端的至少两个位置表示;
基于所述至少两个位置表示,分别获得至少两个哈希字符串,其中所述至少两个哈希字符串是包含至少一个字母的文本字符串;
对于所述至少两个哈希字符串中的每一个,通过消除所述哈希字符串中的重复哈希字符中的至少一些来选择至少两个目
标哈希字符;
使用哈希算法,将所述至少两个目标哈希字符分别转化为至少两个二进制字符,所述至少两个二进制字符构成一个二进
制字符串,进而实现通过局部敏感哈希从所述至少两个轨迹中
识别出相似轨迹对。
9.根据权利要求8所述的系统,其特征在于,为了通过局部敏感哈希从所述至少两个轨迹识别所述相似轨迹对,所述至少有一个处理器用于:
计算所述至少两个二进制字符串中任意两个之间的海明距离;以及
在所述至少两个轨迹中,识别海明距离小于阈值的两个轨迹作为所述相似轨迹对。
10.根据权利要求8-9中任一项所述的系统,其特征在于,所述至少一个处理器还用于:
确定与所述相似轨迹对相关联的一个或以上车辆之间的关系。
11.根据权利要求10所述的系统,其特征在于,所述至少有一个处理器还用于:
识别所述相似轨迹对后,确定所述一个或以上与所述相似轨迹对相关的车辆是相同的。
12.根据权利要求8所述的系统,其特征在于,所述至少两个位置表示中的每一个是一对地理坐标或物理地址。
13.根据权利要求12所述的系统,其特征在于,所述局部敏感哈希是simhash算法或minhash算法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行时,实现如权利要求1-6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092756.6A CN111507732B (zh) | 2019-01-30 | 2019-01-30 | 用于识别相似轨迹的系统和方法 |
PCT/CN2019/074524 WO2020155135A1 (en) | 2019-01-30 | 2019-02-02 | Systems and methods for identifying similar trajectories |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092756.6A CN111507732B (zh) | 2019-01-30 | 2019-01-30 | 用于识别相似轨迹的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111507732A CN111507732A (zh) | 2020-08-07 |
CN111507732B true CN111507732B (zh) | 2023-07-07 |
Family
ID=71840648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910092756.6A Active CN111507732B (zh) | 2019-01-30 | 2019-01-30 | 用于识别相似轨迹的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111507732B (zh) |
WO (1) | WO2020155135A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434084B (zh) * | 2020-12-02 | 2023-04-07 | 电信科学技术第十研究所有限公司 | 基于geohash和LCSS的轨迹相似度匹配方法及装置 |
CN112770252A (zh) * | 2020-12-31 | 2021-05-07 | 深圳前海中电慧安科技有限公司 | 基于单点相似度的人车关联方法、装置、设备及存储介质 |
CN112752232B (zh) * | 2021-01-07 | 2022-07-12 | 重庆大学 | 面向隐私保护的司机-乘客匹配方法 |
US20220260376A1 (en) * | 2021-02-17 | 2022-08-18 | Turing Research Inc. | System and method for rideshare matching based on locality sensitive hashing |
CN113487865B (zh) * | 2021-07-02 | 2022-07-22 | 江西锦路科技开发有限公司 | 一种高速公路行驶车辆信息采集系统及方法 |
CN114034938B (zh) * | 2021-11-05 | 2023-12-05 | 青岛大学 | 一种介质空间中天线性能评估方法、装置及电子设备 |
US12020564B2 (en) * | 2022-09-14 | 2024-06-25 | Maxar Intelligence Inc. | Hashing vehicle position data in real-time to detect behavior patterns |
US20240087446A1 (en) * | 2022-09-14 | 2024-03-14 | Maxar Technologies Holdings Inc. | Hashing vehicle position data in real-time to detect behavior patterns |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106972917A (zh) * | 2017-03-15 | 2017-07-21 | 西安电子科技大学 | 用户运行轨迹的安全验证方法 |
CN108009253A (zh) * | 2017-12-05 | 2018-05-08 | 昆明理工大学 | 一种改进的字符串相似对比方法 |
CN108536851A (zh) * | 2018-04-16 | 2018-09-14 | 武汉大学 | 一种基于移动轨迹相似度比较的用户身份识别方法 |
CN108596815A (zh) * | 2018-04-08 | 2018-09-28 | 深圳市和讯华谷信息技术有限公司 | 基于移动终端的用户行为相似度识别方法、系统及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014146259A1 (en) * | 2013-03-20 | 2014-09-25 | Nokia Corporation | An identification token |
CN105989268A (zh) * | 2015-03-02 | 2016-10-05 | 苏宁云商集团股份有限公司 | 一种人机识别的安全访问方法和系统 |
CN107341668B (zh) * | 2016-04-29 | 2021-03-16 | 北京嘀嘀无限科技发展有限公司 | 一种判断真实数据的方法以及装置 |
CN108536704B (zh) * | 2017-03-02 | 2022-02-08 | 华为技术有限公司 | 一种轨迹查询方法、系统及装置 |
-
2019
- 2019-01-30 CN CN201910092756.6A patent/CN111507732B/zh active Active
- 2019-02-02 WO PCT/CN2019/074524 patent/WO2020155135A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106972917A (zh) * | 2017-03-15 | 2017-07-21 | 西安电子科技大学 | 用户运行轨迹的安全验证方法 |
CN108009253A (zh) * | 2017-12-05 | 2018-05-08 | 昆明理工大学 | 一种改进的字符串相似对比方法 |
CN108596815A (zh) * | 2018-04-08 | 2018-09-28 | 深圳市和讯华谷信息技术有限公司 | 基于移动终端的用户行为相似度识别方法、系统及装置 |
CN108536851A (zh) * | 2018-04-16 | 2018-09-14 | 武汉大学 | 一种基于移动轨迹相似度比较的用户身份识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111507732A (zh) | 2020-08-07 |
WO2020155135A1 (en) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111507732B (zh) | 用于识别相似轨迹的系统和方法 | |
CN109074370B (zh) | 确定兴趣点的系统和方法 | |
JP6538196B2 (ja) | サービスの要求を分配するシステム及び方法 | |
US11398002B2 (en) | Systems and methods for determining an estimated time of arrival | |
US11017662B2 (en) | Systems and methods for determining a path of a moving device | |
JP6687772B2 (ja) | サービス時点を予測するシステム及び方法 | |
CN110999331B (zh) | 一种命名接载位置的方法和系统 | |
CN109313036B (zh) | 路线规划的系统及方法 | |
CN110249357B (zh) | 用于数据更新的系统和方法 | |
CN111998865B (zh) | 一种用于路径确定的系统和方法 | |
CN111144968B (zh) | 用于分配服务请求的系统和方法 | |
CN110832513B (zh) | 用于按需服务的系统和方法 | |
CN111587429B (zh) | 用于关联数据集的系统和方法 | |
CN110832811A (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 |