CN108038009B - 基于Web应用的前后端交互方法、装置及计算机设备 - Google Patents
基于Web应用的前后端交互方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN108038009B CN108038009B CN201711404883.2A CN201711404883A CN108038009B CN 108038009 B CN108038009 B CN 108038009B CN 201711404883 A CN201711404883 A CN 201711404883A CN 108038009 B CN108038009 B CN 108038009B
- Authority
- CN
- China
- Prior art keywords
- instruction
- interface
- calling method
- data
- interactive
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于Web应用的前后端交互方法、装置、计算机设备及存储介质。通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数;将所述交互指令添加到指令队列中;按照指令队列中的顺序分发所述指令队列中的交互指令,生成处理请求,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;接收对应处理后得到的处理结果;根据所述处理结果对界面上的数据或视图进行更新显示。通过这种前后端的交互方式能够有效的平衡web应用与后端的计算负荷,也提高了后前端系统的整体运行效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于Web应用的前后端交互方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的飞速发展,使用计算机设备或移动设备等进行上网的行为也日益增多。在上网过程中,一般都是前端与服务器之间的交互行为,当用户在前端界面上触发一系列的操作后,会向服务器发送对应的请求指令,再根据服务器返回的指令显示数据等。
但传统技术中,不管前端触发怎样的请求指令都会直接发送至后台,后台在处理这些指令时也不会具体情况具体分析,而是每次与请求相关的完整的表单数据都返回给前端,造成服务器计算负荷增加,也提高了通讯成本。
发明内容
基于此,有必要针对上述问题,提供一种基于Web应用的前后端交互方法、装置、计算机设备及存储介质。
一种基于Web应用的前后端交互方法,所述方法包括:
通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数;
将所述交互指令添加到指令队列中;
按照指令队列中的顺序分发所述指令队列中的交互指令,生成处理请求,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;
接收对应处理后得到的处理结果;
根据所述处理结果对界面上的数据或视图进行更新显示。
在其中一个实施例中,在所述将所述交互指令添加到指令队列中之前,还包括:
当检测到所述交互指令不涉及到后端处理逻辑时,则前端对所述交互指令进行处理,并根据所述处理结果对界面上的数据或视图进行更新显示;
当检测到所述交互指令涉及后端处理逻辑时,则进入所述将所述交互指令添加到指令队列中的步骤。
在其中一个实施例中,所述按照指令队列中的顺序分发所述指令队列中的交互指令,包括:按照指令队列中的顺序以单线程模式分发所述指令队列中的交互指令。
一种基于Web应用的前后端交互方法,所述方法包括:
获取通过web应用的前端界面交互产生的指令,所述指令中携带有调用方法和所述调用方法对应的参数;
当所述指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;
获取所述业务服务返回的处理结果,所述处理结果为所述业务服务根据所述指令中携带的调用方法和所述调用方法对应的参数进行对应处理后得到的数据;
将所述处理结果返回至所述前端以在所述前端进行界面或数据更新显示。
在其中一个实施例中,所述当所述指令中包含的调用方法涉及业务逻辑时,则将所述指令发送业务服务发起服务请求,包括:
将与所述指令中包含的数据相关的状态更新到视图状态或数据模型中;
检测所述指令中包含的调用方法是否涉及业务逻辑,若是,则向业务服务发起服务请求。
在其中一个实施例中,所述检测所述指令中包含的调用方法是否涉及业务逻辑,包括:
当检测到所述指令中包含的调用方法不涉及业务逻辑时,则根据所述指令携带的调用方法及所述调用方法对应的参数从数据库中获取对应的数据,并将包含所述数据的指令发送至所述前端进行界面或数据更新显示。
一种基于Web应用的前后端交互的装置,所述装置包括:
前端控制模块,用于通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数。
前端指令队列模块,用于将所述交互指令添加到指令队列中。
前端指令分发模块,用于按照指令队列中的顺序分发所述指令队列中的交互指令,生成处理请求,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;接收对应处理后得到的处理结果。
前端视图模块,用于根据所述处理结果对界面上的数据或视图进行更新显示。
一种基于Web应用的前后端交互的装置,所述装置包括:
后端指令分发模块,用于获取通过web应用的前端界面交互产生的指令,所述指令中携带有调用方法和所述调用方法对应的参数。
后端控制模块,用于当所述指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;获取所述业务服务返回的处理结果,所述处理结果为所述业务服务根据所述指令中携带的调用方法和所述调用方法对应的参数进行对应处理后得到的数据。
后端指令分发模块,用于将所述处理结果返回至所述前端以在所述前端进行界面或数据更新显示。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数;
将所述交互指令添加到指令队列中;
按照指令队列中的顺序分发所述指令队列中的交互指令,生成处理请求,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;
接收对应处理后得到的处理结果;
根据所述处理结果对界面上的数据或视图进行更新显示。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取通过web应用的前端界面交互产生的指令,所述指令中携带有调用方法和所述调用方法对应的参数;
当所述指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;
获取所述业务服务返回的处理结果,所述处理结果为所述业务服务根据所述指令中携带的调用方法和所述调用方法对应的参数进行对应处理后得到的数据;
将所述处理结果返回至所述前端以在所述前端进行界面或数据更新显示。
一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数;
将所述交互指令添加到指令队列中;
按照指令队列中的顺序分发所述指令队列中的交互指令,生成处理请求,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;
接收对应处理后得到的处理结果;
根据所述处理结果对界面上的数据或视图进行更新显示。
一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
获取通过web应用的前端界面交互产生的指令,所述指令中携带有调用方法和所述调用方法对应的参数;
当所述指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;
获取所述业务服务返回的处理结果,所述处理结果为所述业务服务根据所述指令中携带的调用方法和所述调用方法对应的参数进行对应处理后得到的数据;
将所述处理结果返回至所述前端以在所述前端进行界面或数据更新显示。
上述基于Web应用的前后端交互方法、装置、计算机设备及存储介质,通过web应用前端的视图界面交互产生交互指令,交互指令中携带有调用方法和调用方法对应的参数;将交互指令添加到指令队列中;按照指令队列中的顺序分发指令队列中的交互指令,生成处理请求,处理请求用于后端根据调用方法及调用方法对应的参数对交互指令进行对应处理;接收对应处理后得到的处理结果;根据处理结果对界面上的数据或视图进行更新显示。通过这种前后端的交互方式能够有效的平衡web应用与后端的计算负荷,也提高了后前端系统的整体运行效率。
附图说明
图1为一个实施例中基于Web应用的前后端交互方法的应用环境图;
图2A为一个实施例中计算机设备的内部结构示意图;
图2B为另一个实施例中计算机设备的内部结构示意图;
图3为一个实施例中基于Web应用的前后端交互方法的流程示意图;
图4为另一个实施例中基于Web应用的前后端交互方法的流程示意图;
图5为又一个实施例中基于Web应用的前后端交互方法的流程示意图;
图6为一个实施例中基于Web应用的前后端交互的示意图;
图7为一个实施例中基于Web应用的前后端交互的装置的结构框图;
图8为另一个实施例中基于Web应用的前后端交互的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了一个实施例中基于Web应用的前后端交互方法的应用环境图。参照图1,该基于Web应用的前后端交互方法可应用于基于Web应用的前后端交互的系统中,该系统包括web应用端110和后端120,其中,web应用端即为前端,web应用端110通过网络与后端120连接。web应用端110可以是但不限于各种能运行web应用的个人计算机、笔记本电脑、个人数字助理、智能手机、平板电脑、智能手表等。后端120可以是实现单一功能的服务器,也可以是实现多种功能的服务器,具体可以是独立的物理服务器,也可以是物理服务器集群。web应用端110上可通过特定的应用显示特定的web应用前端的视图界面。web应用端110运行特定的web应用,具体的,在web应用端110的视图界面上可通过交互产生交互指令,再通过前端控制器传输至前端指令队列,再传输至前端指令分发器。前端指令分发器再通过网络将交互指令发送至后端120的后端指令分发器,后端指令分发器再将该命令对应的处理请求传输至后端控制器,后端控制器在接收到对应的处理结果后再将处理结果依次返回至web应用端110的视图界面上进行数据和页面的更新显示。
图2A为一个实施例中计算机设备的内部结构示意图。该计算机设备具体可以是如图1中的web应用端110。如图2A所示,计算机设备包括通过系统总线连接的处理器、存储介质、内存储器、网络接口、显示屏和输入装置。其中,该处理器用于提供计算和控制能力,支撑整个web应用端的运行。计算机设备的存储介质存储有操作系统以及计算机程序,该计算机程序被处理器执行时,使得处理器实现一种基于Web应用的前后端交互方法。计算机设备中的内存储器也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种基于Web应用的前后端交互方法。计算机设备的网络接口用于与后端120通信,比如将通过web应用前端的视图界面交互产生交互指令发送至后端120。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是外接的键盘、触控板或鼠标等。显示屏可用于显示web应用前端的视图界面,可通过web应用前端的视图界面交互产生对应的交互指令。
图2B为一个实施例中计算机设备的内部结构示意图。该计算机设备具体可以是如图1中的后端120。如图2B所示,计算机设备包括通过系统总线连接的处理器、存储介质、内存储器、网络接口。其中,该处理器用于提供计算和控制能力,支撑整个后端的运行。计算机设备的存储介质存储有操作系统以及计算机程序,该计算机程序被处理器执行时,使得处理器实现一种基于Web应用的前后端交互方法。计算机设备中的内存储器也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种基于Web应用的前后端交互方法。计算机设备的网络接口用于与web应用端110通信,比如接收通过web应用的前端界面交互产生的指令,再将后端对该交互指令的处理结果返回至web应用端110。
本领域技术人员可以理解,图2A和图2B中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种基于Web应用的前后端交互方法,该方法以应用于如图1和图2A中所示的web应用端中进行举例说明。包括:
步骤302,通过web应用前端的视图界面交互产生交互指令,交互指令中携带有调用方法和调用方法对应的参数。
Web,World Wide Web,即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。Web应用即为可以通过Web访问的应用程序,用户只需要有浏览器即可访问应用,不需要再安装其他软件,因此一般将能在网页上进行访问的应用称为web应用。
在Web应用前端的视图界面上有多个控件按钮,也可理解为在web应用的网页上有多个控件按钮,触发点击可产生不同的交互指令。而产生的交互指令会发送至对应的服务器,再接收服务器返回的响应数据。服务器具体返回怎样的数据则由交互指令中携带的调用方法和调用方法对应的参数决定。方法(method),在面向过程的语言中称作函数(function),在汇编语言中称作子程序,是一个代码功能块,实现某个特定的功能。在实际的程序开发中,方法是一种基础的组织代码的方式,方法中会有对应的参数,用于定义调用方法时具体需要获取到的数据类型及个数,因此方法中包含的参数列表是声明方法需要从外部传入的数据类型以及个数。
步骤304,将所述交互指令添加到指令队列中。
步骤306,按照指令队列中的顺序分发指令队列中的交互指令,生成处理请求,处理请求用于后端根据调用方法及调用方法对应的参数对交互指令进行对应处理。
由于通过web应用前端的视图界面交互产生的交互指令可能会有多个,因此web应用前端产生的交互指令并不会直接发送至后端,而是会将某一个时间段内产生的交互指令先添加到指令队列中,再根据指令队列中的顺序将指令依次发送至后端。在将指令发送至后端时,其实是向后端发起了一个处理请求,后端可根据交互指令中携带的调用方法和调用方法对应的参数进行处理。
步骤308,接收对应处理后得到的处理结果。
步骤310,根据处理结果对界面上的数据或视图进行更新显示。
当后端根据接收到的处理请求,即前端发送的交互指令后,会对请求进行相应的处理产生相应的处理结果。前端则会接收到后端的处理结果,再根据具体的处理结果对界面上的数据进行更新显示,如果视图也需要对应改变的话,也对视图进行更新显示,即根据处理结果对界面上的数据或视图进行更新显示。
通过这种前后端的交互方式能够有效的平衡web应用与后端的计算负荷,也提高了后前端系统的整体运行效率。
在一个实施例中,在将交互指令添加到指令队列中之前,还包括:当检测到交互指令不涉及到后端处理逻辑时,则前端对交互指令进行处理,并根据处理结果对界面上的数据或视图进行更新显示;当检测到交互指令涉及后端处理逻辑时,则进入将交互指令添加到指令队列中的步骤。
当通过web应用前端的视图界面交互产生了交互指令时,因为部分交互指令并不涉及后端处理逻辑,因此并不是每个交互指令都需要发送至后端,而是前端会将这部分不涉及后端处理逻辑的交互指令自行处理。比如,当交互指令只涉及到界面显示样式相关时,则只需要前端进行页面上样式的更新显示而已,并不需要后端的参与,那么这些交互指令前端产生后就不会发送至后端,而是直接进行处理,并对界面上的数据或视图进行相应的更新显示。
前端的框架可为MVC(Model View Controller,模型-视图-控制器)框架。Model表示应用程序核心,视图View,即显示数据,而控制器Controller则处理输入。因此通过视图View触发交互指令,模型则对产生的交互指令进行处理,比如判断是否涉及后端处理逻辑,若是不涉及则可以由前端直接处理。而前端控制器则负责将指令加入到队列中,再发送至后端等。这种方式较少了后端的处理压力,提高了处理效率。
在一个实施例中,按照指令队列中的顺序分发指令队列中的交互指令,包括:按照指令队列中的顺序以单线程模式分发指令队列中的交互指令。
程序指由源代码生成的可执行应用,一个正在运行的程序可以看做一个进程,线程则为程序中独立运行的代码段。一个进程是由一或多个线程组成,进程只负责资源的调度和分配,线程才是程序真正的执行单元,负责代码的执行。那么单线程则指进程只有一个线程,即在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。
当通过web应用的前端界面交互产生了多个交互指令后,这些交互指令会先加入到指令队列中,然后指令队列会将队列中的指令依次分发,而分发时以单线程模式分发,这种方式有效的保证了指令的有序性。
如图4所示,在一个实施例中,提供了一种基于Web应用的前后端交互方法,该方法以应用于如图1和图2B中所示的后端中进行举例说明。包括:
步骤402,获取通过web应用的前端界面交互产生的指令,指令中携带有调用方法和调用方法对应的参数。
在web应用前端的视图界面上,可通过触发界面控件按钮产生不同的交互指令,每个交互指令由于需要后端进行不同的处理,因此在指令会携带有调用方法和调用方法对应的参数,前端会将这些交互指令发送至后端以后,后端会根据接收到的指令中携带的调用方法和调用方法对应的参数进行对应的处理。
步骤404,当指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求。
步骤406,获取业务服务返回的处理结果,处理结果为业务服务根据指令中携带的调用方法和调用方法对应的参数进行对应处理后得到的数据。
步骤408,将处理结果返回至前端以在前端进行界面或数据更新显示。
由于指令中包含有调用方法和调用方法对应的参数,因此后端可根据指令中携带的调用的方法和对应的参数获知此指令是否涉及到后端的业务逻辑,若是涉及,则向业务服务发起服务请求,再获取到业务服务返回的处理结果并返回至前端。前端在接收到后端返回的处理结果时,则根据处理结果将前端的界面或数据进行对应更新显示。后端控制器会对交互指令进行相应的分发处理,提高了后端对前端发送的指令的处理效率。
在一个实施例中,当指令中包含的调用方法涉及业务逻辑时,则将指令发送业务服务发起服务请求,包括:将与指令中包含的数据相关的状态更新到视图状态或数据模型中;检测指令中包含的调用方法是否涉及业务逻辑,若是,则向业务服务发起服务请求。
在后端也使用了MVC框架,后端控制器负责接收前端控制器发送的指令,在接收到指令后,首先会判断该指令是否涉及业务逻辑,若是涉及,则后端控制器会向业务服务发起服务请求。若是不涉及,则直接对该指令进行处理,比如将对应的数据获取之类的。在将指令处理时,后端控制器还会先将该指令相关的状态更新到后端的视图状态(View)或数据模型(Model)中。这种判断模式可以快速的对指令进行处理,有效的提高了处理效率。
在一个实施例中,检测指令中包含的调用方法是否涉及业务逻辑,包括:当检测到指令中包含的调用方法不涉及业务逻辑时,则根据指令携带的调用方法及调用方法对应的参数从数据库中获取对应的数据,并将包含数据的指令发送至前端进行界面或数据更新显示。
后端在接收到前端发送的交互指令后,会检测该指令是否涉及业务逻辑,若是涉及,则向业务服务发起服务请求;若是不涉及业务逻辑,比如只涉及数据获取这一部分,那么则可以直接从后端的表单数据表中将对应的数据取出,再对应返回至前端即可,前端在接收到后端返回的处理结果时,则根据处理结果将前端的界面或数据进行对应更新显示。不涉及业务服务,比如不涉及对数据修改的业务,那么无需等待业务服务的响应了,而是直接将数据获取则立即返回至前端了,提高了对指令的处理效率。
如图5所示,在一个实施例中,提供了一种基于Web应用的前后端交互方法,包括:
步骤502,通过前端视图产生交互指令,将交互指令发送至前端控制器。
步骤504,前端控制器将交互指令添加到前端指令队列中,再通过前端指令分发器将指令进行分发。
步骤506,后端指令分发器接收到前端指令分发器发送的交互指令后,将交互指令发送至后端控制器。
步骤508,后端控制器将交互指令进行分发后,并接收处理结果。
步骤510,将处理结果依次返回至前端。
在前端视图界面可通过各种触发操作产生一个或多个交互指令,然后前端视图将产生的交互指令发送至前端控制器,前端控制器并不会直接将交互指令发送至后端,而是会先判断该交互指令是否涉及到后端处理逻辑,若是不涉及才会将该交互指令添加到前端指令队列中,由前端指令分发器负责指令的分发;否则前端则会自行对该交互指令进行处理。比如当视图界面上某一个金额字段值为负数时,就将该字段设置为红色,那么这是交互指令并不涉及到后端逻辑处理,而是只需要修改前端页面模型中对应的控件的颜色值,一旦模型值改变,将触发值改变事件,从而即可更新前端视图显示。
然后前端指令分发器会将交互指令发送至后端指令分发器,后端指令分发器再将交互指令发送至后端控制器,后端控制器首先会将交互指令相关的状态更新到后端视图状态或数据模型中,同时也会对接收到的指令进行一个判断,判断是否涉及业务逻辑,若是涉及到业务逻辑,则向业务服务发起服务请求;若不涉及到业务逻辑,则比如只涉及数据获取这一部分,那么则可以直接从后端的表单数据表中将对应的数据取出。然后再获取到业务服务返回的处理结果并再传输至后端指令分发器,再由后端指令分发器将处理结果传输至前端指令分发器,后端传输至前端的其实也是指令。然后前端指令分发器再传输至前端指令队列,通过前端指令队列按照顺序再传输至前端控制器,再进一步传输至前端视图,完成前端视图上的数据或页面的更新显示。
具体的传输过程可参照图6所示,根据图6中箭头的指向,可看出交互指令的流向过程。通过这种前后端均设计了一套独立的MVC框架的模式,可将前后端的交互分离,前端没有涉及到后端逻辑处理的则不会发送至后端,后端无需处理这种无关的指令。这种交互方式有效的平衡了浏览器和服务端计算负荷,提高了系统整体运行效率。
在一个实施例中,如图7所示,提供了一种基于Web应用的前后端交互的装置,包括:
前端控制模块702,用于通过web应用前端的视图界面交互产生交互指令,交互指令中携带有调用方法和调用方法对应的参数。
前端指令队列模块704,用于将交互指令添加到指令队列中。
前端指令分发模块706,用于按照指令队列中的顺序分发指令队列中的交互指令,生成处理请求,处理请求用于后端根据调用方法及调用方法对应的参数对交互指令进行对应处理;接收对应处理后得到的处理结果。
前端视图模块708,用于根据处理结果对界面上的数据或视图进行更新显示。
在一个实施例中,上述前端控制模块702还用于当检测到交互指令不涉及到后端处理逻辑时,则前端对交互指令进行处理,并根据处理结果对界面上的数据或视图进行更新显示;当检测到交互指令涉及后端处理逻辑时,则进入将交互指令添加到指令队列中的步骤。
在一个实施例中,上述前端指令分发模块706还用于按照指令队列中的顺序以单线程模式分发指令队列中的交互指令。
在一个实施例中,如图8所示,也提供了一种基于Web应用的前后端交互的装置,包括:
后端指令分发模块802,用于获取通过web应用的前端界面交互产生的指令,指令中携带有调用方法和调用方法对应的参数。
后端控制模块804,用于当指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;获取业务服务返回的处理结果,处理结果为业务服务根据指令中携带的调用方法和调用方法对应的参数进行对应处理后得到的数据。
后端指令分发模块806,用于将处理结果返回至前端以在前端进行界面或数据更新显示。
在一个实施例中,上述后端控制模块804还用于,将与指令中包含的数据相关的状态更新到视图状态或数据模型中;检测指令中包含的调用方法是否涉及业务逻辑,若是,则向业务服务发起服务请求。
在一个实施例中,上述后端控制模块804还用于,当检测到指令中包含的调用方法不涉及业务逻辑时,则根据指令携带的调用方法及调用方法对应的参数从数据库中获取对应的数据,并将包含数据的指令发送至前端进行界面或数据更新显示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过web应用前端的视图界面交互产生交互指令,交互指令中携带有调用方法和调用方法对应的参数;将交互指令添加到指令队列中;按照指令队列中的顺序分发指令队列中的交互指令,生成处理请求,处理请求用于后端根据调用方法及调用方法对应的参数对交互指令进行对应处理;接收对应处理后得到的处理结果;根据处理结果对界面上的数据或视图进行更新显示。
在一个实施例中,计算机程序被处理器执行在将交互指令添加到指令队列中的步骤之前,包括:当检测到交互指令不涉及到后端处理逻辑时,则前端对交互指令进行处理,并根据处理结果对界面上的数据或视图进行更新显示;当检测到交互指令涉及后端处理逻辑时,则进入将交互指令添加到指令队列中的步骤。
在一个实施例中,计算机程序被处理器执行按照指令队列中的顺序分发指令队列中的交互指令的步骤时,包括:按照指令队列中的顺序以单线程模式分发指令队列中的交互指令。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取通过web应用的前端界面交互产生的指令,指令中携带有调用方法和调用方法对应的参数;当指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;获取业务服务返回的处理结果,处理结果为业务服务根据指令中携带的调用方法和调用方法对应的参数进行对应处理后得到的数据;将处理结果返回至前端以在前端进行界面或数据更新显示。
在一个实施例中,计算机程序被处理器执行当指令中包含的调用方法涉及业务逻辑时,则将指令发送业务服务发起服务请求的步骤时,包括:将与指令中包含的数据相关的状态更新到视图状态或数据模型中;检测指令中包含的调用方法是否涉及业务逻辑,若是,则向业务服务发起服务请求。
在一个实施例中,计算机程序被处理器执行检测指令中包含的调用方法是否涉及业务逻辑的步骤时,包括:当检测到指令中包含的调用方法不涉及业务逻辑时,则根据指令携带的调用方法及调用方法对应的参数从数据库中获取对应的数据,并将包含数据的指令发送至前端进行界面或数据更新显示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的非易失性存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于Web应用的前后端交互方法,应用于web应用前端,所述方法包括:
通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数;
当检测到所述交互指令只涉及界面的显示样式或数据获取时,则直接从数据库中读取对应的数据,并在界面上更新数据,或者直接在所述界面上更新显示样式;
当检测到所述交互指令涉及后端处理逻辑时,将所述交互指令添加到指令队列中;
按照指令队列中的顺序生成与所述指令队列中的交互指令对应的处理请求,通过前端指令分发器分发所述处理请求至后端,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;
通过所述前端指令分发器接收所述后端通过后端指令分发器发送的对应处理后得到的处理结果;
根据所述处理结果对界面上的数据或视图进行更新显示。
2.根据权利要求1所述的方法,其特征在于,所述视图界面上有多个控件按钮;触发不同的所述控件按钮产生不同的交互指令;所述通过web应用前端的视图界面交互产生交互指令包括:
通过触发web应用前端的视图界面上的所述控件按钮,产生与所述控件按钮对应的交互指令。
3.根据权利要求1所述的方法,其特征在于,所述按照指令队列中的顺序分发所述指令队列中的交互指令,包括:
按照指令队列中的顺序以单线程模式分发所述指令队列中的交互指令。
4.一种基于Web应用的前后端交互方法,应用于web应用后端,所述方法包括:
获取通过web应用的前端界面交互产生的指令,所述指令中携带有调用方法和所述调用方法对应的参数;
当所述指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;
获取所述业务服务返回的处理结果,所述处理结果为所述业务服务根据所述指令中携带的调用方法和所述调用方法对应的参数进行对应处理后得到的数据;
将所述处理结果返回至所述前端以在所述前端进行界面或数据更新显示;
当所述指令只涉及界面的显示样式或数据获取时,则直接由所述前端从表单数据表中读取对应的数据,并在界面上更新数据,或者直接在所述界面上更新显示样式。
5.根据权利要求4所述的方法,其特征在于,所述当所述指令中包含的调用方法涉及业务逻辑时,则将所述指令发送业务服务发起服务请求,包括:
将与所述指令中包含的数据相关的状态更新到视图状态或数据模型中;
检测所述指令中包含的调用方法是否涉及业务逻辑,若是,则向业务服务发起服务请求。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当检测到所述指令中包含的调用方法不涉及业务逻辑时,则根据所述指令携带的调用方法及所述调用方法对应的参数从数据库中获取对应的数据,并将包含所述数据的指令发送至所述前端进行界面或数据更新显示。
7.一种基于Web应用的前后端交互的装置,其特征在于,所述装置包括:
前端控制模块,用于通过web应用前端的视图界面交互产生交互指令,所述交互指令中携带有调用方法和所述调用方法对应的参数;
前端视图模块,用于当检测到所述交互指令只涉及界面的显示样式或数据获取时,则直接从数据库中读取对应的数据,并在界面上更新数据,或者直接在所述界面上更新显示样式;
前端指令队列模块,用于当检测到所述交互指令涉及后端处理逻辑时,将所述交互指令添加到指令队列中;
前端指令分发模块,用于按照指令队列中的顺序生成与所述指令队列中的交互指令对应的处理请求,通过前端指令分发器分发所述处理请求至后端,所述处理请求用于后端根据所述调用方法及所述调用方法对应的参数对所述交互指令进行对应处理;通过所述前端指令分发器接收所述后端通过后端指令分发器发送的对应处理后得到的处理结果;
前端视图模块,用于根据所述处理结果对界面上的数据或视图进行更新显示。
8.一种基于Web应用的前后端交互的装置,其特征在于,所述装置包括:
后端指令分发模块,用于获取通过web应用的前端界面交互产生的指令,所述指令中携带有调用方法和所述调用方法对应的参数;
后端控制模块,用于当所述指令中包含的调用方法涉及业务逻辑时,则向业务服务发起服务请求;获取所述业务服务返回的处理结果,所述处理结果为所述业务服务根据所述指令中携带的调用方法和所述调用方法对应的参数进行对应处理后得到的数据;
后端指令分发模块,用于将所述处理结果返回至所述前端以在所述前端进行界面或数据更新显示;当所述指令只涉及界面的显示样式或数据获取时,则直接由所述前端从表单数据表中读取对应的数据,并在界面上更新数据,或者直接在所述界面上更新显示样式。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711404883.2A CN108038009B (zh) | 2017-12-22 | 2017-12-22 | 基于Web应用的前后端交互方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711404883.2A CN108038009B (zh) | 2017-12-22 | 2017-12-22 | 基于Web应用的前后端交互方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038009A CN108038009A (zh) | 2018-05-15 |
CN108038009B true CN108038009B (zh) | 2021-02-02 |
Family
ID=62100653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711404883.2A Active CN108038009B (zh) | 2017-12-22 | 2017-12-22 | 基于Web应用的前后端交互方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038009B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888661A (zh) * | 2018-09-11 | 2020-03-17 | 传线网络科技(上海)有限公司 | 数据同步方法及装置 |
CN109683875B (zh) * | 2018-12-10 | 2022-04-19 | 四川长虹电器股份有限公司 | 分布式环境下mvc模式的应用框架系统及其方法 |
CN110321464B (zh) * | 2019-05-30 | 2022-03-18 | 南京苏宁加电子商务有限公司 | 一种基于单向数据流的页面视图的更新方法及装置 |
CN110457107B (zh) * | 2019-08-09 | 2021-01-15 | 珠海格力电器股份有限公司 | 组态软件操作指令管理方法、装置和系统 |
CN110489250A (zh) * | 2019-08-26 | 2019-11-22 | 携程计算机技术(上海)有限公司 | 基于事件的可配置化的执行操作方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934191B2 (en) * | 2007-04-10 | 2011-04-26 | Sap Portals IL | Method and modules for generating client-server applications |
CN101446892B (zh) * | 2007-11-26 | 2013-03-27 | 康佳集团股份有限公司 | 一种mvc模型系统数据处理方法及mvc模型系统 |
CN101232505B (zh) * | 2008-01-17 | 2012-07-18 | 中山大学 | 基于mvc架构的ria分层框架的接口系统 |
CN102650952A (zh) * | 2011-02-28 | 2012-08-29 | 北京航空航天大学 | 基于mvc框架的建模工具命令调用方法及系统 |
CN106657232A (zh) * | 2016-09-29 | 2017-05-10 | 山东浪潮商用系统有限公司 | 一种分布式服务器架构及其服务方法 |
-
2017
- 2017-12-22 CN CN201711404883.2A patent/CN108038009B/zh active Active
Non-Patent Citations (1)
Title |
---|
基于MVC模式的WEB前端开发研究与应用;姚腾辉;《中国优秀硕士学位论文全文数据库信息科技辑》;20170215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108038009A (zh) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038009B (zh) | 基于Web应用的前后端交互方法、装置及计算机设备 | |
CN107391114B (zh) | 页面可视化渲染方法及装置 | |
WO2020007146A1 (zh) | 程序的运行方法、装置、计算设备以及存储介质 | |
CN105612511B (zh) | 标识并结构化相关数据 | |
US11681507B2 (en) | Composable context menus | |
CN111124668B (zh) | 内存释放方法、装置、存储介质及终端 | |
US10148790B2 (en) | Deployment of integrative HTML-based engine from an edge server | |
CN112099684A (zh) | 一种搜索展示方法、装置及电子设备 | |
CN112784200A (zh) | 页面数据处理方法、装置、设备、介质和计算机程序产品 | |
CN112988185A (zh) | 云应用更新方法、装置、系统、电子设备及存储介质 | |
EP2769302B1 (en) | Use of dynamic profiles for creating and using a distributed computing environment | |
CN108319474B (zh) | 一种页面信息生成方法、装置和设备 | |
KR102205686B1 (ko) | 후보 문자 순위화 방법 및 장치와 문자 입력 방법 및 장치 | |
US11468125B2 (en) | Resource search method and related product | |
US9916391B2 (en) | Method, apparatus and terminal for webpage content browsing | |
CN114816389B (zh) | 一种基于元模型的管理系统搭建方法、装置、设备及介质 | |
CN110597585A (zh) | 应用程序页面展示方法、装置、计算机设备及存储介质 | |
CN109445779A (zh) | 多语言用户界面的渲染方法及终端设备 | |
CN115543534A (zh) | 训练任务的管理方法、装置、电子设备及存储介质 | |
CN109840113A (zh) | 一种应用数据处理方法及其设备、存储介质、终端 | |
CN113656439A (zh) | 数据查询方法及装置、存储介质及电子设备 | |
CN109561146A (zh) | 文件下载方法、装置、终端设备 | |
CN112748835A (zh) | 终端、服务器、最近任务列表显示方法和应用推荐方法 | |
CN113535187B (zh) | 服务上线方法、服务更新方法及服务提供方法 | |
CN117170666A (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 |