一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于局域网络中终端的服务信息同步方法及终端与流程

2022-02-25 18:38:11 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及用于局域网络中终端的服务信息同步方法及终端。


背景技术:

2.随着信息网络建设的飞速发展、智能设备广泛普及,尤其是家庭中局域网(lan)的进步及信息需求的扩大,通常一个家庭(或自然人)会拥有多个智能设备,多个设备间通过各种通信方法(例如,光纤、无线网络(wireless fidelity,wi-fi)、蓝牙、近距离无线通信技术(near field communication nfc)、红外、谷歌移动服务(googlemobile servicegms)、码分多址接入(code division multiple access,cdma)、长期演进(long termevolution,lte)、5g等组成了一个复杂的动态局域网络。在这个动态局域网络中,组网方式是多样的、动态的。由于每个家庭中拥有的智能设备数量是不同的,同一家庭中具有的智能设备数量是变化的,智能设备在线情况也是变化的,是否具有路由器等中心设备也导致网络拓扑结构不同,使用设备的人具有的权限也不同。网元的构成是多样的、动态的,不同的设备物理能力不同(cpu/rom/ram能力、是否有摄像头、麦克风等),设备上运行的操作系统不同(android、rtos、windows、linux等),不同设备上允许的软件数量、种类也不同,同样软件的版本类型也可能不同。
3.因而为用户提供多个设备共同协同完成一项功能成为应用的发展趋势,如手机作为游戏手柄控制电视上的游戏,使用音响播放游戏声音,手表震动作为游戏反馈;如智能电视播放健身动作,家居摄像头拍摄健身人员动作,pc进行智能分析动作是否标准等。若要协同完成某一项功能,需要通过设备上的应用程序或服务调用其他设备上的远程服务,调用之前,必须要知道其他设备上提供的服务列表,包含服务的接口类型、版本号、服务状态和服务的依赖项等信息。
4.然而,现有技术中通过中心节点进行管理,所有服务注册到中心节点上,网络应用调用服务前,从中心节点查询服务地址的方式,以及点对点对远程服务状态进行查询的方式,均不适用于在动态、多样的复杂局域网络条件下的服务信息同步。


技术实现要素:

5.有鉴于此,本技术提供一种用于局域网络中终端的服务信息同步方法及终端,能够解决在动态的、多样的复杂局域网络条件下,各终端之间的服务信息同步的问题,以实现复杂局域网络下的终端可以协同完成一项功能。
6.本技术的一些实施方式提供了一种用于局域网络中终端的服务信息同步方法及终端设备。以下从多个方面介绍本技术,以下多个方面的实施方式和有益效果可互相参考。
7.第一方面,本技术提供一种用于局域网络中终端的服务信息同步方法,包括:多个终端经由多种不同的通信连接方式连接,并且本技术局域网络中的全部本技术终端都使用统一的预设协议进行终端间的服务信息同步,其中,服务信息包括终端的设备的信息结构
数据和终端内的各应用的服务信息结构数据。根据所述预设协议,所述局域网络内的所述多个终端的每个终端各自具有符合预设格式的唯一标识,其中,所述符合预设格式的唯一标识至少基于所述终端在该网络中与其他的终端通信连接的所有地址计算得到。例如,将至少基于所述终端在该网络中与其他的终端通信连接的所有地址计算为4字符的哈希值,该哈希值为该终端的唯一标识,在通信过程中告知与其通信的终端设备自身的唯一标识,以使得与其连接的其他终端可以确定连接的是同一个终端,并从该终端中获取其他的终端的服务信息。本技术多个终端中的每个终端基于符合预设格式的唯一标识,和与其直接连接的至少一个终端同步本技术终端中存储的服务信息,本技术多个终端完成同步,以使得本技术多个终端中的每个终端都存储有本技术局域网络内所有终端的服务信息。
8.根据本技术实施例的方法,各终端设备采用统一的预设协议,并且每个终端可以拥有局域网络中所有终端的服务信息,在局域网络内的终端需要完成一项功能,如游戏,可以了解彼此的具有的服务信息以及具有该服务信息的终端的地址,可以直接调用彼此的服务以协同完成一个任务。用户可以根据自己拥有的终端协同来完成一个功能,提升了用户的体验。
9.在上述第一方面的一种可能的实现中,本技术多个终端中的每个终端,和与其直接连接的至少一个终端同步本技术终端中存储的服务信息,包括:本技术每个终端确定与其直接连接的至少一个终端的传输通道,例如,两个终端之间通过蓝牙、wifi p2p的连接方式,即确定连接方式为点对点的传输方式,并通过点对点的传输通道,基于本技术传输通道同步本技术终端中存储的服务信息,以使终端间可以快速准确的同步彼此的服务信息。
10.在上述第一方面的一种可能的实现中,当确定有新的终端加入本技术局域网络,多个本技术终端确定与该新的终端的传输通道,并发起与该本技术新的终端的服务信息同步,本技术多个终端完成同步,以使得本技术多个终端中的每个终端都存储有本技术新的终端的服务信息,本技术新的终端都存储有每一个本技术终端的服务信息。
11.在上述第一方面的一种可能的实现中,确定该局域网络中的至少一个终端的服务信息发生变更后,采用差分同步法进行信息同步,即除该发生服务信息变更的终端之外的终端,获取该发生服务信息变更的终端的服务信息列表,并确定该服务信息列表中发生变更部分的信息内容;除该发生服务信息变更的终端之外的终端,将发生变更部分的信息内容同步到已经存储的该发生服务信息变更的终端对应的服务信息列表中。该方法可以有效的避免在服务信息同步过程中,存在大量的重复数据,减少同步数据量。
12.在上述第一方面的一种可能的实现中,根据本技术预设协议,本技术局域网络内的本技术多个终端各自具有符合预设格式的唯一标识,本技术预设格式的唯一标识至少基于本技术终端在该网络中与其他的终端通信连接的所有地址所计算的哈希值获得。局域网络内的每一个终端将其与其他的终端连接的所有地址统一综合到一起作为设备的唯一标识,进而使每个终端通信过程中都可以一一对应的获知彼此之间的连接关系,如获知与其他终端是通过同一个或多个终端连接,并获取彼此的服务信息,进而实现多终端在动态的,多样的复杂局域网络上的所有终端间的服务信息的同步。且唯一标识以哈希值的形式进行传输和保存,字节少,便于传输。
13.在上述第一方面的一种可能的实现中,本技术预设协议的基本格式包括对终端的动作和动作所针对的对象的类型的定义。终端基于协议动作的定义使每个终端都能够读取
对方的意图进而选择直接交互数据,或者通过发送服务请求的方式实现双方的数据交互。
14.在上述第一方面的一种可能的实现中,本技术动作所针对的对象的类型包括服务列表特征值、服务列表、服务特征值和服务信息。其中,服务列表特征值和服务特征值用哈希值表示,且该哈希值是终端基于服务列表计算得到。
15.在上述第一方面的一种可能的实现中,本技术动作用于实现本技术局域网络中的各终端间的数据交换过程,具体包括在各本技术终端之间的握手动作、拿取动作和发送动作。
16.在上述第一方面的一种可能的实现中,本技术多个终端之间同步的本技术终端中存储的服务信息为各终端允许同步的应用的服务信息,以确保各终端的信息的安全。
17.在上述第一方面的一种可能的实现中,本技术多种不同的通信连接方式包括:蓝牙、 wifi、nfc、红外、码分多址、5g、gms和长期演进通信技术中的至少两种。
18.第二方面,本技术提供的一种用于局域网络中终端的服务信息同步方法,用于本技术局域网络中的第一终端,本技术方法包括:本技术第一终端与本技术局域网络中的多个第二终端由多种不同的通信连接方式连接,并且在该局域网络中本技术第一终端与多个第二终端使用统一的预设协议进行终端间的服务信息同步;本技术第一终端和与其直接连接的至少一个第二终端同步本技术第二终端中存储的服务信息,当本技术第一终端完成同步,以使得本技术第一终端中都存储有本技术局域网络内所有终端的服务信息。
19.根据本技术实施例的方法,第一终端和多个第二终端采用统一的预设协议,并且第一终端可以拥有局域网络中所有终端的服务信息,当局域网络内的终端需要完成一项功能,如游戏,第一终端可以在本地各终端的具有哪些服务信息,以及这些服务信息对应的终端的地址,可以直接调用具有所需要终端的服务以协同完成一个任务。提升了用户的体验。
20.在上述第二方面的一种可能的实现中,本技术第一终端和与其直接连接的至少一个第二终端同步本技术第二终端中存储的服务信息,包括:本技术第一终端确定与其直接连接的至少一个第二终端的传输通道,例如,两个终端之间通过蓝牙、wifi p2p的连接方式,即确定连接方式为点对点的传输方式,并通过点对点的传输通道,基于本技术传输通道同步本技术第二终端中存储的服务信息。
21.在上述第二方面的一种可能的实现中,当确定有新的第二终端加入本技术局域网络,本技术第一终端确定与该新的第二终端的传输通道,并发起与该本技术新的第二终端的服务信息同步,本技术第一终端完成同步,以使得本技术第一终端中增加对本技术新的第二终端的服务信息的存储,以使得进入该局域网络内的所有终端的服务信息都能够被同步。
22.在上述第二方面的一种可能的实现中,当本技术第一终端为首次加入该局域网络,本技术第一终端确定与其连接的第二终端的连接为ip连接,本技术第一终端播报服务上线,以等待网络中的第二终端向其发起同步请求,以使得本技术第一终端中存储有本技术局域网络内所有终端的服务信息。
23.在上述第二方面的一种可能的实现中,确定该局域网络中的至少一个第二终端的服务信息发生变更,本技术第一终端获取该发生服务信息变更的终端的服务信息列表,并确定该服务信息列表中发生变更部分的信息内容;本技术第一终端将发生变更部分的信息内容同步到已经存储的该发生服务信息变更的第二终端对应的服务信息列表中。该方法可
以有效的避免在服务信息同步过程中,存在大量的重复数据,减少同步数据量。
24.在上述第二方面的一种可能的实现中,根据本技术预设协议,本技术局域网络内的本技术第一终端具有符合预设格式的唯一标识,本技术预设格式的唯一标识至少基于本技术第一终端在该网络中与本技术第二终端通信连接的所有地址所计算的哈希值获得。第一终端将与其直接连接的所有第二终端的连接地址统一综合到一起作为设备的唯一标识,进而使与该第一终端连接的每个第二终端在通信过程中都可以一一对应的获知彼此之间的连接关系,如获知与其他终端是通过同一个或多个终端连接,并获取彼此的服务信息,进而实现多终端在动态的,多样的复杂局域网络上的所有终端间的服务信息的同步。且唯一标识以哈希值的形式进行传输和保存,字节少,便于传输。
25.在上述第二方面的一种可能的实现中,本技术预设协议的基本格式包括对终端的动作和动作所针对的对象的类型的定义。终端基于协议动作的定义使每个终端都能够读取对方的意图进而选择直接交互数据,或者通过发送服务请求的方式实现双方的数据交互。
26.在上述第二方面的一种可能的实现中,本技术动作所针对的对象的类型包括服务列表特征值、服务列表、服务特征值和服务信息。其中,服务列表特征值和服务特征值用哈希值表示,且该哈希值是终端基于服务列表计算得到。
27.在上述第二方面的一种可能的实现中,本技术动作用于实现本技术网络中的各终端间的数据交换过程,具体包括在各本技术终端之间的握手动作、拿取动作和发送动作。
28.在上述第二方面的一种可能的实现中,本技术第一终端同步的本技术第二终端中存储的服务信息为本技术第二终端允许同步的应用的服务信息,以确保各终端的信息的安全。
29.在上述第二方面的一种可能的实现中,本技术多种不同的通信连接方式包括:蓝牙、wifi、nfc、红外、码分多址、5g、gms和长期演进通信技术中的至少两种。
30.第三方面,本技术提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面本技术的方法。
31.第四方面,本技术提供一种电子设备,该设备包括:
32.存储器,用于存储由设备的一个或多个处理器执行的指令,以及
33.处理器,是设备的处理器之一,用于执行上述第二方面所述的方法。
34.第五方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行第二方面所述的方法。
附图说明
35.图1为本技术一个实施例的多个终端在复杂网络下的信息同步的场景图;
36.图2为本技术一个实施例的手机的结构示意图;
37.图3是本技术一个实施例的手机的软件结构框图;
38.图4a为本技术一个实施例的环形网络拓扑类型示意图;
39.图4b为本技术另一个实施例的星型网络拓扑类型示意图;
40.图5为本技术一个实施例的用于局域网络中终端的服务信息同步方法的流程图;
41.图6为本技术一个实施例的两个终端设备之间的握手过程示意图;
42.图7为本技术一个实施例的终端包含的连接方式的示意图;
43.图8为本技术一个实施例的终端设备数据交互的过程示意图;
44.图9a为本技术一个实施例的游戏场景图;
45.图9b为本技术一个实施例的手机界面操作示意图;
46.图10为本技术一个实施例的手机与局域网络内的终端信息同步的流程图;
47.图11为本技术一个实施例的手机与服务信息变更的终端的服务信息同步的流程图;
48.图12为本技术一个实施例的差分同步的结构示意图;
49.图13为本技术实施例的终端设备的结构示意图;
50.图14为本技术一些实施例的一种设备的框图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
52.可以理解的是,如本文所使用的,术语“模块
””
可以指代或者包括专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。
53.可以理解的是,在本技术各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
54.需要说明的是,本技术中的终端可以是手机、平板电脑、桌上型pc,笔记本电脑、高清电视机、播放器、音箱、电子书等具有通信功能的终端设备。
55.下面将结合附图对本技术的实施例作进一步地详细描述。
56.图1示出了多个终端在复杂网络下的信息同步的场景图。参考图1,该场景中包括电视101,平板电脑102、手机103,手表104、音箱105、电子书106、轻量电子设备107和笔记本电脑108。这些终端之间采用了多种不同的连接状态,包括wifi连接、蓝牙连接、 nfc连接。举例来说,对于wifi连接,电视101可以与平板电脑102、电脑108、手机103 之间通过无线路由器进行无线网络连接;对于蓝牙连接,手机103与手表104和音箱之间可以为蓝牙连接,电视101与电子书106可以为蓝牙连接,轻量电子设备107可以分别与电视101和笔记本电脑108蓝牙连接;对于nfc连接音箱105与电子书106可以为nfc连接。并且,各个设备采用的操作系统也不尽相同。其中,电视101采用鸿蒙操作系统(harmonyoperating system,hmos)和情感化操作系统(emotion user interface,emui),平板电脑103和手机103采用emui系统,手表104、音箱105和电子书106采用hmos 1.0系统,轻量电子设备为无系统设备,笔记本电脑108采用window 10系统。这些终端在连接的过程中,也可以为其他的连接方式,例如,光纤、红外、gms、cdma、lte或5g等。
57.在上述的多个终端组成的局域网络中,由于每个终端所使用的系统及各终端上运行的软件种类和数量不同,连接的方式不同,甚至在该局域网络中可能会有新增加的终端等,因而该网络是动态的、多样的、复杂的。
58.在这样的复杂网络的场景下,如果需要在该局域网络内的利用多个终端协同完成一个活动项目,如完成一项游戏时,需要使得各个终端可以随时查询各终端之间具有哪些服务信息,并调用响应的设备协同完成游戏的一个动作,例如,由手机运行并控制游戏、电视显示主要游戏画面、手表记录游戏的时间或者发出震动提示,由音箱播放游戏的音效等。
59.本技术通过在每个终端中建立服务信息管理功能,通过该服务信息管理功能来管理本地和/或远程的终端中的所有服务信息,且各终端在通过服务管理功能进行服务信息同步时均采用统一的预设协议进行通信,以实现每个终端都存储有所述局域网络内所有终端的服务信息。
60.相对地,现有技术的服务信息的同步过程,所有服务注册到固定的中心节点上,通过中心节点实施服务的管理,对每个终端的服务信息进行查询和同步,而对于上述复杂的、动态的局域网络,并不具备固定不变的中心节点,有些终端并没有与中心节点连接,就不能查询和同步。此外现有技术的另一种服方式为通过点对点的连接方式进行服务信息的查询和同步,该方式查询到的结果不能在其他终端上共享。因而,这两种服务信息的同步方法并不适于本技术描述的动态的、复杂的局域网络中各终端的服务信息的同步。
61.利用本技术的技术方案,即便是对于上述复杂的网络环境中,用户可以根据自身的实际需要将自己拥有的终端设备通过多种连接方式连接,以完成自己需要完成的一个活动项目,提高用户的体验。
62.需要说明的是,本技术的各终端同步的服务信息为各终端允许同步的应用的服务信息。当终端的服务信息设置权限不允许访问或信息同步时,其他终端将无法同步该服务信息。
63.下面以手机作为终端设为例,对终端设备的结构及服务信息同步过程进行描述,图2 示出了手机的结构示意图。参考图2,手机100可以包括天线1,天线2,处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,移动通信模块150,无线通信模块160,传感器模块180,按键190,摄像头193,显示屏194。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器 180k,环境光传感器180l,骨传导传感器180m等。
64.可以理解的是,本技术实施例示意的结构并不构成对手机100的具体限定。在本技术另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
65.处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
66.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
67.在本技术的一个实施例中,处理器110可以通过设置的存储器来存储用于实施根
据本技术的服务信息的同步方法的指令。在该指令被执行后,该手机100可以将在局域网络中的其他终端的服务信息同步到本地,并将自身的服务信息发送给其他终端,以实现在局域网络中,每一个终端都存储有所有终端的服务信息。
68.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160 中的蓝牙模块通信,实现蓝牙功能。
69.在一些实施例中,在同一个局域网内,手机100的无线通信模块160中的蓝牙模块与其他的终端的蓝牙模块实现点对点的通信方式,且手机100与其他终端均采用统一的预设协议,且根据该预设协议,所述局域网络内的所述多个终端各自具有符合预设格式的唯一标识,手机100可以直接从与其直接连接的终端中获取该终端存储的自身的和其他终端的服务信息,且该手机100可以将自身的服务信息发送给与其直接连接的终端,从而实现手机100与其连接的终端之间的服务信息同步。
70.手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块 160,调制解调处理器以及基带处理器等实现。
71.天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
72.移动通信模块150可以提供应用在手机100上的包括2g/3g/4g/5g等无线通信的解决方案。
73.无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequencymodulation,fm),近距离无线通信技术(near field communication,nfc),红外技术 (infrared,ir)等无线通信的解决方案。
74.在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术并采用统一的预设协议与局域网络中的其他终端通信。
75.其中,无线通信技术还可以包括全球移动通讯系统(global system for mobilecommunications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband codedivision multiple access,wcdma),时分码分多址(time-division code divisionmultiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan, nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioningsystem,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi
-ꢀ
zenith satellite system,qzss)和/或星基增强系统(satellite based augmentationsystems,sbas)。
76.手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或
云架构。本技术实施例以分层架构的android系统为例,示例性说明手机100的软件结构。
77.图3是本技术实施例的手机100的软件结构框图。
78.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
79.应用程序层可以包括一系列应用程序包。
80.如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
81.应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
82.如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器以及服务信息管理模块等。
83.服务信息管理模块为手机100提供信息服务管理功能,管理手机100自身的服务信息和与其他终端同步后的其他终端的服务信息,通过服务信息管理模块手机100可以拥有与其处于同一局域网络内的其他终端实现服务信息的同步,便于手机100获知其他终端具有哪些应用或功能,进而根据需要调用各终端与其服务信息对应的应用。例如,手机100与音箱通过蓝牙连接,手机100的服务信息管理功能通过蓝牙模块与该音箱进行服务信息同步,并将服务信息存储在本地,当用户在玩游戏时,手机100通过查询本地所存储的服务信息,获知该音箱具有播放音频功能,并启动该音箱的播放功能,以通过音箱对游戏的音效进行外放。
84.需要说明的是,服务信息管理模块也可以设置在系统库,在此并不作为限定。
85.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
86.下面以具体的实施例来介绍用于局域网络中终端的服务信息同步方法。
87.图4a和4b示出了根据本技术的实施例的局域网络的架构图。该局域网络的架构图具体可以包括,如图4a所示的环形网络拓扑类型,如图4b所示的星型网络拓扑类型,以及如图4a和4b结合的拓扑类型等。且在该局局域网络内的各终端a至d所拥有的系统和服务功能也各不相同,进而形成动态的、多样的、复杂的局域网络。其中,终端a至d经由多种不同的通信连接方式连接。多种不同的通信连接方式可以包括蓝牙、wifi、nfc、红外、码分多址、5g、gms和长期演进通信技术中的至少两种。具体地说,上述网络可以是一由手机、电视和手表组成的局域网络中,手机、电视和手表均采用同一个通信协议,其中,手机与电视通过中介端连接,如通过路由器连接,手机与手表通过蓝牙点对点连接。该局域网络中还可以加入新的终端。下面结合图4a中的网络架构来说明应用于该局域网络中的多个终端的服务信息的同步方法。图5示出了用于局域网络中终端的服务信息同步方法的流程图。如图5所示,该方法包括:
88.步骤s510至步骤s513,经由多种不同的通信连接方式连接的多个终端,使用统一的预设协议进行终端之间的服务信息同步。其中,在步骤s510,终端a与终端b建立连接,例如wifi的连接。在步骤s511,终端a与终端c建立连接,例如wifi连接。在步骤s512,终端c与终端d建立连接,例如蓝牙连接。在步骤s513,终端b与终端d建立连接,例如蓝牙连接。如此,
99.其中,协议头可以通过6个字节表示,如下表4所示。
100.表2协议头定义
[0101][0102]
其中,表2中的字母dsis为device service information synchronous设备服务信息同步的缩写,在设备通信过程中,具有该标识的消息用以表示服务信息同步的请求消息或应答消息。需要说明的是,该协议头还可以是其他的数字或字母,在此并不作为限定。
[0103]
表1中的协议基本格式中的动作的定义可以通过一个字节表示,其中具体的定义详见表3。
[0104]
表3动作定义
[0105]
取值说明0握手1get2put保留 [0106]
表3中所示的握手用0表示,get用1表示,put用2表示。作为一个示例性的场景,终端a想要获取终端b的服务信息,首先握手建立连接,之后终端a发一个get请求给终端b,get请求指明所需要获取的对象类型,终端b响应该请求后将与请求中对象类型对应的数据发送(put)给终端a。根据本技术的一个实施例,关于动作中握手、get、和put协议的具体定义如表4-表6所示。
[0107]
表4握手协议定义
[0108]
协议头动作对象类型数量6byte000
[0109]
在两个终端设备通信之前,通过握手协议确定两个设备的连接关系。如图6所示,两个终端设备之间的握手过程示意图,设备601向设备602发送握手请求数据,设备602响应该握手数据并建立连接。
[0110]
如终端要实施get动作协议定义示例性地如下表5所示。
[0111]
表5get动作协议定义
[0112]
协议头动作对象类型数量对象标识6byte11~2550 [0113]
其中,get的对象标识可以包括设备列表、设备信息、服务列表、服务信息以及对应的特征值。对象标识的具体描述在下面的实施例中具体描述。如终端要实施put动作,协议定义示例性地如下表6所示。
[0114]
表6put动作协议定义
[0115]
协议头动作对象类型数量对象大小对象数据6byte21~2550~655350~65535 [0116]
其中,表6中的对象数据可以包括设备信息结构和服务信息结构数据。其中,设备
服务列表特征值deviceid 服务列表deviceid 服务特征值serviceid 服务信息serviceid [0124]
其中,表8中的设备特征值、设备信息、服务列表特征值和服务列表对应的标识为设备唯一标识“deviceid”,服务特征值以及服务信息标识为服务的唯一标识“serviceid”。也就是说,在get一个服务信息的过程中,首先获得deviceid以确定一个指定的设备,并在改设备的服务列表中找到serviceid对应的服务信息,以实现获取具体的指定设备上的服务信息。其中设备的唯一标识包括基于终端在该网络中与其他的终端通信连接的所有地址的集合,每个终端可以根据哈希算法将自身与其他终端在局域网络中的所有地址的集合计算为4字节的哈希值,在传输过程中,资源占比少,便于传输。
[0125]
参考图7,图7示出了终端包含的连接方式的示意图。如图7所示,终端设备a在局域网络中与终端设备b通过蓝牙连接,与设备c通过wifi连接,对于终端设备a的所有唯一标识包括wifi连接的ip地址、蓝牙连接的地址以及自身固定不变的产品序列号(sn) 和移动设备识别码(international mobile equipment identity,imei),终端设备a将这些唯一标识通过哈希算法计算成4字节的哈希值,如计算后得到ox35fe,将ox35fe作为终端设备a的唯一标识告知其他终端,终端设备b的所有唯一标识包括与设备a连接的蓝牙地址和设备b自身固定不变的产品序列号。终端设备b将其拥有的所有唯一标识通过哈希算法计算得到4字节哈希值,如ox24cc,将ox24cc作为终端设备b的唯一标识告知其他终端。终端设备c的所有唯一标识包括与终端设备a通过wifi连接的ip地址,终端设备c将其拥有的所有唯一标识通过哈希算法计算得到4字节哈希值,如oxad27,将oxad27 作为终端设备c的唯一标识告知其他终端。在多种连接状态下,每个设备拥有唯一的一个标识,便于设备之间获知彼此的地址,同步彼此的服务信息,且采用哈希值的标识方式,仅有几个字节,传输速度快。
[0126]
根据上述预设协议,在动态的、复杂的局域网络内的终端之间可以实现通信过程,并进行服务信息的同步。
[0127]
下面结合图6和图8对设备间数据交互的过程进行描述,图8示出终端设备数据交互的过程示意图,如图8所示,包括终端601和终端602握手后,终端601将发起get请求,以从终端602中获取服务信息。其中,该请求中包括终端601需要的对象类型,例如,设备特征值或设备信息等。且该对象类型标识有对应的设备地址或服务地址。也就是说,终端设备601通过发送请求的方式告知终端602所要获取的对象类型以及该对象类型对应的地址,当终端602收到该请求后,根据该请求中的地址,将与对象类型对应的数据,如设备特征值(基于设备信息计算的哈希值)发送给终端601,601将对象数据存储在本地。且在终端601发送请求时,将自身的服务信息发送给终端602,终端602将获取的服务信息同步至本地。此外,终端602也可以主动将服务信息发送给终端601。
[0128]
在本技术的实施例中,在局域网络中的每一个终端都具有的该服务信息管理功能可以管理自身的以及其他终端的服务信息。其中,服务信息管理功能对服务信息的管理包括对服务信息数据结构的定义,服务信息数据结构的定义进一步可以包括设备信息结构和服务信息结构。每个终端的服务信息管理功能可以将自身的服务信息数据结构通过表9和表10 所示的形式进行管理,其示例性内容可参见表9和表10所示。
和手表904组成的局域网络,其中,手机901与电视902通过wifi连接,音箱903与电视902和手机901通过蓝牙连接,手表904与手机901通过wifi p2p点对点的连接。这些设备均采用上述实施例描述的预设协议进行通信,以实现服务信息的同步。其中,电视902的服务信息中含有大屏显示的功能,音箱903的服务信息中设有外放功能,手机901具有手柄操控功能,手表904具有震动功能。在服务信息同步结束后,用户可以通过手机901查看每个设备上具有的服务信息,并选择对应的功能来完成游戏。如图9b所示的手机界面操作示意图,用户通过手机界面910显示的同步后的终端的名称,用户点选手表,手机界面 920显示手表904具有的震动功能,用户点击该震动功能后,手机901接收用户的指令调取手表的震动功能对应的应用,以开启游戏场景中设置震动的场景。同样,通过该方式手机901开启电视902的大屏显示功能,手机901具有的游戏手柄功能和音箱903的外放功能,通过四个终端协同完成用户指定的游戏。提高用户的体验。
[0139]
下面结合图9a所示场景为例,对手机在多种场景下的与其他终端之间的服务信息同步过程进行描述。
[0140]
场景1,当手机901为新加入局域网络时。参考图10,图10示出了手机与局域网络内的终端信息同步的流程图,具体可以包括:
[0141]
步骤s1001,手机901生成唯一标识。具体地,手机901将自身的与电视连接的ip地址,与音箱903连接的蓝牙地址,与手表904通过wifi p2p连接的地址以及自身的imei 标识综合在一起来计算,得到4字节的哈希值,并以哈希值作为告知其他终端的唯一标识。
[0142]
步骤s1002,判断自身连接到局域网络内的方式,即判断点对点的连接方式或通过中介端wifi连接。当手机901判断接入网络的方式为点对点的连接方式,如图9a所示的场景中,手机901判断出其与音箱903为蓝牙连接和与手表904为wifi p2p连接,执行步骤 s1003,即确定传输通道,并向音箱903和手表904发起服务信息同步。在同步结束后,手机901分别存储有自身、音箱903和手表904的服务信息。
[0143]
当手机901判断连接网络的方式不是点对点连接,则执行步骤1004,继续判断是否为 ip连接,当手机901判断连接网络方式为ip连接,例如,判断与电视902通过wifi连接时,则手机901执行步骤s1005,即广播服务上线并等待被同步。可以由局域网络内的电视 902在接收到手机901的服务上线通知后,主动向手机901发起服务信息同步请求,该服务信息请求中包括电视的唯一标识和自身的服务信息数据,手机901响应该服务信息同步请求,将自身的服务信息发送给电视902,并将电视902的服务信息保存至本地。完成两者的同步过程。
[0144]
此外,若手机判断的连接的网络方式既不是点对点连接也不是ip连接,则执行步骤 s1006,判断为异常连接,同步结束。
[0145]
需要说明的是,步骤s1002和s1004的判断先后顺序也可以调换,在此并不作为限定。
[0146]
场景2,当在局域网络内加入新的终端,网络设备手机901接收到新的终端的广播上线服务,并在确定传输通道后,主动向该新的终端发起服务信息同步,该服务信息中包括手机901生成唯一标识,具体生成方法可参见场景1,在此不在赘述。并在新的设备响应该服务请求后,实现两者的服务信息同步。
[0147]
场景3,当在局域网络内的终端发生服务信息变更时,参考图11,图11示出了手机
与服务信息变更的终端的服务信息同步的流程图。以下步骤以手机为执行主体进行描述具体包括以下步骤:
[0148]
步骤s1101,获取局域网络内的终端列表。
[0149]
步骤s1102,判断终端列表中所有终端的服务信息是否已经同步完成。当判断所有终端的服务信息已经同步完成,执行步骤s1103,同步结束。当判断该终端列表中有终端的服务信息未同步完成,则执行对该终端的变更部分的服务信息进行同步,具体包括:
[0150]
步骤s1104,获取该终端的发生变更的服务信息。
[0151]
步骤s1105,确定与该终端的传输通道,通道的判断可以首先判断连接方式在确认传输通道。
[0152]
步骤s1106,发起服务信息同步,完成信息的同步。当变更的服务信息同步结束后,手机终端可持续的监听在局域网络中的终端设备发生服务信息的变更,以便各终端间的服务信息的及时同步。
[0153]
需要说明的是,在信息同步的过程中,存在大量重复数据,为了减少同步数据量,各终端可采用差分同步法,逐级进行查找,仅同步发生变更的服务信息。下面以手表的服务信息变更为例进行说明。
[0154]
结合图9,参考图12,图12示出了差分同步的结构示意图。如图12所示,包括手机 901和手表904。手机901将其在先存储的手表的变更前服务信息与为存储的变更后的服务信息进行比较。如图12所示首先比较服务信息结构表格,该表格可参考表2所示表格。手机901与手表904采用预设协议进行通信,在通信过程中,手机901首先获取手表904的服务信息结构表格的哈希值ox34d3,将该ox34d3与手表904的变更前的服务信息结构表格的哈希值ox258c进行比较,判断两者是否相同,若不同则说明表格内的信息有变更,则继续依次判断两个设备的服务信息列表的哈希值是否相同,如图12所示的ox79eo和oxoed1 相比,确认服务信息列表的哈希值不同后,在判断该列表中的服务内容的哈希值是否相同,直到找到不同的服务内容,将该服务内容更新至手机901内与手表904对应的服务信息中。
[0155]
需要说明的是,本技术中的其他终端的服务信息的同步过程与手机相同,具体可参考手机的服务信息同步过程,在此不在赘述。
[0156]
此外,本技术的一种终端设备,如图13所示,图13示出了终端设备的结构示意图。该终端设备包括:
[0157]
存储器1301,用于存储由设备的一个或多个处理器执行的指令,以及
[0158]
处理器1302,用于执行上述实施例的服务信息同步方法。
[0159]
本技术还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器运行时,使得处理器执行上述实施例的通信方法。
[0160]
现在参考图13,所示为根据本技术的一个实施例的设备1200的框图。设备1200可以包括耦合到控制器中枢1203的一个或多个处理器1201。对于至少一个实施例,控制器中枢1203经由诸如前端总线(front side bus,fsb)之类的多分支总线、诸如快速通道互连(quick path interconnect,qpi)之类的点对点接口、或者类似的连接1206与处理器 1201进行通信。处理器1201执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢1203包括,但不局限于,图形存储器控制器中枢(graphics memory controllerhub,gmch)(未示出)和输入/输出中枢(input output hub,ioh)(其可以在分开的芯片上)(未示
出),其中gmch包括存储器和图形控制器并与ioh耦合。
[0161]
设备1200还可包括耦合到控制器中枢1203的协处理器1202和存储器1204。或者,存储器和gmch中的一个或两者可以被集成在处理器内(如本技术中所描述的),存储器 1204和协处理器1202直接耦合到处理器1201以及控制器中枢1203,控制器中枢1203与 ioh处于单个芯片中。存储器1204可以是例如动态随机存取存储器(dynamic random accessmemory,dram)、相变存储器(phase change memory,pcm)或这两者的组合。在一个实施例中,协处理器1202是专用处理器,诸如例如高吞吐量mic处理器(many integeratedcore,mic)、网络或通信处理器、压缩引擎、图形处理器、通用图形处理器(general purposecomputing on gpu,gpgpu)、或嵌入式处理器等等。协处理器1202的任选性质用虚线表示在图13中。
[0162]
存储器1204作为计算机可读存储介质,可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。例如,存储器1204可以包括闪存等任何合适的非易失性存储器和/或任何合适的非易失性存储设备,例如一个或多个硬盘驱动器(hard-diskdrive,hdd(s)),一个或多个光盘(compact disc,cd)驱动器,和/或一个或多个数字通用光盘(digital versatile disc,dvd)驱动器。
[0163]
在一个实施例中,设备1200可以进一步包括网络接口(network interfacecontroller,nic)1206。网络接口1206可以包括收发器,用于为设备1200提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口1206可以与设备1200的其他组件集成。网络接口1206可以实现上述实施例中的通信单元的功能。
[0164]
设备1200可以进一步包括输入/输出(input/output,i/o)设备1205。i/o 1205可以包括:用户界面,该设计使得用户能够与设备1200进行交互;外围组件接口的设计使得外围组件也能够与设备1200交互;和/或传感器设计用于确定与设备1200相关的环境条件和/或位置信息。
[0165]
值得注意的是,图13仅是示例性的。即虽然图13中示出了设备1200包括处理器1201、控制器中枢1203、存储器1204等多个器件,但是,在实际的应用中,使用本技术各方法的设备,可以仅包括设备1200各器件中的一部分器件,例如,可以仅包含处理器1201和 nic1206。图13中可选器件的性质用虚线示出。
[0166]
根据本技术的一些实施例,作为计算机可读存储介质的存储器1204上存储有指令,该指令在计算机上执行时使系统1200执行根据上述实施例中的服务信息同步方法,具体可参照上述实施例的方法,在此不再赘述。
[0167]
本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
[0168]
可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,dsp)、微控制器、专用集成电路 (application specific integrated circuit,asic)或微处理器之类的处理器的任何
系统。
[0169]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0170]
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读) 存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器 (例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、光盘只读存储器(compact disc read only memory,cd-roms)、磁光盘、只读存储器 (read only memory,rom)、随机存取存储器(ram)、可擦除可编程只读存储器(erasableprogrammable read only memory,eprom)、电可擦除可编程只读存储器(electricallyerasable programmable read only memory,eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
[0171]
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明书附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0172]
需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本技术所提出的技术问题的关键。此外,为了突出本技术的创新部分,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
[0173]
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0174]
虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献