CN117135573B - Cell位置的更新方法、服务器及存储介质 - Google Patents
Cell位置的更新方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN117135573B CN117135573B CN202310410403.2A CN202310410403A CN117135573B CN 117135573 B CN117135573 B CN 117135573B CN 202310410403 A CN202310410403 A CN 202310410403A CN 117135573 B CN117135573 B CN 117135573B
- Authority
- CN
- China
- Prior art keywords
- grid
- cell
- target cell
- target
- electronic device
- 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 72
- 238000012545 processing Methods 0.000 claims description 50
- 230000009466 transformation Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004220 aggregation Methods 0.000 claims 1
- 230000002776 aggregation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 21
- 238000012384 transportation and delivery Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 101100182247 Caenorhabditis elegans lat-1 gene Proteins 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 101100182248 Caenorhabditis elegans lat-2 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- GRRMZXFOOGQMFA-UHFFFAOYSA-J YoYo-1 Chemical compound [I-].[I-].[I-].[I-].C12=CC=CC=C2C(C=C2N(C3=CC=CC=C3O2)C)=CC=[N+]1CCC[N+](C)(C)CCC[N+](C)(C)CCC[N+](C1=CC=CC=C11)=CC=C1C=C1N(C)C2=CC=CC=C2O1 GRRMZXFOOGQMFA-UHFFFAOYSA-J 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种Cell位置的更新方法、服务器及存储介质。在该方法中,服务器采用Cell信号覆盖的栅格集合来标识Cell的位置信息,进而服务器可以通过更新Cell信号覆盖的栅格集合来实现对Cell位置的更新。其中,服务器获取多个周期内分别确定的与目标Cell对应的多个初始栅格集合;服务器基于目标Cell在多个周期内的最高频栅格,对在多个周期内学习到的与目标Cell对应的栅格进行过滤,以得到与目标Cell对应的目标栅格集合进行上线。这样提高了基于众包数据确定的Cell位置信息的准确度,能够避免由于偶发的错误打点数据而影响Cell位置信息准确性的问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种Cell位置的更新方法及服务器。
背景技术
基于众包数据学习得到的Cell(小区或蜂窝小区)位置,可以用于构建POI(Pointof Interest,兴趣点)的地理围栏,也可以用于对电子设备进行低精度定位等。其中,Cell位置学习得是否准确,直接影响着用户的使用体验。
因此,如何提高基于众包数据得到的Cell位置的精准性,以避免给用户带来不佳的使用体验,是亟待解决的问题。
发明内容
为了解决上述技术问题,本申请实施例提供一种Cell位置的更新方法、服务器及存储介质,以提高基于众包数据确定的Cell位置信息的准确度。
第一方面,本申请实施例提供一种Cell位置的更新方法。其中,该方法应用于服务器中,包括:
服务器获取在多个周期内分别确定的与目标Cell对应的多个初始栅格集合;其中,每个初始栅格集合是基于一个周期内接收到的众包数据确定的,用于指示目标Cell的信号覆盖范围所涉及的栅格;服务器对多个初始栅格集合进行去重处理,得到与目标Cell对应的第一栅格集合;在第一栅格集合中,服务器确定目标Cell在多个周期内的最高频栅格;在第一栅格集合中,服务器筛选距离最高频栅格满足第一条件的栅格,得到与目标Cell对应的第二栅格集合,作为与目标Cell对应的目标栅格集合;服务器将与目标Cell对应的在线栅格集合更新为目标栅格集合。
其中,众包数据是由大量电子设备的打点数据构成的。服务器可以基于一个周期内接收到的众包数据学习到与各个Cell对应的初始栅格集合。示例性的,服务器对多个初始栅格集合进行去重处理,可以是对多个初始栅格集合取并集的操作。
这样,服务器基于目标Cell在多个周期内的最高频栅格,对在多个周期内学习到的与目标Cell对应的栅格进行过滤,以得到与目标Cell对应的目标栅格集合进行上线,提高了基于众包数据确定的Cell位置信息的准确度,能够避免由于偶发的错误打点数据而影响Cell位置信息准确性的问题。
根据第一方面,在得到与目标Cell对应的第二栅格集合之后,该方法还包括:
服务器确定与目标Cell对应的Cell地理围栏;服务器获取Cell地理围栏的中心栅格,在第二栅格集合中筛选距离中心栅格满足第二条件的栅格,得到与目标Cell对应的第三栅格集合,作为与目标Cell对应的目标栅格集合。
这样,针对服务器基于目标Cell在多个周期内的最高频栅格过滤后得到的与目标Cell对应的第二栅格集合,服务器继续基于Cell地理围栏的中心栅格进行过滤,进一步提高了基于众包数据确定的Cell位置信息的准确度。
根据第一方面,或者以上第一方面的任意一种实现方式,在该方法中,服务器确定与目标Cell对应的Cell地理围栏,可以包括:服务器确定与目标Cell对应的且具有业务正反馈的Cell地理围栏;其中,业务正反馈用于指示用户针对与Cell地理围栏对应的业务通知作出了正向反馈操作。
这样,服务器基于用户对围栏业务通知的正反馈操作确定各个具有业务正反馈的Cell地理围栏。进而,针对基于目标Cell在多个周期内的最高频栅格过滤后得到的与目标Cell对应的第二栅格集合,服务器可以继续基于与目标Cell对应的具有业务正反馈的Cell地理围栏的中心栅格进行过滤,能够避免由于频繁的错误打点数据而导致Cell位置信息有误的问题。
根据第一方面,或者以上第一方面的任意一种实现方式,在该方法中,服务器确定与目标Cell对应的Cell地理围栏,包括:在第二栅格集合与在线栅格集合不同时,服务器确定与目标Cell对应的Cell地理围栏。
这样,在服务器基于目标Cell在多个周期内的最高频栅格,对在多个周期内学习到的与目标Cell对应的栅格进行过滤后,如果第二栅格集合与目标Cell对应的在线栅格集合相同,则表明服务器在新周期内未学习到与目标Cell对应的新栅格,此时服务器无需对第二栅格集合进行过滤,直接上线即可。
根据第一方面,或者以上第一方面的任意一种实现方式,在第一栅格集合中,服务器确定目标Cell在多个周期内的最高频栅格,包括:服务器统计第一栅格集合中每个栅格在多个初始栅格集合中的出现次数;服务器将出现次数最多的一个栅格作为目标Cell在多个周期内的最高频栅格。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:若多个栅格在多个初始栅格集合中的出现次数相等且出现次数最多,服务器则将出现次数最多且打点时间距离当前最短的一个栅格作为目标Cell在多个周期内的最高频栅格。
根据第一方面,或者以上第一方面的任意一种实现方式,第一条件包括:与最高频栅格的行号之差小于第一阈值,与最高频栅格的列号之差小于第二阈值;或者,第一条件包括:与最高频栅格的中心点距离小于第三阈值。
服务器在基于最高频栅格对第一栅格集合进行过滤时,可以考虑第一栅格集合中各栅格与最高频栅格之间的距离,距离越大的栅格属于目标Cell信号覆盖范围的可能性就越小,可以舍弃。
根据第一方面,或者以上第一方面的任意一种实现方式,第二条件包括:与中心栅格的行号之差小于第四阈值,与中心栅格的列号之差小于第五阈值;或者,第二条件包括:与中心栅格的中心点距离小于第六阈值。
服务器在基于Cell地理围栏的中心栅格对第二栅格集合进行过滤时,可以考虑第二栅格集合中各栅格与中心栅格之间的距离,距离越大的栅格属于Cell地理围栏的可能性就越小,误划分至目标Cell信号覆盖范围的可能性就越大,可以舍弃。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:服务器获取在每个周期内接收到的众包数据;其中,众包数据中的每个打点数据中包括定位信息和Cell信息;服务器根据Cell信息对众包数据进行数据汇聚,得到与每个Cell对应的多个打点数据;服务器针对与每个Cell对应的多个打点数据,分别基于墨卡托投影变换以及预设的栅格地理特征数据库确定与各个定位信息对应的栅格,得到与每个Cell对应的初始栅格集合。
在本申请实施例中,服务器基于众包数据学习各个Cell信号覆盖的栅格,以用于标识Cell的位置信息,以使服务器可以根据多个周期内接收到的打点数据对Cell信号覆盖的栅格进行更新,从而实现对Cell位置信息的更新。
根据第一方面,或者以上第一方面的任意一种实现方式,在将与目标Cell对应的在线栅格集合更新为目标栅格集合之后,该方法还包括:服务器将目标栅格集合中各栅格的中心点位置的平均值,作为目标Cell的中心点位置;服务器分别计算目标Cell的中心点与目标栅格集合中各栅格中心点之间的距离,并将最大距离值作为Cell的信号覆盖半径。
这样,服务器在更新与目标Cell对应的栅格集合后,可以基于这些栅格集合重新计算目标Cell的中心点以及信号覆盖范围半径。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:服务器将与目标Cell对应的在线栅格集合,目标Cell的中心点位置以及Cell的信号覆盖半径重新下发至电子设备中,以使电子设备基于目标Cell的相关信息进行定位操作。
这样,电子设备可以基于更新后的Cell位置信息进行低精度定位操作,确保低精度定位的准确性。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:服务器根据与目标Cell对应的在线栅格集合,对相关的Cell地理围栏进行更新;服务器将更新后的Cell地理围栏重新下发至电子设备中,以使电子设备对更新后的Cell地理围栏进行注册。
这样,服务器可以基于更新后的各个Cell位置信息对相关的POI地理围栏进行更新,使得POI地理围栏对应的Cell集合更加精准。当服务器将更新后的Cell地理围栏下发到电子设备中后,电子设备就可以根据准确的Cell集合精准地弹出通知或警告。
第二方面,本申请实施例提供一种服务器。该服务器包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得服务器执行第一方面以及第一方面中任意一项的Cell位置的更新方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供一种计算机可读存储介质。该计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第一方面以及第一方面中任意一项的Cell位置的更新方法。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面中任意一项的Cell位置的更新方法。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚和该处理电路通过内部连接通路互相通信,该处理电路执行如第一方面或第一方面中任意一项的Cell位置的更新方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1a为示例性示出的一种应用场景示意图;
图1b为示例性示出的一种应用场景示意图;
图2a为示例性示出的电子设备的硬件结构示意图;
图2b为示例性示出的电子设备的软件结构示意图;
图3a为示例性示出的一种应用场景示意图;
图3b为示例性示出的一种应用场景示意图;
图3c为示例性示出的电子设备弹出提示信息时的界面示意图;
图3d为示例性示出的电子设备中模块交互示意图;
图4a为示例性示出的墨卡托投影变换示意图;
图4b为示例性示出的基于打点数据及墨卡托投影变换确定Cell信号覆盖栅格的示意图;
图5为示例性示出的基于大量打点数据确定Cell信号覆盖栅格的示意图;
图6a和图6b为示例性示出的基于单周期学习Cell信号覆盖范围的示意图;
图7a-图7c为示例性示出的基于多周期学习Cell信号覆盖范围的示意图;
图8为示例性示出的一种应用场景示意图;
图9为本申请实施例提供的Cell信号覆盖范围的更新流程图;
图10a为示例性示出的基于打点频率对Cell信号覆盖的栅格进行过滤的示意图;
图10b为示例性示出的基于地理围栏对Cell信号覆盖的栅格进行过滤的示意图;
图10c为示例性示出的对Cell中心点及信号覆盖半径进行更新的示意图;
图11为示例性示出的一种装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
“众包思想”,指的是云服务器通过接入互联网的大量“志愿者”(如接入互联网的电子设备)收集数据,并对众包数据进行分析以得到相关需求信息的思想逻辑。
示例性的,本申请实施例所说的电子设备,也可以称为终端设备,或者终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。
在一些实现方式中,电子设备可以是手机(mobile phone)、可穿戴设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端等,此处不再一一列举,本申请对此不作限制。
此外,电子设备还可以是物联网(internet of things,IoT)系统中的电子设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。本申请实施例对电子设备所采用的具体技术和具体设备形态不做限定。
在本申请实施例中,接入互联网的大量终端设备(例如手机等)收集与Cell(小区或蜂窝小区)位置相关的数据,并将这些数据(本文中简称为打点数据)发送至云服务器,以使云服务器可以基于众包数据(也即终端设备发送的打点数据)学习Cell的位置信息。其中,终端设备发送的打点数据中可以包括但不限于定位信息(如经纬度信息)以及终端设备接入的Cell信息(如运营商标识、Cell ID)等。示例性的,用户A在进入某区域时其携带的终端设备向云服务器上报打点数据,用户B的终端设备在接收到某通知(如取件通知、取票通知等)时向云服务器上报打点数据等。
需要指出的是,小区(Cell),也称蜂窝小区,是指在蜂窝移动通信系统中,其中的一个基站或基站的一部分所覆盖的区域,在这个区域内移动台可以通过无线信道可靠地与基站进行通信。一般来说,一个基站可以包括一个或多个小区。在本实施例中提及的Cell位置,具体指的是基站包括的某个小区的位置,也即在本实施例中可以使用小区的位置信息来描述或标识基站的位置信息。
在云服务器基于众包数据学到的各Cell的位置信息之后,各个Cell的位置信息可以用于对电子设备进行低精度定位。在一种应用场景中,如图1a所示,当用户A携带手机进入Cell_A的信号覆盖范围时,其携带的手机接入Cell_A。此时,手机中定位应用在对手机进行低精度定位时,可以将Cell_A的位置信息(例如Cell_A信号覆盖区域中心点的位置信息)作为手机的当前定位信息。
在云服务器基于众包数据学到的各Cell的位置信息之后,各个Cell的位置信息可以用于构建POI(Point of Interest,兴趣点)的地理围栏(Geo-fencing)。其中,地理围栏是LBS(Location Based Services,基于位置的服务)的一种新应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。当手机等电子设备进入、离开某个特定地理区域,或在该区域内活动时,手机可以自动接收通知或警告等。在另一种应用场景中,如图1b所示,与POI_B对应的地理围栏是基于Cell_11~Cell_26构建的,也即POI_B的地理围栏对应于的Cell集合包括Cell_11~Cell_26这16个Cell。其中,本实施例中以圆形区域标识Cell的信号覆盖区域进行示例,该示例并不构成对Cell信号覆盖区域的限定。当用户B携带手机进入Cell_11~Cell_26中任意一个Cell的信号覆盖区域连接上相应的Cell时,手机均会触发POI_B的地理围栏,此时手机可以自动接收与POI_B对应的通知或警告等。
在本申请实施例中,电子设备可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(central processingunit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
为了更好的理解本申请实施例提供的技术方案,下面先对本申请实施例的电子设备的结构进行介绍。
图2a示例性的示出了一种电子设备100的硬件结构示意图。参见图2a,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
示例性的,在一些实现方式中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等,此处不再一一例举,本申请对此不作限制。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
继续参见图2a,示例性的,电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实现方式中,天线可以和调谐开关结合使用。
继续参见图2a,示例性的,移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实现方式中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实现方式中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
此外,需要说明的是,调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实现方式中,调制解调处理器可以是独立的器件。在另一些实现方式中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
继续参见图2a,示例性的,无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
具体到本申请实施例提供的技术方案中,电子设备100可通过移动通信模块150或无线通信模块160与相关应用(例如快递应用)对应的应用服务器进行通信。例如,电子设备100可以通过移动通信模块150接收相关应用服务器下发的通知信息或警告信息等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
应当理解的是,图2a所示电子设备100仅是一个范例,在具体实现中,电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2a中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
为了更好的理解图2a所示电子设备100的软件结构,以下对电子设备100的软件结构进行说明。在对电子设备100的软件结构进行说明之前,首先对电子设备100的软件系统可以采用的架构进行说明。
具体的,在实际应用中,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。可理解的,目前主流的电子设备使用的软件系统包括但不限于Windows系统、Android系统和iOS系统。为了便于说明,本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
如图2b所示,电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实现方式中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
其中,应用程序层可以包括一系列应用程序包。如图2b所示,应用程序包可以包括相机,日历,电话,地图,电话,设置,情境感知模块、业务逻辑处理模块、业务呈现模块和服务中心等应用程序,此处不再一一列举,本实施例对此不作限定。
其中,情境感知模块、业务逻辑处理模块、业务呈现模块和服务中心为实现本申请实施例的主要功能模块。
示例性的,情境感知模块常驻运行或以低功耗形式运行,具有感知外部事实或者环境的能力。例如,在相关业务处理开启状态时,情境感知模块对根据业务逻辑处理模块注册的能力(或事项,如特定时间、特定地点、或特定事件等)进行监控,如果用户触发了其中某一种,情境感知模块可以发送通知给业务逻辑处理模块。此外,情境感知模块还可以通过应用编程接口(application programming interface,API)从应用程序层的其他应用程序或应用程序框架层或系统层或内核层来检测相关事件和获取事件的状态,比如检测蓝牙连接,网络连接,监测用户短信,定制定时器等。在本申请一些实施例中,情境感知模块主要作用是感知用户是否在某POI的地理围栏中等。
业务逻辑处理模块具有业务逻辑处理能力,可以用于实现各种业务提示的显示以及取消显示的逻辑。例如,业务逻辑处理模块接收到情境感知模块发送的用于指示检测到某事项(如某POI的地理围栏被触发)的通知,可以根据逻辑来发送指令给业务呈现模块,以使业务呈现模块控制显示或取消显示相应的通知卡片。需要说明的是,通知卡片可以携带相关控件,当用户点击通知卡片上的相关控件时,电子设备显示与相关控件对应的应用界面或小程序界面,以便于用户执行相关业务操作,用户无需再自行查相关应用或小程序。
此外,业务逻辑处理模块也可以根据接收情境感知模块发送的业务处理详情,例如用户是否处理了通知卡片所指示的业务(例如取快递、取票等),确定继续显示通知卡片还是取消显示通知卡片。可理解的,具体到实际应用中,业务逻辑处理模块,例如可以是电子设备中的计算引擎。
业务呈现模块,用于实现显示通知卡片或取消显示通知卡片的操作。例如,业务呈现模块可以根据业务逻辑处理模块发送的通知卡片显示指令,并相应的通知卡片展示给用户,以使用户可以根据该通知卡片执行相关操作。例如,业务呈现模块向用户展示快递通知卡片时,用户可以点击通知卡片上的相关控件,以使电子设备显示快递取件界面,方便用户使用。可理解的,在一些实现方式中,业务呈现模块例如可以是电子设备屏幕上显示的一块特定功能区域(如智能服务推荐区域),该区域用于显示相关的通知卡片。对应的,如果业务呈现模块接收到业务逻辑处理模块发送的通知卡片取消显示指令,业务呈现模块可以取消显示相应的通知卡片。
服务中心,用于为业务数据的变化提供服务,服务中心可以对应有服务中心数据库(date base,DB)。例如,以服务中心服务于快递业务为例,服务中心可以接收云侧推送的快递数据变更信息,将快递数据缓存在服务中心DB,以及通知业务呈现模块进行快递信息变更等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。其中,应用程序框架层包括一些预先定义的函数。
如图2b所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,视图系统,通知管理器,活动管理器等,此处不再一一列举,本申请对此不作限制。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,触摸屏幕,拖拽屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知信息被用于告知下载完成,消息提醒等。通知信息还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,通知信息还可以是以对话窗口形式出现在屏幕上的通知。通知信息还例如为在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
活动管理器用于负责管理应用的活动(activity)的启动、状态、生命周期等与activity相关的事务。其中,activity是一个应用程序组件,可以提供一个界面,以供用户通过该界面与电子设备进行交互,从而完成某项任务。
安卓运行时(Android Runtime)包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
可理解的,上述所说的2D图形引擎是2D绘图的绘图引擎。
此外,可理解的,Android系统中的内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动等。
可以理解的是,图2b示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
下述以快递业务为例对地理围栏进行解释说明。当电子设备的用户有待取件快递时,快递服务器可以向电子设备推送待取件消息,待取件消息中可以包括快递接收点名称和快递信息。快递接收点名称可以包括快递柜所处的小区以及快递接收点的物流标识,例如,快递接收点名称可以包括:A小区北门F快递柜等。快递信息例如包括取件码和快递状态等,快递状态例如包括:待取件、运输中或派送中等。
电子设备在接收到待取件消息时,可以对用户进行快递信息提示。例如,电子设备在进行快递信息提示时,可以通过通知消息、下拉通知栏消息、主界面中的卡片、负一屏中的快递卡片等的一种或多种进行快递信息推送。
在本申请实施例中,云服务器侧可以基于Cell构建与快递提示对应的地理围栏。示例性的,与快递提示对应的Cell地理围栏,可以是与快递接收点所在的区域(如住宅小区)对应的Cell地理围栏。其中,Cell地理围栏包括多个Cell,对应于一个Cell集合,该Cell集合可以称之为指纹库或特征库。
示例性的,如图3a所示,与快递柜A对应的Cell地理围栏可以包括:家画像所对应的Cell(Cell_11和Cell_12)、住宅小区周边Cell(标号1-13的Cell)以及快递接收点的Cell(即快递柜A所对应的Cell_21)。在电子设备进入图3a所示的Cell地理围栏的区域时,电子设备可以触发Cell地理围栏,进而作出相应的快递提示,方便用户获知待取件的相关信息。可选的,在电子设备进入图3a所示的Cell地理围栏的区域,且电子设备所连接的Cell属于快递柜A的Cell或者电子设备所连接的Cell为距离家围栏Q层以内的Cell,电子设备作出相应的快递提示。
结合图3a和图3b,示例性的,用户在驾驶车辆回家的路上电子设备收到了快递柜A的待取件消息,此时电子设备便可以执行注册快递提示的Cell地理围栏的操作。继续参见图3b,示例性的,在电子设备注册完Cell地理围栏后,检测到当前还未进入注册的Cell地理围栏范围时,可以不触发快递提示流程,从而减少对电子设备的资源占用的长时间占用。在电子设备检测到当前进入注册的Cell地理围栏范围时,触发快递提示流程,方便用户获知待取件的相关信息。
图3c示例性的示出了一种快递提示界面示意图。如图3c所示,在电子设备的负一屏界面中,包括常驻卡片,常驻卡片处设置有常驻快递卡片301。在电子设备接收到待取件消息时,电子设备在常驻快递卡片301中相应的快递提示信息。示例性的,快递提示信息可以包括快递单号、快递接收方手机尾号、快递接收点名称以及快递到达快递接收点的时间等。应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。示例性的,快递提示信息也可以显示于智能推荐区域(如YOYO建议)的活动卡片中,显示于下拉通知栏中,显示于锁屏界面的通知窗口中等,以对用户进行相应的快递提示。
结合上述场景的描述,参见图3d,电子设备进行快递提示的方法,具体可以包括:
S301,业务逻辑处理模块指示情境感知模块注册快递变化通知围栏。
本实施例中,快递变化通知围栏可以用于情境感知模块感知服务中心是否有快递变化。快递变化例如包括已有快递取出,或有新的待取件,或有快递处于运输中,或有快递即将到站等。
示例性的,情境感知模块根据业务处理模块的指示注册快递变化通知围栏(图中未示出)后,情境感知模块可以指示服务中心监听快递变化。
S302,情境感知模块指示服务中心监听快递变化。
S303,在服务中心存在快递变化时,服务中心指示情境感知模块快递变化。
示例性的,服务中心可以向情境感知模块发送用于指示快递变化的指令。
S304,情境感知模块向业务逻辑处理模块发送快递变化通知。
S305,业务逻辑处理模块判断当前的快递状态,确定是否存在待取件状态的快递。
即,本实施例中,快递提示仅针对待取件状态的快递而言。
S306,在确定存在待取件状态的快递时,业务逻辑处理模块从服务中心获取待取件状态的快递信息。
可理解的,在实际应用中,S106的实现具体可以分为业务逻辑处理模块向服务中心发起查询待取件状态的快递信息的查询请求,然后服务中心根据该查询请求,查找到对应的快递信息,并将查找到的快递信息发送给业务逻辑处理模块。
示例性的,快递信息,例如可以包括快递接收点的位置信息、名称、取件码、快递公司、到站时间等,此处不再一一列举,本实施例对此不作限定。
S307,业务逻辑处理模块在从服务中心获取到待取件状态的快递信息后,指示情境感知模块注册快递提示Cell地理围栏。
S308,情境感知模块根据业务逻辑处理模块的指示,注册快递提示Cell地理围栏。
可以理解的,如果根据快递信息中快递接收点的位置信息距离用户的住所,如家较近,则注册的快递提示Cell地理围栏,不仅包括快递接收点所对应的Cell,还包括用户家画像对应的Cell,以及家所处住宅小区周边的Cell。
其中,家画像对应的Cell和家所处住宅小区周边Cell,是云服务器作为与住宅小区对应的目标地理围栏下发到电子设备中的。可以理解的是,本申请实施例中以用户家画像位置Cell为例进行说明,在可能的实现中,上述实施例中,用户家画像位置也可以替换为用户公司画像位置或者用户自定义设置的位置等,本申请实施例不作具体限定。
S309,情境感知模块感知到快递提示Cell地理围栏触发时,向业务逻辑处理模块指示触发快递提示Cell地理围栏。
示例性的,基于位置服务和地理围栏的特性,携带该电子设备的用户进入快递提示Cell地理围栏所在的区域时,情境感知模块可以感知到快递提示Cell地理围栏被触发,此时就会向业务逻辑处理模块指示触发快递提示Cell地理围栏。
S310,业务逻辑处理模块触发业务呈现模块进行快递提示。
可以理解的,业务逻辑处理模块触发业务呈现模块进行快递提示时,例如可以向业务呈现模块发送快递提示指示,同时将待取件的快递信息传输给业务呈现模块,以便业务呈现模块根据待取件的快递信息,根据当前的界面选择合适的显示方式,进行显示。关于在电子设备的屏幕显示快递提示信息的方式可以参见上文,此处不再赘述。
S311,业务呈现模块根据业务逻辑处理模块的指示,控制手机振动和/或响铃,并在手机的屏幕显示快递提示信息。
这样,在电子设备向用户进行快递提示之后,用户可以基于该快递提示执行快递取件操作,此时情景感知模块也可以感知到用户是否基于快递提示完成了相应的快递取件操作。可以理解的,在电子设备向用户进行某项业务提示之后,情景感知模块也可以基于用户的操作感知到用户是否基于该业务提示完成了相应的业务处理。若情景感知模块感知到用户基于该业务提示完成了相应的业务处理,则表明当前业务提示是准确的,也即与业务对应的Cell地理围栏是准确的,此时用户的操作可以理解为针对业务提示的正反馈操作。在此情形下,电子设备也可以向云服务器发送打点数据,该打点数据中可以包括但不限于定位信息(如经纬度信息)、终端设备接入的Cell信息以及Cell地理围栏信息。进而,在云服务器接收到该打点数据后,基于该打点数据可以将该Cell地理围栏标记为具有业务正反馈的Cell地理围栏。
然而,无论是基于Cell的位置信息对电子设备进行低精度定位,还是基于多个Cell构建地理围栏以为用户提供相应的业务提示,均与Cell位置信息的准确性息息相关。一旦Cell位置信息出现偏差,无疑会导致基于Cell位置信息的低精度定位、业务提示等出现不准确的问题,影响用户的使用体验。
在本申请实施例中,Cell的位置信息可以是云服务器基于众包数据学习到的。在每个电子设备向云服务器发送的打点数据中,可以包括但不限于:业务编码、经纬度信息、Cell信息、Wi-Fi信息。
示例性的,在电子设备中,若情境感知模块感知到与某业务提示对应的Cell地理围栏触发,则电子设备向云服务器发送打点数据。又示例性的,在电子设备中,若情境感知模块感知到与某静默地理围栏触发,则电子设备向云服务器发送打点数据。
需要指出的是,在电子设备向云服务器发送的打点数据中,除了Cell信息之外,可能还包括Cell地理围栏信息,也可能不包括Cell地理围栏信息。若电子设备发送的打点数据中包括Cell地理围栏信息,则云服务器可以基于该打点数据将该Cell地理围栏确定为具有业务正反馈的Cell地理围栏,表明该Cell地理围栏对于用户而言是准确有效的。
示例性,在云服务器中,若云服务器基于打点数据确定Cell地理围栏aa为具有业务正反馈的Cell地理围栏,可以为Cell地理围栏aa添加相关标识。若某个Cell地理围栏具有该标识,则表明该Cell地理围栏为具有业务正反馈的Cell地理围栏。若某个Cell地理围栏不具有该标识,则表明该Cell地理围栏不是具有业务正反馈的Cell地理围栏。
云服务器接收到大量电子设备发送的打点数据后,可以基于这些打点数据学习到各个Cell的位置信息。在本申请实施例中,Cell的位置信息可以包括Cell的信号覆盖范围所包括的栅格信息,如栅格编号。也就是说,云服务器可以使用栅格信息来标识Cell的位置信息。
示例性的,云服务器中预先建立栅格地理特征数据库。其中,栅格等级不同时,栅格的边长不同。例如,栅格等级为1时,栅格边长为224米;栅格等级为2时,栅格边长为223米;栅格等级为3时,栅格边长为222米;……;栅格等级为24时,栅格边长为2米;栅格等级为25时,栅格边长为1米。关于栅格地理特征数据库中栅格的等级设置,本实施例不做限定。
云服务器可以基于墨卡托投影变换将经纬度信息(lng,lat)映射成平面直角坐标(x,y),并根据栅格地理特征数据库确定该平面直角坐标落入的栅格,以得到与经纬度信息对应的栅格编号(gridNum)。示例性的,云服务器在得到与某经纬度信息对应的平面直角坐标之后,将该平面直角坐标与栅格地理特征数据库中各栅格的坐标范围进行对比,若该平面直角坐标落入栅格A的坐标范围内,则云服务器可以确定与该平面坐标对应的栅格编号为A,也即与该经纬度信息对应的栅格编号为A(或者称该经纬度信息可以映射到栅格A)。参照图4a,针对点P1(lngP1,latP1),云服务器可以依据墨卡托投影变换将该经纬度信息映射成平面直角坐标P1’(x1,y1),并根据栅格地理特征数据库确定该平面直角坐标落入的栅格N1,以得到与经纬度信息(lngP1,latP1)对应的栅格编号N1。类似的,针对点P2(lngP2,latP2),云服务器可以依据墨卡托投影变换将该经纬度信息映射成平面直角坐标P2’(x2,y2),并根据栅格地理特征数据库确定该平面直角坐标落入的栅格N2,以得到与经纬度信息(lngP2,latP2)对应的栅格编号N2。其中,关于墨卡托投影变换的公式,可以参照已有技术,在此不再赘述。
假设,电子设备的打点数据中包括业务编号、经纬度信息、Cell信息和Wi-Fi信息。示例性的,云服务器接收到的电子设备的打点数据1为{业务1、(lng1,lat1)、Cell_1、Wi-Fi_1}。参照图4b,云服务器可以基于墨卡托投影变换将经纬度信息(lng1,lat1)映射到栅格平面坐标系中的平面直角坐标P3(x3,y3)。云服务器根据栅格地理特征数据库确定平面直角坐标P3(x3,y3)落入的栅格N1,以得到Cell_1的信号覆盖范围包括栅格N1。
假设,云服务器接收到的电子设备的打点数据包括:
打点数据1{业务1、(lng1,lat1)、Cell_1信息、Wi-Fi_1信息};
打点数据2{业务1、(lng2,lat2)、Cell_1信息、Wi-Fi_1信息};
打点数据3{业务1、(lng3,lat3)、Cell_1信息、Wi-Fi_1信息};
打点数据4{业务2、(lng4,lat4)、Cell_2信息、Wi-Fi_2信息};
打点数据5{业务2、(lng5,lat5)、Cell_2信息、Wi-Fi_2信息}。
需要指出的是,打点数据中的Cell信息(如Cell_1信息或Cell_2信息),可以包括但不限于MCC(Mobile Country Code,移动设备国家代码)、MNC(Mobile Network Code,移动设备网络代码)、LAC(Location Area Code,位置区码)和Cell ID。
针对打点数据1,云服务器基于墨卡托投影变换以及栅格地理特征数据库将经纬度信息(lng1,lat1)映射到栅格1,可以得到Cell_1的信号覆盖范围包括栅格1;针对打点数据2,云服务器基于墨卡托投影变换以及栅格地理特征数据库将经纬度信息(lng2,lat2)映射到栅格2,可以得到Cell_1的信号覆盖范围包括栅格2;针对打点数据3,云服务器基于墨卡托投影变换以及栅格地理特征数据库将经纬度信息(lng3,lat3)映射到栅格2,可以得到Cell_1的信号覆盖范围包括栅格2;针对打点数据4,云服务器基于墨卡托投影变换以及栅格地理特征数据库将经纬度信息(lng4,lat4)映射到栅格3,可以得到Cell_2的信号覆盖范围包括栅格3;针对打点数据5,云服务器基于墨卡托投影变换以及栅格地理特征数据库将经纬度信息(lng5,lat5)映射到栅格4,可以得到Cell_2的信号覆盖范围包括栅格4。此时,云服务器可以学习到Cell_1的信号覆盖范围包括栅格1和栅格2,Cell_2的信号覆盖范围包括栅格3和栅格4。
图5示例性的示出了云服务器基于众包数据学习Cell_N信号覆盖范围的示例。针对在某个周期内接收到的针对Cell_N的打点数据,云服务器将打点数据中包括的经纬度信息映射到栅格平面坐标系中,打点分布可以参照图5中(1)所示。针对与Cell_N的打点分布,云服务器可以基于聚类算法对这些打点数据进行处理,去除数据噪声,可以参照图5中(2)所示。进而,云服务器可以基于聚类处理后的打点分布,以及栅格地理特征数据库,得到Cell_N的信号覆盖范围,也即得到Cell_N的信号覆盖范围所包括的各个栅格。如图5中(3)所示,Cell_N的信号覆盖范围包括栅格N1、栅格N2、栅格N3、栅格N4和栅格N5。
由此,云服务器基于众包数据学习到的Cell特征可以包括:MCC、MNC、LAC、CellID、Cell的中心点位置、Cell的信号覆盖半径,以及信号覆盖栅格列表(MortonList)。其中,信号覆盖栅格列表也可以称之为初始栅格集合,用于指示Cell的信号覆盖范围所涉及的栅格。
结合上述示例,云服务器基于众包数据学习Cell位置信息的流程可以包括:
S1、云服务器对众包数据进行清洗,按照Cell信息进行数据汇聚,得到与每个Cell对应的打点数据。
其中,云服务器可以接收某一电子设备上报的多组打点数据,也可以接收多个电子设备上报的多组打点数据,并基于MCC、MNC、LAC以及Cell ID对这些打点数据进行汇聚。
依旧以快递取件业务为例,打点数据可以是电子设备在接收到快递取件通知时上报的打点数据,也可以是电子设备在用户完成快递取件时上报的打点数据。具体到实际应用中,针对快递取件业务的打点数据可以包括:快递单号、快递接收点名称、定位信息(即经纬度信息)、Cell信息以及打点数据上报时的时间信息等。
又示例性的,打点数据可以为电子设备在触发回家围栏、触发离家围栏时上报的打点数据。具体到实际应用中,针对回家围栏的打点数据可以包括:设备所处的住宅小区名称、定位信息(即经纬度信息)、Cell信息以及打点数据上报时的时间信息等。
在本实施例中,云服务器在按照Cell信息对打点数据进行汇聚之前,还可以对打点数据进行数据清洗,包括但不限于检测数据一致性、去除无效打点数据和缺失打点数据。示例性的,无效打点数据可以是数据格式或数据类型不正确的打点数据,缺失打点数据可以是缺少部分参数值的打点数据。
S2、针对与每个Cell对应的打点数据,云服务器首先基于聚类算法去除数据噪声,然后基于墨卡托投影变换以及栅格地理特征数据库确定每个Cell的信号覆盖范围,得到与每个Cell对应的信号覆盖栅格列表。
示例性的,聚类算法可以是DBSCAN(Density-Based Spatial Clustering ofApplications with Noise)算法。在本实施例中,云服务器基于DBSCAN算法对与Cell_N对应的打点数据进行两次处理,分别用于过滤数据噪声点和数据噪声簇。
进而,针对去除噪声后的与Cell_N对应的打点数据,云服务器可以基于墨卡托投影变换以及栅格地理特征数据库,确定Cell_N的信号覆盖范围,得到与Cell_N对应的信号覆盖栅格列表。
其中,云服务器在确定Cell_N的信号覆盖范围所涉及的栅格(也即信号覆盖栅格列表)后,可以基于这些栅格确定Cell_N的中心点位置以及信号覆盖半径。云服务器获取与Cell_N对应的各个栅格的中心点坐标,计算这些中心点坐标的平均值,并将该平均值作为Cell_N的中心点坐标。在确定出Cell_N的中心点坐标后,云服务器可以分别计算Cell_N的每个栅格的中心点与Cell_N中心点之间的距离,并将其中最大的距离长度作为Cell_N的信号覆盖半径。
假设,Cell_N的信号覆盖范围包括栅格1、栅格2、栅格3、栅格4和栅格5,栅格1的中心点坐标为(x1,y1),栅格2的中心点坐标为(x2,y2),栅格3的中心点坐标为(x3,y3),栅格4的中心点坐标为(x4,y4),栅格5的中心点坐标为(x5,y5)。云服务器计算Cell_N的中心点坐标为(X,Y),X=(x1+x2+x3+x4+x5)/5,Y=(y1+y2+y3+y4+y5)/5。
在云服务器确定Cell_N的中心点坐标之后,计算出栅格1中心点与Cell_N中心点之间的距离为L1,栅格2中心点与Cell_N中心点之间的距离为L2,栅格3中心点与Cell_N中心点之间的距离为L3,栅格4中心点与Cell_N中心点之间的距离为L4,栅格5中心点与Cell_N中心点之间的距离为L5。这样,云服务器可以计算得到Cell_N的信号覆盖半径为R=max[L1,L2,L3,L4,L5]。
在得到与各个Cell对应的信号覆盖栅格列表之后,云服务器还可以基于栅格信息汇聚Cell信息,得到每个栅格所对应的Cell列表。进而,云服务器可以根据地理区域,以及与每个栅格对应的Cell列表生成Cell地理围栏。
示例性的,Cell_1对应的信号覆盖栅格列表为{栅格N1、栅格N2、栅格N3、栅格N4},Cell_2对应的信号覆盖栅格列表为{栅格N1、栅格N5、栅格N6、栅格N7},Cell_3对应的信号覆盖栅格列表为{栅格N1、栅格N3、栅格N5、栅格N8}。可知,栅格N1对应的Cell列表为{Cell_1、Cell_2、Cell_3},栅格N2对应的Cell列表为{Cell_1},栅格N3对应的Cell列表为{Cell_1、Cell_3},栅格N4对应的Cell列表信息为{Cell_1},栅格N5对应的Cell列表为{Cell_2、Cell_3},栅格N6对应的Cell列表为{Cell_2},栅格N7对应的Cell列表为{Cell_2},栅格N8对应的Cell列表为{Cell_3}。
由此,云服务器基于众包数据学习到的栅格特征可以包括:栅格标识(Morton)、Cell信息列表。其中,Cell信息列表中每组Cell信息可以包括但不限于MCC、MNC、LAC和Cell标识(如Cell ID)。在一种具体的实施方式中,栅格特征可以包括:栅格标识(Morton)和Cell信息,Cell信息包括OPT、LAC和Cell列表。
假设,某POI的地理区域涉及栅格N1、栅格N2、栅格N3,则云服务器可以根据分别与栅格N1、栅格N2、栅格N3对应的Cell信息列表构建与该POI对应的Cell地理围栏。也即,与该POI对应的Cell地理围栏包括:Cell_1、Cell_2、Cell_3。
在一种可选的实施方式中,打点数据中除了包括业务编号、经纬度信息、Cell信息和Wi-Fi信息,还可以包括打点时间。这样,云服务器在生成与每个Cell对应的信号覆盖栅格列表时,还可以同时记录与每个栅格对应的打点时间。
示例性的,Cell_N的信号覆盖范围包括栅格N1、栅格N2、栅格N3、栅格N4和栅格N5。其中,与栅格N1对应的打点时间为T1,与栅格N2对应的打点时间为T2,与栅格N3对应的打点时间为T3,与栅格N4对应的打点时间为T4,与栅格N5对应的打点时间为T5。
需要指出的是,在针对同一个Cell的大量打点数据中,若多组打点数据均指向同一个栅格,则云服务器可以将这多组打点数据中最新(也即距离当前时间最近)的打点时间作为与这个栅格对应的打点时间。
鉴于电子设备向云服务器发送的打点数据是源源不断的,所以用于云服务器学习各个Cell位置信息的数据源也是一直累积的。由于无法确定在多长时间内接收到的打点数据可以使云服务器学习到一个Cell完整的位置信息,也即使云服务器学习到一个Cell的信号所能覆盖的所有栅格。因此,通常会设置一个周期,例如为30天,以使云服务器可以基于这段时间内接收到打点数据来学习Cell的位置信息。
在一种实施方式中,云服务器将基于单个周期接收到的打点数据学习到的Cell位置信息作为Cell的目标位置信息。其中,每个周期以滑动窗口的方式确定。例如,以每个周期为30天为例,周期1为第1天~第30天,周期2为第1+t天~第30+t天,周期3为第1+3t天~第30+3t天,周期4为第1+4t天~第30+4t天,以此类推。其中,t为大于等于1的整数。
结合图6a和图6b所示,云服务器基于周期1内接收到打点数据学习到Cell_N的信号覆盖范围包括栅格N1、栅格N2和栅格N3。云服务器基于周期2内接收到打点数据学习到Cell_N的信号覆盖范围包括栅格N2、栅格N3、栅格N4和栅格N5。
由于云服务器基于不同周期内接收到的打点数据学习到的Cell位置信息不尽相同,若云服务器将基于单一周期内接收到的打点数据学习到的Cell位置信息作为Cell的目标位置信息,例如云服务器将基于最新周期内接收到的打点数据学习到的Cell位置信息作为Cell的目标位置信息,则可能会存在Cell位置信息学习不全的问题。
如图6a所示,相比较于周期1,周期2是最新周期。若云服务器将基于周期2内接收到打点数据学习到的Cell_N位置信息(也即其信号覆盖范围涉及栅格N2、栅格N3、栅格N4和栅格N5),作为Cell_N的目标位置信息,则丢失了Cell_N的信号覆盖范围还包括栅格N1的情形。
在另一种实施方式中,云服务器将基于多个周期接收到的打点数据学习到的Cell位置信息作为Cell的目标位置信息。也即,云服务器可以将基于多个周期学习到的Cell位置信息进行汇聚,作为Cell的目标位置信息。其中,不同的周期也可以通过滑动窗口的方式确定。例如,以每个周期为30天为例,周期1为第1天~第30天,周期2为第1+t天~第30+t天,周期3为第1+3t天~第30+3t天,周期4为第1+4t天~第30+4t天,以此类推。其中,t为大于等于1的整数。
结合图7a和图7b所示,云服务器基于周期1内接收到打点数据学习到Cell_N的信号覆盖范围包括栅格N1、栅格N2和栅格N3。云服务器基于周期2内接收到打点数据学习到Cell_N的信号覆盖范围包括栅格N2、栅格N3、栅格N4和栅格N5。若云服务器汇聚这两个周期学习到的Cell位置,则可以确定Cell_N的信号覆盖范围包括栅格N1、栅格N2、栅格N3、栅格N4和栅格N5。
在此种实施方式中,由于Cell的位置信息(也即其信号覆盖的栅格)是由云服务器在多个周期中的学习结果汇聚而成的,一旦某个周期中的学习结果存在偏差,则该偏差始终会对Cell的位置信息产生影响,进而可能导致业务通知出现不准确的问题。
示例性的,在如图7a所示的示例的基础上,假设云服务器基于周期3内接收到打点数据学习到Cell_N的信号覆盖范围包括栅格N6,可以参照图7c。若云服务器汇聚这三个周期学习到的Cell位置,则可以确定Cell_N的信号覆盖范围包括栅格N1、栅格N2、栅格N3、栅格N4、栅格N5和栅格N6。如果云服务器在周期3内接收到的打点数据不准确,则云服务器基于周期3内接收到的打点数据学习到的Cell_N的信号覆盖范围(即包括栅格N6)也是不准确的。由于云服务器始终会将周期3的学习结果进行汇聚,进而该偏差始终会对Cell的位置信息产生影响,进而会导致Cell地理围栏的准确性降低,出现电子设备误接收通知或警告的问题。
在一个具体的示例中,电子设备注册公司Cell地理围栏,当用户进入或离开该公司Cell地理围栏时,其携带的电子设备会自动弹出打卡通知,以便于用户完成上下班打卡操作。
其中,公司Cell地理围栏的建立流程如下:
S1、云服务器获取以公司为中心、N米范围内的地理区域涉及的目标栅格信息。
S2、云服务器获取每个目标栅格对应的Cell列表。
S3、云服务器根据各Cell列表得到Cell集合,作为公司Cell地理围栏。
参照图示例性的,以公司为中心、N米范围内的地理区域涉及的目标栅格包括栅格N1~栅格N4,如图8所示。其中,栅格N1对应于Cell信息列表1{Cell_5,Cell_6,Cell_7},栅格N2对应于Cell信息列表2{Cell_3,Cell_4,Cell_7},栅格N3对应于Cell信息列表3{Cell_2,Cell_3,Cell_7},栅格N4对应于Cell信息列表4{Cell_1,Cell_6,Cell_7}。此时,云服务器可以基于Cell信息列表1、Cell信息列表2、Cell信息列表3和Cell信息列表4确定出一个Cell信息集合{Cell_1,Cell_2,Cell_3,Cell_4,Cell_5,Cell_6,Cell_7},并将该Cell信息集合作为公司Cell地理围栏。
进而,该公司Cell地理围栏可以被下载于用户电子设备中,以使电子设备可以注册该公司Cell地理围栏。这样,当用户进入或离开该公司Cell地理围栏时,其携带的电子设备就会自动弹出公司的打卡通知等。
假设,由于电子设备上报的打点数据中经纬度有误,使得云服务器在某个周期内学习到Cell_8的信号覆盖范围包括栅格N1,Cell_9的信号覆盖范围包括栅格N2。鉴于云服务器会汇聚各个周期的学习结果,则栅格N1对应于Cell信息列表1会更新为{Cell_5,Cell_6,Cell_7,Cell_8},栅格N2对应于Cell信息列表2会被更新为{Cell_3,Cell_4,Cell_7,Cell_9}。进而,公司Cell地理围栏所对应的Cell信息集合也会被更新为{Cell_1,Cell_2,Cell_3,Cell_4,Cell_5,Cell_6,Cell_7,Cell_8,Cell_9}。继续参照图8,若用户携带电子设备进入或离开区域1或区域2时,电子设备也会自动弹出公司的打卡通知。然而,区域1和区域2并非属于公司区域,且距离公司区域较远(例如距离公司5KM以外),对用户而言该打卡通知必然是误通知,影响了用户的使用体验。
为了解决上述问题,本申请实施例还提供了一种Cell位置的更新方法。在该方法中,云服务器未将单个周期内学习的Cell位置信息作为Cell的目标位置信息,也未简单汇聚多个周期的Cell位置学习结果,而是基于多个周期内的Cell位置高频学习结果综合确定每个Cell信号所覆盖的栅格信息,或者是基于多个周期内的Cell位置高频学习结果以及Cell地理围栏(尤其是具有业务正反馈的Cell地理围栏)综合确定每个Cell信号所覆盖的栅格信息,以此提高Cell位置信息的准确性。
图9示出了云服务器更新Cell位置信息的流程。如图9所示,以一个Cell(暂且将其称之为目标Cell)为例,云服务器对其位置信息进行更新的流程,具体可以包括如下步骤:
S401,云服务器分别获取N个周期内与目标Cell对应的信号覆盖栅格列表,确定与目标Cell对应的第一栅格集合。
每当云服务器获取到一个周期内接收到的打点数据时,云服务器基于这些打点数据挖掘每个Cell的信号覆盖范围,得到每个Cell在本周期内对应的信号覆盖栅格列表。
示例性的,每个周期为30天,在当日之前的30天为日期最新的一个周期。其中,N个周期中包括日期最新的一个周期。N个周期的总时长可以是半年时间,也可以是一年的时间,本实施例对数量N的设置不做限定。
示例性的,在周期N(最新的一个周期)内,目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N2、栅格N3、栅格N4};在周期N-1内,与目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N2、栅格N3、栅格N5};在周期N-2内,与目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N3、栅格N4};……;在周期2内,与目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N3、栅格N4};在周期1内,与目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N2、栅格N3}。
其中,服务器对目标Cell对应的N个信号覆盖栅格列表中的栅格进行去重处理,可以是对多个信号覆盖栅格列表取并集的操作,以得到目标Cell对应的第一栅格集合。
S402,云服务器确定这N个周期内与目标Cell对应的最高频栅格。
最高频栅格,可以指的是电子设备在接入目标Cell时打点频率最高的栅格。可以理解的,最高频栅格可以表明电子设备接入目标Cell时其打点经纬度投影映射到该栅格的频次最高。
在一种实现方式中,云服务器可以根据与目标Cell对应的N个信号覆盖栅格列表确定这N个周期内与目标Cell对应的最高频栅格。
云服务器根据与目标Cell对应的N个信号覆盖栅格列表,获取与目标Cell对应的各个栅格,并分别统计每个栅格在这N个信号覆盖栅格列表中的出现次数,将出现次数最多的一个栅格作为最高频栅格。在这N个信号覆盖栅格列表中,若出现次数最多的栅格有多个,则云服务器将打点时间最新(也即距离当前时间最近)的一个栅格作为最高频栅格。
假设,N=5。示例性的,在周期5内目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N2、栅格N3},在周期4内目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N3、栅格N4},在周期3内目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N3、栅格N4},在周期2内目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N2、栅格N4},在周期1内目标Cell对应的信号覆盖栅格列表为{栅格N1、栅格N4、栅格N5}。云服务器统计得到,栅格N1在这5个信号覆盖栅格列表中的出现次数为5,栅格N2在这5个信号覆盖栅格列表中的出现次数为2,栅格N3在这5个信号覆盖栅格列表中的出现次数为3,栅格N4在这5个信号覆盖栅格列表中的出现次数为4,栅格N5在这5个信号覆盖栅格列表中的出现次数为1。此时,栅格N1在这5个信号覆盖栅格列表中的出现次数最多,云服务器将栅格N1作为与目标Cell对应的最高频栅格。
若栅格N1和栅格N2在这5个信号覆盖栅格列表中的出现次数相等且最多,栅格N1的打点时间早于栅格N2的打点时间,则云服务器将栅格N2作为与目标Cell对应的最高频栅格。
在另一种实现方式中,云服务器可以根据这N个周期内与目标Cell对应的打点数据确定这N个周期内与目标Cell对应的最高频栅格。
云服务器获取这N个周期内接收到的打点数据,并基于每组打点数据中经纬度信息确定打点的栅格(也即经纬度投影映射到的栅格)。进而,云服务器可以统计出每个栅格被打点的次数,将打点次数最多的一个栅格作为最高频栅格。若打点次数最多的栅格有多个,则云服务器可以将打点时间最新(也即距离当前时间最近)的一个栅格作为最高频栅格。
假设,N=5。示例性的,若云服务器在这5个周期内接收到针对目标Cell的10000组打点数据(不存在无效打点数据),并基于每组打点数据中经纬度信息确定打点的栅格。假设,栅格N1被打点的次数为5000,栅格N2被打点的次数为2500,栅格N3被打点的次数为1500,栅格N4被打点的次数为600,栅格N5被打点的次数为400。此时,栅格N1被打点的次数最多,云服务器将栅格N1作为与目标Cell对应的最高频栅格。
若栅格N1和栅格N2在这5个周期内被打点的次数相等且最多,栅格N1的打点时间早于栅格N2的打点时间,则云服务器将栅格N2作为与目标Cell对应的最高频栅格。
S403,云服务器在第一栅格集合中筛选距离最高频栅格满足第一条件的栅格,得到目标Cell对应的第二栅格集合。
其中,云服务器确定目标Cell对应的第二栅格集合的流程,具体包括:
S4031,云服务器在目标Cell对应的第一栅格集合中依次获取一个栅格作为当前栅格。
S4032,云服务器判断当前栅格距离最高频栅格是否满足第一条件,若是,则执行S4033,若否,则执行S4034。
在一种实施方式中,第一条件可以是:与最高频栅格的行号之差小于阈值M1(如10),与最高频栅格的列号之差小于阈值M2。其中,阈值M1和阈值M2可以相等,也可以不相等,本实施例对此不做限定。
在另一种实施方式中,第一条件可以是:与最高频栅格的中心点距离小于阈值M3(如几百米)。
S4033,云服务器将当前栅格添加至目标Cell对应的第二栅格集合。
其中,目标Cell对应的第二栅格集合的初始状态为空集合。
S4034,云服务器判断是否处理完第一栅格集合中的所有栅格,若否,则执行S4031,若是,则执行S4035。
S4035,云服务器得到目标Cell对应的第二栅格集合。
如图10a所示,目标Cell对应的第一栅格集合包括栅格1、栅格2、栅格3、栅格4、栅格5、栅格6、栅格7、栅格9,栅格1为目标Cell在N个周期内的最高频栅格。云服务器遍历第一栅格集合中的其余各个栅格,判断各个栅格距离栅格1是否满足第一条件,以得到目标Cell对应的第二栅格集合。继续参照图10a,栅格9距离栅格1不满足第一条件,需要舍弃,得到目标Cell对应的第二栅格集合包括栅格1、栅格2、栅格3、栅格4、栅格5、栅格6、栅格7。
此时,在服务器基于多个周期内与目标Cell对应的信号覆盖栅格列表,得到与目标Cell对应的第二栅格集合,即可将第二栅格集合作为与目标Cell对应的目标栅格集合,并将与目标Cell对应的目标栅格集合上线,实现对目标Cell位置信息的更新。进而,云服务器可以基于更新后的Cell位置信息对相关的Cell地理围栏进行更新,也可以将更新的Cell位置信息下发至电子设备中,以使电子设备可以基于更新的Cell位置信息进行低精度定位。
这样,针对任意一个Cell,云服务器均可以基于多个周期内的打点频率对该Cell对应的栅格进行过滤,提高Cell位置信息的准确性,也即提高Cell信号覆盖范围涉及的栅格准确性,能够避免由于偶发的错误打点数据而影响Cell位置信息准确性的问题。
在本实施例中,针对云服务器基于目标Cell在多个周期内的最高频栅格过滤后得到的与目标Cell对应的第二栅格集合,服务器可以继续基于Cell地理围栏的中心栅格进行过滤,进一步提高基于众包数据确定的Cell位置信息的准确度。
云服务器在得到与目标Cell对应的第二栅格集合之后,可以确定与目标Cell对应的Cell地理围栏。进而,服务器可以获取Cell地理围栏的中心栅格,在第二栅格集合中筛选距离中心栅格满足第二条件的栅格,得到与目标Cell对应的第三栅格集合,作为与目标Cell对应的目标栅格集合。这样,云服务器基于与目标Cell对应的Cell地理围栏,进一步对Cell信号覆盖范围涉及的栅格进行过滤,能够避免由于频繁的错误打点数据而导致Cell位置信息有误的问题。
在一种场景下,示例性的,电子设备接入某个Cell时的大多数打点数据都指示经纬度定位信息位于车站附近,少量打点数据指示经纬度定位信息位于学校附近,此时云服务器基于打点频率学习到与该Cell对应的栅格大多位于车站区域。然而,事实上该Cell的信号覆盖区域涉及的栅格是位于学校附近的,指示经纬度定位信息位于车站附近的打点数据均为错误的打点数据。在此情形下,由于频繁的错误打点数据,云服务器挖掘到的Cell位置信息必然是有问题的。为了解决该问题,在本申请实施例例,云服务器还基于与目标Cell对应的Cell地理围栏(尤其是具有业务正反馈的Cell地理围栏)对Cell信号覆盖范围涉及的栅格进一步过滤。
继续参照图9,云服务器对Cell位置信息进行更新的流程,还可以包括如下步骤:
S404,云服务器获取与目标Cell对应的Cell地理围栏。
其中,与目标Cell对应的Cell地理围栏,可以指的是目标Cell所属的Cell地理围栏。若目标Cell被包含于POI_N的Cell地理围栏中,则与目标Cell对应的Cell地理围栏即为POI_N的Cell地理围栏。
可以理解的,若某个Cell不属于任意一个Cell地理围栏,则与这个Cell对应的第二栅格集合即可作为最终上线的Cell位置信息。
在本实施例中,S404也可以调整为:云服务器获取与目标Cell对应的具有业务正反馈的Cell地理围栏。
示例性的,云服务器在查询到与目标Cell对应的Cell地理围栏之后,判断该Cell地理围栏是否为具有业务正反馈的Cell地理围栏,是则继续执行S405以基于Cell地理围栏进一步对与目标Cell对应的第二栅格集合进行过滤,否则确定当前不存在与目标Cell对应的且具有业务正反馈的Cell地理围栏,并将与目标Cell对应的第二栅格集合作为最终上线的Cell位置信息。
S405,云服务器确定与目标Cell对应的Cell地理围栏的中心栅格。
Cell地理围栏的中心栅格,指的是位于该Cell地理围栏的中心点区域的栅格,也就是Cell地理围栏的中心点经纬度信息投影映射到的栅格。
S406,云服务器在第二栅格集合中筛选距离中心栅格满足第二条件的栅格,得到目标Cell对应的第三栅格集合。
在一种实施方式中,第二条件可以是:与中心栅格的行号之差小于阈值N1(如3),与中心栅格的列号之差小于阈值N2。其中,阈值N1和阈值N2可以相等,也可以不相等,本实施例对此不做限定。
在另一种实施方式中,第二条件可以是:与中心栅格的中心点距离小于阈值N3(如几百米)。
其中,云服务器确定目标Cell对应的第三栅格集合的流程,具体包括:
S4061,云服务器在目标Cell对应的第二栅格集合中依次获取一个栅格作为当前栅格。
S4062,云服务器判断当前栅格距离中心栅格是否满足第二条件,若是,则执行S4063,若否,则执行S4064。
S4063,云服务器将当前栅格添加至目标Cell对应的第三栅格集合。
其中,目标Cell对应的第三栅格集合的初始状态为空集合。
S4064,云服务器判断是否处理完第二栅格集合中的所有栅格,若否,则执行S4061,若是,则执行S4065。
S4065,云服务器得到目标Cell对应的第三栅格集合。
如图10b所示,目标Cell对应的第二栅格集合包括栅格1、栅格2、栅格3、栅格4、栅格5、栅格6、栅格7,云服务器可以确定出与目标Cell对应的Cell地理围栏,进而可以确定该Cell地理围栏的中心栅格,可以参照图10b所示。云服务器遍历第二栅格集合中的各个栅格,判断各个栅格距离中心栅格是否满足第二条件,以得到目标Cell对应的第三栅格集合。假设,栅格2、栅格3距离中心栅格均不满足第二条件,则舍弃栅格2和栅格3,得到目标Cell对应的第三栅格集合包括栅格1、栅格4、栅格5、栅格6、栅格7。
此时,在服务器基于多个周期内与目标Cell对应的信号覆盖栅格列表,得到与目标Cell对应的第三栅格集合,即可将第三栅格集合作为与目标Cell对应的目标栅格集合,并将与目标Cell对应的目标栅格集合上线,实现对目标Cell位置信息的更新。进而,云服务器可以基于更新后的Cell位置信息对相关的Cell地理围栏进行更新,也可以将更新的Cell位置信息下发至电子设备中,以使电子设备可以基于更新的Cell位置信息进行低精度定位。
另外需要指出的是,若目标Cell的第二栅格集合与目标Cell当前上线的栅格集合是相同的,也即在最新的周期内云服务器并没有学习到与目标Cell对应的新栅格(新栅格指的是云服务器在历史各个周期内针对目标Cell从未学习到的栅格),则云服务器可以直接将目标Cell的第二栅格集合作为最终的位置更新结果,不再执行S404-S406的操作。可以理解的,即使在最新的周期内云服务器学习到与目标Cell对应的新栅格,若该栅格在如图9所示的流程中被过滤掉,该栅格也不会作为目标Cell的位置信息被云服务器上线。
针对任意一个Cell,云服务器可以基于多个周期内的打点频率对该Cell对应的栅格进行过滤,或者可以基于多个周期内的打点频率以及Cell对应的地理围栏对该Cell对应的栅格进行过滤,以此提高Cell位置信息准确性。
进一步的,云服务器在更新完成目标Cell的信号覆盖范围所涉及的栅格(如第二栅格集合中包括的栅格或第三栅格集合中包括的栅格)后,还可以基于这些栅格更新目标Cell的中心点坐标以及信号覆盖半径。
云服务器获取与目标Cell对应的各个栅格的中心点坐标,计算这些中心点坐标的平均值作为目标Cell的中心点坐标。在重新计算出目标Cell的中心点坐标后,云服务器分别计算目标Cell的每个栅格的中心点与目标Cell中心点之间的距离,并将其中最大的距离长度作为目标Cell的信号覆盖半径。
示例性的,目标Cell对应的栅格为:栅格1、栅格4、栅格5、栅格6、栅格7。其中,栅格1的中心点坐标为(x1,y1),栅格4的中心点坐标为(x4,y4),栅格5的中心点坐标为(x5,y5),栅格6的中心点坐标为(x6,y6),栅格7的中心点坐标为(x7,y7)。
云服务器更新目标Cell的中心点坐标为(X,Y),X=(x1+x4+x5+x6+x7)/5,Y=(y1+y4+y5+y6+y7)/5,可以参照图10c所示。
在云服务器重新计算出目标Cell的中心点坐标之后,计算出栅格1中心点与目标Cell中心点之间的距离为L1,栅格4中心点与目标Cell中心点之间的距离为L4,栅格5中心点与目标Cell中心点之间的距离为L5,栅格6中心点与目标Cell中心点之间的距离为L6,栅格7中心点与目标Cell中心点之间的距离为L7。这样,云服务器更新目标Cell的信号覆盖半径为R=max[L1,L4,L5,L6,L7],可以参照图10c所示。
在实际应用中,云服务器可以每日获取最新一个周期(例如每个周期30天)内接收到的打点数据,并基于这些打点数据学习到各个Cell在本周期内的位置信息,也即学习到各个Cell在本周期内的信号覆盖栅格列表。进而,云服务器可以获取多个周期内(包括最新一个周期)各个Cell的信号覆盖栅格列表,并基于打点频率和Cell地理围栏对各个Cell的位置信息进行评估以更新各个Cell的目标位置信息(也即信号覆盖的各个栅格),处理流程可以参见图9所示。在各个Cell的目标位置信息更新完成之后,云服务器即可上线各个Cell的目标位置信息。例如,云服务器可以基于更新后的各个Cell位置信息对相关的POI地理围栏进行更新,使得POI地理围栏对应的Cell集合更加精准。当云服务器将更新后的Cell地理围栏下发到电子设备中后,电子设备就可以根据准确的Cell集合精准地弹出通知或警告。再例如,云服务器还可以将更新后的各个Cell位置信息下发到电子设备中,以使电子设备可以基于更新后的Cell位置信息进行低精度定位操作,确保低精度定位的准确性。
这样,即使任意一个周期内电子设备的打点数据有误,也不会影响上线的各个Cell的位置信息,进而也就不会出现电子设备由于误触发Cell地理围栏而误弹卡或误警告等。进一步的,即使连续多个周期内电子设备的打点数据有误,云服务无法学习到正确的Cell位置信息,云服务器也可以基于Cell地理围栏(尤其是具有业务正反馈的Cell地理围栏)将错误的Cell位置信息删除,避免Cell地理围栏关联上错误的Cell使得电子设备出现误弹卡或误警告的问题。
另外,考虑到存在基站拆迁的可能性,在基站拆迁(例如基站由A位置迁移到B位置)的场景下,在拆迁初期,云服务器接收到的打点数据中定位信息会大多指向A位置区域,此时云服务器可能无法学习到基站拆迁后的相关Cell(也即该基站包括的一个或多个Cell)的正确位置。但随着时间的推移,云服务器接收到的打点数据中定位信息就会大多指向B位置区域,依据本实施例提供的方案云服务器就可以成功学习到基站拆迁后相关Cell的正确位置。
本申请实施例提供的技术方案,还可以应用于对Wi-Fi位置的更新中。
其中,Wi-Fi位置信息也可以通过Wi-Fi信号覆盖范围涉及的栅格集合来标识。具体的,云服务器获取在每个周期内接收到的众包数据;其中,众包数据中的每个打点数据中包括定位信息和Wi-Fi信息;云服务器根据Wi-Fi信息对众包数据进行数据汇聚,得到与每个Wi-Fi对应的多个打点数据。针对与每个Wi-Fi对应的多个打点数据,服务器可以分别基于墨卡托投影变换以及预设的栅格地理特征数据库确定与各个定位信息对应的栅格,得到与每个Wi-Fi对应的初始栅格集合,作为与每个Wi-Fi对应的位置信息。
进而,云服务器可以基于多个周期内的Wi-Fi位置高频学习结果综合确定每个Wi-Fi信号所覆盖的栅格信息,或者是基于多个周期内的Wi-Fi位置高频学习结果以及地理围栏(该地理围栏中可以包括一个或多个Wi-Fi信息)综合确定每个Wi-Fi信号所覆盖的栅格信息,以此提高Wi-Fi位置的准确性。可选的,该地理围栏为具有业务正反馈的地理围栏。
其中,云服务器获取在多个周期内分别确定的与目标Wi-Fi对应的多个初始栅格集合,对这多个初始栅格集合进行去重处理,得到与目标Wi-Fi对应的第一栅格集合;在第一栅格集合中,云服务器确定目标Wi-Fi在所述多个周期内的最高频栅格,并筛选距离该最高频栅格满足第一条件的栅格,得到与目标Wi-Fi对应的第二栅格集合,作为与目标Wi-Fi对应的目标栅格集合,对与目标Wi-Fi对应的在线栅格集合进行更新。
进一步的,在云服务器得到与目标Wi-Fi对应的第二栅格集合之后,云服务器还可以确定与目标Wi-Fi对应的地理围栏;云服务器获取该地理围栏的中心栅格,并在第二栅格集合中筛选距离中心栅格满足第二条件的栅格,得到与目标Wi-Fi对应的第三栅格集合,作为与目标Wi-Fi对应的目标栅格集合,对与目标Wi-Fi对应的在线栅格集合进行更新。
上述以云服务器基于众包数据对目标Wi-Fi的位置信息进行更新为例进行解释,针对其余Wi-Fi位置信息进行更新亦是如此,在此未尽详细解释之处可以参照前述针对Cell位置更新的实施例,在此不再赘述。
一个示例中,图11示出了本申请实施例的一种装置500的示意性框图,装置500可包括:处理器501和收发器/收发管脚502,可选地,还包括存储器503。
装置500的各个组件通过总线504耦合在一起,其中总线504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都称为总线504。
可选地,存储器503可以用于存储上述Cell位置的更新方法实施例中云服务器的指令。该处理器501可用于执行存储器503中的指令,并控制接收管脚接收信号,以及控制发送管脚发送信号。
装置500可以是上述Cell位置的更新方法实施例中云服务器等。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的Cell位置的更新方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的Cell位置的更新方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的Cell位置的更新方法。
其中,本实施例提供的电子设备(如云服务器等)、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种Cell位置的更新方法,其特征在于,应用于服务器中,包括:
获取在多个周期内分别确定的与目标Cell对应的多个初始栅格集合;其中,每个所述初始栅格集合是基于一个周期内接收到的众包数据确定的;根据每个周期内接收到的众包数据确定与目标Cell对应的初始栅格集合包括:获取在每个周期内接收到的众包数据;其中,所述众包数据中的每个打点数据中包括定位信息和Cell信息;根据所述Cell信息对所述众包数据进行数据汇聚,得到与所述目标Cell对应的多个打点数据;针对与所述目标Cell对应的多个打点数据,分别基于预设的投影变换以及预设的栅格地理特征数据库确定与各个定位信息对应的栅格,得到与所述目标Cell对应的初始栅格集合;
对所述多个初始栅格集合进行去重处理,得到与所述目标Cell对应的第一栅格集合;
在所述第一栅格集合中,确定所述目标Cell在所述多个周期内的最高频栅格;其中,所述最高频栅格用于表示电子设备接入目标Cell时其定位信息映射到该栅格的频次最高;
在所述第一栅格集合中,筛选距离所述最高频栅格满足第一条件的栅格,得到与所述目标Cell对应的第二栅格集合,作为与所述目标Cell对应的目标栅格集合;
将与所述目标Cell对应的在线栅格集合更新为所述目标栅格集合。
2.根据权利要求1所述的方法,其特征在于,在得到与所述目标Cell对应的第二栅格集合之后,还包括:
确定与所述目标Cell对应的Cell地理围栏;
获取所述Cell地理围栏的中心栅格,在所述第二栅格集合中筛选距离所述中心栅格满足第二条件的栅格,得到与所述目标Cell对应的第三栅格集合,作为与所述目标Cell对应的目标栅格集合。
3.根据权利要求2所述的方法,其特征在于,确定与所述目标Cell对应的Cell地理围栏,包括:
确定与所述目标Cell对应的且具有业务正反馈的Cell地理围栏;
其中,所述业务正反馈用于指示用户针对与Cell地理围栏对应的业务通知作出了正向反馈操作。
4.根据权利要求2所述的方法,其特征在于,确定与所述目标Cell对应的Cell地理围栏,包括:
在所述第二栅格集合与所述在线栅格集合不同时,确定与所述目标Cell对应的Cell地理围栏。
5.根据权利要求1所述的方法,其特征在于,在所述第一栅格集合中,确定所述目标Cell在所述多个周期内的最高频栅格,包括:
统计所述第一栅格集合中每个栅格在所述多个初始栅格集合中的出现次数;
将出现次数最多的一个栅格作为所述目标Cell在所述多个周期内的最高频栅格。
6.根据权利要求5所述的方法,其特征在于,还包括:
若多个栅格在所述多个初始栅格集合中的出现次数相等且出现次数最多,则将出现次数最多且打点时间距离当前最短的一个栅格作为所述目标Cell在所述多个周期内的最高频栅格。
7.根据权利要求1所述的方法,其特征在于,所述第一条件包括:与所述最高频栅格的行号之差小于第一阈值,与所述最高频栅格的列号之差小于第二阈值;或者,
所述第一条件包括:与所述最高频栅格的中心点距离小于第三阈值。
8.根据权利要求2所述的方法,其特征在于,所述第二条件包括:与所述中心栅格的行号之差小于第四阈值,与所述中心栅格的列号之差小于第五阈值;或者,
所述第二条件包括:与所述中心栅格的中心点距离小于第六阈值。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述预设的投影变换为墨卡托投影变换。
10.根据权利要求1-8任一项所述的方法,其特征在于,在将与所述目标Cell对应的在线栅格集合更新为所述目标栅格集合之后,还包括:
将所述目标栅格集合中各栅格的中心点位置的平均值,作为所述目标Cell的中心点位置;
分别计算所述目标Cell的中心点与所述目标栅格集合中各栅格中心点之间的距离,并将最大距离值作为所述Cell的信号覆盖半径。
11.根据权利要求10所述的方法,其特征在于,还包括:
将与所述目标Cell对应的在线栅格集合,所述目标Cell的中心点位置以及所述Cell的信号覆盖半径重新下发至电子设备中,以使所述电子设备基于所述目标Cell的相关信息进行定位操作。
12.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
根据与所述目标Cell对应的在线栅格集合,对相关的Cell地理围栏进行更新;
将更新后的Cell地理围栏重新下发至电子设备中,以使所述电子设备对更新后的Cell地理围栏进行注册。
13.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述服务器执行如权利要求1-12中任一项所述的Cell位置的更新方法。
14.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-12中任一项所述的Cell位置的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310410403.2A CN117135573B (zh) | 2023-04-14 | 2023-04-14 | Cell位置的更新方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310410403.2A CN117135573B (zh) | 2023-04-14 | 2023-04-14 | Cell位置的更新方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117135573A CN117135573A (zh) | 2023-11-28 |
CN117135573B true CN117135573B (zh) | 2024-06-21 |
Family
ID=88861690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310410403.2A Active CN117135573B (zh) | 2023-04-14 | 2023-04-14 | Cell位置的更新方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135573B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449709A (zh) * | 2018-03-16 | 2018-08-24 | 华中科技大学 | 一种基于众包样本的室内无线电地图构建方法 |
CN110972258A (zh) * | 2018-09-28 | 2020-04-07 | 中移(杭州)信息技术有限公司 | 一种位置指纹库的建立方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106792465B (zh) * | 2016-12-26 | 2019-08-30 | 华中科技大学 | 一种基于众包指纹的室内指纹地图构建方法 |
CN115077540B (zh) * | 2022-06-02 | 2025-03-21 | 中国电信股份有限公司 | 一种地图构建方法及装置 |
CN117128947B (zh) * | 2023-03-13 | 2024-08-16 | 荣耀终端有限公司 | 栅格地图的生成方法和服务器 |
-
2023
- 2023-04-14 CN CN202310410403.2A patent/CN117135573B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449709A (zh) * | 2018-03-16 | 2018-08-24 | 华中科技大学 | 一种基于众包样本的室内无线电地图构建方法 |
CN110972258A (zh) * | 2018-09-28 | 2020-04-07 | 中移(杭州)信息技术有限公司 | 一种位置指纹库的建立方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117135573A (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9998860B2 (en) | Mobile network based geofencing | |
CN101902685B (zh) | 一种组群成员间位置查询的终端、系统及方法 | |
US20240098452A1 (en) | Device tracking detection method and electronic device | |
CN110430022B (zh) | 数据传输方法及装置 | |
CN115097993B (zh) | 快递提示方法和电子设备 | |
CN113114752B (zh) | 基于公共交通场景的数据获取方法、装置、终端及服务器 | |
CN117135573B (zh) | Cell位置的更新方法、服务器及存储介质 | |
CN111402620B (zh) | 到站提醒方法、装置、终端及存储介质 | |
CN116709180B (zh) | 地理围栏的生成方法及服务器 | |
CN114266385A (zh) | 一种汽车零部件物流多集散中心选址方法、系统、终端及存储介质 | |
CN116095230B (zh) | 应用程序推荐方法和终端设备、可读存储介质 | |
CN116709501B (zh) | 业务场景识别方法、电子设备及存储介质 | |
CN114371895B (zh) | 一种终端设备、邮件标记方法和存储介质 | |
CN104811898B (zh) | 一种信息获取的方法、服务器、终端及系统 | |
CN116668580A (zh) | 场景识别的方法、电子设备及可读存储介质 | |
CN116668576A (zh) | 获取数据的方法、设备、云端管理平台、系统及存储介质 | |
CN116095791B (zh) | 搜索网络的方法和终端设备 | |
CN116033344B (zh) | 地理围栏的确定方法、设备及存储介质 | |
CN110852717A (zh) | 一种行程更新方法和智能通信终端 | |
CN116668951B (zh) | 一种生成地理围栏的方法、电子设备及存储介质 | |
CN114979949B (zh) | 飞行状态识别方法和飞行状态识别装置 | |
CN116723460B (zh) | 个人地理围栏的创建方法及其相关设备 | |
CN115526221B (zh) | 一种定位异常检测和处理方法及相关设备 | |
CN115550843B (zh) | 一种定位方法及相关设备 | |
CN116437293B (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Terminal Co.,Ltd. Country or region after: China Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong Patentee before: Honor Device Co.,Ltd. Country or region before: China |