推送通道的状态切换方法、装置、设备、介质及程序产品与流程

未命名 09-23 阅读:96 评论:0


1.本技术实施例涉及软件技术领域,特别涉及一种推送通道的状态切换方法、装置、设备、介质及程序产品。


背景技术:

2.电子设备上安装并运行的应用程序(application,app),大多数具备消息推送功能。比如,电商类app会推送活动宣传和促销信息,天气类app会推送天气信息,聊天类app会推送实时消息。
3.上述消息推送功能可以通过推送(push)通道来实现。示例性的,服务器与电子设备之间建立推送通道;服务器获得所需推送的消息之后,通过推送通道将消息推送至电子设备。
4.上述消息推送过程中,需要维持推送通道处于长连接的状态,也即长期保持服务器与电子设备之间的连接状态。


技术实现要素:

5.本技术实施例提供了一种推送通道的状态切换方法、装置、设备、介质及程序产品。所述技术方案如下:
6.根据本技术的一方面内容,提供了一种推送通道的状态切换方法,所述方法由电子设备执行,所述方法包括:
7.在目标存储位置维护业务对推送通道的订阅状况,所述目标存储位置用于记录已订阅所述推送通道的业务;
8.在所述推送通道处于启用状态且所述订阅状况指示不存在订阅所述推送通道的业务的情况下,将所述推送通道的运行状态从所述启用状态切换至禁用状态。
9.根据本技术的另一方面内容,提供了一种推送通道的状态切换装置,所述装置包括:
10.维护模块,用于在目标存储位置维护业务对推送通道的订阅状况,所述目标存储位置用于记录已订阅所述推送通道的业务;
11.切换模块,用于在所述推送通道处于启用状态且所述订阅状况指示不存在订阅所述推送通道的业务的情况下,将所述推送通道的运行状态从所述启用状态切换至禁用状态。
12.根据本技术的另一方面内容,提供了一种电子设备,所述电子设备包括处理器、与所述处理器相连的存储器,所述存储器上存储有程序指令,所述处理器执行所述程序指令时实现如本技术各个方面提供的推送通道的状态切换方法。
13.根据本技术的另一方面内容,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现如本技术各个方面提供的推送通道的状态切换方法。
14.根据本技术的另一个方面内容,提供了一种计算机程序产品(或计算机程序),所述计算机程序产品(或计算机程序)包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述推送通道的状态切换方法的各种可选实现方式中提供的方法。
15.根据本技术的另一个方面内容,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现如本技术各个方面提供的推送通道的状态切换方法。
16.本技术实施例提供的技术方案带来的有益效果可以包括:
17.上述推送通道的状态切换方法中,电子设备在维护业务对推送通道的订阅状况的同时,还基于上述订阅状况来控制推送通道的运行状态的切换,在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务的情况下,将推送通道的运行状态从启用状态切换至禁用状态。也即,电子设备在维护业务对推送通道的订阅状况时,确定无业务使用推送通道,若是推送通道处于启用状态,则将推送通道的运行状态从启用状态切换至禁用状态,这样可以减少推送通道的运行功耗。
附图说明
18.为了更清楚地介绍本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
19.图1示出了本技术一个示例性实施例提供的通信系统的示意图;
20.图2示出了本技术一个示例性实施例提供的推送通道的状态切换方法的流程图;
21.图3示出了本技术另一个示例性实施例提供的推送通道的状态切换方法的流程图;
22.图4示出了本技术另一个示例性实施例提供的推送通道的状态切换方法的流程图;
23.图5示出了本技术另一个示例性实施例提供的推送通道的状态切换方法的流程图;
24.图6示出了本技术一个示例性实施例提供的消息推送方法的流程图;
25.图7示出了本技术一个示例性实施例提供的推送通道的示意图;
26.图8示出了本技术另一个示例性实施例提供的消息推送方法的流程图;
27.图9示出了本技术另一个示例性实施例提供的推送通道的状态切换方法的流程图;
28.图10示出了本技术一个示例性实施例提供的推送通道的状态切换装置的框图;
29.图11示出了本技术一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
30.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方
式作进一步地详细描述。
31.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
32.在本技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
33.一般地,电子设备上会有一个推送通道,推送通道时为业务方提供一个可以通过服务器实时唤醒电子设备,并与电子设备进行信息交互的通道。对于通过推送通道接收到的推送消息,电子设备可以在锁屏状态下将其展示在通知栏中,或者可以在操作前台顶端弹出推送消息的消息通知;之后,若是接收到对推送消息的打开操作,则可以唤起推送消息对应的应用程序,并在应用程序内跳转至推送消息对应的指定页面。
34.应用程序的推送业务可以通过推送通道来执行,进而电子设备可以不再为推送业务对应的应用程序进行保活,但是推送通道需要维持与服务器之间的长期连接。
35.为了降低维持与服务器之间的长期连接所需消耗的功率,本技术提出了一种推送通道的状态切换方法,其实现方式的详细内容请参考如下实施例。
36.本技术提供的推送通道的状态切换方法可以应用于计算机系统中。如图2,示出了本技术一个示例性实施例提供的计算机系统的框图,该计算机系统包括电子设备120、通信网络140和服务器160。
37.电子设备120中安装有操作系统和至少一个应用程序。示例性的,上述操作系统可以是安卓(android)系统、或者苹果(ios)系统、或者鸿蒙(hermaryos)系统、或者微软(windows)系统。上述应用程序中存在推送业务。上述应用程序可以包括即时通信类应用程序,新闻资讯类应用程序、生活服务类应用程序、金融服务类应用程序等;比如,电子设备推送聊天软件中的实时消息,电子设备推送天气软件中的天气信息,以及电子设备推送新闻软件中的最新资讯。
38.示例性的,该电子设备120可以包括智能手机、平板电脑、智能手表、电子书阅读器、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机、笔记本电脑的至少一种。
39.示例性的,电子设备120具备直连通信功能,至少两个电子设备120之间能够建立直连通信连接。可选地,直连通信包括蓝牙(bluetooth)、无线直连(wireless fidelity direct,wifidirect)通信、超宽带(ultra wide band,uwb)通信、近场通信(near field communication,nfc)、无线感知(wifi aware)、移动直连(包括3g/4g/5g直连)通信。比如,
电子设备1202与电子设备1204均具备蓝牙功能,电子设备1202和电子设备1204之间可以建立蓝牙连接,进而通过蓝牙连接进行通信。
40.电子设备120与服务器160之间存在通信网络140,该通信网络140可以是有线网络或者无线网络。示例性的,有线网络可以是城域网、局域网、光纤网等;无线网络可以是移动通信网络、无线保真网络(wireless fidelity,wifi)等。
41.服务器160为电子设备120中应用程序的运行提供后台服务。服务器160可以包括一台服务器160、多台服务器160、云计算平台和虚拟化中心中的至少一种。
42.示例性的,服务器160包括应用程序的后台服务器1602和推送功能的后台服务器1604;后台服务器1602可以向电子设备120上运行的应用程序发送消息;后台服务器1602还可以将消息发送至后台服务器1602,由后台服务器1602将消息推送至电子设备120,在电子设备120的通知栏中展示消息通知,或者在操作前台顶端弹出消息通知。
43.示例性的,若是电子设备1202与电子设备1204之间建立了蓝牙连接,且电子设备1202与电子设备1204中分别运行有同一应用程序,且应用程序中登录有同一帐号;电子设备1202接收后台服务器1602发送的应用程序的消息之后,将其通过蓝牙连接发送至电子设备1204,电子设备1204在通知栏中展示应用程序的消息通知,或者在操作前台顶端弹出应用程序的消息通知。
44.本领域技术人员可以知晓,上述计算机系统中电子设备120的数量可以更多或更少。比如,上述计算机系统中电子设备120可以仅为一个,或者为几十个或几百个,或者更多数量,本技术实施例对计算机系统中电子设备120的数量和设备类型不加以限定。
45.图2示出了本技术一个示例性实施例提供的推送通道的状态切换方法的流程图,该方法可以应用于图1所示的电子设备中,该方法包括:
46.步骤210,在目标存储位置维护业务对推送通道的订阅状况。
47.电子设备与服务器之间建立有推送通道,该推送通道用于支持电子设备上的应用程序中的消息推送。对于推送通道的使用,电子设备基于应用程序的业务对该推送通道的订阅,在目标存储位置上记录已订阅推送通道的业务。其中,目标存储位置用于记录已订阅推送通道的业务。示例性的,目标存储位置是指电子设备的存储器上用于存储已订阅推送通道的业务的位置。
48.示例性的,电子设备按照预设维护周期,在目标存储位置维护业务对推送通道的订阅状况。电子设备还在触发订阅事件或者取消订阅事件的情况下,在目标存储位置维护业务对推送通道的订阅状况。
49.示例性的,订阅推送通道的业务是同一应用程序的不同业务,或者,不同应用程序的不同业务。比如,一个金融软件中的产品的推送业务和财经新闻的推送业务,属于同一应用程序的不同业务,两个业务均需要订阅推送通道。又比如,一个音乐软件中的新歌的推送业务与另一个教学软件中的课程的推送任务,属于不同应用程序的不同业务,两个业务也均需要订阅推送通道。
50.可选地,在目标存储位置上存储有注册表,该注册表用于记录已订阅推动通道的业务;电子设备在注册表中维度业务对推送通道的订阅状况。示例性的,目标存储位置是指电子设备的存储器上用于存储注册表的位置。
51.步骤220,在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务
的情况下,将推送通道的运行状态从启用状态切换至禁用状态。
52.示例性的,电子设备在订阅状况指示不存在订阅推送通道的业务的情况下,确定推送通道的运行状态;若是推送通道的运行状态为启用状态,将推送通道的运行状态从启用状态切换至禁用状态。其中,禁用状态是指推送通道存在且不工作的状态,也可以称为休眠状态;启用状态是指推送通道工作的状态。
53.可选地,订阅状况包括已订阅数目,已订阅数目是指已订阅推送通道的业务数目;电子设备在推送通道处于启用状态且已订阅数目为零的情况下,将推送通道的运行状态从启用状态切换至禁用状态。
54.示例性的,电子设备在已订阅数目为零的情况下,确定推送通道的运行状态;若是推送通道的运行状态为启用状态,将推送通道的运行状态从启用状态切换至禁用状态。
55.可选地,电子设备中还设置有预备时长;电子设备在订阅状况的维护时刻起的预备时长内,若是不存在业务订阅推送通道,将推送通道的运行状态从启用状态切换为禁用状态。其中,维护时刻包括如下至少一项:订阅事件的触发时刻;取消订阅事件的触发时刻;每个预设维护周期的开始时刻。
56.也即,电子设备确定推送通道处于启用状态且订阅状况指示不存在订阅推动通道的业务之后,在一段时间内无业务订阅推送通道,确定暂时不使用推送通道,将推送通道的运行状态从启用状态切换至禁用状态。
57.步骤230,在推送通道处于启用状态且订阅状况指示存在订阅推送通道的业务的情况下,维持推送通道处于启用状态。
58.示例性的,电子设备在订阅状况指示存在订阅推送通道的业务的情况下,确定推送通道的运行状态;若是推送通道的运行状态为启用状态,维持推送通道处于启用状态。
59.可选地,电子设备在推送通道处于启用状态且已订阅数目不为零的情况下,维持推送通道处于启用状态。
60.综上所述,本实施例提供的推送通道的状态切换方法,电子设备在维护业务对推送通道的订阅状况的同时,还基于上述订阅状况来控制推送通道的运行状态的切换,在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务的情况下,将推送通道的运行状态从启用状态切换至禁用状态。也即,电子设备在维护业务对推送通道的订阅状况时,确定无业务使用推送通道,若是推送通道处于启用状态,则将推送通道的运行状态从启用状态切换至禁用状态,这样可以减少推送通道的运行功耗。
61.对于订阅状况的维护,电子设备可以在触发推送通道的订阅事件时,或者在触发推送通道的取消订阅事件时,维护目标存储位置上业务对推送通道的订阅状况。针对上述两种事件,推送通道的状态切换方法的实现如下实施例所示。
62.图3示出了本技术另一个示例性实施例提供的推送通道的状态切换方法的流程图,示例性的,图2中的步骤可以通过图3中的步骤来实现,步骤如下:
63.步骤310,接收第一业务对推送通道的取消订阅事件。
64.电子设备中的第一业务为已订阅推送通道的业务。示例性的,电子设备在应用程序关闭第一业务时,触发第一业务对推送通道的取消订阅事件。
65.示例性的,电子设备接收输入设备上触发的应用程序的关闭操作,在应用程序中关闭第一业务。或者,电子设备接收输入设备上触发的第一业务的禁用操作,在应用程序中
关闭第一业务。或者,电子设备接收应用程序中自主触发的第一业务的关闭指令,在应用程序中关闭第一业务。上述电子设备上的输入设备包括键盘、鼠标、触控屏、麦克风等;上述关闭操作和禁用操作是由用户通过上述输入设备在电子设备上触发的。
66.步骤320,基于取消订阅事件将已订阅数目减去第一业务的数目,得到更新后的已订阅数目。
67.电子设备基于取消订阅事件,在目标存储位置上查找存储的第一业务,并取消第一业务在目标存储位置上的存储,也即删除目标存储位置上存储的第一业务;电子设备确定取消订阅推送通道的第一业务的数目,将已订阅数目减去第一业务的数目,得到更新后的已订阅数目。
68.示例性的,在目标存储位置上存储有注册表,注册表中存储有业务列表,业务列表中记录了已订阅推送通道的业务的列表项;电子设备在注册表中查找第一业务,在注册表中删除第一业务的列表项;电子设备确定注册表中删除的第一业务的数目,将已订阅数目减去第一业务的数目,得到更新后的已订阅数目。
69.步骤330,将更新后的已订阅数目更新至目标存储位置上。
70.在目标存储位置上存储有第一业务的数目,电子设备将更新后的已订阅数目更新至目标存储位置上。示例性的,在目标存储位置上存储有注册表中的已订阅数目,电子设备基于更新后的已订阅数目对原有的已订阅数目进行更新。
71.步骤340,在推送通道处于启用状态且已更新的已订阅数目为零的情况下,将推送通道的运行状态从启用状态切换至禁用状态。
72.订阅状况包括已订阅数目,也即已订阅数目用于指示推送通道的订阅状况。示例性的,电子设备在已订阅数目为零的情况下,确定推送通道的运行状态;若是推送通道的运行状态为启用状态,将推送通道的运行状态从启用状态切换至禁用状态。
73.步骤350,在推送通道处于启用状态且已更新的已订阅数目不为零的情况下,维持推送通道处于启用状态。
74.示例性的,电子设备在已订阅数目不为零的情况下,确定推送通道的订阅状况;若是推送通道的运行状态为启用状态,维持推送通道处于启用状态。
75.综上所述,本实施例提供的推送通道的状态切换方法,在触发业务的取消订阅事件时对订阅状况进行维护,实现有针对性的对订阅状况进行维护,避免因订阅状况无变化时的无效维护所造成的运行资源浪费。
76.图4示出了本技术另一个示例性实施例提供的推送通道的状态切换方法的流程图,示例性的,图2中的步骤还可以通过图4中的步骤来实现,步骤如下:
77.步骤410,接收第二业务对推送通道的订阅事件。
78.电子设备中的第二业务为未订阅推送通道的业务。示例性的,电子设备在应用程序中启用第二业务时,触发第二业务对推送通道的订阅事件。
79.示例性的,电子设备接收输入设备上触发的应用程序的启用操作,在启用应用程序的同时,启用应用程序中的第二业务。或者,电子设备接收输入设备上触发的第二业务的启用操作,启用应用程序中的第二业务;比如,在应用程序中的第二业务被禁用的情况下,用户通过上述输入设备在电子设备上触发对第二业务的启用。或者,电子设备接收应用程序中自主触发的第二业务的启用指令,启用应用程序中的第二业务。
80.步骤420,基于订阅事件将已订阅数目增加第二业务的数目,得到更新后的已订阅数目。
81.电子设备基于订阅事件,在目标存储位置上存储第二业务;电子设备确定订阅推送通道的第二业务的数目,将已订阅数目加上第二业务的数目,得到更新后的已订阅数目。
82.示例性的,在目标存储位置上存储有注册表,注册表中存储有业务列表,业务列表中记录了已订阅推送通道的业务的列表项;电子设备在注册表中增加第二业务的列表项;电子设备确定注册表中增加的第二业务的数目,将已订阅数目加上第二业务的数目,得到更新后的已订阅数目。
83.步骤430,将更新后的已订阅数目更新至目标存储位置上。
84.电子设备将更新后的已订阅数目更新至目标存储位置上。示例性的,在目标存储位置上存储有注册表中的已订阅数目,电子设备基于更新后的已订阅数目对原有的已订阅数目进行更新。
85.步骤440,在推送通道处于禁用状态且更新后的已订阅数目不为零的情况下,将推送通道的运行状态从禁用状态切换为启用状态。
86.示例性的,电子设备在确定更新后的已订阅数目不为零的情况下,确定推送通道的运行状态;若是推送通道的运行状态为禁用状态,将推送通道的运行状态从禁用状态切换为启用状态。
87.步骤450,在推送通道处于启用状态且已更新的已订阅数目不为零的情况下,维持推送通道处于启用状态。
88.示例性的,电子设备在确定更新后的已订阅数目不为零的情况下,确定推送通道的运行状态;若是推送通道的运行状态为启用状态,维持推送通道处于启用状态。
89.综上所述,本实施例提供的推送通道的状态切换方法,在触发业务的订阅事件时对订阅状况进行维护,实现有针对性的对订阅状况进行维护,避免因订阅状况无变化时的无效维护所造成的运行资源浪费。
90.在一些实施例中,电子设备在与其它电子设备之间存在直连通信的情况下,可以接收其它电子设备发送的推送消息,不需要通过推送通道来完成推送消息的传输。因此,对于订阅状况的维护,是在电子设备与其它电子设备无直连通信连接的情况下执行的,如图5所示,上述步骤210包括如下步骤510,上述步骤220包括如下步骤520和步骤530:
91.步骤510,在电子设备与其它电子设备之间未建立直连通信连接的情况下,在目标存储位置维护业务对推送通道的订阅状况。
92.其中,电子设备与其它电子设备安装并运行有同一应用程序,且应用程序中登录有同一帐号。也即,电子设备安装并运行有目标应用程序,电子设备中的目标应用程序中登录有目标帐号;且其它电子设备安装并运行有目标应用程序,其它电子设备中的目标应用程序中登录有目标帐号。
93.步骤520,在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务的情况下,执行步骤530。
94.步骤530,将推送通道的运行状态从启用状态切换至禁用状态。
95.示例性的,还存在电子设备与其它电子设备建立直连通信连接的情况,因此,执行如下步骤540和步骤550:
96.步骤540,在电子设备与其它电子设备之间建立有直连通信连接的情况下,若是推送通道处于启用状态,执行步骤530;若是推送通道处于禁用状态,执行步骤550。
97.也即,电子设备在推送通道处于启用状态且电子设备与其它电子设备之间建立有直连通信连接的情况下,执行步骤530。
98.示例性的,直连通信连接包括蓝牙连接;电子设备在与其它电子设备之间建立蓝牙连接之后,确定推送通道的运行状态;若是运行状态为启用状态,则切换至禁用状态。
99.步骤550,维持推送通道处于禁用状态。
100.也即,电子设备在推送通道处于禁用状态且电子设备与其它电子设备之间建立有直连通信连接的情况下,维持推送通道处于禁用状态。
101.示例性的,电子设备在与其它电子设备之间建立蓝牙连接之后,确定推送通道的运行状态;若是运行状态为禁用状态,则维持推送通道处于禁用状态。
102.综上所述,本实施例提供的推送通道的状态切换方法,在电子设备与其它电子设备建立有直连通信连接的情况下,直接禁用推送通道,从而达到降低推送通道的运行功耗的效果。
103.图6示出了本技术一个示例性实施例提供的消息推送方法的流程图,在电子设备与其它电子设备未建立直连通信连接的情况下,该方法包括:
104.步骤610,电子设备为第一应用程序的业务订阅推送通道。
105.电子设备中安装并运行有第一应用程序,第一应用程序的业务已订阅推送通道,因此,电子设备可以在锁屏状态下将第一应用程序的推送消息或推送消息的消息通知展示在通知栏中,或者,在前台顶端弹出推送消息或推送消息的消息通知。
106.步骤620,推送设备通过第一应用程序向第一服务器发送推送消息。
107.推送设备也即推送端的电子设备。推送设备上安装并运行有第一应用程序,第一应用程序具备推送消息的发布功能;比如,第一应用程序可以是社交软件。用户在推送设备上通过第一应用程序发布推送消息,推送设备通过第一应用程序将推送消息发送至第一服务器。第一服务器是第一应用程序的后台服务器,也即第一服务器为第一应用程序提供后台服务。
108.步骤630,第一服务器将推送消息发送至第二服务器。
109.第一服务器与第二服务器之间存在通信连接;第一服务器将接收到的推送消息发送至第二服务器。其中,第二服务器是第二应用程序的后台服务器,也即第二服务器为第二应用程序提供后台服务。
110.步骤640,第二服务器将推送消息发送至电子设备中的第二应用程序。
111.电子设备中安装并运行有第二应用程序;电子设备通过第二应用程序与第二服务器之间建立推送通道。第二服务器通过推送通道将接收到的推送消息发送至电子设备。
112.示例性的,第二服务器在接收到推送消息之后,对推送消息的消息内容加密,得到加密后的推送消息;通过推送通道将加密后的推送消息发送至电子设备中的第二应用程序。
113.步骤650,电子设备通过第二应用程序在通知栏中弹出推送消息。
114.电子设备接收到推送消息之后,通过第二应用程序在通知栏中弹出推送消息或推送消息的通知消息;或者,在前台顶端弹出推送消息或推送消息的消息通知。
115.示例性的,电子设备接收到加密后的推送消息之后,通过第二应用程序对加密后的推送消息的消息内容解密,得到推送消息;再通过第二应用程序在通知栏中弹出推送消息或推送消息的通知消息;或者,在前台顶端弹出推送消息或推送消息的消息通知。
116.可选地,电子设备采用基于两个处理器的硬件架构,每个处理器上运行有独立的操作系统,也即电子设备中运行有第一操作系统和第二操作系统,第二操作系统独立于第一操作系统之外,第一操作系统与第二操作系统之间交互。示例性的,第一操作系统与第二操作系统之间交互可以通过两个处理器的硬件抽象层之间的信息传递来实现。
117.示例性的,两个处理器分别包括中央处理器(central processing unit,cpu)和微控制单元(microcontroller unit,mcu)。示例性的,电子设备在cpu上运行第一操作系统,在mcu上运行第二操作系统。示例性的,上述cpu还可以与图像处理器(graphics processing unit,gpu)和调制解调器中的一种或几种集成为一个处理器。可选地,处理器可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器中,单独通过一块芯片进行实现。
118.示例性的,第一操作系统是主操作系统,比如可以是安卓(android)系统、或者苹果(ios)系统、或者鸿蒙(hermaryos)系统、或者微软(windows)系统;第二操作系统是微内核。
119.在电子设备上运行有第一操作系统和第二操作系统的情况下,电子设备通过第一操作系统和服务器之间建立推送通道;示例性的,如图7所示,智能手表71与第二服务器72之间通过推送通道73进行推送信息的传递。之后,在消息推送的过程中,电子设备通过第一操作系统接收服务器通过推送通道发送的推送消息,推送消息携带有业务标识;通过第一操作系统在目标存储位置中查询业务标识,基于业务标识确定推送消息为目标应用程序的消息;通过第一操作系统将目标应用程序的推送消息传递至第二操作系统;通过第二操作系统对目标应用程序的推送消息进行推送。
120.示例性的,上述服务器即是第二服务器,目标应用程序即是第一应用程序。电子设备通过第一操作系统接收第二服务器通过推送通道发送的推送消息,推送消息携带有业务标识,通过第一操作消息在目标存储位置上存储的注册表中查询业务标识,基于业务标识确定推送消息为第一应用程序的消息;通过第一操作系统将第一应用程序的推送消息传递至第二操作系统;通过第二操作系统对第一应用程序的推送消息进行推送。
121.还有一种情况,目标存储位置中不存在上述业务标识,那么在这种情况下,电子设备通过第一操作系统为业务标识对应的目标业务进行推送通道的订阅,在目标存储位置中对目标业务进行记录;在完成目标业务对推送通道的订阅之后,通过第一操作系统对推送消息进行解码,得到解码后的推送消息;通过第一操作系统将解码后的推送消息传递至第二操作系统;通过第二操作系统对解码后的推送消息进行推送。
122.示例性的,关于目标业务对推送通道的订阅,电子设备可以在目标存储位置中的注册表中增加目标业务的列表项,并更新注册表中业务的已订阅数目。
123.需要说明的是,若系统处于小核状态时,第一操作系统接收到推送消息之后,将其
传递至第二操作系统进行推送,如上所述;若系统处于大核状态时,第一操作系统对接收到的推送消息进行推送。其中,小核状态是指系统运行以第二操作系统为主、第一操作系统为辅,大核状态是指系统运行以第一操作系统为主、第二操作系统为辅。示例性的,推送消息到达电子设备后,消息推送的流程如图8所示,步骤如下:
124.701,电子设备通过第一操作系统接收第一应用程序的推送消息。
125.702,电子设备确定系统是否处于大核状态。
126.电子设备确定系统处于大核状态,则执行步骤703;确定系统不处于大核状态,也即确定系统处于小核状态,则执行步骤706。
127.703,电子设备在第一操作系统的第一通知栏中弹出推送消息的消息通知。
128.示例性的,电子设备在第一操作系统上通过第二应用程序在第一通知栏中弹出推送消息。
129.704,电子设备确定在第一通知栏中的消息通知上是否接收到查看操作。
130.电子设备接收到第一通信栏中的消息通知上的查看操作,执行步骤705;电子设备未接收到第一通知栏中的消息通知上的查看操作,执行步骤710。
131.705,电子设备通过第一操作系统拉起第一应用程序,在第一应用程序中显示推送消息。
132.电子设备在第一应用程序中显示推送消息之后,执行步骤710。
133.706,电子设备通过第一操作系统将推送消息传递至第二操作系统。
134.707,电子设备在第二操作系统的第二通知栏中弹出推送消息的消息通知。
135.示例性的,电子设备在第二操作系统上通过第二应用程序在第二通知栏中弹出推送消息。
136.708,电子设备确定在第二通知栏中的消息通知上是否接收到查看操作。
137.电子设备接收到第二通知栏中的消息通知上的查看操作,执行步骤709;电子设备为接收到第二通知栏中的消息通知上的查看操作,执行步骤710。
138.709,电子设备将系统从小核状态切换至大核状态。
139.电子设备将系统从小核状态切换至大核状态之后,执行步骤705。
140.710,结束。
141.步骤660,电子设备基于接收到的通知栏中推送消息上的查看操作,在第一应用程序中展示推送消息。
142.电子设备接收推送消息或推送消息的消息通知上触发的查看操作,拉起第一应用程序,在第一应用程序中展示推送消息。
143.综上所述,本实施例提供的推送通道的状态切换方法,可以通过推送通道将消息推送至电子设备。其次,还提供了电子设备中运行两个操作系统时的消息推送方式,当电子设备处于小核状态时,结合推送通道的状态切换,能够更进一步的降低设备的功耗。
144.还需要说明的是,在电子设备与其它电子设备建立直连通信连接的情况下,电子设备接收目标应用程序的推送消息,这一推送消息是由其它电子设备接收到的服务器发送的推送消息之后,通过直连通信连接发送至电子设备的。示例性的,第二服务器通过推送通道将第一应用程序的推送消息发送至其它电子设备;其它电子设备通过蓝牙连接将推送消息传送至电子设备;电子设备在接收到推送消息之后,在通知栏中展示第一应用程序的推
送消息的消息通知。这样的方式,使得电子设备与其它电子设备建立直连通信连接的情况下,无需再支持推送通道处于工作状态的功耗。
145.示例性的,对上述推送通道的状态切换方法的总流程进行示意性说明,如图9所示,步骤如下:
146.步骤810,业务订阅或者取消订阅推送通道。
147.电子设备为应用程序的业务订阅推送通道;或者,取消应用程序的业务对推送通道的订阅。也即电子设备上订阅事件或者取消订阅事件的触发。
148.步骤820,更新注册表及已订阅数目。
149.电子设备更新注册表中已订阅推送通道的业务列表,以及更新注册表中已订阅推送通道的业务数目(也即更新已订阅数目)。
150.步骤830,确定已订阅数目是否为零。
151.电子设备确定已订阅数目为零,执行步骤860;电子设备确定已订阅数目不为零,执行步骤840。
152.步骤840,确定推送通道的运行状态是否为禁用状态。
153.电子设备确定推送通道的运行状态为禁用状态,禁用状态即是推送通道已被禁用的状态,执行步骤850;电子设备确定推送通道的运行状态不是禁用状态,也即电子设备确定推送通道的运行状态是启用状态,启用状态即是推送通道被启用的状态,执行步骤870。
154.步骤850,启用推送通道。
155.电子设备将推送通道的运行状态从禁用状态切换至启用状态,之后执行步骤870。
156.步骤860,禁用推送通道。
157.电子设备在推送通道处于启用状态的情况下,禁用推送通道,也即将推送通道的运行状态从启用状态切换至禁用状态,之后执行步骤870。
158.步骤870,结束。
159.综上所述,本实施例提供的推送通道的状态切换方法,在推送通道被业务订阅的情况下被启用,在推送通道不被订阅的情况下被禁用,从而减少推送通道的运行功耗。
160.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
161.图10示出了本技术一个示例性实施例提供的推送通道的状态切换装置的结构框图。该推送通道的状态切换装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置包括:
162.维护模块910,用于在目标存储位置维护业务对推送通道的订阅状况,目标存储位置用于记录已订阅推送通道的业务;
163.切换模块920,用于在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务的情况下,将推送通道的运行状态从启用状态切换至禁用状态。
164.在一些实施例中,订阅状况包括已订阅数目,已订阅数目是指已订阅推送通道的业务的数目;
165.切换模块920,用于在推送通道处于启用状态且已订阅数目为零的情况下,将推送通道的运行状态从启用状态切换至禁用状态。
166.在一些实施例中,切换模块920,用于以订阅状况的维护时刻起的预备时长内,若
不存在业务订阅推送通道,将推送通道的运行状态从启用状态切换至禁用状态。
167.在一些实施例中,订阅状况包括已订阅数目,已订阅数目是指已订阅推送通道的业务的数目;
168.维护模块910,用于接收第一业务对推送通道的取消订阅事件;
169.基于取消订阅事件将已订阅数目减去第一业务的数目,得到更新后的已订阅数目;将更新后的已订阅数目更新至目标存储位置上。
170.在一些实施例中,订阅状况包括已订阅数目,已订阅数目是指已订阅推送通道的业务的数目;
171.维护模块910,用于接收第二业务对推送通道的订阅事件;基于订阅事件将已订阅数目增加第二业务的数目,得到更新后的已订阅数目;将更新后的已订阅数目更新至目标存储位置上。
172.在一些实施例中,切换模块920,用于在推送通道处于禁用状态且更新后的已订阅数目不为零的情况下,将推送通道的运行状态从禁用状态切换为启用状态。
173.在一些实施例中,维护模块910,用于在电子设备与其它电子设备之间未建立直连通信连接的情况下,执行在目标存储位置维护业务对推送通道的订阅状况的步骤;
174.其中,其它电子设备与电子设备安装并运行有同一应用程序,应用程序中登录有同一帐号。
175.在一些实施例中,切换模块920,用于在推送通道处于启用状态且电子设备与其它电子设备之间建立有直连通信连接的情况下,将推送通道的运行状态从启用状态切换为禁用状态;
176.其中,其它电子设备与电子设备安装并运行有同一应用程序,应用程序中登录有同一帐号。
177.在一些实施例中,该装置还包括:接收模块930;
178.接收模块930,用于接收目标应用程序的推送消息,推送消息是由其它电子设备接收到的服务器发送的推送消息之后,通过直连通信连接发送至电子设备的。
179.在一些实施例中,电子设备中运行有第一操作系统和第二操作系统,第二操作系统独立于第一操作系统之外;该装置还包括:接收模块930和推送模块940;
180.接收模块930,用于在电子设备与其它电子设备之间未建立直连通信连接的情况下,通过第一操作系统接收服务器通过推送通道发送的推送消息,推送消息携带有业务标识;
181.推送模块940,用于通过第一操作系统在目标存储位置中查询业务标识,基于业务标识确定推送消息为目标应用程序的消息;通过第一操作系统将目标应用程序的推送消息传递至第二操作系统;通过第二操作系统对目标应用程序的推送消息进行推送。
182.在一些实施例中,
183.维护模块910,用于在目标存储位置中不存在业务标识的情况下,通过第一操作系统为业务标识对应的目标业务进行推送通道的订阅,在目标存储位置中对目标业务进行记录;
184.推送模块940,用于在完成目标业务对推送通道的订阅之后,通过第一操作系统对推送消息进行解码,得到解码后的推送消息;通过第一操作系统将解码后的推送消息传递
至第二操作系统;通过第二操作系统对解码后的推送消息进行推送。
185.综上所述,本实施例提供的推送通道的状态切换装置,在维护业务对推送通道的订阅状况的同时,还基于上述订阅状况来控制推送通道的运行状态的切换,在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务的情况下,将推送通道的运行状态从启用状态切换至禁用状态。也即,在维护业务对推送通道的订阅状况时,确定无业务使用推送通道,若是推送通道处于启用状态,则将推送通道的运行状态从启用状态切换至禁用状态,这样可以减少推送通道的运行功耗。
186.需要说明的是:上述实施例提供的推送通道的状态切换装置在执行推送通道的状态切换方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的推送通道的状态切换装置与推送通道的状态切换方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
187.图11示出了本技术一个示例性实施例提供的计算机设备的结构示意图。该计算机设备可以是执行如本技术提供的推送通道的状态切换方法的电子设备。
188.具体来讲:
189.计算机设备1000包括中央处理单元(cpu,central processing unit)1001、包括随机存取存储器(ram,random access memory)1002和只读存储器(rom,read only memory)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统,input output system)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
190.基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
191.大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者紧凑型光盘只读存储器(cd-rom,compact disc read only memory)驱动器之类的计算机可读介质(未示出)。
192.计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(eprom,erasable programmable read only memory)、带电可擦可编程只读存储器(eeprom,electrically erasable programmable read only memory)、闪存或其他固态存储其技术,cd-rom、数字通用光盘(dvd,digital versatile disc)或固态硬盘
(ssd,solid state drives)、其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistance random access memory)和动态随机存取存储器(dram,dynamic random access memory)。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
193.根据本技术的各种实施例,计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
194.上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行,以实现如上所述的推送通道的状态切换方法。
195.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上各个实施例所述的推送通道的状态切换方法。
196.可选地,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、固态硬盘(ssd,solid state drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistance random access memory)和动态随机存取存储器(dram,dynamic random access memory)。
197.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
198.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
199.以上所述仅为本技术的能够实现的示例性的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种推送通道的状态切换方法,其特征在于,所述方法由电子设备执行,所述方法包括:在目标存储位置维护业务对推送通道的订阅状况,所述目标存储位置用于记录已订阅所述推送通道的业务;在所述推送通道处于启用状态且所述订阅状况指示不存在订阅所述推送通道的业务的情况下,将所述推送通道的运行状态从所述启用状态切换至禁用状态。2.根据权利要求1所述的方法,其特征在于,所述订阅状况包括已订阅数目,所述已订阅数目是指已订阅所述推送通道的业务的数目;所述在所述推送通道处于启用状态且所述订阅状况指示不存在订阅所述推送通道的业务的情况下,将所述推送通道的运行状态从所述启用状态切换至禁用状态,包括:在所述推送通道处于所述启用状态且所述已订阅数目为零的情况下,将所述推送通道的运行状态从所述启用状态切换至所述禁用状态。3.根据权利要求2所述的方法,其特征在于,所述将所述推送通道的运行状态从所述启用状态切换至所述禁用状态,包括:以所述订阅状况的维护时刻起的预备时长内,若不存在业务订阅所述推送通道,将所述推送通道的运行状态从所述启用状态切换至所述禁用状态。4.根据权利要求1至3任一所述的方法,其特征在于,所述订阅状况包括已订阅数目,所述已订阅数目是指已订阅所述推送通道的业务的数目;所述在目标存储位置维护业务对推送通道的订阅状况,包括:接收第一业务对所述推送通道的取消订阅事件;基于所述取消订阅事件将所述已订阅数目减去所述第一业务的数目,得到更新后的已订阅数目;将所述更新后的已订阅数目更新至所述目标存储位置上。5.根据权利要求1至3任一所述的方法,其特征在于,所述订阅状况包括已订阅数目,所述已订阅数目是指已订阅所述推送通道的业务的数目;所述在目标存储位置维护业务对推送通道的订阅状况,包括:接收第二业务对所述推送通道的订阅事件;基于所述订阅事件将所述已订阅数目增加所述第二业务的数目,得到更新后的已订阅数目;将所述更新后的已订阅数目更新至所述目标存储位置上。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述推送通道处于所述禁用状态且所述更新后的已订阅数目不为零的情况下,将所述推送通道的运行状态从所述禁用状态切换为所述启用状态。7.根据权利要求1至3任一所述的方法,其特征在于,所述在目标存储位置维护业务对推送通道的订阅状况,包括:在所述电子设备与其它电子设备之间未建立直连通信连接的情况下,执行所述在目标存储位置维护业务对推送通道的订阅状况的步骤;其中,所述其它电子设备与所述电子设备安装并运行有同一应用程序,所述应用程序中登录有同一帐号。
8.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:在所述推送通道处于所述启用状态且所述电子设备与其它电子设备之间建立有直连通信连接的情况下,将所述推送通道的运行状态从所述启用状态切换为所述禁用状态;其中,所述其它电子设备与所述电子设备安装并运行有同一应用程序,所述应用程序中登录有同一帐号。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:接收目标应用程序的推送消息,所述推送消息是由所述其它电子设备接收到的服务器发送的所述推送消息之后,通过所述直连通信连接发送至所述电子设备的。10.根据权利要求1至3任一所述的方法,其特征在于,所述电子设备中运行有第一操作系统和第二操作系统,所述第二操作系统独立于所述第一操作系统之外;所述方法还包括:在所述电子设备与其它电子设备之间未建立直连通信连接的情况下,通过所述第一操作系统接收服务器通过所述推送通道发送的推送消息,所述推送消息携带有业务标识;通过所述第一操作系统在所述目标存储位置中查询所述业务标识,基于所述业务标识确定所述推送消息为目标应用程序的消息;通过所述第一操作系统将所述目标应用程序的所述推送消息传递至所述第二操作系统;通过所述第二操作系统对所述目标应用程序的所述推送消息进行推送。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:在所述目标存储位置中不存在所述业务标识的情况下,通过所述第一操作系统为所述业务标识对应的目标业务进行所述推送通道的订阅,在所述目标存储位置中对所述目标业务进行记录;在完成所述目标业务对所述推送通道的订阅之后,通过所述第一操作系统对所述推送消息进行解码,得到解码后的推送消息;通过所述第一操作系统将所述解码后的推送消息传递至所述第二操作系统;通过所述第二操作系统对所述解码后的推送消息进行推送。12.一种推送通道的状态切换装置,其特征在于,所述装置包括:维护模块,用于在目标存储位置维护业务对推送通道的订阅状况,所述目标存储位置用于记录已订阅所述推送通道的业务;切换模块,用于在所述推送通道处于启用状态且所述订阅状况指示不存在订阅所述推送通道的业务的情况下,将所述推送通道的运行状态从所述启用状态切换至禁用状态。13.一种电子设备,其特征在于,所述电子设备包括处理器、与所述处理器相连的存储器,所述存储器上存储有程序指令,所述处理器执行所述程序指令时实现如权利要求1至11任一所述的推送通道的状态切换方法。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现如权利要求1至11任一所述的推送通道的状态切换方法。15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质
读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至11任一所述的推送通道的状态切换方法。

技术总结
本申请实施例公开了一种推送通道的状态切换方法、装置、设备、介质及程序产品,属于软件技术领域。该方法包括:在目标存储位置维护业务对推送通道的订阅状况,目标存储位置用于记录已订阅推送通道的业务;在推送通道处于启用状态且订阅状况指示不存在订阅推送通道的业务的情况下,将推送通道的运行状态从启用状态切换至禁用状态。该方法能够有效地降低推送通道的功耗。通道的功耗。通道的功耗。


技术研发人员:张冠群 李建余
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:2022.03.18
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐