电子表格中网络函数的异步计算方法及装置制造方法及图纸

技术编号:18426440 阅读:22 留言:0更新日期:2018-07-12 02:01
本发明专利技术实施例提供了一种电子表格中网络函数的异步计算方法及装置。包括:第一线程获取待计算网络函数的函数信息;所述第一线程在第一缓存区中查找所述函数信息对应的计算结果;若未在所述第一缓存区中查找到所述函数信息对应的计算结果,则所述第一线程将所述函数信息存储至第二缓存区;第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果。实现了网络函数的异步计算,能够减少用户等待网络函数返回计算结果的时间,提升用户体验。

Asynchronous computing method and device of network function in electronic form

The embodiment of the invention provides an asynchronous computing method and device for network functions in electronic forms. Including: the first thread gets the function information of the network function to be calculated; the first thread finds the calculation result corresponding to the function information in the first cache; if the calculated result corresponding to the function information is not found in the first caching area, the first line of the first thread stores the function information to second slowly. The second thread gets the function information from the second cache area, calculates the network function according to the function information, stores the calculation results to the first caching area, and starts the first thread to find the calculation results corresponding to the information of the function. The asynchronous computation of network functions is realized, which can reduce the time that users wait for the network function to return the computation results and enhance the user experience.

【技术实现步骤摘要】
电子表格中网络函数的异步计算方法及装置
本专利技术涉及电子表格信息处理
,特别是涉及一种电子表格中网络函数的异步计算方法及装置。
技术介绍
在电子表格中,普通的计算流程是由单元格中函数的计算过程组成的,通常函数的计算过程是由一线程按顺序进行函数计算,一个函数计算完成以后,再计算下一个函数。随着电子表格功能的扩展,常会应用到网络函数,而网络函数在计算时,需要通过网络获取计算结果,这就导致网络函数的计算时间是普通函数的计算时间的几十倍甚至上百倍。可见,在有大量的网络函数被引用的情况下,采用上述普通函数的计算方式,一次计算流程会耗费很长的时间,在操作过程中用户需要长时间等待,用户体验不好。因此,亟需提出一种能够缩短用户等待时间的网络函数的异步计算方法。
技术实现思路
本专利技术实施例的目的在于提供一种电子表格中网络函数的异步计算方法及装置,以实现网络函数的异步计算,减少用户等待网络函数返回计算结果的时间,提升用户体验。具体技术方案如下:一种电子表格中网络函数的异步计算方法,包括:第一线程获取待计算网络函数的函数信息;所述第一线程在第一缓存区中查找所述函数信息对应的计算结果;若未在所述第一缓存区中查找到所述函数信息对应的计算结果,则所述第一线程将所述函数信息存储至第二缓存区;第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果。如上所述的方法,其中,所述函数信息包括:函数ID和参数;所述第一线程获取待计算网络函数的函数信息的步骤,包括:第一线程在启动后,判断第一脏单元集合中是否存在待计算函数;所述第一脏单元集合中包含待处理的单元格;若存在,所述第一线程获取所述待计算函数的函数ID和参数;所述第一线程根据所述函数ID判断所述待计算函数是否为网络函数;若判断结果为所述待计算函数是网络函数,则所述待计算函数的函数ID和参数为待计算网络函数的函数信息。如上所述的方法,其中,所述方法还包括:若在所述第一缓存区中查找到所述函数信息对应的计算结果,则将所述计算结果返回内存;返回所述第一线程判断第一脏单元集合中是否存在待计算函数的步骤,直至所述第一线程判断所述第一脏单元集合中不存在待计算函数时结束。如上所述的方法,其中,所述方法还包括:若所述第一线程判断所述待计算函数不是网络函数,则所述第一线程根据所述函数ID和参数进行函数计算,得到所述待计算函数的计算结果,并将所述计算结果返回内存;返回所述第一线程判断第一脏单元集合中是否存在待计算函数的步骤,直至所述第一线程判断所述第一脏单元集合中不存在待计算函数时结束。如上所述的方法,其中,所述第一线程根据所述函数ID判断所述待计算函数是否为网络函数,包括:所述第一线程根据预设函数ID与标记位映射表,确定与所述待计算函数的函数ID对应的标记位;所述第一线程根据所述标记位判断所述待计算函数是否为网络函数。如上所述的方法,其中,所述第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果的步骤,包括:所述第二线程判断第二缓存区中是否存在所述待计算函数的函数ID和参数;若存在,则所述第二线程从所述第二缓存区中获取所述函数ID和参数,并将所述待计算函数所在的单元格记录在第二脏单元集合中;所述第二线程根据所述函数ID和参数进行网络函数的计算,得到计算结果;所述第二线程将所述计算结果存储至所述第一缓存区;返回所述判断第二缓存区中是否存在待计算函数的函数ID和参数的步骤,直至所述第二线程判断所述第二缓存区中不存在待计算函数的函数ID和参数,所述第二线程判断所述第一线程是否结束;若所述第一线程结束,则所述第二线程将所述第二脏单元集合中记录的所述单元格放入第一脏单元集合中;所述第二线程启动所述第一线程查找所述函数信息对应的计算结果,并进入休眠状态。如上所述的方法,其中,所述第一线程将所述函数信息存储至第二缓存区之后,还包括:所述第一线程通过状态标记位判断所述第二线程是否处于休眠状态;若所述第二线程处于休眠状态,则所述第一线程唤醒所述第二线程。如上所述的方法,其中,所述第二线程判断所述第一线程是否结束,包括:所述第二线程判断同步变量是否被标记;若所述同步变量被标记,则所述第二线程判断所述第一线程未结束;若所述同步变量未标记,则所述第二线程判断所述第一线程结束。如上所述的方法,其中,所述第二线程启动所述第一线程,包括:所述第二线程向所述第一线程发送启动消息,启动所述第一线程。一种电子表格中网络函数的异步计算装置,包括:获取模块,用于使用第一线程获取待计算网络函数的函数信息;查找模块,用于使用所述第一线程在第一缓存区中查找所述函数信息对应的计算结果;存储模块,用于若所述查找模块未在所述第一缓存区中查找到所述函数信息对应的计算结果,则使用所述第一线程将所述函数信息存储至第二缓存区;处理模块,用于使用第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果。如上所述的装置,其中,所述函数信息包括:函数ID和参数;所述获取模块具体用于:第一线程在启动后,判断第一脏单元集合中是否存在待计算函数;所述第一脏单元集合中包含待处理的单元格;若存在,使用所述第一线程获取所述待计算函数的函数ID和参数;根据所述函数ID判断所述待计算函数是否为网络函数;若判断结果为所述待计算函数是网络函数,则所述待计算函数的函数ID和参数为待计算网络函数的函数信息。如上所述的装置,其中,所述查找模块还用于:若在所述第一缓存区中查找到所述函数信息对应的计算结果,则将所述计算结果返回内存;第一触发模块,用于触发所述获取模块;直至所述获取模块使用所述第一线程判断所述第一脏单元集合中不存在待计算函数时结束。如上所述的装置,其中,还包括:计算模块;用于若所述获取模块使用所述第一线程判断所述待计算函数不是网络函数,则使用所述第一线程根据所述函数ID和参数进行函数计算,得到所述待计算函数的计算结果,并将所述计算结果返回内存;第一触发模块,用于触发所述获取模块;直至所述获取模块使用所述第一线程判断所述第一脏单元集合中不存在待计算函数时结束。如上所述的装置,其中,所述获取模块具体用于:使用所述第一线程根据预设函数ID与标记位映射表,确定与所述待计算函数的函数ID对应的标记位;根据所述标记位判断所述待计算函数是否为网络函数。如上所述的装置,其中,所述处理模块用于:使用所述第二线程判断第二缓存区中是否存在所述待计算函数的函数ID和参数;若存在,则从所述第二缓存区中获取所述函数ID和参数,并将所述待计算函数所在的单元格记录在第二脏单元集合中;根据所述函数ID和参数进行网络函数的计算,得到计算结果;将所述计算结果存储至所述第一缓存区;第二触发模块,用于触发所述处理模块;直至所述处理模块使用所述第二线程判断所述第二缓存区中不存在待计算函数的函数ID和参数;所述处理模块使用所述第二线程判断所述第一线程是否结束;若所述第一线程结束,则将所述第二脏单元集合中记录的所本文档来自技高网...

【技术保护点】
1.一种电子表格中网络函数的异步计算方法,其特征在于,包括:第一线程获取待计算网络函数的函数信息;所述第一线程在第一缓存区中查找所述函数信息对应的计算结果;若未在所述第一缓存区中查找到所述函数信息对应的计算结果,则所述第一线程将所述函数信息存储至第二缓存区;第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果。

【技术特征摘要】
1.一种电子表格中网络函数的异步计算方法,其特征在于,包括:第一线程获取待计算网络函数的函数信息;所述第一线程在第一缓存区中查找所述函数信息对应的计算结果;若未在所述第一缓存区中查找到所述函数信息对应的计算结果,则所述第一线程将所述函数信息存储至第二缓存区;第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果。2.根据权利要求1所述的方法,其特征在于,所述函数信息包括:函数ID和参数;所述第一线程获取待计算网络函数的函数信息的步骤,包括:第一线程在启动后,判断第一脏单元集合中是否存在待计算函数;所述第一脏单元集合中包含待处理的单元格;若存在,所述第一线程获取所述待计算函数的函数ID和参数;所述第一线程根据所述函数ID判断所述待计算函数是否为网络函数;若判断结果为所述待计算函数是网络函数,则所述待计算函数的函数ID和参数为待计算网络函数的函数信息。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若在所述第一缓存区中查找到所述函数信息对应的计算结果,则将所述计算结果返回内存;返回所述第一线程判断第一脏单元集合中是否存在待计算函数的步骤,直至所述第一线程判断所述第一脏单元集合中不存在待计算函数时结束。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:若所述第一线程判断所述待计算函数不是网络函数,则所述第一线程根据所述函数ID和参数进行函数计算,得到所述待计算函数的计算结果,并将所述计算结果返回内存;返回所述第一线程判断第一脏单元集合中是否存在待计算函数的步骤,直至所述第一线程判断所述第一脏单元集合中不存在待计算函数时结束。5.根据权利要求2所述的方法,其特征在于,所述第一线程根据所述函数ID判断所述待计算函数是否为网络函数,包括:所述第一线程根据预设函数ID与标记位映射表,确定与所述待计算函数的函数ID对应的标记位;所述第一线程根据所述标记位判断所述待计算函数是否为网络函数。6.根据权利要求2所述的方法,其特征在于,所述第二线程从所述第二缓存区获取所述函数信息,根据所述函数信息进行网络函数的计算,将计算结果存储至所述第一缓存区,并启动所述第一线程查找所述函数信息对应的计算结果的步骤,包括:所述第二线程判断第二缓存区中是否存在所述待计算函数的函数ID和参数;若存在,则所述第二线程从所述第二缓存区中获取所述函数ID和参数,并将所述待计算函数所在的单元格记录在第二脏单元集合中;所述第二线程根据所述函数ID和参数进行网络函数的计算,得到计算结果;所述第二线程将所述计算结果存储至所述第一缓存区;返回所述判断第二缓存区中是否存在待计算函数的函数ID和参数的步骤,直至所述第二线程判断所述第二缓存区中不存在待计算函数的函数ID和参数,所述第二线程判断所述第一线程是否结束;若所述第一线程结束,则所述第二线程将所述第二脏单元集合中记录的所述单元格放入第一脏单元集合中;所述第二线程启动所述第一线程查找所述函数信息对应的计算结果,并进入休眠状态。7.根据权利要求6所述的方法,其特征在于,所述第一线程将所述函数信息存储至第二缓存区之后,还包括:所述第一线程通过状态标记位判断所述第二线程是否处于休眠状态;若所述第二线程处于休眠状态,则所述第一线程唤醒所述第二线程。8.根据权利要求6所述的方法,其特征在于,所述第二线程判断所述第一线程是否结束,包括:所述第二线程判断同步变量是否被标记;若所述同步变量被标记,则所述第二线程判断所述第一线程未结束;若所述同步变量未标记,则所述第二线程判断所述第一线程结束。9.根据权利要求6所述的方法...

【专利技术属性】
技术研发人员:潘永杨柏林
申请(专利权)人:珠海金山办公软件有限公司北京金山办公软件股份有限公司广州金山移动科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1