CN116887032A - 跨端图像数据采集系统、方法、客户端、服务端 - Google Patents
跨端图像数据采集系统、方法、客户端、服务端 Download PDFInfo
- Publication number
- CN116887032A CN116887032A CN202310821078.9A CN202310821078A CN116887032A CN 116887032 A CN116887032 A CN 116887032A CN 202310821078 A CN202310821078 A CN 202310821078A CN 116887032 A CN116887032 A CN 116887032A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- document
- camera
- handle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 199
- 230000006854 communication Effects 0.000 claims description 199
- 230000015654 memory Effects 0.000 claims description 54
- 230000004044 response Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 34
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 9
- 229920001621 AMOLED Polymers 0.000 description 4
- 230000003416 augmentation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000002096 quantum dot Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 239000004984 smart glass Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Studio Devices (AREA)
Abstract
本申请实施例提供了一种跨端图像数据采集系统、方法、客户端、服务端,涉及数据采集技术领域,系统中客户端向服务端发送指示启动摄像头的摄像头启动指令;系统中服务端启动摄像头,并通过摄像头采集图像数据后,向客户端发送用于获取文档的文件提供者对象的对象获取请求;客户端响应于对象获取请求,向服务端反馈文件提供者对象;服务端在获取到文件提供者对象后,向客户端发送针对文档的句柄获取请求;客户端响应于句柄获取请求,基于文档的句柄与文档名称构建与文档存在映射关系的分布式文件,并向服务端反馈分布式文件的文件名称;服务端获得文档的句柄,基于句柄向文档中写入数据。应用本申请实施例提供的方案能够便捷地采集图像数据。
Description
技术领域
本申请涉及数据采集技术领域,特别是涉及一种跨端图像数据采集系统、方法、客户端、服务端。
背景技术
用户在使用电子设备时存在通过摄像头采集图像数据的需求,例如,在用户使用电子设备上课的过程中,可能需要拍摄黑板、用户使用电子设备开会的过程中,可能需要拍摄会议记录等。但用户使用的电子设备可能不便于采集图像数据,例如,用户使用的电子设备未配置有摄像头,或用户使用的电子设备体积较大不便于采集图像数据等,例如,在用户使用的电子设备是台式电脑或笔记本电脑的情况下,采集图像数据就较为困难。在此情况下,用户使用电子设备采集图像数据的过程较为繁琐。
发明内容
有鉴于此,本申请提供一种跨端图像数据采集系统、方法、客户端、服务端,以便捷地采集图像数据。
第一方面,本申请实施例提供了一种跨端图像数据采集系统,所述系统包括客户端与配置有摄像头的服务端;
所述客户端向所述服务端发送指示启动所述摄像头的摄像头启动指令;
所述服务端响应于所述摄像头启动指令启动所述摄像头,并通过所述摄像头采集图像数据后,向所述客户端发送用于获取文档的文件提供者对象的对象获取请求,所述文档为:所述客户端中待写入数据的文档;
所述客户端响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象;
所述服务端在获取到所述文件提供者对象后,向所述客户端发送针对所述文档的句柄获取请求;
所述客户端响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称;
所述服务端基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄向所述文档中写入数据。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
本申请的一个实施例中,所述客户端向所述服务端发送指示启动所述后置摄像头的摄像头启动指令,包括:
所述客户端中的第一应用向所述客户端中的第一系统应用框架发送针对所述服务端的摄像头的启动请求;
所述第一系统应用框架确定所述启动请求指示启动所述服务端的摄像头后,通知所述客户端的第一跨端拍照服务启动所述摄像头;
所述第一跨端拍照服务指示所述客户端的第一通信模块与所述服务端的第二通信模块创建会话;
所述第一跨端拍照服务向所述第一通信模块发送指示启动所述服务端的摄像头的摄像头启动指令;
所述第一通信模块通过所创建的会话向所述第二通信模块发送所述摄像头启动指令;
所述服务端中的所述第二通信模块、第二跨端拍照服务、第二系统应用框架依次将所述摄像头启动指令转发至所述服务端的相机应用。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务和第一通信模块,上述服务端中配置有第二系统应用框架、第二跨端拍照服务和第二通信模块,客户端与服务端中的软件模块互相配合进行消息转发,使得客户端中的第一应用能够控制服务端中的相机应用启动服务端的摄像头。
本申请的一个实施例中,所述服务端向所述客户端发送用于获取文档的文件提供者对象的对象获取请求,所述客户端响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象,包括:
所述服务端中的相机应用向所述服务端中的第二系统应用框架发送用于获取文档的文件提供者对象的对象获取请求;
所述第二系统应用框架与所述服务端中的第二跨端拍照服务依次转发所述对象获取请求,将所述对象获取请求转发至所述服务端中的第二通信模块;
所述第二通信模块向所述客户端的第一通信模块发送所述对象获取请求;
所述第一通信模块以及所述客户端中的第一跨端拍照服务依次将所述对象获取请求转发至所述客户端中的第一系统应用框架;
所述第一系统应用框架查找并获取所述文档的文件提供者对象,并通过所述第一跨端拍照服务将所述文件提供者对象转发至所述第一通信模块;
所述第一通信模块向所述第二通信模块发送所述文件提供者对象;
所述第二通信模块向所述第二跨端拍照服务转发所述文件提供者对象;
所述第二跨端拍照服务创建进程间通信对象,基于所述进程间通信对象将所述文件提供者对象发送至所述相机应用。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务和第一通信模块,上述服务端中配置有第二系统应用框架、第二跨端拍照服务和第二通信模块,客户端与服务端中的软件模块互相配合进行消息转发,使得服务端中的相机应用能够获取到客户端中文档的文件提供者对象。
本申请的一个实施例中,所述服务端向所述客户端发送针对所述文档的句柄获取请求,所述客户端响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称,所述服务端基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄向所述文档中写入数据,包括:
所述服务端中的相机应用指示所述服务端中的第二系统应用框架获取所述文档的句柄;
所述第二系统应用框架向所述第二跨端拍照服务发送针对所述文档的句柄获取请求;
所述第二跨端拍照服务向所述服务端中的第二通信模块转发所述句柄获取请求;
所述第二通信模块向所述客户端中的第一通信模块发送所述句柄获取请求;
所述第一通信模块、所述客户端中的第一跨端拍照服务依次将所述句柄获取请求转发至所述客户端中的第一系统应用框架;
所述第一系统应用框架响应于所述句柄获取请求查询所述文档的句柄与文档名称,并向所述第一跨端拍照服务发送所述文档的句柄与文档名称;
所述第一跨端拍照服务向所述客户端中的第一分布式文件服务发送所述文档的句柄与文档名称,指示所述第一分布式文件服务创建与所述文档存在映射关系的分布式文件;
所述第一分布式文件服务向所述第一跨端拍照服务发送所述分布式文件的文件名称;
所述第一跨端拍照服务向所述第一通信模块转发所述文件名称;
所述第一通信模块向所述第二通信模块发送所述文件名称;
所述第二通信模块向所述第二跨端拍照服务发送所述文件名称;
所述第二跨端拍照服务根据所述文件名称通过所述服务端中的第二分布式文件服务打开所述分布式文件,获取所述分布式文件的句柄,并向所述第二系统应用框架发送所述分布式文件的句柄;
所述第二系统应用框架向所述相机应用发送所述分布式文件的句柄。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务、第一通信模块和第一分布式文件服务,上述服务端中配置有第二系统应用框架、第二跨端拍照服务、第二通信模块和第二分布式文件服务,客户端与服务端中的软件模块互相配合进行消息转发,使得服务端中的相机应用能够获取到客户端中文档的句柄。
本申请的一个实施例中,所述服务端在通过所述摄像头采集图像数据后,基于所述句柄向所述文档中写入数据,包括:
所述服务端基于所获得的句柄,向所述文档中写入所述图像数据;
或
所述服务端识别所述图像数据中的字符,基于所获得的句柄,向所述文档中写入识别到的字符。
本申请实施例提供的方案能够直接向文档中写入图像数据,并且若用户采集图像数据的目的是为了获取图像数据中的字符,则识别上述图像数据中的字符后将字符写入文档可以节省用户手动将图像数据中的字符写入文档中的时间,提升用户体验。
第二方面,本申请实施例提供了一种跨端图像数据采集方法,应用于客户端,所述方法包括:
向配置有摄像头的服务端发送指示启动所述摄像头的摄像头启动指令;
接收所述服务端发送的对象获取请求,所述对象获取请求为:所述服务端在响应于所述摄像头启动指令启动所述摄像头,并通过所述摄像头采集图像数据后发送的,用于获取文档的文件提供者对象的请求,所述文档为:所述客户端中待写入数据的文档;
响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象;
接收所述服务端在获取到所述文件提供者对象后发送的针对所述文档的句柄获取请求;
响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称,以使得所述服务端基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄,向所述文档中写入数据。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
第三方面,本申请实施例提供了一种跨端图像数据采集方法,应用于配置有摄像头的服务端,所述方法包括:
接收客户端发送的指示启动所述摄像头的摄像头启动指令;
响应于所述摄像头启动指令启动所述摄像头,并通过所述摄像头采集图像数据后,向所述客户端发送用于获取文档的文件提供者对象的对象获取请求,以使得所述客户端响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象,所述文档为:所述客户端中待写入数据的文档;
在获取到所述客户端发送的文件提供者对象后,向所述客户端发送针对所述文档的句柄获取请求,以使得所述客户端响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称;
基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄向所述文档中写入数据。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
第四方面,本申请实施例提供了一种客户端,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行第二方面中任一项所述的方法。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
第五方面,本申请实施例提供了一种服务端,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行第三方面中任一项所述的方法。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第二方面或第三方面中任意一项所述的方法。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
本申请实施例的有益效果:
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
附图说明
图1为本申请实施例提供的一种跨端图像数据采集系统应用场景示意图;
图2为本申请实施例提供的一种跨端图像数据采集的流程示意图;
图3为本申请实施例提供的一种跨端图像数据采集系统软件架构图;
图4为本申请实施例提供的一种摄像头启动的流程示意图;
图5为本申请实施例提供的一种文件提供者对象获取的流程示意图;
图6为本申请实施例提供的一种文档句柄获得流程图;
图7为相关技术中的一种跨端图像采集方式示意图;
图8为本申请实施例提供的一种客户端的示意图;
图9为本申请实施例提供的一种应用于客户端的跨端图像采集方法的流程示意图;
图10为本申请实施例提供的一种服务端的示意图;
图11为本申请实施例提供的一种应用于服务端的跨端图像采集方法的流程示意图。
具体实现方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一指令和第二指令是为了区分不同的用户指令,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中的客户端可以为平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、机器人、智能眼镜、智能电视等电子设备。
服务端可以是配置有摄像头各类电子设备,如手机、平板电脑、智能手表、PC、上网本、可穿戴电子设备、智能眼镜、智能摄像头等电子设备。特别的,为了便于拍摄图像,选择体积与重量较小的电子设备作为服务端的效果较好,例如,上述服务端可以为手机、智能手表、可穿戴电子设备、智能眼镜、智能摄像头等。尤其,为了便于用户拍摄环境图像,选择配置有后置摄像头的电子设备作为服务端的效果更优。
参见图1,为本申请实施例提供的一种跨端图像数据采集系统应用场景示意图,该图以课堂场景为例,图中的客户端为平板电脑或PC,服务端为手机,用户使用平板电脑或PC记录课堂笔记,在此过程中可能需要拍摄老师展示在大屏幕中的内容或拍摄黑板上的板书,并记录于课堂笔记中。
若用户使用平板电脑记录课堂笔记,平板电脑体积较大会导致用户拍摄图像不便。另外平板电脑的摄像头的图像采集能力可能较差,位于教室后排的用户与被拍摄对象的距离较远,使用平板电脑直接拍摄的图像的清晰度可能较低,而位于教室前排的用户与被拍摄对象之间的距离较近,可能难以完整拍摄全部内容,而平板电脑的摄像头可能不支持广角功能,导致用户拍照的过程较为繁琐。
或者,若用户使用PC记录课堂笔记,PC往往未配置后置摄像头,导致用户不能直接采用PC进行图像拍摄,此时,若用户采用手机或其他设备拍摄图像,则在拍摄图像后,需要将图像通过有线或无线的方式发送至PC,才能够将再将图像插入至课堂笔记中,导致用户拍照的过程较为繁琐。
在此情况下,本申请实施例提供的方案中可以调用作为服务端的手机的摄像头完成图像拍摄,并直接将数据插入客户端的课堂笔记中,使得用户可以便捷地完成图像拍摄并将数据写入文档。
具体的实现方式参见下文描述。
参见图2,为本申请实施例提供的一种跨端图像数据采集的流程示意图,包括以下步骤S201-S208。
S201:上述客户端向上述服务端发送指示启动上述摄像头的摄像头启动指令。
S202:上述服务端响应于上述摄像头启动指令启动上述摄像头。
S203:上述服务端通过上述摄像头采集图像数据后,向上述客户端发送用于获取文档的文件提供者对象的对象获取请求。
上述文档为:上述客户端中待写入数据的文档。
其中,上述服务端可以在用户输入图像拍摄指令后采集图像数据,也可以在获得上述句柄后自动采集图像数据,例如,可以在获得上述句柄且延时预设时长后采集图像数据。
另外,服务端通过上述摄像头获取的图像数据可以是照片也可以视频。
再者,上述文件提供者对象(FlieProvider对象)用于控制文档的访问权限,服务端为了能够向文档中写入数据,需要获得文档的文件提供者对象,从而获得文档的访问权限。
S204:上述客户端响应于上述对象获取请求,向上述服务端反馈上述文件提供者对象。
上述客户端接收到对象获取请求后,从自身存储的文件的文件提供者对象中查找上述文档的文件提供者对象,并向服务端反馈上述对象获取请求。
S205:上述服务端在获取到上述文件提供者对象后,向上述客户端发送针对上述文档的句柄获取请求。
上述服务端获取到上述文件提供者对象,即获取到上述文档的访问权限,之后再获取上述文档的句柄即能够向上述文档中写入数据。上述文档的句柄为文档的标识符,服务端获取到上述文档的句柄后,即能够向该句柄标识的文档中写入数据。
S206:上述客户端响应于上述句柄获取请求,基于上述文档的句柄与文档名称构建与上述文档存在映射关系的分布式文件。
S207:上述客户端向上述服务端反馈上述分布式文件的文件名称。
由于上述文档是客户端中包含的文件,服务端无法直接向上述文档中写入数据,为了使得上述服务端能够向文档中写入数据,客户端基于上述文档的句柄与文档名称构建分布式文件,分布式文件是基于分布式文件系统创建的,分布式文件系统若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统,客户端创建的分布式文件是客户端与服务端均能够访问的,客户端基于上述文档的句柄与文档名称创建的分布式文件与上述文档存在映射关系,即上述分布式文件相当于上述文档。
S208:上述服务端基于所获得的文件名称获得上述分布式文件的句柄,基于所述句柄向上述文档中写入数据。
具体的,服务端可以打开文件名称为所获得的文件名的分布式文件,即打开客户端创建的相当于上述文档的分布式文件,从而获得上述分布式文件的句柄,由于上述分布式文件相当于上述文档,服务端基于上述句柄即可向客户端中的文档写入数据。
本申请的一个实施例中,可以通过以下步骤A或步骤B向文档中写入数据。
步骤A:上述服务端基于所获得的句柄,向上述文档中写入上述图像数据。
具体的,在上述服务端通过摄像头获取图像数据后,可以直接将图像数据插入上述文档中。
步骤B:上述服务端识别上述图像数据中的字符,基于所获得的句柄,向上述文档中写入识别到的字符。
具体的,服务端采集的图像数据中可能包含字符,服务端可以先基于预设的字符识别算法从图像数据中识别出字符,之后将识别到的字符写入上述文档中。
若用户采集图像数据的目的是为了获取图像数据中的字符,则识别上述图像数据中的字符后将字符写入文档可以节省用户手动将图像数据中的字符写入文档中的时间,提升用户体验。
例如,若用户在课堂上采集的黑板的图像数据是为了获取黑板上的板书,则识别上述图像数据中的字符后将字符写入文档可以节省用户手动将板书写入文档中的时间,能够提升用户体验。
本申请的一个实施例中,用户可以在服务端中选择向文档中写入图像数据或图像数据中的字符,或者服务端可以对写入文档中的数据的形式进行默认限定,若默认写入图像数据,则服务端执行步骤A,直接向文档中写入图像数据,若默认写入字符,则服务端执行步骤B,首先对图像数据进行字符识别,再向文档中写入字符。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
上述图2所示的实施例是通过客户端与服务端中不同层的服务协同工作实现的,参见图3,为本申请实施例提供的一种跨端图像数据采集系统软件架构图。
图中虚线左侧为客户端的软件架构,虚线右侧为服务端的软件架构,客户端的软件架构中包括第一应用301、第一系统应用框架302、第一跨端拍照服务303、第一分布式文件服务307,服务端的软件架构中包括相机应用304、第二系统应用框架305、第二跨端拍照服务306、第二分布式文件服务308。
其中,第一应用301为发起拍照请求的应用,例如,第一应用301可以是文档应用等。第一系统应用框架302用于进行分布式调用,即调用第一分布式文件服务307并作为跨端拍照适配层用于调度跨端图像数据采集的过程。第一跨端拍照服务303用于传输跨端拍照调用请求,即摄像头启动指令、对象获取请求与句柄获取请求,并向第一应用301回传拍照结果,上述拍照结果包括图像数据采集成功或图像数据采集失败。
相机应用304为进行图像采集的应用,第二系统应用框架305作为跨端拍照适配层,用于调度跨端图像数据采集的过程,第二跨端拍照服务306用于拉起相机应用以及向客户端回传相机应用304采集的图像数据,第二分布式文件服务308用于打开分布式文件并获取分布式文件的句柄。
图中箭头的方向指示的是数据传输方向,具体的,对于软件架构中不同单元之间的数据传输的具体过程可以参见下文描述。
参见图4,为本申请实施例提供的一种摄像头启动的流程示意图,包括以下步骤S401-S407以启动服务端中的摄像头。
S401:上述客户端中的第一应用301向上述客户端中的第一系统应用框架302发送针对上述服务端的摄像头的启动请求。
其中,上述启动请求为用于启动相机应用304的请求,其中携带有服务端的设备标识,表示请求启动服务端的相机应用304以拉起服务端的摄像头。
S402:上述第一系统应用框架302确定上述启动请求指示启动上述服务端的摄像头。
上述第一系统应用框架302识别上述启动请求的意图,在确定意图为拉起服务端的摄像头的请求后,执行后续步骤。
S403:上述第一系统应用框架302通知上述客户端的第一跨端拍照服务303启动上述摄像头。
上述第一系统应用框架302可以向上述第一跨端拍照服务303发送携带有服务端的标识的摄像头启动请求,以通知上述第一跨端拍照服务303拉起服务端的摄像头。
S404:上述第一跨端拍照服务303指示上述客户端的第一通信模块与上述服务端的第二通信模块创建会话。
上述第一跨端拍照服务303接收到上述第一系统应用框架302发送的摄像头启动请求后,确定需要拉起服务端的摄像头,在此情况下需要与服务端进行信息交互,则需要建立与服务端之间的通信连接。因此,上述第一跨端拍照服务303指示上述第一通信模块与第一通信模块创建会话。在上述第一通信模块与第二通信模块之间创建会话成功后,客户端与服务端即可通过第一通信模块和第二通信模块进行信息交互。
S405:上述第一跨端拍照服务303向上述第一通信模块发送指示启动上述服务端的摄像头的摄像头启动指令。
S406:上述第一通信模块通过所创建的会话向上述第二通信模块发送上述摄像头启动指令。
S407:上述服务端中的上述第二通信模块、第二跨端拍照服务306、第二系统应用框架305依次将上述摄像头启动指令转发至上述服务端的相机应用304。
具体的,上述第二通信模块向上述第二跨端拍照服务306转发上述摄像头启动指令,上述第二跨端拍照服务306向上述第二系统应用框架305转发上述摄像头启动指令,上述第二系统应用框架305向上述相机应用304转发上述摄像头启动指令。
上述相机应用304接收到上述摄像头启动指令后启动上述服务端的摄像头。
另外,上述相机应用304成功启动摄像头后,可以向上述第一应用301反馈表示摄像头启动的消息,上述消息由相机应用发送至第二系统应用框架305,第二系统应用框架305将该消息转发至第二跨端拍照服务306,第二跨端拍照服务306将该消息转发至第二通信模块,第二通信模块将该消息转发至第一通信模块,第一通信模块将该消息转发至第一跨端拍照服务303,第一跨端拍照服务303将该消息转发至第一系统应用框架302,第一系统应用框架将该消息转发至第一应用301,使得第一应用301确定服务端的摄像头启动成功。图4中的虚线箭头表示该消息的转发过程。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务和第一通信模块,上述服务端中配置有第二系统应用框架、第二跨端拍照服务和第二通信模块,客户端与服务端中的软件模块互相配合进行消息转发,使得客户端中的第一应用能够控制服务端中的相机应用启动服务端的摄像头。
参见图5,为本申请实施例提供的一种文件提供者对象获取的流程示意图,包括以下步骤S501-S510。
S501:上述服务端中的相机应用304向上述服务端中的第二系统应用框架305发送用于获取文档的文件提供者对象的对象获取请求。
S502:上述第二系统应用框架305与上述服务端中的第二跨端拍照服务306依次转发上述对象获取请求,将上述对象获取请求转发至上述服务端中的第二通信模块。
具体的,上述第二系统应用框架305向上述第二跨端拍照服务306转发上述对象获取请求,上述第二跨端拍照服务306向第二通信模块转发上述对象获取请求。
上述第二通信模块与客户端的第一通信模块之间创建有用于进行通信的会话。
S503:上述第二通信模块向上述客户端的第一通信模块发送上述对象获取请求。
具体的,上述第二通信模块可以通过上述会话向上述第一通信模块发送上述对象获取请求。
S504:上述第一通信模块以及上述客户端中的第一跨端拍照服务303依次将上述对象获取请求转发至上述客户端中的第一系统应用框架。
具体的,上述第一通信模块向上述第一跨端拍照服务303转发上述对象获取请求,上述第一跨端拍照服务303向上述第一系统应用框架302转发上述对象获取请求。
S505:上述第一系统应用框架302查找并获取上述文档的文件提供者对象。
第一系统应用框架302在客户端中包含的各个文件的文档提供者对象中查找针对上述文档的文件提供者对象。
S506:上述第一系统应用框架302通过上述第一跨端拍照服务303将上述文件提供者对象转发至上述第一通信模块。
具体的,上述第一系统应用框架302向上述第一跨端拍照服务303转发上述文件提供者对象,上述第一跨端拍照服务303向上述第一通信模块转发上述文件提供者对象。
S507:上述第一通信模块向上述第二通信模块发送上述文件提供者对象。
具体的,上述第一通信模块可以通过会话向上述第二通信模块发送上述文件提供者对象。
S508:上述第二通信模块向上述第二跨端拍照服务306转发上述文件提供者对象。
S509:上述第二跨端拍照服务306创建进程间通信对象。
S510:上述第二跨端拍照服务306基于上述进程间通信对象将上述文件提供者对象发送至上述相机应用304。
具体的,上述第二跨端拍照服务306与相机应用304运行于不同的进程中,第二跨端拍照服务306需要通过进程间通信对象(Binder对象)与相机应用304进行通信,创建进程间通信对象后第二跨端拍照服务306即可通过该进程间通信对象与相机应用304进行通信。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务和第一通信模块,上述服务端中配置有第二系统应用框架、第二跨端拍照服务和第二通信模块,客户端与服务端中的软件模块互相配合进行消息转发,使得服务端中的相机应用能够获取到客户端中文档的文件提供者对象。
参见图6,为本申请实施例提供的一种文档句柄获得流程图,包括以下步骤S601-S615。
S601:上述服务端中的相机应用304指示上述服务端中的第二系统应用框架305获取上述文档的句柄。
S602:上述第二系统应用框架305向上述第二跨端拍照服务306发送针对上述文档的句柄获取请求。
S603:上述第二跨端拍照服务306向上述服务端中的第二通信模块转发上述句柄获取请求。
S604:上述第二通信模块向上述客户端中的第一通信模块发送上述句柄获取请求。
上述第二通信模块与第一通信模块之间创建有会话,第二通信模块通过上述会话向上述第一通信模块发送上述句柄获取请求。
S605:上述第一通信模块、上述客户端中的第一跨端拍照服务303依次将上述句柄获取请求转发至上述客户端中的第一系统应用框架302。
具体的,上述第一通信模块将上述句柄获取请求转发至第一跨端拍照服务303,上述第一跨端拍照服务303再将上述句柄获取请求转发至第一系统应用框架302。
S606:上述第一系统应用框架302响应于上述句柄获取请求查询上述文档的句柄与文档名称。
S607:上述第一系统应用框架302向上述第一跨端拍照服务303发送上述文档的句柄与文档名称。
具体的,上述客户端中存在大量的文件,不同文件的文件句柄与文件名称不同,上述第一系统应用框架302从各个文件的文件句柄和文件名称中查找上述文档的句柄和文档名称。
S608:上述第一跨端拍照服务303向上述客户端中的第一分布式文件服务307发送上述文档的句柄与文档名称,指示上述第一分布式文件服务307创建分布式文件。
具体的,上述第一分布式文件服务307所创建的分布式文件的文件名称可以与上述文档的文档名称相同,也可以在文档名称的基础上添加预设字符得到分布式文件的文件名称。
S609:上述第一分布式文件服务307向上述第一跨端拍照服务303发送上述分布式文件的文件名称。
S610:上述第一跨端拍照服务303向上述第一通信模块转发上述文件名称。
S611:上述第一通信模块向上述第二通信模块发送上述文件名称。
具体的,上述第一通信模块通过上述会话向上述第二通信模块发送上述文件名称。
S612:上述第二通信模块向上述第二跨端拍照服务306发送上述文件名称。
S613:上述第二跨端拍照服务306根据上述文件名称通过上述服务端中的第二分布式文件服务308打开上述分布式文件,获取上述分布式文件的句柄。
具体的,上述第二跨端拍照服务306调用上述第二分布式文件服务308,上述第二分布式文件服务308查找名称为上述文件名称的分布式文件,图中的虚线箭头,表示第二分布式文件服务308向上述第二跨端拍照服务306反馈上述分布式文件的句柄。
S614:上述第二跨端拍照服务306向上述第二系统应用框架305发送上述分布式文件的句柄。
S615:上述第二系统应用框架305向上述相机应用304发送上述分布式文件的句柄作为上述文档的句柄。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务、第一通信模块和第一分布式文件服务,上述服务端中配置有第二系统应用框架、第二跨端拍照服务、第二通信模块和第二分布式文件服务,客户端与服务端中的软件模块互相配合进行消息转发,使得服务端中的相机应用能够获取到客户端中文档的句柄。
为了体现本申请实施例与相关技术的区别,通过以下图7所示的实施例描述相关技术,参见图7,为相关技术中的一种跨端图像采集方式示意图。
图中包括设备1与设备2,设备1中包括应用1与通信模块1,应用1包括数据传输、传输协议、数据序列化、设备监听、会话建立的功能以及通信模块工具,设备2中包括应用2与通信模块2,应用2包括数据传输、传输协议、数据序列化、设备监听、会话建立的功能以及通信模块工具。应用1通过会话建立功能与之间应用2建立会话,应用1能够通过设备监听功能监听设备1的状态,通过序列化功能对数据进行序列化,通过数据传输功能,基于传输协议功能向应用2传输数据。
在存在跨端数据采集需求的情况下,应用1将自身的状态数据序列化,调用通信模块工具启动通信模块1,将序列化后的状态数据传输至应用2,应用2接收到状态数据后,基于状态数据恢复应用1的状态,即在设备2中的应用2中恢复应用1的状态,包括应用2展示的界面、记录的数据等于设备1中的应用1相同,用户在设备2中使用应用2相当于使用设备1中的应用1。则在用户使用设备1采集图像数据较为繁琐的情况下,可以通过相关技术中的方式在设备2中的应用2中恢复设备1中应用1状态,则用户可以在设备2使用应用2,并通过设备2进行图像采集。可见,相关技术中的跨端图像采集方式与本申请实施例提供完全不同。
与前述跨端图像采集系统相对应,本申请实施例还提供了一种应用于客户端的跨端图像数据采集方法。
如图8所示,图8为本申请实施例提供的一种客户端的示意图,图8所示的客户端可以包括处理器810、外部存储器接口1~N820、内部存储器821、通用串行总线(UniversalSerial Bus,USB)接口830、充电管理模块840、电源管理模块841、电池842、天线1、无线通信模块860、按键890、马达891、指示器892、显示屏1~N 894等。
可以理解的是,本申请实施例示意的结构并不构成对客户端的具体限定。在本申请另一些实施例中,客户端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器810可以包括一个或多个处理单元,例如:处理器810可以包括应用处理器(Application Processor,AP)、调制解调处理器(modem)、图形处理器(GraphicsProcessing Unit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器810可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器810中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器810中的存储器为高速缓冲存储器。该存储器可以保存处理器810刚用过或循环使用的指令或数据。如果处理器810需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器810的等待时间,因而提高了系统的效率。
在一些实施例中,处理器810可以包括一个或多个接口。接口可以包括集成电路(Inter-Integrated Circuit,I2C)接口、集成电路内置音频(Inter-Integrated CircuitSound,I2S)接口、脉冲编码调制(Pulse Code Modulation,PCM)接口、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)接口、移动产业处理器接口(Mobile Industry Processor Interface,MIPI)、通用输入输出(General-PurposeInput/Output,GPIO)接口、以及用户标识模块(Subscriber Identity Module,SIM)接口。
I2C接口是一种双向同步串行总线,包括一根串行数据线(Serial Data Line,SDA)和一根串行时钟线(Derail Clock Line,SCL)。在一些实施例中,处理器810可以包含多组I2C总线。处理器810可以通过不同的I2C总线接口分别耦合充电器等。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器810与无线通信模块860。例如:处理器810通过UART接口与无线通信模块860中的蓝牙模块通信,实现蓝牙功能。
MIPI接口可以被用于连接处理器810与显示屏894等外围器件。MIPI接口包括摄像头串行接口(Camera Serial Interface,CSI)、以及显示屏串行接口(Display SerialInterface,DSI)等。在一些实施例中。处理器810和显示屏894通过DSI接口通信,实现客户端的显示功能。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对客户端的结构限定。在本申请另一些实施例中,客户端也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
客户端的无线通信功能可以通过天线1、无线通信模块860、调制解调处理器以及基带处理器等实现。
天线1用于发射和接收电磁波信号。客户端中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
无线通信模块860可以提供应用在客户端上的包括WLAN(Wireless Local AreaNetworks,无线局域网)、BT((Bluetooth,蓝牙)、GNSS(Global Navigation SatelliteSystem,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near FieldCommunication,近距离无线通信技术)、IR(infrared,红外技术)等无线通信的解决方案。
在一些实施例中,天线1和无线通信模块860耦合,使得客户端可以通过无线通信技术与网络以及其他设备通信。在本申请的一个实施例中,客户端可以通过无线通信模块860实现与另一电子设备的局域网络连接。无线通信技术可以包括全球移动通讯系统(Global System for Mobile Communications,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址接入(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、时分同步码分多址(Time-Division-Synchronous Code Division Multiple Access,TD-SCDMA),长期演进(LongTerm Evolution,LTE)、BT、GNSS、WLAN、NFC、FM、和/或IR技术等。GNSS可以包括全球卫星定位系统(Global Positioning System,GPS)、全球导航卫星系统(Global NavigationSatellite System,GLONASS)、北斗卫星导航系统(Beidou Navigation SatelliteSystem,BDS)、准天顶卫星系统(Quasi-Zenith Satellite System,QZSS)、和/或星基增强系统(Satellite Based Augmentation System,SBAS)等。
显示屏894用于显示图像,视频等。显示屏894包括显示面板。显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active-MatrixOrganic Light Emitting Diode的,AMOLED)、柔性发光二极管(Flex Light-EmittingDiode,FLED)、MiniLED、MicroLED、Micro-OLED、以及量子点发光二极管(Quantum dotLight Emitting Diode,QLED)等。在一些实施例中,客户端可以包括1个或N个显示屏894,N为大于1的正整数。
外部存储器接口820可以用于连接外部存储卡,例如Micro安全数码(SecureDigital Memory,SD)卡,实现扩展客户端的存储能力。外部存储卡通过外部存储器接口820与处理器810通信,实现数据存储功能。例如将音乐、视频、录音文件等文件保存在外部存储卡中。
内部存储器821可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器821可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、以及至少一个功能所需的应用程序(比如声音播放功能、图像播放功能和录音功能等)等。存储数据区可存储客户端使用过程中所创建的数据(比如上行音频数据、下行音频数据和电话本等)等。此外,内部存储器821可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(Universal FlashStorage,UFS)等。处理器810通过运行存储在内部存储器821的指令和/或存储在设置于处理器810中的存储器的指令,执行客户端的各种功能应用以及数据处理。
按键890包括开机键,音量键等。按键890可以是机械按键。也可以是触摸式按键。客户端可以接收按键输入,产生与客户端的用户设置以及功能控制有关的键信号输入。
马达891可以产生振动提示。马达891可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏894不同区域的触摸操作,马达891也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
参见图9,为本申请实施例提供的一种应用于客户端的跨端图像采集方法的流程示意图,包括以下步骤S901-S905。
S901:向配置有摄像头的服务端发送指示启动上述摄像头的摄像头启动指令。
S902:接收上述服务端发送的对象获取请求。
上述对象获取请求为:上述服务端在响应于上述摄像头启动指令启动上述摄像头,并通过上述摄像头采集图像数据后发送的,用于获取文档的文件提供者对象的请求,上述文档为:上述客户端中待写入数据的文档。
S903:响应于上述对象获取请求,向上述服务端反馈上述文件提供者对象。
S904:接收上述服务端在获取到上述文件提供者对象后发送的针对上述文档的句柄获取请求。
S905:响应于上述句柄获取请求,基于上述文档的句柄与文档名称构建与上述文档存在映射关系的分布式文件,并向上述服务端反馈上述分布式文件的文件名称,以使得上述服务端基于所获得的文件名称获得上述分布式文件的句柄,基于上述句柄,向上述文档中写入数据。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
本申请的另一个实施例中,上述客户端可以通过以下步骤C1-步骤C5向服务端发送指示启动上述后置摄像头的摄像头启动指令。
步骤C1:上述客户端中的第一应用向上述客户端中的第一系统应用框架发送针对上述服务端的摄像头的启动请求。
步骤C2:上述第一系统应用框架确定上述启动请求指示启动上述服务端的摄像头后,通知上述客户端的第一跨端拍照服务启动上述摄像头。
步骤C3:上述第一跨端拍照服务指示上述客户端的第一通信模块与上述服务端的第二通信模块创建会话。
步骤C4:上述第一跨端拍照服务向上述第一通信模块发送指示启动上述服务端的摄像头的摄像头启动指令。
步骤C5:上述第一通信模块通过所创建的会话向上述第二通信模块发送上述摄像头启动指令。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务和第一通信模块,客户端中的软件模块互相配合进行消息转发,使得客户端中的第一应用能够控制服务端启动摄像头。
本申请的又一个实施例中,上述客户端通过以下步骤D1-步骤D4响应上述对象获取请求向上述服务端反馈上述文件提供者对象。
步骤D1:上述客户端中的第一通信模块接收上述服务端中的第二通信模块发送的对象获取请求。
步骤D2:上述第一通信模块以及上述客户端中的第一跨端拍照服务依次将上述对象获取请求转发至上述客户端中的第一系统应用框架。
步骤D3:上述第一系统应用框架查找并获取上述文档的文件提供者对象,并通过上述第一跨端拍照服务将上述文件提供者对象转发至上述第一通信模块。
步骤D4:上述第一通信模块向上述第二通信模块发送上述文件提供者对象。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务和第一通信模块,客户端中的软件模块互相配合进行消息转发,使得服务端能够获取到客户端中文档的文件提供者对象。
本申请的再一个实施例中,上述客户端通过以下步骤E1-步骤E7响应上述句柄获取请求向上述服务端反馈上述文档的句柄。
步骤E1:上述客户端中的第一通信模块接收上述服务端中的第二通信模块发送的句柄获取请求。
步骤E2:上述第一通信模块、上述客户端中的第一跨端拍照服务依次将上述句柄获取请求转发至上述客户端中的第一系统应用框架。
步骤E3:上述第一系统应用框架响应于上述句柄获取请求查询上述文档的句柄与文档名称,并向上述第一跨端拍照服务发送上述文档的句柄与文档名称。
步骤E4:上述第一跨端拍照服务向上述第一分布式文件服务发送上述文档的句柄与文档名称,指示上述第一分布式文件服务创建分布式文件。
步骤E5:上述第一分布式文件服务向上述第一跨端拍照服务发送上述分布式文件的文件名称。
步骤E6:上述第一跨端拍照服务向上述第一通信模块转发上述文件名称。
步骤E7:上述第一通信模块向上述第二通信模块发送上述文件名称,以使得上述服务端基于上述文件名称打开上述分布式文件,获得上述分布式文件的句柄。
由以上可见,上述客户端中配置有第一系统应用框架、第一跨端拍照服务、第一通信模块、第一分布式文件服务,客户端中的软件模块与服务端互相配合进行消息转发,使得服务端能够获取到分布式文件的句柄。
具体的,客户端进行跨端图像采集的过程可以参见前文描述,在此不再赘述。
本申请的又一个实施例中,提供了一种应用于服务端的跨端图像数据采集方法。
如图10所示,图10为本申请实施例提供的一种服务端的示意图,图10所示的服务端可以包括处理器1010、外部存储器接口1’~N’1020、内部存储器1021、通用串行总线(Universal Serial Bus,USB)接口1030、充电管理模块1040、电源管理模块1041、电池1042、天线1’、天线2’、移动通信模块1050、无线通信模块1060、按键1090、马达1091、指示器1092、摄像头1’~N’1093、显示屏1’~N’1094、以及用户标识模块(Subscriber IdentityModule,SIM)卡接口1’~N’1095等。其中,传感器模块1080可以包括压力传感器1080A、触摸传感器1080B等。
可以理解的是,本申请实施例示意的结构并不构成对服务端的具体限定。在本申请另一些实施例中,服务端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器1010可以包括一个或多个处理单元,例如:处理器1010可以包括应用处理器(Application Processor,AP)、调制解调处理器(modem)、图形处理器(GraphicsProcessing Unit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器1010可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器1010中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1010中的存储器为高速缓冲存储器。该存储器可以保存处理器1010刚用过或循环使用的指令或数据。如果处理器1010需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1010的等待时间,因而提高了系统的效率。
在一些实施例中,处理器1010可以包括一个或多个接口。接口可以包括集成电路(Inter-Integrated Circuit,I2C)接口、集成电路内置音频(Inter-Integrated CircuitSound,I2S)接口、脉冲编码调制(Pulse Code Modulation,PCM)接口、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)接口、移动产业处理器接口(Mobile Industry Processor Interface,MIPI)、通用输入输出(General-PurposeInput/Output,GPIO)接口、以及用户标识模块(Subscriber Identity Module,SIM)接口。
I2C接口是一种双向同步串行总线,包括一根串行数据线(Serial Data Line,SDA)和一根串行时钟线(Derail Clock Line,SCL)。在一些实施例中,处理器1010可以包含多组I2C总线。处理器1010可以通过不同的I2C总线接口分别耦合触摸传感器1080B、充电器,闪光灯、摄像头1093等。例如:处理器1010可以通过I2C接口耦合触摸传感器1080B,使处理器1010与触摸传感器1080B通过I2C总线接口通信,实现服务端的触摸功能。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器1010与无线通信模块1060。例如:处理器1010通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。
MIPI接口可以被用于连接处理器1010与显示屏1094,摄像头1093等外围器件。MIPI接口包括摄像头串行接口(Camera Serial Interface,CSI)、以及显示屏串行接口(Display Serial Interface,DSI)等。在一些实施例中,处理器1010和摄像头1093通过CSI接口通信,实现服务端的拍摄功能。处理器1010和显示屏1094通过DSI接口通信,实现服务端的显示功能。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对服务端的结构限定。在本申请另一些实施例中,服务端也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
服务端的无线通信功能可以通过天线1、天线2、移动通信模块1050、无线通信模块1060、调制解调处理器以及基带处理器等实现。
天线1’和天线2’用于发射和接收电磁波信号。服务端中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1’复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块1050可以提供应用在服务端上的包括2G/3G/4G/5G等无线通信的解决方案。在一些实施例中,可以通过移动通信模块1050实现两个电子设备之间的通话数据的传输,例如,作为被呼叫方设备时,可以获得来自呼叫方设备的下行音频流数据,以及可以向呼叫方设备传输上行音频流数据。
无线通信模块1060可以提供应用在服务端上的包括WLAN(Wireless Local AreaNetworks,无线局域网)、BT((Bluetooth,蓝牙)、GNSS(Global Navigation SatelliteSystem,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near FieldCommunication,近距离无线通信技术)、IR(infrared,红外技术)等无线通信的解决方案。
在一些实施例中,服务端的天线1’和移动通信模块1050耦合,天线2’和无线通信模块1060耦合,使得服务端可以通过无线通信技术与网络以及其他设备通信。在本申请的一个实施例中,服务端可以通过无线通信模块1060实现与另一电子设备的局域网络连接。无线通信技术可以包括全球移动通讯系统(Global System for Mobile Communications,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址接入(CodeDivision Multiple Access,CDMA)、宽带码分多址(Wideband Code Division MultipleAccess,WCDMA)、时分同步码分多址(Time-Division-Synchronous Code DivisionMultiple Access,TD-SCDMA),长期演进(Long Term Evolution,LTE)、BT、GNSS、WLAN、NFC、FM、和/或IR技术等。GNSS可以包括全球卫星定位系统(Global Positioning System,GPS)、全球导航卫星系统(Global Navigation Satellite System,GLONASS)、北斗卫星导航系统(Beidou Navigation Satellite System,BDS)、准天顶卫星系统(Quasi-ZenithSatellite System,QZSS)、和/或星基增强系统(Satellite Based Augmentation System,SBAS)等。
显示屏1094用于显示图像,视频等。显示屏1094包括显示面板。显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active-MatrixOrganic Light Emitting Diode的,AMOLED)、柔性发光二极管(Flex Light-EmittingDiode,FLED)、MiniLED、MicroLED、Micro-OLED、以及量子点发光二极管(Quantum dotLight Emitting Diode,QLED)等。在一些实施例中,服务端可以包括1个或N’个显示屏1094,N’为大于1的正整数。
外部存储器接口1020可以用于连接外部存储卡,例如Micro安全数码(SecureDigital Memory,SD)卡,实现扩展服务端的存储能力。外部存储卡通过外部存储器接口1020与处理器1010通信,实现数据存储功能。例如将音乐、视频、录音文件等文件保存在外部存储卡中。
内部存储器1021可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器1021可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、以及至少一个功能所需的应用程序(比如声音播放功能、图像播放功能和录音功能等)等。存储数据区可存储服务端使用过程中所创建的数据(比如上行音频数据、下行音频数据和电话本等)等。此外,内部存储器1021可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(Universal FlashStorage,UFS)等。处理器1010通过运行存储在内部存储器1021的指令和/或存储在设置于处理器1010中的存储器的指令,执行服务端的各种功能应用以及数据处理。
压力传感器1080A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器1080A可以设置于显示屏1094。在一些实施例中,当用户点击按压显示屏1094上的接听键时,可实现手动接听通话功能,当用户点击按压显示屏1094上的挂断键时,可实现手动挂断通话功能。
触摸传感器1080B,也称“触控器件”。触摸传感器1080B可以设置于显示屏1094,由触摸传感器1080B与显示屏1094组成触摸屏,也称“触控屏”。触摸传感器1080B用于检测作用于其上或附近的触摸操作。触摸传感器1080B可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏1094提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器1080B也可以设置于服务端的表面,与显示屏1094所处的位置不同。
按键1090包括开机键,音量键等。按键1090可以是机械按键。也可以是触摸式按键。服务端可以接收按键输入,产生与服务端的用户设置以及功能控制有关的键信号输入。
马达1091可以产生振动提示。马达1091可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏1094不同区域的触摸操作,马达1091也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
SIM卡接口1095用于连接SIM卡。SIM卡可以通过插入SIM卡接口1095,或从SIM卡接口1095拔出,实现和服务端的接触和分离。服务端可以支持1个或N’个SIM卡接口,N’为大于1的正整数。SIM卡接口1095可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口1095可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口1095也可以兼容不同类型的SIM卡。SIM卡接口1095也可以兼容外部存储卡。服务端通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,服务端采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在服务端中,不能和服务端分离。
参见图11,为本申请实施例提供的一种应用于服务端的跨端图像采集方法的流程示意图,包括以下步骤S1101-S1104。
S1101:接收客户端发送的指示启动上述摄像头的摄像头启动指令。
S1102:响应于上述摄像头启动指令启动上述摄像头,并通过上述摄像头采集图像数据后,向上述客户端发送用于获取文档的文件提供者对象的对象获取请求,以使得上述客户端响应于上述对象获取请求,向上述服务端反馈上述文件提供者对象。
上述文档为:上述客户端中待写入数据的文档。
S1103:在获取到上述客户端发送的文件提供者对象后,向上述客户端发送针对上述文档的句柄获取请求,以使得上述客户端响应于上述句柄获取请求,基于上述文档的句柄与文档名称构建与上述文档存在映射关系的分布式文件,并向上述服务端反馈上述分布式文件的文件名称。
S1104:基于所获得的文件名称获得上述分布式文件的句柄,基于上述句柄向上述文档中写入数据。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
本申请的另一个实施例中,可以通过以下步骤F1-步骤F3接收上述客户端发送的摄像头启动指令,并响应于上述摄像头启动指令启动上述摄像头。
步骤F1:上述服务端中的第二通信模块接收上述客户端中的第一通信模块发送的摄像头启动指令,上述第二通信模块与第一通信模块之间建立有会话。
步骤F2:上述服务端中的第二通信模块、第二跨端拍照服务、第二系统应用框架依次将上述摄像头启动指令转发至上述服务端的相机应用。
步骤F3:上述相机应用响应于上述摄像头启动指令,启动摄像头。
由以上可见,上述服务端中配置有第二系统应用框架、第二跨端拍照服务和第二通信模块,服务端中的软件模块互相配合进行消息转发,使得客户端能够控制服务端中的相机应用启动服务端的摄像头。
本申请的又一个实施例中,可以通过以下步骤G1-步骤G6向客户端发送对象获取请求,并获取客户端反馈的上述文档的文件提供者对象。
步骤G1:上述服务端中的相机应用向上述服务端中的第二系统应用框架发送用于获取文档的文件提供者对象的对象获取请求。
步骤G2:上述第二系统应用框架与上述服务端中的第二跨端拍照服务依次转发上述对象获取请求,将上述对象获取请求转发至上述服务端中的第二通信模块。
步骤G3:上述第二通信模块向上述客户端的第一通信模块发送上述对象获取请求。
步骤G4:上述第二通信模块接收上述第一通信模块发送的、上述客户端响应于上述对象获取请求反馈的文件提供者对象。
步骤G5:上述第二通信模块向上述第二跨端拍照服务转发上述文件提供者对象。
步骤G6:上述第二跨端拍照服务创建进程间通信对象,基于上述进程间通信对象将上述文件提供者对象发送至上述相机应用。
由以上可见,上述服务端中配置有第二系统应用框架、第二跨端拍照服务和第二通信模块,服务端中的软件模块互相配合进行消息转发,使得服务端中的相机应用能够获取到客户端中文档的文件提供者对象。
本申请的又一个实施例中,上述服务端通过以下步骤H1-步骤H8向客户端发送上述文档的句柄获取请求,并获取上述文档的句柄。
步骤H1:上述服务端中的相机应用指示上述服务端中的第二系统应用框架获取上述文档的句柄。
步骤H2:上述第二系统应用框架向上述第二跨端拍照服务发送针对上述文档的句柄获取请求。
步骤H3:上述第二跨端拍照服务向上述服务端中的第二通信模块转发上述句柄获取请求。
步骤H4:上述第二通信模块向上述客户端中的第一通信模块发送上述句柄获取请求,以使得上述客户端响应于上述句柄获取请求,基于上述文档的句柄构建分布式文件,并向上述服务端反馈上述分布式文件的文件名称。
步骤H5:上述第二通信模块接收上述文档的文件名称。
步骤H6:上述第二通信模块向上述第二跨端拍照服务发送上述文件名称。
步骤H7:上述第二跨端拍照服务根据上述文件名称打开上述第二分布式文件服务中的分布式文件,从上述第二分布式文件服务中获取上述分布式文件的句柄,并向上述第二系统应用框架发送上述分布式文件的句柄。
步骤H8:上述第二系统应用框架向上述相机应用发送上述分布式文件的句柄。
由以上可见,上述服务端中配置有第二系统应用框架、第二跨端拍照服务、第二通信模块和第二分布式文件服务,服务端中的软件模块与客户端互相配合进行消息转发,使得服务端中的相机应用能够获取到客户端中文档的句柄。
本申请的又一个实施例中,通过以下步骤I1或步骤I2向服务端中的文档中写入数据。
步骤I1:上述服务端基于所获得的句柄,向上述文档中写入上述图像数据。
步骤I2:上述服务端识别上述图像数据中的字符,基于所获得的句柄,向上述文档中写入识别到的字符。
本申请实施例提供的方案能够直接向文档中写入图像数据,并且若用户采集图像数据的目的是为了获取图像数据中的字符,则识别上述图像数据中的字符后将字符写入文档可以节省用户手动将图像数据中的字符写入文档中的时间,提升用户体验。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述实施例中的部分或全部步骤。上述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
具体实现中,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
本申请实施例提供的方案中客户端通过向服务端发送摄像头启动指令启动服务端的摄像头后,服务端获取客户端中文档的文件提供者对象,获取文件提供者对象后服务端即获取到了文档的访问权限,之后服务端获文档的句柄,并在拍摄图像后直接基于所获得的句柄向文档中写入数据。由此可见,客户端能够直接启动服务端的摄像头,服务端的摄像头完成图像数据的获取后能够直接将数据写入客户端的文档中,节省了用户通过服务端完成图像数据采集后之后再将图像传输至客户端,再在客户端中将图像写入文档中的所需的操作,使得用户在使用客户端的过程中能够便捷地通过服务端辅助完成图像拍摄,并直接将图像插入至客户端的文档中,通过本申请实施例提供的方案用户能够便捷地采集图像数据。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、光盘只读存储器(Compact Disc Read Only Memory,CD-ROMs)、磁光盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically ErasableProgrammable Read Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明书附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (10)
1.一种跨端图像数据采集系统,其特征在于,所述系统包括客户端与配置有摄像头的服务端;
所述客户端向所述服务端发送指示启动所述摄像头的摄像头启动指令;
所述服务端响应于所述摄像头启动指令启动所述摄像头,并通过所述摄像头采集图像数据后,向所述客户端发送用于获取文档的文件提供者对象的对象获取请求,所述文档为:所述客户端中待写入数据的文档;
所述客户端响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象;
所述服务端在获取到所述文件提供者对象后,向所述客户端发送针对所述文档的句柄获取请求;
所述客户端响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称;
所述服务端基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄向所述文档中写入数据。
2.根据权利要求1所述的系统,其特征在于,所述客户端向所述服务端发送指示启动所述后置摄像头的摄像头启动指令,包括:
所述客户端中的第一应用向所述客户端中的第一系统应用框架发送针对所述服务端的摄像头的启动请求;
所述第一系统应用框架确定所述启动请求指示启动所述服务端的摄像头后,通知所述客户端的第一跨端拍照服务启动所述摄像头;
所述第一跨端拍照服务指示所述客户端的第一通信模块与所述服务端的第二通信模块创建会话;
所述第一跨端拍照服务向所述第一通信模块发送指示启动所述服务端的摄像头的摄像头启动指令;
所述第一通信模块通过所创建的会话向所述第二通信模块发送所述摄像头启动指令;
所述服务端中的所述第二通信模块、第二跨端拍照服务、第二系统应用框架依次将所述摄像头启动指令转发至所述服务端的相机应用。
3.根据权利要求1所述的系统,其特征在于,所述服务端向所述客户端发送用于获取文档的文件提供者对象的对象获取请求,所述客户端响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象,包括:
所述服务端中的相机应用向所述服务端中的第二系统应用框架发送用于获取文档的文件提供者对象的对象获取请求;
所述第二系统应用框架与所述服务端中的第二跨端拍照服务依次转发所述对象获取请求,将所述对象获取请求转发至所述服务端中的第二通信模块;
所述第二通信模块向所述客户端的第一通信模块发送所述对象获取请求;
所述第一通信模块以及所述客户端中的第一跨端拍照服务依次将所述对象获取请求转发至所述客户端中的第一系统应用框架;
所述第一系统应用框架查找并获取所述文档的文件提供者对象,并通过所述第一跨端拍照服务将所述文件提供者对象转发至所述第一通信模块;
所述第一通信模块向所述第二通信模块发送所述文件提供者对象;
所述第二通信模块向所述第二跨端拍照服务转发所述文件提供者对象;
所述第二跨端拍照服务创建进程间通信对象,基于所述进程间通信对象将所述文件提供者对象发送至所述相机应用。
4.根据权利要求1所述的系统,其特征在于,所述服务端向所述客户端发送针对所述文档的句柄获取请求,所述客户端响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称,所述服务端基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄向所述文档中写入数据,包括:
所述服务端中的相机应用指示所述服务端中的第二系统应用框架获取所述文档的句柄;
所述第二系统应用框架向所述第二跨端拍照服务发送针对所述文档的句柄获取请求;
所述第二跨端拍照服务向所述服务端中的第二通信模块转发所述句柄获取请求;
所述第二通信模块向所述客户端中的第一通信模块发送所述句柄获取请求;
所述第一通信模块、所述客户端中的第一跨端拍照服务依次将所述句柄获取请求转发至所述客户端中的第一系统应用框架;
所述第一系统应用框架响应于所述句柄获取请求查询所述文档的句柄与文档名称,并向所述第一跨端拍照服务发送所述文档的句柄与文档名称;
所述第一跨端拍照服务向所述客户端中的第一分布式文件服务发送所述文档的句柄与文档名称,指示所述第一分布式文件服务创建与所述文档存在映射关系的分布式文件;
所述第一分布式文件服务向所述第一跨端拍照服务发送所述分布式文件的文件名称;
所述第一跨端拍照服务向所述第一通信模块转发所述文件名称;
所述第一通信模块向所述第二通信模块发送所述文件名称;
所述第二通信模块向所述第二跨端拍照服务发送所述文件名称;
所述第二跨端拍照服务根据所述文件名称通过所述服务端中的第二分布式文件服务打开所述分布式文件,获取所述分布式文件的句柄,并向所述第二系统应用框架发送所述分布式文件的句柄;
所述第二系统应用框架向所述相机应用发送所述分布式文件的句柄。
5.根据权利要求1-4中任一项所述的系统,其特征在于,所述服务端在通过所述摄像头采集图像数据后,基于所述句柄向所述文档中写入数据,包括:
所述服务端基于所获得的句柄,向所述文档中写入所述图像数据;
或
所述服务端识别所述图像数据中的字符,基于所获得的句柄,向所述文档中写入识别到的字符。
6.一种跨端图像数据采集方法,其特征在于,应用于客户端,所述方法包括:
向配置有摄像头的服务端发送指示启动所述摄像头的摄像头启动指令;
接收所述服务端发送的对象获取请求,所述对象获取请求为:所述服务端在响应于所述摄像头启动指令启动所述摄像头,并通过所述摄像头采集图像数据后发送的,用于获取文档的文件提供者对象的请求,所述文档为:所述客户端中待写入数据的文档;
响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象;
接收所述服务端在获取到所述文件提供者对象后发送的针对所述文档的句柄获取请求;
响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称,以使得所述服务端基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄,向所述文档中写入数据。
7.一种跨端图像数据采集方法,其特征在于,应用于配置有摄像头的服务端,所述方法包括:
接收客户端发送的指示启动所述摄像头的摄像头启动指令;
响应于所述摄像头启动指令启动所述摄像头,并通过所述摄像头采集图像数据后,向所述客户端发送用于获取文档的文件提供者对象的对象获取请求,以使得所述客户端响应于所述对象获取请求,向所述服务端反馈所述文件提供者对象,所述文档为:所述客户端中待写入数据的文档;
在获取到所述客户端发送的文件提供者对象后,向所述客户端发送针对所述文档的句柄获取请求,以使得所述客户端响应于所述句柄获取请求,基于所述文档的句柄与文档名称构建与所述文档存在映射关系的分布式文件,并向所述服务端反馈所述分布式文件的文件名称;
基于所获得的文件名称获得所述分布式文件的句柄,基于所述句柄向所述文档中写入数据。
8.一种客户端,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求6所述的方法。
9.一种服务端,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求7述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求6或7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310821078.9A CN116887032A (zh) | 2023-07-05 | 2023-07-05 | 跨端图像数据采集系统、方法、客户端、服务端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310821078.9A CN116887032A (zh) | 2023-07-05 | 2023-07-05 | 跨端图像数据采集系统、方法、客户端、服务端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116887032A true CN116887032A (zh) | 2023-10-13 |
Family
ID=88270817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310821078.9A Pending CN116887032A (zh) | 2023-07-05 | 2023-07-05 | 跨端图像数据采集系统、方法、客户端、服务端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116887032A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163741A1 (en) * | 2015-12-07 | 2017-06-08 | Dell Products L.P. | Method and system for execution of client-initiated operations on file handles in a distributed server system |
CN113556479A (zh) * | 2020-09-02 | 2021-10-26 | 华为技术有限公司 | 一种多应用共享摄像头的方法与电子设备 |
CN113784049A (zh) * | 2021-09-17 | 2021-12-10 | 西安万像电子科技有限公司 | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 |
CN114064247A (zh) * | 2021-11-22 | 2022-02-18 | 浙江水晶光电科技股份有限公司 | 应用程序中相机控制方法、装置、电子设备及存储介质 |
CN115150392A (zh) * | 2022-08-30 | 2022-10-04 | 统信软件技术有限公司 | 远程文件复制方法、系统、计算设备及存储介质 |
CN115696020A (zh) * | 2021-07-31 | 2023-02-03 | 华为技术有限公司 | 跨设备的拍摄方法、相关装置及系统 |
CN116016487A (zh) * | 2022-12-08 | 2023-04-25 | Oppo广东移动通信有限公司 | 文件跨端处理方法、装置、存储介质及电子设备 |
-
2023
- 2023-07-05 CN CN202310821078.9A patent/CN116887032A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163741A1 (en) * | 2015-12-07 | 2017-06-08 | Dell Products L.P. | Method and system for execution of client-initiated operations on file handles in a distributed server system |
CN113556479A (zh) * | 2020-09-02 | 2021-10-26 | 华为技术有限公司 | 一种多应用共享摄像头的方法与电子设备 |
CN115696020A (zh) * | 2021-07-31 | 2023-02-03 | 华为技术有限公司 | 跨设备的拍摄方法、相关装置及系统 |
CN113784049A (zh) * | 2021-09-17 | 2021-12-10 | 西安万像电子科技有限公司 | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 |
CN114064247A (zh) * | 2021-11-22 | 2022-02-18 | 浙江水晶光电科技股份有限公司 | 应用程序中相机控制方法、装置、电子设备及存储介质 |
CN115150392A (zh) * | 2022-08-30 | 2022-10-04 | 统信软件技术有限公司 | 远程文件复制方法、系统、计算设备及存储介质 |
CN116016487A (zh) * | 2022-12-08 | 2023-04-25 | Oppo广东移动通信有限公司 | 文件跨端处理方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020244495A1 (zh) | 一种投屏显示方法及电子设备 | |
CN114115769B (zh) | 一种显示方法及电子设备 | |
CN111476911A (zh) | 虚拟影像实现方法、装置、存储介质与终端设备 | |
CN112449099B (zh) | 一种图像处理方法、电子设备及云服务器 | |
WO2020259554A1 (zh) | 可进行学习的关键词搜索方法和电子设备 | |
CN114422640B (zh) | 一种设备推荐方法及电子设备 | |
WO2022143883A1 (zh) | 一种拍摄方法、系统及电子设备 | |
CN114647350A (zh) | 应用共享方法、电子设备和存储介质 | |
CN114845035B (zh) | 一种分布式拍摄方法,电子设备及介质 | |
WO2021042881A1 (zh) | 消息通知方法及电子设备 | |
WO2022206764A1 (zh) | 一种显示方法、电子设备和系统 | |
WO2022062902A1 (zh) | 一种文件传输方法和电子设备 | |
CN116887032A (zh) | 跨端图像数据采集系统、方法、客户端、服务端 | |
WO2022135254A1 (zh) | 一种编辑文本的方法、电子设备和系统 | |
US20230409569A1 (en) | Method for opening historical page, related device, and computer storage medium | |
WO2021244614A1 (zh) | 存储内容搜索方法、系统和电子设备 | |
WO2020216144A1 (zh) | 一种添加邮件联系人的方法和电子设备 | |
CN115022982A (zh) | 多屏协同无感接入方法、电子设备及存储介质 | |
CN116700852B (zh) | 一种卡片展示方法、终端、存储介质以及程序产品 | |
CN114666441B (zh) | 一种调用其他设备能力的方法、电子设备、系统和存储介质 | |
WO2022206762A1 (zh) | 一种显示方法、电子设备和系统 | |
WO2022206763A1 (zh) | 一种显示方法、电子设备和系统 | |
WO2023185967A1 (zh) | 富媒体信息处理方法、系统及相关装置 | |
WO2022161058A1 (zh) | 一种全景图像的拍摄方法及电子设备 | |
CN116701307A (zh) | 阅读应用的界面显示方法和终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |