发明内容
本发明的主要目的在于提供一种同步显示的数据传输方法、装置、系统和计算机存储介质,旨在通过差异化字符传输,提高服务器和客户端之间的数据传输效率。
为实现上述目的,本发明提供一种同步显示的数据传输方法,同步显示的数据传输方法包括以下步骤:
接收同步显示指令,获取服务器显示屏的初始页面;
将所述初始页面对应的第一字符串作为第一同步数据,并将所述第一同步数据发送至客户端;
接收页面更新指令,基于所述页面更新指令更新所述初始页面,并将更新后的页面作为当前页面;
获取所述当前页面对应的第二字符串,并将所述第二字符串作为第二同步数据;
将所述第一同步数据与所述第二同步数据进行比对,确定待传输数据并发送至客户端。
可选地,所述将所述第一同步数据与所述第二同步数据进行比对,确定待传输数据并发送至客户端的步骤,包括:
将所述第一同步数据与所述第二同步数据进行比对,确定差异字符信息,其中,所述差异字符信息包括差异字符和差异字符位置;
将差异字符的数量与所述第一同步数据的字符数量进行比值运算,确定差异百分比;
将所述差异百分比与预设阈值进行比较;
若所述差异百分比不超过所述预设阈值,则将所述差异字符信息作为待传输数据并发送至客户端;
若所述差异百分比超过所述预设阈值,则将第二同步数据作为待传输数据并发送至客户端。
可选地,所述将所述第一同步数据与所述第二同步数据进行比对,确定差异字符信息的步骤,包括:
获取所述第一同步数据与所述第二同步数据,根据预设动态算法对第一同步数据中包含的第一字符串和第二同步数据中包含的第二字符串进行分块;
将分块完成的所述第一字符串和所述第二字符串进行比对,得到差异字符和差异字符位置,并将所述差异字符和所述差异字符位置信息作为差异字符信息。
此外,为实现上述目的,本发明提供一种同步显示的数据传输方法,同步显示的数据传输方法包括以下步骤:
同步显示的数据传输方法,所述同步显示的数据传输方法应用于客户端,所述同步显示的数据传输方法包括以下步骤:
接收服务器发送的第一同步数据,根据所述第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示;
接收第二传输数据,判断所述第二传输数据是否为差异字符信息;
若所述第二传输数据不是差异字符信息,则通过所述第二传输数据渲染出新的同步页面;
若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面。
可选地,所述若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面的步骤,包括:
若所述第二传输数据是差异字符信息,则获取所述差异字符信息中包含的差异字符和差异标识;
根据所述差异标识和预设位置坐标规则,确定差异字符位置;
根据所述差异字符、所述差异字符位置和所述第一同步数据,确定第二传输数据对应页面的第二字符串,并渲染出新的同步页面。
可选地,所述根据所述差异字符、所述差异字符位置和所述第一同步数据,确定第二传输数据对应页面的第二字符串,并渲染出新的同步页面的步骤,包括:
获取所述第一同步数据中包含的第一字符串,将所述第一字符串作为新同步页面的基础字符串;
将基础字符串中差异字符位置对应的字符替换为差异字符,得到第二传输数据对应的第二字符串;
将所述第二传输数据对应的第二字符串,渲染出新的同步页面。
此外,为实现上述目的,本发明还提供一种同步显示的数据传输装置,所述同步显示的数据传输装置包括:
接收获取模块,用于接收同步显示指令,获取服务器显示屏的初始页面;
数据发送模块,用于将所述初始页面对应的第一字符串作为第一同步数据,并将所述第一同步数据发送至客户端;
页面更新模块,用于接收页面更新指令,基于所述页面更新指令更新所述初始页面,并将更新后的页面作为当前页面;
获取数据模块,获取所述当前页面对应的第二字符串,并将所述第二字符串作为第二同步数据;
比对发送模块,用于将所述第一同步数据与所述第二同步数据进行比对,确定待传输数据并发送至客户端。
此外,为实现上述目的,本发明还提供一种同步显示的数据传输装置,所述同步显示的数据传输装置包括:
接收显示模块,用于接收服务器发送的第一同步数据,根据所述第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示;
接收判断模块,用于接收第二传输数据,判断所述第二传输数据是否为差异字符信息;
第一渲染模块,用于若所述第二传输数据不是差异字符信息,则通过所述第二传输数据渲染出新的同步页面;
第二渲染模块,用于若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面。
此外,为实现上述目的,本发明还提供一种同步显示的数据传输系统,同步显示的数据传输系统包括通信连接的服务器和客户端;
所述服务器包括:第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的所述同步显示的数据传输程序;所述同步显示的数据传输程序被第一处理器执行时实现以下步骤包括:
接收同步显示指令,获取服务器显示屏的初始页面;
将所述初始页面对应的第一字符串作为第一同步数据,并将所述第一同步数据发送至客户端;
接收页面更新指令,基于所述页面更新指令更新所述初始页面,并将更新后的页面作为当前页面;
获取所述当前页面对应的第二字符串,并将所述第二字符串作为第二同步数据;
将所述第一同步数据与所述第二同步数据进行比对,确定待传输数据并发送至客户端;
所述客户端包括:第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的所述同步显示的数据传输程序;所述同步显示的数据传输程序被第二处理器执行时实现以下步骤包括:
接收服务器发送的第一同步数据,根据所述第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示;
接收第二传输数据,判断所述第二传输数据是否为差异字符信息;
若所述第二传输数据不是差异字符信息,则通过所述第二传输数据渲染出新的同步页面;
若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面。
此外,为实现上述目的,本发明还提供一种计算机存储介质;
计算机存储介质上存储有同步显示的数据传输程序,同步显示的数据传输程序被处理器执行时实现上述的同步显示的数据传输方法的步骤。
本发明实施例提出的同步显示的数据传输方法、装置、系统和计算机存储介质,服务器接收同步显示指令,获取服务器显示屏的初始页面,服务器将初始页面对应的第一字符串作为第一同步数据,并将第一同步数据发送至客户端;客户端接收第一同步数据,确定第一同步数据所属应用,并开启应用并再客户端渲染出初始页面,以完成初始页面同步显示;服务器接收页面更新指令,基于页面更新指令更新页面,并将更新的页面作为当前页面;服务器获取当前页面对应的第二字符串,并将第二字符串作为第二同步数据;服务器将第一同步数据与第二同步数据进行比对,确定差异字符信息,并将差异字符信息作为待传输数据并发送至客户端,客户端根据传输数据进行对应页面的渲染。同时客户端将页面对应的字符串更新到内存中;以此类推进行同步页面的数据传输,通过第二传输数据与初始传输数据比对,确定差异化字符串,再将差异化字符串进行传输,减少了页面显示的数据传输量,提高服务器和客户端之间的数据传输效率,减少网络资源浪费。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:服务器和客户端进行同步显示的数据传输时,将初始同步数据进行完整的传输,服务器更新页面后,服务器将更新的页面数据发送至客户端时,服务器获取更新页面对应的字符串,服务器将更新页面对应的字符串与初始同步数据中的字符串进行比较,若更新页面对应的字符串与初始同步数据中的字符串相差较多,则进行更新页面字符串的整体传输,若更新页面对应的字符串与初始同步数据中的字符串差异较少,则确定差异字符和差异字符位置,将确定差异字符和差异字符位置进行传输。以使客户端根据差异字符、差异字符位置、初始同步数据确定更新页面对应字符串,使客户端根据更新页面对应的字符串,进行更新页面的渲染。例如,服务器差分脚本取出当前的HTML(HyperText Markup Language,超级文本标记语言)字符串,将当前的HTML字符串的初始同步数据进行对比,按照动态规划寻找图中最短/最长路径的算法思路,寻找出最长的公共串与尽可能短的差异字符,将实际差异字符信息向客户端进行传输,客户端可根据差异字符的信息,确定新的页面信息。
由于现有技术中,页面同步显示或者页面更新时都是将全部的数据进行传输,数据传输量大,网络资源浪费严重,在批量数据传输时还可能出现数据传输错误,浪费用户的时间等不同的情况。
本发明提供一种解决方案,通过新的传输数据与初始传输数据比对,确定差异化字符串,再将差异化字符串进行传输,减少了页面显示的数据传输量,提高服务器和客户端之间的数据传输效率,减少网络资源浪费。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的同步显示的数据传输系统中终端或者服务器的结构示意图。所述服务器包括:第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的所述同步显示的数据传输程序;如图1所示,该服务器可以包括:处理器1001(例如中央处理器Central Processing Unit,CPU),网络接口1004,用户接口1003,存储器1005,通信总线1002、芯片组、磁盘系统、网络等硬件等。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WIFI接口)。存储器1005可以是高速随机存取存储器(random accessmemory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,如RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及同步显示的数据传输应用程序。
在图1所示的服务器中,网络接口1004主要用于连接后台数据库,与后台数据库进行数据通信;用户接口1003主要用于连接客户端(客户端,又叫用户端或终端,所述客户端包括:第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的所述同步显示的数据传输程序。
服务器与客户端进行数据通信;而处理器可以用于调用存储器中存储的同步显示的数据传输应用程序,并执行本发明以下实施例提供的同步显示的数据传输方法中的步骤。
参照图2,本发明同步显示的数据传输方法的第一实施例中,同步显示的数据传输方法包括:
步骤S10,接收同步显示指令,获取服务器显示屏的初始页面;
服务器接收同步显示指令,其中,触发同步显示指令的方式较多,可以是用户在客户端上的浏览器或者其他应用软件上触发同步显示请求,客户端将同步显示请求发送至服务器,使服务器接收同步显示指令;也可以是用户在服务器上触发同步显示指令,服务器接收同步显示指令;还可以是预先设置同步显示触发条件,在服务器检测到达预设时间或者对应触发条件时,服务器自动触发同步显示指令,在服务器接收到同步显示指令时,服务器获取显示屏的初始页面,即,服务器确定同步显示指令对应的应用软件显示页面或者浏览器网络页面。
步骤S20,将初始页面对应的第一字符串作为第一同步数据,并将第一同步数据发送至客户端;
服务器将初始页面对应的初始字符串作为初始同步数据,其中,本实施例中为了方便理解,可以将第一与初始的进行对应,第二与当前的进行对应。即,服务器首次向客户端发送页面对应的字符串,服务器将初始同步数据保存至本地存储并将初始同步数据发送至客户端,以使客户端根据接收到的初始同步数据,渲染出初始同步数据对应的初始同步页面。
步骤S30,接收页面更新指令,基于页面更新指令更新页面,并将更新的页面作为当前页面;
服务器接收页面更新指令,其中,触发页面更新指令的方式较多,可以是用户在客户端上的浏览器或者其他应用软件上触发页面更新请求,客户端将页面更新请求发送至服务器,使服务器接收页面更新指令,例如,用户在手机上点击虚拟按键“下一页”,触发客户端页面更新请求,客户端将页面更新请求转化为对应指令发送至服务器,也可以是用户在服务器上触发页面更新指令,服务器接收页面更新指令,还可以是预先设置页面更新指令触发条件,在服务器检测到满足触发条件时,服务器自动触发页面更新指令,服务器基于页面更新指令更新页面,并将更新的页面作为当前页面,在服务器检测到页面更新时,服务器将更新的页面作为新的同步显示页面,并将新的同步显示页面与客户端同步。
步骤S40,获取当前页面对应的第二字符串,并将第二字符串作为第二同步数据;
服务器获取当前页面对应的当前字符串,即,服务器检测到显示屏上的显示页面发生变更时,服务器同时将更新的显示页面同步至客户端,具体地,服务器获取显示屏当前页面对应的当前字符串,服务器将当前字符串作为当前同步数据。
步骤S50,将第一同步数据与第二同步数据进行比对,确定待传输数据并发送至客户端。
服务器将初始同步数据与当前同步数据进行比对,即,服务器获取内存中的初始同步数据,将初始同步数据中的初始字符串与当前同步数据中当前字符串进行比对,确定初始字符串与当前字符串的差异字符,并将差异字符的字符量是否超过所述预设阈值,若差异字符的字符量超过所述预设阈值,即,初始同步数据与当前同步数据相近,初始字符串与当前字符串的差异字符较少,则服务器将差异字符信息(其中,差异字符信息包括但不尽限于差异字符、差异字符位置、差异字符个数)发送至客户端,以使客户端根据差异字符信息和初始同步数据确定新的同步页面。
例如,在服务器页面更新时,会存在页面中信息相近的情况,在本实施例中将页面中的信息进行比对,至将差异的字符信息发送至客户端,使客户端可以根据初始同步数据与差异同步数据渲染出新的页面信息,实现客户端和服务器的同步显示。
在本实施例中服务器将初始同步页面的数据信息发送至客户端,客户端将初始同步页面对应的字符串更新到内存中,在服务器端的页面发生变更时,服务器将更新的页面信息与初始同步数据进行比对,确定差异字符信息,并将差异字符信息作为待传输数据并发送至客户端,客户端根据传输的差异字符信息和初始同步页面的字符串信息,进行新的同步显示页面的渲染。通过新的传输数据与初始传输数据比对,确定差异化字符串,再将差异化字符串进行传输,减少了页面显示的数据传输量,提高服务器和客户端之间的数据传输效率,减少网络资源浪费。
进一步的,参照图3,在本发明第一实施例的基础上,进一步提出了本发明同步显示的数据传输方法的本实施例。
本实施例是第一实施例的优选实施方式,与本发明第一实施例的区别在于本实施例详细说明了差异字符的比对方案和待传输数据的确定方式。
本实施例是第一实施例中步骤S50的细化,同步显示的数据传输方法包括:
步骤S51,将第一同步数据与第二同步数据进行比对,确定差异字符信息。
服务器将初始同步数据与当前同步数据进行比对,即,服务器中将初始同步数据中包含的初始字符串与当前同步数据包含的当前字符串进行比对确定差异字符信息(其中,差异字符信息包括差异字符和差异字符位置)的方式较多,例如,可以采用整体字符串信息单独比对匹配的方式,也可以采用将字符串信息分块比对的方式。
优选地,步骤S51差异字符的比对方案包括以下步骤:
步骤S511,获取第一同步数据与第二同步数据,根据预设动态算法对第一同步数据中包含的第一字符串和第二同步数据中包含的第二字符串进行分块;
服务器获取初始同步数据与当前同步数据,根据预设动态算法(预设动态算法是指动态规划思想设置的方法,例如,服务器将初始字符串与当前字符串两段文字之间,由文字A转变成文字B所需的最少编辑次数。依据动态规划思想,定义允许的编辑次数包括增、删、改,即在特定文字增加文字,删除特定位置的文字,替换特定位置的文字所设置的算法)服务器将初始同步数据中包含的初始字符串和当前同步数据中包含的当前字符串进行分块处理。
步骤S512,将分块完成的第一字符串和第二字符串进行比对,得到差异字符和差异字符位置,并将差异字符和差异字符位置信息作为差异字符信息。
服务器将分块完成的第一字符串和第二字符串进行比对,得到差异字符或/和差异字符串,进一步地,服务器确定差异字符/和差异字符串的位置,并将差异字符和差异字符位置信息作为差异字符信息。
例如,服务器预设动态算法,将如下HTLM代码编码成的,编码成字符串,成为这样:<!DOCTYPE html><html><head><title>实时页面高效传输</title></head><body><h3>原始页面一</h3><p>ABCDEFG</p></body></html>服务器检查本地内存没有公共代码串,即,服务器还没往客户端发送过页面,服务器将上面的字符串全部发往客户端,在服务器页面发生变化时,此时页面对应的html必定发生变化,页面变化后对应的代码变成如下:服务器的显示页面为:编码成字符串成为如下:<!DOCTYPE html><html><head><title>实时页面传输</title></head><body><h3>页面二</h3><p>ABCDHGI</p></body></html>服务器通过比对页面大部分代码都是相同的,无须多次往客户端发送。服务器比对出差异字符,并通过和客户端定义的差异字符位置信息,客户端就可以通过差异字符得出完整的页面二的代码,并在服务端渲染出对应的页面了。
服务器在页面实时传输方案中,采用的对比算法,参照动态规划思想,首先对初始页面的字符串进行分块处理,这个块大小根据实际业务进行划分,终端采用3个字符串一块进行比对。如下可以得到如下结果:对两个字符串按照每三个字符进行分块,然后逐块对比,最终得出第二个字符串与第一个字符串差异块,就在“初始页面<”和“当前页面<”,“CDE”和“CDH”,“FG<”和“GI<”三个代码块,只需要将这三个代码块及在字符串中的位置信息发送给客户端,即可还原页面代码,减少页面数据发送量。
步骤S52,将差异字符的数量与第一同步数据的数量进行比值运算,确定差异百分比;
服务器将差异字符的数量与第一同步数据的数量进行比值运算,确定差异百分比,例如,差异字符的数量为1000个,第一同步数据中字符数量为10000个,则服务器得到差异字符的数量与第一同步数据的数量的差异百分比为10%。
步骤S53,将差异百分比与预设阈值进行比较;
服务器将差异百分比与预设阈值(预设阈值:预设阈值是指差异百分比的临界值,即,差异百分比高于预设阈值,则确定初始页面与当前页面的差异较多,差异百分比不高于预设阈值,则确定初始页面与当前页面的差异较小,预设阈值根据具体情况设置,例如,预设阈值设置为30%)进行比较。
步骤S54,若差异百分比不超过所述预设阈值,则将差异字符信息作为待传输数据并发送至客户端;
若差异百分比不超过所述预设阈值,即,初始同步数据中包含的初始字符串和当前同步数据中包含的当前字符串相近,服务器确定则将差异字符信息作为待传输数据并发送至客户端。
进一步地,步骤S54,还包括:
步骤S541,若差异百分比不超过所述预设阈值,则将差异字符位置与预设位置坐标规则进行匹配,生成差异标识;
若差异百分比不超过所述预设阈值,则服务器将差异字符与预设位置坐标规则,进行匹配,即,服务器将初始同步数据与当前同步数据进行比对,得到差异字符和差异字符的位置时,服务器根据差异字符的位置和预设位置坐标规则生成差异标识,客户端接收服务器传输的差异字符和差异标识得到新的字符串进行匹配,生成差异标识。
本发明中的服务器和客户端之间保存预设位置坐标规则,又叫差异字符的位置规则,即,服务器根据差异字符在字符串位置生成差异标识,客户端可根据差异标识确定差异字符在字符串中的位置,以确定差异字符的位置信息,例如,差异字符为字符串的第三行的第五个字符,则预设位置坐标规则中表示差异字符的位置的差异标识为:3(5),同样地,差异字符为字符串的第二十行的第八个字符,则预设位置坐标规则表示差异字符的位置的差异标识为:20(8)。
步骤S542,将差异字符和差异标识作为待传输数据,并发送至客户端,以使客户端根据待传输数据和预设位置坐标规则渲染出当前页面,完成当前页面的同步显示。
服务器将差异字符和差异标识作为待传输数据,并发送至客户端,使得服务器与客户端之间传输的数据量较小,保证数据的传输效率,以使客户端根据待传输数据和预设位置坐标规则渲染出当前页面,完成当前页面的同步显示。
步骤S55,若差异百分比超过所述预设阈值,则将第二同步数据作为待传输数据并发送至客户端。
若差异百分比超过所述预设阈值,则将当前同步数据作为待传输数据并发送至客户端,即,服务器将初始同步数据中包含的数据信息与当前同步数据中的字符串比对完成后,字符差异较大,则服务器当前页面的全部字符串数据信息发送至客户端,使客户端进行页面的渲染。
在本实施例中采用动态规划算法确定差异字符信息,使得差异字符比对速率较高,服务器快速地将初始页面数据与当前页面数据进行比对,并将差异字符发送至客户端提高了数据的发送效率,与此同时,服务器与客户端定义了差异字符位置规则,服务器将少量的差异字符发送至客户端,客户端就可以还原出新的页面对应字符串,在减少网络资料消耗较少的情况下,还可以保证页面的准确性。
进一步的,参照图4,本发明同步显示的数据传输方法的第二实施例中,同步显示的数据传输方法应用于客户端,同步显示的数据传输方法包括以下步骤:
步骤S60,接收服务器发送的第一同步数据,根据所述第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示;
客户端接收第一同步数据,客户端将第一同步数据进行保存,并确定第一同步数据所属应用,并开启应用,客户端根据第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示。
步骤S70,接收第二传输数据,判断所述第二传输数据是否为差异字符信息;
客户端接收第二传输数据,判断第二传输数据是否为差异字符信息,即,根据第一实施例中,服务器发送的传输数据可能是新的页面对应的字符串,也可能是差异字符信息,客户端接收第二传输数据,首先识别新的传输信息是否满足页面渲染条件;若不满足,则第二传输数据是差异字符信息,若满足,则第二传输数据不是差异字符信息。
步骤S80,若所述第二传输数据不是差异字符信息,则通过所述第二传输数据渲染出新的同步页面。
具体地,若所述第二传输数据不是差异字符信息,则客户端通过第二传输数据渲染出新的同步页面。
步骤S90,若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面。
若所述第二传输数据是差异字符信息,则客户端根据第二传输数据、第一同步数据和预设位置坐标规则生成新的字符串,根据生成新的字符串渲染出新的同步页面,具体地,客户端获取差异字符信息(差异字符信息包括差异字符和差异标识),客户端根据差异标识和预设位置坐标规则确定差异字符的位置,进一步地,客户端获取本地存储保存的第一同步数据,并将第一同步数据中包含的字符串对应位置的字符替换为差异字符,生成新的页面对应的字符串,客户端根据新的页面对应字符串渲染出新的同步页面。
进一步地,步骤S90包括:
步骤S91,若所述第二传输数据是差异字符信息,则获取所述差异字符信息中包含的差异字符和差异标识;
若所述第二传输数据是差异字符信息,则获取第二传输数据中包含的差异字符和差异标识,
步骤S92,根据差异标识和预设位置坐标规则,确定差异字符位置;
客户端根据差异标识和预设位置坐标规则(预设位置坐标规则,又叫差异字符的位置规则,即,服务器根据差异字符在字符串位置生成差异标识,客户端可根据差异标识确定差异字符在字符串中的位置,以确定差异字符的位置信息),确定差异字符位置;例如,第二传输数据中有D-2(13),则客户端根据预设位置坐标规则,确定差异字符D在第一同步数据包含的字符串第二行第13个字符位置。
步骤S93,根据所述差异字符、所述差异字符位置和所述第一同步数据,确定第二传输数据对应页面的第二字符串,并渲染出新的同步页面。
客户端根据差异字符、差异字符位置和第一同步数据,确定第二传输数据对应页面的字符串,并渲染出新的同步页面。
具体地,步骤S93包括:
步骤a,获取第一同步数据中包含的第一字符串,将第一字符串作为新同步页面的基础字符串;
步骤b,将基础字符串中差异字符位置对应的字符替换为差异字符,得到第二传输数据对应的完整字符串;
步骤c,将所述第二传输数据对应的第二字符串,渲染出新的同步页面。
具体地,客户端获取第一同步数据中包含的第一字符串,将第一字符串作为新同步页面的基础字符串;客户端将基础字符串中差异字符位置对应的字符替换为差异字符,得到第二传输数据对应的完整字符串;将第二传输数据对应的完整字符串,渲染出新的同步页面。
在本实施例中具体说明了客户端接收到差异字符串时,根据差异字符串进行页面渲染的步骤,使得页面渲染更加高效准确。
进一步地,在步骤S90之后,还包括:
删除第一同步数据,将第二传输数据包含的完整字符串作为新的第一同步数据,以根据新的第一同步数据确定差异字符信息。
客户端删除第一同步数据,将第二传输数据包含的完整字符串作为新的第一同步数据,以根据新的第一同步数据确定差异字符信息,进行同步页面的渲染,在本实施例中为了保证界面的更新的效率,客户端和服务器默认将完整字符串作为新的第一同步数据,进行数据的处理,使得数据处理更加高效。
进一步地,本发明中终端和服务器的还可以互换,其具体地应用场景是用户终端向客服系统(服务器)提出操作指导请求,用户在终端触发界面传输指令,终端将当前界面信息发送至客服系统,客服系统的客户人员进行指导操作,终端的显示界面发生变化时,终端利用最短/最长路径的算法思路,首先确定差异字符串,若差异字符串超过阈值,则直接将全部显示界面对应的数据信息作为新的传输数据发送至服务器,若差异字符串不超过阈值,则将差异字符串和当前显示界面的标识作为传输数据,发送至客服系统,以供的客户人员进行指导操作。
此时,用户在终端显示界面触发的界面传输指令,开启界面传输模式,并获取显示界面的当前显示信息;终端将显示界面的当前显示信息作为第一帧传输数据,并将第一帧传输数据发送至服务器;在终端检测到显示屏显示界面发生变更时,终端获取新的显示界面信息;终端将新的显示界面信息与第一传输界面进行比对,得到新的传输信息(新的传输信息可以是标识的形式+实际的差异串,还可以全部数据量),并将新的传输数据发送至服务器。具体地,终端将新的显示界面信息与第一传输界面进行比对,终端动态规划寻找图中最短/最长路径的算法思路,寻找出最长的公共串与尽可能短的差异串,将公共串以标识的形式+实际的差异串向服务端进行传输,同时将第二帧视图的HTML代码串更新到客户端内存中。服务器接收终端传输的信息进行界面的渲染与响应。
此外,参考图5,本发明同步显示的数据传输装置的一实施例中,同步显示的数据传输装置的各虚拟功能模块存储于图1所示服务器的第一存储器1005中,用于实现同步显示的数据传输程序的所有功能;各模块被第一处理器1001执行时实现本发明方法中的步骤,所述同步显示的数据传输装置包括:
接收获取模块10,用于接收同步显示指令,获取服务器显示屏的初始页面;
数据发送模块20,用于将所述初始页面对应的第一字符串作为第一同步数据,并将所述第一同步数据发送至客户端;
页面更新模块30,用于接收页面更新指令,基于所述页面更新指令更新所述初始页面,并将更新后的页面作为当前页面;
获取数据模块40,获取所述当前页面对应的第二字符串,并将所述第二字符串作为第二同步数据;
比对发送模块50,用于将所述第一同步数据与所述第二同步数据进行比对,确定待传输数据并发送至客户端。
进一步地,所述比对发送模块50,包括:
比对确定单元,用于将所述第一同步数据与所述第二同步数据进行比对,确定差异字符信息,其中,所述差异字符信息包括差异字符和差异字符位置;
差异确定单元,用于将差异字符的数量与所述第一同步数据的字符数量进行比值运算,确定差异百分比;
比较单元,用于将所述差异百分比与预设阈值进行比较;
第一发送单元,用于若所述差异百分比不超过所述预设阈值,则将所述差异字符信息作为待传输数据并发送至客户端;
第二发送单元,用于若所述差异百分比超过所述预设阈值,则将第二同步数据作为待传输数据并发送至客户端。
进一步地,所述比对确定单元,还用于:
获取所述第一同步数据与所述第二同步数据,根据预设动态算法对第一同步数据中包含的第一字符串和第二同步数据中包含的第二字符串进行分块;
将分块完成的所述第一字符串和所述第二字符串进行比对,得到差异字符和差异字符位置,并将所述差异字符和所述差异字符位置信息作为差异字符信息。
此外,参考图6,本发明同步显示的数据传输装置的另一实施例中;所述同步显示的数据传输装置的各虚拟功能模块存储于终端(又叫客户端,或者移动终端等)的第二存储器中,用于实现同步显示的数据传输程序的所有功能;各模块被第二处理器执行时实现本发明方法中的步骤,所述同步显示的数据传输装置包括:
接收显示模块60,用于接收服务器发送的第一同步数据,根据所述第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示;
接收判断模块70,用于接收第二传输数据,判断所述第二传输数据是否为差异字符信息;
第一渲染模块80,用于若所述第二传输数据不是差异字符信息,则通过所述第二传输数据渲染出新的同步页面;
第二渲染模块90,用于若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面。
进一步地,所述第二渲染模块90包括:
获取信息单元,用于若所述第二传输数据是差异字符信息,则获取所述差异字符信息中包含的差异字符和差异标识;
位置确定单元,用于根据所述差异标识和预设位置坐标规则,确定差异字符位置;
页面渲染单元,用于根据所述差异字符、所述差异字符位置和所述第一同步数据,确定第二传输数据对应页面的第二字符串,并渲染出新的同步页面。
进一步地,所述页面渲染单元,还用于:
获取所述第一同步数据中包含的第一字符串,将所述第一字符串作为新同步页面的基础字符串;
将基础字符串中差异字符位置对应的字符替换为差异字符,得到第二传输数据对应的第二字符串;
将所述第二传输数据对应的第二字符串,渲染出新的同步页面。
同步显示的数据传输装置的各个功能模块实现的步骤可参照本发明同步显示的数据传输方法的各个实施例,此处不再赘述。
其中,上述同步显示的数据传输装置的各虚拟功能模块存储于图1所示同步显示的数据传输系统的存储器中,用于同步显示的数据传输程序的所有功能;各模块被处理器执行时,实现实上述方法所述的步骤。
此外,本发明实施例还提出同步显示的数据传输系统,同步显示的数据传输系统包括通信连接的服务器和客户端;
所述服务器包括:第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的所述同步显示的数据传输程序;所述同步显示的数据传输程序被第一处理器执行时实现以下步骤包括:
接收同步显示指令,获取服务器显示屏的初始页面;
将所述初始页面对应的第一字符串作为第一同步数据,并将所述第一同步数据发送至客户端;
接收页面更新指令,基于所述页面更新指令更新所述初始页面,并将更新后的页面作为当前页面;
获取所述当前页面对应的第二字符串,并将所述第二字符串作为第二同步数据;
将所述第一同步数据与所述第二同步数据进行比对,确定待传输数据并发送至客户端;
所述客户端包括:第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的所述同步显示的数据传输程序;所述同步显示的数据传输程序被第二处理器执行时实现以下步骤包括:
接收服务器发送的第一同步数据,根据所述第一同步数据中包含的第一字符串渲染出初始页面,以完成初始页面同步显示;
接收第二传输数据,判断所述第二传输数据是否为差异字符信息;
若所述第二传输数据不是差异字符信息,则通过所述第二传输数据渲染出新的同步页面;
若所述第二传输数据是差异字符信息,则根据所述差异字符信息、第一同步数据和预设位置坐标规则生成第二字符串,根据所述第二字符串渲染出新的同步页面。
其中,同步显示的数据传输系统实现的步骤可参照本发明同步显示的数据传输方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质。
计算机存储介质上存储有同步显示的数据传输程序,同步显示的数据传输程序被处理器执行时实现上述实施例提供的同步显示的数据传输方法中的操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。