【技术实现步骤摘要】
一种数据更新方法及装置
本公开涉及计算机
,具体而言,涉及一种数据更新方法及装置。
技术介绍
程序在运行过程中,程序员可能需要对某些代码进行修改,修改后的代码在提交之后能同步到运行的程序中,这种更新方式叫做热更新。Node.js是脚本语言JavaScript的运行环境,由于Node.js并不具备热更新的能力,因此在调用Node.js服务时,一般在检测到代码发生变化之后,可以借助nodemon工具自动重启程序,以将修改的代码应用到程序中。然而在自动重启程序的过程中,会导致一些暂时存储在内存中的数据将会被清除,从而影响Node.js在调试过程中的调试效率。
技术实现思路
本公开实施例至少提供一种数据更新方法及装置。第一方面,本公开实施例提供了一种数据更新方法,包括:设置目标文件对应的自定义加载处理函数;通过调用所述自定义加载处理函数对本地存储的所述目标文件进行处理,得到所述目标文件对应的初始模块对象,其中,所述初始模块对象的引用地址指向所述目标文件的内容在内存中的 ...
【技术保护点】
1.一种数据更新方法,其特征在于,包括:/n设置目标文件对应的自定义加载处理函数;/n通过调用所述自定义加载处理函数对本地存储的所述目标文件进行处理,得到所述目标文件对应的初始模块对象,其中,所述初始模块对象的引用地址指向所述目标文件的内容在内存中的存储地址;/n确定并存储所述初始模块对象的引用地址;/n当检测到本地存储的目标文件发生更新时,基于发生更新的目标文件的初始模块对象的引用地址和更新后的目标文件,对所述引用地址所指向的内存中的内容进行更新。/n
【技术特征摘要】
1.一种数据更新方法,其特征在于,包括:
设置目标文件对应的自定义加载处理函数;
通过调用所述自定义加载处理函数对本地存储的所述目标文件进行处理,得到所述目标文件对应的初始模块对象,其中,所述初始模块对象的引用地址指向所述目标文件的内容在内存中的存储地址;
确定并存储所述初始模块对象的引用地址;
当检测到本地存储的目标文件发生更新时,基于发生更新的目标文件的初始模块对象的引用地址和更新后的目标文件,对所述引用地址所指向的内存中的内容进行更新。
2.根据权利要求1所述的方法,其特征在于,所述设置目标文件对应的自定义加载处理函数,包括:
确定所述目标文件的文件类型;
为所述目标文件设置与所述文件类型对应的自定义加载处理函数。
3.根据权利要求1所述的方法,其特征在于,所述通过调用所述自定义加载处理函数对本地存储的所述目标文件进行处理,得到所述目标文件对应的初始模块对象,包括:
调用加载函数获取所述目标文件中的文件内容;
调用所述目标文件对应的默认加载处理函数对所述目标文件中的文件内容进行封装,得到所述目标文件对应的初始模块对象,并将所述初始模块对象存储在内存中;
所述确定并存储所述初始模块对象的引用地址,包括:
确定所述初始模块对象的引用地址,并将所述初始模块对象的引用地址以及所述初始模块对象对应的目标文件的文件名称对应存储在内存中。
4.根据权利要求3所述的方法,其特征在于,根据以下方法确定发生更新的目标文件的初始模块对象的引用地址:
基于所述发生更新的目标文件的文件名称,从所述内存中查找所述发生更新的目标文件的文件名称所对应的引用地址。
5.根据权利要求1所述的方法,其特征在于,所述基于发生更新的目标文件的初始模块对象的引用地址和更新后的目标文件,对所述引用地址所指向的内存中的内容进行更新,包括:
重新调用所述发生更新的目标文件对应的自定义加载处理函数对所述发生更新的目标文件进行处理,确定所述发生更新的目标文件对应的更新模块对象的引用地址;
将所述发生更新的模块对象的初始模块对象的引用地址中所存储...
【专利技术属性】
技术研发人员:邬亮,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。