掌桥专利:专业的专利平台
掌桥专利
首页

一种Web应用程序业务数据处理方法、设备及介质

文献发布时间:2023-06-19 11:22:42


一种Web应用程序业务数据处理方法、设备及介质

技术领域

本说明书涉及计算机技术领域,尤其涉及一种Web应用程序业务数据处理方法、设备及介质。

背景技术

随着计算机技术的发展,面对企业中繁杂的业务数据,网页应用可以快速输入数据,并完成数据处理等工作,因此网页应用越来越受企业用户的青睐。

但在企业级网页应用中,由于,企业用户的业务单据复杂,因此网页应用中承载了较大的数据量,在企业用户使用的过程中,若发生异常离线的情况,用户操作的业务数据会付之一炬,严重影响用户体验。

发明内容

本说明书一个或多个实施例提供了一种Web应用程序业务数据处理方法、设备及介质,用于解决如下技术问题:用户在使用企业级网页应用过程中,异常离线导致用户操作的业务数据丢失的技术问题。

本说明书一个或多个实施例采用下述技术方案:

本说明书一个或多个实施例提供一种Web应用程序业务数据处理方法,其特征在于,所述方法包括:在Web应用程序中,根据预设的函数,实时监测当前用户所处的工作状态;若监测出所述用户的工作状态为离线状态,根据所述预设的函数将当前的业务数据存储到对应的数据库中,其中,所述离线状态为所述预设函数与Web应用服务接口无法正常交互;当所述用户再次登录所述Web应用程序并打开对应的业务数据界面时,获取所述数据库中对应的业务数据,以便所述用户继续操作对应的业务数据。

进一步地,所述离线状态的判断方法包括以下一项或多项:若所述预设函数的属性值处于预设阈值,判断出所述用户的工作状态为离线状态;若Web应用程序与Web应用服务间通信握手接口函数测试失败,判断出所述用户的工作状态为离线状态;若所述Web应用服务与对应数据库接口连接失败,判断出所述用户的工作状态为离线状态;若时域判断为空集,判断出所述用户的工作状态为离线状态。

进一步地,所述根据所述预设的函数将当前的业务数据存储到对应的数据库中,具体包括:接收所述当前的业务数据,根据所述预设的函数将所述当前的业务数据转换为字符串,存储到对应的数据库中。

进一步地,所述存储到对应的数据库中,具体包括:根据所述Web应用程序支持的数据库类型,确定相应的数据增加方法。

进一步地,所述数据库类型包括索引数据库和本地存储库;根据所述Web应用程序支持的数据库类型,确定相应的数据增加方法,具体包括:若所述Web应用程序支持所述索引数据库存储,则通过相应的增加方法增加对应数据;若所述Web应用程序支持所述本地存储库存储,则通过相应的增加方法增加对应数据。

进一步地,所述获取所述数据库中对应的业务数据,具体包括:调用所述预设函数获取离线存储数据,将所述离线存储数据转换为数据对象,并将所述数据对象绑定到所述业务数据中。

进一步地,所述调用所述预设函数获取离线存储数据,具体包括:从对应业务类型的索引数据库中根据相应的数据获取方法获取所述离线存储数据;若获取失败,则从对应单据类型的本地存储库中根据相应的数据获取方法获取所述离线存储数据,直到成功获取离线存储数据。

进一步地,所述获取所述数据库中对应的业务数据,以便所述用户继续操作对应的业务数据后,所述方法还包括:封装所述预设的函数作为删除存储数据的统一接口,以用于删除临时存储的所述业务数据。

本说明书一个或多个实施例提供一种Web应用程序业务数据处理设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

在Web应用程序中,根据预设的函数,实时监测当前用户所处的工作状态;若监测出所述用户的工作状态为离线状态,根据所述预设的函数将当前的业务数据存储到对应的数据库中,其中,所述离线状态为所述预设函数与Web应用服务接口无法正常交互;当所述用户再次登录所述Web应用程序并打开对应的业务数据界面时,获取所述数据库中对应的业务数据,以便所述用户继续操作对应的业务数据。

本说明书一个或多个实施例提供的一种存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:

在Web应用程序中,根据预设的函数,实时监测当前用户所处的工作状态;若监测出所述用户的工作状态为离线状态,根据所述预设的函数将当前的业务数据存储到对应的数据库中,其中,所述离线状态为所述预设函数与Web应用服务接口无法正常交互;当所述用户再次登录所述Web应用程序并打开对应的业务数据界面时,获取所述数据库中对应的业务数据,以便所述用户继续操作对应的业务数据。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过预设的函数,实时监测Web应用程序用户的工作状态,当监测到用户离线时,根据预设的函数将当前的业务数据存储到对应的数据库中,当用户再次登录,打开对应业务数据的界面时,获取对应的业务数据,使用户继续操作对应的业务数据,通过上述技术方案,实现了在Web应用程序用户非正常离线时,将业务数据临时保存在前端而不致丢失,重新登录后还原保存数据继续操作,提升了用户体验。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本说明书实施例提供的一种Web应用程序业务数据处理方法流程图;

图2为本说明书实施例提供的另一种Web应用程序业务数据处理方法流程图;

图3为本说明书实施例提供的一种Web应用程序业务数据处理设备的结构示意图。

具体实施方式

本说明书实施例提供一种Web应用程序业务数据处理方法、设备及介质。

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

随着计算机技术的发展,面对企业中繁杂的业务数据,网页应用可以快速输入数据,并完成数据处理等工作,因此网页应用越来越受企业用户的青睐。但在企业级网页应用中,由于,企业用户的业务单据复杂,因此网页应用中承载了较大的数据量,在企业用户使用的过程中,若发生异常离线的情况,用户操作的业务数据会付之一炬,严重影响用户体验。

需要说明的是,Web应用程序是一种可以通过Web访问的应用程序,即通过浏览器作为客户端访问。业务数据可以是单据数据的形式。

本说明书实施例提供了一种Web应用程序业务数据处理方法、设备及介质,以用于解决用户在使用企业级网页应用过程中,异常离线导致用户操作的业务数据丢失的技术问题。

图1为本说明书实施例提供的一种Web应用程序业务数据处理方法流程图,如图1所示,Web应用程序业务数据处理方法主要包括以下步骤:

步骤S102,在Web应用程序中,根据预设的函数,实时监测当前用户所处的工作状态。

在本说明书的一个实施例中,用户在Web应用程序中操作业务数据,业务数据正常加载后预设函数,根据预设的函数,实时监测用户的工作状态,其中,需要说明的是,用户的工作状态可以是Web应用程序的用户是否在线。

在本说明书的一个实施例中,预设的函数可以是JavaScript函数,预设的操作缓存方法包括以下四种:

1、判断用户是否在线的userOnline(),该方法的返回值为true或false,当返回true时表示用户状态为在线,当返回false时表示用户状态为离线。

2、用于存储单据动态数据的addBillDataById(billType,billId,dataObject),其中参数billType表示单据类型,billId表示单据的唯一标识,dataObject表示单据数据,该方法的返回值为返回true或false,true表示存储单据动态数据成功,false表示存储单据动态数据失败。

3、用于获取存储数据的getBillDataById(billType,billId),其中,参数billType表示单据类型,billId表示单据的唯一标识,该方法的返回值为dataObject,表示获取的单据数据。

4、用于删除存储数据的removeBillDataById(billType,billId),其中,参数billType表示单据类型,billId表示单据的唯一标识,该方法的返回值为返回true或false,true表示删除存储数据成功,false表示删除存储数据失败。

步骤S104,若监测出用户的工作状态为离线状态,根据预设的函数将当前的业务数据存储到对应的数据库中,其中,离线状态为预设函数与Web应用服务接口无法正常交互。

进一步地,步骤S104具体包括:所述离线状态的判断方法包括以下一项或多项:若所述预设函数的属性值处于预设阈值,判断出所述用户的工作状态为离线状态;若Web应用程序与Web应用服务间通信握手接口函数测试失败,判断出所述用户的工作状态为离线状态;若所述Web应用服务与对应数据库接口连接失败,判断出所述用户的工作状态为离线状态;若时域判断为空集,判断出所述用户的工作状态为离线状态。

在本说明书的一个实施例中,通过预设的JavaScript函数Function userOnline(),实时判断应用程序用户是否在线,若判断Web应用程序用户的工作状态为离线状态,则根据预设的JavaScript函数将Web应用程序用户操作的业务数据存储到对应的数据库中。需要说明的是,应用程序用户离线状态是指前端Web单据预设的JavaScript函数无法与后端Web应用服务接口正常交互,进行业务处理。

在本说明书的一个实施例中,判断Web应用程序用户的工作状态为离线状态的判断方法如下:若所述预设函数的属性值处于预设阈值,判断出所述用户的工作状态为离线状态。需要说明的是,预设函数的属性值处于预设阈值可以是通过JavaScript函数的navigator.onLine判断,如果为false,则系统脱机无法与web服务器建立通信,此时是系统无法连接网络导致Web应用程序用户离线。

在本说明书的一个实施例中,判断Web应用程序用户的工作状态为离线状态的判断方法还包括:若Web应用程序与Web应用服务间通信握手接口函数测试失败,判断出所述用户的工作状态为离线状态。需要说明的是,Web应用程序与Web应用服务间通信握手接口函数描述为:在Web应用服务器定义通信握手接口服务,使用http协议,在Web应用程序发起Ajax请求调用,如果1秒内未得到预定响应,则认定失败。如果测试失败,则Web应用服务器网络断开或Web应用服务停止运行导致Web应用程序与web服务器之间无法建立通信连接。也就是说,通过判断Web应用程序停止运行来判断用户为离线状态。

在本说明书的一个实施例中,判断Web应用程序用户的工作状态为离线状态的判断方法还包括:若所述Web应用服务与对应数据库接口连接失败,判断出所述用户的工作状态为离线状态。在Web应用服务器定义数据库连接测试接口服务,服务运行,注册加载对应数据库驱动,调用驱动接口测试连接,如果未得到连接成功信息,认定连接失败;此时Web应用服务通过调用对应数据库驱动接口测试连接,如果连接失败,则Web应用服务与数据库之间无法建立通信连接,此时判断Web应用程序用户的工作状态为离线状态。

在本说明书的一个实施例中,判断Web应用程序用户的工作状态为离线状态的判断方法还包括:若时域判断为空集,判断出所述用户的工作状态为离线状态。具体地,通过session.getId()判断,如果返回值为NULL,则session失效,Web业务预设的JavaScript函数不被允许访问后端Web应用服务接口,也就是说,Web应用程序用户的登陆状态失效。

进一步地,步骤S104具体还包括:所述根据所述预设的函数将当前的业务数据存储到对应的数据库中,具体包括:接收所述当前的业务数据,将所述当前的业务数据转换为字符串,存储到对应的数据库中。所述存储到对应的数据库中,具体包括:根据所述Web应用程序支持的数据库类型,确定相应的数据增加方法;所述数据库类型包括索引数据库和本地存储库;根据所述Web应用程序支持的数据库类型,确定相应的数据增加方法,具体包括:若所述Web应用程序支持所述索引数据库存储,则通过相应的增加方法增加对应数据;若所述Web应用程序支持所述本地存储库存储,则通过相应的增加方法增加对应数据。

在本说明书的一个实施例中,在检测到用户离线时,根据预设的函数将当前的业务数据存储到对应的数据库中。具体地,封装JavaScript函数Function addBillDataById(billType,billId,dataObject)作为存储动态数据的统一接口,屏蔽不同存储方式的差异性。需要说明的是,此处的业务数据可以是Web单据动态数据,其中Web单据动态数据是指Web应用程序中单据加载、运行过程中自动产生或者用户自行录入的业务数据。

在本说明书的一个实施例中,当检测到Web应用程序用户离线时,接收Web单据动态数据,使用预设的函数Javascript对象的序列化方法,将数据对象转换为字符串,如vardataJson=dataObject.toJSONString(),并存储到对应数据库中。需要说明的是,HTML5支持的离线缓存包括本地存储库(localstorage)、网页关系型数据库(Web SQLDatabase)、索引数据库(indexedDB)或文件系统(File System)等存储方式,而indexedDB和localstorage两种存储方式,基本可以涵盖当前市场主流浏览器及主流版本。

在本说明书的一个实施例中,根据Web应用程序支持的数据库类型,确定相应的数据增加方法;其中,数据库类型包括索引数据库(IndexedDB)和本地存储库(LocalStorag)。将IndexedDB存储作为第一选择,将LocalStorag存储作为备选。通过公开的window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB方法判断Web应用程序是否支持IndexedDB存储,若所述Web应用程序支持IndexedDB存储,则声明对应单据类型的objectStore,并通过相应的数据增加方法增加对应数据,具体的,相应的数据增加方法增加对应数据可以是调用对象的add方法在对象中增加数据,如objectStore.add({billId:billId,dataJson:dataJson})。若所述Web应用程序不支持IndexedDB存储,则通过公开的window.localStorage方法判断Web应用程序是否支持LocalStorag,如果支持,则声明对应单据类型的localStorage,并通过相应的数据增加方法增加对应数据,具体地,通过相应的数据增加方法增加对应数据可以是调用对象的setItem方法在对象中增加数据,如objectStore.setItem(“billId”,billId)。若Web应用程序不支持LocalStorag存储,则给出用户友好提示。

在本说明书的一个实施例中,数据库类型还包括网页关系型数据库(Web SQLDatabase)、文件系统(File System)等存储方式。若Web应用程序支持网页关系型数据库存储,则通过相应的数据增加方法增加对应数据;若所述Web应用程序支持文件系统存储,则通过相应的数据增加方法增加对应数据。

步骤S106,当用户再次登录Web应用程序并打开对应的业务数据界面时,获取数据库中对应的业务数据,以便用户继续操作对应的业务数据。

进一步地,步骤S106具体包括:所述获取所述数据库中对应的业务数据,具体包括:调用所述预设函数获取离线存储数据,将所述离线存储数据转换为数据对象,并将所述数据对象绑定到所述业务数据中。所述调用所述预设函数获取离线存储数据,具体包括:从对应业务类型的索引数据库中根据相应的数据获取方法获取所述离线存储数据;若获取失败,则从对应单据类型的本地存储库中根据相应的数据获取方法获取所述离线存储数据,直到成功获取离线存储数据。

在本说明书的一个实施例中,当Web应用程序用户再次登录Web应用程序并打开对应的业务数据界面时,会优先调用预设的JavaScript函数获取离线存储数据并转换为数据对象,将数据对象绑定到业务数据中,供用户继续在界面操作,同时清除存储的临时数据。同样的,封装JavaScript函数Function getBillDataById(billType,billId)作为获取存储数据的统一接口。

在本说明书的一个实施例中,从对应单据类型的localStorage对象中根据相应的数据获取方法获取离线存储数据,具体地,相应的数据获取方法可以是get方法获取数据,如objectStore.get(billId),如果获取不到,则从对应单据类型的localStorage对象中根据相应的数据获取方法获取离线存储数据,具体地,相应的数据获取方法可以是调用getItem方法获取数据,如objectStore.getItem(“billId”),直到成功获取离线存储数据。

在本说明书的一个实施例中,从对应单据类型的网页关系型数据库对象中根据相应的数据获取方法获取离线存储数据,如果获取不到,则从对应单据类型的文件系统对象中根据相应的数据获取方法获取离线存储数据,直到成功获取离线存储数据。

在本说明书的一个实施例中,获取到离线存取数据之后,使用预设的函数Javascript对象的反序列化方法,将字符串转换为数据对象,如var dataObject=dataJson.parseJSON(),并将数据对象绑定到单据展示给用户,以用于用户继续操作对应的业务数据。

在本说明书的一个实施例中,在步骤S106后,方法还包括:封装所述预设的函数作为删除存储数据的统一接口,以用于删除临时存储的所述业务数据。需要说明的是,封装JavaScript函数Function removeBillDataById(billType,billId)作为删除存储数据的统一接口。

图2为本说明书实施例提供的另一种Web应用程序业务数据处理方法流程图。

步骤S201,加载单据,预设JavaScript函数。

在本说明书的一个实施例中,Web应用程序用户在应用程序上加载出对应的单据数据,针对单据数据预设JavaScript函数,预设的操作缓存方法包括以下四种:判断用户是否在线的userOnline()、用于存储单据动态数据的addBillDataById(billType,billId,dataObject)、用于获取存储数据的getBillDataById(billType,billId)以及用于删除存储数据的removeBillDataById(billType,billId)。在预设JavaScript函数之后进入步骤S202或步骤S204。

步骤S202,实时判断用户状态。

在本说明书的一个实施例中,根据步骤S201中预设的JavaScript函数FunctionuserOnline(),实时判断应用程序用户的工作状态,若监测到用户的工作状态为离线时,进入步骤S203。

其中,需要说明的是,离线状态为预设函数与Web应用服务接口无法正常交互,判断用户为离线状态的判断方法包括以下一种或多种:通过JavaScript函数的navigator.onLine判断,如果为false,则系统脱机无法与web服务器建立通信,判断出所述用户的工作状态为离线状态;或者,若Web应用程序与Web应用服务间通信握手接口函数测试失败,则Web应用服务器网络断开或Web应用服务停止运行导致Web应用程序与web服务器之间无法建立通信连接,判断出所述用户的工作状态为离线状态;或者,在Web应用服务器定义数据库连接测试接口服务,服务运行,注册加载对应数据库驱动,调用驱动接口测试连接,如果未得到连接成功信息,认定连接失败,则Web应用服务与数据库之间无法建立通信连接,此时判断Web应用程序用户的工作状态为离线状态;或者,通过session.getId()判断,如果返回值为NULL,则session失效,Web业务预设的JavaScript函数不被允许访问后端Web应用服务接口,也就是说,Web应用程序用户的登陆状态失效,判断Web应用程序用户的工作状态为离线状态。

步骤S203,存储单据动态数据。

在本说明书的一个实施例中,在监测的用户离线时,根据预设的函数将当前的单据动态数据存储到对应的数据库中。其中Web单据动态数据是指Web应用程序中单据加载、运行过程中自动产生或者用户自行录入的业务数据。具体地,封装JavaScript函数Function addBillDataById(billType,billId,dataObject)作为存储动态数据的统一接口,屏蔽不同存储方式的差异性。

在本说明书的一个实施例中,根据Web应用程序支持的数据库类型,确定相应的数据增加方法;其中,所述数据库类型包括索引数据库和本地存储。将IndexedDB存储作为第一选择,将LocalStorag存储作为备选。

在本说明书的一个实施例中,通过公开的window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB方法判断Web应用程序是否支持IndexedDB存储,若所述Web应用程序支持IndexedDB存储,则声明对应单据类型的objectStore,并通过相应的数据增加方法增加对应数据,具体的,相应的数据增加方法增加对应数据可以是调用对象的add方法在对象中增加数据,如objectStore.add({billId:billId,dataJson:dataJson})。若所述Web应用程序不支持IndexedDB存储,则通过公开的window.localStorage方法判断Web应用程序是否支持LocalStorag,如果支持,则声明对应单据类型的localStorage,并通过相应的数据增加方法增加对应数据,具体地,通过相应的数据增加方法增加对应数据可以是通过调用对象的setItem方法在对象中增加数据,如objectStore.setItem(“billId”,billId)。若Web应用程序不支持LocalStorag存储,则给出用户友好提示。存储单据动态数据之后,流程结束。

步骤S204,是否存在缓存数据。若是,则进入步骤S205。

在本说明书的一个实施例中,在用户加载单据数据,预设函数之后,判断是否存在缓存数据,需要说明的是,此处的缓存数据为在用户操作单据数据的过程中,在Web应用程序前端的缓存数据。

步骤S205,加载缓存数据后,删除缓存数据。

在本说明书的一个实施例中,若存在缓存数据,则加载Web应用程序前端的缓存数据,以供用户操作对应的单据数据,并及时删除缓存数据。具体地,封装预设JavaScript函数Function removeBillDataById(billType,billId)作为删除存储数据的统一接口,以用于删除临时存储的缓存数据,之后,进入步骤S202。

图3为本说明书一个实施例提供的一种Web应用程序业务数据处理设备的结构示意图。设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:在Web应用程序中,根据预设的函数,实时监测当前用户所处的工作状态;若监测出所述用户的工作状态为离线状态,根据所述预设的函数将当前的业务数据存储到对应的数据库中,其中,所述离线状态为所述预设函数与Web应用服务接口无法正常交互;当所述用户再次登录所述Web应用程序并打开对应的业务数据界面时,获取所述数据库中对应的业务数据,以便所述用户继续操作对应的业务数据。

本说明书一个实施例还提供一种存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:在Web应用程序中,根据预设的函数,实时监测当前用户所处的工作状态;若监测出所述用户的工作状态为离线状态,根据所述预设的函数将当前的业务数据存储到对应的数据库中,其中,所述离线状态为所述预设函数与Web应用服务接口无法正常交互;当所述用户再次登录所述Web应用程序并打开对应的业务数据界面时,获取所述数据库中对应的业务数据,以便所述用户继续操作对应的业务数据。

本说明书提供的一个或多个实施例中,通过预设的函数,实时监测Web应用程序用户的工作状态,当监测到用户离线时,根据预设的函数将当前的业务数据存储到对应的数据库中,当用户再次登录,打开对应业务数据的界面时,获取对应的业务数据,使用户继续操作对应的业务数据,通过上述技术方案,实现了在Web应用程序用户非正常离线时,将业务数据临时保存在前端而不致丢失,重新登录后还原保存数据继续操作,提升了用户体验。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

相关技术
  • 一种Web应用程序业务数据处理方法、设备及介质
  • 一种业务流程数据处理方法、装置、电子设备及存储介质
技术分类

06120112901221