具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现数据处理方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为 I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的数据处理方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
图2是根据本实施例所述的数据处理系统的应用场景的示意图。参照图2 所示,数据处理系统300与多个终端设备(例如终端设备210a、210b、220~2n0) 通信连接。其中,数据处理系统300例如可以由多个服务器构成,为用户提供注册、创建本地的用户数据节点、发布数据以及读取数据等服务。多个终端设备例如但不限于是智能手机、平板、pad以及个人电脑等终端。终端设备210a 和210b均为与用户110关联的终端设备,终端设备210a例如为用户110的家用电脑设备,终端设备210b例如为用户110临时使用的电脑设备(例如公司的电脑设备、好友的电脑设备、网吧的电脑设备等等)。
其中,用户110可以通过终端设备210a的浏览器进入数据处理系统300,向数据处理系统300提出用户注册申请。在成功注册后,用户110可以通过终端设备210a向数据处理系统300提出创建本地的用户数据节点的方式,将终端设备210a的一部分数据空间当做一个本地的用户数据节点来使用,即这一部分数据空间不仅用来存储用户110的用户数据,还可以用来存储其他用户(例如用户120和用户130)发布的数据。此时,与用户110关联的用户数据节点则设置于终端设备210a上。在用户110想要发布某一数据(例如新闻数据)的情况下,可以通过终端设备210a或者210b进行本地登录或者异地登录后,向数据处理系统300发送一个数据发布请求,由数据处理系统300将数据同步至其他用户本地的用户数据节点,例如将用户110发布的新闻数据同步至用户120 本地的用户数据节点。此外,在用户110想要读取某一数据(例如:娱乐数据) 的情况下,可以通过终端设备210a或者210b向数据处理系统300发送一个数据读取请求,由数据处理系统300从存储有该娱乐数据的用户数据节点中读取相应的数据并返回终端设备210a或者210b,例如数据处理系统300从存储有娱乐数据的用户130本地的用户数据节点中读取娱乐数据并返回终端设备210a 或者210b。
需要说明的是,图2中的数据处理系统300、终端设备210a、终端设备210b、终端设备220~2n0均可适用上面所述的硬件结构。
在上述运行环境下,根据本实施例的第一个方面,提供了一种数据处理方法,该方法由图2中所示的数据处理系统300实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
S302:从第一用户的第一终端设备接收第一数据的发布请求,其中第一用户关联有设置于终端设备上的第一用户数据节点,并且第一数据存储于第一用户数据节点;
S304:响应于发布请求,获取存储于数据处理系统上的路由表,其中路由表包括设置有用户数据节点的各个终端设备的路由地址信息;
S306:根据路由表,从多个用户数据节点中确定目标用户数据节点,其中多个用户数据节点分别设置于多个终端设备上;以及
S308:将第一数据同步至目标用户数据节点。
具体地,参见图2和图4所示,用户110首先可以通过终端设备210a的浏览器进入数据处理系统300,然后通过终端设备210a与数据处理系统300交互,从而完成用户注册并进行用户登录。进一步地,用户110还通过终端设备210a 向数据处理系统300请求创建一个本地的用户数据节点(例如图4中的用户数据节点1),由数据处理系统300将终端设备210a的一部分数据空间设置为与用户110关联的用户数据节点,即用户数据节点1与用户110关联。从而,与用户110关联的用户数据节点设置于终端设备210a上,并且在用户110向终端设备210a录入数据后,终端设备210a可以将数据保存至与用户110相关联的用户数据节点(即,用户数据节点1)中。
从而,在用户110具有发布数据的需求时,用户110可以使用终端设备210a 或者210b访问数据处理系统300并登录后,通过终端设备210a或者210b向数据处理系统300发送数据(对应于第一数据)的发布请求。其中,用户110的登录方式可以为本地登录或者异地登录。由于与用户110关联的用户数据节点 1设置于终端设备210a上,因此在用户选择本地登录的情况下,用户110可以通过终端设备210a访问数据处理系统300并进行登录。在用户选择异地登录的情况下,用户110可以通过终端设备210b访问数据处理系统300并进行登录。
在上述应用场景下,数据处理系统300从第一用户(用户110)的第一终端设备(例如终端设备210a)接收第一数据的发布请求。此时与第一用户(用户110)关联的第一用户数据节点(用户数据节点1)设置于终端设备210a上,并且第一数据存储于用户数据节点1中。或者,数据处理系统300从第一用户 (用户110)的第一终端设备(例如终端设备210b)接收第一数据的发布请求。此时与第一用户(用户110)关联的第一用户数据节点(用户数据节点1)设置于终端设备210a上,并且第一数据存储于用户数据节点1中。
进一步地,数据处理系统300响应于接收到的发布请求,获取存储于数据处理系统300上的路由表。其中,参照图4所示,数据处理系统300例如由服务器1~服务器k构成,路由表则存储于服务器1~服务器k中,并且路由表包括设置有用户数据节点的各个终端设备的路由地址信息。例如但不限于,用户 110的终端设备210a上设置有用户数据节点1,用户120的终端设备220上设置有用户数据节点2,用户130的终端设备230上设置有用户数据节点3,用户 1n0的终端设备2n0上设置有用户数据节点n。此时路由表包括设置有用户数据节点1的终端设备210a的路由地址信息、设置有用户数据节点2的终端设备 220的路由地址信息、设置有用户数据节点3的终端设备230的路由地址信息以及设置有用户数据节点n的终端设备2n0的路由地址信息。
然后,数据处理系统300根据获取到的路由表,从多个用户数据节点中确定目标用户数据节点。其中多个用户数据节点分别设置于多个终端设备上。在一个具体实施例中,用户数据节点2~n分别设置于终端设备220~2n0上,此时数据处理系统300根据获取到的路由表,从用户数据节点2~n中确定目标用户数据节点。其中,数据处理系统300例如根据最短路径算法以及路由表,从用户数据节点2~n中确定离自己最近的用户数据节点(例如用户数据节点2)作为目标数据节点。最后,数据处理系统300将用户110发布的第一数据同步至目标数据节点(即,用户数据节点2)。从而,各个用户发布的数据不再集中存储于数据库服务器上,而是由数据处理系统300将数据存储至设置于各个终端设备上的用户数据节点中。并且,对于发布后的数据,在需要对其进行查阅或者引用过程中,各个互联网应用均可以向存储有相应数据的用户数据节点读取数据。
正如背景技术中所述的,传统的数据存储方式大多采取集中式存储,所有的用户数据都集中存储到数据库服务器,数据库服务器的存储压力非常大,并且数据库服务器的费用也会随着数据量的增加而增大。
有鉴于此,根据本公开的技术方案,数据处理系统300在接收到用户通过终端设备发送的针对存储于用户本地的用户数据节点中的数据进行发布的发布请求时,首先获取存储在数据处理系统300上的路由表。由于路由表包括设置有用户数据节点的各个终端设备的路由地址信息,因此数据处理系统300可以根据路由表,从多个用户数据节点中确定一个用于存储所发布的数据的目标用户数据节点,最后将所发布的数据同步至目标用户数据节点。从而通过这种方式,由于不再将各个用户发布的数据集中存储于数据库服务器上,而是合理利用用户的终端设备上的数据存储空间,将用户的终端设备上的数据存储空间设置为用户本地的用户数据节点,由数据处理系统300将数据存储至设置于各个终端设备上的用户数据节点中,数据库服务器则用于存储包括设置有用户数据节点的各个终端设备的路由地址信息的路由表。并且,对于发布后的数据,在需要对其进行查阅或者引用过程中,各个互联网应用均可以向存储有相应数据的用户数据节点读取数据。从而大大减轻了数据库服务器的存储压力,有效降低了数据存储成本。进而解决了现有技术中存在的采用将所有的用户数据都集中存储至数据库服务器的数据存储方式,数据库服务器的存储压力大、存储成本高的技术问题。
可选地,将第一数据同步至目标用户数据节点的操作,包括:获取与目标用户数据节点关联的目标用户对应的第一数据加密公钥,其中与第一数据加密公钥对应的第一数据加密私钥存储于数据处理系统;使用第一数据加密公钥对第一数据进行加密;以及将加密后的第一数据同步至目标用户数据节点。
具体地,数据处理系统300在将第一数据同步至目标用户数据节点的过程中,为了保证数据同步过程中的安全性,数据处理系统300需要对第一数据进行加密处理后再同步至目标用户数据节点。参照图2和图4所示,目标用户数据节点例如为用户数据节点2,与用户数据节点2关联的目标用户为用户120,并且用户数据节点2设置于用户120的终端设备220上。其中,用户120在创建用户数据节点2之前,需要向数据处理系统300申请用于对数据进行加解密的数据加密公钥和数据加密私钥(对应于第一数据加密公钥和第一数据加密私钥)。数据处理系统300生成第一数据加密公钥和第一数据加密私钥后,将第一数据加密公钥发送至用户120的终端设备220,将第一数据加密私钥存储于数据处理系统300上。从而,用户120可以使用第一数据加密公钥对数据进行加密后再存储至用户数据节点2中,使得存储于用户数据节点2中的数据都是加密后的数据,保证了数据的安全性。此外,在用户120需要读写用户数据节点2中的某一数据的情况下,由数据处理系统300使用第一数据加密私钥对数据进行解密后得到原始的数据,以供用户120进行相应的读写操作。
进一步地,考虑到待同步至用户数据节点2的第一数据后期的安全读取,数据处理系统300首先获取与用户数据节点2关联的用户120对应的第一数据加密公钥,然后使用第一数据加密公钥对第一数据进行加密,最后将加密后的第一数据同步至用户数据节点2。从而,在其他用户需要从用户数据节点2读取第一数据的情况下,还需要经由数据处理系统300使用第一数据加密私钥进行解密后才能够成功获取到可读取的第一数据。在非法从用户数据节点2获取第一数据的情况下,获取到的是加密后的第一数据,从而黑客无法直接获取到第一数据,保障了第一数据的安全性。
可选地,将第一数据同步至目标用户数据节点的操作,还包括:从第一终端设备接收基于第一数据管理密码设置第一数据的访问权限的设置指令,其中第一数据管理密码为第一用户设置的用于管理第一数据的访问权限的管理密码;以及响应于设置指令,将第一数据管理密码设置为加密后的第一数据的访问密码。
具体地,由于存储于用户数据节点2中的第一数据为使用第一数据加密公钥加密后的数据,因此第一数据对于任何用户而言都是免费或公开的数据资源 (例如新闻数据、娱乐数据等),第一数据的任一读取者只要访问数据处理系统300,向数据处理系统300发送读取请求后,数据处理系统300都能够成功将解密后的第一数据发送至读取者的终端设备,从而实现第一数据的免费读取。但是,在某些应用场景下,例如第一数据可以为用户110的个人用户信息,包括用户110的用户名、用户身份证号以及用户手机号等信息,用户110不希望第一数据为免费或公开的数据资源,而是加密的数据资源。此时,用户110可以通过终端设备210a(对应于第一终端设备)向数据处理系统300发送基于第一数据管理密码设置第一数据的访问权限的设置指令。其中,第一数据管理密码为用户110设置的密码,用于管理第一数据的访问权限。也就是说,拥有第一数据管理密码的用户才拥有第一数据的访问权限。
从而,数据处理系统300从终端设备210a接收到设置指令后,将第一数据管理密码设置为加密后的第一数据的访问密码。由于拥有第一数据管理密码的用户等同于拥有第一数据的访问权限,因此在确认读取者拥有读取第一数据的访问权限的情况下,数据处理系统300才会使用第一数据加密私钥对存储于用户数据节点2中的第一数据进行解密后发送至读取者的终端设备。
其中,目前关于互联网应用的用户注册场景,都需要用户110手动输入用户名、用户身份证号和用户手机号。然而在本实施例中,用户110可以通过将包括有用户名、用户身份证号和用户手机号等用户注册信息的第一数据发布至设置于终端设备220上的用户数据节点2,并使用第一数据管理密码设置存储于用户数据节点2上的第一数据的访问权限。从而,在用户注册场景下,用户 110无需手动输入任何相关的用户注册信息,而是通过数据授权的方式给予相关的互联网应用从用户数据节点2中读取第一数据的访问权限,从而完成用户注册。
其中,具体的用户注册授权方式例如但不限于为:互联网应用在需要获取用户110的用户注册信息(即,第一数据)的情况下,可以通过其服务器向数据处理系统300发送读取请求,由于用户110设置了第一数据的访问权限,因此数据处理系统300会向用户110的终端设备210a发送一个是否向该互联网应用授予读取第一数据的授权确认信息。在用户110同意授权的情况下,向终端设备210a输入第一数据管理密码并发送至数据处理系统300。数据处理系统300 在接收到第一数据管理密码并判定密码正确的情况下,从用户数据节点2获取加密后的第一数据,并使用第一数据加密私钥对第一数据进行解密后将第一数据发送至互联网应用的服务器,从而实现了第一数据的获取并进行相应的用户注册操作。
此外,用户110还可以通过第一数据完成用户信息授权以及用户认证等操作,用户信息授权和用户认证的具体方式与上述的用户注册授权方式的原理相同,此处不再赘述。并且,用户110也可以随时取消第一数据的授权,中断第一数据的引用,从而保证第一数据的隐私。
可选地,该方法还包括:在成功将第一数据同步至目标用户数据节点的情况下,更新存储于数据处理系统上的路由表,并将更新后的路由表同步至第一用户数据节点,其中路由表还包括与存储有各个数据的用户数据节点对应的终端设备的路由地址信息;以及在无法成功将第一数据同步至目标用户数据节点的情况下,从多个用户数据节点中确定其他用户数据节点,并将第一数据同步至其他用户数据节点。
具体地,数据处理系统300在成功将第一数据同步至目标用户数据节点后,需要更新存储于数据处理系统300上的路由表,即将设置有目标用户数据节点的终端设备的路由地址信息记录在路由表中,并备注第一数据存储于目标用户数据节点上。然后,数据处理系统300将更新后的路由表同步至第一用户数据节点(用户数据节点1)。从而,通过这种方式,能够不断的更新存储于数据处理系统300上的路由表,在其他用户(例如用户120)需要读取第一数据时,可以向数据处理系统300获取最新的路由表,从而确定第一数据的存储路径,为后续成功读取到第一数据奠定了基础。
进一步地,数据处理系统300在无法成功将第一数据同步至目标用户数据节点的情况下,数据处理系统300还需要从多个用户数据节点(用户数据节点 2~n)从确定其他用户数据节点(例如用户数据节点3),并将第一数据同步至用户数据节点3,从而保证了第一数据的成功发布。同理,数据处理系统300 在成功将第一数据同步至用户数据节点3后,需要更新存储于数据处理系统300 上的路由表,即将设置有用户数据节点3的终端设备(例如终端设备230)的路由地址信息记录在路由表中,并备注第一数据存储于用户数据节点3上。此外,数据处理系统300会记录第一数据同步失败的次数,使得后续可以基于该次数来对各个用户数据节点进行大数据分析,从而判定各个用户数据节点的可用性或者有效性。
可选地,该方法还包括:从第一终端设备接收向第二用户数据节点读取第二数据的读取请求,其中第一终端设备响应于第一用户输入的第二数据的读取指令,根据向数据处理系统获取到的最新的路由表,从多个候选用户数据节点中确定第二用户数据节点并生成读取请求,其中多个候选用户数据节点上均存储有第二数据;以及响应于读取请求,从第二用户数据节点中读取第二数据,并将读取到的第二数据发送至第一终端设备。
具体地,在第一用户(用户110)对他人的用户数据节点进行操作的过程中,例如向第二用户数据节点(用户数据节点2)读取第二数据的操作过程中,用户110可以通过终端设备210a的浏览器访问数据处理系统300并本地登录后,在数据处理系统300中进行第二数据的读取操作。或者,用户110还可以通过终端设备210b的浏览器访问数据处理系统300并异地登录后,下载用户 110自己的用户数据节点1,并进行本地映射后,在数据处理系统300中进行第二数据的读取操作。
进一步地,第一终端设备(例如终端设备210a)响应于用户110输入的第二数据的读取指令,首先向数据处理系统300获取最新的路由表,然后根据获取到的最新的路由表和最短路径算法,从多个候选用户数据节点(存储有第二数据的用户数据节点)中找到最近的可用的用户数据节点(对应于第二用户数据节点,例如用户数据节点2)。此时,终端设备210a发送向用户数据节点2 读取第二数据的读取请求至数据处理系统300。
从而,数据处理系统300从终端设备210a接收向用户数据节点2读取第二数据的读取请求后,从用户数据节点2中读取第二数据,并将读取到的第二数据发送至终端设备210a。通过这种方式,实现了第二数据的成功读取。
此外,可用的用户数据节点分为免费的用户数据节点和加密的用户数据节点,免费的用户数据节点可以直接访问并读取数据,加密的用户数据节点需要输入相应的数据管理密码后才可以访问并读取数据,并且他人的用户数据节点中的数据只能读取,不能修改。
可选地,第二数据预先设置有对应的访问密码,其中与第二数据对应的访问密码为第二用户基于第二数据管理密码设置第二数据的访问权限而生成的,第二数据管理密码为第二数据的发布者设置的用于管理第二数据的访问权限的管理密码,第二用户为第二数据的发布者;并且响应于读取请求,从第二用户数据节点中读取第二数据的操作,包括:在从第一终端设备接收到的访问密码与第二数据管理密码一致的情况下,从第二用户数据节点中读取加密后的第二数据,其中加密后的第二数据为使用与第二用户对应的第二数据加密公钥进行加密后得到的数据,并且与第二数据加密公钥对应的第二数据加密私钥存储于数据处理系统;以及使用第二数据加密私钥对加密后的第二数据进行解密,并将解密后的第二数据发送至第一终端设备。
参照图2所示,第二数据的发布者为用户130,在发布第二数据的过程中,用户130使用其数据管理密码(对应于第二数据管理密码)设置第二数据的访问权限。只有在拥有第二数据管理密码的情况下,用户110才具有访问第二数据的权限,在具有访问权限后数据处理系统300才会进行相应的数据读取操作。从而,数据处理系统300在从终端设备210a接收到的访问密码与第二数据管理密码一致的情况下,从用户数据节点2中读取经由与用户130对应的第二数据加密公钥加密后的第二数据,然后使用第二数据加密私钥对加密后的第二数据进行解密,并将解密后的第二数据发送至终端设备210a。通过这种方式,用户可以公开发布数据,也可以进行加密处理后再发布数据。并且,在进行加密处理后再发布的数据,读取者需要输入对应的访问密码才能够实现数据的成功读取,保证了数据的隐私。
可选地,该方法还包括:在从第二用户数据节点中读取第二数据失败的情况下,对第二用户数据节点进行检测,并根据检测结果判定第二用户数据节点是否为可用的数据节点;在判定第二用户数据节点为不可用的数据节点的情况下,根据路由表确定与第二用户数据节点距离最近的第三用户数据节点;以及将第二数据同步至第三用户数据节点,并更新存储于数据处理系统上的路由表。
具体地,数据处理系统300在从第二用户数据节点(即,用户数据节点2) 中读取第二数据失败的情况下,意味着用户数据节点2的状态异常,此时数据处理系统300需要对用户数据节点2进行检测,例如进行连接检测和数据检测等操作,从而判断用户数据节点2的连接是否异常或者存储于用户数据节点2 上的数据是否异常。然后,数据处理系统300根据检测结果来判定用户数据节点2是否为可用的数据节点。其中,在检测结果为用户数据节点2的连接异常和/或存储于用户数据节点2的数据异常的情况下,均判定用户数据节点2为不可用的数据节点。在该应用场景下,数据处理系统300需要根据路由表确定与用户数据节点2距离最近的第三用户数据节点。其中,数据处理系统300例如可以根据最短路径算法和路由表中的路由地址信息,从用户数据节点3~n中选择一个距离用户数据节点2最近的第三用户数据节点(例如用户数据节点3)。最后,数据处理系统300将第二数据同步至用户数据节点3,并更新存储于数据处理系统300上的路由表。从而通过这种方式,不仅实现了存储有第二数据的用户数据节点为可用的、有效的数据节点,还保证了存储有第二数据的用户数据节点的数量达到预定数量。
此外,数据处理系统300在从用户数据节点2中读取第二数据失败的情况下,可以将一个数据获取失败的通知信息发送至用户110的终端设备210a,由终端设备210a根据最新的路由表确定距离最近的其他用户数据节点(例如用户数据节点5),并向数据处理系统300发送向用户数据节点5读取第二数据的读取请求,由数据处理系统300根据该读取请求执行相应的数据读取操作。或者,数据处理系统300在从用户数据节点2中读取第二数据失败的情况下,也可以直接根据最新的路由表,自动从距离最近的其他用户数据节点(例如用户数据节点6)中读取第二数据,并将读取到的第二数据发送至用户110的终端设备210a。从而实现了数据的灵活读取。
可选地,该方法还包括:根据路由表,从多个用户数据节点中确定预定数量的多个备份用户数据节点;以及将第一数据同步至多个备份用户数据节点。
具体地,为了保证第一数据的读取者能够快速地、成功地从相应的用户数据节点中读取第一数据,在将第一数据同步至用户数据节点2之后,数据处理系统300还需要将第一数据分发至预定数量的多个备份用户数据节点。因此,数据处理系统300还需要根据路由表,从多个用户数据节点(用户数据节点3~n) 中确定预定数据的多个备份用户数据节点(例如用户数据节点3~12),然后将第一数据同步至用户数据节点3~12。从而,在读取者想要读取第一数据的情况下,可以根据最新的路由表从存储有第一数据的多个用户数据节点(包括用户数据节点2~12)中选择一个最近的用户数据节点读取第一数据,从而保证了第一数据的快速读取。并且,在从最近的用户数据节点读取第一数据失败的情况下,还可以从存储有第一数据的其他用户数据节点读取第一数据,从而保证了第一数据的成功读取。此外,在数据处理系统300完成多个备份用户数据节点的数据同步操作之后,还需要更新存储于数据处理系统300上的路由表,从而保证存储于数据处理系统300上的路由表的最新性和完整性。
可选地,该方法还包括:从第一终端设备接收第一用户数据节点的创建请求,其中创建请求包括第一用户输入的与第一用户数据节点相关的节点数据空间、节点网速以及节点有效时段;响应于创建请求,判定第一用户是否符合预设的数据节点创建条件;以及在判定第一用户符合预设的数据节点创建条件的情况下,在第一终端设备上创建第一用户数据节点。
具体地,在用户110想要将自身的终端设备(例如终端设备210a)的一部分数据空间当做一个本地的用户数据节点来使用的情况下,用户110可以通过终端设备210a向数据处理系统300提出一个创建本地的用户数据节点(对应于第一用户数据节点)的创建请求。并且,在第一用户数据节点的创建过程中,用户110需要定义节点数据空间、节点网速以及节点有效时段等信息。此时,数据处理系统300从终端设备210a接收第一用户数据节点的创建请求。其中,创建请求包括用户110输入的与第一用户数据节点相关的节点数据空间、节点网速以及节点有效时段等信息。然后,数据处理系统300响应于创建请求,判定用户110是否符合预设的数据节点创建条件。最后,数据处理系统300在判定用户110符合预设的数据节点创建条件的情况下,在终端设备210a上创建第一用户数据节点。通过这种方式,实现了第一用户数据节点的合理性创建,保证了所创建的第一用户数据节点能够正常使用。
其中,预设的数据节点创建条件例如包括以下两个条件:1)创建者需要拥有客户端的公钥(包括用户登录公钥和用户加密公钥)及服务端的私钥使用权限;2)创建者拥有用户登录密码和数据管理密码。其中数据管理密码为数据的发布者设置的用于对服务端的私钥使用权限进行加密的密码,数据的读取者在输入相应的数据管理密码后才拥有服务端的私钥的使用权。服务端的私钥使用权限为在发布的数据为使用数据管理密码加密后的数据的情况下,数据的读取者拥有对应的数据管理密码时才拥有服务端的私钥使用权限,在拥有服务端的私钥使用权限的情况下,数据处理系统300才能够使用对应的数据加密私钥对存储的数据进行解密后返回给读取者的终端设备。
可选地,该方法还包括:从第一终端设备接收与第一用户数据节点的节点数据空间对应的设置请求,其中设置请求包括用于存储用户私人数据的存储空间大小信息以及用于存储用户公开数据和他人发布数据的存储空间大小信息;以及响应于设置请求,将第一用户数据节点划分为对应大小的私人数据空间和公开数据空间,其中私人数据空间用于存储用户私人数据,公开数据空间用于存储用户公开数据和他人发布数据。
具体地,用户110可以根据实际使用需求设置第一用户数据节点的私人空间大小和公开空间大小。用户110可以通过向终端设备210a输入用于存储用户私人数据的存储空间大小以及用于存储用户公开数据和他人发布数据的存储空间大小,由终端设备210a将与第一用户数据节点的节点数据空间对应的设置请求发送至数据处理系统300。其中,设置请求包括用于存储用户私人数据的存储空间大小信息以及用于存储用户公开数据和他人发布数据的存储空间大小信息。此时,数据处理系统300响应于设置请求,将第一用户数据节点划分为对应大小的私人数据空间和公开数据空间。其中私人数据空间用于存储用户私人数据,公开数据空间用于存储用户公开数据和他人发布数据。从而,通过这种方式,用户110可以根据实际需求灵活设置其本地的用户数据节点的私人空间大小和公开空间大小。
可选地,该方法还包括:从第一终端设备接收用户登录证书和数据加密证书的申请请求,其中第一用户为已注册用户;响应于申请请求,生成与用户登录证书对应的用户登录公钥和用户登录私钥以及与数据加密证书对应的第一数据加密公钥和第一数据加密私钥;以及将用户登录公钥和第一数据加密公钥发送至第一终端设备,并将用户登录私钥和第一数据加密私钥存储于数据处理系统。
具体地,由于用户本地的数据节点的创建条件为用户必须拥有客户端的公钥(包括用户登录公钥和用户加密公钥)、服务端的私钥使用权限以及用户登录密码和数据管理密码,因此用户110在完成用户注册的情况下,通过终端设备210a向数据处理系统300发送申请用户登录证书和数据加密证书的申请请求。此时,数据处理系统300从终端设备210a接收该申请请求,并响应于申请请求,生成与用户登录证书对应的用户登录公钥和用户登录私钥,生成与数据加密证书对应的第一数据加密公钥和第一数据加密私钥。最后,数据处理系统 300将用户登录公钥和第一数据加密公钥发送至终端设备210a,并将用户登录私钥和第一数据加密私钥存储于数据处理系统300上。从而,为用户110能够成功创建本地的用户数据节点提供了基础。并且,用户110在将数据录入本地的用户数据节点的过程中,可以使用第一数据加密公钥对数据进行加密后再存储至本地的用户数据节点的私人数据空间中,实现了可私有化管理个人保密数据的目的。
此外,由于数据都是使用用户个人的数据加密公钥进行加密处理的,在不进行任何数据分发的情况下,保证个人数据只有一份进行存储,即存储于用户本地的用户数据节点中,只能本人对其数据进行编辑与更新,他人只能读取。并且,用户可以公开发布使用用户个人的数据加密公钥进行加密处理后的数据,也可以使用数据管理密码对数据进行二次加密处理后再发布。
可选地,该方法还包括:从第一终端设备接收用户登录请求,其中用户登录请求包括经用户登录公钥加密后的用户登录信息,用户登录信息包括用户名和用户登录密码;响应于用户登录请求,使用用户登录私钥对用户登录信息进行解密,得到用户名和用户登录密码;以及根据解密得到的用户名和用户登录密码,执行相应的用户登录操作。
具体地,为了防止用户110在登录过程中造成用户登录信息的泄露,在登录过程中,用户110可以通过终端设备210a使用用户登录公钥将用户110的用户登录信息(包括用户名和用户登录密码)进行加密后再发送至数据处理系统300。从而,数据处理系统300接收包括经用户登录公钥加密后的用户登录信息的用户登录请求。然后数据处理系统300响应于用户登录请求,使用用户登录私钥对用户登录信息进行解密,得到用户110的用户名和用户登录密码。最后,数据处理系统300根据解密得到的用户名和用户登录密码,执行相应的用户登录操作。通过这种方式,实现了用户成功登录的同时还保障了数据传输过程中用户登录信息的安全性。
此外,数据处理系统300一般性地包括用户接入子系统、用户创建数据节点子系统、数据发布子系统、数据操作子系统以及数据分发子系统。其中,用户接入子系统用于为用户提供注册、实名验证和登录等服务,用户创建数据节点子系统用于为用户提供创建本地的用户数据节点的创建服务,数据发布子系统用于为用户提供数据发布服务,数据操作子系统用于为用户提供数据读写或者读取服务,数据分发子系统用于将用户发布的数据分发至预定数量的用户数据节点。
其中,在用户接入子系统中实现用户注册的具体操作步骤如下:
1)在用户注册过程中,用户通过终端设备的浏览器进入数据处理系统,在用户接入子系统中输入用户名、身份身份证信息进行注册;
2)用户接入子系统接收到与注册相关的用户信息(用户名和用户身份证信息)后,查询该用户信息是否已存在;
3)用户接入子系统在判定用户已存在的情况下,返回用户已注册的提示信息至用户的终端设备;用户接入子系统在判定用户不存在的情况下,执行与该用户对应的注册操作,即用户向终端设备输入用户名、用户登录密码和数据管理密码,并发送至用户接入子系统,由用户接入子系统完成用户注册操作。
在用户接入子系统中申请用户登录证书和数据加密证书的具体操作步骤如下:
1)用户申请证书过程中,在完成用户注册的情况下,用户通过终端设备向用户接入子系统发送申请用户登录证书和数据加密证书的申请请求;
2)用户接入子系统响应于该申请请求,生成与用户关联的一对用户登录公私钥和一对数据加密公私钥;
3)用户接入子系统将用户登录公钥和数据加密公钥发送至用户的终端设备,将用户登录私钥和数据加密私钥存储于数据处理系统中。
在用户接入子系统中进行实名认证的具体操作步骤如下:
1)在用户实名认证过程中,用户向终端设备输入用户登录密码、用户名和用户身份证信息,并利用视频技术进行实名认证;
2)用户接入子系统接收用户登录密码、用户名和用户身份证信息后,对用户进行实名认证后,将用户状态修改为已实名状态。
在用户接入子系统中进行用户登录的具体操作步骤如下:
1)在用户登录过程中,用户向终端设备输入包括用户名和用户登录密码的登录信息,终端设备使用用户登录公钥对登录信息进行加密后发送至用户接入子系统;
2)用户接入子系统从终端设备接收加密后的登录信息,使用用户登录私钥对登录信息进行解密后,进行用户登录密码的校验,并在校验用户登录密码准确的情况下,执行相应的用户登录操作。
进一步地,在用户创建数据节点子系统中创建用户数据节点的具体操作步骤如下:
1)在用户创建数据节点过程中,用户通过终端设备的浏览器进入用户创建数据节点子系统,在用户创建数据节点子系统中输入与待创建的用户数据节点相关包括用户节点空间、网速和有效时段等信息的数据节点信息;
2)用户创建数据节点子系统接收到与待创建的用户数据节点相关的数据节点信息后,判定用户是否符合预设的创建条件,并在符合预设的创建条件的情况下创建用户数据节点;
3)用户创建数据节点子系统在完成用户数据节点的创建后,通过节点检测服务,对用户数据节点进行检测;
4)完成检测后的用户数据节点,通过本地路由表,找到最近的其他用户数据节点,进行数据同步处理。
其中,预设的创建条件是:(1)用户拥有客户端的公钥(包括用户登录公钥和用户加密公钥)及服务端的私钥使用权限;(2)用户拥有用户登录密码和数据管理密码,其中该数据管理密码为用户设置的用于对私钥使用权限进行加密的密码,用户在输入相应的数据管理密码后才拥有服务端的私钥的使用权。
用户设置本地的用户数据节点的私人空间大小和公开空间大小的具体操作步骤如下:
1)用户向终端设备输入私人数据空间的空间大小和公开数据空间的空间大小;
2)终端设备根据用户输入的私人数据空间的空间大小和公开数据空间的空间大小,将用户数据节点划分为相应大小的私人数据空间和公开数据空间。其中私人数据空间用于存储用户的私人数据,公开数据空间用于存储用户公开的数据和其他用户发布的数据。
在数据发布子系统中发布数据的具体操作步骤如下:
1)用户向终端设备录入数据后,终端设备使用数据加密私钥对数据进行加密后将数据保存到用户数据节点的私人数据空间中;
2)用户发布数据的过程中,通过终端设备进入数据发布子系统,在数据发布子系统中输入发布数据的发布指令;
3)数据发布子系统通过本地的最新路由表查找最近的其他用户的目标用户数据节点,并进行连通后,将数据同步至查找到的目标用户数据节点;
4)在数据同步成功的情况下,数据发布子系统会向数据处理系统的中心服务器进行路由表的更新,并将最新的路由表返回用户的用户数据节点;在数据同步失败的情况下,数据发布子系统选择其他用户数据节点进行数据同步,并在数据同步成功的情况下,执行上述的路由表更新操作。
在数据操作子系统中操作本地的用户数据节点中的个人数据的具体操作步骤如下:
1)在用户对自己的用户数据节点进行操作的过程中,用户通过其终端设备的浏览器进入用户接入子系统进行本地登录后,进入数据操作子系统;或者,用户通过他人终端设备的浏览器进入用户接入子系统进行异地登录后,下载用户自己的用户数据节点,并进行本地映射后进入数据操作子系统;
2)用户在数据操作子系统中通过点对点的协议对用户数据节点中的个人数据进行读写操作。
在数据操作子系统中操作他人的用户数据节点中的数据的具体操作步骤如下:
1)在用户对他人的用户数据节点进行操作的过程中,用户通过其终端设备的浏览器进入用户接入子系统进行本地登录后进入数据操作子系统;或者,用户通过他人终端设备的浏览器进入用户接入子系统进行异地登录后,下载用户自己的用户数据节点,并进行本地映射后进入数据操作子系统;
2)用户在数据操作子系统中搜索路由表信息,根据路由表信息和最近路径算法,找到最近的可用的用户数据节点,从找到的用户数据节点中读取数据。
其中,可用的用户数据节点分为免费的用户数据节点和加密的用户数据节点,免费的用户数据节点可以直接访问并读取数据。加密的用户数据节点需要输入相应的数据管理密码后才可以访问并读取数据,并且他人的用户数据节点中的数据只能读取,不能修改。
在数据分发子系统中分发数据的一个具体操作步骤如下:
1)用户通过终端设备进入数据分发子系统,在数据分发子系统中发布数据;
2)数据分发子系统接收用户发布的数据,并根据预设的规则,将数据分发至预定数量的作为有效数据节点的其他用户数据节点,并更新中心服务器的路由表。
在数据分发子系统中分发数据的另一个具体操作步骤如下:
1)在向目标用户数据节点获取目标数据失败的情况下,由数据分发子系统根据预设的规则(存储有某一数据的用户数据节点为有效数据节点并且数量达到预定阈值),对目标用户数据节点进行连接检测、数据检测等操作;
2)数据分发子系统在判断该目标用户数据节点不可用时,下线此节点,并根据最新路由表查找最近的其他用户数据节点;
3)数据分发子系统将存储于此目标用户数据节点的公开数据空间中的数据同步至最近的其他用户数据节点,并更新中心服务器的路由表。
从而,本申请所提出的数据处理方法可以实现以下有益效果:
1)数据存储本地化:可私有化管理个人保密数据,数据都是用个人的数据加密公钥进行加密处理的,不进行任何分发,保证个人数据只有一份进行存储。并且只能本人对数据进行编辑与更新;
2)资料数据存储公开化:用户可以公开发布资料数据或者业务数据,也可以进行加密处理后再发布;
3)对于发布的数据,可以被互联网应用进行引用;
4)用户也可以通过此数据完成用户注册、用户信息、用户认证等授权,也可以随时取消授权以及中断数据的引用,保证数据的隐私。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图5示出了根据本实施例所述的数据处理装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:发布请求接收模块510,用于从第一用户的第一终端设备接收第一数据的发布请求,其中第一用户关联有设置于终端设备上的第一用户数据节点,并且第一数据存储于第一用户数据节点;路由表获取模块520,用于响应于发布请求,获取存储于数据处理系统上的路由表,其中路由表包括设置有用户数据节点的各个终端设备的路由地址信息;节点确定模块530,用于根据路由表,从多个用户数据节点中确定目标用户数据节点,其中多个用户数据节点分别设置于多个终端设备上;以及第一同步模块540,用于将第一数据同步至目标用户数据节点。
可选地,第一同步模块540包括:获取子模块,用于获取与目标用户数据节点关联的目标用户对应的第一数据加密公钥,其中与第一数据加密公钥对应的第一数据加密私钥存储于数据处理系统;加密子模块,用于使用第一数据加密公钥对第一数据进行加密;以及同步子模块,用于将加密后的第一数据同步至目标用户数据节点。
可选地,第一同步模块540还包括:设置指令接收子模块,用于从第一终端设备接收基于第一数据管理密码设置第一数据的访问权限的设置指令,其中第一数据管理密码为第一用户设置的用于管理第一数据的访问权限的管理密码;以及访问密码设置子模块,用于响应于设置指令,将第一数据管理密码设置为加密后的第一数据的访问密码。
可选地,装置500还包括:第一更新模块,用于在成功将第一数据同步至目标用户数据节点的情况下,更新存储于数据处理系统上的路由表,并将更新后的路由表同步至第一用户数据节点,其中路由表还包括与存储有各个数据的用户数据节点对应的终端设备的路由地址信息;以及第二同步模块,用于在无法成功将第一数据同步至目标用户数据节点的情况下,从多个用户数据节点中确定其他用户数据节点,并将第一数据同步至其他用户数据节点。
可选地,装置500还包括:读取请求接收模块,用于从第一终端设备接收向第二用户数据节点读取第二数据的读取请求,其中第一终端设备响应于第一用户输入的第二数据的读取指令,根据向数据处理系统获取到的最新的路由表,从多个候选用户数据节点中确定第二用户数据节点并生成读取请求,其中多个候选用户数据节点上均存储有第二数据;以及读取模块,用于响应于读取请求,从第二用户数据节点中读取第二数据,并将读取到的第二数据发送至第一终端设备。
可选地,第二数据预先设置有对应的访问密码,其中与第二数据对应的访问密码为第二用户基于第二数据管理密码设置第二数据的访问权限而生成的,第二数据管理密码为第二数据的发布者设置的用于管理第二数据的访问权限的管理密码,第二用户为第二数据的发布者;并且读取模块包括:读取子模块,用于在从第一终端设备接收到的访问密码与第二数据管理密码一致的情况下,从第二用户数据节点中读取加密后的第二数据,其中加密后的第二数据为使用与第二用户对应的第二数据加密公钥进行加密后得到的数据,并且与第二数据加密公钥对应的第二数据加密私钥存储于数据处理系统;以及解密子模块,用于使用第二数据加密私钥对加密后的第二数据进行解密,并将解密后的第二数据发送至第一终端设备。
可选地,装置500还包括:检测模块,用于在从第二用户数据节点中读取第二数据失败的情况下,对第二用户数据节点进行检测,并根据检测结果判定第二用户数据节点是否为可用的数据节点;第三用户数据节点确定模块,用于在判定第二用户数据节点为不可用的数据节点的情况下,根据路由表确定与第二用户数据节点距离最近的第三用户数据节点;以及第三同步模块,用于将第二数据同步至第三用户数据节点,并更新存储于数据处理系统上的路由表。
可选地,装置500还包括:备份用户数据节点确定模块,用于根据路由表,从多个用户数据节点中确定预定数量的多个备份用户数据节点;以及第四同步模块,用于将第一数据同步至多个备份用户数据节点。
可选地,装置500还包括:创建请求接收模块,用于从第一终端设备接收第一用户数据节点的创建请求,其中创建请求包括第一用户输入的与第一用户数据节点相关的节点数据空间、节点网速以及节点有效时段;判定模块,用于响应于创建请求,判定第一用户是否符合预设的数据节点创建条件;以及创建模块,用于在判定第一用户符合预设的数据节点创建条件的情况下,在第一终端设备上创建第一用户数据节点。
可选地,装置500还包括:设置请求接收模块,用于从第一终端设备接收与第一用户数据节点的节点数据空间对应的设置请求,其中设置请求包括用于存储用户私人数据的存储空间大小信息以及用于存储用户公开数据和他人发布数据的存储空间大小信息;以及空间划分模块,用于响应于设置请求,将第一用户数据节点划分为对应大小的私人数据空间和公开数据空间,其中私人数据空间用于存储用户私人数据,公开数据空间用于存储用户公开数据和他人发布数据。
可选地,装置500还包括:申请请求接收模块,用于从第一终端设备接收用户登录证书和数据加密证书的申请请求,其中第一用户为已注册用户;生成模块,用于响应于申请请求,生成与用户登录证书对应的用户登录公钥和用户登录私钥以及与数据加密证书对应的第一数据加密公钥和第一数据加密私钥;以及发送模块,用于将用户登录公钥和第一数据加密公钥发送至第一终端设备,并将用户登录私钥和第一数据加密私钥存储于数据处理系统。
可选地,装置500还包括:用户登录请求接收模块,用于从第一终端设备接收用户登录请求,其中用户登录请求包括经用户登录公钥加密后的用户登录信息,用户登录信息包括用户名和用户登录密码;用户登录信息解密模块,用于响应于用户登录请求,使用用户登录私钥对用户登录信息进行解密,得到用户名和用户登录密码;以及登录模块,用于根据解密得到的用户名和用户登录密码,执行相应的用户登录操作。
从而根据本实施例,数据处理系统在接收到用户通过终端设备发送的针对存储于用户本地的用户数据节点中的数据进行发布的发布请求时,首先获取存储在数据处理系统上的路由表。由于路由表包括设置有用户数据节点的各个终端设备的路由地址信息,因此数据处理系统可以根据路由表,从多个用户数据节点中确定一个用于存储所发布的数据的目标用户数据节点,最后将所发布的数据同步至目标用户数据节点。从而通过这种方式,由于不再将各个用户发布的数据集中存储于数据库服务器上,而是合理利用用户的终端设备上的数据存储空间,将用户的终端设备上的数据存储空间设置为用户本地的用户数据节点,由数据处理系统将数据存储至设置于各个终端设备上的用户数据节点中,数据库服务器则用于存储包括设置有用户数据节点的各个终端设备的路由地址信息的路由表。并且,对于发布后的数据,在需要对其进行查阅或者引用过程中,各个互联网应用均可以向存储有相应数据的用户数据节点读取数据。从而大大减轻了数据库服务器的存储压力,有效降低了数据存储成本。进而解决了现有技术中存在的采用将所有的用户数据都集中存储至数据库服务器的数据存储方式,数据库服务器的存储压力大、存储成本高的技术问题。
实施例3
图6示出了根据本实施例所述的数据处理装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:处理器610;以及存储器620,与处理器610连接,用于为处理器610提供处理以下处理步骤的指令:从第一用户的第一终端设备接收第一数据的发布请求,其中第一用户关联有设置于终端设备上的第一用户数据节点,并且第一数据存储于第一用户数据节点;响应于发布请求,获取存储于数据处理系统上的路由表,其中路由表包括设置有用户数据节点的各个终端设备的路由地址信息;根据路由表,从多个用户数据节点中确定目标用户数据节点,其中多个用户数据节点分别设置于多个终端设备上;以及将第一数据同步至目标用户数据节点。
可选地,将第一数据同步至目标用户数据节点的操作,包括:获取与目标用户数据节点关联的目标用户对应的第一数据加密公钥,其中与第一数据加密公钥对应的第一数据加密私钥存储于数据处理系统;使用第一数据加密公钥对第一数据进行加密;以及将加密后的第一数据同步至目标用户数据节点。
可选地,将第一数据同步至目标用户数据节点的操作,还包括:从第一终端设备接收基于第一数据管理密码设置第一数据的访问权限的设置指令,其中第一数据管理密码为第一用户设置的用于管理第一数据的访问权限的管理密码;以及响应于设置指令,将第一数据管理密码设置为加密后的第一数据的访问密码。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:在成功将第一数据同步至目标用户数据节点的情况下,更新存储于数据处理系统上的路由表,并将更新后的路由表同步至第一用户数据节点,其中路由表还包括与存储有各个数据的用户数据节点对应的终端设备的路由地址信息;以及在无法成功将第一数据同步至目标用户数据节点的情况下,从多个用户数据节点中确定其他用户数据节点,并将第一数据同步至其他用户数据节点。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:从第一终端设备接收向第二用户数据节点读取第二数据的读取请求,其中第一终端设备响应于第一用户输入的第二数据的读取指令,根据向数据处理系统获取到的最新的路由表,从多个候选用户数据节点中确定第二用户数据节点并生成读取请求,其中多个候选用户数据节点上均存储有第二数据;以及响应于读取请求,从第二用户数据节点中读取第二数据,并将读取到的第二数据发送至第一终端设备。
可选地,第二数据预先设置有对应的访问密码,其中与第二数据对应的访问密码为第二用户基于第二数据管理密码设置第二数据的访问权限而生成的,第二数据管理密码为第二数据的发布者设置的用于管理第二数据的访问权限的管理密码,第二用户为第二数据的发布者;并且响应于读取请求,从第二用户数据节点中读取第二数据的操作,包括:在从第一终端设备接收到的访问密码与第二数据管理密码一致的情况下,从第二用户数据节点中读取加密后的第二数据,其中加密后的第二数据为使用与第二用户对应的第二数据加密公钥进行加密后得到的数据,并且与第二数据加密公钥对应的第二数据加密私钥存储于数据处理系统;以及使用第二数据加密私钥对加密后的第二数据进行解密,并将解密后的第二数据发送至第一终端设备。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:在从第二用户数据节点中读取第二数据失败的情况下,对第二用户数据节点进行检测,并根据检测结果判定第二用户数据节点是否为可用的数据节点;在判定第二用户数据节点为不可用的数据节点的情况下,根据路由表确定与第二用户数据节点距离最近的第三用户数据节点;以及将第二数据同步至第三用户数据节点,并更新存储于数据处理系统上的路由表。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:根据路由表,从多个用户数据节点中确定预定数量的多个备份用户数据节点;以及将第一数据同步至多个备份用户数据节点。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:从第一终端设备接收第一用户数据节点的创建请求,其中创建请求包括第一用户输入的与第一用户数据节点相关的节点数据空间、节点网速以及节点有效时段;响应于创建请求,判定第一用户是否符合预设的数据节点创建条件;以及在判定第一用户符合预设的数据节点创建条件的情况下,在第一终端设备上创建第一用户数据节点。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:从第一终端设备接收与第一用户数据节点的节点数据空间对应的设置请求,其中设置请求包括用于存储用户私人数据的存储空间大小信息以及用于存储用户公开数据和他人发布数据的存储空间大小信息;以及响应于设置请求,将第一用户数据节点划分为对应大小的私人数据空间和公开数据空间,其中私人数据空间用于存储用户私人数据,公开数据空间用于存储用户公开数据和他人发布数据。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:从第一终端设备接收用户登录证书和数据加密证书的申请请求,其中第一用户为已注册用户;响应于申请请求,生成与用户登录证书对应的用户登录公钥和用户登录私钥以及与数据加密证书对应的第一数据加密公钥和第一数据加密私钥;以及将用户登录公钥和第一数据加密公钥发送至第一终端设备,并将用户登录私钥和第一数据加密私钥存储于数据处理系统。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:从第一终端设备接收用户登录请求,其中用户登录请求包括经用户登录公钥加密后的用户登录信息,用户登录信息包括用户名和用户登录密码;响应于用户登录请求,使用用户登录私钥对用户登录信息进行解密,得到用户名和用户登录密码;以及根据解密得到的用户名和用户登录密码,执行相应的用户登录操作。
从而根据本实施例,数据处理系统在接收到用户通过终端设备发送的针对存储于用户本地的用户数据节点中的数据进行发布的发布请求时,首先获取存储在数据处理系统上的路由表。由于路由表包括设置有用户数据节点的各个终端设备的路由地址信息,因此数据处理系统可以根据路由表,从多个用户数据节点中确定一个用于存储所发布的数据的目标用户数据节点,最后将所发布的数据同步至目标用户数据节点。从而通过这种方式,由于不再将各个用户发布的数据集中存储于数据库服务器上,而是合理利用用户的终端设备上的数据存储空间,将用户的终端设备上的数据存储空间设置为用户本地的用户数据节点,由数据处理系统将数据存储至设置于各个终端设备上的用户数据节点中,数据库服务器则用于存储包括设置有用户数据节点的各个终端设备的路由地址信息的路由表。并且,对于发布后的数据,在需要对其进行查阅或者引用过程中,各个互联网应用均可以向存储有相应数据的用户数据节点读取数据。从而大大减轻了数据库服务器的存储压力,有效降低了数据存储成本。进而解决了现有技术中存在的采用将所有的用户数据都集中存储至数据库服务器的数据存储方式,数据库服务器的存储压力大、存储成本高的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器 (RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。