具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
在当前的互联网中,对于著作权(包括人身权和财产权)的侵权现象屡见不鲜,被侵权的对象中多数都是个人用户。
个人用户作为被侵权的当事人,一方面,难以发现自己的哪些著作权被侵犯了;另一方面,没有时间和精力去长期的对抗这些侵权方;再一方面,由于侵权内容往往是存在与侵权方的服务器中,其可以通过各种方式进行抵赖,这造成个人用户不容易取证。例如,对侵权内容进行下架,对相关网页进行篡改或者销毁等等。此时,要个人用户去提供更多的相关辅助证明,对于当事人而言是需要更高的成本,甚至难以实现的。基于此,本说明书实施例提供一种对当事人而言更为便利的辅助证据存证方案。
以下结合附图,详细说明本说明书各实施例提供的技术方案。如图1所示,图1是本说明书实施例提供的一种辅助证据存证方法的流程示意图,应用于包括通过块链式账本存储数据的中心化的数据库服务提供方的存证系统中,该流程具体包括如下步骤:
S101,客户端接收关于证据采集目标的采集指令,获取采集过程中所产生的辅助证据;生成与所述辅助证据相关的数据记录,并发送所述数据记录至数据库服务提供方,其中,所述辅助证据包括证据采集日志和/或与证据采集目标相关的历史记录。
首先需要说明的是,此处的客户端是相对于数据库服务提供方而言的。换言之,本说明书实施例所涉及的客户端可以是处于用户的终端设备中,在这种方式下,用户侧进行证据的采集,在发送数据至数据库服务方的同时,还可以保存证据在用户本地,有利于证据的存储与查询。如图2a所示,图2a为本说明书实施例所提供的一种存证系统的架构示意图。
本说明书实施例所涉及的客户端也可以是与数据库服务提供方存在与同一终端设备中。如图2b所示,图2b为本说明书实施例所提供的另一种存证系统的架构示意图。在该示意图中,客户端(图中未示出)被配置在应用服务器上,应用服务器和数据库服务提供方同时存在于业务侧,向用户侧提供存证服务。在这种架构下,用户只需向应用服务器种的客户端提供相关的需求即可。相应的证据采集操作无需在用户侧进行,而是在业务侧中的应用服务器中进行,以降低用户的负担。一个应用服务器中的客户端可以同时对应于多个不同的用户,执行不同的证据采集进程。
首先需要说明的是,本说明书实施例中所涉及的证据采集目标包括站点、网页、网页中的部分区域、网页中的资源等等。对证据采集目标进行数据采集通常可以获得一系列的证据,但是其中只有很少一部分可以作为直接证据使用,其余的部分即可以视为本说明书实施例中所涉及的辅助证据。
证据采集目标可以是基于目标标识所确定的。例如,由统一资源定位符(UniformResource Locator,URL)所确定的网页,一般这种方式下,该网页是与侵权行为有直接关联的。证据采集目标也可以是指定界面中的部分区域,例如,给出一个由若干坐标参数所确定的区域,证据采集目标即为指定页面中指定区域的相关内容,可以通过对该区域进行截图的形式进行采集。
证据采集目标也可以是应用户需求所确定。例如,用户给出拥有著作权的音乐名称“ABC”,客户端方面基于关键词“音乐”+“ABC”进行查询,得到相关的若干网页,并且去除其中经过授权的网页,将剩余的作为采集目标。通过基于用户提供的关键词进行证据采集目标的确定,可以提高覆盖率,更大程度的保护用户的权益
在一种实施方式下,客户端还可以从查询得到的若干网页中挑选出符合采集条件的网页作为证据采集目标。筛选的原因在于,实际上很多侵权行为对于当事人的权益损害是很低的。例如,一个网站上卖盗版书籍,数据显示,该盗版书籍只卖出去了2本,对用户造成损失不到20元。显然,这种时候,除非是用户指定,否则从成本和收益的角度上,就没有必要对该网站进行证据采集。
基于此,采集条件可以设置为:网页日均点击量超过预设值,或者,网页所处的站点日均流量超过预设值,或者,网页中包含关键词的链接的点击次数或者下载次数超过预设值等等。基于采集条件而可以筛选出对于当事人更具有实际意义的证据采集目标,降低用户成本。
在确定了证据采集目标后,客户端开始执行对于证据采集目标的采集。此处的采集方式可以是从接收到指令的当前开始,持续的对证据采集目标所对应的网页或者资源进行监控。所述资源可以包括:可下载或者可浏览或者可使用的图片、音乐、文档、电影、软件程序等等。
证据采集目标可以是由统一资源定位符(uniform resource locator,URL)所确定的页面,通常而言,对于同一网站而言,页面可以包含多个不同的历史版本,这些历史版本都可以作为辅助证据。
证据采集目标也可以是由统一资源名称((Uniform Resource Name,URN)所唯一标识的一个实体资源。客户端可以根据URN在网络寻找并定位该资源,一个URN所标识的实体资源可以对应于多个URL。一般而言,一个资源被调用(包括浏览、播放或者下载等等)的次数可以在该资源所处的网站中有相关的统计数值,进而可以获取由该URN所标识的实体资源被某一个网站调用的次数或者在整体网络上的被调用的次数,当上述调用造成侵权时,该次数可以被用于辅助证明当事人基于上述调用所遭受的损失。
在一种实施方式中,客户端可以对相关的页面或者资源进行监控,每当证据采集目标的相关数据发生变动时,即进行相应的采集。
例如,对一个彩铃下载网站中的排行榜区域进行监控,每当该排行榜发生变动,生成一张对该排行榜的截图。在这种方式下,获取辅助证据的方式可以是:每有一张截图,生成一条包含该截图的辅助证据。
又例如,对一个提供小说在线阅读的网页进行监控,每当网页更新时,确定一个对应的历史版本号,对更新后的网页进行数据爬取,从而可以得到该网页的一系列的不同版本,版本号可以使用网页自身的版本序列标识,也可以使用网页变动时间。每一个不同的历史版本的网页都作为辅助证据进行保存。
这种辅助证据的采集方式可以充分反映该网页中与当事人权益相关元素的历史变动过程。在这种方式下,生成数据记录的方式可以是:每有一个该页面的历史版本,生成一条包含该页面的历史版本的数据记录。
另一种可行的采集方式为,每间隔一段时间对证据采集目标所对应的网页或者资源进行数据采集。例如,每隔1小时,爬取某个网站中一段指定音乐的下载次数,或者,爬取由一个URN所确定的影片在多个网站中的累计播放次数,作为辅助证据。
此外,在对于证据采集目标进行采集时,客户端还会产生一系列的操作日志,因此,采集辅助的方式还可以是:每间隔一段时间,将所述时间间隔期间内基于采集证据所生成的操作日志作为辅助证据。
例如,每间隔24小时,将24小时内生成的操作日志打包,生成包含该24小时内所产生的操作日志的数据记录。
在采集得到辅证证据后,生成与所述辅助证据相关的数据记录的方式可以是每采集得到一条辅助证据,即生成一条对应的数据记录。例如,每采集得到一个页面的历史版本,即生成包含一条该页面的历史版本的数据记录。
另一种生成数据记录的可行方式为,每间隔一段固定时间,即生成一条包含在该期间内所采集得到的辅助证据的数据记录。例如,每间隔1小时,采集由URN所确定的影片的下载次数作为一条辅助证据,但是每间隔12小时,才生成包含12条辅助证据的一条数据记录;或者,还可以生成一条包含时间间隔内产生的操作记录和采集得到的下载次数的数据记录。
在一种实施例中,与所述辅助证据相关的数据记录,可以是直接包含辅助证据的数据记录。等等。这种实施方式下,如果客户端位于用户侧,那么在向数据库服务提供方发送数据记录时,需要发送包含辅助证据的全部内容,占用的资源较多。
在另一种实施例中,客户端可以采用哈希算法计算得到辅助证据的哈希值,生成包含辅助证据的哈希值的数据记录,并发送至数据库服务提供方,该方式可以降低客户端的上传开销。在该方式中,计算哈希值时,还可以包含相应的辅助证据的生成时间戳,进一步提高辅助证据的可信度。
此外,还有一种可实施的方式是,客户端发送所述辅助证据至数据库服务提供方,由数据库服务提供方进行生成与辅助证据相关的数据记录。
在生成数据记录时,数据记录中还可以包含于辅助证据或者数据记录相关的其它内容,例如数据记录的生成时间戳、客户端标识、用户标识等等。
在客户端每生成一条数据记录,即发送该数据记录至数据库服务提供方进行存档。
S103,数据库服务提供方接收包含所述辅助证据的数据记录,当达到预设的成块条件时,生成包含所述数据记录的数据块。
在中心化的数据库服务提供方,所述预设的成块条件包括:待存储的数据记录数量达到数量阈值,例如,每接收到一千条数据记录时,生成一个新数据块,将一千条数据记录写入块中;或者,距离上一次成块时刻的时间间隔达到时间阈值,例如,每隔5分钟,生成一个新数据块,将在这5分钟内接收到的数据记录写入块中。
此处的N指的是数据块的序号,换言之,在本说明书实施例中,数据块是以块链的形式,基于成块时间的顺序先后排列,具有很强的时序特征。其中,数据块的块高基于成块时间的先后顺序单调递增。块高可以是序号,此时第N个数据块的块高即为N;块高也可以其它方式生成,例如,将成块时间转换为一系列单调递增的大整型数值作为块高,大整数数值一般为12至15位的自然数。
当N=1时,即此时的数据块为为初始数据块。初始数据块的哈希值和块高基于预设方式给定。例如,初始数据块中不包含数据记录,哈希值则为任一给定的哈希值,块高blknum=0;又例如,初始数据块的生成触发条件与其它数据块的触发条件一致,但是初始数据块的哈希值由对初始数据块中的所有内容取哈希确定。
当N>1时,由于前一数据块的内容和哈希值已经确定,则此时,可以基于前一数据块(即第N-1个数据块)的哈希值生成当前数据块(第N个数据块)的哈希值,例如,一种可行的方式为,确定每一条将要写入第N个块中的数据记录的哈希值,按照在块中的排列顺序,生成一个默克尔树,将默克尔树的根哈希值和前一数据块的哈希值拼接在一起,再次采用哈希算法,生成当前块的哈希值。又例如,还可以按照块中数据记录的顺序进行拼接并取哈希得到整体数据记录的哈希值,拼接前一数据块的哈希值和整体数据记录的哈希值,并对拼接得到的字串进行哈希运算,生成数据块的哈希值。
但是在本说明书实施例所对应的场景下,出于业务需要,客户端对于目标网页和目标资源所进行的证据采集时,一般会有较长的周期以及较高的频率,而且,一般是对于多名当事人的委托进行辅证采集,此时,产生的数据量将会非常大。由于辅助证据在写入区块链之前还需要进行共识,在这种场景下,很容易产生区块链分叉,这将会损害部分当事人的权益。而在中心化的块链式账本下则避免了上述问题。
在一种实施方式中,数据库服务方可以基于用户的需求,对每一个账户的不同业务进程生成多个对应的块链式账本。例如,某个账户需要同时调查其名下的两个作品“A”和“B”的被侵权状况,则可以在客户端中启动两个独立的进程,数据库服务方中分别生成存储作品“A”的辅助证据的账本“LG_A”,和存储作品“B”的辅助证据的账本“LG_B”,两个账本同时存在该账户下,但是互不影响。
在一种实施方式下,如果客户端发送过来的数据记录是包含所述辅助证据的数据记录,此时,数据库服务提供方还需要确定所述数据记录的哈希值,返回所述数据记录的哈希值至客户端。从而客户端可以以此哈希值作为存储凭证,并且对已经存储的数据记录进行查询和验证,确保不会丢失或者被篡改。
此外,在返回的哈希值中还可以携带数据库服务提供方的签名,从而用户可以确认该返回哈希值是服务方所承认的。
通过前述的数据块的生成方式,每一个数据块通过哈希值确定,数据块的哈希值由数据块中的数据记录的内容、顺序以及前一数据块的哈希值决定。用户可以随时基于数据块的哈希值发起验证,对于数据块中任何内容(包括对于数据块中数据记录内容或者顺序的修改)的修改都会造成在验证时计算得到的数据块的哈希值和数据块生成时的哈希值不一致,而导致验证失败,从而实现了中心化下的不可篡改。
通过本说明书实施例所提供的方案,在采集证据采集目标的过程中,将证据采集目标相关的历史记录以及采集过程记录下来作为辅助证据,并且保存至块链式的数据库服务提供方中,形成难以篡改的存证记录,用户可以随时对上述存证记录进行查询和验证。相对于现有技术中当事人存储辅助证据时需要进行人工的搜集和保存,本实施例可以更为便利的对辅助证据实施采集和存证。
对应的,本说明书实施例还提供种一种辅助证据存证系统,包括客户端和通过块链式账本存储数据的中心化的数据库服务提供方,所述客户端接收关于证据采集目标的采集指令,获取采集过程中所产生的辅助证据;生成与所述辅助证据相关的数据记录,并发送所述数据记录至数据库服务提供方,其中,所述辅助证据包括证据采集日志和/或与证据采集目标相关的历史记录;所述数据库服务提供方接收包含所述辅助证据的数据记录,当达到预设的成块条件时,生成包含所述数据记录的数据块;其中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。
进一步地,在所述系统中,所述客户端,每间隔固定的时间间隔,生成包含所述时间间隔期间内所获取的辅助证据的数据记录。
进一步地,在所述系统中,所述客户端,生成包含所述辅助证据的数据记录;或者,确定所述辅助证据的哈希值,生成包含所述辅助证据的哈希值的数据记录。
进一步地,在所述系统中,在所述客户端中,当所述证据采集目标为由统一资源定位符所确定的页面时;相应的,所述与证据采集目标相关的历史记录包括:所述统一资源定位符所确定的页面的历史版本;相应的,生成与所述辅助证据相关的数据记录,包括:针对一个页面的历史版本,生成一条对应的包含该页面的历史版本的数据记录。
进一步地,在所述系统中,所述数据库服务提供方,接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
进一步地,在所述系统中,所述数据库服务提供方,所述预设的成块条件包括:待存储的数据记录数量达到数量阈值;或者,距离上一次成块时刻的时间间隔达到时间阈值。
进一步地,在所述系统中,当接收的数据记录为包含所述辅助证据的数据记录时,所述数据库服务提供方确定所述数据记录的哈希值,返回所述数据记录的哈希值至客户端。
对应的,本说明书实施例还提供一种辅助证据存证方法,如图3所示,图3为本说明书实施例所提供的一种应用于客户端中的辅助证据存证方法,包括:
S301,接收关于证据采集目标的采集指令;
S303,获取采集过程中所产生的辅助证据,其中,所述辅助证据包括证据采集日志和/或与证据采集目标相关的历史记录;
S305,生成与所述辅助证据相关的数据记录;
S307,发送所述数据记录至数据库服务提供方。
对应的,本说明书实施例还提供一种辅助证据存证装置,如图4所示,图4为本说明书实施例所提供的一种应用于客户端中的辅助证据存证装置的结构示意图,包括:
接收模块401,接收关于证据采集目标的采集指令;
获取模块403,获取采集过程中所产生的辅助证据,其中,所述辅助证据包括证据采集日志和/或与证据采集目标相关的历史记录;
生成模块405,生成与所述辅助证据相关的数据记录;
发送模块407,发送所述数据记录至数据库服务提供方。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3所示的辅助证据存证方法。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3所示的辅助证据存证方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。