一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

跨设备数据分享方法及相关设备与流程

2022-04-16 15:00:18 来源:中国专利 TAG:


1.本技术涉及终端技术领域,尤其涉及一种跨设备数据分享方法及相关设备。


背景技术:

2.随着智能设备的广泛使用,用户经常需要在不同设备之间分享数据。例如,在大屏上播放手机的视频,或者在平板上编辑手机的文件。目前跨设备数据分享的主要方式是投屏和云共享。然而,投屏对分享的数据类型有限制,只能对多媒体文件进行分享,而云共享是借助了云,会影响文件的访问速度。


技术实现要素:

3.本技术实施例公开了一种跨设备数据分享方法及相关设备,不需要借助于云实现数据分享,并且对分享的数据类型没有限制。
4.本技术第一方面公开了一种跨设备数据分享方法,应用于第一电子设备,所述第一电子设备包括第一应用和第一分享模块,所述方法包括:
5.在接收到从所述第一应用向第二电子设备的第二应用的数据分享请求后,所述第一应用获取待分享文件的设备内文件标识信息、源设备信息、源应用信息、目的设备信息、目的应用信息和操作权限信息;
6.所述第一应用将所述待分享文件分享给所述第一分享模块,将所述设备内文件标识信息、源设备信息、源应用信息、目的设备信息、目的应用信息和操作权限信息传送给所述第一分享模块;
7.所述第一分享模块根据所述设备内文件标识信息和所述源设备信息生成所述待分享文件的设备间文件标识信息,存储所述设备内文件标识信息、设备间文件标识信息和操作权限信息;
8.所述第一分享模块根据所述目的设备信息和目的应用信息拉起所述第二应用,将所述设备间文件标识信息发送给所述第二应用;
9.所述第一分享模块根据所述目的设备信息将所述设备间文件标识信息、目的应用信息发送给所述第二电子设备的第二分享模块,使得所述第二分享模块根据所述设备间文件标识信息识别所述待分享文件是否为外部文件,根据所述目的应用信息将所述待分享文件的识别结果返回所述第二应用,若所述待分享文件为外部文件,所述第二应用通过所述第二分享模块对所述待分享文件进行第一文件操作;
10.所述第一分享模块接收所述第二分享模块返回的文件操作请求,所述文件操作请求包括所述待分享文件的设备间文件标识信息、目的设备信息、目的应用信息和所述第一文件操作的操作信息;
11.所述第一分享模块根据所述文件操作请求中的设备间文件标识信息查找对应的设备内文件标识信息和操作权限信息;
12.所述第一分享模块根据查找到的操作权限信息和所述操作信息进行操作权限检
查,若通过操作权限检查,根据查找到的设备内文件标识信息和所述操作信息对所述待分享文件进行第二文件操作,根据所述文件操作请求中的目的设备信息将操作结果返回所述第二分享模块,所述第二分享模块将所述操作结果返回所述第二应用。
13.本技术将可分享文件从第一电子设备的第一应用分享给第二电子设备的第二应用,实现了跨设备跨应用数据分享。本技术在进行数据分享时不需要借助于云,并且对分享的数据类型没有限制,提高了数据分享的使用范围和效率。
14.在一些可选的实施方式中,所述第一分享模块在将所述设备间文件标识信息、目的应用信息发送给所述第二分享模块时,还将所述操作权限信息发送给所述第二分享模块,使所述第二分享模块根据所述操作权限信息对所述第一文件操作进行操作权限检查。
15.第一电子设备的第一分享模块将操作权限信息传送给第二电子设备的第二分享模块,使得第二电子设备根据操作权限信息对用户操作进行操作权限检查,可以提高文件操作的安全性。
16.在一些可选的实施方式中,所述第一应用通过以下方式判断是否接收到所述数据分享请求:
17.若检测到在所述第一应用的文件列表中长按所述待分享文件或者在所述第一应用中打开所述待分享文件,显示第一界面,所述第一界面包括分享菜单;
18.若检测到在所述第一界面选择所述分享菜单,显示分享界面,所述分享界面包括所述第二电子设备;
19.若检测到在所述分享界面选择所述第二电子设备,显示应用选择界面,所述应用选择界面包括所述第二应用;
20.若检测到在所述应用选择界面选择所述第二应用,接收到所述数据分享请求。
21.在一些可选的实施方式中,所述设备内文件标识信息和所述设备间文件标识信息包括统一资源标识符。
22.在一些可选的实施方式中,所述将所述设备间文件标识信息、目的应用信息发送给所述第二分享模块之前,所述方法还包括:
23.所述第一分享模块对所述设备间文件标识信息、目的应用信息进行加密。
24.在一些可选的实施方式中,所述根据查找到的操作权限信息和所述操作信息进行操作权限检查包括:
25.判断所述操作信息对应的操作类型是否为指定的操作类型;和/或
26.判断所述操作信息对应的操作时间是否在指定的操作有效期内。
27.在一些可选的实施方式中,所述获取待分享文件的设备内文件标识信息、源设备信息、源应用信息、目的设备信息、目的应用信息和操作权限信息之前,所述方法还包括:
28.查找所述第二电子设备;
29.若查找到所述第二电子设备,连接所述第二电子设备。
30.本发明第二方面公开了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面所述的跨设备数据分享方法。
31.本发明第三方面公开了一种电子设备,所述电子设备包括处理器和存储器,所述存储器,用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行
如第一方面所述的跨设备数据分享方法。
32.本发明第四方面公开了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面所述的跨设备数据分享方法。
33.本发明第五方面公开了一种芯片系统,该芯片系统应用于电子设备;芯片系统包括接口电路和处理器;接口电路和处理器通过线路互联;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行该计算机指令时,芯片系统执行如第一方面所述的跨设备数据分享方法。
34.本发明第六方面公开了一种装置,该装置具有实现上述第一方面所提供的方法中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
35.可以理解地,上述提供的第二方面所述的计算机可读存储介质,第三方面所述的电子设备,第四方面所述的计算机程序产品,第五方面所述的芯片系统及第六方面所述的装置均与上述第一方面的方法对应,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
36.图1是本技术实施例公开的跨设备数据分享方法的应用场景示意图。
37.图2是通过第一应用的应用界面发出数据分享请求的示意图。
38.图3是本技术实施例公开的跨设备数据分享方法的流程图。
39.图4是本技术实施例公开的第一电子设备的结构示意图。
具体实施方式
40.为了更好地理解本技术实施例公开的跨设备数据分享方法及相关设备,下面首先对本技术跨设备数据分享方法的应用场景进行描述。
41.图1是本技术实施例公开的跨设备数据分享方法的应用场景示意图。
42.如图1所示,所述跨设备数据分享方法应用于第一电子设备10和第二电子设备11。第一电子设备10包括多个第一应用100,例如图库、文件管理器。第二电子设备11包括多个第二应用110,例如图片处理器、视频播放器、文档编辑器。用户从第一应用100将第一电子设备11的文件(例如图片、视频或文档)分享给第二应用110,从第二电子设备11的第二应用110操作(例如查看或者编辑)分享的文件。例如,用户从第一电子设备10的图库打开图片,将图片分享给第二电子设备11的图片处理器,在第二电子设备11的图片处理器上修改该分享的图片。又如,用户从第一电子设备10的文件管理器选择视频,将视频分享给第二电子设备11的视频播放器,在第二电子设备11的视频播放器上观看该分享的视频。再如,用户从第一电子设备11的文件管理器选择文档,将文档分享给第二电子设备11的文档编辑器,在第二电子设备11的文档编辑器上查看并编辑该分享的文档。本技术数据分享方法在进行数据分享时不需要借助于云,并且对分享的数据类型没有限制,提高了数据分享的使用范围和效率。
43.其中,第一电子设备10和第二电子设备11可以包括智能手机、平板电脑、台式计算机、膝上型便携计算机、车载电脑等。第一电子设备10和第二电子设备11可以是相同类型的
电子设备,例如都是手机(例如从第一用户的手机分享给第二用户的手机)。第一电子设备10和第二电子设备11也可以是不同类型的电子设备,例如第一电子设备10是手机,第二电子设备11是平板电脑。
44.第一电子设备10和第二电子设备11之间可以通过红外线、蓝牙、无线局域网等方式进行通信连接。
45.图2是本技术实施例公开的跨设备数据分享方法的流程图。第一电子设备包括第一应用和第一分享模块,第二电子设备包括第二应用和第二分享模块。通过第一电子设备的第一分享模块和第二电子设备的第二分享模块,可以将数据从第一电子设备的第一应用分享给第二电子设备的第二应用。应当理解,第一电子设备可以包括第二分享模块,第二电子设备可以包括第一分享模块,通过第二电子设备的第一分享模块和第一电子设备的第二分享模块,可以将数据从第二电子设备的第二应用分享给第一电子设备的第一应用。
46.参阅图2所示,所述跨设备数据分享方法包括:
47.201,若接收到从第一电子设备的第一应用向第二电子设备的第二应用的数据分享请求,第一应用获取待分享文件的设备内文件标识信息、源设备信息、源应用信息、目的设备信息、目的应用信息和操作权限信息。
48.在一实施例中,第一应用根据以下方式判断是否接收到数据分享请求:
49.检测是否在第一应用(例如文件管理器)的文件列表中长按待分享文件或者在第一应用中打开待分享文件,若检测到在第一应用的文件列表中长按待分享文件或者在第一应用中打开待分享文件,显示第一界面,第一界面包括分享菜单;
50.检测是否在第一界面选择分享菜单,若检测到在第一界面选择分享菜单,显示分享界面,分享界面包括第二电子设备;
51.检测是否在分享界面选择第二电子设备,若检测到在分享界面选择第二电子设备,显示应用选择界面,应用选择界面包括第二应用;
52.检测是否在应用选择界面选择第二应用,若检测到在应用选择界面选择第二应用,接收到数据分享请求。
53.在一实施例中,从第一应用打开待分享文件后显示待分享文件的文件界面,文件界面包括分享菜单。选择(如点击)分享菜单后显示分享界面,分享界面包括可分享的外部设备,例如第二电子设备。选择分享界面中的外部设备(例如第二电子设备)后显示应用选择界面,应用选择界面包括外部设备中可与第一应用进行数据分享的应用,例如第二应用。若在应用选择界面选择外部设备的应用(例如第二应用),则发出从第一电子设备的第一应用向外部设备(例如第二电子设备)的应用(例如第二应用)的数据分享请求。
54.图3是通过第一应用的应用界面发出数据分享请求的示意图。设备a的文件管理器显示多个文档(包括文档1、文档2、文档3、文档4)。若长按文档4,则显示多个快捷菜单,快捷菜单包括分享菜单。若选择分享菜单,则显示分享界面,分享界面包括设备b、设备c两个外部设备。若选择设备b,则显示应用选择界面,应用选择界面包括word、wps。若选择word,则发出从设备a的文件管理器向设备b的word的数据分享请求,表明要将待分享文档从设备a的文件管理器分享给设备b的word。
55.应当理解,除了可分享的外部设备,待分享文件的分享界面还可以包括第一电子设备的本地应用,例如打印机、电子邮件、微信、qq等。第一电子设备可以将可分享文件分享
给本地应用以实现设备内数据分享。
56.在另一实施例中,开启第一应用(例如文件管理器)后显示文件列表,若检测到长按文件列表中的待分享图片,则显示分享菜单。
57.在另一实施例中,分享界面可以直接显示外部设备的应用(例如第二电子设备的第二应用)。若用户从分享界面选择外部设备的应用(例如第二电子设备的第二应用),则发出从第一电子设备的第一应用向外部设备的应用(例如第二电子设备的第二应用)的数据分享请求。
58.设备内文件标识信息用于设备内的文件定位,可以唯一标识设备(例如第一电子设备)上的文件。设备内文件标识信息可以是文件路径,也可以是数据库中的文件标识,例如统一资源标识符(uniform resource identifier,uri)。第一电子设备可以根据设备内文件标识信息对待分享文件进行定位,而外部设备无法根据设备内文件标识信息对待分享文件进行定位。
59.源设备信息用于标识第一电子设备。源设备信息可以是第一电子设备的设备标识符。
60.源应用信息用于标识第一应用。源应用信息可以是第一应用的应用标识符。
61.目的设备信息用于标识第二电子设备。目的设备信息可以是第二电子设备的设备标识符。
62.目的应用信息用于标识第二应用。目的应用信息可以是第二应用的应用标识符。
63.操作权限信息指定待分享文件的操作权限,用于对第二应用进行操作权限检查。可以接收用户设定的操作权限信息,也可以使用默认的操作权限信息。
64.操作权限信息可以指定第二应用对待分享文件是否有读取权限、写入权限。
65.操作权限信息还可以指定第二应用对待分享文件是否有分享权限。分享权限是指第二应用是否可以对待分享文件进行设备内分享,即分享给第二电子设备中的其他应用。若操作权限信息指定有分享权限,则第二应用可以将待分享文件分享给第二电子设备中的其他应用。否则,若操作权限信息指定无分享权限,则第二应用不能将待分享文件分享给第二电子设备中的其他应用。
66.操作权限信息还可以指定操作有效期。在操作有效期内,第二应用可以对待分享文件进行操作。
67.202,第一应用将待分享文件分享给第一分享模块,将设备内文件标识信息、源设备信息、源应用信息、目的设备信息、目的应用信息和操作权限信息传送给第一分享模块。
68.第一应用可以通过binder机制将待分享文件分享给第一分享模块。binder是一种进程间通信机制,第一应用对应于一个进程,第一分享模块对应于一个进程。第一应用通过binder机制将待分享文件分享给第一分享模块系统时,操作系统为待分享文件分配一块临时区域,对该临时区域的操作都会体现到待分享文件上。
69.203,第一分享模块根据设备内文件标识信息和源设备信息生成待分享文件的设备间文件标识信息,存储设备内文件标识信息、设备间文件标识信息和操作权限信息。
70.设备间文件标识信息用于跨设备的文件定位。根据待分享文件的设备间标识信息,第二电子设备可以确定待分享文件的位置。
71.在一实施例中,设备内文件标识信息、设备间文件标识信息可以是统一资源标识
符。
72.第一分享模块可以将源设备信息加入到设备内文件标识信息中,生成设备间文件标识信息。例如,设备内文件标识信息是content://media/external/file/1,源设备信息为123456,设备间标识信息可以是content:123456://media/external/file/1。
73.204,第一分享模块根据目的设备信息和目的应用信息拉起第二应用,将设备间文件标识信息发送给第二应用。
74.应当理解,为了提高数据传输的安全性,第一分享模块在将设备间文件标识信息发送给第二应用之前,可以对设备间文件标识信息进行加密。
75.205,第一分享模块根据目的设备信息将设备间文件标识信息、目的应用信息和操作权限信息发送给第二分享模块。
76.本实施例中,第一分享模块将操作权限信息传送给第二分享模块,使得第二分享模块根据操作权限信息对第二应用对待分享文件的文件操作进行第一操作权限检查,提高操作的安全性。
77.在其他的实施例中,第一分享模块可以不将操作权限信息传送给第二分享模块,第二分享模块不对第二应用对待分享文件的文件操作进行第一操作权限检查。
78.应当理解,为了提高数据传输的安全性,第一分享模块在将设备间文件标识信息、目的应用信息和操作权限信息发送给第二分享模块之前,可以对设备间文件标识信息、目的应用信息和操作权限信息进行加密。
79.206,第二分享模块根据设备间文件标识信息识别待分享文件是否为外部文件,根据目的应用信息将待分享文件的识别结果返回第二应用。
80.在本实施例中,第二应用收到来自于第一分享模块的设备间文件标识信息后,向第二分享模块发送文件识别请求,收到文件识别请求后,第二分享模块根据设备间文件标识信息识别待分享文件是否为外部文件,根据目的应用信息将待分享文件的识别结果返回第二应用。
81.第二分享模块可以从设备间文件标识信息解析出源设备信息,根据解析出来的源设备信息判断待分享文件是否为外部文件。例如,第二分享模块从设备间文件标识信息content:123456://media/external/file/1解析出源设备信息为123456,123456代表第一电子设备而非设备(即第二电子设备),则判断待分享文件是外部文件。
82.207,若待分享文件为外部文件,第二应用通过第二分享模块对待分享文件进行第一文件操作。
83.对待分享文件的第一文件操作可以包括读取文件、写入文件、设备内分享文件等。
84.208,第二分享模块根据操作权限信息对第一文件操作进行第一操作权限检查。
85.根据操作权限信息对第一文件操作进行第一操作权限检查包括:若第一文件操作为操作权限信息指定的权限内的操作,则允许该第一文件操作;若第一文件操作非操作权限信息指定的权限内的操作,则拒绝该第一文件操作。例如,第二应用对待分享文件只有读取权限而无写入权限,若第一文件操作为写入操作,则拒绝该写入操作。
86.在第二电子设备中进行第一操作权限检查可以提前拦截非法操作,提高文件操作的安全性,并且可以减少非法操作时第一电子设备和第二电子设备之间的通信开销。
87.209,若通过第一操作权限检查,第二分享模块根据第一文件操作生成文件操作请
求,将文件操作请求发送给第一分享模块,文件操作请求包括待分享文件的设备间文件标识信息、目的应用信息、目的设备信息和第一文件操作的操作信息。
88.操作信息指明第二应用对可分享文件执行的第一文件操作,例如写入操作。
89.应当理解,为了提高数据传输的安全性,第二分享模块在将文件操作请求发送给第一分享模块之前,可以将文件操作请求进行加密。
90.210,第一分享模块根据文件操作请求中的设备间文件标识信息查找对应的设备内文件标识信息和操作权限信息。
91.211,第一分享模块根据查找到的操作权限信息和文件操作请求中的操作信息进行第二操作权限检查。
92.根据操作权限信息和操作信息进行第二操作权限检查可以包括:
93.判断操作信息对应的操作类型是否为指定的操作类型。
94.例如,文件操作请求指明对待分享文件进行写操作,第一电子设备根据操作权限信息判断第二应用是否对待分享文件有写入权限,若第二应用对待分享文件有写入权限,则通过操作类型的第二操作权限检查。
95.根据操作权限信息对操作信息进行第二操作权限检查还可以包括:
96.判断操作信息对应的操作时间是否在指定的操作有效期内。
97.例如,操作权限信息指定的操作时间为第二电子设备接收到外部位置信息、源设备信息、源应用信息、目的应用信息和操作权限信息之后的30分钟内,若第二应用在该时间期限内容对待分享文件进行操作,则通过操作时间的第二操作权限检查。
98.212,若通过第二操作权限检查,第一分享模块根据查找到的设备内文件标识信息和操作信息对待分享文件进行第二文件操作。
99.第一分享模块可以根据查找到的设备内文件标识信息查找待分享文件的文件描述符,根据查找到的文件描述符和操作信息对待分享文件进行操作,将操作结果返回第二电子设备。
100.例如,第一分享模块根据查找到的文件描述符和操作信息对待分享文件进行写入操作。
101.213,第一分享模块根据文件操作请求中的目的设备信息将操作结果返回第二分享模块。
102.应当理解,为了提高数据传输的安全性,第一分享模块在将操作结果返回第二分享模块之前,可以将操作结果进行加密。
103.214,第二分享模块将操作结果返回第二应用。
104.第二应用根据操作结果显示待分享文件。例如,第二应用根据写入操作的操作结果显示写入后的待分享文件。
105.本技术将可分享文件从第一电子设备的第一应用分享给第二电子设备的第一应用,实现了跨设备跨应用数据分享。本技术在进行数据分享时不需要借助于云,并且对分享的数据类型没有限制,提高了数据分享的使用范围和效率。
106.在另一实施例中,所述获取待分享文件的设备内文件标识信息、源设备信息、源应用信息、目的设备信息、目的应用信息和操作权限信息息之前,所述方法还包括:
107.查找第二电子设备;
108.若查找到第二电子设备,连接第二电子设备。
109.第一电子设备可以通过红外线等方式搜索第二电子设备,若查找到第二电子设备,则连接第二电子设备。
110.以上所述,仅是本技术的具体实施方式,但本技术的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本技术创造构思的前提下,还可以做出改进,但这些均属于本技术的保护范围。
111.请参见图4,图4是本技术公开的第一电子设备的结构示意图。如图4所示,所述第一电子设备40包括一个或多个处理器401和存储器402。处理器401、存储器402通过一个或多个通信总线403连接。存储器402用于存储一个或多个计算机程序404。一个或多个计算机程序404被配置为被该处理器401执行。该一个或多个计算机程序404包括指令,上述指令可以用于执行上述实施例中电子设备(如手机)执行的各个步骤,以实现在电子设备中的跨设备数据分享功能。
112.本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的跨设备数据分享方法。
113.本实施例还提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得电子设备执行上述相关步骤,以实现上述实施例中的跨设备数据分享方法。
114.另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的跨设备数据分享方法。
115.其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
116.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
117.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
118.该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
119.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
120.该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献