本发明涉及数据标注技术领域,尤其涉及一种跨平台高性能标注引擎。
背景技术:
近年来随着人工智能尤其自然语言处理领域的发展,对数据标注提出了更高的要求,传统数据标注系统通常存在移植性较差,性能较差等问题。
技术实现要素:
本发明所要解决的技术问题是:针对上述存在的问题,提供了一种跨平台高性能标注引擎。
本发明采用的技术方案如下:
一种跨平台高性能标注引擎,:包括页面信息拉取模块、文本渲染控制模块以及控制标注模块;
所述文本渲染控制模块用于对pdf文件进行渲染,实现pdf文件的可视化;
所述页面信息拉取模块用于获取进行渲染后指定的pdf页面信息数据并进行缓存;
所述控制标注模块用于对指定获取的pdf页面信息进行标注,并将标注的文本信息以及标注的位置信息存储进数据库。
其中,文本渲染模块在对pdf文件渲染过程中,根据pdf文件视口位置渲染的内容以及渲染最大缓存数量,进行动态的渲染和销毁pdf文件页面实例。这样可以保证在遇到大文件时,不会出现页面加载过多内容影响使用体验。另外,除了控制pdf的渲染以外,文本渲染模块同时提供了缩放和跳转页面的api接口供使用者调用。
进一步的,所述页面信息拉取模块、文本渲染控制模块和控制标注模块之间通过api接口通信。
进一步的,所述页面信息拉取模块在获取并缓存信息时,包括以下两种数据拉取策略:
(1)用户调用api接口发送获取请求,如果请求获取的数据是进行了缓存的,则直接读取缓存数据并返回;
(2)页面信息拉取模块判断整个pdf文件的文本信息和获取请求是否空闲,进而判断是否需要发起获取请求。
在发起请求之后,对请求队列里的请求数量进行限制,如果请求过多,则根据请求优先级对请求队列进行调整,请求成功后缓存获取到的页面信息数据,等待被需要时调用。这种利用浏览器和网络请求的空档期去拉取数据,减少了在运行时的资源占用。
与现有技术相比,采用上述技术方案的有益效果为:
将标注的渲染和标注的操作分为两个模块,彼此间通信使用api和数据流;其次,pdf视图渲染采用了预加载和及时销毁的策略,pdf文本信息拉取采用了数据缓存和动态拉取的策略,这样在加载大文件时会有更好的用户体验;最后,标注引擎可以支持所有的前端项目。
附图说明
图1是本发明结构示意图。
图2是动态拉取流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本实例提供一种跨平台高性能标注引擎,如图1所示,该标注引擎包括页面信息拉取模块、文本渲染控制模块以及控制标注模块这三个模块;
其中,文本渲染控制模块主要是负责对pdf文件的渲染,使用足够简单的dom结构去渲染,减少页面复杂度。另外,为了应对大篇幅pdf文件的渲染,在渲染过程中,会根据当前显示的页数和配置的最大显示的页面数量,进行动态的渲染和销毁pdf文件页面实例。这样可以保证在遇到大文件时,不会出现页面加载过多对象影响使用体验。除了控制pdf的渲染以外,该模块同时提供了缩放和跳转页面的api接口供使用者调用。
页面信息拉取模块负责获取进行渲染后指定的pdf页面信息数并进行缓存。在标注引擎初始化时,页面信息拉取模块拉取指定的pdf页面文本信息数据并进行缓存,动态拉取过程如图2所示,拉取数据有以下两种触发方式:
(1)用户调用api接口发送获取请求,如果请求获取的数据是进行了缓存的,则直接读取缓存数据并返回;
(2)页面信息拉取模块判断整个pdf文件的文本信息和获取请求是否空闲,进而判断是否需要发起获取请求。
在发起请求之后,对请求队列里的请求数量进行限制,如果请求过多,则根据请求优先级对请求队列进行调整,请求成功后缓存获取到的页面信息数据,等待被需要时调用。这种利用浏览器和网络请求的空档期去拉取数据,减少了在运行时的资源占用,且高效率加载策略配合数据缓存算法,使页面信息拉取模块性能优异,在面对大篇幅文档时表现良好。
控制标注模块是标注引擎中最核心且操作最为频繁的一个模块,在标注引擎初始化时,控制标注模块在pdf文件上添加一层canvas画布,用于隔离标注操作和pdf本身的一些鼠标事件,这样就可以完全的将文件渲染和标注操作隔离开来,具体的实现方式就实际业务场景而定。如需要在pdf文档中选取出指定的文本信息,此时需要获取选中区域在pdf的相对位置,进而通过页面信息拉取模块拉取到的pdf文本信息,信息中包含所有字符的位置信息,有了选中区域位置和字符位置,这时可以在canvas画布上显示出选中区域,同时获取了选中区域的位置信息,从而在页面实现了标注。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。
1.一种跨平台高性能标注引擎,其特征在于:包括页面信息拉取模块、文本渲染控制模块以及控制标注模块;
所述文本渲染控制模块用于对pdf文件进行渲染,实现pdf文件的可视化;
所述页面信息拉取模块用于获取进行渲染后指定的pdf页面信息数据并进行缓存;
所述控制标注模块用于对指定获取的pdf页面进行标注。
2.根据权利要求1所述的一种跨平台高性能标注引擎,其特征在于:所述文本渲染模块在对pdf文件渲染过程中,根据pdf文件视口位置渲染的内容以及渲染最大缓存数量,进行动态的渲染和销毁pdf文件页面实例。
3.根据权利要求1所述的一种跨平台高性能标注引擎,其特征在于:所述文本渲染控制模块设置有用于缩放和跳转pdf文件页面的接口。
4.根据权利要求1所述的一种跨平台高性能标注引擎,其特征在于:所述控制标注模块将标注的文本信息以及标注的位置信息存储进数据库。
5.根据权利要求1所述的一种跨平台高性能标注引擎,其特征在于:所述页面信息拉取模块、文本渲染控制模块和控制标注模块之间通过api接口通信。
6.根据权利要求1所述的一种跨平台高性能标注引擎,其特征在于:所述页面信息拉取模块在获取并缓存信息时,包括以下两种数据拉取策略:
(1)用户调用api接口发送获取请求,如果请求获取的数据是进行了缓存的,则直接读取缓存数据并返回;
(2)页面信息拉取模块判断整个pdf文件的文本信息和获取请求是否空闲,进而判断是否需要发起获取请求。
7.根据权利要求6所述的一种跨平台高性能标注引擎,其特征在于:在发起请求之后,对请求队列里的请求数量进行限制,如果请求过多,则根据请求优先级对请求队列进行调整,请求成功后缓存获取到的页面信息数据,等待被需要时调用。