计算机系统、数据控制方法及存储介质
文献发布时间:2023-06-19 11:54:11
相关申请的交叉引用
本申请主张2019年9月25日提出的日本专利申请第2019-174473号的优先权,这里通过参照其内容而纳入本申请中。
技术领域
本发明涉及在多个据点间进行数据的交换的计算机系统。
背景技术
随着IoT(Internet of Things,物联网)的普及,与网络连接的设备急剧增加。经由从这些设备将数据进行收集、分析、可视化的数据处理而带来既有作业的高效化、高精度化及创造新服务的活动在活跃化。
在产业领域中,IoT技术的应用也在加快,研究或安装了在全球展开设备的监视及控制、产品的品质管理及作业员的作业管理、以及跟踪或工程的优化等各种数据处理的方法。
另一方面,近年来,地区或国家等通过法令等关于数据流通设置限制的例子在增加,例如已知有欧洲的GDPR(General Data Protection Regulation,通用数据保护条例)及中国的服务器安全法等。
这些限制以个人信息的保护及犯罪行为的制止等为目的,除了数据的保护以外,还已知有根据数据的种类禁止向国外等发送的规定。可以想到今后在各个国家或地区设定关于数据流通的限制,但关于被限制的数据的种类等,根据地区及国家而不一样。
在进行将利用IoT在全球展开的设备的数据收集、加工、分析及可视化的处理的情况下,需要考虑上述那样的国家或地区规定的关于数据流通的限制。
作为考虑到对数据进行处理的场所的例子,已知有专利文献1。专利文献1公开了如下技术:在将构成应用的处理节点部署到多个地点之前取得对怎样的数据进行处理,考虑在各地点能够处理的数据来判定能否部署,在进行了部署的地点进行处理的技术。
现有技术文献
专利文献
专利文献1:国际公开第2017/089943号
发明内容
发明要解决的课题
在上述专利文献1中,公开了部署到能够对在应用的处理中利用的数据进行处理的地点。但是,当处理在全球展开的设备的数据的情况下,需要在全部的地点进行数据的处理,有不能如专利文献1那样维持不实施部署的地点的问题。
此外,在上述的关于数据流通的限制中,根据进行数据处理的据点的场所(国家或地区),被禁止向国外(或地区外)发送的数据的种类不同。例如,关于由卫星测位系统GNSS(Global Navigation Satellite System)测量的位置信息,在日本能够将卫星的测位信息向国外发送,但在中国通过服务器安全法禁止了向国外发送位置信息。
在开发及运用进行将在全球展开的设备的数据收集、加工、分析等处理的应用的情况下,需要对照进行数据处理的据点所属的国家或地区的法令来研究从据点向国外发送的数据的种类。
另外,以下关于“据点”,定义为在各地区的法律或组织内的规则之中、在某相同的规则中能够自由地共享数据的集团或组织、国家、地区等单位。
但是,应用的开发担当者等要按展开应用的每个据点来解释法令等并判定能够从据点内向据点外发送的数据的种类会需要大量的劳力,有应用的开发成本增大的问题。
所以,本发明是鉴于上述问题而做出的,目的是在多个据点展开的应用要从据点向外部发送数据的情况下能够进行能否发送的容易的判定。
用来解决课题的手段
本发明的一技术方案,是一种计算机系统,在具有包括处理器和存储器的计算机的多个据点之间对数据进行处理,其特征在于,上述计算机具有:应用,对数据进行规定的处理;执行管理部,管理上述应用的执行;以及数据交接策略,针对上述应用的处理结果的数据,预先设定了能否向外部发送;上述执行管理部生成上述应用在执行中使用的数据的信息作为发送数据信息,对于上述发送数据信息的数据适用上述数据交接策略,判定能否向上述据点的外部发送。
根据上述技术方案,针对为跨多个据点收发数据而展开的应用,通过管理应用的执行的执行管理部,在向外部发送数据时,能够参照数据交接策略而自动地判定被禁止发送的数据。此外,能够将被禁止发送的数据自动地替换为伪数据。
因此,应用的开发者等不需要事前按每个据点解释法令等,能够实现高效的应用的开发及执行。
发明效果
根据本发明,能够容易地判定能否向据点外发送数据。
在本说明书中公开的主题的至少一个具体实施方式的详细情况被记载在附图和以下的记述之中。本发明的主题的其他的特征、形态、效果根据以下的公开、附图、权利要求书会变得更加清楚。
附图说明
图1表示本发明的实施例,是表示展开应用的据点的一例的图。
图2表示本发明的实施例,是表示开发及运行应用的据点的计算机系统的结构的一例的框图。
图3表示本发明的实施例,是表示开发服务器的结构的一例的框图。
图4表示本发明的实施例,是表示应用服务器的结构的一例的框图。
图5表示本发明的实施例,是表示计算机系统的层级构造和数据交接策略323的关系的一例的图。
图6表示本发明的实施例,是表示通信路径和所适用的策略的一例的图。
图7A表示本发明的实施例,是表示数据交接策略的一例的图。
图7B表示本发明的实施例,是表示数据交接策略的另一例的图。
图8表示本发明的实施例,是表示由计算机系统进行的处理的一例的顺序图。
图9表示本发明的实施例,是表示由应用执行部进行的处理的一例的流程图。
图10表示本发明的实施例,是表示由过滤判定部进行的处理的一例的流程图。
图11表示本发明的实施例,是表示由过滤结果反映部进行的处理的一例的流程图。
图12表示本发明的实施例,是表示标签信息的一例的图。
图13表示本发明的实施例,是表示策略编辑画面的一例的图。
图14表示本发明的实施例,是表示数据发送目的地的选择画面的一例的图。
图15表示本发明的实施例,是表示由应用执行部进行的标签的继承处理的一例的图。
具体实施方式
以下,基于附图说明本发明的实施方式。
[实施例1]
图1是表示展开应用的据点的一例的图。在地球上的各地区或国家中设置据点100-A~100-G,按各据点配置的应用服务器120经由网络130相互连接而工作。另外,在以下的说明中,在不单独指定据点的情况下,使用将“-”以后的部分省略的标号“100”。关于其他的构成要素的标号也是同样的。
在各据点100中,应用服务器120连接到多个边缘服务器110,应用服务器120取得由各边缘服务器110管理的设备的数据,实施数据处理。应用服务器120执行在各据点100中共同的应用,执行数据处理。作为数据处理的内容,例如从由边缘服务器110管理的设备收集数据,进行收集到的数据的分析及可视化。
在各据点100进行的数据处理也可以在各据点100间分担处理。例如,可以对于据点100-A的设备的数据,在据点100-E处理,将据点100-E的处理结果向据点100-F发送,在据点100-F再施以可视化等加工,将结果向据点100-A发送。另外,也可以将在各据点100处理的结果向一个据点100-A发送,由据点100-A的应用服务器120处理从各据点100接收到的数据。
另外,据点100包括输出数据的设备(device)、将设备输出的数据进行中继的边缘服务器110、和从边缘服务器110取得数据并进行规定的处理的应用服务器120。另外,在据点100中并不一定需要包括输出数据的设备(device)、边缘服务器110,例如也可以考虑自从这些设备得到的数据进入到数据库服务器140中的状态起进行数据处理的应用。此外,只要在多个据点100中的1个以上的据点100设置开发服务器301就可以。
图2是表示开发及运行应用的各据点100中的计算机系统的结构的一例的框图。据点100-A包括应用服务器120-A、开发服务器301、数据库服务器140-A和边缘服务器110-A,经由内部网络150-A而与其他应用服务器120连接。
据点100-N除了开发服务器301以外与据点100-A是同样的,包括应用服务器120-N、数据库服务器140-N和边缘服务器110-N,经由内部网络150-N而与其他应用服务器120连接。
在开发服务器301中,开发由应用服务器120执行的应用,向各据点100部署。另外,在图示的例子中,表示将开发服务器301仅配置在据点100-A的例子,但也可以在多个据点100配置开发服务器301。
应用服务器120执行从开发服务器301部署的应用,对从边缘服务器110取得的设备的数据执行规定的处理,将执行结果向其他应用服务器120发送。
图3是表示开发服务器301的结构的一例的框图。开发服务器301是包括处理器313、存储装置311、输入输出接口312和输入输出装置314的计算机。
处理器313执行被装载到存储装置311中的程序。输入输出接口312被连接到内部网络150而与其他计算机进行通信。输入输出装置314包括作为输入装置的键盘及鼠标、和作为输出装置的显示器。
存储装置311包括易失性的存储介质(DRAM(Dynamic Random Access Memory等))和非易失性的存储介质(HDD、SSD等)。在存储装置311中,保存有开发对象的应用程序321、提供执行应用程序321的环境并管理应用程序321的执行的应用执行程序(执行管理部)322、用来开发应用程序321的开发工具327、将开发的应用程序321向各据点100部署的部署工具328、应用程序配置(config)325、应用执行程序配置326、数据交接策略323和替换用伪数据324。
在应用程序配置325中,保存用来执行应用程序321的信息。在应用执行程序配置326中,保存用来执行应用执行程序322的信息。
在数据交接策略323中,保存根据应用程序321工作的据点100、以数据标签和数据尺寸为判定材料、关于向其他国家或地区的数据发送进行警告、禁止、替换等处理的策略。在替换用伪数据324中,保存记述在数据交接策略323中的替换用的数据。
应用程序321包括多个处理“A”~“N”,如后述那样,能够与其他据点100的应用服务器120协同而实现多个处理。
应用执行程序322包括应用执行部331、过滤判定部332和过滤结果反映部333,对应用程序321的执行进行管理。
应用执行部331监视应用程序321的执行,如后述那样跟踪应用程序321利用的数据,判定在数据交接策略323中预先设定的被禁止向外部发送的数据,关于被禁止发送的数据,通过替换为替换用伪数据324,由据点100的外部的应用服务器120继续进行数据处理的协同。
过滤判定部332判定在应用程序321的执行结果中是否包含被禁止向其他据点100发送的数据。过滤判定部332读入数据交接策略323,基于反映了在执行应用程序321的据点100中适用的法令等的策略,判定向其他据点100发送的数据是否适当。
过滤判定部332在包含被禁止向其他据点100发送的数据的情况下,对于过滤结果反映部333发送判定结果和处理请求。在处理请求中,例如可以包括被禁止向国外发送的数据向规定的替换用伪数据324的替换。
过滤结果反映部333根据来自过滤判定部332的处理请求,将应用程序321向其他据点100发送的数据替换为替换用伪数据324、或经由应用程序321的开发工具327向开发担当者通知抵触法令等的数据的发送被阻挡。
应用执行程序322的应用执行部331、过滤判定部332和过滤结果反映部333的各功能部作为程序被装载到存储装置311中。
处理器313通过按照各功能部的程序执行处理,作为提供规定的功能的功能部而工作。例如,处理器313通过按照过滤判定程序执行处理,作为过滤判定部332发挥功能。关于其他程序也是同样的。进而,处理器313也作为提供各程序执行的多个处理各自的功能的功能部工作。计算机及计算机系统是包括这些功能部的装置及系统。
图4是表示应用服务器120-A的结构的一例的框图。关于其他据点100的应用服务器120也是同样的结构,所以重复的说明省略。
应用服务器120是包括处理器413、存储装置411、输入输出接口412和输入输出装置414的计算机。
处理器413执行被装载到存储装置411中的程序。输入输出接口412被连接到内部网络150而与其他计算机进行通信。输入输出装置414包括作为输入装置的键盘及鼠标、和作为输出装置的显示器。
存储装置411例如由DRAM等构成。在存储装置411中,保存有分散应用协调服务程序420、从开发服务器301部署的应用程序321、提供执行应用程序321的环境的应用执行程序322、应用程序配置325、应用执行程序配置326、数据交接策略323、替换用伪数据324、应用程序配置325和应用执行程序配置326。
被装载到应用服务器120的存储装置411中的程序及数据除了开发服务器301的开发工具327及部署工具328以外是同样的结构。即,应用程序321、应用执行程序322、数据交接策略323和替换用伪数据324等是从开发服务器301部署的软件。
另外,在应用服务器120中工作的分散应用协调服务程序420能够在各据点100间使应用程序321的多个处理“A”~“N”协调而工作。分散应用协调服务程序420可以包括共享设定功能、成员取得功能或分散锁定功能等。
分散应用协调服务程序420当使应用执行程序322作为跨据点100间的一个集群(cluster)动作时,共享相同的设定信息,或指定活动(active)的应用服务器120并用于连接应用程序321。另外,应用程序321可以在据点100间构成集群。
例如,据点100-A的应用服务器120执行包含在应用程序321中的处理“A”,将执行结果向据点100-B发送。在据点100-B中,基于接收到的处理“A”的执行结果,应用服务器120执行包含在应用程序321中的处理“F”,将执行结果向据点100-G发送。在据点100-G中,基于接收到的处理“F”的执行结果,应用服务器120执行包含在应用程序321中的处理“B”,将执行结果向各据点100分发。
如以上这样,分散应用协调服务程序420在据点100间使包含在应用程序321中的处理“A”~“N”分散而执行处理。分散应用协调服务程序420在预先设定的据点100间执行应用程序321的协同。
图3、图4所示的在开发应用程序321时使用的上述程序及数据等也可以分别从外部装置经由非暂时性的存储介质或通信线路被导入至存储装置311或411。
图5是表示参照计算机系统的层级构造和数据交接策略323的定时的一例的图。图5表示计算机系统所属的国家(或地区)与作为参照数据交接策略323的契机的边界(Border)的关系。
区域500-1、500-2由关于数据流通的限制(法令)等不同的多个据点(例如国家或地区)构成。计算机系统的层级构造如图5那样,例如图中第3段的层级是边缘服务器110的层级,图中第2段的层级是应用服务器120的层级,图中第1段的层级是国家或地区等的关于数据流通的限制等不同的层级。这样,用层级表现交换数据的国家或地区的关系性。
在区域500-1中,在包括应用服务器120的jp.cloud4内,连接着边缘服务器110的jp.cloud4.edge1。在区域500-1中,包括应用服务器120的us.cloud1和us.cloud2工作。并且,跨区域500-1和区域500-2的[us,jp].cloud3工作。这样,这里用“.”的表述来表现计算机系统所属的层级的边界,用“[A,B]”的表述来表现是属于A、B的多个区域的计算机系统。
应用服务器120参照数据交接策略323的定时,是越过层级而发送数据的定时。在数据交接策略323中,预先设定了在越过层级而发送数据时对数据的内容进行检查的策略。
例如,在从us.cloud1向[us,jp].cloud3发送数据的情况下,在图中S1和S2基于数据交接策略323检查数据。在图中S1中,首先数据从第2层级的us.cloud1向第1层级的us出来(out)。此时,us.cloud1检查在数据交接策略323中是否记载有“us.cloud1 out”的策略。另外,这里将从(n+1)层级向n层级的移动定义为out(出)。
在数据交接策略323中记载有“us.cloud1 out”的策略,并且在符合基于策略的处理(发送禁止、伪替换、警告等)的对象的数据的情况下,如后述那样,将所记载的策略的处理请求向过滤结果反映部333发送。
如果是没有被“us.cloud1 out”的策略限制的数据,则接着在图中S2,数据从第1层级的us向第2层级的[us,jp].cloud3进入(in)。另外,这里将从n层级向(n+1)层级的移动定义为in(进)。此时,us.cloud1检查在数据交接策略323中是否记载有“[us,jp].cloud3in”的策略、是否是基于策略的处理对象数据。
关于参照数据交接策略323检查数据的主体,由于需要在据点间交接数据之前进行检查,所以主体是输出数据的一侧的计算机系统(应用服务器120)。
同样,在从图中“us.cloud2”向“jp.cloud4.edge1”发送数据的情况下,以图中“us.cloud2”、“us”、[root]、“jp”、“jp.cloud4”、“jp.cloud4.edge1”的顺序,穿过多个区域间的层级。此时,在图中S11~S15,参照数据交接策略323进行数据的检查。
在S11,“us.cloud2”以数据交接策略323的“us.cloud2 out”检查数据。
在S12,“us.cloud2”以数据交接策略323的“us out”检查数据。
在S13,“us.cloud2”以数据交接策略323的“jp in”检查数据。
在S14,“us.cloud2”以数据交接策略323的“jp.cloud4 in”检查数据。
在S15,“jp.cloud4”以数据交接策略323的“jp.cloud4.edge1 in”检查数据。
如以上这样,在以in、out穿过区域间的层级的定时,发送数据的计算机系统(应用服务器120)参照数据交接策略323来判定该数据的替换的必要性。
另外,在上述的例子中,将从计算机系统(us.cloud1~jp.cloud4)穿过层级发送数据的定时在S12~S14中设为us.cloud2,在S15中设为jp.cloud4,但只要遵守在将数据交给发送目的地之前检查数据交接策略323的原则,则并不限定于此。例如,也可以是由us.cloud2实施S15中的数据交接策略323的检查的结构。
此外,上述的区域500不仅是国家或地区,也可以为关于数据流通的限制不同的区域。例如,只要在社内的通信和与社外的通信等穿过关于数据流通的限制(规则)变化的边界的定时参照数据交接策略323就可以。此外,据点100的外部可以设为关于数据流通的限制与该据点所属的区域500不同的区域。
此外,上述的区域500也可以设为作为地区的国家的集合、或县、州等,能够以各自的法令、条例或州法等进行关于数据流通的限制的区域。
图6是表示通信路径和所适用的策略的一例的图。图6表示在图5所示的从jp.cloud4.edge1向us.cloud1一边处理数据一边发送数据的情况下能够选择的路径与数据交接策略323的关系。
首先,jp.cloud4.edge1的计算机系统在从图5的第4层级的jp.cloud4.edge1向第3层级的jp.cloud4发送数据时,在图6的p1,参照数据交接策略323的“jp.cloud4.edge1out”来检查数据。
接着,jp.cloud4的计算机系统在经由图5的第2层级、第1层级向us.cloud2发送数据时,在图6的p2,参照数据交接策略323的“jp.cloud4out”、“jp out”、“us in”、“us.cloud2 in”检查数据。
此外,作为从jp.cloud4向us.cloud2的数据的传送路径,也可以利用“jp”、“[us.jp]cloud3”、“us”、“us.cloud2”这样的不经由第1层级root(根)的路径。
在此情况下,jp.cloud4的计算机系统在向us.cloud2发送数据时,在图6的p2,参照数据交接策略323的“jp.cloud4 out”、“jp out”、“[us.jp]cloud3in”来检查数据。并且,[us.jp]cloud3的计算机系统参照数据交接策略323的“[us.jp]cloud3 out”“us.cloud2in”来检查数据。
接着,jp.cloud4的计算机系统在经由图5的第2层级jp向[us.jp]cloud3发送数据时,在图6的p3,参照数据交接策略323的“jp.cloud4 out”、“[us.jp]cloud3 in”来检查数据。
此外,us.cloud2的计算机系统在经由图5的第2层级us向us.cloud1发送数据时,在图6的p4,参照数据交接策略323的“us.cloud2 out”、“us.cloud1 in”来检查数据。
此外,[us.jp]cloud3的计算机系统在穿过图5的第2层级us向us.cloud1发送数据时,在图6的p5,参照数据交接策略323的“[us.jp]cloud3 out”,“us.cloud1 in”来检查数据。
图7A是表示数据交接策略323-A的一例的图。图7B是表示被装入到数据交接策略323-A中的基本的数据交接策略323-B的例子的图。
数据交接策略323-A在行702中记载读入图7B的数据交接策略323-B的命令。
数据交接策略323-A在行703中记述为:在从据点100向外部发送的数据的标签为“gps”(测位信息)的情况下,替换为规定的伪数据(39°54,116°23)。
数据交接策略323-A在行704中记述为:在从据点100向外部发送的数据的标签为“data”的情况下,替换为被设定为替换用伪数据324的“dummy.txt”。
此外,数据交接策略323-A在行705中记述为:在“log1”的尺寸为10MB以上的情况下产生警告。
除此以外,也可以如行706所示,登记用户固有的函数(例如,看数据的内容来判定数据的性质的算法等)。
在图7B中,数据交接策略323-B在行711中记载为禁止标签为“name”的数据的发送。数据交接策略323-B在行712中记载为禁止标签为“gps”的数据的发送。
如以上这样,能够通过数据交接策略323-A、323-B设定禁止向据点100的外部发送的数据、或替换为伪数据而发送的数据。另外,在上述的例子中,表示了在数据交接策略323-A中读入数据交接策略323-B而引用的例子,但也可以不读入数据交接策略323-B而设定数据交接策略323-A单独的策略。
另外,可以将数据交接策略323-B设为在开发服务器301的据点100制作的默认的数据交接策略323,将数据交接策略323-A设为各据点100的用户设定的策略。
此外,在上述图7A、图7B的例子中,表示了在从应用服务器120向外部发送时将预先设定的标签的数据替换为替换用伪数据324的例子,但并不限定于此。例如,也可以是,如果目的地的地址是预先设定的地址(例如,图5的区域500内)则许可预先设定的标签的数据的发送,如果是预先设定的地址以外的地址,则执行向替换用伪数据324的替换。
另外,在本实施例中,根据应用程序321的处理结果的发送目的地的路径信息(发送路径信息),设定数据交接策略323,应用执行程序322的过滤判定部332读入与处理结果的发送目的地对应的数据交接策略323,能够根据数据的标签(label)来判定能否发送。
通过分别设定与发送目的地的域名或地址对应的数据交接策略323,不论应用程序321的部署地如何,应用执行程序322的过滤判定部332都能够根据发送目的地来判定能否发送数据。
此外,数据交接策略323也可以按应用执行程序322的每个部署地,设定各个发送目的地的数据交接策略323。
对于据点100,按每个发送目的地的国家或地区设定数据交接策略323,通过对应用程序321在实施数据的处理时指定数据的发送目的地,过滤判定部332能够读入与处理结果的发送目的地对应的数据交接策略323,来判定能否发送数据。
此外,在数据的发送目的地是据点100内或相同的国内或相同的地区内的情况下,通过设定不限制发送的数据的数据交接策略323,能够将应用程序321的处理结果全部发送。
此外,发送目的地可以设定到与其他据点100进行协同的分散应用协调服务程序420,可以用实施协同的据点100的域名或地址等设定发送目的地。
此外,与标签对应的数据的控制并不限定于发送的禁止、向伪数据的替换或向开发担当者的通知,可以记述预先设定的处理。
图8是表示由计算机系统进行的处理的一例的顺序图。图8的例子表示由作为区域500的外部的据点100-B对由据点100-A的应用服务器120处理后的数据进行处理的例子。
客户端800在图1、图2中省略了图示,但是作为利用据点100-A的应用服务器120的计算机,既可以在据点100-A的内部,也可以在据点100-A的外部。
客户端800向据点100-A的应用服务器120指示处理的开始和处理对象的数据(步骤811)。另外,假设处理对象的数据在据点100-A中为从边缘服务器110取得的数据,在据点100-B中为从据点100-A接收到的数据。此外,在处理的开始指令中,包括处理的协同地的目的地及发送路径。
应用执行程序322的应用执行部331向应用程序321指定处理对象的数据而使其执行处理(步骤812)。
应用执行部331如果从应用程序321受理处理结果,则将处理结果的信息(要发送的数据的信息)和处理结果的发送路径(要发送的数据的路径信息)向过滤判定部332发送(步骤813)。另外,要发送的数据的信息如后述那样,作为标签信息而由应用执行部331生成。
过滤判定部332参照数据交接策略323,判定在处理结果中包含的数据的标签中发送是否被禁止(或向伪数据的替换的指定)(步骤814)。
过滤判定部332将判定结果和基于判定结果的请求处理向过滤结果反映部333发送(步骤815)。请求处理根据判定结果,包括数据发送的许可、向伪数据的替换、数据发送的禁止等由数据交接策略323设定的处理。
过滤结果反映部333实施从过滤判定部332受理的判定结果和处理请求(步骤816)。过滤结果反映部333将处理请求的执行结果、来自过滤判定部332的判定结果和处理请求向应用执行部331发送(步骤817)。
应用执行部331根据与数据交接策略323对应的判定结果,将执行的处理切换(步骤818)。在数据向据点100-B的发送被许可了的情况下向步骤819前进,在被禁止的情况下向步骤823前进。
在步骤819中,应用执行部331将来自应用程序321的处理结果向据点100-B发送,委托处理。接着,应用执行部331向客户端800通知据点100-A中的处理完成(步骤820)。
应用执行部331从据点100-B接收处理的完成通知(步骤821),并向客户端800通知全部的处理完成(步骤822)。
另外,在将由数据交接策略323禁止向外部发送的数据替换的情况下,也与步骤819同样地处理,在步骤820中,向客户端800通知已将被禁止向外部发送的数据替换。可以向利用客户端800的应用程序321的开发担当者报告:由于据点100所属的区域500的限制,应用程序321的处理结果被自动替换为替换用伪数据324。
另一方面,在步骤818的判定中,在向据点100-B的数据的发送被禁止的情况下,应用执行部331在是被数据交接策略323禁止了向外部发送的数据的情况下,对于客户端800通知在中途中止了处理,结束处理(步骤823)。
通过上述处理,在据点100-A的应用服务器120中,通过由应用执行部331针对应用程序321的处理结果判定能够发送数据,将不被许可向外部的据点100-B的发送的数据替换,由此能够与其他据点100协同来继续进行处理。
图9是表示由应用执行部331进行的处理的一例的流程图。该处理在受理了图8所示的来自客户端800的处理请求的情况下、或者在从其他据点100受理了处理请求的情况下被执行。
应用执行部331如果受理了处理请求,则参照处理请求中包含的对象应用(图3的处理“A”~“N”)(步骤901)。应用执行部331判定在该应用程序321中是否存在对象应用(步骤902)。在存在的情况下向步骤905前进,在不存在的情况下向步骤903前进。
在步骤905中,应用执行部331参照处理请求中包含的对象应用(“A”~“N”)的执行范围(步骤905),从应用程序321调出执行范围的对象应用并执行(步骤906)。另外,如在图8中说明那样,要处理的数据由处理请求指定。
接着,应用执行部331如果从应用程序321受理处理的完成(步骤907),则判定是否有接下来应执行的对象应用(步骤908)。应用执行部331在存在应执行的对象应用的情况下向步骤906返回而重复上述处理,在不是那样的情况下向步骤909前进。
在步骤909中,应用执行部331参照数据交接策略323,判定过滤判定部332是否有效。如果在数据交接策略323中设定了对于该应用程序321的处理结果的策略,则应用执行部331向步骤910前进,在不是那样的情况下向步骤912前进。
在步骤910中,过滤判定部332从应用执行部331受理来自应用程序321的处理结果和发送路径,参照数据交接策略323,判定在处理结果中包含的数据的标签中是否被指定了发送的禁止(向伪数据的替换)。过滤判定部332将判定结果和基于判定结果的请求处理向过滤结果反映部333发送。
过滤结果反映部333实施从过滤判定部332受理的判定结果和处理请求(步骤911)。过滤结果反映部333将处理请求的执行结果、来自过滤判定部332的判定结果和处理请求向应用执行部331发送。
在步骤912中,应用执行部331判定是否还剩了由其他据点100协同执行的处理(步骤912)。应用执行部331在有剩的处理的情况下,向其他据点100发送处理请求和数据,结束处理(步骤913)。
应用执行部331在没有剩处理的情况下,向步骤913前进,判定此次的处理请求是否是从客户端800直接受理的。
在从客户端800直接受理的情况下,向步骤916前进,向客户端800发送处理完成的通知,结束处理。另一方面,在从其他据点100受理了处理请求的情况下,向步骤915前进,向其他据点100发送处理完成的通知,结束处理。
在上述步骤902中,在不存在对象应用的情况下,在步骤903中,应用执行部331判定是否是来自其他据点100的请求。如果是来自其他据点100的请求,则向步骤904前进,应用执行部331将不存在对象应用的应答向其他据点100发送,结束处理。
另一方面,如果不是来自其他据点100的请求,则向步骤916前进,向客户端800发送不存在对象应用的应答,结束处理。
图10是表示由过滤判定部332进行的处理的一例的流程图。该处理在图8所示的步骤814中被执行。
过滤判定部332取得从应用执行部331发送的数据的信息和发送数据的路径信息(步骤1001)。过滤判定部332根据路径信息,选择要参照的数据交接策略323(步骤1002)。
接着,过滤判定部332判定是否有与路径信息(发送目的地)对应的参照目标的数据交接策略323(步骤1003)。在存在参照目标的数据交接策略323的情况下向步骤1005前进,在不存在参照目标的数据交接策略323的情况下向步骤1004前进。
在步骤1004中,由于发送数据时的数据交接策略323是不清楚的,所以过滤判定部332设为禁止发送数据后,向步骤1010前进。
在步骤1005中,过滤判定部332参照在上述步骤1002中选择的数据交接策略323。并且,过滤判定部332将数据交接策略323和要发送的数据的信息对接(步骤1006),由过滤结果反映部333判定是否需要执行处理请求(步骤1007)。
过滤判定部332在需要执行处理请求的情况下向步骤1008前进,在不需要执行处理请求的情况下向步骤1010前进。
在步骤1008中,过滤判定部332生成由数据交接策略323对要发送的数据的信息进行判定的结果、和与该判定结果对应的处理请求,选择为判定结果和处理请求的组。
过滤判定部332生成处理请求和判定结果的日志并输出(步骤1009)。接着,过滤判定部332进一步判定是否有应参照的数据交接策略323(步骤1010)。
过滤判定部332在需要参照其他的数据交接策略323的情况下向步骤1002返回,重复上述处理。另一方面,在没有应参照的数据交接策略323的情况下向步骤1011前进,将在步骤1008中选择的判定结果和处理请求的组向过滤结果反映部333输出,执行处理请求。
通过上述处理,过滤判定部332能够对于要发送的数据的信息,适用与发送目的地对应的数据交接策略323,向过滤结果反映部333输出将预先设定的标签的数据替换为伪数据的处理请求。
图11是表示由过滤结果反映部333进行的处理的一例的流程图。该处理在图8所示的步骤816中被执行。
过滤结果反映部333从过滤判定部332受理判定结果和处理请求(步骤1101)。过滤结果反映部333在从过滤判定部332受理的判定结果和处理请求中选择一个组(步骤1102)。
过滤结果反映部333参照所选择的判定结果和处理请求的组,判定在处理请求中是否包含处理内容(步骤1103)。过滤结果反映部333在处理请求中不包含处理内容的情况下(仅判定结果的情况下)向步骤1107前进,在处理请求中包含有处理内容的情况下向步骤1104前进。
在步骤1004中,过滤结果反映部333执行处理请求,在步骤1005中将处理结果向存储装置311的规定的区域登记。处理请求如果例如是向伪数据的替换,则取得记载在数据交接策略323中的替换用伪数据324的路径,从指定的路径中取得伪数据,将应用程序321的处理结果的数据用伪数据替换。并且,过滤结果反映部333生成处理请求的执行的日志并输出(步骤1106)。
接着,在步骤1107中,过滤结果反映部333判定是否有未处理的判定结果和处理请求的组,在存在判定结果和处理请求的组的情况下向步骤1102返回,重复上述处理。另一方面,过滤结果反映部333在没有未处理的判定结果和处理请求的组的情况下,向步骤1008前进,输出向应用执行部331进行了上述登记的处理结果和来自应用执行部331的判定结果和处理请求。
通过上述处理,如果处理请求例如是向伪数据的替换,则能够将应用程序321的处理结果的数据替换为规定的伪数据。
图12是表示标签信息1200的一例的图。本实施例的标签信息1200由受理了应用程序321的处理结果的应用执行部331生成。另外,标签信息1200也可以由应用程序321生成。
标签信息1200包括JSON(JavaScript Object Notation)数据1201、标签一览1202和关键字对应信息1203。另外,在本实施例中,表示将处理结果用JSON数据处置的例子,但并不限定于此。
JSON数据1201例如包括设备ID、位置信息(经度、纬度)和温度。在标签一览1202中,保存包含在JSON数据1201中的标签的一览。在关键字对应信息1203中,保存与JSON数据1201的关键字对应的标签信息。
图13是表示数据交接策略323的编辑画面1301的一例的图。数据交接策略323的编辑画面1301由开发工具327向开发服务器301的输入输出装置314输出。
编辑画面1301如在图5中表示那样,包括:显示计算机系统的层级构造和表示参照数据交接策略323的定时的边界、供使用者选择边界或计算机系统的区域1302、和能够选择数据交接策略323而编辑策略的区域1303。
另外,在本实施例中,表示开发服务器301输出编辑画面1301的例子,但并不限定于此,也可以是应用服务器120的应用执行程序322输出。
图14是表示数据的发送目的地的选择画面1401的一例的图。数据的发送目的地的选择画面1401由开发工具327向开发服务器301的输入输出装置314输出。
选择画面1401包括:表示在据点100间将应用服务器120的处理“A”~“N”协同进行的状况的区域1402、和将在据点100间由应用服务器120发送处理结果的数据的路径信息可视化而显示的区域1403。
客户端800等的使用者对选择画面1401进行操作,选择据点100间的数据发送路径中的最优的路径,登记为路径信息。开发工具327通过将登记的路径信息向应用服务器120的分散应用协调服务程序420等分发,当在据点100间协同进行被指定的处理“A”~“N”时能够以最优的路径进行数据的发送。
另外,在本实施例中,表示开发服务器301输出选择画面1401的例子,但并不限定于此,也可以是应用服务器120的应用执行程序322输出。
图15是表示由应用执行部331进行的标签的继承处理1500的一例的图。应用执行部331在图8所示的步骤812的应用程序321的执行处理时实施表示数据的种类的标签的继承处理。应用执行部331通过进行标签的继承处理,能够跟踪由构成应用程序321的方法(处理“A”~“N”)群怎样输入或输出了数据。
应用程序321S表示示例代码,由应用程序的开发者生成。
应用程序321S由于在应用执行部331侧执行用来跟踪标签信息的处理,所以在输入了预先准备的库之后,记述由应用程序321S表示那样的注解(Decorator)(annotation:注释)。另外,在图示的例子中表示使用python的例子,但程序的语言并不限定于此。
在由应用执行部331推进应用程序321S的处理的同时,由应用执行部331并行地执行使函数输出数据继承函数输入数据的标签信息的处理。
由应用执行部331继承的标签信息被利用为过滤判定部332中的与标签对应的数据的过滤的对象。
在应用程序321S的行1501中,用关键字指定在数据的发送时排除的标签。在图示的例子中,即使在数据关键字中包含有“kelvin”的标签,也不赋予与“kelvin”建立关联的标签“t_kelvin”。
在应用程序321S的行1502中,直接指定在数据的发送时排除的标签,在图示的例子中,即使在标签中包含有“t_temperature”,也不赋予标签“t_temperature”。
在应用程序321S的行1503中,直接指定追加的标签。在图示的例子中,对于标签赋予“t_environment”。
以行1501~行1503的信息为前提,应用执行部331将作为函数(func)的自变量而被输入的辞典型数据的标签全部取得,作为标签向输出数据赋予。假设函数“func”以辞典型数据data为输入。该函数的输出数据关键字“edit_temp”基本上继承输入数据的关键字群“temp”所具有的标签和“kelvin”所具有的标签。
但是,进行基于行1501的关键字”kelvin”的标签的排除、基于行1502的标签“t_temperature”的排除、和基于行1501的标签“t_environment”的追加。
另外,标签信息的继承处理1500并不限定于图示的例子。在本实施例中,对使用数据标签的例子进行了说明,但也可以用于其他的元信息(例:数据写入时的时间戳信息等)的继承。
如以上这样,应用执行部331在图8所示的步骤812的应用程序321的执行处理时,通过进行由应用程序321使用的数据的标签的继承处理,能够跟踪由应用程序321输入输出了怎样的数据(应用的执行状态),生成为标签信息(发送数据信息)1511。
并且,应用执行部331将标签信息1511的标签(label)作为发送数据信息向过滤判定部332输出,委托能否向据点100的外部发送数据的判定。
如以上说明,在本实施例的计算机系统中,当在据点100间进行数据的发送或传送时,根据据点100所属的区域500的关于数据流通的限制而预先设定数据交接策略323,由此能够将被禁止向区域500的外部发送的数据自动替换为替换用伪数据324。
由此,据点100的应用服务器120能够在遵守区域500的关于数据流通的限制的同时,可靠地进行据点100间的数据的传送,并且即使存在属于关于数据流通的限制严格的区域500的据点100,也能够在多个据点100间协同进行处理。
此外,应用执行部331为了防止依照各个据点100的数据交接策略323则不可交接的数据被从据点100发送,并使处置该数据的应用的开发变得容易,生成被赋予了标签(label)的数据、由数据的标签指定不可交接的数据的数据交接策略323、以及标签信息1511,该标签信息是跟踪由构成所部署的应用程序321的方法(处理)群怎样地输入或输出了上述数据而生成。
进而,应用执行部331具有:过滤判定部332,参照跟踪的结果(标签信息1511)和与发送路径信息对应的数据交接策略323,判定是否包含不能向据点100的外部发送的数据;以及过滤结果反映部333,基于过滤判定部332的判定结果,将不能交接的数据替换为伪数据;在有由过滤判定部332判定为不能交接的数据的情况下,将该数据替换为伪数据并发送,朝向应用程序321的开发者通知不可交接数据的信息和已替换为伪数据的情况。
由此,利用开发服务器301的应用程序321的开发担当者等按展开应用程序321的每个据点100对法令等进行解释,不需要判定能够从据点100向外部发送的数据的种类,不再需要上述以往例那样的解释法令等的劳力,能够降低应用程序321的开发成本。
此外,在本实施例中,能够通过将穿过区域500或据点100等的边界而发送数据的定时作为参照数据交接策略323的定时,来从据点100或区域500向外部发送数据,并在到达其他据点100之前验证关于数据流通的限制。由此,发送侧的据点100能够在数据向不同的区域进出之前判定是否需要替换为替换用伪数据324。
此外,在上述实施例中,示出了开发服务器301、应用服务器120为物理计算机的例子,但也可以由虚拟计算机或容器(container)实现。
<总结>
如以上这样,上述实施例的计算机系统可以做成以下这样的结构。
(1)一种计算机系统,在具有包括处理器413和存储器411的计算机(应用服务器120)的多个据点100间对数据进行处理,上述计算机120具有:对数据进行规定的处理的应用(应用程序321)、管理上述应用321的执行的执行管理部(应用执行程序322)、以及针对上述应用321的处理结果的数据预先设定了能否向外部发送的数据交接策略323;上述执行管理部322生成上述应用321在执行中使用的数据的信息作为发送数据信息(标签信息1511),对于上述发送数据信息1511的数据适用上述数据交接策略323,判定能否向上述据点100的外部发送。
通过上述结构,当在据点100间进行数据的发送或传送时,根据据点100所属的区域500的关于数据流通的限制来设定数据交接策略323,从而能够容易地判定被禁止向区域500的外部发送的数据。
(2)在上述(1)所记载的计算机120系统中,上述执行管理部322在判定为上述数据被禁止向外部发送的情况下,对上述应用321的处理结果的上述数据适用由上述数据交接策略323预先设定的处理。
通过上述结构,当在据点100间进行数据的发送或传送时,通过根据据点100所属的区域500的关于数据流通的限制设定数据交接策略323,能够对被禁止向区域500的外部发送的数据自动地适用预先设定的处理。
(3)在上述(2)所记载的计算机120系统中,上述预先设定的处理将上述数据替换为预先设定的伪数据(替换用伪数据324)。
通过上述结构,当在据点100间进行数据的发送或传送时,通过根据据点100所属的区域500的关于数据流通的限制预先设定数据交接策略323,能够将被禁止向区域500的外部发送的数据替换为预先设定的替换用伪数据324。
(4)在上述(3)所记载的计算机120系统中,上述预先设定的处理输出表示将上述被禁止向外部发送的数据替换为了预先设定的伪数据的通知820。
通过上述结构,在将被数据交接策略323禁止向外部发送的数据进行了替换的情况下,也与步骤819同样地处理,在步骤820中,能够向客户端800通知已将被禁止向外部发送的数据替换的情况。能够向利用客户端800的应用程序321的开发担当者报告因据点100所属的区域500的限制而将应用程序321的处理结果替换为替换用伪数据324的情况。
(5)在上述(1)所记载的计算机120系统中,上述数据交接策略323根据上述应用321的处理结果的发送目的地而被预先设定。
通过上述结构,能够设定与应用程序321的处理结果的发送目的地对应的数据的限制。
(6)在上述(1)所记载的计算机120系统中,上述据点100的外部是关于数据流通的限制与该据点100所属的区域500的关于数据流通的限制不同的区域。
通过上述结构,在由关于数据流通的限制(法令)等不同的国家或地区构成的区域间,能够自动地控制被禁止收发的数据的流通。
上述公开关于代表性的实施方式进行了记述,但本领域技术人员应该可以理解在不脱离公开的主题的主旨或范围内能够在形式及细节进行各种各样的变更或修正。
例如,上述的实施例是为了容易理解地说明本发明而详细地记载的,并不限定于必定具备所说明的全部结构。此外,能够将某个实施例的结构的一部分替换为其他实施例的结构,此外,还能够对某个实施例的结构添加其他实施例的结构。此外,关于各实施例的结构的一部分,其他结构的追加、删除或替换都能够以单独或组合来采用。
此外,关于上述的各结构、功能、处理部及处理机构等,也可以将它们的一部分或全部例如通过用集成电路设计等而由硬件实现。此外,上述的各结构及功能等也可以通过处理器将实现各个功能的程序解释、执行而由软件实现。实现各功能的程序、表、文件等的信息可以置于存储器或硬盘、SSD(Solid State Drive)等记录装置、或IC卡、SD卡、DVD等记录介质中。
此外,关于控制线及信息线,示出了认为在说明上必要的部分,并不一定在产品上示出了全部的控制线及信息线。实际上可以认为几乎全部的结构被相互连接。
- 计算机系统、数据控制方法及存储介质
- 信息处理设备、集成电路、数据传送控制方法、数据传送控制程序、程序存储介质、程序传输介质和数据存储介质