CN113676504B - 一种低功耗分布式调用方法、设备及装置 - Google Patents
一种低功耗分布式调用方法、设备及装置 Download PDFInfo
- Publication number
- CN113676504B CN113676504B CN202010408409.2A CN202010408409A CN113676504B CN 113676504 B CN113676504 B CN 113676504B CN 202010408409 A CN202010408409 A CN 202010408409A CN 113676504 B CN113676504 B CN 113676504B
- Authority
- CN
- China
- Prior art keywords
- distributed
- calling
- request
- precision threshold
- low
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000007246 mechanism Effects 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 35
- 230000005059 dormancy Effects 0.000 claims description 21
- 230000032683 aging Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 38
- 230000007958 sleep Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000000977 initiatory effect Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 3
- 230000006266 hibernation Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000036578 sleeping time Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例涉及一种低功耗分布式调用方法,方法应用于分布式网络,该网络包括第一设备和至少一个第二设备,包括:第一设备确定分布式调用请求的第一精准度阈值;根据第一精准度阈值确定第一被调用设备;在第一时刻发送分布式调用请求至第一被调用设备。第一被调用设备接收到分布式调用请求,并在最佳时刻执行并得到调用结果,发送调用结果至第一设备。第一设备接收第一被调用设备发送的调用结果并进行缓存;在第二时刻从缓存中调用该调用结果。通过上述方式可以降低网络环境中的调用者和被调用者由于频繁唤醒所造成的功耗问题,同时还可以避免多次重复的分布式调用,进一步降低网络的功耗开销。
Description
技术领域
本申请涉及物联网领域,尤其涉及一种智能设备之间分布式协同互联低功耗调用方法、设备及其装置。
背景技术
随着智能设备不断的进入普通消费者的生活中,智能设备之间的交互也变得越来越多。当某个智能设备需要使用到其它智能设备的某些功能或者某些数据时,智能设备之间将会出现频繁的相互调用。例如,手机通过远程调用的方式调用智能温度计获取某位置的温度信息,又或者手机调用家庭摄像头拍摄一张照片等。对于不同设备之间跨设备的调用、业务执行等,在业界认为是一种“分布式调用”,其涉及到的智能终端也可称为“分布式终端设备”,对应的应用场景也可称为“分布式终端业务场景”。对于存在分布式调用关系的分布式终端设备所在的网络,可称为“分布式终端设备网络”。例如图1所示出的一种分布式终端业务场景,设备A和设备B均可称为分布式终端设备,其中,设备A作为调用者向设备B发起调用业务执行请求,该请求可称为分布式调用请求。设备B作为被调用者在执行完相应操作后,向设备A返回结果或者数据。对于设备A和设备B所处的网络环境,即分布式终端设备网络。
当然相较于图1所示出的分布式终端业务场景中仅有设备A和设备B,随着智能设备越来越多,多个设备之间的互动也变得越来越频繁。分布式终端业务场景逐渐由两个分布式终端设备之间的调用,演变为多个分布式终端设备之间的调用。例如图2示出的,可以包括多个不同的分布式终端设备。对于其中的某一个分布式终端设备而言,将有很大概率处理更多的来自不同分布式终端设备的分布式调用请求。显然图2 中示出的每个分布式终端设备可以是调用者,也可以是被调用者。
可见,对于任意一个分布式终端设备而言,将面临多个调用者发起的分布式调用请求例如图3示出的。随着调用者的不断增加,如图4所示该设备需要处理的分布式调用请求的数量也成倍增长,增长趋势呈现某种线性关系。
目前,分布式调用的方案大致分为两种类型,一种是按需发起型分布式调用,例如图5a所示,调用者主动发起分布式调用,将相对应的请通过分布式终端设备网络发送至被调用者,被调用者按照请求执行相应逻辑,然后根据需求返回结果或者数据;而另一种则是定期发起型分布式调用,例如图5b所示,调用者本身可能并不需要发起分布式调用,而是被调用者定期执行某个业务逻辑,然后将相关的结果或者数据返回至调用者,以便调用者使用。
发明内容
本申请实施例提供了一种低功耗分布式调用方法,通过确定分布式调用请求对应的精准度阈值,并根据精准度阈值确定最佳被调用设备。并根据自身设备的唤醒机制,在最优时刻发送分布式调用请求至被调用设备,并在最佳时刻读取被调用设备反馈的调用结果。可以降低网络环境中的调用者和被调用者由于频繁唤醒所造成的功耗问题。
第一方面,提供了一种低功耗分布式调用设备,设备为分布式网络中的第一设备,分布式网络还包括至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,设备包括:设备主体和低功耗桥接模块;其中,低功耗桥接模块确定分布式调用请求的第一精准度阈值,其中,第一精准度阈值用于约束分布式调用请求;根据第一精准度阈值,确定第一被调用设备,其中,第一被调用设备为至少一个第二设备中的一个设备;在第一时刻通过通信模块发送分布式调用请求至第一被调用设备;在第二时刻通过通信模块接收第一被调用设备发送的调用结果并临时存储至缓存中;设备主体在第三时刻通过向低功耗桥接模块发送分布式调用请求,并获取缓存中存储的调用结果;其中,设备主体和低功耗桥接模块各自具有独立的休眠机制,低功耗桥接模块根据第一被调用设备确定第一时刻和第二时刻;设备主体根据自身的休眠机制,确定第三时刻。
在一个可能的实施方式中,低功耗桥接模块还用于,通过通信模块发送配置信息到至少一个第二设备,以便至少一个第二设备根据配置信息确定第二精准度阈值;通过通信模块接收至少一个第二设备发送的第二精准度阈值;根据至少一个第二精准度阈值,确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,低功耗桥接模块还用于,根据第一精准度阈值,确定分布式调用请求的初始被调用设备,初始被调用设备为至少一个第二设备中的一个设备;通过通信模块发送初始选择信息至初始被调用设备,初始选择信息用于指示初始被调用设备作为第一被调用设备;通过通信模块接收初始被调用设备发送的反馈信息;根据反馈信息,确定分布式调用请求的第一被调用设备。
在一个可能的实施方式中,若第三时刻位于第一时刻之前,低功耗桥接模块确定缓存中是否存在调用结果;当缓存中存在调用结果,则设备主体在第一时刻直接调用调用结果;当缓存中不存在调用结果,则低功耗桥接模块确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,低功耗桥接模块还用于确定调用结果是否满足第一精准度阈值;当调用结果满足第一精准度阈值,则设备主体在第一时刻直接调用所述调用结果;当调用结果不满足第一精准度阈值,则低功耗桥接模块确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,低功耗桥接模块还用于,根据调用结果,确定分布式调用请求的第三精准度阈值以及第二被调用设备。
在一个可能的实施方式中,设备还包括:显示模块,用于当用户准备执行分布式调用请求时,显示提示消息,提示消息用于指示是否选择低功耗模式执行分布式调用请求;低功耗桥接模块还用于,若用户选择低功耗模式执行分布式调用请求,则确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
第二方面,提供了一种低功耗分布式调用设备,其特征在于,设备为分布式网络中的第二设备,分布式网络包括第一设备和至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,设备包括:设备主体和低功耗桥接模块;其中,低功耗桥接模块,用于通过通信模块接收第一设备发送的分布式调用请求并临时存储至缓存中;在第一时刻向设备主体发送分布式调用请求;设备主体,用于根据分布式调用请求的第一精准度阈值确定调用结果;低功耗桥接模块还用于,通过通信模块将调用结果发送至第一设备;其中,设备主体和低功耗桥接模块各自具有独立的休眠机制,低功耗桥接模块根据设备主体的休眠机制,确定第一时刻。
在一个可能的实施方式中,低功耗桥接模块还用于,通过通信模块接收第一设备发送的配置信息,其中,配置信息包括分布式调用请求和第一精准度阈值的阈值范围;根据分布式调用请求,确定第二设备允许被第一设备调用;根据第一精准度阈值的阈值范围,确定第二精准度阈值;通过通信模块将第二精准度阈值发送至第一设备,以便第一设备根据第二精准度阈值确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,低功耗桥接模块还用于,通过通信模块接收第一设备发送的初始选择信息,初始选择信息用于指示第二设备作为第一被调用设备;根据自身设备的特征信息,确定反馈信息,反馈信息用于表示第二设备是否同意作为第一被调用设备;通过通信模块发送反馈信息至第一设备。
在一个可能的实施方式中,分布式网络还包括第三设备,其中,第三设备为分布式网络中的一个设备,第三设备为分布式网络中除第一设备、第二设备以外的一个设备;在第一时刻之前,低功耗桥接模块通过通信模块接收第三设备发送的分布式调用请求;若第三设备发送的分布式调用请求与第一设备发送的分布式调用请求的类型相同,则将第三设备发送的分布式调用请求与第一设备发送的分布式调用请求进行合并。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
第三方面,提供了一种低功耗分布式调用方法,方法应用于分布式网络中的第一设备,分布式网络还包括至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,方法包括:确定分布式调用请求的第一精准度阈值,其中,第一精准度阈值用于约束分布式调用请求;根据第一精准度阈值,确定第一被调用设备,其中,第一被调用设备为至少一个第二设备中的一个设备;在第一时刻发送分布式调用请求至第一被调用设备;在第二时刻接收第一被调用设备发送的调用结果并临时存储至缓存中;在第三时刻获取缓存中存储的调用结果;其中,第一设备具有独立的休眠机制,第一设备根据第一被调用设备确定第一时刻和第二时刻,以及根据自身设备的休眠机制确定第三时刻。
在一个可能的实施方式中,确定分布式调用请求的第一精准度阈值包括:发送配置信息到至少一个第二设备,以便至少一个第二设备根据配置信息确定第二精准度阈值;接收至少一个第二设备发送的第二精准度阈值;根据至少一个第二精准度阈值,确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,确定第一被调用设备包括:根据第一精准度阈值,确定分布式调用请求的初始被调用设备,初始被调用设备为至少一个第二设备中的一个设备;发送初始选择信息至初始被调用设备,初始选择信息用于指示初始被调用设备作为第一被调用设备;接收初始被调用设备发送的反馈信息;根据反馈信息,确定分布式调用请求的第一被调用设备。
在一个可能的实施方式中,方法还包括:若第三时刻位于第一时刻之前,确定缓存中是否存在调用结果;当缓存中存在调用结果,则在第一时刻直接调用调用结果;当缓存中不存在调用结果,则确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,当缓存中存在调用结果,则在第一时刻直接调用调用结果,还包括:确定调用结果是否满足第一精准度阈值;当调用结果满足第一精准度阈值,则在第一时刻直接调用调用结果;当调用结果不满足第一精准度阈值,则确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,方法还包括:根据调用结果,确定分布式调用请求的第三精准度阈值以及第二被调用设备。
在一个可能的实施方式中,在确定分布式调用请求的第一精准度阈值之前,方法还包括:当用户准备执行分布式调用请求时,显示提示消息,提示消息用于指示是否选择低功耗模式执行分布式调用请求;若用户选择低功耗模式执行分布式调用请求,则确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
第四方面,提供了一种低功耗分布式调用方法,方法应用于分布式网络中的第二设备,分布式网络包括第一设备和至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,方法包括:接收第一设备发送的分布式调用请求并临时存储至缓存中;在第一时刻根据分布式调用请求的第一精准度阈值确定调用结果;将调用结果发送至第一设备;其中,第二设备具有独立的休眠机制,第二设备根据自身设备的休眠机制,确定第一时刻。
在一个可能的实施方式中,方法还包括:接收第一设备发送的配置信息,其中,配置信息包括分布式调用请求和第一精准度阈值的阈值范围;根据分布式调用请求,确定第二设备允许被第一设备调用;根据第一精准度阈值的阈值范围,第二精准度阈值;将第二精准度阈值发送至第一设备,以便第一设备根据第二精准度阈值确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,方法还包括:接收第一设备发送的初始选择信息,初始选择信息用于指示第二设备作为第一被调用设备;根据自身设备的特征信息,确定反馈信息,反馈信息用于表示第二设备是否同意作为第一被调用设备;发送反馈信息至第一设备。
在一个可能的实施方式中,分布式网络还包括第三设备,其中,第三设备为分布式网络中的一个设备,第三设备为分布式网络中除第一设备、第二设备以外的一个设备;方法还包括:在第一时刻之前,接收第三设备发送的分布式调用请求;若第三设备发送的分布式调用请求与第一设备发送的分布式调用请求的类型相同,则将第三设备发送的分布式调用请求与第一设备发送的分布式调用请求进行合并。
在一个可能的实施方式中,第一精准度阈值和第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
第五方面,提供了一种低功耗分布式调用装置,装置包括:处理器,用于与存储器耦合,以及读取并执行存储器中的指令;当处理器运行时执行指令,使得处理器还用于执行第三方面或第四方面任意方法。
第六方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行第三方面或第四方面任意一项的方法。
第七方面,提供了一种包含指令的计算机程序设备,当其在终端上运行时,使得终端执行第三方面或第四方面中的任一项的方法。
本申请公开了一种低功耗分布式调用方法及装置,通过确定分布式调用请求对应的精准度阈值,并根据精准度阈值确定最佳被调用设备。结合自身设备的唤醒机制,在最优时刻发送分布式调用请求至被调用设备。被调用设备可以根据自身设备的唤醒机制,在最佳时刻执行分布式调用,并发送调用结果至调用设备。调用设备可以将调用结果进行缓存,以便在最佳时刻读取反馈的调用结果。通过上述方式可以降低网络环境中的调用者和被调用者由于频繁唤醒所造成的功耗问题,同时还可以避免多次重复的分布式调用,进一步降低网络的功耗开销。
附图说明
图1为一种分布式终端业务场景示意图;
图2为另一种分布式终端业务场景示意图;
图3为一种智能设备分布式调用示意图;
图4为一种分布式调用增长趋势示意图;
图5a为一种分布式调用示意图;
图5b为另一种分布式调用示意图;
图6a为本申请实施例提供的一种按需发起型分布式调用示意图;
图6b为本申请实施例提供的另一种按需发起型分布式调用示意图;
图6c为本申请实施例提供的又一种按需发起型分布式调用示意图;
图7为本申请实施例提供的一种按需发起型分布式调用被调用设备状态示意图;
图8为本申请实施例提供的一种分布式调用数量、功耗开销与分布式终端设备关系示意图;
图9为本申请实施例提供的再一种按需发起型分布式调用示意图;
图10为本申请实施例提供的一种低功耗分布式调用方法流程图;
图11为本申请实施例提供的一种低功耗分布式调用架构示意图;
图12为本申请实施例提供的另一种低功耗分布式调用架构示意图;
图13a为本申请实施例提供的一种分布式终端示意图;
图13b为本申请实施例提供的另一种分布式终端示意图;
图14为本申请实施例提供的一种精准度阈值协商示意图;
图15为本申请实施例提供的一种被调用设备协商示意图;
图16a为本申请实施例提供的一种定期发起型分布式调用示意图;
图16b为本申请实施例提供的另一种定期发起型分布式调用示意图;
图17为本申请实施例提供的一种低功耗分布式调用时序示意图;
图18为本申请实施例提供的另一种低功耗分布式调用时序示意图;
图19为本申请实施例提供的又一种低功耗分布式调用时序示意图;
图20为本申请实施例提供的一种低功耗分布式调用的功耗开销示意图;
图21为本申请实施例提供的一种低功耗分布式调用设备示意图;
图22为本申请实施例提供的另一种低功耗分布式调用设备示意图;
图23为本申请实施例提供的一种低功耗分布式调用装置示意图;
图24为本申请实施例提供的另一种低功耗分布式调用装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请主要应用在分布式终端业务场景。在该场景下,具有至少两个分布式终端设备,其中至少一个分布式终端设备作为调用设备,用于发起分布式调用请求,调用设备也可称为“调用者”;以及至少一个分布式终端设备作为被调用设备,用于执行调用者发布的分布式调用请求,并将调用结果反馈至调用者,被调用设备也可称为“被调用者”。可以理解的是,对于某个分布式终端设备而言,调用者以及被调用者的身份可以随时进行转换,例如当设备A调用设备B时,设备A为调用者、设备B为被调用者;当设备B反过来调用设备A时,此时设备B为调用者、设备A为被调用者。本申请中涉及到的“调用者”和“调用设备”为同一含义,可以相互使用;以及“被调用者”和“被调用设备”为同一含义,可以相互使用。
在本申请涉及的分布式终端业务场景中,分布式调用并不改变分布式终端设备上长期的程序逻辑。例如,可以是调用者通过分布式调用请求获取分布式数据,如获取温度数据、光线数据等传感器数据。在该场景下,由于并没有更改被调用者的数据以及程序逻辑,显然对后续的分布式调用请求也不会产生任何影响。
本申请涉及的另一个分布式终端业务场景中,还可以不影响分布式终端设备后续功能的执行,或是形成影响但是分布式终端设备可以容忍。例如调用者通过分布式调用请求完成分布式临时单点功能,如被调用者为摄像头,分布式调用请求为拍摄一张当前摄像头覆盖范围内的照片。显然,若拍一张照片并不会影响后续摄像头的使用,同时拍摄的照片虽然占用了摄像头的存储容量,但是由于被占用的空间不会对摄像头造成影响,则是被允许的(或是可容忍的)。
在本申请涉及的又一个分布式终端业务场景中,还可以在分布式调用请求所返回的调用结果在满足预设的阈值范围内,可以允许调用者接受该调用结果。例如,通过分布式调用请求同步各个分布式终端设备的设备状态,若分布式调用请求要求T1时刻的设备状态,但实际调用者接收到的是被调用者T2时刻的状态,若T1和T2满足预先设置的阈值范围,则调用者可以认为反馈的结果满足要求。又或是,调用者在T1时刻发布分布式请求并获得调用结果,在T2时刻再次发布相同的分布式请求,此时若调用结果再T2时刻仍然处于有效期时,调用者可以认为T1时刻反馈的结果满足要求。
在一些方案中,采用了按需发起型分布式调用技术。例如远程过程调用(remoteprocedure call,RPC)的方案,其主要是通过调用者在需要调用远程终端设备的能力时,向被调用者发起一个调用请求。该请求例如可以是如图6a示出的通过函数调用的形式进行发送。假设设备A为调用者,设备B为被调用者。当设备A中的程序A需要调用设备B中程序B的能力时,程序A采用分布式函数调用,通过分布式函数调用框架或桩等形式对分布式调用请求进行封装。然后通过某种网络协议发送至设备B。当设备B接收到分布式调用请求后,采用与设备A相同的分布式函数调用框架或桩等形式将调用请求进行解封装。并通过程序B执行某个具体的分布式函数。当该分布式调用具有返回值时,则采用相同的分布式函数调用框架或桩等形式对返回值进行封装,并通过上述网络协议进行传输。对于设备A则仍然采用相同的分布式函数调用框架或桩等形式对返回值进行解封装。
当然还可以采用某种分布式协议代替图6a中的分布式调用函数。例如图6b示出的,假设设备A为调用者,设备B为被调用者。当设备A中的程序A需要调用设备B中程序B的能力时,程序A采用某种分布式协议对分布式调用请求进行封装。然后通过某种网络协议发送至设备B。当设备B接收到分布式调用请求后,采用与设备A相同的分布式协议将调用请求进行解析。并通过程序B执行某个具体的功能操作。当该分布式调用具有返回值时,则采用相同的分布式协议对返回值进行封装,并通过上述网络协议进行传输。对于设备A则仍然采用相同的分布式协议对返回值进行解封装。
可以看出,按需发起型分布式调用的技术方案是根据调用者按照程序的需求发起分布式调用请求。例如图6c示出的,当调用者准备发起分布式调用请求时,可以通过某种函数框架或者协议对该分布式调用请求进行封装,并传输至被调用者进行调用。此时调用者可以等待或者处理其它任务。对于被调用者则进行资源和任务调度并执行该分布式调用请求。最后选择返回结果或者不返回结果。显然,分布式调用请求的触发方式是通过调用者主动发起,而被调用者则需要“被动”执行。并且相关操作步骤都需要调用者和被调用者“在线”执行,即当被调用者处于休眠状态则需要立即唤醒该设备。
但是,上述方案的调用者在发起分布式调用请求时,并不清楚被调用者的设备状态。例如图7示出的上半部分示意出了被调用设备随着时间所处的各个状态。可以看出被调用设备大部分时间处于深度休眠状态,当该设备根据自身设备的需求需要调度时,则在相应的时刻从深度休眠的状态唤醒为应用运行状态,此时系统也进行运行。当调度完成后,设备处于一段时间的空闲状态,然后再次进行入深度休眠状态,以保证较低的功耗。但是如图7下半部分示出的,当被调用设备在深度休眠状态下被调用时,如圆圈所圈出的在深度休眠状态下被调用设备被调用,则被调用设备需要立即唤醒并执行相应的分布式调用请求。
可以看出调用者会立即发起分布式调用请求至被调用者,对于被调用者若处于低功耗待机或深度休眠等类似状态时,需要立即唤醒并处理该分布式调用请求。显然对于被调用者来讲,实时性是不可预知的,被动唤醒导致功耗线性增加。同时,系统运行以及空闲状态的功耗开销也被放大,深度休眠等机制被严重干扰,导致对功耗开销有很大影响。例如图8左半部分示出的,当分布式终端设备增多时,分布式调用请求也会增加。导致相互的分布式调用将会频繁的拉起被调用设备,如图8右半部分示出的,会使得被调用设备整体运行的功耗呈现线性增加。
同时由于该方式的调用者与被调用者之间并没有进行协商确认,因此对于不同的调用者发起重复的分布式调用时,重复的分布式调用请求均会被传输至被调用者,并被重复执行。例如图9示出的,例如设备A和设备B可以均为调用者,设备C为被调用者。当设备A和设备B同时向设备C发起相同的分布式调用请求时,设备C会根据接收到的分布式调用请求执行两次,并将相同的结果返回给设备A和设备B。显然上述方式将导致重复的资源开销和功耗开销。
上述方案对于设备低功耗业务的功耗开销有着明显的影响。对于电池消耗的消费产品则是非常严重的问题。
本申请通过调用设备确定分布式调用请求对应的精准度阈值,并根据精准度阈值确定最佳被调用设备。结合自身设备的唤醒机制,在最优时刻发送分布式调用请求至被调用设备。被调用设备可以根据自身设备的唤醒机制,在最佳时刻执行分布式调用,并发送调用结果至调用设备。通过上述方式可以降低网络环境中的被调用者由于频繁唤醒所造成的功耗问题,同时还可以避免多次重复的分布式调用,进一步降低网络的功耗开销。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
图10为本申请实施例提供的一种低功耗分布式调用方法流程图。
如图10所示,本申请提供了一种低功耗分布式调用方法,该方法应用于分布式网络,该分布式网络中包括多个分布式终端设备,例如第一设备和至少一个第二设备。其中,第一设备可以是调用设备(也称“调用者”),第二设备可以是被调用设备(也称“被调用者”),该方法可以包括以下步骤:
S1001,调用设备确定分布式调用请求的第一精准度阈值。
在一个实施例中,针对分布式网络中的分布式终端设备,对于调用者而言在设备原有的基础上,增加低功耗桥接模块。使得原本调用者直接发送至被调用者的分布式调用请求,不再直发送至被调用者,而是先发送至调用者内的低功耗桥接模块。对于被调用者而言,也需要增加一个低功耗桥接模块,以便接收分布式调用请求。
调用者通过自身设备的低功耗桥接模块确定分布式调用请求所携带的精准度阈值。可以理解的是,调用者可以预先确定所有准备发起的分布式调用请求的精准度阈值,以便在发送分布式调用请求至被调用者的低功耗桥接模块时,可以携带有该分布式调用请求的精准度阈值。
例如图11示出的一种低功耗分布式调用架构示意图,由图11中可以看出,调用者包括通用处理单元和低功耗处理单元;被调用者同样也包括通用处理单元和低功耗处理单元。通用处理单元上运行设备本体,而低功耗处理单元上运行低功耗桥接模块。调用者的低功耗处理单元与被调用者的低功耗处理单元之间通过物理网络设备进行连接通信。其中,通用处理单元主要用于运行普通的程序,若是调用者的通用处理单元,则运行的程序可以是用于发起分布式调用请求的主体;若是被调用者的通用处理单元,则运行的程序可以是用于执行分布式调用请求的目标程序或者功能模块。在一个例子中,通用处理单元一般由通用中央处理器(central processing unit,CPU)构成。当然在其它例子中,通用处理单元还可以是应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器和/或神经网络处理器(neural-networkprocessing unit,NPU)等任意等效的处理器。低功耗处理单元主要用于运行上述提到的低功耗桥接模块,在一个例子中,可以是由微控制单元(microcontroller unit,MCU)构成。当然在其它例子中,低功耗处理单元也可以采用上述其它任意等效的处理器。对于一些特定的分布式终端设备而言,其通用处理单元与低功耗处理单元可以集成在一起,或是属于同一个物理器件。例如通用处理单元与低功耗处理单元可以由通用CPU构成或MCU构成。在调用者的低功耗处理单元与被调用者的低功耗处理单元之间建立连接的物理网络设备为分布式网络所使用的网络设备,主要用于负责连接各个分布式终端设备,以保障各个分布式终端设备之间可以相互进行通信并发起分布式调用请求。
应当注意的是,本申请中处理单元上运行设备本体或程序,以及低功耗处理单元上运行低功耗桥接模块具有独立的休眠机制。并且低功耗桥接模块在休眠时,若接收到分布式调用请求或者调用结果,则会立即唤醒。
对于调用者、被调用者新增的低功耗桥接模块,该模块独立运行在低功耗处理单元上,并具有独立的休眠等低功耗运行机制。低功耗桥接模块在启动以及运行过程中,主要负责分布式网络中各个分布式终端设备所需要的分布式协商,例如精准度阈值的协商以及确定被调用者的协商等。同时还可以负责发起分布式调用请求以及接收分布式调用请求。例如图12所示出的,可以看出,调用者通过低功耗处理单元上运行的低功耗桥接模块发起分布式调用请求,并且经过网络设备发送至被调用者。被调用者通过低功耗处理单元上运行的低功耗桥接模块接收分布式调用请求,然后经通用处理单元上运行的程序执行后,通过低功耗桥接模块将结果进行反馈。
调用者可以通过自身的低功耗桥接模块,针对可能发起的分布式调用请求进行分析,并针对每个分布式调用请求通过调用者与被调用者之间进行协商,从而确定分布式调用请求的精准度阈值,例如第一精准度阈值。在一个例子中,分布式终端设备可以在加入分布式网络或者在运行过程中,新增低功耗分布式协商模块。可以理解的是,该低功耗分布式协商模块运行在低功耗处理单元上。例如图13a示出的,通用处理单元上运行着常规程序,低功耗处理单元上运行着低功耗桥接模块和低功耗分布式协商模块。当然在另一个例子中,低功耗分布式协商模块可以和低功耗桥接模块合并为同一个模块进行部署,合并后的模块可以仍然称为低功耗桥接模块。例如图13b示出的,通用处理单元上运行着常规程序,低功耗处理单元上运行着低功耗桥接模块。
在一个例子中,精准度阈值可以包括分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息、分布式调用请求的结果阈值信息。当然在其它例子中,还可以包括任何可能需要的阈值信息,本申请在此不作限定。
例如图14示出的一种精准度阈值协商示意图。首先调用者针对自身设备可能发起的分布式调用请求,确定该分布式调用请求的配置信息。配置信息可以是包括该分布式调用请求,以及该分布式调用请求相关的第一精准度阈值的精准度阈值范围需求。如图14中的a,调用者将配置信息经过网络设备发送至所有可能的被调用者,如图中调用者针对每个可能的被调用者均执行a步骤。每个可能的被调用者在接收到配置信息后,可以执行b步骤,即根据被调用者自身设备的情况,确定是否可以作为被调用者执行分布式调用请求。此时将会出现两种情况,即被调用者确定自身设备无法作为被调用者执行分布式调用请求,以及被调用者确定自身设备可以作为被调用者执行分布式调用请求。情况一,若该可能的被调用者确定自身设备无法作为被调用者执行分布式调用请求,则执行c步骤,发送第一反馈信息,第一反馈信息用于告知该可能的被调用者无法执行分布式调用请求的信息。在一个例子中,第一反馈信息也可以是包括用于告知该可能的被调用者无法成为被调用者的信息。情况二,若该可能的被调用者确定自身设备可以作为被调用者执行分布式调用请求,则执行c步骤,发送第二精准度阈值至调用者。其中,第二精准度阈值为可能的被调用者根据第一精准度阈值的精准度阈值范围需求确定的精准度阈值初始值。调用者接收到多个可能的被调用者反馈的第二配置信息后,可以执行d步骤,即结合自身设备的实际情况,确定该分布式调用请求最终的精准度阈值,即第一精准度阈值。可以理解的是,由于第一精准度阈值的确定参考了多个第二精准度阈值,因此第一精准度阈值的范围与任意一个第二精准度阈值的范围均会存在交集。
在另一个例子中,当调用者确定第一精准度阈值后,可以将第一精准度阈值发送给所有可能的被调用者,即图14中的e步骤。当可能的被调用者接收到第一精准度阈值后,可以执行f步骤,即被调用者将接收到的第一精准度阈值进行保存。以便之后被调用者再次接收到该分布式调用请求时,根据第一精准度阈值进行相应计算并得到调用结果。
在另一个实施例中,在执行S1001之前,当用户准备执行分布式调用请求时,可以在调用设备上显示提示信息,该提示信息用于指示是否选择低功耗模式执行该分布式调用请求。调用设备接收指示信息,该指示信息为用户通过调用设备选择是否采用低功耗模式执行该分布式调用请求。当用户选择低功耗模式执行该分布式调用请求时,则执行S1001。
S1002,根据第一精准度阈值,确定被调用设备。
调用者根据第一精准度阈值,从所有可能的被调用者中选择其中一个作为第一被调用设备,即被调用者。
调用者可以根据第一精准度阈值,从所有可能的被调用者中选择其中一个作为该分布式调用请求的初始被调用设备。可以理解的是,初始被调用设备为调用者根据各个被调用者反馈的信息以及整个网络的低功耗业务特性进行综合分析,从所有可能的被调用者中选择其中一个最合适的被调用者。然后,调用者将初始选择信息发送至初始被调用设备上,其中初始选择信息用于指示该初始被调用设备被作为被调用设备。当初始被调用设备接收到初始选择信息后,根据自身设备上运行业务的业务特征等信息,确定自身是否适合作为被调用者,并发送第二反馈信息至调用者。可以理解的是,若初始被调用设备确定自身设备可以作为被调用者,则第二反馈信息用于告知调用者该初始被调用设备允许作为被调用者。若初始被调用设备确定自身设备并不适合作为被调用者,则第二反馈信息用于告知调用者该初始被调用设备不适合作为被调用者。在另一个例子中,若该初始被调用设备上存储有其它设备的设备信息,还可以根据其它设备的设备信息,给出被调用者的选择建议,并将选择建议添加至第二反馈信息中,然后将包含选择建议的第二反馈信息发送至调用者。调用者接收到初始被调用设备发送的第二反馈信息后,根据第二反馈信息,确定第一被调用设备。该第一被调用设备为调用者确定的最终的最合适的被调用者。可以理解的是,当第二反馈信息告知调用者该初始被调用设备允许作为被调用者,则将初始被调用设备作为第一被调用设备;当第二反馈信息告知调用者该初始被调用设备不适合作为被调用者,则调用者可以根据第二反馈信息以及第一精准度阈值,从其余的可能的被调用者中再次选择一个最适合的被调用者,并重复上述过程。直至选择出该分布式调用请求的第一被调用设备为止。
在一个例子中,可以例如图15示出的一种被调用设备协商示意图。由图15可以看出,首先调用者会根据第一精准度阈值,从多个可能的被调用者中选择一个作为初始被调用设备。然后执行g步骤,发送初始选择信息至初始被调用设备。初始被调用设备在接收到初始选择信息后,可以执行h步骤,根据自身设备的业务特征决定是否允许自身设备作为第一被调用设备。然后执行i步骤,将第二反馈信息发送至调用者。可以理解的是,若初始被调用设备确定自身设备可以作为被调用者,则第二反馈信息可以包括于告知调用者该初始被调用设备允许作为被调用者的信息;若初始被调用设备确定自身设备并不适合作为被调用者,则第二反馈信息可以包括于告知调用者该初始被调用设备不适合作为被调用者的信息。当然在其它例子中,当初始被调用设备上存储有其它设备的设备信息,则第二反馈信息还可以包括选择建议信息,例如建议调用者选择某个更为合适的被调用者。调用者接收到第二反馈信息后,可以执行j步骤,若初始被调用设备确定自身设备可以作为被调用者,则调用者可以根据第二反馈信息选择该初始被调用设备作为该分布式调用请求的最佳的执行实体。可选的,j步骤之后还可以执行k步骤,用于同步将初始被调用设备作为第一被调用设备的信息。当初始被调用设备接收到该信息后,可以执行m步骤,用于记录该信息。在另一个例子中,若j步骤中,初始被调用设备确定自身设备并不适合作为被调用者,则调用者可以重复上述g步骤至i步骤,直至选择出该分布式调用请求的第一被调用设备为止。
通过上述协商过程,调用者根据各个被调用者的设备能力以及整个网络低功耗的业务特征,确定一个分布式调用请求的执行实体,从而保证了该分布式调用请求执行时可以满足整个网络的低功耗需求。
S1003,在最佳时刻发送分布式调用请求至被调用设备。
调用者在第一时刻将分布式调用请求发送至第一被调用设备上。可以理解的是,第一时刻为调用者根据该第一被调用设备确定的发送分布式调用请求的一个最佳时刻。其中该第一时刻为调用者认为被调用者适合执行分布式调用请求的最佳时刻。
S1004,被调用设备接收调用设备发送的分布式调用请求并临时存储至缓存中。
被调用者接收到调用者发送的分布式调用请求,并将该分布式调用请求临时存储至缓存中。
可以理解的是,由于第一时刻是调用者认为的最佳时刻,而实际上在被调用者接收到分布式调用请求时,并不一定处于运行状态,当处于休眠等低功耗状态时,可以先将分布式调用请求临时存储至缓存中,以便在合适的时刻再执行该分布式调用请求。
S1005,被调用设备根据自身设备的唤醒机制,在最佳时刻执行分布式调用请求。
被调用者根据自身设备的唤醒机制,在最佳时刻被唤醒并执行S1004中缓存的分布式调用请求。
在一个例子中,若在执行分布式调用请求之前,缓存有多个同类的分布式调用请求。则被调用者可以根据自身设备的情况,将多个同类的分布式调用请求进行合并执行,以减少重复执行所带来的资源消耗。
S1006,根据分布式调用请求所携带的第一精准度阈值确定调用结果。
被调用者根据分布式调用请求中携带的第一精准度阈值,确定此次分布式调用请求的调用结果。
S1007,将调用结果发送至调用设备,调用设备接收并进行缓存。
被调用者将调用结果在合适的时刻发送至调用者。可以理解的是,被调用者可以在得到调用结果后立即发送至调用者,也可以根据自身的唤醒机制、调用者设备的设备状态以及可能存在的其它业务的执行情况,选择最佳时刻发送调用结果至调用者。
在一个例子中,若该调用结果为多个同类的分布式调用请求合并执行后的调用结果,则被调用者需要将该调用结果分别发送至多个同类的分布式调用请求的调用者设备上。
在一个例子中,调用者在第二时刻接收被调用者发送的调用结果,并将该调用结果临时存储至缓存中。可以理解的是,调用者在接收到调用结果时,调用者的设备主体并不一定立即调用该调用结果,因此,调用者可以将调用结果临时存储至缓存中,以便在调用者的设备主体有需要时进行调用。
S1008,调用设备根据自身设备的唤醒机制,在最佳时刻从缓存中调用调用结果。
在一些方案中,通过采用定期发起型分布式调用技术。例如图16a示出的,例如设备A为调用者,设备B为被调用者。其主要通过设备A发起分布式调用请求,该请求中可以包括执行的业务功能、执行周期、返回内容等等信息。当该请求被传输至设备B时,设备B则可以按照请求中的执行周期,定期的执行相应内容,并将结果或数据反馈至设备A。当然还可以例如图16b示出的,例如设备A为调用者,设备B为被调用者。设备A无需发送分布式调用请求,设备B可以按照自身设备的机制调用执行某个功能,并将结果或数据返回给调用者。当然设备B也可以不返回结果或数据。该方案一定程度的减少了分布式调用对休眠等低功耗等措施带来的干扰和影响。
但是在此类方案中,被调用者反馈的结果对于调用者来讲也存在影响,由于被调用者并不清楚调用者某个时刻的设备状态和任务执行情况。因此被调用者定期返回结果或者数据给调用者时,有很大可能会影响到调用者的休眠机制或其它低功耗措施,使得影响调用者的功耗开销。
因此本申请的调用设备可以根据自身设备的唤醒机制,在第三时刻从缓存中调用接收到的调用结果。可以理解的是,第三时刻为调用者根据自身设备的唤醒机制,选择调用该调用结果的一个最佳时刻。从而保障了被调用者的返回信息符合调用者的运行周期,并减少返回结果对调用者的干扰和影响。
在一个例子中,在S1003中,若调用设备在准备发送分布式调用请求的第一时刻确定设备的缓存中缓存有调用结果,则调用设备可以在第一时刻直接从缓存中调用该调用结果。若在第一时刻确定设备的缓存中不存在调用结果,则执行S1003。当然在另一个例子中,若在第一时刻确定设备的缓存中缓存有调用结果后,还可以确定该调用结果是否仍在精准度阈值范围内。若该调用结果满足精准度阈值的范围,则调用设备可以直接从缓存中调用该调用结果,从而无需再发送分布式调用请求至被调用者,进一步减少了对被调用者的干扰。当然,若该调用结果不满足精准度阈值的范围,则执行S1003。
在又一个例子中,当调用者接收并调用完调用结果后,调用者还可以根据调用结果重新确定下一次执行该分布式调用请求的精准度阈值,即第三精准度阈值。同时还可以重新确定最合适的被调用者,即第二被调用设备。可以理解的是,若精准度阈值进行了更新,以及确定的被调用者也进行了更新,则调用者可以将更新后的信息发送至新的被调用者,以便新的被调用者将上述信息进行同步更新。
本申请通过确定分布式调用请求对应的精准度阈值,在这个精准度阈值范围内,可以认为调用结果符合调用设备需求。调用设备根据精准度阈值确定最佳的被调用设备。调用设备根据自身设备的唤醒机制,在最优时刻发送分布式调用请求至被调用设备。被调用设备可以根据自身的唤醒机制,在最佳时刻执行分布式调用,并发送调用结果至调用设备。调用设备可以将调用结果进行缓存,以便在最佳时刻读取反馈的调用结果。若调用设备发起分布式调用请求时,已经缓存有调用结果,则可以读取调用结果。通过上述方式,分布式终端设备之间在处理分布式调用的低功耗业务时,可以按照自身设备的业务特征进行唤醒并执行,然后将相关结果发送至调用设备上,以便被调用设备可以进行下电等处理。可以降低网络环境中的调用者和被调用者由于频繁唤醒所造成的功耗问题,同时,由于可以将处理结果反馈给多个调用设备,从而避免了多次重复的分布式调用,进一步降低整个网络的功耗开销。
如图17所示,为本申请实施例提供的一种低功耗分布式调用时序示意图。
图17示出了图10至图15的分布式调用过程。其中,图中黑色粗体线条为各个处理单元运行时间片。可以看出,调用者的通用处理单元上运行的程序以及被调用者的通用处理单元上运行的程序具有周期性,即有固定的运行时间片以及固定的休眠时间片。同时,还可以看出,调用者的运行时间片与被调用者的运行时间片显然是相互独立,可能存在重叠,也可能不存在重叠。因此通过本申请提供的低功耗分布式调用方式,可以解决由于时间片不同步,导致功耗过多开销的问题。
首先,调用者的低功耗处理单元上运行的低功耗桥接模块执行S1701,即判断调用者的通用处理单元上运行的程序可能即将发起的分布式调用请求,以及各个分布式调用请求的发起时机。然后低功耗桥接模块确定各个分布式调用请求的精准度阈值,并执行S1702,将该分布式调用请求以及该请求的精准度阈值发送至被调用者的低功耗桥接模块。其中精准度阈值包括分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息、分布式调用请求的结果阈值信息等任意可能需要的信息。此时调用者的低功耗桥接模块可以进行休眠。被调用者的低功耗桥接模块在接收到上述信息后执行S1703,即判断何时的执行时刻。若无法立即执行该分布式调用请求,则进行休眠。当被调用者的低功耗桥接模块判断可以执行该分布式调用请求时,则进行S1704向被调用者的程序发起该分布式调用请求。被调用者的程序接收到该分布式调用请求后执行S1705,立即执行该分布式调用请求。被调用者的程序执行完该分布式调用请求后执行S1706,将调用结果通过低功耗桥接模块发送至调用者的低功耗桥接模块。当调用者的低功耗桥接模块接收到返回的调用结果后,由于调用者的程序可能正处于休眠状态,则调用者的低功耗桥接模块可以临时存储该调用结果,即S1707。当调用者的程序处于运行状态时,即S1708调用者的程序此时需要用到该分布式调用请求的结果时。调用者的低功耗桥接模块可以将缓存的调用结果发送至调用者的程序,以便后续操作,即S1709。
如图18所示,为本申请实施例提供的另一种低功耗分布式调用时序示意图。
图18示出了图17的另一种可能的情况,当调用者再次发起相同的分布式调用请求时,可以参照图18示出的。其中,S1701至S1709与图17中的步骤相同,为方便描述,在此不再赘述。
在S1709之后,若调用者的程序再次发起相同的分布式调用请求至调用者的低功耗桥接模块,即S1801。调用者的低功耗桥接模块可以执行S1802,即判断缓存的调用结果是否仍在精准度阈值的范围内。若判断为缓存的调用结果仍在精准度阈值的范围内,则可以执行S1803,直接返回调用结果至调用者的程序。当然在其它例子中,若判断为缓存的调用结果不在精准度阈值的范围内,则可以执行S1701至S1709,为方便描述,在此不再赘述。
如图19所示,为本申请实施例提供的又一种低功耗分布式调用时序示意图。
图19示出了图17的又一种可能的情况,当存在多个调用者针对同一个被调用者发起相同类型的分布式调用请求时,可以参照图19示出的。其中,S1701至S1704、S1705至S1706与图17中的步骤相同,为方便描述,在此不再赘述。
显然,若存在另一个调用者,即调用者2也发起与调用者1相同的分布式调用设备,且被调用者相同,则调用者2的低功耗桥接模块可以执行S1901和S1902。其中,S1901和S1902与图17示出的S1701和S1702的步骤相同,为方便描述,在此不再赘述。当被调用者的低功耗桥接模块接收到调用者1和调用者2分别发送的相同类型的分布式调用请求后,可以执行S1903,将相同类型的两个分布式调用请求进行合并,并作为一个分布式调用请求发起调用并执行。当被调用者的低功耗桥接模块接收到返回结果后,根据不同的调用者,分别将调用结果返回给不同的调用者。调用者1的低功耗桥接模块与调用者2的低功耗桥接模块分别执行S1904和S1905,即将返回结果进行缓存。
本申请通过将相同类型的分布式调用请求进行合并处理,减少了重复的调用所导致的额外功耗。
通过图10至图19所示的低功耗分布式调用方法,调用者的程序在处理分布式调用请求的结果,以及被调用者的程序在执行分布式调用请求的功能时,可以按照各自预定的执行周期、运行时间或者休眠机制片进行调度和运行,从而最大可能的减少由于分布式调用所带来的运行唤醒干扰,并降低系统运行功耗。同时将符合精准度阈值同类型分布式调用可以合并,减少被调用者的执行次数,并且只要符合精准度阈值的返回结果可以重复使用,进一步的降低调用者和被调用者以及整个分布式网络的功耗开销。
如图20所示,图20为本申请实施例提供的一种低功耗分布式调用的功耗开销示意图。
通过图20可以看出,当分布式终端设备不断增加时,或者说分布式调用请求的业务总和增加时,功耗开销不再是线性增加,而是缓慢增加。意味着将大幅度降低调用者、被调用者在分布式网络中因为分布式调用被频繁唤醒等问题而影响功耗开销。通过合并相同类型的分布式调用请求,也可以降低总体的分布式调用请求数量,并从源头降低整个分布式网络的功耗开销。将分布式网络中的分布式调用请求对分布式终端设备功耗影响的线性增加幅度减缓为缓慢增加。
图21为本申请实施例提供的一种低功耗分布式调用设备示意图。
如图21所示,本申请提供了一种低功耗分布式调用设备2100,设备2100为分布式网络中的第一设备,分布式网络还包括至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,设备2100包括:设备主体2101和低功耗桥接模块2102;其中,低功耗桥接模块2102确定分布式调用请求的第一精准度阈值,其中,第一精准度阈值用于约束分布式调用请求;根据第一精准度阈值,确定第一被调用设备,其中,第一被调用设备为至少一个第二设备中的一个设备;在第一时刻通过通信模块2103发送分布式调用请求至第一被调用设备;在第二时刻通过通信模块2103接收第一被调用设备发送的调用结果并临时存储至缓存中;设备主体2101在第三时刻通过向低功耗桥接模块2102发送分布式调用请求,并获取缓存中存储的调用结果;其中,设备主体2101和低功耗桥接模块2102各自具有独立的休眠机制,低功耗桥接模块2102根据第一被调用设备确定第一时刻和第二时刻;设备主体2101根据自身的休眠机制,确定第三时刻。
在一个可能的实施方式中,低功耗桥接模块2102还用于,通过通信模块2103发送配置信息到至少一个第二设备,以便至少一个第二设备根据配置信息确定第二精准度阈值;通过通信模块2103接收至少一个第二设备发送的第二精准度阈值;根据至少一个第二精准度阈值,确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,低功耗桥接模块2102还用于,根据第一精准度阈值,确定分布式调用请求的初始被调用设备,初始被调用设备为至少一个第二设备中的一个设备;通过通信模块2103发送初始选择信息至初始被调用设备,初始选择信息用于指示初始被调用设备作为第一被调用设备;通过通信模块2103接收初始被调用设备发送的反馈信息;根据反馈信息,确定分布式调用请求的第一被调用设备。
在一个可能的实施方式中,若第三时刻位于第一时刻之前,低功耗桥接模块2102确定缓存中是否存在调用结果;当缓存中存在调用结果,则设备主体2101在第一时刻直接调用调用结果;当缓存中不存在调用结果,则低功耗桥接模块2102确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,低功耗桥接模块2102还用于确定调用结果是否满足第一精准度阈值;当调用结果满足第一精准度阈值,则设备主体2101在第一时刻直接调用所述调用结果;当调用结果不满足第一精准度阈值,则低功耗桥接模块2102确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,低功耗桥接模块2102还用于,根据调用结果,确定分布式调用请求的第三精准度阈值以及第二被调用设备。
在一个可能的实施方式中,设备2100还包括:显示模块2104,用于当用户准备执行分布式调用请求时,显示提示消息,提示消息用于指示是否选择低功耗模式执行分布式调用请求;低功耗桥接模块2102还用于,若用户选择低功耗模式执行分布式调用请求,则确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
图22为本申请实施例提供的一种低功耗分布式调用设备示意图。
如图22所示,本申请提供了另一种低功耗分布式调用设备2200,设备2200为分布式网络中的第二设备,分布式网络包括第一设备和至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,设备2200包括:设备主体2201和低功耗桥接模块2202;其中,低功耗桥接模块2202通过通信模块2203接收第一设备发送的分布式调用请求并临时存储至缓存中;在第一时刻向设备主体2201发送分布式调用请求;设备主体2201根据分布式调用请求的第一精准度阈值确定调用结果;低功耗桥接模块2202通过通信模块2203将调用结果发送至第一设备;其中,设备主体2201和低功耗桥接模块2202各自具有独立的休眠机制,低功耗桥接模块2202根据设备主体的休眠机制,确定第一时刻。
在一个可能的实施方式中,低功耗桥接模块2202还用于,通过通信模块2203接收第一设备发送的配置信息,其中,配置信息包括分布式调用请求和第一精准度阈值的阈值范围;根据分布式调用请求,确定第二设备允许被第一设备调用;根据第一精准度阈值的阈值范围,确定第二精准度阈值;通过通信模块2203将第二精准度阈值发送至第一设备,以便第一设备根据第二精准度阈值确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,低功耗桥接模块2202还用于,通过通信模块2203接收第一设备发送的初始选择信息,初始选择信息用于指示第二设备作为第一被调用设备;根据自身设备的特征信息,确定反馈信息,反馈信息用于表示第二设备是否同意作为第一被调用设备;通过通信模块发送反馈信息至第一设备。
在一个可能的实施方式中,分布式网络还包括第三设备,其中,第三设备为分布式网络中的一个设备,第三设备为分布式网络中除第一设备、第二设备以外的一个设备;在第一时刻之前,低功耗桥接模块2202通过通信模块2203接收第三设备发送的分布式调用请求;若第三设备发送的分布式调用请求与第一设备发送的分布式调用请求的类型相同,则将第三设备发送的分布式调用请求与第一设备发送的分布式调用请求进行合并。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
图23为本申请实施例提供的一种低功耗分布式调用装置示意图。
如图23所示,提供了一种低功耗分布式调用装置2300,该装置2300可以是分布式网络中的第一设备,分布式网络还包括至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,装置2300可以包括第一处理器2301、存储器2302、发送器2303、接收器2304、显示器2305、第二处理器2306以及总线2307。装置2300中的第一处理器2301、存储器2302、发送器2303、接收器2304、显示器2305和第二处理器2306可以通过总线2307建立通信连接。发送器2303用于发送信息;接收器2304用于接收外部信息。
第一处理器2301可以为CPU、AP、调制解调处理器、GPU、ISP、控制器、视频编解码器、DSP、NPU等任意等效的处理器。第二处理器2306可以是MCU或CPU、AP、调制解调处理器、GPU、ISP、控制器、视频编解码器、DSP、NPU等任意等效的处理器。
在一个例子中第一处理器2301与第二处理器2306可以集成在一起,或是为同一个处理器。
存储器2302可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器2302也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘(harddisk drive,HDD)或固态硬盘(solid state drive,SSD);存储器2302还可以包括上述种类的存储器的组合。
第一处理器2301和第二处理器2306与存储器2302耦合,以及读取并执行存储器2302中的指令;当第一处理器2301和第二处理器2306运行时执行指令,使得第二处理器2306确定分布式调用请求的第一精准度阈值,其中,第一精准度阈值用于约束分布式调用请求;根据第一精准度阈值,确定第一被调用设备,其中,第一被调用设备为至少一个第二设备中的一个设备。
发送器2303在第一时刻发送分布式调用请求至第一被调用设备。
接收器2304在第二时刻接收第一被调用设备发送的调用结果并临时存储至缓存中。
第一处理器2301在第三时刻获取缓存中存储的调用结果。
其中,第一处理器2301和第二处理器2306各自具有独立的休眠机制,第二处理器2306根据第一被调用设备确定第一时刻和第二时刻;第一处理器2301根据自身的休眠机制,确定第三时刻。
在一个可能的实施方式中,发送器2303发送配置信息到至少一个第二设备,以便至少一个第二设备根据第一配置信息确定第二配置信息;接收器2304接收至少一个第二设备发送的第二精准度阈值;第二处理器2306根据至少一个第二精准度阈值,确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,第二处理器2306根据第一精准度阈值,确定分布式调用请求的初始被调用设备,初始被调用设备为至少一个第二设备中的一个设备;发送器2303发送初始选择信息至初始被调用设备,初始选择信息用于指示初始被调用设备作为第一被调用设备;接收器2304还用于,接收初始被调用设备发送的反馈信息;第二处理器2306根据反馈信息,确定分布式调用请求的第一被调用设备。
在一个可能的实施方式中,若第三时刻位于第一时刻之前,第二处理器2306确定缓存中是否存在调用结果;当缓存中存在调用结果,则第一处理器2301在第一时刻直接调用调用结果;当缓存中不存在调用结果,则第二处理器2306确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,第二处理器2306确定调用结果是否满足第一精准度阈值;当调用结果满足第一精准度阈值,则第一处理器2301在第一时刻直接调用所述调用结果;当调用结果不满足第一精准度阈值,则第二处理器2306确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,第二处理器2306根据调用结果,确定分布式调用请求的第三精准度阈值以及第二被调用设备。
在一个可能的实施方式中,显示器2305,可以是液晶显示器(liquid crystaldisplay,LCD)。当然在一些例子中,显示器2305还可以与触摸屏集成为一体。显示器2305用于当用户准备执行分布式调用请求时,显示提示消息,提示消息可以指示是否选择低功耗模式执行分布式调用请求;第二处理器2306若用户选择低功耗模式执行分布式调用请求,则确定分布式调用请求的第一精准度阈值。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
图24为本申请实施例提供的另一种低功耗分布式调用装置示意图。
如图24所示,提供了另一种低功耗分布式调用装置2400,该装置2400可以是分布式网络中的第二设备,分布式网络包括第一设备和至少一个第二设备,其中,第一设备为分布式网络中的一个设备,第二设备为分布式网络中除第一设备以外的其它设备,装置2400可以包括第一处理器2401、存储器2402、发送器2403、接收器2404、第二处理器2405以及总线2406。装置2400中的第一处理器2401、存储器2402、发送器2403、接收器2404和第二处理器2405可以通过总线2406建立通信连接。发送器2403用于发送信息;接收器2404用于接收外部信息。
第一处理器2401可以为CPU、AP、调制解调处理器、GPU、ISP、控制器、视频编解码器、DSP、NPU等任意等效的处理器。第二处理器2405可以是MCU或CPU、AP、调制解调处理器、GPU、ISP、控制器、视频编解码器、DSP、NPU等任意等效的处理器。
在一个例子中第一处理器2301与第二处理器2306可以集成在一起,或是为同一个处理器。
存储器2402可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器2402也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘(harddisk drive,HDD)或固态硬盘(solid state drive,SSD);存储器2402还可以包括上述种类的存储器的组合。
接收器2404接收第一设备发送的分布式调用请求并临时存储至缓存中。
第一处理器2401和第二处理器2405与存储器2402耦合,以及读取并执行存储器2402中的指令;当处理器2401和第二处理器2405运行时执行指令,使得第二处理器2405在第一时刻向第一处理器2401发送分布式调用请求;第一处理器2401用于根据分布式调用请的第一精准度阈值确定调用结果。
发送器2403将调用结果发送至第一设备。
其中,第一处理器2401和第二处理器2405各自具有独立的休眠机制,第二处理器2405根据第一处理器2401的休眠机制,确定第一时刻。
在一个可能的实施方式中,接收器2404接收第一设备发送的配置信息,其中,配置信息包括分布式调用请求和第一精准度阈值的阈值范围;第二处理器2405根据分布式调用请求,确定第二设备允许被第一设备调用;根据第一精准度阈值的阈值范围,确定第二精准度阈值;发送器2403将第二精准度阈值发送至第一设备,以便第一设备根据第二精准度阈值确定第一精准度阈值,其中,第一精准度阈值的范围与任意一个第二精准度阈值的范围存在交集。
在一个可能的实施方式中,接收器2404接收第一设备发送的初始选择信息,初始选择信息用于指示第二设备作为第一被调用设备;第二处理器2405根据自身设备的特征信息,确定反馈信息,反馈信息用于表示第二设备是否同意作为第一被调用设备;发送器2403发送反馈信息至第一设备。
在一个可能的实施方式中,分布式网络还包括第三设备,其中,第三设备为分布式网络中的一个设备,第三设备为分布式网络中除第一设备、第二设备以外的一个设备;在第一时刻之前,接收器2404接收第三设备发送的分布式调用请求;若第三设备发送的分布式调用请求与第一设备发送的分布式调用请求的类型相同,则第二处理器2405将第三设备发送的分布式调用请求与第一设备发送的分布式调用请求进行合并。
在一个可能的实施方式中,第一精准度阈值或第二精准度阈值包括:分布式调用请求的参数阈值信息、分布式调用请求的时效阈值信息和/或分布式调用请求的结果阈值信息。
本申请为调用者和被调用者增加低功耗桥接模块,用于负责接管发起的分布式调用请求和负责接收分布式调用请求。低功耗桥接模块还用于协商分布式调用请求的精准度阈值以及执行该分布式调用请求的实施主体等。在整个分布式网络运行过程中,调用者的低功耗桥接模块会根据协商出来的精准度阈值和执行主体,在恰当的时间点发起分布式调用请求。当被调用者的低功耗模块接收到分布式调用请求后,也会根据被调用者当前的状态,在合适的时机通过唤醒被调用者通用处理单元上的相关程序执行具体的功能,并将结果返回给被调用者的低功耗桥接模块。被调用者的低功耗桥接模块在恰当的时机返回给调用者的低功耗桥接模块。调用者将返回值临时保存下来。当调用者真正需要该分布式调用请求的值时,如果在低功耗桥接模块已经有相应的调用结果后者满足精准度阈值的调用结果,则直接返回给调用者通用处理单元的程序。
本申请通过在适当的时候发起分布式调用请求,可以支撑调用者完全按照自己的休眠等低功耗机制发起分布式调用请求,同时也可支撑被调用者完全按照自己的休眠等低功耗机制对分布式调用请求进行调度优化。解决分布式调用请求对调用者以及被调用者的休眠等低功耗机制的影响。同时将同类的分布式调用请求进行合并处理,从而减少重复的分布式调用,最终降低调用者或者被调用者的功耗开销。当调用结果仍在精准度阈值范围内时,可以直接返回调用结果,从而减少分布式调用次数,进一步降低功耗开销。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (35)
1.一种低功耗分布式调用设备,其特征在于,所述低功耗分布式调用设备为分布式网络中的第一设备,所述分布式网络还包括至少一个第二设备,其中,所述第一设备为所述分布式网络中的一个设备,所述第二设备为所述分布式网络中除所述第一设备以外的其它设备,所述低功耗分布式调用设备包括:设备主体和低功耗桥接模块;
其中,所述低功耗桥接模块确定分布式调用请求的第一精准度阈值,其中,所述第一精准度阈值用于约束所述分布式调用请求;根据所述第一精准度阈值,确定第一被调用设备,其中,所述第一被调用设备为至少一个所述第二设备中的一个设备;在第一时刻通过通信模块发送所述分布式调用请求至所述第一被调用设备;在第二时刻通过所述通信模块接收所述第一被调用设备发送的调用结果并临时存储至缓存中;
所述设备主体在第三时刻通过向所述低功耗桥接模块发送所述分布式调用请求,并获取所述缓存中存储的所述调用结果;
其中,所述设备主体和所述低功耗桥接模块各自具有独立的休眠机制,所述低功耗桥接模块根据所述第一被调用设备确定所述第一时刻和所述第二时刻;所述设备主体根据自身的休眠机制,确定所述第三时刻。
2.如权利要求1所述的设备,其特征在于,所述低功耗桥接模块还用于,通过所述通信模块发送配置信息到至少一个所述第二设备,以便至少一个所述第二设备根据所述配置信息确定第二精准度阈值;通过所述通信模块接收至少一个第二设备发送的所述第二精准度阈值;根据至少一个所述第二精准度阈值,确定所述第一精准度阈值,其中,所述第一精准度阈值的范围与任意一个所述第二精准度阈值的范围存在交集。
3.如权利要求1所述的设备,其特征在于,所述低功耗桥接模块还用于,根据所述第一精准度阈值,确定所述分布式调用请求的初始被调用设备,所述初始被调用设备为至少一个所述第二设备中的一个设备;通过所述通信模块发送初始选择信息至初始被调用设备,所述初始选择信息用于指示所述初始被调用设备作为所述第一被调用设备;通过所述通信模块接收初始被调用设备发送的反馈信息;根据所述反馈信息,确定所述分布式调用请求的第一被调用设备。
4.如权利要求1所述的设备,其特征在于,若所述第三时刻位于所述第一时刻之前,所述低功耗桥接模块确定所述缓存中是否存在所述调用结果;
当所述缓存中存在所述调用结果,则所述设备主体在所述第一时刻直接调用所述调用结果;
当所述缓存中不存在所述调用结果,则所述低功耗桥接模块确定分布式调用请求的所述第一精准度阈值。
5.如权利要求4所述的设备,其特征在于,所述低功耗桥接模块还用于确定所述调用结果是否满足所述第一精准度阈值;
当所述调用结果满足所述第一精准度阈值,则所述设备主体在所述第一时刻直接调用所述调用结果;
当所述调用结果不满足所述第一精准度阈值,则所述低功耗桥接模块确定分布式调用请求的所述第一精准度阈值。
6.如权利要求1所述的设备,其特征在于,所述低功耗桥接模块还用于,根据所述调用结果,确定所述分布式调用请求的第三精准度阈值以及第二被调用设备。
7.如权利要求1所述的设备,其特征在于,所述设备还包括:
显示模块,用于当用户准备执行所述分布式调用请求时,显示提示消息,所述提示消息用于指示是否选择低功耗模式执行所述分布式调用请求;
所述低功耗桥接模块还用于,若所述用户选择低功耗模式执行所述分布式调用请求,则确定分布式调用请求的第一精准度阈值。
8.如权利要求1-7任一所述的设备,其特征在于,所述第一精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
9.如权利要求2所述的设备,其特征在于,所述第二精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
10.一种低功耗分布式调用设备,其特征在于,所述低功耗分布式调用设备为分布式网络中的第二设备,所述分布式网络包括第一设备和至少一个所述第二设备,其中,所述第一设备为所述分布式网络中的一个设备,所述第二设备为所述分布式网络中除所述第一设备以外的其它设备,所述低功耗分布式调用设备包括:设备主体和低功耗桥接模块;
其中,所述低功耗桥接模块通过通信模块接收所述第一设备发送的分布式调用请求并临时存储至缓存中;在第一时刻向所述设备主体发送所述分布式调用请求;
所述设备主体根据所述分布式调用请求的第一精准度阈值确定调用结果;
所述低功耗桥接模块通过所述通信模块将所述调用结果发送至所述第一设备;
其中,所述设备主体和所述低功耗桥接模块各自具有独立的休眠机制,所述低功耗桥接模块根据所述设备主体的休眠机制,确定所述第一时刻。
11.如权利要求10所述的设备,其特征在于,所述低功耗桥接模块还用于,通过所述通信模块接收所述第一设备发送的配置信息,其中,所述配置信息包括所述分布式调用请求和所述第一精准度阈值的阈值范围;根据所述分布式调用请求,确定第二设备允许被所述第一设备调用;根据所述第一精准度阈值的阈值范围,确定第二精准度阈值;通过所述通信模块将所述第二精准度阈值发送至所述第一设备,以便所述第一设备根据所述第二精准度阈值确定所述第一精准度阈值,其中,所述第一精准度阈值的范围与任意一个所述第二精准度阈值的范围存在交集。
12.如权利要求10所述的设备,其特征在于,所述低功耗桥接模块还用于,通过所述通信模块接收所述第一设备发送的初始选择信息,所述初始选择信息用于指示所述第二设备作为第一被调用设备;根据自身设备的特征信息,确定反馈信息,所述反馈信息用于表示所述第二设备是否同意作为所述第一被调用设备;通过所述通信模块发送所述反馈信息至所述第一设备。
13.如权利要求10-12任一所述的设备,其特征在于,所述分布式网络还包括第三设备,其中,所述第三设备为所述分布式网络中的一个设备,所述第三设备为所述分布式网络中除所述第一设备、 第二设备以外的一个设备;
在所述第一时刻之前,所述低功耗桥接模块通过通信模块接收所述第三设备发送的分布式调用请求;
若所述第三设备发送的分布式调用请求与所述第一设备发送的分布式调用请求的类型相同,则将所述第三设备发送的分布式调用请求与所述第一设备发送的分布式调用请求进行合并。
14.如权利要求10-12任一所述的设备,其特征在于,所述第一精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
15.如权利要求13所述的设备,其特征在于,所述第一精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
16.如权利要求11所述的设备,其特征在于,所述第二精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
17.一种低功耗分布式调用方法,其特征在于,所述方法应用于分布式网络中的第一设备,所述分布式网络还包括至少一个第二设备,其中,所述第一设备为所述分布式网络中的一个设备,所述第二设备为所述分布式网络中除所述第一设备以外的其它设备,所述方法包括:
确定分布式调用请求的第一精准度阈值,其中,所述第一精准度阈值用于约束所述分布式调用请求;
根据所述第一精准度阈值,确定第一被调用设备,其中,所述第一被调用设备为至少一个所述第二设备中的一个设备;
在第一时刻发送所述分布式调用请求至所述第一被调用设备;
在第二时刻接收所述第一被调用设备发送的调用结果并临时存储至缓存中;
在第三时刻获取所述缓存中存储的所述调用结果;
其中,第一设备具有独立的休眠机制,所述第一设备根据所述第一被调用设备确定所述第一时刻和所述第二时刻,以及根据自身设备的休眠机制确定所述第三时刻。
18.如权利要求17所述的方法,其特征在于,所述确定分布式调用请求的第一精准度阈值包括:
发送配置信息到至少一个所述第二设备,以便至少一个所述第二设备根据所述配置信息确定第二精准度阈值;
接收至少一个第二设备发送的所述第二精准度阈值;
根据至少一个所述第二精准度阈值,确定所述第一精准度阈值,其中,所述第一精准度阈值的范围与任意一个所述第二精准度阈值的范围存在交集。
19.如权利要求17所述的方法,其特征在于,所述确定第一被调用设备包括:
根据所述第一精准度阈值,确定所述分布式调用请求的初始被调用设备,所述初始被调用设备为至少一个所述第二设备中的一个设备;
发送初始选择信息至初始被调用设备,所述初始选择信息用于指示所述初始被调用设备作为所述第一被调用设备;
接收初始被调用设备发送的反馈信息;
根据所述反馈信息,确定所述分布式调用请求的第一被调用设备。
20.如权利要求17所述的方法,其特征在于,所述方法还包括:
若所述第三时刻位于所述第一时刻之前,确定所述缓存中是否存在所述调用结果;
当所述缓存中存在所述调用结果,则在所述第一时刻直接调用所述调用结果;
当所述缓存中不存在所述调用结果,则确定所述分布式调用请求的所述第一精准度阈值。
21.如权利要求20所述的方法,其特征在于,所述当所述缓存中存在所述调用结果,则在所述第一时刻直接调用所述调用结果,还包括:
确定所述调用结果是否满足所述第一精准度阈值;
当所述调用结果满足所述第一精准度阈值,则在所述第一时刻直接调用所述调用结果;
当所述调用结果不满足所述第一精准度阈值,则确定所述分布式调用请求的所述第一精准度阈值。
22.如权利要求17所述的方法,其特征在于,所述方法还包括:
根据所述调用结果,确定所述分布式调用请求的第三精准度阈值以及第二被调用设备。
23.如权利要求17所述的方法,其特征在于,在确定分布式调用请求的第一精准度阈值之前,所述方法还包括:
当用户准备执行所述分布式调用请求时,显示提示消息,所述提示消息用于指示是否选择低功耗模式执行所述分布式调用请求;
若所述用户选择低功耗模式执行所述分布式调用请求,则确定分布式调用请求的第一精准度阈值。
24.如权利要求17-23任一所述的方法,其特征在于,所述第一精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
25.如权利要求18所述的方法,其特征在于,所述第二精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
26.一种低功耗分布式调用方法,其特征在于,所述方法应用于分布式网络中的第二设备,所述分布式网络包括第一设备和至少一个所述第二设备,其中,所述第一设备为所述分布式网络中的一个设备,所述第二设备为所述分布式网络中除所述第一设备以外的其它设备,所述方法包括:
接收所述第一设备发送的分布式调用请求并临时存储至缓存中;
在第一时刻根据所述分布式调用请求的第一精准度阈值确定调用结果;
将所述调用结果发送至所述第一设备;
其中,所述第二设备具有独立的休眠机制,所述第二设备根据自身设备的休眠机制,确定所述第一时刻。
27.如权利要求26所述的方法,其特征在于,所述方法还包括:
接收所述第一设备发送的配置信息,其中,所述配置信息包括所述分布式调用请求和所述第一精准度阈值的阈值范围;
根据所述分布式调用请求,确定第二设备允许被所述第一设备调用;
根据所述第一精准度阈值的阈值范围,确定第二精准度阈值;
将所述第二精准度阈值发送至所述第一设备,以便所述第一设备根据所述第二精准度阈值确定所述第一精准度阈值,其中,所述第一精准度阈值的范围与任意一个所述第二精准度阈值的范围存在交集。
28.如权利要求26所述的方法,其特征在于,所述方法还包括:
接收所述第一设备发送的初始选择信息,所述初始选择信息用于指示所述第二设备作为第一被调用设备;
根据自身设备的特征信息,确定反馈信息,所述反馈信息用于表示所述第二设备是否同意作为所述第一被调用设备;
发送所述反馈信息至所述第一设备。
29.如权利要求26-28任一所述的方法,其特征在于,所述分布式网络还包括第三设备,其中,所述第三设备为所述分布式网络中的一个设备,所述第三设备为所述分布式网络中除所述第一设备.第二设备以外的一个设备;所述方法还包括:
在所述第一时刻之前,接收所述第三设备发送的分布式调用请求;
若所述第三设备发送的分布式调用请求与所述第一设备发送的分布式调用请求的类型相同,则将所述第三设备发送的分布式调用请求与所述第一设备发送的分布式调用请求进行合并。
30.如权利要求26-28任一所述的方法,其特征在于,所述第一精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
31.如权利要求29所述的方法,其特征在于,所述第一精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
32.如权利要求27所述的方法,其特征在于,所述第二精准度阈值包括:所述分布式调用请求的参数阈值信息、 所述分布式调用请求的时效阈值信息和/或所述分布式调用请求的结果阈值信息。
33.一种低功耗分布式调用装置,其特征在于,所述装置包括:
处理器,用于与存储器耦合,以及读取并执行所述存储器中的指令;
当所述处理器运行时执行所述指令,使得所述处理器还用于执行权利要求17-25或26-32任一所述方法。
34.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求17-25或26-32任意一项所述的方法。
35.一种包含指令的计算机程序设备,当其在终端上运行时,使得所述终端执行如权利要求17-25或26-32中的任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408409.2A CN113676504B (zh) | 2020-05-14 | 2020-05-14 | 一种低功耗分布式调用方法、设备及装置 |
PCT/CN2021/080814 WO2021227642A1 (zh) | 2020-05-14 | 2021-03-15 | 一种低功耗分布式调用方法、设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408409.2A CN113676504B (zh) | 2020-05-14 | 2020-05-14 | 一种低功耗分布式调用方法、设备及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676504A CN113676504A (zh) | 2021-11-19 |
CN113676504B true CN113676504B (zh) | 2022-12-27 |
Family
ID=78526402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010408409.2A Active CN113676504B (zh) | 2020-05-14 | 2020-05-14 | 一种低功耗分布式调用方法、设备及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113676504B (zh) |
WO (1) | WO2021227642A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225505B (zh) * | 2022-07-14 | 2024-01-30 | 南京邮电大学 | 一种物联网应用功能配置结构 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681137A (zh) * | 2014-11-20 | 2016-06-15 | 北京海尔广科数字技术有限公司 | 用于服务调用的方法和设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262498B (zh) * | 2008-04-22 | 2011-01-05 | 华为技术有限公司 | 一种分布式调用消息的方法和装置 |
CN101325604B (zh) * | 2008-07-21 | 2011-06-08 | 重庆邮电大学 | 一种分布式自适应工业无线网络节能方法 |
US8966463B2 (en) * | 2011-11-29 | 2015-02-24 | Microsoft Technology Licensing, Llc | Eliminating redundant function calls |
CN103327585B (zh) * | 2013-05-27 | 2018-04-13 | 努比亚技术有限公司 | 通信终端及其通信方法 |
EP3571880A4 (en) * | 2017-01-19 | 2020-08-05 | Nokia Technologies Oy | ENERGY SAVING FOR WIRELESS DEVICE |
CN107580018A (zh) * | 2017-07-28 | 2018-01-12 | 北京北信源软件股份有限公司 | 一种分布式系统的跟踪方法与装置 |
CN108628674A (zh) * | 2018-05-11 | 2018-10-09 | 深圳市零度智控科技有限公司 | 基于云平台的任务调度方法、云平台及计算机存储介质 |
CN108710309A (zh) * | 2018-05-29 | 2018-10-26 | 深圳市零度智控科技有限公司 | 智能家居控制方法、装置及计算机可读存储介质 |
-
2020
- 2020-05-14 CN CN202010408409.2A patent/CN113676504B/zh active Active
-
2021
- 2021-03-15 WO PCT/CN2021/080814 patent/WO2021227642A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681137A (zh) * | 2014-11-20 | 2016-06-15 | 北京海尔广科数字技术有限公司 | 用于服务调用的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113676504A (zh) | 2021-11-19 |
WO2021227642A1 (zh) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112492564B (zh) | 系统切换方法和装置、电子设备、可读存储介质 | |
AU2019256257B2 (en) | Processor core scheduling method and apparatus, terminal, and storage medium | |
US20120020577A1 (en) | System and method for efficient unified messaging system support for speech-to-text service | |
WO2016078053A1 (zh) | 任务处理装置、智能设备、任务处理方法及基带处理器 | |
CN108768763A (zh) | 心跳信息发送方法及装置 | |
US11593166B2 (en) | User presence prediction driven device management | |
CN113676504B (zh) | 一种低功耗分布式调用方法、设备及装置 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN104919425A (zh) | 用于设备至云消息传送的系统和方法 | |
CN114237896A (zh) | 分布式节点资源动态调度方法及装置 | |
CN111813529B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN106911784B (zh) | 一种执行异步事件的方法和装置 | |
KR20200032253A (ko) | 부트-업 동안 서비스의 스케줄링을 관리하기 위한 방법 및 장치 | |
US9037888B2 (en) | Multi-core processor system, electrical power control method, and computer product for migrating process from one core to another | |
CN114816031B (zh) | 终端设备的省电方法、终端设备及介质 | |
CN114745564B (zh) | 服务调度方法及装置 | |
WO2022089384A1 (zh) | 数据同步方法及装置 | |
US20200076938A1 (en) | Method and system for managing accessory application of accessory device by companion device | |
CN114816744A (zh) | 内存管控方法、装置、存储介质及电子设备 | |
CN114024878A (zh) | 数据传输方法、装置、介质和设备 | |
US20160099997A1 (en) | Method and system for managing application data in a communication device | |
CN113260030A (zh) | 终端设备、网络侧设备和通信方法 | |
CN113098960A (zh) | 服务运行方法、装置、服务器及存储介质 | |
CN112416641A (zh) | 主从架构中被控端节点重启检测方法及主控端节点 | |
CN111597092B (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 |