网关消息的处理方法、装置、存储介质及电子装置与流程

未命名 09-07 阅读:148 评论:0


1.本技术涉及智慧家庭技术领域,具体而言,涉及一种网关消息的处理方法、装置、存储介质及电子装置。


背景技术:

2.目前,随着家电设备的智能化水平不断提高,用户对家电设备提出的服务水平也提出了更高的要求。例如,用户希望家电设备具备更快的响应速度。
3.一般,家电设备会运行在支持边缘设备端的边缘场景下,这种边缘场景使用集中式单主机架构,不过这种架构由于依赖于单主机的硬件资源性能,在单主机的硬件资源性能较差的情况下,具有较差的处理效率,即不能对边缘场景下的网关消息进行及时处理,导致家电设备不能收到最新的处理结果,也无法响应用户的最新指令,降低了用户的使用体验。
4.因此,相关技术中,存在如何提高网关消息的处理效率的技术问题。
5.针对相关技术中,如何提高网关消息的处理效率的技术问题,尚未提出有效的解决方案。


技术实现要素:

6.本技术实施例提供了一种网关消息的处理方法、装置、存储介质及电子装置,以至少解决相关技术中,如何提高网关消息的处理效率的技术问题。
7.根据本技术实施例的一个实施例,提供了一种网关消息的处理方法,包括:确定出属于同一局域网的第一业务网关和第二业务网关;获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。
8.在一个示例性实施例中,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关,包括:在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第一比值与所述局域网内存的第一乘积;确定出所述第一乘积对应的第一处理内存;将所述第一处理内存允许处理的网关消息确定为第一待处理网关消息,并将所述第一待处理网关消息分配给所述第一业务网关。
9.在一个示例性实施例中,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第二业务网关,包括:在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第二比值与所述局域网内存的第二乘积;确定出所述第二乘积对应的第二处理内存;将所述第二处理内存允许处理的网关消息确定为第二待处理网关消息,并将所述第二待处理网关消息分配给所述第二业
务网关。
10.在一个示例性实施例中,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关,包括:在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值不小于预设比值,则获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积;将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件,获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第一网关消息,其中,所述第一网关消息的业务颗粒度大于预设业务颗粒度;将所述第三乘积对应的第三待处理网关消息和所述第一网关消息分配给所述第一业务网关。
11.在一个示例性实施例中,在获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积之后,所述方法还包括:确定出所述第三乘积对应的第三处理内存,并将所述第三处理内存允许处理的网关消息确定为第三待处理网关消息;确定出所述第四乘积对应的第四处理内存,并将所述第四处理内存允许处理的网关消息确定为第四待处理网关消息。
12.在一个示例性实施例中,在将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件之后,所述方法还包括:获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第二网关消息,其中,所述第二网关消息的业务颗粒度不大于所述预设业务颗粒度;将所述第二网关消息分配给所述第二业务网关。
13.在一个示例性实施例中,控制所述第一业务网关对分配到的待处理网关消息进行处理,包括:从所述第一业务网关的第一事件总线交互组件中获取所述第一业务网关的第一网关备份数据,其中,所述第一网关备份数据是第一业务网关的第一主从数据库备份组件发送至第一事件总线交互组件的;从所述第二业务网关的第二事件总线交互组件中获取所述第二业务网关的第二网关备份数据,其中,所述第二网关备份数据是第二业务网关的第二主从数据库备份组件发送至第二事件总线交互组件的;将所述第一网关备份数据和第二网关备份数据发送给所述第一业务网关的第一领域模型组件,并获取所述第一领域模型组件基于所述网关备份数据生成的第一控制指令;根据所述第一控制指令控制所述第一业务网关对分配到的所述第三待处理网关消息和所述第一网关消息进行处理。
14.在一个示例性实施例中,在获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值之前,所述方法还包括:从所述第一业务网关的第一事件总线交互组件中获取所述第一网关内存,所述局域网内存和所述第二网关内存;其中,所述第二网关内存是在所述第二业务网关的第二事件总线交互组件发送至所述第一业务网关的第一消息转发组件之后,由所述第一消息转发组件发送至所述第一事件总线交互组件的。
15.在一个示例性实施例中,获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值,包括:获取当前时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存,并将所述当前时刻确定为获取时刻;在确定所述第一业务网关的第一内存负载计算组件完成上一计算任务的情况下,向所述第
一内存负载计算组件发送当前计算任务;其中,所述上一计算任务为基于所述获取时刻的上一时刻获取到的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第三比值,以及所述第二业务网关的第二网关内存与所述局域网内存的第四比值;所述当前计算任务为基于所述获取时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一比值和所述第二比值;确定出所述第一内存负载计算组件对当前计算任务的执行结果,并从所述执行结果中确定出所述第一比值和所述第二比值。
16.根据本技术实施例的另一方面,还提供了一种网关消息的处理装置,包括:确定模块,用于确定出属于同一局域网的第一业务网关和第二业务网关;获取模块,用于获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;处理模块,用于根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。
17.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述网关消息的处理方法。
18.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的网关消息的处理方法。
19.在本技术实施例中,确定出属于同一局域网的第一业务网关和第二业务网关;获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理;采用上述技术方案,解决了如何提高网关消息的处理效率的技术问题,进而提高了网关消息的处理效率。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术实施例的一种网关消息的处理方法的硬件环境示意图;
23.图2是根据本技术实施例的网关消息的处理系统的结构示意图;
24.图3是根据本技术实施例的网关消息的处理方法的流程图;
25.图4是根据本技术实施例的网关消息的处理方法的流程示意图;
26.图5是根据本技术实施例的一种网关消息的处理装置的结构框图。
具体实施方式
27.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
28.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.根据本技术实施例的一个方面,提供了一种网关消息的处理方法。该网关消息的处理方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用的边缘场景。可选地,在本实施例中,上述网关消息的处理方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
30.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
31.在一个实施例中,结合图2对上述网关消息的交互系统进行更好的说明,图2是根据本技术实施例的网关消息的交互系统的结构示意图。如图2所示,网关消息的交互系统包括a网关(相当于上述第一业务网关)和b网关(相当于上述第二业务网关),a网关和b网关的组成结构一致,且a网关和b网关各自对应具有用户业务通道。
32.以a网关为例,对网关消息的交互过程进行说明。cae将经由用户业务通道传输的消息发送给ucom组件,继而由ucom组件转发消息至网关消息过滤器(即上述第一网关消息过滤器),网关消息过滤器将通过筛选的消息发送至事件总线broker(相当于上述事件总线交互组件)。事件总线broker与场景jsdk(相当于上述第一场景软件开发包组件),领域模型
(相当于上述第一领域模型组件),cpu负载统计模块(相当于上述第一内存负载计算组件),sdl用户侧(相当于上述第一用户侧业务模块),主从数据库备份模块,消息转发模块(相当于上述第一消息转发组件)中的每一模块之间均存在消息交互过程。事件总线broker响应于网关消息过滤器,场景jsdk,领域模型,cpu负载统计模块,sdl用户侧,主从数据库备份模块,消息转发模块中任一订阅侧的订阅请求,将订阅请求指示的网关消息发布至任一订阅侧。
33.其中,在图2中,sdl(smart device linux sdk)表示:基于linux平台的设备使用的一种物联软件开发包。
34.cae(computer-aided engineering,即计算机辅助工程)用于借助计算机技术和软件工具对物理现象进行模拟、分析和优化,从而帮助设计人员提高产品的性能和可靠性,减少产品开发周期和成本,实现智能化、数字化生产。在网关系统中,cae还可以用于网络连接的建模与仿真分析等方面。
35.ucom组件是指com(component object model)技术下的通用类型库,其中包括了一些基本接口和结构体定义。这些接口和结构体可以使开发人员在不同的开发环境中共享代码,从而实现更高效、可靠的软件开发。ucom组件常被使用在微软.net平台上,通过它们可以方便地调用非托管代码或com组件,并且与基于.net平台编写的对象进行交互。
36.事件总线broker是一种消息传递框架中的组件,用于在应用程序或系统不同部分之间传递消息。它通过将发布者和订阅者解耦以及实现异步通信来简化应用程序开发。在事件总线系统中,事件总线broker充当了一个中心节点角色,作为所有发布和接收消息信息的交互点。broker可以确保发送到正确目标同时向连接器提供数据控制,并对事件进行缓冲处理等操作。基于此简化了应用程序集成、处理任务的日志记录和跟踪问题等方面很有帮助。
37.场景jsdk(java software development kit)是一种软件开发工具包,用于在java环境下创建和管理人工智能场景模型。它提供了丰富的api和工具,使开发人员能够轻松地创建、训练、测试以及部署自己的机器学习模型。该sdk可以与各种第三方框架和库(如tensorflow、keras等)配合使用,并支持本地或云端执行。通过使用场景jsdk,开发人员可以快速构建面向企业或个人用户的高质量ai应用程序。
38.在本实施例中提供了一种网关消息的处理方法,应用于上述终端设备,图3是根据本技术实施例的网关消息的处理方法的流程图,该流程包括如下步骤:
39.步骤s302,确定出属于同一局域网的第一业务网关和第二业务网关;
40.其中,针对上述第一业务网关和上述第二业务网关,例如至少可以包含一个,本技术对此不作限制。
41.步骤s304,获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;
42.步骤s306,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。
43.通过上述步骤,确定出属于同一局域网的第一业务网关和第二业务网关;获取所
述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理,解决了相关技术中,如何提高网关消息的处理效率的技术问题,进而提高了网关消息的处理效率。
44.在一个示例性实施例中,针对上述步骤s306中如何根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关的过程,可以通过以下步骤说明:步骤s11,在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第一比值与所述局域网内存的第一乘积;步骤s12,确定出所述第一乘积对应的第一处理内存;步骤s13,将所述第一处理内存允许处理的网关消息确定为第一待处理网关消息,并将所述第一待处理网关消息分配给所述第一业务网关。
45.在一个示例性实施例中,针对上述步骤s306中根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第二业务网关的实现过程,具体包括以下步骤:步骤s21,在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第二比值与所述局域网内存的第二乘积;步骤s22,确定出所述第二乘积对应的第二处理内存;步骤s23,将所述第二处理内存允许处理的网关消息确定为第二待处理网关消息,并将所述第二待处理网关消息分配给所述第二业务网关。
46.在一个示例性实施例中,进一步的,还提出了其他用于实现根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关的技术方案,具体包括:步骤s31,在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值不小于预设比值,则获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积;步骤s32,将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件,获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第一网关消息,其中,所述第一网关消息的业务颗粒度大于预设业务颗粒度;步骤s33,将所述第三乘积对应的第三待处理网关消息和所述第一网关消息分配给所述第一业务网关。
47.可选的,对于步骤s32,也可以包括:将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一领域模型组件,获取所述第一领域模型组件从所述第四待处理网关消息中选择的第一网关消息。
48.可选的,对于将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件,获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第一网关消息的过程,进一步包括如下步骤:将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一事件总线交互组件,继而通过所述第一事件总线交互组件将所述第四待处理网关消息转发给所述第一业务网关的第一场景软件开发包组件;在确定所述第一场景软件开发包组件从所述第四待处理网关消息中选择出第一网关消息,且将所述第一网关消息发送至所述第一业务网关的第一事件总线交互组件的情况下,从所述第一业务网关的第一事件总线交互组件获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择出的第一网关消息。
49.在一个示例性实施例中,在获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积之后,进一步的,还可以确定出所述第三乘积对应的第三处理内存,并将所述第三处理内存允许处理的网关消息确定为第三待处理网关消息;确定出所述第四乘积对应的第四处理内存,并将所述第四处理内存允许处理的网关消息确定为第四待处理网关消息。
50.在一个示例性实施例中,在将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件之后,还可以进一步实现如下方案:获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第二网关消息,其中,所述第二网关消息的业务颗粒度不大于所述预设业务颗粒度;将所述第二网关消息分配给所述第二业务网关。
51.需要说明的是,上述网关消息的业务颗粒度越大,则网关消息的处理复杂程度和处理难度越高,相应所需的处理内存也越大。
52.可选的,在一个实施例中,还可以将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一领域模型组件,获取所述第一领域模型组件从所述第四待处理网关消息中选择的第二网关消息,其中,所述第二网关消息的业务颗粒度不大于所述预设业务颗粒度;将所述第二网关消息分配给所述第二业务网关。另外,第一领域模型组件与第一场景软件开发包组件可以基于第一事件总线交互组件进行消息交互,第一领域模型组件也可以基于第一事件总线交互组件获取第一领域模型组件从所述第四待处理网关消息中选择的第二网关消息。本技术对于执行从所述第四待处理网关消息中选择的第二网关消息的执行侧不做限制。
53.在一个示例性实施例中,对于控制所述第一业务网关对分配到的待处理网关消息进行处理的实现过程,可以通过以下步骤说明:步骤s41,从所述第一业务网关的第一事件总线交互组件中获取所述第一业务网关的第一网关备份数据,其中,所述第一网关备份数据是第一业务网关的第一主从数据库备份组件发送至第一事件总线交互组件的;步骤s42,从所述第二业务网关的第二事件总线交互组件中获取所述第二业务网关的第二网关备份数据,其中,所述第二网关备份数据是第二业务网关的第二主从数据库备份组件发送至第二事件总线交互组件的;步骤s43,将所述第一网关备份数据和第二网关备份数据发送给所述第一业务网关的第一领域模型组件,并获取所述第一领域模型组件基于所述网关备份数据生成的第一控制指令;步骤s44,根据所述第一控制指令控制所述第一业务网关对分配到的所述第三待处理网关消息和所述第一网关消息进行处理。
54.在一个示例性实施例中,在获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值之前,还提出了以下技术方案,具体包括如下步骤:从所述第一业务网关的第一事件总线交互组件中获取所述第一网关内存,所述局域网内存和所述第二网关内存;其中,所述第二网关内存是在所述第二业务网关的第二事件总线交互组件发送至所述第一业务网关的第一消息转发组件之后,由所述第一消息转发组件发送至所述第一事件总线交互组件的。
55.在一个示例性实施例中,为了更好的对上述步骤s306中如何获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网
关的第二网关内存与所述局域网内存的第二比值的技术方案进行说明,提出以下步骤:步骤s41,获取当前时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存,并将所述当前时刻确定为获取时刻;步骤s42,在确定所述第一业务网关的第一内存负载计算组件完成上一计算任务的情况下,向所述第一内存负载计算组件发送当前计算任务;其中,所述上一计算任务为基于所述获取时刻的上一时刻获取到的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第三比值,以及所述第二业务网关的第二网关内存与所述局域网内存的第四比值;所述当前计算任务为基于所述获取时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一比值和所述第二比值;步骤s43,确定出所述第一内存负载计算组件对当前计算任务的执行结果,并从所述执行结果中确定出所述第一比值和所述第二比值。
56.为了更好的理解上述网关消息的处理方法的过程,以下再结合可选实施例对上述网关消息的处理的实现方法流程进行说明,但不用于限定本技术实施例的技术方案。
57.在本实施例中提供了一种网关消息的处理方法,图4是根据本技术实施例的网关消息的处理方法的流程示意图,如图4所示,具体如下步骤:
58.步骤s401:a网关的领域模型组件(即领域模型)向a网关的事件总线broker发送用于订阅/user/gatewayid/cpuload主题消息的订阅请求;
59.步骤s402:a网关的场景jsdk向a网关的事件总线broker发送用于订阅/user/gatewayid/cpuload主题消息的订阅请求;
60.步骤s403:a网关的消息转发组件(即消息转发模块)向a网关的事件总线broker发送用于订阅/user/gatewayid/cpuload主题消息的订阅请求;
61.步骤s404:a网关的cpu负载统计模块向a网关的事件总线broker推送/user/gatewayid/cpuload主题消息;
62.步骤s405:a网关的事件总线broker向a网关的领域模型组件推送/user/gatewayid/cpuload主题消息;
63.步骤s406:a网关的事件总线broker向a网关的场景jsdk推送/user/gatewayid/cpuload主题消息;
64.步骤s407:a网关的事件总线broker向a网关的消息转发组件推送/user/gatewayid/cpuload主题消息;
65.步骤s408:b网关的消息转发组件(即消息转发模块)向a网关的事件总线broker发送用于订阅/user/gatewayid/cpuload主题消息的订阅请求;
66.步骤s409:a网关的事件总线broker向b网关的消息转发组件推送/user/gatewayid/cpuload主题消息;
67.步骤s410:b网关的消息转发组件向b网关的事件总线broker发布/user/gatewayid/cpuload主题消息;
68.步骤s411:b网关的领域模型组件向b网关的事件总线broker发送用于订阅/user/gatewayid/cpuload主题消息的订阅请求;
69.步骤s412:b网关的事件总线broker向b网关的领域模型组件推送/user/
gatewayid/cpuload主题消息;
70.步骤s413:b网关的场景jsdk向b网关的事件总线broker发送用于订阅/user/gatewayid/cpuload主题消息的订阅请求;
71.步骤s414:b网关的事件总线broker向b网关的场景jsdk推送/user/gatewayid/cpuload主题消息。
72.可选的,在一个实施例中,对于每个网关,均可以保存每个网关所属的局域网的其他网关的cpu负荷率,cpu负荷率可以表示为/user/gatewayid/cpuload主题消息,通过订阅这个主题消息可以得到局域网内所有网关的cpu负荷情况。例如,局域网包含a网关,b网关,c网关,d网关,如果a网关基于/user/gatewayid/cpuload这一主题消息确定a网关的cpu负荷率为50%,且确定b网关,c网关,d网关的cpu占有率分别为20%,30%,40%。则a网关的领域模型模块或者a网关的场景jsdk模块可以将部分网关消息拆分成颗粒度更小的消息,仅处理拆分后的消息,并根据其他网关的cpu占有率将剩余网关消息分配至其他网关。
73.通过上述步骤,能够基于场景jsdk模块实现算力分摊,在场景jsdk模块解析场景脚本前,提前查询局域网内各网关的cpu负载率。以a网关为例,如果a网关cpu占有率低于50%,则表示a网关的内存负荷压力较低,此时选择a网关内解析本地场景,类似的,如果局域网内存在网关cpu占有率低于50%的其它网关,也可以选择其他网关解析本地场景。
74.具体的解析过程例如包括:向a网关发送如下json格式的/user/gatewayid/scene_data主题消息:
75.{"device_jsdk_scene_req":{"gatewayidsrc":"2c37c5b04ac","gatewayiddst":"202103231229","sceneid":"xxxxxxxxxx","cmdsn":"20220920154349879927752511167408","utraceid":“20220920154351389696358099666254”}};
76./user/gatewayid/scene_data主题消息经由a网关的消息转发器模块会被转发到b网关,由b网关处理这条主题消息。b网关的场景jsdk模块根据主从备份数据库的a网关的相关信息对这条主题信息进行加工,生成b网关需要的批控命令,批控命令如下所示:
77.{"device_jsdk_scene_resp":{"gatewayidsrc":"2c37c5b04ac","gatewayiddst":"202103231229","cmdsn":"20220920154349879927752511167408","utraceid":"20220920154351389696358099666254","cmdmsglist":[{"deviceid":"f0b0402cb1e765fffea20b87","name":"onoffstatus3","value":"true"}]}}。
[0078]
b网关的场景jsdk模块基于得到的device_jsdk_scene_req批控命令,根据utraceid和cmdsn来匹配应答消息,继而在场景jsdk内部模块处理,得到以下处理结果:
[0079]
{"cmdsn":"20220920154349879927752511167408","utraceid":"20220920154351389696358099666254","cmdmsglist":[{"deviceid":"f0b0402cb1e765fffea20b87","name":"onoffstatus3","value":"true"}]}。
[0080]
随后,b网关的场景jsdk模块将处理得到的结果发送给b网关的领域模型,由领域模型生成控制命令。
[0081]
通过上述实施例,可以解决网关因掉电等原因损坏数据无法进行场景联动的情况,并且采用事件总线机制所实现的事件总线broker与其他模块的发布订阅过程,可以将消息和业务完全解耦,减少了消息阻塞的概率,进而减少了各个模块之间多层消息交互导致的耗时问题。并且,还可以监控各个网关的cpu负载将业务分摊到对端的网关服务器上加
工,提高了网关消息的处理效率。
[0082]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
[0083]
图5是根据本技术实施例的一种网关消息的处理装置的结构框图;如图5所示,包括:
[0084]
确定模块52,用于确定出属于同一局域网的第一业务网关和第二业务网关;
[0085]
其中,针对上述第一业务网关和上述第二业务网关,例如至少可以包含一个,本技术对此不作限制。
[0086]
获取模块54,用于获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;
[0087]
处理模块56,用于根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。
[0088]
通过上述装置,确定出属于同一局域网的第一业务网关和第二业务网关;获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理,解决了相关技术中,如何提高网关消息的处理效率的技术问题,进而提高了网关消息的处理效率。
[0089]
在一个示例性实施例中,上述处理模块56还包括:第一分配单元,用于通过以下步骤说明根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关的过程:步骤s11,在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第一比值与所述局域网内存的第一乘积;步骤s12,确定出所述第一乘积对应的第一处理内存;步骤s13,将所述第一处理内存允许处理的网关消息确定为第一待处理网关消息,并将所述第一待处理网关消息分配给所述第一业务网关。
[0090]
在一个示例性实施例中,上述处理模块56还包括:第二分配单元,用于通过以下步骤说明根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第二业务网关的实现过程:步骤s21,在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第二比值与所述局域网内存的第二乘积;步骤s22,确定出所述第二乘积对应的第二处理内存;步骤s23,将所述第二处理内存允许处理的网关消息确定为第二待处理网关消息,并将所述第二待处理网关消息分配给所述第二业务网关。
[0091]
在一个示例性实施例中,进一步的,上述处理模块56还包括:第三分配单元,用于执行以下步骤:步骤s31,在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值不小于预设比值,则获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积;步骤s32,将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件,获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第一网关消息,其中,所述第一网关消息的业务颗粒度大于预设业务颗粒度;步骤s33,将所述第三乘积对应的第三待处理网关消息和所述第一网关消息分配给所述第一业务网关。
[0092]
可选的,第三分配单元,还用于:将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一领域模型组件,获取所述第一领域模型组件从所述第四待处理网关消息中选择的第一网关消息。
[0093]
可选的,第三分配单元,还用于:将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一事件总线交互组件,继而通过所述第一事件总线交互组件将所述第四待处理网关消息转发给所述第一业务网关的第一场景软件开发包组件;在确定所述第一场景软件开发包组件从所述第四待处理网关消息中选择出第一网关消息,且将所述第一网关消息发送至所述第一业务网关的第一事件总线交互组件的情况下,从所述第一业务网关的第一事件总线交互组件获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择出的第一网关消息。
[0094]
在一个示例性实施例中,上述第三分配单元,还用于在获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积之后,进一步的,确定出所述第三乘积对应的第三处理内存,并将所述第三处理内存允许处理的网关消息确定为第三待处理网关消息;确定出所述第四乘积对应的第四处理内存,并将所述第四处理内存允许处理的网关消息确定为第四待处理网关消息。
[0095]
在一个示例性实施例中,上述第三分配单元,还用于在将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件之后,进一步实现如下方案:获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第二网关消息,其中,所述第二网关消息的业务颗粒度不大于所述预设业务颗粒度;将所述第二网关消息分配给所述第二业务网关。
[0096]
需要说明的是,上述网关消息的业务颗粒度越大,则网关消息的处理复杂程度和处理难度越高,相应所需的处理内存也越大。
[0097]
可选的,在一个实施例中,上述第三分配单元,还用于:将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一领域模型组件,获取所述第一领域模型组件从所述第四待处理网关消息中选择的第二网关消息,其中,所述第二网关消息的业务颗粒度不大于所述预设业务颗粒度;将所述第二网关消息分配给所述第二业务网关。另外,第一领域模型组件与第一场景软件开发包组件可以基于第一事件总线交互组件进行消息交互,第一领域模型组件也可以基于第一事件总线交互组件获取第一领域模型组件从所述第四待处理网关消息中选择的第二网关消息。本技术对于执行从所述第四待处理网关消息中选择的第二网关消息的执行侧不做限制。
[0098]
在一个示例性实施例中,上述第三分配单元,还用于通过以下步骤说明控制所述
第一业务网关对分配到的待处理网关消息进行处理的实现过程:步骤s41,从所述第一业务网关的第一事件总线交互组件中获取所述第一业务网关的第一网关备份数据,其中,所述第一网关备份数据是第一业务网关的第一主从数据库备份组件发送至第一事件总线交互组件的;步骤s42,从所述第二业务网关的第二事件总线交互组件中获取所述第二业务网关的第二网关备份数据,其中,所述第二网关备份数据是第二业务网关的第二主从数据库备份组件发送至第二事件总线交互组件的;步骤s43,将所述第一网关备份数据和第二网关备份数据发送给所述第一业务网关的第一领域模型组件,并获取所述第一领域模型组件基于所述网关备份数据生成的第一控制指令;步骤s44,根据所述第一控制指令控制所述第一业务网关对分配到的所述第三待处理网关消息和所述第一网关消息进行处理。
[0099]
在一个示例性实施例中,上述网关消息的处理装置还包括发送模块,用于:在获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值之前,从所述第一业务网关的第一事件总线交互组件中获取所述第一网关内存,所述局域网内存和所述第二网关内存;其中,所述第二网关内存是在所述第二业务网关的第二事件总线交互组件发送至所述第一业务网关的第一消息转发组件之后,由所述第一消息转发组件发送至所述第一事件总线交互组件的。
[0100]
在一个示例性实施例中,上述获取模块54还包括比值确定单元,用于执行以下步骤:步骤s41,获取当前时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存,并将所述当前时刻确定为获取时刻;步骤s42,在确定所述第一业务网关的第一内存负载计算组件完成上一计算任务的情况下,向所述第一内存负载计算组件发送当前计算任务;其中,所述上一计算任务为基于所述获取时刻的上一时刻获取到的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第三比值,以及所述第二业务网关的第二网关内存与所述局域网内存的第四比值;所述当前计算任务为基于所述获取时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一比值和所述第二比值;步骤s43,确定出所述第一内存负载计算组件对当前计算任务的执行结果,并从所述执行结果中确定出所述第一比值和所述第二比值。
[0101]
本技术的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
[0102]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
[0103]
s1,确定出属于同一局域网的第一业务网关和第二业务网关;
[0104]
s2,获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;
[0105]
s3,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。
[0106]
本技术的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储
有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0107]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0108]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0109]
s1,确定出属于同一局域网的第一业务网关和第二业务网关;
[0110]
s2,获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;
[0111]
s3,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。
[0112]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0113]
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0114]
显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
[0115]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种网关消息的处理方法,其特征在于,包括:确定出属于同一局域网的第一业务网关和第二业务网关;获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。2.根据权利要求1所述的网关消息的处理方法,其特征在于,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关,包括:在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第一比值与所述局域网内存的第一乘积;确定出所述第一乘积对应的第一处理内存;将所述第一处理内存允许处理的网关消息确定为第一待处理网关消息,并将所述第一待处理网关消息分配给所述第一业务网关。3.根据权利要求1所述的网关消息的处理方法,其特征在于,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第二业务网关,包括:在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值小于预设比值,则获取所述第二比值与所述局域网内存的第二乘积;确定出所述第二乘积对应的第二处理内存;将所述第二处理内存允许处理的网关消息确定为第二待处理网关消息,并将所述第二待处理网关消息分配给所述第二业务网关。4.根据权利要求1所述的网关消息的处理方法,其特征在于,根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关,包括:在确定所述第一比值小于所述第二比值的情况下,如果确定所述第二比值不小于预设比值,则获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积;将所述第四乘积对应的第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件,获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第一网关消息,其中,所述第一网关消息的业务颗粒度大于预设业务颗粒度;将所述第三乘积对应的第三待处理网关消息和所述第一网关消息分配给所述第一业务网关。5.根据权利要求4所述的网关消息的处理方法,其特征在于,在获取所述第一比值与所述局域网内存的第三乘积,以及获取所述第二比值与所述局域网内存的第四乘积之后,所述方法还包括:确定出所述第三乘积对应的第三处理内存,并将所述第三处理内存允许处理的网关消息确定为第三待处理网关消息;确定出所述第四乘积对应的第四处理内存,并将所述第四处理内存允许处理的网关消息确定为第四待处理网关消息。6.根据权利要求4所述的网关消息的处理方法,其特征在于,在将所述第四乘积对应的
第四待处理网关消息发送至所述第一业务网关的第一场景软件开发包组件之后,所述方法还包括:获取所述第一场景软件开发包组件从所述第四待处理网关消息中选择的第二网关消息,其中,所述第二网关消息的业务颗粒度不大于所述预设业务颗粒度;将所述第二网关消息分配给所述第二业务网关。7.根据权利要求4所述的网关消息的处理方法,其特征在于,控制所述第一业务网关对分配到的待处理网关消息进行处理,包括:从所述第一业务网关的第一事件总线交互组件中获取所述第一业务网关的第一网关备份数据,其中,所述第一网关备份数据是第一业务网关的第一主从数据库备份组件发送至第一事件总线交互组件的;从所述第二业务网关的第二事件总线交互组件中获取所述第二业务网关的第二网关备份数据,其中,所述第二网关备份数据是第二业务网关的第二主从数据库备份组件发送至第二事件总线交互组件的;将所述第一网关备份数据和第二网关备份数据发送给所述第一业务网关的第一领域模型组件,并获取所述第一领域模型组件基于所述网关备份数据生成的第一控制指令;根据所述第一控制指令控制所述第一业务网关对分配到的所述第三待处理网关消息和所述第一网关消息进行处理。8.根据权利要求1所述的网关消息的处理方法,其特征在于,在获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值之前,所述方法还包括:从所述第一业务网关的第一事件总线交互组件中获取所述第一网关内存,所述局域网内存和所述第二网关内存;其中,所述第二网关内存是在所述第二业务网关的第二事件总线交互组件发送至所述第一业务网关的第一消息转发组件之后,由所述第一消息转发组件发送至所述第一事件总线交互组件的。9.根据权利要求1或6所述的网关消息的处理方法,其特征在于,获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值,包括:获取当前时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存,并将所述当前时刻确定为获取时刻;在确定所述第一业务网关的第一内存负载计算组件完成上一计算任务的情况下,向所述第一内存负载计算组件发送当前计算任务;其中,所述上一计算任务为基于所述获取时刻的上一时刻获取到的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第三比值,以及所述第二业务网关的第二网关内存与所述局域网内存的第四比值;所述当前计算任务为基于所述获取时刻的所述第一业务网关的第一网关内存,所述同一局域网的局域网内存和所述第二业务网关的第二网关内存计算所述第一比值和所述第二比值;
确定出所述第一内存负载计算组件对当前计算任务的执行结果,并从所述执行结果中确定出所述第一比值和所述第二比值。10.一种网关消息的处理装置,其特征在于,包括:确定模块,用于确定出属于同一局域网的第一业务网关和第二业务网关;获取模块,用于获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;处理模块,用于根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理。11.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。

技术总结
本申请公开了一种网关消息的处理方法、装置、存储介质及电子装置,涉及智慧家庭技术领域,该网关消息的处理方法包括:确定出属于同一局域网的第一业务网关和第二业务网关;获取所述第一业务网关的第一网关内存与所述同一局域网的局域网内存的第一比值,以及获取所述第二业务网关的第二网关内存与所述局域网内存的第二比值;根据所述第一比值和所述第二比值将所述同一局域网内的待处理网关消息分配至所述第一业务网关和所述第二业务网关,并控制所述第一业务网关和所述第二业务网关对分配到的待处理网关消息进行处理,采用上述技术方案,解决了如何提高网关消息的处理效率的技术问题。术问题。术问题。


技术研发人员:郭孝强
受保护的技术使用者:海尔优家智能科技(北京)有限公司 海尔智家股份有限公司
技术研发日:2023.06.29
技术公布日:2023/9/6
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐