本发明属于计算机与网络的计算架构领域,特别是数字内容的交易。
背景技术:
当今社会在信息化,但是数字资产流通效率低,研发效率低。每年全球研发投入已经达到2万亿美元,然而其中60%属于重复研发,基本上每个开发团队都是独立研发。本质原因就是,开发的源文件很难流通。即使在欧美国家,开源项目虽然数量很大,然而仍远远不能满足各行业的研发需求,大部分的项目是不开源的,尤其重要的或者优质的项目更是很少有开源内容。
1.开源模式:优质内容少,对内容提供者激励机制不足。
2.外包模式:费用高,周期长,质量不可控,交易双方缺乏信任。
本发明旨在提供一个高效率的数字内容流通交易系统。
技术实现要素:
本发明设计了一种基于网络的编程开发系统,在文件、指令、程序、代码等层面实现隔离与转译。一种基于底层转译的电子交易系统,该系统具有如下特征:
a.系统的组成上,包含供应端,应用端,服务器端,总控制软件及数据库:其中,供应端向系统平台提供开发代码、模型资源、以及实现特定功能的技术组件等各种数字形态的产品,供应产品的存管可以是1)由供应者上传到服务器端,或者2)将相关信息提交给服务器而数字产品原件保存在本地,等其他模式;应用端即数字产品的使用端,也包含二次开发性质的应用,本电子交易系统的应用端还包含了转译重定向工具,可以对数字形态的内容进行重定向、转译、替换等操作;服务器端负责系统软件与数据的存储,以及与各端交互等功能;总控制软件控制交易项目的真实映射关系等内容;
b.应用端的转译重定向的实现可以采用如下的办法:1)沙盒重定向,在应用端运行的伪数字内容在执行时被重定向到位于供应端或服务器端,获取真实内容;2)应用端以webide形式或类似的客户端软件来运行接收到的数字内容,编译、执行、存储在vps或云主机等远端设备上,在远端设备上执行替换;3)其他类似效果的方法包括但不限于透明加密等;
c.该电子交易系统的流程:当供应端向应用者交付对应的数字产品时,先不交付真实内容,而是提供一套对应的沙盒化的伪数字产品到应用端,比如,对于开发代码,提供的是伪代码,而对于模型资源,提供的是透明加密后的伪模型,伪内容可以是标签性质的、指代性质的,而当本系统的应用端接收到伪产品后,总控制软件作为项目与代码的真实映射控制,对伪代码或伪模型在本地执行时的内容下达动态替换指令到应用端,应用端由于包含了转译重定向工具,在将伪代码或伪模型在本地应用使用的时候,随即将伪代码或伪模型,编译、使用时被按照映射库的对应关系还原为真实原始的内容再编译或执行,从而实现用户所见非所得,对于应用端的客户,看到的均是伪代码、伪模型等,而后编译时被动态替换为真实的内容,使得真实的内容不被应用端获取、而应用端可以使用;
d.应用端随后执行如下四种模式中的一种或多种:1)应用端通过上述转译伪代码的方式确认数字内容的价值,完成支付或者确认后,供应端再提供给真实的数字内容;2)应用端通过上述转译伪代码的方式完成外包前的选择与试用,以衡量、选择供应端;3)应用端通过上述转译伪代码的方式实现仅仅需要使用权的数字产品出租模式;4)服务端托管真实的数字产品,而应用端通过上述转译伪代码的方式仅获得一部分真实内容,从而获得部分的产权。
见说明书附图1。
服务器端可以是是一台专门的服务器,也可以是分布式的服务器节点,这些服务端还可以:1.作为研发项目与代码的真实的存储位置;2.存管对应与映射关系,指的是伪代码与真实代码之间的对应关系;3.接收应用端的指令,并控制应用端所执行或编译的代码或内容的动态替换,以及版本控制,权限分级控制。
应用端将指令传递给服务器端或直接给供应端,将编译器缓存与中间文件、文件与注册表操作、程序操作等的部分或全部内容的真实路径指向服务端或供应端上对应的源代码、或者项目、或者工作空间、或数据库等,服务端或供应端作为研发项目与代码等的真实存储,对客户端所执行或编译的代码等内容提供动态替换的内容,由应用端的转译重定向程序执行动态替换,从而实现应用端对数字内容的可用却不可得,如:交付的数字内容中可以插入伪代码,这部分代码不是真实代码,而是某种指代,比如//hook(documentapi,z.dll),正常情况下这本来应该是一行注释文字,如果非本系统的话,编译器也就是将其作为一行注释,不会有任何内容添加到程序中。然而现在,这行注释就会被替换为一行对所有文件操作相关的api进行全面hook并注入z.dll的代码,并编译供执行。
本系统还在转译内容中自动添加header头部语句,以下称为工具宏,用于调试与二次开发等功能,如,数字内容的原始内容标记为y,其所对应的伪内容标记为a,增加的工具宏的内容为h,则应用端在执行或者编译的时候,便会被重定向为hy或yh,h可以是代码也可以是其他数字内容,且真实内容y对于h是可访问的。增加的工具宏的内容中包括了数字产品的控制语句或控制模块,以实现运行区域控制、授权场景控制、微服务模块化、定时失效等。
本系统还包含多次转译的流程,在系统的架构上,设计了延伸链条以进行自我延展,其控制模式为:系统的处理实现还包含多次转译的设计,如,代码abcd在第一应用端转译为伪代码xy,假定在这个过程中经过了二次开发,又包含了来自原来第一应用端用户的新的内容efg,新的代码xy-efg,再存储到服务端上,然后经过本系统转译,在第二应用端以伪代码xyz的形式处理,处理时映射回abcdefg,从而在过程中包括了更多的开发者的内容。见说明书附图2。
在应用端的缓存文件上,首先都是经过透明加密保护的,然后还可以不写入硬盘,而是在内存创建一个的ramdisk虚拟磁盘存储区,虚拟化为虚拟磁盘从而进行i/o控制。
整个系统还进行区块链公证,对整个系统的运行过程,包括服务器与项目源主体,以及时间、mac地址、ip、身份等都进行分布式的永久的不可篡改的记录。
当然,系统的各个环节之间的交互都进行了加密。
服务器上的分布式存储也可以有多种模式:1.同时将真实文件拆分成多份保存,即在服务端上文件不是以完整的文件形式保存,而是将文件拆分多段分别保存到多个不同的物理机器,每个服务器分别保存一部分,或者多个不同的物理磁盘,但对于客户端上的映射与替换时则还是一个完整的文件;2.采用区块链式的分布式存储;3.系统的服务器端通过沙箱将每个用户的工作空间隔离,一个用户一个沙盒,不同的沙盒与沙盒之间映射关系不同,因此文件与进程互相之间不可访问,为每个用户设置对应的真实存储区(网络磁盘或虚拟磁盘或文件夹,或在服务器ramdisk中创建虚拟存储区域),在同一台计算机上起到了共享计算池、分割计算机的效果。
为了防泄密,系统中各个环节还可通过inlinehook与irp派遣控制等方式实现虚拟化沙箱,将关键文件、程序、系统环境变成映射,再由沙盒对上述所有映射进行解析,对可信程序与不可信进程可以放到不同的沙盒中,或直接将不可信进程排除到沙盒外,以使得外部进入的恶意的窃取与木马不能获得真实文件。
本发明的优势在于:
特征1,相比于开源模式,本系统实现的模式有更强的商业性与激励性,在不交出核心知识产权的前提下实现交易,而相比于外包模式,本系统效率更高,成果可试用,成本也更低,因为除了买断之外本系统还可以租用数字成果;
特征2,本发明系统的工具宏对数字内容的双向两侧都可访问到,因此可实现调试与二次开发,本系统并对所有修改实时地在服务端节点链条上进行分叉;
特征3.本发明系统的链结构保证了二次开发的成果可以再利用。
本发明所设计的技术方案中,所涉及的各个计算设备既可以是电脑,也可以是便携式计算机包括手机与平板设备,以及嵌入式设备。
本发明在降低了客户端的设计研发工作与难度同时,会加强辅助性与协同性,客户端应用者本身也可以是服务端的源项目的开发者与提供者,从而形成一个网络。所有的本系统的项目还可以通过工具宏header代码共享token、应用组件等。
本发明已经成功实现了具体实施案例,作为一个具体实施案例,在上述基本架构的基础上,实施案例还做了如下的设置:
1.应用端选取了一台标准的windows7计算机,在上面安装了沙盒重定向软件,并经过重启计算机生效;
2.服务器端选用windowsserver2008服务器3台,安装了服务端内核沙盒,以便为每个客户端创建一个隔离的用户空间沙箱,以及每个用户可以自行上传、管理、分发、控制内容的管理系统,这一实例项目的存管基于沙盒隔离与去中心化区块链分布,3台服务端组成ipfs节点网络,数据是拆分存储在所有服务器的,但是任何一台的服务器又不能构成完整性。测试中,应用端与服务端的连接不是持续的,而是当应用端与服务端连接的时候,服务端进行认证,认证成功后服务端上开启一个沙盒,真实代码或内容进入该沙盒,服务端的沙盒与应用端的沙盒联通,彼此适应同一套映射关系;
3.我们测试了代码型的项目交易,供应端上传了一个底层的hook代码项目作为需要交易的数字内容,而后核心算法部分被转译为伪代码hooka-hooka,在仅仅交付接口、配套函数以及经过hooka-hooka伪装过的内核代码给应用端的情况下,应用端通过转译重定向得到了服务端输出的大量代码功能,对其效果进行了评估,而后应用端利用工具宏header进行了调试和二次开发,形成了新的分叉,并上传到服务器端;
4.我们随后测试了3d模型形式的交易,供应端上传了一个fbx格式的3d模型,并将其透明加密的版本交付给了应用端,应用端在webide中打开使用没有问题,在连接webide的云主机上编译操作也没有问题。
附图说明
附图1.本系统流程图。
附图2.链流程图。