CN110673918B - 智能设备的控制方法、装置以及智能设备、存储介质 - Google Patents
智能设备的控制方法、装置以及智能设备、存储介质 Download PDFInfo
- Publication number
- CN110673918B CN110673918B CN201910923817.9A CN201910923817A CN110673918B CN 110673918 B CN110673918 B CN 110673918B CN 201910923817 A CN201910923817 A CN 201910923817A CN 110673918 B CN110673918 B CN 110673918B
- Authority
- CN
- China
- Prior art keywords
- service
- page
- proxy
- proxy object
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种智能设备的控制方法、装置以及智能设备、存储介质,涉及数据处理技术领域,该方法包括:接收执行指定业务的指令;根据所述指令执行所述指定业务的业务逻辑,在执行所述业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染所述页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文;将所述代理对象的信息通过所述全局上下文中的跨线程通信方法发送给页面服务管理器,并基于所述页面服务管理器调用注册的与所述代理对象的信息对应的服务对象渲染所述页面。该方式可以实现业务逻辑和页面的跨线程信息交互,且可以通过业务逻辑驱动页面。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种智能设备的控制方法、装置以及智能设备、存储介质。
背景技术
随着人工智能的发展,智能机器人被广泛应用在社会生活中的各个领域,如:银行的智能办公柜台、医院的智能导诊机器人、商场的导购机器人等,通过智能机器人的应用,使得人们的生活更加便利。
现有的智能机器人的数据调用大多是采用MVP模式(Model-View-Presentermode,MVP mode),其中,Model提供数据,View负责显示,Presenter负责逻辑的处理,通过Presenter层实现Model业务层和View页面层的数据交互,然而,MVP模式并不适用于机器人多业务逻辑和页面的数据交互,业务逻辑和页面不能进行有效的通信。
发明内容
本申请实施例提供一种智能设备的控制方法、装置以及智能设备、存储介质,用以解决现有技术中智能设备的业务逻辑无法直接驱动页面的问题。
第一方面本申请实施例提供一种智能设备的控制方法,所述方法包括:
接收执行指定业务的指令;
根据所述指令执行所述指定业务的业务逻辑,在执行所述业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染所述页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文;
将所述代理对象的信息通过所述全局上下文中的跨线程通信方法发送给页面服务管理器,并基于所述页面服务管理器调用注册的与所述代理对象的信息对应的服务对象渲染所述页面。
可选的,所述指定业务的指令为通过非界面交互方式触发的。
可选的,所述根据全局上下文,获取用于渲染所述页面的代理对象的信息,包括:
从全局上下文中获取用于渲染所述页面的代理对象的获取方法;
根据所述获取方法,获取所述代理对象的信息。
可选的,获取所述代理对象的信息,包括:
在业务服务管理器中获取代理对象的信息;
所述方法还包括:
基于待注册页面服务的实例创建服务对象;
从所述全局上下文中获取注册服务对象的方法;
利用所述注册服务对象的方法在页面服务管理器注册服务对象;
获取注册的服务对象的信息;
基于获取的服务对象的信息在业务服务管理器中注册代理对象。
可选的,基于获取的服务对象的信息在业务服务管理器中注册代理对象,包括:
根据服务对象的信息创建代理服务;
根据所述代理服务生成代理对象;
将代理对象注册到业务服务管理器。
可选的,所述方法还包括:
注销指定服务对象时,通过相应的上下文从全局上下文中获取所述指定服务对象的注销方法;其中,指定服务对象为页面服务时相应的上下文为页面上下文,指定代理对象为业务逻辑的服务时相应的上下文为业务上下文;
基于获取的注销方法在对应的服务管理器中注册所述指定服务对象;
在指定服务对象对应的代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
可选的,在注册有所述指定服务对象对应的代理对象的服务管理器中注销所述指定服务对象对应的代理对象,包括:
将注销的服务对象的信息发送给所述代理对象所在的服务管理器,以使所述代理对象所在的服务管理器通过Handler通知相应的线程注销代理对象;
响应于所述代理对象所在的服务管理器通过Handler通知相应的线程的操作,在所述代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
可选的,基于待注册页面服务的实例创建服务对象之前,所述方法还包括:
确定业务逻辑调用的页面,将该页面中的服务确定为所述待注册页面服务;
将所述业务逻辑和被调用的待注册页面服务建立绑定关系;
所述基于获取的服务对象的信息在业务服务管理器中注册代理对象之后,所述方法还包括:
将代理对象注册完成的消息通知给绑定的业务逻辑。
第二方面本申请实施例提供一种智能设备的控制装置,所述装置包括:
接收模块,用于接收执行指定业务的指令;
执行模块,用于根据所述指令执行所述指定业务的业务逻辑,在执行所述业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染所述页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文;
发送模块,用于将所述代理对象的信息通过所述全局上下文中的跨线程通信方法发送给页面服务管理器,并基于所述页面服务管理器调用注册的与所述代理对象的信息对应的服务对象渲染所述页面。
可选的,所述指定业务的指令为通过非界面交互方式触发的。
可选的,所述执行模块,具体用于:从全局上下文中获取用于渲染所述页面的代理对象的获取方法;根据所述获取方法,获取所述代理对象的信息。
可选的,所述执行模块,具体用于:在业务服务管理器中获取代理对象的信息;
所述装置,还包括:
注册模块,用于基于待注册页面服务的实例创建服务对象;从所述全局上下文中获取注册服务对象的方法;利用所述注册服务对象的方法在页面服务管理器注册服务对象;获取注册的服务对象的信息;基于获取的服务对象的信息在业务服务管理器中注册代理对象。
可选的,所述注册模块,具体用于:根据服务对象的信息创建代理服务;根据所述代理服务生成代理对象;将代理对象注册到业务服务管理器。
可选的,所述装置还包括:
注销模块,用于注销指定服务对象时,通过相应的上下文从全局上下文中获取所述指定服务对象的注销方法;其中,指定服务对象为页面服务时相应的上下文为页面上下文,指定代理对象为业务逻辑的服务时相应的上下文为业务上下文;基于获取的注销方法在对应的服务管理器中注册所述指定服务对象;在指定服务对象对应的代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
可选的,所述注销模块,具体用于:将注销的服务对象的信息发送给所述代理对象所在的服务管理器,以使所述代理对象所在的服务管理器通过Handler通知相应的线程注销代理对象;响应于所述代理对象所在的服务管理器通过Handler通知相应的线程的操作,在所述代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
可选的,所述注册模块基于待注册页面服务的实例创建服务对象之前,还用于:确定业务逻辑调用的页面,将该页面中的服务确定为所述待注册页面服务;将所述业务逻辑和被调用的待注册页面服务建立绑定关系;
所述注册模块基于获取的服务对象的信息在业务服务管理器中注册代理对象之后,还用于:将代理对象注册完成的消息通知给绑定的业务逻辑。
第三方面,本发明实施例还提供一种智能设备,包括:
存储器以及处理器;
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序第一方面任一项所述的智能设备的控制方法。
第四方面,本发明实施例还提供一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的任一智能设备的控制方法。
本申请实施例提供的一种智能设备的控制方法、装置以及智能设备、存储介质,该方式可以实现业务逻辑和页面的跨线程信息交互,且可以通过业务逻辑驱动页面。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种智能设备的控制方法的流程示意图;
图2为本申请实施例提供的渲染页面的时序图;
图3为本申请实施例提供的向页面服务管理模块注册代理对象的流程示意图;
图4为本申请实施例提供的向页面服务管理模块注册代理对象的时序图;
图5为本申请实施例提供的向页面服务管理模块注销对象流程示意图;
图6为本申请实施例提供的向页面服务管理模块注销对象的时序图;
图7为本申请实施例提供的一种智能设备的控制装置的结构示意图;
图8为本申请实施例提供的智能设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
现有技术中,智能设备在启动后,通常是用户通过在页面操作后不断地调用后台的业务逻辑,其中,智能设备是具有数据处理能力的设备,包括但不限于:机器人、银行办理信用卡业务的超级柜台等。如:在银行办理信用卡业务的超级柜台,当在超级柜台的初始界面输入用户的身份信息,点击确认后,初始界面则跳转至选卡界面。现有技术通常是通过页面驱动后台的业务逻辑实现页面的跳转的,故而通过驱动不同的页面完成相应的业务。
然而,上述智能设备的控制方法受限于必须首先具备页面,必须由页面驱动整个业务的进行,而单纯页面交互的方式驱动业务在很多使用场景下受限,而由于业务逻辑和页面之间难于通信,基于此本申请提供一种智能设备控制方法。
为便于理解,这里先对本公开涉及的一些关键词进行说明,需要说明的是,这里关键词的定义仅是用于举例说明其可能包含的含义,并不用于限定本公开实施例,涉及的关键词可包括:
全局上下文:即WholeContext,贯穿整个应用中,相当于业务逻辑和页面之间进行交互的桥梁,在本申请中全局上下文中包括:代理对象的获取方法、页面和业务逻辑相互调用的方法、页面和业务逻辑之间注销的方法等,且为了适应以后的扩展需求,全局上下文中还可包括存储有系统资源,以及定义的其他各种抽象的方法,如包括:获取系统服务,发送广播等。
页面上下文:即FragmentContext,每个页面对应一个页面上下文,其中,页面上下文中保存有页面的信息以及全局上下文的句柄信息,以便于页面调用系统资源以及间接实现和业务逻辑间的交互。
业务上下文:即ModuleContext,每个业务逻辑对应一个业务上下文,其中,业务上下文中保存有业务逻辑的信息以及全局上下文的句柄信息,以便于业务逻辑调用系统资源以及间接实现和页面间的交互。
活动上下文:即ActivityContext,用以截获用户基于页面的点击事件并在Activity中启动页面。
参阅图1,本申请实施例提供一种智能设备的控制方法,该方法具体包括:
步骤101:接收执行指定业务的指令。
在一个实施例中,所述指定业务的指令可以但不限于为通过非界面交互方式触发的。
例如,执行指定业务的指令可通过语音触发、通过采集人体肢体动作信息触发、通过捕获人体眼球转动信息触发等。以语音触发指令为例进行说明,如:对银行办理信用卡业务的超级柜台,用户只需对着超级柜台说出我要办理信用卡,即可触发超级柜台办理信用卡的业务。在此不做具体限定,通过非界面交互的方式触发业务指令的方式均适用于本申请。
步骤102:根据指令执行指定业务的业务逻辑,在执行业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文。
在一个实施例中,业务逻辑在辅线程进行代理对象的调用,页面在主线程进行代理对象的调用,由于业务逻辑与页面不在同一线程因此无法直接调用对方提供的功能及对方的相关信息,本申请中,页面和业务逻辑之间借助全局上下文这个桥梁实现两者间的通信。
在一个实施中,根据全局上下文,获取用于渲染所述页面的代理对象的信息,包括:从全局上下文中获取用于渲染所述页面的代理对象的获取方法;根据获取方法,获取所述代理对象的信息。
通过该方式可以从全局上下文中获取代理对象的获取方法,并基于该获取方法获取代理对象的信息,并通过该代理对象渲染页面。
步骤103:将代理对象的信息通过全局上下文中的跨线程通信方法发送给页面服务管理器,并基于页面服务管理器调用注册的与代理对象的信息对应的服务对象渲染页面。
在一个实施例中,具体可以通过图2所示的方式渲染页面,其中,Module为待渲染页面的业务逻辑,ModuleContext为与待渲染页面的业务逻辑相对应的业务上下文,WholeContext为全局上下文,ModuleServiceManager为业务服务管理器,ServiceProxy为代理对象服务,MethodPackageinfo为代理对象的消息封装类,ModuleHander主要用于解决跨线程问题,FragmentServiceManager为页面服务管理器,IService为页面服务。下文中相同名称所表达的含义相同,后文不再赘述。
步骤S1:通知业务上下文预获取渲染页面的服务。
步骤S2:基于预获取渲染页面的服务通过句柄从全局上下文中获取服务对象的获取方法。
步骤S3:基于服务对象的获取方法获取服务对象的信息。
步骤S4:基于已知的服务对象信息向代理服务发送预注册代理对象的信息。
步骤S5:缓存代理对象的调用函数。
步骤S6:将调用函数封装打包。
步骤S7:将调用函数传递至ModuleHander。
步骤S8:通过ModuleHander转换线程并将代理对象的信息发送至页面服务管理器。
步骤S9:通过调用函数渲染对应的页面。
通过该方式可以通过业务逻辑驱动页面,在确定一个业务逻辑后,与该业务逻辑对应的页面也会依序展示,进而实现了业务逻辑和页面间的通信。
在一个实施例中,代理对象的信息是在业务服务管理器中获取的,本申请实施例还包括向页面服务管理模块注册代理对象的方法,如图3所示,包括:
步骤301:基于待注册页面服务的实例创建服务对象。
在一个实施例中,确定业务逻辑调用的页面,将该页面中的服务确定为所述待注册页面服务;将所述业务逻辑和被调用的待注册页面服务建立绑定关系。
步骤302:从全局上下文中获取注册服务对象的方法。
步骤303:利用注册服务对象的方法在页面服务管理器注册服务对象。
步骤304:获取注册的服务对象的信息。
步骤305:基于获取的服务对象的信息在业务服务管理器中注册代理对象。
在一个实施例中,基于获取的服务对象的信息在业务服务管理器中注册代理对象之后,还包括:将代理对象注册完成的消息通知给绑定的业务逻辑。
在一个实施例中,步骤305在具体实施可包括:首先根据服务对象的信息创建代理服务,然后根据代理服务生成代理对象,最后将代理对象注册到业务服务管理器。
具体的,代理对象注册可通过如图4所示的方法,其中,Service为业务逻辑服务,ServiceInfo注册服务的包装类,ServiceProxy为代理对象服务,ServiceHander主要用于解决跨线程问题,Fragment为页面。
步骤A1:告知业务上下文将要在页面注册服务对象。
步骤A2:业务上下文查询业务逻辑中是否具有渲染页面的服务;若有,执行步骤A3,若没有,则停止创建服务对象的操作。
步骤A3:创建服务对象。
步骤A4:从全局上下文获取注册服务对象的方法。
步骤A5:调用注册服务对象的方法注册服务对象。
步骤A6:获取服务对象。
步骤A7:告知页面服务管理器预注册代理对象。
步骤A8:获取代理对象。
步骤A9:发送代理对象的信息到ServiceHander。
步骤A10:注册代理对象至页面服务管理器。
步骤A11:告知页面代理对象已经注册成功。
通过该方式注册代理对象,以便于后期业务逻辑驱动页面。
在一个实施例中,本申请实施例还包括向页面服务管理模块注销代理对象的方法,如图5所示,包括:
步骤501:注销指定服务对象时,通过相应的上下文从全局上下文中获取指定服务对象的注销方法;其中,指定服务对象为页面服务时相应的上下文为页面上下文,指定代理对象为业务逻辑的服务时相应的上下文为业务上下文。
步骤502:基于获取的注销方法在对应的服务管理器中注册指定服务对象。
步骤503:在指定服务对象对应的代理对象所在的服务管理器中注销指定服务对象对应的代理对象。
需要说明的是,在注册有指定服务对象对应的代理对象的服务管理器中注销所述指定服务对象对应的代理对象,包括:将注销的服务对象的信息发送给代理对象所在的服务管理器,以使代理对象所在的服务管理器通过Handler通知相应的线程注销代理对象;响应于代理对象所在的服务管理器通过Handler通知相应的线程的操作,在代理对象所在的服务管理器中注销指定服务对象对应的代理对象。
具体的,代理对象注销可通过如图6所示的方法,其中,ServiceHander主要用于解决跨线程问题。
步骤B1:加载注销页面的服务。
步骤B2:告知业务上下文预解绑业务逻辑。
步骤B3:从全局上下文中获取注销服务对象的方法。
步骤B4:根据注销服务对象的方法注销服务对象。
步骤B5:告知页面服务管理器预注销代理对象。
步骤B6:调用注销代理对象的方法。
步骤B7:注销代理对象。
步骤B8:告知页面代理对象注销的消息。
通过该方式注销代理对象,以便于后期业务逻辑驱动页面。
基于同样的构思和原理,本申请还可以包括:向业务服务管理模块注册代理对象、向业务服务管理模块注销代理对象以及向业务服务管理模块调用代理对象中的至少一种,在此不再一一赘述。
参阅图7为本申请实施例提供的一种智能设备的控制装置,包括:接收模块71、执行模块72以及发送模块73,其中:
接收模块71,用于接收执行指定业务的指令。
执行模块72,用于根据所述指令执行所述指定业务的业务逻辑,在执行所述业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染所述页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文。
发送模块73,用于将所述代理对象的信息通过所述全局上下文中的跨线程通信方法发送给页面服务管理器,并基于所述页面服务管理器调用注册的与所述代理对象的信息对应的服务对象渲染所述页面。
可选的,所述指定业务的指令为通过非界面交互方式触发的。
可选的,所述执行模块,具体用于:从全局上下文中获取用于渲染所述页面的代理对象的获取方法;根据所述获取方法,获取所述代理对象的信息。
可选的,所述执行模块,具体用于:在业务服务管理器中获取代理对象的信息;
所述装置,还包括:
注册模块,用于基于待注册页面服务的实例创建服务对象;从所述全局上下文中获取注册服务对象的方法;利用所述注册服务对象的方法在页面服务管理器注册服务对象;获取注册的服务对象的信息;基于获取的服务对象的信息在业务服务管理器中注册代理对象。
可选的,所述注册模块,具体用于:根据服务对象的信息创建代理服务;根据所述代理服务生成代理对象;将代理对象注册到业务服务管理器。
可选的,所述装置还包括:
注销模块,用于注销指定服务对象时,通过相应的上下文从全局上下文中获取所述指定服务对象的注销方法;其中,指定服务对象为页面服务时相应的上下文为页面上下文,指定代理对象为业务逻辑的服务时相应的上下文为业务上下文;基于获取的注销方法在对应的服务管理器中注册所述指定服务对象;在指定服务对象对应的代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
可选的,所述注销模块,具体用于:将注销的服务对象的信息发送给所述代理对象所在的服务管理器,以使所述代理对象所在的服务管理器通过Handler通知相应的线程注销代理对象;响应于所述代理对象所在的服务管理器通过Handler通知相应的线程的操作,在所述代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
可选的,所述注册模块基于待注册页面服务的实例创建服务对象之前,还用于:确定业务逻辑调用的页面,将该页面中的服务确定为所述待注册页面服务;将所述业务逻辑和被调用的待注册页面服务建立绑定关系;
所述注册模块基于获取的服务对象的信息在业务服务管理器中注册代理对象之后,还用于:将代理对象注册完成的消息通知给绑定的业务逻辑。
本申请实施例提供的智能设备的控制装置中各模块的具体实现可以参见前述方法实施例,在此不再赘述。
在介绍了本申请示例性实施方式中的智能设备的控制方法和装置之后,接下来,介绍本申请的另一示例性实施方式的智能设备。该智能设备可以但不限于为机器人。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的智能设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的智能设备的控制方法中的步骤。例如,处理器可以执行如图1中所示的步骤101-步骤103。
下面参照图8来描述根据本申请的这种实施方式的智能设备130。图8显示的智能设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,智能设备130以通用计算装置的形式表现。智能设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
智能设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,和/或与使得该智能设备130能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,智能设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于智能设备130的其它模块通信。应当理解,尽管图中未示出,可以结合智能设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的智能终端的控制方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的信智能设备的控制方法中的步骤,例如,计算机设备可以执行如图1中所示的步骤101-步骤103。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于智能终端的控制的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在目标对象计算装置上执行、部分地在目标对象设备上执行、作为一个独立的软件包执行、部分在目标对象计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到目标对象计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种智能设备的控制方法,其特征在于,包括:
接收执行指定业务的指令;
根据所述指令执行所述指定业务的业务逻辑,在执行所述业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染所述页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文;
将所述代理对象的信息通过所述全局上下文中的跨线程通信方法发送给页面服务管理器,并基于所述页面服务管理器调用注册的与所述代理对象的信息对应的服务对象渲染所述页面。
2.根据权利要求1所述的方法,其特征在于,所述指定业务的指令为通过非界面交互方式触发的。
3.根据权利要求1所述的方法,其特征在于,所述根据全局上下文,获取用于渲染所述页面的代理对象的信息,包括:
从全局上下文中获取用于渲染所述页面的代理对象的获取方法;
根据所述获取方法,获取所述代理对象的信息。
4.根据权利要求1-3任一所述的方法,其特征在于,获取所述代理对象的信息,包括:
在业务服务管理器中获取代理对象的信息;
所述方法还包括:
基于待注册页面服务的实例创建服务对象;
从所述全局上下文中获取注册服务对象的方法;
利用所述注册服务对象的方法在页面服务管理器注册服务对象;
获取注册的服务对象的信息;
基于获取的服务对象的信息在业务服务管理器中注册代理对象。
5.根据权利要求4所述的方法,其特征在于,基于获取的服务对象的信息在业务服务管理器中注册代理对象,包括:
根据服务对象的信息创建代理服务;
根据所述代理服务生成代理对象;
将代理对象注册到业务服务管理器。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
注销指定服务对象时,通过相应的上下文从全局上下文中获取所述指定服务对象的注销方法;其中,指定服务对象为页面服务时相应的上下文为页面上下文,指定代理对象为业务逻辑的服务时相应的上下文为业务上下文;
基于获取的注销方法在对应的服务管理器中注册所述指定服务对象;
在指定服务对象对应的代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
7.根据权利要求6所述的方法,其特征在于,在注册有所述指定服务对象对应的代理对象的服务管理器中注销所述指定服务对象对应的代理对象,包括:
将注销的服务对象的信息发送给所述代理对象所在的服务管理器,以使所述代理对象所在的服务管理器通过Handler通知相应的线程注销代理对象;
响应于所述代理对象所在的服务管理器通过Handler通知相应的线程的操作,在所述代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
8.根据权利要求4所述的方法,其特征在于,基于待注册页面服务的实例创建服务对象之前,所述方法还包括:
确定业务逻辑调用的页面,将该页面中的服务确定为所述待注册页面服务;
将所述业务逻辑和被调用的待注册页面服务建立绑定关系;
所述基于获取的服务对象的信息在业务服务管理器中注册代理对象之后,所述方法还包括:
将代理对象注册完成的消息通知给绑定的业务逻辑。
9.一种智能设备的控制装置,其特征在于,包括:
接收模块,用于接收执行指定业务的指令;
执行模块,用于根据所述指令执行所述指定业务的业务逻辑,在执行所述业务逻辑的过程中需要渲染页面时,根据全局上下文,获取用于渲染所述页面的代理对象的信息;其中,业务逻辑的线程与渲染页面的线程不同,全局上下文为业务逻辑的线程和渲染页面的线程共享的上下文;
发送模块,用于将所述代理对象的信息通过所述全局上下文中的跨线程通信方法发送给页面服务管理器,并基于所述页面服务管理器调用注册的与所述代理对象的信息对应的服务对象渲染所述页面。
10.根据权利要求 9所述的装置,其特征在于,所述指定业务的指令为通过非界面交互方式触发的。
11.根据权利要求9所述的装置,其特征在于,所述执行模块,具体用于:从全局上下文中获取用于渲染所述页面的代理对象的获取方法;根据所述获取方法,获取所述代理对象的信息。
12.根据权利要求9-11任一所述的装置,其特征在于,所述执行模块,具体用于:在业务服务管理器中获取代理对象的信息;
所述装置,还包括:
注册模块,用于基于待注册页面服务的实例创建服务对象;从所述全局上下文中获取注册服务对象的方法;利用所述注册服务对象的方法在页面服务管理器注册服务对象;获取注册的服务对象的信息;基于获取的服务对象的信息在业务服务管理器中注册代理对象。
13.根据权利要求12所述的装置,其特征在于,所述注册模块,具体用于:根据服务对象的信息创建代理服务;根据所述代理服务生成代理对象;将代理对象注册到业务服务管理器。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
注销模块,用于注销指定服务对象时,通过相应的上下文从全局上下文中获取所述指定服务对象的注销方法;其中,指定服务对象为页面服务时相应的上下文为页面上下文,指定代理对象为业务逻辑的服务时相应的上下文为业务上下文;基于获取的注销方法在对应的服务管理器中注册所述指定服务对象;在指定服务对象对应的代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
15.根据权利要求14所述的装置,其特征在于,所述注销模块,具体用于:将注销的服务对象的信息发送给所述代理对象所在的服务管理器,以使所述代理对象所在的服务管理器通过Handler通知相应的线程注销代理对象;响应于所述代理对象所在的服务管理器通过Handler通知相应的线程的操作,在所述代理对象所在的服务管理器中注销所述指定服务对象对应的代理对象。
16.根据权利要求12所述的装置,其特征在于,所述注册模块基于待注册页面服务的实例创建服务对象之前,还用于:确定业务逻辑调用的页面,将该页面中的服务确定为所述待注册页面服务;将所述业务逻辑和被调用的待注册页面服务建立绑定关系;
所述注册模块基于获取的服务对象的信息在业务服务管理器中注册代理对象之后,还用于:将代理对象注册完成的消息通知给绑定的业务逻辑。
17.一种智能设备,其特征在于,包括:存储器以及处理器;
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1-8任一项所述的方法。
18.一种计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-8中任一权利要求所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910923817.9A CN110673918B (zh) | 2019-09-27 | 2019-09-27 | 智能设备的控制方法、装置以及智能设备、存储介质 |
PCT/CN2020/117897 WO2021057925A1 (zh) | 2019-09-27 | 2020-09-25 | 智能设备的控制方法、装置以及智能设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910923817.9A CN110673918B (zh) | 2019-09-27 | 2019-09-27 | 智能设备的控制方法、装置以及智能设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110673918A CN110673918A (zh) | 2020-01-10 |
CN110673918B true CN110673918B (zh) | 2021-10-01 |
Family
ID=69079906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910923817.9A Active CN110673918B (zh) | 2019-09-27 | 2019-09-27 | 智能设备的控制方法、装置以及智能设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110673918B (zh) |
WO (1) | WO2021057925A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673918B (zh) * | 2019-09-27 | 2021-10-01 | 北京猎户星空科技有限公司 | 智能设备的控制方法、装置以及智能设备、存储介质 |
CN111338775B (zh) * | 2020-02-21 | 2022-06-07 | 南京领行科技股份有限公司 | 一种执行定时任务的方法及设备 |
CN111414152B (zh) * | 2020-03-25 | 2023-04-21 | 北京字节跳动网络技术有限公司 | 业务逻辑的实现方法、系统、可读介质和电子设备 |
CN112286410B (zh) * | 2020-09-25 | 2022-09-09 | 长沙市到家悠享网络科技有限公司 | 数据处理方法、装置、电子设备及计算机可读介质 |
CN113535132B (zh) * | 2021-07-26 | 2024-05-07 | 中移(杭州)信息技术有限公司 | 设备接入方法、装置、终端设备以及存储介质 |
CN117436180B (zh) * | 2023-12-14 | 2024-03-19 | 中建三局集团有限公司 | 基于中心数据库的智能设备生产驱动方法、系统及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932390A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种网络请求的处理方法和系统、网络服务提供装置 |
CN108139919A (zh) * | 2015-09-22 | 2018-06-08 | 微软技术许可有限责任公司 | 外部进程用户界面隔离和监测 |
CN108694693A (zh) * | 2017-04-10 | 2018-10-23 | 英特尔公司 | 基于面部表情来调整图形渲染 |
CN108804205A (zh) * | 2017-04-28 | 2018-11-13 | 英特尔公司 | 原子操作的智能线程分派和向量化 |
US20190065279A1 (en) * | 2017-08-31 | 2019-02-28 | TidalScale, Inc. | Entanglement of pages and guest threads |
CN109739505A (zh) * | 2019-01-08 | 2019-05-10 | 网易(杭州)网络有限公司 | 一种用户界面的处理方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1202172A1 (en) * | 2000-10-31 | 2002-05-02 | Universiteit Gent | Topological, on-the-fly classification of objects into a global set and local sets |
US8402218B2 (en) * | 2009-12-15 | 2013-03-19 | Microsoft Corporation | Efficient garbage collection and exception handling in a hardware accelerated transactional memory system |
CN103353750B (zh) * | 2013-07-24 | 2015-09-16 | 昆明理工大学 | 一种基于多总线的微波冶金控制方法 |
CN109726023B (zh) * | 2018-12-12 | 2023-05-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种支持多线程多上下文的图形任务同步管理方法 |
CN110673918B (zh) * | 2019-09-27 | 2021-10-01 | 北京猎户星空科技有限公司 | 智能设备的控制方法、装置以及智能设备、存储介质 |
-
2019
- 2019-09-27 CN CN201910923817.9A patent/CN110673918B/zh active Active
-
2020
- 2020-09-25 WO PCT/CN2020/117897 patent/WO2021057925A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932390A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种网络请求的处理方法和系统、网络服务提供装置 |
CN108139919A (zh) * | 2015-09-22 | 2018-06-08 | 微软技术许可有限责任公司 | 外部进程用户界面隔离和监测 |
CN108694693A (zh) * | 2017-04-10 | 2018-10-23 | 英特尔公司 | 基于面部表情来调整图形渲染 |
CN108804205A (zh) * | 2017-04-28 | 2018-11-13 | 英特尔公司 | 原子操作的智能线程分派和向量化 |
US20190065279A1 (en) * | 2017-08-31 | 2019-02-28 | TidalScale, Inc. | Entanglement of pages and guest threads |
CN109739505A (zh) * | 2019-01-08 | 2019-05-10 | 网易(杭州)网络有限公司 | 一种用户界面的处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
《小程序的底层框架》;被删;《https://godbasin.github.io/2018/09/02/wxapp-technology-architecture/》;20180920;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110673918A (zh) | 2020-01-10 |
WO2021057925A1 (zh) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110673918B (zh) | 智能设备的控制方法、装置以及智能设备、存储介质 | |
US20210117776A1 (en) | Method, electronic device and computer readable medium for information processing for accelerating neural network training | |
EP3837604B1 (en) | In situ triggered function as a service within a service mesh | |
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
US20080235327A1 (en) | Achieving low latencies on network events in a non-real time platform | |
US8826276B1 (en) | Multi-threaded virtual machine processing on a web page | |
CN109308241B (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
CN107247634A (zh) | 一种机器人动态异步远程过程调用的方法和装置 | |
CN110262825A (zh) | 热更新方法、装置、电子设备及可读存储介质 | |
CN111338775B (zh) | 一种执行定时任务的方法及设备 | |
CN110457132B (zh) | 一种功能对象的创建方法、装置和终端设备 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN112035270A (zh) | 接口适配方法、系统、装置、计算机可读介质及电子设备 | |
CN110532033B (zh) | 一种数据处理系统和数据处理方法 | |
US9912731B2 (en) | Dynamic transaction coordination | |
US20240296045A1 (en) | Computer-based systems configured to decouple delivery of product configuration changes associated with continuous integration/continuous delivery programming pipelines and methods of use thereof | |
US11738268B2 (en) | Game development method and apparatus, game running method and apparatus, and electronic device | |
US8280950B2 (en) | Automatic client-server code generator | |
US9547526B2 (en) | Dispatching function calls across accelerator devices | |
Marcelino et al. | Goldfish: Serverless actors with short-term memory state for the edge-cloud continuum | |
US11163603B1 (en) | Managing asynchronous operations in cloud computing environments | |
CN110990167B (zh) | 前端通信方法及装置、存储介质及电子设备 | |
US9672083B2 (en) | Operating a program code object in conjunction with an application context | |
US10747566B2 (en) | Restarting application servers | |
CN107463438B (zh) | 用于多Openstack环境的信息处理方法、装置和系统 |
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 |