CN113794801B - 地理围栏的处理方法及装置 - Google Patents

地理围栏的处理方法及装置 Download PDF

Info

Publication number
CN113794801B
CN113794801B CN202110910184.5A CN202110910184A CN113794801B CN 113794801 B CN113794801 B CN 113794801B CN 202110910184 A CN202110910184 A CN 202110910184A CN 113794801 B CN113794801 B CN 113794801B
Authority
CN
China
Prior art keywords
fence
target
scene
application
information
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
CN202110910184.5A
Other languages
English (en)
Other versions
CN113794801A (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.)
Shanghai Glory Smart Technology Development Co ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110910184.5A priority Critical patent/CN113794801B/zh
Publication of CN113794801A publication Critical patent/CN113794801A/zh
Application granted granted Critical
Publication of CN113794801B publication Critical patent/CN113794801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本申请的提供了一种地理围栏的处理方法及装置,方法包括:检测电子设备上是否有应用程序被启动;在有第一应用程序被启动的情况下,获得所述第一应用程序的目标标识和所述电子设备的第一位置信息;所述目标标识表征所述第一应用程序的应用场景;至少根据所述第一位置信息,处理目标围栏,所述目标围栏为所述目标标识对应的地理围栏,以使得所述电子设备进入所述目标围栏的情况下启动所述第一应用程序。

Description

地理围栏的处理方法及装置
技术领域
本申请涉及电子信息领域,尤其涉及一种地理围栏的处理方法及装置。
背景技术
地理围栏(Geo-fencing)是LBS(Location Based Services,基于位置的服务)的一种应用,即用一个虚拟的栅栏围出一个虚拟地理边界。当手机进入某个特定地理区域或在该地理区域内活动时,手机可以接收到自动发送的通知和警告。
目前手机中的地理围栏通常是由应用开发者或者手机服务提供商在手机中预设。
发明内容
本申请提供了一种地理围栏的处理方法及装置,目的在于解决只能由应用开发商或手机服务提供商进行预设所导致的地理围栏不准确的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请的第一方面提供了一种地理围栏的处理方法,包括:检测电子设备上是否有应用程序被启动;在有第一应用程序被启动的情况下,获得第一应用程序的目标标识和电子设备的第一位置信息;目标标识表征第一应用程序的应用场景;至少根据第一位置信息,处理目标围栏,目标围栏为目标标识对应的地理围栏,以使得电子设备进入目标围栏的情况下启动第一应用程序。因此,本申请不需要用户的介入,而是根据电子设备在使用过程中基于用户的应用场景自动生成地理围栏,使得所生成的地理围栏更加准确的符合用户的使用习惯。
可选的,电子设备包含有场景识别模块,其中,获得第一应用程序的目标标识,包括:场景识别模块在预设的应用场景特征库中,查找与第一应用程序的应用特征相匹配的目标场景特征;应用场景特征库中包含有多个场景标识,每个场景标识对应有场景特征;场景识别模块在应用场景特征库中,获得目标场景特征对应的目标标识。因此,通过提取应用特征来获得表征应用场景的目标标识。
可选的,第一位置信息包含以下任意一项或任意多项的位置标识:电子设备当前所处位置的坐标信息、电子设备当前所处的Wi-Fi AP的BSSID、电子设备当前所处的当前小区的Cell ID、电子设备当前所处的邻近小区的Cell ID。可见,本申请使用GPS坐标信息结合Wi-Fi AP的BSSID和Cell ID,以单一类型或混合类型的位置信息来生成地理围栏,避免GPS没有被开启而无法自动生成地理围栏的情况,使得地理围栏的可靠性更高,实现更加灵活。
可选的,电子设备包括场景识别模块和围栏管理模块;其中,至少根据第一位置信息,处理目标围栏,包括:场景识别模块在围栏集合中,查找是否已经存在与目标标识和第一位置信息均相匹配的目标使用位置信息;围栏集合中至少包含有场景标识、场景标识对应的应用场景使用位置信息、应用场景使用位置信息对应的应用场景使用频次以及应用场景使用频次对应的地理围栏;如果在围栏集合中已经存在与目标标识和第一位置信息均相匹配的目标使用位置信息,场景识别模块将目标使用位置信息对应的应用场景使用频次加1;如果在围栏集合中已经存在与目标标识或第一位置信息均相匹配的目标使用位置信息,场景识别模块在围栏集合中添加目标标识和第一位置信息对应的信息;场景识别模块判断被加1的应用场景使用频次是否大于或等于频次阈值;如果被加1的应用场景使用频次等于频次阈值,围栏管理模块根据第一位置信息,在围栏集合中生成目标围栏;如果被加1的应用场景使用频次大于频次阈值,围栏管理模块根据第一位置信息,在围栏集合中更新目标围栏。可见,本申请通过设置使用频次记录用户处于应用场景的次数,结合频次阈值实现对地理围栏进行生成或更新的判断逻辑。
可选的,场景识别模块在围栏集合中,查找是否已经存在与目标标识和第一位置信息均相匹配的目标使用位置信息,包括:场景识别模块在围栏集合中查找是否已经存在与目标标识相一致的目标场景标识,如果在围栏集合中已经存在与目标标识相一致的目标场景标识,判断目标场景标识对应的应用场景使用位置信息中是否有与第一位置信息相匹配的目标使用位置信息;或者,场景识别模块在围栏集合中查找是否已经存在与第一位置信息相匹配的目标使用位置信息,如果在围栏集合中已经存在与第一位置信息相匹配的目标使用位置信息,判断目标使用位置信息对应的场景标识中有与目标标识相一致的目标场景标识。可见,本申请中可以通过多种不同的方式在围栏集合中查找与目标标识和第一位置信息均相匹配的目标使用位置信息,以提高匹配的准确性和可靠性。
可选的,围栏管理模块根据第一位置信息,在围栏集合中生成目标围栏,包括:根据第一位置信息中所包含的位置标识,在围栏集合中为目标标识生成对应的目标围栏,目标围栏至少具有围栏信息,围栏信息与第一位置信息中所包含的位置标识相一致。可见,本申请使用位置标识生成围栏信息,使得地理围栏对应于用户的应用场景的位置标识,使得所生成的地理围栏更加准确的符合用户的使用习惯。
可选的,围栏管理模块根据第一位置信息,在围栏集合中更新目标围栏,包括:根据第一位置信息中所包含的位置标识,对围栏集合中对目标标识对应的目标围栏的围栏信息进行增量更新。可见,本申请中在用户对电子设备的使用过程中基于用户的应用场景持续更新地理围栏,进一步使得所更新的地理围栏更加符合用户的使用习惯,很大程度上改善用户的使用体验。
可选的,目标标识和第一位置信息均与目标使用位置信息相匹配,包括:目标使用位置信息对应的场景标识与目标标识相一致;且,目标使用位置信息中所包含的位置标识与第一位置信息中所包含的位置标识至少部分一致。可见,本申请中通过位置标识部分或全部一致来匹配位置信息,使得生成或更新的地理围栏为用户提供更加智能的使用体验。
可选的,目标使用位置信息中所包含的位置标识与第一位置信息中所包含的位置标识至少部分一致,包括:目标使用位置信息和第一位置信息各自所包含的相同位置标识的个数超过个数阈值;或者,目标使用位置信息包含的位置标识所表征的区域范围,和第一位置信息包含的位置标识所表征的区域范围,存在重叠。可见,本申请针对不同类型的位置标识实现不同的位置信息匹配方式,使得匹配准确性更高。
可选的,方法还包括:围栏管理模块根据第一位置信息中所包含的位置标识,对目标使用位置信息中的位置标识进行增量更新。可见,本申请中通过增量更新使得位置信息更准确,提高后续匹配的准确性,使得生成或更新的地理围栏为用户提供更加智能的使用体验。
可选的,电子设备还包括:低功耗围栏检测模块和场景处理模块,方法还包括:低功耗围栏检测模块获得电子设备的第二位置信息;低功耗围栏检测模块在从围栏管理模块接收到的围栏集合中,查找是否存在与第二位置信息相匹配的目标地理围栏,在围栏集合中查找到与第二位置信息相匹配的目标地理围栏的情况下,场景处理模块获得围栏集合中目标地理围栏对应的第一场景标识;场景处理模块获得第一场景标识对应的目标指令,以使得目标指令对应的第二应用程序启动并执行目标指令。可见,本申请将电子设备的位置信息与围栏集合中的地理围栏进行匹配,进而实现进入地理围栏后执行相应的指令,为用户提供更加智能的使用体验。
可选的,第二位置信息包含以下任意一项或任意多项的位置标识:电子设备当前所处位置的坐标信息、电子设备当前所处的Wi-Fi AP的BSSID、电子设备当前所处的当前小区的Cell ID、电子设备当前所处的邻近小区的Cell ID。可见,本申请使用GPS坐标信息结合Wi-Fi AP的BSSID和Cell ID,以单一类型或混合类型的位置信息来检测地理围栏,避免GPS没有被开启而无法自动生成地理围栏的情况,使得地理围栏的可靠性更高,实现更加灵活。
可选的,目标地理围栏与第二位置信息相匹配,包括:目标地理围栏的围栏信息与第二位置信息之间至少有预设数值的位置标识相一致;或,目标地理围栏的围栏信息与第二位置信息各自所包含的位置标识所表征的区域范围存在重叠。可见,本申请针对不同类型的位置标识实现不同的位置信息匹配方式,使得匹配准确性更高。
可选的,低功耗围栏检测模块所在的协处理器接入电子设备中的无线通信模块和移动通信模块,以使得低功耗围栏检测模块获得电子设备的第二位置信息,并在围栏集合中查找与第二位置信息相匹配的目标地理围栏。可见,本申请在电子设备利用协处理器进行围栏检测,从而降低电子设备的功耗。
可选的,场景处理模块获得第一场景标识对应的目标指令,包括:在策略集合中选取第一场景标识对应的目标策略信息;策略集合中包含有多个场景标识,每个场景标识分别对应于一条场景策略信息;根据目标策略信息,获得目标指令。可见,本申请中通过配置策略集合来提取场景策略信息后据此获得目标指令,以实现相应的地理围栏的功能。
本申请的第二方面提供一种地理围栏的处理装置,包括:场景识别模块,用于检测电子设备上是否有应用程序被启动,在有第一应用程序被启动的情况下,获得第一应用程序的目标标识和电子设备的第一位置信息;目标标识表征第一应用程序的应用场景;围栏管理模块,用于至少根据第一位置信息,处理目标围栏,目标围栏为目标标识对应的地理围栏;低功耗围栏检测模块,用于检测电子设备是否进入目标围栏;场景处理模块,用于在电子设备进入目标围栏的情况下,启动第一应用程序。
本申请的第三方面提供一种芯片,包括:至少一个处理器以及接口,接口用于接收代码指令,并传输至至少一个处理器;至少一个处理器运行代码指令,以实现第一方面的地理围栏的处理方法。
本申请的第四方面提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现第一方面的地理围栏的处理方法。
本申请的第五方面提供了一种可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现第一方面的地理围栏的处理方法。
附图说明
图1a和图1b分别为用户携带手机进入地理围栏后触发围栏功能的示例图;
图1c为本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例的电子设备的软件结构框图;
图3a为本申请实施例的电子设备中配置协处理器的软硬件结构示意图;
图3b为本申请实施例的电子设备中配置协处理器的软硬件结构以及交互示意图;
图4为本申请实施例公开的一种地理围栏的处理方法中电子设备中各模块或部件之间的交互示意图;
图5为本申请实施例中用户开启获得应用场景特征库功能的一个示例图;
图6为用户点击微信应用并输出付款码的示例图;
图7为用户点击支付宝应用并开启扫码的示例图;
图8为本申请实施例中获得第一位置信息中GPS坐标信息的示例图;
图9为本申请实施例中获得第一位置信息中Wi-Fi AP的BSSID的示例图;
图10为本申请实施例中获得第一位置信息中Cell ID的示例图;
图11为本申请实施例中获得第二位置信息中Cell ID的示例图;
图12为本申请实施例中获得第二位置信息中Wi-Fi AP的BSSID的示例图;
图13为本申请实施例中获得第二位置信息中GPS坐标信息的示例图;
图14为本申请实施例中用户选择策略信息的示例图;
图15为本本申请实施例中用户在手机上启动NFC并切换到门禁卡而手机生成或更新地理围栏的示例图;
图16为本本申请实施例中用户在手机上打开健康码应用并点开健康码而手机生成或更新地理围栏的示例图;
图17为本本申请实施例中用户在手机上启动NFC并切换到交通卡而手机生成或更新地理围栏的示例图;
图18为本本申请实施例中用户在手机上打开微信并展示微信付款码而手机生成或更新地理围栏的示例图;
图19为本本申请实施例中用户在手机上启动NFC并切换到门禁卡而手机生成或更新地理围栏的示例图;
图20为本申请实施例中手机自动为用户切换门禁卡的示例图;
图21为本申请实施例中手机自动为用户提示是否输出健康码并切换公交卡的示例图;
图22为本申请实施例中手机自动为用户提示是否输出付款码的示例图;
图23为本申请实施例中手机自动为用户切换门禁卡的示例图;
图24为本申请实施例中的电子设备的另一示例图;
图25为本申请实施例中的地理围栏的处理装置的结构示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
满足用户差异化与个性化的需求是目前智能电子设备如手机“智慧化”的关键,实时位置信息作为个性场景的一部分其重要性毋庸置疑,地理围栏技术是“智慧化”中重要的一环。地理围栏即用一个虚拟的栅栏围出一个虚拟地理边界。当手机进入、离开某个特定地理区域,或在该区域内活动时,手机可以接收自动通知和警告。例如,图1a中所示,用户携带手机进入高压电线的地理围栏时,手机收到供电局发送的“高压危险”的警告信息。再如,图1b中所示,用户携带手机进入机场的地理围栏时,手机为用户输出出行健康码。
但是,目前电子设备上地理围栏局限于针对地标如商超、地铁站、机场等的固定设置,不仅需要由应用开发者或手机服务提供商设置,且地理围栏的围栏信息固定,导致地理围栏的围栏信息不仅不能根据用户需求设置,也不会根据用户的应用场景标识而更新。另外,目前的地理围栏的设置不仅需要具备基础的定位相关知识,还只能使用GNSS信息,缺乏对其他可表征位置信息的灵活应用。
有鉴于此,本申请的发明人经过进一步研究,提出一种自动生成地理围栏并能够实现地理围栏的自动检测的地理围栏的处理方案,基于用户的位置强相关的应用场景,结合Wi-Fi、Modem及GNSS等信息,能够自动生成基于用户真实业务需求的地理围栏的围栏信息,区别于目前的由电子设备厂商提前设置好的地理围栏,更贴合用户使用场景,使用户真正体验到电子设备如手机的智能化及便捷化。
在一些实施例中,电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备,本申请对上述电子设备的具体形式不做特殊限制。在本实施例中,如图1c所示,为本申请实施例提供的一种电子设备的结构示意图。
如图1c所示,电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial 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可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,在本申请中,处理器110可以根据用户的应用场景针对相应的电子设备的位置信息自动生成或更新地理围栏的围栏信息,并且,可以对电子设备进入地理围栏进行判断,进而在监测到进入地理围栏后启动相应的应用程序并执行相应的指令。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器modem进行解调。移动通信模块150还可以对经调制解调处理器modem调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器modem可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备的显示屏194上可以显示一系列图形用户界面(graphical userinterface,GUI),这些GUI都是该电子设备的主屏幕。一般来说,电子设备的显示屏194的尺寸是固定的,只能在该电子设备的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。例如,在本申请实施例中,显示屏194可以显示虚拟按键(一键编排、开始编排、场景编排)。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令,进行场景编排。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(Cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测所述触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备是翻盖机时,电子设备可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。电子设备可以利用接近光传感器180G检测用户手持电子设备贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备对电池142加热,以避免低温导致电子设备异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统,华为公司所开发的harmony操作系统等。其中的Harmony操作系统也可以称为鸿蒙操作系统。在电子设备上所运行的操作系统上可以安装运行应用程序,如聊天应用、NFC应用、购物应用等。
电子设备的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。
图2是本申请实施例的电子设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。例如,在本申请实施例中,应用程序包还可以包括健康码应用、NFC应用、乘车码(公交)及地跌码、支付应用等基于位置信息的应用。这些应用程序包被运行时,可以访问应用程序框架层提供的场景识别模块,并且,还可以执行相应的智能化业务,例如,在健康码应用为用户推荐健康码输出的业务,在支付应用中为用户加载支付码并通过悬浮窗直接显示的业务,在NFC应用中对门禁卡、公交卡等进行切换。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。例如,在本申请实施例中,在处理地理围栏时,应用程序框架层可以为应用程序层提供与地理围栏的处理功能相关的API,如场景识别模块、围栏管理模块以及场景处理模块等,其中,场景识别模块用于识别被运行的应用程序并将识别出的应用程序与白名单中的应用信息进行识别匹配,得到对应的应用场景,并获取电子设备的位置信息;围栏管理模块用于对场景使用频次进行统计,并按照统计结果进行围栏生成或更新的决策,如生成新的地理围栏或更新已有的地理围栏,并将生成或更新的地理围栏进行下发;场景处理模块用于在接收到电子设备进入围栏的消息后,检索电子设备所进入的地理围栏对应的应用场景,再选取相应的场景策略并触发应用程序层中相应的应用程序启动并执行所选取的场景策略指令,如在健康码应用为用户输出健康码,在支付应用中为用户加载支付码并通过悬浮窗直接显示,在NFC应用中切换门禁卡到交通卡,等等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
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绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了减少对CPU即AP(Application Processor,应用处理器)的占用进而降低电子设备的功耗,结合图2中的软件结构框图,在本申请实施例的电子设备中的硬件层中有配置CPU、modem、Wi-Fi及GNSS等模块,具体如图1c中所示,用于实现图2所示的软件结构,另外,硬件层中还配置有传感器控制中心sensor hub,即协处理器,如图3a中所示,协处理器接入到电子设备的硬件层中并与modem、Wi-Fi及GNSS等模块相连接,基于此,本申请实施例中在协处理器上实现低功耗围栏检测模块和围栏触发上报模块,由此,低功耗围栏检测模块接收应用程序框架层下发的地理围栏后,对电子设备是否进入新的地理围栏进行检测,在低功耗围栏检测模块检测到电子设备进入新的地理围栏时,围栏触发上报模块向应用程序框架层中的场景处理模块发送进入围栏的消息来唤醒AP,由此场景处理模块按照电子设备进入的地理围栏向相应的应用程序发送相应的指令,使得应用程序直接执行指令,改善用户对电子设备的使用体验。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于iOS,Windows或harmony等操作系统的电子设备。
为了便于下文中对本方案的理解,本实施例中对图3a所示的结构框图进行简化,得到如图3b所示的软硬件交互示意图。结合图3b,图4所示为本申请实施例公开的一种地理围栏的处理方法中电子设备中各模块或部件之间的交互示意图,该方法可以适用于图1c所示的电子设备,本申请实施例中的方法可以包含如下流程:
首先,电子设备中预先设置基于位置信息的应用场景特征库。
应用场景特征库可以用表格来实现,表格中包含多行特征信息,其中的每行特征信息中包含有场景标识、应用场景和场景特征。场景标识对应于应用场景,应用场景为基于位置信息被启动的应用程序为用户提供相应特定功能的场景,具体可以用应用程序的包名及使用功能名表示。场景特征中可以包含有应用程序所提供的特定功能的标识,如应用的activity或UI等特征,用来表征为用户提供相应特定功能的应用程序。
例如,如表1所示,场景标识01对于第一应用付款的应用场景,例如,第一应用可以为支付宝应用,第一应用付款的应用场景即为使用支付宝应用输出付款码进行付款的场景,相应的场景特征为包含第一应用的应用名“11”的com.eg.android.11payGphone/com.11.mobile.Onsitepay9.payer.OspTabHostActivity;场景标识02对于第二应用付款的应用场景,例如,第二应用可以为微信应用,第二应用付款的应用场景即为使用微信应用输出付款码进行付款的场景,相应的场景特征为包含微信应用的应用标识“22”的com.22.mm/com.22.mm.plugin.offline.ui.WalletOfflineCoinPurseUI;场景标识03对于支付宝扫一扫的应用场景,场景特征为包含支付宝应用的应用标识“11pay”的com.eg.android.11payGphone/com.11pay.mobile.scan.as.main.MainCaptureActivity;场景标识04对于微信扫一扫的应用场景,场景特征为包含微信应用的应用标识“22”的com.22.mm/com.22.mm.plugin.scanner.ui.BaseScanUI;场景标识11对于NFC作为门禁卡刷卡的应用场景,场景特征为表征门禁卡的“NfcA”字段;场景标识12对应于NFC作为交通卡刷卡的应用场景,场景特征为表征交通卡的“IsoDep”字段,等等。
表1应用场景特征库
Figure BDA0003203419810000151
Figure BDA0003203419810000161
在一种实现方式中,本实施例中可以在电子设备中为用户提供针对应用场景特征库的预设控件,在预设控件被用户触发至开启状态之后,电子设备可以从服务器如云端服务器或后台服务器获得预先配置的应用场景特征库。以电子设备为手机为例,如图5中所示,用户在打开手机的设置图标后,手机上输出设置界面,其中包含蓝牙、蜂窝网络和地理围栏等设置子界面的进入按钮,用户在点击“地理围栏”的按钮之后,手机进入地理围栏的设置子界面,用户可以在地理围栏的设置子界面中将“应用场景特征库”的控件打开,基于此,手机上可以通过从服务提供商的云端服务器上获得到预先设置的应用场景特征库。
需要说明的是,服务器上的应用场景特征库可以由开发者将市场上所出现的部分或全部的应用程序在多种不同的功能上的场景特征进行统计,并据此配置应用场景特征库,如表1中所示,根据第一应用在付款和扫码两个功能上的场景特征,生成表1中的场景标识分别为01和03各自对应的特征信息,根据第二应用在付款和扫描两个功能上的场景特征,生成表1中场景标识分别为02和04各自对应的特征信息,等等。
其中,电子设备从服务器上所获得的应用场景特征库可以存储到电子设备中的特定位置,如磁盘存储器或内存中,以便于电子设备中的场景识别模块进行读取。
S401:场景识别模块监测是否有应用程序被启动,在有第一应用程序被启动的情况下,执行步骤S402,如果没有应用程序被启动,继续执行S401,即继续监测是否有应用程序被启动。
其中,第一应用程序被启动可以理解为:第一应用程序被用户触发启动或者第一应用程序被其他事件触发,使得第一应用程序运行在操作系统上,基于此,用户对第一应用程序进行功能触发,使得第一应用程序提供特定的功能。例如,用户点击手机上的微信应用的图标,并在微信应用上点击付款码输出的控件,手机上输出付款码,如图6中所示;再如,用户点击手机上的支付宝应用的图标,并在支付宝应用上点击扫码控件,手机上开启摄像头进行扫码,如图7中所示;再如,用户点击手机上NFC应用的启动控件,使得NFC应用启动,以便于使用NFC应用中配置的门禁卡或交通卡。
具体的,场景识别模块可以通过对电子设备中的进程进行监测,在存在应用程序的进程被创建的情况下,可以确定有第一应用程序被启动。例如,在微信应用被启动并运行之后,手机操作系统中会运行有该微信应用的进程,场景识别模块在监测到有微信应用的进程的情况下,可以确定微信应用被运行。再如,在NFC应用被启动之后,手机操作系统中会运行NFC应用的进程,场景识别模块在监测到有NFC应用的进程的情况下,可以确定NFC应用被运行。
S402:场景识别模块获得被启动的第一应用程序对应的应用特征。
其中,第一应用程序对应的应用特征能够表征第一应用程序被启动后所提供的特定功能,如付款功能、扫码功能、门禁卡或交通卡的功能等。
S403:场景识别模块在应用场景特征库中查找是否存在与第一应用程序对应的应用特征相匹配的目标场景特征,如果有,执行S404和S405,如果没有,继续执行S401,即继续监测是否有应用程序被启动。
S404:场景识别模块在应用场景特征库中,根据查找到的目标场景特征获得第一应用程序对应的目标标识。
例如,场景识别模块将获得到的应用特征在应用场景特征库与每个场景标识对应的场景特征进行匹配,如果在应用场景特征库中匹配到与应用特征相匹配的目标场景特征,那么匹配到的目标场景特征对应的场景标识即为第一应用程序对应的目标标识。其中的目标场景特征与应用特征相匹配可以包括:目标场景特征包含应用特征,或者,目标场景特征与应用特征完全一致或部分一致。
具体实现中,针对不同类型的应用程序,S402中场景识别模块可以通过不同的方式获得第一应用程序对应的应用特征。如下:
第一种情况下,针对电子设备中所配置的三方应用程序被启动的场景,场景识别模块可以有以下几种方式获得第一应用程序的应用特征:
在第一种情况的一种实现方式中,场景识别模块可以首先获得第一应用程序的窗口特征(或称为界面特征),如activity特征或UI特征等,之后,根据第一应用程序的窗口特征,获得第一应用程序对应的应用特征。例如,可以将第一应用程序的窗口特征直接作为第一应用程序的应用特征,即将activity或UI等特征直接作为第一应用程序的应用特征;再如,可以在第一应用程序的窗口特征中提取部分字段,作为第一应用程序的应用特征,即在activity或UI等特征中提取关键字段如22或11pay等,以此作为第一应用程序的应用特征。
具体实现中,当应用程序被启动处于电子设备前台运行的时候,应用程序会处于栈RunningTask的栈顶。基于此,电子设备中的场景识别模块可以在监测到栈顶的任务进程有变化的情况下,即检测到有第一应用程序被启动的情况下,取出RunningTask的栈顶的任务进程,在取出的任务进程中获得到该第一应用程序的activity特征或UI特征。之后,电子设备中的场景识别模块将该第一应用程序中的activity特征或UI特征与应用场景特征库中的场景特征依次进行匹配,如果在应用场景特征库中存在与该应用程序的activity特征或UI特征相匹配的目标场景特征,那么所匹配到的目标场景特征对应的场景标识即为该第一应用程序对应的目标标识。或者,电子设备中的场景识别模块在应用程序的activity特征或UI特征中提取表征应用程序的部分关键字段,再将这些提取出的关键字段如22或11pay等与应用场景特征库中的场景特征依次进行匹配,如果在应用场景特征库中存在与提取出的字段相匹配的目标场景特征,那么所匹配到的目标场景特征对应的场景标识即为该应用程序对应的目标标识。
其中的场景识别模块获得activity的代码如下:
ActivityManageram=(ActivityManager)systemService;//场景识别模块中启动activity管理模块。
List<ActivityManager.RunningTaskInfo>runningTaskInfoList=am.getRunningTasks(1);//activity管理模块取出RunningTask。
Stringactivity_name=runningTaskInfoList.get(0).topActivity.getClassName()//activity管理模块取出栈顶的任务进程并得到其中的activity。
例如,在支付宝应用被启动且开启付款功能并处于手机前台运行的时候,手机可以取出RunningTask的栈顶的任务进程,在取出的任务进程中获得到该支付宝应用付款场景的activity,如:
com.eg.android.11payGphone/com.11pay.mobile.onsitepay9.payer.OspTabHostActivity。之后,手机在如表1中的应用场景特征库中查找与支付宝应用付款场景的activity相匹配的场景特征,如果在表1中查找到与支付宝付款应用的activity相匹配的场景特征,那么相应的场景标识即为该支付宝付款应用的目标标识,如“01”。
再如,在微信应用被启动且开启付款功能并处于手机前台运行的时候,手机可以取出RunningTask的栈顶的任务进程,在取出的任务进程中获得到该微信应用付款场景的UI,如:com.22.mm/com.22.mm.plugin.offline.ui.WalletOfflineCoinPurseUI。之后,手机在如表1中的应用场景特征库中查找与微信应用付款场景的UI相匹配的场景特征,如果在表1中查找到与微信应用付款场景的UI相匹配的场景特征,那么相应的场景标识即为该支付宝付款应用的目标标识,如“02”。
在第一种情况的另一种实现方式中,场景识别模块可以通过电子设备中的UsageStatsManager(应用使用数据统计服务),获取第一应用程序的使用状态信息,进而根据第一应用程序的使用状态信息,提取到第一应用程序的应用特征,如第一应用程序的包名及使用功能名。基于此,场景识别模块再将获得到的应用特征在应用场景特征库与每个场景标识对应的场景特征进行匹配,如果在应用场景特征库中匹配到与应用特征相匹配的目标场景特征,那么匹配到的目标场景特征对应的场景标识即为第一应用程序对应的目标标识。
例如,在支付宝应用被启动且开启扫码功能的时候,手机可以利用UsageStatsManager获取手机中的使用状态信息,其中包含支付宝应用扫码的使用状态信息,进而在其中提取到支付宝应用扫一扫的应用包名和扫码名称,如“11payGphone/com.11pay.mobile.scan”等,之后,手机在如表1中的应用场景特征库中查找与支付宝扫一扫应用的应用包名和扫码名称相匹配的场景特征,如果在表1中查找到与支付宝扫一扫应用的应用包名相匹配的场景特征,那么相应的场景标识即为该支付宝扫一扫应用的目标标识,如“03”。
在第一种情况的又一种实现方式中,场景识别模块可以通过电子设备中的AccessibilityService(Android的无障碍服务)监控电子设备前台窗口焦点的变化信息,进而根据变化信息获得到第一应用程序的应用特征,如目标焦点窗口对应的第一应用程序的包名及使用功能名即为第一应用程序的应用特征。基于此,场景识别模块再将获得到的应用特征在应用场景特征库与每个场景标识对应的场景特征进行匹配,如果在应用场景特征库中匹配到与应用特征相匹配的场景特征,那么匹配到的场景特征对应的场景标识即为第一应用程序对应的目标标识。
例如,在微信应用被启动且开启扫码功能的时候,手机可以利用AccessibilityService监控到微信扫码窗口焦点的变化信息,从而获得到微信应用的应用包名和扫码的名称,如“22.mm.plugin.scanner”等,之后,手机在如表1中的应用场景特征库中查找与微信扫一扫应用的应用包名和扫码的名称相匹配的场景特征,如果在表1中查找到与微信扫一扫应用的应用包名相匹配的场景特征,那么相应的场景标识即为该支付宝付款应用的目标标识,如“04”。
在第二种情况下,针对基于电子设备中所配置硬件实现的基础应用程序被启动的场景,场景识别模块可以在第一应用程序对应的硬件被初始化以及启动之后,对被启动的硬件的状态信息进行采集并获得状态信息中表征硬件功能类型的类型字段,进而将类型字段作为第一应用程序的应用特征。
以电子设备中基于NFC所实现的NFC应用被启动的场景为例,NFC应用即为第一应用程序,场景识别模块可以在NFC适配器被初始化且NFC的其中一个感应功能被启动之后,接收NFC的感应消息并对NFC的感应消息进行解码,由此得到NFC的感应消息中所包含的多个字段,其中一个字段为能够表征NFC感应功能的类型的字段,可以称为NFC类型字段,本实施例中对该NFC类型字段进行提取,将该NFC类型字段作为NFC应用的应用特征,如NfcA、NfcB或IsoDep等,基于此,场景识别模块将NFC应用的NFC类型字段在应用场景特征库与每个场景标识对应的场景特征进行匹配,如果在应用场景特征库中匹配到与NFC类型字段相匹配的目标场景特征,那么匹配到的目标场景特征对应的场景标识即为第一应用程序对应的目标标识。
其中,NfcA的字段表征NFC应用使用遵循ISO14443-3A标准的门禁卡的感应功能;NfcB的字段表征NFC应用使用遵循ISO14443-3B标准的二代身份证的感应功能;IsoDep的字段表征NFC应用使用遵循ISO14443-4标准的交通卡如公交卡或地铁卡的感应功能。
例如,在NFC应用被启动的时候,手机读取NFC感应消息中的NFC类型字段,如NfcA的字段,之后,手机在已经如表1中的应用场景特征库中查找与NFC应用的NfcA的字段相匹配的场景特征,如果在表1中查找到与NfcA相匹配的场景特征,那么相应的场景标识即为该NFC应用的目标标识,如“11”。
再如,在NFC应用被启动的时候,手机读取NFC感应消息中的NFC类型字段,如IsoDep的字段,之后,手机在已经如表1中的应用场景特征库中查找与NFC应用的IsoDep的字段相匹配的场景特征,如果在表1中查找到与IsoDep相匹配的场景特征,那么相应的场景标识即为该NFC应用的目标标识,如“12”。
S405:场景识别模块获得电子设备的第一位置信息。
电子设备的第一位置信息可以包含以下任意一项或任意多项位置标识:
电子设备当前所处位置的坐标信息、电子设备当前所处的Wi-Fi AP的BSSID(Basic Service Set Identifier,基础服务设置标识)、电子设备当前所处的当前小区的Cell ID(Cell IDentifier,小区标识)以及邻近小区的Cell ID。相应的,第一位置信息具有位置类型,如Wi-Fi类型、Cell类型或GPS类型等。
需要说明的是,第一位置信息可以为单种类型,如单Wi-Fi类型、单Cell类型或单GPS类型,在其他实施例中,第一位置信息还可以为多种结合的类型。例如,Wi-Fi类型结合Cell类型的第一位置信息;再如,Cell类型结合GPS类型的第一位置信息;再如,Wi-Fi类型结合Cell类型和GPS类型的第一位置信息,所形成的不同的技术方案均在本申请的保护范围内。
在一种实现方式中,在电子设备已经开启GPS的情况下,电子设备中的GPS可以实时更新电子设备当前所处位置的坐标信息,基于此,电子设备中的场景识别模块就可以对GPS更新的坐标信息进行读取,由此得到电子设备当前所处位置的GPS的坐标信息。GPS的坐标信息可以使用经度和纬度的坐标表示。例如,手机上打开微信应用并开启付款功能的时候,如果手机在GPS开启的情况下,那么读取GPS所定位到的经纬度坐标,如图8中所示。
在另一种实现方式中,在电子设备已经开启Wi-Fi的情况下,电子设备中的无线通信模块160可以对电子设备当前所处的Wi-Fi网络进行搜索,从而得到电子设备当前所能够接入的Wi-Fi AP的BSSID,基于此,电子设备中的场景识别模块可以对无线通信模块160所得到的BSSID进行读取。此时电子设备所得到的BSSID可以有一个或多个,不同的BSSID对应的Wi-Fi AP的信号强度可能不同。例如,手机上打开微信应用且开启付款功能的时候,如果手机在Wi-Fi开启的情况下,那么读取Wi-Fi所扫描到的Wi-FiAP1的BSSID1和Wi-Fi AP2的BSSID2,如图9中所示。
在另一种实现方式中,在电子设备开启移动通信模块150的功能的情况下,电子设备中的modem能够识别出电子设备当前所处的当前小区以及邻近小区,进而得到当前小区的Cell ID和邻近小区的Cell ID,基于此,电子设备中的场景识别模块可以从modem中读取到电子设备当前所处的当前小区的Cell ID以及邻近小区的Cell ID。例如,手机上打开微信付款应用的时候,如果手机在移动通信网络开启的情况下,那么读取modem中当前小区1的Cell ID1和邻近小区1的Cell ID2和邻近小区2的Cell ID3,如图10中所示。
需要说明的是,场景识别模块可以通过权限代码向电子设备的操作系统申请读取CellID的权限。例如,向手机申请读取Cell ID申请权限的代码参考如下:
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION">
</uses-permission>//申请访问位置的权限
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE">
</uses-permission>//申请读取手机状态的权限,手机状态能够用于读取所处小区
基于此,场景识别模块在申请到读取Cell ID的权限的情况下,针对不同的通信运营商可以通过调用不同的函数或组件实现对Cell ID的读取。例如,读取手机所在的当前小区以及邻近小区各自的Cell ID的代码参考如下:
首先,监听小区广播的代码如下:
mTelephonyManager=(TelephonyManager)mContext.getSystemService(Context.TELEPHONY_SERVICE);
if(mTelephonyManager!=null){
mTelephonyManager.listen(mPhoneStateListener,PhoneStateListener.LISTEN_CELL_LOCATION);
}
当监听到小区发生变化时,获取小区信息Cell ID的代码如下:
Figure BDA0003203419810000201
Figure BDA0003203419810000211
需要说明的是,以上实现代码仅为参考,以说明本实施例中获得Cell ID的方式。其他实施例中可以通过不同的代码构建来获得Cell ID,其他获得Cell ID的方式应用在本实施例中所形成的不同的技术方案均在本申请的保护范围内。
在另一种实现方式中,场景识别模块可以在电子设备已经开启GPS的情况下,优先读取GPS更新的坐标信息,不再获得电子设备当前所能够接入的Wi-FiAP的BSSID和电子设备所处当前小区的Cell ID和邻近小区的Cell ID,由此利用GPS的坐标信息的精确性,提高后续进行地理围栏的生成或更新的精度;而如果电子设备中没有开启GPS,那么场景识别模块在Wi-Fi被开启的情况下,优先读取电子设备当前所能够接入的Wi-FiAP的BSSID,不再获得电子设备所处当前小区的Cell ID和邻近小区的Cell ID;如果电子设备中既没有开启GPS也没有开启Wi-Fi,那么场景识别模块在modem中读取电子设备所处当前小区的Cell ID和邻近小区的Cell ID,由此,保证后续进行地理围栏的生成或更新的可靠性。
基于以上S404和S405,场景识别模块基于所获得到的第一应用程序对应的目标标识以及电子设备的第一位置信息,将目标标识与第一位置信息形成一个数据组,表征电子设备在第一位置信息对应的位置或区域上处于目标标识对应的应用场景中。
需要说明的是,以上S404和S405的执行顺序不受附图中的顺序限制,也可以先执行S405再执行S404,或者,同时执行S404和S405,所形成的不同的技术方案均在本申请的保护范围内。
另外,本实施例中,场景识别模块为了实现地理围栏的处理,可以预先初始化围栏集合。围栏集合可以在本实施例中的方案执行之前,由场景识别模块执行一次初始化。初始化后的围栏集合不会再次进行初始化。围栏集合可以用表格实现。围栏集合中的每一行信息可以包含:地理围栏对应的应用场景的场景标识、地理围栏对应的应用场景使用频次、地理围栏对应的应用场景使用位置信息、地理围栏的围栏信息,另外,围栏集合中的每一行信息还可以包含地理围栏的最新更新时间。
其中的应用场景使用位置信息包含:一个或多个位置标识。另外,位置标识还对应有位置类型。例如,位置类型可以有Wi-Fi类型、Cell类型或GPS类型等。Wi-Fi类型对应的位置标识可以为Wi-Fi AP的BSSID,Cell类型对应的位置标识可以为Cell ID,GPS类型对应的位置标识可以为经度坐标和纬度坐标。
其中的地理围栏的围栏信息可以采用对应的应用场景下的位置标识表示,即应用场景使用位置信息中的一个或多个位置标识,另外,围栏信息对应有围栏编号和围栏类型。围栏编号可以用数字表示,用于唯一表征地理围栏。围栏类型与应用场景使用位置信息中的位置类型相对应,如Wi-Fi类型、Cell类型和GPS类型中的任意一种类型或任意多种的组合类型等。
需要说明的是,地理围栏可以为单种类型,如单Wi-Fi类型、单Cell类型或单GPS类型,在其他实施例中,地理围栏还可以为多个单种类型结合的组合类型。例如,Wi-Fi类型结合Cell类型的地理围栏;再如,Cell类型结合GPS类型的地理围栏;再如,Wi-Fi类型结合Cell类型和GPS类型的地理围栏,所形成的不同的技术方案均在本申请的保护范围内。
在场景识别模块初始化围栏集合后,围栏集合中可以仅包含各个预设的场景标识,初始化的围栏集合中所包含的场景标识与应用场景特征库中的场景标识相一致,如表2中所示,表2中的场景标识“01”表征第一应用付款的应用场景,表2中的场景标识“04”表征第二应用扫码的应用场景等等,其他内容为Null(空);或者,围栏集合的初始状态为全Null,即没有存储任何信息的状态,如表3中所示。
表2初始化的围栏集合
场景标识 使用频次 场景使用位置信息 围栏信息 更新时间
01 0 Null Null Null
02 0 Null Null Null
03 0 Null Null Null
04 0 Null Null Null
11 0 Null Null Null
12 0 Null Null Null
表3初始化的围栏集合
场景标识 使用频次 场景使用位置信息 围栏信息 更新时间
Null Null Null Null Null
以表3中的初始化的围栏集合为例,在按照本申请实施例中的技术方案进行多次地理围栏的生成或更新后,围栏集合中存储有多条信息,每条信息即为一行信息,其中至少包含场景标识如“04”、使用频次如“6”、应用场景使用位置信息如“{Type:Wi-Fi,Location:6c:16:32:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc}”以及相应的地理围栏“01”的围栏信息和更新时间“2021060613:22”,而如果一行信息中还未生成围栏信息,那么围栏信息和更新时间为空。如表4中所示:
表4围栏集合
Figure BDA0003203419810000231
例如,场景标识“04”为围栏编号为“01”的地理围栏对应的应用场景的场景标识;使用频次如“6”为围栏编号为“01”的地理围栏对应的应用场景的使用频次;Type:Wi-fi表示围栏编号为“01”的地理围栏对应的应用场景的位置类型为Wi-Fi类型;Location:6c:16:32:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc表示:围栏编号为“01”的地理围栏在Wi-Fi类型下对应的BSSID有三个:“6c:16:32:17:24:42”、“82:7c:e4:e5:66:ac”和“0a:36:82:c9:06:dc”;FenceID:01表示:地理围栏的围栏编号为“01”;FenceType:Wi-fi表示:围栏编号为“01”的地理围栏的围栏类型为Wi-Fi类型;Fence:6c:16:32:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc表示:围栏编号为“01”的地理围栏的围栏信息包含三个BSSID,分别为:“6c:16:32:17:24:42”、“82:7c:e4:e5:66:ac”和“0a:36:82:c9:06:dc”,地理围栏所对应的围栏范围即为这三个BSSID所对应的Wi-FiAP所覆盖的区域范围;2021060613:22表示:围栏编号为“01”的地理围栏被生成或最近一次被更新的时间,以年月日表示。
再如,场景标识“11”为围栏编号为“02”的地理围栏对应的应用场景的场景标识;使用频次如“10”为围栏编号为“02”的地理围栏对应的应用场景的使用频次;Type:Cell表示围栏编号为“02”的地理围栏对应的应用场景的位置类型为Cell类型;Location:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755表示:围栏编号为“02”的地理围栏在Cell类型下对应的Cell ID有三个,分别记为:MCC1_MNC1_LAC1_Cell ID1、MCC2_MNC2_LAC2_Cell ID2、MCC3_MNC3_LAC3_Cell ID3;FenceID:02表示:地理围栏的围栏编号为“02”;FenceType:Cell表示:围栏编号为“02”的地理围栏的围栏类型为Cell类型;Fence:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755,460_0_13104_14151,460_0_13104_14152表示:围栏编号为“02”的地理围栏的围栏信息包含三个CellID,分别为:MCC1_MNC1_LAC1_Cell ID1、MCC2_MNC2_LAC2_Cell ID2、MCC3_MNC3_LAC3_CellID3,地理围栏所对应的围栏范围即为这三个Cell ID所对应的小区所覆盖的区域范围;2021060908:22表示:围栏编号为“02”的地理围栏被生成或最近一次被更新的时间,以年月日表示。
再如,场景标识“12”为围栏编号为“03”的地理围栏对应的应用场景的场景标识;使用频次如“4”为围栏编号为“03”的地理围栏对应的应用场景的使用频次;Type:GPS表示围栏编号为“03”的地理围栏对应的应用场景的位置类型为GPS类型;Location:106.58144,31.449835表示:围栏编号为“03”的地理围栏在GPS类型下对应的经度坐标和纬度坐标;FenceID:03表示:地理围栏的围栏编号为“03”;FenceType:GPS表示:围栏编号为“03”的地理围栏的围栏类型为GPS类型;Fence:106.58144,31.449835,50表示:围栏编号为“03”的地理围栏的围栏信息包含经度坐标106.58144、纬度坐标31.449835以及以经度坐标和纬度坐标表示的坐标点为中心的围栏半径50,地理围栏所对应的围栏范围即为以经度坐标和纬度坐标表示的坐标点为中心以围栏半径为半径的覆盖范围;2021061218:45表示:围栏编号为“03”的地理围栏被生成或最近一次被更新的时间,以年月日表示。
需要说明的是,在围栏集合中,不同的应用场景使用位置信息对应于不同的地理围栏,地理围栏对应的应用场景使用频次是与场景标识下对应的应用场景使用位置信息相对应的。也就是说,同一个场景标识可以对应于一个或多个地理围栏。在场景标识对应于多个地理围栏的情况下,地理围栏可以关于围栏类型不同,此时,围栏信息也不同;或者,地理围栏关于围栏类型相同但围栏信息不相同。不同的地理围栏可能对应于不同的应用场景使用频次。
例如,场景标识“02”对应于地理围栏04和地理围栏05,地理围栏04与地理围栏05在围栏类型上相同,均为Wi-Fi类型,但地理围栏04的围栏信息为手机处于超市时对应的BSSID,而地理围栏05的围栏信息则为手机处于餐厅时对应的BSSID,即为:用户分别在超市和餐厅均在Wi-Fi网络中打开微信付款的应用场景,如表5中所示。
表5围栏集合
Figure BDA0003203419810000251
再如,场景标识“02”对应于地理围栏04和地理围栏05,地理围栏04与地理围栏05在围栏类型上不同,地理围栏04为Wi-Fi类型,地理围栏05为Cell类型,此时,地理围栏04的围栏信息为手机处于超市时对应的BSSID,而地理围栏05的围栏信息则为手机处于商场时对应的Cell ID,即为:用户在超市在Wi-Fi网络中打开微信付款以及用户在商场时在移动通信网络中打卡微信付款的应用场景,如表6中所示。
表6围栏集合
Figure BDA0003203419810000252
另外,在围栏集合中,同一个应用场景使用位置信息可以在不同的应用场景下对应于不同的地理围栏,也就是说,不同的场景标识所对应的应用场景使用位置信息可以相同,但肯定对应于不同的地理围栏,地理围栏对应的应用场景使用频次是与场景标识下对应的应用场景使用位置信息相对应的。也就是说,同一个应用场景使用位置信息对应于不同的场景标识,此时,同一个应用场景使用位置信息对应于多个地理围栏。在同一个应用场景使用位置信息对应于多个地理围栏的情况下,这多个地理围栏可以关于应用场景不同即对应的场景标识不同,此时,这多个地理围栏的围栏信息内的位置标识相同。
例如,场景标识“01”和“02”对应于地理围栏04和地理围栏05,地理围栏04与地理围栏05在围栏类型以及位置标识上均相同,均为Wi-Fi类型且均为手机处于超市时对应的BSSID,即为:用户在超市在Wi-Fi网络中打开支付宝进行3次付款的应用场景,以及,用户在超市在Wi-Fi网络中打开支付宝进行4次扫码的应用场景,如表7中所示。
表7围栏集合
Figure BDA0003203419810000261
S406:场景识别模块在围栏集合中查找是否已经存在与目标标识相一致的目标场景标识,如果是,执行S407,否则,执行S408。
其中,在围栏集合中存在与目标标识相一致的目标场景标识的情况下,目标场景标识可能为一个或多个,如表5或表6中所示的场景标识“02”有两个。
S407:场景识别模块判断目标场景标识对应的应用场景使用位置信息中是否有与第一位置信息相匹配的目标使用位置信息,如果是,执行S409,否则,执行S410。
具体实现中,S406中场景识别模块可以首先在围栏集合中查找与目标标识对应的场景标识,在围栏集合中查找到目标标识对应的一个或多个目标场景标识之后,将目标场景标识对应的应用场景使用位置信息与目标标识对应的第一位置信息进行比对,如果有目标场景标识对应的应用场景使用位置信息即目标使用位置信息与目标标识对应的第一位置信息相匹配,那么执行S409,否则,执行S410。
在一种实现方式中,目标场景标识对应的目标使用位置信息,与第一位置信息相匹配,是指:目标使用位置信息对应的位置类型,与第一位置信息的位置类型完全一致或部分一致,且,目标使用位置信息中的一个或多个位置标识与第一位置信息中的位置标识完全一致,或者,目标使用位置信息中的一个或多个位置标识与第一位置信息中的位置标识存在部分一致。其中的目标使用位置信息中的一个或多个位置标识与第一位置信息中的位置标识存在部分一致,可以为:目标使用位置信息和第一位置信息中所包含的相同的位置标识的个数超过个数阈值,或者,目标使用位置信息和第一位置信息各自包含的位置标识所表征的区域范围存在重叠。
例如,以Wi-Fi类型的位置信息为例,场景识别模块在将第一位置信息与围栏集合中目标场景标识对应的目标使用位置信息进行匹配时,可以将第一位置信息中的BSSID与目标使用位置信息中的BSSID(如Location中的BSSID:6c:16:32:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc)进行比对,如果第一位置信息中的BSSID与目标使用位置信息中的BSSID存在3条相同的BSSID,那么可以确定第一位置信息与目标场景标识对应的目标使用位置信息相匹配。
再如,以Cell类型的位置信息为例,场景识别模块在将第一位置信息与围栏集合中目标场景标识对应的目标使用位置信息进行匹配时,可以将第一位置信息中的Cell ID与目标使用位置信息中的Cell ID(如Location中的Cell ID:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755)进行比对,如果第一位置信息中的CellID与目标使用位置信息中的Cell ID存在3条相同的Cell ID,那么可以确定第一位置信息与目标场景标识对应的目标使用位置信息相匹配。
再如,以GPS类型的位置信息为例,场景识别模块在将第一位置信息与目标场景标识对应的目标使用位置信息进行匹配时,可以首先获得第一位置信息中的坐标点与目标使用位置信息中的坐标点(如Location中的坐标:106.58144,31.449835)进行距离计算,例如,使用第一位置信息中的经度坐标和纬度坐标以及目标使用位置信息中的经度坐标和纬度坐标进行坐标距离计算,如果所得到的坐标距离小于距离阈值如50米,表征分别以第一位置信息中的坐标点与目标使用位置信息中的坐标点为圆心以50米为半径的两个圆形区域范围是存在重叠的,那么可以确定第一位置信息与目标场景标识对应的目标使用位置信息相匹配。
需要说明的是,使用经度坐标和纬度坐标进行坐标计算时,需要考虑地球表面的弧度对坐标距离的影响。例如,第一位置信息中的坐标点以(X1,Y1)表示,目标使用位置信息中的坐标点以(X2,Y2)表示,其中X1和X2分别为经度坐标,Y1和Y2分别为纬度坐标,基于此,场景识别模块在计算出(X1,Y1)和(X2,Y2)之间的坐标距离时,需要考虑按照地球半径计算两个坐标点之间的弧长距离。例如,按照弧长距离为弧度乘以半径后再乘以π(3.1415926)后除以180,地球半径以R=6371.0千米为准,则两个坐标点之间的弧长距离为:
d=R*arcos[cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2)]。
以上示例中,为第一位置信息和目标使用位置信息仅包含单类型的位置标识的示例,如单Wi-Fi类型、单Cell类型或单GPS类型的位置标识,在其他实施例中,由于第一位置信息和目标使用位置信息各自可能包含多种结合的类型的位置标识,如Wi-Fi类型的位置标识结合Cell类型的位置标识,按照本实施例中的匹配方案,在将第一位置信息和目标使用位置信息进行位置标识的匹配时,可以不分类型的对各个位置标识所表征的位置或区域依次进行匹配,例如,将第一位置信息所表征的位置或区域与目标使用位置信息中的位置标识所表征的位置或区域进行匹配,如果重叠的位置或区域满足条件如超过50%重叠等,可以确定第一位置信息和目标使用位置信息相匹配;或者,也可以按照对应的类型进行位置标识的分别匹配。位置类型不同时位置标识肯定不同,但所表征的位置或区域可能相同。一种或多种位置类型的位置标识所形成的不同的匹配方案与单类型的位置标识匹配方案属于同一发明构思,均在本申请的保护范围内。
另外需要特别说明的是,场景识别模块如果判断出有目标场景标识对应的目标使用位置信息与与第一位置信息相匹配,那么场景识别模块可以进一步将第一位置信息与其相匹配的目标使用位置信息进行位置标识的一一比对,如果第一位置信息中包含有与其相匹配的目标使用位置信息不同的增量位置标识,那么场景识别模块可以使用第一位置信息对其相匹配的目标使用位置信息进行增量更新,例如,在与第一位置信息相匹配的目标使用位置信息中,添加第一位置信息所包含的增量位置标识。
在另一种实现方式中,场景识别模块也可以先在围栏集合中查找是否已经存在与第一位置信息相匹配的目标使用位置信息,由于可能存在同一应用场景使用位置信息对应于多个场景标识对应的地理围栏的情况,因此,如果在围栏集合中已经存在与第一位置信息相匹配的目标使用位置信息,目标使用位置信息可能有一个或多个,相应所对应的场景标识可能有一个或多个,之后,场景识别模块再判断目标使用位置信息对应的场景标识中是否有与目标标识相一致的目标场景标识,如果在目标使用位置信息对应的场景标识中有与目标标识相一致的目标场景标识,那么执行S409,否则,执行S410。具体实现方式可以参考前文中内容,而匹配第一位置信息以及匹配目标标识的执行顺序的不同所产生的不同的技术方案属于同一发明构思,均在本申请的保护范围内。
S408:场景识别模块在围栏集合中添加目标标识和第一位置信息对应的信息,执行S411。
如果围栏集合中没有与目标标识相一致的场景标识,那么表明电子设备中未曾在第一位置信息对应的区域范围处于目标标识对应的应用场景中,此时,场景识别模块在围栏集合中添加目标标识和第一位置信息对应的信息,使得围栏集合中存在与目标标识相一致的场景标识。
具体的,场景识别模块首先在围栏集合中新增行,新增的行中各项为空,即场景标识为空、应用场景使用频次为空、应用场景使用位置信息为空、围栏信息为空、更新时间为空。基于此,场景识别模块再在该新增的行中添加目标标识和第一位置信息,并设置第一位置信息的位置类型,另外对该信息中的使用频次设置为1。此时,围栏集合中存在一个目标标识对应的信息。
以表5所示的围栏集合为例,手机中的场景识别模块在监测到用户在手机上打开微信付款时,获得微信付款对应的目标标识“03”,并获得手机在Wi-Fi网络中所扫描到的BSSID“2h:15:20:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”,此后,场景识别模块将目标标识“03”与围栏集合中的场景标识进行比对,由于围栏集合中没有场景标识“03”,因此,场景识别模块在围栏集合中新增行,将目标标识“03”添加到新增的行中,并将第一位置信息“2h:15:20:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”,设置该第一位置信息为“Wi-Fi类型”,另外对新增的行中的应用场景使用频次设置为1,如表8中所示。
表8围栏集合
Figure BDA0003203419810000291
S409:场景识别模块将目标使用位置信息对应的应用场景使用频次加1,执行S411。
其中,由于围栏集合中已经存在与目标标识相一致的目标场景标识且有相应的目标使用位置信息与第一位置信息相一致,那么表明电子设备中曾经在第一位置信息对应的区域范围内处于目标标识对应的应用场景中,此时,场景识别模块只需要将围栏信息中的目标使用位置信息对应的应用场景使用频次加1即可。
以表5所示的围栏集合为例,手机中的场景识别模块在监测到用户在手机上打开支付宝扫码时,获得支付宝扫码对应的目标标识“02”,并获得手机在Wi-Fi网络中所扫描到的BSSID“8a:17:33:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”,此后,场景识别模块,将目标标识“02”与围栏集合中的场景标识进行比对,由于围栏集合中已经存在场景标识“02”且有相应的应用场景使用位置信息与第一位置信息完全一致,因此,场景识别模块在围栏集合中无需新增行,而是将场景标识为“02”且与第一位置信息完全一致的应用场景使用位置信息对应的应用场景使用频次“4”加1更新为“5”,如表9中所示。
表9围栏集合
Figure BDA0003203419810000301
S410:场景识别模块在围栏集合中添加目标标识和第一位置信息对应的信息,执行S411。
如果围栏集合中目标场景标识对应的应用场景使用位置信息中没有与第一位置信息相匹配的目标使用位置信息,那么表明电子设备中未曾在第一位置信息对应的区域范围处于目标标识对应的应用场景中,此时,场景识别模块在围栏集合中添加目标标识和第一位置信息对应的信息,使得围栏集合中目标场景标识对应的应用场景使用位置信息中存在与第一位置信息相匹配的目标使用位置信息。
具体的,场景识别模块首先在围栏集合中新增行,新增的行中各项为空,即场景标识为空、应用场景使用频次为空、应用场景使用位置信息为空、围栏信息为空、更新时间为空。基于此,场景识别模块再在该新增的行中添加目标标识和第一位置信息,并设置第一位置信息的位置类型,另外对该信息中的使用频次设置为1。此时,围栏集合中存在多个目标标识对应的信息。
以表5所示的围栏集合为例,手机中的场景识别模块在监测到用户在手机上打开支付宝扫码时,获得支付宝扫码对应的目标标识“02”,并获得手机在Wi-Fi网络中所扫描到的BSSID“2h:15:20:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”,此后,场景识别模块将目标标识“02”与围栏集合中的场景标识进行比对,由于围栏集合中虽然有场景标识“02”,但是“02”对应的两个应用场景使用位置信息与第一位置信息均不匹配,因此,场景识别模块在围栏集合中新增行,将目标标识“02”添加到新增的行中,并将第一位置信息“2h:15:20:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”和“Wi-Fi类型”添加到新增的行中,另外对新增的行中的应用场景使用频次设置为1,如表10中所示。
表10围栏集合
Figure BDA0003203419810000302
Figure BDA0003203419810000311
S411:场景识别模块判断被加1的应用场景使用频次是否等于频次阈值或大于频次阈值,如果应用场景使用频次等于频次阈值,执行S412,如果应用场景使用频次大于频次阈值,执行S413,否则,继续执行S411,即继续监测被加1的应用场景使用频次是否等于频次阈值或大于频次阈值。
在另一实现方式,场景识别模块可以在执行S408、S409或S410之后,向围栏管理模块发送触发消息,由围栏管理模块执行S411,即判断被加1的应用场景使用频次是否等于频次阈值或大于频次阈值,进而在应用场景使用频次等于频次阈值时,围栏管理模块执行S412,如果应用场景使用频次大于频次阈值,围栏管理模块执行S413,否则,围栏管理模块继续执行S411,即继续监测被加1的应用场景使用频次是否等于频次阈值或大于频次阈值
场景识别模块向围栏管理模块发送的触发消息中,可以携带能够表征被加1的应用场景使用频次的信息,如目标标识、目标使用位置信息和被加1后的应用场景使用频次中的任意一种或任意多种,以触发围栏管理模块确定被加1的应用场景使用频次并进行频次阈值的判断。
在一种实现方式中,场景识别模块可以在特定的存储位置如磁盘或内存中初始化围栏集合,被初始化的围栏集合可以被场景识别模块以及其他模块如围栏管理模块、低功耗围栏检测模块等进行访问。
围栏管理模块主要用于根据第一位置信息进行目标围栏的生成或更新。具体的,场景识别模块或围栏管理模块判断被加1的应用场景使用频次是否首次达到频次阈值,实际上是判断围栏集合中针对目标标识以及第一位置信息是否曾经生成过地理围栏,如果被加1的应用场景使用频次首次达到频次阈值,那么由围栏管理模块根据第一位置信息进行目标围栏的生成,如果被加1的应用场景使用频次已经超过频次阈值,那么围栏管理模块则根据第一位置信息对之前被生成的目标围栏进行更新。具体如下:
首先,由于应用场景使用频次从0开始被不断加1,因此,场景识别模块或围栏管理模块判断被加1的应用场景使用频次是否等于频次阈值,即为判断应用场景使用频次是否首次达到频次阈值。频次阈值为判定该应用场景为高频次使用的场景的阈值,或者可以理解为判断是否进行围栏生成的阈值。因此,场景识别模块或围栏管理模块在判断出被加1的应用场景使用频次等于频次阈值的情况下,执行S412,而如果被加1的应用场景使用频次大于频次阈值,则说明围栏管理模块已经针对被加1的应用场景使用频次对应的目标标识和第一位置信息执行过S412,因此,不再执行S412,而是执行S413。
S412:围栏管理模块根据第一位置信息,在围栏集合中生成目标围栏。
具体的,围栏管理模块可以针对第一位置信息,生成相应的地理围栏,记为目标围栏。
例如,围栏管理模块首先根据第一位置信息中所包含的位置标识,在围栏集合中生成目标围栏的围栏信息,并根据第一位置信息的位置类型,设置目标围栏的围栏类型,另外,为目标围栏生成围栏编号并记录更新时间(即生成时间),该围栏编号可以按照最大的已有围栏编号进行加1得到,或者可以随机选取未被使用的数字作为目标围栏的围栏编号。
需要说明的是,围栏管理模块生成目标围栏中的围栏信息、围栏类型、围栏编号以及更新时间的执行次序可以不受限制,任意一种执行次序所形成的不同的技术方案均在本申请的保护范围内。
例如,以Wi-Fi类型结合Cell类型的位置信息为例,手机中的场景识别模块在监测到用户在手机上打开微信付款的应用时,获得微信付款应用对应的目标标识“02”,并获得手机在Wi-Fi网络中所扫描到的BSSID“6c:17:33:17:24:40;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”和从modem中读取到的Cell ID“460_0_13194_30173,460_0_13104_229638787”,基于此,场景识别模块对目标标识“02”相应的应用场景使用位置信息的“6c:17:33:17:24:40;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”和“460_0_13194_30173,460_0_13104_229638787”对应的使用频次加1后,场景识别模块进行频次阈值的判断或者场景识别模块通知围栏管理模块进行频次阈值的判断,如果判断出使用频次达到频次阈值,如3等,可以确定该第一位置信息属于高频次应用场景所对应的位置信息,此时,由围栏管理模块针对该第一位置信息进行目标围栏的生成。假设“6c:17:33:17:24:40;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”和“460_0_13194_30173,460_0_13104_229638787”对应的使用频次被加1后等于3,如表11中所示,那么围栏管理模块根据第一位置信息“6c:17:33:17:24:40;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc”和“460_0_13194_30173,460_0_13104_229638787”生成围栏信息,即“Fence:6c:16:32:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc;460_0_13194_30173;460_0_13104_229638787”;根据位置类型生成围栏类型,即“FenceType:Wi-Fi,Cell”;并生成围栏编号“04”即“FenceID:04”以及更新时间“2021060611:22”,由此得到围栏编号为“04”、围栏类型为“Wi-Fi结合Cell”、围栏信息为“6c:16:32:17:24:42;82:7c:e4:e5:66:ac;0a:36:82:c9:06:dc;460_0_13194_30173;460_0_13104_229638787”以及更新时间“20210606 11:22”的目标围栏。
表11围栏集合
Figure BDA0003203419810000331
再如,以Cell类型的位置信息为例,场景识别模块对目标标识“11”相应的应用场景使用位置信息的“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”对应的使用频次加1后,场景识别模块进行频次阈值的判断或者场景识别模块通知围栏管理模块进行频次阈值的判断,如果判断出使用频次达到频次阈值,如3等,可以确定该第一位置信息属于高频次应用场景所对应的位置信息,此时,由围栏管理模块针对该第一位置信息进行目标围栏的生成。假设“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”对应的使用频次被加1后等于3,那么围栏管理模块根据第一位置信息“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”生成围栏信息,如表12中所示,即“Fence:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”;根据位置类型生成围栏类型,即“FenceType:Cell”;并生成围栏编号“02”即“FenceID:02”以及更新时间“2021060908:22”,由此得到围栏编号为“02”、围栏类型为“Cell”、围栏信息为“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”以及更新时间“2021060908:22”的目标围栏。
表12围栏集合
Figure BDA0003203419810000332
Figure BDA0003203419810000341
再如,以GPS类型的位置信息为例,场景识别模块对目标标识“12”相应的应用场景使用位置信息的“106.58144,31.449835”对应的使用频次加1后,场景识别模块进行频次阈值的判断或者场景识别模块通知围栏管理模块进行频次阈值的判断,如果判断出使用频次达到频次阈值,如3等,可以确定该第一位置信息属于高频次应用场景所对应的位置信息,此时,由围栏管理模块针对该第一位置信息进行目标围栏的生成。假设“106.58144,31.449835”对应的使用频次被加1后等于3,那么围栏管理模块根据第一位置信息“106.58144,31.449835”生成围栏信息,如表13中所示,即“Fence:106.58144,31.449835,50”,其中的“50”为围栏半径;根据位置类型生成围栏类型,即“FenceType:GPS”;并生成围栏编号“03”即“FenceID:03”以及更新时间“20210612 18:45”,由此得到围栏编号为“03”、围栏类型为“GPS”、围栏信息为“106.58144,31.449835,50”以及更新时间“20210612 18:45”的目标围栏。
表13围栏集合
Figure BDA0003203419810000342
Figure BDA0003203419810000351
需要说明的是,不同的应用场景使用位置信息对应的频次阈值可以是不同的。为了降低复杂度,本实施例中可以将同一场景标识下不同的应用场景使用位置信息对应的频次阈值设置为相同的值,但是不同场景标识下的应用场景使用位置信息对应的频次阈值是不同的。而为了进一步降低复杂度,本实施例中可以将所有的场景标识下所有的应用场景使用位置信息对应的频次阈值均设置为相同的值,如均为3或5等。
S413:围栏管理模块根据第一位置信息在围栏集合中更新目标围栏。
由于被加1的应用场景使用频次大于频次阈值,那么表明围栏集合中已经存在被加1的应用场景使用频次对应的目标围栏,即被加1的应用场景使用频次对应的应用场景使用位置信息对应的目标围栏。
例如,基于表4中所示的围栏集合,场景识别模块对目标标识“11”相应的应用场景使用位置信息的“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”对应的使用频次加1后,场景识别模块进行频次阈值的判断或者场景识别模块通知围栏管理模块进行频次阈值的判断,发现使用频次“11”(从表4中的“10”加1)已经超过频次阈值,如表14中所示,可以此前已经针对应用场景使用位置信息生成过地理围栏,即围栏编号为“02”的目标围栏,此时,围栏管理模块根据第一位置信息“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”对围栏编号为“02”的目标围栏进行更新即可。
具体实现中,围栏管理模块还可以根据第一位置信息中所包含的位置标识,对围栏集合中目标标识对应的目标围栏的围栏信息中的位置标识进行增量更新。具体的,围栏管理模块可以将第一位置信息与目标围栏的围栏信息针对所包含的位置标识进行比对,如果第一位置信息中包含有区别于围栏信息中的任意位置标识的增量位置标识,那么将第一位置信息中的增量位置标识添加到目标围栏的围栏信息中;进一步的,根据增量位置标识的位置类型,更新目标围栏的围栏类型。例如,如果在目标围栏的围栏类型中不包含增量位置标识的位置类型,那么将增量位置标识的位置类型添加到目标围栏的围栏类型中,此时目标围栏的围栏类型为多种类型结合的类型(如表11中所示的Wi-Fi类型结合Cell类型);另外,更新目标围栏的更新时间,由此提高地理围栏的准确性。
例如,基于表4中的围栏集合,围栏管理模块将目标标识“11”对应的第一位置信息“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755,460_0_13104_14152”与目标围栏“02”中的围栏信息进行一一比对,发现“460_0_13104_14152”为第一位置信息中的增量位置标识,此时,将“460_0_13104_14152”添加到目标围栏的围栏信息中,得到被更新的围栏信息“FenceID:02,FenceType:Cell,Fence:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755,460_0_13104_14152”,如表14中所示。
另外,需要说明的是,目标标识“11”对应的目标使用位置信息“Type:Cell,Location:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755”,还可以由场景识别模块在围栏集合中查找到已经存在与第一位置信息相匹配的目标使用位置信息时,根据第一位置信息“460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755,460_0_13104_14152”对目标使用位置信息进行更新,得到“Type:Cell,Location:460_0_13194_30173,460_0_13104_229638787,460_0_13104_24126755,460_0_13104_14152”,如表14中所示。
表14围栏集合
Figure BDA0003203419810000361
S414:围栏管理模块将围栏集合发送到协处理器中的低功耗围栏检测模块。
低功耗围栏检测模块与围栏触发上报模块均为基于协处理器所实现的功能模块。其中低功耗围栏监测模块用于从围栏管理模块接收围栏集合,并在实时获得电子设备的第二位置信息之后,在围栏集合中查找是否存在与第二位置信息相匹配的目标地理围栏,而围栏触发上报模块则在低功耗围栏检测模块匹配到目标地理围栏的情况下向场景处理模块上报进入围栏的消息。围栏管理模块可以将围栏集合通过与协处理器之间的接口下发给协处理器中的低功耗围栏检测模块,以便于协处理器使用最新的围栏集合进行围栏监测。或者,低功耗围栏监测模块在围栏集合中查找到与第二位置信息相匹配的目标地理围栏的情况下,可以直接向场景处理模块上报进入围栏的消息,此时无需通过围栏触发上报模块进行消息上报。
在一种实现方式中,围栏管理模块可以在每次进行目标围栏的生成或目标围栏的更新之后,均将完整的围栏集合下发给低功耗围栏检测模块,由协处理器中的低功耗围栏检测模块直接将接收到的围栏集合替换原有的围栏集合。
而为了减少数据传输量,围栏管理集合可以在每次进行目标围栏的生成或目标围栏的更新之后,仅将围栏集合的增量内容下发给低功耗围栏检测模块,由低功耗围栏检测模块使用围栏集合的增量内容对原有的围栏集合进行更新,例如,在围栏集合中添加被围栏管理模块新生成的目标围栏,或者,在围栏集合中更新被围栏管理集合更新的目标围栏。
需要说明的是,在电子设备上每次有应用程序被用户启动或被其他事件触发启动的情况下,电子设备上均执行以上S401-S414的流程,以实现电子设备中地理围栏的自动生成或更新。而在协处理器中缓存有围栏集合的情况下,用户携带电子设备行进的过程中,电子设备持续执行如下S415-S423的流程,以实现电子设备中自动检测地理围栏并执行相应的应用场景策略对应的指令。
S415:协处理器中的低功率围栏检测模块获得电子设备的第二位置信息。
低功耗围栏检测模块在接收到围栏管理模块下发的围栏集合之后,可以将围栏集合进行存储。例如,低功耗围栏检测模块将围栏集合存储到能够被自己以及其他模块如场景处理模块等能够访问的磁盘或内存中。
第二位置信息表征电子设备的当前所处位置。第二位置信息为电子设备在进行地理围栏的检测过程中电子设备的实时所处位置信息,而第一位置信息为电子设备在生成或更新地理围栏时第一应用程序被启动的情况下电子设备的实时所处位置信息,第一位置信息与第二位置信息可能为同一位置,也可能不同。电子设备的第二位置信息可以包含以下任意一项或任意多项位置标识:
电子设备当前所处位置的坐标信息、电子设备当前所处的Wi-FiAP的BSSID、电子设备当前所处的当前小区的Cell ID以及邻近小区的Cell ID。其中,坐标信息以经纬度坐标表征,BSSID可以有一个或多个,Cell ID也可以有一个或多个。
在一种实现方式中,预先在协处理器中注册modem的变化广播通知,在电子设备开启移动通信网络的情况下,当modem监测到电子设备所处的Cell发生变化时,向协处理器中的低功率围栏检测模块广播通知消息和变化后的目标Cell ID,基于此,协处理器中的低功率围栏检测模块能够获得到电子设备当前所处的小区以及邻近小区的一个或多个目标Cell ID。例如,用户携带手机行进途中,如果手机在移动通信网络开启的情况下,那么读取modem中当前小区1的Cell ID1和邻近小区1的Cell ID2,如图11中所示。
在另一种实现方式中,在电子设备中的Wi-Fi被启动的情况下,协处理器中的低功率围栏检测模块按照预设的Wi-Fi扫描频率从Wi-Fi读取电子设备所处位置上能够计入的Wi-Fi AP的BSSID,从而得到Wi-Fi模块扫描到的最新的一个或多个目标BSSID。例如,用户携带手机行进途中,如果手机在Wi-Fi开启的情况下,那么读取Wi-Fi所扫描到的Wi-Fi AP1的BSSID1和Wi-Fi AP2的BSSID2和Wi-Fi AP3的BSSID3,如图12中所示。
在另一种实现方式中,在电子设备中的GPS被启动的情况下,协处理器中的低功率围栏检测模块按照预设的GPS扫描频率从GPS读取电子设备所处位置上的目标坐标信息,以经度坐标和纬度坐标表示。例如,用户携带手机行进途中,如果手机在GPS开启的情况下,那么读取GPS所定位到的经纬度坐标,如图13中所示。
需要说明的是,协处理器中的低功率围栏检测模块可以同时执行以上三个实现方式,或者仅执行其中的一种或两种实现方式。所得到的第二位置信息可以包含任意一种或任意多种类型的位置标识。
另外,电子设备中的协处理器与硬件层中的modem、Wi-Fi和GPS直接相连,由此,协处理器可以在不唤醒CPU的情况下,通过其中的低功率围栏检测模块获得到第二位置信息,以降低电子设备的功耗。
S416:协处理器中的低功率围栏检测模块在围栏集合中查找是否存在与第二位置信息相匹配的目标地理围栏,如果存在,执行S417,如果不存在,结束当前流程,并返回执行S415继续获得电子设备的第二位置信息。
具体的,协处理器中的低功率围栏检测模块可以将第二位置信息与围栏集合中每个地理围栏的围栏信息进行比对,如果围栏集合中有围栏信息与第二位置信息相匹配,那么可以确定围栏集合中存在与第二位置信息相匹配的目标地理围栏,如果围栏集合中没有围栏信息与第二位置信息相匹配,那么可以确定围栏集合中没有与第二位置信息相匹配的地理围栏。
其中的围栏信息与第二位置信息相匹配,可以为:围栏信息与第二位置信息之间至少有预设数值的位置标识相一致。也就是说,围栏信息与第二位置信息各自所包含的相同的位置标识的数量大于预设数值,如3等。或者,围栏信息与第二位置信息相匹配,可以为:围栏信息与第二位置信息各自所包含的位置标识所表征的区域范围存在重叠。
例如,以Wi-Fi类型的位置信息为例,协处理器中的低功率围栏检测模块将第二位置信息与围栏信息进行匹配时,可以将第二位置信息中的BSSID与围栏信息中的BSSID进行比对,如果第二位置信息中的BSSID与围栏信息中的BSSID存在3条相同的BSSID,那么可以确定第二位置信息与围栏信息相匹配,该围栏信息对应的地理围栏为目标地理围栏。
再如,以Cell类型的位置信息为例,协处理器中的低功率围栏检测模块将第二位置信息与围栏信息进行匹配时,可以将第二位置信息中的Cell ID与围栏信息中的Cell ID进行比对,如果第二位置信息中的Cell ID与围栏信息中的Cell ID存在3条相同的CellID,那么可以确定第二位置信息与围栏信息相匹配,该围栏信息对应的地理围栏为目标地理围栏。
再如,以GPS类型的位置信息为例,协处理器中的低功率围栏检测模块将第二位置信息与围栏信息进行匹配时,可以首先获得第二位置信息中的坐标点与围栏信息的坐标点进行距离计算,例如,使用第二位置信息中的经度坐标和纬度坐标以及围栏信息中的经度坐标和纬度坐标进行坐标距离计算,如果所得到的坐标距离(基于地球半径R的弧长距离)小于围栏信息中的围栏半径如50米,表征分别以第二位置信息中的坐标点与围栏信息中的坐标点为圆心以50米为半径的两个圆形区域范围是存在重叠的,那么可以确定第二位置信息与围栏信息相匹配,该围栏信息对应的地理围栏为目标地理围栏。
以上示例中,为第二位置信息和围栏信息仅包含单类型的位置标识的示例,如单Wi-Fi类型、单Cell类型或单GPS类型的位置标识,在其他实施例中,由于第二位置信息和围栏信息各自可能包含多种结合的类型的位置标识,如Wi-Fi类型的位置标识结合Cell类型的位置标识,按照本实施例中的匹配方案,在将第二位置信息和围栏信息进行位置标识的匹配时,可以不分类型的对第二位置信息和围栏信息各个位置标识所表征的位置或区域进行匹配,例如,将第二位置信息所表征的位置或区域与围栏信息中的位置标识所表征的位置或区域进行匹配,如果重叠的位置或区域满足条件如超过50%重叠等,可以确定第二位置信息和围栏信息相匹配;或者,也可以将第二位置信息和围栏信息按照对应的类型进行位置标识的分别匹配。由于位置类型不同时位置标识肯定不同,但是位置标识所表征的位置或区域可能相同或不同。一种或多种位置类型的位置标识所形成的不同的匹配方案与单类型的位置标识匹配方案属于同一发明构思,均在本申请的保护范围内。
S417:协处理器中的低功率围栏检测模块触发围栏触发上报模块。
围栏触发上报模块可以根据低功率围栏检测模块匹配到的目标地理围栏,生成进入围栏的消息。例如,低功耗围栏检测模块将检测到的目标地理围栏的围栏编号发送给围栏歘上报模块,以触发围栏触发上报模块根据目标地理围栏的围栏编号生成进入该目标地理围栏的事件,进而基于该事件得到进入围栏的消息。
S418:协处理器中的围栏触发上报模块发送进入围栏的消息给场景处理模块。
在另一种实现方式中,协处理器中的低功耗围栏检测模块在围栏集合中查找到与第二位置信息相匹配的目标地理围栏的情况下,可以直接根据目标地理围栏的围栏编号生成进入该目标地理围栏的事件,再基于该事件得到进入围栏的消息并发送进入围栏的消息给场景处理模块,无需通过围栏触发上报模块进行消息生成以及转发。
进入围栏的消息中可以包含有目标地理围栏的围栏编号,以表征电子设备当前进入到相应的目标地理围栏,据此,协处理器中的围栏触发上报模块或低功耗围栏检测模块可以通知场景处理模块执行相应的功能。
需要说明的是,由于同一位置信息可能对应于一个或多个地理围栏,参考表7中所示的地理围栏,因此,低功耗围栏检测模块所检测到的与第二位置信息相匹配的目标地理围栏可以有一个或多个。基于此,进入围栏的消息中可以有一个或多个目标地理围栏的围栏编号,以表征电子设备当前进入到一个或多个目标地理围栏中。
例如,结合图11所示,用户携带手机行进过程中,在移动通信网络开启且Wi-Fi开启的情况下,手机通过读取Wi-Fi所扫描到的Wi-FiAP的BSSID并读取modem中的小区的CellID,由此得到手机的当前位置信息,当前位置信息包含Wi-FiAP1的BSSID1、Wi-FiAP2的BSSID2、Wi-Fi AP3的BSSID3、当前小区1的Cell ID1和邻近小区1的Cell ID2,在手机将当前位置信息与表7中所示的围栏集合中的围栏信息进行比对时,可以发现当前位置信息与围栏编号为“04”和围栏编号“05”的位置标识存在3个BSSID是一致的,因此,手机中所生成的进入围栏的消息中包含有围栏编码“04”和围栏编码“05”,以表征手机当前进入这两个地理围栏。
场景处理模块可以通过与协处理器之间的接口接收协处理器中的围栏触发上报模块所上报的进入围栏的消息。基于此,场景处理模块可以围栏集合中查询目标地理围栏对应的第一场景标识,进而选取第一场景标识对应的目标指令,再将目标指令发送给相应的第二应用程序,以使得第二应用程序执行所接收到的目标指令。第二应用程序为电子设备在进行地理围栏的检测过程中需要触发执行指令的应用程序,而第一应用程序为电子设备在生成或更新地理围栏时被用户或其他应用触发启动的应用程序,第一应用程序与第二应用程序可能为同一应用程序,也可能为不同的应用程序。具体如下:
S419:场景处理模块在围栏集合中查找目标地理围栏对应的第一场景标识。
具体实现中,场景处理模块可以按照围栏集合中场景标识和地理围栏的对应关系,在围栏集合中按照进入围栏的消息中的围栏编号,查找到目标地理围栏的围栏编号相对应的第一场景标识。
由于进入围栏的消息中可能包含一个或多个围栏编号,因此,场景处理模块可能在围栏集合中查找到一个或多个相应的第一场景标识。例如,用户携带手机行进过程中,手机在获得到当前位置信息并匹配到相应的目标地理围栏之后,在表7所示的围栏集合中查找到目标地理围栏“04”和目标地理围栏“05”各自对应的第一场景标识“01”和“02”。
S420:场景处理模块在策略集合中选取第一场景标识对应的目标策略信息。
策略集合为电子设备中预先配置的包含场景标识和相应的场景策略信息的集合。在策略集合中包含多个场景标识,策略集合中的场景标识是与应用场景特征库中的场景标识相一致的,而每个场景标识分别对应有预设的场景策略信息,进一步的,每个场景标识还可以对应有相应的策略描述,以便于对策略集合的修改。例如,如表15中所示:
表15策略集合
Figure BDA0003203419810000401
Figure BDA0003203419810000411
在一种实现方式中,场景处理模块查找到一个第一场景标识,此时,场景处理模块可以在策略集合中直接提取到这个第一场景标识对应的目标策略信息。
例如,场景处理模块在表6所示的围栏集合中查找到目标地理围栏“04”对应的第一场景标识“02”后,在表15所示的策略集合中查找第一场景标识“02”对应的目标策略信息“第二应用付款码业务提速展示”,如微信付款码展示的策略信息。
在另一种实现方式中,场景处理模块查找到多个第一场景标识,此时,场景处理模块可以先在策略集合中提取到每个第二场景集合对应的策略信息,再在提取到的多个策略信息中选取出一个目标策略信息。
具体的,场景处理模块可以按照进入围栏的消息中的围栏编号对应的应用场景使用频次的大小,在查找到的多个第一场景标识对应的策略信息中筛选出一个目标策略信息,目标策略信息对应的第一场景标识对应的应用场景使用频次最大;
或者,场景处理模块可以将提取到的多个策略信息输出给用户,如通过电子设备上的显示器输出多个策略信息,或者通过电子设备所连接的其他显示器输出多个策略信息,在接收到用户针对输出的策略信息的选择操作之后,根据选择操作确定被选中的策略信息,即目标策略信息。
例如,用户携带手机行进过程中,手机在表7所示的围栏集合中查找到目标地理围栏“04”对应的第一场景标识“01”和目标地理围栏“05”对应的第一场景标识“02”后,在表15所示的策略集合中查找第一场景标识“01”和“02”对应的目标策略信息“第一应用付款码业务提速展示”和“第二应用付款码业务提速展示”,如支付宝付款码展示和微信付款码展示的策略信息,基于此,手机中将应用场景使用频次为“4”对应的场景标识“02”对应的策略信息“微信付款码业务提速展示”选取为目标策略信息,或者,手机将支付宝付款码展示和微信付款码展示的策略信息输出给用户,如图14中所示,用户在手机上进行选择操作,手机就可以将用户选择的策略信息如支付宝付款码展示的策略信息作为目标策略信息。
在另一种实现方式中,场景处理模块在查找到多个第一场景标识之后,先按照查找到的第一场景标识在围栏集合中对应的应用场景使用频次的大小进行筛选,筛选出最大的应用场景使用频次对应的第一场景标识,再在策略集合中提取到筛选出的第一场景标识对应的策略信息,即为目标策略信息。
例如,用户携带手机行进过程中,手机在表7所示的围栏集合中查找到目标地理围栏“04”对应的第一场景标识“01”和目标地理围栏“05”对应的第一场景标识“02”后,先筛选出应用场景使用频次为“4”对应的场景标识“02”,之后,在表15所示的策略集合中选取出场景标识“02”对应的策略信息“微信付款码业务提速展示”为目标策略信息。
S421:场景处理模块获得目标策略信息对应的目标指令。
场景处理模块可以根据目标策略信息中的关键词生成相应的目标指令,或者可以在指令集合中查找到与目标策略信息相匹配的目标指令。指令集合中包含有多个策略信息对应的策略指令,指令集合可以存储在电子设备的磁盘存储器或内存中,以便于场景处理模块进行访问。
例如,用户携带手机行进过程中,手机在获得到目标策略信息“NFC智能切换门禁卡”之后,直接生成启动NFC应用且切换到门禁卡的指令;或者,手机在获得到目标策略信息“NFC智能切换门禁卡”之后,可以在包含多种策略指令的指令集合中,查找与该目标策略信息相匹配的目标指令,即启动NFC应用且切换到门禁卡的指令。
S422:场景处理模块将目标指令发送给第二应用程序。
场景处理模块可以将目标指令通过与相应的第二应用程序之间的接口发送给第二应用程序。
S423:第二应用程序启动并执行目标指令。
例如,在手机将启动NFC应用且切换到门禁卡的指令发送给NFC应用后,NFC应用按照目标指令的指示,启动并将当前卡片切换到门禁卡,以便于用户使用门禁卡。再如,在手机手机将启动微信应用并输出付款码的指令发送给微信应用后,微信应用按照目标指令的指示启动并输出微信付款码,无需用户进行微信启动以及调出付款码的操作。再如,为了提高安全性,在手机手机将启动微信应用并提示是否输出付款码的指令发送给微信应用后,微信应用按照目标指令的指示启动,并输出提示信息,以提示用户是否输出微信付款码,在用户进行操作之后,手机直接输出微信付款码,而无需用户进行微信启动以及调出付款码的操作。
以电子设备为手机为例,用户携带手机在早上出小区时,用户打开NFC应用并切换到门禁卡的模式进行门禁刷卡,此时,手机检测到用户在手机上打开NFC应用且切换到门禁卡的应用场景,在手机获得当前的位置信息之后,手机根据门禁卡的应用场景和位置信息在手机中的围栏集合中生成或更新门禁卡的应用场景下对应的地理围栏,如图15中所示;然后,用户携带手机到达公交站时,用户打开健康码应用并点开健康码卡片输出给公交工作人员,此时,手机检测到用户在手机上打开健康码应用并展示健康码的应用场景,在手机获得当前的位置信息之后,手机根据展示健康码的应用场景和位置信息在手机中的围栏集合中生成或更新展示健康码的应用场景下对应的地理围栏,如图16中所示,紧接着,用户打开NFC应用并切换到交通卡进行公交刷卡,此时,手机检测到用户在手机上打开NFC应用且切换到交通卡的应用场景,在手机获得到当前的位置信息之后,手机根据交通卡的应用场景和位置信息在手机中的围栏集合中生成或更新交通卡的应用场景下对应的地理围栏,如图17中所示;然后,用户携带手机中午在公司附近的便利店吃饭时,用户在手机上打开微信应用并展示付款码给便利店工作人员进行付款,此时,手机检测到用户在手机上打开微信应用以及展示付款码的应用场景,在手机获得到当前的位置信息之后,手机根据微信付款的应用场景和位置信息在手机中的围栏集合中生成或更新微信付款应用场景下对应的地理围栏,如图18中所示;然后,用户携带手机下班回到小区时,用户打开NFC应用并切换到门禁卡的模式进行门禁刷卡,此时,手机检测到用户在手机上打开NFC应用且切换到门禁卡的应用场景,在手机获得当前的位置信息之后,手机根据门禁卡的应用场景和位置信息在手机中的围栏集合中生成或更新门禁卡应用场景下对应的地理围栏,如图19中所示;等等。按照以上地理围栏的生成或更新,随着用户对手机上的各种应用的使用,手机中的围栏集合中可以包含有多种对应于各种应用场景的地理围栏。基于此,用户在携带手机行进过程中,手机上通过对实时位置信息的获取以及地理围栏的检测,可以为用户自动启动相应的应用程序并为用户提供相应的功能。
基于以上实例,再如,用户携带手机在早上出小区时,手机检测到用户进入NFC门禁卡应用场景的地理围栏时,手机可以直接向NFC应用发送指令,使得NFC应用自动将NFC应用的卡片切换为门禁卡,如图20中所示,用户无需再进行手动开启NFC应用以及卡片切换的操作;然后,用户携带手机到达公交站时,手机检测到用户进入健康码及NFC公交卡应用场景的围栏,基于此,手机在手机显示屏上提示是否输出健康码卡片并在用户进行确认操作后输出健康码,并自动将NFC应用的卡片从门禁卡切换为公交卡,如图21中所示,用户无需仅卡片切换的操作;然后,用户携带手机中午在公司附近吃饭时,手机检测到用户进入微信付款码应用场景的围栏和用户进入支付宝付款码应用场景的围栏,此时,手机在手机显示屏上输出提示选择输出微信付款码或输出支付宝付款码,在用户进行微信付款码选择操作后直接输出微信付款码,如图22中所示,用户无需进行开启微信应用以及点开付款码的操作;然后,用户携带手机下班回到小区时,手机检测到用户进入NFC门禁卡应用场景的地理围栏时,手机可以直接向NFC应用发送指令,使得NFC应用自动将NFC应用的卡片切换为门禁卡,如23中所示,用户无需再进行手动开启NFC应用以及卡片切换的操作;等等。
可见,本申请实施例中所公开的地理围栏的处理方法,具体以下有益效果:
首先,本实施例中,电子设备中的地理围栏无需开发者或服务提供商预先设置,而是根据电子设备在使用过程中基于用户的应用场景自动生成地理围栏,不需要用户的介入,使得所生成的地理围栏更加准确的符合用户的使用习惯,很大程度上改善用户的使用体验;
然后,本实施例中,电子设备中的地理围栏可以在用户对电子设备的使用过程中基于用户的应用场景的变化持续更新,进一步使得所更新的地理围栏更加符合用户的使用习惯,很大程度上改善用户的使用体验;
其次,本实施例中按照应用场景的使用频次生成电子设备中的地理围栏,使得所生成的地理围栏更准确,由此,在电子设备后续进行围栏检测时使用更准确的地理围栏能够为用户提供更加智能的使用体验;
另外,本实施例中除了使用GPS坐标信息进行地理围栏的生成以及更新,还结合Wi-Fi AP的BSSID和Cell ID,以单一类型或混合类型的位置来生成地理围栏,避免GPS没有被开启而无法自动生成地理围栏的情况,使得地理围栏的可靠性更高,实现更加灵活。
综上,本申请实施例提供的一种基于用户使用应用程序的位置的地理围栏的处理方法中,结合Wi-Fi,Modem及GPS等信息,自动生成基于用户真实应用场景的地理围栏,区别于传统的由手机厂商提前设置好的地理围栏,更贴合用户使用场景,使用户真正体验到手机的智能化及便捷化。
上述实施例中,对本申请实施例提供的方法进行了介绍。可以理解的是,电子设备为了实现上述本申请实施例提供的方法,电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请的一些实施例还提供了一种电子设备,如图24所示,该电子设备可以包括:一个或多个处理器2401;显示器2402;存储器2403;以及一个或多个计算机程序2404,上述各器件可以通过一个或多个通信总线2405连接。其中该一个或多个计算机程序2404被存储在上述存储器2403中,并被配置为被该一个或多个处理器2401执行,该一个或多个计算机程序2404包括指令,上述指令可以用于执行如图4相应实施例中的各个步骤。当然,图24所示的电子设备还可以包括如传感器模块、音频模块以及SIM卡接口等其他器件,本申请实施例对此不做任何限制。当图24所示的电子设备还包括如传感器模块、音频模块以及SIM卡接口等其他器件时,其可以为图1c所示的电子设备。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图25示出了上述和实施例中涉及的地理围栏的处理装置的一种可能的组成示意图,该地理围栏的处理装置能执行本申请各方法实施例中任一方法实施例中的步骤。如图25所示,该地理围栏的处理装置可以包括:
场景识别模块2501,用于检测电子设备上是否有应用程序被启动,在有第一应用程序被启动的情况下,获得所述第一应用程序的目标标识和所述电子设备的第一位置信息;所述目标标识表征所述第一应用程序的应用场景;
围栏管理模块2502,用于至少根据所述第一位置信息,处理目标围栏,所述目标围栏为所述目标标识对应的地理围栏;
低功耗围栏检测模块2503,用于检测所述电子设备是否进入所述目标围栏;
场景处理模块2504,用于在所述电子设备进入所述目标围栏的情况下启动所述第一应用程序。
其中,场景识别模块2501、围栏管理模块2502和场景处理模块2504可以在操作系统中的应用程序框架层构建并由处理器实现相应的功能,而低功耗围栏检测模块2503可以在电子设备的协处理器中构建,以达到降低检测功耗的目的。
以上各个单元的功能的具体实现方式,可以参见上述实施例,这里不再赘述。
可见,本申请实施例公开的地理围栏的处理装置中,电子设备中的地理围栏无需开发者或服务提供商预先设置,而是根据电子设备在使用过程中基于用户的应用场景自动生成地理围栏,不需要用户的介入,使得所生成的地理围栏更加符合用户的使用习惯,很大程度上改善用户的使用体验。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中包括指令,当上述指令在电子设备上运行时,使得该电子设备执行图4中的相关方法步骤,以实现上述实施例中的方法。
本实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如图4中的相关方法步骤,以实现上述实施例中的方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种地理围栏的处理方法,其特征在于,包括:
检测电子设备上是否有应用程序被启动;
在有第一应用程序被启动的情况下,获得所述第一应用程序的目标标识和所述电子设备的第一位置信息;所述目标标识表征所述第一应用程序的应用场景;
至少根据所述第一位置信息,处理目标围栏,所述目标围栏为所述目标标识对应的地理围栏,以使得所述电子设备进入所述目标围栏的情况下启动所述第一应用程序;
其中,所述电子设备包括场景识别模块和围栏管理模块;其中,所述至少根据所述第一位置信息,处理目标围栏,包括:
所述场景识别模块在围栏集合中,查找是否已经存在与所述目标标识和所述第一位置信息均相匹配的目标使用位置信息;所述围栏集合中至少包含有场景标识、所述场景标识对应的应用场景使用位置信息、应用场景使用位置信息对应的应用场景使用频次以及所述应用场景使用频次对应的地理围栏;
如果在所述围栏集合中已经存在与所述目标标识和所述第一位置信息均相匹配的目标使用位置信息,所述场景识别模块将所述目标使用位置信息对应的应用场景使用频次加1;
如果在所述围栏集合中不存在与所述目标标识或所述第一位置信息相匹配的目标使用位置信息,所述场景识别模块在围栏集合中添加所述目标标识和所述第一位置信息对应的信息,对添加的所述目标标识和所述第一位置信息对应的信息对应的应用场景使用频次设置为1;
所述场景识别模块判断被加1的应用场景使用频次是否大于或等于频次阈值;
如果被加1的应用场景使用频次等于所述频次阈值,所述围栏管理模块根据所述第一位置信息,在所述围栏集合中生成目标围栏;
如果被加1的应用场景使用频次大于所述频次阈值,所述围栏管理模块根据所述第一位置信息,在所述围栏集合中更新目标围栏。
2.根据权利要求1所述的方法,其特征在于,其中,所述获得所述第一应用程序的目标标识,包括:
所述场景识别模块在预设的应用场景特征库中,查找与所述第一应用程序的应用特征相匹配的目标场景特征;所述应用场景特征库中包含有多个场景标识,每个所述场景标识对应有场景特征;
所述场景识别模块在所述应用场景特征库中,获得所述目标场景特征对应的目标标识。
3.根据权利要求1或2的方法,其特征在于,所述第一位置信息包含以下任意一项或任意多项的位置标识:
所述电子设备当前所处位置的坐标信息、所述电子设备当前所处的Wi-Fi AP的BSSID、所述电子设备当前所处的当前小区的Cell ID、所述电子设备当前所处的邻近小区的CellID。
4.根据权利要求1所述的方法,其特征在于,所述场景识别模块在围栏集合中,查找是否已经存在与所述目标标识和所述第一位置信息均相匹配的目标使用位置信息,包括:
所述场景识别模块在所述围栏集合中查找是否已经存在与所述目标标识相一致的目标场景标识,如果在所述围栏集合中已经存在与所述目标标识相一致的目标场景标识,判断所述目标场景标识对应的应用场景使用位置信息中是否有与所述第一位置信息相匹配的目标使用位置信息;
或者,所述场景识别模块在所述围栏集合中查找是否已经存在与所述第一位置信息相匹配的目标使用位置信息,如果在所述围栏集合中已经存在与所述第一位置信息相匹配的目标使用位置信息,判断所述目标使用位置信息对应的场景标识中是否有与目标标识相一致的目标场景标识。
5.根据权利要求1所述的方法,其特征在于,所述围栏管理模块根据所述第一位置信息,在所述围栏集合中生成目标围栏,包括:
根据所述第一位置信息中所包含的位置标识,在所述围栏集合中为所述目标标识生成对应的目标围栏,所述目标围栏至少具有围栏信息,所述围栏信息与所述第一位置信息中所包含的位置标识相一致。
6.根据权利要求1所述的方法,其特征在于,所述围栏管理模块根据所述第一位置信息,在所述围栏集合中更新目标围栏,包括:
根据所述第一位置信息中所包含的位置标识,对所述围栏集合中对所述目标标识对应的目标围栏的围栏信息进行增量更新。
7.根据权利要求1所述的方法,其特征在于,所述目标标识和所述第一位置信息均与目标使用位置信息相匹配,包括:
所述目标使用位置信息对应的场景标识与所述目标标识相一致;
且,
所述目标使用位置信息中所包含的位置标识与所述第一位置信息中所包含的位置标识至少部分一致。
8.根据权利要求7所述的方法,其特征在于,所述目标使用位置信息中所包含的位置标识与所述第一位置信息中所包含的位置标识至少部分一致,包括:
所述目标使用位置信息和所述第一位置信息各自所包含的相同位置标识的个数超过个数阈值;
或者,所述目标使用位置信息包含的位置标识所表征的区域范围,和所述第一位置信息包含的位置标识所表征的区域范围,存在重叠。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述围栏管理模块根据所述第一位置信息中所包含的位置标识,对所述目标使用位置信息中的位置标识进行增量更新。
10.根据权利要求1所述的方法,其特征在于,所述电子设备还包括:低功耗围栏检测模块和场景处理模块,所述方法还包括:
所述低功耗围栏检测模块获得所述电子设备的第二位置信息;
所述低功耗围栏检测模块在从所述围栏管理模块接收到的围栏集合中,查找是否存在与所述第二位置信息相匹配的目标地理围栏;
在所述围栏集合中查找到与所述第二位置信息相匹配的目标地理围栏的情况下,所述场景处理模块获得所述围栏集合中所述目标地理围栏对应的第一场景标识;
所述场景处理模块获得所述第一场景标识对应的目标指令,以使得所述目标指令对应的第二应用程序启动并执行所述目标指令。
11.根据权利要求10的方法,其特征在于,所述第二位置信息包含以下任意一项或任意多项的位置标识:
所述电子设备当前所处位置的坐标信息、所述电子设备当前所处的Wi-Fi AP的BSSID、所述电子设备当前所处的当前小区的Cell ID、所述电子设备当前所处的邻近小区的CellID。
12.根据权利要求10的方法,其特征在于,所述目标地理围栏与所述第二位置信息相匹配,包括:
所述目标地理围栏的围栏信息与所述第二位置信息之间至少有预设数值的位置标识相一致;
或,
所述目标地理围栏的围栏信息与所述第二位置信息各自所包含的位置标识所表征的区域范围存在重叠。
13.根据权利要求10所述的方法,其特征在于,所述低功耗围栏检测模块所在的协处理器接入所述电子设备中的无线通信模块和移动通信模块,以使得所述低功耗围栏检测模块获得所述电子设备的第二位置信息,并在所述围栏集合中查找与所述第二位置信息相匹配的目标地理围栏。
14.根据权利要求10所述的方法,其特征在于,所述场景处理模块获得所述第一场景标识对应的目标指令,包括:
在策略集合中选取所述第一场景标识对应的目标策略信息;所述策略集合中包含有多个场景标识,每个所述场景标识分别对应于一条场景策略信息;
根据所述目标策略信息,获得目标指令。
15.一种芯片,其特征在于,包括:
至少一个处理器以及接口,所述接口用于接收代码指令,并传输至所述至少一个处理器;所述至少一个处理器运行所述代码指令,以实现权利要求1-14任一项所述的地理围栏的处理方法。
16.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至14中任意一项所述的地理围栏的处理方法。
17.一种可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至14中任意一项所述的地理围栏的处理方法。
CN202110910184.5A 2021-08-09 2021-08-09 地理围栏的处理方法及装置 Active CN113794801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110910184.5A CN113794801B (zh) 2021-08-09 2021-08-09 地理围栏的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110910184.5A CN113794801B (zh) 2021-08-09 2021-08-09 地理围栏的处理方法及装置

Publications (2)

Publication Number Publication Date
CN113794801A CN113794801A (zh) 2021-12-14
CN113794801B true CN113794801B (zh) 2022-09-27

Family

ID=79181684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110910184.5A Active CN113794801B (zh) 2021-08-09 2021-08-09 地理围栏的处理方法及装置

Country Status (1)

Country Link
CN (1) CN113794801B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374929A (zh) * 2021-12-15 2022-04-19 深圳优美创新科技有限公司 一种可穿戴设备定位方法和装置、电子设备、存储介质
CN113962673B (zh) * 2021-12-20 2022-08-09 深圳市微付充科技有限公司 信息查验系统、移动终端、查验机具和信息查验方法
CN115022459B (zh) * 2021-12-24 2023-05-05 荣耀终端有限公司 出行提醒的方法及电子设备
CN116033342B (zh) * 2022-05-30 2023-11-24 荣耀终端有限公司 地理围栏的处理方法、设备及存储介质
CN116095601B (zh) * 2022-05-30 2023-10-20 荣耀终端有限公司 基站小区cell特征库更新方法及相关装置
CN116033341B (zh) * 2022-05-30 2023-10-20 荣耀终端有限公司 触发围栏事件的方法和装置
CN116033344B (zh) * 2022-06-13 2023-09-26 荣耀终端有限公司 地理围栏的确定方法、设备及存储介质
CN114879879B (zh) * 2022-07-07 2022-09-27 荣耀终端有限公司 一种显示健康码的方法、电子设备及存储介质
CN116709501A (zh) * 2022-10-26 2023-09-05 荣耀终端有限公司 业务场景识别方法、电子设备及存储介质
CN116668951B (zh) * 2022-10-26 2024-04-23 荣耀终端有限公司 一种生成地理围栏的方法、电子设备及存储介质
CN116668576B (zh) * 2022-10-26 2024-04-12 荣耀终端有限公司 获取数据的方法、设备、云端管理平台、系统及存储介质
CN115835135B (zh) * 2023-02-13 2023-11-07 荣耀终端有限公司 一种cell围栏的匹配方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309687A (zh) * 2012-03-09 2013-09-18 联想(北京)有限公司 电子设备及其应用程序启动方法
CN105981418A (zh) * 2014-02-14 2016-09-28 苹果公司 个人地理围栏

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113300B2 (en) * 2013-03-15 2015-08-18 Apple Inc. Proximity fence
CN103942270A (zh) * 2014-03-27 2014-07-23 上海斐讯数据通信技术有限公司 一种智能推荐应用程序的方法及移动终端
CN107203318A (zh) * 2017-05-23 2017-09-26 珠海市魅族科技有限公司 一种应用程序的开启方法及装置
CN108052359A (zh) * 2017-12-25 2018-05-18 维沃移动通信有限公司 一种应用程序的启动控制方法及移动终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309687A (zh) * 2012-03-09 2013-09-18 联想(北京)有限公司 电子设备及其应用程序启动方法
CN105981418A (zh) * 2014-02-14 2016-09-28 苹果公司 个人地理围栏

Also Published As

Publication number Publication date
CN113794801A (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
CN113794801B (zh) 地理围栏的处理方法及装置
CN110138959B (zh) 显示人机交互指令的提示的方法及电子设备
CN115866121B (zh) 应用界面交互方法、电子设备和计算机可读存储介质
CN111182145A (zh) 显示方法及相关产品
CN112130714B (zh) 可进行学习的关键词搜索方法和电子设备
CN113805487B (zh) 控制指令的生成方法、装置、终端设备及可读存储介质
CN113821767A (zh) 应用程序的权限管理方法、装置和电子设备
CN113170019A (zh) 一种基于应用的来电显示方法和终端设备
CN116070035B (zh) 数据处理方法和电子设备
CN113973398A (zh) 无线网络连接方法、电子设备及芯片系统
CN114201738B (zh) 解锁方法及电子设备
CN111249728B (zh) 一种图像处理方法、装置及存储介质
CN112740148A (zh) 一种向输入框中输入信息的方法及电子设备
CN114095542A (zh) 显示控制方法及电子设备
CN114173286B (zh) 确定测试路径的方法、装置、电子设备及可读存储介质
CN114338642B (zh) 一种文件传输方法和电子设备
CN115437601A (zh) 图像排序方法、电子设备、程序产品及介质
CN113950045B (zh) 签约数据的下载方法和电子设备
CN115706916A (zh) 一种基于位置信息的Wi-Fi连接方法及装置
CN116032942A (zh) 跨设备的导航任务的同步方法、装置、设备及存储介质
CN114911400A (zh) 分享图片的方法和电子设备
CN111339513A (zh) 数据分享的方法和装置
CN116437293B (zh) 地理围栏的建立方法、服务器及通信系统
CN116095223B (zh) 通知显示方法和终端设备
WO2023109636A1 (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
TR01 Transfer of patent right

Effective date of registration: 20230906

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd.

Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee before: Honor Device Co.,Ltd.

TR01 Transfer of patent right