一种数字资源引用关系记录方法及系统与流程

文档序号:15492630发布日期:2018-09-21 20:56阅读:136来源:国知局
本发明涉及虚拟数字资源编辑信息管理领域,尤其涉及一种数字资源引用关系记录方法。
背景技术
:复杂的数字作品,如一款ar游戏,需要使用包含3d模型、音频、视频、图像等大量的资源。创作这些资源(作品)需要耗费创作者大量时间和精力,直接使用现有共享资源可以避免重复劳动。此时,这些共享资源的创作者形成了一种松散的协作关系,共同完成了能够直接产生收益的新的数字作品。当数字作品交易时,使用的共享资源应分享部分收益。对于数字作品创作过程中,紧密合作的创作团队对于资源创作的工作量计算和收益分配是基于信任关系的,团队成员需要信任团队管理者能够合理分配收益。当创作团队的组成是比较松散的关系时,团队成员之间并没有明显的信任关系,创作的资源如何被使用以及收益如何被分配往往不透明、不详细,创作者较难维护自身权益,从而损害创作者的利益,进而损害创作者的创作动力。比特币各种数字加密货币采用区块链作为底层技术,其分布式数据存储机制具有去中心化、公开透明、无法篡改、便于追溯、安全可靠等特点。区块链是一种使用密码学方法把相邻数据块(即区块)使用散列值相连的链式存储机制。区块中保存有明文存储的交易信息,并通过采用非对称密码算法对交易进行签名,用散列算法确保数据不被篡改。因此区块中的记录是公开透明的,但只能被查询而不能修改。每个用户都可以保存所有的区块数据,这种分布式存储有助于抵御破坏者的攻击,安全性较高。区块链公开透明、无法篡改和方便追溯的特点适合用于记录数字作品的创作、修改、发行、交易等信息,使创作者的作品被使用情况公开透明。但数字货币本身的区块链写入所采用的分布式写入机制与中心化的业务流程并不匹配,应根据实际需求进行调整。并且区块链记录检索性能很低,也需要加以改进。技术实现要素:为此,需要提供一种不易篡改,安全性高,记录模式先进的数字资源引用信息记录方法,解决虚拟数字资源创作信息记录的问题。为实现上述目的,发明人提供了一种数字资源引用关系记录方法,包括如下步骤,在服务器端的数据库中建立引用关系表;所述引用关系表包括若干记录链,每条记录链包括数据资源标识符、被引用资源标识符、引用关系、引用差异度、上条记录链哈希值;当客户端生成新的资源并上传到服务器时,服务器存储新生成的资源并分配资源标识符,并生成新的记录链,存入引用关系表中,并将新的记录链返回到客户端。具体地,还包括步骤,客户端生成新的资源并上传到服务器时,还一并上传客户端签名;所述记录链还包括客户端签名、服务端签名;优选地,还包括步骤,客户端接收到新的记录链时,检查服务端签名与上条记录链哈希值是否一致,若否则向服务端发起错误排查请求,服务端在收到请求后从其他各客户端获取一条最新记录链进行比对;若仅报错客户端与其他客户端不一致,则报错客户端进行步骤同步服务器上的引用关系表。可选地,还包括步骤,服务端记录元数据表,所述元数据表包括资源标识符、资源名称、类型、大小或资源文件哈希值。具体地,所述元数据表还包括创建时间或引用资源数量。一种数字资源引用关系记录系统,包括客户端、服务器端,所述服务器端用于在数据库中建立引用关系表;所述引用关系表包括若干记录链,每条记录链包括数据资源标识符、被引用资源标识符、引用关系、引用差异度、上条记录链哈希值;所述客户端用于生成新的资源并上传到服务器,所述服务器端用于存储新生成的资源并分配资源标识符,并生成新的记录链,存入引用关系表中,并将新的记录链返回到客户端。具体地,所述客户端还用于在生成新的资源并上传到服务器时,一并上传客户端签名;所述记录链还包括客户端签名、服务端签名;进一步地,客户端还用于接收到新的记录链时,检查服务端签名与上条记录链哈希值是否一致,若否则向服务端发起错误排查请求,服务端用于在收到请求后从其他各客户端获取一条最新记录链进行比对;若仅报错客户端与其他客户端不一致,则报错客户端还用于进行步骤同步服务器上的引用关系表。可选地,服务端还用于记录元数据表,所述元数据表包括资源标识符、资源名称、类型、大小或资源文件哈希值。优选地,所述元数据表还包括创建时间或引用资源数量。区别于现有技术,上述技术方案解决了数字资源引用关系记录的问题,为多客户端(编辑器)的内容产生及收益分配提供有效保障。附图说明图1为本发明具体实施方式所述的数字资源收益分配方法流程图;图2为本发明具体实施方式所述的资源引用关系树图;图3为本发明具体实施方式所述的资源管理系统图;图4为本发明具体实施方式所述的数字资源编辑方法流程图;图5为本发明具体实施方式所述的数字资源引用关系记录方法流程图;图6为本发明具体实施方式所述的单条记录签名结构图;图7为本发明具体实施方式所述的多条记录单链式结构图。具体实施方式为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。请参阅图1,为一种数字资源收益分配方法,如图中所示,本方法包括如下步骤,s100量化可引用数字资源的复杂程度,得到可引用数字资源的工作量;所谓的可引用数字资源为,数字化的虚拟内容,可以是经人们创作的,计算机代码表示的,经过特定软件解析、处理后能够被声、光、电、文字等常规信息载体所携带的内容,如一个文字稿件、一段音视频资源、游戏配乐等等。在下文举例的虚拟现实场景中,虚拟内容可以体现为虚拟的二维场景、皮肤、表面纹理、以及各种样式的虚拟现实三维模型等等,都可以作为一种数字资源。那么复杂程度就可以是根据不同虚拟内容根据对应指标形成的一个评价标准,如字数、帧数、时长、颜色、像素分辨率、线条数、交点数量等等。又如我们以三维物体模型为具体实施例,则可以选择模型的面数作为复杂程度标准,来评价不同的资源工作量。因此它是一个量化指标,由特定算法评估资源的复杂程度和制作难度,生成一个具体数值。以某书桌模型为例,假如台灯模型面数为2000,书模型为400,杯子为1200,整个书桌为3000。当然也可以选用其中的线条数、像素数等其他一些指标来衡量。如果不同类型的资源没有方法直接比较,可统一折算成当前市场价格来衡量。例如一个人物的原画平均市场价为3000,可直接折算成工作量为30。假设3d模型面数3000的平均市场价为1500,则台灯、书、杯子和整个书桌的工作量分别为10、2、6和15。s102判断作品数字资源与素材数字资源之间的引用类型,根据不同引用类型计算素材数字资源在作品数字资源中的资源贡献量;资源的贡献量指每个被引用的素材数字资源在本资源中的工作量占比。资源引用关系包括直接引用、简化引用、修改引用和固定引用4种,各引用资源的贡献量=作品的总工作量-引用工作量。其中总工作量指被引用资源经引用变换后的工作量,引用工作量指为了使用引用的素材数字资源,创作者需要额外付出的工作量。不同引用方式下引用工作量计算方式各不相同,因此贡献度计算是有差异的:所述引用类型包括直接引用类型、简化引用类型、修改引用类型;直接引用指未经任何修改直接引用原资源,仅根据需要进行大小、位置调整等简单操作即可。直接引用类型的资源贡献量计算方法为:终态工作量-原始工作量×直接引用系数;假设前例中书为直接引用,直接引用系数为0.05,则书的直接贡献量=2-2×0.05=1.9。简化引用是指引用时先对资源进行简化如删减操作、合并操作等之后再使用。简化引用类型的资源贡献量计算方法为:终态工作量-(原始工作量-终态工作量)×简化引用系数;例如,台灯模型过于精细复杂,作为素材引用资源引用到书桌模型中经过简化,终态的工作量只剩下6。假设简化引用系数为0.05,则贡献量=6×0.05=5.7。修改引用指对资源进行修改、删减、增添细节等再用于新模型中。修改引用类型的资源贡献量计算方法为:终态工作量-终态工作量×差异度。这里需要可以根据一定方式如增添、修改、删减的部分的复杂度与原引用模型之间的差异度区别,假设修改后终态工作量为5,与原模型差异度为0.3,则该类引用资源的贡献量=5-5×0.3=3.5。其他一些例子中,固定引用是一种特殊的引用类型,其工作量不随引用关系的改变而改变。例如一份原图,在引用原图生成模型的过程中,原画的工作量不随模型的使用情况而改变,在评估工作量时应作为隐含工作量加入工作量评估值中。例如书桌模型引用了书桌原画,书桌3d模型按面数计算得到工作量为15,但包含工作量为5的原画的固定引用。但固定引用工作量并没有在书桌自身的工作量中得到体现,因此可能存在所有引用资源实际工作量超过资源自身工作量的情况,但排除固定引用资源后,其他所有资源实际工作量应小于资源本身工作量。素材资源原工作量终态工作量引用关系引用工作量贡献量书22直接引用2×0.05=0.11.9台灯106简化引用6×0.05=0.35.7杯子65修改引用5×0.3=1.53.5书桌原画55固定引用05上表即展示了在以书桌为具体实施例时的,各组件引用关系的工作量表示。当弄清楚各个素材引用资源的在作品数字资源内的贡献量之后,我们可以通过图2所示的树状图来表征不同资源之间的引用关系,可以进行步骤s104以作品数字资源开始,计算下一级引用资源的工作量,扣除所有下一级引用资源的工作量后,得到作品数字资源的贡献量;s106对于作品数字资源的所有下级引用资源,均进行步骤,将自身工作量减去下一级引用资源的工作量,得到自身引用资源贡献量,直至没有下一级引用关系,则无引用关系的数字资源的工作量为其贡献量;s108根据各数字资源贡献量比例派发收益。具体的实施例中,结合图2所示的资源引用关系树图,我们可以按照如下步骤进行,第一步:从资源引用关系树的“根”即作品数字资源开始遍历每个节点,计算每个资源在整个数字作品中的实际贡献量。例如资源abc、def和g是数字作品直接引用的资源,其在所有资源中的收益占比可直接通过资源的工作量进行量化。资源实际贡献量=资源工作量。第二步:有引用关系的资源实际贡献量再分配。资源g是树中的叶子节点,没有引用其他资源,其贡献量是独占的,而资源abc和def要进一步分配贡献量。引用资源实际贡献量=资源实际贡献量×(引用资源贡献量/资源工作量)。扣除所有引用资源的实际贡献量(不包含固定引用类型)之后剩下的就是本资源的实际贡献量。如a资源的实际贡献量=abc的实际贡献量×(a的贡献量/abc的工作量)。第三步:重复第二步计算下一层收益,直到所有计算出贡献量的资源不再有引用关系。这样就得到了每个资源的实际贡献量。第四步:排查重复引用情况。当某个资源在资源树中被多次引用,则实际贡献值取每次计算出实际贡献值的最大值。第五步:按照每个资源的实际贡献值作为工作量指标,折算成市场价,得到每个资源应得的收益。通过上述方案,本发明达到了计算在一种松散但自由的合作创作关系中不同设计者之间的收益分配问题,能够使得创作者不必担心收益获取问题,更好地专注于本职工作,提高办事效率。在其他优选的实施例中,我们的方案还可以进行主动派发奖励步骤,具体包括步骤,选定特定数字资源,确定奖励数额,根据特定数字资源的所有下级引用资源的贡献量比例分配奖励数额。如某数字作品资源在实际使用过程中取得超出预想的经济效益,其创作者有意愿向所有资源贡献者派发奖励,则可按照上述步骤确定贡献值,按比例分配奖励。这时创作者作为用户,选定其要派发奖励的作品引用资源作为特定数字资源,输入需要派发的奖励数额,由于前述步骤已经确定了特定的作品创作所对应的各个被引用的素材引用资源的贡献量,因此能够在主动分配奖励数额时系统自动确定待分配的比例。从而通过该步骤设计,来解决资源构建的创作过程中根据特定优质创作结果分配收益的问题。在某些实施例中,还包括一种数字资源收益分配存储介质,存储有计算机程序,所述计算机程序在被运行时执行如下步骤,量化可引用数字资源的复杂程度,得到可引用数字资源的工作量;判断作品数字资源与素材数字资源之间的引用类型,根据不同引用类型计算素材数字资源在作品数字资源中的资源贡献量;以作品数字资源开始,计算下一级引用资源的工作量,扣除所有下一级引用资源的工作量后,得到作品数字资源的贡献量;对于作品数字资源的所有下级引用资源,均进行步骤,将自身工作量减去下一级引用资源的工作量,得到自身引用资源贡献量,直至没有下一级引用关系,则无引用关系的数字资源的工作量为其贡献量;根据各数字资源贡献量比例派发收益。进一步地,所述计算机程序在被运行时还包括步骤,派发奖励,具体包括步骤,选定特定数字资源,确定奖励数额,根据特定数字资源的所有下级引用资源的贡献量比例分配奖励数额。可选地,所述复杂程度包括三维模型设计平面数、线条数或交点数量。优选地,所述引用类型包括直接引用类型、简化引用类型、修改引用类型;直接引用类型的资源贡献量计算方法为:终态工作量-原始工作量×直接引用系数;简化引用类型的资源贡献量计算方法为:终态工作量-(原始工作量-终态工作量)×简化引用系数;修改引用类型的资源贡献量计算方法为:终态工作量-终态工作量×差异度。具体地,所述计算机程序在被运行时还执行步骤,排查重复引用情况,若存在引用资源在作品数字资源中被多次引用,则最终贡献量取每次引用的计算贡献量的最大值。上述数字资源收益分配存储介质解决了数字资源构建过程中创作结果收益分配的问题。其他一些实施例中,我们还设计了一种数字资源管理系统,包括编辑器、服务器;在某些实际应用中,所述编辑器可以为多个,是一种面向用户的终端,其间配合关系可以如图3所示,所述编辑器用于接收用户对作品数字资源的制作信息,形成数字资源包提交给服务器,所述数字资源包包括,作品数字资源编辑信息、引用的素材数字资源信息、作品数字资源对素材数字资源的引用关系信息、以及作品数字资源中对各引用的素材数字资源的贡献量分配计算结果;这里的数字资源包可以是一个文件集合或多个文件集合,只需要能够先后或同时地,将作品数字资源编辑信息、引用关系信息、贡献量分配结果提交给服务器端即可,只是这些文件在创作目标上是为了同一个作品数字资源服务的,可以统称为该作品数字资源的数字资源包。而当然的,服务器就用于接收所述数字资源包,并进行步骤,校验引用关系信息是否正确;校验各引用的素材数字资源的贡献量分配计算结果是否正确;校验成功则向编辑器返回提交成功信息,校验失败则返回错误信息。在这里,服务器校验引用关系是否与原有的素材数字资源能够对应,是为校验,如果校验成功说明作品的引用素材关系正确,如果校验失败则说明引用数据有问题,将会返回给编辑器一个错误提示。校验贡献量分配计算结果是否正确在于,服务器端会根据引用关系及引用类型等信息重新计算一遍资源贡献量的计算结果,如果没有问题则说明作品数字资源中贡献量计算正确,若校验失败可能说明编辑器用户端可能伪造了引用数据,不能够通过审核。通过上述数字资源管理系统,达到了能够允许编辑器自主设计数字资源,并通过作品数字资源的各项内容提供支持并验算等步骤来达到对作品数字资源的整合、校验、存储、分发等功能,达到了对数字资源的有效管理。在其他一些进一步的实施例中,编辑器还用于对数字资源包进行签名后上传给服务器,服务器还进行步骤,验证编辑器签名;服务器在校验数字资源包成功后还进行步骤,对数字资源包进行签名后存入服务器端资源数据库中。通过设计上述系统,编辑器签名能够提高数字资源包的可靠性,防止第三方伪造数字资源包,在验证通过之后同时进行服务器签名再存入素材库,这样,新存入素材库的作品数字资源已经完成了所有制作步骤,能够作为后续其他进一步设计的素材数字资源,达到了资源共享的技术效果,同时也更好地提高了本系统的数字资源安全性,还更好地解决了资源管理系统对于数字资源的管理能力。作为一个更加优选的技术方案,服务器还用于将作品数字资源与引用关系信息或贡献量分配计算结果分开存储。服务器在验证签名之后,将作品数字资源全部存入素材库,将引用关系信息或贡献量计算分配存入引用数据库。通过上述系统设计方案,进一步细化数据库的数据分布存储,有助于提高整个系统的数据存取效率。为了能够使得编辑器更好地调用数据,在更进一步的实施例中,所述编辑器还用于向服务器发送资源搜索请求,服务器还用于根据搜索请求在资源数据库中搜索匹配结果,并将搜索结果对应的素材资源数据包返回给编辑器。从而在素材库中选取素材供编辑器端使用、编辑。完整的工作流程如下:(1)资源引用编辑器提供服务器端资源搜索功能。创建资源或者完整的数字作品时,编辑器用户可从服务器端搜索相关的资源,并下载资源用于进一步编辑制作。用户把下载的资源放入编辑界面则完成了资源的初步引用。也可以创建没有引用其他资源的资源或数字作品。(2)资源编辑在编辑资源时,可对直接使用引用资源,或者对引用资源进行编辑。对引用资源的编辑包括简化和修改。简化指调低资源的精细程度,修改则是改变资源内容。编辑器可追踪这一过程,并评估量化资源修改的方法和变化程度,并写入到临时的资源引用关系记录中。当资源使用编辑器自动简化工具对引用资源进行简化的认定为简化引用,对资源进行手动简化修改、增加精细度或者改变局部内容的,认定为修改引用。修改引用可根据修改后模型与原引用模型之间的差异度来衡量修改程度,并在新资源保存提交前评估被引用资源对新资源的贡献量。资源中多处以相同的方式使用同一引用资源视为一次引用,否则视为多个引用,按不同引用关系分别评估。(3)资源提交在保存资源时,编辑器会向服务器提交资源内容,以及资源引用关系数据。提交时编辑器使用私钥对资源和引用关系数据进行签名。服务器收到编辑器提交的数据时,需要对数据进行审核。一是验证数据签名,确保数据不是第三方伪造的;二是引用关系内容是否与提交资源相关联,没有关联说明引用数据是错的;三是引用资源贡献量是否正确,如果跟编辑器端使用相同的算法计算出来不同结果,则说明编辑器用户伪造了引用数据。通过审核的数据记录到数据库中,并经服务器端签名,然后向客户端返回提交成功信息。审核不通过则返回错误信息。客户端收到反馈信息后在用户界面上显示。成功通过审核的引用记录可记录到数据库中。(4)引用关系同步在线客户端周期性地向服务器端请求最新的引用数据,同步到本地引用关系数据库中,实现分布式存储。因此具体的实施例中,还包括系统对应的一种数字资源管理方法,包括如下步骤,编辑器接收用户对作品数字资源的制作信息,形成数字资源包提交给服务器,所述数字资源包包括,作品数字资源编辑信息、作品数字资源对素材数字资源的引用关系信息、以及作品数字资源中对各引用的素材数字资源的贡献量分配计算结果;服务器接收所述数字资源包,并进行步骤,校验引用关系信息是否正确;校验各引用的素材数字资源的贡献量分配计算结果是否正确;校验成功则向编辑器返回提交成功信息,校验失败则返回错误信息。具体地,编辑器对数字资源包进行签名后上传给服务器,服务器还进行步骤,验证编辑器签名;服务器在校验数字资源包成功后还进行步骤,对数字资源包进行签名后存入服务器端资源数据库中。优选地,包括步骤,所述编辑器向服务器发送资源搜索请求,服务器还用于根据搜索请求在资源数据库中搜索匹配结果,并将搜索结果对应的素材资源数据包返回给编辑器。可选地,包括步骤,所述服务器将作品数字资源的制作信息存入资源素材库,还用于将作品数字资源对素材数字资源的引用关系信息、贡献量分配计算结果存入引用关系库。上述数字资源管理方法通过作品数字资源的各项内容提供支持并验算等步骤来达到对作品数字资源的整合、校验、存储、分发等功能,达到了对数字资源的有效管理的效果。为了方便用户更好地完成在编辑器端进行数字作品创作的效果,在编辑器端,还设计了一种数字资源编辑方法,如图4所示,包括如下步骤,s400编辑器接收用户对素材数字资源的选择信息,对素材数字资源进行引用编辑,s402接收用户对所述素材数字资源的简化或修改操作,根据简化或修改操作生成简化系数及修改差异度;s404接收用户对作品数字资源的制作操作,s408将用户对作品数字资源的制作结果及引用编辑的素材数字资源的简化系数、修改差异度上传至服务器。在本实施例中,素材数字资源与作品数字资源仅为被引用与引用关系的区分,在单个制作流程中,素材数字资源是已经完成的,作品数字资源是待创作的,需要对素材数字资源进行引用,加入其他原生制作操作,才能够生成作品数字资源,完成制作流程,当用户将制作完成的作品数字资源的制作结果上传到服务器完成审核、存储之后,作品数字资源又可能变成其他制作流程中的素材数字资源。因此,通过步骤s400-s408,用户能够通过某个编辑器端完成对数字资源的加工,并且能够随意选用数字素材资源,上述步骤达到了快速进行数字资源编辑创作的技术效果,并能够将创作结果上传至服务器保存。在另一些具体的实施例中,为了能够在编辑器端提供更多的素材供用户进行创作,拓宽思路,激发灵感,数字资源编辑方法还包括步骤,编辑器接收用户对素材数字资源的搜索请求,所述搜索请求包括素材数字资源的名称、类别或用途、领域、大小等各种属性。编辑器端能够接收服务器端发回的搜索结果,最后根据所述搜索请求查找符合的素材数字资源,将所述素材数字资源添加到编辑器的素材库中。通过上述设计解决了编辑器端对素材库的搜索及各种素材的调用问题。其他一些具体实施例中,我们还进行步骤,将用户对素材数字资源的引用次数上传至服务器,对相同素材数字资源的同一引用方式的多次引用记为一次引用。通过删除冗余引用,能够更好地得出素材数字资源对作品数字资源的贡献量。优选的实施例中,将用户对作品数字资源的制作结果上传至服务器前还包括步骤,s406对所述制作结果进行签名。制作结果进行签名能够提高编辑后的作品数字资源的安全性,提高整个系统的安全性。在某些具体的实施例中,还提供一种数字资源编辑存储介质,包括计算机程序,所述计算机程序在被运行时执行包括如下步骤,编辑器接收用户对素材数字资源的选择信息,对素材数字资源进行引用编辑,接收用户对所述素材数字资源的简化或修改操作,根据简化或修改操作生成简化系数及修改差异度;接收用户对作品数字资源的制作操作,将用户对作品数字资源的制作结果及引用编辑的素材数字资源的简化系数、修改差异度上传至服务器。具体地,所述计算机程序在被运行时还执行步骤,编辑器接收用户对素材数字资源的搜索请求,所述搜索请求包括素材数字资源的名称、类别或用途;根据所述搜索请求查找符合的素材数字资源,将所述素材数字资源添加到编辑器的素材库中。具体地,所述计算机程序在被运行时还执行步骤,将用户对素材数字资源的引用次数上传至服务器,对相同素材数字资源的同一引用方式的多次引用记为一次引用。进一步地,将用户对作品数字资源的制作结果上传至服务器前还包括步骤,对所述制作结果进行签名。上述存储介质的设计达到了快速进行数字资源编辑创作的技术效果,并能够将创作结果上传至服务器保存。当数字资源的分配方式已经确定的时候,如在本文的实施例中确定为与贡献量相匹配的一种分配模式,则资源引用关系记录的真实性和完整性是资源收益分配公开透明的前提。可借鉴区块链技术确保资源引用记录的真实性和完整性。但资源引用记录如果使用类似比特币区块链的格式,数据经序列化后打包成固定大小的区块保存,数据在使用时需要反序列化后才能读取其中的内容,数据检索性能受到限制。可通过关系型数据库保存引用关系记录来提高性能,并通过数字签名和hash引用字段确保真实性和完整性。数据经序列化后打包成固定大小的区块保存,数据在使用时需要反序列化后才能读取其中的内容,数据检索性能受到限制。可通过关系型数据库保存引用关系记录来提高性能,并通过数字签名和hash引用字段确保真实性和完整性。在图5所示的实施例中,设计了一种数字资源引用关系记录方法,包括如下步骤,s500在服务器端的数据库中建立引用关系表;所述引用关系表包括若干条记录,每条记录包括数据资源标识符、被引用资源标识符、引用关系、引用差异度、上条记录哈希值等字段;当客户端生成新的资源并上传到服务器时,服务器进行步骤s502存储新生成的资源并分配资源标识符,并生成新的记录,存入引用关系表中,并将新的记录返回到客户端。这种数字资源记录方法通过每条记录存储上条记录哈希值,能够确保服务器端的数据库中建立的引用关系表中每条数据都能够妥善保存且无法篡改,通过上述设计提升了数字资源间相互引用关系的记录的可靠性及有效性。解决了数字资源引用关系记录的问题,为多客户端(编辑器)的内容产生及收益分配提供有效保障。具体地,还包括步骤,客户端生成新的资源并上传到服务器时,还一并上传客户端签名;所述记录还包括客户端签名、服务端签名字段。在这里,引用关系表,保存了资源的引用关系,包括资源guid、被引用资源guid、引用关系、引用差异度(修改引用为正值,其他引用关系为0)。一个资源有多条引用关系则在引用关系表中包含多条记录。比特币等多种数字货币区块链中保存的是序列化过的数据,而记录在数据库中的数据是未经序列化的。在签名或者计算hash时必须先对数据记录序列化,转化成为格式确定的二进制数据后才能使用。序列化数据需要预先规定好每个字段的存储顺序和存储格式,便于编辑器、服务器以及第三方工具对数据记录真实性和有效性的验证。对于引用关系表中的单条记录结构,图6中给出了一个签名过程的示例,数据表中每条记录,均包含两个签名字段,分别用于存储客户端(编辑器)签名和服务器端签名。如图6所示,以及上文的说明,客户端签名在编辑器提交资源及引用关系记录时生成,客户端会对已经生成的所有字段进行签名,然后提交给服务器端审核并通过审核后服务器端对记录进行再次签名,其中客户端签名数据也包含在被签名数据内部,服务器会对所有字段及客户端签名进行签名。避免被篡改和删除则采用区块链的hash引用来保证。如图7所示,每条记录存储了上条记录hash,保存了上条记录的hash值,构成一个单链式结构。这里的记录hash计算时包含数据记录每个字段,也包括客户端签名、服务端签名和上条记录hash。这样当一条记录被修改时,其下条记录的hash就必须也要修改,进而又影响下一条记录,因此将同样影响后续所有记录。这种情况下只篡改一条记录是不够的,很容易被检查出来。通过上述签名及上述记录哈希值,更好地提高了本方法记录数字资源关系的安全性。在更进一步的优选的实施例中,还包括步骤,客户端接收到新的记录时,检查服务端签名与上条记录哈希值是否一致,若否则向服务端发起错误排查请求,服务端在收到请求后从其他各客户端获取一条最新记录进行比对;若仅报错客户端与其他客户端不一致,则报错客户端进行步骤同步服务器上的引用关系表。该方案可与分布式存储结合使用,但并不去中心化,采用分布式冗余数据库记录资源引用关系,即每名资源创作者都保存一份相同的资源引用关系数据库,避免单一的中心化数据库数据被批量篡改的风险。数字加密货币采用的是完全对等的方式写入数据,每个节点即是客户端也是服务器端。但这种方式不能满足我们中心化的业务需求,因此我们采用客户端生成数据,服务器端审核写入数据,最后同步到客户端。客户端接收到同步数据时,应检查服务器端的数据签名和上一条记录hash,如不一致说明数据出现不一致。此时客户端应向服务器发起错误排除请求,由服务器端向各在线客户端发送排错请求。服务器端从各客户端数据表获取一条最新记录进行比对,如发现仅报错客户端与其他客户端不一致,则说明该客户端数据被第三方篡改。经客户端用户认可后同步全部数据。否则说明服务器端数据受被篡改,应人工介入调查,确认后从客户端获得正确数据,并恢复服务器端数据库。通过设计上述步骤,用户能够及时发现编辑器与服务器端存在的数据问题,并能够找出错误源头,从而更进一步地提高本方法的安全性能。其他一些可选的实施例中,还包括步骤,服务端记录元数据表,所述元数据表包括资源标识符、资源名称、类型、大小或资源文件哈希值。所述元数据表还可以包括创建时间或引用资源数量。根据前述方案,服务器数据库既有素材数据库,也有引用关系数据库,元数据表就是作为素材数据库的一种存储目录。便于素材数字资源的查找检索。在其他一些实施例中,还公开一种数字资源引用关系记录系统,包括客户端、服务器端,所述服务器端用于在数据库中建立引用关系表;所述引用关系表包括若干记录,每条记录包括数据资源标识符、被引用资源标识符、引用关系、引用差异度、上条记录链哈希值等字段;所述客户端用于生成新的资源并上传到服务器,所述服务器端用于存储新生成的资源并分配资源标识符,并生成新的记录,存入引用关系表中,并将新的记录返回到客户端。具体地,所述客户端还用于在生成新的资源并上传到服务器时,一并上传客户端签名;所述记录还包括客户端签名、服务端签名;进一步地,客户端还用于接收到新的记录时,检查服务端签名与上条记录哈希值是否一致,若否则向服务端发起错误排查请求,服务端用于在收到请求后从其他各客户端获取一条最新记录进行比对;若仅报错客户端与其他客户端不一致,则报错客户端还用于进行步骤同步服务器上的引用关系表。可选地,服务端还用于记录元数据表,所述元数据表包括资源标识符、资源名称、类型、大小或资源文件哈希值。优选地,所述元数据表还包括创建时间或引用资源数量。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:ram、rom、磁碟、磁带、光盘、闪存、u盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1