一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理装置、信息处理方法和计算机可读介质与流程

2022-02-25 18:17:13 来源:中国专利 TAG:


1.本发明涉及信息处理装置、信息处理方法和计算机可读介质。


背景技术:

2.存在通过多个客户端和1台服务器的协作来提供服务的系统。在该系统中,按照每个客户端监视服务器的利用频度,存在在服务器的负荷变高时,使利用频度低的客户端的使用停止,由此实现服务器的负荷的减轻的情况。此外,作为关联技术文献,例如举出日本特开平8-272723号公报。
3.在通过多个客户端和服务器协作来提供服务的系统中,在停止与其他客户端相比利用频度相对较低的客户端(以下也称为“用户”)的使用的情况下,服务器的负荷降低,但是,在停止使用的客户端中,暂时无法保持与服务器之间的数据的一致性,可用性受损。


技术实现要素:

4.本发明的目的在于,在通过服务器和多个客户端协作来提供服务的系统中,与使某个用户停止使用客户端的情况相比,兼顾了数据的一致性和负荷的减轻。
5.根据本发明的第1方案,提供一种信息处理装置,其具有处理器,其中,在存储有作为取得对象的数据的通信对象准备有每当数据被变更时对所述信息处理装置进行通知的非同步型的第1通信接口、以及汇总对数据进行的多个变更而进行通知的同步型的第2通信接口的情况下,所述处理器根据所述信息处理装置的状态对在与该通信对象的通信中使用的通信接口进行切换。
6.根据本发明的第2方案,所述处理器根据从所述通信对象流入所述信息处理装置的数据的速度,对所述通信接口的切换进行控制。
7.根据本发明的第3方案,所述处理器按照每个用户来监视所述数据的速度,所述处理器针对从所述通信对象流入所述信息处理装置的所述数据的速度大于第1阈值的用户的通信,使用所述第2通信接口。
8.根据本发明的第4方案,所述处理器按照每个用户来监视所述数据的速度,在检测到所述数据的速度大于第1阈值的用户的情况下,所述处理器将其他用户的通信从所述第1通信接口切换为所述第2通信接口。
9.根据本发明的第5方案,所述处理器监视多个用户进行的全部通信的所述数据的速度,在所述数据的速度大于第2阈值的情况下,所述处理器针对利用所述信息处理装置的频度相对少的用户的通信,使用所述第2通信接口。
10.根据本发明的第6方案,所述处理器按照利用所述信息处理装置的频度从低到高的顺序,决定从所述第1通信接口切换为所述第2通信接口的用户。
11.根据本发明的第7方案,在所述数据的速度比小于所述第2阈值的第3阈值小的情况下,所述处理器中止从所述第1通信接口向所述第2通信接口的切换。
12.根据本发明的第8方案,在所述数据的速度比小于所述第2阈值的第4阈值小的情
况下,所述处理器针对正在利用所述第2通信接口进行通信的用户中的、利用所述信息处理装置的频度相对多的用户的通信使用所述第1通信接口。
13.根据本发明的第9方案,所述处理器按照利用所述信息处理装置的频度从高到低的顺序,决定从所述第2通信接口切换为所述第1通信接口的用户。
14.根据本发明的第10方案,所述处理器监视多个用户进行的全部通信的所述数据的速度,在所述数据的速度大于第2阈值的情况下,所述处理器针对从所述通信对象流入所述信息处理装置的该数据的速度相对大的用户的通信,使用所述第2通信接口。
15.根据本发明的第11方案,所述处理器在从所述通信对象流入所述信息处理装置的数据中按照根据用户而不同的所述数据的速度的从大到小的顺序,决定从所述第1通信接口切换为所述第2通信接口的用户。
16.根据本发明的第12方案,所述处理器在全部通信的所述数据的速度比小于所述第2阈值的第5阈值小的情况下,中止在该数据的速度大的用户的通信中使用的所述通信接口的切换。
17.根据本发明的第13方案,在所述数据的速度小于第6阈值的情况下,所述处理器针对正在利用所述第2通信接口进行通信的用户中的、从所述通信对象流入所述信息处理装置的数据的速度相对小的用户的通信,使用所述第1通信接口。
18.根据本发明的第14方案,所述处理器按照从所述通信对象流入所述信息处理装置的数据中的所述数据的速度的从小到大的顺序,决定从所述第2通信接口切换为所述第1通信接口的用户。
19.根据本发明的第15方案,所述处理器根据用户对所述信息处理装置的每单位时间的利用的频度,对所述通信接口的切换进行控制。
20.根据本发明的第16方案,所述处理器按照每个用户来监视所述利用的频度,针对所述频度少于第7阈值的用户的通信,使用所述第2通信接口。
21.根据本发明的第17方案,提供一种计算机可读介质,其存储有使计算机执行处理的程序,其中,所述处理具有以下步骤:在存储有作为取得对象的数据的通信对象准备有每当数据被变更时进行通知的非同步型的第1通信接口、以及汇总对数据进行的多个变更而进行通知的同步型的第2通信接口的情况下,根据所述计算机的状态对在与该通信对象的通信中使用的通信接口进行切换。
22.根据本发明的第18方案,提供一种信息处理方法,其中,在存储有作为取得对象的数据的通信对象准备有每当数据被变更时对信息处理装置进行通知的非同步型的第1通信接口、以及汇总对数据进行的多个变更而进行通知的同步型的第2通信接口的情况下,根据所述信息处理装置的状态对在与该通信对象的通信中使用的通信接口进行切换。
23.(效果)
24.根据所述第1方案,在通过服务器和多个客户端协作来提供服务的系统中,与停止某个客户端的用户的使用的情况相比,能够兼顾数据的一致性和负荷的减轻。
25.根据所述第2方案,能够根据通信的状况来切换通信接口。
26.根据所述第3方案,虽然对数据提供侧造成的负荷较大的用户失去了取得数据的即时性,但是,该用户能够持续取得数据。
27.根据所述第4方案,能够维持对数据提供侧造成的负荷较大的用户的通信,同时实
现数据提供侧的总负荷的降低。
28.根据所述第5方案,能够维持利用的频度相对较高的用户取得数据的即时性,并且实现数据提供侧的总负荷的降低。
29.根据所述第6方案,能够维持利用的频度相对较高的用户取得数据的即时性,并且实现数据提供侧的总负荷的降低。
30.根据所述第7方案,能够兼顾数据提供侧的总负荷的降低和即时性这双方。
31.根据所述第8方案,能够兼顾数据提供侧的总负荷的降低和即时性这双方。
32.根据所述第9方案,能够从利用的频度相对较高的用户的通信起依次恢复取得数据的即时性。
33.根据所述第10方案,虽然对数据提供侧造成的负荷较大的用户失去取得数据的即时性,但是该用户能够持续取得数据。
34.根据所述第11方案,能够使流入的数据的速度相对较大的用户持续取得数据,同时实现数据提供侧的总负荷的降低。
35.根据所述第12方案,能够兼顾数据提供侧的总负荷的降低和即时性这双方。
36.根据所述第13方案,能够同时实现数据提供侧的总负荷的降低和即时性这双方。
37.根据所述第14方案,能够从负荷的增加较少的用户的通信起依次恢复取得数据的即时性。
38.根据所述第15方案,能够降低数据提供侧的负荷。
39.根据所述第16方案,虽然一部分用户失去了取得数据的即时性,但是该用户能够持续取得数据。
40.根据所述第17方案,在通过服务器和多个客户端协作来提供服务的系统中,与停止某个客户端的用户的使用的情况相比,能够兼顾数据的一致性和负荷的减轻。
41.根据所述第18方案,在通过服务器和多个客户端协作来提供服务的系统中,与停止某个客户端的用户的使用的情况相比,能够兼顾数据的一致性和负荷的减轻。
附图说明
42.图1是示出客户端服务器型的网络系统的结构例的图。
43.图2是说明实施方式1中使用的服务器的结构例的图。
44.图3是说明实施方式1中使用的客户端终端的结构例的图。
45.图4是说明由处理器提供的功能的一部分的图。
46.图5是说明实施方式1中使用的用户利用api判断部的处理动作的一例的流程图。
47.图6是说明基于同步api的通信顺序的一例的图。
48.图7是说明基于非同步api的通信顺序的一例的图。
49.图8是示出从服务器向客户端终端通知的数据的描述例的图。(a)是变更的原因为数据的插入的情况下的数据例,(b)是变更的原因为数据的更新的情况下的数据例,(c)是变更的原因为数据的删除的情况下的数据例。
50.图9是说明切换为同步api后的通信顺序的一例的图。
51.图10是说明刚切换为非同步api后的通信顺序的一例的图。
52.图11是说明刚切换为非同步api后的通信顺序的另一例的图。
53.图12是说明实施方式2中使用的用户利用api判断部的处理动作的一例的流程图。
54.图13是说明实施方式2中使用的用户利用api判断部的处理动作的另一例的流程图。
55.图14是说明实施方式3中使用的用户利用api判断部的处理动作的一例的流程图。
56.图15是说明实施方式3中使用的用户利用api判断部的处理动作的另一例的流程图。
57.图16是说明实施方式4中使用的用户利用api判断部的处理动作的一例的流程图。
58.图17是说明实施方式4中使用的用户利用api判断部的处理动作的另一例的流程图。
具体实施方式
59.下面,参照附图对实施方式进行详细说明。
60.《实施方式1》
61.《系统结构》
62.图1是示出客户端服务器型的网络系统1的结构例的图。
63.图1所示的网络系统1由服务器系统10、客户端系统20、利用服务器系统10的用户终端30a、利用客户端系统20的用户终端30b、以及连接它们的网络40构成。
64.在图1所示的网络系统1中存在多个客户端系统20。但是,客户端系统20也可以是1个。
65.服务器系统10由服务器100和数据库150构成。服务器100通过将数据库150中存储的数据提供给客户端系统20来实现某些功能。在本实施方式中,将该功能称为“服务a”。
66.客户端系统20由客户端终端200和数据库250构成。客户端终端200通过使数据库250的数据与数据库150的数据同步来实现某些功能。在本实施方式中,将该功能称为“服务b”。
67.服务器系统10的数据库150的数据从用户终端30a或未图示的外部系统插入、或更新、或删除。通过这里的插入、更新或删除,数据库150被变更。
68.客户端系统20经由网络40而与服务器系统10连接,从数据库150取得数据,将其反映到自身的数据库250中。即,客户端系统20的数据库250与服务器系统10侧的数据库150同步。
69.在本实施方式中的服务器100中,准备有同步api(=application programming interface:应用程序接口)和非同步api。即,客户端终端200使用这些api中的任意一方与服务器100进行通信。
70.在本实施方式的情况下,用于通信的api按照使用用户终端30b的每个用户被切换。从客户端终端200对服务器100指示用于通信的api。
71.用户终端30a和30b是与网络40连接的终端,例如是计算机、智能手机、平板终端、可穿戴终端。
72.网络40例如是lan(=local area network:局域网)或互联网。网络40可以是无线网络,也可以是有线网络。
73.本实施方式中的服务器系统10和客户端系统20可以由相同的运营商运用,也可以
由不同的运营商运用。
74.此外,服务器系统10和客户端系统20可以是本地部署类型的系统,也可以是云类型的系统。
75.《各装置的结构》
76.图2是说明实施方式1中使用的服务器100的结构例的图。
77.服务器100具有对装置整体的动作进行控制的处理器101、半导体存储器102、硬盘装置103、非同步api104和同步api105。它们通过信号线或总线连接。
78.处理器101通过数据的处理实现各种服务。
79.半导体存储器102例如由存储有bios(=basic input output system:基本输入输出系统)的rom(=read only memory:只读存储器)和被用作工作区的ram(=random access memory:随机存取存储器)构成。半导体存储器102是存储装置的一例。
80.这里的处理器101和半导体存储器102构成所谓的计算机。
81.硬盘装置103例如是存储基本软件和应用程序的非易失性的存储装置。另外,也可以代替硬盘装置103而使用大容量的半导体存储器。硬盘装置103也是存储装置的一例。
82.非同步api104是在每次进行变更时将对数据库150进行的变更的内容通知给客户端终端200的接口。关于变更,包括针对数据库150的数据的插入、更新、删除。在使用非同步api104的通信中,数据库150中的数据的变更会即时地反映到数据库250中。换言之,非同步api104的通信的即时性优异。非同步api104是第1通信接口的一例。
83.同步api105是汇总对数据库150进行的多个变更而进行通知的接口。使用同步api105的通信要等待来自客户端终端200的请求来执行。因此,即时数据库150存在变更,在出现来自客户端终端200的同步的请求之前,也不会向客户端终端200通知变更的内容,在出现请求时,汇总在上次请求时之后产生的多个变更而进行通知。通过使用同步api105的通信,服务器100的负荷降低。同步api105是第2通信接口的一例。
84.图3是说明实施方式1中使用的客户端终端200的结构例的图。
85.客户端终端200具有对装置整体的动作进行控制的处理器201、半导体存储器202、硬盘装置203和通信接口(以下称为“通信if”)204。它们通过信号线或总线连接。
86.处理器201通过数据的处理实现各种服务。
87.半导体存储器202例如由存储有bios的rom和被用作工作区的ram构成。半导体存储器202是存储装置的一例。
88.这里的处理器201和半导体存储器202构成所谓的计算机。
89.硬盘装置203例如是存储基本软件和应用程序的非易失性的存储装置。另外,也可以代替硬盘装置203而使用大容量的半导体存储器。硬盘装置203也是存储装置的一例。
90.通信if204经由网络40与服务器100(参照图1)进行通信。
91.本实施方式中的客户端终端200是信息处理装置的一例。
92.图4是说明由处理器201提供的功能的一部分的图。在图4中,作为处理器201提供的功能的一部分,示出了数据流入速度监视部201a、利用频度监视部201b、用户利用api判断部201c和用户利用api切换通知部201d。这些功能通过由处理器201执行程序来实现。
93.数据流入速度监视部201a按照利用服务b的每个用户,计测每单位时间的从服务器100(参照图1)流入客户端终端200(参照图1)的数据的量(以下称为“数据的流入量”)。
即,数据流入速度监视部201a按照每个用户计测流入客户端终端200的数据的速度(以下称为“数据速度”)。单位例如是兆字节/秒。
94.利用频度监视部201b计测利用服务b的每个用户的利用的频度(以下称为“利用频度”)。在本实施方式中,将利用频度设为每单位时间访问客户端终端200(参照图1)的次数。单位例如是访问/秒。
95.用户利用api判断部201c根据伴随着服务b的提供的、用户的通信的状态,判断在与服务器系统10(参照图1)侧的通信中使用的api。关于用于判断的本终端的通信的状态,使用数据速度和利用频度中的双方或一方。
96.本实施方式中的用户利用api判断部201c针对数据的流入速度大于阈值的用户和利用频度少于阈值的用户,选择基于同步api的通信,针对除此以外的用户,选择基于非同步api的通信。
97.通过在数据的流入速度大于阈值的用户的通信中使用基于同步api的通信,实现了服务器100的负荷的降低。
98.在利用频度较少的用户的情况下,利用数据库250的数据的频度较少,因此,认为即使不将数据库150侧的变更即时地反映到数据库250中,对提供服务造成的影响也较少。
99.因此,在本实施方式中,从负荷和即时性的平衡的观点出发,在利用频度较少的用户的通信中利用同步api。此外,通过在利用频度少于阈值的用户的通信中利用基于同步api的通信,还能够减轻系统整体的负荷。
100.用户利用api切换通知部201d在与服务器100通信中使用的api发生变化的情况下,将在通信中使用的api的切换通知给服务器100。
101.在从基于同步api的通信切换为基于非同步api的通信的情况下,用户利用api切换通知部201d将登记利用非同步api的请求发送到服务器100。
102.另外,在请求登记非同步api的利用的情况下,用户api切换通知部201d请求服务器100仅发送一次从基于同步api的最后的通信的时间点起到当前为止的期间内在数据库150中产生的数据的变更。
103.在通信切换为非同步api时,来自服务器100侧的下次的通信仅限于在数据库150的数据发生变更的情况进行。因此,即使在从基于同步api的最后的通信到登记非同步api的利用为止的期间内存在数据的变更,该变更也不会被通知给客户端终端200。其结果,在数据库150与数据库250之间,数据的一致性受损。因此,本实施方式中的用户利用api切换通知部201d在请求登记非同步api的利用的情况下,请求服务器100发送在从基于同步api的最后的通信起到当前为止的期间内在数据库150中产生的变更。
104.但是,在刚刚切换为基于非同步api的通信后在数据库150中产生了数据的变更的情况下,会产生相应的数据被重复地发送到客户端终端200的情况。因此,在检测到数据的重复的情况下,处理器201删除任意一个数据。
105.在从基于非同步api的通信切换为基于同步api的通信的情况下,用户利用api切换通知部201d将解除非同步api的利用的登记的请求发送到服务器100。
106.《处理动作》
107.图5是说明实施方式1中使用的用户利用api判断部201c(参照图4)的处理动作的一例的流程图。图中所示的记号s意为步骤。
108.在本实施方式的情况下,最初,在全部用户的通信中利用非同步api。此外,图5所示的处理动作按照利用服务b的每个用户来执行。
109.首先,用户利用api判断部201c判定数据的流入速度是否大于阈值a(步骤1)。阈值a是第1阈值的一例。
110.在步骤1中得到了否定结果的情况下、即数据的流入速度为阈值a以下的情况下,用户利用api判断部201c判定用户的利用频度是否小于阈值b(步骤2)。阈值b是第7阈值的一例。
111.在步骤1中得到了肯定结果的情况下、或在步骤2中得到了肯定结果的情况下,用户利用api判断部201c决定在相应的用户的通信中利用同步api。
112.但是,如果已经正在利用同步api,则不需要切换api。因此,在步骤1中得到了肯定结果的情况下、或在步骤2中得到了肯定结果的情况下,用户利用api判断部201c判定相应的用户是否正在利用非同步api进行通信(步骤3)。
113.在步骤3中得到了否定结果的情况下,用户利用api判断部201c结束本次的处理动作,准备下次的判定。反复执行图5所示的处理动作。
114.另一方面,在步骤3中得到了肯定结果的情况下,用户利用api切换通知部201d通知服务器100(参照图1)解除非同步api的利用的登记(步骤4)。此后,在相应的用户的通信中利用同步api。
115.然后,处理器201对服务器100请求定期地取得数据(步骤5)。
116.在所述步骤2中得到了否定结果的情况下,用户利用api判断部201c决定在相应的用户的通信中利用非同步api。
117.但是,在正在利用非同步api进行通信的情况下,不需要切换api,因此,在所述步骤2中得到了否定结果的情况下,用户利用api判断部201c判定相应的用户是否正在利用同步api进行通信(步骤6)。
118.在步骤6中得到了否定结果的情况下,用户利用api判断部201c结束本次的处理动作,准备下次的判定。反复执行图5所示的处理动作。
119.另一方面,在步骤6中得到了肯定结果的情况下,用户利用api切换通知部201d通知服务器100登记非同步api的利用(步骤7)。此后,在相应的用户的通信中利用非同步api。
120.然后,用户利用api切换通知部201d请求服务器100仅取得1次数据(步骤8)。如上所述,这是为了防止数据丢失。
121.《通信顺序的例子》
122.《利用同步api的通信顺序》
123.图6是说明基于同步api的通信顺序的一例的图。在图6中,示出在利用服务a的用户终端30a、提供服务a的服务器100、提供服务b的客户端终端200之间执行的通信。图中所示的记号s意为步骤。
124.由于是基于同步api的通信,因此,客户端终端200对服务器100请求取得从时刻t0到时刻t1为止发生变更的数据(步骤11)。时刻t1是客户端终端200发送请求的当前时刻。定期地执行该数据的请求。
125.该请求的执行的目的是,为了提供服务b而使数据库250(参照图1)的数据与数据库150(参照图1)同步。另外,在步骤11的请求中,作为期间的自变量,给出表示从时刻t0到
时刻t1为止的期间的信息。
126.接收到该请求的服务器100从数据库150取得发生变更的数据(步骤12)。
127.在认为相应的用户的数据存在变更的情况下,服务器100汇总在相应的期间内存在变更的数据而回复给客户端终端200(步骤13)。
128.在本实施方式中,能够采用如下的方式:在认为相应的用户的数据不存在变更的情况下,服务器100不回复数据。但是,也可以采用如下:即使在认为相应的用户的数据不存在变更的情况下,服务器100也将数据不存在变更的情况回复给客户端终端200。
129.接收到数据回复的客户端终端200将接收到的数据反映到数据库250(参照图1)中(步骤14)。
130.在图6所示的例子中,在至客户端终端200下一次对服务器100请求取得数据为止的期间内,用户终端30a指示服务器100插入数据(d1)(步骤15)。
131.接收到指示的服务器100在数据库150中反映数据(d1)(步骤16)。在正在利用同步api进行通信的情况下,被插入的数据(d1)不会即时地反映到数据库250中。
132.在从时刻t1起经过预定的时间时,客户端终端200对服务器100请求取得从时刻t1到时刻t2的存在变更的数据(步骤17)。时刻t2是客户端终端200发送请求的时刻。
133.接收到该请求的服务器100从数据库150取得存在变更的数据(d1)(步骤18)。
134.在认为相应的用户的数据存在变更的情况下,服务器100汇总在相应的期间内存在变更的数据,回复给客户端终端200。该例子的情况下,服务器100回复数据(d1)(步骤19)。
135.接收到数据回复的客户端终端200将接收到的数据(d1)反映到数据库250中(步骤20)。
136.通过反映该数据,服务器100侧的数据库150和客户端终端200侧的数据库250被同步。这样,在基于同步api的通信中,在从数据(d1)被反映至数据库150起、至数据(d1)被反映至数据库250为止的期间内会产生时间差。但是,与要求即时性的情况相比,服务器100的负荷较少。
137.在图6中,例示了数据(d1)插入到数据库150中的情况,但是,在数据库150的数据被更新的情况下和数据被删除的情况下,也执行相同的处理动作。
138.《利用非同步api的通信顺序》
139.图7是说明基于非同步api的通信顺序的一例的图。在图7中,对与图6对应的部分标注对应的标号来表示。
140.图7所示的通信顺序通过客户端终端200对服务器100登记非同步api的利用而开始(步骤21)。在数据的流入速度为阈值a(参照图5)以下、同时用户的利用频度为阈值b(参照图5)以上的情况下执行该通信。
141.通过该登记,服务器100将非同步api用于与和相应的用户有关的客户端终端200之间进行的通信。
142.在图7的情况下,在用户终端30a指示服务器100插入数据(d1)时(步骤22),服务器100在数据库150中反映数据(d1)(步骤23)。此外,服务器100即时地对客户端终端200通知数据(d1)的插入(步骤24)。接收到数据通知的客户端终端200将接收到的数据即时地反映到数据库250(参照图1)中(步骤25)。
143.另外,在图7中,还示出客户端终端200检测到将基于非同步api的通信切换为同步api的事件的情况。
144.在检测到将正在利用非同步api的用户的通信切换为同步api的事件的情况下,客户端终端200对服务器100通知解除非同步api的利用的登记(步骤26)。受理了登记解除的通知的服务器100成为在与相应的用户的通信中利用同步api的设定。
145.因此,在用户终端30a指示服务器100插入数据(d2)的情况下(步骤27),服务器100也只是在数据库150中反映数据(d2)(步骤28)。即,正在进行基于同步api的通信的服务器100不会即时地对客户端终端200通知数据(d2)被反映到数据库150中的情况。
146.图8是示出从服务器100(参照图1)向客户端终端200(参照图1)通知的数据的描述例的图。(a)是变更的原因为数据的插入的情况下的数据例,(b)是变更的原因为数据的更新的情况下的数据例,(c)是变更的原因为数据的删除的情况下的数据例。
147.图8所示的数据例以json(=javascript object notation)形式来描述。
148.无论是哪一个数据例,均包含确定用户的信息。在图8的情况下,作为用户id记录有“1234”。此外,包含表示变更的种类的信息。在图8的情况下,是“operation”之后的字符串的部分。
149.在数据的插入的情况下,在从服务器100向客户端终端200通知的数据中包含有表示被插入的位置的记录id、更新日期时间、插入后的全部属性。另外,在从客户端终端200对服务器100请求同步数据的情况下,从服务器100向客户端终端200回复除了“operation”的行以外的数据。
150.在数据的更新的情况下,在从服务器100向客户端终端200通知的数据中仅包含有表示被更新的位置的记录id、更新日期时间、被更新的属性。
151.在数据的删除的情况下,在从服务器100向客户端终端200通知的数据中仅包含有表示被删除的位置的记录id、更新日期时间。
152.《切换为同步api后的通信顺序》
153.图9是说明切换为同步api后的通信顺序的一例的图。在图9中,对与图7对应的部分标注对应的标号来表示。
154.图9所示的通信顺序的一部分与图7所示的通信顺序的一部分相同。另外,虽然在图7所示的通信顺序的情况下,在从基于非同步api的通信开始起至切换为基于同步api的通信为止的期间内,在服务器100侧的数据库150(参照图1)中发生了变更,但是在图9的情况下,在步骤21~步骤26之间不存在数据库150的变更。
155.在图9的情况下,向服务器100通知了解除非同步api的利用的登记的客户端终端200记录解除登记的日期时间(t3)(步骤26a)。该步骤26a在图7中没有记载,但是,在图7的情况下,实际上也执行该步骤26a。
156.在图9中,记载了在解除非同步api的利用的登记后执行的、由客户端终端200执行的取得数据的请求和对应的数据的回复。
157.当从解除登记的日期时间(t3)起经过预定的时间时,客户端终端200对服务器100请求取得从时刻t3到时刻t4为止存在变更的数据(步骤31)。时刻t4是客户端终端200发送请求的当前时刻。
158.接收到该请求的服务器100从数据库150取得从时刻t3到时刻t4为止发生变更的
数据(步骤32),并回复给客户端终端200(步骤33)。客户端终端200将从服务器100回复的数据反映到数据库250中(步骤34)。在该时间点,数据库250与数据库150同步。
159.并且,当从时刻t4起经过预定的时间时,客户端终端200对服务器100请求取得从时刻t4到时刻t5为止发生变更的数据(步骤35)。时刻t5是客户端终端200发送请求的当前时刻。
160.接收到该请求的服务器100从数据库150取得从时刻t4到时刻t5为止发生变更的数据(步骤36),并回复给客户端终端200(步骤37)。客户端终端200将从服务器100回复的数据反映到数据库250中(步骤38)。在该时间点,数据库250与数据库150同步。
161.反复进行该通信和处理动作。另外,在图9中,省略用户终端30a对服务器100的变更的指示。
162.《刚切换为非同步api后的通信顺序》
163.图10是说明刚切换为非同步api后的通信顺序的一例的图。在图10中,对与图6对应的部分标注对应的标号来表示。
164.图10所示的通信顺序的一部分与图6所示的通信顺序的一部分相同。具体而言,步骤17~步骤20的部分相同。
165.在图10的情况下,在执行步骤20后,客户端终端200对服务器100登记非同步api的利用(步骤41)。服务器100将在切换为非同步api后发生的数据变更即时地通知给客户端终端200,但是,在从时刻t2到切换为非同步api为止的期间内的数据的变更会从通知的对象中遗漏掉。
166.因此,客户端终端200请求取得从时刻t2到当前时刻为止发生变更的数据(步骤42)。另外,将期间指定为至当前时刻为止是因为,客户端终端200不知道服务器100登记非同步api的利用的时刻。
167.接收到该请求的服务器100从数据库150取得从时刻t2到当前时刻为止发生变更的数据(步骤43),并回复给客户端终端200(步骤44)。客户端终端200将从服务器100回复的数据反映到数据库250中(步骤45)。图中虚线包围表示的步骤42~步骤45仅在通信刚刚切换为非同步api后例外地执行1次。
168.图11是说明刚切换为非同步api后的通信顺序的另一例的图。在图11中,对与图10对应的部分标注对应的标号来表示。
169.图11示出在从服务器100将通信切换为非同步api起至步骤42的请求被通知给服务器100为止的期间内在数据库150(参照图1)的数据中发生变更的情况。
170.在图11中,用户终端30a在步骤41~步骤42的期间指示服务器100插入数据(d2)(步骤51)。
171.因此,服务器100在数据库150中反映数据(d2)(步骤52),并且即时地对客户端终端200通知数据(d2)的插入(步骤53)。另一方面,接收到数据通知的客户端终端200将接收到的数据即时地反映到数据库250(参照图1)中(步骤54)。
172.在图11的情况下,在步骤54之后执行步骤42~步骤45。因此,有可能在数据库250中反映相同的数据(d2)。
173.因此,客户端终端200在刚切换为非同步api后请求取得数据时,在数据库250中已存在与回复的数据相同的数据的情况下,参照更新日期时间判定数据的异同。
174.在更新日期时间不同的情况下,客户端终端200利用更新日期时间为最新的数据(d2)对数据库250进行更新。
175.另一方面,在更新日期时间相同的情况下,客户端终端200丢弃在步骤44中取得的数据(d2)。
176.《实施方式2》
177.在本实施方式中,对利用与实施方式1不同的方法判定api的切换的情况进行说明。在本实施方式中,原则上在全部用户的通信中利用非同步api。因此,数据库150(参照图1)的变更会即时地反映到数据库250(参照图1)中。
178.图12是说明在实施方式2中使用的用户利用api判断部201c(参照图4)的处理动作的一例的流程图。图中所示的记号s意为步骤。
179.本实施方式中的用户利用api判断部201c根据数据的流入速度的总和和各用户的利用频度,判定系统整体的api的切换的必要性。另外,在决定作为切换对象的用户时,使用利用频度的信息。
180.首先,用户利用api判断部201c取得数据的流入速度的总和(步骤61)。数据的流入速度的总和例如可以是全部通信的流入速度的测定值,也可以是按照每个用户测定的流入速度的测定值的总和。另外,数据的流入速度的总和是全部用户的数据的流入速度的信息的一例。
181.接着,用户利用api判断部201c判定数据的流入速度的总和是否大于阈值c(步骤62)。阈值c是第2阈值的一例。阈值c给出本实施方式中使用的多个阈值中的上限值。因此,还将阈值c称为上限阈值。在本实施方式的情况下,将阈值c设定为通信带宽的90%。
182.在数据的流入速度的总和超过上限阈值的情况下,用户利用api判断部201c在步骤62中得到肯定结果。该情况是对从服务器100(参照图1)与客户端终端200(参照图1)进行的通信分配的通信带宽不足够的状态。
183.在步骤62中得到了肯定结果的用户利用api判断部201c从正在利用非同步api的用户中的利用频度较少的用户开始、依次决定使他们利用同步api(步骤63)。即,实现负荷的降低。
184.接着,用户利用api判断部201c对服务器100通知与相应的用户有关的非同步api(步骤64)的利用的登记的解除。持续进行该通知,直到数据的流入速度的总和成为阈值c以下为止。
185.并且,针对利用同步api的用户,用户利用api判断部201c请求定期地取得数据(步骤65)。
186.另一方面,在数据的流入速度的总和为上限阈值以下的情况下,用户利用api判断部201c在步骤62中得到否定结果。该情况是对从服务器100与客户端终端200进行的通信分配的通信带宽的不足够被消除的状态。
187.在步骤62中得到了否定结果的用户利用api判断部201c判定数据的流入速度的总和是否小于阈值d(步骤66)。阈值d是第3阈值的一例。阈值d给出本实施方式中使用的多个阈值中的中间值。因此,还将阈值d称为中间阈值。在本实施方式的情况下,将阈值d设定为通信带宽的50%。
188.这里,在数据的流入速度的总和小于中间阈值的情况下,用户利用api判断部201c
在步骤66中得到肯定结果。该情况是对从服务器100与客户端终端200进行的通信分配的通信带宽存在余量的状态。
189.在步骤66中得到了肯定结果的用户利用api判断部201c中止正在利用非同步api的用户中的利用频度较少的用户向同步api的利用的切换(步骤67)。
190.另一方面,在数据的流入速度的总和处于上限阈值与中间阈值之间的范围的情况下,用户利用api判断部201c在步骤66中得到否定结果。该情况下,用户利用api判断部201c维持各用户的当前的利用方式。即,维持各用户在通信中正在利用的api。
191.图13是说明在实施方式2中使用的用户利用api判断部201c(参照图4)的处理动作的另一例的流程图。
192.图13所示的处理动作主要设想了数据的流入速度的总和较小的情况。
193.首先,用户利用api判断部201c取得数据的流入速度的总和(步骤71)。
194.接着,用户利用api判断部201c判定数据的流入速度的总和是否小于阈值e(步骤72)。阈值e是第4阈值的一例。阈值e给出本实施方式中使用的多个阈值中的下限值。因此,还将阈值e称为下限阈值。在本实施方式的情况下,将阈值e设定为通信带宽的10%。
195.在数据的流入速度的总和低于下限阈值的情况下,用户利用api判断部201c在步骤72中得到肯定结果。该情况是服务器100(参照图1)的负荷存在余量的状态。
196.在步骤72中得到了肯定结果的用户利用api判断部201c从正在利用同步api的用户中的利用频度较高的用户起依次决定使他们利用非同步api(步骤73)。由此,即时性提高。
197.接着,用户利用api判断部201c对服务器100通知与相应的用户有关的非同步api(步骤74)的利用的登记。持续进行该通知,直到数据的流入速度的总和成为阈值e以上为止。
198.另外,在数据的流入速度的总和小于中间阈值且为下限阈值以上的情况下,用户利用api判断部201c在步骤72中得到否定结果。
199.在步骤72中得到了否定结果的用户利用api判断部201c判定数据的流入速度的总和是否大于阈值f(步骤75)。阈值f也给出本实施方式中使用的多个阈值中的中间值。因此,阈值f也称为中间阈值。在本实施方式的情况下,将阈值f设定为通信带宽的50%。在本实施方式中,将阈值f与阈值d(参照图12)进行了区分,但是,也可以相同。
200.在数据的流入速度的总和为中间阈值即阈值f以下的情况下,用户利用api判断部201c在步骤75中得到否定结果。该情况下,用户利用api判断部201c维持各用户的当前的利用方式。即,维持各用户在通信中正在利用的api。
201.与此相对,在数据的流入速度的总和大于中间阈值即阈值f的情况下,用户利用api判断部201c在步骤75中得到肯定结果。该情况下,用户利用api判断部201c中止正在利用同步api的用户中的利用频度较高的用户向非同步api的利用的切换(步骤76)。
202.《实施方式3》
203.在本实施方式中,也对利用与实施方式1不同的方法判定api的切换的情况进行说明。在本实施方式中,原则上,也在全部用户的通信中利用非同步api。因此,数据库150(参照图1)的变更会即时地反映到数据库250(参照图1)中。
204.图14是说明实施方式3中使用的用户利用api判断部201c(参照图4)的处理动作的
一例的流程图。图中所示的记号s意为步骤。
205.本实施方式中的用户利用api判断部201c根据数据的流入速度的总和与每个用户的数据的流入速度,判定系统整体的api的切换的必要性。另外,在决定作为切换对象的用户时,使用数据的流入速度的信息。
206.决定在各用户的通信中使用的api。
207.首先,用户利用api判断部201c取得数据的流入速度的总和(步骤81)。
208.接着,用户利用api判断部201c判定数据的流入速度的总和是否大于阈值g(步骤82)。阈值g是第2阈值的一例。阈值g给出本实施方式中使用的多个阈值中的上限值。因此,还将阈值g称为上限阈值。在本实施方式的情况下,将阈值g设定为通信带宽的90%。
209.在数据的流入速度的总和超过上限阈值的情况下,用户利用api判断部201c在步骤82中得到肯定结果。该情况是对从服务器100(参照图1)与客户端终端200(参照图1)进行的通信分配的通信带宽不足够的状态。
210.在步骤82中得到了肯定结果的用户利用api判断部201c从正在利用非同步api的用户中的数据的流入速度较大的用户开始依次决定使他们利用同步api(步骤83)。即,实现负荷的降低。
211.接着,用户利用api判断部201c对服务器100通知与相应的用户有关的非同步api(步骤84)的利用的登记的解除。持续进行该通知,直到数据的流入速度的总和成为阈值g以下为止。
212.并且,针对利用同步api的用户,用户利用api判断部201c请求定期地取得数据(步骤85)。
213.另一方面,在数据的流入速度的总和为上限阈值以下的情况下,用户利用api判断部201c在步骤82中得到否定结果。该情况是对服务器100与客户端终端200进行的通信分配的通信带宽的不足被消除的状态。
214.在步骤82中得到了否定结果的用户利用api判断部201c判定数据的流入速度的总和是否小于阈值h(步骤86)。阈值h是第5阈值的一例。阈值h给出本实施方式中使用的多个阈值中的中间值。因此,还将阈值h称为中间阈值。在本实施方式的情况下,将阈值h设定为通信带宽的50%。
215.这里,在数据的流入速度的总和小于中间阈值的情况下,用户利用api判断部201c在步骤86中得到肯定结果。该情况是对服务器100与客户端终端200进行的通信分配的通信带宽存在余量的状态。
216.在步骤86中得到了肯定结果的用户利用api判断部201c中止正在利用非同步api的用户中的数据的流入速度较大的用户向同步api的利用的切换(步骤87)。
217.另一方面,在数据的流入速度的总和处于上限阈值和中间阈值之间的范围的情况下,用户利用api判断部201c在步骤86中得到否定结果。该情况下,用户利用api判断部201c维持各用户的当前的利用方式。即,维持各用户在通信中正在使用的api。
218.图15是说明实施方式3中使用的用户利用api判断部201c(参照图4)的处理动作的另一例的流程图。
219.图15所示的处理动作主要设想了数据的流入速度的总和较小的情况。
220.首先,用户利用api判断部201c取得数据的流入速度的总和(步骤91)。
221.接着,用户利用api判断部201c判定数据的流入速度的总和是否小于阈值j(步骤92)。阈值j是第6阈值的一例。阈值j给出本实施方式中使用的多个阈值中的下限值。因此,还将阈值j称为下限阈值。在本实施方式的情况下,将阈值j设定为通信带宽的10%。
222.在数据的流入速度的总和低于下限阈值的情况下,用户利用api判断部201c在步骤92中得到肯定结果。该情况是服务器100(参照图1)的负荷存在余量的状态。
223.在步骤92中得到了肯定结果的用户利用api判断部201c从正在利用同步api的用户中的数据的流入速度较小的用户起依次决定使他们利用非同步api(步骤93)。由此,即时性提高。
224.接着,用户利用api判断部201c通知服务器100登记与相应的用户有关的非同步api的利用(步骤94)。持续进行该通知,直到数据的流入速度的总和成为阈值j以上为止。
225.另外,在数据的流入速度的总和小于中间阈值且为下限阈值以上的情况下,用户利用api判断部201c在步骤92中得到否定结果。
226.在步骤92中得到了否定结果的用户利用api判断部201c判定数据的流入速度的总和是否大于阈值k(步骤95)。阈值k也给出本实施方式中使用的多个阈值中的中间值。因此,将阈值k也称为中间阈值。在本实施方式的情况下,将阈值k设定为通信带宽的50%。在本实施方式中,将阈值k与阈值h(参照图14)进行了区分,但是,也可以相同。
227.在数据的流入速度的总和为中间阈值即阈值k以下的情况下,用户利用api判断部201c在步骤95中得到否定结果。该情况下,用户利用api判断部201c维持各用户的当前的利用方式。即,维持各用户在通信中正在使用的api。
228.与此相对,在数据的流入速度的总和大于中间阈值即阈值k的情况下,用户利用api判断部201c在步骤95中得到肯定结果。该情况下,用户利用api判断部201c中止正在利用同步api的用户中的数据的流入速度较小的用户向非同步api的利用的切换(步骤96)。
229.《实施方式4》
230.在本实施方式中也对利用与实施方式1不同的方法判定api的切换的情况进行说明。在本实施方式中,原则上也在全部用户的通信中利用非同步api。因此,数据库150(参照图1)的变更会即时地反映到数据库250(参照图1)中。
231.本实施方式中说明的方法是实施方式2和实施方式3中说明的方法的组合型。即,数据的流入速度越大的用户,越容易从非同步api切换为同步api,利用频度越低的用户,越容易从非同步api切换为同步api。
232.图16是说明实施方式4中使用的用户利用api判断部201c(参照图4)的处理动作的一例的流程图。图中所示的记号s意为步骤。
233.首先,用户利用api判断部201c按照每个用户计算切换变量(步骤101)。
234.在本实施方式的情况下,每个用户的切换变量通过下式来计算。
235.切换变量=数据的流入速度/利用频度

式1
236.另外,分母和分子的值是针对相同用户测定的值。
237.接着,用户利用api判断部201c取得数据的流入速度的总和(步骤102)。
238.接着,用户利用api判断部201c判定数据的流入速度的总和是否大于阈值l(步骤103)。阈值l给出本实施方式中使用的多个阈值中的上限值。因此,还将阈值l称为上限阈值。在本实施方式的情况下,将阈值l设定为通信带宽的90%。
239.在数据的流入速度的总和超过上限阈值的情况下,用户利用api判断部201c在步骤103中得到肯定结果。该情况是对服务器100(参照图1)与客户端终端200(参照图1)进行的通信分配的通信带宽不足的状态。
240.在步骤103中得到了肯定结果的用户利用api判断部201c从正在利用非同步api的用户中的切换变量较大的用户开始依次决定使他们利用同步api(步骤104)。即,实现负荷的降低。
241.越是数据的流入速度大的用户和利用频度少的用户,切换变量越容易变大。因此,如果利用频度为相同程度,则数据的流入速度越大的用户,越从非同步api切换为同步api。此外,如果数据的流入速度为相同程度,则利用频度越少的用户,越从非同步api切换为同步api。
242.接着,用户利用api判断部201c通知服务器100解除与相应的用户有关的非同步api的利用的登记(步骤105)。持续进行该通知,直到数据的流入速度的总和成为阈值l以下为止。
243.并且,针对利用同步api的用户,用户利用api判断部201c请求定期地取得数据(步骤106)。
244.另一方面,在数据的流入速度的总和为上限阈值以下的情况下,用户利用api判断部201c在步骤103中得到否定结果。该情况是对服务器100与客户端终端200进行的通信分配的通信带宽的不足被消除的状态。
245.在步骤103中得到了否定结果的用户利用api判断部201c判定数据的流入速度的总和是否小于阈值m(步骤107)。阈值m给出本实施方式中使用的多个阈值中的中间值。因此,还将阈值m称为中间阈值。在本实施方式的情况下,将阈值m设定为通信带宽的50%。
246.这里,在数据的流入速度的总和小于中间阈值的情况下,用户利用api判断部201c在步骤107中得到肯定结果。该情况是对服务器100与客户端终端200进行的通信分配的通信带宽存在余量的状态。
247.在步骤107中得到了肯定结果的用户利用api判断部201c中止正在利用非同步api的用户中的切换变量较大的用户向同步api的利用的切换(步骤108)。
248.另一方面,在数据的流入速度处于上限阈值与中间阈值之间的范围的情况下,用户利用api判断部201c在步骤107中得到否定结果。该情况下,用户利用api判断部201c维持各用户的当前的利用方式。即,维持各用户在通信中正在使用的api。
249.图17是说明实施方式4中使用的用户利用api判断部201c(参照图4)的处理动作的另一例的流程图。
250.图17所示的处理动作主要设想了数据的流入速度的总和较小的情况。
251.首先,与步骤101相同,用户利用api判断部201c按照每个用户计算切换变量(步骤111)。切换变量与所述式1相同。
252.接着,用户利用api判断部201c取得数据的流入速度的总和(步骤112)。
253.接着,用户利用api判断部201c判定数据的流入速度的总和是否小于阈值n(步骤113)。阈值n给出本实施方式中使用的多个阈值中的下限值。因此,还将阈值n称为下限阈值。在本实施方式的情况下,将阈值n设定为通信带宽的10%。
254.在数据的流入速度的总和低于下限阈值的情况下,用户利用api判断部201c在步
骤113中得到肯定结果。该情况是服务器100(参照图1)的负荷存在余量的状态。
255.在步骤113中得到了肯定结果的用户利用api判断部201c从正在利用同步api的用户中的切换变量较小的用户开始决定使他们使用非同步api(步骤114)。由此,即时性提高。
256.越是数据的流入速度大的用户和利用频度少的用户,切换变量越容易变大。因此,如果利用频度为相同程度,则数据的流入速度越小的用户,越从同步api切换为非同步api。此外,如果数据的流入速度为相同程度,则利用频度越高的用户,越从同步api切换为非同步api。
257.接着,用户利用api判断部201c通知服务器100登记与相应的用户有关的非同步api的利用(步骤115)。持续进行该通知,直到数据的流入速度的总和成为阈值n以上为止。
258.另外,在数据的流入速度的总和小于中间阈值且为下限阈值以上的情况下,用户利用api判断部201c在步骤113中得到否定结果。
259.在步骤113中得到了否定结果的用户利用api判断部201c判定数据的流入速度的总和是否大于阈值p(步骤116)。阈值p也给出本实施方式中使用的多个阈值中的中间值。因此,还将阈值p称为中间阈值。在本实施方式的情况下,将阈值p设定为通信带宽的50%。在本实施方式中,将阈值p与阈值m(参照图16)进行了区分,但是也可以相同。
260.在数据的流入速度的总和为中间阈值即阈值p以下的情况下,用户利用api判断部201c在步骤116中得到否定结果。该情况下,用户利用api判断部201c维持各用户的当前的利用方式。即,维持各用户在通信中正在使用的api。
261.与此相对,在数据的流入速度的总和大于中间阈值即阈值p的情况下,用户利用api判断部201c在步骤116中得到肯定结果。该情况下,用户利用api判断部201c中止正在利用同步api的用户中的切换变量较小的用户向非同步api的利用的切换(步骤117)。
262.《其他实施方式》
263.以上说明了本发明的实施方式,但是,本发明的技术范围不限于所述实施方式记载的范围。根据权利要求书的记载可知,对所述实施方式施加的各种变更或改良也包含在本发明的技术范围内。
264.在所述实施方式中,例如将在步骤1(参照图5)中得到了肯定结果的用户或在步骤2(参照图5)中得到了肯定结果的用户的通信中使用的api从非同步api切换为同步api,但是,也可以将与相应的用户不同的用户的通信从非同步api切换为同步api。同样,也可以将与在步骤6(参照图1)中得到了肯定结果的用户不同的用户的通信从同步api切换为非同步api。
265.所述各实施方式中的处理器是指广义的处理器,除了通用的处理器(例如cpu等)以外,还包含专用的处理器(例如gpu、asic(=application specific integrated circuit:专用集成电路)、fpga、程序逻辑设备等)。
266.此外,所述各实施方式中的处理器的动作可以由1个处理器单独执行,但是,也可以由存在于在物理上分开的位置的多个处理器协作执行。此外,处理器中的各动作的执行顺序不限于所述各实施方式记载的顺序,也可以单独变更。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献