CN108833571B - 一种数据交互方法及装置 - Google Patents
一种数据交互方法及装置 Download PDFInfo
- Publication number
- CN108833571B CN108833571B CN201810685958.7A CN201810685958A CN108833571B CN 108833571 B CN108833571 B CN 108833571B CN 201810685958 A CN201810685958 A CN 201810685958A CN 108833571 B CN108833571 B CN 108833571B
- Authority
- CN
- China
- Prior art keywords
- end server
- application data
- data
- application
- user terminal
- 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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本申请提供一种数据交互方法及装置,前端服务器接收后端服务器发送的第二应用数据;判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同;若否,将所述第二应用数据替换掉所述前端服务器预先存储的第一应用数据进行存储。在后端服务器的数据没有更新时,后端服务器接收前端服务器转发过来的数据获取请求,然后把数据发送给前端服务器进行存储,前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端。在后端服务器的数据有更新时,通过推送的方式将更新的数据发送给前端服务器进行存储,前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端,从而有效地解决了数据传递的实时性差的问题。
Description
技术领域
本申请涉及计算机应用层通信的技术领域,涉及一种数据交互方法及装置。
背景技术
在外汇市场中汇率波动瞬息万变,公司客户由于单笔资金数额很大,细微的汇率波动都会导致银行和客户资金发生较大风险,所以客户到柜面做外汇期权交易的时候,为了保障客户利益,客户可以选择询价模式,即前端从后端拿到价格后,客户可以选择以这个价格成交,或不成交。然而在服务器后端服务器处理过程中以及客户考虑这段时间内,汇率会发生变化,为了保障银行和客户的利益最大化,要求后端服务器在发现汇率发生变动时就将最新价格反馈给前端来替换之前报给客户的价格。
目前行业内在异步业务获取数据的场景中,用户终端频繁地发送请求数据指令到服务器获取最新数据,而服务器需要从后端服务器或后端应用组件获取结果数据。这种方式不仅增加了服务器和网络带宽等资源的压力,而且用户终端无法更加及时地获得最新数据,导致数据传递的实时性差的问题。
发明内容
有鉴于此,本申请提供一种数据交互方法及装置,用于解决现有技术中数据传递的实时性差的问题。
为实现上述目的,本申请实施例提供如下技术方案:
第一方面,本申请提供了一种数据交互方法,所述数据交互方法包括:前端服务器接收后端服务器发送的第二应用数据;所述前端服务器判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同,所述第二应用数据与所述第一应用数据的标识相同;若否,所述前端服务器对所述第二应用数据进行存储,并采用所述第二应用数据替换所述第一应用数据。
第二方面,本申请还提供了一种数据交互装置,所述数据交互装置包括:数据接收模块,用于接收后端服务器发送的第二应用数据;数据判断模块,用于判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同,所述第二应用数据是更新后的所述第一应用数据;数据存储模块,用于对所述第二应用数据进行存储,所述第二应用数据将替换掉所述前端服务器预先存储的第一应用数据。
第三方面,本申请还提供了一种电子设备,包括:处理器、存储器和通信接口,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过通信接口通信,所述机器可读指令被所述处理器执行时执行第一方面中的所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面中的所述的方法。
本申请实施例提供的数据交互方法及装置,根据数据更新状态具体分为两种情况:一种情况是,在后端服务器的数据没有更新时,后端服务器只接收第一次由前端服务器转发过来的数据获取请求,然后把第一次的数据发送给前端服务器进行存储,由前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端。当用户再次发送数据获取请求时,直接由前端服务器发送之前存储的数据给用户终端,这种方式有效地减轻了后端服务器的压力和前端服务器与后端服务器之间的网络带宽资源的压力。另一种情况是,在后端服务器的数据有更新时,通过推送的方式将更新的数据发送给前端服务器进行存储,前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端,从而有效地解决了数据传递的实时性差的问题。
为使本申请的上述目的和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚的说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例中的数据交互方法的流程示意图;
图2示出了本申请实施例中的数据交互方法的完整流程图;
图3示出了本申请实施例中的数据交互方法第一部分流程图;
图4示出了本申请实施例中的方法的实施方式流程图;
图5示出了本申请实施例中的方法的实施方式步骤S210流程图;
图6示出了本申请实施例中的方法的实施方式步骤S220流程图;
图7示出了本申请实施例中的方法的实施方式步骤S230流程图;
图8示出了本申请实施例中的方法的实施方式步骤S240流程图;
图9示出了本申请第二实施例提供的数据交互装置的结构框图。
图标:100-数据交互装置;110-数据发送模块;120-数据判断模块;130-数据存储模块;140-第一响应模块;150-第一判断模块;160-第一发送模块;170-第二响应模块;180-超时判断模块;190-步骤执行模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。
在本申请的描述中,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
为了便于理解,下面先介绍本申请实施例涉及的一些缩写和概念:
超文本传输协议(HyperText Transfer Protocol,HTTP),是互联网上应用最为广泛的一种网络协议。
全球广域网(World Wide Web,WEB,亦作“Web”、“WWW”、“W3”),也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。
浏览器/服务器模式(Browser/Server,B/S),又经常被简写为BS,是WEB兴起后的一种网络结构模式,WEB浏览器是用户终端最主要的应用软件。这种模式统一了用户终端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
超文本标记语言(HyperText Markup Language,HTML),是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。
用户终端脚本语言:JavaScript,是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于用户终端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
可扩展标记语言(eXtensible Markup Language,XML)标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
异步JavaScript和XML(Asynchronous Javascript And XML,AJAX),是指一种创建交互式网页应用的网页开发技术,是一种用于创建快速动态网页的技术,一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
业务标记(businessidentity,busiId)在用户终端前端发起获取数据交易到后端服务器的过程中,请求报文中附带页面生成的唯一号。
传输控制协议/因特网互联协议(Transmission Control Protocol/InternetProtocol,TCP/IP),又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
第一实施例
图1示出了本申请实施例中的数据交互方法的流程示意图;
本申请实施例提供了一种数据交互方法,包括:
步骤S100:前端服务器接收后端服务器发送的第二应用数据;
其中,需要说明的是,本实施例中的后端服务器,若使用后端应用组件代替后端服务器,也是可以实现本申请的数据交互方法的。后端应用组件可以是放在前端服务器上,此时,后端服务器与前端服务器的交互便不再节约两者的网络带宽资源,但是仍然节约了后端应用组件的计算资源。本申请中的后端服务器、后端应用组件或后端组件的具体名称不应当理解为对本申请的限制。
步骤S110:所述前端服务器判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同,所述第二应用数据与所述第一应用数据的标识相同;
其中,需要说明的是,预先存储的第一应用数据可以是存储在文件系统中,也可以是存储在缓存数据库中,也可以是存储在关系型数据库中,也可以是存储在非关系型数据库中。这里具体的存储介质并不能理解为对本申请的限制。
步骤S120:所述前端服务器对所述第二应用数据进行存储,并采用所述第二应用数据替换所述第一应用数据。
其中,需要说明的是,将第二应用数据替换掉前端服务器预先存储的第一应用数据进行存储。前端服务器除了将第二应用数据替换掉前端服务器预先存储的第一应用数据进行存储之外,前端服务器还将busiId和请求次数记录到存储介质。
本申请实施例提供的数据交互方法,将数据更新状态具体分为两种情况:在后端服务器的数据有更新时,通过推送的方式将更新的数据发送给前端服务器进行存储,前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端,从而有效地和实时地将最新的用户终端所需要的数据传递给用户终端。
请参见图2,图2示出了本申请实施例中的数据交互方法的完整流程示意图。如上述的数据交互方法还包括以下步骤:
步骤S130:前端服务器接收用户终端发送的第一应用请求;
其中,需要说明的是,接收用户终端发送的第一应用请求。可以是基于传输控制协议/因特网互联协议(TCP/IP),也可以是基于超文本传输协议(HTTP)协议进行通信。这里的前端服务器与用户终端具体的通信方式不应理解为对本申请的限制。
步骤S140:前端服务器将存储的第二应用数据发送给用户终端。
其中,需要说明的是,将存储的第二应用数据发送给用户终端。可以是基于传输控制协议/因特网互联协议(TCP/IP),也可以是基于超文本传输协议(HTTP)协议进行通信。这里的前端服务器与用户终端具体的通信方式不应理解为对本申请的限制。
步骤S150:前端服务器接收用户终端发送的第二应用请求;
其中,需要说明的是,接收用户终端发送的第二应用请求,用户终端发送的第二应用请求报文中附带页面生成的唯一号busiId。
步骤S160:前端服务器判断第二应用请求欲请求的第三应用数据是否存储在前端服务器;若否,执行步骤S180;若是,执行步骤S170;
其中,前端服务器判断第二应用请求欲请求的第三应用数据是否存储在前端服务器,可以根据分布式的高速缓存系统(例如MemCache)中查找和判断,也可以根据内存亦可持久化的键值对数据库(例如Redis)中查找和判断。这里具体根据什么容器或组件返回的结果判断不应理解为对本申请的限制。
步骤S170:前端服务器判断第三应用数据存储在前端服务器的时间是否超时;若否,执行步骤S190;若是,执行步骤S180;
其中,需要说明的是,第三应用数据存储在前端服务器上时,也同时设置了一个定时器,该定时器同时设置了一个超时时间。当第三应用数据存储在前端服务器上开始计算,如果该时间超过了超时时间,则被判定为第三应用数据已经超时;如果该时间没有超过超时时间,则被判定为第三应用数据未超时。
步骤S180:前端服务器从后端服务器获取第三应用数据;
其中,需要说明的是,前端服务器从后端服务器获取第三应用数据。后端服务器接收到前端服务器发送来的应用请求时,会记录下业务标记busiId。
步骤S190:前端服务器将第三应用数据发送给用户终端。
其中,以上任一步骤中,前端服务器若接收到用户终端发送的结束交易请求后,前端服务器都要将结束交易请求发送至后端服务器,后端服务器接收到结束交易请求后,结束循环将最新数据发送给前端服务器,并将结束交易成功的信息返回给用户终端。前端服务器接收到结束交易成功的信息,由前端服务器再将结束交易成功的信息发送给用户终端,至此整个流程就直接结束,不再进行以下的步骤。
其中,请参加图3,图3示出了本申请实施例中的数据交互方法第一部分流程图。在步骤S100:前端服务器接收后端服务器发送的第二应用数据之前,还包括如下步骤:
步骤S101:前端服务器接收到用户终端发送的第一应用请求;
其中,用户终端发送的第一应用请求希望请求的是更新后的第一应用数据,此时的前端服务器还没有接收到第一应用请求希望请求的是更新后的第一应用数据,即第二应用数据。用户终端以轮询的方式获取次数最大的数据即为最新数据。
需要说明的是,这里的用户终端可以是个人电脑上的浏览器,也可以是浏览器里面JavaScript执行脚本,也可以是JavaScript里面的AJAX异步执行函数,也可以是服务器上的脚本执行函数。这里用户终端的具体指代名称不应理解为对本发明的限制。
步骤S102:前端服务器判断前端服务器是否已经存储第一应用数据;若是,则执行步骤S106;若否,则执行步骤S103;
其中,前端服务器判断本地是否已经存储第一应用数据,可以根据分布式的高速缓存系统(例如MemCache)中查找和判断,也可以根据内存亦可持久化的键值对数据库(例如Redis)中查找和判断。这里具体根据什么容器或组件返回的结果判断不应理解为对本申请的限制。
步骤S103:前端服务器发送用户终端发送的第一应用请求到后端服务器;
其中,需要说明的是,用户终端发送的第一应用请求报文中附带页面生成的唯一号,即业务标记(businessidentity,busiId),后面简称busiId。
步骤S104:前端服务器接收后端服务器发送的第一应用数据;
其中,需要说明的是,前端服务器和后端服务器之间的通信可以是基于进程间通信机制(例如socket),也可以是基于传输控制协议/因特网互联协议(TCP/IP),也可以是基于超文本传输协议(HTTP)协议进行通信。这里具体的通信方式不应理解为本申请的限制。
步骤S105:前端服务器存储后端服务器发送的第一应用数据;
其中,前端服务器存储后端服务器发送的第一应用数据,可以是在分布式的高速缓存系统(例如MemCache)中进行存储,也可以在内存亦可持久化的键值对数据库(例如Redis)中进行存储,也可以直接在内存中直接进行存储,也可以存储在文件系统中。这里具体在什么存储介质或者容器中存储不应理解为对本申请的限制。
步骤S106:前端服务器将存储后的第一应用数据发送给用户终端;
其中,需要说明的是,前端服务器将存储后的第一应用数据发送给用户终端,可以是基于传输控制协议/因特网互联协议(TCP/IP),也可以是基于超文本传输协议(HTTP)协议进行通信。这里的前端服务器与用户终端具体的通信方式不应理解为对本申请的限制。
步骤S107:若再次接收到用户终端发送的第一应用请求,前端服务器则执行步骤S102;
其中,需要说明的是,若再次接收到用户终端发送的第一应用请求,则执行步骤S102。这个步骤是指在将用户终端的请求处理完毕后,前端服务器始终处于等待用户终端的请求并处理用户终端的请求状态,前端服务器可以循环处理用户终端的请求,也可以优先处理某些用户终端的请求。这里前端服务器具体处理用户终端请求的具体方式不应理解为本申请的限制。
请参见图4,图4示出了本申请实施例中的数据交互方法一种实施方式的流程示意图。
步骤S210:前端页面发起获取数据交易。
其中,详情请参见图5,步骤S210包括如下具体步骤:
步骤S211:前端发起获取数据交易到后端组件,请求报文中附带页面生成的唯一号,后面流程中简称为busiId。
步骤S212:后端组件接到请求后,记录下busiId,并返回成功信息给前端。
步骤S213:后端组件返回成功信息后开始进行异步处理。
步骤S220:后端组件异步处理推送数据到前端服务器。
其中,详情请参见图6,步骤S220包括如下具体步骤:
步骤S221:后端组件循环处理数据,如有数据更新,将数据通过消息推送到前端服务器,消息中附带busiId和推送次数。
步骤S222:前端服务器接收到消息后将数据、busiId和次数插入数据库。
步骤S230:页面轮询前端服务器获取数据
其中,详情请参见图7,步骤S230包括如下具体步骤:
步骤S231:页面ajax带入busiId轮询前端数据库,获取次数最大的数据即最新数据。
步骤S232:将最新数据展示给客户确认,并继续轮询数据库。
步骤S240:页面发起结束交易
其中,详情请参见图8,步骤S240包括如下具体步骤:
步骤S241:客户确认或者超时后,发起结束交易到后端组件,请求报文带入busiId。
步骤S242:后端组件接收到结束交易后结束循环数据处理,并返回成功信息。
步骤S243:前端收到返回成功信息后流程结束。
本申请实施例提供的数据交互方法,将数据更新状态具体分为两种情况:一种情况是,在后端服务器的数据没有更新时,后端服务器只接收第一次由前端服务器转发过来的数据获取请求,然后把第一次的数据发送给前端服务器进行存储,由前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端。当用户再次发送数据获取请求时,直接由前端服务器发送之前存储的数据给用户终端,这种方式有效地节约了前端服务器与后端服务器之间的网络带宽资源,以及后端服务器的计算资源。另一种情况是,在后端服务器的数据有更新时,通过推送的方式将更新的数据发送给前端服务器进行存储,前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端,从而有效地和实时地将最新的用户终端所需要的数据传递给用户终端。
第二实施例
请参见图9,图9示出了本申请第二实施例提供的数据交互装置的结构框图。本申请第二实施例提供了一种数据交互装置100,该数据交互装置100包括:
数据发送模块110,用于接收后端服务器发送的第二应用数据;
数据判断模块120,用于判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同,所述第二应用数据是更新后的所述第一应用数据;
数据存储模块130,用于对所述第二应用数据进行存储,所述第二应用数据将替换掉所述前端服务器预先存储的第一应用数据。
第一接收模块135,用于接收用户终端发送的用于请求应用数据的第一应用请求,所述第一应用请求包括要请求的所述第二应用数据的标识;
第一响应模块140,用于响应所述第一应用请求,所述前端服务器将存储的第二应用数据发送给用户终端。
第二接收模块145,用于接收用户终端发送的用于请求应用数据的第二应用请求,所述第二应用请求包括要请求的第三应用数据的标识;
第一判断模块150,用于判断所述第三应用数据是否存储在所述前端服务器;
第一发送模块160,用于将所述第三应用数据发送给用户终端。
第二响应模块170,用于若所述第三应用数据未存储在所述前端服务器,从所述后端服务器获取所述第三应用数据,将所述第三应用数据发送给用户终端。
超时判断模块180,用于判断所述第三应用数据存储在所述前端服务器的时间是否超时;
步骤执行模块190,用于从所述后端服务器获取所述第三应用数据,并将获取的所述第三应用数据发送给用户终端。
本发明第二实施例提供的数据交互装置与第一实施例提供的数据交互方法相对应,在此便不做赘述。
第三实施例
本申请还提供了一种电子设备,包括:处理器、存储器和通信接口,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过通信接口通信,所述机器可读指令被所述处理器执行时执行第一实施例中的所述的方法。
第四实施例
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例中的所述的方法。
本申请实施例提供的数据交互方法及装置,根据数据更新状态具体分为两种情况:一种情况是,在后端服务器的数据没有更新时,后端服务器只接收第一次由前端服务器转发过来的数据获取请求,然后把第一次的数据发送给前端服务器进行存储,由前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端。当用户再次发送数据获取请求时,直接由前端服务器发送之前存储的数据给用户终端,这种方式有效地减轻了后端服务器的压力和前端服务器与后端服务器之间的网络带宽资源的压力。另一种情况是,在后端服务器的数据有更新时,通过推送的方式将更新的数据发送给前端服务器进行存储,前端服务器来接收用户终端的数据获取请求,并发送数据给用户终端,从而有效地保证了数据传递的有效性和实时性。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (6)
1.一种数据交互方法,其特征在于,所述数据交互方法包括:
前端服务器接收后端服务器发送的第二应用数据;
所述前端服务器判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同,所述第二应用数据与所述第一应用数据的标识相同;
若否,所述前端服务器对所述第二应用数据进行存储,并采用所述第二应用数据替换所述第一应用数据;
所述方法还包括:所述前端服务器接收用户终端发送的用于请求应用数据的第二应用请求,所述第二应用请求包括要请求的第三应用数据的标识;所述前端服务器判断所述第三应用数据是否存储在所述前端服务器;若是,所述前端服务器将所述第三应用数据发送给用户终端;其中,所述判断所述第三应用数据是否存储在所述前端服务器,包括:判断在MemCache中是否查找到所述第三应用数据,若是,则确定所述第三应用数据存储在所述前端服务器,否则,确定所述第三应用数据不存储在所述前端服务器;
在所述前端服务器判断所述第三应用数据是否存储在所述前端服务器之后,所述方法还包括:若所述第三应用数据未存储在所述前端服务器,所述前端服务器从所述后端服务器获取所述第三应用数据,所述前端服务器将所述第三应用数据发送给用户终端;若所述前端服务器接收到所述用户终端发送的结束交易请求,则将所述结束交易请求发送至所述后端服务器,以使所述后端服务器结束循环并返回结束交易成功信息;所述前端服务器在接收到所述后端服务器发送的所述结束交易成功信息后,将所述结束交易成功信息发送给所述用户终端。
2.如权利要求1所述的数据交互方法,其特征在于,在所述前端服务器将所述第二应用数据替换掉所述前端服务器预先存储的第一应用数据进行存储之后,所述方法还包括:
所述前端服务器接收用户终端发送的用于请求应用数据的第一应用请求,所述第一应用请求包括要请求的所述第二应用数据的标识;
所述前端服务器响应所述第一应用请求,所述前端服务器将存储的第二应用数据发送给用户终端。
3.如权利要求1所述的数据交互方法,其特征在于,所述前端服务器将所述第三应用数据发送给用户终端,包括:
所述前端服务器判断所述第三应用数据存储在所述前端服务器的时间是否超时;
若是,则所述前端服务器从所述后端服务器获取所述第三应用数据,并将获取的所述第三应用数据发送给用户终端。
4.一种数据交互装置,其特征在于,所述数据交互装置包括:
数据接收模块,用于前端服务器接收后端服务器发送的第二应用数据;
数据判断模块,用于判断所述后端服务器发送的第二应用数据是否与所述前端服务器预先存储的第一应用数据相同,所述第二应用数据是更新后的所述第一应用数据;
数据存储模块,用于对所述第二应用数据进行存储,所述第二应用数据将替换掉所述前端服务器预先存储的第一应用数据;
所述数据交互装置还包括:第二接收模块,用于接收用户终端发送的用于请求应用数据的第二应用请求,所述第二应用请求包括要请求的第三应用数据的标识;第一判断模块,用于判断所述第三应用数据是否存储在所述前端服务器;第一发送模块,用于将所述第三应用数据发送给用户终端;其中,所述判断所述第三应用数据是否存储在所述前端服务器,包括:判断在MemCache中是否查找到所述第三应用数据,若是,则确定所述第三应用数据存储在所述前端服务器,否则,确定所述第三应用数据不存储在所述前端服务器;
所述数据交互装置还包括:第二响应模块,用于若所述第三应用数据未存储在所述前端服务器,从所述后端服务器获取所述第三应用数据,将所述第三应用数据发送给用户终端;若所述前端服务器接收到所述用户终端发送的结束交易请求,则将所述结束交易请求发送至所述后端服务器,以使所述后端服务器结束循环并返回结束交易成功信息;所述前端服务器在接收到所述后端服务器发送的所述结束交易成功信息后,将所述结束交易成功信息发送给所述用户终端。
5.如权利要求4所述的数据交互装置,其特征在于,所述数据交互装置还包括:
第一接收模块,用于接收用户终端发送的用于请求应用数据的第一应用请求,所述第一应用请求包括要请求的所述第二应用数据的标识;
第一响应模块,用于响应所述第一应用请求,所述前端服务器将存储的第二应用数据发送给用户终端。
6.如权利要求4所述的数据交互装置,其特征在于,所述数据交互装置还包括:
超时判断模块,用于判断所述第三应用数据存储在所述前端服务器的时间是否超时;
步骤执行模块,用于从所述后端服务器获取所述第三应用数据,并将获取的所述第三应用数据发送给用户终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685958.7A CN108833571B (zh) | 2018-06-28 | 2018-06-28 | 一种数据交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685958.7A CN108833571B (zh) | 2018-06-28 | 2018-06-28 | 一种数据交互方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833571A CN108833571A (zh) | 2018-11-16 |
CN108833571B true CN108833571B (zh) | 2021-08-13 |
Family
ID=64137987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810685958.7A Active CN108833571B (zh) | 2018-06-28 | 2018-06-28 | 一种数据交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833571B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166561B (zh) * | 2019-05-24 | 2022-04-15 | 北京旷视科技有限公司 | 可穿戴设备的数据处理方法、装置、系统、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780636A (zh) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种缓存数据处理方法和系统 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5863388B2 (ja) * | 2011-10-27 | 2016-02-16 | キヤノン株式会社 | 情報処理システム及びその制御方法、並びにプログラム |
-
2018
- 2018-06-28 CN CN201810685958.7A patent/CN108833571B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780636A (zh) * | 2012-10-17 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种缓存数据处理方法和系统 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108833571A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10250526B2 (en) | Method and apparatus for increasing subresource loading speed | |
US10120847B2 (en) | Methods for transforming requests for web content and devices thereof | |
US9459888B2 (en) | Implementing browser based hypertext transfer protocol session storage | |
US20050108418A1 (en) | Method and system for updating/reloading the content of pages browsed over a network | |
CN107872437B (zh) | 一种用于业务请求的方法、装置及服务器 | |
US20040068579A1 (en) | System and method to refresh proxy cache server objects | |
CN110020367B (zh) | 一种页面渲染方法及装置 | |
JP6414855B2 (ja) | ページオペレーション処理方法および装置、ならびに端末 | |
CA2773088A1 (en) | Methods for optimizing interaction with a form in a website page and systems thereof | |
EP1783634A1 (en) | Method and apparatus for managing and/or retrieving information relating to a user | |
US20140068412A1 (en) | Method and Apparatus of Responding to Webpage Access Request | |
CN113535267A (zh) | 小程序页面配置方法及装置、电子设备、存储介质 | |
CN108833571B (zh) | 一种数据交互方法及装置 | |
US11729248B2 (en) | Web application component migration to a cloud computing system | |
CN108021594B (zh) | 一种网页展示方法、装置及系统 | |
CN109492149B (zh) | 爬虫任务处理方法及装置 | |
CN113330432A (zh) | 搜索结果中列出的内容的异步预测性缓存 | |
US8010706B1 (en) | Method of and system for enabling offline applications | |
CN113742551A (zh) | 一种基于scrapy和puppeteer的动态数据抓取方法 | |
CN104253835B (zh) | 用户行为数据采集方法及其系统 | |
CN111273964A (zh) | 一种数据加载方法及装置 | |
EP2771799A1 (en) | Data interchange system | |
CN108334322B (zh) | 一种mvc框架的数据请求方法及系统 | |
CN102272748A (zh) | 用于增强数字内容的系统和方法 | |
CN112672187B (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 |