CN111273934B - 页面更新的方法及装置 - Google Patents
页面更新的方法及装置 Download PDFInfo
- Publication number
- CN111273934B CN111273934B CN202010108739.XA CN202010108739A CN111273934B CN 111273934 B CN111273934 B CN 111273934B CN 202010108739 A CN202010108739 A CN 202010108739A CN 111273934 B CN111273934 B CN 111273934B
- Authority
- CN
- China
- Prior art keywords
- execution logic
- module
- intention
- function
- private
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种页面更新的方法及装置,涉及计算机技术的数据处理领域,具体包括:响应于用户的触发行为产生第一意图,并在预设的执行逻辑资源中匹配第一意图的目标执行逻辑;在目标执行逻辑为第一模块的私有执行逻辑的情况下,利用目标执行逻辑更新第一模块对应的页面数据;在目标执行逻辑为全局执行逻辑的情况下,利用目标执行逻辑更新多个第二模块对应的页面数据,其中,多个第二模块预先在目标执行逻辑中注册有第一意图。即本申请实施例中,在根据用户的触发行为产生第一意图时,可以根据与第一意图匹配的目标执行逻辑,灵活的实现对一个模块或多个模块的页面更新,从而可以避免不必要的页面更新,减少资源浪费。
Description
技术领域
本申请涉及计算机技术领域的数据处理,尤其涉及一种页面更新的方法及装置。
背景技术
在客户端开发中,应用程序(application,APP)的开发是较为重要的部分。APP开发中需要根据功能拆分出不同的功能模块来对应用程序进行维护,为了维护每个功能模块的独立性,需要保证各个功能模块之间没有依赖关系,不会因为其他功能模块不存在而不能工作,保证每个模块可以独立实现一种功能。如果一个功能模块想要使用另一个功能模块的能力,需要通过功能模块之间的通信和数据交互来实现。
目前Flutter开发工具中有通过前端架构Redux实现的模功能块间数据同步的方案。Redux是状态管理框架,其设计思想主要是将页面当做对数据状态的一种展示,将页面的切换理解为数据的状态变化。在这种情况下,只要对数据进行修改,然后通过数据的变化来驱动页面的改变就可以向用户展示新的数据状态。基于这种思想实现的通信方案主要是让各个功能模块共用同一份数据,在任一个功能模块中改变了数据都会驱动所有模块进行修改,也就达到了各功能模块间通信的目的,实现各功能模块对应的页面的更新。
但是,由于多个功能模块共用同一份数据,就会使得任何一次对数据的修改都会令所有共用该数据的功能模块更新,会导致执行较多没有必要的页面数据更新。例如在一个功能模块中本来没有对某个数据的使用,但是由于共用了同一份数据,在其他功能模块改变这个数据时也会触发到这个功能模块对应的页面更新,该页面更新是没有必要的,造成了资源浪费。
发明内容
本申请实施例提供一种页面更新的方法及装置,以解决现有技术中因页面更新带来的资源浪费的技术问题。
本申请实施例第一方面提供一种页面更新的方法,包括:
响应于用户的触发行为产生第一意图;
在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑;
在所述目标执行逻辑为第一模块的私有执行逻辑的情况下,利用所述目标执行逻辑更新所述第一模块对应的页面数据;
在所述目标执行逻辑为全局执行逻辑的情况下,利用所述目标执行逻辑更新多个第二模块对应的页面数据,其中,多个所述第二模块预先在所述目标执行逻辑中注册有所述第一意图。
本申请实施例中,在根据用户的触发行为产生第一意图时,可以根据与第一意图匹配的目标执行逻辑,灵活的实现对一个模块或多个模块的页面更新,从而可以避免不必要的页面更新,减少资源浪费。
可选的,所述执行逻辑资源中包括多个执行逻辑,任一个所述执行逻辑包括:任务函数task和用于计算数据状态的状态处理函数reducer;所述task与意图具有关联关系;所述在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑,包括:在预设的所述执行逻辑资源中,根据所述关联关系将与所述第一意图匹配的task对应的执行逻辑作为所述目标执行逻辑。这样,可以利用任务函数与意图的关联关系,为第一意图匹配目标执行逻辑。
可选的,所述第一模块的私有执行逻辑中包括:所述第一模块的私有任务函数,以及用于计算所述第一意图的数据的状态处理函数。
可选的,所述利用所述目标执行逻辑更新所述第一模块对应的页面数据,包括:利用所述第一模块的私有执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述第一模块的私有容器中;
利用所述第一模块的私有容器和所述第一意图对应的状态数据更新所述第一模块对应页面中的数据。
这样,可以利用第一模块的私有执行逻辑实现仅对第一模块的页面更新。
可选的,所述全局执行逻辑中包括:全局任务函数、监听函数listener和状态处理函数。
可选的,所述利用所述目标执行逻辑更新多个第二模块对应的页面数据,包括:
确定注册所述监听函数的多个第二模块;
利用所述全局执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述多个第二模块对应的私有容器中,其中,每个第二模块具有一个私有容器;
利用所述多个第二模块的私有容器和所述第一意图对应的状态数据更新所述多个第二模块对应页面中的数据。
这样,可以利用全局执行逻辑实现对多个第二模块的页面更新。
可选的,所述监听函数为:功能模块动态注册的监听函数,或全局静态的监听函数。使得可以在监听函数listener的执行逻辑中对当前模块的数据进行修改或者触发模块私有的action来进行页面刷新。
可选的,所述全局执行逻辑中还包括规则函数。从而可以利用规则函数实现对多个action的便捷处理。
本申请实施例第二方面提供一种页面更新的装置,包括:
意图产生模块,用于响应于用户的触发行为产生第一意图;
匹配模块,用于在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑;
第一更新模块,用于在所述目标执行逻辑为第一模块的私有执行逻辑的情况下,利用所述目标执行逻辑更新所述第一模块对应的页面数据;
第二更新模块,用于在所述目标执行逻辑为全局执行逻辑的情况下,利用所述目标执行逻辑更新多个第二模块对应的页面数据,其中,多个所述第二模块预先在所述目标执行逻辑中注册有所述第一意图。
可选的,所述执行逻辑资源中包括多个执行逻辑,任一个所述执行逻辑包括:任务函数task和用于计算数据状态的状态处理函数reducer;所述task与意图具有关联关系;所述匹配模块,具体用于:
在预设的所述执行逻辑资源中,根据所述关联关系将与所述第一意图匹配的task对应的执行逻辑作为所述目标执行逻辑。
可选的,所述第一模块的私有执行逻辑中包括:所述第一模块的私有任务函数,以及用于计算所述第一意图的数据的状态处理函数。
可选的,所述第一更新模块,具体用于:
利用所述第一模块的私有执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述第一模块的私有容器中;
利用所述第一模块的私有容器和所述第一意图对应的状态数据更新所述第一模块对应页面中的数据。
可选的,所述全局执行逻辑中包括:全局任务函数、监听函数listener和状态处理函数。
可选的,所述第二更新模块,具体用于:
确定注册所述监听函数的多个第二模块;
利用所述全局执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述多个第二模块对应的私有容器中,其中,每个第二模块具有一个私有容器;
利用所述多个第二模块的私有容器和所述第一意图对应的状态数据更新所述多个第二模块对应页面中的数据。
可选的,所述监听函数为:功能模块动态注册的监听函数,或全局静态的监听函数。
可选的,所述全局执行逻辑中还包括规则函数。
本申请实施例第三方面提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述第一方面任一项所述的方法。
本申请实施例第四方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如前述第一方面中任一项所述的方法。
综上所述,本申请实施例相对于现有技术的有益效果:
本申请实施例中提供了一种页面更新的方法及装置,可以预设执行逻辑资源,执行逻辑资源中的执行逻辑与意图之间具有关联关系。在接收到用户在应用程序种的触发行为后,可以响应于用户的触发行为产生第一意图,并在预设的执行逻辑资源中匹配第一意图的目标执行逻辑;在目标执行逻辑为第一模块的私有执行逻辑的情况下,利用目标执行逻辑更新第一模块对应的页面数据;在目标执行逻辑为全局执行逻辑的情况下,利用目标执行逻辑更新多个第二模块对应的页面数据,其中,多个第二模块预先在目标执行逻辑中注册有第一意图。即本申请实施例中,在根据用户的触发行为产生第一意图时,可以根据与第一意图匹配的目标执行逻辑,灵活的实现对一个模块或多个模块的页面更新,从而可以避免不必要的页面更新,减少资源浪费。
附图说明
图1为本申请实施例提供的应用程序的架构示意图;
图2为本申请实施例提供的功能模块的数据结构示意图;
图3为本申请实施例提供的模块通信触发过程示意图;
图4为本申请实施例提供的页面更新的方法的流程示意图;
图5为本申请实施例提供的页面更新装置的结构示意图;
图6是用来实现本申请实施例的页面更新的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本申请实施例的页面更新方法可以应用于终端,终端可以包括:手机、平板电脑、笔记本电脑、或者台式电脑等电子设备。本申请实施例对应用的具体设备不作具体限定。
示例性的,终端中可以设置应用程序,各应用程序可以提供图形用户界面(graphical user interface,GUI),用户可以在图形用户界面中执行点击、下拉刷新、滑动页面等操作,以触发本申请实施例的页面更新的方法,可以理解,图形用户界面的具体内容可以根据实际的应用场景确定,本发明实施例对此不作具体限定。
本申请实施例所述描述的执行逻辑可以是计算机语言中的任意函数,例如可以是回调函数等,本申请实施例对此不作具体限定。
本申请实施例所描述的执行逻辑资源可以是用于存储一个或多个执行逻辑的链表、表格或线图等,本申请实施例对此不作具体限定。
本申请实施例所描述的应用程序的架构可以如图1所示。在应用程序中可以设置一个全局容器(global store,也可以称为公有容器),以及n个功能模块(module1至modulen),每个module中设置有各自的私有容器(store)。
Global store用于存储一些全局的数据,全局的数据如果修改,那么所有的功能模块(module1至module n)的页面都要跟着刷新。例如,关于修改日间模式或夜间模式的数据可以存储在global store中,如果基于用户触发从日间模式修改为夜间模式,所有的功能模块的页面背景都可以修改为深色。
每个功能模块中的私有store中存储的是该功能模块自己私有的一些数据,比如说粉丝页面会维护一个粉丝信息的列表,该列表只是在该页面展示,所以是它私有的。在修改该功能模块的store时只刷新该功能模块的页面,其他功能模块不会关联修改。
也就是说,现有的Redux只有一个store,如果有多个功能模块,该多个功能模块公用一个store(类似于global store),这样的话任意一个页面改了数据所有页面都会刷新,可能造成不必要的页面刷新。而本申请实施例中可以在功能模块内部的私有store中修改数据,只触发该功能模块的页面刷新,从而可以避免不必要的页面刷新。
图2为本申请实施例的一个功能模块(module)的数据结构。具体的,一个功能模块(module)中可以包含页面代码(view)和一个store,store之中有两块数据,一块是state,一个是dispatchers。
其中,state用于存储页面状态数据,不同的state代表了不同的页面状态数据,也会对应不同的页面展示。
Dispatchers用于存储功能模块的执行逻辑,比如请求网络数据、修改页面上的数字、响应点击事件……等的执行逻辑。
具体的,dispatchers中可以存储注册的rule、task、listener、reducer等。
Rule表示规则函数,是可选项。Rule是在所有任务之前被触发的,表示一种处理方式,比如可以利用rule设定用户名添加规则,将部分或全部由用户触发产生的意图(action)中添加用户名,等。或者,可以利用rule设定拦截规则,实现拦截部分或全部的action。
Task表示任务函数,task可以是与action一一对应的函数,是针对一个具体action的处理。本申请实施例中可以包含两种task,一种是功能模块内部私有的task,这种task只有当前功能模块能够触发,不会被其他功能模块触发,这样就能够实现对单个页面的更新,避免产生不必要的页面更新;另一种是全局静态的task,这种task会在主函数中进行注册,供所有的功能模块进行触发。全局静态的task的设计使得在功能模块未初始化的时候也可以其他功能模块被触发,这样就可以实现对某些功能模块的动态调起,即可以在需要时再初始化,而不是在主函数中初始化,从而可以减少启动时的耗时。
Listener表示监听函数,与task的区别是一个action可以有多个listener,监听可以注册任何当前功能模块感兴趣的action,并在触发该action时进行响应。本申请实施例中listener可以包括两种,一种是功能模块动态注册的listener,这种listener在功能模块启动之后才会注册到队列中等待被触发,功能模块没有启动时这些listener不能被触发,即该类型的listener在功能模块初始化的时候注册,功能模块销毁的时候删除,不是一直存在,而是跟功能模块生命周期绑定在一起的;另一种是全局静态的listener,这种listener会在主函数中进行注册。
需要说明的是,所有的listener都可以被其他的功能模块触发,因为listener本身就是一种对某些全局action的监听,只是不同类型的listener的生命周期不同。
Reducer是对状态的一种状态处理函数,可以通过reducer计算出一个新的state来触发对页面的修改。
示例性的,图3示出了本申请实施例的一次模块通信触发的示意图。
如图3所示,在页面中接收到用户的触发行为时,例如用户点击应用程序、下拉刷新数据、滑动页面等,可以产生相应的意图action,将该action发送入store中,store中存储有执行逻辑资源dispatchers,dispatchers中,每一个dispatcher都是有一个自己对应的action,因此在dispatchers中匹配触发行为产生action对应的执行逻辑,该执行逻辑可以基于自身的逻辑实现修改store的state,进而通知该功能模块刷新页面,刷新后的页面可以向外界(用户)展示用户触发行为产生的结果,比如用户执行下拉操作之后页面刷新了,页面展示刷新后的数据。
本申请实施例中,不需要关心action是注册在模块中还是注册在全局中,也不需要关心这个action对应的是task还是listener,对所有的action都可以使用执行逻辑进行触发。在用户触发产生action过程中,可以自动将利用全局或者模块的Dispatchers中进行处理。开发者也不需要主动注册各个类型的执行逻辑,只需要创建所想要注册的执行逻辑,后续就可以自动将区分使用,实现了对开发者非常友好的使用方式。
如图4所示,图4为本申请实施例提供的页面更新的方法的流程示意图。
该方法具体可以包括:
S101:响应于用户的触发行为产生第一意图。
本申请实施例中,用户的触发行为可以是用户在页面中的点击、滑动等操作,不同的触发行为会对应不同的意图action,具体应用中,可以根据实际的应用场景设定触发行为与action的对应关系,本申请实施例对此不作具体限定。
例如,终端设备中可以安装“贴吧”应用程序,用户可以打开该贴吧应用程序,终端中可以显示贴吧的页面,用户可以在页面中进行触发,终端在接收到用户的触发行为后,可以产生适应的第一意图。
S102:在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑。
本申请实施例中,预先设定了执行逻辑资源,例如可以预先设定回调函数链表dispatchers,执行逻辑资源中包括多个执行逻辑(例如回调函数dispatcher),执行逻辑与意图可以具有一一对应的关系,因此,可以在执行逻辑资源中匹配第一意图的目标执行逻辑。
可选的,任一个所述执行逻辑包括:任务函数task和用于计算数据状态的状态处理函数reducer;所述task与意图具有关联关系;所述在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑,包括:在预设的所述执行逻辑资源中,根据所述关联关系将与所述第一意图匹配的task对应的执行逻辑作为所述目标执行逻辑。
本申请实施例中,每个意图action可以对应一个任务task,reducer可以用于处理该task对应的action,因此,可以根据执行逻辑中task与action的关联关系,在执行逻辑资源中得到与第一意图匹配的目标执行逻辑。
本申请实施例中,执行逻辑可以分为私有执行逻辑和全局执行逻辑。其中,私有执行逻辑可以实现对一个模块的页面更新。全局执行逻辑可以实现对多个模块的页面更新。后续将对私有执行逻辑和全局执行逻辑进行详细说明,在此不再赘述。
S103:在所述目标执行逻辑为第一模块的私有执行逻辑的情况下,利用所述目标执行逻辑更新所述第一模块对应的页面数据。
本申请实施例中,若目标执行逻辑为第一模块的私有执行逻辑,则可以利用该目标执行逻辑仅更新第一模块对应的页面数据。
在一种可能的实现方式中,所述第一模块的私有执行逻辑中包括:所述第一模块的私有任务函数,以及用于计算所述第一意图的数据的状态处理函数。
如表1所示,私有执行逻辑中可以包含:私有任务函数task,以及状态处理函数reducer。
表1
私有task | reducer |
所述利用所述目标执行逻辑更新所述第一模块对应的页面数据,包括:
利用所述第一模块的私有执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;将所述第一意图对应的状态数据设置在所述第一模块的私有容器中;利用所述第一模块的私有容器和所述第一意图对应的状态数据更新所述第一模块对应页面中的数据。
本申请实施例中,私有执行逻辑可以触发私有task产生任务,进而触发第一模块的私有执行逻辑中包括的状态处理函数reducer,利用reducer计算第一意图对应的状态数据state,并将该状态数据state设置在第一模块的私有容器store中,store发现新的state和原来的不一样,就会去根据新的state来更新页面中的显示,实现对第一模块对应页面的数据更新。
S104:在所述目标执行逻辑为全局执行逻辑的情况下,利用所述目标执行逻辑更新多个第二模块对应的页面数据,其中,多个所述第二模块预先在所述目标执行逻辑中注册有所述第一意图。
本申请实施例中,若目标执行逻辑为全局执行逻辑,则可以更新注册有第一意图的多个模块对应的页面数据。
示例性的,所述全局执行逻辑中包括:全局任务函数、监听函数listener和状态处理函数。
如表2所示,全局执行逻辑中可以包含:全局任务函数task,以监听函数listener和状态处理函数reducer。
表2
全局task | listener | reducer |
所述利用所述目标执行逻辑更新多个第二模块对应的页面数据,包括:
确定注册所述监听函数的多个第二模块;利用所述全局执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;将所述第一意图对应的状态数据设置在所述多个第二模块对应的私有容器中,其中,每个第二模块具有一个私有容器;利用所述多个第二模块的私有容器和所述第一意图对应的状态数据更新所述多个第二模块对应页面中的数据。
本申请实施例中,每个第二模块具有一个私有容器,多个第二模块可以在全局执行逻辑中的listener中注册第一意图,则在触发全局执行逻辑中的listener时,可以将多个第二模块的私有容器store作为参数下发,使得虽然listener都是注册到全局的store中的,但是开发者可以在listener的执行逻辑中对当前模块的数据进行修改或者触发模块私有的action来进行页面刷新。
进而可以利用全局执行逻辑中包括的状态处理函数计算第一意图对应的状态数据;将第一意图对应的状态数据设置在多个第二模块对应的私有容器中;利用多个第二模块的私有容器和第一意图对应的状态数据更新多个第二模块对应页面中的数据。
可选的,本申请实施例的监听函数listener存在优先级,以保证不同模块注册的执行逻辑存在固定的调用顺序,使得模块的响应顺序固定可控。可以在listener注册到dispatchers的过程中根据listener的优先级开始插入listener,保证插入的每一个listener都是按照优先级进行排序的。可以理解,具体的listener的优先级可以根据实际的应用适应设定,本申请实施例对此不作具体限定。
可选的,所述全局执行逻辑中还包括规则函数。
如表3所示,全局执行逻辑中可以包含:规则函数rule,全局任务函数task,以监听函数listener和状态处理函数reducer。
表3
rule | 全局task | listener | reducer |
Rule是在所有任务之前被触发的,表示一种处理方式,比如可以利用rule设定用户名添加规则,将部分或全部由用户触发产生的意图(action)中添加用户名,等。或者,可以利用rule设定拦截规则,实现拦截部分或全部的action。从而可以利用rule实现对多个action的便捷处理。
具体应用中,表3对应的全局执行逻辑中,rule、task、listener和reducer可以是依次触发的,这样在触发时只要顺序执行各执行逻辑。
可以理解,本申请实施例结合注册、触发模式的消息方案,实现了全局加局部的通过数据来驱动页面产生相应变化。具体可以实现包括模块内部刷新、模块间一对一触发、模块间一对多触发、全局所action触发等多种类型的处理函数方案,从而以保证可以满足各种各样的开发需求。
综上所述,本申请实施例中提供了一种页面更新的方法及装置,可以预设执行逻辑资源,执行逻辑资源中的执行逻辑与意图之间具有关联关系。在接收到用户在应用程序种的触发行为后,可以响应于用户的触发行为产生第一意图,并在预设的执行逻辑资源中匹配第一意图的目标执行逻辑;在目标执行逻辑为第一模块的私有执行逻辑的情况下,利用目标执行逻辑更新第一模块对应的页面数据;在目标执行逻辑为全局执行逻辑的情况下,利用目标执行逻辑更新多个第二模块对应的页面数据,其中,多个第二模块预先在目标执行逻辑中注册有第一意图。即本申请实施例中,在根据用户的触发行为产生第一意图时,可以根据与第一意图匹配的目标执行逻辑,灵活的实现对一个模块或多个模块的页面更新,从而可以避免不必要的页面更新,减少资源浪费。
图5为本申请实施例提供的页面更新的装置结构示意图。如图5所示,本实施例提供的页面更新的装置包括:
意图产生模块31,用于响应于用户的触发行为产生第一意图;
匹配模块32,用于在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑;
第一更新模块33,用于在所述目标执行逻辑为第一模块的私有执行逻辑的情况下,利用所述目标执行逻辑更新所述第一模块对应的页面数据;
第二更新模块34,用于在所述目标执行逻辑为全局执行逻辑的情况下,利用所述目标执行逻辑更新多个第二模块对应的页面数据,其中,多个所述第二模块预先在所述目标执行逻辑中注册有所述第一意图。
可选的,所述执行逻辑资源中包括多个执行逻辑,任一个所述执行逻辑包括:任务函数task和用于计算数据状态的状态处理函数reducer;所述task与意图具有关联关系;所述匹配模块,具体用于:
在预设的所述执行逻辑资源中,根据所述关联关系将与所述第一意图匹配的task对应的执行逻辑作为所述目标执行逻辑。
可选的,所述第一模块的私有执行逻辑中包括:所述第一模块的私有任务函数,以及用于计算所述第一意图的数据的状态处理函数。
可选的,所述第一更新模块,具体用于:
利用所述第一模块的私有执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述第一模块的私有容器中;
利用所述第一模块的私有容器和所述第一意图对应的状态数据更新所述第一模块对应页面中的数据。
可选的,所述全局执行逻辑中包括:全局任务函数、监听函数listener和状态处理函数。
可选的,所述第二更新模块,具体用于:
确定注册所述监听函数的多个第二模块;
利用所述全局执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述多个第二模块对应的私有容器中,其中,每个第二模块具有一个私有容器;
利用所述多个第二模块的私有容器和所述第一意图对应的状态数据更新所述多个第二模块对应页面中的数据。
可选的,所述监听函数为:功能模块动态注册的监听函数,或全局静态的监听函数。
可选的,所述全局执行逻辑中还包括规则函数。
本申请实施例中提供了一种页面更新的方法及装置,可以预设执行逻辑资源,执行逻辑资源中的执行逻辑与意图之间具有关联关系。在接收到用户在应用程序种的触发行为后,可以响应于用户的触发行为产生第一意图,并在预设的执行逻辑资源中匹配第一意图的目标执行逻辑;在目标执行逻辑为第一模块的私有执行逻辑的情况下,利用目标执行逻辑更新第一模块对应的页面数据;在目标执行逻辑为全局执行逻辑的情况下,利用目标执行逻辑更新多个第二模块对应的页面数据,其中,多个第二模块预先在目标执行逻辑中注册有第一意图。即本申请实施例中,在根据用户的触发行为产生第一意图时,可以根据与第一意图匹配的目标执行逻辑,灵活的实现对一个模块或多个模块的页面更新,从而可以避免不必要的页面更新,减少资源浪费。
本申请各实施例提供的页面更新的装置可用于执行如前述各对应的实施例所示的方法,其实现方式与原理相同,不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的页面更新的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的页面更新的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的页面更新的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的页面更新的方法对应的程序指令/模块(例如,附图5所示的意图产生模块31、匹配模块32、第一更新模块33和第二更新模块34)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的页面更新的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据页面更新的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至页面更新的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
页面更新的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与页面更新的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,可以预设执行逻辑资源,执行逻辑资源中的执行逻辑与意图之间具有关联关系。在接收到用户在应用程序种的触发行为后,可以响应于用户的触发行为产生第一意图,并在预设的执行逻辑资源中匹配第一意图的目标执行逻辑;在目标执行逻辑为第一模块的私有执行逻辑的情况下,利用目标执行逻辑更新第一模块对应的页面数据;在目标执行逻辑为全局执行逻辑的情况下,利用目标执行逻辑更新多个第二模块对应的页面数据,其中,多个第二模块预先在目标执行逻辑中注册有第一意图。即本申请实施例中,在根据用户的触发行为产生第一意图时,可以根据与第一意图匹配的目标执行逻辑,灵活的实现对一个模块或多个模块的页面更新,从而可以避免不必要的页面更新,减少资源浪费。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种页面更新的方法,其特征在于,所述方法包括:
响应于用户的触发行为产生第一意图;
在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑;
在所述目标执行逻辑为第一模块的私有执行逻辑的情况下,利用所述目标执行逻辑更新所述第一模块对应的页面数据;
在所述目标执行逻辑为全局执行逻辑的情况下,利用所述目标执行逻辑更新多个第二模块对应的页面数据,其中,多个所述第二模块预先在所述目标执行逻辑中注册有所述第一意图;
所述全局执行逻辑中包括:全局任务函数、监听函数listener和状态处理函数;所述多个第二模块通过所述监听函数注册所述第一意图;
所述利用所述目标执行逻辑更新多个第二模块对应的页面数据,包括:
确定注册所述监听函数的多个第二模块;
利用所述全局执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述多个第二模块对应的私有容器中,其中,每个第二模块具有一个私有容器;
利用所述多个第二模块的私有容器和所述第一意图对应的状态数据更新所述多个第二模块对应页面中的数据。
2.根据权利要求1所述的方法,其特征在于,所述执行逻辑资源中包括多个执行逻辑,任一个所述执行逻辑包括:任务函数task和用于计算数据状态的状态处理函数reducer;所述task与意图具有关联关系;所述在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑,包括:
在预设的所述执行逻辑资源中,根据所述关联关系将与所述第一意图匹配的task对应的执行逻辑作为所述目标执行逻辑。
3.根据权利要求1或2所述的方法,其特征在于,所述第一模块的私有执行逻辑中包括:所述第一模块的私有任务函数,以及用于计算所述第一意图的数据的状态处理函数。
4.根据权利要求3所述的方法,其特征在于,所述利用所述目标执行逻辑更新所述第一模块对应的页面数据,包括:
利用所述第一模块的私有执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述第一模块的私有容器中;
利用所述第一模块的私有容器和所述第一意图对应的状态数据更新所述第一模块对应页面中的数据。
5.根据权利要求1所述的方法,其特征在于,所述监听函数为:功能模块动态注册的监听函数,或全局静态的监听函数。
6.根据权利要求1所述的方法,其特征在于,所述全局执行逻辑中还包括规则函数。
7.一种页面更新的装置,其特征在于,包括:
意图产生模块,用于响应于用户的触发行为产生第一意图;
匹配模块,用于在预设的执行逻辑资源中匹配所述第一意图的目标执行逻辑;
第一更新模块,用于在所述目标执行逻辑为第一模块的私有执行逻辑的情况下,利用所述目标执行逻辑更新所述第一模块对应的页面数据;
第二更新模块,用于在所述目标执行逻辑为全局执行逻辑的情况下,利用所述目标执行逻辑更新多个第二模块对应的页面数据,其中,多个所述第二模块预先在所述目标执行逻辑中注册有所述第一意图;
所述全局执行逻辑中包括:全局任务函数、监听函数listener和状态处理函数;
所述第二更新模块,具体用于:
确定注册所述监听函数的多个第二模块;
利用所述全局执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述多个第二模块对应的私有容器中,其中,每个第二模块具有一个私有容器;
利用所述多个第二模块的私有容器和所述第一意图对应的状态数据更新所述多个第二模块对应页面中的数据。
8.根据权利要求7所述的装置,其特征在于,所述执行逻辑资源中包括多个执行逻辑,任一个所述执行逻辑包括:任务函数task和用于计算数据状态的状态处理函数reducer;所述task与意图具有关联关系;所述匹配模块,具体用于:
在预设的所述执行逻辑资源中,根据所述关联关系将与所述第一意图匹配的task对应的执行逻辑作为所述目标执行逻辑。
9.根据权利要求7或8所述的装置,其特征在于,所述第一模块的私有执行逻辑中包括:所述第一模块的私有任务函数,以及用于计算所述第一意图的数据的状态处理函数。
10.根据权利要求9所述的装置,其特征在于,所述第一更新模块,具体用于:
利用所述第一模块的私有执行逻辑中包括的状态处理函数计算所述第一意图对应的状态数据;
将所述第一意图对应的状态数据设置在所述第一模块的私有容器中;
利用所述第一模块的私有容器和所述第一意图对应的状态数据更新所述第一模块对应页面中的数据。
11.根据权利要求7所述的装置,其特征在于,所述监听函数为:功能模块动态注册的监听函数,或全局静态的监听函数。
12.根据权利要求7所述的装置,其特征在于,所述全局执行逻辑中还包括规则函数。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6任一项所述的方法的指令。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,计算机指令用于使所述计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108739.XA CN111273934B (zh) | 2020-02-21 | 2020-02-21 | 页面更新的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108739.XA CN111273934B (zh) | 2020-02-21 | 2020-02-21 | 页面更新的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111273934A CN111273934A (zh) | 2020-06-12 |
CN111273934B true CN111273934B (zh) | 2023-08-01 |
Family
ID=71003662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010108739.XA Active CN111273934B (zh) | 2020-02-21 | 2020-02-21 | 页面更新的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111273934B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567623B (zh) * | 2022-02-20 | 2023-09-08 | 中国银联股份有限公司 | 一种页面显示方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296236A (zh) * | 2008-06-12 | 2008-10-29 | 北京中星微电子有限公司 | 多用户实时访问多媒体数据的方法、系统及数据客户端 |
CN104183023A (zh) * | 2014-07-25 | 2014-12-03 | 天津多微信息技术有限公司 | 一种分布式虚拟环境中多场景图的构建方法 |
CN110597602A (zh) * | 2019-09-17 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 一种事务处理方法、装置、计算机设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8079037B2 (en) * | 2005-10-11 | 2011-12-13 | Knoa Software, Inc. | Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications |
US20080010609A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method for extending the capabilities of a Wiki environment |
US7954052B2 (en) * | 2006-07-07 | 2011-05-31 | International Business Machines Corporation | Method for processing a web page for display in a wiki environment |
US8700691B2 (en) * | 2011-12-05 | 2014-04-15 | Microsoft Corporation | Minimal download and simulated page navigation features |
US10067652B2 (en) * | 2013-12-24 | 2018-09-04 | Dropbox, Inc. | Providing access to a cloud based content management system on a mobile device |
CN109739661B (zh) * | 2018-12-27 | 2021-06-22 | 思必驰科技股份有限公司 | 一种协同模块间消息更新的方法、装置及系统 |
CN110347954B (zh) * | 2019-05-24 | 2021-06-25 | 因特睿科技有限公司 | 面向复杂Web应用的服务化方法 |
-
2020
- 2020-02-21 CN CN202010108739.XA patent/CN111273934B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296236A (zh) * | 2008-06-12 | 2008-10-29 | 北京中星微电子有限公司 | 多用户实时访问多媒体数据的方法、系统及数据客户端 |
CN104183023A (zh) * | 2014-07-25 | 2014-12-03 | 天津多微信息技术有限公司 | 一种分布式虚拟环境中多场景图的构建方法 |
CN110597602A (zh) * | 2019-09-17 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 一种事务处理方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Dynamic Handling for Cooperating Scientific Web Services;Reginald Cushing等;《2011 IEEE Seventh International Conference on eScience》;第232-239页 * |
基于Android的手机网络新闻客户端设计与实现;周明;《中国优秀硕士学位论文全文数据库 信息科技辑》;第I138-708页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111273934A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210208951A1 (en) | Method and apparatus for sharing gpu, electronic device and readable storage medium | |
EP3862894A1 (en) | Data processing methods, data processing apparatuses, electronic devices, and storage media | |
US9754018B2 (en) | Rendering interpreter for visualizing data provided from restricted environment container | |
EP3822777A1 (en) | Methods for processing mini program, and related devices | |
KR20220001008A (ko) | 분산 훈련 방법, 시스템, 기기, 저장 매체 및 프로그램 | |
US11294651B2 (en) | Code execution method, device, and rendering apparatus | |
JP7167222B2 (ja) | アプレットデータの取得方法、装置、機器及び記憶媒体 | |
CN111694857B (zh) | 存储资源数据的方法、装置、电子设备及计算机可读介质 | |
EP3869336A1 (en) | Method and apparatus for processing development machine operation task, device and storage medium | |
CN110704162A (zh) | 物理机共享容器镜像的方法、装置、设备及存储介质 | |
CN112286656B (zh) | 小程序模拟方法、装置、电子设备和计算机可读存储介质 | |
CN111767090A (zh) | 小程序的启动方法、装置、电子设备以及存储介质 | |
US11615159B2 (en) | Data processing method for mini app, apparatus, device and medium | |
EP3945415A1 (en) | Method and apparatus for compilation optimization of hosted app, electronic device and readable storage medium | |
US20230179546A1 (en) | Processor and implementation method, electronic device, and storage medium | |
US20210216212A1 (en) | Method and apparatus for processing data | |
KR20210038858A (ko) | 애플리케이션의 작동 방법, 장치, 기기 및 저장매체 | |
CN111273934B (zh) | 页面更新的方法及装置 | |
US20220101216A1 (en) | Business Content Output Method, Apparatus, Storage Medium and Program Product | |
CN114443076A (zh) | 镜像构建方法、装置、设备及存储介质 | |
US11748108B2 (en) | Instruction executing method and apparatus, electronic device, and computer-readable storage medium | |
US11379201B2 (en) | Wrapping method, registration method, device, and rendering apparatus | |
WO2021147289A1 (zh) | 流式计算作业处理方法、流式计算系统及电子设备 | |
CN113726902B (zh) | 微服务的调用方法、系统、服务器、设备和存储介质 | |
JP7110294B2 (ja) | スクリーンプロジェクション方法、装置、機器及び記憶媒体 |
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 |