加载及更新H5页面的方法、装置、设备及介质
技术领域
本发明涉及H5页面领域,尤其涉及一种加载及更新H5页面的方法、装置、设备及介质。
背景技术
随着移动互联网的发展,移动App产品已经成为移动互联网产品最大的流量渠道,目前,开发移动App产品通常会采用H5承载业务服务,Native承载基础组件服务(如H5页面提供网络请求组件,H5页面显示数据等),然而基于H5页面的技术特性,各H5页面之间彼此独立(无法进行数据通信交互),存在限制性,即当前的H5页面用户数据发生了变更,也无法实时同步至其他的H5页面,并且在返回至其他的H5页面时,需要向Server服务器发出请求,并重新下载及加载最新数据才能刷新至该H5页面,无疑对用户提出了流量要求,而且,如果在发出请求、下载及加载过程中出现延迟或者丢失,就会造成H5页面中数据闪烁或者H5页面加载失败的现象,降低了H5页面显示的成功率和可靠性,大大降低了用户体验。
发明内容
本发明提供一种加载及更新H5页面的方法、装置、计算机设备及存储介质,实现了在加载H5页面的同时自动同步更新历史的H5页面中的相关数据,并且实现了离线更新历史的H5页面中的相关数据,减少了用户的通信流量,并且避免了出现数据闪烁或者H5页面加载失败的现象,提高了H5页面显示的成功率和可靠性,大大提升了用户的体验满意度。
一种加载及更新H5页面的方法,包括:
接收到应用程序的H5页面的创建请求,获取所述创建请求中包含的第一H5页面网址;其中,所述应用程序包括多个历史创建的历史H5页面,一个所述历史H5页面关联一个历史H5页面网址;
在所述应用程序中查询出与所述第一H5页面网址关联的字段数组和页面数据;
通过非对称加密算法,解密并访问应用程序服务器中的配置字段数据,获取与所述字段数组中的字段相同的配置字段,以及与所述配置字段均关联的字段值和所有第二H5页面网址,将相同的所述字段和所述字段值,以及所有所述第二H5页面网址关联;
根据所述字段数组、所有所述字段值和所述页面数据,加载与所述第一H5页面网址对应的第一H5页面,同时将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中;
查找所述缓存池中的所有所述第二H5页面网址,获取与各所述历史H5页面网址相同的所述第二H5页面网址关联的所述字段及所述字段值,并将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面被选取之后对其进行显示。
一种加载及更新H5页面的装置,包括:
接收模块,用于接收到应用程序的H5页面的创建请求,获取所述创建请求中包含的第一H5页面网址;其中,所述应用程序包括多个历史创建的历史H5页面,一个所述历史H5页面关联一个历史H5页面网址;
查询模块,用于在所述应用程序中查询出与所述第一H5页面网址关联的字段数组和页面数据;
获取模块,用于通过非对称加密算法,解密并访问应用程序服务器中的配置字段数据,获取与所述字段数组中的字段相同的配置字段,以及与所述配置字段均关联的字段值和所有第二H5页面网址,将相同的所述字段和所述字段值,以及所有所述第二H5页面网址关联;
加载模块,用于根据所述字段数组、所有所述字段值和所述页面数据,加载与所述第一H5页面网址对应的第一H5页面,同时将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中;
显示模块,用于查找所述缓存池中的所有所述第二H5页面网址,获取与各所述历史H5页面网址相同的所述第二H5页面网址关联的所述字段及所述字段值,并将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面被选取之后对其进行显示。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述加载及更新H5页面的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述加载及更新H5页面的方法的步骤。
本发明提供的加载及更新H5页面的方法、装置、计算机设备及存储介质,通过接收到应用程序的H5页面的创建请求,在所述应用程序中查询出与所述创建请求中的所述第一H5页面网址关联的字段数组和页面数据;通过非对称加密算法,解密并访问应用程序服务器中的配置字段数据,获取与所述字段数组中的字段相同的配置字段,以及与所述配置字段均关联的字段值和所有第二H5页面网址,将相同的所述字段和所述字段值,以及所有所述第二H5页面网址关联;根据所述字段数组、所有所述字段值和所述页面数据,加载与所述第一H5页面网址对应的第一H5页面,同时将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中;查找所述缓存池中的所有所述第二H5页面网址,将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并在已更新的所述历史H5页面被选取之后对其进行动态显示,如此,实现了通过非对称加密算法,对应用程序服务器中的配置字段数据进行解密,从中获取与字段数组中相同字段对应的字段值,并根据字段数组、所有字段值和页面数据,加载第一H5页面,同时将字段、字段值和与所有所述第二H5页面网址加密存储至基于Native的缓存池中,并将字段及字段值同步更新至相关的历史H5页面中,因此,能够在加载H5页面的同时自动同步更新历史的H5页面中的相关数据,并且实现了离线更新历史的H5页面中的相关数据,减少了历史的H5页面重新向应用程序服务器发出请求,以及减少了从应用程序服务器中下载配置字段及配置字段值的过程,从而减少了用户的通信流量,并且避免了切换至历史的H5页面过程中出现数据闪烁或者H5页面加载失败的现象,提高了H5页面显示的成功率和可靠性,大大提升了用户的体验满意度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中加载及更新H5页面的方法的应用环境示意图;
图2是本发明一实施例中加载及更新H5页面的方法的流程图;
图3是本发明一实施例中加载及更新H5页面的方法的步骤S50的流程图;
图4是本发明另一实施例中加载及更新H5页面的方法的步骤S40的流程图;
图5是本发明另一实施例中加载及更新H5页面的方法的步骤S40的流程图;
图6是本发明一实施例中加载及更新H5页面的装置的原理框图;
图7是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的加载及更新H5页面的方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务器进行通信。其中,客户端(计算机设备)包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑、摄像头和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种加载及更新H5页面的方法,其技术方案主要包括以下步骤S10-S80:
S10,接收到应用程序的H5页面的创建请求,获取所述创建请求中包含的第一H5页面网址;其中,所述应用程序包括多个历史创建的历史H5页面,一个所述历史H5页面关联一个历史H5页面网址。
可理解地,所述应用程序为能够打开H5(HTML5)页面的应用于移动设备的软件程序,所述应用程序包括至少一个所述历史H5页面,所述历史H5页面为打开所述应用程序之后已创建过后的H5页面,所述H5页面为通过HTML5开发的且能执行应用程序操作的页面,一个所述历史H5页面关联一个所述历史H5页面网址,所述创建请求为需要创建一个新的H5页面发起的请求,所述创建请求中包含有需创建的H5页面的所述第一H5页面网址。
S20,在所述应用程序中查询出与所述第一H5页面网址关联的字段数组和页面数据。
可理解地,在所述应用程序中包含所有在所述应用程序下可运行的H5页面对应的H5页面网址,以及与H5页面网址关联的字段数组和页面数据,在所述应用程序中查询出与所述第一H5页面网址相同的H5页面网址,并获取与该H5页面网址关联的所述字段数组和所述页面数据,其中,所述字段数组为所述第一H5页面中需要的所有字段组成的数组,所述页面数据为运行所述第一H5页面所需且除了所述字段数组以外的数据。
S30,通过非对称加密算法,解密并访问应用程序服务器中的配置字段数据,获取与所述字段数组中的字段相同的配置字段,以及与所述配置字段均关联的字段值和所有第二H5页面网址,将相同的所述字段和所述字段值,以及所有所述第二H5页面网址关联。
可理解地,所述非对称加密算法(RSA算法)为不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现防止假冒和抵赖,因此,适合网络通信中的保密通信要求,所述非对称加密算法包括加密和解密的算法,其中加密和解密两者使用不同的密钥,访问所述应用程序服务器,并通过所述分对称加密算法对所述配置字段数据进行解密,所述应用程序服务器为对接与所述应用程序的服务器,从所述配置字段数据中获取与所述字段相同的配置字段,以及与所述配置字段均关联的所述字段值和所有所述第二H5页面网址,其中,所述配置字段数据为存储于所述应用程序服务器中,且所述配置字段数据包括配置字段、与所述配置字段一一对应的字段值和与所述配置字段关联的多个所述第二H5页面网址,即包含应用于所述应用程序的所有配置字段,以及其关联的配置字段值和所有所述第二H5页面网址的集合,所述配置字段为在应用程序中的配置表中的配置变量,所述配置字段值为所述配置字段赋予的值,所述第二H5页面网址为加载此H5页面时应用到与其关联的配置字段,即多个第二H5页面网址中可能都会应用到一个配置字段。
S40,根据所述字段数组、所有所述字段值和所述页面数据,加载与所述第一H5页面网址对应的第一H5页面,同时将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中。
可理解地,根据所述字段数组、获取的所有与所述字段对应的所述字段值和所述页面数据,加载所述第一H5页面,即通过对所述字段数组、所有所述字段值和所述页面数据进行页面渲染,得到所述第一H5页面,所述第一H5页面与所述第一H5页面网址对应。
其中,将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址进行加密,加密的方式可以根据需求设定,比如哈希加密、对称式加密算法等等,将加密后的所述字段、所述字段值和与所有所述第二H5页面网址存储至所述缓存池中,所述缓存池为所述应用程序中的缓存器,所述缓存池可以提供应用程序运行时缓存的数据,所述缓存池为基于Native实现接口对接的数据传输,所述缓存池主要使用了Native中的AsyncStorage进行数据缓存操作,Native的实现原理是key-value的形式。
在一实施例中,如图4所示,所述步骤S40中,即所述将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中,包括:
S401,在所述缓存池中判断是否存在与所述字段相同的原字段。
可理解地,在所述缓存池中查询是否与所述字段相同的所述原字段,所述原字段为通过所述缓存池进行缓存的字段,即通过加载历史H5页面时,将涉及加载历史H5页面的数据缓存至所述缓存池中,其中,历史H5页面的数据包含有与该历史H5页面关联的字段及其字段值,所述查询的方式可以根据需求设定,比如查询方式为快速模式匹配查找、顺序查找、二分查找、哈希查找或者树表查找等等,作为优选,所述查询方式设定为快速模式匹配查找,所述快速模式匹配查找为运用所述快速模式匹配算法(KMP)进行匹配查找的方法。
在一实施例中,所述步骤S401中,即所述在所述缓存池中判断是否存在与所述字段相同的原字段,包括:
S4011,通过快速模式匹配算法,将所述字段与所述缓存池中的所述原字段进行匹配。
其中,所述快速模式匹配算法的匹配过程为在模式字符串和主字符串匹配时,各有一个指针指向当前进行匹配的字符(主字符串中是指针i,模式字符串中是指针j),在保证i指针不回溯的前提下,就只能让j指针回溯,其中,主字符串为需匹配的字符串,即所述指令数据,模式字符串为被匹配的字符串,即所述更新指令,i为主字符串中记录匹配进度的指针,j为指针回溯的距离,相当于模式字符串向右移动的距离,即当某字符匹配失败后,j指针回溯的位置,对于一个给定的模式字符串,其中每个字符都有可能会遇到匹配失败,这时对应的j指针都需要回溯,具体回溯的位置由模式字符串本身来决定的,和主字符串没有关系,模式字符串中的每个字符所对应j指针回溯的位置,可以通过算法得出,得到的结果相应地存储在一个数组中(默认数组名为next),该算法为对于模式字符串中的某一字符来说,提取它前面的字符串,分别从字符串的两端查看连续相同的字符串的个数,在其基础上“+1”,结果就是该字符对应的j值,每个模式串的第一个字符对应的值为0,第二个字符对应的值为1,例如:求模式字符串“abcabac”的next,前两个字符对应的0和1是固定的,对于字符‘c’来说,提取字符串“ab”,‘a’和‘b’不相等,相同的字符串的个数为0,0+1=1,所以‘c’对应的next值为1;第四个字符‘a’,提取“abc”,从首先‘a’和‘c’就不相等,相同的个数为0,0+1=1,所以,‘a’对应的next值为1;第五个字符‘b’,提取“abca”,第一个‘a’和最后一个‘a’相同,相同个数为1,1+1=2,所以,‘b’对应的next值为2;第六个字符‘a’,提取“abcab”,前两个字符“ab”和最后两个“ab”相同,相同个数为2,2+1=3,所以,‘a’对应的next值为3;最后一个字符‘c’,提取“abcaba”,第一个字符‘a’和最后一个‘a’相同,相同个数为1,1+1=2,所以‘c’对应的next值为2;所以,字符串“abcabac”对应的next数组中的值为(0,1,1,1,2,3,2),所述快速模式匹配算法算法和普通模式匹配算法都是从主字符串开头开始匹配,但是在匹配过程中,所述快速模式匹配算法记录了一些必要的信息,根据该信息,在后续的匹配过程中,跳过了无意义的匹配过程,例如:主字符串为“ababcabcacbab”,模式字符串为“abcac”,模式字符串对应的next值为(0,1,1,1,2),匹配的过程为在匹配失败的时候,i指针不动,j指针根据其在next值中对应的值进行回退到指定位置,如此,可以发现快速模式匹配算法只需要匹配3次,而普通模式匹配算法需要匹配6次,因此,所述快速模式匹配算法比普通模式匹配算法速度要快。
S4012,判断是否存在与所述字段相匹配的所述原字段。
可理解地,若匹配出与所述字段相同的所述原字段,则确定存在与所述字段相同的所述原字段,若匹配完所有所述原字段,都未匹配出与所述字段相同的所述原字段,则确定不存在与所述字段相同的所述原字段。
本发明实现了通过快速模式匹配算法,将所述字段与所述缓存池中的所述原字段进行匹配,从而判断是否存在与所述字段相匹配的所述原字段,如此,加快了查询速度,判断时效性更及时,提高了效率。
在一实施例中,如图5所示,所述步骤S401之后,即所述在所述缓存池中判断是否存在与所述字段相同的原字段之后,还包括:
S406,若所述缓存池中存在与所述字段相同的所述原字段,在所述缓存池中清空原来与该原字段关联的原字段值及原H5页面网址。
可理解地,如果所述缓存池中能查找到与所述字段相同的所述原字段,在所述缓存池中清空原来与所述原字段关联的所述原字段值及所述原H5页面网址,所述原字段值为当前的所述缓存池中字段对应的字段值,所述原H5页面网址为当前的所述缓存池中字段对应的所有H5页面网址。
S407,通过哈希加密算法,对与所述字段关联的所述字段值及所有所述第二H5页面网址进行加密。
可理解地,所述哈希加密算法为将目标文本转换成具有相同长度的、不可逆的杂凑字符串(或叫做消息摘要),其中加密(Encrypt)是将目标文本转换成具有不同长度的、可逆的密文,通过所述哈希加密算法对与相同字段的所述原字段关联的所述字段值和所有所述第二H5页面网址进行加密,如此,增加了缓存池数据的安全性和可靠性,避免黑客的恶意攻击即篡改。
S408,将加密后的所述字段值和加密后的所有所述第二H5页面网址存储至所述缓存池中,并将加密后的所述字段值和加密后的所有所述第二H5页面网址均关联所述原字段。
可理解地,分别将加密后的所述字段值和加密后的所有所述第二H5页面网址存储至所述缓存池中,并分别将加密后的所述字段值和加密后的所有所述第二H5页面网址关联至所述原字段。
本发明实现了如果缓存池中存在与字段相同的原字段,通过自动清空缓存池中存在的该原字段,并通过哈希加密算法对其关联的字段值及第二H5页面网址进行加密及存储至缓存池中,如此,自动刷新与原字段关联的原字段值和原H5页面网址至缓存池,并加密存储字段值及第二H5页面网址到缓存池,增加了缓存池数据的安全性和可靠性,避免黑客的恶意攻击即篡改。
S402,若所述缓存池中不存在与所述字段相同的所述原字段,在所述缓存池中创建该字段。
可理解地,如果在所述缓存池中无法查找到与所述字段相同的所述原字段,则在所述缓存池中创建该字段。
S403,通过哈希加密算法,对与创建的所述字段关联的所述字段值及所有所述第二H5页面网址进行加密。
可理解地,所述哈希加密算法为将目标文本转换成具有相同长度的、不可逆的杂凑字符串(或叫做消息摘要),其中加密(Encrypt)是将目标文本转换成具有不同长度的、可逆的密文,通过所述哈希加密算法对该字段值和所有第二H5页面网址进行加密,如此,增加了缓存池数据的安全性和可靠性,避免黑客的恶意攻击即篡改。
S405,将所述字段、加密后的所述字段值和加密后的所有所述第二H5页面网址存储至所述缓存池中。
可理解地,将所述字段、加密后的所述字段值和加密后的所有所述第二H5页面网址一起存储至所述缓存池中。
本发明实现了自动创建缓存池中不存在的且在字段数组中的字段,并通过哈希加密算法对其关联的字段值及第二H5页面网址进行加密及存储至缓存池中,如此,自动添加所需字段至缓存池,并加密存储字段值及第二H5页面网址到缓存池,增加了缓存池数据的安全性和可靠性,避免黑客的恶意攻击即篡改。
S50,查找所述缓存池中的所有所述第二H5页面网址,获取与各所述历史H5页面网址相同的所述第二H5页面网址关联的所述字段及所述字段值,并将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面被选取之后对其进行显示。
可理解地,在所述缓存池中,查找所有所述第二H5页面网址,获取与各所述历史H5页面网址相同的所述第二H5页面网址关联的所述字段,以及与该字段关联的所述字段值,将获取的所述字段及所述字段值更新至所述历史H5页面中,从而对所有所述历史H5页面中的涉及的字段及字段值进行了更新,在已经更新后的所述历史H5页面被选取之后,通过动态显示的方式进行显示该历史H5页面。
本发明实现了通过接收到应用程序的H5页面的创建请求,在所述应用程序中查询出与所述创建请求中的所述第一H5页面网址关联的字段数组和页面数据;通过非对称加密算法,解密并访问应用程序服务器中的配置字段数据,获取与所述字段数组中的字段相同的配置字段,以及与所述配置字段均关联的字段值和所有第二H5页面网址,将相同的所述字段和所述字段值,以及所有所述第二H5页面网址关联;根据所述字段数组、所有所述字段值和所述页面数据,加载与所述第一H5页面网址对应的第一H5页面,同时将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中;查找所述缓存池中的所有所述第二H5页面网址,将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并在已更新的所述历史H5页面被选取之后对其进行动态显示,如此,实现了通过非对称加密算法,对应用程序服务器中的配置字段数据进行解密,从中获取与字段数组中相同字段对应的字段值,并根据字段数组、所有字段值和页面数据,加载第一H5页面,同时将字段、字段值和与所有所述第二H5页面网址加密存储至基于Native的缓存池中,并将字段及字段值同步更新至相关的历史H5页面中,因此,能够在加载H5页面的同时自动同步更新历史的H5页面中的相关数据,并且实现了离线更新历史的H5页面中的相关数据,减少了历史的H5页面重新向应用程序服务器发出请求,以及减少了从应用程序服务器中下载配置字段及配置字段值的过程,从而减少了用户的通信流量,并且避免了切换至历史的H5页面过程中出现数据闪烁或者H5页面加载失败的现象,提高了H5页面显示的成功率和可靠性,大大提升了用户的体验满意度。
在一实施例中,如图3所示,所述步骤S50中,即所述获取与各所述历史H5页面网址相同的所述第二H5页面网址关联的所述字段及所述字段值,并将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面之后对其进行显示,包括:
S501,通过Native接口,通知所有与所述第二H5页面网址相同的所述历史H5页面更新与其关联的所述字段;
可理解地,通过所述Native接口进行callback(回调)通知所有剩余所述第二H5页面网址相同的所述历史H5页面,通知其更新关联的的所述字段,即通知与其关联的所述字段需要更新。
S502,通过所述Native接口接收到通知后的所述历史H5页面反馈的查找指令之后,从所述缓存池中获取与所述查找指令对应的所述字段和所述字段值,并将获取的所述字段和所述字段值发送至所述历史H5页面;所述查找指令包含有与所述历史H5页面关联的所述字段;
可理解地,通过所述Native接口接收到通知后的所述历史H5页面发出的所述查找指令之后,从所述缓存池中找到出符合所述查找指令中需要更新的字段及与该字段关联的字段值,并获取所述字段和所述字段值,以及发送至所述历史H5页面,其中,所述查找指令包含了与通知后的所述历史H5页面关联的所述字段。
S503,在所述历史H5页面被选取后,通过动态显示的方式,显示已更新的所述历史H5页面;所述已更新的所述历史H5页面指在所述历史H5页面接收到通过所述Native接口发送的所述字段和所述字段值,且所述历史H5页面更新其包含的所述字段和所述字段值之后获得。
可理解地,所述动态显示的方式为所述历史H5页面接收到所述Native接口发送的所述字段和所述字段值之后,所述历史H5页面发出刷新页面指令,通过所述刷新页面指令刷新所述字段和所述字段值,如此,实现了所述历史H5页面中的数据更新的方式。
其中,在通知后的所述历史H5页面被选取之后,通过上述动态显示的方式显示已更新的所述历史H5页面。
本发明实现了通过Native接口,通知所有与所述第二H5页面网址相同的所述历史H5页面更新与其关联的所述字段;通过Native接口接收到通知后的所述历史H5页面反馈的查找指令之后,从所述缓存池中获取与所述查找指令对应的所述字段和所述字段值,并将获取的所述字段和所述字段值发送至所述历史H5页面;在所述历史H5页面接收到通过所述Native接口发送的所述字段和所述字段值,且所述历史H5页面更新其包含的所述字段和所述字段值之后,在所述历史H5页面被选取之后,通过动态显示的方式,显示已更新的所述历史H5页面,如此,实现了历史的H5页面中的数据实时刷新,避免了切换至历史的H5页面过程中出现数据闪烁或者H5页面加载失败的现象,提高了H5页面显示的成功率和可靠性,大大提升了用户的体验满意度。
在一实施例中,所述步骤S50中,即所述将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,包括:
S504,在所述缓存池中查找与所述历史页面网址关联的历史H5页面数据。
可理解地,在所述缓存池中查找到与所述历史页面网址关联的所述历史H5页面数据,所述缓存池中存储有历史加载的H5页面的相关数据,所述历史页面网址为历史打开的H5页面的网址,所述历史H5页面数据为加载历史的H5页面的除了涉及到的字段和字段值以外的数据,所述历史H5页面数据包含有H5页面布局数据、H5页面导航栏数据等。
S505,根据所有获取的所述字段及所述字段值和查找的所述历史H5页面数据,重新加载历史H5页面至所述缓存池以供显示。
可理解地,对所有获取的所述字段及所述字段值和查找的所述历史H5页面数据进行加载,得到待渲染H5页面数据,对所述待渲染H5页面数据进行渲染,生成与所述待渲染H5页面数据对应的历史H5页面,将其存储至所述缓存池中,以供后续历史H5页面被选取之后直接显示。本发明实现了通过在所述缓存池中查找与所述历史页面网址关联的历史H5页面数据,根据所有获取的所述字段及所述字段值和查找的所述历史H5页面数据,重新加载历史H5页面至所述缓存池,如此,实现了同步更新历史H5页面,并进行重新加载以便后续快速显示给用户,提高了加载速度,提升了H5页面加载效率,大大提升了用户的体验满意度。
在一实施例中,所述步骤S50之后,即通过动态显示的方式,在选取已更新的所述历史H5页面被选取之后对其进行显示之后,包括:
S60,通过Native接口接收到来自所述第一H5页面中的数据更新请求,获取所述数据更新请求中的待更新字段数组;所述待更新字段数组包括待更新字段和与所述待更新字段一一对应的待更新字段值。
可理解地,用户在所述第一H5页面中对任一所述字段对应的所述字段值进行更改时触发所述数据更新请求,所述数据更新请求中包含有所述待更新字段数组,所述待更新字段数组为所述待更新字段及对其对应的所述待更新字段值的数组集合,所述待更新字段为涉及更改的字段,所述待更新字段值为涉及更改的所述待更新字段更改后的值。
S70,在所述缓存池中查询到与所述待更新字段相同的所述字段,并将查询到的所述字段确定为更新字段,以及将查询到的所述字段关联的所述字段值确定为更新字段值,同时将查询到的所述字段关联的所述第二H5页面网址确定为第三H5页面网址。
可理解地,在所述缓存池中查询到与所述待更新字段相同的所述字段,将从所述缓存池中查询到的所述字段标记为所述更新字段,将其关联的所述字段值标记为所述更新字段值,以及将其关联的所述第二H5页面网址标记为所述第三H5页面网址。
S80,将所述待更新字段值加密覆盖与该待更新字段值对应的所述更新字段值,同时通过非对称加密算法解密所述配置字段数据,将所述更新字段和与其关联的所述更新字段值上传至所述配置字段数据中。
可理解地,所述加密覆盖包括为对所述待更新字段值进行加密,并查找出当前的缓存池中存储的与所述待更新字段值对应的所述待更新字段相同的原字段,并将加密后的所述待更新字段值覆盖查找到的原字段对应的原字段值,所述原字段为当前的所述缓存池中的字段,所述原字段值为当前的所述缓存池中字段对应的字段值,同时,通过所述非对称加密算法对所述配置字段数据进行解密,将所有所述更新字段及覆盖后的所述更新字段值上传至所述配置字段数据中。
S90,在所述缓存池中查找所有所述第三H5页面网址,获取与各所述历史H5页面网址相同的所述第三H5页面网址关联的所述更新字段及所述更新字段值,并将获取的所述更新字段及所述更新字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面之后对其进行显示。
可理解地,在所述缓存池中,查找所有所述第三H5页面网址,所述第三H5页面网址为在接收到所述数据更新请求时,当前缓存池中存储的所有H5页面网址,获取与各所述历史H5页面网址相同的所述第三H5页面网址关联的所述更新字段,以及与该更新字段关联的所述更新字段值,将获取的所述更新字段及所述更新字段值更新至所述历史H5页面中,从而对所有所述历史H5页面中的涉及的字段及字段值进行了更新,在已经更新后的所述历史H5页面被选取之后,通过动态显示的方式进行显示该历史H5页面。
本发明实现了通过接收到来自所述第一H5页面中的配置更新请求,获取所述配置更新请求中的待更新字段数组;在所述缓存池中查询到与所述待更新字段数组中的所述待更新字段相同的所述字段,并将查询到的所述字段确定为更新字段,以及将查询到的所述字段关联的所述字段值确定为更新字段值,同时将查询到的所述字段关联的所述第二H5页面网址确定为第三H5页面网址;将所述待更新字段值加密覆盖与该待更新字段值对应的所述更新字段值,同时通过非对称加密算法解密所述配置字段数据,将所述更新字段和与其关联的所述更新字段值上传至所述配置字段数据中;将更新字段及更新字段值同步更新至相关的历史H5页面中,如此,实现了在对第一H5页面进行配置字段对应的字段值进行更改时,离线同步更新历史的H5页面中的相关数据,减少了历史的H5页面重新向应用程序服务器发出请求,以及减少了从应用程序服务器中下载配置字段及配置字段值的过程,从而减少了用户的通信流量,并且避免了切换至历史的H5页面过程中出现数据闪烁或者H5页面加载失败的现象,提高了H5页面显示的成功率和可靠性,大大提升了用户的体验满意度。
在一实施例中,所述步骤S50之后,即所述通过动态显示的方式,在选取已更新的所述历史H5页面被选取之后对其进行显示之后,还包括:
S100,通过所述Native接口监听来自所述配置字段数据的网络更新请求,获取所述网络更新请求中的网络更新字段和与网络更新字段对应的网络更新字段值。
可理解地,在应用程序服务器中的所述配置字段数据发生更新时,即在所述配置字段数据中的字段对应的字段值发生变更时,所述配置字段数据会发出所述网络更新请求,所述网络更新请求包括所述网络更新字段和与所述网络更新字段对应的网络更新字段值,所述网络更新字段为所述配置字段数据中发生变更的字段值对应的字段,所述网络更新字段值为所述配置字段数据中发生变更的字段值,通过所述Native接口监听到该网络更新请求时,从所述应用该程序服务器中获取所述网络更新字段和与所述网络更新字段对应的网络更新字段值。
S110,在所述缓存池中查询到与所述网络更新字段相同的所述字段,并将查询到的所述字段确定为主动更新字段,以及将查询到的所述字段关联的所述字段值确定为主动更新字段值,同时将查询到的所述字段关联的所述第二H5页面网址确定为第四H5页面网址。
可理解地,在所述缓存池中查询是否与所述网络更新字段相同的字段,如果存在与所述网络更新字段相同的所述字段,则将该字段标记为所述主动更新字段,以及将与该字段关联的所述字段值标记为所述主动更新字段值,同时将与该字段关联的所有所述第二H5页面网址标记为所述第四H5页面网址。
S120,将所述网络更新字段值加密覆盖与该网络更新字段值对应的所述主动更新字段值。
可理解地,所述加密覆盖还包括为对所述网络更新字段值进行加密,并将加密后的所述网络更新字段覆盖对应的所述主动更新字段值。
S130,在所述缓存池中查找所有所述第四H5页面网址,获取与各所述历史H5页面网址相同的所述第四H5页面网址关联的所述主动更新字段及所述主动更新字段值,并将获取的所述主动更新字段及所述主动更新字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面之后对其进行显示。
可理解地,在所述缓存池中,查找所有所述第四H5页面网址,所述第四H5页面网址为在监听到所述网络更新请求时,当前缓存池中存储的所有H5页面网址,获取与各所述历史H5页面网址相同的所述第四H5页面网址关联的所述主动更新字段,以及与该主动更新字段关联的所述主动更新字段值,将获取的所述主动更新字段及所述主动更新字段值更新至所述历史H5页面中,从而对所有所述历史H5页面中的涉及的字段及字段值进行了更新,在已经更新后的所述历史H5页面被选取之后,通过动态显示的方式进行显示该历史H5页面。
本发明实现了通过监听到来自所述配置字段数据的网络更新请求,获取所述网络更新请求中的网络更新字段和与网络更新字段对应的网络更新字段值;在所述缓存池中查询到与所述网络更新字段相同的所述字段,并将查询到的所述字段确定为主动更新字段,以及将查询到的所述字段关联的所述字段值确定为主动更新字段值,同时将查询到的所述字段关联的所述第二H5页面网址确定为第四H5页面网址;将所述网络更新字段值加密覆盖与该网络更新字段值对应的所述主动更新字段值;将主动更新字段及主动更新字段值同步更新至相关的历史H5页面中,如此,实现了在配置字段数据中的字段值发生变更时,同步更新历史的H5页面中的相关数据,做到实时刷新历史H5页面中的数据。
在一实施例中,提供一种加载及更新H5页面的装置,该加载及更新H5页面的装置与上述实施例中加载及更新H5页面的方法一一对应。如图6所示,该加载及更新H5页面的装置包括接收模块11、查询模块12、获取模块13、加载模块14和显示模块15。各功能模块详细说明如下:
接收模块11,用于接收到应用程序的H5页面的创建请求,获取所述创建请求中包含的第一H5页面网址;其中,所述应用程序包括多个历史创建的历史H5页面,一个所述历史H5页面关联一个历史H5页面网址;
查询模块12,用于在所述应用程序中查询出与所述第一H5页面网址关联的字段数组和页面数据;
获取模块13,用于通过非对称加密算法,解密并访问应用程序服务器中的配置字段数据,获取与所述字段数组中的字段相同的配置字段,以及与所述配置字段均关联的字段值和所有第二H5页面网址,将相同的所述字段和所述字段值,以及所有所述第二H5页面网址关联;
加载模块14,用于根据所述字段数组、所有所述字段值和所述页面数据,加载与所述第一H5页面网址对应的第一H5页面,同时将所述字段、与所述字段关联的所述字段值和与所述字段关联的所有所述第二H5页面网址加密存储至基于Native的缓存池中;
显示模块15,用于查找所述缓存池中的所有所述第二H5页面网址,获取与各所述历史H5页面网址相同的所述第二H5页面网址关联的所述字段及所述字段值,并将获取的所述字段及所述字段值更新至与所述历史H5页面网址关联的所述历史H5页面,并通过动态显示的方式,在选取已更新的所述历史H5页面被选取之后对其进行显示。
关于加载及更新H5页面的装置的具体限定可以参见上文中对于加载及更新H5页面的方法的限定,在此不再赘述。上述加载及更新H5页面的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种加载及更新H5页面的方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中加载及更新H5页面的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中加载及更新H5页面的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。